From 3dfda68c947739122c75f4382b706b0163ef3861 Mon Sep 17 00:00:00 2001 From: msyyc <70930885+msyyc@users.noreply.github.com> Date: Fri, 14 May 2021 10:41:17 +0800 Subject: [PATCH 01/83] {docs} docs template for extension (#3311) * docs template for extension * review * pylint * review * Update scripts/ci/avail-ext-doc/list-template.md Co-authored-by: Feng Zhou <55177366+fengzhou-msft@users.noreply.github.com> Co-authored-by: Feng Zhou <55177366+fengzhou-msft@users.noreply.github.com> --- scripts/ci/avail-ext-doc/list-template.md | 6 +++--- .../ci/avail-ext-doc/update_extension_list.py | 20 ++++++++++++++++--- 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/scripts/ci/avail-ext-doc/list-template.md b/scripts/ci/avail-ext-doc/list-template.md index 1c635cd0049..4f6cb11e974 100644 --- a/scripts/ci/avail-ext-doc/list-template.md +++ b/scripts/ci/avail-ext-doc/list-template.md @@ -21,6 +21,6 @@ The list of extensions is also available from the CLI. To get it, run [az exten az extension list-available --output table ``` -| Name | Version | Summary | Preview | -|------|---------|---------|---------|{% for extension in extensions %} -| [{{ extension.name }}]({{ extension.project_url }}) | {{ extension.version }} | {{ extension.desc }} | {{ extension.preview }} |{% endfor %} +| Extension | Required Minimum CLI Version | Description | Status | Release Notes | +|----|-----------------|-------------|---------|---------------|{% for extension in extensions %} +|[{{ extension.name }}]({{ extension.project_url }}) | {{ extension.min_cli_core_version }} | {{ extension.desc }} | {{ extension.status }} | [{{extension.version}}]({{extension.history}}) |{% endfor %} diff --git a/scripts/ci/avail-ext-doc/update_extension_list.py b/scripts/ci/avail-ext-doc/update_extension_list.py index 5433e5badfd..72ae5dc982f 100644 --- a/scripts/ci/avail-ext-doc/update_extension_list.py +++ b/scripts/ci/avail-ext-doc/update_extension_list.py @@ -18,7 +18,7 @@ from pkg_resources import parse_version from jinja2 import Template # pylint: disable=import-error - +import requests SCRIPTS_LOCATION = os.path.abspath(os.path.join('.', 'scripts')) @@ -36,12 +36,26 @@ def get_extensions(): for _, exts in index_extensions.items(): # Get latest version exts = sorted(exts, key=lambda c: parse_version(c['metadata']['version']), reverse=True) + + # some extension modules may not include 'HISTORY.rst' + project_url = exts[0]['metadata']['extensions']['python.details']['project_urls']['Home'] + history_tmp = project_url + '/HISTORY.rst' + history = project_url if str(requests.get(history_tmp).status_code) == '404' else history_tmp + if exts[0]['metadata'].get('azext.isPreview'): + status = 'Preview' + elif exts[0]['metadata'].get('azext.isExperimental'): + status = 'Experimental' + else: + status = 'GA' + extensions.append({ 'name': exts[0]['metadata']['name'], 'desc': exts[0]['metadata']['summary'], + 'min_cli_core_version': exts[0]['metadata']['azext.minCliCoreVersion'], 'version': exts[0]['metadata']['version'], - 'project_url': exts[0]['metadata']['extensions']['python.details']['project_urls']['Home'], - 'preview': 'Yes' if exts[0]['metadata'].get('azext.isPreview') else '' + 'project_url': project_url, + 'history': history, + 'status': status }) return extensions From 69f4f3cf57bc8b734a437617b2156eca23dbc5bb Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Fri, 14 May 2021 12:58:55 +0800 Subject: [PATCH 02/83] [Release] Update index.json for extension [ custom-providers ] (#3370) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=893273 Last commit: https://github.com/Azure/azure-cli-extensions/commit/1f29b7c1e52373c7a80f52f6640b7db2a1e7ac5a --- src/index.json | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/src/index.json b/src/index.json index 98df62269f4..8b23080c258 100644 --- a/src/index.json +++ b/src/index.json @@ -7242,6 +7242,49 @@ "version": "0.1.0" }, "sha256Digest": "7da462aaa336184b53d7b0b831c0fa77c4239dabe4e70fa4e500e250cf11a8ec" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/custom_providers-0.2.0-py2.py3-none-any.whl", + "filename": "custom_providers-0.2.0-py2.py3-none-any.whl", + "metadata": { + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.3.1", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "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": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/custom-providers" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "custom-providers", + "summary": "Microsoft Azure Command-Line Tools Custom Providers Extension", + "version": "0.2.0" + }, + "sha256Digest": "8c0f062d96523bd6a95d53f09e48f9d47bf7aa75a9b735e93e6ee09647638b52" } ], "customlocation": [ From 0e629c10716606469df5650cfaf38ca13f22bebb Mon Sep 17 00:00:00 2001 From: FumingZhang <81607949+FumingZhang@users.noreply.github.com> Date: Sun, 16 May 2021 13:32:49 +0800 Subject: [PATCH 03/83] [AKS] Update recording files to fix integration test error (#3378) --- ...tsecretsprovider_with_secret_rotation.yaml | 1069 +-- ...test_aks_create_none_private_dns_zone.yaml | 1739 +--- ...ng_azurecni_with_pod_identity_enabled.yaml | 5446 +++---------- .../recordings/test_aks_create_with_ahub.yaml | 7048 ++++------------- ..._aks_create_with_auto_upgrade_channel.yaml | 1977 +---- ...th_azurekeyvaultsecretsprovider_addon.yaml | 1114 +-- .../recordings/test_aks_create_with_fips.yaml | 538 +- ..._aks_create_with_pod_identity_enabled.yaml | 5781 +++----------- .../test_aks_create_with_windows.yaml | 6377 ++++----------- ...don_with_azurekeyvaultsecretsprovider.yaml | 3053 ++----- .../test_aks_nodepool_get_upgrades.yaml | 1228 +-- ...tsecretsprovider_with_secret_rotation.yaml | 2874 ++----- .../tests/latest/test_aks_commands.py | 5 +- 13 files changed, 7363 insertions(+), 30886 deletions(-) diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_addon_with_azurekeyvaultsecretsprovider_with_secret_rotation.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_addon_with_azurekeyvaultsecretsprovider_with_secret_rotation.yaml index a9e9c3b99f9..8c8c4d73717 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_addon_with_azurekeyvaultsecretsprovider_with_secret_rotation.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_addon_with_azurekeyvaultsecretsprovider_with_secret_rotation.yaml @@ -1,80 +1,4 @@ interactions: -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"3408","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:29:23 GMT - etag: - - W/"8a2-UI0KlIOlwKCxYC75rCkJgwuxlHU" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"3408","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:29:23 GMT - etag: - - W/"8a2-UI0KlIOlwKCxYC75rCkJgwuxlHU" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -89,16 +13,12 @@ interactions: ParameterSetName: - --resource-group --name --generate-ssh-keys -a --enable-secret-rotation -o User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-resource/12.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-resource/16.1.0 Python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"product":"azurecli","cause":"automation","date":"2021-04-09T05:29:22Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"product":"azurecli","cause":"automation","date":"2021-05-14T06:22:49Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -107,7 +27,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 09 Apr 2021 05:29:23 GMT + - Fri, 14 May 2021 06:22:51 GMT expires: - '-1' pragma: @@ -121,95 +41,20 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"3408","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:29:23 GMT - etag: - - W/"8a2-UI0KlIOlwKCxYC75rCkJgwuxlHU" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"3408","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:29:23 GMT - etag: - - W/"8a2-UI0KlIOlwKCxYC75rCkJgwuxlHU" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: '{"location": "westus2", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitest47tcnknht-c10894", "agentPoolProfiles": [{"count": 3, "vmSize": + "cliakstest-clitestjnhrpuwrv-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "enableEncryptionAtHost": false, "name": "nodepool1"}], "linuxProfile": - {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F"}]}}, - "addonProfiles": {"azureKeyvaultSecretsProvider": {"enabled": true, "config": - {"enableSecretRotation": "true"}}}, "enableRBAC": true, "enablePodSecurityPolicy": - false, "networkProfile": {"networkPlugin": "kubenet", "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", "dockerBridgeCidr": - "172.17.0.1/16", "outboundType": "loadBalancer", "loadBalancerSku": "standard"}}, - "identity": {"type": "SystemAssigned"}}' + "Delete", "enableEncryptionAtHost": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\n"}]}}, "addonProfiles": {"azureKeyvaultSecretsProvider": + {"enabled": true, "config": {"enableSecretRotation": "true"}}}, "enableRBAC": + true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": + "kubenet", "podCidr": "10.244.0.0/16", "serviceCidr": "10.0.0.0/16", "dnsServiceIP": + "10.0.0.10", "dockerBridgeCidr": "172.17.0.1/16", "outboundType": "loadBalancer", + "loadBalancerSku": "standard"}}, "identity": {"type": "SystemAssigned"}}' headers: Accept: - application/json @@ -220,15 +65,15 @@ interactions: Connection: - keep-alive Content-Length: - - '1316' + - '1365' Content-Type: - application/json; charset=utf-8 ParameterSetName: - --resource-group --name --generate-ssh-keys -a --enable-secret-rotation -o User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 accept-language: - en-US method: PUT @@ -239,45 +84,45 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitest47tcnknht-c10894\",\n - \ \"fqdn\": \"cliakstest-clitest47tcnknht-c10894-bec84d89.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitest47tcnknht-c10894-bec84d89.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestjnhrpuwrv-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestjnhrpuwrv-8ecadf-95e8f497.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestjnhrpuwrv-8ecadf-95e8f497.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Creating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n },\n \"azureKeyvaultSecretsProvider\": - {\n \"enabled\": true,\n \"config\": {\n \"enableSecretRotation\": - \"true\"\n }\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n - \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": - {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"standard\",\n - \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n }\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": - \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": - \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": - 10\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"azureKeyvaultSecretsProvider\": {\n \"enabled\": true,\n \"config\": + {\n \"enableSecretRotation\": \"true\"\n }\n }\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_westus2\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1\n }\n },\n \"podCidr\": + \"10.244.0.0/16\",\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": + \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": + \"loadBalancer\"\n },\n \"maxAgentPools\": 100\n },\n \"identity\": + {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/9e7fd39c-a6b9-4680-abb5-c1785bbc4b25?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/51e69799-4f74-47e7-9086-34372468a3d1?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2821' + - '2809' content-type: - application/json date: - - Fri, 09 Apr 2021 05:29:26 GMT + - Fri, 14 May 2021 06:23:05 GMT expires: - '-1' pragma: @@ -289,86 +134,10 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1195' status: code: 201 message: Created -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"3374","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:29:57 GMT - etag: - - W/"8a2-8umYzLEZQ9XAyVJTlQ4hM8a7Y1w" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"3374","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:29:57 GMT - etag: - - W/"8a2-8umYzLEZQ9XAyVJTlQ4hM8a7Y1w" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -383,15 +152,15 @@ interactions: ParameterSetName: - --resource-group --name --generate-ssh-keys -a --enable-secret-rotation -o User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/9e7fd39c-a6b9-4680-abb5-c1785bbc4b25?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/51e69799-4f74-47e7-9086-34372468a3d1?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"9cd37f9e-b9a6-8046-abb5-c1785bbc4b25\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:29:27.3766666Z\"\n }" + string: "{\n \"name\": \"9997e651-744f-e747-9086-34372468a3d1\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:23:04.4733333Z\"\n }" headers: cache-control: - no-cache @@ -400,7 +169,7 @@ interactions: content-type: - application/json date: - - Fri, 09 Apr 2021 05:29:57 GMT + - Fri, 14 May 2021 06:23:36 GMT expires: - '-1' pragma: @@ -418,82 +187,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"3344","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:30:27 GMT - etag: - - W/"8a2-D073gTB6EPXSTbJlKGUkLuRCNd8" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"3344","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:30:27 GMT - etag: - - W/"8a2-D073gTB6EPXSTbJlKGUkLuRCNd8" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -508,15 +201,15 @@ interactions: ParameterSetName: - --resource-group --name --generate-ssh-keys -a --enable-secret-rotation -o User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/9e7fd39c-a6b9-4680-abb5-c1785bbc4b25?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/51e69799-4f74-47e7-9086-34372468a3d1?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"9cd37f9e-b9a6-8046-abb5-c1785bbc4b25\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:29:27.3766666Z\"\n }" + string: "{\n \"name\": \"9997e651-744f-e747-9086-34372468a3d1\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:23:04.4733333Z\"\n }" headers: cache-control: - no-cache @@ -525,7 +218,7 @@ interactions: content-type: - application/json date: - - Fri, 09 Apr 2021 05:30:27 GMT + - Fri, 14 May 2021 06:24:07 GMT expires: - '-1' pragma: @@ -543,82 +236,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"3313","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:30:58 GMT - etag: - - W/"8a2-W/qprVwg+x1e6+z6W8D63/xpsng" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"3313","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:30:58 GMT - etag: - - W/"8a2-W/qprVwg+x1e6+z6W8D63/xpsng" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -633,15 +250,15 @@ interactions: ParameterSetName: - --resource-group --name --generate-ssh-keys -a --enable-secret-rotation -o User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/9e7fd39c-a6b9-4680-abb5-c1785bbc4b25?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/51e69799-4f74-47e7-9086-34372468a3d1?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"9cd37f9e-b9a6-8046-abb5-c1785bbc4b25\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:29:27.3766666Z\"\n }" + string: "{\n \"name\": \"9997e651-744f-e747-9086-34372468a3d1\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:23:04.4733333Z\"\n }" headers: cache-control: - no-cache @@ -650,7 +267,7 @@ interactions: content-type: - application/json date: - - Fri, 09 Apr 2021 05:30:57 GMT + - Fri, 14 May 2021 06:24:39 GMT expires: - '-1' pragma: @@ -668,82 +285,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"3283","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:31:28 GMT - etag: - - W/"8a2-WOTb59nGst5tL2MYBtSLHyhy7pk" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"3283","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:31:28 GMT - etag: - - W/"8a2-WOTb59nGst5tL2MYBtSLHyhy7pk" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -758,15 +299,15 @@ interactions: ParameterSetName: - --resource-group --name --generate-ssh-keys -a --enable-secret-rotation -o User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/9e7fd39c-a6b9-4680-abb5-c1785bbc4b25?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/51e69799-4f74-47e7-9086-34372468a3d1?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"9cd37f9e-b9a6-8046-abb5-c1785bbc4b25\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:29:27.3766666Z\"\n }" + string: "{\n \"name\": \"9997e651-744f-e747-9086-34372468a3d1\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:23:04.4733333Z\"\n }" headers: cache-control: - no-cache @@ -775,7 +316,7 @@ interactions: content-type: - application/json date: - - Fri, 09 Apr 2021 05:31:27 GMT + - Fri, 14 May 2021 06:25:11 GMT expires: - '-1' pragma: @@ -793,82 +334,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"3253","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:31:58 GMT - etag: - - W/"8a2-AbnxSR+a75iMr72l2Qq0Ke24s14" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"3253","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:31:58 GMT - etag: - - W/"8a2-AbnxSR+a75iMr72l2Qq0Ke24s14" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -883,15 +348,15 @@ interactions: ParameterSetName: - --resource-group --name --generate-ssh-keys -a --enable-secret-rotation -o User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/9e7fd39c-a6b9-4680-abb5-c1785bbc4b25?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/51e69799-4f74-47e7-9086-34372468a3d1?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"9cd37f9e-b9a6-8046-abb5-c1785bbc4b25\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:29:27.3766666Z\"\n }" + string: "{\n \"name\": \"9997e651-744f-e747-9086-34372468a3d1\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:23:04.4733333Z\"\n }" headers: cache-control: - no-cache @@ -900,7 +365,7 @@ interactions: content-type: - application/json date: - - Fri, 09 Apr 2021 05:31:57 GMT + - Fri, 14 May 2021 06:25:43 GMT expires: - '-1' pragma: @@ -918,82 +383,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"3223","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:32:28 GMT - etag: - - W/"8a2-u8vPZXNHBv5c1LFVy3TFBQuXztM" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"3223","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:32:28 GMT - etag: - - W/"8a2-u8vPZXNHBv5c1LFVy3TFBQuXztM" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -1008,15 +397,15 @@ interactions: ParameterSetName: - --resource-group --name --generate-ssh-keys -a --enable-secret-rotation -o User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/9e7fd39c-a6b9-4680-abb5-c1785bbc4b25?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/51e69799-4f74-47e7-9086-34372468a3d1?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"9cd37f9e-b9a6-8046-abb5-c1785bbc4b25\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:29:27.3766666Z\"\n }" + string: "{\n \"name\": \"9997e651-744f-e747-9086-34372468a3d1\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:23:04.4733333Z\"\n }" headers: cache-control: - no-cache @@ -1025,7 +414,7 @@ interactions: content-type: - application/json date: - - Fri, 09 Apr 2021 05:32:27 GMT + - Fri, 14 May 2021 06:26:14 GMT expires: - '-1' pragma: @@ -1043,82 +432,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"3193","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:32:58 GMT - etag: - - W/"8a2-spaTMRKphGa+DI84CYyK8v1ANCs" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"3193","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:32:58 GMT - etag: - - W/"8a2-spaTMRKphGa+DI84CYyK8v1ANCs" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -1133,25 +446,25 @@ interactions: ParameterSetName: - --resource-group --name --generate-ssh-keys -a --enable-secret-rotation -o User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/9e7fd39c-a6b9-4680-abb5-c1785bbc4b25?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/51e69799-4f74-47e7-9086-34372468a3d1?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"9cd37f9e-b9a6-8046-abb5-c1785bbc4b25\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-04-09T05:29:27.3766666Z\",\n \"endTime\": - \"2021-04-09T05:32:32.111326Z\"\n }" + string: "{\n \"name\": \"9997e651-744f-e747-9086-34372468a3d1\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-05-14T06:23:04.4733333Z\",\n \"endTime\": + \"2021-05-14T06:26:14.6574641Z\"\n }" headers: cache-control: - no-cache content-length: - - '169' + - '170' content-type: - application/json date: - - Fri, 09 Apr 2021 05:32:58 GMT + - Fri, 14 May 2021 06:26:46 GMT expires: - '-1' pragma: @@ -1169,82 +482,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"3193","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:32:58 GMT - etag: - - W/"8a2-spaTMRKphGa+DI84CYyK8v1ANCs" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"3193","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:32:58 GMT - etag: - - W/"8a2-spaTMRKphGa+DI84CYyK8v1ANCs" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -1259,9 +496,9 @@ interactions: ParameterSetName: - --resource-group --name --generate-ssh-keys -a --enable-secret-rotation -o User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 response: @@ -1270,35 +507,35 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitest47tcnknht-c10894\",\n - \ \"fqdn\": \"cliakstest-clitest47tcnknht-c10894-bec84d89.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitest47tcnknht-c10894-bec84d89.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestjnhrpuwrv-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestjnhrpuwrv-8ecadf-95e8f497.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestjnhrpuwrv-8ecadf-95e8f497.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n },\n \"azureKeyvaultSecretsProvider\": - {\n \"enabled\": true,\n \"config\": {\n \"enableSecretRotation\": - \"true\"\n },\n \"identity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/azurekeyvaultsecretsprovider-cliakstest000002\",\n + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"azureKeyvaultSecretsProvider\": {\n \"enabled\": true,\n \"config\": + {\n \"enableSecretRotation\": \"true\"\n },\n \"identity\": {\n + \ \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/azurekeyvaultsecretsprovider-cliakstest000002\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n \ }\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/bcf6892f-07a2-436b-90f6-47f6d8450278\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/67ea7881-9f4b-4c74-a822-16512592f396\"\n \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": - 10,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n @@ -1308,11 +545,11 @@ interactions: cache-control: - no-cache content-length: - - '3867' + - '3855' content-type: - application/json date: - - Fri, 09 Apr 2021 05:32:59 GMT + - Fri, 14 May 2021 06:26:47 GMT expires: - '-1' pragma: @@ -1330,82 +567,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"3192","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:32:59 GMT - etag: - - W/"8a2-tKSyvhVdu7OWxDdgjg9zR0k/38o" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"3192","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:32:59 GMT - etag: - - W/"8a2-tKSyvhVdu7OWxDdgjg9zR0k/38o" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -1422,29 +583,29 @@ interactions: ParameterSetName: - --resource-group --name --yes --no-wait User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.1.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.2.0 Azure-SDK-For-Python + AZURECLI/2.23.0 accept-language: - en-US method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ba38923d-ec37-4f00-9a45-48bc0521097f?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/25713bcf-d9f5-48b9-88ed-897868c814e7?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Fri, 09 Apr 2021 05:33:00 GMT + - Fri, 14 May 2021 06:26:51 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/ba38923d-ec37-4f00-9a45-48bc0521097f?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/25713bcf-d9f5-48b9-88ed-897868c814e7?api-version=2016-03-30 pragma: - no-cache server: diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_none_private_dns_zone.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_none_private_dns_zone.yaml index 5b568f9de95..90c6e7edc7e 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_none_private_dns_zone.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_none_private_dns_zone.yaml @@ -1,80 +1,4 @@ interactions: -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2893","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:37:58 GMT - etag: - - W/"8a2-Qx/OOYUrITbZjx8o9yzDJoBdK6A" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2893","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:37:58 GMT - etag: - - W/"8a2-Qx/OOYUrITbZjx8o9yzDJoBdK6A" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -90,16 +14,12 @@ interactions: - --resource-group --name --node-count --generate-ssh-keys --load-balancer-sku --enable-private-cluster --private-dns-zone User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-resource/12.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-resource/16.1.0 Python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"product":"azurecli","cause":"automation","date":"2021-04-09T05:37:57Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"product":"azurecli","cause":"automation","date":"2021-05-14T06:07:18Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -108,7 +28,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 09 Apr 2021 05:37:57 GMT + - Fri, 14 May 2021 06:07:20 GMT expires: - '-1' pragma: @@ -122,94 +42,20 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2893","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:37:58 GMT - etag: - - W/"8a2-Qx/OOYUrITbZjx8o9yzDJoBdK6A" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2893","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:37:58 GMT - etag: - - W/"8a2-Qx/OOYUrITbZjx8o9yzDJoBdK6A" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: '{"location": "westus2", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitesthcthto7pt-c10894", "agentPoolProfiles": [{"count": 1, "vmSize": + "cliakstest-clitest35ctph3yx-8ecadf", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "enableEncryptionAtHost": false, "name": "nodepool1"}], "linuxProfile": - {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F"}]}}, - "addonProfiles": {}, "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": - {"networkPlugin": "kubenet", "podCidr": "10.244.0.0/16", "serviceCidr": "10.0.0.0/16", - "dnsServiceIP": "10.0.0.10", "dockerBridgeCidr": "172.17.0.1/16", "outboundType": - "loadBalancer", "loadBalancerSku": "standard"}, "apiServerAccessProfile": {"enablePrivateCluster": - true, "privateDNSZone": "none"}}, "identity": {"type": "SystemAssigned"}}' + "Delete", "enableEncryptionAtHost": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\n"}]}}, "addonProfiles": {}, "enableRBAC": true, "enablePodSecurityPolicy": + false, "networkProfile": {"networkPlugin": "kubenet", "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", "dockerBridgeCidr": + "172.17.0.1/16", "outboundType": "loadBalancer", "loadBalancerSku": "standard"}, + "apiServerAccessProfile": {"enablePrivateCluster": true, "privateDNSZone": "none"}}, + "identity": {"type": "SystemAssigned"}}' headers: Accept: - application/json @@ -220,16 +66,16 @@ interactions: Connection: - keep-alive Content-Length: - - '1307' + - '1356' Content-Type: - application/json; charset=utf-8 ParameterSetName: - --resource-group --name --node-count --generate-ssh-keys --load-balancer-sku --enable-private-cluster --private-dns-zone User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 accept-language: - en-US method: PUT @@ -240,31 +86,30 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000001\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitesthcthto7pt-c10894\",\n - \ \"azurePortalFQDN\": \"21e4f32db46e69401b247f43a87c4207-priv.portal.hcp.westus2.azmk8s.io\",\n - \ \"privateFQDN\": \"cliakstest-clitesthcthto7pt-c10894-45b23b65.4ac95e09-992f-4679-8517-c61be13d555a.privatelink.westus2.azmk8s.io\",\n + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitest35ctph3yx-8ecadf\",\n \"azurePortalFQDN\": + \"88d4f5ef019e6836c20ebae9ff53f463-priv.portal.hcp.westus2.azmk8s.io\",\n + \ \"privateFQDN\": \"cliakstest-clitest35ctph3yx-8ecadf-859cff10.09a8c984-070a-496c-b59b-6e03147ec8bb.privatelink.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Creating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000001_westus2\",\n - \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": - {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"standard\",\n - \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n }\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": - \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": - \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": - 10,\n \"privateLinkResources\": [\n {\n \"name\": \"management\",\n - \ \"type\": \"Microsoft.ContainerService/managedClusters/privateLinkResources\",\n + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000001_westus2\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1\n }\n },\n \"podCidr\": + \"10.244.0.0/16\",\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": + \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": + \"loadBalancer\"\n },\n \"maxAgentPools\": 100,\n \"privateLinkResources\": + [\n {\n \"name\": \"management\",\n \"type\": \"Microsoft.ContainerService/managedClusters/privateLinkResources\",\n \ \"groupId\": \"management\",\n \"requiredMembers\": [\n \"management\"\n \ ]\n }\n ],\n \"apiServerAccessProfile\": {\n \"enablePrivateCluster\": true,\n \"privateDNSZone\": \"none\"\n }\n },\n \"identity\": {\n \"type\": @@ -273,15 +118,15 @@ interactions: {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e681abaa-fb22-4a6f-839f-ca5cbb399c4c?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d97d6bb3-472a-41a5-b4ef-22f4730f2a1f?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3075' + - '3036' content-type: - application/json date: - - Fri, 09 Apr 2021 05:38:05 GMT + - Fri, 14 May 2021 06:07:34 GMT expires: - '-1' pragma: @@ -297,208 +142,6 @@ interactions: status: code: 201 message: Created -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2856","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:38:35 GMT - etag: - - W/"8a2-wqOpidsgZfuDUYJIKwoe2QJDGwQ" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2856","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:38:35 GMT - etag: - - W/"8a2-wqOpidsgZfuDUYJIKwoe2QJDGwQ" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --node-count --generate-ssh-keys --load-balancer-sku - --enable-private-cluster --private-dns-zone - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e681abaa-fb22-4a6f-839f-ca5cbb399c4c?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"aaab81e6-22fb-6f4a-839f-ca5cbb399c4c\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:38:05.03Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '121' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 05:38:35 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2826","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:39:05 GMT - etag: - - W/"8a2-6ZQ3EaoHPqpRMwyZbIUQK1hub2I" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2826","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:39:05 GMT - etag: - - W/"8a2-6ZQ3EaoHPqpRMwyZbIUQK1hub2I" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -514,24 +157,24 @@ interactions: - --resource-group --name --node-count --generate-ssh-keys --load-balancer-sku --enable-private-cluster --private-dns-zone User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e681abaa-fb22-4a6f-839f-ca5cbb399c4c?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d97d6bb3-472a-41a5-b4ef-22f4730f2a1f?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"aaab81e6-22fb-6f4a-839f-ca5cbb399c4c\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:38:05.03Z\"\n }" + string: "{\n \"name\": \"b36b7dd9-2a47-a541-b4ef-22f4730f2a1f\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:07:33.6033333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 09 Apr 2021 05:39:05 GMT + - Fri, 14 May 2021 06:08:05 GMT expires: - '-1' pragma: @@ -541,717 +184,11 @@ 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: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2796","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:39:35 GMT - etag: - - W/"8a2-wQ3/eEPVJJrcq5p9VRJkwkNp4xE" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2796","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:39:35 GMT - etag: - - W/"8a2-wQ3/eEPVJJrcq5p9VRJkwkNp4xE" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --node-count --generate-ssh-keys --load-balancer-sku - --enable-private-cluster --private-dns-zone - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e681abaa-fb22-4a6f-839f-ca5cbb399c4c?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"aaab81e6-22fb-6f4a-839f-ca5cbb399c4c\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:38:05.03Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '121' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 05:39:35 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2765","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:40:06 GMT - etag: - - W/"8a2-7heO8B6ME1GbHO7pkiaAOiG2mUY" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2765","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:40:06 GMT - etag: - - W/"8a2-7heO8B6ME1GbHO7pkiaAOiG2mUY" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --node-count --generate-ssh-keys --load-balancer-sku - --enable-private-cluster --private-dns-zone - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e681abaa-fb22-4a6f-839f-ca5cbb399c4c?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"aaab81e6-22fb-6f4a-839f-ca5cbb399c4c\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:38:05.03Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '121' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 05:40:05 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2735","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:40:36 GMT - etag: - - W/"8a2-1d7X69tFb6l3UkRgrcjNsXTls04" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2735","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:40:36 GMT - etag: - - W/"8a2-1d7X69tFb6l3UkRgrcjNsXTls04" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --node-count --generate-ssh-keys --load-balancer-sku - --enable-private-cluster --private-dns-zone - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e681abaa-fb22-4a6f-839f-ca5cbb399c4c?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"aaab81e6-22fb-6f4a-839f-ca5cbb399c4c\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:38:05.03Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '121' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 05:40:36 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2705","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:41:06 GMT - etag: - - W/"8a2-lvwZsmmKMgj0lOPnFoTyhHE26fA" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2705","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:41:06 GMT - etag: - - W/"8a2-lvwZsmmKMgj0lOPnFoTyhHE26fA" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --node-count --generate-ssh-keys --load-balancer-sku - --enable-private-cluster --private-dns-zone - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e681abaa-fb22-4a6f-839f-ca5cbb399c4c?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"aaab81e6-22fb-6f4a-839f-ca5cbb399c4c\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:38:05.03Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '121' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 05:41:06 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2675","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:41:36 GMT - etag: - - W/"8a2-BOON4rvKeHiXCY3OHw9dyLSq5ng" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2675","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:41:36 GMT - etag: - - W/"8a2-BOON4rvKeHiXCY3OHw9dyLSq5ng" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --node-count --generate-ssh-keys --load-balancer-sku - --enable-private-cluster --private-dns-zone - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e681abaa-fb22-4a6f-839f-ca5cbb399c4c?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"aaab81e6-22fb-6f4a-839f-ca5cbb399c4c\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:38:05.03Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '121' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 05:41:35 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2645","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:42:06 GMT - etag: - - W/"8a2-Zo4Rw3KyI9N+zUJFaTTkRWDdEvE" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2645","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:42:06 GMT - etag: - - W/"8a2-Zo4Rw3KyI9N+zUJFaTTkRWDdEvE" - x-powered-by: - - Express + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -1270,24 +207,24 @@ interactions: - --resource-group --name --node-count --generate-ssh-keys --load-balancer-sku --enable-private-cluster --private-dns-zone User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e681abaa-fb22-4a6f-839f-ca5cbb399c4c?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d97d6bb3-472a-41a5-b4ef-22f4730f2a1f?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"aaab81e6-22fb-6f4a-839f-ca5cbb399c4c\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:38:05.03Z\"\n }" + string: "{\n \"name\": \"b36b7dd9-2a47-a541-b4ef-22f4730f2a1f\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:07:33.6033333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 09 Apr 2021 05:42:05 GMT + - Fri, 14 May 2021 06:08:36 GMT expires: - '-1' pragma: @@ -1305,82 +242,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2615","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:42:36 GMT - etag: - - W/"8a2-ubNwLn7yckMmGsawc6bKj20Iiaw" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2615","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:42:36 GMT - etag: - - W/"8a2-ubNwLn7yckMmGsawc6bKj20Iiaw" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -1396,24 +257,24 @@ interactions: - --resource-group --name --node-count --generate-ssh-keys --load-balancer-sku --enable-private-cluster --private-dns-zone User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e681abaa-fb22-4a6f-839f-ca5cbb399c4c?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d97d6bb3-472a-41a5-b4ef-22f4730f2a1f?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"aaab81e6-22fb-6f4a-839f-ca5cbb399c4c\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:38:05.03Z\"\n }" + string: "{\n \"name\": \"b36b7dd9-2a47-a541-b4ef-22f4730f2a1f\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:07:33.6033333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 09 Apr 2021 05:42:36 GMT + - Fri, 14 May 2021 06:09:08 GMT expires: - '-1' pragma: @@ -1432,78 +293,52 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2585","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:43:06 GMT - etag: - - W/"8a2-9jYDZveNO69u70wLS+nLWxxTtag" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks create Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --node-count --generate-ssh-keys --load-balancer-sku + --enable-private-cluster --private-dns-zone User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d97d6bb3-472a-41a5-b4ef-22f4730f2a1f?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2585","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"b36b7dd9-2a47-a541-b4ef-22f4730f2a1f\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:07:33.6033333Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 05:43:06 GMT - etag: - - W/"8a2-9jYDZveNO69u70wLS+nLWxxTtag" - x-powered-by: - - Express + - Fri, 14 May 2021 06:09:39 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -1522,24 +357,24 @@ interactions: - --resource-group --name --node-count --generate-ssh-keys --load-balancer-sku --enable-private-cluster --private-dns-zone User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e681abaa-fb22-4a6f-839f-ca5cbb399c4c?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d97d6bb3-472a-41a5-b4ef-22f4730f2a1f?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"aaab81e6-22fb-6f4a-839f-ca5cbb399c4c\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:38:05.03Z\"\n }" + string: "{\n \"name\": \"b36b7dd9-2a47-a541-b4ef-22f4730f2a1f\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:07:33.6033333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 09 Apr 2021 05:43:06 GMT + - Fri, 14 May 2021 06:10:10 GMT expires: - '-1' pragma: @@ -1558,78 +393,102 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks create Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --node-count --generate-ssh-keys --load-balancer-sku + --enable-private-cluster --private-dns-zone User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d97d6bb3-472a-41a5-b4ef-22f4730f2a1f?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2555","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"b36b7dd9-2a47-a541-b4ef-22f4730f2a1f\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:07:33.6033333Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 05:43:36 GMT - etag: - - W/"8a2-DWDs3J0FHLA7GQB3o+/4tPqIzIE" - x-powered-by: - - Express + - Fri, 14 May 2021 06:10:41 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks create Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --node-count --generate-ssh-keys --load-balancer-sku + --enable-private-cluster --private-dns-zone User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d97d6bb3-472a-41a5-b4ef-22f4730f2a1f?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2555","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"b36b7dd9-2a47-a541-b4ef-22f4730f2a1f\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:07:33.6033333Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 05:43:36 GMT - etag: - - W/"8a2-DWDs3J0FHLA7GQB3o+/4tPqIzIE" - x-powered-by: - - Express + - Fri, 14 May 2021 06:11:13 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -1648,25 +507,24 @@ interactions: - --resource-group --name --node-count --generate-ssh-keys --load-balancer-sku --enable-private-cluster --private-dns-zone User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/e681abaa-fb22-4a6f-839f-ca5cbb399c4c?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d97d6bb3-472a-41a5-b4ef-22f4730f2a1f?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"aaab81e6-22fb-6f4a-839f-ca5cbb399c4c\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-04-09T05:38:05.03Z\",\n \"endTime\": - \"2021-04-09T05:43:18.6967149Z\"\n }" + string: "{\n \"name\": \"b36b7dd9-2a47-a541-b4ef-22f4730f2a1f\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:07:33.6033333Z\"\n }" headers: cache-control: - no-cache content-length: - - '165' + - '126' content-type: - application/json date: - - Fri, 09 Apr 2021 05:43:36 GMT + - Fri, 14 May 2021 06:11:44 GMT expires: - '-1' pragma: @@ -1685,78 +543,103 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks create Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --node-count --generate-ssh-keys --load-balancer-sku + --enable-private-cluster --private-dns-zone User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d97d6bb3-472a-41a5-b4ef-22f4730f2a1f?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2554","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"b36b7dd9-2a47-a541-b4ef-22f4730f2a1f\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:07:33.6033333Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 05:43:37 GMT - etag: - - W/"8a2-TLN22vaZpiHDz6lRvflCb/qw2YM" - x-powered-by: - - Express + - Fri, 14 May 2021 06:12:16 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks create Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --node-count --generate-ssh-keys --load-balancer-sku + --enable-private-cluster --private-dns-zone User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d97d6bb3-472a-41a5-b4ef-22f4730f2a1f?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2554","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"b36b7dd9-2a47-a541-b4ef-22f4730f2a1f\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-05-14T06:07:33.6033333Z\",\n \"endTime\": + \"2021-05-14T06:12:20.8077766Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '170' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 05:43:37 GMT - etag: - - W/"8a2-TLN22vaZpiHDz6lRvflCb/qw2YM" - x-powered-by: - - Express + - Fri, 14 May 2021 06:12:47 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -1775,9 +658,9 @@ interactions: - --resource-group --name --node-count --generate-ssh-keys --load-balancer-sku --enable-private-cluster --private-dns-zone User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-03-01 response: @@ -1786,31 +669,31 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000001\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitesthcthto7pt-c10894\",\n - \ \"azurePortalFQDN\": \"21e4f32db46e69401b247f43a87c4207-priv.portal.hcp.westus2.azmk8s.io\",\n - \ \"privateFQDN\": \"cliakstest-clitesthcthto7pt-c10894-45b23b65.4ac95e09-992f-4679-8517-c61be13d555a.privatelink.westus2.azmk8s.io\",\n + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitest35ctph3yx-8ecadf\",\n \"azurePortalFQDN\": + \"88d4f5ef019e6836c20ebae9ff53f463-priv.portal.hcp.westus2.azmk8s.io\",\n + \ \"privateFQDN\": \"cliakstest-clitest35ctph3yx-8ecadf-859cff10.09a8c984-070a-496c-b59b-6e03147ec8bb.privatelink.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000001_westus2\",\n - \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": - {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n - \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/cf171244-e0f0-49fd-95f1-6ebc2faf619d\"\n + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000001_westus2\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1\n },\n \"effectiveOutboundIPs\": + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/bcfc99d8-4cbb-4006-83d4-df8e351f782e\"\n \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": - 10,\n \"privateLinkResources\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/privateLinkResources/management\",\n + 100,\n \"privateLinkResources\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/privateLinkResources/management\",\n \ \"name\": \"management\",\n \"type\": \"Microsoft.ContainerService/managedClusters/privateLinkResources\",\n \ \"groupId\": \"management\",\n \"requiredMembers\": [\n \"management\"\n \ ]\n }\n ],\n \"apiServerAccessProfile\": {\n \"enablePrivateCluster\": @@ -1824,11 +707,11 @@ interactions: cache-control: - no-cache content-length: - - '3939' + - '3900' content-type: - application/json date: - - Fri, 09 Apr 2021 05:43:37 GMT + - Fri, 14 May 2021 06:12:50 GMT expires: - '-1' pragma: @@ -1846,82 +729,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2553","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:43:38 GMT - etag: - - W/"8a2-2YU7Ii6ZbHgH3b5O3r+OnlM6vVk" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2553","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:43:38 GMT - etag: - - W/"8a2-2YU7Ii6ZbHgH3b5O3r+OnlM6vVk" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -1938,29 +745,29 @@ interactions: ParameterSetName: - -g -n --yes --no-wait User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.1.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.2.0 Azure-SDK-For-Python + AZURECLI/2.23.0 accept-language: - en-US method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-03-01 response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/234280ea-568e-4630-af40-09e3924b8835?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/75ea5812-478d-4054-90ac-be2101067cd6?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Fri, 09 Apr 2021 05:43:38 GMT + - Fri, 14 May 2021 06:12:52 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/234280ea-568e-4630-af40-09e3924b8835?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/75ea5812-478d-4054-90ac-be2101067cd6?api-version=2016-03-30 pragma: - no-cache server: diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_using_azurecni_with_pod_identity_enabled.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_using_azurecni_with_pod_identity_enabled.yaml index d63d80c9f45..b87c193e318 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_using_azurecni_with_pod_identity_enabled.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_using_azurecni_with_pod_identity_enabled.yaml @@ -1,80 +1,4 @@ interactions: -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2536","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:43:55 GMT - etag: - - W/"8a2-ykTLwbyCkKr5DpU3Dnfm3g7ZwgE" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2536","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:43:55 GMT - etag: - - W/"8a2-ykTLwbyCkKr5DpU3Dnfm3g7ZwgE" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -90,16 +14,12 @@ interactions: - --resource-group --name --location --generate-ssh-keys --enable-managed-identity --enable-pod-identity --network-plugin User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-resource/12.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-resource/16.1.0 Python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"product":"azurecli","cause":"automation","date":"2021-04-09T05:43:54Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"product":"azurecli","cause":"automation","date":"2021-05-14T06:02:33Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -108,7 +28,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 09 Apr 2021 05:43:54 GMT + - Fri, 14 May 2021 06:02:35 GMT expires: - '-1' pragma: @@ -122,93 +42,18 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2536","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:43:55 GMT - etag: - - W/"8a2-ykTLwbyCkKr5DpU3Dnfm3g7ZwgE" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2536","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:43:55 GMT - etag: - - W/"8a2-ykTLwbyCkKr5DpU3Dnfm3g7ZwgE" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: '{"location": "westus2", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitestnyovtdgvi-c10894", "agentPoolProfiles": [{"count": 3, "vmSize": + "cliakstest-clitest24y5zkea6-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "enableEncryptionAtHost": false, "name": "nodepool1"}], "linuxProfile": - {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F"}]}}, - "addonProfiles": {}, "podIdentityProfile": {"enabled": true}, "enableRBAC": - true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": - "azure", "outboundType": "loadBalancer", "loadBalancerSku": "standard"}}, "identity": - {"type": "SystemAssigned"}}' + "Delete", "enableEncryptionAtHost": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\n"}]}}, "addonProfiles": {}, "podIdentityProfile": + {"enabled": true}, "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": + {"networkPlugin": "azure", "outboundType": "loadBalancer", "loadBalancerSku": + "standard"}}, "identity": {"type": "SystemAssigned"}}' headers: Accept: - application/json @@ -219,16 +64,16 @@ interactions: Connection: - keep-alive Content-Length: - - '1138' + - '1187' Content-Type: - application/json; charset=utf-8 ParameterSetName: - --resource-group --name --location --generate-ssh-keys --enable-managed-identity --enable-pod-identity --network-plugin User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 accept-language: - en-US method: PUT @@ -239,46 +84,45 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitestnyovtdgvi-c10894\",\n - \ \"fqdn\": \"cliakstest-clitestnyovtdgvi-c10894-b0b3e277.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitestnyovtdgvi-c10894-b0b3e277.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitest24y5zkea6-8ecadf\",\n \"fqdn\": + \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Creating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"windowsProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"enableCSIProxy\": true\n },\n \"servicePrincipalProfile\": - {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": - {\n \"KubeDashboard\": {\n \"enabled\": false,\n \"config\": null\n - \ }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": + {\n \"adminUsername\": \"azureuser\",\n \"enableCSIProxy\": true\n },\n + \ \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n + \ },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": \"azure\",\n \"loadBalancerSku\": \"standard\",\n \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": 1\n }\n },\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": - \"loadBalancer\"\n },\n \"maxAgentPools\": 10,\n \"podIdentityProfile\": + \"loadBalancer\"\n },\n \"maxAgentPools\": 100,\n \"podIdentityProfile\": {\n \"enabled\": true\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \ \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1aa33b59-2782-4a10-8c11-19e185f060c8?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ad47f3ae-a3dc-4676-9c09-bab20c9419a2?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2801' + - '2762' content-type: - application/json date: - - Fri, 09 Apr 2021 05:43:59 GMT + - Fri, 14 May 2021 06:02:48 GMT expires: - '-1' pragma: @@ -290,86 +134,10 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 201 message: Created -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2502","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:44:29 GMT - etag: - - W/"8a2-DBiyCb2H1lF9PI+5gJ2Csn0fl90" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2502","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:44:29 GMT - etag: - - W/"8a2-DBiyCb2H1lF9PI+5gJ2Csn0fl90" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -385,15 +153,15 @@ interactions: - --resource-group --name --location --generate-ssh-keys --enable-managed-identity --enable-pod-identity --network-plugin User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1aa33b59-2782-4a10-8c11-19e185f060c8?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ad47f3ae-a3dc-4676-9c09-bab20c9419a2?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"593ba31a-8227-104a-8c11-19e185f060c8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:43:58.7166666Z\"\n }" + string: "{\n \"name\": \"aef347ad-dca3-7646-9c09-bab20c9419a2\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:02:47.4033333Z\"\n }" headers: cache-control: - no-cache @@ -402,7 +170,7 @@ interactions: content-type: - application/json date: - - Fri, 09 Apr 2021 05:44:28 GMT + - Fri, 14 May 2021 06:03:19 GMT expires: - '-1' pragma: @@ -421,78 +189,52 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2472","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:44:59 GMT - etag: - - W/"8a2-g7ajpBhQBAZl9LvHUNJWBYWT9Dc" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks create Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --location --generate-ssh-keys --enable-managed-identity + --enable-pod-identity --network-plugin User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ad47f3ae-a3dc-4676-9c09-bab20c9419a2?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2472","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"aef347ad-dca3-7646-9c09-bab20c9419a2\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:02:47.4033333Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 05:44:59 GMT - etag: - - W/"8a2-g7ajpBhQBAZl9LvHUNJWBYWT9Dc" - x-powered-by: - - Express + - Fri, 14 May 2021 06:03:50 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -511,15 +253,15 @@ interactions: - --resource-group --name --location --generate-ssh-keys --enable-managed-identity --enable-pod-identity --network-plugin User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1aa33b59-2782-4a10-8c11-19e185f060c8?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ad47f3ae-a3dc-4676-9c09-bab20c9419a2?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"593ba31a-8227-104a-8c11-19e185f060c8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:43:58.7166666Z\"\n }" + string: "{\n \"name\": \"aef347ad-dca3-7646-9c09-bab20c9419a2\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:02:47.4033333Z\"\n }" headers: cache-control: - no-cache @@ -528,7 +270,7 @@ interactions: content-type: - application/json date: - - Fri, 09 Apr 2021 05:44:58 GMT + - Fri, 14 May 2021 06:04:22 GMT expires: - '-1' pragma: @@ -547,78 +289,102 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks create Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --location --generate-ssh-keys --enable-managed-identity + --enable-pod-identity --network-plugin User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ad47f3ae-a3dc-4676-9c09-bab20c9419a2?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2442","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"aef347ad-dca3-7646-9c09-bab20c9419a2\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:02:47.4033333Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 05:45:29 GMT - etag: - - W/"8a2-3yE52+18c9dpv8r1btGeLDRNnxE" - x-powered-by: - - Express + - Fri, 14 May 2021 06:04:54 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks create Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --location --generate-ssh-keys --enable-managed-identity + --enable-pod-identity --network-plugin User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ad47f3ae-a3dc-4676-9c09-bab20c9419a2?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2442","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"aef347ad-dca3-7646-9c09-bab20c9419a2\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:02:47.4033333Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 05:45:29 GMT - etag: - - W/"8a2-3yE52+18c9dpv8r1btGeLDRNnxE" - x-powered-by: - - Express + - Fri, 14 May 2021 06:05:25 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -637,24 +403,25 @@ interactions: - --resource-group --name --location --generate-ssh-keys --enable-managed-identity --enable-pod-identity --network-plugin User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1aa33b59-2782-4a10-8c11-19e185f060c8?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ad47f3ae-a3dc-4676-9c09-bab20c9419a2?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"593ba31a-8227-104a-8c11-19e185f060c8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:43:58.7166666Z\"\n }" + string: "{\n \"name\": \"aef347ad-dca3-7646-9c09-bab20c9419a2\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-05-14T06:02:47.4033333Z\",\n \"endTime\": + \"2021-05-14T06:05:56.041469Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '169' content-type: - application/json date: - - Fri, 09 Apr 2021 05:45:28 GMT + - Fri, 14 May 2021 06:05:57 GMT expires: - '-1' pragma: @@ -673,2408 +440,56 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks create Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --location --generate-ssh-keys --enable-managed-identity + --enable-pod-identity --network-plugin User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2412","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:45:59 GMT - etag: - - W/"8a2-XGR/1fLJtl4U2zcnzGZhS9ZuEp4" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2412","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:45:59 GMT - etag: - - W/"8a2-XGR/1fLJtl4U2zcnzGZhS9ZuEp4" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --location --generate-ssh-keys --enable-managed-identity - --enable-pod-identity --network-plugin - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1aa33b59-2782-4a10-8c11-19e185f060c8?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"593ba31a-8227-104a-8c11-19e185f060c8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:43:58.7166666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 05:45:59 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2382","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:46:29 GMT - etag: - - W/"8a2-OfUZY4ylm2zavorbAQwid8NWXMo" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2382","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:46:29 GMT - etag: - - W/"8a2-OfUZY4ylm2zavorbAQwid8NWXMo" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --location --generate-ssh-keys --enable-managed-identity - --enable-pod-identity --network-plugin - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1aa33b59-2782-4a10-8c11-19e185f060c8?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"593ba31a-8227-104a-8c11-19e185f060c8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:43:58.7166666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 05:46:29 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2352","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:46:59 GMT - etag: - - W/"8a2-RB1/pbfKFv5ts/sfU/gpczBID9s" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2352","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:46:59 GMT - etag: - - W/"8a2-RB1/pbfKFv5ts/sfU/gpczBID9s" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --location --generate-ssh-keys --enable-managed-identity - --enable-pod-identity --network-plugin - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1aa33b59-2782-4a10-8c11-19e185f060c8?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"593ba31a-8227-104a-8c11-19e185f060c8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:43:58.7166666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 05:46:59 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2321","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:47:30 GMT - etag: - - W/"8a2-AbMRw2I/O0djhTtrFghuuoU3czk" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2321","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:47:30 GMT - etag: - - W/"8a2-AbMRw2I/O0djhTtrFghuuoU3czk" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --location --generate-ssh-keys --enable-managed-identity - --enable-pod-identity --network-plugin - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1aa33b59-2782-4a10-8c11-19e185f060c8?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"593ba31a-8227-104a-8c11-19e185f060c8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:43:58.7166666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 05:47:29 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2291","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:48:00 GMT - etag: - - W/"8a2-wWBX2s/5sLdhOYiDIbIe5MnPSjA" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2291","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:48:00 GMT - etag: - - W/"8a2-wWBX2s/5sLdhOYiDIbIe5MnPSjA" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --location --generate-ssh-keys --enable-managed-identity - --enable-pod-identity --network-plugin - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1aa33b59-2782-4a10-8c11-19e185f060c8?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"593ba31a-8227-104a-8c11-19e185f060c8\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-04-09T05:43:58.7166666Z\",\n \"endTime\": - \"2021-04-09T05:47:52.8987617Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '170' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 05:47:59 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2291","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:48:00 GMT - etag: - - W/"8a2-wWBX2s/5sLdhOYiDIbIe5MnPSjA" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2291","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:48:00 GMT - etag: - - W/"8a2-wWBX2s/5sLdhOYiDIbIe5MnPSjA" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --location --generate-ssh-keys --enable-managed-identity - --enable-pod-identity --network-plugin - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 - response: - body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n - \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": - \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": - \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitestnyovtdgvi-c10894\",\n - \ \"fqdn\": \"cliakstest-clitestnyovtdgvi-c10894-b0b3e277.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitestnyovtdgvi-c10894-b0b3e277.portal.hcp.westus2.azmk8s.io\",\n - \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": - 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": - \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": - \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"windowsProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"enableCSIProxy\": true\n },\n \"servicePrincipalProfile\": - {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": - {\n \"KubeDashboard\": {\n \"enabled\": false,\n \"config\": null\n - \ }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n - \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": - {\n \"networkPlugin\": \"azure\",\n \"loadBalancerSku\": \"Standard\",\n - \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/c1441059-db46-4221-afef-c22ba8343155\"\n - \ }\n ]\n },\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": - \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": - \"loadBalancer\"\n },\n \"maxAgentPools\": 10,\n \"identityProfile\": - {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n - \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true\n }\n - \ },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n - \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": - {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" - headers: - cache-control: - - no-cache - content-length: - - '3464' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 05:48:00 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2290","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:48:01 GMT - etag: - - W/"8a2-lSsyhnEJtp5HEH1TK7cm2mcBx/c" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2290","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:48:01 GMT - etag: - - W/"8a2-lSsyhnEJtp5HEH1TK7cm2mcBx/c" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --disable-pod-identity - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 - response: - body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n - \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": - \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": - \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitestnyovtdgvi-c10894\",\n - \ \"fqdn\": \"cliakstest-clitestnyovtdgvi-c10894-b0b3e277.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitestnyovtdgvi-c10894-b0b3e277.portal.hcp.westus2.azmk8s.io\",\n - \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": - 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": - \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": - \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"windowsProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"enableCSIProxy\": true\n },\n \"servicePrincipalProfile\": - {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": - {\n \"KubeDashboard\": {\n \"enabled\": false,\n \"config\": null\n - \ }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n - \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": - {\n \"networkPlugin\": \"azure\",\n \"loadBalancerSku\": \"Standard\",\n - \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/c1441059-db46-4221-afef-c22ba8343155\"\n - \ }\n ]\n },\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": - \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": - \"loadBalancer\"\n },\n \"maxAgentPools\": 10,\n \"identityProfile\": - {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n - \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true\n }\n - \ },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n - \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": - {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" - headers: - cache-control: - - no-cache - content-length: - - '3464' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 05:48:00 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2290","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:48:01 GMT - etag: - - W/"8a2-lSsyhnEJtp5HEH1TK7cm2mcBx/c" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2290","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:48:01 GMT - etag: - - W/"8a2-lSsyhnEJtp5HEH1TK7cm2mcBx/c" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.18.14", - "dnsPrefix": "cliakstest-clitestnyovtdgvi-c10894", "agentPoolProfiles": [{"count": - 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", - "kubeletDiskType": "OS", "maxPods": 30, "osType": "Linux", "type": "VirtualMachineScaleSets", - "mode": "System", "orchestratorVersion": "1.18.14", "enableNodePublicIP": false, - "nodeLabels": {}, "enableEncryptionAtHost": false, "enableFIPS": false, "name": - "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": - [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F"}]}}, - "windowsProfile": {"adminUsername": "azureuser", "enableCSIProxy": true}, "servicePrincipalProfile": - {"clientId":"00000000-0000-0000-0000-000000000001"}, "addonProfiles": {"KubeDashboard": - {"enabled": false}}, "podIdentityProfile": {"enabled": false}, "nodeResourceGroup": - "MC_clitest000001_cliakstest000002_westus2", "enableRBAC": true, "enablePodSecurityPolicy": - false, "networkProfile": {"networkPlugin": "azure", "serviceCidr": "10.0.0.0/16", - "dnsServiceIP": "10.0.0.10", "dockerBridgeCidr": "172.17.0.1/16", "outboundType": - "loadBalancer", "loadBalancerSku": "Standard", "loadBalancerProfile": {"managedOutboundIPs": - {"count": 1}, "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/c1441059-db46-4221-afef-c22ba8343155"}]}}, - "autoUpgradeProfile": {}, "identityProfile": {"kubeletidentity": {"resourceId": - "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", - "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}}, - "identity": {"type": "SystemAssigned"}, "sku": {"name": "Basic", "tier": "Free"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - Content-Length: - - '2285' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - --resource-group --name --disable-pod-identity - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 - response: - body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n - \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": - \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": - \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitestnyovtdgvi-c10894\",\n - \ \"fqdn\": \"cliakstest-clitestnyovtdgvi-c10894-b0b3e277.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitestnyovtdgvi-c10894-b0b3e277.portal.hcp.westus2.azmk8s.io\",\n - \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": - 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": - \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": - \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"windowsProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"enableCSIProxy\": true\n },\n \"servicePrincipalProfile\": - {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": - {\n \"KubeDashboard\": {\n \"enabled\": false,\n \"config\": null\n - \ }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n - \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": - {\n \"networkPlugin\": \"azure\",\n \"loadBalancerSku\": \"Standard\",\n - \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/c1441059-db46-4221-afef-c22ba8343155\"\n - \ }\n ]\n },\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": - \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": - \"loadBalancer\"\n },\n \"maxAgentPools\": 10,\n \"identityProfile\": - {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n - \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n },\n \"podIdentityProfile\": {}\n },\n \"identity\": {\n \"type\": - \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n - \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": - {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5e420971-a988-45e7-ad89-0f0345c380c7?api-version=2016-03-30 - cache-control: - - no-cache - content-length: - - '3438' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 05:48:03 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - 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: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2257","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:48:34 GMT - etag: - - W/"8a2-5a/zZ0RkWOHo8xZ9saWYeX2sWLg" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2257","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:48:34 GMT - etag: - - W/"8a2-5a/zZ0RkWOHo8xZ9saWYeX2sWLg" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --disable-pod-identity - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5e420971-a988-45e7-ad89-0f0345c380c7?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"7109425e-88a9-e745-ad89-0f0345c380c7\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:48:04.16Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '121' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 05:48:34 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2227","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:49:04 GMT - etag: - - W/"8a2-47TmcTlY648U5Ls/+UZGg92BxhU" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2227","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:49:04 GMT - etag: - - W/"8a2-47TmcTlY648U5Ls/+UZGg92BxhU" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --disable-pod-identity - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5e420971-a988-45e7-ad89-0f0345c380c7?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"7109425e-88a9-e745-ad89-0f0345c380c7\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-04-09T05:48:04.16Z\",\n \"endTime\": - \"2021-04-09T05:49:01.0803016Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '165' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 05:49:04 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2226","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:49:05 GMT - etag: - - W/"8a2-QhiXwW2JxSTkJn0pWqSshaZCzro" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2226","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:49:05 GMT - etag: - - W/"8a2-QhiXwW2JxSTkJn0pWqSshaZCzro" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --disable-pod-identity - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 - response: - body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n - \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": - \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": - \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitestnyovtdgvi-c10894\",\n - \ \"fqdn\": \"cliakstest-clitestnyovtdgvi-c10894-b0b3e277.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitestnyovtdgvi-c10894-b0b3e277.portal.hcp.westus2.azmk8s.io\",\n - \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": - 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": - \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": - \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"windowsProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"enableCSIProxy\": true\n },\n \"servicePrincipalProfile\": - {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": - {\n \"KubeDashboard\": {\n \"enabled\": false,\n \"config\": null\n - \ }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n - \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": - {\n \"networkPlugin\": \"azure\",\n \"loadBalancerSku\": \"Standard\",\n - \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/c1441059-db46-4221-afef-c22ba8343155\"\n - \ }\n ]\n },\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": - \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": - \"loadBalancer\"\n },\n \"maxAgentPools\": 10,\n \"identityProfile\": - {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n - \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n },\n \"podIdentityProfile\": {}\n },\n \"identity\": {\n \"type\": - \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n - \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": - {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" - headers: - cache-control: - - no-cache - content-length: - - '3440' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 05:49:04 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2226","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:49:05 GMT - etag: - - W/"8a2-QhiXwW2JxSTkJn0pWqSshaZCzro" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2226","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:49:05 GMT - etag: - - W/"8a2-QhiXwW2JxSTkJn0pWqSshaZCzro" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-pod-identity - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 - response: - body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n - \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": - \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": - \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitestnyovtdgvi-c10894\",\n - \ \"fqdn\": \"cliakstest-clitestnyovtdgvi-c10894-b0b3e277.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitestnyovtdgvi-c10894-b0b3e277.portal.hcp.westus2.azmk8s.io\",\n - \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": - 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": - \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": - \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"windowsProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"enableCSIProxy\": true\n },\n \"servicePrincipalProfile\": - {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": - {\n \"KubeDashboard\": {\n \"enabled\": false,\n \"config\": null\n - \ }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n - \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": - {\n \"networkPlugin\": \"azure\",\n \"loadBalancerSku\": \"Standard\",\n - \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/c1441059-db46-4221-afef-c22ba8343155\"\n - \ }\n ]\n },\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": - \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": - \"loadBalancer\"\n },\n \"maxAgentPools\": 10,\n \"identityProfile\": - {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n - \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n },\n \"podIdentityProfile\": {}\n },\n \"identity\": {\n \"type\": - \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n - \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": - {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" - headers: - cache-control: - - no-cache - content-length: - - '3440' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 05:49:05 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2225","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:49:06 GMT - etag: - - W/"8a2-5YaD3e7cGolUThz3tagHPXR9g+g" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2225","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:49:06 GMT - etag: - - W/"8a2-5YaD3e7cGolUThz3tagHPXR9g+g" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.18.14", - "dnsPrefix": "cliakstest-clitestnyovtdgvi-c10894", "agentPoolProfiles": [{"count": - 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", - "kubeletDiskType": "OS", "maxPods": 30, "osType": "Linux", "type": "VirtualMachineScaleSets", - "mode": "System", "orchestratorVersion": "1.18.14", "enableNodePublicIP": false, - "nodeLabels": {}, "enableEncryptionAtHost": false, "enableFIPS": false, "name": - "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": - [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F"}]}}, - "windowsProfile": {"adminUsername": "azureuser", "enableCSIProxy": true}, "servicePrincipalProfile": - {"clientId":"00000000-0000-0000-0000-000000000001"}, "addonProfiles": {"KubeDashboard": - {"enabled": false}}, "podIdentityProfile": {"enabled": true, "userAssignedIdentities": - [], "userAssignedIdentityExceptions": []}, "nodeResourceGroup": "MC_clitest000001_cliakstest000002_westus2", - "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": - "azure", "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", "dockerBridgeCidr": - "172.17.0.1/16", "outboundType": "loadBalancer", "loadBalancerSku": "Standard", - "loadBalancerProfile": {"managedOutboundIPs": {"count": 1}, "effectiveOutboundIPs": - [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/c1441059-db46-4221-afef-c22ba8343155"}]}}, - "autoUpgradeProfile": {}, "identityProfile": {"kubeletidentity": {"resourceId": - "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", - "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}}, - "identity": {"type": "SystemAssigned"}, "sku": {"name": "Basic", "tier": "Free"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - Content-Length: - - '2352' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - --resource-group --name --enable-pod-identity - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 - response: - body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n - \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": - \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": - \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitestnyovtdgvi-c10894\",\n - \ \"fqdn\": \"cliakstest-clitestnyovtdgvi-c10894-b0b3e277.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitestnyovtdgvi-c10894-b0b3e277.portal.hcp.westus2.azmk8s.io\",\n - \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": - 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": - \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": - \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"windowsProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"enableCSIProxy\": true\n },\n \"servicePrincipalProfile\": - {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": - {\n \"KubeDashboard\": {\n \"enabled\": false,\n \"config\": null\n - \ }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n - \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": - {\n \"networkPlugin\": \"azure\",\n \"loadBalancerSku\": \"Standard\",\n - \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/c1441059-db46-4221-afef-c22ba8343155\"\n - \ }\n ]\n },\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": - \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": - \"loadBalancer\"\n },\n \"maxAgentPools\": 10,\n \"identityProfile\": - {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n - \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true\n }\n - \ },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n - \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": - {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/91efa2bf-08fc-4f7f-8007-de5652fe1b4f?api-version=2016-03-30 - cache-control: - - no-cache - content-length: - - '3462' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 05:49:09 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - 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: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2192","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:49:39 GMT - etag: - - W/"8a2-9gW1sQJKfJrxv1Rn1p6eu1/WZTw" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2192","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:49:39 GMT - etag: - - W/"8a2-9gW1sQJKfJrxv1Rn1p6eu1/WZTw" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-pod-identity - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/91efa2bf-08fc-4f7f-8007-de5652fe1b4f?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"bfa2ef91-fc08-7f4f-8007-de5652fe1b4f\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:49:08.9Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '120' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 05:49:38 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2162","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:50:09 GMT - etag: - - W/"8a2-+pa5ilrrzdCdFKKm4EKtGR+Lng8" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2162","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:50:09 GMT - etag: - - W/"8a2-+pa5ilrrzdCdFKKm4EKtGR+Lng8" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-pod-identity - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/91efa2bf-08fc-4f7f-8007-de5652fe1b4f?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"bfa2ef91-fc08-7f4f-8007-de5652fe1b4f\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:49:08.9Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '120' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 05:50:09 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2132","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:50:39 GMT - etag: - - W/"8a2-4yaAY6giXjKdBWRPwODecDC2Ano" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2132","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:50:39 GMT - etag: - - W/"8a2-4yaAY6giXjKdBWRPwODecDC2Ano" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-pod-identity - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/91efa2bf-08fc-4f7f-8007-de5652fe1b4f?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"bfa2ef91-fc08-7f4f-8007-de5652fe1b4f\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-04-09T05:49:08.9Z\",\n \"endTime\": - \"2021-04-09T05:50:36.9282109Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '164' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 05:50:39 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2132","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:50:39 GMT - etag: - - W/"8a2-4yaAY6giXjKdBWRPwODecDC2Ano" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2131","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:50:39 GMT - etag: - - W/"8a2-bzdHwd0qd0+gwLQWsCC/mqk13cE" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-pod-identity - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitestnyovtdgvi-c10894\",\n - \ \"fqdn\": \"cliakstest-clitestnyovtdgvi-c10894-b0b3e277.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitestnyovtdgvi-c10894-b0b3e277.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitest24y5zkea6-8ecadf\",\n \"fqdn\": + \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"windowsProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"enableCSIProxy\": true\n },\n \"servicePrincipalProfile\": - {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": - {\n \"KubeDashboard\": {\n \"enabled\": false,\n \"config\": null\n - \ }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": + {\n \"adminUsername\": \"azureuser\",\n \"enableCSIProxy\": true\n },\n + \ \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n + \ },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": \"azure\",\n \"loadBalancerSku\": \"Standard\",\n \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/c1441059-db46-4221-afef-c22ba8343155\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/7d841821-00e1-4902-bbb5-7271fc53dec8\"\n \ }\n ]\n },\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": - \"loadBalancer\"\n },\n \"maxAgentPools\": 10,\n \"identityProfile\": + \"loadBalancer\"\n },\n \"maxAgentPools\": 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true\n }\n @@ -3085,11 +500,11 @@ interactions: cache-control: - no-cache content-length: - - '3464' + - '3425' content-type: - application/json date: - - Fri, 09 Apr 2021 05:50:40 GMT + - Fri, 14 May 2021 06:05:59 GMT expires: - '-1' pragma: @@ -3107,82 +522,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2131","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:50:40 GMT - etag: - - W/"8a2-bzdHwd0qd0+gwLQWsCC/mqk13cE" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2131","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:50:40 GMT - etag: - - W/"8a2-bzdHwd0qd0+gwLQWsCC/mqk13cE" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -3191,15 +530,15 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks pod-identity exception add + - aks update Connection: - keep-alive ParameterSetName: - - --cluster-name --resource-group --namespace --name --pod-labels + - --resource-group --name --disable-pod-identity User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 accept-language: - en-US method: GET @@ -3210,32 +549,31 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitestnyovtdgvi-c10894\",\n - \ \"fqdn\": \"cliakstest-clitestnyovtdgvi-c10894-b0b3e277.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitestnyovtdgvi-c10894-b0b3e277.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitest24y5zkea6-8ecadf\",\n \"fqdn\": + \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"windowsProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"enableCSIProxy\": true\n },\n \"servicePrincipalProfile\": - {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": - {\n \"KubeDashboard\": {\n \"enabled\": false,\n \"config\": null\n - \ }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": + {\n \"adminUsername\": \"azureuser\",\n \"enableCSIProxy\": true\n },\n + \ \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n + \ },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": \"azure\",\n \"loadBalancerSku\": \"Standard\",\n \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/c1441059-db46-4221-afef-c22ba8343155\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/7d841821-00e1-4902-bbb5-7271fc53dec8\"\n \ }\n ]\n },\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": - \"loadBalancer\"\n },\n \"maxAgentPools\": 10,\n \"identityProfile\": + \"loadBalancer\"\n },\n \"maxAgentPools\": 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true\n }\n @@ -3246,11 +584,11 @@ interactions: cache-control: - no-cache content-length: - - '3464' + - '3425' content-type: - application/json date: - - Fri, 09 Apr 2021 05:50:41 GMT + - Fri, 14 May 2021 06:06:01 GMT expires: - '-1' pragma: @@ -3269,101 +607,24 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2130","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:50:41 GMT - etag: - - W/"8a2-9qoGPEvbH3NQhD0u+/cpViQ7MF0" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2130","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:50:41 GMT - etag: - - W/"8a2-9qoGPEvbH3NQhD0u+/cpViQ7MF0" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.18.14", - "dnsPrefix": "cliakstest-clitestnyovtdgvi-c10894", "agentPoolProfiles": [{"count": - 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", - "kubeletDiskType": "OS", "maxPods": 30, "osType": "Linux", "type": "VirtualMachineScaleSets", - "mode": "System", "orchestratorVersion": "1.18.14", "enableNodePublicIP": false, + body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.9", "dnsPrefix": + "cliakstest-clitest24y5zkea6-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": + "OS", "maxPods": 30, "osType": "Linux", "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.19.9", "enableNodePublicIP": false, "nodeLabels": {}, "enableEncryptionAtHost": false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": - [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F"}]}}, - "windowsProfile": {"adminUsername": "azureuser", "enableCSIProxy": true}, "servicePrincipalProfile": - {"clientId":"00000000-0000-0000-0000-000000000001"}, "addonProfiles": {"KubeDashboard": - {"enabled": false}}, "podIdentityProfile": {"enabled": true, "userAssignedIdentities": - [], "userAssignedIdentityExceptions": [{"name": "test-name", "namespace": "test-namespace", - "podLabels": {"foo": "bar"}}]}, "nodeResourceGroup": "MC_clitest000001_cliakstest000002_westus2", + [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\n"}]}}, "windowsProfile": {"adminUsername": "azureuser", + "enableCSIProxy": true}, "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, + "podIdentityProfile": {"enabled": false}, "nodeResourceGroup": "MC_clitest000001_cliakstest000002_westus2", "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": "azure", "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", "dockerBridgeCidr": "172.17.0.1/16", "outboundType": "loadBalancer", "loadBalancerSku": "Standard", "loadBalancerProfile": {"managedOutboundIPs": {"count": 1}, "effectiveOutboundIPs": - [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/c1441059-db46-4221-afef-c22ba8343155"}]}}, - "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", + [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/7d841821-00e1-4902-bbb5-7271fc53dec8"}]}}, + "autoUpgradeProfile": {}, "identityProfile": {"kubeletidentity": {"resourceId": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}}, "identity": {"type": "SystemAssigned"}, "sku": {"name": "Basic", "tier": "Free"}}' headers: @@ -3372,19 +633,19 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks pod-identity exception add + - aks update Connection: - keep-alive Content-Length: - - '2407' + - '2274' Content-Type: - application/json; charset=utf-8 ParameterSetName: - - --cluster-name --resource-group --namespace --name --pod-labels + - --resource-group --name --disable-pod-identity User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 accept-language: - en-US method: PUT @@ -3395,178 +656,48 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitestnyovtdgvi-c10894\",\n - \ \"fqdn\": \"cliakstest-clitestnyovtdgvi-c10894-b0b3e277.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitestnyovtdgvi-c10894-b0b3e277.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitest24y5zkea6-8ecadf\",\n \"fqdn\": + \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"windowsProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"enableCSIProxy\": true\n },\n \"servicePrincipalProfile\": - {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": - {\n \"KubeDashboard\": {\n \"enabled\": false,\n \"config\": null\n - \ }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": + {\n \"adminUsername\": \"azureuser\",\n \"enableCSIProxy\": true\n },\n + \ \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n + \ },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": \"azure\",\n \"loadBalancerSku\": \"Standard\",\n \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/c1441059-db46-4221-afef-c22ba8343155\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/7d841821-00e1-4902-bbb5-7271fc53dec8\"\n \ }\n ]\n },\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": - \"loadBalancer\"\n },\n \"maxAgentPools\": 10,\n \"identityProfile\": + \"loadBalancer\"\n },\n \"maxAgentPools\": 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n - \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true,\n \"userAssignedIdentityExceptions\": - [\n {\n \"name\": \"test-name\",\n \"namespace\": \"test-namespace\",\n - \ \"podLabels\": {\n \"foo\": \"bar\"\n }\n }\n ]\n - \ }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n - \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": - {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/92a5f4e1-1cc7-4ab2-beb5-144d82d2f021?api-version=2016-03-30 - cache-control: - - no-cache - content-length: - - '3636' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 05:50:43 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1195' - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2097","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:51:14 GMT - etag: - - W/"8a2-rv8CgjjW/Ajt4uQKB7CfsbxrHv0" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2097","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:51:14 GMT - etag: - - W/"8a2-rv8CgjjW/Ajt4uQKB7CfsbxrHv0" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks pod-identity exception add - Connection: - - keep-alive - ParameterSetName: - - --cluster-name --resource-group --namespace --name --pod-labels - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/92a5f4e1-1cc7-4ab2-beb5-144d82d2f021?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"e1f4a592-c71c-b24a-beb5-144d82d2f021\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:50:43.5166666Z\"\n }" + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"podIdentityProfile\": {}\n },\n \"identity\": {\n \"type\": + \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": + {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1bbe8f68-5497-4afb-b477-8ce684605d53?api-version=2016-03-30 cache-control: - no-cache content-length: - - '126' + - '3399' content-type: - application/json date: - - Fri, 09 Apr 2021 05:51:13 GMT + - Fri, 14 May 2021 06:06:08 GMT expires: - '-1' pragma: @@ -3581,82 +712,8 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2067","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:51:44 GMT - etag: - - W/"8a2-O/Pbwx+ndRTTAWH8QpO5rKWy+kw" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2067","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:51:44 GMT - etag: - - W/"8a2-O/Pbwx+ndRTTAWH8QpO5rKWy+kw" - x-powered-by: - - Express + x-ms-ratelimit-remaining-subscription-writes: + - '1199' status: code: 200 message: OK @@ -3668,21 +725,21 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks pod-identity exception add + - aks update Connection: - keep-alive ParameterSetName: - - --cluster-name --resource-group --namespace --name --pod-labels + - --resource-group --name --disable-pod-identity User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/92a5f4e1-1cc7-4ab2-beb5-144d82d2f021?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1bbe8f68-5497-4afb-b477-8ce684605d53?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e1f4a592-c71c-b24a-beb5-144d82d2f021\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:50:43.5166666Z\"\n }" + string: "{\n \"name\": \"688fbe1b-9754-fb4a-b477-8ce684605d53\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:06:05.7633333Z\"\n }" headers: cache-control: - no-cache @@ -3691,7 +748,7 @@ interactions: content-type: - application/json date: - - Fri, 09 Apr 2021 05:51:43 GMT + - Fri, 14 May 2021 06:06:39 GMT expires: - '-1' pragma: @@ -3709,82 +766,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2037","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:52:14 GMT - etag: - - W/"8a2-3S+AvmdVDolSQjf6ececAv4zxWQ" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2037","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:52:14 GMT - etag: - - W/"8a2-3S+AvmdVDolSQjf6ececAv4zxWQ" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -3793,22 +774,22 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks pod-identity exception add + - aks update Connection: - keep-alive ParameterSetName: - - --cluster-name --resource-group --namespace --name --pod-labels + - --resource-group --name --disable-pod-identity User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/92a5f4e1-1cc7-4ab2-beb5-144d82d2f021?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1bbe8f68-5497-4afb-b477-8ce684605d53?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e1f4a592-c71c-b24a-beb5-144d82d2f021\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-04-09T05:50:43.5166666Z\",\n \"endTime\": - \"2021-04-09T05:51:46.0780443Z\"\n }" + string: "{\n \"name\": \"688fbe1b-9754-fb4a-b477-8ce684605d53\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-05-14T06:06:05.7633333Z\",\n \"endTime\": + \"2021-05-14T06:07:08.6954295Z\"\n }" headers: cache-control: - no-cache @@ -3817,7 +798,7 @@ interactions: content-type: - application/json date: - - Fri, 09 Apr 2021 05:52:13 GMT + - Fri, 14 May 2021 06:07:11 GMT expires: - '-1' pragma: @@ -3835,82 +816,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2037","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:52:14 GMT - etag: - - W/"8a2-3S+AvmdVDolSQjf6ececAv4zxWQ" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2037","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:52:14 GMT - etag: - - W/"8a2-3S+AvmdVDolSQjf6ececAv4zxWQ" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -3919,15 +824,15 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks pod-identity exception add + - aks update Connection: - keep-alive ParameterSetName: - - --cluster-name --resource-group --namespace --name --pod-labels + - --resource-group --name --disable-pod-identity User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 response: @@ -3936,49 +841,46 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitestnyovtdgvi-c10894\",\n - \ \"fqdn\": \"cliakstest-clitestnyovtdgvi-c10894-b0b3e277.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitestnyovtdgvi-c10894-b0b3e277.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitest24y5zkea6-8ecadf\",\n \"fqdn\": + \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"windowsProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"enableCSIProxy\": true\n },\n \"servicePrincipalProfile\": - {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": - {\n \"KubeDashboard\": {\n \"enabled\": false,\n \"config\": null\n - \ }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": + {\n \"adminUsername\": \"azureuser\",\n \"enableCSIProxy\": true\n },\n + \ \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n + \ },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": \"azure\",\n \"loadBalancerSku\": \"Standard\",\n \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/c1441059-db46-4221-afef-c22ba8343155\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/7d841821-00e1-4902-bbb5-7271fc53dec8\"\n \ }\n ]\n },\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": - \"loadBalancer\"\n },\n \"maxAgentPools\": 10,\n \"identityProfile\": + \"loadBalancer\"\n },\n \"maxAgentPools\": 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true,\n \"userAssignedIdentityExceptions\": - [\n {\n \"name\": \"test-name\",\n \"namespace\": \"test-namespace\",\n - \ \"podLabels\": {\n \"foo\": \"bar\"\n }\n }\n ]\n - \ }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ }\n },\n \"podIdentityProfile\": {}\n },\n \"identity\": {\n \"type\": + \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: cache-control: - no-cache content-length: - - '3638' + - '3401' content-type: - application/json date: - - Fri, 09 Apr 2021 05:52:14 GMT + - Fri, 14 May 2021 06:07:13 GMT expires: - '-1' pragma: @@ -3996,82 +898,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2036","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:52:15 GMT - etag: - - W/"8a2-COn1anugIBdACwvCYEg66Gu+QKY" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2036","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:52:15 GMT - etag: - - W/"8a2-COn1anugIBdACwvCYEg66Gu+QKY" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -4080,15 +906,15 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks pod-identity exception update + - aks update Connection: - keep-alive ParameterSetName: - - --cluster-name --resource-group --namespace --name --pod-labels + - --resource-group --name --enable-pod-identity User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 accept-language: - en-US method: GET @@ -4099,162 +925,83 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitestnyovtdgvi-c10894\",\n - \ \"fqdn\": \"cliakstest-clitestnyovtdgvi-c10894-b0b3e277.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitestnyovtdgvi-c10894-b0b3e277.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitest24y5zkea6-8ecadf\",\n \"fqdn\": + \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"windowsProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"enableCSIProxy\": true\n },\n \"servicePrincipalProfile\": - {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": - {\n \"KubeDashboard\": {\n \"enabled\": false,\n \"config\": null\n - \ }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": + {\n \"adminUsername\": \"azureuser\",\n \"enableCSIProxy\": true\n },\n + \ \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n + \ },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": \"azure\",\n \"loadBalancerSku\": \"Standard\",\n \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/c1441059-db46-4221-afef-c22ba8343155\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/7d841821-00e1-4902-bbb5-7271fc53dec8\"\n \ }\n ]\n },\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": - \"loadBalancer\"\n },\n \"maxAgentPools\": 10,\n \"identityProfile\": + \"loadBalancer\"\n },\n \"maxAgentPools\": 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true,\n \"userAssignedIdentityExceptions\": - [\n {\n \"name\": \"test-name\",\n \"namespace\": \"test-namespace\",\n - \ \"podLabels\": {\n \"foo\": \"bar\"\n }\n }\n ]\n - \ }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ }\n },\n \"podIdentityProfile\": {}\n },\n \"identity\": {\n \"type\": + \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: cache-control: - no-cache content-length: - - '3638' + - '3401' content-type: - application/json date: - - Fri, 09 Apr 2021 05:52:15 GMT + - Fri, 14 May 2021 06:07:14 GMT expires: - '-1' pragma: - no-cache server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2036","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:52:15 GMT - etag: - - W/"8a2-COn1anugIBdACwvCYEg66Gu+QKY" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2036","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:52:15 GMT - etag: - - W/"8a2-COn1anugIBdACwvCYEg66Gu+QKY" - x-powered-by: - - Express + - nginx + strict-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": "westus2", "properties": {"kubernetesVersion": "1.18.14", - "dnsPrefix": "cliakstest-clitestnyovtdgvi-c10894", "agentPoolProfiles": [{"count": - 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", - "kubeletDiskType": "OS", "maxPods": 30, "osType": "Linux", "type": "VirtualMachineScaleSets", - "mode": "System", "orchestratorVersion": "1.18.14", "enableNodePublicIP": false, + body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.9", "dnsPrefix": + "cliakstest-clitest24y5zkea6-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": + "OS", "maxPods": 30, "osType": "Linux", "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.19.9", "enableNodePublicIP": false, "nodeLabels": {}, "enableEncryptionAtHost": false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": - [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F"}]}}, - "windowsProfile": {"adminUsername": "azureuser", "enableCSIProxy": true}, "servicePrincipalProfile": - {"clientId":"00000000-0000-0000-0000-000000000001"}, "addonProfiles": {"KubeDashboard": - {"enabled": false}}, "podIdentityProfile": {"enabled": true, "userAssignedIdentities": - [], "userAssignedIdentityExceptions": [{"name": "test-name", "namespace": "test-namespace", - "podLabels": {"foo": "bar", "a": "b"}}]}, "nodeResourceGroup": "MC_clitest000001_cliakstest000002_westus2", - "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": + [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\n"}]}}, "windowsProfile": {"adminUsername": "azureuser", + "enableCSIProxy": true}, "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, + "podIdentityProfile": {"enabled": true, "userAssignedIdentities": [], "userAssignedIdentityExceptions": + []}, "nodeResourceGroup": "MC_clitest000001_cliakstest000002_westus2", "enableRBAC": + true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": "azure", "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", "dockerBridgeCidr": "172.17.0.1/16", "outboundType": "loadBalancer", "loadBalancerSku": "Standard", "loadBalancerProfile": {"managedOutboundIPs": {"count": 1}, "effectiveOutboundIPs": - [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/c1441059-db46-4221-afef-c22ba8343155"}]}}, - "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", + [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/7d841821-00e1-4902-bbb5-7271fc53dec8"}]}}, + "autoUpgradeProfile": {}, "identityProfile": {"kubeletidentity": {"resourceId": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}}, "identity": {"type": "SystemAssigned"}, "sku": {"name": "Basic", "tier": "Free"}}' headers: @@ -4263,19 +1010,19 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks pod-identity exception update + - aks update Connection: - keep-alive Content-Length: - - '2417' + - '2341' Content-Type: - application/json; charset=utf-8 ParameterSetName: - - --cluster-name --resource-group --namespace --name --pod-labels + - --resource-group --name --enable-pod-identity User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 accept-language: - en-US method: PUT @@ -4286,52 +1033,48 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitestnyovtdgvi-c10894\",\n - \ \"fqdn\": \"cliakstest-clitestnyovtdgvi-c10894-b0b3e277.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitestnyovtdgvi-c10894-b0b3e277.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitest24y5zkea6-8ecadf\",\n \"fqdn\": + \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"windowsProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"enableCSIProxy\": true\n },\n \"servicePrincipalProfile\": - {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": - {\n \"KubeDashboard\": {\n \"enabled\": false,\n \"config\": null\n - \ }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": + {\n \"adminUsername\": \"azureuser\",\n \"enableCSIProxy\": true\n },\n + \ \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n + \ },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": \"azure\",\n \"loadBalancerSku\": \"Standard\",\n \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/c1441059-db46-4221-afef-c22ba8343155\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/7d841821-00e1-4902-bbb5-7271fc53dec8\"\n \ }\n ]\n },\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": - \"loadBalancer\"\n },\n \"maxAgentPools\": 10,\n \"identityProfile\": + \"loadBalancer\"\n },\n \"maxAgentPools\": 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true,\n \"userAssignedIdentityExceptions\": - [\n {\n \"name\": \"test-name\",\n \"namespace\": \"test-namespace\",\n - \ \"podLabels\": {\n \"a\": \"b\",\n \"foo\": \"bar\"\n }\n - \ }\n ]\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n - \ \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n \"tenantId\": - \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": {\n \"name\": - \"Basic\",\n \"tier\": \"Free\"\n }\n }" + \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true\n }\n + \ },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": + {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fcb2d7bd-bd21-4127-b328-3a3125bdbc60?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/053028e0-a13d-4d79-b398-089bc6969f32?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3653' + - '3423' content-type: - application/json date: - - Fri, 09 Apr 2021 05:52:18 GMT + - Fri, 14 May 2021 06:07:20 GMT expires: - '-1' pragma: @@ -4347,83 +1090,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1194' - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2003","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:52:48 GMT - etag: - - W/"8a2-d7ecHDzNY9PXc+07r7vMJclG6lw" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"2003","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:52:48 GMT - etag: - - W/"8a2-d7ecHDzNY9PXc+07r7vMJclG6lw" - x-powered-by: - - Express + - '1198' status: code: 200 message: OK @@ -4435,30 +1102,30 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks pod-identity exception update + - aks update Connection: - keep-alive ParameterSetName: - - --cluster-name --resource-group --namespace --name --pod-labels + - --resource-group --name --enable-pod-identity User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fcb2d7bd-bd21-4127-b328-3a3125bdbc60?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/053028e0-a13d-4d79-b398-089bc6969f32?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"bdd7b2fc-21bd-2741-b328-3a3125bdbc60\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:52:18.26Z\"\n }" + string: "{\n \"name\": \"e0283005-3da1-794d-b398-089bc6969f32\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:07:18.7533333Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 09 Apr 2021 05:52:48 GMT + - Fri, 14 May 2021 06:07:51 GMT expires: - '-1' pragma: @@ -4477,78 +1144,134 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks update Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --enable-pod-identity User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/053028e0-a13d-4d79-b398-089bc6969f32?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1972","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"e0283005-3da1-794d-b398-089bc6969f32\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-05-14T06:07:18.7533333Z\",\n \"endTime\": + \"2021-05-14T06:08:13.6137986Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '170' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 05:53:19 GMT - etag: - - W/"8a2-GrqjYH/kp9npsBPfu7QancfX9Ak" - x-powered-by: - - Express + - Fri, 14 May 2021 06:08:23 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks update Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --enable-pod-identity User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1972","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n + \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitest24y5zkea6-8ecadf\",\n \"fqdn\": + \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": + \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n + \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": + \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": + {\n \"adminUsername\": \"azureuser\",\n \"enableCSIProxy\": true\n },\n + \ \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n + \ },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n + \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": + {\n \"networkPlugin\": \"azure\",\n \"loadBalancerSku\": \"Standard\",\n + \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/7d841821-00e1-4902-bbb5-7271fc53dec8\"\n + \ }\n ]\n },\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": + \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": + \"loadBalancer\"\n },\n \"maxAgentPools\": 100,\n \"identityProfile\": + {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true\n }\n + \ },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": + {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '3425' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 05:53:19 GMT - etag: - - W/"8a2-GrqjYH/kp9npsBPfu7QancfX9Ak" - x-powered-by: - - Express + - Fri, 14 May 2021 06:08:24 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -4560,30 +1283,65 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks pod-identity exception update + - aks pod-identity exception add Connection: - keep-alive ParameterSetName: - --cluster-name --resource-group --namespace --name --pod-labels User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + accept-language: + - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fcb2d7bd-bd21-4127-b328-3a3125bdbc60?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 response: body: - string: "{\n \"name\": \"bdd7b2fc-21bd-2741-b328-3a3125bdbc60\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:52:18.26Z\"\n }" + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n + \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitest24y5zkea6-8ecadf\",\n \"fqdn\": + \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": + \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n + \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": + \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": + {\n \"adminUsername\": \"azureuser\",\n \"enableCSIProxy\": true\n },\n + \ \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n + \ },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n + \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": + {\n \"networkPlugin\": \"azure\",\n \"loadBalancerSku\": \"Standard\",\n + \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/7d841821-00e1-4902-bbb5-7271fc53dec8\"\n + \ }\n ]\n },\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": + \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": + \"loadBalancer\"\n },\n \"maxAgentPools\": 100,\n \"identityProfile\": + {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true\n }\n + \ },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": + {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: cache-control: - no-cache content-length: - - '121' + - '3425' content-type: - application/json date: - - Fri, 09 Apr 2021 05:53:18 GMT + - Fri, 14 May 2021 06:08:26 GMT expires: - '-1' pragma: @@ -4602,78 +1360,165 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.9", "dnsPrefix": + "cliakstest-clitest24y5zkea6-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": + "OS", "maxPods": 30, "osType": "Linux", "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.19.9", "enableNodePublicIP": false, + "nodeLabels": {}, "enableEncryptionAtHost": false, "enableFIPS": false, "name": + "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": + [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\n"}]}}, "windowsProfile": {"adminUsername": "azureuser", + "enableCSIProxy": true}, "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, + "podIdentityProfile": {"enabled": true, "userAssignedIdentities": [], "userAssignedIdentityExceptions": + [{"name": "test-name", "namespace": "test-namespace", "podLabels": {"foo": "bar"}}]}, + "nodeResourceGroup": "MC_clitest000001_cliakstest000002_westus2", "enableRBAC": + true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": + "azure", "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", "dockerBridgeCidr": + "172.17.0.1/16", "outboundType": "loadBalancer", "loadBalancerSku": "Standard", + "loadBalancerProfile": {"managedOutboundIPs": {"count": 1}, "effectiveOutboundIPs": + [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/7d841821-00e1-4902-bbb5-7271fc53dec8"}]}}, + "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", + "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}}, + "identity": {"type": "SystemAssigned"}, "sku": {"name": "Basic", "tier": "Free"}}' headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks pod-identity exception add Connection: - keep-alive Content-Length: - - '53' + - '2396' Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + - application/json; charset=utf-8 + ParameterSetName: + - --cluster-name --resource-group --namespace --name --pod-labels User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1942","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n + \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitest24y5zkea6-8ecadf\",\n \"fqdn\": + \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": + \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n + \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": + \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": + {\n \"adminUsername\": \"azureuser\",\n \"enableCSIProxy\": true\n },\n + \ \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n + \ },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n + \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": + {\n \"networkPlugin\": \"azure\",\n \"loadBalancerSku\": \"Standard\",\n + \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/7d841821-00e1-4902-bbb5-7271fc53dec8\"\n + \ }\n ]\n },\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": + \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": + \"loadBalancer\"\n },\n \"maxAgentPools\": 100,\n \"identityProfile\": + {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true,\n \"userAssignedIdentityExceptions\": + [\n {\n \"name\": \"test-name\",\n \"namespace\": \"test-namespace\",\n + \ \"podLabels\": {\n \"foo\": \"bar\"\n }\n }\n ]\n + \ }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": + {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: - connection: - - keep-alive + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/128d13ff-f834-41a4-bfb6-2d11a78ff3ac?api-version=2016-03-30 + cache-control: + - no-cache content-length: - - '2210' + - '3597' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 05:53:49 GMT - etag: - - W/"8a2-Xklvgi28qnNb0WZvo+aoeusxJXY" - x-powered-by: - - Express + - Fri, 14 May 2021 06:08:33 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1194' status: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks pod-identity exception add Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --cluster-name --resource-group --namespace --name --pod-labels User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/128d13ff-f834-41a4-bfb6-2d11a78ff3ac?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1942","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"ff138d12-34f8-a441-bfb6-2d11a78ff3ac\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:08:32.04Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '121' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 05:53:49 GMT - etag: - - W/"8a2-Xklvgi28qnNb0WZvo+aoeusxJXY" - x-powered-by: - - Express + - Fri, 14 May 2021 06:09:04 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -4685,22 +1530,22 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks pod-identity exception update + - aks pod-identity exception add Connection: - keep-alive ParameterSetName: - --cluster-name --resource-group --namespace --name --pod-labels User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fcb2d7bd-bd21-4127-b328-3a3125bdbc60?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/128d13ff-f834-41a4-bfb6-2d11a78ff3ac?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"bdd7b2fc-21bd-2741-b328-3a3125bdbc60\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-04-09T05:52:18.26Z\",\n \"endTime\": - \"2021-04-09T05:53:19.5897648Z\"\n }" + string: "{\n \"name\": \"ff138d12-34f8-a441-bfb6-2d11a78ff3ac\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-05-14T06:08:32.04Z\",\n \"endTime\": + \"2021-05-14T06:09:27.7357078Z\"\n }" headers: cache-control: - no-cache @@ -4709,7 +1554,7 @@ interactions: content-type: - application/json date: - - Fri, 09 Apr 2021 05:53:49 GMT + - Fri, 14 May 2021 06:09:35 GMT expires: - '-1' pragma: @@ -4728,83 +1573,197 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks pod-identity exception add Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --cluster-name --resource-group --namespace --name --pod-labels User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1942","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n + \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitest24y5zkea6-8ecadf\",\n \"fqdn\": + \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": + \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n + \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": + \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": + {\n \"adminUsername\": \"azureuser\",\n \"enableCSIProxy\": true\n },\n + \ \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n + \ },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n + \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": + {\n \"networkPlugin\": \"azure\",\n \"loadBalancerSku\": \"Standard\",\n + \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/7d841821-00e1-4902-bbb5-7271fc53dec8\"\n + \ }\n ]\n },\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": + \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": + \"loadBalancer\"\n },\n \"maxAgentPools\": 100,\n \"identityProfile\": + {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true,\n \"userAssignedIdentityExceptions\": + [\n {\n \"name\": \"test-name\",\n \"namespace\": \"test-namespace\",\n + \ \"podLabels\": {\n \"foo\": \"bar\"\n }\n }\n ]\n + \ }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": + {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '3599' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 05:53:49 GMT - etag: - - W/"8a2-Xklvgi28qnNb0WZvo+aoeusxJXY" - x-powered-by: - - Express + - Fri, 14 May 2021 06:09:37 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks pod-identity exception update Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --cluster-name --resource-group --namespace --name --pod-labels User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1942","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n + \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitest24y5zkea6-8ecadf\",\n \"fqdn\": + \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": + \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n + \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": + \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": + {\n \"adminUsername\": \"azureuser\",\n \"enableCSIProxy\": true\n },\n + \ \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n + \ },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n + \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": + {\n \"networkPlugin\": \"azure\",\n \"loadBalancerSku\": \"Standard\",\n + \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/7d841821-00e1-4902-bbb5-7271fc53dec8\"\n + \ }\n ]\n },\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": + \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": + \"loadBalancer\"\n },\n \"maxAgentPools\": 100,\n \"identityProfile\": + {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true,\n \"userAssignedIdentityExceptions\": + [\n {\n \"name\": \"test-name\",\n \"namespace\": \"test-namespace\",\n + \ \"podLabels\": {\n \"foo\": \"bar\"\n }\n }\n ]\n + \ }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": + {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '3599' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 05:53:49 GMT - etag: - - W/"8a2-Xklvgi28qnNb0WZvo+aoeusxJXY" - x-powered-by: - - Express + - Fri, 14 May 2021 06:09:39 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-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 + body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.9", "dnsPrefix": + "cliakstest-clitest24y5zkea6-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": + "OS", "maxPods": 30, "osType": "Linux", "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.19.9", "enableNodePublicIP": false, + "nodeLabels": {}, "enableEncryptionAtHost": false, "enableFIPS": false, "name": + "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": + [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\n"}]}}, "windowsProfile": {"adminUsername": "azureuser", + "enableCSIProxy": true}, "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, + "podIdentityProfile": {"enabled": true, "userAssignedIdentities": [], "userAssignedIdentityExceptions": + [{"name": "test-name", "namespace": "test-namespace", "podLabels": {"foo": "bar", + "a": "b"}}]}, "nodeResourceGroup": "MC_clitest000001_cliakstest000002_westus2", + "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": + "azure", "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", "dockerBridgeCidr": + "172.17.0.1/16", "outboundType": "loadBalancer", "loadBalancerSku": "Standard", + "loadBalancerProfile": {"managedOutboundIPs": {"count": 1}, "effectiveOutboundIPs": + [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/7d841821-00e1-4902-bbb5-7271fc53dec8"}]}}, + "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", + "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}}, + "identity": {"type": "SystemAssigned"}, "sku": {"name": "Basic", "tier": "Free"}}' headers: Accept: - application/json @@ -4814,46 +1773,51 @@ interactions: - aks pod-identity exception update Connection: - keep-alive + Content-Length: + - '2406' + Content-Type: + - application/json; charset=utf-8 ParameterSetName: - --cluster-name --resource-group --namespace --name --pod-labels User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + accept-language: + - en-US + method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": - \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitestnyovtdgvi-c10894\",\n - \ \"fqdn\": \"cliakstest-clitestnyovtdgvi-c10894-b0b3e277.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitestnyovtdgvi-c10894-b0b3e277.portal.hcp.westus2.azmk8s.io\",\n + \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitest24y5zkea6-8ecadf\",\n \"fqdn\": + \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": - \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"windowsProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"enableCSIProxy\": true\n },\n \"servicePrincipalProfile\": - {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": - {\n \"KubeDashboard\": {\n \"enabled\": false,\n \"config\": null\n - \ }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": + {\n \"adminUsername\": \"azureuser\",\n \"enableCSIProxy\": true\n },\n + \ \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n + \ },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": \"azure\",\n \"loadBalancerSku\": \"Standard\",\n \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/c1441059-db46-4221-afef-c22ba8343155\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/7d841821-00e1-4902-bbb5-7271fc53dec8\"\n \ }\n ]\n },\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": - \"loadBalancer\"\n },\n \"maxAgentPools\": 10,\n \"identityProfile\": + \"loadBalancer\"\n },\n \"maxAgentPools\": 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true,\n \"userAssignedIdentityExceptions\": @@ -4864,14 +1828,16 @@ interactions: \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/db7e7655-3801-4387-9f9b-1ea8ff71d444?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3655' + - '3614' content-type: - application/json date: - - Fri, 09 Apr 2021 05:53:49 GMT + - Fri, 14 May 2021 06:09:48 GMT expires: - '-1' pragma: @@ -4886,82 +1852,192 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' status: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks pod-identity exception update Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --cluster-name --resource-group --namespace --name --pod-labels User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/db7e7655-3801-4387-9f9b-1ea8ff71d444?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1941","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"55767edb-0138-8743-9f9b-1ea8ff71d444\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:09:45.97Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Fri, 14 May 2021 06:10:19 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-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: - connection: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks pod-identity exception update + Connection: - keep-alive + ParameterSetName: + - --cluster-name --resource-group --namespace --name --pod-labels + User-Agent: + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/db7e7655-3801-4387-9f9b-1ea8ff71d444?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"55767edb-0138-8743-9f9b-1ea8ff71d444\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-05-14T06:09:45.97Z\",\n \"endTime\": + \"2021-05-14T06:10:47.794564Z\"\n }" + headers: + cache-control: + - no-cache content-length: - - '2210' + - '164' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 05:53:50 GMT - etag: - - W/"8a2-sF5HHHj2CkcNRbvP23h/jBuHQCw" - x-powered-by: - - Express + - Fri, 14 May 2021 06:10:50 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks pod-identity exception update Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --cluster-name --resource-group --namespace --name --pod-labels User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1941","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n + \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitest24y5zkea6-8ecadf\",\n \"fqdn\": + \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": + \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n + \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": + \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": + {\n \"adminUsername\": \"azureuser\",\n \"enableCSIProxy\": true\n },\n + \ \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n + \ },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n + \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": + {\n \"networkPlugin\": \"azure\",\n \"loadBalancerSku\": \"Standard\",\n + \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/7d841821-00e1-4902-bbb5-7271fc53dec8\"\n + \ }\n ]\n },\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": + \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": + \"loadBalancer\"\n },\n \"maxAgentPools\": 100,\n \"identityProfile\": + {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true,\n \"userAssignedIdentityExceptions\": + [\n {\n \"name\": \"test-name\",\n \"namespace\": \"test-namespace\",\n + \ \"podLabels\": {\n \"a\": \"b\",\n \"foo\": \"bar\"\n }\n + \ }\n ]\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n + \ \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n \"tenantId\": + \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": {\n \"name\": + \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '3616' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 05:53:50 GMT - etag: - - W/"8a2-sF5HHHj2CkcNRbvP23h/jBuHQCw" - x-powered-by: - - Express + - Fri, 14 May 2021 06:10:53 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -4979,9 +2055,9 @@ interactions: ParameterSetName: - --cluster-name --resource-group --namespace --name User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 accept-language: - en-US method: GET @@ -4992,32 +2068,31 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitestnyovtdgvi-c10894\",\n - \ \"fqdn\": \"cliakstest-clitestnyovtdgvi-c10894-b0b3e277.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitestnyovtdgvi-c10894-b0b3e277.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitest24y5zkea6-8ecadf\",\n \"fqdn\": + \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"windowsProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"enableCSIProxy\": true\n },\n \"servicePrincipalProfile\": - {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": - {\n \"KubeDashboard\": {\n \"enabled\": false,\n \"config\": null\n - \ }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": + {\n \"adminUsername\": \"azureuser\",\n \"enableCSIProxy\": true\n },\n + \ \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n + \ },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": \"azure\",\n \"loadBalancerSku\": \"Standard\",\n \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/c1441059-db46-4221-afef-c22ba8343155\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/7d841821-00e1-4902-bbb5-7271fc53dec8\"\n \ }\n ]\n },\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": - \"loadBalancer\"\n },\n \"maxAgentPools\": 10,\n \"identityProfile\": + \"loadBalancer\"\n },\n \"maxAgentPools\": 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true,\n \"userAssignedIdentityExceptions\": @@ -5031,11 +2106,11 @@ interactions: cache-control: - no-cache content-length: - - '3655' + - '3616' content-type: - application/json date: - - Fri, 09 Apr 2021 05:53:50 GMT + - Fri, 14 May 2021 06:10:54 GMT expires: - '-1' pragma: @@ -5054,99 +2129,23 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1941","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:53:50 GMT - etag: - - W/"8a2-sF5HHHj2CkcNRbvP23h/jBuHQCw" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1941","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:53:50 GMT - etag: - - W/"8a2-sF5HHHj2CkcNRbvP23h/jBuHQCw" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.18.14", - "dnsPrefix": "cliakstest-clitestnyovtdgvi-c10894", "agentPoolProfiles": [{"count": - 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", - "kubeletDiskType": "OS", "maxPods": 30, "osType": "Linux", "type": "VirtualMachineScaleSets", - "mode": "System", "orchestratorVersion": "1.18.14", "enableNodePublicIP": false, + body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.9", "dnsPrefix": + "cliakstest-clitest24y5zkea6-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": + "OS", "maxPods": 30, "osType": "Linux", "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.19.9", "enableNodePublicIP": false, "nodeLabels": {}, "enableEncryptionAtHost": false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": - [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F"}]}}, - "windowsProfile": {"adminUsername": "azureuser", "enableCSIProxy": true}, "servicePrincipalProfile": - {"clientId":"00000000-0000-0000-0000-000000000001"}, "addonProfiles": {"KubeDashboard": - {"enabled": false}}, "podIdentityProfile": {"enabled": true, "userAssignedIdentities": - [], "userAssignedIdentityExceptions": []}, "nodeResourceGroup": "MC_clitest000001_cliakstest000002_westus2", - "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": + [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\n"}]}}, "windowsProfile": {"adminUsername": "azureuser", + "enableCSIProxy": true}, "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, + "podIdentityProfile": {"enabled": true, "userAssignedIdentities": [], "userAssignedIdentityExceptions": + []}, "nodeResourceGroup": "MC_clitest000001_cliakstest000002_westus2", "enableRBAC": + true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": "azure", "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", "dockerBridgeCidr": "172.17.0.1/16", "outboundType": "loadBalancer", "loadBalancerSku": "Standard", "loadBalancerProfile": {"managedOutboundIPs": {"count": 1}, "effectiveOutboundIPs": - [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/c1441059-db46-4221-afef-c22ba8343155"}]}}, + [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/7d841821-00e1-4902-bbb5-7271fc53dec8"}]}}, "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}}, "identity": {"type": "SystemAssigned"}, "sku": {"name": "Basic", "tier": "Free"}}' @@ -5160,15 +2159,15 @@ interactions: Connection: - keep-alive Content-Length: - - '2326' + - '2315' Content-Type: - application/json; charset=utf-8 ParameterSetName: - --cluster-name --resource-group --namespace --name User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 accept-language: - en-US method: PUT @@ -5179,32 +2178,31 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitestnyovtdgvi-c10894\",\n - \ \"fqdn\": \"cliakstest-clitestnyovtdgvi-c10894-b0b3e277.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitestnyovtdgvi-c10894-b0b3e277.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitest24y5zkea6-8ecadf\",\n \"fqdn\": + \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"windowsProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"enableCSIProxy\": true\n },\n \"servicePrincipalProfile\": - {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": - {\n \"KubeDashboard\": {\n \"enabled\": false,\n \"config\": null\n - \ }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": + {\n \"adminUsername\": \"azureuser\",\n \"enableCSIProxy\": true\n },\n + \ \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n + \ },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": \"azure\",\n \"loadBalancerSku\": \"Standard\",\n \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/c1441059-db46-4221-afef-c22ba8343155\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/7d841821-00e1-4902-bbb5-7271fc53dec8\"\n \ }\n ]\n },\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": - \"loadBalancer\"\n },\n \"maxAgentPools\": 10,\n \"identityProfile\": + \"loadBalancer\"\n },\n \"maxAgentPools\": 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true\n }\n @@ -5213,15 +2211,15 @@ interactions: {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/774c4ce4-ca51-4cf9-a5fc-186a3f47a6e7?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/35c63357-9db3-4ddd-b84f-0bcafbc0f5de?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3462' + - '3423' content-type: - application/json date: - - Fri, 09 Apr 2021 05:53:53 GMT + - Fri, 14 May 2021 06:11:02 GMT expires: - '-1' pragma: @@ -5237,83 +2235,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1908","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:54:23 GMT - etag: - - W/"8a2-mvZLu7wMcjX7YswyXgGAK3GAn6o" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1908","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:54:23 GMT - etag: - - W/"8a2-mvZLu7wMcjX7YswyXgGAK3GAn6o" - x-powered-by: - - Express + - '1196' status: code: 200 message: OK @@ -5331,15 +2253,15 @@ interactions: ParameterSetName: - --cluster-name --resource-group --namespace --name User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/774c4ce4-ca51-4cf9-a5fc-186a3f47a6e7?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/35c63357-9db3-4ddd-b84f-0bcafbc0f5de?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e44c4c77-51ca-f94c-a5fc-186a3f47a6e7\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:53:52.89Z\"\n }" + string: "{\n \"name\": \"5733c635-b39d-dd4d-b84f-0bcafbc0f5de\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:11:00.88Z\"\n }" headers: cache-control: - no-cache @@ -5348,7 +2270,7 @@ interactions: content-type: - application/json date: - - Fri, 09 Apr 2021 05:54:23 GMT + - Fri, 14 May 2021 06:11:34 GMT expires: - '-1' pragma: @@ -5366,82 +2288,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1878","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:54:53 GMT - etag: - - W/"8a2-3Ww5zFQivMDgT+t70QoWjOSUzMg" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1878","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:54:53 GMT - etag: - - W/"8a2-3Ww5zFQivMDgT+t70QoWjOSUzMg" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -5456,25 +2302,24 @@ interactions: ParameterSetName: - --cluster-name --resource-group --namespace --name User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/774c4ce4-ca51-4cf9-a5fc-186a3f47a6e7?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/35c63357-9db3-4ddd-b84f-0bcafbc0f5de?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e44c4c77-51ca-f94c-a5fc-186a3f47a6e7\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-04-09T05:53:52.89Z\",\n \"endTime\": - \"2021-04-09T05:54:48.9977125Z\"\n }" + string: "{\n \"name\": \"5733c635-b39d-dd4d-b84f-0bcafbc0f5de\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:11:00.88Z\"\n }" headers: cache-control: - no-cache content-length: - - '165' + - '121' content-type: - application/json date: - - Fri, 09 Apr 2021 05:54:53 GMT + - Fri, 14 May 2021 06:12:05 GMT expires: - '-1' pragma: @@ -5493,78 +2338,52 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1878","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:54:53 GMT - etag: - - W/"8a2-3Ww5zFQivMDgT+t70QoWjOSUzMg" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks pod-identity exception delete Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --cluster-name --resource-group --namespace --name User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/35c63357-9db3-4ddd-b84f-0bcafbc0f5de?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1878","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"5733c635-b39d-dd4d-b84f-0bcafbc0f5de\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-05-14T06:11:00.88Z\",\n \"endTime\": + \"2021-05-14T06:12:08.718341Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '164' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 05:54:53 GMT - etag: - - W/"8a2-3Ww5zFQivMDgT+t70QoWjOSUzMg" - x-powered-by: - - Express + - Fri, 14 May 2021 06:12:36 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -5582,9 +2401,9 @@ interactions: ParameterSetName: - --cluster-name --resource-group --namespace --name User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 response: @@ -5593,32 +2412,31 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitestnyovtdgvi-c10894\",\n - \ \"fqdn\": \"cliakstest-clitestnyovtdgvi-c10894-b0b3e277.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitestnyovtdgvi-c10894-b0b3e277.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitest24y5zkea6-8ecadf\",\n \"fqdn\": + \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitest24y5zkea6-8ecadf-dada1fde.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"windowsProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"enableCSIProxy\": true\n },\n \"servicePrincipalProfile\": - {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": - {\n \"KubeDashboard\": {\n \"enabled\": false,\n \"config\": null\n - \ }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": + {\n \"adminUsername\": \"azureuser\",\n \"enableCSIProxy\": true\n },\n + \ \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n + \ },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": \"azure\",\n \"loadBalancerSku\": \"Standard\",\n \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/c1441059-db46-4221-afef-c22ba8343155\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/7d841821-00e1-4902-bbb5-7271fc53dec8\"\n \ }\n ]\n },\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": - \"loadBalancer\"\n },\n \"maxAgentPools\": 10,\n \"identityProfile\": + \"loadBalancer\"\n },\n \"maxAgentPools\": 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true\n }\n @@ -5629,11 +2447,11 @@ interactions: cache-control: - no-cache content-length: - - '3464' + - '3425' content-type: - application/json date: - - Fri, 09 Apr 2021 05:54:54 GMT + - Fri, 14 May 2021 06:12:38 GMT expires: - '-1' pragma: @@ -5651,82 +2469,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1877","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:54:54 GMT - etag: - - W/"8a2-AtZI2jK27Ef/RRYsMvyv4Xad2g4" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1877","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:54:54 GMT - etag: - - W/"8a2-AtZI2jK27Ef/RRYsMvyv4Xad2g4" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -5743,29 +2485,29 @@ interactions: ParameterSetName: - --resource-group --name --yes --no-wait User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.1.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.2.0 Azure-SDK-For-Python + AZURECLI/2.23.0 accept-language: - en-US method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fd7fd3e8-267f-409c-860f-775f2746c453?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/1853f2b4-6541-46b5-9baf-3c1d0fb57d6d?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Fri, 09 Apr 2021 05:54:55 GMT + - Fri, 14 May 2021 06:12:42 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/fd7fd3e8-267f-409c-860f-775f2746c453?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/1853f2b4-6541-46b5-9baf-3c1d0fb57d6d?api-version=2016-03-30 pragma: - no-cache server: @@ -5775,7 +2517,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14996' + - '14998' status: code: 202 message: Accepted diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_ahub.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_ahub.yaml index 4826cc35d0f..1fd4f48d1d4 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_ahub.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_ahub.yaml @@ -1,80 +1,4 @@ interactions: -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1858","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:55:13 GMT - etag: - - W/"8a2-00kbgiXGUhq4S4nJy6VYz10oqd8" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1858","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:55:13 GMT - etag: - - W/"8a2-00kbgiXGUhq4S4nJy6VYz10oqd8" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -91,16 +15,12 @@ interactions: --windows-admin-username --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin --enable-ahub User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-resource/12.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-resource/16.1.0 Python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"product":"azurecli","cause":"automation","date":"2021-04-09T05:55:12Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"product":"azurecli","cause":"automation","date":"2021-05-14T06:05:04Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -109,7 +29,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 09 Apr 2021 05:55:13 GMT + - Fri, 14 May 2021 06:05:06 GMT expires: - '-1' pragma: @@ -123,93 +43,18 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1858","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:55:13 GMT - etag: - - W/"8a2-00kbgiXGUhq4S4nJy6VYz10oqd8" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1858","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:55:13 GMT - etag: - - W/"8a2-00kbgiXGUhq4S4nJy6VYz10oqd8" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: '{"location": "westus2", "properties": {"kubernetesVersion": "", "dnsPrefix": "cliaksdns000002", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": "Delete", "enableEncryptionAtHost": - false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", - "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F"}]}}, - "windowsProfile": {"adminUsername": "azureuser1", "adminPassword": "replace-Password1234$", - "licenseType": "Windows_Server"}, "addonProfiles": {}, "enableRBAC": true, "enablePodSecurityPolicy": - false, "networkProfile": {"networkPlugin": "azure", "outboundType": "loadBalancer", - "loadBalancerSku": "standard"}}, "identity": {"type": "SystemAssigned"}}' + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\n"}]}}, "windowsProfile": {"adminUsername": "azureuser1", + "adminPassword": "replace-Password1234$", "licenseType": "Windows_Server"}, + "addonProfiles": {}, "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": + {"networkPlugin": "azure", "outboundType": "loadBalancer", "loadBalancerSku": + "standard"}}, "identity": {"type": "SystemAssigned"}}' headers: Accept: - application/json @@ -220,7 +65,7 @@ interactions: Connection: - keep-alive Content-Length: - - '1205' + - '1254' Content-Type: - application/json; charset=utf-8 ParameterSetName: @@ -228,9 +73,9 @@ interactions: --windows-admin-username --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin --enable-ahub User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 accept-language: - en-US method: PUT @@ -241,44 +86,43 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000001\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-5971d82d.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliaksdns000002-5971d82d.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.9\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-6e1ee1ca.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-6e1ee1ca.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Creating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"windowsProfile\": {\n \"adminUsername\": - \"azureuser1\",\n \"licenseType\": \"Windows_Server\",\n \"enableCSIProxy\": - true\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000001_westus2\",\n + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": + {\n \"adminUsername\": \"azureuser1\",\n \"licenseType\": \"Windows_Server\",\n + \ \"enableCSIProxy\": true\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n + \ },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000001_westus2\",\n \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": \"azure\",\n \"loadBalancerSku\": \"standard\",\n \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": 1\n }\n },\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": - \"loadBalancer\"\n },\n \"maxAgentPools\": 10\n },\n \"identity\": {\n - \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \"loadBalancer\"\n },\n \"maxAgentPools\": 100\n },\n \"identity\": + {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0e23f728-dbf4-4045-851c-929334808eb9?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a02884a5-e687-4e56-8f8b-034e45c41bfa?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2732' + - '2693' content-type: - application/json date: - - Fri, 09 Apr 2021 05:55:20 GMT + - Fri, 14 May 2021 06:05:20 GMT expires: - '-1' pragma: @@ -290,86 +134,10 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1199' status: code: 201 message: Created -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1821","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:55:50 GMT - etag: - - W/"8a2-ORJ6rUh4T51d0oJFhj5wLOSvb/U" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1820","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:55:51 GMT - etag: - - W/"8a2-2QT3lHRT1UztaB94m7xWxEQjCFM" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -386,24 +154,24 @@ interactions: --windows-admin-username --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin --enable-ahub User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0e23f728-dbf4-4045-851c-929334808eb9?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a02884a5-e687-4e56-8f8b-034e45c41bfa?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"28f7230e-f4db-4540-851c-929334808eb9\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:55:20.53Z\"\n }" + string: "{\n \"name\": \"a58428a0-87e6-564e-8f8b-034e45c41bfa\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:05:20.5266666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 09 Apr 2021 05:55:50 GMT + - Fri, 14 May 2021 06:05:53 GMT expires: - '-1' pragma: @@ -422,78 +190,53 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1790","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:56:21 GMT - etag: - - W/"8a2-+ho3Nt+cafAQLRwDcpAB/uIENgg" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks create Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --generate-ssh-keys + --windows-admin-username --windows-admin-password --load-balancer-sku --vm-set-type + --network-plugin --enable-ahub User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a02884a5-e687-4e56-8f8b-034e45c41bfa?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1790","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"a58428a0-87e6-564e-8f8b-034e45c41bfa\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:05:20.5266666Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 05:56:21 GMT - etag: - - W/"8a2-+ho3Nt+cafAQLRwDcpAB/uIENgg" - x-powered-by: - - Express + - Fri, 14 May 2021 06:06:23 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -513,24 +256,24 @@ interactions: --windows-admin-username --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin --enable-ahub User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0e23f728-dbf4-4045-851c-929334808eb9?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a02884a5-e687-4e56-8f8b-034e45c41bfa?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"28f7230e-f4db-4540-851c-929334808eb9\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:55:20.53Z\"\n }" + string: "{\n \"name\": \"a58428a0-87e6-564e-8f8b-034e45c41bfa\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:05:20.5266666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 09 Apr 2021 05:56:21 GMT + - Fri, 14 May 2021 06:06:55 GMT expires: - '-1' pragma: @@ -549,78 +292,104 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks create Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --generate-ssh-keys + --windows-admin-username --windows-admin-password --load-balancer-sku --vm-set-type + --network-plugin --enable-ahub User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a02884a5-e687-4e56-8f8b-034e45c41bfa?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1760","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"a58428a0-87e6-564e-8f8b-034e45c41bfa\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:05:20.5266666Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 05:56:51 GMT - etag: - - W/"8a2-GsTDGFOPl8/I8oj5DAqwN5JZJDs" - x-powered-by: - - Express + - Fri, 14 May 2021 06:07:26 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks create Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --generate-ssh-keys + --windows-admin-username --windows-admin-password --load-balancer-sku --vm-set-type + --network-plugin --enable-ahub User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a02884a5-e687-4e56-8f8b-034e45c41bfa?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1760","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"a58428a0-87e6-564e-8f8b-034e45c41bfa\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:05:20.5266666Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 05:56:51 GMT - etag: - - W/"8a2-GsTDGFOPl8/I8oj5DAqwN5JZJDs" - x-powered-by: - - Express + - Fri, 14 May 2021 06:07:57 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -640,24 +409,25 @@ interactions: --windows-admin-username --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin --enable-ahub User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0e23f728-dbf4-4045-851c-929334808eb9?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a02884a5-e687-4e56-8f8b-034e45c41bfa?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"28f7230e-f4db-4540-851c-929334808eb9\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:55:20.53Z\"\n }" + string: "{\n \"name\": \"a58428a0-87e6-564e-8f8b-034e45c41bfa\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-05-14T06:05:20.5266666Z\",\n \"endTime\": + \"2021-05-14T06:08:25.6851374Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '170' content-type: - application/json date: - - Fri, 09 Apr 2021 05:56:51 GMT + - Fri, 14 May 2021 06:08:29 GMT expires: - '-1' pragma: @@ -676,344 +446,14 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1730","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:57:21 GMT - etag: - - W/"8a2-hjAFfpAEBqeDye7nMaF5bflbZAw" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1730","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:57:21 GMT - etag: - - W/"8a2-hjAFfpAEBqeDye7nMaF5bflbZAw" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --location --dns-name-prefix --node-count --generate-ssh-keys - --windows-admin-username --windows-admin-password --load-balancer-sku --vm-set-type - --network-plugin --enable-ahub - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0e23f728-dbf4-4045-851c-929334808eb9?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"28f7230e-f4db-4540-851c-929334808eb9\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:55:20.53Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '121' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 05:57:20 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1700","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:57:51 GMT - etag: - - W/"8a2-mt+3NVZ6Ix3cfpfznFI0syPiGXo" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1700","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:57:51 GMT - etag: - - W/"8a2-mt+3NVZ6Ix3cfpfznFI0syPiGXo" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --location --dns-name-prefix --node-count --generate-ssh-keys - --windows-admin-username --windows-admin-password --load-balancer-sku --vm-set-type - --network-plugin --enable-ahub - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0e23f728-dbf4-4045-851c-929334808eb9?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"28f7230e-f4db-4540-851c-929334808eb9\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:55:20.53Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '121' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 05:57:51 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1670","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:58:21 GMT - etag: - - W/"8a2-V0XSdMNjEzM5W3nYxXn20IpzPao" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1670","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:58:21 GMT - etag: - - W/"8a2-V0XSdMNjEzM5W3nYxXn20IpzPao" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create + CommandName: + - aks create Connection: - keep-alive ParameterSetName: @@ -1021,3550 +461,69 @@ interactions: --windows-admin-username --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin --enable-ahub User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0e23f728-dbf4-4045-851c-929334808eb9?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-03-01 response: body: - string: "{\n \"name\": \"28f7230e-f4db-4540-851c-929334808eb9\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-04-09T05:55:20.53Z\",\n \"endTime\": - \"2021-04-09T05:58:14.4935378Z\"\n }" + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\",\n + \ \"location\": \"westus2\",\n \"name\": \"cliakstest000001\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.9\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-6e1ee1ca.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-6e1ee1ca.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": + \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n + \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": + \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": + {\n \"adminUsername\": \"azureuser1\",\n \"licenseType\": \"Windows_Server\",\n + \ \"enableCSIProxy\": true\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n + \ },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000001_westus2\",\n + \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": + {\n \"networkPlugin\": \"azure\",\n \"loadBalancerSku\": \"Standard\",\n + \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/7e9d3391-8744-4a7b-8cb9-35639429c2da\"\n + \ }\n ]\n },\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": + \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": + \"loadBalancer\"\n },\n \"maxAgentPools\": 100,\n \"identityProfile\": + {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000001-agentpool\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": + {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: cache-control: - no-cache content-length: - - '165' + - '3356' content-type: - application/json date: - - Fri, 09 Apr 2021 05:58:21 GMT + - Fri, 14 May 2021 06:08:31 GMT expires: - '-1' pragma: - no-cache server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1670","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:58:21 GMT - etag: - - W/"8a2-V0XSdMNjEzM5W3nYxXn20IpzPao" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1670","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:58:21 GMT - etag: - - W/"8a2-V0XSdMNjEzM5W3nYxXn20IpzPao" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --location --dns-name-prefix --node-count --generate-ssh-keys - --windows-admin-username --windows-admin-password --load-balancer-sku --vm-set-type - --network-plugin --enable-ahub - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-03-01 - response: - body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\",\n - \ \"location\": \"westus2\",\n \"name\": \"cliakstest000001\",\n \"type\": - \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": - \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-5971d82d.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliaksdns000002-5971d82d.portal.hcp.westus2.azmk8s.io\",\n - \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": - 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": - \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": - \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"windowsProfile\": {\n \"adminUsername\": - \"azureuser1\",\n \"licenseType\": \"Windows_Server\",\n \"enableCSIProxy\": - true\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000001_westus2\",\n - \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": - {\n \"networkPlugin\": \"azure\",\n \"loadBalancerSku\": \"Standard\",\n - \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/fe0512ab-b82d-4ac1-99fd-cd40552b41ee\"\n - \ }\n ]\n },\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": - \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": - \"loadBalancer\"\n },\n \"maxAgentPools\": 10,\n \"identityProfile\": - {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000001-agentpool\",\n - \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n - \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": - {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" - headers: - cache-control: - - no-cache - content-length: - - '3395' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 05:58:22 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1669","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:58:22 GMT - etag: - - W/"8a2-pCleBnMbdoAp2P1fKZ0rO7tYlmw" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1669","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:58:22 GMT - etag: - - W/"8a2-pCleBnMbdoAp2P1fKZ0rO7tYlmw" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks nodepool add - Connection: - - keep-alive - ParameterSetName: - - --resource-group --cluster-name --name --os-type --node-count - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools?api-version=2021-03-01 - response: - body: - string: "{\n \"value\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/nodepool1\",\n - \ \"name\": \"nodepool1\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\",\n - \ \"properties\": {\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n - \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": - \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.18.14\",\n \"enableNodePublicIP\": - false,\n \"nodeLabels\": {},\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": - false,\n \"osType\": \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n - \ \"enableFIPS\": false\n }\n }\n ]\n }" - headers: - cache-control: - - no-cache - content-length: - - '893' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 05:58:23 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1668","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:58:23 GMT - etag: - - W/"8a2-ectQzo32Ew6gKHtEecIcSC2pPX0" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1668","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:58:23 GMT - etag: - - W/"8a2-ectQzo32Ew6gKHtEecIcSC2pPX0" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: '{"properties": {"count": 1, "vmSize": "Standard_D2s_v3", "osType": "Windows", - "type": "VirtualMachineScaleSets", "mode": "User", "upgradeSettings": {}, "enableNodePublicIP": - false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": "Delete", "nodeTaints": - [], "enableEncryptionAtHost": false}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks nodepool add - Connection: - - keep-alive - Content-Length: - - '299' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - --resource-group --cluster-name --name --os-type --node-count - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin?api-version=2021-03-01 - response: - body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin\",\n - \ \"name\": \"npwin\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\",\n - \ \"properties\": {\n \"count\": 1,\n \"vmSize\": \"Standard_D2s_v3\",\n - \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": - \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.18.14\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Windows\",\n \"nodeImageVersion\": \"AKSWindows-2019-17763.1817.210310\",\n - \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n }" - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/13f6e9d2-fcd5-4e53-afca-3e1fdfacce02?api-version=2016-03-30 - cache-control: - - no-cache - content-length: - - '818' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 05:58:26 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - 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: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1635","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:58:56 GMT - etag: - - W/"8a2-yTYS2BKjBlWLBgVuEimAOoWvWQA" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1635","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:58:56 GMT - etag: - - W/"8a2-yTYS2BKjBlWLBgVuEimAOoWvWQA" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks nodepool add - Connection: - - keep-alive - ParameterSetName: - - --resource-group --cluster-name --name --os-type --node-count - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/13f6e9d2-fcd5-4e53-afca-3e1fdfacce02?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"d2e9f613-d5fc-534e-afca-3e1fdfacce02\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:58:26.0066666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 05:58:55 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1605","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:59:26 GMT - etag: - - W/"8a2-dtWxQbfuv4nXj+zI4QxMX9lLUvA" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1605","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:59:26 GMT - etag: - - W/"8a2-dtWxQbfuv4nXj+zI4QxMX9lLUvA" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks nodepool add - Connection: - - keep-alive - ParameterSetName: - - --resource-group --cluster-name --name --os-type --node-count - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/13f6e9d2-fcd5-4e53-afca-3e1fdfacce02?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"d2e9f613-d5fc-534e-afca-3e1fdfacce02\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:58:26.0066666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 05:59:26 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1575","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:59:56 GMT - etag: - - W/"8a2-zuZnxLZYxABqqoCW6MUEICvdCYU" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1575","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:59:56 GMT - etag: - - W/"8a2-zuZnxLZYxABqqoCW6MUEICvdCYU" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks nodepool add - Connection: - - keep-alive - ParameterSetName: - - --resource-group --cluster-name --name --os-type --node-count - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/13f6e9d2-fcd5-4e53-afca-3e1fdfacce02?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"d2e9f613-d5fc-534e-afca-3e1fdfacce02\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:58:26.0066666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 05:59:56 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1545","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:00:26 GMT - etag: - - W/"8a2-pKdvfM3lk5nYBDlWZqm71yiKdak" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1545","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:00:26 GMT - etag: - - W/"8a2-pKdvfM3lk5nYBDlWZqm71yiKdak" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks nodepool add - Connection: - - keep-alive - ParameterSetName: - - --resource-group --cluster-name --name --os-type --node-count - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/13f6e9d2-fcd5-4e53-afca-3e1fdfacce02?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"d2e9f613-d5fc-534e-afca-3e1fdfacce02\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:58:26.0066666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:00:26 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1515","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:00:56 GMT - etag: - - W/"8a2-BTOsjgnmJVjdoIRzeaCIE+y7iDo" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1515","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:00:56 GMT - etag: - - W/"8a2-BTOsjgnmJVjdoIRzeaCIE+y7iDo" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks nodepool add - Connection: - - keep-alive - ParameterSetName: - - --resource-group --cluster-name --name --os-type --node-count - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/13f6e9d2-fcd5-4e53-afca-3e1fdfacce02?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"d2e9f613-d5fc-534e-afca-3e1fdfacce02\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:58:26.0066666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:00:56 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1484","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:01:27 GMT - etag: - - W/"8a2-NHe3y5MIk3jXqu4B8NYM4AXQ7bc" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1484","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:01:27 GMT - etag: - - W/"8a2-NHe3y5MIk3jXqu4B8NYM4AXQ7bc" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks nodepool add - Connection: - - keep-alive - ParameterSetName: - - --resource-group --cluster-name --name --os-type --node-count - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/13f6e9d2-fcd5-4e53-afca-3e1fdfacce02?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"d2e9f613-d5fc-534e-afca-3e1fdfacce02\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:58:26.0066666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:01:26 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1454","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:01:57 GMT - etag: - - W/"8a2-6Cq84zzOTc3LkLZZhwmMtqqntMI" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1454","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:01:57 GMT - etag: - - W/"8a2-6Cq84zzOTc3LkLZZhwmMtqqntMI" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks nodepool add - Connection: - - keep-alive - ParameterSetName: - - --resource-group --cluster-name --name --os-type --node-count - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/13f6e9d2-fcd5-4e53-afca-3e1fdfacce02?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"d2e9f613-d5fc-534e-afca-3e1fdfacce02\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:58:26.0066666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:01:57 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1424","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:02:27 GMT - etag: - - W/"8a2-3iT+367ZsCez1U1raUSx2wjxJVE" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1424","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:02:27 GMT - etag: - - W/"8a2-3iT+367ZsCez1U1raUSx2wjxJVE" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks nodepool add - Connection: - - keep-alive - ParameterSetName: - - --resource-group --cluster-name --name --os-type --node-count - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/13f6e9d2-fcd5-4e53-afca-3e1fdfacce02?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"d2e9f613-d5fc-534e-afca-3e1fdfacce02\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:58:26.0066666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:02:27 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1394","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:02:57 GMT - etag: - - W/"8a2-bdkl+MGFIhNqwIB8uj9HrQn4dJQ" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1394","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:02:57 GMT - etag: - - W/"8a2-bdkl+MGFIhNqwIB8uj9HrQn4dJQ" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks nodepool add - Connection: - - keep-alive - ParameterSetName: - - --resource-group --cluster-name --name --os-type --node-count - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/13f6e9d2-fcd5-4e53-afca-3e1fdfacce02?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"d2e9f613-d5fc-534e-afca-3e1fdfacce02\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:58:26.0066666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:02:56 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1364","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:03:27 GMT - etag: - - W/"8a2-zDhDearv+sp9w2Fqhy2ufTISNJU" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1364","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:03:27 GMT - etag: - - W/"8a2-zDhDearv+sp9w2Fqhy2ufTISNJU" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks nodepool add - Connection: - - keep-alive - ParameterSetName: - - --resource-group --cluster-name --name --os-type --node-count - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/13f6e9d2-fcd5-4e53-afca-3e1fdfacce02?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"d2e9f613-d5fc-534e-afca-3e1fdfacce02\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:58:26.0066666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:03:27 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1334","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:03:57 GMT - etag: - - W/"8a2-QYvLkJLng85hvO4NYByKjvQiMj4" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1334","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:03:57 GMT - etag: - - W/"8a2-QYvLkJLng85hvO4NYByKjvQiMj4" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks nodepool add - Connection: - - keep-alive - ParameterSetName: - - --resource-group --cluster-name --name --os-type --node-count - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/13f6e9d2-fcd5-4e53-afca-3e1fdfacce02?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"d2e9f613-d5fc-534e-afca-3e1fdfacce02\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:58:26.0066666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:03:57 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1304","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:04:27 GMT - etag: - - W/"8a2-s6ZJtb81hltNGOAyJRWkaQmMd8M" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1304","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:04:27 GMT - etag: - - W/"8a2-s6ZJtb81hltNGOAyJRWkaQmMd8M" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks nodepool add - Connection: - - keep-alive - ParameterSetName: - - --resource-group --cluster-name --name --os-type --node-count - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/13f6e9d2-fcd5-4e53-afca-3e1fdfacce02?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"d2e9f613-d5fc-534e-afca-3e1fdfacce02\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-04-09T05:58:26.0066666Z\",\n \"endTime\": - \"2021-04-09T06:04:17.4240949Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '170' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:04:27 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1304","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:04:27 GMT - etag: - - W/"8a2-s6ZJtb81hltNGOAyJRWkaQmMd8M" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1304","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:04:27 GMT - etag: - - W/"8a2-s6ZJtb81hltNGOAyJRWkaQmMd8M" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks nodepool add - Connection: - - keep-alive - ParameterSetName: - - --resource-group --cluster-name --name --os-type --node-count - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin?api-version=2021-03-01 - response: - body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin\",\n - \ \"name\": \"npwin\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\",\n - \ \"properties\": {\n \"count\": 1,\n \"vmSize\": \"Standard_D2s_v3\",\n - \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": - \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.18.14\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Windows\",\n \"nodeImageVersion\": \"AKSWindows-2019-17763.1817.210310\",\n - \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n }" - headers: - cache-control: - - no-cache - content-length: - - '819' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:04:28 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1303","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:04:28 GMT - etag: - - W/"8a2-6zmzXsKortCtvxdF8jwqBAnBFQA" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1303","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:04:28 GMT - etag: - - W/"8a2-6zmzXsKortCtvxdF8jwqBAnBFQA" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --disable-ahub - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-03-01 - response: - body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\",\n - \ \"location\": \"westus2\",\n \"name\": \"cliakstest000001\",\n \"type\": - \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": - \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-5971d82d.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliaksdns000002-5971d82d.portal.hcp.westus2.azmk8s.io\",\n - \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": - 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": - \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": - \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n - \ \"enableFIPS\": false\n },\n {\n \"name\": \"npwin\",\n \"count\": - 1,\n \"vmSize\": \"Standard_D2s_v3\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": - \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": - \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n - \ \"enableEncryptionAtHost\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": - \"AKSWindows-2019-17763.1817.210310\",\n \"upgradeSettings\": {},\n \"enableFIPS\": - false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n - \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"windowsProfile\": {\n \"adminUsername\": - \"azureuser1\",\n \"licenseType\": \"Windows_Server\",\n \"enableCSIProxy\": - true\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000001_westus2\",\n - \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": - {\n \"networkPlugin\": \"azure\",\n \"loadBalancerSku\": \"Standard\",\n - \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/fe0512ab-b82d-4ac1-99fd-cd40552b41ee\"\n - \ }\n ]\n },\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": - \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": - \"loadBalancer\"\n },\n \"maxAgentPools\": 10,\n \"identityProfile\": - {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000001-agentpool\",\n - \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n - \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": - {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" - headers: - cache-control: - - no-cache - content-length: - - '3992' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:04:29 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1302","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:04:29 GMT - etag: - - W/"8a2-tYc6kUdNa6+cQ6TbMpOTsk5UuRY" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1302","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:04:29 GMT - etag: - - W/"8a2-tYc6kUdNa6+cQ6TbMpOTsk5UuRY" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.18.14", - "dnsPrefix": "cliaksdns000002", "agentPoolProfiles": [{"count": 1, "vmSize": - "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": - "OS", "maxPods": 30, "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "orchestratorVersion": "1.18.14", "enableNodePublicIP": false, "nodeLabels": - {}, "enableEncryptionAtHost": false, "enableFIPS": false, "name": "nodepool1"}, - {"count": 1, "vmSize": "Standard_D2s_v3", "osDiskSizeGB": 128, "osDiskType": - "Managed", "kubeletDiskType": "OS", "maxPods": 30, "osType": "Windows", "type": - "VirtualMachineScaleSets", "mode": "User", "orchestratorVersion": "1.18.14", - "upgradeSettings": {}, "enableNodePublicIP": false, "enableEncryptionAtHost": - false, "enableFIPS": false, "name": "npwin"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F"}]}}, - "windowsProfile": {"adminUsername": "azureuser1", "licenseType": "None", "enableCSIProxy": - true}, "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, - "addonProfiles": {"KubeDashboard": {"enabled": false}}, "nodeResourceGroup": - "MC_clitest000001_cliakstest000001_westus2", "enableRBAC": true, "enablePodSecurityPolicy": - false, "networkProfile": {"networkPlugin": "azure", "serviceCidr": "10.0.0.0/16", - "dnsServiceIP": "10.0.0.10", "dockerBridgeCidr": "172.17.0.1/16", "outboundType": - "loadBalancer", "loadBalancerSku": "Standard", "loadBalancerProfile": {"managedOutboundIPs": - {"count": 1}, "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/fe0512ab-b82d-4ac1-99fd-cd40552b41ee"}]}}, - "autoUpgradeProfile": {}, "identityProfile": {"kubeletidentity": {"resourceId": - "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000001-agentpool", - "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}}, - "identity": {"type": "SystemAssigned"}, "sku": {"name": "Basic", "tier": "Free"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - Content-Length: - - '2607' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - --resource-group --name --disable-ahub - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-03-01 - response: - body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\",\n - \ \"location\": \"westus2\",\n \"name\": \"cliakstest000001\",\n \"type\": - \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": - \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-5971d82d.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliaksdns000002-5971d82d.portal.hcp.westus2.azmk8s.io\",\n - \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": - 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": - \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": - \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n - \ \"enableFIPS\": false\n },\n {\n \"name\": \"npwin\",\n \"count\": - 1,\n \"vmSize\": \"Standard_D2s_v3\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": - \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": - \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n - \ \"enableEncryptionAtHost\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": - \"AKSWindows-2019-17763.1817.210310\",\n \"upgradeSettings\": {},\n \"enableFIPS\": - false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n - \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"windowsProfile\": {\n \"adminUsername\": - \"azureuser1\",\n \"licenseType\": \"None\",\n \"enableCSIProxy\": true\n - \ },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000001_westus2\",\n - \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": - {\n \"networkPlugin\": \"azure\",\n \"loadBalancerSku\": \"Standard\",\n - \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/fe0512ab-b82d-4ac1-99fd-cd40552b41ee\"\n - \ }\n ]\n },\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": - \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": - \"loadBalancer\"\n },\n \"maxAgentPools\": 10,\n \"identityProfile\": - {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000001-agentpool\",\n - \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n - \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": - {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/49287f8b-1b13-4c43-9ba1-1bafb51975bc?api-version=2016-03-30 - cache-control: - - no-cache - content-length: - - '3979' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:04:32 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1195' - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1269","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:05:02 GMT - etag: - - W/"8a2-ioYv8N4EPVagB2lcJMDRvfr3Dp4" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1269","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:05:02 GMT - etag: - - W/"8a2-ioYv8N4EPVagB2lcJMDRvfr3Dp4" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --disable-ahub - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/49287f8b-1b13-4c43-9ba1-1bafb51975bc?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"8b7f2849-131b-434c-9ba1-1bafb51975bc\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:04:32.1933333Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:05:02 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1239","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:05:32 GMT - etag: - - W/"8a2-mXdyJD3NUjqKEnVOyGH2qqEdng4" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1239","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:05:32 GMT - etag: - - W/"8a2-mXdyJD3NUjqKEnVOyGH2qqEdng4" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --disable-ahub - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/49287f8b-1b13-4c43-9ba1-1bafb51975bc?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"8b7f2849-131b-434c-9ba1-1bafb51975bc\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:04:32.1933333Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:05:33 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1208","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:06:03 GMT - etag: - - W/"8a2-rRvvdcae35GtrX5yeegv8bylvz8" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1208","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:06:03 GMT - etag: - - W/"8a2-rRvvdcae35GtrX5yeegv8bylvz8" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --disable-ahub - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/49287f8b-1b13-4c43-9ba1-1bafb51975bc?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"8b7f2849-131b-434c-9ba1-1bafb51975bc\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:04:32.1933333Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:06:02 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1178","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:06:33 GMT - etag: - - W/"8a2-hyq37V4GaQLd4M5XteQ0OzVRAzs" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1178","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:06:33 GMT - etag: - - W/"8a2-hyq37V4GaQLd4M5XteQ0OzVRAzs" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --disable-ahub - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/49287f8b-1b13-4c43-9ba1-1bafb51975bc?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"8b7f2849-131b-434c-9ba1-1bafb51975bc\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:04:32.1933333Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:06:32 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1148","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:07:03 GMT - etag: - - W/"8a2-4Tvst0YvcnpL00CZg621pBc3wxI" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1148","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:07:03 GMT - etag: - - W/"8a2-4Tvst0YvcnpL00CZg621pBc3wxI" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --disable-ahub - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/49287f8b-1b13-4c43-9ba1-1bafb51975bc?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"8b7f2849-131b-434c-9ba1-1bafb51975bc\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:04:32.1933333Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:07:02 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1118","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:07:33 GMT - etag: - - W/"8a2-obKsMU1ZdyMXIhGZpvXqnOSImM0" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1118","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:07:33 GMT - etag: - - W/"8a2-obKsMU1ZdyMXIhGZpvXqnOSImM0" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --disable-ahub - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/49287f8b-1b13-4c43-9ba1-1bafb51975bc?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"8b7f2849-131b-434c-9ba1-1bafb51975bc\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:04:32.1933333Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:07:32 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1088","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:08:03 GMT - etag: - - W/"8a2-JtqOdqQ7r+3gFS5T6lLrgIw4wm0" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1088","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:08:03 GMT - etag: - - W/"8a2-JtqOdqQ7r+3gFS5T6lLrgIw4wm0" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --disable-ahub - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/49287f8b-1b13-4c43-9ba1-1bafb51975bc?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"8b7f2849-131b-434c-9ba1-1bafb51975bc\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:04:32.1933333Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:08:03 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1058","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:08:33 GMT - etag: - - W/"8a2-OOLB7V6VK6M674MIHmwxsjowBaA" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1058","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:08:33 GMT - etag: - - W/"8a2-OOLB7V6VK6M674MIHmwxsjowBaA" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --disable-ahub - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/49287f8b-1b13-4c43-9ba1-1bafb51975bc?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"8b7f2849-131b-434c-9ba1-1bafb51975bc\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:04:32.1933333Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:08:34 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1027","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:09:04 GMT - etag: - - W/"8a2-zS+RgycoIURF5vvYXcqC5hBU7bI" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"1027","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:09:04 GMT - etag: - - W/"8a2-zS+RgycoIURF5vvYXcqC5hBU7bI" - x-powered-by: - - Express + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -4576,30 +535,41 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks update + - aks nodepool add Connection: - keep-alive ParameterSetName: - - --resource-group --name --disable-ahub + - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + accept-language: + - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/49287f8b-1b13-4c43-9ba1-1bafb51975bc?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools?api-version=2021-03-01 response: body: - string: "{\n \"name\": \"8b7f2849-131b-434c-9ba1-1bafb51975bc\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:04:32.1933333Z\"\n }" + string: "{\n \"value\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/nodepool1\",\n + \ \"name\": \"nodepool1\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\",\n + \ \"properties\": {\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n + \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": + \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.19.9\",\n \"enableNodePublicIP\": + false,\n \"nodeLabels\": {},\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \"enableFIPS\": false\n + \ }\n }\n ]\n }" headers: cache-control: - no-cache content-length: - - '126' + - '926' content-type: - application/json date: - - Fri, 09 Apr 2021 06:09:03 GMT + - Fri, 14 May 2021 06:08:32 GMT expires: - '-1' pragma: @@ -4618,81 +588,71 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: '{"properties": {"count": 1, "vmSize": "Standard_D2s_v3", "osType": "Windows", + "type": "VirtualMachineScaleSets", "mode": "User", "upgradeSettings": {}, "enableNodePublicIP": + false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": "Delete", "nodeTaints": + [], "enableEncryptionAtHost": false, "enableFIPS": false}}' headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks nodepool add Connection: - keep-alive Content-Length: - - '53' + - '320' Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"997","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:09:34 GMT - etag: - - W/"8a1-3N6UzRx4fhIGcqt2c70nVEKx77g" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin?api-version=2021-03-01 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"997","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin\",\n + \ \"name\": \"npwin\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\",\n + \ \"properties\": {\n \"count\": 1,\n \"vmSize\": \"Standard_D2s_v3\",\n + \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": + \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.19.9\",\n \"enableNodePublicIP\": + false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"osType\": + \"Windows\",\n \"nodeImageVersion\": \"AKSWindows-2019-17763.1911.210423\",\n + \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n }" headers: - connection: - - keep-alive + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/589776e0-f818-4a5d-8b7e-9d11476f5580?api-version=2016-03-30 + cache-control: + - no-cache content-length: - - '2209' + - '817' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:09:34 GMT - etag: - - W/"8a1-3N6UzRx4fhIGcqt2c70nVEKx77g" - x-powered-by: - - Express + - Fri, 14 May 2021 06:08:36 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' status: - code: 200 - message: OK + code: 201 + message: Created - request: body: null headers: @@ -4701,30 +661,30 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks update + - aks nodepool add Connection: - keep-alive ParameterSetName: - - --resource-group --name --disable-ahub + - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/49287f8b-1b13-4c43-9ba1-1bafb51975bc?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/589776e0-f818-4a5d-8b7e-9d11476f5580?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8b7f2849-131b-434c-9ba1-1bafb51975bc\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:04:32.1933333Z\"\n }" + string: "{\n \"name\": \"e0769758-18f8-5d4a-8b7e-9d11476f5580\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:08:36.79Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Fri, 09 Apr 2021 06:09:34 GMT + - Fri, 14 May 2021 06:09:08 GMT expires: - '-1' pragma: @@ -4743,78 +703,51 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"967","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:10:04 GMT - etag: - - W/"8a1-nOarPpeBxzeLzIr7YwBFyxyXscw" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks nodepool add Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/589776e0-f818-4a5d-8b7e-9d11476f5580?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"967","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"e0769758-18f8-5d4a-8b7e-9d11476f5580\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:08:36.79Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2209' + - '121' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:10:04 GMT - etag: - - W/"8a1-nOarPpeBxzeLzIr7YwBFyxyXscw" - x-powered-by: - - Express + - Fri, 14 May 2021 06:09:38 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -4826,30 +759,30 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks update + - aks nodepool add Connection: - keep-alive ParameterSetName: - - --resource-group --name --disable-ahub + - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/49287f8b-1b13-4c43-9ba1-1bafb51975bc?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/589776e0-f818-4a5d-8b7e-9d11476f5580?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8b7f2849-131b-434c-9ba1-1bafb51975bc\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:04:32.1933333Z\"\n }" + string: "{\n \"name\": \"e0769758-18f8-5d4a-8b7e-9d11476f5580\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:08:36.79Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Fri, 09 Apr 2021 06:10:04 GMT + - Fri, 14 May 2021 06:10:10 GMT expires: - '-1' pragma: @@ -4868,78 +801,100 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks nodepool add Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/589776e0-f818-4a5d-8b7e-9d11476f5580?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"937","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"e0769758-18f8-5d4a-8b7e-9d11476f5580\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:08:36.79Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2209' + - '121' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:10:34 GMT - etag: - - W/"8a1-TAVKoe6hNIXqcgAxYBmVwoBdGVs" - x-powered-by: - - Express + - Fri, 14 May 2021 06:10:41 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks nodepool add Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/589776e0-f818-4a5d-8b7e-9d11476f5580?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"937","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"e0769758-18f8-5d4a-8b7e-9d11476f5580\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:08:36.79Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2209' + - '121' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:10:34 GMT - etag: - - W/"8a1-TAVKoe6hNIXqcgAxYBmVwoBdGVs" - x-powered-by: - - Express + - Fri, 14 May 2021 06:11:13 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -4951,30 +906,30 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks update + - aks nodepool add Connection: - keep-alive ParameterSetName: - - --resource-group --name --disable-ahub + - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/49287f8b-1b13-4c43-9ba1-1bafb51975bc?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/589776e0-f818-4a5d-8b7e-9d11476f5580?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8b7f2849-131b-434c-9ba1-1bafb51975bc\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:04:32.1933333Z\"\n }" + string: "{\n \"name\": \"e0769758-18f8-5d4a-8b7e-9d11476f5580\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:08:36.79Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Fri, 09 Apr 2021 06:10:34 GMT + - Fri, 14 May 2021 06:11:45 GMT expires: - '-1' pragma: @@ -4993,78 +948,100 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks nodepool add Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/589776e0-f818-4a5d-8b7e-9d11476f5580?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"907","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"e0769758-18f8-5d4a-8b7e-9d11476f5580\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:08:36.79Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2209' + - '121' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:11:04 GMT - etag: - - W/"8a1-Jqnsl0o+UqZ60rm9V2sdAUnXVBg" - x-powered-by: - - Express + - Fri, 14 May 2021 06:12:16 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks nodepool add Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/589776e0-f818-4a5d-8b7e-9d11476f5580?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"907","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"e0769758-18f8-5d4a-8b7e-9d11476f5580\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:08:36.79Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2209' + - '121' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:11:04 GMT - etag: - - W/"8a1-Jqnsl0o+UqZ60rm9V2sdAUnXVBg" - x-powered-by: - - Express + - Fri, 14 May 2021 06:12:48 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -5076,30 +1053,30 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks update + - aks nodepool add Connection: - keep-alive ParameterSetName: - - --resource-group --name --disable-ahub + - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/49287f8b-1b13-4c43-9ba1-1bafb51975bc?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/589776e0-f818-4a5d-8b7e-9d11476f5580?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8b7f2849-131b-434c-9ba1-1bafb51975bc\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:04:32.1933333Z\"\n }" + string: "{\n \"name\": \"e0769758-18f8-5d4a-8b7e-9d11476f5580\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:08:36.79Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Fri, 09 Apr 2021 06:11:04 GMT + - Fri, 14 May 2021 06:13:19 GMT expires: - '-1' pragma: @@ -5118,78 +1095,100 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks nodepool add Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/589776e0-f818-4a5d-8b7e-9d11476f5580?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"877","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"e0769758-18f8-5d4a-8b7e-9d11476f5580\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:08:36.79Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2209' + - '121' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:11:34 GMT - etag: - - W/"8a1-WnrDTT/kgwUwcvdDpPjfoD41j3c" - x-powered-by: - - Express + - Fri, 14 May 2021 06:13:51 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks nodepool add Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/589776e0-f818-4a5d-8b7e-9d11476f5580?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"877","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"e0769758-18f8-5d4a-8b7e-9d11476f5580\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:08:36.79Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2209' + - '121' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:11:34 GMT - etag: - - W/"8a1-WnrDTT/kgwUwcvdDpPjfoD41j3c" - x-powered-by: - - Express + - Fri, 14 May 2021 06:14:22 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -5201,30 +1200,30 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks update + - aks nodepool add Connection: - keep-alive ParameterSetName: - - --resource-group --name --disable-ahub + - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/49287f8b-1b13-4c43-9ba1-1bafb51975bc?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/589776e0-f818-4a5d-8b7e-9d11476f5580?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8b7f2849-131b-434c-9ba1-1bafb51975bc\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:04:32.1933333Z\"\n }" + string: "{\n \"name\": \"e0769758-18f8-5d4a-8b7e-9d11476f5580\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:08:36.79Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Fri, 09 Apr 2021 06:11:34 GMT + - Fri, 14 May 2021 06:14:54 GMT expires: - '-1' pragma: @@ -5243,78 +1242,101 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks nodepool add Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/589776e0-f818-4a5d-8b7e-9d11476f5580?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"847","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"e0769758-18f8-5d4a-8b7e-9d11476f5580\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:08:36.79Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2209' + - '121' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:12:04 GMT - etag: - - W/"8a1-gu7tdGm09zWnIiLS3BiG50k88QQ" - x-powered-by: - - Express + - Fri, 14 May 2021 06:15:25 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks nodepool add Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/589776e0-f818-4a5d-8b7e-9d11476f5580?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"847","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"e0769758-18f8-5d4a-8b7e-9d11476f5580\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-05-14T06:08:36.79Z\",\n \"endTime\": + \"2021-05-14T06:15:35.125377Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2209' + - '164' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:12:04 GMT - etag: - - W/"8a1-gu7tdGm09zWnIiLS3BiG50k88QQ" - x-powered-by: - - Express + - Fri, 14 May 2021 06:15:57 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -5326,30 +1348,38 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks update + - aks nodepool add Connection: - keep-alive ParameterSetName: - - --resource-group --name --disable-ahub + - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/49287f8b-1b13-4c43-9ba1-1bafb51975bc?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin?api-version=2021-03-01 response: body: - string: "{\n \"name\": \"8b7f2849-131b-434c-9ba1-1bafb51975bc\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:04:32.1933333Z\"\n }" + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin\",\n + \ \"name\": \"npwin\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\",\n + \ \"properties\": {\n \"count\": 1,\n \"vmSize\": \"Standard_D2s_v3\",\n + \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": + \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.19.9\",\n \"enableNodePublicIP\": + false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"osType\": + \"Windows\",\n \"nodeImageVersion\": \"AKSWindows-2019-17763.1911.210423\",\n + \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n }" headers: cache-control: - no-cache content-length: - - '126' + - '818' content-type: - application/json date: - - Fri, 09 Apr 2021 06:12:04 GMT + - Fri, 14 May 2021 06:15:58 GMT expires: - '-1' pragma: @@ -5368,78 +1398,213 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks update Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --disable-ahub User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-03-01 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"816","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\",\n + \ \"location\": \"westus2\",\n \"name\": \"cliakstest000001\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.9\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-6e1ee1ca.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-6e1ee1ca.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": + \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n + \ \"enableFIPS\": false\n },\n {\n \"name\": \"npwin\",\n \"count\": + 1,\n \"vmSize\": \"Standard_D2s_v3\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": + \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n + \ \"enableEncryptionAtHost\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": + \"AKSWindows-2019-17763.1911.210423\",\n \"upgradeSettings\": {},\n \"enableFIPS\": + false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": + {\n \"adminUsername\": \"azureuser1\",\n \"licenseType\": \"Windows_Server\",\n + \ \"enableCSIProxy\": true\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n + \ },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000001_westus2\",\n + \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": + {\n \"networkPlugin\": \"azure\",\n \"loadBalancerSku\": \"Standard\",\n + \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/7e9d3391-8744-4a7b-8cb9-35639429c2da\"\n + \ }\n ]\n },\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": + \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": + \"loadBalancer\"\n },\n \"maxAgentPools\": 100,\n \"identityProfile\": + {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000001-agentpool\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": + {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2209' + - '3952' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:12:35 GMT - etag: - - W/"8a1-dCBmxhKfW1xm/p0ix/sOUhPXmDI" - x-powered-by: - - Express + - Fri, 14 May 2021 06:16:01 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.9", "dnsPrefix": + "cliaksdns000002", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", + "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "maxPods": + 30, "osType": "Linux", "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.19.9", "enableNodePublicIP": false, + "nodeLabels": {}, "enableEncryptionAtHost": false, "enableFIPS": false, "name": + "nodepool1"}, {"count": 1, "vmSize": "Standard_D2s_v3", "osDiskSizeGB": 128, + "osDiskType": "Managed", "kubeletDiskType": "OS", "maxPods": 30, "osType": "Windows", + "type": "VirtualMachineScaleSets", "mode": "User", "orchestratorVersion": "1.19.9", + "upgradeSettings": {}, "enableNodePublicIP": false, "enableEncryptionAtHost": + false, "enableFIPS": false, "name": "npwin"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\n"}]}}, "windowsProfile": {"adminUsername": "azureuser1", + "licenseType": "None", "enableCSIProxy": true}, "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, + "nodeResourceGroup": "MC_clitest000001_cliakstest000001_westus2", "enableRBAC": + true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": + "azure", "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", "dockerBridgeCidr": + "172.17.0.1/16", "outboundType": "loadBalancer", "loadBalancerSku": "Standard", + "loadBalancerProfile": {"managedOutboundIPs": {"count": 1}, "effectiveOutboundIPs": + [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/7e9d3391-8744-4a7b-8cb9-35639429c2da"}]}}, + "autoUpgradeProfile": {}, "identityProfile": {"kubeletidentity": {"resourceId": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000001-agentpool", + "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}}, + "identity": {"type": "SystemAssigned"}, "sku": {"name": "Basic", "tier": "Free"}}' headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks update Connection: - keep-alive Content-Length: - - '53' + - '2595' Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + - application/json; charset=utf-8 + ParameterSetName: + - --resource-group --name --disable-ahub User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-03-01 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"816","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\",\n + \ \"location\": \"westus2\",\n \"name\": \"cliakstest000001\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.9\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-6e1ee1ca.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-6e1ee1ca.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": + \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n + \ \"enableFIPS\": false\n },\n {\n \"name\": \"npwin\",\n \"count\": + 1,\n \"vmSize\": \"Standard_D2s_v3\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": + \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n + \ \"enableEncryptionAtHost\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": + \"AKSWindows-2019-17763.1911.210423\",\n \"upgradeSettings\": {},\n \"enableFIPS\": + false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": + {\n \"adminUsername\": \"azureuser1\",\n \"licenseType\": \"None\",\n + \ \"enableCSIProxy\": true\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n + \ },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000001_westus2\",\n + \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": + {\n \"networkPlugin\": \"azure\",\n \"loadBalancerSku\": \"Standard\",\n + \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/7e9d3391-8744-4a7b-8cb9-35639429c2da\"\n + \ }\n ]\n },\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": + \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": + \"loadBalancer\"\n },\n \"maxAgentPools\": 100,\n \"identityProfile\": + {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000001-agentpool\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": + {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: - connection: - - keep-alive + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 + cache-control: + - no-cache content-length: - - '2209' + - '3939' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:12:35 GMT - etag: - - W/"8a1-dCBmxhKfW1xm/p0ix/sOUhPXmDI" - x-powered-by: - - Express + - Fri, 14 May 2021 06:16:08 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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 @@ -5457,15 +1622,15 @@ interactions: ParameterSetName: - --resource-group --name --disable-ahub User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/49287f8b-1b13-4c43-9ba1-1bafb51975bc?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8b7f2849-131b-434c-9ba1-1bafb51975bc\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:04:32.1933333Z\"\n }" + string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" headers: cache-control: - no-cache @@ -5474,7 +1639,7 @@ interactions: content-type: - application/json date: - - Fri, 09 Apr 2021 06:12:34 GMT + - Fri, 14 May 2021 06:16:39 GMT expires: - '-1' pragma: @@ -5493,78 +1658,100 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks update Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --disable-ahub User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"786","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2209' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:13:05 GMT - etag: - - W/"8a1-08jTFM8xjJ5F9a20oP+cz1Z4xP0" - x-powered-by: - - Express + - Fri, 14 May 2021 06:17:11 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks update Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --disable-ahub User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"786","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2209' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:13:05 GMT - etag: - - W/"8a1-08jTFM8xjJ5F9a20oP+cz1Z4xP0" - x-powered-by: - - Express + - Fri, 14 May 2021 06:17:42 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -5582,15 +1769,15 @@ interactions: ParameterSetName: - --resource-group --name --disable-ahub User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/49287f8b-1b13-4c43-9ba1-1bafb51975bc?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8b7f2849-131b-434c-9ba1-1bafb51975bc\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:04:32.1933333Z\"\n }" + string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" headers: cache-control: - no-cache @@ -5599,7 +1786,7 @@ interactions: content-type: - application/json date: - - Fri, 09 Apr 2021 06:13:04 GMT + - Fri, 14 May 2021 06:18:14 GMT expires: - '-1' pragma: @@ -5618,78 +1805,100 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks update Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --disable-ahub User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"756","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2209' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:13:35 GMT - etag: - - W/"8a1-KhX8KPlgqZRqvnuRD1l0fME0LsI" - x-powered-by: - - Express + - Fri, 14 May 2021 06:18:45 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks update Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --disable-ahub User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"756","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2209' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:13:35 GMT - etag: - - W/"8a1-KhX8KPlgqZRqvnuRD1l0fME0LsI" - x-powered-by: - - Express + - Fri, 14 May 2021 06:19:16 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -5707,15 +1916,15 @@ interactions: ParameterSetName: - --resource-group --name --disable-ahub User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/49287f8b-1b13-4c43-9ba1-1bafb51975bc?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8b7f2849-131b-434c-9ba1-1bafb51975bc\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:04:32.1933333Z\"\n }" + string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" headers: cache-control: - no-cache @@ -5724,7 +1933,7 @@ interactions: content-type: - application/json date: - - Fri, 09 Apr 2021 06:13:35 GMT + - Fri, 14 May 2021 06:19:49 GMT expires: - '-1' pragma: @@ -5743,78 +1952,100 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks update Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --disable-ahub User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"726","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2209' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:14:05 GMT - etag: - - W/"8a1-RVzZmkudIBIxJWsW0rBlwtEplvs" - x-powered-by: - - Express + - Fri, 14 May 2021 06:20:20 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks update Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --disable-ahub User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"726","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2209' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:14:05 GMT - etag: - - W/"8a1-RVzZmkudIBIxJWsW0rBlwtEplvs" - x-powered-by: - - Express + - Fri, 14 May 2021 06:20:52 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -5832,15 +2063,15 @@ interactions: ParameterSetName: - --resource-group --name --disable-ahub User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/49287f8b-1b13-4c43-9ba1-1bafb51975bc?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8b7f2849-131b-434c-9ba1-1bafb51975bc\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:04:32.1933333Z\"\n }" + string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" headers: cache-control: - no-cache @@ -5849,7 +2080,7 @@ interactions: content-type: - application/json date: - - Fri, 09 Apr 2021 06:14:05 GMT + - Fri, 14 May 2021 06:21:24 GMT expires: - '-1' pragma: @@ -5868,78 +2099,100 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks update Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --disable-ahub User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"696","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2209' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:14:35 GMT - etag: - - W/"8a1-Gy5HWSBCpIEKglM+MtpfLkGLYrE" - x-powered-by: - - Express + - Fri, 14 May 2021 06:21:55 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks update Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --disable-ahub User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"696","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2209' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:14:35 GMT - etag: - - W/"8a1-Gy5HWSBCpIEKglM+MtpfLkGLYrE" - x-powered-by: - - Express + - Fri, 14 May 2021 06:22:27 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -5957,15 +2210,15 @@ interactions: ParameterSetName: - --resource-group --name --disable-ahub User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/49287f8b-1b13-4c43-9ba1-1bafb51975bc?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8b7f2849-131b-434c-9ba1-1bafb51975bc\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:04:32.1933333Z\"\n }" + string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" headers: cache-control: - no-cache @@ -5974,7 +2227,7 @@ interactions: content-type: - application/json date: - - Fri, 09 Apr 2021 06:14:35 GMT + - Fri, 14 May 2021 06:22:58 GMT expires: - '-1' pragma: @@ -5992,82 +2245,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"666","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:15:05 GMT - etag: - - W/"8a1-PLo+Wq67LIGBwwcBgKQy7WfWcls" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"666","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:15:05 GMT - etag: - - W/"8a1-PLo+Wq67LIGBwwcBgKQy7WfWcls" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -6082,15 +2259,15 @@ interactions: ParameterSetName: - --resource-group --name --disable-ahub User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/49287f8b-1b13-4c43-9ba1-1bafb51975bc?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8b7f2849-131b-434c-9ba1-1bafb51975bc\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:04:32.1933333Z\"\n }" + string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" headers: cache-control: - no-cache @@ -6099,7 +2276,7 @@ interactions: content-type: - application/json date: - - Fri, 09 Apr 2021 06:15:05 GMT + - Fri, 14 May 2021 06:23:30 GMT expires: - '-1' pragma: @@ -6118,78 +2295,51 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"635","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:15:36 GMT - etag: - - W/"8a1-WZA3v4uA3wiTk3QaBV3VXPNuyGo" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks update Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --disable-ahub User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"635","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2209' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:15:36 GMT - etag: - - W/"8a1-WZA3v4uA3wiTk3QaBV3VXPNuyGo" - x-powered-by: - - Express + - Fri, 14 May 2021 06:24:01 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -6207,15 +2357,15 @@ interactions: ParameterSetName: - --resource-group --name --disable-ahub User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/49287f8b-1b13-4c43-9ba1-1bafb51975bc?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8b7f2849-131b-434c-9ba1-1bafb51975bc\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:04:32.1933333Z\"\n }" + string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" headers: cache-control: - no-cache @@ -6224,7 +2374,7 @@ interactions: content-type: - application/json date: - - Fri, 09 Apr 2021 06:15:35 GMT + - Fri, 14 May 2021 06:24:33 GMT expires: - '-1' pragma: @@ -6243,78 +2393,100 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks update Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --disable-ahub User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"605","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2209' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:16:06 GMT - etag: - - W/"8a1-2+/feRKOjNJyUxwRmS+LT6WCrVE" - x-powered-by: - - Express + - Fri, 14 May 2021 06:25:05 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks update Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --disable-ahub User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"605","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2209' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:16:06 GMT - etag: - - W/"8a1-2+/feRKOjNJyUxwRmS+LT6WCrVE" - x-powered-by: - - Express + - Fri, 14 May 2021 06:25:37 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -6332,15 +2504,15 @@ interactions: ParameterSetName: - --resource-group --name --disable-ahub User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/49287f8b-1b13-4c43-9ba1-1bafb51975bc?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8b7f2849-131b-434c-9ba1-1bafb51975bc\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:04:32.1933333Z\"\n }" + string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" headers: cache-control: - no-cache @@ -6349,7 +2521,7 @@ interactions: content-type: - application/json date: - - Fri, 09 Apr 2021 06:16:05 GMT + - Fri, 14 May 2021 06:26:07 GMT expires: - '-1' pragma: @@ -6368,78 +2540,100 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks update Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --disable-ahub User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"575","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2209' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:16:36 GMT - etag: - - W/"8a1-UFBRXh2VIYnA6IRd2rhdXkFQi90" - x-powered-by: - - Express + - Fri, 14 May 2021 06:26:40 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks update Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --disable-ahub User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"575","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2209' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:16:36 GMT - etag: - - W/"8a1-UFBRXh2VIYnA6IRd2rhdXkFQi90" - x-powered-by: - - Express + - Fri, 14 May 2021 06:27:11 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -6457,15 +2651,15 @@ interactions: ParameterSetName: - --resource-group --name --disable-ahub User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/49287f8b-1b13-4c43-9ba1-1bafb51975bc?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8b7f2849-131b-434c-9ba1-1bafb51975bc\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:04:32.1933333Z\"\n }" + string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" headers: cache-control: - no-cache @@ -6474,7 +2668,7 @@ interactions: content-type: - application/json date: - - Fri, 09 Apr 2021 06:16:35 GMT + - Fri, 14 May 2021 06:27:42 GMT expires: - '-1' pragma: @@ -6493,78 +2687,100 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks update Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --disable-ahub User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"545","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2209' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:17:06 GMT - etag: - - W/"8a1-1k8s09AnEC98XIkMibScXnuM60o" - x-powered-by: - - Express + - Fri, 14 May 2021 06:28:15 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks update Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --disable-ahub User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"545","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2209' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:17:06 GMT - etag: - - W/"8a1-1k8s09AnEC98XIkMibScXnuM60o" - x-powered-by: - - Express + - Fri, 14 May 2021 06:28:46 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -6582,15 +2798,15 @@ interactions: ParameterSetName: - --resource-group --name --disable-ahub User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/49287f8b-1b13-4c43-9ba1-1bafb51975bc?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8b7f2849-131b-434c-9ba1-1bafb51975bc\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:04:32.1933333Z\"\n }" + string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" headers: cache-control: - no-cache @@ -6599,7 +2815,7 @@ interactions: content-type: - application/json date: - - Fri, 09 Apr 2021 06:17:06 GMT + - Fri, 14 May 2021 06:29:17 GMT expires: - '-1' pragma: @@ -6618,78 +2834,100 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks update Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --disable-ahub User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"515","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2209' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:17:36 GMT - etag: - - W/"8a1-H4KfvQxl6w30gKAFOQwqi5LWshg" - x-powered-by: - - Express + - Fri, 14 May 2021 06:29:49 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks update Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --disable-ahub User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"515","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2209' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:17:36 GMT - etag: - - W/"8a1-H4KfvQxl6w30gKAFOQwqi5LWshg" - x-powered-by: - - Express + - Fri, 14 May 2021 06:30:21 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -6707,25 +2945,24 @@ interactions: ParameterSetName: - --resource-group --name --disable-ahub User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/49287f8b-1b13-4c43-9ba1-1bafb51975bc?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8b7f2849-131b-434c-9ba1-1bafb51975bc\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-04-09T06:04:32.1933333Z\",\n \"endTime\": - \"2021-04-09T06:17:09.9197873Z\"\n }" + string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" headers: cache-control: - no-cache content-length: - - '170' + - '126' content-type: - application/json date: - - Fri, 09 Apr 2021 06:17:36 GMT + - Fri, 14 May 2021 06:30:52 GMT expires: - '-1' pragma: @@ -6744,78 +2981,101 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks update Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --disable-ahub User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"515","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2209' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:17:36 GMT - etag: - - W/"8a1-H4KfvQxl6w30gKAFOQwqi5LWshg" - x-powered-by: - - Express + - Fri, 14 May 2021 06:31:24 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks update Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --disable-ahub User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/975c4cae-870b-4d46-b8d7-836d2f9ddba2?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"515","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"ae4c5c97-0b87-464d-b8d7-836d2f9ddba2\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-05-14T06:16:07.0166666Z\",\n \"endTime\": + \"2021-05-14T06:31:24.9524898Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2209' + - '170' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:17:36 GMT - etag: - - W/"8a1-H4KfvQxl6w30gKAFOQwqi5LWshg" - x-powered-by: - - Express + - Fri, 14 May 2021 06:31:55 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -6833,9 +3093,9 @@ interactions: ParameterSetName: - --resource-group --name --disable-ahub User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-03-01 response: @@ -6844,39 +3104,38 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000001\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-5971d82d.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliaksdns000002-5971d82d.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.9\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-6e1ee1ca.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-6e1ee1ca.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \ \"enableFIPS\": false\n },\n {\n \"name\": \"npwin\",\n \"count\": 1,\n \"vmSize\": \"Standard_D2s_v3\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n \ \"enableEncryptionAtHost\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": - \"AKSWindows-2019-17763.1817.210310\",\n \"upgradeSettings\": {},\n \"enableFIPS\": + \"AKSWindows-2019-17763.1911.210423\",\n \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"windowsProfile\": {\n \"adminUsername\": - \"azureuser1\",\n \"licenseType\": \"None\",\n \"enableCSIProxy\": true\n - \ },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000001_westus2\",\n + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": + {\n \"adminUsername\": \"azureuser1\",\n \"licenseType\": \"None\",\n + \ \"enableCSIProxy\": true\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n + \ },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000001_westus2\",\n \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": \"azure\",\n \"loadBalancerSku\": \"Standard\",\n \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/fe0512ab-b82d-4ac1-99fd-cd40552b41ee\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/7e9d3391-8744-4a7b-8cb9-35639429c2da\"\n \ }\n ]\n },\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": - \"loadBalancer\"\n },\n \"maxAgentPools\": 10,\n \"identityProfile\": + \"loadBalancer\"\n },\n \"maxAgentPools\": 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000001-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n @@ -6886,11 +3145,11 @@ interactions: cache-control: - no-cache content-length: - - '3982' + - '3942' content-type: - application/json date: - - Fri, 09 Apr 2021 06:17:36 GMT + - Fri, 14 May 2021 06:31:57 GMT expires: - '-1' pragma: @@ -6908,82 +3167,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"514","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:17:37 GMT - etag: - - W/"8a1-mg7fznAH0tv9aiat0CNaQla98w4" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"514","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:17:37 GMT - etag: - - W/"8a1-mg7fznAH0tv9aiat0CNaQla98w4" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -6998,9 +3181,9 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --no-wait User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 accept-language: - en-US method: GET @@ -7013,29 +3196,30 @@ interactions: \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.18.14\",\n \"enableNodePublicIP\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": - false,\n \"osType\": \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n - \ \"enableFIPS\": false\n }\n },\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin\",\n + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \"enableFIPS\": false\n + \ }\n },\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin\",\n \ \"name\": \"npwin\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\",\n \ \"properties\": {\n \"count\": 1,\n \"vmSize\": \"Standard_D2s_v3\",\n \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.18.14\",\n \"enableNodePublicIP\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n - \ \"osType\": \"Windows\",\n \"nodeImageVersion\": \"AKSWindows-2019-17763.1817.210310\",\n + \ \"osType\": \"Windows\",\n \"nodeImageVersion\": \"AKSWindows-2019-17763.1911.210423\",\n \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n }\n ]\n }" headers: cache-control: - no-cache content-length: - - '1767' + - '1799' content-type: - application/json date: - - Fri, 09 Apr 2021 06:17:38 GMT + - Fri, 14 May 2021 06:31:59 GMT expires: - '-1' pragma: @@ -7053,82 +3237,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"513","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:17:38 GMT - etag: - - W/"8a1-8Mxxncvm//GJRUdO5af9CaOsMwI" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"513","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:17:38 GMT - etag: - - W/"8a1-8Mxxncvm//GJRUdO5af9CaOsMwI" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -7145,9 +3253,9 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --no-wait User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 accept-language: - en-US method: DELETE @@ -7157,17 +3265,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d12b3a25-252e-4627-9ad6-d22f31f97944?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d941eb29-2c17-4a17-895c-17de0c65e0f2?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Fri, 09 Apr 2021 06:17:38 GMT + - Fri, 14 May 2021 06:32:01 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/d12b3a25-252e-4627-9ad6-d22f31f97944?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/d941eb29-2c17-4a17-895c-17de0c65e0f2?api-version=2016-03-30 pragma: - no-cache server: @@ -7177,86 +3285,10 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14997' + - '14999' status: code: 202 message: Accepted -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"512","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:17:39 GMT - etag: - - W/"8a1-yemBbYSOAWzIVpkZqHa6uoKYkbY" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"512","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:17:39 GMT - etag: - - W/"8a1-yemBbYSOAWzIVpkZqHa6uoKYkbY" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -7273,29 +3305,29 @@ interactions: ParameterSetName: - -g -n --yes --no-wait User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.1.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.2.0 Azure-SDK-For-Python + AZURECLI/2.23.0 accept-language: - en-US method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-03-01 response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/44341f39-1580-4c7b-baed-24f063ae26f8?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/af65f30d-c754-43e5-9007-5ecc2b6a917a?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Fri, 09 Apr 2021 06:17:39 GMT + - Fri, 14 May 2021 06:32:03 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/44341f39-1580-4c7b-baed-24f063ae26f8?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/af65f30d-c754-43e5-9007-5ecc2b6a917a?api-version=2016-03-30 pragma: - no-cache server: @@ -7305,7 +3337,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14997' + - '14999' status: code: 202 message: Accepted diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_auto_upgrade_channel.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_auto_upgrade_channel.yaml index bef9d027840..43340d1448b 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_auto_upgrade_channel.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_auto_upgrade_channel.yaml @@ -1,80 +1,4 @@ interactions: -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"495","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:17:56 GMT - etag: - - W/"8a1-6MEUbQFGixaME4jsT1dwogyel2g" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"495","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:17:56 GMT - etag: - - W/"8a1-6MEUbQFGixaME4jsT1dwogyel2g" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -90,16 +14,12 @@ interactions: - --resource-group --name --location --generate-ssh-keys --enable-managed-identity --auto-upgrade-channel User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-resource/12.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-resource/16.1.0 Python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"product":"azurecli","cause":"automation","date":"2021-04-09T06:17:54Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"product":"azurecli","cause":"automation","date":"2021-05-14T05:58:24Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -108,7 +28,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 09 Apr 2021 06:17:55 GMT + - Fri, 14 May 2021 05:58:28 GMT expires: - '-1' pragma: @@ -122,94 +42,19 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"495","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:17:56 GMT - etag: - - W/"8a1-6MEUbQFGixaME4jsT1dwogyel2g" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"495","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:17:56 GMT - etag: - - W/"8a1-6MEUbQFGixaME4jsT1dwogyel2g" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: '{"location": "westus2", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitest3hquhmp7s-c10894", "agentPoolProfiles": [{"count": 3, "vmSize": + "cliakstest-clitestakv2iqca5-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "enableEncryptionAtHost": false, "name": "nodepool1"}], "linuxProfile": - {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F"}]}}, - "addonProfiles": {}, "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": - {"networkPlugin": "kubenet", "podCidr": "10.244.0.0/16", "serviceCidr": "10.0.0.0/16", - "dnsServiceIP": "10.0.0.10", "dockerBridgeCidr": "172.17.0.1/16", "outboundType": - "loadBalancer", "loadBalancerSku": "standard"}, "autoUpgradeProfile": {"upgradeChannel": - "rapid"}}, "identity": {"type": "SystemAssigned"}}' + "Delete", "enableEncryptionAtHost": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\n"}]}}, "addonProfiles": {}, "enableRBAC": true, "enablePodSecurityPolicy": + false, "networkProfile": {"networkPlugin": "kubenet", "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", "dockerBridgeCidr": + "172.17.0.1/16", "outboundType": "loadBalancer", "loadBalancerSku": "standard"}, + "autoUpgradeProfile": {"upgradeChannel": "rapid"}}, "identity": {"type": "SystemAssigned"}}' headers: Accept: - application/json @@ -220,16 +65,16 @@ interactions: Connection: - keep-alive Content-Length: - - '1274' + - '1323' Content-Type: - application/json; charset=utf-8 ParameterSetName: - --resource-group --name --location --generate-ssh-keys --enable-managed-identity --auto-upgrade-channel User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 accept-language: - en-US method: PUT @@ -240,44 +85,44 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitest3hquhmp7s-c10894\",\n - \ \"fqdn\": \"cliakstest-clitest3hquhmp7s-c10894-7c36516d.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitest3hquhmp7s-c10894-7c36516d.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestakv2iqca5-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestakv2iqca5-8ecadf-893812c8.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestakv2iqca5-8ecadf-893812c8.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Creating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n - \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": - {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"standard\",\n - \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n }\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": - \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": - \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": - 10,\n \"autoUpgradeProfile\": {\n \"upgradeChannel\": \"rapid\"\n }\n - \ },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_westus2\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1\n }\n },\n \"podCidr\": + \"10.244.0.0/16\",\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": + \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": + \"loadBalancer\"\n },\n \"maxAgentPools\": 100,\n \"autoUpgradeProfile\": + {\n \"upgradeChannel\": \"rapid\"\n }\n },\n \"identity\": {\n \"type\": + \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/49e63adf-29cb-4aeb-bad7-8116f20d428a?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eccdb953-014b-440b-9813-e65736f5b9da?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2756' + - '2717' content-type: - application/json date: - - Fri, 09 Apr 2021 06:18:03 GMT + - Fri, 14 May 2021 05:58:39 GMT expires: - '-1' pragma: @@ -289,86 +134,10 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1194' + - '1198' status: code: 201 message: Created -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"458","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:18:33 GMT - etag: - - W/"8a1-swWZ7VJsuHi3KZqW4QqvTXFlo8w" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"458","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:18:33 GMT - etag: - - W/"8a1-swWZ7VJsuHi3KZqW4QqvTXFlo8w" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -384,15 +153,15 @@ interactions: - --resource-group --name --location --generate-ssh-keys --enable-managed-identity --auto-upgrade-channel User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/49e63adf-29cb-4aeb-bad7-8116f20d428a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eccdb953-014b-440b-9813-e65736f5b9da?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"df3ae649-cb29-eb4a-bad7-8116f20d428a\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:18:02.92Z\"\n }" + string: "{\n \"name\": \"53b9cdec-4b01-0b44-9813-e65736f5b9da\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:38.49Z\"\n }" headers: cache-control: - no-cache @@ -401,7 +170,7 @@ interactions: content-type: - application/json date: - - Fri, 09 Apr 2021 06:18:32 GMT + - Fri, 14 May 2021 05:59:10 GMT expires: - '-1' pragma: @@ -419,82 +188,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"428","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:19:03 GMT - etag: - - W/"8a1-rpKzHatRwkvGogLv4h5BKGorHC8" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"428","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:19:03 GMT - etag: - - W/"8a1-rpKzHatRwkvGogLv4h5BKGorHC8" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -510,15 +203,15 @@ interactions: - --resource-group --name --location --generate-ssh-keys --enable-managed-identity --auto-upgrade-channel User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/49e63adf-29cb-4aeb-bad7-8116f20d428a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eccdb953-014b-440b-9813-e65736f5b9da?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"df3ae649-cb29-eb4a-bad7-8116f20d428a\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:18:02.92Z\"\n }" + string: "{\n \"name\": \"53b9cdec-4b01-0b44-9813-e65736f5b9da\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:38.49Z\"\n }" headers: cache-control: - no-cache @@ -527,7 +220,7 @@ interactions: content-type: - application/json date: - - Fri, 09 Apr 2021 06:19:02 GMT + - Fri, 14 May 2021 05:59:41 GMT expires: - '-1' pragma: @@ -546,78 +239,52 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"398","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:19:33 GMT - etag: - - W/"8a1-/NTovTe+auXiFJl2xXT16b1M0bM" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks create Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --location --generate-ssh-keys --enable-managed-identity + --auto-upgrade-channel User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eccdb953-014b-440b-9813-e65736f5b9da?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"398","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"53b9cdec-4b01-0b44-9813-e65736f5b9da\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:38.49Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2209' + - '121' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:19:33 GMT - etag: - - W/"8a1-/NTovTe+auXiFJl2xXT16b1M0bM" - x-powered-by: - - Express + - Fri, 14 May 2021 06:00:14 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -636,15 +303,15 @@ interactions: - --resource-group --name --location --generate-ssh-keys --enable-managed-identity --auto-upgrade-channel User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/49e63adf-29cb-4aeb-bad7-8116f20d428a?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eccdb953-014b-440b-9813-e65736f5b9da?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"df3ae649-cb29-eb4a-bad7-8116f20d428a\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:18:02.92Z\"\n }" + string: "{\n \"name\": \"53b9cdec-4b01-0b44-9813-e65736f5b9da\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:38.49Z\"\n }" headers: cache-control: - no-cache @@ -653,7 +320,7 @@ interactions: content-type: - application/json date: - - Fri, 09 Apr 2021 06:19:32 GMT + - Fri, 14 May 2021 06:00:45 GMT expires: - '-1' pragma: @@ -672,492 +339,38 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks create Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --location --generate-ssh-keys --enable-managed-identity + --auto-upgrade-channel User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eccdb953-014b-440b-9813-e65736f5b9da?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"368","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"53b9cdec-4b01-0b44-9813-e65736f5b9da\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:38.49Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2209' + - '121' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:20:03 GMT - etag: - - W/"8a1-ETtoMfFgyrWjkKRfYZdX+NBkFp4" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"368","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:20:03 GMT - etag: - - W/"8a1-ETtoMfFgyrWjkKRfYZdX+NBkFp4" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --location --generate-ssh-keys --enable-managed-identity - --auto-upgrade-channel - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/49e63adf-29cb-4aeb-bad7-8116f20d428a?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"df3ae649-cb29-eb4a-bad7-8116f20d428a\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:18:02.92Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '121' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:20:03 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"338","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:20:33 GMT - etag: - - W/"8a1-KGnPCAVAg05kBIP8nUHP++1SG/s" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"338","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:20:33 GMT - etag: - - W/"8a1-KGnPCAVAg05kBIP8nUHP++1SG/s" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --location --generate-ssh-keys --enable-managed-identity - --auto-upgrade-channel - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/49e63adf-29cb-4aeb-bad7-8116f20d428a?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"df3ae649-cb29-eb4a-bad7-8116f20d428a\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:18:02.92Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '121' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:20:33 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"307","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:21:04 GMT - etag: - - W/"8a1-zvoYpzcrubyJjhqrlOJrjqGrJH0" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"307","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:21:04 GMT - etag: - - W/"8a1-zvoYpzcrubyJjhqrlOJrjqGrJH0" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --location --generate-ssh-keys --enable-managed-identity - --auto-upgrade-channel - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/49e63adf-29cb-4aeb-bad7-8116f20d428a?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"df3ae649-cb29-eb4a-bad7-8116f20d428a\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:18:02.92Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '121' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:21:03 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"277","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:21:34 GMT - etag: - - W/"8a1-mz/nVVJD0xBTj4UqLp47mJAx44o" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"277","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:21:34 GMT - etag: - - W/"8a1-mz/nVVJD0xBTj4UqLp47mJAx44o" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --location --generate-ssh-keys --enable-managed-identity - --auto-upgrade-channel - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/49e63adf-29cb-4aeb-bad7-8116f20d428a?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"df3ae649-cb29-eb4a-bad7-8116f20d428a\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:18:02.92Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '121' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:21:33 GMT + - Fri, 14 May 2021 06:01:18 GMT expires: - '-1' pragma: @@ -1167,340 +380,62 @@ 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: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"247","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:22:04 GMT - etag: - - W/"8a1-knu+eSJvU4ircOXJedQdw2HlWqs" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"247","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:22:04 GMT - etag: - - W/"8a1-knu+eSJvU4ircOXJedQdw2HlWqs" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --location --generate-ssh-keys --enable-managed-identity - --auto-upgrade-channel - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/49e63adf-29cb-4aeb-bad7-8116f20d428a?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"df3ae649-cb29-eb4a-bad7-8116f20d428a\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:18:02.92Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '121' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:22:04 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"217","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:22:34 GMT - etag: - - W/"8a1-jw2c7w4H+6BkKJFfqzRr6mbAsi8" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"217","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:22:34 GMT - etag: - - W/"8a1-jw2c7w4H+6BkKJFfqzRr6mbAsi8" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --location --generate-ssh-keys --enable-managed-identity - --auto-upgrade-channel - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/49e63adf-29cb-4aeb-bad7-8116f20d428a?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"df3ae649-cb29-eb4a-bad7-8116f20d428a\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-04-09T06:18:02.92Z\",\n \"endTime\": - \"2021-04-09T06:22:05.8673341Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '165' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:22:34 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"217","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:22:34 GMT - etag: - - W/"8a1-jw2c7w4H+6BkKJFfqzRr6mbAsi8" - x-powered-by: - - Express + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks create Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --location --generate-ssh-keys --enable-managed-identity + --auto-upgrade-channel User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eccdb953-014b-440b-9813-e65736f5b9da?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"217","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"53b9cdec-4b01-0b44-9813-e65736f5b9da\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-05-14T05:58:38.49Z\",\n \"endTime\": + \"2021-05-14T06:01:48.1397154Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2209' + - '165' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:22:34 GMT - etag: - - W/"8a1-jw2c7w4H+6BkKJFfqzRr6mbAsi8" - x-powered-by: - - Express + - Fri, 14 May 2021 06:01:48 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -1519,9 +454,9 @@ interactions: - --resource-group --name --location --generate-ssh-keys --enable-managed-identity --auto-upgrade-channel User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 response: @@ -1530,31 +465,31 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitest3hquhmp7s-c10894\",\n - \ \"fqdn\": \"cliakstest-clitest3hquhmp7s-c10894-7c36516d.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitest3hquhmp7s-c10894-7c36516d.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestakv2iqca5-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestakv2iqca5-8ecadf-893812c8.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestakv2iqca5-8ecadf-893812c8.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n - \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": - {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n - \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/ec7e1d51-39f4-47a1-8f7e-3a05c8135e3a\"\n + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_westus2\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1\n },\n \"effectiveOutboundIPs\": + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/76906328-5881-477a-9d7b-a467cf2cffc4\"\n \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": - 10,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n \ }\n },\n \"autoUpgradeProfile\": {\n \"upgradeChannel\": \"rapid\"\n @@ -1565,11 +500,11 @@ interactions: cache-control: - no-cache content-length: - - '3419' + - '3380' content-type: - application/json date: - - Fri, 09 Apr 2021 06:22:35 GMT + - Fri, 14 May 2021 06:01:50 GMT expires: - '-1' pragma: @@ -1587,82 +522,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"216","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:22:35 GMT - etag: - - W/"8a1-mUwQY+VgnUtSoSlXjBoO95QB7k4" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"216","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:22:35 GMT - etag: - - W/"8a1-mUwQY+VgnUtSoSlXjBoO95QB7k4" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -1677,9 +536,9 @@ interactions: ParameterSetName: - --resource-group --name --auto-upgrade-channel User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 accept-language: - en-US method: GET @@ -1690,31 +549,31 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitest3hquhmp7s-c10894\",\n - \ \"fqdn\": \"cliakstest-clitest3hquhmp7s-c10894-7c36516d.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitest3hquhmp7s-c10894-7c36516d.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestakv2iqca5-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestakv2iqca5-8ecadf-893812c8.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestakv2iqca5-8ecadf-893812c8.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n - \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": - {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n - \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/ec7e1d51-39f4-47a1-8f7e-3a05c8135e3a\"\n + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_westus2\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1\n },\n \"effectiveOutboundIPs\": + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/76906328-5881-477a-9d7b-a467cf2cffc4\"\n \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": - 10,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n \ }\n },\n \"autoUpgradeProfile\": {\n \"upgradeChannel\": \"rapid\"\n @@ -1725,11 +584,11 @@ interactions: cache-control: - no-cache content-length: - - '3419' + - '3380' content-type: - application/json date: - - Fri, 09 Apr 2021 06:22:35 GMT + - Fri, 14 May 2021 06:01:52 GMT expires: - '-1' pragma: @@ -1748,98 +607,21 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"215","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:22:36 GMT - etag: - - W/"8a1-JP6Kt83i5aigUVie1k2KXG3RbmE" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"215","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:22:36 GMT - etag: - - W/"8a1-JP6Kt83i5aigUVie1k2KXG3RbmE" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.18.14", - "dnsPrefix": "cliakstest-clitest3hquhmp7s-c10894", "agentPoolProfiles": [{"count": - 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", - "kubeletDiskType": "OS", "maxPods": 110, "osType": "Linux", "type": "VirtualMachineScaleSets", - "mode": "System", "orchestratorVersion": "1.18.14", "enableNodePublicIP": false, + body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.9", "dnsPrefix": + "cliakstest-clitestakv2iqca5-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": + "OS", "maxPods": 110, "osType": "Linux", "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.19.9", "enableNodePublicIP": false, "nodeLabels": {}, "enableEncryptionAtHost": false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": - [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F"}]}}, - "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, - "addonProfiles": {"KubeDashboard": {"enabled": false}}, "nodeResourceGroup": - "MC_clitest000001_cliakstest000002_westus2", "enableRBAC": true, "enablePodSecurityPolicy": - false, "networkProfile": {"networkPlugin": "kubenet", "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", "dockerBridgeCidr": - "172.17.0.1/16", "outboundType": "loadBalancer", "loadBalancerSku": "Standard", - "loadBalancerProfile": {"managedOutboundIPs": {"count": 1}, "effectiveOutboundIPs": - [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/ec7e1d51-39f4-47a1-8f7e-3a05c8135e3a"}]}}, + [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\n"}]}}, "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, + "nodeResourceGroup": "MC_clitest000001_cliakstest000002_westus2", "enableRBAC": + true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": + "kubenet", "podCidr": "10.244.0.0/16", "serviceCidr": "10.0.0.0/16", "dnsServiceIP": + "10.0.0.10", "dockerBridgeCidr": "172.17.0.1/16", "outboundType": "loadBalancer", + "loadBalancerSku": "Standard", "loadBalancerProfile": {"managedOutboundIPs": + {"count": 1}, "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/76906328-5881-477a-9d7b-a467cf2cffc4"}]}}, "autoUpgradeProfile": {"upgradeChannel": "stable"}, "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}}, @@ -1854,15 +636,15 @@ interactions: Connection: - keep-alive Content-Length: - - '2226' + - '2215' Content-Type: - application/json; charset=utf-8 ParameterSetName: - --resource-group --name --auto-upgrade-channel User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 accept-language: - en-US method: PUT @@ -1873,31 +655,31 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitest3hquhmp7s-c10894\",\n - \ \"fqdn\": \"cliakstest-clitest3hquhmp7s-c10894-7c36516d.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitest3hquhmp7s-c10894-7c36516d.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestakv2iqca5-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestakv2iqca5-8ecadf-893812c8.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestakv2iqca5-8ecadf-893812c8.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n - \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": - {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n - \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/ec7e1d51-39f4-47a1-8f7e-3a05c8135e3a\"\n + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_westus2\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1\n },\n \"effectiveOutboundIPs\": + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/76906328-5881-477a-9d7b-a467cf2cffc4\"\n \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": - 10,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n \ }\n },\n \"autoUpgradeProfile\": {\n \"upgradeChannel\": \"stable\"\n @@ -1906,15 +688,15 @@ interactions: {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b31b298e-e940-47d6-acbc-1dbc4d14fc11?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ac923b52-492c-49d0-b0cf-78c4211878cd?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3418' + - '3379' content-type: - application/json date: - - Fri, 09 Apr 2021 06:22:39 GMT + - Fri, 14 May 2021 06:01:59 GMT expires: - '-1' pragma: @@ -1930,83 +712,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1193' - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"182","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:23:09 GMT - etag: - - W/"8a1-Kp5+rnoib85J4kmPYG7H0ks6YkE" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"182","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:23:09 GMT - etag: - - W/"8a1-Kp5+rnoib85J4kmPYG7H0ks6YkE" - x-powered-by: - - Express + - '1196' status: code: 200 message: OK @@ -2024,25 +730,24 @@ interactions: ParameterSetName: - --resource-group --name --auto-upgrade-channel User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b31b298e-e940-47d6-acbc-1dbc4d14fc11?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ac923b52-492c-49d0-b0cf-78c4211878cd?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8e291bb3-40e9-d647-acbc-1dbc4d14fc11\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-04-09T06:22:39.05Z\",\n \"endTime\": - \"2021-04-09T06:22:58.1227455Z\"\n }" + string: "{\n \"name\": \"523b92ac-2c49-d049-b0cf-78c4211878cd\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:01:58.2033333Z\"\n }" headers: cache-control: - no-cache content-length: - - '165' + - '126' content-type: - application/json date: - - Fri, 09 Apr 2021 06:23:08 GMT + - Fri, 14 May 2021 06:02:30 GMT expires: - '-1' pragma: @@ -2061,78 +766,52 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"182","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:23:09 GMT - etag: - - W/"8a1-Kp5+rnoib85J4kmPYG7H0ks6YkE" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks update Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --auto-upgrade-channel User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ac923b52-492c-49d0-b0cf-78c4211878cd?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"182","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"523b92ac-2c49-d049-b0cf-78c4211878cd\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-05-14T06:01:58.2033333Z\",\n \"endTime\": + \"2021-05-14T06:02:56.1999734Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2209' + - '170' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:23:09 GMT - etag: - - W/"8a1-Kp5+rnoib85J4kmPYG7H0ks6YkE" - x-powered-by: - - Express + - Fri, 14 May 2021 06:03:02 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -2150,9 +829,9 @@ interactions: ParameterSetName: - --resource-group --name --auto-upgrade-channel User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 response: @@ -2161,31 +840,31 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitest3hquhmp7s-c10894\",\n - \ \"fqdn\": \"cliakstest-clitest3hquhmp7s-c10894-7c36516d.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitest3hquhmp7s-c10894-7c36516d.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestakv2iqca5-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestakv2iqca5-8ecadf-893812c8.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestakv2iqca5-8ecadf-893812c8.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n - \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": - {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n - \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/ec7e1d51-39f4-47a1-8f7e-3a05c8135e3a\"\n + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_westus2\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1\n },\n \"effectiveOutboundIPs\": + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/76906328-5881-477a-9d7b-a467cf2cffc4\"\n \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": - 10,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n \ }\n },\n \"autoUpgradeProfile\": {\n \"upgradeChannel\": \"stable\"\n @@ -2196,11 +875,11 @@ interactions: cache-control: - no-cache content-length: - - '3420' + - '3381' content-type: - application/json date: - - Fri, 09 Apr 2021 06:23:09 GMT + - Fri, 14 May 2021 06:03:04 GMT expires: - '-1' pragma: @@ -2218,82 +897,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"181","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:23:10 GMT - etag: - - W/"8a1-mH+G7GpbXtjuNE5Y8JcEAyGi2yk" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"181","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:23:10 GMT - etag: - - W/"8a1-mH+G7GpbXtjuNE5Y8JcEAyGi2yk" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -2310,29 +913,29 @@ interactions: ParameterSetName: - -g -n --yes --no-wait User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.1.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.2.0 Azure-SDK-For-Python + AZURECLI/2.23.0 accept-language: - en-US method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6779d11c-bed0-4fe2-91b3-cac1b0fa2d7b?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/48010bbb-4279-43fd-ab1f-dc7ca5c791cd?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Fri, 09 Apr 2021 06:23:11 GMT + - Fri, 14 May 2021 06:03:08 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/6779d11c-bed0-4fe2-91b3-cac1b0fa2d7b?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/48010bbb-4279-43fd-ab1f-dc7ca5c791cd?api-version=2016-03-30 pragma: - no-cache server: @@ -2342,7 +945,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14997' + - '14999' status: code: 202 message: Accepted diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_azurekeyvaultsecretsprovider_addon.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_azurekeyvaultsecretsprovider_addon.yaml index 50dd4b35c50..1b4f58c62a8 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_azurekeyvaultsecretsprovider_addon.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_azurekeyvaultsecretsprovider_addon.yaml @@ -1,80 +1,4 @@ interactions: -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"161","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:23:30 GMT - etag: - - W/"8a1-CLKJtxbrYMwnJkuq81jU/4YJMac" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"161","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:23:30 GMT - etag: - - W/"8a1-CLKJtxbrYMwnJkuq81jU/4YJMac" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -89,16 +13,12 @@ interactions: ParameterSetName: - --resource-group --name --generate-ssh-keys -a -o User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-resource/12.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-resource/16.1.0 Python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"product":"azurecli","cause":"automation","date":"2021-04-09T06:23:28Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"product":"azurecli","cause":"automation","date":"2021-05-14T05:58:24Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -107,7 +27,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 09 Apr 2021 06:23:29 GMT + - Fri, 14 May 2021 05:58:27 GMT expires: - '-1' pragma: @@ -121,95 +41,20 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"161","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:23:30 GMT - etag: - - W/"8a1-CLKJtxbrYMwnJkuq81jU/4YJMac" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"161","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:23:30 GMT - etag: - - W/"8a1-CLKJtxbrYMwnJkuq81jU/4YJMac" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: '{"location": "westus2", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitestib5resnyo-c10894", "agentPoolProfiles": [{"count": 3, "vmSize": + "cliakstest-clitestsusmaan32-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "enableEncryptionAtHost": false, "name": "nodepool1"}], "linuxProfile": - {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F"}]}}, - "addonProfiles": {"azureKeyvaultSecretsProvider": {"enabled": true, "config": - {"enableSecretRotation": "false"}}}, "enableRBAC": true, "enablePodSecurityPolicy": - false, "networkProfile": {"networkPlugin": "kubenet", "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", "dockerBridgeCidr": - "172.17.0.1/16", "outboundType": "loadBalancer", "loadBalancerSku": "standard"}}, - "identity": {"type": "SystemAssigned"}}' + "Delete", "enableEncryptionAtHost": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\n"}]}}, "addonProfiles": {"azureKeyvaultSecretsProvider": + {"enabled": true, "config": {"enableSecretRotation": "false"}}}, "enableRBAC": + true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": + "kubenet", "podCidr": "10.244.0.0/16", "serviceCidr": "10.0.0.0/16", "dnsServiceIP": + "10.0.0.10", "dockerBridgeCidr": "172.17.0.1/16", "outboundType": "loadBalancer", + "loadBalancerSku": "standard"}}, "identity": {"type": "SystemAssigned"}}' headers: Accept: - application/json @@ -220,15 +65,15 @@ interactions: Connection: - keep-alive Content-Length: - - '1317' + - '1366' Content-Type: - application/json; charset=utf-8 ParameterSetName: - --resource-group --name --generate-ssh-keys -a -o User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 accept-language: - en-US method: PUT @@ -239,45 +84,45 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitestib5resnyo-c10894\",\n - \ \"fqdn\": \"cliakstest-clitestib5resnyo-c10894-43fedc57.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitestib5resnyo-c10894-43fedc57.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestsusmaan32-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestsusmaan32-8ecadf-9f3faacc.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestsusmaan32-8ecadf-9f3faacc.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Creating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n },\n \"azureKeyvaultSecretsProvider\": - {\n \"enabled\": true,\n \"config\": {\n \"enableSecretRotation\": - \"false\"\n }\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n - \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": - {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"standard\",\n - \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n }\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": - \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": - \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": - 10\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"azureKeyvaultSecretsProvider\": {\n \"enabled\": true,\n \"config\": + {\n \"enableSecretRotation\": \"false\"\n }\n }\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_westus2\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1\n }\n },\n \"podCidr\": + \"10.244.0.0/16\",\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": + \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": + \"loadBalancer\"\n },\n \"maxAgentPools\": 100\n },\n \"identity\": + {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0b5e02d0-e67c-4aa8-b27f-94d707f6c6ed?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5c424eda-131b-4b95-89af-82e316ab6a40?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2822' + - '2810' content-type: - application/json date: - - Fri, 09 Apr 2021 06:23:34 GMT + - Fri, 14 May 2021 05:58:39 GMT expires: - '-1' pragma: @@ -293,82 +138,6 @@ interactions: status: code: 201 message: Created -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"127","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:24:04 GMT - etag: - - W/"8a1-IEHaJ1vCNpaTRMbw/kHXE9w5g4c" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"127","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:24:04 GMT - etag: - - W/"8a1-IEHaJ1vCNpaTRMbw/kHXE9w5g4c" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -383,24 +152,24 @@ interactions: ParameterSetName: - --resource-group --name --generate-ssh-keys -a -o User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0b5e02d0-e67c-4aa8-b27f-94d707f6c6ed?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5c424eda-131b-4b95-89af-82e316ab6a40?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"d0025e0b-7ce6-a84a-b27f-94d707f6c6ed\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:23:34.15Z\"\n }" + string: "{\n \"name\": \"da4e425c-1b13-954b-89af-82e316ab6a40\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:39.2366666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 09 Apr 2021 06:24:03 GMT + - Fri, 14 May 2021 05:59:11 GMT expires: - '-1' pragma: @@ -418,207 +187,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"97","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2208' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:24:34 GMT - etag: - - W/"8a0-Nh3Tj0k6qcFpPmbbPH+OY2IT45s" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"97","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2208' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:24:34 GMT - etag: - - W/"8a0-Nh3Tj0k6qcFpPmbbPH+OY2IT45s" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --generate-ssh-keys -a -o - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0b5e02d0-e67c-4aa8-b27f-94d707f6c6ed?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"d0025e0b-7ce6-a84a-b27f-94d707f6c6ed\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:23:34.15Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '121' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:24:35 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"66","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2208' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:25:05 GMT - etag: - - W/"8a0-VT/LKf/Kerfc5xUkSQSnPHgagmo" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"66","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2208' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:25:05 GMT - etag: - - W/"8a0-VT/LKf/Kerfc5xUkSQSnPHgagmo" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -633,24 +201,24 @@ interactions: ParameterSetName: - --resource-group --name --generate-ssh-keys -a -o User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0b5e02d0-e67c-4aa8-b27f-94d707f6c6ed?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5c424eda-131b-4b95-89af-82e316ab6a40?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"d0025e0b-7ce6-a84a-b27f-94d707f6c6ed\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:23:34.15Z\"\n }" + string: "{\n \"name\": \"da4e425c-1b13-954b-89af-82e316ab6a40\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:39.2366666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 09 Apr 2021 06:25:05 GMT + - Fri, 14 May 2021 05:59:43 GMT expires: - '-1' pragma: @@ -668,82 +236,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"36","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2208' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:25:35 GMT - etag: - - W/"8a0-rb4WFd/ud1HVglWPgS9YsbqSX2k" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"36","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2208' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:25:35 GMT - etag: - - W/"8a0-rb4WFd/ud1HVglWPgS9YsbqSX2k" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -758,24 +250,24 @@ interactions: ParameterSetName: - --resource-group --name --generate-ssh-keys -a -o User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0b5e02d0-e67c-4aa8-b27f-94d707f6c6ed?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5c424eda-131b-4b95-89af-82e316ab6a40?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"d0025e0b-7ce6-a84a-b27f-94d707f6c6ed\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:23:34.15Z\"\n }" + string: "{\n \"name\": \"da4e425c-1b13-954b-89af-82e316ab6a40\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:39.2366666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 09 Apr 2021 06:25:34 GMT + - Fri, 14 May 2021 06:00:15 GMT expires: - '-1' pragma: @@ -793,82 +285,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"6","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2207' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:26:05 GMT - etag: - - W/"89f-ME8MCpcHQ/MWr6gB/MEVeiYyRLQ" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ1NjcxLCJuYmYiOjE2MTc5NDU2NzEsImV4cCI6MTYxNzk0OTU3MSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBZmFQdFUza2RaRkxqaEtVU0lVMmowazZoNE5JYkYzRVlXeEx5MlNYazcwM2RNejNSajEwY2JZY3N4R0FrRzhhZjlpdWRYbE5wTlY5eEdSZlc1Y3JRTTdLbUxJMVR2MlNUR29oQmhVZjRWTm89IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJwVi02RVVLMWlFeUJaRllWWmQwd0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.m3WVOYU9F4ZqODzkMkHjkfEHnZLIH3YOjKgla9n44g4DPps9ZDqu6JdRO2Ukbxd3HtSkB6woiTDyVHFzx7v5V_9D6UZCLHZtkBU0uCVLvTrjWGi3NFaqNMsVgDim2_-U4v_f4w_jxAISPETWc7pAT5l_i_6aNO6Blmy4ZsTjAuAW6vquWXXHbnERuuZiC7AdlYeF2JR44CqNL2zIFVzo4uPYJHAVaNdIRzApC2gEKD9Hun7w5L4VHZWVxccaCTX_zwq6vGfCYH-6oD6NI2nnzyPq9SymwOvmO-c-TdmrOzYWOeebS9wJ_AyprlRN8mj0YzwNdgJ6USboWfFwhx784Q","refresh_token":"","expires_in":"6","expires_on":"1617949571","not_before":"1617945671","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2207' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:26:05 GMT - etag: - - W/"89f-ME8MCpcHQ/MWr6gB/MEVeiYyRLQ" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -883,24 +299,24 @@ interactions: ParameterSetName: - --resource-group --name --generate-ssh-keys -a -o User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0b5e02d0-e67c-4aa8-b27f-94d707f6c6ed?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5c424eda-131b-4b95-89af-82e316ab6a40?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"d0025e0b-7ce6-a84a-b27f-94d707f6c6ed\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:23:34.15Z\"\n }" + string: "{\n \"name\": \"da4e425c-1b13-954b-89af-82e316ab6a40\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:39.2366666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 09 Apr 2021 06:26:05 GMT + - Fri, 14 May 2021 06:00:46 GMT expires: - '-1' pragma: @@ -918,82 +334,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3588","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:26:35 GMT - etag: - - W/"8a2-TcwgYWPvhmoqDmkndvy/MuUuurw" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3588","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:26:35 GMT - etag: - - W/"8a2-TcwgYWPvhmoqDmkndvy/MuUuurw" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -1008,24 +348,24 @@ interactions: ParameterSetName: - --resource-group --name --generate-ssh-keys -a -o User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0b5e02d0-e67c-4aa8-b27f-94d707f6c6ed?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5c424eda-131b-4b95-89af-82e316ab6a40?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"d0025e0b-7ce6-a84a-b27f-94d707f6c6ed\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:23:34.15Z\"\n }" + string: "{\n \"name\": \"da4e425c-1b13-954b-89af-82e316ab6a40\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:39.2366666Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '126' content-type: - application/json date: - - Fri, 09 Apr 2021 06:26:36 GMT + - Fri, 14 May 2021 06:01:18 GMT expires: - '-1' pragma: @@ -1043,82 +383,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3557","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:27:06 GMT - etag: - - W/"8a2-5hIcgVF7P4MGKu1CGrGePxsrbI4" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3557","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:27:06 GMT - etag: - - W/"8a2-5hIcgVF7P4MGKu1CGrGePxsrbI4" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -1133,25 +397,25 @@ interactions: ParameterSetName: - --resource-group --name --generate-ssh-keys -a -o User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0b5e02d0-e67c-4aa8-b27f-94d707f6c6ed?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5c424eda-131b-4b95-89af-82e316ab6a40?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"d0025e0b-7ce6-a84a-b27f-94d707f6c6ed\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-04-09T06:23:34.15Z\",\n \"endTime\": - \"2021-04-09T06:26:45.565608Z\"\n }" + string: "{\n \"name\": \"da4e425c-1b13-954b-89af-82e316ab6a40\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-05-14T05:58:39.2366666Z\",\n \"endTime\": + \"2021-05-14T06:01:47.6056125Z\"\n }" headers: cache-control: - no-cache content-length: - - '164' + - '170' content-type: - application/json date: - - Fri, 09 Apr 2021 06:27:06 GMT + - Fri, 14 May 2021 06:01:49 GMT expires: - '-1' pragma: @@ -1169,82 +433,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3557","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:27:06 GMT - etag: - - W/"8a2-5hIcgVF7P4MGKu1CGrGePxsrbI4" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3557","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:27:06 GMT - etag: - - W/"8a2-5hIcgVF7P4MGKu1CGrGePxsrbI4" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -1259,9 +447,9 @@ interactions: ParameterSetName: - --resource-group --name --generate-ssh-keys -a -o User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 response: @@ -1270,35 +458,35 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitestib5resnyo-c10894\",\n - \ \"fqdn\": \"cliakstest-clitestib5resnyo-c10894-43fedc57.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitestib5resnyo-c10894-43fedc57.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestsusmaan32-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestsusmaan32-8ecadf-9f3faacc.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestsusmaan32-8ecadf-9f3faacc.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n },\n \"azureKeyvaultSecretsProvider\": - {\n \"enabled\": true,\n \"config\": {\n \"enableSecretRotation\": - \"false\"\n },\n \"identity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/azurekeyvaultsecretsprovider-cliakstest000002\",\n + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"azureKeyvaultSecretsProvider\": {\n \"enabled\": true,\n \"config\": + {\n \"enableSecretRotation\": \"false\"\n },\n \"identity\": + {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/azurekeyvaultsecretsprovider-cliakstest000002\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n \ }\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/91f693b5-07db-486f-acb5-9e5346b04863\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/46471512-6616-4bb7-b9e8-d95b28115dae\"\n \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": - 10,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n @@ -1308,11 +496,11 @@ interactions: cache-control: - no-cache content-length: - - '3868' + - '3856' content-type: - application/json date: - - Fri, 09 Apr 2021 06:27:06 GMT + - Fri, 14 May 2021 06:01:50 GMT expires: - '-1' pragma: @@ -1330,82 +518,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3556","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:27:07 GMT - etag: - - W/"8a2-uXBfoKq0K18GaGhsUxPfCjyd9dI" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3556","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:27:07 GMT - etag: - - W/"8a2-uXBfoKq0K18GaGhsUxPfCjyd9dI" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -1422,29 +534,29 @@ interactions: ParameterSetName: - --resource-group --name --yes --no-wait User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.1.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.2.0 Azure-SDK-For-Python + AZURECLI/2.23.0 accept-language: - en-US method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/11208979-429d-4f79-a6ee-f1e8392b4398?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/77a79270-765c-4d5b-91f2-40f724d9dd05?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Fri, 09 Apr 2021 06:27:08 GMT + - Fri, 14 May 2021 06:01:55 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/11208979-429d-4f79-a6ee-f1e8392b4398?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/77a79270-765c-4d5b-91f2-40f724d9dd05?api-version=2016-03-30 pragma: - no-cache server: @@ -1454,7 +566,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14997' + - '14999' status: code: 202 message: Accepted diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_fips.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_fips.yaml index 09d7698d8df..1f3daec182d 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_fips.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_fips.yaml @@ -13,16 +13,13 @@ interactions: ParameterSetName: - --resource-group --name --enable-fips-image --generate-ssh-keys User-Agent: - - python/3.7.3 (Linux-4.15.0-1113-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-resource/12.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.23.0 (DOCKER) azsdk-python-azure-mgmt-resource/16.1.0 Python/3.6.10 + (Linux-5.10.25-linuxkit-x86_64-with) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"eastus2euap","tags":{"product":"azurecli","cause":"automation","date":"2021-04-19T16:50:25Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"eastus2euap","tags":{"product":"azurecli","cause":"automation","date":"2021-05-14T08:56:46Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -31,7 +28,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 19 Apr 2021 16:50:26 GMT + - Fri, 14 May 2021 08:56:52 GMT expires: - '-1' pragma: @@ -47,16 +44,17 @@ interactions: message: OK - request: body: '{"location": "eastus2euap", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitestpletz3jtr-c10894", "agentPoolProfiles": [{"count": 3, "vmSize": + "cliakstest-clitestso4dggrt2-c10894", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": "Delete", "enableEncryptionAtHost": false, "enableFIPS": true, "name": "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F"}]}}, + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDhSzGqT9yOjxYAge38/y9Z//u0JQ+FEQu1GO7d9sVuzspsjSgCwE7qMNzNDrPHOiUMIs74OooUJvv2nq/k+CMddvSc3cfTxHgKNqwWjgkHEpwGpEuJtQjjNybcusPU9JMDa6dch9vZIdSmOtVLn3Y5cfVuRaLASNLUg1iXLmBaEH0muWXQcp8/x6ZHS1QSrzr6u07+UP2ykbX9EiD60Aq72wJY41wnsR0AEcY7b9lljbIUodaxaTzrKonMODxe2zDunmlH6rPs+iAVvOtHRnhrcYhxZePWYR516Dr+nnCbmUcIFRjZOz3N5zGGQnj2WTd76kZqxNCLNU6bfXvTKksd"}]}}, "addonProfiles": {}, "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": "kubenet", "podCidr": "10.244.0.0/16", "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", "dockerBridgeCidr": "172.17.0.1/16", "outboundType": - "loadBalancer", "loadBalancerSku": "standard"}}, "identity": {"type": "SystemAssigned"}}' + "loadBalancer", "loadBalancerSku": "standard"}, "disableLocalAccounts": false}, + "identity": {"type": "SystemAssigned"}}' headers: Accept: - application/json @@ -67,61 +65,63 @@ interactions: Connection: - keep-alive Content-Length: - - '1247' + - '1278' Content-Type: - application/json; charset=utf-8 ParameterSetName: - --resource-group --name --enable-fips-image --generate-ssh-keys User-Agent: - - python/3.7.3 (Linux-4.15.0-1113-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-03-01 response: body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\",\n - \ \"location\": \"eastus2euap\",\n \"name\": \"cliakstest000001\",\n \"type\": - \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": - \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestpletz3jtr-c10894\",\n \"fqdn\": - \"cliakstest-clitestpletz3jtr-c10894-4a2d882c.hcp.eastus2euap.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitestpletz3jtr-c10894-4a2d882c.portal.hcp.eastus2euap.azmk8s.io\",\n - \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": - 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": - \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Creating\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2fipscontainerd-2021.03.31\",\n - \ \"enableFIPS\": true\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000001_eastus2euap\",\n - \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": - {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"standard\",\n - \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n }\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": - \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": - \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": - 100\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n - \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": - {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\"\ + ,\n \"location\": \"eastus2euap\",\n \"name\": \"cliakstest000001\",\n \ + \ \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\"\ + : {\n \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"\ + code\": \"Running\"\n },\n \"kubernetesVersion\": \"1.19.9\",\n \"dnsPrefix\"\ + : \"cliakstest-clitestso4dggrt2-c10894\",\n \"fqdn\": \"cliakstest-clitestso4dggrt2-c10894-a0b8abb1.hcp.eastus2euap.azmk8s.io\"\ + ,\n \"azurePortalFQDN\": \"cliakstest-clitestso4dggrt2-c10894-a0b8abb1.portal.hcp.eastus2euap.azmk8s.io\"\ + ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \ + \ \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ + : 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\"\ + ,\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n \ + \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"\ + code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.19.9\",\n\ + \ \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \"mode\"\ + : \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": \"\ + Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2fipscontainerd-2021.05.01\"\ + ,\n \"enableFIPS\": true\n }\n ],\n \"linuxProfile\": {\n \"\ + adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n\ + \ {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDhSzGqT9yOjxYAge38/y9Z//u0JQ+FEQu1GO7d9sVuzspsjSgCwE7qMNzNDrPHOiUMIs74OooUJvv2nq/k+CMddvSc3cfTxHgKNqwWjgkHEpwGpEuJtQjjNybcusPU9JMDa6dch9vZIdSmOtVLn3Y5cfVuRaLASNLUg1iXLmBaEH0muWXQcp8/x6ZHS1QSrzr6u07+UP2ykbX9EiD60Aq72wJY41wnsR0AEcY7b9lljbIUodaxaTzrKonMODxe2zDunmlH6rPs+iAVvOtHRnhrcYhxZePWYR516Dr+nnCbmUcIFRjZOz3N5zGGQnj2WTd76kZqxNCLNU6bfXvTKksd\"\ + \n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"\ + clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\"\ + : \"MC_clitest000001_cliakstest000001_eastus2euap\",\n \"enableRBAC\": true,\n\ + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"\ + networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"standard\",\n \ + \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\"\ + : 1\n }\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\"\ + : \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\"\ + : \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"\ + maxAgentPools\": 100,\n \"disableLocalAccounts\": false\n },\n \"identity\"\ + : {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\"\ + ,\n \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\"\ + : {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/df32c6c6-21bf-4a09-ac76-38a25040e05b?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/b9bef31a-b9ff-48c3-b6f0-38083fe2ddca?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2621' + - '2679' content-type: - application/json date: - - Mon, 19 Apr 2021 16:50:35 GMT + - Fri, 14 May 2021 08:57:01 GMT expires: - '-1' pragma: @@ -151,15 +151,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-fips-image --generate-ssh-keys User-Agent: - - python/3.7.3 (Linux-4.15.0-1113-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/df32c6c6-21bf-4a09-ac76-38a25040e05b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/b9bef31a-b9ff-48c3-b6f0-38083fe2ddca?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"c6c632df-bf21-094a-ac76-38a25040e05b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-19T16:50:33.8466666Z\"\n }" + string: "{\n \"name\": \"1af3beb9-ffb9-c348-b6f0-38083fe2ddca\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2021-05-14T08:56:59.8233333Z\"\n }" headers: cache-control: - no-cache @@ -168,7 +167,7 @@ interactions: content-type: - application/json date: - - Mon, 19 Apr 2021 16:51:05 GMT + - Fri, 14 May 2021 08:57:32 GMT expires: - '-1' pragma: @@ -200,15 +199,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-fips-image --generate-ssh-keys User-Agent: - - python/3.7.3 (Linux-4.15.0-1113-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/df32c6c6-21bf-4a09-ac76-38a25040e05b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/b9bef31a-b9ff-48c3-b6f0-38083fe2ddca?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"c6c632df-bf21-094a-ac76-38a25040e05b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-19T16:50:33.8466666Z\"\n }" + string: "{\n \"name\": \"1af3beb9-ffb9-c348-b6f0-38083fe2ddca\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2021-05-14T08:56:59.8233333Z\"\n }" headers: cache-control: - no-cache @@ -217,7 +215,7 @@ interactions: content-type: - application/json date: - - Mon, 19 Apr 2021 16:51:35 GMT + - Fri, 14 May 2021 08:58:03 GMT expires: - '-1' pragma: @@ -249,15 +247,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-fips-image --generate-ssh-keys User-Agent: - - python/3.7.3 (Linux-4.15.0-1113-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/df32c6c6-21bf-4a09-ac76-38a25040e05b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/b9bef31a-b9ff-48c3-b6f0-38083fe2ddca?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"c6c632df-bf21-094a-ac76-38a25040e05b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-19T16:50:33.8466666Z\"\n }" + string: "{\n \"name\": \"1af3beb9-ffb9-c348-b6f0-38083fe2ddca\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2021-05-14T08:56:59.8233333Z\"\n }" headers: cache-control: - no-cache @@ -266,7 +263,7 @@ interactions: content-type: - application/json date: - - Mon, 19 Apr 2021 16:52:06 GMT + - Fri, 14 May 2021 08:58:34 GMT expires: - '-1' pragma: @@ -298,15 +295,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-fips-image --generate-ssh-keys User-Agent: - - python/3.7.3 (Linux-4.15.0-1113-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/df32c6c6-21bf-4a09-ac76-38a25040e05b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/b9bef31a-b9ff-48c3-b6f0-38083fe2ddca?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"c6c632df-bf21-094a-ac76-38a25040e05b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-19T16:50:33.8466666Z\"\n }" + string: "{\n \"name\": \"1af3beb9-ffb9-c348-b6f0-38083fe2ddca\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2021-05-14T08:56:59.8233333Z\"\n }" headers: cache-control: - no-cache @@ -315,7 +311,7 @@ interactions: content-type: - application/json date: - - Mon, 19 Apr 2021 16:52:37 GMT + - Fri, 14 May 2021 08:59:05 GMT expires: - '-1' pragma: @@ -347,15 +343,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-fips-image --generate-ssh-keys User-Agent: - - python/3.7.3 (Linux-4.15.0-1113-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/df32c6c6-21bf-4a09-ac76-38a25040e05b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/b9bef31a-b9ff-48c3-b6f0-38083fe2ddca?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"c6c632df-bf21-094a-ac76-38a25040e05b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-19T16:50:33.8466666Z\"\n }" + string: "{\n \"name\": \"1af3beb9-ffb9-c348-b6f0-38083fe2ddca\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2021-05-14T08:56:59.8233333Z\"\n }" headers: cache-control: - no-cache @@ -364,7 +359,7 @@ interactions: content-type: - application/json date: - - Mon, 19 Apr 2021 16:53:08 GMT + - Fri, 14 May 2021 08:59:36 GMT expires: - '-1' pragma: @@ -396,15 +391,14 @@ interactions: ParameterSetName: - --resource-group --name --enable-fips-image --generate-ssh-keys User-Agent: - - python/3.7.3 (Linux-4.15.0-1113-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/df32c6c6-21bf-4a09-ac76-38a25040e05b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/b9bef31a-b9ff-48c3-b6f0-38083fe2ddca?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"c6c632df-bf21-094a-ac76-38a25040e05b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-19T16:50:33.8466666Z\"\n }" + string: "{\n \"name\": \"1af3beb9-ffb9-c348-b6f0-38083fe2ddca\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2021-05-14T08:56:59.8233333Z\"\n }" headers: cache-control: - no-cache @@ -413,7 +407,7 @@ interactions: content-type: - application/json date: - - Mon, 19 Apr 2021 16:53:38 GMT + - Fri, 14 May 2021 09:00:07 GMT expires: - '-1' pragma: @@ -445,24 +439,24 @@ interactions: ParameterSetName: - --resource-group --name --enable-fips-image --generate-ssh-keys User-Agent: - - python/3.7.3 (Linux-4.15.0-1113-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/df32c6c6-21bf-4a09-ac76-38a25040e05b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/b9bef31a-b9ff-48c3-b6f0-38083fe2ddca?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"c6c632df-bf21-094a-ac76-38a25040e05b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-19T16:50:33.8466666Z\"\n }" + string: "{\n \"name\": \"1af3beb9-ffb9-c348-b6f0-38083fe2ddca\",\n \"status\"\ + : \"Succeeded\",\n \"startTime\": \"2021-05-14T08:56:59.8233333Z\",\n \"\ + endTime\": \"2021-05-14T09:00:21.200117Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '169' content-type: - application/json date: - - Mon, 19 Apr 2021 16:54:08 GMT + - Fri, 14 May 2021 09:00:37 GMT expires: - '-1' pragma: @@ -494,25 +488,59 @@ interactions: ParameterSetName: - --resource-group --name --enable-fips-image --generate-ssh-keys User-Agent: - - python/3.7.3 (Linux-4.15.0-1113-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/df32c6c6-21bf-4a09-ac76-38a25040e05b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-03-01 response: body: - string: "{\n \"name\": \"c6c632df-bf21-094a-ac76-38a25040e05b\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-04-19T16:50:33.8466666Z\",\n \"endTime\": - \"2021-04-19T16:54:12.7845244Z\"\n }" + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\"\ + ,\n \"location\": \"eastus2euap\",\n \"name\": \"cliakstest000001\",\n \ + \ \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\"\ + : {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"\ + code\": \"Running\"\n },\n \"kubernetesVersion\": \"1.19.9\",\n \"dnsPrefix\"\ + : \"cliakstest-clitestso4dggrt2-c10894\",\n \"fqdn\": \"cliakstest-clitestso4dggrt2-c10894-a0b8abb1.hcp.eastus2euap.azmk8s.io\"\ + ,\n \"azurePortalFQDN\": \"cliakstest-clitestso4dggrt2-c10894-a0b8abb1.portal.hcp.eastus2euap.azmk8s.io\"\ + ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \ + \ \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ + : 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\"\ + ,\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n \ + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \ + \ \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.19.9\"\ + ,\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \"\ + mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\"\ + : \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2fipscontainerd-2021.05.01\"\ + ,\n \"enableFIPS\": true\n }\n ],\n \"linuxProfile\": {\n \"\ + adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n\ + \ {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDhSzGqT9yOjxYAge38/y9Z//u0JQ+FEQu1GO7d9sVuzspsjSgCwE7qMNzNDrPHOiUMIs74OooUJvv2nq/k+CMddvSc3cfTxHgKNqwWjgkHEpwGpEuJtQjjNybcusPU9JMDa6dch9vZIdSmOtVLn3Y5cfVuRaLASNLUg1iXLmBaEH0muWXQcp8/x6ZHS1QSrzr6u07+UP2ykbX9EiD60Aq72wJY41wnsR0AEcY7b9lljbIUodaxaTzrKonMODxe2zDunmlH6rPs+iAVvOtHRnhrcYhxZePWYR516Dr+nnCbmUcIFRjZOz3N5zGGQnj2WTd76kZqxNCLNU6bfXvTKksd\"\ + \n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"\ + clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\"\ + : \"MC_clitest000001_cliakstest000001_eastus2euap\",\n \"enableRBAC\": true,\n\ + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"\ + networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \ + \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\"\ + : 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"\ + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_eastus2euap/providers/Microsoft.Network/publicIPAddresses/5cc5b94a-4804-4f4a-bf16-e01135c8ef0d\"\ + \n }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\"\ + : \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\"\ + : \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"\ + maxAgentPools\": 100,\n \"identityProfile\": {\n \"kubeletidentity\"\ + : {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000001_eastus2euap/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000001-agentpool\"\ + ,\n \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\"\ + :\"00000000-0000-0000-0000-000000000001\"\n }\n },\n \"disableLocalAccounts\"\ + : false\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"\ + principalId\":\"00000000-0000-0000-0000-000000000001\",\n \"tenantId\":\ + \ \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": {\n \"name\"\ + : \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: cache-control: - no-cache content-length: - - '170' + - '3350' content-type: - application/json date: - - Mon, 19 Apr 2021 16:54:38 GMT + - Fri, 14 May 2021 09:00:39 GMT expires: - '-1' pragma: @@ -538,61 +566,40 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks create + - aks nodepool add Connection: - keep-alive ParameterSetName: - - --resource-group --name --enable-fips-image --generate-ssh-keys + - --resource-group --cluster-name --name --enable-fips-image User-Agent: - - python/3.7.3 (Linux-4.15.0-1113-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) + accept-language: + - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools?api-version=2021-03-01 response: body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\",\n - \ \"location\": \"eastus2euap\",\n \"name\": \"cliakstest000001\",\n \"type\": - \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": - \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestpletz3jtr-c10894\",\n \"fqdn\": - \"cliakstest-clitestpletz3jtr-c10894-4a2d882c.hcp.eastus2euap.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitestpletz3jtr-c10894-4a2d882c.portal.hcp.eastus2euap.azmk8s.io\",\n - \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": - 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": - \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2fipscontainerd-2021.03.31\",\n - \ \"enableFIPS\": true\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000001_eastus2euap\",\n - \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": - {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n - \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_eastus2euap/providers/Microsoft.Network/publicIPAddresses/30ca40fa-52b5-48bb-ab55-c38a7d54a823\"\n - \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": - \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": - \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": - 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000001_eastus2euap/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000001-agentpool\",\n - \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n - \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": - {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" + string: "{\n \"value\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/nodepool1\"\ + ,\n \"name\": \"nodepool1\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\"\ + ,\n \"properties\": {\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\"\ + ,\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"\ + kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\"\ + ,\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \ + \ \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.19.9\"\ + ,\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \"\ + mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\"\ + : \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2fipscontainerd-2021.05.01\"\ + ,\n \"enableFIPS\": true\n }\n }\n ]\n }" headers: cache-control: - no-cache content-length: - - '3292' + - '930' content-type: - application/json date: - - Mon, 19 Apr 2021 16:54:40 GMT + - Fri, 14 May 2021 09:00:41 GMT expires: - '-1' pragma: @@ -611,7 +618,10 @@ interactions: code: 200 message: OK - request: - body: null + body: '{"properties": {"count": 3, "vmSize": "Standard_DS2_v2", "osType": "Linux", + "type": "VirtualMachineScaleSets", "mode": "User", "upgradeSettings": {}, "enableNodePublicIP": + false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": "Delete", "nodeTaints": + [], "enableEncryptionAtHost": false, "enableFIPS": true}}' headers: Accept: - application/json @@ -621,37 +631,43 @@ interactions: - aks nodepool add Connection: - keep-alive + Content-Length: + - '317' + Content-Type: + - application/json; charset=utf-8 ParameterSetName: - --resource-group --cluster-name --name --enable-fips-image User-Agent: - - python/3.7.3 (Linux-4.15.0-1113-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) accept-language: - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools?api-version=2021-03-01 + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/np2?api-version=2021-03-01 response: body: - string: "{\n \"value\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/nodepool1\",\n - \ \"name\": \"nodepool1\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\",\n - \ \"properties\": {\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n - \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": - \"OS\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.19.9\",\n \"enableNodePublicIP\": - false,\n \"nodeLabels\": {},\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": - false,\n \"osType\": \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2fipscontainerd-2021.03.31\",\n - \ \"enableFIPS\": true\n }\n }\n ]\n }" + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/np2\"\ + ,\n \"name\": \"np2\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\"\ + ,\n \"properties\": {\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\"\ + ,\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\"\ + : \"OS\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\"\ + ,\n \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\"\ + : \"Running\"\n },\n \"orchestratorVersion\": \"1.19.9\",\n \"enableNodePublicIP\"\ + : false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n\ + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\"\ + : \"AKSUbuntu-1804gen2fipscontainerd-2021.05.01\",\n \"upgradeSettings\"\ + : {},\n \"enableFIPS\": true\n }\n }" headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/2f1f5ae6-3091-4e4b-844d-e1510021b709?api-version=2016-03-30 cache-control: - no-cache content-length: - - '906' + - '843' content-type: - application/json date: - - Mon, 19 Apr 2021 16:54:41 GMT + - Fri, 14 May 2021 09:00:46 GMT expires: - '-1' pragma: @@ -660,20 +676,15 @@ interactions: - nginx 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 + code: 201 + message: Created - request: - body: '{"properties": {"count": 3, "vmSize": "Standard_DS2_v2", "osType": "Linux", - "type": "VirtualMachineScaleSets", "mode": "User", "upgradeSettings": {}, "enableNodePublicIP": - false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": "Delete", "nodeTaints": - [], "enableEncryptionAtHost": false, "enableFIPS": true}}' + body: null headers: Accept: - application/json @@ -683,43 +694,26 @@ interactions: - aks nodepool add Connection: - keep-alive - Content-Length: - - '317' - Content-Type: - - application/json; charset=utf-8 ParameterSetName: - --resource-group --cluster-name --name --enable-fips-image User-Agent: - - python/3.7.3 (Linux-4.15.0-1113-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/np2?api-version=2021-03-01 + - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/2f1f5ae6-3091-4e4b-844d-e1510021b709?api-version=2016-03-30 response: body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/np2\",\n - \ \"name\": \"np2\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\",\n - \ \"properties\": {\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n - \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": - \"OS\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.19.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2fipscontainerd-2021.03.31\",\n - \ \"upgradeSettings\": {},\n \"enableFIPS\": true\n }\n }" + string: "{\n \"name\": \"e65a1f2f-9130-4b4e-844d-e1510021b709\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2021-05-14T09:00:45.4766666Z\"\n }" headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/c527d52c-aa73-4b1e-a8c1-6de136065114?api-version=2016-03-30 cache-control: - no-cache content-length: - - '821' + - '126' content-type: - application/json date: - - Mon, 19 Apr 2021 16:54:46 GMT + - Fri, 14 May 2021 09:01:16 GMT expires: - '-1' pragma: @@ -728,13 +722,15 @@ interactions: - nginx 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: 201 - message: Created + code: 200 + message: OK - request: body: null headers: @@ -749,15 +745,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --enable-fips-image User-Agent: - - python/3.7.3 (Linux-4.15.0-1113-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/c527d52c-aa73-4b1e-a8c1-6de136065114?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/2f1f5ae6-3091-4e4b-844d-e1510021b709?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2cd527c5-73aa-1e4b-a8c1-6de136065114\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-19T16:54:46.0566666Z\"\n }" + string: "{\n \"name\": \"e65a1f2f-9130-4b4e-844d-e1510021b709\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2021-05-14T09:00:45.4766666Z\"\n }" headers: cache-control: - no-cache @@ -766,7 +761,7 @@ interactions: content-type: - application/json date: - - Mon, 19 Apr 2021 16:55:17 GMT + - Fri, 14 May 2021 09:01:47 GMT expires: - '-1' pragma: @@ -798,15 +793,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --enable-fips-image User-Agent: - - python/3.7.3 (Linux-4.15.0-1113-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/c527d52c-aa73-4b1e-a8c1-6de136065114?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/2f1f5ae6-3091-4e4b-844d-e1510021b709?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2cd527c5-73aa-1e4b-a8c1-6de136065114\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-19T16:54:46.0566666Z\"\n }" + string: "{\n \"name\": \"e65a1f2f-9130-4b4e-844d-e1510021b709\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2021-05-14T09:00:45.4766666Z\"\n }" headers: cache-control: - no-cache @@ -815,7 +809,7 @@ interactions: content-type: - application/json date: - - Mon, 19 Apr 2021 16:55:47 GMT + - Fri, 14 May 2021 09:02:18 GMT expires: - '-1' pragma: @@ -847,15 +841,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --enable-fips-image User-Agent: - - python/3.7.3 (Linux-4.15.0-1113-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/c527d52c-aa73-4b1e-a8c1-6de136065114?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/2f1f5ae6-3091-4e4b-844d-e1510021b709?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2cd527c5-73aa-1e4b-a8c1-6de136065114\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-19T16:54:46.0566666Z\"\n }" + string: "{\n \"name\": \"e65a1f2f-9130-4b4e-844d-e1510021b709\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2021-05-14T09:00:45.4766666Z\"\n }" headers: cache-control: - no-cache @@ -864,7 +857,7 @@ interactions: content-type: - application/json date: - - Mon, 19 Apr 2021 16:56:17 GMT + - Fri, 14 May 2021 09:02:49 GMT expires: - '-1' pragma: @@ -896,15 +889,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --enable-fips-image User-Agent: - - python/3.7.3 (Linux-4.15.0-1113-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/c527d52c-aa73-4b1e-a8c1-6de136065114?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/2f1f5ae6-3091-4e4b-844d-e1510021b709?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2cd527c5-73aa-1e4b-a8c1-6de136065114\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-19T16:54:46.0566666Z\"\n }" + string: "{\n \"name\": \"e65a1f2f-9130-4b4e-844d-e1510021b709\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2021-05-14T09:00:45.4766666Z\"\n }" headers: cache-control: - no-cache @@ -913,7 +905,7 @@ interactions: content-type: - application/json date: - - Mon, 19 Apr 2021 16:56:48 GMT + - Fri, 14 May 2021 09:03:20 GMT expires: - '-1' pragma: @@ -945,15 +937,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --enable-fips-image User-Agent: - - python/3.7.3 (Linux-4.15.0-1113-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/c527d52c-aa73-4b1e-a8c1-6de136065114?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/2f1f5ae6-3091-4e4b-844d-e1510021b709?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2cd527c5-73aa-1e4b-a8c1-6de136065114\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-19T16:54:46.0566666Z\"\n }" + string: "{\n \"name\": \"e65a1f2f-9130-4b4e-844d-e1510021b709\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2021-05-14T09:00:45.4766666Z\"\n }" headers: cache-control: - no-cache @@ -962,7 +953,7 @@ interactions: content-type: - application/json date: - - Mon, 19 Apr 2021 16:57:19 GMT + - Fri, 14 May 2021 09:03:51 GMT expires: - '-1' pragma: @@ -994,15 +985,14 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --enable-fips-image User-Agent: - - python/3.7.3 (Linux-4.15.0-1113-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/c527d52c-aa73-4b1e-a8c1-6de136065114?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/2f1f5ae6-3091-4e4b-844d-e1510021b709?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2cd527c5-73aa-1e4b-a8c1-6de136065114\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-19T16:54:46.0566666Z\"\n }" + string: "{\n \"name\": \"e65a1f2f-9130-4b4e-844d-e1510021b709\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2021-05-14T09:00:45.4766666Z\"\n }" headers: cache-control: - no-cache @@ -1011,7 +1001,7 @@ interactions: content-type: - application/json date: - - Mon, 19 Apr 2021 16:57:49 GMT + - Fri, 14 May 2021 09:04:22 GMT expires: - '-1' pragma: @@ -1043,16 +1033,15 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --enable-fips-image User-Agent: - - python/3.7.3 (Linux-4.15.0-1113-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/c527d52c-aa73-4b1e-a8c1-6de136065114?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/2f1f5ae6-3091-4e4b-844d-e1510021b709?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"2cd527c5-73aa-1e4b-a8c1-6de136065114\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-04-19T16:54:46.0566666Z\",\n \"endTime\": - \"2021-04-19T16:58:06.6317801Z\"\n }" + string: "{\n \"name\": \"e65a1f2f-9130-4b4e-844d-e1510021b709\",\n \"status\"\ + : \"Succeeded\",\n \"startTime\": \"2021-05-14T09:00:45.4766666Z\",\n \"\ + endTime\": \"2021-05-14T09:04:47.3107996Z\"\n }" headers: cache-control: - no-cache @@ -1061,7 +1050,7 @@ interactions: content-type: - application/json date: - - Mon, 19 Apr 2021 16:58:19 GMT + - Fri, 14 May 2021 09:04:52 GMT expires: - '-1' pragma: @@ -1093,32 +1082,32 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --enable-fips-image User-Agent: - - python/3.7.3 (Linux-4.15.0-1113-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/np2?api-version=2021-03-01 response: body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/np2\",\n - \ \"name\": \"np2\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\",\n - \ \"properties\": {\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n - \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": - \"OS\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.19.9\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2fipscontainerd-2021.03.31\",\n - \ \"upgradeSettings\": {},\n \"enableFIPS\": true\n }\n }" + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/np2\"\ + ,\n \"name\": \"np2\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\"\ + ,\n \"properties\": {\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\"\ + ,\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\"\ + : \"OS\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\"\ + ,\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"\ + code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.19.9\",\n \"\ + enableNodePublicIP\": false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\"\ + : false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\"\ + : \"AKSUbuntu-1804gen2fipscontainerd-2021.05.01\",\n \"upgradeSettings\"\ + : {},\n \"enableFIPS\": true\n }\n }" headers: cache-control: - no-cache content-length: - - '822' + - '844' content-type: - application/json date: - - Mon, 19 Apr 2021 16:58:21 GMT + - Fri, 14 May 2021 09:04:54 GMT expires: - '-1' pragma: @@ -1152,29 +1141,28 @@ interactions: ParameterSetName: - -g -n --yes --no-wait User-Agent: - - python/3.7.3 (Linux-4.15.0-1113-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.1.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-containerservice/11.2.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) accept-language: - en-US method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-03-01 response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/32caa27b-cd58-41ca-b69b-e468de99d27f?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/34711a6a-f097-45b6-9143-26bbde9e98cc?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Mon, 19 Apr 2021 16:58:26 GMT + - Fri, 14 May 2021 09:04:59 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operationresults/32caa27b-cd58-41ca-b69b-e468de99d27f?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operationresults/34711a6a-f097-45b6-9143-26bbde9e98cc?api-version=2016-03-30 pragma: - no-cache server: diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_pod_identity_enabled.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_pod_identity_enabled.yaml index 3bd16dbc48d..e15bc2f306f 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_pod_identity_enabled.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_pod_identity_enabled.yaml @@ -1,80 +1,4 @@ interactions: -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3537","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:27:26 GMT - etag: - - W/"8a2-2B+Eg4D6QHqa+Uakm7EgvEHnb04" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3537","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:27:26 GMT - etag: - - W/"8a2-2B+Eg4D6QHqa+Uakm7EgvEHnb04" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -90,16 +14,12 @@ interactions: - --resource-group --name --location --generate-ssh-keys --enable-managed-identity --enable-pod-identity --enable-pod-identity-with-kubenet User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-resource/12.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-resource/16.1.0 Python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"product":"azurecli","cause":"automation","date":"2021-04-09T06:27:24Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"product":"azurecli","cause":"automation","date":"2021-05-14T05:58:24Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -108,7 +28,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 09 Apr 2021 06:27:25 GMT + - Fri, 14 May 2021 05:58:27 GMT expires: - '-1' pragma: @@ -122,94 +42,20 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3537","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:27:26 GMT - etag: - - W/"8a2-2B+Eg4D6QHqa+Uakm7EgvEHnb04" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3537","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:27:26 GMT - etag: - - W/"8a2-2B+Eg4D6QHqa+Uakm7EgvEHnb04" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: '{"location": "westus2", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitest246lno3zk-c10894", "agentPoolProfiles": [{"count": 3, "vmSize": + "cliakstest-clitestuxnry3zg4-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "enableEncryptionAtHost": false, "name": "nodepool1"}], "linuxProfile": - {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F"}]}}, - "addonProfiles": {}, "podIdentityProfile": {"enabled": true, "allowNetworkPluginKubenet": - true}, "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": - {"networkPlugin": "kubenet", "podCidr": "10.244.0.0/16", "serviceCidr": "10.0.0.0/16", - "dnsServiceIP": "10.0.0.10", "dockerBridgeCidr": "172.17.0.1/16", "outboundType": - "loadBalancer", "loadBalancerSku": "standard"}}, "identity": {"type": "SystemAssigned"}}' + "Delete", "enableEncryptionAtHost": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\n"}]}}, "addonProfiles": {}, "podIdentityProfile": + {"enabled": true, "allowNetworkPluginKubenet": true}, "enableRBAC": true, "enablePodSecurityPolicy": + false, "networkProfile": {"networkPlugin": "kubenet", "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", "dockerBridgeCidr": + "172.17.0.1/16", "outboundType": "loadBalancer", "loadBalancerSku": "standard"}}, + "identity": {"type": "SystemAssigned"}}' headers: Accept: - application/json @@ -220,16 +66,16 @@ interactions: Connection: - keep-alive Content-Length: - - '1299' + - '1348' Content-Type: - application/json; charset=utf-8 ParameterSetName: - --resource-group --name --location --generate-ssh-keys --enable-managed-identity --enable-pod-identity --enable-pod-identity-with-kubenet User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 accept-language: - en-US method: PUT @@ -240,44 +86,44 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitest246lno3zk-c10894\",\n - \ \"fqdn\": \"cliakstest-clitest246lno3zk-c10894-01778ffb.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitest246lno3zk-c10894-01778ffb.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuxnry3zg4-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Creating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n - \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": - {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"standard\",\n - \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n }\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": - \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": - \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": - 10,\n \"podIdentityProfile\": {\n \"enabled\": true,\n \"allowNetworkPluginKubenet\": - true\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_westus2\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1\n }\n },\n \"podCidr\": + \"10.244.0.0/16\",\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": + \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": + \"loadBalancer\"\n },\n \"maxAgentPools\": 100,\n \"podIdentityProfile\": + {\n \"enabled\": true,\n \"allowNetworkPluginKubenet\": true\n }\n + \ },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5c2aeb65-6cf5-4007-9002-57667bf4b111?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7d858b7b-755e-4bfb-b329-d6e5ff283451?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2785' + - '2746' content-type: - application/json date: - - Fri, 09 Apr 2021 06:27:32 GMT + - Fri, 14 May 2021 05:58:41 GMT expires: - '-1' pragma: @@ -289,86 +135,10 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1194' + - '1199' status: code: 201 message: Created -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3501","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:28:02 GMT - etag: - - W/"8a2-81Z/FeVSUJvlAOIWGqPyMUmJbqU" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3501","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:28:02 GMT - etag: - - W/"8a2-81Z/FeVSUJvlAOIWGqPyMUmJbqU" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -384,24 +154,24 @@ interactions: - --resource-group --name --location --generate-ssh-keys --enable-managed-identity --enable-pod-identity --enable-pod-identity-with-kubenet User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5c2aeb65-6cf5-4007-9002-57667bf4b111?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7d858b7b-755e-4bfb-b329-d6e5ff283451?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"65eb2a5c-f56c-0740-9002-57667bf4b111\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:27:32.42Z\"\n }" + string: "{\n \"name\": \"7b8b857d-5e75-fb4b-b329-d6e5ff283451\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:40.9Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '120' content-type: - application/json date: - - Fri, 09 Apr 2021 06:28:02 GMT + - Fri, 14 May 2021 05:59:13 GMT expires: - '-1' pragma: @@ -420,78 +190,102 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks create Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --location --generate-ssh-keys --enable-managed-identity + --enable-pod-identity --enable-pod-identity-with-kubenet User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7d858b7b-755e-4bfb-b329-d6e5ff283451?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3471","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"7b8b857d-5e75-fb4b-b329-d6e5ff283451\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:40.9Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '120' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:28:32 GMT - etag: - - W/"8a2-yXDQ5ymPswzPset2i7u/I0ybCZA" - x-powered-by: - - Express + - Fri, 14 May 2021 05:59:44 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks create Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --location --generate-ssh-keys --enable-managed-identity + --enable-pod-identity --enable-pod-identity-with-kubenet User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7d858b7b-755e-4bfb-b329-d6e5ff283451?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3471","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"7b8b857d-5e75-fb4b-b329-d6e5ff283451\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:40.9Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '120' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:28:32 GMT - etag: - - W/"8a2-yXDQ5ymPswzPset2i7u/I0ybCZA" - x-powered-by: - - Express + - Fri, 14 May 2021 06:00:16 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -510,24 +304,24 @@ interactions: - --resource-group --name --location --generate-ssh-keys --enable-managed-identity --enable-pod-identity --enable-pod-identity-with-kubenet User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5c2aeb65-6cf5-4007-9002-57667bf4b111?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7d858b7b-755e-4bfb-b329-d6e5ff283451?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"65eb2a5c-f56c-0740-9002-57667bf4b111\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:27:32.42Z\"\n }" + string: "{\n \"name\": \"7b8b857d-5e75-fb4b-b329-d6e5ff283451\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:40.9Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '120' content-type: - application/json date: - - Fri, 09 Apr 2021 06:28:32 GMT + - Fri, 14 May 2021 06:00:48 GMT expires: - '-1' pragma: @@ -546,78 +340,102 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks create Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --location --generate-ssh-keys --enable-managed-identity + --enable-pod-identity --enable-pod-identity-with-kubenet User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7d858b7b-755e-4bfb-b329-d6e5ff283451?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3440","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"7b8b857d-5e75-fb4b-b329-d6e5ff283451\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:40.9Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '120' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:29:03 GMT - etag: - - W/"8a2-BIhLpiJGnoeX8TM3uZbAMHSsqu4" - x-powered-by: - - Express + - Fri, 14 May 2021 06:01:19 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks create Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --location --generate-ssh-keys --enable-managed-identity + --enable-pod-identity --enable-pod-identity-with-kubenet User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7d858b7b-755e-4bfb-b329-d6e5ff283451?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3440","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"7b8b857d-5e75-fb4b-b329-d6e5ff283451\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:40.9Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '120' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:29:03 GMT - etag: - - W/"8a2-BIhLpiJGnoeX8TM3uZbAMHSsqu4" - x-powered-by: - - Express + - Fri, 14 May 2021 06:01:51 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -636,24 +454,25 @@ interactions: - --resource-group --name --location --generate-ssh-keys --enable-managed-identity --enable-pod-identity --enable-pod-identity-with-kubenet User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5c2aeb65-6cf5-4007-9002-57667bf4b111?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7d858b7b-755e-4bfb-b329-d6e5ff283451?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"65eb2a5c-f56c-0740-9002-57667bf4b111\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:27:32.42Z\"\n }" + string: "{\n \"name\": \"7b8b857d-5e75-fb4b-b329-d6e5ff283451\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-05-14T05:58:40.9Z\",\n \"endTime\": + \"2021-05-14T06:02:07.2179566Z\"\n }" headers: cache-control: - no-cache content-length: - - '121' + - '164' content-type: - application/json date: - - Fri, 09 Apr 2021 06:29:03 GMT + - Fri, 14 May 2021 06:02:23 GMT expires: - '-1' pragma: @@ -672,2368 +491,23 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3410","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:29:33 GMT - etag: - - W/"8a2-C3f8zwxxbssw4044pJY1cd4y//I" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3410","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:29:33 GMT - etag: - - W/"8a2-C3f8zwxxbssw4044pJY1cd4y//I" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --location --generate-ssh-keys --enable-managed-identity - --enable-pod-identity --enable-pod-identity-with-kubenet - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5c2aeb65-6cf5-4007-9002-57667bf4b111?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"65eb2a5c-f56c-0740-9002-57667bf4b111\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:27:32.42Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '121' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:29:33 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3380","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:30:03 GMT - etag: - - W/"8a2-Qr7mIcH0qO7u5bVRH840kp0ngig" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3380","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:30:03 GMT - etag: - - W/"8a2-Qr7mIcH0qO7u5bVRH840kp0ngig" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --location --generate-ssh-keys --enable-managed-identity - --enable-pod-identity --enable-pod-identity-with-kubenet - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5c2aeb65-6cf5-4007-9002-57667bf4b111?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"65eb2a5c-f56c-0740-9002-57667bf4b111\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:27:32.42Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '121' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:30:03 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3350","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:30:33 GMT - etag: - - W/"8a2-//2T9afdMF/yarOQzRfy355TeJg" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3350","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:30:33 GMT - etag: - - W/"8a2-//2T9afdMF/yarOQzRfy355TeJg" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --location --generate-ssh-keys --enable-managed-identity - --enable-pod-identity --enable-pod-identity-with-kubenet - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5c2aeb65-6cf5-4007-9002-57667bf4b111?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"65eb2a5c-f56c-0740-9002-57667bf4b111\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:27:32.42Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '121' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:30:33 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3320","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:31:03 GMT - etag: - - W/"8a2-vWb4oUu5SjXk2Bzyy6BJZtV6NQk" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3320","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:31:03 GMT - etag: - - W/"8a2-vWb4oUu5SjXk2Bzyy6BJZtV6NQk" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --location --generate-ssh-keys --enable-managed-identity - --enable-pod-identity --enable-pod-identity-with-kubenet - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5c2aeb65-6cf5-4007-9002-57667bf4b111?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"65eb2a5c-f56c-0740-9002-57667bf4b111\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:27:32.42Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '121' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:31:04 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3289","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:31:34 GMT - etag: - - W/"8a2-HPbgRhn07Pq2Ki6EijpftllztwM" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3289","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:31:34 GMT - etag: - - W/"8a2-HPbgRhn07Pq2Ki6EijpftllztwM" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --location --generate-ssh-keys --enable-managed-identity - --enable-pod-identity --enable-pod-identity-with-kubenet - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5c2aeb65-6cf5-4007-9002-57667bf4b111?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"65eb2a5c-f56c-0740-9002-57667bf4b111\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:27:32.42Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '121' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:31:33 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3259","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:32:04 GMT - etag: - - W/"8a2-REhbrewEFsju7uqL7vdb50CixWA" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3259","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:32:04 GMT - etag: - - W/"8a2-REhbrewEFsju7uqL7vdb50CixWA" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --location --generate-ssh-keys --enable-managed-identity - --enable-pod-identity --enable-pod-identity-with-kubenet - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5c2aeb65-6cf5-4007-9002-57667bf4b111?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"65eb2a5c-f56c-0740-9002-57667bf4b111\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:27:32.42Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '121' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:32:03 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3229","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:32:34 GMT - etag: - - W/"8a2-47vCBul18xRLyAPCmCdLV1y4Jro" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3229","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:32:34 GMT - etag: - - W/"8a2-47vCBul18xRLyAPCmCdLV1y4Jro" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --location --generate-ssh-keys --enable-managed-identity - --enable-pod-identity --enable-pod-identity-with-kubenet - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5c2aeb65-6cf5-4007-9002-57667bf4b111?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"65eb2a5c-f56c-0740-9002-57667bf4b111\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:27:32.42Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '121' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:32:33 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3199","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:33:04 GMT - etag: - - W/"8a2-XTF58lTff4+Kto6IaRVYg2DtAjw" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3199","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:33:04 GMT - etag: - - W/"8a2-XTF58lTff4+Kto6IaRVYg2DtAjw" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --location --generate-ssh-keys --enable-managed-identity - --enable-pod-identity --enable-pod-identity-with-kubenet - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5c2aeb65-6cf5-4007-9002-57667bf4b111?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"65eb2a5c-f56c-0740-9002-57667bf4b111\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:27:32.42Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '121' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:33:03 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3169","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:33:34 GMT - etag: - - W/"8a2-88Eo6NFKnfi6PjVJjga1oYX3uWI" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3169","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:33:34 GMT - etag: - - W/"8a2-88Eo6NFKnfi6PjVJjga1oYX3uWI" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --location --generate-ssh-keys --enable-managed-identity - --enable-pod-identity --enable-pod-identity-with-kubenet - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5c2aeb65-6cf5-4007-9002-57667bf4b111?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"65eb2a5c-f56c-0740-9002-57667bf4b111\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:27:32.42Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '121' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:33:34 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3139","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:34:04 GMT - etag: - - W/"8a2-HJBSlM9pcgu7cp4OkLRjKQG1jWo" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3139","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:34:04 GMT - etag: - - W/"8a2-HJBSlM9pcgu7cp4OkLRjKQG1jWo" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --location --generate-ssh-keys --enable-managed-identity - --enable-pod-identity --enable-pod-identity-with-kubenet - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5c2aeb65-6cf5-4007-9002-57667bf4b111?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"65eb2a5c-f56c-0740-9002-57667bf4b111\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:27:32.42Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '121' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:34:04 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3109","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:34:34 GMT - etag: - - W/"8a2-rSbyMlEwNH7xvxpUHN8gqAdp5f4" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3109","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:34:34 GMT - etag: - - W/"8a2-rSbyMlEwNH7xvxpUHN8gqAdp5f4" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --location --generate-ssh-keys --enable-managed-identity - --enable-pod-identity --enable-pod-identity-with-kubenet - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5c2aeb65-6cf5-4007-9002-57667bf4b111?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"65eb2a5c-f56c-0740-9002-57667bf4b111\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:27:32.42Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '121' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:34:34 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3078","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:35:05 GMT - etag: - - W/"8a2-M7SLDGCfHGy8UPEaRMxsZ7C2C5o" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3078","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:35:05 GMT - etag: - - W/"8a2-M7SLDGCfHGy8UPEaRMxsZ7C2C5o" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --location --generate-ssh-keys --enable-managed-identity - --enable-pod-identity --enable-pod-identity-with-kubenet - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5c2aeb65-6cf5-4007-9002-57667bf4b111?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"65eb2a5c-f56c-0740-9002-57667bf4b111\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-04-09T06:27:32.42Z\",\n \"endTime\": - \"2021-04-09T06:34:38.1500686Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '165' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:35:04 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3078","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:35:05 GMT - etag: - - W/"8a2-M7SLDGCfHGy8UPEaRMxsZ7C2C5o" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3078","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:35:05 GMT - etag: - - W/"8a2-M7SLDGCfHGy8UPEaRMxsZ7C2C5o" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --location --generate-ssh-keys --enable-managed-identity - --enable-pod-identity --enable-pod-identity-with-kubenet - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 - response: - body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n - \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": - \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": - \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitest246lno3zk-c10894\",\n - \ \"fqdn\": \"cliakstest-clitest246lno3zk-c10894-01778ffb.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitest246lno3zk-c10894-01778ffb.portal.hcp.westus2.azmk8s.io\",\n - \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": - 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": - \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n - \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": - {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n - \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/e8d74e51-2292-4cc7-ad47-ab570675657d\"\n - \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": - \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": - \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": - 10,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n - \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true,\n \"allowNetworkPluginKubenet\": - true\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n - \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": - {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" - headers: - cache-control: - - no-cache - content-length: - - '3448' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:35:05 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3077","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:35:06 GMT - etag: - - W/"8a2-aSrR4+S4Z3ZiMn9HbHnGuZ/YQN0" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3077","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:35:06 GMT - etag: - - W/"8a2-aSrR4+S4Z3ZiMn9HbHnGuZ/YQN0" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --disable-pod-identity - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 - response: - body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n - \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": - \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": - \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitest246lno3zk-c10894\",\n - \ \"fqdn\": \"cliakstest-clitest246lno3zk-c10894-01778ffb.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitest246lno3zk-c10894-01778ffb.portal.hcp.westus2.azmk8s.io\",\n - \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": - 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": - \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n - \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": - {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n - \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/e8d74e51-2292-4cc7-ad47-ab570675657d\"\n - \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": - \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": - \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": - 10,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n - \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true,\n \"allowNetworkPluginKubenet\": - true\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n - \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": - {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" - headers: - cache-control: - - no-cache - content-length: - - '3448' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:35:06 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3077","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:35:06 GMT - etag: - - W/"8a2-aSrR4+S4Z3ZiMn9HbHnGuZ/YQN0" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3077","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:35:06 GMT - etag: - - W/"8a2-aSrR4+S4Z3ZiMn9HbHnGuZ/YQN0" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.18.14", - "dnsPrefix": "cliakstest-clitest246lno3zk-c10894", "agentPoolProfiles": [{"count": - 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", - "kubeletDiskType": "OS", "maxPods": 110, "osType": "Linux", "type": "VirtualMachineScaleSets", - "mode": "System", "orchestratorVersion": "1.18.14", "enableNodePublicIP": false, - "nodeLabels": {}, "enableEncryptionAtHost": false, "enableFIPS": false, "name": - "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": - [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F"}]}}, - "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, - "addonProfiles": {"KubeDashboard": {"enabled": false}}, "podIdentityProfile": - {"enabled": false}, "nodeResourceGroup": "MC_clitest000001_cliakstest000002_westus2", - "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": - "kubenet", "podCidr": "10.244.0.0/16", "serviceCidr": "10.0.0.0/16", "dnsServiceIP": - "10.0.0.10", "dockerBridgeCidr": "172.17.0.1/16", "outboundType": "loadBalancer", - "loadBalancerSku": "Standard", "loadBalancerProfile": {"managedOutboundIPs": - {"count": 1}, "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/e8d74e51-2292-4cc7-ad47-ab570675657d"}]}}, - "autoUpgradeProfile": {}, "identityProfile": {"kubeletidentity": {"resourceId": - "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", - "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}}, - "identity": {"type": "SystemAssigned"}, "sku": {"name": "Basic", "tier": "Free"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - Content-Length: - - '2242' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - --resource-group --name --disable-pod-identity - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 - response: - body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n - \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": - \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": - \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitest246lno3zk-c10894\",\n - \ \"fqdn\": \"cliakstest-clitest246lno3zk-c10894-01778ffb.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitest246lno3zk-c10894-01778ffb.portal.hcp.westus2.azmk8s.io\",\n - \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": - 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": - \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n - \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": - {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n - \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/e8d74e51-2292-4cc7-ad47-ab570675657d\"\n - \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": - \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": - \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": - 10,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n - \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n },\n \"podIdentityProfile\": {}\n },\n \"identity\": {\n \"type\": - \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n - \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": - {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/692dde1c-a67e-4c22-aa27-c463a566500b?api-version=2016-03-30 - cache-control: - - no-cache - content-length: - - '3383' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:35:09 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - 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: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3043","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:35:40 GMT - etag: - - W/"8a2-Rm/bj6pkY6NqvTpQwAripnlLRM0" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3043","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:35:40 GMT - etag: - - W/"8a2-Rm/bj6pkY6NqvTpQwAripnlLRM0" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --disable-pod-identity - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/692dde1c-a67e-4c22-aa27-c463a566500b?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"1cde2d69-7ea6-224c-aa27-c463a566500b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:35:09.48Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '121' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:35:39 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3013","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:36:10 GMT - etag: - - W/"8a2-xwHp0zv7lzBdLJ4nRSIoRr9rnqY" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3013","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:36:10 GMT - etag: - - W/"8a2-xwHp0zv7lzBdLJ4nRSIoRr9rnqY" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --disable-pod-identity - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/692dde1c-a67e-4c22-aa27-c463a566500b?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"1cde2d69-7ea6-224c-aa27-c463a566500b\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-04-09T06:35:09.48Z\",\n \"endTime\": - \"2021-04-09T06:36:04.9863044Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '165' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:36:10 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3013","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:36:10 GMT - etag: - - W/"8a2-xwHp0zv7lzBdLJ4nRSIoRr9rnqY" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3013","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:36:10 GMT - etag: - - W/"8a2-xwHp0zv7lzBdLJ4nRSIoRr9rnqY" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update + CommandName: + - aks create Connection: - keep-alive ParameterSetName: - - --resource-group --name --disable-pod-identity + - --resource-group --name --location --generate-ssh-keys --enable-managed-identity + --enable-pod-identity --enable-pod-identity-with-kubenet User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 response: @@ -3042,46 +516,46 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitest246lno3zk-c10894\",\n - \ \"fqdn\": \"cliakstest-clitest246lno3zk-c10894-01778ffb.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitest246lno3zk-c10894-01778ffb.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuxnry3zg4-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n - \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": - {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n - \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/e8d74e51-2292-4cc7-ad47-ab570675657d\"\n + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_westus2\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1\n },\n \"effectiveOutboundIPs\": + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/6837d37d-e06e-467d-b6c9-02f6bf585753\"\n \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": - 10,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n },\n \"podIdentityProfile\": {}\n },\n \"identity\": {\n \"type\": - \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true,\n \"allowNetworkPluginKubenet\": + true\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: cache-control: - no-cache content-length: - - '3385' + - '3409' content-type: - application/json date: - - Fri, 09 Apr 2021 06:36:10 GMT + - Fri, 14 May 2021 06:02:25 GMT expires: - '-1' pragma: @@ -3099,82 +573,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3012","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:36:11 GMT - etag: - - W/"8a2-5XL31LQN3lyFdnOM2QATN96pWvs" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3012","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:36:11 GMT - etag: - - W/"8a2-5XL31LQN3lyFdnOM2QATN96pWvs" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -3187,11 +585,11 @@ interactions: Connection: - keep-alive ParameterSetName: - - --resource-group --name --enable-pod-identity --enable-pod-identity-with-kubenet + - --resource-group --name --disable-pod-identity User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 accept-language: - en-US method: GET @@ -3202,46 +600,46 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitest246lno3zk-c10894\",\n - \ \"fqdn\": \"cliakstest-clitest246lno3zk-c10894-01778ffb.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitest246lno3zk-c10894-01778ffb.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuxnry3zg4-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n - \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": - {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n - \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/e8d74e51-2292-4cc7-ad47-ab570675657d\"\n + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_westus2\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1\n },\n \"effectiveOutboundIPs\": + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/6837d37d-e06e-467d-b6c9-02f6bf585753\"\n \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": - 10,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n },\n \"podIdentityProfile\": {}\n },\n \"identity\": {\n \"type\": - \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true,\n \"allowNetworkPluginKubenet\": + true\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: cache-control: - no-cache content-length: - - '3385' + - '3409' content-type: - application/json date: - - Fri, 09 Apr 2021 06:36:11 GMT + - Fri, 14 May 2021 06:02:26 GMT expires: - '-1' pragma: @@ -3260,99 +658,21 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3012","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:36:11 GMT - etag: - - W/"8a2-5XL31LQN3lyFdnOM2QATN96pWvs" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"3012","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:36:11 GMT - etag: - - W/"8a2-5XL31LQN3lyFdnOM2QATN96pWvs" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.18.14", - "dnsPrefix": "cliakstest-clitest246lno3zk-c10894", "agentPoolProfiles": [{"count": - 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", - "kubeletDiskType": "OS", "maxPods": 110, "osType": "Linux", "type": "VirtualMachineScaleSets", - "mode": "System", "orchestratorVersion": "1.18.14", "enableNodePublicIP": false, + body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.9", "dnsPrefix": + "cliakstest-clitestuxnry3zg4-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": + "OS", "maxPods": 110, "osType": "Linux", "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.19.9", "enableNodePublicIP": false, "nodeLabels": {}, "enableEncryptionAtHost": false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": - [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F"}]}}, - "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, - "addonProfiles": {"KubeDashboard": {"enabled": false}}, "podIdentityProfile": - {"enabled": true, "allowNetworkPluginKubenet": true, "userAssignedIdentities": - [], "userAssignedIdentityExceptions": []}, "nodeResourceGroup": "MC_clitest000001_cliakstest000002_westus2", + [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\n"}]}}, "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, + "podIdentityProfile": {"enabled": false}, "nodeResourceGroup": "MC_clitest000001_cliakstest000002_westus2", "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": "kubenet", "podCidr": "10.244.0.0/16", "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", "dockerBridgeCidr": "172.17.0.1/16", "outboundType": "loadBalancer", "loadBalancerSku": "Standard", "loadBalancerProfile": {"managedOutboundIPs": - {"count": 1}, "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/e8d74e51-2292-4cc7-ad47-ab570675657d"}]}}, + {"count": 1}, "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/6837d37d-e06e-467d-b6c9-02f6bf585753"}]}}, "autoUpgradeProfile": {}, "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}}, @@ -3367,15 +687,15 @@ interactions: Connection: - keep-alive Content-Length: - - '2344' + - '2231' Content-Type: - application/json; charset=utf-8 ParameterSetName: - - --resource-group --name --enable-pod-identity --enable-pod-identity-with-kubenet + - --resource-group --name --disable-pod-identity User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 accept-language: - en-US method: PUT @@ -3386,265 +706,64 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitest246lno3zk-c10894\",\n - \ \"fqdn\": \"cliakstest-clitest246lno3zk-c10894-01778ffb.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitest246lno3zk-c10894-01778ffb.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuxnry3zg4-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n - \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": - {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n - \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/e8d74e51-2292-4cc7-ad47-ab570675657d\"\n + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_westus2\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1\n },\n \"effectiveOutboundIPs\": + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/6837d37d-e06e-467d-b6c9-02f6bf585753\"\n \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": - 10,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true,\n \"allowNetworkPluginKubenet\": - true\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ }\n },\n \"podIdentityProfile\": {}\n },\n \"identity\": {\n \"type\": + \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/9be37403-6d0f-4e36-a9fe-0baba438f4db?api-version=2016-03-30 - cache-control: - - no-cache - content-length: - - '3446' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:36:13 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - 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: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2979","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:36:44 GMT - etag: - - W/"8a2-kYaK7V855j7R9+pxl3XawdUk3Y4" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2979","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:36:44 GMT - etag: - - W/"8a2-kYaK7V855j7R9+pxl3XawdUk3Y4" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-pod-identity --enable-pod-identity-with-kubenet - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/9be37403-6d0f-4e36-a9fe-0baba438f4db?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"0374e39b-0f6d-364e-a9fe-0baba438f4db\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:36:14.1033333Z\"\n }" - headers: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f73db248-c0e8-4d5b-9e69-30c116b75004?api-version=2016-03-30 cache-control: - no-cache content-length: - - '126' + - '3344' content-type: - application/json date: - - Fri, 09 Apr 2021 06:36:44 GMT + - Fri, 14 May 2021 06:02:31 GMT expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2949","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:37:14 GMT - etag: - - W/"8a2-PCK+jEuHtgsdChTSmFeB/nYzpd4" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2949","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:37:14 GMT - etag: - - W/"8a2-PCK+jEuHtgsdChTSmFeB/nYzpd4" - x-powered-by: - - Express + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1195' status: code: 200 message: OK @@ -3660,27 +779,26 @@ interactions: Connection: - keep-alive ParameterSetName: - - --resource-group --name --enable-pod-identity --enable-pod-identity-with-kubenet + - --resource-group --name --disable-pod-identity User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/9be37403-6d0f-4e36-a9fe-0baba438f4db?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f73db248-c0e8-4d5b-9e69-30c116b75004?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"0374e39b-0f6d-364e-a9fe-0baba438f4db\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-04-09T06:36:14.1033333Z\",\n \"endTime\": - \"2021-04-09T06:37:14.4358033Z\"\n }" + string: "{\n \"name\": \"48b23df7-e8c0-5b4d-9e69-30c116b75004\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:02:31.5366666Z\"\n }" headers: cache-control: - no-cache content-length: - - '170' + - '126' content-type: - application/json date: - - Fri, 09 Apr 2021 06:37:14 GMT + - Fri, 14 May 2021 06:03:04 GMT expires: - '-1' pragma: @@ -3699,78 +817,52 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2949","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:37:14 GMT - etag: - - W/"8a2-PCK+jEuHtgsdChTSmFeB/nYzpd4" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks update Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --disable-pod-identity User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f73db248-c0e8-4d5b-9e69-30c116b75004?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2949","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"48b23df7-e8c0-5b4d-9e69-30c116b75004\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-05-14T06:02:31.5366666Z\",\n \"endTime\": + \"2021-05-14T06:03:32.7500931Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '170' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:37:14 GMT - etag: - - W/"8a2-PCK+jEuHtgsdChTSmFeB/nYzpd4" - x-powered-by: - - Express + - Fri, 14 May 2021 06:03:34 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -3786,11 +878,11 @@ interactions: Connection: - keep-alive ParameterSetName: - - --resource-group --name --enable-pod-identity --enable-pod-identity-with-kubenet + - --resource-group --name --disable-pod-identity User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 response: @@ -3799,46 +891,46 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitest246lno3zk-c10894\",\n - \ \"fqdn\": \"cliakstest-clitest246lno3zk-c10894-01778ffb.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitest246lno3zk-c10894-01778ffb.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuxnry3zg4-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n - \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": - {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n - \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/e8d74e51-2292-4cc7-ad47-ab570675657d\"\n + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_westus2\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1\n },\n \"effectiveOutboundIPs\": + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/6837d37d-e06e-467d-b6c9-02f6bf585753\"\n \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": - 10,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true,\n \"allowNetworkPluginKubenet\": - true\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ }\n },\n \"podIdentityProfile\": {}\n },\n \"identity\": {\n \"type\": + \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: cache-control: - no-cache content-length: - - '3448' + - '3346' content-type: - application/json date: - - Fri, 09 Apr 2021 06:37:14 GMT + - Fri, 14 May 2021 06:03:36 GMT expires: - '-1' pragma: @@ -3856,82 +948,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2948","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:37:15 GMT - etag: - - W/"8a2-WGadkkkZrpJvT0alj8S7lR5MN3s" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2948","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:37:15 GMT - etag: - - W/"8a2-WGadkkkZrpJvT0alj8S7lR5MN3s" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -3940,15 +956,15 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks pod-identity exception add + - aks update Connection: - keep-alive ParameterSetName: - - --cluster-name --resource-group --namespace --name --pod-labels + - --resource-group --name --enable-pod-identity --enable-pod-identity-with-kubenet User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 accept-language: - en-US method: GET @@ -3959,46 +975,46 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitest246lno3zk-c10894\",\n - \ \"fqdn\": \"cliakstest-clitest246lno3zk-c10894-01778ffb.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitest246lno3zk-c10894-01778ffb.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuxnry3zg4-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n - \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": - {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n - \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/e8d74e51-2292-4cc7-ad47-ab570675657d\"\n + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_westus2\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1\n },\n \"effectiveOutboundIPs\": + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/6837d37d-e06e-467d-b6c9-02f6bf585753\"\n \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": - 10,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true,\n \"allowNetworkPluginKubenet\": - true\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ }\n },\n \"podIdentityProfile\": {}\n },\n \"identity\": {\n \"type\": + \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: cache-control: - no-cache content-length: - - '3448' + - '3346' content-type: - application/json date: - - Fri, 09 Apr 2021 06:37:15 GMT + - Fri, 14 May 2021 06:03:38 GMT expires: - '-1' pragma: @@ -4017,101 +1033,24 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2947","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:37:16 GMT - etag: - - W/"8a2-FPyXV3DTuqsM1GI09kJ+3IruhRc" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2947","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:37:16 GMT - etag: - - W/"8a2-FPyXV3DTuqsM1GI09kJ+3IruhRc" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.18.14", - "dnsPrefix": "cliakstest-clitest246lno3zk-c10894", "agentPoolProfiles": [{"count": - 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", - "kubeletDiskType": "OS", "maxPods": 110, "osType": "Linux", "type": "VirtualMachineScaleSets", - "mode": "System", "orchestratorVersion": "1.18.14", "enableNodePublicIP": false, + body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.9", "dnsPrefix": + "cliakstest-clitestuxnry3zg4-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": + "OS", "maxPods": 110, "osType": "Linux", "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.19.9", "enableNodePublicIP": false, "nodeLabels": {}, "enableEncryptionAtHost": false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": - [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F"}]}}, - "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, - "addonProfiles": {"KubeDashboard": {"enabled": false}}, "podIdentityProfile": - {"enabled": true, "allowNetworkPluginKubenet": true, "userAssignedIdentities": - [], "userAssignedIdentityExceptions": [{"name": "test-name", "namespace": "test-namespace", - "podLabels": {"foo": "bar"}}]}, "nodeResourceGroup": "MC_clitest000001_cliakstest000002_westus2", + [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\n"}]}}, "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, + "podIdentityProfile": {"enabled": true, "allowNetworkPluginKubenet": true, "userAssignedIdentities": + [], "userAssignedIdentityExceptions": []}, "nodeResourceGroup": "MC_clitest000001_cliakstest000002_westus2", "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": "kubenet", "podCidr": "10.244.0.0/16", "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", "dockerBridgeCidr": "172.17.0.1/16", "outboundType": "loadBalancer", "loadBalancerSku": "Standard", "loadBalancerProfile": {"managedOutboundIPs": - {"count": 1}, "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/e8d74e51-2292-4cc7-ad47-ab570675657d"}]}}, - "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", + {"count": 1}, "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/6837d37d-e06e-467d-b6c9-02f6bf585753"}]}}, + "autoUpgradeProfile": {}, "identityProfile": {"kubeletidentity": {"resourceId": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}}, "identity": {"type": "SystemAssigned"}, "sku": {"name": "Basic", "tier": "Free"}}' headers: @@ -4120,19 +1059,19 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks pod-identity exception add + - aks update Connection: - keep-alive Content-Length: - - '2399' + - '2333' Content-Type: - application/json; charset=utf-8 ParameterSetName: - - --cluster-name --resource-group --namespace --name --pod-labels + - --resource-group --name --enable-pod-identity --enable-pod-identity-with-kubenet User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 accept-language: - en-US method: PUT @@ -4143,51 +1082,48 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitest246lno3zk-c10894\",\n - \ \"fqdn\": \"cliakstest-clitest246lno3zk-c10894-01778ffb.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitest246lno3zk-c10894-01778ffb.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuxnry3zg4-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n - \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": - {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n - \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/e8d74e51-2292-4cc7-ad47-ab570675657d\"\n + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_westus2\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1\n },\n \"effectiveOutboundIPs\": + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/6837d37d-e06e-467d-b6c9-02f6bf585753\"\n \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": - 10,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true,\n \"allowNetworkPluginKubenet\": - true,\n \"userAssignedIdentityExceptions\": [\n {\n \"name\": - \"test-name\",\n \"namespace\": \"test-namespace\",\n \"podLabels\": - {\n \"foo\": \"bar\"\n }\n }\n ]\n }\n },\n \"identity\": - {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + true\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6c2b1a32-a617-4011-ba2c-e0edecef8a4d?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/574b889c-3092-4398-a05e-a61fde787f55?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3620' + - '3407' content-type: - application/json date: - - Fri, 09 Apr 2021 06:37:18 GMT + - Fri, 14 May 2021 06:03:46 GMT expires: - '-1' pragma: @@ -4203,83 +1139,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1196' - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2914","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:37:49 GMT - etag: - - W/"8a2-Qj9vuhnWOP/9WH8GycMwJBtJ0aI" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2914","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:37:49 GMT - etag: - - W/"8a2-Qj9vuhnWOP/9WH8GycMwJBtJ0aI" - x-powered-by: - - Express + - '1198' status: code: 200 message: OK @@ -4291,21 +1151,21 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks pod-identity exception add + - aks update Connection: - keep-alive ParameterSetName: - - --cluster-name --resource-group --namespace --name --pod-labels + - --resource-group --name --enable-pod-identity --enable-pod-identity-with-kubenet User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6c2b1a32-a617-4011-ba2c-e0edecef8a4d?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/574b889c-3092-4398-a05e-a61fde787f55?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"321a2b6c-17a6-1140-ba2c-e0edecef8a4d\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:37:18.5766666Z\"\n }" + string: "{\n \"name\": \"9c884b57-9230-9843-a05e-a61fde787f55\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:03:44.3333333Z\"\n }" headers: cache-control: - no-cache @@ -4314,7 +1174,7 @@ interactions: content-type: - application/json date: - - Fri, 09 Apr 2021 06:37:48 GMT + - Fri, 14 May 2021 06:04:17 GMT expires: - '-1' pragma: @@ -4323,88 +1183,61 @@ interactions: - nginx strict-transport-security: - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2884","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:38:19 GMT - etag: - - W/"8a2-FYDaR2ypvzb3zk9yiRCQaWhGXFs" - x-powered-by: - - Express + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks update Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --enable-pod-identity --enable-pod-identity-with-kubenet User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/574b889c-3092-4398-a05e-a61fde787f55?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2884","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"9c884b57-9230-9843-a05e-a61fde787f55\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:03:44.3333333Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:38:19 GMT - etag: - - W/"8a2-FYDaR2ypvzb3zk9yiRCQaWhGXFs" - x-powered-by: - - Express + - Fri, 14 May 2021 06:04:49 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -4416,31 +1249,30 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks pod-identity exception add + - aks update Connection: - keep-alive ParameterSetName: - - --cluster-name --resource-group --namespace --name --pod-labels + - --resource-group --name --enable-pod-identity --enable-pod-identity-with-kubenet User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6c2b1a32-a617-4011-ba2c-e0edecef8a4d?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/574b889c-3092-4398-a05e-a61fde787f55?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"321a2b6c-17a6-1140-ba2c-e0edecef8a4d\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-04-09T06:37:18.5766666Z\",\n \"endTime\": - \"2021-04-09T06:38:14.024512Z\"\n }" + string: "{\n \"name\": \"9c884b57-9230-9843-a05e-a61fde787f55\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:03:44.3333333Z\"\n }" headers: cache-control: - no-cache content-length: - - '169' + - '126' content-type: - application/json date: - - Fri, 09 Apr 2021 06:38:18 GMT + - Fri, 14 May 2021 06:05:20 GMT expires: - '-1' pragma: @@ -4459,78 +1291,101 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks update Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --enable-pod-identity --enable-pod-identity-with-kubenet User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/574b889c-3092-4398-a05e-a61fde787f55?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2884","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"9c884b57-9230-9843-a05e-a61fde787f55\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:03:44.3333333Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:38:19 GMT - etag: - - W/"8a2-FYDaR2ypvzb3zk9yiRCQaWhGXFs" - x-powered-by: - - Express + - Fri, 14 May 2021 06:05:52 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks update Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --enable-pod-identity --enable-pod-identity-with-kubenet User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/574b889c-3092-4398-a05e-a61fde787f55?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2884","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"9c884b57-9230-9843-a05e-a61fde787f55\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-05-14T06:03:44.3333333Z\",\n \"endTime\": + \"2021-05-14T06:06:15.5312982Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '170' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:38:19 GMT - etag: - - W/"8a2-FYDaR2ypvzb3zk9yiRCQaWhGXFs" - x-powered-by: - - Express + - Fri, 14 May 2021 06:06:24 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -4542,15 +1397,15 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks pod-identity exception add + - aks update Connection: - keep-alive ParameterSetName: - - --cluster-name --resource-group --namespace --name --pod-labels + - --resource-group --name --enable-pod-identity --enable-pod-identity-with-kubenet User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 response: @@ -4559,49 +1414,46 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitest246lno3zk-c10894\",\n - \ \"fqdn\": \"cliakstest-clitest246lno3zk-c10894-01778ffb.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitest246lno3zk-c10894-01778ffb.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuxnry3zg4-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n - \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": - {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n - \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/e8d74e51-2292-4cc7-ad47-ab570675657d\"\n + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_westus2\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1\n },\n \"effectiveOutboundIPs\": + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/6837d37d-e06e-467d-b6c9-02f6bf585753\"\n \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": - 10,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true,\n \"allowNetworkPluginKubenet\": - true,\n \"userAssignedIdentityExceptions\": [\n {\n \"name\": - \"test-name\",\n \"namespace\": \"test-namespace\",\n \"podLabels\": - {\n \"foo\": \"bar\"\n }\n }\n ]\n }\n },\n \"identity\": - {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + true\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: cache-control: - no-cache content-length: - - '3622' + - '3409' content-type: - application/json date: - - Fri, 09 Apr 2021 06:38:19 GMT + - Fri, 14 May 2021 06:06:25 GMT expires: - '-1' pragma: @@ -4619,82 +1471,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2883","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:38:20 GMT - etag: - - W/"8a2-tGkQS/Olqv4sj+0+iwsPot3KJSY" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2883","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:38:20 GMT - etag: - - W/"8a2-tGkQS/Olqv4sj+0+iwsPot3KJSY" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -4703,15 +1479,15 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks pod-identity exception update + - aks pod-identity exception add Connection: - keep-alive ParameterSetName: - --cluster-name --resource-group --namespace --name --pod-labels User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 accept-language: - en-US method: GET @@ -4722,49 +1498,46 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitest246lno3zk-c10894\",\n - \ \"fqdn\": \"cliakstest-clitest246lno3zk-c10894-01778ffb.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitest246lno3zk-c10894-01778ffb.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuxnry3zg4-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n - \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": - {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n - \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/e8d74e51-2292-4cc7-ad47-ab570675657d\"\n + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_westus2\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1\n },\n \"effectiveOutboundIPs\": + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/6837d37d-e06e-467d-b6c9-02f6bf585753\"\n \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": - 10,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true,\n \"allowNetworkPluginKubenet\": - true,\n \"userAssignedIdentityExceptions\": [\n {\n \"name\": - \"test-name\",\n \"namespace\": \"test-namespace\",\n \"podLabels\": - {\n \"foo\": \"bar\"\n }\n }\n ]\n }\n },\n \"identity\": - {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + true\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: cache-control: - no-cache content-length: - - '3622' + - '3409' content-type: - application/json date: - - Fri, 09 Apr 2021 06:38:19 GMT + - Fri, 14 May 2021 06:06:27 GMT expires: - '-1' pragma: @@ -4783,100 +1556,23 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2883","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:38:20 GMT - etag: - - W/"8a2-tGkQS/Olqv4sj+0+iwsPot3KJSY" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2883","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:38:20 GMT - etag: - - W/"8a2-tGkQS/Olqv4sj+0+iwsPot3KJSY" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.18.14", - "dnsPrefix": "cliakstest-clitest246lno3zk-c10894", "agentPoolProfiles": [{"count": - 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", - "kubeletDiskType": "OS", "maxPods": 110, "osType": "Linux", "type": "VirtualMachineScaleSets", - "mode": "System", "orchestratorVersion": "1.18.14", "enableNodePublicIP": false, + body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.9", "dnsPrefix": + "cliakstest-clitestuxnry3zg4-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": + "OS", "maxPods": 110, "osType": "Linux", "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.19.9", "enableNodePublicIP": false, "nodeLabels": {}, "enableEncryptionAtHost": false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": - [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F"}]}}, - "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, - "addonProfiles": {"KubeDashboard": {"enabled": false}}, "podIdentityProfile": - {"enabled": true, "allowNetworkPluginKubenet": true, "userAssignedIdentities": + [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\n"}]}}, "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, + "podIdentityProfile": {"enabled": true, "allowNetworkPluginKubenet": true, "userAssignedIdentities": [], "userAssignedIdentityExceptions": [{"name": "test-name", "namespace": "test-namespace", - "podLabels": {"foo": "bar", "a": "b"}}]}, "nodeResourceGroup": "MC_clitest000001_cliakstest000002_westus2", + "podLabels": {"foo": "bar"}}]}, "nodeResourceGroup": "MC_clitest000001_cliakstest000002_westus2", "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": "kubenet", "podCidr": "10.244.0.0/16", "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", "dockerBridgeCidr": "172.17.0.1/16", "outboundType": "loadBalancer", "loadBalancerSku": "Standard", "loadBalancerProfile": {"managedOutboundIPs": - {"count": 1}, "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/e8d74e51-2292-4cc7-ad47-ab570675657d"}]}}, + {"count": 1}, "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/6837d37d-e06e-467d-b6c9-02f6bf585753"}]}}, "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}}, "identity": {"type": "SystemAssigned"}, "sku": {"name": "Basic", "tier": "Free"}}' @@ -4886,19 +1582,19 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks pod-identity exception update + - aks pod-identity exception add Connection: - keep-alive Content-Length: - - '2409' + - '2388' Content-Type: - application/json; charset=utf-8 ParameterSetName: - --cluster-name --resource-group --namespace --name --pod-labels User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 accept-language: - en-US method: PUT @@ -4909,51 +1605,51 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitest246lno3zk-c10894\",\n - \ \"fqdn\": \"cliakstest-clitest246lno3zk-c10894-01778ffb.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitest246lno3zk-c10894-01778ffb.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuxnry3zg4-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n - \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": - {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n - \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/e8d74e51-2292-4cc7-ad47-ab570675657d\"\n + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_westus2\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1\n },\n \"effectiveOutboundIPs\": + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/6837d37d-e06e-467d-b6c9-02f6bf585753\"\n \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": - 10,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true,\n \"allowNetworkPluginKubenet\": true,\n \"userAssignedIdentityExceptions\": [\n {\n \"name\": \"test-name\",\n \"namespace\": \"test-namespace\",\n \"podLabels\": - {\n \"a\": \"b\",\n \"foo\": \"bar\"\n }\n }\n ]\n - \ }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + {\n \"foo\": \"bar\"\n }\n }\n ]\n }\n },\n \"identity\": + {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b8e7f3e8-6d7c-48d6-91cc-a6176770297f?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2e0cb604-4d9f-462f-91cc-71b97f9df233?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3637' + - '3581' content-type: - application/json date: - - Fri, 09 Apr 2021 06:38:23 GMT + - Fri, 14 May 2021 06:06:35 GMT expires: - '-1' pragma: @@ -4962,90 +1658,14 @@ interactions: - nginx strict-transport-security: - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1195' - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2850","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:38:53 GMT - etag: - - W/"8a2-Lrv20N7jQr6wdsi8ZqSTBQyh+V4" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2850","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:38:53 GMT - etag: - - W/"8a2-Lrv20N7jQr6wdsi8ZqSTBQyh+V4" - x-powered-by: - - Express + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' status: code: 200 message: OK @@ -5057,21 +1677,21 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks pod-identity exception update + - aks pod-identity exception add Connection: - keep-alive ParameterSetName: - --cluster-name --resource-group --namespace --name --pod-labels User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b8e7f3e8-6d7c-48d6-91cc-a6176770297f?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2e0cb604-4d9f-462f-91cc-71b97f9df233?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e8f3e7b8-7c6d-d648-91cc-a6176770297f\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:38:23.19Z\"\n }" + string: "{\n \"name\": \"04b60c2e-9f4d-2f46-91cc-71b97f9df233\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:06:33.28Z\"\n }" headers: cache-control: - no-cache @@ -5080,7 +1700,7 @@ interactions: content-type: - application/json date: - - Fri, 09 Apr 2021 06:38:53 GMT + - Fri, 14 May 2021 06:07:05 GMT expires: - '-1' pragma: @@ -5099,78 +1719,137 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks pod-identity exception add Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --cluster-name --resource-group --namespace --name --pod-labels User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/2e0cb604-4d9f-462f-91cc-71b97f9df233?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2820","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"04b60c2e-9f4d-2f46-91cc-71b97f9df233\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-05-14T06:06:33.28Z\",\n \"endTime\": + \"2021-05-14T06:07:32.9725574Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '165' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:39:23 GMT - etag: - - W/"8a2-m9woFYldhQ1en+Dsb7h4KMV43So" - x-powered-by: - - Express + - Fri, 14 May 2021 06:07:36 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks pod-identity exception add Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --cluster-name --resource-group --namespace --name --pod-labels User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2820","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n + \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuxnry3zg4-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n + \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": + \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_westus2\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1\n },\n \"effectiveOutboundIPs\": + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/6837d37d-e06e-467d-b6c9-02f6bf585753\"\n + \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": + \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": + 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true,\n \"allowNetworkPluginKubenet\": + true,\n \"userAssignedIdentityExceptions\": [\n {\n \"name\": + \"test-name\",\n \"namespace\": \"test-namespace\",\n \"podLabels\": + {\n \"foo\": \"bar\"\n }\n }\n ]\n }\n },\n \"identity\": + {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": + {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '3583' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:39:23 GMT - etag: - - W/"8a2-m9woFYldhQ1en+Dsb7h4KMV43So" - x-powered-by: - - Express + - Fri, 14 May 2021 06:07:38 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -5188,24 +1867,62 @@ interactions: ParameterSetName: - --cluster-name --resource-group --namespace --name --pod-labels User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + accept-language: + - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b8e7f3e8-6d7c-48d6-91cc-a6176770297f?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 response: body: - string: "{\n \"name\": \"e8f3e7b8-7c6d-d648-91cc-a6176770297f\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:38:23.19Z\"\n }" + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n + \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuxnry3zg4-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n + \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": + \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_westus2\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1\n },\n \"effectiveOutboundIPs\": + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/6837d37d-e06e-467d-b6c9-02f6bf585753\"\n + \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": + \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": + 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true,\n \"allowNetworkPluginKubenet\": + true,\n \"userAssignedIdentityExceptions\": [\n {\n \"name\": + \"test-name\",\n \"namespace\": \"test-namespace\",\n \"podLabels\": + {\n \"foo\": \"bar\"\n }\n }\n ]\n }\n },\n \"identity\": + {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": + {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: cache-control: - no-cache content-length: - - '121' + - '3583' content-type: - application/json date: - - Fri, 09 Apr 2021 06:39:23 GMT + - Fri, 14 May 2021 06:07:41 GMT expires: - '-1' pragma: @@ -5224,78 +1941,116 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.9", "dnsPrefix": + "cliakstest-clitestuxnry3zg4-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": + "OS", "maxPods": 110, "osType": "Linux", "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.19.9", "enableNodePublicIP": false, + "nodeLabels": {}, "enableEncryptionAtHost": false, "enableFIPS": false, "name": + "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": + [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\n"}]}}, "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, + "podIdentityProfile": {"enabled": true, "allowNetworkPluginKubenet": true, "userAssignedIdentities": + [], "userAssignedIdentityExceptions": [{"name": "test-name", "namespace": "test-namespace", + "podLabels": {"foo": "bar", "a": "b"}}]}, "nodeResourceGroup": "MC_clitest000001_cliakstest000002_westus2", + "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": + "kubenet", "podCidr": "10.244.0.0/16", "serviceCidr": "10.0.0.0/16", "dnsServiceIP": + "10.0.0.10", "dockerBridgeCidr": "172.17.0.1/16", "outboundType": "loadBalancer", + "loadBalancerSku": "Standard", "loadBalancerProfile": {"managedOutboundIPs": + {"count": 1}, "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/6837d37d-e06e-467d-b6c9-02f6bf585753"}]}}, + "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", + "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}}, + "identity": {"type": "SystemAssigned"}, "sku": {"name": "Basic", "tier": "Free"}}' headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks pod-identity exception update Connection: - keep-alive Content-Length: - - '53' + - '2398' Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2789","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:39:54 GMT - etag: - - W/"8a2-lT9eF65/eGuo+YFXePCg1vzHoCw" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --cluster-name --resource-group --namespace --name --pod-labels User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2789","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n + \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuxnry3zg4-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n + \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": + \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_westus2\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1\n },\n \"effectiveOutboundIPs\": + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/6837d37d-e06e-467d-b6c9-02f6bf585753\"\n + \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": + \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": + 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true,\n \"allowNetworkPluginKubenet\": + true,\n \"userAssignedIdentityExceptions\": [\n {\n \"name\": + \"test-name\",\n \"namespace\": \"test-namespace\",\n \"podLabels\": + {\n \"a\": \"b\",\n \"foo\": \"bar\"\n }\n }\n ]\n + \ }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": + {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: - connection: - - keep-alive + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/85a7cad0-78d7-4ecd-b339-4e646a92f5e9?api-version=2016-03-30 + cache-control: + - no-cache content-length: - - '2210' + - '3598' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:39:54 GMT - etag: - - W/"8a2-lT9eF65/eGuo+YFXePCg1vzHoCw" - x-powered-by: - - Express + - Fri, 14 May 2021 06:07:48 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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 @@ -5313,25 +2068,24 @@ interactions: ParameterSetName: - --cluster-name --resource-group --namespace --name --pod-labels User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b8e7f3e8-6d7c-48d6-91cc-a6176770297f?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/85a7cad0-78d7-4ecd-b339-4e646a92f5e9?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e8f3e7b8-7c6d-d648-91cc-a6176770297f\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-04-09T06:38:23.19Z\",\n \"endTime\": - \"2021-04-09T06:39:24.4070391Z\"\n }" + string: "{\n \"name\": \"d0caa785-d778-cd4e-b339-4e646a92f5e9\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:07:46.5366666Z\"\n }" headers: cache-control: - no-cache content-length: - - '165' + - '126' content-type: - application/json date: - - Fri, 09 Apr 2021 06:39:53 GMT + - Fri, 14 May 2021 06:08:20 GMT expires: - '-1' pragma: @@ -5350,78 +2104,52 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2789","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:39:54 GMT - etag: - - W/"8a2-lT9eF65/eGuo+YFXePCg1vzHoCw" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks pod-identity exception update Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --cluster-name --resource-group --namespace --name --pod-labels User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/85a7cad0-78d7-4ecd-b339-4e646a92f5e9?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2789","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"d0caa785-d778-cd4e-b339-4e646a92f5e9\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-05-14T06:07:46.5366666Z\",\n \"endTime\": + \"2021-05-14T06:08:39.9271371Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '170' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:39:54 GMT - etag: - - W/"8a2-lT9eF65/eGuo+YFXePCg1vzHoCw" - x-powered-by: - - Express + - Fri, 14 May 2021 06:08:50 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -5439,9 +2167,9 @@ interactions: ParameterSetName: - --cluster-name --resource-group --namespace --name --pod-labels User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 response: @@ -5450,31 +2178,31 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitest246lno3zk-c10894\",\n - \ \"fqdn\": \"cliakstest-clitest246lno3zk-c10894-01778ffb.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitest246lno3zk-c10894-01778ffb.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuxnry3zg4-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n - \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": - {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n - \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/e8d74e51-2292-4cc7-ad47-ab570675657d\"\n + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_westus2\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1\n },\n \"effectiveOutboundIPs\": + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/6837d37d-e06e-467d-b6c9-02f6bf585753\"\n \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": - 10,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true,\n \"allowNetworkPluginKubenet\": @@ -5488,11 +2216,11 @@ interactions: cache-control: - no-cache content-length: - - '3639' + - '3600' content-type: - application/json date: - - Fri, 09 Apr 2021 06:39:54 GMT + - Fri, 14 May 2021 06:08:52 GMT expires: - '-1' pragma: @@ -5510,82 +2238,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2788","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:39:55 GMT - etag: - - W/"8a2-jEsgpV/9+PVvYTGMLxGaB24Pqg8" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2788","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:39:55 GMT - etag: - - W/"8a2-jEsgpV/9+PVvYTGMLxGaB24Pqg8" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -5600,9 +2252,9 @@ interactions: ParameterSetName: - --cluster-name --resource-group --namespace --name User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 accept-language: - en-US method: GET @@ -5613,31 +2265,31 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitest246lno3zk-c10894\",\n - \ \"fqdn\": \"cliakstest-clitest246lno3zk-c10894-01778ffb.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitest246lno3zk-c10894-01778ffb.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuxnry3zg4-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n - \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": - {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n - \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/e8d74e51-2292-4cc7-ad47-ab570675657d\"\n + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_westus2\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1\n },\n \"effectiveOutboundIPs\": + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/6837d37d-e06e-467d-b6c9-02f6bf585753\"\n \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": - 10,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true,\n \"allowNetworkPluginKubenet\": @@ -5651,11 +2303,11 @@ interactions: cache-control: - no-cache content-length: - - '3639' + - '3600' content-type: - application/json date: - - Fri, 09 Apr 2021 06:39:55 GMT + - Fri, 14 May 2021 06:08:53 GMT expires: - '-1' pragma: @@ -5674,99 +2326,22 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2787","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:39:56 GMT - etag: - - W/"8a2-Fg5MPd6Gy1VXRhiU/XrozwvEN2M" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2787","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:39:56 GMT - etag: - - W/"8a2-Fg5MPd6Gy1VXRhiU/XrozwvEN2M" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.18.14", - "dnsPrefix": "cliakstest-clitest246lno3zk-c10894", "agentPoolProfiles": [{"count": - 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", - "kubeletDiskType": "OS", "maxPods": 110, "osType": "Linux", "type": "VirtualMachineScaleSets", - "mode": "System", "orchestratorVersion": "1.18.14", "enableNodePublicIP": false, + body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.9", "dnsPrefix": + "cliakstest-clitestuxnry3zg4-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": + "OS", "maxPods": 110, "osType": "Linux", "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.19.9", "enableNodePublicIP": false, "nodeLabels": {}, "enableEncryptionAtHost": false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": - [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F"}]}}, - "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, - "addonProfiles": {"KubeDashboard": {"enabled": false}}, "podIdentityProfile": - {"enabled": true, "allowNetworkPluginKubenet": true, "userAssignedIdentities": + [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\n"}]}}, "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, + "podIdentityProfile": {"enabled": true, "allowNetworkPluginKubenet": true, "userAssignedIdentities": [], "userAssignedIdentityExceptions": []}, "nodeResourceGroup": "MC_clitest000001_cliakstest000002_westus2", "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": "kubenet", "podCidr": "10.244.0.0/16", "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", "dockerBridgeCidr": "172.17.0.1/16", "outboundType": "loadBalancer", "loadBalancerSku": "Standard", "loadBalancerProfile": {"managedOutboundIPs": - {"count": 1}, "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/e8d74e51-2292-4cc7-ad47-ab570675657d"}]}}, + {"count": 1}, "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/6837d37d-e06e-467d-b6c9-02f6bf585753"}]}}, "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}}, "identity": {"type": "SystemAssigned"}, "sku": {"name": "Basic", "tier": "Free"}}' @@ -5780,15 +2355,15 @@ interactions: Connection: - keep-alive Content-Length: - - '2318' + - '2307' Content-Type: - application/json; charset=utf-8 ParameterSetName: - --cluster-name --resource-group --namespace --name User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 accept-language: - en-US method: PUT @@ -5799,31 +2374,31 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitest246lno3zk-c10894\",\n - \ \"fqdn\": \"cliakstest-clitest246lno3zk-c10894-01778ffb.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitest246lno3zk-c10894-01778ffb.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuxnry3zg4-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n - \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": - {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n - \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/e8d74e51-2292-4cc7-ad47-ab570675657d\"\n + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_westus2\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1\n },\n \"effectiveOutboundIPs\": + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/6837d37d-e06e-467d-b6c9-02f6bf585753\"\n \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": - 10,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true,\n \"allowNetworkPluginKubenet\": @@ -5832,15 +2407,15 @@ interactions: {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/629085e7-ce96-442c-bb9f-c0e6a473baf8?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a5ebb38e-a5c4-4d5d-bbbe-d79cced50616?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3446' + - '3407' content-type: - application/json date: - - Fri, 09 Apr 2021 06:39:57 GMT + - Fri, 14 May 2021 06:09:01 GMT expires: - '-1' pragma: @@ -5856,83 +2431,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1194' - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2755","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:40:28 GMT - etag: - - W/"8a2-grG9XMRA8dehs16Y8ffm9BY41ZE" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2755","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:40:28 GMT - etag: - - W/"8a2-grG9XMRA8dehs16Y8ffm9BY41ZE" - x-powered-by: - - Express + - '1198' status: code: 200 message: OK @@ -5950,24 +2449,24 @@ interactions: ParameterSetName: - --cluster-name --resource-group --namespace --name User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/629085e7-ce96-442c-bb9f-c0e6a473baf8?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a5ebb38e-a5c4-4d5d-bbbe-d79cced50616?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e7859062-96ce-2c44-bb9f-c0e6a473baf8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:39:58.1833333Z\"\n }" + string: "{\n \"name\": \"8eb3eba5-c4a5-5d4d-bbbe-d79cced50616\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:09:00.2Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '120' content-type: - application/json date: - - Fri, 09 Apr 2021 06:40:27 GMT + - Fri, 14 May 2021 06:09:33 GMT expires: - '-1' pragma: @@ -5985,82 +2484,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2725","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:40:58 GMT - etag: - - W/"8a2-XsdfpOwKiMUsRZ0Rj1u8mfBiydc" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2725","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:40:58 GMT - etag: - - W/"8a2-XsdfpOwKiMUsRZ0Rj1u8mfBiydc" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -6075,25 +2498,25 @@ interactions: ParameterSetName: - --cluster-name --resource-group --namespace --name User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/629085e7-ce96-442c-bb9f-c0e6a473baf8?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a5ebb38e-a5c4-4d5d-bbbe-d79cced50616?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e7859062-96ce-2c44-bb9f-c0e6a473baf8\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-04-09T06:39:58.1833333Z\",\n \"endTime\": - \"2021-04-09T06:40:55.1815043Z\"\n }" + string: "{\n \"name\": \"8eb3eba5-c4a5-5d4d-bbbe-d79cced50616\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-05-14T06:09:00.2Z\",\n \"endTime\": + \"2021-05-14T06:09:55.2837204Z\"\n }" headers: cache-control: - no-cache content-length: - - '170' + - '164' content-type: - application/json date: - - Fri, 09 Apr 2021 06:40:58 GMT + - Fri, 14 May 2021 06:10:04 GMT expires: - '-1' pragma: @@ -6111,82 +2534,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2724","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:40:59 GMT - etag: - - W/"8a2-AIfrqX63KMzlCQL/+SqccAFw5AY" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2724","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:40:59 GMT - etag: - - W/"8a2-AIfrqX63KMzlCQL/+SqccAFw5AY" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -6201,9 +2548,9 @@ interactions: ParameterSetName: - --cluster-name --resource-group --namespace --name User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 response: @@ -6212,31 +2559,31 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitest246lno3zk-c10894\",\n - \ \"fqdn\": \"cliakstest-clitest246lno3zk-c10894-01778ffb.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitest246lno3zk-c10894-01778ffb.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuxnry3zg4-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestuxnry3zg4-8ecadf-d1e1fdd5.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n - \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": - {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n - \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/e8d74e51-2292-4cc7-ad47-ab570675657d\"\n + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_westus2\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1\n },\n \"effectiveOutboundIPs\": + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/6837d37d-e06e-467d-b6c9-02f6bf585753\"\n \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": - 10,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n \ }\n },\n \"podIdentityProfile\": {\n \"enabled\": true,\n \"allowNetworkPluginKubenet\": @@ -6247,11 +2594,11 @@ interactions: cache-control: - no-cache content-length: - - '3448' + - '3409' content-type: - application/json date: - - Fri, 09 Apr 2021 06:40:59 GMT + - Fri, 14 May 2021 06:10:05 GMT expires: - '-1' pragma: @@ -6269,82 +2616,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2724","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:40:59 GMT - etag: - - W/"8a2-AIfrqX63KMzlCQL/+SqccAFw5AY" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2724","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:40:59 GMT - etag: - - W/"8a2-AIfrqX63KMzlCQL/+SqccAFw5AY" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -6361,29 +2632,29 @@ interactions: ParameterSetName: - --resource-group --name --yes --no-wait User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.1.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.2.0 Azure-SDK-For-Python + AZURECLI/2.23.0 accept-language: - en-US method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8c40d9a0-70d0-4c77-bc83-a143db2c1da3?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f6627a82-fa1c-4e9a-84b1-f986963863bd?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Fri, 09 Apr 2021 06:41:00 GMT + - Fri, 14 May 2021 06:10:10 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/8c40d9a0-70d0-4c77-bc83-a143db2c1da3?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/f6627a82-fa1c-4e9a-84b1-f986963863bd?api-version=2016-03-30 pragma: - no-cache server: @@ -6393,7 +2664,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14996' + - '14998' status: code: 202 message: Accepted diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_windows.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_windows.yaml index 2abc19384b0..c912ab5e4e5 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_windows.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_windows.yaml @@ -1,80 +1,4 @@ interactions: -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2704","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:41:19 GMT - etag: - - W/"8a2-sY0jLzvo5kzKjxKqO4V0+F/YoGQ" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2704","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:41:19 GMT - etag: - - W/"8a2-sY0jLzvo5kzKjxKqO4V0+F/YoGQ" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -91,16 +15,12 @@ interactions: --windows-admin-username --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-resource/12.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-resource/16.1.0 Python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"product":"azurecli","cause":"automation","date":"2021-04-09T06:41:18Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"product":"azurecli","cause":"automation","date":"2021-05-14T05:58:24Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -109,7 +29,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 09 Apr 2021 06:41:19 GMT + - Fri, 14 May 2021 05:58:27 GMT expires: - '-1' pragma: @@ -123,93 +43,18 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2704","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:41:19 GMT - etag: - - W/"8a2-sY0jLzvo5kzKjxKqO4V0+F/YoGQ" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2704","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:41:19 GMT - etag: - - W/"8a2-sY0jLzvo5kzKjxKqO4V0+F/YoGQ" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: '{"location": "westus2", "properties": {"kubernetesVersion": "", "dnsPrefix": "cliaksdns000002", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": "Delete", "enableEncryptionAtHost": - false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", - "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F"}]}}, - "windowsProfile": {"adminUsername": "azureuser1", "adminPassword": "replace-Password1234$"}, - "addonProfiles": {}, "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": - {"networkPlugin": "azure", "outboundType": "loadBalancer", "loadBalancerSku": - "standard"}}, "identity": {"type": "SystemAssigned"}}' + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\n"}]}}, "windowsProfile": {"adminUsername": "azureuser1", + "adminPassword": "replace-Password1234$"}, "addonProfiles": {}, "enableRBAC": + true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": + "azure", "outboundType": "loadBalancer", "loadBalancerSku": "standard"}}, "identity": + {"type": "SystemAssigned"}}' headers: Accept: - application/json @@ -220,7 +65,7 @@ interactions: Connection: - keep-alive Content-Length: - - '1172' + - '1221' Content-Type: - application/json; charset=utf-8 ParameterSetName: @@ -228,9 +73,9 @@ interactions: --windows-admin-username --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 accept-language: - en-US method: PUT @@ -241,44 +86,43 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000001\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-36436d82.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliaksdns000002-36436d82.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.9\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-34c37927.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-34c37927.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Creating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"windowsProfile\": {\n \"adminUsername\": - \"azureuser1\",\n \"enableCSIProxy\": true\n },\n \"servicePrincipalProfile\": - {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": - {\n \"KubeDashboard\": {\n \"enabled\": false,\n \"config\": null\n - \ }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000001_westus2\",\n + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": + {\n \"adminUsername\": \"azureuser1\",\n \"enableCSIProxy\": true\n + \ },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n + \ },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000001_westus2\",\n \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": \"azure\",\n \"loadBalancerSku\": \"standard\",\n \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": 1\n }\n },\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": - \"loadBalancer\"\n },\n \"maxAgentPools\": 10\n },\n \"identity\": {\n - \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \"loadBalancer\"\n },\n \"maxAgentPools\": 100\n },\n \"identity\": + {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ee58e8d5-8a9b-424d-9ea3-0cb2c32de179?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c1456695-b4ed-44c8-8e7c-4da90d33757e?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2695' + - '2656' content-type: - application/json date: - - Fri, 09 Apr 2021 06:41:23 GMT + - Fri, 14 May 2021 05:58:41 GMT expires: - '-1' pragma: @@ -290,86 +134,10 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1194' + - '1197' status: code: 201 message: Created -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2670","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:41:53 GMT - etag: - - W/"8a2-7n1/o5vpzo943MYSZPPqD0YtMgo" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2670","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:41:53 GMT - etag: - - W/"8a2-7n1/o5vpzo943MYSZPPqD0YtMgo" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -386,15 +154,15 @@ interactions: --windows-admin-username --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ee58e8d5-8a9b-424d-9ea3-0cb2c32de179?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c1456695-b4ed-44c8-8e7c-4da90d33757e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"d5e858ee-9b8a-4d42-9ea3-0cb2c32de179\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:41:23.0466666Z\"\n }" + string: "{\n \"name\": \"956645c1-edb4-c844-8e7c-4da90d33757e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:39.4833333Z\"\n }" headers: cache-control: - no-cache @@ -403,7 +171,7 @@ interactions: content-type: - application/json date: - - Fri, 09 Apr 2021 06:41:53 GMT + - Fri, 14 May 2021 05:59:12 GMT expires: - '-1' pragma: @@ -422,78 +190,53 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2640","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:42:23 GMT - etag: - - W/"8a2-NWTxMyTVF0GBGqq1n8xabNhkXmA" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks create Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --generate-ssh-keys + --windows-admin-username --windows-admin-password --load-balancer-sku --vm-set-type + --network-plugin User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c1456695-b4ed-44c8-8e7c-4da90d33757e?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2640","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"956645c1-edb4-c844-8e7c-4da90d33757e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:39.4833333Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:42:23 GMT - etag: - - W/"8a2-NWTxMyTVF0GBGqq1n8xabNhkXmA" - x-powered-by: - - Express + - Fri, 14 May 2021 05:59:43 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -513,15 +256,15 @@ interactions: --windows-admin-username --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ee58e8d5-8a9b-424d-9ea3-0cb2c32de179?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c1456695-b4ed-44c8-8e7c-4da90d33757e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"d5e858ee-9b8a-4d42-9ea3-0cb2c32de179\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:41:23.0466666Z\"\n }" + string: "{\n \"name\": \"956645c1-edb4-c844-8e7c-4da90d33757e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:39.4833333Z\"\n }" headers: cache-control: - no-cache @@ -530,7 +273,7 @@ interactions: content-type: - application/json date: - - Fri, 09 Apr 2021 06:42:23 GMT + - Fri, 14 May 2021 06:00:15 GMT expires: - '-1' pragma: @@ -549,78 +292,104 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks create Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --generate-ssh-keys + --windows-admin-username --windows-admin-password --load-balancer-sku --vm-set-type + --network-plugin User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c1456695-b4ed-44c8-8e7c-4da90d33757e?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2610","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"956645c1-edb4-c844-8e7c-4da90d33757e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:39.4833333Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:42:53 GMT - etag: - - W/"8a2-LAhL6u7fdYHnE66kbWUrE6SgAfI" - x-powered-by: - - Express + - Fri, 14 May 2021 06:00:47 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks create Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --generate-ssh-keys + --windows-admin-username --windows-admin-password --load-balancer-sku --vm-set-type + --network-plugin User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c1456695-b4ed-44c8-8e7c-4da90d33757e?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2610","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"956645c1-edb4-c844-8e7c-4da90d33757e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:39.4833333Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:42:53 GMT - etag: - - W/"8a2-LAhL6u7fdYHnE66kbWUrE6SgAfI" - x-powered-by: - - Express + - Fri, 14 May 2021 06:01:19 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -640,24 +409,25 @@ interactions: --windows-admin-username --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ee58e8d5-8a9b-424d-9ea3-0cb2c32de179?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/c1456695-b4ed-44c8-8e7c-4da90d33757e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"d5e858ee-9b8a-4d42-9ea3-0cb2c32de179\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:41:23.0466666Z\"\n }" + string: "{\n \"name\": \"956645c1-edb4-c844-8e7c-4da90d33757e\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-05-14T05:58:39.4833333Z\",\n \"endTime\": + \"2021-05-14T06:01:43.7680679Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '170' content-type: - application/json date: - - Fri, 09 Apr 2021 06:42:53 GMT + - Fri, 14 May 2021 06:01:49 GMT expires: - '-1' pragma: @@ -676,3055 +446,70 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks create Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --generate-ssh-keys + --windows-admin-username --windows-admin-password --load-balancer-sku --vm-set-type + --network-plugin User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-03-01 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2579","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:43:24 GMT - etag: - - W/"8a2-rUWqlRE+gWtnVFJSToW8EIpJScM" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2579","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:43:24 GMT - etag: - - W/"8a2-rUWqlRE+gWtnVFJSToW8EIpJScM" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --location --dns-name-prefix --node-count --generate-ssh-keys - --windows-admin-username --windows-admin-password --load-balancer-sku --vm-set-type - --network-plugin - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ee58e8d5-8a9b-424d-9ea3-0cb2c32de179?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"d5e858ee-9b8a-4d42-9ea3-0cb2c32de179\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:41:23.0466666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:43:24 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2549","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:43:54 GMT - etag: - - W/"8a2-Hj2b7l0YhrFlZ7SC+whMx8UjGyg" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2549","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:43:54 GMT - etag: - - W/"8a2-Hj2b7l0YhrFlZ7SC+whMx8UjGyg" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --location --dns-name-prefix --node-count --generate-ssh-keys - --windows-admin-username --windows-admin-password --load-balancer-sku --vm-set-type - --network-plugin - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ee58e8d5-8a9b-424d-9ea3-0cb2c32de179?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"d5e858ee-9b8a-4d42-9ea3-0cb2c32de179\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:41:23.0466666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:43:53 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2519","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:44:24 GMT - etag: - - W/"8a2-v9OuxJ5SGpbq6LXDMYBIsBxH/Hw" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2519","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:44:24 GMT - etag: - - W/"8a2-v9OuxJ5SGpbq6LXDMYBIsBxH/Hw" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --location --dns-name-prefix --node-count --generate-ssh-keys - --windows-admin-username --windows-admin-password --load-balancer-sku --vm-set-type - --network-plugin - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ee58e8d5-8a9b-424d-9ea3-0cb2c32de179?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"d5e858ee-9b8a-4d42-9ea3-0cb2c32de179\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-04-09T06:41:23.0466666Z\",\n \"endTime\": - \"2021-04-09T06:44:19.2847409Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '170' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:44:23 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2519","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:44:24 GMT - etag: - - W/"8a2-v9OuxJ5SGpbq6LXDMYBIsBxH/Hw" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2519","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:44:24 GMT - etag: - - W/"8a2-v9OuxJ5SGpbq6LXDMYBIsBxH/Hw" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --location --dns-name-prefix --node-count --generate-ssh-keys - --windows-admin-username --windows-admin-password --load-balancer-sku --vm-set-type - --network-plugin - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-03-01 - response: - body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\",\n - \ \"location\": \"westus2\",\n \"name\": \"cliakstest000001\",\n \"type\": - \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": - \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-36436d82.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliaksdns000002-36436d82.portal.hcp.westus2.azmk8s.io\",\n - \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": - 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": - \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": - \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"windowsProfile\": {\n \"adminUsername\": - \"azureuser1\",\n \"enableCSIProxy\": true\n },\n \"servicePrincipalProfile\": - {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": - {\n \"KubeDashboard\": {\n \"enabled\": false,\n \"config\": null\n - \ }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000001_westus2\",\n - \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": - {\n \"networkPlugin\": \"azure\",\n \"loadBalancerSku\": \"Standard\",\n - \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/b26be02d-aba0-46b9-b8f4-18e80237853f\"\n - \ }\n ]\n },\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": - \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": - \"loadBalancer\"\n },\n \"maxAgentPools\": 10,\n \"identityProfile\": - {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000001-agentpool\",\n - \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n - \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": - {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" - headers: - cache-control: - - no-cache - content-length: - - '3358' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:44:24 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2518","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:44:25 GMT - etag: - - W/"8a2-zI1Xixy6gImWSVPzFI9N1dPq0FU" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2518","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:44:25 GMT - etag: - - W/"8a2-zI1Xixy6gImWSVPzFI9N1dPq0FU" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks nodepool add - Connection: - - keep-alive - ParameterSetName: - - --resource-group --cluster-name --name --os-type --node-count - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools?api-version=2021-03-01 - response: - body: - string: "{\n \"value\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/nodepool1\",\n - \ \"name\": \"nodepool1\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\",\n - \ \"properties\": {\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n - \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": - \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.18.14\",\n \"enableNodePublicIP\": - false,\n \"nodeLabels\": {},\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": - false,\n \"osType\": \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n - \ \"enableFIPS\": false\n }\n }\n ]\n }" - headers: - cache-control: - - no-cache - content-length: - - '893' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:44:25 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2518","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:44:25 GMT - etag: - - W/"8a2-zI1Xixy6gImWSVPzFI9N1dPq0FU" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2518","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:44:25 GMT - etag: - - W/"8a2-zI1Xixy6gImWSVPzFI9N1dPq0FU" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: '{"properties": {"count": 1, "vmSize": "Standard_D2s_v3", "osType": "Windows", - "type": "VirtualMachineScaleSets", "mode": "User", "upgradeSettings": {}, "enableNodePublicIP": - false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": "Delete", "nodeTaints": - [], "enableEncryptionAtHost": false}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks nodepool add - Connection: - - keep-alive - Content-Length: - - '299' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - --resource-group --cluster-name --name --os-type --node-count - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin?api-version=2021-03-01 - response: - body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin\",\n - \ \"name\": \"npwin\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\",\n - \ \"properties\": {\n \"count\": 1,\n \"vmSize\": \"Standard_D2s_v3\",\n - \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": - \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.18.14\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Windows\",\n \"nodeImageVersion\": \"AKSWindows-2019-17763.1817.210310\",\n - \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n }" - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f0788f0a-11f2-4d8e-b97b-8a1500094507?api-version=2016-03-30 - cache-control: - - no-cache - content-length: - - '818' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:44:28 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1194' - status: - code: 201 - message: Created -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2485","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:44:58 GMT - etag: - - W/"8a2-4TgyZdtpx1Fh2DxAnVS/gBqChvc" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2485","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:44:58 GMT - etag: - - W/"8a2-4TgyZdtpx1Fh2DxAnVS/gBqChvc" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks nodepool add - Connection: - - keep-alive - ParameterSetName: - - --resource-group --cluster-name --name --os-type --node-count - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f0788f0a-11f2-4d8e-b97b-8a1500094507?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"0a8f78f0-f211-8e4d-b97b-8a1500094507\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:44:28.5033333Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:44:58 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2455","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:45:28 GMT - etag: - - W/"8a2-t8sLVLyFBFfH03K6rCUShJHeCXU" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2455","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:45:28 GMT - etag: - - W/"8a2-t8sLVLyFBFfH03K6rCUShJHeCXU" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks nodepool add - Connection: - - keep-alive - ParameterSetName: - - --resource-group --cluster-name --name --os-type --node-count - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f0788f0a-11f2-4d8e-b97b-8a1500094507?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"0a8f78f0-f211-8e4d-b97b-8a1500094507\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:44:28.5033333Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:45:28 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2424","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:45:59 GMT - etag: - - W/"8a2-+4uatDcJQHFEkKidaOvUWEfDDZ0" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2424","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:45:59 GMT - etag: - - W/"8a2-+4uatDcJQHFEkKidaOvUWEfDDZ0" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks nodepool add - Connection: - - keep-alive - ParameterSetName: - - --resource-group --cluster-name --name --os-type --node-count - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f0788f0a-11f2-4d8e-b97b-8a1500094507?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"0a8f78f0-f211-8e4d-b97b-8a1500094507\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:44:28.5033333Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:45:58 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2394","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:46:29 GMT - etag: - - W/"8a2-dlxNexssQVo3J8Nda7XKfaHC4Wo" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2394","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:46:29 GMT - etag: - - W/"8a2-dlxNexssQVo3J8Nda7XKfaHC4Wo" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks nodepool add - Connection: - - keep-alive - ParameterSetName: - - --resource-group --cluster-name --name --os-type --node-count - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f0788f0a-11f2-4d8e-b97b-8a1500094507?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"0a8f78f0-f211-8e4d-b97b-8a1500094507\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:44:28.5033333Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:46:28 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2364","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:46:59 GMT - etag: - - W/"8a2-Ekw2kQJ1jQ6Ms6R4TzqY4fcd5qo" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2364","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:46:59 GMT - etag: - - W/"8a2-Ekw2kQJ1jQ6Ms6R4TzqY4fcd5qo" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks nodepool add - Connection: - - keep-alive - ParameterSetName: - - --resource-group --cluster-name --name --os-type --node-count - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f0788f0a-11f2-4d8e-b97b-8a1500094507?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"0a8f78f0-f211-8e4d-b97b-8a1500094507\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:44:28.5033333Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:46:59 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2334","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:47:29 GMT - etag: - - W/"8a2-eG0Y8XixAYYjW7GsestGKY5Mpb0" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2334","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:47:29 GMT - etag: - - W/"8a2-eG0Y8XixAYYjW7GsestGKY5Mpb0" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks nodepool add - Connection: - - keep-alive - ParameterSetName: - - --resource-group --cluster-name --name --os-type --node-count - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f0788f0a-11f2-4d8e-b97b-8a1500094507?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"0a8f78f0-f211-8e4d-b97b-8a1500094507\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:44:28.5033333Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:47:29 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2304","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:47:59 GMT - etag: - - W/"8a2-0NAyngaFhwZbgNoEXhovap+zN1I" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2304","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:47:59 GMT - etag: - - W/"8a2-0NAyngaFhwZbgNoEXhovap+zN1I" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks nodepool add - Connection: - - keep-alive - ParameterSetName: - - --resource-group --cluster-name --name --os-type --node-count - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f0788f0a-11f2-4d8e-b97b-8a1500094507?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"0a8f78f0-f211-8e4d-b97b-8a1500094507\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:44:28.5033333Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:47:59 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2274","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:48:29 GMT - etag: - - W/"8a2-s2fJ2p4QqArvH5RPr+2G/R9KpUE" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2274","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:48:29 GMT - etag: - - W/"8a2-s2fJ2p4QqArvH5RPr+2G/R9KpUE" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks nodepool add - Connection: - - keep-alive - ParameterSetName: - - --resource-group --cluster-name --name --os-type --node-count - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f0788f0a-11f2-4d8e-b97b-8a1500094507?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"0a8f78f0-f211-8e4d-b97b-8a1500094507\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:44:28.5033333Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:48:29 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2244","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:48:59 GMT - etag: - - W/"8a2-5tk2LrS+WletHNnvsGdQ8J5hzjY" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2244","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:48:59 GMT - etag: - - W/"8a2-5tk2LrS+WletHNnvsGdQ8J5hzjY" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks nodepool add - Connection: - - keep-alive - ParameterSetName: - - --resource-group --cluster-name --name --os-type --node-count - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f0788f0a-11f2-4d8e-b97b-8a1500094507?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"0a8f78f0-f211-8e4d-b97b-8a1500094507\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:44:28.5033333Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:48:59 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2214","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:49:29 GMT - etag: - - W/"8a2-PSKUu83QJPCSYHD2zfFvfefm9Xc" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2214","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:49:29 GMT - etag: - - W/"8a2-PSKUu83QJPCSYHD2zfFvfefm9Xc" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks nodepool add - Connection: - - keep-alive - ParameterSetName: - - --resource-group --cluster-name --name --os-type --node-count - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f0788f0a-11f2-4d8e-b97b-8a1500094507?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"0a8f78f0-f211-8e4d-b97b-8a1500094507\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:44:28.5033333Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:49:29 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2183","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:50:00 GMT - etag: - - W/"8a2-FoFtLJ4z9MMLJN/ewLu70XYxjZ8" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2183","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:50:00 GMT - etag: - - W/"8a2-FoFtLJ4z9MMLJN/ewLu70XYxjZ8" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks nodepool add - Connection: - - keep-alive - ParameterSetName: - - --resource-group --cluster-name --name --os-type --node-count - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f0788f0a-11f2-4d8e-b97b-8a1500094507?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"0a8f78f0-f211-8e4d-b97b-8a1500094507\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-04-09T06:44:28.5033333Z\",\n \"endTime\": - \"2021-04-09T06:49:50.3048623Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '170' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:49:59 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2183","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:50:00 GMT - etag: - - W/"8a2-FoFtLJ4z9MMLJN/ewLu70XYxjZ8" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2183","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:50:00 GMT - etag: - - W/"8a2-FoFtLJ4z9MMLJN/ewLu70XYxjZ8" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks nodepool add - Connection: - - keep-alive - ParameterSetName: - - --resource-group --cluster-name --name --os-type --node-count - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin?api-version=2021-03-01 - response: - body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin\",\n - \ \"name\": \"npwin\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\",\n - \ \"properties\": {\n \"count\": 1,\n \"vmSize\": \"Standard_D2s_v3\",\n - \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": - \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n - \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.18.14\",\n \"enableNodePublicIP\": - false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Windows\",\n \"nodeImageVersion\": \"AKSWindows-2019-17763.1817.210310\",\n - \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n }" - headers: - cache-control: - - no-cache - content-length: - - '819' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:50:00 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2182","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:50:01 GMT - etag: - - W/"8a2-XCYpQ2JN70VMKdw9WhhOev26B58" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2182","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:50:01 GMT - etag: - - W/"8a2-XCYpQ2JN70VMKdw9WhhOev26B58" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-ahub - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-03-01 - response: - body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\",\n - \ \"location\": \"westus2\",\n \"name\": \"cliakstest000001\",\n \"type\": - \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": - \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-36436d82.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliaksdns000002-36436d82.portal.hcp.westus2.azmk8s.io\",\n - \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": - 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": - \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": - \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n - \ \"enableFIPS\": false\n },\n {\n \"name\": \"npwin\",\n \"count\": - 1,\n \"vmSize\": \"Standard_D2s_v3\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": - \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": - \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n - \ \"enableEncryptionAtHost\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": - \"AKSWindows-2019-17763.1817.210310\",\n \"upgradeSettings\": {},\n \"enableFIPS\": - false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n - \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"windowsProfile\": {\n \"adminUsername\": - \"azureuser1\",\n \"enableCSIProxy\": true\n },\n \"servicePrincipalProfile\": - {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": - {\n \"KubeDashboard\": {\n \"enabled\": false,\n \"config\": null\n - \ }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000001_westus2\",\n - \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": - {\n \"networkPlugin\": \"azure\",\n \"loadBalancerSku\": \"Standard\",\n - \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/b26be02d-aba0-46b9-b8f4-18e80237853f\"\n - \ }\n ]\n },\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": - \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": - \"loadBalancer\"\n },\n \"maxAgentPools\": 10,\n \"identityProfile\": - {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000001-agentpool\",\n - \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n - \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": - {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" - headers: - cache-control: - - no-cache - content-length: - - '3955' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:50:01 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2182","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:50:01 GMT - etag: - - W/"8a2-XCYpQ2JN70VMKdw9WhhOev26B58" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2182","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:50:01 GMT - etag: - - W/"8a2-XCYpQ2JN70VMKdw9WhhOev26B58" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.18.14", - "dnsPrefix": "cliaksdns000002", "agentPoolProfiles": [{"count": 1, "vmSize": - "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": - "OS", "maxPods": 30, "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": - "System", "orchestratorVersion": "1.18.14", "enableNodePublicIP": false, "nodeLabels": - {}, "enableEncryptionAtHost": false, "enableFIPS": false, "name": "nodepool1"}, - {"count": 1, "vmSize": "Standard_D2s_v3", "osDiskSizeGB": 128, "osDiskType": - "Managed", "kubeletDiskType": "OS", "maxPods": 30, "osType": "Windows", "type": - "VirtualMachineScaleSets", "mode": "User", "orchestratorVersion": "1.18.14", - "upgradeSettings": {}, "enableNodePublicIP": false, "enableEncryptionAtHost": - false, "enableFIPS": false, "name": "npwin"}], "linuxProfile": {"adminUsername": - "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F"}]}}, - "windowsProfile": {"adminUsername": "azureuser1", "licenseType": "Windows_Server", - "enableCSIProxy": true}, "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, - "addonProfiles": {"KubeDashboard": {"enabled": false}}, "nodeResourceGroup": - "MC_clitest000001_cliakstest000001_westus2", "enableRBAC": true, "enablePodSecurityPolicy": - false, "networkProfile": {"networkPlugin": "azure", "serviceCidr": "10.0.0.0/16", - "dnsServiceIP": "10.0.0.10", "dockerBridgeCidr": "172.17.0.1/16", "outboundType": - "loadBalancer", "loadBalancerSku": "Standard", "loadBalancerProfile": {"managedOutboundIPs": - {"count": 1}, "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/b26be02d-aba0-46b9-b8f4-18e80237853f"}]}}, - "autoUpgradeProfile": {}, "identityProfile": {"kubeletidentity": {"resourceId": - "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000001-agentpool", - "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}}, - "identity": {"type": "SystemAssigned"}, "sku": {"name": "Basic", "tier": "Free"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - Content-Length: - - '2617' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - --resource-group --name --enable-ahub - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-03-01 - response: - body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\",\n - \ \"location\": \"westus2\",\n \"name\": \"cliakstest000001\",\n \"type\": - \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": - \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-36436d82.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliaksdns000002-36436d82.portal.hcp.westus2.azmk8s.io\",\n - \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": - 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": - \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": - \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n - \ \"enableFIPS\": false\n },\n {\n \"name\": \"npwin\",\n \"count\": - 1,\n \"vmSize\": \"Standard_D2s_v3\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": - \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": - \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n - \ \"enableEncryptionAtHost\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": - \"AKSWindows-2019-17763.1817.210310\",\n \"upgradeSettings\": {},\n \"enableFIPS\": - false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n - \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"windowsProfile\": {\n \"adminUsername\": - \"azureuser1\",\n \"licenseType\": \"Windows_Server\",\n \"enableCSIProxy\": - true\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000001_westus2\",\n - \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": - {\n \"networkPlugin\": \"azure\",\n \"loadBalancerSku\": \"Standard\",\n - \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/b26be02d-aba0-46b9-b8f4-18e80237853f\"\n - \ }\n ]\n },\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": - \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": - \"loadBalancer\"\n },\n \"maxAgentPools\": 10,\n \"identityProfile\": - {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000001-agentpool\",\n - \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n - \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": - {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0fc9a7e4-93a0-4af6-b1b0-a8cf06fd5a3b?api-version=2016-03-30 - cache-control: - - no-cache - content-length: - - '3989' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:50:04 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1194' - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2149","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:50:34 GMT - etag: - - W/"8a2-4is+gPYan8wtNCzA2PYTacSja90" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2149","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:50:34 GMT - etag: - - W/"8a2-4is+gPYan8wtNCzA2PYTacSja90" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-ahub - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0fc9a7e4-93a0-4af6-b1b0-a8cf06fd5a3b?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"e4a7c90f-a093-f64a-b1b0-a8cf06fd5a3b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:50:04.3133333Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:50:34 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2118","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:51:05 GMT - etag: - - W/"8a2-Fjefr/hUoARKusppeZbGU0BqKrM" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2118","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:51:05 GMT - etag: - - W/"8a2-Fjefr/hUoARKusppeZbGU0BqKrM" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-ahub - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0fc9a7e4-93a0-4af6-b1b0-a8cf06fd5a3b?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"e4a7c90f-a093-f64a-b1b0-a8cf06fd5a3b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:50:04.3133333Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 06:51:04 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2088","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:51:35 GMT - etag: - - W/"8a2-0Y2mYDUKo4bSZQ8n7QWNgaYgxho" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2088","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:51:35 GMT - etag: - - W/"8a2-0Y2mYDUKo4bSZQ8n7QWNgaYgxho" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-ahub - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0fc9a7e4-93a0-4af6-b1b0-a8cf06fd5a3b?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"e4a7c90f-a093-f64a-b1b0-a8cf06fd5a3b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:50:04.3133333Z\"\n }" + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\",\n + \ \"location\": \"westus2\",\n \"name\": \"cliakstest000001\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.9\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-34c37927.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-34c37927.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": + \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n + \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": + \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": + {\n \"adminUsername\": \"azureuser1\",\n \"enableCSIProxy\": true\n + \ },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n + \ },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000001_westus2\",\n + \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": + {\n \"networkPlugin\": \"azure\",\n \"loadBalancerSku\": \"Standard\",\n + \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/b7f8fba2-38e5-479a-9d39-9419fcb33ad8\"\n + \ }\n ]\n },\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": + \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": + \"loadBalancer\"\n },\n \"maxAgentPools\": 100,\n \"identityProfile\": + {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000001-agentpool\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": + {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: cache-control: - no-cache content-length: - - '126' + - '3319' content-type: - application/json date: - - Fri, 09 Apr 2021 06:51:35 GMT + - Fri, 14 May 2021 06:01:52 GMT expires: - '-1' pragma: @@ -3742,82 +527,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2058","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:52:05 GMT - etag: - - W/"8a2-iavgN5IY+9K3PFcqkrmnYPfOvRU" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2058","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:52:05 GMT - etag: - - W/"8a2-iavgN5IY+9K3PFcqkrmnYPfOvRU" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -3826,30 +535,41 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks update + - aks nodepool add Connection: - keep-alive ParameterSetName: - - --resource-group --name --enable-ahub + - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + accept-language: + - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0fc9a7e4-93a0-4af6-b1b0-a8cf06fd5a3b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools?api-version=2021-03-01 response: body: - string: "{\n \"name\": \"e4a7c90f-a093-f64a-b1b0-a8cf06fd5a3b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:50:04.3133333Z\"\n }" + string: "{\n \"value\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/nodepool1\",\n + \ \"name\": \"nodepool1\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\",\n + \ \"properties\": {\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n + \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": + \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.19.9\",\n \"enableNodePublicIP\": + false,\n \"nodeLabels\": {},\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \"enableFIPS\": false\n + \ }\n }\n ]\n }" headers: cache-control: - no-cache content-length: - - '126' + - '926' content-type: - application/json date: - - Fri, 09 Apr 2021 06:52:05 GMT + - Fri, 14 May 2021 06:01:54 GMT expires: - '-1' pragma: @@ -3868,81 +588,71 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: '{"properties": {"count": 1, "vmSize": "Standard_D2s_v3", "osType": "Windows", + "type": "VirtualMachineScaleSets", "mode": "User", "upgradeSettings": {}, "enableNodePublicIP": + false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": "Delete", "nodeTaints": + [], "enableEncryptionAtHost": false, "enableFIPS": false}}' headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks nodepool add Connection: - keep-alive Content-Length: - - '53' + - '320' Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2028","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:52:35 GMT - etag: - - W/"8a2-XihmDo8Qfen7G+hnNe60Q88r5xE" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin?api-version=2021-03-01 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"2028","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin\",\n + \ \"name\": \"npwin\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\",\n + \ \"properties\": {\n \"count\": 1,\n \"vmSize\": \"Standard_D2s_v3\",\n + \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": + \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.19.9\",\n \"enableNodePublicIP\": + false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"osType\": + \"Windows\",\n \"nodeImageVersion\": \"AKSWindows-2019-17763.1911.210423\",\n + \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n }" headers: - connection: - - keep-alive + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/04b18639-8524-4c23-902f-b1c6e15c924f?api-version=2016-03-30 + cache-control: + - no-cache content-length: - - '2210' + - '817' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:52:35 GMT - etag: - - W/"8a2-XihmDo8Qfen7G+hnNe60Q88r5xE" - x-powered-by: - - Express + - Fri, 14 May 2021 06:01:57 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' status: - code: 200 - message: OK + code: 201 + message: Created - request: body: null headers: @@ -3951,21 +661,21 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks update + - aks nodepool add Connection: - keep-alive ParameterSetName: - - --resource-group --name --enable-ahub + - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0fc9a7e4-93a0-4af6-b1b0-a8cf06fd5a3b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/04b18639-8524-4c23-902f-b1c6e15c924f?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e4a7c90f-a093-f64a-b1b0-a8cf06fd5a3b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:50:04.3133333Z\"\n }" + string: "{\n \"name\": \"3986b104-2485-234c-902f-b1c6e15c924f\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:01:57.8833333Z\"\n }" headers: cache-control: - no-cache @@ -3974,7 +684,7 @@ interactions: content-type: - application/json date: - - Fri, 09 Apr 2021 06:52:35 GMT + - Fri, 14 May 2021 06:02:29 GMT expires: - '-1' pragma: @@ -3992,82 +702,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1998","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:53:05 GMT - etag: - - W/"8a2-+oObQttr4iupVL5fKQK1psMFbm4" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1998","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:53:05 GMT - etag: - - W/"8a2-+oObQttr4iupVL5fKQK1psMFbm4" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -4076,21 +710,21 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks update + - aks nodepool add Connection: - keep-alive ParameterSetName: - - --resource-group --name --enable-ahub + - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0fc9a7e4-93a0-4af6-b1b0-a8cf06fd5a3b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/04b18639-8524-4c23-902f-b1c6e15c924f?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e4a7c90f-a093-f64a-b1b0-a8cf06fd5a3b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:50:04.3133333Z\"\n }" + string: "{\n \"name\": \"3986b104-2485-234c-902f-b1c6e15c924f\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:01:57.8833333Z\"\n }" headers: cache-control: - no-cache @@ -4099,7 +733,7 @@ interactions: content-type: - application/json date: - - Fri, 09 Apr 2021 06:53:05 GMT + - Fri, 14 May 2021 06:03:01 GMT expires: - '-1' pragma: @@ -4117,82 +751,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1968","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:53:35 GMT - etag: - - W/"8a2-hNJgjTbWZYg8OhYIJCYNhmPk0DE" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1968","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:53:35 GMT - etag: - - W/"8a2-hNJgjTbWZYg8OhYIJCYNhmPk0DE" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -4201,21 +759,21 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks update + - aks nodepool add Connection: - keep-alive ParameterSetName: - - --resource-group --name --enable-ahub + - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0fc9a7e4-93a0-4af6-b1b0-a8cf06fd5a3b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/04b18639-8524-4c23-902f-b1c6e15c924f?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e4a7c90f-a093-f64a-b1b0-a8cf06fd5a3b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:50:04.3133333Z\"\n }" + string: "{\n \"name\": \"3986b104-2485-234c-902f-b1c6e15c924f\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:01:57.8833333Z\"\n }" headers: cache-control: - no-cache @@ -4224,7 +782,7 @@ interactions: content-type: - application/json date: - - Fri, 09 Apr 2021 06:53:35 GMT + - Fri, 14 May 2021 06:03:31 GMT expires: - '-1' pragma: @@ -4243,78 +801,100 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks nodepool add Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/04b18639-8524-4c23-902f-b1c6e15c924f?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1938","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"3986b104-2485-234c-902f-b1c6e15c924f\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:01:57.8833333Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:54:05 GMT - etag: - - W/"8a2-nk6LJjiuOZR4m2FQjIpGitWAchM" - x-powered-by: - - Express + - Fri, 14 May 2021 06:04:04 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks nodepool add Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/04b18639-8524-4c23-902f-b1c6e15c924f?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1938","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"3986b104-2485-234c-902f-b1c6e15c924f\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:01:57.8833333Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:54:05 GMT - etag: - - W/"8a2-nk6LJjiuOZR4m2FQjIpGitWAchM" - x-powered-by: - - Express + - Fri, 14 May 2021 06:04:35 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -4326,21 +906,21 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks update + - aks nodepool add Connection: - keep-alive ParameterSetName: - - --resource-group --name --enable-ahub + - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0fc9a7e4-93a0-4af6-b1b0-a8cf06fd5a3b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/04b18639-8524-4c23-902f-b1c6e15c924f?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e4a7c90f-a093-f64a-b1b0-a8cf06fd5a3b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:50:04.3133333Z\"\n }" + string: "{\n \"name\": \"3986b104-2485-234c-902f-b1c6e15c924f\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:01:57.8833333Z\"\n }" headers: cache-control: - no-cache @@ -4349,7 +929,7 @@ interactions: content-type: - application/json date: - - Fri, 09 Apr 2021 06:54:05 GMT + - Fri, 14 May 2021 06:05:07 GMT expires: - '-1' pragma: @@ -4368,78 +948,100 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks nodepool add Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/04b18639-8524-4c23-902f-b1c6e15c924f?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1907","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"3986b104-2485-234c-902f-b1c6e15c924f\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:01:57.8833333Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:54:36 GMT - etag: - - W/"8a2-l7G0xdisWEscaKAflEGuht2r9vI" - x-powered-by: - - Express + - Fri, 14 May 2021 06:05:38 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks nodepool add Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/04b18639-8524-4c23-902f-b1c6e15c924f?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1907","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"3986b104-2485-234c-902f-b1c6e15c924f\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:01:57.8833333Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:54:36 GMT - etag: - - W/"8a2-l7G0xdisWEscaKAflEGuht2r9vI" - x-powered-by: - - Express + - Fri, 14 May 2021 06:06:10 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -4451,21 +1053,21 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks update + - aks nodepool add Connection: - keep-alive ParameterSetName: - - --resource-group --name --enable-ahub + - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0fc9a7e4-93a0-4af6-b1b0-a8cf06fd5a3b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/04b18639-8524-4c23-902f-b1c6e15c924f?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e4a7c90f-a093-f64a-b1b0-a8cf06fd5a3b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:50:04.3133333Z\"\n }" + string: "{\n \"name\": \"3986b104-2485-234c-902f-b1c6e15c924f\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:01:57.8833333Z\"\n }" headers: cache-control: - no-cache @@ -4474,7 +1076,7 @@ interactions: content-type: - application/json date: - - Fri, 09 Apr 2021 06:54:36 GMT + - Fri, 14 May 2021 06:06:41 GMT expires: - '-1' pragma: @@ -4493,78 +1095,100 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks nodepool add Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/04b18639-8524-4c23-902f-b1c6e15c924f?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1877","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"3986b104-2485-234c-902f-b1c6e15c924f\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:01:57.8833333Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:55:06 GMT - etag: - - W/"8a2-nMBJMWuCMsYa6OVGovFk0Wf8qls" - x-powered-by: - - Express + - Fri, 14 May 2021 06:07:12 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks nodepool add Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/04b18639-8524-4c23-902f-b1c6e15c924f?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1877","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"3986b104-2485-234c-902f-b1c6e15c924f\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:01:57.8833333Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:55:06 GMT - etag: - - W/"8a2-nMBJMWuCMsYa6OVGovFk0Wf8qls" - x-powered-by: - - Express + - Fri, 14 May 2021 06:07:43 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -4576,21 +1200,21 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks update + - aks nodepool add Connection: - keep-alive ParameterSetName: - - --resource-group --name --enable-ahub + - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0fc9a7e4-93a0-4af6-b1b0-a8cf06fd5a3b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/04b18639-8524-4c23-902f-b1c6e15c924f?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e4a7c90f-a093-f64a-b1b0-a8cf06fd5a3b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:50:04.3133333Z\"\n }" + string: "{\n \"name\": \"3986b104-2485-234c-902f-b1c6e15c924f\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:01:57.8833333Z\"\n }" headers: cache-control: - no-cache @@ -4599,7 +1223,7 @@ interactions: content-type: - application/json date: - - Fri, 09 Apr 2021 06:55:05 GMT + - Fri, 14 May 2021 06:08:14 GMT expires: - '-1' pragma: @@ -4618,78 +1242,101 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks nodepool add Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/04b18639-8524-4c23-902f-b1c6e15c924f?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1847","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"3986b104-2485-234c-902f-b1c6e15c924f\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:01:57.8833333Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:55:36 GMT - etag: - - W/"8a2-LexIPc/pYy0SlU2txP4pY8irlt8" - x-powered-by: - - Express + - Fri, 14 May 2021 06:08:45 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks nodepool add Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/04b18639-8524-4c23-902f-b1c6e15c924f?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1847","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"3986b104-2485-234c-902f-b1c6e15c924f\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-05-14T06:01:57.8833333Z\",\n \"endTime\": + \"2021-05-14T06:08:51.609295Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '169' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:55:36 GMT - etag: - - W/"8a2-LexIPc/pYy0SlU2txP4pY8irlt8" - x-powered-by: - - Express + - Fri, 14 May 2021 06:09:17 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -4701,30 +1348,38 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - aks update + - aks nodepool add Connection: - keep-alive ParameterSetName: - - --resource-group --name --enable-ahub + - --resource-group --cluster-name --name --os-type --node-count User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0fc9a7e4-93a0-4af6-b1b0-a8cf06fd5a3b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin?api-version=2021-03-01 response: body: - string: "{\n \"name\": \"e4a7c90f-a093-f64a-b1b0-a8cf06fd5a3b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:50:04.3133333Z\"\n }" + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin\",\n + \ \"name\": \"npwin\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\",\n + \ \"properties\": {\n \"count\": 1,\n \"vmSize\": \"Standard_D2s_v3\",\n + \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": + \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.19.9\",\n \"enableNodePublicIP\": + false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"osType\": + \"Windows\",\n \"nodeImageVersion\": \"AKSWindows-2019-17763.1911.210423\",\n + \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n }" headers: cache-control: - no-cache content-length: - - '126' + - '818' content-type: - application/json date: - - Fri, 09 Apr 2021 06:55:35 GMT + - Fri, 14 May 2021 06:09:18 GMT expires: - '-1' pragma: @@ -4743,78 +1398,213 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks update Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --enable-ahub User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-03-01 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1817","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\",\n + \ \"location\": \"westus2\",\n \"name\": \"cliakstest000001\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.9\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-34c37927.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-34c37927.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": + \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n + \ \"enableFIPS\": false\n },\n {\n \"name\": \"npwin\",\n \"count\": + 1,\n \"vmSize\": \"Standard_D2s_v3\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": + \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n + \ \"enableEncryptionAtHost\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": + \"AKSWindows-2019-17763.1911.210423\",\n \"upgradeSettings\": {},\n \"enableFIPS\": + false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": + {\n \"adminUsername\": \"azureuser1\",\n \"enableCSIProxy\": true\n + \ },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n + \ },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000001_westus2\",\n + \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": + {\n \"networkPlugin\": \"azure\",\n \"loadBalancerSku\": \"Standard\",\n + \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/b7f8fba2-38e5-479a-9d39-9419fcb33ad8\"\n + \ }\n ]\n },\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": + \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": + \"loadBalancer\"\n },\n \"maxAgentPools\": 100,\n \"identityProfile\": + {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000001-agentpool\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": + {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '3915' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:56:06 GMT - etag: - - W/"8a2-V0vFFknVM6Lcm/dsItPxJGonln0" - x-powered-by: - - Express + - Fri, 14 May 2021 06:09:21 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.9", "dnsPrefix": + "cliaksdns000002", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", + "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": "OS", "maxPods": + 30, "osType": "Linux", "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.19.9", "enableNodePublicIP": false, + "nodeLabels": {}, "enableEncryptionAtHost": false, "enableFIPS": false, "name": + "nodepool1"}, {"count": 1, "vmSize": "Standard_D2s_v3", "osDiskSizeGB": 128, + "osDiskType": "Managed", "kubeletDiskType": "OS", "maxPods": 30, "osType": "Windows", + "type": "VirtualMachineScaleSets", "mode": "User", "orchestratorVersion": "1.19.9", + "upgradeSettings": {}, "enableNodePublicIP": false, "enableEncryptionAtHost": + false, "enableFIPS": false, "name": "npwin"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\n"}]}}, "windowsProfile": {"adminUsername": "azureuser1", + "licenseType": "Windows_Server", "enableCSIProxy": true}, "servicePrincipalProfile": + {"clientId":"00000000-0000-0000-0000-000000000001"}, "nodeResourceGroup": "MC_clitest000001_cliakstest000001_westus2", + "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": + "azure", "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", "dockerBridgeCidr": + "172.17.0.1/16", "outboundType": "loadBalancer", "loadBalancerSku": "Standard", + "loadBalancerProfile": {"managedOutboundIPs": {"count": 1}, "effectiveOutboundIPs": + [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/b7f8fba2-38e5-479a-9d39-9419fcb33ad8"}]}}, + "autoUpgradeProfile": {}, "identityProfile": {"kubeletidentity": {"resourceId": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000001-agentpool", + "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}}, + "identity": {"type": "SystemAssigned"}, "sku": {"name": "Basic", "tier": "Free"}}' headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks update Connection: - keep-alive Content-Length: - - '53' + - '2605' Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + - application/json; charset=utf-8 + ParameterSetName: + - --resource-group --name --enable-ahub User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-03-01 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1817","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\",\n + \ \"location\": \"westus2\",\n \"name\": \"cliakstest000001\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.9\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-34c37927.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-34c37927.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": + \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n + \ \"enableFIPS\": false\n },\n {\n \"name\": \"npwin\",\n \"count\": + 1,\n \"vmSize\": \"Standard_D2s_v3\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": + \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n + \ \"enableEncryptionAtHost\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": + \"AKSWindows-2019-17763.1911.210423\",\n \"upgradeSettings\": {},\n \"enableFIPS\": + false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": + {\n \"adminUsername\": \"azureuser1\",\n \"licenseType\": \"Windows_Server\",\n + \ \"enableCSIProxy\": true\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n + \ },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000001_westus2\",\n + \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": + {\n \"networkPlugin\": \"azure\",\n \"loadBalancerSku\": \"Standard\",\n + \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/b7f8fba2-38e5-479a-9d39-9419fcb33ad8\"\n + \ }\n ]\n },\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": + \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": + \"loadBalancer\"\n },\n \"maxAgentPools\": 100,\n \"identityProfile\": + {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000001-agentpool\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": + {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: - connection: - - keep-alive + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73144bf3-d8f3-4384-8857-befebfddb6ca?api-version=2016-03-30 + cache-control: + - no-cache content-length: - - '2210' + - '3949' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:56:06 GMT - etag: - - W/"8a2-V0vFFknVM6Lcm/dsItPxJGonln0" - x-powered-by: - - Express + - Fri, 14 May 2021 06:09:27 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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 @@ -4832,24 +1622,24 @@ interactions: ParameterSetName: - --resource-group --name --enable-ahub User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0fc9a7e4-93a0-4af6-b1b0-a8cf06fd5a3b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73144bf3-d8f3-4384-8857-befebfddb6ca?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e4a7c90f-a093-f64a-b1b0-a8cf06fd5a3b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:50:04.3133333Z\"\n }" + string: "{\n \"name\": \"f34b1473-f3d8-8443-8857-befebfddb6ca\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:09:26.43Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Fri, 09 Apr 2021 06:56:06 GMT + - Fri, 14 May 2021 06:09:58 GMT expires: - '-1' pragma: @@ -4867,82 +1657,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1787","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:56:36 GMT - etag: - - W/"8a2-U+BmLlmpRsdUc4vUw3tKC5m3fUE" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1787","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:56:36 GMT - etag: - - W/"8a2-U+BmLlmpRsdUc4vUw3tKC5m3fUE" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -4957,24 +1671,24 @@ interactions: ParameterSetName: - --resource-group --name --enable-ahub User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0fc9a7e4-93a0-4af6-b1b0-a8cf06fd5a3b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73144bf3-d8f3-4384-8857-befebfddb6ca?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e4a7c90f-a093-f64a-b1b0-a8cf06fd5a3b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:50:04.3133333Z\"\n }" + string: "{\n \"name\": \"f34b1473-f3d8-8443-8857-befebfddb6ca\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:09:26.43Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Fri, 09 Apr 2021 06:56:36 GMT + - Fri, 14 May 2021 06:10:30 GMT expires: - '-1' pragma: @@ -4992,82 +1706,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1757","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:57:06 GMT - etag: - - W/"8a2-XX1Q8fbWzITUzAjosQqsmS7Uv3o" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1757","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:57:06 GMT - etag: - - W/"8a2-XX1Q8fbWzITUzAjosQqsmS7Uv3o" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -5082,24 +1720,24 @@ interactions: ParameterSetName: - --resource-group --name --enable-ahub User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0fc9a7e4-93a0-4af6-b1b0-a8cf06fd5a3b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73144bf3-d8f3-4384-8857-befebfddb6ca?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e4a7c90f-a093-f64a-b1b0-a8cf06fd5a3b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:50:04.3133333Z\"\n }" + string: "{\n \"name\": \"f34b1473-f3d8-8443-8857-befebfddb6ca\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:09:26.43Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Fri, 09 Apr 2021 06:57:06 GMT + - Fri, 14 May 2021 06:11:01 GMT expires: - '-1' pragma: @@ -5117,82 +1755,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1726","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:57:37 GMT - etag: - - W/"8a2-ujCH3hRrN72x8qeim1RbFufLgjk" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1726","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:57:37 GMT - etag: - - W/"8a2-ujCH3hRrN72x8qeim1RbFufLgjk" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -5207,24 +1769,24 @@ interactions: ParameterSetName: - --resource-group --name --enable-ahub User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0fc9a7e4-93a0-4af6-b1b0-a8cf06fd5a3b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73144bf3-d8f3-4384-8857-befebfddb6ca?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e4a7c90f-a093-f64a-b1b0-a8cf06fd5a3b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:50:04.3133333Z\"\n }" + string: "{\n \"name\": \"f34b1473-f3d8-8443-8857-befebfddb6ca\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:09:26.43Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Fri, 09 Apr 2021 06:57:36 GMT + - Fri, 14 May 2021 06:11:33 GMT expires: - '-1' pragma: @@ -5242,82 +1804,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1696","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:58:07 GMT - etag: - - W/"8a2-2YkE1o6ZD8E05HaDRXE6VC+rNFU" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1696","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:58:07 GMT - etag: - - W/"8a2-2YkE1o6ZD8E05HaDRXE6VC+rNFU" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -5332,24 +1818,24 @@ interactions: ParameterSetName: - --resource-group --name --enable-ahub User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0fc9a7e4-93a0-4af6-b1b0-a8cf06fd5a3b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73144bf3-d8f3-4384-8857-befebfddb6ca?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e4a7c90f-a093-f64a-b1b0-a8cf06fd5a3b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:50:04.3133333Z\"\n }" + string: "{\n \"name\": \"f34b1473-f3d8-8443-8857-befebfddb6ca\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:09:26.43Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Fri, 09 Apr 2021 06:58:06 GMT + - Fri, 14 May 2021 06:12:04 GMT expires: - '-1' pragma: @@ -5368,78 +1854,51 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1666","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:58:37 GMT - etag: - - W/"8a2-E0WM8wY/Y5bNC7P8ChVQLx2Hzsw" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks update Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --enable-ahub User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73144bf3-d8f3-4384-8857-befebfddb6ca?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1666","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"f34b1473-f3d8-8443-8857-befebfddb6ca\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:09:26.43Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '121' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:58:37 GMT - etag: - - W/"8a2-E0WM8wY/Y5bNC7P8ChVQLx2Hzsw" - x-powered-by: - - Express + - Fri, 14 May 2021 06:12:35 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -5457,24 +1916,24 @@ interactions: ParameterSetName: - --resource-group --name --enable-ahub User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0fc9a7e4-93a0-4af6-b1b0-a8cf06fd5a3b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73144bf3-d8f3-4384-8857-befebfddb6ca?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e4a7c90f-a093-f64a-b1b0-a8cf06fd5a3b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:50:04.3133333Z\"\n }" + string: "{\n \"name\": \"f34b1473-f3d8-8443-8857-befebfddb6ca\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:09:26.43Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Fri, 09 Apr 2021 06:58:37 GMT + - Fri, 14 May 2021 06:13:07 GMT expires: - '-1' pragma: @@ -5492,82 +1951,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1636","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:59:07 GMT - etag: - - W/"8a2-D8L3S0gmourn32FsuS5J5bQjR8U" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1636","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 06:59:07 GMT - etag: - - W/"8a2-D8L3S0gmourn32FsuS5J5bQjR8U" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -5582,24 +1965,24 @@ interactions: ParameterSetName: - --resource-group --name --enable-ahub User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0fc9a7e4-93a0-4af6-b1b0-a8cf06fd5a3b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73144bf3-d8f3-4384-8857-befebfddb6ca?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e4a7c90f-a093-f64a-b1b0-a8cf06fd5a3b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:50:04.3133333Z\"\n }" + string: "{\n \"name\": \"f34b1473-f3d8-8443-8857-befebfddb6ca\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:09:26.43Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Fri, 09 Apr 2021 06:59:06 GMT + - Fri, 14 May 2021 06:13:37 GMT expires: - '-1' pragma: @@ -5618,78 +2001,100 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks update Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --enable-ahub User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73144bf3-d8f3-4384-8857-befebfddb6ca?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1606","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"f34b1473-f3d8-8443-8857-befebfddb6ca\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:09:26.43Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '121' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:59:37 GMT - etag: - - W/"8a2-qLErwWWc9zeY/YxY6Ao8vA01srI" - x-powered-by: - - Express + - Fri, 14 May 2021 06:14:09 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks update Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --enable-ahub User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73144bf3-d8f3-4384-8857-befebfddb6ca?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1606","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"f34b1473-f3d8-8443-8857-befebfddb6ca\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:09:26.43Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '121' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 06:59:37 GMT - etag: - - W/"8a2-qLErwWWc9zeY/YxY6Ao8vA01srI" - x-powered-by: - - Express + - Fri, 14 May 2021 06:14:40 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -5707,24 +2112,24 @@ interactions: ParameterSetName: - --resource-group --name --enable-ahub User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0fc9a7e4-93a0-4af6-b1b0-a8cf06fd5a3b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73144bf3-d8f3-4384-8857-befebfddb6ca?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e4a7c90f-a093-f64a-b1b0-a8cf06fd5a3b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:50:04.3133333Z\"\n }" + string: "{\n \"name\": \"f34b1473-f3d8-8443-8857-befebfddb6ca\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:09:26.43Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Fri, 09 Apr 2021 06:59:36 GMT + - Fri, 14 May 2021 06:15:12 GMT expires: - '-1' pragma: @@ -5743,78 +2148,100 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks update Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --enable-ahub User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73144bf3-d8f3-4384-8857-befebfddb6ca?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1576","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"f34b1473-f3d8-8443-8857-befebfddb6ca\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:09:26.43Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '121' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 07:00:07 GMT - etag: - - W/"8a2-fnmp/hyiGmyQCMX+Q1NR3VUpyq4" - x-powered-by: - - Express + - Fri, 14 May 2021 06:15:43 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks update Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --enable-ahub User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73144bf3-d8f3-4384-8857-befebfddb6ca?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1576","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"f34b1473-f3d8-8443-8857-befebfddb6ca\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:09:26.43Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '121' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 07:00:07 GMT - etag: - - W/"8a2-fnmp/hyiGmyQCMX+Q1NR3VUpyq4" - x-powered-by: - - Express + - Fri, 14 May 2021 06:16:15 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -5832,24 +2259,24 @@ interactions: ParameterSetName: - --resource-group --name --enable-ahub User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0fc9a7e4-93a0-4af6-b1b0-a8cf06fd5a3b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73144bf3-d8f3-4384-8857-befebfddb6ca?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e4a7c90f-a093-f64a-b1b0-a8cf06fd5a3b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:50:04.3133333Z\"\n }" + string: "{\n \"name\": \"f34b1473-f3d8-8443-8857-befebfddb6ca\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:09:26.43Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Fri, 09 Apr 2021 07:00:07 GMT + - Fri, 14 May 2021 06:16:47 GMT expires: - '-1' pragma: @@ -5868,78 +2295,100 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks update Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --enable-ahub User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73144bf3-d8f3-4384-8857-befebfddb6ca?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1545","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"f34b1473-f3d8-8443-8857-befebfddb6ca\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:09:26.43Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '121' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 07:00:38 GMT - etag: - - W/"8a2-A3cuWbYUdkQwdokQ3Mq4BxkBvIE" - x-powered-by: - - Express + - Fri, 14 May 2021 06:17:19 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks update Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --enable-ahub User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73144bf3-d8f3-4384-8857-befebfddb6ca?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1545","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"f34b1473-f3d8-8443-8857-befebfddb6ca\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:09:26.43Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '121' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 07:00:38 GMT - etag: - - W/"8a2-A3cuWbYUdkQwdokQ3Mq4BxkBvIE" - x-powered-by: - - Express + - Fri, 14 May 2021 06:17:49 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -5957,24 +2406,24 @@ interactions: ParameterSetName: - --resource-group --name --enable-ahub User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0fc9a7e4-93a0-4af6-b1b0-a8cf06fd5a3b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73144bf3-d8f3-4384-8857-befebfddb6ca?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e4a7c90f-a093-f64a-b1b0-a8cf06fd5a3b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:50:04.3133333Z\"\n }" + string: "{\n \"name\": \"f34b1473-f3d8-8443-8857-befebfddb6ca\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:09:26.43Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Fri, 09 Apr 2021 07:00:37 GMT + - Fri, 14 May 2021 06:18:21 GMT expires: - '-1' pragma: @@ -5993,78 +2442,100 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks update Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --enable-ahub User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73144bf3-d8f3-4384-8857-befebfddb6ca?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1515","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"f34b1473-f3d8-8443-8857-befebfddb6ca\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:09:26.43Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '121' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 07:01:08 GMT - etag: - - W/"8a2-Yl24yIQyGWpJI1GRX66hBiSqtQs" - x-powered-by: - - Express + - Fri, 14 May 2021 06:18:52 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks update Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --enable-ahub User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73144bf3-d8f3-4384-8857-befebfddb6ca?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1515","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"f34b1473-f3d8-8443-8857-befebfddb6ca\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:09:26.43Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '121' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 07:01:08 GMT - etag: - - W/"8a2-Yl24yIQyGWpJI1GRX66hBiSqtQs" - x-powered-by: - - Express + - Fri, 14 May 2021 06:19:23 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -6082,24 +2553,24 @@ interactions: ParameterSetName: - --resource-group --name --enable-ahub User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0fc9a7e4-93a0-4af6-b1b0-a8cf06fd5a3b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73144bf3-d8f3-4384-8857-befebfddb6ca?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e4a7c90f-a093-f64a-b1b0-a8cf06fd5a3b\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T06:50:04.3133333Z\"\n }" + string: "{\n \"name\": \"f34b1473-f3d8-8443-8857-befebfddb6ca\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:09:26.43Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Fri, 09 Apr 2021 07:01:07 GMT + - Fri, 14 May 2021 06:19:55 GMT expires: - '-1' pragma: @@ -6118,78 +2589,100 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks update Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --enable-ahub User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73144bf3-d8f3-4384-8857-befebfddb6ca?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1485","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"f34b1473-f3d8-8443-8857-befebfddb6ca\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:09:26.43Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '121' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 07:01:38 GMT - etag: - - W/"8a2-3E6evMbfNz2t64qVuXfKaVV34Hg" - x-powered-by: - - Express + - Fri, 14 May 2021 06:20:26 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks update Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --enable-ahub User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73144bf3-d8f3-4384-8857-befebfddb6ca?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1485","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"f34b1473-f3d8-8443-8857-befebfddb6ca\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:09:26.43Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '121' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 07:01:38 GMT - etag: - - W/"8a2-3E6evMbfNz2t64qVuXfKaVV34Hg" - x-powered-by: - - Express + - Fri, 14 May 2021 06:20:58 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -6207,25 +2700,24 @@ interactions: ParameterSetName: - --resource-group --name --enable-ahub User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0fc9a7e4-93a0-4af6-b1b0-a8cf06fd5a3b?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73144bf3-d8f3-4384-8857-befebfddb6ca?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e4a7c90f-a093-f64a-b1b0-a8cf06fd5a3b\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-04-09T06:50:04.3133333Z\",\n \"endTime\": - \"2021-04-09T07:01:29.5443456Z\"\n }" + string: "{\n \"name\": \"f34b1473-f3d8-8443-8857-befebfddb6ca\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:09:26.43Z\"\n }" headers: cache-control: - no-cache content-length: - - '170' + - '121' content-type: - application/json date: - - Fri, 09 Apr 2021 07:01:37 GMT + - Fri, 14 May 2021 06:21:29 GMT expires: - '-1' pragma: @@ -6244,78 +2736,101 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks update Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --enable-ahub User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73144bf3-d8f3-4384-8857-befebfddb6ca?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1485","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"f34b1473-f3d8-8443-8857-befebfddb6ca\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:09:26.43Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '121' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 07:01:38 GMT - etag: - - W/"8a2-3E6evMbfNz2t64qVuXfKaVV34Hg" - x-powered-by: - - Express + - Fri, 14 May 2021 06:22:00 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks update Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --enable-ahub User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/73144bf3-d8f3-4384-8857-befebfddb6ca?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1485","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"f34b1473-f3d8-8443-8857-befebfddb6ca\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-05-14T06:09:26.43Z\",\n \"endTime\": + \"2021-05-14T06:22:25.3453807Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '165' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 07:01:38 GMT - etag: - - W/"8a2-3E6evMbfNz2t64qVuXfKaVV34Hg" - x-powered-by: - - Express + - Fri, 14 May 2021 06:22:32 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -6333,9 +2848,9 @@ interactions: ParameterSetName: - --resource-group --name --enable-ahub User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-03-01 response: @@ -6344,39 +2859,38 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000001\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-36436d82.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliaksdns000002-36436d82.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.9\",\n \"dnsPrefix\": \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-34c37927.hcp.westus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-34c37927.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \ \"enableFIPS\": false\n },\n {\n \"name\": \"npwin\",\n \"count\": 1,\n \"vmSize\": \"Standard_D2s_v3\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n \ \"enableEncryptionAtHost\": false,\n \"osType\": \"Windows\",\n \"nodeImageVersion\": - \"AKSWindows-2019-17763.1817.210310\",\n \"upgradeSettings\": {},\n \"enableFIPS\": + \"AKSWindows-2019-17763.1911.210423\",\n \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa - AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"windowsProfile\": {\n \"adminUsername\": - \"azureuser1\",\n \"licenseType\": \"Windows_Server\",\n \"enableCSIProxy\": - true\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000001_westus2\",\n + AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": + {\n \"adminUsername\": \"azureuser1\",\n \"licenseType\": \"Windows_Server\",\n + \ \"enableCSIProxy\": true\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n + \ },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000001_westus2\",\n \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": \"azure\",\n \"loadBalancerSku\": \"Standard\",\n \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/b26be02d-aba0-46b9-b8f4-18e80237853f\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.Network/publicIPAddresses/b7f8fba2-38e5-479a-9d39-9419fcb33ad8\"\n \ }\n ]\n },\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": - \"loadBalancer\"\n },\n \"maxAgentPools\": 10,\n \"identityProfile\": + \"loadBalancer\"\n },\n \"maxAgentPools\": 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000001_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000001-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n @@ -6386,11 +2900,11 @@ interactions: cache-control: - no-cache content-length: - - '3992' + - '3952' content-type: - application/json date: - - Fri, 09 Apr 2021 07:01:38 GMT + - Fri, 14 May 2021 06:22:35 GMT expires: - '-1' pragma: @@ -6408,82 +2922,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1484","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 07:01:39 GMT - etag: - - W/"8a2-pjhl4Ro0zrc6sQh+0XNy5JDAYTk" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1484","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 07:01:39 GMT - etag: - - W/"8a2-pjhl4Ro0zrc6sQh+0XNy5JDAYTk" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -6498,9 +2936,9 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --no-wait User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 accept-language: - en-US method: GET @@ -6513,29 +2951,30 @@ interactions: \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.18.14\",\n \"enableNodePublicIP\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": - false,\n \"osType\": \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n - \ \"enableFIPS\": false\n }\n },\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin\",\n + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \"enableFIPS\": false\n + \ }\n },\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin\",\n \ \"name\": \"npwin\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\",\n \ \"properties\": {\n \"count\": 1,\n \"vmSize\": \"Standard_D2s_v3\",\n \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": - \"Running\"\n },\n \"orchestratorVersion\": \"1.18.14\",\n \"enableNodePublicIP\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n - \ \"osType\": \"Windows\",\n \"nodeImageVersion\": \"AKSWindows-2019-17763.1817.210310\",\n + \ \"osType\": \"Windows\",\n \"nodeImageVersion\": \"AKSWindows-2019-17763.1911.210423\",\n \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n }\n ]\n }" headers: cache-control: - no-cache content-length: - - '1767' + - '1799' content-type: - application/json date: - - Fri, 09 Apr 2021 07:01:39 GMT + - Fri, 14 May 2021 06:22:37 GMT expires: - '-1' pragma: @@ -6553,82 +2992,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1483","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 07:01:40 GMT - etag: - - W/"8a2-ilC/Xkl7+eSntDrIMSlPQV0DDH8" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1483","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 07:01:40 GMT - etag: - - W/"8a2-ilC/Xkl7+eSntDrIMSlPQV0DDH8" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -6645,9 +3008,9 @@ interactions: ParameterSetName: - --resource-group --cluster-name --name --no-wait User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 accept-language: - en-US method: DELETE @@ -6657,17 +3020,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/058c4a7d-afea-495a-bea7-da4b7982a7d5?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/44acf7c4-d37f-4348-b6a4-f2c45c19fb83?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Fri, 09 Apr 2021 07:01:39 GMT + - Fri, 14 May 2021 06:22:39 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/058c4a7d-afea-495a-bea7-da4b7982a7d5?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/44acf7c4-d37f-4348-b6a4-f2c45c19fb83?api-version=2016-03-30 pragma: - no-cache server: @@ -6677,86 +3040,10 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14995' + - '14998' status: code: 202 message: Accepted -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1483","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 07:01:40 GMT - etag: - - W/"8a2-ilC/Xkl7+eSntDrIMSlPQV0DDH8" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1483","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 07:01:40 GMT - etag: - - W/"8a2-ilC/Xkl7+eSntDrIMSlPQV0DDH8" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -6773,29 +3060,29 @@ interactions: ParameterSetName: - -g -n --yes --no-wait User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.1.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.2.0 Azure-SDK-For-Python + AZURECLI/2.23.0 accept-language: - en-US method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-03-01 response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/a726c571-c80e-45f3-a4bc-4fa05d444b3e?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/4e0e3c13-5ce1-4c51-8585-fb3588a4acb5?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Fri, 09 Apr 2021 07:01:40 GMT + - Fri, 14 May 2021 06:22:42 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/a726c571-c80e-45f3-a4bc-4fa05d444b3e?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/4e0e3c13-5ce1-4c51-8585-fb3588a4acb5?api-version=2016-03-30 pragma: - no-cache server: @@ -6805,7 +3092,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14997' + - '14998' status: code: 202 message: Accepted diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_enable_addon_with_azurekeyvaultsecretsprovider.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_enable_addon_with_azurekeyvaultsecretsprovider.yaml index 755c60b2b4d..e156d1b1426 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_enable_addon_with_azurekeyvaultsecretsprovider.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_enable_addon_with_azurekeyvaultsecretsprovider.yaml @@ -1,80 +1,4 @@ interactions: -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1465","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 07:01:58 GMT - etag: - - W/"8a2-bZv6fBLaIkGfoHEO60WEJyLE7j0" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1465","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 07:01:58 GMT - etag: - - W/"8a2-bZv6fBLaIkGfoHEO60WEJyLE7j0" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -89,16 +13,12 @@ interactions: ParameterSetName: - --resource-group --name --generate-ssh-keys User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-resource/12.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-resource/16.1.0 Python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"product":"azurecli","cause":"automation","date":"2021-04-09T07:01:56Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"product":"azurecli","cause":"automation","date":"2021-05-14T05:58:24Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -107,7 +27,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 09 Apr 2021 07:01:57 GMT + - Fri, 14 May 2021 05:58:28 GMT expires: - '-1' pragma: @@ -121,93 +41,19 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1465","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 07:01:58 GMT - etag: - - W/"8a2-bZv6fBLaIkGfoHEO60WEJyLE7j0" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1465","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 07:01:58 GMT - etag: - - W/"8a2-bZv6fBLaIkGfoHEO60WEJyLE7j0" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: '{"location": "westus2", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitestyuluybp26-c10894", "agentPoolProfiles": [{"count": 3, "vmSize": + "cliakstest-clitestuk4ga7spc-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "enableEncryptionAtHost": false, "name": "nodepool1"}], "linuxProfile": - {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F"}]}}, - "addonProfiles": {}, "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": - {"networkPlugin": "kubenet", "podCidr": "10.244.0.0/16", "serviceCidr": "10.0.0.0/16", - "dnsServiceIP": "10.0.0.10", "dockerBridgeCidr": "172.17.0.1/16", "outboundType": - "loadBalancer", "loadBalancerSku": "standard"}}, "identity": {"type": "SystemAssigned"}}' + "Delete", "enableEncryptionAtHost": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\n"}]}}, "addonProfiles": {}, "enableRBAC": true, "enablePodSecurityPolicy": + false, "networkProfile": {"networkPlugin": "kubenet", "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", "dockerBridgeCidr": + "172.17.0.1/16", "outboundType": "loadBalancer", "loadBalancerSku": "standard"}}, + "identity": {"type": "SystemAssigned"}}' headers: Accept: - application/json @@ -218,15 +64,15 @@ interactions: Connection: - keep-alive Content-Length: - - '1223' + - '1272' Content-Type: - application/json; charset=utf-8 ParameterSetName: - --resource-group --name --generate-ssh-keys User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 accept-language: - en-US method: PUT @@ -237,43 +83,43 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitestyuluybp26-c10894\",\n - \ \"fqdn\": \"cliakstest-clitestyuluybp26-c10894-438bace3.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitestyuluybp26-c10894-438bace3.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuk4ga7spc-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestuk4ga7spc-8ecadf-bcae4338.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestuk4ga7spc-8ecadf-bcae4338.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Creating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n - \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": - {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"standard\",\n - \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n }\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": - \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": - \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": - 10\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_westus2\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1\n }\n },\n \"podCidr\": + \"10.244.0.0/16\",\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": + \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": + \"loadBalancer\"\n },\n \"maxAgentPools\": 100\n },\n \"identity\": + {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/bb703dbe-d149-46b1-a139-01b88dcd163e?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b61c3659-3ffb-41e0-96e6-6adbc1a8402e?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2693' + - '2654' content-type: - application/json date: - - Fri, 09 Apr 2021 07:02:04 GMT + - Fri, 14 May 2021 05:58:39 GMT expires: - '-1' pragma: @@ -285,86 +131,10 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1194' + - '1199' status: code: 201 message: Created -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1428","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 07:02:35 GMT - etag: - - W/"8a2-U7TdXuGUZRT0xKL1aLBZUP1Hka0" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1428","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 07:02:35 GMT - etag: - - W/"8a2-U7TdXuGUZRT0xKL1aLBZUP1Hka0" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -379,15 +149,15 @@ interactions: ParameterSetName: - --resource-group --name --generate-ssh-keys User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/bb703dbe-d149-46b1-a139-01b88dcd163e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b61c3659-3ffb-41e0-96e6-6adbc1a8402e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"be3d70bb-49d1-b146-a139-01b88dcd163e\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T07:02:05.0766666Z\"\n }" + string: "{\n \"name\": \"59361cb6-fb3f-e041-96e6-6adbc1a8402e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:38.7266666Z\"\n }" headers: cache-control: - no-cache @@ -396,7 +166,7 @@ interactions: content-type: - application/json date: - - Fri, 09 Apr 2021 07:02:34 GMT + - Fri, 14 May 2021 05:59:10 GMT expires: - '-1' pragma: @@ -415,78 +185,100 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks create Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --generate-ssh-keys User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b61c3659-3ffb-41e0-96e6-6adbc1a8402e?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1398","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"59361cb6-fb3f-e041-96e6-6adbc1a8402e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:38.7266666Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 07:03:05 GMT - etag: - - W/"8a2-MAV5tidNm2EhXeJUC64r3ZYH3Sw" - x-powered-by: - - Express + - Fri, 14 May 2021 05:59:42 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks create Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --generate-ssh-keys User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b61c3659-3ffb-41e0-96e6-6adbc1a8402e?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1398","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"59361cb6-fb3f-e041-96e6-6adbc1a8402e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:38.7266666Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 07:03:05 GMT - etag: - - W/"8a2-MAV5tidNm2EhXeJUC64r3ZYH3Sw" - x-powered-by: - - Express + - Fri, 14 May 2021 06:00:14 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -504,15 +296,15 @@ interactions: ParameterSetName: - --resource-group --name --generate-ssh-keys User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/bb703dbe-d149-46b1-a139-01b88dcd163e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b61c3659-3ffb-41e0-96e6-6adbc1a8402e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"be3d70bb-49d1-b146-a139-01b88dcd163e\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T07:02:05.0766666Z\"\n }" + string: "{\n \"name\": \"59361cb6-fb3f-e041-96e6-6adbc1a8402e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:38.7266666Z\"\n }" headers: cache-control: - no-cache @@ -521,7 +313,7 @@ interactions: content-type: - application/json date: - - Fri, 09 Apr 2021 07:03:04 GMT + - Fri, 14 May 2021 06:00:45 GMT expires: - '-1' pragma: @@ -540,78 +332,100 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks create Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --generate-ssh-keys User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b61c3659-3ffb-41e0-96e6-6adbc1a8402e?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1368","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"59361cb6-fb3f-e041-96e6-6adbc1a8402e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:38.7266666Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 07:03:35 GMT - etag: - - W/"8a2-uwxgeT2HM5nFgL2m83qhi0z/bsQ" - x-powered-by: - - Express + - Fri, 14 May 2021 06:01:17 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks create Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --generate-ssh-keys User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b61c3659-3ffb-41e0-96e6-6adbc1a8402e?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1368","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"59361cb6-fb3f-e041-96e6-6adbc1a8402e\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:38.7266666Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 07:03:35 GMT - etag: - - W/"8a2-uwxgeT2HM5nFgL2m83qhi0z/bsQ" - x-powered-by: - - Express + - Fri, 14 May 2021 06:01:48 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -629,24 +443,25 @@ interactions: ParameterSetName: - --resource-group --name --generate-ssh-keys User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/bb703dbe-d149-46b1-a139-01b88dcd163e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/b61c3659-3ffb-41e0-96e6-6adbc1a8402e?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"be3d70bb-49d1-b146-a139-01b88dcd163e\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T07:02:05.0766666Z\"\n }" + string: "{\n \"name\": \"59361cb6-fb3f-e041-96e6-6adbc1a8402e\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-05-14T05:58:38.7266666Z\",\n \"endTime\": + \"2021-05-14T06:01:49.6074258Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '170' content-type: - application/json date: - - Fri, 09 Apr 2021 07:03:35 GMT + - Fri, 14 May 2021 06:02:19 GMT expires: - '-1' pragma: @@ -665,461 +480,10 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1338","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 07:04:05 GMT - etag: - - W/"8a2-ScTIab6REmVzyCrqIxx1g74vkRA" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1338","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 07:04:05 GMT - etag: - - W/"8a2-ScTIab6REmVzyCrqIxx1g74vkRA" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --generate-ssh-keys - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/bb703dbe-d149-46b1-a139-01b88dcd163e?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"be3d70bb-49d1-b146-a139-01b88dcd163e\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T07:02:05.0766666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 07:04:05 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1307","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 07:04:36 GMT - etag: - - W/"8a2-xwge8R4BCcisfZ/+2DHPu7Jf1oA" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1307","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 07:04:36 GMT - etag: - - W/"8a2-xwge8R4BCcisfZ/+2DHPu7Jf1oA" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --generate-ssh-keys - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/bb703dbe-d149-46b1-a139-01b88dcd163e?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"be3d70bb-49d1-b146-a139-01b88dcd163e\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T07:02:05.0766666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 07:04:35 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1277","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 07:05:06 GMT - etag: - - W/"8a2-+0x8JR7skfoBORzUatz/GdLg96I" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1277","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 07:05:06 GMT - etag: - - W/"8a2-+0x8JR7skfoBORzUatz/GdLg96I" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --generate-ssh-keys - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/bb703dbe-d149-46b1-a139-01b88dcd163e?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"be3d70bb-49d1-b146-a139-01b88dcd163e\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T07:02:05.0766666Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 07:05:05 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1247","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 07:05:36 GMT - etag: - - W/"8a2-+9dZ4sLFTiX/Y7bnYKftfrbcr+o" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1247","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 07:05:36 GMT - etag: - - W/"8a2-+9dZ4sLFTiX/Y7bnYKftfrbcr+o" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json + - application/json Accept-Encoding: - gzip, deflate CommandName: @@ -1129,135 +493,9 @@ interactions: ParameterSetName: - --resource-group --name --generate-ssh-keys User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/bb703dbe-d149-46b1-a139-01b88dcd163e?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"be3d70bb-49d1-b146-a139-01b88dcd163e\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-04-09T07:02:05.0766666Z\",\n \"endTime\": - \"2021-04-09T07:05:23.6795682Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '170' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 07:05:35 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1247","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 07:05:36 GMT - etag: - - W/"8a2-+9dZ4sLFTiX/Y7bnYKftfrbcr+o" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1247","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 07:05:36 GMT - etag: - - W/"8a2-+9dZ4sLFTiX/Y7bnYKftfrbcr+o" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --generate-ssh-keys - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 response: @@ -1266,135 +504,59 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitestyuluybp26-c10894\",\n - \ \"fqdn\": \"cliakstest-clitestyuluybp26-c10894-438bace3.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitestyuluybp26-c10894-438bace3.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuk4ga7spc-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestuk4ga7spc-8ecadf-bcae4338.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestuk4ga7spc-8ecadf-bcae4338.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n - \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": - {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n - \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/8207daa0-46a4-4c51-8a0e-f4ba44c47624\"\n + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_westus2\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1\n },\n \"effectiveOutboundIPs\": + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/f1368cd7-a411-4e48-af35-f3caf6a45c32\"\n \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": - \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": - 10,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n - \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n - \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": - {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" - headers: - cache-control: - - no-cache - content-length: - - '3356' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 07:05:36 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1246","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 07:05:37 GMT - etag: - - W/"8a2-1lJDAP08pwsQFx4trrq0t+vTxFc" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1246","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": + 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": + {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '3317' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 07:05:37 GMT - etag: - - W/"8a2-1lJDAP08pwsQFx4trrq0t+vTxFc" - x-powered-by: - - Express + - Fri, 14 May 2021 06:02:20 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -1412,9 +574,9 @@ interactions: ParameterSetName: - --addons --resource-group --name -o User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 accept-language: - en-US method: GET @@ -1425,31 +587,31 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitestyuluybp26-c10894\",\n - \ \"fqdn\": \"cliakstest-clitestyuluybp26-c10894-438bace3.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitestyuluybp26-c10894-438bace3.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuk4ga7spc-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestuk4ga7spc-8ecadf-bcae4338.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestuk4ga7spc-8ecadf-bcae4338.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n - \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": - {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n - \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/8207daa0-46a4-4c51-8a0e-f4ba44c47624\"\n + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_westus2\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1\n },\n \"effectiveOutboundIPs\": + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/f1368cd7-a411-4e48-af35-f3caf6a45c32\"\n \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": - 10,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n @@ -1459,11 +621,11 @@ interactions: cache-control: - no-cache content-length: - - '3356' + - '3317' content-type: - application/json date: - - Fri, 09 Apr 2021 07:05:36 GMT + - Fri, 14 May 2021 06:02:23 GMT expires: - '-1' pragma: @@ -1482,98 +644,22 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1246","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 07:05:37 GMT - etag: - - W/"8a2-1lJDAP08pwsQFx4trrq0t+vTxFc" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1246","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 07:05:37 GMT - etag: - - W/"8a2-1lJDAP08pwsQFx4trrq0t+vTxFc" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.18.14", - "dnsPrefix": "cliakstest-clitestyuluybp26-c10894", "agentPoolProfiles": [{"count": - 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", - "kubeletDiskType": "OS", "maxPods": 110, "osType": "Linux", "type": "VirtualMachineScaleSets", - "mode": "System", "orchestratorVersion": "1.18.14", "enableNodePublicIP": false, + body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.9", "dnsPrefix": + "cliakstest-clitestuk4ga7spc-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": + "OS", "maxPods": 110, "osType": "Linux", "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.19.9", "enableNodePublicIP": false, "nodeLabels": {}, "enableEncryptionAtHost": false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": - [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F"}]}}, - "addonProfiles": {"KubeDashboard": {"enabled": false}, "azureKeyvaultSecretsProvider": + [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\n"}]}}, "addonProfiles": {"azureKeyvaultSecretsProvider": {"enabled": true, "config": {"enableSecretRotation": "false"}}}, "nodeResourceGroup": "MC_clitest000001_cliakstest000002_westus2", "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": "kubenet", "podCidr": "10.244.0.0/16", "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", "dockerBridgeCidr": "172.17.0.1/16", "outboundType": "loadBalancer", "loadBalancerSku": "Standard", "loadBalancerProfile": {"managedOutboundIPs": {"count": 1}, "effectiveOutboundIPs": - [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/8207daa0-46a4-4c51-8a0e-f4ba44c47624"}]}}, + [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/f1368cd7-a411-4e48-af35-f3caf6a45c32"}]}}, "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}}, "identity": {"type": "SystemAssigned"}, "sku": {"name": "Basic", "tier": "Free"}}' @@ -1587,15 +673,15 @@ interactions: Connection: - keep-alive Content-Length: - - '2222' + - '2230' Content-Type: - application/json; charset=utf-8 ParameterSetName: - --addons --resource-group --name -o User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 accept-language: - en-US method: PUT @@ -1606,33 +692,33 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitestyuluybp26-c10894\",\n - \ \"fqdn\": \"cliakstest-clitestyuluybp26-c10894-438bace3.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitestyuluybp26-c10894-438bace3.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuk4ga7spc-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestuk4ga7spc-8ecadf-bcae4338.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestuk4ga7spc-8ecadf-bcae4338.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n },\n \"azureKeyvaultSecretsProvider\": - {\n \"enabled\": true,\n \"config\": {\n \"enableSecretRotation\": - \"false\"\n }\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n - \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": - {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n - \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/8207daa0-46a4-4c51-8a0e-f4ba44c47624\"\n + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"azureKeyvaultSecretsProvider\": {\n \"enabled\": true,\n \"config\": + {\n \"enableSecretRotation\": \"false\"\n }\n }\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_westus2\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1\n },\n \"effectiveOutboundIPs\": + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/f1368cd7-a411-4e48-af35-f3caf6a45c32\"\n \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": - 10,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n @@ -1640,15 +726,15 @@ interactions: {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3b27cb8b-055f-4142-a9fa-728b7d3dcf4e?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eeafe22f-2da1-4353-91ae-0f68b3cc7fd7?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3483' + - '3471' content-type: - application/json date: - - Fri, 09 Apr 2021 07:05:40 GMT + - Fri, 14 May 2021 06:02:29 GMT expires: - '-1' pragma: @@ -1664,83 +750,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1193' - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1212","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 07:06:11 GMT - etag: - - W/"8a2-y2jRbLDSHwYz28XB04WLTvwkFnY" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1212","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 07:06:11 GMT - etag: - - W/"8a2-y2jRbLDSHwYz28XB04WLTvwkFnY" - x-powered-by: - - Express + - '1199' status: code: 200 message: OK @@ -1758,24 +768,24 @@ interactions: ParameterSetName: - --addons --resource-group --name -o User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3b27cb8b-055f-4142-a9fa-728b7d3dcf4e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eeafe22f-2da1-4353-91ae-0f68b3cc7fd7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8bcb273b-5f05-4241-a9fa-728b7d3dcf4e\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T07:05:40.5Z\"\n }" + string: "{\n \"name\": \"2fe2afee-a12d-5343-91ae-0f68b3cc7fd7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:02:28.4966666Z\"\n }" headers: cache-control: - no-cache content-length: - - '120' + - '126' content-type: - application/json date: - - Fri, 09 Apr 2021 07:06:11 GMT + - Fri, 14 May 2021 06:03:01 GMT expires: - '-1' pragma: @@ -1793,82 +803,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1182","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 07:06:41 GMT - etag: - - W/"8a2-kfWUJKb6h1U5wdWha9/Q7453SbY" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1182","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 07:06:41 GMT - etag: - - W/"8a2-kfWUJKb6h1U5wdWha9/Q7453SbY" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -1883,25 +817,25 @@ interactions: ParameterSetName: - --addons --resource-group --name -o User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/3b27cb8b-055f-4142-a9fa-728b7d3dcf4e?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/eeafe22f-2da1-4353-91ae-0f68b3cc7fd7?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"8bcb273b-5f05-4241-a9fa-728b7d3dcf4e\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-04-09T07:05:40.5Z\",\n \"endTime\": - \"2021-04-09T07:06:38.0400007Z\"\n }" + string: "{\n \"name\": \"2fe2afee-a12d-5343-91ae-0f68b3cc7fd7\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-05-14T06:02:28.4966666Z\",\n \"endTime\": + \"2021-05-14T06:03:33.1049624Z\"\n }" headers: cache-control: - no-cache content-length: - - '164' + - '170' content-type: - application/json date: - - Fri, 09 Apr 2021 07:06:41 GMT + - Fri, 14 May 2021 06:03:33 GMT expires: - '-1' pragma: @@ -1919,82 +853,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1182","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 07:06:41 GMT - etag: - - W/"8a2-kfWUJKb6h1U5wdWha9/Q7453SbY" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1182","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 07:06:41 GMT - etag: - - W/"8a2-kfWUJKb6h1U5wdWha9/Q7453SbY" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -2009,9 +867,9 @@ interactions: ParameterSetName: - --addons --resource-group --name -o User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 response: @@ -2020,35 +878,35 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitestyuluybp26-c10894\",\n - \ \"fqdn\": \"cliakstest-clitestyuluybp26-c10894-438bace3.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitestyuluybp26-c10894-438bace3.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuk4ga7spc-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestuk4ga7spc-8ecadf-bcae4338.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestuk4ga7spc-8ecadf-bcae4338.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n },\n \"azureKeyvaultSecretsProvider\": - {\n \"enabled\": true,\n \"config\": {\n \"enableSecretRotation\": - \"false\"\n },\n \"identity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/azurekeyvaultsecretsprovider-cliakstest000002\",\n + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"azureKeyvaultSecretsProvider\": {\n \"enabled\": true,\n \"config\": + {\n \"enableSecretRotation\": \"false\"\n },\n \"identity\": + {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/azurekeyvaultsecretsprovider-cliakstest000002\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n \ }\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/8207daa0-46a4-4c51-8a0e-f4ba44c47624\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/f1368cd7-a411-4e48-af35-f3caf6a45c32\"\n \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": - 10,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n @@ -2058,11 +916,11 @@ interactions: cache-control: - no-cache content-length: - - '3868' + - '3856' content-type: - application/json date: - - Fri, 09 Apr 2021 07:06:41 GMT + - Fri, 14 May 2021 06:03:35 GMT expires: - '-1' pragma: @@ -2072,87 +930,11 @@ 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: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1181","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 07:06:42 GMT - etag: - - W/"8a2-v3d+hlIdwOqzykusQFzJYNuEkhc" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1181","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 07:06:42 GMT - etag: - - W/"8a2-v3d+hlIdwOqzykusQFzJYNuEkhc" - x-powered-by: - - Express + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -2170,9 +952,9 @@ interactions: ParameterSetName: - --addons --resource-group --name -o User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 accept-language: - en-US method: GET @@ -2183,35 +965,35 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitestyuluybp26-c10894\",\n - \ \"fqdn\": \"cliakstest-clitestyuluybp26-c10894-438bace3.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitestyuluybp26-c10894-438bace3.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuk4ga7spc-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestuk4ga7spc-8ecadf-bcae4338.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestuk4ga7spc-8ecadf-bcae4338.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n },\n \"azureKeyvaultSecretsProvider\": - {\n \"enabled\": true,\n \"config\": {\n \"enableSecretRotation\": - \"false\"\n },\n \"identity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/azurekeyvaultsecretsprovider-cliakstest000002\",\n + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"azureKeyvaultSecretsProvider\": {\n \"enabled\": true,\n \"config\": + {\n \"enableSecretRotation\": \"false\"\n },\n \"identity\": + {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/azurekeyvaultsecretsprovider-cliakstest000002\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n \ }\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/8207daa0-46a4-4c51-8a0e-f4ba44c47624\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/f1368cd7-a411-4e48-af35-f3caf6a45c32\"\n \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": - 10,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n @@ -2221,11 +1003,11 @@ interactions: cache-control: - no-cache content-length: - - '3868' + - '3856' content-type: - application/json date: - - Fri, 09 Apr 2021 07:06:42 GMT + - Fri, 14 May 2021 06:03:37 GMT expires: - '-1' pragma: @@ -2244,97 +1026,21 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1181","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 07:06:42 GMT - etag: - - W/"8a2-v3d+hlIdwOqzykusQFzJYNuEkhc" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1181","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 07:06:42 GMT - etag: - - W/"8a2-v3d+hlIdwOqzykusQFzJYNuEkhc" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.18.14", - "dnsPrefix": "cliakstest-clitestyuluybp26-c10894", "agentPoolProfiles": [{"count": - 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", - "kubeletDiskType": "OS", "maxPods": 110, "osType": "Linux", "type": "VirtualMachineScaleSets", - "mode": "System", "orchestratorVersion": "1.18.14", "enableNodePublicIP": false, + body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.9", "dnsPrefix": + "cliakstest-clitestuk4ga7spc-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": + "OS", "maxPods": 110, "osType": "Linux", "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.19.9", "enableNodePublicIP": false, "nodeLabels": {}, "enableEncryptionAtHost": false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": - [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F"}]}}, - "addonProfiles": {"KubeDashboard": {"enabled": false}, "azureKeyvaultSecretsProvider": + [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\n"}]}}, "addonProfiles": {"azureKeyvaultSecretsProvider": {"enabled": false}}, "nodeResourceGroup": "MC_clitest000001_cliakstest000002_westus2", "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": "kubenet", "podCidr": "10.244.0.0/16", "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", "dockerBridgeCidr": "172.17.0.1/16", "outboundType": "loadBalancer", "loadBalancerSku": "Standard", "loadBalancerProfile": {"managedOutboundIPs": - {"count": 1}, "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/8207daa0-46a4-4c51-8a0e-f4ba44c47624"}]}}, + {"count": 1}, "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/f1368cd7-a411-4e48-af35-f3caf6a45c32"}]}}, "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}}, "identity": {"type": "SystemAssigned"}, "sku": {"name": "Basic", "tier": "Free"}}' @@ -2348,15 +1054,15 @@ interactions: Connection: - keep-alive Content-Length: - - '2178' + - '2186' Content-Type: - application/json; charset=utf-8 ParameterSetName: - --addons --resource-group --name -o User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 accept-language: - en-US method: PUT @@ -2367,33 +1073,32 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitestyuluybp26-c10894\",\n - \ \"fqdn\": \"cliakstest-clitestyuluybp26-c10894-438bace3.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitestyuluybp26-c10894-438bace3.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuk4ga7spc-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestuk4ga7spc-8ecadf-bcae4338.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestuk4ga7spc-8ecadf-bcae4338.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n },\n \"azureKeyvaultSecretsProvider\": - {\n \"enabled\": false,\n \"config\": null\n }\n },\n \"nodeResourceGroup\": - \"MC_clitest000001_cliakstest000002_westus2\",\n \"enableRBAC\": true,\n - \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": - \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \"loadBalancerProfile\": - {\n \"managedOutboundIPs\": {\n \"count\": 1\n },\n \"effectiveOutboundIPs\": - [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/8207daa0-46a4-4c51-8a0e-f4ba44c47624\"\n + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"azureKeyvaultSecretsProvider\": {\n \"enabled\": false,\n \"config\": + null\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n + \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": + {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n + \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/f1368cd7-a411-4e48-af35-f3caf6a45c32\"\n \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": - 10,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n @@ -2401,15 +1106,15 @@ interactions: {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/da3a1b84-931d-4179-a3c5-ca890a6eddda?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5ed6d0c9-57be-4d3e-b18c-ae714eb1a79d?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3442' + - '3430' content-type: - application/json date: - - Fri, 09 Apr 2021 07:06:45 GMT + - Fri, 14 May 2021 06:03:46 GMT expires: - '-1' pragma: @@ -2425,83 +1130,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1192' - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1148","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 07:07:15 GMT - etag: - - W/"8a2-pCaDJcnsyN1dMPc2tt8Ymp9hT44" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1148","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 07:07:15 GMT - etag: - - W/"8a2-pCaDJcnsyN1dMPc2tt8Ymp9hT44" - x-powered-by: - - Express + - '1199' status: code: 200 message: OK @@ -2519,24 +1148,24 @@ interactions: ParameterSetName: - --addons --resource-group --name -o User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/da3a1b84-931d-4179-a3c5-ca890a6eddda?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5ed6d0c9-57be-4d3e-b18c-ae714eb1a79d?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"841b3ada-1d93-7941-a3c5-ca890a6eddda\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T07:06:45.1933333Z\"\n }" + string: "{\n \"name\": \"c9d0d65e-be57-3e4d-b18c-ae714eb1a79d\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:03:44.05Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Fri, 09 Apr 2021 07:07:15 GMT + - Fri, 14 May 2021 06:04:17 GMT expires: - '-1' pragma: @@ -2554,82 +1183,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1118","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 07:07:45 GMT - etag: - - W/"8a2-BOXoeIgjMgaULY7kpkf1ma8Pdb0" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1118","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 07:07:45 GMT - etag: - - W/"8a2-BOXoeIgjMgaULY7kpkf1ma8Pdb0" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -2644,25 +1197,24 @@ interactions: ParameterSetName: - --addons --resource-group --name -o User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/da3a1b84-931d-4179-a3c5-ca890a6eddda?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5ed6d0c9-57be-4d3e-b18c-ae714eb1a79d?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"841b3ada-1d93-7941-a3c5-ca890a6eddda\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-04-09T07:06:45.1933333Z\",\n \"endTime\": - \"2021-04-09T07:07:39.714759Z\"\n }" + string: "{\n \"name\": \"c9d0d65e-be57-3e4d-b18c-ae714eb1a79d\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:03:44.05Z\"\n }" headers: cache-control: - no-cache content-length: - - '169' + - '121' content-type: - application/json date: - - Fri, 09 Apr 2021 07:07:45 GMT + - Fri, 14 May 2021 06:04:49 GMT expires: - '-1' pragma: @@ -2680,82 +1232,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1118","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 07:07:45 GMT - etag: - - W/"8a2-BOXoeIgjMgaULY7kpkf1ma8Pdb0" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1118","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 07:07:45 GMT - etag: - - W/"8a2-BOXoeIgjMgaULY7kpkf1ma8Pdb0" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -2770,58 +1246,25 @@ interactions: ParameterSetName: - --addons --resource-group --name -o User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5ed6d0c9-57be-4d3e-b18c-ae714eb1a79d?api-version=2016-03-30 response: body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n - \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": - \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": - \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitestyuluybp26-c10894\",\n - \ \"fqdn\": \"cliakstest-clitestyuluybp26-c10894-438bace3.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitestyuluybp26-c10894-438bace3.portal.hcp.westus2.azmk8s.io\",\n - \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": - 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": - \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n },\n \"azureKeyvaultSecretsProvider\": - {\n \"enabled\": false,\n \"config\": null\n }\n },\n \"nodeResourceGroup\": - \"MC_clitest000001_cliakstest000002_westus2\",\n \"enableRBAC\": true,\n - \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": - \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \"loadBalancerProfile\": - {\n \"managedOutboundIPs\": {\n \"count\": 1\n },\n \"effectiveOutboundIPs\": - [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/8207daa0-46a4-4c51-8a0e-f4ba44c47624\"\n - \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": - \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": - \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": - 10,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n - \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n - \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": - {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" + string: "{\n \"name\": \"c9d0d65e-be57-3e4d-b18c-ae714eb1a79d\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-05-14T06:03:44.05Z\",\n \"endTime\": + \"2021-05-14T06:05:13.4270287Z\"\n }" headers: cache-control: - no-cache content-length: - - '3444' + - '165' content-type: - application/json date: - - Fri, 09 Apr 2021 07:07:46 GMT + - Fri, 14 May 2021 06:05:21 GMT expires: - '-1' pragma: @@ -2840,78 +1283,84 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1117","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 07:07:46 GMT - etag: - - W/"8a2-xMT975oVw4d2S9IzB3600iCevmE" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks disable-addons Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --addons --resource-group --name -o User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1117","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n + \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuk4ga7spc-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestuk4ga7spc-8ecadf-bcae4338.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestuk4ga7spc-8ecadf-bcae4338.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n + \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": + \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"azureKeyvaultSecretsProvider\": {\n \"enabled\": false,\n \"config\": + null\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n + \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": + {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n + \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/f1368cd7-a411-4e48-af35-f3caf6a45c32\"\n + \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": + \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": + 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": + {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '3432' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 07:07:46 GMT - etag: - - W/"8a2-xMT975oVw4d2S9IzB3600iCevmE" - x-powered-by: - - Express + - Fri, 14 May 2021 06:05:22 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -2929,9 +1378,9 @@ interactions: ParameterSetName: - --addons --enable-secret-rotation --resource-group --name -o User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 accept-language: - en-US method: GET @@ -2942,33 +1391,32 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitestyuluybp26-c10894\",\n - \ \"fqdn\": \"cliakstest-clitestyuluybp26-c10894-438bace3.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitestyuluybp26-c10894-438bace3.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuk4ga7spc-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestuk4ga7spc-8ecadf-bcae4338.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestuk4ga7spc-8ecadf-bcae4338.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n },\n \"azureKeyvaultSecretsProvider\": - {\n \"enabled\": false,\n \"config\": null\n }\n },\n \"nodeResourceGroup\": - \"MC_clitest000001_cliakstest000002_westus2\",\n \"enableRBAC\": true,\n - \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": - \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \"loadBalancerProfile\": - {\n \"managedOutboundIPs\": {\n \"count\": 1\n },\n \"effectiveOutboundIPs\": - [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/8207daa0-46a4-4c51-8a0e-f4ba44c47624\"\n + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"azureKeyvaultSecretsProvider\": {\n \"enabled\": false,\n \"config\": + null\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n + \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": + {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n + \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/f1368cd7-a411-4e48-af35-f3caf6a45c32\"\n \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": - 10,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n @@ -2978,11 +1426,11 @@ interactions: cache-control: - no-cache content-length: - - '3444' + - '3432' content-type: - application/json date: - - Fri, 09 Apr 2021 07:07:46 GMT + - Fri, 14 May 2021 06:05:24 GMT expires: - '-1' pragma: @@ -3001,98 +1449,22 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1116","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 07:07:47 GMT - etag: - - W/"8a2-gv/cEXgj4ItlZkZuTGhcL/1RYY8" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1116","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 07:07:47 GMT - etag: - - W/"8a2-gv/cEXgj4ItlZkZuTGhcL/1RYY8" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.18.14", - "dnsPrefix": "cliakstest-clitestyuluybp26-c10894", "agentPoolProfiles": [{"count": - 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", - "kubeletDiskType": "OS", "maxPods": 110, "osType": "Linux", "type": "VirtualMachineScaleSets", - "mode": "System", "orchestratorVersion": "1.18.14", "enableNodePublicIP": false, + body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.9", "dnsPrefix": + "cliakstest-clitestuk4ga7spc-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": + "OS", "maxPods": 110, "osType": "Linux", "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.19.9", "enableNodePublicIP": false, "nodeLabels": {}, "enableEncryptionAtHost": false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": - [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F"}]}}, - "addonProfiles": {"KubeDashboard": {"enabled": false}, "azureKeyvaultSecretsProvider": + [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\n"}]}}, "addonProfiles": {"azureKeyvaultSecretsProvider": {"enabled": true, "config": {"enableSecretRotation": "true"}}}, "nodeResourceGroup": "MC_clitest000001_cliakstest000002_westus2", "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": "kubenet", "podCidr": "10.244.0.0/16", "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", "dockerBridgeCidr": "172.17.0.1/16", "outboundType": "loadBalancer", "loadBalancerSku": "Standard", "loadBalancerProfile": {"managedOutboundIPs": {"count": 1}, "effectiveOutboundIPs": - [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/8207daa0-46a4-4c51-8a0e-f4ba44c47624"}]}}, + [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/f1368cd7-a411-4e48-af35-f3caf6a45c32"}]}}, "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}}, "identity": {"type": "SystemAssigned"}, "sku": {"name": "Basic", "tier": "Free"}}' @@ -3106,15 +1478,15 @@ interactions: Connection: - keep-alive Content-Length: - - '2221' + - '2229' Content-Type: - application/json; charset=utf-8 ParameterSetName: - --addons --enable-secret-rotation --resource-group --name -o User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 accept-language: - en-US method: PUT @@ -3125,33 +1497,33 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitestyuluybp26-c10894\",\n - \ \"fqdn\": \"cliakstest-clitestyuluybp26-c10894-438bace3.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitestyuluybp26-c10894-438bace3.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuk4ga7spc-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestuk4ga7spc-8ecadf-bcae4338.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestuk4ga7spc-8ecadf-bcae4338.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n },\n \"azureKeyvaultSecretsProvider\": - {\n \"enabled\": true,\n \"config\": {\n \"enableSecretRotation\": - \"true\"\n }\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n - \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": - {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n - \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/8207daa0-46a4-4c51-8a0e-f4ba44c47624\"\n + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"azureKeyvaultSecretsProvider\": {\n \"enabled\": true,\n \"config\": + {\n \"enableSecretRotation\": \"true\"\n }\n }\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_westus2\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1\n },\n \"effectiveOutboundIPs\": + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/f1368cd7-a411-4e48-af35-f3caf6a45c32\"\n \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": - 10,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n @@ -3159,15 +1531,15 @@ interactions: {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7000f658-65c2-49c5-84ed-8733b925a8e3?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f421ba02-4963-45c0-b039-dc0941e813a1?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3482' + - '3470' content-type: - application/json date: - - Fri, 09 Apr 2021 07:07:50 GMT + - Fri, 14 May 2021 06:05:32 GMT expires: - '-1' pragma: @@ -3183,83 +1555,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1191' - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1083","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 07:08:20 GMT - etag: - - W/"8a2-l/qX2FpTEzXbN2mz1FTktM4w5Hc" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1083","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 07:08:20 GMT - etag: - - W/"8a2-l/qX2FpTEzXbN2mz1FTktM4w5Hc" - x-powered-by: - - Express + - '1197' status: code: 200 message: OK @@ -3277,15 +1573,15 @@ interactions: ParameterSetName: - --addons --enable-secret-rotation --resource-group --name -o User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7000f658-65c2-49c5-84ed-8733b925a8e3?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f421ba02-4963-45c0-b039-dc0941e813a1?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"58f60070-c265-c549-84ed-8733b925a8e3\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T07:07:49.9633333Z\"\n }" + string: "{\n \"name\": \"02ba21f4-6349-c045-b039-dc0941e813a1\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:05:30.6666666Z\"\n }" headers: cache-control: - no-cache @@ -3294,7 +1590,7 @@ interactions: content-type: - application/json date: - - Fri, 09 Apr 2021 07:08:19 GMT + - Fri, 14 May 2021 06:06:03 GMT expires: - '-1' pragma: @@ -3313,78 +1609,51 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1053","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 07:08:50 GMT - etag: - - W/"8a2-AsyL1+b+ZwAaEMk2lXNlj3InFxU" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks enable-addons Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --addons --enable-secret-rotation --resource-group --name -o User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f421ba02-4963-45c0-b039-dc0941e813a1?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1053","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"02ba21f4-6349-c045-b039-dc0941e813a1\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:05:30.6666666Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2210' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 07:08:50 GMT - etag: - - W/"8a2-AsyL1+b+ZwAaEMk2lXNlj3InFxU" - x-powered-by: - - Express + - Fri, 14 May 2021 06:06:34 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -3402,16 +1671,16 @@ interactions: ParameterSetName: - --addons --enable-secret-rotation --resource-group --name -o User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/7000f658-65c2-49c5-84ed-8733b925a8e3?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/f421ba02-4963-45c0-b039-dc0941e813a1?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"58f60070-c265-c549-84ed-8733b925a8e3\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-04-09T07:07:49.9633333Z\",\n \"endTime\": - \"2021-04-09T07:08:46.8851875Z\"\n }" + string: "{\n \"name\": \"02ba21f4-6349-c045-b039-dc0941e813a1\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-05-14T06:05:30.6666666Z\",\n \"endTime\": + \"2021-05-14T06:06:53.6140091Z\"\n }" headers: cache-control: - no-cache @@ -3420,7 +1689,7 @@ interactions: content-type: - application/json date: - - Fri, 09 Apr 2021 07:08:50 GMT + - Fri, 14 May 2021 06:07:05 GMT expires: - '-1' pragma: @@ -3438,82 +1707,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1052","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 07:08:51 GMT - etag: - - W/"8a2-+G86/K6jH7H90hcpBEJfe9EZnio" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1052","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 07:08:51 GMT - etag: - - W/"8a2-+G86/K6jH7H90hcpBEJfe9EZnio" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -3528,9 +1721,9 @@ interactions: ParameterSetName: - --addons --enable-secret-rotation --resource-group --name -o User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 response: @@ -3539,35 +1732,35 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitestyuluybp26-c10894\",\n - \ \"fqdn\": \"cliakstest-clitestyuluybp26-c10894-438bace3.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitestyuluybp26-c10894-438bace3.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitestuk4ga7spc-8ecadf\",\n \"fqdn\": + \"cliakstest-clitestuk4ga7spc-8ecadf-bcae4338.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitestuk4ga7spc-8ecadf-bcae4338.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n },\n \"azureKeyvaultSecretsProvider\": - {\n \"enabled\": true,\n \"config\": {\n \"enableSecretRotation\": - \"true\"\n },\n \"identity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/azurekeyvaultsecretsprovider-cliakstest000002\",\n + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"azureKeyvaultSecretsProvider\": {\n \"enabled\": true,\n \"config\": + {\n \"enableSecretRotation\": \"true\"\n },\n \"identity\": {\n + \ \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/azurekeyvaultsecretsprovider-cliakstest000002\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n \ }\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/8207daa0-46a4-4c51-8a0e-f4ba44c47624\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/f1368cd7-a411-4e48-af35-f3caf6a45c32\"\n \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": - 10,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n @@ -3577,11 +1770,11 @@ interactions: cache-control: - no-cache content-length: - - '3867' + - '3855' content-type: - application/json date: - - Fri, 09 Apr 2021 07:08:50 GMT + - Fri, 14 May 2021 06:07:08 GMT expires: - '-1' pragma: @@ -3599,82 +1792,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1052","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 07:08:51 GMT - etag: - - W/"8a2-+G86/K6jH7H90hcpBEJfe9EZnio" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQ5MjgzLCJuYmYiOjE2MTc5NDkyODMsImV4cCI6MTYxNzk1MzE4MywiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBWnpuWEtFSytjR2lmMkVnbjhYUWZhcFY4c093Q0RaU1crV0ZvUG5leTN2UEFOY0x2OUt2aWFUTXVKN1F4aXBVQkZjdTZZWWZUQUlRMS9tYmhvRmY4VjhFQ0NGQ015RkM3d2FPbDN5b1dYQkE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJHQ09XaVRVS0xrNlBvZ2YzeXlzVkFBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.dJEytAzEIR5NWWqMdOPW_50dBdNMkpgUBUJrBMoAAQWNXrP2t6w-C90jiLejOTQwWnKgZzjC1Naq4VQGiD5xQGrlLLySnH0jmGLtLwut32IsIcK_rFvHaPNl6-jzODQ_lJvA7ri7TbsZAW0ZB5d1LAqIO2wUQmLydstDbjayHx6ZeL1VjU2ZH0W4cdeaCBtgMc_2QOMJFWyzXqapUYji_GDBBhuY-KMk1bAiHOmDjU6GpPttX00Xlr1-5FS4OG2izEkttkD84S-3rpB0X0qnklDi2T4va1W8fcl1DhpO_TZHCNCEm4-8Ni9f3SQuwHg6AGf5MWANf5axt933WjsI8g","refresh_token":"","expires_in":"1052","expires_on":"1617953183","not_before":"1617949283","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2210' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 07:08:51 GMT - etag: - - W/"8a2-+G86/K6jH7H90hcpBEJfe9EZnio" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -3691,29 +1808,29 @@ interactions: ParameterSetName: - --resource-group --name --yes --no-wait User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.1.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.2.0 Azure-SDK-For-Python + AZURECLI/2.23.0 accept-language: - en-US method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/8aa317cc-4414-479c-9c6c-50a5c32eea2f?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/85ac45d6-828b-4e96-a5f5-989d1592b758?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Fri, 09 Apr 2021 07:08:52 GMT + - Fri, 14 May 2021 06:07:12 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/8aa317cc-4414-479c-9c6c-50a5c32eea2f?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/85ac45d6-828b-4e96-a5f5-989d1592b758?api-version=2016-03-30 pragma: - no-cache server: diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_nodepool_get_upgrades.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_nodepool_get_upgrades.yaml index cc89ba83b08..66b650a542b 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_nodepool_get_upgrades.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_nodepool_get_upgrades.yaml @@ -1,80 +1,4 @@ interactions: -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"780","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:12:59 GMT - etag: - - W/"8a1-kzmtF1W26k2qwCjfXFw9EQ3ZAEE" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"780","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:12:59 GMT - etag: - - W/"8a1-kzmtF1W26k2qwCjfXFw9EQ3ZAEE" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -89,16 +13,13 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-resource/12.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.23.0 (DOCKER) azsdk-python-azure-mgmt-resource/16.1.0 Python/3.6.10 + (Linux-5.10.25-linuxkit-x86_64-with) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"product":"azurecli","cause":"automation","date":"2021-04-09T05:12:58Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"product":"azurecli","cause":"automation","date":"2021-05-14T09:26:56Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -107,7 +28,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 09 Apr 2021 05:12:59 GMT + - Fri, 14 May 2021 09:27:02 GMT expires: - '-1' pragma: @@ -121,93 +42,19 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"779","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:13:00 GMT - etag: - - W/"8a1-kVJxz9gMXyDc5fQmwgxL6VnxbXo" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"779","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:13:00 GMT - etag: - - W/"8a1-kVJxz9gMXyDc5fQmwgxL6VnxbXo" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: '{"location": "westus2", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitest2nneizefw-c10894", "agentPoolProfiles": [{"count": 1, "vmSize": + "cliakstest-clitestoiva7pski-c10894", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "enableEncryptionAtHost": false, "name": "c000003"}], "linuxProfile": - {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F"}]}}, + "Delete", "enableEncryptionAtHost": false, "enableFIPS": false, "name": "c000003"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDhSzGqT9yOjxYAge38/y9Z//u0JQ+FEQu1GO7d9sVuzspsjSgCwE7qMNzNDrPHOiUMIs74OooUJvv2nq/k+CMddvSc3cfTxHgKNqwWjgkHEpwGpEuJtQjjNybcusPU9JMDa6dch9vZIdSmOtVLn3Y5cfVuRaLASNLUg1iXLmBaEH0muWXQcp8/x6ZHS1QSrzr6u07+UP2ykbX9EiD60Aq72wJY41wnsR0AEcY7b9lljbIUodaxaTzrKonMODxe2zDunmlH6rPs+iAVvOtHRnhrcYhxZePWYR516Dr+nnCbmUcIFRjZOz3N5zGGQnj2WTd76kZqxNCLNU6bfXvTKksd"}]}}, "addonProfiles": {}, "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": "kubenet", "podCidr": "10.244.0.0/16", "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", "dockerBridgeCidr": "172.17.0.1/16", "outboundType": - "loadBalancer", "loadBalancerSku": "standard"}}, "identity": {"type": "SystemAssigned"}}' + "loadBalancer", "loadBalancerSku": "standard"}, "disableLocalAccounts": false}, + "identity": {"type": "SystemAssigned"}}' headers: Accept: - application/json @@ -218,62 +65,63 @@ interactions: Connection: - keep-alive Content-Length: - - '1220' + - '1272' Content-Type: - application/json; charset=utf-8 ParameterSetName: - --resource-group --name --nodepool-name -c User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 response: body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n - \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": - \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": - \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitest2nneizefw-c10894\",\n - \ \"fqdn\": \"cliakstest-clitest2nneizefw-c10894-1000e0fd.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitest2nneizefw-c10894-1000e0fd.portal.hcp.westus2.azmk8s.io\",\n - \ \"agentPoolProfiles\": [\n {\n \"name\": \"c000003\",\n \"count\": - 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": - \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Creating\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n - \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": - {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"standard\",\n - \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n }\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": - \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": - \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": - 10\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n - \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": - {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ + ,\n \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\"\ + : \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \ + \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\"\ + : \"Running\"\n },\n \"kubernetesVersion\": \"1.19.9\",\n \"dnsPrefix\"\ + : \"cliakstest-clitestoiva7pski-c10894\",\n \"fqdn\": \"cliakstest-clitestoiva7pski-c10894-7c32fd11.hcp.westus2.azmk8s.io\"\ + ,\n \"azurePortalFQDN\": \"cliakstest-clitestoiva7pski-c10894-7c32fd11.portal.hcp.westus2.azmk8s.io\"\ + ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"c000003\",\n \"\ + count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ + : 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\"\ + ,\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n \ + \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"\ + code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.19.9\",\n\ + \ \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \"mode\"\ + : \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": \"\ + Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\"\ + ,\n \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"\ + adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n\ + \ {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDhSzGqT9yOjxYAge38/y9Z//u0JQ+FEQu1GO7d9sVuzspsjSgCwE7qMNzNDrPHOiUMIs74OooUJvv2nq/k+CMddvSc3cfTxHgKNqwWjgkHEpwGpEuJtQjjNybcusPU9JMDa6dch9vZIdSmOtVLn3Y5cfVuRaLASNLUg1iXLmBaEH0muWXQcp8/x6ZHS1QSrzr6u07+UP2ykbX9EiD60Aq72wJY41wnsR0AEcY7b9lljbIUodaxaTzrKonMODxe2zDunmlH6rPs+iAVvOtHRnhrcYhxZePWYR516Dr+nnCbmUcIFRjZOz3N5zGGQnj2WTd76kZqxNCLNU6bfXvTKksd\"\ + \n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"\ + clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\"\ + : \"MC_clitest000001_cliakstest000002_westus2\",\n \"enableRBAC\": true,\n\ + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"\ + networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"standard\",\n \ + \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\"\ + : 1\n }\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\"\ + : \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\"\ + : \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"\ + maxAgentPools\": 100,\n \"disableLocalAccounts\": false\n },\n \"identity\"\ + : {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\"\ + ,\n \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\"\ + : {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fd4f977f-3332-47a1-a790-8111cacc00b8?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/40349003-ff14-4345-8791-7373e331bc9c?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2690' + - '2657' content-type: - application/json date: - - Fri, 09 Apr 2021 05:13:06 GMT + - Fri, 14 May 2021 09:27:10 GMT expires: - '-1' pragma: @@ -289,82 +137,6 @@ interactions: status: code: 201 message: Created -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"743","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:13:36 GMT - etag: - - W/"8a1-SqyFgc6MawpaV048Mf4ERc5XD7U" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"743","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:13:36 GMT - etag: - - W/"8a1-SqyFgc6MawpaV048Mf4ERc5XD7U" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -379,24 +151,23 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fd4f977f-3332-47a1-a790-8111cacc00b8?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/40349003-ff14-4345-8791-7373e331bc9c?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"7f974ffd-3233-a147-a790-8111cacc00b8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:13:06.4833333Z\"\n }" + string: "{\n \"name\": \"03903440-14ff-4543-8791-7373e331bc9c\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2021-05-14T09:27:10.4Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '120' content-type: - application/json date: - - Fri, 09 Apr 2021 05:13:36 GMT + - Fri, 14 May 2021 09:27:40 GMT expires: - '-1' pragma: @@ -414,82 +185,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"712","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:14:07 GMT - etag: - - W/"8a1-g92af8SAjU6Ceg3fykfOiCccno4" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"712","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:14:07 GMT - etag: - - W/"8a1-g92af8SAjU6Ceg3fykfOiCccno4" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -504,24 +199,23 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fd4f977f-3332-47a1-a790-8111cacc00b8?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/40349003-ff14-4345-8791-7373e331bc9c?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"7f974ffd-3233-a147-a790-8111cacc00b8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:13:06.4833333Z\"\n }" + string: "{\n \"name\": \"03903440-14ff-4543-8791-7373e331bc9c\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2021-05-14T09:27:10.4Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '120' content-type: - application/json date: - - Fri, 09 Apr 2021 05:14:07 GMT + - Fri, 14 May 2021 09:28:11 GMT expires: - '-1' pragma: @@ -539,82 +233,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"682","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:14:37 GMT - etag: - - W/"8a1-yn44vesjH3n9oe2DaFXPxfkvA5s" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"682","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:14:37 GMT - etag: - - W/"8a1-yn44vesjH3n9oe2DaFXPxfkvA5s" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -629,24 +247,23 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fd4f977f-3332-47a1-a790-8111cacc00b8?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/40349003-ff14-4345-8791-7373e331bc9c?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"7f974ffd-3233-a147-a790-8111cacc00b8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:13:06.4833333Z\"\n }" + string: "{\n \"name\": \"03903440-14ff-4543-8791-7373e331bc9c\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2021-05-14T09:27:10.4Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '120' content-type: - application/json date: - - Fri, 09 Apr 2021 05:14:37 GMT + - Fri, 14 May 2021 09:28:42 GMT expires: - '-1' pragma: @@ -664,82 +281,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"652","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:15:07 GMT - etag: - - W/"8a1-1jr7rKxRq/c9Cy6Bl17/HhYbbUY" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"652","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:15:07 GMT - etag: - - W/"8a1-1jr7rKxRq/c9Cy6Bl17/HhYbbUY" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -754,24 +295,23 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fd4f977f-3332-47a1-a790-8111cacc00b8?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/40349003-ff14-4345-8791-7373e331bc9c?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"7f974ffd-3233-a147-a790-8111cacc00b8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:13:06.4833333Z\"\n }" + string: "{\n \"name\": \"03903440-14ff-4543-8791-7373e331bc9c\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2021-05-14T09:27:10.4Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '120' content-type: - application/json date: - - Fri, 09 Apr 2021 05:15:07 GMT + - Fri, 14 May 2021 09:29:12 GMT expires: - '-1' pragma: @@ -789,82 +329,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"622","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:15:37 GMT - etag: - - W/"8a1-LNE7mwtpfnvYEtoWQ7+UgzF0H/E" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"622","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:15:37 GMT - etag: - - W/"8a1-LNE7mwtpfnvYEtoWQ7+UgzF0H/E" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -879,24 +343,23 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fd4f977f-3332-47a1-a790-8111cacc00b8?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/40349003-ff14-4345-8791-7373e331bc9c?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"7f974ffd-3233-a147-a790-8111cacc00b8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:13:06.4833333Z\"\n }" + string: "{\n \"name\": \"03903440-14ff-4543-8791-7373e331bc9c\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2021-05-14T09:27:10.4Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '120' content-type: - application/json date: - - Fri, 09 Apr 2021 05:15:37 GMT + - Fri, 14 May 2021 09:29:42 GMT expires: - '-1' pragma: @@ -914,82 +377,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"592","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:16:07 GMT - etag: - - W/"8a1-ARAkdfON+QACysRYOemH5YF3xd8" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"592","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:16:07 GMT - etag: - - W/"8a1-ARAkdfON+QACysRYOemH5YF3xd8" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -1004,24 +391,23 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fd4f977f-3332-47a1-a790-8111cacc00b8?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/40349003-ff14-4345-8791-7373e331bc9c?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"7f974ffd-3233-a147-a790-8111cacc00b8\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:13:06.4833333Z\"\n }" + string: "{\n \"name\": \"03903440-14ff-4543-8791-7373e331bc9c\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2021-05-14T09:27:10.4Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '120' content-type: - application/json date: - - Fri, 09 Apr 2021 05:16:07 GMT + - Fri, 14 May 2021 09:30:13 GMT expires: - '-1' pragma: @@ -1039,82 +425,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"562","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:16:37 GMT - etag: - - W/"8a1-PtM9fdRgeQAznC+KKZ5Swj8W+Xo" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"562","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:16:37 GMT - etag: - - W/"8a1-PtM9fdRgeQAznC+KKZ5Swj8W+Xo" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -1129,25 +439,24 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fd4f977f-3332-47a1-a790-8111cacc00b8?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/40349003-ff14-4345-8791-7373e331bc9c?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"7f974ffd-3233-a147-a790-8111cacc00b8\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-04-09T05:13:06.4833333Z\",\n \"endTime\": - \"2021-04-09T05:16:12.7444027Z\"\n }" + string: "{\n \"name\": \"03903440-14ff-4543-8791-7373e331bc9c\",\n \"status\"\ + : \"Succeeded\",\n \"startTime\": \"2021-05-14T09:27:10.4Z\",\n \"endTime\"\ + : \"2021-05-14T09:30:27.499497Z\"\n }" headers: cache-control: - no-cache content-length: - - '170' + - '163' content-type: - application/json date: - - Fri, 09 Apr 2021 05:16:37 GMT + - Fri, 14 May 2021 09:30:44 GMT expires: - '-1' pragma: @@ -1165,82 +474,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"562","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:16:37 GMT - etag: - - W/"8a1-PtM9fdRgeQAznC+KKZ5Swj8W+Xo" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"562","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:16:37 GMT - etag: - - W/"8a1-PtM9fdRgeQAznC+KKZ5Swj8W+Xo" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -1255,56 +488,59 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 response: body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n - \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": - \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": - \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitest2nneizefw-c10894\",\n - \ \"fqdn\": \"cliakstest-clitest2nneizefw-c10894-1000e0fd.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitest2nneizefw-c10894-1000e0fd.portal.hcp.westus2.azmk8s.io\",\n - \ \"agentPoolProfiles\": [\n {\n \"name\": \"c000003\",\n \"count\": - 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": - \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n - \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": - {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n - \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/fba27fbd-c534-4798-983f-3ec605fb9376\"\n - \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": - \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": - \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": - 10,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n - \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n - \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": - {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ + ,\n \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\"\ + : \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \ + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\"\ + : \"Running\"\n },\n \"kubernetesVersion\": \"1.19.9\",\n \"dnsPrefix\"\ + : \"cliakstest-clitestoiva7pski-c10894\",\n \"fqdn\": \"cliakstest-clitestoiva7pski-c10894-7c32fd11.hcp.westus2.azmk8s.io\"\ + ,\n \"azurePortalFQDN\": \"cliakstest-clitestoiva7pski-c10894-7c32fd11.portal.hcp.westus2.azmk8s.io\"\ + ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"c000003\",\n \"\ + count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ + : 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\"\ + ,\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n \ + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \ + \ \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.19.9\"\ + ,\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \"\ + mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\"\ + : \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\"\ + ,\n \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"\ + adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n\ + \ {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDhSzGqT9yOjxYAge38/y9Z//u0JQ+FEQu1GO7d9sVuzspsjSgCwE7qMNzNDrPHOiUMIs74OooUJvv2nq/k+CMddvSc3cfTxHgKNqwWjgkHEpwGpEuJtQjjNybcusPU9JMDa6dch9vZIdSmOtVLn3Y5cfVuRaLASNLUg1iXLmBaEH0muWXQcp8/x6ZHS1QSrzr6u07+UP2ykbX9EiD60Aq72wJY41wnsR0AEcY7b9lljbIUodaxaTzrKonMODxe2zDunmlH6rPs+iAVvOtHRnhrcYhxZePWYR516Dr+nnCbmUcIFRjZOz3N5zGGQnj2WTd76kZqxNCLNU6bfXvTKksd\"\ + \n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"\ + clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\"\ + : \"MC_clitest000001_cliakstest000002_westus2\",\n \"enableRBAC\": true,\n\ + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"\ + networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \ + \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\"\ + : 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"\ + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/c418a57b-27e3-45fc-afef-dd0c8f25b555\"\ + \n }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\"\ + : \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\"\ + : \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"\ + maxAgentPools\": 100,\n \"identityProfile\": {\n \"kubeletidentity\"\ + : {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\"\ + ,\n \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\"\ + :\"00000000-0000-0000-0000-000000000001\"\n }\n },\n \"disableLocalAccounts\"\ + : false\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"\ + principalId\":\"00000000-0000-0000-0000-000000000001\",\n \"tenantId\":\ + \ \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": {\n \"name\"\ + : \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: cache-control: - no-cache content-length: - - '3353' + - '3320' content-type: - application/json date: - - Fri, 09 Apr 2021 05:16:38 GMT + - Fri, 14 May 2021 09:30:45 GMT expires: - '-1' pragma: @@ -1322,82 +558,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"561","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:16:38 GMT - etag: - - W/"8a1-vcBUWF0x7to14NRnfSrFAFKV+iU" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"561","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:16:38 GMT - etag: - - W/"8a1-vcBUWF0x7to14NRnfSrFAFKV+iU" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -1412,29 +572,28 @@ interactions: ParameterSetName: - --resource-group --cluster-name --nodepool-name User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000003/upgradeProfiles/default?api-version=2021-03-01 response: body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000003/upgradeProfiles/default\",\n - \ \"name\": \"default\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles\",\n - \ \"properties\": {\n \"kubernetesVersion\": \"1.18.14\",\n \"osType\": - \"Linux\",\n \"latestNodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\"\n - \ }\n }" + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000003/upgradeProfiles/default\"\ + ,\n \"name\": \"default\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles\"\ + ,\n \"properties\": {\n \"kubernetesVersion\": \"1.19.9\",\n \"osType\"\ + : \"Linux\",\n \"latestNodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\"\ + \n }\n }" headers: cache-control: - no-cache content-length: - - '456' + - '465' content-type: - application/json date: - - Fri, 09 Apr 2021 05:16:38 GMT + - Fri, 14 May 2021 09:30:46 GMT expires: - '-1' pragma: @@ -1452,82 +611,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"561","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:16:38 GMT - etag: - - W/"8a1-vcBUWF0x7to14NRnfSrFAFKV+iU" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"561","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:16:38 GMT - etag: - - W/"8a1-vcBUWF0x7to14NRnfSrFAFKV+iU" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -1544,29 +627,28 @@ interactions: ParameterSetName: - -g -n --yes --no-wait User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.1.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-containerservice/11.2.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) accept-language: - en-US method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/56bc4cf4-9157-48d6-9113-96f63aba0fcc?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/640f4659-faef-44c6-9b63-3b56c0c12861?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Fri, 09 Apr 2021 05:16:39 GMT + - Fri, 14 May 2021 09:30:48 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/56bc4cf4-9157-48d6-9113-96f63aba0fcc?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/640f4659-faef-44c6-9b63-3b56c0c12861?api-version=2016-03-30 pragma: - no-cache server: diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_update_azurekeyvaultsecretsprovider_with_secret_rotation.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_update_azurekeyvaultsecretsprovider_with_secret_rotation.yaml index d0df05d0e97..b58a093729f 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_update_azurekeyvaultsecretsprovider_with_secret_rotation.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_update_azurekeyvaultsecretsprovider_with_secret_rotation.yaml @@ -1,80 +1,4 @@ interactions: -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"543","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:16:56 GMT - etag: - - W/"8a1-H8rbn6PU1aX7wIKMzkbVQVu/bRk" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"543","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:16:56 GMT - etag: - - W/"8a1-H8rbn6PU1aX7wIKMzkbVQVu/bRk" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -89,16 +13,12 @@ interactions: ParameterSetName: - --resource-group --name --generate-ssh-keys -a User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-resource/12.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-resource/16.1.0 Python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"product":"azurecli","cause":"automation","date":"2021-04-09T05:16:55Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"product":"azurecli","cause":"automation","date":"2021-05-14T05:58:24Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -107,7 +27,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 09 Apr 2021 05:16:56 GMT + - Fri, 14 May 2021 05:58:27 GMT expires: - '-1' pragma: @@ -121,95 +41,20 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"543","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:16:56 GMT - etag: - - W/"8a1-H8rbn6PU1aX7wIKMzkbVQVu/bRk" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"543","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:16:56 GMT - etag: - - W/"8a1-H8rbn6PU1aX7wIKMzkbVQVu/bRk" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: '{"location": "westus2", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitestpjo3zayov-c10894", "agentPoolProfiles": [{"count": 3, "vmSize": + "cliakstest-clitesti6e5kierh-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": - "Delete", "enableEncryptionAtHost": false, "name": "nodepool1"}], "linuxProfile": - {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F"}]}}, - "addonProfiles": {"azureKeyvaultSecretsProvider": {"enabled": true, "config": - {"enableSecretRotation": "false"}}}, "enableRBAC": true, "enablePodSecurityPolicy": - false, "networkProfile": {"networkPlugin": "kubenet", "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", "dockerBridgeCidr": - "172.17.0.1/16", "outboundType": "loadBalancer", "loadBalancerSku": "standard"}}, - "identity": {"type": "SystemAssigned"}}' + "Delete", "enableEncryptionAtHost": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\n"}]}}, "addonProfiles": {"azureKeyvaultSecretsProvider": + {"enabled": true, "config": {"enableSecretRotation": "false"}}}, "enableRBAC": + true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": + "kubenet", "podCidr": "10.244.0.0/16", "serviceCidr": "10.0.0.0/16", "dnsServiceIP": + "10.0.0.10", "dockerBridgeCidr": "172.17.0.1/16", "outboundType": "loadBalancer", + "loadBalancerSku": "standard"}}, "identity": {"type": "SystemAssigned"}}' headers: Accept: - application/json @@ -220,15 +65,15 @@ interactions: Connection: - keep-alive Content-Length: - - '1317' + - '1366' Content-Type: - application/json; charset=utf-8 ParameterSetName: - --resource-group --name --generate-ssh-keys -a User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 accept-language: - en-US method: PUT @@ -239,45 +84,45 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitestpjo3zayov-c10894\",\n - \ \"fqdn\": \"cliakstest-clitestpjo3zayov-c10894-392c7487.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitestpjo3zayov-c10894-392c7487.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitesti6e5kierh-8ecadf\",\n \"fqdn\": + \"cliakstest-clitesti6e5kierh-8ecadf-12528d4f.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitesti6e5kierh-8ecadf-12528d4f.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Creating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n },\n \"azureKeyvaultSecretsProvider\": - {\n \"enabled\": true,\n \"config\": {\n \"enableSecretRotation\": - \"false\"\n }\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n - \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": - {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"standard\",\n - \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n }\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": - \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": - \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": - 10\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"azureKeyvaultSecretsProvider\": {\n \"enabled\": true,\n \"config\": + {\n \"enableSecretRotation\": \"false\"\n }\n }\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_westus2\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1\n }\n },\n \"podCidr\": + \"10.244.0.0/16\",\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": + \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": + \"loadBalancer\"\n },\n \"maxAgentPools\": 100\n },\n \"identity\": + {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/db6a8b15-c34c-4199-ba03-67d91ca40fba?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/dd67b0f5-e7d5-4bfb-8b17-9795290465dd?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2822' + - '2810' content-type: - application/json date: - - Fri, 09 Apr 2021 05:17:01 GMT + - Fri, 14 May 2021 05:58:40 GMT expires: - '-1' pragma: @@ -289,86 +134,10 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1197' status: code: 201 message: Created -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"508","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:17:31 GMT - etag: - - W/"8a1-8fNe6gPJk8RYIHMMA3DkYxIoxVc" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"508","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:17:31 GMT - etag: - - W/"8a1-8fNe6gPJk8RYIHMMA3DkYxIoxVc" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -383,15 +152,15 @@ interactions: ParameterSetName: - --resource-group --name --generate-ssh-keys -a User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/db6a8b15-c34c-4199-ba03-67d91ca40fba?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/dd67b0f5-e7d5-4bfb-8b17-9795290465dd?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"158b6adb-4cc3-9941-ba03-67d91ca40fba\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:17:00.7833333Z\"\n }" + string: "{\n \"name\": \"f5b067dd-d5e7-fb4b-8b17-9795290465dd\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:39.0666666Z\"\n }" headers: cache-control: - no-cache @@ -400,7 +169,7 @@ interactions: content-type: - application/json date: - - Fri, 09 Apr 2021 05:17:30 GMT + - Fri, 14 May 2021 05:59:11 GMT expires: - '-1' pragma: @@ -419,78 +188,100 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks create Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --generate-ssh-keys -a User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/dd67b0f5-e7d5-4bfb-8b17-9795290465dd?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"478","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"f5b067dd-d5e7-fb4b-8b17-9795290465dd\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:39.0666666Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2209' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 05:18:01 GMT - etag: - - W/"8a1-Kf6GTNeueEeAuHsmzFErN90apMM" - x-powered-by: - - Express + - Fri, 14 May 2021 05:59:43 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks create Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --generate-ssh-keys -a User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/dd67b0f5-e7d5-4bfb-8b17-9795290465dd?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"478","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"f5b067dd-d5e7-fb4b-8b17-9795290465dd\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:39.0666666Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2209' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 05:18:01 GMT - etag: - - W/"8a1-Kf6GTNeueEeAuHsmzFErN90apMM" - x-powered-by: - - Express + - Fri, 14 May 2021 06:00:14 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -508,15 +299,15 @@ interactions: ParameterSetName: - --resource-group --name --generate-ssh-keys -a User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/db6a8b15-c34c-4199-ba03-67d91ca40fba?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/dd67b0f5-e7d5-4bfb-8b17-9795290465dd?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"158b6adb-4cc3-9941-ba03-67d91ca40fba\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:17:00.7833333Z\"\n }" + string: "{\n \"name\": \"f5b067dd-d5e7-fb4b-8b17-9795290465dd\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:39.0666666Z\"\n }" headers: cache-control: - no-cache @@ -525,7 +316,7 @@ interactions: content-type: - application/json date: - - Fri, 09 Apr 2021 05:18:00 GMT + - Fri, 14 May 2021 06:00:47 GMT expires: - '-1' pragma: @@ -544,78 +335,100 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks create Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --generate-ssh-keys -a User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/dd67b0f5-e7d5-4bfb-8b17-9795290465dd?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"448","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"f5b067dd-d5e7-fb4b-8b17-9795290465dd\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:39.0666666Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2209' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 05:18:31 GMT - etag: - - W/"8a1-Ice9L0qg9vXiCR+Q0gRd5AVKYV4" - x-powered-by: - - Express + - Fri, 14 May 2021 06:01:18 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks create Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --generate-ssh-keys -a User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/dd67b0f5-e7d5-4bfb-8b17-9795290465dd?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"448","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"f5b067dd-d5e7-fb4b-8b17-9795290465dd\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T05:58:39.0666666Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2209' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 05:18:31 GMT - etag: - - W/"8a1-Ice9L0qg9vXiCR+Q0gRd5AVKYV4" - x-powered-by: - - Express + - Fri, 14 May 2021 06:01:49 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -633,24 +446,25 @@ interactions: ParameterSetName: - --resource-group --name --generate-ssh-keys -a User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/db6a8b15-c34c-4199-ba03-67d91ca40fba?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/dd67b0f5-e7d5-4bfb-8b17-9795290465dd?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"158b6adb-4cc3-9941-ba03-67d91ca40fba\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:17:00.7833333Z\"\n }" + string: "{\n \"name\": \"f5b067dd-d5e7-fb4b-8b17-9795290465dd\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-05-14T05:58:39.0666666Z\",\n \"endTime\": + \"2021-05-14T06:02:11.8214405Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '170' content-type: - application/json date: - - Fri, 09 Apr 2021 05:18:30 GMT + - Fri, 14 May 2021 06:02:21 GMT expires: - '-1' pragma: @@ -669,1252 +483,73 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"418","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:19:01 GMT - etag: - - W/"8a1-kZp63MOlZ6aUmmmD+jn1YD2zZaY" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"418","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:19:01 GMT - etag: - - W/"8a1-kZp63MOlZ6aUmmmD+jn1YD2zZaY" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --generate-ssh-keys -a - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/db6a8b15-c34c-4199-ba03-67d91ca40fba?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"158b6adb-4cc3-9941-ba03-67d91ca40fba\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:17:00.7833333Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 05:19:01 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"388","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:19:31 GMT - etag: - - W/"8a1-A1SCZLnF+3SZdj2oChs4enNC4Vw" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"388","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:19:31 GMT - etag: - - W/"8a1-A1SCZLnF+3SZdj2oChs4enNC4Vw" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --generate-ssh-keys -a - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/db6a8b15-c34c-4199-ba03-67d91ca40fba?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"158b6adb-4cc3-9941-ba03-67d91ca40fba\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:17:00.7833333Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 05:19:31 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"358","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:20:01 GMT - etag: - - W/"8a1-xsH0io8Ike2JWP7grQ0dm4QJzxc" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"358","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:20:01 GMT - etag: - - W/"8a1-xsH0io8Ike2JWP7grQ0dm4QJzxc" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --generate-ssh-keys -a - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/db6a8b15-c34c-4199-ba03-67d91ca40fba?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"158b6adb-4cc3-9941-ba03-67d91ca40fba\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:17:00.7833333Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '126' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 05:20:01 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"327","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:20:32 GMT - etag: - - W/"8a1-y6vfaXK7rrhK2vCyb54NFpqdu54" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"327","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:20:32 GMT - etag: - - W/"8a1-y6vfaXK7rrhK2vCyb54NFpqdu54" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --generate-ssh-keys -a - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/db6a8b15-c34c-4199-ba03-67d91ca40fba?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"158b6adb-4cc3-9941-ba03-67d91ca40fba\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-04-09T05:17:00.7833333Z\",\n \"endTime\": - \"2021-04-09T05:20:23.5223349Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '170' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 05:20:31 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"327","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:20:32 GMT - etag: - - W/"8a1-y6vfaXK7rrhK2vCyb54NFpqdu54" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"327","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:20:32 GMT - etag: - - W/"8a1-y6vfaXK7rrhK2vCyb54NFpqdu54" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks create - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --generate-ssh-keys -a - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 - response: - body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n - \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": - \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": - \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitestpjo3zayov-c10894\",\n - \ \"fqdn\": \"cliakstest-clitestpjo3zayov-c10894-392c7487.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitestpjo3zayov-c10894-392c7487.portal.hcp.westus2.azmk8s.io\",\n - \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": - 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": - \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n },\n \"azureKeyvaultSecretsProvider\": - {\n \"enabled\": true,\n \"config\": {\n \"enableSecretRotation\": - \"false\"\n },\n \"identity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/azurekeyvaultsecretsprovider-cliakstest000002\",\n - \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n - \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": - {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n - \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/eaafd89d-0885-4793-afa8-48caf9db3a0e\"\n - \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": - \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": - \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": - 10,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n - \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n - \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": - {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" - headers: - cache-control: - - no-cache - content-length: - - '3868' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 05:20:32 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"326","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:20:33 GMT - etag: - - W/"8a1-59HPed48DOOywt2bGfrrkC7SsxI" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"326","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:20:33 GMT - etag: - - W/"8a1-59HPed48DOOywt2bGfrrkC7SsxI" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-secret-rotation -o - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 - response: - body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n - \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": - \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": - \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitestpjo3zayov-c10894\",\n - \ \"fqdn\": \"cliakstest-clitestpjo3zayov-c10894-392c7487.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitestpjo3zayov-c10894-392c7487.portal.hcp.westus2.azmk8s.io\",\n - \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": - 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": - \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n },\n \"azureKeyvaultSecretsProvider\": - {\n \"enabled\": true,\n \"config\": {\n \"enableSecretRotation\": - \"false\"\n },\n \"identity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/azurekeyvaultsecretsprovider-cliakstest000002\",\n - \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n - \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": - {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n - \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/eaafd89d-0885-4793-afa8-48caf9db3a0e\"\n - \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": - \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": - \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": - 10,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n - \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n - \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": - {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" - headers: - cache-control: - - no-cache - content-length: - - '3868' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 05:20:32 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"326","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:20:33 GMT - etag: - - W/"8a1-59HPed48DOOywt2bGfrrkC7SsxI" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"326","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:20:33 GMT - etag: - - W/"8a1-59HPed48DOOywt2bGfrrkC7SsxI" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.18.14", - "dnsPrefix": "cliakstest-clitestpjo3zayov-c10894", "agentPoolProfiles": [{"count": - 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", - "kubeletDiskType": "OS", "maxPods": 110, "osType": "Linux", "type": "VirtualMachineScaleSets", - "mode": "System", "orchestratorVersion": "1.18.14", "enableNodePublicIP": false, - "nodeLabels": {}, "enableEncryptionAtHost": false, "enableFIPS": false, "name": - "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": - [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F"}]}}, - "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, - "addonProfiles": {"KubeDashboard": {"enabled": false}, "azureKeyvaultSecretsProvider": - {"enabled": true, "config": {"enableSecretRotation": "true"}}}, "nodeResourceGroup": - "MC_clitest000001_cliakstest000002_westus2", "enableRBAC": true, "enablePodSecurityPolicy": - false, "networkProfile": {"networkPlugin": "kubenet", "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", "dockerBridgeCidr": - "172.17.0.1/16", "outboundType": "loadBalancer", "loadBalancerSku": "Standard", - "loadBalancerProfile": {"managedOutboundIPs": {"count": 1}, "effectiveOutboundIPs": - [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/eaafd89d-0885-4793-afa8-48caf9db3a0e"}]}}, - "autoUpgradeProfile": {}, "identityProfile": {"kubeletidentity": {"resourceId": - "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", - "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}}, - "identity": {"type": "SystemAssigned"}, "sku": {"name": "Basic", "tier": "Free"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - Content-Length: - - '2295' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - --resource-group --name --enable-secret-rotation -o - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 - response: - body: - string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n - \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": - \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": - \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitestpjo3zayov-c10894\",\n - \ \"fqdn\": \"cliakstest-clitestpjo3zayov-c10894-392c7487.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitestpjo3zayov-c10894-392c7487.portal.hcp.westus2.azmk8s.io\",\n - \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": - 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": - \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\",\n - \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n - \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n - \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": - \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n },\n \"azureKeyvaultSecretsProvider\": - {\n \"enabled\": true,\n \"config\": {\n \"enableSecretRotation\": - \"true\"\n }\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n - \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": - {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n - \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/eaafd89d-0885-4793-afa8-48caf9db3a0e\"\n - \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": - \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": - \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": - 10,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n - \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n - \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": - {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ab668a3c-6393-4a7d-8bf8-6ca32c386739?api-version=2016-03-30 - cache-control: - - no-cache - content-length: - - '3482' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 05:20:36 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - 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: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"293","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:21:06 GMT - etag: - - W/"8a1-sLkIwGSwPe3BQpRrXLg2RrkqyZM" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"293","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:21:06 GMT - etag: - - W/"8a1-sLkIwGSwPe3BQpRrXLg2RrkqyZM" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update - Connection: - - keep-alive - ParameterSetName: - - --resource-group --name --enable-secret-rotation -o - User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ab668a3c-6393-4a7d-8bf8-6ca32c386739?api-version=2016-03-30 - response: - body: - string: "{\n \"name\": \"3c8a66ab-9363-7d4a-8bf8-6ca32c386739\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:20:36.1Z\"\n }" - headers: - cache-control: - - no-cache - content-length: - - '120' - content-type: - - application/json - date: - - Fri, 09 Apr 2021 05:21:06 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - nginx - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"263","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:21:36 GMT - etag: - - W/"8a1-mbHmfuSjIVFbQACuR4b3eLA9yE8" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"263","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:21:36 GMT - etag: - - W/"8a1-mbHmfuSjIVFbQACuR4b3eLA9yE8" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - aks update + CommandName: + - aks create Connection: - keep-alive ParameterSetName: - - --resource-group --name --enable-secret-rotation -o + - --resource-group --name --generate-ssh-keys -a User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ab668a3c-6393-4a7d-8bf8-6ca32c386739?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 response: body: - string: "{\n \"name\": \"3c8a66ab-9363-7d4a-8bf8-6ca32c386739\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:20:36.1Z\"\n }" + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n + \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitesti6e5kierh-8ecadf\",\n \"fqdn\": + \"cliakstest-clitesti6e5kierh-8ecadf-12528d4f.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitesti6e5kierh-8ecadf-12528d4f.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n + \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": + \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"azureKeyvaultSecretsProvider\": {\n \"enabled\": true,\n \"config\": + {\n \"enableSecretRotation\": \"false\"\n },\n \"identity\": + {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/azurekeyvaultsecretsprovider-cliakstest000002\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n + \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": + {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n + \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/949e53e4-f7b7-4e6b-b90a-da4204bae39c\"\n + \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": + \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": + 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": + {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: cache-control: - no-cache content-length: - - '120' + - '3856' content-type: - application/json date: - - Fri, 09 Apr 2021 05:21:36 GMT + - Fri, 14 May 2021 06:02:23 GMT expires: - '-1' pragma: @@ -1932,82 +567,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"233","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:22:06 GMT - etag: - - W/"8a1-2aVHm/cihqGi6t/2S7falAZkEG8" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"233","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:22:06 GMT - etag: - - W/"8a1-2aVHm/cihqGi6t/2S7falAZkEG8" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -2022,25 +581,62 @@ interactions: ParameterSetName: - --resource-group --name --enable-secret-rotation -o User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + accept-language: + - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ab668a3c-6393-4a7d-8bf8-6ca32c386739?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 response: body: - string: "{\n \"name\": \"3c8a66ab-9363-7d4a-8bf8-6ca32c386739\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-04-09T05:20:36.1Z\",\n \"endTime\": - \"2021-04-09T05:21:39.2066087Z\"\n }" + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n + \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitesti6e5kierh-8ecadf\",\n \"fqdn\": + \"cliakstest-clitesti6e5kierh-8ecadf-12528d4f.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitesti6e5kierh-8ecadf-12528d4f.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n + \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": + \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"azureKeyvaultSecretsProvider\": {\n \"enabled\": true,\n \"config\": + {\n \"enableSecretRotation\": \"false\"\n },\n \"identity\": + {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/azurekeyvaultsecretsprovider-cliakstest000002\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n + \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": + {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n + \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/949e53e4-f7b7-4e6b-b90a-da4204bae39c\"\n + \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": + \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": + 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": + {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: cache-control: - no-cache content-length: - - '164' + - '3856' content-type: - application/json date: - - Fri, 09 Apr 2021 05:22:06 GMT + - Fri, 14 May 2021 06:02:24 GMT expires: - '-1' pragma: @@ -2059,83 +655,26 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"232","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:22:07 GMT - etag: - - W/"8a1-NzfWe3z+TRvw7DZn8U6dNGlutKs" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"232","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:22:07 GMT - etag: - - W/"8a1-NzfWe3z+TRvw7DZn8U6dNGlutKs" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: null + body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.9", "dnsPrefix": + "cliakstest-clitesti6e5kierh-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": + "OS", "maxPods": 110, "osType": "Linux", "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.19.9", "enableNodePublicIP": false, + "nodeLabels": {}, "enableEncryptionAtHost": false, "enableFIPS": false, "name": + "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": + [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\n"}]}}, "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, + "addonProfiles": {"azureKeyvaultSecretsProvider": {"enabled": true, "config": + {"enableSecretRotation": "true"}}}, "nodeResourceGroup": "MC_clitest000001_cliakstest000002_westus2", + "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": + "kubenet", "podCidr": "10.244.0.0/16", "serviceCidr": "10.0.0.0/16", "dnsServiceIP": + "10.0.0.10", "dockerBridgeCidr": "172.17.0.1/16", "outboundType": "loadBalancer", + "loadBalancerSku": "Standard", "loadBalancerProfile": {"managedOutboundIPs": + {"count": 1}, "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/949e53e4-f7b7-4e6b-b90a-da4204bae39c"}]}}, + "autoUpgradeProfile": {}, "identityProfile": {"kubeletidentity": {"resourceId": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", + "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}}, + "identity": {"type": "SystemAssigned"}, "sku": {"name": "Basic", "tier": "Free"}}' headers: Accept: - application/json @@ -2145,63 +684,69 @@ interactions: - aks update Connection: - keep-alive + Content-Length: + - '2303' + Content-Type: + - application/json; charset=utf-8 ParameterSetName: - --resource-group --name --enable-secret-rotation -o User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - method: GET + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + accept-language: + - en-US + method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": - \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitestpjo3zayov-c10894\",\n - \ \"fqdn\": \"cliakstest-clitestpjo3zayov-c10894-392c7487.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitestpjo3zayov-c10894-392c7487.portal.hcp.westus2.azmk8s.io\",\n + \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitesti6e5kierh-8ecadf\",\n \"fqdn\": + \"cliakstest-clitesti6e5kierh-8ecadf-12528d4f.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitesti6e5kierh-8ecadf-12528d4f.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n - \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n },\n \"azureKeyvaultSecretsProvider\": - {\n \"enabled\": true,\n \"config\": {\n \"enableSecretRotation\": - \"true\"\n },\n \"identity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/azurekeyvaultsecretsprovider-cliakstest000002\",\n - \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n - \ }\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n - \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": - {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n - \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/eaafd89d-0885-4793-afa8-48caf9db3a0e\"\n + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"azureKeyvaultSecretsProvider\": {\n \"enabled\": true,\n \"config\": + {\n \"enableSecretRotation\": \"true\"\n }\n }\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_westus2\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1\n },\n \"effectiveOutboundIPs\": + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/949e53e4-f7b7-4e6b-b90a-da4204bae39c\"\n \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": - 10,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d72f1663-101d-42d9-9cdc-2368fa790dc3?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3867' + - '3470' content-type: - application/json date: - - Fri, 09 Apr 2021 05:22:07 GMT + - Fri, 14 May 2021 06:02:33 GMT expires: - '-1' pragma: @@ -2216,82 +761,107 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1197' status: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks update Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --enable-secret-rotation -o User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d72f1663-101d-42d9-9cdc-2368fa790dc3?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"232","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"63162fd7-1d10-d942-9cdc-2368fa790dc3\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:02:30.6833333Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2209' + - '126' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 05:22:07 GMT - etag: - - W/"8a1-NzfWe3z+TRvw7DZn8U6dNGlutKs" - x-powered-by: - - Express + - Fri, 14 May 2021 06:03:05 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks update Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --enable-secret-rotation -o User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/d72f1663-101d-42d9-9cdc-2368fa790dc3?api-version=2016-03-30 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"232","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"name\": \"63162fd7-1d10-d942-9cdc-2368fa790dc3\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-05-14T06:02:30.6833333Z\",\n \"endTime\": + \"2021-05-14T06:03:27.3833706Z\"\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2209' + - '170' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 05:22:07 GMT - etag: - - W/"8a1-NzfWe3z+TRvw7DZn8U6dNGlutKs" - x-powered-by: - - Express + - Fri, 14 May 2021 06:03:36 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK @@ -2307,13 +877,11 @@ interactions: Connection: - keep-alive ParameterSetName: - - --resource-group --name --disable-secret-rotation -o + - --resource-group --name --enable-secret-rotation -o User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 - accept-language: - - en-US + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 response: @@ -2322,35 +890,35 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitestpjo3zayov-c10894\",\n - \ \"fqdn\": \"cliakstest-clitestpjo3zayov-c10894-392c7487.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitestpjo3zayov-c10894-392c7487.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitesti6e5kierh-8ecadf\",\n \"fqdn\": + \"cliakstest-clitesti6e5kierh-8ecadf-12528d4f.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitesti6e5kierh-8ecadf-12528d4f.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n },\n \"azureKeyvaultSecretsProvider\": - {\n \"enabled\": true,\n \"config\": {\n \"enableSecretRotation\": - \"true\"\n },\n \"identity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/azurekeyvaultsecretsprovider-cliakstest000002\",\n + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"azureKeyvaultSecretsProvider\": {\n \"enabled\": true,\n \"config\": + {\n \"enableSecretRotation\": \"true\"\n },\n \"identity\": {\n + \ \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/azurekeyvaultsecretsprovider-cliakstest000002\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n \ }\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/eaafd89d-0885-4793-afa8-48caf9db3a0e\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/949e53e4-f7b7-4e6b-b90a-da4204bae39c\"\n \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": - 10,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n @@ -2360,11 +928,11 @@ interactions: cache-control: - no-cache content-length: - - '3867' + - '3855' content-type: - application/json date: - - Fri, 09 Apr 2021 05:22:07 GMT + - Fri, 14 May 2021 06:03:38 GMT expires: - '-1' pragma: @@ -2383,99 +951,109 @@ interactions: code: 200 message: OK - request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"231","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:22:08 GMT - etag: - - W/"8a1-uBogVRXJbtt0rCeB+IBnwHQb+ek" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F + body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate + CommandName: + - aks update Connection: - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' + ParameterSetName: + - --resource-group --name --disable-secret-rotation -o User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 response: body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"231","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n + \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitesti6e5kierh-8ecadf\",\n \"fqdn\": + \"cliakstest-clitesti6e5kierh-8ecadf-12528d4f.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitesti6e5kierh-8ecadf-12528d4f.portal.hcp.westus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n + \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": + \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"azureKeyvaultSecretsProvider\": {\n \"enabled\": true,\n \"config\": + {\n \"enableSecretRotation\": \"true\"\n },\n \"identity\": {\n + \ \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/azurekeyvaultsecretsprovider-cliakstest000002\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n + \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": + {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n + \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/949e53e4-f7b7-4e6b-b90a-da4204bae39c\"\n + \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": + \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": + 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": + {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: - connection: - - keep-alive + cache-control: + - no-cache content-length: - - '2209' + - '3855' content-type: - - application/json; charset=utf-8 + - application/json date: - - Fri, 09 Apr 2021 05:22:08 GMT - etag: - - W/"8a1-uBogVRXJbtt0rCeB+IBnwHQb+ek" - x-powered-by: - - Express + - Fri, 14 May 2021 06:03:41 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-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": "westus2", "properties": {"kubernetesVersion": "1.18.14", - "dnsPrefix": "cliakstest-clitestpjo3zayov-c10894", "agentPoolProfiles": [{"count": - 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", - "kubeletDiskType": "OS", "maxPods": 110, "osType": "Linux", "type": "VirtualMachineScaleSets", - "mode": "System", "orchestratorVersion": "1.18.14", "enableNodePublicIP": false, + body: '{"location": "westus2", "properties": {"kubernetesVersion": "1.19.9", "dnsPrefix": + "cliakstest-clitesti6e5kierh-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": + "OS", "maxPods": 110, "osType": "Linux", "osSKU": "Ubuntu", "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.19.9", "enableNodePublicIP": false, "nodeLabels": {}, "enableEncryptionAtHost": false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": - [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F"}]}}, - "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, - "addonProfiles": {"KubeDashboard": {"enabled": false}, "azureKeyvaultSecretsProvider": - {"enabled": true, "config": {"enableSecretRotation": "false"}}}, "nodeResourceGroup": - "MC_clitest000001_cliakstest000002_westus2", "enableRBAC": true, "enablePodSecurityPolicy": - false, "networkProfile": {"networkPlugin": "kubenet", "podCidr": "10.244.0.0/16", - "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", "dockerBridgeCidr": - "172.17.0.1/16", "outboundType": "loadBalancer", "loadBalancerSku": "Standard", - "loadBalancerProfile": {"managedOutboundIPs": {"count": 1}, "effectiveOutboundIPs": - [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/eaafd89d-0885-4793-afa8-48caf9db3a0e"}]}}, + [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\n"}]}}, "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, + "addonProfiles": {"azureKeyvaultSecretsProvider": {"enabled": true, "config": + {"enableSecretRotation": "false"}}}, "nodeResourceGroup": "MC_clitest000001_cliakstest000002_westus2", + "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": + "kubenet", "podCidr": "10.244.0.0/16", "serviceCidr": "10.0.0.0/16", "dnsServiceIP": + "10.0.0.10", "dockerBridgeCidr": "172.17.0.1/16", "outboundType": "loadBalancer", + "loadBalancerSku": "Standard", "loadBalancerProfile": {"managedOutboundIPs": + {"count": 1}, "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/949e53e4-f7b7-4e6b-b90a-da4204bae39c"}]}}, "autoUpgradeProfile": {}, "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}}, @@ -2490,15 +1068,15 @@ interactions: Connection: - keep-alive Content-Length: - - '2296' + - '2304' Content-Type: - application/json; charset=utf-8 ParameterSetName: - --resource-group --name --disable-secret-rotation -o User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 accept-language: - en-US method: PUT @@ -2509,33 +1087,33 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitestpjo3zayov-c10894\",\n - \ \"fqdn\": \"cliakstest-clitestpjo3zayov-c10894-392c7487.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitestpjo3zayov-c10894-392c7487.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitesti6e5kierh-8ecadf\",\n \"fqdn\": + \"cliakstest-clitesti6e5kierh-8ecadf-12528d4f.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitesti6e5kierh-8ecadf-12528d4f.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Updating\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n },\n \"azureKeyvaultSecretsProvider\": - {\n \"enabled\": true,\n \"config\": {\n \"enableSecretRotation\": - \"false\"\n }\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n - \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": - {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n - \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/eaafd89d-0885-4793-afa8-48caf9db3a0e\"\n + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"azureKeyvaultSecretsProvider\": {\n \"enabled\": true,\n \"config\": + {\n \"enableSecretRotation\": \"false\"\n }\n }\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_westus2\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1\n },\n \"effectiveOutboundIPs\": + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/949e53e4-f7b7-4e6b-b90a-da4204bae39c\"\n \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": - 10,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n @@ -2543,15 +1121,15 @@ interactions: {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0f64d5e5-2b40-4389-ad61-1e3d00b43c52?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fed63a6d-5e75-4002-a3f0-b2cbc3287220?api-version=2016-03-30 cache-control: - no-cache content-length: - - '3483' + - '3471' content-type: - application/json date: - - Fri, 09 Apr 2021 05:22:10 GMT + - Fri, 14 May 2021 06:03:49 GMT expires: - '-1' pragma: @@ -2567,83 +1145,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"198","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:22:41 GMT - etag: - - W/"8a1-A+q/1PKQX8DUw4a3vK035OQg4+w" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"198","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:22:41 GMT - etag: - - W/"8a1-A+q/1PKQX8DUw4a3vK035OQg4+w" - x-powered-by: - - Express + - '1199' status: code: 200 message: OK @@ -2661,24 +1163,24 @@ interactions: ParameterSetName: - --resource-group --name --disable-secret-rotation -o User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0f64d5e5-2b40-4389-ad61-1e3d00b43c52?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fed63a6d-5e75-4002-a3f0-b2cbc3287220?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e5d5640f-402b-8943-ad61-1e3d00b43c52\",\n \"status\": - \"InProgress\",\n \"startTime\": \"2021-04-09T05:22:10.7466666Z\"\n }" + string: "{\n \"name\": \"6d3ad6fe-755e-0240-a3f0-b2cbc3287220\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-14T06:03:47.75Z\"\n }" headers: cache-control: - no-cache content-length: - - '126' + - '121' content-type: - application/json date: - - Fri, 09 Apr 2021 05:22:40 GMT + - Fri, 14 May 2021 06:04:20 GMT expires: - '-1' pragma: @@ -2696,82 +1198,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"168","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:23:11 GMT - etag: - - W/"8a1-0cUJi6v/SFhgsJTOCAbyDBFD8Bs" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"168","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:23:11 GMT - etag: - - W/"8a1-0cUJi6v/SFhgsJTOCAbyDBFD8Bs" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -2786,25 +1212,25 @@ interactions: ParameterSetName: - --resource-group --name --disable-secret-rotation -o User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/0f64d5e5-2b40-4389-ad61-1e3d00b43c52?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/fed63a6d-5e75-4002-a3f0-b2cbc3287220?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"e5d5640f-402b-8943-ad61-1e3d00b43c52\",\n \"status\": - \"Succeeded\",\n \"startTime\": \"2021-04-09T05:22:10.7466666Z\",\n \"endTime\": - \"2021-04-09T05:23:08.056517Z\"\n }" + string: "{\n \"name\": \"6d3ad6fe-755e-0240-a3f0-b2cbc3287220\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-05-14T06:03:47.75Z\",\n \"endTime\": + \"2021-05-14T06:04:40.9754784Z\"\n }" headers: cache-control: - no-cache content-length: - - '169' + - '165' content-type: - application/json date: - - Fri, 09 Apr 2021 05:23:10 GMT + - Fri, 14 May 2021 06:04:51 GMT expires: - '-1' pragma: @@ -2822,82 +1248,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"168","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:23:11 GMT - etag: - - W/"8a1-0cUJi6v/SFhgsJTOCAbyDBFD8Bs" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"168","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:23:11 GMT - etag: - - W/"8a1-0cUJi6v/SFhgsJTOCAbyDBFD8Bs" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -2912,9 +1262,9 @@ interactions: ParameterSetName: - --resource-group --name --disable-secret-rotation -o User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 response: @@ -2923,35 +1273,35 @@ interactions: \ \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": - \"1.18.14\",\n \"dnsPrefix\": \"cliakstest-clitestpjo3zayov-c10894\",\n - \ \"fqdn\": \"cliakstest-clitestpjo3zayov-c10894-392c7487.hcp.westus2.azmk8s.io\",\n - \ \"azurePortalFQDN\": \"cliakstest-clitestpjo3zayov-c10894-392c7487.portal.hcp.westus2.azmk8s.io\",\n + \"1.19.9\",\n \"dnsPrefix\": \"cliakstest-clitesti6e5kierh-8ecadf\",\n \"fqdn\": + \"cliakstest-clitesti6e5kierh-8ecadf-12528d4f.hcp.westus2.azmk8s.io\",\n \"azurePortalFQDN\": + \"cliakstest-clitesti6e5kierh-8ecadf-12528d4f.portal.hcp.westus2.azmk8s.io\",\n \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": - \"1.18.14\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": - \"Linux\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2-2021.03.29\",\n + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": - \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4XWu6dN1UBl8ZQKdx5vBO+jDxrTVVo0C8QFqS5zj71MRkZmu36fCma/OmDLSPRyulUYj9ZbZoKiUbm+UlDlj/JPc4nrPyyTqP8kJEJGdm5wmLgAhSlE9gD9vjlq3IISrXX8t+cr9+vBorq+lG+RVq6l6uPdsXWgCAWEjvU9/rK5lyC5JjWoP1MmYwm3xs5NT07DKI+m5UIzIONbwNJXPCTDjaslayic7M+xgU1nXkWyWAR5gRiM4D2mJzwGAc2BCbMEzybEbupPZudBa7jE9oE+Z7bxr0Q2obebbHCpvoLpGSxfmjI1FL7nz+g3CsAu4YjpgZGV0y8yljP45sV03F\"\n - \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n - \ },\n \"addonProfiles\": {\n \"KubeDashboard\": {\n \"enabled\": - false,\n \"config\": null\n },\n \"azureKeyvaultSecretsProvider\": - {\n \"enabled\": true,\n \"config\": {\n \"enableSecretRotation\": - \"false\"\n },\n \"identity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/azurekeyvaultsecretsprovider-cliakstest000002\",\n + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDa7B9UAcZjiNXFbAWabU3ZJQsZv4CgsZK8jq+ZRCaJsErW/Lbi/pURsGaLmwn2Hn+zSHj5i4yhNmi3/l89lkvBuv6+sENFnrG5QzUr/9B3UaiwOGCKX6Z/SlC62fz+lAerbtB0ntHs0cTgdLCwAzNanpGqVUpTNkFrnDO2OjJF1SwqTVdyFRY7fCOvrXVXxcdrmMKGxDgihRCkEztaGjiyE5Rc5nHuti8CrfWl6V8tgG9oaRBJOJ4WkM7TT+S7B+XCUUWh8JUXH/KU6wIP47gvZ98KxL0WRFY/Dt+YnlknpvxS7u3fcP+RozpaZ1MIwibjec3ch8Evx8Z7RgaFwav + fumingzhang@microsoft.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"addonProfiles\": + {\n \"azureKeyvaultSecretsProvider\": {\n \"enabled\": true,\n \"config\": + {\n \"enableSecretRotation\": \"false\"\n },\n \"identity\": + {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/azurekeyvaultsecretsprovider-cliakstest000002\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n \ }\n }\n },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_westus2\",\n \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": - 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/eaafd89d-0885-4793-afa8-48caf9db3a0e\"\n + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/949e53e4-f7b7-4e6b-b90a-da4204bae39c\"\n \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": - 10,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n \ }\n }\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n @@ -2961,11 +1311,11 @@ interactions: cache-control: - no-cache content-length: - - '3868' + - '3856' content-type: - application/json date: - - Fri, 09 Apr 2021 05:23:11 GMT + - Fri, 14 May 2021 06:04:53 GMT expires: - '-1' pragma: @@ -2983,82 +1333,6 @@ interactions: status: code: 200 message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"167","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:23:12 GMT - etag: - - W/"8a1-pwG8U/hrogS43bjVwRK6z/ynzcs" - x-powered-by: - - Express - status: - code: 200 - message: OK -- request: - body: resource=https%3A%2F%2Fmanagement.core.windows.net%2F - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - Content-Length: - - '53' - Content-Type: - - application/x-www-form-urlencoded - Metadata: - - 'true' - User-Agent: - - python-requests/2.22.0 - method: POST - uri: http://localhost:50342/oauth2/token - response: - body: - string: '{"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJodHRwczovL21hbmFnZW1lbnQuY29yZS53aW5kb3dzLm5ldC8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaWF0IjoxNjE3OTQyMDU5LCJuYmYiOjE2MTc5NDIwNTksImV4cCI6MTYxNzk0NTk1OSwiX2NsYWltX25hbWVzIjp7Imdyb3VwcyI6InNyYzEifSwiX2NsYWltX3NvdXJjZXMiOnsic3JjMSI6eyJlbmRwb2ludCI6Imh0dHBzOi8vZ3JhcGgud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3L3VzZXJzLzFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0Yy9nZXRNZW1iZXJPYmplY3RzIn19LCJhY3IiOiIxIiwiYWlvIjoiQVZRQXEvOFRBQUFBd0tNdUhVSy9tUGpJVVFYZDBqd1hSeCtzOUVhN3pxek0rQ2JReXRWYVNNTTh2ZDBEcXN0UThJekhVREl3UG42TmtFc2NTeEIvRVR3elZuWVNyZmZVVGx1Zm5FdGdOaU1jUzl5cEdYR0ZyalE9IiwiYW1yIjpbInB3ZCIsIm1mYSJdLCJhcHBpZCI6ImM0NGI0MDgzLTNiYjAtNDljMS1iNDdkLTk3NGU1M2NiZGYzYyIsImFwcGlkYWNyIjoiMiIsImRldmljZWlkIjoiZTU3ZjU0MDUtYTA4MS00ZWI0LWIyYjAtYzg1N2E2OGNmYzViIiwiZmFtaWx5X25hbWUiOiJTdW4iLCJnaXZlbl9uYW1lIjoiSnVuIiwiaXBhZGRyIjoiNzMuMjI1LjQuMTgiLCJuYW1lIjoiSnVuIFN1biIsIm9pZCI6IjFlYzI1YjczLTk0ZDUtNGJmOS1hNTZmLWNhN2Q5YmQ0MTY0YyIsIm9ucHJlbV9zaWQiOiJTLTEtNS0yMS0yMTI3NTIxMTg0LTE2MDQwMTI5MjAtMTg4NzkyNzUyNy0yOTI5NzIwOCIsInB1aWQiOiIxMDAzMDAwMEE1RDIyQzcxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlI0TkFTOFN3TzhGSnRIMlhUbFBMM3p3YUFPNC4iLCJzY3AiOiJ1c2VyX2ltcGVyc29uYXRpb24iLCJzdWIiOiJQQjBWc3VzdlZrb1NLNzdtWmVYbWhORkRITW81aU8wYXJ2R0ZuaVM4UWNrIiwidGlkIjoiNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3IiwidW5pcXVlX25hbWUiOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1cG4iOiJqdXN1QG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJhZFEzLUdsODgwQzI5RUl4SFpzU0FBIiwidmVyIjoiMS4wIiwieG1zX3RjZHQiOjEyODkyNDE1NDd9.grvpK2GIyLIQZQjSSHSZy0rTurwDeT9-sUErgSvfI_BYF61rTVW417QCKFqlAkiIG3l2s-GSnAayMJTSnw8digHCe0MYhfSaGWWZz_kdPSUBlciM_p9QYVzj2uUCMhp9OK0gFoid9HEFmnUEJAh-bRA6a17vLiJne1nBXOJH4Jc3xkC7fr0neNPhuXMtao2JtzzW2Q4QUuAoq5zDP-EjUrofNvnnhOCK54dvoALRTqsE_6MhHsRxpPr7Jomg1uCyUVpBJckaGSqDjdm_GIIa9aBcVY_0FTSg2R4wyeW-viemHLo_D5rZbxP6cR9hd7c5ZFhIp3ILbEByNZgCfpUB1A","refresh_token":"","expires_in":"167","expires_on":"1617945959","not_before":"1617942059","resource":"https://management.core.windows.net/","token_type":"Bearer"}' - headers: - connection: - - keep-alive - content-length: - - '2209' - content-type: - - application/json; charset=utf-8 - date: - - Fri, 09 Apr 2021 05:23:12 GMT - etag: - - W/"8a1-pwG8U/hrogS43bjVwRK6z/ynzcs" - x-powered-by: - - Express - status: - code: 200 - message: OK - request: body: null headers: @@ -3075,29 +1349,29 @@ interactions: ParameterSetName: - --resource-group --name --yes --no-wait User-Agent: - - python/3.7.3 (Linux-4.15.0-1111-azure-x86_64-with-debian-10.2) msrest/0.6.21 - cloud-shell/1.0 msrest_azure/0.6.3 azure-mgmt-containerservice/11.1.0 Azure-SDK-For-Python - AZURECLI/2.21.0 + - python/3.6.9 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-Ubuntu-18.04-bionic) + msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.2.0 Azure-SDK-For-Python + AZURECLI/2.23.0 accept-language: - en-US method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 response: body: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/ef597dd3-4186-4f80-9dd8-5763ed2caaec?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/bb0fd4a0-3349-4198-a0af-5b71bbee80ac?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Fri, 09 Apr 2021 05:23:13 GMT + - Fri, 14 May 2021 06:04:57 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/ef597dd3-4186-4f80-9dd8-5763ed2caaec?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/bb0fd4a0-3349-4198-a0af-5b71bbee80ac?api-version=2016-03-30 pragma: - no-cache server: @@ -3107,7 +1381,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14998' + - '14999' status: code: 202 message: Accepted diff --git a/src/aks-preview/azext_aks_preview/tests/latest/test_aks_commands.py b/src/aks-preview/azext_aks_preview/tests/latest/test_aks_commands.py index c349efdc288..fba2c0da28b 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/test_aks_commands.py +++ b/src/aks-preview/azext_aks_preview/tests/latest/test_aks_commands.py @@ -766,7 +766,7 @@ def test_aks_nodepool_get_upgrades(self, resource_group, resource_group_location checks=[ # if rerun the recording, please update latestNodeImageVersion to the latest value self.check('latestNodeImageVersion', - 'AKSUbuntu-1804gen2-2021.03.29'), + 'AKSUbuntu-1804gen2containerd-2021.04.27'), self.check( 'type', "Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles") ]) @@ -1582,7 +1582,8 @@ def test_aks_custom_kubelet_identity(self, resource_group, resource_group_locati self.exists('identity'), self.exists('identityProfile'), self.check('provisioningState', 'Succeeded'), - self.check('identityProfile.kubeletidentity.resourceId', kubelet_identity_resource_id), + self.check('identityProfile.kubeletidentity.resourceId', + kubelet_identity_resource_id), ]) # delete From 459a2fbf5ff24d323690438d994158fa651bf1fd Mon Sep 17 00:00:00 2001 From: Jonathan Innis Date: Sat, 15 May 2021 22:38:59 -0700 Subject: [PATCH 04/83] [k8s-extension] Release v0.4.0 with OpenServiceMesh (#3376) --- src/k8s-extension/HISTORY.rst | 5 + .../azext_k8s_extension/_validators.py | 4 +- .../azext_k8s_extension/consts.py | 1 + .../azext_k8s_extension/custom.py | 6 +- .../partner_extensions/OpenServiceMesh.py | 95 +++++++++++++++++++ src/k8s-extension/setup.py | 2 +- 6 files changed, 108 insertions(+), 5 deletions(-) create mode 100644 src/k8s-extension/azext_k8s_extension/partner_extensions/OpenServiceMesh.py diff --git a/src/k8s-extension/HISTORY.rst b/src/k8s-extension/HISTORY.rst index 02562364f13..75f127f4afd 100644 --- a/src/k8s-extension/HISTORY.rst +++ b/src/k8s-extension/HISTORY.rst @@ -3,6 +3,11 @@ Release History =============== +0.4.0 +++++++++++++++++++ + +* Release customization for microsoft.openservicemesh + 0.3.1 ++++++++++++++++++ diff --git a/src/k8s-extension/azext_k8s_extension/_validators.py b/src/k8s-extension/azext_k8s_extension/_validators.py index ee44f0e68e8..9941c4a117b 100644 --- a/src/k8s-extension/azext_k8s_extension/_validators.py +++ b/src/k8s-extension/azext_k8s_extension/_validators.py @@ -12,12 +12,12 @@ # pylint: disable=broad-except -def _validate_cc_registration(cmd): +def validate_cc_registration(cmd): try: rp_client = _resource_providers_client(cmd.cli_ctx) registration_state = rp_client.get(consts.PROVIDER_NAMESPACE).registration_state - if registration_state != "Registered": + if registration_state.lower() != consts.REGISTERED.lower(): logger.warning("'Extensions' cannot be used because '%s' provider has not been registered." "More details for registering this provider can be found here - " "https://aka.ms/RegisterKubernetesConfigurationProvider", consts.PROVIDER_NAMESPACE) diff --git a/src/k8s-extension/azext_k8s_extension/consts.py b/src/k8s-extension/azext_k8s_extension/consts.py index 2f39b4d7247..c75489d2362 100644 --- a/src/k8s-extension/azext_k8s_extension/consts.py +++ b/src/k8s-extension/azext_k8s_extension/consts.py @@ -7,3 +7,4 @@ EXTENSION_NAME = 'k8s-extension' EXTENSION_PACKAGE_NAME = "azext_k8s_extension" PROVIDER_NAMESPACE = 'Microsoft.KubernetesConfiguration' +REGISTERED = "Registered" diff --git a/src/k8s-extension/azext_k8s_extension/custom.py b/src/k8s-extension/azext_k8s_extension/custom.py index 2428fa58ffb..f4f2e1cafdd 100644 --- a/src/k8s-extension/azext_k8s_extension/custom.py +++ b/src/k8s-extension/azext_k8s_extension/custom.py @@ -16,12 +16,13 @@ from azext_k8s_extension.vendored_sdks.models import ConfigurationIdentity from azext_k8s_extension.vendored_sdks.models import ErrorResponseException from azext_k8s_extension.vendored_sdks.models import Scope -from azext_k8s_extension._validators import _validate_cc_registration +from azext_k8s_extension._validators import validate_cc_registration from .partner_extensions.ContainerInsights import ContainerInsights from .partner_extensions.AzureDefender import AzureDefender from .partner_extensions.Cassandra import Cassandra from .partner_extensions.AzureMLKubernetes import AzureMLKubernetes +from .partner_extensions.OpenServiceMesh import OpenServiceMesh from .partner_extensions.DefaultExtension import DefaultExtension from . import consts @@ -35,6 +36,7 @@ def ExtensionFactory(extension_name): extension_map = { 'microsoft.azuremonitor.containers': ContainerInsights, 'microsoft.azuredefender.kubernetes': AzureDefender, + 'microsoft.openservicemesh': OpenServiceMesh, 'microsoft.azureml.kubernetes': AzureMLKubernetes, 'cassandradatacentersoperator': Cassandra, } @@ -136,7 +138,7 @@ def create_k8s_extension(cmd, client, resource_group_name, cluster_name, name, c __validate_scope_after_customization(extension_instance.scope) # Check that registration has been done on Microsoft.KubernetesConfiguration for the subscription - _validate_cc_registration(cmd) + validate_cc_registration(cmd) # Create identity, if required if create_identity: diff --git a/src/k8s-extension/azext_k8s_extension/partner_extensions/OpenServiceMesh.py b/src/k8s-extension/azext_k8s_extension/partner_extensions/OpenServiceMesh.py new file mode 100644 index 00000000000..6d11064821c --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/partner_extensions/OpenServiceMesh.py @@ -0,0 +1,95 @@ +# -------------------------------------------------------------------------------------------- +# 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.azclierror import InvalidArgumentValueError, RequiredArgumentMissingError +from knack.log import get_logger + +from ..vendored_sdks.models import ExtensionInstance +from ..vendored_sdks.models import ExtensionInstanceUpdate +from ..vendored_sdks.models import ScopeCluster +from ..vendored_sdks.models import Scope + +from .PartnerExtensionModel import PartnerExtensionModel + +logger = get_logger(__name__) + + +class OpenServiceMesh(PartnerExtensionModel): + def Create(self, cmd, client, resource_group_name, cluster_name, name, cluster_type, extension_type, + scope, auto_upgrade_minor_version, release_train, version, target_namespace, + release_namespace, configuration_settings, configuration_protected_settings, + configuration_settings_file, configuration_protected_settings_file): + + """ExtensionType 'microsoft.openservicemesh' specific validations & defaults for Create + Must create and return a valid 'ExtensionInstance' object. + + """ + # NOTE-1: Replace default scope creation with your customization, if required + # Scope must always be cluster + ext_scope = None + if scope == 'namespace': + raise InvalidArgumentValueError("Invalid scope '{}'. This extension can be installed " + "only at 'cluster' scope.".format(scope)) + + scope_cluster = ScopeCluster(release_namespace=release_namespace) + ext_scope = Scope(cluster=scope_cluster, namespace=None) + + valid_release_trains = ['staging', 'pilot'] + # If release-train is not input, set it to 'stable' + if release_train is None: + raise RequiredArgumentMissingError( + "A release-train must be provided. Valid values are 'staging', 'pilot'." + ) + + if release_train.lower() in valid_release_trains: + # version is a mandatory if release-train is staging or pilot + if version is None: + raise RequiredArgumentMissingError( + "A version must be provided for release-train {}.".format(release_train) + ) + # If the release-train is 'staging' or 'pilot' then auto-upgrade-minor-version MUST be set to False + if auto_upgrade_minor_version or auto_upgrade_minor_version is None: + auto_upgrade_minor_version = False + logger.warning("Setting auto-upgrade-minor-version to False since release-train is '%s'", release_train) + else: + raise InvalidArgumentValueError( + "Invalid release-train '{}'. Valid values are 'staging', 'pilot'.".format(release_train) + ) + + # NOTE-2: Return a valid ExtensionInstance object, Instance name and flag for Identity + create_identity = False + extension_instance = ExtensionInstance( + extension_type=extension_type, + auto_upgrade_minor_version=auto_upgrade_minor_version, + release_train=release_train, + version=version, + scope=ext_scope, + configuration_settings=configuration_settings, + configuration_protected_settings=configuration_protected_settings, + identity=None, + location="" + ) + return extension_instance, name, create_identity + + def Update(self, extension, auto_upgrade_minor_version, release_train, version): + """ExtensionType 'microsoft.openservicemesh' specific validations & defaults for Update + Must create and return a valid 'ExtensionInstanceUpdate' object. + + """ + # auto-upgrade-minor-version MUST be set to False if release_train is staging or pilot + if release_train.lower() in ['staging', 'pilot']: + if auto_upgrade_minor_version or auto_upgrade_minor_version is None: + auto_upgrade_minor_version = False + # Set version to None to always get the latest version - user cannot override + version = None + logger.warning("Setting auto-upgrade-minor-version to False since release-train is '%s'", release_train) + + return ExtensionInstanceUpdate( + auto_upgrade_minor_version=auto_upgrade_minor_version, + release_train=release_train, + version=version + ) diff --git a/src/k8s-extension/setup.py b/src/k8s-extension/setup.py index b3512c976db..64819fc940a 100644 --- a/src/k8s-extension/setup.py +++ b/src/k8s-extension/setup.py @@ -32,7 +32,7 @@ # TODO: Add any additional SDK dependencies here DEPENDENCIES = [] -VERSION = "0.3.1" +VERSION = "0.4.0" with open('README.rst', 'r', encoding='utf-8') as f: README = f.read() From 8a8c7eabff7f304db4963101b4ce1d8ef04b9a15 Mon Sep 17 00:00:00 2001 From: gal-ofir-ms <72738425+gal-ofir-ms@users.noreply.github.com> Date: Sun, 16 May 2021 08:49:35 +0300 Subject: [PATCH 05/83] [Preview] Added azureDefender addon to aks-preview (#3333) --- src/aks-preview/HISTORY.md | 1 + src/aks-preview/azext_aks_preview/_consts.py | 5 ++ src/aks-preview/azext_aks_preview/_help.py | 6 +++ src/aks-preview/azext_aks_preview/custom.py | 48 ++++++++++++-------- 4 files changed, 40 insertions(+), 20 deletions(-) diff --git a/src/aks-preview/HISTORY.md b/src/aks-preview/HISTORY.md index c9e1958a05c..5cd5de8f051 100644 --- a/src/aks-preview/HISTORY.md +++ b/src/aks-preview/HISTORY.md @@ -6,6 +6,7 @@ Release History +++++ * Add --enable-azure-rbac and --disable-azure-rbac in aks update * Support disabling local accounts +* Add addon `azure-defender` to list of available addons under `az aks enable-addons` command 0.5.11 +++++ diff --git a/src/aks-preview/azext_aks_preview/_consts.py b/src/aks-preview/azext_aks_preview/_consts.py index 642e28fca36..6d759a00d03 100644 --- a/src/aks-preview/azext_aks_preview/_consts.py +++ b/src/aks-preview/azext_aks_preview/_consts.py @@ -64,7 +64,12 @@ CONST_AZURE_KEYVAULT_SECRETS_PROVIDER_ADDON_NAME = "azureKeyvaultSecretsProvider" CONST_SECRET_ROTATION_ENABLED = "enableSecretRotation" +# Azure Defender addon configuration keys +CONST_AZURE_DEFENDER_ADDON_NAME = "azureDefender" +CONST_AZURE_DEFENDER_LOG_ANALYTICS_WORKSPACE_RESOURCE_ID = CONST_MONITORING_LOG_ANALYTICS_WORKSPACE_RESOURCE_ID + ADDONS = { + 'azure-defender': CONST_AZURE_DEFENDER_ADDON_NAME, 'http_application_routing': CONST_HTTP_APPLICATION_ROUTING_ADDON_NAME, 'monitoring': CONST_MONITORING_ADDON_NAME, 'virtual-node': CONST_VIRTUAL_NODE_ADDON_NAME, diff --git a/src/aks-preview/azext_aks_preview/_help.py b/src/aks-preview/azext_aks_preview/_help.py index 19d0df44076..3c62bd1763e 100644 --- a/src/aks-preview/azext_aks_preview/_help.py +++ b/src/aks-preview/azext_aks_preview/_help.py @@ -171,6 +171,7 @@ open-service-mesh - enable Open Service Mesh addon (PREVIEW). gitops - enable GitOps (PREVIEW). azure-keyvault-secrets-provider - enable Azure Keyvault Secrets Provider addon (PREVIEW). + azure-defender - enable Azure Defender addon (PREVIEW). - name: --disable-rbac type: bool short-summary: Disable Kubernetes Role-Based Access Control. @@ -1009,6 +1010,8 @@ open-service-mesh - enable Open Service Mesh addon (PREVIEW). gitops - enable GitOps (PREVIEW). azure-keyvault-secrets-provider - enable Azure Keyvault Secrets Provider addon (PREVIEW). + azure-defender - enable Azure Defender addon (PREVIEW). + parameters: - name: --addons -a type: string @@ -1053,6 +1056,9 @@ - name: Enable open-service-mesh addon. text: az aks enable-addons --name MyManagedCluster --resource-group MyResourceGroup --addons open-service-mesh crafted: true + - name: Enable azure-defender addon with workspace resourceId. + text: az aks enable-addons --name MyManagedCluster --resource-group MyResourceGroup --addons azure-defender --workspace-resource-id WorkspaceResourceId + crafted: true """ helps['aks get-versions'] = """ diff --git a/src/aks-preview/azext_aks_preview/custom.py b/src/aks-preview/azext_aks_preview/custom.py index 35d41490f43..0d13f548e0a 100644 --- a/src/aks-preview/azext_aks_preview/custom.py +++ b/src/aks-preview/azext_aks_preview/custom.py @@ -113,6 +113,7 @@ from ._consts import CONST_CONFCOM_ADDON_NAME, CONST_ACC_SGX_QUOTE_HELPER_ENABLED from ._consts import CONST_OPEN_SERVICE_MESH_ADDON_NAME from ._consts import CONST_AZURE_KEYVAULT_SECRETS_PROVIDER_ADDON_NAME, CONST_SECRET_ROTATION_ENABLED +from ._consts import CONST_AZURE_DEFENDER_ADDON_NAME, CONST_AZURE_DEFENDER_LOG_ANALYTICS_WORKSPACE_RESOURCE_ID from ._consts import CONST_MANAGED_IDENTITY_OPERATOR_ROLE, CONST_MANAGED_IDENTITY_OPERATOR_ROLE_ID from ._consts import ADDONS from .maintenanceconfiguration import aks_maintenanceconfiguration_update_internal @@ -2377,24 +2378,24 @@ def _handle_addons_args(cmd, # pylint: disable=too-many-statements enabled=True) addons.remove('kube-dashboard') # TODO: can we help the user find a workspace resource ID? - if 'monitoring' in addons: + if 'monitoring' in addons or 'azure-defender' in addons: if not workspace_resource_id: # use default workspace if exists else create default workspace workspace_resource_id = _ensure_default_log_analytics_workspace_for_monitoring( cmd, subscription_id, resource_group_name) - workspace_resource_id = workspace_resource_id.strip() - if not workspace_resource_id.startswith('/'): - workspace_resource_id = '/' + workspace_resource_id - if workspace_resource_id.endswith('/'): - workspace_resource_id = workspace_resource_id.rstrip('/') - addon_profiles[CONST_MONITORING_ADDON_NAME] = ManagedClusterAddonProfile( - enabled=True, config={CONST_MONITORING_LOG_ANALYTICS_WORKSPACE_RESOURCE_ID: workspace_resource_id}) - addons.remove('monitoring') - # error out if '--enable-addons=monitoring' isn't set but workspace_resource_id is + workspace_resource_id = _sanitize_loganalytics_ws_resource_id(workspace_resource_id) + + if 'monitoring' in addons: + addon_profiles[CONST_MONITORING_ADDON_NAME] = ManagedClusterAddonProfile(enabled=True, config={CONST_MONITORING_LOG_ANALYTICS_WORKSPACE_RESOURCE_ID: workspace_resource_id}) + addons.remove('monitoring') + if 'azure-defender' in addons: + addon_profiles[CONST_AZURE_DEFENDER_ADDON_NAME] = ManagedClusterAddonProfile(enabled=True, config={CONST_AZURE_DEFENDER_LOG_ANALYTICS_WORKSPACE_RESOURCE_ID: workspace_resource_id}) + addons.remove('azure-defender') + # error out if '--enable-addons=monitoring/azure-defender' isn't set but workspace_resource_id is elif workspace_resource_id: raise CLIError( - '"--workspace-resource-id" requires "--enable-addons monitoring".') + '"--workspace-resource-id" requires "--enable-addons [monitoring/azure-defender]".') if 'azure-policy' in addons: addon_profiles[CONST_AZURE_POLICY_ADDON_NAME] = ManagedClusterAddonProfile( enabled=True) @@ -2631,6 +2632,15 @@ def _ensure_default_log_analytics_workspace_for_monitoring(cmd, subscription_id, return ws_resource_id +def _sanitize_loganalytics_ws_resource_id(workspace_resource_id): + workspace_resource_id = workspace_resource_id.strip() + if not workspace_resource_id.startswith('/'): + workspace_resource_id = '/' + workspace_resource_id + if workspace_resource_id.endswith('/'): + workspace_resource_id = workspace_resource_id.rstrip('/') + return workspace_resource_id + + def _ensure_container_insights_for_monitoring(cmd, addon): if not addon.enabled: return None @@ -3340,23 +3350,21 @@ def _update_addons(cmd, # pylint: disable=too-many-branches,too-many-statements addon_profile = addon_profiles.get( addon, ManagedClusterAddonProfile(enabled=False)) # special config handling for certain addons - if addon == CONST_MONITORING_ADDON_NAME: + if addon in [CONST_MONITORING_ADDON_NAME, CONST_AZURE_DEFENDER_ADDON_NAME]: + logAnalyticsConstName = CONST_MONITORING_LOG_ANALYTICS_WORKSPACE_RESOURCE_ID if addon == CONST_MONITORING_ADDON_NAME else CONST_AZURE_DEFENDER_LOG_ANALYTICS_WORKSPACE_RESOURCE_ID if addon_profile.enabled: - raise CLIError('The monitoring addon is already enabled for this managed cluster.\n' - 'To change monitoring configuration, run "az aks disable-addons -a monitoring"' + raise CLIError(f'The {addon} addon is already enabled for this managed cluster.\n' + f'To change {addon} configuration, run "az aks disable-addons -a {addon}"' 'before enabling it again.') if not workspace_resource_id: workspace_resource_id = _ensure_default_log_analytics_workspace_for_monitoring( cmd, subscription_id, resource_group_name) - workspace_resource_id = workspace_resource_id.strip() - if not workspace_resource_id.startswith('/'): - workspace_resource_id = '/' + workspace_resource_id - if workspace_resource_id.endswith('/'): - workspace_resource_id = workspace_resource_id.rstrip('/') + workspace_resource_id = _sanitize_loganalytics_ws_resource_id(workspace_resource_id) + addon_profile.config = { - CONST_MONITORING_LOG_ANALYTICS_WORKSPACE_RESOURCE_ID: workspace_resource_id} + logAnalyticsConstName: workspace_resource_id} elif addon == (CONST_VIRTUAL_NODE_ADDON_NAME + os_type): if addon_profile.enabled: raise CLIError('The virtual-node addon is already enabled for this managed cluster.\n' From 26b58b19e835e55f42150606b49d79bf30c88fee Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Sun, 16 May 2021 14:57:37 +0800 Subject: [PATCH 06/83] [Release] Update index.json for extension [ k8s-extension ] (#3381) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=897392 Last commit: https://github.com/Azure/azure-cli-extensions/commit/459a2fbf5ff24d323690438d994158fa651bf1fd --- src/index.json | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/src/index.json b/src/index.json index 8b23080c258..aea980447e8 100644 --- a/src/index.json +++ b/src/index.json @@ -11181,6 +11181,49 @@ "version": "0.3.1" }, "sha256Digest": "77e0dea5831e33ac88a6485deca56b233ce4e29c39e6fd1765b405b421b7b3b5" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/k8s_extension-0.4.0-py3-none-any.whl", + "filename": "k8s_extension-0.4.0-py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.15.0", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "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": "k8s-extension", + "summary": "Microsoft Azure Command-Line Tools K8s-extension Extension", + "version": "0.4.0" + }, + "sha256Digest": "5987336827718cc5a2aefbee33226cc66574b5767644f8fd48016883a2e9f997" } ], "k8sconfiguration": [ From 9b4bd979008eb8b38b60061e57c3dfc09ef8fd2c Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Sun, 16 May 2021 14:59:06 +0800 Subject: [PATCH 07/83] [Release] Update index.json for extension [ aks-preview ] (#3382) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=897396 Last commit: https://github.com/Azure/azure-cli-extensions/commit/8a8c7eabff7f304db4963101b4ce1d8ef04b9a15 --- src/index.json | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/src/index.json b/src/index.json index aea980447e8..7fcf51ccb85 100644 --- a/src/index.json +++ b/src/index.json @@ -2831,6 +2831,49 @@ "version": "0.5.11" }, "sha256Digest": "9eeda4d792219e1745948103bd6f0677a724553708ba1ccf49ca484181939f07" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/aks_preview-0.5.12-py2.py3-none-any.whl", + "filename": "aks_preview-0.5.12-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.49", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/aks-preview" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "aks-preview", + "summary": "Provides a preview for upcoming AKS features", + "version": "0.5.12" + }, + "sha256Digest": "9d7f0941b2e1e765cd48cee7b7502a035d65385ddce9d210ccdf6ef68519b4e4" } ], "alertsmanagement": [ From 7d6f388644a745b11b92c06378d97919aaca40ae Mon Sep 17 00:00:00 2001 From: Kalpesh Chavan <18593210+KalpeshChavan12@users.noreply.github.com> Date: Mon, 17 May 2021 07:59:01 +0530 Subject: [PATCH 08/83] Regenerated CLI using swagger api version 2021-05-01 (#3374) * Regenerated CLI using swagger api version 2021-05-01 * removed isExperimental and isPreview from metadata. * Regenerated code using autorest without --debug flag. * Regenerated code using stable mode flag (--extension-mode=stable) Co-authored-by: Kalpesh Chavan --- src/maintenance/HISTORY.rst | 4 + .../azext_maintenance/azext_metadata.json | 3 +- .../generated/_client_factory.py | 20 +- .../azext_maintenance/generated/_help.py | 106 +- .../azext_maintenance/generated/_params.py | 160 +- .../azext_maintenance/generated/commands.py | 53 +- .../azext_maintenance/generated/custom.py | 128 +- .../azext_maintenance/manual/commands.py | 2 +- .../tests/latest/test_maintenance_scenario.py | 20 +- .../azext_maintenance/tests/__init__.py | 8 +- .../tests/latest/example_steps.py | 310 ++ .../tests/latest/preparers.py | 159 - .../latest/recordings/test_maintenance.yaml | 2004 --------- .../recordings/test_maintenance_Scenario.yaml | 3863 +++++++++++++++++ .../tests/latest/test_maintenance_scenario.py | 348 +- .../maintenance/_configuration.py | 5 +- .../maintenance/_maintenance_client.py | 61 +- .../vendored_sdks/maintenance/aio/__init__.py | 2 +- ...nfiguration_async.py => _configuration.py} | 5 +- .../maintenance/aio/_maintenance_client.py | 97 + .../aio/_maintenance_client_async.py | 88 - .../maintenance/aio/operations/__init__.py | 27 + ...ly_update_for_resource_group_operations.py | 115 + .../_apply_updates_operations.py} | 126 +- .../_configuration_assignments_operations.py} | 136 +- ...gurations_for_resource_group_operations.py | 115 + ..._maintenance_configurations_operations.py} | 191 +- .../_operations.py} | 15 +- ..._maintenance_configurations_operations.py} | 26 +- .../_updates_operations.py} | 30 +- .../aio/operations_async/__init__.py | 23 - .../maintenance/models/__init__.py | 8 + .../models/_maintenance_client_enums.py | 48 +- .../maintenance/models/_models.py | 96 +- .../maintenance/models/_models_py3.py | 106 +- .../maintenance/operations/__init__.py | 28 +- ...ly_update_for_resource_group_operations.py | 120 + ...ations.py => _apply_updates_operations.py} | 127 +- ... _configuration_assignments_operations.py} | 136 +- ...gurations_for_resource_group_operations.py | 120 + ..._maintenance_configurations_operations.py} | 191 +- ...operation_operations.py => _operations.py} | 15 +- ..._maintenance_configurations_operations.py} | 26 +- ...e_operations.py => _updates_operations.py} | 30 +- src/maintenance/report.md | 601 +-- src/maintenance/setup.py | 5 +- 46 files changed, 6315 insertions(+), 3592 deletions(-) create mode 100644 src/maintenance/azext_maintenance/tests/latest/example_steps.py delete mode 100644 src/maintenance/azext_maintenance/tests/latest/preparers.py delete mode 100644 src/maintenance/azext_maintenance/tests/latest/recordings/test_maintenance.yaml create mode 100644 src/maintenance/azext_maintenance/tests/latest/recordings/test_maintenance_Scenario.yaml rename src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/{_configuration_async.py => _configuration.py} (94%) create mode 100644 src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/_maintenance_client.py delete mode 100644 src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/_maintenance_client_async.py create mode 100644 src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/operations/__init__.py create mode 100644 src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/operations/_apply_update_for_resource_group_operations.py rename src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/{operations_async/_apply_update_operations_async.py => operations/_apply_updates_operations.py} (72%) rename src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/{operations_async/_configuration_assignment_operations_async.py => operations/_configuration_assignments_operations.py} (84%) create mode 100644 src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/operations/_maintenance_configurations_for_resource_group_operations.py rename src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/{operations_async/_maintenance_configuration_operations_async.py => operations/_maintenance_configurations_operations.py} (60%) rename src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/{operations_async/_operation_operations_async.py => operations/_operations.py} (90%) rename src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/{operations_async/_public_maintenance_configuration_operations_async.py => operations/_public_maintenance_configurations_operations.py} (88%) rename src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/{operations_async/_update_operations_async.py => operations/_updates_operations.py} (89%) delete mode 100644 src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/operations_async/__init__.py create mode 100644 src/maintenance/azext_maintenance/vendored_sdks/maintenance/operations/_apply_update_for_resource_group_operations.py rename src/maintenance/azext_maintenance/vendored_sdks/maintenance/operations/{_apply_update_operations.py => _apply_updates_operations.py} (73%) rename src/maintenance/azext_maintenance/vendored_sdks/maintenance/operations/{_configuration_assignment_operations.py => _configuration_assignments_operations.py} (84%) create mode 100644 src/maintenance/azext_maintenance/vendored_sdks/maintenance/operations/_maintenance_configurations_for_resource_group_operations.py rename src/maintenance/azext_maintenance/vendored_sdks/maintenance/operations/{_maintenance_configuration_operations.py => _maintenance_configurations_operations.py} (60%) rename src/maintenance/azext_maintenance/vendored_sdks/maintenance/operations/{_operation_operations.py => _operations.py} (90%) rename src/maintenance/azext_maintenance/vendored_sdks/maintenance/operations/{_public_maintenance_configuration_operations.py => _public_maintenance_configurations_operations.py} (88%) rename src/maintenance/azext_maintenance/vendored_sdks/maintenance/operations/{_update_operations.py => _updates_operations.py} (89%) diff --git a/src/maintenance/HISTORY.rst b/src/maintenance/HISTORY.rst index 6f5c4083dd8..9acf4b65da5 100644 --- a/src/maintenance/HISTORY.rst +++ b/src/maintenance/HISTORY.rst @@ -3,6 +3,10 @@ Release History =============== +1.2.0 +++++++ +* Added support for VMSS OSImage and extension. + 1.1.0 ++++++ * Add schedule related fields for creating maintenance configurations diff --git a/src/maintenance/azext_maintenance/azext_metadata.json b/src/maintenance/azext_maintenance/azext_metadata.json index 8cfc6da9485..3695b0d7077 100644 --- a/src/maintenance/azext_maintenance/azext_metadata.json +++ b/src/maintenance/azext_maintenance/azext_metadata.json @@ -1,4 +1,3 @@ { - "azext.isPreview": true, - "azext.minCliCoreVersion": "2.3.1" + "azext.minCliCoreVersion": "2.15.0" } \ No newline at end of file diff --git a/src/maintenance/azext_maintenance/generated/_client_factory.py b/src/maintenance/azext_maintenance/generated/_client_factory.py index caba0b6d68b..be53926c41c 100644 --- a/src/maintenance/azext_maintenance/generated/_client_factory.py +++ b/src/maintenance/azext_maintenance/generated/_client_factory.py @@ -11,26 +11,34 @@ def cf_maintenance_cl(cli_ctx, *_): from azure.cli.core.commands.client_factory import get_mgmt_service_client - from ..vendored_sdks.maintenance import MaintenanceClient + from azext_maintenance.vendored_sdks.maintenance import MaintenanceClient return get_mgmt_service_client(cli_ctx, MaintenanceClient) def cf_public_maintenance_configuration(cli_ctx, *_): - return cf_maintenance_cl(cli_ctx).public_maintenance_configuration + return cf_maintenance_cl(cli_ctx).public_maintenance_configurations def cf_apply_update(cli_ctx, *_): - return cf_maintenance_cl(cli_ctx).apply_update + return cf_maintenance_cl(cli_ctx).apply_updates def cf_configuration_assignment(cli_ctx, *_): - return cf_maintenance_cl(cli_ctx).configuration_assignment + return cf_maintenance_cl(cli_ctx).configuration_assignments def cf_maintenance_configuration(cli_ctx, *_): - return cf_maintenance_cl(cli_ctx).maintenance_configuration + return cf_maintenance_cl(cli_ctx).maintenance_configurations + + +def cf_maintenance_configuration_for_resource_group(cli_ctx, *_): + return cf_maintenance_cl(cli_ctx).maintenance_configurations_for_resource_group + + +def cf_apply_update_for_resource_group(cli_ctx, *_): + return cf_maintenance_cl(cli_ctx).apply_update_for_resource_group def cf_update(cli_ctx, *_): - return cf_maintenance_cl(cli_ctx).update + return cf_maintenance_cl(cli_ctx).updates diff --git a/src/maintenance/azext_maintenance/generated/_help.py b/src/maintenance/azext_maintenance/generated/_help.py index 6b2bd9d2b1d..331c2c39470 100644 --- a/src/maintenance/azext_maintenance/generated/_help.py +++ b/src/maintenance/azext_maintenance/generated/_help.py @@ -14,12 +14,12 @@ helps['maintenance public-configuration'] = """ type: group - short-summary: maintenance public-configuration + short-summary: Manage public maintenance configuration with maintenance """ helps['maintenance public-configuration list'] = """ type: command - short-summary: "Get Public Maintenance Configuration records" + short-summary: "Get Public Maintenance Configuration records." examples: - name: PublicMaintenanceConfigurations_List text: |- @@ -28,7 +28,7 @@ helps['maintenance public-configuration show'] = """ type: command - short-summary: "Get Public Maintenance Configuration record" + short-summary: "Get Public Maintenance Configuration record." examples: - name: PublicMaintenanceConfigurations_GetForResource text: |- @@ -37,12 +37,21 @@ helps['maintenance applyupdate'] = """ type: group - short-summary: maintenance applyupdate + short-summary: Manage apply update with maintenance +""" + +helps['maintenance applyupdate list'] = """ + type: command + short-summary: "Get Configuration records within a subscription." + examples: + - name: ApplyUpdates_List + text: |- + az maintenance applyupdate list """ helps['maintenance applyupdate show'] = """ type: command - short-summary: "Track maintenance updates to resource" + short-summary: "Track maintenance updates to resource." examples: - name: ApplyUpdates_Get text: |- @@ -52,23 +61,38 @@ helps['maintenance applyupdate create'] = """ type: command - short-summary: "Apply maintenance updates to resource" + short-summary: "Apply maintenance updates to resource with parent And Apply maintenance updates to resource." examples: - name: ApplyUpdates_CreateOrUpdateParent text: |- az maintenance applyupdate create --provider-name "Microsoft.Compute" --resource-group "examplerg" \ --resource-name "smdvm1" --resource-parent-name "smdtest1" --resource-parent-type "virtualMachineScaleSets" \ --resource-type "virtualMachines" + - name: ApplyUpdates_CreateOrUpdate + text: |- + az maintenance applyupdate create --provider-name "Microsoft.Compute" --resource-group "examplerg" \ +--resource-name "smdtest1" --resource-type "virtualMachineScaleSets" """ helps['maintenance applyupdate update'] = """ type: command - short-summary: "Apply maintenance updates to resource" + short-summary: "Apply maintenance updates to resource." +""" + +helps['maintenance applyupdate show-parent'] = """ + type: command + short-summary: "Track maintenance updates to resource with parent." + examples: + - name: ApplyUpdates_GetParent + text: |- + az maintenance applyupdate show-parent --name "e9b9685d-78e4-44c4-a81c-64a14f9b87b6" --provider-name \ +"Microsoft.Compute" --resource-group "examplerg" --resource-name "smdvm1" --resource-parent-name "smdtest1" \ +--resource-parent-type "virtualMachineScaleSets" --resource-type "virtualMachines" """ helps['maintenance applyupdate get-parent'] = """ type: command - short-summary: "Track maintenance updates to resource with parent" + short-summary: "Track maintenance updates to resource with parent." examples: - name: ApplyUpdates_GetParent text: |- @@ -79,7 +103,7 @@ helps['maintenance assignment'] = """ type: group - short-summary: maintenance assignment + short-summary: Manage configuration assignment with maintenance """ helps['maintenance assignment list'] = """ @@ -94,7 +118,7 @@ helps['maintenance assignment create'] = """ type: command - short-summary: "Register configuration for resource." + short-summary: "Register configuration for resource. And Register configuration for resource." examples: - name: ConfigurationAssignments_CreateOrUpdateParent text: |- @@ -102,6 +126,12 @@ ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/policy1" --name \ "workervmPolicy" --provider-name "Microsoft.Compute" --resource-group "examplerg" --resource-name "smdvm1" \ --resource-parent-name "smdtest1" --resource-parent-type "virtualMachineScaleSets" --resource-type "virtualMachines" + - name: ConfigurationAssignments_CreateOrUpdate + text: |- + az maintenance assignment create --maintenance-configuration-id "/subscriptions/5b4b650e-28b9-4790-b3ab-\ +ddbd88d727c4/resourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1" --name \ +"workervmConfiguration" --provider-name "Microsoft.Compute" --resource-group "examplerg" --resource-name "smdtest1" \ +--resource-type "virtualMachineScaleSets" """ helps['maintenance assignment update'] = """ @@ -111,13 +141,17 @@ helps['maintenance assignment delete'] = """ type: command - short-summary: "Unregister configuration for resource." + short-summary: "Unregister configuration for resource. And Unregister configuration for resource." examples: - name: ConfigurationAssignments_DeleteParent text: |- az maintenance assignment delete --name "workervmConfiguration" --provider-name "Microsoft.Compute" \ --resource-group "examplerg" --resource-name "smdvm1" --resource-parent-name "smdtest1" --resource-parent-type \ "virtualMachineScaleSets" --resource-type "virtualMachines" + - name: ConfigurationAssignments_Delete + text: |- + az maintenance assignment delete --name "workervmConfiguration" --provider-name "Microsoft.Compute" \ +--resource-group "examplerg" --resource-name "smdtest1" --resource-type "virtualMachineScaleSets" """ helps['maintenance assignment list-parent'] = """ @@ -133,12 +167,12 @@ helps['maintenance configuration'] = """ type: group - short-summary: maintenance configuration + short-summary: Manage maintenance configuration with maintenance """ helps['maintenance configuration list'] = """ type: command - short-summary: "Get Configuration records within a subscription" + short-summary: "Get Configuration records within a subscription." examples: - name: MaintenanceConfigurations_List text: |- @@ -147,7 +181,7 @@ helps['maintenance configuration show'] = """ type: command - short-summary: "Get Configuration record" + short-summary: "Get Configuration record." examples: - name: MaintenanceConfigurations_GetForResource text: |- @@ -156,42 +190,70 @@ helps['maintenance configuration create'] = """ type: command - short-summary: "Create or Update configuration record" + short-summary: "Create configuration record." examples: - name: MaintenanceConfigurations_CreateOrUpdateForResource text: |- - az maintenance configuration create --location "westus2" --maintenance-scope "OSImage" \ + az maintenance configuration create --location "westus2" --maintenance-scope "Host" \ --maintenance-window-duration "05:00" --maintenance-window-expiration-date-time "9999-12-31 00:00" \ ---maintenance-window-recur-every "Day" --maintenance-window-start-date-time "2020-04-30 08:00" \ +--maintenance-window-recur-every "Day" --maintenance-window-start-date-time "2025-04-30 08:00" \ --maintenance-window-time-zone "Pacific Standard Time" --namespace "Microsoft.Maintenance" --visibility "Custom" \ --resource-group "examplerg" --resource-name "configuration1" """ helps['maintenance configuration update'] = """ type: command - short-summary: "Patch configuration record" + short-summary: "Patch configuration record." examples: - name: MaintenanceConfigurations_UpdateForResource text: |- - az maintenance configuration update --location "westus2" --maintenance-scope "OSImage" \ + az maintenance configuration update --location "westus2" --maintenance-scope "Host" \ --maintenance-window-duration "05:00" --maintenance-window-expiration-date-time "9999-12-31 00:00" \ ---maintenance-window-recur-every "Month Third Sunday" --maintenance-window-start-date-time "2020-04-30 08:00" \ +--maintenance-window-recur-every "Month Third Sunday" --maintenance-window-start-date-time "2025-04-30 08:00" \ --maintenance-window-time-zone "Pacific Standard Time" --namespace "Microsoft.Maintenance" --visibility "Custom" \ --resource-group "examplerg" --resource-name "configuration1" """ helps['maintenance configuration delete'] = """ type: command - short-summary: "Delete Configuration record" + short-summary: "Delete Configuration record." examples: - name: MaintenanceConfigurations_DeleteForResource text: |- az maintenance configuration delete --resource-group "examplerg" --resource-name "example1" """ +helps['maintenance configuration-for-resource-group'] = """ + type: group + short-summary: Manage maintenance configuration for resource group with maintenance +""" + +helps['maintenance configuration-for-resource-group list'] = """ + type: command + short-summary: "Get Configuration records within a subscription and resource group." + examples: + - name: MaintenanceConfigurationsResourceGroup_List + text: |- + az maintenance configuration-for-resource-group list --resource-group "examplerg" +""" + +helps['maintenance applyupdate-for-resource-group'] = """ + type: group + short-summary: Manage apply update for resource group with maintenance +""" + +helps['maintenance applyupdate-for-resource-group list'] = """ + type: command + short-summary: "Get Configuration records within a subscription and resource group." + examples: + - name: ApplyUpdatesResourceGroup_List + text: |- + az maintenance applyupdate-for-resource-group list --resource-group "examplerg" +""" + helps['maintenance update'] = """ type: group - short-summary: maintenance update + short-summary: Manage update with maintenance """ helps['maintenance update list'] = """ diff --git a/src/maintenance/azext_maintenance/generated/_params.py b/src/maintenance/azext_maintenance/generated/_params.py index a019b1b9744..5b2da76f0bc 100644 --- a/src/maintenance/azext_maintenance/generated/_params.py +++ b/src/maintenance/azext_maintenance/generated/_params.py @@ -23,15 +23,15 @@ def load_arguments(self, _): with self.argument_context('maintenance public-configuration show') as c: - c.argument('resource_name', type=str, help='Resource Identifier', id_part='name') + c.argument('resource_name', type=str, help='Maintenance Configuration Name', id_part='name') with self.argument_context('maintenance applyupdate show') as c: c.argument('resource_group_name', resource_group_name_type) c.argument('provider_name', type=str, help='Resource provider name') c.argument('resource_type', type=str, help='Resource type') c.argument('resource_name', type=str, help='Resource identifier') - c.argument('apply_update_name', options_list=['--name', '-n', '--apply-update-name'], type=str, help='' - 'applyUpdate Id') + c.argument('apply_update_name', options_list=['--name', '-n', '--apply-update-name'], type=str, + help='applyUpdate Id') with self.argument_context('maintenance applyupdate create') as c: c.argument('resource_group_name', resource_group_name_type) @@ -47,15 +47,15 @@ def load_arguments(self, _): c.argument('resource_type', type=str, help='Resource type') c.argument('resource_name', type=str, help='Resource identifier') - with self.argument_context('maintenance applyupdate get-parent') as c: + with self.argument_context('maintenance applyupdate show-parent') as c: c.argument('resource_group_name', resource_group_name_type) c.argument('resource_parent_type', type=str, help='Resource parent type') c.argument('resource_parent_name', type=str, help='Resource parent identifier') c.argument('provider_name', type=str, help='Resource provider name') c.argument('resource_type', type=str, help='Resource type') c.argument('resource_name', type=str, help='Resource identifier') - c.argument('apply_update_name', options_list=['--name', '-n', '--apply-update-name'], type=str, help='' - 'applyUpdate Id') + c.argument('apply_update_name', options_list=['--name', '-n', '--apply-update-name'], type=str, + help='applyUpdate Id') with self.argument_context('maintenance assignment list') as c: c.argument('resource_group_name', resource_group_name_type) @@ -72,7 +72,7 @@ def load_arguments(self, _): c.argument('resource_name', type=str, help='Resource identifier') c.argument('configuration_assignment_name', options_list=['--name', '-n', '--configuration-assignment-name'], type=str, help='Configuration assignment name') - c.argument('location', arg_type=get_location_type(self.cli_ctx), + c.argument('location', arg_type=get_location_type(self.cli_ctx), required=False, validator=get_default_location_from_resource_group) c.argument('maintenance_configuration_id', type=str, help='The maintenance configuration Id') c.argument('resource_id', type=str, help='The unique resourceId') @@ -84,7 +84,7 @@ def load_arguments(self, _): c.argument('resource_name', type=str, help='Resource identifier') c.argument('configuration_assignment_name', options_list=['--name', '-n', '--configuration-assignment-name'], type=str, help='Configuration assignment name') - c.argument('location', arg_type=get_location_type(self.cli_ctx), + c.argument('location', arg_type=get_location_type(self.cli_ctx), required=False, validator=get_default_location_from_resource_group) c.argument('maintenance_configuration_id', type=str, help='The maintenance configuration Id') c.argument('resource_id', type=str, help='The unique resourceId') @@ -109,91 +109,107 @@ def load_arguments(self, _): with self.argument_context('maintenance configuration show') as c: c.argument('resource_group_name', resource_group_name_type) - c.argument('resource_name', type=str, help='Resource Identifier') + c.argument('resource_name', type=str, help='Maintenance Configuration Name') with self.argument_context('maintenance configuration create') as c: c.argument('resource_group_name', resource_group_name_type) - c.argument('resource_name', type=str, help='Resource Identifier') - c.argument('location', arg_type=get_location_type(self.cli_ctx), + c.argument('resource_name', type=str, help='Maintenance Configuration Name') + c.argument('location', arg_type=get_location_type(self.cli_ctx), required=False, validator=get_default_location_from_resource_group) c.argument('tags', tags_type) c.argument('namespace', type=str, help='Gets or sets namespace of the resource') - c.argument('extension_properties', action=AddExtensionProperties, nargs='*', help='Gets or sets ' + c.argument('extension_properties', action=AddExtensionProperties, nargs='+', help='Gets or sets ' 'extensionProperties of the maintenanceConfiguration Expect value: KEY1=VALUE1 KEY2=VALUE2 ...') - c.argument('maintenance_scope', arg_type=get_enum_type(['All', 'Host', 'Resource', 'InResource', 'OSImage', '' - 'Extension', 'InGuestPatch', 'SQLDB', '' - 'SQLManagedInstance']), help='Gets or sets ' + c.argument('maintenance_scope', arg_type=get_enum_type(['Host', 'OSImage', 'Extension', 'InGuestPatch', + 'SQLDB', 'SQLManagedInstance']), help='Gets or sets ' 'maintenanceScope of the configuration') c.argument('visibility', arg_type=get_enum_type(['Custom', 'Public']), help='Gets or sets the visibility of ' - 'the configuration') - c.argument('maintenance_window_start_date_time', type=str, help='Effective start date of the maintenance ' - 'window in YYYY-MM-DD hh:mm format. The start date can be set to either the current date or future ' - 'date. The window will be created in the time zone provided and adjusted to daylight savings ' - 'according to that time zone.') - c.argument('maintenance_window_expiration_date_time', type=str, help='Effective expiration date of the ' - 'maintenance window in YYYY-MM-DD hh:mm format. The window will be created in the time zone ' - 'provided and adjusted to daylight savings according to that time zone. Expiration date must be set ' - 'to a future date. If not provided, it will be set to the maximum datetime 9999-12-31 23:59:59.') - c.argument('maintenance_window_duration', type=str, help='Duration of the maintenance window in HH:mm format. ' - 'If not provided, default value will be used based on maintenance scope provided. Example: 05:00.') - c.argument('maintenance_window_time_zone', type=str, help='Name of the timezone. List of timezones can be ' - 'obtained by executing [System.TimeZoneInfo]::GetSystemTimeZones() in PowerShell. Example: Pacific ' - 'Standard Time, UTC, W. Europe Standard Time, Korea Standard Time, Cen. Australia Standard Time.') - c.argument('maintenance_window_recur_every', type=str, help='Rate at which a Maintenance window is expected to ' - 'recur. The rate can be expressed as daily, weekly, or monthly schedules. Daily schedule are ' - 'formatted as recurEvery: [Frequency as integer][\'Day(s)\']. If no frequency is provided, the ' - 'default frequency is 1. Daily schedule examples are recurEvery: Day, recurEvery: 3Days. Weekly ' - 'schedule are formatted as recurEvery: [Frequency as integer][\'Week(s)\'] [Optional comma ' - 'separated list of weekdays Monday-Sunday]. Weekly schedule examples are recurEvery: 3Weeks, ' - 'recurEvery: Week Saturday,Sunday. Monthly schedules are formatted as [Frequency as ' - 'integer][\'Month(s)\'] [Comma separated list of month days] or [Frequency as ' - 'integer][\'Month(s)\'] [Week of Month (First, Second, Third, Fourth, Last)] [Weekday ' - 'Monday-Sunday]. Monthly schedule examples are recurEvery: Month, recurEvery: 2Months, recurEvery: ' - 'Month day23,day24, recurEvery: Month Last Sunday, recurEvery: Month Fourth Monday.') + 'the configuration. The default value is \'Custom\'') + c.argument('start_date_time', options_list=['--maintenance-window-start-date-time', '--start-date-time'], + type=str, help='Effective start date of the maintenance window in YYYY-MM-DD hh:mm format. The ' + 'start date can be set to either the current date or future date. The window will be created in the ' + 'time zone provided and adjusted to daylight savings according to that time zone.', + arg_group='Maintenance Window') + c.argument('expiration_date_time', options_list=['--maintenance-window-expiration-date-time', + '--expiration-date-time'], type=str, help='Effective ' + 'expiration date of the maintenance window in YYYY-MM-DD hh:mm format. The window will be created ' + 'in the time zone provided and adjusted to daylight savings according to that time zone. Expiration ' + 'date must be set to a future date. If not provided, it will be set to the maximum datetime ' + '9999-12-31 23:59:59.', arg_group='Maintenance Window') + c.argument('duration', options_list=['--maintenance-window-duration', '--duration'], type=str, help='Duration ' + 'of the maintenance window in HH:mm format. If not provided, default value will be used based on ' + 'maintenance scope provided. Example: 05:00.', arg_group='Maintenance Window') + c.argument('time_zone', options_list=['--maintenance-window-time-zone', '--time-zone'], type=str, help='Name ' + 'of the timezone. List of timezones can be obtained by executing [System.TimeZoneInfo]::GetSystemTim' + 'eZones() in PowerShell. Example: Pacific Standard Time, UTC, W. Europe Standard Time, Korea ' + 'Standard Time, Cen. Australia Standard Time.', arg_group='Maintenance Window') + c.argument('recur_every', options_list=['--maintenance-window-recur-every', '--recur-every'], type=str, + help='Rate at which a Maintenance window is expected to recur. The rate can be expressed as daily, ' + 'weekly, or monthly schedules. Daily schedule are formatted as recurEvery: [Frequency as ' + 'integer][\'Day(s)\']. If no frequency is provided, the default frequency is 1. Daily schedule ' + 'examples are recurEvery: Day, recurEvery: 3Days. Weekly schedule are formatted as recurEvery: ' + '[Frequency as integer][\'Week(s)\'] [Optional comma separated list of weekdays Monday-Sunday]. ' + 'Weekly schedule examples are recurEvery: 3Weeks, recurEvery: Week Saturday,Sunday. Monthly ' + 'schedules are formatted as [Frequency as integer][\'Month(s)\'] [Comma separated list of month ' + 'days] or [Frequency as integer][\'Month(s)\'] [Week of Month (First, Second, Third, Fourth, Last)] ' + '[Weekday Monday-Sunday]. Monthly schedule examples are recurEvery: Month, recurEvery: 2Months, ' + 'recurEvery: Month day23,day24, recurEvery: Month Last Sunday, recurEvery: Month Fourth Monday.', + arg_group='Maintenance Window') with self.argument_context('maintenance configuration update') as c: c.argument('resource_group_name', resource_group_name_type) - c.argument('resource_name', type=str, help='Resource Identifier') - c.argument('location', arg_type=get_location_type(self.cli_ctx), + c.argument('resource_name', type=str, help='Maintenance Configuration Name') + c.argument('location', arg_type=get_location_type(self.cli_ctx), required=False, validator=get_default_location_from_resource_group) c.argument('tags', tags_type) c.argument('namespace', type=str, help='Gets or sets namespace of the resource') - c.argument('extension_properties', action=AddExtensionProperties, nargs='*', help='Gets or sets ' + c.argument('extension_properties', action=AddExtensionProperties, nargs='+', help='Gets or sets ' 'extensionProperties of the maintenanceConfiguration Expect value: KEY1=VALUE1 KEY2=VALUE2 ...') - c.argument('maintenance_scope', arg_type=get_enum_type(['All', 'Host', 'Resource', 'InResource', 'OSImage', '' - 'Extension', 'InGuestPatch', 'SQLDB', '' - 'SQLManagedInstance']), help='Gets or sets ' + c.argument('maintenance_scope', arg_type=get_enum_type(['Host', 'OSImage', 'Extension', 'InGuestPatch', + 'SQLDB', 'SQLManagedInstance']), help='Gets or sets ' 'maintenanceScope of the configuration') c.argument('visibility', arg_type=get_enum_type(['Custom', 'Public']), help='Gets or sets the visibility of ' - 'the configuration') - c.argument('maintenance_window_start_date_time', type=str, help='Effective start date of the maintenance ' - 'window in YYYY-MM-DD hh:mm format. The start date can be set to either the current date or future ' - 'date. The window will be created in the time zone provided and adjusted to daylight savings ' - 'according to that time zone.') - c.argument('maintenance_window_expiration_date_time', type=str, help='Effective expiration date of the ' - 'maintenance window in YYYY-MM-DD hh:mm format. The window will be created in the time zone ' - 'provided and adjusted to daylight savings according to that time zone. Expiration date must be set ' - 'to a future date. If not provided, it will be set to the maximum datetime 9999-12-31 23:59:59.') - c.argument('maintenance_window_duration', type=str, help='Duration of the maintenance window in HH:mm format. ' - 'If not provided, default value will be used based on maintenance scope provided. Example: 05:00.') - c.argument('maintenance_window_time_zone', type=str, help='Name of the timezone. List of timezones can be ' - 'obtained by executing [System.TimeZoneInfo]::GetSystemTimeZones() in PowerShell. Example: Pacific ' - 'Standard Time, UTC, W. Europe Standard Time, Korea Standard Time, Cen. Australia Standard Time.') - c.argument('maintenance_window_recur_every', type=str, help='Rate at which a Maintenance window is expected to ' - 'recur. The rate can be expressed as daily, weekly, or monthly schedules. Daily schedule are ' - 'formatted as recurEvery: [Frequency as integer][\'Day(s)\']. If no frequency is provided, the ' - 'default frequency is 1. Daily schedule examples are recurEvery: Day, recurEvery: 3Days. Weekly ' - 'schedule are formatted as recurEvery: [Frequency as integer][\'Week(s)\'] [Optional comma ' - 'separated list of weekdays Monday-Sunday]. Weekly schedule examples are recurEvery: 3Weeks, ' - 'recurEvery: Week Saturday,Sunday. Monthly schedules are formatted as [Frequency as ' - 'integer][\'Month(s)\'] [Comma separated list of month days] or [Frequency as ' - 'integer][\'Month(s)\'] [Week of Month (First, Second, Third, Fourth, Last)] [Weekday ' - 'Monday-Sunday]. Monthly schedule examples are recurEvery: Month, recurEvery: 2Months, recurEvery: ' - 'Month day23,day24, recurEvery: Month Last Sunday, recurEvery: Month Fourth Monday.') + 'the configuration. The default value is \'Custom\'') + c.argument('start_date_time', options_list=['--maintenance-window-start-date-time', '--start-date-time'], + type=str, help='Effective start date of the maintenance window in YYYY-MM-DD hh:mm format. The ' + 'start date can be set to either the current date or future date. The window will be created in the ' + 'time zone provided and adjusted to daylight savings according to that time zone.', + arg_group='Maintenance Window') + c.argument('expiration_date_time', options_list=['--maintenance-window-expiration-date-time', + '--expiration-date-time'], type=str, help='Effective ' + 'expiration date of the maintenance window in YYYY-MM-DD hh:mm format. The window will be created ' + 'in the time zone provided and adjusted to daylight savings according to that time zone. Expiration ' + 'date must be set to a future date. If not provided, it will be set to the maximum datetime ' + '9999-12-31 23:59:59.', arg_group='Maintenance Window') + c.argument('duration', options_list=['--maintenance-window-duration', '--duration'], type=str, help='Duration ' + 'of the maintenance window in HH:mm format. If not provided, default value will be used based on ' + 'maintenance scope provided. Example: 05:00.', arg_group='Maintenance Window') + c.argument('time_zone', options_list=['--maintenance-window-time-zone', '--time-zone'], type=str, help='Name ' + 'of the timezone. List of timezones can be obtained by executing [System.TimeZoneInfo]::GetSystemTim' + 'eZones() in PowerShell. Example: Pacific Standard Time, UTC, W. Europe Standard Time, Korea ' + 'Standard Time, Cen. Australia Standard Time.', arg_group='Maintenance Window') + c.argument('recur_every', options_list=['--maintenance-window-recur-every', '--recur-every'], type=str, + help='Rate at which a Maintenance window is expected to recur. The rate can be expressed as daily, ' + 'weekly, or monthly schedules. Daily schedule are formatted as recurEvery: [Frequency as ' + 'integer][\'Day(s)\']. If no frequency is provided, the default frequency is 1. Daily schedule ' + 'examples are recurEvery: Day, recurEvery: 3Days. Weekly schedule are formatted as recurEvery: ' + '[Frequency as integer][\'Week(s)\'] [Optional comma separated list of weekdays Monday-Sunday]. ' + 'Weekly schedule examples are recurEvery: 3Weeks, recurEvery: Week Saturday,Sunday. Monthly ' + 'schedules are formatted as [Frequency as integer][\'Month(s)\'] [Comma separated list of month ' + 'days] or [Frequency as integer][\'Month(s)\'] [Week of Month (First, Second, Third, Fourth, Last)] ' + '[Weekday Monday-Sunday]. Monthly schedule examples are recurEvery: Month, recurEvery: 2Months, ' + 'recurEvery: Month day23,day24, recurEvery: Month Last Sunday, recurEvery: Month Fourth Monday.', + arg_group='Maintenance Window') with self.argument_context('maintenance configuration delete') as c: c.argument('resource_group_name', resource_group_name_type) - c.argument('resource_name', type=str, help='Resource Identifier') + c.argument('resource_name', type=str, help='Maintenance Configuration Name') + + with self.argument_context('maintenance configuration-for-resource-group list') as c: + c.argument('resource_group_name', resource_group_name_type) + + with self.argument_context('maintenance applyupdate-for-resource-group list') as c: + c.argument('resource_group_name', resource_group_name_type) with self.argument_context('maintenance update list') as c: c.argument('resource_group_name', resource_group_name_type) diff --git a/src/maintenance/azext_maintenance/generated/commands.py b/src/maintenance/azext_maintenance/generated/commands.py index 98fe74f50ae..610208238c3 100644 --- a/src/maintenance/azext_maintenance/generated/commands.py +++ b/src/maintenance/azext_maintenance/generated/commands.py @@ -17,33 +17,33 @@ def load_command_table(self, _): from azext_maintenance.generated._client_factory import cf_public_maintenance_configuration maintenance_public_maintenance_configuration = CliCommandType( - operations_tmpl='azext_maintenance.vendored_sdks.maintenance.operations._public_maintenance_configuration_opera' - 'tions#PublicMaintenanceConfigurationOperations.{}', + operations_tmpl='azext_maintenance.vendored_sdks.maintenance.operations._public_maintenance_configurations_oper' + 'ations#PublicMaintenanceConfigurationsOperations.{}', client_factory=cf_public_maintenance_configuration) with self.command_group('maintenance public-configuration', maintenance_public_maintenance_configuration, - client_factory=cf_public_maintenance_configuration, is_experimental=True) as g: + client_factory=cf_public_maintenance_configuration) as g: g.custom_command('list', 'maintenance_public_configuration_list') g.custom_show_command('show', 'maintenance_public_configuration_show') from azext_maintenance.generated._client_factory import cf_apply_update maintenance_apply_update = CliCommandType( - operations_tmpl='azext_maintenance.vendored_sdks.maintenance.operations._apply_update_operations#ApplyUpdateOpe' - 'rations.{}', + operations_tmpl='azext_maintenance.vendored_sdks.maintenance.operations._apply_updates_operations#ApplyUpdatesO' + 'perations.{}', client_factory=cf_apply_update) - with self.command_group('maintenance applyupdate', maintenance_apply_update, client_factory=cf_apply_update, - is_experimental=True) as g: + with self.command_group('maintenance applyupdate', maintenance_apply_update, client_factory=cf_apply_update) as g: + g.custom_command('list', 'maintenance_applyupdate_list') g.custom_show_command('show', 'maintenance_applyupdate_show') g.custom_command('create', 'maintenance_applyupdate_create') g.custom_command('update', 'maintenance_applyupdate_update') - g.custom_command('get-parent', 'maintenance_applyupdate_get_parent') + g.custom_command('show-parent', 'maintenance_applyupdate_show_parent') from azext_maintenance.generated._client_factory import cf_configuration_assignment maintenance_configuration_assignment = CliCommandType( - operations_tmpl='azext_maintenance.vendored_sdks.maintenance.operations._configuration_assignment_operations#Co' - 'nfigurationAssignmentOperations.{}', + operations_tmpl='azext_maintenance.vendored_sdks.maintenance.operations._configuration_assignments_operations#C' + 'onfigurationAssignmentsOperations.{}', client_factory=cf_configuration_assignment) with self.command_group('maintenance assignment', maintenance_configuration_assignment, - client_factory=cf_configuration_assignment, is_experimental=True) as g: + client_factory=cf_configuration_assignment) as g: g.custom_command('list', 'maintenance_assignment_list') g.custom_command('create', 'maintenance_assignment_create') g.custom_command('update', 'maintenance_assignment_update') @@ -52,22 +52,41 @@ def load_command_table(self, _): from azext_maintenance.generated._client_factory import cf_maintenance_configuration maintenance_maintenance_configuration = CliCommandType( - operations_tmpl='azext_maintenance.vendored_sdks.maintenance.operations._maintenance_configuration_operations#M' - 'aintenanceConfigurationOperations.{}', + operations_tmpl='azext_maintenance.vendored_sdks.maintenance.operations._maintenance_configurations_operations#' + 'MaintenanceConfigurationsOperations.{}', client_factory=cf_maintenance_configuration) with self.command_group('maintenance configuration', maintenance_maintenance_configuration, - client_factory=cf_maintenance_configuration, is_experimental=True) as g: + client_factory=cf_maintenance_configuration) as g: g.custom_command('list', 'maintenance_configuration_list') g.custom_show_command('show', 'maintenance_configuration_show') g.custom_command('create', 'maintenance_configuration_create') g.custom_command('update', 'maintenance_configuration_update') g.custom_command('delete', 'maintenance_configuration_delete', confirmation=True) + from azext_maintenance.generated._client_factory import cf_maintenance_configuration_for_resource_group + maintenance_maintenance_configuration_for_resource_group = CliCommandType( + operations_tmpl='azext_maintenance.vendored_sdks.maintenance.operations._maintenance_configurations_for_resourc' + 'e_group_operations#MaintenanceConfigurationsForResourceGroupOperations.{}', + client_factory=cf_maintenance_configuration_for_resource_group) + with self.command_group('maintenance configuration-for-resource-group', + maintenance_maintenance_configuration_for_resource_group, + client_factory=cf_maintenance_configuration_for_resource_group) as g: + g.custom_command('list', 'maintenance_configuration_for_resource_group_list') + + from azext_maintenance.generated._client_factory import cf_apply_update_for_resource_group + maintenance_apply_update_for_resource_group = CliCommandType( + operations_tmpl='azext_maintenance.vendored_sdks.maintenance.operations._apply_update_for_resource_group_operat' + 'ions#ApplyUpdateForResourceGroupOperations.{}', + client_factory=cf_apply_update_for_resource_group) + with self.command_group('maintenance applyupdate-for-resource-group', maintenance_apply_update_for_resource_group, + client_factory=cf_apply_update_for_resource_group) as g: + g.custom_command('list', 'maintenance_applyupdate_for_resource_group_list') + from azext_maintenance.generated._client_factory import cf_update maintenance_update = CliCommandType( - operations_tmpl='azext_maintenance.vendored_sdks.maintenance.operations._update_operations#UpdateOperations.{}', + operations_tmpl='azext_maintenance.vendored_sdks.maintenance.operations._updates_operations#UpdatesOperations.{' + '}', client_factory=cf_update) - with self.command_group('maintenance update', maintenance_update, client_factory=cf_update, - is_experimental=True) as g: + with self.command_group('maintenance update', maintenance_update, client_factory=cf_update) as g: g.custom_command('list', 'maintenance_update_list') g.custom_command('list-parent', 'maintenance_update_list_parent') diff --git a/src/maintenance/azext_maintenance/generated/custom.py b/src/maintenance/azext_maintenance/generated/custom.py index 37c5c5073ce..8d9c07ea934 100644 --- a/src/maintenance/azext_maintenance/generated/custom.py +++ b/src/maintenance/azext_maintenance/generated/custom.py @@ -20,6 +20,10 @@ def maintenance_public_configuration_show(client, return client.get(resource_name=resource_name) +def maintenance_applyupdate_list(client): + return client.list() + + def maintenance_applyupdate_show(client, resource_group_name, provider_name, @@ -40,7 +44,7 @@ def maintenance_applyupdate_create(client, resource_name, resource_parent_type=None, resource_parent_name=None): - if resource_group_name and all(v is not None for v in [provider_name, resource_parent_type, resource_parent_name, resource_type, resource_name]): + if resource_group_name and provider_name is not None and resource_parent_type is not None and resource_parent_name is not None and resource_type is not None and resource_name is not None: return client.create_or_update_parent(resource_group_name=resource_group_name, provider_name=provider_name, resource_parent_type=resource_parent_type, @@ -64,14 +68,14 @@ def maintenance_applyupdate_update(client, resource_name=resource_name) -def maintenance_applyupdate_get_parent(client, - resource_group_name, - resource_parent_type, - resource_parent_name, - provider_name, - resource_type, - resource_name, - apply_update_name): +def maintenance_applyupdate_show_parent(client, + resource_group_name, + resource_parent_type, + resource_parent_name, + provider_name, + resource_type, + resource_name, + apply_update_name): return client.get_parent(resource_group_name=resource_group_name, resource_parent_type=resource_parent_type, resource_parent_name=resource_parent_name, @@ -103,7 +107,15 @@ def maintenance_assignment_create(client, location=None, maintenance_configuration_id=None, resource_id=None): - if resource_group_name and all(v is not None for v in [provider_name, resource_parent_type, resource_parent_name, resource_type, resource_name, configuration_assignment_name]): + configuration_assignment = {} + configuration_assignment['location'] = location + configuration_assignment['maintenance_configuration_id'] = maintenance_configuration_id + configuration_assignment['resource_id'] = resource_id + configuration_assignment = {} + configuration_assignment['location'] = location + configuration_assignment['maintenance_configuration_id'] = maintenance_configuration_id + configuration_assignment['resource_id'] = resource_id + if resource_group_name and provider_name is not None and resource_parent_type is not None and resource_parent_name is not None and resource_type is not None and resource_name is not None and configuration_assignment_name is not None: return client.create_or_update_parent(resource_group_name=resource_group_name, provider_name=provider_name, resource_parent_type=resource_parent_type, @@ -111,17 +123,13 @@ def maintenance_assignment_create(client, resource_type=resource_type, resource_name=resource_name, configuration_assignment_name=configuration_assignment_name, - location=location, - maintenance_configuration_id=maintenance_configuration_id, - resource_id=resource_id) + configuration_assignment=configuration_assignment) return client.create_or_update(resource_group_name=resource_group_name, provider_name=provider_name, resource_type=resource_type, resource_name=resource_name, configuration_assignment_name=configuration_assignment_name, - location=location, - maintenance_configuration_id=maintenance_configuration_id, - resource_id=resource_id) + configuration_assignment=configuration_assignment) def maintenance_assignment_update(client, @@ -133,14 +141,16 @@ def maintenance_assignment_update(client, location=None, maintenance_configuration_id=None, resource_id=None): + configuration_assignment = {} + configuration_assignment['location'] = location + configuration_assignment['maintenance_configuration_id'] = maintenance_configuration_id + configuration_assignment['resource_id'] = resource_id return client.create_or_update(resource_group_name=resource_group_name, provider_name=provider_name, resource_type=resource_type, resource_name=resource_name, configuration_assignment_name=configuration_assignment_name, - location=location, - maintenance_configuration_id=maintenance_configuration_id, - resource_id=resource_id) + configuration_assignment=configuration_assignment) def maintenance_assignment_delete(client, @@ -151,7 +161,7 @@ def maintenance_assignment_delete(client, configuration_assignment_name, resource_parent_type=None, resource_parent_name=None): - if resource_group_name and all(v is not None for v in [provider_name, resource_parent_type, resource_parent_name, resource_type, resource_name, configuration_assignment_name]): + if resource_group_name and provider_name is not None and resource_parent_type is not None and resource_parent_name is not None and resource_type is not None and resource_name is not None and configuration_assignment_name is not None: return client.delete_parent(resource_group_name=resource_group_name, provider_name=provider_name, resource_parent_type=resource_parent_type, @@ -201,24 +211,26 @@ def maintenance_configuration_create(client, extension_properties=None, maintenance_scope=None, visibility=None, - maintenance_window_start_date_time=None, - maintenance_window_expiration_date_time=None, - maintenance_window_duration=None, - maintenance_window_time_zone=None, - maintenance_window_recur_every=None): + start_date_time=None, + expiration_date_time=None, + duration=None, + time_zone=None, + recur_every=None): + configuration = {} + configuration['location'] = location + configuration['tags'] = tags + configuration['namespace'] = namespace + configuration['extension_properties'] = extension_properties + configuration['maintenance_scope'] = maintenance_scope + configuration['visibility'] = visibility + configuration['start_date_time'] = start_date_time + configuration['expiration_date_time'] = expiration_date_time + configuration['duration'] = duration + configuration['time_zone'] = time_zone + configuration['recur_every'] = recur_every return client.create_or_update(resource_group_name=resource_group_name, resource_name=resource_name, - location=location, - tags=tags, - namespace=namespace, - extension_properties=extension_properties, - maintenance_scope=maintenance_scope, - visibility=visibility, - start_date_time=maintenance_window_start_date_time, - expiration_date_time=maintenance_window_expiration_date_time, - duration=maintenance_window_duration, - time_zone=maintenance_window_time_zone, - recur_every=maintenance_window_recur_every) + configuration=configuration) def maintenance_configuration_update(client, @@ -230,24 +242,26 @@ def maintenance_configuration_update(client, extension_properties=None, maintenance_scope=None, visibility=None, - maintenance_window_start_date_time=None, - maintenance_window_expiration_date_time=None, - maintenance_window_duration=None, - maintenance_window_time_zone=None, - maintenance_window_recur_every=None): + start_date_time=None, + expiration_date_time=None, + duration=None, + time_zone=None, + recur_every=None): + configuration = {} + configuration['location'] = location + configuration['tags'] = tags + configuration['namespace'] = namespace + configuration['extension_properties'] = extension_properties + configuration['maintenance_scope'] = maintenance_scope + configuration['visibility'] = visibility + configuration['start_date_time'] = start_date_time + configuration['expiration_date_time'] = expiration_date_time + configuration['duration'] = duration + configuration['time_zone'] = time_zone + configuration['recur_every'] = recur_every return client.update(resource_group_name=resource_group_name, resource_name=resource_name, - location=location, - tags=tags, - namespace=namespace, - extension_properties=extension_properties, - maintenance_scope=maintenance_scope, - visibility=visibility, - start_date_time=maintenance_window_start_date_time, - expiration_date_time=maintenance_window_expiration_date_time, - duration=maintenance_window_duration, - time_zone=maintenance_window_time_zone, - recur_every=maintenance_window_recur_every) + configuration=configuration) def maintenance_configuration_delete(client, @@ -257,6 +271,16 @@ def maintenance_configuration_delete(client, resource_name=resource_name) +def maintenance_configuration_for_resource_group_list(client, + resource_group_name): + return client.list(resource_group_name=resource_group_name) + + +def maintenance_applyupdate_for_resource_group_list(client, + resource_group_name): + return client.list(resource_group_name=resource_group_name) + + def maintenance_update_list(client, resource_group_name, provider_name, diff --git a/src/maintenance/azext_maintenance/manual/commands.py b/src/maintenance/azext_maintenance/manual/commands.py index 022fc1cec35..c73225392ce 100644 --- a/src/maintenance/azext_maintenance/manual/commands.py +++ b/src/maintenance/azext_maintenance/manual/commands.py @@ -34,7 +34,7 @@ def load_command_table(self, _): g.custom_show_command('show', 'maintenance_applyupdate_show') g.custom_command('create', 'maintenance_applyupdate_create') g.custom_command('update', 'maintenance_applyupdate_update') - g.custom_command('get-parent', 'maintenance_applyupdate_get_parent') + g.custom_command('get-parent', 'maintenance_applyupdate_show_parent') from azext_maintenance.generated._client_factory import cf_configuration_assignment maintenance_configuration_assignment = CliCommandType( diff --git a/src/maintenance/azext_maintenance/manual/tests/latest/test_maintenance_scenario.py b/src/maintenance/azext_maintenance/manual/tests/latest/test_maintenance_scenario.py index 9c614b036bd..ae369148205 100644 --- a/src/maintenance/azext_maintenance/manual/tests/latest/test_maintenance_scenario.py +++ b/src/maintenance/azext_maintenance/manual/tests/latest/test_maintenance_scenario.py @@ -14,7 +14,17 @@ def setup(test, rg): - test.cmd('az vmss create -n "clitestvmss" -g "{rg}" --instance-count 1 --image "Win2016Datacenter" --data-disk-sizes-gb 2 --admin-password "PasswordCLIMaintenanceRP8!"', checks=[]) + test.cmd('az vmss create -n "clitestvmss" -g "{rg}" --instance-count 1 --image "Win2016Datacenter" --data-disk-sizes-gb 2 --admin-password "PasswordCLIMaintenanceRP8!" --upgrade-policy-mode Automatic ', checks=[]) + + # Disable AutomaticUpdates for VM + test.cmd('az vmss update --name "clitestvmss" -g "{rg}" --set virtualMachineProfile.osProfile.windowsConfiguration.enableAutomaticUpdates=false', checks=[]) + + # Enable Health extension, it is required to enable AutomaticOSUpgradePolicy + test.cmd('az vmss extension set --name ApplicationHealthWindows --publisher Microsoft.ManagedServices --version 1.0 --resource-group "{rg}" --vmss-name clitestvmss --settings \'{HSProbeSettings}\'', checks=[]) + + # Enable AutomaticOSUpgradePolicy + test.cmd('az vmss update --name "clitestvmss" -g "{rg}" --set UpgradePolicy.AutomaticOSUpgradePolicy.EnableAutomaticOSUpgrade=true', checks=[]) + pass @@ -44,7 +54,7 @@ def step__maintenanceconfigurations_put_maintenanceconfigurations_createorupdate '--maintenance-window-duration "05:00" ' '--maintenance-window-expiration-date-time "9999-12-31 00:00" ' '--maintenance-window-recur-every "Day" ' - '--maintenance-window-start-date-time "2020-09-30 08:00" ' + '--maintenance-window-start-date-time "2025-09-30 08:00" ' '--maintenance-window-time-zone "Pacific Standard Time" ' '--namespace "Microsoft.Maintenance" ' '--visibility "Custom" ' @@ -71,8 +81,8 @@ def step__maintenanceconfigurations_patch_maintenanceconfigurations_updateforres '--maintenance-scope "OSImage" ' '--maintenance-window-duration "05:00" ' '--maintenance-window-expiration-date-time "9999-12-31 00:00" ' - '--maintenance-window-recur-every "Month Third Sunday" ' - '--maintenance-window-start-date-time "2020-09-30 08:00" ' + '--maintenance-window-recur-every "Day" ' + '--maintenance-window-start-date-time "2025-09-30 08:00" ' '--maintenance-window-time-zone "Pacific Standard Time" ' '--namespace "Microsoft.Maintenance" ' '--visibility "Custom" ' @@ -156,7 +166,7 @@ def step__maintenanceconfigurations_put_publicmaintenanceconfigurations_createor '--maintenance-window-duration "05:00" ' '--maintenance-window-expiration-date-time "9999-12-31 00:00" ' '--maintenance-window-recur-every "Day" ' - '--maintenance-window-start-date-time "2020-09-30 08:00" ' + '--maintenance-window-start-date-time "2025-09-30 08:00" ' '--maintenance-window-time-zone "Pacific Standard Time" ' '--namespace "Microsoft.Maintenance" ' '--visibility "Public" ' diff --git a/src/maintenance/azext_maintenance/tests/__init__.py b/src/maintenance/azext_maintenance/tests/__init__.py index 50e0627daff..70488e93851 100644 --- a/src/maintenance/azext_maintenance/tests/__init__.py +++ b/src/maintenance/azext_maintenance/tests/__init__.py @@ -31,8 +31,8 @@ def try_manual(func): def import_manual_function(origin_func): from importlib import import_module - decorated_path = inspect.getfile(origin_func) - module_path = __path__[0] + decorated_path = inspect.getfile(origin_func).lower() + module_path = __path__[0].lower() if not decorated_path.startswith(module_path): raise Exception("Decorator can only be used in submodules!") manual_path = os.path.join( @@ -46,7 +46,6 @@ def import_manual_function(origin_func): def get_func_to_call(): func_to_call = func try: - func_to_call = import_manual_function(func) func_to_call = import_manual_function(func) logger.info("Found manual override for %s(...)", func.__name__) except (ImportError, AttributeError): @@ -66,6 +65,9 @@ def wrapper(*args, **kwargs): ret = func_to_call(*args, **kwargs) except (AssertionError, AzureError, CliTestError, CliExecutionError, SystemExit, JMESPathCheckAssertionError) as e: + use_exception_cache = os.getenv("TEST_EXCEPTION_CACHE") + if use_exception_cache is None or use_exception_cache.lower() != "true": + raise test_map[func.__name__]["end_dt"] = dt.datetime.utcnow() test_map[func.__name__]["result"] = FAILED test_map[func.__name__]["error_message"] = str(e).replace("\r\n", " ").replace("\n", " ")[:500] diff --git a/src/maintenance/azext_maintenance/tests/latest/example_steps.py b/src/maintenance/azext_maintenance/tests/latest/example_steps.py new file mode 100644 index 00000000000..4a2720dfdcb --- /dev/null +++ b/src/maintenance/azext_maintenance/tests/latest/example_steps.py @@ -0,0 +1,310 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + + +from .. import try_manual + + +# EXAMPLE: /ApplyUpdateForResourceGroup/get/ApplyUpdatesResourceGroup_List +@try_manual +def step_applyupdate_for_resource_group_list(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az maintenance applyupdate-for-resource-group list ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /ApplyUpdates/put/ApplyUpdates_CreateOrUpdate +@try_manual +def step_applyupdate_create(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az maintenance applyupdate create ' + '--provider-name "Microsoft.Compute" ' + '--resource-group "{rg}" ' + '--resource-name "smdtest1" ' + '--resource-type "virtualMachineScaleSets"', + checks=checks) + + +# EXAMPLE: /ApplyUpdates/put/ApplyUpdates_CreateOrUpdateParent +@try_manual +def step_applyupdate_create2(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az maintenance applyupdate create ' + '--provider-name "Microsoft.Compute" ' + '--resource-group "{rg}" ' + '--resource-name "smdvm1" ' + '--resource-parent-name "smdtest1" ' + '--resource-parent-type "virtualMachineScaleSets" ' + '--resource-type "virtualMachines"', + checks=checks) + + +# EXAMPLE: /ApplyUpdates/get/ApplyUpdates_Get +@try_manual +def step_applyupdate_show(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az maintenance applyupdate show ' + '--name "{myApplyUpdate}" ' + '--provider-name "Microsoft.Compute" ' + '--resource-group "{rg}" ' + '--resource-name "smdtest1" ' + '--resource-type "virtualMachineScaleSets"', + checks=checks) + + +# EXAMPLE: /ApplyUpdates/get/ApplyUpdates_GetParent +@try_manual +def step_applyupdate_show_parent(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az maintenance applyupdate show-parent ' + '--name "{myApplyUpdate}" ' + '--provider-name "Microsoft.Compute" ' + '--resource-group "{rg}" ' + '--resource-name "smdvm1" ' + '--resource-parent-name "smdtest1" ' + '--resource-parent-type "virtualMachineScaleSets" ' + '--resource-type "virtualMachines"', + checks=checks) + + +# EXAMPLE: /ApplyUpdates/get/ApplyUpdates_List +@try_manual +def step_applyupdate_list(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az maintenance applyupdate list', + checks=checks) + + +# EXAMPLE: /MaintenanceConfigurations/put/MaintenanceConfigurations_CreateOrUpdateForResource +@try_manual +def step_configuration_create(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az maintenance configuration create ' + '--location "westus2" ' + '--maintenance-scope "Host" ' + '--maintenance-window-duration "05:00" ' + '--maintenance-window-expiration-date-time "9999-12-31 00:00" ' + '--maintenance-window-recur-every "Day" ' + '--maintenance-window-start-date-time "2025-04-30 08:00" ' + '--maintenance-window-time-zone "Pacific Standard Time" ' + '--namespace "Microsoft.Maintenance" ' + '--visibility "Custom" ' + '--resource-group "{rg}" ' + '--resource-name "{myMaintenanceConfiguration2}"', + checks=checks) + + +# EXAMPLE: /MaintenanceConfigurations/get/MaintenanceConfigurations_GetForResource +@try_manual +def step_configuration_show(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az maintenance configuration show ' + '--resource-group "{rg}" ' + '--resource-name "{myMaintenanceConfiguration2}"', + checks=checks) + + +# EXAMPLE: /MaintenanceConfigurations/get/MaintenanceConfigurations_List +@try_manual +def step_configuration_list(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az maintenance configuration list', + checks=checks) + + +# EXAMPLE: /MaintenanceConfigurations/patch/MaintenanceConfigurations_UpdateForResource +@try_manual +def step_configuration_update(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az maintenance configuration update ' + '--location "westus2" ' + '--maintenance-scope "Host" ' + '--maintenance-window-duration "05:00" ' + '--maintenance-window-expiration-date-time "9999-12-31 00:00" ' + '--maintenance-window-recur-every "Month Third Sunday" ' + '--maintenance-window-start-date-time "2025-04-30 08:00" ' + '--maintenance-window-time-zone "Pacific Standard Time" ' + '--namespace "Microsoft.Maintenance" ' + '--visibility "Custom" ' + '--resource-group "{rg}" ' + '--resource-name "{myMaintenanceConfiguration2}"', + checks=checks) + + +# EXAMPLE: /ConfigurationAssignments/put/ConfigurationAssignments_CreateOrUpdate +@try_manual +def step_assignment_create(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az maintenance assignment create ' + '--maintenance-configuration-id "/subscriptions/{subscription_id}/resourcegroups/{rg}/providers/Microsoft.' + 'Maintenance/maintenanceConfigurations/{myMaintenanceConfiguration2}" ' + '--name "{myConfigurationAssignment2}" ' + '--provider-name "Microsoft.Compute" ' + '--resource-group "{rg}" ' + '--resource-name "smdtest1" ' + '--resource-type "virtualMachineScaleSets"', + checks=checks) + + +# EXAMPLE: /ConfigurationAssignments/put/ConfigurationAssignments_CreateOrUpdateParent +@try_manual +def step_assignment_create2(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az maintenance assignment create ' + '--maintenance-configuration-id "/subscriptions/{subscription_id}/resourcegroups/{rg}/providers/Microsoft.' + 'Maintenance/maintenanceConfigurations/{myMaintenanceConfiguration}" ' + '--name "{myConfigurationAssignment}" ' + '--provider-name "Microsoft.Compute" ' + '--resource-group "{rg}" ' + '--resource-name "smdvm1" ' + '--resource-parent-name "smdtest1" ' + '--resource-parent-type "virtualMachineScaleSets" ' + '--resource-type "virtualMachines"', + checks=checks) + + +# EXAMPLE: /ConfigurationAssignments/get/ConfigurationAssignments_List +@try_manual +def step_assignment_list(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az maintenance assignment list ' + '--provider-name "Microsoft.Compute" ' + '--resource-group "{rg}" ' + '--resource-name "smdtest1" ' + '--resource-type "virtualMachineScaleSets"', + checks=checks) + + +# EXAMPLE: /ConfigurationAssignments/get/ConfigurationAssignments_ListParent +@try_manual +def step_assignment_list_parent(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az maintenance assignment list-parent ' + '--provider-name "Microsoft.Compute" ' + '--resource-group "{rg}" ' + '--resource-name "smdtestvm1" ' + '--resource-parent-name "smdtest1" ' + '--resource-parent-type "virtualMachineScaleSets" ' + '--resource-type "virtualMachines"', + checks=checks) + + +# EXAMPLE: /ConfigurationAssignments/delete/ConfigurationAssignments_Delete +@try_manual +def step_assignment_delete(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az maintenance assignment delete -y ' + '--name "{myConfigurationAssignment2}" ' + '--provider-name "Microsoft.Compute" ' + '--resource-group "{rg}" ' + '--resource-name "smdtest1" ' + '--resource-type "virtualMachineScaleSets"', + checks=checks) + + +# EXAMPLE: /ConfigurationAssignments/delete/ConfigurationAssignments_DeleteParent +@try_manual +def step_assignment_delete2(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az maintenance assignment delete -y ' + '--name "{myConfigurationAssignment2}" ' + '--provider-name "Microsoft.Compute" ' + '--resource-group "{rg}" ' + '--resource-name "smdvm1" ' + '--resource-parent-name "smdtest1" ' + '--resource-parent-type "virtualMachineScaleSets" ' + '--resource-type "virtualMachines"', + checks=checks) + + +# EXAMPLE: /MaintenanceConfigurations/delete/MaintenanceConfigurations_DeleteForResource +@try_manual +def step_configuration_delete(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az maintenance configuration delete -y ' + '--resource-group "{rg}" ' + '--resource-name "example1"', + checks=checks) + + +# EXAMPLE: /MaintenanceConfigurationsForResourceGroup/get/MaintenanceConfigurationsResourceGroup_List +@try_manual +def step_configuration_for_resource_group_list(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az maintenance configuration-for-resource-group list ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /PublicMaintenanceConfigurations/get/PublicMaintenanceConfigurations_GetForResource +@try_manual +def step_public_configuration_show(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az maintenance public-configuration show ' + '--resource-name "{myMaintenanceConfiguration2}"', + checks=checks) + + +# EXAMPLE: /PublicMaintenanceConfigurations/get/PublicMaintenanceConfigurations_List +@try_manual +def step_public_configuration_list(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az maintenance public-configuration list', + checks=checks) + + +# EXAMPLE: /Updates/get/Updates_List +@try_manual +def step_update_list(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az maintenance update list ' + '--provider-name "Microsoft.Compute" ' + '--resource-group "{rg}" ' + '--resource-name "smdtest1" ' + '--resource-type "virtualMachineScaleSets"', + checks=checks) + + +# EXAMPLE: /Updates/get/Updates_ListParent +@try_manual +def step_update_list_parent(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az maintenance update list-parent ' + '--provider-name "Microsoft.Compute" ' + '--resource-group "{rg}" ' + '--resource-name "1" ' + '--resource-parent-name "smdtest1" ' + '--resource-parent-type "virtualMachineScaleSets" ' + '--resource-type "virtualMachines"', + checks=checks) + diff --git a/src/maintenance/azext_maintenance/tests/latest/preparers.py b/src/maintenance/azext_maintenance/tests/latest/preparers.py deleted file mode 100644 index 0879e51945a..00000000000 --- a/src/maintenance/azext_maintenance/tests/latest/preparers.py +++ /dev/null @@ -1,159 +0,0 @@ -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# 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 os -from datetime import datetime -from azure_devtools.scenario_tests import SingleValueReplacer -from azure.cli.testsdk.preparers import NoTrafficRecordingPreparer -from azure.cli.testsdk.exceptions import CliTestError -from azure.cli.testsdk.reverse_dependency import get_dummy_cli - - -KEY_RESOURCE_GROUP = 'rg' -KEY_VIRTUAL_NETWORK = 'vnet' -KEY_VNET_SUBNET = 'subnet' -KEY_VNET_NIC = 'nic' - - -class VirtualNetworkPreparer(NoTrafficRecordingPreparer, SingleValueReplacer): - def __init__(self, name_prefix='clitest.vn', - parameter_name='virtual_network', - resource_group_name=None, - resource_group_key=KEY_RESOURCE_GROUP, - dev_setting_name='AZURE_CLI_TEST_DEV_VIRTUAL_NETWORK_NAME', - random_name_length=24, key=KEY_VIRTUAL_NETWORK): - if ' ' in name_prefix: - raise CliTestError( - 'Error: Space character in name prefix \'%s\'' % name_prefix) - super(VirtualNetworkPreparer, self).__init__( - name_prefix, random_name_length) - self.cli_ctx = get_dummy_cli() - self.parameter_name = parameter_name - self.key = key - self.resource_group_name = resource_group_name - self.resource_group_key = resource_group_key - self.dev_setting_name = os.environ.get(dev_setting_name, None) - - def create_resource(self, name, **_): - if self.dev_setting_name: - return {self.parameter_name: self.dev_setting_name, } - - if not self.resource_group_name: - self.resource_group_name = self.test_class_instance.kwargs.get( - self.resource_group_key) - if not self.resource_group_name: - raise CliTestError("Error: No resource group configured!") - - tags = {'product': 'azurecli', 'cause': 'automation', - 'date': datetime.utcnow().strftime('%Y-%m-%dT%H:%M:%SZ')} - if 'ENV_JOB_NAME' in os.environ: - tags['job'] = os.environ['ENV_JOB_NAME'] - tags = ' '.join(['{}={}'.format(key, value) - for key, value in tags.items()]) - template = 'az network vnet create --resource-group {} --name {} --subnet-name default --tag ' + tags - self.live_only_execute(self.cli_ctx, template.format( - self.resource_group_name, name)) - - self.test_class_instance.kwargs[self.key] = name - return {self.parameter_name: name} - - def remove_resource(self, name, **_): - # delete vnet if test is being recorded and if the vnet is not a dev rg - if not self.dev_setting_name: - self.live_only_execute( - self.cli_ctx, - 'az network vnet delete --name {} --resource-group {}'.format(name, self.resource_group_name)) - - -class VnetSubnetPreparer(NoTrafficRecordingPreparer, SingleValueReplacer): - def __init__(self, name_prefix='clitest.vn', - parameter_name='subnet', - resource_group_key=KEY_RESOURCE_GROUP, - vnet_key=KEY_VIRTUAL_NETWORK, - address_prefixes="11.0.0.0/24", - dev_setting_name='AZURE_CLI_TEST_DEV_VNET_SUBNET_NAME', - key=KEY_VNET_SUBNET): - if ' ' in name_prefix: - raise CliTestError( - 'Error: Space character in name prefix \'%s\'' % name_prefix) - super(VnetSubnetPreparer, self).__init__(name_prefix, 15) - self.cli_ctx = get_dummy_cli() - self.parameter_name = parameter_name - self.key = key - self.resource_group = [resource_group_key, None] - self.vnet = [vnet_key, None] - self.address_prefixes = address_prefixes - self.dev_setting_name = os.environ.get(dev_setting_name, None) - - def create_resource(self, name, **_): - if self.dev_setting_name: - return {self.parameter_name: self.dev_setting_name, } - - if not self.resource_group[1]: - self.resource_group[1] = self.test_class_instance.kwargs.get( - self.resource_group[0]) - if not self.resource_group[1]: - raise CliTestError("Error: No resource group configured!") - if not self.vnet[1]: - self.vnet[1] = self.test_class_instance.kwargs.get(self.vnet[0]) - if not self.vnet[1]: - raise CliTestError("Error: No vnet configured!") - - self.test_class_instance.kwargs[self.key] = 'default' - return {self.parameter_name: name} - - def remove_resource(self, name, **_): - pass - - -class VnetNicPreparer(NoTrafficRecordingPreparer, SingleValueReplacer): - def __init__(self, name_prefix='clitest.nic', - parameter_name='subnet', - resource_group_key=KEY_RESOURCE_GROUP, - vnet_key=KEY_VIRTUAL_NETWORK, - dev_setting_name='AZURE_CLI_TEST_DEV_VNET_NIC_NAME', - key=KEY_VNET_NIC): - if ' ' in name_prefix: - raise CliTestError( - 'Error: Space character in name prefix \'%s\'' % name_prefix) - super(VnetNicPreparer, self).__init__(name_prefix, 15) - self.cli_ctx = get_dummy_cli() - self.parameter_name = parameter_name - self.key = key - self.resource_group = [resource_group_key, None] - self.vnet = [vnet_key, None] - self.dev_setting_name = os.environ.get(dev_setting_name, None) - - def create_resource(self, name, **_): - if self.dev_setting_name: - return {self.parameter_name: self.dev_setting_name, } - - if not self.resource_group[1]: - self.resource_group[1] = self.test_class_instance.kwargs.get( - self.resource_group[0]) - if not self.resource_group[1]: - raise CliTestError("Error: No resource group configured!") - if not self.vnet[1]: - self.vnet[1] = self.test_class_instance.kwargs.get(self.vnet[0]) - if not self.vnet[1]: - raise CliTestError("Error: No vnet configured!") - - template = 'az network nic create --resource-group {} --name {} --vnet-name {} --subnet default ' - self.live_only_execute(self.cli_ctx, template.format( - self.resource_group[1], name, self.vnet[1])) - - self.test_class_instance.kwargs[self.key] = name - return {self.parameter_name: name} - - def remove_resource(self, name, **_): - if not self.dev_setting_name: - self.live_only_execute( - self.cli_ctx, - 'az network nic delete --name {} --resource-group {}'.format(name, self.resource_group[1])) diff --git a/src/maintenance/azext_maintenance/tests/latest/recordings/test_maintenance.yaml b/src/maintenance/azext_maintenance/tests/latest/recordings/test_maintenance.yaml deleted file mode 100644 index 945d6e28680..00000000000 --- a/src/maintenance/azext_maintenance/tests/latest/recordings/test_maintenance.yaml +++ /dev/null @@ -1,2004 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - vmss create - Connection: - - keep-alive - ParameterSetName: - - -n -g --instance-count --image --data-disk-sizes-gb --admin-password - User-Agent: - - python/3.7.6 (Linux-4.19.76-linuxkit-x86_64-with-debian-10.3) msrest/0.6.18 - msrest_azure/0.6.4 azure-mgmt-resource/10.2.0 Azure-SDK-For-Python AZURECLI/2.11.1 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2020-06-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2020-09-02T02:22:02Z"},"properties":{"provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '428' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 02 Sep 2020 02:22:03 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: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - python-requests/2.23.0 - method: GET - uri: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/arm-compute/quickstart-templates/aliases.json - response: - body: - string: "{\n \"$schema\": \"http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json\",\n - \ \"contentVersion\": \"1.0.0.0\",\n \"parameters\": {},\n \"variables\": - {},\n \"resources\": [],\n \"outputs\": {\n \"aliases\": {\n \"type\": - \"object\",\n \"value\": {\n \"Linux\": {\n \"CentOS\": - {\n \"publisher\": \"OpenLogic\",\n \"offer\": \"CentOS\",\n - \ \"sku\": \"7.5\",\n \"version\": \"latest\"\n },\n - \ \"CoreOS\": {\n \"publisher\": \"CoreOS\",\n \"offer\": - \"CoreOS\",\n \"sku\": \"Stable\",\n \"version\": \"latest\"\n - \ },\n \"Debian\": {\n \"publisher\": \"Debian\",\n - \ \"offer\": \"debian-10\",\n \"sku\": \"10\",\n \"version\": - \"latest\"\n },\n \"openSUSE-Leap\": {\n \"publisher\": - \"SUSE\",\n \"offer\": \"openSUSE-Leap\",\n \"sku\": - \"42.3\",\n \"version\": \"latest\"\n },\n \"RHEL\": - {\n \"publisher\": \"RedHat\",\n \"offer\": \"RHEL\",\n - \ \"sku\": \"7-LVM\",\n \"version\": \"latest\"\n },\n - \ \"SLES\": {\n \"publisher\": \"SUSE\",\n \"offer\": - \"SLES\",\n \"sku\": \"15\",\n \"version\": \"latest\"\n - \ },\n \"UbuntuLTS\": {\n \"publisher\": \"Canonical\",\n - \ \"offer\": \"UbuntuServer\",\n \"sku\": \"18.04-LTS\",\n - \ \"version\": \"latest\"\n }\n },\n \"Windows\": - {\n \"Win2019Datacenter\": {\n \"publisher\": \"MicrosoftWindowsServer\",\n - \ \"offer\": \"WindowsServer\",\n \"sku\": \"2019-Datacenter\",\n - \ \"version\": \"latest\"\n },\n \"Win2016Datacenter\": - {\n \"publisher\": \"MicrosoftWindowsServer\",\n \"offer\": - \"WindowsServer\",\n \"sku\": \"2016-Datacenter\",\n \"version\": - \"latest\"\n },\n \"Win2012R2Datacenter\": {\n \"publisher\": - \"MicrosoftWindowsServer\",\n \"offer\": \"WindowsServer\",\n \"sku\": - \"2012-R2-Datacenter\",\n \"version\": \"latest\"\n },\n - \ \"Win2012Datacenter\": {\n \"publisher\": \"MicrosoftWindowsServer\",\n - \ \"offer\": \"WindowsServer\",\n \"sku\": \"2012-Datacenter\",\n - \ \"version\": \"latest\"\n },\n \"Win2008R2SP1\": - {\n \"publisher\": \"MicrosoftWindowsServer\",\n \"offer\": - \"WindowsServer\",\n \"sku\": \"2008-R2-SP1\",\n \"version\": - \"latest\"\n }\n }\n }\n }\n }\n}\n" - headers: - accept-ranges: - - bytes - access-control-allow-origin: - - '*' - cache-control: - - max-age=300 - connection: - - keep-alive - content-length: - - '2501' - content-security-policy: - - default-src 'none'; style-src 'unsafe-inline'; sandbox - content-type: - - text/plain; charset=utf-8 - date: - - Wed, 02 Sep 2020 02:22:03 GMT - etag: - - W/"540044b4084c3c314537f1baa1770f248628b2bc9ba0328f1004c33862e049da" - expires: - - Wed, 02 Sep 2020 02:27:03 GMT - source-age: - - '177' - strict-transport-security: - - max-age=31536000 - vary: - - Authorization,Accept-Encoding - via: - - 1.1 varnish (Varnish/6.0) - - 1.1 varnish - x-cache: - - HIT, HIT - x-cache-hits: - - 4, 1 - x-content-type-options: - - nosniff - x-fastly-request-id: - - 97c85f4297b0f50270b5ad17c7452b837d5b853e - x-frame-options: - - deny - x-github-request-id: - - 27E6:47E1:27615D:3369B0:5F4EF159 - x-served-by: - - cache-sea4420-SEA - x-timer: - - S1599013324.823782,VS0,VE1 - x-xss-protection: - - 1; mode=block - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - vmss create - Connection: - - keep-alive - ParameterSetName: - - -n -g --instance-count --image --data-disk-sizes-gb --admin-password - User-Agent: - - python/3.7.6 (Linux-4.19.76-linuxkit-x86_64-with-debian-10.3) msrest/0.6.18 - msrest_azure/0.6.4 azure-mgmt-network/11.0.0 Azure-SDK-For-Python AZURECLI/2.11.1 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks?api-version=2018-01-01 - response: - body: - string: '{"value":[]}' - headers: - cache-control: - - no-cache - content-length: - - '12' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 02 Sep 2020 02:22:03 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: '{"properties": {"template": {"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", "parameters": {"adminPassword": {"type": "securestring", - "metadata": {"description": "Secure adminPassword"}}}, "variables": {}, "resources": - [{"name": "clitestvmssVNET", "type": "Microsoft.Network/virtualNetworks", "location": - "westus", "apiVersion": "2015-06-15", "dependsOn": [], "tags": {}, "properties": - {"addressSpace": {"addressPrefixes": ["10.0.0.0/16"]}, "subnets": [{"name": - "clitestvmssSubnet", "properties": {"addressPrefix": "10.0.0.0/24"}}]}}, {"apiVersion": - "2018-01-01", "type": "Microsoft.Network/publicIPAddresses", "name": "clitestvmssLBPublicIP", - "location": "westus", "tags": {}, "dependsOn": [], "properties": {"publicIPAllocationMethod": - "Dynamic"}}, {"type": "Microsoft.Network/loadBalancers", "name": "clitestvmssLB", - "location": "westus", "tags": {}, "apiVersion": "2018-01-01", "dependsOn": ["Microsoft.Network/virtualNetworks/clitestvmssVNET", - "Microsoft.Network/publicIpAddresses/clitestvmssLBPublicIP"], "properties": - {"backendAddressPools": [{"name": "clitestvmssLBBEPool"}], "inboundNatPools": - [{"name": "clitestvmssLBNatPool", "properties": {"frontendIPConfiguration": - {"id": "[concat(resourceId(''Microsoft.Network/loadBalancers'', ''clitestvmssLB''), - ''/frontendIPConfigurations/'', ''loadBalancerFrontEnd'')]"}, "protocol": "tcp", - "frontendPortRangeStart": "50000", "frontendPortRangeEnd": "50119", "backendPort": - 3389}}], "frontendIPConfigurations": [{"name": "loadBalancerFrontEnd", "properties": - {"publicIPAddress": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/clitestvmssLBPublicIP"}}}]}}, - {"type": "Microsoft.Compute/virtualMachineScaleSets", "name": "clitestvmss", - "location": "westus", "tags": {}, "apiVersion": "2020-06-01", "dependsOn": ["Microsoft.Network/virtualNetworks/clitestvmssVNET", - "Microsoft.Network/loadBalancers/clitestvmssLB"], "sku": {"name": "Standard_DS1_v2", - "capacity": 1}, "properties": {"overprovision": true, "upgradePolicy": {"mode": - "manual"}, "virtualMachineProfile": {"storageProfile": {"osDisk": {"createOption": - "FromImage", "caching": "ReadWrite", "managedDisk": {"storageAccountType": null}}, - "imageReference": {"publisher": "MicrosoftWindowsServer", "offer": "WindowsServer", - "sku": "2016-Datacenter", "version": "latest"}, "dataDisks": [{"lun": 0, "managedDisk": - {"storageAccountType": null}, "createOption": "empty", "diskSizeGB": 2}]}, "networkProfile": - {"networkInterfaceConfigurations": [{"name": "cliteb8c8Nic", "properties": {"primary": - "true", "ipConfigurations": [{"name": "cliteb8c8IPConfig", "properties": {"subnet": - {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/clitestvmssVNET/subnets/clitestvmssSubnet"}, - "loadBalancerBackendAddressPools": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/loadBalancers/clitestvmssLB/backendAddressPools/clitestvmssLBBEPool"}], - "loadBalancerInboundNatPools": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/loadBalancers/clitestvmssLB/inboundNatPools/clitestvmssLBNatPool"}]}}]}}]}, - "osProfile": {"computerNamePrefix": "cliteb8c8", "adminUsername": "azureuser", - "adminPassword": "[parameters(''adminPassword'')]"}}, "singlePlacementGroup": - null}}], "outputs": {"VMSS": {"type": "object", "value": "[reference(resourceId(''Microsoft.Compute/virtualMachineScaleSets'', - ''clitestvmss''),providers(''Microsoft.Compute'', ''virtualMachineScaleSets'').apiVersions[0])]"}}}, - "parameters": {"adminPassword": {"value": "PasswordCLIMaintenanceRP8!"}}, "mode": - "Incremental"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - vmss create - Connection: - - keep-alive - Content-Length: - - '4085' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - -n -g --instance-count --image --data-disk-sizes-gb --admin-password - User-Agent: - - python/3.7.6 (Linux-4.19.76-linuxkit-x86_64-with-debian-10.3) msrest/0.6.18 - msrest_azure/0.6.4 azure-mgmt-resource/10.2.0 Azure-SDK-For-Python AZURECLI/2.11.1 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment?api-version=2020-06-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Resources/deployments/vmss_deploy_tHrtHs9va12B6dVhmjzQvXd6KXEA3Kli","name":"vmss_deploy_tHrtHs9va12B6dVhmjzQvXd6KXEA3Kli","type":"Microsoft.Resources/deployments","properties":{"templateHash":"13981659799554997302","parameters":{"adminPassword":{"type":"SecureString"}},"mode":"Incremental","provisioningState":"Accepted","timestamp":"2020-09-02T02:22:05.4772059Z","duration":"PT0.6258802S","correlationId":"51a44ee2-a84b-4218-8d78-13ba6b289011","providers":[{"namespace":"Microsoft.Network","resourceTypes":[{"resourceType":"virtualNetworks","locations":["westus"]},{"resourceType":"publicIPAddresses","locations":["westus"]},{"resourceType":"loadBalancers","locations":["westus"]}]},{"namespace":"Microsoft.Compute","resourceTypes":[{"resourceType":"virtualMachineScaleSets","locations":["westus"]}]}],"dependencies":[{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/clitestvmssVNET","resourceType":"Microsoft.Network/virtualNetworks","resourceName":"clitestvmssVNET"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/clitestvmssLBPublicIP","resourceType":"Microsoft.Network/publicIPAddresses","resourceName":"clitestvmssLBPublicIP"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/loadBalancers/clitestvmssLB","resourceType":"Microsoft.Network/loadBalancers","resourceName":"clitestvmssLB"},{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/clitestvmssVNET","resourceType":"Microsoft.Network/virtualNetworks","resourceName":"clitestvmssVNET"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/loadBalancers/clitestvmssLB","resourceType":"Microsoft.Network/loadBalancers","resourceName":"clitestvmssLB"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/virtualMachineScaleSets/clitestvmss","resourceType":"Microsoft.Compute/virtualMachineScaleSets","resourceName":"clitestvmss"}]}}' - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/vmss_deploy_tHrtHs9va12B6dVhmjzQvXd6KXEA3Kli/operationStatuses/08586025935606263293?api-version=2020-06-01 - cache-control: - - no-cache - content-length: - - '2804' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 02 Sep 2020 02:22:04 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: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - vmss create - Connection: - - keep-alive - ParameterSetName: - - -n -g --instance-count --image --data-disk-sizes-gb --admin-password - User-Agent: - - python/3.7.6 (Linux-4.19.76-linuxkit-x86_64-with-debian-10.3) msrest/0.6.18 - msrest_azure/0.6.4 azure-mgmt-resource/10.2.0 Azure-SDK-For-Python AZURECLI/2.11.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586025935606263293?api-version=2020-06-01 - response: - body: - string: '{"status":"Running"}' - headers: - cache-control: - - no-cache - content-length: - - '20' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 02 Sep 2020 02:22:35 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: - - vmss create - Connection: - - keep-alive - ParameterSetName: - - -n -g --instance-count --image --data-disk-sizes-gb --admin-password - User-Agent: - - python/3.7.6 (Linux-4.19.76-linuxkit-x86_64-with-debian-10.3) msrest/0.6.18 - msrest_azure/0.6.4 azure-mgmt-resource/10.2.0 Azure-SDK-For-Python AZURECLI/2.11.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586025935606263293?api-version=2020-06-01 - response: - body: - string: '{"status":"Running"}' - headers: - cache-control: - - no-cache - content-length: - - '20' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 02 Sep 2020 02:23:04 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: - - vmss create - Connection: - - keep-alive - ParameterSetName: - - -n -g --instance-count --image --data-disk-sizes-gb --admin-password - User-Agent: - - python/3.7.6 (Linux-4.19.76-linuxkit-x86_64-with-debian-10.3) msrest/0.6.18 - msrest_azure/0.6.4 azure-mgmt-resource/10.2.0 Azure-SDK-For-Python AZURECLI/2.11.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586025935606263293?api-version=2020-06-01 - response: - body: - string: '{"status":"Running"}' - headers: - cache-control: - - no-cache - content-length: - - '20' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 02 Sep 2020 02:23:35 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: - - vmss create - Connection: - - keep-alive - ParameterSetName: - - -n -g --instance-count --image --data-disk-sizes-gb --admin-password - User-Agent: - - python/3.7.6 (Linux-4.19.76-linuxkit-x86_64-with-debian-10.3) msrest/0.6.18 - msrest_azure/0.6.4 azure-mgmt-resource/10.2.0 Azure-SDK-For-Python AZURECLI/2.11.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586025935606263293?api-version=2020-06-01 - response: - body: - string: '{"status":"Running"}' - headers: - cache-control: - - no-cache - content-length: - - '20' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 02 Sep 2020 02:24:05 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: - - vmss create - Connection: - - keep-alive - ParameterSetName: - - -n -g --instance-count --image --data-disk-sizes-gb --admin-password - User-Agent: - - python/3.7.6 (Linux-4.19.76-linuxkit-x86_64-with-debian-10.3) msrest/0.6.18 - msrest_azure/0.6.4 azure-mgmt-resource/10.2.0 Azure-SDK-For-Python AZURECLI/2.11.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586025935606263293?api-version=2020-06-01 - response: - body: - string: '{"status":"Running"}' - headers: - cache-control: - - no-cache - content-length: - - '20' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 02 Sep 2020 02:24:35 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: - - vmss create - Connection: - - keep-alive - ParameterSetName: - - -n -g --instance-count --image --data-disk-sizes-gb --admin-password - User-Agent: - - python/3.7.6 (Linux-4.19.76-linuxkit-x86_64-with-debian-10.3) msrest/0.6.18 - msrest_azure/0.6.4 azure-mgmt-resource/10.2.0 Azure-SDK-For-Python AZURECLI/2.11.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586025935606263293?api-version=2020-06-01 - response: - body: - string: '{"status":"Running"}' - headers: - cache-control: - - no-cache - content-length: - - '20' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 02 Sep 2020 02:25:05 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: - - vmss create - Connection: - - keep-alive - ParameterSetName: - - -n -g --instance-count --image --data-disk-sizes-gb --admin-password - User-Agent: - - python/3.7.6 (Linux-4.19.76-linuxkit-x86_64-with-debian-10.3) msrest/0.6.18 - msrest_azure/0.6.4 azure-mgmt-resource/10.2.0 Azure-SDK-For-Python AZURECLI/2.11.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586025935606263293?api-version=2020-06-01 - response: - body: - string: '{"status":"Running"}' - headers: - cache-control: - - no-cache - content-length: - - '20' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 02 Sep 2020 02:25:35 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: - - vmss create - Connection: - - keep-alive - ParameterSetName: - - -n -g --instance-count --image --data-disk-sizes-gb --admin-password - User-Agent: - - python/3.7.6 (Linux-4.19.76-linuxkit-x86_64-with-debian-10.3) msrest/0.6.18 - msrest_azure/0.6.4 azure-mgmt-resource/10.2.0 Azure-SDK-For-Python AZURECLI/2.11.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586025935606263293?api-version=2020-06-01 - response: - body: - string: '{"status":"Running"}' - headers: - cache-control: - - no-cache - content-length: - - '20' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 02 Sep 2020 02:26:05 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: - - vmss create - Connection: - - keep-alive - ParameterSetName: - - -n -g --instance-count --image --data-disk-sizes-gb --admin-password - User-Agent: - - python/3.7.6 (Linux-4.19.76-linuxkit-x86_64-with-debian-10.3) msrest/0.6.18 - msrest_azure/0.6.4 azure-mgmt-resource/10.2.0 Azure-SDK-For-Python AZURECLI/2.11.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586025935606263293?api-version=2020-06-01 - response: - body: - string: '{"status":"Running"}' - headers: - cache-control: - - no-cache - content-length: - - '20' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 02 Sep 2020 02:26:36 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: - - vmss create - Connection: - - keep-alive - ParameterSetName: - - -n -g --instance-count --image --data-disk-sizes-gb --admin-password - User-Agent: - - python/3.7.6 (Linux-4.19.76-linuxkit-x86_64-with-debian-10.3) msrest/0.6.18 - msrest_azure/0.6.4 azure-mgmt-resource/10.2.0 Azure-SDK-For-Python AZURECLI/2.11.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586025935606263293?api-version=2020-06-01 - response: - body: - string: '{"status":"Running"}' - headers: - cache-control: - - no-cache - content-length: - - '20' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 02 Sep 2020 02:27:06 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: - - vmss create - Connection: - - keep-alive - ParameterSetName: - - -n -g --instance-count --image --data-disk-sizes-gb --admin-password - User-Agent: - - python/3.7.6 (Linux-4.19.76-linuxkit-x86_64-with-debian-10.3) msrest/0.6.18 - msrest_azure/0.6.4 azure-mgmt-resource/10.2.0 Azure-SDK-For-Python AZURECLI/2.11.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586025935606263293?api-version=2020-06-01 - response: - body: - string: '{"status":"Running"}' - headers: - cache-control: - - no-cache - content-length: - - '20' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 02 Sep 2020 02:27:36 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: - - vmss create - Connection: - - keep-alive - ParameterSetName: - - -n -g --instance-count --image --data-disk-sizes-gb --admin-password - User-Agent: - - python/3.7.6 (Linux-4.19.76-linuxkit-x86_64-with-debian-10.3) msrest/0.6.18 - msrest_azure/0.6.4 azure-mgmt-resource/10.2.0 Azure-SDK-For-Python AZURECLI/2.11.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586025935606263293?api-version=2020-06-01 - response: - body: - string: '{"status":"Running"}' - headers: - cache-control: - - no-cache - content-length: - - '20' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 02 Sep 2020 02:28:06 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: - - vmss create - Connection: - - keep-alive - ParameterSetName: - - -n -g --instance-count --image --data-disk-sizes-gb --admin-password - User-Agent: - - python/3.7.6 (Linux-4.19.76-linuxkit-x86_64-with-debian-10.3) msrest/0.6.18 - msrest_azure/0.6.4 azure-mgmt-resource/10.2.0 Azure-SDK-For-Python AZURECLI/2.11.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08586025935606263293?api-version=2020-06-01 - response: - body: - string: '{"status":"Succeeded"}' - headers: - cache-control: - - no-cache - content-length: - - '22' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 02 Sep 2020 02:28:36 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: - - vmss create - Connection: - - keep-alive - ParameterSetName: - - -n -g --instance-count --image --data-disk-sizes-gb --admin-password - User-Agent: - - python/3.7.6 (Linux-4.19.76-linuxkit-x86_64-with-debian-10.3) msrest/0.6.18 - msrest_azure/0.6.4 azure-mgmt-resource/10.2.0 Azure-SDK-For-Python AZURECLI/2.11.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment?api-version=2020-06-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Resources/deployments/vmss_deploy_tHrtHs9va12B6dVhmjzQvXd6KXEA3Kli","name":"vmss_deploy_tHrtHs9va12B6dVhmjzQvXd6KXEA3Kli","type":"Microsoft.Resources/deployments","properties":{"templateHash":"13981659799554997302","parameters":{"adminPassword":{"type":"SecureString"}},"mode":"Incremental","provisioningState":"Succeeded","timestamp":"2020-09-02T02:28:15.496844Z","duration":"PT6M10.6455183S","correlationId":"51a44ee2-a84b-4218-8d78-13ba6b289011","providers":[{"namespace":"Microsoft.Network","resourceTypes":[{"resourceType":"virtualNetworks","locations":["westus"]},{"resourceType":"publicIPAddresses","locations":["westus"]},{"resourceType":"loadBalancers","locations":["westus"]}]},{"namespace":"Microsoft.Compute","resourceTypes":[{"resourceType":"virtualMachineScaleSets","locations":["westus"]}]}],"dependencies":[{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/clitestvmssVNET","resourceType":"Microsoft.Network/virtualNetworks","resourceName":"clitestvmssVNET"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/clitestvmssLBPublicIP","resourceType":"Microsoft.Network/publicIPAddresses","resourceName":"clitestvmssLBPublicIP"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/loadBalancers/clitestvmssLB","resourceType":"Microsoft.Network/loadBalancers","resourceName":"clitestvmssLB"},{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/clitestvmssVNET","resourceType":"Microsoft.Network/virtualNetworks","resourceName":"clitestvmssVNET"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/loadBalancers/clitestvmssLB","resourceType":"Microsoft.Network/loadBalancers","resourceName":"clitestvmssLB"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/virtualMachineScaleSets/clitestvmss","resourceType":"Microsoft.Compute/virtualMachineScaleSets","resourceName":"clitestvmss"}],"outputs":{"vmss":{"type":"Object","value":{"singlePlacementGroup":true,"upgradePolicy":{"mode":"Manual"},"virtualMachineProfile":{"osProfile":{"computerNamePrefix":"cliteb8c8","adminUsername":"azureuser","windowsConfiguration":{"provisionVMAgent":true,"enableAutomaticUpdates":true},"secrets":[],"allowExtensionOperations":true,"requireGuestProvisionSignal":true},"storageProfile":{"osDisk":{"createOption":"FromImage","caching":"ReadWrite","managedDisk":{"storageAccountType":"Premium_LRS"},"diskSizeGB":127},"imageReference":{"publisher":"MicrosoftWindowsServer","offer":"WindowsServer","sku":"2016-Datacenter","version":"latest"},"dataDisks":[{"lun":0,"createOption":"Empty","caching":"None","managedDisk":{"storageAccountType":"Premium_LRS"},"diskSizeGB":2}]},"networkProfile":{"networkInterfaceConfigurations":[{"name":"cliteb8c8Nic","properties":{"primary":true,"enableAcceleratedNetworking":false,"dnsSettings":{"dnsServers":[]},"enableIPForwarding":false,"ipConfigurations":[{"name":"cliteb8c8IPConfig","properties":{"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/clitestvmssVNET/subnets/clitestvmssSubnet"},"privateIPAddressVersion":"IPv4","loadBalancerBackendAddressPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/loadBalancers/clitestvmssLB/backendAddressPools/clitestvmssLBBEPool"}],"loadBalancerInboundNatPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/loadBalancers/clitestvmssLB/inboundNatPools/clitestvmssLBNatPool"}]}}]}}]},"extensionProfile":{"extensions":[{"name":"Microsoft.Azure.Geneva.GenevaMonitoring","properties":{"autoUpgradeMinorVersion":true,"publisher":"Microsoft.Azure.Geneva","type":"GenevaMonitoring","typeHandlerVersion":"2.0","settings":{}}}]}},"provisioningState":"Succeeded","overprovision":true,"doNotRunExtensionsOnOverprovisionedVMs":false,"uniqueId":"18368aad-094c-4414-ae42-ff38e4b596c2"}}},"outputResources":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/virtualMachineScaleSets/clitestvmss"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/loadBalancers/clitestvmssLB"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/clitestvmssLBPublicIP"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/clitestvmssVNET"}]}}' - headers: - cache-control: - - no-cache - content-length: - - '5948' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 02 Sep 2020 02:28:36 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: '{"location": "westus2", "properties": {"namespace": "Microsoft.Maintenance", - "maintenanceScope": "OSImage", "visibility": "Custom", "maintenanceWindow": - {"startDateTime": "2020-09-30 08:00", "expirationDateTime": "9999-12-31 00:00", - "duration": "05:00", "timeZone": "Pacific Standard Time", "recurEvery": "Day"}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - maintenance configuration create - Connection: - - keep-alive - Content-Length: - - '313' - Content-Type: - - application/json - ParameterSetName: - - --location --maintenance-scope --maintenance-window-duration --maintenance-window-expiration-date-time - --maintenance-window-recur-every --maintenance-window-start-date-time --maintenance-window-time-zone - --namespace --visibility --resource-group --resource-name - User-Agent: - - AZURECLI/2.11.1 azsdk-python-maintenanceclient/unknown Python/3.7.6 (Linux-4.19.76-linuxkit-x86_64-with-debian-10.3) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1?api-version=2020-07-01-preview - response: - body: - string: "{\r\n \"location\": \"westus2\",\r\n \"tags\": {},\r\n \"properties\": - {\r\n \"namespace\": \"Microsoft.Maintenance\",\r\n \"extensionProperties\": - {},\r\n \"maintenanceScope\": \"OSImage\",\r\n \"maintenanceWindow\": - {\r\n \"startDateTime\": \"2020-09-30 08:00\",\r\n \"expirationDateTime\": - \"9999-12-31 00:00\",\r\n \"duration\": \"05:00\",\r\n \"timeZone\": - \"Pacific Standard Time\",\r\n \"recurEvery\": \"Day\"\r\n },\r\n - \ \"visibility\": \"Custom\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1\",\r\n - \ \"name\": \"configuration1\",\r\n \"type\": \"Microsoft.Maintenance/maintenanceConfigurations\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '755' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 02 Sep 2020 02:28:38 GMT - expires: - - '-1' - pragma: - - no-cache - 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: - - maintenance configuration show - Connection: - - keep-alive - ParameterSetName: - - --resource-group --resource-name - User-Agent: - - AZURECLI/2.11.1 azsdk-python-maintenanceclient/unknown Python/3.7.6 (Linux-4.19.76-linuxkit-x86_64-with-debian-10.3) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1?api-version=2020-07-01-preview - response: - body: - string: "{\r\n \"location\": \"westus2\",\r\n \"tags\": {},\r\n \"properties\": - {\r\n \"namespace\": \"Microsoft.Maintenance\",\r\n \"extensionProperties\": - {},\r\n \"maintenanceScope\": \"OSImage\",\r\n \"maintenanceWindow\": - {\r\n \"startDateTime\": \"2020-09-30 08:00\",\r\n \"expirationDateTime\": - \"9999-12-31 00:00\",\r\n \"duration\": \"05:00\",\r\n \"timeZone\": - \"Pacific Standard Time\",\r\n \"recurEvery\": \"Day\"\r\n },\r\n - \ \"visibility\": \"Custom\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/microsoft.maintenance/maintenanceconfigurations/configuration1\",\r\n - \ \"name\": \"configuration1\",\r\n \"type\": \"Microsoft.Maintenance/maintenanceConfigurations\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '755' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 02 Sep 2020 02:28:44 GMT - expires: - - '-1' - pragma: - - no-cache - strict-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: - - maintenance configuration list - Connection: - - keep-alive - User-Agent: - - AZURECLI/2.11.1 azsdk-python-maintenanceclient/unknown Python/3.7.6 (Linux-4.19.76-linuxkit-x86_64-with-debian-10.3) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Maintenance/maintenanceConfigurations?api-version=2020-07-01-preview - response: - body: - string: '{"error":{"code":"InternalServerError","message":"Encountered internal - server error. Diagnostic information: timestamp ''20200902T022858Z'', subscription - id ''eee2cef4-bc47-4278-b4f8-cfc65f25dfd8'', tracking id ''2ec53f11-0dfb-4c5b-8726-8d445454952b'', - request correlation id ''2ec53f11-0dfb-4c5b-8726-8d445454952b''."}}' - headers: - cache-control: - - no-cache - connection: - - close - content-length: - - '312' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 02 Sep 2020 02:28:58 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-failure-cause: - - gateway - status: - code: 500 - message: Internal Server Error -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - maintenance configuration list - Connection: - - keep-alive - User-Agent: - - AZURECLI/2.11.1 azsdk-python-maintenanceclient/unknown Python/3.7.6 (Linux-4.19.76-linuxkit-x86_64-with-debian-10.3) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Maintenance/maintenanceConfigurations?api-version=2020-07-01-preview - response: - body: - string: '{"value":[{"location":"koreacentral","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrkoreacentral/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrsharedkoreacentral","name":"policydgnsrsharedkoreacentral","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"koreasouth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrkoreasouth/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrsharedkoreasouth","name":"policydgnsrsharedkoreasouth","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"japaneast","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrjapaneast/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrsharedjapaneast","name":"policydgnsrsharedjapaneast","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"southcentralus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrsouthcentralus/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrsharedsouthcentralus","name":"policydgnsrsharedsouthcentralus","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"brazilsouth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrbrazilsoutH/providers/Microsoft.Maintenance/maintenanceConfigurations/configsotaneja","name":"configsotaneja","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"brazilsouth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrbrazilsouTH/providers/Microsoft.Maintenance/maintenanceConfigurations/configsotaneja","name":"configsotaneja","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastasia","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsreastasia/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrsharedeastasia","name":"policydgnsrsharedeastasia","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westindia","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrwestindia/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrsharedwestindia","name":"policydgnsrsharedwestindia","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"australiaeast","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsraustraliaeast/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrsharedaustraliaeast","name":"policydgnsrsharedaustraliaeast","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"southeastasia","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrsoutheastasia/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrsharedsoutheastasia","name":"policydgnsrsharedsoutheastasia","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"australiasoutheast","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsraustraliasoutheast/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrsharedaustraliasoutheast","name":"policydgnsrsharedaustraliasoutheast","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"centralus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrcentralus/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrsharedcentralus","name":"policydgnsrsharedcentralus","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"canadacentral","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrcanadacentral/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrsharedcanadacentral","name":"policydgnsrsharedcanadacentral","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsreastus/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrsharedeastus","name":"policydgnsrsharedeastus","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westus2","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrwestus2/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrsharedwestus2","name":"policydgnsrsharedwestus2","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"brazilsouth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrbrazilsouth/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrsharedbrazilsouth","name":"policydgnsrsharedbrazilsouth","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastus2","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsreastus2/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrsharedeastus2","name":"policydgnsrsharedeastus2","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"northcentralus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrnorthcentralus/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrsharednorthcentralus","name":"policydgnsrsharednorthcentralus","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"northeurope","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrnortheurope/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrsharednortheurope","name":"policydgnsrsharednortheurope","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"uksouth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsruksouth/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrshareduksouth","name":"policydgnsrshareduksouth","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"ukwest","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrukwest/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrsharedukwest","name":"policydgnsrsharedukwest","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"francecentral","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrfrancecentral/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrsharedfrancecentral","name":"policydgnsrsharedfrancecentral","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westeurope","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrwesteurope/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrsharedwesteurope","name":"policydgnsrsharedwesteurope","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"southafricanorth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrsouthafricanorth/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrsharedsouthafricanorth","name":"policydgnsrsharedsouthafricanorth","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"australiacentral","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsraustraliacentral/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrsharedaustraliacentral","name":"policydgnsrsharedaustraliacentral","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"southafricanorth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrsouthafricanorth/providers/Microsoft.Maintenance/maintenanceConfigurations/configjusiever15","name":"configjusiever15","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"southafricanorth","tags":{},"properties":{"namespace":"Microsoft.Maintenance","extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrsouthafricanorth/providers/Microsoft.Maintenance/maintenanceConfigurations/configjusiever","name":"configjusiever","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"brazilsouth","tags":{},"properties":{"namespace":"Microsoft.Maintenance","extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrbrazilsouth/providers/Microsoft.Maintenance/maintenanceConfigurations/configjusiever","name":"configjusiever","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"canadaeast","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrcanadaeast/providers/Microsoft.Maintenance/maintenanceConfigurations/configjusiever","name":"configjusiever","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastasia","tags":{},"properties":{"namespace":"Microsoft.Maintenance","extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/pseastasia/providers/Microsoft.Maintenance/maintenanceConfigurations/psconfigeastasia","name":"psconfigeastasia","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"northcentralus","tags":{},"properties":{"namespace":"Microsoft.Maintenance","extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clinorthcentralus/providers/Microsoft.Maintenance/maintenanceConfigurations/clinorthusconfiguration","name":"clinorthusconfiguration","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastasia","tags":{},"properties":{"namespace":"Microsoft.Maintenance","extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clieastasia/providers/Microsoft.Maintenance/maintenanceConfigurations/clieastasiaconfigurationdh","name":"clieastasiaconfigurationdh","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastasia","tags":{},"properties":{"namespace":"Microsoft.Maintenance","extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clieastasia/providers/Microsoft.Maintenance/maintenanceConfigurations/clieastasiaconfigurationdng","name":"clieastasiaconfigurationdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastasia","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/pseastasia/providers/Microsoft.Maintenance/maintenanceConfigurations/pseastasiaconfigurationdh","name":"pseastasiaconfigurationdh","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastasia","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/pseastasia/providers/Microsoft.Maintenance/maintenanceConfigurations/pseastasiaconfigurationdng","name":"pseastasiaconfigurationdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"southcentralus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrsouthcentralus/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrdhsouthcentralus","name":"policydgnsrdhsouthcentralus","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"japanwest","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrjapanwest/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrdhjapanwest","name":"policydgnsrdhjapanwest","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"japaneast","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrjapaneast/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrdhjapaneast","name":"policydgnsrdhjapaneast","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"koreasouth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrkoreasouth/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"koreasouth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrkoreasouth/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrdhkoreasouth","name":"policydgnsrdhkoreasouth","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"southeastasia","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrsoutheastasia/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westindia","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrwestindia/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrdhwestindia","name":"policydgnsrdhwestindia","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"australiacentral","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsraustraliacentral/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"australiasoutheast","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsraustraliasoutheast/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrdhaustraliasoutheast","name":"policydgnsrdhaustraliasoutheast","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"australiacentral","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsraustraliacentral/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrdhaustraliacentral","name":"policydgnsrdhaustraliacentral","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westindia","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrwestindia/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrfullwestindia","name":"policydgnsrfullwestindia","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"australiaeast","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsraustraliaeast/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"southeastasia","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrsoutheastasia/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrdhsoutheastasia","name":"policydgnsrdhsoutheastasia","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"francecentral","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrfrancecentral/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrdhfrancecentral","name":"policydgnsrdhfrancecentral","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"uksouth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsruksouth/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"canadacentral","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrcanadacentral/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrdhcanadacentral","name":"policydgnsrdhcanadacentral","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsreastus/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"francecentral","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrfrancecentral/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"northcentralus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrnorthcentralus/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrfullnorthcentralus","name":"policydgnsrfullnorthcentralus","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westeurope","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrwesteurope/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrdhwesteurope","name":"policydgnsrdhwesteurope","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"brazilsouth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrbrazilsouth/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrfullbrazilsouth","name":"policydgnsrfullbrazilsouth","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westus2","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrwestus2/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrdhwestus2","name":"policydgnsrdhwestus2","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"northcentralus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrnorthcentralus/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrdhnorthcentralus","name":"policydgnsrdhnorthcentralus","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"uksouth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsruksouth/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrdhuksouth","name":"policydgnsrdhuksouth","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"northeurope","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrnortheurope/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"northcentralus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrnorthcentralus/providers/Microsoft.Maintenance/maintenanceConfigurations/configjusiever131","name":"configjusiever131","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"japaneast","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrjapaneast/providers/Microsoft.Maintenance/maintenanceConfigurations/configjusiever131","name":"configjusiever131","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"koreacentral","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrkoreacentral/providers/Microsoft.Maintenance/maintenanceConfigurations/configjusiever131","name":"configjusiever131","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"koreasouth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrkoreasouth/providers/Microsoft.Maintenance/maintenanceConfigurations/configjusiever131","name":"configjusiever131","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westindia","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrwestindia/providers/Microsoft.Maintenance/maintenanceConfigurations/configjusiever131","name":"configjusiever131","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"australiasoutheast","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsraustraliasoutheast/providers/Microsoft.Maintenance/maintenanceConfigurations/configjusiever131","name":"configjusiever131","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"southcentralus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrsouthcentralus/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrsharedsouthcentralus","name":"policydgnsrsharedsouthcentralus","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"northcentralus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrnorthcentralus/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrsharednorthcentralus","name":"policydgnsrsharednorthcentralus","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"australiasoutheast","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsraustraliasoutheast/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrsharedaustraliasoutheast","name":"policydgnsrsharedaustraliasoutheast","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"australiacentral","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsraustraliacentral/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrsharedaustraliacentral","name":"policydgnsrsharedaustraliacentral","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westeurope","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrwesteurope/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrsharedwesteurope","name":"policydgnsrsharedwesteurope","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westus2","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrwestus2/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrsharedwestus2","name":"policydgnsrsharedwestus2","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"brazilsouth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrbrazilsouth/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrsharedbrazilsouth","name":"policydgnsrsharedbrazilsouth","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"southafricanorth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrsouthafricanorth/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrsharedsouthafricanorth","name":"policydgnsrsharedsouthafricanorth","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"uksouth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsruksouth/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrshareduksouth","name":"policydgnsrshareduksouth","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"centralus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrcentralus/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrsharedcentralus","name":"policydgnsrsharedcentralus","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastus2","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsreastus2/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrsharedeastus2","name":"policydgnsrsharedeastus2","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"northeurope","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrnortheurope/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrsharednortheurope","name":"policydgnsrsharednortheurope","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"koreasouth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrkoreasouth/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrsharedkoreasouth","name":"policydgnsrsharedkoreasouth","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsreastus/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrsharedeastus","name":"policydgnsrsharedeastus","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westindia","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrwestindia/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrsharedwestindia","name":"policydgnsrsharedwestindia","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastasia","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsreastasia/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrsharedeastasia","name":"policydgnsrsharedeastasia","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"canadacentral","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrcanadacentral/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrsharedcanadacentral","name":"policydgnsrsharedcanadacentral","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"australiaeast","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsraustraliaeast/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrsharedaustraliaeast","name":"policydgnsrsharedaustraliaeast","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"japaneast","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrjapaneast/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrsharedjapaneast","name":"policydgnsrsharedjapaneast","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"koreacentral","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrkoreacentral/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrsharedkoreacentral","name":"policydgnsrsharedkoreacentral","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"francecentral","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrfrancecentral/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrsharedfrancecentral","name":"policydgnsrsharedfrancecentral","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"ukwest","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrukwest/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrsharedukwest","name":"policydgnsrsharedukwest","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"southeastasia","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrsoutheastasia/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrsharedsoutheastasia","name":"policydgnsrsharedsoutheastasia","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"koreasouth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dbgkoreasouth/providers/microsoft.maintenance/maintenanceconfigurations/defaultmaintenanceconfiguration-koreasouth","name":"defaultMaintenanceConfiguration-koreasouth","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"koreacentral","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dbgkoreacentral/providers/microsoft.maintenance/maintenanceconfigurations/defaultmaintenanceconfiguration-koreacentral","name":"defaultMaintenanceConfiguration-koreacentral","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westus2","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/testatrg/providers/microsoft.maintenance/maintenanceconfigurations/defaultmcwestus2","name":"defaultmcwestus2","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westus2","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/testatrg/providers/microsoft.maintenance/maintenanceconfigurations/defaultmcnorthcentralus","name":"defaultmcnorthcentralus","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"northcentralus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/psnorthcentralus/providers/microsoft.maintenance/maintenanceconfigurations/defaultmcnorthcentralus","name":"defaultmcnorthcentralus","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westus2","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/testatrg/providers/microsoft.maintenance/maintenanceconfigurations/defaultmaintenanceconfiguration","name":"defaultMaintenanceConfiguration","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"northcentralus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/psnorthcentralus/providers/microsoft.maintenance/maintenanceconfigurations/defaultmaintenanceconfiguration","name":"defaultMaintenanceConfiguration","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"northcentralus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clinorthcentralus/providers/microsoft.maintenance/maintenanceconfigurations/portaltestconfig","name":"portaltestconfig","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"northcentralus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/netsdknorthcentralus/providers/microsoft.maintenance/maintenanceconfigurations/netsdknorthcentralusconfigurationfull","name":"netsdknorthcentralusconfigurationfull","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/abtest/providers/microsoft.maintenance/maintenanceconfigurations/testconfigfromportal","name":"testconfigfromportal","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"centralus","tags":{"tag1":"bugbash"},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/portalbugbash/providers/microsoft.maintenance/maintenanceconfigurations/scenario1","name":"scenario1","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"koreacentral","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrkoreacentral/providers/microsoft.maintenance/maintenanceconfigurations/defaultmaintenanceconfiguration-koreacentral","name":"defaultMaintenanceConfiguration-koreacentral","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westeurope","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrwesteurope/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"northeurope","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrnortheurope/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"northcentralus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/psnorthcentralus/providers/microsoft.maintenance/maintenanceconfigurations/psnorthusconfigurationfull","name":"psnorthusconfigurationfull","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastasia","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/pseastasia/providers/microsoft.maintenance/maintenanceconfigurations/pseastasiaconfigurationdh","name":"pseastasiaconfigurationdh","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"centralus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrcentralus/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"koreasouth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Resource","maintenanceWindow":{"startDateTime":"0001-01-01 - 00:00","expirationDateTime":"0001-01-01 00:00","duration":"05:00","timeZone":"India - Standard Time","recurEvery":"0"},"visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/schedulerrg/providers/microsoft.maintenance/maintenanceconfigurations/afecflagkoreasouth","name":"afecFlagKoreaSouth","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"canadacentral","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Resource","maintenanceWindow":{"startDateTime":"0001-01-01 - 00:00","expirationDateTime":"0001-01-01 00:00","duration":"05:00","timeZone":"Eastern - Standard Time","recurEvery":"0"},"visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/schedulerrg/providers/microsoft.maintenance/maintenanceconfigurations/afecflagcanada","name":"afecFlagCanada","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"WESTEUROPE","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Resource","maintenanceWindow":{"startDateTime":"0001-01-01 - 00:00","expirationDateTime":"0001-01-01 00:00","duration":"05:00","timeZone":"Central - Europe standard Time","recurEvery":"0"},"visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/schedulerrg/providers/microsoft.maintenance/maintenanceconfigurations/afecflageurope","name":"afecFlagEurope","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westcentralus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Resource, - InResource","maintenanceWindow":{"startDateTime":"0001-01-01 00:00","expirationDateTime":"0001-01-01 - 00:00","duration":"05:00","timeZone":"Central standard Time","recurEvery":"0"},"visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/schedulerrg/providers/microsoft.maintenance/maintenanceconfigurations/afecflagus3","name":"afecFlagUS3","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"uksouth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsruksouth/providers/microsoft.maintenance/maintenanceconfigurations/testargconfiguration1","name":"testARGConfiguration1","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastasia","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","maintenanceWindow":{"startDateTime":"2020-08-09 - 20:30","expirationDateTime":"9999-12-31 23:59","duration":"05:00","timeZone":"Pacific - Standard Time","recurEvery":"week sunday,monday"},"visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/schedulerrg/providers/microsoft.maintenance/maintenanceconfigurations/hosttestingscope","name":"HostTestingscope","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westindia","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrwestindia/providers/microsoft.maintenance/maintenanceconfigurations/testpowershellconfig","name":"testpowershellconfig","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westindia","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrwestindia/providers/microsoft.maintenance/maintenanceconfigurations/soniapowershell","name":"soniapowershell","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","maintenanceWindow":{"startDateTime":"2020-09-01 - 12:30","expirationDateTime":"9999-12-31 23:59","duration":"05:00","timeZone":"Pacific - Standard Time","recurEvery":"Day"},"visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/ps8596/providers/microsoft.maintenance/maintenanceconfigurations/ps5164","name":"ps5164","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","maintenanceWindow":{"startDateTime":"2020-09-01 - 12:30","expirationDateTime":"9999-12-31 23:59","duration":"05:00","timeZone":"Pacific - Standard Time","recurEvery":"Day"},"visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/ps9969/providers/microsoft.maintenance/maintenanceconfigurations/ps227","name":"ps227","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","maintenanceWindow":{"startDateTime":"2020-09-01 - 12:30","expirationDateTime":"9999-12-31 23:59","duration":"05:00","timeZone":"Pacific - Standard Time","recurEvery":"Day"},"visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/ps4851/providers/microsoft.maintenance/maintenanceconfigurations/ps132","name":"ps132","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","maintenanceWindow":{"startDateTime":"2020-09-01 - 12:30","expirationDateTime":"9999-12-31 23:59","duration":"05:00","timeZone":"Pacific - Standard Time","recurEvery":"Day"},"visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/ps5895/providers/microsoft.maintenance/maintenanceconfigurations/ps4366","name":"ps4366","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/ps3332/providers/microsoft.maintenance/maintenanceconfigurations/ps404","name":"ps404","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/ps9548/providers/microsoft.maintenance/maintenanceconfigurations/ps567","name":"ps567","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/ps3221/providers/microsoft.maintenance/maintenanceconfigurations/ps5992","name":"ps5992","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/ps9573/providers/microsoft.maintenance/maintenanceconfigurations/ps575","name":"ps575","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westus","tags":{},"properties":{"extensionProperties":{"publicMaintenanceConfigurationId":"ps4509","isAvailable":"true"},"maintenanceScope":"SQLDB","maintenanceWindow":{"startDateTime":"2020-09-01 - 12:30","expirationDateTime":"9999-12-31 23:59","duration":"05:00","timeZone":"Pacific - Standard Time","recurEvery":"Day"},"visibility":"Public"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/ps7939/providers/microsoft.maintenance/maintenanceconfigurations/ps4509","name":"ps4509","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westus","tags":{},"properties":{"extensionProperties":{"isAvailable":"true","publicMaintenanceConfigurationId":"randomc"},"maintenanceScope":"SQLDB","maintenanceWindow":{"startDateTime":"2020-09-01 - 12:30","expirationDateTime":"9999-12-31 23:59","duration":"05:00","timeZone":"Pacific - Standard Time","recurEvery":"Day"},"visibility":"Public"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/randogroup/providers/microsoft.maintenance/maintenanceconfigurations/randomc","name":"randomc","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westus","tags":{},"properties":{"extensionProperties":{"isAvailable":"true","publicMaintenanceConfigurationId":"soniaps"},"maintenanceScope":"SQLDB","maintenanceWindow":{"startDateTime":"2020-09-01 - 12:30","expirationDateTime":"9999-12-31 23:59","duration":"05:00","timeZone":"Pacific - Standard Time","recurEvery":"Day"},"visibility":"Public"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/randogroup/providers/microsoft.maintenance/maintenanceconfigurations/soniaps","name":"soniaps","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westus2","tags":{},"properties":{"namespace":"Microsoft.Maintenance","extensionProperties":{},"maintenanceScope":"OSImage","maintenanceWindow":{"startDateTime":"2020-09-30 - 08:00","expirationDateTime":"9999-12-31 00:00","duration":"05:00","timeZone":"Pacific - Standard Time","recurEvery":"Month Third Sunday"},"visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitests5f7aik4kielzdkgwmkwjyxpjzokzgfpgfivhyj7wne4w7wl6shvtm3xsunnzt76rcet/providers/microsoft.maintenance/maintenanceconfigurations/configuration1","name":"configuration1","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westus2","tags":{},"properties":{"namespace":"Microsoft.Maintenance","extensionProperties":{"publicMaintenanceConfigurationId":"configurationsql","isAvailable":"true"},"maintenanceScope":"SQLDB","maintenanceWindow":{"startDateTime":"2020-09-30 - 08:00","expirationDateTime":"9999-12-31 00:00","duration":"05:00","timeZone":"Pacific - Standard Time","recurEvery":"Day"},"visibility":"Public"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/schedulerrg/providers/microsoft.maintenance/maintenanceconfigurations/configurationsql","name":"configurationsql","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westus2","tags":{},"properties":{"namespace":"Microsoft.Maintenance","extensionProperties":{},"maintenanceScope":"OSImage","maintenanceWindow":{"startDateTime":"2020-09-30 - 08:00","expirationDateTime":"9999-12-31 00:00","duration":"05:00","timeZone":"Pacific - Standard Time","recurEvery":"Month Third Sunday"},"visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitestbjnoqkenrf5azew3kgnabym44odg7prhbgld62256xzyrysux4j7uag3cjosjnh4vr6o/providers/microsoft.maintenance/maintenanceconfigurations/configuration1","name":"configuration1","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westus2","tags":{},"properties":{"namespace":"Microsoft.Maintenance","extensionProperties":{},"maintenanceScope":"OSImage","maintenanceWindow":{"startDateTime":"2020-09-30 - 08:00","expirationDateTime":"9999-12-31 00:00","duration":"05:00","timeZone":"Pacific - Standard Time","recurEvery":"Month Third Sunday"},"visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest4m7giv6zpf3q5vef7j3msfh3nsgpzqdfsh4sh3daxxvfrnmb6guxwefrdjrgxeo3ojvw/providers/microsoft.maintenance/maintenanceconfigurations/configuration1","name":"configuration1","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westus2","tags":{},"properties":{"namespace":"Microsoft.Maintenance","extensionProperties":{},"maintenanceScope":"OSImage","maintenanceWindow":{"startDateTime":"2020-09-30 - 08:00","expirationDateTime":"9999-12-31 00:00","duration":"05:00","timeZone":"Pacific - Standard Time","recurEvery":"Month Third Sunday"},"visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitestqm2p2j4y45bdhruz5u22egugnh2mbsfo7ycpzsy33taklfoaa7u4jte2dz2nghrd56oq/providers/microsoft.maintenance/maintenanceconfigurations/configuration1","name":"configuration1","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"centralus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","maintenanceWindow":{"startDateTime":"2020-09-01 - 00:00","expirationDateTime":"2021-08-04 00:00","duration":"05:00","timeZone":"Pacific - Standard Time","recurEvery":"Day"},"visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/schedulerrg/providers/microsoft.maintenance/maintenanceconfigurations/pstest","name":"pstest","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westus2","tags":{},"properties":{"namespace":"Microsoft.Maintenance","extensionProperties":{},"maintenanceScope":"OSImage","maintenanceWindow":{"startDateTime":"2020-09-30 - 08:00","expirationDateTime":"9999-12-31 00:00","duration":"05:00","timeZone":"Pacific - Standard Time","recurEvery":"Month Third Sunday"},"visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitestf5ivvpypbhqgzkft234pqqqm3rmaueztclxupbsi4it2tknktbbt5dogcp74ybrjjnmd/providers/microsoft.maintenance/maintenanceconfigurations/configuration1","name":"configuration1","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"koreasouth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrkoreasouth/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrfullkoreasouth","name":"policydgnsrfullkoreasouth","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"japaneast","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrjapaneast/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdhjapaneast","name":"policydgnsrdhjapaneast","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"australiasoutheast","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsraustraliasoutheast/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrfullaustraliasoutheast","name":"policydgnsrfullaustraliasoutheast","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"brazilsouth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrbrazilsouth/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrfullbrazilsouth","name":"policydgnsrfullbrazilsouth","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastus2","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsreastus2/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westus2","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrwestus2/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"northcentralus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrnorthcentralus/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdhnorthcentralus","name":"policydgnsrdhnorthcentralus","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastus2","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsreastus2/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdheastus2","name":"policydgnsrdheastus2","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"canadaeast","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrcanadaeast/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdhcanadaeast","name":"policydgnsrdhcanadaeast","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"ukwest","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrukwest/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrfullukwest","name":"policydgnsrfullukwest","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"northcentralus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrnorthcentralus/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrfullnorthcentralus","name":"policydgnsrfullnorthcentralus","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"koreasouth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrkoreasouth/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"northeurope","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrnortheurope/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdhnortheurope","name":"policydgnsrdhnortheurope","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"koreasouth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrkoreasouth/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdhkoreasouth","name":"policydgnsrdhkoreasouth","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsreastus/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdheastus","name":"policydgnsrdheastus","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westindia","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrwestindia/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrfullwestindia","name":"policydgnsrfullwestindia","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"japaneast","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrjapaneast/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"koreacentral","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrkoreacentral/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrfullkoreacentral","name":"policydgnsrfullkoreacentral","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"southcentralus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrsouthcentralus/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"centralindia","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrcentralindia/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdhcentralindia","name":"policydgnsrdhcentralindia","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"australiasoutheast","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsraustraliasoutheast/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdhaustraliasoutheast","name":"policydgnsrdhaustraliasoutheast","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westus2","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrwestus2/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdhwestus2","name":"policydgnsrdhwestus2","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"australiacentral","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsraustraliacentral/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdhaustraliacentral","name":"policydgnsrdhaustraliacentral","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"canadacentral","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrcanadacentral/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrfullcanadacentral","name":"policydgnsrfullcanadacentral","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"uksouth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsruksouth/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"uksouth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsruksouth/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrfulluksouth","name":"policydgnsrfulluksouth","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"francecentral","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrfrancecentral/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdhfrancecentral","name":"policydgnsrdhfrancecentral","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"southeastasia","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrsoutheastasia/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"canadacentral","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrcanadacentral/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westindia","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrwestindia/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdhwestindia","name":"policydgnsrdhwestindia","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"centralus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrcentralus/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdhcentralus","name":"policydgnsrdhcentralus","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"australiasoutheast","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsraustraliasoutheast/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"francecentral","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrfrancecentral/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"southafricanorth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrsouthafricanorth/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"koreacentral","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrkoreacentral/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrwestus/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdhwestus","name":"policydgnsrdhwestus","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westeurope","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrwesteurope/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdhwesteurope","name":"policydgnsrdhwesteurope","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsreastus/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"canadacentral","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrcanadacentral/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdhcanadacentral","name":"policydgnsrdhcanadacentral","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"australiaeast","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsraustraliaeast/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"brazilsouth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrbrazilsouth/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdhbrazilsouth","name":"policydgnsrdhbrazilsouth","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"southcentralus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrsouthcentralus/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdhsouthcentralus","name":"policydgnsrdhsouthcentralus","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"japanwest","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrjapanwest/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdhjapanwest","name":"policydgnsrdhjapanwest","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastasia","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsreastasia/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"koreacentral","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrkoreacentral/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdhkoreacentral","name":"policydgnsrdhkoreacentral","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"northcentralus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrnorthcentralus/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"uksouth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsruksouth/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdhuksouth","name":"policydgnsrdhuksouth","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westindia","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrwestindia/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"ukwest","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrukwest/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdhukwest","name":"policydgnsrdhukwest","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"japaneast","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrjapaneast/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrfulljapaneast","name":"policydgnsrfulljapaneast","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"southindia","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrsouthindia/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrfullsouthindia","name":"policydgnsrfullsouthindia","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"ukwest","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrukwest/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"southindia","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrsouthindia/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdhsouthindia","name":"policydgnsrdhsouthindia","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"brazilsouth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrbrazilsouth/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastasia","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsreastasia/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdheastasia","name":"policydgnsrdheastasia","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"australiacentral","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsraustraliacentral/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westus2","tags":{},"properties":{"namespace":"Microsoft.Maintenance","extensionProperties":{},"maintenanceScope":"OSImage","maintenanceWindow":{"startDateTime":"2020-09-30 - 08:00","expirationDateTime":"9999-12-31 00:00","duration":"05:00","timeZone":"Pacific - Standard Time","recurEvery":"Day"},"visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/microsoft.maintenance/maintenanceconfigurations/configuration1","name":"configuration1","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"southafricanorth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrsouthafricanorth/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdhsouthafricanorth","name":"policydgnsrdhsouthafricanorth","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"southeastasia","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrsoutheastasia/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdhsoutheastasia","name":"policydgnsrdhsoutheastasia","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastus2euap","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsreastus2euap/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrsharedeastus2euap","name":"policydgnsrsharedeastus2euap","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"centraluseuap","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrcentraluseuap/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrsharedcentraluseuap","name":"policydgnsrsharedcentraluseuap","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"centraluseuap","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrcentraluseuap/providers/Microsoft.Maintenance/maintenanceConfigurations/configjusiever","name":"configjusiever","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"centraluseuap","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrcentraluseuap/providers/Microsoft.Maintenance/maintenanceConfigurations/configshvenk","name":"configshvenk","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastus2euap","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsreastus2euap/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrdheastus2euap","name":"policydgnsrdheastus2euap","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastus2euap","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsreastus2euap/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrfulleastus2euap","name":"policydgnsrfulleastus2euap","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"centraluseuap","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrcentraluseuap/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrsharedcentraluseuap","name":"policydgnsrsharedcentraluseuap","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastus2euap","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsreastus2euap/providers/Microsoft.Maintenance/maintenanceConfigurations/testARGConfiguration3","name":"testARGConfiguration3","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"centraluseuap","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrcentraluseuap/providers/Microsoft.Maintenance/maintenanceConfigurations/gautamdPolicy","name":"gautamdPolicy","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastus2euap","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsreastus2euap/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrfulleastus2euap","name":"policydgnsrfulleastus2euap","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastus2euap","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsreastus2euap/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrsharedeastus2euap","name":"policydgnsrsharedeastus2euap","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastus2euap","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsreastus2euap/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastus2euap","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsreastus2euap/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdheastus2euap","name":"policydgnsrdheastus2euap","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"centraluseuap","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrcentraluseuap/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"centraluseuap","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrcentraluseuap/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdhcentraluseuap","name":"policydgnsrdhcentraluseuap","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastus2euap","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsreastus2euap/providers/microsoft.maintenance/maintenanceconfigurations/testargconfiguration9","name":"testARGConfiguration9","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastus2euap","tags":{},"properties":{"extensionProperties":{"publicMaintenanceConfigurationId":"soniasql","isAvailable":"false"},"maintenanceScope":"SQLDB","maintenanceWindow":{"startDateTime":"2020-08-19 - 03:00","expirationDateTime":"9999-12-31 23:59","duration":"05:00","timeZone":"Pacific - Standard Time","recurEvery":"Day"},"visibility":"Public"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/schedulerrg/providers/microsoft.maintenance/maintenanceconfigurations/soniasql","name":"soniasql","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastus2euap","tags":{},"properties":{"namespace":"Microsoft.Maintenance","extensionProperties":{"publicMaintenanceConfigurationId":"sqlcli","isAvailable":"true"},"maintenanceScope":"SQLDB","maintenanceWindow":{"startDateTime":"2020-09-30 - 08:00","expirationDateTime":"9999-12-31 00:00","duration":"05:00","timeZone":"Pacific - Standard Time","recurEvery":"Day"},"visibility":"Public"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/schedulerrg/providers/microsoft.maintenance/maintenanceconfigurations/sqlcli","name":"sqlcli","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastus2euap","tags":{},"properties":{"namespace":"Microsoft.Maintenance","extensionProperties":{"publicMaintenanceConfigurationId":"[''sqlcliv2'']","isAvailable":"[''true'']"},"maintenanceScope":"SQLDB","maintenanceWindow":{"startDateTime":"2020-09-30 - 08:00","expirationDateTime":"9999-12-31 00:00","duration":"05:00","timeZone":"Pacific - Standard Time","recurEvery":"Day"},"visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/schedulerrg/providers/microsoft.maintenance/maintenanceconfigurations/sqlcliv2","name":"sqlcliv2","type":"Microsoft.Maintenance/maintenanceConfigurations"}]}' - headers: - cache-control: - - no-cache - content-length: - - '85789' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 02 Sep 2020 02:28:59 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: - - 353e354e-8afa-4a30-adc4-e14973858135 - - 353e354e-8afa-4a30-adc4-e14973858135 - status: - code: 200 - message: OK -- request: - body: '{"location": "westus2", "properties": {"namespace": "Microsoft.Maintenance", - "maintenanceScope": "OSImage", "visibility": "Custom", "maintenanceWindow": - {"startDateTime": "2020-09-30 08:00", "expirationDateTime": "9999-12-31 00:00", - "duration": "05:00", "timeZone": "Pacific Standard Time", "recurEvery": "Month - Third Sunday"}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - maintenance configuration update - Connection: - - keep-alive - Content-Length: - - '328' - Content-Type: - - application/json - ParameterSetName: - - --location --maintenance-scope --maintenance-window-duration --maintenance-window-expiration-date-time - --maintenance-window-recur-every --maintenance-window-start-date-time --maintenance-window-time-zone - --namespace --visibility --resource-group --resource-name - User-Agent: - - AZURECLI/2.11.1 azsdk-python-maintenanceclient/unknown Python/3.7.6 (Linux-4.19.76-linuxkit-x86_64-with-debian-10.3) - method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1?api-version=2020-07-01-preview - response: - body: - string: "{\r\n \"location\": \"westus2\",\r\n \"tags\": {},\r\n \"properties\": - {\r\n \"namespace\": \"Microsoft.Maintenance\",\r\n \"extensionProperties\": - {},\r\n \"maintenanceScope\": \"OSImage\",\r\n \"maintenanceWindow\": - {\r\n \"startDateTime\": \"2020-09-30 08:00\",\r\n \"expirationDateTime\": - \"9999-12-31 00:00\",\r\n \"duration\": \"05:00\",\r\n \"timeZone\": - \"Pacific Standard Time\",\r\n \"recurEvery\": \"Month Third Sunday\"\r\n - \ },\r\n \"visibility\": \"Custom\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/microsoft.maintenance/maintenanceconfigurations/configuration1\",\r\n - \ \"name\": \"configuration1\",\r\n \"type\": \"Microsoft.Maintenance/maintenanceConfigurations\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '770' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 02 Sep 2020 02:29:00 GMT - expires: - - '-1' - pragma: - - no-cache - 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: - - maintenance assignment create - Connection: - - keep-alive - ParameterSetName: - - --maintenance-configuration-id --provider-name --resource-group --resource-name - --name --resource-type - User-Agent: - - python/3.7.6 (Linux-4.19.76-linuxkit-x86_64-with-debian-10.3) msrest/0.6.18 - msrest_azure/0.6.4 azure-mgmt-resource/10.2.0 Azure-SDK-For-Python AZURECLI/2.11.1 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2020-06-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2020-09-02T02:22:02Z"},"properties":{"provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '428' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 02 Sep 2020 02:29:01 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: '{"location": "westus", "properties": {"maintenanceConfigurationId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - maintenance assignment create - Connection: - - keep-alive - Content-Length: - - '287' - Content-Type: - - application/json - ParameterSetName: - - --maintenance-configuration-id --provider-name --resource-group --resource-name - --name --resource-type - User-Agent: - - AZURECLI/2.11.1 azsdk-python-maintenanceclient/unknown Python/3.7.6 (Linux-4.19.76-linuxkit-x86_64-with-debian-10.3) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Compute/virtualMachineScaleSets/clitestvmss/providers/Microsoft.Maintenance/configurationAssignments/configuration1?api-version=2020-07-01-preview - response: - body: - string: "{\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"maintenanceConfigurationId\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1\",\r\n - \ \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/microsoft.compute/virtualmachinescalesets/clitestvmss\"\r\n - \ },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/microsoft.compute/virtualmachinescalesets/clitestvmss/providers/Microsoft.Maintenance/configurationAssignments/configuration1\",\r\n - \ \"name\": \"configuration1\",\r\n \"type\": \"Microsoft.Maintenance/configurationAssignments\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '916' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 02 Sep 2020 02:29:03 GMT - expires: - - '-1' - pragma: - - no-cache - 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: - - maintenance assignment list - Connection: - - keep-alive - ParameterSetName: - - --provider-name --resource-group --resource-name --resource-type - User-Agent: - - AZURECLI/2.11.1 azsdk-python-maintenanceclient/unknown Python/3.7.6 (Linux-4.19.76-linuxkit-x86_64-with-debian-10.3) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Compute/virtualMachineScaleSets/clitestvmss/providers/Microsoft.Maintenance/configurationAssignments?api-version=2020-07-01-preview - response: - body: - string: "{\r\n \"value\": [\r\n {\r\n \"properties\": {\r\n \"maintenanceConfigurationId\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1\"\r\n - \ },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Compute/virtualMachineScaleSets/clitestvmss/providers/Microsoft.Maintenance/configurationAssignments/configuration1\",\r\n - \ \"name\": \"configuration1\",\r\n \"type\": \"Microsoft.Maintenance/configurationAssignments\"\r\n - \ }\r\n ]\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '719' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 02 Sep 2020 02:29:04 GMT - expires: - - '-1' - pragma: - - no-cache - strict-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: - - maintenance public-configuration show - Connection: - - keep-alive - ParameterSetName: - - --resource-name - User-Agent: - - AZURECLI/2.11.1 azsdk-python-maintenanceclient/unknown Python/3.7.6 (Linux-4.19.76-linuxkit-x86_64-with-debian-10.3) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/sql2?api-version=2020-07-01-preview - response: - body: - string: "{\r\n \"location\": \"eastus2euap\",\r\n \"tags\": {},\r\n \"properties\": - {\r\n \"extensionProperties\": {\r\n \"publicMaintenanceConfigurationId\": - \"sql2\",\r\n \"isAvailable\": \"true\"\r\n },\r\n \"maintenanceScope\": - \"SQLDB\",\r\n \"maintenanceWindow\": {\r\n \"startDateTime\": \"2020-08-12 - 03:00\",\r\n \"expirationDateTime\": \"9999-12-31 23:59\",\r\n \"duration\": - \"05:00\",\r\n \"timeZone\": \"Pacific Standard Time\",\r\n \"recurEvery\": - \"Day\"\r\n },\r\n \"visibility\": \"Public\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/smdtest/providers/microsoft.maintenance/maintenanceconfigurations/sql2\",\r\n - \ \"name\": \"sql2\",\r\n \"type\": \"Microsoft.Maintenance/maintenanceConfigurations\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '712' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 02 Sep 2020 02:29:05 GMT - expires: - - '-1' - pragma: - - no-cache - strict-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: - - maintenance public-configuration list - Connection: - - keep-alive - User-Agent: - - AZURECLI/2.11.1 azsdk-python-maintenanceclient/unknown Python/3.7.6 (Linux-4.19.76-linuxkit-x86_64-with-debian-10.3) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Maintenance/publicMaintenanceConfigurations?api-version=2020-07-01-preview - response: - body: - string: "{\r\n \"value\": [\r\n {\r\n \"location\": \"eastus2euap\",\r\n - \ \"tags\": {},\r\n \"properties\": {\r\n \"extensionProperties\": - {\r\n \"publicMaintenanceConfigurationId\": \"sql2\",\r\n \"isAvailable\": - \"true\"\r\n },\r\n \"maintenanceScope\": \"SQLDB\",\r\n \"maintenanceWindow\": - {\r\n \"startDateTime\": \"2020-08-12 03:00\",\r\n \"expirationDateTime\": - \"9999-12-31 23:59\",\r\n \"duration\": \"05:00\",\r\n \"timeZone\": - \"Pacific Standard Time\",\r\n \"recurEvery\": \"Day\"\r\n },\r\n - \ \"visibility\": \"Public\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/smdtest/providers/microsoft.maintenance/maintenanceconfigurations/sql2\",\r\n - \ \"name\": \"sql2\",\r\n \"type\": \"Microsoft.Maintenance/maintenanceConfigurations\"\r\n - \ },\r\n {\r\n \"location\": \"eastus2euap\",\r\n \"tags\": - {},\r\n \"properties\": {\r\n \"extensionProperties\": {\r\n \"publicMaintenanceConfigurationId\": - \"randomc\",\r\n \"isAvailable\": \"true\"\r\n },\r\n \"maintenanceScope\": - \"SQLDB\",\r\n \"maintenanceWindow\": {\r\n \"startDateTime\": - \"2020-08-13 03:00\",\r\n \"expirationDateTime\": \"9999-12-31 23:59\",\r\n - \ \"duration\": \"05:00\",\r\n \"timeZone\": \"Pacific Standard - Time\",\r\n \"recurEvery\": \"Day\"\r\n },\r\n \"visibility\": - \"Public\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/smdtest/providers/microsoft.maintenance/maintenanceconfigurations/randomc\",\r\n - \ \"name\": \"randomc\",\r\n \"type\": \"Microsoft.Maintenance/maintenanceConfigurations\"\r\n - \ },\r\n {\r\n \"location\": \"eastus2euap\",\r\n \"tags\": - {},\r\n \"properties\": {\r\n \"namespace\": \"Microsoft.Maintenance\",\r\n - \ \"extensionProperties\": {\r\n \"publicMaintenanceConfigurationId\": - \"sqlcli\",\r\n \"isAvailable\": \"true\"\r\n },\r\n \"maintenanceScope\": - \"SQLDB\",\r\n \"maintenanceWindow\": {\r\n \"startDateTime\": - \"2020-09-30 08:00\",\r\n \"expirationDateTime\": \"9999-12-31 00:00\",\r\n - \ \"duration\": \"05:00\",\r\n \"timeZone\": \"Pacific Standard - Time\",\r\n \"recurEvery\": \"Day\"\r\n },\r\n \"visibility\": - \"Public\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/schedulerrg/providers/microsoft.maintenance/maintenanceconfigurations/sqlcli\",\r\n - \ \"name\": \"sqlcli\",\r\n \"type\": \"Microsoft.Maintenance/maintenanceConfigurations\"\r\n - \ }\r\n ]\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '2497' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 02 Sep 2020 02:29:05 GMT - expires: - - '-1' - pragma: - - no-cache - strict-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: - - maintenance update list - Connection: - - keep-alive - ParameterSetName: - - --provider-name --resource-group --resource-name --resource-type - User-Agent: - - AZURECLI/2.11.1 azsdk-python-maintenanceclient/unknown Python/3.7.6 (Linux-4.19.76-linuxkit-x86_64-with-debian-10.3) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Compute/virtualMachineScaleSets/clitestvmss/providers/Microsoft.Maintenance/updates?api-version=2020-07-01-preview - response: - body: - string: "{\r\n \"value\": []\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '19' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 02 Sep 2020 02:29:06 GMT - expires: - - '-1' - pragma: - - no-cache - strict-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: - - maintenance applyupdate create - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - --provider-name --resource-group --resource-name --resource-type - User-Agent: - - AZURECLI/2.11.1 azsdk-python-maintenanceclient/unknown Python/3.7.6 (Linux-4.19.76-linuxkit-x86_64-with-debian-10.3) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Compute/virtualMachineScaleSets/clitestvmss/providers/Microsoft.Maintenance/applyUpdates/default?api-version=2020-07-01-preview - response: - body: - string: 'null' - headers: - cache-control: - - no-cache - content-length: - - '4' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 02 Sep 2020 02:29:07 GMT - expires: - - '-1' - pragma: - - no-cache - 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: - - maintenance applyupdate show - Connection: - - keep-alive - ParameterSetName: - - --name --provider-name --resource-group --resource-name --resource-type - User-Agent: - - AZURECLI/2.11.1 azsdk-python-maintenanceclient/unknown Python/3.7.6 (Linux-4.19.76-linuxkit-x86_64-with-debian-10.3) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Compute/virtualMachineScaleSets/clitestvmss/providers/Microsoft.Maintenance/applyUpdates/default?api-version=2020-07-01-preview - response: - body: - string: "{\r\n \"properties\": {\r\n \"status\": \"Completed\",\r\n \"resourceId\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Compute/virtualMachineScaleSets/clitestvmss\",\r\n - \ \"lastUpdateTime\": \"0001-01-01T00:00:00\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Compute/virtualMachineScaleSets/clitestvmss/providers/Microsoft.Maintenance/applyUpdates/default\",\r\n - \ \"name\": \"default\",\r\n \"type\": \"Microsoft.Maintenance/applyUpdates\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '673' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 02 Sep 2020 02:29:08 GMT - expires: - - '-1' - pragma: - - no-cache - strict-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: - - maintenance assignment delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - --name --provider-name --resource-group --resource-name --resource-type --yes - User-Agent: - - AZURECLI/2.11.1 azsdk-python-maintenanceclient/unknown Python/3.7.6 (Linux-4.19.76-linuxkit-x86_64-with-debian-10.3) - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Compute/virtualMachineScaleSets/clitestvmss/providers/Microsoft.Maintenance/configurationAssignments/configuration1?api-version=2020-07-01-preview - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Wed, 02 Sep 2020 02:29:10 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - 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: - - maintenance configuration delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - --resource-group --resource-name --yes - User-Agent: - - AZURECLI/2.11.1 azsdk-python-maintenanceclient/unknown Python/3.7.6 (Linux-4.19.76-linuxkit-x86_64-with-debian-10.3) - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1?api-version=2020-07-01-preview - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Wed, 02 Sep 2020 02:29:11 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-deletes: - - '14999' - status: - code: 200 - message: OK -- request: - body: '{"location": "eastus2euap", "properties": {"namespace": "Microsoft.Maintenance", - "extensionProperties": {"publicMaintenanceConfigurationId": "sqlcli", "isAvailable": - "true"}, "maintenanceScope": "SQLDB", "visibility": "Public", "maintenanceWindow": - {"startDateTime": "2020-09-30 08:00", "expirationDateTime": "9999-12-31 00:00", - "duration": "05:00", "timeZone": "Pacific Standard Time", "recurEvery": "Day"}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - maintenance configuration create - Connection: - - keep-alive - Content-Length: - - '409' - Content-Type: - - application/json - ParameterSetName: - - --location --maintenance-scope --maintenance-window-duration --maintenance-window-expiration-date-time - --maintenance-window-recur-every --maintenance-window-start-date-time --maintenance-window-time-zone - --namespace --visibility --resource-group --resource-name --extension-properties - User-Agent: - - AZURECLI/2.11.1 azsdk-python-maintenanceclient/unknown Python/3.7.6 (Linux-4.19.76-linuxkit-x86_64-with-debian-10.3) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Maintenance/maintenanceConfigurations/sqlcli?api-version=2020-07-01-preview - response: - body: - string: "{\r\n \"location\": \"eastus2euap\",\r\n \"tags\": {},\r\n \"properties\": - {\r\n \"namespace\": \"Microsoft.Maintenance\",\r\n \"extensionProperties\": - {\r\n \"publicMaintenanceConfigurationId\": \"sqlcli\",\r\n \"isAvailable\": - \"true\"\r\n },\r\n \"maintenanceScope\": \"SQLDB\",\r\n \"maintenanceWindow\": - {\r\n \"startDateTime\": \"2020-09-30 08:00\",\r\n \"expirationDateTime\": - \"9999-12-31 00:00\",\r\n \"duration\": \"05:00\",\r\n \"timeZone\": - \"Pacific Standard Time\",\r\n \"recurEvery\": \"Day\"\r\n },\r\n - \ \"visibility\": \"Public\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Maintenance/maintenanceConfigurations/sqlcli\",\r\n - \ \"name\": \"sqlcli\",\r\n \"type\": \"Microsoft.Maintenance/maintenanceConfigurations\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '829' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 02 Sep 2020 02:29:14 GMT - expires: - - '-1' - pragma: - - no-cache - 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: - - maintenance configuration delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - --resource-group --resource-name --yes - User-Agent: - - AZURECLI/2.11.1 azsdk-python-maintenanceclient/unknown Python/3.7.6 (Linux-4.19.76-linuxkit-x86_64-with-debian-10.3) - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Maintenance/maintenanceConfigurations/sqlcli?api-version=2020-07-01-preview - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Wed, 02 Sep 2020 02:29:16 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - 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: - - vmss delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - -n -g - User-Agent: - - python/3.7.6 (Linux-4.19.76-linuxkit-x86_64-with-debian-10.3) msrest/0.6.18 - msrest_azure/0.6.4 azure-mgmt-compute/13.0.0 Azure-SDK-For-Python AZURECLI/2.11.1 - accept-language: - - en-US - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/virtualMachineScaleSets/clitestvmss?api-version=2020-06-01 - response: - body: - string: '' - headers: - azure-asyncnotification: - - Enabled - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/westus/operations/d9809f49-c6cd-4959-aaa1-8fde960349cd?api-version=2020-06-01 - cache-control: - - no-cache - content-length: - - '0' - date: - - Wed, 02 Sep 2020 02:29:28 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/westus/operations/d9809f49-c6cd-4959-aaa1-8fde960349cd?monitor=true&api-version=2020-06-01 - 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-resource: - - Microsoft.Compute/DeleteVMScaleSet3Min;79,Microsoft.Compute/DeleteVMScaleSet30Min;397,Microsoft.Compute/VMScaleSetBatchedVMRequests5Min;1199,Microsoft.Compute/VmssQueuedVMOperations;4799 - x-ms-ratelimit-remaining-subscription-deletes: - - '14999' - x-ms-request-charge: - - '1' - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - vmss delete - Connection: - - keep-alive - ParameterSetName: - - -n -g - User-Agent: - - python/3.7.6 (Linux-4.19.76-linuxkit-x86_64-with-debian-10.3) msrest/0.6.18 - msrest_azure/0.6.4 azure-mgmt-compute/13.0.0 Azure-SDK-For-Python AZURECLI/2.11.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/westus/operations/d9809f49-c6cd-4959-aaa1-8fde960349cd?api-version=2020-06-01 - response: - body: - string: "{\r\n \"startTime\": \"2020-09-02T02:29:28.1762407+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"d9809f49-c6cd-4959-aaa1-8fde960349cd\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '134' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 02 Sep 2020 02:29:38 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 - x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14997,Microsoft.Compute/GetOperation30Min;29969 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - vmss delete - Connection: - - keep-alive - ParameterSetName: - - -n -g - User-Agent: - - python/3.7.6 (Linux-4.19.76-linuxkit-x86_64-with-debian-10.3) msrest/0.6.18 - msrest_azure/0.6.4 azure-mgmt-compute/13.0.0 Azure-SDK-For-Python AZURECLI/2.11.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/westus/operations/d9809f49-c6cd-4959-aaa1-8fde960349cd?api-version=2020-06-01 - response: - body: - string: "{\r\n \"startTime\": \"2020-09-02T02:29:28.1762407+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"d9809f49-c6cd-4959-aaa1-8fde960349cd\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '134' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 02 Sep 2020 02:29:49 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 - x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14996,Microsoft.Compute/GetOperation30Min;29968 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - vmss delete - Connection: - - keep-alive - ParameterSetName: - - -n -g - User-Agent: - - python/3.7.6 (Linux-4.19.76-linuxkit-x86_64-with-debian-10.3) msrest/0.6.18 - msrest_azure/0.6.4 azure-mgmt-compute/13.0.0 Azure-SDK-For-Python AZURECLI/2.11.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/westus/operations/d9809f49-c6cd-4959-aaa1-8fde960349cd?api-version=2020-06-01 - response: - body: - string: "{\r\n \"startTime\": \"2020-09-02T02:29:28.1762407+00:00\",\r\n \"endTime\": - \"2020-09-02T02:30:04.5825072+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"d9809f49-c6cd-4959-aaa1-8fde960349cd\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '184' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 02 Sep 2020 02:30:19 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 - x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;14994,Microsoft.Compute/GetOperation30Min;29971 - status: - code: 200 - message: OK -version: 1 diff --git a/src/maintenance/azext_maintenance/tests/latest/recordings/test_maintenance_Scenario.yaml b/src/maintenance/azext_maintenance/tests/latest/recordings/test_maintenance_Scenario.yaml new file mode 100644 index 00000000000..5d1dc962662 --- /dev/null +++ b/src/maintenance/azext_maintenance/tests/latest/recordings/test_maintenance_Scenario.yaml @@ -0,0 +1,3863 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vmss create + Connection: + - keep-alive + ParameterSetName: + - -n -g --instance-count --image --data-disk-sizes-gb --admin-password --upgrade-policy-mode + User-Agent: + - python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + msrest/0.6.21 msrest_azure/0.6.4 azure-mgmt-resource/12.1.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2020-10-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-05-13T15:35:33Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '428' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:35: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - python-requests/2.23.0 + method: GET + uri: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/arm-compute/quickstart-templates/aliases.json + response: + body: + string: "{\n \"$schema\": \"http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json\",\n + \ \"contentVersion\": \"1.0.0.0\",\n \"parameters\": {},\n \"variables\": + {},\n \"resources\": [],\n \"outputs\": {\n \"aliases\": {\n \"type\": + \"object\",\n \"value\": {\n \"Linux\": {\n \"CentOS\": + {\n \"publisher\": \"OpenLogic\",\n \"offer\": \"CentOS\",\n + \ \"sku\": \"7.5\",\n \"version\": \"latest\"\n },\n + \ \"CoreOS\": {\n \"publisher\": \"CoreOS\",\n \"offer\": + \"CoreOS\",\n \"sku\": \"Stable\",\n \"version\": \"latest\"\n + \ },\n \"Debian\": {\n \"publisher\": \"Debian\",\n + \ \"offer\": \"debian-10\",\n \"sku\": \"10\",\n \"version\": + \"latest\"\n },\n \"openSUSE-Leap\": {\n \"publisher\": + \"SUSE\",\n \"offer\": \"openSUSE-Leap\",\n \"sku\": + \"42.3\",\n \"version\": \"latest\"\n },\n \"RHEL\": + {\n \"publisher\": \"RedHat\",\n \"offer\": \"RHEL\",\n + \ \"sku\": \"7-LVM\",\n \"version\": \"latest\"\n },\n + \ \"SLES\": {\n \"publisher\": \"SUSE\",\n \"offer\": + \"SLES\",\n \"sku\": \"15\",\n \"version\": \"latest\"\n + \ },\n \"UbuntuLTS\": {\n \"publisher\": \"Canonical\",\n + \ \"offer\": \"UbuntuServer\",\n \"sku\": \"18.04-LTS\",\n + \ \"version\": \"latest\"\n }\n },\n \"Windows\": + {\n \"Win2019Datacenter\": {\n \"publisher\": \"MicrosoftWindowsServer\",\n + \ \"offer\": \"WindowsServer\",\n \"sku\": \"2019-Datacenter\",\n + \ \"version\": \"latest\"\n },\n \"Win2016Datacenter\": + {\n \"publisher\": \"MicrosoftWindowsServer\",\n \"offer\": + \"WindowsServer\",\n \"sku\": \"2016-Datacenter\",\n \"version\": + \"latest\"\n },\n \"Win2012R2Datacenter\": {\n \"publisher\": + \"MicrosoftWindowsServer\",\n \"offer\": \"WindowsServer\",\n \"sku\": + \"2012-R2-Datacenter\",\n \"version\": \"latest\"\n },\n + \ \"Win2012Datacenter\": {\n \"publisher\": \"MicrosoftWindowsServer\",\n + \ \"offer\": \"WindowsServer\",\n \"sku\": \"2012-Datacenter\",\n + \ \"version\": \"latest\"\n },\n \"Win2008R2SP1\": + {\n \"publisher\": \"MicrosoftWindowsServer\",\n \"offer\": + \"WindowsServer\",\n \"sku\": \"2008-R2-SP1\",\n \"version\": + \"latest\"\n }\n }\n }\n }\n }\n}\n" + headers: + accept-ranges: + - bytes + access-control-allow-origin: + - '*' + cache-control: + - max-age=300 + connection: + - keep-alive + content-length: + - '2501' + content-security-policy: + - default-src 'none'; style-src 'unsafe-inline'; sandbox + content-type: + - text/plain; charset=utf-8 + date: + - Thu, 13 May 2021 15:35:41 GMT + etag: + - W/"540044b4084c3c314537f1baa1770f248628b2bc9ba0328f1004c33862e049da" + expires: + - Thu, 13 May 2021 15:40:41 GMT + source-age: + - '215' + strict-transport-security: + - max-age=31536000 + vary: + - Authorization,Accept-Encoding + via: + - 1.1 varnish + x-cache: + - HIT + x-cache-hits: + - '1' + x-content-type-options: + - nosniff + x-fastly-request-id: + - 86b1d21964c0f914a537a353886ddcfdc0b1a42c + x-frame-options: + - deny + x-github-request-id: + - FA46:21E7:A4718:20F8B2:609CBED4 + x-served-by: + - cache-qpg1275-QPG + x-timer: + - S1620920141.089952,VS0,VE0 + x-xss-protection: + - 1; mode=block + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json, text/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vmss create + Connection: + - keep-alive + ParameterSetName: + - -n -g --instance-count --image --data-disk-sizes-gb --admin-password --upgrade-policy-mode + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks?api-version=2018-01-01 + response: + body: + string: '{"value":[]}' + headers: + cache-control: + - no-cache + content-length: + - '12' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:35:42 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: '{"properties": {"template": {"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", "parameters": {"adminPassword": {"type": "securestring", + "metadata": {"description": "Secure adminPassword"}}}, "variables": {}, "resources": + [{"name": "clitestvmssVNET", "type": "Microsoft.Network/virtualNetworks", "location": + "westus", "apiVersion": "2015-06-15", "dependsOn": [], "tags": {}, "properties": + {"addressSpace": {"addressPrefixes": ["10.0.0.0/16"]}, "subnets": [{"name": + "clitestvmssSubnet", "properties": {"addressPrefix": "10.0.0.0/24"}}]}}, {"apiVersion": + "2018-01-01", "type": "Microsoft.Network/publicIPAddresses", "name": "clitestvmssLBPublicIP", + "location": "westus", "tags": {}, "dependsOn": [], "properties": {"publicIPAllocationMethod": + "Dynamic"}}, {"type": "Microsoft.Network/loadBalancers", "name": "clitestvmssLB", + "location": "westus", "tags": {}, "apiVersion": "2018-01-01", "dependsOn": ["Microsoft.Network/virtualNetworks/clitestvmssVNET", + "Microsoft.Network/publicIpAddresses/clitestvmssLBPublicIP"], "properties": + {"backendAddressPools": [{"name": "clitestvmssLBBEPool"}], "inboundNatPools": + [{"name": "clitestvmssLBNatPool", "properties": {"frontendIPConfiguration": + {"id": "[concat(resourceId(''Microsoft.Network/loadBalancers'', ''clitestvmssLB''), + ''/frontendIPConfigurations/'', ''loadBalancerFrontEnd'')]"}, "protocol": "tcp", + "frontendPortRangeStart": "50000", "frontendPortRangeEnd": "50119", "backendPort": + 3389}}], "frontendIPConfigurations": [{"name": "loadBalancerFrontEnd", "properties": + {"publicIPAddress": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/clitestvmssLBPublicIP"}}}]}}, + {"type": "Microsoft.Compute/virtualMachineScaleSets", "name": "clitestvmss", + "location": "westus", "tags": {}, "apiVersion": "2020-12-01", "dependsOn": ["Microsoft.Network/virtualNetworks/clitestvmssVNET", + "Microsoft.Network/loadBalancers/clitestvmssLB"], "sku": {"name": "Standard_DS1_v2", + "capacity": 1}, "properties": {"overprovision": true, "upgradePolicy": {"mode": + "Automatic", "rollingUpgradePolicy": {"maxBatchInstancePercent": null, "maxUnhealthyInstancePercent": + null, "maxUnhealthyUpgradedInstancePercent": null, "pauseTimeBetweenBatches": + null, "enableCrossZoneUpgrade": null, "prioritizeUnhealthyInstances": null}}, + "virtualMachineProfile": {"storageProfile": {"osDisk": {"createOption": "FromImage", + "caching": "ReadWrite", "managedDisk": {"storageAccountType": null}}, "imageReference": + {"publisher": "MicrosoftWindowsServer", "offer": "WindowsServer", "sku": "2016-Datacenter", + "version": "latest"}, "dataDisks": [{"lun": 0, "managedDisk": {"storageAccountType": + null}, "createOption": "empty", "diskSizeGB": 2}]}, "networkProfile": {"networkInterfaceConfigurations": + [{"name": "clite1792Nic", "properties": {"primary": "true", "ipConfigurations": + [{"name": "clite1792IPConfig", "properties": {"subnet": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/clitestvmssVNET/subnets/clitestvmssSubnet"}, + "loadBalancerBackendAddressPools": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/loadBalancers/clitestvmssLB/backendAddressPools/clitestvmssLBBEPool"}], + "loadBalancerInboundNatPools": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/loadBalancers/clitestvmssLB/inboundNatPools/clitestvmssLBNatPool"}]}}]}}]}, + "osProfile": {"computerNamePrefix": "clite1792", "adminUsername": "azureuser", + "adminPassword": "[parameters(''adminPassword'')]"}}, "singlePlacementGroup": + null}}], "outputs": {"VMSS": {"type": "object", "value": "[reference(resourceId(''Microsoft.Compute/virtualMachineScaleSets'', + ''clitestvmss''),providers(''Microsoft.Compute'', ''virtualMachineScaleSets'').apiVersions[0])]"}}}, + "parameters": {"adminPassword": {"value": "PasswordCLIMaintenanceRP8!"}}, "mode": + "Incremental"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vmss create + Connection: + - keep-alive + Content-Length: + - '4332' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -n -g --instance-count --image --data-disk-sizes-gb --admin-password --upgrade-policy-mode + User-Agent: + - python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + msrest/0.6.21 msrest_azure/0.6.4 azure-mgmt-resource/12.1.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment?api-version=2020-10-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Resources/deployments/vmss_deploy_sPwcW84BEzNmKdZ3NL8UxWSy2ri90kHS","name":"vmss_deploy_sPwcW84BEzNmKdZ3NL8UxWSy2ri90kHS","type":"Microsoft.Resources/deployments","properties":{"templateHash":"5281358231619270912","parameters":{"adminPassword":{"type":"SecureString"}},"mode":"Incremental","provisioningState":"Accepted","timestamp":"2021-05-13T15:35:47.4442415Z","duration":"PT2.0263205S","correlationId":"5869ce7d-5cbc-40cd-8240-42c68d06f72c","providers":[{"namespace":"Microsoft.Network","resourceTypes":[{"resourceType":"virtualNetworks","locations":["westus"]},{"resourceType":"publicIPAddresses","locations":["westus"]},{"resourceType":"loadBalancers","locations":["westus"]}]},{"namespace":"Microsoft.Compute","resourceTypes":[{"resourceType":"virtualMachineScaleSets","locations":["westus"]}]}],"dependencies":[{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/clitestvmssVNET","resourceType":"Microsoft.Network/virtualNetworks","resourceName":"clitestvmssVNET"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/clitestvmssLBPublicIP","resourceType":"Microsoft.Network/publicIPAddresses","resourceName":"clitestvmssLBPublicIP"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/loadBalancers/clitestvmssLB","resourceType":"Microsoft.Network/loadBalancers","resourceName":"clitestvmssLB"},{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/clitestvmssVNET","resourceType":"Microsoft.Network/virtualNetworks","resourceName":"clitestvmssVNET"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/loadBalancers/clitestvmssLB","resourceType":"Microsoft.Network/loadBalancers","resourceName":"clitestvmssLB"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/virtualMachineScaleSets/clitestvmss","resourceType":"Microsoft.Compute/virtualMachineScaleSets","resourceName":"clitestvmss"}]}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/vmss_deploy_sPwcW84BEzNmKdZ3NL8UxWSy2ri90kHS/operationStatuses/08585806867400597189?api-version=2020-10-01 + cache-control: + - no-cache + content-length: + - '2803' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:35: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: + - '1197' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vmss create + Connection: + - keep-alive + ParameterSetName: + - -n -g --instance-count --image --data-disk-sizes-gb --admin-password --upgrade-policy-mode + User-Agent: + - python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + msrest/0.6.21 msrest_azure/0.6.4 azure-mgmt-resource/12.1.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585806867400597189?api-version=2020-10-01 + response: + body: + string: '{"status":"Running"}' + headers: + cache-control: + - no-cache + content-length: + - '20' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:36:19 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: + - vmss create + Connection: + - keep-alive + ParameterSetName: + - -n -g --instance-count --image --data-disk-sizes-gb --admin-password --upgrade-policy-mode + User-Agent: + - python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + msrest/0.6.21 msrest_azure/0.6.4 azure-mgmt-resource/12.1.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585806867400597189?api-version=2020-10-01 + response: + body: + string: '{"status":"Running"}' + headers: + cache-control: + - no-cache + content-length: + - '20' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:36:50 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: + - vmss create + Connection: + - keep-alive + ParameterSetName: + - -n -g --instance-count --image --data-disk-sizes-gb --admin-password --upgrade-policy-mode + User-Agent: + - python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + msrest/0.6.21 msrest_azure/0.6.4 azure-mgmt-resource/12.1.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585806867400597189?api-version=2020-10-01 + response: + body: + string: '{"status":"Running"}' + headers: + cache-control: + - no-cache + content-length: + - '20' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:37:21 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: + - vmss create + Connection: + - keep-alive + ParameterSetName: + - -n -g --instance-count --image --data-disk-sizes-gb --admin-password --upgrade-policy-mode + User-Agent: + - python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + msrest/0.6.21 msrest_azure/0.6.4 azure-mgmt-resource/12.1.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585806867400597189?api-version=2020-10-01 + response: + body: + string: '{"status":"Running"}' + headers: + cache-control: + - no-cache + content-length: + - '20' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:37:51 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: + - vmss create + Connection: + - keep-alive + ParameterSetName: + - -n -g --instance-count --image --data-disk-sizes-gb --admin-password --upgrade-policy-mode + User-Agent: + - python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + msrest/0.6.21 msrest_azure/0.6.4 azure-mgmt-resource/12.1.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585806867400597189?api-version=2020-10-01 + response: + body: + string: '{"status":"Running"}' + headers: + cache-control: + - no-cache + content-length: + - '20' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:38:22 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: + - vmss create + Connection: + - keep-alive + ParameterSetName: + - -n -g --instance-count --image --data-disk-sizes-gb --admin-password --upgrade-policy-mode + User-Agent: + - python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + msrest/0.6.21 msrest_azure/0.6.4 azure-mgmt-resource/12.1.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585806867400597189?api-version=2020-10-01 + response: + body: + string: '{"status":"Running"}' + headers: + cache-control: + - no-cache + content-length: + - '20' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:38:52 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: + - vmss create + Connection: + - keep-alive + ParameterSetName: + - -n -g --instance-count --image --data-disk-sizes-gb --admin-password --upgrade-policy-mode + User-Agent: + - python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + msrest/0.6.21 msrest_azure/0.6.4 azure-mgmt-resource/12.1.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585806867400597189?api-version=2020-10-01 + response: + body: + string: '{"status":"Running"}' + headers: + cache-control: + - no-cache + content-length: + - '20' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:39:23 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: + - vmss create + Connection: + - keep-alive + ParameterSetName: + - -n -g --instance-count --image --data-disk-sizes-gb --admin-password --upgrade-policy-mode + User-Agent: + - python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + msrest/0.6.21 msrest_azure/0.6.4 azure-mgmt-resource/12.1.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585806867400597189?api-version=2020-10-01 + response: + body: + string: '{"status":"Running"}' + headers: + cache-control: + - no-cache + content-length: + - '20' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:39:53 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: + - vmss create + Connection: + - keep-alive + ParameterSetName: + - -n -g --instance-count --image --data-disk-sizes-gb --admin-password --upgrade-policy-mode + User-Agent: + - python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + msrest/0.6.21 msrest_azure/0.6.4 azure-mgmt-resource/12.1.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585806867400597189?api-version=2020-10-01 + response: + body: + string: '{"status":"Running"}' + headers: + cache-control: + - no-cache + content-length: + - '20' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:40:24 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: + - vmss create + Connection: + - keep-alive + ParameterSetName: + - -n -g --instance-count --image --data-disk-sizes-gb --admin-password --upgrade-policy-mode + User-Agent: + - python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + msrest/0.6.21 msrest_azure/0.6.4 azure-mgmt-resource/12.1.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585806867400597189?api-version=2020-10-01 + response: + body: + string: '{"status":"Running"}' + headers: + cache-control: + - no-cache + content-length: + - '20' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:40: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: + - vmss create + Connection: + - keep-alive + ParameterSetName: + - -n -g --instance-count --image --data-disk-sizes-gb --admin-password --upgrade-policy-mode + User-Agent: + - python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + msrest/0.6.21 msrest_azure/0.6.4 azure-mgmt-resource/12.1.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585806867400597189?api-version=2020-10-01 + response: + body: + string: '{"status":"Running"}' + headers: + cache-control: + - no-cache + content-length: + - '20' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:41:25 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: + - vmss create + Connection: + - keep-alive + ParameterSetName: + - -n -g --instance-count --image --data-disk-sizes-gb --admin-password --upgrade-policy-mode + User-Agent: + - python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + msrest/0.6.21 msrest_azure/0.6.4 azure-mgmt-resource/12.1.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585806867400597189?api-version=2020-10-01 + response: + body: + string: '{"status":"Running"}' + headers: + cache-control: + - no-cache + content-length: + - '20' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:41:56 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: + - vmss create + Connection: + - keep-alive + ParameterSetName: + - -n -g --instance-count --image --data-disk-sizes-gb --admin-password --upgrade-policy-mode + User-Agent: + - python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + msrest/0.6.21 msrest_azure/0.6.4 azure-mgmt-resource/12.1.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585806867400597189?api-version=2020-10-01 + response: + body: + string: '{"status":"Running"}' + headers: + cache-control: + - no-cache + content-length: + - '20' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:42:27 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: + - vmss create + Connection: + - keep-alive + ParameterSetName: + - -n -g --instance-count --image --data-disk-sizes-gb --admin-password --upgrade-policy-mode + User-Agent: + - python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + msrest/0.6.21 msrest_azure/0.6.4 azure-mgmt-resource/12.1.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585806867400597189?api-version=2020-10-01 + response: + body: + string: '{"status":"Running"}' + headers: + cache-control: + - no-cache + content-length: + - '20' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:42:57 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: + - vmss create + Connection: + - keep-alive + ParameterSetName: + - -n -g --instance-count --image --data-disk-sizes-gb --admin-password --upgrade-policy-mode + User-Agent: + - python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + msrest/0.6.21 msrest_azure/0.6.4 azure-mgmt-resource/12.1.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585806867400597189?api-version=2020-10-01 + response: + body: + string: '{"status":"Running"}' + headers: + cache-control: + - no-cache + content-length: + - '20' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:43: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: + - vmss create + Connection: + - keep-alive + ParameterSetName: + - -n -g --instance-count --image --data-disk-sizes-gb --admin-password --upgrade-policy-mode + User-Agent: + - python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + msrest/0.6.21 msrest_azure/0.6.4 azure-mgmt-resource/12.1.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585806867400597189?api-version=2020-10-01 + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-cache + content-length: + - '22' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:43:58 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: + - vmss create + Connection: + - keep-alive + ParameterSetName: + - -n -g --instance-count --image --data-disk-sizes-gb --admin-password --upgrade-policy-mode + User-Agent: + - python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + msrest/0.6.21 msrest_azure/0.6.4 azure-mgmt-resource/12.1.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Resources/deployments/mock-deployment?api-version=2020-10-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Resources/deployments/vmss_deploy_sPwcW84BEzNmKdZ3NL8UxWSy2ri90kHS","name":"vmss_deploy_sPwcW84BEzNmKdZ3NL8UxWSy2ri90kHS","type":"Microsoft.Resources/deployments","properties":{"templateHash":"5281358231619270912","parameters":{"adminPassword":{"type":"SecureString"}},"mode":"Incremental","provisioningState":"Succeeded","timestamp":"2021-05-13T15:43:41.2166237Z","duration":"PT7M55.7987027S","correlationId":"5869ce7d-5cbc-40cd-8240-42c68d06f72c","providers":[{"namespace":"Microsoft.Network","resourceTypes":[{"resourceType":"virtualNetworks","locations":["westus"]},{"resourceType":"publicIPAddresses","locations":["westus"]},{"resourceType":"loadBalancers","locations":["westus"]}]},{"namespace":"Microsoft.Compute","resourceTypes":[{"resourceType":"virtualMachineScaleSets","locations":["westus"]}]}],"dependencies":[{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/clitestvmssVNET","resourceType":"Microsoft.Network/virtualNetworks","resourceName":"clitestvmssVNET"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/clitestvmssLBPublicIP","resourceType":"Microsoft.Network/publicIPAddresses","resourceName":"clitestvmssLBPublicIP"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/loadBalancers/clitestvmssLB","resourceType":"Microsoft.Network/loadBalancers","resourceName":"clitestvmssLB"},{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/clitestvmssVNET","resourceType":"Microsoft.Network/virtualNetworks","resourceName":"clitestvmssVNET"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/loadBalancers/clitestvmssLB","resourceType":"Microsoft.Network/loadBalancers","resourceName":"clitestvmssLB"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/virtualMachineScaleSets/clitestvmss","resourceType":"Microsoft.Compute/virtualMachineScaleSets","resourceName":"clitestvmss"}],"outputs":{"vmss":{"type":"Object","value":{"singlePlacementGroup":true,"upgradePolicy":{"mode":"Automatic","rollingUpgradePolicy":{"maxBatchInstancePercent":20,"maxUnhealthyInstancePercent":20,"maxUnhealthyUpgradedInstancePercent":20,"pauseTimeBetweenBatches":"PT0S"}},"virtualMachineProfile":{"osProfile":{"computerNamePrefix":"clite1792","adminUsername":"azureuser","windowsConfiguration":{"provisionVMAgent":true,"enableAutomaticUpdates":true},"secrets":[],"allowExtensionOperations":true,"requireGuestProvisionSignal":true},"storageProfile":{"osDisk":{"osType":"Windows","createOption":"FromImage","caching":"ReadWrite","managedDisk":{"storageAccountType":"Premium_LRS"},"diskSizeGB":127},"imageReference":{"publisher":"MicrosoftWindowsServer","offer":"WindowsServer","sku":"2016-Datacenter","version":"latest"},"dataDisks":[{"lun":0,"createOption":"Empty","caching":"None","managedDisk":{"storageAccountType":"Premium_LRS"},"diskSizeGB":2}]},"networkProfile":{"networkInterfaceConfigurations":[{"name":"clite1792Nic","properties":{"primary":true,"enableAcceleratedNetworking":false,"dnsSettings":{"dnsServers":[]},"enableIPForwarding":false,"ipConfigurations":[{"name":"clite1792IPConfig","properties":{"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/clitestvmssVNET/subnets/clitestvmssSubnet"},"privateIPAddressVersion":"IPv4","loadBalancerBackendAddressPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/loadBalancers/clitestvmssLB/backendAddressPools/clitestvmssLBBEPool"}],"loadBalancerInboundNatPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/loadBalancers/clitestvmssLB/inboundNatPools/clitestvmssLBNatPool"}]}}]}}]},"extensionProfile":{"extensions":[{"name":"Microsoft.Azure.Security.AntimalwareSignature.AntimalwareConfiguration","properties":{"autoUpgradeMinorVersion":true,"enableAutomaticUpgrade":true,"publisher":"Microsoft.Azure.Security.AntimalwareSignature","type":"AntimalwareConfiguration","typeHandlerVersion":"2.0","settings":{}}},{"name":"Microsoft.Azure.Geneva.GenevaMonitoring","properties":{"autoUpgradeMinorVersion":true,"enableAutomaticUpgrade":true,"publisher":"Microsoft.Azure.Geneva","type":"GenevaMonitoring","typeHandlerVersion":"2.0","settings":{}}}]}},"provisioningState":"Succeeded","overprovision":true,"doNotRunExtensionsOnOverprovisionedVMs":false,"uniqueId":"d47a392f-29ab-4735-ab55-ae93559fbebc"}}},"outputResources":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/virtualMachineScaleSets/clitestvmss"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/loadBalancers/clitestvmssLB"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/publicIPAddresses/clitestvmssLBPublicIP"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/clitestvmssVNET"}]}}' + headers: + cache-control: + - no-cache + content-length: + - '6454' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:43:59 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: + - vmss update + Connection: + - keep-alive + ParameterSetName: + - --name -g --set + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-compute/20.0.0 Python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/virtualMachineScaleSets/clitestvmss?api-version=2020-12-01 + response: + body: + string: "{\r\n \"name\": \"clitestvmss\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/virtualMachineScaleSets/clitestvmss\",\r\n + \ \"type\": \"Microsoft.Compute/virtualMachineScaleSets\",\r\n \"location\": + \"westus\",\r\n \"tags\": {\r\n \"azsecpack\": \"nonprod\",\r\n \"platformsettings.host_environment.service.platform_optedin_for_rootcerts\": + \"true\"\r\n },\r\n \"sku\": {\r\n \"name\": \"Standard_DS1_v2\",\r\n + \ \"tier\": \"Standard\",\r\n \"capacity\": 1\r\n },\r\n \"properties\": + {\r\n \"singlePlacementGroup\": true,\r\n \"upgradePolicy\": {\r\n \"mode\": + \"Automatic\",\r\n \"rollingUpgradePolicy\": {\r\n \"maxBatchInstancePercent\": + 20,\r\n \"maxUnhealthyInstancePercent\": 20,\r\n \"maxUnhealthyUpgradedInstancePercent\": + 20,\r\n \"pauseTimeBetweenBatches\": \"PT0S\"\r\n }\r\n },\r\n + \ \"virtualMachineProfile\": {\r\n \"osProfile\": {\r\n \"computerNamePrefix\": + \"clite1792\",\r\n \"adminUsername\": \"azureuser\",\r\n \"windowsConfiguration\": + {\r\n \"provisionVMAgent\": true,\r\n \"enableAutomaticUpdates\": + true\r\n },\r\n \"secrets\": [],\r\n \"allowExtensionOperations\": + true,\r\n \"requireGuestProvisionSignal\": true\r\n },\r\n \"storageProfile\": + {\r\n \"osDisk\": {\r\n \"osType\": \"Windows\",\r\n \"createOption\": + \"FromImage\",\r\n \"caching\": \"ReadWrite\",\r\n \"managedDisk\": + {\r\n \"storageAccountType\": \"Premium_LRS\"\r\n },\r\n + \ \"diskSizeGB\": 127\r\n },\r\n \"imageReference\": + {\r\n \"publisher\": \"MicrosoftWindowsServer\",\r\n \"offer\": + \"WindowsServer\",\r\n \"sku\": \"2016-Datacenter\",\r\n \"version\": + \"latest\"\r\n },\r\n \"dataDisks\": [\r\n {\r\n \"lun\": + 0,\r\n \"createOption\": \"Empty\",\r\n \"caching\": + \"None\",\r\n \"managedDisk\": {\r\n \"storageAccountType\": + \"Premium_LRS\"\r\n },\r\n \"diskSizeGB\": 2\r\n }\r\n + \ ]\r\n },\r\n \"networkProfile\": {\"networkInterfaceConfigurations\":[{\"name\":\"clite1792Nic\",\"properties\":{\"primary\":true,\"enableAcceleratedNetworking\":false,\"dnsSettings\":{\"dnsServers\":[]},\"enableIPForwarding\":false,\"ipConfigurations\":[{\"name\":\"clite1792IPConfig\",\"properties\":{\"subnet\":{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/clitestvmssVNET/subnets/clitestvmssSubnet\"},\"privateIPAddressVersion\":\"IPv4\",\"loadBalancerBackendAddressPools\":[{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/loadBalancers/clitestvmssLB/backendAddressPools/clitestvmssLBBEPool\"}],\"loadBalancerInboundNatPools\":[{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/loadBalancers/clitestvmssLB/inboundNatPools/clitestvmssLBNatPool\"}]}}]}}]},\r\n + \ \"extensionProfile\": {\r\n \"extensions\": [\r\n {\r\n + \ \"name\": \"Microsoft.Azure.Security.AntimalwareSignature.AntimalwareConfiguration\",\r\n + \ \"properties\": {\r\n \"autoUpgradeMinorVersion\": + true,\r\n \"enableAutomaticUpgrade\": true,\r\n \"publisher\": + \"Microsoft.Azure.Security.AntimalwareSignature\",\r\n \"type\": + \"AntimalwareConfiguration\",\r\n \"typeHandlerVersion\": \"2.0\",\r\n + \ \"settings\": {}\r\n }\r\n },\r\n {\r\n + \ \"name\": \"Microsoft.Azure.Geneva.GenevaMonitoring\",\r\n \"properties\": + {\r\n \"autoUpgradeMinorVersion\": true,\r\n \"enableAutomaticUpgrade\": + true,\r\n \"publisher\": \"Microsoft.Azure.Geneva\",\r\n \"type\": + \"GenevaMonitoring\",\r\n \"typeHandlerVersion\": \"2.0\",\r\n + \ \"settings\": {}\r\n }\r\n }\r\n ]\r\n + \ }\r\n },\r\n \"provisioningState\": \"Succeeded\",\r\n \"overprovision\": + true,\r\n \"doNotRunExtensionsOnOverprovisionedVMs\": false,\r\n \"uniqueId\": + \"d47a392f-29ab-4735-ab55-ae93559fbebc\"\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '4298' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:44:03 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 + x-ms-ratelimit-remaining-resource: + - Microsoft.Compute/GetVMScaleSet3Min;394,Microsoft.Compute/GetVMScaleSet30Min;2585 + status: + code: 200 + message: OK +- request: + body: '{"location": "westus", "tags": {"azsecpack": "nonprod", "platformsettings.host_environment.service.platform_optedin_for_rootcerts": + "true"}, "sku": {"name": "Standard_DS1_v2", "tier": "Standard", "capacity": + 1}, "properties": {"upgradePolicy": {"mode": "Automatic", "rollingUpgradePolicy": + {"maxBatchInstancePercent": 20, "maxUnhealthyInstancePercent": 20, "maxUnhealthyUpgradedInstancePercent": + 20, "pauseTimeBetweenBatches": "PT0S"}}, "virtualMachineProfile": {"osProfile": + {"computerNamePrefix": "clite1792", "adminUsername": "azureuser", "windowsConfiguration": + {"provisionVMAgent": true, "enableAutomaticUpdates": false}, "secrets": []}, + "storageProfile": {"osDisk": {"caching": "ReadWrite", "createOption": "FromImage", + "diskSizeGB": 127, "osType": "Windows", "managedDisk": {"storageAccountType": + "Premium_LRS"}}, "dataDisks": [{"lun": 0, "caching": "None", "createOption": + "Empty", "diskSizeGB": 2, "managedDisk": {"storageAccountType": "Premium_LRS"}}]}, + "networkProfile": {"networkInterfaceConfigurations": [{"name": "clite1792Nic", + "properties": {"primary": true, "enableAcceleratedNetworking": false, "dnsSettings": + {"dnsServers": []}, "ipConfigurations": [{"name": "clite1792IPConfig", "properties": + {"subnet": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/clitestvmssVNET/subnets/clitestvmssSubnet"}, + "privateIPAddressVersion": "IPv4", "loadBalancerBackendAddressPools": [{"id": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/loadBalancers/clitestvmssLB/backendAddressPools/clitestvmssLBBEPool"}], + "loadBalancerInboundNatPools": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/loadBalancers/clitestvmssLB/inboundNatPools/clitestvmssLBNatPool"}]}}], + "enableIPForwarding": false}}]}, "extensionProfile": {"extensions": [{"name": + "Microsoft.Azure.Security.AntimalwareSignature.AntimalwareConfiguration", "properties": + {"publisher": "Microsoft.Azure.Security.AntimalwareSignature", "type": "AntimalwareConfiguration", + "typeHandlerVersion": "2.0", "autoUpgradeMinorVersion": true, "enableAutomaticUpgrade": + true, "settings": {}}}, {"name": "Microsoft.Azure.Geneva.GenevaMonitoring", + "properties": {"publisher": "Microsoft.Azure.Geneva", "type": "GenevaMonitoring", + "typeHandlerVersion": "2.0", "autoUpgradeMinorVersion": true, "enableAutomaticUpgrade": + true, "settings": {}}}]}}, "overprovision": true, "doNotRunExtensionsOnOverprovisionedVMs": + false, "singlePlacementGroup": true}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vmss update + Connection: + - keep-alive + Content-Length: + - '2797' + Content-Type: + - application/json + ParameterSetName: + - --name -g --set + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-compute/20.0.0 Python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/virtualMachineScaleSets/clitestvmss?api-version=2020-12-01 + response: + body: + string: "{\r\n \"name\": \"clitestvmss\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/virtualMachineScaleSets/clitestvmss\",\r\n + \ \"type\": \"Microsoft.Compute/virtualMachineScaleSets\",\r\n \"location\": + \"westus\",\r\n \"tags\": {\r\n \"azsecpack\": \"nonprod\",\r\n \"platformsettings.host_environment.service.platform_optedin_for_rootcerts\": + \"true\"\r\n },\r\n \"sku\": {\r\n \"name\": \"Standard_DS1_v2\",\r\n + \ \"tier\": \"Standard\",\r\n \"capacity\": 1\r\n },\r\n \"properties\": + {\r\n \"singlePlacementGroup\": true,\r\n \"upgradePolicy\": {\r\n \"mode\": + \"Automatic\",\r\n \"rollingUpgradePolicy\": {\r\n \"maxBatchInstancePercent\": + 20,\r\n \"maxUnhealthyInstancePercent\": 20,\r\n \"maxUnhealthyUpgradedInstancePercent\": + 20,\r\n \"pauseTimeBetweenBatches\": \"PT0S\"\r\n }\r\n },\r\n + \ \"virtualMachineProfile\": {\r\n \"osProfile\": {\r\n \"computerNamePrefix\": + \"clite1792\",\r\n \"adminUsername\": \"azureuser\",\r\n \"windowsConfiguration\": + {\r\n \"provisionVMAgent\": true,\r\n \"enableAutomaticUpdates\": + false\r\n },\r\n \"secrets\": [],\r\n \"allowExtensionOperations\": + true,\r\n \"requireGuestProvisionSignal\": true\r\n },\r\n \"storageProfile\": + {\r\n \"osDisk\": {\r\n \"osType\": \"Windows\",\r\n \"createOption\": + \"FromImage\",\r\n \"caching\": \"ReadWrite\",\r\n \"managedDisk\": + {\r\n \"storageAccountType\": \"Premium_LRS\"\r\n },\r\n + \ \"diskSizeGB\": 127\r\n },\r\n \"imageReference\": + {\r\n \"publisher\": \"MicrosoftWindowsServer\",\r\n \"offer\": + \"WindowsServer\",\r\n \"sku\": \"2016-Datacenter\",\r\n \"version\": + \"latest\"\r\n },\r\n \"dataDisks\": [\r\n {\r\n \"lun\": + 0,\r\n \"createOption\": \"Empty\",\r\n \"caching\": + \"None\",\r\n \"managedDisk\": {\r\n \"storageAccountType\": + \"Premium_LRS\"\r\n },\r\n \"diskSizeGB\": 2\r\n }\r\n + \ ]\r\n },\r\n \"networkProfile\": {\"networkInterfaceConfigurations\":[{\"name\":\"clite1792Nic\",\"properties\":{\"primary\":true,\"enableAcceleratedNetworking\":false,\"dnsSettings\":{\"dnsServers\":[]},\"enableIPForwarding\":false,\"ipConfigurations\":[{\"name\":\"clite1792IPConfig\",\"properties\":{\"subnet\":{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/clitestvmssVNET/subnets/clitestvmssSubnet\"},\"privateIPAddressVersion\":\"IPv4\",\"loadBalancerBackendAddressPools\":[{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/loadBalancers/clitestvmssLB/backendAddressPools/clitestvmssLBBEPool\"}],\"loadBalancerInboundNatPools\":[{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/loadBalancers/clitestvmssLB/inboundNatPools/clitestvmssLBNatPool\"}]}}]}}]},\r\n + \ \"extensionProfile\": {\r\n \"extensions\": [\r\n {\r\n + \ \"name\": \"Microsoft.Azure.Security.AntimalwareSignature.AntimalwareConfiguration\",\r\n + \ \"properties\": {\r\n \"autoUpgradeMinorVersion\": + true,\r\n \"enableAutomaticUpgrade\": true,\r\n \"publisher\": + \"Microsoft.Azure.Security.AntimalwareSignature\",\r\n \"type\": + \"AntimalwareConfiguration\",\r\n \"typeHandlerVersion\": \"2.0\",\r\n + \ \"settings\": {}\r\n }\r\n },\r\n {\r\n + \ \"name\": \"Microsoft.Azure.Geneva.GenevaMonitoring\",\r\n \"properties\": + {\r\n \"autoUpgradeMinorVersion\": true,\r\n \"enableAutomaticUpgrade\": + true,\r\n \"publisher\": \"Microsoft.Azure.Geneva\",\r\n \"type\": + \"GenevaMonitoring\",\r\n \"typeHandlerVersion\": \"2.0\",\r\n + \ \"settings\": {}\r\n }\r\n }\r\n ]\r\n + \ }\r\n },\r\n \"provisioningState\": \"Updating\",\r\n \"overprovision\": + true,\r\n \"doNotRunExtensionsOnOverprovisionedVMs\": false,\r\n \"uniqueId\": + \"d47a392f-29ab-4735-ab55-ae93559fbebc\"\r\n }\r\n}" + headers: + azure-asyncnotification: + - Enabled + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/westus/operations/86a0c3f2-7705-432c-a65f-6c32bceaaaa9?api-version=2020-12-01 + cache-control: + - no-cache + content-length: + - '4298' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:44:06 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 + x-ms-ratelimit-remaining-resource: + - Microsoft.Compute/CreateVMScaleSet3Min;59,Microsoft.Compute/CreateVMScaleSet30Min;298,Microsoft.Compute/VMScaleSetBatchedVMRequests5Min;1199,Microsoft.Compute/VmssQueuedVMOperations;0 + x-ms-ratelimit-remaining-subscription-writes: + - '1196' + x-ms-request-charge: + - '1' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - vmss update + Connection: + - keep-alive + ParameterSetName: + - --name -g --set + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-compute/20.0.0 Python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/westus/operations/86a0c3f2-7705-432c-a65f-6c32bceaaaa9?api-version=2020-12-01 + response: + body: + string: "{\r\n \"startTime\": \"2021-05-13T15:44:05.70978+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"86a0c3f2-7705-432c-a65f-6c32bceaaaa9\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '132' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:44:17 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 + x-ms-ratelimit-remaining-resource: + - Microsoft.Compute/GetOperation3Min;14995,Microsoft.Compute/GetOperation30Min;29991 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - vmss update + Connection: + - keep-alive + ParameterSetName: + - --name -g --set + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-compute/20.0.0 Python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/westus/operations/86a0c3f2-7705-432c-a65f-6c32bceaaaa9?api-version=2020-12-01 + response: + body: + string: "{\r\n \"startTime\": \"2021-05-13T15:44:05.70978+00:00\",\r\n \"endTime\": + \"2021-05-13T15:44:30.9286678+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"86a0c3f2-7705-432c-a65f-6c32bceaaaa9\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '182' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:45:08 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 + x-ms-ratelimit-remaining-resource: + - Microsoft.Compute/GetOperation3Min;14995,Microsoft.Compute/GetOperation30Min;29989 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - vmss update + Connection: + - keep-alive + ParameterSetName: + - --name -g --set + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-compute/20.0.0 Python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/virtualMachineScaleSets/clitestvmss?api-version=2020-12-01 + response: + body: + string: "{\r\n \"name\": \"clitestvmss\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/virtualMachineScaleSets/clitestvmss\",\r\n + \ \"type\": \"Microsoft.Compute/virtualMachineScaleSets\",\r\n \"location\": + \"westus\",\r\n \"tags\": {\r\n \"azsecpack\": \"nonprod\",\r\n \"platformsettings.host_environment.service.platform_optedin_for_rootcerts\": + \"true\"\r\n },\r\n \"sku\": {\r\n \"name\": \"Standard_DS1_v2\",\r\n + \ \"tier\": \"Standard\",\r\n \"capacity\": 1\r\n },\r\n \"properties\": + {\r\n \"singlePlacementGroup\": true,\r\n \"upgradePolicy\": {\r\n \"mode\": + \"Automatic\",\r\n \"rollingUpgradePolicy\": {\r\n \"maxBatchInstancePercent\": + 20,\r\n \"maxUnhealthyInstancePercent\": 20,\r\n \"maxUnhealthyUpgradedInstancePercent\": + 20,\r\n \"pauseTimeBetweenBatches\": \"PT0S\"\r\n }\r\n },\r\n + \ \"virtualMachineProfile\": {\r\n \"osProfile\": {\r\n \"computerNamePrefix\": + \"clite1792\",\r\n \"adminUsername\": \"azureuser\",\r\n \"windowsConfiguration\": + {\r\n \"provisionVMAgent\": true,\r\n \"enableAutomaticUpdates\": + false\r\n },\r\n \"secrets\": [],\r\n \"allowExtensionOperations\": + true,\r\n \"requireGuestProvisionSignal\": true\r\n },\r\n \"storageProfile\": + {\r\n \"osDisk\": {\r\n \"osType\": \"Windows\",\r\n \"createOption\": + \"FromImage\",\r\n \"caching\": \"ReadWrite\",\r\n \"managedDisk\": + {\r\n \"storageAccountType\": \"Premium_LRS\"\r\n },\r\n + \ \"diskSizeGB\": 127\r\n },\r\n \"imageReference\": + {\r\n \"publisher\": \"MicrosoftWindowsServer\",\r\n \"offer\": + \"WindowsServer\",\r\n \"sku\": \"2016-Datacenter\",\r\n \"version\": + \"latest\"\r\n },\r\n \"dataDisks\": [\r\n {\r\n \"lun\": + 0,\r\n \"createOption\": \"Empty\",\r\n \"caching\": + \"None\",\r\n \"managedDisk\": {\r\n \"storageAccountType\": + \"Premium_LRS\"\r\n },\r\n \"diskSizeGB\": 2\r\n }\r\n + \ ]\r\n },\r\n \"networkProfile\": {\"networkInterfaceConfigurations\":[{\"name\":\"clite1792Nic\",\"properties\":{\"primary\":true,\"enableAcceleratedNetworking\":false,\"dnsSettings\":{\"dnsServers\":[]},\"enableIPForwarding\":false,\"ipConfigurations\":[{\"name\":\"clite1792IPConfig\",\"properties\":{\"subnet\":{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/clitestvmssVNET/subnets/clitestvmssSubnet\"},\"privateIPAddressVersion\":\"IPv4\",\"loadBalancerBackendAddressPools\":[{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/loadBalancers/clitestvmssLB/backendAddressPools/clitestvmssLBBEPool\"}],\"loadBalancerInboundNatPools\":[{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/loadBalancers/clitestvmssLB/inboundNatPools/clitestvmssLBNatPool\"}]}}]}}]},\r\n + \ \"extensionProfile\": {\r\n \"extensions\": [\r\n {\r\n + \ \"name\": \"Microsoft.Azure.Security.AntimalwareSignature.AntimalwareConfiguration\",\r\n + \ \"properties\": {\r\n \"autoUpgradeMinorVersion\": + true,\r\n \"enableAutomaticUpgrade\": true,\r\n \"publisher\": + \"Microsoft.Azure.Security.AntimalwareSignature\",\r\n \"type\": + \"AntimalwareConfiguration\",\r\n \"typeHandlerVersion\": \"2.0\",\r\n + \ \"settings\": {}\r\n }\r\n },\r\n {\r\n + \ \"name\": \"Microsoft.Azure.Geneva.GenevaMonitoring\",\r\n \"properties\": + {\r\n \"autoUpgradeMinorVersion\": true,\r\n \"enableAutomaticUpgrade\": + true,\r\n \"publisher\": \"Microsoft.Azure.Geneva\",\r\n \"type\": + \"GenevaMonitoring\",\r\n \"typeHandlerVersion\": \"2.0\",\r\n + \ \"settings\": {}\r\n }\r\n }\r\n ]\r\n + \ }\r\n },\r\n \"provisioningState\": \"Succeeded\",\r\n \"overprovision\": + true,\r\n \"doNotRunExtensionsOnOverprovisionedVMs\": false,\r\n \"uniqueId\": + \"d47a392f-29ab-4735-ab55-ae93559fbebc\"\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '4299' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:45:09 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 + x-ms-ratelimit-remaining-resource: + - Microsoft.Compute/GetVMScaleSet3Min;388,Microsoft.Compute/GetVMScaleSet30Min;2581 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vmss extension set + Connection: + - keep-alive + ParameterSetName: + - --name --publisher --version --resource-group --vmss-name --settings + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-compute/20.0.0 Python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/virtualMachineScaleSets/clitestvmss?api-version=2020-12-01 + response: + body: + string: "{\r\n \"name\": \"clitestvmss\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/virtualMachineScaleSets/clitestvmss\",\r\n + \ \"type\": \"Microsoft.Compute/virtualMachineScaleSets\",\r\n \"location\": + \"westus\",\r\n \"tags\": {\r\n \"azsecpack\": \"nonprod\",\r\n \"platformsettings.host_environment.service.platform_optedin_for_rootcerts\": + \"true\"\r\n },\r\n \"sku\": {\r\n \"name\": \"Standard_DS1_v2\",\r\n + \ \"tier\": \"Standard\",\r\n \"capacity\": 1\r\n },\r\n \"properties\": + {\r\n \"singlePlacementGroup\": true,\r\n \"upgradePolicy\": {\r\n \"mode\": + \"Automatic\",\r\n \"rollingUpgradePolicy\": {\r\n \"maxBatchInstancePercent\": + 20,\r\n \"maxUnhealthyInstancePercent\": 20,\r\n \"maxUnhealthyUpgradedInstancePercent\": + 20,\r\n \"pauseTimeBetweenBatches\": \"PT0S\"\r\n }\r\n },\r\n + \ \"virtualMachineProfile\": {\r\n \"osProfile\": {\r\n \"computerNamePrefix\": + \"clite1792\",\r\n \"adminUsername\": \"azureuser\",\r\n \"windowsConfiguration\": + {\r\n \"provisionVMAgent\": true,\r\n \"enableAutomaticUpdates\": + false\r\n },\r\n \"secrets\": [],\r\n \"allowExtensionOperations\": + true,\r\n \"requireGuestProvisionSignal\": true\r\n },\r\n \"storageProfile\": + {\r\n \"osDisk\": {\r\n \"osType\": \"Windows\",\r\n \"createOption\": + \"FromImage\",\r\n \"caching\": \"ReadWrite\",\r\n \"managedDisk\": + {\r\n \"storageAccountType\": \"Premium_LRS\"\r\n },\r\n + \ \"diskSizeGB\": 127\r\n },\r\n \"imageReference\": + {\r\n \"publisher\": \"MicrosoftWindowsServer\",\r\n \"offer\": + \"WindowsServer\",\r\n \"sku\": \"2016-Datacenter\",\r\n \"version\": + \"latest\"\r\n },\r\n \"dataDisks\": [\r\n {\r\n \"lun\": + 0,\r\n \"createOption\": \"Empty\",\r\n \"caching\": + \"None\",\r\n \"managedDisk\": {\r\n \"storageAccountType\": + \"Premium_LRS\"\r\n },\r\n \"diskSizeGB\": 2\r\n }\r\n + \ ]\r\n },\r\n \"networkProfile\": {\"networkInterfaceConfigurations\":[{\"name\":\"clite1792Nic\",\"properties\":{\"primary\":true,\"enableAcceleratedNetworking\":false,\"dnsSettings\":{\"dnsServers\":[]},\"enableIPForwarding\":false,\"ipConfigurations\":[{\"name\":\"clite1792IPConfig\",\"properties\":{\"subnet\":{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/clitestvmssVNET/subnets/clitestvmssSubnet\"},\"privateIPAddressVersion\":\"IPv4\",\"loadBalancerBackendAddressPools\":[{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/loadBalancers/clitestvmssLB/backendAddressPools/clitestvmssLBBEPool\"}],\"loadBalancerInboundNatPools\":[{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/loadBalancers/clitestvmssLB/inboundNatPools/clitestvmssLBNatPool\"}]}}]}}]},\r\n + \ \"extensionProfile\": {\r\n \"extensions\": [\r\n {\r\n + \ \"name\": \"Microsoft.Azure.Security.AntimalwareSignature.AntimalwareConfiguration\",\r\n + \ \"properties\": {\r\n \"autoUpgradeMinorVersion\": + true,\r\n \"enableAutomaticUpgrade\": true,\r\n \"publisher\": + \"Microsoft.Azure.Security.AntimalwareSignature\",\r\n \"type\": + \"AntimalwareConfiguration\",\r\n \"typeHandlerVersion\": \"2.0\",\r\n + \ \"settings\": {}\r\n }\r\n },\r\n {\r\n + \ \"name\": \"Microsoft.Azure.Geneva.GenevaMonitoring\",\r\n \"properties\": + {\r\n \"autoUpgradeMinorVersion\": true,\r\n \"enableAutomaticUpgrade\": + true,\r\n \"publisher\": \"Microsoft.Azure.Geneva\",\r\n \"type\": + \"GenevaMonitoring\",\r\n \"typeHandlerVersion\": \"2.0\",\r\n + \ \"settings\": {}\r\n }\r\n }\r\n ]\r\n + \ }\r\n },\r\n \"provisioningState\": \"Succeeded\",\r\n \"overprovision\": + true,\r\n \"doNotRunExtensionsOnOverprovisionedVMs\": false,\r\n \"uniqueId\": + \"d47a392f-29ab-4735-ab55-ae93559fbebc\"\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '4299' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:45:12 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 + x-ms-ratelimit-remaining-resource: + - Microsoft.Compute/GetVMScaleSet3Min;387,Microsoft.Compute/GetVMScaleSet30Min;2580 + status: + code: 200 + message: OK +- request: + body: '{"location": "westus", "tags": {"azsecpack": "nonprod", "platformsettings.host_environment.service.platform_optedin_for_rootcerts": + "true"}, "sku": {"name": "Standard_DS1_v2", "tier": "Standard", "capacity": + 1}, "properties": {"upgradePolicy": {"mode": "Automatic", "rollingUpgradePolicy": + {"maxBatchInstancePercent": 20, "maxUnhealthyInstancePercent": 20, "maxUnhealthyUpgradedInstancePercent": + 20, "pauseTimeBetweenBatches": "PT0S"}}, "virtualMachineProfile": {"osProfile": + {"computerNamePrefix": "clite1792", "adminUsername": "azureuser", "windowsConfiguration": + {"provisionVMAgent": true, "enableAutomaticUpdates": false}, "secrets": []}, + "storageProfile": {"osDisk": {"caching": "ReadWrite", "createOption": "FromImage", + "diskSizeGB": 127, "osType": "Windows", "managedDisk": {"storageAccountType": + "Premium_LRS"}}, "dataDisks": [{"lun": 0, "caching": "None", "createOption": + "Empty", "diskSizeGB": 2, "managedDisk": {"storageAccountType": "Premium_LRS"}}]}, + "networkProfile": {"networkInterfaceConfigurations": [{"name": "clite1792Nic", + "properties": {"primary": true, "enableAcceleratedNetworking": false, "dnsSettings": + {"dnsServers": []}, "ipConfigurations": [{"name": "clite1792IPConfig", "properties": + {"subnet": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/clitestvmssVNET/subnets/clitestvmssSubnet"}, + "privateIPAddressVersion": "IPv4", "loadBalancerBackendAddressPools": [{"id": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/loadBalancers/clitestvmssLB/backendAddressPools/clitestvmssLBBEPool"}], + "loadBalancerInboundNatPools": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/loadBalancers/clitestvmssLB/inboundNatPools/clitestvmssLBNatPool"}]}}], + "enableIPForwarding": false}}]}, "extensionProfile": {"extensions": [{"name": + "Microsoft.Azure.Security.AntimalwareSignature.AntimalwareConfiguration", "properties": + {"publisher": "Microsoft.Azure.Security.AntimalwareSignature", "type": "AntimalwareConfiguration", + "typeHandlerVersion": "2.0", "autoUpgradeMinorVersion": true, "enableAutomaticUpgrade": + true, "settings": {}}}, {"name": "Microsoft.Azure.Geneva.GenevaMonitoring", + "properties": {"publisher": "Microsoft.Azure.Geneva", "type": "GenevaMonitoring", + "typeHandlerVersion": "2.0", "autoUpgradeMinorVersion": true, "enableAutomaticUpgrade": + true, "settings": {}}}, {"name": "ApplicationHealthWindows", "properties": {"publisher": + "Microsoft.ManagedServices", "type": "ApplicationHealthWindows", "typeHandlerVersion": + "1.0", "autoUpgradeMinorVersion": true, "settings": {"protocol": "https", "port": + "80", "requestPath": "/"}}}]}}, "overprovision": true, "doNotRunExtensionsOnOverprovisionedVMs": + false, "singlePlacementGroup": true}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vmss extension set + Connection: + - keep-alive + Content-Length: + - '3060' + Content-Type: + - application/json + ParameterSetName: + - --name --publisher --version --resource-group --vmss-name --settings + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-compute/20.0.0 Python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/virtualMachineScaleSets/clitestvmss?api-version=2020-12-01 + response: + body: + string: "{\r\n \"name\": \"clitestvmss\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/virtualMachineScaleSets/clitestvmss\",\r\n + \ \"type\": \"Microsoft.Compute/virtualMachineScaleSets\",\r\n \"location\": + \"westus\",\r\n \"tags\": {\r\n \"azsecpack\": \"nonprod\",\r\n \"platformsettings.host_environment.service.platform_optedin_for_rootcerts\": + \"true\"\r\n },\r\n \"sku\": {\r\n \"name\": \"Standard_DS1_v2\",\r\n + \ \"tier\": \"Standard\",\r\n \"capacity\": 1\r\n },\r\n \"properties\": + {\r\n \"singlePlacementGroup\": true,\r\n \"upgradePolicy\": {\r\n \"mode\": + \"Automatic\",\r\n \"rollingUpgradePolicy\": {\r\n \"maxBatchInstancePercent\": + 20,\r\n \"maxUnhealthyInstancePercent\": 20,\r\n \"maxUnhealthyUpgradedInstancePercent\": + 20,\r\n \"pauseTimeBetweenBatches\": \"PT0S\"\r\n }\r\n },\r\n + \ \"virtualMachineProfile\": {\r\n \"osProfile\": {\r\n \"computerNamePrefix\": + \"clite1792\",\r\n \"adminUsername\": \"azureuser\",\r\n \"windowsConfiguration\": + {\r\n \"provisionVMAgent\": true,\r\n \"enableAutomaticUpdates\": + false\r\n },\r\n \"secrets\": [],\r\n \"allowExtensionOperations\": + true,\r\n \"requireGuestProvisionSignal\": true\r\n },\r\n \"storageProfile\": + {\r\n \"osDisk\": {\r\n \"osType\": \"Windows\",\r\n \"createOption\": + \"FromImage\",\r\n \"caching\": \"ReadWrite\",\r\n \"managedDisk\": + {\r\n \"storageAccountType\": \"Premium_LRS\"\r\n },\r\n + \ \"diskSizeGB\": 127\r\n },\r\n \"imageReference\": + {\r\n \"publisher\": \"MicrosoftWindowsServer\",\r\n \"offer\": + \"WindowsServer\",\r\n \"sku\": \"2016-Datacenter\",\r\n \"version\": + \"latest\"\r\n },\r\n \"dataDisks\": [\r\n {\r\n \"lun\": + 0,\r\n \"createOption\": \"Empty\",\r\n \"caching\": + \"None\",\r\n \"managedDisk\": {\r\n \"storageAccountType\": + \"Premium_LRS\"\r\n },\r\n \"diskSizeGB\": 2\r\n }\r\n + \ ]\r\n },\r\n \"networkProfile\": {\"networkInterfaceConfigurations\":[{\"name\":\"clite1792Nic\",\"properties\":{\"primary\":true,\"enableAcceleratedNetworking\":false,\"dnsSettings\":{\"dnsServers\":[]},\"enableIPForwarding\":false,\"ipConfigurations\":[{\"name\":\"clite1792IPConfig\",\"properties\":{\"subnet\":{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/clitestvmssVNET/subnets/clitestvmssSubnet\"},\"privateIPAddressVersion\":\"IPv4\",\"loadBalancerBackendAddressPools\":[{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/loadBalancers/clitestvmssLB/backendAddressPools/clitestvmssLBBEPool\"}],\"loadBalancerInboundNatPools\":[{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/loadBalancers/clitestvmssLB/inboundNatPools/clitestvmssLBNatPool\"}]}}]}}]},\r\n + \ \"extensionProfile\": {\r\n \"extensions\": [\r\n {\r\n + \ \"name\": \"Microsoft.Azure.Security.AntimalwareSignature.AntimalwareConfiguration\",\r\n + \ \"properties\": {\r\n \"autoUpgradeMinorVersion\": + true,\r\n \"enableAutomaticUpgrade\": true,\r\n \"publisher\": + \"Microsoft.Azure.Security.AntimalwareSignature\",\r\n \"type\": + \"AntimalwareConfiguration\",\r\n \"typeHandlerVersion\": \"2.0\",\r\n + \ \"settings\": {}\r\n }\r\n },\r\n {\r\n + \ \"name\": \"Microsoft.Azure.Geneva.GenevaMonitoring\",\r\n \"properties\": + {\r\n \"autoUpgradeMinorVersion\": true,\r\n \"enableAutomaticUpgrade\": + true,\r\n \"publisher\": \"Microsoft.Azure.Geneva\",\r\n \"type\": + \"GenevaMonitoring\",\r\n \"typeHandlerVersion\": \"2.0\",\r\n + \ \"settings\": {}\r\n }\r\n },\r\n {\r\n + \ \"name\": \"ApplicationHealthWindows\",\r\n \"properties\": + {\r\n \"autoUpgradeMinorVersion\": true,\r\n \"publisher\": + \"Microsoft.ManagedServices\",\r\n \"type\": \"ApplicationHealthWindows\",\r\n + \ \"typeHandlerVersion\": \"1.0\",\r\n \"settings\": + {\"protocol\":\"https\",\"port\":\"80\",\"requestPath\":\"/\"}\r\n }\r\n + \ }\r\n ]\r\n }\r\n },\r\n \"provisioningState\": + \"Updating\",\r\n \"overprovision\": true,\r\n \"doNotRunExtensionsOnOverprovisionedVMs\": + false,\r\n \"uniqueId\": \"d47a392f-29ab-4735-ab55-ae93559fbebc\"\r\n }\r\n}" + headers: + azure-asyncnotification: + - Enabled + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/westus/operations/418ad8ea-9489-41cb-b765-327b697a9591?api-version=2020-12-01 + cache-control: + - no-cache + content-length: + - '4696' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:45:15 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 + x-ms-ratelimit-remaining-resource: + - Microsoft.Compute/CreateVMScaleSet3Min;58,Microsoft.Compute/CreateVMScaleSet30Min;297,Microsoft.Compute/VMScaleSetBatchedVMRequests5Min;1198,Microsoft.Compute/VmssQueuedVMOperations;0 + x-ms-ratelimit-remaining-subscription-writes: + - '1195' + x-ms-request-charge: + - '1' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - vmss extension set + Connection: + - keep-alive + ParameterSetName: + - --name --publisher --version --resource-group --vmss-name --settings + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-compute/20.0.0 Python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/westus/operations/418ad8ea-9489-41cb-b765-327b697a9591?api-version=2020-12-01 + response: + body: + string: "{\r\n \"startTime\": \"2021-05-13T15:45:14.0382868+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"418ad8ea-9489-41cb-b765-327b697a9591\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:45:26 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 + x-ms-ratelimit-remaining-resource: + - Microsoft.Compute/GetOperation3Min;14994,Microsoft.Compute/GetOperation30Min;29988 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - vmss extension set + Connection: + - keep-alive + ParameterSetName: + - --name --publisher --version --resource-group --vmss-name --settings + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-compute/20.0.0 Python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/westus/operations/418ad8ea-9489-41cb-b765-327b697a9591?api-version=2020-12-01 + response: + body: + string: "{\r\n \"startTime\": \"2021-05-13T15:45:14.0382868+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"418ad8ea-9489-41cb-b765-327b697a9591\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:46:17 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 + x-ms-ratelimit-remaining-resource: + - Microsoft.Compute/GetOperation3Min;14993,Microsoft.Compute/GetOperation30Min;29987 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - vmss extension set + Connection: + - keep-alive + ParameterSetName: + - --name --publisher --version --resource-group --vmss-name --settings + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-compute/20.0.0 Python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/westus/operations/418ad8ea-9489-41cb-b765-327b697a9591?api-version=2020-12-01 + response: + body: + string: "{\r\n \"startTime\": \"2021-05-13T15:45:14.0382868+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"418ad8ea-9489-41cb-b765-327b697a9591\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:46:47 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 + x-ms-ratelimit-remaining-resource: + - Microsoft.Compute/GetOperation3Min;14994,Microsoft.Compute/GetOperation30Min;29986 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - vmss extension set + Connection: + - keep-alive + ParameterSetName: + - --name --publisher --version --resource-group --vmss-name --settings + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-compute/20.0.0 Python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/westus/operations/418ad8ea-9489-41cb-b765-327b697a9591?api-version=2020-12-01 + response: + body: + string: "{\r\n \"startTime\": \"2021-05-13T15:45:14.0382868+00:00\",\r\n \"endTime\": + \"2021-05-13T15:47:15.1949227+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"418ad8ea-9489-41cb-b765-327b697a9591\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '184' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:47: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 + x-ms-ratelimit-remaining-resource: + - Microsoft.Compute/GetOperation3Min;14993,Microsoft.Compute/GetOperation30Min;29984 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - vmss extension set + Connection: + - keep-alive + ParameterSetName: + - --name --publisher --version --resource-group --vmss-name --settings + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-compute/20.0.0 Python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/virtualMachineScaleSets/clitestvmss?api-version=2020-12-01 + response: + body: + string: "{\r\n \"name\": \"clitestvmss\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/virtualMachineScaleSets/clitestvmss\",\r\n + \ \"type\": \"Microsoft.Compute/virtualMachineScaleSets\",\r\n \"location\": + \"westus\",\r\n \"tags\": {\r\n \"azsecpack\": \"nonprod\",\r\n \"platformsettings.host_environment.service.platform_optedin_for_rootcerts\": + \"true\"\r\n },\r\n \"sku\": {\r\n \"name\": \"Standard_DS1_v2\",\r\n + \ \"tier\": \"Standard\",\r\n \"capacity\": 1\r\n },\r\n \"properties\": + {\r\n \"singlePlacementGroup\": true,\r\n \"upgradePolicy\": {\r\n \"mode\": + \"Automatic\",\r\n \"rollingUpgradePolicy\": {\r\n \"maxBatchInstancePercent\": + 20,\r\n \"maxUnhealthyInstancePercent\": 20,\r\n \"maxUnhealthyUpgradedInstancePercent\": + 20,\r\n \"pauseTimeBetweenBatches\": \"PT0S\"\r\n }\r\n },\r\n + \ \"virtualMachineProfile\": {\r\n \"osProfile\": {\r\n \"computerNamePrefix\": + \"clite1792\",\r\n \"adminUsername\": \"azureuser\",\r\n \"windowsConfiguration\": + {\r\n \"provisionVMAgent\": true,\r\n \"enableAutomaticUpdates\": + false\r\n },\r\n \"secrets\": [],\r\n \"allowExtensionOperations\": + true,\r\n \"requireGuestProvisionSignal\": true\r\n },\r\n \"storageProfile\": + {\r\n \"osDisk\": {\r\n \"osType\": \"Windows\",\r\n \"createOption\": + \"FromImage\",\r\n \"caching\": \"ReadWrite\",\r\n \"managedDisk\": + {\r\n \"storageAccountType\": \"Premium_LRS\"\r\n },\r\n + \ \"diskSizeGB\": 127\r\n },\r\n \"imageReference\": + {\r\n \"publisher\": \"MicrosoftWindowsServer\",\r\n \"offer\": + \"WindowsServer\",\r\n \"sku\": \"2016-Datacenter\",\r\n \"version\": + \"latest\"\r\n },\r\n \"dataDisks\": [\r\n {\r\n \"lun\": + 0,\r\n \"createOption\": \"Empty\",\r\n \"caching\": + \"None\",\r\n \"managedDisk\": {\r\n \"storageAccountType\": + \"Premium_LRS\"\r\n },\r\n \"diskSizeGB\": 2\r\n }\r\n + \ ]\r\n },\r\n \"networkProfile\": {\"networkInterfaceConfigurations\":[{\"name\":\"clite1792Nic\",\"properties\":{\"primary\":true,\"enableAcceleratedNetworking\":false,\"dnsSettings\":{\"dnsServers\":[]},\"enableIPForwarding\":false,\"ipConfigurations\":[{\"name\":\"clite1792IPConfig\",\"properties\":{\"subnet\":{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/clitestvmssVNET/subnets/clitestvmssSubnet\"},\"privateIPAddressVersion\":\"IPv4\",\"loadBalancerBackendAddressPools\":[{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/loadBalancers/clitestvmssLB/backendAddressPools/clitestvmssLBBEPool\"}],\"loadBalancerInboundNatPools\":[{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/loadBalancers/clitestvmssLB/inboundNatPools/clitestvmssLBNatPool\"}]}}]}}]},\r\n + \ \"extensionProfile\": {\r\n \"extensions\": [\r\n {\r\n + \ \"name\": \"Microsoft.Azure.Security.AntimalwareSignature.AntimalwareConfiguration\",\r\n + \ \"properties\": {\r\n \"autoUpgradeMinorVersion\": + true,\r\n \"enableAutomaticUpgrade\": true,\r\n \"publisher\": + \"Microsoft.Azure.Security.AntimalwareSignature\",\r\n \"type\": + \"AntimalwareConfiguration\",\r\n \"typeHandlerVersion\": \"2.0\",\r\n + \ \"settings\": {}\r\n }\r\n },\r\n {\r\n + \ \"name\": \"Microsoft.Azure.Geneva.GenevaMonitoring\",\r\n \"properties\": + {\r\n \"autoUpgradeMinorVersion\": true,\r\n \"enableAutomaticUpgrade\": + true,\r\n \"publisher\": \"Microsoft.Azure.Geneva\",\r\n \"type\": + \"GenevaMonitoring\",\r\n \"typeHandlerVersion\": \"2.0\",\r\n + \ \"settings\": {}\r\n }\r\n },\r\n {\r\n + \ \"name\": \"ApplicationHealthWindows\",\r\n \"properties\": + {\r\n \"autoUpgradeMinorVersion\": true,\r\n \"publisher\": + \"Microsoft.ManagedServices\",\r\n \"type\": \"ApplicationHealthWindows\",\r\n + \ \"typeHandlerVersion\": \"1.0\",\r\n \"settings\": + {\"protocol\":\"https\",\"port\":\"80\",\"requestPath\":\"/\"}\r\n }\r\n + \ }\r\n ]\r\n }\r\n },\r\n \"provisioningState\": + \"Succeeded\",\r\n \"overprovision\": true,\r\n \"doNotRunExtensionsOnOverprovisionedVMs\": + false,\r\n \"uniqueId\": \"d47a392f-29ab-4735-ab55-ae93559fbebc\"\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '4697' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:47: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 + x-ms-ratelimit-remaining-resource: + - Microsoft.Compute/GetVMScaleSet3Min;393,Microsoft.Compute/GetVMScaleSet30Min;2577 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vmss update + Connection: + - keep-alive + ParameterSetName: + - --name -g --set + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-compute/20.0.0 Python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/virtualMachineScaleSets/clitestvmss?api-version=2020-12-01 + response: + body: + string: "{\r\n \"name\": \"clitestvmss\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/virtualMachineScaleSets/clitestvmss\",\r\n + \ \"type\": \"Microsoft.Compute/virtualMachineScaleSets\",\r\n \"location\": + \"westus\",\r\n \"tags\": {\r\n \"azsecpack\": \"nonprod\",\r\n \"platformsettings.host_environment.service.platform_optedin_for_rootcerts\": + \"true\"\r\n },\r\n \"sku\": {\r\n \"name\": \"Standard_DS1_v2\",\r\n + \ \"tier\": \"Standard\",\r\n \"capacity\": 1\r\n },\r\n \"properties\": + {\r\n \"singlePlacementGroup\": true,\r\n \"upgradePolicy\": {\r\n \"mode\": + \"Automatic\",\r\n \"rollingUpgradePolicy\": {\r\n \"maxBatchInstancePercent\": + 20,\r\n \"maxUnhealthyInstancePercent\": 20,\r\n \"maxUnhealthyUpgradedInstancePercent\": + 20,\r\n \"pauseTimeBetweenBatches\": \"PT0S\"\r\n }\r\n },\r\n + \ \"virtualMachineProfile\": {\r\n \"osProfile\": {\r\n \"computerNamePrefix\": + \"clite1792\",\r\n \"adminUsername\": \"azureuser\",\r\n \"windowsConfiguration\": + {\r\n \"provisionVMAgent\": true,\r\n \"enableAutomaticUpdates\": + false\r\n },\r\n \"secrets\": [],\r\n \"allowExtensionOperations\": + true,\r\n \"requireGuestProvisionSignal\": true\r\n },\r\n \"storageProfile\": + {\r\n \"osDisk\": {\r\n \"osType\": \"Windows\",\r\n \"createOption\": + \"FromImage\",\r\n \"caching\": \"ReadWrite\",\r\n \"managedDisk\": + {\r\n \"storageAccountType\": \"Premium_LRS\"\r\n },\r\n + \ \"diskSizeGB\": 127\r\n },\r\n \"imageReference\": + {\r\n \"publisher\": \"MicrosoftWindowsServer\",\r\n \"offer\": + \"WindowsServer\",\r\n \"sku\": \"2016-Datacenter\",\r\n \"version\": + \"latest\"\r\n },\r\n \"dataDisks\": [\r\n {\r\n \"lun\": + 0,\r\n \"createOption\": \"Empty\",\r\n \"caching\": + \"None\",\r\n \"managedDisk\": {\r\n \"storageAccountType\": + \"Premium_LRS\"\r\n },\r\n \"diskSizeGB\": 2\r\n }\r\n + \ ]\r\n },\r\n \"networkProfile\": {\"networkInterfaceConfigurations\":[{\"name\":\"clite1792Nic\",\"properties\":{\"primary\":true,\"enableAcceleratedNetworking\":false,\"dnsSettings\":{\"dnsServers\":[]},\"enableIPForwarding\":false,\"ipConfigurations\":[{\"name\":\"clite1792IPConfig\",\"properties\":{\"subnet\":{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/clitestvmssVNET/subnets/clitestvmssSubnet\"},\"privateIPAddressVersion\":\"IPv4\",\"loadBalancerBackendAddressPools\":[{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/loadBalancers/clitestvmssLB/backendAddressPools/clitestvmssLBBEPool\"}],\"loadBalancerInboundNatPools\":[{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/loadBalancers/clitestvmssLB/inboundNatPools/clitestvmssLBNatPool\"}]}}]}}]},\r\n + \ \"extensionProfile\": {\r\n \"extensions\": [\r\n {\r\n + \ \"name\": \"Microsoft.Azure.Security.AntimalwareSignature.AntimalwareConfiguration\",\r\n + \ \"properties\": {\r\n \"autoUpgradeMinorVersion\": + true,\r\n \"enableAutomaticUpgrade\": true,\r\n \"publisher\": + \"Microsoft.Azure.Security.AntimalwareSignature\",\r\n \"type\": + \"AntimalwareConfiguration\",\r\n \"typeHandlerVersion\": \"2.0\",\r\n + \ \"settings\": {}\r\n }\r\n },\r\n {\r\n + \ \"name\": \"Microsoft.Azure.Geneva.GenevaMonitoring\",\r\n \"properties\": + {\r\n \"autoUpgradeMinorVersion\": true,\r\n \"enableAutomaticUpgrade\": + true,\r\n \"publisher\": \"Microsoft.Azure.Geneva\",\r\n \"type\": + \"GenevaMonitoring\",\r\n \"typeHandlerVersion\": \"2.0\",\r\n + \ \"settings\": {}\r\n }\r\n },\r\n {\r\n + \ \"name\": \"ApplicationHealthWindows\",\r\n \"properties\": + {\r\n \"autoUpgradeMinorVersion\": true,\r\n \"publisher\": + \"Microsoft.ManagedServices\",\r\n \"type\": \"ApplicationHealthWindows\",\r\n + \ \"typeHandlerVersion\": \"1.0\",\r\n \"settings\": + {\"protocol\":\"https\",\"port\":\"80\",\"requestPath\":\"/\"}\r\n }\r\n + \ }\r\n ]\r\n }\r\n },\r\n \"provisioningState\": + \"Succeeded\",\r\n \"overprovision\": true,\r\n \"doNotRunExtensionsOnOverprovisionedVMs\": + false,\r\n \"uniqueId\": \"d47a392f-29ab-4735-ab55-ae93559fbebc\"\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '4697' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:47:22 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 + x-ms-ratelimit-remaining-resource: + - Microsoft.Compute/GetVMScaleSet3Min;392,Microsoft.Compute/GetVMScaleSet30Min;2576 + status: + code: 200 + message: OK +- request: + body: '{"location": "westus", "tags": {"azsecpack": "nonprod", "platformsettings.host_environment.service.platform_optedin_for_rootcerts": + "true"}, "sku": {"name": "Standard_DS1_v2", "tier": "Standard", "capacity": + 1}, "properties": {"upgradePolicy": {"mode": "Automatic", "rollingUpgradePolicy": + {"maxBatchInstancePercent": 20, "maxUnhealthyInstancePercent": 20, "maxUnhealthyUpgradedInstancePercent": + 20, "pauseTimeBetweenBatches": "PT0S"}, "automaticOSUpgradePolicy": {"enableAutomaticOSUpgrade": + true}}, "virtualMachineProfile": {"osProfile": {"computerNamePrefix": "clite1792", + "adminUsername": "azureuser", "windowsConfiguration": {"provisionVMAgent": true, + "enableAutomaticUpdates": false}, "secrets": []}, "storageProfile": {"osDisk": + {"caching": "ReadWrite", "createOption": "FromImage", "diskSizeGB": 127, "osType": + "Windows", "managedDisk": {"storageAccountType": "Premium_LRS"}}, "dataDisks": + [{"lun": 0, "caching": "None", "createOption": "Empty", "diskSizeGB": 2, "managedDisk": + {"storageAccountType": "Premium_LRS"}}]}, "networkProfile": {"networkInterfaceConfigurations": + [{"name": "clite1792Nic", "properties": {"primary": true, "enableAcceleratedNetworking": + false, "dnsSettings": {"dnsServers": []}, "ipConfigurations": [{"name": "clite1792IPConfig", + "properties": {"subnet": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/clitestvmssVNET/subnets/clitestvmssSubnet"}, + "privateIPAddressVersion": "IPv4", "loadBalancerBackendAddressPools": [{"id": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/loadBalancers/clitestvmssLB/backendAddressPools/clitestvmssLBBEPool"}], + "loadBalancerInboundNatPools": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/loadBalancers/clitestvmssLB/inboundNatPools/clitestvmssLBNatPool"}]}}], + "enableIPForwarding": false}}]}, "extensionProfile": {"extensions": [{"name": + "Microsoft.Azure.Security.AntimalwareSignature.AntimalwareConfiguration", "properties": + {"publisher": "Microsoft.Azure.Security.AntimalwareSignature", "type": "AntimalwareConfiguration", + "typeHandlerVersion": "2.0", "autoUpgradeMinorVersion": true, "enableAutomaticUpgrade": + true, "settings": {}}}, {"name": "Microsoft.Azure.Geneva.GenevaMonitoring", + "properties": {"publisher": "Microsoft.Azure.Geneva", "type": "GenevaMonitoring", + "typeHandlerVersion": "2.0", "autoUpgradeMinorVersion": true, "enableAutomaticUpgrade": + true, "settings": {}}}, {"name": "ApplicationHealthWindows", "properties": {"publisher": + "Microsoft.ManagedServices", "type": "ApplicationHealthWindows", "typeHandlerVersion": + "1.0", "autoUpgradeMinorVersion": true, "settings": {"protocol": "https", "port": + "80", "requestPath": "/"}}}]}}, "overprovision": true, "doNotRunExtensionsOnOverprovisionedVMs": + false, "singlePlacementGroup": true}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vmss update + Connection: + - keep-alive + Content-Length: + - '3124' + Content-Type: + - application/json + ParameterSetName: + - --name -g --set + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-compute/20.0.0 Python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/virtualMachineScaleSets/clitestvmss?api-version=2020-12-01 + response: + body: + string: "{\r\n \"name\": \"clitestvmss\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/virtualMachineScaleSets/clitestvmss\",\r\n + \ \"type\": \"Microsoft.Compute/virtualMachineScaleSets\",\r\n \"location\": + \"westus\",\r\n \"tags\": {\r\n \"azsecpack\": \"nonprod\",\r\n \"platformsettings.host_environment.service.platform_optedin_for_rootcerts\": + \"true\"\r\n },\r\n \"sku\": {\r\n \"name\": \"Standard_DS1_v2\",\r\n + \ \"tier\": \"Standard\",\r\n \"capacity\": 1\r\n },\r\n \"properties\": + {\r\n \"singlePlacementGroup\": true,\r\n \"upgradePolicy\": {\r\n \"mode\": + \"Automatic\",\r\n \"rollingUpgradePolicy\": {\r\n \"maxBatchInstancePercent\": + 20,\r\n \"maxUnhealthyInstancePercent\": 20,\r\n \"maxUnhealthyUpgradedInstancePercent\": + 20,\r\n \"pauseTimeBetweenBatches\": \"PT0S\"\r\n },\r\n \"automaticOSUpgradePolicy\": + {\r\n \"enableAutomaticOSUpgrade\": true,\r\n \"useRollingUpgradePolicy\": + false,\r\n \"disableAutomaticRollback\": false\r\n }\r\n },\r\n + \ \"virtualMachineProfile\": {\r\n \"osProfile\": {\r\n \"computerNamePrefix\": + \"clite1792\",\r\n \"adminUsername\": \"azureuser\",\r\n \"windowsConfiguration\": + {\r\n \"provisionVMAgent\": true,\r\n \"enableAutomaticUpdates\": + false\r\n },\r\n \"secrets\": [],\r\n \"allowExtensionOperations\": + true,\r\n \"requireGuestProvisionSignal\": true\r\n },\r\n \"storageProfile\": + {\r\n \"osDisk\": {\r\n \"osType\": \"Windows\",\r\n \"createOption\": + \"FromImage\",\r\n \"caching\": \"ReadWrite\",\r\n \"managedDisk\": + {\r\n \"storageAccountType\": \"Premium_LRS\"\r\n },\r\n + \ \"diskSizeGB\": 127\r\n },\r\n \"imageReference\": + {\r\n \"publisher\": \"MicrosoftWindowsServer\",\r\n \"offer\": + \"WindowsServer\",\r\n \"sku\": \"2016-Datacenter\",\r\n \"version\": + \"latest\"\r\n },\r\n \"dataDisks\": [\r\n {\r\n \"lun\": + 0,\r\n \"createOption\": \"Empty\",\r\n \"caching\": + \"None\",\r\n \"managedDisk\": {\r\n \"storageAccountType\": + \"Premium_LRS\"\r\n },\r\n \"diskSizeGB\": 2\r\n }\r\n + \ ]\r\n },\r\n \"networkProfile\": {\"networkInterfaceConfigurations\":[{\"name\":\"clite1792Nic\",\"properties\":{\"primary\":true,\"enableAcceleratedNetworking\":false,\"dnsSettings\":{\"dnsServers\":[]},\"enableIPForwarding\":false,\"ipConfigurations\":[{\"name\":\"clite1792IPConfig\",\"properties\":{\"subnet\":{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/clitestvmssVNET/subnets/clitestvmssSubnet\"},\"privateIPAddressVersion\":\"IPv4\",\"loadBalancerBackendAddressPools\":[{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/loadBalancers/clitestvmssLB/backendAddressPools/clitestvmssLBBEPool\"}],\"loadBalancerInboundNatPools\":[{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/loadBalancers/clitestvmssLB/inboundNatPools/clitestvmssLBNatPool\"}]}}]}}]},\r\n + \ \"extensionProfile\": {\r\n \"extensions\": [\r\n {\r\n + \ \"name\": \"Microsoft.Azure.Security.AntimalwareSignature.AntimalwareConfiguration\",\r\n + \ \"properties\": {\r\n \"autoUpgradeMinorVersion\": + true,\r\n \"enableAutomaticUpgrade\": true,\r\n \"publisher\": + \"Microsoft.Azure.Security.AntimalwareSignature\",\r\n \"type\": + \"AntimalwareConfiguration\",\r\n \"typeHandlerVersion\": \"2.0\",\r\n + \ \"settings\": {}\r\n }\r\n },\r\n {\r\n + \ \"name\": \"Microsoft.Azure.Geneva.GenevaMonitoring\",\r\n \"properties\": + {\r\n \"autoUpgradeMinorVersion\": true,\r\n \"enableAutomaticUpgrade\": + true,\r\n \"publisher\": \"Microsoft.Azure.Geneva\",\r\n \"type\": + \"GenevaMonitoring\",\r\n \"typeHandlerVersion\": \"2.0\",\r\n + \ \"settings\": {}\r\n }\r\n },\r\n {\r\n + \ \"name\": \"ApplicationHealthWindows\",\r\n \"properties\": + {\r\n \"autoUpgradeMinorVersion\": true,\r\n \"publisher\": + \"Microsoft.ManagedServices\",\r\n \"type\": \"ApplicationHealthWindows\",\r\n + \ \"typeHandlerVersion\": \"1.0\",\r\n \"settings\": + {\"protocol\":\"https\",\"port\":\"80\",\"requestPath\":\"/\"}\r\n }\r\n + \ }\r\n ]\r\n }\r\n },\r\n \"provisioningState\": + \"Updating\",\r\n \"overprovision\": true,\r\n \"doNotRunExtensionsOnOverprovisionedVMs\": + false,\r\n \"uniqueId\": \"d47a392f-29ab-4735-ab55-ae93559fbebc\"\r\n }\r\n}" + headers: + azure-asyncnotification: + - Enabled + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/westus/operations/86956d3c-2ca2-4154-9f8d-23c5c671d955?api-version=2020-12-01 + cache-control: + - no-cache + content-length: + - '4872' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:47:27 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 + x-ms-ratelimit-remaining-resource: + - Microsoft.Compute/CreateVMScaleSet3Min;58,Microsoft.Compute/CreateVMScaleSet30Min;296,Microsoft.Compute/VmssQueuedVMOperations;0 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-ms-request-charge: + - '0' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - vmss update + Connection: + - keep-alive + ParameterSetName: + - --name -g --set + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-compute/20.0.0 Python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/westus/operations/86956d3c-2ca2-4154-9f8d-23c5c671d955?api-version=2020-12-01 + response: + body: + string: "{\r\n \"startTime\": \"2021-05-13T15:47:26.0855682+00:00\",\r\n \"endTime\": + \"2021-05-13T15:47:26.3824233+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"86956d3c-2ca2-4154-9f8d-23c5c671d955\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '184' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:47:38 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 + x-ms-ratelimit-remaining-resource: + - Microsoft.Compute/GetOperation3Min;14992,Microsoft.Compute/GetOperation30Min;29982 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - vmss update + Connection: + - keep-alive + ParameterSetName: + - --name -g --set + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-compute/20.0.0 Python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/virtualMachineScaleSets/clitestvmss?api-version=2020-12-01 + response: + body: + string: "{\r\n \"name\": \"clitestvmss\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/virtualMachineScaleSets/clitestvmss\",\r\n + \ \"type\": \"Microsoft.Compute/virtualMachineScaleSets\",\r\n \"location\": + \"westus\",\r\n \"tags\": {\r\n \"azsecpack\": \"nonprod\",\r\n \"platformsettings.host_environment.service.platform_optedin_for_rootcerts\": + \"true\"\r\n },\r\n \"sku\": {\r\n \"name\": \"Standard_DS1_v2\",\r\n + \ \"tier\": \"Standard\",\r\n \"capacity\": 1\r\n },\r\n \"properties\": + {\r\n \"singlePlacementGroup\": true,\r\n \"upgradePolicy\": {\r\n \"mode\": + \"Automatic\",\r\n \"rollingUpgradePolicy\": {\r\n \"maxBatchInstancePercent\": + 20,\r\n \"maxUnhealthyInstancePercent\": 20,\r\n \"maxUnhealthyUpgradedInstancePercent\": + 20,\r\n \"pauseTimeBetweenBatches\": \"PT0S\"\r\n },\r\n \"automaticOSUpgradePolicy\": + {\r\n \"enableAutomaticOSUpgrade\": true,\r\n \"useRollingUpgradePolicy\": + false,\r\n \"disableAutomaticRollback\": false\r\n }\r\n },\r\n + \ \"virtualMachineProfile\": {\r\n \"osProfile\": {\r\n \"computerNamePrefix\": + \"clite1792\",\r\n \"adminUsername\": \"azureuser\",\r\n \"windowsConfiguration\": + {\r\n \"provisionVMAgent\": true,\r\n \"enableAutomaticUpdates\": + false\r\n },\r\n \"secrets\": [],\r\n \"allowExtensionOperations\": + true,\r\n \"requireGuestProvisionSignal\": true\r\n },\r\n \"storageProfile\": + {\r\n \"osDisk\": {\r\n \"osType\": \"Windows\",\r\n \"createOption\": + \"FromImage\",\r\n \"caching\": \"ReadWrite\",\r\n \"managedDisk\": + {\r\n \"storageAccountType\": \"Premium_LRS\"\r\n },\r\n + \ \"diskSizeGB\": 127\r\n },\r\n \"imageReference\": + {\r\n \"publisher\": \"MicrosoftWindowsServer\",\r\n \"offer\": + \"WindowsServer\",\r\n \"sku\": \"2016-Datacenter\",\r\n \"version\": + \"latest\"\r\n },\r\n \"dataDisks\": [\r\n {\r\n \"lun\": + 0,\r\n \"createOption\": \"Empty\",\r\n \"caching\": + \"None\",\r\n \"managedDisk\": {\r\n \"storageAccountType\": + \"Premium_LRS\"\r\n },\r\n \"diskSizeGB\": 2\r\n }\r\n + \ ]\r\n },\r\n \"networkProfile\": {\"networkInterfaceConfigurations\":[{\"name\":\"clite1792Nic\",\"properties\":{\"primary\":true,\"enableAcceleratedNetworking\":false,\"dnsSettings\":{\"dnsServers\":[]},\"enableIPForwarding\":false,\"ipConfigurations\":[{\"name\":\"clite1792IPConfig\",\"properties\":{\"subnet\":{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/clitestvmssVNET/subnets/clitestvmssSubnet\"},\"privateIPAddressVersion\":\"IPv4\",\"loadBalancerBackendAddressPools\":[{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/loadBalancers/clitestvmssLB/backendAddressPools/clitestvmssLBBEPool\"}],\"loadBalancerInboundNatPools\":[{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/loadBalancers/clitestvmssLB/inboundNatPools/clitestvmssLBNatPool\"}]}}]}}]},\r\n + \ \"extensionProfile\": {\r\n \"extensions\": [\r\n {\r\n + \ \"name\": \"Microsoft.Azure.Security.AntimalwareSignature.AntimalwareConfiguration\",\r\n + \ \"properties\": {\r\n \"autoUpgradeMinorVersion\": + true,\r\n \"enableAutomaticUpgrade\": true,\r\n \"publisher\": + \"Microsoft.Azure.Security.AntimalwareSignature\",\r\n \"type\": + \"AntimalwareConfiguration\",\r\n \"typeHandlerVersion\": \"2.0\",\r\n + \ \"settings\": {}\r\n }\r\n },\r\n {\r\n + \ \"name\": \"Microsoft.Azure.Geneva.GenevaMonitoring\",\r\n \"properties\": + {\r\n \"autoUpgradeMinorVersion\": true,\r\n \"enableAutomaticUpgrade\": + true,\r\n \"publisher\": \"Microsoft.Azure.Geneva\",\r\n \"type\": + \"GenevaMonitoring\",\r\n \"typeHandlerVersion\": \"2.0\",\r\n + \ \"settings\": {}\r\n }\r\n },\r\n {\r\n + \ \"name\": \"ApplicationHealthWindows\",\r\n \"properties\": + {\r\n \"autoUpgradeMinorVersion\": true,\r\n \"publisher\": + \"Microsoft.ManagedServices\",\r\n \"type\": \"ApplicationHealthWindows\",\r\n + \ \"typeHandlerVersion\": \"1.0\",\r\n \"settings\": + {\"protocol\":\"https\",\"port\":\"80\",\"requestPath\":\"/\"}\r\n }\r\n + \ }\r\n ]\r\n }\r\n },\r\n \"provisioningState\": + \"Succeeded\",\r\n \"overprovision\": true,\r\n \"doNotRunExtensionsOnOverprovisionedVMs\": + false,\r\n \"uniqueId\": \"d47a392f-29ab-4735-ab55-ae93559fbebc\"\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '4873' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:47:38 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 + x-ms-ratelimit-remaining-resource: + - Microsoft.Compute/GetVMScaleSet3Min;390,Microsoft.Compute/GetVMScaleSet30Min;2573 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vmss update + Connection: + - keep-alive + ParameterSetName: + - --name -g --set + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-compute/20.0.0 Python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/virtualMachineScaleSets/clitestvmss?api-version=2020-12-01 + response: + body: + string: "{\r\n \"name\": \"clitestvmss\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/virtualMachineScaleSets/clitestvmss\",\r\n + \ \"type\": \"Microsoft.Compute/virtualMachineScaleSets\",\r\n \"location\": + \"westus\",\r\n \"tags\": {\r\n \"azsecpack\": \"nonprod\",\r\n \"platformsettings.host_environment.service.platform_optedin_for_rootcerts\": + \"true\"\r\n },\r\n \"sku\": {\r\n \"name\": \"Standard_DS1_v2\",\r\n + \ \"tier\": \"Standard\",\r\n \"capacity\": 1\r\n },\r\n \"properties\": + {\r\n \"singlePlacementGroup\": true,\r\n \"upgradePolicy\": {\r\n \"mode\": + \"Automatic\",\r\n \"rollingUpgradePolicy\": {\r\n \"maxBatchInstancePercent\": + 20,\r\n \"maxUnhealthyInstancePercent\": 20,\r\n \"maxUnhealthyUpgradedInstancePercent\": + 20,\r\n \"pauseTimeBetweenBatches\": \"PT0S\"\r\n },\r\n \"automaticOSUpgradePolicy\": + {\r\n \"enableAutomaticOSUpgrade\": true,\r\n \"useRollingUpgradePolicy\": + false,\r\n \"disableAutomaticRollback\": false\r\n }\r\n },\r\n + \ \"virtualMachineProfile\": {\r\n \"osProfile\": {\r\n \"computerNamePrefix\": + \"clite1792\",\r\n \"adminUsername\": \"azureuser\",\r\n \"windowsConfiguration\": + {\r\n \"provisionVMAgent\": true,\r\n \"enableAutomaticUpdates\": + false\r\n },\r\n \"secrets\": [],\r\n \"allowExtensionOperations\": + true,\r\n \"requireGuestProvisionSignal\": true\r\n },\r\n \"storageProfile\": + {\r\n \"osDisk\": {\r\n \"osType\": \"Windows\",\r\n \"createOption\": + \"FromImage\",\r\n \"caching\": \"ReadWrite\",\r\n \"managedDisk\": + {\r\n \"storageAccountType\": \"Premium_LRS\"\r\n },\r\n + \ \"diskSizeGB\": 127\r\n },\r\n \"imageReference\": + {\r\n \"publisher\": \"MicrosoftWindowsServer\",\r\n \"offer\": + \"WindowsServer\",\r\n \"sku\": \"2016-Datacenter\",\r\n \"version\": + \"latest\"\r\n },\r\n \"dataDisks\": [\r\n {\r\n \"lun\": + 0,\r\n \"createOption\": \"Empty\",\r\n \"caching\": + \"None\",\r\n \"managedDisk\": {\r\n \"storageAccountType\": + \"Premium_LRS\"\r\n },\r\n \"diskSizeGB\": 2\r\n }\r\n + \ ]\r\n },\r\n \"networkProfile\": {\"networkInterfaceConfigurations\":[{\"name\":\"clite1792Nic\",\"properties\":{\"primary\":true,\"enableAcceleratedNetworking\":false,\"dnsSettings\":{\"dnsServers\":[]},\"enableIPForwarding\":false,\"ipConfigurations\":[{\"name\":\"clite1792IPConfig\",\"properties\":{\"subnet\":{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/clitestvmssVNET/subnets/clitestvmssSubnet\"},\"privateIPAddressVersion\":\"IPv4\",\"loadBalancerBackendAddressPools\":[{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/loadBalancers/clitestvmssLB/backendAddressPools/clitestvmssLBBEPool\"}],\"loadBalancerInboundNatPools\":[{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/loadBalancers/clitestvmssLB/inboundNatPools/clitestvmssLBNatPool\"}]}}]}}]},\r\n + \ \"extensionProfile\": {\r\n \"extensions\": [\r\n {\r\n + \ \"name\": \"Microsoft.Azure.Security.AntimalwareSignature.AntimalwareConfiguration\",\r\n + \ \"properties\": {\r\n \"autoUpgradeMinorVersion\": + true,\r\n \"enableAutomaticUpgrade\": true,\r\n \"publisher\": + \"Microsoft.Azure.Security.AntimalwareSignature\",\r\n \"type\": + \"AntimalwareConfiguration\",\r\n \"typeHandlerVersion\": \"2.0\",\r\n + \ \"settings\": {}\r\n }\r\n },\r\n {\r\n + \ \"name\": \"Microsoft.Azure.Geneva.GenevaMonitoring\",\r\n \"properties\": + {\r\n \"autoUpgradeMinorVersion\": true,\r\n \"enableAutomaticUpgrade\": + true,\r\n \"publisher\": \"Microsoft.Azure.Geneva\",\r\n \"type\": + \"GenevaMonitoring\",\r\n \"typeHandlerVersion\": \"2.0\",\r\n + \ \"settings\": {}\r\n }\r\n },\r\n {\r\n + \ \"name\": \"ApplicationHealthWindows\",\r\n \"properties\": + {\r\n \"autoUpgradeMinorVersion\": true,\r\n \"publisher\": + \"Microsoft.ManagedServices\",\r\n \"type\": \"ApplicationHealthWindows\",\r\n + \ \"typeHandlerVersion\": \"1.0\",\r\n \"settings\": + {\"protocol\":\"https\",\"port\":\"80\",\"requestPath\":\"/\"}\r\n }\r\n + \ }\r\n ]\r\n }\r\n },\r\n \"provisioningState\": + \"Succeeded\",\r\n \"overprovision\": true,\r\n \"doNotRunExtensionsOnOverprovisionedVMs\": + false,\r\n \"uniqueId\": \"d47a392f-29ab-4735-ab55-ae93559fbebc\"\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '4873' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:47:41 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 + x-ms-ratelimit-remaining-resource: + - Microsoft.Compute/GetVMScaleSet3Min;389,Microsoft.Compute/GetVMScaleSet30Min;2572 + status: + code: 200 + message: OK +- request: + body: '{"location": "westus", "tags": {"azsecpack": "nonprod", "platformsettings.host_environment.service.platform_optedin_for_rootcerts": + "true"}, "sku": {"name": "Standard_DS1_v2", "tier": "Standard", "capacity": + 1}, "properties": {"upgradePolicy": {"mode": "Automatic", "rollingUpgradePolicy": + {"maxBatchInstancePercent": 20, "maxUnhealthyInstancePercent": 20, "maxUnhealthyUpgradedInstancePercent": + 20, "pauseTimeBetweenBatches": "PT0S"}, "automaticOSUpgradePolicy": {"enableAutomaticOSUpgrade": + true, "disableAutomaticRollback": false}}, "virtualMachineProfile": {"osProfile": + {"computerNamePrefix": "clite1792", "adminUsername": "azureuser", "windowsConfiguration": + {"provisionVMAgent": true, "enableAutomaticUpdates": false}, "secrets": []}, + "storageProfile": {"osDisk": {"caching": "ReadWrite", "createOption": "FromImage", + "diskSizeGB": 127, "osType": "Windows", "managedDisk": {"storageAccountType": + "Premium_LRS"}}, "dataDisks": [{"lun": 0, "caching": "None", "createOption": + "Empty", "diskSizeGB": 2, "managedDisk": {"storageAccountType": "Premium_LRS"}}]}, + "networkProfile": {"networkInterfaceConfigurations": [{"name": "clite1792Nic", + "properties": {"primary": true, "enableAcceleratedNetworking": false, "dnsSettings": + {"dnsServers": []}, "ipConfigurations": [{"name": "clite1792IPConfig", "properties": + {"subnet": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/clitestvmssVNET/subnets/clitestvmssSubnet"}, + "privateIPAddressVersion": "IPv4", "loadBalancerBackendAddressPools": [{"id": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/loadBalancers/clitestvmssLB/backendAddressPools/clitestvmssLBBEPool"}], + "loadBalancerInboundNatPools": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/loadBalancers/clitestvmssLB/inboundNatPools/clitestvmssLBNatPool"}]}}], + "enableIPForwarding": false}}]}, "extensionProfile": {"extensions": [{"name": + "Microsoft.Azure.Security.AntimalwareSignature.AntimalwareConfiguration", "properties": + {"publisher": "Microsoft.Azure.Security.AntimalwareSignature", "type": "AntimalwareConfiguration", + "typeHandlerVersion": "2.0", "autoUpgradeMinorVersion": true, "enableAutomaticUpgrade": + true, "settings": {}}}, {"name": "Microsoft.Azure.Geneva.GenevaMonitoring", + "properties": {"publisher": "Microsoft.Azure.Geneva", "type": "GenevaMonitoring", + "typeHandlerVersion": "2.0", "autoUpgradeMinorVersion": true, "enableAutomaticUpgrade": + true, "settings": {}}}, {"name": "ApplicationHealthWindows", "properties": {"publisher": + "Microsoft.ManagedServices", "type": "ApplicationHealthWindows", "typeHandlerVersion": + "1.0", "autoUpgradeMinorVersion": true, "settings": {"protocol": "https", "port": + "80", "requestPath": "/"}}}]}}, "overprovision": true, "doNotRunExtensionsOnOverprovisionedVMs": + false, "singlePlacementGroup": true}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - vmss update + Connection: + - keep-alive + Content-Length: + - '3159' + Content-Type: + - application/json + ParameterSetName: + - --name -g --set + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-compute/20.0.0 Python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/virtualMachineScaleSets/clitestvmss?api-version=2020-12-01 + response: + body: + string: "{\r\n \"name\": \"clitestvmss\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/virtualMachineScaleSets/clitestvmss\",\r\n + \ \"type\": \"Microsoft.Compute/virtualMachineScaleSets\",\r\n \"location\": + \"westus\",\r\n \"tags\": {\r\n \"azsecpack\": \"nonprod\",\r\n \"platformsettings.host_environment.service.platform_optedin_for_rootcerts\": + \"true\"\r\n },\r\n \"sku\": {\r\n \"name\": \"Standard_DS1_v2\",\r\n + \ \"tier\": \"Standard\",\r\n \"capacity\": 1\r\n },\r\n \"properties\": + {\r\n \"singlePlacementGroup\": true,\r\n \"upgradePolicy\": {\r\n \"mode\": + \"Automatic\",\r\n \"rollingUpgradePolicy\": {\r\n \"maxBatchInstancePercent\": + 20,\r\n \"maxUnhealthyInstancePercent\": 20,\r\n \"maxUnhealthyUpgradedInstancePercent\": + 20,\r\n \"pauseTimeBetweenBatches\": \"PT0S\"\r\n },\r\n \"automaticOSUpgradePolicy\": + {\r\n \"enableAutomaticOSUpgrade\": true,\r\n \"useRollingUpgradePolicy\": + false,\r\n \"disableAutomaticRollback\": false\r\n }\r\n },\r\n + \ \"virtualMachineProfile\": {\r\n \"osProfile\": {\r\n \"computerNamePrefix\": + \"clite1792\",\r\n \"adminUsername\": \"azureuser\",\r\n \"windowsConfiguration\": + {\r\n \"provisionVMAgent\": true,\r\n \"enableAutomaticUpdates\": + false\r\n },\r\n \"secrets\": [],\r\n \"allowExtensionOperations\": + true,\r\n \"requireGuestProvisionSignal\": true\r\n },\r\n \"storageProfile\": + {\r\n \"osDisk\": {\r\n \"osType\": \"Windows\",\r\n \"createOption\": + \"FromImage\",\r\n \"caching\": \"ReadWrite\",\r\n \"managedDisk\": + {\r\n \"storageAccountType\": \"Premium_LRS\"\r\n },\r\n + \ \"diskSizeGB\": 127\r\n },\r\n \"imageReference\": + {\r\n \"publisher\": \"MicrosoftWindowsServer\",\r\n \"offer\": + \"WindowsServer\",\r\n \"sku\": \"2016-Datacenter\",\r\n \"version\": + \"latest\"\r\n },\r\n \"dataDisks\": [\r\n {\r\n \"lun\": + 0,\r\n \"createOption\": \"Empty\",\r\n \"caching\": + \"None\",\r\n \"managedDisk\": {\r\n \"storageAccountType\": + \"Premium_LRS\"\r\n },\r\n \"diskSizeGB\": 2\r\n }\r\n + \ ]\r\n },\r\n \"networkProfile\": {\"networkInterfaceConfigurations\":[{\"name\":\"clite1792Nic\",\"properties\":{\"primary\":true,\"enableAcceleratedNetworking\":false,\"dnsSettings\":{\"dnsServers\":[]},\"enableIPForwarding\":false,\"ipConfigurations\":[{\"name\":\"clite1792IPConfig\",\"properties\":{\"subnet\":{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/clitestvmssVNET/subnets/clitestvmssSubnet\"},\"privateIPAddressVersion\":\"IPv4\",\"loadBalancerBackendAddressPools\":[{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/loadBalancers/clitestvmssLB/backendAddressPools/clitestvmssLBBEPool\"}],\"loadBalancerInboundNatPools\":[{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/loadBalancers/clitestvmssLB/inboundNatPools/clitestvmssLBNatPool\"}]}}]}}]},\r\n + \ \"extensionProfile\": {\r\n \"extensions\": [\r\n {\r\n + \ \"name\": \"Microsoft.Azure.Security.AntimalwareSignature.AntimalwareConfiguration\",\r\n + \ \"properties\": {\r\n \"autoUpgradeMinorVersion\": + true,\r\n \"enableAutomaticUpgrade\": true,\r\n \"publisher\": + \"Microsoft.Azure.Security.AntimalwareSignature\",\r\n \"type\": + \"AntimalwareConfiguration\",\r\n \"typeHandlerVersion\": \"2.0\",\r\n + \ \"settings\": {}\r\n }\r\n },\r\n {\r\n + \ \"name\": \"Microsoft.Azure.Geneva.GenevaMonitoring\",\r\n \"properties\": + {\r\n \"autoUpgradeMinorVersion\": true,\r\n \"enableAutomaticUpgrade\": + true,\r\n \"publisher\": \"Microsoft.Azure.Geneva\",\r\n \"type\": + \"GenevaMonitoring\",\r\n \"typeHandlerVersion\": \"2.0\",\r\n + \ \"settings\": {}\r\n }\r\n },\r\n {\r\n + \ \"name\": \"ApplicationHealthWindows\",\r\n \"properties\": + {\r\n \"autoUpgradeMinorVersion\": true,\r\n \"publisher\": + \"Microsoft.ManagedServices\",\r\n \"type\": \"ApplicationHealthWindows\",\r\n + \ \"typeHandlerVersion\": \"1.0\",\r\n \"settings\": + {\"protocol\":\"https\",\"port\":\"80\",\"requestPath\":\"/\"}\r\n }\r\n + \ }\r\n ]\r\n }\r\n },\r\n \"provisioningState\": + \"Updating\",\r\n \"overprovision\": true,\r\n \"doNotRunExtensionsOnOverprovisionedVMs\": + false,\r\n \"uniqueId\": \"d47a392f-29ab-4735-ab55-ae93559fbebc\"\r\n }\r\n}" + headers: + azure-asyncnotification: + - Enabled + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/westus/operations/8772c792-4063-4d5b-88f5-67a37c7a1af3?api-version=2020-12-01 + cache-control: + - no-cache + content-length: + - '4872' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:47:44 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 + x-ms-ratelimit-remaining-resource: + - Microsoft.Compute/CreateVMScaleSet3Min;57,Microsoft.Compute/CreateVMScaleSet30Min;295,Microsoft.Compute/VmssQueuedVMOperations;0 + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + x-ms-request-charge: + - '0' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - vmss update + Connection: + - keep-alive + ParameterSetName: + - --name -g --set + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-compute/20.0.0 Python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/westus/operations/8772c792-4063-4d5b-88f5-67a37c7a1af3?api-version=2020-12-01 + response: + body: + string: "{\r\n \"startTime\": \"2021-05-13T15:47:43.4277597+00:00\",\r\n \"endTime\": + \"2021-05-13T15:47:43.6778129+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"8772c792-4063-4d5b-88f5-67a37c7a1af3\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '184' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:47: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 + x-ms-ratelimit-remaining-resource: + - Microsoft.Compute/GetOperation3Min;14990,Microsoft.Compute/GetOperation30Min;29980 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - vmss update + Connection: + - keep-alive + ParameterSetName: + - --name -g --set + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-compute/20.0.0 Python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/virtualMachineScaleSets/clitestvmss?api-version=2020-12-01 + response: + body: + string: "{\r\n \"name\": \"clitestvmss\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/virtualMachineScaleSets/clitestvmss\",\r\n + \ \"type\": \"Microsoft.Compute/virtualMachineScaleSets\",\r\n \"location\": + \"westus\",\r\n \"tags\": {\r\n \"azsecpack\": \"nonprod\",\r\n \"platformsettings.host_environment.service.platform_optedin_for_rootcerts\": + \"true\"\r\n },\r\n \"sku\": {\r\n \"name\": \"Standard_DS1_v2\",\r\n + \ \"tier\": \"Standard\",\r\n \"capacity\": 1\r\n },\r\n \"properties\": + {\r\n \"singlePlacementGroup\": true,\r\n \"upgradePolicy\": {\r\n \"mode\": + \"Automatic\",\r\n \"rollingUpgradePolicy\": {\r\n \"maxBatchInstancePercent\": + 20,\r\n \"maxUnhealthyInstancePercent\": 20,\r\n \"maxUnhealthyUpgradedInstancePercent\": + 20,\r\n \"pauseTimeBetweenBatches\": \"PT0S\"\r\n },\r\n \"automaticOSUpgradePolicy\": + {\r\n \"enableAutomaticOSUpgrade\": true,\r\n \"useRollingUpgradePolicy\": + false,\r\n \"disableAutomaticRollback\": false\r\n }\r\n },\r\n + \ \"virtualMachineProfile\": {\r\n \"osProfile\": {\r\n \"computerNamePrefix\": + \"clite1792\",\r\n \"adminUsername\": \"azureuser\",\r\n \"windowsConfiguration\": + {\r\n \"provisionVMAgent\": true,\r\n \"enableAutomaticUpdates\": + false\r\n },\r\n \"secrets\": [],\r\n \"allowExtensionOperations\": + true,\r\n \"requireGuestProvisionSignal\": true\r\n },\r\n \"storageProfile\": + {\r\n \"osDisk\": {\r\n \"osType\": \"Windows\",\r\n \"createOption\": + \"FromImage\",\r\n \"caching\": \"ReadWrite\",\r\n \"managedDisk\": + {\r\n \"storageAccountType\": \"Premium_LRS\"\r\n },\r\n + \ \"diskSizeGB\": 127\r\n },\r\n \"imageReference\": + {\r\n \"publisher\": \"MicrosoftWindowsServer\",\r\n \"offer\": + \"WindowsServer\",\r\n \"sku\": \"2016-Datacenter\",\r\n \"version\": + \"latest\"\r\n },\r\n \"dataDisks\": [\r\n {\r\n \"lun\": + 0,\r\n \"createOption\": \"Empty\",\r\n \"caching\": + \"None\",\r\n \"managedDisk\": {\r\n \"storageAccountType\": + \"Premium_LRS\"\r\n },\r\n \"diskSizeGB\": 2\r\n }\r\n + \ ]\r\n },\r\n \"networkProfile\": {\"networkInterfaceConfigurations\":[{\"name\":\"clite1792Nic\",\"properties\":{\"primary\":true,\"enableAcceleratedNetworking\":false,\"dnsSettings\":{\"dnsServers\":[]},\"enableIPForwarding\":false,\"ipConfigurations\":[{\"name\":\"clite1792IPConfig\",\"properties\":{\"subnet\":{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/clitestvmssVNET/subnets/clitestvmssSubnet\"},\"privateIPAddressVersion\":\"IPv4\",\"loadBalancerBackendAddressPools\":[{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/loadBalancers/clitestvmssLB/backendAddressPools/clitestvmssLBBEPool\"}],\"loadBalancerInboundNatPools\":[{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/loadBalancers/clitestvmssLB/inboundNatPools/clitestvmssLBNatPool\"}]}}]}}]},\r\n + \ \"extensionProfile\": {\r\n \"extensions\": [\r\n {\r\n + \ \"name\": \"Microsoft.Azure.Security.AntimalwareSignature.AntimalwareConfiguration\",\r\n + \ \"properties\": {\r\n \"autoUpgradeMinorVersion\": + true,\r\n \"enableAutomaticUpgrade\": true,\r\n \"publisher\": + \"Microsoft.Azure.Security.AntimalwareSignature\",\r\n \"type\": + \"AntimalwareConfiguration\",\r\n \"typeHandlerVersion\": \"2.0\",\r\n + \ \"settings\": {}\r\n }\r\n },\r\n {\r\n + \ \"name\": \"Microsoft.Azure.Geneva.GenevaMonitoring\",\r\n \"properties\": + {\r\n \"autoUpgradeMinorVersion\": true,\r\n \"enableAutomaticUpgrade\": + true,\r\n \"publisher\": \"Microsoft.Azure.Geneva\",\r\n \"type\": + \"GenevaMonitoring\",\r\n \"typeHandlerVersion\": \"2.0\",\r\n + \ \"settings\": {}\r\n }\r\n },\r\n {\r\n + \ \"name\": \"ApplicationHealthWindows\",\r\n \"properties\": + {\r\n \"autoUpgradeMinorVersion\": true,\r\n \"publisher\": + \"Microsoft.ManagedServices\",\r\n \"type\": \"ApplicationHealthWindows\",\r\n + \ \"typeHandlerVersion\": \"1.0\",\r\n \"settings\": + {\"protocol\":\"https\",\"port\":\"80\",\"requestPath\":\"/\"}\r\n }\r\n + \ }\r\n ]\r\n }\r\n },\r\n \"provisioningState\": + \"Succeeded\",\r\n \"overprovision\": true,\r\n \"doNotRunExtensionsOnOverprovisionedVMs\": + false,\r\n \"uniqueId\": \"d47a392f-29ab-4735-ab55-ae93559fbebc\"\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '4873' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:47:55 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 + x-ms-ratelimit-remaining-resource: + - Microsoft.Compute/GetVMScaleSet3Min;386,Microsoft.Compute/GetVMScaleSet30Min;2569 + status: + code: 200 + message: OK +- request: + body: '{"location": "westus2", "properties": {"namespace": "Microsoft.Maintenance", + "maintenanceScope": "OSImage", "visibility": "Custom", "maintenanceWindow": + {"startDateTime": "2025-09-30 08:00", "expirationDateTime": "9999-12-31 00:00", + "duration": "05:00", "timeZone": "Pacific Standard Time", "recurEvery": "Day"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - maintenance configuration create + Connection: + - keep-alive + Content-Length: + - '313' + Content-Type: + - application/json + ParameterSetName: + - --location --maintenance-scope --maintenance-window-duration --maintenance-window-expiration-date-time + --maintenance-window-recur-every --maintenance-window-start-date-time --maintenance-window-time-zone + --namespace --visibility --resource-group --resource-name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-maintenanceclient/unknown Python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1?api-version=2021-05-01 + response: + body: + string: "{\r\n \"location\": \"westus2\",\r\n \"tags\": {},\r\n \"properties\": + {\r\n \"namespace\": \"Microsoft.Maintenance\",\r\n \"extensionProperties\": + {},\r\n \"maintenanceScope\": \"OSImage\",\r\n \"maintenanceWindow\": + {\r\n \"startDateTime\": \"2025-09-30 08:00\",\r\n \"expirationDateTime\": + \"9999-12-31 00:00\",\r\n \"duration\": \"05:00\",\r\n \"timeZone\": + \"Pacific Standard Time\",\r\n \"recurEvery\": \"Day\"\r\n },\r\n + \ \"visibility\": \"Custom\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1\",\r\n + \ \"name\": \"configuration1\",\r\n \"type\": \"Microsoft.Maintenance/maintenanceConfigurations\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '755' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:48:02 GMT + expires: + - '-1' + pragma: + - no-cache + 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: + - maintenance configuration show + Connection: + - keep-alive + ParameterSetName: + - --resource-group --resource-name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-maintenanceclient/unknown Python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1?api-version=2021-05-01 + response: + body: + string: "{\r\n \"location\": \"westus2\",\r\n \"tags\": {},\r\n \"properties\": + {\r\n \"namespace\": \"Microsoft.Maintenance\",\r\n \"extensionProperties\": + {},\r\n \"maintenanceScope\": \"OSImage\",\r\n \"maintenanceWindow\": + {\r\n \"startDateTime\": \"2025-09-30 08:00\",\r\n \"expirationDateTime\": + \"9999-12-31 00:00\",\r\n \"duration\": \"05:00\",\r\n \"timeZone\": + \"Pacific Standard Time\",\r\n \"recurEvery\": \"Day\"\r\n },\r\n + \ \"visibility\": \"Custom\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/microsoft.maintenance/maintenanceconfigurations/configuration1\",\r\n + \ \"name\": \"configuration1\",\r\n \"type\": \"Microsoft.Maintenance/maintenanceConfigurations\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '755' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:48:05 GMT + expires: + - '-1' + pragma: + - no-cache + strict-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: + - maintenance configuration list + Connection: + - keep-alive + User-Agent: + - AZURECLI/2.23.0 azsdk-python-maintenanceclient/unknown Python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Maintenance/maintenanceConfigurations?api-version=2021-05-01 + response: + body: + string: '{"value":[{"location":"koreacentral","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrkoreacentral/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrsharedkoreacentral","name":"policydgnsrsharedkoreacentral","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"koreasouth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrkoreasouth/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrsharedkoreasouth","name":"policydgnsrsharedkoreasouth","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"japaneast","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrjapaneast/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrsharedjapaneast","name":"policydgnsrsharedjapaneast","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"southcentralus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrsouthcentralus/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrsharedsouthcentralus","name":"policydgnsrsharedsouthcentralus","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"brazilsouth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrbrazilsoutH/providers/Microsoft.Maintenance/maintenanceConfigurations/configsotaneja","name":"configsotaneja","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"brazilsouth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrbrazilsouTH/providers/Microsoft.Maintenance/maintenanceConfigurations/configsotaneja","name":"configsotaneja","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastasia","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsreastasia/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrsharedeastasia","name":"policydgnsrsharedeastasia","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westindia","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrwestindia/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrsharedwestindia","name":"policydgnsrsharedwestindia","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"australiaeast","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsraustraliaeast/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrsharedaustraliaeast","name":"policydgnsrsharedaustraliaeast","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"southeastasia","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrsoutheastasia/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrsharedsoutheastasia","name":"policydgnsrsharedsoutheastasia","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"australiasoutheast","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsraustraliasoutheast/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrsharedaustraliasoutheast","name":"policydgnsrsharedaustraliasoutheast","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"centralus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrcentralus/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrsharedcentralus","name":"policydgnsrsharedcentralus","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"canadacentral","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrcanadacentral/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrsharedcanadacentral","name":"policydgnsrsharedcanadacentral","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsreastus/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrsharedeastus","name":"policydgnsrsharedeastus","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westus2","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrwestus2/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrsharedwestus2","name":"policydgnsrsharedwestus2","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"brazilsouth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrbrazilsouth/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrsharedbrazilsouth","name":"policydgnsrsharedbrazilsouth","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastus2","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsreastus2/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrsharedeastus2","name":"policydgnsrsharedeastus2","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"northcentralus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrnorthcentralus/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrsharednorthcentralus","name":"policydgnsrsharednorthcentralus","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"northeurope","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrnortheurope/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrsharednortheurope","name":"policydgnsrsharednortheurope","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"uksouth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsruksouth/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrshareduksouth","name":"policydgnsrshareduksouth","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"ukwest","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrukwest/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrsharedukwest","name":"policydgnsrsharedukwest","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"francecentral","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrfrancecentral/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrsharedfrancecentral","name":"policydgnsrsharedfrancecentral","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westeurope","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrwesteurope/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrsharedwesteurope","name":"policydgnsrsharedwesteurope","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"southafricanorth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrsouthafricanorth/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrsharedsouthafricanorth","name":"policydgnsrsharedsouthafricanorth","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"australiacentral","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsraustraliacentral/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrsharedaustraliacentral","name":"policydgnsrsharedaustraliacentral","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"southafricanorth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrsouthafricanorth/providers/Microsoft.Maintenance/maintenanceConfigurations/configjusiever15","name":"configjusiever15","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"southafricanorth","tags":{},"properties":{"namespace":"Microsoft.Maintenance","extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrsouthafricanorth/providers/Microsoft.Maintenance/maintenanceConfigurations/configjusiever","name":"configjusiever","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"brazilsouth","tags":{},"properties":{"namespace":"Microsoft.Maintenance","extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrbrazilsouth/providers/Microsoft.Maintenance/maintenanceConfigurations/configjusiever","name":"configjusiever","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"canadaeast","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrcanadaeast/providers/Microsoft.Maintenance/maintenanceConfigurations/configjusiever","name":"configjusiever","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastasia","tags":{},"properties":{"namespace":"Microsoft.Maintenance","extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/pseastasia/providers/Microsoft.Maintenance/maintenanceConfigurations/psconfigeastasia","name":"psconfigeastasia","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"northcentralus","tags":{},"properties":{"namespace":"Microsoft.Maintenance","extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clinorthcentralus/providers/Microsoft.Maintenance/maintenanceConfigurations/clinorthusconfiguration","name":"clinorthusconfiguration","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastasia","tags":{},"properties":{"namespace":"Microsoft.Maintenance","extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clieastasia/providers/Microsoft.Maintenance/maintenanceConfigurations/clieastasiaconfigurationdh","name":"clieastasiaconfigurationdh","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastasia","tags":{},"properties":{"namespace":"Microsoft.Maintenance","extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clieastasia/providers/Microsoft.Maintenance/maintenanceConfigurations/clieastasiaconfigurationdng","name":"clieastasiaconfigurationdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastasia","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/pseastasia/providers/Microsoft.Maintenance/maintenanceConfigurations/pseastasiaconfigurationdh","name":"pseastasiaconfigurationdh","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastasia","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/pseastasia/providers/Microsoft.Maintenance/maintenanceConfigurations/pseastasiaconfigurationdng","name":"pseastasiaconfigurationdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"southcentralus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrsouthcentralus/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrdhsouthcentralus","name":"policydgnsrdhsouthcentralus","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"japanwest","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrjapanwest/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrdhjapanwest","name":"policydgnsrdhjapanwest","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"japaneast","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrjapaneast/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrdhjapaneast","name":"policydgnsrdhjapaneast","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"koreasouth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrkoreasouth/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrdhkoreasouth","name":"policydgnsrdhkoreasouth","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"southeastasia","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrsoutheastasia/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"australiasoutheast","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsraustraliasoutheast/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrdhaustraliasoutheast","name":"policydgnsrdhaustraliasoutheast","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westindia","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrwestindia/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrfullwestindia","name":"policydgnsrfullwestindia","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"southeastasia","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrsoutheastasia/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrdhsoutheastasia","name":"policydgnsrdhsoutheastasia","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"francecentral","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrfrancecentral/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrdhfrancecentral","name":"policydgnsrdhfrancecentral","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"canadacentral","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrcanadacentral/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrdhcanadacentral","name":"policydgnsrdhcanadacentral","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"francecentral","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrfrancecentral/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"northcentralus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrnorthcentralus/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrfullnorthcentralus","name":"policydgnsrfullnorthcentralus","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westeurope","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrwesteurope/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrdhwesteurope","name":"policydgnsrdhwesteurope","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"brazilsouth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrbrazilsouth/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrfullbrazilsouth","name":"policydgnsrfullbrazilsouth","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westus2","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrwestus2/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrdhwestus2","name":"policydgnsrdhwestus2","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"northcentralus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrnorthcentralus/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrdhnorthcentralus","name":"policydgnsrdhnorthcentralus","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"uksouth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsruksouth/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrdhuksouth","name":"policydgnsrdhuksouth","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"northeurope","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrnortheurope/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"northcentralus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrnorthcentralus/providers/Microsoft.Maintenance/maintenanceConfigurations/configjusiever131","name":"configjusiever131","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"japaneast","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrjapaneast/providers/Microsoft.Maintenance/maintenanceConfigurations/configjusiever131","name":"configjusiever131","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"koreacentral","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrkoreacentral/providers/Microsoft.Maintenance/maintenanceConfigurations/configjusiever131","name":"configjusiever131","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"koreasouth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrkoreasouth/providers/Microsoft.Maintenance/maintenanceConfigurations/configjusiever131","name":"configjusiever131","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westindia","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrwestindia/providers/Microsoft.Maintenance/maintenanceConfigurations/configjusiever131","name":"configjusiever131","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"australiasoutheast","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsraustraliasoutheast/providers/Microsoft.Maintenance/maintenanceConfigurations/configjusiever131","name":"configjusiever131","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"southcentralus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrsouthcentralus/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrsharedsouthcentralus","name":"policydgnsrsharedsouthcentralus","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"northcentralus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrnorthcentralus/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrsharednorthcentralus","name":"policydgnsrsharednorthcentralus","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"australiasoutheast","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsraustraliasoutheast/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrsharedaustraliasoutheast","name":"policydgnsrsharedaustraliasoutheast","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"australiacentral","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsraustraliacentral/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrsharedaustraliacentral","name":"policydgnsrsharedaustraliacentral","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westeurope","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrwesteurope/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrsharedwesteurope","name":"policydgnsrsharedwesteurope","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westus2","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrwestus2/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrsharedwestus2","name":"policydgnsrsharedwestus2","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"brazilsouth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrbrazilsouth/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrsharedbrazilsouth","name":"policydgnsrsharedbrazilsouth","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"southafricanorth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrsouthafricanorth/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrsharedsouthafricanorth","name":"policydgnsrsharedsouthafricanorth","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"uksouth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsruksouth/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrshareduksouth","name":"policydgnsrshareduksouth","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"centralus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrcentralus/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrsharedcentralus","name":"policydgnsrsharedcentralus","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastus2","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsreastus2/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrsharedeastus2","name":"policydgnsrsharedeastus2","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"northeurope","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrnortheurope/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrsharednortheurope","name":"policydgnsrsharednortheurope","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"koreasouth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrkoreasouth/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrsharedkoreasouth","name":"policydgnsrsharedkoreasouth","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsreastus/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrsharedeastus","name":"policydgnsrsharedeastus","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westindia","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrwestindia/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrsharedwestindia","name":"policydgnsrsharedwestindia","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastasia","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsreastasia/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrsharedeastasia","name":"policydgnsrsharedeastasia","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"canadacentral","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrcanadacentral/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrsharedcanadacentral","name":"policydgnsrsharedcanadacentral","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"australiaeast","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsraustraliaeast/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrsharedaustraliaeast","name":"policydgnsrsharedaustraliaeast","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"japaneast","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrjapaneast/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrsharedjapaneast","name":"policydgnsrsharedjapaneast","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"koreacentral","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrkoreacentral/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrsharedkoreacentral","name":"policydgnsrsharedkoreacentral","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"francecentral","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrfrancecentral/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrsharedfrancecentral","name":"policydgnsrsharedfrancecentral","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"ukwest","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrukwest/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrsharedukwest","name":"policydgnsrsharedukwest","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"southeastasia","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrsoutheastasia/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrsharedsoutheastasia","name":"policydgnsrsharedsoutheastasia","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"koreasouth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dbgkoreasouth/providers/microsoft.maintenance/maintenanceconfigurations/defaultmaintenanceconfiguration-koreasouth","name":"defaultMaintenanceConfiguration-koreasouth","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"koreacentral","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dbgkoreacentral/providers/microsoft.maintenance/maintenanceconfigurations/defaultmaintenanceconfiguration-koreacentral","name":"defaultMaintenanceConfiguration-koreacentral","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westus2","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/testatrg/providers/microsoft.maintenance/maintenanceconfigurations/defaultmcwestus2","name":"defaultmcwestus2","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westus2","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/testatrg/providers/microsoft.maintenance/maintenanceconfigurations/defaultmcnorthcentralus","name":"defaultmcnorthcentralus","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"northcentralus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/psnorthcentralus/providers/microsoft.maintenance/maintenanceconfigurations/defaultmcnorthcentralus","name":"defaultmcnorthcentralus","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westus2","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/testatrg/providers/microsoft.maintenance/maintenanceconfigurations/defaultmaintenanceconfiguration","name":"defaultMaintenanceConfiguration","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"northcentralus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/psnorthcentralus/providers/microsoft.maintenance/maintenanceconfigurations/defaultmaintenanceconfiguration","name":"defaultMaintenanceConfiguration","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"northcentralus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clinorthcentralus/providers/microsoft.maintenance/maintenanceconfigurations/portaltestconfig","name":"portaltestconfig","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"northcentralus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/netsdknorthcentralus/providers/microsoft.maintenance/maintenanceconfigurations/netsdknorthcentralusconfigurationfull","name":"netsdknorthcentralusconfigurationfull","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"centralus","tags":{"tag1":"bugbash"},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/portalbugbash/providers/microsoft.maintenance/maintenanceconfigurations/scenario1","name":"scenario1","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"koreacentral","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrkoreacentral/providers/microsoft.maintenance/maintenanceconfigurations/defaultmaintenanceconfiguration-koreacentral","name":"defaultMaintenanceConfiguration-koreacentral","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westeurope","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrwesteurope/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"northeurope","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrnortheurope/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"northcentralus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/psnorthcentralus/providers/microsoft.maintenance/maintenanceconfigurations/psnorthusconfigurationfull","name":"psnorthusconfigurationfull","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastasia","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/pseastasia/providers/microsoft.maintenance/maintenanceconfigurations/pseastasiaconfigurationdh","name":"pseastasiaconfigurationdh","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"centralus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrcentralus/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"koreasouth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Resource","maintenanceWindow":{"startDateTime":"0001-01-01 + 00:00","duration":"05:00","timeZone":"India Standard Time","recurEvery":"0"},"visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/schedulerrg/providers/microsoft.maintenance/maintenanceconfigurations/afecflagkoreasouth","name":"afecFlagKoreaSouth","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"canadacentral","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Resource","maintenanceWindow":{"startDateTime":"2021-01-05 + 05:00","duration":"05:00","timeZone":"Romance Standard Time","recurEvery":"1Day"},"visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/schedulerrg/providers/microsoft.maintenance/maintenanceconfigurations/afecflagcanada","name":"afecFlagCanada","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"WESTEUROPE","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Resource","maintenanceWindow":{"startDateTime":"0001-01-01 + 00:00","duration":"05:00","timeZone":"Central Europe standard Time","recurEvery":"0"},"visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/schedulerrg/providers/microsoft.maintenance/maintenanceconfigurations/afecflageurope","name":"afecFlagEurope","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westcentralus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Resource, + InResource","maintenanceWindow":{"startDateTime":"0001-01-01 00:00","duration":"05:00","timeZone":"Central + standard Time","recurEvery":"0"},"visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/schedulerrg/providers/microsoft.maintenance/maintenanceconfigurations/afecflagus3","name":"afecFlagUS3","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"uksouth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsruksouth/providers/microsoft.maintenance/maintenanceconfigurations/testargconfiguration1","name":"testARGConfiguration1","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastasia","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","maintenanceWindow":{"startDateTime":"2020-09-19 + 14:53","duration":"02:00","timeZone":"Pacific Standard Time","recurEvery":"week + sunday"},"visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/schedulerrg/providers/microsoft.maintenance/maintenanceconfigurations/hosttestingscope","name":"HostTestingscope","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westindia","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrwestindia/providers/microsoft.maintenance/maintenanceconfigurations/testpowershellconfig","name":"testpowershellconfig","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westindia","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrwestindia/providers/microsoft.maintenance/maintenanceconfigurations/soniapowershell","name":"soniapowershell","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","maintenanceWindow":{"startDateTime":"2020-09-01 + 12:30","expirationDateTime":"9999-12-31 23:59","duration":"05:00","timeZone":"Pacific + Standard Time","recurEvery":"Day"},"visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/ps8596/providers/microsoft.maintenance/maintenanceconfigurations/ps5164","name":"ps5164","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","maintenanceWindow":{"startDateTime":"2020-09-01 + 12:30","expirationDateTime":"9999-12-31 23:59","duration":"05:00","timeZone":"Pacific + Standard Time","recurEvery":"Day"},"visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/ps9969/providers/microsoft.maintenance/maintenanceconfigurations/ps227","name":"ps227","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","maintenanceWindow":{"startDateTime":"2020-09-01 + 12:30","expirationDateTime":"9999-12-31 23:59","duration":"05:00","timeZone":"Pacific + Standard Time","recurEvery":"Day"},"visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/ps4851/providers/microsoft.maintenance/maintenanceconfigurations/ps132","name":"ps132","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","maintenanceWindow":{"startDateTime":"2020-09-01 + 12:30","expirationDateTime":"9999-12-31 23:59","duration":"05:00","timeZone":"Pacific + Standard Time","recurEvery":"Day"},"visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/ps5895/providers/microsoft.maintenance/maintenanceconfigurations/ps4366","name":"ps4366","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/ps3332/providers/microsoft.maintenance/maintenanceconfigurations/ps404","name":"ps404","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/ps9548/providers/microsoft.maintenance/maintenanceconfigurations/ps567","name":"ps567","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/ps3221/providers/microsoft.maintenance/maintenanceconfigurations/ps5992","name":"ps5992","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/ps9573/providers/microsoft.maintenance/maintenanceconfigurations/ps575","name":"ps575","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westus2","tags":{},"properties":{"namespace":"Microsoft.Maintenance","extensionProperties":{},"maintenanceScope":"OSImage","maintenanceWindow":{"startDateTime":"2020-09-30 + 08:00","expirationDateTime":"9999-12-31 00:00","duration":"05:00","timeZone":"Pacific + Standard Time","recurEvery":"Month Third Sunday"},"visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitests5f7aik4kielzdkgwmkwjyxpjzokzgfpgfivhyj7wne4w7wl6shvtm3xsunnzt76rcet/providers/microsoft.maintenance/maintenanceconfigurations/configuration1","name":"configuration1","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westus2","tags":{},"properties":{"namespace":"Microsoft.Maintenance","extensionProperties":{},"maintenanceScope":"OSImage","maintenanceWindow":{"startDateTime":"2020-09-30 + 08:00","expirationDateTime":"9999-12-31 00:00","duration":"05:00","timeZone":"Pacific + Standard Time","recurEvery":"Month Third Sunday"},"visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitestbjnoqkenrf5azew3kgnabym44odg7prhbgld62256xzyrysux4j7uag3cjosjnh4vr6o/providers/microsoft.maintenance/maintenanceconfigurations/configuration1","name":"configuration1","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westus2","tags":{},"properties":{"namespace":"Microsoft.Maintenance","extensionProperties":{},"maintenanceScope":"OSImage","maintenanceWindow":{"startDateTime":"2020-09-30 + 08:00","expirationDateTime":"9999-12-31 00:00","duration":"05:00","timeZone":"Pacific + Standard Time","recurEvery":"Month Third Sunday"},"visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest4m7giv6zpf3q5vef7j3msfh3nsgpzqdfsh4sh3daxxvfrnmb6guxwefrdjrgxeo3ojvw/providers/microsoft.maintenance/maintenanceconfigurations/configuration1","name":"configuration1","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westus2","tags":{},"properties":{"namespace":"Microsoft.Maintenance","extensionProperties":{},"maintenanceScope":"OSImage","maintenanceWindow":{"startDateTime":"2020-09-30 + 08:00","expirationDateTime":"9999-12-31 00:00","duration":"05:00","timeZone":"Pacific + Standard Time","recurEvery":"Month Third Sunday"},"visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitestqm2p2j4y45bdhruz5u22egugnh2mbsfo7ycpzsy33taklfoaa7u4jte2dz2nghrd56oq/providers/microsoft.maintenance/maintenanceconfigurations/configuration1","name":"configuration1","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"centralus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"OSImage","maintenanceWindow":{"startDateTime":"2021-09-01 + 00:00","expirationDateTime":"2021-10-04 00:00","duration":"05:00","timeZone":"Pacific + Standard Time","recurEvery":"20Days"},"visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/schedulerrg/providers/microsoft.maintenance/maintenanceconfigurations/pstest","name":"pstest","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westus2","tags":{},"properties":{"namespace":"Microsoft.Maintenance","extensionProperties":{},"maintenanceScope":"OSImage","maintenanceWindow":{"startDateTime":"2020-09-30 + 08:00","expirationDateTime":"9999-12-31 00:00","duration":"05:00","timeZone":"Pacific + Standard Time","recurEvery":"Month Third Sunday"},"visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitestf5ivvpypbhqgzkft234pqqqm3rmaueztclxupbsi4it2tknktbbt5dogcp74ybrjjnmd/providers/microsoft.maintenance/maintenanceconfigurations/configuration1","name":"configuration1","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"centralus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","maintenanceWindow":{"startDateTime":"2020-09-07 + 00:00","expirationDateTime":"2021-02-06 00:00","duration":"05:00","timeZone":"India + Standard Time","recurEvery":"16Day"},"visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/shantstest/providers/microsoft.maintenance/maintenanceconfigurations/testschedule","name":"TestSchedule","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"southindia","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrsouthindia/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrfullsouthindia","name":"policydgnsrfullsouthindia","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"koreasouth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrkoreasouth/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrfullkoreasouth","name":"policydgnsrfullkoreasouth","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"brazilsouth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrbrazilsouth/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrfullbrazilsouth","name":"policydgnsrfullbrazilsouth","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"australiasoutheast","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsraustraliasoutheast/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrfullaustraliasoutheast","name":"policydgnsrfullaustraliasoutheast","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"ukwest","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrukwest/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrfullukwest","name":"policydgnsrfullukwest","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"northcentralus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrnorthcentralus/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrfullnorthcentralus","name":"policydgnsrfullnorthcentralus","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westindia","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrwestindia/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrfullwestindia","name":"policydgnsrfullwestindia","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"canadacentral","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrcanadacentral/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrfullcanadacentral","name":"policydgnsrfullcanadacentral","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"koreacentral","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrkoreacentral/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrfullkoreacentral","name":"policydgnsrfullkoreacentral","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"japaneast","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrjapaneast/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrfulljapaneast","name":"policydgnsrfulljapaneast","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"uksouth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsruksouth/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrfulluksouth","name":"policydgnsrfulluksouth","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"centralus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/shantstest/providers/microsoft.maintenance/maintenanceconfigurations/defaultmaintenanceconfiguration-centralus","name":"defaultMaintenanceConfiguration-centralus","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"japaneast","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrjapaneast/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westus","tags":{"slatest":"jihou"},"properties":{"extensionProperties":{},"maintenanceScope":"Host","maintenanceWindow":{"startDateTime":"2020-10-26 + 20:00","duration":"02:00","timeZone":"Pacific Standard Time","recurEvery":"1Day"},"visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/canarytest/providers/microsoft.maintenance/maintenanceconfigurations/slatest","name":"SLAtest","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westus","tags":{"vm":"slatest"},"properties":{"extensionProperties":{},"maintenanceScope":"Host","maintenanceWindow":{"startDateTime":"2020-10-23 + 00:00","duration":"02:00","timeZone":"Pacific Standard Time","recurEvery":"1Day"},"visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/canarytest/providers/microsoft.maintenance/maintenanceconfigurations/slatest2","name":"slatest2","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"germanywestcentral","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/maintenancepolicies/providers/microsoft.maintenance/maintenanceconfigurations/hostmaintenance","name":"HostMaintenance","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"koreasouth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","maintenanceWindow":{"startDateTime":"2020-11-18 + 00:00","duration":"05:00","timeZone":"Pacific Standard Time","recurEvery":"1Week + Monday"},"visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/schedulerrg/providers/microsoft.maintenance/maintenanceconfigurations/dailyscheduleconfig","name":"dailyscheduleconfig","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastus2","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/canarytest/providers/microsoft.maintenance/maintenanceconfigurations/patchbug","name":"patchbug","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastasia","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/canarytest/providers/microsoft.maintenance/maintenanceconfigurations/patchtest1","name":"patchtest1","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westeurope","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/canarytest/providers/microsoft.maintenance/maintenanceconfigurations/difflanguagetest","name":"difflanguagetest","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsreastus/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"southcentralus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrsouthcentralus/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"southcentralus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrsouthcentralus/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdhsouthcentralus","name":"policydgnsrdhsouthcentralus","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"centralindia","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrcentralindia/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdhcentralindia","name":"policydgnsrdhcentralindia","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"southindia","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrsouthindia/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdhsouthindia","name":"policydgnsrdhsouthindia","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"koreasouth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrkoreasouth/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"francecentral","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrfrancecentral/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdhfrancecentral","name":"policydgnsrdhfrancecentral","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westus2","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrwestus2/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"japanwest","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrjapanwest/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdhjapanwest","name":"policydgnsrdhjapanwest","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"koreasouth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrkoreasouth/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdhkoreasouth","name":"policydgnsrdhkoreasouth","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"francecentral","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrfrancecentral/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westus2","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrwestus2/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdhwestus2","name":"policydgnsrdhwestus2","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"koreacentral","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrkoreacentral/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"koreacentral","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrkoreacentral/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdhkoreacentral","name":"policydgnsrdhkoreacentral","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"southeastasia","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrsoutheastasia/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdhsoutheastasia","name":"policydgnsrdhsoutheastasia","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"southeastasia","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrsoutheastasia/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"canadacentral","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrcanadacentral/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdhcanadacentral","name":"policydgnsrdhcanadacentral","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"australiaeast","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsraustraliaeast/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"japaneast","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrjapaneast/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdhjapaneast","name":"policydgnsrdhjapaneast","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"canadacentral","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrcanadacentral/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"brazilsouth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrbrazilsouth/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westeurope","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrwesteurope/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdhwesteurope","name":"policydgnsrdhwesteurope","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastus2","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsreastus2/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastus2","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsreastus2/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdheastus2","name":"policydgnsrdheastus2","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westindia","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrwestindia/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdhwestindia","name":"policydgnsrdhwestindia","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrwestus/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdhwestus","name":"policydgnsrdhwestus","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"brazilsouth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrbrazilsouth/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdhbrazilsouth","name":"policydgnsrdhbrazilsouth","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westindia","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrwestindia/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"australiacentral","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsraustraliacentral/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"australiacentral","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsraustraliacentral/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdhaustraliacentral","name":"policydgnsrdhaustraliacentral","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"ukwest","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrukwest/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdhukwest","name":"policydgnsrdhukwest","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"ukwest","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrukwest/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"northcentralus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrnorthcentralus/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"northcentralus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrnorthcentralus/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdhnorthcentralus","name":"policydgnsrdhnorthcentralus","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"centralus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrcentralus/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdhcentralus","name":"policydgnsrdhcentralus","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"northeurope","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrnortheurope/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdhnortheurope","name":"policydgnsrdhnortheurope","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"southafricanorth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrsouthafricanorth/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastasia","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsreastasia/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdheastasia","name":"policydgnsrdheastasia","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"southafricanorth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrsouthafricanorth/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdhsouthafricanorth","name":"policydgnsrdhsouthafricanorth","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastasia","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsreastasia/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"uksouth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsruksouth/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdhuksouth","name":"policydgnsrdhuksouth","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"australiasoutheast","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsraustraliasoutheast/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"australiasoutheast","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsraustraliasoutheast/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdhaustraliasoutheast","name":"policydgnsrdhaustraliasoutheast","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"uksouth","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsruksouth/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsreastus/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdheastus","name":"policydgnsrdheastus","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"canadaeast","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrcanadaeast/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdhcanadaeast","name":"policydgnsrdhcanadaeast","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westus","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrwestus/providers/microsoft.maintenance/maintenanceconfigurations/gautamdhostwestus","name":"gautamdHostWestUS","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"japanwest","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","maintenanceWindow":{"startDateTime":"2021-05-12 + 00:00","duration":"02:00","timeZone":"India Standard Time","recurEvery":"1Month + Second Tuesday"},"visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/canarytest/providers/microsoft.maintenance/maintenanceconfigurations/testinguestpatchconfig","name":"TestInGuestPatchConfig","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westus2","tags":{},"properties":{"namespace":"Microsoft.Maintenance","extensionProperties":{},"maintenanceScope":"OSImage","maintenanceWindow":{"startDateTime":"2021-05-30 + 08:00","duration":"05:00","timeZone":"Pacific Standard Time","recurEvery":"Day"},"visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asc-vmss-test/providers/microsoft.maintenance/maintenanceconfigurations/insampre-vmss-mc","name":"insampre-vmss-mc","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westus2","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/canarytestuseast2euap/providers/microsoft.maintenance/maintenanceconfigurations/testga2021","name":"TestGA2021","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"westus2","tags":{},"properties":{"namespace":"Microsoft.Maintenance","extensionProperties":{},"maintenanceScope":"OSImage","maintenanceWindow":{"startDateTime":"2025-09-30 + 08:00","expirationDateTime":"9999-12-31 00:00","duration":"05:00","timeZone":"Pacific + Standard Time","recurEvery":"Day"},"visibility":"Custom"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/microsoft.maintenance/maintenanceconfigurations/configuration1","name":"configuration1","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastus2euap","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom","configurationType":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsreastus2euap/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrsharedeastus2euap","name":"policydgnsrsharedeastus2euap","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"centraluseuap","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom","configurationType":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrcentraluseuap/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrsharedcentraluseuap","name":"policydgnsrsharedcentraluseuap","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"centraluseuap","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom","configurationType":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrcentraluseuap/providers/Microsoft.Maintenance/maintenanceConfigurations/configjusiever","name":"configjusiever","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"centraluseuap","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom","configurationType":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrcentraluseuap/providers/Microsoft.Maintenance/maintenanceConfigurations/configshvenk","name":"configshvenk","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastus2euap","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom","configurationType":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsreastus2euap/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrdheastus2euap","name":"policydgnsrdheastus2euap","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastus2euap","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom","configurationType":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsreastus2euap/providers/Microsoft.Maintenance/maintenanceConfigurations/policydgnsrfulleastus2euap","name":"policydgnsrfulleastus2euap","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"centraluseuap","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom","configurationType":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrcentraluseuap/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrsharedcentraluseuap","name":"policydgnsrsharedcentraluseuap","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastus2euap","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom","configurationType":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsreastus2euap/providers/Microsoft.Maintenance/maintenanceConfigurations/testARGConfiguration3","name":"testARGConfiguration3","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"centraluseuap","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom","configurationType":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrcentraluseuap/providers/Microsoft.Maintenance/maintenanceConfigurations/gautamdPolicy","name":"gautamdPolicy","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastus2euap","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom","configurationType":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsreastus2euap/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrfulleastus2euap","name":"policydgnsrfulleastus2euap","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastus2euap","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom","configurationType":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsreastus2euap/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrsharedeastus2euap","name":"policydgnsrsharedeastus2euap","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastus2euap","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom","configurationType":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsreastus2euap/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastus2euap","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom","configurationType":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsreastus2euap/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdheastus2euap","name":"policydgnsrdheastus2euap","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"centraluseuap","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom","configurationType":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrcentraluseuap/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdng","name":"policydgnsrdng","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"centraluseuap","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom","configurationType":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrcentraluseuap/providers/microsoft.maintenance/maintenanceconfigurations/policydgnsrdhcentraluseuap","name":"policydgnsrdhcentraluseuap","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastus2euap","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom","configurationType":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsreastus2euap/providers/microsoft.maintenance/maintenanceconfigurations/testargconfiguration9","name":"testARGConfiguration9","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastus2euap","tags":{},"properties":{"extensionProperties":{"publicMaintenanceConfigurationId":"soniasql","isAvailable":"false"},"maintenanceScope":"SQLDB","maintenanceWindow":{"startDateTime":"2020-08-19 + 03:00","expirationDateTime":"9999-12-31 23:59","duration":"05:00","timeZone":"Pacific + Standard Time","recurEvery":"Day"},"visibility":"Public","configurationType":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/schedulerrg/providers/microsoft.maintenance/maintenanceconfigurations/soniasql","name":"soniasql","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastus2euap","tags":{},"properties":{"namespace":"Microsoft.Maintenance","extensionProperties":{"publicMaintenanceConfigurationId":"sqlcli","isAvailable":"true"},"maintenanceScope":"SQLDB","maintenanceWindow":{"startDateTime":"2020-09-30 + 08:00","expirationDateTime":"9999-12-31 00:00","duration":"05:00","timeZone":"Pacific + Standard Time","recurEvery":"Day"},"visibility":"Public","configurationType":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/schedulerrg/providers/microsoft.maintenance/maintenanceconfigurations/sqlcli","name":"sqlcli","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastus2euap","tags":{},"properties":{"namespace":"Microsoft.Maintenance","extensionProperties":{"publicMaintenanceConfigurationId":"sqlcliv2","isAvailable":"true"},"maintenanceScope":"SQLDB","maintenanceWindow":{"startDateTime":"2020-09-30 + 08:00","expirationDateTime":"9999-12-31 00:00","duration":"05:00","timeZone":"Pacific + Standard Time","recurEvery":"Day"},"visibility":"Custom","configurationType":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/schedulerrg/providers/microsoft.maintenance/maintenanceconfigurations/sqlcliv2","name":"sqlcliv2","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"centraluseuap","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","maintenanceWindow":{"startDateTime":"2020-09-05 + 05:45","expirationDateTime":"9999-12-31 23:59","duration":"02:00","timeZone":"Pacific + Standard Time","recurEvery":"Day"},"visibility":"Custom","configurationType":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/dgnsrcentraluseuap/providers/microsoft.maintenance/maintenanceconfigurations/configshvenk","name":"configshvenk","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastus2euap","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","maintenanceWindow":{"startDateTime":"2020-10-22 + 12:00","duration":"02:00","timeZone":"Pacific Standard Time","recurEvery":"1Day"},"visibility":"Custom","configurationType":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/canarytest/providers/microsoft.maintenance/maintenanceconfigurations/slatest3","name":"slatest3","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"centraluseuap","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","maintenanceWindow":{"startDateTime":"2020-10-22 + 17:00","duration":"02:00","timeZone":"Pacific Standard Time","recurEvery":"1Day"},"visibility":"Custom","configurationType":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/canarytest/providers/microsoft.maintenance/maintenanceconfigurations/slatest4","name":"slatest4","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastus2euap","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"All","visibility":"Custom","configurationType":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/canarytest/providers/microsoft.maintenance/maintenanceconfigurations/defaultmaintenanceconfiguration-eastus2euap","name":"defaultMaintenanceConfiguration-eastus2euap","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"centraluseuap","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"InGuestPatch","maintenanceWindow":{"startDateTime":"2020-11-23 + 00:00","duration":"05:00","timeZone":"Pacific Standard Time","recurEvery":"1Day"},"visibility":"Custom","configurationType":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/canarytest/providers/microsoft.maintenance/maintenanceconfigurations/patchtest","name":"patchtest","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"centraluseuap","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom","configurationType":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/canarytest/providers/microsoft.maintenance/maintenanceconfigurations/canarytestmaintenanceconfig","name":"CanaryTestMaintenanceConfig","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"eastus2euap","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Host","visibility":"Custom","configurationType":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/vmsstestrg/providers/microsoft.maintenance/maintenanceconfigurations/testvmssconfig","name":"testvmssconfig","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"centraluseuap","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"InGuestPatch","maintenanceWindow":{"startDateTime":"2021-04-30 + 08:00","expirationDateTime":"9999-12-31 00:00","duration":"05:00","timeZone":"Pacific + Standard Time","recurEvery":"5Days"},"visibility":"Custom","configurationType":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/canarytest/providers/microsoft.maintenance/maintenanceconfigurations/gautamdinguestpatchdefault","name":"gautamdInGuestPatchDefault","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"centraluseuap","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"OSImage","maintenanceWindow":{"startDateTime":"2021-04-30 + 08:00","expirationDateTime":"9999-12-31 00:00","duration":"05:00","timeZone":"Pacific + Standard Time","recurEvery":"5Days"},"visibility":"Custom","configurationType":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/vmsstestrg/providers/microsoft.maintenance/maintenanceconfigurations/testvmssconfigosimage","name":"testvmssconfigOSImage","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"centraluseuap","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"OSImage","visibility":"Custom","configurationType":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/canarytest/providers/microsoft.maintenance/maintenanceconfigurations/osimagewithoutschedule","name":"osimagewithoutschedule","type":"Microsoft.Maintenance/maintenanceConfigurations"},{"location":"centraluseuap","tags":{},"properties":{"extensionProperties":{},"maintenanceScope":"Extension","visibility":"Custom","configurationType":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/canarytest/providers/microsoft.maintenance/maintenanceconfigurations/extensionwithoutschedule","name":"extensionwithoutschedule","type":"Microsoft.Maintenance/maintenanceConfigurations"}]}' + headers: + cache-control: + - no-cache + content-length: + - '91895' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:48:10 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: + - 377c2f45-4c77-483f-8d87-607ce4d58a9f + - 377c2f45-4c77-483f-8d87-607ce4d58a9f + status: + code: 200 + message: OK +- request: + body: '{"location": "westus2", "properties": {"namespace": "Microsoft.Maintenance", + "maintenanceScope": "OSImage", "visibility": "Custom", "maintenanceWindow": + {"startDateTime": "2025-09-30 08:00", "expirationDateTime": "9999-12-31 00:00", + "duration": "05:00", "timeZone": "Pacific Standard Time", "recurEvery": "Day"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - maintenance configuration update + Connection: + - keep-alive + Content-Length: + - '313' + Content-Type: + - application/json + ParameterSetName: + - --location --maintenance-scope --maintenance-window-duration --maintenance-window-expiration-date-time + --maintenance-window-recur-every --maintenance-window-start-date-time --maintenance-window-time-zone + --namespace --visibility --resource-group --resource-name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-maintenanceclient/unknown Python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1?api-version=2021-05-01 + response: + body: + string: "{\r\n \"location\": \"westus2\",\r\n \"tags\": {},\r\n \"properties\": + {\r\n \"namespace\": \"Microsoft.Maintenance\",\r\n \"extensionProperties\": + {},\r\n \"maintenanceScope\": \"OSImage\",\r\n \"maintenanceWindow\": + {\r\n \"startDateTime\": \"2025-09-30 08:00\",\r\n \"expirationDateTime\": + \"9999-12-31 00:00\",\r\n \"duration\": \"05:00\",\r\n \"timeZone\": + \"Pacific Standard Time\",\r\n \"recurEvery\": \"Day\"\r\n },\r\n + \ \"visibility\": \"Custom\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/microsoft.maintenance/maintenanceconfigurations/configuration1\",\r\n + \ \"name\": \"configuration1\",\r\n \"type\": \"Microsoft.Maintenance/maintenanceConfigurations\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '755' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:48:14 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1194' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - maintenance assignment create + Connection: + - keep-alive + ParameterSetName: + - --maintenance-configuration-id --provider-name --resource-group --resource-name + --name --resource-type + User-Agent: + - python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + msrest/0.6.21 msrest_azure/0.6.4 azure-mgmt-resource/12.1.0 Azure-SDK-For-Python + AZURECLI/2.23.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2020-10-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-05-13T15:35:33Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '428' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:48:19 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: '{"location": "westus", "properties": {"maintenanceConfigurationId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - maintenance assignment create + Connection: + - keep-alive + Content-Length: + - '287' + Content-Type: + - application/json + ParameterSetName: + - --maintenance-configuration-id --provider-name --resource-group --resource-name + --name --resource-type + User-Agent: + - AZURECLI/2.23.0 azsdk-python-maintenanceclient/unknown Python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Compute/virtualMachineScaleSets/clitestvmss/providers/Microsoft.Maintenance/configurationAssignments/configuration1?api-version=2021-05-01 + response: + body: + string: "{\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"maintenanceConfigurationId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1\",\r\n + \ \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/microsoft.compute/virtualmachinescalesets/clitestvmss\"\r\n + \ },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/microsoft.compute/virtualmachinescalesets/clitestvmss/providers/Microsoft.Maintenance/configurationAssignments/configuration1\",\r\n + \ \"name\": \"configuration1\",\r\n \"type\": \"Microsoft.Maintenance/configurationAssignments\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '916' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:48:22 GMT + expires: + - '-1' + pragma: + - no-cache + 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: + - maintenance assignment list + Connection: + - keep-alive + ParameterSetName: + - --provider-name --resource-group --resource-name --resource-type + User-Agent: + - AZURECLI/2.23.0 azsdk-python-maintenanceclient/unknown Python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Compute/virtualMachineScaleSets/clitestvmss/providers/Microsoft.Maintenance/configurationAssignments?api-version=2021-05-01 + response: + body: + string: "{\r\n \"value\": [\r\n {\r\n \"properties\": {\r\n \"maintenanceConfigurationId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1\"\r\n + \ },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Compute/virtualMachineScaleSets/clitestvmss/providers/Microsoft.Maintenance/configurationAssignments/configuration1\",\r\n + \ \"name\": \"configuration1\",\r\n \"type\": \"Microsoft.Maintenance/configurationAssignments\"\r\n + \ }\r\n ]\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '719' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:48:26 GMT + expires: + - '-1' + pragma: + - no-cache + strict-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: + - maintenance public-configuration show + Connection: + - keep-alive + ParameterSetName: + - --resource-name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-maintenanceclient/unknown Python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/sql2?api-version=2021-05-01 + response: + body: + string: "{\r\n \"location\": \"eastus2euap\",\r\n \"tags\": {},\r\n \"properties\": + {\r\n \"extensionProperties\": {},\r\n \"maintenanceScope\": \"SQLDB\",\r\n + \ \"maintenanceWindow\": {\r\n \"startDateTime\": \"2020-08-12 03:00\",\r\n + \ \"expirationDateTime\": \"9999-12-31 23:59\",\r\n \"duration\": + \"05:00\",\r\n \"timeZone\": \"Pacific Standard Time\",\r\n \"recurEvery\": + \"Day\"\r\n },\r\n \"visibility\": \"Public\",\r\n \"configurationType\": + \"Standard\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/sql2\",\r\n + \ \"name\": \"sql2\",\r\n \"type\": \"Microsoft.Maintenance/publicMaintenanceConfigurations\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '653' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:48:30 GMT + expires: + - '-1' + pragma: + - no-cache + strict-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: + - maintenance public-configuration list + Connection: + - keep-alive + User-Agent: + - AZURECLI/2.23.0 azsdk-python-maintenanceclient/unknown Python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Maintenance/publicMaintenanceConfigurations?api-version=2021-05-01 + response: + body: + string: "{\r\n \"value\": [\r\n {\r\n \"location\": \"eastus2euap\",\r\n + \ \"tags\": {},\r\n \"properties\": {\r\n \"extensionProperties\": + {},\r\n \"maintenanceScope\": \"SQLDB\",\r\n \"maintenanceWindow\": + {\r\n \"startDateTime\": \"2020-08-12 03:00\",\r\n \"expirationDateTime\": + \"9999-12-31 23:59\",\r\n \"duration\": \"05:00\",\r\n \"timeZone\": + \"Pacific Standard Time\",\r\n \"recurEvery\": \"Day\"\r\n },\r\n + \ \"visibility\": \"Public\",\r\n \"configurationType\": \"Standard\"\r\n + \ },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/sql2\",\r\n + \ \"name\": \"sql2\",\r\n \"type\": \"Microsoft.Maintenance/publicMaintenanceConfigurations\"\r\n + \ },\r\n {\r\n \"location\": \"eastus2euap\",\r\n \"tags\": + {},\r\n \"properties\": {\r\n \"namespace\": \"Microsoft.Maintenance\",\r\n + \ \"extensionProperties\": {},\r\n \"maintenanceScope\": \"SQLDB\",\r\n + \ \"maintenanceWindow\": {\r\n \"startDateTime\": \"2020-09-30 + 08:00\",\r\n \"expirationDateTime\": \"9999-12-31 00:00\",\r\n \"duration\": + \"05:00\",\r\n \"timeZone\": \"Pacific Standard Time\",\r\n \"recurEvery\": + \"Day\"\r\n },\r\n \"visibility\": \"Public\",\r\n \"configurationType\": + \"Standard\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/sqlcli\",\r\n + \ \"name\": \"sqlcli\",\r\n \"type\": \"Microsoft.Maintenance/publicMaintenanceConfigurations\"\r\n + \ },\r\n {\r\n \"location\": \"eastus2euap\",\r\n \"tags\": + {},\r\n \"properties\": {\r\n \"extensionProperties\": {\r\n \"description\": + \"sql2\"\r\n },\r\n \"maintenanceScope\": \"SQLDB\",\r\n \"maintenanceWindow\": + {\r\n \"startDateTime\": \"2020-11-12 03:00\",\r\n \"duration\": + \"05:00\",\r\n \"timeZone\": \"Pacific Standard Time\",\r\n \"recurEvery\": + \"Day\"\r\n },\r\n \"visibility\": \"Public\",\r\n \"configurationType\": + \"Standard\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/soniasqltest\",\r\n + \ \"name\": \"soniasqltest\",\r\n \"type\": \"Microsoft.Maintenance/publicMaintenanceConfigurations\"\r\n + \ },\r\n {\r\n \"location\": \"eastus2euap\",\r\n \"tags\": + {},\r\n \"properties\": {\r\n \"extensionProperties\": {\r\n \"description\": + \"10:00 PM to 6:00 AM Eastern Standard Time, Monday to Thursday\"\r\n },\r\n + \ \"maintenanceScope\": \"SQLDB\",\r\n \"maintenanceWindow\": + {\r\n \"startDateTime\": \"2021-02-15 22:00\",\r\n \"duration\": + \"08:00\",\r\n \"timeZone\": \"Eastern Standard Time\",\r\n \"recurEvery\": + \"week Monday, Tuesday, Wednesday, Thursday\"\r\n },\r\n \"visibility\": + \"Public\",\r\n \"configurationType\": \"Standard\"\r\n },\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_EastUS2EUAP_DB_1\",\r\n + \ \"name\": \"SQL_EastUS2EUAP_DB_1\",\r\n \"type\": \"Microsoft.Maintenance/publicMaintenanceConfigurations\"\r\n + \ },\r\n {\r\n \"location\": \"centraluseuap\",\r\n \"tags\": + {},\r\n \"properties\": {\r\n \"extensionProperties\": {\r\n \"description\": + \"10:00 PM to 6:00 AM Central Standard Time, Monday to Thursday\"\r\n },\r\n + \ \"maintenanceScope\": \"SQLDB\",\r\n \"maintenanceWindow\": + {\r\n \"startDateTime\": \"2021-02-15 22:00\",\r\n \"duration\": + \"08:00\",\r\n \"timeZone\": \"Central Standard Time\",\r\n \"recurEvery\": + \"week Monday, Tuesday, Wednesday, Thursday\"\r\n },\r\n \"visibility\": + \"Public\",\r\n \"configurationType\": \"Standard\"\r\n },\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_CentralUSEUAP_DB_1\",\r\n + \ \"name\": \"SQL_CentralUSEUAP_DB_1\",\r\n \"type\": \"Microsoft.Maintenance/publicMaintenanceConfigurations\"\r\n + \ },\r\n {\r\n \"location\": \"eastus2euap\",\r\n \"tags\": + {},\r\n \"properties\": {\r\n \"extensionProperties\": {\r\n \"description\": + \"10:00 PM to 6:00 AM Eastern Standard Time, Friday to Sunday\"\r\n },\r\n + \ \"maintenanceScope\": \"SQLDB\",\r\n \"maintenanceWindow\": + {\r\n \"startDateTime\": \"2021-02-15 22:00\",\r\n \"duration\": + \"08:00\",\r\n \"timeZone\": \"Eastern Standard Time\",\r\n \"recurEvery\": + \"week Friday, Saturday, Sunday\"\r\n },\r\n \"visibility\": + \"Public\",\r\n \"configurationType\": \"Standard\"\r\n },\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_EastUS2EUAP_DB_2\",\r\n + \ \"name\": \"SQL_EastUS2EUAP_DB_2\",\r\n \"type\": \"Microsoft.Maintenance/publicMaintenanceConfigurations\"\r\n + \ },\r\n {\r\n \"location\": \"centraluseuap\",\r\n \"tags\": + {},\r\n \"properties\": {\r\n \"extensionProperties\": {\r\n \"description\": + \"10:00 PM to 6:00 AM Central Standard Time, Friday to Sunday\"\r\n },\r\n + \ \"maintenanceScope\": \"SQLDB\",\r\n \"maintenanceWindow\": + {\r\n \"startDateTime\": \"2021-02-15 22:00\",\r\n \"duration\": + \"08:00\",\r\n \"timeZone\": \"Central Standard Time\",\r\n \"recurEvery\": + \"week Friday, Saturday, Sunday\"\r\n },\r\n \"visibility\": + \"Public\",\r\n \"configurationType\": \"Standard\"\r\n },\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_CentralUSEUAP_DB_2\",\r\n + \ \"name\": \"SQL_CentralUSEUAP_DB_2\",\r\n \"type\": \"Microsoft.Maintenance/publicMaintenanceConfigurations\"\r\n + \ },\r\n {\r\n \"location\": \"centraluseuap\",\r\n \"tags\": + {},\r\n \"properties\": {\r\n \"extensionProperties\": {\r\n \"description\": + \"10:00 PM to 6:00 AM Central Standard Time, Monday to Thursday\"\r\n },\r\n + \ \"maintenanceScope\": \"SQLManagedInstance\",\r\n \"maintenanceWindow\": + {\r\n \"startDateTime\": \"2021-02-15 22:00\",\r\n \"duration\": + \"08:00\",\r\n \"timeZone\": \"Central Standard Time\",\r\n \"recurEvery\": + \"week Monday, Tuesday, Wednesday, Thursday\"\r\n },\r\n \"visibility\": + \"Public\",\r\n \"configurationType\": \"Standard\"\r\n },\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_CentralUSEUAP_MI_1\",\r\n + \ \"name\": \"SQL_CentralUSEUAP_MI_1\",\r\n \"type\": \"Microsoft.Maintenance/publicMaintenanceConfigurations\"\r\n + \ },\r\n {\r\n \"location\": \"eastus2euap\",\r\n \"tags\": + {},\r\n \"properties\": {\r\n \"extensionProperties\": {\r\n \"description\": + \"10:00 PM to 6:00 AM Eastern Standard Time, Monday to Thursday\"\r\n },\r\n + \ \"maintenanceScope\": \"SQLManagedInstance\",\r\n \"maintenanceWindow\": + {\r\n \"startDateTime\": \"2021-02-15 22:00\",\r\n \"duration\": + \"08:00\",\r\n \"timeZone\": \"Eastern Standard Time\",\r\n \"recurEvery\": + \"week Monday, Tuesday, Wednesday, Thursday\"\r\n },\r\n \"visibility\": + \"Public\",\r\n \"configurationType\": \"Standard\"\r\n },\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_EastUS2EUAP_MI_1\",\r\n + \ \"name\": \"SQL_EastUS2EUAP_MI_1\",\r\n \"type\": \"Microsoft.Maintenance/publicMaintenanceConfigurations\"\r\n + \ },\r\n {\r\n \"location\": \"eastus2euap\",\r\n \"tags\": + {},\r\n \"properties\": {\r\n \"extensionProperties\": {\r\n \"description\": + \"10:00 PM to 6:00 AM Eastern Standard Time, Friday to Sunday\"\r\n },\r\n + \ \"maintenanceScope\": \"SQLManagedInstance\",\r\n \"maintenanceWindow\": + {\r\n \"startDateTime\": \"2021-02-15 22:00\",\r\n \"duration\": + \"08:00\",\r\n \"timeZone\": \"Eastern Standard Time\",\r\n \"recurEvery\": + \"week Friday, Saturday, Sunday\"\r\n },\r\n \"visibility\": + \"Public\",\r\n \"configurationType\": \"Standard\"\r\n },\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_EastUS2EUAP_MI_2\",\r\n + \ \"name\": \"SQL_EastUS2EUAP_MI_2\",\r\n \"type\": \"Microsoft.Maintenance/publicMaintenanceConfigurations\"\r\n + \ },\r\n {\r\n \"location\": \"centraluseuap\",\r\n \"tags\": + {},\r\n \"properties\": {\r\n \"extensionProperties\": {\r\n \"description\": + \"10:00 PM to 6:00 AM Central Standard Time, Friday to Sunday\"\r\n },\r\n + \ \"maintenanceScope\": \"SQLManagedInstance\",\r\n \"maintenanceWindow\": + {\r\n \"startDateTime\": \"2021-02-15 22:00\",\r\n \"duration\": + \"08:00\",\r\n \"timeZone\": \"Central Standard Time\",\r\n \"recurEvery\": + \"week Friday, Saturday, Sunday\"\r\n },\r\n \"visibility\": + \"Public\",\r\n \"configurationType\": \"Standard\"\r\n },\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_CentralUSEUAP_MI_2\",\r\n + \ \"name\": \"SQL_CentralUSEUAP_MI_2\",\r\n \"type\": \"Microsoft.Maintenance/publicMaintenanceConfigurations\"\r\n + \ },\r\n {\r\n \"location\": \"eastus2euap\",\r\n \"tags\": + {},\r\n \"properties\": {\r\n \"extensionProperties\": {\r\n \"description\": + \"System-assigned maintenance\"\r\n },\r\n \"maintenanceScope\": + \"SQLDB, SQLManagedInstance\",\r\n \"visibility\": \"Public\",\r\n + \ \"configurationType\": \"Standard\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_Default\",\r\n + \ \"name\": \"SQL_Default\",\r\n \"type\": \"Microsoft.Maintenance/publicMaintenanceConfigurations\"\r\n + \ }\r\n ]\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '9711' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:48:34 GMT + expires: + - '-1' + pragma: + - no-cache + strict-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: + - maintenance update list + Connection: + - keep-alive + ParameterSetName: + - --provider-name --resource-group --resource-name --resource-type + User-Agent: + - AZURECLI/2.23.0 azsdk-python-maintenanceclient/unknown Python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Compute/virtualMachineScaleSets/clitestvmss/providers/Microsoft.Maintenance/updates?api-version=2021-05-01 + response: + body: + string: "{\r\n \"value\": []\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '19' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:48:39 GMT + expires: + - '-1' + pragma: + - no-cache + strict-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: + - maintenance applyupdate create + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --provider-name --resource-group --resource-name --resource-type + User-Agent: + - AZURECLI/2.23.0 azsdk-python-maintenanceclient/unknown Python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Compute/virtualMachineScaleSets/clitestvmss/providers/Microsoft.Maintenance/applyUpdates/default?api-version=2021-05-01 + response: + body: + string: 'null' + headers: + cache-control: + - no-cache + content-length: + - '4' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:48:45 GMT + expires: + - '-1' + pragma: + - no-cache + 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: + - maintenance applyupdate show + Connection: + - keep-alive + ParameterSetName: + - --name --provider-name --resource-group --resource-name --resource-type + User-Agent: + - AZURECLI/2.23.0 azsdk-python-maintenanceclient/unknown Python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Compute/virtualMachineScaleSets/clitestvmss/providers/Microsoft.Maintenance/applyUpdates/default?api-version=2021-05-01 + response: + body: + string: "{\r\n \"properties\": {\r\n \"status\": \"Completed\",\r\n \"resourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Compute/virtualMachineScaleSets/clitestvmss\",\r\n + \ \"lastUpdateTime\": \"0001-01-01T00:00:00\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Compute/virtualMachineScaleSets/clitestvmss/providers/Microsoft.Maintenance/applyUpdates/default\",\r\n + \ \"name\": \"default\",\r\n \"type\": \"Microsoft.Maintenance/applyUpdates\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '673' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:48:49 GMT + expires: + - '-1' + pragma: + - no-cache + strict-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: + - maintenance assignment delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --name --provider-name --resource-group --resource-name --resource-type --yes + User-Agent: + - AZURECLI/2.23.0 azsdk-python-maintenanceclient/unknown Python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Compute/virtualMachineScaleSets/clitestvmss/providers/Microsoft.Maintenance/configurationAssignments/configuration1?api-version=2021-05-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Thu, 13 May 2021 15:48:54 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + 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: + - maintenance configuration delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-group --resource-name --yes + User-Agent: + - AZURECLI/2.23.0 azsdk-python-maintenanceclient/unknown Python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1?api-version=2021-05-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Thu, 13 May 2021 15:49:02 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 200 + message: OK +- request: + body: '{"location": "eastus2euap", "properties": {"namespace": "Microsoft.Maintenance", + "extensionProperties": {"publicMaintenanceConfigurationId": "sqlcli", "isAvailable": + "true"}, "maintenanceScope": "SQLDB", "visibility": "Public", "maintenanceWindow": + {"startDateTime": "2025-09-30 08:00", "expirationDateTime": "9999-12-31 00:00", + "duration": "05:00", "timeZone": "Pacific Standard Time", "recurEvery": "Day"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - maintenance configuration create + Connection: + - keep-alive + Content-Length: + - '409' + Content-Type: + - application/json + ParameterSetName: + - --location --maintenance-scope --maintenance-window-duration --maintenance-window-expiration-date-time + --maintenance-window-recur-every --maintenance-window-start-date-time --maintenance-window-time-zone + --namespace --visibility --resource-group --resource-name --extension-properties + User-Agent: + - AZURECLI/2.23.0 azsdk-python-maintenanceclient/unknown Python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Maintenance/maintenanceConfigurations/sqlcli?api-version=2021-05-01 + response: + body: + string: "{\r\n \"location\": \"eastus2euap\",\r\n \"tags\": {},\r\n \"properties\": + {\r\n \"namespace\": \"Microsoft.Maintenance\",\r\n \"extensionProperties\": + {\r\n \"publicMaintenanceConfigurationId\": \"sqlcli\",\r\n \"isAvailable\": + \"true\"\r\n },\r\n \"maintenanceScope\": \"SQLDB\",\r\n \"maintenanceWindow\": + {\r\n \"startDateTime\": \"2025-09-30 08:00\",\r\n \"expirationDateTime\": + \"9999-12-31 00:00\",\r\n \"duration\": \"05:00\",\r\n \"timeZone\": + \"Pacific Standard Time\",\r\n \"recurEvery\": \"Day\"\r\n },\r\n + \ \"visibility\": \"Public\",\r\n \"configurationType\": \"Standard\"\r\n + \ },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Maintenance/maintenanceConfigurations/sqlcli\",\r\n + \ \"name\": \"sqlcli\",\r\n \"type\": \"Microsoft.Maintenance/maintenanceConfigurations\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '867' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:49:09 GMT + expires: + - '-1' + pragma: + - no-cache + 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: + - maintenance configuration delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-group --resource-name --yes + User-Agent: + - AZURECLI/2.23.0 azsdk-python-maintenanceclient/unknown Python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Maintenance/maintenanceConfigurations/sqlcli?api-version=2021-05-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Thu, 13 May 2021 15:49:18 GMT + expires: + - '-1' + pragma: + - no-cache + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - vmss delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -n -g + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-compute/20.0.0 Python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/virtualMachineScaleSets/clitestvmss?api-version=2020-12-01 + response: + body: + string: '' + headers: + azure-asyncnotification: + - Enabled + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/westus/operations/e44576d8-0445-402d-98e7-03ef89978ccc?api-version=2020-12-01 + cache-control: + - no-cache + content-length: + - '0' + date: + - Thu, 13 May 2021 15:49:22 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/westus/operations/e44576d8-0445-402d-98e7-03ef89978ccc?monitor=true&api-version=2020-12-01 + 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-resource: + - Microsoft.Compute/DeleteVMScaleSet3Min;79,Microsoft.Compute/DeleteVMScaleSet30Min;399,Microsoft.Compute/VMScaleSetBatchedVMRequests5Min;1198,Microsoft.Compute/VmssQueuedVMOperations;0 + x-ms-ratelimit-remaining-subscription-deletes: + - '14998' + x-ms-request-charge: + - '1' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - vmss delete + Connection: + - keep-alive + ParameterSetName: + - -n -g + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-compute/20.0.0 Python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/westus/operations/e44576d8-0445-402d-98e7-03ef89978ccc?api-version=2020-12-01 + response: + body: + string: "{\r\n \"startTime\": \"2021-05-13T15:49:23.4761327+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"e44576d8-0445-402d-98e7-03ef89978ccc\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:49:33 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 + x-ms-ratelimit-remaining-resource: + - Microsoft.Compute/GetOperation3Min;14993,Microsoft.Compute/GetOperation30Min;29979 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - vmss delete + Connection: + - keep-alive + ParameterSetName: + - -n -g + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-compute/20.0.0 Python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/westus/operations/e44576d8-0445-402d-98e7-03ef89978ccc?api-version=2020-12-01 + response: + body: + string: "{\r\n \"startTime\": \"2021-05-13T15:49:23.4761327+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"e44576d8-0445-402d-98e7-03ef89978ccc\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:49: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 + x-ms-ratelimit-remaining-resource: + - Microsoft.Compute/GetOperation3Min;14992,Microsoft.Compute/GetOperation30Min;29978 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - vmss delete + Connection: + - keep-alive + ParameterSetName: + - -n -g + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-compute/20.0.0 Python/3.7.6 (Linux-5.4.72-microsoft-standard-WSL2-x86_64-with-debian-10.3) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/westus/operations/e44576d8-0445-402d-98e7-03ef89978ccc?api-version=2020-12-01 + response: + body: + string: "{\r\n \"startTime\": \"2021-05-13T15:49:23.4761327+00:00\",\r\n \"endTime\": + \"2021-05-13T15:50:07.0544233+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"e44576d8-0445-402d-98e7-03ef89978ccc\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '184' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 13 May 2021 15:50:17 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 + x-ms-ratelimit-remaining-resource: + - Microsoft.Compute/GetOperation3Min;14993,Microsoft.Compute/GetOperation30Min;29976 + status: + code: 200 + message: OK +version: 1 diff --git a/src/maintenance/azext_maintenance/tests/latest/test_maintenance_scenario.py b/src/maintenance/azext_maintenance/tests/latest/test_maintenance_scenario.py index aba6a30c112..b2565b7a48a 100644 --- a/src/maintenance/azext_maintenance/tests/latest/test_maintenance_scenario.py +++ b/src/maintenance/azext_maintenance/tests/latest/test_maintenance_scenario.py @@ -10,296 +10,112 @@ import os from azure.cli.testsdk import ScenarioTest -from .. import try_manual, raise_if, calc_coverage from azure.cli.testsdk import ResourceGroupPreparer +from .example_steps import step_applyupdate_for_resource_group_list +from .example_steps import step_applyupdate_create +from .example_steps import step_applyupdate_create2 +from .example_steps import step_applyupdate_show +from .example_steps import step_applyupdate_show_parent +from .example_steps import step_applyupdate_list +from .example_steps import step_configuration_create +from .example_steps import step_configuration_show +from .example_steps import step_configuration_list +from .example_steps import step_configuration_update +from .example_steps import step_assignment_create +from .example_steps import step_assignment_create2 +from .example_steps import step_assignment_list +from .example_steps import step_assignment_list_parent +from .example_steps import step_assignment_delete +from .example_steps import step_assignment_delete2 +from .example_steps import step_configuration_delete +from .example_steps import step_configuration_for_resource_group_list +from .example_steps import step_public_configuration_show +from .example_steps import step_public_configuration_list +from .example_steps import step_update_list +from .example_steps import step_update_list_parent +from .. import ( + try_manual, + raise_if, + calc_coverage +) TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) +# Env setup_scenario @try_manual -def setup(test, rg): +def setup_scenario(test, rg): pass -# EXAMPLE: /ApplyUpdates/put/ApplyUpdates_CreateOrUpdate +# Env cleanup_scenario @try_manual -def step__applyupdates_put_applyupdates_createorupdate(test, rg): - test.cmd('az maintenance applyupdate create ' - '--provider-name "Microsoft.Compute" ' - '--resource-group "{rg}" ' - '--resource-name "smdtest1" ' - '--resource-type "virtualMachineScaleSets"', - checks=[]) - - -# EXAMPLE: /ApplyUpdates/put/ApplyUpdates_CreateOrUpdateParent -@try_manual -def step__applyupdates_put_applyupdates_createorupdateparent(test, rg): - test.cmd('az maintenance applyupdate create ' - '--provider-name "Microsoft.Compute" ' - '--resource-group "{rg}" ' - '--resource-name "smdvm1" ' - '--resource-parent-name "smdtest1" ' - '--resource-parent-type "virtualMachineScaleSets" ' - '--resource-type "virtualMachines"', - checks=[]) - - -# EXAMPLE: /ApplyUpdates/get/ApplyUpdates_Get -@try_manual -def step__applyupdates_get_applyupdates_get(test, rg): - test.cmd('az maintenance applyupdate show ' - '--name "{myApplyUpdate}" ' - '--provider-name "Microsoft.Compute" ' - '--resource-group "{rg}" ' - '--resource-name "smdtest1" ' - '--resource-type "virtualMachineScaleSets"', - checks=[]) - - -# EXAMPLE: /ApplyUpdates/get/ApplyUpdates_GetParent -@try_manual -def step__applyupdates_get_applyupdates_getparent(test, rg): - test.cmd('az maintenance applyupdate get-parent ' - '--name "{myApplyUpdate}" ' - '--provider-name "Microsoft.Compute" ' - '--resource-group "{rg}" ' - '--resource-name "smdvm1" ' - '--resource-parent-name "smdtest1" ' - '--resource-parent-type "virtualMachineScaleSets" ' - '--resource-type "virtualMachines"', - checks=[]) - - -# EXAMPLE: /MaintenanceConfigurations/put/MaintenanceConfigurations_CreateOrUpdateForResource -@try_manual -def step__maintenanceconfigurations_put_maintenanceconfigurations_createorupdateforresource(test, rg): - test.cmd('az maintenance configuration create ' - '--location "westus2" ' - '--maintenance-scope "OSImage" ' - '--maintenance-window-duration "05:00" ' - '--maintenance-window-expiration-date-time "9999-12-31 00:00" ' - '--maintenance-window-recur-every "Day" ' - '--maintenance-window-start-date-time "2020-04-30 08:00" ' - '--maintenance-window-time-zone "Pacific Standard Time" ' - '--namespace "Microsoft.Maintenance" ' - '--visibility "Custom" ' - '--resource-group "{rg}" ' - '--resource-name "{myMaintenanceConfiguration2}"', - checks=[]) - - -# EXAMPLE: /MaintenanceConfigurations/get/MaintenanceConfigurations_GetForResource -@try_manual -def step__maintenanceconfigurations_get_maintenanceconfigurations_getforresource(test, rg): - test.cmd('az maintenance configuration show ' - '--resource-group "{rg}" ' - '--resource-name "{myMaintenanceConfiguration2}"', - checks=[]) - - -# EXAMPLE: /MaintenanceConfigurations/get/MaintenanceConfigurations_List -@try_manual -def step__maintenanceconfigurations_get_maintenanceconfigurations_list(test, rg): - test.cmd('az maintenance configuration list', - checks=[]) - - -# EXAMPLE: /MaintenanceConfigurations/patch/MaintenanceConfigurations_UpdateForResource -@try_manual -def step__maintenanceconfigurations_patch_maintenanceconfigurations_updateforresource(test, rg): - test.cmd('az maintenance configuration update ' - '--location "westus2" ' - '--maintenance-scope "OSImage" ' - '--maintenance-window-duration "05:00" ' - '--maintenance-window-expiration-date-time "9999-12-31 00:00" ' - '--maintenance-window-recur-every "Month Third Sunday" ' - '--maintenance-window-start-date-time "2020-04-30 08:00" ' - '--maintenance-window-time-zone "Pacific Standard Time" ' - '--namespace "Microsoft.Maintenance" ' - '--visibility "Custom" ' - '--resource-group "{rg}" ' - '--resource-name "{myMaintenanceConfiguration2}"', - checks=[]) - - -# EXAMPLE: /ConfigurationAssignments/put/ConfigurationAssignments_CreateOrUpdate -@try_manual -def step__configurationassignments_put_configurationassignments_createorupdate(test, rg): - test.cmd('az maintenance assignment create ' - '--maintenance-configuration-id "/subscriptions/{subscription_id}/resourcegroups/{rg}/providers/Microsoft.' - 'Maintenance/maintenanceConfigurations/{myMaintenanceConfiguration2}" ' - '--name "{myConfigurationAssignment2}" ' - '--provider-name "Microsoft.Compute" ' - '--resource-group "{rg}" ' - '--resource-name "smdtest1" ' - '--resource-type "virtualMachineScaleSets"', - checks=[]) - - -# EXAMPLE: /ConfigurationAssignments/put/ConfigurationAssignments_CreateOrUpdateParent -@try_manual -def step__configurationassignments_put_configurationassignments_createorupdateparent(test, rg): - test.cmd('az maintenance assignment create ' - '--maintenance-configuration-id "/subscriptions/{subscription_id}/resourcegroups/{rg}/providers/Microsoft.' - 'Maintenance/maintenanceConfigurations/{myMaintenanceConfiguration}" ' - '--name "{myConfigurationAssignment}" ' - '--provider-name "Microsoft.Compute" ' - '--resource-group "{rg}" ' - '--resource-name "smdvm1" ' - '--resource-parent-name "smdtest1" ' - '--resource-parent-type "virtualMachineScaleSets" ' - '--resource-type "virtualMachines"', - checks=[]) - - -# EXAMPLE: /ConfigurationAssignments/get/ConfigurationAssignments_List -@try_manual -def step__configurationassignments_get_configurationassignments_list(test, rg): - test.cmd('az maintenance assignment list ' - '--provider-name "Microsoft.Compute" ' - '--resource-group "{rg}" ' - '--resource-name "smdtest1" ' - '--resource-type "virtualMachineScaleSets"', - checks=[]) - - -# EXAMPLE: /ConfigurationAssignments/get/ConfigurationAssignments_ListParent -@try_manual -def step__configurationassignments_get_configurationassignments_listparent(test, rg): - test.cmd('az maintenance assignment list-parent ' - '--provider-name "Microsoft.Compute" ' - '--resource-group "{rg}" ' - '--resource-name "smdtestvm1" ' - '--resource-parent-name "smdtest1" ' - '--resource-parent-type "virtualMachineScaleSets" ' - '--resource-type "virtualMachines"', - checks=[]) - - -# EXAMPLE: /ConfigurationAssignments/delete/ConfigurationAssignments_DeleteParent -@try_manual -def step__configurationassignments_delete_configurationassignments_deleteparent(test, rg): - test.cmd('az maintenance assignment delete -y ' - '--name "{myConfigurationAssignment2}" ' - '--provider-name "Microsoft.Compute" ' - '--resource-group "{rg}" ' - '--resource-name "smdvm1" ' - '--resource-parent-name "smdtest1" ' - '--resource-parent-type "virtualMachineScaleSets" ' - '--resource-type "virtualMachines"', - checks=[]) - - -# EXAMPLE: /PublicMaintenanceConfigurations/get/PublicMaintenanceConfigurations_GetForResource -@try_manual -def step__publicmaintenanceconfigurations_get_publicmaintenanceconfigurations_getforresource(test, rg): - test.cmd('az maintenance public-configuration show ' - '--resource-name "{myMaintenanceConfiguration2}"', - checks=[]) - - -# EXAMPLE: /PublicMaintenanceConfigurations/get/PublicMaintenanceConfigurations_List -@try_manual -def step__publicmaintenanceconfigurations_get_publicmaintenanceconfigurations_list(test, rg): - test.cmd('az maintenance public-configuration list', - checks=[]) - - -# EXAMPLE: /Updates/get/Updates_List -@try_manual -def step__updates_get_updates_list(test, rg): - test.cmd('az maintenance update list ' - '--provider-name "Microsoft.Compute" ' - '--resource-group "{rg}" ' - '--resource-name "smdtest1" ' - '--resource-type "virtualMachineScaleSets"', - checks=[]) - - -# EXAMPLE: /Updates/get/Updates_ListParent -@try_manual -def step__updates_get_updates_listparent(test, rg): - test.cmd('az maintenance update list-parent ' - '--provider-name "Microsoft.Compute" ' - '--resource-group "{rg}" ' - '--resource-name "1" ' - '--resource-parent-name "smdtest1" ' - '--resource-parent-type "virtualMachineScaleSets" ' - '--resource-type "virtualMachines"', - checks=[]) - - -# EXAMPLE: /ConfigurationAssignments/delete/ConfigurationAssignments_Delete -@try_manual -def step__configurationassignments_delete_configurationassignments_delete(test, rg): - test.cmd('az maintenance assignment delete -y ' - '--name "{myConfigurationAssignment2}" ' - '--provider-name "Microsoft.Compute" ' - '--resource-group "{rg}" ' - '--resource-name "smdtest1" ' - '--resource-type "virtualMachineScaleSets"', - checks=[]) - - -# EXAMPLE: /MaintenanceConfigurations/delete/MaintenanceConfigurations_DeleteForResource -@try_manual -def step__maintenanceconfigurations_delete_maintenanceconfigurations_deleteforresource(test, rg): - test.cmd('az maintenance configuration delete -y ' - '--resource-group "{rg}" ' - '--resource-name "example1"', - checks=[]) - - -@try_manual -def cleanup(test, rg): +def cleanup_scenario(test, rg): pass +# Testcase: Scenario @try_manual def call_scenario(test, rg): - setup(test, rg) - step__applyupdates_put_applyupdates_createorupdate(test, rg) - step__applyupdates_put_applyupdates_createorupdateparent(test, rg) - step__applyupdates_get_applyupdates_get(test, rg) - step__applyupdates_get_applyupdates_getparent(test, rg) - step__maintenanceconfigurations_put_maintenanceconfigurations_createorupdateforresource(test, rg) - step__maintenanceconfigurations_get_maintenanceconfigurations_getforresource(test, rg) - step__maintenanceconfigurations_get_maintenanceconfigurations_list(test, rg) - step__maintenanceconfigurations_patch_maintenanceconfigurations_updateforresource(test, rg) - step__configurationassignments_put_configurationassignments_createorupdate(test, rg) - step__configurationassignments_put_configurationassignments_createorupdateparent(test, rg) - step__configurationassignments_get_configurationassignments_list(test, rg) - step__configurationassignments_get_configurationassignments_listparent(test, rg) - step__configurationassignments_delete_configurationassignments_deleteparent(test, rg) - step__publicmaintenanceconfigurations_get_publicmaintenanceconfigurations_getforresource(test, rg) - step__publicmaintenanceconfigurations_get_publicmaintenanceconfigurations_list(test, rg) - step__updates_get_updates_list(test, rg) - step__updates_get_updates_listparent(test, rg) - step__configurationassignments_delete_configurationassignments_delete(test, rg) - step__maintenanceconfigurations_delete_maintenanceconfigurations_deleteforresource(test, rg) - cleanup(test, rg) - - -@try_manual -class MaintenanceClientScenarioTest(ScenarioTest): - - @ResourceGroupPreparer(name_prefix='clitestmaintenance_examplerg'[:7], key='rg', parameter_name='rg') - def test_maintenance(self, rg): - + setup_scenario(test, rg) + step_applyupdate_for_resource_group_list(test, rg, checks=[]) + step_applyupdate_create(test, rg, checks=[]) + step_applyupdate_create2(test, rg, checks=[]) + step_applyupdate_show(test, rg, checks=[]) + step_applyupdate_show_parent(test, rg, checks=[]) + step_applyupdate_list(test, rg, checks=[]) + step_configuration_create(test, rg, checks=[]) + step_configuration_show(test, rg, checks=[]) + step_configuration_list(test, rg, checks=[]) + step_configuration_update(test, rg, checks=[]) + step_assignment_create(test, rg, checks=[ + test.check("maintenanceConfigurationId", "/subscriptions/{subscription_id}/resourcegroups/{rg}/providers/Micros" + "oft.Maintenance/maintenanceConfigurations/{myMaintenanceConfiguration2}", case_sensitive=False), + test.check("name", "{myConfigurationAssignment2}", case_sensitive=False), + ]) + step_assignment_create2(test, rg, checks=[ + test.check("maintenanceConfigurationId", "/subscriptions/{subscription_id}/resourcegroups/{rg}/providers/Micros" + "oft.Maintenance/maintenanceConfigurations/{myMaintenanceConfiguration}", case_sensitive=False), + test.check("name", "{myConfigurationAssignment}", case_sensitive=False), + ]) + step_assignment_list(test, rg, checks=[ + test.check('length(@)', 1), + ]) + step_assignment_list_parent(test, rg, checks=[]) + step_assignment_delete(test, rg, checks=[]) + step_assignment_delete2(test, rg, checks=[]) + step_configuration_delete(test, rg, checks=[]) + step_configuration_for_resource_group_list(test, rg, checks=[]) + step_public_configuration_show(test, rg, checks=[]) + step_public_configuration_list(test, rg, checks=[]) + step_update_list(test, rg, checks=[]) + step_update_list_parent(test, rg, checks=[]) + cleanup_scenario(test, rg) + + +# Test class for Scenario +@try_manual +class MaintenanceScenarioTest(ScenarioTest): + + def __init__(self, *args, **kwargs): + super(MaintenanceScenarioTest, self).__init__(*args, **kwargs) self.kwargs.update({ 'subscription_id': self.get_subscription_id() }) self.kwargs.update({ - 'e9b9685d-78e4-44c4-a81c-64a14f9b87b6': 'e9b9685d-78e4-44c4-a81c-64a14f9b87b6', - 'policy1': 'policy1', 'MaintenanceConfigurations_2': 'configuration1', - 'workervmConfiguration': 'workervmConfiguration', - 'ConfigurationAssignments_2': 'workervmPolicy', + 'myApplyUpdate': 'e9b9685d-78e4-44c4-a81c-64a14f9b87b6', + 'myMaintenanceConfiguration': 'policy1', + 'myMaintenanceConfiguration2': 'configuration2', + 'myConfigurationAssignment': 'workervmPolicy2', + 'myConfigurationAssignment2': 'workervmConfiguration2', + 'HSProbeSettings': '{"protocol": "https", "port": "80", "requestPath": "/"}' }) + @ResourceGroupPreparer(name_prefix='clitestmaintenance_examplerg'[:7], key='rg', parameter_name='rg') + def test_maintenance_Scenario(self, rg): call_scenario(self, rg) calc_coverage(__file__) raise_if() diff --git a/src/maintenance/azext_maintenance/vendored_sdks/maintenance/_configuration.py b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/_configuration.py index 2625b159846..a3c34bb1a64 100644 --- a/src/maintenance/azext_maintenance/vendored_sdks/maintenance/_configuration.py +++ b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/_configuration.py @@ -47,9 +47,8 @@ def __init__( self.credential = credential self.subscription_id = subscription_id - self.api_version = "2020-07-01-preview" - self.credential_scopes = ['https://management.azure.com/.default'] - self.credential_scopes.extend(kwargs.pop('credential_scopes', [])) + self.api_version = "2021-05-01" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) kwargs.setdefault('sdk_moniker', 'maintenanceclient/{}'.format(VERSION)) self._configure(**kwargs) diff --git a/src/maintenance/azext_maintenance/vendored_sdks/maintenance/_maintenance_client.py b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/_maintenance_client.py index 9a655692155..1a17538034b 100644 --- a/src/maintenance/azext_maintenance/vendored_sdks/maintenance/_maintenance_client.py +++ b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/_maintenance_client.py @@ -18,36 +18,41 @@ from azure.core.credentials import TokenCredential from ._configuration import MaintenanceClientConfiguration -from .operations import PublicMaintenanceConfigurationOperations -from .operations import ApplyUpdateOperations -from .operations import ConfigurationAssignmentOperations -from .operations import MaintenanceConfigurationOperations -from .operations import OperationOperations -from .operations import UpdateOperations +from .operations import PublicMaintenanceConfigurationsOperations +from .operations import ApplyUpdatesOperations +from .operations import ConfigurationAssignmentsOperations +from .operations import MaintenanceConfigurationsOperations +from .operations import MaintenanceConfigurationsForResourceGroupOperations +from .operations import ApplyUpdateForResourceGroupOperations +from .operations import Operations +from .operations import UpdatesOperations from . import models class MaintenanceClient(object): - """Maintenance Client. + """Azure Maintenance Management Client. - :ivar public_maintenance_configuration: PublicMaintenanceConfigurationOperations operations - :vartype public_maintenance_configuration: maintenance_client.operations.PublicMaintenanceConfigurationOperations - :ivar apply_update: ApplyUpdateOperations operations - :vartype apply_update: maintenance_client.operations.ApplyUpdateOperations - :ivar configuration_assignment: ConfigurationAssignmentOperations operations - :vartype configuration_assignment: maintenance_client.operations.ConfigurationAssignmentOperations - :ivar maintenance_configuration: MaintenanceConfigurationOperations operations - :vartype maintenance_configuration: maintenance_client.operations.MaintenanceConfigurationOperations - :ivar operation: OperationOperations operations - :vartype operation: maintenance_client.operations.OperationOperations - :ivar update: UpdateOperations operations - :vartype update: maintenance_client.operations.UpdateOperations + :ivar public_maintenance_configurations: PublicMaintenanceConfigurationsOperations operations + :vartype public_maintenance_configurations: maintenance_client.operations.PublicMaintenanceConfigurationsOperations + :ivar apply_updates: ApplyUpdatesOperations operations + :vartype apply_updates: maintenance_client.operations.ApplyUpdatesOperations + :ivar configuration_assignments: ConfigurationAssignmentsOperations operations + :vartype configuration_assignments: maintenance_client.operations.ConfigurationAssignmentsOperations + :ivar maintenance_configurations: MaintenanceConfigurationsOperations operations + :vartype maintenance_configurations: maintenance_client.operations.MaintenanceConfigurationsOperations + :ivar maintenance_configurations_for_resource_group: MaintenanceConfigurationsForResourceGroupOperations operations + :vartype maintenance_configurations_for_resource_group: maintenance_client.operations.MaintenanceConfigurationsForResourceGroupOperations + :ivar apply_update_for_resource_group: ApplyUpdateForResourceGroupOperations operations + :vartype apply_update_for_resource_group: maintenance_client.operations.ApplyUpdateForResourceGroupOperations + :ivar operations: Operations operations + :vartype operations: maintenance_client.operations.Operations + :ivar updates: UpdatesOperations operations + :vartype updates: maintenance_client.operations.UpdatesOperations :param credential: Credential needed for the client to connect to Azure. :type credential: ~azure.core.credentials.TokenCredential :param subscription_id: Subscription credentials that uniquely identify a 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 - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. """ def __init__( @@ -67,17 +72,21 @@ def __init__( self._serialize = Serializer(client_models) self._deserialize = Deserializer(client_models) - self.public_maintenance_configuration = PublicMaintenanceConfigurationOperations( + self.public_maintenance_configurations = PublicMaintenanceConfigurationsOperations( self._client, self._config, self._serialize, self._deserialize) - self.apply_update = ApplyUpdateOperations( + self.apply_updates = ApplyUpdatesOperations( self._client, self._config, self._serialize, self._deserialize) - self.configuration_assignment = ConfigurationAssignmentOperations( + self.configuration_assignments = ConfigurationAssignmentsOperations( self._client, self._config, self._serialize, self._deserialize) - self.maintenance_configuration = MaintenanceConfigurationOperations( + self.maintenance_configurations = MaintenanceConfigurationsOperations( self._client, self._config, self._serialize, self._deserialize) - self.operation = OperationOperations( + self.maintenance_configurations_for_resource_group = MaintenanceConfigurationsForResourceGroupOperations( self._client, self._config, self._serialize, self._deserialize) - self.update = UpdateOperations( + self.apply_update_for_resource_group = ApplyUpdateForResourceGroupOperations( + self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations( + self._client, self._config, self._serialize, self._deserialize) + self.updates = UpdatesOperations( self._client, self._config, self._serialize, self._deserialize) def close(self): diff --git a/src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/__init__.py b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/__init__.py index 0819299aee3..fbdfed2dc4c 100644 --- a/src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/__init__.py +++ b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/__init__.py @@ -6,5 +6,5 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from ._maintenance_client_async import MaintenanceClient +from ._maintenance_client import MaintenanceClient __all__ = ['MaintenanceClient'] diff --git a/src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/_configuration_async.py b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/_configuration.py similarity index 94% rename from src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/_configuration_async.py rename to src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/_configuration.py index 2742c40df71..e3aa4152601 100644 --- a/src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/_configuration_async.py +++ b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/_configuration.py @@ -44,9 +44,8 @@ def __init__( self.credential = credential self.subscription_id = subscription_id - self.api_version = "2020-07-01-preview" - self.credential_scopes = ['https://management.azure.com/.default'] - self.credential_scopes.extend(kwargs.pop('credential_scopes', [])) + self.api_version = "2021-05-01" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) kwargs.setdefault('sdk_moniker', 'maintenanceclient/{}'.format(VERSION)) self._configure(**kwargs) diff --git a/src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/_maintenance_client.py b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/_maintenance_client.py new file mode 100644 index 00000000000..29d00cccaa0 --- /dev/null +++ b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/_maintenance_client.py @@ -0,0 +1,97 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, Optional, TYPE_CHECKING + +from azure.mgmt.core import AsyncARMPipelineClient +from msrest import Deserializer, Serializer + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + +from ._configuration import MaintenanceClientConfiguration +from .operations import PublicMaintenanceConfigurationsOperations +from .operations import ApplyUpdatesOperations +from .operations import ConfigurationAssignmentsOperations +from .operations import MaintenanceConfigurationsOperations +from .operations import MaintenanceConfigurationsForResourceGroupOperations +from .operations import ApplyUpdateForResourceGroupOperations +from .operations import Operations +from .operations import UpdatesOperations +from .. import models + + +class MaintenanceClient(object): + """Azure Maintenance Management Client. + + :ivar public_maintenance_configurations: PublicMaintenanceConfigurationsOperations operations + :vartype public_maintenance_configurations: maintenance_client.aio.operations.PublicMaintenanceConfigurationsOperations + :ivar apply_updates: ApplyUpdatesOperations operations + :vartype apply_updates: maintenance_client.aio.operations.ApplyUpdatesOperations + :ivar configuration_assignments: ConfigurationAssignmentsOperations operations + :vartype configuration_assignments: maintenance_client.aio.operations.ConfigurationAssignmentsOperations + :ivar maintenance_configurations: MaintenanceConfigurationsOperations operations + :vartype maintenance_configurations: maintenance_client.aio.operations.MaintenanceConfigurationsOperations + :ivar maintenance_configurations_for_resource_group: MaintenanceConfigurationsForResourceGroupOperations operations + :vartype maintenance_configurations_for_resource_group: maintenance_client.aio.operations.MaintenanceConfigurationsForResourceGroupOperations + :ivar apply_update_for_resource_group: ApplyUpdateForResourceGroupOperations operations + :vartype apply_update_for_resource_group: maintenance_client.aio.operations.ApplyUpdateForResourceGroupOperations + :ivar operations: Operations operations + :vartype operations: maintenance_client.aio.operations.Operations + :ivar updates: UpdatesOperations operations + :vartype updates: maintenance_client.aio.operations.UpdatesOperations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :param subscription_id: Subscription credentials that uniquely identify a 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, + credential: "AsyncTokenCredential", + subscription_id: str, + base_url: Optional[str] = None, + **kwargs: Any + ) -> None: + if not base_url: + base_url = 'https://management.azure.com' + self._config = MaintenanceClientConfiguration(credential, subscription_id, **kwargs) + self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.public_maintenance_configurations = PublicMaintenanceConfigurationsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.apply_updates = ApplyUpdatesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.configuration_assignments = ConfigurationAssignmentsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.maintenance_configurations = MaintenanceConfigurationsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.maintenance_configurations_for_resource_group = MaintenanceConfigurationsForResourceGroupOperations( + self._client, self._config, self._serialize, self._deserialize) + self.apply_update_for_resource_group = ApplyUpdateForResourceGroupOperations( + self._client, self._config, self._serialize, self._deserialize) + self.operations = Operations( + self._client, self._config, self._serialize, self._deserialize) + self.updates = UpdatesOperations( + self._client, self._config, self._serialize, self._deserialize) + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "MaintenanceClient": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/_maintenance_client_async.py b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/_maintenance_client_async.py deleted file mode 100644 index b04b86b6e96..00000000000 --- a/src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/_maintenance_client_async.py +++ /dev/null @@ -1,88 +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 typing import Any, Optional, TYPE_CHECKING - -from azure.mgmt.core import AsyncARMPipelineClient -from msrest import Deserializer, Serializer - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from azure.core.credentials_async import AsyncTokenCredential - -from ._configuration_async import MaintenanceClientConfiguration -from .operations_async import PublicMaintenanceConfigurationOperations -from .operations_async import ApplyUpdateOperations -from .operations_async import ConfigurationAssignmentOperations -from .operations_async import MaintenanceConfigurationOperations -from .operations_async import OperationOperations -from .operations_async import UpdateOperations -from .. import models - - -class MaintenanceClient(object): - """Maintenance Client. - - :ivar public_maintenance_configuration: PublicMaintenanceConfigurationOperations operations - :vartype public_maintenance_configuration: maintenance_client.aio.operations_async.PublicMaintenanceConfigurationOperations - :ivar apply_update: ApplyUpdateOperations operations - :vartype apply_update: maintenance_client.aio.operations_async.ApplyUpdateOperations - :ivar configuration_assignment: ConfigurationAssignmentOperations operations - :vartype configuration_assignment: maintenance_client.aio.operations_async.ConfigurationAssignmentOperations - :ivar maintenance_configuration: MaintenanceConfigurationOperations operations - :vartype maintenance_configuration: maintenance_client.aio.operations_async.MaintenanceConfigurationOperations - :ivar operation: OperationOperations operations - :vartype operation: maintenance_client.aio.operations_async.OperationOperations - :ivar update: UpdateOperations operations - :vartype update: maintenance_client.aio.operations_async.UpdateOperations - :param credential: Credential needed for the client to connect to Azure. - :type credential: ~azure.core.credentials_async.AsyncTokenCredential - :param subscription_id: Subscription credentials that uniquely identify a 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 - :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - """ - - def __init__( - self, - credential: "AsyncTokenCredential", - subscription_id: str, - base_url: Optional[str] = None, - **kwargs: Any - ) -> None: - if not base_url: - base_url = 'https://management.azure.com' - self._config = MaintenanceClientConfiguration(credential, subscription_id, **kwargs) - self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) - - client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} - self._serialize = Serializer(client_models) - self._deserialize = Deserializer(client_models) - - self.public_maintenance_configuration = PublicMaintenanceConfigurationOperations( - self._client, self._config, self._serialize, self._deserialize) - self.apply_update = ApplyUpdateOperations( - self._client, self._config, self._serialize, self._deserialize) - self.configuration_assignment = ConfigurationAssignmentOperations( - self._client, self._config, self._serialize, self._deserialize) - self.maintenance_configuration = MaintenanceConfigurationOperations( - self._client, self._config, self._serialize, self._deserialize) - self.operation = OperationOperations( - self._client, self._config, self._serialize, self._deserialize) - self.update = UpdateOperations( - self._client, self._config, self._serialize, self._deserialize) - - async def close(self) -> None: - await self._client.close() - - async def __aenter__(self) -> "MaintenanceClient": - await self._client.__aenter__() - return self - - async def __aexit__(self, *exc_details) -> None: - await self._client.__aexit__(*exc_details) diff --git a/src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/operations/__init__.py b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/operations/__init__.py new file mode 100644 index 00000000000..0936b6c33b5 --- /dev/null +++ b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/operations/__init__.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 ._public_maintenance_configurations_operations import PublicMaintenanceConfigurationsOperations +from ._apply_updates_operations import ApplyUpdatesOperations +from ._configuration_assignments_operations import ConfigurationAssignmentsOperations +from ._maintenance_configurations_operations import MaintenanceConfigurationsOperations +from ._maintenance_configurations_for_resource_group_operations import MaintenanceConfigurationsForResourceGroupOperations +from ._apply_update_for_resource_group_operations import ApplyUpdateForResourceGroupOperations +from ._operations import Operations +from ._updates_operations import UpdatesOperations + +__all__ = [ + 'PublicMaintenanceConfigurationsOperations', + 'ApplyUpdatesOperations', + 'ConfigurationAssignmentsOperations', + 'MaintenanceConfigurationsOperations', + 'MaintenanceConfigurationsForResourceGroupOperations', + 'ApplyUpdateForResourceGroupOperations', + 'Operations', + 'UpdatesOperations', +] diff --git a/src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/operations/_apply_update_for_resource_group_operations.py b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/operations/_apply_update_for_resource_group_operations.py new file mode 100644 index 00000000000..9258dc532ea --- /dev/null +++ b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/operations/_apply_update_for_resource_group_operations.py @@ -0,0 +1,115 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ApplyUpdateForResourceGroupOperations: + """ApplyUpdateForResourceGroupOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~maintenance_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + resource_group_name: str, + **kwargs + ) -> AsyncIterable["models.ListApplyUpdate"]: + """Get Configuration records within a subscription and resource group. + + Get Configuration records within a subscription and resource group. + + :param resource_group_name: Resource Group Name. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ListApplyUpdate or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~maintenance_client.models.ListApplyUpdate] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ListApplyUpdate"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ListApplyUpdate', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.MaintenanceError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maintenance/applyUpdates'} # type: ignore diff --git a/src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/operations_async/_apply_update_operations_async.py b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/operations/_apply_updates_operations.py similarity index 72% rename from src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/operations_async/_apply_update_operations_async.py rename to src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/operations/_apply_updates_operations.py index 41976323244..270d147cde2 100644 --- a/src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/operations_async/_apply_update_operations_async.py +++ b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/operations/_apply_updates_operations.py @@ -5,10 +5,11 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import Any, Callable, Dict, Generic, Optional, TypeVar +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar import warnings -from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest from azure.mgmt.core.exceptions import ARMErrorFormat @@ -18,8 +19,8 @@ T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] -class ApplyUpdateOperations: - """ApplyUpdateOperations async operations. +class ApplyUpdatesOperations: + """ApplyUpdatesOperations async operations. You should not instantiate this class directly. Instead, you should create a Client instance that instantiates it for you and attaches it as an attribute. @@ -75,9 +76,12 @@ async def get_parent( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ApplyUpdate"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" + api_version = "2021-05-01" + accept = "application/json" # Construct URL url = self.get_parent.metadata['url'] # type: ignore @@ -99,7 +103,7 @@ async def get_parent( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') request = self._client.get(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) @@ -107,7 +111,8 @@ async def get_parent( if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize(models.MaintenanceError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('ApplyUpdate', pipeline_response) @@ -146,9 +151,12 @@ async def get( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ApplyUpdate"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" + api_version = "2021-05-01" + accept = "application/json" # Construct URL url = self.get.metadata['url'] # type: ignore @@ -168,7 +176,7 @@ async def get( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') request = self._client.get(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) @@ -176,7 +184,8 @@ async def get( if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize(models.MaintenanceError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('ApplyUpdate', pipeline_response) @@ -218,9 +227,12 @@ async def create_or_update_parent( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ApplyUpdate"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" + api_version = "2021-05-01" + accept = "application/json" # Construct URL url = self.create_or_update_parent.metadata['url'] # type: ignore @@ -241,7 +253,7 @@ async def create_or_update_parent( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') request = self._client.put(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) @@ -249,7 +261,8 @@ async def create_or_update_parent( if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize(models.MaintenanceError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('ApplyUpdate', pipeline_response) @@ -285,9 +298,12 @@ async def create_or_update( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ApplyUpdate"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" + api_version = "2021-05-01" + accept = "application/json" # Construct URL url = self.create_or_update.metadata['url'] # type: ignore @@ -306,7 +322,7 @@ async def create_or_update( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') request = self._client.put(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) @@ -314,7 +330,8 @@ async def create_or_update( if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize(models.MaintenanceError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('ApplyUpdate', pipeline_response) @@ -323,3 +340,72 @@ async def create_or_update( return deserialized create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}/providers/Microsoft.Maintenance/applyUpdates/default'} # type: ignore + + def list( + self, + **kwargs + ) -> AsyncIterable["models.ListApplyUpdate"]: + """Get Configuration records within a subscription. + + Get Configuration records within a subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ListApplyUpdate or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~maintenance_client.models.ListApplyUpdate] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ListApplyUpdate"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + 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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ListApplyUpdate', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.MaintenanceError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Maintenance/applyUpdates'} # type: ignore diff --git a/src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/operations_async/_configuration_assignment_operations_async.py b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/operations/_configuration_assignments_operations.py similarity index 84% rename from src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/operations_async/_configuration_assignment_operations_async.py rename to src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/operations/_configuration_assignments_operations.py index a8848aa2f66..c78372415f7 100644 --- a/src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/operations_async/_configuration_assignment_operations_async.py +++ b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/operations/_configuration_assignments_operations.py @@ -9,7 +9,7 @@ import warnings from azure.core.async_paging import AsyncItemPaged, AsyncList -from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest from azure.mgmt.core.exceptions import ARMErrorFormat @@ -19,8 +19,8 @@ T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] -class ConfigurationAssignmentOperations: - """ConfigurationAssignmentOperations async operations. +class ConfigurationAssignmentsOperations: + """ConfigurationAssignmentsOperations async operations. You should not instantiate this class directly. Instead, you should create a Client instance that instantiates it for you and attaches it as an attribute. @@ -50,9 +50,7 @@ async def create_or_update_parent( resource_type: str, resource_name: str, configuration_assignment_name: str, - location: Optional[str] = None, - maintenance_configuration_id: Optional[str] = None, - resource_id: Optional[str] = None, + configuration_assignment: "models.ConfigurationAssignment", **kwargs ) -> "models.ConfigurationAssignment": """Create configuration assignment. @@ -73,24 +71,21 @@ async def create_or_update_parent( :type resource_name: str :param configuration_assignment_name: Configuration assignment name. :type configuration_assignment_name: str - :param location: Location of the resource. - :type location: str - :param maintenance_configuration_id: The maintenance configuration Id. - :type maintenance_configuration_id: str - :param resource_id: The unique resourceId. - :type resource_id: str + :param configuration_assignment: The configurationAssignment. + :type configuration_assignment: ~maintenance_client.models.ConfigurationAssignment :keyword callable cls: A custom type or function that will be passed the direct response :return: ConfigurationAssignment, or the result of cls(response) :rtype: ~maintenance_client.models.ConfigurationAssignment :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ConfigurationAssignment"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - - _configuration_assignment = models.ConfigurationAssignment(location=location, maintenance_configuration_id=maintenance_configuration_id, resource_id=resource_id) - api_version = "2020-07-01-preview" + api_version = "2021-05-01" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL url = self.create_or_update_parent.metadata['url'] # type: ignore @@ -113,19 +108,19 @@ async def create_or_update_parent( # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(_configuration_assignment, 'ConfigurationAssignment') + body_content = self._serialize.body(configuration_assignment, 'ConfigurationAssignment') body_content_kwargs['content'] = body_content request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize(models.MaintenanceError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('ConfigurationAssignment', pipeline_response) @@ -145,7 +140,7 @@ async def delete_parent( resource_name: str, configuration_assignment_name: str, **kwargs - ) -> "models.ConfigurationAssignment": + ) -> Optional["models.ConfigurationAssignment"]: """Unregister configuration for resource. Unregister configuration for resource. @@ -166,13 +161,16 @@ async def delete_parent( :type configuration_assignment_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: ConfigurationAssignment, or the result of cls(response) - :rtype: ~maintenance_client.models.ConfigurationAssignment + :rtype: ~maintenance_client.models.ConfigurationAssignment or None :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["models.ConfigurationAssignment"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.ConfigurationAssignment"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" + api_version = "2021-05-01" + accept = "application/json" # Construct URL url = self.delete_parent.metadata['url'] # type: ignore @@ -194,17 +192,20 @@ async def delete_parent( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response - if response.status_code not in [200]: + if response.status_code not in [200, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize(models.MaintenanceError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize('ConfigurationAssignment', pipeline_response) + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ConfigurationAssignment', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) @@ -219,9 +220,7 @@ async def create_or_update( resource_type: str, resource_name: str, configuration_assignment_name: str, - location: Optional[str] = None, - maintenance_configuration_id: Optional[str] = None, - resource_id: Optional[str] = None, + configuration_assignment: "models.ConfigurationAssignment", **kwargs ) -> "models.ConfigurationAssignment": """Create configuration assignment. @@ -238,24 +237,21 @@ async def create_or_update( :type resource_name: str :param configuration_assignment_name: Configuration assignment name. :type configuration_assignment_name: str - :param location: Location of the resource. - :type location: str - :param maintenance_configuration_id: The maintenance configuration Id. - :type maintenance_configuration_id: str - :param resource_id: The unique resourceId. - :type resource_id: str + :param configuration_assignment: The configurationAssignment. + :type configuration_assignment: ~maintenance_client.models.ConfigurationAssignment :keyword callable cls: A custom type or function that will be passed the direct response :return: ConfigurationAssignment, or the result of cls(response) :rtype: ~maintenance_client.models.ConfigurationAssignment :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ConfigurationAssignment"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - - _configuration_assignment = models.ConfigurationAssignment(location=location, maintenance_configuration_id=maintenance_configuration_id, resource_id=resource_id) - api_version = "2020-07-01-preview" + api_version = "2021-05-01" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL url = self.create_or_update.metadata['url'] # type: ignore @@ -276,19 +272,19 @@ async def create_or_update( # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(_configuration_assignment, 'ConfigurationAssignment') + body_content = self._serialize.body(configuration_assignment, 'ConfigurationAssignment') body_content_kwargs['content'] = body_content request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize(models.MaintenanceError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('ConfigurationAssignment', pipeline_response) @@ -306,7 +302,7 @@ async def delete( resource_name: str, configuration_assignment_name: str, **kwargs - ) -> "models.ConfigurationAssignment": + ) -> Optional["models.ConfigurationAssignment"]: """Unregister configuration for resource. Unregister configuration for resource. @@ -323,13 +319,16 @@ async def delete( :type configuration_assignment_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: ConfigurationAssignment, or the result of cls(response) - :rtype: ~maintenance_client.models.ConfigurationAssignment + :rtype: ~maintenance_client.models.ConfigurationAssignment or None :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["models.ConfigurationAssignment"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.ConfigurationAssignment"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" + api_version = "2021-05-01" + accept = "application/json" # Construct URL url = self.delete.metadata['url'] # type: ignore @@ -349,17 +348,20 @@ async def delete( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response - if response.status_code not in [200]: + if response.status_code not in [200, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize(models.MaintenanceError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize('ConfigurationAssignment', pipeline_response) + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ConfigurationAssignment', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) @@ -399,14 +401,17 @@ def list_parent( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ListConfigurationAssignmentsResult"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" + api_version = "2021-05-01" + accept = "application/json" def prepare_request(next_link=None): # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') if not next_link: # Construct URL @@ -446,8 +451,9 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: + error = self._deserialize(models.MaintenanceError, response) map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -482,14 +488,17 @@ def list( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ListConfigurationAssignmentsResult"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" + api_version = "2021-05-01" + accept = "application/json" def prepare_request(next_link=None): # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') if not next_link: # Construct URL @@ -527,8 +536,9 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: + error = self._deserialize(models.MaintenanceError, response) map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response diff --git a/src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/operations/_maintenance_configurations_for_resource_group_operations.py b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/operations/_maintenance_configurations_for_resource_group_operations.py new file mode 100644 index 00000000000..48c010b2fc2 --- /dev/null +++ b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/operations/_maintenance_configurations_for_resource_group_operations.py @@ -0,0 +1,115 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class MaintenanceConfigurationsForResourceGroupOperations: + """MaintenanceConfigurationsForResourceGroupOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~maintenance_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + resource_group_name: str, + **kwargs + ) -> AsyncIterable["models.ListMaintenanceConfigurationsResult"]: + """Get Configuration records within a subscription and resource group. + + Get Configuration records within a subscription and resource group. + + :param resource_group_name: Resource Group Name. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ListMaintenanceConfigurationsResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~maintenance_client.models.ListMaintenanceConfigurationsResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ListMaintenanceConfigurationsResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ListMaintenanceConfigurationsResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.MaintenanceError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maintenance/maintenanceConfigurations'} # type: ignore diff --git a/src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/operations_async/_maintenance_configuration_operations_async.py b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/operations/_maintenance_configurations_operations.py similarity index 60% rename from src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/operations_async/_maintenance_configuration_operations_async.py rename to src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/operations/_maintenance_configurations_operations.py index 8d9967c415b..4db419c2a28 100644 --- a/src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/operations_async/_maintenance_configuration_operations_async.py +++ b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/operations/_maintenance_configurations_operations.py @@ -5,11 +5,11 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar import warnings from azure.core.async_paging import AsyncItemPaged, AsyncList -from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest from azure.mgmt.core.exceptions import ARMErrorFormat @@ -19,8 +19,8 @@ T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] -class MaintenanceConfigurationOperations: - """MaintenanceConfigurationOperations async operations. +class MaintenanceConfigurationsOperations: + """MaintenanceConfigurationsOperations async operations. You should not instantiate this class directly. Instead, you should create a Client instance that instantiates it for you and attaches it as an attribute. @@ -53,7 +53,7 @@ async def get( :param resource_group_name: Resource Group Name. :type resource_group_name: str - :param resource_name: Resource Identifier. + :param resource_name: Maintenance Configuration Name. :type resource_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: MaintenanceConfiguration, or the result of cls(response) @@ -61,9 +61,12 @@ async def get( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.MaintenanceConfiguration"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" + api_version = "2021-05-01" + accept = "application/json" # Construct URL url = self.get.metadata['url'] # type: ignore @@ -80,7 +83,7 @@ async def get( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') request = self._client.get(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) @@ -103,17 +106,7 @@ async def create_or_update( self, resource_group_name: str, resource_name: str, - location: Optional[str] = None, - tags: Optional[Dict[str, str]] = None, - namespace: Optional[str] = None, - extension_properties: Optional[Dict[str, str]] = None, - maintenance_scope: Optional[Union[str, "models.MaintenanceScope"]] = None, - visibility: Optional[Union[str, "models.Visibility"]] = None, - start_date_time: Optional[str] = None, - expiration_date_time: Optional[str] = None, - duration: Optional[str] = None, - time_zone: Optional[str] = None, - recur_every: Optional[str] = None, + configuration: "models.MaintenanceConfiguration", **kwargs ) -> "models.MaintenanceConfiguration": """Create or Update configuration record. @@ -122,60 +115,23 @@ async def create_or_update( :param resource_group_name: Resource Group Name. :type resource_group_name: str - :param resource_name: Resource Identifier. + :param resource_name: Maintenance Configuration Name. :type resource_name: str - :param location: Gets or sets location of the resource. - :type location: str - :param tags: Gets or sets tags of the resource. - :type tags: dict[str, str] - :param namespace: Gets or sets namespace of the resource. - :type namespace: str - :param extension_properties: Gets or sets extensionProperties of the maintenanceConfiguration. - :type extension_properties: dict[str, str] - :param maintenance_scope: Gets or sets maintenanceScope of the configuration. - :type maintenance_scope: str or ~maintenance_client.models.MaintenanceScope - :param visibility: Gets or sets the visibility of the configuration. - :type visibility: str or ~maintenance_client.models.Visibility - :param start_date_time: Effective start date of the maintenance window in YYYY-MM-DD hh:mm - format. The start date can be set to either the current date or future date. The window will be - created in the time zone provided and adjusted to daylight savings according to that time zone. - :type start_date_time: str - :param expiration_date_time: Effective expiration date of the maintenance window in YYYY-MM-DD - hh:mm format. The window will be created in the time zone provided and adjusted to daylight - savings according to that time zone. Expiration date must be set to a future date. If not - provided, it will be set to the maximum datetime 9999-12-31 23:59:59. - :type expiration_date_time: str - :param duration: Duration of the maintenance window in HH:mm format. If not provided, default - value will be used based on maintenance scope provided. Example: 05:00. - :type duration: str - :param time_zone: Name of the timezone. List of timezones can be obtained by executing - [System.TimeZoneInfo]::GetSystemTimeZones() in PowerShell. Example: Pacific Standard Time, UTC, - W. Europe Standard Time, Korea Standard Time, Cen. Australia Standard Time. - :type time_zone: str - :param recur_every: Rate at which a Maintenance window is expected to recur. The rate can be - expressed as daily, weekly, or monthly schedules. Daily schedule are formatted as recurEvery: - [Frequency as integer]['Day(s)']. If no frequency is provided, the default frequency is 1. - Daily schedule examples are recurEvery: Day, recurEvery: 3Days. Weekly schedule are formatted - as recurEvery: [Frequency as integer]['Week(s)'] [Optional comma separated list of weekdays - Monday-Sunday]. Weekly schedule examples are recurEvery: 3Weeks, recurEvery: Week - Saturday,Sunday. Monthly schedules are formatted as [Frequency as integer]['Month(s)'] [Comma - separated list of month days] or [Frequency as integer]['Month(s)'] [Week of Month (First, - Second, Third, Fourth, Last)] [Weekday Monday-Sunday]. Monthly schedule examples are - recurEvery: Month, recurEvery: 2Months, recurEvery: Month day23,day24, recurEvery: Month Last - Sunday, recurEvery: Month Fourth Monday. - :type recur_every: str + :param configuration: The configuration. + :type configuration: ~maintenance_client.models.MaintenanceConfiguration :keyword callable cls: A custom type or function that will be passed the direct response :return: MaintenanceConfiguration, or the result of cls(response) :rtype: ~maintenance_client.models.MaintenanceConfiguration :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.MaintenanceConfiguration"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - - _configuration = models.MaintenanceConfiguration(location=location, tags=tags, namespace=namespace, extension_properties=extension_properties, maintenance_scope=maintenance_scope, visibility=visibility, start_date_time=start_date_time, expiration_date_time=expiration_date_time, duration=duration, time_zone=time_zone, recur_every=recur_every) - api_version = "2020-07-01-preview" + api_version = "2021-05-01" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL url = self.create_or_update.metadata['url'] # type: ignore @@ -193,13 +149,12 @@ async def create_or_update( # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(_configuration, 'MaintenanceConfiguration') + body_content = self._serialize.body(configuration, 'MaintenanceConfiguration') body_content_kwargs['content'] = body_content request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -221,24 +176,27 @@ async def delete( resource_group_name: str, resource_name: str, **kwargs - ) -> "models.MaintenanceConfiguration": + ) -> Optional["models.MaintenanceConfiguration"]: """Delete Configuration record. Delete Configuration record. :param resource_group_name: Resource Group Name. :type resource_group_name: str - :param resource_name: Resource Identifier. + :param resource_name: Maintenance Configuration Name. :type resource_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: MaintenanceConfiguration, or the result of cls(response) - :rtype: ~maintenance_client.models.MaintenanceConfiguration + :rtype: ~maintenance_client.models.MaintenanceConfiguration or None :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["models.MaintenanceConfiguration"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.MaintenanceConfiguration"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" + api_version = "2021-05-01" + accept = "application/json" # Construct URL url = self.delete.metadata['url'] # type: ignore @@ -255,18 +213,20 @@ async def delete( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response - if response.status_code not in [200]: + if response.status_code not in [200, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize(models.MaintenanceError, response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize('MaintenanceConfiguration', pipeline_response) + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('MaintenanceConfiguration', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) @@ -278,17 +238,7 @@ async def update( self, resource_group_name: str, resource_name: str, - location: Optional[str] = None, - tags: Optional[Dict[str, str]] = None, - namespace: Optional[str] = None, - extension_properties: Optional[Dict[str, str]] = None, - maintenance_scope: Optional[Union[str, "models.MaintenanceScope"]] = None, - visibility: Optional[Union[str, "models.Visibility"]] = None, - start_date_time: Optional[str] = None, - expiration_date_time: Optional[str] = None, - duration: Optional[str] = None, - time_zone: Optional[str] = None, - recur_every: Optional[str] = None, + configuration: "models.MaintenanceConfiguration", **kwargs ) -> "models.MaintenanceConfiguration": """Patch configuration record. @@ -297,60 +247,23 @@ async def update( :param resource_group_name: Resource Group Name. :type resource_group_name: str - :param resource_name: Resource Identifier. + :param resource_name: Maintenance Configuration Name. :type resource_name: str - :param location: Gets or sets location of the resource. - :type location: str - :param tags: Gets or sets tags of the resource. - :type tags: dict[str, str] - :param namespace: Gets or sets namespace of the resource. - :type namespace: str - :param extension_properties: Gets or sets extensionProperties of the maintenanceConfiguration. - :type extension_properties: dict[str, str] - :param maintenance_scope: Gets or sets maintenanceScope of the configuration. - :type maintenance_scope: str or ~maintenance_client.models.MaintenanceScope - :param visibility: Gets or sets the visibility of the configuration. - :type visibility: str or ~maintenance_client.models.Visibility - :param start_date_time: Effective start date of the maintenance window in YYYY-MM-DD hh:mm - format. The start date can be set to either the current date or future date. The window will be - created in the time zone provided and adjusted to daylight savings according to that time zone. - :type start_date_time: str - :param expiration_date_time: Effective expiration date of the maintenance window in YYYY-MM-DD - hh:mm format. The window will be created in the time zone provided and adjusted to daylight - savings according to that time zone. Expiration date must be set to a future date. If not - provided, it will be set to the maximum datetime 9999-12-31 23:59:59. - :type expiration_date_time: str - :param duration: Duration of the maintenance window in HH:mm format. If not provided, default - value will be used based on maintenance scope provided. Example: 05:00. - :type duration: str - :param time_zone: Name of the timezone. List of timezones can be obtained by executing - [System.TimeZoneInfo]::GetSystemTimeZones() in PowerShell. Example: Pacific Standard Time, UTC, - W. Europe Standard Time, Korea Standard Time, Cen. Australia Standard Time. - :type time_zone: str - :param recur_every: Rate at which a Maintenance window is expected to recur. The rate can be - expressed as daily, weekly, or monthly schedules. Daily schedule are formatted as recurEvery: - [Frequency as integer]['Day(s)']. If no frequency is provided, the default frequency is 1. - Daily schedule examples are recurEvery: Day, recurEvery: 3Days. Weekly schedule are formatted - as recurEvery: [Frequency as integer]['Week(s)'] [Optional comma separated list of weekdays - Monday-Sunday]. Weekly schedule examples are recurEvery: 3Weeks, recurEvery: Week - Saturday,Sunday. Monthly schedules are formatted as [Frequency as integer]['Month(s)'] [Comma - separated list of month days] or [Frequency as integer]['Month(s)'] [Week of Month (First, - Second, Third, Fourth, Last)] [Weekday Monday-Sunday]. Monthly schedule examples are - recurEvery: Month, recurEvery: 2Months, recurEvery: Month day23,day24, recurEvery: Month Last - Sunday, recurEvery: Month Fourth Monday. - :type recur_every: str + :param configuration: The configuration. + :type configuration: ~maintenance_client.models.MaintenanceConfiguration :keyword callable cls: A custom type or function that will be passed the direct response :return: MaintenanceConfiguration, or the result of cls(response) :rtype: ~maintenance_client.models.MaintenanceConfiguration :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.MaintenanceConfiguration"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - - _configuration = models.MaintenanceConfiguration(location=location, tags=tags, namespace=namespace, extension_properties=extension_properties, maintenance_scope=maintenance_scope, visibility=visibility, start_date_time=start_date_time, expiration_date_time=expiration_date_time, duration=duration, time_zone=time_zone, recur_every=recur_every) - api_version = "2020-07-01-preview" + api_version = "2021-05-01" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL url = self.update.metadata['url'] # type: ignore @@ -368,13 +281,12 @@ async def update( # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(_configuration, 'MaintenanceConfiguration') + body_content = self._serialize.body(configuration, 'MaintenanceConfiguration') body_content_kwargs['content'] = body_content request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -405,14 +317,17 @@ def list( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ListMaintenanceConfigurationsResult"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" + api_version = "2021-05-01" + accept = "application/json" def prepare_request(next_link=None): # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') if not next_link: # Construct URL diff --git a/src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/operations_async/_operation_operations_async.py b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/operations/_operations.py similarity index 90% rename from src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/operations_async/_operation_operations_async.py rename to src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/operations/_operations.py index 3f727b6422e..d6d997ebfe1 100644 --- a/src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/operations_async/_operation_operations_async.py +++ b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/operations/_operations.py @@ -9,7 +9,7 @@ import warnings from azure.core.async_paging import AsyncItemPaged, AsyncList -from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest from azure.mgmt.core.exceptions import ARMErrorFormat @@ -19,8 +19,8 @@ T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] -class OperationOperations: - """OperationOperations async operations. +class Operations: + """Operations async operations. You should not instantiate this class directly. Instead, you should create a Client instance that instantiates it for you and attaches it as an attribute. @@ -55,14 +55,17 @@ def list( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.OperationsListResult"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" + api_version = "2021-05-01" + accept = "application/json" def prepare_request(next_link=None): # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') if not next_link: # Construct URL diff --git a/src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/operations_async/_public_maintenance_configuration_operations_async.py b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/operations/_public_maintenance_configurations_operations.py similarity index 88% rename from src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/operations_async/_public_maintenance_configuration_operations_async.py rename to src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/operations/_public_maintenance_configurations_operations.py index 0c700661962..eadd4e53738 100644 --- a/src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/operations_async/_public_maintenance_configuration_operations_async.py +++ b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/operations/_public_maintenance_configurations_operations.py @@ -9,7 +9,7 @@ import warnings from azure.core.async_paging import AsyncItemPaged, AsyncList -from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest from azure.mgmt.core.exceptions import ARMErrorFormat @@ -19,8 +19,8 @@ T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] -class PublicMaintenanceConfigurationOperations: - """PublicMaintenanceConfigurationOperations async operations. +class PublicMaintenanceConfigurationsOperations: + """PublicMaintenanceConfigurationsOperations async operations. You should not instantiate this class directly. Instead, you should create a Client instance that instantiates it for you and attaches it as an attribute. @@ -55,14 +55,17 @@ def list( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ListMaintenanceConfigurationsResult"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" + api_version = "2021-05-01" + accept = "application/json" def prepare_request(next_link=None): # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') if not next_link: # Construct URL @@ -116,7 +119,7 @@ async def get( Get Public Maintenance Configuration record. - :param resource_name: Resource Identifier. + :param resource_name: Maintenance Configuration Name. :type resource_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: MaintenanceConfiguration, or the result of cls(response) @@ -124,9 +127,12 @@ async def get( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.MaintenanceConfiguration"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" + api_version = "2021-05-01" + accept = "application/json" # Construct URL url = self.get.metadata['url'] # type: ignore @@ -142,7 +148,7 @@ async def get( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') request = self._client.get(url, query_parameters, header_parameters) pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) diff --git a/src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/operations_async/_update_operations_async.py b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/operations/_updates_operations.py similarity index 89% rename from src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/operations_async/_update_operations_async.py rename to src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/operations/_updates_operations.py index 660aaea0a6f..4b8f4ced1f5 100644 --- a/src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/operations_async/_update_operations_async.py +++ b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/operations/_updates_operations.py @@ -9,7 +9,7 @@ import warnings from azure.core.async_paging import AsyncItemPaged, AsyncList -from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest from azure.mgmt.core.exceptions import ARMErrorFormat @@ -19,8 +19,8 @@ T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] -class UpdateOperations: - """UpdateOperations async operations. +class UpdatesOperations: + """UpdatesOperations async operations. You should not instantiate this class directly. Instead, you should create a Client instance that instantiates it for you and attaches it as an attribute. @@ -73,14 +73,17 @@ def list_parent( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ListUpdatesResult"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" + api_version = "2021-05-01" + accept = "application/json" def prepare_request(next_link=None): # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') if not next_link: # Construct URL @@ -120,8 +123,9 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: + error = self._deserialize(models.MaintenanceError, response) map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -156,14 +160,17 @@ def list( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ListUpdatesResult"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" + api_version = "2021-05-01" + accept = "application/json" def prepare_request(next_link=None): # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') if not next_link: # Construct URL @@ -201,8 +208,9 @@ async def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: + error = self._deserialize(models.MaintenanceError, response) map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response diff --git a/src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/operations_async/__init__.py b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/operations_async/__init__.py deleted file mode 100644 index 32e852e6b67..00000000000 --- a/src/maintenance/azext_maintenance/vendored_sdks/maintenance/aio/operations_async/__init__.py +++ /dev/null @@ -1,23 +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 ._public_maintenance_configuration_operations_async import PublicMaintenanceConfigurationOperations -from ._apply_update_operations_async import ApplyUpdateOperations -from ._configuration_assignment_operations_async import ConfigurationAssignmentOperations -from ._maintenance_configuration_operations_async import MaintenanceConfigurationOperations -from ._operation_operations_async import OperationOperations -from ._update_operations_async import UpdateOperations - -__all__ = [ - 'PublicMaintenanceConfigurationOperations', - 'ApplyUpdateOperations', - 'ConfigurationAssignmentOperations', - 'MaintenanceConfigurationOperations', - 'OperationOperations', - 'UpdateOperations', -] diff --git a/src/maintenance/azext_maintenance/vendored_sdks/maintenance/models/__init__.py b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/models/__init__.py index 56f8e539b54..d35a1fda874 100644 --- a/src/maintenance/azext_maintenance/vendored_sdks/maintenance/models/__init__.py +++ b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/models/__init__.py @@ -10,6 +10,7 @@ from ._models_py3 import ApplyUpdate from ._models_py3 import ConfigurationAssignment from ._models_py3 import ErrorDetails + from ._models_py3 import ListApplyUpdate from ._models_py3 import ListConfigurationAssignmentsResult from ._models_py3 import ListMaintenanceConfigurationsResult from ._models_py3 import ListUpdatesResult @@ -19,11 +20,13 @@ from ._models_py3 import OperationInfo from ._models_py3 import OperationsListResult from ._models_py3 import Resource + from ._models_py3 import SystemData from ._models_py3 import Update except (SyntaxError, ImportError): from ._models import ApplyUpdate # type: ignore from ._models import ConfigurationAssignment # type: ignore from ._models import ErrorDetails # type: ignore + from ._models import ListApplyUpdate # type: ignore from ._models import ListConfigurationAssignmentsResult # type: ignore from ._models import ListMaintenanceConfigurationsResult # type: ignore from ._models import ListUpdatesResult # type: ignore @@ -33,9 +36,11 @@ from ._models import OperationInfo # type: ignore from ._models import OperationsListResult # type: ignore from ._models import Resource # type: ignore + from ._models import SystemData # type: ignore from ._models import Update # type: ignore from ._maintenance_client_enums import ( + CreatedByType, ImpactType, MaintenanceScope, UpdateStatus, @@ -46,6 +51,7 @@ 'ApplyUpdate', 'ConfigurationAssignment', 'ErrorDetails', + 'ListApplyUpdate', 'ListConfigurationAssignmentsResult', 'ListMaintenanceConfigurationsResult', 'ListUpdatesResult', @@ -55,7 +61,9 @@ 'OperationInfo', 'OperationsListResult', 'Resource', + 'SystemData', 'Update', + 'CreatedByType', 'ImpactType', 'MaintenanceScope', 'UpdateStatus', diff --git a/src/maintenance/azext_maintenance/vendored_sdks/maintenance/models/_maintenance_client_enums.py b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/models/_maintenance_client_enums.py index ed541885949..77e9ac99f32 100644 --- a/src/maintenance/azext_maintenance/vendored_sdks/maintenance/models/_maintenance_client_enums.py +++ b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/models/_maintenance_client_enums.py @@ -26,42 +26,48 @@ def __getattr__(cls, name): raise AttributeError(name) +class CreatedByType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The type of identity that created the resource. + """ + + USER = "User" + APPLICATION = "Application" + MANAGED_IDENTITY = "ManagedIdentity" + KEY = "Key" + class ImpactType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): """The impact type """ - NONE = "None" - FREEZE = "Freeze" - RESTART = "Restart" - REDEPLOY = "Redeploy" + NONE = "None" #: Pending updates has no impact on resource. + FREEZE = "Freeze" #: Pending updates can freeze network or disk io operation on resource. + RESTART = "Restart" #: Pending updates can cause resource to restart. + REDEPLOY = "Redeploy" #: Pending updates can redeploy resource. class MaintenanceScope(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): """Gets or sets maintenanceScope of the configuration """ - ALL = "All" - HOST = "Host" - RESOURCE = "Resource" - IN_RESOURCE = "InResource" - OS_IMAGE = "OSImage" - EXTENSION = "Extension" - IN_GUEST_PATCH = "InGuestPatch" - SQLDB = "SQLDB" - SQL_MANAGED_INSTANCE = "SQLManagedInstance" + HOST = "Host" #: This maintenance scope controls installation of azure platform updates i.e. services on physical nodes hosting customer VMs. + OS_IMAGE = "OSImage" #: This maintenance scope controls os image installation on VM/VMSS. + EXTENSION = "Extension" #: This maintenance scope controls extension installation on VM/VMSS. + IN_GUEST_PATCH = "InGuestPatch" #: This maintenance scope controls installation of windows and linux packages on VM/VMSS. + SQLDB = "SQLDB" #: This maintenance scope controls installation of SQL server platform updates. + SQL_MANAGED_INSTANCE = "SQLManagedInstance" #: This maintenance scope controls installation of SQL managed instance platform update. class UpdateStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): """The status """ - PENDING = "Pending" - IN_PROGRESS = "InProgress" - COMPLETED = "Completed" - RETRY_NOW = "RetryNow" - RETRY_LATER = "RetryLater" + PENDING = "Pending" #: There are pending updates to be installed. + IN_PROGRESS = "InProgress" #: Updates installation are in progress. + COMPLETED = "Completed" #: All updates are successfully applied. + RETRY_NOW = "RetryNow" #: Updates installation failed but are ready to retry again. + RETRY_LATER = "RetryLater" #: Updates installation failed and should be retried later. class Visibility(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - """Gets or sets the visibility of the configuration + """Gets or sets the visibility of the configuration. The default value is 'Custom' """ - CUSTOM = "Custom" - PUBLIC = "Public" + CUSTOM = "Custom" #: Only visible to users with permissions. + PUBLIC = "Public" #: Visible to all users. diff --git a/src/maintenance/azext_maintenance/vendored_sdks/maintenance/models/_models.py b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/models/_models.py index d48038d28b8..d769325a626 100644 --- a/src/maintenance/azext_maintenance/vendored_sdks/maintenance/models/_models.py +++ b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/models/_models.py @@ -21,18 +21,23 @@ class Resource(msrest.serialization.Model): :vartype name: str :ivar type: Type of the resource. :vartype type: str + :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy + information. + :vartype system_data: ~maintenance_client.models.SystemData """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, + 'system_data': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, } def __init__( @@ -43,6 +48,7 @@ def __init__( self.id = None self.name = None self.type = None + self.system_data = None class ApplyUpdate(Resource): @@ -56,6 +62,9 @@ class ApplyUpdate(Resource): :vartype name: str :ivar type: Type of the resource. :vartype type: str + :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy + information. + :vartype system_data: ~maintenance_client.models.SystemData :param status: The status. Possible values include: "Pending", "InProgress", "Completed", "RetryNow", "RetryLater". :type status: str or ~maintenance_client.models.UpdateStatus @@ -69,12 +78,14 @@ class ApplyUpdate(Resource): 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, + 'system_data': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'status': {'key': 'properties.status', 'type': 'str'}, 'resource_id': {'key': 'properties.resourceId', 'type': 'str'}, 'last_update_time': {'key': 'properties.lastUpdateTime', 'type': 'iso-8601'}, @@ -101,6 +112,9 @@ class ConfigurationAssignment(Resource): :vartype name: str :ivar type: Type of the resource. :vartype type: str + :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy + information. + :vartype system_data: ~maintenance_client.models.SystemData :param location: Location of the resource. :type location: str :param maintenance_configuration_id: The maintenance configuration Id. @@ -113,12 +127,14 @@ class ConfigurationAssignment(Resource): 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, + 'system_data': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'location': {'key': 'location', 'type': 'str'}, 'maintenance_configuration_id': {'key': 'properties.maintenanceConfigurationId', 'type': 'str'}, 'resource_id': {'key': 'properties.resourceId', 'type': 'str'}, @@ -158,6 +174,25 @@ def __init__( self.message = kwargs.get('message', None) +class ListApplyUpdate(msrest.serialization.Model): + """Response for ApplyUpdate list. + + :param value: The list of apply updates. + :type value: list[~maintenance_client.models.ApplyUpdate] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ApplyUpdate]'}, + } + + def __init__( + self, + **kwargs + ): + super(ListApplyUpdate, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + class ListConfigurationAssignmentsResult(msrest.serialization.Model): """Response for ConfigurationAssignments list. @@ -226,6 +261,9 @@ class MaintenanceConfiguration(Resource): :vartype name: str :ivar type: Type of the resource. :vartype type: str + :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy + information. + :vartype system_data: ~maintenance_client.models.SystemData :param location: Gets or sets location of the resource. :type location: str :param tags: A set of tags. Gets or sets tags of the resource. @@ -235,11 +273,10 @@ class MaintenanceConfiguration(Resource): :param extension_properties: Gets or sets extensionProperties of the maintenanceConfiguration. :type extension_properties: dict[str, str] :param maintenance_scope: Gets or sets maintenanceScope of the configuration. Possible values - include: "All", "Host", "Resource", "InResource", "OSImage", "Extension", "InGuestPatch", - "SQLDB", "SQLManagedInstance". + include: "Host", "OSImage", "Extension", "InGuestPatch", "SQLDB", "SQLManagedInstance". :type maintenance_scope: str or ~maintenance_client.models.MaintenanceScope - :param visibility: Gets or sets the visibility of the configuration. Possible values include: - "Custom", "Public". + :param visibility: Gets or sets the visibility of the configuration. The default value is + 'Custom'. Possible values include: "Custom", "Public". :type visibility: str or ~maintenance_client.models.Visibility :param start_date_time: Effective start date of the maintenance window in YYYY-MM-DD hh:mm format. The start date can be set to either the current date or future date. The window will be @@ -275,12 +312,14 @@ class MaintenanceConfiguration(Resource): 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, + 'system_data': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, 'namespace': {'key': 'properties.namespace', 'type': 'str'}, @@ -342,6 +381,8 @@ class Operation(msrest.serialization.Model): :type origin: str :param properties: Properties of the operation. :type properties: object + :param is_data_action: Indicates whether the operation is a data action. + :type is_data_action: bool """ _attribute_map = { @@ -349,6 +390,7 @@ class Operation(msrest.serialization.Model): 'display': {'key': 'display', 'type': 'OperationInfo'}, 'origin': {'key': 'origin', 'type': 'str'}, 'properties': {'key': 'properties', 'type': 'object'}, + 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, } def __init__( @@ -360,6 +402,7 @@ def __init__( self.display = kwargs.get('display', None) self.origin = kwargs.get('origin', None) self.properties = kwargs.get('properties', None) + self.is_data_action = kwargs.get('is_data_action', None) class OperationInfo(msrest.serialization.Model): @@ -412,11 +455,52 @@ def __init__( self.value = kwargs.get('value', None) +class SystemData(msrest.serialization.Model): + """Metadata pertaining to creation and last modification of the resource. + + :param created_by: The identity that created the resource. + :type created_by: str + :param created_by_type: The type of identity that created the resource. Possible values + include: "User", "Application", "ManagedIdentity", "Key". + :type created_by_type: str or ~maintenance_client.models.CreatedByType + :param created_at: The timestamp of resource creation (UTC). + :type created_at: ~datetime.datetime + :param last_modified_by: The identity that last modified the resource. + :type last_modified_by: str + :param last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". + :type last_modified_by_type: str or ~maintenance_client.models.CreatedByType + :param last_modified_at: The timestamp of resource last modification (UTC). + :type last_modified_at: ~datetime.datetime + """ + + _attribute_map = { + 'created_by': {'key': 'createdBy', 'type': 'str'}, + 'created_by_type': {'key': 'createdByType', 'type': 'str'}, + 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, + 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, + 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, + 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, + } + + def __init__( + self, + **kwargs + ): + super(SystemData, self).__init__(**kwargs) + self.created_by = kwargs.get('created_by', None) + self.created_by_type = kwargs.get('created_by_type', None) + self.created_at = kwargs.get('created_at', None) + self.last_modified_by = kwargs.get('last_modified_by', None) + self.last_modified_by_type = kwargs.get('last_modified_by_type', None) + self.last_modified_at = kwargs.get('last_modified_at', None) + + class Update(msrest.serialization.Model): """Maintenance update on a resource. - :param maintenance_scope: The impact area. Possible values include: "All", "Host", "Resource", - "InResource", "OSImage", "Extension", "InGuestPatch", "SQLDB", "SQLManagedInstance". + :param maintenance_scope: The impact area. Possible values include: "Host", "OSImage", + "Extension", "InGuestPatch", "SQLDB", "SQLManagedInstance". :type maintenance_scope: str or ~maintenance_client.models.MaintenanceScope :param impact_type: The impact type. Possible values include: "None", "Freeze", "Restart", "Redeploy". diff --git a/src/maintenance/azext_maintenance/vendored_sdks/maintenance/models/_models_py3.py b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/models/_models_py3.py index 0536271dece..d919792496a 100644 --- a/src/maintenance/azext_maintenance/vendored_sdks/maintenance/models/_models_py3.py +++ b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/models/_models_py3.py @@ -26,18 +26,23 @@ class Resource(msrest.serialization.Model): :vartype name: str :ivar type: Type of the resource. :vartype type: str + :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy + information. + :vartype system_data: ~maintenance_client.models.SystemData """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, + 'system_data': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, } def __init__( @@ -48,6 +53,7 @@ def __init__( self.id = None self.name = None self.type = None + self.system_data = None class ApplyUpdate(Resource): @@ -61,6 +67,9 @@ class ApplyUpdate(Resource): :vartype name: str :ivar type: Type of the resource. :vartype type: str + :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy + information. + :vartype system_data: ~maintenance_client.models.SystemData :param status: The status. Possible values include: "Pending", "InProgress", "Completed", "RetryNow", "RetryLater". :type status: str or ~maintenance_client.models.UpdateStatus @@ -74,12 +83,14 @@ class ApplyUpdate(Resource): 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, + 'system_data': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'status': {'key': 'properties.status', 'type': 'str'}, 'resource_id': {'key': 'properties.resourceId', 'type': 'str'}, 'last_update_time': {'key': 'properties.lastUpdateTime', 'type': 'iso-8601'}, @@ -110,6 +121,9 @@ class ConfigurationAssignment(Resource): :vartype name: str :ivar type: Type of the resource. :vartype type: str + :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy + information. + :vartype system_data: ~maintenance_client.models.SystemData :param location: Location of the resource. :type location: str :param maintenance_configuration_id: The maintenance configuration Id. @@ -122,12 +136,14 @@ class ConfigurationAssignment(Resource): 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, + 'system_data': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'location': {'key': 'location', 'type': 'str'}, 'maintenance_configuration_id': {'key': 'properties.maintenanceConfigurationId', 'type': 'str'}, 'resource_id': {'key': 'properties.resourceId', 'type': 'str'}, @@ -174,6 +190,27 @@ def __init__( self.message = message +class ListApplyUpdate(msrest.serialization.Model): + """Response for ApplyUpdate list. + + :param value: The list of apply updates. + :type value: list[~maintenance_client.models.ApplyUpdate] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ApplyUpdate]'}, + } + + def __init__( + self, + *, + value: Optional[List["ApplyUpdate"]] = None, + **kwargs + ): + super(ListApplyUpdate, self).__init__(**kwargs) + self.value = value + + class ListConfigurationAssignmentsResult(msrest.serialization.Model): """Response for ConfigurationAssignments list. @@ -248,6 +285,9 @@ class MaintenanceConfiguration(Resource): :vartype name: str :ivar type: Type of the resource. :vartype type: str + :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy + information. + :vartype system_data: ~maintenance_client.models.SystemData :param location: Gets or sets location of the resource. :type location: str :param tags: A set of tags. Gets or sets tags of the resource. @@ -257,11 +297,10 @@ class MaintenanceConfiguration(Resource): :param extension_properties: Gets or sets extensionProperties of the maintenanceConfiguration. :type extension_properties: dict[str, str] :param maintenance_scope: Gets or sets maintenanceScope of the configuration. Possible values - include: "All", "Host", "Resource", "InResource", "OSImage", "Extension", "InGuestPatch", - "SQLDB", "SQLManagedInstance". + include: "Host", "OSImage", "Extension", "InGuestPatch", "SQLDB", "SQLManagedInstance". :type maintenance_scope: str or ~maintenance_client.models.MaintenanceScope - :param visibility: Gets or sets the visibility of the configuration. Possible values include: - "Custom", "Public". + :param visibility: Gets or sets the visibility of the configuration. The default value is + 'Custom'. Possible values include: "Custom", "Public". :type visibility: str or ~maintenance_client.models.Visibility :param start_date_time: Effective start date of the maintenance window in YYYY-MM-DD hh:mm format. The start date can be set to either the current date or future date. The window will be @@ -297,12 +336,14 @@ class MaintenanceConfiguration(Resource): 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, + 'system_data': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, 'namespace': {'key': 'properties.namespace', 'type': 'str'}, @@ -378,6 +419,8 @@ class Operation(msrest.serialization.Model): :type origin: str :param properties: Properties of the operation. :type properties: object + :param is_data_action: Indicates whether the operation is a data action. + :type is_data_action: bool """ _attribute_map = { @@ -385,6 +428,7 @@ class Operation(msrest.serialization.Model): 'display': {'key': 'display', 'type': 'OperationInfo'}, 'origin': {'key': 'origin', 'type': 'str'}, 'properties': {'key': 'properties', 'type': 'object'}, + 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, } def __init__( @@ -394,6 +438,7 @@ def __init__( display: Optional["OperationInfo"] = None, origin: Optional[str] = None, properties: Optional[object] = None, + is_data_action: Optional[bool] = None, **kwargs ): super(Operation, self).__init__(**kwargs) @@ -401,6 +446,7 @@ def __init__( self.display = display self.origin = origin self.properties = properties + self.is_data_action = is_data_action class OperationInfo(msrest.serialization.Model): @@ -460,11 +506,59 @@ def __init__( self.value = value +class SystemData(msrest.serialization.Model): + """Metadata pertaining to creation and last modification of the resource. + + :param created_by: The identity that created the resource. + :type created_by: str + :param created_by_type: The type of identity that created the resource. Possible values + include: "User", "Application", "ManagedIdentity", "Key". + :type created_by_type: str or ~maintenance_client.models.CreatedByType + :param created_at: The timestamp of resource creation (UTC). + :type created_at: ~datetime.datetime + :param last_modified_by: The identity that last modified the resource. + :type last_modified_by: str + :param last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". + :type last_modified_by_type: str or ~maintenance_client.models.CreatedByType + :param last_modified_at: The timestamp of resource last modification (UTC). + :type last_modified_at: ~datetime.datetime + """ + + _attribute_map = { + 'created_by': {'key': 'createdBy', 'type': 'str'}, + 'created_by_type': {'key': 'createdByType', 'type': 'str'}, + 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, + 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, + 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, + 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, + } + + def __init__( + self, + *, + created_by: Optional[str] = None, + created_by_type: Optional[Union[str, "CreatedByType"]] = None, + created_at: Optional[datetime.datetime] = None, + last_modified_by: Optional[str] = None, + last_modified_by_type: Optional[Union[str, "CreatedByType"]] = None, + last_modified_at: Optional[datetime.datetime] = None, + **kwargs + ): + super(SystemData, self).__init__(**kwargs) + self.created_by = created_by + self.created_by_type = created_by_type + self.created_at = created_at + self.last_modified_by = last_modified_by + self.last_modified_by_type = last_modified_by_type + self.last_modified_at = last_modified_at + + class Update(msrest.serialization.Model): """Maintenance update on a resource. - :param maintenance_scope: The impact area. Possible values include: "All", "Host", "Resource", - "InResource", "OSImage", "Extension", "InGuestPatch", "SQLDB", "SQLManagedInstance". + :param maintenance_scope: The impact area. Possible values include: "Host", "OSImage", + "Extension", "InGuestPatch", "SQLDB", "SQLManagedInstance". :type maintenance_scope: str or ~maintenance_client.models.MaintenanceScope :param impact_type: The impact type. Possible values include: "None", "Freeze", "Restart", "Redeploy". diff --git a/src/maintenance/azext_maintenance/vendored_sdks/maintenance/operations/__init__.py b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/operations/__init__.py index 4abcf25d27c..0936b6c33b5 100644 --- a/src/maintenance/azext_maintenance/vendored_sdks/maintenance/operations/__init__.py +++ b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/operations/__init__.py @@ -6,18 +6,22 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from ._public_maintenance_configuration_operations import PublicMaintenanceConfigurationOperations -from ._apply_update_operations import ApplyUpdateOperations -from ._configuration_assignment_operations import ConfigurationAssignmentOperations -from ._maintenance_configuration_operations import MaintenanceConfigurationOperations -from ._operation_operations import OperationOperations -from ._update_operations import UpdateOperations +from ._public_maintenance_configurations_operations import PublicMaintenanceConfigurationsOperations +from ._apply_updates_operations import ApplyUpdatesOperations +from ._configuration_assignments_operations import ConfigurationAssignmentsOperations +from ._maintenance_configurations_operations import MaintenanceConfigurationsOperations +from ._maintenance_configurations_for_resource_group_operations import MaintenanceConfigurationsForResourceGroupOperations +from ._apply_update_for_resource_group_operations import ApplyUpdateForResourceGroupOperations +from ._operations import Operations +from ._updates_operations import UpdatesOperations __all__ = [ - 'PublicMaintenanceConfigurationOperations', - 'ApplyUpdateOperations', - 'ConfigurationAssignmentOperations', - 'MaintenanceConfigurationOperations', - 'OperationOperations', - 'UpdateOperations', + 'PublicMaintenanceConfigurationsOperations', + 'ApplyUpdatesOperations', + 'ConfigurationAssignmentsOperations', + 'MaintenanceConfigurationsOperations', + 'MaintenanceConfigurationsForResourceGroupOperations', + 'ApplyUpdateForResourceGroupOperations', + 'Operations', + 'UpdatesOperations', ] diff --git a/src/maintenance/azext_maintenance/vendored_sdks/maintenance/operations/_apply_update_for_resource_group_operations.py b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/operations/_apply_update_for_resource_group_operations.py new file mode 100644 index 00000000000..af293e86ad7 --- /dev/null +++ b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/operations/_apply_update_for_resource_group_operations.py @@ -0,0 +1,120 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class ApplyUpdateForResourceGroupOperations(object): + """ApplyUpdateForResourceGroupOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~maintenance_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + resource_group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.ListApplyUpdate"] + """Get Configuration records within a subscription and resource group. + + Get Configuration records within a subscription and resource group. + + :param resource_group_name: Resource Group Name. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ListApplyUpdate or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~maintenance_client.models.ListApplyUpdate] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ListApplyUpdate"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('ListApplyUpdate', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.MaintenanceError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maintenance/applyUpdates'} # type: ignore diff --git a/src/maintenance/azext_maintenance/vendored_sdks/maintenance/operations/_apply_update_operations.py b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/operations/_apply_updates_operations.py similarity index 73% rename from src/maintenance/azext_maintenance/vendored_sdks/maintenance/operations/_apply_update_operations.py rename to src/maintenance/azext_maintenance/vendored_sdks/maintenance/operations/_apply_updates_operations.py index e659a0bcad2..9a15286318d 100644 --- a/src/maintenance/azext_maintenance/vendored_sdks/maintenance/operations/_apply_update_operations.py +++ b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/operations/_apply_updates_operations.py @@ -8,7 +8,8 @@ from typing import TYPE_CHECKING import warnings -from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpRequest, HttpResponse from azure.mgmt.core.exceptions import ARMErrorFormat @@ -17,13 +18,13 @@ if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Optional, TypeVar + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] -class ApplyUpdateOperations(object): - """ApplyUpdateOperations operations. +class ApplyUpdatesOperations(object): + """ApplyUpdatesOperations operations. You should not instantiate this class directly. Instead, you should create a Client instance that instantiates it for you and attaches it as an attribute. @@ -80,9 +81,12 @@ def get_parent( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ApplyUpdate"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" + api_version = "2021-05-01" + accept = "application/json" # Construct URL url = self.get_parent.metadata['url'] # type: ignore @@ -104,7 +108,7 @@ def get_parent( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) @@ -112,7 +116,8 @@ def get_parent( if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize(models.MaintenanceError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('ApplyUpdate', pipeline_response) @@ -152,9 +157,12 @@ def get( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ApplyUpdate"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" + api_version = "2021-05-01" + accept = "application/json" # Construct URL url = self.get.metadata['url'] # type: ignore @@ -174,7 +182,7 @@ def get( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) @@ -182,7 +190,8 @@ def get( if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize(models.MaintenanceError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('ApplyUpdate', pipeline_response) @@ -225,9 +234,12 @@ def create_or_update_parent( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ApplyUpdate"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" + api_version = "2021-05-01" + accept = "application/json" # Construct URL url = self.create_or_update_parent.metadata['url'] # type: ignore @@ -248,7 +260,7 @@ def create_or_update_parent( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') request = self._client.put(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) @@ -256,7 +268,8 @@ def create_or_update_parent( if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize(models.MaintenanceError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('ApplyUpdate', pipeline_response) @@ -293,9 +306,12 @@ def create_or_update( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ApplyUpdate"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" + api_version = "2021-05-01" + accept = "application/json" # Construct URL url = self.create_or_update.metadata['url'] # type: ignore @@ -314,7 +330,7 @@ def create_or_update( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') request = self._client.put(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) @@ -322,7 +338,8 @@ def create_or_update( if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize(models.MaintenanceError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('ApplyUpdate', pipeline_response) @@ -331,3 +348,73 @@ def create_or_update( return deserialized create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}/providers/Microsoft.Maintenance/applyUpdates/default'} # type: ignore + + def list( + self, + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.ListApplyUpdate"] + """Get Configuration records within a subscription. + + Get Configuration records within a subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ListApplyUpdate or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~maintenance_client.models.ListApplyUpdate] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ListApplyUpdate"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + 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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('ListApplyUpdate', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.MaintenanceError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Maintenance/applyUpdates'} # type: ignore diff --git a/src/maintenance/azext_maintenance/vendored_sdks/maintenance/operations/_configuration_assignment_operations.py b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/operations/_configuration_assignments_operations.py similarity index 84% rename from src/maintenance/azext_maintenance/vendored_sdks/maintenance/operations/_configuration_assignment_operations.py rename to src/maintenance/azext_maintenance/vendored_sdks/maintenance/operations/_configuration_assignments_operations.py index 974f31215f9..0e91613a066 100644 --- a/src/maintenance/azext_maintenance/vendored_sdks/maintenance/operations/_configuration_assignment_operations.py +++ b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/operations/_configuration_assignments_operations.py @@ -8,7 +8,7 @@ from typing import TYPE_CHECKING import warnings -from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpRequest, HttpResponse @@ -23,8 +23,8 @@ T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] -class ConfigurationAssignmentOperations(object): - """ConfigurationAssignmentOperations operations. +class ConfigurationAssignmentsOperations(object): + """ConfigurationAssignmentsOperations operations. You should not instantiate this class directly. Instead, you should create a Client instance that instantiates it for you and attaches it as an attribute. @@ -54,9 +54,7 @@ def create_or_update_parent( resource_type, # type: str resource_name, # type: str configuration_assignment_name, # type: str - location=None, # type: Optional[str] - maintenance_configuration_id=None, # type: Optional[str] - resource_id=None, # type: Optional[str] + configuration_assignment, # type: "models.ConfigurationAssignment" **kwargs # type: Any ): # type: (...) -> "models.ConfigurationAssignment" @@ -78,24 +76,21 @@ def create_or_update_parent( :type resource_name: str :param configuration_assignment_name: Configuration assignment name. :type configuration_assignment_name: str - :param location: Location of the resource. - :type location: str - :param maintenance_configuration_id: The maintenance configuration Id. - :type maintenance_configuration_id: str - :param resource_id: The unique resourceId. - :type resource_id: str + :param configuration_assignment: The configurationAssignment. + :type configuration_assignment: ~maintenance_client.models.ConfigurationAssignment :keyword callable cls: A custom type or function that will be passed the direct response :return: ConfigurationAssignment, or the result of cls(response) :rtype: ~maintenance_client.models.ConfigurationAssignment :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ConfigurationAssignment"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - - _configuration_assignment = models.ConfigurationAssignment(location=location, maintenance_configuration_id=maintenance_configuration_id, resource_id=resource_id) - api_version = "2020-07-01-preview" + api_version = "2021-05-01" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL url = self.create_or_update_parent.metadata['url'] # type: ignore @@ -118,19 +113,19 @@ def create_or_update_parent( # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(_configuration_assignment, 'ConfigurationAssignment') + body_content = self._serialize.body(configuration_assignment, 'ConfigurationAssignment') body_content_kwargs['content'] = body_content request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize(models.MaintenanceError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('ConfigurationAssignment', pipeline_response) @@ -151,7 +146,7 @@ def delete_parent( configuration_assignment_name, # type: str **kwargs # type: Any ): - # type: (...) -> "models.ConfigurationAssignment" + # type: (...) -> Optional["models.ConfigurationAssignment"] """Unregister configuration for resource. Unregister configuration for resource. @@ -172,13 +167,16 @@ def delete_parent( :type configuration_assignment_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: ConfigurationAssignment, or the result of cls(response) - :rtype: ~maintenance_client.models.ConfigurationAssignment + :rtype: ~maintenance_client.models.ConfigurationAssignment or None :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["models.ConfigurationAssignment"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.ConfigurationAssignment"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" + api_version = "2021-05-01" + accept = "application/json" # Construct URL url = self.delete_parent.metadata['url'] # type: ignore @@ -200,17 +198,20 @@ def delete_parent( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response - if response.status_code not in [200]: + if response.status_code not in [200, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize(models.MaintenanceError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize('ConfigurationAssignment', pipeline_response) + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ConfigurationAssignment', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) @@ -225,9 +226,7 @@ def create_or_update( resource_type, # type: str resource_name, # type: str configuration_assignment_name, # type: str - location=None, # type: Optional[str] - maintenance_configuration_id=None, # type: Optional[str] - resource_id=None, # type: Optional[str] + configuration_assignment, # type: "models.ConfigurationAssignment" **kwargs # type: Any ): # type: (...) -> "models.ConfigurationAssignment" @@ -245,24 +244,21 @@ def create_or_update( :type resource_name: str :param configuration_assignment_name: Configuration assignment name. :type configuration_assignment_name: str - :param location: Location of the resource. - :type location: str - :param maintenance_configuration_id: The maintenance configuration Id. - :type maintenance_configuration_id: str - :param resource_id: The unique resourceId. - :type resource_id: str + :param configuration_assignment: The configurationAssignment. + :type configuration_assignment: ~maintenance_client.models.ConfigurationAssignment :keyword callable cls: A custom type or function that will be passed the direct response :return: ConfigurationAssignment, or the result of cls(response) :rtype: ~maintenance_client.models.ConfigurationAssignment :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ConfigurationAssignment"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - - _configuration_assignment = models.ConfigurationAssignment(location=location, maintenance_configuration_id=maintenance_configuration_id, resource_id=resource_id) - api_version = "2020-07-01-preview" + api_version = "2021-05-01" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL url = self.create_or_update.metadata['url'] # type: ignore @@ -283,19 +279,19 @@ def create_or_update( # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(_configuration_assignment, 'ConfigurationAssignment') + body_content = self._serialize.body(configuration_assignment, 'ConfigurationAssignment') body_content_kwargs['content'] = body_content request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response if response.status_code not in [200]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize(models.MaintenanceError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) deserialized = self._deserialize('ConfigurationAssignment', pipeline_response) @@ -314,7 +310,7 @@ def delete( configuration_assignment_name, # type: str **kwargs # type: Any ): - # type: (...) -> "models.ConfigurationAssignment" + # type: (...) -> Optional["models.ConfigurationAssignment"] """Unregister configuration for resource. Unregister configuration for resource. @@ -331,13 +327,16 @@ def delete( :type configuration_assignment_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: ConfigurationAssignment, or the result of cls(response) - :rtype: ~maintenance_client.models.ConfigurationAssignment + :rtype: ~maintenance_client.models.ConfigurationAssignment or None :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["models.ConfigurationAssignment"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.ConfigurationAssignment"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" + api_version = "2021-05-01" + accept = "application/json" # Construct URL url = self.delete.metadata['url'] # type: ignore @@ -357,17 +356,20 @@ def delete( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response - if response.status_code not in [200]: + if response.status_code not in [200, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + error = self._deserialize(models.MaintenanceError, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize('ConfigurationAssignment', pipeline_response) + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ConfigurationAssignment', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) @@ -408,14 +410,17 @@ def list_parent( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ListConfigurationAssignmentsResult"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" + api_version = "2021-05-01" + accept = "application/json" def prepare_request(next_link=None): # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') if not next_link: # Construct URL @@ -455,8 +460,9 @@ def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: + error = self._deserialize(models.MaintenanceError, response) map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -492,14 +498,17 @@ def list( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ListConfigurationAssignmentsResult"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" + api_version = "2021-05-01" + accept = "application/json" def prepare_request(next_link=None): # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') if not next_link: # Construct URL @@ -537,8 +546,9 @@ def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: + error = self._deserialize(models.MaintenanceError, response) map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response diff --git a/src/maintenance/azext_maintenance/vendored_sdks/maintenance/operations/_maintenance_configurations_for_resource_group_operations.py b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/operations/_maintenance_configurations_for_resource_group_operations.py new file mode 100644 index 00000000000..5e289132d0a --- /dev/null +++ b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/operations/_maintenance_configurations_for_resource_group_operations.py @@ -0,0 +1,120 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class MaintenanceConfigurationsForResourceGroupOperations(object): + """MaintenanceConfigurationsForResourceGroupOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~maintenance_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + resource_group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.ListMaintenanceConfigurationsResult"] + """Get Configuration records within a subscription and resource group. + + Get Configuration records within a subscription and resource group. + + :param resource_group_name: Resource Group Name. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ListMaintenanceConfigurationsResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~maintenance_client.models.ListMaintenanceConfigurationsResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ListMaintenanceConfigurationsResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-05-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('ListMaintenanceConfigurationsResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.MaintenanceError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maintenance/maintenanceConfigurations'} # type: ignore diff --git a/src/maintenance/azext_maintenance/vendored_sdks/maintenance/operations/_maintenance_configuration_operations.py b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/operations/_maintenance_configurations_operations.py similarity index 60% rename from src/maintenance/azext_maintenance/vendored_sdks/maintenance/operations/_maintenance_configuration_operations.py rename to src/maintenance/azext_maintenance/vendored_sdks/maintenance/operations/_maintenance_configurations_operations.py index b9848a0ab46..35c4fbe2268 100644 --- a/src/maintenance/azext_maintenance/vendored_sdks/maintenance/operations/_maintenance_configuration_operations.py +++ b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/operations/_maintenance_configurations_operations.py @@ -8,7 +8,7 @@ from typing import TYPE_CHECKING import warnings -from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpRequest, HttpResponse @@ -18,13 +18,13 @@ if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] -class MaintenanceConfigurationOperations(object): - """MaintenanceConfigurationOperations operations. +class MaintenanceConfigurationsOperations(object): + """MaintenanceConfigurationsOperations operations. You should not instantiate this class directly. Instead, you should create a Client instance that instantiates it for you and attaches it as an attribute. @@ -58,7 +58,7 @@ def get( :param resource_group_name: Resource Group Name. :type resource_group_name: str - :param resource_name: Resource Identifier. + :param resource_name: Maintenance Configuration Name. :type resource_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: MaintenanceConfiguration, or the result of cls(response) @@ -66,9 +66,12 @@ def get( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.MaintenanceConfiguration"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" + api_version = "2021-05-01" + accept = "application/json" # Construct URL url = self.get.metadata['url'] # type: ignore @@ -85,7 +88,7 @@ def get( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) @@ -108,17 +111,7 @@ def create_or_update( self, resource_group_name, # type: str resource_name, # type: str - location=None, # type: Optional[str] - tags=None, # type: Optional[Dict[str, str]] - namespace=None, # type: Optional[str] - extension_properties=None, # type: Optional[Dict[str, str]] - maintenance_scope=None, # type: Optional[Union[str, "models.MaintenanceScope"]] - visibility=None, # type: Optional[Union[str, "models.Visibility"]] - start_date_time=None, # type: Optional[str] - expiration_date_time=None, # type: Optional[str] - duration=None, # type: Optional[str] - time_zone=None, # type: Optional[str] - recur_every=None, # type: Optional[str] + configuration, # type: "models.MaintenanceConfiguration" **kwargs # type: Any ): # type: (...) -> "models.MaintenanceConfiguration" @@ -128,60 +121,23 @@ def create_or_update( :param resource_group_name: Resource Group Name. :type resource_group_name: str - :param resource_name: Resource Identifier. + :param resource_name: Maintenance Configuration Name. :type resource_name: str - :param location: Gets or sets location of the resource. - :type location: str - :param tags: Gets or sets tags of the resource. - :type tags: dict[str, str] - :param namespace: Gets or sets namespace of the resource. - :type namespace: str - :param extension_properties: Gets or sets extensionProperties of the maintenanceConfiguration. - :type extension_properties: dict[str, str] - :param maintenance_scope: Gets or sets maintenanceScope of the configuration. - :type maintenance_scope: str or ~maintenance_client.models.MaintenanceScope - :param visibility: Gets or sets the visibility of the configuration. - :type visibility: str or ~maintenance_client.models.Visibility - :param start_date_time: Effective start date of the maintenance window in YYYY-MM-DD hh:mm - format. The start date can be set to either the current date or future date. The window will be - created in the time zone provided and adjusted to daylight savings according to that time zone. - :type start_date_time: str - :param expiration_date_time: Effective expiration date of the maintenance window in YYYY-MM-DD - hh:mm format. The window will be created in the time zone provided and adjusted to daylight - savings according to that time zone. Expiration date must be set to a future date. If not - provided, it will be set to the maximum datetime 9999-12-31 23:59:59. - :type expiration_date_time: str - :param duration: Duration of the maintenance window in HH:mm format. If not provided, default - value will be used based on maintenance scope provided. Example: 05:00. - :type duration: str - :param time_zone: Name of the timezone. List of timezones can be obtained by executing - [System.TimeZoneInfo]::GetSystemTimeZones() in PowerShell. Example: Pacific Standard Time, UTC, - W. Europe Standard Time, Korea Standard Time, Cen. Australia Standard Time. - :type time_zone: str - :param recur_every: Rate at which a Maintenance window is expected to recur. The rate can be - expressed as daily, weekly, or monthly schedules. Daily schedule are formatted as recurEvery: - [Frequency as integer]['Day(s)']. If no frequency is provided, the default frequency is 1. - Daily schedule examples are recurEvery: Day, recurEvery: 3Days. Weekly schedule are formatted - as recurEvery: [Frequency as integer]['Week(s)'] [Optional comma separated list of weekdays - Monday-Sunday]. Weekly schedule examples are recurEvery: 3Weeks, recurEvery: Week - Saturday,Sunday. Monthly schedules are formatted as [Frequency as integer]['Month(s)'] [Comma - separated list of month days] or [Frequency as integer]['Month(s)'] [Week of Month (First, - Second, Third, Fourth, Last)] [Weekday Monday-Sunday]. Monthly schedule examples are - recurEvery: Month, recurEvery: 2Months, recurEvery: Month day23,day24, recurEvery: Month Last - Sunday, recurEvery: Month Fourth Monday. - :type recur_every: str + :param configuration: The configuration. + :type configuration: ~maintenance_client.models.MaintenanceConfiguration :keyword callable cls: A custom type or function that will be passed the direct response :return: MaintenanceConfiguration, or the result of cls(response) :rtype: ~maintenance_client.models.MaintenanceConfiguration :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.MaintenanceConfiguration"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - - _configuration = models.MaintenanceConfiguration(location=location, tags=tags, namespace=namespace, extension_properties=extension_properties, maintenance_scope=maintenance_scope, visibility=visibility, start_date_time=start_date_time, expiration_date_time=expiration_date_time, duration=duration, time_zone=time_zone, recur_every=recur_every) - api_version = "2020-07-01-preview" + api_version = "2021-05-01" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL url = self.create_or_update.metadata['url'] # type: ignore @@ -199,13 +155,12 @@ def create_or_update( # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(_configuration, 'MaintenanceConfiguration') + body_content = self._serialize.body(configuration, 'MaintenanceConfiguration') body_content_kwargs['content'] = body_content request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -228,24 +183,27 @@ def delete( resource_name, # type: str **kwargs # type: Any ): - # type: (...) -> "models.MaintenanceConfiguration" + # type: (...) -> Optional["models.MaintenanceConfiguration"] """Delete Configuration record. Delete Configuration record. :param resource_group_name: Resource Group Name. :type resource_group_name: str - :param resource_name: Resource Identifier. + :param resource_name: Maintenance Configuration Name. :type resource_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: MaintenanceConfiguration, or the result of cls(response) - :rtype: ~maintenance_client.models.MaintenanceConfiguration + :rtype: ~maintenance_client.models.MaintenanceConfiguration or None :raises: ~azure.core.exceptions.HttpResponseError """ - cls = kwargs.pop('cls', None) # type: ClsType["models.MaintenanceConfiguration"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.MaintenanceConfiguration"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" + api_version = "2021-05-01" + accept = "application/json" # Construct URL url = self.delete.metadata['url'] # type: ignore @@ -262,18 +220,20 @@ def delete( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') request = self._client.delete(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response - if response.status_code not in [200]: + if response.status_code not in [200, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize(models.MaintenanceError, response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize('MaintenanceConfiguration', pipeline_response) + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('MaintenanceConfiguration', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) @@ -285,17 +245,7 @@ def update( self, resource_group_name, # type: str resource_name, # type: str - location=None, # type: Optional[str] - tags=None, # type: Optional[Dict[str, str]] - namespace=None, # type: Optional[str] - extension_properties=None, # type: Optional[Dict[str, str]] - maintenance_scope=None, # type: Optional[Union[str, "models.MaintenanceScope"]] - visibility=None, # type: Optional[Union[str, "models.Visibility"]] - start_date_time=None, # type: Optional[str] - expiration_date_time=None, # type: Optional[str] - duration=None, # type: Optional[str] - time_zone=None, # type: Optional[str] - recur_every=None, # type: Optional[str] + configuration, # type: "models.MaintenanceConfiguration" **kwargs # type: Any ): # type: (...) -> "models.MaintenanceConfiguration" @@ -305,60 +255,23 @@ def update( :param resource_group_name: Resource Group Name. :type resource_group_name: str - :param resource_name: Resource Identifier. + :param resource_name: Maintenance Configuration Name. :type resource_name: str - :param location: Gets or sets location of the resource. - :type location: str - :param tags: Gets or sets tags of the resource. - :type tags: dict[str, str] - :param namespace: Gets or sets namespace of the resource. - :type namespace: str - :param extension_properties: Gets or sets extensionProperties of the maintenanceConfiguration. - :type extension_properties: dict[str, str] - :param maintenance_scope: Gets or sets maintenanceScope of the configuration. - :type maintenance_scope: str or ~maintenance_client.models.MaintenanceScope - :param visibility: Gets or sets the visibility of the configuration. - :type visibility: str or ~maintenance_client.models.Visibility - :param start_date_time: Effective start date of the maintenance window in YYYY-MM-DD hh:mm - format. The start date can be set to either the current date or future date. The window will be - created in the time zone provided and adjusted to daylight savings according to that time zone. - :type start_date_time: str - :param expiration_date_time: Effective expiration date of the maintenance window in YYYY-MM-DD - hh:mm format. The window will be created in the time zone provided and adjusted to daylight - savings according to that time zone. Expiration date must be set to a future date. If not - provided, it will be set to the maximum datetime 9999-12-31 23:59:59. - :type expiration_date_time: str - :param duration: Duration of the maintenance window in HH:mm format. If not provided, default - value will be used based on maintenance scope provided. Example: 05:00. - :type duration: str - :param time_zone: Name of the timezone. List of timezones can be obtained by executing - [System.TimeZoneInfo]::GetSystemTimeZones() in PowerShell. Example: Pacific Standard Time, UTC, - W. Europe Standard Time, Korea Standard Time, Cen. Australia Standard Time. - :type time_zone: str - :param recur_every: Rate at which a Maintenance window is expected to recur. The rate can be - expressed as daily, weekly, or monthly schedules. Daily schedule are formatted as recurEvery: - [Frequency as integer]['Day(s)']. If no frequency is provided, the default frequency is 1. - Daily schedule examples are recurEvery: Day, recurEvery: 3Days. Weekly schedule are formatted - as recurEvery: [Frequency as integer]['Week(s)'] [Optional comma separated list of weekdays - Monday-Sunday]. Weekly schedule examples are recurEvery: 3Weeks, recurEvery: Week - Saturday,Sunday. Monthly schedules are formatted as [Frequency as integer]['Month(s)'] [Comma - separated list of month days] or [Frequency as integer]['Month(s)'] [Week of Month (First, - Second, Third, Fourth, Last)] [Weekday Monday-Sunday]. Monthly schedule examples are - recurEvery: Month, recurEvery: 2Months, recurEvery: Month day23,day24, recurEvery: Month Last - Sunday, recurEvery: Month Fourth Monday. - :type recur_every: str + :param configuration: The configuration. + :type configuration: ~maintenance_client.models.MaintenanceConfiguration :keyword callable cls: A custom type or function that will be passed the direct response :return: MaintenanceConfiguration, or the result of cls(response) :rtype: ~maintenance_client.models.MaintenanceConfiguration :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.MaintenanceConfiguration"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - - _configuration = models.MaintenanceConfiguration(location=location, tags=tags, namespace=namespace, extension_properties=extension_properties, maintenance_scope=maintenance_scope, visibility=visibility, start_date_time=start_date_time, expiration_date_time=expiration_date_time, duration=duration, time_zone=time_zone, recur_every=recur_every) - api_version = "2020-07-01-preview" + api_version = "2021-05-01" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL url = self.update.metadata['url'] # type: ignore @@ -376,13 +289,12 @@ def update( # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') body_content_kwargs = {} # type: Dict[str, Any] - body_content = self._serialize.body(_configuration, 'MaintenanceConfiguration') + body_content = self._serialize.body(configuration, 'MaintenanceConfiguration') body_content_kwargs['content'] = body_content request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -414,14 +326,17 @@ def list( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ListMaintenanceConfigurationsResult"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" + api_version = "2021-05-01" + accept = "application/json" def prepare_request(next_link=None): # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') if not next_link: # Construct URL diff --git a/src/maintenance/azext_maintenance/vendored_sdks/maintenance/operations/_operation_operations.py b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/operations/_operations.py similarity index 90% rename from src/maintenance/azext_maintenance/vendored_sdks/maintenance/operations/_operation_operations.py rename to src/maintenance/azext_maintenance/vendored_sdks/maintenance/operations/_operations.py index 0a8fa2a7aee..2353901e5ff 100644 --- a/src/maintenance/azext_maintenance/vendored_sdks/maintenance/operations/_operation_operations.py +++ b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/operations/_operations.py @@ -8,7 +8,7 @@ from typing import TYPE_CHECKING import warnings -from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpRequest, HttpResponse @@ -23,8 +23,8 @@ T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] -class OperationOperations(object): - """OperationOperations operations. +class Operations(object): + """Operations operations. You should not instantiate this class directly. Instead, you should create a Client instance that instantiates it for you and attaches it as an attribute. @@ -60,14 +60,17 @@ def list( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.OperationsListResult"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" + api_version = "2021-05-01" + accept = "application/json" def prepare_request(next_link=None): # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') if not next_link: # Construct URL diff --git a/src/maintenance/azext_maintenance/vendored_sdks/maintenance/operations/_public_maintenance_configuration_operations.py b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/operations/_public_maintenance_configurations_operations.py similarity index 88% rename from src/maintenance/azext_maintenance/vendored_sdks/maintenance/operations/_public_maintenance_configuration_operations.py rename to src/maintenance/azext_maintenance/vendored_sdks/maintenance/operations/_public_maintenance_configurations_operations.py index dd8406a5446..4dbbe9ccd96 100644 --- a/src/maintenance/azext_maintenance/vendored_sdks/maintenance/operations/_public_maintenance_configuration_operations.py +++ b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/operations/_public_maintenance_configurations_operations.py @@ -8,7 +8,7 @@ from typing import TYPE_CHECKING import warnings -from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpRequest, HttpResponse @@ -23,8 +23,8 @@ T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] -class PublicMaintenanceConfigurationOperations(object): - """PublicMaintenanceConfigurationOperations operations. +class PublicMaintenanceConfigurationsOperations(object): + """PublicMaintenanceConfigurationsOperations operations. You should not instantiate this class directly. Instead, you should create a Client instance that instantiates it for you and attaches it as an attribute. @@ -60,14 +60,17 @@ def list( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ListMaintenanceConfigurationsResult"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" + api_version = "2021-05-01" + accept = "application/json" def prepare_request(next_link=None): # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') if not next_link: # Construct URL @@ -122,7 +125,7 @@ def get( Get Public Maintenance Configuration record. - :param resource_name: Resource Identifier. + :param resource_name: Maintenance Configuration Name. :type resource_name: str :keyword callable cls: A custom type or function that will be passed the direct response :return: MaintenanceConfiguration, or the result of cls(response) @@ -130,9 +133,12 @@ def get( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.MaintenanceConfiguration"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" + api_version = "2021-05-01" + accept = "application/json" # Construct URL url = self.get.metadata['url'] # type: ignore @@ -148,7 +154,7 @@ def get( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') request = self._client.get(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) diff --git a/src/maintenance/azext_maintenance/vendored_sdks/maintenance/operations/_update_operations.py b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/operations/_updates_operations.py similarity index 89% rename from src/maintenance/azext_maintenance/vendored_sdks/maintenance/operations/_update_operations.py rename to src/maintenance/azext_maintenance/vendored_sdks/maintenance/operations/_updates_operations.py index fd193a4fef6..9459c35a78c 100644 --- a/src/maintenance/azext_maintenance/vendored_sdks/maintenance/operations/_update_operations.py +++ b/src/maintenance/azext_maintenance/vendored_sdks/maintenance/operations/_updates_operations.py @@ -8,7 +8,7 @@ from typing import TYPE_CHECKING import warnings -from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpRequest, HttpResponse @@ -23,8 +23,8 @@ T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] -class UpdateOperations(object): - """UpdateOperations operations. +class UpdatesOperations(object): + """UpdatesOperations operations. You should not instantiate this class directly. Instead, you should create a Client instance that instantiates it for you and attaches it as an attribute. @@ -78,14 +78,17 @@ def list_parent( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ListUpdatesResult"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" + api_version = "2021-05-01" + accept = "application/json" def prepare_request(next_link=None): # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') if not next_link: # Construct URL @@ -125,8 +128,9 @@ def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: + error = self._deserialize(models.MaintenanceError, response) map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response @@ -162,14 +166,17 @@ def list( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ListUpdatesResult"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - api_version = "2020-07-01-preview" + api_version = "2021-05-01" + accept = "application/json" def prepare_request(next_link=None): # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') if not next_link: # Construct URL @@ -207,8 +214,9 @@ def get_next(next_link=None): response = pipeline_response.http_response if response.status_code not in [200]: + error = self._deserialize(models.MaintenanceError, response) map_error(status_code=response.status_code, response=response, error_map=error_map) - raise HttpResponseError(response=response, error_format=ARMErrorFormat) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) return pipeline_response diff --git a/src/maintenance/report.md b/src/maintenance/report.md index e90e71c36a4..da279198039 100644 --- a/src/maintenance/report.md +++ b/src/maintenance/report.md @@ -1,21 +1,113 @@ # Azure CLI Module Creation Report -### maintenance applyupdate create - -create a maintenance applyupdate. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|maintenance applyupdate|ApplyUpdates| +## EXTENSION +|CLI Extension|Command Groups| +|---------|------------| +|az maintenance|[groups](#CommandGroups) + +## GROUPS +### Command groups in `az maintenance` extension +|CLI Command Group|Group Swagger name|Commands| +|---------|------------|--------| +|az maintenance public-configuration|PublicMaintenanceConfigurations|[commands](#CommandsInPublicMaintenanceConfigurations)| +|az maintenance applyupdate|ApplyUpdates|[commands](#CommandsInApplyUpdates)| +|az maintenance assignment|ConfigurationAssignments|[commands](#CommandsInConfigurationAssignments)| +|az maintenance configuration|MaintenanceConfigurations|[commands](#CommandsInMaintenanceConfigurations)| +|az maintenance configuration-for-resource-group|MaintenanceConfigurationsForResourceGroup|[commands](#CommandsInMaintenanceConfigurationsForResourceGroup)| +|az maintenance applyupdate-for-resource-group|ApplyUpdateForResourceGroup|[commands](#CommandsInApplyUpdateForResourceGroup)| +|az maintenance update|Updates|[commands](#CommandsInUpdates)| + +## COMMANDS +### Commands in `az maintenance applyupdate` group +|CLI Command|Operation Swagger name|Parameters|Examples| +|---------|------------|--------|-----------| +|[az maintenance applyupdate list](#ApplyUpdatesList)|List|[Parameters](#ParametersApplyUpdatesList)|[Example](#ExamplesApplyUpdatesList)| +|[az maintenance applyupdate show](#ApplyUpdatesGet)|Get|[Parameters](#ParametersApplyUpdatesGet)|[Example](#ExamplesApplyUpdatesGet)| +|[az maintenance applyupdate create](#ApplyUpdatesCreateOrUpdateParent)|CreateOrUpdateParent|[Parameters](#ParametersApplyUpdatesCreateOrUpdateParent)|[Example](#ExamplesApplyUpdatesCreateOrUpdateParent)| +|[az maintenance applyupdate create](#ApplyUpdatesCreateOrUpdate#Create)|CreateOrUpdate#Create|[Parameters](#ParametersApplyUpdatesCreateOrUpdate#Create)|[Example](#ExamplesApplyUpdatesCreateOrUpdate#Create)| +|[az maintenance applyupdate update](#ApplyUpdatesCreateOrUpdate#Update)|CreateOrUpdate#Update|[Parameters](#ParametersApplyUpdatesCreateOrUpdate#Update)|Not Found| +|[az maintenance applyupdate show-parent](#ApplyUpdatesGetParent)|GetParent|[Parameters](#ParametersApplyUpdatesGetParent)|[Example](#ExamplesApplyUpdatesGetParent)| + +### Commands in `az maintenance applyupdate-for-resource-group` group +|CLI Command|Operation Swagger name|Parameters|Examples| +|---------|------------|--------|-----------| +|[az maintenance applyupdate-for-resource-group list](#ApplyUpdateForResourceGroupList)|List|[Parameters](#ParametersApplyUpdateForResourceGroupList)|[Example](#ExamplesApplyUpdateForResourceGroupList)| + +### Commands in `az maintenance assignment` group +|CLI Command|Operation Swagger name|Parameters|Examples| +|---------|------------|--------|-----------| +|[az maintenance assignment list](#ConfigurationAssignmentsList)|List|[Parameters](#ParametersConfigurationAssignmentsList)|[Example](#ExamplesConfigurationAssignmentsList)| +|[az maintenance assignment create](#ConfigurationAssignmentsCreateOrUpdateParent)|CreateOrUpdateParent|[Parameters](#ParametersConfigurationAssignmentsCreateOrUpdateParent)|[Example](#ExamplesConfigurationAssignmentsCreateOrUpdateParent)| +|[az maintenance assignment create](#ConfigurationAssignmentsCreateOrUpdate#Create)|CreateOrUpdate#Create|[Parameters](#ParametersConfigurationAssignmentsCreateOrUpdate#Create)|[Example](#ExamplesConfigurationAssignmentsCreateOrUpdate#Create)| +|[az maintenance assignment update](#ConfigurationAssignmentsCreateOrUpdate#Update)|CreateOrUpdate#Update|[Parameters](#ParametersConfigurationAssignmentsCreateOrUpdate#Update)|Not Found| +|[az maintenance assignment delete](#ConfigurationAssignmentsDeleteParent)|DeleteParent|[Parameters](#ParametersConfigurationAssignmentsDeleteParent)|[Example](#ExamplesConfigurationAssignmentsDeleteParent)| +|[az maintenance assignment delete](#ConfigurationAssignmentsDelete)|Delete|[Parameters](#ParametersConfigurationAssignmentsDelete)|[Example](#ExamplesConfigurationAssignmentsDelete)| +|[az maintenance assignment list-parent](#ConfigurationAssignmentsListParent)|ListParent|[Parameters](#ParametersConfigurationAssignmentsListParent)|[Example](#ExamplesConfigurationAssignmentsListParent)| + +### Commands in `az maintenance configuration` group +|CLI Command|Operation Swagger name|Parameters|Examples| +|---------|------------|--------|-----------| +|[az maintenance configuration list](#MaintenanceConfigurationsList)|List|[Parameters](#ParametersMaintenanceConfigurationsList)|[Example](#ExamplesMaintenanceConfigurationsList)| +|[az maintenance configuration show](#MaintenanceConfigurationsGet)|Get|[Parameters](#ParametersMaintenanceConfigurationsGet)|[Example](#ExamplesMaintenanceConfigurationsGet)| +|[az maintenance configuration create](#MaintenanceConfigurationsCreateOrUpdate#Create)|CreateOrUpdate#Create|[Parameters](#ParametersMaintenanceConfigurationsCreateOrUpdate#Create)|[Example](#ExamplesMaintenanceConfigurationsCreateOrUpdate#Create)| +|[az maintenance configuration update](#MaintenanceConfigurationsUpdate)|Update|[Parameters](#ParametersMaintenanceConfigurationsUpdate)|[Example](#ExamplesMaintenanceConfigurationsUpdate)| +|[az maintenance configuration delete](#MaintenanceConfigurationsDelete)|Delete|[Parameters](#ParametersMaintenanceConfigurationsDelete)|[Example](#ExamplesMaintenanceConfigurationsDelete)| + +### Commands in `az maintenance configuration-for-resource-group` group +|CLI Command|Operation Swagger name|Parameters|Examples| +|---------|------------|--------|-----------| +|[az maintenance configuration-for-resource-group list](#MaintenanceConfigurationsForResourceGroupList)|List|[Parameters](#ParametersMaintenanceConfigurationsForResourceGroupList)|[Example](#ExamplesMaintenanceConfigurationsForResourceGroupList)| + +### Commands in `az maintenance public-configuration` group +|CLI Command|Operation Swagger name|Parameters|Examples| +|---------|------------|--------|-----------| +|[az maintenance public-configuration list](#PublicMaintenanceConfigurationsList)|List|[Parameters](#ParametersPublicMaintenanceConfigurationsList)|[Example](#ExamplesPublicMaintenanceConfigurationsList)| +|[az maintenance public-configuration show](#PublicMaintenanceConfigurationsGet)|Get|[Parameters](#ParametersPublicMaintenanceConfigurationsGet)|[Example](#ExamplesPublicMaintenanceConfigurationsGet)| + +### Commands in `az maintenance update` group +|CLI Command|Operation Swagger name|Parameters|Examples| +|---------|------------|--------|-----------| +|[az maintenance update list](#UpdatesList)|List|[Parameters](#ParametersUpdatesList)|[Example](#ExamplesUpdatesList)| +|[az maintenance update list-parent](#UpdatesListParent)|ListParent|[Parameters](#ParametersUpdatesListParent)|[Example](#ExamplesUpdatesListParent)| + + +## COMMAND DETAILS + +### group `az maintenance applyupdate` +#### Command `az maintenance applyupdate list` + +##### Example +``` +az maintenance applyupdate list +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +#### Command `az maintenance applyupdate show` + +##### Example +``` +az maintenance applyupdate show --name "e9b9685d-78e4-44c4-a81c-64a14f9b87b6" --provider-name "Microsoft.Compute" \ +--resource-group "examplerg" --resource-name "smdtest1" --resource-type "virtualMachineScaleSets" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|Resource group name|resource_group_name|resourceGroupName| +|**--provider-name**|string|Resource provider name|provider_name|providerName| +|**--resource-type**|string|Resource type|resource_type|resourceType| +|**--resource-name**|string|Resource identifier|resource_name|resourceName| +|**--apply-update-name**|string|applyUpdate Id|apply_update_name|applyUpdateName| -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|create|CreateOrUpdateParent| -|create|CreateOrUpdate#Create| +#### Command `az maintenance applyupdate create` -#### Parameters +##### Example +``` +az maintenance applyupdate create --provider-name "Microsoft.Compute" --resource-group "examplerg" --resource-name \ +"smdvm1" --resource-parent-name "smdtest1" --resource-parent-type "virtualMachineScaleSets" --resource-type \ +"virtualMachines" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|Resource group name|resource_group_name|resourceGroupName| @@ -25,69 +117,66 @@ create a maintenance applyupdate. |**--resource-type**|string|Resource type|resource_type|resourceType| |**--resource-name**|string|Resource identifier|resource_name|resourceName| -### maintenance applyupdate get-parent +#### Command `az maintenance applyupdate create` -get-parent a maintenance applyupdate. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|maintenance applyupdate|ApplyUpdates| - -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|get-parent|GetParent| +##### Example +``` +az maintenance applyupdate create --provider-name "Microsoft.Compute" --resource-group "examplerg" --resource-name \ +"smdtest1" --resource-type "virtualMachineScaleSets" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +#### Command `az maintenance applyupdate update` -#### Parameters +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|Resource group name|resource_group_name|resourceGroupName| -|**--resource-parent-type**|string|Resource parent type|resource_parent_type|resourceParentType| -|**--resource-parent-name**|string|Resource parent identifier|resource_parent_name|resourceParentName| |**--provider-name**|string|Resource provider name|provider_name|providerName| |**--resource-type**|string|Resource type|resource_type|resourceType| |**--resource-name**|string|Resource identifier|resource_name|resourceName| -|**--apply-update-name**|string|applyUpdate Id|apply_update_name|applyUpdateName| - -### maintenance applyupdate show - -show a maintenance applyupdate. -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|maintenance applyupdate|ApplyUpdates| - -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|show|Get| +#### Command `az maintenance applyupdate show-parent` -#### Parameters +##### Example +``` +az maintenance applyupdate show-parent --name "e9b9685d-78e4-44c4-a81c-64a14f9b87b6" --provider-name \ +"Microsoft.Compute" --resource-group "examplerg" --resource-name "smdvm1" --resource-parent-name "smdtest1" \ +--resource-parent-type "virtualMachineScaleSets" --resource-type "virtualMachines" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|Resource group name|resource_group_name|resourceGroupName| +|**--resource-parent-type**|string|Resource parent type|resource_parent_type|resourceParentType| +|**--resource-parent-name**|string|Resource parent identifier|resource_parent_name|resourceParentName| |**--provider-name**|string|Resource provider name|provider_name|providerName| |**--resource-type**|string|Resource type|resource_type|resourceType| |**--resource-name**|string|Resource identifier|resource_name|resourceName| |**--apply-update-name**|string|applyUpdate Id|apply_update_name|applyUpdateName| -### maintenance applyupdate update +### group `az maintenance applyupdate-for-resource-group` +#### Command `az maintenance applyupdate-for-resource-group list` -update a maintenance applyupdate. +##### Example +``` +az maintenance applyupdate-for-resource-group list --resource-group "examplerg" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|Resource Group Name|resource_group_name|resourceGroupName| -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|maintenance applyupdate|ApplyUpdates| +### group `az maintenance assignment` +#### Command `az maintenance assignment list` -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|update|CreateOrUpdate#Update| - -#### Parameters +##### Example +``` +az maintenance assignment list --provider-name "Microsoft.Compute" --resource-group "examplerg" --resource-name \ +"smdtest1" --resource-type "virtualMachineScaleSets" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|Resource group name|resource_group_name|resourceGroupName| @@ -95,22 +184,16 @@ update a maintenance applyupdate. |**--resource-type**|string|Resource type|resource_type|resourceType| |**--resource-name**|string|Resource identifier|resource_name|resourceName| -### maintenance assignment create - -create a maintenance assignment. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|maintenance assignment|ConfigurationAssignments| +#### Command `az maintenance assignment create` -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|create|CreateOrUpdateParent| -|create|CreateOrUpdate#Create| - -#### Parameters +##### Example +``` +az maintenance assignment create --maintenance-configuration-id "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/re\ +sourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/policy1" --name "workervmPolicy" \ +--provider-name "Microsoft.Compute" --resource-group "examplerg" --resource-name "smdvm1" --resource-parent-name \ +"smdtest1" --resource-parent-type "virtualMachineScaleSets" --resource-type "virtualMachines" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|Resource group name|resource_group_name|resourceGroupName| @@ -124,69 +207,41 @@ create a maintenance assignment. |**--maintenance-configuration-id**|string|The maintenance configuration Id|maintenance_configuration_id|maintenanceConfigurationId| |**--resource-id**|string|The unique resourceId|resource_id|resourceId| -### maintenance assignment delete - -delete a maintenance assignment. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|maintenance assignment|ConfigurationAssignments| - -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|delete|DeleteParent| -|delete|Delete| +#### Command `az maintenance assignment create` -#### Parameters +##### Example +``` +az maintenance assignment create --maintenance-configuration-id "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/re\ +sourcegroups/examplerg/providers/Microsoft.Maintenance/maintenanceConfigurations/configuration1" --name \ +"workervmConfiguration" --provider-name "Microsoft.Compute" --resource-group "examplerg" --resource-name "smdtest1" \ +--resource-type "virtualMachineScaleSets" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| -|**--resource-group-name**|string|Resource group name|resource_group_name|resourceGroupName| -|**--provider-name**|string|Resource provider name|provider_name|providerName| -|**--resource-parent-type**|string|Resource parent type|resource_parent_type|resourceParentType| -|**--resource-parent-name**|string|Resource parent identifier|resource_parent_name|resourceParentName| -|**--resource-type**|string|Resource type|resource_type|resourceType| -|**--resource-name**|string|Resource identifier|resource_name|resourceName| -|**--configuration-assignment-name**|string|Unique configuration assignment name|configuration_assignment_name|configurationAssignmentName| - -### maintenance assignment list +#### Command `az maintenance assignment update` -list a maintenance assignment. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|maintenance assignment|ConfigurationAssignments| - -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|list|List| - -#### Parameters +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|Resource group name|resource_group_name|resourceGroupName| |**--provider-name**|string|Resource provider name|provider_name|providerName| |**--resource-type**|string|Resource type|resource_type|resourceType| |**--resource-name**|string|Resource identifier|resource_name|resourceName| +|**--configuration-assignment-name**|string|Configuration assignment name|configuration_assignment_name|configurationAssignmentName| +|**--location**|string|Location of the resource|location|location| +|**--maintenance-configuration-id**|string|The maintenance configuration Id|maintenance_configuration_id|maintenanceConfigurationId| +|**--resource-id**|string|The unique resourceId|resource_id|resourceId| -### maintenance assignment list-parent - -list-parent a maintenance assignment. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|maintenance assignment|ConfigurationAssignments| - -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|list-parent|ListParent| +#### Command `az maintenance assignment delete` -#### Parameters +##### Example +``` +az maintenance assignment delete --name "workervmConfiguration" --provider-name "Microsoft.Compute" --resource-group \ +"examplerg" --resource-name "smdvm1" --resource-parent-name "smdtest1" --resource-parent-type \ +"virtualMachineScaleSets" --resource-type "virtualMachines" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|Resource group name|resource_group_name|resourceGroupName| @@ -195,205 +250,166 @@ list-parent a maintenance assignment. |**--resource-parent-name**|string|Resource parent identifier|resource_parent_name|resourceParentName| |**--resource-type**|string|Resource type|resource_type|resourceType| |**--resource-name**|string|Resource identifier|resource_name|resourceName| +|**--configuration-assignment-name**|string|Unique configuration assignment name|configuration_assignment_name|configurationAssignmentName| -### maintenance assignment update - -update a maintenance assignment. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|maintenance assignment|ConfigurationAssignments| - -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|update|CreateOrUpdate#Update| +#### Command `az maintenance assignment delete` -#### Parameters +##### Example +``` +az maintenance assignment delete --name "workervmConfiguration" --provider-name "Microsoft.Compute" --resource-group \ +"examplerg" --resource-name "smdtest1" --resource-type "virtualMachineScaleSets" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +#### Command `az maintenance assignment list-parent` + +##### Example +``` +az maintenance assignment list-parent --provider-name "Microsoft.Compute" --resource-group "examplerg" --resource-name \ +"smdtestvm1" --resource-parent-name "smdtest1" --resource-parent-type "virtualMachineScaleSets" --resource-type \ +"virtualMachines" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|Resource group name|resource_group_name|resourceGroupName| |**--provider-name**|string|Resource provider name|provider_name|providerName| +|**--resource-parent-type**|string|Resource parent type|resource_parent_type|resourceParentType| +|**--resource-parent-name**|string|Resource parent identifier|resource_parent_name|resourceParentName| |**--resource-type**|string|Resource type|resource_type|resourceType| |**--resource-name**|string|Resource identifier|resource_name|resourceName| -|**--configuration-assignment-name**|string|Configuration assignment name|configuration_assignment_name|configurationAssignmentName| -|**--location**|string|Location of the resource|location|location| -|**--maintenance-configuration-id**|string|The maintenance configuration Id|maintenance_configuration_id|maintenanceConfigurationId| -|**--resource-id**|string|The unique resourceId|resource_id|resourceId| - -### maintenance configuration create -create a maintenance configuration. +### group `az maintenance configuration` +#### Command `az maintenance configuration list` -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|maintenance configuration|MaintenanceConfigurations| - -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|create|CreateOrUpdate#Create| +##### Example +``` +az maintenance configuration list +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +#### Command `az maintenance configuration show` -#### Parameters +##### Example +``` +az maintenance configuration show --resource-group "examplerg" --resource-name "configuration1" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|Resource Group Name|resource_group_name|resourceGroupName| +|**--resource-name**|string|Maintenance Configuration Name|resource_name|resourceName| + +#### Command `az maintenance configuration create` + +##### Example +``` +az maintenance configuration create --location "westus2" --maintenance-scope "Host" --maintenance-window-duration \ +"05:00" --maintenance-window-expiration-date-time "9999-12-31 00:00" --maintenance-window-recur-every "Day" \ +--maintenance-window-start-date-time "2025-04-30 08:00" --maintenance-window-time-zone "Pacific Standard Time" \ +--namespace "Microsoft.Maintenance" --visibility "Custom" --resource-group "examplerg" --resource-name \ +"configuration1" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|Resource Group Name|resource_group_name|resourceGroupName| -|**--resource-name**|string|Resource Identifier|resource_name|resourceName| +|**--resource-name**|string|Maintenance Configuration Name|resource_name|resourceName| |**--location**|string|Gets or sets location of the resource|location|location| |**--tags**|dictionary|Gets or sets tags of the resource|tags|tags| |**--namespace**|string|Gets or sets namespace of the resource|namespace|namespace| |**--extension-properties**|dictionary|Gets or sets extensionProperties of the maintenanceConfiguration|extension_properties|extensionProperties| |**--maintenance-scope**|choice|Gets or sets maintenanceScope of the configuration|maintenance_scope|maintenanceScope| -|**--visibility**|choice|Gets or sets the visibility of the configuration|visibility|visibility| -|**--maintenance-window-start-date-time**|string|Effective start date of the maintenance window in YYYY-MM-DD hh:mm format. The start date can be set to either the current date or future date. The window will be created in the time zone provided and adjusted to daylight savings according to that time zone.|start_date_time|startDateTime| -|**--maintenance-window-expiration-date-time**|string|Effective expiration date of the maintenance window in YYYY-MM-DD hh:mm format. The window will be created in the time zone provided and adjusted to daylight savings according to that time zone. Expiration date must be set to a future date. If not provided, it will be set to the maximum datetime 9999-12-31 23:59:59.|expiration_date_time|expirationDateTime| -|**--maintenance-window-duration**|string|Duration of the maintenance window in HH:mm format. If not provided, default value will be used based on maintenance scope provided. Example: 05:00.|duration|duration| -|**--maintenance-window-time-zone**|string|Name of the timezone. List of timezones can be obtained by executing [System.TimeZoneInfo]::GetSystemTimeZones() in PowerShell. Example: Pacific Standard Time, UTC, W. Europe Standard Time, Korea Standard Time, Cen. Australia Standard Time.|time_zone|timeZone| -|**--maintenance-window-recur-every**|string|Rate at which a Maintenance window is expected to recur. The rate can be expressed as daily, weekly, or monthly schedules. Daily schedule are formatted as recurEvery: [Frequency as integer]['Day(s)']. If no frequency is provided, the default frequency is 1. Daily schedule examples are recurEvery: Day, recurEvery: 3Days. Weekly schedule are formatted as recurEvery: [Frequency as integer]['Week(s)'] [Optional comma separated list of weekdays Monday-Sunday]. Weekly schedule examples are recurEvery: 3Weeks, recurEvery: Week Saturday,Sunday. Monthly schedules are formatted as [Frequency as integer]['Month(s)'] [Comma separated list of month days] or [Frequency as integer]['Month(s)'] [Week of Month (First, Second, Third, Fourth, Last)] [Weekday Monday-Sunday]. Monthly schedule examples are recurEvery: Month, recurEvery: 2Months, recurEvery: Month day23,day24, recurEvery: Month Last Sunday, recurEvery: Month Fourth Monday.|recur_every|recurEvery| - -### maintenance configuration delete - -delete a maintenance configuration. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|maintenance configuration|MaintenanceConfigurations| - -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|delete|Delete| - -#### Parameters +|**--visibility**|choice|Gets or sets the visibility of the configuration. The default value is 'Custom'|visibility|visibility| +|**--start-date-time**|string|Effective start date of the maintenance window in YYYY-MM-DD hh:mm format. The start date can be set to either the current date or future date. The window will be created in the time zone provided and adjusted to daylight savings according to that time zone.|start_date_time|startDateTime| +|**--expiration-date-time**|string|Effective expiration date of the maintenance window in YYYY-MM-DD hh:mm format. The window will be created in the time zone provided and adjusted to daylight savings according to that time zone. Expiration date must be set to a future date. If not provided, it will be set to the maximum datetime 9999-12-31 23:59:59.|expiration_date_time|expirationDateTime| +|**--duration**|string|Duration of the maintenance window in HH:mm format. If not provided, default value will be used based on maintenance scope provided. Example: 05:00.|duration|duration| +|**--time-zone**|string|Name of the timezone. List of timezones can be obtained by executing [System.TimeZoneInfo]::GetSystemTimeZones() in PowerShell. Example: Pacific Standard Time, UTC, W. Europe Standard Time, Korea Standard Time, Cen. Australia Standard Time.|time_zone|timeZone| +|**--recur-every**|string|Rate at which a Maintenance window is expected to recur. The rate can be expressed as daily, weekly, or monthly schedules. Daily schedule are formatted as recurEvery: [Frequency as integer]['Day(s)']. If no frequency is provided, the default frequency is 1. Daily schedule examples are recurEvery: Day, recurEvery: 3Days. Weekly schedule are formatted as recurEvery: [Frequency as integer]['Week(s)'] [Optional comma separated list of weekdays Monday-Sunday]. Weekly schedule examples are recurEvery: 3Weeks, recurEvery: Week Saturday,Sunday. Monthly schedules are formatted as [Frequency as integer]['Month(s)'] [Comma separated list of month days] or [Frequency as integer]['Month(s)'] [Week of Month (First, Second, Third, Fourth, Last)] [Weekday Monday-Sunday]. Monthly schedule examples are recurEvery: Month, recurEvery: 2Months, recurEvery: Month day23,day24, recurEvery: Month Last Sunday, recurEvery: Month Fourth Monday.|recur_every|recurEvery| + +#### Command `az maintenance configuration update` + +##### Example +``` +az maintenance configuration update --location "westus2" --maintenance-scope "Host" --maintenance-window-duration \ +"05:00" --maintenance-window-expiration-date-time "9999-12-31 00:00" --maintenance-window-recur-every "Month Third \ +Sunday" --maintenance-window-start-date-time "2025-04-30 08:00" --maintenance-window-time-zone "Pacific Standard Time" \ +--namespace "Microsoft.Maintenance" --visibility "Custom" --resource-group "examplerg" --resource-name \ +"configuration1" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|Resource Group Name|resource_group_name|resourceGroupName| -|**--resource-name**|string|Resource Identifier|resource_name|resourceName| - -### maintenance configuration list - -list a maintenance configuration. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|maintenance configuration|MaintenanceConfigurations| - -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|list|List| - -#### Parameters -|Option|Type|Description|Path (SDK)|Swagger name| -|------|----|-----------|----------|------------| - -### maintenance configuration show - -show a maintenance configuration. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|maintenance configuration|MaintenanceConfigurations| - -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|show|Get| - -#### Parameters +|**--resource-name**|string|Maintenance Configuration Name|resource_name|resourceName| +|**--location**|string|Gets or sets location of the resource|location|location| +|**--tags**|dictionary|Gets or sets tags of the resource|tags|tags| +|**--namespace**|string|Gets or sets namespace of the resource|namespace|namespace| +|**--extension-properties**|dictionary|Gets or sets extensionProperties of the maintenanceConfiguration|extension_properties|extensionProperties| +|**--maintenance-scope**|choice|Gets or sets maintenanceScope of the configuration|maintenance_scope|maintenanceScope| +|**--visibility**|choice|Gets or sets the visibility of the configuration. The default value is 'Custom'|visibility|visibility| +|**--start-date-time**|string|Effective start date of the maintenance window in YYYY-MM-DD hh:mm format. The start date can be set to either the current date or future date. The window will be created in the time zone provided and adjusted to daylight savings according to that time zone.|start_date_time|startDateTime| +|**--expiration-date-time**|string|Effective expiration date of the maintenance window in YYYY-MM-DD hh:mm format. The window will be created in the time zone provided and adjusted to daylight savings according to that time zone. Expiration date must be set to a future date. If not provided, it will be set to the maximum datetime 9999-12-31 23:59:59.|expiration_date_time|expirationDateTime| +|**--duration**|string|Duration of the maintenance window in HH:mm format. If not provided, default value will be used based on maintenance scope provided. Example: 05:00.|duration|duration| +|**--time-zone**|string|Name of the timezone. List of timezones can be obtained by executing [System.TimeZoneInfo]::GetSystemTimeZones() in PowerShell. Example: Pacific Standard Time, UTC, W. Europe Standard Time, Korea Standard Time, Cen. Australia Standard Time.|time_zone|timeZone| +|**--recur-every**|string|Rate at which a Maintenance window is expected to recur. The rate can be expressed as daily, weekly, or monthly schedules. Daily schedule are formatted as recurEvery: [Frequency as integer]['Day(s)']. If no frequency is provided, the default frequency is 1. Daily schedule examples are recurEvery: Day, recurEvery: 3Days. Weekly schedule are formatted as recurEvery: [Frequency as integer]['Week(s)'] [Optional comma separated list of weekdays Monday-Sunday]. Weekly schedule examples are recurEvery: 3Weeks, recurEvery: Week Saturday,Sunday. Monthly schedules are formatted as [Frequency as integer]['Month(s)'] [Comma separated list of month days] or [Frequency as integer]['Month(s)'] [Week of Month (First, Second, Third, Fourth, Last)] [Weekday Monday-Sunday]. Monthly schedule examples are recurEvery: Month, recurEvery: 2Months, recurEvery: Month day23,day24, recurEvery: Month Last Sunday, recurEvery: Month Fourth Monday.|recur_every|recurEvery| + +#### Command `az maintenance configuration delete` + +##### Example +``` +az maintenance configuration delete --resource-group "examplerg" --resource-name "example1" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|Resource Group Name|resource_group_name|resourceGroupName| -|**--resource-name**|string|Resource Identifier|resource_name|resourceName| - -### maintenance configuration update +|**--resource-name**|string|Maintenance Configuration Name|resource_name|resourceName| -update a maintenance configuration. +### group `az maintenance configuration-for-resource-group` +#### Command `az maintenance configuration-for-resource-group list` -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|maintenance configuration|MaintenanceConfigurations| - -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|update|Update| - -#### Parameters +##### Example +``` +az maintenance configuration-for-resource-group list --resource-group "examplerg" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|Resource Group Name|resource_group_name|resourceGroupName| -|**--resource-name**|string|Resource Identifier|resource_name|resourceName| -|**--location**|string|Gets or sets location of the resource|location|location| -|**--tags**|dictionary|Gets or sets tags of the resource|tags|tags| -|**--namespace**|string|Gets or sets namespace of the resource|namespace|namespace| -|**--extension-properties**|dictionary|Gets or sets extensionProperties of the maintenanceConfiguration|extension_properties|extensionProperties| -|**--maintenance-scope**|choice|Gets or sets maintenanceScope of the configuration|maintenance_scope|maintenanceScope| -|**--visibility**|choice|Gets or sets the visibility of the configuration|visibility|visibility| -|**--maintenance-window-start-date-time**|string|Effective start date of the maintenance window in YYYY-MM-DD hh:mm format. The start date can be set to either the current date or future date. The window will be created in the time zone provided and adjusted to daylight savings according to that time zone.|start_date_time|startDateTime| -|**--maintenance-window-expiration-date-time**|string|Effective expiration date of the maintenance window in YYYY-MM-DD hh:mm format. The window will be created in the time zone provided and adjusted to daylight savings according to that time zone. Expiration date must be set to a future date. If not provided, it will be set to the maximum datetime 9999-12-31 23:59:59.|expiration_date_time|expirationDateTime| -|**--maintenance-window-duration**|string|Duration of the maintenance window in HH:mm format. If not provided, default value will be used based on maintenance scope provided. Example: 05:00.|duration|duration| -|**--maintenance-window-time-zone**|string|Name of the timezone. List of timezones can be obtained by executing [System.TimeZoneInfo]::GetSystemTimeZones() in PowerShell. Example: Pacific Standard Time, UTC, W. Europe Standard Time, Korea Standard Time, Cen. Australia Standard Time.|time_zone|timeZone| -|**--maintenance-window-recur-every**|string|Rate at which a Maintenance window is expected to recur. The rate can be expressed as daily, weekly, or monthly schedules. Daily schedule are formatted as recurEvery: [Frequency as integer]['Day(s)']. If no frequency is provided, the default frequency is 1. Daily schedule examples are recurEvery: Day, recurEvery: 3Days. Weekly schedule are formatted as recurEvery: [Frequency as integer]['Week(s)'] [Optional comma separated list of weekdays Monday-Sunday]. Weekly schedule examples are recurEvery: 3Weeks, recurEvery: Week Saturday,Sunday. Monthly schedules are formatted as [Frequency as integer]['Month(s)'] [Comma separated list of month days] or [Frequency as integer]['Month(s)'] [Week of Month (First, Second, Third, Fourth, Last)] [Weekday Monday-Sunday]. Monthly schedule examples are recurEvery: Month, recurEvery: 2Months, recurEvery: Month day23,day24, recurEvery: Month Last Sunday, recurEvery: Month Fourth Monday.|recur_every|recurEvery| - -### maintenance public-configuration list -list a maintenance public-configuration. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|maintenance public-configuration|PublicMaintenanceConfigurations| +### group `az maintenance public-configuration` +#### Command `az maintenance public-configuration list` -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|list|List| - -#### Parameters +##### Example +``` +az maintenance public-configuration list +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| +#### Command `az maintenance public-configuration show` -### maintenance public-configuration show - -show a maintenance public-configuration. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|maintenance public-configuration|PublicMaintenanceConfigurations| - -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|show|Get| - -#### Parameters +##### Example +``` +az maintenance public-configuration show --resource-name "configuration1" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| -|**--resource-name**|string|Resource Identifier|resource_name|resourceName| - -### maintenance update list +|**--resource-name**|string|Maintenance Configuration Name|resource_name|resourceName| -list a maintenance update. +### group `az maintenance update` +#### Command `az maintenance update list` -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|maintenance update|Updates| - -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|list|List| - -#### Parameters +##### Example +``` +az maintenance update list --provider-name "Microsoft.Compute" --resource-group "examplerg" --resource-name "smdtest1" \ +--resource-type "virtualMachineScaleSets" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|Resource group name|resource_group_name|resourceGroupName| @@ -401,21 +417,14 @@ list a maintenance update. |**--resource-type**|string|Resource type|resource_type|resourceType| |**--resource-name**|string|Resource identifier|resource_name|resourceName| -### maintenance update list-parent - -list-parent a maintenance update. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|maintenance update|Updates| - -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|list-parent|ListParent| +#### Command `az maintenance update list-parent` -#### Parameters +##### Example +``` +az maintenance update list-parent --provider-name "Microsoft.Compute" --resource-group "examplerg" --resource-name "1" \ +--resource-parent-name "smdtest1" --resource-parent-type "virtualMachineScaleSets" --resource-type "virtualMachines" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|Resource group name|resource_group_name|resourceGroupName| diff --git a/src/maintenance/setup.py b/src/maintenance/setup.py index 3ec4d712c90..2c1fc7e337a 100644 --- a/src/maintenance/setup.py +++ b/src/maintenance/setup.py @@ -10,7 +10,7 @@ from setuptools import setup, find_packages # HISTORY.rst entry. -VERSION = '1.1.0' +VERSION = '1.2.0' try: from azext_maintenance.manual.version import VERSION except ImportError: @@ -31,8 +31,9 @@ ] DEPENDENCIES = [] + try: - from .manual.dependency import DEPENDENCIES + from azext_maintenance.manual.dependency import DEPENDENCIES except ImportError: pass From 8989634bc990c1bcd5f25645ab06b09ea8788405 Mon Sep 17 00:00:00 2001 From: FumingZhang <81607949+FumingZhang@users.noreply.github.com> Date: Mon, 17 May 2021 12:32:19 +0800 Subject: [PATCH 09/83] [AKS] Add a live test pipeline for aks-preview PR check-in (#3292) --- src/aks-preview/az_aks_tool/.gitignore | 1 + src/aks-preview/az_aks_tool/cli.py | 42 +++ src/aks-preview/az_aks_tool/const.py | 17 + src/aks-preview/az_aks_tool/ext.py | 46 +++ src/aks-preview/az_aks_tool/filter.py | 120 ++++++++ src/aks-preview/az_aks_tool/index.py | 290 ++++++++++++++++++ src/aks-preview/az_aks_tool/log.py | 40 +++ src/aks-preview/az_aks_tool/main.py | 148 +++++++++ src/aks-preview/az_aks_tool/run.py | 199 ++++++++++++ src/aks-preview/az_aks_tool/tests/__init__.py | 0 src/aks-preview/az_aks_tool/tests/test_cli.py | 22 ++ src/aks-preview/az_aks_tool/tests/test_ext.py | 22 ++ .../az_aks_tool/tests/test_filter.py | 121 ++++++++ .../az_aks_tool/tests/test_index.py | 34 ++ src/aks-preview/az_aks_tool/tests/test_log.py | 34 ++ .../az_aks_tool/tests/test_main.py | 21 ++ src/aks-preview/az_aks_tool/tests/test_run.py | 33 ++ .../az_aks_tool/tests/test_utils.py | 54 ++++ .../az_aks_tool/tests/testdata.json | 18 ++ src/aks-preview/az_aks_tool/utils.py | 83 +++++ .../azcli_aks_live_test/.gitignore | 5 + .../azcli_aks_live_test/HISTORY.rst | 9 + src/aks-preview/azcli_aks_live_test/README.md | 9 + .../azcli_aks_live_test/clean_up.sh | 12 + .../azcli_aks_live_test/clone_repo.sh | 35 +++ .../ext_matrix_default.json | 39 +++ .../azcli_aks_live_test/prepare_image.sh | 9 + .../azcli_aks_live_test/setup_venv.sh | 38 +++ .../azcli_aks_live_test/start_container.sh | 24 ++ .../azcli_aks_live_test/test_cli_live.sh | 30 ++ .../azcli_aks_live_test/test_cli_unit.sh | 16 + .../azcli_aks_live_test/test_ext_live.sh | 80 +++++ .../azcli_aks_live_test/test_ext_unit.sh | 71 +++++ .../azcli_aks_live_test/transcribe_env.sh | 40 +++ .../vsts-azcli-aks-live-test.yaml | 56 ++++ .../vsts-azcli-aks-unit-test.yaml | 56 ++++ .../tests/latest/custom_preparers.py | 62 ++++ .../tests/latest/test_aks_commands.py | 90 +++--- 38 files changed, 1982 insertions(+), 44 deletions(-) create mode 100644 src/aks-preview/az_aks_tool/.gitignore create mode 100644 src/aks-preview/az_aks_tool/cli.py create mode 100644 src/aks-preview/az_aks_tool/const.py create mode 100644 src/aks-preview/az_aks_tool/ext.py create mode 100644 src/aks-preview/az_aks_tool/filter.py create mode 100644 src/aks-preview/az_aks_tool/index.py create mode 100644 src/aks-preview/az_aks_tool/log.py create mode 100644 src/aks-preview/az_aks_tool/main.py create mode 100644 src/aks-preview/az_aks_tool/run.py create mode 100644 src/aks-preview/az_aks_tool/tests/__init__.py create mode 100644 src/aks-preview/az_aks_tool/tests/test_cli.py create mode 100644 src/aks-preview/az_aks_tool/tests/test_ext.py create mode 100644 src/aks-preview/az_aks_tool/tests/test_filter.py create mode 100644 src/aks-preview/az_aks_tool/tests/test_index.py create mode 100644 src/aks-preview/az_aks_tool/tests/test_log.py create mode 100644 src/aks-preview/az_aks_tool/tests/test_main.py create mode 100644 src/aks-preview/az_aks_tool/tests/test_run.py create mode 100644 src/aks-preview/az_aks_tool/tests/test_utils.py create mode 100644 src/aks-preview/az_aks_tool/tests/testdata.json create mode 100644 src/aks-preview/az_aks_tool/utils.py create mode 100644 src/aks-preview/azcli_aks_live_test/.gitignore create mode 100644 src/aks-preview/azcli_aks_live_test/HISTORY.rst create mode 100644 src/aks-preview/azcli_aks_live_test/README.md create mode 100755 src/aks-preview/azcli_aks_live_test/clean_up.sh create mode 100755 src/aks-preview/azcli_aks_live_test/clone_repo.sh create mode 100644 src/aks-preview/azcli_aks_live_test/ext_matrix_default.json create mode 100755 src/aks-preview/azcli_aks_live_test/prepare_image.sh create mode 100755 src/aks-preview/azcli_aks_live_test/setup_venv.sh create mode 100755 src/aks-preview/azcli_aks_live_test/start_container.sh create mode 100755 src/aks-preview/azcli_aks_live_test/test_cli_live.sh create mode 100755 src/aks-preview/azcli_aks_live_test/test_cli_unit.sh create mode 100755 src/aks-preview/azcli_aks_live_test/test_ext_live.sh create mode 100755 src/aks-preview/azcli_aks_live_test/test_ext_unit.sh create mode 100755 src/aks-preview/azcli_aks_live_test/transcribe_env.sh create mode 100644 src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-live-test.yaml create mode 100644 src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-unit-test.yaml create mode 100644 src/aks-preview/azext_aks_preview/tests/latest/custom_preparers.py diff --git a/src/aks-preview/az_aks_tool/.gitignore b/src/aks-preview/az_aks_tool/.gitignore new file mode 100644 index 00000000000..bee8a64b79a --- /dev/null +++ b/src/aks-preview/az_aks_tool/.gitignore @@ -0,0 +1 @@ +__pycache__ diff --git a/src/aks-preview/az_aks_tool/cli.py b/src/aks-preview/az_aks_tool/cli.py new file mode 100644 index 00000000000..ed21d2ce0a2 --- /dev/null +++ b/src/aks-preview/az_aks_tool/cli.py @@ -0,0 +1,42 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import glob +import os +import logging + +import az_aks_tool.const as const +import az_aks_tool.index as index +logger = logging.getLogger(__name__) + + +def get_cli_mod_data(mod_name=const.ACS_MOD_NAME, profile="latest"): + profile_split = profile.split('-') + profile_namespace = '_'.join([profile_split[-1]] + profile_split[:-1]) + + # key value pairs of all modules(in azcli & extention) and its absolute path, used later to find test indexes + path_table = index.get_path_table() + command_modules = path_table["mod"] + inverse_name_table = index.get_name_index(invert=True) + + # construct 'import_name' & mod_data', used later to find test indexes + acs_mod_path = command_modules[mod_name] + mod_data = { + "alt_name": "{}{}".format(const.COMMAND_MODULE_PREFIX, mod_name), + "filepath": os.path.join(acs_mod_path, "tests", profile_namespace), + "base_path": "azure.cli.command_modules.{}.tests.{}".format(mod_name, profile_namespace), + "files": {} + } + + cli_test = index.discover_module_tests(mod_name, mod_data) + return cli_test + + +def get_cli_test_index(module_data=None, mod_name=const.ACS_MOD_NAME, profile="latest"): + if mod_name in module_data: + mod_data = module_data[mod_name] + else: + mod_data = get_cli_mod_data(mod_name=mod_name, profile=profile) + return mod_data["files"] diff --git a/src/aks-preview/az_aks_tool/const.py b/src/aks-preview/az_aks_tool/const.py new file mode 100644 index 00000000000..8285bbb80c3 --- /dev/null +++ b/src/aks-preview/az_aks_tool/const.py @@ -0,0 +1,17 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import sys + +IS_WINDOWS = sys.platform.lower() in ['windows', 'win32'] + +CLI_REPO_NAME = "azure-cli" +EXT_REPO_NAME = 'azure-cli-extensions' +COMMAND_MODULE_PREFIX = 'azure-cli-' +EXTENSION_PREFIX = 'azext_' +ACS_MOD_NAME = "acs" +AKS_PREVIEW_MOD_NAME = EXTENSION_PREFIX + "aks_preview" # azext_aks_preview + +ENV_VAR_TEST_LIVE = 'AZURE_TEST_RUN_LIVE' # denotes that tests should be run live instead of played back diff --git a/src/aks-preview/az_aks_tool/ext.py b/src/aks-preview/az_aks_tool/ext.py new file mode 100644 index 00000000000..8fa39c1e242 --- /dev/null +++ b/src/aks-preview/az_aks_tool/ext.py @@ -0,0 +1,46 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import glob +import os +import logging + +import az_aks_tool.const as const +import az_aks_tool.index as index +logger = logging.getLogger(__name__) + + +def get_ext_mod_data(mod_name=const.AKS_PREVIEW_MOD_NAME, profile="latest"): + profile_split = profile.split('-') + profile_namespace = '_'.join([profile_split[-1]] + profile_split[:-1]) + + # key value pairs of all modules(in azcli & extention) and its absolute path, used later to find test indexes + path_table = index.get_path_table() + extensions = path_table["ext"] + inverse_name_table = index.get_name_index(invert=True) + + # construct 'import_name' & mod_data', used later to find test indexes + aks_preview_mod_path = extensions[mod_name] + glob_pattern = os.path.normcase( + os.path.join("{}*".format(const.EXTENSION_PREFIX))) + file_path = glob.glob(os.path.join(aks_preview_mod_path, glob_pattern))[0] + import_name = os.path.basename(file_path) + mod_data = { + "alt_name": inverse_name_table[mod_name], + "filepath": os.path.join(file_path, "tests", profile_namespace), + "base_path": "{}.tests.{}".format(import_name, profile_namespace), + "files": {} + } + + ext_test = index.discover_module_tests(import_name, mod_data) + return ext_test + + +def get_ext_test_index(module_data=None, mod_name=const.AKS_PREVIEW_MOD_NAME, profile="latest"): + if mod_name in module_data: + mod_data = module_data[mod_name] + else: + mod_data = get_ext_mod_data(mod_name=mod_name, profile=profile) + return mod_data["files"] diff --git a/src/aks-preview/az_aks_tool/filter.py b/src/aks-preview/az_aks_tool/filter.py new file mode 100644 index 00000000000..718a34d4058 --- /dev/null +++ b/src/aks-preview/az_aks_tool/filter.py @@ -0,0 +1,120 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import logging +from collections import Iterable +logger = logging.getLogger(__name__) + + +def extract_file_class_pairs(tag_list): + pairs = [] + for k in tag_list: + tags = k.split(".") + if len(tags) == 2: + pairs.append((tags[0], tags[1])) + return pairs + + +def filter_valid_file_class_pairs(pairs, test_index): + valid_pairs = [] + for pair in pairs: + if pair[0] in test_index and pair[1] in test_index[pair[0]]: + valid_pairs.append(pair) + logger.debug("Valid file & class pair: '{}'".format(pair)) + else: + logger.debug("Invalid file & class pair: '{}'".format(pair)) + return valid_pairs + + +def get_all_values_from_nested_dict(d): + for v in d.values(): + if isinstance(v, dict): + yield from get_all_values_from_nested_dict(v) + else: + yield v + + +def flatten_nested_list(lis): + for item in lis: + if isinstance(item, Iterable) and not isinstance(item, str): + for x in flatten_nested_list(item): + yield x + else: + yield item + + +def filter_valid_test_cases(test_cases, test_index): + valid_test_cases = [] + nested_test_cases = list(get_all_values_from_nested_dict(test_index)) + falttened_test_cases = list(flatten_nested_list(nested_test_cases)) + for test_case in test_cases: + if test_case in falttened_test_cases: + valid_test_cases.append(test_case) + logger.debug("Valid test case: '{}'".format(test_case)) + else: + logger.debug("Invalid test case: '{}'".format(test_case)) + return valid_test_cases + + +def get_test_cases(test_index, matrix, extra_coverage=None): + test_cases = [] + coverage = matrix.get("coverage", {}) + # default coverage + for fileName, className in coverage.items(): + for c in className: + test_cases.extend(test_index[fileName][c]) + # custom extra coverage + if extra_coverage: + # method 1: fileName.className + file_class_pairs = extract_file_class_pairs(extra_coverage) + valid_file_class_pairs = filter_valid_file_class_pairs( + file_class_pairs, test_index) + for valid_pair in valid_file_class_pairs: + test_cases.extend( + test_index[valid_pair[0]][valid_pair[1]]) + # method 2: test cases + test_cases.extend(filter_valid_test_cases( + extra_coverage, test_index)) + return list(set(test_cases)) + + +def get_exclude_test_cases(test_index, matrix, extra_filter=None): + exclude_test_cases = [] + exclude = matrix.get("exclude", {}) + # default exclude + if not extra_filter or "default" in extra_filter: + matrix_test_cases = [] + matrix_file_class_pairs = [] + for k, v in exclude.items(): + # method 1: reason -> test cases + matrix_test_cases.extend(v) + # method 2: fileName -> className + matrix_file_class_pairs.extend((k, x) for x in v) + # method 1: reason -> test cases + exclude_test_cases.extend( + filter_valid_test_cases(matrix_test_cases, test_index)) + # method 2: fileName -> className + valid_matrix_file_class_pairs = filter_valid_file_class_pairs( + matrix_file_class_pairs, test_index) + for valid_matrix_pair in valid_matrix_file_class_pairs: + exclude_test_cases.extend( + test_index[valid_matrix_pair[0]][valid_matrix_pair[1]]) + # custom extra_filter + if extra_filter: + # method 1: matrix exclude key + for k, v in exclude.items(): + if k in extra_filter: + exclude_test_cases.extend(v) + # method 2: fileName.className + file_class_pairs = extract_file_class_pairs(extra_filter) + valid_file_class_pairs = filter_valid_file_class_pairs( + file_class_pairs, test_index) + for valid_pair in valid_file_class_pairs: + exclude_test_cases.extend( + test_index[valid_pair[0]][valid_pair[1]]) + # method 3: test cases + exclude_test_cases.extend( + filter_valid_test_cases(extra_filter, test_index)) + return list(set(exclude_test_cases)) diff --git a/src/aks-preview/az_aks_tool/index.py b/src/aks-preview/az_aks_tool/index.py new file mode 100644 index 00000000000..11d7e405179 --- /dev/null +++ b/src/aks-preview/az_aks_tool/index.py @@ -0,0 +1,290 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import glob +import logging +import os +from importlib import import_module + +import az_aks_tool.utils as utils +import az_aks_tool.const as const +logger = logging.getLogger(__name__) + + +def get_repo_path(repo_name, root_path=None): + # find cache from environment variable + repo_path = os.environ.get("{}_PATH".format(repo_name), "") + if os.path.isdir(repo_path): + logger.info("Find cached '{}' repo path: '{}'".format(repo_name, repo_path)) + return repo_path + + # search from root_path + candidate_root_paths = [os.getcwd(), os.path.expanduser("~")] + valid_repo_paths = [] + repo_path = "" + if root_path is None or not os.path.isdir(root_path): + logger.warning("Invalid root path '{}'!".format(root_path)) + else: + candidate_root_paths = [root_path] + candidate_root_paths + logger.info("Setting root path from '{}'".format(candidate_root_paths)) + for candidate_root_path in candidate_root_paths: + root_path = candidate_root_path + logger.info("Searching from root path: '{}'".format(root_path)) + for path, _, _ in os.walk(root_path): + pattern = os.path.join(path, repo_name) + valid_repo_paths.extend(glob.glob(pattern)) + if len(valid_repo_paths) >= 1: + repo_path = valid_repo_paths[0] + if len(valid_repo_paths) >= 2: + logger.warning("Find {} '{}' repo paths: {}".format(len(valid_repo_paths), repo_name, valid_repo_paths)) + logger.info("Set '{}' repo path as '{}'".format(repo_name, repo_path)) + os.environ["{}_PATH".format(repo_name)] = str(repo_path) + return repo_path + else: + logger.warning("Could not find valid path to repo '{}' from '{}'".format(repo_name, root_path)) + return repo_path + +def find_files(root_paths, file_pattern): + """ Returns the paths to all files that match a given pattern. + + :returns: Paths ([str]) to files matching the given pattern. + """ + if isinstance(root_paths, str): + root_paths = [root_paths] + paths = [] + for root_path in root_paths: + for path, _, _ in os.walk(root_path): + pattern = os.path.join(path, file_pattern) + paths.extend(glob.glob(pattern)) + return paths + +def get_name_index(invert=False, include_whl_extensions=False): + """ Returns a dictionary containing the long and short names of modules and extensions is {SHORT:LONG} format or + {LONG:SHORT} format when invert=True. """ + from azure.cli.core.extension import EXTENSIONS_DIR # pylint: disable=import-error + + table = {} + cli_repo_path = get_repo_path(const.CLI_REPO_NAME) + ext_repo_paths = get_repo_path(const.EXT_REPO_NAME) + + # unified azure-cli package (2.0.68 and later) + paths = os.path.normcase( + os.path.join( + cli_repo_path, 'src', 'azure-cli', 'azure', 'cli', 'command_modules', '*', '__init__.py' + ) + ) + modules_paths = glob.glob(paths) + core_paths = glob.glob(os.path.normcase(os.path.join(cli_repo_path, 'src', '*', 'setup.py'))) + ext_paths = [x for x in find_files(ext_repo_paths, '*.*-info') if 'site-packages' not in x] + whl_ext_paths = [] + if include_whl_extensions: + whl_ext_paths = [x for x in find_files(EXTENSIONS_DIR, '*.*-info') if 'site-packages' not in x] + + def _update_table(paths, key): + folder = None + long_name = None + short_name = None + for path in paths: + folder = os.path.dirname(path) + base_name = os.path.basename(folder) + # determine long-names + if key == 'ext': + short_name = base_name + for item in os.listdir(folder): + if item.startswith(const.EXTENSION_PREFIX): + long_name = item + break + elif base_name.startswith(const.COMMAND_MODULE_PREFIX): + long_name = base_name + short_name = base_name.replace(const.COMMAND_MODULE_PREFIX, '') or '__main__' + else: + short_name = base_name + long_name = '{}{}'.format(const.COMMAND_MODULE_PREFIX, base_name) + if not invert: + table[short_name] = long_name + else: + table[long_name] = short_name + + _update_table(modules_paths, 'mod') + _update_table(core_paths, 'core') + _update_table(ext_paths, 'ext') + _update_table(whl_ext_paths, 'ext') + + return table + +# pylint: disable=too-many-statements +def get_path_table(include_only=None, include_whl_extensions=False): + """ Returns a table containing the long and short names of different modules and extensions and the path to them. + The structure looks like: + { + 'core': { + NAME: PATH, + ... + }, + 'mod': { + NAME: PATH, + ... + }, + 'ext': { + NAME: PATH, + ... + } + } + """ + from azure.cli.core.extension import EXTENSIONS_DIR # pylint: disable=import-error + + # determine whether the call will filter or return all + if isinstance(include_only, str): + include_only = [include_only] + get_all = not include_only + + table = {} + cli_repo_path = get_repo_path(const.CLI_REPO_NAME) + ext_repo_paths = get_repo_path(const.EXT_REPO_NAME) + + paths = os.path.normcase( + os.path.join( + cli_repo_path, 'src', 'azure-cli', 'azure', 'cli', 'command_modules', '*', '__init__.py' + ) + ) + modules_paths = glob.glob(paths) + core_paths = glob.glob(os.path.normcase(os.path.join(cli_repo_path, 'src', '*', 'setup.py'))) + ext_paths = [x for x in find_files(ext_repo_paths, '*.*-info') if 'site-packages' not in x] + whl_ext_paths = [x for x in find_files(EXTENSIONS_DIR, '*.*-info') if 'site-packages' not in x] + + def _update_table(package_paths, key): + if key not in table: + table[key] = {} + + for path in package_paths: + folder = os.path.dirname(path) + base_name = os.path.basename(folder) + + if key == 'ext': + short_name = base_name + long_name = next((item for item in os.listdir(folder) if item.startswith(const.EXTENSION_PREFIX)), None) + else: + short_name = base_name + long_name = '{}{}'.format(const.COMMAND_MODULE_PREFIX, base_name) + + if get_all: + table[key][long_name if key == 'ext' else short_name] = folder + elif not include_only: + return # nothing left to filter + else: + # check and update filter + if short_name in include_only: + include_only.remove(short_name) + table[key][short_name] = folder + if long_name in include_only: + # long name takes precedence to ensure path doesn't appear twice + include_only.remove(long_name) + table[key].pop(short_name, None) + table[key][long_name] = folder + + _update_table(modules_paths, 'mod') + _update_table(core_paths, 'core') + _update_table(ext_paths, 'ext') + if include_whl_extensions: + _update_table(whl_ext_paths, 'ext') + + if include_only: + whl_extensions = [mod for whl_ext_path in whl_ext_paths for mod in include_only if mod in whl_ext_path] + if whl_extensions: + err = 'extension(s): [ {} ] installed from a wheel may need --include-whl-extensions option'.format( + ', '.join(whl_extensions)) + raise Exception(err) + + raise Exception('unrecognized modules: [ {} ]'.format(', '.join(include_only))) + + return table + +def discover_module_tests(mod_name, mod_data): + + # get the list of test files in each module + total_tests = 0 + total_files = 0 + logger.info('Mod: %s', mod_name) + try: + contents = os.listdir(mod_data['filepath']) + test_files = { + x[:-len('.py')]: {} for x in contents if x.startswith('test_') and x.endswith('.py') + } + total_files = len(test_files) + except FileNotFoundError: + logger.info(' No test files found.') + return None + + for file_name in test_files: + mod_data['files'][file_name] = {} + test_file_path = mod_data['base_path'] + '.' + file_name + try: + module = import_module(test_file_path) + except ImportError as ex: + logger.info(' %s', ex) + continue + module_dict = module.__dict__ + possible_test_classes = {x: y for x, y in module_dict.items() if not x.startswith('_')} + for class_name, class_def in possible_test_classes.items(): + try: + class_dict = class_def.__dict__ + except AttributeError: + # skip non-class symbols in files like constants, imported methods, etc. + continue + if class_dict.get('__module__') == test_file_path: + tests = [x for x in class_def.__dict__ if x.startswith('test_')] + if tests: + mod_data['files'][file_name][class_name] = tests + total_tests += len(tests) + logger.info(' %s tests found in %s files.', total_tests, total_files) + return mod_data + + +def build_test_index(module_data): + test_index = {} + conflicted_keys = [] + + def add_to_index(key, path): + key = key or mod_name + if key in test_index: + if key not in conflicted_keys: + conflicted_keys.append(key) + mod1 = utils.extract_module_name(path) + mod2 = utils.extract_module_name(test_index[key]) + if mod1 != mod2: + # resolve conflicted keys by prefixing with the module name and a dot (.) + logger.warning("'%s' exists in both '%s' and '%s'. Resolve using `%s.%s` or `%s.%s`", + key, mod1, mod2, mod1, key, mod2, key) + test_index['{}.{}'.format(mod1, key)] = path + test_index['{}.{}'.format(mod2, key)] = test_index[key] + else: + logger.error("'%s' exists twice in the '%s' module", key, mod1) + else: + test_index[key] = path + + # build the index + for mod_name, mod_data in module_data.items(): + # don't add empty mods to the index + if not mod_data: + continue + + mod_path = mod_data['filepath'] + for file_name, file_data in mod_data['files'].items(): + file_path = os.path.join(mod_path, file_name) + '.py' + for class_name, test_list in file_data.items(): + for test_name in test_list: + test_path = '{}::{}::{}'.format(file_path, class_name, test_name) + add_to_index(test_name, test_path) + class_path = '{}::{}'.format(file_path, class_name) + add_to_index(class_name, class_path) + add_to_index(file_name, file_path) + add_to_index(mod_name, mod_path) + add_to_index(mod_data['alt_name'], mod_path) + + # remove the conflicted keys since they would arbitrarily point to a random implementation + for key in conflicted_keys: + del test_index[key] + + return test_index diff --git a/src/aks-preview/az_aks_tool/log.py b/src/aks-preview/az_aks_tool/log.py new file mode 100644 index 00000000000..a5d27925983 --- /dev/null +++ b/src/aks-preview/az_aks_tool/log.py @@ -0,0 +1,40 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import logging +import sys + + +def parse_module_name(levels=1): + module_name = None + module_levels = __name__.split(".") + if len(module_levels) < levels: + print("Failed to parse {}-level module name from '{}'".format(levels, __name__)) + else: + module_name = ".".join(module_levels[:levels]) + return module_name + + +def setup_logging(root_logger_name=None, log_path="az_aks_tool.log"): + if root_logger_name == "" or root_logger_name.isspace(): + root_logger_name = parse_module_name() + logger = logging.getLogger(root_logger_name) + logger.setLevel(level=logging.DEBUG) + + # Formatter + formatter = logging.Formatter( + '%(asctime)s - %(name)s - %(levelname)s - %(message)s') + + # FileHandler + file_handler = logging.FileHandler(filename=log_path, mode="w") + file_handler.setFormatter(formatter) + file_handler.setLevel(level=logging.DEBUG) + logger.addHandler(file_handler) + + # StreamHandler + stream_handler = logging.StreamHandler(sys.stdout) + stream_handler.setFormatter(formatter) + stream_handler.setLevel(level=logging.INFO) + logger.addHandler(stream_handler) diff --git a/src/aks-preview/az_aks_tool/main.py b/src/aks-preview/az_aks_tool/main.py new file mode 100644 index 00000000000..9864eeaaa72 --- /dev/null +++ b/src/aks-preview/az_aks_tool/main.py @@ -0,0 +1,148 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import argparse +import os +import sys +import logging + +import az_aks_tool.const as const +import az_aks_tool.log as log +import az_aks_tool.utils as utils +import az_aks_tool.cli as cli +import az_aks_tool.ext as ext +import az_aks_tool.index as index +import az_aks_tool.run as run + + +def init_argparse(args): + parser = argparse.ArgumentParser() + parser.add_argument("-c", "--cli", action="store_true", default=False, + help="enbale cli test") + parser.add_argument("-e", "--ext", action="store_true", default=False, + help="enbale ext test") + parser.add_argument("-a", "--all", action="store_true", default=False, + help="enbale all tests (cli & ext)") + parser.add_argument("-t", "--tests", nargs='+', help="test case names") + parser.add_argument("-cm", "--cli-matrix", type=str, + help="full path to cli test matrix") + parser.add_argument("-cc", "--cli-coverage", nargs="+", + help="cli test extra coverage") + parser.add_argument("-cf", "--cli-filter", nargs="+", + help="cli test filter") + parser.add_argument("-em", "--ext-matrix", type=str, + help="full path to extension test matrix") + parser.add_argument("-ec", "--ext-coverage", nargs="+", + help="extension test extra coverage") + parser.add_argument("-ef", "--ext-filter", nargs="+", + help="extension test filter") + parser.add_argument("-s", "--series", action="store_true", + default=False, help="series test") + parser.add_argument("-l", "--live", action="store_true", + default=False, help="live test") + parser.add_argument("-ne", "--no-exitfirst", action="store_true", + default=False, help="no exit first") + parser.add_argument("-j", "--parallelism", type=str, + default="8", help="test parallelism") + parser.add_argument("--reruns", type=str, + default="3", help="rerun times") + parser.add_argument("--capture", type=str, + default="sys", help="test capture") + parser.add_argument("-p", "--report-path", type=str, + required=True, help="report path") + parser.add_argument("-f", "--json-report-file", type=str, + default="azcli_aks_runner_report.json", help="json report filename") + parser.add_argument("--xml-file", type=str, + default="azcli_aks_runner.xml", help="junit/xml report filename") + parser.add_argument("--log-file", type=str, + default="az_aks_tool.log", help="log filename") + args = parser.parse_args(args) + return args + + +def main(): + # parse args + print("raw args: {}".format(sys.argv)) + args = init_argparse(sys.argv[1:]) + + # setup logger + root_module_name = log.parse_module_name(levels=1) + log.setup_logging(root_module_name, os.path.join( + args.report_path, args.log_file)) + logger = logging.getLogger("{}.{}".format(root_module_name, __name__)) + + # # check test cases + test_cases = args.tests + ext_matrix_file_path = args.ext_matrix + cli_matrix_file_path = args.cli_matrix + + # prepare pytest args + pytest_args = [] + if not args.series and args.parallelism: + pytest_args.append("-n {}".format(args.parallelism)) + pytest_args.append("--json-report") + pytest_args.append("--reruns {}".format(args.reruns)) + pytest_args.append("--capture {}".format(args.capture)) + pytest_args = [" ".join(pytest_args)] + logger.info("pytest_args: {}".format(pytest_args)) + + # check mode & collect module data + enable_cli = False + enable_ext = False + module_data = {} + if args.cli or args.all: + enable_cli = True + module_data[const.ACS_MOD_NAME] = cli.get_cli_mod_data() + cli_test_index = cli.get_cli_test_index(module_data) + + if args.ext or args.all: + enable_ext = True + module_data[const.AKS_PREVIEW_MOD_NAME] = ext.get_ext_mod_data() + ext_test_index = ext.get_ext_test_index(module_data) + + # build test index + if enable_cli or enable_ext: + logger.info("Building test index...") + test_index = index.build_test_index(module_data) + else: + logger.error( + "Both modes 'cli' and 'ext' are not enabled! No test will be performed!") + logger.error( + "Please provide at least one of the following parameters (-a, -c, -e) to enable the test!") + + # cli matrix test + if enable_cli: + cli_qualified_test_cases = utils.get_fully_qualified_test_cases( + cli_test_index, cli_matrix_file_path, const.ACS_MOD_NAME, args.cli_coverage, args.cli_filter) + logger.info("Perform following cli tests: {}".format( + cli_qualified_test_cases)) + exit_code = run.run_tests(cli_qualified_test_cases, test_index, mode="cli", base_path=args.report_path, xml_file=args.xml_file, json_file=args.json_report_file, in_series=args.series, + run_live=args.live, no_exit_first=args.no_exitfirst, pytest_args=pytest_args) + if exit_code != 0: + sys.exit("CLI test failed with exit code: {}".format(exit_code)) + + # ext matrix test + if enable_ext: + ext_qualified_test_cases = utils.get_fully_qualified_test_cases( + ext_test_index, ext_matrix_file_path, const.AKS_PREVIEW_MOD_NAME, args.ext_coverage, args.ext_filter) + logger.info("Perform following ext tests: {}".format( + ext_qualified_test_cases)) + exit_code = run.run_tests(ext_qualified_test_cases, test_index, mode="ext", base_path=args.report_path, xml_file=args.xml_file, json_file=args.json_report_file, in_series=args.series, + run_live=args.live, no_exit_first=args.no_exitfirst, pytest_args=pytest_args) + if exit_code != 0: + sys.exit("EXT test failed with exit code: {}".format(exit_code)) + + # raw tests + if test_cases: + logger.info("Get {} cases!".format(len(test_cases))) + logger.info("Perform following raw tets: {}".format(test_cases)) + exit_code = run.run_tests(test_cases, test_index, mode="raw", base_path=args.report_path, xml_file=args.xml_file, json_file=args.json_report_file, in_series=args.series, + run_live=args.live, no_exit_first=args.no_exitfirst, pytest_args=pytest_args) + if exit_code != 0: + sys.exit("Raw test failed with exit code: {}".format(exit_code)) + + +if __name__ == "__main__": + main() diff --git a/src/aks-preview/az_aks_tool/run.py b/src/aks-preview/az_aks_tool/run.py new file mode 100644 index 00000000000..13c2f2ae426 --- /dev/null +++ b/src/aks-preview/az_aks_tool/run.py @@ -0,0 +1,199 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import logging +import os +import subprocess +import sys +import traceback +from knack.util import CommandResultItem + +from az_aks_tool.const import IS_WINDOWS, ENV_VAR_TEST_LIVE +from az_aks_tool.utils import heading +logger = logging.getLogger(__name__) + + +class ProfileContext: + def __init__(self, profile_name=None): + self.target_profile = profile_name + + self.origin_profile = current_profile() + + def __enter__(self): + if self.target_profile is None or self.target_profile == self.origin_profile: + logger.info('The tests are set to run against current profile "{}"'.format( + self.origin_profile)) + else: + result = cmd('az cloud update --profile {}'.format(self.target_profile), + 'Switching to target profile "{}"...'.format(self.target_profile)) + if result.exit_code != 0: + raise Exception(result.error.output.decode('utf-8')) + + def __exit__(self, exc_type, exc_val, exc_tb): + if self.target_profile is not None and self.target_profile != self.origin_profile: + logger.info('Switching back to origin profile "{}"...'.format( + self.origin_profile)) + call('az cloud update --profile {}'.format(self.origin_profile)) + + if exc_tb: + traceback.print_exception(exc_type, exc_val, exc_tb) + + +def current_profile(): + return cmd('az cloud show --query profile -otsv', show_stderr=False).result + + +class CommandError(Exception): + + def __init__(self, output, exit_code, command): + message = "Command `{}` failed with exit code {}:\n{}".format( + command, exit_code, output) + self.exit_code = exit_code + self.output = output + self.command = command + super().__init__(message) + + +def call(command, **kwargs): + """ Run an arbitrary command but don't buffer the output. + + :param command: The entire command line to run. + :param kwargs: Any kwargs supported by subprocess.Popen + :returns: (int) process exit code. + """ + return subprocess.call( + command, + shell=True, + **kwargs) + + +def cmd(command, message=False, show_stderr=True, raise_error=False, **kwargs): + """ Run an arbitrary command. + + :param command: The entire command line to run. + :param message: A custom message to display, or True (bool) to use a default. + :param show_stderr: On error, display the contents of STDERR. + :param raise_error: On error, raise CommandError. + :param kwargs: Any kwargs supported by subprocess.Popen + :returns: CommandResultItem object. + """ + + # use default message if custom not provided + if message is True: + message = 'Running: {}\n'.format(command) + + if message: + logger.info(message) + + logger.info("Running: %s", command) + try: + output = subprocess.check_output( + command.split(), + stderr=subprocess.STDOUT if show_stderr else None, + shell=IS_WINDOWS, + **kwargs).decode('utf-8').strip() + logger.debug(output) + return CommandResultItem(output, exit_code=0, error=None) + except subprocess.CalledProcessError as err: + if raise_error: + raise CommandError(err.output.decode(), err.returncode, command) + return CommandResultItem(err.output, exit_code=err.returncode, error=err) + + +def get_test_runner(parallel, log_path, last_failed, no_exit_first, mark): + """Create a pytest execution method""" + def _run(test_paths, pytest_args): + + if os.name == 'posix': + arguments = ['-x', '-v', '--boxed', '-p no:warnings', + '--log-level=WARN', '--junit-xml', log_path] + else: + arguments = ['-x', '-v', '-p no:warnings', + '--log-level=WARN', '--junit-xml', log_path] + + if no_exit_first: + arguments.remove('-x') + + if mark: + arguments.append('-m "{}"'.format(mark)) + + arguments.extend(test_paths) + if parallel: + arguments += ['-n', 'auto'] + if last_failed: + arguments.append('--lf') + if pytest_args: + arguments += pytest_args + cmd = 'python -m pytest {}'.format(' '.join(arguments)) + logger.info('Running: %s', cmd) + return call(cmd) + + return _run + + +def run_tests(tests, test_index, mode, base_path, xml_file, json_file, in_series=False, + run_live=False, profile=None, last_failed=False, no_exit_first=False, mark=None, pytest_args=None): + + heading('Run Tests') + + # process file path + if not xml_file.startswith(mode): + xml_file = "{}_{}".format(mode, xml_file) + if not json_file.startswith(mode): + json_file = "{}_{}".format(mode, json_file) + xml_path = os.path.realpath(os.path.join(base_path, xml_file)) + json_path = os.path.realpath(os.path.join(base_path, json_file)) + pytest_args.append("--json-report-file {}".format(json_path)) + logger.info("junit/xml report file full path: {}".format(xml_path)) + logger.info("json report file full path: {}".format(json_path)) + + # process environment variables + if run_live: + logger.warning('RUNNING TESTS LIVE') + os.environ[ENV_VAR_TEST_LIVE] = 'True' + + def _find_test(index, name): + name_comps = name.split('.') + num_comps = len(name_comps) + key_error = KeyError() + + for i in range(num_comps): + check_name = '.'.join(name_comps[(-1 - i):]) + try: + match = index[check_name] + if check_name != name: + logger.info( + "Test found using just '%s'. The rest of the name was ignored.", check_name) + return match + except KeyError as ex: + key_error = ex + continue + raise key_error + + # lookup test paths from index + test_paths = [] + for t in tests: + try: + test_path = os.path.normpath(_find_test(test_index, t)) + test_paths.append(test_path) + except KeyError: + logger.warning("'%s' not found.", t) + continue + + # Tests have been collected. Now run them. + exit_code = 0 + if not test_paths: + logger.warning('No tests selected to run.') + return exit_code + + with ProfileContext(profile): + runner = get_test_runner(parallel=not in_series, + log_path=xml_path, + last_failed=last_failed, + no_exit_first=no_exit_first, + mark=mark) + exit_code = runner(test_paths=test_paths, pytest_args=pytest_args) + + return 0 if not exit_code else 1 diff --git a/src/aks-preview/az_aks_tool/tests/__init__.py b/src/aks-preview/az_aks_tool/tests/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/aks-preview/az_aks_tool/tests/test_cli.py b/src/aks-preview/az_aks_tool/tests/test_cli.py new file mode 100644 index 00000000000..5b9000b7af6 --- /dev/null +++ b/src/aks-preview/az_aks_tool/tests/test_cli.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. +# -------------------------------------------------------------------------------------------- + +import os +import unittest + +import az_aks_tool.utils as utils +import az_aks_tool.cli as cli + +THIS_FILE = os.path.abspath(__file__) +THIS_DIR = os.path.dirname(THIS_FILE) +PARENT_DIR = os.path.dirname(THIS_DIR) + +class CliTestCase(unittest.TestCase): + + def test_get_cli_mod_data(self): + pass + + def test_get_cli_test_index(self): + pass diff --git a/src/aks-preview/az_aks_tool/tests/test_ext.py b/src/aks-preview/az_aks_tool/tests/test_ext.py new file mode 100644 index 00000000000..ec194f16641 --- /dev/null +++ b/src/aks-preview/az_aks_tool/tests/test_ext.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. +# -------------------------------------------------------------------------------------------- + +import os +import unittest + +import az_aks_tool.utils as utils +import az_aks_tool.ext as ext + +THIS_FILE = os.path.abspath(__file__) +THIS_DIR = os.path.dirname(THIS_FILE) +PARENT_DIR = os.path.dirname(THIS_DIR) + +class ExtTestCase(unittest.TestCase): + + def test_get_ext_mod_data(self): + pass + + def test_get_ext_test_index(self): + pass diff --git a/src/aks-preview/az_aks_tool/tests/test_filter.py b/src/aks-preview/az_aks_tool/tests/test_filter.py new file mode 100644 index 00000000000..d9da9e6a624 --- /dev/null +++ b/src/aks-preview/az_aks_tool/tests/test_filter.py @@ -0,0 +1,121 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import os +import unittest + +import az_aks_tool.utils as utils +import az_aks_tool.filter as custom_filter + +THIS_FILE = os.path.abspath(__file__) +THIS_DIR = os.path.dirname(THIS_FILE) +PARENT_DIR = os.path.dirname(THIS_DIR) + + +class FilterTestCase(unittest.TestCase): + + def test_extract_file_class_pairs(self): + test_cases = ["abc", "a.b", "a.b.c"] + s = custom_filter.extract_file_class_pairs(test_cases) + self.assertEqual(s, [("a", "b")]) + + def test_filter_valid_file_class_pairs(self): + pairs = [("a", "b"), ("c", "d"), ("e", "f")] + test_index = { + "a": { + "b": ["aaa", "bbb"] + }, + "x": { + "y": ["xxx", "yyy"] + } + } + s = custom_filter.filter_valid_file_class_pairs(pairs, test_index) + self.assertEqual(s, [("a", "b")]) + + def test_get_all_values_from_nested_dict(self): + d = { + "a": { + "b": ["aaa", "bbb"] + }, + "x": ["xxx"] + } + s = list(custom_filter.get_all_values_from_nested_dict(d)) + self.assertEqual(s, [["aaa", "bbb"], ["xxx"]]) + + def test_flatten_nested_list(self): + lis = [["aaa", "bbb"], ["xxx"]] + s = list(custom_filter.flatten_nested_list(lis)) + self.assertEqual(s, ["aaa", "bbb", "xxx"]) + + def test_filter_valid_test_cases(self): + test_cases = ["abc", "a.b", "a.b.c", "aaa", "yyy"] + test_index = { + "a": { + "b": ["aaa", "bbb"] + }, + "x": { + "y": ["xxx", "yyy"] + } + } + s = custom_filter.filter_valid_test_cases(test_cases, test_index) + self.assertEqual(s, ["aaa", "yyy"]) + + def test_get_test_cases(self): + test_index = { + "test_validators": { + "TestValidateIPRanges": ["test_simultaneous_allow_and_disallow_with_spaces", "test_simultaneous_enable_and_disable_with_spaces", "test_disable_authorized_ip_ranges", "test_local_ip_address", "test_invalid_ip", "test_IPv6"], + "TestClusterAutoscalerParamsValidators": ["test_empty_key_empty_value", "test_non_empty_key_empty_value", "test_two_empty_keys_empty_value", "test_one_empty_key_in_pair_one_non_empty", "test_invalid_key", "test_valid_parameters"], + "TestSubnetId": ["test_invalid_subnet_id", "test_valid_vnet_subnet_id", "test_none_vnet_subnet_id", "test_empty_vnet_subnet_id"] + } + } + matrix = utils.get_test_matrix( + os.path.join(THIS_DIR, "testdata.json")) + base = test_index["test_validators"] + s1 = sorted(custom_filter.get_test_cases(test_index, matrix, [])) + t1 = sorted((base["TestValidateIPRanges"] + + base["TestClusterAutoscalerParamsValidators"])) + s2 = sorted(custom_filter.get_test_cases(test_index, matrix, [ + "test_valid_vnet_subnet_id", "abc"])) + t2 = sorted((base["TestValidateIPRanges"] + base["TestClusterAutoscalerParamsValidators"] + + ["test_valid_vnet_subnet_id"])) + s3 = sorted(custom_filter.get_test_cases(test_index, matrix, [ + "test_validators.TestSubnetId"])) + t3 = sorted((base["TestValidateIPRanges"] + + base["TestClusterAutoscalerParamsValidators"] + base["TestSubnetId"])) + self.assertEqual(s1, t1) + self.assertEqual(s2, t2) + self.assertEqual(s3, t3) + + def test_get_exclude_test_cases(self): + test_index = { + "test_validators": { + "TestValidateIPRanges": ["test_simultaneous_allow_and_disallow_with_spaces", "test_simultaneous_enable_and_disable_with_spaces", "test_disable_authorized_ip_ranges", "test_local_ip_address", "test_invalid_ip", "test_IPv6"], + "TestClusterAutoscalerParamsValidators": ["test_empty_key_empty_value", "test_non_empty_key_empty_value", "test_two_empty_keys_empty_value", "test_one_empty_key_in_pair_one_non_empty", "test_invalid_key", "test_valid_parameters"], + "TestSubnetId": ["test_invalid_subnet_id", "test_valid_vnet_subnet_id", "test_none_vnet_subnet_id", "test_empty_vnet_subnet_id"] + } + } + matrix = utils.get_test_matrix( + os.path.join(THIS_DIR, "testdata.json")) + base = test_index["test_validators"] + s1 = sorted(custom_filter.get_exclude_test_cases( + test_index, matrix, [])) + t1 = sorted(["test_simultaneous_allow_and_disallow_with_spaces", "test_simultaneous_enable_and_disable_with_spaces", + "test_disable_authorized_ip_ranges"] + base["TestClusterAutoscalerParamsValidators"]) + s2 = sorted(custom_filter.get_exclude_test_cases(test_index, + matrix, ["iprange"])) + t2 = sorted(["test_simultaneous_allow_and_disallow_with_spaces", + "test_simultaneous_enable_and_disable_with_spaces", "test_disable_authorized_ip_ranges"]) + s3 = sorted(custom_filter.get_exclude_test_cases(test_index, + matrix, ["default", "test_invalid_subnet_id"])) + t3 = sorted(["test_simultaneous_allow_and_disallow_with_spaces", "test_simultaneous_enable_and_disable_with_spaces", + "test_disable_authorized_ip_ranges"] + base["TestClusterAutoscalerParamsValidators"] + ["test_invalid_subnet_id"]) + s4 = sorted(custom_filter.get_exclude_test_cases(test_index, matrix, [ + "test_valid_vnet_subnet_id", "abc", "test_validators.TestClusterAutoscalerParamsValidators"])) + t4 = sorted( + (base["TestClusterAutoscalerParamsValidators"] + ["test_valid_vnet_subnet_id"])) + self.assertEqual(s1, t1) + self.assertEqual(s2, t2) + self.assertEqual(s3, t3) + self.assertEqual(s4, t4) diff --git a/src/aks-preview/az_aks_tool/tests/test_index.py b/src/aks-preview/az_aks_tool/tests/test_index.py new file mode 100644 index 00000000000..68b5816db2f --- /dev/null +++ b/src/aks-preview/az_aks_tool/tests/test_index.py @@ -0,0 +1,34 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import os +import unittest + +import az_aks_tool.utils as utils +import az_aks_tool.index as index + +THIS_FILE = os.path.abspath(__file__) +THIS_DIR = os.path.dirname(THIS_FILE) +PARENT_DIR = os.path.dirname(THIS_DIR) + +class IndexTestCase(unittest.TestCase): + + def test_get_repo_path(self): + pass + + def test_find_files(self): + pass + + def test_get_name_index(self): + pass + + def test_get_path_table(self): + pass + + def test_discover_module_tests(self): + pass + + def build_test_index(self): + pass diff --git a/src/aks-preview/az_aks_tool/tests/test_log.py b/src/aks-preview/az_aks_tool/tests/test_log.py new file mode 100644 index 00000000000..4caafc341ba --- /dev/null +++ b/src/aks-preview/az_aks_tool/tests/test_log.py @@ -0,0 +1,34 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import logging +import os +import unittest + +import az_aks_tool.log as log + +THIS_FILE = os.path.abspath(__file__) +THIS_DIR = os.path.dirname(THIS_FILE) +PARENT_DIR = os.path.dirname(THIS_DIR) + + +class LogTestCase(unittest.TestCase): + + def test_parse_module_name(self): + root_module_name = log.parse_module_name(levels=1) + error_module_name = log.parse_module_name(levels=5) + self.assertEqual(root_module_name, "az_aks_tool") + self.assertEqual(error_module_name, None) + + def test_setup_logging(self): + log.setup_logging("unittest", "unittest_log.log") + logger = logging.getLogger("unittest.test_setup_logging") + logger.debug("test setup logging") + logger.info("test setup logging") + logger.warning("test setup logging") + f = open("unittest_log.log", "r") + raw_logs = f.readlines() + f.close() + self.assertEqual(len(raw_logs), 3) diff --git a/src/aks-preview/az_aks_tool/tests/test_main.py b/src/aks-preview/az_aks_tool/tests/test_main.py new file mode 100644 index 00000000000..36f4becd0f4 --- /dev/null +++ b/src/aks-preview/az_aks_tool/tests/test_main.py @@ -0,0 +1,21 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import logging +import os +import unittest + +import az_aks_tool.main as main + +THIS_FILE = os.path.abspath(__file__) +THIS_DIR = os.path.dirname(THIS_FILE) +PARENT_DIR = os.path.dirname(THIS_DIR) + + +class MainTestCase(unittest.TestCase): + + def test_init_argparse(self): + args = main.init_argparse(["-p", "./"]) + self.assertEqual(args.report_path, "./") diff --git a/src/aks-preview/az_aks_tool/tests/test_run.py b/src/aks-preview/az_aks_tool/tests/test_run.py new file mode 100644 index 00000000000..d69375d491d --- /dev/null +++ b/src/aks-preview/az_aks_tool/tests/test_run.py @@ -0,0 +1,33 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import os +import unittest + +import az_aks_tool.utils as utils +import az_aks_tool.cli as cli + +THIS_FILE = os.path.abspath(__file__) +THIS_DIR = os.path.dirname(THIS_FILE) +PARENT_DIR = os.path.dirname(THIS_DIR) + +class RunTestCase(unittest.TestCase): + + def test_current_profile(self): + pass + + def test_call(self): + pass + + def test_cmd(self): + pass + + def test_get_test_runner(self): + pass + + def run_tests(self): + pass + + diff --git a/src/aks-preview/az_aks_tool/tests/test_utils.py b/src/aks-preview/az_aks_tool/tests/test_utils.py new file mode 100644 index 00000000000..6bef0b49a0f --- /dev/null +++ b/src/aks-preview/az_aks_tool/tests/test_utils.py @@ -0,0 +1,54 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import os +import unittest + +import az_aks_tool.utils as utils + +THIS_FILE = os.path.abspath(__file__) +THIS_DIR = os.path.dirname(THIS_FILE) +PARENT_DIR = os.path.dirname(THIS_DIR) + + +class UtilsTestCase(unittest.TestCase): + + def test_check_file_existence(self): + s1 = utils.check_file_existence(None) + s2 = utils.check_file_existence(THIS_DIR) + s3 = utils.check_file_existence(THIS_FILE) + s4 = utils.check_file_existence( + os.path.join(THIS_DIR, "testdata.json")) + self.assertEqual(s1, False) + self.assertEqual(s2, False) + self.assertEqual(s3, True) + self.assertEqual(s4, True) + + def test_get_test_matrix(self): + s = utils.get_test_matrix(os.path.join(THIS_DIR, "testdata.json")) + self.assertEqual(len(s), 2) # number of keys + + def test_get_filted_test_cases(self): + test_cases = ["a", "b", "c", "d"] + s1 = utils.get_filted_test_cases(test_cases, []) + t1 = ["a", "b", "c", "d"] + s2 = utils.get_filted_test_cases(test_cases, ["a", "x"]) + t2 = ["b", "c", "d"] + self.assertEqual(s1, t1) + self.assertEqual(s2, t2) + + def test_add_qualified_prefix(self): + test_cases = ["a", "b", "c"] + s = utils.add_qualified_prefix(test_cases, "p") + self.assertEqual(s, ["p.a", "p.b", "p.c"]) + + def test_get_fully_qualified_test_cases(self): + pass + + def test_heading(self): + pass + + def test_extract_module_name(self): + pass diff --git a/src/aks-preview/az_aks_tool/tests/testdata.json b/src/aks-preview/az_aks_tool/tests/testdata.json new file mode 100644 index 00000000000..221e6291e3e --- /dev/null +++ b/src/aks-preview/az_aks_tool/tests/testdata.json @@ -0,0 +1,18 @@ +{ + "coverage": { + "test_validators": [ + "TestValidateIPRanges", + "TestClusterAutoscalerParamsValidators" + ] + }, + "exclude": { + "iprange": [ + "test_simultaneous_allow_and_disallow_with_spaces", + "test_simultaneous_enable_and_disable_with_spaces", + "test_disable_authorized_ip_ranges" + ], + "test_validators": [ + "TestClusterAutoscalerParamsValidators" + ] + } +} \ No newline at end of file diff --git a/src/aks-preview/az_aks_tool/utils.py b/src/aks-preview/az_aks_tool/utils.py new file mode 100644 index 00000000000..f92117bbf56 --- /dev/null +++ b/src/aks-preview/az_aks_tool/utils.py @@ -0,0 +1,83 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import json +import os +import sys +import re +import logging + +import az_aks_tool.const as const +import az_aks_tool.filter as custom_filter +logger = logging.getLogger(__name__) + + +def check_file_existence(file_path): + if file_path is not None and os.path.isfile(file_path): + return True + return False + + +def get_test_matrix(matrix_file_path): + test_matrix = {} + if check_file_existence(matrix_file_path): + json_file = open(matrix_file_path, 'r') + test_matrix = json.load(json_file) + json_file.close() + else: + logger.warning("Matrix file '{}' not exists!".format(matrix_file_path)) + return test_matrix + + +def get_filted_test_cases(test_cases, exclude_test_cases): + filtered_test_cases = [ + x for x in test_cases if x not in exclude_test_cases] + logger.info("Find {} cases, exclude {} cases, finally get {} cases!".format( + len(test_cases), len(exclude_test_cases), len(filtered_test_cases))) + return filtered_test_cases + + +def add_qualified_prefix(test_cases, prefix): + decorated_test_cases = ["{}.{}".format(prefix, x) for x in test_cases] + return decorated_test_cases + + +def get_fully_qualified_test_cases(test_index, matrix_file_path, mod_name, extra_coverage=None, extra_filter=None): + qualified_test_cases = [] + matrix = get_test_matrix(matrix_file_path) + test_cases = custom_filter.get_test_cases( + test_index, matrix, extra_coverage) + exclude_test_cases = custom_filter.get_exclude_test_cases(test_index, + matrix, extra_filter) + filtered_test_cases = get_filted_test_cases( + test_cases, exclude_test_cases) + # add prefix + qualified_test_cases = add_qualified_prefix( + filtered_test_cases, mod_name) + return qualified_test_cases + + +def heading(txt): + """ Create standard heading to stderr """ + line_len = len(txt) + 4 + print('\n' + '=' * line_len, file=sys.stderr) + print('| {} |'.format(txt), file=sys.stderr) + print('=' * line_len + '\n', file=sys.stderr) + + +def extract_module_name(path): + _CORE_NAME_REGEX = re.compile( + r'azure-cli-(?P[^/\\]+)[/\\]azure[/\\]cli') + _MOD_NAME_REGEX = re.compile( + r'azure-cli[/\\]azure[/\\]cli[/\\]command_modules[/\\](?P[^/\\]+)') + _EXT_NAME_REGEX = re.compile(r'.*(?Pazext_[^/\\]+).*') + + for expression in [_MOD_NAME_REGEX, _CORE_NAME_REGEX, _EXT_NAME_REGEX]: + match = re.search(expression, path) + if not match: + continue + return match.groupdict().get('name') + raise Exception( + 'unexpected error: unable to extract name from path: {}'.format(path)) diff --git a/src/aks-preview/azcli_aks_live_test/.gitignore b/src/aks-preview/azcli_aks_live_test/.gitignore new file mode 100644 index 00000000000..819270b0650 --- /dev/null +++ b/src/aks-preview/azcli_aks_live_test/.gitignore @@ -0,0 +1,5 @@ +env.list +*.json +*.xml +!ext_matrix_default.json +!testdata.json diff --git a/src/aks-preview/azcli_aks_live_test/HISTORY.rst b/src/aks-preview/azcli_aks_live_test/HISTORY.rst new file mode 100644 index 00000000000..93372ba3c64 --- /dev/null +++ b/src/aks-preview/azcli_aks_live_test/HISTORY.rst @@ -0,0 +1,9 @@ +.. :changelog: + +Release History +=============== + +0.1.0 (4/23/2021) +++++++ + +* Add live test pipeline for aks commands diff --git a/src/aks-preview/azcli_aks_live_test/README.md b/src/aks-preview/azcli_aks_live_test/README.md new file mode 100644 index 00000000000..206a5eae203 --- /dev/null +++ b/src/aks-preview/azcli_aks_live_test/README.md @@ -0,0 +1,9 @@ +# Azure CLI AKS Live Test Pipeline & Azure CLI AKS Unit Test Pipeline + +These pipelines are used to test newly added aks commands in module aks-preview (azure-cli-extensions) / acs (azure-cli, not covered by default). + +## How to use + +**By default**, these pipelines will be **triggered** when submitting a **PR** to the master branch of the official repo which involves modifying the files under src/aks-preview. Then they will test the aks-preview command group in azure-cli-extensions. For live test pipeline, the test will be performed in record mode first, and then in live mode. Due to some specific [reasons](https://dev.azure.com/msazure/CloudNativeCompute/_wiki/wikis/CloudNativeCompute.wiki/157433/Live-Test-Failures-in-aks-preview-(with-bare-sub)), some test cases would fail. These test cases have been filtered out by file 'ext_matrix_default.json'. For unit test pipeline, the test will be perfomed with 'unittest' and 'pytest' modules. A code coverage report will be generated after the unit tests. You can find test reports and coverage report from pipeline artifacts. + +You can also trigger this pipeline **manually**. For more details, you may refer to this [wiki](https://dev.azure.com/msazure/CloudNativeCompute/_wiki/wikis/CloudNativeCompute.wiki/156735/Azure-CLI-AKS-Live-Test-Pipeline). diff --git a/src/aks-preview/azcli_aks_live_test/clean_up.sh b/src/aks-preview/azcli_aks_live_test/clean_up.sh new file mode 100755 index 00000000000..4bbeb2f3520 --- /dev/null +++ b/src/aks-preview/azcli_aks_live_test/clean_up.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env bash + +# login +az login --service-principal -u $AZCLI_ALT_CLIENT_ID -p $AZCLI_ALT_CLIENT_SECRET -t $TENANT_ID +az account set -s $AZCLI_ALT_SUBSCRIPTION_ID +az account show + +# list the details of resource groups whose names start with "clitest" +az group list --query "([].name)[?starts_with(@, 'clitest')]" -o tsv | xargs -i az group show -n {} + +# delete all resource groups whose names start with "clitest" +# az group list --query "([].name)[?starts_with(@, 'clitest')]" -o tsv | xargs -i az group delete --no-wait -y -n {} diff --git a/src/aks-preview/azcli_aks_live_test/clone_repo.sh b/src/aks-preview/azcli_aks_live_test/clone_repo.sh new file mode 100755 index 00000000000..4dccf3260d4 --- /dev/null +++ b/src/aks-preview/azcli_aks_live_test/clone_repo.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash + +set -eux +pwd + +# clone azure-cli (default is the official repo) +# git clone https://github.com/Azure/azure-cli.git +git clone $CLI_REPO + +# ckeckout to a specific azure-cli branch (default is the dev branch) +pushd azure-cli/ +git branch -a +git checkout $CLI_BRANCH +popd + +# clone azure-cli-extensions when manually specify the extension repo +if [[ $MANUAL_EXT == true && -n $EXT_REPO && -n $EXT_BRANCH ]]; then + echo "Manually specify the extension repo, delete the current 'azure-cli-extensions' directory!" + rm -rf azure-cli-extensions/ + git clone $EXT_REPO + pushd azure-cli-extensions/ + git checkout $EXT_BRANCH + popd +fi + +# check current branch & commit logs in azure-cli-extensions +pushd azure-cli-extensions/ +git branch -a +git log -10 +popd + +# copy live test related files to the same level as the checkout directory ($(Agent.BuildDirectory)/s) +cp -rT azure-cli-extensions/src/aks-preview/azcli_aks_live_test/ ./ +cp -r azure-cli-extensions/src/aks-preview/az_aks_tool/ ./ +ls -alh diff --git a/src/aks-preview/azcli_aks_live_test/ext_matrix_default.json b/src/aks-preview/azcli_aks_live_test/ext_matrix_default.json new file mode 100644 index 00000000000..13d3d7295af --- /dev/null +++ b/src/aks-preview/azcli_aks_live_test/ext_matrix_default.json @@ -0,0 +1,39 @@ +{ + "coverage": { + "test_aks_commands": [ + "AzureKubernetesServiceScenarioTest" + ] + }, + "exclude": { + "need additional feature": [ + "test_aks_create_addon_with_azurekeyvaultsecretsprovider_with_secret_rotation", + "test_aks_create_with_auto_upgrade_channel", + "test_aks_create_with_pod_identity_enabled", + "test_aks_create_with_azurekeyvaultsecretsprovider_addon", + "test_aks_create_using_azurecni_with_pod_identity_enabled", + "test_aks_create_with_gitops_addon", + "test_aks_create_with_node_config", + "test_aks_custom_kubelet_identity", + "test_aks_disable_addon_gitops", + "test_aks_disable_addon_openservicemesh", + "test_aks_pod_identity_usage", + "test_aks_create_with_openservicemesh_addon", + "test_aks_update_azurekeyvaultsecretsprovider_with_secret_rotation", + "test_aks_enable_addon_with_azurekeyvaultsecretsprovider", + "test_aks_enable_addon_with_gitops", + "test_aks_create_with_fips" + ], + "unknown": [ + "test_aks_create_and_update_with_managed_aad_enable_azure_rbac", + "test_aks_create_with_virtual_node_addon" + ], + "code bug": [ + "test_aks_create_with_ingress_appgw_addon_with_deprecated_subet_prefix", + "test_aks_byo_subnet_with_ingress_appgw_addon", + "test_aks_nodepool_get_upgrades", + "test_aks_byo_appgw_with_ingress_appgw_addon", + "test_aks_enable_addon_with_openservicemesh", + "test_aks_create_with_ingress_appgw_addon" + ] + } +} \ No newline at end of file diff --git a/src/aks-preview/azcli_aks_live_test/prepare_image.sh b/src/aks-preview/azcli_aks_live_test/prepare_image.sh new file mode 100755 index 00000000000..32793cd90ee --- /dev/null +++ b/src/aks-preview/azcli_aks_live_test/prepare_image.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +set -eux +pwd + +# prepare docker image +echo "Pulling test image from '$IMAGE_PREFIX/$IMAGE_NAME:$IMAGE_TAG'..." +docker pull $IMAGE_PREFIX/$IMAGE_NAME:$IMAGE_TAG +docker tag $IMAGE_PREFIX/$IMAGE_NAME:$IMAGE_TAG $IMAGE_NAME:$IMAGE_TAG diff --git a/src/aks-preview/azcli_aks_live_test/setup_venv.sh b/src/aks-preview/azcli_aks_live_test/setup_venv.sh new file mode 100755 index 00000000000..642d9a7c436 --- /dev/null +++ b/src/aks-preview/azcli_aks_live_test/setup_venv.sh @@ -0,0 +1,38 @@ +#!/usr/bin/env bash + +set -eux +pwd +ls -alh + +# delete existing venv +rm -rf azEnv || true + +# install python packages +python$PYTHON_VERSION -m venv azEnv +source azEnv/bin/activate +python -m pip install -U pip +# fixed azdev version to avoid call failure in az_aks_tool +pip install azdev==0.1.32 +# install pytest plugins +pip install pytest-json-report pytest-rerunfailures --upgrade +# pip install pytest-html --upgrade +# module for measuring code coverage +pip install coverage + +# pre-install: check existing az +which az || az version || az extension list || true + +# install az from cloned repos with azdev +azdev setup -c azure-cli/ -r azure-cli-extensions/ +deactivate +source azEnv/bin/activate + +# post-install: check installation result +which az +az version + +# mkdir to store reports +mkdir -p reports/ + +# export PYTHONPATH +export PYTHONPATH=$(pwd) diff --git a/src/aks-preview/azcli_aks_live_test/start_container.sh b/src/aks-preview/azcli_aks_live_test/start_container.sh new file mode 100755 index 00000000000..dee2c5278b3 --- /dev/null +++ b/src/aks-preview/azcli_aks_live_test/start_container.sh @@ -0,0 +1,24 @@ +#!/usr/bin/env bash + +set -eux +pwd + +# transcribe environment variables into file 'env.list' +source ./transcribe_env.sh + +# take the first arg as container name +container_name=${1:-"azcli-aks-live-test-container"} + +# start container in backgroud with tty +# mount current directory ($(Agent.BuildDirectory)/s) to /opt in container +# set working directory as /opt in container +# pass secrects as environment variables directly (instead of storing in env.list) +# pass other environment variables with env.list +docker run -t -d -v $PWD:/opt -w /opt \ +-e AZCLI_ALT_CLIENT_SECRET=$MAPPED_AZCLI_ALT_CLIENT_SECRET \ +-e AZURE_CLI_TEST_DEV_SP_PASSWORD=$MAPPED_AZCLI_ALT_CLIENT_SECRET \ +--env-file ./env.list \ +--name $container_name $IMAGE_NAME:$IMAGE_TAG + +# remove env.list +rm ./env.list diff --git a/src/aks-preview/azcli_aks_live_test/test_cli_live.sh b/src/aks-preview/azcli_aks_live_test/test_cli_live.sh new file mode 100755 index 00000000000..56e7a7c085b --- /dev/null +++ b/src/aks-preview/azcli_aks_live_test/test_cli_live.sh @@ -0,0 +1,30 @@ +#!/usr/bin/env bash + +set -eux +pwd + +# activate virtualenv +source azEnv/bin/activate + +# remove extension +echo "Remove existing aks-preview extension (if any)" +if az extension remove --name aks-preview || azdev extension remove aks-preview; then + deactivate + source azEnv/bin/activate +fi + +# test cli +if [[ $TEST_MODE == "record" || $TEST_MODE == "all" ]]; then + echo "Test in record mode!" + azdev test acs --no-exitfirst --xml-path cli_result.xml --discover -a "-n $PARALLELISM --json-report --json-report-file=cli_report.json --reruns 3 --capture=sys" + cp *cli_report.json *cli_result.xml reports/ +fi + +if [[ $TEST_MODE == "live" || $TEST_MODE == "all" ]]; then + echo "Test in live mode!" + az login --service-principal -u $AZCLI_ALT_CLIENT_ID -p $AZCLI_ALT_CLIENT_SECRET -t $TENANT_ID + az account set -s $AZCLI_ALT_SUBSCRIPTION_ID + az account show + azdev test acs --live --no-exitfirst --xml-path cli_live_result.xml --discover -a "-n $PARALLELISM --json-report --json-report-file=cli_live_report.json --reruns 3 --capture=sys" + cp *cli_live_report.json *cli_live_result.xml reports/ +fi diff --git a/src/aks-preview/azcli_aks_live_test/test_cli_unit.sh b/src/aks-preview/azcli_aks_live_test/test_cli_unit.sh new file mode 100755 index 00000000000..8ef79d3e09c --- /dev/null +++ b/src/aks-preview/azcli_aks_live_test/test_cli_unit.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env bash + +set -eux +pwd + +# activate virtualenv +source azEnv/bin/activate + +# remove extension +echo "Remove existing aks-preview extension (if any)" +if az extension remove --name aks-preview || azdev extension remove aks-preview; then + deactivate + source azEnv/bin/activate +fi + +echo "Implementing, pass for now!" diff --git a/src/aks-preview/azcli_aks_live_test/test_ext_live.sh b/src/aks-preview/azcli_aks_live_test/test_ext_live.sh new file mode 100755 index 00000000000..97fbbfcf254 --- /dev/null +++ b/src/aks-preview/azcli_aks_live_test/test_ext_live.sh @@ -0,0 +1,80 @@ +#!/usr/bin/env bash + +set -eux +pwd + +# activate virtualenv +source azEnv/bin/activate + +# remove extension +echo "Remove existing aks-preview extension (if any)" +if az extension remove --name aks-preview || azdev extension remove aks-preview; then + deactivate + source azEnv/bin/activate +fi + +# install latest extension +echo "Install the latest aks-preview extension and re-activate the virtualenv" +azdev extension add aks-preview +az extension list +azdev extension list | grep "aks-preview" -C 5 +deactivate +source azEnv/bin/activate + +# Ensure that the command index is updated by calling a specific command in aks-preview, so that all the commands defined in aks-preview are loaded correctly +# Otherwise, cold boot execution of azdev test may use the api version adopted by the acs command group in azure-cli (which may diverge from the api version used in current aks-preview) +retry_count=0 +while ! az aks maintenanceconfiguration show --help && [[ $retry_count < 3 ]] +do + retry_count=`expr $retry_count + 1` + echo $retry_count"th retry to install aks-preview..." + azdev extension add aks-preview --debug + az extension list --debug + azdev extension list --debug | grep "aks-preview" -C 5 + deactivate + source azEnv/bin/activate +done + +# prepare run flags +run_flags="-e -em ext_matrix_default.json --no-exitfirst --report-path ./ --reruns 3 --capture=sys" +# parallel +if [ $PARALLELISM -ge 2 ]; then + run_flags+=" -j $PARALLELISM" +else + run_flags+=" -s" +fi +# test cases +if [[ -n $TEST_CASES ]]; then + run_flags+=" -t $TEST_CASES" +fi +# ext extra filter +if [[ -n $EXT_TEST_FILTER ]]; then + run_flags+=" -ef $EXT_TEST_FILTER" +fi +# ext extra coverage +if [[ -n $EXT_TEST_COVERAGE ]]; then + run_flags+=" -ec $EXT_TEST_COVERAGE" +fi + +# recording test +if [[ $TEST_MODE == "record" || $TEST_MODE == "all" ]]; then + echo "Test in record mode!" + run_flags+=" --json-report-file=ext_report.json" + run_flags+=" --xml-file=ext_result.xml" + echo "run flags: ${run_flags}" + echo ${run_flags} | xargs python -u az_aks_tool/main.py + cp *ext_report.json *ext_result.xml reports/ +fi + +# live test +if [[ $TEST_MODE == "live" || $TEST_MODE == "all" ]]; then + echo "Test in live mode!" + az login --service-principal -u $AZCLI_ALT_CLIENT_ID -p $AZCLI_ALT_CLIENT_SECRET -t $TENANT_ID + az account set -s $AZCLI_ALT_SUBSCRIPTION_ID + az account show + run_flags+=" -l --json-report-file=ext_live_report.json" + run_flags+=" --xml-file=ext_live_result.xml" + echo "run flags: ${run_flags}" + echo ${run_flags} | xargs python -u az_aks_tool/main.py + cp *ext_live_report.json *ext_live_result.xml reports/ +fi diff --git a/src/aks-preview/azcli_aks_live_test/test_ext_unit.sh b/src/aks-preview/azcli_aks_live_test/test_ext_unit.sh new file mode 100755 index 00000000000..a83fa7568ea --- /dev/null +++ b/src/aks-preview/azcli_aks_live_test/test_ext_unit.sh @@ -0,0 +1,71 @@ +#!/usr/bin/env bash + +set -eux +pwd + +# activate virtualenv +source azEnv/bin/activate + +# remove extension +echo "Remove existing aks-preview extension (if any)" +if az extension remove --name aks-preview || azdev extension remove aks-preview; then + deactivate + source azEnv/bin/activate +fi + +# install latest extension +echo "Install the latest aks-preview extension and re-activate the virtualenv" +azdev extension add aks-preview +az extension list +azdev extension list | grep "aks-preview" -C 5 +deactivate +source azEnv/bin/activate + +# Ensure that the command index is updated by calling a specific command in aks-preview, so that all the commands defined in aks-preview are loaded correctly +# Otherwise, cold boot execution of azdev test may use the api version adopted by the acs command group in azure-cli (which may diverge from the api version used in current aks-preview) +retry_count=0 +while ! az aks command invoke --help && [[ $retry_count < 3 ]] +do + retry_count=`expr $retry_count + 1` + echo $retry_count"th retry to install aks-preview..." + azdev extension add aks-preview --debug + az extension list --debug + azdev extension list --debug | grep "aks-preview" -C 5 + deactivate + source azEnv/bin/activate +done + +# unit test & coverage report +# az_aks_tool +az_aks_tool_unit_test_result="" +pushd azure-cli-extensions/src/aks-preview/az_aks_tool/ +# clean existing coverage report +(coverage combine || true) && (coverage erase || true) +if ! coverage run --source=. --omit=*/tests/* -p -m unittest discover; then + az_aks_tool_unit_test_result="error" +fi +# currently no test written in pytest format under 'az_aks_tool/' +# coverage run --source=. --omit=*/tests/* -p -m pytest +coverage combine && coverage json -o coverage_az_aks_tool.json +coverage report -m +popd +cp azure-cli-extensions/src/aks-preview/az_aks_tool/coverage_az_aks_tool.json reports/ + +# azext_aks_preview +azext_aks_preview_unit_test_result="" +pushd azure-cli-extensions/src/aks-preview/azext_aks_preview +# clean existing coverage report +(coverage combine || true) && (coverage erase || true) +# currently test using module 'unittest' is the same as module 'pytest', and test using 'pytest' is just recording test +if ! coverage run --source=. --omit=*/vendored_sdks/*,*/tests/* -p -m unittest discover || ! coverage run --source=. --omit=*/vendored_sdks/*,*/tests/* -p -m pytest; then + azext_aks_preview_unit_test_result="error" +fi +coverage combine && coverage json -o coverage_azext_aks_preview.json +coverage report -m +popd +cp azure-cli-extensions/src/aks-preview/azext_aks_preview/coverage_azext_aks_preview.json reports/ + +if [[ $az_aks_tool_unit_test_result == "error" || $azext_aks_preview_unit_test_result == "error" ]]; then + echo "Unit test failed!" + exit 1 +fi diff --git a/src/aks-preview/azcli_aks_live_test/transcribe_env.sh b/src/aks-preview/azcli_aks_live_test/transcribe_env.sh new file mode 100755 index 00000000000..228698838ee --- /dev/null +++ b/src/aks-preview/azcli_aks_live_test/transcribe_env.sh @@ -0,0 +1,40 @@ +#!/usr/bin/env bash + +# clear +cat /dev/null > env.list + +# tenant, sub, client +echo "TENANT_ID=$TENANT_ID" >> env.list +echo "AZCLI_ALT_SUBSCRIPTION_ID=$AZCLI_ALT_SUBSCRIPTION_ID" >> env.list +echo "AZCLI_ALT_CLIENT_ID=$AZCLI_ALT_CLIENT_ID" >> env.list + +# azdev env +echo "AZURE_CLI_TEST_DEV_SP_NAME=$AZCLI_ALT_CLIENT_ID" >> env.list +echo "AZURE_CLI_TEST_DEV_RESOURCE_GROUP_LOCATION=$TEST_LOCATION" >> env.list + +# predefined variables +echo "BUILD_REASON=$BUILD_REASON" >> env.list +echo "SYSTEM_PULLREQUEST_TARGETBRANCH=$SYSTEM_PULLREQUEST_TARGETBRANCH" >> env.list + +# test +echo "COVERAGE=$COVERAGE" >> env.list +echo "TEST_MODE=$TEST_MODE" >> env.list +echo "PARALLELISM=$PARALLELISM" >> env.list +echo "TEST_CASES=$TEST_CASES" >> env.list +echo "EXT_TEST_FILTER=$EXT_TEST_FILTER" >> env.list +echo "EXT_TEST_COVERAGE=$EXT_TEST_COVERAGE" >> env.list + +# repo +echo "CLI_REPO=$CLI_REPO" >> env.list +echo "CLI_BRANCH=$CLI_BRANCH" >> env.list +echo "MANUAL_EXT=$MANUAL_EXT" >> env.list +echo "EXT_REPO=$EXT_REPO" >> env.list +echo "EXT_BRANCH=$EXT_BRANCH" >> env.list + +# image +echo "IMAGE_PREFIX=$IMAGE_PREFIX" >> env.list +echo "IMAGE_NAME=$IMAGE_NAME" >> env.list +echo "IMAGE_TAG=$IMAGE_TAG" >> env.list + +# misc +echo "PYTHON_VERSION=$PYTHON_VERSION" >> env.list diff --git a/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-live-test.yaml b/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-live-test.yaml new file mode 100644 index 00000000000..22b34e0fe63 --- /dev/null +++ b/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-live-test.yaml @@ -0,0 +1,56 @@ +name: $(Date:yyyyMMdd)$(Rev:.r)_Python$(PYTHON_VERSION)_Coverage-$(COVERAGE)_Mode-$(TEST_MODE)_Branch-$(Build.SourceBranchName) + +trigger: none + +jobs: +- job: LiveTest + pool: + vmImage: 'ubuntu-16.04' + timeoutInMinutes: 360 + displayName: "Live Test with Python" + steps: + - bash: | + pwd + ls -alh + mkdir azure-cli-extensions + shopt -s extglob dotglob + mv !(azure-cli-extensions) azure-cli-extensions + shopt -u extglob dotglob + ls -alh + displayName: "Move All Checkout Files to the Newly Created 'azure-cli-extensions' Directory" + - bash: | + source ./azure-cli-extensions/src/aks-preview/azcli_aks_live_test/clone_repo.sh + condition: succeeded() + displayName: "Clone GitHub Repo and Move Live Test Related Files" + - bash: | + source ./prepare_image.sh + condition: succeeded() + displayName: "Prepare Live Test Image" + - bash: | + source ./start_container.sh + env: + MAPPED_AZCLI_ALT_CLIENT_SECRET: $(AZCLI_ALT_CLIENT_SECRET) + BUILD_REASON: $(Build.Reason) + SYSTEM_PULLREQUEST_TARGETBRANCH: $(System.PullRequest.TargetBranch) + condition: succeeded() + displayName: "Start Container" + - bash: | + docker exec "azcli-aks-live-test-container" /opt/setup_venv.sh + condition: succeeded() + displayName: "Set up Virtual Environment" + - bash: | + docker exec "azcli-aks-live-test-container" /opt/test_cli_live.sh + condition: and(succeeded(), in(variables['COVERAGE'], 'cli', 'all')) + displayName: Perform Live Test for CLI + - bash: | + docker exec "azcli-aks-live-test-container" /opt/test_ext_live.sh + condition: and(succeededOrFailed(), in(variables['COVERAGE'], 'ext', 'all')) + displayName: Perform Live Test for EXT + - task: CopyFiles@2 + inputs: + contents: 'reports/**' + targetFolder: $(Build.ArtifactStagingDirectory) + - task: PublishBuildArtifacts@1 + inputs: + pathToPublish: $(Build.ArtifactStagingDirectory) + artifactName: 'live test reports' diff --git a/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-unit-test.yaml b/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-unit-test.yaml new file mode 100644 index 00000000000..ce792eea0dd --- /dev/null +++ b/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-unit-test.yaml @@ -0,0 +1,56 @@ +name: $(Date:yyyyMMdd)$(Rev:.r)_Python$(PYTHON_VERSION)_Coverage-$(COVERAGE)_Mode-$(TEST_MODE)_Branch-$(Build.SourceBranchName) + +trigger: none + +jobs: +- job: UnitTest + pool: + vmImage: 'ubuntu-16.04' + timeoutInMinutes: 360 + displayName: "Unit Test with Python" + steps: + - bash: | + pwd + ls -alh + mkdir azure-cli-extensions + shopt -s extglob dotglob + mv !(azure-cli-extensions) azure-cli-extensions + shopt -u extglob dotglob + ls -alh + displayName: "Move All Checkout Files to the Newly Created 'azure-cli-extensions' Directory" + - bash: | + source ./azure-cli-extensions/src/aks-preview/azcli_aks_live_test/clone_repo.sh + condition: succeeded() + displayName: "Clone GitHub Repo and Move Test Related Files" + - bash: | + source ./prepare_image.sh + condition: succeeded() + displayName: "Prepare Test Image" + - bash: | + source ./start_container.sh "azcli-aks-unit-test-container" + env: + MAPPED_AZCLI_ALT_CLIENT_SECRET: $(AZCLI_ALT_CLIENT_SECRET) + BUILD_REASON: $(Build.Reason) + SYSTEM_PULLREQUEST_TARGETBRANCH: $(System.PullRequest.TargetBranch) + condition: succeeded() + displayName: "Start Container" + - bash: | + docker exec "azcli-aks-unit-test-container" /opt/setup_venv.sh + condition: succeeded() + displayName: "Set up Virtual Environment" + - bash: | + docker exec "azcli-aks-unit-test-container" /opt/test_cli_unit.sh + condition: and(succeeded(), in(variables['COVERAGE'], 'cli', 'all')) + displayName: Perform Unit Test for CLI + - bash: | + docker exec "azcli-aks-unit-test-container" /opt/test_ext_unit.sh + condition: and(succeededOrFailed(), in(variables['COVERAGE'], 'ext', 'all')) + displayName: Perform Unit Test for EXT + - task: CopyFiles@2 + inputs: + contents: 'reports/**' + targetFolder: $(Build.ArtifactStagingDirectory) + - task: PublishBuildArtifacts@1 + inputs: + pathToPublish: $(Build.ArtifactStagingDirectory) + artifactName: 'unit test reports' diff --git a/src/aks-preview/azext_aks_preview/tests/latest/custom_preparers.py b/src/aks-preview/azext_aks_preview/tests/latest/custom_preparers.py new file mode 100644 index 00000000000..f0d066b7e9b --- /dev/null +++ b/src/aks-preview/azext_aks_preview/tests/latest/custom_preparers.py @@ -0,0 +1,62 @@ +# -------------------------------------------------------------------------------------------- +# 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 datetime import datetime + +from azure.cli.testsdk import CliTestError +from azure.cli.testsdk.preparers import NoTrafficRecordingPreparer +from azure_devtools.scenario_tests import SingleValueReplacer +from azure.cli.testsdk.reverse_dependency import get_dummy_cli + + +class AKSCustomResourceGroupPreparer(NoTrafficRecordingPreparer, SingleValueReplacer): + def __init__(self, name_prefix='clitest.rg', + parameter_name='resource_group', + parameter_name_for_location='resource_group_location', location='westus', + dev_setting_name='AZURE_CLI_TEST_DEV_RESOURCE_GROUP_NAME', + dev_setting_location='AZURE_CLI_TEST_DEV_RESOURCE_GROUP_LOCATION', + random_name_length=75, key='rg'): + if ' ' in name_prefix: + raise CliTestError( + 'Error: Space character in resource group name prefix \'%s\'' % name_prefix) + super(AKSCustomResourceGroupPreparer, self).__init__( + name_prefix, random_name_length) + self.cli_ctx = get_dummy_cli() + self.location = location + self.parameter_name = parameter_name + self.parameter_name_for_location = parameter_name_for_location + self.key = key + + self.dev_setting_name = os.environ.get(dev_setting_name, None) + # use environment variable to modify the default value of location + self.dev_setting_location = os.environ.get(dev_setting_location, None) + if self.dev_setting_location is not None and self.dev_setting_location != "": + self.location = self.dev_setting_location + + def create_resource(self, name, **kwargs): + if self.dev_setting_name: + self.test_class_instance.kwargs[self.key] = self.dev_setting_name + return {self.parameter_name: self.dev_setting_name, + self.parameter_name_for_location: self.dev_setting_location} + + tags = {'product': 'azurecli', 'cause': 'automation', + 'date': datetime.utcnow().strftime('%Y-%m-%dT%H:%M:%SZ')} + if 'ENV_JOB_NAME' in os.environ: + tags['job'] = os.environ['ENV_JOB_NAME'] + tags = ' '.join(['{}={}'.format(key, value) + for key, value in tags.items()]) + template = 'az group create --location {} --name {} --tag ' + tags + self.live_only_execute( + self.cli_ctx, template.format(self.location, name)) + + self.test_class_instance.kwargs[self.key] = name + return {self.parameter_name: name, self.parameter_name_for_location: self.location} + + def remove_resource(self, name, **kwargs): + # delete group if test is being recorded and if the group is not a dev rg + if not self.dev_setting_name: + self.live_only_execute( + self.cli_ctx, 'az group delete --name {} --yes --no-wait'.format(name)) diff --git a/src/aks-preview/azext_aks_preview/tests/latest/test_aks_commands.py b/src/aks-preview/azext_aks_preview/tests/latest/test_aks_commands.py index fba2c0da28b..a1eceef5f18 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/test_aks_commands.py +++ b/src/aks-preview/azext_aks_preview/tests/latest/test_aks_commands.py @@ -5,12 +5,14 @@ import unittest import os -from .recording_processors import KeyReplacer from azure.cli.testsdk import ( ResourceGroupPreparer, RoleBasedServicePrincipalPreparer, ScenarioTest, live_only) from azure_devtools.scenario_tests import AllowLargeResponse +from .recording_processors import KeyReplacer +from .custom_preparers import AKSCustomResourceGroupPreparer + def _get_test_data_file(filename): curr_dir = os.path.dirname(os.path.realpath(__file__)) @@ -45,7 +47,7 @@ def test_get_os_options(self): # without live only fails with needs .ssh fails (maybe generate-ssh-keys would fix) and maybe az login. @live_only() @AllowLargeResponse() - @ResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_create_and_update_with_managed_aad(self, resource_group, resource_group_location): aks_name = self.create_random_name('cliakstest', 16) self.kwargs.update({ @@ -78,7 +80,7 @@ def test_aks_create_and_update_with_managed_aad(self, resource_group, resource_g # without live only fails with needs .ssh fails (maybe generate-ssh-keys would fix) and maybe az login. @live_only() @AllowLargeResponse() - @ResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='canadacentral') + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='canadacentral') def test_aks_create_aadv1_and_update_with_managed_aad(self, resource_group, resource_group_location): aks_name = self.create_random_name('cliakstest', 16) self.kwargs.update({ @@ -120,7 +122,7 @@ def test_aks_create_aadv1_and_update_with_managed_aad(self, resource_group, reso # without live only fails with needs .ssh fails (maybe generate-ssh-keys would fix) and maybe az login. @live_only() @AllowLargeResponse() - @ResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='canadacentral') + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='canadacentral') def test_aks_create_nonaad_and_update_with_managed_aad(self, resource_group, resource_group_location): aks_name = self.create_random_name('cliakstest', 16) self.kwargs.update({ @@ -152,7 +154,7 @@ def test_aks_create_nonaad_and_update_with_managed_aad(self, resource_group, res # without live only fails with needs .ssh fails (maybe generate-ssh-keys would fix) and maybe az login. @live_only() @AllowLargeResponse() - @ResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_create_and_update_with_managed_aad_enable_azure_rbac(self, resource_group, resource_group_location): aks_name = self.create_random_name('cliakstest', 16) self.kwargs.update({ @@ -185,7 +187,7 @@ def test_aks_create_and_update_with_managed_aad_enable_azure_rbac(self, resource ]) @AllowLargeResponse() - @ResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_create_with_ingress_appgw_addon(self, resource_group, resource_group_location): aks_name = self.create_random_name('cliakstest', 16) self.kwargs.update({ @@ -203,7 +205,7 @@ def test_aks_create_with_ingress_appgw_addon(self, resource_group, resource_grou ]) @AllowLargeResponse() - @ResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_create_with_ingress_appgw_addon_with_deprecated_subet_prefix(self, resource_group, resource_group_location): aks_name = self.create_random_name('cliakstest', 16) self.kwargs.update({ @@ -222,7 +224,7 @@ def test_aks_create_with_ingress_appgw_addon_with_deprecated_subet_prefix(self, @live_only() @AllowLargeResponse() - @ResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_byo_subnet_with_ingress_appgw_addon(self, resource_group, resource_group_location): aks_name = self.create_random_name('cliakstest', 16) vnet_name = self.create_random_name('cliakstest', 16) @@ -274,7 +276,7 @@ def test_aks_byo_subnet_with_ingress_appgw_addon(self, resource_group, resource_ @live_only() @AllowLargeResponse() - @ResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_byo_appgw_with_ingress_appgw_addon(self, resource_group, resource_group_location): aks_name = self.create_random_name('cliakstest', 16) vnet_name = self.create_random_name('cliakstest', 16) @@ -345,7 +347,7 @@ def test_aks_byo_appgw_with_ingress_appgw_addon(self, resource_group, resource_g }) @AllowLargeResponse() - @ResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_create_with_openservicemesh_addon(self, resource_group, resource_group_location): aks_name = self.create_random_name('cliakstest', 16) self.kwargs.update({ @@ -361,7 +363,7 @@ def test_aks_create_with_openservicemesh_addon(self, resource_group, resource_gr ]) @AllowLargeResponse() - @ResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_enable_addon_with_openservicemesh(self, resource_group, resource_group_location): aks_name = self.create_random_name('cliakstest', 16) self.kwargs.update({ @@ -382,7 +384,7 @@ def test_aks_enable_addon_with_openservicemesh(self, resource_group, resource_gr ]) @AllowLargeResponse() - @ResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_disable_addon_openservicemesh(self, resource_group, resource_group_location): aks_name = self.create_random_name('cliakstest', 16) self.kwargs.update({ @@ -405,7 +407,7 @@ def test_aks_disable_addon_openservicemesh(self, resource_group, resource_group_ ]) @AllowLargeResponse() - @ResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_create_with_azurekeyvaultsecretsprovider_addon(self, resource_group, resource_group_location): aks_name = self.create_random_name('cliakstest', 16) self.kwargs.update({ @@ -430,7 +432,7 @@ def test_aks_create_with_azurekeyvaultsecretsprovider_addon(self, resource_group ]) @AllowLargeResponse() - @ResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_create_addon_with_azurekeyvaultsecretsprovider_with_secret_rotation(self, resource_group, resource_group_location): aks_name = self.create_random_name('cliakstest', 16) self.kwargs.update({ @@ -455,7 +457,7 @@ def test_aks_create_addon_with_azurekeyvaultsecretsprovider_with_secret_rotation ]) @AllowLargeResponse() - @ResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_enable_addon_with_azurekeyvaultsecretsprovider(self, resource_group, resource_group_location): aks_name = self.create_random_name('cliakstest', 16) self.kwargs.update({ @@ -503,7 +505,7 @@ def test_aks_enable_addon_with_azurekeyvaultsecretsprovider(self, resource_group ]) @AllowLargeResponse() - @ResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_update_azurekeyvaultsecretsprovider_with_secret_rotation(self, resource_group, resource_group_location): aks_name = self.create_random_name('cliakstest', 16) self.kwargs.update({ @@ -546,7 +548,7 @@ def test_aks_update_azurekeyvaultsecretsprovider_with_secret_rotation(self, reso ]) @AllowLargeResponse() - @ResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_create_with_confcom_addon(self, resource_group, resource_group_location): aks_name = self.create_random_name('cliakstest', 16) self.kwargs.update({ @@ -564,7 +566,7 @@ def test_aks_create_with_confcom_addon(self, resource_group, resource_group_loca ]) @AllowLargeResponse() - @ResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_create_with_confcom_addon_helper_enabled(self, resource_group, resource_group_location): aks_name = self.create_random_name('cliakstest', 16) self.kwargs.update({ @@ -582,7 +584,7 @@ def test_aks_create_with_confcom_addon_helper_enabled(self, resource_group, reso ]) @AllowLargeResponse() - @ResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_enable_addons_confcom_addon(self, resource_group, resource_group_location): aks_name = self.create_random_name('cliakstest', 16) self.kwargs.update({ @@ -606,7 +608,7 @@ def test_aks_enable_addons_confcom_addon(self, resource_group, resource_group_lo ]) @AllowLargeResponse() - @ResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_disable_addons_confcom_addon(self, resource_group, resource_group_location): aks_name = self.create_random_name('cliakstest', 16) self.kwargs.update({ @@ -632,7 +634,7 @@ def test_aks_disable_addons_confcom_addon(self, resource_group, resource_group_l @live_only() @AllowLargeResponse() - @ResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_create_with_virtual_node_addon(self, resource_group, resource_group_location): aks_name = self.create_random_name('cliakstest', 16) vnet_name = self.create_random_name('cliakstest', 16) @@ -686,7 +688,7 @@ def test_aks_create_with_virtual_node_addon(self, resource_group, resource_group @live_only() @AllowLargeResponse() - @ResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_stop_and_start(self, resource_group, resource_group_location): aks_name = self.create_random_name('cliakstest', 16) self.kwargs.update({ @@ -706,7 +708,7 @@ def test_aks_stop_and_start(self, resource_group, resource_group_location): self.cmd(start_cmd) @AllowLargeResponse() - @ResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_create_with_managed_disk(self, resource_group, resource_group_location): aks_name = self.create_random_name('cliakstest', 16) self.kwargs.update({ @@ -723,7 +725,7 @@ def test_aks_create_with_managed_disk(self, resource_group, resource_group_locat ]) @AllowLargeResponse() - @ResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_create_with_ephemeral_disk(self, resource_group, resource_group_location): aks_name = self.create_random_name('cliakstest', 16) self.kwargs.update({ @@ -741,7 +743,7 @@ def test_aks_create_with_ephemeral_disk(self, resource_group, resource_group_loc ]) @AllowLargeResponse() - @ResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_nodepool_get_upgrades(self, resource_group, resource_group_location): aks_name = self.create_random_name('cliakstest', 16) node_pool_name = self.create_random_name('c', 6) @@ -776,7 +778,7 @@ def test_aks_nodepool_get_upgrades(self, resource_group, resource_group_location 'aks delete -g {resource_group} -n {name} --yes --no-wait', checks=[self.is_empty()]) @AllowLargeResponse() - @ResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_upgrade_node_image_only_cluster(self, resource_group, resource_group_location): # kwargs for string formatting aks_name = self.create_random_name('cliakstest', 16) @@ -807,7 +809,7 @@ def test_aks_upgrade_node_image_only_cluster(self, resource_group, resource_grou ]) @AllowLargeResponse() - @ResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_upgrade_node_image_only_nodepool(self, resource_group, resource_group_location): # kwargs for string formatting aks_name = self.create_random_name('cliakstest', 16) @@ -844,7 +846,7 @@ def test_aks_upgrade_node_image_only_nodepool(self, resource_group, resource_gro ]) @AllowLargeResponse() - @ResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_create_with_windows(self, resource_group, resource_group_location): # reset the count so in replay mode the random names will start with 0 self.test_resources_count = 0 @@ -893,7 +895,7 @@ def test_aks_create_with_windows(self, resource_group, resource_group_location): 'aks delete -g {resource_group} -n {name} --yes --no-wait', checks=[self.is_empty()]) @AllowLargeResponse() - @ResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='eastus2euap') + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='eastus2euap') def test_aks_create_with_fips(self, resource_group, resource_group_location): # reset the count so in replay mode the random names will start with 0 self.test_resources_count = 0 @@ -927,7 +929,7 @@ def test_aks_create_with_fips(self, resource_group, resource_group_location): 'aks delete -g {resource_group} -n {name} --yes --no-wait', checks=[self.is_empty()]) @AllowLargeResponse() - @ResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_create_with_ahub(self, resource_group, resource_group_location): # reset the count so in replay mode the random names will start with 0 self.test_resources_count = 0 @@ -978,7 +980,7 @@ def test_aks_create_with_ahub(self, resource_group, resource_group_location): @live_only() @AllowLargeResponse() - @ResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westeurope') + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westeurope') def test_aks_update_to_msi_cluster(self, resource_group, resource_group_location): aks_name = self.create_random_name('cliakstest', 16) self.kwargs.update({ @@ -1003,7 +1005,7 @@ def test_aks_update_to_msi_cluster(self, resource_group, resource_group_location @live_only() # without live only fails with need az login @AllowLargeResponse() - @ResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='eastus') + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='eastus') def test_aks_create_with_gitops_addon(self, resource_group, resource_group_location): aks_name = self.create_random_name('cliakstest', 16) self.kwargs.update({ @@ -1019,7 +1021,7 @@ def test_aks_create_with_gitops_addon(self, resource_group, resource_group_locat @live_only() # without live only fails with need az login @AllowLargeResponse() - @ResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='eastus') + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='eastus') def test_aks_enable_addon_with_gitops(self, resource_group, resource_group_location): aks_name = self.create_random_name('cliakstest', 16) self.kwargs.update({ @@ -1041,7 +1043,7 @@ def test_aks_enable_addon_with_gitops(self, resource_group, resource_group_locat @live_only() # without live only fails with need az login @AllowLargeResponse() - @ResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='eastus') + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='eastus') def test_aks_disable_addon_gitops(self, resource_group, resource_group_location): aks_name = self.create_random_name('cliakstest', 16) self.kwargs.update({ @@ -1064,7 +1066,7 @@ def test_aks_disable_addon_gitops(self, resource_group, resource_group_location) @live_only() @AllowLargeResponse() - @ResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westeurope') + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westeurope') def test_aks_update_to_msi_cluster_with_addons(self, resource_group, resource_group_location): aks_name = self.create_random_name('cliakstest', 16) self.kwargs.update({ @@ -1088,7 +1090,7 @@ def test_aks_update_to_msi_cluster_with_addons(self, resource_group, resource_gr 'aks delete -g {resource_group} -n {name} --yes --no-wait', checks=[self.is_empty()]) @AllowLargeResponse() - @ResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_create_with_auto_upgrade_channel(self, resource_group, resource_group_location): aks_name = self.create_random_name('cliakstest', 16) self.kwargs.update({ @@ -1117,7 +1119,7 @@ def test_aks_create_with_auto_upgrade_channel(self, resource_group, resource_gro 'aks delete -g {resource_group} -n {name} --yes --no-wait', checks=[self.is_empty()]) @AllowLargeResponse() - @ResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_create_with_node_config(self, resource_group, resource_group_location): aks_name = self.create_random_name('cliakstest', 16) self.kwargs.update({ @@ -1150,7 +1152,7 @@ def test_aks_create_with_node_config(self, resource_group, resource_group_locati ]) @AllowLargeResponse() - @ResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_create_none_private_dns_zone(self, resource_group, resource_group_location): # reset the count so in replay mode the random names will start with 0 self.test_resources_count = 0 @@ -1178,7 +1180,7 @@ def test_aks_create_none_private_dns_zone(self, resource_group, resource_group_l @live_only() @AllowLargeResponse() - @ResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_create_fqdn_subdomain(self, resource_group, resource_group_location): # reset the count so in replay mode the random names will start with 0 self.test_resources_count = 0 @@ -1241,7 +1243,7 @@ def test_aks_create_fqdn_subdomain(self, resource_group, resource_group_location 'aks delete -g {resource_group} -n {name} --yes --no-wait', checks=[self.is_empty()]) @AllowLargeResponse() - @ResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_create_with_pod_identity_enabled(self, resource_group, resource_group_location): aks_name = self.create_random_name('cliakstest', 16) self.kwargs.update({ @@ -1322,7 +1324,7 @@ def test_aks_create_with_pod_identity_enabled(self, resource_group, resource_gro ]) @AllowLargeResponse() - @ResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_create_using_azurecni_with_pod_identity_enabled(self, resource_group, resource_group_location): aks_name = self.create_random_name('cliakstest', 16) self.kwargs.update({ @@ -1404,7 +1406,7 @@ def test_aks_create_using_azurecni_with_pod_identity_enabled(self, resource_grou # for this case we cannot use recording to capture the fixture, therefore we need to mark it as live_only @live_only() @AllowLargeResponse() - @ResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_pod_identity_usage(self, resource_group, resource_group_location): aks_name = self.create_random_name('cliakstest', 16) identity_name = self.create_random_name('id', 6) @@ -1494,7 +1496,7 @@ def test_aks_pod_identity_usage(self, resource_group, resource_group_location): ]) @AllowLargeResponse() - @ResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_update_with_windows_password(self, resource_group, resource_group_location): # reset the count so in replay mode the random names will start with 0 self.test_resources_count = 0 @@ -1540,7 +1542,7 @@ def test_aks_update_with_windows_password(self, resource_group, resource_group_l @live_only() @AllowLargeResponse() - @ResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_custom_kubelet_identity(self, resource_group, resource_group_location): aks_name = self.create_random_name('cliakstest', 16) control_plane_identity_name = self.create_random_name('cliakstest', 16) From c0a8a773ef5da0967ec4d57a9cfd85c054d49fd8 Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Mon, 17 May 2021 17:48:52 +0800 Subject: [PATCH 10/83] [Release] Update index.json for extension [ maintenance ] (#3387) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=897626 Last commit: https://github.com/Azure/azure-cli-extensions/commit/7d6f388644a745b11b92c06378d97919aaca40ae --- src/index.json | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/src/index.json b/src/index.json index 7fcf51ccb85..7576c9cd592 100644 --- a/src/index.json +++ b/src/index.json @@ -12295,6 +12295,48 @@ "version": "1.1.0" }, "sha256Digest": "351c717a37e6fb9b29d22cdca3b0744a452a1116e83f9e57e794464311708c97" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/maintenance-1.2.0-py3-none-any.whl", + "filename": "maintenance-1.2.0-py3-none-any.whl", + "metadata": { + "azext.minCliCoreVersion": "2.15.0", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/maintenance" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "maintenance", + "summary": "Microsoft Azure Command-Line Tools MaintenanceClient Extension", + "version": "1.2.0" + }, + "sha256Digest": "a0108efeddb6228788b878801f3c08c2b68d2df4ff8cc9d5043f1a0a9c2923b1" } ], "managementpartner": [ From b7f127c34fe55b60826caafb8935bbe8e282ca4f Mon Sep 17 00:00:00 2001 From: msyyc <70930885+msyyc@users.noreply.github.com> Date: Tue, 18 May 2021 10:12:14 +0800 Subject: [PATCH 11/83] Update requirements.txt (#3377) --- scripts/ci/avail-ext-doc/requirements.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/ci/avail-ext-doc/requirements.txt b/scripts/ci/avail-ext-doc/requirements.txt index 8a510d22b65..6ee20c6dbef 100644 --- a/scripts/ci/avail-ext-doc/requirements.txt +++ b/scripts/ci/avail-ext-doc/requirements.txt @@ -1,2 +1,3 @@ Jinja2~=2.10.1 -wheel==0.31.1 \ No newline at end of file +wheel==0.31.1 +requests From 12b8213f45d17f7331bc9118e4cf4e65dfe2264e Mon Sep 17 00:00:00 2001 From: msyyc <70930885+msyyc@users.noreply.github.com> Date: Tue, 18 May 2021 12:08:44 +0800 Subject: [PATCH 12/83] Update list-template.md (#3391) --- scripts/ci/avail-ext-doc/list-template.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/ci/avail-ext-doc/list-template.md b/scripts/ci/avail-ext-doc/list-template.md index 4f6cb11e974..5b3c4207362 100644 --- a/scripts/ci/avail-ext-doc/list-template.md +++ b/scripts/ci/avail-ext-doc/list-template.md @@ -9,13 +9,14 @@ ms.topic: article ms.prod: azure ms.technology: azure-cli ms.devlang: azure-cli +ms.custom: devx-track-azurecli --- # Available extensions for the Azure CLI This article is a complete list of the available extensions for the Azure CLI which are supported by Microsoft. -The list of extensions is also available from the CLI. To get it, run [az extension list-available](/cli/azure/extension#az_extension_list_available): +The list of extensions is also available from the CLI. To get it, run [az extension list-available](/cli/azure/extension#az_extension_list_available): ```azurecli-interactive az extension list-available --output table From 6bb827feddd0e6c6913cbd553f32746a33acea7e Mon Sep 17 00:00:00 2001 From: Feng Zhou <55177366+fengzhou-msft@users.noreply.github.com> Date: Tue, 18 May 2021 16:03:00 +0800 Subject: [PATCH 13/83] [datafactory] Regenerate datafactory to support new linked service types (#3239) --- src/datafactory/HISTORY.rst | 10 + .../azext_datafactory/azext_metadata.json | 2 +- .../generated/_client_factory.py | 22 +- .../azext_datafactory/generated/_help.py | 104 +- .../azext_datafactory/generated/_params.py | 65 +- .../azext_datafactory/generated/action.py | 17 + .../azext_datafactory/generated/commands.py | 97 +- .../azext_datafactory/generated/custom.py | 272 +- .../azext_datafactory/manual/_help.py | 91 + .../azext_datafactory/manual/_params.py | 35 + .../azext_datafactory/manual/custom.py | 47 +- .../tests/latest/test_datafactory_scenario.py | 197 +- .../azext_datafactory/manual/version.py | 2 +- .../azext_datafactory/tests/__init__.py | 8 +- .../tests/latest/example_steps.py | 822 +++ .../recordings/test_datafactory_Scenario.yaml | 5146 +++++++++++++++++ .../tests/latest/test_datafactory_scenario.py | 861 +-- .../test_datafactory_scenario_coverage.md | 102 +- .../datafactory/_configuration.py | 3 +- .../_data_factory_management_client.py | 128 +- .../vendored_sdks/datafactory/aio/__init__.py | 2 +- .../datafactory/aio/_configuration.py | 66 + .../aio/_data_factory_management_client.py | 159 + .../datafactory/aio/operations/__init__.py | 51 + .../operations/_activity_runs_operations.py | 111 + .../_data_flow_debug_session_operations.py | 507 ++ .../aio/operations/_data_flows_operations.py | 319 + .../aio/operations/_datasets_operations.py | 321 + .../_exposure_control_operations.py | 235 + .../aio/operations/_factories_operations.py | 631 ++ .../_integration_runtime_nodes_operations.py | 311 + ...tion_runtime_object_metadata_operations.py | 240 + .../_integration_runtimes_operations.py | 1213 ++++ .../operations/_linked_services_operations.py | 322 ++ .../_managed_private_endpoints_operations.py | 336 ++ .../_managed_virtual_networks_operations.py | 261 + .../datafactory/aio/operations/_operations.py | 104 + .../operations/_pipeline_runs_operations.py | 234 + .../aio/operations/_pipelines_operations.py | 419 ++ ...rivate_end_point_connections_operations.py | 116 + ..._private_endpoint_connection_operations.py | 245 + .../_private_link_resources_operations.py | 99 + .../operations/_trigger_runs_operations.py | 233 + .../aio/operations/_triggers_operations.py | 927 +++ .../datafactory/models/__init__.py | 511 +- .../_data_factory_management_client_enums.py | 53 +- .../datafactory/models/_models.py | 2924 ++++++++-- .../datafactory/models/_models_py3.py | 3278 +++++++++-- .../datafactory/operations/__init__.py | 62 +- .../operations/_activity_runs_operations.py | 116 + .../_data_flow_debug_session_operations.py | 158 +- .../operations/_data_flows_operations.py | 327 ++ .../operations/_datasets_operations.py | 329 ++ .../_exposure_control_operations.py | 64 +- .../operations/_factories_operations.py | 644 +++ .../_integration_runtime_nodes_operations.py | 319 + ...tion_runtime_object_metadata_operations.py | 34 +- .../_integration_runtimes_operations.py | 1235 ++++ .../operations/_linked_services_operations.py | 330 ++ .../_managed_private_endpoints_operations.py | 344 ++ .../_managed_virtual_networks_operations.py | 268 + .../datafactory/operations/_operations.py | 109 + .../operations/_pipeline_runs_operations.py | 241 + .../operations/_pipelines_operations.py | 428 ++ ...rivate_end_point_connections_operations.py | 121 + ..._private_endpoint_connection_operations.py | 252 + .../_private_link_resources_operations.py | 104 + .../operations/_trigger_runs_operations.py | 240 + .../operations/_triggers_operations.py | 945 +++ src/datafactory/gen.zip | Bin 0 -> 39102 bytes src/datafactory/linter_exclusions.yml | 5 + src/datafactory/report.md | 1687 +++--- src/datafactory/setup.py | 4 +- 73 files changed, 26997 insertions(+), 3628 deletions(-) create mode 100644 src/datafactory/azext_datafactory/manual/_help.py create mode 100644 src/datafactory/azext_datafactory/manual/_params.py create mode 100644 src/datafactory/azext_datafactory/tests/latest/example_steps.py create mode 100644 src/datafactory/azext_datafactory/tests/latest/recordings/test_datafactory_Scenario.yaml create mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/_configuration.py create mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/_data_factory_management_client.py create mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/__init__.py create mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_activity_runs_operations.py create mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_data_flow_debug_session_operations.py create mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_data_flows_operations.py create mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_datasets_operations.py create mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_exposure_control_operations.py create mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_factories_operations.py create mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_integration_runtime_nodes_operations.py create mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_integration_runtime_object_metadata_operations.py create mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_integration_runtimes_operations.py create mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_linked_services_operations.py create mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_managed_private_endpoints_operations.py create mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_managed_virtual_networks_operations.py create mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_operations.py create mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_pipeline_runs_operations.py create mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_pipelines_operations.py create mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_private_end_point_connections_operations.py create mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_private_endpoint_connection_operations.py create mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_private_link_resources_operations.py create mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_trigger_runs_operations.py create mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_triggers_operations.py create mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_activity_runs_operations.py create mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_data_flows_operations.py create mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_datasets_operations.py create mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_factories_operations.py create mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_integration_runtime_nodes_operations.py create mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_integration_runtimes_operations.py create mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_linked_services_operations.py create mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_managed_private_endpoints_operations.py create mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_managed_virtual_networks_operations.py create mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_operations.py create mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_pipeline_runs_operations.py create mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_pipelines_operations.py create mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_private_end_point_connections_operations.py create mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_private_endpoint_connection_operations.py create mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_private_link_resources_operations.py create mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_trigger_runs_operations.py create mode 100644 src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_triggers_operations.py create mode 100644 src/datafactory/gen.zip create mode 100644 src/datafactory/linter_exclusions.yml diff --git a/src/datafactory/HISTORY.rst b/src/datafactory/HISTORY.rst index f43faed0449..f03bb41574e 100644 --- a/src/datafactory/HISTORY.rst +++ b/src/datafactory/HISTORY.rst @@ -3,6 +3,16 @@ Release History =============== +0.3.0 ++++++ +* [BREAKING CHANGE] Renamed command subgroup `az datafactory factory` to `az datafactory`. +* [BREAKING CHANGE] `az datafactory integration-runtime managed create`: `--type-properties-compute-properties` renamed to `--compute-properties`, + `--type-properties-ssis-properties` renamed to `--ssis-properties`. +* [BREAKING CHANGE] `az datafactory integration-runtime self-hosted create`: `--type-properties-linked-info` renamed to `--linked-info`. +* [BREAKING CHANGE] `az datafactory integration-runtime update`: `--properties` renamed to `--linked-service`. +* [BREAKING CHANGE] `az datafactory linked-service delete`: `--properties` renamed to `--dataset`. +* [BREAKING CHANGE] `az datafactory trigger list`: `--properties` renamed to `--trigger`. + 0.2.1 +++++ * az datafactory factory create: Enable managed identity by default diff --git a/src/datafactory/azext_datafactory/azext_metadata.json b/src/datafactory/azext_datafactory/azext_metadata.json index 4f48fa652a5..cfc30c747c7 100644 --- a/src/datafactory/azext_datafactory/azext_metadata.json +++ b/src/datafactory/azext_datafactory/azext_metadata.json @@ -1,4 +1,4 @@ { "azext.isExperimental": true, - "azext.minCliCoreVersion": "2.11.0" + "azext.minCliCoreVersion": "2.15.0" } \ No newline at end of file diff --git a/src/datafactory/azext_datafactory/generated/_client_factory.py b/src/datafactory/azext_datafactory/generated/_client_factory.py index 69459245c8d..7db87b484da 100644 --- a/src/datafactory/azext_datafactory/generated/_client_factory.py +++ b/src/datafactory/azext_datafactory/generated/_client_factory.py @@ -11,46 +11,46 @@ def cf_datafactory_cl(cli_ctx, *_): from azure.cli.core.commands.client_factory import get_mgmt_service_client - from ..vendored_sdks.datafactory import DataFactoryManagementClient + from azext_datafactory.vendored_sdks.datafactory import DataFactoryManagementClient return get_mgmt_service_client(cli_ctx, DataFactoryManagementClient) def cf_factory(cli_ctx, *_): - return cf_datafactory_cl(cli_ctx).factory + return cf_datafactory_cl(cli_ctx).factories def cf_integration_runtime(cli_ctx, *_): - return cf_datafactory_cl(cli_ctx).integration_runtime + return cf_datafactory_cl(cli_ctx).integration_runtimes def cf_integration_runtime_node(cli_ctx, *_): - return cf_datafactory_cl(cli_ctx).integration_runtime_node + return cf_datafactory_cl(cli_ctx).integration_runtime_nodes def cf_linked_service(cli_ctx, *_): - return cf_datafactory_cl(cli_ctx).linked_service + return cf_datafactory_cl(cli_ctx).linked_services def cf_dataset(cli_ctx, *_): - return cf_datafactory_cl(cli_ctx).dataset + return cf_datafactory_cl(cli_ctx).datasets def cf_pipeline(cli_ctx, *_): - return cf_datafactory_cl(cli_ctx).pipeline + return cf_datafactory_cl(cli_ctx).pipelines def cf_pipeline_run(cli_ctx, *_): - return cf_datafactory_cl(cli_ctx).pipeline_run + return cf_datafactory_cl(cli_ctx).pipeline_runs def cf_activity_run(cli_ctx, *_): - return cf_datafactory_cl(cli_ctx).activity_run + return cf_datafactory_cl(cli_ctx).activity_runs def cf_trigger(cli_ctx, *_): - return cf_datafactory_cl(cli_ctx).trigger + return cf_datafactory_cl(cli_ctx).triggers def cf_trigger_run(cli_ctx, *_): - return cf_datafactory_cl(cli_ctx).trigger_run + return cf_datafactory_cl(cli_ctx).trigger_runs diff --git a/src/datafactory/azext_datafactory/generated/_help.py b/src/datafactory/azext_datafactory/generated/_help.py index f42e472af34..fd2ab1dcd0e 100644 --- a/src/datafactory/azext_datafactory/generated/_help.py +++ b/src/datafactory/azext_datafactory/generated/_help.py @@ -12,32 +12,35 @@ from knack.help_files import helps -helps['datafactory factory'] = """ +helps['datafactory'] = """ type: group - short-summary: datafactory factory + short-summary: Manage factory with datafactory """ -helps['datafactory factory list'] = """ +helps['datafactory list'] = """ type: command - short-summary: "Lists factories under the specified subscription." + short-summary: "Lists factories. And Lists factories under the specified subscription." examples: - name: Factories_ListByResourceGroup text: |- - az datafactory factory list --resource-group "exampleResourceGroup" + az datafactory list --resource-group "exampleResourceGroup" + - name: Factories_List + text: |- + az datafactory list """ -helps['datafactory factory show'] = """ +helps['datafactory show'] = """ type: command short-summary: "Gets a factory." examples: - name: Factories_Get text: |- - az datafactory factory show --name "exampleFactoryName" --resource-group "exampleResourceGroup" + az datafactory show --name "exampleFactoryName" --resource-group "exampleResourceGroup" """ -helps['datafactory factory create'] = """ +helps['datafactory create'] = """ type: command - short-summary: "Creates or updates a factory." + short-summary: "Create a factory." parameters: - name: --factory-vsts-configuration short-summary: "Factory's VSTS repo information." @@ -69,30 +72,30 @@ examples: - name: Factories_CreateOrUpdate text: |- - az datafactory factory create --location "East US" --name "exampleFactoryName" --resource-group \ + az datafactory create --location "East US" --name "exampleFactoryName" --resource-group \ "exampleResourceGroup" """ -helps['datafactory factory update'] = """ +helps['datafactory update'] = """ type: command short-summary: "Updates a factory." examples: - name: Factories_Update text: |- - az datafactory factory update --name "exampleFactoryName" --tags exampleTag="exampleValue" \ ---resource-group "exampleResourceGroup" + az datafactory update --name "exampleFactoryName" --tags exampleTag="exampleValue" --resource-group \ +"exampleResourceGroup" """ -helps['datafactory factory delete'] = """ +helps['datafactory delete'] = """ type: command short-summary: "Deletes a factory." examples: - name: Factories_Delete text: |- - az datafactory factory delete --name "exampleFactoryName" --resource-group "exampleResourceGroup" + az datafactory delete --name "exampleFactoryName" --resource-group "exampleResourceGroup" """ -helps['datafactory factory configure-factory-repo'] = """ +helps['datafactory configure-factory-repo'] = """ type: command short-summary: "Updates a factory's repo information." parameters: @@ -126,36 +129,36 @@ examples: - name: Factories_ConfigureFactoryRepo text: |- - az datafactory factory configure-factory-repo --factory-resource-id "/subscriptions/12345678-1234-1234-1\ -234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.DataFactory/factories/exampleFactoryName" \ + az datafactory configure-factory-repo --factory-resource-id "/subscriptions/12345678-1234-1234-1234-1234\ +5678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.DataFactory/factories/exampleFactoryName" \ --factory-vsts-configuration account-name="ADF" collaboration-branch="master" last-commit-id="" project-name="project" \ repository-name="repo" root-folder="/" tenant-id="" --location "East US" """ -helps['datafactory factory get-data-plane-access'] = """ +helps['datafactory get-data-plane-access'] = """ type: command short-summary: "Get Data Plane access." examples: - name: Factories_GetDataPlaneAccess text: |- - az datafactory factory get-data-plane-access --name "exampleFactoryName" --access-resource-path "" \ + az datafactory get-data-plane-access --name "exampleFactoryName" --access-resource-path "" \ --expire-time "2018-11-10T09:46:20.2659347Z" --permissions "r" --profile-name "DefaultProfile" --start-time \ "2018-11-10T02:46:20.2659347Z" --resource-group "exampleResourceGroup" """ -helps['datafactory factory get-git-hub-access-token'] = """ +helps['datafactory get-git-hub-access-token'] = """ type: command short-summary: "Get GitHub Access Token." examples: - name: Factories_GetGitHubAccessToken text: |- - az datafactory factory get-git-hub-access-token --name "exampleFactoryName" --git-hub-access-code \ -"some" --git-hub-access-token-base-url "some" --git-hub-client-id "some" --resource-group "exampleResourceGroup" + az datafactory get-git-hub-access-token --name "exampleFactoryName" --git-hub-access-code "some" \ +--git-hub-access-token-base-url "some" --git-hub-client-id "some" --resource-group "exampleResourceGroup" """ helps['datafactory integration-runtime'] = """ type: group - short-summary: datafactory integration-runtime + short-summary: Manage integration runtime with datafactory """ helps['datafactory integration-runtime list'] = """ @@ -180,7 +183,7 @@ helps['datafactory integration-runtime linked-integration-runtime'] = """ type: group - short-summary: datafactory integration-runtime sub group linked-integration-runtime + short-summary: Manage integration runtime with datafactory sub group linked-integration-runtime """ helps['datafactory integration-runtime linked-integration-runtime create'] = """ @@ -192,28 +195,27 @@ az datafactory integration-runtime linked-integration-runtime create --name \ "bfa92911-9fb6-4fbe-8f23-beae87bc1c83" --location "West US" --data-factory-name "e9955d6d-56ea-4be3-841c-52a12c1a9981" \ --subscription-id "061774c7-4b5a-4159-a55b-365581830283" --factory-name "exampleFactoryName" \ ---integration-runtime-name "exampleIntegrationRuntime" --resource-group "exampleResourceGroup" --subscription-id \ -"12345678-1234-1234-1234-12345678abc" +--integration-runtime-name "exampleIntegrationRuntime" --resource-group "exampleResourceGroup" """ helps['datafactory integration-runtime managed'] = """ type: group - short-summary: datafactory integration-runtime sub group managed + short-summary: Manage integration runtime with datafactory sub group managed """ helps['datafactory integration-runtime managed create'] = """ type: command - short-summary: "Creates or updates an integration runtime." + short-summary: "Create an integration runtime." """ helps['datafactory integration-runtime self-hosted'] = """ type: group - short-summary: datafactory integration-runtime sub group self-hosted + short-summary: Manage integration runtime with datafactory sub group self-hosted """ helps['datafactory integration-runtime self-hosted create'] = """ type: command - short-summary: "Creates or updates an integration runtime." + short-summary: "Create an integration runtime." examples: - name: IntegrationRuntimes_Create text: |- @@ -361,7 +363,7 @@ helps['datafactory integration-runtime-node'] = """ type: group - short-summary: datafactory integration-runtime-node + short-summary: Manage integration runtime node with datafactory """ helps['datafactory integration-runtime-node show'] = """ @@ -407,7 +409,7 @@ helps['datafactory linked-service'] = """ type: group - short-summary: datafactory linked-service + short-summary: Manage linked service with datafactory """ helps['datafactory linked-service list'] = """ @@ -432,7 +434,7 @@ helps['datafactory linked-service create'] = """ type: command - short-summary: "Creates or updates a linked service." + short-summary: "Create a linked service." examples: - name: LinkedServices_Create text: |- @@ -444,7 +446,7 @@ helps['datafactory linked-service update'] = """ type: command - short-summary: "Creates or updates a linked service." + short-summary: "Update a linked service." examples: - name: LinkedServices_Update text: |- @@ -464,7 +466,7 @@ helps['datafactory dataset'] = """ type: group - short-summary: datafactory dataset + short-summary: Manage dataset with datafactory """ helps['datafactory dataset list'] = """ @@ -488,7 +490,7 @@ helps['datafactory dataset create'] = """ type: command - short-summary: "Creates or updates a dataset." + short-summary: "Create a dataset." examples: - name: Datasets_Create text: |- @@ -502,7 +504,7 @@ helps['datafactory dataset update'] = """ type: command - short-summary: "Creates or updates a dataset." + short-summary: "Update a dataset." parameters: - name: --folder short-summary: "The folder that this Dataset is in. If not specified, Dataset will appear at the root level." @@ -531,7 +533,7 @@ helps['datafactory pipeline'] = """ type: group - short-summary: datafactory pipeline + short-summary: Manage pipeline with datafactory """ helps['datafactory pipeline list'] = """ @@ -556,7 +558,7 @@ helps['datafactory pipeline create'] = """ type: command - short-summary: "Creates or updates a pipeline." + short-summary: "Create a pipeline." examples: - name: Pipelines_Create text: |- @@ -570,13 +572,13 @@ :{\\"type\\":\\"BlobSource\\"}}}],\\"isSequential\\":true,\\"items\\":{\\"type\\":\\"Expression\\",\\"value\\":\\"@pipe\ line().parameters.OutputBlobNameList\\"}}}],\\"parameters\\":{\\"JobId\\":{\\"type\\":\\"String\\"},\\"OutputBlobNameLi\ st\\":{\\"type\\":\\"Array\\"}},\\"variables\\":{\\"TestVariableArray\\":{\\"type\\":\\"Array\\"}},\\"runDimensions\\":\ -{\\"JobId\\":{\\"type\\":\\"Expression\\",\\"value\\":\\"@pipeline().parameters.JobId\\"}}}" --name "examplePipeline" \ ---resource-group "exampleResourceGroup" +{\\"JobId\\":{\\"type\\":\\"Expression\\",\\"value\\":\\"@pipeline().parameters.JobId\\"}},\\"duration\\":\\"0.00:10:00\ +\\"}" --name "examplePipeline" --resource-group "exampleResourceGroup" """ helps['datafactory pipeline update'] = """ type: command - short-summary: "Creates or updates a pipeline." + short-summary: "Update a pipeline." examples: - name: Pipelines_Update text: |- @@ -588,8 +590,8 @@ \\"Expression\\",\\"value\\":\\"@item()\\"},\\"MyFolderPath\\":\\"examplecontainer\\"},\\"referenceName\\":\\"exampleDa\ taset\\"}],\\"typeProperties\\":{\\"dataIntegrationUnits\\":32,\\"sink\\":{\\"type\\":\\"BlobSink\\"},\\"source\\":{\\"\ type\\":\\"BlobSource\\"}}}],\\"isSequential\\":true,\\"items\\":{\\"type\\":\\"Expression\\",\\"value\\":\\"@pipeline(\ -).parameters.OutputBlobNameList\\"}}}]" --parameters "{\\"OutputBlobNameList\\":{\\"type\\":\\"Array\\"}}" --name \ -"examplePipeline" --resource-group "exampleResourceGroup" +).parameters.OutputBlobNameList\\"}}}]" --parameters "{\\"OutputBlobNameList\\":{\\"type\\":\\"Array\\"}}" --duration \ +"0.00:10:00" --name "examplePipeline" --resource-group "exampleResourceGroup" """ helps['datafactory pipeline delete'] = """ @@ -615,7 +617,7 @@ helps['datafactory pipeline-run'] = """ type: group - short-summary: datafactory pipeline-run + short-summary: Manage pipeline run with datafactory """ helps['datafactory pipeline-run show'] = """ @@ -675,7 +677,7 @@ helps['datafactory activity-run'] = """ type: group - short-summary: datafactory activity-run + short-summary: Manage activity run with datafactory """ helps['datafactory activity-run query-by-pipeline-run'] = """ @@ -715,7 +717,7 @@ helps['datafactory trigger'] = """ type: group - short-summary: datafactory trigger + short-summary: Manage trigger with datafactory """ helps['datafactory trigger list'] = """ @@ -739,7 +741,7 @@ helps['datafactory trigger create'] = """ type: command - short-summary: "Creates or updates a trigger." + short-summary: "Create a trigger." examples: - name: Triggers_Create text: |- @@ -753,7 +755,7 @@ helps['datafactory trigger update'] = """ type: command - short-summary: "Creates or updates a trigger." + short-summary: "Update a trigger." examples: - name: Triggers_Update text: |- @@ -843,7 +845,7 @@ helps['datafactory trigger-run'] = """ type: group - short-summary: datafactory trigger-run + short-summary: Manage trigger run with datafactory """ helps['datafactory trigger-run cancel'] = """ diff --git a/src/datafactory/azext_datafactory/generated/_params.py b/src/datafactory/azext_datafactory/generated/_params.py index 85dcca4f8b3..2162b81c231 100644 --- a/src/datafactory/azext_datafactory/generated/_params.py +++ b/src/datafactory/azext_datafactory/generated/_params.py @@ -32,52 +32,52 @@ def load_arguments(self, _): - with self.argument_context('datafactory factory list') as c: + with self.argument_context('datafactory list') as c: c.argument('resource_group_name', resource_group_name_type) - with self.argument_context('datafactory factory show') as c: + with self.argument_context('datafactory show') as c: c.argument('resource_group_name', resource_group_name_type) c.argument('factory_name', options_list=['--name', '-n', '--factory-name'], type=str, help='The factory name.', id_part='name') c.argument('if_none_match', type=str, help='ETag of the factory entity. Should only be specified for get. If ' 'the ETag matches the existing entity tag, or if * was provided, then no content will be returned.') - with self.argument_context('datafactory factory create') as c: + with self.argument_context('datafactory create') as c: c.argument('resource_group_name', resource_group_name_type) c.argument('factory_name', options_list=['--name', '-n', '--factory-name'], type=str, help='The factory name.') c.argument('if_match', type=str, help='ETag of the factory entity. Should only be specified for update, for ' 'which it should match existing entity or can be * for unconditional update.') - c.argument('location', arg_type=get_location_type(self.cli_ctx), + c.argument('location', arg_type=get_location_type(self.cli_ctx), required=False, validator=get_default_location_from_resource_group) c.argument('tags', tags_type) - c.argument('factory_vsts_configuration', action=AddFactoryVstsConfiguration, nargs='*', help='Factory\'s VSTS ' + c.argument('factory_vsts_configuration', action=AddFactoryVstsConfiguration, nargs='+', help='Factory\'s VSTS ' 'repo information.', arg_group='RepoConfiguration') - c.argument('factory_git_hub_configuration', action=AddFactoryGitHubConfiguration, nargs='*', help='Factory\'s ' + c.argument('factory_git_hub_configuration', action=AddFactoryGitHubConfiguration, nargs='+', help='Factory\'s ' 'GitHub repo information.', arg_group='RepoConfiguration') c.argument('global_parameters', type=validate_file_or_dict, help='List of parameters for factory. Expected ' 'value: json-string/@json-file.') - with self.argument_context('datafactory factory update') as c: + with self.argument_context('datafactory update') as c: c.argument('resource_group_name', resource_group_name_type) c.argument('factory_name', options_list=['--name', '-n', '--factory-name'], type=str, help='The factory name.', id_part='name') c.argument('tags', tags_type) - with self.argument_context('datafactory factory delete') as c: + with self.argument_context('datafactory delete') as c: c.argument('resource_group_name', resource_group_name_type) c.argument('factory_name', options_list=['--name', '-n', '--factory-name'], type=str, help='The factory name.', id_part='name') - with self.argument_context('datafactory factory configure-factory-repo') as c: + with self.argument_context('datafactory configure-factory-repo') as c: c.argument('location', arg_type=get_location_type(self.cli_ctx), id_part='name') c.argument('factory_resource_id', type=str, help='The factory resource id.') - c.argument('factory_vsts_configuration', action=AddFactoryVstsConfiguration, nargs='*', help='Factory\'s VSTS ' + c.argument('factory_vsts_configuration', action=AddFactoryVstsConfiguration, nargs='+', help='Factory\'s VSTS ' 'repo information.', arg_group='RepoConfiguration') - c.argument('factory_git_hub_configuration', action=AddFactoryGitHubConfiguration, nargs='*', help='Factory\'s ' + c.argument('factory_git_hub_configuration', action=AddFactoryGitHubConfiguration, nargs='+', help='Factory\'s ' 'GitHub repo information.', arg_group='RepoConfiguration') - with self.argument_context('datafactory factory get-data-plane-access') as c: + with self.argument_context('datafactory get-data-plane-access') as c: c.argument('resource_group_name', resource_group_name_type) c.argument('factory_name', options_list=['--name', '-n', '--factory-name'], type=str, help='The factory name.', id_part='name') @@ -92,7 +92,7 @@ def load_arguments(self, _): c.argument('expire_time', type=str, help='Expiration time for the token. Maximum duration for the token is ' 'eight hours and by default the token will expire in eight hours.') - with self.argument_context('datafactory factory get-git-hub-access-token') as c: + with self.argument_context('datafactory get-git-hub-access-token') as c: c.argument('resource_group_name', resource_group_name_type) c.argument('factory_name', options_list=['--name', '-n', '--factory-name'], type=str, help='The factory name.', id_part='name') @@ -122,7 +122,7 @@ def load_arguments(self, _): 'belongs to.') c.argument('data_factory_name', type=str, help='The name of the data factory that the linked integration ' 'runtime belongs to.') - c.argument('location', arg_type=get_location_type(self.cli_ctx), + c.argument('location', arg_type=get_location_type(self.cli_ctx), required=False, validator=get_default_location_from_resource_group) with self.argument_context('datafactory integration-runtime managed create') as c: @@ -133,10 +133,10 @@ def load_arguments(self, _): c.argument('if_match', type=str, help='ETag of the integration runtime entity. Should only be specified for ' 'update, for which it should match existing entity or can be * for unconditional update.') c.argument('description', type=str, help='Integration runtime description.') - c.argument('type_properties_compute_properties', type=validate_file_or_dict, help='The compute resource for ' - 'managed integration runtime. Expected value: json-string/@json-file.') - c.argument('type_properties_ssis_properties', type=validate_file_or_dict, help='SSIS properties for managed ' - 'integration runtime. Expected value: json-string/@json-file.') + c.argument('compute_properties', type=validate_file_or_dict, help='The compute resource for managed ' + 'integration runtime. Expected value: json-string/@json-file.', arg_group='Type Properties') + c.argument('ssis_properties', type=validate_file_or_dict, help='SSIS properties for managed integration ' + 'runtime. Expected value: json-string/@json-file.', arg_group='Type Properties') with self.argument_context('datafactory integration-runtime self-hosted create') as c: c.argument('resource_group_name', resource_group_name_type) @@ -146,8 +146,8 @@ def load_arguments(self, _): c.argument('if_match', type=str, help='ETag of the integration runtime entity. Should only be specified for ' 'update, for which it should match existing entity or can be * for unconditional update.') c.argument('description', type=str, help='Integration runtime description.') - c.argument('type_properties_linked_info', type=validate_file_or_dict, help='The base definition of a linked ' - 'integration runtime. Expected value: json-string/@json-file.') + c.argument('linked_info', type=validate_file_or_dict, help='The base definition of a linked integration ' + 'runtime. Expected value: json-string/@json-file.', arg_group='Type Properties') with self.argument_context('datafactory integration-runtime update') as c: c.argument('resource_group_name', resource_group_name_type) @@ -301,7 +301,7 @@ def load_arguments(self, _): 'json-string/@json-file.') c.argument('annotations', type=validate_file_or_dict, help='List of tags that can be used for describing the ' 'linked service. Expected value: json-string/@json-file.') - c.ignore('properties') + c.ignore('linked_service') with self.argument_context('datafactory linked-service delete') as c: c.argument('resource_group_name', resource_group_name_type) @@ -351,9 +351,9 @@ def load_arguments(self, _): 'json-string/@json-file.') c.argument('annotations', type=validate_file_or_dict, help='List of tags that can be used for describing the ' 'Dataset. Expected value: json-string/@json-file.') - c.argument('folder', action=AddFolder, nargs='*', help='The folder that this Dataset is in. If not specified, ' + c.argument('folder', action=AddFolder, nargs='+', help='The folder that this Dataset is in. If not specified, ' 'Dataset will appear at the root level.') - c.ignore('properties') + c.ignore('dataset') with self.argument_context('datafactory dataset delete') as c: c.argument('resource_group_name', resource_group_name_type) @@ -402,7 +402,10 @@ def load_arguments(self, _): 'Pipeline. Expected value: json-string/@json-file.') c.argument('run_dimensions', type=validate_file_or_dict, help='Dimensions emitted by Pipeline. Expected value: ' 'json-string/@json-file.') - c.argument('folder_name', type=str, help='The name of the folder that this Pipeline is in.') + c.argument('duration', type=validate_file_or_dict, help='TimeSpan value, after which an Azure Monitoring ' + 'Metric is fired. Expected value: json-string/@json-file.', arg_group='Policy Elapsed Time Metric') + c.argument('folder_name', type=str, help='The name of the folder that this Pipeline is in.', + arg_group='Folder') c.ignore('pipeline') with self.argument_context('datafactory pipeline delete') as c: @@ -450,8 +453,8 @@ def load_arguments(self, _): 'format.') c.argument('last_updated_before', help='The time at or before which the run event was updated in \'ISO 8601\' ' 'format.') - c.argument('filters', action=AddFilters, nargs='*', help='List of filters.') - c.argument('order_by', action=AddOrderBy, nargs='*', help='List of OrderBy option.') + c.argument('filters', action=AddFilters, nargs='+', help='List of filters.') + c.argument('order_by', action=AddOrderBy, nargs='+', help='List of OrderBy option.') with self.argument_context('datafactory activity-run query-by-pipeline-run') as c: c.argument('resource_group_name', resource_group_name_type) @@ -463,8 +466,8 @@ def load_arguments(self, _): 'format.') c.argument('last_updated_before', help='The time at or before which the run event was updated in \'ISO 8601\' ' 'format.') - c.argument('filters', action=AddFilters, nargs='*', help='List of filters.') - c.argument('order_by', action=AddOrderBy, nargs='*', help='List of OrderBy option.') + c.argument('filters', action=AddFilters, nargs='+', help='List of filters.') + c.argument('order_by', action=AddOrderBy, nargs='+', help='List of OrderBy option.') with self.argument_context('datafactory trigger list') as c: c.argument('resource_group_name', resource_group_name_type) @@ -498,7 +501,7 @@ def load_arguments(self, _): c.argument('description', type=str, help='Trigger description.') c.argument('annotations', type=validate_file_or_dict, help='List of tags that can be used for describing the ' 'trigger. Expected value: json-string/@json-file.') - c.ignore('properties') + c.ignore('trigger') with self.argument_context('datafactory trigger delete') as c: c.argument('resource_group_name', resource_group_name_type) @@ -567,8 +570,8 @@ def load_arguments(self, _): 'format.') c.argument('last_updated_before', help='The time at or before which the run event was updated in \'ISO 8601\' ' 'format.') - c.argument('filters', action=AddFilters, nargs='*', help='List of filters.') - c.argument('order_by', action=AddOrderBy, nargs='*', help='List of OrderBy option.') + c.argument('filters', action=AddFilters, nargs='+', help='List of filters.') + c.argument('order_by', action=AddOrderBy, nargs='+', help='List of OrderBy option.') with self.argument_context('datafactory trigger-run rerun') as c: c.argument('resource_group_name', resource_group_name_type) diff --git a/src/datafactory/azext_datafactory/generated/action.py b/src/datafactory/azext_datafactory/generated/action.py index ec9616c8672..f645d72981a 100644 --- a/src/datafactory/azext_datafactory/generated/action.py +++ b/src/datafactory/azext_datafactory/generated/action.py @@ -45,6 +45,10 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use d['root_folder'] = v[0] elif kl == 'last-commit-id': d['last_commit_id'] = v[0] + else: + raise CLIError('Unsupported Key {} is provided for parameter factory_vsts_configuration. All possible ' + 'keys are: project-name, tenant-id, account-name, repository-name, ' + 'collaboration-branch, root-folder, last-commit-id'.format(k)) d['type'] = 'FactoryVSTSConfiguration' return d @@ -78,6 +82,10 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use d['root_folder'] = v[0] elif kl == 'last-commit-id': d['last_commit_id'] = v[0] + else: + raise CLIError('Unsupported Key {} is provided for parameter factory_git_hub_configuration. All ' + 'possible keys are: host-name, account-name, repository-name, collaboration-branch, ' + 'root-folder, last-commit-id'.format(k)) d['type'] = 'FactoryGitHubConfiguration' return d @@ -101,6 +109,9 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use v = properties[k] if kl == 'name': d['name'] = v[0] + else: + raise CLIError('Unsupported Key {} is provided for parameter folder. All possible keys are: name'. + format(k)) return d @@ -127,6 +138,9 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use d['operator'] = v[0] elif kl == 'values': d['values'] = v + else: + raise CLIError('Unsupported Key {} is provided for parameter filters. All possible keys are: operand, ' + 'operator, values'.format(k)) return d @@ -151,4 +165,7 @@ def get_action(self, values, option_string): # pylint: disable=no-self-use d['order_by'] = v[0] elif kl == 'order': d['order'] = v[0] + else: + raise CLIError('Unsupported Key {} is provided for parameter order_by. All possible keys are: ' + 'order-by, order'.format(k)) return d diff --git a/src/datafactory/azext_datafactory/generated/commands.py b/src/datafactory/azext_datafactory/generated/commands.py index cfc2a3de83b..df59d171a88 100644 --- a/src/datafactory/azext_datafactory/generated/commands.py +++ b/src/datafactory/azext_datafactory/generated/commands.py @@ -17,27 +17,26 @@ def load_command_table(self, _): from azext_datafactory.generated._client_factory import cf_factory datafactory_factory = CliCommandType( - operations_tmpl='azext_datafactory.vendored_sdks.datafactory.operations._factory_operations#FactoryOperations.{' - '}', + operations_tmpl='azext_datafactory.vendored_sdks.datafactory.operations._factories_operations#FactoriesOperatio' + 'ns.{}', client_factory=cf_factory) - with self.command_group('datafactory factory', datafactory_factory, client_factory=cf_factory, - is_experimental=True) as g: - g.custom_command('list', 'datafactory_factory_list') - g.custom_show_command('show', 'datafactory_factory_show') - g.custom_command('create', 'datafactory_factory_create') - g.custom_command('update', 'datafactory_factory_update') - g.custom_command('delete', 'datafactory_factory_delete', confirmation=True) - g.custom_command('configure-factory-repo', 'datafactory_factory_configure_factory_repo') - g.custom_command('get-data-plane-access', 'datafactory_factory_get_data_plane_access') - g.custom_command('get-git-hub-access-token', 'datafactory_factory_get_git_hub_access_token') + with self.command_group('datafactory', datafactory_factory, client_factory=cf_factory, is_experimental=True) as g: + g.custom_command('list', 'datafactory_list') + g.custom_show_command('show', 'datafactory_show') + g.custom_command('create', 'datafactory_create') + g.custom_command('update', 'datafactory_update') + g.custom_command('delete', 'datafactory_delete', confirmation=True) + g.custom_command('configure-factory-repo', 'datafactory_configure_factory_repo') + g.custom_command('get-data-plane-access', 'datafactory_get_data_plane_access') + g.custom_command('get-git-hub-access-token', 'datafactory_get_git_hub_access_token') from azext_datafactory.generated._client_factory import cf_integration_runtime datafactory_integration_runtime = CliCommandType( - operations_tmpl='azext_datafactory.vendored_sdks.datafactory.operations._integration_runtime_operations#Integra' - 'tionRuntimeOperations.{}', + operations_tmpl='azext_datafactory.vendored_sdks.datafactory.operations._integration_runtimes_operations#Integr' + 'ationRuntimesOperations.{}', client_factory=cf_integration_runtime) with self.command_group('datafactory integration-runtime', datafactory_integration_runtime, - client_factory=cf_integration_runtime, is_experimental=True) as g: + client_factory=cf_integration_runtime) as g: g.custom_command('list', 'datafactory_integration_runtime_list') g.custom_show_command('show', 'datafactory_integration_runtime_show') g.custom_command('linked-integration-runtime create', 'datafactory_integration_runtime_linked_integration_runti' @@ -60,11 +59,11 @@ def load_command_table(self, _): from azext_datafactory.generated._client_factory import cf_integration_runtime_node datafactory_integration_runtime_node = CliCommandType( - operations_tmpl='azext_datafactory.vendored_sdks.datafactory.operations._integration_runtime_node_operations#In' - 'tegrationRuntimeNodeOperations.{}', + operations_tmpl='azext_datafactory.vendored_sdks.datafactory.operations._integration_runtime_nodes_operations#I' + 'ntegrationRuntimeNodesOperations.{}', client_factory=cf_integration_runtime_node) with self.command_group('datafactory integration-runtime-node', datafactory_integration_runtime_node, - client_factory=cf_integration_runtime_node, is_experimental=True) as g: + client_factory=cf_integration_runtime_node) as g: g.custom_show_command('show', 'datafactory_integration_runtime_node_show') g.custom_command('update', 'datafactory_integration_runtime_node_update') g.custom_command('delete', 'datafactory_integration_runtime_node_delete', confirmation=True) @@ -72,39 +71,36 @@ def load_command_table(self, _): from azext_datafactory.generated._client_factory import cf_linked_service datafactory_linked_service = CliCommandType( - operations_tmpl='azext_datafactory.vendored_sdks.datafactory.operations._linked_service_operations#LinkedServic' - 'eOperations.{}', + operations_tmpl='azext_datafactory.vendored_sdks.datafactory.operations._linked_services_operations#LinkedServi' + 'cesOperations.{}', client_factory=cf_linked_service) - with self.command_group('datafactory linked-service', datafactory_linked_service, client_factory=cf_linked_service, - is_experimental=True) as g: + with self.command_group('datafactory linked-service', datafactory_linked_service, + client_factory=cf_linked_service) as g: g.custom_command('list', 'datafactory_linked_service_list') g.custom_show_command('show', 'datafactory_linked_service_show') g.custom_command('create', 'datafactory_linked_service_create') - g.generic_update_command('update', setter_arg_name='properties', custom_func_name='' - 'datafactory_linked_service_update') + g.generic_update_command('update', setter_arg_name='linked_service', + custom_func_name='datafactory_linked_service_update') g.custom_command('delete', 'datafactory_linked_service_delete', confirmation=True) from azext_datafactory.generated._client_factory import cf_dataset datafactory_dataset = CliCommandType( - operations_tmpl='azext_datafactory.vendored_sdks.datafactory.operations._dataset_operations#DatasetOperations.{' - '}', + operations_tmpl='azext_datafactory.vendored_sdks.datafactory.operations._datasets_operations#DatasetsOperations' + '.{}', client_factory=cf_dataset) - with self.command_group('datafactory dataset', datafactory_dataset, client_factory=cf_dataset, - is_experimental=True) as g: + with self.command_group('datafactory dataset', datafactory_dataset, client_factory=cf_dataset) as g: g.custom_command('list', 'datafactory_dataset_list') g.custom_show_command('show', 'datafactory_dataset_show') g.custom_command('create', 'datafactory_dataset_create') - g.generic_update_command('update', setter_arg_name='properties', - custom_func_name='datafactory_dataset_update') + g.generic_update_command('update', setter_arg_name='dataset', custom_func_name='datafactory_dataset_update') g.custom_command('delete', 'datafactory_dataset_delete', confirmation=True) from azext_datafactory.generated._client_factory import cf_pipeline datafactory_pipeline = CliCommandType( - operations_tmpl='azext_datafactory.vendored_sdks.datafactory.operations._pipeline_operations#PipelineOperations' - '.{}', + operations_tmpl='azext_datafactory.vendored_sdks.datafactory.operations._pipelines_operations#PipelinesOperatio' + 'ns.{}', client_factory=cf_pipeline) - with self.command_group('datafactory pipeline', datafactory_pipeline, client_factory=cf_pipeline, - is_experimental=True) as g: + with self.command_group('datafactory pipeline', datafactory_pipeline, client_factory=cf_pipeline) as g: g.custom_command('list', 'datafactory_pipeline_list') g.custom_show_command('show', 'datafactory_pipeline_show') g.custom_command('create', 'datafactory_pipeline_create') @@ -114,36 +110,34 @@ def load_command_table(self, _): from azext_datafactory.generated._client_factory import cf_pipeline_run datafactory_pipeline_run = CliCommandType( - operations_tmpl='azext_datafactory.vendored_sdks.datafactory.operations._pipeline_run_operations#PipelineRunOpe' - 'rations.{}', + operations_tmpl='azext_datafactory.vendored_sdks.datafactory.operations._pipeline_runs_operations#PipelineRunsO' + 'perations.{}', client_factory=cf_pipeline_run) - with self.command_group('datafactory pipeline-run', datafactory_pipeline_run, client_factory=cf_pipeline_run, - is_experimental=True) as g: + with self.command_group('datafactory pipeline-run', datafactory_pipeline_run, + client_factory=cf_pipeline_run) as g: g.custom_show_command('show', 'datafactory_pipeline_run_show') g.custom_command('cancel', 'datafactory_pipeline_run_cancel') g.custom_command('query-by-factory', 'datafactory_pipeline_run_query_by_factory') from azext_datafactory.generated._client_factory import cf_activity_run datafactory_activity_run = CliCommandType( - operations_tmpl='azext_datafactory.vendored_sdks.datafactory.operations._activity_run_operations#ActivityRunOpe' - 'rations.{}', + operations_tmpl='azext_datafactory.vendored_sdks.datafactory.operations._activity_runs_operations#ActivityRunsO' + 'perations.{}', client_factory=cf_activity_run) - with self.command_group('datafactory activity-run', datafactory_activity_run, client_factory=cf_activity_run, - is_experimental=True) as g: + with self.command_group('datafactory activity-run', datafactory_activity_run, + client_factory=cf_activity_run) as g: g.custom_command('query-by-pipeline-run', 'datafactory_activity_run_query_by_pipeline_run') from azext_datafactory.generated._client_factory import cf_trigger datafactory_trigger = CliCommandType( - operations_tmpl='azext_datafactory.vendored_sdks.datafactory.operations._trigger_operations#TriggerOperations.{' - '}', + operations_tmpl='azext_datafactory.vendored_sdks.datafactory.operations._triggers_operations#TriggersOperations' + '.{}', client_factory=cf_trigger) - with self.command_group('datafactory trigger', datafactory_trigger, client_factory=cf_trigger, - is_experimental=True) as g: + with self.command_group('datafactory trigger', datafactory_trigger, client_factory=cf_trigger) as g: g.custom_command('list', 'datafactory_trigger_list') g.custom_show_command('show', 'datafactory_trigger_show') g.custom_command('create', 'datafactory_trigger_create') - g.generic_update_command('update', setter_arg_name='properties', - custom_func_name='datafactory_trigger_update') + g.generic_update_command('update', setter_arg_name='trigger', custom_func_name='datafactory_trigger_update') g.custom_command('delete', 'datafactory_trigger_delete', confirmation=True) g.custom_command('get-event-subscription-status', 'datafactory_trigger_get_event_subscription_status') g.custom_command('query-by-factory', 'datafactory_trigger_query_by_factory') @@ -156,11 +150,10 @@ def load_command_table(self, _): from azext_datafactory.generated._client_factory import cf_trigger_run datafactory_trigger_run = CliCommandType( - operations_tmpl='azext_datafactory.vendored_sdks.datafactory.operations._trigger_run_operations#TriggerRunOpera' - 'tions.{}', + operations_tmpl='azext_datafactory.vendored_sdks.datafactory.operations._trigger_runs_operations#TriggerRunsOpe' + 'rations.{}', client_factory=cf_trigger_run) - with self.command_group('datafactory trigger-run', datafactory_trigger_run, client_factory=cf_trigger_run, - is_experimental=True) as g: + with self.command_group('datafactory trigger-run', datafactory_trigger_run, client_factory=cf_trigger_run) as g: g.custom_command('cancel', 'datafactory_trigger_run_cancel') g.custom_command('query-by-factory', 'datafactory_trigger_run_query_by_factory') g.custom_command('rerun', 'datafactory_trigger_run_rerun') diff --git a/src/datafactory/azext_datafactory/generated/custom.py b/src/datafactory/azext_datafactory/generated/custom.py index 513e21ca96d..c269c1999ff 100644 --- a/src/datafactory/azext_datafactory/generated/custom.py +++ b/src/datafactory/azext_datafactory/generated/custom.py @@ -7,39 +7,39 @@ # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- +# pylint: disable=line-too-long # pylint: disable=too-many-lines # pylint: disable=unused-argument -import json from knack.util import CLIError from azure.cli.core.util import sdk_no_wait -def datafactory_factory_list(client, - resource_group_name=None): +def datafactory_list(client, + resource_group_name=None): if resource_group_name: return client.list_by_resource_group(resource_group_name=resource_group_name) return client.list() -def datafactory_factory_show(client, - resource_group_name, - factory_name, - if_none_match=None): +def datafactory_show(client, + resource_group_name, + factory_name, + if_none_match=None): return client.get(resource_group_name=resource_group_name, factory_name=factory_name, if_none_match=if_none_match) -def datafactory_factory_create(client, - resource_group_name, - factory_name, - if_match=None, - location=None, - tags=None, - factory_vsts_configuration=None, - factory_git_hub_configuration=None, - global_parameters=None): +def datafactory_create(client, + resource_group_name, + factory_name, + if_match=None, + location=None, + tags=None, + factory_vsts_configuration=None, + factory_git_hub_configuration=None, + global_parameters=None): all_repo_configuration = [] if factory_vsts_configuration is not None: all_repo_configuration.append(factory_vsts_configuration) @@ -49,38 +49,43 @@ def datafactory_factory_create(client, raise CLIError('at most one of factory_vsts_configuration, factory_git_hub_configuration is needed for ' 'repo_configuration!') repo_configuration = all_repo_configuration[0] if len(all_repo_configuration) == 1 else None + factory = {} + factory['location'] = location + factory['tags'] = tags + factory['repo_configuration'] = repo_configuration + factory['global_parameters'] = global_parameters + factory['encryption'] = {} + factory['identity'] = {} return client.create_or_update(resource_group_name=resource_group_name, factory_name=factory_name, if_match=if_match, - location=location, - tags=tags, - identity=None, - repo_configuration=repo_configuration, - global_parameters=global_parameters) + factory=factory) -def datafactory_factory_update(client, - resource_group_name, - factory_name, - tags=None): +def datafactory_update(client, + resource_group_name, + factory_name, + tags=None): + factory_update_parameters = {} + factory_update_parameters['tags'] = tags + factory_update_parameters['identity'] = {} return client.update(resource_group_name=resource_group_name, factory_name=factory_name, - tags=tags, - identity={"type": "SystemAssigned"}) + factory_update_parameters=factory_update_parameters) -def datafactory_factory_delete(client, - resource_group_name, - factory_name): +def datafactory_delete(client, + resource_group_name, + factory_name): return client.delete(resource_group_name=resource_group_name, factory_name=factory_name) -def datafactory_factory_configure_factory_repo(client, - location, - factory_resource_id=None, - factory_vsts_configuration=None, - factory_git_hub_configuration=None): +def datafactory_configure_factory_repo(client, + location, + factory_resource_id=None, + factory_vsts_configuration=None, + factory_git_hub_configuration=None): all_repo_configuration = [] if factory_vsts_configuration is not None: all_repo_configuration.append(factory_vsts_configuration) @@ -90,39 +95,45 @@ def datafactory_factory_configure_factory_repo(client, raise CLIError('at most one of factory_vsts_configuration, factory_git_hub_configuration is needed for ' 'repo_configuration!') repo_configuration = all_repo_configuration[0] if len(all_repo_configuration) == 1 else None + factory_repo_update = {} + factory_repo_update['factory_resource_id'] = factory_resource_id + factory_repo_update['repo_configuration'] = repo_configuration return client.configure_factory_repo(location_id=location, - factory_resource_id=factory_resource_id, - repo_configuration=repo_configuration) + factory_repo_update=factory_repo_update) -def datafactory_factory_get_data_plane_access(client, - resource_group_name, - factory_name, - permissions=None, - access_resource_path=None, - profile_name=None, - start_time=None, - expire_time=None): +def datafactory_get_data_plane_access(client, + resource_group_name, + factory_name, + permissions=None, + access_resource_path=None, + profile_name=None, + start_time=None, + expire_time=None): + policy = {} + policy['permissions'] = permissions + policy['access_resource_path'] = access_resource_path + policy['profile_name'] = profile_name + policy['start_time'] = start_time + policy['expire_time'] = expire_time return client.get_data_plane_access(resource_group_name=resource_group_name, factory_name=factory_name, - permissions=permissions, - access_resource_path=access_resource_path, - profile_name=profile_name, - start_time=start_time, - expire_time=expire_time) - - -def datafactory_factory_get_git_hub_access_token(client, - resource_group_name, - factory_name, - git_hub_access_code, - git_hub_access_token_base_url, - git_hub_client_id=None): + policy=policy) + + +def datafactory_get_git_hub_access_token(client, + resource_group_name, + factory_name, + git_hub_access_code, + git_hub_access_token_base_url, + git_hub_client_id=None): + git_hub_access_token_request = {} + git_hub_access_token_request['git_hub_access_code'] = git_hub_access_code + git_hub_access_token_request['git_hub_client_id'] = git_hub_client_id + git_hub_access_token_request['git_hub_access_token_base_url'] = git_hub_access_token_base_url return client.get_git_hub_access_token(resource_group_name=resource_group_name, factory_name=factory_name, - git_hub_access_code=git_hub_access_code, - git_hub_client_id=git_hub_client_id, - git_hub_access_token_base_url=git_hub_access_token_base_url) + git_hub_access_token_request=git_hub_access_token_request) def datafactory_integration_runtime_list(client, @@ -151,13 +162,15 @@ def datafactory_integration_runtime_linked_integration_runtime_create(client, subscription_id=None, data_factory_name=None, location=None): + create_linked_integration_runtime_request = {} + create_linked_integration_runtime_request['name'] = name + create_linked_integration_runtime_request['subscription_id'] = subscription_id + create_linked_integration_runtime_request['data_factory_name'] = data_factory_name + create_linked_integration_runtime_request['data_factory_location'] = location return client.create_linked_integration_runtime(resource_group_name=resource_group_name, factory_name=factory_name, integration_runtime_name=integration_runtime_name, - name=name, - subscription_id=subscription_id, - data_factory_name=data_factory_name, - data_factory_location=location) + create_linked_integration_runtime_request=create_linked_integration_runtime_request) def datafactory_integration_runtime_managed_create(client, @@ -166,18 +179,19 @@ def datafactory_integration_runtime_managed_create(client, integration_runtime_name, if_match=None, description=None, - type_properties_compute_properties=None, - type_properties_ssis_properties=None): - properties = {} - properties['type'] = 'Managed' - properties['description'] = description - properties['compute_properties'] = type_properties_compute_properties - properties['ssis_properties'] = type_properties_ssis_properties + compute_properties=None, + ssis_properties=None): + integration_runtime = {} + integration_runtime['properties'] = {} + integration_runtime['properties']['type'] = 'Managed' + integration_runtime['properties']['description'] = description + integration_runtime['properties']['compute_properties'] = compute_properties + integration_runtime['properties']['ssis_properties'] = ssis_properties return client.create_or_update(resource_group_name=resource_group_name, factory_name=factory_name, integration_runtime_name=integration_runtime_name, if_match=if_match, - properties=properties) + integration_runtime=integration_runtime) def datafactory_integration_runtime_self_hosted_create(client, @@ -186,16 +200,17 @@ def datafactory_integration_runtime_self_hosted_create(client, integration_runtime_name, if_match=None, description=None, - type_properties_linked_info=None): - properties = {} - properties['type'] = 'SelfHosted' - properties['description'] = description - properties['linked_info'] = type_properties_linked_info + linked_info=None): + integration_runtime = {} + integration_runtime['properties'] = {} + integration_runtime['properties']['type'] = 'SelfHosted' + integration_runtime['properties']['description'] = description + integration_runtime['properties']['linked_info'] = linked_info return client.create_or_update(resource_group_name=resource_group_name, factory_name=factory_name, integration_runtime_name=integration_runtime_name, if_match=if_match, - properties=properties) + integration_runtime=integration_runtime) def datafactory_integration_runtime_update(client, @@ -204,11 +219,13 @@ def datafactory_integration_runtime_update(client, integration_runtime_name, auto_update=None, update_delay_offset=None): + update_integration_runtime_request = {} + update_integration_runtime_request['auto_update'] = auto_update + update_integration_runtime_request['update_delay_offset'] = update_delay_offset return client.update(resource_group_name=resource_group_name, factory_name=factory_name, integration_runtime_name=integration_runtime_name, - auto_update=auto_update, - update_delay_offset=update_delay_offset) + update_integration_runtime_request=update_integration_runtime_request) def datafactory_integration_runtime_delete(client, @@ -251,9 +268,9 @@ def datafactory_integration_runtime_list_auth_key(client, resource_group_name, factory_name, integration_runtime_name): - return client.list_auth_key(resource_group_name=resource_group_name, - factory_name=factory_name, - integration_runtime_name=integration_runtime_name) + return client.list_auth_keys(resource_group_name=resource_group_name, + factory_name=factory_name, + integration_runtime_name=integration_runtime_name) def datafactory_integration_runtime_regenerate_auth_key(client, @@ -261,10 +278,12 @@ def datafactory_integration_runtime_regenerate_auth_key(client, factory_name, integration_runtime_name, key_name=None): + regenerate_key_parameters = {} + regenerate_key_parameters['key_name'] = key_name return client.regenerate_auth_key(resource_group_name=resource_group_name, factory_name=factory_name, integration_runtime_name=integration_runtime_name, - key_name=key_name) + regenerate_key_parameters=regenerate_key_parameters) def datafactory_integration_runtime_remove_link(client, @@ -272,10 +291,12 @@ def datafactory_integration_runtime_remove_link(client, factory_name, integration_runtime_name, linked_factory_name): - return client.remove_link(resource_group_name=resource_group_name, - factory_name=factory_name, - integration_runtime_name=integration_runtime_name, - linked_factory_name=linked_factory_name) + linked_integration_runtime_request = {} + linked_integration_runtime_request['linked_factory_name'] = linked_factory_name + return client.remove_links(resource_group_name=resource_group_name, + factory_name=factory_name, + integration_runtime_name=integration_runtime_name, + linked_integration_runtime_request=linked_integration_runtime_request) def datafactory_integration_runtime_start(client, @@ -337,11 +358,13 @@ def datafactory_integration_runtime_node_update(client, integration_runtime_name, node_name, concurrent_jobs_limit=None): + update_integration_runtime_node_request = {} + update_integration_runtime_node_request['concurrent_jobs_limit'] = concurrent_jobs_limit return client.update(resource_group_name=resource_group_name, factory_name=factory_name, integration_runtime_name=integration_runtime_name, node_name=node_name, - concurrent_jobs_limit=concurrent_jobs_limit) + update_integration_runtime_node_request=update_integration_runtime_node_request) def datafactory_integration_runtime_node_delete(client, @@ -390,11 +413,13 @@ def datafactory_linked_service_create(client, linked_service_name, properties, if_match=None): + linked_service = {} + linked_service['properties'] = properties return client.create_or_update(resource_group_name=resource_group_name, factory_name=factory_name, linked_service_name=linked_service_name, if_match=if_match, - properties=properties) + linked_service=linked_service) def datafactory_linked_service_update(instance, @@ -414,7 +439,7 @@ def datafactory_linked_service_update(instance, instance.properties.parameters = parameters if annotations is not None: instance.properties.annotations = annotations - return instance.properties + return instance def datafactory_linked_service_delete(client, @@ -450,11 +475,13 @@ def datafactory_dataset_create(client, dataset_name, properties, if_match=None): + dataset = {} + dataset['properties'] = properties return client.create_or_update(resource_group_name=resource_group_name, factory_name=factory_name, dataset_name=dataset_name, if_match=if_match, - properties=properties) + dataset=dataset) def datafactory_dataset_update(instance, @@ -483,7 +510,7 @@ def datafactory_dataset_update(instance, instance.properties.annotations = annotations if folder is not None: instance.properties.folder = folder - return instance.properties + return instance def datafactory_dataset_delete(client, @@ -538,6 +565,7 @@ def datafactory_pipeline_update(instance, concurrency=None, annotations=None, run_dimensions=None, + duration=None, folder_name=None): if description is not None: instance.description = description @@ -553,8 +581,10 @@ def datafactory_pipeline_update(instance, instance.annotations = annotations if run_dimensions is not None: instance.run_dimensions = run_dimensions + if duration is not None: + instance.elapsed_time_metric.duration = duration if folder_name is not None: - instance.name_folder_name = folder_name + instance.folder.name = folder_name return instance @@ -614,13 +644,15 @@ def datafactory_pipeline_run_query_by_factory(client, continuation_token=None, filters=None, order_by=None): + filter_parameters = {} + filter_parameters['continuation_token'] = continuation_token + filter_parameters['last_updated_after'] = last_updated_after + filter_parameters['last_updated_before'] = last_updated_before + filter_parameters['filters'] = filters + filter_parameters['order_by'] = order_by return client.query_by_factory(resource_group_name=resource_group_name, factory_name=factory_name, - continuation_token_parameter=continuation_token, - last_updated_after=last_updated_after, - last_updated_before=last_updated_before, - filters=filters, - order_by=order_by) + filter_parameters=filter_parameters) def datafactory_activity_run_query_by_pipeline_run(client, @@ -632,14 +664,16 @@ def datafactory_activity_run_query_by_pipeline_run(client, continuation_token=None, filters=None, order_by=None): + filter_parameters = {} + filter_parameters['continuation_token'] = continuation_token + filter_parameters['last_updated_after'] = last_updated_after + filter_parameters['last_updated_before'] = last_updated_before + filter_parameters['filters'] = filters + filter_parameters['order_by'] = order_by return client.query_by_pipeline_run(resource_group_name=resource_group_name, factory_name=factory_name, run_id=run_id, - continuation_token_parameter=continuation_token, - last_updated_after=last_updated_after, - last_updated_before=last_updated_before, - filters=filters, - order_by=order_by) + filter_parameters=filter_parameters) def datafactory_trigger_list(client, @@ -666,11 +700,13 @@ def datafactory_trigger_create(client, trigger_name, properties, if_match=None): + trigger = {} + trigger['properties'] = properties return client.create_or_update(resource_group_name=resource_group_name, factory_name=factory_name, trigger_name=trigger_name, if_match=if_match, - properties=properties) + trigger=trigger) def datafactory_trigger_update(instance, @@ -684,7 +720,7 @@ def datafactory_trigger_update(instance, instance.properties.description = description if annotations is not None: instance.properties.annotations = annotations - return instance.properties + return instance def datafactory_trigger_delete(client, @@ -710,10 +746,12 @@ def datafactory_trigger_query_by_factory(client, factory_name, continuation_token=None, parent_trigger_name=None): + filter_parameters = {} + filter_parameters['continuation_token'] = continuation_token + filter_parameters['parent_trigger_name'] = parent_trigger_name return client.query_by_factory(resource_group_name=resource_group_name, factory_name=factory_name, - continuation_token_parameter=continuation_token, - parent_trigger_name=parent_trigger_name) + filter_parameters=filter_parameters) def datafactory_trigger_start(client, @@ -746,7 +784,7 @@ def datafactory_trigger_subscribe_to_event(client, trigger_name, no_wait=False): return sdk_no_wait(no_wait, - client.begin_subscribe_to_event, + client.begin_subscribe_to_events, resource_group_name=resource_group_name, factory_name=factory_name, trigger_name=trigger_name) @@ -758,7 +796,7 @@ def datafactory_trigger_unsubscribe_from_event(client, trigger_name, no_wait=False): return sdk_no_wait(no_wait, - client.begin_unsubscribe_from_event, + client.begin_unsubscribe_from_events, resource_group_name=resource_group_name, factory_name=factory_name, trigger_name=trigger_name) @@ -783,13 +821,15 @@ def datafactory_trigger_run_query_by_factory(client, continuation_token=None, filters=None, order_by=None): + filter_parameters = {} + filter_parameters['continuation_token'] = continuation_token + filter_parameters['last_updated_after'] = last_updated_after + filter_parameters['last_updated_before'] = last_updated_before + filter_parameters['filters'] = filters + filter_parameters['order_by'] = order_by return client.query_by_factory(resource_group_name=resource_group_name, factory_name=factory_name, - continuation_token_parameter=continuation_token, - last_updated_after=last_updated_after, - last_updated_before=last_updated_before, - filters=filters, - order_by=order_by) + filter_parameters=filter_parameters) def datafactory_trigger_run_rerun(client, diff --git a/src/datafactory/azext_datafactory/manual/_help.py b/src/datafactory/azext_datafactory/manual/_help.py new file mode 100644 index 00000000000..cbc8eb2f3e5 --- /dev/null +++ b/src/datafactory/azext_datafactory/manual/_help.py @@ -0,0 +1,91 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=too-many-lines + +from knack.help_files import helps + + +helps['datafactory create'] = """ + type: command + short-summary: "Create a factory." + parameters: + - name: --factory-vsts-configuration --vsts-config + short-summary: "Factory's VSTS repo information." + long-summary: | + Usage: --factory-vsts-configuration project-name=XX tenant-id=XX type=XX account-name=XX \ +repository-name=XX collaboration-branch=XX root-folder=XX last-commit-id=XX + + project-name: Required. VSTS project name. + tenant-id: VSTS tenant id. + type: Required. Type of repo configuration. + account-name: Required. Account name. + repository-name: Required. Repository name. + collaboration-branch: Required. Collaboration branch. + root-folder: Required. Root folder. + last-commit-id: Last commit id. + - name: --factory-git-hub-configuration --github-config + short-summary: "Factory's GitHub repo information." + long-summary: | + Usage: --factory-git-hub-configuration host-name=XX type=XX account-name=XX repository-name=XX \ +collaboration-branch=XX root-folder=XX last-commit-id=XX + + host-name: GitHub Enterprise host name. For example: https://github.mydomain.com + type: Required. Type of repo configuration. + account-name: Required. Account name. + repository-name: Required. Repository name. + collaboration-branch: Required. Collaboration branch. + root-folder: Required. Root folder. + last-commit-id: Last commit id. + examples: + - name: Factories_CreateOrUpdate + text: |- + az datafactory create --location "East US" --name "exampleFactoryName" --resource-group \ +"exampleResourceGroup" +""" + +helps['datafactory configure-factory-repo'] = """ + type: command + short-summary: "Updates a factory's repo information." + parameters: + - name: --factory-vsts-configuration --vsts-config + short-summary: "Factory's VSTS repo information." + long-summary: | + Usage: --factory-vsts-configuration project-name=XX tenant-id=XX type=XX account-name=XX \ +repository-name=XX collaboration-branch=XX root-folder=XX last-commit-id=XX + + project-name: Required. VSTS project name. + tenant-id: VSTS tenant id. + type: Required. Type of repo configuration. + account-name: Required. Account name. + repository-name: Required. Repository name. + collaboration-branch: Required. Collaboration branch. + root-folder: Required. Root folder. + last-commit-id: Last commit id. + - name: --factory-git-hub-configuration --github-config + short-summary: "Factory's GitHub repo information." + long-summary: | + Usage: --factory-git-hub-configuration host-name=XX type=XX account-name=XX repository-name=XX \ +collaboration-branch=XX root-folder=XX last-commit-id=XX + + host-name: GitHub Enterprise host name. For example: https://github.mydomain.com + type: Required. Type of repo configuration. + account-name: Required. Account name. + repository-name: Required. Repository name. + collaboration-branch: Required. Collaboration branch. + root-folder: Required. Root folder. + last-commit-id: Last commit id. + examples: + - name: Factories_ConfigureFactoryRepo + text: |- + az datafactory configure-factory-repo --factory-resource-id "/subscriptions/12345678-1234-1234-1234-1234\ +5678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.DataFactory/factories/exampleFactoryName" \ +--factory-vsts-configuration account-name="ADF" collaboration-branch="master" last-commit-id="" project-name="project" \ +repository-name="repo" root-folder="/" tenant-id="" --location "East US" +""" diff --git a/src/datafactory/azext_datafactory/manual/_params.py b/src/datafactory/azext_datafactory/manual/_params.py new file mode 100644 index 00000000000..2fac10a33d2 --- /dev/null +++ b/src/datafactory/azext_datafactory/manual/_params.py @@ -0,0 +1,35 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from azext_datafactory.action import ( + AddFactoryVstsConfiguration, + AddFactoryGitHubConfiguration +) + + +def load_arguments(self, _): + + with self.argument_context('datafactory create') as c: + c.argument('factory_vsts_configuration', options_list=['--vsts-config', '--factory-vsts-configuration'], + action=AddFactoryVstsConfiguration, nargs='+', help='Factory\'s VSTS repo information.', + arg_group='RepoConfiguration') + c.argument('factory_git_hub_configuration', + options_list=['--github-config', '--factory-git-hub-configuration'], + action=AddFactoryGitHubConfiguration, nargs='+', help='Factory\'s GitHub repo information.', + arg_group='RepoConfiguration') + + with self.argument_context('datafactory configure-factory-repo') as c: + c.argument('factory_vsts_configuration', options_list=['--vsts-config', '--factory-vsts-configuration'], + action=AddFactoryVstsConfiguration, nargs='+', help='Factory\'s VSTS repo information.', + arg_group='RepoConfiguration') + c.argument('factory_git_hub_configuration', + options_list=['--github-config', '--factory-git-hub-configuration'], + action=AddFactoryGitHubConfiguration, nargs='+', help='Factory\'s GitHub repo information.', + arg_group='RepoConfiguration') diff --git a/src/datafactory/azext_datafactory/manual/custom.py b/src/datafactory/azext_datafactory/manual/custom.py index 5b91fcd37d9..7a96c61335b 100644 --- a/src/datafactory/azext_datafactory/manual/custom.py +++ b/src/datafactory/azext_datafactory/manual/custom.py @@ -11,30 +11,45 @@ from knack.util import CLIError -def datafactory_factory_create(client, - resource_group_name, - factory_name, - if_match=None, - location=None, - tags=None, - factory_vsts_configuration=None, - factory_git_hub_configuration=None, - global_parameters=None): +def datafactory_create(client, + resource_group_name, + factory_name, + if_match=None, + location=None, + tags=None, + factory_vsts_configuration=None, + factory_git_hub_configuration=None, + global_parameters=None): from azext_datafactory.vendored_sdks.datafactory.models import FactoryIdentity + from azext_datafactory.vendored_sdks.datafactory.models import FactoryIdentityType all_repo_configuration = [] if factory_vsts_configuration is not None: all_repo_configuration.append(factory_vsts_configuration) if factory_git_hub_configuration is not None: all_repo_configuration.append(factory_git_hub_configuration) if len(all_repo_configuration) > 1: - raise CLIError('At most one of --factory-vsts-configuration, --factory-git-hub-configuration is needed for ' - 'repo configuration!') + raise CLIError('At most one of factory_vsts_configuration, factory_git_hub_configuration is needed for ' + 'repo_configuration!') repo_configuration = all_repo_configuration[0] if len(all_repo_configuration) == 1 else None + factory = {} + factory['location'] = location + factory['tags'] = tags + factory['repo_configuration'] = repo_configuration + factory['global_parameters'] = global_parameters + factory['encryption'] = {} + factory['identity'] = FactoryIdentity(type=FactoryIdentityType.SYSTEM_ASSIGNED) return client.create_or_update(resource_group_name=resource_group_name, factory_name=factory_name, if_match=if_match, - location=location, - tags=tags, - identity=FactoryIdentity(), - repo_configuration=repo_configuration, - global_parameters=global_parameters) + factory=factory) + + +def datafactory_update(client, + resource_group_name, + factory_name, + tags=None): + factory_update_parameters = {} + factory_update_parameters['tags'] = tags + return client.update(resource_group_name=resource_group_name, + factory_name=factory_name, + factory_update_parameters=factory_update_parameters) diff --git a/src/datafactory/azext_datafactory/manual/tests/latest/test_datafactory_scenario.py b/src/datafactory/azext_datafactory/manual/tests/latest/test_datafactory_scenario.py index 0db57afba69..64fc8cefe48 100644 --- a/src/datafactory/azext_datafactory/manual/tests/latest/test_datafactory_scenario.py +++ b/src/datafactory/azext_datafactory/manual/tests/latest/test_datafactory_scenario.py @@ -10,7 +10,7 @@ # EXAMPLE: IntegrationRuntimes_Create -def step_integrationruntimes_create(test, rg): +def step_integration_runtime_create(test, rg): test.cmd('az datafactory integration-runtime self-hosted create ' '--factory-name "{myFactory}" ' '--description "A selfhosted integration runtime" ' @@ -22,7 +22,7 @@ def step_integrationruntimes_create(test, rg): ]) -def step_triggerruns_rerun(test, rg): +def step_trigger_run_rerun(test, rg): test.cmd('az datafactory trigger-run rerun ' '--factory-name "{myFactory}" ' '--resource-group "{rg}" ' @@ -31,7 +31,7 @@ def step_triggerruns_rerun(test, rg): checks=[]) -def step_pipelines_createrun(test, rg): +def step_pipeline_create_run(test, rg): output = test.cmd('az datafactory pipeline create-run ' '--factory-name "{myFactory}" ' '--parameters "{{\\"OutputBlobNameList\\":[\\"exampleoutput.csv\\"]}}" ' @@ -41,7 +41,7 @@ def step_pipelines_createrun(test, rg): return output -def step_pipelineruns_cancel(test, rg): +def step_pipeline_run_cancel(test, rg): test.cmd('az datafactory pipeline-run cancel ' '--factory-name "{myFactory}" ' '--resource-group "{rg}" ' @@ -49,7 +49,7 @@ def step_pipelineruns_cancel(test, rg): checks=[]) -def step_pipelineruns_get(test, rg): +def step_pipeline_run_show(test, rg): test.cmd('az datafactory pipeline-run show ' '--factory-name "{myFactory}" ' '--resource-group "{rg}" ' @@ -57,7 +57,7 @@ def step_pipelineruns_get(test, rg): checks=[]) -def step_pipelines_update(test, rg): +def step_pipeline_update(test, rg): test.cmd('az datafactory pipeline update ' '--factory-name "{myFactory}" ' '--description "Test Update description" ' @@ -66,7 +66,7 @@ def step_pipelines_update(test, rg): checks=[]) -def step_triggerruns_querybyfactory(test, rg): +def step_trigger_run_query_by_factory(test, rg): output = test.cmd('az datafactory trigger-run query-by-factory ' '--factory-name "{myFactory}" ' '--last-updated-after "{myStartTime}" ' @@ -76,16 +76,16 @@ def step_triggerruns_querybyfactory(test, rg): return output -def step_integrationruntimes_managed_create(test, rg): +def step_integration_runtime_managed_create(test, rg): test.cmd('az datafactory integration-runtime managed create ' '--factory-name "{myFactory}" ' '--name "{myIntegrationRuntime}" ' '--resource-group "{rg}" ' '--description "Managed Integration Runtime" ' - '--type-properties-compute-properties "{{\\"location\\":' + '--compute-properties "{{\\"location\\":' '\\"East US 2\\",\\"nodeSize\\":\\"Standard_D2_v3\\",' '\\"numberOfNodes\\":1,\\"maxParallelExecutionsPerNode\\":2}}" ' - '--type-properties-ssis-properties "{{\\"edition\\":\\"Standard' + '--ssis-properties "{{\\"edition\\":\\"Standard' '\\",\\"licenseType\\":\\"LicenseIncluded\\"}}" ', checks=[ test.check('name', "{myIntegrationRuntime}"), @@ -93,7 +93,7 @@ def step_integrationruntimes_managed_create(test, rg): ]) -def step_pipelines_wait_create(test, rg): +def step_pipeline_wait_create(test, rg): test.cmd('az datafactory pipeline create ' '--factory-name "{myFactory}" ' '--pipeline "{{\\"activities\\":[{{\\"name\\":\\"Wait1\\",' @@ -108,7 +108,7 @@ def step_pipelines_wait_create(test, rg): ]) -def step_triggers_tumble_create(test, rg): +def step_trigger_tumble_create(test, rg): test.cmd('az datafactory trigger create ' '--resource-group "{rg}" ' '--properties "{{\\"description\\":\\"trumblingwindowtrigger' @@ -132,38 +132,38 @@ def step_triggers_tumble_create(test, rg): def call_managed_integrationruntime_scenario(test, rg): from ....tests.latest import test_datafactory_scenario as g - g.setup(test, rg) - g.step_factories_createorupdate(test, rg) - step_integrationruntimes_managed_create(test, rg) - g.step_integrationruntimes_get(test, rg) + g.setup_scenario(test, rg) + g.step_create(test, rg) + step_integration_runtime_managed_create(test, rg) + g.step_integration_runtime_show(test, rg) test.kwargs.update({'myIntegrationRuntime2': test.kwargs.get('myIntegrationRuntime')}) - g.step_integrationruntimes_start(test, rg) - g.step_integrationruntimes_stop(test, rg) - g.step_integrationruntimes_delete(test, rg) - g.step_factories_delete(test, rg) - g.cleanup(test, rg) + g.step_integration_runtime_start(test, rg) + g.step_integration_runtime_stop(test, rg) + g.step_integration_runtime_delete(test, rg) + g.step_delete(test, rg) + g.cleanup_scenario(test, rg) def call_triggerrun_scenario(test, rg): from ....tests.latest import test_datafactory_scenario as g import time - g.setup(test, rg) - g.step_factories_createorupdate(test, rg) - step_pipelines_wait_create(test, rg) - createrun_res = g.step_pipelines_createrun(test, rg) + g.setup_scenario(test, rg) + g.step_create(test, rg) + step_pipeline_wait_create(test, rg) + createrun_res = step_pipeline_create_run(test, rg) time.sleep(5) test.kwargs.update({'myRunId': createrun_res.get('runId')}) - g.step_pipelineruns_get(test, rg) - g.step_activityruns_querybypipelinerun(test, rg) - createrun_res = g.step_pipelines_createrun(test, rg) + step_pipeline_run_show(test, rg) + g.step_activity_run_query_by_pipeline_run(test, rg) + createrun_res = step_pipeline_create_run(test, rg) test.kwargs.update({'myRunId': createrun_res.get('runId')}) - g.step_pipelineruns_cancel(test, rg) - step_triggers_tumble_create(test, rg) - g.step_triggers_start(test, rg) - g.step_triggers_get(test, rg) + step_pipeline_run_cancel(test, rg) + step_trigger_tumble_create(test, rg) + g.step_trigger_start(test, rg) + g.step_trigger_show(test, rg) maxRound = 2 while True: - triggerrun_res = g.step_triggerruns_querybyfactory(test, rg) + triggerrun_res = step_trigger_run_query_by_factory(test, rg) if len(triggerrun_res['value']) > 0 and triggerrun_res['value'][0]['status'] == 'Succeeded': test.kwargs.update({'myRunId': triggerrun_res['value'][0]['triggerRunId']}) break @@ -175,79 +175,74 @@ def call_triggerrun_scenario(test, rg): else: break if maxRound > 0: - g.step_triggerruns_rerun(test, rg) - g.step_triggerruns_querybyfactory(test, rg) - g.step_triggers_stop(test, rg) - g.step_triggers_delete(test, rg) - g.step_pipelines_delete(test, rg) - g.step_factories_delete(test, rg) + step_trigger_run_rerun(test, rg) + step_trigger_run_query_by_factory(test, rg) + g.step_trigger_stop(test, rg) + g.step_trigger_delete(test, rg) + g.step_pipeline_delete(test, rg) + g.step_delete(test, rg) + g.cleanup_scenario(test, rg) def call_main_scenario(test, rg): from ....tests.latest import test_datafactory_scenario as g - g.setup(test, rg) - g.step_factories_createorupdate(test, rg) - g.step_factories_update(test, rg) - g.step_linkedservices_create(test, rg) - g.step_linkedservices_update(test, rg) - g.step_datasets_create(test, rg) - g.step_datasets_update(test, rg) - g.step_pipelines_create(test, rg) - g.step_pipelines_update(test, rg) - g.step_triggers_create(test, rg) - g.step_triggers_update(test, rg) - g.step_integrationruntimes_create(test, rg) - g.step_integrationruntimes_update(test, rg) - g.step_pipelines_createrun(test, rg) - g.step_integrationruntimes_get(test, rg) - g.step_reruntriggers_listbytrigger(test, rg) - g.step_linkedservices_get(test, rg) - # g.step_pipelineruns_get(test, rg) - g.step_pipelines_get(test, rg) - g.step_datasets_get(test, rg) - g.step_triggers_get(test, rg) - g.step_integrationruntimes_listbyfactory(test, rg) - g.step_linkedservices_listbyfactory(test, rg) - g.step_pipelines_listbyfactory(test, rg) - g.step_triggers_listbyfactory(test, rg) - g.step_datasets_listbyfactory(test, rg) - g.step_factories_get(test, rg) - g.step_factories_listbyresourcegroup(test, rg) - g.step_factories_list(test, rg) - g.step_operations_list(test, rg) - # g.step_reruntriggers_cancel(test, rg) - # g.step_reruntriggers_start(test, rg) - # g.step_reruntriggers_stop(test, rg) - g.step_integrationruntimes_regenerateauthkey(test, rg) - # g.step_triggerruns_rerun(test, rg) - # g.step_integrationruntimes_getconnectioninfo(test, rg) - g.step_integrationruntimes_synccredentials(test, rg) - g.step_integrationruntimes_getmonitoringdata(test, rg) - g.step_integrationruntimes_listauthkeys(test, rg) - g.step_integrationruntimes_upgrade(test, rg) - g.step_integrationruntimes_getstatus(test, rg) - # g.step_integrationruntimes_start(test, rg) - # g.step_integrationruntimes_stop(test, rg) + g.setup_scenario(test, rg) + g.step_create(test, rg) + g.step_update(test, rg) + g.step_linked_service_create(test, rg) + g.step_linked_service_update(test, rg) + g.step_dataset_create(test, rg) + g.step_dataset_update(test, rg) + g.step_pipeline_create(test, rg) + step_pipeline_update(test, rg) + g.step_trigger_create(test, rg) + g.step_trigger_update(test, rg) + g.step_integration_runtime_self_hosted_create(test, rg) + g.step_integration_runtime_update(test, rg) + # g.step_integration_runtime_linked(test, rg) + step_pipeline_create_run(test, rg) + g.step_integration_runtime_show(test, rg) + g.step_linked_service_show(test, rg) + g.step_pipeline_show(test, rg) + g.step_dataset_show(test, rg) + g.step_trigger_show(test, rg) + g.step_integration_runtime_list(test, rg) + g.step_linked_service_list(test, rg) + g.step_pipeline_list(test, rg) + g.step_trigger_list(test, rg) + g.step_dataset_list(test, rg) + g.step_show(test, rg) + g.step_list2(test, rg) + g.step_list(test, rg) + g.step_integration_runtime_regenerate_auth_key(test, rg) + # g.step_integration_runtime_get_connection_info(test, rg) + g.step_integration_runtime_sync_credentials(test, rg) + g.step_integration_runtime_get_monitoring_data(test, rg) + g.step_integration_runtime_list_auth_key(test, rg) + g.step_integration_runtime_remove_link(test, rg) + g.step_integration_runtime_get_status(test, rg) + # g.step_integration_runtime_start(test, rg) + # g.step_integration_runtime_stop(test, rg) # g.step_integrationruntimes_createlinkedintegrationruntime(test, rg) - g.step_triggers_geteventsubscriptionstatus(test, rg) - # g.step_activityruns_querybypipelinerun(test, rg) - g.step_triggers_unsubscribefromevents(test, rg) - g.step_triggers_subscribetoevents(test, rg) - g.step_triggers_start(test, rg) - g.step_triggers_stop(test, rg) - # g.step_factories_getgithubaccesstoken(test, rg) - g.step_factories_getdataplaneaccess(test, rg) - # g.step_pipelineruns_querybyfactory(test, rg) - # g.step_pipelineruns_cancel(test, rg) - g.step_triggerruns_querybyfactory(test, rg) - g.step_factories_configurefactoryrepo(test, rg) - g.step_integrationruntimes_delete(test, rg) - g.step_triggers_delete(test, rg) - g.step_pipelines_delete(test, rg) - g.step_datasets_delete(test, rg) - g.step_linkedservices_delete(test, rg) - g.step_factories_delete(test, rg) - g.cleanup(test, rg) + g.step_trigger_get_event_subscription_status(test, rg) + # g.step_activity_run_query_by_pipeline_run(test, rg) + g.step_trigger_unsubscribe_from_event(test, rg) + g.step_trigger_subscribe_to_event(test, rg) + g.step_trigger_start(test, rg) + g.step_trigger_stop(test, rg) + # g.step_get_git_hub_access_token(test, rg) + g.step_get_data_plane_access(test, rg) + # g.step_pipeline_run_query_by_factory(test, rg) + # g.step_pipeline_run_cancel(test, rg) + step_trigger_run_query_by_factory(test, rg) + g.step_configure_factory_repo(test, rg) + g.step_integration_runtime_delete(test, rg) + g.step_trigger_delete(test, rg) + g.step_pipeline_delete(test, rg) + g.step_dataset_delete(test, rg) + g.step_linked_service_delete(test, rg) + g.step_delete(test, rg) + g.cleanup_scenario(test, rg) def call_scenario(test, rg): diff --git a/src/datafactory/azext_datafactory/manual/version.py b/src/datafactory/azext_datafactory/manual/version.py index 4ddd487b20e..c061ba7d594 100644 --- a/src/datafactory/azext_datafactory/manual/version.py +++ b/src/datafactory/azext_datafactory/manual/version.py @@ -8,4 +8,4 @@ # regenerated. # -------------------------------------------------------------------------- -VERSION = "0.2.1" +VERSION = "0.3.0" diff --git a/src/datafactory/azext_datafactory/tests/__init__.py b/src/datafactory/azext_datafactory/tests/__init__.py index 50e0627daff..70488e93851 100644 --- a/src/datafactory/azext_datafactory/tests/__init__.py +++ b/src/datafactory/azext_datafactory/tests/__init__.py @@ -31,8 +31,8 @@ def try_manual(func): def import_manual_function(origin_func): from importlib import import_module - decorated_path = inspect.getfile(origin_func) - module_path = __path__[0] + decorated_path = inspect.getfile(origin_func).lower() + module_path = __path__[0].lower() if not decorated_path.startswith(module_path): raise Exception("Decorator can only be used in submodules!") manual_path = os.path.join( @@ -46,7 +46,6 @@ def import_manual_function(origin_func): def get_func_to_call(): func_to_call = func try: - func_to_call = import_manual_function(func) func_to_call = import_manual_function(func) logger.info("Found manual override for %s(...)", func.__name__) except (ImportError, AttributeError): @@ -66,6 +65,9 @@ def wrapper(*args, **kwargs): ret = func_to_call(*args, **kwargs) except (AssertionError, AzureError, CliTestError, CliExecutionError, SystemExit, JMESPathCheckAssertionError) as e: + use_exception_cache = os.getenv("TEST_EXCEPTION_CACHE") + if use_exception_cache is None or use_exception_cache.lower() != "true": + raise test_map[func.__name__]["end_dt"] = dt.datetime.utcnow() test_map[func.__name__]["result"] = FAILED test_map[func.__name__]["error_message"] = str(e).replace("\r\n", " ").replace("\n", " ")[:500] diff --git a/src/datafactory/azext_datafactory/tests/latest/example_steps.py b/src/datafactory/azext_datafactory/tests/latest/example_steps.py new file mode 100644 index 00000000000..42222d4e576 --- /dev/null +++ b/src/datafactory/azext_datafactory/tests/latest/example_steps.py @@ -0,0 +1,822 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +# pylint: disable=unused-argument + + +from .. import try_manual + + +# EXAMPLE: /Factories/put/Factories_CreateOrUpdate +@try_manual +def step_create(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory create ' + '--location "East US" ' + '--name "{myFactory}" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /Factories/get/Factories_Get +@try_manual +def step_show(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory show ' + '--name "{myFactory}" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /Factories/get/Factories_List +@try_manual +def step_list(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory list ' + '-g ""', + checks=checks) + + +# EXAMPLE: /Factories/get/Factories_ListByResourceGroup +@try_manual +def step_list2(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory list ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /Factories/patch/Factories_Update +@try_manual +def step_update(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory update ' + '--name "{myFactory}" ' + '--tags exampleTag="exampleValue" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /Factories/post/Factories_ConfigureFactoryRepo +@try_manual +def step_configure_factory_repo(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory configure-factory-repo ' + '--factory-resource-id "/subscriptions/{subscription_id}/resourceGroups/{rg}/providers/Microsoft.DataFacto' + 'ry/factories/{myFactory}" ' + '--factory-vsts-configuration account-name="ADF" collaboration-branch="master" last-commit-id="" ' + 'project-name="project" repository-name="repo" root-folder="/" tenant-id="" ' + '--location "East US"', + checks=checks) + + +# EXAMPLE: /Factories/post/Factories_GetDataPlaneAccess +@try_manual +def step_get_data_plane_access(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory get-data-plane-access ' + '--name "{myFactory}" ' + '--access-resource-path "" ' + '--expire-time "2018-11-10T09:46:20.2659347Z" ' + '--permissions "r" ' + '--profile-name "DefaultProfile" ' + '--start-time "2018-11-10T02:46:20.2659347Z" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /Factories/post/Factories_GetGitHubAccessToken +@try_manual +def step_get_git_hub_access_token(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory get-git-hub-access-token ' + '--name "{myFactory}" ' + '--git-hub-access-code "some" ' + '--git-hub-access-token-base-url "some" ' + '--git-hub-client-id "some" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /ActivityRuns/post/ActivityRuns_QueryByPipelineRun +@try_manual +def step_activity_run_query_by_pipeline_run(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory activity-run query-by-pipeline-run ' + '--factory-name "{myFactory}" ' + '--last-updated-after "2018-06-16T00:36:44.3345758Z" ' + '--last-updated-before "2018-06-16T00:49:48.3686473Z" ' + '--resource-group "{rg}" ' + '--run-id "2f7fdb90-5df1-4b8e-ac2f-064cfa58202b"', + checks=checks) + + +# EXAMPLE: /Datasets/put/Datasets_Create +@try_manual +def step_dataset_create(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory dataset create ' + '--properties "{{\\"type\\":\\"AzureBlob\\",\\"linkedServiceName\\":{{\\"type\\":\\"LinkedServiceReference' + '\\",\\"referenceName\\":\\"{myLinkedService}\\"}},\\"parameters\\":{{\\"MyFileName\\":{{\\"type\\":\\"Str' + 'ing\\"}},\\"MyFolderPath\\":{{\\"type\\":\\"String\\"}}}},\\"typeProperties\\":{{\\"format\\":{{\\"type\\' + '":\\"TextFormat\\"}},\\"fileName\\":{{\\"type\\":\\"Expression\\",\\"value\\":\\"@dataset().MyFileName\\"' + '}},\\"folderPath\\":{{\\"type\\":\\"Expression\\",\\"value\\":\\"@dataset().MyFolderPath\\"}}}}}}" ' + '--name "{myDataset}" ' + '--factory-name "{myFactory}" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /Datasets/put/Datasets_Update +@try_manual +def step_dataset_update(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory dataset update ' + '--description "Example description" ' + '--linked-service-name "{{\\"type\\":\\"LinkedServiceReference\\",\\"referenceName\\":\\"{myLinkedService}' + '\\"}}" ' + '--parameters "{{\\"MyFileName\\":{{\\"type\\":\\"String\\"}},\\"MyFolderPath\\":{{\\"type\\":\\"String\\"' + '}}}}" ' + '--name "{myDataset}" ' + '--factory-name "{myFactory}" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /Datasets/get/Datasets_Get +@try_manual +def step_dataset_show(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory dataset show ' + '--name "{myDataset}" ' + '--factory-name "{myFactory}" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /Datasets/get/Datasets_ListByFactory +@try_manual +def step_dataset_list(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory dataset list ' + '--factory-name "{myFactory}" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /Datasets/delete/Datasets_Delete +@try_manual +def step_dataset_delete(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory dataset delete -y ' + '--name "{myDataset}" ' + '--factory-name "{myFactory}" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /IntegrationRuntimes/put/IntegrationRuntimes_Create +@try_manual +def step_integration_runtime_self_hosted_create(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory integration-runtime self-hosted create ' + '--factory-name "{myFactory}" ' + '--description "A selfhosted integration runtime" ' + '--name "{myIntegrationRuntime}" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /IntegrationRuntimes/get/IntegrationRuntimes_Get +@try_manual +def step_integration_runtime_show(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory integration-runtime show ' + '--factory-name "{myFactory}" ' + '--name "{myIntegrationRuntime}" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /IntegrationRuntimes/get/IntegrationRuntimes_ListByFactory +@try_manual +def step_integration_runtime_list(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory integration-runtime list ' + '--factory-name "{myFactory}" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /IntegrationRuntimes/patch/IntegrationRuntimes_Update +@try_manual +def step_integration_runtime_update(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory integration-runtime update ' + '--factory-name "{myFactory}" ' + '--name "{myIntegrationRuntime}" ' + '--resource-group "{rg}" ' + '--auto-update "Off" ' + '--update-delay-offset "\\"PT3H\\""', + checks=checks) + + +# EXAMPLE: /IntegrationRuntimes/post/IntegrationRuntimes_CreateLinkedIntegrationRuntime +@try_manual +def step_integration_runtime_linked(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory integration-runtime linked-integration-runtime create ' + '--name "bfa92911-9fb6-4fbe-8f23-beae87bc1c83" ' + '--location "West US" ' + '--data-factory-name "e9955d6d-56ea-4be3-841c-52a12c1a9981" ' + '--subscription-id "061774c7-4b5a-4159-a55b-365581830283" ' + '--factory-name "{myFactory}" ' + '--integration-runtime-name "{myIntegrationRuntime}" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /IntegrationRuntimes/post/IntegrationRuntimes_GetConnectionInfo +@try_manual +def step_integration_runtime_get_connection_info(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory integration-runtime get-connection-info ' + '--factory-name "{myFactory}" ' + '--name "{myIntegrationRuntime}" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /IntegrationRuntimes/post/IntegrationRuntimes_GetMonitoringData +@try_manual +def step_integration_runtime_get_monitoring_data(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory integration-runtime get-monitoring-data ' + '--factory-name "{myFactory}" ' + '--name "{myIntegrationRuntime}" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /IntegrationRuntimes/post/IntegrationRuntimes_GetStatus +@try_manual +def step_integration_runtime_get_status(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory integration-runtime get-status ' + '--factory-name "{myFactory}" ' + '--name "{myIntegrationRuntime}" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /IntegrationRuntimes/post/IntegrationRuntimes_ListAuthKeys +@try_manual +def step_integration_runtime_list_auth_key(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory integration-runtime list-auth-key ' + '--factory-name "{myFactory}" ' + '--name "{myIntegrationRuntime}" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /IntegrationRuntimes/post/IntegrationRuntimes_RegenerateAuthKey +@try_manual +def step_integration_runtime_regenerate_auth_key(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory integration-runtime regenerate-auth-key ' + '--factory-name "{myFactory}" ' + '--name "{myIntegrationRuntime}" ' + '--key-name "authKey2" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /IntegrationRuntimes/post/IntegrationRuntimes_Start +@try_manual +def step_integration_runtime_start(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory integration-runtime start ' + '--factory-name "{myFactory}" ' + '--name "{myIntegrationRuntime2}" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /IntegrationRuntimes/post/IntegrationRuntimes_Stop +@try_manual +def step_integration_runtime_stop(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory integration-runtime stop ' + '--factory-name "{myFactory}" ' + '--name "{myIntegrationRuntime2}" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /IntegrationRuntimes/post/IntegrationRuntimes_SyncCredentials +@try_manual +def step_integration_runtime_sync_credentials(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory integration-runtime sync-credentials ' + '--factory-name "{myFactory}" ' + '--name "{myIntegrationRuntime}" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /IntegrationRuntimes/post/IntegrationRuntimes_Upgrade +@try_manual +def step_integration_runtime_remove_link(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory integration-runtime remove-link ' + '--factory-name "{myFactory}" ' + '--name "{myIntegrationRuntime}" ' + '--linked-factory-name "exampleFactoryName-linked" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /IntegrationRuntimeNodes/get/IntegrationRuntimeNodes_Get +@try_manual +def step_integration_runtime_node_show(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory integration-runtime-node show ' + '--factory-name "{myFactory}" ' + '--integration-runtime-name "{myIntegrationRuntime}" ' + '--node-name "Node_1" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /IntegrationRuntimeNodes/patch/IntegrationRuntimeNodes_Update +@try_manual +def step_integration_runtime_node_update(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory integration-runtime-node update ' + '--factory-name "{myFactory}" ' + '--integration-runtime-name "{myIntegrationRuntime}" ' + '--node-name "Node_1" ' + '--resource-group "{rg}" ' + '--concurrent-jobs-limit 2', + checks=checks) + + +# EXAMPLE: /IntegrationRuntimeNodes/post/IntegrationRuntimeNodes_GetIpAddress +@try_manual +def step_integration_runtime_node_get_ip_address(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory integration-runtime-node get-ip-address ' + '--factory-name "{myFactory}" ' + '--integration-runtime-name "{myIntegrationRuntime}" ' + '--node-name "Node_1" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /IntegrationRuntimeNodes/delete/IntegrationRuntimesNodes_Delete +@try_manual +def step_integration_runtime_node_delete(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory integration-runtime-node delete -y ' + '--factory-name "{myFactory}" ' + '--integration-runtime-name "{myIntegrationRuntime}" ' + '--node-name "Node_1" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /IntegrationRuntimes/delete/IntegrationRuntimes_Delete +@try_manual +def step_integration_runtime_delete(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory integration-runtime delete -y ' + '--factory-name "{myFactory}" ' + '--name "{myIntegrationRuntime}" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /LinkedServices/put/LinkedServices_Create +@try_manual +def step_linked_service_create(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory linked-service create ' + '--factory-name "{myFactory}" ' + '--properties "{{\\"type\\":\\"AzureStorage\\",\\"typeProperties\\":{{\\"connectionString\\":{{\\"type\\":' + '\\"SecureString\\",\\"value\\":\\"DefaultEndpointsProtocol=https;AccountName=examplestorageaccount;Accoun' + 'tKey=\\"}}}}}}" ' + '--name "{myLinkedService}" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /LinkedServices/put/LinkedServices_Update +@try_manual +def step_linked_service_update(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory linked-service update ' + '--factory-name "{myFactory}" ' + '--description "Example description" ' + '--name "{myLinkedService}" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /LinkedServices/get/LinkedServices_Get +@try_manual +def step_linked_service_show(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory linked-service show ' + '--factory-name "{myFactory}" ' + '--name "{myLinkedService}" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /LinkedServices/get/LinkedServices_ListByFactory +@try_manual +def step_linked_service_list(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory linked-service list ' + '--factory-name "{myFactory}" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /LinkedServices/delete/LinkedServices_Delete +@try_manual +def step_linked_service_delete(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory linked-service delete -y ' + '--factory-name "{myFactory}" ' + '--name "{myLinkedService}" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /PipelineRuns/get/PipelineRuns_Get +@try_manual +def step_pipeline_run_show(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory pipeline-run show ' + '--factory-name "{myFactory}" ' + '--resource-group "{rg}" ' + '--run-id "2f7fdb90-5df1-4b8e-ac2f-064cfa58202b"', + checks=checks) + + +# EXAMPLE: /PipelineRuns/post/PipelineRuns_Cancel +@try_manual +def step_pipeline_run_cancel(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory pipeline-run cancel ' + '--factory-name "{myFactory}" ' + '--resource-group "{rg}" ' + '--run-id "16ac5348-ff82-4f95-a80d-638c1d47b721"', + checks=checks) + + +# EXAMPLE: /PipelineRuns/post/PipelineRuns_QueryByFactory +@try_manual +def step_pipeline_run_query_by_factory(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory pipeline-run query-by-factory ' + '--factory-name "{myFactory}" ' + '--filters operand="PipelineName" operator="Equals" values="{myPipeline}" ' + '--last-updated-after "2018-06-16T00:36:44.3345758Z" ' + '--last-updated-before "2018-06-16T00:49:48.3686473Z" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /Pipelines/put/Pipelines_Create +@try_manual +def step_pipeline_create(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory pipeline create ' + '--factory-name "{myFactory}" ' + '--pipeline "{{\\"activities\\":[{{\\"name\\":\\"ExampleForeachActivity\\",\\"type\\":\\"ForEach\\",\\"typ' + 'eProperties\\":{{\\"activities\\":[{{\\"name\\":\\"ExampleCopyActivity\\",\\"type\\":\\"Copy\\",\\"inputs' + '\\":[{{\\"type\\":\\"DatasetReference\\",\\"parameters\\":{{\\"MyFileName\\":\\"examplecontainer.csv\\",' + '\\"MyFolderPath\\":\\"examplecontainer\\"}},\\"referenceName\\":\\"{myDataset}\\"}}],\\"outputs\\":[{{\\"' + 'type\\":\\"DatasetReference\\",\\"parameters\\":{{\\"MyFileName\\":{{\\"type\\":\\"Expression\\",\\"value' + '\\":\\"@item()\\"}},\\"MyFolderPath\\":\\"examplecontainer\\"}},\\"referenceName\\":\\"{myDataset}\\"}}],' + '\\"typeProperties\\":{{\\"dataIntegrationUnits\\":32,\\"sink\\":{{\\"type\\":\\"BlobSink\\"}},\\"source\\' + '":{{\\"type\\":\\"BlobSource\\"}}}}}}],\\"isSequential\\":true,\\"items\\":{{\\"type\\":\\"Expression\\",' + '\\"value\\":\\"@pipeline().parameters.OutputBlobNameList\\"}}}}}}],\\"parameters\\":{{\\"JobId\\":{{\\"ty' + 'pe\\":\\"String\\"}},\\"OutputBlobNameList\\":{{\\"type\\":\\"Array\\"}}}},\\"variables\\":{{\\"TestVaria' + 'bleArray\\":{{\\"type\\":\\"Array\\"}}}},\\"runDimensions\\":{{\\"JobId\\":{{\\"type\\":\\"Expression\\",' + '\\"value\\":\\"@pipeline().parameters.JobId\\"}}}},\\"duration\\":\\"0.00:10:00\\"}}" ' + '--name "{myPipeline}" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /Pipelines/put/Pipelines_Update +@try_manual +def step_pipeline_update(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory pipeline update ' + '--factory-name "{myFactory}" ' + '--description "Example description" ' + '--activities "[{{\\"name\\":\\"ExampleForeachActivity\\",\\"type\\":\\"ForEach\\",\\"typeProperties\\":{{' + '\\"activities\\":[{{\\"name\\":\\"ExampleCopyActivity\\",\\"type\\":\\"Copy\\",\\"inputs\\":[{{\\"type\\"' + ':\\"DatasetReference\\",\\"parameters\\":{{\\"MyFileName\\":\\"examplecontainer.csv\\",\\"MyFolderPath\\"' + ':\\"examplecontainer\\"}},\\"referenceName\\":\\"{myDataset}\\"}}],\\"outputs\\":[{{\\"type\\":\\"Dataset' + 'Reference\\",\\"parameters\\":{{\\"MyFileName\\":{{\\"type\\":\\"Expression\\",\\"value\\":\\"@item()\\"}' + '},\\"MyFolderPath\\":\\"examplecontainer\\"}},\\"referenceName\\":\\"{myDataset}\\"}}],\\"typeProperties' + '\\":{{\\"dataIntegrationUnits\\":32,\\"sink\\":{{\\"type\\":\\"BlobSink\\"}},\\"source\\":{{\\"type\\":\\' + '"BlobSource\\"}}}}}}],\\"isSequential\\":true,\\"items\\":{{\\"type\\":\\"Expression\\",\\"value\\":\\"@p' + 'ipeline().parameters.OutputBlobNameList\\"}}}}}}]" ' + '--parameters "{{\\"OutputBlobNameList\\":{{\\"type\\":\\"Array\\"}}}}" ' + '--duration "0.00:10:00" ' + '--name "{myPipeline}" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /Pipelines/get/Pipelines_Get +@try_manual +def step_pipeline_show(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory pipeline show ' + '--factory-name "{myFactory}" ' + '--name "{myPipeline}" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /Pipelines/get/Pipelines_ListByFactory +@try_manual +def step_pipeline_list(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory pipeline list ' + '--factory-name "{myFactory}" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /Pipelines/post/Pipelines_CreateRun +@try_manual +def step_pipeline_create_run(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory pipeline create-run ' + '--factory-name "{myFactory}" ' + '--parameters "{{\\"OutputBlobNameList\\":[\\"exampleoutput.csv\\"]}}" ' + '--name "{myPipeline}" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /Pipelines/delete/Pipelines_Delete +@try_manual +def step_pipeline_delete(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory pipeline delete -y ' + '--factory-name "{myFactory}" ' + '--name "{myPipeline}" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /Triggers/put/Triggers_Create +@try_manual +def step_trigger_create(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory trigger create ' + '--factory-name "{myFactory}" ' + '--resource-group "{rg}" ' + '--properties "{{\\"type\\":\\"ScheduleTrigger\\",\\"pipelines\\":[{{\\"parameters\\":{{\\"OutputBlobNameL' + 'ist\\":[\\"exampleoutput.csv\\"]}},\\"pipelineReference\\":{{\\"type\\":\\"PipelineReference\\",\\"refere' + 'nceName\\":\\"{myPipeline}\\"}}}}],\\"typeProperties\\":{{\\"recurrence\\":{{\\"endTime\\":\\"2018-06-16T' + '00:55:13.8441801Z\\",\\"frequency\\":\\"Minute\\",\\"interval\\":4,\\"startTime\\":\\"2018-06-16T00:39:13' + '.8441801Z\\",\\"timeZone\\":\\"UTC\\"}}}}}}" ' + '--name "{myTrigger}"', + checks=checks) + + +# EXAMPLE: /Triggers/put/Triggers_Update +@try_manual +def step_trigger_update(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory trigger update ' + '--factory-name "{myFactory}" ' + '--resource-group "{rg}" ' + '--description "Example description" ' + '--name "{myTrigger}"', + checks=checks) + + +# EXAMPLE: /Triggers/get/Triggers_Get +@try_manual +def step_trigger_show(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory trigger show ' + '--factory-name "{myFactory}" ' + '--resource-group "{rg}" ' + '--name "{myTrigger}"', + checks=checks) + + +# EXAMPLE: /Triggers/get/Triggers_ListByFactory +@try_manual +def step_trigger_list(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory trigger list ' + '--factory-name "{myFactory}" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /Triggers/post/Triggers_GetEventSubscriptionStatus +@try_manual +def step_trigger_get_event_subscription_status(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory trigger get-event-subscription-status ' + '--factory-name "{myFactory}" ' + '--resource-group "{rg}" ' + '--name "{myTrigger}"', + checks=checks) + + +# EXAMPLE: /Triggers/post/Triggers_QueryByFactory +@try_manual +def step_trigger_query_by_factory(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory trigger query-by-factory ' + '--factory-name "{myFactory}" ' + '--parent-trigger-name "{myTrigger}" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /Triggers/post/Triggers_Start +@try_manual +def step_trigger_start(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory trigger start ' + '--factory-name "{myFactory}" ' + '--resource-group "{rg}" ' + '--name "{myTrigger}"', + checks=checks) + + +# EXAMPLE: /Triggers/post/Triggers_Stop +@try_manual +def step_trigger_stop(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory trigger stop ' + '--factory-name "{myFactory}" ' + '--resource-group "{rg}" ' + '--name "{myTrigger}"', + checks=checks) + + +# EXAMPLE: /Triggers/post/Triggers_SubscribeToEvents +@try_manual +def step_trigger_subscribe_to_event(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory trigger subscribe-to-event ' + '--factory-name "{myFactory}" ' + '--resource-group "{rg}" ' + '--name "{myTrigger}"', + checks=checks) + + +# EXAMPLE: /Triggers/post/Triggers_UnsubscribeFromEvents +@try_manual +def step_trigger_unsubscribe_from_event(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory trigger unsubscribe-from-event ' + '--factory-name "{myFactory}" ' + '--resource-group "{rg}" ' + '--name "{myTrigger}"', + checks=checks) + + +# EXAMPLE: /TriggerRuns/post/TriggerRuns_QueryByFactory +@try_manual +def step_trigger_run_query_by_factory(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory trigger-run query-by-factory ' + '--factory-name "{myFactory}" ' + '--filters operand="TriggerName" operator="Equals" values="{myTrigger}" ' + '--last-updated-after "2018-06-16T00:36:44.3345758Z" ' + '--last-updated-before "2018-06-16T00:49:48.3686473Z" ' + '--resource-group "{rg}"', + checks=checks) + + +# EXAMPLE: /TriggerRuns/post/Triggers_Cancel +@try_manual +def step_trigger_run_cancel(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory trigger-run cancel ' + '--factory-name "{myFactory}" ' + '--resource-group "{rg}" ' + '--run-id "2f7fdb90-5df1-4b8e-ac2f-064cfa58202b" ' + '--trigger-name "{myTrigger}"', + checks=checks) + + +# EXAMPLE: /TriggerRuns/post/Triggers_Rerun +@try_manual +def step_trigger_run_rerun(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory trigger-run rerun ' + '--factory-name "{myFactory}" ' + '--resource-group "{rg}" ' + '--run-id "2f7fdb90-5df1-4b8e-ac2f-064cfa58202b" ' + '--trigger-name "{myTrigger}"', + checks=checks) + + +# EXAMPLE: /Triggers/delete/Triggers_Delete +@try_manual +def step_trigger_delete(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory trigger delete -y ' + '--factory-name "{myFactory}" ' + '--resource-group "{rg}" ' + '--name "{myTrigger}"', + checks=checks) + + +# EXAMPLE: /Factories/delete/Factories_Delete +@try_manual +def step_delete(test, rg, checks=None): + if checks is None: + checks = [] + test.cmd('az datafactory delete -y ' + '--name "{myFactory}" ' + '--resource-group "{rg}"', + checks=checks) diff --git a/src/datafactory/azext_datafactory/tests/latest/recordings/test_datafactory_Scenario.yaml b/src/datafactory/azext_datafactory/tests/latest/recordings/test_datafactory_Scenario.yaml new file mode 100644 index 00000000000..f3610fa71b6 --- /dev/null +++ b/src/datafactory/azext_datafactory/tests/latest/recordings/test_datafactory_Scenario.yaml @@ -0,0 +1,5146 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - account list + Connection: + - keep-alive + ParameterSetName: + - --query -o + User-Agent: + - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-resource/12.1.0 Azure-SDK-For-Python AZURECLI/2.22.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/locations?api-version=2019-11-01 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus","name":"eastus","displayName":"East + US","regionalDisplayName":"(US) East US","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"US","longitude":"-79.8164","latitude":"37.3719","physicalLocation":"Virginia","pairedRegion":[{"name":"westus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2","name":"eastus2","displayName":"East + US 2","regionalDisplayName":"(US) East US 2","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"US","longitude":"-78.3889","latitude":"36.6681","physicalLocation":"Virginia","pairedRegion":[{"name":"centralus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralus"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralus","name":"southcentralus","displayName":"South + Central US","regionalDisplayName":"(US) South Central US","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"US","longitude":"-98.5","latitude":"29.4167","physicalLocation":"Texas","pairedRegion":[{"name":"northcentralus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northcentralus"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus2","name":"westus2","displayName":"West + US 2","regionalDisplayName":"(US) West US 2","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"US","longitude":"-119.852","latitude":"47.233","physicalLocation":"Washington","pairedRegion":[{"name":"westcentralus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westcentralus"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiaeast","name":"australiaeast","displayName":"Australia + East","regionalDisplayName":"(Asia Pacific) Australia East","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Asia + Pacific","longitude":"151.2094","latitude":"-33.86","physicalLocation":"New + South Wales","pairedRegion":[{"name":"australiasoutheast","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiasoutheast"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southeastasia","name":"southeastasia","displayName":"Southeast + Asia","regionalDisplayName":"(Asia Pacific) Southeast Asia","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Asia + Pacific","longitude":"103.833","latitude":"1.283","physicalLocation":"Singapore","pairedRegion":[{"name":"eastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastasia"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northeurope","name":"northeurope","displayName":"North + Europe","regionalDisplayName":"(Europe) North Europe","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Europe","longitude":"-6.2597","latitude":"53.3478","physicalLocation":"Ireland","pairedRegion":[{"name":"westeurope","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westeurope"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uksouth","name":"uksouth","displayName":"UK + South","regionalDisplayName":"(Europe) UK South","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Europe","longitude":"-0.799","latitude":"50.941","physicalLocation":"London","pairedRegion":[{"name":"ukwest","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/ukwest"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westeurope","name":"westeurope","displayName":"West + Europe","regionalDisplayName":"(Europe) West Europe","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Europe","longitude":"4.9","latitude":"52.3667","physicalLocation":"Netherlands","pairedRegion":[{"name":"northeurope","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northeurope"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralus","name":"centralus","displayName":"Central + US","regionalDisplayName":"(US) Central US","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"US","longitude":"-93.6208","latitude":"41.5908","physicalLocation":"Iowa","pairedRegion":[{"name":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northcentralus","name":"northcentralus","displayName":"North + Central US","regionalDisplayName":"(US) North Central US","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"US","longitude":"-87.6278","latitude":"41.8819","physicalLocation":"Illinois","pairedRegion":[{"name":"southcentralus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralus"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus","name":"westus","displayName":"West + US","regionalDisplayName":"(US) West US","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"US","longitude":"-122.417","latitude":"37.783","physicalLocation":"California","pairedRegion":[{"name":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricanorth","name":"southafricanorth","displayName":"South + Africa North","regionalDisplayName":"(Africa) South Africa North","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Africa","longitude":"28.218370","latitude":"-25.731340","physicalLocation":"Johannesburg","pairedRegion":[{"name":"southafricawest","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricawest"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralindia","name":"centralindia","displayName":"Central + India","regionalDisplayName":"(Asia Pacific) Central India","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Asia + Pacific","longitude":"73.9197","latitude":"18.5822","physicalLocation":"Pune","pairedRegion":[{"name":"southindia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southindia"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastasia","name":"eastasia","displayName":"East + Asia","regionalDisplayName":"(Asia Pacific) East Asia","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Asia + Pacific","longitude":"114.188","latitude":"22.267","physicalLocation":"Hong + Kong","pairedRegion":[{"name":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southeastasia"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japaneast","name":"japaneast","displayName":"Japan + East","regionalDisplayName":"(Asia Pacific) Japan East","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Asia + Pacific","longitude":"139.77","latitude":"35.68","physicalLocation":"Tokyo, + Saitama","pairedRegion":[{"name":"japanwest","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japanwest"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiawest","name":"jioindiawest","displayName":"JIO + India West","regionalDisplayName":"(Asia Pacific) JIO India West","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Asia + Pacific","longitude":"70.05773","latitude":"22.470701","physicalLocation":"Jamnagar","pairedRegion":[{"name":"jioindiacentral","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiacentral"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreacentral","name":"koreacentral","displayName":"Korea + Central","regionalDisplayName":"(Asia Pacific) Korea Central","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Asia + Pacific","longitude":"126.9780","latitude":"37.5665","physicalLocation":"Seoul","pairedRegion":[{"name":"koreasouth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreasouth"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadacentral","name":"canadacentral","displayName":"Canada + Central","regionalDisplayName":"(Canada) Canada Central","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Canada","longitude":"-79.383","latitude":"43.653","physicalLocation":"Toronto","pairedRegion":[{"name":"canadaeast","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadaeast"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francecentral","name":"francecentral","displayName":"France + Central","regionalDisplayName":"(Europe) France Central","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Europe","longitude":"2.3730","latitude":"46.3772","physicalLocation":"Paris","pairedRegion":[{"name":"francesouth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francesouth"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanywestcentral","name":"germanywestcentral","displayName":"Germany + West Central","regionalDisplayName":"(Europe) Germany West Central","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Europe","longitude":"8.682127","latitude":"50.110924","physicalLocation":"Frankfurt","pairedRegion":[{"name":"germanynorth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanynorth"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwayeast","name":"norwayeast","displayName":"Norway + East","regionalDisplayName":"(Europe) Norway East","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Europe","longitude":"10.752245","latitude":"59.913868","physicalLocation":"Norway","pairedRegion":[{"name":"norwaywest","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwaywest"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandnorth","name":"switzerlandnorth","displayName":"Switzerland + North","regionalDisplayName":"(Europe) Switzerland North","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Europe","longitude":"8.564572","latitude":"47.451542","physicalLocation":"Zurich","pairedRegion":[{"name":"switzerlandwest","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandwest"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaenorth","name":"uaenorth","displayName":"UAE + North","regionalDisplayName":"(Middle East) UAE North","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Middle + East","longitude":"55.316666","latitude":"25.266666","physicalLocation":"Dubai","pairedRegion":[{"name":"uaecentral","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaecentral"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilsouth","name":"brazilsouth","displayName":"Brazil + South","regionalDisplayName":"(South America) Brazil South","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"South + America","longitude":"-46.633","latitude":"-23.55","physicalLocation":"Sao + Paulo State","pairedRegion":[{"name":"southcentralus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralus"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralusstage","name":"centralusstage","displayName":"Central + US (Stage)","regionalDisplayName":"(US) Central US (Stage)","metadata":{"regionType":"Logical","regionCategory":"Other","geographyGroup":"US"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastusstage","name":"eastusstage","displayName":"East + US (Stage)","regionalDisplayName":"(US) East US (Stage)","metadata":{"regionType":"Logical","regionCategory":"Other","geographyGroup":"US"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2stage","name":"eastus2stage","displayName":"East + US 2 (Stage)","regionalDisplayName":"(US) East US 2 (Stage)","metadata":{"regionType":"Logical","regionCategory":"Other","geographyGroup":"US"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northcentralusstage","name":"northcentralusstage","displayName":"North + Central US (Stage)","regionalDisplayName":"(US) North Central US (Stage)","metadata":{"regionType":"Logical","regionCategory":"Other","geographyGroup":"US"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralusstage","name":"southcentralusstage","displayName":"South + Central US (Stage)","regionalDisplayName":"(US) South Central US (Stage)","metadata":{"regionType":"Logical","regionCategory":"Other","geographyGroup":"US"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westusstage","name":"westusstage","displayName":"West + US (Stage)","regionalDisplayName":"(US) West US (Stage)","metadata":{"regionType":"Logical","regionCategory":"Other","geographyGroup":"US"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus2stage","name":"westus2stage","displayName":"West + US 2 (Stage)","regionalDisplayName":"(US) West US 2 (Stage)","metadata":{"regionType":"Logical","regionCategory":"Other","geographyGroup":"US"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/asia","name":"asia","displayName":"Asia","regionalDisplayName":"Asia","metadata":{"regionType":"Logical","regionCategory":"Other"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/asiapacific","name":"asiapacific","displayName":"Asia + Pacific","regionalDisplayName":"Asia Pacific","metadata":{"regionType":"Logical","regionCategory":"Other"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australia","name":"australia","displayName":"Australia","regionalDisplayName":"Australia","metadata":{"regionType":"Logical","regionCategory":"Other"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazil","name":"brazil","displayName":"Brazil","regionalDisplayName":"Brazil","metadata":{"regionType":"Logical","regionCategory":"Other"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canada","name":"canada","displayName":"Canada","regionalDisplayName":"Canada","metadata":{"regionType":"Logical","regionCategory":"Other"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/europe","name":"europe","displayName":"Europe","regionalDisplayName":"Europe","metadata":{"regionType":"Logical","regionCategory":"Other"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/global","name":"global","displayName":"Global","regionalDisplayName":"Global","metadata":{"regionType":"Logical","regionCategory":"Other"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/india","name":"india","displayName":"India","regionalDisplayName":"India","metadata":{"regionType":"Logical","regionCategory":"Other"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japan","name":"japan","displayName":"Japan","regionalDisplayName":"Japan","metadata":{"regionType":"Logical","regionCategory":"Other"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uk","name":"uk","displayName":"United + Kingdom","regionalDisplayName":"United Kingdom","metadata":{"regionType":"Logical","regionCategory":"Other"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/unitedstates","name":"unitedstates","displayName":"United + States","regionalDisplayName":"United States","metadata":{"regionType":"Logical","regionCategory":"Other"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastasiastage","name":"eastasiastage","displayName":"East + Asia (Stage)","regionalDisplayName":"(Asia Pacific) East Asia (Stage)","metadata":{"regionType":"Logical","regionCategory":"Other","geographyGroup":"Asia + Pacific"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southeastasiastage","name":"southeastasiastage","displayName":"Southeast + Asia (Stage)","regionalDisplayName":"(Asia Pacific) Southeast Asia (Stage)","metadata":{"regionType":"Logical","regionCategory":"Other","geographyGroup":"Asia + Pacific"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centraluseuap","name":"centraluseuap","displayName":"Central + US EUAP","regionalDisplayName":"(US) Central US EUAP","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"US","longitude":"-93.6208","latitude":"41.5908","pairedRegion":[{"name":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2euap"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2euap","name":"eastus2euap","displayName":"East + US 2 EUAP","regionalDisplayName":"(US) East US 2 EUAP","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"US","longitude":"-78.3889","latitude":"36.6681","pairedRegion":[{"name":"centraluseuap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centraluseuap"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westcentralus","name":"westcentralus","displayName":"West + Central US","regionalDisplayName":"(US) West Central US","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"US","longitude":"-110.234","latitude":"40.890","physicalLocation":"Wyoming","pairedRegion":[{"name":"westus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus2"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus3","name":"westus3","displayName":"West + US 3","regionalDisplayName":"(US) West US 3","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"US","longitude":"-112.074036","latitude":"33.448376","physicalLocation":"Phoenix","pairedRegion":[{"name":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricawest","name":"southafricawest","displayName":"South + Africa West","regionalDisplayName":"(Africa) South Africa West","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Africa","longitude":"18.843266","latitude":"-34.075691","physicalLocation":"Cape + Town","pairedRegion":[{"name":"southafricanorth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricanorth"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral","name":"australiacentral","displayName":"Australia + Central","regionalDisplayName":"(Asia Pacific) Australia Central","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Asia + Pacific","longitude":"149.1244","latitude":"-35.3075","physicalLocation":"Canberra","pairedRegion":[{"name":"australiacentral","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral2","name":"australiacentral2","displayName":"Australia + Central 2","regionalDisplayName":"(Asia Pacific) Australia Central 2","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Asia + Pacific","longitude":"149.1244","latitude":"-35.3075","physicalLocation":"Canberra","pairedRegion":[{"name":"australiacentral2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral2"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiasoutheast","name":"australiasoutheast","displayName":"Australia + Southeast","regionalDisplayName":"(Asia Pacific) Australia Southeast","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Asia + Pacific","longitude":"144.9631","latitude":"-37.8136","physicalLocation":"Victoria","pairedRegion":[{"name":"australiaeast","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiaeast"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japanwest","name":"japanwest","displayName":"Japan + West","regionalDisplayName":"(Asia Pacific) Japan West","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Asia + Pacific","longitude":"135.5022","latitude":"34.6939","physicalLocation":"Osaka","pairedRegion":[{"name":"japaneast","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japaneast"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiacentral","name":"jioindiacentral","displayName":"JIO + India Central","regionalDisplayName":"(Asia Pacific) JIO India Central","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Asia + Pacific","longitude":"79.08886","latitude":"21.146633","physicalLocation":"Nagpur","pairedRegion":[{"name":"jioindiawest","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiawest"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreasouth","name":"koreasouth","displayName":"Korea + South","regionalDisplayName":"(Asia Pacific) Korea South","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Asia + Pacific","longitude":"129.0756","latitude":"35.1796","physicalLocation":"Busan","pairedRegion":[{"name":"koreacentral","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreacentral"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southindia","name":"southindia","displayName":"South + India","regionalDisplayName":"(Asia Pacific) South India","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Asia + Pacific","longitude":"80.1636","latitude":"12.9822","physicalLocation":"Chennai","pairedRegion":[{"name":"centralindia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralindia"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westindia","name":"westindia","displayName":"West + India","regionalDisplayName":"(Asia Pacific) West India","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Asia + Pacific","longitude":"72.868","latitude":"19.088","physicalLocation":"Mumbai","pairedRegion":[{"name":"southindia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southindia"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadaeast","name":"canadaeast","displayName":"Canada + East","regionalDisplayName":"(Canada) Canada East","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Canada","longitude":"-71.217","latitude":"46.817","physicalLocation":"Quebec","pairedRegion":[{"name":"canadacentral","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadacentral"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francesouth","name":"francesouth","displayName":"France + South","regionalDisplayName":"(Europe) France South","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Europe","longitude":"2.1972","latitude":"43.8345","physicalLocation":"Marseille","pairedRegion":[{"name":"francecentral","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francecentral"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanynorth","name":"germanynorth","displayName":"Germany + North","regionalDisplayName":"(Europe) Germany North","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Europe","longitude":"8.806422","latitude":"53.073635","physicalLocation":"Berlin","pairedRegion":[{"name":"germanywestcentral","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanywestcentral"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwaywest","name":"norwaywest","displayName":"Norway + West","regionalDisplayName":"(Europe) Norway West","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Europe","longitude":"5.733107","latitude":"58.969975","physicalLocation":"Norway","pairedRegion":[{"name":"norwayeast","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwayeast"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandwest","name":"switzerlandwest","displayName":"Switzerland + West","regionalDisplayName":"(Europe) Switzerland West","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Europe","longitude":"6.143158","latitude":"46.204391","physicalLocation":"Geneva","pairedRegion":[{"name":"switzerlandnorth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandnorth"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/ukwest","name":"ukwest","displayName":"UK + West","regionalDisplayName":"(Europe) UK West","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Europe","longitude":"-3.084","latitude":"53.427","physicalLocation":"Cardiff","pairedRegion":[{"name":"uksouth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uksouth"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaecentral","name":"uaecentral","displayName":"UAE + Central","regionalDisplayName":"(Middle East) UAE Central","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Middle + East","longitude":"54.366669","latitude":"24.466667","physicalLocation":"Abu + Dhabi","pairedRegion":[{"name":"uaenorth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaenorth"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilsoutheast","name":"brazilsoutheast","displayName":"Brazil + Southeast","regionalDisplayName":"(South America) Brazil Southeast","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"South + America","longitude":"-43.2075","latitude":"-22.90278","physicalLocation":"Rio","pairedRegion":[{"name":"brazilsouth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilsouth"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastusslv","name":"eastusslv","displayName":"East + US SLV","regionalDisplayName":"(South America) East US SLV","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"South + America","longitude":"-43.2075","latitude":"-22.90278","physicalLocation":"Silverstone","pairedRegion":[{"name":"eastusslv","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastusslv"}]}}]}' + headers: + cache-control: + - no-cache + content-length: + - '26993' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 06:13:27 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: '{"location": "eastus", "identity": {"type": "SystemAssigned"}, "properties": + {"encryption": {}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory create + Connection: + - keep-alive + Content-Length: + - '96' + Content-Type: + - application/json + ParameterSetName: + - --location --name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001?api-version=2018-06-01 + response: + body: + string: '{"name":"exampleFa000001","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/examplefa5qnc3dfb3","type":"Microsoft.DataFactory/factories","properties":{"provisioningState":"Succeeded","createTime":"2021-04-26T06:13:38.8060441Z","version":"2018-06-01","encryption":{}},"eTag":"\"300010fc-0000-0100-0000-60865a130000\"","location":"eastus","identity":{"type":"SystemAssigned","principalId":"06a7c2de-469c-4e53-bbc5-69adf6b29d6b","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a"},"tags":{}}' + headers: + cache-control: + - no-cache + content-length: + - '631' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 06:13:40 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-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"tags": {"exampleTag": "exampleValue"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory update + Connection: + - keep-alive + Content-Length: + - '40' + Content-Type: + - application/json + ParameterSetName: + - --name --tags --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001?api-version=2018-06-01 + response: + body: + string: '{"name":"exampleFa000001","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/examplefa5qnc3dfb3","type":"Microsoft.DataFactory/factories","properties":{"provisioningState":"Succeeded","createTime":"2021-04-26T06:13:38.8060441Z","version":"2018-06-01","encryption":{}},"eTag":"\"30001ffc-0000-0100-0000-60865a170000\"","location":"eastus","identity":{"type":"SystemAssigned","principalId":"06a7c2de-469c-4e53-bbc5-69adf6b29d6b","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a"},"tags":{"exampleTag":"exampleValue"}}' + headers: + cache-control: + - no-cache + content-length: + - '658' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 06:13:45 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-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"properties": {"type": "AzureStorage", "typeProperties": {"connectionString": + {"type": "SecureString", "value": "DefaultEndpointsProtocol=https;AccountName=examplestorageaccount;AccountKey="}}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory linked-service create + Connection: + - keep-alive + Content-Length: + - '208' + Content-Type: + - application/json + ParameterSetName: + - --factory-name --properties --name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/linkedservices/exampleLin000003?api-version=2018-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/linkedservices/exampleLin000003","name":"exampleLin000003","type":"Microsoft.DataFactory/factories/linkedservices","properties":{"type":"AzureStorage","typeProperties":{"connectionString":{"type":"SecureString","value":"**********"},"encryptedCredential":"ew0KICAiVmVyc2lvbiI6ICIyMDE3LTExLTMwIiwNCiAgIlByb3RlY3Rpb25Nb2RlIjogIktleSIsDQogICJTZWNyZXRDb250ZW50VHlwZSI6ICJQbGFpbnRleHQiLA0KICAiQ3JlZGVudGlhbElkIjogIkVYQU1QTEVGQTVRTkMzREZCM184YWVmOGZkOC0yN2M2LTQ1NDEtOTM0MC01NmU0ZTlkNTBmZTUiDQp9"}},"etag":"1c00f24a-0000-0100-0000-60865a1c0000"}' + headers: + cache-control: + - no-cache + content-length: + - '757' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 06:13:48 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-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory linked-service update + Connection: + - keep-alive + ParameterSetName: + - --factory-name --description --name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/linkedservices/exampleLin000003?api-version=2018-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/linkedservices/exampleLin000003","name":"exampleLin000003","type":"Microsoft.DataFactory/factories/linkedservices","properties":{"type":"AzureStorage","typeProperties":{"connectionString":{"type":"SecureString","value":"**********"},"encryptedCredential":"ew0KICAiVmVyc2lvbiI6ICIyMDE3LTExLTMwIiwNCiAgIlByb3RlY3Rpb25Nb2RlIjogIktleSIsDQogICJTZWNyZXRDb250ZW50VHlwZSI6ICJQbGFpbnRleHQiLA0KICAiQ3JlZGVudGlhbElkIjogIkVYQU1QTEVGQTVRTkMzREZCM184YWVmOGZkOC0yN2M2LTQ1NDEtOTM0MC01NmU0ZTlkNTBmZTUiDQp9"}},"etag":"1c00f24a-0000-0100-0000-60865a1c0000"}' + headers: + cache-control: + - no-cache + content-length: + - '757' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 06:13:49 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-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"properties": {"type": "AzureStorage", "description": "Example description", + "typeProperties": {"connectionString": {"type": "SecureString", "value": "**********"}, + "encryptedCredential": "ew0KICAiVmVyc2lvbiI6ICIyMDE3LTExLTMwIiwNCiAgIlByb3RlY3Rpb25Nb2RlIjogIktleSIsDQogICJTZWNyZXRDb250ZW50VHlwZSI6ICJQbGFpbnRleHQiLA0KICAiQ3JlZGVudGlhbElkIjogIkVYQU1QTEVGQTVRTkMzREZCM184YWVmOGZkOC0yN2M2LTQ1NDEtOTM0MC01NmU0ZTlkNTBmZTUiDQp9"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory linked-service update + Connection: + - keep-alive + Content-Length: + - '426' + Content-Type: + - application/json + ParameterSetName: + - --factory-name --description --name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/linkedservices/exampleLin000003?api-version=2018-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/linkedservices/exampleLin000003","name":"exampleLin000003","type":"Microsoft.DataFactory/factories/linkedservices","properties":{"type":"AzureStorage","description":"Example + description","typeProperties":{"connectionString":{"type":"SecureString","value":"**********"},"encryptedCredential":"ew0KICAiVmVyc2lvbiI6ICIyMDE3LTExLTMwIiwNCiAgIlByb3RlY3Rpb25Nb2RlIjogIktleSIsDQogICJTZWNyZXRDb250ZW50VHlwZSI6ICJQbGFpbnRleHQiLA0KICAiQ3JlZGVudGlhbElkIjogIkVYQU1QTEVGQTVRTkMzREZCM184YWVmOGZkOC0yN2M2LTQ1NDEtOTM0MC01NmU0ZTlkNTBmZTUiDQp9"}},"etag":"1c00f54a-0000-0100-0000-60865a1e0000"}' + headers: + cache-control: + - no-cache + content-length: + - '793' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 06:13:50 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-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"properties": {"type": "AzureBlob", "linkedServiceName": {"type": "LinkedServiceReference", + "referenceName": "exampleLin000003"}, "parameters": {"MyFileName": {"type": + "String"}, "MyFolderPath": {"type": "String"}}, "typeProperties": {"folderPath": + {"type": "Expression", "value": "@dataset().MyFolderPath"}, "fileName": {"type": + "Expression", "value": "@dataset().MyFileName"}, "format": {"type": "TextFormat"}}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory dataset create + Connection: + - keep-alive + Content-Length: + - '419' + Content-Type: + - application/json + ParameterSetName: + - --properties --name --factory-name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/datasets/example000004?api-version=2018-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/datasets/example000004","name":"example000004","type":"Microsoft.DataFactory/factories/datasets","properties":{"type":"AzureBlob","linkedServiceName":{"type":"LinkedServiceReference","referenceName":"exampleLin000003"},"parameters":{"MyFileName":{"type":"String"},"MyFolderPath":{"type":"String"}},"typeProperties":{"folderPath":{"type":"Expression","value":"@dataset().MyFolderPath"},"fileName":{"type":"Expression","value":"@dataset().MyFileName"},"format":{"type":"TextFormat"}}},"etag":"1c00f74a-0000-0100-0000-60865a210000"}' + headers: + cache-control: + - no-cache + content-length: + - '746' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 06:13:52 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-content-type-options: + - nosniff + 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: + - datafactory dataset update + Connection: + - keep-alive + ParameterSetName: + - --description --linked-service-name --parameters --name --factory-name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/datasets/example000004?api-version=2018-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/datasets/example000004","name":"example000004","type":"Microsoft.DataFactory/factories/datasets","properties":{"type":"AzureBlob","linkedServiceName":{"type":"LinkedServiceReference","referenceName":"exampleLin000003"},"parameters":{"MyFileName":{"type":"String"},"MyFolderPath":{"type":"String"}},"typeProperties":{"folderPath":{"type":"Expression","value":"@dataset().MyFolderPath"},"fileName":{"type":"Expression","value":"@dataset().MyFileName"},"format":{"type":"TextFormat"}}},"etag":"1c00f74a-0000-0100-0000-60865a210000"}' + headers: + cache-control: + - no-cache + content-length: + - '746' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 06:13:54 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-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"properties": {"type": "AzureBlob", "description": "Example description", + "linkedServiceName": {"type": "LinkedServiceReference", "referenceName": "exampleLin000003"}, + "parameters": {"MyFileName": {"type": "String"}, "MyFolderPath": {"type": "String"}}, + "typeProperties": {"folderPath": {"type": "Expression", "value": "@dataset().MyFolderPath"}, + "fileName": {"type": "Expression", "value": "@dataset().MyFileName"}, "format": + {"type": "TextFormat"}}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory dataset update + Connection: + - keep-alive + Content-Length: + - '457' + Content-Type: + - application/json + ParameterSetName: + - --description --linked-service-name --parameters --name --factory-name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/datasets/example000004?api-version=2018-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/datasets/example000004","name":"example000004","type":"Microsoft.DataFactory/factories/datasets","properties":{"type":"AzureBlob","description":"Example + description","linkedServiceName":{"type":"LinkedServiceReference","referenceName":"exampleLin000003"},"parameters":{"MyFileName":{"type":"String"},"MyFolderPath":{"type":"String"}},"typeProperties":{"folderPath":{"type":"Expression","value":"@dataset().MyFolderPath"},"fileName":{"type":"Expression","value":"@dataset().MyFileName"},"format":{"type":"TextFormat"}}},"etag":"1c00fb4a-0000-0100-0000-60865a240000"}' + headers: + cache-control: + - no-cache + content-length: + - '782' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 06:13:55 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-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"properties": {"activities": [{"name": "ExampleForeachActivity", "type": + "ForEach", "typeProperties": {"isSequential": true, "items": {"type": "Expression", + "value": "@pipeline().parameters.OutputBlobNameList"}, "activities": [{"name": + "ExampleCopyActivity", "type": "Copy", "inputs": [{"type": "DatasetReference", + "referenceName": "example000004", "parameters": {"MyFileName": "examplecontainer.csv", + "MyFolderPath": "examplecontainer"}}], "outputs": [{"type": "DatasetReference", + "referenceName": "example000004", "parameters": {"MyFileName": {"type": "Expression", + "value": "@item()"}, "MyFolderPath": "examplecontainer"}}], "typeProperties": + {"source": {"type": "BlobSource"}, "sink": {"type": "BlobSink"}, "dataIntegrationUnits": + 32}}]}}], "parameters": {"JobId": {"type": "String"}, "OutputBlobNameList": + {"type": "Array"}}, "variables": {"TestVariableArray": {"type": "Array"}}, "runDimensions": + {"JobId": {"type": "Expression", "value": "@pipeline().parameters.JobId"}}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory pipeline create + Connection: + - keep-alive + Content-Length: + - '982' + Content-Type: + - application/json + ParameterSetName: + - --factory-name --pipeline --name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/pipelines/example000005?api-version=2018-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/pipelines/example000005","name":"example000005","type":"Microsoft.DataFactory/factories/pipelines","properties":{"activities":[{"name":"ExampleForeachActivity","type":"ForEach","typeProperties":{"isSequential":true,"items":{"type":"Expression","value":"@pipeline().parameters.OutputBlobNameList"},"activities":[{"name":"ExampleCopyActivity","type":"Copy","inputs":[{"type":"DatasetReference","referenceName":"example000004","parameters":{"MyFileName":"examplecontainer.csv","MyFolderPath":"examplecontainer"}}],"outputs":[{"type":"DatasetReference","referenceName":"example000004","parameters":{"MyFileName":{"type":"Expression","value":"@item()"},"MyFolderPath":"examplecontainer"}}],"typeProperties":{"source":{"type":"BlobSource"},"sink":{"type":"BlobSink"},"dataIntegrationUnits":32}}]}}],"parameters":{"JobId":{"type":"String"},"OutputBlobNameList":{"type":"Array"}},"variables":{"TestVariableArray":{"type":"Array"}},"runDimensions":{"JobId":{"type":"Expression","value":"@pipeline().parameters.JobId"}}},"etag":"1c00fc4a-0000-0100-0000-60865a250000"}' + headers: + cache-control: + - no-cache + content-length: + - '1274' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 06:13:56 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-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory pipeline update + Connection: + - keep-alive + ParameterSetName: + - --factory-name --description --name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/pipelines/example000005?api-version=2018-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/pipelines/example000005","name":"example000005","type":"Microsoft.DataFactory/factories/pipelines","properties":{"activities":[{"name":"ExampleForeachActivity","type":"ForEach","typeProperties":{"isSequential":true,"items":{"type":"Expression","value":"@pipeline().parameters.OutputBlobNameList"},"activities":[{"name":"ExampleCopyActivity","type":"Copy","inputs":[{"type":"DatasetReference","referenceName":"example000004","parameters":{"MyFileName":"examplecontainer.csv","MyFolderPath":"examplecontainer"}}],"outputs":[{"type":"DatasetReference","referenceName":"example000004","parameters":{"MyFileName":{"type":"Expression","value":"@item()"},"MyFolderPath":"examplecontainer"}}],"typeProperties":{"source":{"type":"BlobSource"},"sink":{"type":"BlobSink"},"dataIntegrationUnits":32}}]}}],"parameters":{"JobId":{"type":"String"},"OutputBlobNameList":{"type":"Array"}},"variables":{"TestVariableArray":{"type":"Array"}},"runDimensions":{"JobId":{"type":"Expression","value":"@pipeline().parameters.JobId"}},"lastPublishTime":"2021-04-26T06:13:57Z"},"etag":"1c00fc4a-0000-0100-0000-60865a250000"}' + headers: + cache-control: + - no-cache + content-length: + - '1315' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 06:13:58 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-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"properties": {"description": "Test Update description", "activities": + [{"name": "ExampleForeachActivity", "type": "ForEach", "typeProperties": {"isSequential": + true, "items": {"type": "Expression", "value": "@pipeline().parameters.OutputBlobNameList"}, + "activities": [{"name": "ExampleCopyActivity", "type": "Copy", "inputs": [{"type": + "DatasetReference", "referenceName": "example000004", "parameters": {"MyFileName": + "examplecontainer.csv", "MyFolderPath": "examplecontainer"}}], "outputs": [{"type": + "DatasetReference", "referenceName": "example000004", "parameters": {"MyFileName": + {"type": "Expression", "value": "@item()"}, "MyFolderPath": "examplecontainer"}}], + "typeProperties": {"source": {"type": "BlobSource"}, "sink": {"type": "BlobSink"}, + "dataIntegrationUnits": 32}}]}}], "parameters": {"JobId": {"type": "String"}, + "OutputBlobNameList": {"type": "Array"}}, "variables": {"TestVariableArray": + {"type": "Array"}}, "runDimensions": {"JobId": {"type": "Expression", "value": + "@pipeline().parameters.JobId"}}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory pipeline update + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/json + ParameterSetName: + - --factory-name --description --name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/pipelines/example000005?api-version=2018-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/pipelines/example000005","name":"example000005","type":"Microsoft.DataFactory/factories/pipelines","properties":{"description":"Test + Update description","activities":[{"name":"ExampleForeachActivity","type":"ForEach","typeProperties":{"isSequential":true,"items":{"type":"Expression","value":"@pipeline().parameters.OutputBlobNameList"},"activities":[{"name":"ExampleCopyActivity","type":"Copy","inputs":[{"type":"DatasetReference","referenceName":"example000004","parameters":{"MyFileName":"examplecontainer.csv","MyFolderPath":"examplecontainer"}}],"outputs":[{"type":"DatasetReference","referenceName":"example000004","parameters":{"MyFileName":{"type":"Expression","value":"@item()"},"MyFolderPath":"examplecontainer"}}],"typeProperties":{"source":{"type":"BlobSource"},"sink":{"type":"BlobSink"},"dataIntegrationUnits":32}}]}}],"parameters":{"JobId":{"type":"String"},"OutputBlobNameList":{"type":"Array"}},"variables":{"TestVariableArray":{"type":"Array"}},"runDimensions":{"JobId":{"type":"Expression","value":"@pipeline().parameters.JobId"}}},"etag":"1c00ff4a-0000-0100-0000-60865a270000"}' + headers: + cache-control: + - no-cache + content-length: + - '1314' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 06:13:59 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-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"properties": {"type": "ScheduleTrigger", "pipelines": [{"pipelineReference": + {"type": "PipelineReference", "referenceName": "example000005"}, "parameters": + {"OutputBlobNameList": ["exampleoutput.csv"]}}], "typeProperties": {"recurrence": + {"frequency": "Minute", "interval": 4, "startTime": "2018-06-16T00:39:13.84418Z", + "endTime": "2018-06-16T00:55:13.84418Z", "timeZone": "UTC"}}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory trigger create + Connection: + - keep-alive + Content-Length: + - '386' + Content-Type: + - application/json + ParameterSetName: + - --factory-name --resource-group --properties --name + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/triggers/example000006?api-version=2018-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/triggers/example000006","name":"example000006","type":"Microsoft.DataFactory/factories/triggers","properties":{"type":"ScheduleTrigger","pipelines":[{"pipelineReference":{"type":"PipelineReference","referenceName":"example000005"},"parameters":{"OutputBlobNameList":["exampleoutput.csv"]}}],"typeProperties":{"recurrence":{"frequency":"Minute","interval":4,"startTime":"2018-06-16T00:39:13.84418Z","endTime":"2018-06-16T00:55:13.84418Z","timeZone":"UTC"}},"runtimeState":"Stopped"},"etag":"1c00004b-0000-0100-0000-60865a290000"}' + headers: + cache-control: + - no-cache + content-length: + - '743' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 06:14:01 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-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory trigger update + Connection: + - keep-alive + ParameterSetName: + - --factory-name --resource-group --description --name + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/triggers/example000006?api-version=2018-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/triggers/example000006","name":"example000006","type":"Microsoft.DataFactory/factories/triggers","properties":{"type":"ScheduleTrigger","pipelines":[{"pipelineReference":{"type":"PipelineReference","referenceName":"example000005"},"parameters":{"OutputBlobNameList":["exampleoutput.csv"]}}],"typeProperties":{"recurrence":{"frequency":"Minute","interval":4,"startTime":"2018-06-16T00:39:13.84418Z","endTime":"2018-06-16T00:55:13.84418Z","timeZone":"UTC"}},"runtimeState":"Stopped"},"etag":"1c00004b-0000-0100-0000-60865a290000"}' + headers: + cache-control: + - no-cache + content-length: + - '743' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 06:14:03 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-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"properties": {"type": "ScheduleTrigger", "description": "Example description", + "pipelines": [{"pipelineReference": {"type": "PipelineReference", "referenceName": + "example000005"}, "parameters": {"OutputBlobNameList": ["exampleoutput.csv"]}}], + "typeProperties": {"recurrence": {"frequency": "Minute", "interval": 4, "startTime": + "2018-06-16T00:39:13.84418Z", "endTime": "2018-06-16T00:55:13.84418Z", "timeZone": + "UTC"}}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory trigger update + Connection: + - keep-alive + Content-Length: + - '424' + Content-Type: + - application/json + ParameterSetName: + - --factory-name --resource-group --description --name + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/triggers/example000006?api-version=2018-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/triggers/example000006","name":"example000006","type":"Microsoft.DataFactory/factories/triggers","properties":{"type":"ScheduleTrigger","description":"Example + description","pipelines":[{"pipelineReference":{"type":"PipelineReference","referenceName":"example000005"},"parameters":{"OutputBlobNameList":["exampleoutput.csv"]}}],"typeProperties":{"recurrence":{"frequency":"Minute","interval":4,"startTime":"2018-06-16T00:39:13.84418Z","endTime":"2018-06-16T00:55:13.84418Z","timeZone":"UTC"}},"runtimeState":"Stopped"},"etag":"1c00054b-0000-0100-0000-60865a2d0000"}' + headers: + cache-control: + - no-cache + content-length: + - '779' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 06:14:04 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-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"properties": {"type": "SelfHosted", "description": "A selfhosted integration + runtime"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory integration-runtime self-hosted create + Connection: + - keep-alive + Content-Length: + - '89' + Content-Type: + - application/json + ParameterSetName: + - --factory-name --description --name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/integrationRuntimes/exampleInteg000002?api-version=2018-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/integrationruntimes/exampleInteg000002","name":"exampleInteg000002","type":"Microsoft.DataFactory/factories/integrationruntimes","properties":{"type":"SelfHosted","description":"A + selfhosted integration runtime"},"etag":"1c00084b-0000-0100-0000-60865a2f0000"}' + headers: + cache-control: + - no-cache + content-length: + - '484' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 06:14:07 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-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"autoUpdate": "Off", "updateDelayOffset": "\"PT3H\""}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory integration-runtime update + Connection: + - keep-alive + Content-Length: + - '54' + Content-Type: + - application/json + ParameterSetName: + - --factory-name --name --resource-group --auto-update --update-delay-offset + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/integrationRuntimes/exampleInteg000002?api-version=2018-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/integrationruntimes/exampleInteg000002","name":"exampleInteg000002","type":"Microsoft.DataFactory/factories/integrationruntimes","properties":{"type":"SelfHosted","description":"A + selfhosted integration runtime"},"etag":"1c00084b-0000-0100-0000-60865a2f0000"}' + headers: + cache-control: + - no-cache + content-length: + - '484' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 06:14:08 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-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"OutputBlobNameList": ["exampleoutput.csv"]}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory pipeline create-run + Connection: + - keep-alive + Content-Length: + - '45' + Content-Type: + - application/json + ParameterSetName: + - --factory-name --parameters --name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/pipelines/example000005/createRun?api-version=2018-06-01 + response: + body: + string: '{"runId":"9c51f7b2-a656-11eb-9afd-84a93e64b16e"}' + headers: + cache-control: + - no-cache + content-length: + - '48' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 06:14:11 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-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory integration-runtime show + Connection: + - keep-alive + ParameterSetName: + - --factory-name --name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/integrationRuntimes/exampleInteg000002?api-version=2018-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/integrationruntimes/exampleInteg000002","name":"exampleInteg000002","type":"Microsoft.DataFactory/factories/integrationruntimes","properties":{"type":"SelfHosted","description":"A + selfhosted integration runtime"},"etag":"1c00084b-0000-0100-0000-60865a2f0000"}' + headers: + cache-control: + - no-cache + content-length: + - '484' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 06:14:12 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-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory linked-service show + Connection: + - keep-alive + ParameterSetName: + - --factory-name --name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/linkedservices/exampleLin000003?api-version=2018-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/linkedservices/exampleLin000003","name":"exampleLin000003","type":"Microsoft.DataFactory/factories/linkedservices","properties":{"type":"AzureStorage","description":"Example + description","typeProperties":{"connectionString":{"type":"SecureString","value":"**********"},"encryptedCredential":"ew0KICAiVmVyc2lvbiI6ICIyMDE3LTExLTMwIiwNCiAgIlByb3RlY3Rpb25Nb2RlIjogIktleSIsDQogICJTZWNyZXRDb250ZW50VHlwZSI6ICJQbGFpbnRleHQiLA0KICAiQ3JlZGVudGlhbElkIjogIkVYQU1QTEVGQTVRTkMzREZCM184YWVmOGZkOC0yN2M2LTQ1NDEtOTM0MC01NmU0ZTlkNTBmZTUiDQp9"}},"etag":"1c00f54a-0000-0100-0000-60865a1e0000"}' + headers: + cache-control: + - no-cache + content-length: + - '793' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 06:14:13 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-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory pipeline show + Connection: + - keep-alive + ParameterSetName: + - --factory-name --name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/pipelines/example000005?api-version=2018-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/pipelines/example000005","name":"example000005","type":"Microsoft.DataFactory/factories/pipelines","properties":{"description":"Test + Update description","activities":[{"name":"ExampleForeachActivity","type":"ForEach","typeProperties":{"isSequential":true,"items":{"type":"Expression","value":"@pipeline().parameters.OutputBlobNameList"},"activities":[{"name":"ExampleCopyActivity","type":"Copy","inputs":[{"type":"DatasetReference","referenceName":"example000004","parameters":{"MyFileName":"examplecontainer.csv","MyFolderPath":"examplecontainer"}}],"outputs":[{"type":"DatasetReference","referenceName":"example000004","parameters":{"MyFileName":{"type":"Expression","value":"@item()"},"MyFolderPath":"examplecontainer"}}],"typeProperties":{"source":{"type":"BlobSource"},"sink":{"type":"BlobSink"},"dataIntegrationUnits":32}}]}}],"parameters":{"JobId":{"type":"String"},"OutputBlobNameList":{"type":"Array"}},"variables":{"TestVariableArray":{"type":"Array"}},"runDimensions":{"JobId":{"type":"Expression","value":"@pipeline().parameters.JobId"}},"lastPublishTime":"2021-04-26T06:13:59Z"},"etag":"1c00ff4a-0000-0100-0000-60865a270000"}' + headers: + cache-control: + - no-cache + content-length: + - '1355' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 06:14:14 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-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory dataset show + Connection: + - keep-alive + ParameterSetName: + - --name --factory-name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/datasets/example000004?api-version=2018-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/datasets/example000004","name":"example000004","type":"Microsoft.DataFactory/factories/datasets","properties":{"type":"AzureBlob","description":"Example + description","linkedServiceName":{"type":"LinkedServiceReference","referenceName":"exampleLin000003"},"parameters":{"MyFileName":{"type":"String"},"MyFolderPath":{"type":"String"}},"typeProperties":{"folderPath":{"type":"Expression","value":"@dataset().MyFolderPath"},"fileName":{"type":"Expression","value":"@dataset().MyFileName"},"format":{"type":"TextFormat"}}},"etag":"1c00fb4a-0000-0100-0000-60865a240000"}' + headers: + cache-control: + - no-cache + content-length: + - '782' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 06:14:15 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-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory trigger show + Connection: + - keep-alive + ParameterSetName: + - --factory-name --resource-group --name + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/triggers/example000006?api-version=2018-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/triggers/example000006","name":"example000006","type":"Microsoft.DataFactory/factories/triggers","properties":{"type":"ScheduleTrigger","description":"Example + description","pipelines":[{"pipelineReference":{"type":"PipelineReference","referenceName":"example000005"},"parameters":{"OutputBlobNameList":["exampleoutput.csv"]}}],"typeProperties":{"recurrence":{"frequency":"Minute","interval":4,"startTime":"2018-06-16T00:39:13.84418Z","endTime":"2018-06-16T00:55:13.84418Z","timeZone":"UTC"}},"runtimeState":"Stopped"},"etag":"1c00054b-0000-0100-0000-60865a2d0000"}' + headers: + cache-control: + - no-cache + content-length: + - '779' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 06:14:17 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-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory integration-runtime list + Connection: + - keep-alive + ParameterSetName: + - --factory-name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/integrationRuntimes?api-version=2018-06-01 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/integrationruntimes/exampleInteg000002","name":"exampleInteg000002","type":"Microsoft.DataFactory/factories/integrationruntimes","properties":{"type":"SelfHosted","description":"A + selfhosted integration runtime"},"etag":"1c00084b-0000-0100-0000-60865a2f0000"}]}' + headers: + cache-control: + - no-cache + content-length: + - '496' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 06:14:18 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-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory linked-service list + Connection: + - keep-alive + ParameterSetName: + - --factory-name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/linkedservices?api-version=2018-06-01 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/linkedservices/exampleLin000003","name":"exampleLin000003","type":"Microsoft.DataFactory/factories/linkedservices","properties":{"type":"AzureStorage","description":"Example + description","typeProperties":{"connectionString":{"type":"SecureString","value":"**********"},"encryptedCredential":"ew0KICAiVmVyc2lvbiI6ICIyMDE3LTExLTMwIiwNCiAgIlByb3RlY3Rpb25Nb2RlIjogIktleSIsDQogICJTZWNyZXRDb250ZW50VHlwZSI6ICJQbGFpbnRleHQiLA0KICAiQ3JlZGVudGlhbElkIjogIkVYQU1QTEVGQTVRTkMzREZCM184YWVmOGZkOC0yN2M2LTQ1NDEtOTM0MC01NmU0ZTlkNTBmZTUiDQp9"}},"etag":"1c00f54a-0000-0100-0000-60865a1e0000"}]}' + headers: + cache-control: + - no-cache + content-length: + - '805' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 06:14:19 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-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory pipeline list + Connection: + - keep-alive + ParameterSetName: + - --factory-name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/pipelines?api-version=2018-06-01 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/pipelines/example000005","name":"example000005","type":"Microsoft.DataFactory/factories/pipelines","properties":{"description":"Test + Update description","activities":[{"name":"ExampleForeachActivity","type":"ForEach","typeProperties":{"isSequential":true,"items":{"type":"Expression","value":"@pipeline().parameters.OutputBlobNameList"},"activities":[{"name":"ExampleCopyActivity","type":"Copy","inputs":[{"type":"DatasetReference","referenceName":"example000004","parameters":{"MyFileName":"examplecontainer.csv","MyFolderPath":"examplecontainer"}}],"outputs":[{"type":"DatasetReference","referenceName":"example000004","parameters":{"MyFileName":{"type":"Expression","value":"@item()"},"MyFolderPath":"examplecontainer"}}],"typeProperties":{"source":{"type":"BlobSource"},"sink":{"type":"BlobSink"},"dataIntegrationUnits":32}}]}}],"parameters":{"JobId":{"type":"String"},"OutputBlobNameList":{"type":"Array"}},"variables":{"TestVariableArray":{"type":"Array"}},"runDimensions":{"JobId":{"type":"Expression","value":"@pipeline().parameters.JobId"}},"lastPublishTime":"2021-04-26T06:13:59Z"},"etag":"1c00ff4a-0000-0100-0000-60865a270000"}]}' + headers: + cache-control: + - no-cache + content-length: + - '1367' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 06:14:20 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-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory trigger list + Connection: + - keep-alive + ParameterSetName: + - --factory-name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/triggers?api-version=2018-06-01 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/triggers/example000006","name":"example000006","type":"Microsoft.DataFactory/factories/triggers","properties":{"type":"ScheduleTrigger","description":"Example + description","pipelines":[{"pipelineReference":{"type":"PipelineReference","referenceName":"example000005"},"parameters":{"OutputBlobNameList":["exampleoutput.csv"]}}],"typeProperties":{"recurrence":{"frequency":"Minute","interval":4,"startTime":"2018-06-16T00:39:13.84418Z","endTime":"2018-06-16T00:55:13.84418Z","timeZone":"UTC"}},"runtimeState":"Stopped"},"etag":"1c00054b-0000-0100-0000-60865a2d0000"}]}' + headers: + cache-control: + - no-cache + content-length: + - '791' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 06:14:21 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-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory dataset list + Connection: + - keep-alive + ParameterSetName: + - --factory-name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/datasets?api-version=2018-06-01 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/datasets/example000004","name":"example000004","type":"Microsoft.DataFactory/factories/datasets","properties":{"type":"AzureBlob","description":"Example + description","linkedServiceName":{"type":"LinkedServiceReference","referenceName":"exampleLin000003"},"parameters":{"MyFileName":{"type":"String"},"MyFolderPath":{"type":"String"}},"typeProperties":{"folderPath":{"type":"Expression","value":"@dataset().MyFolderPath"},"fileName":{"type":"Expression","value":"@dataset().MyFileName"},"format":{"type":"TextFormat"}}},"etag":"1c00fb4a-0000-0100-0000-60865a240000"}]}' + headers: + cache-control: + - no-cache + content-length: + - '794' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 06:14:23 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-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory show + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001?api-version=2018-06-01 + response: + body: + string: '{"name":"exampleFa000001","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/examplefa5qnc3dfb3","type":"Microsoft.DataFactory/factories","properties":{"provisioningState":"Succeeded","createTime":"2021-04-26T06:13:38.8060441Z","version":"2018-06-01","factoryStatistics":{"totalResourceCount":0,"maxAllowedResourceCount":0,"factorySizeInGbUnits":0,"maxAllowedFactorySizeInGbUnits":0},"encryption":{}},"eTag":"\"30001ffc-0000-0100-0000-60865a170000\"","location":"eastus","identity":{"type":"SystemAssigned","principalId":"06a7c2de-469c-4e53-bbc5-69adf6b29d6b","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a"},"tags":{"exampleTag":"exampleValue"}}' + headers: + cache-control: + - no-cache + content-length: + - '791' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 06:14:24 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-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory list + Connection: + - keep-alive + ParameterSetName: + - --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories?api-version=2018-06-01 + response: + body: + string: '{"value":[{"name":"exampleFa000001","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/examplefa5qnc3dfb3","type":"Microsoft.DataFactory/factories","properties":{"provisioningState":"Succeeded","createTime":"2021-04-26T06:13:38.8060441Z","version":"2018-06-01","encryption":{}},"eTag":"\"30001ffc-0000-0100-0000-60865a170000\"","location":"eastus","identity":{"type":"SystemAssigned","principalId":"06a7c2de-469c-4e53-bbc5-69adf6b29d6b","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a"},"tags":{"exampleTag":"exampleValue"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '670' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 06:14:24 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-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory list + Connection: + - keep-alive + ParameterSetName: + - -g + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataFactory/factories?api-version=2018-06-01 + response: + body: + string: "{\r\n \"value\": [\r\n {\r\n \"name\": \"exampleFa000001\",\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/examplefa5qnc3dfb3\",\r\n + \ \"type\": \"Microsoft.DataFactory/factories\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Succeeded\",\r\n \"createTime\": + \"2021-04-26T06:13:38.8060441Z\",\r\n \"version\": \"2018-06-01\",\r\n + \ \"factoryStatistics\": null,\r\n \"encryption\": {}\r\n },\r\n + \ \"eTag\": \"\\\"30001ffc-0000-0100-0000-60865a170000\\\"\",\r\n \"location\": + \"eastus\",\r\n \"identity\": {\r\n \"type\": \"SystemAssigned\",\r\n + \ \"principalId\": \"06a7c2de-469c-4e53-bbc5-69adf6b29d6b\",\r\n \"tenantId\": + \"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a\",\r\n \"userAssignedIdentities\": + null\r\n },\r\n \"tags\": {\r\n \"exampleTag\": \"exampleValue\"\r\n + \ }\r\n }\r\n ],\r\n \"nextLink\": null\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '975' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 06:14:26 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-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"keyName": "authKey2"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory integration-runtime regenerate-auth-key + Connection: + - keep-alive + Content-Length: + - '23' + Content-Type: + - application/json + ParameterSetName: + - --factory-name --name --key-name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/integrationRuntimes/exampleInteg000002/regenerateAuthKey?api-version=2018-06-01 + response: + body: + string: '{"authKey2":"IR@a9a706fd-86c1-4717-9b1d-8c451e820276@exampleFa000001@ServiceEndpoint=examplefa5qnc3dfb3.eastus.datafactory.azure.net@ylfb9tUmUb8VxkygSirkWE9RAr5C7EXesqOgJjGsyGU="}' + headers: + cache-control: + - no-cache + content-length: + - '182' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 06:14:27 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-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory integration-runtime sync-credentials + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --factory-name --name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/integrationRuntimes/exampleInteg000002/syncCredentials?api-version=2018-06-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 26 Apr 2021 06:14:29 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory integration-runtime get-monitoring-data + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --factory-name --name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/integrationRuntimes/exampleInteg000002/monitoringData?api-version=2018-06-01 + response: + body: + string: '{"name":"exampleInteg000002"}' + headers: + cache-control: + - no-cache + content-length: + - '36' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 06:14:30 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-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory integration-runtime list-auth-key + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --factory-name --name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/integrationRuntimes/exampleInteg000002/listAuthKeys?api-version=2018-06-01 + response: + body: + string: '{"authKey1":"IR@a9a706fd-86c1-4717-9b1d-8c451e820276@exampleFa000001@ServiceEndpoint=examplefa5qnc3dfb3.eastus.datafactory.azure.net@RaoFzpk8dYtoc+PJqfn0M1Vxak6imWEc6JrR+tHgM74=","authKey2":"IR@a9a706fd-86c1-4717-9b1d-8c451e820276@exampleFa000001@ServiceEndpoint=examplefa5qnc3dfb3.eastus.datafactory.azure.net@ylfb9tUmUb8VxkygSirkWE9RAr5C7EXesqOgJjGsyGU="}' + headers: + cache-control: + - no-cache + content-length: + - '363' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 06:14:30 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-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"factoryName": "exampleFactoryName-linked"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory integration-runtime remove-link + Connection: + - keep-alive + Content-Length: + - '44' + Content-Type: + - application/json + ParameterSetName: + - --factory-name --name --linked-factory-name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/integrationRuntimes/exampleInteg000002/removeLinks?api-version=2018-06-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 26 Apr 2021 06:14:31 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory integration-runtime get-status + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --factory-name --name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/integrationRuntimes/exampleInteg000002/getStatus?api-version=2018-06-01 + response: + body: + string: '{"name":"exampleInteg000002","properties":{"dataFactoryName":"exampleFa000001","state":"NeedRegistration","type":"SelfHosted","typeProperties":{"serviceRegion":"eu","autoUpdate":"Off","internalChannelEncryption":"NotSet","taskQueueId":"a9a706fd-86c1-4717-9b1d-8c451e820276","nodes":[],"updateDelayOffset":"PT3H","serviceUrls":["examplefa5qnc3dfb3.eastus.datafactory.azure.net"],"links":[],"versionStatus":"None","capabilities":{},"latestVersion":"5.5.7762.1","newerVersions":["5.5.7762.1","5.4.7749.1","5.4.7741.1","5.2.7740.4","5.4.7732.1"],"createTime":"2021-04-26T06:14:06.5886459Z"}}}' + headers: + cache-control: + - no-cache + content-length: + - '598' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 06:14:32 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-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory trigger get-event-subscription-status + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --factory-name --resource-group --name + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/triggers/example000006/getEventSubscriptionStatus?api-version=2018-06-01 + response: + body: + string: '{"triggerName":"example000006","status":"Enabled"}' + headers: + cache-control: + - no-cache + content-length: + - '51' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 06:14:32 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-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory trigger unsubscribe-from-event + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --factory-name --resource-group --name + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/triggers/example000006/unsubscribeFromEvents?api-version=2018-06-01 + response: + body: + string: '{"triggerName":"example000006","status":"Disabled"}' + headers: + cache-control: + - no-cache + content-length: + - '52' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 06:14:33 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-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory trigger subscribe-to-event + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --factory-name --resource-group --name + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/triggers/example000006/subscribeToEvents?api-version=2018-06-01 + response: + body: + string: '{"triggerName":"example000006","status":"Enabled"}' + headers: + cache-control: + - no-cache + content-length: + - '51' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 06:14:35 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-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory trigger start + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --factory-name --resource-group --name + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/triggers/example000006/start?api-version=2018-06-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 26 Apr 2021 06:14:38 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory trigger stop + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --factory-name --resource-group --name + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/triggers/example000006/stop?api-version=2018-06-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 26 Apr 2021 06:14:41 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"permissions": "r", "accessResourcePath": "", "profileName": "DefaultProfile", + "startTime": "2018-11-10T02:46:20.2659347Z", "expireTime": "2018-11-10T09:46:20.2659347Z"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory get-data-plane-access + Connection: + - keep-alive + Content-Length: + - '170' + Content-Type: + - application/json + ParameterSetName: + - --name --access-resource-path --expire-time --permissions --profile-name --start-time + --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/getDataPlaneAccess?api-version=2018-06-01 + response: + body: + string: '{"policy":{"permissions":"r","accessResourcePath":"","profileName":"DefaultProfile","startTime":"2018-11-10T02:46:20.2659347Z","expireTime":"2018-11-10T09:46:20.2659347Z"},"dataPlaneUrl":"https://dpeastus.svc.datafactory.azure.com/dataplane","accessToken":"EAAAAOzMyR0nKhAsquydok/3FiewAQAAldolR6fZ/QXURYf8LmzIQhlbZ5KPPrhxUN3NtNVOyPfj0LU16xDxhzhPRzibayyb+le1ujMNo6y6cGvIuZ2pghzrqca4ZBXBuTKEr2luQEMttXb36oGBn3CNGXKEeZBYxOt6QEvYvBsrkalH+LhOD2kbGqxhkoWIj58mwG2oW0YD39cuosVcP5NYPGHJ5/dSfCC6y/x9mVYTdwAlAjgyo7eQd/Sj2tJh+WxPnLyft3l+BnXmBZWDU5qyV8SHlHUlKVG9vAuCnc8YTkdLH3+mLOJFU+lLUDHnjf+9AWN9CqLZZ+HX0Vth9MC0HMYXLtF6Kfm0sb4B10nBO38nVcKx2W+pYl3IN2CTaMxLC7SsbWp0VQ/YE9mUG1hgNOtLJpULJ99kVlZBBdSkYwLBOCNR/8nXK+O9y4QVkgf00pZiZmRhZz+HaQq2IwflWvN/AHgGA3Jx61J2XhMebqIQg2+qx3o6n0TLVuz7GE0lQpX5V/pX4iCePb82o6uxIgIdoztYahDNPcCXvwuL1nVWPOHjWc/Cm9EyvYmk0uDHmz3nQ294jRKciOElQg1LyvdEPRx2IAAAAPKNLZM+2jvM64e+RlV+ZRONovuxThkqtN4FTVuhVXQZ"}' + headers: + cache-control: + - no-cache + content-length: + - '915' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 06:14:41 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-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"lastUpdatedAfter": "2021-04-26T06:13:26.000Z", "lastUpdatedBefore": "2021-04-26T07:13:26.000Z"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory trigger-run query-by-factory + Connection: + - keep-alive + Content-Length: + - '97' + Content-Type: + - application/json + ParameterSetName: + - --factory-name --last-updated-after --last-updated-before --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/queryTriggerRuns?api-version=2018-06-01 + response: + body: + string: '{"value":[]}' + headers: + cache-control: + - no-cache + content-length: + - '12' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 06:14:42 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-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory trigger-run query-by-factory + Connection: + - keep-alive + ParameterSetName: + - --factory-name --last-updated-after --last-updated-before --resource-group + User-Agent: + - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-resource/12.1.0 Azure-SDK-For-Python AZURECLI/2.22.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/locations?api-version=2019-11-01 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus","name":"eastus","displayName":"East + US","regionalDisplayName":"(US) East US","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"US","longitude":"-79.8164","latitude":"37.3719","physicalLocation":"Virginia","pairedRegion":[{"name":"westus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2","name":"eastus2","displayName":"East + US 2","regionalDisplayName":"(US) East US 2","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"US","longitude":"-78.3889","latitude":"36.6681","physicalLocation":"Virginia","pairedRegion":[{"name":"centralus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralus"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralus","name":"southcentralus","displayName":"South + Central US","regionalDisplayName":"(US) South Central US","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"US","longitude":"-98.5","latitude":"29.4167","physicalLocation":"Texas","pairedRegion":[{"name":"northcentralus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northcentralus"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus2","name":"westus2","displayName":"West + US 2","regionalDisplayName":"(US) West US 2","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"US","longitude":"-119.852","latitude":"47.233","physicalLocation":"Washington","pairedRegion":[{"name":"westcentralus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westcentralus"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiaeast","name":"australiaeast","displayName":"Australia + East","regionalDisplayName":"(Asia Pacific) Australia East","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Asia + Pacific","longitude":"151.2094","latitude":"-33.86","physicalLocation":"New + South Wales","pairedRegion":[{"name":"australiasoutheast","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiasoutheast"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southeastasia","name":"southeastasia","displayName":"Southeast + Asia","regionalDisplayName":"(Asia Pacific) Southeast Asia","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Asia + Pacific","longitude":"103.833","latitude":"1.283","physicalLocation":"Singapore","pairedRegion":[{"name":"eastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastasia"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northeurope","name":"northeurope","displayName":"North + Europe","regionalDisplayName":"(Europe) North Europe","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Europe","longitude":"-6.2597","latitude":"53.3478","physicalLocation":"Ireland","pairedRegion":[{"name":"westeurope","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westeurope"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uksouth","name":"uksouth","displayName":"UK + South","regionalDisplayName":"(Europe) UK South","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Europe","longitude":"-0.799","latitude":"50.941","physicalLocation":"London","pairedRegion":[{"name":"ukwest","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/ukwest"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westeurope","name":"westeurope","displayName":"West + Europe","regionalDisplayName":"(Europe) West Europe","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Europe","longitude":"4.9","latitude":"52.3667","physicalLocation":"Netherlands","pairedRegion":[{"name":"northeurope","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northeurope"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralus","name":"centralus","displayName":"Central + US","regionalDisplayName":"(US) Central US","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"US","longitude":"-93.6208","latitude":"41.5908","physicalLocation":"Iowa","pairedRegion":[{"name":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northcentralus","name":"northcentralus","displayName":"North + Central US","regionalDisplayName":"(US) North Central US","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"US","longitude":"-87.6278","latitude":"41.8819","physicalLocation":"Illinois","pairedRegion":[{"name":"southcentralus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralus"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus","name":"westus","displayName":"West + US","regionalDisplayName":"(US) West US","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"US","longitude":"-122.417","latitude":"37.783","physicalLocation":"California","pairedRegion":[{"name":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricanorth","name":"southafricanorth","displayName":"South + Africa North","regionalDisplayName":"(Africa) South Africa North","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Africa","longitude":"28.218370","latitude":"-25.731340","physicalLocation":"Johannesburg","pairedRegion":[{"name":"southafricawest","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricawest"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralindia","name":"centralindia","displayName":"Central + India","regionalDisplayName":"(Asia Pacific) Central India","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Asia + Pacific","longitude":"73.9197","latitude":"18.5822","physicalLocation":"Pune","pairedRegion":[{"name":"southindia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southindia"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastasia","name":"eastasia","displayName":"East + Asia","regionalDisplayName":"(Asia Pacific) East Asia","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Asia + Pacific","longitude":"114.188","latitude":"22.267","physicalLocation":"Hong + Kong","pairedRegion":[{"name":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southeastasia"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japaneast","name":"japaneast","displayName":"Japan + East","regionalDisplayName":"(Asia Pacific) Japan East","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Asia + Pacific","longitude":"139.77","latitude":"35.68","physicalLocation":"Tokyo, + Saitama","pairedRegion":[{"name":"japanwest","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japanwest"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiawest","name":"jioindiawest","displayName":"JIO + India West","regionalDisplayName":"(Asia Pacific) JIO India West","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Asia + Pacific","longitude":"70.05773","latitude":"22.470701","physicalLocation":"Jamnagar","pairedRegion":[{"name":"jioindiacentral","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiacentral"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreacentral","name":"koreacentral","displayName":"Korea + Central","regionalDisplayName":"(Asia Pacific) Korea Central","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Asia + Pacific","longitude":"126.9780","latitude":"37.5665","physicalLocation":"Seoul","pairedRegion":[{"name":"koreasouth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreasouth"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadacentral","name":"canadacentral","displayName":"Canada + Central","regionalDisplayName":"(Canada) Canada Central","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Canada","longitude":"-79.383","latitude":"43.653","physicalLocation":"Toronto","pairedRegion":[{"name":"canadaeast","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadaeast"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francecentral","name":"francecentral","displayName":"France + Central","regionalDisplayName":"(Europe) France Central","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Europe","longitude":"2.3730","latitude":"46.3772","physicalLocation":"Paris","pairedRegion":[{"name":"francesouth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francesouth"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanywestcentral","name":"germanywestcentral","displayName":"Germany + West Central","regionalDisplayName":"(Europe) Germany West Central","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Europe","longitude":"8.682127","latitude":"50.110924","physicalLocation":"Frankfurt","pairedRegion":[{"name":"germanynorth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanynorth"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwayeast","name":"norwayeast","displayName":"Norway + East","regionalDisplayName":"(Europe) Norway East","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Europe","longitude":"10.752245","latitude":"59.913868","physicalLocation":"Norway","pairedRegion":[{"name":"norwaywest","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwaywest"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandnorth","name":"switzerlandnorth","displayName":"Switzerland + North","regionalDisplayName":"(Europe) Switzerland North","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Europe","longitude":"8.564572","latitude":"47.451542","physicalLocation":"Zurich","pairedRegion":[{"name":"switzerlandwest","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandwest"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaenorth","name":"uaenorth","displayName":"UAE + North","regionalDisplayName":"(Middle East) UAE North","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Middle + East","longitude":"55.316666","latitude":"25.266666","physicalLocation":"Dubai","pairedRegion":[{"name":"uaecentral","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaecentral"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilsouth","name":"brazilsouth","displayName":"Brazil + South","regionalDisplayName":"(South America) Brazil South","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"South + America","longitude":"-46.633","latitude":"-23.55","physicalLocation":"Sao + Paulo State","pairedRegion":[{"name":"southcentralus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralus"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralusstage","name":"centralusstage","displayName":"Central + US (Stage)","regionalDisplayName":"(US) Central US (Stage)","metadata":{"regionType":"Logical","regionCategory":"Other","geographyGroup":"US"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastusstage","name":"eastusstage","displayName":"East + US (Stage)","regionalDisplayName":"(US) East US (Stage)","metadata":{"regionType":"Logical","regionCategory":"Other","geographyGroup":"US"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2stage","name":"eastus2stage","displayName":"East + US 2 (Stage)","regionalDisplayName":"(US) East US 2 (Stage)","metadata":{"regionType":"Logical","regionCategory":"Other","geographyGroup":"US"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northcentralusstage","name":"northcentralusstage","displayName":"North + Central US (Stage)","regionalDisplayName":"(US) North Central US (Stage)","metadata":{"regionType":"Logical","regionCategory":"Other","geographyGroup":"US"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralusstage","name":"southcentralusstage","displayName":"South + Central US (Stage)","regionalDisplayName":"(US) South Central US (Stage)","metadata":{"regionType":"Logical","regionCategory":"Other","geographyGroup":"US"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westusstage","name":"westusstage","displayName":"West + US (Stage)","regionalDisplayName":"(US) West US (Stage)","metadata":{"regionType":"Logical","regionCategory":"Other","geographyGroup":"US"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus2stage","name":"westus2stage","displayName":"West + US 2 (Stage)","regionalDisplayName":"(US) West US 2 (Stage)","metadata":{"regionType":"Logical","regionCategory":"Other","geographyGroup":"US"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/asia","name":"asia","displayName":"Asia","regionalDisplayName":"Asia","metadata":{"regionType":"Logical","regionCategory":"Other"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/asiapacific","name":"asiapacific","displayName":"Asia + Pacific","regionalDisplayName":"Asia Pacific","metadata":{"regionType":"Logical","regionCategory":"Other"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australia","name":"australia","displayName":"Australia","regionalDisplayName":"Australia","metadata":{"regionType":"Logical","regionCategory":"Other"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazil","name":"brazil","displayName":"Brazil","regionalDisplayName":"Brazil","metadata":{"regionType":"Logical","regionCategory":"Other"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canada","name":"canada","displayName":"Canada","regionalDisplayName":"Canada","metadata":{"regionType":"Logical","regionCategory":"Other"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/europe","name":"europe","displayName":"Europe","regionalDisplayName":"Europe","metadata":{"regionType":"Logical","regionCategory":"Other"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/global","name":"global","displayName":"Global","regionalDisplayName":"Global","metadata":{"regionType":"Logical","regionCategory":"Other"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/india","name":"india","displayName":"India","regionalDisplayName":"India","metadata":{"regionType":"Logical","regionCategory":"Other"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japan","name":"japan","displayName":"Japan","regionalDisplayName":"Japan","metadata":{"regionType":"Logical","regionCategory":"Other"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uk","name":"uk","displayName":"United + Kingdom","regionalDisplayName":"United Kingdom","metadata":{"regionType":"Logical","regionCategory":"Other"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/unitedstates","name":"unitedstates","displayName":"United + States","regionalDisplayName":"United States","metadata":{"regionType":"Logical","regionCategory":"Other"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastasiastage","name":"eastasiastage","displayName":"East + Asia (Stage)","regionalDisplayName":"(Asia Pacific) East Asia (Stage)","metadata":{"regionType":"Logical","regionCategory":"Other","geographyGroup":"Asia + Pacific"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southeastasiastage","name":"southeastasiastage","displayName":"Southeast + Asia (Stage)","regionalDisplayName":"(Asia Pacific) Southeast Asia (Stage)","metadata":{"regionType":"Logical","regionCategory":"Other","geographyGroup":"Asia + Pacific"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centraluseuap","name":"centraluseuap","displayName":"Central + US EUAP","regionalDisplayName":"(US) Central US EUAP","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"US","longitude":"-93.6208","latitude":"41.5908","pairedRegion":[{"name":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2euap"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2euap","name":"eastus2euap","displayName":"East + US 2 EUAP","regionalDisplayName":"(US) East US 2 EUAP","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"US","longitude":"-78.3889","latitude":"36.6681","pairedRegion":[{"name":"centraluseuap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centraluseuap"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westcentralus","name":"westcentralus","displayName":"West + Central US","regionalDisplayName":"(US) West Central US","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"US","longitude":"-110.234","latitude":"40.890","physicalLocation":"Wyoming","pairedRegion":[{"name":"westus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus2"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus3","name":"westus3","displayName":"West + US 3","regionalDisplayName":"(US) West US 3","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"US","longitude":"-112.074036","latitude":"33.448376","physicalLocation":"Phoenix","pairedRegion":[{"name":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricawest","name":"southafricawest","displayName":"South + Africa West","regionalDisplayName":"(Africa) South Africa West","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Africa","longitude":"18.843266","latitude":"-34.075691","physicalLocation":"Cape + Town","pairedRegion":[{"name":"southafricanorth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricanorth"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral","name":"australiacentral","displayName":"Australia + Central","regionalDisplayName":"(Asia Pacific) Australia Central","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Asia + Pacific","longitude":"149.1244","latitude":"-35.3075","physicalLocation":"Canberra","pairedRegion":[{"name":"australiacentral","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral2","name":"australiacentral2","displayName":"Australia + Central 2","regionalDisplayName":"(Asia Pacific) Australia Central 2","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Asia + Pacific","longitude":"149.1244","latitude":"-35.3075","physicalLocation":"Canberra","pairedRegion":[{"name":"australiacentral2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral2"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiasoutheast","name":"australiasoutheast","displayName":"Australia + Southeast","regionalDisplayName":"(Asia Pacific) Australia Southeast","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Asia + Pacific","longitude":"144.9631","latitude":"-37.8136","physicalLocation":"Victoria","pairedRegion":[{"name":"australiaeast","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiaeast"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japanwest","name":"japanwest","displayName":"Japan + West","regionalDisplayName":"(Asia Pacific) Japan West","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Asia + Pacific","longitude":"135.5022","latitude":"34.6939","physicalLocation":"Osaka","pairedRegion":[{"name":"japaneast","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japaneast"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiacentral","name":"jioindiacentral","displayName":"JIO + India Central","regionalDisplayName":"(Asia Pacific) JIO India Central","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Asia + Pacific","longitude":"79.08886","latitude":"21.146633","physicalLocation":"Nagpur","pairedRegion":[{"name":"jioindiawest","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiawest"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreasouth","name":"koreasouth","displayName":"Korea + South","regionalDisplayName":"(Asia Pacific) Korea South","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Asia + Pacific","longitude":"129.0756","latitude":"35.1796","physicalLocation":"Busan","pairedRegion":[{"name":"koreacentral","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreacentral"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southindia","name":"southindia","displayName":"South + India","regionalDisplayName":"(Asia Pacific) South India","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Asia + Pacific","longitude":"80.1636","latitude":"12.9822","physicalLocation":"Chennai","pairedRegion":[{"name":"centralindia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralindia"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westindia","name":"westindia","displayName":"West + India","regionalDisplayName":"(Asia Pacific) West India","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Asia + Pacific","longitude":"72.868","latitude":"19.088","physicalLocation":"Mumbai","pairedRegion":[{"name":"southindia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southindia"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadaeast","name":"canadaeast","displayName":"Canada + East","regionalDisplayName":"(Canada) Canada East","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Canada","longitude":"-71.217","latitude":"46.817","physicalLocation":"Quebec","pairedRegion":[{"name":"canadacentral","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadacentral"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francesouth","name":"francesouth","displayName":"France + South","regionalDisplayName":"(Europe) France South","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Europe","longitude":"2.1972","latitude":"43.8345","physicalLocation":"Marseille","pairedRegion":[{"name":"francecentral","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francecentral"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanynorth","name":"germanynorth","displayName":"Germany + North","regionalDisplayName":"(Europe) Germany North","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Europe","longitude":"8.806422","latitude":"53.073635","physicalLocation":"Berlin","pairedRegion":[{"name":"germanywestcentral","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanywestcentral"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwaywest","name":"norwaywest","displayName":"Norway + West","regionalDisplayName":"(Europe) Norway West","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Europe","longitude":"5.733107","latitude":"58.969975","physicalLocation":"Norway","pairedRegion":[{"name":"norwayeast","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwayeast"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandwest","name":"switzerlandwest","displayName":"Switzerland + West","regionalDisplayName":"(Europe) Switzerland West","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Europe","longitude":"6.143158","latitude":"46.204391","physicalLocation":"Geneva","pairedRegion":[{"name":"switzerlandnorth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandnorth"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/ukwest","name":"ukwest","displayName":"UK + West","regionalDisplayName":"(Europe) UK West","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Europe","longitude":"-3.084","latitude":"53.427","physicalLocation":"Cardiff","pairedRegion":[{"name":"uksouth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uksouth"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaecentral","name":"uaecentral","displayName":"UAE + Central","regionalDisplayName":"(Middle East) UAE Central","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Middle + East","longitude":"54.366669","latitude":"24.466667","physicalLocation":"Abu + Dhabi","pairedRegion":[{"name":"uaenorth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaenorth"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilsoutheast","name":"brazilsoutheast","displayName":"Brazil + Southeast","regionalDisplayName":"(South America) Brazil Southeast","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"South + America","longitude":"-43.2075","latitude":"-22.90278","physicalLocation":"Rio","pairedRegion":[{"name":"brazilsouth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilsouth"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastusslv","name":"eastusslv","displayName":"East + US SLV","regionalDisplayName":"(South America) East US SLV","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"South + America","longitude":"-43.2075","latitude":"-22.90278","physicalLocation":"Silverstone","pairedRegion":[{"name":"eastusslv","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastusslv"}]}}]}' + headers: + cache-control: + - no-cache + content-length: + - '26993' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 06:14:44 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: '{"factoryResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001", + "repoConfiguration": {"type": "FactoryVSTSConfiguration", "accountName": "ADF", + "repositoryName": "repo", "collaborationBranch": "master", "rootFolder": "/", + "lastCommitId": "", "projectName": "project", "tenantId": ""}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory configure-factory-repo + Connection: + - keep-alive + Content-Length: + - '449' + Content-Type: + - application/json + ParameterSetName: + - --factory-resource-id --factory-vsts-configuration --location + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataFactory/locations/eastus/configureFactoryRepo?api-version=2018-06-01 + response: + body: + string: "{\r\n \"name\": \"exampleFa000001\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/examplefa5qnc3dfb3\",\r\n + \ \"type\": \"Microsoft.DataFactory/factories\",\r\n \"properties\": {\r\n + \ \"provisioningState\": \"Succeeded\",\r\n \"createTime\": \"2021-04-26T06:13:38.8060441Z\",\r\n + \ \"version\": \"2018-06-01\",\r\n \"factoryStatistics\": null,\r\n \"repoConfiguration\": + {\r\n \"type\": \"FactoryVSTSConfiguration\",\r\n \"accountName\": + \"ADF\",\r\n \"repositoryName\": \"repo\",\r\n \"collaborationBranch\": + \"master\",\r\n \"rootFolder\": \"/\",\r\n \"lastCommitId\": \"\",\r\n + \ \"projectName\": \"project\",\r\n \"tenantId\": \"\"\r\n },\r\n + \ \"encryption\": {}\r\n },\r\n \"eTag\": \"\\\"3000bdfc-0000-0100-0000-60865a550000\\\"\",\r\n + \ \"location\": \"eastus\",\r\n \"identity\": {\r\n \"type\": \"SystemAssigned\",\r\n + \ \"principalId\": \"06a7c2de-469c-4e53-bbc5-69adf6b29d6b\",\r\n \"tenantId\": + \"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a\",\r\n \"userAssignedIdentities\": + null\r\n },\r\n \"tags\": {\r\n \"exampleTag\": \"exampleValue\"\r\n + \ }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1126' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 06:14:45 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-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory integration-runtime delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -y --factory-name --name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/integrationRuntimes/exampleInteg000002?api-version=2018-06-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 26 Apr 2021 06:14:47 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory trigger delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -y --factory-name --resource-group --name + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/triggers/example000006?api-version=2018-06-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 26 Apr 2021 06:14:50 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory pipeline delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -y --factory-name --name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/pipelines/example000005?api-version=2018-06-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 26 Apr 2021 06:14:55 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory dataset delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -y --name --factory-name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/datasets/example000004?api-version=2018-06-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 26 Apr 2021 06:14:56 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory linked-service delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -y --factory-name --name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/linkedservices/exampleLin000003?api-version=2018-06-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 26 Apr 2021 06:14:58 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -y --name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001?api-version=2018-06-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 26 Apr 2021 06:15:04 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - account list + Connection: + - keep-alive + ParameterSetName: + - --query -o + User-Agent: + - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-resource/12.1.0 Azure-SDK-For-Python AZURECLI/2.22.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/locations?api-version=2019-11-01 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus","name":"eastus","displayName":"East + US","regionalDisplayName":"(US) East US","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"US","longitude":"-79.8164","latitude":"37.3719","physicalLocation":"Virginia","pairedRegion":[{"name":"westus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2","name":"eastus2","displayName":"East + US 2","regionalDisplayName":"(US) East US 2","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"US","longitude":"-78.3889","latitude":"36.6681","physicalLocation":"Virginia","pairedRegion":[{"name":"centralus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralus"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralus","name":"southcentralus","displayName":"South + Central US","regionalDisplayName":"(US) South Central US","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"US","longitude":"-98.5","latitude":"29.4167","physicalLocation":"Texas","pairedRegion":[{"name":"northcentralus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northcentralus"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus2","name":"westus2","displayName":"West + US 2","regionalDisplayName":"(US) West US 2","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"US","longitude":"-119.852","latitude":"47.233","physicalLocation":"Washington","pairedRegion":[{"name":"westcentralus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westcentralus"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiaeast","name":"australiaeast","displayName":"Australia + East","regionalDisplayName":"(Asia Pacific) Australia East","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Asia + Pacific","longitude":"151.2094","latitude":"-33.86","physicalLocation":"New + South Wales","pairedRegion":[{"name":"australiasoutheast","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiasoutheast"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southeastasia","name":"southeastasia","displayName":"Southeast + Asia","regionalDisplayName":"(Asia Pacific) Southeast Asia","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Asia + Pacific","longitude":"103.833","latitude":"1.283","physicalLocation":"Singapore","pairedRegion":[{"name":"eastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastasia"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northeurope","name":"northeurope","displayName":"North + Europe","regionalDisplayName":"(Europe) North Europe","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Europe","longitude":"-6.2597","latitude":"53.3478","physicalLocation":"Ireland","pairedRegion":[{"name":"westeurope","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westeurope"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uksouth","name":"uksouth","displayName":"UK + South","regionalDisplayName":"(Europe) UK South","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Europe","longitude":"-0.799","latitude":"50.941","physicalLocation":"London","pairedRegion":[{"name":"ukwest","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/ukwest"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westeurope","name":"westeurope","displayName":"West + Europe","regionalDisplayName":"(Europe) West Europe","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Europe","longitude":"4.9","latitude":"52.3667","physicalLocation":"Netherlands","pairedRegion":[{"name":"northeurope","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northeurope"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralus","name":"centralus","displayName":"Central + US","regionalDisplayName":"(US) Central US","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"US","longitude":"-93.6208","latitude":"41.5908","physicalLocation":"Iowa","pairedRegion":[{"name":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northcentralus","name":"northcentralus","displayName":"North + Central US","regionalDisplayName":"(US) North Central US","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"US","longitude":"-87.6278","latitude":"41.8819","physicalLocation":"Illinois","pairedRegion":[{"name":"southcentralus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralus"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus","name":"westus","displayName":"West + US","regionalDisplayName":"(US) West US","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"US","longitude":"-122.417","latitude":"37.783","physicalLocation":"California","pairedRegion":[{"name":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricanorth","name":"southafricanorth","displayName":"South + Africa North","regionalDisplayName":"(Africa) South Africa North","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Africa","longitude":"28.218370","latitude":"-25.731340","physicalLocation":"Johannesburg","pairedRegion":[{"name":"southafricawest","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricawest"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralindia","name":"centralindia","displayName":"Central + India","regionalDisplayName":"(Asia Pacific) Central India","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Asia + Pacific","longitude":"73.9197","latitude":"18.5822","physicalLocation":"Pune","pairedRegion":[{"name":"southindia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southindia"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastasia","name":"eastasia","displayName":"East + Asia","regionalDisplayName":"(Asia Pacific) East Asia","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Asia + Pacific","longitude":"114.188","latitude":"22.267","physicalLocation":"Hong + Kong","pairedRegion":[{"name":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southeastasia"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japaneast","name":"japaneast","displayName":"Japan + East","regionalDisplayName":"(Asia Pacific) Japan East","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Asia + Pacific","longitude":"139.77","latitude":"35.68","physicalLocation":"Tokyo, + Saitama","pairedRegion":[{"name":"japanwest","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japanwest"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiawest","name":"jioindiawest","displayName":"JIO + India West","regionalDisplayName":"(Asia Pacific) JIO India West","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Asia + Pacific","longitude":"70.05773","latitude":"22.470701","physicalLocation":"Jamnagar","pairedRegion":[{"name":"jioindiacentral","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiacentral"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreacentral","name":"koreacentral","displayName":"Korea + Central","regionalDisplayName":"(Asia Pacific) Korea Central","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Asia + Pacific","longitude":"126.9780","latitude":"37.5665","physicalLocation":"Seoul","pairedRegion":[{"name":"koreasouth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreasouth"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadacentral","name":"canadacentral","displayName":"Canada + Central","regionalDisplayName":"(Canada) Canada Central","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Canada","longitude":"-79.383","latitude":"43.653","physicalLocation":"Toronto","pairedRegion":[{"name":"canadaeast","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadaeast"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francecentral","name":"francecentral","displayName":"France + Central","regionalDisplayName":"(Europe) France Central","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Europe","longitude":"2.3730","latitude":"46.3772","physicalLocation":"Paris","pairedRegion":[{"name":"francesouth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francesouth"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanywestcentral","name":"germanywestcentral","displayName":"Germany + West Central","regionalDisplayName":"(Europe) Germany West Central","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Europe","longitude":"8.682127","latitude":"50.110924","physicalLocation":"Frankfurt","pairedRegion":[{"name":"germanynorth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanynorth"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwayeast","name":"norwayeast","displayName":"Norway + East","regionalDisplayName":"(Europe) Norway East","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Europe","longitude":"10.752245","latitude":"59.913868","physicalLocation":"Norway","pairedRegion":[{"name":"norwaywest","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwaywest"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandnorth","name":"switzerlandnorth","displayName":"Switzerland + North","regionalDisplayName":"(Europe) Switzerland North","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Europe","longitude":"8.564572","latitude":"47.451542","physicalLocation":"Zurich","pairedRegion":[{"name":"switzerlandwest","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandwest"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaenorth","name":"uaenorth","displayName":"UAE + North","regionalDisplayName":"(Middle East) UAE North","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Middle + East","longitude":"55.316666","latitude":"25.266666","physicalLocation":"Dubai","pairedRegion":[{"name":"uaecentral","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaecentral"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilsouth","name":"brazilsouth","displayName":"Brazil + South","regionalDisplayName":"(South America) Brazil South","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"South + America","longitude":"-46.633","latitude":"-23.55","physicalLocation":"Sao + Paulo State","pairedRegion":[{"name":"southcentralus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralus"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralusstage","name":"centralusstage","displayName":"Central + US (Stage)","regionalDisplayName":"(US) Central US (Stage)","metadata":{"regionType":"Logical","regionCategory":"Other","geographyGroup":"US"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastusstage","name":"eastusstage","displayName":"East + US (Stage)","regionalDisplayName":"(US) East US (Stage)","metadata":{"regionType":"Logical","regionCategory":"Other","geographyGroup":"US"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2stage","name":"eastus2stage","displayName":"East + US 2 (Stage)","regionalDisplayName":"(US) East US 2 (Stage)","metadata":{"regionType":"Logical","regionCategory":"Other","geographyGroup":"US"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northcentralusstage","name":"northcentralusstage","displayName":"North + Central US (Stage)","regionalDisplayName":"(US) North Central US (Stage)","metadata":{"regionType":"Logical","regionCategory":"Other","geographyGroup":"US"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralusstage","name":"southcentralusstage","displayName":"South + Central US (Stage)","regionalDisplayName":"(US) South Central US (Stage)","metadata":{"regionType":"Logical","regionCategory":"Other","geographyGroup":"US"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westusstage","name":"westusstage","displayName":"West + US (Stage)","regionalDisplayName":"(US) West US (Stage)","metadata":{"regionType":"Logical","regionCategory":"Other","geographyGroup":"US"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus2stage","name":"westus2stage","displayName":"West + US 2 (Stage)","regionalDisplayName":"(US) West US 2 (Stage)","metadata":{"regionType":"Logical","regionCategory":"Other","geographyGroup":"US"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/asia","name":"asia","displayName":"Asia","regionalDisplayName":"Asia","metadata":{"regionType":"Logical","regionCategory":"Other"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/asiapacific","name":"asiapacific","displayName":"Asia + Pacific","regionalDisplayName":"Asia Pacific","metadata":{"regionType":"Logical","regionCategory":"Other"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australia","name":"australia","displayName":"Australia","regionalDisplayName":"Australia","metadata":{"regionType":"Logical","regionCategory":"Other"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazil","name":"brazil","displayName":"Brazil","regionalDisplayName":"Brazil","metadata":{"regionType":"Logical","regionCategory":"Other"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canada","name":"canada","displayName":"Canada","regionalDisplayName":"Canada","metadata":{"regionType":"Logical","regionCategory":"Other"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/europe","name":"europe","displayName":"Europe","regionalDisplayName":"Europe","metadata":{"regionType":"Logical","regionCategory":"Other"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/global","name":"global","displayName":"Global","regionalDisplayName":"Global","metadata":{"regionType":"Logical","regionCategory":"Other"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/india","name":"india","displayName":"India","regionalDisplayName":"India","metadata":{"regionType":"Logical","regionCategory":"Other"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japan","name":"japan","displayName":"Japan","regionalDisplayName":"Japan","metadata":{"regionType":"Logical","regionCategory":"Other"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uk","name":"uk","displayName":"United + Kingdom","regionalDisplayName":"United Kingdom","metadata":{"regionType":"Logical","regionCategory":"Other"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/unitedstates","name":"unitedstates","displayName":"United + States","regionalDisplayName":"United States","metadata":{"regionType":"Logical","regionCategory":"Other"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastasiastage","name":"eastasiastage","displayName":"East + Asia (Stage)","regionalDisplayName":"(Asia Pacific) East Asia (Stage)","metadata":{"regionType":"Logical","regionCategory":"Other","geographyGroup":"Asia + Pacific"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southeastasiastage","name":"southeastasiastage","displayName":"Southeast + Asia (Stage)","regionalDisplayName":"(Asia Pacific) Southeast Asia (Stage)","metadata":{"regionType":"Logical","regionCategory":"Other","geographyGroup":"Asia + Pacific"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centraluseuap","name":"centraluseuap","displayName":"Central + US EUAP","regionalDisplayName":"(US) Central US EUAP","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"US","longitude":"-93.6208","latitude":"41.5908","pairedRegion":[{"name":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2euap"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2euap","name":"eastus2euap","displayName":"East + US 2 EUAP","regionalDisplayName":"(US) East US 2 EUAP","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"US","longitude":"-78.3889","latitude":"36.6681","pairedRegion":[{"name":"centraluseuap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centraluseuap"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westcentralus","name":"westcentralus","displayName":"West + Central US","regionalDisplayName":"(US) West Central US","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"US","longitude":"-110.234","latitude":"40.890","physicalLocation":"Wyoming","pairedRegion":[{"name":"westus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus2"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus3","name":"westus3","displayName":"West + US 3","regionalDisplayName":"(US) West US 3","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"US","longitude":"-112.074036","latitude":"33.448376","physicalLocation":"Phoenix","pairedRegion":[{"name":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricawest","name":"southafricawest","displayName":"South + Africa West","regionalDisplayName":"(Africa) South Africa West","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Africa","longitude":"18.843266","latitude":"-34.075691","physicalLocation":"Cape + Town","pairedRegion":[{"name":"southafricanorth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricanorth"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral","name":"australiacentral","displayName":"Australia + Central","regionalDisplayName":"(Asia Pacific) Australia Central","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Asia + Pacific","longitude":"149.1244","latitude":"-35.3075","physicalLocation":"Canberra","pairedRegion":[{"name":"australiacentral","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral2","name":"australiacentral2","displayName":"Australia + Central 2","regionalDisplayName":"(Asia Pacific) Australia Central 2","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Asia + Pacific","longitude":"149.1244","latitude":"-35.3075","physicalLocation":"Canberra","pairedRegion":[{"name":"australiacentral2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral2"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiasoutheast","name":"australiasoutheast","displayName":"Australia + Southeast","regionalDisplayName":"(Asia Pacific) Australia Southeast","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Asia + Pacific","longitude":"144.9631","latitude":"-37.8136","physicalLocation":"Victoria","pairedRegion":[{"name":"australiaeast","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiaeast"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japanwest","name":"japanwest","displayName":"Japan + West","regionalDisplayName":"(Asia Pacific) Japan West","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Asia + Pacific","longitude":"135.5022","latitude":"34.6939","physicalLocation":"Osaka","pairedRegion":[{"name":"japaneast","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japaneast"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiacentral","name":"jioindiacentral","displayName":"JIO + India Central","regionalDisplayName":"(Asia Pacific) JIO India Central","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Asia + Pacific","longitude":"79.08886","latitude":"21.146633","physicalLocation":"Nagpur","pairedRegion":[{"name":"jioindiawest","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiawest"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreasouth","name":"koreasouth","displayName":"Korea + South","regionalDisplayName":"(Asia Pacific) Korea South","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Asia + Pacific","longitude":"129.0756","latitude":"35.1796","physicalLocation":"Busan","pairedRegion":[{"name":"koreacentral","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreacentral"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southindia","name":"southindia","displayName":"South + India","regionalDisplayName":"(Asia Pacific) South India","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Asia + Pacific","longitude":"80.1636","latitude":"12.9822","physicalLocation":"Chennai","pairedRegion":[{"name":"centralindia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralindia"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westindia","name":"westindia","displayName":"West + India","regionalDisplayName":"(Asia Pacific) West India","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Asia + Pacific","longitude":"72.868","latitude":"19.088","physicalLocation":"Mumbai","pairedRegion":[{"name":"southindia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southindia"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadaeast","name":"canadaeast","displayName":"Canada + East","regionalDisplayName":"(Canada) Canada East","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Canada","longitude":"-71.217","latitude":"46.817","physicalLocation":"Quebec","pairedRegion":[{"name":"canadacentral","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadacentral"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francesouth","name":"francesouth","displayName":"France + South","regionalDisplayName":"(Europe) France South","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Europe","longitude":"2.1972","latitude":"43.8345","physicalLocation":"Marseille","pairedRegion":[{"name":"francecentral","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francecentral"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanynorth","name":"germanynorth","displayName":"Germany + North","regionalDisplayName":"(Europe) Germany North","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Europe","longitude":"8.806422","latitude":"53.073635","physicalLocation":"Berlin","pairedRegion":[{"name":"germanywestcentral","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanywestcentral"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwaywest","name":"norwaywest","displayName":"Norway + West","regionalDisplayName":"(Europe) Norway West","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Europe","longitude":"5.733107","latitude":"58.969975","physicalLocation":"Norway","pairedRegion":[{"name":"norwayeast","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwayeast"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandwest","name":"switzerlandwest","displayName":"Switzerland + West","regionalDisplayName":"(Europe) Switzerland West","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Europe","longitude":"6.143158","latitude":"46.204391","physicalLocation":"Geneva","pairedRegion":[{"name":"switzerlandnorth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandnorth"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/ukwest","name":"ukwest","displayName":"UK + West","regionalDisplayName":"(Europe) UK West","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Europe","longitude":"-3.084","latitude":"53.427","physicalLocation":"Cardiff","pairedRegion":[{"name":"uksouth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uksouth"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaecentral","name":"uaecentral","displayName":"UAE + Central","regionalDisplayName":"(Middle East) UAE Central","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Middle + East","longitude":"54.366669","latitude":"24.466667","physicalLocation":"Abu + Dhabi","pairedRegion":[{"name":"uaenorth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaenorth"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilsoutheast","name":"brazilsoutheast","displayName":"Brazil + Southeast","regionalDisplayName":"(South America) Brazil Southeast","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"South + America","longitude":"-43.2075","latitude":"-22.90278","physicalLocation":"Rio","pairedRegion":[{"name":"brazilsouth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilsouth"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastusslv","name":"eastusslv","displayName":"East + US SLV","regionalDisplayName":"(South America) East US SLV","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"South + America","longitude":"-43.2075","latitude":"-22.90278","physicalLocation":"Silverstone","pairedRegion":[{"name":"eastusslv","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastusslv"}]}}]}' + headers: + cache-control: + - no-cache + content-length: + - '26993' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 03:35:43 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: '{"location": "eastus", "identity": {"type": "SystemAssigned"}, "properties": + {"encryption": {}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory create + Connection: + - keep-alive + Content-Length: + - '96' + Content-Type: + - application/json + ParameterSetName: + - --location --name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001?api-version=2018-06-01 + response: + body: + string: '{"name":"exampleFa000001","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/examplefaakcpqyyqy","type":"Microsoft.DataFactory/factories","properties":{"provisioningState":"Succeeded","createTime":"2021-04-26T03:35:56.3240034Z","version":"2018-06-01","encryption":{}},"eTag":"\"22000c62-0000-0100-0000-6086351c0000\"","location":"eastus","identity":{"type":"SystemAssigned","principalId":"0b4983b4-7dc6-426f-b5ff-fc26da9b2cdc","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a"},"tags":{}}' + headers: + cache-control: + - no-cache + content-length: + - '631' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 03:35:58 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-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"properties": {"type": "Managed", "description": "Managed Integration + Runtime", "typeProperties": {"computeProperties": {"location": "East US 2", + "nodeSize": "Standard_D2_v3", "numberOfNodes": 1, "maxParallelExecutionsPerNode": + 2}, "ssisProperties": {"licenseType": "LicenseIncluded", "edition": "Standard"}}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory integration-runtime managed create + Connection: + - keep-alive + Content-Length: + - '311' + Content-Type: + - application/json + ParameterSetName: + - --factory-name --name --resource-group --description --compute-properties + --ssis-properties + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/integrationRuntimes/exampleInteg000002?api-version=2018-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/integrationruntimes/exampleInteg000002","name":"exampleInteg000002","type":"Microsoft.DataFactory/factories/integrationruntimes","properties":{"type":"Managed","description":"Managed + Integration Runtime","typeProperties":{"computeProperties":{"location":"East + US 2","nodeSize":"Standard_D2_v3","numberOfNodes":1,"maxParallelExecutionsPerNode":2},"ssisProperties":{"licenseType":"LicenseIncluded","edition":"Standard"}},"state":"Initial"},"etag":"3100568e-0000-0100-0000-608635200000"}' + headers: + cache-control: + - no-cache + content-length: + - '709' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 03:36:00 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-content-type-options: + - nosniff + 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: + - datafactory integration-runtime show + Connection: + - keep-alive + ParameterSetName: + - --factory-name --name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/integrationRuntimes/exampleInteg000002?api-version=2018-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/integrationruntimes/exampleInteg000002","name":"exampleInteg000002","type":"Microsoft.DataFactory/factories/integrationruntimes","properties":{"type":"Managed","description":"Managed + Integration Runtime","typeProperties":{"computeProperties":{"location":"East + US 2","nodeSize":"Standard_D2_v3","numberOfNodes":1,"maxParallelExecutionsPerNode":2},"ssisProperties":{"licenseType":"LicenseIncluded","edition":"Standard"}},"state":"Initial"},"etag":"3100568e-0000-0100-0000-608635200000"}' + headers: + cache-control: + - no-cache + content-length: + - '709' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 03:36:01 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-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory integration-runtime start + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --factory-name --name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/integrationRuntimes/exampleInteg000002/start?api-version=2018-06-01 + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/integrationRuntimes/exampleInteg000002/start/operationstatuses/4acc0fceb75e485985c62f8f9282673a?api-version=2018-06-01 + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 26 Apr 2021 03:36:04 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/integrationRuntimes/exampleInteg000002/start/operationresults/4acc0fceb75e485985c62f8f9282673a?api-version=2018-06-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory integration-runtime start + Connection: + - keep-alive + ParameterSetName: + - --factory-name --name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/integrationRuntimes/exampleInteg000002/start/operationstatuses/4acc0fceb75e485985c62f8f9282673a?api-version=2018-06-01 + response: + body: + string: '{"status":"InProgress","name":"4acc0fceb75e485985c62f8f9282673a","properties":null,"error":null}' + headers: + cache-control: + - no-cache + content-length: + - '96' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 03:36:19 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-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory integration-runtime start + Connection: + - keep-alive + ParameterSetName: + - --factory-name --name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/integrationRuntimes/exampleInteg000002/start/operationstatuses/4acc0fceb75e485985c62f8f9282673a?api-version=2018-06-01 + response: + body: + string: '{"status":"InProgress","name":"4acc0fceb75e485985c62f8f9282673a","properties":null,"error":null}' + headers: + cache-control: + - no-cache + content-length: + - '96' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 03:36:49 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-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory integration-runtime start + Connection: + - keep-alive + ParameterSetName: + - --factory-name --name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/integrationRuntimes/exampleInteg000002/start/operationstatuses/4acc0fceb75e485985c62f8f9282673a?api-version=2018-06-01 + response: + body: + string: '{"status":"Succeeded","name":"4acc0fceb75e485985c62f8f9282673a","properties":{"name":"exampleInteg000002","properties":{"dataFactoryName":"exampleFa000001","state":"Started","type":"Managed","dataFactoryLocation":null,"resourceUri":null,"typeProperties":{"nodes":[],"otherErrors":[],"createTime":"2021-04-26T03:36:03.6784667Z"},"dataFactoryTags":null,"managedVirtualNetwork":null}},"error":null}' + headers: + cache-control: + - no-cache + content-length: + - '405' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 03:37:20 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-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory integration-runtime start + Connection: + - keep-alive + ParameterSetName: + - --factory-name --name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/integrationRuntimes/exampleInteg000002/start/operationresults/4acc0fceb75e485985c62f8f9282673a?api-version=2018-06-01 + response: + body: + string: '{"name":"exampleInteg000002","properties":{"dataFactoryName":"exampleFa000001","state":"Started","type":"Managed","dataFactoryLocation":null,"resourceUri":null,"typeProperties":{"nodes":[],"otherErrors":[],"createTime":"2021-04-26T03:36:03.6784667Z"},"dataFactoryTags":null,"managedVirtualNetwork":null}}' + headers: + cache-control: + - no-cache + content-length: + - '314' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 03:37:20 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-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory integration-runtime stop + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --factory-name --name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/integrationRuntimes/exampleInteg000002/stop?api-version=2018-06-01 + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/integrationRuntimes/exampleInteg000002/stop/operationstatuses/0cfd1f0e21614269807f6a5f699d32f2?api-version=2018-06-01 + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 26 Apr 2021 03:37:22 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/integrationRuntimes/exampleInteg000002/stop/operationresults/0cfd1f0e21614269807f6a5f699d32f2?api-version=2018-06-01 + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory integration-runtime stop + Connection: + - keep-alive + ParameterSetName: + - --factory-name --name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/integrationRuntimes/exampleInteg000002/stop/operationstatuses/0cfd1f0e21614269807f6a5f699d32f2?api-version=2018-06-01 + response: + body: + string: '{"status":"InProgress","name":"0cfd1f0e21614269807f6a5f699d32f2","properties":null,"error":null}' + headers: + cache-control: + - no-cache + content-length: + - '96' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 03:37: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-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory integration-runtime stop + Connection: + - keep-alive + ParameterSetName: + - --factory-name --name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/integrationRuntimes/exampleInteg000002/stop/operationstatuses/0cfd1f0e21614269807f6a5f699d32f2?api-version=2018-06-01 + response: + body: + string: '{"status":"InProgress","name":"0cfd1f0e21614269807f6a5f699d32f2","properties":null,"error":null}' + headers: + cache-control: + - no-cache + content-length: + - '96' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 03:38:08 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-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory integration-runtime stop + Connection: + - keep-alive + ParameterSetName: + - --factory-name --name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/integrationRuntimes/exampleInteg000002/stop/operationstatuses/0cfd1f0e21614269807f6a5f699d32f2?api-version=2018-06-01 + response: + body: + string: '{"status":"InProgress","name":"0cfd1f0e21614269807f6a5f699d32f2","properties":null,"error":null}' + headers: + cache-control: + - no-cache + content-length: + - '96' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 03:38: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-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory integration-runtime stop + Connection: + - keep-alive + ParameterSetName: + - --factory-name --name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/integrationRuntimes/exampleInteg000002/stop/operationstatuses/0cfd1f0e21614269807f6a5f699d32f2?api-version=2018-06-01 + response: + body: + string: '{"status":"InProgress","name":"0cfd1f0e21614269807f6a5f699d32f2","properties":null,"error":null}' + headers: + cache-control: + - no-cache + content-length: + - '96' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 03:39:09 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-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory integration-runtime stop + Connection: + - keep-alive + ParameterSetName: + - --factory-name --name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/integrationRuntimes/exampleInteg000002/stop/operationstatuses/0cfd1f0e21614269807f6a5f699d32f2?api-version=2018-06-01 + response: + body: + string: '{"status":"InProgress","name":"0cfd1f0e21614269807f6a5f699d32f2","properties":null,"error":null}' + headers: + cache-control: + - no-cache + content-length: + - '96' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 03:39:39 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-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory integration-runtime stop + Connection: + - keep-alive + ParameterSetName: + - --factory-name --name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/integrationRuntimes/exampleInteg000002/stop/operationstatuses/0cfd1f0e21614269807f6a5f699d32f2?api-version=2018-06-01 + response: + body: + string: '{"status":"InProgress","name":"0cfd1f0e21614269807f6a5f699d32f2","properties":null,"error":null}' + headers: + cache-control: + - no-cache + content-length: + - '96' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 03:40:10 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-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory integration-runtime stop + Connection: + - keep-alive + ParameterSetName: + - --factory-name --name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/integrationRuntimes/exampleInteg000002/stop/operationstatuses/0cfd1f0e21614269807f6a5f699d32f2?api-version=2018-06-01 + response: + body: + string: '{"status":"InProgress","name":"0cfd1f0e21614269807f6a5f699d32f2","properties":null,"error":null}' + headers: + cache-control: + - no-cache + content-length: + - '96' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 03:40:41 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-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory integration-runtime stop + Connection: + - keep-alive + ParameterSetName: + - --factory-name --name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/integrationRuntimes/exampleInteg000002/stop/operationstatuses/0cfd1f0e21614269807f6a5f699d32f2?api-version=2018-06-01 + response: + body: + string: '{"status":"InProgress","name":"0cfd1f0e21614269807f6a5f699d32f2","properties":null,"error":null}' + headers: + cache-control: + - no-cache + content-length: + - '96' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 03:41:11 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-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory integration-runtime stop + Connection: + - keep-alive + ParameterSetName: + - --factory-name --name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/integrationRuntimes/exampleInteg000002/stop/operationstatuses/0cfd1f0e21614269807f6a5f699d32f2?api-version=2018-06-01 + response: + body: + string: '{"status":"Succeeded","name":"0cfd1f0e21614269807f6a5f699d32f2","properties":null,"error":null}' + headers: + cache-control: + - no-cache + content-length: + - '95' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 03:41:41 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-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory integration-runtime stop + Connection: + - keep-alive + ParameterSetName: + - --factory-name --name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/integrationRuntimes/exampleInteg000002/stop/operationresults/0cfd1f0e21614269807f6a5f699d32f2?api-version=2018-06-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 26 Apr 2021 03:41:42 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory integration-runtime delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -y --factory-name --name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/integrationRuntimes/exampleInteg000002?api-version=2018-06-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 26 Apr 2021 03:41:43 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -y --name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001?api-version=2018-06-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 26 Apr 2021 03:41:52 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - account list + Connection: + - keep-alive + ParameterSetName: + - --query -o + User-Agent: + - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-resource/12.1.0 Azure-SDK-For-Python AZURECLI/2.22.1 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/locations?api-version=2019-11-01 + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus","name":"eastus","displayName":"East + US","regionalDisplayName":"(US) East US","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"US","longitude":"-79.8164","latitude":"37.3719","physicalLocation":"Virginia","pairedRegion":[{"name":"westus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2","name":"eastus2","displayName":"East + US 2","regionalDisplayName":"(US) East US 2","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"US","longitude":"-78.3889","latitude":"36.6681","physicalLocation":"Virginia","pairedRegion":[{"name":"centralus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralus"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralus","name":"southcentralus","displayName":"South + Central US","regionalDisplayName":"(US) South Central US","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"US","longitude":"-98.5","latitude":"29.4167","physicalLocation":"Texas","pairedRegion":[{"name":"northcentralus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northcentralus"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus2","name":"westus2","displayName":"West + US 2","regionalDisplayName":"(US) West US 2","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"US","longitude":"-119.852","latitude":"47.233","physicalLocation":"Washington","pairedRegion":[{"name":"westcentralus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westcentralus"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiaeast","name":"australiaeast","displayName":"Australia + East","regionalDisplayName":"(Asia Pacific) Australia East","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Asia + Pacific","longitude":"151.2094","latitude":"-33.86","physicalLocation":"New + South Wales","pairedRegion":[{"name":"australiasoutheast","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiasoutheast"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southeastasia","name":"southeastasia","displayName":"Southeast + Asia","regionalDisplayName":"(Asia Pacific) Southeast Asia","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Asia + Pacific","longitude":"103.833","latitude":"1.283","physicalLocation":"Singapore","pairedRegion":[{"name":"eastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastasia"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northeurope","name":"northeurope","displayName":"North + Europe","regionalDisplayName":"(Europe) North Europe","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Europe","longitude":"-6.2597","latitude":"53.3478","physicalLocation":"Ireland","pairedRegion":[{"name":"westeurope","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westeurope"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uksouth","name":"uksouth","displayName":"UK + South","regionalDisplayName":"(Europe) UK South","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Europe","longitude":"-0.799","latitude":"50.941","physicalLocation":"London","pairedRegion":[{"name":"ukwest","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/ukwest"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westeurope","name":"westeurope","displayName":"West + Europe","regionalDisplayName":"(Europe) West Europe","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Europe","longitude":"4.9","latitude":"52.3667","physicalLocation":"Netherlands","pairedRegion":[{"name":"northeurope","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northeurope"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralus","name":"centralus","displayName":"Central + US","regionalDisplayName":"(US) Central US","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"US","longitude":"-93.6208","latitude":"41.5908","physicalLocation":"Iowa","pairedRegion":[{"name":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northcentralus","name":"northcentralus","displayName":"North + Central US","regionalDisplayName":"(US) North Central US","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"US","longitude":"-87.6278","latitude":"41.8819","physicalLocation":"Illinois","pairedRegion":[{"name":"southcentralus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralus"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus","name":"westus","displayName":"West + US","regionalDisplayName":"(US) West US","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"US","longitude":"-122.417","latitude":"37.783","physicalLocation":"California","pairedRegion":[{"name":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricanorth","name":"southafricanorth","displayName":"South + Africa North","regionalDisplayName":"(Africa) South Africa North","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Africa","longitude":"28.218370","latitude":"-25.731340","physicalLocation":"Johannesburg","pairedRegion":[{"name":"southafricawest","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricawest"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralindia","name":"centralindia","displayName":"Central + India","regionalDisplayName":"(Asia Pacific) Central India","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Asia + Pacific","longitude":"73.9197","latitude":"18.5822","physicalLocation":"Pune","pairedRegion":[{"name":"southindia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southindia"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastasia","name":"eastasia","displayName":"East + Asia","regionalDisplayName":"(Asia Pacific) East Asia","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Asia + Pacific","longitude":"114.188","latitude":"22.267","physicalLocation":"Hong + Kong","pairedRegion":[{"name":"southeastasia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southeastasia"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japaneast","name":"japaneast","displayName":"Japan + East","regionalDisplayName":"(Asia Pacific) Japan East","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Asia + Pacific","longitude":"139.77","latitude":"35.68","physicalLocation":"Tokyo, + Saitama","pairedRegion":[{"name":"japanwest","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japanwest"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiawest","name":"jioindiawest","displayName":"JIO + India West","regionalDisplayName":"(Asia Pacific) JIO India West","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Asia + Pacific","longitude":"70.05773","latitude":"22.470701","physicalLocation":"Jamnagar","pairedRegion":[{"name":"jioindiacentral","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiacentral"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreacentral","name":"koreacentral","displayName":"Korea + Central","regionalDisplayName":"(Asia Pacific) Korea Central","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Asia + Pacific","longitude":"126.9780","latitude":"37.5665","physicalLocation":"Seoul","pairedRegion":[{"name":"koreasouth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreasouth"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadacentral","name":"canadacentral","displayName":"Canada + Central","regionalDisplayName":"(Canada) Canada Central","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Canada","longitude":"-79.383","latitude":"43.653","physicalLocation":"Toronto","pairedRegion":[{"name":"canadaeast","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadaeast"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francecentral","name":"francecentral","displayName":"France + Central","regionalDisplayName":"(Europe) France Central","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Europe","longitude":"2.3730","latitude":"46.3772","physicalLocation":"Paris","pairedRegion":[{"name":"francesouth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francesouth"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanywestcentral","name":"germanywestcentral","displayName":"Germany + West Central","regionalDisplayName":"(Europe) Germany West Central","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Europe","longitude":"8.682127","latitude":"50.110924","physicalLocation":"Frankfurt","pairedRegion":[{"name":"germanynorth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanynorth"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwayeast","name":"norwayeast","displayName":"Norway + East","regionalDisplayName":"(Europe) Norway East","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Europe","longitude":"10.752245","latitude":"59.913868","physicalLocation":"Norway","pairedRegion":[{"name":"norwaywest","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwaywest"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandnorth","name":"switzerlandnorth","displayName":"Switzerland + North","regionalDisplayName":"(Europe) Switzerland North","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Europe","longitude":"8.564572","latitude":"47.451542","physicalLocation":"Zurich","pairedRegion":[{"name":"switzerlandwest","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandwest"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaenorth","name":"uaenorth","displayName":"UAE + North","regionalDisplayName":"(Middle East) UAE North","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"Middle + East","longitude":"55.316666","latitude":"25.266666","physicalLocation":"Dubai","pairedRegion":[{"name":"uaecentral","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaecentral"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilsouth","name":"brazilsouth","displayName":"Brazil + South","regionalDisplayName":"(South America) Brazil South","metadata":{"regionType":"Physical","regionCategory":"Recommended","geographyGroup":"South + America","longitude":"-46.633","latitude":"-23.55","physicalLocation":"Sao + Paulo State","pairedRegion":[{"name":"southcentralus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralus"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralusstage","name":"centralusstage","displayName":"Central + US (Stage)","regionalDisplayName":"(US) Central US (Stage)","metadata":{"regionType":"Logical","regionCategory":"Other","geographyGroup":"US"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastusstage","name":"eastusstage","displayName":"East + US (Stage)","regionalDisplayName":"(US) East US (Stage)","metadata":{"regionType":"Logical","regionCategory":"Other","geographyGroup":"US"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2stage","name":"eastus2stage","displayName":"East + US 2 (Stage)","regionalDisplayName":"(US) East US 2 (Stage)","metadata":{"regionType":"Logical","regionCategory":"Other","geographyGroup":"US"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northcentralusstage","name":"northcentralusstage","displayName":"North + Central US (Stage)","regionalDisplayName":"(US) North Central US (Stage)","metadata":{"regionType":"Logical","regionCategory":"Other","geographyGroup":"US"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralusstage","name":"southcentralusstage","displayName":"South + Central US (Stage)","regionalDisplayName":"(US) South Central US (Stage)","metadata":{"regionType":"Logical","regionCategory":"Other","geographyGroup":"US"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westusstage","name":"westusstage","displayName":"West + US (Stage)","regionalDisplayName":"(US) West US (Stage)","metadata":{"regionType":"Logical","regionCategory":"Other","geographyGroup":"US"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus2stage","name":"westus2stage","displayName":"West + US 2 (Stage)","regionalDisplayName":"(US) West US 2 (Stage)","metadata":{"regionType":"Logical","regionCategory":"Other","geographyGroup":"US"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/asia","name":"asia","displayName":"Asia","regionalDisplayName":"Asia","metadata":{"regionType":"Logical","regionCategory":"Other"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/asiapacific","name":"asiapacific","displayName":"Asia + Pacific","regionalDisplayName":"Asia Pacific","metadata":{"regionType":"Logical","regionCategory":"Other"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australia","name":"australia","displayName":"Australia","regionalDisplayName":"Australia","metadata":{"regionType":"Logical","regionCategory":"Other"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazil","name":"brazil","displayName":"Brazil","regionalDisplayName":"Brazil","metadata":{"regionType":"Logical","regionCategory":"Other"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canada","name":"canada","displayName":"Canada","regionalDisplayName":"Canada","metadata":{"regionType":"Logical","regionCategory":"Other"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/europe","name":"europe","displayName":"Europe","regionalDisplayName":"Europe","metadata":{"regionType":"Logical","regionCategory":"Other"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/global","name":"global","displayName":"Global","regionalDisplayName":"Global","metadata":{"regionType":"Logical","regionCategory":"Other"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/india","name":"india","displayName":"India","regionalDisplayName":"India","metadata":{"regionType":"Logical","regionCategory":"Other"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japan","name":"japan","displayName":"Japan","regionalDisplayName":"Japan","metadata":{"regionType":"Logical","regionCategory":"Other"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uk","name":"uk","displayName":"United + Kingdom","regionalDisplayName":"United Kingdom","metadata":{"regionType":"Logical","regionCategory":"Other"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/unitedstates","name":"unitedstates","displayName":"United + States","regionalDisplayName":"United States","metadata":{"regionType":"Logical","regionCategory":"Other"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastasiastage","name":"eastasiastage","displayName":"East + Asia (Stage)","regionalDisplayName":"(Asia Pacific) East Asia (Stage)","metadata":{"regionType":"Logical","regionCategory":"Other","geographyGroup":"Asia + Pacific"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southeastasiastage","name":"southeastasiastage","displayName":"Southeast + Asia (Stage)","regionalDisplayName":"(Asia Pacific) Southeast Asia (Stage)","metadata":{"regionType":"Logical","regionCategory":"Other","geographyGroup":"Asia + Pacific"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centraluseuap","name":"centraluseuap","displayName":"Central + US EUAP","regionalDisplayName":"(US) Central US EUAP","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"US","longitude":"-93.6208","latitude":"41.5908","pairedRegion":[{"name":"eastus2euap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2euap"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2euap","name":"eastus2euap","displayName":"East + US 2 EUAP","regionalDisplayName":"(US) East US 2 EUAP","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"US","longitude":"-78.3889","latitude":"36.6681","pairedRegion":[{"name":"centraluseuap","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centraluseuap"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westcentralus","name":"westcentralus","displayName":"West + Central US","regionalDisplayName":"(US) West Central US","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"US","longitude":"-110.234","latitude":"40.890","physicalLocation":"Wyoming","pairedRegion":[{"name":"westus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus2"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus3","name":"westus3","displayName":"West + US 3","regionalDisplayName":"(US) West US 3","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"US","longitude":"-112.074036","latitude":"33.448376","physicalLocation":"Phoenix","pairedRegion":[{"name":"eastus","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricawest","name":"southafricawest","displayName":"South + Africa West","regionalDisplayName":"(Africa) South Africa West","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Africa","longitude":"18.843266","latitude":"-34.075691","physicalLocation":"Cape + Town","pairedRegion":[{"name":"southafricanorth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricanorth"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral","name":"australiacentral","displayName":"Australia + Central","regionalDisplayName":"(Asia Pacific) Australia Central","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Asia + Pacific","longitude":"149.1244","latitude":"-35.3075","physicalLocation":"Canberra","pairedRegion":[{"name":"australiacentral","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral2","name":"australiacentral2","displayName":"Australia + Central 2","regionalDisplayName":"(Asia Pacific) Australia Central 2","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Asia + Pacific","longitude":"149.1244","latitude":"-35.3075","physicalLocation":"Canberra","pairedRegion":[{"name":"australiacentral2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral2"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiasoutheast","name":"australiasoutheast","displayName":"Australia + Southeast","regionalDisplayName":"(Asia Pacific) Australia Southeast","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Asia + Pacific","longitude":"144.9631","latitude":"-37.8136","physicalLocation":"Victoria","pairedRegion":[{"name":"australiaeast","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiaeast"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japanwest","name":"japanwest","displayName":"Japan + West","regionalDisplayName":"(Asia Pacific) Japan West","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Asia + Pacific","longitude":"135.5022","latitude":"34.6939","physicalLocation":"Osaka","pairedRegion":[{"name":"japaneast","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japaneast"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiacentral","name":"jioindiacentral","displayName":"JIO + India Central","regionalDisplayName":"(Asia Pacific) JIO India Central","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Asia + Pacific","longitude":"79.08886","latitude":"21.146633","physicalLocation":"Nagpur","pairedRegion":[{"name":"jioindiawest","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiawest"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreasouth","name":"koreasouth","displayName":"Korea + South","regionalDisplayName":"(Asia Pacific) Korea South","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Asia + Pacific","longitude":"129.0756","latitude":"35.1796","physicalLocation":"Busan","pairedRegion":[{"name":"koreacentral","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreacentral"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southindia","name":"southindia","displayName":"South + India","regionalDisplayName":"(Asia Pacific) South India","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Asia + Pacific","longitude":"80.1636","latitude":"12.9822","physicalLocation":"Chennai","pairedRegion":[{"name":"centralindia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralindia"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westindia","name":"westindia","displayName":"West + India","regionalDisplayName":"(Asia Pacific) West India","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Asia + Pacific","longitude":"72.868","latitude":"19.088","physicalLocation":"Mumbai","pairedRegion":[{"name":"southindia","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southindia"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadaeast","name":"canadaeast","displayName":"Canada + East","regionalDisplayName":"(Canada) Canada East","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Canada","longitude":"-71.217","latitude":"46.817","physicalLocation":"Quebec","pairedRegion":[{"name":"canadacentral","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadacentral"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francesouth","name":"francesouth","displayName":"France + South","regionalDisplayName":"(Europe) France South","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Europe","longitude":"2.1972","latitude":"43.8345","physicalLocation":"Marseille","pairedRegion":[{"name":"francecentral","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francecentral"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanynorth","name":"germanynorth","displayName":"Germany + North","regionalDisplayName":"(Europe) Germany North","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Europe","longitude":"8.806422","latitude":"53.073635","physicalLocation":"Berlin","pairedRegion":[{"name":"germanywestcentral","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanywestcentral"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwaywest","name":"norwaywest","displayName":"Norway + West","regionalDisplayName":"(Europe) Norway West","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Europe","longitude":"5.733107","latitude":"58.969975","physicalLocation":"Norway","pairedRegion":[{"name":"norwayeast","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwayeast"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandwest","name":"switzerlandwest","displayName":"Switzerland + West","regionalDisplayName":"(Europe) Switzerland West","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Europe","longitude":"6.143158","latitude":"46.204391","physicalLocation":"Geneva","pairedRegion":[{"name":"switzerlandnorth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandnorth"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/ukwest","name":"ukwest","displayName":"UK + West","regionalDisplayName":"(Europe) UK West","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Europe","longitude":"-3.084","latitude":"53.427","physicalLocation":"Cardiff","pairedRegion":[{"name":"uksouth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uksouth"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaecentral","name":"uaecentral","displayName":"UAE + Central","regionalDisplayName":"(Middle East) UAE Central","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"Middle + East","longitude":"54.366669","latitude":"24.466667","physicalLocation":"Abu + Dhabi","pairedRegion":[{"name":"uaenorth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaenorth"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilsoutheast","name":"brazilsoutheast","displayName":"Brazil + Southeast","regionalDisplayName":"(South America) Brazil Southeast","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"South + America","longitude":"-43.2075","latitude":"-22.90278","physicalLocation":"Rio","pairedRegion":[{"name":"brazilsouth","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilsouth"}]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastusslv","name":"eastusslv","displayName":"East + US SLV","regionalDisplayName":"(South America) East US SLV","metadata":{"regionType":"Physical","regionCategory":"Other","geographyGroup":"South + America","longitude":"-43.2075","latitude":"-22.90278","physicalLocation":"Silverstone","pairedRegion":[{"name":"eastusslv","id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastusslv"}]}}]}' + headers: + cache-control: + - no-cache + content-length: + - '26993' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 04:35:24 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: '{"location": "eastus", "identity": {"type": "SystemAssigned"}, "properties": + {"encryption": {}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory create + Connection: + - keep-alive + Content-Length: + - '96' + Content-Type: + - application/json + ParameterSetName: + - --location --name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001?api-version=2018-06-01 + response: + body: + string: '{"name":"exampleFa000001","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/examplefataiszwk32","type":"Microsoft.DataFactory/factories","properties":{"provisioningState":"Succeeded","createTime":"2021-04-26T04:35:35.9320014Z","version":"2018-06-01","encryption":{}},"eTag":"\"30000750-0000-0100-0000-608643180000\"","location":"eastus","identity":{"type":"SystemAssigned","principalId":"7d2cdddd-762b-41b6-a3cb-b2798bee84bf","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a"},"tags":{}}' + headers: + cache-control: + - no-cache + content-length: + - '631' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 04:35: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-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1197' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"properties": {"activities": [{"name": "Wait1", "type": "Wait", "dependsOn": + [], "userProperties": [], "typeProperties": {"waitTimeInSeconds": 5}}], "annotations": + []}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory pipeline create + Connection: + - keep-alive + Content-Length: + - '169' + Content-Type: + - application/json + ParameterSetName: + - --factory-name --pipeline --name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/pipelines/example000005?api-version=2018-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/pipelines/example000005","name":"example000005","type":"Microsoft.DataFactory/factories/pipelines","properties":{"activities":[{"name":"Wait1","type":"Wait","dependsOn":[],"userProperties":[],"typeProperties":{"waitTimeInSeconds":5}}],"annotations":[]},"etag":"5b0004ed-0000-0100-0000-6086431d0000"}' + headers: + cache-control: + - no-cache + content-length: + - '514' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 04:35:40 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-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"OutputBlobNameList": ["exampleoutput.csv"]}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory pipeline create-run + Connection: + - keep-alive + Content-Length: + - '45' + Content-Type: + - application/json + ParameterSetName: + - --factory-name --parameters --name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/pipelines/example000005/createRun?api-version=2018-06-01 + response: + body: + string: '{"runId":"db9d3cb1-a648-11eb-b950-84a93e64b16e"}' + headers: + cache-control: + - no-cache + content-length: + - '48' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 04:35:44 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-content-type-options: + - nosniff + 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: + - datafactory pipeline-run show + Connection: + - keep-alive + ParameterSetName: + - --factory-name --resource-group --run-id + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/pipelineruns/db9d3cb1-a648-11eb-b950-84a93e64b16e?api-version=2018-06-01 + response: + body: + string: '{"id":"/SUBSCRIPTIONS/00000000-0000-0000-0000-000000000000/RESOURCEGROUPS/CLITESTUREUOWB2FIDALQDHZBZQFN5YX3MAHYIR2OCULQUBA2QXHMFOYTDLJ5C3QD7OFFHGGZI3/PROVIDERS/MICROSOFT.DATAFACTORY/FACTORIES/EXAMPLEFATAISZWK32/pipelineruns/db9d3cb1-a648-11eb-b950-84a93e64b16e","runId":"db9d3cb1-a648-11eb-b950-84a93e64b16e","debugRunId":null,"runGroupId":"db9d3cb1-a648-11eb-b950-84a93e64b16e","pipelineName":"example000005","parameters":{},"invokedBy":{"id":"d5b6b289661d402c8f76621689c77f40","name":"Manual","invokedByType":"Manual"},"runStart":"2021-04-26T04:35:43.0610781Z","runEnd":"2021-04-26T04:35:51.3152593Z","durationInMs":8254,"status":"Succeeded","message":"","lastUpdated":"2021-04-26T04:35:51.3152593Z","annotations":[],"runDimension":{},"isLatest":true}' + headers: + cache-control: + - no-cache + content-length: + - '755' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 04:35:51 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-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"lastUpdatedAfter": "2018-06-16T00:36:44.334575Z", "lastUpdatedBefore": + "2018-06-16T00:49:48.368647Z"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory activity-run query-by-pipeline-run + Connection: + - keep-alive + Content-Length: + - '103' + Content-Type: + - application/json + ParameterSetName: + - --factory-name --last-updated-after --last-updated-before --resource-group + --run-id + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/pipelineruns/2f7fdb90-5df1-4b8e-ac2f-064cfa58202b/queryActivityruns?api-version=2018-06-01 + response: + body: + string: '{"value":[]}' + headers: + cache-control: + - no-cache + content-length: + - '12' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 04:35:51 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-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"OutputBlobNameList": ["exampleoutput.csv"]}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory pipeline create-run + Connection: + - keep-alive + Content-Length: + - '45' + Content-Type: + - application/json + ParameterSetName: + - --factory-name --parameters --name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/pipelines/example000005/createRun?api-version=2018-06-01 + response: + body: + string: '{"runId":"e21653a1-a648-11eb-a1d9-84a93e64b16e"}' + headers: + cache-control: + - no-cache + content-length: + - '48' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 04:35:52 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-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory pipeline-run cancel + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --factory-name --resource-group --run-id + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/pipelineruns/e21653a1-a648-11eb-a1d9-84a93e64b16e/cancel?api-version=2018-06-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 26 Apr 2021 04:35:54 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"properties": {"type": "TumblingWindowTrigger", "description": "trumblingwindowtrigger", + "annotations": [], "pipeline": {"pipelineReference": {"type": "PipelineReference", + "referenceName": "example000005"}}, "typeProperties": {"frequency": "Minute", + "interval": 5, "startTime": "2021-04-26T04:35:23.000Z", "endTime": "2021-04-26T05:35:23.000Z", + "delay": "00:00:00", "maxConcurrency": 50, "retryPolicy": {"intervalInSeconds": + 30}, "dependsOn": []}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory trigger create + Connection: + - keep-alive + Content-Length: + - '451' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --properties --factory-name --name + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/triggers/example000006?api-version=2018-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/triggers/example000006","name":"example000006","type":"Microsoft.DataFactory/factories/triggers","properties":{"type":"TumblingWindowTrigger","description":"trumblingwindowtrigger","annotations":[],"pipeline":{"pipelineReference":{"type":"PipelineReference","referenceName":"example000005"}},"typeProperties":{"frequency":"Minute","interval":5,"startTime":"2021-04-26T04:35:23Z","endTime":"2021-04-26T05:35:23Z","delay":"00:00:00","maxConcurrency":50,"retryPolicy":{"intervalInSeconds":30},"dependsOn":[]},"runtimeState":"Stopped"},"etag":"5b00f6ee-0000-0100-0000-6086432d0000"}' + headers: + cache-control: + - no-cache + content-length: + - '793' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 04:35:56 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-content-type-options: + - nosniff + 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: + - datafactory trigger start + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --factory-name --resource-group --name + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/triggers/example000006/start?api-version=2018-06-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 26 Apr 2021 04:36:00 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory trigger show + Connection: + - keep-alive + ParameterSetName: + - --factory-name --resource-group --name + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/triggers/example000006?api-version=2018-06-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/triggers/example000006","name":"example000006","type":"Microsoft.DataFactory/factories/triggers","properties":{"type":"TumblingWindowTrigger","description":"trumblingwindowtrigger","annotations":[],"pipeline":{"pipelineReference":{"type":"PipelineReference","referenceName":"example000005"}},"typeProperties":{"frequency":"Minute","interval":5,"startTime":"2021-04-26T04:35:23Z","endTime":"2021-04-26T05:35:23Z","delay":"00:00:00","maxConcurrency":50,"retryPolicy":{"intervalInSeconds":30},"dependsOn":[]},"runtimeState":"Started"},"etag":"5b008aef-0000-0100-0000-608643310000"}' + headers: + cache-control: + - no-cache + content-length: + - '793' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 04:36:01 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-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"lastUpdatedAfter": "2021-04-26T04:35:23.000Z", "lastUpdatedBefore": "2021-04-26T05:35:23.000Z"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory trigger-run query-by-factory + Connection: + - keep-alive + Content-Length: + - '97' + Content-Type: + - application/json + ParameterSetName: + - --factory-name --last-updated-after --last-updated-before --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/queryTriggerRuns?api-version=2018-06-01 + response: + body: + string: '{"value":[]}' + headers: + cache-control: + - no-cache + content-length: + - '12' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 04:36:03 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-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"lastUpdatedAfter": "2021-04-26T04:35:23.000Z", "lastUpdatedBefore": "2021-04-26T05:35:23.000Z"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory trigger-run query-by-factory + Connection: + - keep-alive + Content-Length: + - '97' + Content-Type: + - application/json + ParameterSetName: + - --factory-name --last-updated-after --last-updated-before --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/queryTriggerRuns?api-version=2018-06-01 + response: + body: + string: '{"value":[{"triggerName":"example000006","triggerRunId":"08585821951252995598172155524CU16","triggerType":"TumblingWindowTrigger","triggerRunTimestamp":"2021-04-26T04:40:23.2861718Z","status":"Succeeded","message":null,"properties":{"TriggerTime":"4/26/2021 + 4:40:23 AM","windowStartTime":"4/26/2021 4:35:23 AM","windowEndTime":"4/26/2021 + 4:40:23 AM"},"triggeredPipelines":{"example000005":"904d185a-ceed-43cb-9812-639b5e92ac89"},"groupId":"08585821951252995598172155524CU16","dependencyStatus":{}}]}' + headers: + cache-control: + - no-cache + content-length: + - '502' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 04:41:05 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-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory trigger-run rerun + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --factory-name --resource-group --trigger-name --run-id + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/triggers/example000006/triggerRuns/08585821951252995598172155524CU16/rerun?api-version=2018-06-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 26 Apr 2021 04:41:07 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"lastUpdatedAfter": "2018-06-16T00:36:44.334575Z", "lastUpdatedBefore": + "2018-06-16T00:49:48.368647Z", "filters": [{"operand": "TriggerName", "operator": + "Equals", "values": ["example000006"]}]}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory trigger-run query-by-factory + Connection: + - keep-alive + Content-Length: + - '196' + Content-Type: + - application/json + ParameterSetName: + - --factory-name --filters --last-updated-after --last-updated-before --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/queryTriggerRuns?api-version=2018-06-01 + response: + body: + string: '{"value":[]}' + headers: + cache-control: + - no-cache + content-length: + - '12' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 26 Apr 2021 04:41:08 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-content-type-options: + - nosniff + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory trigger stop + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --factory-name --resource-group --name + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/triggers/example000006/stop?api-version=2018-06-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 26 Apr 2021 04:41:11 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory trigger delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -y --factory-name --resource-group --name + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/triggers/example000006?api-version=2018-06-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 26 Apr 2021 04:41:16 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory pipeline delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -y --factory-name --name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001/pipelines/example000005?api-version=2018-06-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 26 Apr 2021 04:41:20 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datafactory delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -y --name --resource-group + User-Agent: + - AZURECLI/2.22.1 azsdk-python-datafactorymanagementclient/unknown Python/3.8.0 + (Windows-10-10.0.19041-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000007/providers/Microsoft.DataFactory/factories/exampleFa000001?api-version=2018-06-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 26 Apr 2021 04:41:27 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +version: 1 diff --git a/src/datafactory/azext_datafactory/tests/latest/test_datafactory_scenario.py b/src/datafactory/azext_datafactory/tests/latest/test_datafactory_scenario.py index bdc9fd88e23..517a35650f8 100644 --- a/src/datafactory/azext_datafactory/tests/latest/test_datafactory_scenario.py +++ b/src/datafactory/azext_datafactory/tests/latest/test_datafactory_scenario.py @@ -10,745 +10,158 @@ import os from azure.cli.testsdk import ScenarioTest -from .. import try_manual, raise_if, calc_coverage from azure.cli.testsdk import ResourceGroupPreparer +from .example_steps import step_create +from .example_steps import step_update +from .example_steps import step_linked_service_create +from .example_steps import step_linked_service_update +from .example_steps import step_dataset_create +from .example_steps import step_dataset_update +from .example_steps import step_pipeline_create +from .example_steps import step_pipeline_update +from .example_steps import step_trigger_create +from .example_steps import step_trigger_update +from .example_steps import step_integration_runtime_self_hosted_create +from .example_steps import step_integration_runtime_update +from .example_steps import step_integration_runtime_linked +from .example_steps import step_pipeline_create_run +from .example_steps import step_integration_runtime_show +from .example_steps import step_linked_service_show +from .example_steps import step_pipeline_run_show +from .example_steps import step_pipeline_show +from .example_steps import step_dataset_show +from .example_steps import step_trigger_show +from .example_steps import step_integration_runtime_list +from .example_steps import step_linked_service_list +from .example_steps import step_pipeline_list +from .example_steps import step_trigger_list +from .example_steps import step_dataset_list +from .example_steps import step_show +from .example_steps import step_list2 +from .example_steps import step_list +from .example_steps import step_integration_runtime_regenerate_auth_key +from .example_steps import step_integration_runtime_get_connection_info +from .example_steps import step_integration_runtime_sync_credentials +from .example_steps import step_integration_runtime_get_monitoring_data +from .example_steps import step_integration_runtime_list_auth_key +from .example_steps import step_integration_runtime_remove_link +from .example_steps import step_integration_runtime_get_status +from .example_steps import step_integration_runtime_start +from .example_steps import step_integration_runtime_stop +from .example_steps import step_trigger_get_event_subscription_status +from .example_steps import step_activity_run_query_by_pipeline_run +from .example_steps import step_trigger_unsubscribe_from_event +from .example_steps import step_trigger_subscribe_to_event +from .example_steps import step_trigger_start +from .example_steps import step_trigger_stop +from .example_steps import step_get_git_hub_access_token +from .example_steps import step_get_data_plane_access +from .example_steps import step_pipeline_run_query_by_factory +from .example_steps import step_pipeline_run_cancel +from .example_steps import step_trigger_run_query_by_factory +from .example_steps import step_configure_factory_repo +from .example_steps import step_integration_runtime_delete +from .example_steps import step_trigger_delete +from .example_steps import step_pipeline_delete +from .example_steps import step_dataset_delete +from .example_steps import step_linked_service_delete +from .example_steps import step_delete +from .. import ( + try_manual, + raise_if, + calc_coverage +) TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) +# Env setup_scenario @try_manual -def setup(test, rg): +def setup_scenario(test, rg): pass -# EXAMPLE: Factories_CreateOrUpdate +# Env cleanup_scenario @try_manual -def step_factories_createorupdate(test, rg): - test.cmd('az datafactory factory create ' - '--location "East US" ' - '--name "{myFactory}" ' - '--resource-group "{rg}"', - checks=[]) - - -# EXAMPLE: Factories_Update -@try_manual -def step_factories_update(test, rg): - test.cmd('az datafactory factory update ' - '--name "{myFactory}" ' - '--tags exampleTag="exampleValue" ' - '--resource-group "{rg}"', - checks=[]) - - -# EXAMPLE: LinkedServices_Create -@try_manual -def step_linkedservices_create(test, rg): - test.cmd('az datafactory linked-service create ' - '--factory-name "{myFactory}" ' - '--properties "{{\\"type\\":\\"AzureStorage\\",\\"typeProperties\\":{{\\"connectionString\\":{{\\"type\\":' - '\\"SecureString\\",\\"value\\":\\"DefaultEndpointsProtocol=https;AccountName=examplestorageaccount;Accoun' - 'tKey=\\"}}}}}}" ' - '--name "{myLinkedService}" ' - '--resource-group "{rg}"', - checks=[]) - - -# EXAMPLE: LinkedServices_Update -@try_manual -def step_linkedservices_update(test, rg): - test.cmd('az datafactory linked-service update ' - '--factory-name "{myFactory}" ' - '--description "Example description" ' - '--name "{myLinkedService}" ' - '--resource-group "{rg}"', - checks=[]) - - -# EXAMPLE: Datasets_Create -@try_manual -def step_datasets_create(test, rg): - test.cmd('az datafactory dataset create ' - '--properties "{{\\"type\\":\\"AzureBlob\\",\\"linkedServiceName\\":{{\\"type\\":\\"LinkedServiceReference' - '\\",\\"referenceName\\":\\"{myLinkedService}\\"}},\\"parameters\\":{{\\"MyFileName\\":{{\\"type\\":\\"Str' - 'ing\\"}},\\"MyFolderPath\\":{{\\"type\\":\\"String\\"}}}},\\"typeProperties\\":{{\\"format\\":{{\\"type\\' - '":\\"TextFormat\\"}},\\"fileName\\":{{\\"type\\":\\"Expression\\",\\"value\\":\\"@dataset().MyFileName\\"' - '}},\\"folderPath\\":{{\\"type\\":\\"Expression\\",\\"value\\":\\"@dataset().MyFolderPath\\"}}}}}}" ' - '--name "{myDataset}" ' - '--factory-name "{myFactory}" ' - '--resource-group "{rg}"', - checks=[]) - - -# EXAMPLE: Datasets_Update -@try_manual -def step_datasets_update(test, rg): - test.cmd('az datafactory dataset update ' - '--description "Example description" ' - '--linked-service-name "{{\\"type\\":\\"LinkedServiceReference\\",\\"referenceName\\":\\"{myLinkedService}' - '\\"}}" ' - '--parameters "{{\\"MyFileName\\":{{\\"type\\":\\"String\\"}},\\"MyFolderPath\\":{{\\"type\\":\\"String\\"' - '}}}}" ' - '--name "{myDataset}" ' - '--factory-name "{myFactory}" ' - '--resource-group "{rg}"', - checks=[]) - - -# EXAMPLE: Pipelines_Create -@try_manual -def step_pipelines_create(test, rg): - test.cmd('az datafactory pipeline create ' - '--factory-name "{myFactory}" ' - '--pipeline "{{\\"activities\\":[{{\\"name\\":\\"ExampleForeachActivity\\",\\"type\\":\\"ForEach\\",\\"typ' - 'eProperties\\":{{\\"activities\\":[{{\\"name\\":\\"ExampleCopyActivity\\",\\"type\\":\\"Copy\\",\\"inputs' - '\\":[{{\\"type\\":\\"DatasetReference\\",\\"parameters\\":{{\\"MyFileName\\":\\"examplecontainer.csv\\",' - '\\"MyFolderPath\\":\\"examplecontainer\\"}},\\"referenceName\\":\\"{myDataset}\\"}}],\\"outputs\\":[{{\\"' - 'type\\":\\"DatasetReference\\",\\"parameters\\":{{\\"MyFileName\\":{{\\"type\\":\\"Expression\\",\\"value' - '\\":\\"@item()\\"}},\\"MyFolderPath\\":\\"examplecontainer\\"}},\\"referenceName\\":\\"{myDataset}\\"}}],' - '\\"typeProperties\\":{{\\"dataIntegrationUnits\\":32,\\"sink\\":{{\\"type\\":\\"BlobSink\\"}},\\"source\\' - '":{{\\"type\\":\\"BlobSource\\"}}}}}}],\\"isSequential\\":true,\\"items\\":{{\\"type\\":\\"Expression\\",' - '\\"value\\":\\"@pipeline().parameters.OutputBlobNameList\\"}}}}}}],\\"parameters\\":{{\\"JobId\\":{{\\"ty' - 'pe\\":\\"String\\"}},\\"OutputBlobNameList\\":{{\\"type\\":\\"Array\\"}}}},\\"variables\\":{{\\"TestVaria' - 'bleArray\\":{{\\"type\\":\\"Array\\"}}}},\\"runDimensions\\":{{\\"JobId\\":{{\\"type\\":\\"Expression\\",' - '\\"value\\":\\"@pipeline().parameters.JobId\\"}}}}}}" ' - '--name "{myPipeline}" ' - '--resource-group "{rg}"', - checks=[]) - - -# EXAMPLE: Pipelines_Update -@try_manual -def step_pipelines_update(test, rg): - test.cmd('az datafactory pipeline update ' - '--factory-name "{myFactory}" ' - '--description "Example description" ' - '--activities "[{{\\"name\\":\\"ExampleForeachActivity\\",\\"type\\":\\"ForEach\\",\\"typeProperties\\":{{' - '\\"activities\\":[{{\\"name\\":\\"ExampleCopyActivity\\",\\"type\\":\\"Copy\\",\\"inputs\\":[{{\\"type\\"' - ':\\"DatasetReference\\",\\"parameters\\":{{\\"MyFileName\\":\\"examplecontainer.csv\\",\\"MyFolderPath\\"' - ':\\"examplecontainer\\"}},\\"referenceName\\":\\"{myDataset}\\"}}],\\"outputs\\":[{{\\"type\\":\\"Dataset' - 'Reference\\",\\"parameters\\":{{\\"MyFileName\\":{{\\"type\\":\\"Expression\\",\\"value\\":\\"@item()\\"}' - '},\\"MyFolderPath\\":\\"examplecontainer\\"}},\\"referenceName\\":\\"{myDataset}\\"}}],\\"typeProperties' - '\\":{{\\"dataIntegrationUnits\\":32,\\"sink\\":{{\\"type\\":\\"BlobSink\\"}},\\"source\\":{{\\"type\\":\\' - '"BlobSource\\"}}}}}}],\\"isSequential\\":true,\\"items\\":{{\\"type\\":\\"Expression\\",\\"value\\":\\"@p' - 'ipeline().parameters.OutputBlobNameList\\"}}}}}}]" ' - '--parameters "{{\\"OutputBlobNameList\\":{{\\"type\\":\\"Array\\"}}}}" ' - '--name "{myPipeline}" ' - '--resource-group "{rg}"', - checks=[]) - - -# EXAMPLE: Triggers_Create -@try_manual -def step_triggers_create(test, rg): - test.cmd('az datafactory trigger create ' - '--factory-name "{myFactory}" ' - '--resource-group "{rg}" ' - '--properties "{{\\"type\\":\\"ScheduleTrigger\\",\\"pipelines\\":[{{\\"parameters\\":{{\\"OutputBlobNameL' - 'ist\\":[\\"exampleoutput.csv\\"]}},\\"pipelineReference\\":{{\\"type\\":\\"PipelineReference\\",\\"refere' - 'nceName\\":\\"{myPipeline}\\"}}}}],\\"typeProperties\\":{{\\"recurrence\\":{{\\"endTime\\":\\"2018-06-16T' - '00:55:13.8441801Z\\",\\"frequency\\":\\"Minute\\",\\"interval\\":4,\\"startTime\\":\\"2018-06-16T00:39:13' - '.8441801Z\\",\\"timeZone\\":\\"UTC\\"}}}}}}" ' - '--name "{myTrigger}"', - checks=[]) - - -# EXAMPLE: Triggers_Update -@try_manual -def step_triggers_update(test, rg): - test.cmd('az datafactory trigger update ' - '--factory-name "{myFactory}" ' - '--resource-group "{rg}" ' - '--description "Example description" ' - '--name "{myTrigger}"', - checks=[]) - - -# EXAMPLE: IntegrationRuntimes_Create -@try_manual -def step_integrationruntimes_create(test, rg): - test.cmd('az datafactory integration-runtime self-hosted create ' - '--factory-name "{myFactory}" ' - '--description "A selfhosted integration runtime" ' - '--name "{myIntegrationRuntime}" ' - '--resource-group "{rg}"', - checks=[]) - - -# EXAMPLE: IntegrationRuntimes_Update -@try_manual -def step_integrationruntimes_update(test, rg): - test.cmd('az datafactory integration-runtime update ' - '--factory-name "{myFactory}" ' - '--name "{myIntegrationRuntime}" ' - '--resource-group "{rg}" ' - '--auto-update "Off" ' - '--update-delay-offset "\\"PT3H\\""', - checks=[]) - - -# EXAMPLE: IntegrationRuntimes_CreateLinkedIntegrationRuntime -@try_manual -def step_integrationruntimes_createlinkedintegrationru(test, rg): - test.cmd('az datafactory integration-runtime linked-integration-runtime create ' - '--name "bfa92911-9fb6-4fbe-8f23-beae87bc1c83" ' - '--location "West US" ' - '--data-factory-name "e9955d6d-56ea-4be3-841c-52a12c1a9981" ' - '--subscription-id "061774c7-4b5a-4159-a55b-365581830283" ' - '--factory-name "{myFactory}" ' - '--integration-runtime-name "{myIntegrationRuntime}" ' - '--resource-group "{rg}" ' - '--subscription-id "12345678-1234-1234-1234-12345678abc"', - checks=[]) - - -# EXAMPLE: Pipelines_CreateRun -@try_manual -def step_pipelines_createrun(test, rg): - test.cmd('az datafactory pipeline create-run ' - '--factory-name "{myFactory}" ' - '--parameters "{{\\"OutputBlobNameList\\":[\\"exampleoutput.csv\\"]}}" ' - '--name "{myPipeline}" ' - '--resource-group "{rg}"', - checks=[]) - - -# EXAMPLE: IntegrationRuntimes_Get -@try_manual -def step_integrationruntimes_get(test, rg): - test.cmd('az datafactory integration-runtime show ' - '--factory-name "{myFactory}" ' - '--name "{myIntegrationRuntime}" ' - '--resource-group "{rg}"', - checks=[]) - - -# EXAMPLE: RerunTriggers_ListByTrigger -@try_manual -def step_reruntriggers_listbytrigger(test, rg): - # EXAMPLE NOT FOUND! - pass - - -# EXAMPLE: LinkedServices_Get -@try_manual -def step_linkedservices_get(test, rg): - test.cmd('az datafactory linked-service show ' - '--factory-name "{myFactory}" ' - '--name "{myLinkedService}" ' - '--resource-group "{rg}"', - checks=[]) - - -# EXAMPLE: PipelineRuns_Get -@try_manual -def step_pipelineruns_get(test, rg): - test.cmd('az datafactory pipeline-run show ' - '--factory-name "{myFactory}" ' - '--resource-group "{rg}" ' - '--run-id "2f7fdb90-5df1-4b8e-ac2f-064cfa58202b"', - checks=[]) - - -# EXAMPLE: Pipelines_Get -@try_manual -def step_pipelines_get(test, rg): - test.cmd('az datafactory pipeline show ' - '--factory-name "{myFactory}" ' - '--name "{myPipeline}" ' - '--resource-group "{rg}"', - checks=[]) - - -# EXAMPLE: Datasets_Get -@try_manual -def step_datasets_get(test, rg): - test.cmd('az datafactory dataset show ' - '--name "{myDataset}" ' - '--factory-name "{myFactory}" ' - '--resource-group "{rg}"', - checks=[]) - - -# EXAMPLE: Triggers_Get -@try_manual -def step_triggers_get(test, rg): - test.cmd('az datafactory trigger show ' - '--factory-name "{myFactory}" ' - '--resource-group "{rg}" ' - '--name "{myTrigger}"', - checks=[]) - - -# EXAMPLE: IntegrationRuntimes_ListByFactory -@try_manual -def step_integrationruntimes_listbyfactory(test, rg): - test.cmd('az datafactory integration-runtime list ' - '--factory-name "{myFactory}" ' - '--resource-group "{rg}"', - checks=[]) - - -# EXAMPLE: LinkedServices_ListByFactory -@try_manual -def step_linkedservices_listbyfactory(test, rg): - test.cmd('az datafactory linked-service list ' - '--factory-name "{myFactory}" ' - '--resource-group "{rg}"', - checks=[]) - - -# EXAMPLE: Pipelines_ListByFactory -@try_manual -def step_pipelines_listbyfactory(test, rg): - test.cmd('az datafactory pipeline list ' - '--factory-name "{myFactory}" ' - '--resource-group "{rg}"', - checks=[]) - - -# EXAMPLE: Triggers_ListByFactory -@try_manual -def step_triggers_listbyfactory(test, rg): - test.cmd('az datafactory trigger list ' - '--factory-name "{myFactory}" ' - '--resource-group "{rg}"', - checks=[]) - - -# EXAMPLE: Datasets_ListByFactory -@try_manual -def step_datasets_listbyfactory(test, rg): - test.cmd('az datafactory dataset list ' - '--factory-name "{myFactory}" ' - '--resource-group "{rg}"', - checks=[]) - - -# EXAMPLE: Factories_Get -@try_manual -def step_factories_get(test, rg): - test.cmd('az datafactory factory show ' - '--name "{myFactory}" ' - '--resource-group "{rg}"', - checks=[]) - - -# EXAMPLE: Factories_ListByResourceGroup -@try_manual -def step_factories_listbyresourcegroup(test, rg): - test.cmd('az datafactory factory list ' - '--resource-group "{rg}"', - checks=[]) - - -# EXAMPLE: Factories_List -@try_manual -def step_factories_list(test, rg): - test.cmd('az datafactory factory list ' - '-g ""', - checks=[]) - - -# EXAMPLE: Operations_List -@try_manual -def step_operations_list(test, rg): - # EXAMPLE NOT FOUND! - pass - - -# EXAMPLE: RerunTriggers_Cancel -@try_manual -def step_reruntriggers_cancel(test, rg): - # EXAMPLE NOT FOUND! - pass - - -# EXAMPLE: RerunTriggers_Start -@try_manual -def step_reruntriggers_start(test, rg): - # EXAMPLE NOT FOUND! - pass - - -# EXAMPLE: RerunTriggers_Stop -@try_manual -def step_reruntriggers_stop(test, rg): - # EXAMPLE NOT FOUND! - pass - - -# EXAMPLE: IntegrationRuntimes_RegenerateAuthKey -@try_manual -def step_integrationruntimes_regenerateauthkey(test, rg): - test.cmd('az datafactory integration-runtime regenerate-auth-key ' - '--factory-name "{myFactory}" ' - '--name "{myIntegrationRuntime}" ' - '--key-name "authKey2" ' - '--resource-group "{rg}"', - checks=[]) - - -# EXAMPLE: TriggerRuns_Rerun -@try_manual -def step_triggerruns_rerun(test, rg): - # EXAMPLE NOT FOUND! - pass - - -# EXAMPLE: IntegrationRuntimes_GetConnectionInfo -@try_manual -def step_integrationruntimes_getconnectioninfo(test, rg): - test.cmd('az datafactory integration-runtime get-connection-info ' - '--factory-name "{myFactory}" ' - '--name "{myIntegrationRuntime}" ' - '--resource-group "{rg}"', - checks=[]) - - -# EXAMPLE: IntegrationRuntimes_SyncCredentials -@try_manual -def step_integrationruntimes_synccredentials(test, rg): - test.cmd('az datafactory integration-runtime sync-credentials ' - '--factory-name "{myFactory}" ' - '--name "{myIntegrationRuntime}" ' - '--resource-group "{rg}"', - checks=[]) - - -# EXAMPLE: IntegrationRuntimes_GetMonitoringData -@try_manual -def step_integrationruntimes_getmonitoringdata(test, rg): - test.cmd('az datafactory integration-runtime get-monitoring-data ' - '--factory-name "{myFactory}" ' - '--name "{myIntegrationRuntime}" ' - '--resource-group "{rg}"', - checks=[]) - - -# EXAMPLE: IntegrationRuntimes_ListAuthKeys -@try_manual -def step_integrationruntimes_listauthkeys(test, rg): - test.cmd('az datafactory integration-runtime list-auth-key ' - '--factory-name "{myFactory}" ' - '--name "{myIntegrationRuntime}" ' - '--resource-group "{rg}"', - checks=[]) - - -# EXAMPLE: IntegrationRuntimes_Upgrade -@try_manual -def step_integrationruntimes_upgrade(test, rg): - test.cmd('az datafactory integration-runtime remove-link ' - '--factory-name "{myFactory}" ' - '--name "{myIntegrationRuntime}" ' - '--linked-factory-name "exampleFactoryName-linked" ' - '--resource-group "{rg}"', - checks=[]) - - -# EXAMPLE: IntegrationRuntimes_GetStatus -@try_manual -def step_integrationruntimes_getstatus(test, rg): - test.cmd('az datafactory integration-runtime get-status ' - '--factory-name "{myFactory}" ' - '--name "{myIntegrationRuntime}" ' - '--resource-group "{rg}"', - checks=[]) - - -# EXAMPLE: IntegrationRuntimes_Start -@try_manual -def step_integrationruntimes_start(test, rg): - test.cmd('az datafactory integration-runtime start ' - '--factory-name "{myFactory}" ' - '--name "{myIntegrationRuntime2}" ' - '--resource-group "{rg}"', - checks=[]) - - -# EXAMPLE: IntegrationRuntimes_Stop -@try_manual -def step_integrationruntimes_stop(test, rg): - test.cmd('az datafactory integration-runtime stop ' - '--factory-name "{myFactory}" ' - '--name "{myIntegrationRuntime2}" ' - '--resource-group "{rg}"', - checks=[]) - - -# EXAMPLE: Triggers_GetEventSubscriptionStatus -@try_manual -def step_triggers_geteventsubscriptionstatus(test, rg): - test.cmd('az datafactory trigger get-event-subscription-status ' - '--factory-name "{myFactory}" ' - '--resource-group "{rg}" ' - '--name "{myTrigger}"', - checks=[]) - - -# EXAMPLE: ActivityRuns_QueryByPipelineRun -@try_manual -def step_activityruns_querybypipelinerun(test, rg): - test.cmd('az datafactory activity-run query-by-pipeline-run ' - '--factory-name "{myFactory}" ' - '--last-updated-after "2018-06-16T00:36:44.3345758Z" ' - '--last-updated-before "2018-06-16T00:49:48.3686473Z" ' - '--resource-group "{rg}" ' - '--run-id "2f7fdb90-5df1-4b8e-ac2f-064cfa58202b"', - checks=[]) - - -# EXAMPLE: Triggers_UnsubscribeFromEvents -@try_manual -def step_triggers_unsubscribefromevents(test, rg): - test.cmd('az datafactory trigger unsubscribe-from-event ' - '--factory-name "{myFactory}" ' - '--resource-group "{rg}" ' - '--name "{myTrigger}"', - checks=[]) - - -# EXAMPLE: Triggers_SubscribeToEvents -@try_manual -def step_triggers_subscribetoevents(test, rg): - test.cmd('az datafactory trigger subscribe-to-event ' - '--factory-name "{myFactory}" ' - '--resource-group "{rg}" ' - '--name "{myTrigger}"', - checks=[]) - - -# EXAMPLE: Triggers_Start -@try_manual -def step_triggers_start(test, rg): - test.cmd('az datafactory trigger start ' - '--factory-name "{myFactory}" ' - '--resource-group "{rg}" ' - '--name "{myTrigger}"', - checks=[]) - - -# EXAMPLE: Triggers_Stop -@try_manual -def step_triggers_stop(test, rg): - test.cmd('az datafactory trigger stop ' - '--factory-name "{myFactory}" ' - '--resource-group "{rg}" ' - '--name "{myTrigger}"', - checks=[]) - - -# EXAMPLE: Factories_GetGitHubAccessToken -@try_manual -def step_factories_getgithubaccesstoken(test, rg): - test.cmd('az datafactory factory get-git-hub-access-token ' - '--name "{myFactory}" ' - '--git-hub-access-code "some" ' - '--git-hub-access-token-base-url "some" ' - '--git-hub-client-id "some" ' - '--resource-group "{rg}"', - checks=[]) - - -# EXAMPLE: Factories_GetDataPlaneAccess -@try_manual -def step_factories_getdataplaneaccess(test, rg): - test.cmd('az datafactory factory get-data-plane-access ' - '--name "{myFactory}" ' - '--access-resource-path "" ' - '--expire-time "2018-11-10T09:46:20.2659347Z" ' - '--permissions "r" ' - '--profile-name "DefaultProfile" ' - '--start-time "2018-11-10T02:46:20.2659347Z" ' - '--resource-group "{rg}"', - checks=[]) - - -# EXAMPLE: PipelineRuns_QueryByFactory -@try_manual -def step_pipelineruns_querybyfactory(test, rg): - test.cmd('az datafactory pipeline-run query-by-factory ' - '--factory-name "{myFactory}" ' - '--filters operand="PipelineName" operator="Equals" values="{myPipeline}" ' - '--last-updated-after "2018-06-16T00:36:44.3345758Z" ' - '--last-updated-before "2018-06-16T00:49:48.3686473Z" ' - '--resource-group "{rg}"', - checks=[]) - - -# EXAMPLE: PipelineRuns_Cancel -@try_manual -def step_pipelineruns_cancel(test, rg): - test.cmd('az datafactory pipeline-run cancel ' - '--factory-name "{myFactory}" ' - '--resource-group "{rg}" ' - '--run-id "16ac5348-ff82-4f95-a80d-638c1d47b721"', - checks=[]) - - -# EXAMPLE: TriggerRuns_QueryByFactory -@try_manual -def step_triggerruns_querybyfactory(test, rg): - test.cmd('az datafactory trigger-run query-by-factory ' - '--factory-name "{myFactory}" ' - '--filters operand="TriggerName" operator="Equals" values="{myTrigger}" ' - '--last-updated-after "2018-06-16T00:36:44.3345758Z" ' - '--last-updated-before "2018-06-16T00:49:48.3686473Z" ' - '--resource-group "{rg}"', - checks=[]) - - -# EXAMPLE: Factories_ConfigureFactoryRepo -@try_manual -def step_factories_configurefactoryrepo(test, rg): - test.cmd('az datafactory factory configure-factory-repo ' - '--factory-resource-id "/subscriptions/{subscription_id}/resourceGroups/{rg}/providers/Microsoft.DataFacto' - 'ry/factories/{myFactory}" ' - '--factory-vsts-configuration account-name="ADF" collaboration-branch="master" last-commit-id="" ' - 'project-name="project" repository-name="repo" root-folder="/" tenant-id="" ' - '--location "East US"', - checks=[]) - - -# EXAMPLE: IntegrationRuntimes_Delete -@try_manual -def step_integrationruntimes_delete(test, rg): - test.cmd('az datafactory integration-runtime delete -y ' - '--factory-name "{myFactory}" ' - '--name "{myIntegrationRuntime}" ' - '--resource-group "{rg}"', - checks=[]) - - -# EXAMPLE: Triggers_Delete -@try_manual -def step_triggers_delete(test, rg): - test.cmd('az datafactory trigger delete -y ' - '--factory-name "{myFactory}" ' - '--resource-group "{rg}" ' - '--name "{myTrigger}"', - checks=[]) - - -# EXAMPLE: Pipelines_Delete -@try_manual -def step_pipelines_delete(test, rg): - test.cmd('az datafactory pipeline delete -y ' - '--factory-name "{myFactory}" ' - '--name "{myPipeline}" ' - '--resource-group "{rg}"', - checks=[]) - - -# EXAMPLE: Datasets_Delete -@try_manual -def step_datasets_delete(test, rg): - test.cmd('az datafactory dataset delete -y ' - '--name "{myDataset}" ' - '--factory-name "{myFactory}" ' - '--resource-group "{rg}"', - checks=[]) - - -# EXAMPLE: LinkedServices_Delete -@try_manual -def step_linkedservices_delete(test, rg): - test.cmd('az datafactory linked-service delete -y ' - '--factory-name "{myFactory}" ' - '--name "{myLinkedService}" ' - '--resource-group "{rg}"', - checks=[]) - - -# EXAMPLE: Factories_Delete -@try_manual -def step_factories_delete(test, rg): - test.cmd('az datafactory factory delete -y ' - '--name "{myFactory}" ' - '--resource-group "{rg}"', - checks=[]) - - -@try_manual -def cleanup(test, rg): +def cleanup_scenario(test, rg): pass +# Testcase: Scenario @try_manual def call_scenario(test, rg): - setup(test, rg) - step_factories_createorupdate(test, rg) - step_factories_update(test, rg) - step_linkedservices_create(test, rg) - step_linkedservices_update(test, rg) - step_datasets_create(test, rg) - step_datasets_update(test, rg) - step_pipelines_create(test, rg) - step_pipelines_update(test, rg) - step_triggers_create(test, rg) - step_triggers_update(test, rg) - step_integrationruntimes_create(test, rg) - step_integrationruntimes_update(test, rg) - step_integrationruntimes_createlinkedintegrationru(test, rg) - step_pipelines_createrun(test, rg) - step_integrationruntimes_get(test, rg) - step_reruntriggers_listbytrigger(test, rg) - step_linkedservices_get(test, rg) - step_pipelineruns_get(test, rg) - step_pipelines_get(test, rg) - step_datasets_get(test, rg) - step_triggers_get(test, rg) - step_integrationruntimes_listbyfactory(test, rg) - step_linkedservices_listbyfactory(test, rg) - step_pipelines_listbyfactory(test, rg) - step_triggers_listbyfactory(test, rg) - step_datasets_listbyfactory(test, rg) - step_factories_get(test, rg) - step_factories_listbyresourcegroup(test, rg) - step_factories_list(test, rg) - step_operations_list(test, rg) - step_reruntriggers_cancel(test, rg) - step_reruntriggers_start(test, rg) - step_reruntriggers_stop(test, rg) - step_integrationruntimes_regenerateauthkey(test, rg) - step_triggerruns_rerun(test, rg) - step_integrationruntimes_getconnectioninfo(test, rg) - step_integrationruntimes_synccredentials(test, rg) - step_integrationruntimes_getmonitoringdata(test, rg) - step_integrationruntimes_listauthkeys(test, rg) - step_integrationruntimes_upgrade(test, rg) - step_integrationruntimes_getstatus(test, rg) - step_integrationruntimes_start(test, rg) - step_integrationruntimes_stop(test, rg) - step_triggers_geteventsubscriptionstatus(test, rg) - step_activityruns_querybypipelinerun(test, rg) - step_triggers_unsubscribefromevents(test, rg) - step_triggers_subscribetoevents(test, rg) - step_triggers_start(test, rg) - step_triggers_stop(test, rg) - step_factories_getgithubaccesstoken(test, rg) - step_factories_getdataplaneaccess(test, rg) - step_pipelineruns_querybyfactory(test, rg) - step_pipelineruns_cancel(test, rg) - step_triggerruns_querybyfactory(test, rg) - step_factories_configurefactoryrepo(test, rg) - step_integrationruntimes_delete(test, rg) - step_triggers_delete(test, rg) - step_pipelines_delete(test, rg) - step_datasets_delete(test, rg) - step_linkedservices_delete(test, rg) - step_factories_delete(test, rg) - cleanup(test, rg) - - -@try_manual -class DataFactoryManagementClientScenarioTest(ScenarioTest): - - @ResourceGroupPreparer(name_prefix='clitestdatafactory_exampleResourceGroup'[:7], key='rg', parameter_name='rg') - def test_datafactory(self, rg): - + setup_scenario(test, rg) + step_create(test, rg, checks=[]) + step_update(test, rg, checks=[]) + step_linked_service_create(test, rg, checks=[]) + step_linked_service_update(test, rg, checks=[]) + step_dataset_create(test, rg, checks=[]) + step_dataset_update(test, rg, checks=[]) + step_pipeline_create(test, rg, checks=[]) + step_pipeline_update(test, rg, checks=[]) + step_trigger_create(test, rg, checks=[]) + step_trigger_update(test, rg, checks=[]) + step_integration_runtime_self_hosted_create(test, rg, checks=[]) + step_integration_runtime_update(test, rg, checks=[]) + step_integration_runtime_linked(test, rg, checks=[]) + step_pipeline_create_run(test, rg, checks=[]) + step_integration_runtime_show(test, rg, checks=[]) + # STEP NOT FOUND: RerunTriggers_ListByTrigger + step_linked_service_show(test, rg, checks=[]) + step_pipeline_run_show(test, rg, checks=[]) + step_pipeline_show(test, rg, checks=[]) + step_dataset_show(test, rg, checks=[]) + step_trigger_show(test, rg, checks=[]) + step_integration_runtime_list(test, rg, checks=[]) + step_linked_service_list(test, rg, checks=[]) + step_pipeline_list(test, rg, checks=[]) + step_trigger_list(test, rg, checks=[]) + step_dataset_list(test, rg, checks=[]) + step_show(test, rg, checks=[]) + step_list2(test, rg, checks=[]) + step_list(test, rg, checks=[]) + # STEP NOT FOUND: Operations_List + # STEP NOT FOUND: RerunTriggers_Cancel + # STEP NOT FOUND: RerunTriggers_Start + # STEP NOT FOUND: RerunTriggers_Stop + step_integration_runtime_regenerate_auth_key(test, rg, checks=[]) + # STEP NOT FOUND: TriggerRuns_Rerun + step_integration_runtime_get_connection_info(test, rg, checks=[]) + step_integration_runtime_sync_credentials(test, rg, checks=[]) + step_integration_runtime_get_monitoring_data(test, rg, checks=[]) + step_integration_runtime_list_auth_key(test, rg, checks=[]) + step_integration_runtime_remove_link(test, rg, checks=[]) + step_integration_runtime_get_status(test, rg, checks=[]) + step_integration_runtime_start(test, rg, checks=[]) + step_integration_runtime_stop(test, rg, checks=[]) + step_trigger_get_event_subscription_status(test, rg, checks=[]) + step_activity_run_query_by_pipeline_run(test, rg, checks=[]) + step_trigger_unsubscribe_from_event(test, rg, checks=[]) + step_trigger_subscribe_to_event(test, rg, checks=[]) + step_trigger_start(test, rg, checks=[]) + step_trigger_stop(test, rg, checks=[]) + step_get_git_hub_access_token(test, rg, checks=[]) + step_get_data_plane_access(test, rg, checks=[]) + step_pipeline_run_query_by_factory(test, rg, checks=[]) + step_pipeline_run_cancel(test, rg, checks=[]) + step_trigger_run_query_by_factory(test, rg, checks=[]) + step_configure_factory_repo(test, rg, checks=[]) + step_integration_runtime_delete(test, rg, checks=[]) + step_trigger_delete(test, rg, checks=[]) + step_pipeline_delete(test, rg, checks=[]) + step_dataset_delete(test, rg, checks=[]) + step_linked_service_delete(test, rg, checks=[]) + step_delete(test, rg, checks=[]) + cleanup_scenario(test, rg) + + +# Test class for Scenario +@try_manual +class DatafactoryScenarioTest(ScenarioTest): + + def __init__(self, *args, **kwargs): + super(DatafactoryScenarioTest, self).__init__(*args, **kwargs) self.kwargs.update({ 'subscription_id': self.get_subscription_id() }) @@ -763,6 +176,8 @@ def test_datafactory(self, rg): 'myTrigger': self.create_random_name(prefix='exampleTrigger'[:7], length=14), }) + @ResourceGroupPreparer(name_prefix='clitestdatafactory_exampleResourceGroup'[:7], key='rg', parameter_name='rg') + def test_datafactory_Scenario(self, rg): call_scenario(self, rg) calc_coverage(__file__) raise_if() diff --git a/src/datafactory/azext_datafactory/tests/latest/test_datafactory_scenario_coverage.md b/src/datafactory/azext_datafactory/tests/latest/test_datafactory_scenario_coverage.md index 9f0a5f555cf..b7eabe4528a 100644 --- a/src/datafactory/azext_datafactory/tests/latest/test_datafactory_scenario_coverage.md +++ b/src/datafactory/azext_datafactory/tests/latest/test_datafactory_scenario_coverage.md @@ -1,56 +1,48 @@ |Scenario|Result|ErrorMessage|ErrorStack|ErrorNormalized|StartDt|EndDt| -|step_factories_createorupdate|successed||||2020-09-09 03:20:36.459026|2020-09-09 03:20:47.009536| -|step_factories_update|successed||||2020-09-09 03:13:09.171999|2020-09-09 03:13:17.158415| -|step_linkedservices_create|successed||||2020-09-09 03:13:17.158521|2020-09-09 03:13:18.391822| -|step_linkedservices_update|successed||||2020-09-09 03:13:18.391936|2020-09-09 03:13:20.086697| -|step_datasets_create|successed||||2020-09-09 03:13:20.086867|2020-09-09 03:13:21.030817| -|step_datasets_update|successed||||2020-09-09 03:13:21.030945|2020-09-09 03:13:23.212312| -|step_pipelines_create|successed||||2020-09-09 03:13:23.212418|2020-09-09 03:13:24.144046| -|step_pipelines_update|successed||||2020-09-09 03:13:24.144222|2020-09-09 03:13:25.633789| -|step_triggers_create|successed||||2020-09-09 03:13:25.633898|2020-09-09 03:13:26.656790| -|step_triggers_update|successed||||2020-09-09 03:13:26.656960|2020-09-09 03:13:28.908454| -|step_integrationruntimes_create|successed||||2020-09-09 03:13:28.908624|2020-09-09 03:13:30.048626| -|step_integrationruntimes_update|successed||||2020-09-09 03:13:30.048749|2020-09-09 03:13:30.718810| -|step_pipelines_createrun|successed||||2020-09-09 03:20:58.002857|2020-09-09 03:20:59.633723| -|step_integrationruntimes_get|successed||||2020-09-09 03:14:47.710770|2020-09-09 03:14:48.302708| -|step_reruntriggers_listbytrigger|successed||||2020-09-09 03:13:55.851345|2020-09-09 03:13:55.851351| -|step_linkedservices_get|successed||||2020-09-09 03:13:55.851669|2020-09-09 03:13:56.412982| -|step_pipelines_get|successed||||2020-09-09 03:13:56.413198|2020-09-09 03:13:57.000576| -|step_datasets_get|successed||||2020-09-09 03:13:57.000711|2020-09-09 03:13:57.627004| -|step_triggers_get|successed||||2020-09-09 03:21:05.240434|2020-09-09 03:21:05.843100| -|step_integrationruntimes_listbyfactory|successed||||2020-09-09 03:13:58.229772|2020-09-09 03:13:58.825227| -|step_linkedservices_listbyfactory|successed||||2020-09-09 03:13:58.825356|2020-09-09 03:13:59.474421| -|step_pipelines_listbyfactory|successed||||2020-09-09 03:13:59.474573|2020-09-09 03:14:00.075676| -|step_triggers_listbyfactory|successed||||2020-09-09 03:14:00.075778|2020-09-09 03:14:00.659819| -|step_datasets_listbyfactory|successed||||2020-09-09 03:14:00.659993|2020-09-09 03:14:01.933289| -|step_factories_get|successed||||2020-09-09 03:14:01.933391|2020-09-09 03:14:02.496092| -|step_factories_listbyresourcegroup|successed||||2020-09-09 03:14:02.496256|2020-09-09 03:14:03.065882| -|step_factories_list|successed||||2020-09-09 03:14:03.066110|2020-09-09 03:14:03.652226| -|step_operations_list|successed||||2020-09-09 03:14:03.652474|2020-09-09 03:14:03.652478| -|step_integrationruntimes_regenerateauthkey|successed||||2020-09-09 03:14:03.652652|2020-09-09 03:14:04.485017| -|step_integrationruntimes_synccredentials|successed||||2020-09-09 03:14:04.485147|2020-09-09 03:14:05.267252| -|step_integrationruntimes_getmonitoringdata|successed||||2020-09-09 03:14:05.267586|2020-09-09 03:14:05.885271| -|step_integrationruntimes_listauthkeys|successed||||2020-09-09 03:14:05.885388|2020-09-09 03:14:06.561146| -|step_integrationruntimes_upgrade|successed||||2020-09-09 03:14:06.561314|2020-09-09 03:14:07.329602| -|step_integrationruntimes_getstatus|successed||||2020-09-09 03:14:07.329744|2020-09-09 03:14:07.953859| -|step_triggers_geteventsubscriptionstatus|successed||||2020-09-09 03:14:07.953969|2020-09-09 03:14:08.601782| -|step_triggers_unsubscribefromevents|successed||||2020-09-09 03:14:08.601956|2020-09-09 03:14:09.397017| -|step_triggers_subscribetoevents|successed||||2020-09-09 03:14:09.397108|2020-09-09 03:14:10.182324| -|step_triggers_start|successed||||2020-09-09 03:21:02.232388|2020-09-09 03:21:05.240220| -|step_triggers_stop|successed||||2020-09-09 03:26:10.167791|2020-09-09 03:26:12.927439| -|step_factories_getdataplaneaccess|successed||||2020-09-09 03:14:15.489956|2020-09-09 03:14:16.213205| -|step_triggerruns_querybyfactory|successed||||2020-09-09 03:26:09.523472|2020-09-09 03:26:10.167619| -|step_factories_configurefactoryrepo|successed||||2020-09-09 03:14:16.845877|2020-09-09 03:14:19.093687| -|step_integrationruntimes_delete|successed||||2020-09-09 03:20:29.384647|2020-09-09 03:20:31.116770| -|step_triggers_delete|successed||||2020-09-09 03:26:12.927659|2020-09-09 03:26:17.287524| -|step_pipelines_delete|successed||||2020-09-09 03:26:17.287730|2020-09-09 03:26:21.728041| -|step_datasets_delete|successed||||2020-09-09 03:14:27.023092|2020-09-09 03:14:28.558416| -|step_linkedservices_delete|successed||||2020-09-09 03:14:28.558520|2020-09-09 03:14:29.608796| -|step_factories_delete|successed||||2020-09-09 03:26:21.728199|2020-09-09 03:26:28.588917| -|step_integrationruntimes_start|successed||||2020-09-09 03:14:48.302813|2020-09-09 03:16:06.820258| -|step_integrationruntimes_stop|successed||||2020-09-09 03:16:06.820543|2020-09-09 03:20:29.384268| -|step_pipelineruns_get|successed||||2020-09-09 03:20:55.257577|2020-09-09 03:20:56.603108| -|step_activityruns_querybypipelinerun|successed||||2020-09-09 03:20:56.603386|2020-09-09 03:20:58.002421| -|step_pipelineruns_cancel|successed||||2020-09-09 03:20:59.634195|2020-09-09 03:21:00.580469| -|step_triggerruns_rerun|successed||||2020-09-09 03:26:07.876793|2020-09-09 03:26:09.523263| -Coverage: 54/54 +|step_create|successed||||2021-04-26 09:05:32.308913|2021-04-26 09:05:32.501033| +|step_update|successed||||2021-04-26 09:05:22.750754|2021-04-26 09:05:22.880707| +|step_linked_service_create|successed||||2021-04-26 09:05:22.880707|2021-04-26 09:05:23.009706| +|step_linked_service_update|successed||||2021-04-26 09:05:23.010706|2021-04-26 09:05:23.174579| +|step_dataset_create|successed||||2021-04-26 09:05:23.174579|2021-04-26 09:05:23.317043| +|step_dataset_update|successed||||2021-04-26 09:05:23.318045|2021-04-26 09:05:23.451047| +|step_pipeline_create|successed||||2021-04-26 09:05:23.452049|2021-04-26 09:05:23.575751| +|step_trigger_create|successed||||2021-04-26 09:05:23.703756|2021-04-26 09:05:23.871057| +|step_trigger_update|successed||||2021-04-26 09:05:23.871057|2021-04-26 09:05:24.019053| +|step_integration_runtime_self_hosted_create|successed||||2021-04-26 09:05:24.019053|2021-04-26 09:05:24.155099| +|step_integration_runtime_update|successed||||2021-04-26 09:05:24.155099|2021-04-26 09:05:24.285096| +|step_integration_runtime_show|successed||||2021-04-26 09:05:29.524820|2021-04-26 09:05:29.675815| +|step_linked_service_show|successed||||2021-04-26 09:05:24.582291|2021-04-26 09:05:24.718292| +|step_pipeline_show|successed||||2021-04-26 09:05:24.719291|2021-04-26 09:05:24.872517| +|step_dataset_show|successed||||2021-04-26 09:05:24.873517|2021-04-26 09:05:25.000030| +|step_trigger_show|successed||||2021-04-26 09:05:33.782136|2021-04-26 09:05:33.927138| +|step_integration_runtime_list|successed||||2021-04-26 09:05:25.115003|2021-04-26 09:05:25.253055| +|step_linked_service_list|successed||||2021-04-26 09:05:25.254059|2021-04-26 09:05:25.409635| +|step_pipeline_list|successed||||2021-04-26 09:05:25.409635|2021-04-26 09:05:25.533704| +|step_trigger_list|successed||||2021-04-26 09:05:25.533704|2021-04-26 09:05:25.676865| +|step_dataset_list|successed||||2021-04-26 09:05:25.676865|2021-04-26 09:05:25.810871| +|step_show|successed||||2021-04-26 09:05:25.810871|2021-04-26 09:05:25.938042| +|step_list2|successed||||2021-04-26 09:05:25.938042|2021-04-26 09:05:26.060042| +|step_list|successed||||2021-04-26 09:05:26.060042|2021-04-26 09:05:26.183196| +|step_integration_runtime_regenerate_auth_key|successed||||2021-04-26 09:05:26.184194|2021-04-26 09:05:26.313194| +|step_integration_runtime_sync_credentials|successed||||2021-04-26 09:05:26.314192|2021-04-26 09:05:26.449307| +|step_integration_runtime_get_monitoring_data|successed||||2021-04-26 09:05:26.449307|2021-04-26 09:05:26.636000| +|step_integration_runtime_list_auth_key|successed||||2021-04-26 09:05:26.636000|2021-04-26 09:05:26.790002| +|step_integration_runtime_remove_link|successed||||2021-04-26 09:05:26.791005|2021-04-26 09:05:26.934513| +|step_integration_runtime_get_status|successed||||2021-04-26 09:05:26.935512|2021-04-26 09:05:27.069511| +|step_trigger_get_event_subscription_status|successed||||2021-04-26 09:05:27.069511|2021-04-26 09:05:27.211487| +|step_trigger_unsubscribe_from_event|successed||||2021-04-26 09:05:27.212492|2021-04-26 09:05:27.402802| +|step_trigger_subscribe_to_event|successed||||2021-04-26 09:05:27.402802|2021-04-26 09:05:27.532807| +|step_trigger_start|successed||||2021-04-26 09:05:33.632612|2021-04-26 09:05:33.782136| +|step_trigger_stop|successed||||2021-04-26 09:05:34.611518|2021-04-26 09:05:34.768873| +|step_get_data_plane_access|successed||||2021-04-26 09:05:27.837090|2021-04-26 09:05:27.977072| +|step_configure_factory_repo|successed||||2021-04-26 09:05:28.099075|2021-04-26 09:05:28.288426| +|step_integration_runtime_delete|successed||||2021-04-26 09:05:31.965947|2021-04-26 09:05:32.140944| +|step_trigger_delete|successed||||2021-04-26 09:05:34.768873|2021-04-26 09:05:34.900878| +|step_pipeline_delete|successed||||2021-04-26 09:05:34.900878|2021-04-26 09:05:35.030991| +|step_dataset_delete|successed||||2021-04-26 09:05:28.737334|2021-04-26 09:05:28.861337| +|step_linked_service_delete|successed||||2021-04-26 09:05:28.861337|2021-04-26 09:05:28.989612| +|step_delete|successed||||2021-04-26 09:05:35.031990|2021-04-26 09:05:35.197507| +|step_integration_runtime_start|successed||||2021-04-26 09:05:29.676815|2021-04-26 09:05:30.373119| +|step_integration_runtime_stop|successed||||2021-04-26 09:05:30.374118|2021-04-26 09:05:31.964925| +|step_activity_run_query_by_pipeline_run|successed||||2021-04-26 09:05:33.012581|2021-04-26 09:05:33.193579| +Coverage: 46/46 diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/_configuration.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/_configuration.py index 84eac8676c6..3e3cbab9738 100644 --- a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/_configuration.py +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/_configuration.py @@ -48,8 +48,7 @@ def __init__( self.credential = credential self.subscription_id = subscription_id self.api_version = "2018-06-01" - self.credential_scopes = ['https://management.azure.com/.default'] - self.credential_scopes.extend(kwargs.pop('credential_scopes', [])) + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) kwargs.setdefault('sdk_moniker', 'datafactorymanagementclient/{}'.format(VERSION)) self._configure(**kwargs) diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/_data_factory_management_client.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/_data_factory_management_client.py index ab18f1f6cb4..f272437a3e9 100644 --- a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/_data_factory_management_client.py +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/_data_factory_management_client.py @@ -18,63 +18,72 @@ from azure.core.credentials import TokenCredential from ._configuration import DataFactoryManagementClientConfiguration -from .operations import OperationOperations -from .operations import FactoryOperations +from .operations import Operations +from .operations import FactoriesOperations from .operations import ExposureControlOperations -from .operations import IntegrationRuntimeOperations +from .operations import IntegrationRuntimesOperations from .operations import IntegrationRuntimeObjectMetadataOperations -from .operations import IntegrationRuntimeNodeOperations -from .operations import LinkedServiceOperations -from .operations import DatasetOperations -from .operations import PipelineOperations -from .operations import PipelineRunOperations -from .operations import ActivityRunOperations -from .operations import TriggerOperations -from .operations import TriggerRunOperations -from .operations import DataFlowOperations +from .operations import IntegrationRuntimeNodesOperations +from .operations import LinkedServicesOperations +from .operations import DatasetsOperations +from .operations import PipelinesOperations +from .operations import PipelineRunsOperations +from .operations import ActivityRunsOperations +from .operations import TriggersOperations +from .operations import TriggerRunsOperations +from .operations import DataFlowsOperations from .operations import DataFlowDebugSessionOperations -from .operations import ManagedVirtualNetworkOperations -from .operations import ManagedPrivateEndpointOperations +from .operations import ManagedVirtualNetworksOperations +from .operations import ManagedPrivateEndpointsOperations +from .operations import PrivateEndPointConnectionsOperations +from .operations import PrivateEndpointConnectionOperations +from .operations import PrivateLinkResourcesOperations from . import models class DataFactoryManagementClient(object): """The Azure Data Factory V2 management API provides a RESTful set of web services that interact with Azure Data Factory V2 services. - :ivar operation: OperationOperations operations - :vartype operation: data_factory_management_client.operations.OperationOperations - :ivar factory: FactoryOperations operations - :vartype factory: data_factory_management_client.operations.FactoryOperations + :ivar operations: Operations operations + :vartype operations: data_factory_management_client.operations.Operations + :ivar factories: FactoriesOperations operations + :vartype factories: data_factory_management_client.operations.FactoriesOperations :ivar exposure_control: ExposureControlOperations operations :vartype exposure_control: data_factory_management_client.operations.ExposureControlOperations - :ivar integration_runtime: IntegrationRuntimeOperations operations - :vartype integration_runtime: data_factory_management_client.operations.IntegrationRuntimeOperations + :ivar integration_runtimes: IntegrationRuntimesOperations operations + :vartype integration_runtimes: data_factory_management_client.operations.IntegrationRuntimesOperations :ivar integration_runtime_object_metadata: IntegrationRuntimeObjectMetadataOperations operations :vartype integration_runtime_object_metadata: data_factory_management_client.operations.IntegrationRuntimeObjectMetadataOperations - :ivar integration_runtime_node: IntegrationRuntimeNodeOperations operations - :vartype integration_runtime_node: data_factory_management_client.operations.IntegrationRuntimeNodeOperations - :ivar linked_service: LinkedServiceOperations operations - :vartype linked_service: data_factory_management_client.operations.LinkedServiceOperations - :ivar dataset: DatasetOperations operations - :vartype dataset: data_factory_management_client.operations.DatasetOperations - :ivar pipeline: PipelineOperations operations - :vartype pipeline: data_factory_management_client.operations.PipelineOperations - :ivar pipeline_run: PipelineRunOperations operations - :vartype pipeline_run: data_factory_management_client.operations.PipelineRunOperations - :ivar activity_run: ActivityRunOperations operations - :vartype activity_run: data_factory_management_client.operations.ActivityRunOperations - :ivar trigger: TriggerOperations operations - :vartype trigger: data_factory_management_client.operations.TriggerOperations - :ivar trigger_run: TriggerRunOperations operations - :vartype trigger_run: data_factory_management_client.operations.TriggerRunOperations - :ivar data_flow: DataFlowOperations operations - :vartype data_flow: data_factory_management_client.operations.DataFlowOperations + :ivar integration_runtime_nodes: IntegrationRuntimeNodesOperations operations + :vartype integration_runtime_nodes: data_factory_management_client.operations.IntegrationRuntimeNodesOperations + :ivar linked_services: LinkedServicesOperations operations + :vartype linked_services: data_factory_management_client.operations.LinkedServicesOperations + :ivar datasets: DatasetsOperations operations + :vartype datasets: data_factory_management_client.operations.DatasetsOperations + :ivar pipelines: PipelinesOperations operations + :vartype pipelines: data_factory_management_client.operations.PipelinesOperations + :ivar pipeline_runs: PipelineRunsOperations operations + :vartype pipeline_runs: data_factory_management_client.operations.PipelineRunsOperations + :ivar activity_runs: ActivityRunsOperations operations + :vartype activity_runs: data_factory_management_client.operations.ActivityRunsOperations + :ivar triggers: TriggersOperations operations + :vartype triggers: data_factory_management_client.operations.TriggersOperations + :ivar trigger_runs: TriggerRunsOperations operations + :vartype trigger_runs: data_factory_management_client.operations.TriggerRunsOperations + :ivar data_flows: DataFlowsOperations operations + :vartype data_flows: data_factory_management_client.operations.DataFlowsOperations :ivar data_flow_debug_session: DataFlowDebugSessionOperations operations :vartype data_flow_debug_session: data_factory_management_client.operations.DataFlowDebugSessionOperations - :ivar managed_virtual_network: ManagedVirtualNetworkOperations operations - :vartype managed_virtual_network: data_factory_management_client.operations.ManagedVirtualNetworkOperations - :ivar managed_private_endpoint: ManagedPrivateEndpointOperations operations - :vartype managed_private_endpoint: data_factory_management_client.operations.ManagedPrivateEndpointOperations + :ivar managed_virtual_networks: ManagedVirtualNetworksOperations operations + :vartype managed_virtual_networks: data_factory_management_client.operations.ManagedVirtualNetworksOperations + :ivar managed_private_endpoints: ManagedPrivateEndpointsOperations operations + :vartype managed_private_endpoints: data_factory_management_client.operations.ManagedPrivateEndpointsOperations + :ivar private_end_point_connections: PrivateEndPointConnectionsOperations operations + :vartype private_end_point_connections: data_factory_management_client.operations.PrivateEndPointConnectionsOperations + :ivar private_endpoint_connection: PrivateEndpointConnectionOperations operations + :vartype private_endpoint_connection: data_factory_management_client.operations.PrivateEndpointConnectionOperations + :ivar private_link_resources: PrivateLinkResourcesOperations operations + :vartype private_link_resources: data_factory_management_client.operations.PrivateLinkResourcesOperations :param credential: Credential needed for the client to connect to Azure. :type credential: ~azure.core.credentials.TokenCredential :param subscription_id: The subscription identifier. @@ -98,41 +107,48 @@ def __init__( client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} self._serialize = Serializer(client_models) + self._serialize.client_side_validation = False self._deserialize = Deserializer(client_models) - self.operation = OperationOperations( + self.operations = Operations( self._client, self._config, self._serialize, self._deserialize) - self.factory = FactoryOperations( + self.factories = FactoriesOperations( self._client, self._config, self._serialize, self._deserialize) self.exposure_control = ExposureControlOperations( self._client, self._config, self._serialize, self._deserialize) - self.integration_runtime = IntegrationRuntimeOperations( + self.integration_runtimes = IntegrationRuntimesOperations( self._client, self._config, self._serialize, self._deserialize) self.integration_runtime_object_metadata = IntegrationRuntimeObjectMetadataOperations( self._client, self._config, self._serialize, self._deserialize) - self.integration_runtime_node = IntegrationRuntimeNodeOperations( + self.integration_runtime_nodes = IntegrationRuntimeNodesOperations( self._client, self._config, self._serialize, self._deserialize) - self.linked_service = LinkedServiceOperations( + self.linked_services = LinkedServicesOperations( self._client, self._config, self._serialize, self._deserialize) - self.dataset = DatasetOperations( + self.datasets = DatasetsOperations( self._client, self._config, self._serialize, self._deserialize) - self.pipeline = PipelineOperations( + self.pipelines = PipelinesOperations( self._client, self._config, self._serialize, self._deserialize) - self.pipeline_run = PipelineRunOperations( + self.pipeline_runs = PipelineRunsOperations( self._client, self._config, self._serialize, self._deserialize) - self.activity_run = ActivityRunOperations( + self.activity_runs = ActivityRunsOperations( self._client, self._config, self._serialize, self._deserialize) - self.trigger = TriggerOperations( + self.triggers = TriggersOperations( self._client, self._config, self._serialize, self._deserialize) - self.trigger_run = TriggerRunOperations( + self.trigger_runs = TriggerRunsOperations( self._client, self._config, self._serialize, self._deserialize) - self.data_flow = DataFlowOperations( + self.data_flows = DataFlowsOperations( self._client, self._config, self._serialize, self._deserialize) self.data_flow_debug_session = DataFlowDebugSessionOperations( self._client, self._config, self._serialize, self._deserialize) - self.managed_virtual_network = ManagedVirtualNetworkOperations( + self.managed_virtual_networks = ManagedVirtualNetworksOperations( self._client, self._config, self._serialize, self._deserialize) - self.managed_private_endpoint = ManagedPrivateEndpointOperations( + self.managed_private_endpoints = ManagedPrivateEndpointsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.private_end_point_connections = PrivateEndPointConnectionsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.private_endpoint_connection = PrivateEndpointConnectionOperations( + self._client, self._config, self._serialize, self._deserialize) + self.private_link_resources = PrivateLinkResourcesOperations( self._client, self._config, self._serialize, self._deserialize) def close(self): diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/__init__.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/__init__.py index 5cde5bc8d05..571673cab5c 100644 --- a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/__init__.py +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/__init__.py @@ -6,5 +6,5 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from ._data_factory_management_client_async import DataFactoryManagementClient +from ._data_factory_management_client import DataFactoryManagementClient __all__ = ['DataFactoryManagementClient'] diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/_configuration.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/_configuration.py new file mode 100644 index 00000000000..c88a091bdb9 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/_configuration.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 typing import Any, TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies +from azure.mgmt.core.policies import ARMHttpLoggingPolicy + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + +VERSION = "unknown" + +class DataFactoryManagementClientConfiguration(Configuration): + """Configuration for DataFactoryManagementClient. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :param subscription_id: The subscription identifier. + :type subscription_id: str + """ + + def __init__( + self, + credential: "AsyncTokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + super(DataFactoryManagementClientConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2018-06-01" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'datafactorymanagementclient/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs: Any + ) -> None: + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = policies.AsyncBearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/_data_factory_management_client.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/_data_factory_management_client.py new file mode 100644 index 00000000000..255a1839c21 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/_data_factory_management_client.py @@ -0,0 +1,159 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, Optional, TYPE_CHECKING + +from azure.mgmt.core import AsyncARMPipelineClient +from msrest import Deserializer, Serializer + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + +from ._configuration import DataFactoryManagementClientConfiguration +from .operations import Operations +from .operations import FactoriesOperations +from .operations import ExposureControlOperations +from .operations import IntegrationRuntimesOperations +from .operations import IntegrationRuntimeObjectMetadataOperations +from .operations import IntegrationRuntimeNodesOperations +from .operations import LinkedServicesOperations +from .operations import DatasetsOperations +from .operations import PipelinesOperations +from .operations import PipelineRunsOperations +from .operations import ActivityRunsOperations +from .operations import TriggersOperations +from .operations import TriggerRunsOperations +from .operations import DataFlowsOperations +from .operations import DataFlowDebugSessionOperations +from .operations import ManagedVirtualNetworksOperations +from .operations import ManagedPrivateEndpointsOperations +from .operations import PrivateEndPointConnectionsOperations +from .operations import PrivateEndpointConnectionOperations +from .operations import PrivateLinkResourcesOperations +from .. import models + + +class DataFactoryManagementClient(object): + """The Azure Data Factory V2 management API provides a RESTful set of web services that interact with Azure Data Factory V2 services. + + :ivar operations: Operations operations + :vartype operations: data_factory_management_client.aio.operations.Operations + :ivar factories: FactoriesOperations operations + :vartype factories: data_factory_management_client.aio.operations.FactoriesOperations + :ivar exposure_control: ExposureControlOperations operations + :vartype exposure_control: data_factory_management_client.aio.operations.ExposureControlOperations + :ivar integration_runtimes: IntegrationRuntimesOperations operations + :vartype integration_runtimes: data_factory_management_client.aio.operations.IntegrationRuntimesOperations + :ivar integration_runtime_object_metadata: IntegrationRuntimeObjectMetadataOperations operations + :vartype integration_runtime_object_metadata: data_factory_management_client.aio.operations.IntegrationRuntimeObjectMetadataOperations + :ivar integration_runtime_nodes: IntegrationRuntimeNodesOperations operations + :vartype integration_runtime_nodes: data_factory_management_client.aio.operations.IntegrationRuntimeNodesOperations + :ivar linked_services: LinkedServicesOperations operations + :vartype linked_services: data_factory_management_client.aio.operations.LinkedServicesOperations + :ivar datasets: DatasetsOperations operations + :vartype datasets: data_factory_management_client.aio.operations.DatasetsOperations + :ivar pipelines: PipelinesOperations operations + :vartype pipelines: data_factory_management_client.aio.operations.PipelinesOperations + :ivar pipeline_runs: PipelineRunsOperations operations + :vartype pipeline_runs: data_factory_management_client.aio.operations.PipelineRunsOperations + :ivar activity_runs: ActivityRunsOperations operations + :vartype activity_runs: data_factory_management_client.aio.operations.ActivityRunsOperations + :ivar triggers: TriggersOperations operations + :vartype triggers: data_factory_management_client.aio.operations.TriggersOperations + :ivar trigger_runs: TriggerRunsOperations operations + :vartype trigger_runs: data_factory_management_client.aio.operations.TriggerRunsOperations + :ivar data_flows: DataFlowsOperations operations + :vartype data_flows: data_factory_management_client.aio.operations.DataFlowsOperations + :ivar data_flow_debug_session: DataFlowDebugSessionOperations operations + :vartype data_flow_debug_session: data_factory_management_client.aio.operations.DataFlowDebugSessionOperations + :ivar managed_virtual_networks: ManagedVirtualNetworksOperations operations + :vartype managed_virtual_networks: data_factory_management_client.aio.operations.ManagedVirtualNetworksOperations + :ivar managed_private_endpoints: ManagedPrivateEndpointsOperations operations + :vartype managed_private_endpoints: data_factory_management_client.aio.operations.ManagedPrivateEndpointsOperations + :ivar private_end_point_connections: PrivateEndPointConnectionsOperations operations + :vartype private_end_point_connections: data_factory_management_client.aio.operations.PrivateEndPointConnectionsOperations + :ivar private_endpoint_connection: PrivateEndpointConnectionOperations operations + :vartype private_endpoint_connection: data_factory_management_client.aio.operations.PrivateEndpointConnectionOperations + :ivar private_link_resources: PrivateLinkResourcesOperations operations + :vartype private_link_resources: data_factory_management_client.aio.operations.PrivateLinkResourcesOperations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :param subscription_id: The subscription identifier. + :type subscription_id: str + :param str base_url: Service URL + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + """ + + def __init__( + self, + credential: "AsyncTokenCredential", + subscription_id: str, + base_url: Optional[str] = None, + **kwargs: Any + ) -> None: + if not base_url: + base_url = 'https://management.azure.com' + self._config = DataFactoryManagementClientConfiguration(credential, subscription_id, **kwargs) + self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self._serialize = Serializer(client_models) + self._serialize.client_side_validation = False + self._deserialize = Deserializer(client_models) + + self.operations = Operations( + self._client, self._config, self._serialize, self._deserialize) + self.factories = FactoriesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.exposure_control = ExposureControlOperations( + self._client, self._config, self._serialize, self._deserialize) + self.integration_runtimes = IntegrationRuntimesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.integration_runtime_object_metadata = IntegrationRuntimeObjectMetadataOperations( + self._client, self._config, self._serialize, self._deserialize) + self.integration_runtime_nodes = IntegrationRuntimeNodesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.linked_services = LinkedServicesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.datasets = DatasetsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.pipelines = PipelinesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.pipeline_runs = PipelineRunsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.activity_runs = ActivityRunsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.triggers = TriggersOperations( + self._client, self._config, self._serialize, self._deserialize) + self.trigger_runs = TriggerRunsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.data_flows = DataFlowsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.data_flow_debug_session = DataFlowDebugSessionOperations( + self._client, self._config, self._serialize, self._deserialize) + self.managed_virtual_networks = ManagedVirtualNetworksOperations( + self._client, self._config, self._serialize, self._deserialize) + self.managed_private_endpoints = ManagedPrivateEndpointsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.private_end_point_connections = PrivateEndPointConnectionsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.private_endpoint_connection = PrivateEndpointConnectionOperations( + self._client, self._config, self._serialize, self._deserialize) + self.private_link_resources = PrivateLinkResourcesOperations( + self._client, self._config, self._serialize, self._deserialize) + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "DataFactoryManagementClient": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/__init__.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/__init__.py new file mode 100644 index 00000000000..c1da8c996a3 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/__init__.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 ._operations import Operations +from ._factories_operations import FactoriesOperations +from ._exposure_control_operations import ExposureControlOperations +from ._integration_runtimes_operations import IntegrationRuntimesOperations +from ._integration_runtime_object_metadata_operations import IntegrationRuntimeObjectMetadataOperations +from ._integration_runtime_nodes_operations import IntegrationRuntimeNodesOperations +from ._linked_services_operations import LinkedServicesOperations +from ._datasets_operations import DatasetsOperations +from ._pipelines_operations import PipelinesOperations +from ._pipeline_runs_operations import PipelineRunsOperations +from ._activity_runs_operations import ActivityRunsOperations +from ._triggers_operations import TriggersOperations +from ._trigger_runs_operations import TriggerRunsOperations +from ._data_flows_operations import DataFlowsOperations +from ._data_flow_debug_session_operations import DataFlowDebugSessionOperations +from ._managed_virtual_networks_operations import ManagedVirtualNetworksOperations +from ._managed_private_endpoints_operations import ManagedPrivateEndpointsOperations +from ._private_end_point_connections_operations import PrivateEndPointConnectionsOperations +from ._private_endpoint_connection_operations import PrivateEndpointConnectionOperations +from ._private_link_resources_operations import PrivateLinkResourcesOperations + +__all__ = [ + 'Operations', + 'FactoriesOperations', + 'ExposureControlOperations', + 'IntegrationRuntimesOperations', + 'IntegrationRuntimeObjectMetadataOperations', + 'IntegrationRuntimeNodesOperations', + 'LinkedServicesOperations', + 'DatasetsOperations', + 'PipelinesOperations', + 'PipelineRunsOperations', + 'ActivityRunsOperations', + 'TriggersOperations', + 'TriggerRunsOperations', + 'DataFlowsOperations', + 'DataFlowDebugSessionOperations', + 'ManagedVirtualNetworksOperations', + 'ManagedPrivateEndpointsOperations', + 'PrivateEndPointConnectionsOperations', + 'PrivateEndpointConnectionOperations', + 'PrivateLinkResourcesOperations', +] diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_activity_runs_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_activity_runs_operations.py new file mode 100644 index 00000000000..39382a45d74 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_activity_runs_operations.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 typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ActivityRunsOperations: + """ActivityRunsOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_factory_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def query_by_pipeline_run( + self, + resource_group_name: str, + factory_name: str, + run_id: str, + filter_parameters: "models.RunFilterParameters", + **kwargs + ) -> "models.ActivityRunsQueryResponse": + """Query activity runs based on input filter conditions. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param run_id: The pipeline run identifier. + :type run_id: str + :param filter_parameters: Parameters to filter the activity runs. + :type filter_parameters: ~data_factory_management_client.models.RunFilterParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ActivityRunsQueryResponse, or the result of cls(response) + :rtype: ~data_factory_management_client.models.ActivityRunsQueryResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ActivityRunsQueryResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.query_by_pipeline_run.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'runId': self._serialize.url("run_id", run_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(filter_parameters, 'RunFilterParameters') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ActivityRunsQueryResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + query_by_pipeline_run.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelineruns/{runId}/queryActivityruns'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_data_flow_debug_session_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_data_flow_debug_session_operations.py new file mode 100644 index 00000000000..dbb85249ab9 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_data_flow_debug_session_operations.py @@ -0,0 +1,507 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class DataFlowDebugSessionOperations: + """DataFlowDebugSessionOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_factory_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def _create_initial( + self, + resource_group_name: str, + factory_name: str, + request: "models.CreateDataFlowDebugSessionRequest", + **kwargs + ) -> Optional["models.CreateDataFlowDebugSessionResponse"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.CreateDataFlowDebugSessionResponse"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(request, 'CreateDataFlowDebugSessionRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + response_headers = {} + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('CreateDataFlowDebugSessionResponse', pipeline_response) + + if response.status_code == 202: + response_headers['location']=self._deserialize('str', response.headers.get('location')) + + if cls: + return cls(pipeline_response, deserialized, response_headers) + + return deserialized + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/createDataFlowDebugSession'} # type: ignore + + async def begin_create( + self, + resource_group_name: str, + factory_name: str, + request: "models.CreateDataFlowDebugSessionRequest", + **kwargs + ) -> AsyncLROPoller["models.CreateDataFlowDebugSessionResponse"]: + """Creates a data flow debug session. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param request: Data flow debug session definition. + :type request: ~data_factory_management_client.models.CreateDataFlowDebugSessionRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either CreateDataFlowDebugSessionResponse or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~data_factory_management_client.models.CreateDataFlowDebugSessionResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.CreateDataFlowDebugSessionResponse"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._create_initial( + resource_group_name=resource_group_name, + factory_name=factory_name, + request=request, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('CreateDataFlowDebugSessionResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/createDataFlowDebugSession'} # type: ignore + + def query_by_factory( + self, + resource_group_name: str, + factory_name: str, + **kwargs + ) -> AsyncIterable["models.QueryDataFlowDebugSessionsResponse"]: + """Query all active data flow debug sessions. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either QueryDataFlowDebugSessionsResponse or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~data_factory_management_client.models.QueryDataFlowDebugSessionsResponse] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.QueryDataFlowDebugSessionsResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.query_by_factory.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('QueryDataFlowDebugSessionsResponse', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + query_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/queryDataFlowDebugSessions'} # type: ignore + + async def add_data_flow( + self, + resource_group_name: str, + factory_name: str, + request: "models.DataFlowDebugPackage", + **kwargs + ) -> "models.AddDataFlowToDebugSessionResponse": + """Add a data flow into debug session. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param request: Data flow debug session definition with debug content. + :type request: ~data_factory_management_client.models.DataFlowDebugPackage + :keyword callable cls: A custom type or function that will be passed the direct response + :return: AddDataFlowToDebugSessionResponse, or the result of cls(response) + :rtype: ~data_factory_management_client.models.AddDataFlowToDebugSessionResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.AddDataFlowToDebugSessionResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.add_data_flow.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(request, 'DataFlowDebugPackage') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('AddDataFlowToDebugSessionResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + add_data_flow.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/addDataFlowToDebugSession'} # type: ignore + + async def delete( + self, + resource_group_name: str, + factory_name: str, + request: "models.DeleteDataFlowDebugSessionRequest", + **kwargs + ) -> None: + """Deletes a data flow debug session. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param request: Data flow debug session definition for deletion. + :type request: ~data_factory_management_client.models.DeleteDataFlowDebugSessionRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.delete.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(request, 'DeleteDataFlowDebugSessionRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/deleteDataFlowDebugSession'} # type: ignore + + async def _execute_command_initial( + self, + resource_group_name: str, + factory_name: str, + request: "models.DataFlowDebugCommandRequest", + **kwargs + ) -> Optional["models.DataFlowDebugCommandResponse"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.DataFlowDebugCommandResponse"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._execute_command_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(request, 'DataFlowDebugCommandRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + response_headers = {} + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('DataFlowDebugCommandResponse', pipeline_response) + + if response.status_code == 202: + response_headers['location']=self._deserialize('str', response.headers.get('location')) + + if cls: + return cls(pipeline_response, deserialized, response_headers) + + return deserialized + _execute_command_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/executeDataFlowDebugCommand'} # type: ignore + + async def begin_execute_command( + self, + resource_group_name: str, + factory_name: str, + request: "models.DataFlowDebugCommandRequest", + **kwargs + ) -> AsyncLROPoller["models.DataFlowDebugCommandResponse"]: + """Execute a data flow debug command. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param request: Data flow debug command definition. + :type request: ~data_factory_management_client.models.DataFlowDebugCommandRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either DataFlowDebugCommandResponse or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~data_factory_management_client.models.DataFlowDebugCommandResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.DataFlowDebugCommandResponse"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._execute_command_initial( + resource_group_name=resource_group_name, + factory_name=factory_name, + request=request, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('DataFlowDebugCommandResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_execute_command.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/executeDataFlowDebugCommand'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_data_flows_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_data_flows_operations.py new file mode 100644 index 00000000000..20d1ec288ce --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_data_flows_operations.py @@ -0,0 +1,319 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class DataFlowsOperations: + """DataFlowsOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_factory_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def create_or_update( + self, + resource_group_name: str, + factory_name: str, + data_flow_name: str, + data_flow: "models.DataFlowResource", + if_match: Optional[str] = None, + **kwargs + ) -> "models.DataFlowResource": + """Creates or updates a data flow. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param data_flow_name: The data flow name. + :type data_flow_name: str + :param data_flow: Data flow resource definition. + :type data_flow: ~data_factory_management_client.models.DataFlowResource + :param if_match: ETag of the data flow entity. Should only be specified for update, for which + it should match existing entity or can be * for unconditional update. + :type if_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DataFlowResource, or the result of cls(response) + :rtype: ~data_factory_management_client.models.DataFlowResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DataFlowResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.create_or_update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'dataFlowName': self._serialize.url("data_flow_name", data_flow_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(data_flow, 'DataFlowResource') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('DataFlowResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/dataflows/{dataFlowName}'} # type: ignore + + async def get( + self, + resource_group_name: str, + factory_name: str, + data_flow_name: str, + if_none_match: Optional[str] = None, + **kwargs + ) -> "models.DataFlowResource": + """Gets a data flow. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param data_flow_name: The data flow name. + :type data_flow_name: str + :param if_none_match: ETag of the data flow entity. Should only be specified for get. If the + ETag matches the existing entity tag, or if * was provided, then no content will be returned. + :type if_none_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DataFlowResource, or the result of cls(response) + :rtype: ~data_factory_management_client.models.DataFlowResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DataFlowResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'dataFlowName': self._serialize.url("data_flow_name", data_flow_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('DataFlowResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/dataflows/{dataFlowName}'} # type: ignore + + async def delete( + self, + resource_group_name: str, + factory_name: str, + data_flow_name: str, + **kwargs + ) -> None: + """Deletes a data flow. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param data_flow_name: The data flow name. + :type data_flow_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.delete.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'dataFlowName': self._serialize.url("data_flow_name", data_flow_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/dataflows/{dataFlowName}'} # type: ignore + + def list_by_factory( + self, + resource_group_name: str, + factory_name: str, + **kwargs + ) -> AsyncIterable["models.DataFlowListResponse"]: + """Lists data flows. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either DataFlowListResponse or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~data_factory_management_client.models.DataFlowListResponse] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DataFlowListResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_factory.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('DataFlowListResponse', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/dataflows'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_datasets_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_datasets_operations.py new file mode 100644 index 00000000000..23cd39c246d --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_datasets_operations.py @@ -0,0 +1,321 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class DatasetsOperations: + """DatasetsOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_factory_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_by_factory( + self, + resource_group_name: str, + factory_name: str, + **kwargs + ) -> AsyncIterable["models.DatasetListResponse"]: + """Lists datasets. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either DatasetListResponse or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~data_factory_management_client.models.DatasetListResponse] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DatasetListResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_factory.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('DatasetListResponse', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/datasets'} # type: ignore + + async def create_or_update( + self, + resource_group_name: str, + factory_name: str, + dataset_name: str, + dataset: "models.DatasetResource", + if_match: Optional[str] = None, + **kwargs + ) -> "models.DatasetResource": + """Creates or updates a dataset. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param dataset_name: The dataset name. + :type dataset_name: str + :param dataset: Dataset resource definition. + :type dataset: ~data_factory_management_client.models.DatasetResource + :param if_match: ETag of the dataset entity. Should only be specified for update, for which it + should match existing entity or can be * for unconditional update. + :type if_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DatasetResource, or the result of cls(response) + :rtype: ~data_factory_management_client.models.DatasetResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DatasetResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.create_or_update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'datasetName': self._serialize.url("dataset_name", dataset_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(dataset, 'DatasetResource') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('DatasetResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/datasets/{datasetName}'} # type: ignore + + async def get( + self, + resource_group_name: str, + factory_name: str, + dataset_name: str, + if_none_match: Optional[str] = None, + **kwargs + ) -> Optional["models.DatasetResource"]: + """Gets a dataset. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param dataset_name: The dataset name. + :type dataset_name: str + :param if_none_match: ETag of the dataset entity. Should only be specified for get. If the ETag + matches the existing entity tag, or if * was provided, then no content will be returned. + :type if_none_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DatasetResource, or the result of cls(response) + :rtype: ~data_factory_management_client.models.DatasetResource or None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.DatasetResource"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'datasetName': self._serialize.url("dataset_name", dataset_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 304]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('DatasetResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/datasets/{datasetName}'} # type: ignore + + async def delete( + self, + resource_group_name: str, + factory_name: str, + dataset_name: str, + **kwargs + ) -> None: + """Deletes a dataset. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param dataset_name: The dataset name. + :type dataset_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.delete.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'datasetName': self._serialize.url("dataset_name", dataset_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/datasets/{datasetName}'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_exposure_control_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_exposure_control_operations.py new file mode 100644 index 00000000000..df180e52804 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_exposure_control_operations.py @@ -0,0 +1,235 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ExposureControlOperations: + """ExposureControlOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_factory_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def get_feature_value( + self, + location_id: str, + exposure_control_request: "models.ExposureControlRequest", + **kwargs + ) -> "models.ExposureControlResponse": + """Get exposure control feature for specific location. + + :param location_id: The location identifier. + :type location_id: str + :param exposure_control_request: The exposure control request. + :type exposure_control_request: ~data_factory_management_client.models.ExposureControlRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ExposureControlResponse, or the result of cls(response) + :rtype: ~data_factory_management_client.models.ExposureControlResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ExposureControlResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.get_feature_value.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'locationId': self._serialize.url("location_id", location_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(exposure_control_request, 'ExposureControlRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ExposureControlResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_feature_value.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DataFactory/locations/{locationId}/getFeatureValue'} # type: ignore + + async def get_feature_value_by_factory( + self, + resource_group_name: str, + factory_name: str, + exposure_control_request: "models.ExposureControlRequest", + **kwargs + ) -> "models.ExposureControlResponse": + """Get exposure control feature for specific factory. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param exposure_control_request: The exposure control request. + :type exposure_control_request: ~data_factory_management_client.models.ExposureControlRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ExposureControlResponse, or the result of cls(response) + :rtype: ~data_factory_management_client.models.ExposureControlResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ExposureControlResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.get_feature_value_by_factory.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(exposure_control_request, 'ExposureControlRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ExposureControlResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_feature_value_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/getFeatureValue'} # type: ignore + + async def query_feature_values_by_factory( + self, + resource_group_name: str, + factory_name: str, + exposure_control_batch_request: "models.ExposureControlBatchRequest", + **kwargs + ) -> "models.ExposureControlBatchResponse": + """Get list of exposure control features for specific factory. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param exposure_control_batch_request: The exposure control request for list of features. + :type exposure_control_batch_request: ~data_factory_management_client.models.ExposureControlBatchRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ExposureControlBatchResponse, or the result of cls(response) + :rtype: ~data_factory_management_client.models.ExposureControlBatchResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ExposureControlBatchResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.query_feature_values_by_factory.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(exposure_control_batch_request, 'ExposureControlBatchRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ExposureControlBatchResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + query_feature_values_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/queryFeaturesValue'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_factories_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_factories_operations.py new file mode 100644 index 00000000000..f8b64723a03 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_factories_operations.py @@ -0,0 +1,631 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class FactoriesOperations: + """FactoriesOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_factory_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + **kwargs + ) -> AsyncIterable["models.FactoryListResponse"]: + """Lists factories under the specified subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either FactoryListResponse or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~data_factory_management_client.models.FactoryListResponse] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.FactoryListResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + 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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('FactoryListResponse', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DataFactory/factories'} # type: ignore + + async def configure_factory_repo( + self, + location_id: str, + factory_repo_update: "models.FactoryRepoUpdate", + **kwargs + ) -> "models.Factory": + """Updates a factory's repo information. + + :param location_id: The location identifier. + :type location_id: str + :param factory_repo_update: Update factory repo request definition. + :type factory_repo_update: ~data_factory_management_client.models.FactoryRepoUpdate + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Factory, or the result of cls(response) + :rtype: ~data_factory_management_client.models.Factory + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Factory"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.configure_factory_repo.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'locationId': self._serialize.url("location_id", location_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(factory_repo_update, 'FactoryRepoUpdate') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Factory', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + configure_factory_repo.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DataFactory/locations/{locationId}/configureFactoryRepo'} # type: ignore + + def list_by_resource_group( + self, + resource_group_name: str, + **kwargs + ) -> AsyncIterable["models.FactoryListResponse"]: + """Lists factories. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either FactoryListResponse or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~data_factory_management_client.models.FactoryListResponse] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.FactoryListResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('FactoryListResponse', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories'} # type: ignore + + async def create_or_update( + self, + resource_group_name: str, + factory_name: str, + factory: "models.Factory", + if_match: Optional[str] = None, + **kwargs + ) -> "models.Factory": + """Creates or updates a factory. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param factory: Factory resource definition. + :type factory: ~data_factory_management_client.models.Factory + :param if_match: ETag of the factory entity. Should only be specified for update, for which it + should match existing entity or can be * for unconditional update. + :type if_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Factory, or the result of cls(response) + :rtype: ~data_factory_management_client.models.Factory + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Factory"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.create_or_update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(factory, 'Factory') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Factory', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}'} # type: ignore + + async def update( + self, + resource_group_name: str, + factory_name: str, + factory_update_parameters: "models.FactoryUpdateParameters", + **kwargs + ) -> "models.Factory": + """Updates a factory. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param factory_update_parameters: The parameters for updating a factory. + :type factory_update_parameters: ~data_factory_management_client.models.FactoryUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Factory, or the result of cls(response) + :rtype: ~data_factory_management_client.models.Factory + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Factory"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(factory_update_parameters, 'FactoryUpdateParameters') + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Factory', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}'} # type: ignore + + async def get( + self, + resource_group_name: str, + factory_name: str, + if_none_match: Optional[str] = None, + **kwargs + ) -> Optional["models.Factory"]: + """Gets a factory. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param if_none_match: ETag of the factory entity. Should only be specified for get. If the ETag + matches the existing entity tag, or if * was provided, then no content will be returned. + :type if_none_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Factory, or the result of cls(response) + :rtype: ~data_factory_management_client.models.Factory or None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.Factory"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 304]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('Factory', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}'} # type: ignore + + async def delete( + self, + resource_group_name: str, + factory_name: str, + **kwargs + ) -> None: + """Deletes a factory. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.delete.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}'} # type: ignore + + async def get_git_hub_access_token( + self, + resource_group_name: str, + factory_name: str, + git_hub_access_token_request: "models.GitHubAccessTokenRequest", + **kwargs + ) -> "models.GitHubAccessTokenResponse": + """Get GitHub Access Token. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param git_hub_access_token_request: Get GitHub access token request definition. + :type git_hub_access_token_request: ~data_factory_management_client.models.GitHubAccessTokenRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :return: GitHubAccessTokenResponse, or the result of cls(response) + :rtype: ~data_factory_management_client.models.GitHubAccessTokenResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.GitHubAccessTokenResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.get_git_hub_access_token.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(git_hub_access_token_request, 'GitHubAccessTokenRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('GitHubAccessTokenResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_git_hub_access_token.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/getGitHubAccessToken'} # type: ignore + + async def get_data_plane_access( + self, + resource_group_name: str, + factory_name: str, + policy: "models.UserAccessPolicy", + **kwargs + ) -> "models.AccessPolicyResponse": + """Get Data Plane access. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param policy: Data Plane user access policy definition. + :type policy: ~data_factory_management_client.models.UserAccessPolicy + :keyword callable cls: A custom type or function that will be passed the direct response + :return: AccessPolicyResponse, or the result of cls(response) + :rtype: ~data_factory_management_client.models.AccessPolicyResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.AccessPolicyResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.get_data_plane_access.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(policy, 'UserAccessPolicy') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('AccessPolicyResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_data_plane_access.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/getDataPlaneAccess'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_integration_runtime_nodes_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_integration_runtime_nodes_operations.py new file mode 100644 index 00000000000..098d00bbb3e --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_integration_runtime_nodes_operations.py @@ -0,0 +1,311 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class IntegrationRuntimeNodesOperations: + """IntegrationRuntimeNodesOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_factory_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def get( + self, + resource_group_name: str, + factory_name: str, + integration_runtime_name: str, + node_name: str, + **kwargs + ) -> "models.SelfHostedIntegrationRuntimeNode": + """Gets a self-hosted integration runtime node. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :param node_name: The integration runtime node name. + :type node_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SelfHostedIntegrationRuntimeNode, or the result of cls(response) + :rtype: ~data_factory_management_client.models.SelfHostedIntegrationRuntimeNode + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.SelfHostedIntegrationRuntimeNode"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'nodeName': self._serialize.url("node_name", node_name, 'str', max_length=150, min_length=1, pattern=r'^[a-z0-9A-Z][a-z0-9A-Z_-]{0,149}$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('SelfHostedIntegrationRuntimeNode', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/nodes/{nodeName}'} # type: ignore + + async def delete( + self, + resource_group_name: str, + factory_name: str, + integration_runtime_name: str, + node_name: str, + **kwargs + ) -> None: + """Deletes a self-hosted integration runtime node. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :param node_name: The integration runtime node name. + :type node_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.delete.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'nodeName': self._serialize.url("node_name", node_name, 'str', max_length=150, min_length=1, pattern=r'^[a-z0-9A-Z][a-z0-9A-Z_-]{0,149}$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/nodes/{nodeName}'} # type: ignore + + async def update( + self, + resource_group_name: str, + factory_name: str, + integration_runtime_name: str, + node_name: str, + update_integration_runtime_node_request: "models.UpdateIntegrationRuntimeNodeRequest", + **kwargs + ) -> "models.SelfHostedIntegrationRuntimeNode": + """Updates a self-hosted integration runtime node. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :param node_name: The integration runtime node name. + :type node_name: str + :param update_integration_runtime_node_request: The parameters for updating an integration + runtime node. + :type update_integration_runtime_node_request: ~data_factory_management_client.models.UpdateIntegrationRuntimeNodeRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SelfHostedIntegrationRuntimeNode, or the result of cls(response) + :rtype: ~data_factory_management_client.models.SelfHostedIntegrationRuntimeNode + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.SelfHostedIntegrationRuntimeNode"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'nodeName': self._serialize.url("node_name", node_name, 'str', max_length=150, min_length=1, pattern=r'^[a-z0-9A-Z][a-z0-9A-Z_-]{0,149}$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(update_integration_runtime_node_request, 'UpdateIntegrationRuntimeNodeRequest') + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('SelfHostedIntegrationRuntimeNode', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/nodes/{nodeName}'} # type: ignore + + async def get_ip_address( + self, + resource_group_name: str, + factory_name: str, + integration_runtime_name: str, + node_name: str, + **kwargs + ) -> "models.IntegrationRuntimeNodeIpAddress": + """Get the IP address of self-hosted integration runtime node. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :param node_name: The integration runtime node name. + :type node_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationRuntimeNodeIpAddress, or the result of cls(response) + :rtype: ~data_factory_management_client.models.IntegrationRuntimeNodeIpAddress + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeNodeIpAddress"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.get_ip_address.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'nodeName': self._serialize.url("node_name", node_name, 'str', max_length=150, min_length=1, pattern=r'^[a-z0-9A-Z][a-z0-9A-Z_-]{0,149}$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('IntegrationRuntimeNodeIpAddress', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_ip_address.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/nodes/{nodeName}/ipAddress'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_integration_runtime_object_metadata_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_integration_runtime_object_metadata_operations.py new file mode 100644 index 00000000000..a1825a0d1bb --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_integration_runtime_object_metadata_operations.py @@ -0,0 +1,240 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class IntegrationRuntimeObjectMetadataOperations: + """IntegrationRuntimeObjectMetadataOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_factory_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def _refresh_initial( + self, + resource_group_name: str, + factory_name: str, + integration_runtime_name: str, + **kwargs + ) -> Optional["models.SsisObjectMetadataStatusResponse"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.SsisObjectMetadataStatusResponse"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self._refresh_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('SsisObjectMetadataStatusResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _refresh_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/refreshObjectMetadata'} # type: ignore + + async def begin_refresh( + self, + resource_group_name: str, + factory_name: str, + integration_runtime_name: str, + **kwargs + ) -> AsyncLROPoller["models.SsisObjectMetadataStatusResponse"]: + """Refresh a SSIS integration runtime object metadata. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either SsisObjectMetadataStatusResponse or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~data_factory_management_client.models.SsisObjectMetadataStatusResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.SsisObjectMetadataStatusResponse"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._refresh_initial( + resource_group_name=resource_group_name, + factory_name=factory_name, + integration_runtime_name=integration_runtime_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('SsisObjectMetadataStatusResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_refresh.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/refreshObjectMetadata'} # type: ignore + + async def get( + self, + resource_group_name: str, + factory_name: str, + integration_runtime_name: str, + get_metadata_request: Optional["models.GetSsisObjectMetadataRequest"] = None, + **kwargs + ) -> "models.SsisObjectMetadataListResponse": + """Get a SSIS integration runtime object metadata by specified path. The return is pageable + metadata list. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :param get_metadata_request: The parameters for getting a SSIS object metadata. + :type get_metadata_request: ~data_factory_management_client.models.GetSsisObjectMetadataRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SsisObjectMetadataListResponse, or the result of cls(response) + :rtype: ~data_factory_management_client.models.SsisObjectMetadataListResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.SsisObjectMetadataListResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + if get_metadata_request is not None: + body_content = self._serialize.body(get_metadata_request, 'GetSsisObjectMetadataRequest') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('SsisObjectMetadataListResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/getObjectMetadata'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_integration_runtimes_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_integration_runtimes_operations.py new file mode 100644 index 00000000000..6b27efc1819 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_integration_runtimes_operations.py @@ -0,0 +1,1213 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class IntegrationRuntimesOperations: + """IntegrationRuntimesOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_factory_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_by_factory( + self, + resource_group_name: str, + factory_name: str, + **kwargs + ) -> AsyncIterable["models.IntegrationRuntimeListResponse"]: + """Lists integration runtimes. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either IntegrationRuntimeListResponse or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~data_factory_management_client.models.IntegrationRuntimeListResponse] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeListResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_factory.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('IntegrationRuntimeListResponse', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes'} # type: ignore + + async def create_or_update( + self, + resource_group_name: str, + factory_name: str, + integration_runtime_name: str, + integration_runtime: "models.IntegrationRuntimeResource", + if_match: Optional[str] = None, + **kwargs + ) -> "models.IntegrationRuntimeResource": + """Creates or updates an integration runtime. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :param integration_runtime: Integration runtime resource definition. + :type integration_runtime: ~data_factory_management_client.models.IntegrationRuntimeResource + :param if_match: ETag of the integration runtime entity. Should only be specified for update, + for which it should match existing entity or can be * for unconditional update. + :type if_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationRuntimeResource, or the result of cls(response) + :rtype: ~data_factory_management_client.models.IntegrationRuntimeResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.create_or_update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(integration_runtime, 'IntegrationRuntimeResource') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('IntegrationRuntimeResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}'} # type: ignore + + async def get( + self, + resource_group_name: str, + factory_name: str, + integration_runtime_name: str, + if_none_match: Optional[str] = None, + **kwargs + ) -> Optional["models.IntegrationRuntimeResource"]: + """Gets an integration runtime. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :param if_none_match: ETag of the integration runtime entity. Should only be specified for get. + If the ETag matches the existing entity tag, or if * was provided, then no content will be + returned. + :type if_none_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationRuntimeResource, or the result of cls(response) + :rtype: ~data_factory_management_client.models.IntegrationRuntimeResource or None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.IntegrationRuntimeResource"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 304]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('IntegrationRuntimeResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}'} # type: ignore + + async def update( + self, + resource_group_name: str, + factory_name: str, + integration_runtime_name: str, + update_integration_runtime_request: "models.UpdateIntegrationRuntimeRequest", + **kwargs + ) -> "models.IntegrationRuntimeResource": + """Updates an integration runtime. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :param update_integration_runtime_request: The parameters for updating an integration runtime. + :type update_integration_runtime_request: ~data_factory_management_client.models.UpdateIntegrationRuntimeRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationRuntimeResource, or the result of cls(response) + :rtype: ~data_factory_management_client.models.IntegrationRuntimeResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(update_integration_runtime_request, 'UpdateIntegrationRuntimeRequest') + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('IntegrationRuntimeResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}'} # type: ignore + + async def delete( + self, + resource_group_name: str, + factory_name: str, + integration_runtime_name: str, + **kwargs + ) -> None: + """Deletes an integration runtime. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.delete.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}'} # type: ignore + + async def get_status( + self, + resource_group_name: str, + factory_name: str, + integration_runtime_name: str, + **kwargs + ) -> "models.IntegrationRuntimeStatusResponse": + """Gets detailed status information for an integration runtime. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationRuntimeStatusResponse, or the result of cls(response) + :rtype: ~data_factory_management_client.models.IntegrationRuntimeStatusResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeStatusResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.get_status.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('IntegrationRuntimeStatusResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_status.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/getStatus'} # type: ignore + + async def get_connection_info( + self, + resource_group_name: str, + factory_name: str, + integration_runtime_name: str, + **kwargs + ) -> "models.IntegrationRuntimeConnectionInfo": + """Gets the on-premises integration runtime connection information for encrypting the on-premises + data source credentials. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationRuntimeConnectionInfo, or the result of cls(response) + :rtype: ~data_factory_management_client.models.IntegrationRuntimeConnectionInfo + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeConnectionInfo"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.get_connection_info.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('IntegrationRuntimeConnectionInfo', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_connection_info.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/getConnectionInfo'} # type: ignore + + async def regenerate_auth_key( + self, + resource_group_name: str, + factory_name: str, + integration_runtime_name: str, + regenerate_key_parameters: "models.IntegrationRuntimeRegenerateKeyParameters", + **kwargs + ) -> "models.IntegrationRuntimeAuthKeys": + """Regenerates the authentication key for an integration runtime. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :param regenerate_key_parameters: The parameters for regenerating integration runtime + authentication key. + :type regenerate_key_parameters: ~data_factory_management_client.models.IntegrationRuntimeRegenerateKeyParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationRuntimeAuthKeys, or the result of cls(response) + :rtype: ~data_factory_management_client.models.IntegrationRuntimeAuthKeys + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeAuthKeys"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.regenerate_auth_key.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(regenerate_key_parameters, 'IntegrationRuntimeRegenerateKeyParameters') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('IntegrationRuntimeAuthKeys', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + regenerate_auth_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/regenerateAuthKey'} # type: ignore + + async def list_auth_keys( + self, + resource_group_name: str, + factory_name: str, + integration_runtime_name: str, + **kwargs + ) -> "models.IntegrationRuntimeAuthKeys": + """Retrieves the authentication keys for an integration runtime. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationRuntimeAuthKeys, or the result of cls(response) + :rtype: ~data_factory_management_client.models.IntegrationRuntimeAuthKeys + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeAuthKeys"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.list_auth_keys.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('IntegrationRuntimeAuthKeys', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list_auth_keys.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/listAuthKeys'} # type: ignore + + async def _start_initial( + self, + resource_group_name: str, + factory_name: str, + integration_runtime_name: str, + **kwargs + ) -> Optional["models.IntegrationRuntimeStatusResponse"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.IntegrationRuntimeStatusResponse"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self._start_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('IntegrationRuntimeStatusResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _start_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/start'} # type: ignore + + async def begin_start( + self, + resource_group_name: str, + factory_name: str, + integration_runtime_name: str, + **kwargs + ) -> AsyncLROPoller["models.IntegrationRuntimeStatusResponse"]: + """Starts a ManagedReserved type integration runtime. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either IntegrationRuntimeStatusResponse or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~data_factory_management_client.models.IntegrationRuntimeStatusResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeStatusResponse"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._start_initial( + resource_group_name=resource_group_name, + factory_name=factory_name, + integration_runtime_name=integration_runtime_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('IntegrationRuntimeStatusResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_start.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/start'} # type: ignore + + async def _stop_initial( + self, + resource_group_name: str, + factory_name: str, + integration_runtime_name: str, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self._stop_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _stop_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/stop'} # type: ignore + + async def begin_stop( + self, + resource_group_name: str, + factory_name: str, + integration_runtime_name: str, + **kwargs + ) -> AsyncLROPoller[None]: + """Stops a ManagedReserved type integration runtime. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._stop_initial( + resource_group_name=resource_group_name, + factory_name=factory_name, + integration_runtime_name=integration_runtime_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/stop'} # type: ignore + + async def sync_credentials( + self, + resource_group_name: str, + factory_name: str, + integration_runtime_name: str, + **kwargs + ) -> None: + """Force the integration runtime to synchronize credentials across integration runtime nodes, and + this will override the credentials across all worker nodes with those available on the + dispatcher node. If you already have the latest credential backup file, you should manually + import it (preferred) on any self-hosted integration runtime node than using this API directly. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.sync_credentials.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + sync_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/syncCredentials'} # type: ignore + + async def get_monitoring_data( + self, + resource_group_name: str, + factory_name: str, + integration_runtime_name: str, + **kwargs + ) -> "models.IntegrationRuntimeMonitoringData": + """Get the integration runtime monitoring data, which includes the monitor data for all the nodes + under this integration runtime. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationRuntimeMonitoringData, or the result of cls(response) + :rtype: ~data_factory_management_client.models.IntegrationRuntimeMonitoringData + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeMonitoringData"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.get_monitoring_data.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('IntegrationRuntimeMonitoringData', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_monitoring_data.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/monitoringData'} # type: ignore + + async def upgrade( + self, + resource_group_name: str, + factory_name: str, + integration_runtime_name: str, + **kwargs + ) -> None: + """Upgrade self-hosted integration runtime to latest version if availability. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.upgrade.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + upgrade.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/upgrade'} # type: ignore + + async def remove_links( + self, + resource_group_name: str, + factory_name: str, + integration_runtime_name: str, + linked_integration_runtime_request: "models.LinkedIntegrationRuntimeRequest", + **kwargs + ) -> None: + """Remove all linked integration runtimes under specific data factory in a self-hosted integration + runtime. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :param linked_integration_runtime_request: The data factory name for the linked integration + runtime. + :type linked_integration_runtime_request: ~data_factory_management_client.models.LinkedIntegrationRuntimeRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.remove_links.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(linked_integration_runtime_request, 'LinkedIntegrationRuntimeRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + remove_links.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/removeLinks'} # type: ignore + + async def create_linked_integration_runtime( + self, + resource_group_name: str, + factory_name: str, + integration_runtime_name: str, + create_linked_integration_runtime_request: "models.CreateLinkedIntegrationRuntimeRequest", + **kwargs + ) -> "models.IntegrationRuntimeStatusResponse": + """Create a linked integration runtime entry in a shared integration runtime. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :param create_linked_integration_runtime_request: The linked integration runtime properties. + :type create_linked_integration_runtime_request: ~data_factory_management_client.models.CreateLinkedIntegrationRuntimeRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationRuntimeStatusResponse, or the result of cls(response) + :rtype: ~data_factory_management_client.models.IntegrationRuntimeStatusResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeStatusResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.create_linked_integration_runtime.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(create_linked_integration_runtime_request, 'CreateLinkedIntegrationRuntimeRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('IntegrationRuntimeStatusResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_linked_integration_runtime.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/linkedIntegrationRuntime'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_linked_services_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_linked_services_operations.py new file mode 100644 index 00000000000..e6444acf5f7 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_linked_services_operations.py @@ -0,0 +1,322 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class LinkedServicesOperations: + """LinkedServicesOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_factory_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_by_factory( + self, + resource_group_name: str, + factory_name: str, + **kwargs + ) -> AsyncIterable["models.LinkedServiceListResponse"]: + """Lists linked services. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either LinkedServiceListResponse or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~data_factory_management_client.models.LinkedServiceListResponse] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.LinkedServiceListResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_factory.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('LinkedServiceListResponse', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/linkedservices'} # type: ignore + + async def create_or_update( + self, + resource_group_name: str, + factory_name: str, + linked_service_name: str, + linked_service: "models.LinkedServiceResource", + if_match: Optional[str] = None, + **kwargs + ) -> "models.LinkedServiceResource": + """Creates or updates a linked service. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param linked_service_name: The linked service name. + :type linked_service_name: str + :param linked_service: Linked service resource definition. + :type linked_service: ~data_factory_management_client.models.LinkedServiceResource + :param if_match: ETag of the linkedService entity. Should only be specified for update, for + which it should match existing entity or can be * for unconditional update. + :type if_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: LinkedServiceResource, or the result of cls(response) + :rtype: ~data_factory_management_client.models.LinkedServiceResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.LinkedServiceResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.create_or_update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'linkedServiceName': self._serialize.url("linked_service_name", linked_service_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(linked_service, 'LinkedServiceResource') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('LinkedServiceResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/linkedservices/{linkedServiceName}'} # type: ignore + + async def get( + self, + resource_group_name: str, + factory_name: str, + linked_service_name: str, + if_none_match: Optional[str] = None, + **kwargs + ) -> Optional["models.LinkedServiceResource"]: + """Gets a linked service. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param linked_service_name: The linked service name. + :type linked_service_name: str + :param if_none_match: ETag of the linked service entity. Should only be specified for get. If + the ETag matches the existing entity tag, or if * was provided, then no content will be + returned. + :type if_none_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: LinkedServiceResource, or the result of cls(response) + :rtype: ~data_factory_management_client.models.LinkedServiceResource or None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.LinkedServiceResource"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'linkedServiceName': self._serialize.url("linked_service_name", linked_service_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 304]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('LinkedServiceResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/linkedservices/{linkedServiceName}'} # type: ignore + + async def delete( + self, + resource_group_name: str, + factory_name: str, + linked_service_name: str, + **kwargs + ) -> None: + """Deletes a linked service. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param linked_service_name: The linked service name. + :type linked_service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.delete.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'linkedServiceName': self._serialize.url("linked_service_name", linked_service_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/linkedservices/{linkedServiceName}'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_managed_private_endpoints_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_managed_private_endpoints_operations.py new file mode 100644 index 00000000000..3a0dfd46129 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_managed_private_endpoints_operations.py @@ -0,0 +1,336 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ManagedPrivateEndpointsOperations: + """ManagedPrivateEndpointsOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_factory_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_by_factory( + self, + resource_group_name: str, + factory_name: str, + managed_virtual_network_name: str, + **kwargs + ) -> AsyncIterable["models.ManagedPrivateEndpointListResponse"]: + """Lists managed private endpoints. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param managed_virtual_network_name: Managed virtual network name. + :type managed_virtual_network_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ManagedPrivateEndpointListResponse or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~data_factory_management_client.models.ManagedPrivateEndpointListResponse] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ManagedPrivateEndpointListResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_factory.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'managedVirtualNetworkName': self._serialize.url("managed_virtual_network_name", managed_virtual_network_name, 'str', max_length=127, min_length=1, pattern=r'^([_A-Za-z0-9]|([_A-Za-z0-9][-_A-Za-z0-9]{0,125}[_A-Za-z0-9]))$'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ManagedPrivateEndpointListResponse', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/managedVirtualNetworks/{managedVirtualNetworkName}/managedPrivateEndpoints'} # type: ignore + + async def create_or_update( + self, + resource_group_name: str, + factory_name: str, + managed_virtual_network_name: str, + managed_private_endpoint_name: str, + managed_private_endpoint: "models.ManagedPrivateEndpointResource", + if_match: Optional[str] = None, + **kwargs + ) -> "models.ManagedPrivateEndpointResource": + """Creates or updates a managed private endpoint. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param managed_virtual_network_name: Managed virtual network name. + :type managed_virtual_network_name: str + :param managed_private_endpoint_name: Managed private endpoint name. + :type managed_private_endpoint_name: str + :param managed_private_endpoint: Managed private endpoint resource definition. + :type managed_private_endpoint: ~data_factory_management_client.models.ManagedPrivateEndpointResource + :param if_match: ETag of the managed private endpoint entity. Should only be specified for + update, for which it should match existing entity or can be * for unconditional update. + :type if_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ManagedPrivateEndpointResource, or the result of cls(response) + :rtype: ~data_factory_management_client.models.ManagedPrivateEndpointResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ManagedPrivateEndpointResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.create_or_update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'managedVirtualNetworkName': self._serialize.url("managed_virtual_network_name", managed_virtual_network_name, 'str', max_length=127, min_length=1, pattern=r'^([_A-Za-z0-9]|([_A-Za-z0-9][-_A-Za-z0-9]{0,125}[_A-Za-z0-9]))$'), + 'managedPrivateEndpointName': self._serialize.url("managed_private_endpoint_name", managed_private_endpoint_name, 'str', max_length=127, min_length=1, pattern=r'^([_A-Za-z0-9]|([_A-Za-z0-9][-_A-Za-z0-9]{0,125}[_A-Za-z0-9]))$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(managed_private_endpoint, 'ManagedPrivateEndpointResource') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ManagedPrivateEndpointResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/managedVirtualNetworks/{managedVirtualNetworkName}/managedPrivateEndpoints/{managedPrivateEndpointName}'} # type: ignore + + async def get( + self, + resource_group_name: str, + factory_name: str, + managed_virtual_network_name: str, + managed_private_endpoint_name: str, + if_none_match: Optional[str] = None, + **kwargs + ) -> "models.ManagedPrivateEndpointResource": + """Gets a managed private endpoint. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param managed_virtual_network_name: Managed virtual network name. + :type managed_virtual_network_name: str + :param managed_private_endpoint_name: Managed private endpoint name. + :type managed_private_endpoint_name: str + :param if_none_match: ETag of the managed private endpoint entity. Should only be specified for + get. If the ETag matches the existing entity tag, or if * was provided, then no content will be + returned. + :type if_none_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ManagedPrivateEndpointResource, or the result of cls(response) + :rtype: ~data_factory_management_client.models.ManagedPrivateEndpointResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ManagedPrivateEndpointResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'managedVirtualNetworkName': self._serialize.url("managed_virtual_network_name", managed_virtual_network_name, 'str', max_length=127, min_length=1, pattern=r'^([_A-Za-z0-9]|([_A-Za-z0-9][-_A-Za-z0-9]{0,125}[_A-Za-z0-9]))$'), + 'managedPrivateEndpointName': self._serialize.url("managed_private_endpoint_name", managed_private_endpoint_name, 'str', max_length=127, min_length=1, pattern=r'^([_A-Za-z0-9]|([_A-Za-z0-9][-_A-Za-z0-9]{0,125}[_A-Za-z0-9]))$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ManagedPrivateEndpointResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/managedVirtualNetworks/{managedVirtualNetworkName}/managedPrivateEndpoints/{managedPrivateEndpointName}'} # type: ignore + + async def delete( + self, + resource_group_name: str, + factory_name: str, + managed_virtual_network_name: str, + managed_private_endpoint_name: str, + **kwargs + ) -> None: + """Deletes a managed private endpoint. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param managed_virtual_network_name: Managed virtual network name. + :type managed_virtual_network_name: str + :param managed_private_endpoint_name: Managed private endpoint name. + :type managed_private_endpoint_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.delete.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'managedVirtualNetworkName': self._serialize.url("managed_virtual_network_name", managed_virtual_network_name, 'str', max_length=127, min_length=1, pattern=r'^([_A-Za-z0-9]|([_A-Za-z0-9][-_A-Za-z0-9]{0,125}[_A-Za-z0-9]))$'), + 'managedPrivateEndpointName': self._serialize.url("managed_private_endpoint_name", managed_private_endpoint_name, 'str', max_length=127, min_length=1, pattern=r'^([_A-Za-z0-9]|([_A-Za-z0-9][-_A-Za-z0-9]{0,125}[_A-Za-z0-9]))$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/managedVirtualNetworks/{managedVirtualNetworkName}/managedPrivateEndpoints/{managedPrivateEndpointName}'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_managed_virtual_networks_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_managed_virtual_networks_operations.py new file mode 100644 index 00000000000..908d7b58ffe --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_managed_virtual_networks_operations.py @@ -0,0 +1,261 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ManagedVirtualNetworksOperations: + """ManagedVirtualNetworksOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_factory_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_by_factory( + self, + resource_group_name: str, + factory_name: str, + **kwargs + ) -> AsyncIterable["models.ManagedVirtualNetworkListResponse"]: + """Lists managed Virtual Networks. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ManagedVirtualNetworkListResponse or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~data_factory_management_client.models.ManagedVirtualNetworkListResponse] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ManagedVirtualNetworkListResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_factory.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ManagedVirtualNetworkListResponse', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/managedVirtualNetworks'} # type: ignore + + async def create_or_update( + self, + resource_group_name: str, + factory_name: str, + managed_virtual_network_name: str, + managed_virtual_network: "models.ManagedVirtualNetworkResource", + if_match: Optional[str] = None, + **kwargs + ) -> "models.ManagedVirtualNetworkResource": + """Creates or updates a managed Virtual Network. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param managed_virtual_network_name: Managed virtual network name. + :type managed_virtual_network_name: str + :param managed_virtual_network: Managed Virtual Network resource definition. + :type managed_virtual_network: ~data_factory_management_client.models.ManagedVirtualNetworkResource + :param if_match: ETag of the managed Virtual Network entity. Should only be specified for + update, for which it should match existing entity or can be * for unconditional update. + :type if_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ManagedVirtualNetworkResource, or the result of cls(response) + :rtype: ~data_factory_management_client.models.ManagedVirtualNetworkResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ManagedVirtualNetworkResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.create_or_update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'managedVirtualNetworkName': self._serialize.url("managed_virtual_network_name", managed_virtual_network_name, 'str', max_length=127, min_length=1, pattern=r'^([_A-Za-z0-9]|([_A-Za-z0-9][-_A-Za-z0-9]{0,125}[_A-Za-z0-9]))$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(managed_virtual_network, 'ManagedVirtualNetworkResource') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ManagedVirtualNetworkResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/managedVirtualNetworks/{managedVirtualNetworkName}'} # type: ignore + + async def get( + self, + resource_group_name: str, + factory_name: str, + managed_virtual_network_name: str, + if_none_match: Optional[str] = None, + **kwargs + ) -> "models.ManagedVirtualNetworkResource": + """Gets a managed Virtual Network. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param managed_virtual_network_name: Managed virtual network name. + :type managed_virtual_network_name: str + :param if_none_match: ETag of the managed Virtual Network entity. Should only be specified for + get. If the ETag matches the existing entity tag, or if * was provided, then no content will be + returned. + :type if_none_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ManagedVirtualNetworkResource, or the result of cls(response) + :rtype: ~data_factory_management_client.models.ManagedVirtualNetworkResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ManagedVirtualNetworkResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'managedVirtualNetworkName': self._serialize.url("managed_virtual_network_name", managed_virtual_network_name, 'str', max_length=127, min_length=1, pattern=r'^([_A-Za-z0-9]|([_A-Za-z0-9][-_A-Za-z0-9]{0,125}[_A-Za-z0-9]))$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ManagedVirtualNetworkResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/managedVirtualNetworks/{managedVirtualNetworkName}'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_operations.py new file mode 100644 index 00000000000..8d96ffc136c --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_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. +# -------------------------------------------------------------------------- +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class Operations: + """Operations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_factory_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + **kwargs + ) -> AsyncIterable["models.OperationListResponse"]: + """Lists the available Azure Data Factory API operations. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either OperationListResponse or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~data_factory_management_client.models.OperationListResponse] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationListResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('OperationListResponse', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.DataFactory/operations'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_pipeline_runs_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_pipeline_runs_operations.py new file mode 100644 index 00000000000..8d4b4efdb99 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_pipeline_runs_operations.py @@ -0,0 +1,234 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class PipelineRunsOperations: + """PipelineRunsOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_factory_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def query_by_factory( + self, + resource_group_name: str, + factory_name: str, + filter_parameters: "models.RunFilterParameters", + **kwargs + ) -> "models.PipelineRunsQueryResponse": + """Query pipeline runs in the factory based on input filter conditions. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param filter_parameters: Parameters to filter the pipeline run. + :type filter_parameters: ~data_factory_management_client.models.RunFilterParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PipelineRunsQueryResponse, or the result of cls(response) + :rtype: ~data_factory_management_client.models.PipelineRunsQueryResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PipelineRunsQueryResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.query_by_factory.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(filter_parameters, 'RunFilterParameters') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('PipelineRunsQueryResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + query_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/queryPipelineRuns'} # type: ignore + + async def get( + self, + resource_group_name: str, + factory_name: str, + run_id: str, + **kwargs + ) -> "models.PipelineRun": + """Get a pipeline run by its run ID. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param run_id: The pipeline run identifier. + :type run_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PipelineRun, or the result of cls(response) + :rtype: ~data_factory_management_client.models.PipelineRun + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PipelineRun"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'runId': self._serialize.url("run_id", run_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('PipelineRun', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelineruns/{runId}'} # type: ignore + + async def cancel( + self, + resource_group_name: str, + factory_name: str, + run_id: str, + is_recursive: Optional[bool] = None, + **kwargs + ) -> None: + """Cancel a pipeline run by its run ID. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param run_id: The pipeline run identifier. + :type run_id: str + :param is_recursive: If true, cancel all the Child pipelines that are triggered by the current + pipeline. + :type is_recursive: bool + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.cancel.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'runId': self._serialize.url("run_id", run_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + if is_recursive is not None: + query_parameters['isRecursive'] = self._serialize.query("is_recursive", is_recursive, 'bool') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + cancel.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelineruns/{runId}/cancel'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_pipelines_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_pipelines_operations.py new file mode 100644 index 00000000000..1c73e154e35 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_pipelines_operations.py @@ -0,0 +1,419 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class PipelinesOperations: + """PipelinesOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_factory_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_by_factory( + self, + resource_group_name: str, + factory_name: str, + **kwargs + ) -> AsyncIterable["models.PipelineListResponse"]: + """Lists pipelines. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either PipelineListResponse or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~data_factory_management_client.models.PipelineListResponse] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PipelineListResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_factory.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('PipelineListResponse', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines'} # type: ignore + + async def create_or_update( + self, + resource_group_name: str, + factory_name: str, + pipeline_name: str, + pipeline: "models.PipelineResource", + if_match: Optional[str] = None, + **kwargs + ) -> "models.PipelineResource": + """Creates or updates a pipeline. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param pipeline_name: The pipeline name. + :type pipeline_name: str + :param pipeline: Pipeline resource definition. + :type pipeline: ~data_factory_management_client.models.PipelineResource + :param if_match: ETag of the pipeline entity. Should only be specified for update, for which + it should match existing entity or can be * for unconditional update. + :type if_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PipelineResource, or the result of cls(response) + :rtype: ~data_factory_management_client.models.PipelineResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PipelineResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.create_or_update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'pipelineName': self._serialize.url("pipeline_name", pipeline_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(pipeline, 'PipelineResource') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('PipelineResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines/{pipelineName}'} # type: ignore + + async def get( + self, + resource_group_name: str, + factory_name: str, + pipeline_name: str, + if_none_match: Optional[str] = None, + **kwargs + ) -> Optional["models.PipelineResource"]: + """Gets a pipeline. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param pipeline_name: The pipeline name. + :type pipeline_name: str + :param if_none_match: ETag of the pipeline entity. Should only be specified for get. If the + ETag matches the existing entity tag, or if * was provided, then no content will be returned. + :type if_none_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PipelineResource, or the result of cls(response) + :rtype: ~data_factory_management_client.models.PipelineResource or None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.PipelineResource"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'pipelineName': self._serialize.url("pipeline_name", pipeline_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 304]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('PipelineResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines/{pipelineName}'} # type: ignore + + async def delete( + self, + resource_group_name: str, + factory_name: str, + pipeline_name: str, + **kwargs + ) -> None: + """Deletes a pipeline. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param pipeline_name: The pipeline name. + :type pipeline_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.delete.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'pipelineName': self._serialize.url("pipeline_name", pipeline_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines/{pipelineName}'} # type: ignore + + async def create_run( + self, + resource_group_name: str, + factory_name: str, + pipeline_name: str, + reference_pipeline_run_id: Optional[str] = None, + is_recovery: Optional[bool] = None, + start_activity_name: Optional[str] = None, + start_from_failure: Optional[bool] = None, + parameters: Optional[Dict[str, object]] = None, + **kwargs + ) -> "models.CreateRunResponse": + """Creates a run of a pipeline. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param pipeline_name: The pipeline name. + :type pipeline_name: str + :param reference_pipeline_run_id: The pipeline run identifier. If run ID is specified the + parameters of the specified run will be used to create a new run. + :type reference_pipeline_run_id: str + :param is_recovery: Recovery mode flag. If recovery mode is set to true, the specified + referenced pipeline run and the new run will be grouped under the same groupId. + :type is_recovery: bool + :param start_activity_name: In recovery mode, the rerun will start from this activity. If not + specified, all activities will run. + :type start_activity_name: str + :param start_from_failure: In recovery mode, if set to true, the rerun will start from failed + activities. The property will be used only if startActivityName is not specified. + :type start_from_failure: bool + :param parameters: Parameters of the pipeline run. These parameters will be used only if the + runId is not specified. + :type parameters: dict[str, object] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CreateRunResponse, or the result of cls(response) + :rtype: ~data_factory_management_client.models.CreateRunResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.CreateRunResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.create_run.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'pipelineName': self._serialize.url("pipeline_name", pipeline_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if reference_pipeline_run_id is not None: + query_parameters['referencePipelineRunId'] = self._serialize.query("reference_pipeline_run_id", reference_pipeline_run_id, 'str') + if is_recovery is not None: + query_parameters['isRecovery'] = self._serialize.query("is_recovery", is_recovery, 'bool') + if start_activity_name is not None: + query_parameters['startActivityName'] = self._serialize.query("start_activity_name", start_activity_name, 'str') + if start_from_failure is not None: + query_parameters['startFromFailure'] = self._serialize.query("start_from_failure", start_from_failure, 'bool') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + if parameters is not None: + body_content = self._serialize.body(parameters, '{object}') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('CreateRunResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_run.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines/{pipelineName}/createRun'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_private_end_point_connections_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_private_end_point_connections_operations.py new file mode 100644 index 00000000000..4dabd9932f8 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_private_end_point_connections_operations.py @@ -0,0 +1,116 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class PrivateEndPointConnectionsOperations: + """PrivateEndPointConnectionsOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_factory_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_by_factory( + self, + resource_group_name: str, + factory_name: str, + **kwargs + ) -> AsyncIterable["models.PrivateEndpointConnectionListResponse"]: + """Lists Private endpoint connections. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either PrivateEndpointConnectionListResponse or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~data_factory_management_client.models.PrivateEndpointConnectionListResponse] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PrivateEndpointConnectionListResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_factory.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('PrivateEndpointConnectionListResponse', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/privateEndPointConnections'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_private_endpoint_connection_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_private_endpoint_connection_operations.py new file mode 100644 index 00000000000..90ee37632ce --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_private_endpoint_connection_operations.py @@ -0,0 +1,245 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class PrivateEndpointConnectionOperations: + """PrivateEndpointConnectionOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_factory_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def create_or_update( + self, + resource_group_name: str, + factory_name: str, + private_endpoint_connection_name: str, + private_endpoint_wrapper: "models.PrivateLinkConnectionApprovalRequestResource", + if_match: Optional[str] = None, + **kwargs + ) -> "models.PrivateEndpointConnectionResource": + """Approves or rejects a private endpoint connection. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param private_endpoint_connection_name: The private endpoint connection name. + :type private_endpoint_connection_name: str + :param private_endpoint_wrapper: + :type private_endpoint_wrapper: ~data_factory_management_client.models.PrivateLinkConnectionApprovalRequestResource + :param if_match: ETag of the private endpoint connection entity. Should only be specified for + update, for which it should match existing entity or can be * for unconditional update. + :type if_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PrivateEndpointConnectionResource, or the result of cls(response) + :rtype: ~data_factory_management_client.models.PrivateEndpointConnectionResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PrivateEndpointConnectionResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.create_or_update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'privateEndpointConnectionName': self._serialize.url("private_endpoint_connection_name", private_endpoint_connection_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(private_endpoint_wrapper, 'PrivateLinkConnectionApprovalRequestResource') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('PrivateEndpointConnectionResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore + + async def get( + self, + resource_group_name: str, + factory_name: str, + private_endpoint_connection_name: str, + if_none_match: Optional[str] = None, + **kwargs + ) -> "models.PrivateEndpointConnectionResource": + """Gets a private endpoint connection. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param private_endpoint_connection_name: The private endpoint connection name. + :type private_endpoint_connection_name: str + :param if_none_match: ETag of the private endpoint connection entity. Should only be specified + for get. If the ETag matches the existing entity tag, or if * was provided, then no content + will be returned. + :type if_none_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PrivateEndpointConnectionResource, or the result of cls(response) + :rtype: ~data_factory_management_client.models.PrivateEndpointConnectionResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PrivateEndpointConnectionResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'privateEndpointConnectionName': self._serialize.url("private_endpoint_connection_name", private_endpoint_connection_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('PrivateEndpointConnectionResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore + + async def delete( + self, + resource_group_name: str, + factory_name: str, + private_endpoint_connection_name: str, + **kwargs + ) -> None: + """Deletes a private endpoint connection. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param private_endpoint_connection_name: The private endpoint connection name. + :type private_endpoint_connection_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.delete.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'privateEndpointConnectionName': self._serialize.url("private_endpoint_connection_name", private_endpoint_connection_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_private_link_resources_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_private_link_resources_operations.py new file mode 100644 index 00000000000..fd47a6c7373 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_private_link_resources_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. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class PrivateLinkResourcesOperations: + """PrivateLinkResourcesOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_factory_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def get( + self, + resource_group_name: str, + factory_name: str, + **kwargs + ) -> "models.PrivateLinkResourcesWrapper": + """Gets the private link resources. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PrivateLinkResourcesWrapper, or the result of cls(response) + :rtype: ~data_factory_management_client.models.PrivateLinkResourcesWrapper + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PrivateLinkResourcesWrapper"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('PrivateLinkResourcesWrapper', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/privateLinkResources'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_trigger_runs_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_trigger_runs_operations.py new file mode 100644 index 00000000000..7fbcbc61f39 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_trigger_runs_operations.py @@ -0,0 +1,233 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class TriggerRunsOperations: + """TriggerRunsOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_factory_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def rerun( + self, + resource_group_name: str, + factory_name: str, + trigger_name: str, + run_id: str, + **kwargs + ) -> None: + """Rerun single trigger instance by runId. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param trigger_name: The trigger name. + :type trigger_name: str + :param run_id: The pipeline run identifier. + :type run_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.rerun.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + 'runId': self._serialize.url("run_id", run_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + rerun.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/triggerRuns/{runId}/rerun'} # type: ignore + + async def cancel( + self, + resource_group_name: str, + factory_name: str, + trigger_name: str, + run_id: str, + **kwargs + ) -> None: + """Cancel a single trigger instance by runId. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param trigger_name: The trigger name. + :type trigger_name: str + :param run_id: The pipeline run identifier. + :type run_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.cancel.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + 'runId': self._serialize.url("run_id", run_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + cancel.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/triggerRuns/{runId}/cancel'} # type: ignore + + async def query_by_factory( + self, + resource_group_name: str, + factory_name: str, + filter_parameters: "models.RunFilterParameters", + **kwargs + ) -> "models.TriggerRunsQueryResponse": + """Query trigger runs. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param filter_parameters: Parameters to filter the pipeline run. + :type filter_parameters: ~data_factory_management_client.models.RunFilterParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :return: TriggerRunsQueryResponse, or the result of cls(response) + :rtype: ~data_factory_management_client.models.TriggerRunsQueryResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.TriggerRunsQueryResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.query_by_factory.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(filter_parameters, 'RunFilterParameters') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('TriggerRunsQueryResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + query_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/queryTriggerRuns'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_triggers_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_triggers_operations.py new file mode 100644 index 00000000000..a9f7bd54c4d --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/aio/operations/_triggers_operations.py @@ -0,0 +1,927 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class TriggersOperations: + """TriggersOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_factory_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_by_factory( + self, + resource_group_name: str, + factory_name: str, + **kwargs + ) -> AsyncIterable["models.TriggerListResponse"]: + """Lists triggers. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either TriggerListResponse or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~data_factory_management_client.models.TriggerListResponse] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.TriggerListResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_factory.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('TriggerListResponse', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers'} # type: ignore + + async def query_by_factory( + self, + resource_group_name: str, + factory_name: str, + filter_parameters: "models.TriggerFilterParameters", + **kwargs + ) -> "models.TriggerQueryResponse": + """Query triggers. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param filter_parameters: Parameters to filter the triggers. + :type filter_parameters: ~data_factory_management_client.models.TriggerFilterParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :return: TriggerQueryResponse, or the result of cls(response) + :rtype: ~data_factory_management_client.models.TriggerQueryResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.TriggerQueryResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.query_by_factory.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(filter_parameters, 'TriggerFilterParameters') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('TriggerQueryResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + query_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/querytriggers'} # type: ignore + + async def create_or_update( + self, + resource_group_name: str, + factory_name: str, + trigger_name: str, + trigger: "models.TriggerResource", + if_match: Optional[str] = None, + **kwargs + ) -> "models.TriggerResource": + """Creates or updates a trigger. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param trigger_name: The trigger name. + :type trigger_name: str + :param trigger: Trigger resource definition. + :type trigger: ~data_factory_management_client.models.TriggerResource + :param if_match: ETag of the trigger entity. Should only be specified for update, for which it + should match existing entity or can be * for unconditional update. + :type if_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: TriggerResource, or the result of cls(response) + :rtype: ~data_factory_management_client.models.TriggerResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.TriggerResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.create_or_update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(trigger, 'TriggerResource') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('TriggerResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}'} # type: ignore + + async def get( + self, + resource_group_name: str, + factory_name: str, + trigger_name: str, + if_none_match: Optional[str] = None, + **kwargs + ) -> Optional["models.TriggerResource"]: + """Gets a trigger. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param trigger_name: The trigger name. + :type trigger_name: str + :param if_none_match: ETag of the trigger entity. Should only be specified for get. If the ETag + matches the existing entity tag, or if * was provided, then no content will be returned. + :type if_none_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: TriggerResource, or the result of cls(response) + :rtype: ~data_factory_management_client.models.TriggerResource or None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.TriggerResource"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 304]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('TriggerResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}'} # type: ignore + + async def delete( + self, + resource_group_name: str, + factory_name: str, + trigger_name: str, + **kwargs + ) -> None: + """Deletes a trigger. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param trigger_name: The trigger name. + :type trigger_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.delete.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}'} # type: ignore + + async def _subscribe_to_events_initial( + self, + resource_group_name: str, + factory_name: str, + trigger_name: str, + **kwargs + ) -> Optional["models.TriggerSubscriptionOperationStatus"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.TriggerSubscriptionOperationStatus"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self._subscribe_to_events_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('TriggerSubscriptionOperationStatus', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _subscribe_to_events_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/subscribeToEvents'} # type: ignore + + async def begin_subscribe_to_events( + self, + resource_group_name: str, + factory_name: str, + trigger_name: str, + **kwargs + ) -> AsyncLROPoller["models.TriggerSubscriptionOperationStatus"]: + """Subscribe event trigger to events. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param trigger_name: The trigger name. + :type trigger_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either TriggerSubscriptionOperationStatus or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~data_factory_management_client.models.TriggerSubscriptionOperationStatus] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.TriggerSubscriptionOperationStatus"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._subscribe_to_events_initial( + resource_group_name=resource_group_name, + factory_name=factory_name, + trigger_name=trigger_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('TriggerSubscriptionOperationStatus', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_subscribe_to_events.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/subscribeToEvents'} # type: ignore + + async def get_event_subscription_status( + self, + resource_group_name: str, + factory_name: str, + trigger_name: str, + **kwargs + ) -> "models.TriggerSubscriptionOperationStatus": + """Get a trigger's event subscription status. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param trigger_name: The trigger name. + :type trigger_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: TriggerSubscriptionOperationStatus, or the result of cls(response) + :rtype: ~data_factory_management_client.models.TriggerSubscriptionOperationStatus + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.TriggerSubscriptionOperationStatus"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.get_event_subscription_status.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('TriggerSubscriptionOperationStatus', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_event_subscription_status.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/getEventSubscriptionStatus'} # type: ignore + + async def _unsubscribe_from_events_initial( + self, + resource_group_name: str, + factory_name: str, + trigger_name: str, + **kwargs + ) -> Optional["models.TriggerSubscriptionOperationStatus"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.TriggerSubscriptionOperationStatus"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self._unsubscribe_from_events_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('TriggerSubscriptionOperationStatus', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _unsubscribe_from_events_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/unsubscribeFromEvents'} # type: ignore + + async def begin_unsubscribe_from_events( + self, + resource_group_name: str, + factory_name: str, + trigger_name: str, + **kwargs + ) -> AsyncLROPoller["models.TriggerSubscriptionOperationStatus"]: + """Unsubscribe event trigger from events. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param trigger_name: The trigger name. + :type trigger_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either TriggerSubscriptionOperationStatus or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~data_factory_management_client.models.TriggerSubscriptionOperationStatus] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.TriggerSubscriptionOperationStatus"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._unsubscribe_from_events_initial( + resource_group_name=resource_group_name, + factory_name=factory_name, + trigger_name=trigger_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('TriggerSubscriptionOperationStatus', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_unsubscribe_from_events.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/unsubscribeFromEvents'} # type: ignore + + async def _start_initial( + self, + resource_group_name: str, + factory_name: str, + trigger_name: str, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self._start_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _start_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/start'} # type: ignore + + async def begin_start( + self, + resource_group_name: str, + factory_name: str, + trigger_name: str, + **kwargs + ) -> AsyncLROPoller[None]: + """Starts a trigger. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param trigger_name: The trigger name. + :type trigger_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._start_initial( + resource_group_name=resource_group_name, + factory_name=factory_name, + trigger_name=trigger_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_start.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/start'} # type: ignore + + async def _stop_initial( + self, + resource_group_name: str, + factory_name: str, + trigger_name: str, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self._stop_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _stop_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/stop'} # type: ignore + + async def begin_stop( + self, + resource_group_name: str, + factory_name: str, + trigger_name: str, + **kwargs + ) -> AsyncLROPoller[None]: + """Stops a trigger. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param trigger_name: The trigger name. + :type trigger_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._stop_initial( + resource_group_name=resource_group_name, + factory_name=factory_name, + trigger_name=trigger_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/stop'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/models/__init__.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/models/__init__.py index 160afca0562..1f1ab102631 100644 --- a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/models/__init__.py +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/models/__init__.py @@ -21,11 +21,15 @@ from ._models_py3 import AmazonRedshiftLinkedService from ._models_py3 import AmazonRedshiftSource from ._models_py3 import AmazonRedshiftTableDataset + from ._models_py3 import AmazonS3CompatibleLinkedService + from ._models_py3 import AmazonS3CompatibleLocation + from ._models_py3 import AmazonS3CompatibleReadSettings from ._models_py3 import AmazonS3Dataset from ._models_py3 import AmazonS3LinkedService from ._models_py3 import AmazonS3Location from ._models_py3 import AmazonS3ReadSettings from ._models_py3 import AppendVariableActivity + from ._models_py3 import ArmIdWrapper from ._models_py3 import AvroDataset from ._models_py3 import AvroFormat from ._models_py3 import AvroSink @@ -58,6 +62,12 @@ from ._models_py3 import AzureDataLakeStoreSink from ._models_py3 import AzureDataLakeStoreSource from ._models_py3 import AzureDataLakeStoreWriteSettings + from ._models_py3 import AzureDatabricksDeltaLakeDataset + from ._models_py3 import AzureDatabricksDeltaLakeExportCommand + from ._models_py3 import AzureDatabricksDeltaLakeImportCommand + from ._models_py3 import AzureDatabricksDeltaLakeLinkedService + from ._models_py3 import AzureDatabricksDeltaLakeSink + from ._models_py3 import AzureDatabricksDeltaLakeSource from ._models_py3 import AzureDatabricksLinkedService from ._models_py3 import AzureFileStorageLinkedService from ._models_py3 import AzureFileStorageLocation @@ -67,35 +77,35 @@ from ._models_py3 import AzureFunctionLinkedService from ._models_py3 import AzureKeyVaultLinkedService from ._models_py3 import AzureKeyVaultSecretReference - from ._models_py3 import AzureMariaDBLinkedService - from ._models_py3 import AzureMariaDBSource - from ._models_py3 import AzureMariaDBTableDataset + from ._models_py3 import AzureMariaDbLinkedService + from ._models_py3 import AzureMariaDbSource + from ._models_py3 import AzureMariaDbTableDataset from ._models_py3 import AzureMlBatchExecutionActivity from ._models_py3 import AzureMlExecutePipelineActivity from ._models_py3 import AzureMlLinkedService from ._models_py3 import AzureMlServiceLinkedService from ._models_py3 import AzureMlUpdateResourceActivity from ._models_py3 import AzureMlWebServiceFile - from ._models_py3 import AzureMySQLLinkedService - from ._models_py3 import AzureMySQLSink - from ._models_py3 import AzureMySQLSource - from ._models_py3 import AzureMySQLTableDataset - from ._models_py3 import AzurePostgreSQLLinkedService - from ._models_py3 import AzurePostgreSQLSink - from ._models_py3 import AzurePostgreSQLSource - from ._models_py3 import AzurePostgreSQLTableDataset + from ._models_py3 import AzureMySqlLinkedService + from ._models_py3 import AzureMySqlSink + from ._models_py3 import AzureMySqlSource + from ._models_py3 import AzureMySqlTableDataset + from ._models_py3 import AzurePostgreSqlLinkedService + from ._models_py3 import AzurePostgreSqlSink + from ._models_py3 import AzurePostgreSqlSource + from ._models_py3 import AzurePostgreSqlTableDataset from ._models_py3 import AzureQueueSink - from ._models_py3 import AzureSQLDWLinkedService - from ._models_py3 import AzureSQLDWTableDataset - from ._models_py3 import AzureSQLDatabaseLinkedService - from ._models_py3 import AzureSQLMiLinkedService - from ._models_py3 import AzureSQLMiTableDataset - from ._models_py3 import AzureSQLSink - from ._models_py3 import AzureSQLSource - from ._models_py3 import AzureSQLTableDataset from ._models_py3 import AzureSearchIndexDataset from ._models_py3 import AzureSearchIndexSink from ._models_py3 import AzureSearchLinkedService + from ._models_py3 import AzureSqlDatabaseLinkedService + from ._models_py3 import AzureSqlDwLinkedService + from ._models_py3 import AzureSqlDwTableDataset + from ._models_py3 import AzureSqlMiLinkedService + from ._models_py3 import AzureSqlMiTableDataset + from ._models_py3 import AzureSqlSink + from ._models_py3 import AzureSqlSource + from ._models_py3 import AzureSqlTableDataset from ._models_py3 import AzureStorageLinkedService from ._models_py3 import AzureTableDataset from ._models_py3 import AzureTableSink @@ -115,6 +125,7 @@ from ._models_py3 import ChainingTrigger from ._models_py3 import CloudError from ._models_py3 import CmdkeySetup + from ._models_py3 import CmkIdentityDefinition from ._models_py3 import CommonDataServiceForAppsEntityDataset from ._models_py3 import CommonDataServiceForAppsLinkedService from ._models_py3 import CommonDataServiceForAppsSink @@ -127,17 +138,18 @@ from ._models_py3 import ConnectionStateProperties from ._models_py3 import ControlActivity from ._models_py3 import CopyActivity + from ._models_py3 import CopyActivityLogSettings from ._models_py3 import CopySink from ._models_py3 import CopySource from ._models_py3 import CopyTranslator - from ._models_py3 import CosmosDBLinkedService - from ._models_py3 import CosmosDBMongoDBApiCollectionDataset - from ._models_py3 import CosmosDBMongoDBApiLinkedService - from ._models_py3 import CosmosDBMongoDBApiSink - from ._models_py3 import CosmosDBMongoDBApiSource - from ._models_py3 import CosmosDBSQLApiCollectionDataset - from ._models_py3 import CosmosDBSQLApiSink - from ._models_py3 import CosmosDBSQLApiSource + from ._models_py3 import CosmosDbLinkedService + from ._models_py3 import CosmosDbMongoDbApiCollectionDataset + from ._models_py3 import CosmosDbMongoDbApiLinkedService + from ._models_py3 import CosmosDbMongoDbApiSink + from ._models_py3 import CosmosDbMongoDbApiSource + from ._models_py3 import CosmosDbSqlApiCollectionDataset + from ._models_py3 import CosmosDbSqlApiSink + from ._models_py3 import CosmosDbSqlApiSource from ._models_py3 import CouchbaseLinkedService from ._models_py3 import CouchbaseSource from ._models_py3 import CouchbaseTableDataset @@ -149,14 +161,14 @@ from ._models_py3 import CustomActivityReferenceObject from ._models_py3 import CustomDataSourceLinkedService from ._models_py3 import CustomDataset + from ._models_py3 import CustomEventsTrigger from ._models_py3 import CustomSetupBase - from ._models_py3 import DWCopyCommandDefaultValue - from ._models_py3 import DWCopyCommandSettings from ._models_py3 import DataFlow from ._models_py3 import DataFlowDebugCommandPayload from ._models_py3 import DataFlowDebugCommandRequest from ._models_py3 import DataFlowDebugCommandResponse from ._models_py3 import DataFlowDebugPackage + from ._models_py3 import DataFlowDebugPackageDebugSettings from ._models_py3 import DataFlowDebugResource from ._models_py3 import DataFlowDebugSessionInfo from ._models_py3 import DataFlowFolder @@ -185,6 +197,8 @@ from ._models_py3 import DatasetResource from ._models_py3 import DatasetSchemaDataElement from ._models_py3 import DatasetStorageFormat + from ._models_py3 import DatasetTarCompression + from ._models_py3 import DatasetTarGZipCompression from ._models_py3 import DatasetZipDeflateCompression from ._models_py3 import Db2LinkedService from ._models_py3 import Db2Source @@ -198,12 +212,14 @@ from ._models_py3 import DelimitedTextWriteSettings from ._models_py3 import DependencyReference from ._models_py3 import DistcpSettings - from ._models_py3 import DocumentDBCollectionDataset - from ._models_py3 import DocumentDBCollectionSink - from ._models_py3 import DocumentDBCollectionSource + from ._models_py3 import DocumentDbCollectionDataset + from ._models_py3 import DocumentDbCollectionSink + from ._models_py3 import DocumentDbCollectionSource from ._models_py3 import DrillLinkedService from ._models_py3 import DrillSource from ._models_py3 import DrillTableDataset + from ._models_py3 import DwCopyCommandDefaultValue + from ._models_py3 import DwCopyCommandSettings from ._models_py3 import DynamicsAxLinkedService from ._models_py3 import DynamicsAxResourceDataset from ._models_py3 import DynamicsAxSource @@ -218,6 +234,7 @@ from ._models_py3 import EloquaLinkedService from ._models_py3 import EloquaObjectDataset from ._models_py3 import EloquaSource + from ._models_py3 import EncryptionConfiguration from ._models_py3 import EntityReference from ._models_py3 import EnvironmentVariableSetup from ._models_py3 import ExcelDataset @@ -347,6 +364,8 @@ from ._models_py3 import LinkedServiceListResponse from ._models_py3 import LinkedServiceReference from ._models_py3 import LinkedServiceResource + from ._models_py3 import LogLocationSettings + from ._models_py3 import LogSettings from ._models_py3 import LogStorageSettings from ._models_py3 import LookupActivity from ._models_py3 import MagentoLinkedService @@ -362,11 +381,12 @@ from ._models_py3 import ManagedPrivateEndpointResource from ._models_py3 import ManagedVirtualNetwork from ._models_py3 import ManagedVirtualNetworkListResponse + from ._models_py3 import ManagedVirtualNetworkReference from ._models_py3 import ManagedVirtualNetworkResource from ._models_py3 import MappingDataFlow - from ._models_py3 import MariaDBLinkedService - from ._models_py3 import MariaDBSource - from ._models_py3 import MariaDBTableDataset + from ._models_py3 import MariaDbLinkedService + from ._models_py3 import MariaDbSource + from ._models_py3 import MariaDbTableDataset from ._models_py3 import MarketoLinkedService from ._models_py3 import MarketoObjectDataset from ._models_py3 import MarketoSource @@ -374,17 +394,20 @@ from ._models_py3 import MicrosoftAccessSink from ._models_py3 import MicrosoftAccessSource from ._models_py3 import MicrosoftAccessTableDataset - from ._models_py3 import MongoDBCollectionDataset - from ._models_py3 import MongoDBCursorMethodsProperties - from ._models_py3 import MongoDBLinkedService - from ._models_py3 import MongoDBSource - from ._models_py3 import MongoDBV2CollectionDataset - from ._models_py3 import MongoDBV2LinkedService - from ._models_py3 import MongoDBV2Source + from ._models_py3 import MongoDbAtlasCollectionDataset + from ._models_py3 import MongoDbAtlasLinkedService + from ._models_py3 import MongoDbAtlasSource + from ._models_py3 import MongoDbCollectionDataset + from ._models_py3 import MongoDbCursorMethodsProperties + from ._models_py3 import MongoDbLinkedService + from ._models_py3 import MongoDbSource + from ._models_py3 import MongoDbV2CollectionDataset + from ._models_py3 import MongoDbV2LinkedService + from ._models_py3 import MongoDbV2Source from ._models_py3 import MultiplePipelineTrigger - from ._models_py3 import MySQLLinkedService - from ._models_py3 import MySQLSource - from ._models_py3 import MySQLTableDataset + from ._models_py3 import MySqlLinkedService + from ._models_py3 import MySqlSource + from ._models_py3 import MySqlTableDataset from ._models_py3 import NetezzaLinkedService from ._models_py3 import NetezzaPartitionSettings from ._models_py3 import NetezzaSource @@ -407,6 +430,9 @@ from ._models_py3 import OperationMetricDimension from ._models_py3 import OperationMetricSpecification from ._models_py3 import OperationServiceSpecification + from ._models_py3 import OracleCloudStorageLinkedService + from ._models_py3 import OracleCloudStorageLocation + from ._models_py3 import OracleCloudStorageReadSettings from ._models_py3 import OracleLinkedService from ._models_py3 import OraclePartitionSettings from ._models_py3 import OracleServiceCloudLinkedService @@ -419,31 +445,44 @@ from ._models_py3 import OrcFormat from ._models_py3 import OrcSink from ._models_py3 import OrcSource + from ._models_py3 import OrcWriteSettings from ._models_py3 import PackageStore from ._models_py3 import ParameterSpecification from ._models_py3 import ParquetDataset from ._models_py3 import ParquetFormat from ._models_py3 import ParquetSink from ._models_py3 import ParquetSource + from ._models_py3 import ParquetWriteSettings from ._models_py3 import PaypalLinkedService from ._models_py3 import PaypalObjectDataset from ._models_py3 import PaypalSource from ._models_py3 import PhoenixLinkedService from ._models_py3 import PhoenixObjectDataset from ._models_py3 import PhoenixSource + from ._models_py3 import PipelineElapsedTimeMetricPolicy + from ._models_py3 import PipelineFolder from ._models_py3 import PipelineListResponse + from ._models_py3 import PipelinePolicy from ._models_py3 import PipelineReference from ._models_py3 import PipelineResource from ._models_py3 import PipelineRun from ._models_py3 import PipelineRunInvokedBy from ._models_py3 import PipelineRunsQueryResponse from ._models_py3 import PolybaseSettings - from ._models_py3 import PostgreSQLLinkedService - from ._models_py3 import PostgreSQLSource - from ._models_py3 import PostgreSQLTableDataset + from ._models_py3 import PostgreSqlLinkedService + from ._models_py3 import PostgreSqlSource + from ._models_py3 import PostgreSqlTableDataset from ._models_py3 import PrestoLinkedService from ._models_py3 import PrestoObjectDataset from ._models_py3 import PrestoSource + from ._models_py3 import PrivateEndpointConnectionListResponse + from ._models_py3 import PrivateEndpointConnectionResource + from ._models_py3 import PrivateLinkConnectionApprovalRequest + from ._models_py3 import PrivateLinkConnectionApprovalRequestResource + from ._models_py3 import PrivateLinkConnectionState + from ._models_py3 import PrivateLinkResource + from ._models_py3 import PrivateLinkResourceProperties + from ._models_py3 import PrivateLinkResourcesWrapper from ._models_py3 import QueryDataFlowDebugSessionsResponse from ._models_py3 import QuickBooksLinkedService from ._models_py3 import QuickBooksObjectDataset @@ -454,6 +493,7 @@ from ._models_py3 import RedshiftUnloadSettings from ._models_py3 import RelationalSource from ._models_py3 import RelationalTableDataset + from ._models_py3 import RemotePrivateEndpointConnection from ._models_py3 import RerunTumblingWindowTrigger from ._models_py3 import Resource from ._models_py3 import ResponsysLinkedService @@ -467,18 +507,6 @@ from ._models_py3 import RunFilterParameters from ._models_py3 import RunQueryFilter from ._models_py3 import RunQueryOrderBy - from ._models_py3 import SQLDWSink - from ._models_py3 import SQLDWSource - from ._models_py3 import SQLMiSink - from ._models_py3 import SQLMiSource - from ._models_py3 import SQLPartitionSettings - from ._models_py3 import SQLServerLinkedService - from ._models_py3 import SQLServerSink - from ._models_py3 import SQLServerSource - from ._models_py3 import SQLServerStoredProcedureActivity - from ._models_py3 import SQLServerTableDataset - from ._models_py3 import SQLSink - from ._models_py3 import SQLSource from ._models_py3 import SalesforceLinkedService from ._models_py3 import SalesforceMarketingCloudLinkedService from ._models_py3 import SalesforceMarketingCloudObjectDataset @@ -544,6 +572,19 @@ from ._models_py3 import SparkLinkedService from ._models_py3 import SparkObjectDataset from ._models_py3 import SparkSource + from ._models_py3 import SqlAlwaysEncryptedProperties + from ._models_py3 import SqlDwSink + from ._models_py3 import SqlDwSource + from ._models_py3 import SqlMiSink + from ._models_py3 import SqlMiSource + from ._models_py3 import SqlPartitionSettings + from ._models_py3 import SqlServerLinkedService + from ._models_py3 import SqlServerSink + from ._models_py3 import SqlServerSource + from ._models_py3 import SqlServerStoredProcedureActivity + from ._models_py3 import SqlServerTableDataset + from ._models_py3 import SqlSink + from ._models_py3 import SqlSource from ._models_py3 import SquareLinkedService from ._models_py3 import SquareObjectDataset from ._models_py3 import SquareSource @@ -577,6 +618,8 @@ from ._models_py3 import SybaseTableDataset from ._models_py3 import TabularSource from ._models_py3 import TabularTranslator + from ._models_py3 import TarGZipReadSettings + from ._models_py3 import TarReadSettings from ._models_py3 import TeradataLinkedService from ._models_py3 import TeradataPartitionSettings from ._models_py3 import TeradataSource @@ -643,11 +686,15 @@ from ._models import AmazonRedshiftLinkedService # type: ignore from ._models import AmazonRedshiftSource # type: ignore from ._models import AmazonRedshiftTableDataset # type: ignore + from ._models import AmazonS3CompatibleLinkedService # type: ignore + from ._models import AmazonS3CompatibleLocation # type: ignore + from ._models import AmazonS3CompatibleReadSettings # type: ignore from ._models import AmazonS3Dataset # type: ignore from ._models import AmazonS3LinkedService # type: ignore from ._models import AmazonS3Location # type: ignore from ._models import AmazonS3ReadSettings # type: ignore from ._models import AppendVariableActivity # type: ignore + from ._models import ArmIdWrapper # type: ignore from ._models import AvroDataset # type: ignore from ._models import AvroFormat # type: ignore from ._models import AvroSink # type: ignore @@ -680,6 +727,12 @@ from ._models import AzureDataLakeStoreSink # type: ignore from ._models import AzureDataLakeStoreSource # type: ignore from ._models import AzureDataLakeStoreWriteSettings # type: ignore + from ._models import AzureDatabricksDeltaLakeDataset # type: ignore + from ._models import AzureDatabricksDeltaLakeExportCommand # type: ignore + from ._models import AzureDatabricksDeltaLakeImportCommand # type: ignore + from ._models import AzureDatabricksDeltaLakeLinkedService # type: ignore + from ._models import AzureDatabricksDeltaLakeSink # type: ignore + from ._models import AzureDatabricksDeltaLakeSource # type: ignore from ._models import AzureDatabricksLinkedService # type: ignore from ._models import AzureFileStorageLinkedService # type: ignore from ._models import AzureFileStorageLocation # type: ignore @@ -689,35 +742,35 @@ from ._models import AzureFunctionLinkedService # type: ignore from ._models import AzureKeyVaultLinkedService # type: ignore from ._models import AzureKeyVaultSecretReference # type: ignore - from ._models import AzureMariaDBLinkedService # type: ignore - from ._models import AzureMariaDBSource # type: ignore - from ._models import AzureMariaDBTableDataset # type: ignore + from ._models import AzureMariaDbLinkedService # type: ignore + from ._models import AzureMariaDbSource # type: ignore + from ._models import AzureMariaDbTableDataset # type: ignore from ._models import AzureMlBatchExecutionActivity # type: ignore from ._models import AzureMlExecutePipelineActivity # type: ignore from ._models import AzureMlLinkedService # type: ignore from ._models import AzureMlServiceLinkedService # type: ignore from ._models import AzureMlUpdateResourceActivity # type: ignore from ._models import AzureMlWebServiceFile # type: ignore - from ._models import AzureMySQLLinkedService # type: ignore - from ._models import AzureMySQLSink # type: ignore - from ._models import AzureMySQLSource # type: ignore - from ._models import AzureMySQLTableDataset # type: ignore - from ._models import AzurePostgreSQLLinkedService # type: ignore - from ._models import AzurePostgreSQLSink # type: ignore - from ._models import AzurePostgreSQLSource # type: ignore - from ._models import AzurePostgreSQLTableDataset # type: ignore + from ._models import AzureMySqlLinkedService # type: ignore + from ._models import AzureMySqlSink # type: ignore + from ._models import AzureMySqlSource # type: ignore + from ._models import AzureMySqlTableDataset # type: ignore + from ._models import AzurePostgreSqlLinkedService # type: ignore + from ._models import AzurePostgreSqlSink # type: ignore + from ._models import AzurePostgreSqlSource # type: ignore + from ._models import AzurePostgreSqlTableDataset # type: ignore from ._models import AzureQueueSink # type: ignore - from ._models import AzureSQLDWLinkedService # type: ignore - from ._models import AzureSQLDWTableDataset # type: ignore - from ._models import AzureSQLDatabaseLinkedService # type: ignore - from ._models import AzureSQLMiLinkedService # type: ignore - from ._models import AzureSQLMiTableDataset # type: ignore - from ._models import AzureSQLSink # type: ignore - from ._models import AzureSQLSource # type: ignore - from ._models import AzureSQLTableDataset # type: ignore from ._models import AzureSearchIndexDataset # type: ignore from ._models import AzureSearchIndexSink # type: ignore from ._models import AzureSearchLinkedService # type: ignore + from ._models import AzureSqlDatabaseLinkedService # type: ignore + from ._models import AzureSqlDwLinkedService # type: ignore + from ._models import AzureSqlDwTableDataset # type: ignore + from ._models import AzureSqlMiLinkedService # type: ignore + from ._models import AzureSqlMiTableDataset # type: ignore + from ._models import AzureSqlSink # type: ignore + from ._models import AzureSqlSource # type: ignore + from ._models import AzureSqlTableDataset # type: ignore from ._models import AzureStorageLinkedService # type: ignore from ._models import AzureTableDataset # type: ignore from ._models import AzureTableSink # type: ignore @@ -737,6 +790,7 @@ from ._models import ChainingTrigger # type: ignore from ._models import CloudError # type: ignore from ._models import CmdkeySetup # type: ignore + from ._models import CmkIdentityDefinition # type: ignore from ._models import CommonDataServiceForAppsEntityDataset # type: ignore from ._models import CommonDataServiceForAppsLinkedService # type: ignore from ._models import CommonDataServiceForAppsSink # type: ignore @@ -749,17 +803,18 @@ from ._models import ConnectionStateProperties # type: ignore from ._models import ControlActivity # type: ignore from ._models import CopyActivity # type: ignore + from ._models import CopyActivityLogSettings # type: ignore from ._models import CopySink # type: ignore from ._models import CopySource # type: ignore from ._models import CopyTranslator # type: ignore - from ._models import CosmosDBLinkedService # type: ignore - from ._models import CosmosDBMongoDBApiCollectionDataset # type: ignore - from ._models import CosmosDBMongoDBApiLinkedService # type: ignore - from ._models import CosmosDBMongoDBApiSink # type: ignore - from ._models import CosmosDBMongoDBApiSource # type: ignore - from ._models import CosmosDBSQLApiCollectionDataset # type: ignore - from ._models import CosmosDBSQLApiSink # type: ignore - from ._models import CosmosDBSQLApiSource # type: ignore + from ._models import CosmosDbLinkedService # type: ignore + from ._models import CosmosDbMongoDbApiCollectionDataset # type: ignore + from ._models import CosmosDbMongoDbApiLinkedService # type: ignore + from ._models import CosmosDbMongoDbApiSink # type: ignore + from ._models import CosmosDbMongoDbApiSource # type: ignore + from ._models import CosmosDbSqlApiCollectionDataset # type: ignore + from ._models import CosmosDbSqlApiSink # type: ignore + from ._models import CosmosDbSqlApiSource # type: ignore from ._models import CouchbaseLinkedService # type: ignore from ._models import CouchbaseSource # type: ignore from ._models import CouchbaseTableDataset # type: ignore @@ -771,14 +826,14 @@ from ._models import CustomActivityReferenceObject # type: ignore from ._models import CustomDataSourceLinkedService # type: ignore from ._models import CustomDataset # type: ignore + from ._models import CustomEventsTrigger # type: ignore from ._models import CustomSetupBase # type: ignore - from ._models import DWCopyCommandDefaultValue # type: ignore - from ._models import DWCopyCommandSettings # type: ignore from ._models import DataFlow # type: ignore from ._models import DataFlowDebugCommandPayload # type: ignore from ._models import DataFlowDebugCommandRequest # type: ignore from ._models import DataFlowDebugCommandResponse # type: ignore from ._models import DataFlowDebugPackage # type: ignore + from ._models import DataFlowDebugPackageDebugSettings # type: ignore from ._models import DataFlowDebugResource # type: ignore from ._models import DataFlowDebugSessionInfo # type: ignore from ._models import DataFlowFolder # type: ignore @@ -807,6 +862,8 @@ from ._models import DatasetResource # type: ignore from ._models import DatasetSchemaDataElement # type: ignore from ._models import DatasetStorageFormat # type: ignore + from ._models import DatasetTarCompression # type: ignore + from ._models import DatasetTarGZipCompression # type: ignore from ._models import DatasetZipDeflateCompression # type: ignore from ._models import Db2LinkedService # type: ignore from ._models import Db2Source # type: ignore @@ -820,12 +877,14 @@ from ._models import DelimitedTextWriteSettings # type: ignore from ._models import DependencyReference # type: ignore from ._models import DistcpSettings # type: ignore - from ._models import DocumentDBCollectionDataset # type: ignore - from ._models import DocumentDBCollectionSink # type: ignore - from ._models import DocumentDBCollectionSource # type: ignore + from ._models import DocumentDbCollectionDataset # type: ignore + from ._models import DocumentDbCollectionSink # type: ignore + from ._models import DocumentDbCollectionSource # type: ignore from ._models import DrillLinkedService # type: ignore from ._models import DrillSource # type: ignore from ._models import DrillTableDataset # type: ignore + from ._models import DwCopyCommandDefaultValue # type: ignore + from ._models import DwCopyCommandSettings # type: ignore from ._models import DynamicsAxLinkedService # type: ignore from ._models import DynamicsAxResourceDataset # type: ignore from ._models import DynamicsAxSource # type: ignore @@ -840,6 +899,7 @@ from ._models import EloquaLinkedService # type: ignore from ._models import EloquaObjectDataset # type: ignore from ._models import EloquaSource # type: ignore + from ._models import EncryptionConfiguration # type: ignore from ._models import EntityReference # type: ignore from ._models import EnvironmentVariableSetup # type: ignore from ._models import ExcelDataset # type: ignore @@ -969,6 +1029,8 @@ from ._models import LinkedServiceListResponse # type: ignore from ._models import LinkedServiceReference # type: ignore from ._models import LinkedServiceResource # type: ignore + from ._models import LogLocationSettings # type: ignore + from ._models import LogSettings # type: ignore from ._models import LogStorageSettings # type: ignore from ._models import LookupActivity # type: ignore from ._models import MagentoLinkedService # type: ignore @@ -984,11 +1046,12 @@ from ._models import ManagedPrivateEndpointResource # type: ignore from ._models import ManagedVirtualNetwork # type: ignore from ._models import ManagedVirtualNetworkListResponse # type: ignore + from ._models import ManagedVirtualNetworkReference # type: ignore from ._models import ManagedVirtualNetworkResource # type: ignore from ._models import MappingDataFlow # type: ignore - from ._models import MariaDBLinkedService # type: ignore - from ._models import MariaDBSource # type: ignore - from ._models import MariaDBTableDataset # type: ignore + from ._models import MariaDbLinkedService # type: ignore + from ._models import MariaDbSource # type: ignore + from ._models import MariaDbTableDataset # type: ignore from ._models import MarketoLinkedService # type: ignore from ._models import MarketoObjectDataset # type: ignore from ._models import MarketoSource # type: ignore @@ -996,17 +1059,20 @@ from ._models import MicrosoftAccessSink # type: ignore from ._models import MicrosoftAccessSource # type: ignore from ._models import MicrosoftAccessTableDataset # type: ignore - from ._models import MongoDBCollectionDataset # type: ignore - from ._models import MongoDBCursorMethodsProperties # type: ignore - from ._models import MongoDBLinkedService # type: ignore - from ._models import MongoDBSource # type: ignore - from ._models import MongoDBV2CollectionDataset # type: ignore - from ._models import MongoDBV2LinkedService # type: ignore - from ._models import MongoDBV2Source # type: ignore + from ._models import MongoDbAtlasCollectionDataset # type: ignore + from ._models import MongoDbAtlasLinkedService # type: ignore + from ._models import MongoDbAtlasSource # type: ignore + from ._models import MongoDbCollectionDataset # type: ignore + from ._models import MongoDbCursorMethodsProperties # type: ignore + from ._models import MongoDbLinkedService # type: ignore + from ._models import MongoDbSource # type: ignore + from ._models import MongoDbV2CollectionDataset # type: ignore + from ._models import MongoDbV2LinkedService # type: ignore + from ._models import MongoDbV2Source # type: ignore from ._models import MultiplePipelineTrigger # type: ignore - from ._models import MySQLLinkedService # type: ignore - from ._models import MySQLSource # type: ignore - from ._models import MySQLTableDataset # type: ignore + from ._models import MySqlLinkedService # type: ignore + from ._models import MySqlSource # type: ignore + from ._models import MySqlTableDataset # type: ignore from ._models import NetezzaLinkedService # type: ignore from ._models import NetezzaPartitionSettings # type: ignore from ._models import NetezzaSource # type: ignore @@ -1029,6 +1095,9 @@ from ._models import OperationMetricDimension # type: ignore from ._models import OperationMetricSpecification # type: ignore from ._models import OperationServiceSpecification # type: ignore + from ._models import OracleCloudStorageLinkedService # type: ignore + from ._models import OracleCloudStorageLocation # type: ignore + from ._models import OracleCloudStorageReadSettings # type: ignore from ._models import OracleLinkedService # type: ignore from ._models import OraclePartitionSettings # type: ignore from ._models import OracleServiceCloudLinkedService # type: ignore @@ -1041,31 +1110,44 @@ from ._models import OrcFormat # type: ignore from ._models import OrcSink # type: ignore from ._models import OrcSource # type: ignore + from ._models import OrcWriteSettings # type: ignore from ._models import PackageStore # type: ignore from ._models import ParameterSpecification # type: ignore from ._models import ParquetDataset # type: ignore from ._models import ParquetFormat # type: ignore from ._models import ParquetSink # type: ignore from ._models import ParquetSource # type: ignore + from ._models import ParquetWriteSettings # type: ignore from ._models import PaypalLinkedService # type: ignore from ._models import PaypalObjectDataset # type: ignore from ._models import PaypalSource # type: ignore from ._models import PhoenixLinkedService # type: ignore from ._models import PhoenixObjectDataset # type: ignore from ._models import PhoenixSource # type: ignore + from ._models import PipelineElapsedTimeMetricPolicy # type: ignore + from ._models import PipelineFolder # type: ignore from ._models import PipelineListResponse # type: ignore + from ._models import PipelinePolicy # type: ignore from ._models import PipelineReference # type: ignore from ._models import PipelineResource # type: ignore from ._models import PipelineRun # type: ignore from ._models import PipelineRunInvokedBy # type: ignore from ._models import PipelineRunsQueryResponse # type: ignore from ._models import PolybaseSettings # type: ignore - from ._models import PostgreSQLLinkedService # type: ignore - from ._models import PostgreSQLSource # type: ignore - from ._models import PostgreSQLTableDataset # type: ignore + from ._models import PostgreSqlLinkedService # type: ignore + from ._models import PostgreSqlSource # type: ignore + from ._models import PostgreSqlTableDataset # type: ignore from ._models import PrestoLinkedService # type: ignore from ._models import PrestoObjectDataset # type: ignore from ._models import PrestoSource # type: ignore + from ._models import PrivateEndpointConnectionListResponse # type: ignore + from ._models import PrivateEndpointConnectionResource # type: ignore + from ._models import PrivateLinkConnectionApprovalRequest # type: ignore + from ._models import PrivateLinkConnectionApprovalRequestResource # type: ignore + from ._models import PrivateLinkConnectionState # type: ignore + from ._models import PrivateLinkResource # type: ignore + from ._models import PrivateLinkResourceProperties # type: ignore + from ._models import PrivateLinkResourcesWrapper # type: ignore from ._models import QueryDataFlowDebugSessionsResponse # type: ignore from ._models import QuickBooksLinkedService # type: ignore from ._models import QuickBooksObjectDataset # type: ignore @@ -1076,6 +1158,7 @@ from ._models import RedshiftUnloadSettings # type: ignore from ._models import RelationalSource # type: ignore from ._models import RelationalTableDataset # type: ignore + from ._models import RemotePrivateEndpointConnection # type: ignore from ._models import RerunTumblingWindowTrigger # type: ignore from ._models import Resource # type: ignore from ._models import ResponsysLinkedService # type: ignore @@ -1089,18 +1172,6 @@ from ._models import RunFilterParameters # type: ignore from ._models import RunQueryFilter # type: ignore from ._models import RunQueryOrderBy # type: ignore - from ._models import SQLDWSink # type: ignore - from ._models import SQLDWSource # type: ignore - from ._models import SQLMiSink # type: ignore - from ._models import SQLMiSource # type: ignore - from ._models import SQLPartitionSettings # type: ignore - from ._models import SQLServerLinkedService # type: ignore - from ._models import SQLServerSink # type: ignore - from ._models import SQLServerSource # type: ignore - from ._models import SQLServerStoredProcedureActivity # type: ignore - from ._models import SQLServerTableDataset # type: ignore - from ._models import SQLSink # type: ignore - from ._models import SQLSource # type: ignore from ._models import SalesforceLinkedService # type: ignore from ._models import SalesforceMarketingCloudLinkedService # type: ignore from ._models import SalesforceMarketingCloudObjectDataset # type: ignore @@ -1166,6 +1237,19 @@ from ._models import SparkLinkedService # type: ignore from ._models import SparkObjectDataset # type: ignore from ._models import SparkSource # type: ignore + from ._models import SqlAlwaysEncryptedProperties # type: ignore + from ._models import SqlDwSink # type: ignore + from ._models import SqlDwSource # type: ignore + from ._models import SqlMiSink # type: ignore + from ._models import SqlMiSource # type: ignore + from ._models import SqlPartitionSettings # type: ignore + from ._models import SqlServerLinkedService # type: ignore + from ._models import SqlServerSink # type: ignore + from ._models import SqlServerSource # type: ignore + from ._models import SqlServerStoredProcedureActivity # type: ignore + from ._models import SqlServerTableDataset # type: ignore + from ._models import SqlSink # type: ignore + from ._models import SqlSource # type: ignore from ._models import SquareLinkedService # type: ignore from ._models import SquareObjectDataset # type: ignore from ._models import SquareSource # type: ignore @@ -1199,6 +1283,8 @@ from ._models import SybaseTableDataset # type: ignore from ._models import TabularSource # type: ignore from ._models import TabularTranslator # type: ignore + from ._models import TarGZipReadSettings # type: ignore + from ._models import TarReadSettings # type: ignore from ._models import TeradataLinkedService # type: ignore from ._models import TeradataPartitionSettings # type: ignore from ._models import TeradataSource # type: ignore @@ -1259,6 +1345,8 @@ CassandraSourceReadConsistencyLevels, CompressionCodec, CopyBehaviorType, + CosmosDbConnectionMode, + CosmosDbServicePrincipalCredentialType, DataFlowComputeType, DataFlowDebugCommandType, DatasetCompressionLevel, @@ -1271,6 +1359,7 @@ DynamicsServicePrincipalCredentialType, DynamicsSinkWriteBehavior, EventSubscriptionStatus, + FactoryIdentityType, FtpAuthenticationType, GlobalParameterType, GoogleAdWordsAuthenticationType, @@ -1296,9 +1385,9 @@ JsonFormatFilePattern, JsonWriteFilePattern, ManagedIntegrationRuntimeNodeStatus, - MongoDBAuthenticationType, + MongoDbAuthenticationType, NetezzaPartitionOption, - ODataAADServicePrincipalCredentialType, + ODataAadServicePrincipalCredentialType, ODataAuthenticationType, OraclePartitionOption, OrcCompressionCodec, @@ -1306,13 +1395,13 @@ PhoenixAuthenticationType, PolybaseSettingsRejectType, PrestoAuthenticationType, + PublicNetworkAccess, RecurrenceFrequency, RestServiceAuthenticationType, RunQueryFilterOperand, RunQueryFilterOperator, RunQueryOrder, RunQueryOrderByField, - SQLPartitionOption, SalesforceSinkWriteBehavior, SalesforceSourceReadBehavior, SapCloudForCustomerSinkWriteBehavior, @@ -1325,6 +1414,8 @@ SparkAuthenticationType, SparkServerType, SparkThriftTransportProtocol, + SqlAlwaysEncryptedAkvAuthType, + SqlPartitionOption, SsisLogLocationType, SsisObjectMetadataType, SsisPackageLocationType, @@ -1356,11 +1447,15 @@ 'AmazonRedshiftLinkedService', 'AmazonRedshiftSource', 'AmazonRedshiftTableDataset', + 'AmazonS3CompatibleLinkedService', + 'AmazonS3CompatibleLocation', + 'AmazonS3CompatibleReadSettings', 'AmazonS3Dataset', 'AmazonS3LinkedService', 'AmazonS3Location', 'AmazonS3ReadSettings', 'AppendVariableActivity', + 'ArmIdWrapper', 'AvroDataset', 'AvroFormat', 'AvroSink', @@ -1393,6 +1488,12 @@ 'AzureDataLakeStoreSink', 'AzureDataLakeStoreSource', 'AzureDataLakeStoreWriteSettings', + 'AzureDatabricksDeltaLakeDataset', + 'AzureDatabricksDeltaLakeExportCommand', + 'AzureDatabricksDeltaLakeImportCommand', + 'AzureDatabricksDeltaLakeLinkedService', + 'AzureDatabricksDeltaLakeSink', + 'AzureDatabricksDeltaLakeSource', 'AzureDatabricksLinkedService', 'AzureFileStorageLinkedService', 'AzureFileStorageLocation', @@ -1402,35 +1503,35 @@ 'AzureFunctionLinkedService', 'AzureKeyVaultLinkedService', 'AzureKeyVaultSecretReference', - 'AzureMariaDBLinkedService', - 'AzureMariaDBSource', - 'AzureMariaDBTableDataset', + 'AzureMariaDbLinkedService', + 'AzureMariaDbSource', + 'AzureMariaDbTableDataset', 'AzureMlBatchExecutionActivity', 'AzureMlExecutePipelineActivity', 'AzureMlLinkedService', 'AzureMlServiceLinkedService', 'AzureMlUpdateResourceActivity', 'AzureMlWebServiceFile', - 'AzureMySQLLinkedService', - 'AzureMySQLSink', - 'AzureMySQLSource', - 'AzureMySQLTableDataset', - 'AzurePostgreSQLLinkedService', - 'AzurePostgreSQLSink', - 'AzurePostgreSQLSource', - 'AzurePostgreSQLTableDataset', + 'AzureMySqlLinkedService', + 'AzureMySqlSink', + 'AzureMySqlSource', + 'AzureMySqlTableDataset', + 'AzurePostgreSqlLinkedService', + 'AzurePostgreSqlSink', + 'AzurePostgreSqlSource', + 'AzurePostgreSqlTableDataset', 'AzureQueueSink', - 'AzureSQLDWLinkedService', - 'AzureSQLDWTableDataset', - 'AzureSQLDatabaseLinkedService', - 'AzureSQLMiLinkedService', - 'AzureSQLMiTableDataset', - 'AzureSQLSink', - 'AzureSQLSource', - 'AzureSQLTableDataset', 'AzureSearchIndexDataset', 'AzureSearchIndexSink', 'AzureSearchLinkedService', + 'AzureSqlDatabaseLinkedService', + 'AzureSqlDwLinkedService', + 'AzureSqlDwTableDataset', + 'AzureSqlMiLinkedService', + 'AzureSqlMiTableDataset', + 'AzureSqlSink', + 'AzureSqlSource', + 'AzureSqlTableDataset', 'AzureStorageLinkedService', 'AzureTableDataset', 'AzureTableSink', @@ -1450,6 +1551,7 @@ 'ChainingTrigger', 'CloudError', 'CmdkeySetup', + 'CmkIdentityDefinition', 'CommonDataServiceForAppsEntityDataset', 'CommonDataServiceForAppsLinkedService', 'CommonDataServiceForAppsSink', @@ -1462,17 +1564,18 @@ 'ConnectionStateProperties', 'ControlActivity', 'CopyActivity', + 'CopyActivityLogSettings', 'CopySink', 'CopySource', 'CopyTranslator', - 'CosmosDBLinkedService', - 'CosmosDBMongoDBApiCollectionDataset', - 'CosmosDBMongoDBApiLinkedService', - 'CosmosDBMongoDBApiSink', - 'CosmosDBMongoDBApiSource', - 'CosmosDBSQLApiCollectionDataset', - 'CosmosDBSQLApiSink', - 'CosmosDBSQLApiSource', + 'CosmosDbLinkedService', + 'CosmosDbMongoDbApiCollectionDataset', + 'CosmosDbMongoDbApiLinkedService', + 'CosmosDbMongoDbApiSink', + 'CosmosDbMongoDbApiSource', + 'CosmosDbSqlApiCollectionDataset', + 'CosmosDbSqlApiSink', + 'CosmosDbSqlApiSource', 'CouchbaseLinkedService', 'CouchbaseSource', 'CouchbaseTableDataset', @@ -1484,14 +1587,14 @@ 'CustomActivityReferenceObject', 'CustomDataSourceLinkedService', 'CustomDataset', + 'CustomEventsTrigger', 'CustomSetupBase', - 'DWCopyCommandDefaultValue', - 'DWCopyCommandSettings', 'DataFlow', 'DataFlowDebugCommandPayload', 'DataFlowDebugCommandRequest', 'DataFlowDebugCommandResponse', 'DataFlowDebugPackage', + 'DataFlowDebugPackageDebugSettings', 'DataFlowDebugResource', 'DataFlowDebugSessionInfo', 'DataFlowFolder', @@ -1520,6 +1623,8 @@ 'DatasetResource', 'DatasetSchemaDataElement', 'DatasetStorageFormat', + 'DatasetTarCompression', + 'DatasetTarGZipCompression', 'DatasetZipDeflateCompression', 'Db2LinkedService', 'Db2Source', @@ -1533,12 +1638,14 @@ 'DelimitedTextWriteSettings', 'DependencyReference', 'DistcpSettings', - 'DocumentDBCollectionDataset', - 'DocumentDBCollectionSink', - 'DocumentDBCollectionSource', + 'DocumentDbCollectionDataset', + 'DocumentDbCollectionSink', + 'DocumentDbCollectionSource', 'DrillLinkedService', 'DrillSource', 'DrillTableDataset', + 'DwCopyCommandDefaultValue', + 'DwCopyCommandSettings', 'DynamicsAxLinkedService', 'DynamicsAxResourceDataset', 'DynamicsAxSource', @@ -1553,6 +1660,7 @@ 'EloquaLinkedService', 'EloquaObjectDataset', 'EloquaSource', + 'EncryptionConfiguration', 'EntityReference', 'EnvironmentVariableSetup', 'ExcelDataset', @@ -1682,6 +1790,8 @@ 'LinkedServiceListResponse', 'LinkedServiceReference', 'LinkedServiceResource', + 'LogLocationSettings', + 'LogSettings', 'LogStorageSettings', 'LookupActivity', 'MagentoLinkedService', @@ -1697,11 +1807,12 @@ 'ManagedPrivateEndpointResource', 'ManagedVirtualNetwork', 'ManagedVirtualNetworkListResponse', + 'ManagedVirtualNetworkReference', 'ManagedVirtualNetworkResource', 'MappingDataFlow', - 'MariaDBLinkedService', - 'MariaDBSource', - 'MariaDBTableDataset', + 'MariaDbLinkedService', + 'MariaDbSource', + 'MariaDbTableDataset', 'MarketoLinkedService', 'MarketoObjectDataset', 'MarketoSource', @@ -1709,17 +1820,20 @@ 'MicrosoftAccessSink', 'MicrosoftAccessSource', 'MicrosoftAccessTableDataset', - 'MongoDBCollectionDataset', - 'MongoDBCursorMethodsProperties', - 'MongoDBLinkedService', - 'MongoDBSource', - 'MongoDBV2CollectionDataset', - 'MongoDBV2LinkedService', - 'MongoDBV2Source', + 'MongoDbAtlasCollectionDataset', + 'MongoDbAtlasLinkedService', + 'MongoDbAtlasSource', + 'MongoDbCollectionDataset', + 'MongoDbCursorMethodsProperties', + 'MongoDbLinkedService', + 'MongoDbSource', + 'MongoDbV2CollectionDataset', + 'MongoDbV2LinkedService', + 'MongoDbV2Source', 'MultiplePipelineTrigger', - 'MySQLLinkedService', - 'MySQLSource', - 'MySQLTableDataset', + 'MySqlLinkedService', + 'MySqlSource', + 'MySqlTableDataset', 'NetezzaLinkedService', 'NetezzaPartitionSettings', 'NetezzaSource', @@ -1742,6 +1856,9 @@ 'OperationMetricDimension', 'OperationMetricSpecification', 'OperationServiceSpecification', + 'OracleCloudStorageLinkedService', + 'OracleCloudStorageLocation', + 'OracleCloudStorageReadSettings', 'OracleLinkedService', 'OraclePartitionSettings', 'OracleServiceCloudLinkedService', @@ -1754,31 +1871,44 @@ 'OrcFormat', 'OrcSink', 'OrcSource', + 'OrcWriteSettings', 'PackageStore', 'ParameterSpecification', 'ParquetDataset', 'ParquetFormat', 'ParquetSink', 'ParquetSource', + 'ParquetWriteSettings', 'PaypalLinkedService', 'PaypalObjectDataset', 'PaypalSource', 'PhoenixLinkedService', 'PhoenixObjectDataset', 'PhoenixSource', + 'PipelineElapsedTimeMetricPolicy', + 'PipelineFolder', 'PipelineListResponse', + 'PipelinePolicy', 'PipelineReference', 'PipelineResource', 'PipelineRun', 'PipelineRunInvokedBy', 'PipelineRunsQueryResponse', 'PolybaseSettings', - 'PostgreSQLLinkedService', - 'PostgreSQLSource', - 'PostgreSQLTableDataset', + 'PostgreSqlLinkedService', + 'PostgreSqlSource', + 'PostgreSqlTableDataset', 'PrestoLinkedService', 'PrestoObjectDataset', 'PrestoSource', + 'PrivateEndpointConnectionListResponse', + 'PrivateEndpointConnectionResource', + 'PrivateLinkConnectionApprovalRequest', + 'PrivateLinkConnectionApprovalRequestResource', + 'PrivateLinkConnectionState', + 'PrivateLinkResource', + 'PrivateLinkResourceProperties', + 'PrivateLinkResourcesWrapper', 'QueryDataFlowDebugSessionsResponse', 'QuickBooksLinkedService', 'QuickBooksObjectDataset', @@ -1789,6 +1919,7 @@ 'RedshiftUnloadSettings', 'RelationalSource', 'RelationalTableDataset', + 'RemotePrivateEndpointConnection', 'RerunTumblingWindowTrigger', 'Resource', 'ResponsysLinkedService', @@ -1802,18 +1933,6 @@ 'RunFilterParameters', 'RunQueryFilter', 'RunQueryOrderBy', - 'SQLDWSink', - 'SQLDWSource', - 'SQLMiSink', - 'SQLMiSource', - 'SQLPartitionSettings', - 'SQLServerLinkedService', - 'SQLServerSink', - 'SQLServerSource', - 'SQLServerStoredProcedureActivity', - 'SQLServerTableDataset', - 'SQLSink', - 'SQLSource', 'SalesforceLinkedService', 'SalesforceMarketingCloudLinkedService', 'SalesforceMarketingCloudObjectDataset', @@ -1879,6 +1998,19 @@ 'SparkLinkedService', 'SparkObjectDataset', 'SparkSource', + 'SqlAlwaysEncryptedProperties', + 'SqlDwSink', + 'SqlDwSource', + 'SqlMiSink', + 'SqlMiSource', + 'SqlPartitionSettings', + 'SqlServerLinkedService', + 'SqlServerSink', + 'SqlServerSource', + 'SqlServerStoredProcedureActivity', + 'SqlServerTableDataset', + 'SqlSink', + 'SqlSource', 'SquareLinkedService', 'SquareObjectDataset', 'SquareSource', @@ -1912,6 +2044,8 @@ 'SybaseTableDataset', 'TabularSource', 'TabularTranslator', + 'TarGZipReadSettings', + 'TarReadSettings', 'TeradataLinkedService', 'TeradataPartitionSettings', 'TeradataSource', @@ -1970,6 +2104,8 @@ 'CassandraSourceReadConsistencyLevels', 'CompressionCodec', 'CopyBehaviorType', + 'CosmosDbConnectionMode', + 'CosmosDbServicePrincipalCredentialType', 'DataFlowComputeType', 'DataFlowDebugCommandType', 'DatasetCompressionLevel', @@ -1982,6 +2118,7 @@ 'DynamicsServicePrincipalCredentialType', 'DynamicsSinkWriteBehavior', 'EventSubscriptionStatus', + 'FactoryIdentityType', 'FtpAuthenticationType', 'GlobalParameterType', 'GoogleAdWordsAuthenticationType', @@ -2007,9 +2144,9 @@ 'JsonFormatFilePattern', 'JsonWriteFilePattern', 'ManagedIntegrationRuntimeNodeStatus', - 'MongoDBAuthenticationType', + 'MongoDbAuthenticationType', 'NetezzaPartitionOption', - 'ODataAADServicePrincipalCredentialType', + 'ODataAadServicePrincipalCredentialType', 'ODataAuthenticationType', 'OraclePartitionOption', 'OrcCompressionCodec', @@ -2017,13 +2154,13 @@ 'PhoenixAuthenticationType', 'PolybaseSettingsRejectType', 'PrestoAuthenticationType', + 'PublicNetworkAccess', 'RecurrenceFrequency', 'RestServiceAuthenticationType', 'RunQueryFilterOperand', 'RunQueryFilterOperator', 'RunQueryOrder', 'RunQueryOrderByField', - 'SQLPartitionOption', 'SalesforceSinkWriteBehavior', 'SalesforceSourceReadBehavior', 'SapCloudForCustomerSinkWriteBehavior', @@ -2036,6 +2173,8 @@ 'SparkAuthenticationType', 'SparkServerType', 'SparkThriftTransportProtocol', + 'SqlAlwaysEncryptedAkvAuthType', + 'SqlPartitionOption', 'SsisLogLocationType', 'SsisObjectMetadataType', 'SsisPackageLocationType', diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/models/_data_factory_management_client_enums.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/models/_data_factory_management_client_enums.py index d663167e0f4..1e1c0d92c7d 100644 --- a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/models/_data_factory_management_client_enums.py +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/models/_data_factory_management_client_enums.py @@ -86,6 +86,8 @@ class CompressionCodec(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): DEFLATE = "deflate" ZIP_DEFLATE = "zipDeflate" LZ4 = "lz4" + TAR = "tar" + TAR_G_ZIP = "tarGZip" class CopyBehaviorType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): """All available types of copy behavior. @@ -95,6 +97,23 @@ class CopyBehaviorType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): FLATTEN_HIERARCHY = "FlattenHierarchy" MERGE_FILES = "MergeFiles" +class CosmosDbConnectionMode(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The connection mode used to access CosmosDB account. Type: string (or Expression with + resultType string). + """ + + GATEWAY = "Gateway" + DIRECT = "Direct" + +class CosmosDbServicePrincipalCredentialType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The service principal credential type to use in Server-To-Server authentication. + 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert' for certificate. Type: string (or + Expression with resultType string). + """ + + SERVICE_PRINCIPAL_KEY = "ServicePrincipalKey" + SERVICE_PRINCIPAL_CERT = "ServicePrincipalCert" + class DataFlowComputeType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): """Compute type of the cluster which will execute data flow job. """ @@ -183,7 +202,7 @@ class DynamicsServicePrincipalCredentialType(with_metaclass(_CaseInsensitiveEnum SERVICE_PRINCIPAL_CERT = "ServicePrincipalCert" class DynamicsSinkWriteBehavior(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): - """The write behavior for the operation. + """Defines values for DynamicsSinkWriteBehavior. """ UPSERT = "Upsert" @@ -198,6 +217,14 @@ class EventSubscriptionStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum DISABLED = "Disabled" UNKNOWN = "Unknown" +class FactoryIdentityType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The identity type. + """ + + SYSTEM_ASSIGNED = "SystemAssigned" + USER_ASSIGNED = "UserAssigned" + SYSTEM_ASSIGNED_USER_ASSIGNED = "SystemAssigned,UserAssigned" + class FtpAuthenticationType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): """The authentication type to be used to connect to the FTP server. """ @@ -406,7 +433,7 @@ class ManagedIntegrationRuntimeNodeStatus(with_metaclass(_CaseInsensitiveEnumMet RECYCLING = "Recycling" UNAVAILABLE = "Unavailable" -class MongoDBAuthenticationType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class MongoDbAuthenticationType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): """The authentication type to be used to connect to the MongoDB database. """ @@ -421,7 +448,7 @@ class NetezzaPartitionOption(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum) DATA_SLICE = "DataSlice" DYNAMIC_RANGE = "DynamicRange" -class ODataAADServicePrincipalCredentialType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class ODataAadServicePrincipalCredentialType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): """Specify the credential type (key or cert) is used for service principal. """ @@ -451,6 +478,7 @@ class OrcCompressionCodec(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): NONE = "none" ZLIB = "zlib" SNAPPY = "snappy" + LZO = "lzo" class ParameterType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): """Parameter type. @@ -486,6 +514,13 @@ class PrestoAuthenticationType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enu ANONYMOUS = "Anonymous" LDAP = "LDAP" +class PublicNetworkAccess(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Whether or not public network access is allowed for the data factory. + """ + + ENABLED = "Enabled" + DISABLED = "Disabled" + class RecurrenceFrequency(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): """Enumerates possible frequency option for the schedule trigger. """ @@ -632,6 +667,7 @@ class SftpAuthenticationType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum) BASIC = "Basic" SSH_PUBLIC_KEY = "SshPublicKey" + MULTI_FACTOR = "MultiFactor" class SparkAuthenticationType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): """The authentication method used to access the Spark server. @@ -658,7 +694,15 @@ class SparkThriftTransportProtocol(with_metaclass(_CaseInsensitiveEnumMeta, str, SASL = "SASL" HTTP = "HTTP " -class SQLPartitionOption(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): +class SqlAlwaysEncryptedAkvAuthType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Sql always encrypted AKV authentication type. Type: string (or Expression with resultType + string). + """ + + SERVICE_PRINCIPAL = "ServicePrincipal" + MANAGED_IDENTITY = "ManagedIdentity" + +class SqlPartitionOption(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): """The partition mechanism that will be used for Sql read in parallel. """ @@ -746,6 +790,7 @@ class TumblingWindowFrequency(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum MINUTE = "Minute" HOUR = "Hour" + MONTH = "Month" class VariableType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): """Variable type. diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/models/_models.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/models/_models.py index ec6d27ddb59..e97fd0ab305 100644 --- a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/models/_models.py +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/models/_models.py @@ -342,7 +342,7 @@ class LinkedService(msrest.serialization.Model): """The Azure Data Factory nested object which contains the information and credential which can be used to connect with related store or compute resource. You probably want to use the sub-classes and not this class directly. Known - sub-classes are: AmazonMwsLinkedService, AmazonRedshiftLinkedService, AmazonS3LinkedService, AzureBatchLinkedService, AzureBlobFsLinkedService, AzureBlobStorageLinkedService, AzureDataExplorerLinkedService, AzureDataLakeAnalyticsLinkedService, AzureDataLakeStoreLinkedService, AzureDatabricksLinkedService, AzureFileStorageLinkedService, AzureFunctionLinkedService, AzureKeyVaultLinkedService, AzureMlLinkedService, AzureMlServiceLinkedService, AzureMariaDBLinkedService, AzureMySQLLinkedService, AzurePostgreSQLLinkedService, AzureSearchLinkedService, AzureSQLDWLinkedService, AzureSQLDatabaseLinkedService, AzureSQLMiLinkedService, AzureStorageLinkedService, AzureTableStorageLinkedService, CassandraLinkedService, CommonDataServiceForAppsLinkedService, ConcurLinkedService, CosmosDBLinkedService, CosmosDBMongoDBApiLinkedService, CouchbaseLinkedService, CustomDataSourceLinkedService, Db2LinkedService, DrillLinkedService, DynamicsLinkedService, DynamicsAxLinkedService, DynamicsCrmLinkedService, EloquaLinkedService, FileServerLinkedService, FtpServerLinkedService, GoogleAdWordsLinkedService, GoogleBigQueryLinkedService, GoogleCloudStorageLinkedService, GreenplumLinkedService, HBaseLinkedService, HdInsightLinkedService, HdInsightOnDemandLinkedService, HdfsLinkedService, HiveLinkedService, HttpLinkedService, HubspotLinkedService, ImpalaLinkedService, InformixLinkedService, JiraLinkedService, MagentoLinkedService, MariaDBLinkedService, MarketoLinkedService, MicrosoftAccessLinkedService, MongoDBLinkedService, MongoDBV2LinkedService, MySQLLinkedService, NetezzaLinkedService, ODataLinkedService, OdbcLinkedService, Office365LinkedService, OracleLinkedService, OracleServiceCloudLinkedService, PaypalLinkedService, PhoenixLinkedService, PostgreSQLLinkedService, PrestoLinkedService, QuickBooksLinkedService, ResponsysLinkedService, RestServiceLinkedService, SalesforceLinkedService, SalesforceMarketingCloudLinkedService, SalesforceServiceCloudLinkedService, SapBwLinkedService, SapCloudForCustomerLinkedService, SapEccLinkedService, SapHanaLinkedService, SapOpenHubLinkedService, SapTableLinkedService, ServiceNowLinkedService, SftpServerLinkedService, SharePointOnlineListLinkedService, ShopifyLinkedService, SnowflakeLinkedService, SparkLinkedService, SQLServerLinkedService, SquareLinkedService, SybaseLinkedService, TeradataLinkedService, VerticaLinkedService, WebLinkedService, XeroLinkedService, ZohoLinkedService. + sub-classes are: AmazonMwsLinkedService, AmazonRedshiftLinkedService, AmazonS3LinkedService, AmazonS3CompatibleLinkedService, AzureBatchLinkedService, AzureBlobFsLinkedService, AzureBlobStorageLinkedService, AzureDataExplorerLinkedService, AzureDataLakeAnalyticsLinkedService, AzureDataLakeStoreLinkedService, AzureDatabricksLinkedService, AzureDatabricksDeltaLakeLinkedService, AzureFileStorageLinkedService, AzureFunctionLinkedService, AzureKeyVaultLinkedService, AzureMlLinkedService, AzureMlServiceLinkedService, AzureMariaDbLinkedService, AzureMySqlLinkedService, AzurePostgreSqlLinkedService, AzureSearchLinkedService, AzureSqlDwLinkedService, AzureSqlDatabaseLinkedService, AzureSqlMiLinkedService, AzureStorageLinkedService, AzureTableStorageLinkedService, CassandraLinkedService, CommonDataServiceForAppsLinkedService, ConcurLinkedService, CosmosDbLinkedService, CosmosDbMongoDbApiLinkedService, CouchbaseLinkedService, CustomDataSourceLinkedService, Db2LinkedService, DrillLinkedService, DynamicsLinkedService, DynamicsAxLinkedService, DynamicsCrmLinkedService, EloquaLinkedService, FileServerLinkedService, FtpServerLinkedService, GoogleAdWordsLinkedService, GoogleBigQueryLinkedService, GoogleCloudStorageLinkedService, GreenplumLinkedService, HBaseLinkedService, HdInsightLinkedService, HdInsightOnDemandLinkedService, HdfsLinkedService, HiveLinkedService, HttpLinkedService, HubspotLinkedService, ImpalaLinkedService, InformixLinkedService, JiraLinkedService, MagentoLinkedService, MariaDbLinkedService, MarketoLinkedService, MicrosoftAccessLinkedService, MongoDbLinkedService, MongoDbAtlasLinkedService, MongoDbV2LinkedService, MySqlLinkedService, NetezzaLinkedService, ODataLinkedService, OdbcLinkedService, Office365LinkedService, OracleLinkedService, OracleCloudStorageLinkedService, OracleServiceCloudLinkedService, PaypalLinkedService, PhoenixLinkedService, PostgreSqlLinkedService, PrestoLinkedService, QuickBooksLinkedService, ResponsysLinkedService, RestServiceLinkedService, SalesforceLinkedService, SalesforceMarketingCloudLinkedService, SalesforceServiceCloudLinkedService, SapBwLinkedService, SapCloudForCustomerLinkedService, SapEccLinkedService, SapHanaLinkedService, SapOpenHubLinkedService, SapTableLinkedService, ServiceNowLinkedService, SftpServerLinkedService, SharePointOnlineListLinkedService, ShopifyLinkedService, SnowflakeLinkedService, SparkLinkedService, SqlServerLinkedService, SquareLinkedService, SybaseLinkedService, TeradataLinkedService, VerticaLinkedService, WebLinkedService, XeroLinkedService, ZohoLinkedService. All required parameters must be populated in order to send to Azure. @@ -375,7 +375,7 @@ class LinkedService(msrest.serialization.Model): } _subtype_map = { - 'type': {'AmazonMWS': 'AmazonMwsLinkedService', 'AmazonRedshift': 'AmazonRedshiftLinkedService', 'AmazonS3': 'AmazonS3LinkedService', 'AzureBatch': 'AzureBatchLinkedService', 'AzureBlobFS': 'AzureBlobFsLinkedService', 'AzureBlobStorage': 'AzureBlobStorageLinkedService', 'AzureDataExplorer': 'AzureDataExplorerLinkedService', 'AzureDataLakeAnalytics': 'AzureDataLakeAnalyticsLinkedService', 'AzureDataLakeStore': 'AzureDataLakeStoreLinkedService', 'AzureDatabricks': 'AzureDatabricksLinkedService', 'AzureFileStorage': 'AzureFileStorageLinkedService', 'AzureFunction': 'AzureFunctionLinkedService', 'AzureKeyVault': 'AzureKeyVaultLinkedService', 'AzureML': 'AzureMlLinkedService', 'AzureMLService': 'AzureMlServiceLinkedService', 'AzureMariaDB': 'AzureMariaDBLinkedService', 'AzureMySql': 'AzureMySQLLinkedService', 'AzurePostgreSql': 'AzurePostgreSQLLinkedService', 'AzureSearch': 'AzureSearchLinkedService', 'AzureSqlDW': 'AzureSQLDWLinkedService', 'AzureSqlDatabase': 'AzureSQLDatabaseLinkedService', 'AzureSqlMI': 'AzureSQLMiLinkedService', 'AzureStorage': 'AzureStorageLinkedService', 'AzureTableStorage': 'AzureTableStorageLinkedService', 'Cassandra': 'CassandraLinkedService', 'CommonDataServiceForApps': 'CommonDataServiceForAppsLinkedService', 'Concur': 'ConcurLinkedService', 'CosmosDb': 'CosmosDBLinkedService', 'CosmosDbMongoDbApi': 'CosmosDBMongoDBApiLinkedService', 'Couchbase': 'CouchbaseLinkedService', 'CustomDataSource': 'CustomDataSourceLinkedService', 'Db2': 'Db2LinkedService', 'Drill': 'DrillLinkedService', 'Dynamics': 'DynamicsLinkedService', 'DynamicsAX': 'DynamicsAxLinkedService', 'DynamicsCrm': 'DynamicsCrmLinkedService', 'Eloqua': 'EloquaLinkedService', 'FileServer': 'FileServerLinkedService', 'FtpServer': 'FtpServerLinkedService', 'GoogleAdWords': 'GoogleAdWordsLinkedService', 'GoogleBigQuery': 'GoogleBigQueryLinkedService', 'GoogleCloudStorage': 'GoogleCloudStorageLinkedService', 'Greenplum': 'GreenplumLinkedService', 'HBase': 'HBaseLinkedService', 'HDInsight': 'HdInsightLinkedService', 'HDInsightOnDemand': 'HdInsightOnDemandLinkedService', 'Hdfs': 'HdfsLinkedService', 'Hive': 'HiveLinkedService', 'HttpServer': 'HttpLinkedService', 'Hubspot': 'HubspotLinkedService', 'Impala': 'ImpalaLinkedService', 'Informix': 'InformixLinkedService', 'Jira': 'JiraLinkedService', 'Magento': 'MagentoLinkedService', 'MariaDB': 'MariaDBLinkedService', 'Marketo': 'MarketoLinkedService', 'MicrosoftAccess': 'MicrosoftAccessLinkedService', 'MongoDb': 'MongoDBLinkedService', 'MongoDbV2': 'MongoDBV2LinkedService', 'MySql': 'MySQLLinkedService', 'Netezza': 'NetezzaLinkedService', 'OData': 'ODataLinkedService', 'Odbc': 'OdbcLinkedService', 'Office365': 'Office365LinkedService', 'Oracle': 'OracleLinkedService', 'OracleServiceCloud': 'OracleServiceCloudLinkedService', 'Paypal': 'PaypalLinkedService', 'Phoenix': 'PhoenixLinkedService', 'PostgreSql': 'PostgreSQLLinkedService', 'Presto': 'PrestoLinkedService', 'QuickBooks': 'QuickBooksLinkedService', 'Responsys': 'ResponsysLinkedService', 'RestService': 'RestServiceLinkedService', 'Salesforce': 'SalesforceLinkedService', 'SalesforceMarketingCloud': 'SalesforceMarketingCloudLinkedService', 'SalesforceServiceCloud': 'SalesforceServiceCloudLinkedService', 'SapBW': 'SapBwLinkedService', 'SapCloudForCustomer': 'SapCloudForCustomerLinkedService', 'SapEcc': 'SapEccLinkedService', 'SapHana': 'SapHanaLinkedService', 'SapOpenHub': 'SapOpenHubLinkedService', 'SapTable': 'SapTableLinkedService', 'ServiceNow': 'ServiceNowLinkedService', 'Sftp': 'SftpServerLinkedService', 'SharePointOnlineList': 'SharePointOnlineListLinkedService', 'Shopify': 'ShopifyLinkedService', 'Snowflake': 'SnowflakeLinkedService', 'Spark': 'SparkLinkedService', 'SqlServer': 'SQLServerLinkedService', 'Square': 'SquareLinkedService', 'Sybase': 'SybaseLinkedService', 'Teradata': 'TeradataLinkedService', 'Vertica': 'VerticaLinkedService', 'Web': 'WebLinkedService', 'Xero': 'XeroLinkedService', 'Zoho': 'ZohoLinkedService'} + 'type': {'AmazonMWS': 'AmazonMwsLinkedService', 'AmazonRedshift': 'AmazonRedshiftLinkedService', 'AmazonS3': 'AmazonS3LinkedService', 'AmazonS3Compatible': 'AmazonS3CompatibleLinkedService', 'AzureBatch': 'AzureBatchLinkedService', 'AzureBlobFS': 'AzureBlobFsLinkedService', 'AzureBlobStorage': 'AzureBlobStorageLinkedService', 'AzureDataExplorer': 'AzureDataExplorerLinkedService', 'AzureDataLakeAnalytics': 'AzureDataLakeAnalyticsLinkedService', 'AzureDataLakeStore': 'AzureDataLakeStoreLinkedService', 'AzureDatabricks': 'AzureDatabricksLinkedService', 'AzureDatabricksDeltaLake': 'AzureDatabricksDeltaLakeLinkedService', 'AzureFileStorage': 'AzureFileStorageLinkedService', 'AzureFunction': 'AzureFunctionLinkedService', 'AzureKeyVault': 'AzureKeyVaultLinkedService', 'AzureML': 'AzureMlLinkedService', 'AzureMLService': 'AzureMlServiceLinkedService', 'AzureMariaDB': 'AzureMariaDbLinkedService', 'AzureMySql': 'AzureMySqlLinkedService', 'AzurePostgreSql': 'AzurePostgreSqlLinkedService', 'AzureSearch': 'AzureSearchLinkedService', 'AzureSqlDW': 'AzureSqlDwLinkedService', 'AzureSqlDatabase': 'AzureSqlDatabaseLinkedService', 'AzureSqlMI': 'AzureSqlMiLinkedService', 'AzureStorage': 'AzureStorageLinkedService', 'AzureTableStorage': 'AzureTableStorageLinkedService', 'Cassandra': 'CassandraLinkedService', 'CommonDataServiceForApps': 'CommonDataServiceForAppsLinkedService', 'Concur': 'ConcurLinkedService', 'CosmosDb': 'CosmosDbLinkedService', 'CosmosDbMongoDbApi': 'CosmosDbMongoDbApiLinkedService', 'Couchbase': 'CouchbaseLinkedService', 'CustomDataSource': 'CustomDataSourceLinkedService', 'Db2': 'Db2LinkedService', 'Drill': 'DrillLinkedService', 'Dynamics': 'DynamicsLinkedService', 'DynamicsAX': 'DynamicsAxLinkedService', 'DynamicsCrm': 'DynamicsCrmLinkedService', 'Eloqua': 'EloquaLinkedService', 'FileServer': 'FileServerLinkedService', 'FtpServer': 'FtpServerLinkedService', 'GoogleAdWords': 'GoogleAdWordsLinkedService', 'GoogleBigQuery': 'GoogleBigQueryLinkedService', 'GoogleCloudStorage': 'GoogleCloudStorageLinkedService', 'Greenplum': 'GreenplumLinkedService', 'HBase': 'HBaseLinkedService', 'HDInsight': 'HdInsightLinkedService', 'HDInsightOnDemand': 'HdInsightOnDemandLinkedService', 'Hdfs': 'HdfsLinkedService', 'Hive': 'HiveLinkedService', 'HttpServer': 'HttpLinkedService', 'Hubspot': 'HubspotLinkedService', 'Impala': 'ImpalaLinkedService', 'Informix': 'InformixLinkedService', 'Jira': 'JiraLinkedService', 'Magento': 'MagentoLinkedService', 'MariaDB': 'MariaDbLinkedService', 'Marketo': 'MarketoLinkedService', 'MicrosoftAccess': 'MicrosoftAccessLinkedService', 'MongoDb': 'MongoDbLinkedService', 'MongoDbAtlas': 'MongoDbAtlasLinkedService', 'MongoDbV2': 'MongoDbV2LinkedService', 'MySql': 'MySqlLinkedService', 'Netezza': 'NetezzaLinkedService', 'OData': 'ODataLinkedService', 'Odbc': 'OdbcLinkedService', 'Office365': 'Office365LinkedService', 'Oracle': 'OracleLinkedService', 'OracleCloudStorage': 'OracleCloudStorageLinkedService', 'OracleServiceCloud': 'OracleServiceCloudLinkedService', 'Paypal': 'PaypalLinkedService', 'Phoenix': 'PhoenixLinkedService', 'PostgreSql': 'PostgreSqlLinkedService', 'Presto': 'PrestoLinkedService', 'QuickBooks': 'QuickBooksLinkedService', 'Responsys': 'ResponsysLinkedService', 'RestService': 'RestServiceLinkedService', 'Salesforce': 'SalesforceLinkedService', 'SalesforceMarketingCloud': 'SalesforceMarketingCloudLinkedService', 'SalesforceServiceCloud': 'SalesforceServiceCloudLinkedService', 'SapBW': 'SapBwLinkedService', 'SapCloudForCustomer': 'SapCloudForCustomerLinkedService', 'SapEcc': 'SapEccLinkedService', 'SapHana': 'SapHanaLinkedService', 'SapOpenHub': 'SapOpenHubLinkedService', 'SapTable': 'SapTableLinkedService', 'ServiceNow': 'ServiceNowLinkedService', 'Sftp': 'SftpServerLinkedService', 'SharePointOnlineList': 'SharePointOnlineListLinkedService', 'Shopify': 'ShopifyLinkedService', 'Snowflake': 'SnowflakeLinkedService', 'Spark': 'SparkLinkedService', 'SqlServer': 'SqlServerLinkedService', 'Square': 'SquareLinkedService', 'Sybase': 'SybaseLinkedService', 'Teradata': 'TeradataLinkedService', 'Vertica': 'VerticaLinkedService', 'Web': 'WebLinkedService', 'Xero': 'XeroLinkedService', 'Zoho': 'ZohoLinkedService'} } def __init__( @@ -489,7 +489,7 @@ class Dataset(msrest.serialization.Model): """The Azure Data Factory nested object which identifies data within different data stores, such as tables, files, folders, and documents. You probably want to use the sub-classes and not this class directly. Known - sub-classes are: AmazonMwsObjectDataset, AmazonRedshiftTableDataset, AmazonS3Dataset, AvroDataset, AzureBlobDataset, AzureBlobFsDataset, AzureDataExplorerTableDataset, AzureDataLakeStoreDataset, AzureMariaDBTableDataset, AzureMySQLTableDataset, AzurePostgreSQLTableDataset, AzureSearchIndexDataset, AzureSQLDWTableDataset, AzureSQLMiTableDataset, AzureSQLTableDataset, AzureTableDataset, BinaryDataset, CassandraTableDataset, CommonDataServiceForAppsEntityDataset, ConcurObjectDataset, CosmosDBMongoDBApiCollectionDataset, CosmosDBSQLApiCollectionDataset, CouchbaseTableDataset, CustomDataset, Db2TableDataset, DelimitedTextDataset, DocumentDBCollectionDataset, DrillTableDataset, DynamicsAxResourceDataset, DynamicsCrmEntityDataset, DynamicsEntityDataset, EloquaObjectDataset, ExcelDataset, FileShareDataset, GoogleAdWordsObjectDataset, GoogleBigQueryObjectDataset, GreenplumTableDataset, HBaseObjectDataset, HiveObjectDataset, HttpDataset, HubspotObjectDataset, ImpalaObjectDataset, InformixTableDataset, JiraObjectDataset, JsonDataset, MagentoObjectDataset, MariaDBTableDataset, MarketoObjectDataset, MicrosoftAccessTableDataset, MongoDBCollectionDataset, MongoDBV2CollectionDataset, MySQLTableDataset, NetezzaTableDataset, ODataResourceDataset, OdbcTableDataset, Office365Dataset, OracleServiceCloudObjectDataset, OracleTableDataset, OrcDataset, ParquetDataset, PaypalObjectDataset, PhoenixObjectDataset, PostgreSQLTableDataset, PrestoObjectDataset, QuickBooksObjectDataset, RelationalTableDataset, ResponsysObjectDataset, RestResourceDataset, SalesforceMarketingCloudObjectDataset, SalesforceObjectDataset, SalesforceServiceCloudObjectDataset, SapBwCubeDataset, SapCloudForCustomerResourceDataset, SapEccResourceDataset, SapHanaTableDataset, SapOpenHubTableDataset, SapTableResourceDataset, ServiceNowObjectDataset, SharePointOnlineListResourceDataset, ShopifyObjectDataset, SnowflakeDataset, SparkObjectDataset, SQLServerTableDataset, SquareObjectDataset, SybaseTableDataset, TeradataTableDataset, VerticaTableDataset, WebTableDataset, XeroObjectDataset, XmlDataset, ZohoObjectDataset. + sub-classes are: AmazonMwsObjectDataset, AmazonRedshiftTableDataset, AmazonS3Dataset, AvroDataset, AzureBlobDataset, AzureBlobFsDataset, AzureDataExplorerTableDataset, AzureDataLakeStoreDataset, AzureDatabricksDeltaLakeDataset, AzureMariaDbTableDataset, AzureMySqlTableDataset, AzurePostgreSqlTableDataset, AzureSearchIndexDataset, AzureSqlDwTableDataset, AzureSqlMiTableDataset, AzureSqlTableDataset, AzureTableDataset, BinaryDataset, CassandraTableDataset, CommonDataServiceForAppsEntityDataset, ConcurObjectDataset, CosmosDbMongoDbApiCollectionDataset, CosmosDbSqlApiCollectionDataset, CouchbaseTableDataset, CustomDataset, Db2TableDataset, DelimitedTextDataset, DocumentDbCollectionDataset, DrillTableDataset, DynamicsAxResourceDataset, DynamicsCrmEntityDataset, DynamicsEntityDataset, EloquaObjectDataset, ExcelDataset, FileShareDataset, GoogleAdWordsObjectDataset, GoogleBigQueryObjectDataset, GreenplumTableDataset, HBaseObjectDataset, HiveObjectDataset, HttpDataset, HubspotObjectDataset, ImpalaObjectDataset, InformixTableDataset, JiraObjectDataset, JsonDataset, MagentoObjectDataset, MariaDbTableDataset, MarketoObjectDataset, MicrosoftAccessTableDataset, MongoDbAtlasCollectionDataset, MongoDbCollectionDataset, MongoDbV2CollectionDataset, MySqlTableDataset, NetezzaTableDataset, ODataResourceDataset, OdbcTableDataset, Office365Dataset, OracleServiceCloudObjectDataset, OracleTableDataset, OrcDataset, ParquetDataset, PaypalObjectDataset, PhoenixObjectDataset, PostgreSqlTableDataset, PrestoObjectDataset, QuickBooksObjectDataset, RelationalTableDataset, ResponsysObjectDataset, RestResourceDataset, SalesforceMarketingCloudObjectDataset, SalesforceObjectDataset, SalesforceServiceCloudObjectDataset, SapBwCubeDataset, SapCloudForCustomerResourceDataset, SapEccResourceDataset, SapHanaTableDataset, SapOpenHubTableDataset, SapTableResourceDataset, ServiceNowObjectDataset, SharePointOnlineListResourceDataset, ShopifyObjectDataset, SnowflakeDataset, SparkObjectDataset, SqlServerTableDataset, SquareObjectDataset, SybaseTableDataset, TeradataTableDataset, VerticaTableDataset, WebTableDataset, XeroObjectDataset, XmlDataset, ZohoObjectDataset. All required parameters must be populated in order to send to Azure. @@ -535,7 +535,7 @@ class Dataset(msrest.serialization.Model): } _subtype_map = { - 'type': {'AmazonMWSObject': 'AmazonMwsObjectDataset', 'AmazonRedshiftTable': 'AmazonRedshiftTableDataset', 'AmazonS3Object': 'AmazonS3Dataset', 'Avro': 'AvroDataset', 'AzureBlob': 'AzureBlobDataset', 'AzureBlobFSFile': 'AzureBlobFsDataset', 'AzureDataExplorerTable': 'AzureDataExplorerTableDataset', 'AzureDataLakeStoreFile': 'AzureDataLakeStoreDataset', 'AzureMariaDBTable': 'AzureMariaDBTableDataset', 'AzureMySqlTable': 'AzureMySQLTableDataset', 'AzurePostgreSqlTable': 'AzurePostgreSQLTableDataset', 'AzureSearchIndex': 'AzureSearchIndexDataset', 'AzureSqlDWTable': 'AzureSQLDWTableDataset', 'AzureSqlMITable': 'AzureSQLMiTableDataset', 'AzureSqlTable': 'AzureSQLTableDataset', 'AzureTable': 'AzureTableDataset', 'Binary': 'BinaryDataset', 'CassandraTable': 'CassandraTableDataset', 'CommonDataServiceForAppsEntity': 'CommonDataServiceForAppsEntityDataset', 'ConcurObject': 'ConcurObjectDataset', 'CosmosDbMongoDbApiCollection': 'CosmosDBMongoDBApiCollectionDataset', 'CosmosDbSqlApiCollection': 'CosmosDBSQLApiCollectionDataset', 'CouchbaseTable': 'CouchbaseTableDataset', 'CustomDataset': 'CustomDataset', 'Db2Table': 'Db2TableDataset', 'DelimitedText': 'DelimitedTextDataset', 'DocumentDbCollection': 'DocumentDBCollectionDataset', 'DrillTable': 'DrillTableDataset', 'DynamicsAXResource': 'DynamicsAxResourceDataset', 'DynamicsCrmEntity': 'DynamicsCrmEntityDataset', 'DynamicsEntity': 'DynamicsEntityDataset', 'EloquaObject': 'EloquaObjectDataset', 'Excel': 'ExcelDataset', 'FileShare': 'FileShareDataset', 'GoogleAdWordsObject': 'GoogleAdWordsObjectDataset', 'GoogleBigQueryObject': 'GoogleBigQueryObjectDataset', 'GreenplumTable': 'GreenplumTableDataset', 'HBaseObject': 'HBaseObjectDataset', 'HiveObject': 'HiveObjectDataset', 'HttpFile': 'HttpDataset', 'HubspotObject': 'HubspotObjectDataset', 'ImpalaObject': 'ImpalaObjectDataset', 'InformixTable': 'InformixTableDataset', 'JiraObject': 'JiraObjectDataset', 'Json': 'JsonDataset', 'MagentoObject': 'MagentoObjectDataset', 'MariaDBTable': 'MariaDBTableDataset', 'MarketoObject': 'MarketoObjectDataset', 'MicrosoftAccessTable': 'MicrosoftAccessTableDataset', 'MongoDbCollection': 'MongoDBCollectionDataset', 'MongoDbV2Collection': 'MongoDBV2CollectionDataset', 'MySqlTable': 'MySQLTableDataset', 'NetezzaTable': 'NetezzaTableDataset', 'ODataResource': 'ODataResourceDataset', 'OdbcTable': 'OdbcTableDataset', 'Office365Table': 'Office365Dataset', 'OracleServiceCloudObject': 'OracleServiceCloudObjectDataset', 'OracleTable': 'OracleTableDataset', 'Orc': 'OrcDataset', 'Parquet': 'ParquetDataset', 'PaypalObject': 'PaypalObjectDataset', 'PhoenixObject': 'PhoenixObjectDataset', 'PostgreSqlTable': 'PostgreSQLTableDataset', 'PrestoObject': 'PrestoObjectDataset', 'QuickBooksObject': 'QuickBooksObjectDataset', 'RelationalTable': 'RelationalTableDataset', 'ResponsysObject': 'ResponsysObjectDataset', 'RestResource': 'RestResourceDataset', 'SalesforceMarketingCloudObject': 'SalesforceMarketingCloudObjectDataset', 'SalesforceObject': 'SalesforceObjectDataset', 'SalesforceServiceCloudObject': 'SalesforceServiceCloudObjectDataset', 'SapBwCube': 'SapBwCubeDataset', 'SapCloudForCustomerResource': 'SapCloudForCustomerResourceDataset', 'SapEccResource': 'SapEccResourceDataset', 'SapHanaTable': 'SapHanaTableDataset', 'SapOpenHubTable': 'SapOpenHubTableDataset', 'SapTableResource': 'SapTableResourceDataset', 'ServiceNowObject': 'ServiceNowObjectDataset', 'SharePointOnlineListResource': 'SharePointOnlineListResourceDataset', 'ShopifyObject': 'ShopifyObjectDataset', 'SnowflakeTable': 'SnowflakeDataset', 'SparkObject': 'SparkObjectDataset', 'SqlServerTable': 'SQLServerTableDataset', 'SquareObject': 'SquareObjectDataset', 'SybaseTable': 'SybaseTableDataset', 'TeradataTable': 'TeradataTableDataset', 'VerticaTable': 'VerticaTableDataset', 'WebTable': 'WebTableDataset', 'XeroObject': 'XeroObjectDataset', 'Xml': 'XmlDataset', 'ZohoObject': 'ZohoObjectDataset'} + 'type': {'AmazonMWSObject': 'AmazonMwsObjectDataset', 'AmazonRedshiftTable': 'AmazonRedshiftTableDataset', 'AmazonS3Object': 'AmazonS3Dataset', 'Avro': 'AvroDataset', 'AzureBlob': 'AzureBlobDataset', 'AzureBlobFSFile': 'AzureBlobFsDataset', 'AzureDataExplorerTable': 'AzureDataExplorerTableDataset', 'AzureDataLakeStoreFile': 'AzureDataLakeStoreDataset', 'AzureDatabricksDeltaLakeDataset': 'AzureDatabricksDeltaLakeDataset', 'AzureMariaDBTable': 'AzureMariaDbTableDataset', 'AzureMySqlTable': 'AzureMySqlTableDataset', 'AzurePostgreSqlTable': 'AzurePostgreSqlTableDataset', 'AzureSearchIndex': 'AzureSearchIndexDataset', 'AzureSqlDWTable': 'AzureSqlDwTableDataset', 'AzureSqlMITable': 'AzureSqlMiTableDataset', 'AzureSqlTable': 'AzureSqlTableDataset', 'AzureTable': 'AzureTableDataset', 'Binary': 'BinaryDataset', 'CassandraTable': 'CassandraTableDataset', 'CommonDataServiceForAppsEntity': 'CommonDataServiceForAppsEntityDataset', 'ConcurObject': 'ConcurObjectDataset', 'CosmosDbMongoDbApiCollection': 'CosmosDbMongoDbApiCollectionDataset', 'CosmosDbSqlApiCollection': 'CosmosDbSqlApiCollectionDataset', 'CouchbaseTable': 'CouchbaseTableDataset', 'CustomDataset': 'CustomDataset', 'Db2Table': 'Db2TableDataset', 'DelimitedText': 'DelimitedTextDataset', 'DocumentDbCollection': 'DocumentDbCollectionDataset', 'DrillTable': 'DrillTableDataset', 'DynamicsAXResource': 'DynamicsAxResourceDataset', 'DynamicsCrmEntity': 'DynamicsCrmEntityDataset', 'DynamicsEntity': 'DynamicsEntityDataset', 'EloquaObject': 'EloquaObjectDataset', 'Excel': 'ExcelDataset', 'FileShare': 'FileShareDataset', 'GoogleAdWordsObject': 'GoogleAdWordsObjectDataset', 'GoogleBigQueryObject': 'GoogleBigQueryObjectDataset', 'GreenplumTable': 'GreenplumTableDataset', 'HBaseObject': 'HBaseObjectDataset', 'HiveObject': 'HiveObjectDataset', 'HttpFile': 'HttpDataset', 'HubspotObject': 'HubspotObjectDataset', 'ImpalaObject': 'ImpalaObjectDataset', 'InformixTable': 'InformixTableDataset', 'JiraObject': 'JiraObjectDataset', 'Json': 'JsonDataset', 'MagentoObject': 'MagentoObjectDataset', 'MariaDBTable': 'MariaDbTableDataset', 'MarketoObject': 'MarketoObjectDataset', 'MicrosoftAccessTable': 'MicrosoftAccessTableDataset', 'MongoDbAtlasCollection': 'MongoDbAtlasCollectionDataset', 'MongoDbCollection': 'MongoDbCollectionDataset', 'MongoDbV2Collection': 'MongoDbV2CollectionDataset', 'MySqlTable': 'MySqlTableDataset', 'NetezzaTable': 'NetezzaTableDataset', 'ODataResource': 'ODataResourceDataset', 'OdbcTable': 'OdbcTableDataset', 'Office365Table': 'Office365Dataset', 'OracleServiceCloudObject': 'OracleServiceCloudObjectDataset', 'OracleTable': 'OracleTableDataset', 'Orc': 'OrcDataset', 'Parquet': 'ParquetDataset', 'PaypalObject': 'PaypalObjectDataset', 'PhoenixObject': 'PhoenixObjectDataset', 'PostgreSqlTable': 'PostgreSqlTableDataset', 'PrestoObject': 'PrestoObjectDataset', 'QuickBooksObject': 'QuickBooksObjectDataset', 'RelationalTable': 'RelationalTableDataset', 'ResponsysObject': 'ResponsysObjectDataset', 'RestResource': 'RestResourceDataset', 'SalesforceMarketingCloudObject': 'SalesforceMarketingCloudObjectDataset', 'SalesforceObject': 'SalesforceObjectDataset', 'SalesforceServiceCloudObject': 'SalesforceServiceCloudObjectDataset', 'SapBwCube': 'SapBwCubeDataset', 'SapCloudForCustomerResource': 'SapCloudForCustomerResourceDataset', 'SapEccResource': 'SapEccResourceDataset', 'SapHanaTable': 'SapHanaTableDataset', 'SapOpenHubTable': 'SapOpenHubTableDataset', 'SapTableResource': 'SapTableResourceDataset', 'ServiceNowObject': 'ServiceNowObjectDataset', 'SharePointOnlineListResource': 'SharePointOnlineListResourceDataset', 'ShopifyObject': 'ShopifyObjectDataset', 'SnowflakeTable': 'SnowflakeDataset', 'SparkObject': 'SparkObjectDataset', 'SqlServerTable': 'SqlServerTableDataset', 'SquareObject': 'SquareObjectDataset', 'SybaseTable': 'SybaseTableDataset', 'TeradataTable': 'TeradataTableDataset', 'VerticaTable': 'VerticaTableDataset', 'WebTable': 'WebTableDataset', 'XeroObject': 'XeroObjectDataset', 'Xml': 'XmlDataset', 'ZohoObject': 'ZohoObjectDataset'} } def __init__( @@ -616,7 +616,7 @@ class CopySource(msrest.serialization.Model): """A copy activity source. You probably want to use the sub-classes and not this class directly. Known - sub-classes are: AvroSource, AzureBlobFsSource, AzureDataExplorerSource, AzureDataLakeStoreSource, BinarySource, BlobSource, CommonDataServiceForAppsSource, CosmosDBMongoDBApiSource, CosmosDBSQLApiSource, DelimitedTextSource, DocumentDBCollectionSource, DynamicsCrmSource, DynamicsSource, ExcelSource, FileSystemSource, HdfsSource, HttpSource, JsonSource, MicrosoftAccessSource, MongoDBSource, MongoDBV2Source, ODataSource, Office365Source, OracleSource, OrcSource, ParquetSource, RelationalSource, RestSource, SalesforceServiceCloudSource, SharePointOnlineListSource, SnowflakeSource, TabularSource, WebSource, XmlSource. + sub-classes are: AvroSource, AzureBlobFsSource, AzureDataExplorerSource, AzureDataLakeStoreSource, AzureDatabricksDeltaLakeSource, BinarySource, BlobSource, CommonDataServiceForAppsSource, CosmosDbMongoDbApiSource, CosmosDbSqlApiSource, DelimitedTextSource, DocumentDbCollectionSource, DynamicsCrmSource, DynamicsSource, ExcelSource, FileSystemSource, HdfsSource, HttpSource, JsonSource, MicrosoftAccessSource, MongoDbAtlasSource, MongoDbSource, MongoDbV2Source, ODataSource, Office365Source, OracleSource, OrcSource, ParquetSource, RelationalSource, RestSource, SalesforceServiceCloudSource, SharePointOnlineListSource, SnowflakeSource, TabularSource, WebSource, XmlSource. All required parameters must be populated in order to send to Azure. @@ -649,7 +649,7 @@ class CopySource(msrest.serialization.Model): } _subtype_map = { - 'type': {'AvroSource': 'AvroSource', 'AzureBlobFSSource': 'AzureBlobFsSource', 'AzureDataExplorerSource': 'AzureDataExplorerSource', 'AzureDataLakeStoreSource': 'AzureDataLakeStoreSource', 'BinarySource': 'BinarySource', 'BlobSource': 'BlobSource', 'CommonDataServiceForAppsSource': 'CommonDataServiceForAppsSource', 'CosmosDbMongoDbApiSource': 'CosmosDBMongoDBApiSource', 'CosmosDbSqlApiSource': 'CosmosDBSQLApiSource', 'DelimitedTextSource': 'DelimitedTextSource', 'DocumentDbCollectionSource': 'DocumentDBCollectionSource', 'DynamicsCrmSource': 'DynamicsCrmSource', 'DynamicsSource': 'DynamicsSource', 'ExcelSource': 'ExcelSource', 'FileSystemSource': 'FileSystemSource', 'HdfsSource': 'HdfsSource', 'HttpSource': 'HttpSource', 'JsonSource': 'JsonSource', 'MicrosoftAccessSource': 'MicrosoftAccessSource', 'MongoDbSource': 'MongoDBSource', 'MongoDbV2Source': 'MongoDBV2Source', 'ODataSource': 'ODataSource', 'Office365Source': 'Office365Source', 'OracleSource': 'OracleSource', 'OrcSource': 'OrcSource', 'ParquetSource': 'ParquetSource', 'RelationalSource': 'RelationalSource', 'RestSource': 'RestSource', 'SalesforceServiceCloudSource': 'SalesforceServiceCloudSource', 'SharePointOnlineListSource': 'SharePointOnlineListSource', 'SnowflakeSource': 'SnowflakeSource', 'TabularSource': 'TabularSource', 'WebSource': 'WebSource', 'XmlSource': 'XmlSource'} + 'type': {'AvroSource': 'AvroSource', 'AzureBlobFSSource': 'AzureBlobFsSource', 'AzureDataExplorerSource': 'AzureDataExplorerSource', 'AzureDataLakeStoreSource': 'AzureDataLakeStoreSource', 'AzureDatabricksDeltaLakeSource': 'AzureDatabricksDeltaLakeSource', 'BinarySource': 'BinarySource', 'BlobSource': 'BlobSource', 'CommonDataServiceForAppsSource': 'CommonDataServiceForAppsSource', 'CosmosDbMongoDbApiSource': 'CosmosDbMongoDbApiSource', 'CosmosDbSqlApiSource': 'CosmosDbSqlApiSource', 'DelimitedTextSource': 'DelimitedTextSource', 'DocumentDbCollectionSource': 'DocumentDbCollectionSource', 'DynamicsCrmSource': 'DynamicsCrmSource', 'DynamicsSource': 'DynamicsSource', 'ExcelSource': 'ExcelSource', 'FileSystemSource': 'FileSystemSource', 'HdfsSource': 'HdfsSource', 'HttpSource': 'HttpSource', 'JsonSource': 'JsonSource', 'MicrosoftAccessSource': 'MicrosoftAccessSource', 'MongoDbAtlasSource': 'MongoDbAtlasSource', 'MongoDbSource': 'MongoDbSource', 'MongoDbV2Source': 'MongoDbV2Source', 'ODataSource': 'ODataSource', 'Office365Source': 'Office365Source', 'OracleSource': 'OracleSource', 'OrcSource': 'OrcSource', 'ParquetSource': 'ParquetSource', 'RelationalSource': 'RelationalSource', 'RestSource': 'RestSource', 'SalesforceServiceCloudSource': 'SalesforceServiceCloudSource', 'SharePointOnlineListSource': 'SharePointOnlineListSource', 'SnowflakeSource': 'SnowflakeSource', 'TabularSource': 'TabularSource', 'WebSource': 'WebSource', 'XmlSource': 'XmlSource'} } def __init__( @@ -668,7 +668,7 @@ class TabularSource(CopySource): """Copy activity sources of tabular type. You probably want to use the sub-classes and not this class directly. Known - sub-classes are: AmazonMwsSource, AmazonRedshiftSource, AzureMariaDBSource, AzureMySQLSource, AzurePostgreSQLSource, AzureSQLSource, AzureTableSource, CassandraSource, ConcurSource, CouchbaseSource, Db2Source, DrillSource, DynamicsAxSource, EloquaSource, GoogleAdWordsSource, GoogleBigQuerySource, GreenplumSource, HBaseSource, HiveSource, HubspotSource, ImpalaSource, InformixSource, JiraSource, MagentoSource, MariaDBSource, MarketoSource, MySQLSource, NetezzaSource, OdbcSource, OracleServiceCloudSource, PaypalSource, PhoenixSource, PostgreSQLSource, PrestoSource, QuickBooksSource, ResponsysSource, SalesforceMarketingCloudSource, SalesforceSource, SapBwSource, SapCloudForCustomerSource, SapEccSource, SapHanaSource, SapOpenHubSource, SapTableSource, ServiceNowSource, ShopifySource, SparkSource, SQLDWSource, SQLMiSource, SQLServerSource, SQLSource, SquareSource, SybaseSource, TeradataSource, VerticaSource, XeroSource, ZohoSource. + sub-classes are: AmazonMwsSource, AmazonRedshiftSource, AzureMariaDbSource, AzureMySqlSource, AzurePostgreSqlSource, AzureSqlSource, AzureTableSource, CassandraSource, ConcurSource, CouchbaseSource, Db2Source, DrillSource, DynamicsAxSource, EloquaSource, GoogleAdWordsSource, GoogleBigQuerySource, GreenplumSource, HBaseSource, HiveSource, HubspotSource, ImpalaSource, InformixSource, JiraSource, MagentoSource, MariaDbSource, MarketoSource, MySqlSource, NetezzaSource, OdbcSource, OracleServiceCloudSource, PaypalSource, PhoenixSource, PostgreSqlSource, PrestoSource, QuickBooksSource, ResponsysSource, SalesforceMarketingCloudSource, SalesforceSource, SapBwSource, SapCloudForCustomerSource, SapEccSource, SapHanaSource, SapOpenHubSource, SapTableSource, ServiceNowSource, ShopifySource, SparkSource, SqlDwSource, SqlMiSource, SqlServerSource, SqlSource, SquareSource, SybaseSource, TeradataSource, VerticaSource, XeroSource, ZohoSource. All required parameters must be populated in order to send to Azure. @@ -709,7 +709,7 @@ class TabularSource(CopySource): } _subtype_map = { - 'type': {'AmazonMWSSource': 'AmazonMwsSource', 'AmazonRedshiftSource': 'AmazonRedshiftSource', 'AzureMariaDBSource': 'AzureMariaDBSource', 'AzureMySqlSource': 'AzureMySQLSource', 'AzurePostgreSqlSource': 'AzurePostgreSQLSource', 'AzureSqlSource': 'AzureSQLSource', 'AzureTableSource': 'AzureTableSource', 'CassandraSource': 'CassandraSource', 'ConcurSource': 'ConcurSource', 'CouchbaseSource': 'CouchbaseSource', 'Db2Source': 'Db2Source', 'DrillSource': 'DrillSource', 'DynamicsAXSource': 'DynamicsAxSource', 'EloquaSource': 'EloquaSource', 'GoogleAdWordsSource': 'GoogleAdWordsSource', 'GoogleBigQuerySource': 'GoogleBigQuerySource', 'GreenplumSource': 'GreenplumSource', 'HBaseSource': 'HBaseSource', 'HiveSource': 'HiveSource', 'HubspotSource': 'HubspotSource', 'ImpalaSource': 'ImpalaSource', 'InformixSource': 'InformixSource', 'JiraSource': 'JiraSource', 'MagentoSource': 'MagentoSource', 'MariaDBSource': 'MariaDBSource', 'MarketoSource': 'MarketoSource', 'MySqlSource': 'MySQLSource', 'NetezzaSource': 'NetezzaSource', 'OdbcSource': 'OdbcSource', 'OracleServiceCloudSource': 'OracleServiceCloudSource', 'PaypalSource': 'PaypalSource', 'PhoenixSource': 'PhoenixSource', 'PostgreSqlSource': 'PostgreSQLSource', 'PrestoSource': 'PrestoSource', 'QuickBooksSource': 'QuickBooksSource', 'ResponsysSource': 'ResponsysSource', 'SalesforceMarketingCloudSource': 'SalesforceMarketingCloudSource', 'SalesforceSource': 'SalesforceSource', 'SapBwSource': 'SapBwSource', 'SapCloudForCustomerSource': 'SapCloudForCustomerSource', 'SapEccSource': 'SapEccSource', 'SapHanaSource': 'SapHanaSource', 'SapOpenHubSource': 'SapOpenHubSource', 'SapTableSource': 'SapTableSource', 'ServiceNowSource': 'ServiceNowSource', 'ShopifySource': 'ShopifySource', 'SparkSource': 'SparkSource', 'SqlDWSource': 'SQLDWSource', 'SqlMISource': 'SQLMiSource', 'SqlServerSource': 'SQLServerSource', 'SqlSource': 'SQLSource', 'SquareSource': 'SquareSource', 'SybaseSource': 'SybaseSource', 'TeradataSource': 'TeradataSource', 'VerticaSource': 'VerticaSource', 'XeroSource': 'XeroSource', 'ZohoSource': 'ZohoSource'} + 'type': {'AmazonMWSSource': 'AmazonMwsSource', 'AmazonRedshiftSource': 'AmazonRedshiftSource', 'AzureMariaDBSource': 'AzureMariaDbSource', 'AzureMySqlSource': 'AzureMySqlSource', 'AzurePostgreSqlSource': 'AzurePostgreSqlSource', 'AzureSqlSource': 'AzureSqlSource', 'AzureTableSource': 'AzureTableSource', 'CassandraSource': 'CassandraSource', 'ConcurSource': 'ConcurSource', 'CouchbaseSource': 'CouchbaseSource', 'Db2Source': 'Db2Source', 'DrillSource': 'DrillSource', 'DynamicsAXSource': 'DynamicsAxSource', 'EloquaSource': 'EloquaSource', 'GoogleAdWordsSource': 'GoogleAdWordsSource', 'GoogleBigQuerySource': 'GoogleBigQuerySource', 'GreenplumSource': 'GreenplumSource', 'HBaseSource': 'HBaseSource', 'HiveSource': 'HiveSource', 'HubspotSource': 'HubspotSource', 'ImpalaSource': 'ImpalaSource', 'InformixSource': 'InformixSource', 'JiraSource': 'JiraSource', 'MagentoSource': 'MagentoSource', 'MariaDBSource': 'MariaDbSource', 'MarketoSource': 'MarketoSource', 'MySqlSource': 'MySqlSource', 'NetezzaSource': 'NetezzaSource', 'OdbcSource': 'OdbcSource', 'OracleServiceCloudSource': 'OracleServiceCloudSource', 'PaypalSource': 'PaypalSource', 'PhoenixSource': 'PhoenixSource', 'PostgreSqlSource': 'PostgreSqlSource', 'PrestoSource': 'PrestoSource', 'QuickBooksSource': 'QuickBooksSource', 'ResponsysSource': 'ResponsysSource', 'SalesforceMarketingCloudSource': 'SalesforceMarketingCloudSource', 'SalesforceSource': 'SalesforceSource', 'SapBwSource': 'SapBwSource', 'SapCloudForCustomerSource': 'SapCloudForCustomerSource', 'SapEccSource': 'SapEccSource', 'SapHanaSource': 'SapHanaSource', 'SapOpenHubSource': 'SapOpenHubSource', 'SapTableSource': 'SapTableSource', 'ServiceNowSource': 'ServiceNowSource', 'ShopifySource': 'ShopifySource', 'SparkSource': 'SparkSource', 'SqlDWSource': 'SqlDwSource', 'SqlMISource': 'SqlMiSource', 'SqlServerSource': 'SqlServerSource', 'SqlSource': 'SqlSource', 'SquareSource': 'SquareSource', 'SybaseSource': 'SybaseSource', 'TeradataSource': 'TeradataSource', 'VerticaSource': 'VerticaSource', 'XeroSource': 'XeroSource', 'ZohoSource': 'ZohoSource'} } def __init__( @@ -977,6 +977,294 @@ def __init__( self.schema_type_properties_schema = kwargs.get('schema_type_properties_schema', None) +class AmazonS3CompatibleLinkedService(LinkedService): + """Linked service for Amazon S3 Compatible. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~data_factory_management_client.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~data_factory_management_client.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param access_key_id: The access key identifier of the Amazon S3 Compatible Identity and Access + Management (IAM) user. Type: string (or Expression with resultType string). + :type access_key_id: object + :param secret_access_key: The secret access key of the Amazon S3 Compatible Identity and Access + Management (IAM) user. + :type secret_access_key: ~data_factory_management_client.models.SecretBase + :param service_url: This value specifies the endpoint to access with the Amazon S3 Compatible + Connector. This is an optional property; change it only if you want to try a different service + endpoint or want to switch between https and http. Type: string (or Expression with resultType + string). + :type service_url: object + :param force_path_style: If true, use S3 path-style access instead of virtual hosted-style + access. Default value is false. Type: boolean (or Expression with resultType boolean). + :type force_path_style: object + :param encrypted_credential: The encrypted credential used for authentication. Credentials are + encrypted using the integration runtime credential manager. Type: string (or Expression with + resultType string). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'access_key_id': {'key': 'typeProperties.accessKeyId', 'type': 'object'}, + 'secret_access_key': {'key': 'typeProperties.secretAccessKey', 'type': 'SecretBase'}, + 'service_url': {'key': 'typeProperties.serviceUrl', 'type': 'object'}, + 'force_path_style': {'key': 'typeProperties.forcePathStyle', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(AmazonS3CompatibleLinkedService, self).__init__(**kwargs) + self.type = 'AmazonS3Compatible' # type: str + self.access_key_id = kwargs.get('access_key_id', None) + self.secret_access_key = kwargs.get('secret_access_key', None) + self.service_url = kwargs.get('service_url', None) + self.force_path_style = kwargs.get('force_path_style', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class DatasetLocation(msrest.serialization.Model): + """Dataset location. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: AmazonS3CompatibleLocation, AmazonS3Location, AzureBlobFsLocation, AzureBlobStorageLocation, AzureDataLakeStoreLocation, AzureFileStorageLocation, FileServerLocation, FtpServerLocation, GoogleCloudStorageLocation, HdfsLocation, HttpServerLocation, OracleCloudStorageLocation, SftpLocation. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset storage location.Constant filled by server. + :type type: str + :param folder_path: Specify the folder path of dataset. Type: string (or Expression with + resultType string). + :type folder_path: object + :param file_name: Specify the file name of dataset. Type: string (or Expression with resultType + string). + :type file_name: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'folder_path': {'key': 'folderPath', 'type': 'object'}, + 'file_name': {'key': 'fileName', 'type': 'object'}, + } + + _subtype_map = { + 'type': {'AmazonS3CompatibleLocation': 'AmazonS3CompatibleLocation', 'AmazonS3Location': 'AmazonS3Location', 'AzureBlobFSLocation': 'AzureBlobFsLocation', 'AzureBlobStorageLocation': 'AzureBlobStorageLocation', 'AzureDataLakeStoreLocation': 'AzureDataLakeStoreLocation', 'AzureFileStorageLocation': 'AzureFileStorageLocation', 'FileServerLocation': 'FileServerLocation', 'FtpServerLocation': 'FtpServerLocation', 'GoogleCloudStorageLocation': 'GoogleCloudStorageLocation', 'HdfsLocation': 'HdfsLocation', 'HttpServerLocation': 'HttpServerLocation', 'OracleCloudStorageLocation': 'OracleCloudStorageLocation', 'SftpLocation': 'SftpLocation'} + } + + def __init__( + self, + **kwargs + ): + super(DatasetLocation, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.type = 'DatasetLocation' # type: str + self.folder_path = kwargs.get('folder_path', None) + self.file_name = kwargs.get('file_name', None) + + +class AmazonS3CompatibleLocation(DatasetLocation): + """The location of Amazon S3 Compatible dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset storage location.Constant filled by server. + :type type: str + :param folder_path: Specify the folder path of dataset. Type: string (or Expression with + resultType string). + :type folder_path: object + :param file_name: Specify the file name of dataset. Type: string (or Expression with resultType + string). + :type file_name: object + :param bucket_name: Specify the bucketName of Amazon S3 Compatible. Type: string (or Expression + with resultType string). + :type bucket_name: object + :param version: Specify the version of Amazon S3 Compatible. Type: string (or Expression with + resultType string). + :type version: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'folder_path': {'key': 'folderPath', 'type': 'object'}, + 'file_name': {'key': 'fileName', 'type': 'object'}, + 'bucket_name': {'key': 'bucketName', 'type': 'object'}, + 'version': {'key': 'version', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(AmazonS3CompatibleLocation, self).__init__(**kwargs) + self.type = 'AmazonS3CompatibleLocation' # type: str + self.bucket_name = kwargs.get('bucket_name', None) + self.version = kwargs.get('version', None) + + +class StoreReadSettings(msrest.serialization.Model): + """Connector read setting. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: AmazonS3CompatibleReadSettings, AmazonS3ReadSettings, AzureBlobFsReadSettings, AzureBlobStorageReadSettings, AzureDataLakeStoreReadSettings, AzureFileStorageReadSettings, FileServerReadSettings, FtpReadSettings, GoogleCloudStorageReadSettings, HdfsReadSettings, HttpReadSettings, OracleCloudStorageReadSettings, SftpReadSettings. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. The read setting type.Constant filled by server. + :type type: str + :param max_concurrent_connections: The maximum concurrent connection count for the source data + store. Type: integer (or Expression with resultType integer). + :type max_concurrent_connections: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + } + + _subtype_map = { + 'type': {'AmazonS3CompatibleReadSettings': 'AmazonS3CompatibleReadSettings', 'AmazonS3ReadSettings': 'AmazonS3ReadSettings', 'AzureBlobFSReadSettings': 'AzureBlobFsReadSettings', 'AzureBlobStorageReadSettings': 'AzureBlobStorageReadSettings', 'AzureDataLakeStoreReadSettings': 'AzureDataLakeStoreReadSettings', 'AzureFileStorageReadSettings': 'AzureFileStorageReadSettings', 'FileServerReadSettings': 'FileServerReadSettings', 'FtpReadSettings': 'FtpReadSettings', 'GoogleCloudStorageReadSettings': 'GoogleCloudStorageReadSettings', 'HdfsReadSettings': 'HdfsReadSettings', 'HttpReadSettings': 'HttpReadSettings', 'OracleCloudStorageReadSettings': 'OracleCloudStorageReadSettings', 'SftpReadSettings': 'SftpReadSettings'} + } + + def __init__( + self, + **kwargs + ): + super(StoreReadSettings, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.type = 'StoreReadSettings' # type: str + self.max_concurrent_connections = kwargs.get('max_concurrent_connections', None) + + +class AmazonS3CompatibleReadSettings(StoreReadSettings): + """Amazon S3 Compatible read settings. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. The read setting type.Constant filled by server. + :type type: str + :param max_concurrent_connections: The maximum concurrent connection count for the source data + store. Type: integer (or Expression with resultType integer). + :type max_concurrent_connections: object + :param recursive: If true, files under the folder path will be read recursively. Default is + true. Type: boolean (or Expression with resultType boolean). + :type recursive: object + :param wildcard_folder_path: Amazon S3 Compatible wildcardFolderPath. Type: string (or + Expression with resultType string). + :type wildcard_folder_path: object + :param wildcard_file_name: Amazon S3 Compatible wildcardFileName. Type: string (or Expression + with resultType string). + :type wildcard_file_name: object + :param prefix: The prefix filter for the S3 Compatible object name. Type: string (or Expression + with resultType string). + :type prefix: object + :param file_list_path: Point to a text file that lists each file (relative path to the path + configured in the dataset) that you want to copy. Type: string (or Expression with resultType + string). + :type file_list_path: object + :param enable_partition_discovery: Indicates whether to enable partition discovery. + :type enable_partition_discovery: bool + :param partition_root_path: Specify the root path where partition discovery starts from. Type: + string (or Expression with resultType string). + :type partition_root_path: object + :param delete_files_after_completion: Indicates whether the source files need to be deleted + after copy completion. Default is false. Type: boolean (or Expression with resultType boolean). + :type delete_files_after_completion: object + :param modified_datetime_start: The start of file's modified datetime. Type: string (or + Expression with resultType string). + :type modified_datetime_start: object + :param modified_datetime_end: The end of file's modified datetime. Type: string (or Expression + with resultType string). + :type modified_datetime_end: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'recursive': {'key': 'recursive', 'type': 'object'}, + 'wildcard_folder_path': {'key': 'wildcardFolderPath', 'type': 'object'}, + 'wildcard_file_name': {'key': 'wildcardFileName', 'type': 'object'}, + 'prefix': {'key': 'prefix', 'type': 'object'}, + 'file_list_path': {'key': 'fileListPath', 'type': 'object'}, + 'enable_partition_discovery': {'key': 'enablePartitionDiscovery', 'type': 'bool'}, + 'partition_root_path': {'key': 'partitionRootPath', 'type': 'object'}, + 'delete_files_after_completion': {'key': 'deleteFilesAfterCompletion', 'type': 'object'}, + 'modified_datetime_start': {'key': 'modifiedDatetimeStart', 'type': 'object'}, + 'modified_datetime_end': {'key': 'modifiedDatetimeEnd', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(AmazonS3CompatibleReadSettings, self).__init__(**kwargs) + self.type = 'AmazonS3CompatibleReadSettings' # type: str + self.recursive = kwargs.get('recursive', None) + self.wildcard_folder_path = kwargs.get('wildcard_folder_path', None) + self.wildcard_file_name = kwargs.get('wildcard_file_name', None) + self.prefix = kwargs.get('prefix', None) + self.file_list_path = kwargs.get('file_list_path', None) + self.enable_partition_discovery = kwargs.get('enable_partition_discovery', None) + self.partition_root_path = kwargs.get('partition_root_path', None) + self.delete_files_after_completion = kwargs.get('delete_files_after_completion', None) + self.modified_datetime_start = kwargs.get('modified_datetime_start', None) + self.modified_datetime_end = kwargs.get('modified_datetime_end', None) + + class AmazonS3Dataset(Dataset): """A single Amazon Simple Storage Service (S3) object or a set of S3 objects. @@ -1088,6 +1376,9 @@ class AmazonS3LinkedService(LinkedService): :type parameters: dict[str, ~data_factory_management_client.models.ParameterSpecification] :param annotations: List of tags that can be used for describing the linked service. :type annotations: list[object] + :param authentication_type: The authentication type of S3. Allowed value: AccessKey (default) + or TemporarySecurityCredentials. Type: string (or Expression with resultType string). + :type authentication_type: object :param access_key_id: The access key identifier of the Amazon S3 Identity and Access Management (IAM) user. Type: string (or Expression with resultType string). :type access_key_id: object @@ -1098,6 +1389,8 @@ class AmazonS3LinkedService(LinkedService): an optional property; change it only if you want to try a different service endpoint or want to switch between https and http. Type: string (or Expression with resultType string). :type service_url: object + :param session_token: The session token for the S3 temporary security credential. + :type session_token: ~data_factory_management_client.models.SecretBase :param encrypted_credential: The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). @@ -1115,9 +1408,11 @@ class AmazonS3LinkedService(LinkedService): 'description': {'key': 'description', 'type': 'str'}, 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'object'}, 'access_key_id': {'key': 'typeProperties.accessKeyId', 'type': 'object'}, 'secret_access_key': {'key': 'typeProperties.secretAccessKey', 'type': 'SecretBase'}, 'service_url': {'key': 'typeProperties.serviceUrl', 'type': 'object'}, + 'session_token': {'key': 'typeProperties.sessionToken', 'type': 'SecretBase'}, 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, } @@ -1127,59 +1422,14 @@ def __init__( ): super(AmazonS3LinkedService, self).__init__(**kwargs) self.type = 'AmazonS3' # type: str + self.authentication_type = kwargs.get('authentication_type', None) self.access_key_id = kwargs.get('access_key_id', None) self.secret_access_key = kwargs.get('secret_access_key', None) self.service_url = kwargs.get('service_url', None) + self.session_token = kwargs.get('session_token', None) self.encrypted_credential = kwargs.get('encrypted_credential', None) -class DatasetLocation(msrest.serialization.Model): - """Dataset location. - - You probably want to use the sub-classes and not this class directly. Known - sub-classes are: AmazonS3Location, AzureBlobFsLocation, AzureBlobStorageLocation, AzureDataLakeStoreLocation, AzureFileStorageLocation, FileServerLocation, FtpServerLocation, GoogleCloudStorageLocation, HdfsLocation, HttpServerLocation, SftpLocation. - - All required parameters must be populated in order to send to Azure. - - :param additional_properties: Unmatched properties from the message are deserialized to this - collection. - :type additional_properties: dict[str, object] - :param type: Required. Type of dataset storage location.Constant filled by server. - :type type: str - :param folder_path: Specify the folder path of dataset. Type: string (or Expression with - resultType string). - :type folder_path: object - :param file_name: Specify the file name of dataset. Type: string (or Expression with resultType - string). - :type file_name: object - """ - - _validation = { - 'type': {'required': True}, - } - - _attribute_map = { - 'additional_properties': {'key': '', 'type': '{object}'}, - 'type': {'key': 'type', 'type': 'str'}, - 'folder_path': {'key': 'folderPath', 'type': 'object'}, - 'file_name': {'key': 'fileName', 'type': 'object'}, - } - - _subtype_map = { - 'type': {'AmazonS3Location': 'AmazonS3Location', 'AzureBlobFSLocation': 'AzureBlobFsLocation', 'AzureBlobStorageLocation': 'AzureBlobStorageLocation', 'AzureDataLakeStoreLocation': 'AzureDataLakeStoreLocation', 'AzureFileStorageLocation': 'AzureFileStorageLocation', 'FileServerLocation': 'FileServerLocation', 'FtpServerLocation': 'FtpServerLocation', 'GoogleCloudStorageLocation': 'GoogleCloudStorageLocation', 'HdfsLocation': 'HdfsLocation', 'HttpServerLocation': 'HttpServerLocation', 'SftpLocation': 'SftpLocation'} - } - - def __init__( - self, - **kwargs - ): - super(DatasetLocation, self).__init__(**kwargs) - self.additional_properties = kwargs.get('additional_properties', None) - self.type = 'DatasetLocation' # type: str - self.folder_path = kwargs.get('folder_path', None) - self.file_name = kwargs.get('file_name', None) - - class AmazonS3Location(DatasetLocation): """The location of amazon S3 dataset. @@ -1227,50 +1477,8 @@ def __init__( self.version = kwargs.get('version', None) -class StoreReadSettings(msrest.serialization.Model): - """Connector read setting. - - You probably want to use the sub-classes and not this class directly. Known - sub-classes are: AmazonS3ReadSettings, AzureBlobFsReadSettings, AzureBlobStorageReadSettings, AzureDataLakeStoreReadSettings, AzureFileStorageReadSettings, FileServerReadSettings, FtpReadSettings, GoogleCloudStorageReadSettings, HdfsReadSettings, HttpReadSettings, SftpReadSettings. - - All required parameters must be populated in order to send to Azure. - - :param additional_properties: Unmatched properties from the message are deserialized to this - collection. - :type additional_properties: dict[str, object] - :param type: Required. The read setting type.Constant filled by server. - :type type: str - :param max_concurrent_connections: The maximum concurrent connection count for the source data - store. Type: integer (or Expression with resultType integer). - :type max_concurrent_connections: object - """ - - _validation = { - 'type': {'required': True}, - } - - _attribute_map = { - 'additional_properties': {'key': '', 'type': '{object}'}, - 'type': {'key': 'type', 'type': 'str'}, - 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, - } - - _subtype_map = { - 'type': {'AmazonS3ReadSettings': 'AmazonS3ReadSettings', 'AzureBlobFSReadSettings': 'AzureBlobFsReadSettings', 'AzureBlobStorageReadSettings': 'AzureBlobStorageReadSettings', 'AzureDataLakeStoreReadSettings': 'AzureDataLakeStoreReadSettings', 'AzureFileStorageReadSettings': 'AzureFileStorageReadSettings', 'FileServerReadSettings': 'FileServerReadSettings', 'FtpReadSettings': 'FtpReadSettings', 'GoogleCloudStorageReadSettings': 'GoogleCloudStorageReadSettings', 'HdfsReadSettings': 'HdfsReadSettings', 'HttpReadSettings': 'HttpReadSettings', 'SftpReadSettings': 'SftpReadSettings'} - } - - def __init__( - self, - **kwargs - ): - super(StoreReadSettings, self).__init__(**kwargs) - self.additional_properties = kwargs.get('additional_properties', None) - self.type = 'StoreReadSettings' # type: str - self.max_concurrent_connections = kwargs.get('max_concurrent_connections', None) - - class AmazonS3ReadSettings(StoreReadSettings): - """Azure data lake store read settings. + """Amazon S3 read settings. All required parameters must be populated in order to send to Azure. @@ -1402,6 +1610,31 @@ def __init__( self.value = kwargs.get('value', None) +class ArmIdWrapper(msrest.serialization.Model): + """A wrapper for an ARM resource id. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: + :vartype id: str + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ArmIdWrapper, self).__init__(**kwargs) + self.id = None + + class AvroDataset(Dataset): """Avro dataset. @@ -1555,7 +1788,7 @@ class CopySink(msrest.serialization.Model): """A copy activity sink. You probably want to use the sub-classes and not this class directly. Known - sub-classes are: AvroSink, AzureBlobFsSink, AzureDataExplorerSink, AzureDataLakeStoreSink, AzureMySQLSink, AzurePostgreSQLSink, AzureQueueSink, AzureSearchIndexSink, AzureSQLSink, AzureTableSink, BinarySink, BlobSink, CommonDataServiceForAppsSink, CosmosDBMongoDBApiSink, CosmosDBSQLApiSink, DelimitedTextSink, DocumentDBCollectionSink, DynamicsCrmSink, DynamicsSink, FileSystemSink, InformixSink, JsonSink, MicrosoftAccessSink, OdbcSink, OracleSink, OrcSink, ParquetSink, RestSink, SalesforceServiceCloudSink, SalesforceSink, SapCloudForCustomerSink, SnowflakeSink, SQLDWSink, SQLMiSink, SQLServerSink, SQLSink. + sub-classes are: AvroSink, AzureBlobFsSink, AzureDataExplorerSink, AzureDataLakeStoreSink, AzureDatabricksDeltaLakeSink, AzureMySqlSink, AzurePostgreSqlSink, AzureQueueSink, AzureSearchIndexSink, AzureSqlSink, AzureTableSink, BinarySink, BlobSink, CommonDataServiceForAppsSink, CosmosDbMongoDbApiSink, CosmosDbSqlApiSink, DelimitedTextSink, DocumentDbCollectionSink, DynamicsCrmSink, DynamicsSink, FileSystemSink, InformixSink, JsonSink, MicrosoftAccessSink, OdbcSink, OracleSink, OrcSink, ParquetSink, RestSink, SalesforceServiceCloudSink, SalesforceSink, SapCloudForCustomerSink, SnowflakeSink, SqlDwSink, SqlMiSink, SqlServerSink, SqlSink. All required parameters must be populated in order to send to Azure. @@ -1596,7 +1829,7 @@ class CopySink(msrest.serialization.Model): } _subtype_map = { - 'type': {'AvroSink': 'AvroSink', 'AzureBlobFSSink': 'AzureBlobFsSink', 'AzureDataExplorerSink': 'AzureDataExplorerSink', 'AzureDataLakeStoreSink': 'AzureDataLakeStoreSink', 'AzureMySqlSink': 'AzureMySQLSink', 'AzurePostgreSqlSink': 'AzurePostgreSQLSink', 'AzureQueueSink': 'AzureQueueSink', 'AzureSearchIndexSink': 'AzureSearchIndexSink', 'AzureSqlSink': 'AzureSQLSink', 'AzureTableSink': 'AzureTableSink', 'BinarySink': 'BinarySink', 'BlobSink': 'BlobSink', 'CommonDataServiceForAppsSink': 'CommonDataServiceForAppsSink', 'CosmosDbMongoDbApiSink': 'CosmosDBMongoDBApiSink', 'CosmosDbSqlApiSink': 'CosmosDBSQLApiSink', 'DelimitedTextSink': 'DelimitedTextSink', 'DocumentDbCollectionSink': 'DocumentDBCollectionSink', 'DynamicsCrmSink': 'DynamicsCrmSink', 'DynamicsSink': 'DynamicsSink', 'FileSystemSink': 'FileSystemSink', 'InformixSink': 'InformixSink', 'JsonSink': 'JsonSink', 'MicrosoftAccessSink': 'MicrosoftAccessSink', 'OdbcSink': 'OdbcSink', 'OracleSink': 'OracleSink', 'OrcSink': 'OrcSink', 'ParquetSink': 'ParquetSink', 'RestSink': 'RestSink', 'SalesforceServiceCloudSink': 'SalesforceServiceCloudSink', 'SalesforceSink': 'SalesforceSink', 'SapCloudForCustomerSink': 'SapCloudForCustomerSink', 'SnowflakeSink': 'SnowflakeSink', 'SqlDWSink': 'SQLDWSink', 'SqlMISink': 'SQLMiSink', 'SqlServerSink': 'SQLServerSink', 'SqlSink': 'SQLSink'} + 'type': {'AvroSink': 'AvroSink', 'AzureBlobFSSink': 'AzureBlobFsSink', 'AzureDataExplorerSink': 'AzureDataExplorerSink', 'AzureDataLakeStoreSink': 'AzureDataLakeStoreSink', 'AzureDatabricksDeltaLakeSink': 'AzureDatabricksDeltaLakeSink', 'AzureMySqlSink': 'AzureMySqlSink', 'AzurePostgreSqlSink': 'AzurePostgreSqlSink', 'AzureQueueSink': 'AzureQueueSink', 'AzureSearchIndexSink': 'AzureSearchIndexSink', 'AzureSqlSink': 'AzureSqlSink', 'AzureTableSink': 'AzureTableSink', 'BinarySink': 'BinarySink', 'BlobSink': 'BlobSink', 'CommonDataServiceForAppsSink': 'CommonDataServiceForAppsSink', 'CosmosDbMongoDbApiSink': 'CosmosDbMongoDbApiSink', 'CosmosDbSqlApiSink': 'CosmosDbSqlApiSink', 'DelimitedTextSink': 'DelimitedTextSink', 'DocumentDbCollectionSink': 'DocumentDbCollectionSink', 'DynamicsCrmSink': 'DynamicsCrmSink', 'DynamicsSink': 'DynamicsSink', 'FileSystemSink': 'FileSystemSink', 'InformixSink': 'InformixSink', 'JsonSink': 'JsonSink', 'MicrosoftAccessSink': 'MicrosoftAccessSink', 'OdbcSink': 'OdbcSink', 'OracleSink': 'OracleSink', 'OrcSink': 'OrcSink', 'ParquetSink': 'ParquetSink', 'RestSink': 'RestSink', 'SalesforceServiceCloudSink': 'SalesforceServiceCloudSink', 'SalesforceSink': 'SalesforceSink', 'SapCloudForCustomerSink': 'SapCloudForCustomerSink', 'SnowflakeSink': 'SnowflakeSink', 'SqlDWSink': 'SqlDwSink', 'SqlMISink': 'SqlMiSink', 'SqlServerSink': 'SqlServerSink', 'SqlSink': 'SqlSink'} } def __init__( @@ -1724,7 +1957,7 @@ class FormatWriteSettings(msrest.serialization.Model): """Format write settings. You probably want to use the sub-classes and not this class directly. Known - sub-classes are: AvroWriteSettings, DelimitedTextWriteSettings, JsonWriteSettings. + sub-classes are: AvroWriteSettings, DelimitedTextWriteSettings, JsonWriteSettings, OrcWriteSettings, ParquetWriteSettings. All required parameters must be populated in order to send to Azure. @@ -1745,7 +1978,7 @@ class FormatWriteSettings(msrest.serialization.Model): } _subtype_map = { - 'type': {'AvroWriteSettings': 'AvroWriteSettings', 'DelimitedTextWriteSettings': 'DelimitedTextWriteSettings', 'JsonWriteSettings': 'JsonWriteSettings'} + 'type': {'AvroWriteSettings': 'AvroWriteSettings', 'DelimitedTextWriteSettings': 'DelimitedTextWriteSettings', 'JsonWriteSettings': 'JsonWriteSettings', 'OrcWriteSettings': 'OrcWriteSettings', 'ParquetWriteSettings': 'ParquetWriteSettings'} } def __init__( @@ -1771,6 +2004,13 @@ class AvroWriteSettings(FormatWriteSettings): :type record_name: str :param record_namespace: Record namespace in the write result. :type record_namespace: str + :param max_rows_per_file: Limit the written file's row count to be smaller than or equal to the + specified count. Type: integer (or Expression with resultType integer). + :type max_rows_per_file: object + :param file_name_prefix: Specifies the file name pattern + :code:``_:code:``.:code:`` when copy from non-file + based store without partitionOptions. Type: string (or Expression with resultType string). + :type file_name_prefix: object """ _validation = { @@ -1782,6 +2022,8 @@ class AvroWriteSettings(FormatWriteSettings): 'type': {'key': 'type', 'type': 'str'}, 'record_name': {'key': 'recordName', 'type': 'str'}, 'record_namespace': {'key': 'recordNamespace', 'type': 'str'}, + 'max_rows_per_file': {'key': 'maxRowsPerFile', 'type': 'object'}, + 'file_name_prefix': {'key': 'fileNamePrefix', 'type': 'object'}, } def __init__( @@ -1792,6 +2034,8 @@ def __init__( self.type = 'AvroWriteSettings' # type: str self.record_name = kwargs.get('record_name', None) self.record_namespace = kwargs.get('record_namespace', None) + self.max_rows_per_file = kwargs.get('max_rows_per_file', None) + self.file_name_prefix = kwargs.get('file_name_prefix', None) class CustomSetupBase(msrest.serialization.Model): @@ -2529,6 +2773,10 @@ class AzureBlobStorageLinkedService(LinkedService): values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data factory regions’ cloud type. Type: string (or Expression with resultType string). :type azure_cloud_type: object + :param account_kind: Specify the kind of your storage account. Allowed values are: Storage + (general purpose v1), StorageV2 (general purpose v2), BlobStorage, or BlockBlobStorage. Type: + string (or Expression with resultType string). + :type account_kind: str :param encrypted_credential: The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). @@ -2555,6 +2803,7 @@ class AzureBlobStorageLinkedService(LinkedService): 'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'}, 'tenant': {'key': 'typeProperties.tenant', 'type': 'object'}, 'azure_cloud_type': {'key': 'typeProperties.azureCloudType', 'type': 'object'}, + 'account_kind': {'key': 'typeProperties.accountKind', 'type': 'str'}, 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'str'}, } @@ -2573,6 +2822,7 @@ def __init__( self.service_principal_key = kwargs.get('service_principal_key', None) self.tenant = kwargs.get('tenant', None) self.azure_cloud_type = kwargs.get('azure_cloud_type', None) + self.account_kind = kwargs.get('account_kind', None) self.encrypted_credential = kwargs.get('encrypted_credential', None) @@ -2742,6 +2992,395 @@ def __init__( self.block_size_in_mb = kwargs.get('block_size_in_mb', None) +class AzureDatabricksDeltaLakeDataset(Dataset): + """Azure Databricks Delta Lake dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~data_factory_management_client.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~data_factory_management_client.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~data_factory_management_client.models.DatasetFolder + :param table: The name of delta table. Type: string (or Expression with resultType string). + :type table: object + :param database: The database name of delta table. Type: string (or Expression with resultType + string). + :type database: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table': {'key': 'typeProperties.table', 'type': 'object'}, + 'database': {'key': 'typeProperties.database', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(AzureDatabricksDeltaLakeDataset, self).__init__(**kwargs) + self.type = 'AzureDatabricksDeltaLakeDataset' # type: str + self.table = kwargs.get('table', None) + self.database = kwargs.get('database', None) + + +class ExportSettings(msrest.serialization.Model): + """Export command settings. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: AzureDatabricksDeltaLakeExportCommand, SnowflakeExportCopyCommand. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. The export setting type.Constant filled by server. + :type type: str + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + _subtype_map = { + 'type': {'AzureDatabricksDeltaLakeExportCommand': 'AzureDatabricksDeltaLakeExportCommand', 'SnowflakeExportCopyCommand': 'SnowflakeExportCopyCommand'} + } + + def __init__( + self, + **kwargs + ): + super(ExportSettings, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.type = 'ExportSettings' # type: str + + +class AzureDatabricksDeltaLakeExportCommand(ExportSettings): + """Azure Databricks Delta Lake export command settings. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. The export setting type.Constant filled by server. + :type type: str + :param date_format: Specify the date format for the csv in Azure Databricks Delta Lake Copy. + Type: string (or Expression with resultType string). + :type date_format: object + :param timestamp_format: Specify the timestamp format for the csv in Azure Databricks Delta + Lake Copy. Type: string (or Expression with resultType string). + :type timestamp_format: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'date_format': {'key': 'dateFormat', 'type': 'object'}, + 'timestamp_format': {'key': 'timestampFormat', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(AzureDatabricksDeltaLakeExportCommand, self).__init__(**kwargs) + self.type = 'AzureDatabricksDeltaLakeExportCommand' # type: str + self.date_format = kwargs.get('date_format', None) + self.timestamp_format = kwargs.get('timestamp_format', None) + + +class ImportSettings(msrest.serialization.Model): + """Import command settings. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: AzureDatabricksDeltaLakeImportCommand, SnowflakeImportCopyCommand. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. The import setting type.Constant filled by server. + :type type: str + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + _subtype_map = { + 'type': {'AzureDatabricksDeltaLakeImportCommand': 'AzureDatabricksDeltaLakeImportCommand', 'SnowflakeImportCopyCommand': 'SnowflakeImportCopyCommand'} + } + + def __init__( + self, + **kwargs + ): + super(ImportSettings, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.type = 'ImportSettings' # type: str + + +class AzureDatabricksDeltaLakeImportCommand(ImportSettings): + """Azure Databricks Delta Lake import command settings. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. The import setting type.Constant filled by server. + :type type: str + :param date_format: Specify the date format for csv in Azure Databricks Delta Lake Copy. Type: + string (or Expression with resultType string). + :type date_format: object + :param timestamp_format: Specify the timestamp format for csv in Azure Databricks Delta Lake + Copy. Type: string (or Expression with resultType string). + :type timestamp_format: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'date_format': {'key': 'dateFormat', 'type': 'object'}, + 'timestamp_format': {'key': 'timestampFormat', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(AzureDatabricksDeltaLakeImportCommand, self).__init__(**kwargs) + self.type = 'AzureDatabricksDeltaLakeImportCommand' # type: str + self.date_format = kwargs.get('date_format', None) + self.timestamp_format = kwargs.get('timestamp_format', None) + + +class AzureDatabricksDeltaLakeLinkedService(LinkedService): + """Azure Databricks Delta Lake linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~data_factory_management_client.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~data_factory_management_client.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param domain: Required. :code:``.azuredatabricks.net, domain name of your Databricks + deployment. Type: string (or Expression with resultType string). + :type domain: object + :param access_token: Access token for databricks REST API. Refer to + https://docs.azuredatabricks.net/api/latest/authentication.html. Type: string, SecureString or + AzureKeyVaultSecretReference. + :type access_token: ~data_factory_management_client.models.SecretBase + :param cluster_id: The id of an existing interactive cluster that will be used for all runs of + this job. Type: string (or Expression with resultType string). + :type cluster_id: object + :param encrypted_credential: The encrypted credential used for authentication. Credentials are + encrypted using the integration runtime credential manager. Type: string (or Expression with + resultType string). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'domain': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'domain': {'key': 'typeProperties.domain', 'type': 'object'}, + 'access_token': {'key': 'typeProperties.accessToken', 'type': 'SecretBase'}, + 'cluster_id': {'key': 'typeProperties.clusterId', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(AzureDatabricksDeltaLakeLinkedService, self).__init__(**kwargs) + self.type = 'AzureDatabricksDeltaLake' # type: str + self.domain = kwargs['domain'] + self.access_token = kwargs.get('access_token', None) + self.cluster_id = kwargs.get('cluster_id', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class AzureDatabricksDeltaLakeSink(CopySink): + """A copy activity Azure Databricks Delta Lake sink. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Copy sink type.Constant filled by server. + :type type: str + :param write_batch_size: Write batch size. Type: integer (or Expression with resultType + integer), minimum: 0. + :type write_batch_size: object + :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType + string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + :type write_batch_timeout: object + :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType + integer). + :type sink_retry_count: object + :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string), + pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + :type sink_retry_wait: object + :param max_concurrent_connections: The maximum concurrent connection count for the sink data + store. Type: integer (or Expression with resultType integer). + :type max_concurrent_connections: object + :param pre_copy_script: SQL pre-copy script. Type: string (or Expression with resultType + string). + :type pre_copy_script: object + :param import_settings: Azure Databricks Delta Lake import settings. + :type import_settings: + ~data_factory_management_client.models.AzureDatabricksDeltaLakeImportCommand + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'}, + 'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'}, + 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, + 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, + 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'pre_copy_script': {'key': 'preCopyScript', 'type': 'object'}, + 'import_settings': {'key': 'importSettings', 'type': 'AzureDatabricksDeltaLakeImportCommand'}, + } + + def __init__( + self, + **kwargs + ): + super(AzureDatabricksDeltaLakeSink, self).__init__(**kwargs) + self.type = 'AzureDatabricksDeltaLakeSink' # type: str + self.pre_copy_script = kwargs.get('pre_copy_script', None) + self.import_settings = kwargs.get('import_settings', None) + + +class AzureDatabricksDeltaLakeSource(CopySource): + """A copy activity Azure Databricks Delta Lake source. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Copy source type.Constant filled by server. + :type type: str + :param source_retry_count: Source retry count. Type: integer (or Expression with resultType + integer). + :type source_retry_count: object + :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType + string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + :type source_retry_wait: object + :param max_concurrent_connections: The maximum concurrent connection count for the source data + store. Type: integer (or Expression with resultType integer). + :type max_concurrent_connections: object + :param query: Azure Databricks Delta Lake Sql query. Type: string (or Expression with + resultType string). + :type query: object + :param export_settings: Azure Databricks Delta Lake export settings. + :type export_settings: + ~data_factory_management_client.models.AzureDatabricksDeltaLakeExportCommand + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, + 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, + 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'query': {'key': 'query', 'type': 'object'}, + 'export_settings': {'key': 'exportSettings', 'type': 'AzureDatabricksDeltaLakeExportCommand'}, + } + + def __init__( + self, + **kwargs + ): + super(AzureDatabricksDeltaLakeSource, self).__init__(**kwargs) + self.type = 'AzureDatabricksDeltaLakeSource' # type: str + self.query = kwargs.get('query', None) + self.export_settings = kwargs.get('export_settings', None) + + class AzureDatabricksLinkedService(LinkedService): """Azure Databricks linked service. @@ -2763,10 +3402,16 @@ class AzureDatabricksLinkedService(LinkedService): :param domain: Required. :code:``.azuredatabricks.net, domain name of your Databricks deployment. Type: string (or Expression with resultType string). :type domain: object - :param access_token: Required. Access token for databricks REST API. Refer to + :param access_token: Access token for databricks REST API. Refer to https://docs.azuredatabricks.net/api/latest/authentication.html. Type: string (or Expression with resultType string). :type access_token: ~data_factory_management_client.models.SecretBase + :param authentication: Required to specify MSI, if using Workspace resource id for databricks + REST API. Type: string (or Expression with resultType string). + :type authentication: object + :param workspace_resource_id: Workspace resource id for databricks REST API. Type: string (or + Expression with resultType string). + :type workspace_resource_id: object :param existing_cluster_id: The id of an existing interactive cluster that will be used for all runs of this activity. Type: string (or Expression with resultType string). :type existing_cluster_id: object @@ -2816,12 +3461,14 @@ class AzureDatabricksLinkedService(LinkedService): encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). :type encrypted_credential: object + :param policy_id: The policy id for limiting the ability to configure clusters based on a user + defined set of rules. Type: string (or Expression with resultType string). + :type policy_id: object """ _validation = { 'type': {'required': True}, 'domain': {'required': True}, - 'access_token': {'required': True}, } _attribute_map = { @@ -2833,6 +3480,8 @@ class AzureDatabricksLinkedService(LinkedService): 'annotations': {'key': 'annotations', 'type': '[object]'}, 'domain': {'key': 'typeProperties.domain', 'type': 'object'}, 'access_token': {'key': 'typeProperties.accessToken', 'type': 'SecretBase'}, + 'authentication': {'key': 'typeProperties.authentication', 'type': 'object'}, + 'workspace_resource_id': {'key': 'typeProperties.workspaceResourceId', 'type': 'object'}, 'existing_cluster_id': {'key': 'typeProperties.existingClusterId', 'type': 'object'}, 'instance_pool_id': {'key': 'typeProperties.instancePoolId', 'type': 'object'}, 'new_cluster_version': {'key': 'typeProperties.newClusterVersion', 'type': 'object'}, @@ -2846,6 +3495,7 @@ class AzureDatabricksLinkedService(LinkedService): 'new_cluster_init_scripts': {'key': 'typeProperties.newClusterInitScripts', 'type': 'object'}, 'new_cluster_enable_elastic_disk': {'key': 'typeProperties.newClusterEnableElasticDisk', 'type': 'object'}, 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + 'policy_id': {'key': 'typeProperties.policyId', 'type': 'object'}, } def __init__( @@ -2855,7 +3505,9 @@ def __init__( super(AzureDatabricksLinkedService, self).__init__(**kwargs) self.type = 'AzureDatabricks' # type: str self.domain = kwargs['domain'] - self.access_token = kwargs['access_token'] + self.access_token = kwargs.get('access_token', None) + self.authentication = kwargs.get('authentication', None) + self.workspace_resource_id = kwargs.get('workspace_resource_id', None) self.existing_cluster_id = kwargs.get('existing_cluster_id', None) self.instance_pool_id = kwargs.get('instance_pool_id', None) self.new_cluster_version = kwargs.get('new_cluster_version', None) @@ -2869,13 +3521,14 @@ def __init__( self.new_cluster_init_scripts = kwargs.get('new_cluster_init_scripts', None) self.new_cluster_enable_elastic_disk = kwargs.get('new_cluster_enable_elastic_disk', None) self.encrypted_credential = kwargs.get('encrypted_credential', None) + self.policy_id = kwargs.get('policy_id', None) class ExecutionActivity(Activity): """Base class for all execution activities. You probably want to use the sub-classes and not this class directly. Known - sub-classes are: AzureDataExplorerCommandActivity, AzureFunctionActivity, AzureMlBatchExecutionActivity, AzureMlExecutePipelineActivity, AzureMlUpdateResourceActivity, CopyActivity, CustomActivity, DataLakeAnalyticsUsqlActivity, DatabricksNotebookActivity, DatabricksSparkJarActivity, DatabricksSparkPythonActivity, DeleteActivity, ExecuteDataFlowActivity, ExecuteSsisPackageActivity, GetMetadataActivity, HdInsightHiveActivity, HdInsightMapReduceActivity, HdInsightPigActivity, HdInsightSparkActivity, HdInsightStreamingActivity, LookupActivity, SQLServerStoredProcedureActivity, WebActivity. + sub-classes are: AzureDataExplorerCommandActivity, AzureFunctionActivity, AzureMlBatchExecutionActivity, AzureMlExecutePipelineActivity, AzureMlUpdateResourceActivity, CopyActivity, CustomActivity, DataLakeAnalyticsUsqlActivity, DatabricksNotebookActivity, DatabricksSparkJarActivity, DatabricksSparkPythonActivity, DeleteActivity, ExecuteDataFlowActivity, ExecuteSsisPackageActivity, GetMetadataActivity, HdInsightHiveActivity, HdInsightMapReduceActivity, HdInsightPigActivity, HdInsightSparkActivity, HdInsightStreamingActivity, LookupActivity, SqlServerStoredProcedureActivity, WebActivity. All required parameters must be populated in order to send to Azure. @@ -2915,7 +3568,7 @@ class ExecutionActivity(Activity): } _subtype_map = { - 'type': {'AzureDataExplorerCommand': 'AzureDataExplorerCommandActivity', 'AzureFunctionActivity': 'AzureFunctionActivity', 'AzureMLBatchExecution': 'AzureMlBatchExecutionActivity', 'AzureMLExecutePipeline': 'AzureMlExecutePipelineActivity', 'AzureMLUpdateResource': 'AzureMlUpdateResourceActivity', 'Copy': 'CopyActivity', 'Custom': 'CustomActivity', 'DataLakeAnalyticsU-SQL': 'DataLakeAnalyticsUsqlActivity', 'DatabricksNotebook': 'DatabricksNotebookActivity', 'DatabricksSparkJar': 'DatabricksSparkJarActivity', 'DatabricksSparkPython': 'DatabricksSparkPythonActivity', 'Delete': 'DeleteActivity', 'ExecuteDataFlow': 'ExecuteDataFlowActivity', 'ExecuteSSISPackage': 'ExecuteSsisPackageActivity', 'GetMetadata': 'GetMetadataActivity', 'HDInsightHive': 'HdInsightHiveActivity', 'HDInsightMapReduce': 'HdInsightMapReduceActivity', 'HDInsightPig': 'HdInsightPigActivity', 'HDInsightSpark': 'HdInsightSparkActivity', 'HDInsightStreaming': 'HdInsightStreamingActivity', 'Lookup': 'LookupActivity', 'SqlServerStoredProcedure': 'SQLServerStoredProcedureActivity', 'WebActivity': 'WebActivity'} + 'type': {'AzureDataExplorerCommand': 'AzureDataExplorerCommandActivity', 'AzureFunctionActivity': 'AzureFunctionActivity', 'AzureMLBatchExecution': 'AzureMlBatchExecutionActivity', 'AzureMLExecutePipeline': 'AzureMlExecutePipelineActivity', 'AzureMLUpdateResource': 'AzureMlUpdateResourceActivity', 'Copy': 'CopyActivity', 'Custom': 'CustomActivity', 'DataLakeAnalyticsU-SQL': 'DataLakeAnalyticsUsqlActivity', 'DatabricksNotebook': 'DatabricksNotebookActivity', 'DatabricksSparkJar': 'DatabricksSparkJarActivity', 'DatabricksSparkPython': 'DatabricksSparkPythonActivity', 'Delete': 'DeleteActivity', 'ExecuteDataFlow': 'ExecuteDataFlowActivity', 'ExecuteSSISPackage': 'ExecuteSsisPackageActivity', 'GetMetadata': 'GetMetadataActivity', 'HDInsightHive': 'HdInsightHiveActivity', 'HDInsightMapReduce': 'HdInsightMapReduceActivity', 'HDInsightPig': 'HdInsightPigActivity', 'HDInsightSpark': 'HdInsightSparkActivity', 'HDInsightStreaming': 'HdInsightStreamingActivity', 'Lookup': 'LookupActivity', 'SqlServerStoredProcedure': 'SqlServerStoredProcedureActivity', 'WebActivity': 'WebActivity'} } def __init__( @@ -3009,27 +3662,24 @@ class AzureDataExplorerLinkedService(LinkedService): will be in the format https://:code:``.:code:``.kusto.windows.net. Type: string (or Expression with resultType string). :type endpoint: object - :param service_principal_id: Required. The ID of the service principal used to authenticate - against Azure Data Explorer. Type: string (or Expression with resultType string). + :param service_principal_id: The ID of the service principal used to authenticate against Azure + Data Explorer. Type: string (or Expression with resultType string). :type service_principal_id: object - :param service_principal_key: Required. The key of the service principal used to authenticate - against Kusto. + :param service_principal_key: The key of the service principal used to authenticate against + Kusto. :type service_principal_key: ~data_factory_management_client.models.SecretBase :param database: Required. Database name for connection. Type: string (or Expression with resultType string). :type database: object - :param tenant: Required. The name or ID of the tenant to which the service principal belongs. - Type: string (or Expression with resultType string). + :param tenant: The name or ID of the tenant to which the service principal belongs. Type: + string (or Expression with resultType string). :type tenant: object """ _validation = { 'type': {'required': True}, 'endpoint': {'required': True}, - 'service_principal_id': {'required': True}, - 'service_principal_key': {'required': True}, 'database': {'required': True}, - 'tenant': {'required': True}, } _attribute_map = { @@ -3053,10 +3703,10 @@ def __init__( super(AzureDataExplorerLinkedService, self).__init__(**kwargs) self.type = 'AzureDataExplorer' # type: str self.endpoint = kwargs['endpoint'] - self.service_principal_id = kwargs['service_principal_id'] - self.service_principal_key = kwargs['service_principal_key'] + self.service_principal_id = kwargs.get('service_principal_id', None) + self.service_principal_key = kwargs.get('service_principal_key', None) self.database = kwargs['database'] - self.tenant = kwargs['tenant'] + self.tenant = kwargs.get('tenant', None) class AzureDataExplorerSink(CopySink): @@ -4254,7 +4904,7 @@ def __init__( self.secret_version = kwargs.get('secret_version', None) -class AzureMariaDBLinkedService(LinkedService): +class AzureMariaDbLinkedService(LinkedService): """Azure Database for MariaDB linked service. All required parameters must be populated in order to send to Azure. @@ -4303,14 +4953,14 @@ def __init__( self, **kwargs ): - super(AzureMariaDBLinkedService, self).__init__(**kwargs) + super(AzureMariaDbLinkedService, self).__init__(**kwargs) self.type = 'AzureMariaDB' # type: str self.connection_string = kwargs.get('connection_string', None) self.pwd = kwargs.get('pwd', None) self.encrypted_credential = kwargs.get('encrypted_credential', None) -class AzureMariaDBSource(TabularSource): +class AzureMariaDbSource(TabularSource): """A copy activity Azure MariaDB source. All required parameters must be populated in order to send to Azure. @@ -4359,12 +5009,12 @@ def __init__( self, **kwargs ): - super(AzureMariaDBSource, self).__init__(**kwargs) + super(AzureMariaDbSource, self).__init__(**kwargs) self.type = 'AzureMariaDBSource' # type: str self.query = kwargs.get('query', None) -class AzureMariaDBTableDataset(Dataset): +class AzureMariaDbTableDataset(Dataset): """Azure Database for MariaDB dataset. All required parameters must be populated in order to send to Azure. @@ -4417,7 +5067,7 @@ def __init__( self, **kwargs ): - super(AzureMariaDBTableDataset, self).__init__(**kwargs) + super(AzureMariaDbTableDataset, self).__init__(**kwargs) self.type = 'AzureMariaDBTable' # type: str self.table_name = kwargs.get('table_name', None) @@ -4515,9 +5165,15 @@ class AzureMlExecutePipelineActivity(ExecutionActivity): :type linked_service_name: ~data_factory_management_client.models.LinkedServiceReference :param policy: Activity policy. :type policy: ~data_factory_management_client.models.ActivityPolicy - :param ml_pipeline_id: Required. ID of the published Azure ML pipeline. Type: string (or - Expression with resultType string). + :param ml_pipeline_id: ID of the published Azure ML pipeline. Type: string (or Expression with + resultType string). :type ml_pipeline_id: object + :param ml_pipeline_endpoint_id: ID of the published Azure ML pipeline endpoint. Type: string + (or Expression with resultType string). + :type ml_pipeline_endpoint_id: object + :param version: Version of the published Azure ML pipeline endpoint. Type: string (or + Expression with resultType string). + :type version: object :param experiment_name: Run history experiment name of the pipeline run. This information will be passed in the ExperimentName property of the published pipeline execution request. Type: string (or Expression with resultType string). @@ -4527,6 +5183,10 @@ class AzureMlExecutePipelineActivity(ExecutionActivity): Values will be passed in the ParameterAssignments property of the published pipeline execution request. Type: object with key value pairs (or Expression with resultType object). :type ml_pipeline_parameters: object + :param data_path_assignments: Dictionary used for changing data path assignments without + retraining. Values will be passed in the dataPathAssignments property of the published pipeline + execution request. Type: object with key value pairs (or Expression with resultType object). + :type data_path_assignments: object :param ml_parent_run_id: The parent Azure ML Service pipeline run id. This information will be passed in the ParentRunId property of the published pipeline execution request. Type: string (or Expression with resultType string). @@ -4541,7 +5201,6 @@ class AzureMlExecutePipelineActivity(ExecutionActivity): _validation = { 'name': {'required': True}, 'type': {'required': True}, - 'ml_pipeline_id': {'required': True}, } _attribute_map = { @@ -4554,8 +5213,11 @@ class AzureMlExecutePipelineActivity(ExecutionActivity): 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, 'policy': {'key': 'policy', 'type': 'ActivityPolicy'}, 'ml_pipeline_id': {'key': 'typeProperties.mlPipelineId', 'type': 'object'}, + 'ml_pipeline_endpoint_id': {'key': 'typeProperties.mlPipelineEndpointId', 'type': 'object'}, + 'version': {'key': 'typeProperties.version', 'type': 'object'}, 'experiment_name': {'key': 'typeProperties.experimentName', 'type': 'object'}, 'ml_pipeline_parameters': {'key': 'typeProperties.mlPipelineParameters', 'type': 'object'}, + 'data_path_assignments': {'key': 'typeProperties.dataPathAssignments', 'type': 'object'}, 'ml_parent_run_id': {'key': 'typeProperties.mlParentRunId', 'type': 'object'}, 'continue_on_step_failure': {'key': 'typeProperties.continueOnStepFailure', 'type': 'object'}, } @@ -4566,9 +5228,12 @@ def __init__( ): super(AzureMlExecutePipelineActivity, self).__init__(**kwargs) self.type = 'AzureMLExecutePipeline' # type: str - self.ml_pipeline_id = kwargs['ml_pipeline_id'] + self.ml_pipeline_id = kwargs.get('ml_pipeline_id', None) + self.ml_pipeline_endpoint_id = kwargs.get('ml_pipeline_endpoint_id', None) + self.version = kwargs.get('version', None) self.experiment_name = kwargs.get('experiment_name', None) self.ml_pipeline_parameters = kwargs.get('ml_pipeline_parameters', None) + self.data_path_assignments = kwargs.get('data_path_assignments', None) self.ml_parent_run_id = kwargs.get('ml_parent_run_id', None) self.continue_on_step_failure = kwargs.get('continue_on_step_failure', None) @@ -4833,7 +5498,7 @@ def __init__( self.linked_service_name = kwargs['linked_service_name'] -class AzureMySQLLinkedService(LinkedService): +class AzureMySqlLinkedService(LinkedService): """Azure MySQL database linked service. All required parameters must be populated in order to send to Azure. @@ -4883,14 +5548,14 @@ def __init__( self, **kwargs ): - super(AzureMySQLLinkedService, self).__init__(**kwargs) + super(AzureMySqlLinkedService, self).__init__(**kwargs) self.type = 'AzureMySql' # type: str self.connection_string = kwargs['connection_string'] self.password = kwargs.get('password', None) self.encrypted_credential = kwargs.get('encrypted_credential', None) -class AzureMySQLSink(CopySink): +class AzureMySqlSink(CopySink): """A copy activity Azure MySql sink. All required parameters must be populated in order to send to Azure. @@ -4939,12 +5604,12 @@ def __init__( self, **kwargs ): - super(AzureMySQLSink, self).__init__(**kwargs) + super(AzureMySqlSink, self).__init__(**kwargs) self.type = 'AzureMySqlSink' # type: str self.pre_copy_script = kwargs.get('pre_copy_script', None) -class AzureMySQLSource(TabularSource): +class AzureMySqlSource(TabularSource): """A copy activity Azure MySQL source. All required parameters must be populated in order to send to Azure. @@ -4992,12 +5657,12 @@ def __init__( self, **kwargs ): - super(AzureMySQLSource, self).__init__(**kwargs) + super(AzureMySqlSource, self).__init__(**kwargs) self.type = 'AzureMySqlSource' # type: str self.query = kwargs.get('query', None) -class AzureMySQLTableDataset(Dataset): +class AzureMySqlTableDataset(Dataset): """The Azure MySQL database dataset. All required parameters must be populated in order to send to Azure. @@ -5055,13 +5720,13 @@ def __init__( self, **kwargs ): - super(AzureMySQLTableDataset, self).__init__(**kwargs) + super(AzureMySqlTableDataset, self).__init__(**kwargs) self.type = 'AzureMySqlTable' # type: str self.table_name = kwargs.get('table_name', None) self.table = kwargs.get('table', None) -class AzurePostgreSQLLinkedService(LinkedService): +class AzurePostgreSqlLinkedService(LinkedService): """Azure PostgreSQL linked service. All required parameters must be populated in order to send to Azure. @@ -5110,14 +5775,14 @@ def __init__( self, **kwargs ): - super(AzurePostgreSQLLinkedService, self).__init__(**kwargs) + super(AzurePostgreSqlLinkedService, self).__init__(**kwargs) self.type = 'AzurePostgreSql' # type: str self.connection_string = kwargs.get('connection_string', None) self.password = kwargs.get('password', None) self.encrypted_credential = kwargs.get('encrypted_credential', None) -class AzurePostgreSQLSink(CopySink): +class AzurePostgreSqlSink(CopySink): """A copy activity Azure PostgreSQL sink. All required parameters must be populated in order to send to Azure. @@ -5166,12 +5831,12 @@ def __init__( self, **kwargs ): - super(AzurePostgreSQLSink, self).__init__(**kwargs) + super(AzurePostgreSqlSink, self).__init__(**kwargs) self.type = 'AzurePostgreSqlSink' # type: str self.pre_copy_script = kwargs.get('pre_copy_script', None) -class AzurePostgreSQLSource(TabularSource): +class AzurePostgreSqlSource(TabularSource): """A copy activity Azure PostgreSQL source. All required parameters must be populated in order to send to Azure. @@ -5220,12 +5885,12 @@ def __init__( self, **kwargs ): - super(AzurePostgreSQLSource, self).__init__(**kwargs) + super(AzurePostgreSqlSource, self).__init__(**kwargs) self.type = 'AzurePostgreSqlSource' # type: str self.query = kwargs.get('query', None) -class AzurePostgreSQLTableDataset(Dataset): +class AzurePostgreSqlTableDataset(Dataset): """Azure PostgreSQL dataset. All required parameters must be populated in order to send to Azure. @@ -5287,7 +5952,7 @@ def __init__( self, **kwargs ): - super(AzurePostgreSQLTableDataset, self).__init__(**kwargs) + super(AzurePostgreSqlTableDataset, self).__init__(**kwargs) self.type = 'AzurePostgreSqlTable' # type: str self.table_name = kwargs.get('table_name', None) self.table = kwargs.get('table', None) @@ -5515,7 +6180,7 @@ def __init__( self.encrypted_credential = kwargs.get('encrypted_credential', None) -class AzureSQLDatabaseLinkedService(LinkedService): +class AzureSqlDatabaseLinkedService(LinkedService): """Microsoft Azure SQL Database linked service. All required parameters must be populated in order to send to Azure. @@ -5555,6 +6220,9 @@ class AzureSQLDatabaseLinkedService(LinkedService): encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). :type encrypted_credential: object + :param always_encrypted_settings: Sql always encrypted properties. + :type always_encrypted_settings: + ~data_factory_management_client.models.SqlAlwaysEncryptedProperties """ _validation = { @@ -5576,13 +6244,14 @@ class AzureSQLDatabaseLinkedService(LinkedService): 'tenant': {'key': 'typeProperties.tenant', 'type': 'object'}, 'azure_cloud_type': {'key': 'typeProperties.azureCloudType', 'type': 'object'}, 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + 'always_encrypted_settings': {'key': 'typeProperties.alwaysEncryptedSettings', 'type': 'SqlAlwaysEncryptedProperties'}, } def __init__( self, **kwargs ): - super(AzureSQLDatabaseLinkedService, self).__init__(**kwargs) + super(AzureSqlDatabaseLinkedService, self).__init__(**kwargs) self.type = 'AzureSqlDatabase' # type: str self.connection_string = kwargs['connection_string'] self.password = kwargs.get('password', None) @@ -5591,9 +6260,10 @@ def __init__( self.tenant = kwargs.get('tenant', None) self.azure_cloud_type = kwargs.get('azure_cloud_type', None) self.encrypted_credential = kwargs.get('encrypted_credential', None) + self.always_encrypted_settings = kwargs.get('always_encrypted_settings', None) -class AzureSQLDWLinkedService(LinkedService): +class AzureSqlDwLinkedService(LinkedService): """Azure SQL Data Warehouse linked service. All required parameters must be populated in order to send to Azure. @@ -5660,7 +6330,7 @@ def __init__( self, **kwargs ): - super(AzureSQLDWLinkedService, self).__init__(**kwargs) + super(AzureSqlDwLinkedService, self).__init__(**kwargs) self.type = 'AzureSqlDW' # type: str self.connection_string = kwargs['connection_string'] self.password = kwargs.get('password', None) @@ -5671,7 +6341,7 @@ def __init__( self.encrypted_credential = kwargs.get('encrypted_credential', None) -class AzureSQLDWTableDataset(Dataset): +class AzureSqlDwTableDataset(Dataset): """The Azure SQL Data Warehouse dataset. All required parameters must be populated in order to send to Azure. @@ -5733,14 +6403,14 @@ def __init__( self, **kwargs ): - super(AzureSQLDWTableDataset, self).__init__(**kwargs) + super(AzureSqlDwTableDataset, self).__init__(**kwargs) self.type = 'AzureSqlDWTable' # type: str self.table_name = kwargs.get('table_name', None) self.schema_type_properties_schema = kwargs.get('schema_type_properties_schema', None) self.table = kwargs.get('table', None) -class AzureSQLMiLinkedService(LinkedService): +class AzureSqlMiLinkedService(LinkedService): """Azure SQL Managed Instance linked service. All required parameters must be populated in order to send to Azure. @@ -5780,6 +6450,9 @@ class AzureSQLMiLinkedService(LinkedService): encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). :type encrypted_credential: object + :param always_encrypted_settings: Sql always encrypted properties. + :type always_encrypted_settings: + ~data_factory_management_client.models.SqlAlwaysEncryptedProperties """ _validation = { @@ -5801,13 +6474,14 @@ class AzureSQLMiLinkedService(LinkedService): 'tenant': {'key': 'typeProperties.tenant', 'type': 'object'}, 'azure_cloud_type': {'key': 'typeProperties.azureCloudType', 'type': 'object'}, 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + 'always_encrypted_settings': {'key': 'typeProperties.alwaysEncryptedSettings', 'type': 'SqlAlwaysEncryptedProperties'}, } def __init__( self, **kwargs ): - super(AzureSQLMiLinkedService, self).__init__(**kwargs) + super(AzureSqlMiLinkedService, self).__init__(**kwargs) self.type = 'AzureSqlMI' # type: str self.connection_string = kwargs['connection_string'] self.password = kwargs.get('password', None) @@ -5816,9 +6490,10 @@ def __init__( self.tenant = kwargs.get('tenant', None) self.azure_cloud_type = kwargs.get('azure_cloud_type', None) self.encrypted_credential = kwargs.get('encrypted_credential', None) + self.always_encrypted_settings = kwargs.get('always_encrypted_settings', None) -class AzureSQLMiTableDataset(Dataset): +class AzureSqlMiTableDataset(Dataset): """The Azure SQL Managed Instance dataset. All required parameters must be populated in order to send to Azure. @@ -5880,14 +6555,14 @@ def __init__( self, **kwargs ): - super(AzureSQLMiTableDataset, self).__init__(**kwargs) + super(AzureSqlMiTableDataset, self).__init__(**kwargs) self.type = 'AzureSqlMITable' # type: str self.table_name = kwargs.get('table_name', None) self.schema_type_properties_schema = kwargs.get('schema_type_properties_schema', None) self.table = kwargs.get('table', None) -class AzureSQLSink(CopySink): +class AzureSqlSink(CopySink): """A copy activity Azure SQL sink. All required parameters must be populated in order to send to Azure. @@ -5956,7 +6631,7 @@ def __init__( self, **kwargs ): - super(AzureSQLSink, self).__init__(**kwargs) + super(AzureSqlSink, self).__init__(**kwargs) self.type = 'AzureSqlSink' # type: str self.sql_writer_stored_procedure_name = kwargs.get('sql_writer_stored_procedure_name', None) self.sql_writer_table_type = kwargs.get('sql_writer_table_type', None) @@ -5966,7 +6641,7 @@ def __init__( self.table_option = kwargs.get('table_option', None) -class AzureSQLSource(TabularSource): +class AzureSqlSource(TabularSource): """A copy activity Azure SQL source. All required parameters must be populated in order to send to Azure. @@ -6005,9 +6680,9 @@ class AzureSQLSource(TabularSource): :type produce_additional_types: object :param partition_option: The partition mechanism that will be used for Sql read in parallel. Possible values include: "None", "PhysicalPartitionsOfTable", "DynamicRange". - :type partition_option: str or ~data_factory_management_client.models.SQLPartitionOption + :type partition_option: object :param partition_settings: The settings that will be leveraged for Sql source partitioning. - :type partition_settings: ~data_factory_management_client.models.SQLPartitionSettings + :type partition_settings: ~data_factory_management_client.models.SqlPartitionSettings """ _validation = { @@ -6026,15 +6701,15 @@ class AzureSQLSource(TabularSource): 'sql_reader_stored_procedure_name': {'key': 'sqlReaderStoredProcedureName', 'type': 'object'}, 'stored_procedure_parameters': {'key': 'storedProcedureParameters', 'type': '{StoredProcedureParameter}'}, 'produce_additional_types': {'key': 'produceAdditionalTypes', 'type': 'object'}, - 'partition_option': {'key': 'partitionOption', 'type': 'str'}, - 'partition_settings': {'key': 'partitionSettings', 'type': 'SQLPartitionSettings'}, + 'partition_option': {'key': 'partitionOption', 'type': 'object'}, + 'partition_settings': {'key': 'partitionSettings', 'type': 'SqlPartitionSettings'}, } def __init__( self, **kwargs ): - super(AzureSQLSource, self).__init__(**kwargs) + super(AzureSqlSource, self).__init__(**kwargs) self.type = 'AzureSqlSource' # type: str self.sql_reader_query = kwargs.get('sql_reader_query', None) self.sql_reader_stored_procedure_name = kwargs.get('sql_reader_stored_procedure_name', None) @@ -6044,7 +6719,7 @@ def __init__( self.partition_settings = kwargs.get('partition_settings', None) -class AzureSQLTableDataset(Dataset): +class AzureSqlTableDataset(Dataset): """The Azure SQL Server database dataset. All required parameters must be populated in order to send to Azure. @@ -6106,7 +6781,7 @@ def __init__( self, **kwargs ): - super(AzureSQLTableDataset, self).__init__(**kwargs) + super(AzureSqlTableDataset, self).__init__(**kwargs) self.type = 'AzureSqlTable' # type: str self.table_name = kwargs.get('table_name', None) self.schema_type_properties_schema = kwargs.get('schema_type_properties_schema', None) @@ -6722,7 +7397,7 @@ class MultiplePipelineTrigger(Trigger): """Base class for all triggers that support one to many model for trigger to pipeline. You probably want to use the sub-classes and not this class directly. Known - sub-classes are: BlobEventsTrigger, BlobTrigger, ScheduleTrigger. + sub-classes are: BlobEventsTrigger, BlobTrigger, CustomEventsTrigger, ScheduleTrigger. Variables are only populated by the server, and will be ignored when sending a request. @@ -6759,7 +7434,7 @@ class MultiplePipelineTrigger(Trigger): } _subtype_map = { - 'type': {'BlobEventsTrigger': 'BlobEventsTrigger', 'BlobTrigger': 'BlobTrigger', 'ScheduleTrigger': 'ScheduleTrigger'} + 'type': {'BlobEventsTrigger': 'BlobEventsTrigger', 'BlobTrigger': 'BlobTrigger', 'CustomEventsTrigger': 'CustomEventsTrigger', 'ScheduleTrigger': 'ScheduleTrigger'} } def __init__( @@ -7365,6 +8040,26 @@ def __init__( self.password = kwargs['password'] +class CmkIdentityDefinition(msrest.serialization.Model): + """Managed Identity used for CMK. + + :param user_assigned_identity: The resource id of the user assigned identity to authenticate to + customer's key vault. + :type user_assigned_identity: str + """ + + _attribute_map = { + 'user_assigned_identity': {'key': 'userAssignedIdentity', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(CmkIdentityDefinition, self).__init__(**kwargs) + self.user_assigned_identity = kwargs.get('user_assigned_identity', None) + + class CommonDataServiceForAppsEntityDataset(Dataset): """The Common Data Service for Apps entity dataset. @@ -7699,7 +8394,7 @@ class CompressionReadSettings(msrest.serialization.Model): """Compression read settings. You probably want to use the sub-classes and not this class directly. Known - sub-classes are: ZipDeflateReadSettings. + sub-classes are: TarGZipReadSettings, TarReadSettings, ZipDeflateReadSettings. All required parameters must be populated in order to send to Azure. @@ -7720,7 +8415,7 @@ class CompressionReadSettings(msrest.serialization.Model): } _subtype_map = { - 'type': {'ZipDeflateReadSettings': 'ZipDeflateReadSettings'} + 'type': {'TarGZipReadSettings': 'TarGZipReadSettings', 'TarReadSettings': 'TarReadSettings', 'ZipDeflateReadSettings': 'ZipDeflateReadSettings'} } def __init__( @@ -7750,6 +8445,9 @@ class ConcurLinkedService(LinkedService): :type parameters: dict[str, ~data_factory_management_client.models.ParameterSpecification] :param annotations: List of tags that can be used for describing the linked service. :type annotations: list[object] + :param connection_properties: Properties used to connect to Concur. It is mutually exclusive + with any other properties in the linked service. Type: object. + :type connection_properties: object :param client_id: Required. Application client_id supplied by Concur App Management. :type client_id: object :param username: Required. The user name that you use to access Concur Service. @@ -7786,6 +8484,7 @@ class ConcurLinkedService(LinkedService): 'description': {'key': 'description', 'type': 'str'}, 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_properties': {'key': 'typeProperties.connectionProperties', 'type': 'object'}, 'client_id': {'key': 'typeProperties.clientId', 'type': 'object'}, 'username': {'key': 'typeProperties.username', 'type': 'object'}, 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, @@ -7801,6 +8500,7 @@ def __init__( ): super(ConcurLinkedService, self).__init__(**kwargs) self.type = 'Concur' # type: str + self.connection_properties = kwargs.get('connection_properties', None) self.client_id = kwargs['client_id'] self.username = kwargs['username'] self.password = kwargs.get('password', None) @@ -8050,9 +8750,11 @@ class CopyActivity(ExecutionActivity): EnableSkipIncompatibleRow is true. :type redirect_incompatible_row_settings: ~data_factory_management_client.models.RedirectIncompatibleRowSettings - :param log_storage_settings: Log storage settings customer need to provide when enabling - session log. + :param log_storage_settings: (Deprecated. Please use LogSettings) Log storage settings customer + need to provide when enabling session log. :type log_storage_settings: ~data_factory_management_client.models.LogStorageSettings + :param log_settings: Log settings customer needs provide when enabling log. + :type log_settings: ~data_factory_management_client.models.LogSettings :param preserve_rules: Preserve Rules. :type preserve_rules: list[object] :param preserve: Preserve rules. @@ -8092,6 +8794,7 @@ class CopyActivity(ExecutionActivity): 'enable_skip_incompatible_row': {'key': 'typeProperties.enableSkipIncompatibleRow', 'type': 'object'}, 'redirect_incompatible_row_settings': {'key': 'typeProperties.redirectIncompatibleRowSettings', 'type': 'RedirectIncompatibleRowSettings'}, 'log_storage_settings': {'key': 'typeProperties.logStorageSettings', 'type': 'LogStorageSettings'}, + 'log_settings': {'key': 'typeProperties.logSettings', 'type': 'LogSettings'}, 'preserve_rules': {'key': 'typeProperties.preserveRules', 'type': '[object]'}, 'preserve': {'key': 'typeProperties.preserve', 'type': '[object]'}, 'validate_data_consistency': {'key': 'typeProperties.validateDataConsistency', 'type': 'object'}, @@ -8116,12 +8819,38 @@ def __init__( self.enable_skip_incompatible_row = kwargs.get('enable_skip_incompatible_row', None) self.redirect_incompatible_row_settings = kwargs.get('redirect_incompatible_row_settings', None) self.log_storage_settings = kwargs.get('log_storage_settings', None) + self.log_settings = kwargs.get('log_settings', None) self.preserve_rules = kwargs.get('preserve_rules', None) self.preserve = kwargs.get('preserve', None) self.validate_data_consistency = kwargs.get('validate_data_consistency', None) self.skip_error_file = kwargs.get('skip_error_file', None) +class CopyActivityLogSettings(msrest.serialization.Model): + """Settings for copy activity log. + + :param log_level: Gets or sets the log level, support: Info, Warning. Type: string (or + Expression with resultType string). + :type log_level: object + :param enable_reliable_logging: Specifies whether to enable reliable logging. Type: boolean (or + Expression with resultType boolean). + :type enable_reliable_logging: object + """ + + _attribute_map = { + 'log_level': {'key': 'logLevel', 'type': 'object'}, + 'enable_reliable_logging': {'key': 'enableReliableLogging', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(CopyActivityLogSettings, self).__init__(**kwargs) + self.log_level = kwargs.get('log_level', None) + self.enable_reliable_logging = kwargs.get('enable_reliable_logging', None) + + class CopyTranslator(msrest.serialization.Model): """A copy activity translator. @@ -8159,7 +8888,7 @@ def __init__( self.type = 'CopyTranslator' # type: str -class CosmosDBLinkedService(LinkedService): +class CosmosDbLinkedService(LinkedService): """Microsoft Azure Cosmos Database (CosmosDB) linked service. All required parameters must be populated in order to send to Azure. @@ -8188,6 +8917,31 @@ class CosmosDBLinkedService(LinkedService): :param account_key: The account key of the Azure CosmosDB account. Type: SecureString or AzureKeyVaultSecretReference. :type account_key: ~data_factory_management_client.models.SecretBase + :param service_principal_id: The client ID of the application in Azure Active Directory used + for Server-To-Server authentication. Type: string (or Expression with resultType string). + :type service_principal_id: object + :param service_principal_credential_type: The service principal credential type to use in + Server-To-Server authentication. 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert' + for certificate. Type: string (or Expression with resultType string). Possible values include: + "ServicePrincipalKey", "ServicePrincipalCert". + :type service_principal_credential_type: str or + ~data_factory_management_client.models.CosmosDbServicePrincipalCredentialType + :param service_principal_credential: The credential of the service principal object in Azure + Active Directory. If servicePrincipalCredentialType is 'ServicePrincipalKey', + servicePrincipalCredential can be SecureString or AzureKeyVaultSecretReference. If + servicePrincipalCredentialType is 'ServicePrincipalCert', servicePrincipalCredential can only + be AzureKeyVaultSecretReference. + :type service_principal_credential: ~data_factory_management_client.models.SecretBase + :param tenant: The name or ID of the tenant to which the service principal belongs. Type: + string (or Expression with resultType string). + :type tenant: object + :param azure_cloud_type: Indicates the azure cloud type of the service principle auth. Allowed + values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data + factory regions’ cloud type. Type: string (or Expression with resultType string). + :type azure_cloud_type: object + :param connection_mode: The connection mode used to access CosmosDB account. Type: string (or + Expression with resultType string). Possible values include: "Gateway", "Direct". + :type connection_mode: str or ~data_factory_management_client.models.CosmosDbConnectionMode :param encrypted_credential: The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). @@ -8209,6 +8963,12 @@ class CosmosDBLinkedService(LinkedService): 'account_endpoint': {'key': 'typeProperties.accountEndpoint', 'type': 'object'}, 'database': {'key': 'typeProperties.database', 'type': 'object'}, 'account_key': {'key': 'typeProperties.accountKey', 'type': 'SecretBase'}, + 'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'}, + 'service_principal_credential_type': {'key': 'typeProperties.servicePrincipalCredentialType', 'type': 'str'}, + 'service_principal_credential': {'key': 'typeProperties.servicePrincipalCredential', 'type': 'SecretBase'}, + 'tenant': {'key': 'typeProperties.tenant', 'type': 'object'}, + 'azure_cloud_type': {'key': 'typeProperties.azureCloudType', 'type': 'object'}, + 'connection_mode': {'key': 'typeProperties.connectionMode', 'type': 'str'}, 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, } @@ -8216,16 +8976,22 @@ def __init__( self, **kwargs ): - super(CosmosDBLinkedService, self).__init__(**kwargs) + super(CosmosDbLinkedService, self).__init__(**kwargs) self.type = 'CosmosDb' # type: str self.connection_string = kwargs.get('connection_string', None) self.account_endpoint = kwargs.get('account_endpoint', None) self.database = kwargs.get('database', None) self.account_key = kwargs.get('account_key', None) + self.service_principal_id = kwargs.get('service_principal_id', None) + self.service_principal_credential_type = kwargs.get('service_principal_credential_type', None) + self.service_principal_credential = kwargs.get('service_principal_credential', None) + self.tenant = kwargs.get('tenant', None) + self.azure_cloud_type = kwargs.get('azure_cloud_type', None) + self.connection_mode = kwargs.get('connection_mode', None) self.encrypted_credential = kwargs.get('encrypted_credential', None) -class CosmosDBMongoDBApiCollectionDataset(Dataset): +class CosmosDbMongoDbApiCollectionDataset(Dataset): """The CosmosDB (MongoDB API) database dataset. All required parameters must be populated in order to send to Azure. @@ -8280,12 +9046,12 @@ def __init__( self, **kwargs ): - super(CosmosDBMongoDBApiCollectionDataset, self).__init__(**kwargs) + super(CosmosDbMongoDbApiCollectionDataset, self).__init__(**kwargs) self.type = 'CosmosDbMongoDbApiCollection' # type: str self.collection = kwargs['collection'] -class CosmosDBMongoDBApiLinkedService(LinkedService): +class CosmosDbMongoDbApiLinkedService(LinkedService): """Linked service for CosmosDB (MongoDB API) data source. All required parameters must be populated in order to send to Azure. @@ -8333,13 +9099,13 @@ def __init__( self, **kwargs ): - super(CosmosDBMongoDBApiLinkedService, self).__init__(**kwargs) + super(CosmosDbMongoDbApiLinkedService, self).__init__(**kwargs) self.type = 'CosmosDbMongoDbApi' # type: str self.connection_string = kwargs['connection_string'] self.database = kwargs['database'] -class CosmosDBMongoDBApiSink(CopySink): +class CosmosDbMongoDbApiSink(CopySink): """A copy activity sink for a CosmosDB (MongoDB API) database. All required parameters must be populated in order to send to Azure. @@ -8389,12 +9155,12 @@ def __init__( self, **kwargs ): - super(CosmosDBMongoDBApiSink, self).__init__(**kwargs) + super(CosmosDbMongoDbApiSink, self).__init__(**kwargs) self.type = 'CosmosDbMongoDbApiSink' # type: str self.write_behavior = kwargs.get('write_behavior', None) -class CosmosDBMongoDBApiSource(CopySource): +class CosmosDbMongoDbApiSource(CopySource): """A copy activity source for a CosmosDB (MongoDB API) database. All required parameters must be populated in order to send to Azure. @@ -8418,7 +9184,7 @@ class CosmosDBMongoDBApiSource(CopySource): with resultType string). :type filter: object :param cursor_methods: Cursor methods for Mongodb query. - :type cursor_methods: ~data_factory_management_client.models.MongoDBCursorMethodsProperties + :type cursor_methods: ~data_factory_management_client.models.MongoDbCursorMethodsProperties :param batch_size: Specifies the number of documents to return in each batch of the response from MongoDB instance. In most cases, modifying the batch size will not affect the user or the application. This property's main purpose is to avoid hit the limitation of response size. @@ -8443,7 +9209,7 @@ class CosmosDBMongoDBApiSource(CopySource): 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, 'filter': {'key': 'filter', 'type': 'object'}, - 'cursor_methods': {'key': 'cursorMethods', 'type': 'MongoDBCursorMethodsProperties'}, + 'cursor_methods': {'key': 'cursorMethods', 'type': 'MongoDbCursorMethodsProperties'}, 'batch_size': {'key': 'batchSize', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, @@ -8453,7 +9219,7 @@ def __init__( self, **kwargs ): - super(CosmosDBMongoDBApiSource, self).__init__(**kwargs) + super(CosmosDbMongoDbApiSource, self).__init__(**kwargs) self.type = 'CosmosDbMongoDbApiSource' # type: str self.filter = kwargs.get('filter', None) self.cursor_methods = kwargs.get('cursor_methods', None) @@ -8462,7 +9228,7 @@ def __init__( self.additional_columns = kwargs.get('additional_columns', None) -class CosmosDBSQLApiCollectionDataset(Dataset): +class CosmosDbSqlApiCollectionDataset(Dataset): """Microsoft Azure CosmosDB (SQL API) Collection dataset. All required parameters must be populated in order to send to Azure. @@ -8517,12 +9283,12 @@ def __init__( self, **kwargs ): - super(CosmosDBSQLApiCollectionDataset, self).__init__(**kwargs) + super(CosmosDbSqlApiCollectionDataset, self).__init__(**kwargs) self.type = 'CosmosDbSqlApiCollection' # type: str self.collection_name = kwargs['collection_name'] -class CosmosDBSQLApiSink(CopySink): +class CosmosDbSqlApiSink(CopySink): """A copy activity Azure CosmosDB (SQL API) Collection sink. All required parameters must be populated in order to send to Azure. @@ -8571,12 +9337,12 @@ def __init__( self, **kwargs ): - super(CosmosDBSQLApiSink, self).__init__(**kwargs) + super(CosmosDbSqlApiSink, self).__init__(**kwargs) self.type = 'CosmosDbSqlApiSink' # type: str self.write_behavior = kwargs.get('write_behavior', None) -class CosmosDBSQLApiSource(CopySource): +class CosmosDbSqlApiSource(CopySource): """A copy activity Azure CosmosDB (SQL API) Collection source. All required parameters must be populated in order to send to Azure. @@ -8632,7 +9398,7 @@ def __init__( self, **kwargs ): - super(CosmosDBSQLApiSource, self).__init__(**kwargs) + super(CosmosDbSqlApiSource, self).__init__(**kwargs) self.type = 'CosmosDbSqlApiSource' # type: str self.query = kwargs.get('query', None) self.page_size = kwargs.get('page_size', None) @@ -8820,18 +9586,16 @@ class CreateDataFlowDebugSessionRequest(msrest.serialization.Model): :type core_count: int :param time_to_live: Time to live setting of the cluster in minutes. :type time_to_live: int - :param name: The resource name. - :type name: str - :param properties: Integration runtime properties. - :type properties: ~data_factory_management_client.models.IntegrationRuntime + :param integration_runtime: Set to use integration runtime setting for data flow debug session. + :type integration_runtime: + ~data_factory_management_client.models.IntegrationRuntimeDebugResource """ _attribute_map = { 'compute_type': {'key': 'computeType', 'type': 'str'}, 'core_count': {'key': 'coreCount', 'type': 'int'}, 'time_to_live': {'key': 'timeToLive', 'type': 'int'}, - 'name': {'key': 'integrationRuntime.name', 'type': 'str'}, - 'properties': {'key': 'integrationRuntime.properties', 'type': 'IntegrationRuntime'}, + 'integration_runtime': {'key': 'integrationRuntime', 'type': 'IntegrationRuntimeDebugResource'}, } def __init__( @@ -8842,8 +9606,7 @@ def __init__( self.compute_type = kwargs.get('compute_type', None) self.core_count = kwargs.get('core_count', None) self.time_to_live = kwargs.get('time_to_live', None) - self.name = kwargs.get('name', None) - self.properties = kwargs.get('properties', None) + self.integration_runtime = kwargs.get('integration_runtime', None) class CreateDataFlowDebugSessionResponse(msrest.serialization.Model): @@ -8967,6 +9730,9 @@ class CustomActivity(ExecutionActivity): :param retention_time_in_days: The retention time for the files submitted for custom activity. Type: double (or Expression with resultType double). :type retention_time_in_days: object + :param auto_user_specification: Elevation level and scope for the user, default is nonadmin + task. Type: string (or Expression with resultType double). + :type auto_user_specification: object """ _validation = { @@ -8990,6 +9756,7 @@ class CustomActivity(ExecutionActivity): 'reference_objects': {'key': 'typeProperties.referenceObjects', 'type': 'CustomActivityReferenceObject'}, 'extended_properties': {'key': 'typeProperties.extendedProperties', 'type': '{object}'}, 'retention_time_in_days': {'key': 'typeProperties.retentionTimeInDays', 'type': 'object'}, + 'auto_user_specification': {'key': 'typeProperties.autoUserSpecification', 'type': 'object'}, } def __init__( @@ -9004,6 +9771,7 @@ def __init__( self.reference_objects = kwargs.get('reference_objects', None) self.extended_properties = kwargs.get('extended_properties', None) self.retention_time_in_days = kwargs.get('retention_time_in_days', None) + self.auto_user_specification = kwargs.get('auto_user_specification', None) class CustomActivityReferenceObject(msrest.serialization.Model): @@ -9133,6 +9901,71 @@ def __init__( self.type_properties = kwargs['type_properties'] +class CustomEventsTrigger(MultiplePipelineTrigger): + """Trigger that runs every time a custom event is received. + + 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 additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Trigger type.Constant filled by server. + :type type: str + :param description: Trigger description. + :type description: str + :ivar runtime_state: Indicates if trigger is running or not. Updated when Start/Stop APIs are + called on the Trigger. Possible values include: "Started", "Stopped", "Disabled". + :vartype runtime_state: str or ~data_factory_management_client.models.TriggerRuntimeState + :param annotations: List of tags that can be used for describing the trigger. + :type annotations: list[object] + :param pipelines: Pipelines that need to be started. + :type pipelines: list[~data_factory_management_client.models.TriggerPipelineReference] + :param subject_begins_with: The event subject must begin with the pattern provided for trigger + to fire. At least one of these must be provided: subjectBeginsWith, subjectEndsWith. + :type subject_begins_with: str + :param subject_ends_with: The event subject must end with the pattern provided for trigger to + fire. At least one of these must be provided: subjectBeginsWith, subjectEndsWith. + :type subject_ends_with: str + :param events: Required. The list of event types that cause this trigger to fire. + :type events: list[object] + :param scope: Required. The ARM resource ID of the Azure Event Grid Topic. + :type scope: str + """ + + _validation = { + 'type': {'required': True}, + 'runtime_state': {'readonly': True}, + 'events': {'required': True}, + 'scope': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'runtime_state': {'key': 'runtimeState', 'type': 'str'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'pipelines': {'key': 'pipelines', 'type': '[TriggerPipelineReference]'}, + 'subject_begins_with': {'key': 'typeProperties.subjectBeginsWith', 'type': 'str'}, + 'subject_ends_with': {'key': 'typeProperties.subjectEndsWith', 'type': 'str'}, + 'events': {'key': 'typeProperties.events', 'type': '[object]'}, + 'scope': {'key': 'typeProperties.scope', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(CustomEventsTrigger, self).__init__(**kwargs) + self.type = 'CustomEventsTrigger' # type: str + self.subject_begins_with = kwargs.get('subject_begins_with', None) + self.subject_ends_with = kwargs.get('subject_ends_with', None) + self.events = kwargs['events'] + self.scope = kwargs['scope'] + + class DatabricksNotebookActivity(ExecutionActivity): """DatabricksNotebook activity. @@ -9452,60 +10285,33 @@ def __init__( class DataFlowDebugPackage(msrest.serialization.Model): """Request body structure for starting data flow debug session. - Variables are only populated by the server, and will be ignored when sending a request. - :param additional_properties: Unmatched properties from the message are deserialized to this collection. :type additional_properties: dict[str, object] :param session_id: The ID of data flow debug session. :type session_id: str + :param data_flow: Data flow instance. + :type data_flow: ~data_factory_management_client.models.DataFlowDebugResource :param datasets: List of datasets. :type datasets: list[~data_factory_management_client.models.DatasetDebugResource] :param linked_services: List of linked services. :type linked_services: list[~data_factory_management_client.models.LinkedServiceDebugResource] - :param source_settings: Source setting for data flow debug. - :type source_settings: list[~data_factory_management_client.models.DataFlowSourceSetting] - :param parameters_debug_settings_parameters: Data flow parameters. - :type parameters_debug_settings_parameters: dict[str, object] - :param dataset_parameters: Parameters for dataset. - :type dataset_parameters: object - :param folder_path: Folder path for staging blob. Type: string (or Expression with resultType - string). - :type folder_path: object - :ivar type: Linked service reference type. Default value: "LinkedServiceReference". - :vartype type: str - :param reference_name: Reference LinkedService name. - :type reference_name: str - :param parameters_staging_linked_service_parameters: Arguments for LinkedService. - :type parameters_staging_linked_service_parameters: dict[str, object] - :param name: The resource name. - :type name: str - :param properties: Data flow properties. - :type properties: ~data_factory_management_client.models.DataFlow + :param staging: Staging info for debug session. + :type staging: ~data_factory_management_client.models.DataFlowStagingInfo + :param debug_settings: Data flow debug settings. + :type debug_settings: ~data_factory_management_client.models.DataFlowDebugPackageDebugSettings """ - _validation = { - 'type': {'constant': True}, - } - _attribute_map = { 'additional_properties': {'key': '', 'type': '{object}'}, 'session_id': {'key': 'sessionId', 'type': 'str'}, + 'data_flow': {'key': 'dataFlow', 'type': 'DataFlowDebugResource'}, 'datasets': {'key': 'datasets', 'type': '[DatasetDebugResource]'}, 'linked_services': {'key': 'linkedServices', 'type': '[LinkedServiceDebugResource]'}, - 'source_settings': {'key': 'debugSettings.sourceSettings', 'type': '[DataFlowSourceSetting]'}, - 'parameters_debug_settings_parameters': {'key': 'debugSettings.parameters', 'type': '{object}'}, - 'dataset_parameters': {'key': 'debugSettings.datasetParameters', 'type': 'object'}, - 'folder_path': {'key': 'staging.folderPath', 'type': 'object'}, - 'type': {'key': 'staging.linkedService.type', 'type': 'str'}, - 'reference_name': {'key': 'staging.linkedService.referenceName', 'type': 'str'}, - 'parameters_staging_linked_service_parameters': {'key': 'staging.linkedService.parameters', 'type': '{object}'}, - 'name': {'key': 'dataFlow.name', 'type': 'str'}, - 'properties': {'key': 'dataFlow.properties', 'type': 'DataFlow'}, + 'staging': {'key': 'staging', 'type': 'DataFlowStagingInfo'}, + 'debug_settings': {'key': 'debugSettings', 'type': 'DataFlowDebugPackageDebugSettings'}, } - type = "LinkedServiceReference" - def __init__( self, **kwargs @@ -9513,16 +10319,38 @@ def __init__( super(DataFlowDebugPackage, self).__init__(**kwargs) self.additional_properties = kwargs.get('additional_properties', None) self.session_id = kwargs.get('session_id', None) + self.data_flow = kwargs.get('data_flow', None) self.datasets = kwargs.get('datasets', None) self.linked_services = kwargs.get('linked_services', None) + self.staging = kwargs.get('staging', None) + self.debug_settings = kwargs.get('debug_settings', None) + + +class DataFlowDebugPackageDebugSettings(msrest.serialization.Model): + """Data flow debug settings. + + :param source_settings: Source setting for data flow debug. + :type source_settings: list[~data_factory_management_client.models.DataFlowSourceSetting] + :param parameters: Data flow parameters. + :type parameters: dict[str, object] + :param dataset_parameters: Parameters for dataset. + :type dataset_parameters: object + """ + + _attribute_map = { + 'source_settings': {'key': 'sourceSettings', 'type': '[DataFlowSourceSetting]'}, + 'parameters': {'key': 'parameters', 'type': '{object}'}, + 'dataset_parameters': {'key': 'datasetParameters', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(DataFlowDebugPackageDebugSettings, self).__init__(**kwargs) self.source_settings = kwargs.get('source_settings', None) - self.parameters_debug_settings_parameters = kwargs.get('parameters_debug_settings_parameters', None) + self.parameters = kwargs.get('parameters', None) self.dataset_parameters = kwargs.get('dataset_parameters', None) - self.folder_path = kwargs.get('folder_path', None) - self.reference_name = kwargs.get('reference_name', None) - self.parameters_staging_linked_service_parameters = kwargs.get('parameters_staging_linked_service_parameters', None) - self.name = kwargs.get('name', None) - self.properties = kwargs.get('properties', None) class SubResourceDebugResource(msrest.serialization.Model): @@ -9939,40 +10767,25 @@ def __init__( class DataFlowStagingInfo(msrest.serialization.Model): """Staging info for execute data flow activity. - Variables are only populated by the server, and will be ignored when sending a request. - + :param linked_service: Staging linked service reference. + :type linked_service: ~data_factory_management_client.models.LinkedServiceReference :param folder_path: Folder path for staging blob. Type: string (or Expression with resultType string). :type folder_path: object - :ivar type: Linked service reference type. Default value: "LinkedServiceReference". - :vartype type: str - :param reference_name: Reference LinkedService name. - :type reference_name: str - :param parameters: Arguments for LinkedService. - :type parameters: dict[str, object] """ - _validation = { - 'type': {'constant': True}, - } - _attribute_map = { + 'linked_service': {'key': 'linkedService', 'type': 'LinkedServiceReference'}, 'folder_path': {'key': 'folderPath', 'type': 'object'}, - 'type': {'key': 'linkedService.type', 'type': 'str'}, - 'reference_name': {'key': 'linkedService.referenceName', 'type': 'str'}, - 'parameters': {'key': 'linkedService.parameters', 'type': '{object}'}, } - type = "LinkedServiceReference" - def __init__( self, **kwargs ): super(DataFlowStagingInfo, self).__init__(**kwargs) + self.linked_service = kwargs.get('linked_service', None) self.folder_path = kwargs.get('folder_path', None) - self.reference_name = kwargs.get('reference_name', None) - self.parameters = kwargs.get('parameters', None) class DataLakeAnalyticsUsqlActivity(ExecutionActivity): @@ -10063,7 +10876,7 @@ class DatasetCompression(msrest.serialization.Model): """The compression method used on a dataset. You probably want to use the sub-classes and not this class directly. Known - sub-classes are: DatasetBZip2Compression, DatasetDeflateCompression, DatasetGZipCompression, DatasetZipDeflateCompression. + sub-classes are: DatasetBZip2Compression, DatasetDeflateCompression, DatasetGZipCompression, DatasetTarCompression, DatasetTarGZipCompression, DatasetZipDeflateCompression. All required parameters must be populated in order to send to Azure. @@ -10084,7 +10897,7 @@ class DatasetCompression(msrest.serialization.Model): } _subtype_map = { - 'type': {'BZip2': 'DatasetBZip2Compression', 'Deflate': 'DatasetDeflateCompression', 'GZip': 'DatasetGZipCompression', 'ZipDeflate': 'DatasetZipDeflateCompression'} + 'type': {'BZip2': 'DatasetBZip2Compression', 'Deflate': 'DatasetDeflateCompression', 'GZip': 'DatasetGZipCompression', 'Tar': 'DatasetTarCompression', 'TarGZip': 'DatasetTarGZipCompression', 'ZipDeflate': 'DatasetZipDeflateCompression'} } def __init__( @@ -10398,6 +11211,68 @@ def __init__( self.type = kwargs.get('type', None) +class DatasetTarCompression(DatasetCompression): + """The Tar archive method used on a dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset compression.Constant filled by server. + :type type: str + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DatasetTarCompression, self).__init__(**kwargs) + self.type = 'Tar' # type: str + + +class DatasetTarGZipCompression(DatasetCompression): + """The TarGZip compression method used on a dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset compression.Constant filled by server. + :type type: str + :param level: The TarGZip compression level. Possible values include: "Optimal", "Fastest". + :type level: str or ~data_factory_management_client.models.DatasetCompressionLevel + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'level': {'key': 'level', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DatasetTarGZipCompression, self).__init__(**kwargs) + self.type = 'TarGZip' # type: str + self.level = kwargs.get('level', None) + + class DatasetZipDeflateCompression(DatasetCompression): """The ZipDeflate compression method used on a dataset. @@ -10778,7 +11653,7 @@ class DelimitedTextDataset(Dataset): resultType string). :type encoding_name: object :param compression_codec: Possible values include: "none", "gzip", "snappy", "lzo", "bzip2", - "deflate", "zipDeflate", "lz4". + "deflate", "zipDeflate", "lz4", "tar", "tarGZip". :type compression_codec: str or ~data_factory_management_client.models.CompressionCodec :param compression_level: The data compression method used for DelimitedText. Possible values include: "Optimal", "Fastest". @@ -11005,6 +11880,13 @@ class DelimitedTextWriteSettings(FormatWriteSettings): :param file_extension: Required. The file extension used to create the files. Type: string (or Expression with resultType string). :type file_extension: object + :param max_rows_per_file: Limit the written file's row count to be smaller than or equal to the + specified count. Type: integer (or Expression with resultType integer). + :type max_rows_per_file: object + :param file_name_prefix: Specifies the file name pattern + :code:``_:code:``.:code:`` when copy from non-file + based store without partitionOptions. Type: string (or Expression with resultType string). + :type file_name_prefix: object """ _validation = { @@ -11017,6 +11899,8 @@ class DelimitedTextWriteSettings(FormatWriteSettings): 'type': {'key': 'type', 'type': 'str'}, 'quote_all_text': {'key': 'quoteAllText', 'type': 'object'}, 'file_extension': {'key': 'fileExtension', 'type': 'object'}, + 'max_rows_per_file': {'key': 'maxRowsPerFile', 'type': 'object'}, + 'file_name_prefix': {'key': 'fileNamePrefix', 'type': 'object'}, } def __init__( @@ -11027,6 +11911,8 @@ def __init__( self.type = 'DelimitedTextWriteSettings' # type: str self.quote_all_text = kwargs.get('quote_all_text', None) self.file_extension = kwargs['file_extension'] + self.max_rows_per_file = kwargs.get('max_rows_per_file', None) + self.file_name_prefix = kwargs.get('file_name_prefix', None) class DependencyReference(msrest.serialization.Model): @@ -11099,7 +11985,7 @@ def __init__( self.distcp_options = kwargs.get('distcp_options', None) -class DocumentDBCollectionDataset(Dataset): +class DocumentDbCollectionDataset(Dataset): """Microsoft Azure Document Database Collection dataset. All required parameters must be populated in order to send to Azure. @@ -11154,12 +12040,12 @@ def __init__( self, **kwargs ): - super(DocumentDBCollectionDataset, self).__init__(**kwargs) + super(DocumentDbCollectionDataset, self).__init__(**kwargs) self.type = 'DocumentDbCollection' # type: str self.collection_name = kwargs['collection_name'] -class DocumentDBCollectionSink(CopySink): +class DocumentDbCollectionSink(CopySink): """A copy activity Document Database Collection sink. All required parameters must be populated in order to send to Azure. @@ -11212,13 +12098,13 @@ def __init__( self, **kwargs ): - super(DocumentDBCollectionSink, self).__init__(**kwargs) + super(DocumentDbCollectionSink, self).__init__(**kwargs) self.type = 'DocumentDbCollectionSink' # type: str self.nesting_separator = kwargs.get('nesting_separator', None) self.write_behavior = kwargs.get('write_behavior', None) -class DocumentDBCollectionSource(CopySource): +class DocumentDbCollectionSource(CopySource): """A copy activity Document Database Collection source. All required parameters must be populated in order to send to Azure. @@ -11270,7 +12156,7 @@ def __init__( self, **kwargs ): - super(DocumentDBCollectionSource, self).__init__(**kwargs) + super(DocumentDbCollectionSource, self).__init__(**kwargs) self.type = 'DocumentDbCollectionSource' # type: str self.query = kwargs.get('query', None) self.nesting_separator = kwargs.get('nesting_separator', None) @@ -11456,7 +12342,7 @@ def __init__( self.schema_type_properties_schema = kwargs.get('schema_type_properties_schema', None) -class DWCopyCommandDefaultValue(msrest.serialization.Model): +class DwCopyCommandDefaultValue(msrest.serialization.Model): """Default value. :param column_name: Column name. Type: object (or Expression with resultType string). @@ -11475,19 +12361,19 @@ def __init__( self, **kwargs ): - super(DWCopyCommandDefaultValue, self).__init__(**kwargs) + super(DwCopyCommandDefaultValue, self).__init__(**kwargs) self.column_name = kwargs.get('column_name', None) self.default_value = kwargs.get('default_value', None) -class DWCopyCommandSettings(msrest.serialization.Model): +class DwCopyCommandSettings(msrest.serialization.Model): """DW Copy Command settings. :param default_values: Specifies the default values for each target column in SQL DW. The default values in the property overwrite the DEFAULT constraint set in the DB, and identity column cannot have a default value. Type: array of objects (or Expression with resultType array of objects). - :type default_values: list[~data_factory_management_client.models.DWCopyCommandDefaultValue] + :type default_values: list[~data_factory_management_client.models.DwCopyCommandDefaultValue] :param additional_options: Additional options directly passed to SQL DW in Copy Command. Type: key value pairs (value should be string type) (or Expression with resultType object). Example: "additionalOptions": { "MAXERRORS": "1000", "DATEFORMAT": "'ymd'" }. @@ -11495,7 +12381,7 @@ class DWCopyCommandSettings(msrest.serialization.Model): """ _attribute_map = { - 'default_values': {'key': 'defaultValues', 'type': '[DWCopyCommandDefaultValue]'}, + 'default_values': {'key': 'defaultValues', 'type': '[DwCopyCommandDefaultValue]'}, 'additional_options': {'key': 'additionalOptions', 'type': '{str}'}, } @@ -11503,7 +12389,7 @@ def __init__( self, **kwargs ): - super(DWCopyCommandSettings, self).__init__(**kwargs) + super(DwCopyCommandSettings, self).__init__(**kwargs) self.default_values = kwargs.get('default_values', None) self.additional_options = kwargs.get('additional_options', None) @@ -12483,6 +13369,47 @@ def __init__( self.query = kwargs.get('query', None) +class EncryptionConfiguration(msrest.serialization.Model): + """Definition of CMK for the factory. + + All required parameters must be populated in order to send to Azure. + + :param key_name: Required. The name of the key in Azure Key Vault to use as Customer Managed + Key. + :type key_name: str + :param vault_base_url: Required. The url of the Azure Key Vault used for CMK. + :type vault_base_url: str + :param key_version: The version of the key used for CMK. If not provided, latest version will + be used. + :type key_version: str + :param identity: User assigned identity to use to authenticate to customer's key vault. If not + provided Managed Service Identity will be used. + :type identity: ~data_factory_management_client.models.CmkIdentityDefinition + """ + + _validation = { + 'key_name': {'required': True}, + 'vault_base_url': {'required': True}, + } + + _attribute_map = { + 'key_name': {'key': 'keyName', 'type': 'str'}, + 'vault_base_url': {'key': 'vaultBaseUrl', 'type': 'str'}, + 'key_version': {'key': 'keyVersion', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'CmkIdentityDefinition'}, + } + + def __init__( + self, + **kwargs + ): + super(EncryptionConfiguration, self).__init__(**kwargs) + self.key_name = kwargs['key_name'] + self.vault_base_url = kwargs['vault_base_url'] + self.key_version = kwargs.get('key_version', None) + self.identity = kwargs.get('identity', None) + + class EntityReference(msrest.serialization.Model): """The entity reference. @@ -12705,6 +13632,16 @@ class ExecuteDataFlowActivity(ExecutionActivity): :param compute: Compute properties for data flow activity. :type compute: ~data_factory_management_client.models.ExecuteDataFlowActivityTypePropertiesCompute + :param trace_level: Trace level setting used for data flow monitoring output. Supported values + are: 'coarse', 'fine', and 'none'. Type: string (or Expression with resultType string). + :type trace_level: object + :param continue_on_error: Continue on error setting used for data flow execution. Enables + processing to continue if a sink fails. Type: boolean (or Expression with resultType boolean). + :type continue_on_error: object + :param run_concurrently: Concurrent run setting used for data flow execution. Allows sinks with + the same save order to be processed concurrently. Type: boolean (or Expression with resultType + boolean). + :type run_concurrently: object """ _validation = { @@ -12726,6 +13663,9 @@ class ExecuteDataFlowActivity(ExecutionActivity): 'staging': {'key': 'typeProperties.staging', 'type': 'DataFlowStagingInfo'}, 'integration_runtime': {'key': 'typeProperties.integrationRuntime', 'type': 'IntegrationRuntimeReference'}, 'compute': {'key': 'typeProperties.compute', 'type': 'ExecuteDataFlowActivityTypePropertiesCompute'}, + 'trace_level': {'key': 'typeProperties.traceLevel', 'type': 'object'}, + 'continue_on_error': {'key': 'typeProperties.continueOnError', 'type': 'object'}, + 'run_concurrently': {'key': 'typeProperties.runConcurrently', 'type': 'object'}, } def __init__( @@ -12738,22 +13678,26 @@ def __init__( self.staging = kwargs.get('staging', None) self.integration_runtime = kwargs.get('integration_runtime', None) self.compute = kwargs.get('compute', None) + self.trace_level = kwargs.get('trace_level', None) + self.continue_on_error = kwargs.get('continue_on_error', None) + self.run_concurrently = kwargs.get('run_concurrently', None) class ExecuteDataFlowActivityTypePropertiesCompute(msrest.serialization.Model): """Compute properties for data flow activity. :param compute_type: Compute type of the cluster which will execute data flow job. Possible - values include: "General", "MemoryOptimized", "ComputeOptimized". - :type compute_type: str or ~data_factory_management_client.models.DataFlowComputeType + values include: 'General', 'MemoryOptimized', 'ComputeOptimized'. Type: string (or Expression + with resultType string). + :type compute_type: object :param core_count: Core count of the cluster which will execute data flow job. Supported values - are: 8, 16, 32, 48, 80, 144 and 272. - :type core_count: int + are: 8, 16, 32, 48, 80, 144 and 272. Type: integer (or Expression with resultType integer). + :type core_count: object """ _attribute_map = { - 'compute_type': {'key': 'computeType', 'type': 'str'}, - 'core_count': {'key': 'coreCount', 'type': 'int'}, + 'compute_type': {'key': 'computeType', 'type': 'object'}, + 'core_count': {'key': 'coreCount', 'type': 'object'}, } def __init__( @@ -12927,43 +13871,6 @@ def __init__( self.log_location = kwargs.get('log_location', None) -class ExportSettings(msrest.serialization.Model): - """Export command settings. - - You probably want to use the sub-classes and not this class directly. Known - sub-classes are: SnowflakeExportCopyCommand. - - All required parameters must be populated in order to send to Azure. - - :param additional_properties: Unmatched properties from the message are deserialized to this - collection. - :type additional_properties: dict[str, object] - :param type: Required. The export setting type.Constant filled by server. - :type type: str - """ - - _validation = { - 'type': {'required': True}, - } - - _attribute_map = { - 'additional_properties': {'key': '', 'type': '{object}'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - _subtype_map = { - 'type': {'SnowflakeExportCopyCommand': 'SnowflakeExportCopyCommand'} - } - - def __init__( - self, - **kwargs - ): - super(ExportSettings, self).__init__(**kwargs) - self.additional_properties = kwargs.get('additional_properties', None) - self.type = 'ExportSettings' # type: str - - class ExposureControlBatchRequest(msrest.serialization.Model): """A list of exposure control features. @@ -13183,6 +14090,11 @@ class Factory(Resource): :param global_parameters: List of parameters for factory. :type global_parameters: dict[str, ~data_factory_management_client.models.GlobalParameterSpecification] + :param encryption: Properties to enable Customer Managed Key for the factory. + :type encryption: ~data_factory_management_client.models.EncryptionConfiguration + :param public_network_access: Whether or not public network access is allowed for the data + factory. Possible values include: "Enabled", "Disabled". + :type public_network_access: str or ~data_factory_management_client.models.PublicNetworkAccess """ _validation = { @@ -13209,6 +14121,8 @@ class Factory(Resource): 'version': {'key': 'properties.version', 'type': 'str'}, 'repo_configuration': {'key': 'properties.repoConfiguration', 'type': 'FactoryRepoConfiguration'}, 'global_parameters': {'key': 'properties.globalParameters', 'type': '{GlobalParameterSpecification}'}, + 'encryption': {'key': 'properties.encryption', 'type': 'EncryptionConfiguration'}, + 'public_network_access': {'key': 'properties.publicNetworkAccess', 'type': 'str'}, } def __init__( @@ -13223,6 +14137,8 @@ def __init__( self.version = None self.repo_configuration = kwargs.get('repo_configuration', None) self.global_parameters = kwargs.get('global_parameters', None) + self.encryption = kwargs.get('encryption', None) + self.public_network_access = kwargs.get('public_network_access', None) class FactoryRepoConfiguration(msrest.serialization.Model): @@ -13336,17 +14252,19 @@ class FactoryIdentity(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :ivar type: Required. The identity type. Currently the only supported type is 'SystemAssigned'. - Default value: "SystemAssigned". - :vartype type: str + :param type: Required. The identity type. Possible values include: "SystemAssigned", + "UserAssigned", "SystemAssigned,UserAssigned". + :type type: str or ~data_factory_management_client.models.FactoryIdentityType :ivar principal_id: The principal id of the identity. :vartype principal_id: str :ivar tenant_id: The client tenant id of the identity. :vartype tenant_id: str + :param user_assigned_identities: List of user assigned identities for the factory. + :type user_assigned_identities: dict[str, object] """ _validation = { - 'type': {'required': True, 'constant': True}, + 'type': {'required': True}, 'principal_id': {'readonly': True}, 'tenant_id': {'readonly': True}, } @@ -13355,17 +14273,18 @@ class FactoryIdentity(msrest.serialization.Model): 'type': {'key': 'type', 'type': 'str'}, 'principal_id': {'key': 'principalId', 'type': 'str'}, 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{object}'}, } - type = "SystemAssigned" - def __init__( self, **kwargs ): super(FactoryIdentity, self).__init__(**kwargs) + self.type = kwargs['type'] self.principal_id = None self.tenant_id = None + self.user_assigned_identities = kwargs.get('user_assigned_identities', None) class FactoryListResponse(msrest.serialization.Model): @@ -16761,6 +17680,9 @@ class HttpLinkedService(LinkedService): :param password: Password for Basic, Digest, Windows, or ClientCertificate with EmbeddedCertData authentication. :type password: ~data_factory_management_client.models.SecretBase + :param auth_headers: The additional HTTP headers in the request to RESTful API used for + authorization. Type: object (or Expression with resultType object). + :type auth_headers: object :param embedded_cert_data: Base64 encoded certificate data for ClientCertificate authentication. For on-premises copy with ClientCertificate authentication, either CertThumbprint or EmbeddedCertData/Password should be specified. Type: string (or Expression @@ -16796,6 +17718,7 @@ class HttpLinkedService(LinkedService): 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, 'user_name': {'key': 'typeProperties.userName', 'type': 'object'}, 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'auth_headers': {'key': 'typeProperties.authHeaders', 'type': 'object'}, 'embedded_cert_data': {'key': 'typeProperties.embeddedCertData', 'type': 'object'}, 'cert_thumbprint': {'key': 'typeProperties.certThumbprint', 'type': 'object'}, 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, @@ -16812,6 +17735,7 @@ def __init__( self.authentication_type = kwargs.get('authentication_type', None) self.user_name = kwargs.get('user_name', None) self.password = kwargs.get('password', None) + self.auth_headers = kwargs.get('auth_headers', None) self.embedded_cert_data = kwargs.get('embedded_cert_data', None) self.cert_thumbprint = kwargs.get('cert_thumbprint', None) self.encrypted_credential = kwargs.get('encrypted_credential', None) @@ -17446,43 +18370,6 @@ def __init__( self.query = kwargs.get('query', None) -class ImportSettings(msrest.serialization.Model): - """Import command settings. - - You probably want to use the sub-classes and not this class directly. Known - sub-classes are: SnowflakeImportCopyCommand. - - All required parameters must be populated in order to send to Azure. - - :param additional_properties: Unmatched properties from the message are deserialized to this - collection. - :type additional_properties: dict[str, object] - :param type: Required. The import setting type.Constant filled by server. - :type type: str - """ - - _validation = { - 'type': {'required': True}, - } - - _attribute_map = { - 'additional_properties': {'key': '', 'type': '{object}'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - _subtype_map = { - 'type': {'SnowflakeImportCopyCommand': 'SnowflakeImportCopyCommand'} - } - - def __init__( - self, - **kwargs - ): - super(ImportSettings, self).__init__(**kwargs) - self.additional_properties = kwargs.get('additional_properties', None) - self.type = 'ImportSettings' # type: str - - class InformixLinkedService(LinkedService): """Informix linked service. @@ -18279,6 +19166,9 @@ class IntegrationRuntimeSsisCatalogInfo(msrest.serialization.Model): include: "Basic", "Standard", "Premium", "PremiumRS". :type catalog_pricing_tier: str or ~data_factory_management_client.models.IntegrationRuntimeSsisCatalogPricingTier + :param dual_standby_pair_name: The dual standby pair name of Azure-SSIS Integration Runtimes to + support SSISDB failover. + :type dual_standby_pair_name: str """ _validation = { @@ -18291,6 +19181,7 @@ class IntegrationRuntimeSsisCatalogInfo(msrest.serialization.Model): 'catalog_admin_user_name': {'key': 'catalogAdminUserName', 'type': 'str'}, 'catalog_admin_password': {'key': 'catalogAdminPassword', 'type': 'SecureString'}, 'catalog_pricing_tier': {'key': 'catalogPricingTier', 'type': 'str'}, + 'dual_standby_pair_name': {'key': 'dualStandbyPairName', 'type': 'str'}, } def __init__( @@ -18303,6 +19194,7 @@ def __init__( self.catalog_admin_user_name = kwargs.get('catalog_admin_user_name', None) self.catalog_admin_password = kwargs.get('catalog_admin_password', None) self.catalog_pricing_tier = kwargs.get('catalog_pricing_tier', None) + self.dual_standby_pair_name = kwargs.get('dual_standby_pair_name', None) class IntegrationRuntimeSsisProperties(msrest.serialization.Model): @@ -19323,8 +20215,74 @@ def __init__( self.properties = kwargs['properties'] +class LogLocationSettings(msrest.serialization.Model): + """Log location settings. + + All required parameters must be populated in order to send to Azure. + + :param linked_service_name: Required. Log storage linked service reference. + :type linked_service_name: ~data_factory_management_client.models.LinkedServiceReference + :param path: The path to storage for storing detailed logs of activity execution. Type: string + (or Expression with resultType string). + :type path: object + """ + + _validation = { + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'path': {'key': 'path', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(LogLocationSettings, self).__init__(**kwargs) + self.linked_service_name = kwargs['linked_service_name'] + self.path = kwargs.get('path', None) + + +class LogSettings(msrest.serialization.Model): + """Log settings. + + All required parameters must be populated in order to send to Azure. + + :param enable_copy_activity_log: Specifies whether to enable copy activity log. Type: boolean + (or Expression with resultType boolean). + :type enable_copy_activity_log: object + :param copy_activity_log_settings: Specifies settings for copy activity log. + :type copy_activity_log_settings: + ~data_factory_management_client.models.CopyActivityLogSettings + :param log_location_settings: Required. Log location settings customer needs to provide when + enabling log. + :type log_location_settings: ~data_factory_management_client.models.LogLocationSettings + """ + + _validation = { + 'log_location_settings': {'required': True}, + } + + _attribute_map = { + 'enable_copy_activity_log': {'key': 'enableCopyActivityLog', 'type': 'object'}, + 'copy_activity_log_settings': {'key': 'copyActivityLogSettings', 'type': 'CopyActivityLogSettings'}, + 'log_location_settings': {'key': 'logLocationSettings', 'type': 'LogLocationSettings'}, + } + + def __init__( + self, + **kwargs + ): + super(LogSettings, self).__init__(**kwargs) + self.enable_copy_activity_log = kwargs.get('enable_copy_activity_log', None) + self.copy_activity_log_settings = kwargs.get('copy_activity_log_settings', None) + self.log_location_settings = kwargs['log_location_settings'] + + class LogStorageSettings(msrest.serialization.Model): - """Log storage settings. + """(Deprecated. Please use LogSettings) Log storage settings. All required parameters must be populated in order to send to Azure. @@ -19634,6 +20592,9 @@ class ManagedIntegrationRuntime(IntegrationRuntime): Possible values include: "Initial", "Stopped", "Started", "Starting", "Stopping", "NeedRegistration", "Online", "Limited", "Offline", "AccessDenied". :vartype state: str or ~data_factory_management_client.models.IntegrationRuntimeState + :param managed_virtual_network: Managed Virtual Network reference. + :type managed_virtual_network: + ~data_factory_management_client.models.ManagedVirtualNetworkReference :param compute_properties: The compute resource for managed integration runtime. :type compute_properties: ~data_factory_management_client.models.IntegrationRuntimeComputeProperties @@ -19651,6 +20612,7 @@ class ManagedIntegrationRuntime(IntegrationRuntime): 'type': {'key': 'type', 'type': 'str'}, 'description': {'key': 'description', 'type': 'str'}, 'state': {'key': 'state', 'type': 'str'}, + 'managed_virtual_network': {'key': 'managedVirtualNetwork', 'type': 'ManagedVirtualNetworkReference'}, 'compute_properties': {'key': 'typeProperties.computeProperties', 'type': 'IntegrationRuntimeComputeProperties'}, 'ssis_properties': {'key': 'typeProperties.ssisProperties', 'type': 'IntegrationRuntimeSsisProperties'}, } @@ -19662,6 +20624,7 @@ def __init__( super(ManagedIntegrationRuntime, self).__init__(**kwargs) self.type = 'Managed' # type: str self.state = None + self.managed_virtual_network = kwargs.get('managed_virtual_network', None) self.compute_properties = kwargs.get('compute_properties', None) self.ssis_properties = kwargs.get('ssis_properties', None) @@ -19957,6 +20920,8 @@ class ManagedPrivateEndpointResource(SubResource): 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: The resource identifier. :vartype id: str :ivar name: The resource name. @@ -19965,19 +20930,8 @@ class ManagedPrivateEndpointResource(SubResource): :vartype type: str :ivar etag: Etag identifies change in the resource. :vartype etag: str - :param connection_state: The managed private endpoint connection state. - :type connection_state: ~data_factory_management_client.models.ConnectionStateProperties - :param fqdns: Fully qualified domain names. - :type fqdns: list[str] - :param group_id: The groupId to which the managed private endpoint is created. - :type group_id: str - :ivar is_reserved: Denotes whether the managed private endpoint is reserved. - :vartype is_reserved: bool - :param private_link_resource_id: The ARM resource ID of the resource to which the managed - private endpoint is created. - :type private_link_resource_id: str - :ivar provisioning_state: The managed private endpoint provisioning state. - :vartype provisioning_state: str + :param properties: Required. Managed private endpoint properties. + :type properties: ~data_factory_management_client.models.ManagedPrivateEndpoint """ _validation = { @@ -19985,8 +20939,7 @@ class ManagedPrivateEndpointResource(SubResource): 'name': {'readonly': True}, 'type': {'readonly': True}, 'etag': {'readonly': True}, - 'is_reserved': {'readonly': True}, - 'provisioning_state': {'readonly': True}, + 'properties': {'required': True}, } _attribute_map = { @@ -19994,12 +20947,7 @@ class ManagedPrivateEndpointResource(SubResource): 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'etag': {'key': 'etag', 'type': 'str'}, - 'connection_state': {'key': 'properties.connectionState', 'type': 'ConnectionStateProperties'}, - 'fqdns': {'key': 'properties.fqdns', 'type': '[str]'}, - 'group_id': {'key': 'properties.groupId', 'type': 'str'}, - 'is_reserved': {'key': 'properties.isReserved', 'type': 'bool'}, - 'private_link_resource_id': {'key': 'properties.privateLinkResourceId', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'ManagedPrivateEndpoint'}, } def __init__( @@ -20007,12 +20955,7 @@ def __init__( **kwargs ): super(ManagedPrivateEndpointResource, self).__init__(**kwargs) - self.connection_state = kwargs.get('connection_state', None) - self.fqdns = kwargs.get('fqdns', None) - self.group_id = kwargs.get('group_id', None) - self.is_reserved = None - self.private_link_resource_id = kwargs.get('private_link_resource_id', None) - self.provisioning_state = None + self.properties = kwargs['properties'] class ManagedVirtualNetwork(msrest.serialization.Model): @@ -20079,6 +21022,40 @@ def __init__( self.next_link = kwargs.get('next_link', None) +class ManagedVirtualNetworkReference(msrest.serialization.Model): + """Managed Virtual Network reference type. + + 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 type: Required. Managed Virtual Network reference type. Default value: + "ManagedVirtualNetworkReference". + :vartype type: str + :param reference_name: Required. Reference ManagedVirtualNetwork name. + :type reference_name: str + """ + + _validation = { + 'type': {'required': True, 'constant': True}, + 'reference_name': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'reference_name': {'key': 'referenceName', 'type': 'str'}, + } + + type = "ManagedVirtualNetworkReference" + + def __init__( + self, + **kwargs + ): + super(ManagedVirtualNetworkReference, self).__init__(**kwargs) + self.reference_name = kwargs['reference_name'] + + class ManagedVirtualNetworkResource(SubResource): """Managed Virtual Network resource type. @@ -20167,7 +21144,7 @@ def __init__( self.script = kwargs.get('script', None) -class MariaDBLinkedService(LinkedService): +class MariaDbLinkedService(LinkedService): """MariaDB server linked service. All required parameters must be populated in order to send to Azure. @@ -20216,14 +21193,14 @@ def __init__( self, **kwargs ): - super(MariaDBLinkedService, self).__init__(**kwargs) + super(MariaDbLinkedService, self).__init__(**kwargs) self.type = 'MariaDB' # type: str self.connection_string = kwargs.get('connection_string', None) self.pwd = kwargs.get('pwd', None) self.encrypted_credential = kwargs.get('encrypted_credential', None) -class MariaDBSource(TabularSource): +class MariaDbSource(TabularSource): """A copy activity MariaDB server source. All required parameters must be populated in order to send to Azure. @@ -20272,12 +21249,12 @@ def __init__( self, **kwargs ): - super(MariaDBSource, self).__init__(**kwargs) + super(MariaDbSource, self).__init__(**kwargs) self.type = 'MariaDBSource' # type: str self.query = kwargs.get('query', None) -class MariaDBTableDataset(Dataset): +class MariaDbTableDataset(Dataset): """MariaDB server dataset. All required parameters must be populated in order to send to Azure. @@ -20330,7 +21307,7 @@ def __init__( self, **kwargs ): - super(MariaDBTableDataset, self).__init__(**kwargs) + super(MariaDbTableDataset, self).__init__(**kwargs) self.type = 'MariaDBTable' # type: str self.table_name = kwargs.get('table_name', None) @@ -20761,7 +21738,189 @@ def __init__( self.table_name = kwargs.get('table_name', None) -class MongoDBCollectionDataset(Dataset): +class MongoDbAtlasCollectionDataset(Dataset): + """The MongoDB Atlas database dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~data_factory_management_client.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~data_factory_management_client.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~data_factory_management_client.models.DatasetFolder + :param collection: Required. The collection name of the MongoDB Atlas database. Type: string + (or Expression with resultType string). + :type collection: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + 'collection': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'collection': {'key': 'typeProperties.collection', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(MongoDbAtlasCollectionDataset, self).__init__(**kwargs) + self.type = 'MongoDbAtlasCollection' # type: str + self.collection = kwargs['collection'] + + +class MongoDbAtlasLinkedService(LinkedService): + """Linked service for MongoDB Atlas data source. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~data_factory_management_client.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~data_factory_management_client.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: Required. The MongoDB Atlas connection string. Type: string, + SecureString or AzureKeyVaultSecretReference. Type: string, SecureString or + AzureKeyVaultSecretReference. + :type connection_string: object + :param database: Required. The name of the MongoDB Atlas database that you want to access. + Type: string (or Expression with resultType string). + :type database: object + """ + + _validation = { + 'type': {'required': True}, + 'connection_string': {'required': True}, + 'database': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'database': {'key': 'typeProperties.database', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(MongoDbAtlasLinkedService, self).__init__(**kwargs) + self.type = 'MongoDbAtlas' # type: str + self.connection_string = kwargs['connection_string'] + self.database = kwargs['database'] + + +class MongoDbAtlasSource(CopySource): + """A copy activity source for a MongoDB Atlas database. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Copy source type.Constant filled by server. + :type type: str + :param source_retry_count: Source retry count. Type: integer (or Expression with resultType + integer). + :type source_retry_count: object + :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType + string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + :type source_retry_wait: object + :param max_concurrent_connections: The maximum concurrent connection count for the source data + store. Type: integer (or Expression with resultType integer). + :type max_concurrent_connections: object + :param filter: Specifies selection filter using query operators. To return all documents in a + collection, omit this parameter or pass an empty document ({}). Type: string (or Expression + with resultType string). + :type filter: object + :param cursor_methods: Cursor methods for Mongodb query. + :type cursor_methods: ~data_factory_management_client.models.MongoDbCursorMethodsProperties + :param batch_size: Specifies the number of documents to return in each batch of the response + from MongoDB Atlas instance. In most cases, modifying the batch size will not affect the user + or the application. This property's main purpose is to avoid hit the limitation of response + size. Type: integer (or Expression with resultType integer). + :type batch_size: object + :param query_timeout: Query timeout. Type: string (or Expression with resultType string), + pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + :type query_timeout: object + :param additional_columns: Specifies the additional columns to be added to source data. Type: + array of objects (or Expression with resultType array of objects). + :type additional_columns: list[~data_factory_management_client.models.AdditionalColumns] + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, + 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, + 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'filter': {'key': 'filter', 'type': 'object'}, + 'cursor_methods': {'key': 'cursorMethods', 'type': 'MongoDbCursorMethodsProperties'}, + 'batch_size': {'key': 'batchSize', 'type': 'object'}, + 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, + 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, + } + + def __init__( + self, + **kwargs + ): + super(MongoDbAtlasSource, self).__init__(**kwargs) + self.type = 'MongoDbAtlasSource' # type: str + self.filter = kwargs.get('filter', None) + self.cursor_methods = kwargs.get('cursor_methods', None) + self.batch_size = kwargs.get('batch_size', None) + self.query_timeout = kwargs.get('query_timeout', None) + self.additional_columns = kwargs.get('additional_columns', None) + + +class MongoDbCollectionDataset(Dataset): """The MongoDB database dataset. All required parameters must be populated in order to send to Azure. @@ -20816,12 +21975,12 @@ def __init__( self, **kwargs ): - super(MongoDBCollectionDataset, self).__init__(**kwargs) + super(MongoDbCollectionDataset, self).__init__(**kwargs) self.type = 'MongoDbCollection' # type: str self.collection_name = kwargs['collection_name'] -class MongoDBCursorMethodsProperties(msrest.serialization.Model): +class MongoDbCursorMethodsProperties(msrest.serialization.Model): """Cursor methods for Mongodb query. :param additional_properties: Unmatched properties from the message are deserialized to this @@ -20856,7 +22015,7 @@ def __init__( self, **kwargs ): - super(MongoDBCursorMethodsProperties, self).__init__(**kwargs) + super(MongoDbCursorMethodsProperties, self).__init__(**kwargs) self.additional_properties = kwargs.get('additional_properties', None) self.project = kwargs.get('project', None) self.sort = kwargs.get('sort', None) @@ -20864,7 +22023,7 @@ def __init__( self.limit = kwargs.get('limit', None) -class MongoDBLinkedService(LinkedService): +class MongoDbLinkedService(LinkedService): """Linked service for MongoDb data source. All required parameters must be populated in order to send to Azure. @@ -20888,7 +22047,7 @@ class MongoDBLinkedService(LinkedService): :param authentication_type: The authentication type to be used to connect to the MongoDB database. Possible values include: "Basic", "Anonymous". :type authentication_type: str or - ~data_factory_management_client.models.MongoDBAuthenticationType + ~data_factory_management_client.models.MongoDbAuthenticationType :param database_name: Required. The name of the MongoDB database that you want to access. Type: string (or Expression with resultType string). :type database_name: object @@ -20944,7 +22103,7 @@ def __init__( self, **kwargs ): - super(MongoDBLinkedService, self).__init__(**kwargs) + super(MongoDbLinkedService, self).__init__(**kwargs) self.type = 'MongoDb' # type: str self.server = kwargs['server'] self.authentication_type = kwargs.get('authentication_type', None) @@ -20958,7 +22117,7 @@ def __init__( self.encrypted_credential = kwargs.get('encrypted_credential', None) -class MongoDBSource(CopySource): +class MongoDbSource(CopySource): """A copy activity source for a MongoDB database. All required parameters must be populated in order to send to Azure. @@ -21003,13 +22162,13 @@ def __init__( self, **kwargs ): - super(MongoDBSource, self).__init__(**kwargs) + super(MongoDbSource, self).__init__(**kwargs) self.type = 'MongoDbSource' # type: str self.query = kwargs.get('query', None) self.additional_columns = kwargs.get('additional_columns', None) -class MongoDBV2CollectionDataset(Dataset): +class MongoDbV2CollectionDataset(Dataset): """The MongoDB database dataset. All required parameters must be populated in order to send to Azure. @@ -21064,12 +22223,12 @@ def __init__( self, **kwargs ): - super(MongoDBV2CollectionDataset, self).__init__(**kwargs) + super(MongoDbV2CollectionDataset, self).__init__(**kwargs) self.type = 'MongoDbV2Collection' # type: str self.collection = kwargs['collection'] -class MongoDBV2LinkedService(LinkedService): +class MongoDbV2LinkedService(LinkedService): """Linked service for MongoDB data source. All required parameters must be populated in order to send to Azure. @@ -21116,13 +22275,13 @@ def __init__( self, **kwargs ): - super(MongoDBV2LinkedService, self).__init__(**kwargs) + super(MongoDbV2LinkedService, self).__init__(**kwargs) self.type = 'MongoDbV2' # type: str self.connection_string = kwargs['connection_string'] self.database = kwargs['database'] -class MongoDBV2Source(CopySource): +class MongoDbV2Source(CopySource): """A copy activity source for a MongoDB database. All required parameters must be populated in order to send to Azure. @@ -21146,7 +22305,7 @@ class MongoDBV2Source(CopySource): with resultType string). :type filter: object :param cursor_methods: Cursor methods for Mongodb query. - :type cursor_methods: ~data_factory_management_client.models.MongoDBCursorMethodsProperties + :type cursor_methods: ~data_factory_management_client.models.MongoDbCursorMethodsProperties :param batch_size: Specifies the number of documents to return in each batch of the response from MongoDB instance. In most cases, modifying the batch size will not affect the user or the application. This property's main purpose is to avoid hit the limitation of response size. @@ -21171,7 +22330,7 @@ class MongoDBV2Source(CopySource): 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, 'filter': {'key': 'filter', 'type': 'object'}, - 'cursor_methods': {'key': 'cursorMethods', 'type': 'MongoDBCursorMethodsProperties'}, + 'cursor_methods': {'key': 'cursorMethods', 'type': 'MongoDbCursorMethodsProperties'}, 'batch_size': {'key': 'batchSize', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, @@ -21181,7 +22340,7 @@ def __init__( self, **kwargs ): - super(MongoDBV2Source, self).__init__(**kwargs) + super(MongoDbV2Source, self).__init__(**kwargs) self.type = 'MongoDbV2Source' # type: str self.filter = kwargs.get('filter', None) self.cursor_methods = kwargs.get('cursor_methods', None) @@ -21190,7 +22349,7 @@ def __init__( self.additional_columns = kwargs.get('additional_columns', None) -class MySQLLinkedService(LinkedService): +class MySqlLinkedService(LinkedService): """Linked service for MySQL data source. All required parameters must be populated in order to send to Azure. @@ -21239,14 +22398,14 @@ def __init__( self, **kwargs ): - super(MySQLLinkedService, self).__init__(**kwargs) + super(MySqlLinkedService, self).__init__(**kwargs) self.type = 'MySql' # type: str self.connection_string = kwargs['connection_string'] self.password = kwargs.get('password', None) self.encrypted_credential = kwargs.get('encrypted_credential', None) -class MySQLSource(TabularSource): +class MySqlSource(TabularSource): """A copy activity source for MySQL databases. All required parameters must be populated in order to send to Azure. @@ -21294,12 +22453,12 @@ def __init__( self, **kwargs ): - super(MySQLSource, self).__init__(**kwargs) + super(MySqlSource, self).__init__(**kwargs) self.type = 'MySqlSource' # type: str self.query = kwargs.get('query', None) -class MySQLTableDataset(Dataset): +class MySqlTableDataset(Dataset): """The MySQL table dataset. All required parameters must be populated in order to send to Azure. @@ -21352,7 +22511,7 @@ def __init__( self, **kwargs ): - super(MySQLTableDataset, self).__init__(**kwargs) + super(MySqlTableDataset, self).__init__(**kwargs) self.type = 'MySqlTable' # type: str self.table_name = kwargs.get('table_name', None) @@ -21475,7 +22634,7 @@ class NetezzaSource(TabularSource): :type query: object :param partition_option: The partition mechanism that will be used for Netezza read in parallel. Possible values include: "None", "DataSlice", "DynamicRange". - :type partition_option: str or ~data_factory_management_client.models.NetezzaPartitionOption + :type partition_option: object :param partition_settings: The settings that will be leveraged for Netezza source partitioning. :type partition_settings: ~data_factory_management_client.models.NetezzaPartitionSettings """ @@ -21493,7 +22652,7 @@ class NetezzaSource(TabularSource): 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, - 'partition_option': {'key': 'partitionOption', 'type': 'str'}, + 'partition_option': {'key': 'partitionOption', 'type': 'object'}, 'partition_settings': {'key': 'partitionSettings', 'type': 'NetezzaPartitionSettings'}, } @@ -21608,6 +22767,9 @@ class ODataLinkedService(LinkedService): :type user_name: object :param password: Password of the OData service. :type password: ~data_factory_management_client.models.SecretBase + :param auth_headers: The additional HTTP headers in the request to RESTful API used for + authorization. Type: object (or Expression with resultType object). + :type auth_headers: object :param tenant: Specify the tenant information (domain name or tenant ID) under which your application resides. Type: string (or Expression with resultType string). :type tenant: object @@ -21624,7 +22786,7 @@ class ODataLinkedService(LinkedService): :param aad_service_principal_credential_type: Specify the credential type (key or cert) is used for service principal. Possible values include: "ServicePrincipalKey", "ServicePrincipalCert". :type aad_service_principal_credential_type: str or - ~data_factory_management_client.models.ODataAADServicePrincipalCredentialType + ~data_factory_management_client.models.ODataAadServicePrincipalCredentialType :param service_principal_key: Specify the secret of your application registered in Azure Active Directory. Type: string (or Expression with resultType string). :type service_principal_key: ~data_factory_management_client.models.SecretBase @@ -21659,6 +22821,7 @@ class ODataLinkedService(LinkedService): 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, 'user_name': {'key': 'typeProperties.userName', 'type': 'object'}, 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'auth_headers': {'key': 'typeProperties.authHeaders', 'type': 'object'}, 'tenant': {'key': 'typeProperties.tenant', 'type': 'object'}, 'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'}, 'azure_cloud_type': {'key': 'typeProperties.azureCloudType', 'type': 'object'}, @@ -21680,6 +22843,7 @@ def __init__( self.authentication_type = kwargs.get('authentication_type', None) self.user_name = kwargs.get('user_name', None) self.password = kwargs.get('password', None) + self.auth_headers = kwargs.get('auth_headers', None) self.tenant = kwargs.get('tenant', None) self.service_principal_id = kwargs.get('service_principal_id', None) self.azure_cloud_type = kwargs.get('azure_cloud_type', None) @@ -22495,6 +23659,200 @@ def __init__( self.metric_specifications = kwargs.get('metric_specifications', None) +class OracleCloudStorageLinkedService(LinkedService): + """Linked service for Oracle Cloud Storage. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~data_factory_management_client.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~data_factory_management_client.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param access_key_id: The access key identifier of the Oracle Cloud Storage Identity and Access + Management (IAM) user. Type: string (or Expression with resultType string). + :type access_key_id: object + :param secret_access_key: The secret access key of the Oracle Cloud Storage Identity and Access + Management (IAM) user. + :type secret_access_key: ~data_factory_management_client.models.SecretBase + :param service_url: This value specifies the endpoint to access with the Oracle Cloud Storage + Connector. This is an optional property; change it only if you want to try a different service + endpoint or want to switch between https and http. Type: string (or Expression with resultType + string). + :type service_url: object + :param encrypted_credential: The encrypted credential used for authentication. Credentials are + encrypted using the integration runtime credential manager. Type: string (or Expression with + resultType string). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'access_key_id': {'key': 'typeProperties.accessKeyId', 'type': 'object'}, + 'secret_access_key': {'key': 'typeProperties.secretAccessKey', 'type': 'SecretBase'}, + 'service_url': {'key': 'typeProperties.serviceUrl', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(OracleCloudStorageLinkedService, self).__init__(**kwargs) + self.type = 'OracleCloudStorage' # type: str + self.access_key_id = kwargs.get('access_key_id', None) + self.secret_access_key = kwargs.get('secret_access_key', None) + self.service_url = kwargs.get('service_url', None) + self.encrypted_credential = kwargs.get('encrypted_credential', None) + + +class OracleCloudStorageLocation(DatasetLocation): + """The location of Oracle Cloud Storage dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset storage location.Constant filled by server. + :type type: str + :param folder_path: Specify the folder path of dataset. Type: string (or Expression with + resultType string). + :type folder_path: object + :param file_name: Specify the file name of dataset. Type: string (or Expression with resultType + string). + :type file_name: object + :param bucket_name: Specify the bucketName of Oracle Cloud Storage. Type: string (or Expression + with resultType string). + :type bucket_name: object + :param version: Specify the version of Oracle Cloud Storage. Type: string (or Expression with + resultType string). + :type version: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'folder_path': {'key': 'folderPath', 'type': 'object'}, + 'file_name': {'key': 'fileName', 'type': 'object'}, + 'bucket_name': {'key': 'bucketName', 'type': 'object'}, + 'version': {'key': 'version', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(OracleCloudStorageLocation, self).__init__(**kwargs) + self.type = 'OracleCloudStorageLocation' # type: str + self.bucket_name = kwargs.get('bucket_name', None) + self.version = kwargs.get('version', None) + + +class OracleCloudStorageReadSettings(StoreReadSettings): + """Oracle Cloud Storage read settings. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. The read setting type.Constant filled by server. + :type type: str + :param max_concurrent_connections: The maximum concurrent connection count for the source data + store. Type: integer (or Expression with resultType integer). + :type max_concurrent_connections: object + :param recursive: If true, files under the folder path will be read recursively. Default is + true. Type: boolean (or Expression with resultType boolean). + :type recursive: object + :param wildcard_folder_path: Oracle Cloud Storage wildcardFolderPath. Type: string (or + Expression with resultType string). + :type wildcard_folder_path: object + :param wildcard_file_name: Oracle Cloud Storage wildcardFileName. Type: string (or Expression + with resultType string). + :type wildcard_file_name: object + :param prefix: The prefix filter for the Oracle Cloud Storage object name. Type: string (or + Expression with resultType string). + :type prefix: object + :param file_list_path: Point to a text file that lists each file (relative path to the path + configured in the dataset) that you want to copy. Type: string (or Expression with resultType + string). + :type file_list_path: object + :param enable_partition_discovery: Indicates whether to enable partition discovery. + :type enable_partition_discovery: bool + :param partition_root_path: Specify the root path where partition discovery starts from. Type: + string (or Expression with resultType string). + :type partition_root_path: object + :param delete_files_after_completion: Indicates whether the source files need to be deleted + after copy completion. Default is false. Type: boolean (or Expression with resultType boolean). + :type delete_files_after_completion: object + :param modified_datetime_start: The start of file's modified datetime. Type: string (or + Expression with resultType string). + :type modified_datetime_start: object + :param modified_datetime_end: The end of file's modified datetime. Type: string (or Expression + with resultType string). + :type modified_datetime_end: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'recursive': {'key': 'recursive', 'type': 'object'}, + 'wildcard_folder_path': {'key': 'wildcardFolderPath', 'type': 'object'}, + 'wildcard_file_name': {'key': 'wildcardFileName', 'type': 'object'}, + 'prefix': {'key': 'prefix', 'type': 'object'}, + 'file_list_path': {'key': 'fileListPath', 'type': 'object'}, + 'enable_partition_discovery': {'key': 'enablePartitionDiscovery', 'type': 'bool'}, + 'partition_root_path': {'key': 'partitionRootPath', 'type': 'object'}, + 'delete_files_after_completion': {'key': 'deleteFilesAfterCompletion', 'type': 'object'}, + 'modified_datetime_start': {'key': 'modifiedDatetimeStart', 'type': 'object'}, + 'modified_datetime_end': {'key': 'modifiedDatetimeEnd', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(OracleCloudStorageReadSettings, self).__init__(**kwargs) + self.type = 'OracleCloudStorageReadSettings' # type: str + self.recursive = kwargs.get('recursive', None) + self.wildcard_folder_path = kwargs.get('wildcard_folder_path', None) + self.wildcard_file_name = kwargs.get('wildcard_file_name', None) + self.prefix = kwargs.get('prefix', None) + self.file_list_path = kwargs.get('file_list_path', None) + self.enable_partition_discovery = kwargs.get('enable_partition_discovery', None) + self.partition_root_path = kwargs.get('partition_root_path', None) + self.delete_files_after_completion = kwargs.get('delete_files_after_completion', None) + self.modified_datetime_start = kwargs.get('modified_datetime_start', None) + self.modified_datetime_end = kwargs.get('modified_datetime_end', None) + + class OracleLinkedService(LinkedService): """Oracle database. @@ -22861,7 +24219,7 @@ class OracleSource(CopySource): :type query_timeout: object :param partition_option: The partition mechanism that will be used for Oracle read in parallel. Possible values include: "None", "PhysicalPartitionsOfTable", "DynamicRange". - :type partition_option: str or ~data_factory_management_client.models.OraclePartitionOption + :type partition_option: object :param partition_settings: The settings that will be leveraged for Oracle source partitioning. :type partition_settings: ~data_factory_management_client.models.OraclePartitionSettings :param additional_columns: Specifies the additional columns to be added to source data. Type: @@ -22881,7 +24239,7 @@ class OracleSource(CopySource): 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, 'oracle_reader_query': {'key': 'oracleReaderQuery', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, - 'partition_option': {'key': 'partitionOption', 'type': 'str'}, + 'partition_option': {'key': 'partitionOption', 'type': 'object'}, 'partition_settings': {'key': 'partitionSettings', 'type': 'OraclePartitionSettings'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, } @@ -22997,7 +24355,7 @@ class OrcDataset(Dataset): :type folder: ~data_factory_management_client.models.DatasetFolder :param location: The location of the ORC data storage. :type location: ~data_factory_management_client.models.DatasetLocation - :param orc_compression_codec: Possible values include: "none", "zlib", "snappy". + :param orc_compression_codec: Possible values include: "none", "zlib", "snappy", "lzo". :type orc_compression_codec: str or ~data_factory_management_client.models.OrcCompressionCodec """ @@ -23092,6 +24450,8 @@ class OrcSink(CopySink): :type max_concurrent_connections: object :param store_settings: ORC store settings. :type store_settings: ~data_factory_management_client.models.StoreWriteSettings + :param format_settings: ORC format settings. + :type format_settings: ~data_factory_management_client.models.OrcWriteSettings """ _validation = { @@ -23107,6 +24467,7 @@ class OrcSink(CopySink): 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, 'store_settings': {'key': 'storeSettings', 'type': 'StoreWriteSettings'}, + 'format_settings': {'key': 'formatSettings', 'type': 'OrcWriteSettings'}, } def __init__( @@ -23116,6 +24477,7 @@ def __init__( super(OrcSink, self).__init__(**kwargs) self.type = 'OrcSink' # type: str self.store_settings = kwargs.get('store_settings', None) + self.format_settings = kwargs.get('format_settings', None) class OrcSource(CopySource): @@ -23168,6 +24530,46 @@ def __init__( self.additional_columns = kwargs.get('additional_columns', None) +class OrcWriteSettings(FormatWriteSettings): + """Orc write settings. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. The write setting type.Constant filled by server. + :type type: str + :param max_rows_per_file: Limit the written file's row count to be smaller than or equal to the + specified count. Type: integer (or Expression with resultType integer). + :type max_rows_per_file: object + :param file_name_prefix: Specifies the file name pattern + :code:``_:code:``.:code:`` when copy from non-file + based store without partitionOptions. Type: string (or Expression with resultType string). + :type file_name_prefix: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'max_rows_per_file': {'key': 'maxRowsPerFile', 'type': 'object'}, + 'file_name_prefix': {'key': 'fileNamePrefix', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(OrcWriteSettings, self).__init__(**kwargs) + self.type = 'OrcWriteSettings' # type: str + self.max_rows_per_file = kwargs.get('max_rows_per_file', None) + self.file_name_prefix = kwargs.get('file_name_prefix', None) + + class PackageStore(msrest.serialization.Model): """Package store for the SSIS integration runtime. @@ -23258,7 +24660,7 @@ class ParquetDataset(Dataset): :param location: The location of the parquet storage. :type location: ~data_factory_management_client.models.DatasetLocation :param compression_codec: Possible values include: "none", "gzip", "snappy", "lzo", "bzip2", - "deflate", "zipDeflate", "lz4". + "deflate", "zipDeflate", "lz4", "tar", "tarGZip". :type compression_codec: str or ~data_factory_management_client.models.CompressionCodec """ @@ -23353,6 +24755,8 @@ class ParquetSink(CopySink): :type max_concurrent_connections: object :param store_settings: Parquet store settings. :type store_settings: ~data_factory_management_client.models.StoreWriteSettings + :param format_settings: Parquet format settings. + :type format_settings: ~data_factory_management_client.models.ParquetWriteSettings """ _validation = { @@ -23368,6 +24772,7 @@ class ParquetSink(CopySink): 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, 'store_settings': {'key': 'storeSettings', 'type': 'StoreWriteSettings'}, + 'format_settings': {'key': 'formatSettings', 'type': 'ParquetWriteSettings'}, } def __init__( @@ -23377,6 +24782,7 @@ def __init__( super(ParquetSink, self).__init__(**kwargs) self.type = 'ParquetSink' # type: str self.store_settings = kwargs.get('store_settings', None) + self.format_settings = kwargs.get('format_settings', None) class ParquetSource(CopySource): @@ -23429,6 +24835,46 @@ def __init__( self.additional_columns = kwargs.get('additional_columns', None) +class ParquetWriteSettings(FormatWriteSettings): + """Parquet write settings. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. The write setting type.Constant filled by server. + :type type: str + :param max_rows_per_file: Limit the written file's row count to be smaller than or equal to the + specified count. Type: integer (or Expression with resultType integer). + :type max_rows_per_file: object + :param file_name_prefix: Specifies the file name pattern + :code:``_:code:``.:code:`` when copy from non-file + based store without partitionOptions. Type: string (or Expression with resultType string). + :type file_name_prefix: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'max_rows_per_file': {'key': 'maxRowsPerFile', 'type': 'object'}, + 'file_name_prefix': {'key': 'fileNamePrefix', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(ParquetWriteSettings, self).__init__(**kwargs) + self.type = 'ParquetWriteSettings' # type: str + self.max_rows_per_file = kwargs.get('max_rows_per_file', None) + self.file_name_prefix = kwargs.get('file_name_prefix', None) + + class PaypalLinkedService(LinkedService): """Paypal Service linked service. @@ -23847,6 +25293,44 @@ def __init__( self.query = kwargs.get('query', None) +class PipelineElapsedTimeMetricPolicy(msrest.serialization.Model): + """Pipeline ElapsedTime Metric Policy. + + :param duration: TimeSpan value, after which an Azure Monitoring Metric is fired. + :type duration: object + """ + + _attribute_map = { + 'duration': {'key': 'duration', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(PipelineElapsedTimeMetricPolicy, self).__init__(**kwargs) + self.duration = kwargs.get('duration', None) + + +class PipelineFolder(msrest.serialization.Model): + """The folder that this Pipeline is in. If not specified, Pipeline will appear at the root level. + + :param name: The name of the folder that this Pipeline is in. + :type name: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(PipelineFolder, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + + class PipelineListResponse(msrest.serialization.Model): """A list of pipeline resources. @@ -23876,6 +25360,26 @@ def __init__( self.next_link = kwargs.get('next_link', None) +class PipelinePolicy(msrest.serialization.Model): + """Pipeline Policy. + + :param elapsed_time_metric: Pipeline ElapsedTime Metric Policy. + :type elapsed_time_metric: + ~data_factory_management_client.models.PipelineElapsedTimeMetricPolicy + """ + + _attribute_map = { + 'elapsed_time_metric': {'key': 'elapsedTimeMetric', 'type': 'PipelineElapsedTimeMetricPolicy'}, + } + + def __init__( + self, + **kwargs + ): + super(PipelinePolicy, self).__init__(**kwargs) + self.elapsed_time_metric = kwargs.get('elapsed_time_metric', None) + + class PipelineReference(msrest.serialization.Model): """Pipeline reference type. @@ -23943,8 +25447,11 @@ class PipelineResource(SubResource): :type annotations: list[object] :param run_dimensions: Dimensions emitted by Pipeline. :type run_dimensions: dict[str, object] - :param name_folder_name: The name of the folder that this Pipeline is in. - :type name_folder_name: str + :param folder: The folder that this Pipeline is in. If not specified, Pipeline will appear at + the root level. + :type folder: ~data_factory_management_client.models.PipelineFolder + :param policy: Pipeline Policy. + :type policy: ~data_factory_management_client.models.PipelinePolicy """ _validation = { @@ -23968,7 +25475,8 @@ class PipelineResource(SubResource): 'concurrency': {'key': 'properties.concurrency', 'type': 'int'}, 'annotations': {'key': 'properties.annotations', 'type': '[object]'}, 'run_dimensions': {'key': 'properties.runDimensions', 'type': '{object}'}, - 'name_folder_name': {'key': 'folder.name', 'type': 'str'}, + 'folder': {'key': 'properties.folder', 'type': 'PipelineFolder'}, + 'policy': {'key': 'properties.policy', 'type': 'PipelinePolicy'}, } def __init__( @@ -23984,7 +25492,8 @@ def __init__( self.concurrency = kwargs.get('concurrency', None) self.annotations = kwargs.get('annotations', None) self.run_dimensions = kwargs.get('run_dimensions', None) - self.name_folder_name = kwargs.get('name_folder_name', None) + self.folder = kwargs.get('folder', None) + self.policy = kwargs.get('policy', None) class PipelineRun(msrest.serialization.Model): @@ -24184,7 +25693,7 @@ def __init__( self.use_type_default = kwargs.get('use_type_default', None) -class PostgreSQLLinkedService(LinkedService): +class PostgreSqlLinkedService(LinkedService): """Linked service for PostgreSQL data source. All required parameters must be populated in order to send to Azure. @@ -24233,14 +25742,14 @@ def __init__( self, **kwargs ): - super(PostgreSQLLinkedService, self).__init__(**kwargs) + super(PostgreSqlLinkedService, self).__init__(**kwargs) self.type = 'PostgreSql' # type: str self.connection_string = kwargs['connection_string'] self.password = kwargs.get('password', None) self.encrypted_credential = kwargs.get('encrypted_credential', None) -class PostgreSQLSource(TabularSource): +class PostgreSqlSource(TabularSource): """A copy activity source for PostgreSQL databases. All required parameters must be populated in order to send to Azure. @@ -24288,12 +25797,12 @@ def __init__( self, **kwargs ): - super(PostgreSQLSource, self).__init__(**kwargs) + super(PostgreSqlSource, self).__init__(**kwargs) self.type = 'PostgreSqlSource' # type: str self.query = kwargs.get('query', None) -class PostgreSQLTableDataset(Dataset): +class PostgreSqlTableDataset(Dataset): """The PostgreSQL table dataset. All required parameters must be populated in order to send to Azure. @@ -24354,7 +25863,7 @@ def __init__( self, **kwargs ): - super(PostgreSQLTableDataset, self).__init__(**kwargs) + super(PostgreSqlTableDataset, self).__init__(**kwargs) self.type = 'PostgreSqlTable' # type: str self.table_name = kwargs.get('table_name', None) self.table = kwargs.get('table', None) @@ -24598,6 +26107,262 @@ def __init__( self.query = kwargs.get('query', None) +class PrivateEndpointConnectionListResponse(msrest.serialization.Model): + """A list of linked service resources. + + All required parameters must be populated in order to send to Azure. + + :param value: Required. List of Private Endpoint Connections. + :type value: list[~data_factory_management_client.models.PrivateEndpointConnectionResource] + :param next_link: The link to the next page of results, if any remaining results exist. + :type next_link: str + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PrivateEndpointConnectionResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(PrivateEndpointConnectionListResponse, self).__init__(**kwargs) + self.value = kwargs['value'] + self.next_link = kwargs.get('next_link', None) + + +class PrivateEndpointConnectionResource(SubResource): + """Private Endpoint Connection ARM resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource identifier. + :vartype id: str + :ivar name: The resource name. + :vartype name: str + :ivar type: The resource type. + :vartype type: str + :ivar etag: Etag identifies change in the resource. + :vartype etag: str + :param properties: Core resource properties. + :type properties: ~data_factory_management_client.models.RemotePrivateEndpointConnection + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'RemotePrivateEndpointConnection'}, + } + + def __init__( + self, + **kwargs + ): + super(PrivateEndpointConnectionResource, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) + + +class PrivateLinkConnectionApprovalRequest(msrest.serialization.Model): + """A request to approve or reject a private endpoint connection. + + :param private_link_service_connection_state: The state of a private link connection. + :type private_link_service_connection_state: + ~data_factory_management_client.models.PrivateLinkConnectionState + """ + + _attribute_map = { + 'private_link_service_connection_state': {'key': 'privateLinkServiceConnectionState', 'type': 'PrivateLinkConnectionState'}, + } + + def __init__( + self, + **kwargs + ): + super(PrivateLinkConnectionApprovalRequest, self).__init__(**kwargs) + self.private_link_service_connection_state = kwargs.get('private_link_service_connection_state', None) + + +class PrivateLinkConnectionApprovalRequestResource(SubResource): + """Private Endpoint Connection Approval ARM resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource identifier. + :vartype id: str + :ivar name: The resource name. + :vartype name: str + :ivar type: The resource type. + :vartype type: str + :ivar etag: Etag identifies change in the resource. + :vartype etag: str + :param properties: Core resource properties. + :type properties: ~data_factory_management_client.models.PrivateLinkConnectionApprovalRequest + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'PrivateLinkConnectionApprovalRequest'}, + } + + def __init__( + self, + **kwargs + ): + super(PrivateLinkConnectionApprovalRequestResource, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) + + +class PrivateLinkConnectionState(msrest.serialization.Model): + """The state of a private link connection. + + :param status: Status of a private link connection. + :type status: str + :param description: Description of a private link connection. + :type description: str + :param actions_required: ActionsRequired for a private link connection. + :type actions_required: str + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'actions_required': {'key': 'actionsRequired', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(PrivateLinkConnectionState, self).__init__(**kwargs) + self.status = kwargs.get('status', None) + self.description = kwargs.get('description', None) + self.actions_required = kwargs.get('actions_required', None) + + +class PrivateLinkResource(SubResource): + """A private link resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource identifier. + :vartype id: str + :ivar name: The resource name. + :vartype name: str + :ivar type: The resource type. + :vartype type: str + :ivar etag: Etag identifies change in the resource. + :vartype etag: str + :param properties: Core resource properties. + :type properties: ~data_factory_management_client.models.PrivateLinkResourceProperties + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'PrivateLinkResourceProperties'}, + } + + def __init__( + self, + **kwargs + ): + super(PrivateLinkResource, self).__init__(**kwargs) + self.properties = kwargs.get('properties', None) + + +class PrivateLinkResourceProperties(msrest.serialization.Model): + """Properties of a private link resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar group_id: GroupId of a private link resource. + :vartype group_id: str + :ivar required_members: RequiredMembers of a private link resource. + :vartype required_members: list[str] + :ivar required_zone_names: RequiredZoneNames of a private link resource. + :vartype required_zone_names: list[str] + """ + + _validation = { + 'group_id': {'readonly': True}, + 'required_members': {'readonly': True}, + 'required_zone_names': {'readonly': True}, + } + + _attribute_map = { + 'group_id': {'key': 'groupId', 'type': 'str'}, + 'required_members': {'key': 'requiredMembers', 'type': '[str]'}, + 'required_zone_names': {'key': 'requiredZoneNames', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(PrivateLinkResourceProperties, self).__init__(**kwargs) + self.group_id = None + self.required_members = None + self.required_zone_names = None + + +class PrivateLinkResourcesWrapper(msrest.serialization.Model): + """Wrapper for a collection of private link resources. + + All required parameters must be populated in order to send to Azure. + + :param value: Required. + :type value: list[~data_factory_management_client.models.PrivateLinkResource] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PrivateLinkResource]'}, + } + + def __init__( + self, + **kwargs + ): + super(PrivateLinkResourcesWrapper, self).__init__(**kwargs) + self.value = kwargs['value'] + + class QueryDataFlowDebugSessionsResponse(msrest.serialization.Model): """A list of active debug sessions. @@ -25064,6 +26829,40 @@ def __init__( self.table_name = kwargs.get('table_name', None) +class RemotePrivateEndpointConnection(msrest.serialization.Model): + """A remote private endpoint connection. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar provisioning_state: + :vartype provisioning_state: str + :param private_endpoint: PrivateEndpoint of a remote private endpoint connection. + :type private_endpoint: ~data_factory_management_client.models.ArmIdWrapper + :param private_link_service_connection_state: The state of a private link connection. + :type private_link_service_connection_state: + ~data_factory_management_client.models.PrivateLinkConnectionState + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'private_endpoint': {'key': 'privateEndpoint', 'type': 'ArmIdWrapper'}, + 'private_link_service_connection_state': {'key': 'privateLinkServiceConnectionState', 'type': 'PrivateLinkConnectionState'}, + } + + def __init__( + self, + **kwargs + ): + super(RemotePrivateEndpointConnection, self).__init__(**kwargs) + self.provisioning_state = None + self.private_endpoint = kwargs.get('private_endpoint', None) + self.private_link_service_connection_state = kwargs.get('private_link_service_connection_state', None) + + class RerunTumblingWindowTrigger(Trigger): """Trigger that schedules pipeline reruns for all fixed time interval windows from a requested start time to requested end time. @@ -25433,6 +27232,9 @@ class RestServiceLinkedService(LinkedService): :type user_name: object :param password: The password used in Basic authentication type. :type password: ~data_factory_management_client.models.SecretBase + :param auth_headers: The additional HTTP headers in the request to RESTful API used for + authorization. Type: object (or Expression with resultType object). + :type auth_headers: object :param service_principal_id: The application's client ID used in AadServicePrincipal authentication type. :type service_principal_id: object @@ -25472,6 +27274,7 @@ class RestServiceLinkedService(LinkedService): 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, 'user_name': {'key': 'typeProperties.userName', 'type': 'object'}, 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'auth_headers': {'key': 'typeProperties.authHeaders', 'type': 'object'}, 'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'}, 'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'}, 'tenant': {'key': 'typeProperties.tenant', 'type': 'object'}, @@ -25491,6 +27294,7 @@ def __init__( self.authentication_type = kwargs['authentication_type'] self.user_name = kwargs.get('user_name', None) self.password = kwargs.get('password', None) + self.auth_headers = kwargs.get('auth_headers', None) self.service_principal_id = kwargs.get('service_principal_id', None) self.service_principal_key = kwargs.get('service_principal_key', None) self.tenant = kwargs.get('tenant', None) @@ -25537,13 +27341,9 @@ class RestSink(CopySink): :type http_request_timeout: object :param request_interval: The time to await before sending next request, in milliseconds. :type request_interval: object - :param compression_type: Compression Type to Send data in compressed format with Optimal - Compression Level, Default is None. And The Only Supported option is Gzip. - :type compression_type: object - :param wrap_request_json_in_an_object: Wraps Request Array Json into an Object before calling - the rest endpoint , Default is false. ex: if true request content sample format is { rows:[]} - else the format is []. - :type wrap_request_json_in_an_object: object + :param http_compression_type: Http Compression Type to Send data in compressed format with + Optimal Compression Level, Default is None. And The Only Supported option is Gzip. + :type http_compression_type: object """ _validation = { @@ -25562,8 +27362,7 @@ class RestSink(CopySink): 'additional_headers': {'key': 'additionalHeaders', 'type': 'object'}, 'http_request_timeout': {'key': 'httpRequestTimeout', 'type': 'object'}, 'request_interval': {'key': 'requestInterval', 'type': 'object'}, - 'compression_type': {'key': 'compressionType', 'type': 'object'}, - 'wrap_request_json_in_an_object': {'key': 'wrapRequestJsonInAnObject', 'type': 'object'}, + 'http_compression_type': {'key': 'httpCompressionType', 'type': 'object'}, } def __init__( @@ -25576,8 +27375,7 @@ def __init__( self.additional_headers = kwargs.get('additional_headers', None) self.http_request_timeout = kwargs.get('http_request_timeout', None) self.request_interval = kwargs.get('request_interval', None) - self.compression_type = kwargs.get('compression_type', None) - self.wrap_request_json_in_an_object = kwargs.get('wrap_request_json_in_an_object', None) + self.http_compression_type = kwargs.get('http_compression_type', None) class RestSource(CopySource): @@ -27248,7 +29046,7 @@ class SapHanaSource(TabularSource): :type packet_size: object :param partition_option: The partition mechanism that will be used for SAP HANA read in parallel. Possible values include: "None", "PhysicalPartitionsOfTable", "SapHanaDynamicRange". - :type partition_option: str or ~data_factory_management_client.models.SapHanaPartitionOption + :type partition_option: object :param partition_settings: The settings that will be leveraged for SAP HANA source partitioning. :type partition_settings: ~data_factory_management_client.models.SapHanaPartitionSettings @@ -27268,7 +29066,7 @@ class SapHanaSource(TabularSource): 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, 'packet_size': {'key': 'packetSize', 'type': 'object'}, - 'partition_option': {'key': 'partitionOption', 'type': 'str'}, + 'partition_option': {'key': 'partitionOption', 'type': 'object'}, 'partition_settings': {'key': 'partitionSettings', 'type': 'SapHanaPartitionSettings'}, } @@ -27858,7 +29656,7 @@ class SapTableSource(TabularSource): :param partition_option: The partition mechanism that will be used for SAP table read in parallel. Possible values include: "None", "PartitionOnInt", "PartitionOnCalendarYear", "PartitionOnCalendarMonth", "PartitionOnCalendarDate", "PartitionOnTime". - :type partition_option: str or ~data_factory_management_client.models.SapTablePartitionOption + :type partition_option: object :param partition_settings: The settings that will be leveraged for SAP table source partitioning. :type partition_settings: ~data_factory_management_client.models.SapTablePartitionSettings @@ -27883,7 +29681,7 @@ class SapTableSource(TabularSource): 'batch_size': {'key': 'batchSize', 'type': 'object'}, 'custom_rfc_read_table_function_module': {'key': 'customRfcReadTableFunctionModule', 'type': 'object'}, 'sap_data_column_delimiter': {'key': 'sapDataColumnDelimiter', 'type': 'object'}, - 'partition_option': {'key': 'partitionOption', 'type': 'str'}, + 'partition_option': {'key': 'partitionOption', 'type': 'object'}, 'partition_settings': {'key': 'partitionSettings', 'type': 'SapTablePartitionSettings'}, } @@ -28791,7 +30589,7 @@ class SftpServerLinkedService(LinkedService): Default value is 22. Type: integer (or Expression with resultType integer), minimum: 0. :type port: object :param authentication_type: The authentication type to be used to connect to the FTP server. - Possible values include: "Basic", "SshPublicKey". + Possible values include: "Basic", "SshPublicKey", "MultiFactor". :type authentication_type: str or ~data_factory_management_client.models.SftpAuthenticationType :param user_name: The username used to log on to the SFTP server. Type: string (or Expression with resultType string). @@ -29861,7 +31659,45 @@ def __init__( self.query = kwargs.get('query', None) -class SQLDWSink(CopySink): +class SqlAlwaysEncryptedProperties(msrest.serialization.Model): + """Sql always encrypted properties. + + All required parameters must be populated in order to send to Azure. + + :param always_encrypted_akv_auth_type: Required. Sql always encrypted AKV authentication type. + Type: string (or Expression with resultType string). Possible values include: + "ServicePrincipal", "ManagedIdentity". + :type always_encrypted_akv_auth_type: str or + ~data_factory_management_client.models.SqlAlwaysEncryptedAkvAuthType + :param service_principal_id: The client ID of the application in Azure Active Directory used + for Azure Key Vault authentication. Type: string (or Expression with resultType string). + :type service_principal_id: object + :param service_principal_key: The key of the service principal used to authenticate against + Azure Key Vault. + :type service_principal_key: ~data_factory_management_client.models.SecretBase + """ + + _validation = { + 'always_encrypted_akv_auth_type': {'required': True}, + } + + _attribute_map = { + 'always_encrypted_akv_auth_type': {'key': 'alwaysEncryptedAkvAuthType', 'type': 'str'}, + 'service_principal_id': {'key': 'servicePrincipalId', 'type': 'object'}, + 'service_principal_key': {'key': 'servicePrincipalKey', 'type': 'SecretBase'}, + } + + def __init__( + self, + **kwargs + ): + super(SqlAlwaysEncryptedProperties, self).__init__(**kwargs) + self.always_encrypted_akv_auth_type = kwargs['always_encrypted_akv_auth_type'] + self.service_principal_id = kwargs.get('service_principal_id', None) + self.service_principal_key = kwargs.get('service_principal_key', None) + + +class SqlDwSink(CopySink): """A copy activity SQL Data Warehouse sink. All required parameters must be populated in order to send to Azure. @@ -29899,7 +31735,7 @@ class SQLDWSink(CopySink): :type allow_copy_command: object :param copy_command_settings: Specifies Copy Command related settings when allowCopyCommand is true. - :type copy_command_settings: ~data_factory_management_client.models.DWCopyCommandSettings + :type copy_command_settings: ~data_factory_management_client.models.DwCopyCommandSettings :param table_option: The option to handle sink table, such as autoCreate. For now only 'autoCreate' value is supported. Type: string (or Expression with resultType string). :type table_option: object @@ -29921,7 +31757,7 @@ class SQLDWSink(CopySink): 'allow_poly_base': {'key': 'allowPolyBase', 'type': 'object'}, 'poly_base_settings': {'key': 'polyBaseSettings', 'type': 'PolybaseSettings'}, 'allow_copy_command': {'key': 'allowCopyCommand', 'type': 'object'}, - 'copy_command_settings': {'key': 'copyCommandSettings', 'type': 'DWCopyCommandSettings'}, + 'copy_command_settings': {'key': 'copyCommandSettings', 'type': 'DwCopyCommandSettings'}, 'table_option': {'key': 'tableOption', 'type': 'object'}, } @@ -29929,7 +31765,7 @@ def __init__( self, **kwargs ): - super(SQLDWSink, self).__init__(**kwargs) + super(SqlDwSink, self).__init__(**kwargs) self.type = 'SqlDWSink' # type: str self.pre_copy_script = kwargs.get('pre_copy_script', None) self.allow_poly_base = kwargs.get('allow_poly_base', None) @@ -29939,7 +31775,7 @@ def __init__( self.table_option = kwargs.get('table_option', None) -class SQLDWSource(TabularSource): +class SqlDwSource(TabularSource): """A copy activity SQL Data Warehouse source. All required parameters must be populated in order to send to Azure. @@ -29977,9 +31813,9 @@ class SQLDWSource(TabularSource): :type stored_procedure_parameters: object :param partition_option: The partition mechanism that will be used for Sql read in parallel. Possible values include: "None", "PhysicalPartitionsOfTable", "DynamicRange". - :type partition_option: str or ~data_factory_management_client.models.SQLPartitionOption + :type partition_option: object :param partition_settings: The settings that will be leveraged for Sql source partitioning. - :type partition_settings: ~data_factory_management_client.models.SQLPartitionSettings + :type partition_settings: ~data_factory_management_client.models.SqlPartitionSettings """ _validation = { @@ -29997,15 +31833,15 @@ class SQLDWSource(TabularSource): 'sql_reader_query': {'key': 'sqlReaderQuery', 'type': 'object'}, 'sql_reader_stored_procedure_name': {'key': 'sqlReaderStoredProcedureName', 'type': 'object'}, 'stored_procedure_parameters': {'key': 'storedProcedureParameters', 'type': 'object'}, - 'partition_option': {'key': 'partitionOption', 'type': 'str'}, - 'partition_settings': {'key': 'partitionSettings', 'type': 'SQLPartitionSettings'}, + 'partition_option': {'key': 'partitionOption', 'type': 'object'}, + 'partition_settings': {'key': 'partitionSettings', 'type': 'SqlPartitionSettings'}, } def __init__( self, **kwargs ): - super(SQLDWSource, self).__init__(**kwargs) + super(SqlDwSource, self).__init__(**kwargs) self.type = 'SqlDWSource' # type: str self.sql_reader_query = kwargs.get('sql_reader_query', None) self.sql_reader_stored_procedure_name = kwargs.get('sql_reader_stored_procedure_name', None) @@ -30014,7 +31850,7 @@ def __init__( self.partition_settings = kwargs.get('partition_settings', None) -class SQLMiSink(CopySink): +class SqlMiSink(CopySink): """A copy activity Azure SQL Managed Instance sink. All required parameters must be populated in order to send to Azure. @@ -30083,7 +31919,7 @@ def __init__( self, **kwargs ): - super(SQLMiSink, self).__init__(**kwargs) + super(SqlMiSink, self).__init__(**kwargs) self.type = 'SqlMISink' # type: str self.sql_writer_stored_procedure_name = kwargs.get('sql_writer_stored_procedure_name', None) self.sql_writer_table_type = kwargs.get('sql_writer_table_type', None) @@ -30093,7 +31929,7 @@ def __init__( self.table_option = kwargs.get('table_option', None) -class SQLMiSource(TabularSource): +class SqlMiSource(TabularSource): """A copy activity Azure SQL Managed Instance source. All required parameters must be populated in order to send to Azure. @@ -30132,9 +31968,9 @@ class SQLMiSource(TabularSource): :type produce_additional_types: object :param partition_option: The partition mechanism that will be used for Sql read in parallel. Possible values include: "None", "PhysicalPartitionsOfTable", "DynamicRange". - :type partition_option: str or ~data_factory_management_client.models.SQLPartitionOption + :type partition_option: object :param partition_settings: The settings that will be leveraged for Sql source partitioning. - :type partition_settings: ~data_factory_management_client.models.SQLPartitionSettings + :type partition_settings: ~data_factory_management_client.models.SqlPartitionSettings """ _validation = { @@ -30153,15 +31989,15 @@ class SQLMiSource(TabularSource): 'sql_reader_stored_procedure_name': {'key': 'sqlReaderStoredProcedureName', 'type': 'object'}, 'stored_procedure_parameters': {'key': 'storedProcedureParameters', 'type': '{StoredProcedureParameter}'}, 'produce_additional_types': {'key': 'produceAdditionalTypes', 'type': 'object'}, - 'partition_option': {'key': 'partitionOption', 'type': 'str'}, - 'partition_settings': {'key': 'partitionSettings', 'type': 'SQLPartitionSettings'}, + 'partition_option': {'key': 'partitionOption', 'type': 'object'}, + 'partition_settings': {'key': 'partitionSettings', 'type': 'SqlPartitionSettings'}, } def __init__( self, **kwargs ): - super(SQLMiSource, self).__init__(**kwargs) + super(SqlMiSource, self).__init__(**kwargs) self.type = 'SqlMISource' # type: str self.sql_reader_query = kwargs.get('sql_reader_query', None) self.sql_reader_stored_procedure_name = kwargs.get('sql_reader_stored_procedure_name', None) @@ -30171,7 +32007,7 @@ def __init__( self.partition_settings = kwargs.get('partition_settings', None) -class SQLPartitionSettings(msrest.serialization.Model): +class SqlPartitionSettings(msrest.serialization.Model): """The settings that will be leveraged for Sql source partitioning. :param partition_column_name: The name of the column in integer or datetime type that will be @@ -30200,13 +32036,13 @@ def __init__( self, **kwargs ): - super(SQLPartitionSettings, self).__init__(**kwargs) + super(SqlPartitionSettings, self).__init__(**kwargs) self.partition_column_name = kwargs.get('partition_column_name', None) self.partition_upper_bound = kwargs.get('partition_upper_bound', None) self.partition_lower_bound = kwargs.get('partition_lower_bound', None) -class SQLServerLinkedService(LinkedService): +class SqlServerLinkedService(LinkedService): """SQL Server linked service. All required parameters must be populated in order to send to Azure. @@ -30236,6 +32072,9 @@ class SQLServerLinkedService(LinkedService): encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). :type encrypted_credential: object + :param always_encrypted_settings: Sql always encrypted properties. + :type always_encrypted_settings: + ~data_factory_management_client.models.SqlAlwaysEncryptedProperties """ _validation = { @@ -30254,21 +32093,23 @@ class SQLServerLinkedService(LinkedService): 'user_name': {'key': 'typeProperties.userName', 'type': 'object'}, 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + 'always_encrypted_settings': {'key': 'typeProperties.alwaysEncryptedSettings', 'type': 'SqlAlwaysEncryptedProperties'}, } def __init__( self, **kwargs ): - super(SQLServerLinkedService, self).__init__(**kwargs) + super(SqlServerLinkedService, self).__init__(**kwargs) self.type = 'SqlServer' # type: str self.connection_string = kwargs['connection_string'] self.user_name = kwargs.get('user_name', None) self.password = kwargs.get('password', None) self.encrypted_credential = kwargs.get('encrypted_credential', None) + self.always_encrypted_settings = kwargs.get('always_encrypted_settings', None) -class SQLServerSink(CopySink): +class SqlServerSink(CopySink): """A copy activity SQL server sink. All required parameters must be populated in order to send to Azure. @@ -30337,7 +32178,7 @@ def __init__( self, **kwargs ): - super(SQLServerSink, self).__init__(**kwargs) + super(SqlServerSink, self).__init__(**kwargs) self.type = 'SqlServerSink' # type: str self.sql_writer_stored_procedure_name = kwargs.get('sql_writer_stored_procedure_name', None) self.sql_writer_table_type = kwargs.get('sql_writer_table_type', None) @@ -30347,7 +32188,7 @@ def __init__( self.table_option = kwargs.get('table_option', None) -class SQLServerSource(TabularSource): +class SqlServerSource(TabularSource): """A copy activity SQL server source. All required parameters must be populated in order to send to Azure. @@ -30386,9 +32227,9 @@ class SQLServerSource(TabularSource): :type produce_additional_types: object :param partition_option: The partition mechanism that will be used for Sql read in parallel. Possible values include: "None", "PhysicalPartitionsOfTable", "DynamicRange". - :type partition_option: str or ~data_factory_management_client.models.SQLPartitionOption + :type partition_option: object :param partition_settings: The settings that will be leveraged for Sql source partitioning. - :type partition_settings: ~data_factory_management_client.models.SQLPartitionSettings + :type partition_settings: ~data_factory_management_client.models.SqlPartitionSettings """ _validation = { @@ -30407,15 +32248,15 @@ class SQLServerSource(TabularSource): 'sql_reader_stored_procedure_name': {'key': 'sqlReaderStoredProcedureName', 'type': 'object'}, 'stored_procedure_parameters': {'key': 'storedProcedureParameters', 'type': '{StoredProcedureParameter}'}, 'produce_additional_types': {'key': 'produceAdditionalTypes', 'type': 'object'}, - 'partition_option': {'key': 'partitionOption', 'type': 'str'}, - 'partition_settings': {'key': 'partitionSettings', 'type': 'SQLPartitionSettings'}, + 'partition_option': {'key': 'partitionOption', 'type': 'object'}, + 'partition_settings': {'key': 'partitionSettings', 'type': 'SqlPartitionSettings'}, } def __init__( self, **kwargs ): - super(SQLServerSource, self).__init__(**kwargs) + super(SqlServerSource, self).__init__(**kwargs) self.type = 'SqlServerSource' # type: str self.sql_reader_query = kwargs.get('sql_reader_query', None) self.sql_reader_stored_procedure_name = kwargs.get('sql_reader_stored_procedure_name', None) @@ -30425,7 +32266,7 @@ def __init__( self.partition_settings = kwargs.get('partition_settings', None) -class SQLServerStoredProcedureActivity(ExecutionActivity): +class SqlServerStoredProcedureActivity(ExecutionActivity): """SQL stored procedure activity type. All required parameters must be populated in order to send to Azure. @@ -30479,13 +32320,13 @@ def __init__( self, **kwargs ): - super(SQLServerStoredProcedureActivity, self).__init__(**kwargs) + super(SqlServerStoredProcedureActivity, self).__init__(**kwargs) self.type = 'SqlServerStoredProcedure' # type: str self.stored_procedure_name = kwargs['stored_procedure_name'] self.stored_procedure_parameters = kwargs.get('stored_procedure_parameters', None) -class SQLServerTableDataset(Dataset): +class SqlServerTableDataset(Dataset): """The on-premises SQL Server dataset. All required parameters must be populated in order to send to Azure. @@ -30547,14 +32388,14 @@ def __init__( self, **kwargs ): - super(SQLServerTableDataset, self).__init__(**kwargs) + super(SqlServerTableDataset, self).__init__(**kwargs) self.type = 'SqlServerTable' # type: str self.table_name = kwargs.get('table_name', None) self.schema_type_properties_schema = kwargs.get('schema_type_properties_schema', None) self.table = kwargs.get('table', None) -class SQLSink(CopySink): +class SqlSink(CopySink): """A copy activity SQL sink. All required parameters must be populated in order to send to Azure. @@ -30623,7 +32464,7 @@ def __init__( self, **kwargs ): - super(SQLSink, self).__init__(**kwargs) + super(SqlSink, self).__init__(**kwargs) self.type = 'SqlSink' # type: str self.sql_writer_stored_procedure_name = kwargs.get('sql_writer_stored_procedure_name', None) self.sql_writer_table_type = kwargs.get('sql_writer_table_type', None) @@ -30633,7 +32474,7 @@ def __init__( self.table_option = kwargs.get('table_option', None) -class SQLSource(TabularSource): +class SqlSource(TabularSource): """A copy activity SQL source. All required parameters must be populated in order to send to Azure. @@ -30674,9 +32515,9 @@ class SQLSource(TabularSource): :type isolation_level: object :param partition_option: The partition mechanism that will be used for Sql read in parallel. Possible values include: "None", "PhysicalPartitionsOfTable", "DynamicRange". - :type partition_option: str or ~data_factory_management_client.models.SQLPartitionOption + :type partition_option: object :param partition_settings: The settings that will be leveraged for Sql source partitioning. - :type partition_settings: ~data_factory_management_client.models.SQLPartitionSettings + :type partition_settings: ~data_factory_management_client.models.SqlPartitionSettings """ _validation = { @@ -30695,15 +32536,15 @@ class SQLSource(TabularSource): 'sql_reader_stored_procedure_name': {'key': 'sqlReaderStoredProcedureName', 'type': 'object'}, 'stored_procedure_parameters': {'key': 'storedProcedureParameters', 'type': '{StoredProcedureParameter}'}, 'isolation_level': {'key': 'isolationLevel', 'type': 'object'}, - 'partition_option': {'key': 'partitionOption', 'type': 'str'}, - 'partition_settings': {'key': 'partitionSettings', 'type': 'SQLPartitionSettings'}, + 'partition_option': {'key': 'partitionOption', 'type': 'object'}, + 'partition_settings': {'key': 'partitionSettings', 'type': 'SqlPartitionSettings'}, } def __init__( self, **kwargs ): - super(SQLSource, self).__init__(**kwargs) + super(SqlSource, self).__init__(**kwargs) self.type = 'SqlSource' # type: str self.sql_reader_query = kwargs.get('sql_reader_query', None) self.sql_reader_stored_procedure_name = kwargs.get('sql_reader_stored_procedure_name', None) @@ -31999,6 +33840,74 @@ def __init__( self.type_conversion_settings = kwargs.get('type_conversion_settings', None) +class TarGZipReadSettings(CompressionReadSettings): + """The TarGZip compression read settings. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. The Compression setting type.Constant filled by server. + :type type: str + :param preserve_compression_file_name_as_folder: Preserve the compression file name as folder + path. Type: boolean (or Expression with resultType boolean). + :type preserve_compression_file_name_as_folder: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'preserve_compression_file_name_as_folder': {'key': 'preserveCompressionFileNameAsFolder', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(TarGZipReadSettings, self).__init__(**kwargs) + self.type = 'TarGZipReadSettings' # type: str + self.preserve_compression_file_name_as_folder = kwargs.get('preserve_compression_file_name_as_folder', None) + + +class TarReadSettings(CompressionReadSettings): + """The Tar compression read settings. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. The Compression setting type.Constant filled by server. + :type type: str + :param preserve_compression_file_name_as_folder: Preserve the compression file name as folder + path. Type: boolean (or Expression with resultType boolean). + :type preserve_compression_file_name_as_folder: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'preserve_compression_file_name_as_folder': {'key': 'preserveCompressionFileNameAsFolder', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(TarReadSettings, self).__init__(**kwargs) + self.type = 'TarReadSettings' # type: str + self.preserve_compression_file_name_as_folder = kwargs.get('preserve_compression_file_name_as_folder', None) + + class TeradataLinkedService(LinkedService): """Linked service for Teradata data source. @@ -32131,7 +34040,7 @@ class TeradataSource(TabularSource): :type query: object :param partition_option: The partition mechanism that will be used for teradata read in parallel. Possible values include: "None", "Hash", "DynamicRange". - :type partition_option: str or ~data_factory_management_client.models.TeradataPartitionOption + :type partition_option: object :param partition_settings: The settings that will be leveraged for teradata source partitioning. :type partition_settings: ~data_factory_management_client.models.TeradataPartitionSettings @@ -32150,7 +34059,7 @@ class TeradataSource(TabularSource): 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, - 'partition_option': {'key': 'partitionOption', 'type': 'str'}, + 'partition_option': {'key': 'partitionOption', 'type': 'object'}, 'partition_settings': {'key': 'partitionSettings', 'type': 'TeradataPartitionSettings'}, } @@ -32688,7 +34597,7 @@ class TumblingWindowTrigger(Trigger): trigger window that is ready. :type pipeline: ~data_factory_management_client.models.TriggerPipelineReference :param frequency: Required. The frequency of the time windows. Possible values include: - "Minute", "Hour". + "Minute", "Hour", "Month". :type frequency: str or ~data_factory_management_client.models.TumblingWindowFrequency :param interval: Required. The interval of the time windows. The minimum interval allowed is 15 Minutes. @@ -33441,17 +35350,24 @@ class WebActivityAuthentication(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :param type: Required. Web activity authentication (Basic/ClientCertificate/MSI). + :param type: Required. Web activity authentication + (Basic/ClientCertificate/MSI/ServicePrincipal). :type type: str - :param pfx: Base64-encoded contents of a PFX file. + :param pfx: Base64-encoded contents of a PFX file or Certificate when used for + ServicePrincipal. :type pfx: ~data_factory_management_client.models.SecretBase - :param username: Web activity authentication user name for basic authentication. - :type username: str - :param password: Password for the PFX file or basic authentication. + :param username: Web activity authentication user name for basic authentication or ClientID + when used for ServicePrincipal. Type: string (or Expression with resultType string). + :type username: object + :param password: Password for the PFX file or basic authentication / Secret when used for + ServicePrincipal. :type password: ~data_factory_management_client.models.SecretBase :param resource: Resource for which Azure Auth token will be requested when using MSI - Authentication. - :type resource: str + Authentication. Type: string (or Expression with resultType string). + :type resource: object + :param user_tenant: TenantId for which Azure Auth token will be requested when using + ServicePrincipal Authentication. Type: string (or Expression with resultType string). + :type user_tenant: object """ _validation = { @@ -33461,9 +35377,10 @@ class WebActivityAuthentication(msrest.serialization.Model): _attribute_map = { 'type': {'key': 'type', 'type': 'str'}, 'pfx': {'key': 'pfx', 'type': 'SecretBase'}, - 'username': {'key': 'username', 'type': 'str'}, + 'username': {'key': 'username', 'type': 'object'}, 'password': {'key': 'password', 'type': 'SecretBase'}, - 'resource': {'key': 'resource', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'object'}, + 'user_tenant': {'key': 'userTenant', 'type': 'object'}, } def __init__( @@ -33476,6 +35393,7 @@ def __init__( self.username = kwargs.get('username', None) self.password = kwargs.get('password', None) self.resource = kwargs.get('resource', None) + self.user_tenant = kwargs.get('user_tenant', None) class WebLinkedServiceTypeProperties(msrest.serialization.Model): diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/models/_models_py3.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/models/_models_py3.py index 060634eb408..f6ebc8328ae 100644 --- a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/models/_models_py3.py +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/models/_models_py3.py @@ -378,7 +378,7 @@ class LinkedService(msrest.serialization.Model): """The Azure Data Factory nested object which contains the information and credential which can be used to connect with related store or compute resource. You probably want to use the sub-classes and not this class directly. Known - sub-classes are: AmazonMwsLinkedService, AmazonRedshiftLinkedService, AmazonS3LinkedService, AzureBatchLinkedService, AzureBlobFsLinkedService, AzureBlobStorageLinkedService, AzureDataExplorerLinkedService, AzureDataLakeAnalyticsLinkedService, AzureDataLakeStoreLinkedService, AzureDatabricksLinkedService, AzureFileStorageLinkedService, AzureFunctionLinkedService, AzureKeyVaultLinkedService, AzureMlLinkedService, AzureMlServiceLinkedService, AzureMariaDBLinkedService, AzureMySQLLinkedService, AzurePostgreSQLLinkedService, AzureSearchLinkedService, AzureSQLDWLinkedService, AzureSQLDatabaseLinkedService, AzureSQLMiLinkedService, AzureStorageLinkedService, AzureTableStorageLinkedService, CassandraLinkedService, CommonDataServiceForAppsLinkedService, ConcurLinkedService, CosmosDBLinkedService, CosmosDBMongoDBApiLinkedService, CouchbaseLinkedService, CustomDataSourceLinkedService, Db2LinkedService, DrillLinkedService, DynamicsLinkedService, DynamicsAxLinkedService, DynamicsCrmLinkedService, EloquaLinkedService, FileServerLinkedService, FtpServerLinkedService, GoogleAdWordsLinkedService, GoogleBigQueryLinkedService, GoogleCloudStorageLinkedService, GreenplumLinkedService, HBaseLinkedService, HdInsightLinkedService, HdInsightOnDemandLinkedService, HdfsLinkedService, HiveLinkedService, HttpLinkedService, HubspotLinkedService, ImpalaLinkedService, InformixLinkedService, JiraLinkedService, MagentoLinkedService, MariaDBLinkedService, MarketoLinkedService, MicrosoftAccessLinkedService, MongoDBLinkedService, MongoDBV2LinkedService, MySQLLinkedService, NetezzaLinkedService, ODataLinkedService, OdbcLinkedService, Office365LinkedService, OracleLinkedService, OracleServiceCloudLinkedService, PaypalLinkedService, PhoenixLinkedService, PostgreSQLLinkedService, PrestoLinkedService, QuickBooksLinkedService, ResponsysLinkedService, RestServiceLinkedService, SalesforceLinkedService, SalesforceMarketingCloudLinkedService, SalesforceServiceCloudLinkedService, SapBwLinkedService, SapCloudForCustomerLinkedService, SapEccLinkedService, SapHanaLinkedService, SapOpenHubLinkedService, SapTableLinkedService, ServiceNowLinkedService, SftpServerLinkedService, SharePointOnlineListLinkedService, ShopifyLinkedService, SnowflakeLinkedService, SparkLinkedService, SQLServerLinkedService, SquareLinkedService, SybaseLinkedService, TeradataLinkedService, VerticaLinkedService, WebLinkedService, XeroLinkedService, ZohoLinkedService. + sub-classes are: AmazonMwsLinkedService, AmazonRedshiftLinkedService, AmazonS3LinkedService, AmazonS3CompatibleLinkedService, AzureBatchLinkedService, AzureBlobFsLinkedService, AzureBlobStorageLinkedService, AzureDataExplorerLinkedService, AzureDataLakeAnalyticsLinkedService, AzureDataLakeStoreLinkedService, AzureDatabricksLinkedService, AzureDatabricksDeltaLakeLinkedService, AzureFileStorageLinkedService, AzureFunctionLinkedService, AzureKeyVaultLinkedService, AzureMlLinkedService, AzureMlServiceLinkedService, AzureMariaDbLinkedService, AzureMySqlLinkedService, AzurePostgreSqlLinkedService, AzureSearchLinkedService, AzureSqlDwLinkedService, AzureSqlDatabaseLinkedService, AzureSqlMiLinkedService, AzureStorageLinkedService, AzureTableStorageLinkedService, CassandraLinkedService, CommonDataServiceForAppsLinkedService, ConcurLinkedService, CosmosDbLinkedService, CosmosDbMongoDbApiLinkedService, CouchbaseLinkedService, CustomDataSourceLinkedService, Db2LinkedService, DrillLinkedService, DynamicsLinkedService, DynamicsAxLinkedService, DynamicsCrmLinkedService, EloquaLinkedService, FileServerLinkedService, FtpServerLinkedService, GoogleAdWordsLinkedService, GoogleBigQueryLinkedService, GoogleCloudStorageLinkedService, GreenplumLinkedService, HBaseLinkedService, HdInsightLinkedService, HdInsightOnDemandLinkedService, HdfsLinkedService, HiveLinkedService, HttpLinkedService, HubspotLinkedService, ImpalaLinkedService, InformixLinkedService, JiraLinkedService, MagentoLinkedService, MariaDbLinkedService, MarketoLinkedService, MicrosoftAccessLinkedService, MongoDbLinkedService, MongoDbAtlasLinkedService, MongoDbV2LinkedService, MySqlLinkedService, NetezzaLinkedService, ODataLinkedService, OdbcLinkedService, Office365LinkedService, OracleLinkedService, OracleCloudStorageLinkedService, OracleServiceCloudLinkedService, PaypalLinkedService, PhoenixLinkedService, PostgreSqlLinkedService, PrestoLinkedService, QuickBooksLinkedService, ResponsysLinkedService, RestServiceLinkedService, SalesforceLinkedService, SalesforceMarketingCloudLinkedService, SalesforceServiceCloudLinkedService, SapBwLinkedService, SapCloudForCustomerLinkedService, SapEccLinkedService, SapHanaLinkedService, SapOpenHubLinkedService, SapTableLinkedService, ServiceNowLinkedService, SftpServerLinkedService, SharePointOnlineListLinkedService, ShopifyLinkedService, SnowflakeLinkedService, SparkLinkedService, SqlServerLinkedService, SquareLinkedService, SybaseLinkedService, TeradataLinkedService, VerticaLinkedService, WebLinkedService, XeroLinkedService, ZohoLinkedService. All required parameters must be populated in order to send to Azure. @@ -411,7 +411,7 @@ class LinkedService(msrest.serialization.Model): } _subtype_map = { - 'type': {'AmazonMWS': 'AmazonMwsLinkedService', 'AmazonRedshift': 'AmazonRedshiftLinkedService', 'AmazonS3': 'AmazonS3LinkedService', 'AzureBatch': 'AzureBatchLinkedService', 'AzureBlobFS': 'AzureBlobFsLinkedService', 'AzureBlobStorage': 'AzureBlobStorageLinkedService', 'AzureDataExplorer': 'AzureDataExplorerLinkedService', 'AzureDataLakeAnalytics': 'AzureDataLakeAnalyticsLinkedService', 'AzureDataLakeStore': 'AzureDataLakeStoreLinkedService', 'AzureDatabricks': 'AzureDatabricksLinkedService', 'AzureFileStorage': 'AzureFileStorageLinkedService', 'AzureFunction': 'AzureFunctionLinkedService', 'AzureKeyVault': 'AzureKeyVaultLinkedService', 'AzureML': 'AzureMlLinkedService', 'AzureMLService': 'AzureMlServiceLinkedService', 'AzureMariaDB': 'AzureMariaDBLinkedService', 'AzureMySql': 'AzureMySQLLinkedService', 'AzurePostgreSql': 'AzurePostgreSQLLinkedService', 'AzureSearch': 'AzureSearchLinkedService', 'AzureSqlDW': 'AzureSQLDWLinkedService', 'AzureSqlDatabase': 'AzureSQLDatabaseLinkedService', 'AzureSqlMI': 'AzureSQLMiLinkedService', 'AzureStorage': 'AzureStorageLinkedService', 'AzureTableStorage': 'AzureTableStorageLinkedService', 'Cassandra': 'CassandraLinkedService', 'CommonDataServiceForApps': 'CommonDataServiceForAppsLinkedService', 'Concur': 'ConcurLinkedService', 'CosmosDb': 'CosmosDBLinkedService', 'CosmosDbMongoDbApi': 'CosmosDBMongoDBApiLinkedService', 'Couchbase': 'CouchbaseLinkedService', 'CustomDataSource': 'CustomDataSourceLinkedService', 'Db2': 'Db2LinkedService', 'Drill': 'DrillLinkedService', 'Dynamics': 'DynamicsLinkedService', 'DynamicsAX': 'DynamicsAxLinkedService', 'DynamicsCrm': 'DynamicsCrmLinkedService', 'Eloqua': 'EloquaLinkedService', 'FileServer': 'FileServerLinkedService', 'FtpServer': 'FtpServerLinkedService', 'GoogleAdWords': 'GoogleAdWordsLinkedService', 'GoogleBigQuery': 'GoogleBigQueryLinkedService', 'GoogleCloudStorage': 'GoogleCloudStorageLinkedService', 'Greenplum': 'GreenplumLinkedService', 'HBase': 'HBaseLinkedService', 'HDInsight': 'HdInsightLinkedService', 'HDInsightOnDemand': 'HdInsightOnDemandLinkedService', 'Hdfs': 'HdfsLinkedService', 'Hive': 'HiveLinkedService', 'HttpServer': 'HttpLinkedService', 'Hubspot': 'HubspotLinkedService', 'Impala': 'ImpalaLinkedService', 'Informix': 'InformixLinkedService', 'Jira': 'JiraLinkedService', 'Magento': 'MagentoLinkedService', 'MariaDB': 'MariaDBLinkedService', 'Marketo': 'MarketoLinkedService', 'MicrosoftAccess': 'MicrosoftAccessLinkedService', 'MongoDb': 'MongoDBLinkedService', 'MongoDbV2': 'MongoDBV2LinkedService', 'MySql': 'MySQLLinkedService', 'Netezza': 'NetezzaLinkedService', 'OData': 'ODataLinkedService', 'Odbc': 'OdbcLinkedService', 'Office365': 'Office365LinkedService', 'Oracle': 'OracleLinkedService', 'OracleServiceCloud': 'OracleServiceCloudLinkedService', 'Paypal': 'PaypalLinkedService', 'Phoenix': 'PhoenixLinkedService', 'PostgreSql': 'PostgreSQLLinkedService', 'Presto': 'PrestoLinkedService', 'QuickBooks': 'QuickBooksLinkedService', 'Responsys': 'ResponsysLinkedService', 'RestService': 'RestServiceLinkedService', 'Salesforce': 'SalesforceLinkedService', 'SalesforceMarketingCloud': 'SalesforceMarketingCloudLinkedService', 'SalesforceServiceCloud': 'SalesforceServiceCloudLinkedService', 'SapBW': 'SapBwLinkedService', 'SapCloudForCustomer': 'SapCloudForCustomerLinkedService', 'SapEcc': 'SapEccLinkedService', 'SapHana': 'SapHanaLinkedService', 'SapOpenHub': 'SapOpenHubLinkedService', 'SapTable': 'SapTableLinkedService', 'ServiceNow': 'ServiceNowLinkedService', 'Sftp': 'SftpServerLinkedService', 'SharePointOnlineList': 'SharePointOnlineListLinkedService', 'Shopify': 'ShopifyLinkedService', 'Snowflake': 'SnowflakeLinkedService', 'Spark': 'SparkLinkedService', 'SqlServer': 'SQLServerLinkedService', 'Square': 'SquareLinkedService', 'Sybase': 'SybaseLinkedService', 'Teradata': 'TeradataLinkedService', 'Vertica': 'VerticaLinkedService', 'Web': 'WebLinkedService', 'Xero': 'XeroLinkedService', 'Zoho': 'ZohoLinkedService'} + 'type': {'AmazonMWS': 'AmazonMwsLinkedService', 'AmazonRedshift': 'AmazonRedshiftLinkedService', 'AmazonS3': 'AmazonS3LinkedService', 'AmazonS3Compatible': 'AmazonS3CompatibleLinkedService', 'AzureBatch': 'AzureBatchLinkedService', 'AzureBlobFS': 'AzureBlobFsLinkedService', 'AzureBlobStorage': 'AzureBlobStorageLinkedService', 'AzureDataExplorer': 'AzureDataExplorerLinkedService', 'AzureDataLakeAnalytics': 'AzureDataLakeAnalyticsLinkedService', 'AzureDataLakeStore': 'AzureDataLakeStoreLinkedService', 'AzureDatabricks': 'AzureDatabricksLinkedService', 'AzureDatabricksDeltaLake': 'AzureDatabricksDeltaLakeLinkedService', 'AzureFileStorage': 'AzureFileStorageLinkedService', 'AzureFunction': 'AzureFunctionLinkedService', 'AzureKeyVault': 'AzureKeyVaultLinkedService', 'AzureML': 'AzureMlLinkedService', 'AzureMLService': 'AzureMlServiceLinkedService', 'AzureMariaDB': 'AzureMariaDbLinkedService', 'AzureMySql': 'AzureMySqlLinkedService', 'AzurePostgreSql': 'AzurePostgreSqlLinkedService', 'AzureSearch': 'AzureSearchLinkedService', 'AzureSqlDW': 'AzureSqlDwLinkedService', 'AzureSqlDatabase': 'AzureSqlDatabaseLinkedService', 'AzureSqlMI': 'AzureSqlMiLinkedService', 'AzureStorage': 'AzureStorageLinkedService', 'AzureTableStorage': 'AzureTableStorageLinkedService', 'Cassandra': 'CassandraLinkedService', 'CommonDataServiceForApps': 'CommonDataServiceForAppsLinkedService', 'Concur': 'ConcurLinkedService', 'CosmosDb': 'CosmosDbLinkedService', 'CosmosDbMongoDbApi': 'CosmosDbMongoDbApiLinkedService', 'Couchbase': 'CouchbaseLinkedService', 'CustomDataSource': 'CustomDataSourceLinkedService', 'Db2': 'Db2LinkedService', 'Drill': 'DrillLinkedService', 'Dynamics': 'DynamicsLinkedService', 'DynamicsAX': 'DynamicsAxLinkedService', 'DynamicsCrm': 'DynamicsCrmLinkedService', 'Eloqua': 'EloquaLinkedService', 'FileServer': 'FileServerLinkedService', 'FtpServer': 'FtpServerLinkedService', 'GoogleAdWords': 'GoogleAdWordsLinkedService', 'GoogleBigQuery': 'GoogleBigQueryLinkedService', 'GoogleCloudStorage': 'GoogleCloudStorageLinkedService', 'Greenplum': 'GreenplumLinkedService', 'HBase': 'HBaseLinkedService', 'HDInsight': 'HdInsightLinkedService', 'HDInsightOnDemand': 'HdInsightOnDemandLinkedService', 'Hdfs': 'HdfsLinkedService', 'Hive': 'HiveLinkedService', 'HttpServer': 'HttpLinkedService', 'Hubspot': 'HubspotLinkedService', 'Impala': 'ImpalaLinkedService', 'Informix': 'InformixLinkedService', 'Jira': 'JiraLinkedService', 'Magento': 'MagentoLinkedService', 'MariaDB': 'MariaDbLinkedService', 'Marketo': 'MarketoLinkedService', 'MicrosoftAccess': 'MicrosoftAccessLinkedService', 'MongoDb': 'MongoDbLinkedService', 'MongoDbAtlas': 'MongoDbAtlasLinkedService', 'MongoDbV2': 'MongoDbV2LinkedService', 'MySql': 'MySqlLinkedService', 'Netezza': 'NetezzaLinkedService', 'OData': 'ODataLinkedService', 'Odbc': 'OdbcLinkedService', 'Office365': 'Office365LinkedService', 'Oracle': 'OracleLinkedService', 'OracleCloudStorage': 'OracleCloudStorageLinkedService', 'OracleServiceCloud': 'OracleServiceCloudLinkedService', 'Paypal': 'PaypalLinkedService', 'Phoenix': 'PhoenixLinkedService', 'PostgreSql': 'PostgreSqlLinkedService', 'Presto': 'PrestoLinkedService', 'QuickBooks': 'QuickBooksLinkedService', 'Responsys': 'ResponsysLinkedService', 'RestService': 'RestServiceLinkedService', 'Salesforce': 'SalesforceLinkedService', 'SalesforceMarketingCloud': 'SalesforceMarketingCloudLinkedService', 'SalesforceServiceCloud': 'SalesforceServiceCloudLinkedService', 'SapBW': 'SapBwLinkedService', 'SapCloudForCustomer': 'SapCloudForCustomerLinkedService', 'SapEcc': 'SapEccLinkedService', 'SapHana': 'SapHanaLinkedService', 'SapOpenHub': 'SapOpenHubLinkedService', 'SapTable': 'SapTableLinkedService', 'ServiceNow': 'ServiceNowLinkedService', 'Sftp': 'SftpServerLinkedService', 'SharePointOnlineList': 'SharePointOnlineListLinkedService', 'Shopify': 'ShopifyLinkedService', 'Snowflake': 'SnowflakeLinkedService', 'Spark': 'SparkLinkedService', 'SqlServer': 'SqlServerLinkedService', 'Square': 'SquareLinkedService', 'Sybase': 'SybaseLinkedService', 'Teradata': 'TeradataLinkedService', 'Vertica': 'VerticaLinkedService', 'Web': 'WebLinkedService', 'Xero': 'XeroLinkedService', 'Zoho': 'ZohoLinkedService'} } def __init__( @@ -547,7 +547,7 @@ class Dataset(msrest.serialization.Model): """The Azure Data Factory nested object which identifies data within different data stores, such as tables, files, folders, and documents. You probably want to use the sub-classes and not this class directly. Known - sub-classes are: AmazonMwsObjectDataset, AmazonRedshiftTableDataset, AmazonS3Dataset, AvroDataset, AzureBlobDataset, AzureBlobFsDataset, AzureDataExplorerTableDataset, AzureDataLakeStoreDataset, AzureMariaDBTableDataset, AzureMySQLTableDataset, AzurePostgreSQLTableDataset, AzureSearchIndexDataset, AzureSQLDWTableDataset, AzureSQLMiTableDataset, AzureSQLTableDataset, AzureTableDataset, BinaryDataset, CassandraTableDataset, CommonDataServiceForAppsEntityDataset, ConcurObjectDataset, CosmosDBMongoDBApiCollectionDataset, CosmosDBSQLApiCollectionDataset, CouchbaseTableDataset, CustomDataset, Db2TableDataset, DelimitedTextDataset, DocumentDBCollectionDataset, DrillTableDataset, DynamicsAxResourceDataset, DynamicsCrmEntityDataset, DynamicsEntityDataset, EloquaObjectDataset, ExcelDataset, FileShareDataset, GoogleAdWordsObjectDataset, GoogleBigQueryObjectDataset, GreenplumTableDataset, HBaseObjectDataset, HiveObjectDataset, HttpDataset, HubspotObjectDataset, ImpalaObjectDataset, InformixTableDataset, JiraObjectDataset, JsonDataset, MagentoObjectDataset, MariaDBTableDataset, MarketoObjectDataset, MicrosoftAccessTableDataset, MongoDBCollectionDataset, MongoDBV2CollectionDataset, MySQLTableDataset, NetezzaTableDataset, ODataResourceDataset, OdbcTableDataset, Office365Dataset, OracleServiceCloudObjectDataset, OracleTableDataset, OrcDataset, ParquetDataset, PaypalObjectDataset, PhoenixObjectDataset, PostgreSQLTableDataset, PrestoObjectDataset, QuickBooksObjectDataset, RelationalTableDataset, ResponsysObjectDataset, RestResourceDataset, SalesforceMarketingCloudObjectDataset, SalesforceObjectDataset, SalesforceServiceCloudObjectDataset, SapBwCubeDataset, SapCloudForCustomerResourceDataset, SapEccResourceDataset, SapHanaTableDataset, SapOpenHubTableDataset, SapTableResourceDataset, ServiceNowObjectDataset, SharePointOnlineListResourceDataset, ShopifyObjectDataset, SnowflakeDataset, SparkObjectDataset, SQLServerTableDataset, SquareObjectDataset, SybaseTableDataset, TeradataTableDataset, VerticaTableDataset, WebTableDataset, XeroObjectDataset, XmlDataset, ZohoObjectDataset. + sub-classes are: AmazonMwsObjectDataset, AmazonRedshiftTableDataset, AmazonS3Dataset, AvroDataset, AzureBlobDataset, AzureBlobFsDataset, AzureDataExplorerTableDataset, AzureDataLakeStoreDataset, AzureDatabricksDeltaLakeDataset, AzureMariaDbTableDataset, AzureMySqlTableDataset, AzurePostgreSqlTableDataset, AzureSearchIndexDataset, AzureSqlDwTableDataset, AzureSqlMiTableDataset, AzureSqlTableDataset, AzureTableDataset, BinaryDataset, CassandraTableDataset, CommonDataServiceForAppsEntityDataset, ConcurObjectDataset, CosmosDbMongoDbApiCollectionDataset, CosmosDbSqlApiCollectionDataset, CouchbaseTableDataset, CustomDataset, Db2TableDataset, DelimitedTextDataset, DocumentDbCollectionDataset, DrillTableDataset, DynamicsAxResourceDataset, DynamicsCrmEntityDataset, DynamicsEntityDataset, EloquaObjectDataset, ExcelDataset, FileShareDataset, GoogleAdWordsObjectDataset, GoogleBigQueryObjectDataset, GreenplumTableDataset, HBaseObjectDataset, HiveObjectDataset, HttpDataset, HubspotObjectDataset, ImpalaObjectDataset, InformixTableDataset, JiraObjectDataset, JsonDataset, MagentoObjectDataset, MariaDbTableDataset, MarketoObjectDataset, MicrosoftAccessTableDataset, MongoDbAtlasCollectionDataset, MongoDbCollectionDataset, MongoDbV2CollectionDataset, MySqlTableDataset, NetezzaTableDataset, ODataResourceDataset, OdbcTableDataset, Office365Dataset, OracleServiceCloudObjectDataset, OracleTableDataset, OrcDataset, ParquetDataset, PaypalObjectDataset, PhoenixObjectDataset, PostgreSqlTableDataset, PrestoObjectDataset, QuickBooksObjectDataset, RelationalTableDataset, ResponsysObjectDataset, RestResourceDataset, SalesforceMarketingCloudObjectDataset, SalesforceObjectDataset, SalesforceServiceCloudObjectDataset, SapBwCubeDataset, SapCloudForCustomerResourceDataset, SapEccResourceDataset, SapHanaTableDataset, SapOpenHubTableDataset, SapTableResourceDataset, ServiceNowObjectDataset, SharePointOnlineListResourceDataset, ShopifyObjectDataset, SnowflakeDataset, SparkObjectDataset, SqlServerTableDataset, SquareObjectDataset, SybaseTableDataset, TeradataTableDataset, VerticaTableDataset, WebTableDataset, XeroObjectDataset, XmlDataset, ZohoObjectDataset. All required parameters must be populated in order to send to Azure. @@ -593,7 +593,7 @@ class Dataset(msrest.serialization.Model): } _subtype_map = { - 'type': {'AmazonMWSObject': 'AmazonMwsObjectDataset', 'AmazonRedshiftTable': 'AmazonRedshiftTableDataset', 'AmazonS3Object': 'AmazonS3Dataset', 'Avro': 'AvroDataset', 'AzureBlob': 'AzureBlobDataset', 'AzureBlobFSFile': 'AzureBlobFsDataset', 'AzureDataExplorerTable': 'AzureDataExplorerTableDataset', 'AzureDataLakeStoreFile': 'AzureDataLakeStoreDataset', 'AzureMariaDBTable': 'AzureMariaDBTableDataset', 'AzureMySqlTable': 'AzureMySQLTableDataset', 'AzurePostgreSqlTable': 'AzurePostgreSQLTableDataset', 'AzureSearchIndex': 'AzureSearchIndexDataset', 'AzureSqlDWTable': 'AzureSQLDWTableDataset', 'AzureSqlMITable': 'AzureSQLMiTableDataset', 'AzureSqlTable': 'AzureSQLTableDataset', 'AzureTable': 'AzureTableDataset', 'Binary': 'BinaryDataset', 'CassandraTable': 'CassandraTableDataset', 'CommonDataServiceForAppsEntity': 'CommonDataServiceForAppsEntityDataset', 'ConcurObject': 'ConcurObjectDataset', 'CosmosDbMongoDbApiCollection': 'CosmosDBMongoDBApiCollectionDataset', 'CosmosDbSqlApiCollection': 'CosmosDBSQLApiCollectionDataset', 'CouchbaseTable': 'CouchbaseTableDataset', 'CustomDataset': 'CustomDataset', 'Db2Table': 'Db2TableDataset', 'DelimitedText': 'DelimitedTextDataset', 'DocumentDbCollection': 'DocumentDBCollectionDataset', 'DrillTable': 'DrillTableDataset', 'DynamicsAXResource': 'DynamicsAxResourceDataset', 'DynamicsCrmEntity': 'DynamicsCrmEntityDataset', 'DynamicsEntity': 'DynamicsEntityDataset', 'EloquaObject': 'EloquaObjectDataset', 'Excel': 'ExcelDataset', 'FileShare': 'FileShareDataset', 'GoogleAdWordsObject': 'GoogleAdWordsObjectDataset', 'GoogleBigQueryObject': 'GoogleBigQueryObjectDataset', 'GreenplumTable': 'GreenplumTableDataset', 'HBaseObject': 'HBaseObjectDataset', 'HiveObject': 'HiveObjectDataset', 'HttpFile': 'HttpDataset', 'HubspotObject': 'HubspotObjectDataset', 'ImpalaObject': 'ImpalaObjectDataset', 'InformixTable': 'InformixTableDataset', 'JiraObject': 'JiraObjectDataset', 'Json': 'JsonDataset', 'MagentoObject': 'MagentoObjectDataset', 'MariaDBTable': 'MariaDBTableDataset', 'MarketoObject': 'MarketoObjectDataset', 'MicrosoftAccessTable': 'MicrosoftAccessTableDataset', 'MongoDbCollection': 'MongoDBCollectionDataset', 'MongoDbV2Collection': 'MongoDBV2CollectionDataset', 'MySqlTable': 'MySQLTableDataset', 'NetezzaTable': 'NetezzaTableDataset', 'ODataResource': 'ODataResourceDataset', 'OdbcTable': 'OdbcTableDataset', 'Office365Table': 'Office365Dataset', 'OracleServiceCloudObject': 'OracleServiceCloudObjectDataset', 'OracleTable': 'OracleTableDataset', 'Orc': 'OrcDataset', 'Parquet': 'ParquetDataset', 'PaypalObject': 'PaypalObjectDataset', 'PhoenixObject': 'PhoenixObjectDataset', 'PostgreSqlTable': 'PostgreSQLTableDataset', 'PrestoObject': 'PrestoObjectDataset', 'QuickBooksObject': 'QuickBooksObjectDataset', 'RelationalTable': 'RelationalTableDataset', 'ResponsysObject': 'ResponsysObjectDataset', 'RestResource': 'RestResourceDataset', 'SalesforceMarketingCloudObject': 'SalesforceMarketingCloudObjectDataset', 'SalesforceObject': 'SalesforceObjectDataset', 'SalesforceServiceCloudObject': 'SalesforceServiceCloudObjectDataset', 'SapBwCube': 'SapBwCubeDataset', 'SapCloudForCustomerResource': 'SapCloudForCustomerResourceDataset', 'SapEccResource': 'SapEccResourceDataset', 'SapHanaTable': 'SapHanaTableDataset', 'SapOpenHubTable': 'SapOpenHubTableDataset', 'SapTableResource': 'SapTableResourceDataset', 'ServiceNowObject': 'ServiceNowObjectDataset', 'SharePointOnlineListResource': 'SharePointOnlineListResourceDataset', 'ShopifyObject': 'ShopifyObjectDataset', 'SnowflakeTable': 'SnowflakeDataset', 'SparkObject': 'SparkObjectDataset', 'SqlServerTable': 'SQLServerTableDataset', 'SquareObject': 'SquareObjectDataset', 'SybaseTable': 'SybaseTableDataset', 'TeradataTable': 'TeradataTableDataset', 'VerticaTable': 'VerticaTableDataset', 'WebTable': 'WebTableDataset', 'XeroObject': 'XeroObjectDataset', 'Xml': 'XmlDataset', 'ZohoObject': 'ZohoObjectDataset'} + 'type': {'AmazonMWSObject': 'AmazonMwsObjectDataset', 'AmazonRedshiftTable': 'AmazonRedshiftTableDataset', 'AmazonS3Object': 'AmazonS3Dataset', 'Avro': 'AvroDataset', 'AzureBlob': 'AzureBlobDataset', 'AzureBlobFSFile': 'AzureBlobFsDataset', 'AzureDataExplorerTable': 'AzureDataExplorerTableDataset', 'AzureDataLakeStoreFile': 'AzureDataLakeStoreDataset', 'AzureDatabricksDeltaLakeDataset': 'AzureDatabricksDeltaLakeDataset', 'AzureMariaDBTable': 'AzureMariaDbTableDataset', 'AzureMySqlTable': 'AzureMySqlTableDataset', 'AzurePostgreSqlTable': 'AzurePostgreSqlTableDataset', 'AzureSearchIndex': 'AzureSearchIndexDataset', 'AzureSqlDWTable': 'AzureSqlDwTableDataset', 'AzureSqlMITable': 'AzureSqlMiTableDataset', 'AzureSqlTable': 'AzureSqlTableDataset', 'AzureTable': 'AzureTableDataset', 'Binary': 'BinaryDataset', 'CassandraTable': 'CassandraTableDataset', 'CommonDataServiceForAppsEntity': 'CommonDataServiceForAppsEntityDataset', 'ConcurObject': 'ConcurObjectDataset', 'CosmosDbMongoDbApiCollection': 'CosmosDbMongoDbApiCollectionDataset', 'CosmosDbSqlApiCollection': 'CosmosDbSqlApiCollectionDataset', 'CouchbaseTable': 'CouchbaseTableDataset', 'CustomDataset': 'CustomDataset', 'Db2Table': 'Db2TableDataset', 'DelimitedText': 'DelimitedTextDataset', 'DocumentDbCollection': 'DocumentDbCollectionDataset', 'DrillTable': 'DrillTableDataset', 'DynamicsAXResource': 'DynamicsAxResourceDataset', 'DynamicsCrmEntity': 'DynamicsCrmEntityDataset', 'DynamicsEntity': 'DynamicsEntityDataset', 'EloquaObject': 'EloquaObjectDataset', 'Excel': 'ExcelDataset', 'FileShare': 'FileShareDataset', 'GoogleAdWordsObject': 'GoogleAdWordsObjectDataset', 'GoogleBigQueryObject': 'GoogleBigQueryObjectDataset', 'GreenplumTable': 'GreenplumTableDataset', 'HBaseObject': 'HBaseObjectDataset', 'HiveObject': 'HiveObjectDataset', 'HttpFile': 'HttpDataset', 'HubspotObject': 'HubspotObjectDataset', 'ImpalaObject': 'ImpalaObjectDataset', 'InformixTable': 'InformixTableDataset', 'JiraObject': 'JiraObjectDataset', 'Json': 'JsonDataset', 'MagentoObject': 'MagentoObjectDataset', 'MariaDBTable': 'MariaDbTableDataset', 'MarketoObject': 'MarketoObjectDataset', 'MicrosoftAccessTable': 'MicrosoftAccessTableDataset', 'MongoDbAtlasCollection': 'MongoDbAtlasCollectionDataset', 'MongoDbCollection': 'MongoDbCollectionDataset', 'MongoDbV2Collection': 'MongoDbV2CollectionDataset', 'MySqlTable': 'MySqlTableDataset', 'NetezzaTable': 'NetezzaTableDataset', 'ODataResource': 'ODataResourceDataset', 'OdbcTable': 'OdbcTableDataset', 'Office365Table': 'Office365Dataset', 'OracleServiceCloudObject': 'OracleServiceCloudObjectDataset', 'OracleTable': 'OracleTableDataset', 'Orc': 'OrcDataset', 'Parquet': 'ParquetDataset', 'PaypalObject': 'PaypalObjectDataset', 'PhoenixObject': 'PhoenixObjectDataset', 'PostgreSqlTable': 'PostgreSqlTableDataset', 'PrestoObject': 'PrestoObjectDataset', 'QuickBooksObject': 'QuickBooksObjectDataset', 'RelationalTable': 'RelationalTableDataset', 'ResponsysObject': 'ResponsysObjectDataset', 'RestResource': 'RestResourceDataset', 'SalesforceMarketingCloudObject': 'SalesforceMarketingCloudObjectDataset', 'SalesforceObject': 'SalesforceObjectDataset', 'SalesforceServiceCloudObject': 'SalesforceServiceCloudObjectDataset', 'SapBwCube': 'SapBwCubeDataset', 'SapCloudForCustomerResource': 'SapCloudForCustomerResourceDataset', 'SapEccResource': 'SapEccResourceDataset', 'SapHanaTable': 'SapHanaTableDataset', 'SapOpenHubTable': 'SapOpenHubTableDataset', 'SapTableResource': 'SapTableResourceDataset', 'ServiceNowObject': 'ServiceNowObjectDataset', 'SharePointOnlineListResource': 'SharePointOnlineListResourceDataset', 'ShopifyObject': 'ShopifyObjectDataset', 'SnowflakeTable': 'SnowflakeDataset', 'SparkObject': 'SparkObjectDataset', 'SqlServerTable': 'SqlServerTableDataset', 'SquareObject': 'SquareObjectDataset', 'SybaseTable': 'SybaseTableDataset', 'TeradataTable': 'TeradataTableDataset', 'VerticaTable': 'VerticaTableDataset', 'WebTable': 'WebTableDataset', 'XeroObject': 'XeroObjectDataset', 'Xml': 'XmlDataset', 'ZohoObject': 'ZohoObjectDataset'} } def __init__( @@ -693,7 +693,7 @@ class CopySource(msrest.serialization.Model): """A copy activity source. You probably want to use the sub-classes and not this class directly. Known - sub-classes are: AvroSource, AzureBlobFsSource, AzureDataExplorerSource, AzureDataLakeStoreSource, BinarySource, BlobSource, CommonDataServiceForAppsSource, CosmosDBMongoDBApiSource, CosmosDBSQLApiSource, DelimitedTextSource, DocumentDBCollectionSource, DynamicsCrmSource, DynamicsSource, ExcelSource, FileSystemSource, HdfsSource, HttpSource, JsonSource, MicrosoftAccessSource, MongoDBSource, MongoDBV2Source, ODataSource, Office365Source, OracleSource, OrcSource, ParquetSource, RelationalSource, RestSource, SalesforceServiceCloudSource, SharePointOnlineListSource, SnowflakeSource, TabularSource, WebSource, XmlSource. + sub-classes are: AvroSource, AzureBlobFsSource, AzureDataExplorerSource, AzureDataLakeStoreSource, AzureDatabricksDeltaLakeSource, BinarySource, BlobSource, CommonDataServiceForAppsSource, CosmosDbMongoDbApiSource, CosmosDbSqlApiSource, DelimitedTextSource, DocumentDbCollectionSource, DynamicsCrmSource, DynamicsSource, ExcelSource, FileSystemSource, HdfsSource, HttpSource, JsonSource, MicrosoftAccessSource, MongoDbAtlasSource, MongoDbSource, MongoDbV2Source, ODataSource, Office365Source, OracleSource, OrcSource, ParquetSource, RelationalSource, RestSource, SalesforceServiceCloudSource, SharePointOnlineListSource, SnowflakeSource, TabularSource, WebSource, XmlSource. All required parameters must be populated in order to send to Azure. @@ -726,7 +726,7 @@ class CopySource(msrest.serialization.Model): } _subtype_map = { - 'type': {'AvroSource': 'AvroSource', 'AzureBlobFSSource': 'AzureBlobFsSource', 'AzureDataExplorerSource': 'AzureDataExplorerSource', 'AzureDataLakeStoreSource': 'AzureDataLakeStoreSource', 'BinarySource': 'BinarySource', 'BlobSource': 'BlobSource', 'CommonDataServiceForAppsSource': 'CommonDataServiceForAppsSource', 'CosmosDbMongoDbApiSource': 'CosmosDBMongoDBApiSource', 'CosmosDbSqlApiSource': 'CosmosDBSQLApiSource', 'DelimitedTextSource': 'DelimitedTextSource', 'DocumentDbCollectionSource': 'DocumentDBCollectionSource', 'DynamicsCrmSource': 'DynamicsCrmSource', 'DynamicsSource': 'DynamicsSource', 'ExcelSource': 'ExcelSource', 'FileSystemSource': 'FileSystemSource', 'HdfsSource': 'HdfsSource', 'HttpSource': 'HttpSource', 'JsonSource': 'JsonSource', 'MicrosoftAccessSource': 'MicrosoftAccessSource', 'MongoDbSource': 'MongoDBSource', 'MongoDbV2Source': 'MongoDBV2Source', 'ODataSource': 'ODataSource', 'Office365Source': 'Office365Source', 'OracleSource': 'OracleSource', 'OrcSource': 'OrcSource', 'ParquetSource': 'ParquetSource', 'RelationalSource': 'RelationalSource', 'RestSource': 'RestSource', 'SalesforceServiceCloudSource': 'SalesforceServiceCloudSource', 'SharePointOnlineListSource': 'SharePointOnlineListSource', 'SnowflakeSource': 'SnowflakeSource', 'TabularSource': 'TabularSource', 'WebSource': 'WebSource', 'XmlSource': 'XmlSource'} + 'type': {'AvroSource': 'AvroSource', 'AzureBlobFSSource': 'AzureBlobFsSource', 'AzureDataExplorerSource': 'AzureDataExplorerSource', 'AzureDataLakeStoreSource': 'AzureDataLakeStoreSource', 'AzureDatabricksDeltaLakeSource': 'AzureDatabricksDeltaLakeSource', 'BinarySource': 'BinarySource', 'BlobSource': 'BlobSource', 'CommonDataServiceForAppsSource': 'CommonDataServiceForAppsSource', 'CosmosDbMongoDbApiSource': 'CosmosDbMongoDbApiSource', 'CosmosDbSqlApiSource': 'CosmosDbSqlApiSource', 'DelimitedTextSource': 'DelimitedTextSource', 'DocumentDbCollectionSource': 'DocumentDbCollectionSource', 'DynamicsCrmSource': 'DynamicsCrmSource', 'DynamicsSource': 'DynamicsSource', 'ExcelSource': 'ExcelSource', 'FileSystemSource': 'FileSystemSource', 'HdfsSource': 'HdfsSource', 'HttpSource': 'HttpSource', 'JsonSource': 'JsonSource', 'MicrosoftAccessSource': 'MicrosoftAccessSource', 'MongoDbAtlasSource': 'MongoDbAtlasSource', 'MongoDbSource': 'MongoDbSource', 'MongoDbV2Source': 'MongoDbV2Source', 'ODataSource': 'ODataSource', 'Office365Source': 'Office365Source', 'OracleSource': 'OracleSource', 'OrcSource': 'OrcSource', 'ParquetSource': 'ParquetSource', 'RelationalSource': 'RelationalSource', 'RestSource': 'RestSource', 'SalesforceServiceCloudSource': 'SalesforceServiceCloudSource', 'SharePointOnlineListSource': 'SharePointOnlineListSource', 'SnowflakeSource': 'SnowflakeSource', 'TabularSource': 'TabularSource', 'WebSource': 'WebSource', 'XmlSource': 'XmlSource'} } def __init__( @@ -750,7 +750,7 @@ class TabularSource(CopySource): """Copy activity sources of tabular type. You probably want to use the sub-classes and not this class directly. Known - sub-classes are: AmazonMwsSource, AmazonRedshiftSource, AzureMariaDBSource, AzureMySQLSource, AzurePostgreSQLSource, AzureSQLSource, AzureTableSource, CassandraSource, ConcurSource, CouchbaseSource, Db2Source, DrillSource, DynamicsAxSource, EloquaSource, GoogleAdWordsSource, GoogleBigQuerySource, GreenplumSource, HBaseSource, HiveSource, HubspotSource, ImpalaSource, InformixSource, JiraSource, MagentoSource, MariaDBSource, MarketoSource, MySQLSource, NetezzaSource, OdbcSource, OracleServiceCloudSource, PaypalSource, PhoenixSource, PostgreSQLSource, PrestoSource, QuickBooksSource, ResponsysSource, SalesforceMarketingCloudSource, SalesforceSource, SapBwSource, SapCloudForCustomerSource, SapEccSource, SapHanaSource, SapOpenHubSource, SapTableSource, ServiceNowSource, ShopifySource, SparkSource, SQLDWSource, SQLMiSource, SQLServerSource, SQLSource, SquareSource, SybaseSource, TeradataSource, VerticaSource, XeroSource, ZohoSource. + sub-classes are: AmazonMwsSource, AmazonRedshiftSource, AzureMariaDbSource, AzureMySqlSource, AzurePostgreSqlSource, AzureSqlSource, AzureTableSource, CassandraSource, ConcurSource, CouchbaseSource, Db2Source, DrillSource, DynamicsAxSource, EloquaSource, GoogleAdWordsSource, GoogleBigQuerySource, GreenplumSource, HBaseSource, HiveSource, HubspotSource, ImpalaSource, InformixSource, JiraSource, MagentoSource, MariaDbSource, MarketoSource, MySqlSource, NetezzaSource, OdbcSource, OracleServiceCloudSource, PaypalSource, PhoenixSource, PostgreSqlSource, PrestoSource, QuickBooksSource, ResponsysSource, SalesforceMarketingCloudSource, SalesforceSource, SapBwSource, SapCloudForCustomerSource, SapEccSource, SapHanaSource, SapOpenHubSource, SapTableSource, ServiceNowSource, ShopifySource, SparkSource, SqlDwSource, SqlMiSource, SqlServerSource, SqlSource, SquareSource, SybaseSource, TeradataSource, VerticaSource, XeroSource, ZohoSource. All required parameters must be populated in order to send to Azure. @@ -791,7 +791,7 @@ class TabularSource(CopySource): } _subtype_map = { - 'type': {'AmazonMWSSource': 'AmazonMwsSource', 'AmazonRedshiftSource': 'AmazonRedshiftSource', 'AzureMariaDBSource': 'AzureMariaDBSource', 'AzureMySqlSource': 'AzureMySQLSource', 'AzurePostgreSqlSource': 'AzurePostgreSQLSource', 'AzureSqlSource': 'AzureSQLSource', 'AzureTableSource': 'AzureTableSource', 'CassandraSource': 'CassandraSource', 'ConcurSource': 'ConcurSource', 'CouchbaseSource': 'CouchbaseSource', 'Db2Source': 'Db2Source', 'DrillSource': 'DrillSource', 'DynamicsAXSource': 'DynamicsAxSource', 'EloquaSource': 'EloquaSource', 'GoogleAdWordsSource': 'GoogleAdWordsSource', 'GoogleBigQuerySource': 'GoogleBigQuerySource', 'GreenplumSource': 'GreenplumSource', 'HBaseSource': 'HBaseSource', 'HiveSource': 'HiveSource', 'HubspotSource': 'HubspotSource', 'ImpalaSource': 'ImpalaSource', 'InformixSource': 'InformixSource', 'JiraSource': 'JiraSource', 'MagentoSource': 'MagentoSource', 'MariaDBSource': 'MariaDBSource', 'MarketoSource': 'MarketoSource', 'MySqlSource': 'MySQLSource', 'NetezzaSource': 'NetezzaSource', 'OdbcSource': 'OdbcSource', 'OracleServiceCloudSource': 'OracleServiceCloudSource', 'PaypalSource': 'PaypalSource', 'PhoenixSource': 'PhoenixSource', 'PostgreSqlSource': 'PostgreSQLSource', 'PrestoSource': 'PrestoSource', 'QuickBooksSource': 'QuickBooksSource', 'ResponsysSource': 'ResponsysSource', 'SalesforceMarketingCloudSource': 'SalesforceMarketingCloudSource', 'SalesforceSource': 'SalesforceSource', 'SapBwSource': 'SapBwSource', 'SapCloudForCustomerSource': 'SapCloudForCustomerSource', 'SapEccSource': 'SapEccSource', 'SapHanaSource': 'SapHanaSource', 'SapOpenHubSource': 'SapOpenHubSource', 'SapTableSource': 'SapTableSource', 'ServiceNowSource': 'ServiceNowSource', 'ShopifySource': 'ShopifySource', 'SparkSource': 'SparkSource', 'SqlDWSource': 'SQLDWSource', 'SqlMISource': 'SQLMiSource', 'SqlServerSource': 'SQLServerSource', 'SqlSource': 'SQLSource', 'SquareSource': 'SquareSource', 'SybaseSource': 'SybaseSource', 'TeradataSource': 'TeradataSource', 'VerticaSource': 'VerticaSource', 'XeroSource': 'XeroSource', 'ZohoSource': 'ZohoSource'} + 'type': {'AmazonMWSSource': 'AmazonMwsSource', 'AmazonRedshiftSource': 'AmazonRedshiftSource', 'AzureMariaDBSource': 'AzureMariaDbSource', 'AzureMySqlSource': 'AzureMySqlSource', 'AzurePostgreSqlSource': 'AzurePostgreSqlSource', 'AzureSqlSource': 'AzureSqlSource', 'AzureTableSource': 'AzureTableSource', 'CassandraSource': 'CassandraSource', 'ConcurSource': 'ConcurSource', 'CouchbaseSource': 'CouchbaseSource', 'Db2Source': 'Db2Source', 'DrillSource': 'DrillSource', 'DynamicsAXSource': 'DynamicsAxSource', 'EloquaSource': 'EloquaSource', 'GoogleAdWordsSource': 'GoogleAdWordsSource', 'GoogleBigQuerySource': 'GoogleBigQuerySource', 'GreenplumSource': 'GreenplumSource', 'HBaseSource': 'HBaseSource', 'HiveSource': 'HiveSource', 'HubspotSource': 'HubspotSource', 'ImpalaSource': 'ImpalaSource', 'InformixSource': 'InformixSource', 'JiraSource': 'JiraSource', 'MagentoSource': 'MagentoSource', 'MariaDBSource': 'MariaDbSource', 'MarketoSource': 'MarketoSource', 'MySqlSource': 'MySqlSource', 'NetezzaSource': 'NetezzaSource', 'OdbcSource': 'OdbcSource', 'OracleServiceCloudSource': 'OracleServiceCloudSource', 'PaypalSource': 'PaypalSource', 'PhoenixSource': 'PhoenixSource', 'PostgreSqlSource': 'PostgreSqlSource', 'PrestoSource': 'PrestoSource', 'QuickBooksSource': 'QuickBooksSource', 'ResponsysSource': 'ResponsysSource', 'SalesforceMarketingCloudSource': 'SalesforceMarketingCloudSource', 'SalesforceSource': 'SalesforceSource', 'SapBwSource': 'SapBwSource', 'SapCloudForCustomerSource': 'SapCloudForCustomerSource', 'SapEccSource': 'SapEccSource', 'SapHanaSource': 'SapHanaSource', 'SapOpenHubSource': 'SapOpenHubSource', 'SapTableSource': 'SapTableSource', 'ServiceNowSource': 'ServiceNowSource', 'ShopifySource': 'ShopifySource', 'SparkSource': 'SparkSource', 'SqlDWSource': 'SqlDwSource', 'SqlMISource': 'SqlMiSource', 'SqlServerSource': 'SqlServerSource', 'SqlSource': 'SqlSource', 'SquareSource': 'SquareSource', 'SybaseSource': 'SybaseSource', 'TeradataSource': 'TeradataSource', 'VerticaSource': 'VerticaSource', 'XeroSource': 'XeroSource', 'ZohoSource': 'ZohoSource'} } def __init__( @@ -1107,6 +1107,331 @@ def __init__( self.schema_type_properties_schema = schema_type_properties_schema +class AmazonS3CompatibleLinkedService(LinkedService): + """Linked service for Amazon S3 Compatible. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~data_factory_management_client.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~data_factory_management_client.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param access_key_id: The access key identifier of the Amazon S3 Compatible Identity and Access + Management (IAM) user. Type: string (or Expression with resultType string). + :type access_key_id: object + :param secret_access_key: The secret access key of the Amazon S3 Compatible Identity and Access + Management (IAM) user. + :type secret_access_key: ~data_factory_management_client.models.SecretBase + :param service_url: This value specifies the endpoint to access with the Amazon S3 Compatible + Connector. This is an optional property; change it only if you want to try a different service + endpoint or want to switch between https and http. Type: string (or Expression with resultType + string). + :type service_url: object + :param force_path_style: If true, use S3 path-style access instead of virtual hosted-style + access. Default value is false. Type: boolean (or Expression with resultType boolean). + :type force_path_style: object + :param encrypted_credential: The encrypted credential used for authentication. Credentials are + encrypted using the integration runtime credential manager. Type: string (or Expression with + resultType string). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'access_key_id': {'key': 'typeProperties.accessKeyId', 'type': 'object'}, + 'secret_access_key': {'key': 'typeProperties.secretAccessKey', 'type': 'SecretBase'}, + 'service_url': {'key': 'typeProperties.serviceUrl', 'type': 'object'}, + 'force_path_style': {'key': 'typeProperties.forcePathStyle', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + access_key_id: Optional[object] = None, + secret_access_key: Optional["SecretBase"] = None, + service_url: Optional[object] = None, + force_path_style: Optional[object] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(AmazonS3CompatibleLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'AmazonS3Compatible' # type: str + self.access_key_id = access_key_id + self.secret_access_key = secret_access_key + self.service_url = service_url + self.force_path_style = force_path_style + self.encrypted_credential = encrypted_credential + + +class DatasetLocation(msrest.serialization.Model): + """Dataset location. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: AmazonS3CompatibleLocation, AmazonS3Location, AzureBlobFsLocation, AzureBlobStorageLocation, AzureDataLakeStoreLocation, AzureFileStorageLocation, FileServerLocation, FtpServerLocation, GoogleCloudStorageLocation, HdfsLocation, HttpServerLocation, OracleCloudStorageLocation, SftpLocation. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset storage location.Constant filled by server. + :type type: str + :param folder_path: Specify the folder path of dataset. Type: string (or Expression with + resultType string). + :type folder_path: object + :param file_name: Specify the file name of dataset. Type: string (or Expression with resultType + string). + :type file_name: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'folder_path': {'key': 'folderPath', 'type': 'object'}, + 'file_name': {'key': 'fileName', 'type': 'object'}, + } + + _subtype_map = { + 'type': {'AmazonS3CompatibleLocation': 'AmazonS3CompatibleLocation', 'AmazonS3Location': 'AmazonS3Location', 'AzureBlobFSLocation': 'AzureBlobFsLocation', 'AzureBlobStorageLocation': 'AzureBlobStorageLocation', 'AzureDataLakeStoreLocation': 'AzureDataLakeStoreLocation', 'AzureFileStorageLocation': 'AzureFileStorageLocation', 'FileServerLocation': 'FileServerLocation', 'FtpServerLocation': 'FtpServerLocation', 'GoogleCloudStorageLocation': 'GoogleCloudStorageLocation', 'HdfsLocation': 'HdfsLocation', 'HttpServerLocation': 'HttpServerLocation', 'OracleCloudStorageLocation': 'OracleCloudStorageLocation', 'SftpLocation': 'SftpLocation'} + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + folder_path: Optional[object] = None, + file_name: Optional[object] = None, + **kwargs + ): + super(DatasetLocation, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.type = 'DatasetLocation' # type: str + self.folder_path = folder_path + self.file_name = file_name + + +class AmazonS3CompatibleLocation(DatasetLocation): + """The location of Amazon S3 Compatible dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset storage location.Constant filled by server. + :type type: str + :param folder_path: Specify the folder path of dataset. Type: string (or Expression with + resultType string). + :type folder_path: object + :param file_name: Specify the file name of dataset. Type: string (or Expression with resultType + string). + :type file_name: object + :param bucket_name: Specify the bucketName of Amazon S3 Compatible. Type: string (or Expression + with resultType string). + :type bucket_name: object + :param version: Specify the version of Amazon S3 Compatible. Type: string (or Expression with + resultType string). + :type version: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'folder_path': {'key': 'folderPath', 'type': 'object'}, + 'file_name': {'key': 'fileName', 'type': 'object'}, + 'bucket_name': {'key': 'bucketName', 'type': 'object'}, + 'version': {'key': 'version', 'type': 'object'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + folder_path: Optional[object] = None, + file_name: Optional[object] = None, + bucket_name: Optional[object] = None, + version: Optional[object] = None, + **kwargs + ): + super(AmazonS3CompatibleLocation, self).__init__(additional_properties=additional_properties, folder_path=folder_path, file_name=file_name, **kwargs) + self.type = 'AmazonS3CompatibleLocation' # type: str + self.bucket_name = bucket_name + self.version = version + + +class StoreReadSettings(msrest.serialization.Model): + """Connector read setting. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: AmazonS3CompatibleReadSettings, AmazonS3ReadSettings, AzureBlobFsReadSettings, AzureBlobStorageReadSettings, AzureDataLakeStoreReadSettings, AzureFileStorageReadSettings, FileServerReadSettings, FtpReadSettings, GoogleCloudStorageReadSettings, HdfsReadSettings, HttpReadSettings, OracleCloudStorageReadSettings, SftpReadSettings. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. The read setting type.Constant filled by server. + :type type: str + :param max_concurrent_connections: The maximum concurrent connection count for the source data + store. Type: integer (or Expression with resultType integer). + :type max_concurrent_connections: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + } + + _subtype_map = { + 'type': {'AmazonS3CompatibleReadSettings': 'AmazonS3CompatibleReadSettings', 'AmazonS3ReadSettings': 'AmazonS3ReadSettings', 'AzureBlobFSReadSettings': 'AzureBlobFsReadSettings', 'AzureBlobStorageReadSettings': 'AzureBlobStorageReadSettings', 'AzureDataLakeStoreReadSettings': 'AzureDataLakeStoreReadSettings', 'AzureFileStorageReadSettings': 'AzureFileStorageReadSettings', 'FileServerReadSettings': 'FileServerReadSettings', 'FtpReadSettings': 'FtpReadSettings', 'GoogleCloudStorageReadSettings': 'GoogleCloudStorageReadSettings', 'HdfsReadSettings': 'HdfsReadSettings', 'HttpReadSettings': 'HttpReadSettings', 'OracleCloudStorageReadSettings': 'OracleCloudStorageReadSettings', 'SftpReadSettings': 'SftpReadSettings'} + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + max_concurrent_connections: Optional[object] = None, + **kwargs + ): + super(StoreReadSettings, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.type = 'StoreReadSettings' # type: str + self.max_concurrent_connections = max_concurrent_connections + + +class AmazonS3CompatibleReadSettings(StoreReadSettings): + """Amazon S3 Compatible read settings. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. The read setting type.Constant filled by server. + :type type: str + :param max_concurrent_connections: The maximum concurrent connection count for the source data + store. Type: integer (or Expression with resultType integer). + :type max_concurrent_connections: object + :param recursive: If true, files under the folder path will be read recursively. Default is + true. Type: boolean (or Expression with resultType boolean). + :type recursive: object + :param wildcard_folder_path: Amazon S3 Compatible wildcardFolderPath. Type: string (or + Expression with resultType string). + :type wildcard_folder_path: object + :param wildcard_file_name: Amazon S3 Compatible wildcardFileName. Type: string (or Expression + with resultType string). + :type wildcard_file_name: object + :param prefix: The prefix filter for the S3 Compatible object name. Type: string (or Expression + with resultType string). + :type prefix: object + :param file_list_path: Point to a text file that lists each file (relative path to the path + configured in the dataset) that you want to copy. Type: string (or Expression with resultType + string). + :type file_list_path: object + :param enable_partition_discovery: Indicates whether to enable partition discovery. + :type enable_partition_discovery: bool + :param partition_root_path: Specify the root path where partition discovery starts from. Type: + string (or Expression with resultType string). + :type partition_root_path: object + :param delete_files_after_completion: Indicates whether the source files need to be deleted + after copy completion. Default is false. Type: boolean (or Expression with resultType boolean). + :type delete_files_after_completion: object + :param modified_datetime_start: The start of file's modified datetime. Type: string (or + Expression with resultType string). + :type modified_datetime_start: object + :param modified_datetime_end: The end of file's modified datetime. Type: string (or Expression + with resultType string). + :type modified_datetime_end: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'recursive': {'key': 'recursive', 'type': 'object'}, + 'wildcard_folder_path': {'key': 'wildcardFolderPath', 'type': 'object'}, + 'wildcard_file_name': {'key': 'wildcardFileName', 'type': 'object'}, + 'prefix': {'key': 'prefix', 'type': 'object'}, + 'file_list_path': {'key': 'fileListPath', 'type': 'object'}, + 'enable_partition_discovery': {'key': 'enablePartitionDiscovery', 'type': 'bool'}, + 'partition_root_path': {'key': 'partitionRootPath', 'type': 'object'}, + 'delete_files_after_completion': {'key': 'deleteFilesAfterCompletion', 'type': 'object'}, + 'modified_datetime_start': {'key': 'modifiedDatetimeStart', 'type': 'object'}, + 'modified_datetime_end': {'key': 'modifiedDatetimeEnd', 'type': 'object'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + max_concurrent_connections: Optional[object] = None, + recursive: Optional[object] = None, + wildcard_folder_path: Optional[object] = None, + wildcard_file_name: Optional[object] = None, + prefix: Optional[object] = None, + file_list_path: Optional[object] = None, + enable_partition_discovery: Optional[bool] = None, + partition_root_path: Optional[object] = None, + delete_files_after_completion: Optional[object] = None, + modified_datetime_start: Optional[object] = None, + modified_datetime_end: Optional[object] = None, + **kwargs + ): + super(AmazonS3CompatibleReadSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, **kwargs) + self.type = 'AmazonS3CompatibleReadSettings' # type: str + self.recursive = recursive + self.wildcard_folder_path = wildcard_folder_path + self.wildcard_file_name = wildcard_file_name + self.prefix = prefix + self.file_list_path = file_list_path + self.enable_partition_discovery = enable_partition_discovery + self.partition_root_path = partition_root_path + self.delete_files_after_completion = delete_files_after_completion + self.modified_datetime_start = modified_datetime_start + self.modified_datetime_end = modified_datetime_end + + class AmazonS3Dataset(Dataset): """A single Amazon Simple Storage Service (S3) object or a set of S3 objects. @@ -1235,6 +1560,9 @@ class AmazonS3LinkedService(LinkedService): :type parameters: dict[str, ~data_factory_management_client.models.ParameterSpecification] :param annotations: List of tags that can be used for describing the linked service. :type annotations: list[object] + :param authentication_type: The authentication type of S3. Allowed value: AccessKey (default) + or TemporarySecurityCredentials. Type: string (or Expression with resultType string). + :type authentication_type: object :param access_key_id: The access key identifier of the Amazon S3 Identity and Access Management (IAM) user. Type: string (or Expression with resultType string). :type access_key_id: object @@ -1245,6 +1573,8 @@ class AmazonS3LinkedService(LinkedService): an optional property; change it only if you want to try a different service endpoint or want to switch between https and http. Type: string (or Expression with resultType string). :type service_url: object + :param session_token: The session token for the S3 temporary security credential. + :type session_token: ~data_factory_management_client.models.SecretBase :param encrypted_credential: The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). @@ -1262,9 +1592,11 @@ class AmazonS3LinkedService(LinkedService): 'description': {'key': 'description', 'type': 'str'}, 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'object'}, 'access_key_id': {'key': 'typeProperties.accessKeyId', 'type': 'object'}, 'secret_access_key': {'key': 'typeProperties.secretAccessKey', 'type': 'SecretBase'}, 'service_url': {'key': 'typeProperties.serviceUrl', 'type': 'object'}, + 'session_token': {'key': 'typeProperties.sessionToken', 'type': 'SecretBase'}, 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, } @@ -1276,71 +1608,24 @@ def __init__( description: Optional[str] = None, parameters: Optional[Dict[str, "ParameterSpecification"]] = None, annotations: Optional[List[object]] = None, + authentication_type: Optional[object] = None, access_key_id: Optional[object] = None, secret_access_key: Optional["SecretBase"] = None, service_url: Optional[object] = None, + session_token: Optional["SecretBase"] = None, encrypted_credential: Optional[object] = None, **kwargs ): super(AmazonS3LinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) self.type = 'AmazonS3' # type: str + self.authentication_type = authentication_type self.access_key_id = access_key_id self.secret_access_key = secret_access_key self.service_url = service_url + self.session_token = session_token self.encrypted_credential = encrypted_credential -class DatasetLocation(msrest.serialization.Model): - """Dataset location. - - You probably want to use the sub-classes and not this class directly. Known - sub-classes are: AmazonS3Location, AzureBlobFsLocation, AzureBlobStorageLocation, AzureDataLakeStoreLocation, AzureFileStorageLocation, FileServerLocation, FtpServerLocation, GoogleCloudStorageLocation, HdfsLocation, HttpServerLocation, SftpLocation. - - All required parameters must be populated in order to send to Azure. - - :param additional_properties: Unmatched properties from the message are deserialized to this - collection. - :type additional_properties: dict[str, object] - :param type: Required. Type of dataset storage location.Constant filled by server. - :type type: str - :param folder_path: Specify the folder path of dataset. Type: string (or Expression with - resultType string). - :type folder_path: object - :param file_name: Specify the file name of dataset. Type: string (or Expression with resultType - string). - :type file_name: object - """ - - _validation = { - 'type': {'required': True}, - } - - _attribute_map = { - 'additional_properties': {'key': '', 'type': '{object}'}, - 'type': {'key': 'type', 'type': 'str'}, - 'folder_path': {'key': 'folderPath', 'type': 'object'}, - 'file_name': {'key': 'fileName', 'type': 'object'}, - } - - _subtype_map = { - 'type': {'AmazonS3Location': 'AmazonS3Location', 'AzureBlobFSLocation': 'AzureBlobFsLocation', 'AzureBlobStorageLocation': 'AzureBlobStorageLocation', 'AzureDataLakeStoreLocation': 'AzureDataLakeStoreLocation', 'AzureFileStorageLocation': 'AzureFileStorageLocation', 'FileServerLocation': 'FileServerLocation', 'FtpServerLocation': 'FtpServerLocation', 'GoogleCloudStorageLocation': 'GoogleCloudStorageLocation', 'HdfsLocation': 'HdfsLocation', 'HttpServerLocation': 'HttpServerLocation', 'SftpLocation': 'SftpLocation'} - } - - def __init__( - self, - *, - additional_properties: Optional[Dict[str, object]] = None, - folder_path: Optional[object] = None, - file_name: Optional[object] = None, - **kwargs - ): - super(DatasetLocation, self).__init__(**kwargs) - self.additional_properties = additional_properties - self.type = 'DatasetLocation' # type: str - self.folder_path = folder_path - self.file_name = file_name - - class AmazonS3Location(DatasetLocation): """The location of amazon S3 dataset. @@ -1394,53 +1679,8 @@ def __init__( self.version = version -class StoreReadSettings(msrest.serialization.Model): - """Connector read setting. - - You probably want to use the sub-classes and not this class directly. Known - sub-classes are: AmazonS3ReadSettings, AzureBlobFsReadSettings, AzureBlobStorageReadSettings, AzureDataLakeStoreReadSettings, AzureFileStorageReadSettings, FileServerReadSettings, FtpReadSettings, GoogleCloudStorageReadSettings, HdfsReadSettings, HttpReadSettings, SftpReadSettings. - - All required parameters must be populated in order to send to Azure. - - :param additional_properties: Unmatched properties from the message are deserialized to this - collection. - :type additional_properties: dict[str, object] - :param type: Required. The read setting type.Constant filled by server. - :type type: str - :param max_concurrent_connections: The maximum concurrent connection count for the source data - store. Type: integer (or Expression with resultType integer). - :type max_concurrent_connections: object - """ - - _validation = { - 'type': {'required': True}, - } - - _attribute_map = { - 'additional_properties': {'key': '', 'type': '{object}'}, - 'type': {'key': 'type', 'type': 'str'}, - 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, - } - - _subtype_map = { - 'type': {'AmazonS3ReadSettings': 'AmazonS3ReadSettings', 'AzureBlobFSReadSettings': 'AzureBlobFsReadSettings', 'AzureBlobStorageReadSettings': 'AzureBlobStorageReadSettings', 'AzureDataLakeStoreReadSettings': 'AzureDataLakeStoreReadSettings', 'AzureFileStorageReadSettings': 'AzureFileStorageReadSettings', 'FileServerReadSettings': 'FileServerReadSettings', 'FtpReadSettings': 'FtpReadSettings', 'GoogleCloudStorageReadSettings': 'GoogleCloudStorageReadSettings', 'HdfsReadSettings': 'HdfsReadSettings', 'HttpReadSettings': 'HttpReadSettings', 'SftpReadSettings': 'SftpReadSettings'} - } - - def __init__( - self, - *, - additional_properties: Optional[Dict[str, object]] = None, - max_concurrent_connections: Optional[object] = None, - **kwargs - ): - super(StoreReadSettings, self).__init__(**kwargs) - self.additional_properties = additional_properties - self.type = 'StoreReadSettings' # type: str - self.max_concurrent_connections = max_concurrent_connections - - class AmazonS3ReadSettings(StoreReadSettings): - """Azure data lake store read settings. + """Amazon S3 read settings. All required parameters must be populated in order to send to Azure. @@ -1593,6 +1833,31 @@ def __init__( self.value = value +class ArmIdWrapper(msrest.serialization.Model): + """A wrapper for an ARM resource id. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: + :vartype id: str + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ArmIdWrapper, self).__init__(**kwargs) + self.id = None + + class AvroDataset(Dataset): """Avro dataset. @@ -1766,7 +2031,7 @@ class CopySink(msrest.serialization.Model): """A copy activity sink. You probably want to use the sub-classes and not this class directly. Known - sub-classes are: AvroSink, AzureBlobFsSink, AzureDataExplorerSink, AzureDataLakeStoreSink, AzureMySQLSink, AzurePostgreSQLSink, AzureQueueSink, AzureSearchIndexSink, AzureSQLSink, AzureTableSink, BinarySink, BlobSink, CommonDataServiceForAppsSink, CosmosDBMongoDBApiSink, CosmosDBSQLApiSink, DelimitedTextSink, DocumentDBCollectionSink, DynamicsCrmSink, DynamicsSink, FileSystemSink, InformixSink, JsonSink, MicrosoftAccessSink, OdbcSink, OracleSink, OrcSink, ParquetSink, RestSink, SalesforceServiceCloudSink, SalesforceSink, SapCloudForCustomerSink, SnowflakeSink, SQLDWSink, SQLMiSink, SQLServerSink, SQLSink. + sub-classes are: AvroSink, AzureBlobFsSink, AzureDataExplorerSink, AzureDataLakeStoreSink, AzureDatabricksDeltaLakeSink, AzureMySqlSink, AzurePostgreSqlSink, AzureQueueSink, AzureSearchIndexSink, AzureSqlSink, AzureTableSink, BinarySink, BlobSink, CommonDataServiceForAppsSink, CosmosDbMongoDbApiSink, CosmosDbSqlApiSink, DelimitedTextSink, DocumentDbCollectionSink, DynamicsCrmSink, DynamicsSink, FileSystemSink, InformixSink, JsonSink, MicrosoftAccessSink, OdbcSink, OracleSink, OrcSink, ParquetSink, RestSink, SalesforceServiceCloudSink, SalesforceSink, SapCloudForCustomerSink, SnowflakeSink, SqlDwSink, SqlMiSink, SqlServerSink, SqlSink. All required parameters must be populated in order to send to Azure. @@ -1807,7 +2072,7 @@ class CopySink(msrest.serialization.Model): } _subtype_map = { - 'type': {'AvroSink': 'AvroSink', 'AzureBlobFSSink': 'AzureBlobFsSink', 'AzureDataExplorerSink': 'AzureDataExplorerSink', 'AzureDataLakeStoreSink': 'AzureDataLakeStoreSink', 'AzureMySqlSink': 'AzureMySQLSink', 'AzurePostgreSqlSink': 'AzurePostgreSQLSink', 'AzureQueueSink': 'AzureQueueSink', 'AzureSearchIndexSink': 'AzureSearchIndexSink', 'AzureSqlSink': 'AzureSQLSink', 'AzureTableSink': 'AzureTableSink', 'BinarySink': 'BinarySink', 'BlobSink': 'BlobSink', 'CommonDataServiceForAppsSink': 'CommonDataServiceForAppsSink', 'CosmosDbMongoDbApiSink': 'CosmosDBMongoDBApiSink', 'CosmosDbSqlApiSink': 'CosmosDBSQLApiSink', 'DelimitedTextSink': 'DelimitedTextSink', 'DocumentDbCollectionSink': 'DocumentDBCollectionSink', 'DynamicsCrmSink': 'DynamicsCrmSink', 'DynamicsSink': 'DynamicsSink', 'FileSystemSink': 'FileSystemSink', 'InformixSink': 'InformixSink', 'JsonSink': 'JsonSink', 'MicrosoftAccessSink': 'MicrosoftAccessSink', 'OdbcSink': 'OdbcSink', 'OracleSink': 'OracleSink', 'OrcSink': 'OrcSink', 'ParquetSink': 'ParquetSink', 'RestSink': 'RestSink', 'SalesforceServiceCloudSink': 'SalesforceServiceCloudSink', 'SalesforceSink': 'SalesforceSink', 'SapCloudForCustomerSink': 'SapCloudForCustomerSink', 'SnowflakeSink': 'SnowflakeSink', 'SqlDWSink': 'SQLDWSink', 'SqlMISink': 'SQLMiSink', 'SqlServerSink': 'SQLServerSink', 'SqlSink': 'SQLSink'} + 'type': {'AvroSink': 'AvroSink', 'AzureBlobFSSink': 'AzureBlobFsSink', 'AzureDataExplorerSink': 'AzureDataExplorerSink', 'AzureDataLakeStoreSink': 'AzureDataLakeStoreSink', 'AzureDatabricksDeltaLakeSink': 'AzureDatabricksDeltaLakeSink', 'AzureMySqlSink': 'AzureMySqlSink', 'AzurePostgreSqlSink': 'AzurePostgreSqlSink', 'AzureQueueSink': 'AzureQueueSink', 'AzureSearchIndexSink': 'AzureSearchIndexSink', 'AzureSqlSink': 'AzureSqlSink', 'AzureTableSink': 'AzureTableSink', 'BinarySink': 'BinarySink', 'BlobSink': 'BlobSink', 'CommonDataServiceForAppsSink': 'CommonDataServiceForAppsSink', 'CosmosDbMongoDbApiSink': 'CosmosDbMongoDbApiSink', 'CosmosDbSqlApiSink': 'CosmosDbSqlApiSink', 'DelimitedTextSink': 'DelimitedTextSink', 'DocumentDbCollectionSink': 'DocumentDbCollectionSink', 'DynamicsCrmSink': 'DynamicsCrmSink', 'DynamicsSink': 'DynamicsSink', 'FileSystemSink': 'FileSystemSink', 'InformixSink': 'InformixSink', 'JsonSink': 'JsonSink', 'MicrosoftAccessSink': 'MicrosoftAccessSink', 'OdbcSink': 'OdbcSink', 'OracleSink': 'OracleSink', 'OrcSink': 'OrcSink', 'ParquetSink': 'ParquetSink', 'RestSink': 'RestSink', 'SalesforceServiceCloudSink': 'SalesforceServiceCloudSink', 'SalesforceSink': 'SalesforceSink', 'SapCloudForCustomerSink': 'SapCloudForCustomerSink', 'SnowflakeSink': 'SnowflakeSink', 'SqlDWSink': 'SqlDwSink', 'SqlMISink': 'SqlMiSink', 'SqlServerSink': 'SqlServerSink', 'SqlSink': 'SqlSink'} } def __init__( @@ -1958,7 +2223,7 @@ class FormatWriteSettings(msrest.serialization.Model): """Format write settings. You probably want to use the sub-classes and not this class directly. Known - sub-classes are: AvroWriteSettings, DelimitedTextWriteSettings, JsonWriteSettings. + sub-classes are: AvroWriteSettings, DelimitedTextWriteSettings, JsonWriteSettings, OrcWriteSettings, ParquetWriteSettings. All required parameters must be populated in order to send to Azure. @@ -1979,7 +2244,7 @@ class FormatWriteSettings(msrest.serialization.Model): } _subtype_map = { - 'type': {'AvroWriteSettings': 'AvroWriteSettings', 'DelimitedTextWriteSettings': 'DelimitedTextWriteSettings', 'JsonWriteSettings': 'JsonWriteSettings'} + 'type': {'AvroWriteSettings': 'AvroWriteSettings', 'DelimitedTextWriteSettings': 'DelimitedTextWriteSettings', 'JsonWriteSettings': 'JsonWriteSettings', 'OrcWriteSettings': 'OrcWriteSettings', 'ParquetWriteSettings': 'ParquetWriteSettings'} } def __init__( @@ -2007,6 +2272,13 @@ class AvroWriteSettings(FormatWriteSettings): :type record_name: str :param record_namespace: Record namespace in the write result. :type record_namespace: str + :param max_rows_per_file: Limit the written file's row count to be smaller than or equal to the + specified count. Type: integer (or Expression with resultType integer). + :type max_rows_per_file: object + :param file_name_prefix: Specifies the file name pattern + :code:``_:code:``.:code:`` when copy from non-file + based store without partitionOptions. Type: string (or Expression with resultType string). + :type file_name_prefix: object """ _validation = { @@ -2018,6 +2290,8 @@ class AvroWriteSettings(FormatWriteSettings): 'type': {'key': 'type', 'type': 'str'}, 'record_name': {'key': 'recordName', 'type': 'str'}, 'record_namespace': {'key': 'recordNamespace', 'type': 'str'}, + 'max_rows_per_file': {'key': 'maxRowsPerFile', 'type': 'object'}, + 'file_name_prefix': {'key': 'fileNamePrefix', 'type': 'object'}, } def __init__( @@ -2026,12 +2300,16 @@ def __init__( additional_properties: Optional[Dict[str, object]] = None, record_name: Optional[str] = None, record_namespace: Optional[str] = None, + max_rows_per_file: Optional[object] = None, + file_name_prefix: Optional[object] = None, **kwargs ): super(AvroWriteSettings, self).__init__(additional_properties=additional_properties, **kwargs) self.type = 'AvroWriteSettings' # type: str self.record_name = record_name self.record_namespace = record_namespace + self.max_rows_per_file = max_rows_per_file + self.file_name_prefix = file_name_prefix class CustomSetupBase(msrest.serialization.Model): @@ -2867,6 +3145,10 @@ class AzureBlobStorageLinkedService(LinkedService): values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data factory regions’ cloud type. Type: string (or Expression with resultType string). :type azure_cloud_type: object + :param account_kind: Specify the kind of your storage account. Allowed values are: Storage + (general purpose v1), StorageV2 (general purpose v2), BlobStorage, or BlockBlobStorage. Type: + string (or Expression with resultType string). + :type account_kind: str :param encrypted_credential: The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). @@ -2893,6 +3175,7 @@ class AzureBlobStorageLinkedService(LinkedService): 'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'}, 'tenant': {'key': 'typeProperties.tenant', 'type': 'object'}, 'azure_cloud_type': {'key': 'typeProperties.azureCloudType', 'type': 'object'}, + 'account_kind': {'key': 'typeProperties.accountKind', 'type': 'str'}, 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'str'}, } @@ -2913,6 +3196,7 @@ def __init__( service_principal_key: Optional["SecretBase"] = None, tenant: Optional[object] = None, azure_cloud_type: Optional[object] = None, + account_kind: Optional[str] = None, encrypted_credential: Optional[str] = None, **kwargs ): @@ -2927,6 +3211,7 @@ def __init__( self.service_principal_key = service_principal_key self.tenant = tenant self.azure_cloud_type = azure_cloud_type + self.account_kind = account_kind self.encrypted_credential = encrypted_credential @@ -3119,6 +3404,444 @@ def __init__( self.block_size_in_mb = block_size_in_mb +class AzureDatabricksDeltaLakeDataset(Dataset): + """Azure Databricks Delta Lake dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~data_factory_management_client.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~data_factory_management_client.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~data_factory_management_client.models.DatasetFolder + :param table: The name of delta table. Type: string (or Expression with resultType string). + :type table: object + :param database: The database name of delta table. Type: string (or Expression with resultType + string). + :type database: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'table': {'key': 'typeProperties.table', 'type': 'object'}, + 'database': {'key': 'typeProperties.database', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + table: Optional[object] = None, + database: Optional[object] = None, + **kwargs + ): + super(AzureDatabricksDeltaLakeDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'AzureDatabricksDeltaLakeDataset' # type: str + self.table = table + self.database = database + + +class ExportSettings(msrest.serialization.Model): + """Export command settings. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: AzureDatabricksDeltaLakeExportCommand, SnowflakeExportCopyCommand. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. The export setting type.Constant filled by server. + :type type: str + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + _subtype_map = { + 'type': {'AzureDatabricksDeltaLakeExportCommand': 'AzureDatabricksDeltaLakeExportCommand', 'SnowflakeExportCopyCommand': 'SnowflakeExportCopyCommand'} + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + **kwargs + ): + super(ExportSettings, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.type = 'ExportSettings' # type: str + + +class AzureDatabricksDeltaLakeExportCommand(ExportSettings): + """Azure Databricks Delta Lake export command settings. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. The export setting type.Constant filled by server. + :type type: str + :param date_format: Specify the date format for the csv in Azure Databricks Delta Lake Copy. + Type: string (or Expression with resultType string). + :type date_format: object + :param timestamp_format: Specify the timestamp format for the csv in Azure Databricks Delta + Lake Copy. Type: string (or Expression with resultType string). + :type timestamp_format: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'date_format': {'key': 'dateFormat', 'type': 'object'}, + 'timestamp_format': {'key': 'timestampFormat', 'type': 'object'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + date_format: Optional[object] = None, + timestamp_format: Optional[object] = None, + **kwargs + ): + super(AzureDatabricksDeltaLakeExportCommand, self).__init__(additional_properties=additional_properties, **kwargs) + self.type = 'AzureDatabricksDeltaLakeExportCommand' # type: str + self.date_format = date_format + self.timestamp_format = timestamp_format + + +class ImportSettings(msrest.serialization.Model): + """Import command settings. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: AzureDatabricksDeltaLakeImportCommand, SnowflakeImportCopyCommand. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. The import setting type.Constant filled by server. + :type type: str + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + _subtype_map = { + 'type': {'AzureDatabricksDeltaLakeImportCommand': 'AzureDatabricksDeltaLakeImportCommand', 'SnowflakeImportCopyCommand': 'SnowflakeImportCopyCommand'} + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + **kwargs + ): + super(ImportSettings, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.type = 'ImportSettings' # type: str + + +class AzureDatabricksDeltaLakeImportCommand(ImportSettings): + """Azure Databricks Delta Lake import command settings. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. The import setting type.Constant filled by server. + :type type: str + :param date_format: Specify the date format for csv in Azure Databricks Delta Lake Copy. Type: + string (or Expression with resultType string). + :type date_format: object + :param timestamp_format: Specify the timestamp format for csv in Azure Databricks Delta Lake + Copy. Type: string (or Expression with resultType string). + :type timestamp_format: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'date_format': {'key': 'dateFormat', 'type': 'object'}, + 'timestamp_format': {'key': 'timestampFormat', 'type': 'object'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + date_format: Optional[object] = None, + timestamp_format: Optional[object] = None, + **kwargs + ): + super(AzureDatabricksDeltaLakeImportCommand, self).__init__(additional_properties=additional_properties, **kwargs) + self.type = 'AzureDatabricksDeltaLakeImportCommand' # type: str + self.date_format = date_format + self.timestamp_format = timestamp_format + + +class AzureDatabricksDeltaLakeLinkedService(LinkedService): + """Azure Databricks Delta Lake linked service. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~data_factory_management_client.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~data_factory_management_client.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param domain: Required. :code:``.azuredatabricks.net, domain name of your Databricks + deployment. Type: string (or Expression with resultType string). + :type domain: object + :param access_token: Access token for databricks REST API. Refer to + https://docs.azuredatabricks.net/api/latest/authentication.html. Type: string, SecureString or + AzureKeyVaultSecretReference. + :type access_token: ~data_factory_management_client.models.SecretBase + :param cluster_id: The id of an existing interactive cluster that will be used for all runs of + this job. Type: string (or Expression with resultType string). + :type cluster_id: object + :param encrypted_credential: The encrypted credential used for authentication. Credentials are + encrypted using the integration runtime credential manager. Type: string (or Expression with + resultType string). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + 'domain': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'domain': {'key': 'typeProperties.domain', 'type': 'object'}, + 'access_token': {'key': 'typeProperties.accessToken', 'type': 'SecretBase'}, + 'cluster_id': {'key': 'typeProperties.clusterId', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + domain: object, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + access_token: Optional["SecretBase"] = None, + cluster_id: Optional[object] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(AzureDatabricksDeltaLakeLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'AzureDatabricksDeltaLake' # type: str + self.domain = domain + self.access_token = access_token + self.cluster_id = cluster_id + self.encrypted_credential = encrypted_credential + + +class AzureDatabricksDeltaLakeSink(CopySink): + """A copy activity Azure Databricks Delta Lake sink. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Copy sink type.Constant filled by server. + :type type: str + :param write_batch_size: Write batch size. Type: integer (or Expression with resultType + integer), minimum: 0. + :type write_batch_size: object + :param write_batch_timeout: Write batch timeout. Type: string (or Expression with resultType + string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + :type write_batch_timeout: object + :param sink_retry_count: Sink retry count. Type: integer (or Expression with resultType + integer). + :type sink_retry_count: object + :param sink_retry_wait: Sink retry wait. Type: string (or Expression with resultType string), + pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + :type sink_retry_wait: object + :param max_concurrent_connections: The maximum concurrent connection count for the sink data + store. Type: integer (or Expression with resultType integer). + :type max_concurrent_connections: object + :param pre_copy_script: SQL pre-copy script. Type: string (or Expression with resultType + string). + :type pre_copy_script: object + :param import_settings: Azure Databricks Delta Lake import settings. + :type import_settings: + ~data_factory_management_client.models.AzureDatabricksDeltaLakeImportCommand + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'write_batch_size': {'key': 'writeBatchSize', 'type': 'object'}, + 'write_batch_timeout': {'key': 'writeBatchTimeout', 'type': 'object'}, + 'sink_retry_count': {'key': 'sinkRetryCount', 'type': 'object'}, + 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, + 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'pre_copy_script': {'key': 'preCopyScript', 'type': 'object'}, + 'import_settings': {'key': 'importSettings', 'type': 'AzureDatabricksDeltaLakeImportCommand'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + write_batch_size: Optional[object] = None, + write_batch_timeout: Optional[object] = None, + sink_retry_count: Optional[object] = None, + sink_retry_wait: Optional[object] = None, + max_concurrent_connections: Optional[object] = None, + pre_copy_script: Optional[object] = None, + import_settings: Optional["AzureDatabricksDeltaLakeImportCommand"] = None, + **kwargs + ): + super(AzureDatabricksDeltaLakeSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + self.type = 'AzureDatabricksDeltaLakeSink' # type: str + self.pre_copy_script = pre_copy_script + self.import_settings = import_settings + + +class AzureDatabricksDeltaLakeSource(CopySource): + """A copy activity Azure Databricks Delta Lake source. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Copy source type.Constant filled by server. + :type type: str + :param source_retry_count: Source retry count. Type: integer (or Expression with resultType + integer). + :type source_retry_count: object + :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType + string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + :type source_retry_wait: object + :param max_concurrent_connections: The maximum concurrent connection count for the source data + store. Type: integer (or Expression with resultType integer). + :type max_concurrent_connections: object + :param query: Azure Databricks Delta Lake Sql query. Type: string (or Expression with + resultType string). + :type query: object + :param export_settings: Azure Databricks Delta Lake export settings. + :type export_settings: + ~data_factory_management_client.models.AzureDatabricksDeltaLakeExportCommand + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, + 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, + 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'query': {'key': 'query', 'type': 'object'}, + 'export_settings': {'key': 'exportSettings', 'type': 'AzureDatabricksDeltaLakeExportCommand'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + source_retry_count: Optional[object] = None, + source_retry_wait: Optional[object] = None, + max_concurrent_connections: Optional[object] = None, + query: Optional[object] = None, + export_settings: Optional["AzureDatabricksDeltaLakeExportCommand"] = None, + **kwargs + ): + super(AzureDatabricksDeltaLakeSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + self.type = 'AzureDatabricksDeltaLakeSource' # type: str + self.query = query + self.export_settings = export_settings + + class AzureDatabricksLinkedService(LinkedService): """Azure Databricks linked service. @@ -3140,10 +3863,16 @@ class AzureDatabricksLinkedService(LinkedService): :param domain: Required. :code:``.azuredatabricks.net, domain name of your Databricks deployment. Type: string (or Expression with resultType string). :type domain: object - :param access_token: Required. Access token for databricks REST API. Refer to + :param access_token: Access token for databricks REST API. Refer to https://docs.azuredatabricks.net/api/latest/authentication.html. Type: string (or Expression with resultType string). :type access_token: ~data_factory_management_client.models.SecretBase + :param authentication: Required to specify MSI, if using Workspace resource id for databricks + REST API. Type: string (or Expression with resultType string). + :type authentication: object + :param workspace_resource_id: Workspace resource id for databricks REST API. Type: string (or + Expression with resultType string). + :type workspace_resource_id: object :param existing_cluster_id: The id of an existing interactive cluster that will be used for all runs of this activity. Type: string (or Expression with resultType string). :type existing_cluster_id: object @@ -3193,12 +3922,14 @@ class AzureDatabricksLinkedService(LinkedService): encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). :type encrypted_credential: object + :param policy_id: The policy id for limiting the ability to configure clusters based on a user + defined set of rules. Type: string (or Expression with resultType string). + :type policy_id: object """ _validation = { 'type': {'required': True}, 'domain': {'required': True}, - 'access_token': {'required': True}, } _attribute_map = { @@ -3210,6 +3941,8 @@ class AzureDatabricksLinkedService(LinkedService): 'annotations': {'key': 'annotations', 'type': '[object]'}, 'domain': {'key': 'typeProperties.domain', 'type': 'object'}, 'access_token': {'key': 'typeProperties.accessToken', 'type': 'SecretBase'}, + 'authentication': {'key': 'typeProperties.authentication', 'type': 'object'}, + 'workspace_resource_id': {'key': 'typeProperties.workspaceResourceId', 'type': 'object'}, 'existing_cluster_id': {'key': 'typeProperties.existingClusterId', 'type': 'object'}, 'instance_pool_id': {'key': 'typeProperties.instancePoolId', 'type': 'object'}, 'new_cluster_version': {'key': 'typeProperties.newClusterVersion', 'type': 'object'}, @@ -3223,18 +3956,21 @@ class AzureDatabricksLinkedService(LinkedService): 'new_cluster_init_scripts': {'key': 'typeProperties.newClusterInitScripts', 'type': 'object'}, 'new_cluster_enable_elastic_disk': {'key': 'typeProperties.newClusterEnableElasticDisk', 'type': 'object'}, 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + 'policy_id': {'key': 'typeProperties.policyId', 'type': 'object'}, } def __init__( self, *, domain: object, - access_token: "SecretBase", additional_properties: Optional[Dict[str, object]] = None, connect_via: Optional["IntegrationRuntimeReference"] = None, description: Optional[str] = None, parameters: Optional[Dict[str, "ParameterSpecification"]] = None, annotations: Optional[List[object]] = None, + access_token: Optional["SecretBase"] = None, + authentication: Optional[object] = None, + workspace_resource_id: Optional[object] = None, existing_cluster_id: Optional[object] = None, instance_pool_id: Optional[object] = None, new_cluster_version: Optional[object] = None, @@ -3248,12 +3984,15 @@ def __init__( new_cluster_init_scripts: Optional[object] = None, new_cluster_enable_elastic_disk: Optional[object] = None, encrypted_credential: Optional[object] = None, + policy_id: Optional[object] = None, **kwargs ): super(AzureDatabricksLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) self.type = 'AzureDatabricks' # type: str self.domain = domain self.access_token = access_token + self.authentication = authentication + self.workspace_resource_id = workspace_resource_id self.existing_cluster_id = existing_cluster_id self.instance_pool_id = instance_pool_id self.new_cluster_version = new_cluster_version @@ -3267,13 +4006,14 @@ def __init__( self.new_cluster_init_scripts = new_cluster_init_scripts self.new_cluster_enable_elastic_disk = new_cluster_enable_elastic_disk self.encrypted_credential = encrypted_credential + self.policy_id = policy_id class ExecutionActivity(Activity): """Base class for all execution activities. You probably want to use the sub-classes and not this class directly. Known - sub-classes are: AzureDataExplorerCommandActivity, AzureFunctionActivity, AzureMlBatchExecutionActivity, AzureMlExecutePipelineActivity, AzureMlUpdateResourceActivity, CopyActivity, CustomActivity, DataLakeAnalyticsUsqlActivity, DatabricksNotebookActivity, DatabricksSparkJarActivity, DatabricksSparkPythonActivity, DeleteActivity, ExecuteDataFlowActivity, ExecuteSsisPackageActivity, GetMetadataActivity, HdInsightHiveActivity, HdInsightMapReduceActivity, HdInsightPigActivity, HdInsightSparkActivity, HdInsightStreamingActivity, LookupActivity, SQLServerStoredProcedureActivity, WebActivity. + sub-classes are: AzureDataExplorerCommandActivity, AzureFunctionActivity, AzureMlBatchExecutionActivity, AzureMlExecutePipelineActivity, AzureMlUpdateResourceActivity, CopyActivity, CustomActivity, DataLakeAnalyticsUsqlActivity, DatabricksNotebookActivity, DatabricksSparkJarActivity, DatabricksSparkPythonActivity, DeleteActivity, ExecuteDataFlowActivity, ExecuteSsisPackageActivity, GetMetadataActivity, HdInsightHiveActivity, HdInsightMapReduceActivity, HdInsightPigActivity, HdInsightSparkActivity, HdInsightStreamingActivity, LookupActivity, SqlServerStoredProcedureActivity, WebActivity. All required parameters must be populated in order to send to Azure. @@ -3313,7 +4053,7 @@ class ExecutionActivity(Activity): } _subtype_map = { - 'type': {'AzureDataExplorerCommand': 'AzureDataExplorerCommandActivity', 'AzureFunctionActivity': 'AzureFunctionActivity', 'AzureMLBatchExecution': 'AzureMlBatchExecutionActivity', 'AzureMLExecutePipeline': 'AzureMlExecutePipelineActivity', 'AzureMLUpdateResource': 'AzureMlUpdateResourceActivity', 'Copy': 'CopyActivity', 'Custom': 'CustomActivity', 'DataLakeAnalyticsU-SQL': 'DataLakeAnalyticsUsqlActivity', 'DatabricksNotebook': 'DatabricksNotebookActivity', 'DatabricksSparkJar': 'DatabricksSparkJarActivity', 'DatabricksSparkPython': 'DatabricksSparkPythonActivity', 'Delete': 'DeleteActivity', 'ExecuteDataFlow': 'ExecuteDataFlowActivity', 'ExecuteSSISPackage': 'ExecuteSsisPackageActivity', 'GetMetadata': 'GetMetadataActivity', 'HDInsightHive': 'HdInsightHiveActivity', 'HDInsightMapReduce': 'HdInsightMapReduceActivity', 'HDInsightPig': 'HdInsightPigActivity', 'HDInsightSpark': 'HdInsightSparkActivity', 'HDInsightStreaming': 'HdInsightStreamingActivity', 'Lookup': 'LookupActivity', 'SqlServerStoredProcedure': 'SQLServerStoredProcedureActivity', 'WebActivity': 'WebActivity'} + 'type': {'AzureDataExplorerCommand': 'AzureDataExplorerCommandActivity', 'AzureFunctionActivity': 'AzureFunctionActivity', 'AzureMLBatchExecution': 'AzureMlBatchExecutionActivity', 'AzureMLExecutePipeline': 'AzureMlExecutePipelineActivity', 'AzureMLUpdateResource': 'AzureMlUpdateResourceActivity', 'Copy': 'CopyActivity', 'Custom': 'CustomActivity', 'DataLakeAnalyticsU-SQL': 'DataLakeAnalyticsUsqlActivity', 'DatabricksNotebook': 'DatabricksNotebookActivity', 'DatabricksSparkJar': 'DatabricksSparkJarActivity', 'DatabricksSparkPython': 'DatabricksSparkPythonActivity', 'Delete': 'DeleteActivity', 'ExecuteDataFlow': 'ExecuteDataFlowActivity', 'ExecuteSSISPackage': 'ExecuteSsisPackageActivity', 'GetMetadata': 'GetMetadataActivity', 'HDInsightHive': 'HdInsightHiveActivity', 'HDInsightMapReduce': 'HdInsightMapReduceActivity', 'HDInsightPig': 'HdInsightPigActivity', 'HDInsightSpark': 'HdInsightSparkActivity', 'HDInsightStreaming': 'HdInsightStreamingActivity', 'Lookup': 'LookupActivity', 'SqlServerStoredProcedure': 'SqlServerStoredProcedureActivity', 'WebActivity': 'WebActivity'} } def __init__( @@ -3425,27 +4165,24 @@ class AzureDataExplorerLinkedService(LinkedService): will be in the format https://:code:``.:code:``.kusto.windows.net. Type: string (or Expression with resultType string). :type endpoint: object - :param service_principal_id: Required. The ID of the service principal used to authenticate - against Azure Data Explorer. Type: string (or Expression with resultType string). + :param service_principal_id: The ID of the service principal used to authenticate against Azure + Data Explorer. Type: string (or Expression with resultType string). :type service_principal_id: object - :param service_principal_key: Required. The key of the service principal used to authenticate - against Kusto. + :param service_principal_key: The key of the service principal used to authenticate against + Kusto. :type service_principal_key: ~data_factory_management_client.models.SecretBase :param database: Required. Database name for connection. Type: string (or Expression with resultType string). :type database: object - :param tenant: Required. The name or ID of the tenant to which the service principal belongs. - Type: string (or Expression with resultType string). + :param tenant: The name or ID of the tenant to which the service principal belongs. Type: + string (or Expression with resultType string). :type tenant: object """ _validation = { 'type': {'required': True}, 'endpoint': {'required': True}, - 'service_principal_id': {'required': True}, - 'service_principal_key': {'required': True}, 'database': {'required': True}, - 'tenant': {'required': True}, } _attribute_map = { @@ -3466,15 +4203,15 @@ def __init__( self, *, endpoint: object, - service_principal_id: object, - service_principal_key: "SecretBase", database: object, - tenant: object, additional_properties: Optional[Dict[str, object]] = None, connect_via: Optional["IntegrationRuntimeReference"] = None, description: Optional[str] = None, parameters: Optional[Dict[str, "ParameterSpecification"]] = None, annotations: Optional[List[object]] = None, + service_principal_id: Optional[object] = None, + service_principal_key: Optional["SecretBase"] = None, + tenant: Optional[object] = None, **kwargs ): super(AzureDataExplorerLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) @@ -4859,7 +5596,7 @@ def __init__( self.secret_version = secret_version -class AzureMariaDBLinkedService(LinkedService): +class AzureMariaDbLinkedService(LinkedService): """Azure Database for MariaDB linked service. All required parameters must be populated in order to send to Azure. @@ -4917,14 +5654,14 @@ def __init__( encrypted_credential: Optional[object] = None, **kwargs ): - super(AzureMariaDBLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + super(AzureMariaDbLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) self.type = 'AzureMariaDB' # type: str self.connection_string = connection_string self.pwd = pwd self.encrypted_credential = encrypted_credential -class AzureMariaDBSource(TabularSource): +class AzureMariaDbSource(TabularSource): """A copy activity Azure MariaDB source. All required parameters must be populated in order to send to Azure. @@ -4981,12 +5718,12 @@ def __init__( query: Optional[object] = None, **kwargs ): - super(AzureMariaDBSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(AzureMariaDbSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'AzureMariaDBSource' # type: str self.query = query -class AzureMariaDBTableDataset(Dataset): +class AzureMariaDbTableDataset(Dataset): """Azure Database for MariaDB dataset. All required parameters must be populated in order to send to Azure. @@ -5049,7 +5786,7 @@ def __init__( table_name: Optional[object] = None, **kwargs ): - super(AzureMariaDBTableDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + super(AzureMariaDbTableDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) self.type = 'AzureMariaDBTable' # type: str self.table_name = table_name @@ -5158,9 +5895,15 @@ class AzureMlExecutePipelineActivity(ExecutionActivity): :type linked_service_name: ~data_factory_management_client.models.LinkedServiceReference :param policy: Activity policy. :type policy: ~data_factory_management_client.models.ActivityPolicy - :param ml_pipeline_id: Required. ID of the published Azure ML pipeline. Type: string (or - Expression with resultType string). + :param ml_pipeline_id: ID of the published Azure ML pipeline. Type: string (or Expression with + resultType string). :type ml_pipeline_id: object + :param ml_pipeline_endpoint_id: ID of the published Azure ML pipeline endpoint. Type: string + (or Expression with resultType string). + :type ml_pipeline_endpoint_id: object + :param version: Version of the published Azure ML pipeline endpoint. Type: string (or + Expression with resultType string). + :type version: object :param experiment_name: Run history experiment name of the pipeline run. This information will be passed in the ExperimentName property of the published pipeline execution request. Type: string (or Expression with resultType string). @@ -5170,6 +5913,10 @@ class AzureMlExecutePipelineActivity(ExecutionActivity): Values will be passed in the ParameterAssignments property of the published pipeline execution request. Type: object with key value pairs (or Expression with resultType object). :type ml_pipeline_parameters: object + :param data_path_assignments: Dictionary used for changing data path assignments without + retraining. Values will be passed in the dataPathAssignments property of the published pipeline + execution request. Type: object with key value pairs (or Expression with resultType object). + :type data_path_assignments: object :param ml_parent_run_id: The parent Azure ML Service pipeline run id. This information will be passed in the ParentRunId property of the published pipeline execution request. Type: string (or Expression with resultType string). @@ -5184,7 +5931,6 @@ class AzureMlExecutePipelineActivity(ExecutionActivity): _validation = { 'name': {'required': True}, 'type': {'required': True}, - 'ml_pipeline_id': {'required': True}, } _attribute_map = { @@ -5197,8 +5943,11 @@ class AzureMlExecutePipelineActivity(ExecutionActivity): 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, 'policy': {'key': 'policy', 'type': 'ActivityPolicy'}, 'ml_pipeline_id': {'key': 'typeProperties.mlPipelineId', 'type': 'object'}, + 'ml_pipeline_endpoint_id': {'key': 'typeProperties.mlPipelineEndpointId', 'type': 'object'}, + 'version': {'key': 'typeProperties.version', 'type': 'object'}, 'experiment_name': {'key': 'typeProperties.experimentName', 'type': 'object'}, 'ml_pipeline_parameters': {'key': 'typeProperties.mlPipelineParameters', 'type': 'object'}, + 'data_path_assignments': {'key': 'typeProperties.dataPathAssignments', 'type': 'object'}, 'ml_parent_run_id': {'key': 'typeProperties.mlParentRunId', 'type': 'object'}, 'continue_on_step_failure': {'key': 'typeProperties.continueOnStepFailure', 'type': 'object'}, } @@ -5207,15 +5956,18 @@ def __init__( self, *, name: str, - ml_pipeline_id: object, additional_properties: Optional[Dict[str, object]] = None, description: Optional[str] = None, depends_on: Optional[List["ActivityDependency"]] = None, user_properties: Optional[List["UserProperty"]] = None, linked_service_name: Optional["LinkedServiceReference"] = None, policy: Optional["ActivityPolicy"] = None, + ml_pipeline_id: Optional[object] = None, + ml_pipeline_endpoint_id: Optional[object] = None, + version: Optional[object] = None, experiment_name: Optional[object] = None, ml_pipeline_parameters: Optional[object] = None, + data_path_assignments: Optional[object] = None, ml_parent_run_id: Optional[object] = None, continue_on_step_failure: Optional[object] = None, **kwargs @@ -5223,8 +5975,11 @@ def __init__( super(AzureMlExecutePipelineActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, linked_service_name=linked_service_name, policy=policy, **kwargs) self.type = 'AzureMLExecutePipeline' # type: str self.ml_pipeline_id = ml_pipeline_id + self.ml_pipeline_endpoint_id = ml_pipeline_endpoint_id + self.version = version self.experiment_name = experiment_name self.ml_pipeline_parameters = ml_pipeline_parameters + self.data_path_assignments = data_path_assignments self.ml_parent_run_id = ml_parent_run_id self.continue_on_step_failure = continue_on_step_failure @@ -5529,7 +6284,7 @@ def __init__( self.linked_service_name = linked_service_name -class AzureMySQLLinkedService(LinkedService): +class AzureMySqlLinkedService(LinkedService): """Azure MySQL database linked service. All required parameters must be populated in order to send to Azure. @@ -5588,14 +6343,14 @@ def __init__( encrypted_credential: Optional[object] = None, **kwargs ): - super(AzureMySQLLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + super(AzureMySqlLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) self.type = 'AzureMySql' # type: str self.connection_string = connection_string self.password = password self.encrypted_credential = encrypted_credential -class AzureMySQLSink(CopySink): +class AzureMySqlSink(CopySink): """A copy activity Azure MySql sink. All required parameters must be populated in order to send to Azure. @@ -5652,12 +6407,12 @@ def __init__( pre_copy_script: Optional[object] = None, **kwargs ): - super(AzureMySQLSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(AzureMySqlSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) self.type = 'AzureMySqlSink' # type: str self.pre_copy_script = pre_copy_script -class AzureMySQLSource(TabularSource): +class AzureMySqlSource(TabularSource): """A copy activity Azure MySQL source. All required parameters must be populated in order to send to Azure. @@ -5713,12 +6468,12 @@ def __init__( query: Optional[object] = None, **kwargs ): - super(AzureMySQLSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(AzureMySqlSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'AzureMySqlSource' # type: str self.query = query -class AzureMySQLTableDataset(Dataset): +class AzureMySqlTableDataset(Dataset): """The Azure MySQL database dataset. All required parameters must be populated in order to send to Azure. @@ -5787,13 +6542,13 @@ def __init__( table: Optional[object] = None, **kwargs ): - super(AzureMySQLTableDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + super(AzureMySqlTableDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) self.type = 'AzureMySqlTable' # type: str self.table_name = table_name self.table = table -class AzurePostgreSQLLinkedService(LinkedService): +class AzurePostgreSqlLinkedService(LinkedService): """Azure PostgreSQL linked service. All required parameters must be populated in order to send to Azure. @@ -5851,14 +6606,14 @@ def __init__( encrypted_credential: Optional[object] = None, **kwargs ): - super(AzurePostgreSQLLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + super(AzurePostgreSqlLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) self.type = 'AzurePostgreSql' # type: str self.connection_string = connection_string self.password = password self.encrypted_credential = encrypted_credential -class AzurePostgreSQLSink(CopySink): +class AzurePostgreSqlSink(CopySink): """A copy activity Azure PostgreSQL sink. All required parameters must be populated in order to send to Azure. @@ -5915,12 +6670,12 @@ def __init__( pre_copy_script: Optional[object] = None, **kwargs ): - super(AzurePostgreSQLSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(AzurePostgreSqlSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) self.type = 'AzurePostgreSqlSink' # type: str self.pre_copy_script = pre_copy_script -class AzurePostgreSQLSource(TabularSource): +class AzurePostgreSqlSource(TabularSource): """A copy activity Azure PostgreSQL source. All required parameters must be populated in order to send to Azure. @@ -5977,12 +6732,12 @@ def __init__( query: Optional[object] = None, **kwargs ): - super(AzurePostgreSQLSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(AzurePostgreSqlSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'AzurePostgreSqlSource' # type: str self.query = query -class AzurePostgreSQLTableDataset(Dataset): +class AzurePostgreSqlTableDataset(Dataset): """Azure PostgreSQL dataset. All required parameters must be populated in order to send to Azure. @@ -6056,7 +6811,7 @@ def __init__( schema_type_properties_schema: Optional[object] = None, **kwargs ): - super(AzurePostgreSQLTableDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + super(AzurePostgreSqlTableDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) self.type = 'AzurePostgreSqlTable' # type: str self.table_name = table_name self.table = table @@ -6318,7 +7073,7 @@ def __init__( self.encrypted_credential = encrypted_credential -class AzureSQLDatabaseLinkedService(LinkedService): +class AzureSqlDatabaseLinkedService(LinkedService): """Microsoft Azure SQL Database linked service. All required parameters must be populated in order to send to Azure. @@ -6358,6 +7113,9 @@ class AzureSQLDatabaseLinkedService(LinkedService): encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). :type encrypted_credential: object + :param always_encrypted_settings: Sql always encrypted properties. + :type always_encrypted_settings: + ~data_factory_management_client.models.SqlAlwaysEncryptedProperties """ _validation = { @@ -6379,6 +7137,7 @@ class AzureSQLDatabaseLinkedService(LinkedService): 'tenant': {'key': 'typeProperties.tenant', 'type': 'object'}, 'azure_cloud_type': {'key': 'typeProperties.azureCloudType', 'type': 'object'}, 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + 'always_encrypted_settings': {'key': 'typeProperties.alwaysEncryptedSettings', 'type': 'SqlAlwaysEncryptedProperties'}, } def __init__( @@ -6396,9 +7155,10 @@ def __init__( tenant: Optional[object] = None, azure_cloud_type: Optional[object] = None, encrypted_credential: Optional[object] = None, + always_encrypted_settings: Optional["SqlAlwaysEncryptedProperties"] = None, **kwargs ): - super(AzureSQLDatabaseLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + super(AzureSqlDatabaseLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) self.type = 'AzureSqlDatabase' # type: str self.connection_string = connection_string self.password = password @@ -6407,9 +7167,10 @@ def __init__( self.tenant = tenant self.azure_cloud_type = azure_cloud_type self.encrypted_credential = encrypted_credential + self.always_encrypted_settings = always_encrypted_settings -class AzureSQLDWLinkedService(LinkedService): +class AzureSqlDwLinkedService(LinkedService): """Azure SQL Data Warehouse linked service. All required parameters must be populated in order to send to Azure. @@ -6489,7 +7250,7 @@ def __init__( encrypted_credential: Optional[object] = None, **kwargs ): - super(AzureSQLDWLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + super(AzureSqlDwLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) self.type = 'AzureSqlDW' # type: str self.connection_string = connection_string self.password = password @@ -6500,7 +7261,7 @@ def __init__( self.encrypted_credential = encrypted_credential -class AzureSQLDWTableDataset(Dataset): +class AzureSqlDwTableDataset(Dataset): """The Azure SQL Data Warehouse dataset. All required parameters must be populated in order to send to Azure. @@ -6574,14 +7335,14 @@ def __init__( table: Optional[object] = None, **kwargs ): - super(AzureSQLDWTableDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + super(AzureSqlDwTableDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) self.type = 'AzureSqlDWTable' # type: str self.table_name = table_name self.schema_type_properties_schema = schema_type_properties_schema self.table = table -class AzureSQLMiLinkedService(LinkedService): +class AzureSqlMiLinkedService(LinkedService): """Azure SQL Managed Instance linked service. All required parameters must be populated in order to send to Azure. @@ -6621,6 +7382,9 @@ class AzureSQLMiLinkedService(LinkedService): encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). :type encrypted_credential: object + :param always_encrypted_settings: Sql always encrypted properties. + :type always_encrypted_settings: + ~data_factory_management_client.models.SqlAlwaysEncryptedProperties """ _validation = { @@ -6642,6 +7406,7 @@ class AzureSQLMiLinkedService(LinkedService): 'tenant': {'key': 'typeProperties.tenant', 'type': 'object'}, 'azure_cloud_type': {'key': 'typeProperties.azureCloudType', 'type': 'object'}, 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + 'always_encrypted_settings': {'key': 'typeProperties.alwaysEncryptedSettings', 'type': 'SqlAlwaysEncryptedProperties'}, } def __init__( @@ -6659,9 +7424,10 @@ def __init__( tenant: Optional[object] = None, azure_cloud_type: Optional[object] = None, encrypted_credential: Optional[object] = None, + always_encrypted_settings: Optional["SqlAlwaysEncryptedProperties"] = None, **kwargs ): - super(AzureSQLMiLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + super(AzureSqlMiLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) self.type = 'AzureSqlMI' # type: str self.connection_string = connection_string self.password = password @@ -6670,9 +7436,10 @@ def __init__( self.tenant = tenant self.azure_cloud_type = azure_cloud_type self.encrypted_credential = encrypted_credential + self.always_encrypted_settings = always_encrypted_settings -class AzureSQLMiTableDataset(Dataset): +class AzureSqlMiTableDataset(Dataset): """The Azure SQL Managed Instance dataset. All required parameters must be populated in order to send to Azure. @@ -6746,14 +7513,14 @@ def __init__( table: Optional[object] = None, **kwargs ): - super(AzureSQLMiTableDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + super(AzureSqlMiTableDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) self.type = 'AzureSqlMITable' # type: str self.table_name = table_name self.schema_type_properties_schema = schema_type_properties_schema self.table = table -class AzureSQLSink(CopySink): +class AzureSqlSink(CopySink): """A copy activity Azure SQL sink. All required parameters must be populated in order to send to Azure. @@ -6835,7 +7602,7 @@ def __init__( table_option: Optional[object] = None, **kwargs ): - super(AzureSQLSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(AzureSqlSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) self.type = 'AzureSqlSink' # type: str self.sql_writer_stored_procedure_name = sql_writer_stored_procedure_name self.sql_writer_table_type = sql_writer_table_type @@ -6845,7 +7612,7 @@ def __init__( self.table_option = table_option -class AzureSQLSource(TabularSource): +class AzureSqlSource(TabularSource): """A copy activity Azure SQL source. All required parameters must be populated in order to send to Azure. @@ -6884,9 +7651,9 @@ class AzureSQLSource(TabularSource): :type produce_additional_types: object :param partition_option: The partition mechanism that will be used for Sql read in parallel. Possible values include: "None", "PhysicalPartitionsOfTable", "DynamicRange". - :type partition_option: str or ~data_factory_management_client.models.SQLPartitionOption + :type partition_option: object :param partition_settings: The settings that will be leveraged for Sql source partitioning. - :type partition_settings: ~data_factory_management_client.models.SQLPartitionSettings + :type partition_settings: ~data_factory_management_client.models.SqlPartitionSettings """ _validation = { @@ -6905,8 +7672,8 @@ class AzureSQLSource(TabularSource): 'sql_reader_stored_procedure_name': {'key': 'sqlReaderStoredProcedureName', 'type': 'object'}, 'stored_procedure_parameters': {'key': 'storedProcedureParameters', 'type': '{StoredProcedureParameter}'}, 'produce_additional_types': {'key': 'produceAdditionalTypes', 'type': 'object'}, - 'partition_option': {'key': 'partitionOption', 'type': 'str'}, - 'partition_settings': {'key': 'partitionSettings', 'type': 'SQLPartitionSettings'}, + 'partition_option': {'key': 'partitionOption', 'type': 'object'}, + 'partition_settings': {'key': 'partitionSettings', 'type': 'SqlPartitionSettings'}, } def __init__( @@ -6922,11 +7689,11 @@ def __init__( sql_reader_stored_procedure_name: Optional[object] = None, stored_procedure_parameters: Optional[Dict[str, "StoredProcedureParameter"]] = None, produce_additional_types: Optional[object] = None, - partition_option: Optional[Union[str, "SQLPartitionOption"]] = None, - partition_settings: Optional["SQLPartitionSettings"] = None, + partition_option: Optional[object] = None, + partition_settings: Optional["SqlPartitionSettings"] = None, **kwargs ): - super(AzureSQLSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(AzureSqlSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'AzureSqlSource' # type: str self.sql_reader_query = sql_reader_query self.sql_reader_stored_procedure_name = sql_reader_stored_procedure_name @@ -6936,7 +7703,7 @@ def __init__( self.partition_settings = partition_settings -class AzureSQLTableDataset(Dataset): +class AzureSqlTableDataset(Dataset): """The Azure SQL Server database dataset. All required parameters must be populated in order to send to Azure. @@ -7010,7 +7777,7 @@ def __init__( table: Optional[object] = None, **kwargs ): - super(AzureSQLTableDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + super(AzureSqlTableDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) self.type = 'AzureSqlTable' # type: str self.table_name = table_name self.schema_type_properties_schema = schema_type_properties_schema @@ -7713,7 +8480,7 @@ class MultiplePipelineTrigger(Trigger): """Base class for all triggers that support one to many model for trigger to pipeline. You probably want to use the sub-classes and not this class directly. Known - sub-classes are: BlobEventsTrigger, BlobTrigger, ScheduleTrigger. + sub-classes are: BlobEventsTrigger, BlobTrigger, CustomEventsTrigger, ScheduleTrigger. Variables are only populated by the server, and will be ignored when sending a request. @@ -7750,7 +8517,7 @@ class MultiplePipelineTrigger(Trigger): } _subtype_map = { - 'type': {'BlobEventsTrigger': 'BlobEventsTrigger', 'BlobTrigger': 'BlobTrigger', 'ScheduleTrigger': 'ScheduleTrigger'} + 'type': {'BlobEventsTrigger': 'BlobEventsTrigger', 'BlobTrigger': 'BlobTrigger', 'CustomEventsTrigger': 'CustomEventsTrigger', 'ScheduleTrigger': 'ScheduleTrigger'} } def __init__( @@ -8446,6 +9213,28 @@ def __init__( self.password = password +class CmkIdentityDefinition(msrest.serialization.Model): + """Managed Identity used for CMK. + + :param user_assigned_identity: The resource id of the user assigned identity to authenticate to + customer's key vault. + :type user_assigned_identity: str + """ + + _attribute_map = { + 'user_assigned_identity': {'key': 'userAssignedIdentity', 'type': 'str'}, + } + + def __init__( + self, + *, + user_assigned_identity: Optional[str] = None, + **kwargs + ): + super(CmkIdentityDefinition, self).__init__(**kwargs) + self.user_assigned_identity = user_assigned_identity + + class CommonDataServiceForAppsEntityDataset(Dataset): """The Common Data Service for Apps entity dataset. @@ -8828,7 +9617,7 @@ class CompressionReadSettings(msrest.serialization.Model): """Compression read settings. You probably want to use the sub-classes and not this class directly. Known - sub-classes are: ZipDeflateReadSettings. + sub-classes are: TarGZipReadSettings, TarReadSettings, ZipDeflateReadSettings. All required parameters must be populated in order to send to Azure. @@ -8849,7 +9638,7 @@ class CompressionReadSettings(msrest.serialization.Model): } _subtype_map = { - 'type': {'ZipDeflateReadSettings': 'ZipDeflateReadSettings'} + 'type': {'TarGZipReadSettings': 'TarGZipReadSettings', 'TarReadSettings': 'TarReadSettings', 'ZipDeflateReadSettings': 'ZipDeflateReadSettings'} } def __init__( @@ -8881,6 +9670,9 @@ class ConcurLinkedService(LinkedService): :type parameters: dict[str, ~data_factory_management_client.models.ParameterSpecification] :param annotations: List of tags that can be used for describing the linked service. :type annotations: list[object] + :param connection_properties: Properties used to connect to Concur. It is mutually exclusive + with any other properties in the linked service. Type: object. + :type connection_properties: object :param client_id: Required. Application client_id supplied by Concur App Management. :type client_id: object :param username: Required. The user name that you use to access Concur Service. @@ -8917,6 +9709,7 @@ class ConcurLinkedService(LinkedService): 'description': {'key': 'description', 'type': 'str'}, 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_properties': {'key': 'typeProperties.connectionProperties', 'type': 'object'}, 'client_id': {'key': 'typeProperties.clientId', 'type': 'object'}, 'username': {'key': 'typeProperties.username', 'type': 'object'}, 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, @@ -8936,6 +9729,7 @@ def __init__( description: Optional[str] = None, parameters: Optional[Dict[str, "ParameterSpecification"]] = None, annotations: Optional[List[object]] = None, + connection_properties: Optional[object] = None, password: Optional["SecretBase"] = None, use_encrypted_endpoints: Optional[object] = None, use_host_verification: Optional[object] = None, @@ -8945,6 +9739,7 @@ def __init__( ): super(ConcurLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) self.type = 'Concur' # type: str + self.connection_properties = connection_properties self.client_id = client_id self.username = username self.password = password @@ -9218,9 +10013,11 @@ class CopyActivity(ExecutionActivity): EnableSkipIncompatibleRow is true. :type redirect_incompatible_row_settings: ~data_factory_management_client.models.RedirectIncompatibleRowSettings - :param log_storage_settings: Log storage settings customer need to provide when enabling - session log. + :param log_storage_settings: (Deprecated. Please use LogSettings) Log storage settings customer + need to provide when enabling session log. :type log_storage_settings: ~data_factory_management_client.models.LogStorageSettings + :param log_settings: Log settings customer needs provide when enabling log. + :type log_settings: ~data_factory_management_client.models.LogSettings :param preserve_rules: Preserve Rules. :type preserve_rules: list[object] :param preserve: Preserve rules. @@ -9260,6 +10057,7 @@ class CopyActivity(ExecutionActivity): 'enable_skip_incompatible_row': {'key': 'typeProperties.enableSkipIncompatibleRow', 'type': 'object'}, 'redirect_incompatible_row_settings': {'key': 'typeProperties.redirectIncompatibleRowSettings', 'type': 'RedirectIncompatibleRowSettings'}, 'log_storage_settings': {'key': 'typeProperties.logStorageSettings', 'type': 'LogStorageSettings'}, + 'log_settings': {'key': 'typeProperties.logSettings', 'type': 'LogSettings'}, 'preserve_rules': {'key': 'typeProperties.preserveRules', 'type': '[object]'}, 'preserve': {'key': 'typeProperties.preserve', 'type': '[object]'}, 'validate_data_consistency': {'key': 'typeProperties.validateDataConsistency', 'type': 'object'}, @@ -9288,6 +10086,7 @@ def __init__( enable_skip_incompatible_row: Optional[object] = None, redirect_incompatible_row_settings: Optional["RedirectIncompatibleRowSettings"] = None, log_storage_settings: Optional["LogStorageSettings"] = None, + log_settings: Optional["LogSettings"] = None, preserve_rules: Optional[List[object]] = None, preserve: Optional[List[object]] = None, validate_data_consistency: Optional[object] = None, @@ -9308,12 +10107,41 @@ def __init__( self.enable_skip_incompatible_row = enable_skip_incompatible_row self.redirect_incompatible_row_settings = redirect_incompatible_row_settings self.log_storage_settings = log_storage_settings + self.log_settings = log_settings self.preserve_rules = preserve_rules self.preserve = preserve self.validate_data_consistency = validate_data_consistency self.skip_error_file = skip_error_file +class CopyActivityLogSettings(msrest.serialization.Model): + """Settings for copy activity log. + + :param log_level: Gets or sets the log level, support: Info, Warning. Type: string (or + Expression with resultType string). + :type log_level: object + :param enable_reliable_logging: Specifies whether to enable reliable logging. Type: boolean (or + Expression with resultType boolean). + :type enable_reliable_logging: object + """ + + _attribute_map = { + 'log_level': {'key': 'logLevel', 'type': 'object'}, + 'enable_reliable_logging': {'key': 'enableReliableLogging', 'type': 'object'}, + } + + def __init__( + self, + *, + log_level: Optional[object] = None, + enable_reliable_logging: Optional[object] = None, + **kwargs + ): + super(CopyActivityLogSettings, self).__init__(**kwargs) + self.log_level = log_level + self.enable_reliable_logging = enable_reliable_logging + + class CopyTranslator(msrest.serialization.Model): """A copy activity translator. @@ -9353,7 +10181,7 @@ def __init__( self.type = 'CopyTranslator' # type: str -class CosmosDBLinkedService(LinkedService): +class CosmosDbLinkedService(LinkedService): """Microsoft Azure Cosmos Database (CosmosDB) linked service. All required parameters must be populated in order to send to Azure. @@ -9382,6 +10210,31 @@ class CosmosDBLinkedService(LinkedService): :param account_key: The account key of the Azure CosmosDB account. Type: SecureString or AzureKeyVaultSecretReference. :type account_key: ~data_factory_management_client.models.SecretBase + :param service_principal_id: The client ID of the application in Azure Active Directory used + for Server-To-Server authentication. Type: string (or Expression with resultType string). + :type service_principal_id: object + :param service_principal_credential_type: The service principal credential type to use in + Server-To-Server authentication. 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert' + for certificate. Type: string (or Expression with resultType string). Possible values include: + "ServicePrincipalKey", "ServicePrincipalCert". + :type service_principal_credential_type: str or + ~data_factory_management_client.models.CosmosDbServicePrincipalCredentialType + :param service_principal_credential: The credential of the service principal object in Azure + Active Directory. If servicePrincipalCredentialType is 'ServicePrincipalKey', + servicePrincipalCredential can be SecureString or AzureKeyVaultSecretReference. If + servicePrincipalCredentialType is 'ServicePrincipalCert', servicePrincipalCredential can only + be AzureKeyVaultSecretReference. + :type service_principal_credential: ~data_factory_management_client.models.SecretBase + :param tenant: The name or ID of the tenant to which the service principal belongs. Type: + string (or Expression with resultType string). + :type tenant: object + :param azure_cloud_type: Indicates the azure cloud type of the service principle auth. Allowed + values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data + factory regions’ cloud type. Type: string (or Expression with resultType string). + :type azure_cloud_type: object + :param connection_mode: The connection mode used to access CosmosDB account. Type: string (or + Expression with resultType string). Possible values include: "Gateway", "Direct". + :type connection_mode: str or ~data_factory_management_client.models.CosmosDbConnectionMode :param encrypted_credential: The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). @@ -9403,6 +10256,12 @@ class CosmosDBLinkedService(LinkedService): 'account_endpoint': {'key': 'typeProperties.accountEndpoint', 'type': 'object'}, 'database': {'key': 'typeProperties.database', 'type': 'object'}, 'account_key': {'key': 'typeProperties.accountKey', 'type': 'SecretBase'}, + 'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'}, + 'service_principal_credential_type': {'key': 'typeProperties.servicePrincipalCredentialType', 'type': 'str'}, + 'service_principal_credential': {'key': 'typeProperties.servicePrincipalCredential', 'type': 'SecretBase'}, + 'tenant': {'key': 'typeProperties.tenant', 'type': 'object'}, + 'azure_cloud_type': {'key': 'typeProperties.azureCloudType', 'type': 'object'}, + 'connection_mode': {'key': 'typeProperties.connectionMode', 'type': 'str'}, 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, } @@ -9418,19 +10277,31 @@ def __init__( account_endpoint: Optional[object] = None, database: Optional[object] = None, account_key: Optional["SecretBase"] = None, + service_principal_id: Optional[object] = None, + service_principal_credential_type: Optional[Union[str, "CosmosDbServicePrincipalCredentialType"]] = None, + service_principal_credential: Optional["SecretBase"] = None, + tenant: Optional[object] = None, + azure_cloud_type: Optional[object] = None, + connection_mode: Optional[Union[str, "CosmosDbConnectionMode"]] = None, encrypted_credential: Optional[object] = None, **kwargs ): - super(CosmosDBLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + super(CosmosDbLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) self.type = 'CosmosDb' # type: str self.connection_string = connection_string self.account_endpoint = account_endpoint self.database = database self.account_key = account_key + self.service_principal_id = service_principal_id + self.service_principal_credential_type = service_principal_credential_type + self.service_principal_credential = service_principal_credential + self.tenant = tenant + self.azure_cloud_type = azure_cloud_type + self.connection_mode = connection_mode self.encrypted_credential = encrypted_credential -class CosmosDBMongoDBApiCollectionDataset(Dataset): +class CosmosDbMongoDbApiCollectionDataset(Dataset): """The CosmosDB (MongoDB API) database dataset. All required parameters must be populated in order to send to Azure. @@ -9495,12 +10366,12 @@ def __init__( folder: Optional["DatasetFolder"] = None, **kwargs ): - super(CosmosDBMongoDBApiCollectionDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + super(CosmosDbMongoDbApiCollectionDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) self.type = 'CosmosDbMongoDbApiCollection' # type: str self.collection = collection -class CosmosDBMongoDBApiLinkedService(LinkedService): +class CosmosDbMongoDbApiLinkedService(LinkedService): """Linked service for CosmosDB (MongoDB API) data source. All required parameters must be populated in order to send to Azure. @@ -9556,13 +10427,13 @@ def __init__( annotations: Optional[List[object]] = None, **kwargs ): - super(CosmosDBMongoDBApiLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + super(CosmosDbMongoDbApiLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) self.type = 'CosmosDbMongoDbApi' # type: str self.connection_string = connection_string self.database = database -class CosmosDBMongoDBApiSink(CopySink): +class CosmosDbMongoDbApiSink(CopySink): """A copy activity sink for a CosmosDB (MongoDB API) database. All required parameters must be populated in order to send to Azure. @@ -9620,12 +10491,12 @@ def __init__( write_behavior: Optional[object] = None, **kwargs ): - super(CosmosDBMongoDBApiSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(CosmosDbMongoDbApiSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) self.type = 'CosmosDbMongoDbApiSink' # type: str self.write_behavior = write_behavior -class CosmosDBMongoDBApiSource(CopySource): +class CosmosDbMongoDbApiSource(CopySource): """A copy activity source for a CosmosDB (MongoDB API) database. All required parameters must be populated in order to send to Azure. @@ -9649,7 +10520,7 @@ class CosmosDBMongoDBApiSource(CopySource): with resultType string). :type filter: object :param cursor_methods: Cursor methods for Mongodb query. - :type cursor_methods: ~data_factory_management_client.models.MongoDBCursorMethodsProperties + :type cursor_methods: ~data_factory_management_client.models.MongoDbCursorMethodsProperties :param batch_size: Specifies the number of documents to return in each batch of the response from MongoDB instance. In most cases, modifying the batch size will not affect the user or the application. This property's main purpose is to avoid hit the limitation of response size. @@ -9674,7 +10545,7 @@ class CosmosDBMongoDBApiSource(CopySource): 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, 'filter': {'key': 'filter', 'type': 'object'}, - 'cursor_methods': {'key': 'cursorMethods', 'type': 'MongoDBCursorMethodsProperties'}, + 'cursor_methods': {'key': 'cursorMethods', 'type': 'MongoDbCursorMethodsProperties'}, 'batch_size': {'key': 'batchSize', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, @@ -9688,13 +10559,13 @@ def __init__( source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, filter: Optional[object] = None, - cursor_methods: Optional["MongoDBCursorMethodsProperties"] = None, + cursor_methods: Optional["MongoDbCursorMethodsProperties"] = None, batch_size: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, **kwargs ): - super(CosmosDBMongoDBApiSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(CosmosDbMongoDbApiSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) self.type = 'CosmosDbMongoDbApiSource' # type: str self.filter = filter self.cursor_methods = cursor_methods @@ -9703,7 +10574,7 @@ def __init__( self.additional_columns = additional_columns -class CosmosDBSQLApiCollectionDataset(Dataset): +class CosmosDbSqlApiCollectionDataset(Dataset): """Microsoft Azure CosmosDB (SQL API) Collection dataset. All required parameters must be populated in order to send to Azure. @@ -9768,12 +10639,12 @@ def __init__( folder: Optional["DatasetFolder"] = None, **kwargs ): - super(CosmosDBSQLApiCollectionDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + super(CosmosDbSqlApiCollectionDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) self.type = 'CosmosDbSqlApiCollection' # type: str self.collection_name = collection_name -class CosmosDBSQLApiSink(CopySink): +class CosmosDbSqlApiSink(CopySink): """A copy activity Azure CosmosDB (SQL API) Collection sink. All required parameters must be populated in order to send to Azure. @@ -9830,12 +10701,12 @@ def __init__( write_behavior: Optional[object] = None, **kwargs ): - super(CosmosDBSQLApiSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(CosmosDbSqlApiSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) self.type = 'CosmosDbSqlApiSink' # type: str self.write_behavior = write_behavior -class CosmosDBSQLApiSource(CopySource): +class CosmosDbSqlApiSource(CopySource): """A copy activity Azure CosmosDB (SQL API) Collection source. All required parameters must be populated in order to send to Azure. @@ -9901,7 +10772,7 @@ def __init__( additional_columns: Optional[List["AdditionalColumns"]] = None, **kwargs ): - super(CosmosDBSQLApiSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(CosmosDbSqlApiSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) self.type = 'CosmosDbSqlApiSource' # type: str self.query = query self.page_size = page_size @@ -10116,18 +10987,16 @@ class CreateDataFlowDebugSessionRequest(msrest.serialization.Model): :type core_count: int :param time_to_live: Time to live setting of the cluster in minutes. :type time_to_live: int - :param name: The resource name. - :type name: str - :param properties: Integration runtime properties. - :type properties: ~data_factory_management_client.models.IntegrationRuntime + :param integration_runtime: Set to use integration runtime setting for data flow debug session. + :type integration_runtime: + ~data_factory_management_client.models.IntegrationRuntimeDebugResource """ _attribute_map = { 'compute_type': {'key': 'computeType', 'type': 'str'}, 'core_count': {'key': 'coreCount', 'type': 'int'}, 'time_to_live': {'key': 'timeToLive', 'type': 'int'}, - 'name': {'key': 'integrationRuntime.name', 'type': 'str'}, - 'properties': {'key': 'integrationRuntime.properties', 'type': 'IntegrationRuntime'}, + 'integration_runtime': {'key': 'integrationRuntime', 'type': 'IntegrationRuntimeDebugResource'}, } def __init__( @@ -10136,16 +11005,14 @@ def __init__( compute_type: Optional[str] = None, core_count: Optional[int] = None, time_to_live: Optional[int] = None, - name: Optional[str] = None, - properties: Optional["IntegrationRuntime"] = None, + integration_runtime: Optional["IntegrationRuntimeDebugResource"] = None, **kwargs ): super(CreateDataFlowDebugSessionRequest, self).__init__(**kwargs) self.compute_type = compute_type self.core_count = core_count self.time_to_live = time_to_live - self.name = name - self.properties = properties + self.integration_runtime = integration_runtime class CreateDataFlowDebugSessionResponse(msrest.serialization.Model): @@ -10279,6 +11146,9 @@ class CustomActivity(ExecutionActivity): :param retention_time_in_days: The retention time for the files submitted for custom activity. Type: double (or Expression with resultType double). :type retention_time_in_days: object + :param auto_user_specification: Elevation level and scope for the user, default is nonadmin + task. Type: string (or Expression with resultType double). + :type auto_user_specification: object """ _validation = { @@ -10302,6 +11172,7 @@ class CustomActivity(ExecutionActivity): 'reference_objects': {'key': 'typeProperties.referenceObjects', 'type': 'CustomActivityReferenceObject'}, 'extended_properties': {'key': 'typeProperties.extendedProperties', 'type': '{object}'}, 'retention_time_in_days': {'key': 'typeProperties.retentionTimeInDays', 'type': 'object'}, + 'auto_user_specification': {'key': 'typeProperties.autoUserSpecification', 'type': 'object'}, } def __init__( @@ -10320,6 +11191,7 @@ def __init__( reference_objects: Optional["CustomActivityReferenceObject"] = None, extended_properties: Optional[Dict[str, object]] = None, retention_time_in_days: Optional[object] = None, + auto_user_specification: Optional[object] = None, **kwargs ): super(CustomActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, linked_service_name=linked_service_name, policy=policy, **kwargs) @@ -10330,6 +11202,7 @@ def __init__( self.reference_objects = reference_objects self.extended_properties = extended_properties self.retention_time_in_days = retention_time_in_days + self.auto_user_specification = auto_user_specification class CustomActivityReferenceObject(msrest.serialization.Model): @@ -10479,6 +11352,80 @@ def __init__( self.type_properties = type_properties +class CustomEventsTrigger(MultiplePipelineTrigger): + """Trigger that runs every time a custom event is received. + + 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 additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Trigger type.Constant filled by server. + :type type: str + :param description: Trigger description. + :type description: str + :ivar runtime_state: Indicates if trigger is running or not. Updated when Start/Stop APIs are + called on the Trigger. Possible values include: "Started", "Stopped", "Disabled". + :vartype runtime_state: str or ~data_factory_management_client.models.TriggerRuntimeState + :param annotations: List of tags that can be used for describing the trigger. + :type annotations: list[object] + :param pipelines: Pipelines that need to be started. + :type pipelines: list[~data_factory_management_client.models.TriggerPipelineReference] + :param subject_begins_with: The event subject must begin with the pattern provided for trigger + to fire. At least one of these must be provided: subjectBeginsWith, subjectEndsWith. + :type subject_begins_with: str + :param subject_ends_with: The event subject must end with the pattern provided for trigger to + fire. At least one of these must be provided: subjectBeginsWith, subjectEndsWith. + :type subject_ends_with: str + :param events: Required. The list of event types that cause this trigger to fire. + :type events: list[object] + :param scope: Required. The ARM resource ID of the Azure Event Grid Topic. + :type scope: str + """ + + _validation = { + 'type': {'required': True}, + 'runtime_state': {'readonly': True}, + 'events': {'required': True}, + 'scope': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'runtime_state': {'key': 'runtimeState', 'type': 'str'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'pipelines': {'key': 'pipelines', 'type': '[TriggerPipelineReference]'}, + 'subject_begins_with': {'key': 'typeProperties.subjectBeginsWith', 'type': 'str'}, + 'subject_ends_with': {'key': 'typeProperties.subjectEndsWith', 'type': 'str'}, + 'events': {'key': 'typeProperties.events', 'type': '[object]'}, + 'scope': {'key': 'typeProperties.scope', 'type': 'str'}, + } + + def __init__( + self, + *, + events: List[object], + scope: str, + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + annotations: Optional[List[object]] = None, + pipelines: Optional[List["TriggerPipelineReference"]] = None, + subject_begins_with: Optional[str] = None, + subject_ends_with: Optional[str] = None, + **kwargs + ): + super(CustomEventsTrigger, self).__init__(additional_properties=additional_properties, description=description, annotations=annotations, pipelines=pipelines, **kwargs) + self.type = 'CustomEventsTrigger' # type: str + self.subject_begins_with = subject_begins_with + self.subject_ends_with = subject_ends_with + self.events = events + self.scope = scope + + class DatabricksNotebookActivity(ExecutionActivity): """DatabricksNotebook activity. @@ -10847,90 +11794,84 @@ def __init__( class DataFlowDebugPackage(msrest.serialization.Model): """Request body structure for starting data flow debug session. - Variables are only populated by the server, and will be ignored when sending a request. - :param additional_properties: Unmatched properties from the message are deserialized to this collection. :type additional_properties: dict[str, object] :param session_id: The ID of data flow debug session. :type session_id: str + :param data_flow: Data flow instance. + :type data_flow: ~data_factory_management_client.models.DataFlowDebugResource :param datasets: List of datasets. :type datasets: list[~data_factory_management_client.models.DatasetDebugResource] :param linked_services: List of linked services. :type linked_services: list[~data_factory_management_client.models.LinkedServiceDebugResource] - :param source_settings: Source setting for data flow debug. - :type source_settings: list[~data_factory_management_client.models.DataFlowSourceSetting] - :param parameters_debug_settings_parameters: Data flow parameters. - :type parameters_debug_settings_parameters: dict[str, object] - :param dataset_parameters: Parameters for dataset. - :type dataset_parameters: object - :param folder_path: Folder path for staging blob. Type: string (or Expression with resultType - string). - :type folder_path: object - :ivar type: Linked service reference type. Default value: "LinkedServiceReference". - :vartype type: str - :param reference_name: Reference LinkedService name. - :type reference_name: str - :param parameters_staging_linked_service_parameters: Arguments for LinkedService. - :type parameters_staging_linked_service_parameters: dict[str, object] - :param name: The resource name. - :type name: str - :param properties: Data flow properties. - :type properties: ~data_factory_management_client.models.DataFlow + :param staging: Staging info for debug session. + :type staging: ~data_factory_management_client.models.DataFlowStagingInfo + :param debug_settings: Data flow debug settings. + :type debug_settings: ~data_factory_management_client.models.DataFlowDebugPackageDebugSettings """ - _validation = { - 'type': {'constant': True}, - } - _attribute_map = { 'additional_properties': {'key': '', 'type': '{object}'}, 'session_id': {'key': 'sessionId', 'type': 'str'}, + 'data_flow': {'key': 'dataFlow', 'type': 'DataFlowDebugResource'}, 'datasets': {'key': 'datasets', 'type': '[DatasetDebugResource]'}, 'linked_services': {'key': 'linkedServices', 'type': '[LinkedServiceDebugResource]'}, - 'source_settings': {'key': 'debugSettings.sourceSettings', 'type': '[DataFlowSourceSetting]'}, - 'parameters_debug_settings_parameters': {'key': 'debugSettings.parameters', 'type': '{object}'}, - 'dataset_parameters': {'key': 'debugSettings.datasetParameters', 'type': 'object'}, - 'folder_path': {'key': 'staging.folderPath', 'type': 'object'}, - 'type': {'key': 'staging.linkedService.type', 'type': 'str'}, - 'reference_name': {'key': 'staging.linkedService.referenceName', 'type': 'str'}, - 'parameters_staging_linked_service_parameters': {'key': 'staging.linkedService.parameters', 'type': '{object}'}, - 'name': {'key': 'dataFlow.name', 'type': 'str'}, - 'properties': {'key': 'dataFlow.properties', 'type': 'DataFlow'}, + 'staging': {'key': 'staging', 'type': 'DataFlowStagingInfo'}, + 'debug_settings': {'key': 'debugSettings', 'type': 'DataFlowDebugPackageDebugSettings'}, } - type = "LinkedServiceReference" - def __init__( self, *, additional_properties: Optional[Dict[str, object]] = None, session_id: Optional[str] = None, + data_flow: Optional["DataFlowDebugResource"] = None, datasets: Optional[List["DatasetDebugResource"]] = None, linked_services: Optional[List["LinkedServiceDebugResource"]] = None, - source_settings: Optional[List["DataFlowSourceSetting"]] = None, - parameters_debug_settings_parameters: Optional[Dict[str, object]] = None, - dataset_parameters: Optional[object] = None, - folder_path: Optional[object] = None, - reference_name: Optional[str] = None, - parameters_staging_linked_service_parameters: Optional[Dict[str, object]] = None, - name: Optional[str] = None, - properties: Optional["DataFlow"] = None, + staging: Optional["DataFlowStagingInfo"] = None, + debug_settings: Optional["DataFlowDebugPackageDebugSettings"] = None, **kwargs ): super(DataFlowDebugPackage, self).__init__(**kwargs) self.additional_properties = additional_properties self.session_id = session_id + self.data_flow = data_flow self.datasets = datasets self.linked_services = linked_services + self.staging = staging + self.debug_settings = debug_settings + + +class DataFlowDebugPackageDebugSettings(msrest.serialization.Model): + """Data flow debug settings. + + :param source_settings: Source setting for data flow debug. + :type source_settings: list[~data_factory_management_client.models.DataFlowSourceSetting] + :param parameters: Data flow parameters. + :type parameters: dict[str, object] + :param dataset_parameters: Parameters for dataset. + :type dataset_parameters: object + """ + + _attribute_map = { + 'source_settings': {'key': 'sourceSettings', 'type': '[DataFlowSourceSetting]'}, + 'parameters': {'key': 'parameters', 'type': '{object}'}, + 'dataset_parameters': {'key': 'datasetParameters', 'type': 'object'}, + } + + def __init__( + self, + *, + source_settings: Optional[List["DataFlowSourceSetting"]] = None, + parameters: Optional[Dict[str, object]] = None, + dataset_parameters: Optional[object] = None, + **kwargs + ): + super(DataFlowDebugPackageDebugSettings, self).__init__(**kwargs) self.source_settings = source_settings - self.parameters_debug_settings_parameters = parameters_debug_settings_parameters + self.parameters = parameters self.dataset_parameters = dataset_parameters - self.folder_path = folder_path - self.reference_name = reference_name - self.parameters_staging_linked_service_parameters = parameters_staging_linked_service_parameters - self.name = name - self.properties = properties class SubResourceDebugResource(msrest.serialization.Model): @@ -11393,44 +12334,28 @@ def __init__( class DataFlowStagingInfo(msrest.serialization.Model): """Staging info for execute data flow activity. - Variables are only populated by the server, and will be ignored when sending a request. - + :param linked_service: Staging linked service reference. + :type linked_service: ~data_factory_management_client.models.LinkedServiceReference :param folder_path: Folder path for staging blob. Type: string (or Expression with resultType string). :type folder_path: object - :ivar type: Linked service reference type. Default value: "LinkedServiceReference". - :vartype type: str - :param reference_name: Reference LinkedService name. - :type reference_name: str - :param parameters: Arguments for LinkedService. - :type parameters: dict[str, object] """ - _validation = { - 'type': {'constant': True}, - } - _attribute_map = { + 'linked_service': {'key': 'linkedService', 'type': 'LinkedServiceReference'}, 'folder_path': {'key': 'folderPath', 'type': 'object'}, - 'type': {'key': 'linkedService.type', 'type': 'str'}, - 'reference_name': {'key': 'linkedService.referenceName', 'type': 'str'}, - 'parameters': {'key': 'linkedService.parameters', 'type': '{object}'}, } - type = "LinkedServiceReference" - def __init__( self, *, + linked_service: Optional["LinkedServiceReference"] = None, folder_path: Optional[object] = None, - reference_name: Optional[str] = None, - parameters: Optional[Dict[str, object]] = None, **kwargs ): super(DataFlowStagingInfo, self).__init__(**kwargs) + self.linked_service = linked_service self.folder_path = folder_path - self.reference_name = reference_name - self.parameters = parameters class DataLakeAnalyticsUsqlActivity(ExecutionActivity): @@ -11536,7 +12461,7 @@ class DatasetCompression(msrest.serialization.Model): """The compression method used on a dataset. You probably want to use the sub-classes and not this class directly. Known - sub-classes are: DatasetBZip2Compression, DatasetDeflateCompression, DatasetGZipCompression, DatasetZipDeflateCompression. + sub-classes are: DatasetBZip2Compression, DatasetDeflateCompression, DatasetGZipCompression, DatasetTarCompression, DatasetTarGZipCompression, DatasetZipDeflateCompression. All required parameters must be populated in order to send to Azure. @@ -11557,7 +12482,7 @@ class DatasetCompression(msrest.serialization.Model): } _subtype_map = { - 'type': {'BZip2': 'DatasetBZip2Compression', 'Deflate': 'DatasetDeflateCompression', 'GZip': 'DatasetGZipCompression', 'ZipDeflate': 'DatasetZipDeflateCompression'} + 'type': {'BZip2': 'DatasetBZip2Compression', 'Deflate': 'DatasetDeflateCompression', 'GZip': 'DatasetGZipCompression', 'Tar': 'DatasetTarCompression', 'TarGZip': 'DatasetTarGZipCompression', 'ZipDeflate': 'DatasetZipDeflateCompression'} } def __init__( @@ -11901,6 +12826,73 @@ def __init__( self.type = type +class DatasetTarCompression(DatasetCompression): + """The Tar archive method used on a dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset compression.Constant filled by server. + :type type: str + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + **kwargs + ): + super(DatasetTarCompression, self).__init__(additional_properties=additional_properties, **kwargs) + self.type = 'Tar' # type: str + + +class DatasetTarGZipCompression(DatasetCompression): + """The TarGZip compression method used on a dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset compression.Constant filled by server. + :type type: str + :param level: The TarGZip compression level. Possible values include: "Optimal", "Fastest". + :type level: str or ~data_factory_management_client.models.DatasetCompressionLevel + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'level': {'key': 'level', 'type': 'str'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + level: Optional[Union[str, "DatasetCompressionLevel"]] = None, + **kwargs + ): + super(DatasetTarGZipCompression, self).__init__(additional_properties=additional_properties, **kwargs) + self.type = 'TarGZip' # type: str + self.level = level + + class DatasetZipDeflateCompression(DatasetCompression): """The ZipDeflate compression method used on a dataset. @@ -12335,7 +13327,7 @@ class DelimitedTextDataset(Dataset): resultType string). :type encoding_name: object :param compression_codec: Possible values include: "none", "gzip", "snappy", "lzo", "bzip2", - "deflate", "zipDeflate", "lz4". + "deflate", "zipDeflate", "lz4", "tar", "tarGZip". :type compression_codec: str or ~data_factory_management_client.models.CompressionCodec :param compression_level: The data compression method used for DelimitedText. Possible values include: "Optimal", "Fastest". @@ -12602,6 +13594,13 @@ class DelimitedTextWriteSettings(FormatWriteSettings): :param file_extension: Required. The file extension used to create the files. Type: string (or Expression with resultType string). :type file_extension: object + :param max_rows_per_file: Limit the written file's row count to be smaller than or equal to the + specified count. Type: integer (or Expression with resultType integer). + :type max_rows_per_file: object + :param file_name_prefix: Specifies the file name pattern + :code:``_:code:``.:code:`` when copy from non-file + based store without partitionOptions. Type: string (or Expression with resultType string). + :type file_name_prefix: object """ _validation = { @@ -12614,6 +13613,8 @@ class DelimitedTextWriteSettings(FormatWriteSettings): 'type': {'key': 'type', 'type': 'str'}, 'quote_all_text': {'key': 'quoteAllText', 'type': 'object'}, 'file_extension': {'key': 'fileExtension', 'type': 'object'}, + 'max_rows_per_file': {'key': 'maxRowsPerFile', 'type': 'object'}, + 'file_name_prefix': {'key': 'fileNamePrefix', 'type': 'object'}, } def __init__( @@ -12622,12 +13623,16 @@ def __init__( file_extension: object, additional_properties: Optional[Dict[str, object]] = None, quote_all_text: Optional[object] = None, + max_rows_per_file: Optional[object] = None, + file_name_prefix: Optional[object] = None, **kwargs ): super(DelimitedTextWriteSettings, self).__init__(additional_properties=additional_properties, **kwargs) self.type = 'DelimitedTextWriteSettings' # type: str self.quote_all_text = quote_all_text self.file_extension = file_extension + self.max_rows_per_file = max_rows_per_file + self.file_name_prefix = file_name_prefix class DependencyReference(msrest.serialization.Model): @@ -12704,7 +13709,7 @@ def __init__( self.distcp_options = distcp_options -class DocumentDBCollectionDataset(Dataset): +class DocumentDbCollectionDataset(Dataset): """Microsoft Azure Document Database Collection dataset. All required parameters must be populated in order to send to Azure. @@ -12769,12 +13774,12 @@ def __init__( folder: Optional["DatasetFolder"] = None, **kwargs ): - super(DocumentDBCollectionDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + super(DocumentDbCollectionDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) self.type = 'DocumentDbCollection' # type: str self.collection_name = collection_name -class DocumentDBCollectionSink(CopySink): +class DocumentDbCollectionSink(CopySink): """A copy activity Document Database Collection sink. All required parameters must be populated in order to send to Azure. @@ -12836,13 +13841,13 @@ def __init__( write_behavior: Optional[object] = None, **kwargs ): - super(DocumentDBCollectionSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(DocumentDbCollectionSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) self.type = 'DocumentDbCollectionSink' # type: str self.nesting_separator = nesting_separator self.write_behavior = write_behavior -class DocumentDBCollectionSource(CopySource): +class DocumentDbCollectionSource(CopySource): """A copy activity Document Database Collection source. All required parameters must be populated in order to send to Azure. @@ -12903,7 +13908,7 @@ def __init__( additional_columns: Optional[List["AdditionalColumns"]] = None, **kwargs ): - super(DocumentDBCollectionSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(DocumentDbCollectionSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) self.type = 'DocumentDbCollectionSource' # type: str self.query = query self.nesting_separator = nesting_separator @@ -13118,7 +14123,7 @@ def __init__( self.schema_type_properties_schema = schema_type_properties_schema -class DWCopyCommandDefaultValue(msrest.serialization.Model): +class DwCopyCommandDefaultValue(msrest.serialization.Model): """Default value. :param column_name: Column name. Type: object (or Expression with resultType string). @@ -13140,19 +14145,19 @@ def __init__( default_value: Optional[object] = None, **kwargs ): - super(DWCopyCommandDefaultValue, self).__init__(**kwargs) + super(DwCopyCommandDefaultValue, self).__init__(**kwargs) self.column_name = column_name self.default_value = default_value -class DWCopyCommandSettings(msrest.serialization.Model): +class DwCopyCommandSettings(msrest.serialization.Model): """DW Copy Command settings. :param default_values: Specifies the default values for each target column in SQL DW. The default values in the property overwrite the DEFAULT constraint set in the DB, and identity column cannot have a default value. Type: array of objects (or Expression with resultType array of objects). - :type default_values: list[~data_factory_management_client.models.DWCopyCommandDefaultValue] + :type default_values: list[~data_factory_management_client.models.DwCopyCommandDefaultValue] :param additional_options: Additional options directly passed to SQL DW in Copy Command. Type: key value pairs (value should be string type) (or Expression with resultType object). Example: "additionalOptions": { "MAXERRORS": "1000", "DATEFORMAT": "'ymd'" }. @@ -13160,18 +14165,18 @@ class DWCopyCommandSettings(msrest.serialization.Model): """ _attribute_map = { - 'default_values': {'key': 'defaultValues', 'type': '[DWCopyCommandDefaultValue]'}, + 'default_values': {'key': 'defaultValues', 'type': '[DwCopyCommandDefaultValue]'}, 'additional_options': {'key': 'additionalOptions', 'type': '{str}'}, } def __init__( self, *, - default_values: Optional[List["DWCopyCommandDefaultValue"]] = None, + default_values: Optional[List["DwCopyCommandDefaultValue"]] = None, additional_options: Optional[Dict[str, str]] = None, **kwargs ): - super(DWCopyCommandSettings, self).__init__(**kwargs) + super(DwCopyCommandSettings, self).__init__(**kwargs) self.default_values = default_values self.additional_options = additional_options @@ -14303,6 +15308,52 @@ def __init__( self.query = query +class EncryptionConfiguration(msrest.serialization.Model): + """Definition of CMK for the factory. + + All required parameters must be populated in order to send to Azure. + + :param key_name: Required. The name of the key in Azure Key Vault to use as Customer Managed + Key. + :type key_name: str + :param vault_base_url: Required. The url of the Azure Key Vault used for CMK. + :type vault_base_url: str + :param key_version: The version of the key used for CMK. If not provided, latest version will + be used. + :type key_version: str + :param identity: User assigned identity to use to authenticate to customer's key vault. If not + provided Managed Service Identity will be used. + :type identity: ~data_factory_management_client.models.CmkIdentityDefinition + """ + + _validation = { + 'key_name': {'required': True}, + 'vault_base_url': {'required': True}, + } + + _attribute_map = { + 'key_name': {'key': 'keyName', 'type': 'str'}, + 'vault_base_url': {'key': 'vaultBaseUrl', 'type': 'str'}, + 'key_version': {'key': 'keyVersion', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'CmkIdentityDefinition'}, + } + + def __init__( + self, + *, + key_name: str, + vault_base_url: str, + key_version: Optional[str] = None, + identity: Optional["CmkIdentityDefinition"] = None, + **kwargs + ): + super(EncryptionConfiguration, self).__init__(**kwargs) + self.key_name = key_name + self.vault_base_url = vault_base_url + self.key_version = key_version + self.identity = identity + + class EntityReference(msrest.serialization.Model): """The entity reference. @@ -14553,6 +15604,16 @@ class ExecuteDataFlowActivity(ExecutionActivity): :param compute: Compute properties for data flow activity. :type compute: ~data_factory_management_client.models.ExecuteDataFlowActivityTypePropertiesCompute + :param trace_level: Trace level setting used for data flow monitoring output. Supported values + are: 'coarse', 'fine', and 'none'. Type: string (or Expression with resultType string). + :type trace_level: object + :param continue_on_error: Continue on error setting used for data flow execution. Enables + processing to continue if a sink fails. Type: boolean (or Expression with resultType boolean). + :type continue_on_error: object + :param run_concurrently: Concurrent run setting used for data flow execution. Allows sinks with + the same save order to be processed concurrently. Type: boolean (or Expression with resultType + boolean). + :type run_concurrently: object """ _validation = { @@ -14574,6 +15635,9 @@ class ExecuteDataFlowActivity(ExecutionActivity): 'staging': {'key': 'typeProperties.staging', 'type': 'DataFlowStagingInfo'}, 'integration_runtime': {'key': 'typeProperties.integrationRuntime', 'type': 'IntegrationRuntimeReference'}, 'compute': {'key': 'typeProperties.compute', 'type': 'ExecuteDataFlowActivityTypePropertiesCompute'}, + 'trace_level': {'key': 'typeProperties.traceLevel', 'type': 'object'}, + 'continue_on_error': {'key': 'typeProperties.continueOnError', 'type': 'object'}, + 'run_concurrently': {'key': 'typeProperties.runConcurrently', 'type': 'object'}, } def __init__( @@ -14590,6 +15654,9 @@ def __init__( staging: Optional["DataFlowStagingInfo"] = None, integration_runtime: Optional["IntegrationRuntimeReference"] = None, compute: Optional["ExecuteDataFlowActivityTypePropertiesCompute"] = None, + trace_level: Optional[object] = None, + continue_on_error: Optional[object] = None, + run_concurrently: Optional[object] = None, **kwargs ): super(ExecuteDataFlowActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, linked_service_name=linked_service_name, policy=policy, **kwargs) @@ -14598,29 +15665,33 @@ def __init__( self.staging = staging self.integration_runtime = integration_runtime self.compute = compute + self.trace_level = trace_level + self.continue_on_error = continue_on_error + self.run_concurrently = run_concurrently class ExecuteDataFlowActivityTypePropertiesCompute(msrest.serialization.Model): """Compute properties for data flow activity. :param compute_type: Compute type of the cluster which will execute data flow job. Possible - values include: "General", "MemoryOptimized", "ComputeOptimized". - :type compute_type: str or ~data_factory_management_client.models.DataFlowComputeType + values include: 'General', 'MemoryOptimized', 'ComputeOptimized'. Type: string (or Expression + with resultType string). + :type compute_type: object :param core_count: Core count of the cluster which will execute data flow job. Supported values - are: 8, 16, 32, 48, 80, 144 and 272. - :type core_count: int + are: 8, 16, 32, 48, 80, 144 and 272. Type: integer (or Expression with resultType integer). + :type core_count: object """ _attribute_map = { - 'compute_type': {'key': 'computeType', 'type': 'str'}, - 'core_count': {'key': 'coreCount', 'type': 'int'}, + 'compute_type': {'key': 'computeType', 'type': 'object'}, + 'core_count': {'key': 'coreCount', 'type': 'object'}, } def __init__( self, *, - compute_type: Optional[Union[str, "DataFlowComputeType"]] = None, - core_count: Optional[int] = None, + compute_type: Optional[object] = None, + core_count: Optional[object] = None, **kwargs ): super(ExecuteDataFlowActivityTypePropertiesCompute, self).__init__(**kwargs) @@ -14819,45 +15890,6 @@ def __init__( self.log_location = log_location -class ExportSettings(msrest.serialization.Model): - """Export command settings. - - You probably want to use the sub-classes and not this class directly. Known - sub-classes are: SnowflakeExportCopyCommand. - - All required parameters must be populated in order to send to Azure. - - :param additional_properties: Unmatched properties from the message are deserialized to this - collection. - :type additional_properties: dict[str, object] - :param type: Required. The export setting type.Constant filled by server. - :type type: str - """ - - _validation = { - 'type': {'required': True}, - } - - _attribute_map = { - 'additional_properties': {'key': '', 'type': '{object}'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - _subtype_map = { - 'type': {'SnowflakeExportCopyCommand': 'SnowflakeExportCopyCommand'} - } - - def __init__( - self, - *, - additional_properties: Optional[Dict[str, object]] = None, - **kwargs - ): - super(ExportSettings, self).__init__(**kwargs) - self.additional_properties = additional_properties - self.type = 'ExportSettings' # type: str - - class ExposureControlBatchRequest(msrest.serialization.Model): """A list of exposure control features. @@ -15089,6 +16121,11 @@ class Factory(Resource): :param global_parameters: List of parameters for factory. :type global_parameters: dict[str, ~data_factory_management_client.models.GlobalParameterSpecification] + :param encryption: Properties to enable Customer Managed Key for the factory. + :type encryption: ~data_factory_management_client.models.EncryptionConfiguration + :param public_network_access: Whether or not public network access is allowed for the data + factory. Possible values include: "Enabled", "Disabled". + :type public_network_access: str or ~data_factory_management_client.models.PublicNetworkAccess """ _validation = { @@ -15115,6 +16152,8 @@ class Factory(Resource): 'version': {'key': 'properties.version', 'type': 'str'}, 'repo_configuration': {'key': 'properties.repoConfiguration', 'type': 'FactoryRepoConfiguration'}, 'global_parameters': {'key': 'properties.globalParameters', 'type': '{GlobalParameterSpecification}'}, + 'encryption': {'key': 'properties.encryption', 'type': 'EncryptionConfiguration'}, + 'public_network_access': {'key': 'properties.publicNetworkAccess', 'type': 'str'}, } def __init__( @@ -15126,6 +16165,8 @@ def __init__( identity: Optional["FactoryIdentity"] = None, repo_configuration: Optional["FactoryRepoConfiguration"] = None, global_parameters: Optional[Dict[str, "GlobalParameterSpecification"]] = None, + encryption: Optional["EncryptionConfiguration"] = None, + public_network_access: Optional[Union[str, "PublicNetworkAccess"]] = None, **kwargs ): super(Factory, self).__init__(location=location, tags=tags, **kwargs) @@ -15136,6 +16177,8 @@ def __init__( self.version = None self.repo_configuration = repo_configuration self.global_parameters = global_parameters + self.encryption = encryption + self.public_network_access = public_network_access class FactoryRepoConfiguration(msrest.serialization.Model): @@ -15262,17 +16305,19 @@ class FactoryIdentity(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :ivar type: Required. The identity type. Currently the only supported type is 'SystemAssigned'. - Default value: "SystemAssigned". - :vartype type: str + :param type: Required. The identity type. Possible values include: "SystemAssigned", + "UserAssigned", "SystemAssigned,UserAssigned". + :type type: str or ~data_factory_management_client.models.FactoryIdentityType :ivar principal_id: The principal id of the identity. :vartype principal_id: str :ivar tenant_id: The client tenant id of the identity. :vartype tenant_id: str + :param user_assigned_identities: List of user assigned identities for the factory. + :type user_assigned_identities: dict[str, object] """ _validation = { - 'type': {'required': True, 'constant': True}, + 'type': {'required': True}, 'principal_id': {'readonly': True}, 'tenant_id': {'readonly': True}, } @@ -15281,17 +16326,21 @@ class FactoryIdentity(msrest.serialization.Model): 'type': {'key': 'type', 'type': 'str'}, 'principal_id': {'key': 'principalId', 'type': 'str'}, 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{object}'}, } - type = "SystemAssigned" - def __init__( self, + *, + type: Union[str, "FactoryIdentityType"], + user_assigned_identities: Optional[Dict[str, object]] = None, **kwargs ): super(FactoryIdentity, self).__init__(**kwargs) + self.type = type self.principal_id = None self.tenant_id = None + self.user_assigned_identities = user_assigned_identities class FactoryListResponse(msrest.serialization.Model): @@ -19233,6 +20282,9 @@ class HttpLinkedService(LinkedService): :param password: Password for Basic, Digest, Windows, or ClientCertificate with EmbeddedCertData authentication. :type password: ~data_factory_management_client.models.SecretBase + :param auth_headers: The additional HTTP headers in the request to RESTful API used for + authorization. Type: object (or Expression with resultType object). + :type auth_headers: object :param embedded_cert_data: Base64 encoded certificate data for ClientCertificate authentication. For on-premises copy with ClientCertificate authentication, either CertThumbprint or EmbeddedCertData/Password should be specified. Type: string (or Expression @@ -19268,6 +20320,7 @@ class HttpLinkedService(LinkedService): 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, 'user_name': {'key': 'typeProperties.userName', 'type': 'object'}, 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'auth_headers': {'key': 'typeProperties.authHeaders', 'type': 'object'}, 'embedded_cert_data': {'key': 'typeProperties.embeddedCertData', 'type': 'object'}, 'cert_thumbprint': {'key': 'typeProperties.certThumbprint', 'type': 'object'}, 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, @@ -19286,6 +20339,7 @@ def __init__( authentication_type: Optional[Union[str, "HttpAuthenticationType"]] = None, user_name: Optional[object] = None, password: Optional["SecretBase"] = None, + auth_headers: Optional[object] = None, embedded_cert_data: Optional[object] = None, cert_thumbprint: Optional[object] = None, encrypted_credential: Optional[object] = None, @@ -19298,6 +20352,7 @@ def __init__( self.authentication_type = authentication_type self.user_name = user_name self.password = password + self.auth_headers = auth_headers self.embedded_cert_data = embedded_cert_data self.cert_thumbprint = cert_thumbprint self.encrypted_credential = encrypted_credential @@ -20030,45 +21085,6 @@ def __init__( self.query = query -class ImportSettings(msrest.serialization.Model): - """Import command settings. - - You probably want to use the sub-classes and not this class directly. Known - sub-classes are: SnowflakeImportCopyCommand. - - All required parameters must be populated in order to send to Azure. - - :param additional_properties: Unmatched properties from the message are deserialized to this - collection. - :type additional_properties: dict[str, object] - :param type: Required. The import setting type.Constant filled by server. - :type type: str - """ - - _validation = { - 'type': {'required': True}, - } - - _attribute_map = { - 'additional_properties': {'key': '', 'type': '{object}'}, - 'type': {'key': 'type', 'type': 'str'}, - } - - _subtype_map = { - 'type': {'SnowflakeImportCopyCommand': 'SnowflakeImportCopyCommand'} - } - - def __init__( - self, - *, - additional_properties: Optional[Dict[str, object]] = None, - **kwargs - ): - super(ImportSettings, self).__init__(**kwargs) - self.additional_properties = additional_properties - self.type = 'ImportSettings' # type: str - - class InformixLinkedService(LinkedService): """Informix linked service. @@ -20949,6 +21965,9 @@ class IntegrationRuntimeSsisCatalogInfo(msrest.serialization.Model): include: "Basic", "Standard", "Premium", "PremiumRS". :type catalog_pricing_tier: str or ~data_factory_management_client.models.IntegrationRuntimeSsisCatalogPricingTier + :param dual_standby_pair_name: The dual standby pair name of Azure-SSIS Integration Runtimes to + support SSISDB failover. + :type dual_standby_pair_name: str """ _validation = { @@ -20961,6 +21980,7 @@ class IntegrationRuntimeSsisCatalogInfo(msrest.serialization.Model): 'catalog_admin_user_name': {'key': 'catalogAdminUserName', 'type': 'str'}, 'catalog_admin_password': {'key': 'catalogAdminPassword', 'type': 'SecureString'}, 'catalog_pricing_tier': {'key': 'catalogPricingTier', 'type': 'str'}, + 'dual_standby_pair_name': {'key': 'dualStandbyPairName', 'type': 'str'}, } def __init__( @@ -20971,6 +21991,7 @@ def __init__( catalog_admin_user_name: Optional[str] = None, catalog_admin_password: Optional["SecureString"] = None, catalog_pricing_tier: Optional[Union[str, "IntegrationRuntimeSsisCatalogPricingTier"]] = None, + dual_standby_pair_name: Optional[str] = None, **kwargs ): super(IntegrationRuntimeSsisCatalogInfo, self).__init__(**kwargs) @@ -20979,6 +22000,7 @@ def __init__( self.catalog_admin_user_name = catalog_admin_user_name self.catalog_admin_password = catalog_admin_password self.catalog_pricing_tier = catalog_pricing_tier + self.dual_standby_pair_name = dual_standby_pair_name class IntegrationRuntimeSsisProperties(msrest.serialization.Model): @@ -22113,8 +23135,81 @@ def __init__( self.properties = properties +class LogLocationSettings(msrest.serialization.Model): + """Log location settings. + + All required parameters must be populated in order to send to Azure. + + :param linked_service_name: Required. Log storage linked service reference. + :type linked_service_name: ~data_factory_management_client.models.LinkedServiceReference + :param path: The path to storage for storing detailed logs of activity execution. Type: string + (or Expression with resultType string). + :type path: object + """ + + _validation = { + 'linked_service_name': {'required': True}, + } + + _attribute_map = { + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'path': {'key': 'path', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + path: Optional[object] = None, + **kwargs + ): + super(LogLocationSettings, self).__init__(**kwargs) + self.linked_service_name = linked_service_name + self.path = path + + +class LogSettings(msrest.serialization.Model): + """Log settings. + + All required parameters must be populated in order to send to Azure. + + :param enable_copy_activity_log: Specifies whether to enable copy activity log. Type: boolean + (or Expression with resultType boolean). + :type enable_copy_activity_log: object + :param copy_activity_log_settings: Specifies settings for copy activity log. + :type copy_activity_log_settings: + ~data_factory_management_client.models.CopyActivityLogSettings + :param log_location_settings: Required. Log location settings customer needs to provide when + enabling log. + :type log_location_settings: ~data_factory_management_client.models.LogLocationSettings + """ + + _validation = { + 'log_location_settings': {'required': True}, + } + + _attribute_map = { + 'enable_copy_activity_log': {'key': 'enableCopyActivityLog', 'type': 'object'}, + 'copy_activity_log_settings': {'key': 'copyActivityLogSettings', 'type': 'CopyActivityLogSettings'}, + 'log_location_settings': {'key': 'logLocationSettings', 'type': 'LogLocationSettings'}, + } + + def __init__( + self, + *, + log_location_settings: "LogLocationSettings", + enable_copy_activity_log: Optional[object] = None, + copy_activity_log_settings: Optional["CopyActivityLogSettings"] = None, + **kwargs + ): + super(LogSettings, self).__init__(**kwargs) + self.enable_copy_activity_log = enable_copy_activity_log + self.copy_activity_log_settings = copy_activity_log_settings + self.log_location_settings = log_location_settings + + class LogStorageSettings(msrest.serialization.Model): - """Log storage settings. + """(Deprecated. Please use LogSettings) Log storage settings. All required parameters must be populated in order to send to Azure. @@ -22471,6 +23566,9 @@ class ManagedIntegrationRuntime(IntegrationRuntime): Possible values include: "Initial", "Stopped", "Started", "Starting", "Stopping", "NeedRegistration", "Online", "Limited", "Offline", "AccessDenied". :vartype state: str or ~data_factory_management_client.models.IntegrationRuntimeState + :param managed_virtual_network: Managed Virtual Network reference. + :type managed_virtual_network: + ~data_factory_management_client.models.ManagedVirtualNetworkReference :param compute_properties: The compute resource for managed integration runtime. :type compute_properties: ~data_factory_management_client.models.IntegrationRuntimeComputeProperties @@ -22488,6 +23586,7 @@ class ManagedIntegrationRuntime(IntegrationRuntime): 'type': {'key': 'type', 'type': 'str'}, 'description': {'key': 'description', 'type': 'str'}, 'state': {'key': 'state', 'type': 'str'}, + 'managed_virtual_network': {'key': 'managedVirtualNetwork', 'type': 'ManagedVirtualNetworkReference'}, 'compute_properties': {'key': 'typeProperties.computeProperties', 'type': 'IntegrationRuntimeComputeProperties'}, 'ssis_properties': {'key': 'typeProperties.ssisProperties', 'type': 'IntegrationRuntimeSsisProperties'}, } @@ -22497,6 +23596,7 @@ def __init__( *, additional_properties: Optional[Dict[str, object]] = None, description: Optional[str] = None, + managed_virtual_network: Optional["ManagedVirtualNetworkReference"] = None, compute_properties: Optional["IntegrationRuntimeComputeProperties"] = None, ssis_properties: Optional["IntegrationRuntimeSsisProperties"] = None, **kwargs @@ -22504,6 +23604,7 @@ def __init__( super(ManagedIntegrationRuntime, self).__init__(additional_properties=additional_properties, description=description, **kwargs) self.type = 'Managed' # type: str self.state = None + self.managed_virtual_network = managed_virtual_network self.compute_properties = compute_properties self.ssis_properties = ssis_properties @@ -22817,6 +23918,8 @@ class ManagedPrivateEndpointResource(SubResource): 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: The resource identifier. :vartype id: str :ivar name: The resource name. @@ -22825,19 +23928,8 @@ class ManagedPrivateEndpointResource(SubResource): :vartype type: str :ivar etag: Etag identifies change in the resource. :vartype etag: str - :param connection_state: The managed private endpoint connection state. - :type connection_state: ~data_factory_management_client.models.ConnectionStateProperties - :param fqdns: Fully qualified domain names. - :type fqdns: list[str] - :param group_id: The groupId to which the managed private endpoint is created. - :type group_id: str - :ivar is_reserved: Denotes whether the managed private endpoint is reserved. - :vartype is_reserved: bool - :param private_link_resource_id: The ARM resource ID of the resource to which the managed - private endpoint is created. - :type private_link_resource_id: str - :ivar provisioning_state: The managed private endpoint provisioning state. - :vartype provisioning_state: str + :param properties: Required. Managed private endpoint properties. + :type properties: ~data_factory_management_client.models.ManagedPrivateEndpoint """ _validation = { @@ -22845,8 +23937,7 @@ class ManagedPrivateEndpointResource(SubResource): 'name': {'readonly': True}, 'type': {'readonly': True}, 'etag': {'readonly': True}, - 'is_reserved': {'readonly': True}, - 'provisioning_state': {'readonly': True}, + 'properties': {'required': True}, } _attribute_map = { @@ -22854,30 +23945,17 @@ class ManagedPrivateEndpointResource(SubResource): 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'etag': {'key': 'etag', 'type': 'str'}, - 'connection_state': {'key': 'properties.connectionState', 'type': 'ConnectionStateProperties'}, - 'fqdns': {'key': 'properties.fqdns', 'type': '[str]'}, - 'group_id': {'key': 'properties.groupId', 'type': 'str'}, - 'is_reserved': {'key': 'properties.isReserved', 'type': 'bool'}, - 'private_link_resource_id': {'key': 'properties.privateLinkResourceId', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'properties': {'key': 'properties', 'type': 'ManagedPrivateEndpoint'}, } def __init__( self, *, - connection_state: Optional["ConnectionStateProperties"] = None, - fqdns: Optional[List[str]] = None, - group_id: Optional[str] = None, - private_link_resource_id: Optional[str] = None, + properties: "ManagedPrivateEndpoint", **kwargs ): super(ManagedPrivateEndpointResource, self).__init__(**kwargs) - self.connection_state = connection_state - self.fqdns = fqdns - self.group_id = group_id - self.is_reserved = None - self.private_link_resource_id = private_link_resource_id - self.provisioning_state = None + self.properties = properties class ManagedVirtualNetwork(msrest.serialization.Model): @@ -22949,6 +24027,42 @@ def __init__( self.next_link = next_link +class ManagedVirtualNetworkReference(msrest.serialization.Model): + """Managed Virtual Network reference type. + + 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 type: Required. Managed Virtual Network reference type. Default value: + "ManagedVirtualNetworkReference". + :vartype type: str + :param reference_name: Required. Reference ManagedVirtualNetwork name. + :type reference_name: str + """ + + _validation = { + 'type': {'required': True, 'constant': True}, + 'reference_name': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'reference_name': {'key': 'referenceName', 'type': 'str'}, + } + + type = "ManagedVirtualNetworkReference" + + def __init__( + self, + *, + reference_name: str, + **kwargs + ): + super(ManagedVirtualNetworkReference, self).__init__(**kwargs) + self.reference_name = reference_name + + class ManagedVirtualNetworkResource(SubResource): """Managed Virtual Network resource type. @@ -23047,7 +24161,7 @@ def __init__( self.script = script -class MariaDBLinkedService(LinkedService): +class MariaDbLinkedService(LinkedService): """MariaDB server linked service. All required parameters must be populated in order to send to Azure. @@ -23105,14 +24219,14 @@ def __init__( encrypted_credential: Optional[object] = None, **kwargs ): - super(MariaDBLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + super(MariaDbLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) self.type = 'MariaDB' # type: str self.connection_string = connection_string self.pwd = pwd self.encrypted_credential = encrypted_credential -class MariaDBSource(TabularSource): +class MariaDbSource(TabularSource): """A copy activity MariaDB server source. All required parameters must be populated in order to send to Azure. @@ -23169,12 +24283,12 @@ def __init__( query: Optional[object] = None, **kwargs ): - super(MariaDBSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(MariaDbSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'MariaDBSource' # type: str self.query = query -class MariaDBTableDataset(Dataset): +class MariaDbTableDataset(Dataset): """MariaDB server dataset. All required parameters must be populated in order to send to Azure. @@ -23237,7 +24351,7 @@ def __init__( table_name: Optional[object] = None, **kwargs ): - super(MariaDBTableDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + super(MariaDbTableDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) self.type = 'MariaDBTable' # type: str self.table_name = table_name @@ -23736,7 +24850,217 @@ def __init__( self.table_name = table_name -class MongoDBCollectionDataset(Dataset): +class MongoDbAtlasCollectionDataset(Dataset): + """The MongoDB Atlas database dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset.Constant filled by server. + :type type: str + :param description: Dataset description. + :type description: str + :param structure: Columns that define the structure of the dataset. Type: array (or Expression + with resultType array), itemType: DatasetDataElement. + :type structure: object + :param schema: Columns that define the physical type schema of the dataset. Type: array (or + Expression with resultType array), itemType: DatasetSchemaDataElement. + :type schema: object + :param linked_service_name: Required. Linked service reference. + :type linked_service_name: ~data_factory_management_client.models.LinkedServiceReference + :param parameters: Parameters for dataset. + :type parameters: dict[str, ~data_factory_management_client.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the Dataset. + :type annotations: list[object] + :param folder: The folder that this Dataset is in. If not specified, Dataset will appear at the + root level. + :type folder: ~data_factory_management_client.models.DatasetFolder + :param collection: Required. The collection name of the MongoDB Atlas database. Type: string + (or Expression with resultType string). + :type collection: object + """ + + _validation = { + 'type': {'required': True}, + 'linked_service_name': {'required': True}, + 'collection': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'structure': {'key': 'structure', 'type': 'object'}, + 'schema': {'key': 'schema', 'type': 'object'}, + 'linked_service_name': {'key': 'linkedServiceName', 'type': 'LinkedServiceReference'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'folder': {'key': 'folder', 'type': 'DatasetFolder'}, + 'collection': {'key': 'typeProperties.collection', 'type': 'object'}, + } + + def __init__( + self, + *, + linked_service_name: "LinkedServiceReference", + collection: object, + additional_properties: Optional[Dict[str, object]] = None, + description: Optional[str] = None, + structure: Optional[object] = None, + schema: Optional[object] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + folder: Optional["DatasetFolder"] = None, + **kwargs + ): + super(MongoDbAtlasCollectionDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + self.type = 'MongoDbAtlasCollection' # type: str + self.collection = collection + + +class MongoDbAtlasLinkedService(LinkedService): + """Linked service for MongoDB Atlas data source. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~data_factory_management_client.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~data_factory_management_client.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param connection_string: Required. The MongoDB Atlas connection string. Type: string, + SecureString or AzureKeyVaultSecretReference. Type: string, SecureString or + AzureKeyVaultSecretReference. + :type connection_string: object + :param database: Required. The name of the MongoDB Atlas database that you want to access. + Type: string (or Expression with resultType string). + :type database: object + """ + + _validation = { + 'type': {'required': True}, + 'connection_string': {'required': True}, + 'database': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'connection_string': {'key': 'typeProperties.connectionString', 'type': 'object'}, + 'database': {'key': 'typeProperties.database', 'type': 'object'}, + } + + def __init__( + self, + *, + connection_string: object, + database: object, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + **kwargs + ): + super(MongoDbAtlasLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'MongoDbAtlas' # type: str + self.connection_string = connection_string + self.database = database + + +class MongoDbAtlasSource(CopySource): + """A copy activity source for a MongoDB Atlas database. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Copy source type.Constant filled by server. + :type type: str + :param source_retry_count: Source retry count. Type: integer (or Expression with resultType + integer). + :type source_retry_count: object + :param source_retry_wait: Source retry wait. Type: string (or Expression with resultType + string), pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + :type source_retry_wait: object + :param max_concurrent_connections: The maximum concurrent connection count for the source data + store. Type: integer (or Expression with resultType integer). + :type max_concurrent_connections: object + :param filter: Specifies selection filter using query operators. To return all documents in a + collection, omit this parameter or pass an empty document ({}). Type: string (or Expression + with resultType string). + :type filter: object + :param cursor_methods: Cursor methods for Mongodb query. + :type cursor_methods: ~data_factory_management_client.models.MongoDbCursorMethodsProperties + :param batch_size: Specifies the number of documents to return in each batch of the response + from MongoDB Atlas instance. In most cases, modifying the batch size will not affect the user + or the application. This property's main purpose is to avoid hit the limitation of response + size. Type: integer (or Expression with resultType integer). + :type batch_size: object + :param query_timeout: Query timeout. Type: string (or Expression with resultType string), + pattern: ((\d+).)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + :type query_timeout: object + :param additional_columns: Specifies the additional columns to be added to source data. Type: + array of objects (or Expression with resultType array of objects). + :type additional_columns: list[~data_factory_management_client.models.AdditionalColumns] + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'source_retry_count': {'key': 'sourceRetryCount', 'type': 'object'}, + 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, + 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'filter': {'key': 'filter', 'type': 'object'}, + 'cursor_methods': {'key': 'cursorMethods', 'type': 'MongoDbCursorMethodsProperties'}, + 'batch_size': {'key': 'batchSize', 'type': 'object'}, + 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, + 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + source_retry_count: Optional[object] = None, + source_retry_wait: Optional[object] = None, + max_concurrent_connections: Optional[object] = None, + filter: Optional[object] = None, + cursor_methods: Optional["MongoDbCursorMethodsProperties"] = None, + batch_size: Optional[object] = None, + query_timeout: Optional[object] = None, + additional_columns: Optional[List["AdditionalColumns"]] = None, + **kwargs + ): + super(MongoDbAtlasSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + self.type = 'MongoDbAtlasSource' # type: str + self.filter = filter + self.cursor_methods = cursor_methods + self.batch_size = batch_size + self.query_timeout = query_timeout + self.additional_columns = additional_columns + + +class MongoDbCollectionDataset(Dataset): """The MongoDB database dataset. All required parameters must be populated in order to send to Azure. @@ -23801,12 +25125,12 @@ def __init__( folder: Optional["DatasetFolder"] = None, **kwargs ): - super(MongoDBCollectionDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + super(MongoDbCollectionDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) self.type = 'MongoDbCollection' # type: str self.collection_name = collection_name -class MongoDBCursorMethodsProperties(msrest.serialization.Model): +class MongoDbCursorMethodsProperties(msrest.serialization.Model): """Cursor methods for Mongodb query. :param additional_properties: Unmatched properties from the message are deserialized to this @@ -23847,7 +25171,7 @@ def __init__( limit: Optional[object] = None, **kwargs ): - super(MongoDBCursorMethodsProperties, self).__init__(**kwargs) + super(MongoDbCursorMethodsProperties, self).__init__(**kwargs) self.additional_properties = additional_properties self.project = project self.sort = sort @@ -23855,7 +25179,7 @@ def __init__( self.limit = limit -class MongoDBLinkedService(LinkedService): +class MongoDbLinkedService(LinkedService): """Linked service for MongoDb data source. All required parameters must be populated in order to send to Azure. @@ -23879,7 +25203,7 @@ class MongoDBLinkedService(LinkedService): :param authentication_type: The authentication type to be used to connect to the MongoDB database. Possible values include: "Basic", "Anonymous". :type authentication_type: str or - ~data_factory_management_client.models.MongoDBAuthenticationType + ~data_factory_management_client.models.MongoDbAuthenticationType :param database_name: Required. The name of the MongoDB database that you want to access. Type: string (or Expression with resultType string). :type database_name: object @@ -23941,7 +25265,7 @@ def __init__( description: Optional[str] = None, parameters: Optional[Dict[str, "ParameterSpecification"]] = None, annotations: Optional[List[object]] = None, - authentication_type: Optional[Union[str, "MongoDBAuthenticationType"]] = None, + authentication_type: Optional[Union[str, "MongoDbAuthenticationType"]] = None, username: Optional[object] = None, password: Optional["SecretBase"] = None, auth_source: Optional[object] = None, @@ -23951,7 +25275,7 @@ def __init__( encrypted_credential: Optional[object] = None, **kwargs ): - super(MongoDBLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + super(MongoDbLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) self.type = 'MongoDb' # type: str self.server = server self.authentication_type = authentication_type @@ -23965,7 +25289,7 @@ def __init__( self.encrypted_credential = encrypted_credential -class MongoDBSource(CopySource): +class MongoDbSource(CopySource): """A copy activity source for a MongoDB database. All required parameters must be populated in order to send to Azure. @@ -24017,13 +25341,13 @@ def __init__( additional_columns: Optional[List["AdditionalColumns"]] = None, **kwargs ): - super(MongoDBSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(MongoDbSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) self.type = 'MongoDbSource' # type: str self.query = query self.additional_columns = additional_columns -class MongoDBV2CollectionDataset(Dataset): +class MongoDbV2CollectionDataset(Dataset): """The MongoDB database dataset. All required parameters must be populated in order to send to Azure. @@ -24088,12 +25412,12 @@ def __init__( folder: Optional["DatasetFolder"] = None, **kwargs ): - super(MongoDBV2CollectionDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + super(MongoDbV2CollectionDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) self.type = 'MongoDbV2Collection' # type: str self.collection = collection -class MongoDBV2LinkedService(LinkedService): +class MongoDbV2LinkedService(LinkedService): """Linked service for MongoDB data source. All required parameters must be populated in order to send to Azure. @@ -24148,13 +25472,13 @@ def __init__( annotations: Optional[List[object]] = None, **kwargs ): - super(MongoDBV2LinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + super(MongoDbV2LinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) self.type = 'MongoDbV2' # type: str self.connection_string = connection_string self.database = database -class MongoDBV2Source(CopySource): +class MongoDbV2Source(CopySource): """A copy activity source for a MongoDB database. All required parameters must be populated in order to send to Azure. @@ -24178,7 +25502,7 @@ class MongoDBV2Source(CopySource): with resultType string). :type filter: object :param cursor_methods: Cursor methods for Mongodb query. - :type cursor_methods: ~data_factory_management_client.models.MongoDBCursorMethodsProperties + :type cursor_methods: ~data_factory_management_client.models.MongoDbCursorMethodsProperties :param batch_size: Specifies the number of documents to return in each batch of the response from MongoDB instance. In most cases, modifying the batch size will not affect the user or the application. This property's main purpose is to avoid hit the limitation of response size. @@ -24203,7 +25527,7 @@ class MongoDBV2Source(CopySource): 'source_retry_wait': {'key': 'sourceRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, 'filter': {'key': 'filter', 'type': 'object'}, - 'cursor_methods': {'key': 'cursorMethods', 'type': 'MongoDBCursorMethodsProperties'}, + 'cursor_methods': {'key': 'cursorMethods', 'type': 'MongoDbCursorMethodsProperties'}, 'batch_size': {'key': 'batchSize', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, @@ -24217,13 +25541,13 @@ def __init__( source_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, filter: Optional[object] = None, - cursor_methods: Optional["MongoDBCursorMethodsProperties"] = None, + cursor_methods: Optional["MongoDbCursorMethodsProperties"] = None, batch_size: Optional[object] = None, query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, **kwargs ): - super(MongoDBV2Source, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(MongoDbV2Source, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) self.type = 'MongoDbV2Source' # type: str self.filter = filter self.cursor_methods = cursor_methods @@ -24232,7 +25556,7 @@ def __init__( self.additional_columns = additional_columns -class MySQLLinkedService(LinkedService): +class MySqlLinkedService(LinkedService): """Linked service for MySQL data source. All required parameters must be populated in order to send to Azure. @@ -24290,14 +25614,14 @@ def __init__( encrypted_credential: Optional[object] = None, **kwargs ): - super(MySQLLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + super(MySqlLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) self.type = 'MySql' # type: str self.connection_string = connection_string self.password = password self.encrypted_credential = encrypted_credential -class MySQLSource(TabularSource): +class MySqlSource(TabularSource): """A copy activity source for MySQL databases. All required parameters must be populated in order to send to Azure. @@ -24353,12 +25677,12 @@ def __init__( query: Optional[object] = None, **kwargs ): - super(MySQLSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(MySqlSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'MySqlSource' # type: str self.query = query -class MySQLTableDataset(Dataset): +class MySqlTableDataset(Dataset): """The MySQL table dataset. All required parameters must be populated in order to send to Azure. @@ -24421,7 +25745,7 @@ def __init__( table_name: Optional[object] = None, **kwargs ): - super(MySQLTableDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + super(MySqlTableDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) self.type = 'MySqlTable' # type: str self.table_name = table_name @@ -24557,7 +25881,7 @@ class NetezzaSource(TabularSource): :type query: object :param partition_option: The partition mechanism that will be used for Netezza read in parallel. Possible values include: "None", "DataSlice", "DynamicRange". - :type partition_option: str or ~data_factory_management_client.models.NetezzaPartitionOption + :type partition_option: object :param partition_settings: The settings that will be leveraged for Netezza source partitioning. :type partition_settings: ~data_factory_management_client.models.NetezzaPartitionSettings """ @@ -24575,7 +25899,7 @@ class NetezzaSource(TabularSource): 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, - 'partition_option': {'key': 'partitionOption', 'type': 'str'}, + 'partition_option': {'key': 'partitionOption', 'type': 'object'}, 'partition_settings': {'key': 'partitionSettings', 'type': 'NetezzaPartitionSettings'}, } @@ -24589,7 +25913,7 @@ def __init__( query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, query: Optional[object] = None, - partition_option: Optional[Union[str, "NetezzaPartitionOption"]] = None, + partition_option: Optional[object] = None, partition_settings: Optional["NetezzaPartitionSettings"] = None, **kwargs ): @@ -24712,6 +26036,9 @@ class ODataLinkedService(LinkedService): :type user_name: object :param password: Password of the OData service. :type password: ~data_factory_management_client.models.SecretBase + :param auth_headers: The additional HTTP headers in the request to RESTful API used for + authorization. Type: object (or Expression with resultType object). + :type auth_headers: object :param tenant: Specify the tenant information (domain name or tenant ID) under which your application resides. Type: string (or Expression with resultType string). :type tenant: object @@ -24728,7 +26055,7 @@ class ODataLinkedService(LinkedService): :param aad_service_principal_credential_type: Specify the credential type (key or cert) is used for service principal. Possible values include: "ServicePrincipalKey", "ServicePrincipalCert". :type aad_service_principal_credential_type: str or - ~data_factory_management_client.models.ODataAADServicePrincipalCredentialType + ~data_factory_management_client.models.ODataAadServicePrincipalCredentialType :param service_principal_key: Specify the secret of your application registered in Azure Active Directory. Type: string (or Expression with resultType string). :type service_principal_key: ~data_factory_management_client.models.SecretBase @@ -24763,6 +26090,7 @@ class ODataLinkedService(LinkedService): 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, 'user_name': {'key': 'typeProperties.userName', 'type': 'object'}, 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'auth_headers': {'key': 'typeProperties.authHeaders', 'type': 'object'}, 'tenant': {'key': 'typeProperties.tenant', 'type': 'object'}, 'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'}, 'azure_cloud_type': {'key': 'typeProperties.azureCloudType', 'type': 'object'}, @@ -24786,11 +26114,12 @@ def __init__( authentication_type: Optional[Union[str, "ODataAuthenticationType"]] = None, user_name: Optional[object] = None, password: Optional["SecretBase"] = None, + auth_headers: Optional[object] = None, tenant: Optional[object] = None, service_principal_id: Optional[object] = None, azure_cloud_type: Optional[object] = None, aad_resource_id: Optional[object] = None, - aad_service_principal_credential_type: Optional[Union[str, "ODataAADServicePrincipalCredentialType"]] = None, + aad_service_principal_credential_type: Optional[Union[str, "ODataAadServicePrincipalCredentialType"]] = None, service_principal_key: Optional["SecretBase"] = None, service_principal_embedded_cert: Optional["SecretBase"] = None, service_principal_embedded_cert_password: Optional["SecretBase"] = None, @@ -24803,6 +26132,7 @@ def __init__( self.authentication_type = authentication_type self.user_name = user_name self.password = password + self.auth_headers = auth_headers self.tenant = tenant self.service_principal_id = service_principal_id self.azure_cloud_type = azure_cloud_type @@ -25745,6 +27075,229 @@ def __init__( self.metric_specifications = metric_specifications +class OracleCloudStorageLinkedService(LinkedService): + """Linked service for Oracle Cloud Storage. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of linked service.Constant filled by server. + :type type: str + :param connect_via: The integration runtime reference. + :type connect_via: ~data_factory_management_client.models.IntegrationRuntimeReference + :param description: Linked service description. + :type description: str + :param parameters: Parameters for linked service. + :type parameters: dict[str, ~data_factory_management_client.models.ParameterSpecification] + :param annotations: List of tags that can be used for describing the linked service. + :type annotations: list[object] + :param access_key_id: The access key identifier of the Oracle Cloud Storage Identity and Access + Management (IAM) user. Type: string (or Expression with resultType string). + :type access_key_id: object + :param secret_access_key: The secret access key of the Oracle Cloud Storage Identity and Access + Management (IAM) user. + :type secret_access_key: ~data_factory_management_client.models.SecretBase + :param service_url: This value specifies the endpoint to access with the Oracle Cloud Storage + Connector. This is an optional property; change it only if you want to try a different service + endpoint or want to switch between https and http. Type: string (or Expression with resultType + string). + :type service_url: object + :param encrypted_credential: The encrypted credential used for authentication. Credentials are + encrypted using the integration runtime credential manager. Type: string (or Expression with + resultType string). + :type encrypted_credential: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'connect_via': {'key': 'connectVia', 'type': 'IntegrationRuntimeReference'}, + 'description': {'key': 'description', 'type': 'str'}, + 'parameters': {'key': 'parameters', 'type': '{ParameterSpecification}'}, + 'annotations': {'key': 'annotations', 'type': '[object]'}, + 'access_key_id': {'key': 'typeProperties.accessKeyId', 'type': 'object'}, + 'secret_access_key': {'key': 'typeProperties.secretAccessKey', 'type': 'SecretBase'}, + 'service_url': {'key': 'typeProperties.serviceUrl', 'type': 'object'}, + 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + connect_via: Optional["IntegrationRuntimeReference"] = None, + description: Optional[str] = None, + parameters: Optional[Dict[str, "ParameterSpecification"]] = None, + annotations: Optional[List[object]] = None, + access_key_id: Optional[object] = None, + secret_access_key: Optional["SecretBase"] = None, + service_url: Optional[object] = None, + encrypted_credential: Optional[object] = None, + **kwargs + ): + super(OracleCloudStorageLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + self.type = 'OracleCloudStorage' # type: str + self.access_key_id = access_key_id + self.secret_access_key = secret_access_key + self.service_url = service_url + self.encrypted_credential = encrypted_credential + + +class OracleCloudStorageLocation(DatasetLocation): + """The location of Oracle Cloud Storage dataset. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. Type of dataset storage location.Constant filled by server. + :type type: str + :param folder_path: Specify the folder path of dataset. Type: string (or Expression with + resultType string). + :type folder_path: object + :param file_name: Specify the file name of dataset. Type: string (or Expression with resultType + string). + :type file_name: object + :param bucket_name: Specify the bucketName of Oracle Cloud Storage. Type: string (or Expression + with resultType string). + :type bucket_name: object + :param version: Specify the version of Oracle Cloud Storage. Type: string (or Expression with + resultType string). + :type version: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'folder_path': {'key': 'folderPath', 'type': 'object'}, + 'file_name': {'key': 'fileName', 'type': 'object'}, + 'bucket_name': {'key': 'bucketName', 'type': 'object'}, + 'version': {'key': 'version', 'type': 'object'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + folder_path: Optional[object] = None, + file_name: Optional[object] = None, + bucket_name: Optional[object] = None, + version: Optional[object] = None, + **kwargs + ): + super(OracleCloudStorageLocation, self).__init__(additional_properties=additional_properties, folder_path=folder_path, file_name=file_name, **kwargs) + self.type = 'OracleCloudStorageLocation' # type: str + self.bucket_name = bucket_name + self.version = version + + +class OracleCloudStorageReadSettings(StoreReadSettings): + """Oracle Cloud Storage read settings. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. The read setting type.Constant filled by server. + :type type: str + :param max_concurrent_connections: The maximum concurrent connection count for the source data + store. Type: integer (or Expression with resultType integer). + :type max_concurrent_connections: object + :param recursive: If true, files under the folder path will be read recursively. Default is + true. Type: boolean (or Expression with resultType boolean). + :type recursive: object + :param wildcard_folder_path: Oracle Cloud Storage wildcardFolderPath. Type: string (or + Expression with resultType string). + :type wildcard_folder_path: object + :param wildcard_file_name: Oracle Cloud Storage wildcardFileName. Type: string (or Expression + with resultType string). + :type wildcard_file_name: object + :param prefix: The prefix filter for the Oracle Cloud Storage object name. Type: string (or + Expression with resultType string). + :type prefix: object + :param file_list_path: Point to a text file that lists each file (relative path to the path + configured in the dataset) that you want to copy. Type: string (or Expression with resultType + string). + :type file_list_path: object + :param enable_partition_discovery: Indicates whether to enable partition discovery. + :type enable_partition_discovery: bool + :param partition_root_path: Specify the root path where partition discovery starts from. Type: + string (or Expression with resultType string). + :type partition_root_path: object + :param delete_files_after_completion: Indicates whether the source files need to be deleted + after copy completion. Default is false. Type: boolean (or Expression with resultType boolean). + :type delete_files_after_completion: object + :param modified_datetime_start: The start of file's modified datetime. Type: string (or + Expression with resultType string). + :type modified_datetime_start: object + :param modified_datetime_end: The end of file's modified datetime. Type: string (or Expression + with resultType string). + :type modified_datetime_end: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, + 'recursive': {'key': 'recursive', 'type': 'object'}, + 'wildcard_folder_path': {'key': 'wildcardFolderPath', 'type': 'object'}, + 'wildcard_file_name': {'key': 'wildcardFileName', 'type': 'object'}, + 'prefix': {'key': 'prefix', 'type': 'object'}, + 'file_list_path': {'key': 'fileListPath', 'type': 'object'}, + 'enable_partition_discovery': {'key': 'enablePartitionDiscovery', 'type': 'bool'}, + 'partition_root_path': {'key': 'partitionRootPath', 'type': 'object'}, + 'delete_files_after_completion': {'key': 'deleteFilesAfterCompletion', 'type': 'object'}, + 'modified_datetime_start': {'key': 'modifiedDatetimeStart', 'type': 'object'}, + 'modified_datetime_end': {'key': 'modifiedDatetimeEnd', 'type': 'object'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + max_concurrent_connections: Optional[object] = None, + recursive: Optional[object] = None, + wildcard_folder_path: Optional[object] = None, + wildcard_file_name: Optional[object] = None, + prefix: Optional[object] = None, + file_list_path: Optional[object] = None, + enable_partition_discovery: Optional[bool] = None, + partition_root_path: Optional[object] = None, + delete_files_after_completion: Optional[object] = None, + modified_datetime_start: Optional[object] = None, + modified_datetime_end: Optional[object] = None, + **kwargs + ): + super(OracleCloudStorageReadSettings, self).__init__(additional_properties=additional_properties, max_concurrent_connections=max_concurrent_connections, **kwargs) + self.type = 'OracleCloudStorageReadSettings' # type: str + self.recursive = recursive + self.wildcard_folder_path = wildcard_folder_path + self.wildcard_file_name = wildcard_file_name + self.prefix = prefix + self.file_list_path = file_list_path + self.enable_partition_discovery = enable_partition_discovery + self.partition_root_path = partition_root_path + self.delete_files_after_completion = delete_files_after_completion + self.modified_datetime_start = modified_datetime_start + self.modified_datetime_end = modified_datetime_end + + class OracleLinkedService(LinkedService): """Oracle database. @@ -26164,7 +27717,7 @@ class OracleSource(CopySource): :type query_timeout: object :param partition_option: The partition mechanism that will be used for Oracle read in parallel. Possible values include: "None", "PhysicalPartitionsOfTable", "DynamicRange". - :type partition_option: str or ~data_factory_management_client.models.OraclePartitionOption + :type partition_option: object :param partition_settings: The settings that will be leveraged for Oracle source partitioning. :type partition_settings: ~data_factory_management_client.models.OraclePartitionSettings :param additional_columns: Specifies the additional columns to be added to source data. Type: @@ -26184,7 +27737,7 @@ class OracleSource(CopySource): 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, 'oracle_reader_query': {'key': 'oracleReaderQuery', 'type': 'object'}, 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, - 'partition_option': {'key': 'partitionOption', 'type': 'str'}, + 'partition_option': {'key': 'partitionOption', 'type': 'object'}, 'partition_settings': {'key': 'partitionSettings', 'type': 'OraclePartitionSettings'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, } @@ -26198,7 +27751,7 @@ def __init__( max_concurrent_connections: Optional[object] = None, oracle_reader_query: Optional[object] = None, query_timeout: Optional[object] = None, - partition_option: Optional[Union[str, "OraclePartitionOption"]] = None, + partition_option: Optional[object] = None, partition_settings: Optional["OraclePartitionSettings"] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, **kwargs @@ -26322,7 +27875,7 @@ class OrcDataset(Dataset): :type folder: ~data_factory_management_client.models.DatasetFolder :param location: The location of the ORC data storage. :type location: ~data_factory_management_client.models.DatasetLocation - :param orc_compression_codec: Possible values include: "none", "zlib", "snappy". + :param orc_compression_codec: Possible values include: "none", "zlib", "snappy", "lzo". :type orc_compression_codec: str or ~data_factory_management_client.models.OrcCompressionCodec """ @@ -26432,6 +27985,8 @@ class OrcSink(CopySink): :type max_concurrent_connections: object :param store_settings: ORC store settings. :type store_settings: ~data_factory_management_client.models.StoreWriteSettings + :param format_settings: ORC format settings. + :type format_settings: ~data_factory_management_client.models.OrcWriteSettings """ _validation = { @@ -26447,6 +28002,7 @@ class OrcSink(CopySink): 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, 'store_settings': {'key': 'storeSettings', 'type': 'StoreWriteSettings'}, + 'format_settings': {'key': 'formatSettings', 'type': 'OrcWriteSettings'}, } def __init__( @@ -26459,11 +28015,13 @@ def __init__( sink_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, store_settings: Optional["StoreWriteSettings"] = None, + format_settings: Optional["OrcWriteSettings"] = None, **kwargs ): super(OrcSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) self.type = 'OrcSink' # type: str self.store_settings = store_settings + self.format_settings = format_settings class OrcSource(CopySource): @@ -26523,6 +28081,50 @@ def __init__( self.additional_columns = additional_columns +class OrcWriteSettings(FormatWriteSettings): + """Orc write settings. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. The write setting type.Constant filled by server. + :type type: str + :param max_rows_per_file: Limit the written file's row count to be smaller than or equal to the + specified count. Type: integer (or Expression with resultType integer). + :type max_rows_per_file: object + :param file_name_prefix: Specifies the file name pattern + :code:``_:code:``.:code:`` when copy from non-file + based store without partitionOptions. Type: string (or Expression with resultType string). + :type file_name_prefix: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'max_rows_per_file': {'key': 'maxRowsPerFile', 'type': 'object'}, + 'file_name_prefix': {'key': 'fileNamePrefix', 'type': 'object'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + max_rows_per_file: Optional[object] = None, + file_name_prefix: Optional[object] = None, + **kwargs + ): + super(OrcWriteSettings, self).__init__(additional_properties=additional_properties, **kwargs) + self.type = 'OrcWriteSettings' # type: str + self.max_rows_per_file = max_rows_per_file + self.file_name_prefix = file_name_prefix + + class PackageStore(msrest.serialization.Model): """Package store for the SSIS integration runtime. @@ -26619,7 +28221,7 @@ class ParquetDataset(Dataset): :param location: The location of the parquet storage. :type location: ~data_factory_management_client.models.DatasetLocation :param compression_codec: Possible values include: "none", "gzip", "snappy", "lzo", "bzip2", - "deflate", "zipDeflate", "lz4". + "deflate", "zipDeflate", "lz4", "tar", "tarGZip". :type compression_codec: str or ~data_factory_management_client.models.CompressionCodec """ @@ -26729,6 +28331,8 @@ class ParquetSink(CopySink): :type max_concurrent_connections: object :param store_settings: Parquet store settings. :type store_settings: ~data_factory_management_client.models.StoreWriteSettings + :param format_settings: Parquet format settings. + :type format_settings: ~data_factory_management_client.models.ParquetWriteSettings """ _validation = { @@ -26744,6 +28348,7 @@ class ParquetSink(CopySink): 'sink_retry_wait': {'key': 'sinkRetryWait', 'type': 'object'}, 'max_concurrent_connections': {'key': 'maxConcurrentConnections', 'type': 'object'}, 'store_settings': {'key': 'storeSettings', 'type': 'StoreWriteSettings'}, + 'format_settings': {'key': 'formatSettings', 'type': 'ParquetWriteSettings'}, } def __init__( @@ -26756,11 +28361,13 @@ def __init__( sink_retry_wait: Optional[object] = None, max_concurrent_connections: Optional[object] = None, store_settings: Optional["StoreWriteSettings"] = None, + format_settings: Optional["ParquetWriteSettings"] = None, **kwargs ): super(ParquetSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) self.type = 'ParquetSink' # type: str self.store_settings = store_settings + self.format_settings = format_settings class ParquetSource(CopySource): @@ -26820,6 +28427,50 @@ def __init__( self.additional_columns = additional_columns +class ParquetWriteSettings(FormatWriteSettings): + """Parquet write settings. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. The write setting type.Constant filled by server. + :type type: str + :param max_rows_per_file: Limit the written file's row count to be smaller than or equal to the + specified count. Type: integer (or Expression with resultType integer). + :type max_rows_per_file: object + :param file_name_prefix: Specifies the file name pattern + :code:``_:code:``.:code:`` when copy from non-file + based store without partitionOptions. Type: string (or Expression with resultType string). + :type file_name_prefix: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'max_rows_per_file': {'key': 'maxRowsPerFile', 'type': 'object'}, + 'file_name_prefix': {'key': 'fileNamePrefix', 'type': 'object'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + max_rows_per_file: Optional[object] = None, + file_name_prefix: Optional[object] = None, + **kwargs + ): + super(ParquetWriteSettings, self).__init__(additional_properties=additional_properties, **kwargs) + self.type = 'ParquetWriteSettings' # type: str + self.max_rows_per_file = max_rows_per_file + self.file_name_prefix = file_name_prefix + + class PaypalLinkedService(LinkedService): """Paypal Service linked service. @@ -27307,6 +28958,48 @@ def __init__( self.query = query +class PipelineElapsedTimeMetricPolicy(msrest.serialization.Model): + """Pipeline ElapsedTime Metric Policy. + + :param duration: TimeSpan value, after which an Azure Monitoring Metric is fired. + :type duration: object + """ + + _attribute_map = { + 'duration': {'key': 'duration', 'type': 'object'}, + } + + def __init__( + self, + *, + duration: Optional[object] = None, + **kwargs + ): + super(PipelineElapsedTimeMetricPolicy, self).__init__(**kwargs) + self.duration = duration + + +class PipelineFolder(msrest.serialization.Model): + """The folder that this Pipeline is in. If not specified, Pipeline will appear at the root level. + + :param name: The name of the folder that this Pipeline is in. + :type name: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + **kwargs + ): + super(PipelineFolder, self).__init__(**kwargs) + self.name = name + + class PipelineListResponse(msrest.serialization.Model): """A list of pipeline resources. @@ -27339,6 +29032,28 @@ def __init__( self.next_link = next_link +class PipelinePolicy(msrest.serialization.Model): + """Pipeline Policy. + + :param elapsed_time_metric: Pipeline ElapsedTime Metric Policy. + :type elapsed_time_metric: + ~data_factory_management_client.models.PipelineElapsedTimeMetricPolicy + """ + + _attribute_map = { + 'elapsed_time_metric': {'key': 'elapsedTimeMetric', 'type': 'PipelineElapsedTimeMetricPolicy'}, + } + + def __init__( + self, + *, + elapsed_time_metric: Optional["PipelineElapsedTimeMetricPolicy"] = None, + **kwargs + ): + super(PipelinePolicy, self).__init__(**kwargs) + self.elapsed_time_metric = elapsed_time_metric + + class PipelineReference(msrest.serialization.Model): """Pipeline reference type. @@ -27409,8 +29124,11 @@ class PipelineResource(SubResource): :type annotations: list[object] :param run_dimensions: Dimensions emitted by Pipeline. :type run_dimensions: dict[str, object] - :param name_folder_name: The name of the folder that this Pipeline is in. - :type name_folder_name: str + :param folder: The folder that this Pipeline is in. If not specified, Pipeline will appear at + the root level. + :type folder: ~data_factory_management_client.models.PipelineFolder + :param policy: Pipeline Policy. + :type policy: ~data_factory_management_client.models.PipelinePolicy """ _validation = { @@ -27434,7 +29152,8 @@ class PipelineResource(SubResource): 'concurrency': {'key': 'properties.concurrency', 'type': 'int'}, 'annotations': {'key': 'properties.annotations', 'type': '[object]'}, 'run_dimensions': {'key': 'properties.runDimensions', 'type': '{object}'}, - 'name_folder_name': {'key': 'folder.name', 'type': 'str'}, + 'folder': {'key': 'properties.folder', 'type': 'PipelineFolder'}, + 'policy': {'key': 'properties.policy', 'type': 'PipelinePolicy'}, } def __init__( @@ -27448,7 +29167,8 @@ def __init__( concurrency: Optional[int] = None, annotations: Optional[List[object]] = None, run_dimensions: Optional[Dict[str, object]] = None, - name_folder_name: Optional[str] = None, + folder: Optional["PipelineFolder"] = None, + policy: Optional["PipelinePolicy"] = None, **kwargs ): super(PipelineResource, self).__init__(**kwargs) @@ -27460,7 +29180,8 @@ def __init__( self.concurrency = concurrency self.annotations = annotations self.run_dimensions = run_dimensions - self.name_folder_name = name_folder_name + self.folder = folder + self.policy = policy class PipelineRun(msrest.serialization.Model): @@ -27671,7 +29392,7 @@ def __init__( self.use_type_default = use_type_default -class PostgreSQLLinkedService(LinkedService): +class PostgreSqlLinkedService(LinkedService): """Linked service for PostgreSQL data source. All required parameters must be populated in order to send to Azure. @@ -27729,14 +29450,14 @@ def __init__( encrypted_credential: Optional[object] = None, **kwargs ): - super(PostgreSQLLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + super(PostgreSqlLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) self.type = 'PostgreSql' # type: str self.connection_string = connection_string self.password = password self.encrypted_credential = encrypted_credential -class PostgreSQLSource(TabularSource): +class PostgreSqlSource(TabularSource): """A copy activity source for PostgreSQL databases. All required parameters must be populated in order to send to Azure. @@ -27792,12 +29513,12 @@ def __init__( query: Optional[object] = None, **kwargs ): - super(PostgreSQLSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(PostgreSqlSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'PostgreSqlSource' # type: str self.query = query -class PostgreSQLTableDataset(Dataset): +class PostgreSqlTableDataset(Dataset): """The PostgreSQL table dataset. All required parameters must be populated in order to send to Azure. @@ -27870,7 +29591,7 @@ def __init__( schema_type_properties_schema: Optional[object] = None, **kwargs ): - super(PostgreSQLTableDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + super(PostgreSqlTableDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) self.type = 'PostgreSqlTable' # type: str self.table_name = table_name self.table = table @@ -28154,6 +29875,279 @@ def __init__( self.query = query +class PrivateEndpointConnectionListResponse(msrest.serialization.Model): + """A list of linked service resources. + + All required parameters must be populated in order to send to Azure. + + :param value: Required. List of Private Endpoint Connections. + :type value: list[~data_factory_management_client.models.PrivateEndpointConnectionResource] + :param next_link: The link to the next page of results, if any remaining results exist. + :type next_link: str + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PrivateEndpointConnectionResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: List["PrivateEndpointConnectionResource"], + next_link: Optional[str] = None, + **kwargs + ): + super(PrivateEndpointConnectionListResponse, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class PrivateEndpointConnectionResource(SubResource): + """Private Endpoint Connection ARM resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource identifier. + :vartype id: str + :ivar name: The resource name. + :vartype name: str + :ivar type: The resource type. + :vartype type: str + :ivar etag: Etag identifies change in the resource. + :vartype etag: str + :param properties: Core resource properties. + :type properties: ~data_factory_management_client.models.RemotePrivateEndpointConnection + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'RemotePrivateEndpointConnection'}, + } + + def __init__( + self, + *, + properties: Optional["RemotePrivateEndpointConnection"] = None, + **kwargs + ): + super(PrivateEndpointConnectionResource, self).__init__(**kwargs) + self.properties = properties + + +class PrivateLinkConnectionApprovalRequest(msrest.serialization.Model): + """A request to approve or reject a private endpoint connection. + + :param private_link_service_connection_state: The state of a private link connection. + :type private_link_service_connection_state: + ~data_factory_management_client.models.PrivateLinkConnectionState + """ + + _attribute_map = { + 'private_link_service_connection_state': {'key': 'privateLinkServiceConnectionState', 'type': 'PrivateLinkConnectionState'}, + } + + def __init__( + self, + *, + private_link_service_connection_state: Optional["PrivateLinkConnectionState"] = None, + **kwargs + ): + super(PrivateLinkConnectionApprovalRequest, self).__init__(**kwargs) + self.private_link_service_connection_state = private_link_service_connection_state + + +class PrivateLinkConnectionApprovalRequestResource(SubResource): + """Private Endpoint Connection Approval ARM resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource identifier. + :vartype id: str + :ivar name: The resource name. + :vartype name: str + :ivar type: The resource type. + :vartype type: str + :ivar etag: Etag identifies change in the resource. + :vartype etag: str + :param properties: Core resource properties. + :type properties: ~data_factory_management_client.models.PrivateLinkConnectionApprovalRequest + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'PrivateLinkConnectionApprovalRequest'}, + } + + def __init__( + self, + *, + properties: Optional["PrivateLinkConnectionApprovalRequest"] = None, + **kwargs + ): + super(PrivateLinkConnectionApprovalRequestResource, self).__init__(**kwargs) + self.properties = properties + + +class PrivateLinkConnectionState(msrest.serialization.Model): + """The state of a private link connection. + + :param status: Status of a private link connection. + :type status: str + :param description: Description of a private link connection. + :type description: str + :param actions_required: ActionsRequired for a private link connection. + :type actions_required: str + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'actions_required': {'key': 'actionsRequired', 'type': 'str'}, + } + + def __init__( + self, + *, + status: Optional[str] = None, + description: Optional[str] = None, + actions_required: Optional[str] = None, + **kwargs + ): + super(PrivateLinkConnectionState, self).__init__(**kwargs) + self.status = status + self.description = description + self.actions_required = actions_required + + +class PrivateLinkResource(SubResource): + """A private link resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar id: The resource identifier. + :vartype id: str + :ivar name: The resource name. + :vartype name: str + :ivar type: The resource type. + :vartype type: str + :ivar etag: Etag identifies change in the resource. + :vartype etag: str + :param properties: Core resource properties. + :type properties: ~data_factory_management_client.models.PrivateLinkResourceProperties + """ + + _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'}, + 'properties': {'key': 'properties', 'type': 'PrivateLinkResourceProperties'}, + } + + def __init__( + self, + *, + properties: Optional["PrivateLinkResourceProperties"] = None, + **kwargs + ): + super(PrivateLinkResource, self).__init__(**kwargs) + self.properties = properties + + +class PrivateLinkResourceProperties(msrest.serialization.Model): + """Properties of a private link resource. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar group_id: GroupId of a private link resource. + :vartype group_id: str + :ivar required_members: RequiredMembers of a private link resource. + :vartype required_members: list[str] + :ivar required_zone_names: RequiredZoneNames of a private link resource. + :vartype required_zone_names: list[str] + """ + + _validation = { + 'group_id': {'readonly': True}, + 'required_members': {'readonly': True}, + 'required_zone_names': {'readonly': True}, + } + + _attribute_map = { + 'group_id': {'key': 'groupId', 'type': 'str'}, + 'required_members': {'key': 'requiredMembers', 'type': '[str]'}, + 'required_zone_names': {'key': 'requiredZoneNames', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(PrivateLinkResourceProperties, self).__init__(**kwargs) + self.group_id = None + self.required_members = None + self.required_zone_names = None + + +class PrivateLinkResourcesWrapper(msrest.serialization.Model): + """Wrapper for a collection of private link resources. + + All required parameters must be populated in order to send to Azure. + + :param value: Required. + :type value: list[~data_factory_management_client.models.PrivateLinkResource] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PrivateLinkResource]'}, + } + + def __init__( + self, + *, + value: List["PrivateLinkResource"], + **kwargs + ): + super(PrivateLinkResourcesWrapper, self).__init__(**kwargs) + self.value = value + + class QueryDataFlowDebugSessionsResponse(msrest.serialization.Model): """A list of active debug sessions. @@ -28691,6 +30685,43 @@ def __init__( self.table_name = table_name +class RemotePrivateEndpointConnection(msrest.serialization.Model): + """A remote private endpoint connection. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar provisioning_state: + :vartype provisioning_state: str + :param private_endpoint: PrivateEndpoint of a remote private endpoint connection. + :type private_endpoint: ~data_factory_management_client.models.ArmIdWrapper + :param private_link_service_connection_state: The state of a private link connection. + :type private_link_service_connection_state: + ~data_factory_management_client.models.PrivateLinkConnectionState + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'private_endpoint': {'key': 'privateEndpoint', 'type': 'ArmIdWrapper'}, + 'private_link_service_connection_state': {'key': 'privateLinkServiceConnectionState', 'type': 'PrivateLinkConnectionState'}, + } + + def __init__( + self, + *, + private_endpoint: Optional["ArmIdWrapper"] = None, + private_link_service_connection_state: Optional["PrivateLinkConnectionState"] = None, + **kwargs + ): + super(RemotePrivateEndpointConnection, self).__init__(**kwargs) + self.provisioning_state = None + self.private_endpoint = private_endpoint + self.private_link_service_connection_state = private_link_service_connection_state + + class RerunTumblingWindowTrigger(Trigger): """Trigger that schedules pipeline reruns for all fixed time interval windows from a requested start time to requested end time. @@ -29113,6 +31144,9 @@ class RestServiceLinkedService(LinkedService): :type user_name: object :param password: The password used in Basic authentication type. :type password: ~data_factory_management_client.models.SecretBase + :param auth_headers: The additional HTTP headers in the request to RESTful API used for + authorization. Type: object (or Expression with resultType object). + :type auth_headers: object :param service_principal_id: The application's client ID used in AadServicePrincipal authentication type. :type service_principal_id: object @@ -29152,6 +31186,7 @@ class RestServiceLinkedService(LinkedService): 'authentication_type': {'key': 'typeProperties.authenticationType', 'type': 'str'}, 'user_name': {'key': 'typeProperties.userName', 'type': 'object'}, 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, + 'auth_headers': {'key': 'typeProperties.authHeaders', 'type': 'object'}, 'service_principal_id': {'key': 'typeProperties.servicePrincipalId', 'type': 'object'}, 'service_principal_key': {'key': 'typeProperties.servicePrincipalKey', 'type': 'SecretBase'}, 'tenant': {'key': 'typeProperties.tenant', 'type': 'object'}, @@ -29173,6 +31208,7 @@ def __init__( enable_server_certificate_validation: Optional[object] = None, user_name: Optional[object] = None, password: Optional["SecretBase"] = None, + auth_headers: Optional[object] = None, service_principal_id: Optional[object] = None, service_principal_key: Optional["SecretBase"] = None, tenant: Optional[object] = None, @@ -29188,6 +31224,7 @@ def __init__( self.authentication_type = authentication_type self.user_name = user_name self.password = password + self.auth_headers = auth_headers self.service_principal_id = service_principal_id self.service_principal_key = service_principal_key self.tenant = tenant @@ -29234,13 +31271,9 @@ class RestSink(CopySink): :type http_request_timeout: object :param request_interval: The time to await before sending next request, in milliseconds. :type request_interval: object - :param compression_type: Compression Type to Send data in compressed format with Optimal - Compression Level, Default is None. And The Only Supported option is Gzip. - :type compression_type: object - :param wrap_request_json_in_an_object: Wraps Request Array Json into an Object before calling - the rest endpoint , Default is false. ex: if true request content sample format is { rows:[]} - else the format is []. - :type wrap_request_json_in_an_object: object + :param http_compression_type: Http Compression Type to Send data in compressed format with + Optimal Compression Level, Default is None. And The Only Supported option is Gzip. + :type http_compression_type: object """ _validation = { @@ -29259,8 +31292,7 @@ class RestSink(CopySink): 'additional_headers': {'key': 'additionalHeaders', 'type': 'object'}, 'http_request_timeout': {'key': 'httpRequestTimeout', 'type': 'object'}, 'request_interval': {'key': 'requestInterval', 'type': 'object'}, - 'compression_type': {'key': 'compressionType', 'type': 'object'}, - 'wrap_request_json_in_an_object': {'key': 'wrapRequestJsonInAnObject', 'type': 'object'}, + 'http_compression_type': {'key': 'httpCompressionType', 'type': 'object'}, } def __init__( @@ -29276,8 +31308,7 @@ def __init__( additional_headers: Optional[object] = None, http_request_timeout: Optional[object] = None, request_interval: Optional[object] = None, - compression_type: Optional[object] = None, - wrap_request_json_in_an_object: Optional[object] = None, + http_compression_type: Optional[object] = None, **kwargs ): super(RestSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) @@ -29286,8 +31317,7 @@ def __init__( self.additional_headers = additional_headers self.http_request_timeout = http_request_timeout self.request_interval = request_interval - self.compression_type = compression_type - self.wrap_request_json_in_an_object = wrap_request_json_in_an_object + self.http_compression_type = http_compression_type class RestSource(CopySource): @@ -31209,7 +33239,7 @@ class SapHanaSource(TabularSource): :type packet_size: object :param partition_option: The partition mechanism that will be used for SAP HANA read in parallel. Possible values include: "None", "PhysicalPartitionsOfTable", "SapHanaDynamicRange". - :type partition_option: str or ~data_factory_management_client.models.SapHanaPartitionOption + :type partition_option: object :param partition_settings: The settings that will be leveraged for SAP HANA source partitioning. :type partition_settings: ~data_factory_management_client.models.SapHanaPartitionSettings @@ -31229,7 +33259,7 @@ class SapHanaSource(TabularSource): 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, 'packet_size': {'key': 'packetSize', 'type': 'object'}, - 'partition_option': {'key': 'partitionOption', 'type': 'str'}, + 'partition_option': {'key': 'partitionOption', 'type': 'object'}, 'partition_settings': {'key': 'partitionSettings', 'type': 'SapHanaPartitionSettings'}, } @@ -31244,7 +33274,7 @@ def __init__( additional_columns: Optional[List["AdditionalColumns"]] = None, query: Optional[object] = None, packet_size: Optional[object] = None, - partition_option: Optional[Union[str, "SapHanaPartitionOption"]] = None, + partition_option: Optional[object] = None, partition_settings: Optional["SapHanaPartitionSettings"] = None, **kwargs ): @@ -31918,7 +33948,7 @@ class SapTableSource(TabularSource): :param partition_option: The partition mechanism that will be used for SAP table read in parallel. Possible values include: "None", "PartitionOnInt", "PartitionOnCalendarYear", "PartitionOnCalendarMonth", "PartitionOnCalendarDate", "PartitionOnTime". - :type partition_option: str or ~data_factory_management_client.models.SapTablePartitionOption + :type partition_option: object :param partition_settings: The settings that will be leveraged for SAP table source partitioning. :type partition_settings: ~data_factory_management_client.models.SapTablePartitionSettings @@ -31943,7 +33973,7 @@ class SapTableSource(TabularSource): 'batch_size': {'key': 'batchSize', 'type': 'object'}, 'custom_rfc_read_table_function_module': {'key': 'customRfcReadTableFunctionModule', 'type': 'object'}, 'sap_data_column_delimiter': {'key': 'sapDataColumnDelimiter', 'type': 'object'}, - 'partition_option': {'key': 'partitionOption', 'type': 'str'}, + 'partition_option': {'key': 'partitionOption', 'type': 'object'}, 'partition_settings': {'key': 'partitionSettings', 'type': 'SapTablePartitionSettings'}, } @@ -31963,7 +33993,7 @@ def __init__( batch_size: Optional[object] = None, custom_rfc_read_table_function_module: Optional[object] = None, sap_data_column_delimiter: Optional[object] = None, - partition_option: Optional[Union[str, "SapTablePartitionOption"]] = None, + partition_option: Optional[object] = None, partition_settings: Optional["SapTablePartitionSettings"] = None, **kwargs ): @@ -32959,7 +34989,7 @@ class SftpServerLinkedService(LinkedService): Default value is 22. Type: integer (or Expression with resultType integer), minimum: 0. :type port: object :param authentication_type: The authentication type to be used to connect to the FTP server. - Possible values include: "Basic", "SshPublicKey". + Possible values include: "Basic", "SshPublicKey", "MultiFactor". :type authentication_type: str or ~data_factory_management_client.models.SftpAuthenticationType :param user_name: The username used to log on to the SFTP server. Type: string (or Expression with resultType string). @@ -34197,7 +36227,49 @@ def __init__( self.query = query -class SQLDWSink(CopySink): +class SqlAlwaysEncryptedProperties(msrest.serialization.Model): + """Sql always encrypted properties. + + All required parameters must be populated in order to send to Azure. + + :param always_encrypted_akv_auth_type: Required. Sql always encrypted AKV authentication type. + Type: string (or Expression with resultType string). Possible values include: + "ServicePrincipal", "ManagedIdentity". + :type always_encrypted_akv_auth_type: str or + ~data_factory_management_client.models.SqlAlwaysEncryptedAkvAuthType + :param service_principal_id: The client ID of the application in Azure Active Directory used + for Azure Key Vault authentication. Type: string (or Expression with resultType string). + :type service_principal_id: object + :param service_principal_key: The key of the service principal used to authenticate against + Azure Key Vault. + :type service_principal_key: ~data_factory_management_client.models.SecretBase + """ + + _validation = { + 'always_encrypted_akv_auth_type': {'required': True}, + } + + _attribute_map = { + 'always_encrypted_akv_auth_type': {'key': 'alwaysEncryptedAkvAuthType', 'type': 'str'}, + 'service_principal_id': {'key': 'servicePrincipalId', 'type': 'object'}, + 'service_principal_key': {'key': 'servicePrincipalKey', 'type': 'SecretBase'}, + } + + def __init__( + self, + *, + always_encrypted_akv_auth_type: Union[str, "SqlAlwaysEncryptedAkvAuthType"], + service_principal_id: Optional[object] = None, + service_principal_key: Optional["SecretBase"] = None, + **kwargs + ): + super(SqlAlwaysEncryptedProperties, self).__init__(**kwargs) + self.always_encrypted_akv_auth_type = always_encrypted_akv_auth_type + self.service_principal_id = service_principal_id + self.service_principal_key = service_principal_key + + +class SqlDwSink(CopySink): """A copy activity SQL Data Warehouse sink. All required parameters must be populated in order to send to Azure. @@ -34235,7 +36307,7 @@ class SQLDWSink(CopySink): :type allow_copy_command: object :param copy_command_settings: Specifies Copy Command related settings when allowCopyCommand is true. - :type copy_command_settings: ~data_factory_management_client.models.DWCopyCommandSettings + :type copy_command_settings: ~data_factory_management_client.models.DwCopyCommandSettings :param table_option: The option to handle sink table, such as autoCreate. For now only 'autoCreate' value is supported. Type: string (or Expression with resultType string). :type table_option: object @@ -34257,7 +36329,7 @@ class SQLDWSink(CopySink): 'allow_poly_base': {'key': 'allowPolyBase', 'type': 'object'}, 'poly_base_settings': {'key': 'polyBaseSettings', 'type': 'PolybaseSettings'}, 'allow_copy_command': {'key': 'allowCopyCommand', 'type': 'object'}, - 'copy_command_settings': {'key': 'copyCommandSettings', 'type': 'DWCopyCommandSettings'}, + 'copy_command_settings': {'key': 'copyCommandSettings', 'type': 'DwCopyCommandSettings'}, 'table_option': {'key': 'tableOption', 'type': 'object'}, } @@ -34274,11 +36346,11 @@ def __init__( allow_poly_base: Optional[object] = None, poly_base_settings: Optional["PolybaseSettings"] = None, allow_copy_command: Optional[object] = None, - copy_command_settings: Optional["DWCopyCommandSettings"] = None, + copy_command_settings: Optional["DwCopyCommandSettings"] = None, table_option: Optional[object] = None, **kwargs ): - super(SQLDWSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(SqlDwSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) self.type = 'SqlDWSink' # type: str self.pre_copy_script = pre_copy_script self.allow_poly_base = allow_poly_base @@ -34288,7 +36360,7 @@ def __init__( self.table_option = table_option -class SQLDWSource(TabularSource): +class SqlDwSource(TabularSource): """A copy activity SQL Data Warehouse source. All required parameters must be populated in order to send to Azure. @@ -34326,9 +36398,9 @@ class SQLDWSource(TabularSource): :type stored_procedure_parameters: object :param partition_option: The partition mechanism that will be used for Sql read in parallel. Possible values include: "None", "PhysicalPartitionsOfTable", "DynamicRange". - :type partition_option: str or ~data_factory_management_client.models.SQLPartitionOption + :type partition_option: object :param partition_settings: The settings that will be leveraged for Sql source partitioning. - :type partition_settings: ~data_factory_management_client.models.SQLPartitionSettings + :type partition_settings: ~data_factory_management_client.models.SqlPartitionSettings """ _validation = { @@ -34346,8 +36418,8 @@ class SQLDWSource(TabularSource): 'sql_reader_query': {'key': 'sqlReaderQuery', 'type': 'object'}, 'sql_reader_stored_procedure_name': {'key': 'sqlReaderStoredProcedureName', 'type': 'object'}, 'stored_procedure_parameters': {'key': 'storedProcedureParameters', 'type': 'object'}, - 'partition_option': {'key': 'partitionOption', 'type': 'str'}, - 'partition_settings': {'key': 'partitionSettings', 'type': 'SQLPartitionSettings'}, + 'partition_option': {'key': 'partitionOption', 'type': 'object'}, + 'partition_settings': {'key': 'partitionSettings', 'type': 'SqlPartitionSettings'}, } def __init__( @@ -34362,11 +36434,11 @@ def __init__( sql_reader_query: Optional[object] = None, sql_reader_stored_procedure_name: Optional[object] = None, stored_procedure_parameters: Optional[object] = None, - partition_option: Optional[Union[str, "SQLPartitionOption"]] = None, - partition_settings: Optional["SQLPartitionSettings"] = None, + partition_option: Optional[object] = None, + partition_settings: Optional["SqlPartitionSettings"] = None, **kwargs ): - super(SQLDWSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(SqlDwSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'SqlDWSource' # type: str self.sql_reader_query = sql_reader_query self.sql_reader_stored_procedure_name = sql_reader_stored_procedure_name @@ -34375,7 +36447,7 @@ def __init__( self.partition_settings = partition_settings -class SQLMiSink(CopySink): +class SqlMiSink(CopySink): """A copy activity Azure SQL Managed Instance sink. All required parameters must be populated in order to send to Azure. @@ -34457,7 +36529,7 @@ def __init__( table_option: Optional[object] = None, **kwargs ): - super(SQLMiSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(SqlMiSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) self.type = 'SqlMISink' # type: str self.sql_writer_stored_procedure_name = sql_writer_stored_procedure_name self.sql_writer_table_type = sql_writer_table_type @@ -34467,7 +36539,7 @@ def __init__( self.table_option = table_option -class SQLMiSource(TabularSource): +class SqlMiSource(TabularSource): """A copy activity Azure SQL Managed Instance source. All required parameters must be populated in order to send to Azure. @@ -34506,9 +36578,9 @@ class SQLMiSource(TabularSource): :type produce_additional_types: object :param partition_option: The partition mechanism that will be used for Sql read in parallel. Possible values include: "None", "PhysicalPartitionsOfTable", "DynamicRange". - :type partition_option: str or ~data_factory_management_client.models.SQLPartitionOption + :type partition_option: object :param partition_settings: The settings that will be leveraged for Sql source partitioning. - :type partition_settings: ~data_factory_management_client.models.SQLPartitionSettings + :type partition_settings: ~data_factory_management_client.models.SqlPartitionSettings """ _validation = { @@ -34527,8 +36599,8 @@ class SQLMiSource(TabularSource): 'sql_reader_stored_procedure_name': {'key': 'sqlReaderStoredProcedureName', 'type': 'object'}, 'stored_procedure_parameters': {'key': 'storedProcedureParameters', 'type': '{StoredProcedureParameter}'}, 'produce_additional_types': {'key': 'produceAdditionalTypes', 'type': 'object'}, - 'partition_option': {'key': 'partitionOption', 'type': 'str'}, - 'partition_settings': {'key': 'partitionSettings', 'type': 'SQLPartitionSettings'}, + 'partition_option': {'key': 'partitionOption', 'type': 'object'}, + 'partition_settings': {'key': 'partitionSettings', 'type': 'SqlPartitionSettings'}, } def __init__( @@ -34544,11 +36616,11 @@ def __init__( sql_reader_stored_procedure_name: Optional[object] = None, stored_procedure_parameters: Optional[Dict[str, "StoredProcedureParameter"]] = None, produce_additional_types: Optional[object] = None, - partition_option: Optional[Union[str, "SQLPartitionOption"]] = None, - partition_settings: Optional["SQLPartitionSettings"] = None, + partition_option: Optional[object] = None, + partition_settings: Optional["SqlPartitionSettings"] = None, **kwargs ): - super(SQLMiSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(SqlMiSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'SqlMISource' # type: str self.sql_reader_query = sql_reader_query self.sql_reader_stored_procedure_name = sql_reader_stored_procedure_name @@ -34558,7 +36630,7 @@ def __init__( self.partition_settings = partition_settings -class SQLPartitionSettings(msrest.serialization.Model): +class SqlPartitionSettings(msrest.serialization.Model): """The settings that will be leveraged for Sql source partitioning. :param partition_column_name: The name of the column in integer or datetime type that will be @@ -34591,13 +36663,13 @@ def __init__( partition_lower_bound: Optional[object] = None, **kwargs ): - super(SQLPartitionSettings, self).__init__(**kwargs) + super(SqlPartitionSettings, self).__init__(**kwargs) self.partition_column_name = partition_column_name self.partition_upper_bound = partition_upper_bound self.partition_lower_bound = partition_lower_bound -class SQLServerLinkedService(LinkedService): +class SqlServerLinkedService(LinkedService): """SQL Server linked service. All required parameters must be populated in order to send to Azure. @@ -34627,6 +36699,9 @@ class SQLServerLinkedService(LinkedService): encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). :type encrypted_credential: object + :param always_encrypted_settings: Sql always encrypted properties. + :type always_encrypted_settings: + ~data_factory_management_client.models.SqlAlwaysEncryptedProperties """ _validation = { @@ -34645,6 +36720,7 @@ class SQLServerLinkedService(LinkedService): 'user_name': {'key': 'typeProperties.userName', 'type': 'object'}, 'password': {'key': 'typeProperties.password', 'type': 'SecretBase'}, 'encrypted_credential': {'key': 'typeProperties.encryptedCredential', 'type': 'object'}, + 'always_encrypted_settings': {'key': 'typeProperties.alwaysEncryptedSettings', 'type': 'SqlAlwaysEncryptedProperties'}, } def __init__( @@ -34659,17 +36735,19 @@ def __init__( user_name: Optional[object] = None, password: Optional["SecretBase"] = None, encrypted_credential: Optional[object] = None, + always_encrypted_settings: Optional["SqlAlwaysEncryptedProperties"] = None, **kwargs ): - super(SQLServerLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) + super(SqlServerLinkedService, self).__init__(additional_properties=additional_properties, connect_via=connect_via, description=description, parameters=parameters, annotations=annotations, **kwargs) self.type = 'SqlServer' # type: str self.connection_string = connection_string self.user_name = user_name self.password = password self.encrypted_credential = encrypted_credential + self.always_encrypted_settings = always_encrypted_settings -class SQLServerSink(CopySink): +class SqlServerSink(CopySink): """A copy activity SQL server sink. All required parameters must be populated in order to send to Azure. @@ -34751,7 +36829,7 @@ def __init__( table_option: Optional[object] = None, **kwargs ): - super(SQLServerSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(SqlServerSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) self.type = 'SqlServerSink' # type: str self.sql_writer_stored_procedure_name = sql_writer_stored_procedure_name self.sql_writer_table_type = sql_writer_table_type @@ -34761,7 +36839,7 @@ def __init__( self.table_option = table_option -class SQLServerSource(TabularSource): +class SqlServerSource(TabularSource): """A copy activity SQL server source. All required parameters must be populated in order to send to Azure. @@ -34800,9 +36878,9 @@ class SQLServerSource(TabularSource): :type produce_additional_types: object :param partition_option: The partition mechanism that will be used for Sql read in parallel. Possible values include: "None", "PhysicalPartitionsOfTable", "DynamicRange". - :type partition_option: str or ~data_factory_management_client.models.SQLPartitionOption + :type partition_option: object :param partition_settings: The settings that will be leveraged for Sql source partitioning. - :type partition_settings: ~data_factory_management_client.models.SQLPartitionSettings + :type partition_settings: ~data_factory_management_client.models.SqlPartitionSettings """ _validation = { @@ -34821,8 +36899,8 @@ class SQLServerSource(TabularSource): 'sql_reader_stored_procedure_name': {'key': 'sqlReaderStoredProcedureName', 'type': 'object'}, 'stored_procedure_parameters': {'key': 'storedProcedureParameters', 'type': '{StoredProcedureParameter}'}, 'produce_additional_types': {'key': 'produceAdditionalTypes', 'type': 'object'}, - 'partition_option': {'key': 'partitionOption', 'type': 'str'}, - 'partition_settings': {'key': 'partitionSettings', 'type': 'SQLPartitionSettings'}, + 'partition_option': {'key': 'partitionOption', 'type': 'object'}, + 'partition_settings': {'key': 'partitionSettings', 'type': 'SqlPartitionSettings'}, } def __init__( @@ -34838,11 +36916,11 @@ def __init__( sql_reader_stored_procedure_name: Optional[object] = None, stored_procedure_parameters: Optional[Dict[str, "StoredProcedureParameter"]] = None, produce_additional_types: Optional[object] = None, - partition_option: Optional[Union[str, "SQLPartitionOption"]] = None, - partition_settings: Optional["SQLPartitionSettings"] = None, + partition_option: Optional[object] = None, + partition_settings: Optional["SqlPartitionSettings"] = None, **kwargs ): - super(SQLServerSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(SqlServerSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'SqlServerSource' # type: str self.sql_reader_query = sql_reader_query self.sql_reader_stored_procedure_name = sql_reader_stored_procedure_name @@ -34852,7 +36930,7 @@ def __init__( self.partition_settings = partition_settings -class SQLServerStoredProcedureActivity(ExecutionActivity): +class SqlServerStoredProcedureActivity(ExecutionActivity): """SQL stored procedure activity type. All required parameters must be populated in order to send to Azure. @@ -34916,13 +36994,13 @@ def __init__( stored_procedure_parameters: Optional[Dict[str, "StoredProcedureParameter"]] = None, **kwargs ): - super(SQLServerStoredProcedureActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, linked_service_name=linked_service_name, policy=policy, **kwargs) + super(SqlServerStoredProcedureActivity, self).__init__(additional_properties=additional_properties, name=name, description=description, depends_on=depends_on, user_properties=user_properties, linked_service_name=linked_service_name, policy=policy, **kwargs) self.type = 'SqlServerStoredProcedure' # type: str self.stored_procedure_name = stored_procedure_name self.stored_procedure_parameters = stored_procedure_parameters -class SQLServerTableDataset(Dataset): +class SqlServerTableDataset(Dataset): """The on-premises SQL Server dataset. All required parameters must be populated in order to send to Azure. @@ -34996,14 +37074,14 @@ def __init__( table: Optional[object] = None, **kwargs ): - super(SQLServerTableDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) + super(SqlServerTableDataset, self).__init__(additional_properties=additional_properties, description=description, structure=structure, schema=schema, linked_service_name=linked_service_name, parameters=parameters, annotations=annotations, folder=folder, **kwargs) self.type = 'SqlServerTable' # type: str self.table_name = table_name self.schema_type_properties_schema = schema_type_properties_schema self.table = table -class SQLSink(CopySink): +class SqlSink(CopySink): """A copy activity SQL sink. All required parameters must be populated in order to send to Azure. @@ -35085,7 +37163,7 @@ def __init__( table_option: Optional[object] = None, **kwargs ): - super(SQLSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) + super(SqlSink, self).__init__(additional_properties=additional_properties, write_batch_size=write_batch_size, write_batch_timeout=write_batch_timeout, sink_retry_count=sink_retry_count, sink_retry_wait=sink_retry_wait, max_concurrent_connections=max_concurrent_connections, **kwargs) self.type = 'SqlSink' # type: str self.sql_writer_stored_procedure_name = sql_writer_stored_procedure_name self.sql_writer_table_type = sql_writer_table_type @@ -35095,7 +37173,7 @@ def __init__( self.table_option = table_option -class SQLSource(TabularSource): +class SqlSource(TabularSource): """A copy activity SQL source. All required parameters must be populated in order to send to Azure. @@ -35136,9 +37214,9 @@ class SQLSource(TabularSource): :type isolation_level: object :param partition_option: The partition mechanism that will be used for Sql read in parallel. Possible values include: "None", "PhysicalPartitionsOfTable", "DynamicRange". - :type partition_option: str or ~data_factory_management_client.models.SQLPartitionOption + :type partition_option: object :param partition_settings: The settings that will be leveraged for Sql source partitioning. - :type partition_settings: ~data_factory_management_client.models.SQLPartitionSettings + :type partition_settings: ~data_factory_management_client.models.SqlPartitionSettings """ _validation = { @@ -35157,8 +37235,8 @@ class SQLSource(TabularSource): 'sql_reader_stored_procedure_name': {'key': 'sqlReaderStoredProcedureName', 'type': 'object'}, 'stored_procedure_parameters': {'key': 'storedProcedureParameters', 'type': '{StoredProcedureParameter}'}, 'isolation_level': {'key': 'isolationLevel', 'type': 'object'}, - 'partition_option': {'key': 'partitionOption', 'type': 'str'}, - 'partition_settings': {'key': 'partitionSettings', 'type': 'SQLPartitionSettings'}, + 'partition_option': {'key': 'partitionOption', 'type': 'object'}, + 'partition_settings': {'key': 'partitionSettings', 'type': 'SqlPartitionSettings'}, } def __init__( @@ -35174,11 +37252,11 @@ def __init__( sql_reader_stored_procedure_name: Optional[object] = None, stored_procedure_parameters: Optional[Dict[str, "StoredProcedureParameter"]] = None, isolation_level: Optional[object] = None, - partition_option: Optional[Union[str, "SQLPartitionOption"]] = None, - partition_settings: Optional["SQLPartitionSettings"] = None, + partition_option: Optional[object] = None, + partition_settings: Optional["SqlPartitionSettings"] = None, **kwargs ): - super(SQLSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) + super(SqlSource, self).__init__(additional_properties=additional_properties, source_retry_count=source_retry_count, source_retry_wait=source_retry_wait, max_concurrent_connections=max_concurrent_connections, query_timeout=query_timeout, additional_columns=additional_columns, **kwargs) self.type = 'SqlSource' # type: str self.sql_reader_query = sql_reader_query self.sql_reader_stored_procedure_name = sql_reader_stored_procedure_name @@ -36665,6 +38743,80 @@ def __init__( self.type_conversion_settings = type_conversion_settings +class TarGZipReadSettings(CompressionReadSettings): + """The TarGZip compression read settings. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. The Compression setting type.Constant filled by server. + :type type: str + :param preserve_compression_file_name_as_folder: Preserve the compression file name as folder + path. Type: boolean (or Expression with resultType boolean). + :type preserve_compression_file_name_as_folder: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'preserve_compression_file_name_as_folder': {'key': 'preserveCompressionFileNameAsFolder', 'type': 'object'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + preserve_compression_file_name_as_folder: Optional[object] = None, + **kwargs + ): + super(TarGZipReadSettings, self).__init__(additional_properties=additional_properties, **kwargs) + self.type = 'TarGZipReadSettings' # type: str + self.preserve_compression_file_name_as_folder = preserve_compression_file_name_as_folder + + +class TarReadSettings(CompressionReadSettings): + """The Tar compression read settings. + + All required parameters must be populated in order to send to Azure. + + :param additional_properties: Unmatched properties from the message are deserialized to this + collection. + :type additional_properties: dict[str, object] + :param type: Required. The Compression setting type.Constant filled by server. + :type type: str + :param preserve_compression_file_name_as_folder: Preserve the compression file name as folder + path. Type: boolean (or Expression with resultType boolean). + :type preserve_compression_file_name_as_folder: object + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{object}'}, + 'type': {'key': 'type', 'type': 'str'}, + 'preserve_compression_file_name_as_folder': {'key': 'preserveCompressionFileNameAsFolder', 'type': 'object'}, + } + + def __init__( + self, + *, + additional_properties: Optional[Dict[str, object]] = None, + preserve_compression_file_name_as_folder: Optional[object] = None, + **kwargs + ): + super(TarReadSettings, self).__init__(additional_properties=additional_properties, **kwargs) + self.type = 'TarReadSettings' # type: str + self.preserve_compression_file_name_as_folder = preserve_compression_file_name_as_folder + + class TeradataLinkedService(LinkedService): """Linked service for Teradata data source. @@ -36813,7 +38965,7 @@ class TeradataSource(TabularSource): :type query: object :param partition_option: The partition mechanism that will be used for teradata read in parallel. Possible values include: "None", "Hash", "DynamicRange". - :type partition_option: str or ~data_factory_management_client.models.TeradataPartitionOption + :type partition_option: object :param partition_settings: The settings that will be leveraged for teradata source partitioning. :type partition_settings: ~data_factory_management_client.models.TeradataPartitionSettings @@ -36832,7 +38984,7 @@ class TeradataSource(TabularSource): 'query_timeout': {'key': 'queryTimeout', 'type': 'object'}, 'additional_columns': {'key': 'additionalColumns', 'type': '[AdditionalColumns]'}, 'query': {'key': 'query', 'type': 'object'}, - 'partition_option': {'key': 'partitionOption', 'type': 'str'}, + 'partition_option': {'key': 'partitionOption', 'type': 'object'}, 'partition_settings': {'key': 'partitionSettings', 'type': 'TeradataPartitionSettings'}, } @@ -36846,7 +38998,7 @@ def __init__( query_timeout: Optional[object] = None, additional_columns: Optional[List["AdditionalColumns"]] = None, query: Optional[object] = None, - partition_option: Optional[Union[str, "TeradataPartitionOption"]] = None, + partition_option: Optional[object] = None, partition_settings: Optional["TeradataPartitionSettings"] = None, **kwargs ): @@ -37427,7 +39579,7 @@ class TumblingWindowTrigger(Trigger): trigger window that is ready. :type pipeline: ~data_factory_management_client.models.TriggerPipelineReference :param frequency: Required. The frequency of the time windows. Possible values include: - "Minute", "Hour". + "Minute", "Hour", "Month". :type frequency: str or ~data_factory_management_client.models.TumblingWindowFrequency :param interval: Required. The interval of the time windows. The minimum interval allowed is 15 Minutes. @@ -38293,17 +40445,24 @@ class WebActivityAuthentication(msrest.serialization.Model): All required parameters must be populated in order to send to Azure. - :param type: Required. Web activity authentication (Basic/ClientCertificate/MSI). + :param type: Required. Web activity authentication + (Basic/ClientCertificate/MSI/ServicePrincipal). :type type: str - :param pfx: Base64-encoded contents of a PFX file. + :param pfx: Base64-encoded contents of a PFX file or Certificate when used for + ServicePrincipal. :type pfx: ~data_factory_management_client.models.SecretBase - :param username: Web activity authentication user name for basic authentication. - :type username: str - :param password: Password for the PFX file or basic authentication. + :param username: Web activity authentication user name for basic authentication or ClientID + when used for ServicePrincipal. Type: string (or Expression with resultType string). + :type username: object + :param password: Password for the PFX file or basic authentication / Secret when used for + ServicePrincipal. :type password: ~data_factory_management_client.models.SecretBase :param resource: Resource for which Azure Auth token will be requested when using MSI - Authentication. - :type resource: str + Authentication. Type: string (or Expression with resultType string). + :type resource: object + :param user_tenant: TenantId for which Azure Auth token will be requested when using + ServicePrincipal Authentication. Type: string (or Expression with resultType string). + :type user_tenant: object """ _validation = { @@ -38313,9 +40472,10 @@ class WebActivityAuthentication(msrest.serialization.Model): _attribute_map = { 'type': {'key': 'type', 'type': 'str'}, 'pfx': {'key': 'pfx', 'type': 'SecretBase'}, - 'username': {'key': 'username', 'type': 'str'}, + 'username': {'key': 'username', 'type': 'object'}, 'password': {'key': 'password', 'type': 'SecretBase'}, - 'resource': {'key': 'resource', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'object'}, + 'user_tenant': {'key': 'userTenant', 'type': 'object'}, } def __init__( @@ -38323,9 +40483,10 @@ def __init__( *, type: str, pfx: Optional["SecretBase"] = None, - username: Optional[str] = None, + username: Optional[object] = None, password: Optional["SecretBase"] = None, - resource: Optional[str] = None, + resource: Optional[object] = None, + user_tenant: Optional[object] = None, **kwargs ): super(WebActivityAuthentication, self).__init__(**kwargs) @@ -38334,6 +40495,7 @@ def __init__( self.username = username self.password = password self.resource = resource + self.user_tenant = user_tenant class WebLinkedServiceTypeProperties(msrest.serialization.Model): diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/__init__.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/__init__.py index 3f6a32ff284..c1da8c996a3 100644 --- a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/__init__.py +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/__init__.py @@ -6,40 +6,46 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from ._operation_operations import OperationOperations -from ._factory_operations import FactoryOperations +from ._operations import Operations +from ._factories_operations import FactoriesOperations from ._exposure_control_operations import ExposureControlOperations -from ._integration_runtime_operations import IntegrationRuntimeOperations +from ._integration_runtimes_operations import IntegrationRuntimesOperations from ._integration_runtime_object_metadata_operations import IntegrationRuntimeObjectMetadataOperations -from ._integration_runtime_node_operations import IntegrationRuntimeNodeOperations -from ._linked_service_operations import LinkedServiceOperations -from ._dataset_operations import DatasetOperations -from ._pipeline_operations import PipelineOperations -from ._pipeline_run_operations import PipelineRunOperations -from ._activity_run_operations import ActivityRunOperations -from ._trigger_operations import TriggerOperations -from ._trigger_run_operations import TriggerRunOperations -from ._data_flow_operations import DataFlowOperations +from ._integration_runtime_nodes_operations import IntegrationRuntimeNodesOperations +from ._linked_services_operations import LinkedServicesOperations +from ._datasets_operations import DatasetsOperations +from ._pipelines_operations import PipelinesOperations +from ._pipeline_runs_operations import PipelineRunsOperations +from ._activity_runs_operations import ActivityRunsOperations +from ._triggers_operations import TriggersOperations +from ._trigger_runs_operations import TriggerRunsOperations +from ._data_flows_operations import DataFlowsOperations from ._data_flow_debug_session_operations import DataFlowDebugSessionOperations -from ._managed_virtual_network_operations import ManagedVirtualNetworkOperations -from ._managed_private_endpoint_operations import ManagedPrivateEndpointOperations +from ._managed_virtual_networks_operations import ManagedVirtualNetworksOperations +from ._managed_private_endpoints_operations import ManagedPrivateEndpointsOperations +from ._private_end_point_connections_operations import PrivateEndPointConnectionsOperations +from ._private_endpoint_connection_operations import PrivateEndpointConnectionOperations +from ._private_link_resources_operations import PrivateLinkResourcesOperations __all__ = [ - 'OperationOperations', - 'FactoryOperations', + 'Operations', + 'FactoriesOperations', 'ExposureControlOperations', - 'IntegrationRuntimeOperations', + 'IntegrationRuntimesOperations', 'IntegrationRuntimeObjectMetadataOperations', - 'IntegrationRuntimeNodeOperations', - 'LinkedServiceOperations', - 'DatasetOperations', - 'PipelineOperations', - 'PipelineRunOperations', - 'ActivityRunOperations', - 'TriggerOperations', - 'TriggerRunOperations', - 'DataFlowOperations', + 'IntegrationRuntimeNodesOperations', + 'LinkedServicesOperations', + 'DatasetsOperations', + 'PipelinesOperations', + 'PipelineRunsOperations', + 'ActivityRunsOperations', + 'TriggersOperations', + 'TriggerRunsOperations', + 'DataFlowsOperations', 'DataFlowDebugSessionOperations', - 'ManagedVirtualNetworkOperations', - 'ManagedPrivateEndpointOperations', + 'ManagedVirtualNetworksOperations', + 'ManagedPrivateEndpointsOperations', + 'PrivateEndPointConnectionsOperations', + 'PrivateEndpointConnectionOperations', + 'PrivateLinkResourcesOperations', ] diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_activity_runs_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_activity_runs_operations.py new file mode 100644 index 00000000000..f51ff306dc7 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_activity_runs_operations.py @@ -0,0 +1,116 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class ActivityRunsOperations(object): + """ActivityRunsOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_factory_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def query_by_pipeline_run( + self, + resource_group_name, # type: str + factory_name, # type: str + run_id, # type: str + filter_parameters, # type: "models.RunFilterParameters" + **kwargs # type: Any + ): + # type: (...) -> "models.ActivityRunsQueryResponse" + """Query activity runs based on input filter conditions. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param run_id: The pipeline run identifier. + :type run_id: str + :param filter_parameters: Parameters to filter the activity runs. + :type filter_parameters: ~data_factory_management_client.models.RunFilterParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ActivityRunsQueryResponse, or the result of cls(response) + :rtype: ~data_factory_management_client.models.ActivityRunsQueryResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ActivityRunsQueryResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.query_by_pipeline_run.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'runId': self._serialize.url("run_id", run_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(filter_parameters, 'RunFilterParameters') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ActivityRunsQueryResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + query_by_pipeline_run.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelineruns/{runId}/queryActivityruns'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_data_flow_debug_session_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_data_flow_debug_session_operations.py index 446c117302f..976a9653c6e 100644 --- a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_data_flow_debug_session_operations.py +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_data_flow_debug_session_operations.py @@ -8,7 +8,7 @@ from typing import TYPE_CHECKING import warnings -from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpRequest, HttpResponse @@ -20,7 +20,7 @@ if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, Iterable, List, Optional, TypeVar, Union + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] @@ -51,21 +51,18 @@ def _create_initial( self, resource_group_name, # type: str factory_name, # type: str - compute_type=None, # type: Optional[str] - core_count=None, # type: Optional[int] - time_to_live=None, # type: Optional[int] - name=None, # type: Optional[str] - properties=None, # type: Optional["models.IntegrationRuntime"] + request, # type: "models.CreateDataFlowDebugSessionRequest" **kwargs # type: Any ): # type: (...) -> Optional["models.CreateDataFlowDebugSessionResponse"] cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.CreateDataFlowDebugSessionResponse"]] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - - request = models.CreateDataFlowDebugSessionRequest(compute_type=compute_type, core_count=core_count, time_to_live=time_to_live, name=name, properties=properties) api_version = "2018-06-01" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL url = self._create_initial.metadata['url'] # type: ignore @@ -83,13 +80,12 @@ def _create_initial( # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') body_content_kwargs = {} # type: Dict[str, Any] body_content = self._serialize.body(request, 'CreateDataFlowDebugSessionRequest') body_content_kwargs['content'] = body_content request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -115,11 +111,7 @@ def begin_create( self, resource_group_name, # type: str factory_name, # type: str - compute_type=None, # type: Optional[str] - core_count=None, # type: Optional[int] - time_to_live=None, # type: Optional[int] - name=None, # type: Optional[str] - properties=None, # type: Optional["models.IntegrationRuntime"] + request, # type: "models.CreateDataFlowDebugSessionRequest" **kwargs # type: Any ): # type: (...) -> LROPoller["models.CreateDataFlowDebugSessionResponse"] @@ -129,18 +121,8 @@ def begin_create( :type resource_group_name: str :param factory_name: The factory name. :type factory_name: str - :param compute_type: Compute type of the cluster. The value will be overwritten by the same - setting in integration runtime if provided. - :type compute_type: str - :param core_count: Core count of the cluster. The value will be overwritten by the same setting - in integration runtime if provided. - :type core_count: int - :param time_to_live: Time to live setting of the cluster in minutes. - :type time_to_live: int - :param name: The resource name. - :type name: str - :param properties: Integration runtime properties. - :type properties: ~data_factory_management_client.models.IntegrationRuntime + :param request: Data flow debug session definition. + :type request: ~data_factory_management_client.models.CreateDataFlowDebugSessionRequest :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. :keyword polling: True for ARMPolling, False for no polling, or a @@ -162,11 +144,7 @@ def begin_create( raw_result = self._create_initial( resource_group_name=resource_group_name, factory_name=factory_name, - compute_type=compute_type, - core_count=core_count, - time_to_live=time_to_live, - name=name, - properties=properties, + request=request, cls=lambda x,y,z: x, **kwargs ) @@ -181,7 +159,13 @@ def get_long_running_output(pipeline_response): return cls(pipeline_response, deserialized, {}) return deserialized - if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -214,14 +198,17 @@ def query_by_factory( :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.QueryDataFlowDebugSessionsResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) api_version = "2018-06-01" + accept = "application/json" def prepare_request(next_link=None): # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') if not next_link: # Construct URL @@ -271,16 +258,7 @@ def add_data_flow( self, resource_group_name, # type: str factory_name, # type: str - session_id=None, # type: Optional[str] - datasets=None, # type: Optional[List["models.DatasetDebugResource"]] - linked_services=None, # type: Optional[List["models.LinkedServiceDebugResource"]] - source_settings=None, # type: Optional[List["models.DataFlowSourceSetting"]] - parameters=None, # type: Optional[Dict[str, object]] - dataset_parameters=None, # type: Optional[object] - folder_path=None, # type: Optional[object] - reference_name=None, # type: Optional[str] - name=None, # type: Optional[str] - properties=None, # type: Optional["models.DataFlow"] + request, # type: "models.DataFlowDebugPackage" **kwargs # type: Any ): # type: (...) -> "models.AddDataFlowToDebugSessionResponse" @@ -290,39 +268,21 @@ def add_data_flow( :type resource_group_name: str :param factory_name: The factory name. :type factory_name: str - :param session_id: The ID of data flow debug session. - :type session_id: str - :param datasets: List of datasets. - :type datasets: list[~data_factory_management_client.models.DatasetDebugResource] - :param linked_services: List of linked services. - :type linked_services: list[~data_factory_management_client.models.LinkedServiceDebugResource] - :param source_settings: Source setting for data flow debug. - :type source_settings: list[~data_factory_management_client.models.DataFlowSourceSetting] - :param parameters: Data flow parameters. - :type parameters: dict[str, object] - :param dataset_parameters: Parameters for dataset. - :type dataset_parameters: object - :param folder_path: Folder path for staging blob. Type: string (or Expression with resultType - string). - :type folder_path: object - :param reference_name: Reference LinkedService name. - :type reference_name: str - :param name: The resource name. - :type name: str - :param properties: Data flow properties. - :type properties: ~data_factory_management_client.models.DataFlow + :param request: Data flow debug session definition with debug content. + :type request: ~data_factory_management_client.models.DataFlowDebugPackage :keyword callable cls: A custom type or function that will be passed the direct response :return: AddDataFlowToDebugSessionResponse, or the result of cls(response) :rtype: ~data_factory_management_client.models.AddDataFlowToDebugSessionResponse :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.AddDataFlowToDebugSessionResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - - request = models.DataFlowDebugPackage(session_id=session_id, datasets=datasets, linked_services=linked_services, source_settings=source_settings, parameters_debug_settings_parameters=parameters, dataset_parameters=dataset_parameters, folder_path=folder_path, reference_name=reference_name, name=name, properties=properties) api_version = "2018-06-01" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL url = self.add_data_flow.metadata['url'] # type: ignore @@ -340,13 +300,12 @@ def add_data_flow( # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') body_content_kwargs = {} # type: Dict[str, Any] body_content = self._serialize.body(request, 'DataFlowDebugPackage') body_content_kwargs['content'] = body_content request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -366,7 +325,7 @@ def delete( self, resource_group_name, # type: str factory_name, # type: str - session_id=None, # type: Optional[str] + request, # type: "models.DeleteDataFlowDebugSessionRequest" **kwargs # type: Any ): # type: (...) -> None @@ -376,20 +335,21 @@ def delete( :type resource_group_name: str :param factory_name: The factory name. :type factory_name: str - :param session_id: The ID of data flow debug session. - :type session_id: str + :param request: Data flow debug session definition for deletion. + :type request: ~data_factory_management_client.models.DeleteDataFlowDebugSessionRequest :keyword callable cls: A custom type or function that will be passed the direct response :return: None, or the result of cls(response) :rtype: None :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType[None] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - - request = models.DeleteDataFlowDebugSessionRequest(session_id=session_id) api_version = "2018-06-01" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL url = self.delete.metadata['url'] # type: ignore @@ -407,12 +367,12 @@ def delete( # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') body_content_kwargs = {} # type: Dict[str, Any] body_content = self._serialize.body(request, 'DeleteDataFlowDebugSessionRequest') body_content_kwargs['content'] = body_content request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -429,19 +389,18 @@ def _execute_command_initial( self, resource_group_name, # type: str factory_name, # type: str - session_id=None, # type: Optional[str] - command=None, # type: Optional[Union[str, "models.DataFlowDebugCommandType"]] - command_payload=None, # type: Optional["models.DataFlowDebugCommandPayload"] + request, # type: "models.DataFlowDebugCommandRequest" **kwargs # type: Any ): # type: (...) -> Optional["models.DataFlowDebugCommandResponse"] cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.DataFlowDebugCommandResponse"]] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - - request = models.DataFlowDebugCommandRequest(session_id=session_id, command=command, command_payload=command_payload) api_version = "2018-06-01" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL url = self._execute_command_initial.metadata['url'] # type: ignore @@ -459,13 +418,12 @@ def _execute_command_initial( # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') body_content_kwargs = {} # type: Dict[str, Any] body_content = self._serialize.body(request, 'DataFlowDebugCommandRequest') body_content_kwargs['content'] = body_content request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -491,9 +449,7 @@ def begin_execute_command( self, resource_group_name, # type: str factory_name, # type: str - session_id=None, # type: Optional[str] - command=None, # type: Optional[Union[str, "models.DataFlowDebugCommandType"]] - command_payload=None, # type: Optional["models.DataFlowDebugCommandPayload"] + request, # type: "models.DataFlowDebugCommandRequest" **kwargs # type: Any ): # type: (...) -> LROPoller["models.DataFlowDebugCommandResponse"] @@ -503,12 +459,8 @@ def begin_execute_command( :type resource_group_name: str :param factory_name: The factory name. :type factory_name: str - :param session_id: The ID of data flow debug session. - :type session_id: str - :param command: The command type. - :type command: str or ~data_factory_management_client.models.DataFlowDebugCommandType - :param command_payload: The command payload object. - :type command_payload: ~data_factory_management_client.models.DataFlowDebugCommandPayload + :param request: Data flow debug command definition. + :type request: ~data_factory_management_client.models.DataFlowDebugCommandRequest :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. :keyword polling: True for ARMPolling, False for no polling, or a @@ -530,9 +482,7 @@ def begin_execute_command( raw_result = self._execute_command_initial( resource_group_name=resource_group_name, factory_name=factory_name, - session_id=session_id, - command=command, - command_payload=command_payload, + request=request, cls=lambda x,y,z: x, **kwargs ) @@ -547,7 +497,13 @@ def get_long_running_output(pipeline_response): return cls(pipeline_response, deserialized, {}) return deserialized - if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_data_flows_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_data_flows_operations.py new file mode 100644 index 00000000000..41292015b17 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_data_flows_operations.py @@ -0,0 +1,327 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class DataFlowsOperations(object): + """DataFlowsOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_factory_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def create_or_update( + self, + resource_group_name, # type: str + factory_name, # type: str + data_flow_name, # type: str + data_flow, # type: "models.DataFlowResource" + if_match=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.DataFlowResource" + """Creates or updates a data flow. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param data_flow_name: The data flow name. + :type data_flow_name: str + :param data_flow: Data flow resource definition. + :type data_flow: ~data_factory_management_client.models.DataFlowResource + :param if_match: ETag of the data flow entity. Should only be specified for update, for which + it should match existing entity or can be * for unconditional update. + :type if_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DataFlowResource, or the result of cls(response) + :rtype: ~data_factory_management_client.models.DataFlowResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DataFlowResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.create_or_update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'dataFlowName': self._serialize.url("data_flow_name", data_flow_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(data_flow, 'DataFlowResource') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('DataFlowResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/dataflows/{dataFlowName}'} # type: ignore + + def get( + self, + resource_group_name, # type: str + factory_name, # type: str + data_flow_name, # type: str + if_none_match=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.DataFlowResource" + """Gets a data flow. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param data_flow_name: The data flow name. + :type data_flow_name: str + :param if_none_match: ETag of the data flow entity. Should only be specified for get. If the + ETag matches the existing entity tag, or if * was provided, then no content will be returned. + :type if_none_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DataFlowResource, or the result of cls(response) + :rtype: ~data_factory_management_client.models.DataFlowResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DataFlowResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'dataFlowName': self._serialize.url("data_flow_name", data_flow_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('DataFlowResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/dataflows/{dataFlowName}'} # type: ignore + + def delete( + self, + resource_group_name, # type: str + factory_name, # type: str + data_flow_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Deletes a data flow. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param data_flow_name: The data flow name. + :type data_flow_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.delete.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'dataFlowName': self._serialize.url("data_flow_name", data_flow_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/dataflows/{dataFlowName}'} # type: ignore + + def list_by_factory( + self, + resource_group_name, # type: str + factory_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.DataFlowListResponse"] + """Lists data flows. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either DataFlowListResponse or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~data_factory_management_client.models.DataFlowListResponse] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DataFlowListResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_factory.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('DataFlowListResponse', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/dataflows'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_datasets_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_datasets_operations.py new file mode 100644 index 00000000000..3ad92c858c9 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_datasets_operations.py @@ -0,0 +1,329 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class DatasetsOperations(object): + """DatasetsOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_factory_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_by_factory( + self, + resource_group_name, # type: str + factory_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.DatasetListResponse"] + """Lists datasets. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either DatasetListResponse or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~data_factory_management_client.models.DatasetListResponse] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DatasetListResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_factory.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('DatasetListResponse', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/datasets'} # type: ignore + + def create_or_update( + self, + resource_group_name, # type: str + factory_name, # type: str + dataset_name, # type: str + dataset, # type: "models.DatasetResource" + if_match=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.DatasetResource" + """Creates or updates a dataset. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param dataset_name: The dataset name. + :type dataset_name: str + :param dataset: Dataset resource definition. + :type dataset: ~data_factory_management_client.models.DatasetResource + :param if_match: ETag of the dataset entity. Should only be specified for update, for which it + should match existing entity or can be * for unconditional update. + :type if_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DatasetResource, or the result of cls(response) + :rtype: ~data_factory_management_client.models.DatasetResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DatasetResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.create_or_update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'datasetName': self._serialize.url("dataset_name", dataset_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(dataset, 'DatasetResource') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('DatasetResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/datasets/{datasetName}'} # type: ignore + + def get( + self, + resource_group_name, # type: str + factory_name, # type: str + dataset_name, # type: str + if_none_match=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> Optional["models.DatasetResource"] + """Gets a dataset. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param dataset_name: The dataset name. + :type dataset_name: str + :param if_none_match: ETag of the dataset entity. Should only be specified for get. If the ETag + matches the existing entity tag, or if * was provided, then no content will be returned. + :type if_none_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DatasetResource, or the result of cls(response) + :rtype: ~data_factory_management_client.models.DatasetResource or None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.DatasetResource"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'datasetName': self._serialize.url("dataset_name", dataset_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 304]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('DatasetResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/datasets/{datasetName}'} # type: ignore + + def delete( + self, + resource_group_name, # type: str + factory_name, # type: str + dataset_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Deletes a dataset. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param dataset_name: The dataset name. + :type dataset_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.delete.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'datasetName': self._serialize.url("dataset_name", dataset_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/datasets/{datasetName}'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_exposure_control_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_exposure_control_operations.py index d2667ffac81..b419a713e9f 100644 --- a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_exposure_control_operations.py +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_exposure_control_operations.py @@ -8,7 +8,7 @@ from typing import TYPE_CHECKING import warnings -from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpRequest, HttpResponse from azure.mgmt.core.exceptions import ARMErrorFormat @@ -17,7 +17,7 @@ if TYPE_CHECKING: # pylint: disable=unused-import,ungrouped-imports - from typing import Any, Callable, Dict, Generic, List, Optional, TypeVar + from typing import Any, Callable, Dict, Generic, Optional, TypeVar T = TypeVar('T') ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] @@ -47,8 +47,7 @@ def __init__(self, client, config, serializer, deserializer): def get_feature_value( self, location_id, # type: str - feature_name=None, # type: Optional[str] - feature_type=None, # type: Optional[str] + exposure_control_request, # type: "models.ExposureControlRequest" **kwargs # type: Any ): # type: (...) -> "models.ExposureControlResponse" @@ -56,22 +55,21 @@ def get_feature_value( :param location_id: The location identifier. :type location_id: str - :param feature_name: The feature name. - :type feature_name: str - :param feature_type: The feature type. - :type feature_type: str + :param exposure_control_request: The exposure control request. + :type exposure_control_request: ~data_factory_management_client.models.ExposureControlRequest :keyword callable cls: A custom type or function that will be passed the direct response :return: ExposureControlResponse, or the result of cls(response) :rtype: ~data_factory_management_client.models.ExposureControlResponse :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ExposureControlResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - - exposure_control_request = models.ExposureControlRequest(feature_name=feature_name, feature_type=feature_type) api_version = "2018-06-01" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL url = self.get_feature_value.metadata['url'] # type: ignore @@ -88,13 +86,12 @@ def get_feature_value( # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') body_content_kwargs = {} # type: Dict[str, Any] body_content = self._serialize.body(exposure_control_request, 'ExposureControlRequest') body_content_kwargs['content'] = body_content request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -114,8 +111,7 @@ def get_feature_value_by_factory( self, resource_group_name, # type: str factory_name, # type: str - feature_name=None, # type: Optional[str] - feature_type=None, # type: Optional[str] + exposure_control_request, # type: "models.ExposureControlRequest" **kwargs # type: Any ): # type: (...) -> "models.ExposureControlResponse" @@ -125,22 +121,21 @@ def get_feature_value_by_factory( :type resource_group_name: str :param factory_name: The factory name. :type factory_name: str - :param feature_name: The feature name. - :type feature_name: str - :param feature_type: The feature type. - :type feature_type: str + :param exposure_control_request: The exposure control request. + :type exposure_control_request: ~data_factory_management_client.models.ExposureControlRequest :keyword callable cls: A custom type or function that will be passed the direct response :return: ExposureControlResponse, or the result of cls(response) :rtype: ~data_factory_management_client.models.ExposureControlResponse :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ExposureControlResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - - exposure_control_request = models.ExposureControlRequest(feature_name=feature_name, feature_type=feature_type) api_version = "2018-06-01" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL url = self.get_feature_value_by_factory.metadata['url'] # type: ignore @@ -158,13 +153,12 @@ def get_feature_value_by_factory( # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') body_content_kwargs = {} # type: Dict[str, Any] body_content = self._serialize.body(exposure_control_request, 'ExposureControlRequest') body_content_kwargs['content'] = body_content request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -180,11 +174,11 @@ def get_feature_value_by_factory( return deserialized get_feature_value_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/getFeatureValue'} # type: ignore - def query_feature_value_by_factory( + def query_feature_values_by_factory( self, resource_group_name, # type: str factory_name, # type: str - exposure_control_requests, # type: List["models.ExposureControlRequest"] + exposure_control_batch_request, # type: "models.ExposureControlBatchRequest" **kwargs # type: Any ): # type: (...) -> "models.ExposureControlBatchResponse" @@ -194,23 +188,24 @@ def query_feature_value_by_factory( :type resource_group_name: str :param factory_name: The factory name. :type factory_name: str - :param exposure_control_requests: List of exposure control features. - :type exposure_control_requests: list[~data_factory_management_client.models.ExposureControlRequest] + :param exposure_control_batch_request: The exposure control request for list of features. + :type exposure_control_batch_request: ~data_factory_management_client.models.ExposureControlBatchRequest :keyword callable cls: A custom type or function that will be passed the direct response :return: ExposureControlBatchResponse, or the result of cls(response) :rtype: ~data_factory_management_client.models.ExposureControlBatchResponse :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.ExposureControlBatchResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - - exposure_control_batch_request = models.ExposureControlBatchRequest(exposure_control_requests=exposure_control_requests) api_version = "2018-06-01" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL - url = self.query_feature_value_by_factory.metadata['url'] # type: ignore + url = self.query_feature_values_by_factory.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), @@ -225,13 +220,12 @@ def query_feature_value_by_factory( # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') body_content_kwargs = {} # type: Dict[str, Any] body_content = self._serialize.body(exposure_control_batch_request, 'ExposureControlBatchRequest') body_content_kwargs['content'] = body_content request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response @@ -245,4 +239,4 @@ def query_feature_value_by_factory( return cls(pipeline_response, deserialized, {}) return deserialized - query_feature_value_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/queryFeaturesValue'} # type: ignore + query_feature_values_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/queryFeaturesValue'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_factories_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_factories_operations.py new file mode 100644 index 00000000000..29d7d4af8a9 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_factories_operations.py @@ -0,0 +1,644 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class FactoriesOperations(object): + """FactoriesOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_factory_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.FactoryListResponse"] + """Lists factories under the specified subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either FactoryListResponse or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~data_factory_management_client.models.FactoryListResponse] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.FactoryListResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + 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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('FactoryListResponse', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DataFactory/factories'} # type: ignore + + def configure_factory_repo( + self, + location_id, # type: str + factory_repo_update, # type: "models.FactoryRepoUpdate" + **kwargs # type: Any + ): + # type: (...) -> "models.Factory" + """Updates a factory's repo information. + + :param location_id: The location identifier. + :type location_id: str + :param factory_repo_update: Update factory repo request definition. + :type factory_repo_update: ~data_factory_management_client.models.FactoryRepoUpdate + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Factory, or the result of cls(response) + :rtype: ~data_factory_management_client.models.Factory + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Factory"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.configure_factory_repo.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'locationId': self._serialize.url("location_id", location_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(factory_repo_update, 'FactoryRepoUpdate') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Factory', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + configure_factory_repo.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DataFactory/locations/{locationId}/configureFactoryRepo'} # type: ignore + + def list_by_resource_group( + self, + resource_group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.FactoryListResponse"] + """Lists factories. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either FactoryListResponse or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~data_factory_management_client.models.FactoryListResponse] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.FactoryListResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('FactoryListResponse', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories'} # type: ignore + + def create_or_update( + self, + resource_group_name, # type: str + factory_name, # type: str + factory, # type: "models.Factory" + if_match=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.Factory" + """Creates or updates a factory. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param factory: Factory resource definition. + :type factory: ~data_factory_management_client.models.Factory + :param if_match: ETag of the factory entity. Should only be specified for update, for which it + should match existing entity or can be * for unconditional update. + :type if_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Factory, or the result of cls(response) + :rtype: ~data_factory_management_client.models.Factory + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Factory"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.create_or_update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(factory, 'Factory') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Factory', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}'} # type: ignore + + def update( + self, + resource_group_name, # type: str + factory_name, # type: str + factory_update_parameters, # type: "models.FactoryUpdateParameters" + **kwargs # type: Any + ): + # type: (...) -> "models.Factory" + """Updates a factory. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param factory_update_parameters: The parameters for updating a factory. + :type factory_update_parameters: ~data_factory_management_client.models.FactoryUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Factory, or the result of cls(response) + :rtype: ~data_factory_management_client.models.Factory + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.Factory"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(factory_update_parameters, 'FactoryUpdateParameters') + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Factory', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}'} # type: ignore + + def get( + self, + resource_group_name, # type: str + factory_name, # type: str + if_none_match=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> Optional["models.Factory"] + """Gets a factory. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param if_none_match: ETag of the factory entity. Should only be specified for get. If the ETag + matches the existing entity tag, or if * was provided, then no content will be returned. + :type if_none_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Factory, or the result of cls(response) + :rtype: ~data_factory_management_client.models.Factory or None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.Factory"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 304]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('Factory', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}'} # type: ignore + + def delete( + self, + resource_group_name, # type: str + factory_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Deletes a factory. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.delete.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}'} # type: ignore + + def get_git_hub_access_token( + self, + resource_group_name, # type: str + factory_name, # type: str + git_hub_access_token_request, # type: "models.GitHubAccessTokenRequest" + **kwargs # type: Any + ): + # type: (...) -> "models.GitHubAccessTokenResponse" + """Get GitHub Access Token. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param git_hub_access_token_request: Get GitHub access token request definition. + :type git_hub_access_token_request: ~data_factory_management_client.models.GitHubAccessTokenRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :return: GitHubAccessTokenResponse, or the result of cls(response) + :rtype: ~data_factory_management_client.models.GitHubAccessTokenResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.GitHubAccessTokenResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.get_git_hub_access_token.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(git_hub_access_token_request, 'GitHubAccessTokenRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('GitHubAccessTokenResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_git_hub_access_token.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/getGitHubAccessToken'} # type: ignore + + def get_data_plane_access( + self, + resource_group_name, # type: str + factory_name, # type: str + policy, # type: "models.UserAccessPolicy" + **kwargs # type: Any + ): + # type: (...) -> "models.AccessPolicyResponse" + """Get Data Plane access. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param policy: Data Plane user access policy definition. + :type policy: ~data_factory_management_client.models.UserAccessPolicy + :keyword callable cls: A custom type or function that will be passed the direct response + :return: AccessPolicyResponse, or the result of cls(response) + :rtype: ~data_factory_management_client.models.AccessPolicyResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.AccessPolicyResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.get_data_plane_access.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(policy, 'UserAccessPolicy') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('AccessPolicyResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_data_plane_access.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/getDataPlaneAccess'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_integration_runtime_nodes_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_integration_runtime_nodes_operations.py new file mode 100644 index 00000000000..c9623854aa9 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_integration_runtime_nodes_operations.py @@ -0,0 +1,319 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class IntegrationRuntimeNodesOperations(object): + """IntegrationRuntimeNodesOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_factory_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def get( + self, + resource_group_name, # type: str + factory_name, # type: str + integration_runtime_name, # type: str + node_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.SelfHostedIntegrationRuntimeNode" + """Gets a self-hosted integration runtime node. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :param node_name: The integration runtime node name. + :type node_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SelfHostedIntegrationRuntimeNode, or the result of cls(response) + :rtype: ~data_factory_management_client.models.SelfHostedIntegrationRuntimeNode + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.SelfHostedIntegrationRuntimeNode"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'nodeName': self._serialize.url("node_name", node_name, 'str', max_length=150, min_length=1, pattern=r'^[a-z0-9A-Z][a-z0-9A-Z_-]{0,149}$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('SelfHostedIntegrationRuntimeNode', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/nodes/{nodeName}'} # type: ignore + + def delete( + self, + resource_group_name, # type: str + factory_name, # type: str + integration_runtime_name, # type: str + node_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Deletes a self-hosted integration runtime node. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :param node_name: The integration runtime node name. + :type node_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.delete.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'nodeName': self._serialize.url("node_name", node_name, 'str', max_length=150, min_length=1, pattern=r'^[a-z0-9A-Z][a-z0-9A-Z_-]{0,149}$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/nodes/{nodeName}'} # type: ignore + + def update( + self, + resource_group_name, # type: str + factory_name, # type: str + integration_runtime_name, # type: str + node_name, # type: str + update_integration_runtime_node_request, # type: "models.UpdateIntegrationRuntimeNodeRequest" + **kwargs # type: Any + ): + # type: (...) -> "models.SelfHostedIntegrationRuntimeNode" + """Updates a self-hosted integration runtime node. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :param node_name: The integration runtime node name. + :type node_name: str + :param update_integration_runtime_node_request: The parameters for updating an integration + runtime node. + :type update_integration_runtime_node_request: ~data_factory_management_client.models.UpdateIntegrationRuntimeNodeRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SelfHostedIntegrationRuntimeNode, or the result of cls(response) + :rtype: ~data_factory_management_client.models.SelfHostedIntegrationRuntimeNode + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.SelfHostedIntegrationRuntimeNode"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'nodeName': self._serialize.url("node_name", node_name, 'str', max_length=150, min_length=1, pattern=r'^[a-z0-9A-Z][a-z0-9A-Z_-]{0,149}$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(update_integration_runtime_node_request, 'UpdateIntegrationRuntimeNodeRequest') + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('SelfHostedIntegrationRuntimeNode', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/nodes/{nodeName}'} # type: ignore + + def get_ip_address( + self, + resource_group_name, # type: str + factory_name, # type: str + integration_runtime_name, # type: str + node_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.IntegrationRuntimeNodeIpAddress" + """Get the IP address of self-hosted integration runtime node. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :param node_name: The integration runtime node name. + :type node_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationRuntimeNodeIpAddress, or the result of cls(response) + :rtype: ~data_factory_management_client.models.IntegrationRuntimeNodeIpAddress + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeNodeIpAddress"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.get_ip_address.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'nodeName': self._serialize.url("node_name", node_name, 'str', max_length=150, min_length=1, pattern=r'^[a-z0-9A-Z][a-z0-9A-Z_-]{0,149}$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('IntegrationRuntimeNodeIpAddress', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_ip_address.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/nodes/{nodeName}/ipAddress'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_integration_runtime_object_metadata_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_integration_runtime_object_metadata_operations.py index 461ab7b6539..a04018b467e 100644 --- a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_integration_runtime_object_metadata_operations.py +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_integration_runtime_object_metadata_operations.py @@ -8,7 +8,7 @@ from typing import TYPE_CHECKING import warnings -from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpRequest, HttpResponse from azure.core.polling import LROPoller, NoPolling, PollingMethod @@ -55,9 +55,12 @@ def _refresh_initial( ): # type: (...) -> Optional["models.SsisObjectMetadataStatusResponse"] cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.SsisObjectMetadataStatusResponse"]] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) api_version = "2018-06-01" + accept = "application/json" # Construct URL url = self._refresh_initial.metadata['url'] # type: ignore @@ -75,7 +78,7 @@ def _refresh_initial( # Construct headers header_parameters = {} # type: Dict[str, Any] - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') request = self._client.post(url, query_parameters, header_parameters) pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) @@ -147,7 +150,14 @@ def get_long_running_output(pipeline_response): return cls(pipeline_response, deserialized, {}) return deserialized - if polling is True: polling_method = ARMPolling(lro_delay, **kwargs) + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) elif polling is False: polling_method = NoPolling() else: polling_method = polling if cont_token: @@ -166,7 +176,7 @@ def get( resource_group_name, # type: str factory_name, # type: str integration_runtime_name, # type: str - metadata_path=None, # type: Optional[str] + get_metadata_request=None, # type: Optional["models.GetSsisObjectMetadataRequest"] **kwargs # type: Any ): # type: (...) -> "models.SsisObjectMetadataListResponse" @@ -179,20 +189,21 @@ def get( :type factory_name: str :param integration_runtime_name: The integration runtime name. :type integration_runtime_name: str - :param metadata_path: Metadata path. - :type metadata_path: str + :param get_metadata_request: The parameters for getting a SSIS object metadata. + :type get_metadata_request: ~data_factory_management_client.models.GetSsisObjectMetadataRequest :keyword callable cls: A custom type or function that will be passed the direct response :return: SsisObjectMetadataListResponse, or the result of cls(response) :rtype: ~data_factory_management_client.models.SsisObjectMetadataListResponse :raises: ~azure.core.exceptions.HttpResponseError """ cls = kwargs.pop('cls', None) # type: ClsType["models.SsisObjectMetadataListResponse"] - error_map = {404: ResourceNotFoundError, 409: ResourceExistsError} + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } error_map.update(kwargs.pop('error_map', {})) - - get_metadata_request = models.GetSsisObjectMetadataRequest(metadata_path=metadata_path) api_version = "2018-06-01" content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" # Construct URL url = self.get.metadata['url'] # type: ignore @@ -211,7 +222,7 @@ def get( # Construct headers header_parameters = {} # type: Dict[str, Any] header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') - header_parameters['Accept'] = 'application/json' + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') body_content_kwargs = {} # type: Dict[str, Any] if get_metadata_request is not None: @@ -220,7 +231,6 @@ def get( body_content = None body_content_kwargs['content'] = body_content request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) - pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_integration_runtimes_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_integration_runtimes_operations.py new file mode 100644 index 00000000000..d0a57313403 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_integration_runtimes_operations.py @@ -0,0 +1,1235 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class IntegrationRuntimesOperations(object): + """IntegrationRuntimesOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_factory_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_by_factory( + self, + resource_group_name, # type: str + factory_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.IntegrationRuntimeListResponse"] + """Lists integration runtimes. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either IntegrationRuntimeListResponse or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~data_factory_management_client.models.IntegrationRuntimeListResponse] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeListResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_factory.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('IntegrationRuntimeListResponse', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes'} # type: ignore + + def create_or_update( + self, + resource_group_name, # type: str + factory_name, # type: str + integration_runtime_name, # type: str + integration_runtime, # type: "models.IntegrationRuntimeResource" + if_match=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.IntegrationRuntimeResource" + """Creates or updates an integration runtime. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :param integration_runtime: Integration runtime resource definition. + :type integration_runtime: ~data_factory_management_client.models.IntegrationRuntimeResource + :param if_match: ETag of the integration runtime entity. Should only be specified for update, + for which it should match existing entity or can be * for unconditional update. + :type if_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationRuntimeResource, or the result of cls(response) + :rtype: ~data_factory_management_client.models.IntegrationRuntimeResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.create_or_update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(integration_runtime, 'IntegrationRuntimeResource') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('IntegrationRuntimeResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}'} # type: ignore + + def get( + self, + resource_group_name, # type: str + factory_name, # type: str + integration_runtime_name, # type: str + if_none_match=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> Optional["models.IntegrationRuntimeResource"] + """Gets an integration runtime. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :param if_none_match: ETag of the integration runtime entity. Should only be specified for get. + If the ETag matches the existing entity tag, or if * was provided, then no content will be + returned. + :type if_none_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationRuntimeResource, or the result of cls(response) + :rtype: ~data_factory_management_client.models.IntegrationRuntimeResource or None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.IntegrationRuntimeResource"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 304]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('IntegrationRuntimeResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}'} # type: ignore + + def update( + self, + resource_group_name, # type: str + factory_name, # type: str + integration_runtime_name, # type: str + update_integration_runtime_request, # type: "models.UpdateIntegrationRuntimeRequest" + **kwargs # type: Any + ): + # type: (...) -> "models.IntegrationRuntimeResource" + """Updates an integration runtime. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :param update_integration_runtime_request: The parameters for updating an integration runtime. + :type update_integration_runtime_request: ~data_factory_management_client.models.UpdateIntegrationRuntimeRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationRuntimeResource, or the result of cls(response) + :rtype: ~data_factory_management_client.models.IntegrationRuntimeResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(update_integration_runtime_request, 'UpdateIntegrationRuntimeRequest') + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('IntegrationRuntimeResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}'} # type: ignore + + def delete( + self, + resource_group_name, # type: str + factory_name, # type: str + integration_runtime_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Deletes an integration runtime. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.delete.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}'} # type: ignore + + def get_status( + self, + resource_group_name, # type: str + factory_name, # type: str + integration_runtime_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.IntegrationRuntimeStatusResponse" + """Gets detailed status information for an integration runtime. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationRuntimeStatusResponse, or the result of cls(response) + :rtype: ~data_factory_management_client.models.IntegrationRuntimeStatusResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeStatusResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.get_status.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('IntegrationRuntimeStatusResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_status.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/getStatus'} # type: ignore + + def get_connection_info( + self, + resource_group_name, # type: str + factory_name, # type: str + integration_runtime_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.IntegrationRuntimeConnectionInfo" + """Gets the on-premises integration runtime connection information for encrypting the on-premises + data source credentials. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationRuntimeConnectionInfo, or the result of cls(response) + :rtype: ~data_factory_management_client.models.IntegrationRuntimeConnectionInfo + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeConnectionInfo"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.get_connection_info.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('IntegrationRuntimeConnectionInfo', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_connection_info.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/getConnectionInfo'} # type: ignore + + def regenerate_auth_key( + self, + resource_group_name, # type: str + factory_name, # type: str + integration_runtime_name, # type: str + regenerate_key_parameters, # type: "models.IntegrationRuntimeRegenerateKeyParameters" + **kwargs # type: Any + ): + # type: (...) -> "models.IntegrationRuntimeAuthKeys" + """Regenerates the authentication key for an integration runtime. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :param regenerate_key_parameters: The parameters for regenerating integration runtime + authentication key. + :type regenerate_key_parameters: ~data_factory_management_client.models.IntegrationRuntimeRegenerateKeyParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationRuntimeAuthKeys, or the result of cls(response) + :rtype: ~data_factory_management_client.models.IntegrationRuntimeAuthKeys + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeAuthKeys"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.regenerate_auth_key.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(regenerate_key_parameters, 'IntegrationRuntimeRegenerateKeyParameters') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('IntegrationRuntimeAuthKeys', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + regenerate_auth_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/regenerateAuthKey'} # type: ignore + + def list_auth_keys( + self, + resource_group_name, # type: str + factory_name, # type: str + integration_runtime_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.IntegrationRuntimeAuthKeys" + """Retrieves the authentication keys for an integration runtime. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationRuntimeAuthKeys, or the result of cls(response) + :rtype: ~data_factory_management_client.models.IntegrationRuntimeAuthKeys + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeAuthKeys"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.list_auth_keys.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('IntegrationRuntimeAuthKeys', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + list_auth_keys.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/listAuthKeys'} # type: ignore + + def _start_initial( + self, + resource_group_name, # type: str + factory_name, # type: str + integration_runtime_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Optional["models.IntegrationRuntimeStatusResponse"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.IntegrationRuntimeStatusResponse"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self._start_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('IntegrationRuntimeStatusResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _start_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/start'} # type: ignore + + def begin_start( + self, + resource_group_name, # type: str + factory_name, # type: str + integration_runtime_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller["models.IntegrationRuntimeStatusResponse"] + """Starts a ManagedReserved type integration runtime. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either IntegrationRuntimeStatusResponse or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~data_factory_management_client.models.IntegrationRuntimeStatusResponse] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeStatusResponse"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._start_initial( + resource_group_name=resource_group_name, + factory_name=factory_name, + integration_runtime_name=integration_runtime_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('IntegrationRuntimeStatusResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_start.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/start'} # type: ignore + + def _stop_initial( + self, + resource_group_name, # type: str + factory_name, # type: str + integration_runtime_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self._stop_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _stop_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/stop'} # type: ignore + + def begin_stop( + self, + resource_group_name, # type: str + factory_name, # type: str + integration_runtime_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """Stops a ManagedReserved type integration runtime. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._stop_initial( + resource_group_name=resource_group_name, + factory_name=factory_name, + integration_runtime_name=integration_runtime_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/stop'} # type: ignore + + def sync_credentials( + self, + resource_group_name, # type: str + factory_name, # type: str + integration_runtime_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Force the integration runtime to synchronize credentials across integration runtime nodes, and + this will override the credentials across all worker nodes with those available on the + dispatcher node. If you already have the latest credential backup file, you should manually + import it (preferred) on any self-hosted integration runtime node than using this API directly. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.sync_credentials.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + sync_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/syncCredentials'} # type: ignore + + def get_monitoring_data( + self, + resource_group_name, # type: str + factory_name, # type: str + integration_runtime_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.IntegrationRuntimeMonitoringData" + """Get the integration runtime monitoring data, which includes the monitor data for all the nodes + under this integration runtime. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationRuntimeMonitoringData, or the result of cls(response) + :rtype: ~data_factory_management_client.models.IntegrationRuntimeMonitoringData + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeMonitoringData"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.get_monitoring_data.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('IntegrationRuntimeMonitoringData', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_monitoring_data.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/monitoringData'} # type: ignore + + def upgrade( + self, + resource_group_name, # type: str + factory_name, # type: str + integration_runtime_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Upgrade self-hosted integration runtime to latest version if availability. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.upgrade.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + upgrade.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/upgrade'} # type: ignore + + def remove_links( + self, + resource_group_name, # type: str + factory_name, # type: str + integration_runtime_name, # type: str + linked_integration_runtime_request, # type: "models.LinkedIntegrationRuntimeRequest" + **kwargs # type: Any + ): + # type: (...) -> None + """Remove all linked integration runtimes under specific data factory in a self-hosted integration + runtime. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :param linked_integration_runtime_request: The data factory name for the linked integration + runtime. + :type linked_integration_runtime_request: ~data_factory_management_client.models.LinkedIntegrationRuntimeRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.remove_links.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(linked_integration_runtime_request, 'LinkedIntegrationRuntimeRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + remove_links.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/removeLinks'} # type: ignore + + def create_linked_integration_runtime( + self, + resource_group_name, # type: str + factory_name, # type: str + integration_runtime_name, # type: str + create_linked_integration_runtime_request, # type: "models.CreateLinkedIntegrationRuntimeRequest" + **kwargs # type: Any + ): + # type: (...) -> "models.IntegrationRuntimeStatusResponse" + """Create a linked integration runtime entry in a shared integration runtime. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param integration_runtime_name: The integration runtime name. + :type integration_runtime_name: str + :param create_linked_integration_runtime_request: The linked integration runtime properties. + :type create_linked_integration_runtime_request: ~data_factory_management_client.models.CreateLinkedIntegrationRuntimeRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IntegrationRuntimeStatusResponse, or the result of cls(response) + :rtype: ~data_factory_management_client.models.IntegrationRuntimeStatusResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IntegrationRuntimeStatusResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.create_linked_integration_runtime.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'integrationRuntimeName': self._serialize.url("integration_runtime_name", integration_runtime_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(create_linked_integration_runtime_request, 'CreateLinkedIntegrationRuntimeRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('IntegrationRuntimeStatusResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_linked_integration_runtime.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/integrationRuntimes/{integrationRuntimeName}/linkedIntegrationRuntime'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_linked_services_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_linked_services_operations.py new file mode 100644 index 00000000000..ffb243da168 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_linked_services_operations.py @@ -0,0 +1,330 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class LinkedServicesOperations(object): + """LinkedServicesOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_factory_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_by_factory( + self, + resource_group_name, # type: str + factory_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.LinkedServiceListResponse"] + """Lists linked services. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either LinkedServiceListResponse or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~data_factory_management_client.models.LinkedServiceListResponse] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.LinkedServiceListResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_factory.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('LinkedServiceListResponse', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/linkedservices'} # type: ignore + + def create_or_update( + self, + resource_group_name, # type: str + factory_name, # type: str + linked_service_name, # type: str + linked_service, # type: "models.LinkedServiceResource" + if_match=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.LinkedServiceResource" + """Creates or updates a linked service. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param linked_service_name: The linked service name. + :type linked_service_name: str + :param linked_service: Linked service resource definition. + :type linked_service: ~data_factory_management_client.models.LinkedServiceResource + :param if_match: ETag of the linkedService entity. Should only be specified for update, for + which it should match existing entity or can be * for unconditional update. + :type if_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: LinkedServiceResource, or the result of cls(response) + :rtype: ~data_factory_management_client.models.LinkedServiceResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.LinkedServiceResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.create_or_update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'linkedServiceName': self._serialize.url("linked_service_name", linked_service_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(linked_service, 'LinkedServiceResource') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('LinkedServiceResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/linkedservices/{linkedServiceName}'} # type: ignore + + def get( + self, + resource_group_name, # type: str + factory_name, # type: str + linked_service_name, # type: str + if_none_match=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> Optional["models.LinkedServiceResource"] + """Gets a linked service. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param linked_service_name: The linked service name. + :type linked_service_name: str + :param if_none_match: ETag of the linked service entity. Should only be specified for get. If + the ETag matches the existing entity tag, or if * was provided, then no content will be + returned. + :type if_none_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: LinkedServiceResource, or the result of cls(response) + :rtype: ~data_factory_management_client.models.LinkedServiceResource or None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.LinkedServiceResource"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'linkedServiceName': self._serialize.url("linked_service_name", linked_service_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 304]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('LinkedServiceResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/linkedservices/{linkedServiceName}'} # type: ignore + + def delete( + self, + resource_group_name, # type: str + factory_name, # type: str + linked_service_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Deletes a linked service. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param linked_service_name: The linked service name. + :type linked_service_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.delete.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'linkedServiceName': self._serialize.url("linked_service_name", linked_service_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/linkedservices/{linkedServiceName}'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_managed_private_endpoints_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_managed_private_endpoints_operations.py new file mode 100644 index 00000000000..d1c7c89531f --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_managed_private_endpoints_operations.py @@ -0,0 +1,344 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class ManagedPrivateEndpointsOperations(object): + """ManagedPrivateEndpointsOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_factory_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_by_factory( + self, + resource_group_name, # type: str + factory_name, # type: str + managed_virtual_network_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.ManagedPrivateEndpointListResponse"] + """Lists managed private endpoints. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param managed_virtual_network_name: Managed virtual network name. + :type managed_virtual_network_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ManagedPrivateEndpointListResponse or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~data_factory_management_client.models.ManagedPrivateEndpointListResponse] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ManagedPrivateEndpointListResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_factory.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'managedVirtualNetworkName': self._serialize.url("managed_virtual_network_name", managed_virtual_network_name, 'str', max_length=127, min_length=1, pattern=r'^([_A-Za-z0-9]|([_A-Za-z0-9][-_A-Za-z0-9]{0,125}[_A-Za-z0-9]))$'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('ManagedPrivateEndpointListResponse', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/managedVirtualNetworks/{managedVirtualNetworkName}/managedPrivateEndpoints'} # type: ignore + + def create_or_update( + self, + resource_group_name, # type: str + factory_name, # type: str + managed_virtual_network_name, # type: str + managed_private_endpoint_name, # type: str + managed_private_endpoint, # type: "models.ManagedPrivateEndpointResource" + if_match=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.ManagedPrivateEndpointResource" + """Creates or updates a managed private endpoint. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param managed_virtual_network_name: Managed virtual network name. + :type managed_virtual_network_name: str + :param managed_private_endpoint_name: Managed private endpoint name. + :type managed_private_endpoint_name: str + :param managed_private_endpoint: Managed private endpoint resource definition. + :type managed_private_endpoint: ~data_factory_management_client.models.ManagedPrivateEndpointResource + :param if_match: ETag of the managed private endpoint entity. Should only be specified for + update, for which it should match existing entity or can be * for unconditional update. + :type if_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ManagedPrivateEndpointResource, or the result of cls(response) + :rtype: ~data_factory_management_client.models.ManagedPrivateEndpointResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ManagedPrivateEndpointResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.create_or_update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'managedVirtualNetworkName': self._serialize.url("managed_virtual_network_name", managed_virtual_network_name, 'str', max_length=127, min_length=1, pattern=r'^([_A-Za-z0-9]|([_A-Za-z0-9][-_A-Za-z0-9]{0,125}[_A-Za-z0-9]))$'), + 'managedPrivateEndpointName': self._serialize.url("managed_private_endpoint_name", managed_private_endpoint_name, 'str', max_length=127, min_length=1, pattern=r'^([_A-Za-z0-9]|([_A-Za-z0-9][-_A-Za-z0-9]{0,125}[_A-Za-z0-9]))$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(managed_private_endpoint, 'ManagedPrivateEndpointResource') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ManagedPrivateEndpointResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/managedVirtualNetworks/{managedVirtualNetworkName}/managedPrivateEndpoints/{managedPrivateEndpointName}'} # type: ignore + + def get( + self, + resource_group_name, # type: str + factory_name, # type: str + managed_virtual_network_name, # type: str + managed_private_endpoint_name, # type: str + if_none_match=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.ManagedPrivateEndpointResource" + """Gets a managed private endpoint. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param managed_virtual_network_name: Managed virtual network name. + :type managed_virtual_network_name: str + :param managed_private_endpoint_name: Managed private endpoint name. + :type managed_private_endpoint_name: str + :param if_none_match: ETag of the managed private endpoint entity. Should only be specified for + get. If the ETag matches the existing entity tag, or if * was provided, then no content will be + returned. + :type if_none_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ManagedPrivateEndpointResource, or the result of cls(response) + :rtype: ~data_factory_management_client.models.ManagedPrivateEndpointResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ManagedPrivateEndpointResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'managedVirtualNetworkName': self._serialize.url("managed_virtual_network_name", managed_virtual_network_name, 'str', max_length=127, min_length=1, pattern=r'^([_A-Za-z0-9]|([_A-Za-z0-9][-_A-Za-z0-9]{0,125}[_A-Za-z0-9]))$'), + 'managedPrivateEndpointName': self._serialize.url("managed_private_endpoint_name", managed_private_endpoint_name, 'str', max_length=127, min_length=1, pattern=r'^([_A-Za-z0-9]|([_A-Za-z0-9][-_A-Za-z0-9]{0,125}[_A-Za-z0-9]))$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ManagedPrivateEndpointResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/managedVirtualNetworks/{managedVirtualNetworkName}/managedPrivateEndpoints/{managedPrivateEndpointName}'} # type: ignore + + def delete( + self, + resource_group_name, # type: str + factory_name, # type: str + managed_virtual_network_name, # type: str + managed_private_endpoint_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Deletes a managed private endpoint. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param managed_virtual_network_name: Managed virtual network name. + :type managed_virtual_network_name: str + :param managed_private_endpoint_name: Managed private endpoint name. + :type managed_private_endpoint_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.delete.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'managedVirtualNetworkName': self._serialize.url("managed_virtual_network_name", managed_virtual_network_name, 'str', max_length=127, min_length=1, pattern=r'^([_A-Za-z0-9]|([_A-Za-z0-9][-_A-Za-z0-9]{0,125}[_A-Za-z0-9]))$'), + 'managedPrivateEndpointName': self._serialize.url("managed_private_endpoint_name", managed_private_endpoint_name, 'str', max_length=127, min_length=1, pattern=r'^([_A-Za-z0-9]|([_A-Za-z0-9][-_A-Za-z0-9]{0,125}[_A-Za-z0-9]))$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/managedVirtualNetworks/{managedVirtualNetworkName}/managedPrivateEndpoints/{managedPrivateEndpointName}'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_managed_virtual_networks_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_managed_virtual_networks_operations.py new file mode 100644 index 00000000000..8f81cdf0c80 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_managed_virtual_networks_operations.py @@ -0,0 +1,268 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class ManagedVirtualNetworksOperations(object): + """ManagedVirtualNetworksOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_factory_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_by_factory( + self, + resource_group_name, # type: str + factory_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.ManagedVirtualNetworkListResponse"] + """Lists managed Virtual Networks. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ManagedVirtualNetworkListResponse or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~data_factory_management_client.models.ManagedVirtualNetworkListResponse] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ManagedVirtualNetworkListResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_factory.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('ManagedVirtualNetworkListResponse', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/managedVirtualNetworks'} # type: ignore + + def create_or_update( + self, + resource_group_name, # type: str + factory_name, # type: str + managed_virtual_network_name, # type: str + managed_virtual_network, # type: "models.ManagedVirtualNetworkResource" + if_match=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.ManagedVirtualNetworkResource" + """Creates or updates a managed Virtual Network. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param managed_virtual_network_name: Managed virtual network name. + :type managed_virtual_network_name: str + :param managed_virtual_network: Managed Virtual Network resource definition. + :type managed_virtual_network: ~data_factory_management_client.models.ManagedVirtualNetworkResource + :param if_match: ETag of the managed Virtual Network entity. Should only be specified for + update, for which it should match existing entity or can be * for unconditional update. + :type if_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ManagedVirtualNetworkResource, or the result of cls(response) + :rtype: ~data_factory_management_client.models.ManagedVirtualNetworkResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ManagedVirtualNetworkResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.create_or_update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'managedVirtualNetworkName': self._serialize.url("managed_virtual_network_name", managed_virtual_network_name, 'str', max_length=127, min_length=1, pattern=r'^([_A-Za-z0-9]|([_A-Za-z0-9][-_A-Za-z0-9]{0,125}[_A-Za-z0-9]))$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(managed_virtual_network, 'ManagedVirtualNetworkResource') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ManagedVirtualNetworkResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/managedVirtualNetworks/{managedVirtualNetworkName}'} # type: ignore + + def get( + self, + resource_group_name, # type: str + factory_name, # type: str + managed_virtual_network_name, # type: str + if_none_match=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.ManagedVirtualNetworkResource" + """Gets a managed Virtual Network. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param managed_virtual_network_name: Managed virtual network name. + :type managed_virtual_network_name: str + :param if_none_match: ETag of the managed Virtual Network entity. Should only be specified for + get. If the ETag matches the existing entity tag, or if * was provided, then no content will be + returned. + :type if_none_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ManagedVirtualNetworkResource, or the result of cls(response) + :rtype: ~data_factory_management_client.models.ManagedVirtualNetworkResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.ManagedVirtualNetworkResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'managedVirtualNetworkName': self._serialize.url("managed_virtual_network_name", managed_virtual_network_name, 'str', max_length=127, min_length=1, pattern=r'^([_A-Za-z0-9]|([_A-Za-z0-9][-_A-Za-z0-9]{0,125}[_A-Za-z0-9]))$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ManagedVirtualNetworkResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/managedVirtualNetworks/{managedVirtualNetworkName}'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_operations.py new file mode 100644 index 00000000000..9795a6e8c4e --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_operations.py @@ -0,0 +1,109 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class Operations(object): + """Operations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_factory_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.OperationListResponse"] + """Lists the available Azure Data Factory API operations. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either OperationListResponse or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~data_factory_management_client.models.OperationListResponse] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.OperationListResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('OperationListResponse', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.DataFactory/operations'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_pipeline_runs_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_pipeline_runs_operations.py new file mode 100644 index 00000000000..be684c71f0a --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_pipeline_runs_operations.py @@ -0,0 +1,241 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class PipelineRunsOperations(object): + """PipelineRunsOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_factory_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def query_by_factory( + self, + resource_group_name, # type: str + factory_name, # type: str + filter_parameters, # type: "models.RunFilterParameters" + **kwargs # type: Any + ): + # type: (...) -> "models.PipelineRunsQueryResponse" + """Query pipeline runs in the factory based on input filter conditions. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param filter_parameters: Parameters to filter the pipeline run. + :type filter_parameters: ~data_factory_management_client.models.RunFilterParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PipelineRunsQueryResponse, or the result of cls(response) + :rtype: ~data_factory_management_client.models.PipelineRunsQueryResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PipelineRunsQueryResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.query_by_factory.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(filter_parameters, 'RunFilterParameters') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('PipelineRunsQueryResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + query_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/queryPipelineRuns'} # type: ignore + + def get( + self, + resource_group_name, # type: str + factory_name, # type: str + run_id, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.PipelineRun" + """Get a pipeline run by its run ID. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param run_id: The pipeline run identifier. + :type run_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PipelineRun, or the result of cls(response) + :rtype: ~data_factory_management_client.models.PipelineRun + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PipelineRun"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'runId': self._serialize.url("run_id", run_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('PipelineRun', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelineruns/{runId}'} # type: ignore + + def cancel( + self, + resource_group_name, # type: str + factory_name, # type: str + run_id, # type: str + is_recursive=None, # type: Optional[bool] + **kwargs # type: Any + ): + # type: (...) -> None + """Cancel a pipeline run by its run ID. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param run_id: The pipeline run identifier. + :type run_id: str + :param is_recursive: If true, cancel all the Child pipelines that are triggered by the current + pipeline. + :type is_recursive: bool + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.cancel.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'runId': self._serialize.url("run_id", run_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + if is_recursive is not None: + query_parameters['isRecursive'] = self._serialize.query("is_recursive", is_recursive, 'bool') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + cancel.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelineruns/{runId}/cancel'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_pipelines_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_pipelines_operations.py new file mode 100644 index 00000000000..d4a5594d606 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_pipelines_operations.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 typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class PipelinesOperations(object): + """PipelinesOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_factory_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_by_factory( + self, + resource_group_name, # type: str + factory_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.PipelineListResponse"] + """Lists pipelines. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either PipelineListResponse or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~data_factory_management_client.models.PipelineListResponse] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PipelineListResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_factory.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('PipelineListResponse', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines'} # type: ignore + + def create_or_update( + self, + resource_group_name, # type: str + factory_name, # type: str + pipeline_name, # type: str + pipeline, # type: "models.PipelineResource" + if_match=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.PipelineResource" + """Creates or updates a pipeline. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param pipeline_name: The pipeline name. + :type pipeline_name: str + :param pipeline: Pipeline resource definition. + :type pipeline: ~data_factory_management_client.models.PipelineResource + :param if_match: ETag of the pipeline entity. Should only be specified for update, for which + it should match existing entity or can be * for unconditional update. + :type if_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PipelineResource, or the result of cls(response) + :rtype: ~data_factory_management_client.models.PipelineResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PipelineResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.create_or_update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'pipelineName': self._serialize.url("pipeline_name", pipeline_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(pipeline, 'PipelineResource') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('PipelineResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines/{pipelineName}'} # type: ignore + + def get( + self, + resource_group_name, # type: str + factory_name, # type: str + pipeline_name, # type: str + if_none_match=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> Optional["models.PipelineResource"] + """Gets a pipeline. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param pipeline_name: The pipeline name. + :type pipeline_name: str + :param if_none_match: ETag of the pipeline entity. Should only be specified for get. If the + ETag matches the existing entity tag, or if * was provided, then no content will be returned. + :type if_none_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PipelineResource, or the result of cls(response) + :rtype: ~data_factory_management_client.models.PipelineResource or None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.PipelineResource"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'pipelineName': self._serialize.url("pipeline_name", pipeline_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 304]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('PipelineResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines/{pipelineName}'} # type: ignore + + def delete( + self, + resource_group_name, # type: str + factory_name, # type: str + pipeline_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Deletes a pipeline. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param pipeline_name: The pipeline name. + :type pipeline_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.delete.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'pipelineName': self._serialize.url("pipeline_name", pipeline_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines/{pipelineName}'} # type: ignore + + def create_run( + self, + resource_group_name, # type: str + factory_name, # type: str + pipeline_name, # type: str + reference_pipeline_run_id=None, # type: Optional[str] + is_recovery=None, # type: Optional[bool] + start_activity_name=None, # type: Optional[str] + start_from_failure=None, # type: Optional[bool] + parameters=None, # type: Optional[Dict[str, object]] + **kwargs # type: Any + ): + # type: (...) -> "models.CreateRunResponse" + """Creates a run of a pipeline. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param pipeline_name: The pipeline name. + :type pipeline_name: str + :param reference_pipeline_run_id: The pipeline run identifier. If run ID is specified the + parameters of the specified run will be used to create a new run. + :type reference_pipeline_run_id: str + :param is_recovery: Recovery mode flag. If recovery mode is set to true, the specified + referenced pipeline run and the new run will be grouped under the same groupId. + :type is_recovery: bool + :param start_activity_name: In recovery mode, the rerun will start from this activity. If not + specified, all activities will run. + :type start_activity_name: str + :param start_from_failure: In recovery mode, if set to true, the rerun will start from failed + activities. The property will be used only if startActivityName is not specified. + :type start_from_failure: bool + :param parameters: Parameters of the pipeline run. These parameters will be used only if the + runId is not specified. + :type parameters: dict[str, object] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: CreateRunResponse, or the result of cls(response) + :rtype: ~data_factory_management_client.models.CreateRunResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.CreateRunResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.create_run.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'pipelineName': self._serialize.url("pipeline_name", pipeline_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if reference_pipeline_run_id is not None: + query_parameters['referencePipelineRunId'] = self._serialize.query("reference_pipeline_run_id", reference_pipeline_run_id, 'str') + if is_recovery is not None: + query_parameters['isRecovery'] = self._serialize.query("is_recovery", is_recovery, 'bool') + if start_activity_name is not None: + query_parameters['startActivityName'] = self._serialize.query("start_activity_name", start_activity_name, 'str') + if start_from_failure is not None: + query_parameters['startFromFailure'] = self._serialize.query("start_from_failure", start_from_failure, 'bool') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + if parameters is not None: + body_content = self._serialize.body(parameters, '{object}') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('CreateRunResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_run.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines/{pipelineName}/createRun'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_private_end_point_connections_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_private_end_point_connections_operations.py new file mode 100644 index 00000000000..11471ac9d41 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_private_end_point_connections_operations.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 typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class PrivateEndPointConnectionsOperations(object): + """PrivateEndPointConnectionsOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_factory_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_by_factory( + self, + resource_group_name, # type: str + factory_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.PrivateEndpointConnectionListResponse"] + """Lists Private endpoint connections. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either PrivateEndpointConnectionListResponse or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~data_factory_management_client.models.PrivateEndpointConnectionListResponse] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PrivateEndpointConnectionListResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_factory.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('PrivateEndpointConnectionListResponse', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/privateEndPointConnections'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_private_endpoint_connection_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_private_endpoint_connection_operations.py new file mode 100644 index 00000000000..60bd6a37157 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_private_endpoint_connection_operations.py @@ -0,0 +1,252 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class PrivateEndpointConnectionOperations(object): + """PrivateEndpointConnectionOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_factory_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def create_or_update( + self, + resource_group_name, # type: str + factory_name, # type: str + private_endpoint_connection_name, # type: str + private_endpoint_wrapper, # type: "models.PrivateLinkConnectionApprovalRequestResource" + if_match=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.PrivateEndpointConnectionResource" + """Approves or rejects a private endpoint connection. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param private_endpoint_connection_name: The private endpoint connection name. + :type private_endpoint_connection_name: str + :param private_endpoint_wrapper: + :type private_endpoint_wrapper: ~data_factory_management_client.models.PrivateLinkConnectionApprovalRequestResource + :param if_match: ETag of the private endpoint connection entity. Should only be specified for + update, for which it should match existing entity or can be * for unconditional update. + :type if_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PrivateEndpointConnectionResource, or the result of cls(response) + :rtype: ~data_factory_management_client.models.PrivateEndpointConnectionResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PrivateEndpointConnectionResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.create_or_update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'privateEndpointConnectionName': self._serialize.url("private_endpoint_connection_name", private_endpoint_connection_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(private_endpoint_wrapper, 'PrivateLinkConnectionApprovalRequestResource') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('PrivateEndpointConnectionResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore + + def get( + self, + resource_group_name, # type: str + factory_name, # type: str + private_endpoint_connection_name, # type: str + if_none_match=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.PrivateEndpointConnectionResource" + """Gets a private endpoint connection. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param private_endpoint_connection_name: The private endpoint connection name. + :type private_endpoint_connection_name: str + :param if_none_match: ETag of the private endpoint connection entity. Should only be specified + for get. If the ETag matches the existing entity tag, or if * was provided, then no content + will be returned. + :type if_none_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PrivateEndpointConnectionResource, or the result of cls(response) + :rtype: ~data_factory_management_client.models.PrivateEndpointConnectionResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PrivateEndpointConnectionResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'privateEndpointConnectionName': self._serialize.url("private_endpoint_connection_name", private_endpoint_connection_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('PrivateEndpointConnectionResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore + + def delete( + self, + resource_group_name, # type: str + factory_name, # type: str + private_endpoint_connection_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Deletes a private endpoint connection. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param private_endpoint_connection_name: The private endpoint connection name. + :type private_endpoint_connection_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.delete.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'privateEndpointConnectionName': self._serialize.url("private_endpoint_connection_name", private_endpoint_connection_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/privateEndpointConnections/{privateEndpointConnectionName}'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_private_link_resources_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_private_link_resources_operations.py new file mode 100644 index 00000000000..89847585015 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_private_link_resources_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. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class PrivateLinkResourcesOperations(object): + """PrivateLinkResourcesOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_factory_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def get( + self, + resource_group_name, # type: str + factory_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.PrivateLinkResourcesWrapper" + """Gets the private link resources. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: PrivateLinkResourcesWrapper, or the result of cls(response) + :rtype: ~data_factory_management_client.models.PrivateLinkResourcesWrapper + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.PrivateLinkResourcesWrapper"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('PrivateLinkResourcesWrapper', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/privateLinkResources'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_trigger_runs_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_trigger_runs_operations.py new file mode 100644 index 00000000000..ca2b12d4a29 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_trigger_runs_operations.py @@ -0,0 +1,240 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class TriggerRunsOperations(object): + """TriggerRunsOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_factory_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def rerun( + self, + resource_group_name, # type: str + factory_name, # type: str + trigger_name, # type: str + run_id, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Rerun single trigger instance by runId. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param trigger_name: The trigger name. + :type trigger_name: str + :param run_id: The pipeline run identifier. + :type run_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.rerun.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + 'runId': self._serialize.url("run_id", run_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + rerun.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/triggerRuns/{runId}/rerun'} # type: ignore + + def cancel( + self, + resource_group_name, # type: str + factory_name, # type: str + trigger_name, # type: str + run_id, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Cancel a single trigger instance by runId. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param trigger_name: The trigger name. + :type trigger_name: str + :param run_id: The pipeline run identifier. + :type run_id: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.cancel.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + 'runId': self._serialize.url("run_id", run_id, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + cancel.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/triggerRuns/{runId}/cancel'} # type: ignore + + def query_by_factory( + self, + resource_group_name, # type: str + factory_name, # type: str + filter_parameters, # type: "models.RunFilterParameters" + **kwargs # type: Any + ): + # type: (...) -> "models.TriggerRunsQueryResponse" + """Query trigger runs. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param filter_parameters: Parameters to filter the pipeline run. + :type filter_parameters: ~data_factory_management_client.models.RunFilterParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :return: TriggerRunsQueryResponse, or the result of cls(response) + :rtype: ~data_factory_management_client.models.TriggerRunsQueryResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.TriggerRunsQueryResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.query_by_factory.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(filter_parameters, 'RunFilterParameters') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('TriggerRunsQueryResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + query_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/queryTriggerRuns'} # type: ignore diff --git a/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_triggers_operations.py b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_triggers_operations.py new file mode 100644 index 00000000000..f85d33b9c68 --- /dev/null +++ b/src/datafactory/azext_datafactory/vendored_sdks/datafactory/operations/_triggers_operations.py @@ -0,0 +1,945 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class TriggersOperations(object): + """TriggersOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~data_factory_management_client.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_by_factory( + self, + resource_group_name, # type: str + factory_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.TriggerListResponse"] + """Lists triggers. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either TriggerListResponse or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~data_factory_management_client.models.TriggerListResponse] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.TriggerListResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_factory.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('TriggerListResponse', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers'} # type: ignore + + def query_by_factory( + self, + resource_group_name, # type: str + factory_name, # type: str + filter_parameters, # type: "models.TriggerFilterParameters" + **kwargs # type: Any + ): + # type: (...) -> "models.TriggerQueryResponse" + """Query triggers. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param filter_parameters: Parameters to filter the triggers. + :type filter_parameters: ~data_factory_management_client.models.TriggerFilterParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :return: TriggerQueryResponse, or the result of cls(response) + :rtype: ~data_factory_management_client.models.TriggerQueryResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.TriggerQueryResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.query_by_factory.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(filter_parameters, 'TriggerFilterParameters') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('TriggerQueryResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + query_by_factory.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/querytriggers'} # type: ignore + + def create_or_update( + self, + resource_group_name, # type: str + factory_name, # type: str + trigger_name, # type: str + trigger, # type: "models.TriggerResource" + if_match=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "models.TriggerResource" + """Creates or updates a trigger. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param trigger_name: The trigger name. + :type trigger_name: str + :param trigger: Trigger resource definition. + :type trigger: ~data_factory_management_client.models.TriggerResource + :param if_match: ETag of the trigger entity. Should only be specified for update, for which it + should match existing entity or can be * for unconditional update. + :type if_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: TriggerResource, or the result of cls(response) + :rtype: ~data_factory_management_client.models.TriggerResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.TriggerResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.create_or_update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(trigger, 'TriggerResource') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('TriggerResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}'} # type: ignore + + def get( + self, + resource_group_name, # type: str + factory_name, # type: str + trigger_name, # type: str + if_none_match=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> Optional["models.TriggerResource"] + """Gets a trigger. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param trigger_name: The trigger name. + :type trigger_name: str + :param if_none_match: ETag of the trigger entity. Should only be specified for get. If the ETag + matches the existing entity tag, or if * was provided, then no content will be returned. + :type if_none_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: TriggerResource, or the result of cls(response) + :rtype: ~data_factory_management_client.models.TriggerResource or None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.TriggerResource"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 304]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('TriggerResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}'} # type: ignore + + def delete( + self, + resource_group_name, # type: str + factory_name, # type: str + trigger_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Deletes a trigger. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param trigger_name: The trigger name. + :type trigger_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.delete.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}'} # type: ignore + + def _subscribe_to_events_initial( + self, + resource_group_name, # type: str + factory_name, # type: str + trigger_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Optional["models.TriggerSubscriptionOperationStatus"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.TriggerSubscriptionOperationStatus"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self._subscribe_to_events_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('TriggerSubscriptionOperationStatus', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _subscribe_to_events_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/subscribeToEvents'} # type: ignore + + def begin_subscribe_to_events( + self, + resource_group_name, # type: str + factory_name, # type: str + trigger_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller["models.TriggerSubscriptionOperationStatus"] + """Subscribe event trigger to events. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param trigger_name: The trigger name. + :type trigger_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either TriggerSubscriptionOperationStatus or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~data_factory_management_client.models.TriggerSubscriptionOperationStatus] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.TriggerSubscriptionOperationStatus"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._subscribe_to_events_initial( + resource_group_name=resource_group_name, + factory_name=factory_name, + trigger_name=trigger_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('TriggerSubscriptionOperationStatus', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_subscribe_to_events.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/subscribeToEvents'} # type: ignore + + def get_event_subscription_status( + self, + resource_group_name, # type: str + factory_name, # type: str + trigger_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.TriggerSubscriptionOperationStatus" + """Get a trigger's event subscription status. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param trigger_name: The trigger name. + :type trigger_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: TriggerSubscriptionOperationStatus, or the result of cls(response) + :rtype: ~data_factory_management_client.models.TriggerSubscriptionOperationStatus + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.TriggerSubscriptionOperationStatus"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self.get_event_subscription_status.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('TriggerSubscriptionOperationStatus', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get_event_subscription_status.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/getEventSubscriptionStatus'} # type: ignore + + def _unsubscribe_from_events_initial( + self, + resource_group_name, # type: str + factory_name, # type: str + trigger_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Optional["models.TriggerSubscriptionOperationStatus"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.TriggerSubscriptionOperationStatus"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self._unsubscribe_from_events_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('TriggerSubscriptionOperationStatus', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _unsubscribe_from_events_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/unsubscribeFromEvents'} # type: ignore + + def begin_unsubscribe_from_events( + self, + resource_group_name, # type: str + factory_name, # type: str + trigger_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller["models.TriggerSubscriptionOperationStatus"] + """Unsubscribe event trigger from events. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param trigger_name: The trigger name. + :type trigger_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either TriggerSubscriptionOperationStatus or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~data_factory_management_client.models.TriggerSubscriptionOperationStatus] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.TriggerSubscriptionOperationStatus"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._unsubscribe_from_events_initial( + resource_group_name=resource_group_name, + factory_name=factory_name, + trigger_name=trigger_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('TriggerSubscriptionOperationStatus', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_unsubscribe_from_events.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/unsubscribeFromEvents'} # type: ignore + + def _start_initial( + self, + resource_group_name, # type: str + factory_name, # type: str + trigger_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self._start_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _start_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/start'} # type: ignore + + def begin_start( + self, + resource_group_name, # type: str + factory_name, # type: str + trigger_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """Starts a trigger. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param trigger_name: The trigger name. + :type trigger_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._start_initial( + resource_group_name=resource_group_name, + factory_name=factory_name, + trigger_name=trigger_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_start.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/start'} # type: ignore + + def _stop_initial( + self, + resource_group_name, # type: str + factory_name, # type: str + trigger_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2018-06-01" + accept = "application/json" + + # Construct URL + url = self._stop_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _stop_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/stop'} # type: ignore + + def begin_stop( + self, + resource_group_name, # type: str + factory_name, # type: str + trigger_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """Stops a trigger. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param factory_name: The factory name. + :type factory_name: str + :param trigger_name: The trigger name. + :type trigger_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._stop_initial( + resource_group_name=resource_group_name, + factory_name=factory_name, + trigger_name=trigger_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'factoryName': self._serialize.url("factory_name", factory_name, 'str', max_length=63, min_length=3, pattern=r'^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$'), + 'triggerName': self._serialize.url("trigger_name", trigger_name, 'str', max_length=260, min_length=1, pattern=r'^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/stop'} # type: ignore diff --git a/src/datafactory/gen.zip b/src/datafactory/gen.zip new file mode 100644 index 0000000000000000000000000000000000000000..296cd2dfd073b40b800d50721ca0621a581fdee3 GIT binary patch literal 39102 zcmeG_O>^VQak7)RQYs%DR}Q|tG4~+JB~To^~azH*Y@_iR+}^zAY384k^4P z2^s+PmTyaE-+jm-S6AhpUyzIMIp^P`d%ge+2LvdQkaiPoaY+C(-90@$(;w3_xcKI; z{(5~4|9*b)$4mA@{P#=vc7CKEBfINFPS0^8KbY=ZWS0Mxv3x|sD4bL4t2wm>4%SXo z{=4V@emVKmU#y+U+8X=hSEe7G;dnspFrwqII-Wiu*3$mgpO9z%cp7;9>xgW+TjZ7J z27c)GBDf!n{lJMle^ezWg8^ZMLK4uB1~;@@g}N_2mySZ(C6iH?1|+(s+% zl&Xv9V??|WD>DxK@2MM+!1p84^8P!xe|b)E+vci8Fv_PsrK7p1itv zd3Hp0&YA3bG~5|aqWH>w7EoZzo8avjB%H2)odD3KJ%S=*yR6J63gR{i`rE|4rtXLE z__aTxTSw~z{-DkLCbXE~eSRAsiTlUo-FsFP!BpL0cXPw}ktBu{;b_PPD}^=L--cxk ze3$hnshl~$-?vv4L!pr~q@?m`IOQ#!-kJ)5==qbtrB*-iCu1lc^lvL0+i8rVb^L29 zlaGCxqwzqkwU#OIV<&R26LZJBIb*`+la;rcqnYhxtI%{1IsK3b?bvqu#})DW_s(EK zS3Q4>L02T0`OF{ny#6GhV*a|MW8W-Kt}JN_gTxM??8;fK&{_g5$ky05us(h)CR?vd zDm&q%6S{#nMspzC`INl0z3%Of6jU~lpa9IwJD}!oJg^JG9c5KiPr(plEYkG^7-k$Z zD!CjzAW6Id!_1Nm<2uH1U4Jr)m;fDDPEOA&#PtUQrz1=ms}ndQ_xiXp1YJaf3K_sR zz!(m_$nv_!m07tF)`|crt}0*_fCzYKQHm#c18##&WA*$2wEMWSQy~!@IY5sYv`IPM zQJ-n@2nr2ZeKBxG^u%>(7@DOK)F3mC?J<_LfqhVP<-!P9EwmjhhSlO&4YF8h8sN3# zsS@V7YtRw~aP;HY3#b)&XlpcT^_EqyTlHGIc6hY6f7GZ|8~e?}-MxcvO_j$q70qQ#ErZgFPdIXV76xco4jNH^MnS|r_&2>Ob6bGLMd|xgV({p z*ui9E{{bu6ovA$*)$s1hyIPW90W!i!usTyqlECiHjzp;-3Uxly0NfJkT22qNf|wj? z`&NCwU8^1K?jP;#Rd;vyng`96adJq(=uq%sF!C(|q; zIEzD#vYbqTF5B6JIT$AD2#g4D4?lhPT_u{1DSREl=j2DQ&z=ta4*cGR4~YH;+P#8k z1_U2og9D1?^hz(2g)V8226W_7UE~DBKt7ky;6B(gDHykK@Aek)kDUOJg1m)r!4bcj zo`VLFwRKvqqCiLNjrs~6RAzR^1t>rTG0}dgE{k&l@EPbQ!7x>YM_|+?hoB>79Bo5v z?VQDH6cMNav*^GE&6tItD541j+m3qEv&4TE`TV>v0L_M zQq?0Fo)Ck=7@k;Y)-ewDg={}TiZ)p1d3A!rc1hlyKu0pYye?Hf1q6q9n3E)KntFl{ zS_@;4FlvRZr4N+UfK!832wkB;s!JWzy)|}vJcz}FlM>#U=_D}*aR3w^vN}B|sV4S3 zYC#3FKh`SXq0Cn)rG(z3jOK;l#9%Y>{GrBuik&>3bq?kdc%<_gixI7r+ijAuh|FNa zJQUBmbO0JRmcmnZJ)d8^PH7zD=!i8nuBVr+ zvp_(0NC!Rp8bWQfTb7BLAOpP%7A!zAEKWwY>A8?dC$t=?oDf7H;3x1Cfq(8qKg(w0 zBz1p#V-``kgHw>PR&rXW8%w`k{bUNH9kANGTd3 zfmrp(bP+PlAluf@V0hTi1CGQ$I*y0~XC``m0nB>F&gKX+hOZcQXm ztL_)Rlj%|B>OG&|Iz8vGaR|}!!(M0K+Us?w)#^2Ntqyf)>!9P--PW$DyW+L~f599L z^V&a}ifUDg@b#2Vpc@Sv^I&kq%&|x7RhDl|ij(i--d|s!$@<+Jl z2ys00NEhq0p{mQ4{2r{+VmjC&;FsTNSCJD-rW=&9m!UYxl3u-z5Y@nD?> zaw04e6dREDhRJ$bO^hH@ox!viWW<0?vm#7M!Rq6d3CzlFW|&tv&Ki%wBD{+Hj10&G zOO%QVq4a~yeTevr?~3Wjh0N|QLPd;|%9;<;LqLR;AYz5R^%%y@+c5;c zyBWFnrlAwip?^bdbjBZ~e>i>%@t55-A^?&0$wb!fIbXVZ4J+-8Hrg#qMZJct9$BGm z_H40m_6We)r7T`1q)X~53$c@o)yy>CbCPV0z-1c5i()|yBu3aB$Vl55vss1Jf!MNR zw(RM`aa(LmS*a67<^%rhT#C=AZw<2!#BtmS?9771$nX752onJ0W0S^0`7pCGDWm{1 z^)nvg$bK2^T~7tpgz6wpie#!4)o!And3KS1^nOX;BY6qbL~a@_2Ie{lH4#2WeL4me#H7^G9i{{ zdZcg7P4eItAmnwh^u4ljI)vRRur4WuBRAC;JnF#dV}2{9`eh{B#w!>qH87ntsAv8G zs4EJ}lB)80Cau_cayIIYeVETeNb!w)*adZb9Yy2tx3H}Pw@9I(eJpHmaH^3~*hzy= zLn1Yx7&e-K3pM3nv!NGXsqo05(dd2A^hMxlH=XNR;VlzfeO zjOJMFsl1|sDYa@2NpZ29o&w`#Cxw^ z4`q)I#Cc!S_Wq7$T2iGglD<3F4ADfmBnw0n;^iA3DGsb?;z(>(A50N;xCg(X?dGo+Gt>}Rm0nhwl!hvWw1zsm})eD07qSr2fW z26ipvH7(i)^?k=}?(Vg$Ua!@FgsH=(<+N&DYk#-p*1LNLor6Ywv1GL*#|?cTwsfA) z+W;W>!umpO=M;P>w^!6oPJ#Wt{R7+1a3dYT&1`U_&v8Yv3(edLzYRw2apmj}aJo)d zA#Ceec#PZgWKrY9mD<_)=yr!L6fcqOI-X(n>T)cA)YcXD=_pZTh;U9vN8ac30JgB zU_hJ^O29nYM4bCAWC}9Q?KY5=A;fKvXuY|(A^M6x<4xelzI^wcjyR(#J3ooFA7cTm z*SzqG!UWG&uMuSwOem6oyo&caC%P`pavd?$Ol=gFa}w+nj%B#|hKUNc2B&=VYSKi- zMUf=Ng@5upFS_a~n(Bzv&T$oL;T$renqllo5I8tmkuBKz8z=Cb&VbK741XJPqJNKf zb;M9g*3JbBR^KUXl^U^=NmOI>rm3bZgVhqaY*}~0w|^ma_|&R!W`!pP06tq)Dg3(PvZ)* z|NdM^Ye5|^px{&IlC|QD7Ss_}m_l8?R@7NO))5O+x42d`<=4boQkcw(>pBxysUb*0 zIhe|+*l1~b0Rzwy*__z3oTSSQAuT0*^w2yl5MWl^EhV%pvB9Ckk0Ge6q%R%S358#N znRPgqY=&4w#h^~v?l}vv>GRNnD^>+(oOiL#;7*}%Mc+Rb1CvM96LZPwoHP^FcO|U= zNPH_uJdonMA`89^$By^$3{gCiOkT_lS-~k+Sfi}m0)cKx0V|`+V+fAUOFp=Qv#-08 z0TtYWfrIX+6oEuAB_4Y4oLftpy4S}x_o|QP48|m?q|rI!$4a?L7Q)Kh3f2+B0t34B zNGE)fL0h;)Ka>R?(k3AmW@ap$_|B3GT~?pnqN8pbyk-H9odwEI>eCT}E8A=y)px6{ zy}f#?R{s{NAep^@g*aUF@R6if-e?jbJbZ{*WC0k+_-qevupK03gm}K-At2BZ>j?26 zl5gQ?c7zF^x9w-}Kejw)0u)lP;6dr4mNx9>xy@o6l;t%GbW3uYiw?WHIM>Slx@S+I zr7F86d%aV3Ln+x2vJ;k(7E!bdR>IB#HmYQ7DJH69?BlRd+e!yxDz&^q89cjzDDPF` zY;f4qm$}thau5XBrdZKV9@kLTj%UeQpu%EQSV<}@n5m%w293Lt<>F-tGuvaSI;O~4 zuPw>z}$vw1vY1B~J>pXNIh4teMEcX`q)QNuCseA52B zMfvSW=$sBchc`eK;XWMXE}3BCTcb+ufdqOB(SMG;0FgBCXA<)?-jHYE&rO_?LjXc- z@iF*ifnoFs_>$w zD)xWa{UG1ZdL?=v6Zdk8UMAlxc>(W+gYZNk-uEhUU-%n+CG5nzT62r>y@I*LwB1HL zg?rIj1#w}TP5dIDTqLr1LFjVvN-XN-f>-4W!k7A`Ad6)2g3wKe3e28tpW7%Cn0rvb zr6U)sVkPGdnzXrfOqAjpL2gA&Vhhz#1OjC&Jtr57s!<5O6xBk7rDPN;Y+@5e{Bs+i zv8hlU)#yT{WjhKLmK-WnxDaO$QlkJH3h>Ir~Nk}3#mk15!QXs3xaYY%|Enbx^a};G5937F*UF53iouaukVMUyX zQg5=&t(9c>OlWVh+I*vFZXL;X)K>c9TW)2TZ1`)YQ!kIst!A3LxHpztRgzng`nFq)cF!jtfy0P8H>9nmGg11QKT9peV=Ta(&Y=lmLgoBsFa%m zMNP~^i!+CCjWq>oDAp7xE9oy#RC1+2(E{8+D2?2v&*RRlsJ+1>5b(7wq5TrTGx3@& zl@>^`mW2v2ujm!C`HGbUdk+gT(KB_t!4J!3#w=lC0A1oTE^E(xY-k~B-dZ-cOqz9H z?G7N25Y1D&0~C}U<)_`De!@$;Lv3sW_tEZ9nR#e;s%J{@Nln&rC?kED-dPUneBUew zfF#1~nH8)&>z5U+Xns+Gkxl56<$y&_nmn=s)o`**`C~bC)SPW{juxrQeX*PxvX}0F z%X{pW%71oq+p*nemvRxA9)}SLoT*xO03A~ox?2Yip zryy%$-CX)CSa~yf0ZtQB5nb9NHiYZE$hJ4pX5A*gae{sbU%&bA1O5{371Lf5P^g<3 z;J4YUTeqqTnhuBIV_*PHl>@H|3-^#S zf+LCF_=hc-k76hf`jfz=5e#Q0K~5R2!fuXX2afmgctb?M#DXkl1Z})KI()xP26WVq zu8-@jE$$?9R0 z)qvhwg5KIJy(mWD92Z9*E4({8h#}YaW+7jQ{olnws~Tz81}?X`<5C>7tdNGBq#EUx z3GUa%mC{WVMO%s@EX77Jmb>u~w}o`3DucWrli+CDR3Dp0hkf<5ZF3@gFNT~B8uJo~Tz`14O869GSe3!fp4 zoNDwj`gD8o%};*%_iO8LZ*A@87k|8DKg55(R2RPxznmZG$5eZE=GFgIs(uZwX6qw^ z!nshsNG{^n=+Command groups in `az datafactory` extension +|CLI Command Group|Group Swagger name|Commands| +|---------|------------|--------| +|az datafactory|Factories|[commands](#CommandsInFactories)| +|az datafactory integration-runtime|IntegrationRuntimes|[commands](#CommandsInIntegrationRuntimes)| +|az datafactory integration-runtime-node|IntegrationRuntimeNodes|[commands](#CommandsInIntegrationRuntimeNodes)| +|az datafactory linked-service|LinkedServices|[commands](#CommandsInLinkedServices)| +|az datafactory dataset|Datasets|[commands](#CommandsInDatasets)| +|az datafactory pipeline|Pipelines|[commands](#CommandsInPipelines)| +|az datafactory pipeline-run|PipelineRuns|[commands](#CommandsInPipelineRuns)| +|az datafactory activity-run|ActivityRuns|[commands](#CommandsInActivityRuns)| +|az datafactory trigger|Triggers|[commands](#CommandsInTriggers)| +|az datafactory trigger-run|TriggerRuns|[commands](#CommandsInTriggerRuns)| + +## COMMANDS +### Commands in `az datafactory` group +|CLI Command|Operation Swagger name|Parameters|Examples| +|---------|------------|--------|-----------| +|[az datafactory list](#FactoriesListByResourceGroup)|ListByResourceGroup|[Parameters](#ParametersFactoriesListByResourceGroup)|[Example](#ExamplesFactoriesListByResourceGroup)| +|[az datafactory list](#FactoriesList)|List|[Parameters](#ParametersFactoriesList)|[Example](#ExamplesFactoriesList)| +|[az datafactory show](#FactoriesGet)|Get|[Parameters](#ParametersFactoriesGet)|[Example](#ExamplesFactoriesGet)| +|[az datafactory create](#FactoriesCreateOrUpdate#Create)|CreateOrUpdate#Create|[Parameters](#ParametersFactoriesCreateOrUpdate#Create)|[Example](#ExamplesFactoriesCreateOrUpdate#Create)| +|[az datafactory update](#FactoriesUpdate)|Update|[Parameters](#ParametersFactoriesUpdate)|[Example](#ExamplesFactoriesUpdate)| +|[az datafactory delete](#FactoriesDelete)|Delete|[Parameters](#ParametersFactoriesDelete)|[Example](#ExamplesFactoriesDelete)| +|[az datafactory configure-factory-repo](#FactoriesConfigureFactoryRepo)|ConfigureFactoryRepo|[Parameters](#ParametersFactoriesConfigureFactoryRepo)|[Example](#ExamplesFactoriesConfigureFactoryRepo)| +|[az datafactory get-data-plane-access](#FactoriesGetDataPlaneAccess)|GetDataPlaneAccess|[Parameters](#ParametersFactoriesGetDataPlaneAccess)|[Example](#ExamplesFactoriesGetDataPlaneAccess)| +|[az datafactory get-git-hub-access-token](#FactoriesGetGitHubAccessToken)|GetGitHubAccessToken|[Parameters](#ParametersFactoriesGetGitHubAccessToken)|[Example](#ExamplesFactoriesGetGitHubAccessToken)| + +### Commands in `az datafactory activity-run` group +|CLI Command|Operation Swagger name|Parameters|Examples| +|---------|------------|--------|-----------| +|[az datafactory activity-run query-by-pipeline-run](#ActivityRunsQueryByPipelineRun)|QueryByPipelineRun|[Parameters](#ParametersActivityRunsQueryByPipelineRun)|[Example](#ExamplesActivityRunsQueryByPipelineRun)| + +### Commands in `az datafactory dataset` group +|CLI Command|Operation Swagger name|Parameters|Examples| +|---------|------------|--------|-----------| +|[az datafactory dataset list](#DatasetsListByFactory)|ListByFactory|[Parameters](#ParametersDatasetsListByFactory)|[Example](#ExamplesDatasetsListByFactory)| +|[az datafactory dataset show](#DatasetsGet)|Get|[Parameters](#ParametersDatasetsGet)|[Example](#ExamplesDatasetsGet)| +|[az datafactory dataset create](#DatasetsCreateOrUpdate#Create)|CreateOrUpdate#Create|[Parameters](#ParametersDatasetsCreateOrUpdate#Create)|[Example](#ExamplesDatasetsCreateOrUpdate#Create)| +|[az datafactory dataset update](#DatasetsCreateOrUpdate#Update)|CreateOrUpdate#Update|[Parameters](#ParametersDatasetsCreateOrUpdate#Update)|[Example](#ExamplesDatasetsCreateOrUpdate#Update)| +|[az datafactory dataset delete](#DatasetsDelete)|Delete|[Parameters](#ParametersDatasetsDelete)|[Example](#ExamplesDatasetsDelete)| + +### Commands in `az datafactory integration-runtime` group +|CLI Command|Operation Swagger name|Parameters|Examples| +|---------|------------|--------|-----------| +|[az datafactory integration-runtime list](#IntegrationRuntimesListByFactory)|ListByFactory|[Parameters](#ParametersIntegrationRuntimesListByFactory)|[Example](#ExamplesIntegrationRuntimesListByFactory)| +|[az datafactory integration-runtime show](#IntegrationRuntimesGet)|Get|[Parameters](#ParametersIntegrationRuntimesGet)|[Example](#ExamplesIntegrationRuntimesGet)| +|[az datafactory integration-runtime linked-integration-runtime create](#IntegrationRuntimesCreateLinkedIntegrationRuntime)|CreateLinkedIntegrationRuntime|[Parameters](#ParametersIntegrationRuntimesCreateLinkedIntegrationRuntime)|[Example](#ExamplesIntegrationRuntimesCreateLinkedIntegrationRuntime)| +|[az datafactory integration-runtime managed create](#IntegrationRuntimesCreateOrUpdate#Create#Managed)|CreateOrUpdate#Create#Managed|[Parameters](#ParametersIntegrationRuntimesCreateOrUpdate#Create#Managed)|Not Found| +|[az datafactory integration-runtime self-hosted create](#IntegrationRuntimesCreateOrUpdate#Create#SelfHosted)|CreateOrUpdate#Create#SelfHosted|[Parameters](#ParametersIntegrationRuntimesCreateOrUpdate#Create#SelfHosted)|[Example](#ExamplesIntegrationRuntimesCreateOrUpdate#Create#SelfHosted)| +|[az datafactory integration-runtime update](#IntegrationRuntimesUpdate)|Update|[Parameters](#ParametersIntegrationRuntimesUpdate)|[Example](#ExamplesIntegrationRuntimesUpdate)| +|[az datafactory integration-runtime delete](#IntegrationRuntimesDelete)|Delete|[Parameters](#ParametersIntegrationRuntimesDelete)|[Example](#ExamplesIntegrationRuntimesDelete)| +|[az datafactory integration-runtime get-connection-info](#IntegrationRuntimesGetConnectionInfo)|GetConnectionInfo|[Parameters](#ParametersIntegrationRuntimesGetConnectionInfo)|[Example](#ExamplesIntegrationRuntimesGetConnectionInfo)| +|[az datafactory integration-runtime get-monitoring-data](#IntegrationRuntimesGetMonitoringData)|GetMonitoringData|[Parameters](#ParametersIntegrationRuntimesGetMonitoringData)|[Example](#ExamplesIntegrationRuntimesGetMonitoringData)| +|[az datafactory integration-runtime get-status](#IntegrationRuntimesGetStatus)|GetStatus|[Parameters](#ParametersIntegrationRuntimesGetStatus)|[Example](#ExamplesIntegrationRuntimesGetStatus)| +|[az datafactory integration-runtime list-auth-key](#IntegrationRuntimesListAuthKeys)|ListAuthKeys|[Parameters](#ParametersIntegrationRuntimesListAuthKeys)|[Example](#ExamplesIntegrationRuntimesListAuthKeys)| +|[az datafactory integration-runtime regenerate-auth-key](#IntegrationRuntimesRegenerateAuthKey)|RegenerateAuthKey|[Parameters](#ParametersIntegrationRuntimesRegenerateAuthKey)|[Example](#ExamplesIntegrationRuntimesRegenerateAuthKey)| +|[az datafactory integration-runtime remove-link](#IntegrationRuntimesRemoveLinks)|RemoveLinks|[Parameters](#ParametersIntegrationRuntimesRemoveLinks)|[Example](#ExamplesIntegrationRuntimesRemoveLinks)| +|[az datafactory integration-runtime start](#IntegrationRuntimesStart)|Start|[Parameters](#ParametersIntegrationRuntimesStart)|[Example](#ExamplesIntegrationRuntimesStart)| +|[az datafactory integration-runtime stop](#IntegrationRuntimesStop)|Stop|[Parameters](#ParametersIntegrationRuntimesStop)|[Example](#ExamplesIntegrationRuntimesStop)| +|[az datafactory integration-runtime sync-credentials](#IntegrationRuntimesSyncCredentials)|SyncCredentials|[Parameters](#ParametersIntegrationRuntimesSyncCredentials)|[Example](#ExamplesIntegrationRuntimesSyncCredentials)| +|[az datafactory integration-runtime upgrade](#IntegrationRuntimesUpgrade)|Upgrade|[Parameters](#ParametersIntegrationRuntimesUpgrade)|[Example](#ExamplesIntegrationRuntimesUpgrade)| + +### Commands in `az datafactory integration-runtime-node` group +|CLI Command|Operation Swagger name|Parameters|Examples| +|---------|------------|--------|-----------| +|[az datafactory integration-runtime-node show](#IntegrationRuntimeNodesGet)|Get|[Parameters](#ParametersIntegrationRuntimeNodesGet)|[Example](#ExamplesIntegrationRuntimeNodesGet)| +|[az datafactory integration-runtime-node update](#IntegrationRuntimeNodesUpdate)|Update|[Parameters](#ParametersIntegrationRuntimeNodesUpdate)|[Example](#ExamplesIntegrationRuntimeNodesUpdate)| +|[az datafactory integration-runtime-node delete](#IntegrationRuntimeNodesDelete)|Delete|[Parameters](#ParametersIntegrationRuntimeNodesDelete)|[Example](#ExamplesIntegrationRuntimeNodesDelete)| +|[az datafactory integration-runtime-node get-ip-address](#IntegrationRuntimeNodesGetIpAddress)|GetIpAddress|[Parameters](#ParametersIntegrationRuntimeNodesGetIpAddress)|[Example](#ExamplesIntegrationRuntimeNodesGetIpAddress)| + +### Commands in `az datafactory linked-service` group +|CLI Command|Operation Swagger name|Parameters|Examples| +|---------|------------|--------|-----------| +|[az datafactory linked-service list](#LinkedServicesListByFactory)|ListByFactory|[Parameters](#ParametersLinkedServicesListByFactory)|[Example](#ExamplesLinkedServicesListByFactory)| +|[az datafactory linked-service show](#LinkedServicesGet)|Get|[Parameters](#ParametersLinkedServicesGet)|[Example](#ExamplesLinkedServicesGet)| +|[az datafactory linked-service create](#LinkedServicesCreateOrUpdate#Create)|CreateOrUpdate#Create|[Parameters](#ParametersLinkedServicesCreateOrUpdate#Create)|[Example](#ExamplesLinkedServicesCreateOrUpdate#Create)| +|[az datafactory linked-service update](#LinkedServicesCreateOrUpdate#Update)|CreateOrUpdate#Update|[Parameters](#ParametersLinkedServicesCreateOrUpdate#Update)|[Example](#ExamplesLinkedServicesCreateOrUpdate#Update)| +|[az datafactory linked-service delete](#LinkedServicesDelete)|Delete|[Parameters](#ParametersLinkedServicesDelete)|[Example](#ExamplesLinkedServicesDelete)| + +### Commands in `az datafactory pipeline` group +|CLI Command|Operation Swagger name|Parameters|Examples| +|---------|------------|--------|-----------| +|[az datafactory pipeline list](#PipelinesListByFactory)|ListByFactory|[Parameters](#ParametersPipelinesListByFactory)|[Example](#ExamplesPipelinesListByFactory)| +|[az datafactory pipeline show](#PipelinesGet)|Get|[Parameters](#ParametersPipelinesGet)|[Example](#ExamplesPipelinesGet)| +|[az datafactory pipeline create](#PipelinesCreateOrUpdate#Create)|CreateOrUpdate#Create|[Parameters](#ParametersPipelinesCreateOrUpdate#Create)|[Example](#ExamplesPipelinesCreateOrUpdate#Create)| +|[az datafactory pipeline update](#PipelinesCreateOrUpdate#Update)|CreateOrUpdate#Update|[Parameters](#ParametersPipelinesCreateOrUpdate#Update)|[Example](#ExamplesPipelinesCreateOrUpdate#Update)| +|[az datafactory pipeline delete](#PipelinesDelete)|Delete|[Parameters](#ParametersPipelinesDelete)|[Example](#ExamplesPipelinesDelete)| +|[az datafactory pipeline create-run](#PipelinesCreateRun)|CreateRun|[Parameters](#ParametersPipelinesCreateRun)|[Example](#ExamplesPipelinesCreateRun)| + +### Commands in `az datafactory pipeline-run` group +|CLI Command|Operation Swagger name|Parameters|Examples| +|---------|------------|--------|-----------| +|[az datafactory pipeline-run show](#PipelineRunsGet)|Get|[Parameters](#ParametersPipelineRunsGet)|[Example](#ExamplesPipelineRunsGet)| +|[az datafactory pipeline-run cancel](#PipelineRunsCancel)|Cancel|[Parameters](#ParametersPipelineRunsCancel)|[Example](#ExamplesPipelineRunsCancel)| +|[az datafactory pipeline-run query-by-factory](#PipelineRunsQueryByFactory)|QueryByFactory|[Parameters](#ParametersPipelineRunsQueryByFactory)|[Example](#ExamplesPipelineRunsQueryByFactory)| + +### Commands in `az datafactory trigger` group +|CLI Command|Operation Swagger name|Parameters|Examples| +|---------|------------|--------|-----------| +|[az datafactory trigger list](#TriggersListByFactory)|ListByFactory|[Parameters](#ParametersTriggersListByFactory)|[Example](#ExamplesTriggersListByFactory)| +|[az datafactory trigger show](#TriggersGet)|Get|[Parameters](#ParametersTriggersGet)|[Example](#ExamplesTriggersGet)| +|[az datafactory trigger create](#TriggersCreateOrUpdate#Create)|CreateOrUpdate#Create|[Parameters](#ParametersTriggersCreateOrUpdate#Create)|[Example](#ExamplesTriggersCreateOrUpdate#Create)| +|[az datafactory trigger update](#TriggersCreateOrUpdate#Update)|CreateOrUpdate#Update|[Parameters](#ParametersTriggersCreateOrUpdate#Update)|[Example](#ExamplesTriggersCreateOrUpdate#Update)| +|[az datafactory trigger delete](#TriggersDelete)|Delete|[Parameters](#ParametersTriggersDelete)|[Example](#ExamplesTriggersDelete)| +|[az datafactory trigger get-event-subscription-status](#TriggersGetEventSubscriptionStatus)|GetEventSubscriptionStatus|[Parameters](#ParametersTriggersGetEventSubscriptionStatus)|[Example](#ExamplesTriggersGetEventSubscriptionStatus)| +|[az datafactory trigger query-by-factory](#TriggersQueryByFactory)|QueryByFactory|[Parameters](#ParametersTriggersQueryByFactory)|[Example](#ExamplesTriggersQueryByFactory)| +|[az datafactory trigger start](#TriggersStart)|Start|[Parameters](#ParametersTriggersStart)|[Example](#ExamplesTriggersStart)| +|[az datafactory trigger stop](#TriggersStop)|Stop|[Parameters](#ParametersTriggersStop)|[Example](#ExamplesTriggersStop)| +|[az datafactory trigger subscribe-to-event](#TriggersSubscribeToEvents)|SubscribeToEvents|[Parameters](#ParametersTriggersSubscribeToEvents)|[Example](#ExamplesTriggersSubscribeToEvents)| +|[az datafactory trigger unsubscribe-from-event](#TriggersUnsubscribeFromEvents)|UnsubscribeFromEvents|[Parameters](#ParametersTriggersUnsubscribeFromEvents)|[Example](#ExamplesTriggersUnsubscribeFromEvents)| + +### Commands in `az datafactory trigger-run` group +|CLI Command|Operation Swagger name|Parameters|Examples| +|---------|------------|--------|-----------| +|[az datafactory trigger-run cancel](#TriggerRunsCancel)|Cancel|[Parameters](#ParametersTriggerRunsCancel)|[Example](#ExamplesTriggerRunsCancel)| +|[az datafactory trigger-run query-by-factory](#TriggerRunsQueryByFactory)|QueryByFactory|[Parameters](#ParametersTriggerRunsQueryByFactory)|[Example](#ExamplesTriggerRunsQueryByFactory)| +|[az datafactory trigger-run rerun](#TriggerRunsRerun)|Rerun|[Parameters](#ParametersTriggerRunsRerun)|[Example](#ExamplesTriggerRunsRerun)| + + +## COMMAND DETAILS + +### group `az datafactory` +#### Command `az datafactory list` + +##### Example +``` +az datafactory list --resource-group "exampleResourceGroup" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| -|**--factory-name**|string|The factory name.|factory_name|factoryName| -|**--run-id**|string|The pipeline run identifier.|run_id|runId| -|**--last-updated-after**|date-time|The time at or after which the run event was updated in 'ISO 8601' format.|last_updated_after|lastUpdatedAfter| -|**--last-updated-before**|date-time|The time at or before which the run event was updated in 'ISO 8601' format.|last_updated_before|lastUpdatedBefore| -|**--continuation-token**|string|The continuation token for getting the next page of results. Null for first page.|continuation_token|continuationToken| -|**--filters**|array|List of filters.|filters|filters| -|**--order-by**|array|List of OrderBy option.|order_by|orderBy| - -### datafactory dataset create - -create a datafactory dataset. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory dataset|Datasets| -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|create|CreateOrUpdate#Create| +#### Command `az datafactory list` -#### Parameters +##### Example +``` +az datafactory list +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| -|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| -|**--factory-name**|string|The factory name.|factory_name|factoryName| -|**--dataset-name**|string|The dataset name.|dataset_name|datasetName| -|**--properties**|object|Dataset properties.|properties|properties| -|**--if-match**|string|ETag of the dataset entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update.|if_match|If-Match| - -### datafactory dataset delete +#### Command `az datafactory show` -delete a datafactory dataset. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory dataset|Datasets| - -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|delete|Delete| - -#### Parameters +##### Example +``` +az datafactory show --name "exampleFactoryName" --resource-group "exampleResourceGroup" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| |**--factory-name**|string|The factory name.|factory_name|factoryName| -|**--dataset-name**|string|The dataset name.|dataset_name|datasetName| - -### datafactory dataset list - -list a datafactory dataset. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory dataset|Datasets| +|**--if-none-match**|string|ETag of the factory entity. Should only be specified for get. If the ETag matches the existing entity tag, or if * was provided, then no content will be returned.|if_none_match|If-None-Match| -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|list|ListByFactory| +#### Command `az datafactory create` -#### Parameters +##### Example +``` +az datafactory create --location "East US" --name "exampleFactoryName" --resource-group "exampleResourceGroup" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| |**--factory-name**|string|The factory name.|factory_name|factoryName| +|**--if-match**|string|ETag of the factory entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update.|if_match|If-Match| +|**--location**|string|The resource location.|location|location| +|**--tags**|dictionary|The resource tags.|tags|tags| +|**--factory-vsts-configuration**|object|Factory's VSTS repo information.|factory_vsts_configuration|FactoryVSTSConfiguration| +|**--factory-git-hub-configuration**|object|Factory's GitHub repo information.|factory_git_hub_configuration|FactoryGitHubConfiguration| +|**--global-parameters**|dictionary|List of parameters for factory.|global_parameters|globalParameters| -### datafactory dataset show - -show a datafactory dataset. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory dataset|Datasets| - -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|show|Get| +#### Command `az datafactory update` -#### Parameters +##### Example +``` +az datafactory update --name "exampleFactoryName" --tags exampleTag="exampleValue" --resource-group \ +"exampleResourceGroup" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| |**--factory-name**|string|The factory name.|factory_name|factoryName| -|**--dataset-name**|string|The dataset name.|dataset_name|datasetName| -|**--if-none-match**|string|ETag of the dataset entity. Should only be specified for get. If the ETag matches the existing entity tag, or if * was provided, then no content will be returned.|if_none_match|If-None-Match| - -### datafactory dataset update - -update a datafactory dataset. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory dataset|Datasets| +|**--tags**|dictionary|The resource tags.|tags|tags| -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|update|CreateOrUpdate#Update| +#### Command `az datafactory delete` -#### Parameters +##### Example +``` +az datafactory delete --name "exampleFactoryName" --resource-group "exampleResourceGroup" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| |**--factory-name**|string|The factory name.|factory_name|factoryName| -|**--dataset-name**|string|The dataset name.|dataset_name|datasetName| -|**--linked-service-name**|object|Linked service reference.|linked_service_name|linkedServiceName| -|**--if-match**|string|ETag of the dataset entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update.|if_match|If-Match| -|**--description**|string|Dataset description.|description|description| -|**--structure**|any|Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.|structure|structure| -|**--schema**|any|Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.|schema|schema| -|**--parameters**|dictionary|Parameters for dataset.|parameters|parameters| -|**--annotations**|array|List of tags that can be used for describing the Dataset.|annotations|annotations| -|**--folder**|object|The folder that this Dataset is in. If not specified, Dataset will appear at the root level.|folder|folder| - -### datafactory factory configure-factory-repo - -configure-factory-repo a datafactory factory. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory factory|Factories| -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|configure-factory-repo|ConfigureFactoryRepo| +#### Command `az datafactory configure-factory-repo` -#### Parameters +##### Example +``` +az datafactory configure-factory-repo --factory-resource-id "/subscriptions/12345678-1234-1234-1234-12345678abc/resourc\ +eGroups/exampleResourceGroup/providers/Microsoft.DataFactory/factories/exampleFactoryName" \ +--factory-vsts-configuration account-name="ADF" collaboration-branch="master" last-commit-id="" project-name="project" \ +repository-name="repo" root-folder="/" tenant-id="" --location "East US" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--location**|string|The location identifier.|location|locationId| @@ -163,67 +223,15 @@ configure-factory-repo a datafactory factory. |**--factory-vsts-configuration**|object|Factory's VSTS repo information.|factory_vsts_configuration|FactoryVSTSConfiguration| |**--factory-git-hub-configuration**|object|Factory's GitHub repo information.|factory_git_hub_configuration|FactoryGitHubConfiguration| -### datafactory factory create - -create a datafactory factory. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory factory|Factories| - -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|create|CreateOrUpdate#Create| - -#### Parameters -|Option|Type|Description|Path (SDK)|Swagger name| -|------|----|-----------|----------|------------| -|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| -|**--factory-name**|string|The factory name.|factory_name|factoryName| -|**--if-match**|string|ETag of the factory entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update.|if_match|If-Match| -|**--location**|string|The resource location.|location|location| -|**--tags**|dictionary|The resource tags.|tags|tags| -|**--factory-vsts-configuration**|object|Factory's VSTS repo information.|factory_vsts_configuration|FactoryVSTSConfiguration| -|**--factory-git-hub-configuration**|object|Factory's GitHub repo information.|factory_git_hub_configuration|FactoryGitHubConfiguration| -|**--global-parameters**|dictionary|List of parameters for factory.|global_parameters|globalParameters| - -### datafactory factory delete - -delete a datafactory factory. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory factory|Factories| - -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|delete|Delete| - -#### Parameters -|Option|Type|Description|Path (SDK)|Swagger name| -|------|----|-----------|----------|------------| -|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| -|**--factory-name**|string|The factory name.|factory_name|factoryName| - -### datafactory factory get-data-plane-access - -get-data-plane-access a datafactory factory. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory factory|Factories| - -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|get-data-plane-access|GetDataPlaneAccess| +#### Command `az datafactory get-data-plane-access` -#### Parameters +##### Example +``` +az datafactory get-data-plane-access --name "exampleFactoryName" --access-resource-path "" --expire-time \ +"2018-11-10T09:46:20.2659347Z" --permissions "r" --profile-name "DefaultProfile" --start-time \ +"2018-11-10T02:46:20.2659347Z" --resource-group "exampleResourceGroup" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| @@ -234,21 +242,14 @@ get-data-plane-access a datafactory factory. |**--start-time**|string|Start time for the token. If not specified the current time will be used.|start_time|startTime| |**--expire-time**|string|Expiration time for the token. Maximum duration for the token is eight hours and by default the token will expire in eight hours.|expire_time|expireTime| -### datafactory factory get-git-hub-access-token +#### Command `az datafactory get-git-hub-access-token` -get-git-hub-access-token a datafactory factory. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory factory|Factories| - -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|get-git-hub-access-token|GetGitHubAccessToken| - -#### Parameters +##### Example +``` +az datafactory get-git-hub-access-token --name "exampleFactoryName" --git-hub-access-code "some" \ +--git-hub-access-token-base-url "some" --git-hub-client-id "some" --resource-group "exampleResourceGroup" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| @@ -257,167 +258,151 @@ get-git-hub-access-token a datafactory factory. |**--git-hub-access-token-base-url**|string|GitHub access token base URL.|git_hub_access_token_base_url|gitHubAccessTokenBaseUrl| |**--git-hub-client-id**|string|GitHub application client ID.|git_hub_client_id|gitHubClientId| -### datafactory factory list - -list a datafactory factory. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory factory|Factories| +### group `az datafactory activity-run` +#### Command `az datafactory activity-run query-by-pipeline-run` -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|list|ListByResourceGroup| -|list|List| - -#### Parameters +##### Example +``` +az datafactory activity-run query-by-pipeline-run --factory-name "exampleFactoryName" --last-updated-after \ +"2018-06-16T00:36:44.3345758Z" --last-updated-before "2018-06-16T00:49:48.3686473Z" --resource-group \ +"exampleResourceGroup" --run-id "2f7fdb90-5df1-4b8e-ac2f-064cfa58202b" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--factory-name**|string|The factory name.|factory_name|factoryName| +|**--run-id**|string|The pipeline run identifier.|run_id|runId| +|**--last-updated-after**|date-time|The time at or after which the run event was updated in 'ISO 8601' format.|last_updated_after|lastUpdatedAfter| +|**--last-updated-before**|date-time|The time at or before which the run event was updated in 'ISO 8601' format.|last_updated_before|lastUpdatedBefore| +|**--continuation-token**|string|The continuation token for getting the next page of results. Null for first page.|continuation_token|continuationToken| +|**--filters**|array|List of filters.|filters|filters| +|**--order-by**|array|List of OrderBy option.|order_by|orderBy| -### datafactory factory show - -show a datafactory factory. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory factory|Factories| - -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|show|Get| +### group `az datafactory dataset` +#### Command `az datafactory dataset list` -#### Parameters +##### Example +``` +az datafactory dataset list --factory-name "exampleFactoryName" --resource-group "exampleResourceGroup" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| |**--factory-name**|string|The factory name.|factory_name|factoryName| -|**--if-none-match**|string|ETag of the factory entity. Should only be specified for get. If the ETag matches the existing entity tag, or if * was provided, then no content will be returned.|if_none_match|If-None-Match| -### datafactory factory update +#### Command `az datafactory dataset show` -update a datafactory factory. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory factory|Factories| - -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|update|Update| - -#### Parameters +##### Example +``` +az datafactory dataset show --name "exampleDataset" --factory-name "exampleFactoryName" --resource-group \ +"exampleResourceGroup" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| |**--factory-name**|string|The factory name.|factory_name|factoryName| -|**--tags**|dictionary|The resource tags.|tags|tags| - -### datafactory integration-runtime delete - -delete a datafactory integration-runtime. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory integration-runtime|IntegrationRuntimes| - -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|delete|Delete| +|**--dataset-name**|string|The dataset name.|dataset_name|datasetName| +|**--if-none-match**|string|ETag of the dataset entity. Should only be specified for get. If the ETag matches the existing entity tag, or if * was provided, then no content will be returned.|if_none_match|If-None-Match| -#### Parameters +#### Command `az datafactory dataset create` + +##### Example +``` +az datafactory dataset create --properties "{\\"type\\":\\"AzureBlob\\",\\"linkedServiceName\\":{\\"type\\":\\"LinkedSe\ +rviceReference\\",\\"referenceName\\":\\"exampleLinkedService\\"},\\"parameters\\":{\\"MyFileName\\":{\\"type\\":\\"Str\ +ing\\"},\\"MyFolderPath\\":{\\"type\\":\\"String\\"}},\\"typeProperties\\":{\\"format\\":{\\"type\\":\\"TextFormat\\"},\ +\\"fileName\\":{\\"type\\":\\"Expression\\",\\"value\\":\\"@dataset().MyFileName\\"},\\"folderPath\\":{\\"type\\":\\"Ex\ +pression\\",\\"value\\":\\"@dataset().MyFolderPath\\"}}}" --name "exampleDataset" --factory-name "exampleFactoryName" \ +--resource-group "exampleResourceGroup" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| |**--factory-name**|string|The factory name.|factory_name|factoryName| -|**--integration-runtime-name**|string|The integration runtime name.|integration_runtime_name|integrationRuntimeName| - -### datafactory integration-runtime get-connection-info - -get-connection-info a datafactory integration-runtime. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory integration-runtime|IntegrationRuntimes| +|**--dataset-name**|string|The dataset name.|dataset_name|datasetName| +|**--properties**|object|Dataset properties.|properties|properties| +|**--if-match**|string|ETag of the dataset entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update.|if_match|If-Match| -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|get-connection-info|GetConnectionInfo| +#### Command `az datafactory dataset update` -#### Parameters +##### Example +``` +az datafactory dataset update --description "Example description" --linked-service-name "{\\"type\\":\\"LinkedServiceRe\ +ference\\",\\"referenceName\\":\\"exampleLinkedService\\"}" --parameters "{\\"MyFileName\\":{\\"type\\":\\"String\\"},\ +\\"MyFolderPath\\":{\\"type\\":\\"String\\"}}" --name "exampleDataset" --factory-name "exampleFactoryName" \ +--resource-group "exampleResourceGroup" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| |**--factory-name**|string|The factory name.|factory_name|factoryName| -|**--integration-runtime-name**|string|The integration runtime name.|integration_runtime_name|integrationRuntimeName| - -### datafactory integration-runtime get-monitoring-data - -get-monitoring-data a datafactory integration-runtime. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory integration-runtime|IntegrationRuntimes| +|**--dataset-name**|string|The dataset name.|dataset_name|datasetName| +|**--linked-service-name**|object|Linked service reference.|linked_service_name|linkedServiceName| +|**--if-match**|string|ETag of the dataset entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update.|if_match|If-Match| +|**--description**|string|Dataset description.|description|description| +|**--structure**|any|Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement.|structure|structure| +|**--schema**|any|Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement.|schema|schema| +|**--parameters**|dictionary|Parameters for dataset.|parameters|parameters| +|**--annotations**|array|List of tags that can be used for describing the Dataset.|annotations|annotations| +|**--folder**|object|The folder that this Dataset is in. If not specified, Dataset will appear at the root level.|folder|folder| -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|get-monitoring-data|GetMonitoringData| +#### Command `az datafactory dataset delete` -#### Parameters +##### Example +``` +az datafactory dataset delete --name "exampleDataset" --factory-name "exampleFactoryName" --resource-group \ +"exampleResourceGroup" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| |**--factory-name**|string|The factory name.|factory_name|factoryName| -|**--integration-runtime-name**|string|The integration runtime name.|integration_runtime_name|integrationRuntimeName| - -### datafactory integration-runtime get-status +|**--dataset-name**|string|The dataset name.|dataset_name|datasetName| -get-status a datafactory integration-runtime. +### group `az datafactory integration-runtime` +#### Command `az datafactory integration-runtime list` -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory integration-runtime|IntegrationRuntimes| +##### Example +``` +az datafactory integration-runtime list --factory-name "exampleFactoryName" --resource-group "exampleResourceGroup" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--factory-name**|string|The factory name.|factory_name|factoryName| -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|get-status|GetStatus| +#### Command `az datafactory integration-runtime show` -#### Parameters +##### Example +``` +az datafactory integration-runtime show --factory-name "exampleFactoryName" --name "exampleIntegrationRuntime" \ +--resource-group "exampleResourceGroup" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| |**--factory-name**|string|The factory name.|factory_name|factoryName| |**--integration-runtime-name**|string|The integration runtime name.|integration_runtime_name|integrationRuntimeName| +|**--if-none-match**|string|ETag of the integration runtime entity. Should only be specified for get. If the ETag matches the existing entity tag, or if * was provided, then no content will be returned.|if_none_match|If-None-Match| -### datafactory integration-runtime linked-integration-runtime create - -linked-integration-runtime create a datafactory integration-runtime. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory integration-runtime|IntegrationRuntimes| - -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|linked-integration-runtime create|CreateLinkedIntegrationRuntime| +#### Command `az datafactory integration-runtime linked-integration-runtime create` -#### Parameters +##### Example +``` +az datafactory integration-runtime linked-integration-runtime create --name "bfa92911-9fb6-4fbe-8f23-beae87bc1c83" \ +--location "West US" --data-factory-name "e9955d6d-56ea-4be3-841c-52a12c1a9981" --subscription-id \ +"061774c7-4b5a-4159-a55b-365581830283" --factory-name "exampleFactoryName" --integration-runtime-name \ +"exampleIntegrationRuntime" --resource-group "exampleResourceGroup" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| @@ -428,328 +413,217 @@ linked-integration-runtime create a datafactory integration-runtime. |**--data-factory-name**|string|The name of the data factory that the linked integration runtime belongs to.|data_factory_name|dataFactoryName| |**--location**|string|The location of the data factory that the linked integration runtime belongs to.|location|dataFactoryLocation| -### datafactory integration-runtime list +#### Command `az datafactory integration-runtime managed create` -list a datafactory integration-runtime. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory integration-runtime|IntegrationRuntimes| - -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|list|ListByFactory| - -#### Parameters +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| |**--factory-name**|string|The factory name.|factory_name|factoryName| +|**--integration-runtime-name**|string|The integration runtime name.|integration_runtime_name|integrationRuntimeName| +|**--if-match**|string|ETag of the integration runtime entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update.|if_match|If-Match| +|**--description**|string|Integration runtime description.|managed_description|description| +|**--compute-properties**|object|The compute resource for managed integration runtime.|managed_compute_properties|computeProperties| +|**--ssis-properties**|object|SSIS properties for managed integration runtime.|managed_ssis_properties|ssisProperties| -### datafactory integration-runtime list-auth-key - -list-auth-key a datafactory integration-runtime. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory integration-runtime|IntegrationRuntimes| - -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|list-auth-key|ListAuthKeys| +#### Command `az datafactory integration-runtime self-hosted create` -#### Parameters +##### Example +``` +az datafactory integration-runtime self-hosted create --factory-name "exampleFactoryName" --description "A selfhosted \ +integration runtime" --name "exampleIntegrationRuntime" --resource-group "exampleResourceGroup" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| |**--factory-name**|string|The factory name.|factory_name|factoryName| |**--integration-runtime-name**|string|The integration runtime name.|integration_runtime_name|integrationRuntimeName| +|**--if-match**|string|ETag of the integration runtime entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update.|if_match|If-Match| +|**--description**|string|Integration runtime description.|self_hosted_description|description| +|**--linked-info**|object|The base definition of a linked integration runtime.|self_hosted_linked_info|linkedInfo| -### datafactory integration-runtime managed create - -managed create a datafactory integration-runtime. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory integration-runtime|IntegrationRuntimes| - -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|managed create|CreateOrUpdate#Create#Managed| +#### Command `az datafactory integration-runtime update` -#### Parameters +##### Example +``` +az datafactory integration-runtime update --factory-name "exampleFactoryName" --name "exampleIntegrationRuntime" \ +--resource-group "exampleResourceGroup" --auto-update "Off" --update-delay-offset "\\"PT3H\\"" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| |**--factory-name**|string|The factory name.|factory_name|factoryName| |**--integration-runtime-name**|string|The integration runtime name.|integration_runtime_name|integrationRuntimeName| -|**--if-match**|string|ETag of the integration runtime entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update.|if_match|If-Match| -|**--description**|string|Integration runtime description.|managed_description|description| -|**--type-properties-compute-properties**|object|The compute resource for managed integration runtime.|managed_compute_properties|computeProperties| -|**--type-properties-ssis-properties**|object|SSIS properties for managed integration runtime.|managed_ssis_properties|ssisProperties| - -### datafactory integration-runtime regenerate-auth-key - -regenerate-auth-key a datafactory integration-runtime. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory integration-runtime|IntegrationRuntimes| +|**--auto-update**|choice|Enables or disables the auto-update feature of the self-hosted integration runtime. See https://go.microsoft.com/fwlink/?linkid=854189.|auto_update|autoUpdate| +|**--update-delay-offset**|string|The time offset (in hours) in the day, e.g., PT03H is 3 hours. The integration runtime auto update will happen on that time.|update_delay_offset|updateDelayOffset| -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|regenerate-auth-key|RegenerateAuthKey| +#### Command `az datafactory integration-runtime delete` -#### Parameters +##### Example +``` +az datafactory integration-runtime delete --factory-name "exampleFactoryName" --name "exampleIntegrationRuntime" \ +--resource-group "exampleResourceGroup" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| |**--factory-name**|string|The factory name.|factory_name|factoryName| |**--integration-runtime-name**|string|The integration runtime name.|integration_runtime_name|integrationRuntimeName| -|**--key-name**|choice|The name of the authentication key to regenerate.|key_name|keyName| - -### datafactory integration-runtime remove-link -remove-link a datafactory integration-runtime. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory integration-runtime|IntegrationRuntimes| +#### Command `az datafactory integration-runtime get-connection-info` -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|remove-link|RemoveLinks| - -#### Parameters +##### Example +``` +az datafactory integration-runtime get-connection-info --factory-name "exampleFactoryName" --name \ +"exampleIntegrationRuntime" --resource-group "exampleResourceGroup" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| |**--factory-name**|string|The factory name.|factory_name|factoryName| |**--integration-runtime-name**|string|The integration runtime name.|integration_runtime_name|integrationRuntimeName| -|**--linked-factory-name**|string|The data factory name for linked integration runtime.|linked_factory_name|linkedFactoryName| - -### datafactory integration-runtime self-hosted create - -self-hosted create a datafactory integration-runtime. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory integration-runtime|IntegrationRuntimes| -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|self-hosted create|CreateOrUpdate#Create#SelfHosted| +#### Command `az datafactory integration-runtime get-monitoring-data` -#### Parameters +##### Example +``` +az datafactory integration-runtime get-monitoring-data --factory-name "exampleFactoryName" --name \ +"exampleIntegrationRuntime" --resource-group "exampleResourceGroup" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| |**--factory-name**|string|The factory name.|factory_name|factoryName| |**--integration-runtime-name**|string|The integration runtime name.|integration_runtime_name|integrationRuntimeName| -|**--if-match**|string|ETag of the integration runtime entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update.|if_match|If-Match| -|**--description**|string|Integration runtime description.|self_hosted_description|description| -|**--type-properties-linked-info**|object|The base definition of a linked integration runtime.|self_hosted_linked_info|linkedInfo| - -### datafactory integration-runtime show -show a datafactory integration-runtime. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory integration-runtime|IntegrationRuntimes| - -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|show|Get| +#### Command `az datafactory integration-runtime get-status` -#### Parameters +##### Example +``` +az datafactory integration-runtime get-status --factory-name "exampleFactoryName" --name "exampleIntegrationRuntime" \ +--resource-group "exampleResourceGroup" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| |**--factory-name**|string|The factory name.|factory_name|factoryName| |**--integration-runtime-name**|string|The integration runtime name.|integration_runtime_name|integrationRuntimeName| -|**--if-none-match**|string|ETag of the integration runtime entity. Should only be specified for get. If the ETag matches the existing entity tag, or if * was provided, then no content will be returned.|if_none_match|If-None-Match| - -### datafactory integration-runtime start - -start a datafactory integration-runtime. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory integration-runtime|IntegrationRuntimes| -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|start|Start| +#### Command `az datafactory integration-runtime list-auth-key` -#### Parameters +##### Example +``` +az datafactory integration-runtime list-auth-key --factory-name "exampleFactoryName" --name \ +"exampleIntegrationRuntime" --resource-group "exampleResourceGroup" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| |**--factory-name**|string|The factory name.|factory_name|factoryName| |**--integration-runtime-name**|string|The integration runtime name.|integration_runtime_name|integrationRuntimeName| -### datafactory integration-runtime stop +#### Command `az datafactory integration-runtime regenerate-auth-key` -stop a datafactory integration-runtime. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory integration-runtime|IntegrationRuntimes| - -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|stop|Stop| - -#### Parameters +##### Example +``` +az datafactory integration-runtime regenerate-auth-key --factory-name "exampleFactoryName" --name \ +"exampleIntegrationRuntime" --key-name "authKey2" --resource-group "exampleResourceGroup" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| |**--factory-name**|string|The factory name.|factory_name|factoryName| |**--integration-runtime-name**|string|The integration runtime name.|integration_runtime_name|integrationRuntimeName| +|**--key-name**|choice|The name of the authentication key to regenerate.|key_name|keyName| -### datafactory integration-runtime sync-credentials - -sync-credentials a datafactory integration-runtime. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory integration-runtime|IntegrationRuntimes| +#### Command `az datafactory integration-runtime remove-link` -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|sync-credentials|SyncCredentials| - -#### Parameters +##### Example +``` +az datafactory integration-runtime remove-link --factory-name "exampleFactoryName" --name "exampleIntegrationRuntime" \ +--linked-factory-name "exampleFactoryName-linked" --resource-group "exampleResourceGroup" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| |**--factory-name**|string|The factory name.|factory_name|factoryName| |**--integration-runtime-name**|string|The integration runtime name.|integration_runtime_name|integrationRuntimeName| +|**--linked-factory-name**|string|The data factory name for linked integration runtime.|linked_factory_name|linkedFactoryName| -### datafactory integration-runtime update - -update a datafactory integration-runtime. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory integration-runtime|IntegrationRuntimes| - -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|update|Update| +#### Command `az datafactory integration-runtime start` -#### Parameters +##### Example +``` +az datafactory integration-runtime start --factory-name "exampleFactoryName" --name "exampleManagedIntegrationRuntime" \ +--resource-group "exampleResourceGroup" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| |**--factory-name**|string|The factory name.|factory_name|factoryName| |**--integration-runtime-name**|string|The integration runtime name.|integration_runtime_name|integrationRuntimeName| -|**--auto-update**|choice|Enables or disables the auto-update feature of the self-hosted integration runtime. See https://go.microsoft.com/fwlink/?linkid=854189.|auto_update|autoUpdate| -|**--update-delay-offset**|string|The time offset (in hours) in the day, e.g., PT03H is 3 hours. The integration runtime auto update will happen on that time.|update_delay_offset|updateDelayOffset| - -### datafactory integration-runtime upgrade - -upgrade a datafactory integration-runtime. -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory integration-runtime|IntegrationRuntimes| - -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|upgrade|Upgrade| +#### Command `az datafactory integration-runtime stop` -#### Parameters +##### Example +``` +az datafactory integration-runtime stop --factory-name "exampleFactoryName" --name "exampleManagedIntegrationRuntime" \ +--resource-group "exampleResourceGroup" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| |**--factory-name**|string|The factory name.|factory_name|factoryName| |**--integration-runtime-name**|string|The integration runtime name.|integration_runtime_name|integrationRuntimeName| -### datafactory integration-runtime-node delete - -delete a datafactory integration-runtime-node. +#### Command `az datafactory integration-runtime sync-credentials` -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory integration-runtime-node|IntegrationRuntimeNodes| - -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|delete|Delete| - -#### Parameters +##### Example +``` +az datafactory integration-runtime sync-credentials --factory-name "exampleFactoryName" --name \ +"exampleIntegrationRuntime" --resource-group "exampleResourceGroup" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| |**--factory-name**|string|The factory name.|factory_name|factoryName| |**--integration-runtime-name**|string|The integration runtime name.|integration_runtime_name|integrationRuntimeName| -|**--node-name**|string|The integration runtime node name.|node_name|nodeName| - -### datafactory integration-runtime-node get-ip-address -get-ip-address a datafactory integration-runtime-node. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory integration-runtime-node|IntegrationRuntimeNodes| +#### Command `az datafactory integration-runtime upgrade` -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|get-ip-address|GetIpAddress| - -#### Parameters +##### Example +``` +az datafactory integration-runtime upgrade --factory-name "exampleFactoryName" --name "exampleIntegrationRuntime" \ +--resource-group "exampleResourceGroup" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| |**--factory-name**|string|The factory name.|factory_name|factoryName| |**--integration-runtime-name**|string|The integration runtime name.|integration_runtime_name|integrationRuntimeName| -|**--node-name**|string|The integration runtime node name.|node_name|nodeName| - -### datafactory integration-runtime-node show -show a datafactory integration-runtime-node. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory integration-runtime-node|IntegrationRuntimeNodes| - -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|show|Get| +### group `az datafactory integration-runtime-node` +#### Command `az datafactory integration-runtime-node show` -#### Parameters +##### Example +``` +az datafactory integration-runtime-node show --factory-name "exampleFactoryName" --integration-runtime-name \ +"exampleIntegrationRuntime" --node-name "Node_1" --resource-group "exampleResourceGroup" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| @@ -757,21 +631,14 @@ show a datafactory integration-runtime-node. |**--integration-runtime-name**|string|The integration runtime name.|integration_runtime_name|integrationRuntimeName| |**--node-name**|string|The integration runtime node name.|node_name|nodeName| -### datafactory integration-runtime-node update +#### Command `az datafactory integration-runtime-node update` -update a datafactory integration-runtime-node. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory integration-runtime-node|IntegrationRuntimeNodes| - -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|update|Update| - -#### Parameters +##### Example +``` +az datafactory integration-runtime-node update --factory-name "exampleFactoryName" --integration-runtime-name \ +"exampleIntegrationRuntime" --node-name "Node_1" --resource-group "exampleResourceGroup" --concurrent-jobs-limit 2 +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| @@ -780,85 +647,57 @@ update a datafactory integration-runtime-node. |**--node-name**|string|The integration runtime node name.|node_name|nodeName| |**--concurrent-jobs-limit**|integer|The number of concurrent jobs permitted to run on the integration runtime node. Values between 1 and maxConcurrentJobs(inclusive) are allowed.|concurrent_jobs_limit|concurrentJobsLimit| -### datafactory linked-service create - -create a datafactory linked-service. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory linked-service|LinkedServices| - -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|create|CreateOrUpdate#Create| +#### Command `az datafactory integration-runtime-node delete` -#### Parameters +##### Example +``` +az datafactory integration-runtime-node delete --factory-name "exampleFactoryName" --integration-runtime-name \ +"exampleIntegrationRuntime" --node-name "Node_1" --resource-group "exampleResourceGroup" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| |**--factory-name**|string|The factory name.|factory_name|factoryName| -|**--linked-service-name**|string|The linked service name.|linked_service_name|linkedServiceName| -|**--properties**|object|Properties of linked service.|properties|properties| -|**--if-match**|string|ETag of the linkedService entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update.|if_match|If-Match| - -### datafactory linked-service delete - -delete a datafactory linked-service. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory linked-service|LinkedServices| +|**--integration-runtime-name**|string|The integration runtime name.|integration_runtime_name|integrationRuntimeName| +|**--node-name**|string|The integration runtime node name.|node_name|nodeName| -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|delete|Delete| +#### Command `az datafactory integration-runtime-node get-ip-address` -#### Parameters +##### Example +``` +az datafactory integration-runtime-node get-ip-address --factory-name "exampleFactoryName" --integration-runtime-name \ +"exampleIntegrationRuntime" --node-name "Node_1" --resource-group "exampleResourceGroup" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| |**--factory-name**|string|The factory name.|factory_name|factoryName| -|**--linked-service-name**|string|The linked service name.|linked_service_name|linkedServiceName| - -### datafactory linked-service list - -list a datafactory linked-service. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory linked-service|LinkedServices| +|**--integration-runtime-name**|string|The integration runtime name.|integration_runtime_name|integrationRuntimeName| +|**--node-name**|string|The integration runtime node name.|node_name|nodeName| -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|list|ListByFactory| +### group `az datafactory linked-service` +#### Command `az datafactory linked-service list` -#### Parameters +##### Example +``` +az datafactory linked-service list --factory-name "exampleFactoryName" --resource-group "exampleResourceGroup" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| |**--factory-name**|string|The factory name.|factory_name|factoryName| -### datafactory linked-service show - -show a datafactory linked-service. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory linked-service|LinkedServices| +#### Command `az datafactory linked-service show` -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|show|Get| - -#### Parameters +##### Example +``` +az datafactory linked-service show --factory-name "exampleFactoryName" --name "exampleLinkedService" --resource-group \ +"exampleResourceGroup" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| @@ -866,21 +705,32 @@ show a datafactory linked-service. |**--linked-service-name**|string|The linked service name.|linked_service_name|linkedServiceName| |**--if-none-match**|string|ETag of the linked service entity. Should only be specified for get. If the ETag matches the existing entity tag, or if * was provided, then no content will be returned.|if_none_match|If-None-Match| -### datafactory linked-service update +#### Command `az datafactory linked-service create` -update a datafactory linked-service. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory linked-service|LinkedServices| +##### Example +``` +az datafactory linked-service create --factory-name "exampleFactoryName" --properties "{\\"type\\":\\"AzureStorage\\",\ +\\"typeProperties\\":{\\"connectionString\\":{\\"type\\":\\"SecureString\\",\\"value\\":\\"DefaultEndpointsProtocol=htt\ +ps;AccountName=examplestorageaccount;AccountKey=\\"}}}" --name "exampleLinkedService" --resource-group \ +"exampleResourceGroup" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--factory-name**|string|The factory name.|factory_name|factoryName| +|**--linked-service-name**|string|The linked service name.|linked_service_name|linkedServiceName| +|**--properties**|object|Properties of linked service.|properties|properties| +|**--if-match**|string|ETag of the linkedService entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update.|if_match|If-Match| -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|update|CreateOrUpdate#Update| +#### Command `az datafactory linked-service update` -#### Parameters +##### Example +``` +az datafactory linked-service update --factory-name "exampleFactoryName" --description "Example description" --name \ +"exampleLinkedService" --resource-group "exampleResourceGroup" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| @@ -892,133 +742,90 @@ update a datafactory linked-service. |**--parameters**|dictionary|Parameters for linked service.|parameters|parameters| |**--annotations**|array|List of tags that can be used for describing the linked service.|annotations|annotations| -### datafactory pipeline create - -create a datafactory pipeline. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory pipeline|Pipelines| - -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|create|CreateOrUpdate#Create| +#### Command `az datafactory linked-service delete` -#### Parameters +##### Example +``` +az datafactory linked-service delete --factory-name "exampleFactoryName" --name "exampleLinkedService" \ +--resource-group "exampleResourceGroup" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| |**--factory-name**|string|The factory name.|factory_name|factoryName| -|**--pipeline-name**|string|The pipeline name.|pipeline_name|pipelineName| -|**--pipeline**|object|Pipeline resource definition.|pipeline|pipeline| -|**--if-match**|string|ETag of the pipeline entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update.|if_match|If-Match| - -### datafactory pipeline create-run - -create-run a datafactory pipeline. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory pipeline|Pipelines| +|**--linked-service-name**|string|The linked service name.|linked_service_name|linkedServiceName| -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|create-run|CreateRun| +### group `az datafactory pipeline` +#### Command `az datafactory pipeline list` -#### Parameters +##### Example +``` +az datafactory pipeline list --factory-name "exampleFactoryName" --resource-group "exampleResourceGroup" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| |**--factory-name**|string|The factory name.|factory_name|factoryName| -|**--pipeline-name**|string|The pipeline name.|pipeline_name|pipelineName| -|**--reference-pipeline-run-id**|string|The pipeline run identifier. If run ID is specified the parameters of the specified run will be used to create a new run.|reference_pipeline_run_id|referencePipelineRunId| -|**--is-recovery**|boolean|Recovery mode flag. If recovery mode is set to true, the specified referenced pipeline run and the new run will be grouped under the same groupId.|is_recovery|isRecovery| -|**--start-activity-name**|string|In recovery mode, the rerun will start from this activity. If not specified, all activities will run.|start_activity_name|startActivityName| -|**--start-from-failure**|boolean|In recovery mode, if set to true, the rerun will start from failed activities. The property will be used only if startActivityName is not specified.|start_from_failure|startFromFailure| -|**--parameters**|dictionary|Parameters of the pipeline run. These parameters will be used only if the runId is not specified.|parameters|parameters| - -### datafactory pipeline delete -delete a datafactory pipeline. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory pipeline|Pipelines| +#### Command `az datafactory pipeline show` -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|delete|Delete| - -#### Parameters +##### Example +``` +az datafactory pipeline show --factory-name "exampleFactoryName" --name "examplePipeline" --resource-group \ +"exampleResourceGroup" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| |**--factory-name**|string|The factory name.|factory_name|factoryName| |**--pipeline-name**|string|The pipeline name.|pipeline_name|pipelineName| +|**--if-none-match**|string|ETag of the pipeline entity. Should only be specified for get. If the ETag matches the existing entity tag, or if * was provided, then no content will be returned.|if_none_match|If-None-Match| -### datafactory pipeline list - -list a datafactory pipeline. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory pipeline|Pipelines| - -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|list|ListByFactory| - -#### Parameters -|Option|Type|Description|Path (SDK)|Swagger name| -|------|----|-----------|----------|------------| -|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| -|**--factory-name**|string|The factory name.|factory_name|factoryName| - -### datafactory pipeline show - -show a datafactory pipeline. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory pipeline|Pipelines| - -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|show|Get| - -#### Parameters +#### Command `az datafactory pipeline create` + +##### Example +``` +az datafactory pipeline create --factory-name "exampleFactoryName" --pipeline "{\\"activities\\":[{\\"name\\":\\"Exampl\ +eForeachActivity\\",\\"type\\":\\"ForEach\\",\\"typeProperties\\":{\\"activities\\":[{\\"name\\":\\"ExampleCopyActivity\ +\\",\\"type\\":\\"Copy\\",\\"inputs\\":[{\\"type\\":\\"DatasetReference\\",\\"parameters\\":{\\"MyFileName\\":\\"exampl\ +econtainer.csv\\",\\"MyFolderPath\\":\\"examplecontainer\\"},\\"referenceName\\":\\"exampleDataset\\"}],\\"outputs\\":[\ +{\\"type\\":\\"DatasetReference\\",\\"parameters\\":{\\"MyFileName\\":{\\"type\\":\\"Expression\\",\\"value\\":\\"@item\ +()\\"},\\"MyFolderPath\\":\\"examplecontainer\\"},\\"referenceName\\":\\"exampleDataset\\"}],\\"typeProperties\\":{\\"d\ +ataIntegrationUnits\\":32,\\"sink\\":{\\"type\\":\\"BlobSink\\"},\\"source\\":{\\"type\\":\\"BlobSource\\"}}}],\\"isSeq\ +uential\\":true,\\"items\\":{\\"type\\":\\"Expression\\",\\"value\\":\\"@pipeline().parameters.OutputBlobNameList\\"}}}\ +],\\"parameters\\":{\\"JobId\\":{\\"type\\":\\"String\\"},\\"OutputBlobNameList\\":{\\"type\\":\\"Array\\"}},\\"variabl\ +es\\":{\\"TestVariableArray\\":{\\"type\\":\\"Array\\"}},\\"runDimensions\\":{\\"JobId\\":{\\"type\\":\\"Expression\\",\ +\\"value\\":\\"@pipeline().parameters.JobId\\"}},\\"duration\\":\\"0.00:10:00\\"}" --name "examplePipeline" \ +--resource-group "exampleResourceGroup" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| |**--factory-name**|string|The factory name.|factory_name|factoryName| |**--pipeline-name**|string|The pipeline name.|pipeline_name|pipelineName| -|**--if-none-match**|string|ETag of the pipeline entity. Should only be specified for get. If the ETag matches the existing entity tag, or if * was provided, then no content will be returned.|if_none_match|If-None-Match| - -### datafactory pipeline update - -update a datafactory pipeline. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory pipeline|Pipelines| - -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|update|CreateOrUpdate#Update| +|**--pipeline**|object|Pipeline resource definition.|pipeline|pipeline| +|**--if-match**|string|ETag of the pipeline entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update.|if_match|If-Match| -#### Parameters +#### Command `az datafactory pipeline update` + +##### Example +``` +az datafactory pipeline update --factory-name "exampleFactoryName" --description "Example description" --activities \ +"[{\\"name\\":\\"ExampleForeachActivity\\",\\"type\\":\\"ForEach\\",\\"typeProperties\\":{\\"activities\\":[{\\"name\\"\ +:\\"ExampleCopyActivity\\",\\"type\\":\\"Copy\\",\\"inputs\\":[{\\"type\\":\\"DatasetReference\\",\\"parameters\\":{\\"\ +MyFileName\\":\\"examplecontainer.csv\\",\\"MyFolderPath\\":\\"examplecontainer\\"},\\"referenceName\\":\\"exampleDatas\ +et\\"}],\\"outputs\\":[{\\"type\\":\\"DatasetReference\\",\\"parameters\\":{\\"MyFileName\\":{\\"type\\":\\"Expression\ +\\",\\"value\\":\\"@item()\\"},\\"MyFolderPath\\":\\"examplecontainer\\"},\\"referenceName\\":\\"exampleDataset\\"}],\\\ +"typeProperties\\":{\\"dataIntegrationUnits\\":32,\\"sink\\":{\\"type\\":\\"BlobSink\\"},\\"source\\":{\\"type\\":\\"Bl\ +obSource\\"}}}],\\"isSequential\\":true,\\"items\\":{\\"type\\":\\"Expression\\",\\"value\\":\\"@pipeline().parameters.\ +OutputBlobNameList\\"}}}]" --parameters "{\\"OutputBlobNameList\\":{\\"type\\":\\"Array\\"}}" --duration "0.00:10:00" \ +--name "examplePipeline" --resource-group "exampleResourceGroup" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| @@ -1032,45 +839,81 @@ update a datafactory pipeline. |**--concurrency**|integer|The max number of concurrent runs for the pipeline.|concurrency|concurrency| |**--annotations**|array|List of tags that can be used for describing the Pipeline.|annotations|annotations| |**--run-dimensions**|dictionary|Dimensions emitted by Pipeline.|run_dimensions|runDimensions| -|**--folder-name**|string|The name of the folder that this Pipeline is in.|name|name| +|**--duration**|any|TimeSpan value, after which an Azure Monitoring Metric is fired.|duration|duration| +|**--folder-name**|string|The name of the folder that this Pipeline is in.|folder_name|name| -### datafactory pipeline-run cancel +#### Command `az datafactory pipeline delete` + +##### Example +``` +az datafactory pipeline delete --factory-name "exampleFactoryName" --name "examplePipeline" --resource-group \ +"exampleResourceGroup" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--factory-name**|string|The factory name.|factory_name|factoryName| +|**--pipeline-name**|string|The pipeline name.|pipeline_name|pipelineName| -cancel a datafactory pipeline-run. +#### Command `az datafactory pipeline create-run` -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory pipeline-run|PipelineRuns| +##### Example +``` +az datafactory pipeline create-run --factory-name "exampleFactoryName" --parameters "{\\"OutputBlobNameList\\":[\\"exam\ +pleoutput.csv\\"]}" --name "examplePipeline" --resource-group "exampleResourceGroup" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--factory-name**|string|The factory name.|factory_name|factoryName| +|**--pipeline-name**|string|The pipeline name.|pipeline_name|pipelineName| +|**--reference-pipeline-run-id**|string|The pipeline run identifier. If run ID is specified the parameters of the specified run will be used to create a new run.|reference_pipeline_run_id|referencePipelineRunId| +|**--is-recovery**|boolean|Recovery mode flag. If recovery mode is set to true, the specified referenced pipeline run and the new run will be grouped under the same groupId.|is_recovery|isRecovery| +|**--start-activity-name**|string|In recovery mode, the rerun will start from this activity. If not specified, all activities will run.|start_activity_name|startActivityName| +|**--start-from-failure**|boolean|In recovery mode, if set to true, the rerun will start from failed activities. The property will be used only if startActivityName is not specified.|start_from_failure|startFromFailure| +|**--parameters**|dictionary|Parameters of the pipeline run. These parameters will be used only if the runId is not specified.|parameters|parameters| -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|cancel|Cancel| +### group `az datafactory pipeline-run` +#### Command `az datafactory pipeline-run show` -#### Parameters +##### Example +``` +az datafactory pipeline-run show --factory-name "exampleFactoryName" --resource-group "exampleResourceGroup" --run-id \ +"2f7fdb90-5df1-4b8e-ac2f-064cfa58202b" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| |**--factory-name**|string|The factory name.|factory_name|factoryName| |**--run-id**|string|The pipeline run identifier.|run_id|runId| -|**--is-recursive**|boolean|If true, cancel all the Child pipelines that are triggered by the current pipeline.|is_recursive|isRecursive| -### datafactory pipeline-run query-by-factory +#### Command `az datafactory pipeline-run cancel` -query-by-factory a datafactory pipeline-run. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory pipeline-run|PipelineRuns| +##### Example +``` +az datafactory pipeline-run cancel --factory-name "exampleFactoryName" --resource-group "exampleResourceGroup" \ +--run-id "16ac5348-ff82-4f95-a80d-638c1d47b721" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| +|**--factory-name**|string|The factory name.|factory_name|factoryName| +|**--run-id**|string|The pipeline run identifier.|run_id|runId| +|**--is-recursive**|boolean|If true, cancel all the Child pipelines that are triggered by the current pipeline.|is_recursive|isRecursive| -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|query-by-factory|QueryByFactory| +#### Command `az datafactory pipeline-run query-by-factory` -#### Parameters +##### Example +``` +az datafactory pipeline-run query-by-factory --factory-name "exampleFactoryName" --filters operand="PipelineName" \ +operator="Equals" values="examplePipeline" --last-updated-after "2018-06-16T00:36:44.3345758Z" --last-updated-before \ +"2018-06-16T00:49:48.3686473Z" --resource-group "exampleResourceGroup" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| @@ -1081,279 +924,178 @@ query-by-factory a datafactory pipeline-run. |**--filters**|array|List of filters.|filters|filters| |**--order-by**|array|List of OrderBy option.|order_by|orderBy| -### datafactory pipeline-run show - -show a datafactory pipeline-run. +### group `az datafactory trigger` +#### Command `az datafactory trigger list` -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory pipeline-run|PipelineRuns| - -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|show|Get| - -#### Parameters +##### Example +``` +az datafactory trigger list --factory-name "exampleFactoryName" --resource-group "exampleResourceGroup" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| |**--factory-name**|string|The factory name.|factory_name|factoryName| -|**--run-id**|string|The pipeline run identifier.|run_id|runId| - -### datafactory trigger create - -create a datafactory trigger. -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory trigger|Triggers| - -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|create|CreateOrUpdate#Create| +#### Command `az datafactory trigger show` -#### Parameters +##### Example +``` +az datafactory trigger show --factory-name "exampleFactoryName" --resource-group "exampleResourceGroup" --name \ +"exampleTrigger" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| |**--factory-name**|string|The factory name.|factory_name|factoryName| |**--trigger-name**|string|The trigger name.|trigger_name|triggerName| -|**--properties**|object|Properties of the trigger.|properties|properties| -|**--if-match**|string|ETag of the trigger entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update.|if_match|If-Match| - -### datafactory trigger delete - -delete a datafactory trigger. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory trigger|Triggers| - -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|delete|Delete| +|**--if-none-match**|string|ETag of the trigger entity. Should only be specified for get. If the ETag matches the existing entity tag, or if * was provided, then no content will be returned.|if_none_match|If-None-Match| -#### Parameters +#### Command `az datafactory trigger create` + +##### Example +``` +az datafactory trigger create --factory-name "exampleFactoryName" --resource-group "exampleResourceGroup" --properties \ +"{\\"type\\":\\"ScheduleTrigger\\",\\"pipelines\\":[{\\"parameters\\":{\\"OutputBlobNameList\\":[\\"exampleoutput.csv\\\ +"]},\\"pipelineReference\\":{\\"type\\":\\"PipelineReference\\",\\"referenceName\\":\\"examplePipeline\\"}}],\\"typePro\ +perties\\":{\\"recurrence\\":{\\"endTime\\":\\"2018-06-16T00:55:13.8441801Z\\",\\"frequency\\":\\"Minute\\",\\"interval\ +\\":4,\\"startTime\\":\\"2018-06-16T00:39:13.8441801Z\\",\\"timeZone\\":\\"UTC\\"}}}" --name "exampleTrigger" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| |**--factory-name**|string|The factory name.|factory_name|factoryName| |**--trigger-name**|string|The trigger name.|trigger_name|triggerName| +|**--properties**|object|Properties of the trigger.|properties|properties| +|**--if-match**|string|ETag of the trigger entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update.|if_match|If-Match| -### datafactory trigger get-event-subscription-status - -get-event-subscription-status a datafactory trigger. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory trigger|Triggers| - -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|get-event-subscription-status|GetEventSubscriptionStatus| +#### Command `az datafactory trigger update` -#### Parameters +##### Example +``` +az datafactory trigger update --factory-name "exampleFactoryName" --resource-group "exampleResourceGroup" \ +--description "Example description" --name "exampleTrigger" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| |**--factory-name**|string|The factory name.|factory_name|factoryName| |**--trigger-name**|string|The trigger name.|trigger_name|triggerName| +|**--if-match**|string|ETag of the trigger entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update.|if_match|If-Match| +|**--description**|string|Trigger description.|description|description| +|**--annotations**|array|List of tags that can be used for describing the trigger.|annotations|annotations| -### datafactory trigger list - -list a datafactory trigger. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory trigger|Triggers| - -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|list|ListByFactory| - -#### Parameters -|Option|Type|Description|Path (SDK)|Swagger name| -|------|----|-----------|----------|------------| -|**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| -|**--factory-name**|string|The factory name.|factory_name|factoryName| - -### datafactory trigger query-by-factory - -query-by-factory a datafactory trigger. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory trigger|Triggers| - -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|query-by-factory|QueryByFactory| +#### Command `az datafactory trigger delete` -#### Parameters +##### Example +``` +az datafactory trigger delete --factory-name "exampleFactoryName" --resource-group "exampleResourceGroup" --name \ +"exampleTrigger" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| |**--factory-name**|string|The factory name.|factory_name|factoryName| -|**--continuation-token**|string|The continuation token for getting the next page of results. Null for first page.|continuation_token|continuationToken| -|**--parent-trigger-name**|string|The name of the parent TumblingWindowTrigger to get the child rerun triggers|parent_trigger_name|parentTriggerName| - -### datafactory trigger show - -show a datafactory trigger. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory trigger|Triggers| +|**--trigger-name**|string|The trigger name.|trigger_name|triggerName| -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|show|Get| +#### Command `az datafactory trigger get-event-subscription-status` -#### Parameters +##### Example +``` +az datafactory trigger get-event-subscription-status --factory-name "exampleFactoryName" --resource-group \ +"exampleResourceGroup" --name "exampleTrigger" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| |**--factory-name**|string|The factory name.|factory_name|factoryName| |**--trigger-name**|string|The trigger name.|trigger_name|triggerName| -|**--if-none-match**|string|ETag of the trigger entity. Should only be specified for get. If the ETag matches the existing entity tag, or if * was provided, then no content will be returned.|if_none_match|If-None-Match| -### datafactory trigger start +#### Command `az datafactory trigger query-by-factory` -start a datafactory trigger. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory trigger|Triggers| - -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|start|Start| - -#### Parameters +##### Example +``` +az datafactory trigger query-by-factory --factory-name "exampleFactoryName" --parent-trigger-name "exampleTrigger" \ +--resource-group "exampleResourceGroup" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| |**--factory-name**|string|The factory name.|factory_name|factoryName| -|**--trigger-name**|string|The trigger name.|trigger_name|triggerName| - -### datafactory trigger stop - -stop a datafactory trigger. +|**--continuation-token**|string|The continuation token for getting the next page of results. Null for first page.|continuation_token|continuationToken| +|**--parent-trigger-name**|string|The name of the parent TumblingWindowTrigger to get the child rerun triggers|parent_trigger_name|parentTriggerName| -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory trigger|Triggers| +#### Command `az datafactory trigger start` -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|stop|Stop| - -#### Parameters +##### Example +``` +az datafactory trigger start --factory-name "exampleFactoryName" --resource-group "exampleResourceGroup" --name \ +"exampleTrigger" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| |**--factory-name**|string|The factory name.|factory_name|factoryName| |**--trigger-name**|string|The trigger name.|trigger_name|triggerName| -### datafactory trigger subscribe-to-event - -subscribe-to-event a datafactory trigger. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory trigger|Triggers| - -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|subscribe-to-event|SubscribeToEvents| +#### Command `az datafactory trigger stop` -#### Parameters +##### Example +``` +az datafactory trigger stop --factory-name "exampleFactoryName" --resource-group "exampleResourceGroup" --name \ +"exampleTrigger" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| |**--factory-name**|string|The factory name.|factory_name|factoryName| |**--trigger-name**|string|The trigger name.|trigger_name|triggerName| -### datafactory trigger unsubscribe-from-event - -unsubscribe-from-event a datafactory trigger. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory trigger|Triggers| - -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|unsubscribe-from-event|UnsubscribeFromEvents| +#### Command `az datafactory trigger subscribe-to-event` -#### Parameters +##### Example +``` +az datafactory trigger subscribe-to-event --factory-name "exampleFactoryName" --resource-group "exampleResourceGroup" \ +--name "exampleTrigger" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| |**--factory-name**|string|The factory name.|factory_name|factoryName| |**--trigger-name**|string|The trigger name.|trigger_name|triggerName| -### datafactory trigger update +#### Command `az datafactory trigger unsubscribe-from-event` -update a datafactory trigger. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory trigger|Triggers| - -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|update|CreateOrUpdate#Update| - -#### Parameters +##### Example +``` +az datafactory trigger unsubscribe-from-event --factory-name "exampleFactoryName" --resource-group \ +"exampleResourceGroup" --name "exampleTrigger" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| |**--factory-name**|string|The factory name.|factory_name|factoryName| |**--trigger-name**|string|The trigger name.|trigger_name|triggerName| -|**--if-match**|string|ETag of the trigger entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update.|if_match|If-Match| -|**--description**|string|Trigger description.|description|description| -|**--annotations**|array|List of tags that can be used for describing the trigger.|annotations|annotations| -### datafactory trigger-run cancel +### group `az datafactory trigger-run` +#### Command `az datafactory trigger-run cancel` -cancel a datafactory trigger-run. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory trigger-run|TriggerRuns| - -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|cancel|Cancel| - -#### Parameters +##### Example +``` +az datafactory trigger-run cancel --factory-name "exampleFactoryName" --resource-group "exampleResourceGroup" --run-id \ +"2f7fdb90-5df1-4b8e-ac2f-064cfa58202b" --trigger-name "exampleTrigger" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| @@ -1361,21 +1103,15 @@ cancel a datafactory trigger-run. |**--trigger-name**|string|The trigger name.|trigger_name|triggerName| |**--run-id**|string|The pipeline run identifier.|run_id|runId| -### datafactory trigger-run query-by-factory - -query-by-factory a datafactory trigger-run. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory trigger-run|TriggerRuns| +#### Command `az datafactory trigger-run query-by-factory` -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|query-by-factory|QueryByFactory| - -#### Parameters +##### Example +``` +az datafactory trigger-run query-by-factory --factory-name "exampleFactoryName" --filters operand="TriggerName" \ +operator="Equals" values="exampleTrigger" --last-updated-after "2018-06-16T00:36:44.3345758Z" --last-updated-before \ +"2018-06-16T00:49:48.3686473Z" --resource-group "exampleResourceGroup" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| @@ -1386,21 +1122,14 @@ query-by-factory a datafactory trigger-run. |**--filters**|array|List of filters.|filters|filters| |**--order-by**|array|List of OrderBy option.|order_by|orderBy| -### datafactory trigger-run rerun - -rerun a datafactory trigger-run. - -#### Command group -|Name (az)|Swagger name| -|---------|------------| -|datafactory trigger-run|TriggerRuns| - -#### Methods -|Name (az)|Swagger name| -|---------|------------| -|rerun|Rerun| +#### Command `az datafactory trigger-run rerun` -#### Parameters +##### Example +``` +az datafactory trigger-run rerun --factory-name "exampleFactoryName" --resource-group "exampleResourceGroup" --run-id \ +"2f7fdb90-5df1-4b8e-ac2f-064cfa58202b" --trigger-name "exampleTrigger" +``` +##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| |**--resource-group-name**|string|The resource group name.|resource_group_name|resourceGroupName| diff --git a/src/datafactory/setup.py b/src/datafactory/setup.py index 116e5e2b8cc..a26a3db9b84 100644 --- a/src/datafactory/setup.py +++ b/src/datafactory/setup.py @@ -10,7 +10,7 @@ from setuptools import setup, find_packages # HISTORY.rst entry. -VERSION = '0.2.0' +VERSION = '0.1.0' try: from azext_datafactory.manual.version import VERSION except ImportError: @@ -33,7 +33,7 @@ DEPENDENCIES = [] try: - from .manual.dependency import DEPENDENCIES + from azext_datafactory.manual.dependency import DEPENDENCIES except ImportError: pass From 57f73ce7678430ec84eaf65868309fc37b1631e9 Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Tue, 18 May 2021 16:27:41 +0800 Subject: [PATCH 14/83] [Release] Update index.json for extension [ datafactory ] (#3393) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=900097 Last commit: https://github.com/Azure/azure-cli-extensions/commit/6bb827feddd0e6c6913cbd553f32746a33acea7e --- src/index.json | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/src/index.json b/src/index.json index 7576c9cd592..886e57ec5ac 100644 --- a/src/index.json +++ b/src/index.json @@ -8067,6 +8067,49 @@ "version": "0.2.1" }, "sha256Digest": "fd9a00c006a44b435d458b3f8523fceeec7e9d3d745cdc037876b8ad2b19ea9f" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/datafactory-0.3.0-py3-none-any.whl", + "filename": "datafactory-0.3.0-py3-none-any.whl", + "metadata": { + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.15.0", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/datafactory" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "datafactory", + "summary": "Microsoft Azure Command-Line Tools DataFactoryManagementClient Extension", + "version": "0.3.0" + }, + "sha256Digest": "0d68e01c4b7ef9ce6ccf7f2594f3faf19600dbb8ec7d395bc9ad4b4bdab8a245" } ], "datashare": [ From 8dade2f6fe28803d0fbdb1700c3ab4e4d71e5318 Mon Sep 17 00:00:00 2001 From: kai ru <69238381+kairu-ms@users.noreply.github.com> Date: Tue, 18 May 2021 16:41:24 +0800 Subject: [PATCH 15/83] {ApplicationInsights} Fix test recordings (#3386) * fix recordings for application insights * add service_name for application insights --- .../test_component_continues_export.yaml | 284 ++++++----- .../test_component_with_linked_storage.yaml | 111 +++-- .../test_component_with_linked_workspace.yaml | 458 +++++++++--------- ..._component_with_public_network_access.yaml | 278 ++++++----- .../recordings/test_connect_function.yaml | 232 ++++----- .../recordings/test_connect_webapp.yaml | 239 ++++----- .../latest/test_applicationinsights_mgmt.py | 6 +- src/service_name.json | 5 + 8 files changed, 781 insertions(+), 832 deletions(-) diff --git a/src/application-insights/azext_applicationinsights/tests/latest/recordings/test_component_continues_export.yaml b/src/application-insights/azext_applicationinsights/tests/latest/recordings/test_component_continues_export.yaml index fade5287031..e85af283443 100644 --- a/src/application-insights/azext_applicationinsights/tests/latest/recordings/test_component_continues_export.yaml +++ b/src/application-insights/azext_applicationinsights/tests/latest/recordings/test_component_continues_export.yaml @@ -13,21 +13,22 @@ interactions: ParameterSetName: - -n -g --account-name User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/storageAccounts?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/storageAccounts?api-version=2021-04-01 response: body: - string: '{"value":[{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/component000002","name":"component000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-07T03:27:29.0296484Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-07T03:27:29.0296484Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-07T03:27:28.9359255Z","primaryEndpoints":{"dfs":"https://component000002.dfs.core.windows.net/","web":"https://component000002.z22.web.core.windows.net/","blob":"https://component000002.blob.core.windows.net/","queue":"https://component000002.queue.core.windows.net/","table":"https://component000002.table.core.windows.net/","file":"https://component000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/component000003","name":"component000003","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-07T03:27:59.0196782Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-07T03:27:59.0196782Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-07T03:27:58.9415366Z","primaryEndpoints":{"dfs":"https://component000003.dfs.core.windows.net/","web":"https://component000003.z5.web.core.windows.net/","blob":"https://component000003.blob.core.windows.net/","queue":"https://component000003.queue.core.windows.net/","table":"https://component000003.table.core.windows.net/","file":"https://component000003.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available"}}]}' + string: '{"value":[{"sku":{"name":"Standard_RAGZRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-beta/providers/Microsoft.Storage/storageAccounts/azureclibetarelease","name":"azureclibetarelease","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-11T10:32:24.8036511Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-11T10:32:24.8036511Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-06-11T10:32:24.7099044Z","primaryEndpoints":{"dfs":"https://azureclibetarelease.dfs.core.windows.net/","web":"https://azureclibetarelease.z13.web.core.windows.net/","blob":"https://azureclibetarelease.blob.core.windows.net/","queue":"https://azureclibetarelease.queue.core.windows.net/","table":"https://azureclibetarelease.table.core.windows.net/","file":"https://azureclibetarelease.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://azureclibetarelease-secondary.dfs.core.windows.net/","web":"https://azureclibetarelease-secondary.z13.web.core.windows.net/","blob":"https://azureclibetarelease-secondary.blob.core.windows.net/","queue":"https://azureclibetarelease-secondary.queue.core.windows.net/","table":"https://azureclibetarelease-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestresult/providers/Microsoft.Storage/storageAccounts/clitestresultstac","name":"clitestresultstac","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-15T06:20:52.7844389Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-15T06:20:52.7844389Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-07-15T06:20:52.6907255Z","primaryEndpoints":{"dfs":"https://clitestresultstac.dfs.core.windows.net/","web":"https://clitestresultstac.z13.web.core.windows.net/","blob":"https://clitestresultstac.blob.core.windows.net/","queue":"https://clitestresultstac.queue.core.windows.net/","table":"https://clitestresultstac.table.core.windows.net/","file":"https://clitestresultstac.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://clitestresultstac-secondary.dfs.core.windows.net/","web":"https://clitestresultstac-secondary.z13.web.core.windows.net/","blob":"https://clitestresultstac-secondary.blob.core.windows.net/","queue":"https://clitestresultstac-secondary.queue.core.windows.net/","table":"https://clitestresultstac-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fytest/providers/Microsoft.Storage/storageAccounts/fystac","name":"fystac","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-08T03:10:13.4426715Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-08T03:10:13.4426715Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-04-08T03:10:13.3645539Z","primaryEndpoints":{"dfs":"https://fystac.dfs.core.windows.net/","web":"https://fystac.z13.web.core.windows.net/","blob":"https://fystac.blob.core.windows.net/","queue":"https://fystac.queue.core.windows.net/","table":"https://fystac.table.core.windows.net/","file":"https://fystac.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://fystac-secondary.dfs.core.windows.net/","web":"https://fystac-secondary.z13.web.core.windows.net/","blob":"https://fystac-secondary.blob.core.windows.net/","queue":"https://fystac-secondary.queue.core.windows.net/","table":"https://fystac-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jiasli-cli-dev/providers/Microsoft.Storage/storageAccounts/jlwin","name":"jlwin","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-05-12T01:23:36.3068024Z","key2":"2021-05-12T01:23:36.3068024Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"allowSharedKeyAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-12T01:23:36.3068024Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-12T01:23:36.3068024Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-05-12T01:23:36.1974223Z","primaryEndpoints":{"dfs":"https://jlwin.dfs.core.windows.net/","web":"https://jlwin.z13.web.core.windows.net/","blob":"https://jlwin.blob.core.windows.net/","queue":"https://jlwin.queue.core.windows.net/","table":"https://jlwin.table.core.windows.net/","file":"https://jlwin.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://jlwin-secondary.dfs.core.windows.net/","web":"https://jlwin-secondary.z13.web.core.windows.net/","blob":"https://jlwin-secondary.blob.core.windows.net/","queue":"https://jlwin-secondary.queue.core.windows.net/","table":"https://jlwin-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-weidxu/providers/Microsoft.Storage/storageAccounts/lcok2weidxu","name":"lcok2weidxu","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"allowSharedKeyAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-22T03:19:18.1561890Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-22T03:19:18.1561890Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-01-22T03:19:18.0468159Z","primaryEndpoints":{"dfs":"https://lcok2weidxu.dfs.core.windows.net/","web":"https://lcok2weidxu.z13.web.core.windows.net/","blob":"https://lcok2weidxu.blob.core.windows.net/","queue":"https://lcok2weidxu.queue.core.windows.net/","table":"https://lcok2weidxu.table.core.windows.net/","file":"https://lcok2weidxu.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/portal2cli/providers/Microsoft.Storage/storageAccounts/portal2clistorage","name":"portal2clistorage","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-14T07:23:08.8752602Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-14T07:23:08.8752602Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-10-14T07:23:08.7502552Z","primaryEndpoints":{"dfs":"https://portal2clistorage.dfs.core.windows.net/","web":"https://portal2clistorage.z13.web.core.windows.net/","blob":"https://portal2clistorage.blob.core.windows.net/","queue":"https://portal2clistorage.queue.core.windows.net/","table":"https://portal2clistorage.table.core.windows.net/","file":"https://portal2clistorage.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://portal2clistorage-secondary.dfs.core.windows.net/","web":"https://portal2clistorage-secondary.z13.web.core.windows.net/","blob":"https://portal2clistorage-secondary.blob.core.windows.net/","queue":"https://portal2clistorage-secondary.queue.core.windows.net/","table":"https://portal2clistorage-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Storage/storageAccounts/qianwenadls","name":"qianwenadls","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"isHnsEnabled":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-01T10:11:06.0357634Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-01T10:11:06.0357634Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-04-01T10:11:05.9576622Z","primaryEndpoints":{"dfs":"https://qianwenadls.dfs.core.windows.net/","web":"https://qianwenadls.z13.web.core.windows.net/","blob":"https://qianwenadls.blob.core.windows.net/","queue":"https://qianwenadls.queue.core.windows.net/","table":"https://qianwenadls.table.core.windows.net/","file":"https://qianwenadls.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://qianwenadls-secondary.dfs.core.windows.net/","web":"https://qianwenadls-secondary.z13.web.core.windows.net/","blob":"https://qianwenadls-secondary.blob.core.windows.net/","queue":"https://qianwenadls-secondary.queue.core.windows.net/","table":"https://qianwenadls-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Storage/storageAccounts/qianwendev","name":"qianwendev","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Network/virtualNetworks/QIAN/subnets/default","action":"Allow","state":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Network/virtualNetworks/qianwendev/subnets/default","action":"Allow","state":"Succeeded"}],"ipRules":[{"value":"23.45.1.0/24","action":"Allow"},{"value":"23.45.1.1/24","action":"Allow"}],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-12T03:29:28.0084761Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-12T03:29:28.0084761Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-02-12T03:29:27.9459854Z","primaryEndpoints":{"dfs":"https://qianwendev.dfs.core.windows.net/","web":"https://qianwendev.z13.web.core.windows.net/","blob":"https://qianwendev.blob.core.windows.net/","queue":"https://qianwendev.queue.core.windows.net/","table":"https://qianwendev.table.core.windows.net/","file":"https://qianwendev.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://qianwendev-secondary.dfs.core.windows.net/","web":"https://qianwendev-secondary.z13.web.core.windows.net/","blob":"https://qianwendev-secondary.blob.core.windows.net/","queue":"https://qianwendev-secondary.queue.core.windows.net/","table":"https://qianwendev-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Storage/storageAccounts/qianwenhpctarget","name":"qianwenhpctarget","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T07:09:20.3073299Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T07:09:20.3073299Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-06T07:09:20.2291899Z","primaryEndpoints":{"dfs":"https://qianwenhpctarget.dfs.core.windows.net/","web":"https://qianwenhpctarget.z13.web.core.windows.net/","blob":"https://qianwenhpctarget.blob.core.windows.net/","queue":"https://qianwenhpctarget.queue.core.windows.net/","table":"https://qianwenhpctarget.table.core.windows.net/","file":"https://qianwenhpctarget.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://qianwenhpctarget-secondary.dfs.core.windows.net/","web":"https://qianwenhpctarget-secondary.z13.web.core.windows.net/","blob":"https://qianwenhpctarget-secondary.blob.core.windows.net/","queue":"https://qianwenhpctarget-secondary.queue.core.windows.net/","table":"https://qianwenhpctarget-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yishitest/providers/Microsoft.Storage/storageAccounts/ystestpolicy","name":"ystestpolicy","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"sasPolicy":{"sasExpirationPeriod":"12.00:05:25","expirationAction":"Log"},"keyPolicy":{"keyExpirationPeriodInDays":3},"keyCreationTime":{"key1":"2021-04-29T03:24:08.1682761Z","key2":"2021-04-29T03:24:08.1682761Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-29T03:24:08.1682761Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-29T03:24:08.1682761Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-29T03:24:08.0593459Z","primaryEndpoints":{"dfs":"https://ystestpolicy.dfs.core.windows.net/","web":"https://ystestpolicy.z13.web.core.windows.net/","blob":"https://ystestpolicy.blob.core.windows.net/","queue":"https://ystestpolicy.queue.core.windows.net/","table":"https://ystestpolicy.table.core.windows.net/","file":"https://ystestpolicy.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-yueshi/providers/Microsoft.Storage/storageAccounts/yueshi4debug","name":"yueshi4debug","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-09-14T09:43:28.2246331Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-09-14T09:43:28.2246331Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-09-14T09:43:28.1308789Z","primaryEndpoints":{"dfs":"https://yueshi4debug.dfs.core.windows.net/","web":"https://yueshi4debug.z13.web.core.windows.net/","blob":"https://yueshi4debug.blob.core.windows.net/","queue":"https://yueshi4debug.queue.core.windows.net/","table":"https://yueshi4debug.table.core.windows.net/","file":"https://yueshi4debug.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yueshi4debug-secondary.dfs.core.windows.net/","web":"https://yueshi4debug-secondary.z13.web.core.windows.net/","blob":"https://yueshi4debug-secondary.blob.core.windows.net/","queue":"https://yueshi4debug-secondary.queue.core.windows.net/","table":"https://yueshi4debug-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-live-test-rg/providers/Microsoft.Storage/storageAccounts/advisortestsa","name":"advisortestsa","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-29T02:39:47.2953520Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-29T02:39:47.2953520Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-10-29T02:39:47.1860196Z","primaryEndpoints":{"dfs":"https://advisortestsa.dfs.core.windows.net/","web":"https://advisortestsa.z22.web.core.windows.net/","blob":"https://advisortestsa.blob.core.windows.net/","queue":"https://advisortestsa.queue.core.windows.net/","table":"https://advisortestsa.table.core.windows.net/","file":"https://advisortestsa.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://advisortestsa-secondary.dfs.core.windows.net/","web":"https://advisortestsa-secondary.z22.web.core.windows.net/","blob":"https://advisortestsa-secondary.blob.core.windows.net/","queue":"https://advisortestsa-secondary.queue.core.windows.net/","table":"https://advisortestsa-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azure-cli-edge/providers/Microsoft.Storage/storageAccounts/azextensionedge","name":"azextensionedge","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"allowSharedKeyAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-22T08:51:57.7728758Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-22T08:51:57.7728758Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-01-22T08:51:57.6947156Z","primaryEndpoints":{"dfs":"https://azextensionedge.dfs.core.windows.net/","web":"https://azextensionedge.z22.web.core.windows.net/","blob":"https://azextensionedge.blob.core.windows.net/","queue":"https://azextensionedge.queue.core.windows.net/","table":"https://azextensionedge.table.core.windows.net/","file":"https://azextensionedge.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://azextensionedge-secondary.dfs.core.windows.net/","web":"https://azextensionedge-secondary.z22.web.core.windows.net/","blob":"https://azextensionedge-secondary.blob.core.windows.net/","queue":"https://azextensionedge-secondary.queue.core.windows.net/","table":"https://azextensionedge-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azure-cli-edge/providers/Microsoft.Storage/storageAccounts/azurecliedge","name":"azurecliedge","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-13T08:41:36.3326539Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-13T08:41:36.3326539Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-01-13T08:41:36.2389304Z","primaryEndpoints":{"dfs":"https://azurecliedge.dfs.core.windows.net/","web":"https://azurecliedge.z22.web.core.windows.net/","blob":"https://azurecliedge.blob.core.windows.net/","queue":"https://azurecliedge.queue.core.windows.net/","table":"https://azurecliedge.table.core.windows.net/","file":"https://azurecliedge.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","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":{"keyCreationTime":{"key1":"2021-05-17T02:23:10.7417244Z","key2":"2021-05-17T02:23:10.7417244Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-17T02:23:10.7417244Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-17T02:23:10.7417244Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-05-17T02:23:10.6479729Z","primaryEndpoints":{"dfs":"https://clitest000002.dfs.core.windows.net/","web":"https://clitest000002.z22.web.core.windows.net/","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/cli_test_gallery_image_version_vhddmban3xow2tgyly5j6xaruoliqaj443p3brq46idi/providers/Microsoft.Storage/storageAccounts/clitest4ydp57ynxl5tcjktl","name":"clitest4ydp57ynxl5tcjktl","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-21T06:49:12.4084643Z","key2":"2021-04-21T06:49:12.4084643Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-21T06:49:12.4240887Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-21T06:49:12.4240887Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-21T06:49:12.3303684Z","primaryEndpoints":{"blob":"https://clitest4ydp57ynxl5tcjktl.blob.core.windows.net/","queue":"https://clitest4ydp57ynxl5tcjktl.queue.core.windows.net/","table":"https://clitest4ydp57ynxl5tcjktl.table.core.windows.net/","file":"https://clitest4ydp57ynxl5tcjktl.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_gallery_image_version_vhddqxkb6y7azmjc53fhkyr66se7po4i2ve5es2y46av/providers/Microsoft.Storage/storageAccounts/clitestuxrcexs7kgo3dqsiz","name":"clitestuxrcexs7kgo3dqsiz","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-21T07:08:35.7386114Z","key2":"2021-04-21T07:08:35.7386114Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-21T07:08:35.7386114Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-21T07:08:35.7386114Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-21T07:08:35.6448419Z","primaryEndpoints":{"blob":"https://clitestuxrcexs7kgo3dqsiz.blob.core.windows.net/","queue":"https://clitestuxrcexs7kgo3dqsiz.queue.core.windows.net/","table":"https://clitestuxrcexs7kgo3dqsiz.table.core.windows.net/","file":"https://clitestuxrcexs7kgo3dqsiz.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jiasli-cli-dev/providers/Microsoft.Storage/storageAccounts/jlstwu","name":"jlstwu","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-12T06:29:22.9138997Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-12T06:29:22.9138997Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-01-12T06:29:22.8201627Z","primaryEndpoints":{"dfs":"https://jlstwu.dfs.core.windows.net/","web":"https://jlstwu.z22.web.core.windows.net/","blob":"https://jlstwu.blob.core.windows.net/","queue":"https://jlstwu.queue.core.windows.net/","table":"https://jlstwu.table.core.windows.net/","file":"https://jlstwu.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/kairu-persist/providers/Microsoft.Storage/storageAccounts/kairu","name":"kairu","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-13T07:35:19.0950431Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-13T07:35:19.0950431Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-01-13T07:35:18.9856251Z","primaryEndpoints":{"blob":"https://kairu.blob.core.windows.net/","queue":"https://kairu.queue.core.windows.net/","table":"https://kairu.table.core.windows.net/","file":"https://kairu.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-live-test-rg/providers/Microsoft.Storage/storageAccounts/locksa","name":"locksa","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"azureFilesIdentityBasedAuthentication":{"directoryServiceOptions":"None"},"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-29T03:24:17.1371655Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-29T03:24:17.1371655Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-10-29T03:24:17.0434116Z","primaryEndpoints":{"dfs":"https://locksa.dfs.core.windows.net/","web":"https://locksa.z22.web.core.windows.net/","blob":"https://locksa.blob.core.windows.net/","queue":"https://locksa.queue.core.windows.net/","table":"https://locksa.table.core.windows.net/","file":"https://locksa.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://locksa-secondary.dfs.core.windows.net/","web":"https://locksa-secondary.z22.web.core.windows.net/","blob":"https://locksa-secondary.blob.core.windows.net/","queue":"https://locksa-secondary.queue.core.windows.net/","table":"https://locksa-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fytest/providers/Microsoft.Storage/storageAccounts/sharedvmextension","name":"sharedvmextension","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-06T03:37:04.8004229Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-06T03:37:04.8004229Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-07-06T03:37:04.7066555Z","primaryEndpoints":{"dfs":"https://sharedvmextension.dfs.core.windows.net/","web":"https://sharedvmextension.z22.web.core.windows.net/","blob":"https://sharedvmextension.blob.core.windows.net/","queue":"https://sharedvmextension.queue.core.windows.net/","table":"https://sharedvmextension.table.core.windows.net/","file":"https://sharedvmextension.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://sharedvmextension-secondary.dfs.core.windows.net/","web":"https://sharedvmextension-secondary.z22.web.core.windows.net/","blob":"https://sharedvmextension-secondary.blob.core.windows.net/","queue":"https://sharedvmextension-secondary.queue.core.windows.net/","table":"https://sharedvmextension-secondary.table.core.windows.net/"}}},{"identity":{"principalId":"c120e453-0fb4-41f4-b9e7-ac280e27992a","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","type":"SystemAssigned"},"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yishitest/providers/Microsoft.Storage/storageAccounts/testcreationtime","name":"testcreationtime","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"sasPolicy":{"sasExpirationPeriod":"2.23:59:59","expirationAction":"Log"},"keyCreationTime":{"key1":"2021-04-08T02:43:57.2406486Z","key2":"2021-04-08T03:30:07.4783308Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-08T02:43:57.2406486Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-08T02:43:57.2406486Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-08T02:43:57.1469079Z","primaryEndpoints":{"dfs":"https://testcreationtime.dfs.core.windows.net/","web":"https://testcreationtime.z22.web.core.windows.net/","blob":"https://testcreationtime.blob.core.windows.net/","queue":"https://testcreationtime.queue.core.windows.net/","table":"https://testcreationtime.table.core.windows.net/","file":"https://testcreationtime.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://testcreationtime-secondary.dfs.core.windows.net/","web":"https://testcreationtime-secondary.z22.web.core.windows.net/","blob":"https://testcreationtime-secondary.blob.core.windows.net/","queue":"https://testcreationtime-secondary.queue.core.windows.net/","table":"https://testcreationtime-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yishitest/providers/Microsoft.Storage/storageAccounts/yssa","name":"yssa","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":"2021-04-08T03:29:15.4919591Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-27T14:55:33.7123620Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-27T14:55:33.7123620Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-10-27T14:55:33.6342573Z","primaryEndpoints":{"dfs":"https://yssa.dfs.core.windows.net/","web":"https://yssa.z22.web.core.windows.net/","blob":"https://yssa.blob.core.windows.net/","queue":"https://yssa.queue.core.windows.net/","table":"https://yssa.table.core.windows.net/","file":"https://yssa.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yssa-secondary.dfs.core.windows.net/","web":"https://yssa-secondary.z22.web.core.windows.net/","blob":"https://yssa-secondary.blob.core.windows.net/","queue":"https://yssa-secondary.queue.core.windows.net/","table":"https://yssa-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yishitest/providers/Microsoft.Storage/storageAccounts/yssaadls","name":"yssaadls","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-03-11T08:16:02.3188031Z","key2":"2021-03-11T08:16:02.3188031Z"},"privateEndpointConnections":[],"isHnsEnabled":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-11T08:16:02.3188031Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-11T08:16:02.3188031Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-03-11T08:16:02.2406559Z","primaryEndpoints":{"dfs":"https://yssaadls.dfs.core.windows.net/","web":"https://yssaadls.z22.web.core.windows.net/","blob":"https://yssaadls.blob.core.windows.net/","queue":"https://yssaadls.queue.core.windows.net/","table":"https://yssaadls.table.core.windows.net/","file":"https://yssaadls.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yssaadls-secondary.dfs.core.windows.net/","web":"https://yssaadls-secondary.z22.web.core.windows.net/","blob":"https://yssaadls-secondary.blob.core.windows.net/","queue":"https://yssaadls-secondary.queue.core.windows.net/","table":"https://yssaadls-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"BlobStorage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yishitest/providers/Microsoft.Storage/storageAccounts/yssatmp","name":"yssatmp","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-02-04T07:19:47.0265181Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-02-04T07:19:47.0265181Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-02-04T07:19:46.9171303Z","primaryEndpoints":{"dfs":"https://yssatmp.dfs.core.windows.net/","blob":"https://yssatmp.blob.core.windows.net/","table":"https://yssatmp.table.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yssatmp-secondary.dfs.core.windows.net/","blob":"https://yssatmp-secondary.blob.core.windows.net/","table":"https://yssatmp-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureSDKTest_reserved/providers/Microsoft.Storage/storageAccounts/azuresdktest","name":"azuresdktest","type":"Microsoft.Storage/storageAccounts","location":"eastasia","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-12T06:32:07.1157877Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-12T06:32:07.1157877Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-08-12T06:32:07.0689199Z","primaryEndpoints":{"dfs":"https://azuresdktest.dfs.core.windows.net/","web":"https://azuresdktest.z7.web.core.windows.net/","blob":"https://azuresdktest.blob.core.windows.net/","queue":"https://azuresdktest.queue.core.windows.net/","table":"https://azuresdktest.table.core.windows.net/","file":"https://azuresdktest.file.core.windows.net/"},"primaryLocation":"eastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rggrglkh7zr7/providers/Microsoft.Storage/storageAccounts/clitest2f63bh43aix4wcnlh","name":"clitest2f63bh43aix4wcnlh","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-22T08:17:38.5541453Z","key2":"2021-04-22T08:17:38.5541453Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:17:38.5541453Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:17:38.5541453Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-22T08:17:38.4760163Z","primaryEndpoints":{"blob":"https://clitest2f63bh43aix4wcnlh.blob.core.windows.net/","queue":"https://clitest2f63bh43aix4wcnlh.queue.core.windows.net/","table":"https://clitest2f63bh43aix4wcnlh.table.core.windows.net/","file":"https://clitest2f63bh43aix4wcnlh.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgh5duq2f6uh/providers/Microsoft.Storage/storageAccounts/clitest2vjedutxs37ymp4ni","name":"clitest2vjedutxs37ymp4ni","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T07:13:21.0424866Z","key2":"2021-04-23T07:13:21.0424866Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:21.0581083Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:21.0581083Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T07:13:20.9643257Z","primaryEndpoints":{"blob":"https://clitest2vjedutxs37ymp4ni.blob.core.windows.net/","queue":"https://clitest2vjedutxs37ymp4ni.queue.core.windows.net/","table":"https://clitest2vjedutxs37ymp4ni.table.core.windows.net/","file":"https://clitest2vjedutxs37ymp4ni.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgl6l3rg6atb/providers/Microsoft.Storage/storageAccounts/clitest4sjmiwke5nz3f67pu","name":"clitest4sjmiwke5nz3f67pu","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-22T08:02:15.3305055Z","key2":"2021-04-22T08:02:15.3305055Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:02:15.3305055Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:02:15.3305055Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-22T08:02:15.2523305Z","primaryEndpoints":{"blob":"https://clitest4sjmiwke5nz3f67pu.blob.core.windows.net/","queue":"https://clitest4sjmiwke5nz3f67pu.queue.core.windows.net/","table":"https://clitest4sjmiwke5nz3f67pu.table.core.windows.net/","file":"https://clitest4sjmiwke5nz3f67pu.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgbbt37xr2le/providers/Microsoft.Storage/storageAccounts/clitest5frikrzhxwryrkfel","name":"clitest5frikrzhxwryrkfel","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-22T08:19:22.9620171Z","key2":"2021-04-22T08:19:22.9620171Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:19:22.9776721Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:19:22.9776721Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-22T08:19:22.8838883Z","primaryEndpoints":{"blob":"https://clitest5frikrzhxwryrkfel.blob.core.windows.net/","queue":"https://clitest5frikrzhxwryrkfel.queue.core.windows.net/","table":"https://clitest5frikrzhxwryrkfel.table.core.windows.net/","file":"https://clitest5frikrzhxwryrkfel.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgrc4sjsrzt4/providers/Microsoft.Storage/storageAccounts/clitest63b5vtkhuf7auho6z","name":"clitest63b5vtkhuf7auho6z","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-22T08:17:38.3198561Z","key2":"2021-04-22T08:17:38.3198561Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:17:38.3198561Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:17:38.3198561Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-22T08:17:38.2416459Z","primaryEndpoints":{"blob":"https://clitest63b5vtkhuf7auho6z.blob.core.windows.net/","queue":"https://clitest63b5vtkhuf7auho6z.queue.core.windows.net/","table":"https://clitest63b5vtkhuf7auho6z.table.core.windows.net/","file":"https://clitest63b5vtkhuf7auho6z.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgekim5ct43n/providers/Microsoft.Storage/storageAccounts/clitest6jusqp4qvczw52pql","name":"clitest6jusqp4qvczw52pql","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-22T08:05:08.7847684Z","key2":"2021-04-22T08:05:08.7847684Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:05:08.8003328Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:05:08.8003328Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-22T08:05:08.7065579Z","primaryEndpoints":{"blob":"https://clitest6jusqp4qvczw52pql.blob.core.windows.net/","queue":"https://clitest6jusqp4qvczw52pql.queue.core.windows.net/","table":"https://clitest6jusqp4qvczw52pql.table.core.windows.net/","file":"https://clitest6jusqp4qvczw52pql.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgu7jwflzo6g/providers/Microsoft.Storage/storageAccounts/clitest6qixwlhm5see7ipqv","name":"clitest6qixwlhm5see7ipqv","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T03:42:54.6967487Z","key2":"2021-04-23T03:42:54.6967487Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T03:42:54.6967487Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T03:42:54.6967487Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T03:42:54.6186031Z","primaryEndpoints":{"blob":"https://clitest6qixwlhm5see7ipqv.blob.core.windows.net/","queue":"https://clitest6qixwlhm5see7ipqv.queue.core.windows.net/","table":"https://clitest6qixwlhm5see7ipqv.table.core.windows.net/","file":"https://clitest6qixwlhm5see7ipqv.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgbbt37xr2le/providers/Microsoft.Storage/storageAccounts/clitest74vl6rwuxl5fbuklw","name":"clitest74vl6rwuxl5fbuklw","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-22T08:17:38.2260082Z","key2":"2021-04-22T08:17:38.2260082Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:17:38.2260082Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:17:38.2260082Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-22T08:17:38.1635154Z","primaryEndpoints":{"blob":"https://clitest74vl6rwuxl5fbuklw.blob.core.windows.net/","queue":"https://clitest74vl6rwuxl5fbuklw.queue.core.windows.net/","table":"https://clitest74vl6rwuxl5fbuklw.table.core.windows.net/","file":"https://clitest74vl6rwuxl5fbuklw.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgekim5ct43n/providers/Microsoft.Storage/storageAccounts/clitestaxzz2w4ay2wruyjs5","name":"clitestaxzz2w4ay2wruyjs5","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-22T08:02:15.6585801Z","key2":"2021-04-22T08:02:15.6585801Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:02:15.6585801Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:02:15.6585801Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-22T08:02:15.5804737Z","primaryEndpoints":{"blob":"https://clitestaxzz2w4ay2wruyjs5.blob.core.windows.net/","queue":"https://clitestaxzz2w4ay2wruyjs5.queue.core.windows.net/","table":"https://clitestaxzz2w4ay2wruyjs5.table.core.windows.net/","file":"https://clitestaxzz2w4ay2wruyjs5.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgiudkrkxpl4/providers/Microsoft.Storage/storageAccounts/clitestbiegaggvgwivkqyyi","name":"clitestbiegaggvgwivkqyyi","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T07:13:20.8705764Z","key2":"2021-04-23T07:13:20.8705764Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:20.8861995Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:20.8861995Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T07:13:20.7925187Z","primaryEndpoints":{"blob":"https://clitestbiegaggvgwivkqyyi.blob.core.windows.net/","queue":"https://clitestbiegaggvgwivkqyyi.queue.core.windows.net/","table":"https://clitestbiegaggvgwivkqyyi.table.core.windows.net/","file":"https://clitestbiegaggvgwivkqyyi.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg46ia57tmnz/providers/Microsoft.Storage/storageAccounts/clitestdlxtp24ycnjl3jui2","name":"clitestdlxtp24ycnjl3jui2","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T03:42:54.3217696Z","key2":"2021-04-23T03:42:54.3217696Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T03:42:54.3217696Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T03:42:54.3217696Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T03:42:54.2436164Z","primaryEndpoints":{"blob":"https://clitestdlxtp24ycnjl3jui2.blob.core.windows.net/","queue":"https://clitestdlxtp24ycnjl3jui2.queue.core.windows.net/","table":"https://clitestdlxtp24ycnjl3jui2.table.core.windows.net/","file":"https://clitestdlxtp24ycnjl3jui2.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgv3m577d7ho/providers/Microsoft.Storage/storageAccounts/clitestej2fvhoj3zogyp5e7","name":"clitestej2fvhoj3zogyp5e7","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T03:42:54.7279926Z","key2":"2021-04-23T03:42:54.7279926Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T03:42:54.7279926Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T03:42:54.7279926Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T03:42:54.6342444Z","primaryEndpoints":{"blob":"https://clitestej2fvhoj3zogyp5e7.blob.core.windows.net/","queue":"https://clitestej2fvhoj3zogyp5e7.queue.core.windows.net/","table":"https://clitestej2fvhoj3zogyp5e7.table.core.windows.net/","file":"https://clitestej2fvhoj3zogyp5e7.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgp6ikwpcsq7/providers/Microsoft.Storage/storageAccounts/clitestggvkyebv5o55dhakj","name":"clitestggvkyebv5o55dhakj","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T07:13:21.2300019Z","key2":"2021-04-23T07:13:21.2300019Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:21.2456239Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:21.2456239Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T07:13:21.1518492Z","primaryEndpoints":{"blob":"https://clitestggvkyebv5o55dhakj.blob.core.windows.net/","queue":"https://clitestggvkyebv5o55dhakj.queue.core.windows.net/","table":"https://clitestggvkyebv5o55dhakj.table.core.windows.net/","file":"https://clitestggvkyebv5o55dhakj.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgn6glpfa25c/providers/Microsoft.Storage/storageAccounts/clitestgt3fjzabc7taya5zo","name":"clitestgt3fjzabc7taya5zo","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T07:13:20.6675009Z","key2":"2021-04-23T07:13:20.6675009Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:20.6831653Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:20.6831653Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T07:13:20.5894204Z","primaryEndpoints":{"blob":"https://clitestgt3fjzabc7taya5zo.blob.core.windows.net/","queue":"https://clitestgt3fjzabc7taya5zo.queue.core.windows.net/","table":"https://clitestgt3fjzabc7taya5zo.table.core.windows.net/","file":"https://clitestgt3fjzabc7taya5zo.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgptzwacrnwa/providers/Microsoft.Storage/storageAccounts/clitestivtrt5tp624n63ast","name":"clitestivtrt5tp624n63ast","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-22T08:17:38.1166795Z","key2":"2021-04-22T08:17:38.1166795Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:17:38.1166795Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:17:38.1166795Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-22T08:17:38.0541529Z","primaryEndpoints":{"blob":"https://clitestivtrt5tp624n63ast.blob.core.windows.net/","queue":"https://clitestivtrt5tp624n63ast.queue.core.windows.net/","table":"https://clitestivtrt5tp624n63ast.table.core.windows.net/","file":"https://clitestivtrt5tp624n63ast.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgdc25pvki6m/providers/Microsoft.Storage/storageAccounts/clitestkxu4ahsqaxv42cyyf","name":"clitestkxu4ahsqaxv42cyyf","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-22T08:02:15.7523496Z","key2":"2021-04-22T08:02:15.7523496Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:02:15.7523496Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:02:15.7523496Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-22T08:02:15.6742355Z","primaryEndpoints":{"blob":"https://clitestkxu4ahsqaxv42cyyf.blob.core.windows.net/","queue":"https://clitestkxu4ahsqaxv42cyyf.queue.core.windows.net/","table":"https://clitestkxu4ahsqaxv42cyyf.table.core.windows.net/","file":"https://clitestkxu4ahsqaxv42cyyf.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgghkyqf7pb5/providers/Microsoft.Storage/storageAccounts/clitestpuea6vlqwxw6ihiws","name":"clitestpuea6vlqwxw6ihiws","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T07:13:21.0581083Z","key2":"2021-04-23T07:13:21.0581083Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:21.0737014Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:21.0737014Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T07:13:20.9799581Z","primaryEndpoints":{"blob":"https://clitestpuea6vlqwxw6ihiws.blob.core.windows.net/","queue":"https://clitestpuea6vlqwxw6ihiws.queue.core.windows.net/","table":"https://clitestpuea6vlqwxw6ihiws.table.core.windows.net/","file":"https://clitestpuea6vlqwxw6ihiws.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg6i4hl6iakg/providers/Microsoft.Storage/storageAccounts/clitestu3p7a7ib4n4y7gt4m","name":"clitestu3p7a7ib4n4y7gt4m","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-30T01:51:53.0814418Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-30T01:51:53.0814418Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2019-12-30T01:51:53.0189478Z","primaryEndpoints":{"blob":"https://clitestu3p7a7ib4n4y7gt4m.blob.core.windows.net/","queue":"https://clitestu3p7a7ib4n4y7gt4m.queue.core.windows.net/","table":"https://clitestu3p7a7ib4n4y7gt4m.table.core.windows.net/","file":"https://clitestu3p7a7ib4n4y7gt4m.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgu7jwflzo6g/providers/Microsoft.Storage/storageAccounts/clitestwqzjytdeun46rphfd","name":"clitestwqzjytdeun46rphfd","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T03:44:35.3668592Z","key2":"2021-04-23T03:44:35.3668592Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T03:44:35.3668592Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T03:44:35.3668592Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T03:44:35.2887580Z","primaryEndpoints":{"blob":"https://clitestwqzjytdeun46rphfd.blob.core.windows.net/","queue":"https://clitestwqzjytdeun46rphfd.queue.core.windows.net/","table":"https://clitestwqzjytdeun46rphfd.table.core.windows.net/","file":"https://clitestwqzjytdeun46rphfd.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgltfej7yr4u/providers/Microsoft.Storage/storageAccounts/clitestwvsg2uskf4i7vjfto","name":"clitestwvsg2uskf4i7vjfto","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-05-13T07:48:30.9247776Z","key2":"2021-05-13T07:48:30.9247776Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-13T07:48:30.9403727Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-13T07:48:30.9403727Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-05-13T07:48:30.8309682Z","primaryEndpoints":{"blob":"https://clitestwvsg2uskf4i7vjfto.blob.core.windows.net/","queue":"https://clitestwvsg2uskf4i7vjfto.queue.core.windows.net/","table":"https://clitestwvsg2uskf4i7vjfto.table.core.windows.net/","file":"https://clitestwvsg2uskf4i7vjfto.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgzjznhcqaoh/providers/Microsoft.Storage/storageAccounts/clitestwznnmnfot33xjztmk","name":"clitestwznnmnfot33xjztmk","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T07:13:20.7299628Z","key2":"2021-04-23T07:13:20.7299628Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:20.7456181Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:20.7456181Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T07:13:20.6518776Z","primaryEndpoints":{"blob":"https://clitestwznnmnfot33xjztmk.blob.core.windows.net/","queue":"https://clitestwznnmnfot33xjztmk.queue.core.windows.net/","table":"https://clitestwznnmnfot33xjztmk.table.core.windows.net/","file":"https://clitestwznnmnfot33xjztmk.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgovptfsocfg/providers/Microsoft.Storage/storageAccounts/clitestz72bbbbv2cio2pmom","name":"clitestz72bbbbv2cio2pmom","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T07:13:21.0112600Z","key2":"2021-04-23T07:13:21.0112600Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:21.0268549Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:21.0268549Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T07:13:20.9330720Z","primaryEndpoints":{"blob":"https://clitestz72bbbbv2cio2pmom.blob.core.windows.net/","queue":"https://clitestz72bbbbv2cio2pmom.queue.core.windows.net/","table":"https://clitestz72bbbbv2cio2pmom.table.core.windows.net/","file":"https://clitestz72bbbbv2cio2pmom.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgxp7uwuibs5/providers/Microsoft.Storage/storageAccounts/clitestzrwidkqplnw3jmz4z","name":"clitestzrwidkqplnw3jmz4z","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T07:13:20.6831653Z","key2":"2021-04-23T07:13:20.6831653Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:20.6987004Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:20.6987004Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T07:13:20.6049571Z","primaryEndpoints":{"blob":"https://clitestzrwidkqplnw3jmz4z.blob.core.windows.net/","queue":"https://clitestzrwidkqplnw3jmz4z.queue.core.windows.net/","table":"https://clitestzrwidkqplnw3jmz4z.table.core.windows.net/","file":"https://clitestzrwidkqplnw3jmz4z.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cloud-shell-storage-southeastasia/providers/Microsoft.Storage/storageAccounts/cs1100320004dd89524","name":"cs1100320004dd89524","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-03-26T05:48:15.7013062Z","key2":"2021-03-26T05:48:15.7013062Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-26T05:48:15.7169621Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-26T05:48:15.7169621Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-03-26T05:48:15.6545059Z","primaryEndpoints":{"dfs":"https://cs1100320004dd89524.dfs.core.windows.net/","web":"https://cs1100320004dd89524.z23.web.core.windows.net/","blob":"https://cs1100320004dd89524.blob.core.windows.net/","queue":"https://cs1100320004dd89524.queue.core.windows.net/","table":"https://cs1100320004dd89524.table.core.windows.net/","file":"https://cs1100320004dd89524.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureSDKTest_reserved/providers/Microsoft.Storage/storageAccounts/cs1100320007de01867","name":"cs1100320007de01867","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-09-25T03:24:00.9959166Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-09-25T03:24:00.9959166Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-09-25T03:24:00.9490326Z","primaryEndpoints":{"dfs":"https://cs1100320007de01867.dfs.core.windows.net/","web":"https://cs1100320007de01867.z23.web.core.windows.net/","blob":"https://cs1100320007de01867.blob.core.windows.net/","queue":"https://cs1100320007de01867.queue.core.windows.net/","table":"https://cs1100320007de01867.table.core.windows.net/","file":"https://cs1100320007de01867.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cloud-shell-storage-southeastasia/providers/Microsoft.Storage/storageAccounts/cs1100320008debd5bc","name":"cs1100320008debd5bc","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-03-17T07:12:44.1132341Z","key2":"2021-03-17T07:12:44.1132341Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-17T07:12:44.1132341Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-17T07:12:44.1132341Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-03-17T07:12:44.0351358Z","primaryEndpoints":{"dfs":"https://cs1100320008debd5bc.dfs.core.windows.net/","web":"https://cs1100320008debd5bc.z23.web.core.windows.net/","blob":"https://cs1100320008debd5bc.blob.core.windows.net/","queue":"https://cs1100320008debd5bc.queue.core.windows.net/","table":"https://cs1100320008debd5bc.table.core.windows.net/","file":"https://cs1100320008debd5bc.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cloud-shell-storage-southeastasia/providers/Microsoft.Storage/storageAccounts/cs11003200092fe0771","name":"cs11003200092fe0771","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-03-23T07:08:51.1436686Z","key2":"2021-03-23T07:08:51.1436686Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-23T07:08:51.1593202Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-23T07:08:51.1593202Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-03-23T07:08:51.0811120Z","primaryEndpoints":{"dfs":"https://cs11003200092fe0771.dfs.core.windows.net/","web":"https://cs11003200092fe0771.z23.web.core.windows.net/","blob":"https://cs11003200092fe0771.blob.core.windows.net/","queue":"https://cs11003200092fe0771.queue.core.windows.net/","table":"https://cs11003200092fe0771.table.core.windows.net/","file":"https://cs11003200092fe0771.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cloud-shell-storage-southeastasia/providers/Microsoft.Storage/storageAccounts/cs110032000b6f3c90c","name":"cs110032000b6f3c90c","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-05-06T05:28:23.2493456Z","key2":"2021-05-06T05:28:23.2493456Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-06T05:28:23.2493456Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-06T05:28:23.2493456Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-05-06T05:28:23.1868245Z","primaryEndpoints":{"dfs":"https://cs110032000b6f3c90c.dfs.core.windows.net/","web":"https://cs110032000b6f3c90c.z23.web.core.windows.net/","blob":"https://cs110032000b6f3c90c.blob.core.windows.net/","queue":"https://cs110032000b6f3c90c.queue.core.windows.net/","table":"https://cs110032000b6f3c90c.table.core.windows.net/","file":"https://cs110032000b6f3c90c.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cloud-shell-storage-southeastasia/providers/Microsoft.Storage/storageAccounts/cs110032000c31bae71","name":"cs110032000c31bae71","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-04-15T06:39:35.4649198Z","key2":"2021-04-15T06:39:35.4649198Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-15T06:39:35.4649198Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-15T06:39:35.4649198Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-15T06:39:35.4180004Z","primaryEndpoints":{"dfs":"https://cs110032000c31bae71.dfs.core.windows.net/","web":"https://cs110032000c31bae71.z23.web.core.windows.net/","blob":"https://cs110032000c31bae71.blob.core.windows.net/","queue":"https://cs110032000c31bae71.queue.core.windows.net/","table":"https://cs110032000c31bae71.table.core.windows.net/","file":"https://cs110032000c31bae71.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureSDKTest_reserved/providers/Microsoft.Storage/storageAccounts/cs110032000ca62af00","name":"cs110032000ca62af00","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-09-22T02:06:18.4998653Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-09-22T02:06:18.4998653Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-09-22T02:06:18.4217109Z","primaryEndpoints":{"dfs":"https://cs110032000ca62af00.dfs.core.windows.net/","web":"https://cs110032000ca62af00.z23.web.core.windows.net/","blob":"https://cs110032000ca62af00.blob.core.windows.net/","queue":"https://cs110032000ca62af00.queue.core.windows.net/","table":"https://cs110032000ca62af00.table.core.windows.net/","file":"https://cs110032000ca62af00.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cloud-shell-storage-southeastasia/providers/Microsoft.Storage/storageAccounts/cs110032000e3121978","name":"cs110032000e3121978","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-04-25T07:26:43.6124221Z","key2":"2021-04-25T07:26:43.6124221Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-25T07:26:43.6124221Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-25T07:26:43.6124221Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-25T07:26:43.5343583Z","primaryEndpoints":{"dfs":"https://cs110032000e3121978.dfs.core.windows.net/","web":"https://cs110032000e3121978.z23.web.core.windows.net/","blob":"https://cs110032000e3121978.blob.core.windows.net/","queue":"https://cs110032000e3121978.queue.core.windows.net/","table":"https://cs110032000e3121978.table.core.windows.net/","file":"https://cs110032000e3121978.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cloud-shell-storage-southeastasia/providers/Microsoft.Storage/storageAccounts/cs11003200127365c47","name":"cs11003200127365c47","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-03-25T03:10:52.6098894Z","key2":"2021-03-25T03:10:52.6098894Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-25T03:10:52.6098894Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-25T03:10:52.6098894Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-03-25T03:10:52.5318146Z","primaryEndpoints":{"dfs":"https://cs11003200127365c47.dfs.core.windows.net/","web":"https://cs11003200127365c47.z23.web.core.windows.net/","blob":"https://cs11003200127365c47.blob.core.windows.net/","queue":"https://cs11003200127365c47.queue.core.windows.net/","table":"https://cs11003200127365c47.table.core.windows.net/","file":"https://cs11003200127365c47.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cloud-shell-storage-southeastasia/providers/Microsoft.Storage/storageAccounts/cs1100320012c36c452","name":"cs1100320012c36c452","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-04-09T08:04:25.5979407Z","key2":"2021-04-09T08:04:25.5979407Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-09T08:04:25.5979407Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-09T08:04:25.5979407Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-09T08:04:25.5198295Z","primaryEndpoints":{"dfs":"https://cs1100320012c36c452.dfs.core.windows.net/","web":"https://cs1100320012c36c452.z23.web.core.windows.net/","blob":"https://cs1100320012c36c452.blob.core.windows.net/","queue":"https://cs1100320012c36c452.queue.core.windows.net/","table":"https://cs1100320012c36c452.table.core.windows.net/","file":"https://cs1100320012c36c452.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jiasli-cli-dev/providers/Microsoft.Storage/storageAccounts/jlst","name":"jlst","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"allowSharedKeyAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-12-31T03:05:24.8023719Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-12-31T03:05:24.8023719Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-12-31T03:05:24.7086186Z","primaryEndpoints":{"dfs":"https://jlst.dfs.core.windows.net/","web":"https://jlst.z23.web.core.windows.net/","blob":"https://jlst.blob.core.windows.net/","queue":"https://jlst.queue.core.windows.net/","table":"https://jlst.table.core.windows.net/","file":"https://jlst.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jiasli-cli-dev/providers/Microsoft.Storage/storageAccounts/jlstcs","name":"jlstcs","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-13T06:39:02.4278678Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-13T06:39:02.4278678Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-10-13T06:39:02.3497160Z","primaryEndpoints":{"dfs":"https://jlstcs.dfs.core.windows.net/","web":"https://jlstcs.z23.web.core.windows.net/","blob":"https://jlstcs.blob.core.windows.net/","queue":"https://jlstcs.queue.core.windows.net/","table":"https://jlstcs.table.core.windows.net/","file":"https://jlstcs.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Storage/storageAccounts/qianwensdiag","name":"qianwensdiag","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-04T07:17:09.1138103Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-04T07:17:09.1138103Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-02-04T07:17:09.0514178Z","primaryEndpoints":{"blob":"https://qianwensdiag.blob.core.windows.net/","queue":"https://qianwensdiag.queue.core.windows.net/","table":"https://qianwensdiag.table.core.windows.net/","file":"https://qianwensdiag.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhoxing-test/providers/Microsoft.Storage/storageAccounts/store6472qnxl3vv5o","name":"store6472qnxl3vv5o","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{"project":"Digital + Platform","env":"CI"},"properties":{"keyCreationTime":{"key1":"2021-04-29T09:18:42.5385370Z","key2":"2021-04-29T09:18:42.5385370Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-29T09:18:42.5385370Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-29T09:18:42.5385370Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-29T09:18:42.4447545Z","primaryEndpoints":{"blob":"https://store6472qnxl3vv5o.blob.core.windows.net/","queue":"https://store6472qnxl3vv5o.queue.core.windows.net/","table":"https://store6472qnxl3vv5o.table.core.windows.net/","file":"https://store6472qnxl3vv5o.file.core.windows.net/"},"primaryLocation":"southcentralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/extmigrate","name":"extmigrate","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-16T08:26:10.6796218Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-16T08:26:10.6796218Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-16T08:26:10.5858998Z","primaryEndpoints":{"blob":"https://extmigrate.blob.core.windows.net/","queue":"https://extmigrate.queue.core.windows.net/","table":"https://extmigrate.table.core.windows.net/","file":"https://extmigrate.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://extmigrate-secondary.blob.core.windows.net/","queue":"https://extmigrate-secondary.queue.core.windows.net/","table":"https://extmigrate-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/fengsa","name":"fengsa","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-05-14T06:47:20.1106748Z","key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-01-06T04:33:22.9379802Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-01-06T04:33:22.9379802Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-01-06T04:33:22.8754625Z","primaryEndpoints":{"dfs":"https://fengsa.dfs.core.windows.net/","web":"https://fengsa.z19.web.core.windows.net/","blob":"https://fengsa.blob.core.windows.net/","queue":"https://fengsa.queue.core.windows.net/","table":"https://fengsa.table.core.windows.net/","file":"https://fengsa.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://fengsa-secondary.dfs.core.windows.net/","web":"https://fengsa-secondary.z19.web.core.windows.net/","blob":"https://fengsa-secondary.blob.core.windows.net/","queue":"https://fengsa-secondary.queue.core.windows.net/","table":"https://fengsa-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/fengtestsa","name":"fengtestsa","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-29T03:10:28.7204355Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-29T03:10:28.7204355Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-10-29T03:10:28.6266623Z","primaryEndpoints":{"dfs":"https://fengtestsa.dfs.core.windows.net/","web":"https://fengtestsa.z19.web.core.windows.net/","blob":"https://fengtestsa.blob.core.windows.net/","queue":"https://fengtestsa.queue.core.windows.net/","table":"https://fengtestsa.table.core.windows.net/","file":"https://fengtestsa.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://fengtestsa-secondary.dfs.core.windows.net/","web":"https://fengtestsa-secondary.z19.web.core.windows.net/","blob":"https://fengtestsa-secondary.blob.core.windows.net/","queue":"https://fengtestsa-secondary.queue.core.windows.net/","table":"https://fengtestsa-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro1","name":"storagesfrepro1","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:07:42.2058942Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:07:42.2058942Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:07:42.1277444Z","primaryEndpoints":{"dfs":"https://storagesfrepro1.dfs.core.windows.net/","web":"https://storagesfrepro1.z19.web.core.windows.net/","blob":"https://storagesfrepro1.blob.core.windows.net/","queue":"https://storagesfrepro1.queue.core.windows.net/","table":"https://storagesfrepro1.table.core.windows.net/","file":"https://storagesfrepro1.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro1-secondary.dfs.core.windows.net/","web":"https://storagesfrepro1-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro1-secondary.blob.core.windows.net/","queue":"https://storagesfrepro1-secondary.queue.core.windows.net/","table":"https://storagesfrepro1-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro10","name":"storagesfrepro10","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:00.8753334Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:00.8753334Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:14:00.7815921Z","primaryEndpoints":{"dfs":"https://storagesfrepro10.dfs.core.windows.net/","web":"https://storagesfrepro10.z19.web.core.windows.net/","blob":"https://storagesfrepro10.blob.core.windows.net/","queue":"https://storagesfrepro10.queue.core.windows.net/","table":"https://storagesfrepro10.table.core.windows.net/","file":"https://storagesfrepro10.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro10-secondary.dfs.core.windows.net/","web":"https://storagesfrepro10-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro10-secondary.blob.core.windows.net/","queue":"https://storagesfrepro10-secondary.queue.core.windows.net/","table":"https://storagesfrepro10-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro11","name":"storagesfrepro11","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:28.9859417Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:28.9859417Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:14:28.8609347Z","primaryEndpoints":{"dfs":"https://storagesfrepro11.dfs.core.windows.net/","web":"https://storagesfrepro11.z19.web.core.windows.net/","blob":"https://storagesfrepro11.blob.core.windows.net/","queue":"https://storagesfrepro11.queue.core.windows.net/","table":"https://storagesfrepro11.table.core.windows.net/","file":"https://storagesfrepro11.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro11-secondary.dfs.core.windows.net/","web":"https://storagesfrepro11-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro11-secondary.blob.core.windows.net/","queue":"https://storagesfrepro11-secondary.queue.core.windows.net/","table":"https://storagesfrepro11-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro12","name":"storagesfrepro12","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:15:15.6785362Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:15:15.6785362Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:15:15.5848345Z","primaryEndpoints":{"dfs":"https://storagesfrepro12.dfs.core.windows.net/","web":"https://storagesfrepro12.z19.web.core.windows.net/","blob":"https://storagesfrepro12.blob.core.windows.net/","queue":"https://storagesfrepro12.queue.core.windows.net/","table":"https://storagesfrepro12.table.core.windows.net/","file":"https://storagesfrepro12.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro12-secondary.dfs.core.windows.net/","web":"https://storagesfrepro12-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro12-secondary.blob.core.windows.net/","queue":"https://storagesfrepro12-secondary.queue.core.windows.net/","table":"https://storagesfrepro12-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro13","name":"storagesfrepro13","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:16:55.7609361Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:16:55.7609361Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:16:55.6671828Z","primaryEndpoints":{"dfs":"https://storagesfrepro13.dfs.core.windows.net/","web":"https://storagesfrepro13.z19.web.core.windows.net/","blob":"https://storagesfrepro13.blob.core.windows.net/","queue":"https://storagesfrepro13.queue.core.windows.net/","table":"https://storagesfrepro13.table.core.windows.net/","file":"https://storagesfrepro13.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro13-secondary.dfs.core.windows.net/","web":"https://storagesfrepro13-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro13-secondary.blob.core.windows.net/","queue":"https://storagesfrepro13-secondary.queue.core.windows.net/","table":"https://storagesfrepro13-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro14","name":"storagesfrepro14","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:17:40.7661469Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:17:40.7661469Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:17:40.6880204Z","primaryEndpoints":{"dfs":"https://storagesfrepro14.dfs.core.windows.net/","web":"https://storagesfrepro14.z19.web.core.windows.net/","blob":"https://storagesfrepro14.blob.core.windows.net/","queue":"https://storagesfrepro14.queue.core.windows.net/","table":"https://storagesfrepro14.table.core.windows.net/","file":"https://storagesfrepro14.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro14-secondary.dfs.core.windows.net/","web":"https://storagesfrepro14-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro14-secondary.blob.core.windows.net/","queue":"https://storagesfrepro14-secondary.queue.core.windows.net/","table":"https://storagesfrepro14-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro15","name":"storagesfrepro15","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:18:52.1812445Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:18:52.1812445Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:18:52.0718543Z","primaryEndpoints":{"dfs":"https://storagesfrepro15.dfs.core.windows.net/","web":"https://storagesfrepro15.z19.web.core.windows.net/","blob":"https://storagesfrepro15.blob.core.windows.net/","queue":"https://storagesfrepro15.queue.core.windows.net/","table":"https://storagesfrepro15.table.core.windows.net/","file":"https://storagesfrepro15.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro15-secondary.dfs.core.windows.net/","web":"https://storagesfrepro15-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro15-secondary.blob.core.windows.net/","queue":"https://storagesfrepro15-secondary.queue.core.windows.net/","table":"https://storagesfrepro15-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro16","name":"storagesfrepro16","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:19:33.1863807Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:19:33.1863807Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:19:33.0770034Z","primaryEndpoints":{"dfs":"https://storagesfrepro16.dfs.core.windows.net/","web":"https://storagesfrepro16.z19.web.core.windows.net/","blob":"https://storagesfrepro16.blob.core.windows.net/","queue":"https://storagesfrepro16.queue.core.windows.net/","table":"https://storagesfrepro16.table.core.windows.net/","file":"https://storagesfrepro16.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro16-secondary.dfs.core.windows.net/","web":"https://storagesfrepro16-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro16-secondary.blob.core.windows.net/","queue":"https://storagesfrepro16-secondary.queue.core.windows.net/","table":"https://storagesfrepro16-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro17","name":"storagesfrepro17","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:23.5553513Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:23.5553513Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:04:23.4771469Z","primaryEndpoints":{"dfs":"https://storagesfrepro17.dfs.core.windows.net/","web":"https://storagesfrepro17.z19.web.core.windows.net/","blob":"https://storagesfrepro17.blob.core.windows.net/","queue":"https://storagesfrepro17.queue.core.windows.net/","table":"https://storagesfrepro17.table.core.windows.net/","file":"https://storagesfrepro17.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro17-secondary.dfs.core.windows.net/","web":"https://storagesfrepro17-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro17-secondary.blob.core.windows.net/","queue":"https://storagesfrepro17-secondary.queue.core.windows.net/","table":"https://storagesfrepro17-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro18","name":"storagesfrepro18","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:53.8320772Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:53.8320772Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:04:53.7383176Z","primaryEndpoints":{"dfs":"https://storagesfrepro18.dfs.core.windows.net/","web":"https://storagesfrepro18.z19.web.core.windows.net/","blob":"https://storagesfrepro18.blob.core.windows.net/","queue":"https://storagesfrepro18.queue.core.windows.net/","table":"https://storagesfrepro18.table.core.windows.net/","file":"https://storagesfrepro18.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro18-secondary.dfs.core.windows.net/","web":"https://storagesfrepro18-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro18-secondary.blob.core.windows.net/","queue":"https://storagesfrepro18-secondary.queue.core.windows.net/","table":"https://storagesfrepro18-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro19","name":"storagesfrepro19","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:05:26.3650238Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:05:26.3650238Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:05:26.2556326Z","primaryEndpoints":{"dfs":"https://storagesfrepro19.dfs.core.windows.net/","web":"https://storagesfrepro19.z19.web.core.windows.net/","blob":"https://storagesfrepro19.blob.core.windows.net/","queue":"https://storagesfrepro19.queue.core.windows.net/","table":"https://storagesfrepro19.table.core.windows.net/","file":"https://storagesfrepro19.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro19-secondary.dfs.core.windows.net/","web":"https://storagesfrepro19-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro19-secondary.blob.core.windows.net/","queue":"https://storagesfrepro19-secondary.queue.core.windows.net/","table":"https://storagesfrepro19-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro2","name":"storagesfrepro2","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:08:45.8498203Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:08:45.8498203Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:08:45.7717196Z","primaryEndpoints":{"dfs":"https://storagesfrepro2.dfs.core.windows.net/","web":"https://storagesfrepro2.z19.web.core.windows.net/","blob":"https://storagesfrepro2.blob.core.windows.net/","queue":"https://storagesfrepro2.queue.core.windows.net/","table":"https://storagesfrepro2.table.core.windows.net/","file":"https://storagesfrepro2.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro2-secondary.dfs.core.windows.net/","web":"https://storagesfrepro2-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro2-secondary.blob.core.windows.net/","queue":"https://storagesfrepro2-secondary.queue.core.windows.net/","table":"https://storagesfrepro2-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro20","name":"storagesfrepro20","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:07.4295934Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:07.4295934Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:06:07.3358422Z","primaryEndpoints":{"dfs":"https://storagesfrepro20.dfs.core.windows.net/","web":"https://storagesfrepro20.z19.web.core.windows.net/","blob":"https://storagesfrepro20.blob.core.windows.net/","queue":"https://storagesfrepro20.queue.core.windows.net/","table":"https://storagesfrepro20.table.core.windows.net/","file":"https://storagesfrepro20.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro20-secondary.dfs.core.windows.net/","web":"https://storagesfrepro20-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro20-secondary.blob.core.windows.net/","queue":"https://storagesfrepro20-secondary.queue.core.windows.net/","table":"https://storagesfrepro20-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro21","name":"storagesfrepro21","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:37.4780251Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:37.4780251Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:06:37.3686460Z","primaryEndpoints":{"dfs":"https://storagesfrepro21.dfs.core.windows.net/","web":"https://storagesfrepro21.z19.web.core.windows.net/","blob":"https://storagesfrepro21.blob.core.windows.net/","queue":"https://storagesfrepro21.queue.core.windows.net/","table":"https://storagesfrepro21.table.core.windows.net/","file":"https://storagesfrepro21.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro21-secondary.dfs.core.windows.net/","web":"https://storagesfrepro21-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro21-secondary.blob.core.windows.net/","queue":"https://storagesfrepro21-secondary.queue.core.windows.net/","table":"https://storagesfrepro21-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro22","name":"storagesfrepro22","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:59.8295391Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:59.8295391Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:06:59.7201581Z","primaryEndpoints":{"dfs":"https://storagesfrepro22.dfs.core.windows.net/","web":"https://storagesfrepro22.z19.web.core.windows.net/","blob":"https://storagesfrepro22.blob.core.windows.net/","queue":"https://storagesfrepro22.queue.core.windows.net/","table":"https://storagesfrepro22.table.core.windows.net/","file":"https://storagesfrepro22.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro22-secondary.dfs.core.windows.net/","web":"https://storagesfrepro22-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro22-secondary.blob.core.windows.net/","queue":"https://storagesfrepro22-secondary.queue.core.windows.net/","table":"https://storagesfrepro22-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro23","name":"storagesfrepro23","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:29.0846619Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:29.0846619Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:07:29.0065050Z","primaryEndpoints":{"dfs":"https://storagesfrepro23.dfs.core.windows.net/","web":"https://storagesfrepro23.z19.web.core.windows.net/","blob":"https://storagesfrepro23.blob.core.windows.net/","queue":"https://storagesfrepro23.queue.core.windows.net/","table":"https://storagesfrepro23.table.core.windows.net/","file":"https://storagesfrepro23.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro23-secondary.dfs.core.windows.net/","web":"https://storagesfrepro23-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro23-secondary.blob.core.windows.net/","queue":"https://storagesfrepro23-secondary.queue.core.windows.net/","table":"https://storagesfrepro23-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro24","name":"storagesfrepro24","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:53.2658712Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:53.2658712Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:07:53.1565651Z","primaryEndpoints":{"dfs":"https://storagesfrepro24.dfs.core.windows.net/","web":"https://storagesfrepro24.z19.web.core.windows.net/","blob":"https://storagesfrepro24.blob.core.windows.net/","queue":"https://storagesfrepro24.queue.core.windows.net/","table":"https://storagesfrepro24.table.core.windows.net/","file":"https://storagesfrepro24.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro24-secondary.dfs.core.windows.net/","web":"https://storagesfrepro24-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro24-secondary.blob.core.windows.net/","queue":"https://storagesfrepro24-secondary.queue.core.windows.net/","table":"https://storagesfrepro24-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro25","name":"storagesfrepro25","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:08:18.7432319Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:08:18.7432319Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:08:18.6338258Z","primaryEndpoints":{"dfs":"https://storagesfrepro25.dfs.core.windows.net/","web":"https://storagesfrepro25.z19.web.core.windows.net/","blob":"https://storagesfrepro25.blob.core.windows.net/","queue":"https://storagesfrepro25.queue.core.windows.net/","table":"https://storagesfrepro25.table.core.windows.net/","file":"https://storagesfrepro25.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro25-secondary.dfs.core.windows.net/","web":"https://storagesfrepro25-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro25-secondary.blob.core.windows.net/","queue":"https://storagesfrepro25-secondary.queue.core.windows.net/","table":"https://storagesfrepro25-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro3","name":"storagesfrepro3","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:19.5698333Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:19.5698333Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:09:19.3510997Z","primaryEndpoints":{"dfs":"https://storagesfrepro3.dfs.core.windows.net/","web":"https://storagesfrepro3.z19.web.core.windows.net/","blob":"https://storagesfrepro3.blob.core.windows.net/","queue":"https://storagesfrepro3.queue.core.windows.net/","table":"https://storagesfrepro3.table.core.windows.net/","file":"https://storagesfrepro3.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro3-secondary.dfs.core.windows.net/","web":"https://storagesfrepro3-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro3-secondary.blob.core.windows.net/","queue":"https://storagesfrepro3-secondary.queue.core.windows.net/","table":"https://storagesfrepro3-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro4","name":"storagesfrepro4","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:54.9930953Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:54.9930953Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:09:54.8993063Z","primaryEndpoints":{"dfs":"https://storagesfrepro4.dfs.core.windows.net/","web":"https://storagesfrepro4.z19.web.core.windows.net/","blob":"https://storagesfrepro4.blob.core.windows.net/","queue":"https://storagesfrepro4.queue.core.windows.net/","table":"https://storagesfrepro4.table.core.windows.net/","file":"https://storagesfrepro4.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro4-secondary.dfs.core.windows.net/","web":"https://storagesfrepro4-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro4-secondary.blob.core.windows.net/","queue":"https://storagesfrepro4-secondary.queue.core.windows.net/","table":"https://storagesfrepro4-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro5","name":"storagesfrepro5","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:10:48.1114395Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:10:48.1114395Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:10:48.0177273Z","primaryEndpoints":{"dfs":"https://storagesfrepro5.dfs.core.windows.net/","web":"https://storagesfrepro5.z19.web.core.windows.net/","blob":"https://storagesfrepro5.blob.core.windows.net/","queue":"https://storagesfrepro5.queue.core.windows.net/","table":"https://storagesfrepro5.table.core.windows.net/","file":"https://storagesfrepro5.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro5-secondary.dfs.core.windows.net/","web":"https://storagesfrepro5-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro5-secondary.blob.core.windows.net/","queue":"https://storagesfrepro5-secondary.queue.core.windows.net/","table":"https://storagesfrepro5-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro6","name":"storagesfrepro6","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:11:28.0269117Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:11:28.0269117Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:11:27.9331594Z","primaryEndpoints":{"dfs":"https://storagesfrepro6.dfs.core.windows.net/","web":"https://storagesfrepro6.z19.web.core.windows.net/","blob":"https://storagesfrepro6.blob.core.windows.net/","queue":"https://storagesfrepro6.queue.core.windows.net/","table":"https://storagesfrepro6.table.core.windows.net/","file":"https://storagesfrepro6.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro6-secondary.dfs.core.windows.net/","web":"https://storagesfrepro6-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro6-secondary.blob.core.windows.net/","queue":"https://storagesfrepro6-secondary.queue.core.windows.net/","table":"https://storagesfrepro6-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro7","name":"storagesfrepro7","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:08.7761892Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:08.7761892Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:12:08.6824637Z","primaryEndpoints":{"dfs":"https://storagesfrepro7.dfs.core.windows.net/","web":"https://storagesfrepro7.z19.web.core.windows.net/","blob":"https://storagesfrepro7.blob.core.windows.net/","queue":"https://storagesfrepro7.queue.core.windows.net/","table":"https://storagesfrepro7.table.core.windows.net/","file":"https://storagesfrepro7.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro7-secondary.dfs.core.windows.net/","web":"https://storagesfrepro7-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro7-secondary.blob.core.windows.net/","queue":"https://storagesfrepro7-secondary.queue.core.windows.net/","table":"https://storagesfrepro7-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro8","name":"storagesfrepro8","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:39.5221164Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:39.5221164Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:12:39.4283923Z","primaryEndpoints":{"dfs":"https://storagesfrepro8.dfs.core.windows.net/","web":"https://storagesfrepro8.z19.web.core.windows.net/","blob":"https://storagesfrepro8.blob.core.windows.net/","queue":"https://storagesfrepro8.queue.core.windows.net/","table":"https://storagesfrepro8.table.core.windows.net/","file":"https://storagesfrepro8.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro8-secondary.dfs.core.windows.net/","web":"https://storagesfrepro8-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro8-secondary.blob.core.windows.net/","queue":"https://storagesfrepro8-secondary.queue.core.windows.net/","table":"https://storagesfrepro8-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro9","name":"storagesfrepro9","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:13:18.1628430Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:13:18.1628430Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:13:18.0691096Z","primaryEndpoints":{"dfs":"https://storagesfrepro9.dfs.core.windows.net/","web":"https://storagesfrepro9.z19.web.core.windows.net/","blob":"https://storagesfrepro9.blob.core.windows.net/","queue":"https://storagesfrepro9.queue.core.windows.net/","table":"https://storagesfrepro9.table.core.windows.net/","file":"https://storagesfrepro9.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro9-secondary.dfs.core.windows.net/","web":"https://storagesfrepro9-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro9-secondary.blob.core.windows.net/","queue":"https://storagesfrepro9-secondary.queue.core.windows.net/","table":"https://storagesfrepro9-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/IT_acctestRG-ibt-24_acctest-IBT-0710-2_4ebedb5a-e3b1-4675-aa4c-3c160fe70907/providers/Microsoft.Storage/storageAccounts/6ynst8ytvcms52eviy9cme3e","name":"6ynst8ytvcms52eviy9cme3e","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{"createdby":"azureimagebuilder","magicvalue":"0d819542a3774a2a8709401a7cd09eb8"},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-10T11:43:30.0119558Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-10T11:43:30.0119558Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-07-10T11:43:29.9651518Z","primaryEndpoints":{"blob":"https://6ynst8ytvcms52eviy9cme3e.blob.core.windows.net/","queue":"https://6ynst8ytvcms52eviy9cme3e.queue.core.windows.net/","table":"https://6ynst8ytvcms52eviy9cme3e.table.core.windows.net/","file":"https://6ynst8ytvcms52eviy9cme3e.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000003","name":"clitest000003","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"keyCreationTime":{"key1":"2021-05-17T02:23:37.3756660Z","key2":"2021-05-17T02:23:37.3756660Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-17T02:23:37.3756660Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-17T02:23:37.3756660Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-05-17T02:23:37.2975498Z","primaryEndpoints":{"dfs":"https://clitest000003.dfs.core.windows.net/","web":"https://clitest000003.z5.web.core.windows.net/","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":"westus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yishitest/providers/Microsoft.Storage/storageAccounts/yssaeuap","name":"yssaeuap","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-11-10T03:37:15.2571646Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-11-10T03:37:15.2571646Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-11-10T03:37:15.1871764Z","primaryEndpoints":{"dfs":"https://yssaeuap.dfs.core.windows.net/","web":"https://yssaeuap.z3.web.core.windows.net/","blob":"https://yssaeuap.blob.core.windows.net/","queue":"https://yssaeuap.queue.core.windows.net/","table":"https://yssaeuap.table.core.windows.net/","file":"https://yssaeuap.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available","secondaryLocation":"centraluseuap","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yssaeuap-secondary.dfs.core.windows.net/","web":"https://yssaeuap-secondary.z3.web.core.windows.net/","blob":"https://yssaeuap-secondary.blob.core.windows.net/","queue":"https://yssaeuap-secondary.queue.core.windows.net/","table":"https://yssaeuap-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yishitest/providers/Microsoft.Storage/storageAccounts/yssanew","name":"yssanew","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-11-06T09:18:53.7220848Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-11-06T09:18:53.7220848Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-11-06T09:18:53.6620997Z","primaryEndpoints":{"dfs":"https://yssanew.dfs.core.windows.net/","web":"https://yssanew.z3.web.core.windows.net/","blob":"https://yssanew.blob.core.windows.net/","queue":"https://yssanew.queue.core.windows.net/","table":"https://yssanew.table.core.windows.net/","file":"https://yssanew.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available","secondaryLocation":"centraluseuap","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yssanew-secondary.dfs.core.windows.net/","web":"https://yssanew-secondary.z3.web.core.windows.net/","blob":"https://yssanew-secondary.blob.core.windows.net/","queue":"https://yssanew-secondary.queue.core.windows.net/","table":"https://yssanew-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/zuhdefault","name":"zuhdefault","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-29T06:08:24.0050046Z","key2":"2021-04-29T06:08:24.0050046Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-29T06:08:24.0100198Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-29T06:08:24.0100198Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-29T06:08:23.9249868Z","primaryEndpoints":{"dfs":"https://zuhdefault.dfs.core.windows.net/","web":"https://zuhdefault.z3.web.core.windows.net/","blob":"https://zuhdefault.blob.core.windows.net/","queue":"https://zuhdefault.queue.core.windows.net/","table":"https://zuhdefault.table.core.windows.net/","file":"https://zuhdefault.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available","secondaryLocation":"centraluseuap","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://zuhdefault-secondary.dfs.core.windows.net/","web":"https://zuhdefault-secondary.z3.web.core.windows.net/","blob":"https://zuhdefault-secondary.blob.core.windows.net/","queue":"https://zuhdefault-secondary.queue.core.windows.net/","table":"https://zuhdefault-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/zuhtest","name":"zuhtest","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"identity":{"type":"ManagedServiceIdentity","userAssignedIdentity":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.ManagedIdentity/userAssignedIdentities/zuhid"},"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-14T07:13:45.1503826Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-14T07:13:45.1503826Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Creating","creationTime":"2021-01-14T07:13:45.0603798Z","primaryEndpoints":{"dfs":"https://zuhtest.dfs.core.windows.net/","web":"https://zuhtest.z3.web.core.windows.net/","blob":"https://zuhtest.blob.core.windows.net/","queue":"https://zuhtest.queue.core.windows.net/","table":"https://zuhtest.table.core.windows.net/","file":"https://zuhtest.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available","secondaryLocation":"centraluseuap","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://zuhtest-secondary.dfs.core.windows.net/","web":"https://zuhtest-secondary.z3.web.core.windows.net/","blob":"https://zuhtest-secondary.blob.core.windows.net/","queue":"https://zuhtest-secondary.queue.core.windows.net/","table":"https://zuhtest-secondary.table.core.windows.net/"}}}]}' headers: cache-control: - no-cache content-length: - - '2796' + - '149552' content-type: - application/json; charset=utf-8 date: - - Wed, 07 Apr 2021 03:28:20 GMT + - Mon, 17 May 2021 02:23:57 GMT expires: - '-1' pragma: @@ -39,8 +40,14 @@ interactions: x-content-type-options: - nosniff x-ms-original-request-ids: - - ed70f318-7a91-4f01-9c00-cd64179dcf44 - - e8f7994b-13bf-40af-a25d-a927fac1e83f + - 655337c4-743c-484f-b723-b9e4bf741f7f + - b74bd5e7-6cc4-44f5-95b8-17b17d94056d + - 9b2bcbfc-b641-44b1-a0bb-72976bb80e3b + - 44483a9e-9ef2-49c4-856c-2b287af243c0 + - f0c5c2c5-5dd8-44c1-a32c-06d80a0476a5 + - 6cd9607f-763a-40c0-adf7-0d5ae18d1746 + - ffd10847-4c6e-4a54-9359-7407d546cad2 + - f2934689-1d08-4765-8330-c2cad34a7625 status: code: 200 message: OK @@ -60,21 +67,21 @@ interactions: ParameterSetName: - -n -g --account-name User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/component000002/listKeys?api-version=2021-01-01&$expand=kerb + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2021-04-01&$expand=kerb response: body: - string: '{"keys":[{"keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' + string: '{"keys":[{"creationTime":"2021-05-17T02:23:10.7417244Z","keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"creationTime":"2021-05-17T02:23:10.7417244Z","keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' headers: cache-control: - no-cache content-length: - - '288' + - '380' content-type: - application/json date: - - Wed, 07 Apr 2021 03:28:20 GMT + - Mon, 17 May 2021 02:23:58 GMT expires: - '-1' pragma: @@ -102,13 +109,13 @@ interactions: Content-Length: - '0' User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.21.0 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.10; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Wed, 07 Apr 2021 03:28:20 GMT + - Mon, 17 May 2021 02:23:57 GMT x-ms-version: - '2018-11-09' method: PUT - uri: https://component000002.blob.core.windows.net/ctna?restype=container + uri: https://clitest000002.blob.core.windows.net/ctna?restype=container response: body: string: '' @@ -116,11 +123,11 @@ interactions: content-length: - '0' date: - - Wed, 07 Apr 2021 03:28:23 GMT + - Mon, 17 May 2021 02:24:01 GMT etag: - - '"0x8D8F975330AD637"' + - '"0x8D918DAD5C12587"' last-modified: - - Wed, 07 Apr 2021 03:28:23 GMT + - Mon, 17 May 2021 02:24:01 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -142,21 +149,22 @@ interactions: ParameterSetName: - -n -g --account-name User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/storageAccounts?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/storageAccounts?api-version=2021-04-01 response: body: - string: '{"value":[{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/component000002","name":"component000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-07T03:27:29.0296484Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-07T03:27:29.0296484Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-07T03:27:28.9359255Z","primaryEndpoints":{"dfs":"https://component000002.dfs.core.windows.net/","web":"https://component000002.z22.web.core.windows.net/","blob":"https://component000002.blob.core.windows.net/","queue":"https://component000002.queue.core.windows.net/","table":"https://component000002.table.core.windows.net/","file":"https://component000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/component000003","name":"component000003","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-07T03:27:59.0196782Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-07T03:27:59.0196782Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-07T03:27:58.9415366Z","primaryEndpoints":{"dfs":"https://component000003.dfs.core.windows.net/","web":"https://component000003.z5.web.core.windows.net/","blob":"https://component000003.blob.core.windows.net/","queue":"https://component000003.queue.core.windows.net/","table":"https://component000003.table.core.windows.net/","file":"https://component000003.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available"}}]}' + string: '{"value":[{"sku":{"name":"Standard_RAGZRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-beta/providers/Microsoft.Storage/storageAccounts/azureclibetarelease","name":"azureclibetarelease","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-11T10:32:24.8036511Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-11T10:32:24.8036511Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-06-11T10:32:24.7099044Z","primaryEndpoints":{"dfs":"https://azureclibetarelease.dfs.core.windows.net/","web":"https://azureclibetarelease.z13.web.core.windows.net/","blob":"https://azureclibetarelease.blob.core.windows.net/","queue":"https://azureclibetarelease.queue.core.windows.net/","table":"https://azureclibetarelease.table.core.windows.net/","file":"https://azureclibetarelease.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://azureclibetarelease-secondary.dfs.core.windows.net/","web":"https://azureclibetarelease-secondary.z13.web.core.windows.net/","blob":"https://azureclibetarelease-secondary.blob.core.windows.net/","queue":"https://azureclibetarelease-secondary.queue.core.windows.net/","table":"https://azureclibetarelease-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestresult/providers/Microsoft.Storage/storageAccounts/clitestresultstac","name":"clitestresultstac","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-15T06:20:52.7844389Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-15T06:20:52.7844389Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-07-15T06:20:52.6907255Z","primaryEndpoints":{"dfs":"https://clitestresultstac.dfs.core.windows.net/","web":"https://clitestresultstac.z13.web.core.windows.net/","blob":"https://clitestresultstac.blob.core.windows.net/","queue":"https://clitestresultstac.queue.core.windows.net/","table":"https://clitestresultstac.table.core.windows.net/","file":"https://clitestresultstac.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://clitestresultstac-secondary.dfs.core.windows.net/","web":"https://clitestresultstac-secondary.z13.web.core.windows.net/","blob":"https://clitestresultstac-secondary.blob.core.windows.net/","queue":"https://clitestresultstac-secondary.queue.core.windows.net/","table":"https://clitestresultstac-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fytest/providers/Microsoft.Storage/storageAccounts/fystac","name":"fystac","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-08T03:10:13.4426715Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-08T03:10:13.4426715Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-04-08T03:10:13.3645539Z","primaryEndpoints":{"dfs":"https://fystac.dfs.core.windows.net/","web":"https://fystac.z13.web.core.windows.net/","blob":"https://fystac.blob.core.windows.net/","queue":"https://fystac.queue.core.windows.net/","table":"https://fystac.table.core.windows.net/","file":"https://fystac.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://fystac-secondary.dfs.core.windows.net/","web":"https://fystac-secondary.z13.web.core.windows.net/","blob":"https://fystac-secondary.blob.core.windows.net/","queue":"https://fystac-secondary.queue.core.windows.net/","table":"https://fystac-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jiasli-cli-dev/providers/Microsoft.Storage/storageAccounts/jlwin","name":"jlwin","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-05-12T01:23:36.3068024Z","key2":"2021-05-12T01:23:36.3068024Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"allowSharedKeyAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-12T01:23:36.3068024Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-12T01:23:36.3068024Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-05-12T01:23:36.1974223Z","primaryEndpoints":{"dfs":"https://jlwin.dfs.core.windows.net/","web":"https://jlwin.z13.web.core.windows.net/","blob":"https://jlwin.blob.core.windows.net/","queue":"https://jlwin.queue.core.windows.net/","table":"https://jlwin.table.core.windows.net/","file":"https://jlwin.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://jlwin-secondary.dfs.core.windows.net/","web":"https://jlwin-secondary.z13.web.core.windows.net/","blob":"https://jlwin-secondary.blob.core.windows.net/","queue":"https://jlwin-secondary.queue.core.windows.net/","table":"https://jlwin-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-weidxu/providers/Microsoft.Storage/storageAccounts/lcok2weidxu","name":"lcok2weidxu","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"allowSharedKeyAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-22T03:19:18.1561890Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-22T03:19:18.1561890Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-01-22T03:19:18.0468159Z","primaryEndpoints":{"dfs":"https://lcok2weidxu.dfs.core.windows.net/","web":"https://lcok2weidxu.z13.web.core.windows.net/","blob":"https://lcok2weidxu.blob.core.windows.net/","queue":"https://lcok2weidxu.queue.core.windows.net/","table":"https://lcok2weidxu.table.core.windows.net/","file":"https://lcok2weidxu.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/portal2cli/providers/Microsoft.Storage/storageAccounts/portal2clistorage","name":"portal2clistorage","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-14T07:23:08.8752602Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-14T07:23:08.8752602Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-10-14T07:23:08.7502552Z","primaryEndpoints":{"dfs":"https://portal2clistorage.dfs.core.windows.net/","web":"https://portal2clistorage.z13.web.core.windows.net/","blob":"https://portal2clistorage.blob.core.windows.net/","queue":"https://portal2clistorage.queue.core.windows.net/","table":"https://portal2clistorage.table.core.windows.net/","file":"https://portal2clistorage.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://portal2clistorage-secondary.dfs.core.windows.net/","web":"https://portal2clistorage-secondary.z13.web.core.windows.net/","blob":"https://portal2clistorage-secondary.blob.core.windows.net/","queue":"https://portal2clistorage-secondary.queue.core.windows.net/","table":"https://portal2clistorage-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Storage/storageAccounts/qianwenadls","name":"qianwenadls","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"isHnsEnabled":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-01T10:11:06.0357634Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-01T10:11:06.0357634Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-04-01T10:11:05.9576622Z","primaryEndpoints":{"dfs":"https://qianwenadls.dfs.core.windows.net/","web":"https://qianwenadls.z13.web.core.windows.net/","blob":"https://qianwenadls.blob.core.windows.net/","queue":"https://qianwenadls.queue.core.windows.net/","table":"https://qianwenadls.table.core.windows.net/","file":"https://qianwenadls.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://qianwenadls-secondary.dfs.core.windows.net/","web":"https://qianwenadls-secondary.z13.web.core.windows.net/","blob":"https://qianwenadls-secondary.blob.core.windows.net/","queue":"https://qianwenadls-secondary.queue.core.windows.net/","table":"https://qianwenadls-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Storage/storageAccounts/qianwendev","name":"qianwendev","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Network/virtualNetworks/QIAN/subnets/default","action":"Allow","state":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Network/virtualNetworks/qianwendev/subnets/default","action":"Allow","state":"Succeeded"}],"ipRules":[{"value":"23.45.1.0/24","action":"Allow"},{"value":"23.45.1.1/24","action":"Allow"}],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-12T03:29:28.0084761Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-12T03:29:28.0084761Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-02-12T03:29:27.9459854Z","primaryEndpoints":{"dfs":"https://qianwendev.dfs.core.windows.net/","web":"https://qianwendev.z13.web.core.windows.net/","blob":"https://qianwendev.blob.core.windows.net/","queue":"https://qianwendev.queue.core.windows.net/","table":"https://qianwendev.table.core.windows.net/","file":"https://qianwendev.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://qianwendev-secondary.dfs.core.windows.net/","web":"https://qianwendev-secondary.z13.web.core.windows.net/","blob":"https://qianwendev-secondary.blob.core.windows.net/","queue":"https://qianwendev-secondary.queue.core.windows.net/","table":"https://qianwendev-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Storage/storageAccounts/qianwenhpctarget","name":"qianwenhpctarget","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T07:09:20.3073299Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T07:09:20.3073299Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-06T07:09:20.2291899Z","primaryEndpoints":{"dfs":"https://qianwenhpctarget.dfs.core.windows.net/","web":"https://qianwenhpctarget.z13.web.core.windows.net/","blob":"https://qianwenhpctarget.blob.core.windows.net/","queue":"https://qianwenhpctarget.queue.core.windows.net/","table":"https://qianwenhpctarget.table.core.windows.net/","file":"https://qianwenhpctarget.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://qianwenhpctarget-secondary.dfs.core.windows.net/","web":"https://qianwenhpctarget-secondary.z13.web.core.windows.net/","blob":"https://qianwenhpctarget-secondary.blob.core.windows.net/","queue":"https://qianwenhpctarget-secondary.queue.core.windows.net/","table":"https://qianwenhpctarget-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yishitest/providers/Microsoft.Storage/storageAccounts/ystestpolicy","name":"ystestpolicy","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"sasPolicy":{"sasExpirationPeriod":"12.00:05:25","expirationAction":"Log"},"keyPolicy":{"keyExpirationPeriodInDays":3},"keyCreationTime":{"key1":"2021-04-29T03:24:08.1682761Z","key2":"2021-04-29T03:24:08.1682761Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-29T03:24:08.1682761Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-29T03:24:08.1682761Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-29T03:24:08.0593459Z","primaryEndpoints":{"dfs":"https://ystestpolicy.dfs.core.windows.net/","web":"https://ystestpolicy.z13.web.core.windows.net/","blob":"https://ystestpolicy.blob.core.windows.net/","queue":"https://ystestpolicy.queue.core.windows.net/","table":"https://ystestpolicy.table.core.windows.net/","file":"https://ystestpolicy.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-yueshi/providers/Microsoft.Storage/storageAccounts/yueshi4debug","name":"yueshi4debug","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-09-14T09:43:28.2246331Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-09-14T09:43:28.2246331Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-09-14T09:43:28.1308789Z","primaryEndpoints":{"dfs":"https://yueshi4debug.dfs.core.windows.net/","web":"https://yueshi4debug.z13.web.core.windows.net/","blob":"https://yueshi4debug.blob.core.windows.net/","queue":"https://yueshi4debug.queue.core.windows.net/","table":"https://yueshi4debug.table.core.windows.net/","file":"https://yueshi4debug.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yueshi4debug-secondary.dfs.core.windows.net/","web":"https://yueshi4debug-secondary.z13.web.core.windows.net/","blob":"https://yueshi4debug-secondary.blob.core.windows.net/","queue":"https://yueshi4debug-secondary.queue.core.windows.net/","table":"https://yueshi4debug-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-live-test-rg/providers/Microsoft.Storage/storageAccounts/advisortestsa","name":"advisortestsa","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-29T02:39:47.2953520Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-29T02:39:47.2953520Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-10-29T02:39:47.1860196Z","primaryEndpoints":{"dfs":"https://advisortestsa.dfs.core.windows.net/","web":"https://advisortestsa.z22.web.core.windows.net/","blob":"https://advisortestsa.blob.core.windows.net/","queue":"https://advisortestsa.queue.core.windows.net/","table":"https://advisortestsa.table.core.windows.net/","file":"https://advisortestsa.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://advisortestsa-secondary.dfs.core.windows.net/","web":"https://advisortestsa-secondary.z22.web.core.windows.net/","blob":"https://advisortestsa-secondary.blob.core.windows.net/","queue":"https://advisortestsa-secondary.queue.core.windows.net/","table":"https://advisortestsa-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azure-cli-edge/providers/Microsoft.Storage/storageAccounts/azextensionedge","name":"azextensionedge","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"allowSharedKeyAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-22T08:51:57.7728758Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-22T08:51:57.7728758Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-01-22T08:51:57.6947156Z","primaryEndpoints":{"dfs":"https://azextensionedge.dfs.core.windows.net/","web":"https://azextensionedge.z22.web.core.windows.net/","blob":"https://azextensionedge.blob.core.windows.net/","queue":"https://azextensionedge.queue.core.windows.net/","table":"https://azextensionedge.table.core.windows.net/","file":"https://azextensionedge.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://azextensionedge-secondary.dfs.core.windows.net/","web":"https://azextensionedge-secondary.z22.web.core.windows.net/","blob":"https://azextensionedge-secondary.blob.core.windows.net/","queue":"https://azextensionedge-secondary.queue.core.windows.net/","table":"https://azextensionedge-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azure-cli-edge/providers/Microsoft.Storage/storageAccounts/azurecliedge","name":"azurecliedge","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-13T08:41:36.3326539Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-13T08:41:36.3326539Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-01-13T08:41:36.2389304Z","primaryEndpoints":{"dfs":"https://azurecliedge.dfs.core.windows.net/","web":"https://azurecliedge.z22.web.core.windows.net/","blob":"https://azurecliedge.blob.core.windows.net/","queue":"https://azurecliedge.queue.core.windows.net/","table":"https://azurecliedge.table.core.windows.net/","file":"https://azurecliedge.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","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":{"keyCreationTime":{"key1":"2021-05-17T02:23:10.7417244Z","key2":"2021-05-17T02:23:10.7417244Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-17T02:23:10.7417244Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-17T02:23:10.7417244Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-05-17T02:23:10.6479729Z","primaryEndpoints":{"dfs":"https://clitest000002.dfs.core.windows.net/","web":"https://clitest000002.z22.web.core.windows.net/","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/cli_test_gallery_image_version_vhddmban3xow2tgyly5j6xaruoliqaj443p3brq46idi/providers/Microsoft.Storage/storageAccounts/clitest4ydp57ynxl5tcjktl","name":"clitest4ydp57ynxl5tcjktl","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-21T06:49:12.4084643Z","key2":"2021-04-21T06:49:12.4084643Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-21T06:49:12.4240887Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-21T06:49:12.4240887Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-21T06:49:12.3303684Z","primaryEndpoints":{"blob":"https://clitest4ydp57ynxl5tcjktl.blob.core.windows.net/","queue":"https://clitest4ydp57ynxl5tcjktl.queue.core.windows.net/","table":"https://clitest4ydp57ynxl5tcjktl.table.core.windows.net/","file":"https://clitest4ydp57ynxl5tcjktl.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_gallery_image_version_vhddqxkb6y7azmjc53fhkyr66se7po4i2ve5es2y46av/providers/Microsoft.Storage/storageAccounts/clitestuxrcexs7kgo3dqsiz","name":"clitestuxrcexs7kgo3dqsiz","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-21T07:08:35.7386114Z","key2":"2021-04-21T07:08:35.7386114Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-21T07:08:35.7386114Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-21T07:08:35.7386114Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-21T07:08:35.6448419Z","primaryEndpoints":{"blob":"https://clitestuxrcexs7kgo3dqsiz.blob.core.windows.net/","queue":"https://clitestuxrcexs7kgo3dqsiz.queue.core.windows.net/","table":"https://clitestuxrcexs7kgo3dqsiz.table.core.windows.net/","file":"https://clitestuxrcexs7kgo3dqsiz.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jiasli-cli-dev/providers/Microsoft.Storage/storageAccounts/jlstwu","name":"jlstwu","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-12T06:29:22.9138997Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-12T06:29:22.9138997Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-01-12T06:29:22.8201627Z","primaryEndpoints":{"dfs":"https://jlstwu.dfs.core.windows.net/","web":"https://jlstwu.z22.web.core.windows.net/","blob":"https://jlstwu.blob.core.windows.net/","queue":"https://jlstwu.queue.core.windows.net/","table":"https://jlstwu.table.core.windows.net/","file":"https://jlstwu.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/kairu-persist/providers/Microsoft.Storage/storageAccounts/kairu","name":"kairu","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-13T07:35:19.0950431Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-13T07:35:19.0950431Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-01-13T07:35:18.9856251Z","primaryEndpoints":{"blob":"https://kairu.blob.core.windows.net/","queue":"https://kairu.queue.core.windows.net/","table":"https://kairu.table.core.windows.net/","file":"https://kairu.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-live-test-rg/providers/Microsoft.Storage/storageAccounts/locksa","name":"locksa","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"azureFilesIdentityBasedAuthentication":{"directoryServiceOptions":"None"},"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-29T03:24:17.1371655Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-29T03:24:17.1371655Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-10-29T03:24:17.0434116Z","primaryEndpoints":{"dfs":"https://locksa.dfs.core.windows.net/","web":"https://locksa.z22.web.core.windows.net/","blob":"https://locksa.blob.core.windows.net/","queue":"https://locksa.queue.core.windows.net/","table":"https://locksa.table.core.windows.net/","file":"https://locksa.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://locksa-secondary.dfs.core.windows.net/","web":"https://locksa-secondary.z22.web.core.windows.net/","blob":"https://locksa-secondary.blob.core.windows.net/","queue":"https://locksa-secondary.queue.core.windows.net/","table":"https://locksa-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fytest/providers/Microsoft.Storage/storageAccounts/sharedvmextension","name":"sharedvmextension","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-06T03:37:04.8004229Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-06T03:37:04.8004229Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-07-06T03:37:04.7066555Z","primaryEndpoints":{"dfs":"https://sharedvmextension.dfs.core.windows.net/","web":"https://sharedvmextension.z22.web.core.windows.net/","blob":"https://sharedvmextension.blob.core.windows.net/","queue":"https://sharedvmextension.queue.core.windows.net/","table":"https://sharedvmextension.table.core.windows.net/","file":"https://sharedvmextension.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://sharedvmextension-secondary.dfs.core.windows.net/","web":"https://sharedvmextension-secondary.z22.web.core.windows.net/","blob":"https://sharedvmextension-secondary.blob.core.windows.net/","queue":"https://sharedvmextension-secondary.queue.core.windows.net/","table":"https://sharedvmextension-secondary.table.core.windows.net/"}}},{"identity":{"principalId":"c120e453-0fb4-41f4-b9e7-ac280e27992a","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","type":"SystemAssigned"},"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yishitest/providers/Microsoft.Storage/storageAccounts/testcreationtime","name":"testcreationtime","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"sasPolicy":{"sasExpirationPeriod":"2.23:59:59","expirationAction":"Log"},"keyCreationTime":{"key1":"2021-04-08T02:43:57.2406486Z","key2":"2021-04-08T03:30:07.4783308Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-08T02:43:57.2406486Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-08T02:43:57.2406486Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-08T02:43:57.1469079Z","primaryEndpoints":{"dfs":"https://testcreationtime.dfs.core.windows.net/","web":"https://testcreationtime.z22.web.core.windows.net/","blob":"https://testcreationtime.blob.core.windows.net/","queue":"https://testcreationtime.queue.core.windows.net/","table":"https://testcreationtime.table.core.windows.net/","file":"https://testcreationtime.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://testcreationtime-secondary.dfs.core.windows.net/","web":"https://testcreationtime-secondary.z22.web.core.windows.net/","blob":"https://testcreationtime-secondary.blob.core.windows.net/","queue":"https://testcreationtime-secondary.queue.core.windows.net/","table":"https://testcreationtime-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yishitest/providers/Microsoft.Storage/storageAccounts/yssa","name":"yssa","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":"2021-04-08T03:29:15.4919591Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-27T14:55:33.7123620Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-27T14:55:33.7123620Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-10-27T14:55:33.6342573Z","primaryEndpoints":{"dfs":"https://yssa.dfs.core.windows.net/","web":"https://yssa.z22.web.core.windows.net/","blob":"https://yssa.blob.core.windows.net/","queue":"https://yssa.queue.core.windows.net/","table":"https://yssa.table.core.windows.net/","file":"https://yssa.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yssa-secondary.dfs.core.windows.net/","web":"https://yssa-secondary.z22.web.core.windows.net/","blob":"https://yssa-secondary.blob.core.windows.net/","queue":"https://yssa-secondary.queue.core.windows.net/","table":"https://yssa-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yishitest/providers/Microsoft.Storage/storageAccounts/yssaadls","name":"yssaadls","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-03-11T08:16:02.3188031Z","key2":"2021-03-11T08:16:02.3188031Z"},"privateEndpointConnections":[],"isHnsEnabled":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-11T08:16:02.3188031Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-11T08:16:02.3188031Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-03-11T08:16:02.2406559Z","primaryEndpoints":{"dfs":"https://yssaadls.dfs.core.windows.net/","web":"https://yssaadls.z22.web.core.windows.net/","blob":"https://yssaadls.blob.core.windows.net/","queue":"https://yssaadls.queue.core.windows.net/","table":"https://yssaadls.table.core.windows.net/","file":"https://yssaadls.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yssaadls-secondary.dfs.core.windows.net/","web":"https://yssaadls-secondary.z22.web.core.windows.net/","blob":"https://yssaadls-secondary.blob.core.windows.net/","queue":"https://yssaadls-secondary.queue.core.windows.net/","table":"https://yssaadls-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"BlobStorage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yishitest/providers/Microsoft.Storage/storageAccounts/yssatmp","name":"yssatmp","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-02-04T07:19:47.0265181Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-02-04T07:19:47.0265181Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-02-04T07:19:46.9171303Z","primaryEndpoints":{"dfs":"https://yssatmp.dfs.core.windows.net/","blob":"https://yssatmp.blob.core.windows.net/","table":"https://yssatmp.table.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yssatmp-secondary.dfs.core.windows.net/","blob":"https://yssatmp-secondary.blob.core.windows.net/","table":"https://yssatmp-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureSDKTest_reserved/providers/Microsoft.Storage/storageAccounts/azuresdktest","name":"azuresdktest","type":"Microsoft.Storage/storageAccounts","location":"eastasia","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-12T06:32:07.1157877Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-12T06:32:07.1157877Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-08-12T06:32:07.0689199Z","primaryEndpoints":{"dfs":"https://azuresdktest.dfs.core.windows.net/","web":"https://azuresdktest.z7.web.core.windows.net/","blob":"https://azuresdktest.blob.core.windows.net/","queue":"https://azuresdktest.queue.core.windows.net/","table":"https://azuresdktest.table.core.windows.net/","file":"https://azuresdktest.file.core.windows.net/"},"primaryLocation":"eastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rggrglkh7zr7/providers/Microsoft.Storage/storageAccounts/clitest2f63bh43aix4wcnlh","name":"clitest2f63bh43aix4wcnlh","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-22T08:17:38.5541453Z","key2":"2021-04-22T08:17:38.5541453Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:17:38.5541453Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:17:38.5541453Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-22T08:17:38.4760163Z","primaryEndpoints":{"blob":"https://clitest2f63bh43aix4wcnlh.blob.core.windows.net/","queue":"https://clitest2f63bh43aix4wcnlh.queue.core.windows.net/","table":"https://clitest2f63bh43aix4wcnlh.table.core.windows.net/","file":"https://clitest2f63bh43aix4wcnlh.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgh5duq2f6uh/providers/Microsoft.Storage/storageAccounts/clitest2vjedutxs37ymp4ni","name":"clitest2vjedutxs37ymp4ni","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T07:13:21.0424866Z","key2":"2021-04-23T07:13:21.0424866Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:21.0581083Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:21.0581083Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T07:13:20.9643257Z","primaryEndpoints":{"blob":"https://clitest2vjedutxs37ymp4ni.blob.core.windows.net/","queue":"https://clitest2vjedutxs37ymp4ni.queue.core.windows.net/","table":"https://clitest2vjedutxs37ymp4ni.table.core.windows.net/","file":"https://clitest2vjedutxs37ymp4ni.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgl6l3rg6atb/providers/Microsoft.Storage/storageAccounts/clitest4sjmiwke5nz3f67pu","name":"clitest4sjmiwke5nz3f67pu","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-22T08:02:15.3305055Z","key2":"2021-04-22T08:02:15.3305055Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:02:15.3305055Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:02:15.3305055Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-22T08:02:15.2523305Z","primaryEndpoints":{"blob":"https://clitest4sjmiwke5nz3f67pu.blob.core.windows.net/","queue":"https://clitest4sjmiwke5nz3f67pu.queue.core.windows.net/","table":"https://clitest4sjmiwke5nz3f67pu.table.core.windows.net/","file":"https://clitest4sjmiwke5nz3f67pu.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgbbt37xr2le/providers/Microsoft.Storage/storageAccounts/clitest5frikrzhxwryrkfel","name":"clitest5frikrzhxwryrkfel","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-22T08:19:22.9620171Z","key2":"2021-04-22T08:19:22.9620171Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:19:22.9776721Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:19:22.9776721Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-22T08:19:22.8838883Z","primaryEndpoints":{"blob":"https://clitest5frikrzhxwryrkfel.blob.core.windows.net/","queue":"https://clitest5frikrzhxwryrkfel.queue.core.windows.net/","table":"https://clitest5frikrzhxwryrkfel.table.core.windows.net/","file":"https://clitest5frikrzhxwryrkfel.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgrc4sjsrzt4/providers/Microsoft.Storage/storageAccounts/clitest63b5vtkhuf7auho6z","name":"clitest63b5vtkhuf7auho6z","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-22T08:17:38.3198561Z","key2":"2021-04-22T08:17:38.3198561Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:17:38.3198561Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:17:38.3198561Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-22T08:17:38.2416459Z","primaryEndpoints":{"blob":"https://clitest63b5vtkhuf7auho6z.blob.core.windows.net/","queue":"https://clitest63b5vtkhuf7auho6z.queue.core.windows.net/","table":"https://clitest63b5vtkhuf7auho6z.table.core.windows.net/","file":"https://clitest63b5vtkhuf7auho6z.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgekim5ct43n/providers/Microsoft.Storage/storageAccounts/clitest6jusqp4qvczw52pql","name":"clitest6jusqp4qvczw52pql","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-22T08:05:08.7847684Z","key2":"2021-04-22T08:05:08.7847684Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:05:08.8003328Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:05:08.8003328Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-22T08:05:08.7065579Z","primaryEndpoints":{"blob":"https://clitest6jusqp4qvczw52pql.blob.core.windows.net/","queue":"https://clitest6jusqp4qvczw52pql.queue.core.windows.net/","table":"https://clitest6jusqp4qvczw52pql.table.core.windows.net/","file":"https://clitest6jusqp4qvczw52pql.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgu7jwflzo6g/providers/Microsoft.Storage/storageAccounts/clitest6qixwlhm5see7ipqv","name":"clitest6qixwlhm5see7ipqv","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T03:42:54.6967487Z","key2":"2021-04-23T03:42:54.6967487Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T03:42:54.6967487Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T03:42:54.6967487Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T03:42:54.6186031Z","primaryEndpoints":{"blob":"https://clitest6qixwlhm5see7ipqv.blob.core.windows.net/","queue":"https://clitest6qixwlhm5see7ipqv.queue.core.windows.net/","table":"https://clitest6qixwlhm5see7ipqv.table.core.windows.net/","file":"https://clitest6qixwlhm5see7ipqv.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgbbt37xr2le/providers/Microsoft.Storage/storageAccounts/clitest74vl6rwuxl5fbuklw","name":"clitest74vl6rwuxl5fbuklw","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-22T08:17:38.2260082Z","key2":"2021-04-22T08:17:38.2260082Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:17:38.2260082Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:17:38.2260082Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-22T08:17:38.1635154Z","primaryEndpoints":{"blob":"https://clitest74vl6rwuxl5fbuklw.blob.core.windows.net/","queue":"https://clitest74vl6rwuxl5fbuklw.queue.core.windows.net/","table":"https://clitest74vl6rwuxl5fbuklw.table.core.windows.net/","file":"https://clitest74vl6rwuxl5fbuklw.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgekim5ct43n/providers/Microsoft.Storage/storageAccounts/clitestaxzz2w4ay2wruyjs5","name":"clitestaxzz2w4ay2wruyjs5","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-22T08:02:15.6585801Z","key2":"2021-04-22T08:02:15.6585801Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:02:15.6585801Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:02:15.6585801Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-22T08:02:15.5804737Z","primaryEndpoints":{"blob":"https://clitestaxzz2w4ay2wruyjs5.blob.core.windows.net/","queue":"https://clitestaxzz2w4ay2wruyjs5.queue.core.windows.net/","table":"https://clitestaxzz2w4ay2wruyjs5.table.core.windows.net/","file":"https://clitestaxzz2w4ay2wruyjs5.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgiudkrkxpl4/providers/Microsoft.Storage/storageAccounts/clitestbiegaggvgwivkqyyi","name":"clitestbiegaggvgwivkqyyi","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T07:13:20.8705764Z","key2":"2021-04-23T07:13:20.8705764Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:20.8861995Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:20.8861995Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T07:13:20.7925187Z","primaryEndpoints":{"blob":"https://clitestbiegaggvgwivkqyyi.blob.core.windows.net/","queue":"https://clitestbiegaggvgwivkqyyi.queue.core.windows.net/","table":"https://clitestbiegaggvgwivkqyyi.table.core.windows.net/","file":"https://clitestbiegaggvgwivkqyyi.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg46ia57tmnz/providers/Microsoft.Storage/storageAccounts/clitestdlxtp24ycnjl3jui2","name":"clitestdlxtp24ycnjl3jui2","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T03:42:54.3217696Z","key2":"2021-04-23T03:42:54.3217696Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T03:42:54.3217696Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T03:42:54.3217696Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T03:42:54.2436164Z","primaryEndpoints":{"blob":"https://clitestdlxtp24ycnjl3jui2.blob.core.windows.net/","queue":"https://clitestdlxtp24ycnjl3jui2.queue.core.windows.net/","table":"https://clitestdlxtp24ycnjl3jui2.table.core.windows.net/","file":"https://clitestdlxtp24ycnjl3jui2.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgv3m577d7ho/providers/Microsoft.Storage/storageAccounts/clitestej2fvhoj3zogyp5e7","name":"clitestej2fvhoj3zogyp5e7","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T03:42:54.7279926Z","key2":"2021-04-23T03:42:54.7279926Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T03:42:54.7279926Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T03:42:54.7279926Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T03:42:54.6342444Z","primaryEndpoints":{"blob":"https://clitestej2fvhoj3zogyp5e7.blob.core.windows.net/","queue":"https://clitestej2fvhoj3zogyp5e7.queue.core.windows.net/","table":"https://clitestej2fvhoj3zogyp5e7.table.core.windows.net/","file":"https://clitestej2fvhoj3zogyp5e7.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgp6ikwpcsq7/providers/Microsoft.Storage/storageAccounts/clitestggvkyebv5o55dhakj","name":"clitestggvkyebv5o55dhakj","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T07:13:21.2300019Z","key2":"2021-04-23T07:13:21.2300019Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:21.2456239Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:21.2456239Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T07:13:21.1518492Z","primaryEndpoints":{"blob":"https://clitestggvkyebv5o55dhakj.blob.core.windows.net/","queue":"https://clitestggvkyebv5o55dhakj.queue.core.windows.net/","table":"https://clitestggvkyebv5o55dhakj.table.core.windows.net/","file":"https://clitestggvkyebv5o55dhakj.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgn6glpfa25c/providers/Microsoft.Storage/storageAccounts/clitestgt3fjzabc7taya5zo","name":"clitestgt3fjzabc7taya5zo","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T07:13:20.6675009Z","key2":"2021-04-23T07:13:20.6675009Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:20.6831653Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:20.6831653Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T07:13:20.5894204Z","primaryEndpoints":{"blob":"https://clitestgt3fjzabc7taya5zo.blob.core.windows.net/","queue":"https://clitestgt3fjzabc7taya5zo.queue.core.windows.net/","table":"https://clitestgt3fjzabc7taya5zo.table.core.windows.net/","file":"https://clitestgt3fjzabc7taya5zo.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgptzwacrnwa/providers/Microsoft.Storage/storageAccounts/clitestivtrt5tp624n63ast","name":"clitestivtrt5tp624n63ast","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-22T08:17:38.1166795Z","key2":"2021-04-22T08:17:38.1166795Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:17:38.1166795Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:17:38.1166795Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-22T08:17:38.0541529Z","primaryEndpoints":{"blob":"https://clitestivtrt5tp624n63ast.blob.core.windows.net/","queue":"https://clitestivtrt5tp624n63ast.queue.core.windows.net/","table":"https://clitestivtrt5tp624n63ast.table.core.windows.net/","file":"https://clitestivtrt5tp624n63ast.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgdc25pvki6m/providers/Microsoft.Storage/storageAccounts/clitestkxu4ahsqaxv42cyyf","name":"clitestkxu4ahsqaxv42cyyf","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-22T08:02:15.7523496Z","key2":"2021-04-22T08:02:15.7523496Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:02:15.7523496Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:02:15.7523496Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-22T08:02:15.6742355Z","primaryEndpoints":{"blob":"https://clitestkxu4ahsqaxv42cyyf.blob.core.windows.net/","queue":"https://clitestkxu4ahsqaxv42cyyf.queue.core.windows.net/","table":"https://clitestkxu4ahsqaxv42cyyf.table.core.windows.net/","file":"https://clitestkxu4ahsqaxv42cyyf.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgghkyqf7pb5/providers/Microsoft.Storage/storageAccounts/clitestpuea6vlqwxw6ihiws","name":"clitestpuea6vlqwxw6ihiws","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T07:13:21.0581083Z","key2":"2021-04-23T07:13:21.0581083Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:21.0737014Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:21.0737014Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T07:13:20.9799581Z","primaryEndpoints":{"blob":"https://clitestpuea6vlqwxw6ihiws.blob.core.windows.net/","queue":"https://clitestpuea6vlqwxw6ihiws.queue.core.windows.net/","table":"https://clitestpuea6vlqwxw6ihiws.table.core.windows.net/","file":"https://clitestpuea6vlqwxw6ihiws.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg6i4hl6iakg/providers/Microsoft.Storage/storageAccounts/clitestu3p7a7ib4n4y7gt4m","name":"clitestu3p7a7ib4n4y7gt4m","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-30T01:51:53.0814418Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-30T01:51:53.0814418Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2019-12-30T01:51:53.0189478Z","primaryEndpoints":{"blob":"https://clitestu3p7a7ib4n4y7gt4m.blob.core.windows.net/","queue":"https://clitestu3p7a7ib4n4y7gt4m.queue.core.windows.net/","table":"https://clitestu3p7a7ib4n4y7gt4m.table.core.windows.net/","file":"https://clitestu3p7a7ib4n4y7gt4m.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgu7jwflzo6g/providers/Microsoft.Storage/storageAccounts/clitestwqzjytdeun46rphfd","name":"clitestwqzjytdeun46rphfd","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T03:44:35.3668592Z","key2":"2021-04-23T03:44:35.3668592Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T03:44:35.3668592Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T03:44:35.3668592Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T03:44:35.2887580Z","primaryEndpoints":{"blob":"https://clitestwqzjytdeun46rphfd.blob.core.windows.net/","queue":"https://clitestwqzjytdeun46rphfd.queue.core.windows.net/","table":"https://clitestwqzjytdeun46rphfd.table.core.windows.net/","file":"https://clitestwqzjytdeun46rphfd.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgltfej7yr4u/providers/Microsoft.Storage/storageAccounts/clitestwvsg2uskf4i7vjfto","name":"clitestwvsg2uskf4i7vjfto","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-05-13T07:48:30.9247776Z","key2":"2021-05-13T07:48:30.9247776Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-13T07:48:30.9403727Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-13T07:48:30.9403727Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-05-13T07:48:30.8309682Z","primaryEndpoints":{"blob":"https://clitestwvsg2uskf4i7vjfto.blob.core.windows.net/","queue":"https://clitestwvsg2uskf4i7vjfto.queue.core.windows.net/","table":"https://clitestwvsg2uskf4i7vjfto.table.core.windows.net/","file":"https://clitestwvsg2uskf4i7vjfto.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgzjznhcqaoh/providers/Microsoft.Storage/storageAccounts/clitestwznnmnfot33xjztmk","name":"clitestwznnmnfot33xjztmk","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T07:13:20.7299628Z","key2":"2021-04-23T07:13:20.7299628Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:20.7456181Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:20.7456181Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T07:13:20.6518776Z","primaryEndpoints":{"blob":"https://clitestwznnmnfot33xjztmk.blob.core.windows.net/","queue":"https://clitestwznnmnfot33xjztmk.queue.core.windows.net/","table":"https://clitestwznnmnfot33xjztmk.table.core.windows.net/","file":"https://clitestwznnmnfot33xjztmk.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgovptfsocfg/providers/Microsoft.Storage/storageAccounts/clitestz72bbbbv2cio2pmom","name":"clitestz72bbbbv2cio2pmom","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T07:13:21.0112600Z","key2":"2021-04-23T07:13:21.0112600Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:21.0268549Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:21.0268549Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T07:13:20.9330720Z","primaryEndpoints":{"blob":"https://clitestz72bbbbv2cio2pmom.blob.core.windows.net/","queue":"https://clitestz72bbbbv2cio2pmom.queue.core.windows.net/","table":"https://clitestz72bbbbv2cio2pmom.table.core.windows.net/","file":"https://clitestz72bbbbv2cio2pmom.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgxp7uwuibs5/providers/Microsoft.Storage/storageAccounts/clitestzrwidkqplnw3jmz4z","name":"clitestzrwidkqplnw3jmz4z","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T07:13:20.6831653Z","key2":"2021-04-23T07:13:20.6831653Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:20.6987004Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:20.6987004Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T07:13:20.6049571Z","primaryEndpoints":{"blob":"https://clitestzrwidkqplnw3jmz4z.blob.core.windows.net/","queue":"https://clitestzrwidkqplnw3jmz4z.queue.core.windows.net/","table":"https://clitestzrwidkqplnw3jmz4z.table.core.windows.net/","file":"https://clitestzrwidkqplnw3jmz4z.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cloud-shell-storage-southeastasia/providers/Microsoft.Storage/storageAccounts/cs1100320004dd89524","name":"cs1100320004dd89524","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-03-26T05:48:15.7013062Z","key2":"2021-03-26T05:48:15.7013062Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-26T05:48:15.7169621Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-26T05:48:15.7169621Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-03-26T05:48:15.6545059Z","primaryEndpoints":{"dfs":"https://cs1100320004dd89524.dfs.core.windows.net/","web":"https://cs1100320004dd89524.z23.web.core.windows.net/","blob":"https://cs1100320004dd89524.blob.core.windows.net/","queue":"https://cs1100320004dd89524.queue.core.windows.net/","table":"https://cs1100320004dd89524.table.core.windows.net/","file":"https://cs1100320004dd89524.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureSDKTest_reserved/providers/Microsoft.Storage/storageAccounts/cs1100320007de01867","name":"cs1100320007de01867","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-09-25T03:24:00.9959166Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-09-25T03:24:00.9959166Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-09-25T03:24:00.9490326Z","primaryEndpoints":{"dfs":"https://cs1100320007de01867.dfs.core.windows.net/","web":"https://cs1100320007de01867.z23.web.core.windows.net/","blob":"https://cs1100320007de01867.blob.core.windows.net/","queue":"https://cs1100320007de01867.queue.core.windows.net/","table":"https://cs1100320007de01867.table.core.windows.net/","file":"https://cs1100320007de01867.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cloud-shell-storage-southeastasia/providers/Microsoft.Storage/storageAccounts/cs1100320008debd5bc","name":"cs1100320008debd5bc","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-03-17T07:12:44.1132341Z","key2":"2021-03-17T07:12:44.1132341Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-17T07:12:44.1132341Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-17T07:12:44.1132341Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-03-17T07:12:44.0351358Z","primaryEndpoints":{"dfs":"https://cs1100320008debd5bc.dfs.core.windows.net/","web":"https://cs1100320008debd5bc.z23.web.core.windows.net/","blob":"https://cs1100320008debd5bc.blob.core.windows.net/","queue":"https://cs1100320008debd5bc.queue.core.windows.net/","table":"https://cs1100320008debd5bc.table.core.windows.net/","file":"https://cs1100320008debd5bc.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cloud-shell-storage-southeastasia/providers/Microsoft.Storage/storageAccounts/cs11003200092fe0771","name":"cs11003200092fe0771","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-03-23T07:08:51.1436686Z","key2":"2021-03-23T07:08:51.1436686Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-23T07:08:51.1593202Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-23T07:08:51.1593202Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-03-23T07:08:51.0811120Z","primaryEndpoints":{"dfs":"https://cs11003200092fe0771.dfs.core.windows.net/","web":"https://cs11003200092fe0771.z23.web.core.windows.net/","blob":"https://cs11003200092fe0771.blob.core.windows.net/","queue":"https://cs11003200092fe0771.queue.core.windows.net/","table":"https://cs11003200092fe0771.table.core.windows.net/","file":"https://cs11003200092fe0771.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cloud-shell-storage-southeastasia/providers/Microsoft.Storage/storageAccounts/cs110032000b6f3c90c","name":"cs110032000b6f3c90c","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-05-06T05:28:23.2493456Z","key2":"2021-05-06T05:28:23.2493456Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-06T05:28:23.2493456Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-06T05:28:23.2493456Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-05-06T05:28:23.1868245Z","primaryEndpoints":{"dfs":"https://cs110032000b6f3c90c.dfs.core.windows.net/","web":"https://cs110032000b6f3c90c.z23.web.core.windows.net/","blob":"https://cs110032000b6f3c90c.blob.core.windows.net/","queue":"https://cs110032000b6f3c90c.queue.core.windows.net/","table":"https://cs110032000b6f3c90c.table.core.windows.net/","file":"https://cs110032000b6f3c90c.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cloud-shell-storage-southeastasia/providers/Microsoft.Storage/storageAccounts/cs110032000c31bae71","name":"cs110032000c31bae71","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-04-15T06:39:35.4649198Z","key2":"2021-04-15T06:39:35.4649198Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-15T06:39:35.4649198Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-15T06:39:35.4649198Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-15T06:39:35.4180004Z","primaryEndpoints":{"dfs":"https://cs110032000c31bae71.dfs.core.windows.net/","web":"https://cs110032000c31bae71.z23.web.core.windows.net/","blob":"https://cs110032000c31bae71.blob.core.windows.net/","queue":"https://cs110032000c31bae71.queue.core.windows.net/","table":"https://cs110032000c31bae71.table.core.windows.net/","file":"https://cs110032000c31bae71.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureSDKTest_reserved/providers/Microsoft.Storage/storageAccounts/cs110032000ca62af00","name":"cs110032000ca62af00","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-09-22T02:06:18.4998653Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-09-22T02:06:18.4998653Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-09-22T02:06:18.4217109Z","primaryEndpoints":{"dfs":"https://cs110032000ca62af00.dfs.core.windows.net/","web":"https://cs110032000ca62af00.z23.web.core.windows.net/","blob":"https://cs110032000ca62af00.blob.core.windows.net/","queue":"https://cs110032000ca62af00.queue.core.windows.net/","table":"https://cs110032000ca62af00.table.core.windows.net/","file":"https://cs110032000ca62af00.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cloud-shell-storage-southeastasia/providers/Microsoft.Storage/storageAccounts/cs110032000e3121978","name":"cs110032000e3121978","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-04-25T07:26:43.6124221Z","key2":"2021-04-25T07:26:43.6124221Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-25T07:26:43.6124221Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-25T07:26:43.6124221Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-25T07:26:43.5343583Z","primaryEndpoints":{"dfs":"https://cs110032000e3121978.dfs.core.windows.net/","web":"https://cs110032000e3121978.z23.web.core.windows.net/","blob":"https://cs110032000e3121978.blob.core.windows.net/","queue":"https://cs110032000e3121978.queue.core.windows.net/","table":"https://cs110032000e3121978.table.core.windows.net/","file":"https://cs110032000e3121978.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cloud-shell-storage-southeastasia/providers/Microsoft.Storage/storageAccounts/cs11003200127365c47","name":"cs11003200127365c47","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-03-25T03:10:52.6098894Z","key2":"2021-03-25T03:10:52.6098894Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-25T03:10:52.6098894Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-25T03:10:52.6098894Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-03-25T03:10:52.5318146Z","primaryEndpoints":{"dfs":"https://cs11003200127365c47.dfs.core.windows.net/","web":"https://cs11003200127365c47.z23.web.core.windows.net/","blob":"https://cs11003200127365c47.blob.core.windows.net/","queue":"https://cs11003200127365c47.queue.core.windows.net/","table":"https://cs11003200127365c47.table.core.windows.net/","file":"https://cs11003200127365c47.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cloud-shell-storage-southeastasia/providers/Microsoft.Storage/storageAccounts/cs1100320012c36c452","name":"cs1100320012c36c452","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-04-09T08:04:25.5979407Z","key2":"2021-04-09T08:04:25.5979407Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-09T08:04:25.5979407Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-09T08:04:25.5979407Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-09T08:04:25.5198295Z","primaryEndpoints":{"dfs":"https://cs1100320012c36c452.dfs.core.windows.net/","web":"https://cs1100320012c36c452.z23.web.core.windows.net/","blob":"https://cs1100320012c36c452.blob.core.windows.net/","queue":"https://cs1100320012c36c452.queue.core.windows.net/","table":"https://cs1100320012c36c452.table.core.windows.net/","file":"https://cs1100320012c36c452.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jiasli-cli-dev/providers/Microsoft.Storage/storageAccounts/jlst","name":"jlst","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"allowSharedKeyAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-12-31T03:05:24.8023719Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-12-31T03:05:24.8023719Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-12-31T03:05:24.7086186Z","primaryEndpoints":{"dfs":"https://jlst.dfs.core.windows.net/","web":"https://jlst.z23.web.core.windows.net/","blob":"https://jlst.blob.core.windows.net/","queue":"https://jlst.queue.core.windows.net/","table":"https://jlst.table.core.windows.net/","file":"https://jlst.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jiasli-cli-dev/providers/Microsoft.Storage/storageAccounts/jlstcs","name":"jlstcs","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-13T06:39:02.4278678Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-13T06:39:02.4278678Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-10-13T06:39:02.3497160Z","primaryEndpoints":{"dfs":"https://jlstcs.dfs.core.windows.net/","web":"https://jlstcs.z23.web.core.windows.net/","blob":"https://jlstcs.blob.core.windows.net/","queue":"https://jlstcs.queue.core.windows.net/","table":"https://jlstcs.table.core.windows.net/","file":"https://jlstcs.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Storage/storageAccounts/qianwensdiag","name":"qianwensdiag","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-04T07:17:09.1138103Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-04T07:17:09.1138103Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-02-04T07:17:09.0514178Z","primaryEndpoints":{"blob":"https://qianwensdiag.blob.core.windows.net/","queue":"https://qianwensdiag.queue.core.windows.net/","table":"https://qianwensdiag.table.core.windows.net/","file":"https://qianwensdiag.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhoxing-test/providers/Microsoft.Storage/storageAccounts/store6472qnxl3vv5o","name":"store6472qnxl3vv5o","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{"project":"Digital + Platform","env":"CI"},"properties":{"keyCreationTime":{"key1":"2021-04-29T09:18:42.5385370Z","key2":"2021-04-29T09:18:42.5385370Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-29T09:18:42.5385370Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-29T09:18:42.5385370Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-29T09:18:42.4447545Z","primaryEndpoints":{"blob":"https://store6472qnxl3vv5o.blob.core.windows.net/","queue":"https://store6472qnxl3vv5o.queue.core.windows.net/","table":"https://store6472qnxl3vv5o.table.core.windows.net/","file":"https://store6472qnxl3vv5o.file.core.windows.net/"},"primaryLocation":"southcentralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/extmigrate","name":"extmigrate","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-16T08:26:10.6796218Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-16T08:26:10.6796218Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-16T08:26:10.5858998Z","primaryEndpoints":{"blob":"https://extmigrate.blob.core.windows.net/","queue":"https://extmigrate.queue.core.windows.net/","table":"https://extmigrate.table.core.windows.net/","file":"https://extmigrate.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://extmigrate-secondary.blob.core.windows.net/","queue":"https://extmigrate-secondary.queue.core.windows.net/","table":"https://extmigrate-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/fengsa","name":"fengsa","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-05-14T06:47:20.1106748Z","key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-01-06T04:33:22.9379802Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-01-06T04:33:22.9379802Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-01-06T04:33:22.8754625Z","primaryEndpoints":{"dfs":"https://fengsa.dfs.core.windows.net/","web":"https://fengsa.z19.web.core.windows.net/","blob":"https://fengsa.blob.core.windows.net/","queue":"https://fengsa.queue.core.windows.net/","table":"https://fengsa.table.core.windows.net/","file":"https://fengsa.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://fengsa-secondary.dfs.core.windows.net/","web":"https://fengsa-secondary.z19.web.core.windows.net/","blob":"https://fengsa-secondary.blob.core.windows.net/","queue":"https://fengsa-secondary.queue.core.windows.net/","table":"https://fengsa-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/fengtestsa","name":"fengtestsa","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-29T03:10:28.7204355Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-29T03:10:28.7204355Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-10-29T03:10:28.6266623Z","primaryEndpoints":{"dfs":"https://fengtestsa.dfs.core.windows.net/","web":"https://fengtestsa.z19.web.core.windows.net/","blob":"https://fengtestsa.blob.core.windows.net/","queue":"https://fengtestsa.queue.core.windows.net/","table":"https://fengtestsa.table.core.windows.net/","file":"https://fengtestsa.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://fengtestsa-secondary.dfs.core.windows.net/","web":"https://fengtestsa-secondary.z19.web.core.windows.net/","blob":"https://fengtestsa-secondary.blob.core.windows.net/","queue":"https://fengtestsa-secondary.queue.core.windows.net/","table":"https://fengtestsa-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro1","name":"storagesfrepro1","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:07:42.2058942Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:07:42.2058942Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:07:42.1277444Z","primaryEndpoints":{"dfs":"https://storagesfrepro1.dfs.core.windows.net/","web":"https://storagesfrepro1.z19.web.core.windows.net/","blob":"https://storagesfrepro1.blob.core.windows.net/","queue":"https://storagesfrepro1.queue.core.windows.net/","table":"https://storagesfrepro1.table.core.windows.net/","file":"https://storagesfrepro1.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro1-secondary.dfs.core.windows.net/","web":"https://storagesfrepro1-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro1-secondary.blob.core.windows.net/","queue":"https://storagesfrepro1-secondary.queue.core.windows.net/","table":"https://storagesfrepro1-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro10","name":"storagesfrepro10","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:00.8753334Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:00.8753334Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:14:00.7815921Z","primaryEndpoints":{"dfs":"https://storagesfrepro10.dfs.core.windows.net/","web":"https://storagesfrepro10.z19.web.core.windows.net/","blob":"https://storagesfrepro10.blob.core.windows.net/","queue":"https://storagesfrepro10.queue.core.windows.net/","table":"https://storagesfrepro10.table.core.windows.net/","file":"https://storagesfrepro10.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro10-secondary.dfs.core.windows.net/","web":"https://storagesfrepro10-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro10-secondary.blob.core.windows.net/","queue":"https://storagesfrepro10-secondary.queue.core.windows.net/","table":"https://storagesfrepro10-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro11","name":"storagesfrepro11","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:28.9859417Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:28.9859417Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:14:28.8609347Z","primaryEndpoints":{"dfs":"https://storagesfrepro11.dfs.core.windows.net/","web":"https://storagesfrepro11.z19.web.core.windows.net/","blob":"https://storagesfrepro11.blob.core.windows.net/","queue":"https://storagesfrepro11.queue.core.windows.net/","table":"https://storagesfrepro11.table.core.windows.net/","file":"https://storagesfrepro11.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro11-secondary.dfs.core.windows.net/","web":"https://storagesfrepro11-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro11-secondary.blob.core.windows.net/","queue":"https://storagesfrepro11-secondary.queue.core.windows.net/","table":"https://storagesfrepro11-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro12","name":"storagesfrepro12","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:15:15.6785362Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:15:15.6785362Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:15:15.5848345Z","primaryEndpoints":{"dfs":"https://storagesfrepro12.dfs.core.windows.net/","web":"https://storagesfrepro12.z19.web.core.windows.net/","blob":"https://storagesfrepro12.blob.core.windows.net/","queue":"https://storagesfrepro12.queue.core.windows.net/","table":"https://storagesfrepro12.table.core.windows.net/","file":"https://storagesfrepro12.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro12-secondary.dfs.core.windows.net/","web":"https://storagesfrepro12-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro12-secondary.blob.core.windows.net/","queue":"https://storagesfrepro12-secondary.queue.core.windows.net/","table":"https://storagesfrepro12-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro13","name":"storagesfrepro13","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:16:55.7609361Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:16:55.7609361Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:16:55.6671828Z","primaryEndpoints":{"dfs":"https://storagesfrepro13.dfs.core.windows.net/","web":"https://storagesfrepro13.z19.web.core.windows.net/","blob":"https://storagesfrepro13.blob.core.windows.net/","queue":"https://storagesfrepro13.queue.core.windows.net/","table":"https://storagesfrepro13.table.core.windows.net/","file":"https://storagesfrepro13.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro13-secondary.dfs.core.windows.net/","web":"https://storagesfrepro13-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro13-secondary.blob.core.windows.net/","queue":"https://storagesfrepro13-secondary.queue.core.windows.net/","table":"https://storagesfrepro13-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro14","name":"storagesfrepro14","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:17:40.7661469Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:17:40.7661469Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:17:40.6880204Z","primaryEndpoints":{"dfs":"https://storagesfrepro14.dfs.core.windows.net/","web":"https://storagesfrepro14.z19.web.core.windows.net/","blob":"https://storagesfrepro14.blob.core.windows.net/","queue":"https://storagesfrepro14.queue.core.windows.net/","table":"https://storagesfrepro14.table.core.windows.net/","file":"https://storagesfrepro14.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro14-secondary.dfs.core.windows.net/","web":"https://storagesfrepro14-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro14-secondary.blob.core.windows.net/","queue":"https://storagesfrepro14-secondary.queue.core.windows.net/","table":"https://storagesfrepro14-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro15","name":"storagesfrepro15","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:18:52.1812445Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:18:52.1812445Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:18:52.0718543Z","primaryEndpoints":{"dfs":"https://storagesfrepro15.dfs.core.windows.net/","web":"https://storagesfrepro15.z19.web.core.windows.net/","blob":"https://storagesfrepro15.blob.core.windows.net/","queue":"https://storagesfrepro15.queue.core.windows.net/","table":"https://storagesfrepro15.table.core.windows.net/","file":"https://storagesfrepro15.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro15-secondary.dfs.core.windows.net/","web":"https://storagesfrepro15-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro15-secondary.blob.core.windows.net/","queue":"https://storagesfrepro15-secondary.queue.core.windows.net/","table":"https://storagesfrepro15-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro16","name":"storagesfrepro16","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:19:33.1863807Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:19:33.1863807Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:19:33.0770034Z","primaryEndpoints":{"dfs":"https://storagesfrepro16.dfs.core.windows.net/","web":"https://storagesfrepro16.z19.web.core.windows.net/","blob":"https://storagesfrepro16.blob.core.windows.net/","queue":"https://storagesfrepro16.queue.core.windows.net/","table":"https://storagesfrepro16.table.core.windows.net/","file":"https://storagesfrepro16.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro16-secondary.dfs.core.windows.net/","web":"https://storagesfrepro16-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro16-secondary.blob.core.windows.net/","queue":"https://storagesfrepro16-secondary.queue.core.windows.net/","table":"https://storagesfrepro16-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro17","name":"storagesfrepro17","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:23.5553513Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:23.5553513Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:04:23.4771469Z","primaryEndpoints":{"dfs":"https://storagesfrepro17.dfs.core.windows.net/","web":"https://storagesfrepro17.z19.web.core.windows.net/","blob":"https://storagesfrepro17.blob.core.windows.net/","queue":"https://storagesfrepro17.queue.core.windows.net/","table":"https://storagesfrepro17.table.core.windows.net/","file":"https://storagesfrepro17.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro17-secondary.dfs.core.windows.net/","web":"https://storagesfrepro17-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro17-secondary.blob.core.windows.net/","queue":"https://storagesfrepro17-secondary.queue.core.windows.net/","table":"https://storagesfrepro17-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro18","name":"storagesfrepro18","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:53.8320772Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:53.8320772Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:04:53.7383176Z","primaryEndpoints":{"dfs":"https://storagesfrepro18.dfs.core.windows.net/","web":"https://storagesfrepro18.z19.web.core.windows.net/","blob":"https://storagesfrepro18.blob.core.windows.net/","queue":"https://storagesfrepro18.queue.core.windows.net/","table":"https://storagesfrepro18.table.core.windows.net/","file":"https://storagesfrepro18.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro18-secondary.dfs.core.windows.net/","web":"https://storagesfrepro18-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro18-secondary.blob.core.windows.net/","queue":"https://storagesfrepro18-secondary.queue.core.windows.net/","table":"https://storagesfrepro18-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro19","name":"storagesfrepro19","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:05:26.3650238Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:05:26.3650238Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:05:26.2556326Z","primaryEndpoints":{"dfs":"https://storagesfrepro19.dfs.core.windows.net/","web":"https://storagesfrepro19.z19.web.core.windows.net/","blob":"https://storagesfrepro19.blob.core.windows.net/","queue":"https://storagesfrepro19.queue.core.windows.net/","table":"https://storagesfrepro19.table.core.windows.net/","file":"https://storagesfrepro19.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro19-secondary.dfs.core.windows.net/","web":"https://storagesfrepro19-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro19-secondary.blob.core.windows.net/","queue":"https://storagesfrepro19-secondary.queue.core.windows.net/","table":"https://storagesfrepro19-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro2","name":"storagesfrepro2","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:08:45.8498203Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:08:45.8498203Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:08:45.7717196Z","primaryEndpoints":{"dfs":"https://storagesfrepro2.dfs.core.windows.net/","web":"https://storagesfrepro2.z19.web.core.windows.net/","blob":"https://storagesfrepro2.blob.core.windows.net/","queue":"https://storagesfrepro2.queue.core.windows.net/","table":"https://storagesfrepro2.table.core.windows.net/","file":"https://storagesfrepro2.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro2-secondary.dfs.core.windows.net/","web":"https://storagesfrepro2-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro2-secondary.blob.core.windows.net/","queue":"https://storagesfrepro2-secondary.queue.core.windows.net/","table":"https://storagesfrepro2-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro20","name":"storagesfrepro20","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:07.4295934Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:07.4295934Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:06:07.3358422Z","primaryEndpoints":{"dfs":"https://storagesfrepro20.dfs.core.windows.net/","web":"https://storagesfrepro20.z19.web.core.windows.net/","blob":"https://storagesfrepro20.blob.core.windows.net/","queue":"https://storagesfrepro20.queue.core.windows.net/","table":"https://storagesfrepro20.table.core.windows.net/","file":"https://storagesfrepro20.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro20-secondary.dfs.core.windows.net/","web":"https://storagesfrepro20-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro20-secondary.blob.core.windows.net/","queue":"https://storagesfrepro20-secondary.queue.core.windows.net/","table":"https://storagesfrepro20-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro21","name":"storagesfrepro21","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:37.4780251Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:37.4780251Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:06:37.3686460Z","primaryEndpoints":{"dfs":"https://storagesfrepro21.dfs.core.windows.net/","web":"https://storagesfrepro21.z19.web.core.windows.net/","blob":"https://storagesfrepro21.blob.core.windows.net/","queue":"https://storagesfrepro21.queue.core.windows.net/","table":"https://storagesfrepro21.table.core.windows.net/","file":"https://storagesfrepro21.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro21-secondary.dfs.core.windows.net/","web":"https://storagesfrepro21-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro21-secondary.blob.core.windows.net/","queue":"https://storagesfrepro21-secondary.queue.core.windows.net/","table":"https://storagesfrepro21-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro22","name":"storagesfrepro22","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:59.8295391Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:59.8295391Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:06:59.7201581Z","primaryEndpoints":{"dfs":"https://storagesfrepro22.dfs.core.windows.net/","web":"https://storagesfrepro22.z19.web.core.windows.net/","blob":"https://storagesfrepro22.blob.core.windows.net/","queue":"https://storagesfrepro22.queue.core.windows.net/","table":"https://storagesfrepro22.table.core.windows.net/","file":"https://storagesfrepro22.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro22-secondary.dfs.core.windows.net/","web":"https://storagesfrepro22-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro22-secondary.blob.core.windows.net/","queue":"https://storagesfrepro22-secondary.queue.core.windows.net/","table":"https://storagesfrepro22-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro23","name":"storagesfrepro23","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:29.0846619Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:29.0846619Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:07:29.0065050Z","primaryEndpoints":{"dfs":"https://storagesfrepro23.dfs.core.windows.net/","web":"https://storagesfrepro23.z19.web.core.windows.net/","blob":"https://storagesfrepro23.blob.core.windows.net/","queue":"https://storagesfrepro23.queue.core.windows.net/","table":"https://storagesfrepro23.table.core.windows.net/","file":"https://storagesfrepro23.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro23-secondary.dfs.core.windows.net/","web":"https://storagesfrepro23-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro23-secondary.blob.core.windows.net/","queue":"https://storagesfrepro23-secondary.queue.core.windows.net/","table":"https://storagesfrepro23-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro24","name":"storagesfrepro24","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:53.2658712Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:53.2658712Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:07:53.1565651Z","primaryEndpoints":{"dfs":"https://storagesfrepro24.dfs.core.windows.net/","web":"https://storagesfrepro24.z19.web.core.windows.net/","blob":"https://storagesfrepro24.blob.core.windows.net/","queue":"https://storagesfrepro24.queue.core.windows.net/","table":"https://storagesfrepro24.table.core.windows.net/","file":"https://storagesfrepro24.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro24-secondary.dfs.core.windows.net/","web":"https://storagesfrepro24-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro24-secondary.blob.core.windows.net/","queue":"https://storagesfrepro24-secondary.queue.core.windows.net/","table":"https://storagesfrepro24-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro25","name":"storagesfrepro25","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:08:18.7432319Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:08:18.7432319Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:08:18.6338258Z","primaryEndpoints":{"dfs":"https://storagesfrepro25.dfs.core.windows.net/","web":"https://storagesfrepro25.z19.web.core.windows.net/","blob":"https://storagesfrepro25.blob.core.windows.net/","queue":"https://storagesfrepro25.queue.core.windows.net/","table":"https://storagesfrepro25.table.core.windows.net/","file":"https://storagesfrepro25.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro25-secondary.dfs.core.windows.net/","web":"https://storagesfrepro25-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro25-secondary.blob.core.windows.net/","queue":"https://storagesfrepro25-secondary.queue.core.windows.net/","table":"https://storagesfrepro25-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro3","name":"storagesfrepro3","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:19.5698333Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:19.5698333Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:09:19.3510997Z","primaryEndpoints":{"dfs":"https://storagesfrepro3.dfs.core.windows.net/","web":"https://storagesfrepro3.z19.web.core.windows.net/","blob":"https://storagesfrepro3.blob.core.windows.net/","queue":"https://storagesfrepro3.queue.core.windows.net/","table":"https://storagesfrepro3.table.core.windows.net/","file":"https://storagesfrepro3.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro3-secondary.dfs.core.windows.net/","web":"https://storagesfrepro3-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro3-secondary.blob.core.windows.net/","queue":"https://storagesfrepro3-secondary.queue.core.windows.net/","table":"https://storagesfrepro3-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro4","name":"storagesfrepro4","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:54.9930953Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:54.9930953Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:09:54.8993063Z","primaryEndpoints":{"dfs":"https://storagesfrepro4.dfs.core.windows.net/","web":"https://storagesfrepro4.z19.web.core.windows.net/","blob":"https://storagesfrepro4.blob.core.windows.net/","queue":"https://storagesfrepro4.queue.core.windows.net/","table":"https://storagesfrepro4.table.core.windows.net/","file":"https://storagesfrepro4.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro4-secondary.dfs.core.windows.net/","web":"https://storagesfrepro4-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro4-secondary.blob.core.windows.net/","queue":"https://storagesfrepro4-secondary.queue.core.windows.net/","table":"https://storagesfrepro4-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro5","name":"storagesfrepro5","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:10:48.1114395Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:10:48.1114395Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:10:48.0177273Z","primaryEndpoints":{"dfs":"https://storagesfrepro5.dfs.core.windows.net/","web":"https://storagesfrepro5.z19.web.core.windows.net/","blob":"https://storagesfrepro5.blob.core.windows.net/","queue":"https://storagesfrepro5.queue.core.windows.net/","table":"https://storagesfrepro5.table.core.windows.net/","file":"https://storagesfrepro5.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro5-secondary.dfs.core.windows.net/","web":"https://storagesfrepro5-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro5-secondary.blob.core.windows.net/","queue":"https://storagesfrepro5-secondary.queue.core.windows.net/","table":"https://storagesfrepro5-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro6","name":"storagesfrepro6","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:11:28.0269117Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:11:28.0269117Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:11:27.9331594Z","primaryEndpoints":{"dfs":"https://storagesfrepro6.dfs.core.windows.net/","web":"https://storagesfrepro6.z19.web.core.windows.net/","blob":"https://storagesfrepro6.blob.core.windows.net/","queue":"https://storagesfrepro6.queue.core.windows.net/","table":"https://storagesfrepro6.table.core.windows.net/","file":"https://storagesfrepro6.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro6-secondary.dfs.core.windows.net/","web":"https://storagesfrepro6-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro6-secondary.blob.core.windows.net/","queue":"https://storagesfrepro6-secondary.queue.core.windows.net/","table":"https://storagesfrepro6-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro7","name":"storagesfrepro7","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:08.7761892Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:08.7761892Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:12:08.6824637Z","primaryEndpoints":{"dfs":"https://storagesfrepro7.dfs.core.windows.net/","web":"https://storagesfrepro7.z19.web.core.windows.net/","blob":"https://storagesfrepro7.blob.core.windows.net/","queue":"https://storagesfrepro7.queue.core.windows.net/","table":"https://storagesfrepro7.table.core.windows.net/","file":"https://storagesfrepro7.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro7-secondary.dfs.core.windows.net/","web":"https://storagesfrepro7-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro7-secondary.blob.core.windows.net/","queue":"https://storagesfrepro7-secondary.queue.core.windows.net/","table":"https://storagesfrepro7-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro8","name":"storagesfrepro8","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:39.5221164Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:39.5221164Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:12:39.4283923Z","primaryEndpoints":{"dfs":"https://storagesfrepro8.dfs.core.windows.net/","web":"https://storagesfrepro8.z19.web.core.windows.net/","blob":"https://storagesfrepro8.blob.core.windows.net/","queue":"https://storagesfrepro8.queue.core.windows.net/","table":"https://storagesfrepro8.table.core.windows.net/","file":"https://storagesfrepro8.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro8-secondary.dfs.core.windows.net/","web":"https://storagesfrepro8-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro8-secondary.blob.core.windows.net/","queue":"https://storagesfrepro8-secondary.queue.core.windows.net/","table":"https://storagesfrepro8-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro9","name":"storagesfrepro9","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:13:18.1628430Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:13:18.1628430Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:13:18.0691096Z","primaryEndpoints":{"dfs":"https://storagesfrepro9.dfs.core.windows.net/","web":"https://storagesfrepro9.z19.web.core.windows.net/","blob":"https://storagesfrepro9.blob.core.windows.net/","queue":"https://storagesfrepro9.queue.core.windows.net/","table":"https://storagesfrepro9.table.core.windows.net/","file":"https://storagesfrepro9.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro9-secondary.dfs.core.windows.net/","web":"https://storagesfrepro9-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro9-secondary.blob.core.windows.net/","queue":"https://storagesfrepro9-secondary.queue.core.windows.net/","table":"https://storagesfrepro9-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/IT_acctestRG-ibt-24_acctest-IBT-0710-2_4ebedb5a-e3b1-4675-aa4c-3c160fe70907/providers/Microsoft.Storage/storageAccounts/6ynst8ytvcms52eviy9cme3e","name":"6ynst8ytvcms52eviy9cme3e","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{"createdby":"azureimagebuilder","magicvalue":"0d819542a3774a2a8709401a7cd09eb8"},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-10T11:43:30.0119558Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-10T11:43:30.0119558Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-07-10T11:43:29.9651518Z","primaryEndpoints":{"blob":"https://6ynst8ytvcms52eviy9cme3e.blob.core.windows.net/","queue":"https://6ynst8ytvcms52eviy9cme3e.queue.core.windows.net/","table":"https://6ynst8ytvcms52eviy9cme3e.table.core.windows.net/","file":"https://6ynst8ytvcms52eviy9cme3e.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000003","name":"clitest000003","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"keyCreationTime":{"key1":"2021-05-17T02:23:37.3756660Z","key2":"2021-05-17T02:23:37.3756660Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-17T02:23:37.3756660Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-17T02:23:37.3756660Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-05-17T02:23:37.2975498Z","primaryEndpoints":{"dfs":"https://clitest000003.dfs.core.windows.net/","web":"https://clitest000003.z5.web.core.windows.net/","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":"westus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yishitest/providers/Microsoft.Storage/storageAccounts/yssaeuap","name":"yssaeuap","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-11-10T03:37:15.2571646Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-11-10T03:37:15.2571646Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-11-10T03:37:15.1871764Z","primaryEndpoints":{"dfs":"https://yssaeuap.dfs.core.windows.net/","web":"https://yssaeuap.z3.web.core.windows.net/","blob":"https://yssaeuap.blob.core.windows.net/","queue":"https://yssaeuap.queue.core.windows.net/","table":"https://yssaeuap.table.core.windows.net/","file":"https://yssaeuap.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available","secondaryLocation":"centraluseuap","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yssaeuap-secondary.dfs.core.windows.net/","web":"https://yssaeuap-secondary.z3.web.core.windows.net/","blob":"https://yssaeuap-secondary.blob.core.windows.net/","queue":"https://yssaeuap-secondary.queue.core.windows.net/","table":"https://yssaeuap-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yishitest/providers/Microsoft.Storage/storageAccounts/yssanew","name":"yssanew","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-11-06T09:18:53.7220848Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-11-06T09:18:53.7220848Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-11-06T09:18:53.6620997Z","primaryEndpoints":{"dfs":"https://yssanew.dfs.core.windows.net/","web":"https://yssanew.z3.web.core.windows.net/","blob":"https://yssanew.blob.core.windows.net/","queue":"https://yssanew.queue.core.windows.net/","table":"https://yssanew.table.core.windows.net/","file":"https://yssanew.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available","secondaryLocation":"centraluseuap","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yssanew-secondary.dfs.core.windows.net/","web":"https://yssanew-secondary.z3.web.core.windows.net/","blob":"https://yssanew-secondary.blob.core.windows.net/","queue":"https://yssanew-secondary.queue.core.windows.net/","table":"https://yssanew-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/zuhdefault","name":"zuhdefault","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-29T06:08:24.0050046Z","key2":"2021-04-29T06:08:24.0050046Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-29T06:08:24.0100198Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-29T06:08:24.0100198Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-29T06:08:23.9249868Z","primaryEndpoints":{"dfs":"https://zuhdefault.dfs.core.windows.net/","web":"https://zuhdefault.z3.web.core.windows.net/","blob":"https://zuhdefault.blob.core.windows.net/","queue":"https://zuhdefault.queue.core.windows.net/","table":"https://zuhdefault.table.core.windows.net/","file":"https://zuhdefault.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available","secondaryLocation":"centraluseuap","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://zuhdefault-secondary.dfs.core.windows.net/","web":"https://zuhdefault-secondary.z3.web.core.windows.net/","blob":"https://zuhdefault-secondary.blob.core.windows.net/","queue":"https://zuhdefault-secondary.queue.core.windows.net/","table":"https://zuhdefault-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/zuhtest","name":"zuhtest","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"identity":{"type":"ManagedServiceIdentity","userAssignedIdentity":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.ManagedIdentity/userAssignedIdentities/zuhid"},"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-14T07:13:45.1503826Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-14T07:13:45.1503826Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Creating","creationTime":"2021-01-14T07:13:45.0603798Z","primaryEndpoints":{"dfs":"https://zuhtest.dfs.core.windows.net/","web":"https://zuhtest.z3.web.core.windows.net/","blob":"https://zuhtest.blob.core.windows.net/","queue":"https://zuhtest.queue.core.windows.net/","table":"https://zuhtest.table.core.windows.net/","file":"https://zuhtest.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available","secondaryLocation":"centraluseuap","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://zuhtest-secondary.dfs.core.windows.net/","web":"https://zuhtest-secondary.z3.web.core.windows.net/","blob":"https://zuhtest-secondary.blob.core.windows.net/","queue":"https://zuhtest-secondary.queue.core.windows.net/","table":"https://zuhtest-secondary.table.core.windows.net/"}}}]}' headers: cache-control: - no-cache content-length: - - '2796' + - '149552' content-type: - application/json; charset=utf-8 date: - - Wed, 07 Apr 2021 03:28:25 GMT + - Mon, 17 May 2021 02:24:02 GMT expires: - '-1' pragma: @@ -168,8 +176,14 @@ interactions: x-content-type-options: - nosniff x-ms-original-request-ids: - - c5d249af-a708-4194-a43c-0e27aef44fb6 - - 56cb2ace-434f-4f2f-a623-3d7a851dcab5 + - f867fc80-a934-41ca-a4fd-706c8ec9f502 + - ce42b985-ac30-4484-bb8f-7212d0e636b1 + - 2545705a-9216-4b62-8ed0-53ca8f4f3cee + - 6c10edf6-84bd-4859-8ed3-150d9c41d67b + - 00f78e0a-203a-4eec-9655-3570b9a873c6 + - e3751166-9ec4-4d85-8d3c-47457e213063 + - 88c003c5-9a7c-4372-a602-ae04c1fb66ce + - 7e663ad4-241b-48ba-8ce8-146fb1adfb33 status: code: 200 message: OK @@ -189,21 +203,21 @@ interactions: ParameterSetName: - -n -g --account-name User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/component000003/listKeys?api-version=2021-01-01&$expand=kerb + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000003/listKeys?api-version=2021-04-01&$expand=kerb response: body: - string: '{"keys":[{"keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' + string: '{"keys":[{"creationTime":"2021-05-17T02:23:37.3756660Z","keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"creationTime":"2021-05-17T02:23:37.3756660Z","keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' headers: cache-control: - no-cache content-length: - - '288' + - '380' content-type: - application/json date: - - Wed, 07 Apr 2021 03:28:25 GMT + - Mon, 17 May 2021 02:24:04 GMT expires: - '-1' pragma: @@ -231,13 +245,13 @@ interactions: Content-Length: - '0' User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.21.0 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.10; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Wed, 07 Apr 2021 03:28:25 GMT + - Mon, 17 May 2021 02:24:02 GMT x-ms-version: - '2018-11-09' method: PUT - uri: https://component000003.blob.core.windows.net/ctnb?restype=container + uri: https://clitest000003.blob.core.windows.net/ctnb?restype=container response: body: string: '' @@ -245,11 +259,11 @@ interactions: content-length: - '0' date: - - Wed, 07 Apr 2021 03:28:28 GMT + - Mon, 17 May 2021 02:24:06 GMT etag: - - '"0x8D8F97536034D8C"' + - '"0x8D918DAD8A0A7BE"' last-modified: - - Wed, 07 Apr 2021 03:28:28 GMT + - Mon, 17 May 2021 02:24:06 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -271,21 +285,22 @@ interactions: ParameterSetName: - --account-name --name --permissions --expiry User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/storageAccounts?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/storageAccounts?api-version=2021-04-01 response: body: - string: '{"value":[{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/component000002","name":"component000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-07T03:27:29.0296484Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-07T03:27:29.0296484Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-07T03:27:28.9359255Z","primaryEndpoints":{"dfs":"https://component000002.dfs.core.windows.net/","web":"https://component000002.z22.web.core.windows.net/","blob":"https://component000002.blob.core.windows.net/","queue":"https://component000002.queue.core.windows.net/","table":"https://component000002.table.core.windows.net/","file":"https://component000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/component000003","name":"component000003","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-07T03:27:59.0196782Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-07T03:27:59.0196782Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-07T03:27:58.9415366Z","primaryEndpoints":{"dfs":"https://component000003.dfs.core.windows.net/","web":"https://component000003.z5.web.core.windows.net/","blob":"https://component000003.blob.core.windows.net/","queue":"https://component000003.queue.core.windows.net/","table":"https://component000003.table.core.windows.net/","file":"https://component000003.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available"}}]}' + string: '{"value":[{"sku":{"name":"Standard_RAGZRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-beta/providers/Microsoft.Storage/storageAccounts/azureclibetarelease","name":"azureclibetarelease","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-11T10:32:24.8036511Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-11T10:32:24.8036511Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-06-11T10:32:24.7099044Z","primaryEndpoints":{"dfs":"https://azureclibetarelease.dfs.core.windows.net/","web":"https://azureclibetarelease.z13.web.core.windows.net/","blob":"https://azureclibetarelease.blob.core.windows.net/","queue":"https://azureclibetarelease.queue.core.windows.net/","table":"https://azureclibetarelease.table.core.windows.net/","file":"https://azureclibetarelease.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://azureclibetarelease-secondary.dfs.core.windows.net/","web":"https://azureclibetarelease-secondary.z13.web.core.windows.net/","blob":"https://azureclibetarelease-secondary.blob.core.windows.net/","queue":"https://azureclibetarelease-secondary.queue.core.windows.net/","table":"https://azureclibetarelease-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestresult/providers/Microsoft.Storage/storageAccounts/clitestresultstac","name":"clitestresultstac","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-15T06:20:52.7844389Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-15T06:20:52.7844389Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-07-15T06:20:52.6907255Z","primaryEndpoints":{"dfs":"https://clitestresultstac.dfs.core.windows.net/","web":"https://clitestresultstac.z13.web.core.windows.net/","blob":"https://clitestresultstac.blob.core.windows.net/","queue":"https://clitestresultstac.queue.core.windows.net/","table":"https://clitestresultstac.table.core.windows.net/","file":"https://clitestresultstac.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://clitestresultstac-secondary.dfs.core.windows.net/","web":"https://clitestresultstac-secondary.z13.web.core.windows.net/","blob":"https://clitestresultstac-secondary.blob.core.windows.net/","queue":"https://clitestresultstac-secondary.queue.core.windows.net/","table":"https://clitestresultstac-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fytest/providers/Microsoft.Storage/storageAccounts/fystac","name":"fystac","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-08T03:10:13.4426715Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-08T03:10:13.4426715Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-04-08T03:10:13.3645539Z","primaryEndpoints":{"dfs":"https://fystac.dfs.core.windows.net/","web":"https://fystac.z13.web.core.windows.net/","blob":"https://fystac.blob.core.windows.net/","queue":"https://fystac.queue.core.windows.net/","table":"https://fystac.table.core.windows.net/","file":"https://fystac.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://fystac-secondary.dfs.core.windows.net/","web":"https://fystac-secondary.z13.web.core.windows.net/","blob":"https://fystac-secondary.blob.core.windows.net/","queue":"https://fystac-secondary.queue.core.windows.net/","table":"https://fystac-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jiasli-cli-dev/providers/Microsoft.Storage/storageAccounts/jlwin","name":"jlwin","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-05-12T01:23:36.3068024Z","key2":"2021-05-12T01:23:36.3068024Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"allowSharedKeyAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-12T01:23:36.3068024Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-12T01:23:36.3068024Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-05-12T01:23:36.1974223Z","primaryEndpoints":{"dfs":"https://jlwin.dfs.core.windows.net/","web":"https://jlwin.z13.web.core.windows.net/","blob":"https://jlwin.blob.core.windows.net/","queue":"https://jlwin.queue.core.windows.net/","table":"https://jlwin.table.core.windows.net/","file":"https://jlwin.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://jlwin-secondary.dfs.core.windows.net/","web":"https://jlwin-secondary.z13.web.core.windows.net/","blob":"https://jlwin-secondary.blob.core.windows.net/","queue":"https://jlwin-secondary.queue.core.windows.net/","table":"https://jlwin-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-weidxu/providers/Microsoft.Storage/storageAccounts/lcok2weidxu","name":"lcok2weidxu","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"allowSharedKeyAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-22T03:19:18.1561890Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-22T03:19:18.1561890Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-01-22T03:19:18.0468159Z","primaryEndpoints":{"dfs":"https://lcok2weidxu.dfs.core.windows.net/","web":"https://lcok2weidxu.z13.web.core.windows.net/","blob":"https://lcok2weidxu.blob.core.windows.net/","queue":"https://lcok2weidxu.queue.core.windows.net/","table":"https://lcok2weidxu.table.core.windows.net/","file":"https://lcok2weidxu.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/portal2cli/providers/Microsoft.Storage/storageAccounts/portal2clistorage","name":"portal2clistorage","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-14T07:23:08.8752602Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-14T07:23:08.8752602Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-10-14T07:23:08.7502552Z","primaryEndpoints":{"dfs":"https://portal2clistorage.dfs.core.windows.net/","web":"https://portal2clistorage.z13.web.core.windows.net/","blob":"https://portal2clistorage.blob.core.windows.net/","queue":"https://portal2clistorage.queue.core.windows.net/","table":"https://portal2clistorage.table.core.windows.net/","file":"https://portal2clistorage.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://portal2clistorage-secondary.dfs.core.windows.net/","web":"https://portal2clistorage-secondary.z13.web.core.windows.net/","blob":"https://portal2clistorage-secondary.blob.core.windows.net/","queue":"https://portal2clistorage-secondary.queue.core.windows.net/","table":"https://portal2clistorage-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Storage/storageAccounts/qianwenadls","name":"qianwenadls","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"isHnsEnabled":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-01T10:11:06.0357634Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-01T10:11:06.0357634Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-04-01T10:11:05.9576622Z","primaryEndpoints":{"dfs":"https://qianwenadls.dfs.core.windows.net/","web":"https://qianwenadls.z13.web.core.windows.net/","blob":"https://qianwenadls.blob.core.windows.net/","queue":"https://qianwenadls.queue.core.windows.net/","table":"https://qianwenadls.table.core.windows.net/","file":"https://qianwenadls.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://qianwenadls-secondary.dfs.core.windows.net/","web":"https://qianwenadls-secondary.z13.web.core.windows.net/","blob":"https://qianwenadls-secondary.blob.core.windows.net/","queue":"https://qianwenadls-secondary.queue.core.windows.net/","table":"https://qianwenadls-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Storage/storageAccounts/qianwendev","name":"qianwendev","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Network/virtualNetworks/QIAN/subnets/default","action":"Allow","state":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Network/virtualNetworks/qianwendev/subnets/default","action":"Allow","state":"Succeeded"}],"ipRules":[{"value":"23.45.1.0/24","action":"Allow"},{"value":"23.45.1.1/24","action":"Allow"}],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-12T03:29:28.0084761Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-12T03:29:28.0084761Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-02-12T03:29:27.9459854Z","primaryEndpoints":{"dfs":"https://qianwendev.dfs.core.windows.net/","web":"https://qianwendev.z13.web.core.windows.net/","blob":"https://qianwendev.blob.core.windows.net/","queue":"https://qianwendev.queue.core.windows.net/","table":"https://qianwendev.table.core.windows.net/","file":"https://qianwendev.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://qianwendev-secondary.dfs.core.windows.net/","web":"https://qianwendev-secondary.z13.web.core.windows.net/","blob":"https://qianwendev-secondary.blob.core.windows.net/","queue":"https://qianwendev-secondary.queue.core.windows.net/","table":"https://qianwendev-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Storage/storageAccounts/qianwenhpctarget","name":"qianwenhpctarget","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T07:09:20.3073299Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T07:09:20.3073299Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-06T07:09:20.2291899Z","primaryEndpoints":{"dfs":"https://qianwenhpctarget.dfs.core.windows.net/","web":"https://qianwenhpctarget.z13.web.core.windows.net/","blob":"https://qianwenhpctarget.blob.core.windows.net/","queue":"https://qianwenhpctarget.queue.core.windows.net/","table":"https://qianwenhpctarget.table.core.windows.net/","file":"https://qianwenhpctarget.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://qianwenhpctarget-secondary.dfs.core.windows.net/","web":"https://qianwenhpctarget-secondary.z13.web.core.windows.net/","blob":"https://qianwenhpctarget-secondary.blob.core.windows.net/","queue":"https://qianwenhpctarget-secondary.queue.core.windows.net/","table":"https://qianwenhpctarget-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yishitest/providers/Microsoft.Storage/storageAccounts/ystestpolicy","name":"ystestpolicy","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"sasPolicy":{"sasExpirationPeriod":"12.00:05:25","expirationAction":"Log"},"keyPolicy":{"keyExpirationPeriodInDays":3},"keyCreationTime":{"key1":"2021-04-29T03:24:08.1682761Z","key2":"2021-04-29T03:24:08.1682761Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-29T03:24:08.1682761Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-29T03:24:08.1682761Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-29T03:24:08.0593459Z","primaryEndpoints":{"dfs":"https://ystestpolicy.dfs.core.windows.net/","web":"https://ystestpolicy.z13.web.core.windows.net/","blob":"https://ystestpolicy.blob.core.windows.net/","queue":"https://ystestpolicy.queue.core.windows.net/","table":"https://ystestpolicy.table.core.windows.net/","file":"https://ystestpolicy.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-yueshi/providers/Microsoft.Storage/storageAccounts/yueshi4debug","name":"yueshi4debug","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-09-14T09:43:28.2246331Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-09-14T09:43:28.2246331Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-09-14T09:43:28.1308789Z","primaryEndpoints":{"dfs":"https://yueshi4debug.dfs.core.windows.net/","web":"https://yueshi4debug.z13.web.core.windows.net/","blob":"https://yueshi4debug.blob.core.windows.net/","queue":"https://yueshi4debug.queue.core.windows.net/","table":"https://yueshi4debug.table.core.windows.net/","file":"https://yueshi4debug.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yueshi4debug-secondary.dfs.core.windows.net/","web":"https://yueshi4debug-secondary.z13.web.core.windows.net/","blob":"https://yueshi4debug-secondary.blob.core.windows.net/","queue":"https://yueshi4debug-secondary.queue.core.windows.net/","table":"https://yueshi4debug-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-live-test-rg/providers/Microsoft.Storage/storageAccounts/advisortestsa","name":"advisortestsa","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-29T02:39:47.2953520Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-29T02:39:47.2953520Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-10-29T02:39:47.1860196Z","primaryEndpoints":{"dfs":"https://advisortestsa.dfs.core.windows.net/","web":"https://advisortestsa.z22.web.core.windows.net/","blob":"https://advisortestsa.blob.core.windows.net/","queue":"https://advisortestsa.queue.core.windows.net/","table":"https://advisortestsa.table.core.windows.net/","file":"https://advisortestsa.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://advisortestsa-secondary.dfs.core.windows.net/","web":"https://advisortestsa-secondary.z22.web.core.windows.net/","blob":"https://advisortestsa-secondary.blob.core.windows.net/","queue":"https://advisortestsa-secondary.queue.core.windows.net/","table":"https://advisortestsa-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azure-cli-edge/providers/Microsoft.Storage/storageAccounts/azextensionedge","name":"azextensionedge","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"allowSharedKeyAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-22T08:51:57.7728758Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-22T08:51:57.7728758Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-01-22T08:51:57.6947156Z","primaryEndpoints":{"dfs":"https://azextensionedge.dfs.core.windows.net/","web":"https://azextensionedge.z22.web.core.windows.net/","blob":"https://azextensionedge.blob.core.windows.net/","queue":"https://azextensionedge.queue.core.windows.net/","table":"https://azextensionedge.table.core.windows.net/","file":"https://azextensionedge.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://azextensionedge-secondary.dfs.core.windows.net/","web":"https://azextensionedge-secondary.z22.web.core.windows.net/","blob":"https://azextensionedge-secondary.blob.core.windows.net/","queue":"https://azextensionedge-secondary.queue.core.windows.net/","table":"https://azextensionedge-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azure-cli-edge/providers/Microsoft.Storage/storageAccounts/azurecliedge","name":"azurecliedge","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-13T08:41:36.3326539Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-13T08:41:36.3326539Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-01-13T08:41:36.2389304Z","primaryEndpoints":{"dfs":"https://azurecliedge.dfs.core.windows.net/","web":"https://azurecliedge.z22.web.core.windows.net/","blob":"https://azurecliedge.blob.core.windows.net/","queue":"https://azurecliedge.queue.core.windows.net/","table":"https://azurecliedge.table.core.windows.net/","file":"https://azurecliedge.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","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":{"keyCreationTime":{"key1":"2021-05-17T02:23:10.7417244Z","key2":"2021-05-17T02:23:10.7417244Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-17T02:23:10.7417244Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-17T02:23:10.7417244Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-05-17T02:23:10.6479729Z","primaryEndpoints":{"dfs":"https://clitest000002.dfs.core.windows.net/","web":"https://clitest000002.z22.web.core.windows.net/","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/cli_test_gallery_image_version_vhddmban3xow2tgyly5j6xaruoliqaj443p3brq46idi/providers/Microsoft.Storage/storageAccounts/clitest4ydp57ynxl5tcjktl","name":"clitest4ydp57ynxl5tcjktl","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-21T06:49:12.4084643Z","key2":"2021-04-21T06:49:12.4084643Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-21T06:49:12.4240887Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-21T06:49:12.4240887Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-21T06:49:12.3303684Z","primaryEndpoints":{"blob":"https://clitest4ydp57ynxl5tcjktl.blob.core.windows.net/","queue":"https://clitest4ydp57ynxl5tcjktl.queue.core.windows.net/","table":"https://clitest4ydp57ynxl5tcjktl.table.core.windows.net/","file":"https://clitest4ydp57ynxl5tcjktl.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_gallery_image_version_vhddqxkb6y7azmjc53fhkyr66se7po4i2ve5es2y46av/providers/Microsoft.Storage/storageAccounts/clitestuxrcexs7kgo3dqsiz","name":"clitestuxrcexs7kgo3dqsiz","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-21T07:08:35.7386114Z","key2":"2021-04-21T07:08:35.7386114Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-21T07:08:35.7386114Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-21T07:08:35.7386114Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-21T07:08:35.6448419Z","primaryEndpoints":{"blob":"https://clitestuxrcexs7kgo3dqsiz.blob.core.windows.net/","queue":"https://clitestuxrcexs7kgo3dqsiz.queue.core.windows.net/","table":"https://clitestuxrcexs7kgo3dqsiz.table.core.windows.net/","file":"https://clitestuxrcexs7kgo3dqsiz.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jiasli-cli-dev/providers/Microsoft.Storage/storageAccounts/jlstwu","name":"jlstwu","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-12T06:29:22.9138997Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-12T06:29:22.9138997Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-01-12T06:29:22.8201627Z","primaryEndpoints":{"dfs":"https://jlstwu.dfs.core.windows.net/","web":"https://jlstwu.z22.web.core.windows.net/","blob":"https://jlstwu.blob.core.windows.net/","queue":"https://jlstwu.queue.core.windows.net/","table":"https://jlstwu.table.core.windows.net/","file":"https://jlstwu.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/kairu-persist/providers/Microsoft.Storage/storageAccounts/kairu","name":"kairu","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-13T07:35:19.0950431Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-13T07:35:19.0950431Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-01-13T07:35:18.9856251Z","primaryEndpoints":{"blob":"https://kairu.blob.core.windows.net/","queue":"https://kairu.queue.core.windows.net/","table":"https://kairu.table.core.windows.net/","file":"https://kairu.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-live-test-rg/providers/Microsoft.Storage/storageAccounts/locksa","name":"locksa","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"azureFilesIdentityBasedAuthentication":{"directoryServiceOptions":"None"},"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-29T03:24:17.1371655Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-29T03:24:17.1371655Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-10-29T03:24:17.0434116Z","primaryEndpoints":{"dfs":"https://locksa.dfs.core.windows.net/","web":"https://locksa.z22.web.core.windows.net/","blob":"https://locksa.blob.core.windows.net/","queue":"https://locksa.queue.core.windows.net/","table":"https://locksa.table.core.windows.net/","file":"https://locksa.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://locksa-secondary.dfs.core.windows.net/","web":"https://locksa-secondary.z22.web.core.windows.net/","blob":"https://locksa-secondary.blob.core.windows.net/","queue":"https://locksa-secondary.queue.core.windows.net/","table":"https://locksa-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fytest/providers/Microsoft.Storage/storageAccounts/sharedvmextension","name":"sharedvmextension","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-06T03:37:04.8004229Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-06T03:37:04.8004229Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-07-06T03:37:04.7066555Z","primaryEndpoints":{"dfs":"https://sharedvmextension.dfs.core.windows.net/","web":"https://sharedvmextension.z22.web.core.windows.net/","blob":"https://sharedvmextension.blob.core.windows.net/","queue":"https://sharedvmextension.queue.core.windows.net/","table":"https://sharedvmextension.table.core.windows.net/","file":"https://sharedvmextension.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://sharedvmextension-secondary.dfs.core.windows.net/","web":"https://sharedvmextension-secondary.z22.web.core.windows.net/","blob":"https://sharedvmextension-secondary.blob.core.windows.net/","queue":"https://sharedvmextension-secondary.queue.core.windows.net/","table":"https://sharedvmextension-secondary.table.core.windows.net/"}}},{"identity":{"principalId":"c120e453-0fb4-41f4-b9e7-ac280e27992a","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","type":"SystemAssigned"},"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yishitest/providers/Microsoft.Storage/storageAccounts/testcreationtime","name":"testcreationtime","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"sasPolicy":{"sasExpirationPeriod":"2.23:59:59","expirationAction":"Log"},"keyCreationTime":{"key1":"2021-04-08T02:43:57.2406486Z","key2":"2021-04-08T03:30:07.4783308Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-08T02:43:57.2406486Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-08T02:43:57.2406486Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-08T02:43:57.1469079Z","primaryEndpoints":{"dfs":"https://testcreationtime.dfs.core.windows.net/","web":"https://testcreationtime.z22.web.core.windows.net/","blob":"https://testcreationtime.blob.core.windows.net/","queue":"https://testcreationtime.queue.core.windows.net/","table":"https://testcreationtime.table.core.windows.net/","file":"https://testcreationtime.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://testcreationtime-secondary.dfs.core.windows.net/","web":"https://testcreationtime-secondary.z22.web.core.windows.net/","blob":"https://testcreationtime-secondary.blob.core.windows.net/","queue":"https://testcreationtime-secondary.queue.core.windows.net/","table":"https://testcreationtime-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yishitest/providers/Microsoft.Storage/storageAccounts/yssa","name":"yssa","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":"2021-04-08T03:29:15.4919591Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-27T14:55:33.7123620Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-27T14:55:33.7123620Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-10-27T14:55:33.6342573Z","primaryEndpoints":{"dfs":"https://yssa.dfs.core.windows.net/","web":"https://yssa.z22.web.core.windows.net/","blob":"https://yssa.blob.core.windows.net/","queue":"https://yssa.queue.core.windows.net/","table":"https://yssa.table.core.windows.net/","file":"https://yssa.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yssa-secondary.dfs.core.windows.net/","web":"https://yssa-secondary.z22.web.core.windows.net/","blob":"https://yssa-secondary.blob.core.windows.net/","queue":"https://yssa-secondary.queue.core.windows.net/","table":"https://yssa-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yishitest/providers/Microsoft.Storage/storageAccounts/yssaadls","name":"yssaadls","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-03-11T08:16:02.3188031Z","key2":"2021-03-11T08:16:02.3188031Z"},"privateEndpointConnections":[],"isHnsEnabled":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-11T08:16:02.3188031Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-11T08:16:02.3188031Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-03-11T08:16:02.2406559Z","primaryEndpoints":{"dfs":"https://yssaadls.dfs.core.windows.net/","web":"https://yssaadls.z22.web.core.windows.net/","blob":"https://yssaadls.blob.core.windows.net/","queue":"https://yssaadls.queue.core.windows.net/","table":"https://yssaadls.table.core.windows.net/","file":"https://yssaadls.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yssaadls-secondary.dfs.core.windows.net/","web":"https://yssaadls-secondary.z22.web.core.windows.net/","blob":"https://yssaadls-secondary.blob.core.windows.net/","queue":"https://yssaadls-secondary.queue.core.windows.net/","table":"https://yssaadls-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"BlobStorage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yishitest/providers/Microsoft.Storage/storageAccounts/yssatmp","name":"yssatmp","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-02-04T07:19:47.0265181Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-02-04T07:19:47.0265181Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-02-04T07:19:46.9171303Z","primaryEndpoints":{"dfs":"https://yssatmp.dfs.core.windows.net/","blob":"https://yssatmp.blob.core.windows.net/","table":"https://yssatmp.table.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yssatmp-secondary.dfs.core.windows.net/","blob":"https://yssatmp-secondary.blob.core.windows.net/","table":"https://yssatmp-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureSDKTest_reserved/providers/Microsoft.Storage/storageAccounts/azuresdktest","name":"azuresdktest","type":"Microsoft.Storage/storageAccounts","location":"eastasia","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-12T06:32:07.1157877Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-12T06:32:07.1157877Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-08-12T06:32:07.0689199Z","primaryEndpoints":{"dfs":"https://azuresdktest.dfs.core.windows.net/","web":"https://azuresdktest.z7.web.core.windows.net/","blob":"https://azuresdktest.blob.core.windows.net/","queue":"https://azuresdktest.queue.core.windows.net/","table":"https://azuresdktest.table.core.windows.net/","file":"https://azuresdktest.file.core.windows.net/"},"primaryLocation":"eastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rggrglkh7zr7/providers/Microsoft.Storage/storageAccounts/clitest2f63bh43aix4wcnlh","name":"clitest2f63bh43aix4wcnlh","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-22T08:17:38.5541453Z","key2":"2021-04-22T08:17:38.5541453Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:17:38.5541453Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:17:38.5541453Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-22T08:17:38.4760163Z","primaryEndpoints":{"blob":"https://clitest2f63bh43aix4wcnlh.blob.core.windows.net/","queue":"https://clitest2f63bh43aix4wcnlh.queue.core.windows.net/","table":"https://clitest2f63bh43aix4wcnlh.table.core.windows.net/","file":"https://clitest2f63bh43aix4wcnlh.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgh5duq2f6uh/providers/Microsoft.Storage/storageAccounts/clitest2vjedutxs37ymp4ni","name":"clitest2vjedutxs37ymp4ni","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T07:13:21.0424866Z","key2":"2021-04-23T07:13:21.0424866Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:21.0581083Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:21.0581083Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T07:13:20.9643257Z","primaryEndpoints":{"blob":"https://clitest2vjedutxs37ymp4ni.blob.core.windows.net/","queue":"https://clitest2vjedutxs37ymp4ni.queue.core.windows.net/","table":"https://clitest2vjedutxs37ymp4ni.table.core.windows.net/","file":"https://clitest2vjedutxs37ymp4ni.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgl6l3rg6atb/providers/Microsoft.Storage/storageAccounts/clitest4sjmiwke5nz3f67pu","name":"clitest4sjmiwke5nz3f67pu","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-22T08:02:15.3305055Z","key2":"2021-04-22T08:02:15.3305055Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:02:15.3305055Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:02:15.3305055Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-22T08:02:15.2523305Z","primaryEndpoints":{"blob":"https://clitest4sjmiwke5nz3f67pu.blob.core.windows.net/","queue":"https://clitest4sjmiwke5nz3f67pu.queue.core.windows.net/","table":"https://clitest4sjmiwke5nz3f67pu.table.core.windows.net/","file":"https://clitest4sjmiwke5nz3f67pu.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgbbt37xr2le/providers/Microsoft.Storage/storageAccounts/clitest5frikrzhxwryrkfel","name":"clitest5frikrzhxwryrkfel","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-22T08:19:22.9620171Z","key2":"2021-04-22T08:19:22.9620171Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:19:22.9776721Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:19:22.9776721Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-22T08:19:22.8838883Z","primaryEndpoints":{"blob":"https://clitest5frikrzhxwryrkfel.blob.core.windows.net/","queue":"https://clitest5frikrzhxwryrkfel.queue.core.windows.net/","table":"https://clitest5frikrzhxwryrkfel.table.core.windows.net/","file":"https://clitest5frikrzhxwryrkfel.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgrc4sjsrzt4/providers/Microsoft.Storage/storageAccounts/clitest63b5vtkhuf7auho6z","name":"clitest63b5vtkhuf7auho6z","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-22T08:17:38.3198561Z","key2":"2021-04-22T08:17:38.3198561Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:17:38.3198561Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:17:38.3198561Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-22T08:17:38.2416459Z","primaryEndpoints":{"blob":"https://clitest63b5vtkhuf7auho6z.blob.core.windows.net/","queue":"https://clitest63b5vtkhuf7auho6z.queue.core.windows.net/","table":"https://clitest63b5vtkhuf7auho6z.table.core.windows.net/","file":"https://clitest63b5vtkhuf7auho6z.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgekim5ct43n/providers/Microsoft.Storage/storageAccounts/clitest6jusqp4qvczw52pql","name":"clitest6jusqp4qvczw52pql","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-22T08:05:08.7847684Z","key2":"2021-04-22T08:05:08.7847684Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:05:08.8003328Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:05:08.8003328Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-22T08:05:08.7065579Z","primaryEndpoints":{"blob":"https://clitest6jusqp4qvczw52pql.blob.core.windows.net/","queue":"https://clitest6jusqp4qvczw52pql.queue.core.windows.net/","table":"https://clitest6jusqp4qvczw52pql.table.core.windows.net/","file":"https://clitest6jusqp4qvczw52pql.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgu7jwflzo6g/providers/Microsoft.Storage/storageAccounts/clitest6qixwlhm5see7ipqv","name":"clitest6qixwlhm5see7ipqv","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T03:42:54.6967487Z","key2":"2021-04-23T03:42:54.6967487Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T03:42:54.6967487Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T03:42:54.6967487Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T03:42:54.6186031Z","primaryEndpoints":{"blob":"https://clitest6qixwlhm5see7ipqv.blob.core.windows.net/","queue":"https://clitest6qixwlhm5see7ipqv.queue.core.windows.net/","table":"https://clitest6qixwlhm5see7ipqv.table.core.windows.net/","file":"https://clitest6qixwlhm5see7ipqv.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgbbt37xr2le/providers/Microsoft.Storage/storageAccounts/clitest74vl6rwuxl5fbuklw","name":"clitest74vl6rwuxl5fbuklw","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-22T08:17:38.2260082Z","key2":"2021-04-22T08:17:38.2260082Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:17:38.2260082Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:17:38.2260082Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-22T08:17:38.1635154Z","primaryEndpoints":{"blob":"https://clitest74vl6rwuxl5fbuklw.blob.core.windows.net/","queue":"https://clitest74vl6rwuxl5fbuklw.queue.core.windows.net/","table":"https://clitest74vl6rwuxl5fbuklw.table.core.windows.net/","file":"https://clitest74vl6rwuxl5fbuklw.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgekim5ct43n/providers/Microsoft.Storage/storageAccounts/clitestaxzz2w4ay2wruyjs5","name":"clitestaxzz2w4ay2wruyjs5","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-22T08:02:15.6585801Z","key2":"2021-04-22T08:02:15.6585801Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:02:15.6585801Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:02:15.6585801Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-22T08:02:15.5804737Z","primaryEndpoints":{"blob":"https://clitestaxzz2w4ay2wruyjs5.blob.core.windows.net/","queue":"https://clitestaxzz2w4ay2wruyjs5.queue.core.windows.net/","table":"https://clitestaxzz2w4ay2wruyjs5.table.core.windows.net/","file":"https://clitestaxzz2w4ay2wruyjs5.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgiudkrkxpl4/providers/Microsoft.Storage/storageAccounts/clitestbiegaggvgwivkqyyi","name":"clitestbiegaggvgwivkqyyi","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T07:13:20.8705764Z","key2":"2021-04-23T07:13:20.8705764Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:20.8861995Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:20.8861995Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T07:13:20.7925187Z","primaryEndpoints":{"blob":"https://clitestbiegaggvgwivkqyyi.blob.core.windows.net/","queue":"https://clitestbiegaggvgwivkqyyi.queue.core.windows.net/","table":"https://clitestbiegaggvgwivkqyyi.table.core.windows.net/","file":"https://clitestbiegaggvgwivkqyyi.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg46ia57tmnz/providers/Microsoft.Storage/storageAccounts/clitestdlxtp24ycnjl3jui2","name":"clitestdlxtp24ycnjl3jui2","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T03:42:54.3217696Z","key2":"2021-04-23T03:42:54.3217696Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T03:42:54.3217696Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T03:42:54.3217696Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T03:42:54.2436164Z","primaryEndpoints":{"blob":"https://clitestdlxtp24ycnjl3jui2.blob.core.windows.net/","queue":"https://clitestdlxtp24ycnjl3jui2.queue.core.windows.net/","table":"https://clitestdlxtp24ycnjl3jui2.table.core.windows.net/","file":"https://clitestdlxtp24ycnjl3jui2.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgv3m577d7ho/providers/Microsoft.Storage/storageAccounts/clitestej2fvhoj3zogyp5e7","name":"clitestej2fvhoj3zogyp5e7","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T03:42:54.7279926Z","key2":"2021-04-23T03:42:54.7279926Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T03:42:54.7279926Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T03:42:54.7279926Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T03:42:54.6342444Z","primaryEndpoints":{"blob":"https://clitestej2fvhoj3zogyp5e7.blob.core.windows.net/","queue":"https://clitestej2fvhoj3zogyp5e7.queue.core.windows.net/","table":"https://clitestej2fvhoj3zogyp5e7.table.core.windows.net/","file":"https://clitestej2fvhoj3zogyp5e7.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgp6ikwpcsq7/providers/Microsoft.Storage/storageAccounts/clitestggvkyebv5o55dhakj","name":"clitestggvkyebv5o55dhakj","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T07:13:21.2300019Z","key2":"2021-04-23T07:13:21.2300019Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:21.2456239Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:21.2456239Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T07:13:21.1518492Z","primaryEndpoints":{"blob":"https://clitestggvkyebv5o55dhakj.blob.core.windows.net/","queue":"https://clitestggvkyebv5o55dhakj.queue.core.windows.net/","table":"https://clitestggvkyebv5o55dhakj.table.core.windows.net/","file":"https://clitestggvkyebv5o55dhakj.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgn6glpfa25c/providers/Microsoft.Storage/storageAccounts/clitestgt3fjzabc7taya5zo","name":"clitestgt3fjzabc7taya5zo","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T07:13:20.6675009Z","key2":"2021-04-23T07:13:20.6675009Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:20.6831653Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:20.6831653Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T07:13:20.5894204Z","primaryEndpoints":{"blob":"https://clitestgt3fjzabc7taya5zo.blob.core.windows.net/","queue":"https://clitestgt3fjzabc7taya5zo.queue.core.windows.net/","table":"https://clitestgt3fjzabc7taya5zo.table.core.windows.net/","file":"https://clitestgt3fjzabc7taya5zo.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgptzwacrnwa/providers/Microsoft.Storage/storageAccounts/clitestivtrt5tp624n63ast","name":"clitestivtrt5tp624n63ast","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-22T08:17:38.1166795Z","key2":"2021-04-22T08:17:38.1166795Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:17:38.1166795Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:17:38.1166795Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-22T08:17:38.0541529Z","primaryEndpoints":{"blob":"https://clitestivtrt5tp624n63ast.blob.core.windows.net/","queue":"https://clitestivtrt5tp624n63ast.queue.core.windows.net/","table":"https://clitestivtrt5tp624n63ast.table.core.windows.net/","file":"https://clitestivtrt5tp624n63ast.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgdc25pvki6m/providers/Microsoft.Storage/storageAccounts/clitestkxu4ahsqaxv42cyyf","name":"clitestkxu4ahsqaxv42cyyf","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-22T08:02:15.7523496Z","key2":"2021-04-22T08:02:15.7523496Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:02:15.7523496Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:02:15.7523496Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-22T08:02:15.6742355Z","primaryEndpoints":{"blob":"https://clitestkxu4ahsqaxv42cyyf.blob.core.windows.net/","queue":"https://clitestkxu4ahsqaxv42cyyf.queue.core.windows.net/","table":"https://clitestkxu4ahsqaxv42cyyf.table.core.windows.net/","file":"https://clitestkxu4ahsqaxv42cyyf.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgghkyqf7pb5/providers/Microsoft.Storage/storageAccounts/clitestpuea6vlqwxw6ihiws","name":"clitestpuea6vlqwxw6ihiws","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T07:13:21.0581083Z","key2":"2021-04-23T07:13:21.0581083Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:21.0737014Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:21.0737014Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T07:13:20.9799581Z","primaryEndpoints":{"blob":"https://clitestpuea6vlqwxw6ihiws.blob.core.windows.net/","queue":"https://clitestpuea6vlqwxw6ihiws.queue.core.windows.net/","table":"https://clitestpuea6vlqwxw6ihiws.table.core.windows.net/","file":"https://clitestpuea6vlqwxw6ihiws.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg6i4hl6iakg/providers/Microsoft.Storage/storageAccounts/clitestu3p7a7ib4n4y7gt4m","name":"clitestu3p7a7ib4n4y7gt4m","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-30T01:51:53.0814418Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-30T01:51:53.0814418Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2019-12-30T01:51:53.0189478Z","primaryEndpoints":{"blob":"https://clitestu3p7a7ib4n4y7gt4m.blob.core.windows.net/","queue":"https://clitestu3p7a7ib4n4y7gt4m.queue.core.windows.net/","table":"https://clitestu3p7a7ib4n4y7gt4m.table.core.windows.net/","file":"https://clitestu3p7a7ib4n4y7gt4m.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgu7jwflzo6g/providers/Microsoft.Storage/storageAccounts/clitestwqzjytdeun46rphfd","name":"clitestwqzjytdeun46rphfd","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T03:44:35.3668592Z","key2":"2021-04-23T03:44:35.3668592Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T03:44:35.3668592Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T03:44:35.3668592Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T03:44:35.2887580Z","primaryEndpoints":{"blob":"https://clitestwqzjytdeun46rphfd.blob.core.windows.net/","queue":"https://clitestwqzjytdeun46rphfd.queue.core.windows.net/","table":"https://clitestwqzjytdeun46rphfd.table.core.windows.net/","file":"https://clitestwqzjytdeun46rphfd.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgltfej7yr4u/providers/Microsoft.Storage/storageAccounts/clitestwvsg2uskf4i7vjfto","name":"clitestwvsg2uskf4i7vjfto","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-05-13T07:48:30.9247776Z","key2":"2021-05-13T07:48:30.9247776Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-13T07:48:30.9403727Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-13T07:48:30.9403727Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-05-13T07:48:30.8309682Z","primaryEndpoints":{"blob":"https://clitestwvsg2uskf4i7vjfto.blob.core.windows.net/","queue":"https://clitestwvsg2uskf4i7vjfto.queue.core.windows.net/","table":"https://clitestwvsg2uskf4i7vjfto.table.core.windows.net/","file":"https://clitestwvsg2uskf4i7vjfto.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgzjznhcqaoh/providers/Microsoft.Storage/storageAccounts/clitestwznnmnfot33xjztmk","name":"clitestwznnmnfot33xjztmk","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T07:13:20.7299628Z","key2":"2021-04-23T07:13:20.7299628Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:20.7456181Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:20.7456181Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T07:13:20.6518776Z","primaryEndpoints":{"blob":"https://clitestwznnmnfot33xjztmk.blob.core.windows.net/","queue":"https://clitestwznnmnfot33xjztmk.queue.core.windows.net/","table":"https://clitestwznnmnfot33xjztmk.table.core.windows.net/","file":"https://clitestwznnmnfot33xjztmk.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgovptfsocfg/providers/Microsoft.Storage/storageAccounts/clitestz72bbbbv2cio2pmom","name":"clitestz72bbbbv2cio2pmom","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T07:13:21.0112600Z","key2":"2021-04-23T07:13:21.0112600Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:21.0268549Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:21.0268549Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T07:13:20.9330720Z","primaryEndpoints":{"blob":"https://clitestz72bbbbv2cio2pmom.blob.core.windows.net/","queue":"https://clitestz72bbbbv2cio2pmom.queue.core.windows.net/","table":"https://clitestz72bbbbv2cio2pmom.table.core.windows.net/","file":"https://clitestz72bbbbv2cio2pmom.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgxp7uwuibs5/providers/Microsoft.Storage/storageAccounts/clitestzrwidkqplnw3jmz4z","name":"clitestzrwidkqplnw3jmz4z","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T07:13:20.6831653Z","key2":"2021-04-23T07:13:20.6831653Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:20.6987004Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:20.6987004Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T07:13:20.6049571Z","primaryEndpoints":{"blob":"https://clitestzrwidkqplnw3jmz4z.blob.core.windows.net/","queue":"https://clitestzrwidkqplnw3jmz4z.queue.core.windows.net/","table":"https://clitestzrwidkqplnw3jmz4z.table.core.windows.net/","file":"https://clitestzrwidkqplnw3jmz4z.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cloud-shell-storage-southeastasia/providers/Microsoft.Storage/storageAccounts/cs1100320004dd89524","name":"cs1100320004dd89524","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-03-26T05:48:15.7013062Z","key2":"2021-03-26T05:48:15.7013062Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-26T05:48:15.7169621Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-26T05:48:15.7169621Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-03-26T05:48:15.6545059Z","primaryEndpoints":{"dfs":"https://cs1100320004dd89524.dfs.core.windows.net/","web":"https://cs1100320004dd89524.z23.web.core.windows.net/","blob":"https://cs1100320004dd89524.blob.core.windows.net/","queue":"https://cs1100320004dd89524.queue.core.windows.net/","table":"https://cs1100320004dd89524.table.core.windows.net/","file":"https://cs1100320004dd89524.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureSDKTest_reserved/providers/Microsoft.Storage/storageAccounts/cs1100320007de01867","name":"cs1100320007de01867","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-09-25T03:24:00.9959166Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-09-25T03:24:00.9959166Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-09-25T03:24:00.9490326Z","primaryEndpoints":{"dfs":"https://cs1100320007de01867.dfs.core.windows.net/","web":"https://cs1100320007de01867.z23.web.core.windows.net/","blob":"https://cs1100320007de01867.blob.core.windows.net/","queue":"https://cs1100320007de01867.queue.core.windows.net/","table":"https://cs1100320007de01867.table.core.windows.net/","file":"https://cs1100320007de01867.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cloud-shell-storage-southeastasia/providers/Microsoft.Storage/storageAccounts/cs1100320008debd5bc","name":"cs1100320008debd5bc","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-03-17T07:12:44.1132341Z","key2":"2021-03-17T07:12:44.1132341Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-17T07:12:44.1132341Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-17T07:12:44.1132341Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-03-17T07:12:44.0351358Z","primaryEndpoints":{"dfs":"https://cs1100320008debd5bc.dfs.core.windows.net/","web":"https://cs1100320008debd5bc.z23.web.core.windows.net/","blob":"https://cs1100320008debd5bc.blob.core.windows.net/","queue":"https://cs1100320008debd5bc.queue.core.windows.net/","table":"https://cs1100320008debd5bc.table.core.windows.net/","file":"https://cs1100320008debd5bc.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cloud-shell-storage-southeastasia/providers/Microsoft.Storage/storageAccounts/cs11003200092fe0771","name":"cs11003200092fe0771","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-03-23T07:08:51.1436686Z","key2":"2021-03-23T07:08:51.1436686Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-23T07:08:51.1593202Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-23T07:08:51.1593202Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-03-23T07:08:51.0811120Z","primaryEndpoints":{"dfs":"https://cs11003200092fe0771.dfs.core.windows.net/","web":"https://cs11003200092fe0771.z23.web.core.windows.net/","blob":"https://cs11003200092fe0771.blob.core.windows.net/","queue":"https://cs11003200092fe0771.queue.core.windows.net/","table":"https://cs11003200092fe0771.table.core.windows.net/","file":"https://cs11003200092fe0771.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cloud-shell-storage-southeastasia/providers/Microsoft.Storage/storageAccounts/cs110032000b6f3c90c","name":"cs110032000b6f3c90c","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-05-06T05:28:23.2493456Z","key2":"2021-05-06T05:28:23.2493456Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-06T05:28:23.2493456Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-06T05:28:23.2493456Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-05-06T05:28:23.1868245Z","primaryEndpoints":{"dfs":"https://cs110032000b6f3c90c.dfs.core.windows.net/","web":"https://cs110032000b6f3c90c.z23.web.core.windows.net/","blob":"https://cs110032000b6f3c90c.blob.core.windows.net/","queue":"https://cs110032000b6f3c90c.queue.core.windows.net/","table":"https://cs110032000b6f3c90c.table.core.windows.net/","file":"https://cs110032000b6f3c90c.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cloud-shell-storage-southeastasia/providers/Microsoft.Storage/storageAccounts/cs110032000c31bae71","name":"cs110032000c31bae71","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-04-15T06:39:35.4649198Z","key2":"2021-04-15T06:39:35.4649198Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-15T06:39:35.4649198Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-15T06:39:35.4649198Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-15T06:39:35.4180004Z","primaryEndpoints":{"dfs":"https://cs110032000c31bae71.dfs.core.windows.net/","web":"https://cs110032000c31bae71.z23.web.core.windows.net/","blob":"https://cs110032000c31bae71.blob.core.windows.net/","queue":"https://cs110032000c31bae71.queue.core.windows.net/","table":"https://cs110032000c31bae71.table.core.windows.net/","file":"https://cs110032000c31bae71.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureSDKTest_reserved/providers/Microsoft.Storage/storageAccounts/cs110032000ca62af00","name":"cs110032000ca62af00","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-09-22T02:06:18.4998653Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-09-22T02:06:18.4998653Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-09-22T02:06:18.4217109Z","primaryEndpoints":{"dfs":"https://cs110032000ca62af00.dfs.core.windows.net/","web":"https://cs110032000ca62af00.z23.web.core.windows.net/","blob":"https://cs110032000ca62af00.blob.core.windows.net/","queue":"https://cs110032000ca62af00.queue.core.windows.net/","table":"https://cs110032000ca62af00.table.core.windows.net/","file":"https://cs110032000ca62af00.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cloud-shell-storage-southeastasia/providers/Microsoft.Storage/storageAccounts/cs110032000e3121978","name":"cs110032000e3121978","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-04-25T07:26:43.6124221Z","key2":"2021-04-25T07:26:43.6124221Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-25T07:26:43.6124221Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-25T07:26:43.6124221Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-25T07:26:43.5343583Z","primaryEndpoints":{"dfs":"https://cs110032000e3121978.dfs.core.windows.net/","web":"https://cs110032000e3121978.z23.web.core.windows.net/","blob":"https://cs110032000e3121978.blob.core.windows.net/","queue":"https://cs110032000e3121978.queue.core.windows.net/","table":"https://cs110032000e3121978.table.core.windows.net/","file":"https://cs110032000e3121978.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cloud-shell-storage-southeastasia/providers/Microsoft.Storage/storageAccounts/cs11003200127365c47","name":"cs11003200127365c47","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-03-25T03:10:52.6098894Z","key2":"2021-03-25T03:10:52.6098894Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-25T03:10:52.6098894Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-25T03:10:52.6098894Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-03-25T03:10:52.5318146Z","primaryEndpoints":{"dfs":"https://cs11003200127365c47.dfs.core.windows.net/","web":"https://cs11003200127365c47.z23.web.core.windows.net/","blob":"https://cs11003200127365c47.blob.core.windows.net/","queue":"https://cs11003200127365c47.queue.core.windows.net/","table":"https://cs11003200127365c47.table.core.windows.net/","file":"https://cs11003200127365c47.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cloud-shell-storage-southeastasia/providers/Microsoft.Storage/storageAccounts/cs1100320012c36c452","name":"cs1100320012c36c452","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-04-09T08:04:25.5979407Z","key2":"2021-04-09T08:04:25.5979407Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-09T08:04:25.5979407Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-09T08:04:25.5979407Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-09T08:04:25.5198295Z","primaryEndpoints":{"dfs":"https://cs1100320012c36c452.dfs.core.windows.net/","web":"https://cs1100320012c36c452.z23.web.core.windows.net/","blob":"https://cs1100320012c36c452.blob.core.windows.net/","queue":"https://cs1100320012c36c452.queue.core.windows.net/","table":"https://cs1100320012c36c452.table.core.windows.net/","file":"https://cs1100320012c36c452.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jiasli-cli-dev/providers/Microsoft.Storage/storageAccounts/jlst","name":"jlst","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"allowSharedKeyAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-12-31T03:05:24.8023719Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-12-31T03:05:24.8023719Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-12-31T03:05:24.7086186Z","primaryEndpoints":{"dfs":"https://jlst.dfs.core.windows.net/","web":"https://jlst.z23.web.core.windows.net/","blob":"https://jlst.blob.core.windows.net/","queue":"https://jlst.queue.core.windows.net/","table":"https://jlst.table.core.windows.net/","file":"https://jlst.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jiasli-cli-dev/providers/Microsoft.Storage/storageAccounts/jlstcs","name":"jlstcs","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-13T06:39:02.4278678Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-13T06:39:02.4278678Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-10-13T06:39:02.3497160Z","primaryEndpoints":{"dfs":"https://jlstcs.dfs.core.windows.net/","web":"https://jlstcs.z23.web.core.windows.net/","blob":"https://jlstcs.blob.core.windows.net/","queue":"https://jlstcs.queue.core.windows.net/","table":"https://jlstcs.table.core.windows.net/","file":"https://jlstcs.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Storage/storageAccounts/qianwensdiag","name":"qianwensdiag","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-04T07:17:09.1138103Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-04T07:17:09.1138103Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-02-04T07:17:09.0514178Z","primaryEndpoints":{"blob":"https://qianwensdiag.blob.core.windows.net/","queue":"https://qianwensdiag.queue.core.windows.net/","table":"https://qianwensdiag.table.core.windows.net/","file":"https://qianwensdiag.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhoxing-test/providers/Microsoft.Storage/storageAccounts/store6472qnxl3vv5o","name":"store6472qnxl3vv5o","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{"project":"Digital + Platform","env":"CI"},"properties":{"keyCreationTime":{"key1":"2021-04-29T09:18:42.5385370Z","key2":"2021-04-29T09:18:42.5385370Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-29T09:18:42.5385370Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-29T09:18:42.5385370Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-29T09:18:42.4447545Z","primaryEndpoints":{"blob":"https://store6472qnxl3vv5o.blob.core.windows.net/","queue":"https://store6472qnxl3vv5o.queue.core.windows.net/","table":"https://store6472qnxl3vv5o.table.core.windows.net/","file":"https://store6472qnxl3vv5o.file.core.windows.net/"},"primaryLocation":"southcentralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/extmigrate","name":"extmigrate","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-16T08:26:10.6796218Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-16T08:26:10.6796218Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-16T08:26:10.5858998Z","primaryEndpoints":{"blob":"https://extmigrate.blob.core.windows.net/","queue":"https://extmigrate.queue.core.windows.net/","table":"https://extmigrate.table.core.windows.net/","file":"https://extmigrate.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://extmigrate-secondary.blob.core.windows.net/","queue":"https://extmigrate-secondary.queue.core.windows.net/","table":"https://extmigrate-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/fengsa","name":"fengsa","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-05-14T06:47:20.1106748Z","key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-01-06T04:33:22.9379802Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-01-06T04:33:22.9379802Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-01-06T04:33:22.8754625Z","primaryEndpoints":{"dfs":"https://fengsa.dfs.core.windows.net/","web":"https://fengsa.z19.web.core.windows.net/","blob":"https://fengsa.blob.core.windows.net/","queue":"https://fengsa.queue.core.windows.net/","table":"https://fengsa.table.core.windows.net/","file":"https://fengsa.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://fengsa-secondary.dfs.core.windows.net/","web":"https://fengsa-secondary.z19.web.core.windows.net/","blob":"https://fengsa-secondary.blob.core.windows.net/","queue":"https://fengsa-secondary.queue.core.windows.net/","table":"https://fengsa-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/fengtestsa","name":"fengtestsa","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-29T03:10:28.7204355Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-29T03:10:28.7204355Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-10-29T03:10:28.6266623Z","primaryEndpoints":{"dfs":"https://fengtestsa.dfs.core.windows.net/","web":"https://fengtestsa.z19.web.core.windows.net/","blob":"https://fengtestsa.blob.core.windows.net/","queue":"https://fengtestsa.queue.core.windows.net/","table":"https://fengtestsa.table.core.windows.net/","file":"https://fengtestsa.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://fengtestsa-secondary.dfs.core.windows.net/","web":"https://fengtestsa-secondary.z19.web.core.windows.net/","blob":"https://fengtestsa-secondary.blob.core.windows.net/","queue":"https://fengtestsa-secondary.queue.core.windows.net/","table":"https://fengtestsa-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro1","name":"storagesfrepro1","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:07:42.2058942Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:07:42.2058942Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:07:42.1277444Z","primaryEndpoints":{"dfs":"https://storagesfrepro1.dfs.core.windows.net/","web":"https://storagesfrepro1.z19.web.core.windows.net/","blob":"https://storagesfrepro1.blob.core.windows.net/","queue":"https://storagesfrepro1.queue.core.windows.net/","table":"https://storagesfrepro1.table.core.windows.net/","file":"https://storagesfrepro1.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro1-secondary.dfs.core.windows.net/","web":"https://storagesfrepro1-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro1-secondary.blob.core.windows.net/","queue":"https://storagesfrepro1-secondary.queue.core.windows.net/","table":"https://storagesfrepro1-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro10","name":"storagesfrepro10","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:00.8753334Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:00.8753334Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:14:00.7815921Z","primaryEndpoints":{"dfs":"https://storagesfrepro10.dfs.core.windows.net/","web":"https://storagesfrepro10.z19.web.core.windows.net/","blob":"https://storagesfrepro10.blob.core.windows.net/","queue":"https://storagesfrepro10.queue.core.windows.net/","table":"https://storagesfrepro10.table.core.windows.net/","file":"https://storagesfrepro10.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro10-secondary.dfs.core.windows.net/","web":"https://storagesfrepro10-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro10-secondary.blob.core.windows.net/","queue":"https://storagesfrepro10-secondary.queue.core.windows.net/","table":"https://storagesfrepro10-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro11","name":"storagesfrepro11","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:28.9859417Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:28.9859417Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:14:28.8609347Z","primaryEndpoints":{"dfs":"https://storagesfrepro11.dfs.core.windows.net/","web":"https://storagesfrepro11.z19.web.core.windows.net/","blob":"https://storagesfrepro11.blob.core.windows.net/","queue":"https://storagesfrepro11.queue.core.windows.net/","table":"https://storagesfrepro11.table.core.windows.net/","file":"https://storagesfrepro11.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro11-secondary.dfs.core.windows.net/","web":"https://storagesfrepro11-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro11-secondary.blob.core.windows.net/","queue":"https://storagesfrepro11-secondary.queue.core.windows.net/","table":"https://storagesfrepro11-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro12","name":"storagesfrepro12","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:15:15.6785362Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:15:15.6785362Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:15:15.5848345Z","primaryEndpoints":{"dfs":"https://storagesfrepro12.dfs.core.windows.net/","web":"https://storagesfrepro12.z19.web.core.windows.net/","blob":"https://storagesfrepro12.blob.core.windows.net/","queue":"https://storagesfrepro12.queue.core.windows.net/","table":"https://storagesfrepro12.table.core.windows.net/","file":"https://storagesfrepro12.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro12-secondary.dfs.core.windows.net/","web":"https://storagesfrepro12-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro12-secondary.blob.core.windows.net/","queue":"https://storagesfrepro12-secondary.queue.core.windows.net/","table":"https://storagesfrepro12-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro13","name":"storagesfrepro13","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:16:55.7609361Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:16:55.7609361Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:16:55.6671828Z","primaryEndpoints":{"dfs":"https://storagesfrepro13.dfs.core.windows.net/","web":"https://storagesfrepro13.z19.web.core.windows.net/","blob":"https://storagesfrepro13.blob.core.windows.net/","queue":"https://storagesfrepro13.queue.core.windows.net/","table":"https://storagesfrepro13.table.core.windows.net/","file":"https://storagesfrepro13.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro13-secondary.dfs.core.windows.net/","web":"https://storagesfrepro13-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro13-secondary.blob.core.windows.net/","queue":"https://storagesfrepro13-secondary.queue.core.windows.net/","table":"https://storagesfrepro13-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro14","name":"storagesfrepro14","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:17:40.7661469Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:17:40.7661469Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:17:40.6880204Z","primaryEndpoints":{"dfs":"https://storagesfrepro14.dfs.core.windows.net/","web":"https://storagesfrepro14.z19.web.core.windows.net/","blob":"https://storagesfrepro14.blob.core.windows.net/","queue":"https://storagesfrepro14.queue.core.windows.net/","table":"https://storagesfrepro14.table.core.windows.net/","file":"https://storagesfrepro14.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro14-secondary.dfs.core.windows.net/","web":"https://storagesfrepro14-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro14-secondary.blob.core.windows.net/","queue":"https://storagesfrepro14-secondary.queue.core.windows.net/","table":"https://storagesfrepro14-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro15","name":"storagesfrepro15","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:18:52.1812445Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:18:52.1812445Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:18:52.0718543Z","primaryEndpoints":{"dfs":"https://storagesfrepro15.dfs.core.windows.net/","web":"https://storagesfrepro15.z19.web.core.windows.net/","blob":"https://storagesfrepro15.blob.core.windows.net/","queue":"https://storagesfrepro15.queue.core.windows.net/","table":"https://storagesfrepro15.table.core.windows.net/","file":"https://storagesfrepro15.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro15-secondary.dfs.core.windows.net/","web":"https://storagesfrepro15-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro15-secondary.blob.core.windows.net/","queue":"https://storagesfrepro15-secondary.queue.core.windows.net/","table":"https://storagesfrepro15-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro16","name":"storagesfrepro16","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:19:33.1863807Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:19:33.1863807Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:19:33.0770034Z","primaryEndpoints":{"dfs":"https://storagesfrepro16.dfs.core.windows.net/","web":"https://storagesfrepro16.z19.web.core.windows.net/","blob":"https://storagesfrepro16.blob.core.windows.net/","queue":"https://storagesfrepro16.queue.core.windows.net/","table":"https://storagesfrepro16.table.core.windows.net/","file":"https://storagesfrepro16.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro16-secondary.dfs.core.windows.net/","web":"https://storagesfrepro16-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro16-secondary.blob.core.windows.net/","queue":"https://storagesfrepro16-secondary.queue.core.windows.net/","table":"https://storagesfrepro16-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro17","name":"storagesfrepro17","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:23.5553513Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:23.5553513Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:04:23.4771469Z","primaryEndpoints":{"dfs":"https://storagesfrepro17.dfs.core.windows.net/","web":"https://storagesfrepro17.z19.web.core.windows.net/","blob":"https://storagesfrepro17.blob.core.windows.net/","queue":"https://storagesfrepro17.queue.core.windows.net/","table":"https://storagesfrepro17.table.core.windows.net/","file":"https://storagesfrepro17.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro17-secondary.dfs.core.windows.net/","web":"https://storagesfrepro17-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro17-secondary.blob.core.windows.net/","queue":"https://storagesfrepro17-secondary.queue.core.windows.net/","table":"https://storagesfrepro17-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro18","name":"storagesfrepro18","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:53.8320772Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:53.8320772Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:04:53.7383176Z","primaryEndpoints":{"dfs":"https://storagesfrepro18.dfs.core.windows.net/","web":"https://storagesfrepro18.z19.web.core.windows.net/","blob":"https://storagesfrepro18.blob.core.windows.net/","queue":"https://storagesfrepro18.queue.core.windows.net/","table":"https://storagesfrepro18.table.core.windows.net/","file":"https://storagesfrepro18.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro18-secondary.dfs.core.windows.net/","web":"https://storagesfrepro18-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro18-secondary.blob.core.windows.net/","queue":"https://storagesfrepro18-secondary.queue.core.windows.net/","table":"https://storagesfrepro18-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro19","name":"storagesfrepro19","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:05:26.3650238Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:05:26.3650238Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:05:26.2556326Z","primaryEndpoints":{"dfs":"https://storagesfrepro19.dfs.core.windows.net/","web":"https://storagesfrepro19.z19.web.core.windows.net/","blob":"https://storagesfrepro19.blob.core.windows.net/","queue":"https://storagesfrepro19.queue.core.windows.net/","table":"https://storagesfrepro19.table.core.windows.net/","file":"https://storagesfrepro19.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro19-secondary.dfs.core.windows.net/","web":"https://storagesfrepro19-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro19-secondary.blob.core.windows.net/","queue":"https://storagesfrepro19-secondary.queue.core.windows.net/","table":"https://storagesfrepro19-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro2","name":"storagesfrepro2","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:08:45.8498203Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:08:45.8498203Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:08:45.7717196Z","primaryEndpoints":{"dfs":"https://storagesfrepro2.dfs.core.windows.net/","web":"https://storagesfrepro2.z19.web.core.windows.net/","blob":"https://storagesfrepro2.blob.core.windows.net/","queue":"https://storagesfrepro2.queue.core.windows.net/","table":"https://storagesfrepro2.table.core.windows.net/","file":"https://storagesfrepro2.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro2-secondary.dfs.core.windows.net/","web":"https://storagesfrepro2-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro2-secondary.blob.core.windows.net/","queue":"https://storagesfrepro2-secondary.queue.core.windows.net/","table":"https://storagesfrepro2-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro20","name":"storagesfrepro20","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:07.4295934Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:07.4295934Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:06:07.3358422Z","primaryEndpoints":{"dfs":"https://storagesfrepro20.dfs.core.windows.net/","web":"https://storagesfrepro20.z19.web.core.windows.net/","blob":"https://storagesfrepro20.blob.core.windows.net/","queue":"https://storagesfrepro20.queue.core.windows.net/","table":"https://storagesfrepro20.table.core.windows.net/","file":"https://storagesfrepro20.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro20-secondary.dfs.core.windows.net/","web":"https://storagesfrepro20-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro20-secondary.blob.core.windows.net/","queue":"https://storagesfrepro20-secondary.queue.core.windows.net/","table":"https://storagesfrepro20-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro21","name":"storagesfrepro21","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:37.4780251Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:37.4780251Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:06:37.3686460Z","primaryEndpoints":{"dfs":"https://storagesfrepro21.dfs.core.windows.net/","web":"https://storagesfrepro21.z19.web.core.windows.net/","blob":"https://storagesfrepro21.blob.core.windows.net/","queue":"https://storagesfrepro21.queue.core.windows.net/","table":"https://storagesfrepro21.table.core.windows.net/","file":"https://storagesfrepro21.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro21-secondary.dfs.core.windows.net/","web":"https://storagesfrepro21-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro21-secondary.blob.core.windows.net/","queue":"https://storagesfrepro21-secondary.queue.core.windows.net/","table":"https://storagesfrepro21-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro22","name":"storagesfrepro22","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:59.8295391Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:59.8295391Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:06:59.7201581Z","primaryEndpoints":{"dfs":"https://storagesfrepro22.dfs.core.windows.net/","web":"https://storagesfrepro22.z19.web.core.windows.net/","blob":"https://storagesfrepro22.blob.core.windows.net/","queue":"https://storagesfrepro22.queue.core.windows.net/","table":"https://storagesfrepro22.table.core.windows.net/","file":"https://storagesfrepro22.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro22-secondary.dfs.core.windows.net/","web":"https://storagesfrepro22-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro22-secondary.blob.core.windows.net/","queue":"https://storagesfrepro22-secondary.queue.core.windows.net/","table":"https://storagesfrepro22-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro23","name":"storagesfrepro23","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:29.0846619Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:29.0846619Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:07:29.0065050Z","primaryEndpoints":{"dfs":"https://storagesfrepro23.dfs.core.windows.net/","web":"https://storagesfrepro23.z19.web.core.windows.net/","blob":"https://storagesfrepro23.blob.core.windows.net/","queue":"https://storagesfrepro23.queue.core.windows.net/","table":"https://storagesfrepro23.table.core.windows.net/","file":"https://storagesfrepro23.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro23-secondary.dfs.core.windows.net/","web":"https://storagesfrepro23-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro23-secondary.blob.core.windows.net/","queue":"https://storagesfrepro23-secondary.queue.core.windows.net/","table":"https://storagesfrepro23-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro24","name":"storagesfrepro24","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:53.2658712Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:53.2658712Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:07:53.1565651Z","primaryEndpoints":{"dfs":"https://storagesfrepro24.dfs.core.windows.net/","web":"https://storagesfrepro24.z19.web.core.windows.net/","blob":"https://storagesfrepro24.blob.core.windows.net/","queue":"https://storagesfrepro24.queue.core.windows.net/","table":"https://storagesfrepro24.table.core.windows.net/","file":"https://storagesfrepro24.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro24-secondary.dfs.core.windows.net/","web":"https://storagesfrepro24-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro24-secondary.blob.core.windows.net/","queue":"https://storagesfrepro24-secondary.queue.core.windows.net/","table":"https://storagesfrepro24-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro25","name":"storagesfrepro25","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:08:18.7432319Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:08:18.7432319Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:08:18.6338258Z","primaryEndpoints":{"dfs":"https://storagesfrepro25.dfs.core.windows.net/","web":"https://storagesfrepro25.z19.web.core.windows.net/","blob":"https://storagesfrepro25.blob.core.windows.net/","queue":"https://storagesfrepro25.queue.core.windows.net/","table":"https://storagesfrepro25.table.core.windows.net/","file":"https://storagesfrepro25.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro25-secondary.dfs.core.windows.net/","web":"https://storagesfrepro25-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro25-secondary.blob.core.windows.net/","queue":"https://storagesfrepro25-secondary.queue.core.windows.net/","table":"https://storagesfrepro25-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro3","name":"storagesfrepro3","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:19.5698333Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:19.5698333Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:09:19.3510997Z","primaryEndpoints":{"dfs":"https://storagesfrepro3.dfs.core.windows.net/","web":"https://storagesfrepro3.z19.web.core.windows.net/","blob":"https://storagesfrepro3.blob.core.windows.net/","queue":"https://storagesfrepro3.queue.core.windows.net/","table":"https://storagesfrepro3.table.core.windows.net/","file":"https://storagesfrepro3.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro3-secondary.dfs.core.windows.net/","web":"https://storagesfrepro3-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro3-secondary.blob.core.windows.net/","queue":"https://storagesfrepro3-secondary.queue.core.windows.net/","table":"https://storagesfrepro3-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro4","name":"storagesfrepro4","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:54.9930953Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:54.9930953Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:09:54.8993063Z","primaryEndpoints":{"dfs":"https://storagesfrepro4.dfs.core.windows.net/","web":"https://storagesfrepro4.z19.web.core.windows.net/","blob":"https://storagesfrepro4.blob.core.windows.net/","queue":"https://storagesfrepro4.queue.core.windows.net/","table":"https://storagesfrepro4.table.core.windows.net/","file":"https://storagesfrepro4.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro4-secondary.dfs.core.windows.net/","web":"https://storagesfrepro4-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro4-secondary.blob.core.windows.net/","queue":"https://storagesfrepro4-secondary.queue.core.windows.net/","table":"https://storagesfrepro4-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro5","name":"storagesfrepro5","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:10:48.1114395Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:10:48.1114395Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:10:48.0177273Z","primaryEndpoints":{"dfs":"https://storagesfrepro5.dfs.core.windows.net/","web":"https://storagesfrepro5.z19.web.core.windows.net/","blob":"https://storagesfrepro5.blob.core.windows.net/","queue":"https://storagesfrepro5.queue.core.windows.net/","table":"https://storagesfrepro5.table.core.windows.net/","file":"https://storagesfrepro5.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro5-secondary.dfs.core.windows.net/","web":"https://storagesfrepro5-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro5-secondary.blob.core.windows.net/","queue":"https://storagesfrepro5-secondary.queue.core.windows.net/","table":"https://storagesfrepro5-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro6","name":"storagesfrepro6","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:11:28.0269117Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:11:28.0269117Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:11:27.9331594Z","primaryEndpoints":{"dfs":"https://storagesfrepro6.dfs.core.windows.net/","web":"https://storagesfrepro6.z19.web.core.windows.net/","blob":"https://storagesfrepro6.blob.core.windows.net/","queue":"https://storagesfrepro6.queue.core.windows.net/","table":"https://storagesfrepro6.table.core.windows.net/","file":"https://storagesfrepro6.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro6-secondary.dfs.core.windows.net/","web":"https://storagesfrepro6-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro6-secondary.blob.core.windows.net/","queue":"https://storagesfrepro6-secondary.queue.core.windows.net/","table":"https://storagesfrepro6-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro7","name":"storagesfrepro7","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:08.7761892Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:08.7761892Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:12:08.6824637Z","primaryEndpoints":{"dfs":"https://storagesfrepro7.dfs.core.windows.net/","web":"https://storagesfrepro7.z19.web.core.windows.net/","blob":"https://storagesfrepro7.blob.core.windows.net/","queue":"https://storagesfrepro7.queue.core.windows.net/","table":"https://storagesfrepro7.table.core.windows.net/","file":"https://storagesfrepro7.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro7-secondary.dfs.core.windows.net/","web":"https://storagesfrepro7-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro7-secondary.blob.core.windows.net/","queue":"https://storagesfrepro7-secondary.queue.core.windows.net/","table":"https://storagesfrepro7-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro8","name":"storagesfrepro8","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:39.5221164Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:39.5221164Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:12:39.4283923Z","primaryEndpoints":{"dfs":"https://storagesfrepro8.dfs.core.windows.net/","web":"https://storagesfrepro8.z19.web.core.windows.net/","blob":"https://storagesfrepro8.blob.core.windows.net/","queue":"https://storagesfrepro8.queue.core.windows.net/","table":"https://storagesfrepro8.table.core.windows.net/","file":"https://storagesfrepro8.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro8-secondary.dfs.core.windows.net/","web":"https://storagesfrepro8-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro8-secondary.blob.core.windows.net/","queue":"https://storagesfrepro8-secondary.queue.core.windows.net/","table":"https://storagesfrepro8-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro9","name":"storagesfrepro9","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:13:18.1628430Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:13:18.1628430Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:13:18.0691096Z","primaryEndpoints":{"dfs":"https://storagesfrepro9.dfs.core.windows.net/","web":"https://storagesfrepro9.z19.web.core.windows.net/","blob":"https://storagesfrepro9.blob.core.windows.net/","queue":"https://storagesfrepro9.queue.core.windows.net/","table":"https://storagesfrepro9.table.core.windows.net/","file":"https://storagesfrepro9.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro9-secondary.dfs.core.windows.net/","web":"https://storagesfrepro9-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro9-secondary.blob.core.windows.net/","queue":"https://storagesfrepro9-secondary.queue.core.windows.net/","table":"https://storagesfrepro9-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/IT_acctestRG-ibt-24_acctest-IBT-0710-2_4ebedb5a-e3b1-4675-aa4c-3c160fe70907/providers/Microsoft.Storage/storageAccounts/6ynst8ytvcms52eviy9cme3e","name":"6ynst8ytvcms52eviy9cme3e","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{"createdby":"azureimagebuilder","magicvalue":"0d819542a3774a2a8709401a7cd09eb8"},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-10T11:43:30.0119558Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-10T11:43:30.0119558Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-07-10T11:43:29.9651518Z","primaryEndpoints":{"blob":"https://6ynst8ytvcms52eviy9cme3e.blob.core.windows.net/","queue":"https://6ynst8ytvcms52eviy9cme3e.queue.core.windows.net/","table":"https://6ynst8ytvcms52eviy9cme3e.table.core.windows.net/","file":"https://6ynst8ytvcms52eviy9cme3e.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000003","name":"clitest000003","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"keyCreationTime":{"key1":"2021-05-17T02:23:37.3756660Z","key2":"2021-05-17T02:23:37.3756660Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-17T02:23:37.3756660Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-17T02:23:37.3756660Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-05-17T02:23:37.2975498Z","primaryEndpoints":{"dfs":"https://clitest000003.dfs.core.windows.net/","web":"https://clitest000003.z5.web.core.windows.net/","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":"westus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yishitest/providers/Microsoft.Storage/storageAccounts/yssaeuap","name":"yssaeuap","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-11-10T03:37:15.2571646Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-11-10T03:37:15.2571646Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-11-10T03:37:15.1871764Z","primaryEndpoints":{"dfs":"https://yssaeuap.dfs.core.windows.net/","web":"https://yssaeuap.z3.web.core.windows.net/","blob":"https://yssaeuap.blob.core.windows.net/","queue":"https://yssaeuap.queue.core.windows.net/","table":"https://yssaeuap.table.core.windows.net/","file":"https://yssaeuap.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available","secondaryLocation":"centraluseuap","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yssaeuap-secondary.dfs.core.windows.net/","web":"https://yssaeuap-secondary.z3.web.core.windows.net/","blob":"https://yssaeuap-secondary.blob.core.windows.net/","queue":"https://yssaeuap-secondary.queue.core.windows.net/","table":"https://yssaeuap-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yishitest/providers/Microsoft.Storage/storageAccounts/yssanew","name":"yssanew","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-11-06T09:18:53.7220848Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-11-06T09:18:53.7220848Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-11-06T09:18:53.6620997Z","primaryEndpoints":{"dfs":"https://yssanew.dfs.core.windows.net/","web":"https://yssanew.z3.web.core.windows.net/","blob":"https://yssanew.blob.core.windows.net/","queue":"https://yssanew.queue.core.windows.net/","table":"https://yssanew.table.core.windows.net/","file":"https://yssanew.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available","secondaryLocation":"centraluseuap","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yssanew-secondary.dfs.core.windows.net/","web":"https://yssanew-secondary.z3.web.core.windows.net/","blob":"https://yssanew-secondary.blob.core.windows.net/","queue":"https://yssanew-secondary.queue.core.windows.net/","table":"https://yssanew-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/zuhdefault","name":"zuhdefault","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-29T06:08:24.0050046Z","key2":"2021-04-29T06:08:24.0050046Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-29T06:08:24.0100198Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-29T06:08:24.0100198Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-29T06:08:23.9249868Z","primaryEndpoints":{"dfs":"https://zuhdefault.dfs.core.windows.net/","web":"https://zuhdefault.z3.web.core.windows.net/","blob":"https://zuhdefault.blob.core.windows.net/","queue":"https://zuhdefault.queue.core.windows.net/","table":"https://zuhdefault.table.core.windows.net/","file":"https://zuhdefault.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available","secondaryLocation":"centraluseuap","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://zuhdefault-secondary.dfs.core.windows.net/","web":"https://zuhdefault-secondary.z3.web.core.windows.net/","blob":"https://zuhdefault-secondary.blob.core.windows.net/","queue":"https://zuhdefault-secondary.queue.core.windows.net/","table":"https://zuhdefault-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/zuhtest","name":"zuhtest","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"identity":{"type":"ManagedServiceIdentity","userAssignedIdentity":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.ManagedIdentity/userAssignedIdentities/zuhid"},"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-14T07:13:45.1503826Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-14T07:13:45.1503826Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Creating","creationTime":"2021-01-14T07:13:45.0603798Z","primaryEndpoints":{"dfs":"https://zuhtest.dfs.core.windows.net/","web":"https://zuhtest.z3.web.core.windows.net/","blob":"https://zuhtest.blob.core.windows.net/","queue":"https://zuhtest.queue.core.windows.net/","table":"https://zuhtest.table.core.windows.net/","file":"https://zuhtest.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available","secondaryLocation":"centraluseuap","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://zuhtest-secondary.dfs.core.windows.net/","web":"https://zuhtest-secondary.z3.web.core.windows.net/","blob":"https://zuhtest-secondary.blob.core.windows.net/","queue":"https://zuhtest-secondary.queue.core.windows.net/","table":"https://zuhtest-secondary.table.core.windows.net/"}}}]}' headers: cache-control: - no-cache content-length: - - '2796' + - '149552' content-type: - application/json; charset=utf-8 date: - - Wed, 07 Apr 2021 03:28:29 GMT + - Mon, 17 May 2021 02:24:07 GMT expires: - '-1' pragma: @@ -297,8 +312,14 @@ interactions: x-content-type-options: - nosniff x-ms-original-request-ids: - - 9536b99c-1238-4cea-8a34-aad193aadc56 - - 4de7e1e9-542d-4493-aeb3-d62df3d90bb5 + - 65cf693a-184b-437a-8ef5-f1f33ae0c09b + - d3c928c7-ea3a-497f-a2dd-da7802c434c2 + - 08646302-4b9c-4533-b589-d9eb876666e3 + - e6649ff6-b709-4271-b842-7e57f8109094 + - 5771a4a6-6a5d-46af-b132-aa120e273668 + - dd9632c0-f09e-482e-b9b8-fe004f8ff3bc + - 0458beb0-9ba4-4a9f-bf42-e9fb23c26d35 + - c8a81694-99f3-4d7e-90c2-2d175d7df1e3 status: code: 200 message: OK @@ -318,21 +339,21 @@ interactions: ParameterSetName: - --account-name --name --permissions --expiry User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/component000002/listKeys?api-version=2021-01-01&$expand=kerb + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2021-04-01&$expand=kerb response: body: - string: '{"keys":[{"keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' + string: '{"keys":[{"creationTime":"2021-05-17T02:23:10.7417244Z","keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"creationTime":"2021-05-17T02:23:10.7417244Z","keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' headers: cache-control: - no-cache content-length: - - '288' + - '380' content-type: - application/json date: - - Wed, 07 Apr 2021 03:28:29 GMT + - Mon, 17 May 2021 02:24:07 GMT expires: - '-1' pragma: @@ -366,21 +387,22 @@ interactions: ParameterSetName: - --account-name --name --permissions --expiry User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/storageAccounts?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/storageAccounts?api-version=2021-04-01 response: body: - string: '{"value":[{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/component000002","name":"component000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-07T03:27:29.0296484Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-07T03:27:29.0296484Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-07T03:27:28.9359255Z","primaryEndpoints":{"dfs":"https://component000002.dfs.core.windows.net/","web":"https://component000002.z22.web.core.windows.net/","blob":"https://component000002.blob.core.windows.net/","queue":"https://component000002.queue.core.windows.net/","table":"https://component000002.table.core.windows.net/","file":"https://component000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/component000003","name":"component000003","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-07T03:27:59.0196782Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-07T03:27:59.0196782Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-07T03:27:58.9415366Z","primaryEndpoints":{"dfs":"https://component000003.dfs.core.windows.net/","web":"https://component000003.z5.web.core.windows.net/","blob":"https://component000003.blob.core.windows.net/","queue":"https://component000003.queue.core.windows.net/","table":"https://component000003.table.core.windows.net/","file":"https://component000003.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available"}}]}' + string: '{"value":[{"sku":{"name":"Standard_RAGZRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-beta/providers/Microsoft.Storage/storageAccounts/azureclibetarelease","name":"azureclibetarelease","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-11T10:32:24.8036511Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-11T10:32:24.8036511Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-06-11T10:32:24.7099044Z","primaryEndpoints":{"dfs":"https://azureclibetarelease.dfs.core.windows.net/","web":"https://azureclibetarelease.z13.web.core.windows.net/","blob":"https://azureclibetarelease.blob.core.windows.net/","queue":"https://azureclibetarelease.queue.core.windows.net/","table":"https://azureclibetarelease.table.core.windows.net/","file":"https://azureclibetarelease.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://azureclibetarelease-secondary.dfs.core.windows.net/","web":"https://azureclibetarelease-secondary.z13.web.core.windows.net/","blob":"https://azureclibetarelease-secondary.blob.core.windows.net/","queue":"https://azureclibetarelease-secondary.queue.core.windows.net/","table":"https://azureclibetarelease-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestresult/providers/Microsoft.Storage/storageAccounts/clitestresultstac","name":"clitestresultstac","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-15T06:20:52.7844389Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-15T06:20:52.7844389Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-07-15T06:20:52.6907255Z","primaryEndpoints":{"dfs":"https://clitestresultstac.dfs.core.windows.net/","web":"https://clitestresultstac.z13.web.core.windows.net/","blob":"https://clitestresultstac.blob.core.windows.net/","queue":"https://clitestresultstac.queue.core.windows.net/","table":"https://clitestresultstac.table.core.windows.net/","file":"https://clitestresultstac.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://clitestresultstac-secondary.dfs.core.windows.net/","web":"https://clitestresultstac-secondary.z13.web.core.windows.net/","blob":"https://clitestresultstac-secondary.blob.core.windows.net/","queue":"https://clitestresultstac-secondary.queue.core.windows.net/","table":"https://clitestresultstac-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fytest/providers/Microsoft.Storage/storageAccounts/fystac","name":"fystac","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-08T03:10:13.4426715Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-08T03:10:13.4426715Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-04-08T03:10:13.3645539Z","primaryEndpoints":{"dfs":"https://fystac.dfs.core.windows.net/","web":"https://fystac.z13.web.core.windows.net/","blob":"https://fystac.blob.core.windows.net/","queue":"https://fystac.queue.core.windows.net/","table":"https://fystac.table.core.windows.net/","file":"https://fystac.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://fystac-secondary.dfs.core.windows.net/","web":"https://fystac-secondary.z13.web.core.windows.net/","blob":"https://fystac-secondary.blob.core.windows.net/","queue":"https://fystac-secondary.queue.core.windows.net/","table":"https://fystac-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jiasli-cli-dev/providers/Microsoft.Storage/storageAccounts/jlwin","name":"jlwin","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-05-12T01:23:36.3068024Z","key2":"2021-05-12T01:23:36.3068024Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"allowSharedKeyAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-12T01:23:36.3068024Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-12T01:23:36.3068024Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-05-12T01:23:36.1974223Z","primaryEndpoints":{"dfs":"https://jlwin.dfs.core.windows.net/","web":"https://jlwin.z13.web.core.windows.net/","blob":"https://jlwin.blob.core.windows.net/","queue":"https://jlwin.queue.core.windows.net/","table":"https://jlwin.table.core.windows.net/","file":"https://jlwin.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://jlwin-secondary.dfs.core.windows.net/","web":"https://jlwin-secondary.z13.web.core.windows.net/","blob":"https://jlwin-secondary.blob.core.windows.net/","queue":"https://jlwin-secondary.queue.core.windows.net/","table":"https://jlwin-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-weidxu/providers/Microsoft.Storage/storageAccounts/lcok2weidxu","name":"lcok2weidxu","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"allowSharedKeyAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-22T03:19:18.1561890Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-22T03:19:18.1561890Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-01-22T03:19:18.0468159Z","primaryEndpoints":{"dfs":"https://lcok2weidxu.dfs.core.windows.net/","web":"https://lcok2weidxu.z13.web.core.windows.net/","blob":"https://lcok2weidxu.blob.core.windows.net/","queue":"https://lcok2weidxu.queue.core.windows.net/","table":"https://lcok2weidxu.table.core.windows.net/","file":"https://lcok2weidxu.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/portal2cli/providers/Microsoft.Storage/storageAccounts/portal2clistorage","name":"portal2clistorage","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-14T07:23:08.8752602Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-14T07:23:08.8752602Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-10-14T07:23:08.7502552Z","primaryEndpoints":{"dfs":"https://portal2clistorage.dfs.core.windows.net/","web":"https://portal2clistorage.z13.web.core.windows.net/","blob":"https://portal2clistorage.blob.core.windows.net/","queue":"https://portal2clistorage.queue.core.windows.net/","table":"https://portal2clistorage.table.core.windows.net/","file":"https://portal2clistorage.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://portal2clistorage-secondary.dfs.core.windows.net/","web":"https://portal2clistorage-secondary.z13.web.core.windows.net/","blob":"https://portal2clistorage-secondary.blob.core.windows.net/","queue":"https://portal2clistorage-secondary.queue.core.windows.net/","table":"https://portal2clistorage-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Storage/storageAccounts/qianwenadls","name":"qianwenadls","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"isHnsEnabled":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-01T10:11:06.0357634Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-01T10:11:06.0357634Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-04-01T10:11:05.9576622Z","primaryEndpoints":{"dfs":"https://qianwenadls.dfs.core.windows.net/","web":"https://qianwenadls.z13.web.core.windows.net/","blob":"https://qianwenadls.blob.core.windows.net/","queue":"https://qianwenadls.queue.core.windows.net/","table":"https://qianwenadls.table.core.windows.net/","file":"https://qianwenadls.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://qianwenadls-secondary.dfs.core.windows.net/","web":"https://qianwenadls-secondary.z13.web.core.windows.net/","blob":"https://qianwenadls-secondary.blob.core.windows.net/","queue":"https://qianwenadls-secondary.queue.core.windows.net/","table":"https://qianwenadls-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Storage/storageAccounts/qianwendev","name":"qianwendev","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Network/virtualNetworks/QIAN/subnets/default","action":"Allow","state":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Network/virtualNetworks/qianwendev/subnets/default","action":"Allow","state":"Succeeded"}],"ipRules":[{"value":"23.45.1.0/24","action":"Allow"},{"value":"23.45.1.1/24","action":"Allow"}],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-12T03:29:28.0084761Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-12T03:29:28.0084761Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-02-12T03:29:27.9459854Z","primaryEndpoints":{"dfs":"https://qianwendev.dfs.core.windows.net/","web":"https://qianwendev.z13.web.core.windows.net/","blob":"https://qianwendev.blob.core.windows.net/","queue":"https://qianwendev.queue.core.windows.net/","table":"https://qianwendev.table.core.windows.net/","file":"https://qianwendev.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://qianwendev-secondary.dfs.core.windows.net/","web":"https://qianwendev-secondary.z13.web.core.windows.net/","blob":"https://qianwendev-secondary.blob.core.windows.net/","queue":"https://qianwendev-secondary.queue.core.windows.net/","table":"https://qianwendev-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Storage/storageAccounts/qianwenhpctarget","name":"qianwenhpctarget","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T07:09:20.3073299Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T07:09:20.3073299Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-06T07:09:20.2291899Z","primaryEndpoints":{"dfs":"https://qianwenhpctarget.dfs.core.windows.net/","web":"https://qianwenhpctarget.z13.web.core.windows.net/","blob":"https://qianwenhpctarget.blob.core.windows.net/","queue":"https://qianwenhpctarget.queue.core.windows.net/","table":"https://qianwenhpctarget.table.core.windows.net/","file":"https://qianwenhpctarget.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://qianwenhpctarget-secondary.dfs.core.windows.net/","web":"https://qianwenhpctarget-secondary.z13.web.core.windows.net/","blob":"https://qianwenhpctarget-secondary.blob.core.windows.net/","queue":"https://qianwenhpctarget-secondary.queue.core.windows.net/","table":"https://qianwenhpctarget-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yishitest/providers/Microsoft.Storage/storageAccounts/ystestpolicy","name":"ystestpolicy","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"sasPolicy":{"sasExpirationPeriod":"12.00:05:25","expirationAction":"Log"},"keyPolicy":{"keyExpirationPeriodInDays":3},"keyCreationTime":{"key1":"2021-04-29T03:24:08.1682761Z","key2":"2021-04-29T03:24:08.1682761Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-29T03:24:08.1682761Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-29T03:24:08.1682761Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-29T03:24:08.0593459Z","primaryEndpoints":{"dfs":"https://ystestpolicy.dfs.core.windows.net/","web":"https://ystestpolicy.z13.web.core.windows.net/","blob":"https://ystestpolicy.blob.core.windows.net/","queue":"https://ystestpolicy.queue.core.windows.net/","table":"https://ystestpolicy.table.core.windows.net/","file":"https://ystestpolicy.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-yueshi/providers/Microsoft.Storage/storageAccounts/yueshi4debug","name":"yueshi4debug","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-09-14T09:43:28.2246331Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-09-14T09:43:28.2246331Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-09-14T09:43:28.1308789Z","primaryEndpoints":{"dfs":"https://yueshi4debug.dfs.core.windows.net/","web":"https://yueshi4debug.z13.web.core.windows.net/","blob":"https://yueshi4debug.blob.core.windows.net/","queue":"https://yueshi4debug.queue.core.windows.net/","table":"https://yueshi4debug.table.core.windows.net/","file":"https://yueshi4debug.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yueshi4debug-secondary.dfs.core.windows.net/","web":"https://yueshi4debug-secondary.z13.web.core.windows.net/","blob":"https://yueshi4debug-secondary.blob.core.windows.net/","queue":"https://yueshi4debug-secondary.queue.core.windows.net/","table":"https://yueshi4debug-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-live-test-rg/providers/Microsoft.Storage/storageAccounts/advisortestsa","name":"advisortestsa","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-29T02:39:47.2953520Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-29T02:39:47.2953520Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-10-29T02:39:47.1860196Z","primaryEndpoints":{"dfs":"https://advisortestsa.dfs.core.windows.net/","web":"https://advisortestsa.z22.web.core.windows.net/","blob":"https://advisortestsa.blob.core.windows.net/","queue":"https://advisortestsa.queue.core.windows.net/","table":"https://advisortestsa.table.core.windows.net/","file":"https://advisortestsa.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://advisortestsa-secondary.dfs.core.windows.net/","web":"https://advisortestsa-secondary.z22.web.core.windows.net/","blob":"https://advisortestsa-secondary.blob.core.windows.net/","queue":"https://advisortestsa-secondary.queue.core.windows.net/","table":"https://advisortestsa-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azure-cli-edge/providers/Microsoft.Storage/storageAccounts/azextensionedge","name":"azextensionedge","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"allowSharedKeyAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-22T08:51:57.7728758Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-22T08:51:57.7728758Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-01-22T08:51:57.6947156Z","primaryEndpoints":{"dfs":"https://azextensionedge.dfs.core.windows.net/","web":"https://azextensionedge.z22.web.core.windows.net/","blob":"https://azextensionedge.blob.core.windows.net/","queue":"https://azextensionedge.queue.core.windows.net/","table":"https://azextensionedge.table.core.windows.net/","file":"https://azextensionedge.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://azextensionedge-secondary.dfs.core.windows.net/","web":"https://azextensionedge-secondary.z22.web.core.windows.net/","blob":"https://azextensionedge-secondary.blob.core.windows.net/","queue":"https://azextensionedge-secondary.queue.core.windows.net/","table":"https://azextensionedge-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azure-cli-edge/providers/Microsoft.Storage/storageAccounts/azurecliedge","name":"azurecliedge","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-13T08:41:36.3326539Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-13T08:41:36.3326539Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-01-13T08:41:36.2389304Z","primaryEndpoints":{"dfs":"https://azurecliedge.dfs.core.windows.net/","web":"https://azurecliedge.z22.web.core.windows.net/","blob":"https://azurecliedge.blob.core.windows.net/","queue":"https://azurecliedge.queue.core.windows.net/","table":"https://azurecliedge.table.core.windows.net/","file":"https://azurecliedge.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","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":{"keyCreationTime":{"key1":"2021-05-17T02:23:10.7417244Z","key2":"2021-05-17T02:23:10.7417244Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-17T02:23:10.7417244Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-17T02:23:10.7417244Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-05-17T02:23:10.6479729Z","primaryEndpoints":{"dfs":"https://clitest000002.dfs.core.windows.net/","web":"https://clitest000002.z22.web.core.windows.net/","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/cli_test_gallery_image_version_vhddmban3xow2tgyly5j6xaruoliqaj443p3brq46idi/providers/Microsoft.Storage/storageAccounts/clitest4ydp57ynxl5tcjktl","name":"clitest4ydp57ynxl5tcjktl","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-21T06:49:12.4084643Z","key2":"2021-04-21T06:49:12.4084643Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-21T06:49:12.4240887Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-21T06:49:12.4240887Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-21T06:49:12.3303684Z","primaryEndpoints":{"blob":"https://clitest4ydp57ynxl5tcjktl.blob.core.windows.net/","queue":"https://clitest4ydp57ynxl5tcjktl.queue.core.windows.net/","table":"https://clitest4ydp57ynxl5tcjktl.table.core.windows.net/","file":"https://clitest4ydp57ynxl5tcjktl.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_gallery_image_version_vhddqxkb6y7azmjc53fhkyr66se7po4i2ve5es2y46av/providers/Microsoft.Storage/storageAccounts/clitestuxrcexs7kgo3dqsiz","name":"clitestuxrcexs7kgo3dqsiz","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-21T07:08:35.7386114Z","key2":"2021-04-21T07:08:35.7386114Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-21T07:08:35.7386114Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-21T07:08:35.7386114Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-21T07:08:35.6448419Z","primaryEndpoints":{"blob":"https://clitestuxrcexs7kgo3dqsiz.blob.core.windows.net/","queue":"https://clitestuxrcexs7kgo3dqsiz.queue.core.windows.net/","table":"https://clitestuxrcexs7kgo3dqsiz.table.core.windows.net/","file":"https://clitestuxrcexs7kgo3dqsiz.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jiasli-cli-dev/providers/Microsoft.Storage/storageAccounts/jlstwu","name":"jlstwu","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-12T06:29:22.9138997Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-12T06:29:22.9138997Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-01-12T06:29:22.8201627Z","primaryEndpoints":{"dfs":"https://jlstwu.dfs.core.windows.net/","web":"https://jlstwu.z22.web.core.windows.net/","blob":"https://jlstwu.blob.core.windows.net/","queue":"https://jlstwu.queue.core.windows.net/","table":"https://jlstwu.table.core.windows.net/","file":"https://jlstwu.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/kairu-persist/providers/Microsoft.Storage/storageAccounts/kairu","name":"kairu","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-13T07:35:19.0950431Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-13T07:35:19.0950431Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-01-13T07:35:18.9856251Z","primaryEndpoints":{"blob":"https://kairu.blob.core.windows.net/","queue":"https://kairu.queue.core.windows.net/","table":"https://kairu.table.core.windows.net/","file":"https://kairu.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-live-test-rg/providers/Microsoft.Storage/storageAccounts/locksa","name":"locksa","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"azureFilesIdentityBasedAuthentication":{"directoryServiceOptions":"None"},"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-29T03:24:17.1371655Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-29T03:24:17.1371655Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-10-29T03:24:17.0434116Z","primaryEndpoints":{"dfs":"https://locksa.dfs.core.windows.net/","web":"https://locksa.z22.web.core.windows.net/","blob":"https://locksa.blob.core.windows.net/","queue":"https://locksa.queue.core.windows.net/","table":"https://locksa.table.core.windows.net/","file":"https://locksa.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://locksa-secondary.dfs.core.windows.net/","web":"https://locksa-secondary.z22.web.core.windows.net/","blob":"https://locksa-secondary.blob.core.windows.net/","queue":"https://locksa-secondary.queue.core.windows.net/","table":"https://locksa-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fytest/providers/Microsoft.Storage/storageAccounts/sharedvmextension","name":"sharedvmextension","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-06T03:37:04.8004229Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-06T03:37:04.8004229Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-07-06T03:37:04.7066555Z","primaryEndpoints":{"dfs":"https://sharedvmextension.dfs.core.windows.net/","web":"https://sharedvmextension.z22.web.core.windows.net/","blob":"https://sharedvmextension.blob.core.windows.net/","queue":"https://sharedvmextension.queue.core.windows.net/","table":"https://sharedvmextension.table.core.windows.net/","file":"https://sharedvmextension.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://sharedvmextension-secondary.dfs.core.windows.net/","web":"https://sharedvmextension-secondary.z22.web.core.windows.net/","blob":"https://sharedvmextension-secondary.blob.core.windows.net/","queue":"https://sharedvmextension-secondary.queue.core.windows.net/","table":"https://sharedvmextension-secondary.table.core.windows.net/"}}},{"identity":{"principalId":"c120e453-0fb4-41f4-b9e7-ac280e27992a","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","type":"SystemAssigned"},"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yishitest/providers/Microsoft.Storage/storageAccounts/testcreationtime","name":"testcreationtime","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"sasPolicy":{"sasExpirationPeriod":"2.23:59:59","expirationAction":"Log"},"keyCreationTime":{"key1":"2021-04-08T02:43:57.2406486Z","key2":"2021-04-08T03:30:07.4783308Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-08T02:43:57.2406486Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-08T02:43:57.2406486Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-08T02:43:57.1469079Z","primaryEndpoints":{"dfs":"https://testcreationtime.dfs.core.windows.net/","web":"https://testcreationtime.z22.web.core.windows.net/","blob":"https://testcreationtime.blob.core.windows.net/","queue":"https://testcreationtime.queue.core.windows.net/","table":"https://testcreationtime.table.core.windows.net/","file":"https://testcreationtime.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://testcreationtime-secondary.dfs.core.windows.net/","web":"https://testcreationtime-secondary.z22.web.core.windows.net/","blob":"https://testcreationtime-secondary.blob.core.windows.net/","queue":"https://testcreationtime-secondary.queue.core.windows.net/","table":"https://testcreationtime-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yishitest/providers/Microsoft.Storage/storageAccounts/yssa","name":"yssa","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":"2021-04-08T03:29:15.4919591Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-27T14:55:33.7123620Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-27T14:55:33.7123620Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-10-27T14:55:33.6342573Z","primaryEndpoints":{"dfs":"https://yssa.dfs.core.windows.net/","web":"https://yssa.z22.web.core.windows.net/","blob":"https://yssa.blob.core.windows.net/","queue":"https://yssa.queue.core.windows.net/","table":"https://yssa.table.core.windows.net/","file":"https://yssa.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yssa-secondary.dfs.core.windows.net/","web":"https://yssa-secondary.z22.web.core.windows.net/","blob":"https://yssa-secondary.blob.core.windows.net/","queue":"https://yssa-secondary.queue.core.windows.net/","table":"https://yssa-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yishitest/providers/Microsoft.Storage/storageAccounts/yssaadls","name":"yssaadls","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-03-11T08:16:02.3188031Z","key2":"2021-03-11T08:16:02.3188031Z"},"privateEndpointConnections":[],"isHnsEnabled":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-11T08:16:02.3188031Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-11T08:16:02.3188031Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-03-11T08:16:02.2406559Z","primaryEndpoints":{"dfs":"https://yssaadls.dfs.core.windows.net/","web":"https://yssaadls.z22.web.core.windows.net/","blob":"https://yssaadls.blob.core.windows.net/","queue":"https://yssaadls.queue.core.windows.net/","table":"https://yssaadls.table.core.windows.net/","file":"https://yssaadls.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yssaadls-secondary.dfs.core.windows.net/","web":"https://yssaadls-secondary.z22.web.core.windows.net/","blob":"https://yssaadls-secondary.blob.core.windows.net/","queue":"https://yssaadls-secondary.queue.core.windows.net/","table":"https://yssaadls-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"BlobStorage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yishitest/providers/Microsoft.Storage/storageAccounts/yssatmp","name":"yssatmp","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-02-04T07:19:47.0265181Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-02-04T07:19:47.0265181Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-02-04T07:19:46.9171303Z","primaryEndpoints":{"dfs":"https://yssatmp.dfs.core.windows.net/","blob":"https://yssatmp.blob.core.windows.net/","table":"https://yssatmp.table.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yssatmp-secondary.dfs.core.windows.net/","blob":"https://yssatmp-secondary.blob.core.windows.net/","table":"https://yssatmp-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureSDKTest_reserved/providers/Microsoft.Storage/storageAccounts/azuresdktest","name":"azuresdktest","type":"Microsoft.Storage/storageAccounts","location":"eastasia","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-12T06:32:07.1157877Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-12T06:32:07.1157877Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-08-12T06:32:07.0689199Z","primaryEndpoints":{"dfs":"https://azuresdktest.dfs.core.windows.net/","web":"https://azuresdktest.z7.web.core.windows.net/","blob":"https://azuresdktest.blob.core.windows.net/","queue":"https://azuresdktest.queue.core.windows.net/","table":"https://azuresdktest.table.core.windows.net/","file":"https://azuresdktest.file.core.windows.net/"},"primaryLocation":"eastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rggrglkh7zr7/providers/Microsoft.Storage/storageAccounts/clitest2f63bh43aix4wcnlh","name":"clitest2f63bh43aix4wcnlh","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-22T08:17:38.5541453Z","key2":"2021-04-22T08:17:38.5541453Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:17:38.5541453Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:17:38.5541453Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-22T08:17:38.4760163Z","primaryEndpoints":{"blob":"https://clitest2f63bh43aix4wcnlh.blob.core.windows.net/","queue":"https://clitest2f63bh43aix4wcnlh.queue.core.windows.net/","table":"https://clitest2f63bh43aix4wcnlh.table.core.windows.net/","file":"https://clitest2f63bh43aix4wcnlh.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgh5duq2f6uh/providers/Microsoft.Storage/storageAccounts/clitest2vjedutxs37ymp4ni","name":"clitest2vjedutxs37ymp4ni","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T07:13:21.0424866Z","key2":"2021-04-23T07:13:21.0424866Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:21.0581083Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:21.0581083Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T07:13:20.9643257Z","primaryEndpoints":{"blob":"https://clitest2vjedutxs37ymp4ni.blob.core.windows.net/","queue":"https://clitest2vjedutxs37ymp4ni.queue.core.windows.net/","table":"https://clitest2vjedutxs37ymp4ni.table.core.windows.net/","file":"https://clitest2vjedutxs37ymp4ni.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgl6l3rg6atb/providers/Microsoft.Storage/storageAccounts/clitest4sjmiwke5nz3f67pu","name":"clitest4sjmiwke5nz3f67pu","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-22T08:02:15.3305055Z","key2":"2021-04-22T08:02:15.3305055Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:02:15.3305055Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:02:15.3305055Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-22T08:02:15.2523305Z","primaryEndpoints":{"blob":"https://clitest4sjmiwke5nz3f67pu.blob.core.windows.net/","queue":"https://clitest4sjmiwke5nz3f67pu.queue.core.windows.net/","table":"https://clitest4sjmiwke5nz3f67pu.table.core.windows.net/","file":"https://clitest4sjmiwke5nz3f67pu.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgbbt37xr2le/providers/Microsoft.Storage/storageAccounts/clitest5frikrzhxwryrkfel","name":"clitest5frikrzhxwryrkfel","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-22T08:19:22.9620171Z","key2":"2021-04-22T08:19:22.9620171Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:19:22.9776721Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:19:22.9776721Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-22T08:19:22.8838883Z","primaryEndpoints":{"blob":"https://clitest5frikrzhxwryrkfel.blob.core.windows.net/","queue":"https://clitest5frikrzhxwryrkfel.queue.core.windows.net/","table":"https://clitest5frikrzhxwryrkfel.table.core.windows.net/","file":"https://clitest5frikrzhxwryrkfel.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgrc4sjsrzt4/providers/Microsoft.Storage/storageAccounts/clitest63b5vtkhuf7auho6z","name":"clitest63b5vtkhuf7auho6z","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-22T08:17:38.3198561Z","key2":"2021-04-22T08:17:38.3198561Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:17:38.3198561Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:17:38.3198561Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-22T08:17:38.2416459Z","primaryEndpoints":{"blob":"https://clitest63b5vtkhuf7auho6z.blob.core.windows.net/","queue":"https://clitest63b5vtkhuf7auho6z.queue.core.windows.net/","table":"https://clitest63b5vtkhuf7auho6z.table.core.windows.net/","file":"https://clitest63b5vtkhuf7auho6z.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgekim5ct43n/providers/Microsoft.Storage/storageAccounts/clitest6jusqp4qvczw52pql","name":"clitest6jusqp4qvczw52pql","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-22T08:05:08.7847684Z","key2":"2021-04-22T08:05:08.7847684Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:05:08.8003328Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:05:08.8003328Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-22T08:05:08.7065579Z","primaryEndpoints":{"blob":"https://clitest6jusqp4qvczw52pql.blob.core.windows.net/","queue":"https://clitest6jusqp4qvczw52pql.queue.core.windows.net/","table":"https://clitest6jusqp4qvczw52pql.table.core.windows.net/","file":"https://clitest6jusqp4qvczw52pql.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgu7jwflzo6g/providers/Microsoft.Storage/storageAccounts/clitest6qixwlhm5see7ipqv","name":"clitest6qixwlhm5see7ipqv","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T03:42:54.6967487Z","key2":"2021-04-23T03:42:54.6967487Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T03:42:54.6967487Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T03:42:54.6967487Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T03:42:54.6186031Z","primaryEndpoints":{"blob":"https://clitest6qixwlhm5see7ipqv.blob.core.windows.net/","queue":"https://clitest6qixwlhm5see7ipqv.queue.core.windows.net/","table":"https://clitest6qixwlhm5see7ipqv.table.core.windows.net/","file":"https://clitest6qixwlhm5see7ipqv.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgbbt37xr2le/providers/Microsoft.Storage/storageAccounts/clitest74vl6rwuxl5fbuklw","name":"clitest74vl6rwuxl5fbuklw","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-22T08:17:38.2260082Z","key2":"2021-04-22T08:17:38.2260082Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:17:38.2260082Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:17:38.2260082Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-22T08:17:38.1635154Z","primaryEndpoints":{"blob":"https://clitest74vl6rwuxl5fbuklw.blob.core.windows.net/","queue":"https://clitest74vl6rwuxl5fbuklw.queue.core.windows.net/","table":"https://clitest74vl6rwuxl5fbuklw.table.core.windows.net/","file":"https://clitest74vl6rwuxl5fbuklw.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgekim5ct43n/providers/Microsoft.Storage/storageAccounts/clitestaxzz2w4ay2wruyjs5","name":"clitestaxzz2w4ay2wruyjs5","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-22T08:02:15.6585801Z","key2":"2021-04-22T08:02:15.6585801Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:02:15.6585801Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:02:15.6585801Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-22T08:02:15.5804737Z","primaryEndpoints":{"blob":"https://clitestaxzz2w4ay2wruyjs5.blob.core.windows.net/","queue":"https://clitestaxzz2w4ay2wruyjs5.queue.core.windows.net/","table":"https://clitestaxzz2w4ay2wruyjs5.table.core.windows.net/","file":"https://clitestaxzz2w4ay2wruyjs5.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgiudkrkxpl4/providers/Microsoft.Storage/storageAccounts/clitestbiegaggvgwivkqyyi","name":"clitestbiegaggvgwivkqyyi","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T07:13:20.8705764Z","key2":"2021-04-23T07:13:20.8705764Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:20.8861995Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:20.8861995Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T07:13:20.7925187Z","primaryEndpoints":{"blob":"https://clitestbiegaggvgwivkqyyi.blob.core.windows.net/","queue":"https://clitestbiegaggvgwivkqyyi.queue.core.windows.net/","table":"https://clitestbiegaggvgwivkqyyi.table.core.windows.net/","file":"https://clitestbiegaggvgwivkqyyi.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg46ia57tmnz/providers/Microsoft.Storage/storageAccounts/clitestdlxtp24ycnjl3jui2","name":"clitestdlxtp24ycnjl3jui2","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T03:42:54.3217696Z","key2":"2021-04-23T03:42:54.3217696Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T03:42:54.3217696Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T03:42:54.3217696Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T03:42:54.2436164Z","primaryEndpoints":{"blob":"https://clitestdlxtp24ycnjl3jui2.blob.core.windows.net/","queue":"https://clitestdlxtp24ycnjl3jui2.queue.core.windows.net/","table":"https://clitestdlxtp24ycnjl3jui2.table.core.windows.net/","file":"https://clitestdlxtp24ycnjl3jui2.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgv3m577d7ho/providers/Microsoft.Storage/storageAccounts/clitestej2fvhoj3zogyp5e7","name":"clitestej2fvhoj3zogyp5e7","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T03:42:54.7279926Z","key2":"2021-04-23T03:42:54.7279926Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T03:42:54.7279926Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T03:42:54.7279926Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T03:42:54.6342444Z","primaryEndpoints":{"blob":"https://clitestej2fvhoj3zogyp5e7.blob.core.windows.net/","queue":"https://clitestej2fvhoj3zogyp5e7.queue.core.windows.net/","table":"https://clitestej2fvhoj3zogyp5e7.table.core.windows.net/","file":"https://clitestej2fvhoj3zogyp5e7.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgp6ikwpcsq7/providers/Microsoft.Storage/storageAccounts/clitestggvkyebv5o55dhakj","name":"clitestggvkyebv5o55dhakj","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T07:13:21.2300019Z","key2":"2021-04-23T07:13:21.2300019Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:21.2456239Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:21.2456239Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T07:13:21.1518492Z","primaryEndpoints":{"blob":"https://clitestggvkyebv5o55dhakj.blob.core.windows.net/","queue":"https://clitestggvkyebv5o55dhakj.queue.core.windows.net/","table":"https://clitestggvkyebv5o55dhakj.table.core.windows.net/","file":"https://clitestggvkyebv5o55dhakj.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgn6glpfa25c/providers/Microsoft.Storage/storageAccounts/clitestgt3fjzabc7taya5zo","name":"clitestgt3fjzabc7taya5zo","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T07:13:20.6675009Z","key2":"2021-04-23T07:13:20.6675009Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:20.6831653Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:20.6831653Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T07:13:20.5894204Z","primaryEndpoints":{"blob":"https://clitestgt3fjzabc7taya5zo.blob.core.windows.net/","queue":"https://clitestgt3fjzabc7taya5zo.queue.core.windows.net/","table":"https://clitestgt3fjzabc7taya5zo.table.core.windows.net/","file":"https://clitestgt3fjzabc7taya5zo.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgptzwacrnwa/providers/Microsoft.Storage/storageAccounts/clitestivtrt5tp624n63ast","name":"clitestivtrt5tp624n63ast","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-22T08:17:38.1166795Z","key2":"2021-04-22T08:17:38.1166795Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:17:38.1166795Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:17:38.1166795Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-22T08:17:38.0541529Z","primaryEndpoints":{"blob":"https://clitestivtrt5tp624n63ast.blob.core.windows.net/","queue":"https://clitestivtrt5tp624n63ast.queue.core.windows.net/","table":"https://clitestivtrt5tp624n63ast.table.core.windows.net/","file":"https://clitestivtrt5tp624n63ast.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgdc25pvki6m/providers/Microsoft.Storage/storageAccounts/clitestkxu4ahsqaxv42cyyf","name":"clitestkxu4ahsqaxv42cyyf","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-22T08:02:15.7523496Z","key2":"2021-04-22T08:02:15.7523496Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:02:15.7523496Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:02:15.7523496Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-22T08:02:15.6742355Z","primaryEndpoints":{"blob":"https://clitestkxu4ahsqaxv42cyyf.blob.core.windows.net/","queue":"https://clitestkxu4ahsqaxv42cyyf.queue.core.windows.net/","table":"https://clitestkxu4ahsqaxv42cyyf.table.core.windows.net/","file":"https://clitestkxu4ahsqaxv42cyyf.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgghkyqf7pb5/providers/Microsoft.Storage/storageAccounts/clitestpuea6vlqwxw6ihiws","name":"clitestpuea6vlqwxw6ihiws","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T07:13:21.0581083Z","key2":"2021-04-23T07:13:21.0581083Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:21.0737014Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:21.0737014Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T07:13:20.9799581Z","primaryEndpoints":{"blob":"https://clitestpuea6vlqwxw6ihiws.blob.core.windows.net/","queue":"https://clitestpuea6vlqwxw6ihiws.queue.core.windows.net/","table":"https://clitestpuea6vlqwxw6ihiws.table.core.windows.net/","file":"https://clitestpuea6vlqwxw6ihiws.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg6i4hl6iakg/providers/Microsoft.Storage/storageAccounts/clitestu3p7a7ib4n4y7gt4m","name":"clitestu3p7a7ib4n4y7gt4m","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-30T01:51:53.0814418Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-30T01:51:53.0814418Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2019-12-30T01:51:53.0189478Z","primaryEndpoints":{"blob":"https://clitestu3p7a7ib4n4y7gt4m.blob.core.windows.net/","queue":"https://clitestu3p7a7ib4n4y7gt4m.queue.core.windows.net/","table":"https://clitestu3p7a7ib4n4y7gt4m.table.core.windows.net/","file":"https://clitestu3p7a7ib4n4y7gt4m.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgu7jwflzo6g/providers/Microsoft.Storage/storageAccounts/clitestwqzjytdeun46rphfd","name":"clitestwqzjytdeun46rphfd","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T03:44:35.3668592Z","key2":"2021-04-23T03:44:35.3668592Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T03:44:35.3668592Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T03:44:35.3668592Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T03:44:35.2887580Z","primaryEndpoints":{"blob":"https://clitestwqzjytdeun46rphfd.blob.core.windows.net/","queue":"https://clitestwqzjytdeun46rphfd.queue.core.windows.net/","table":"https://clitestwqzjytdeun46rphfd.table.core.windows.net/","file":"https://clitestwqzjytdeun46rphfd.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgltfej7yr4u/providers/Microsoft.Storage/storageAccounts/clitestwvsg2uskf4i7vjfto","name":"clitestwvsg2uskf4i7vjfto","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-05-13T07:48:30.9247776Z","key2":"2021-05-13T07:48:30.9247776Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-13T07:48:30.9403727Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-13T07:48:30.9403727Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-05-13T07:48:30.8309682Z","primaryEndpoints":{"blob":"https://clitestwvsg2uskf4i7vjfto.blob.core.windows.net/","queue":"https://clitestwvsg2uskf4i7vjfto.queue.core.windows.net/","table":"https://clitestwvsg2uskf4i7vjfto.table.core.windows.net/","file":"https://clitestwvsg2uskf4i7vjfto.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgzjznhcqaoh/providers/Microsoft.Storage/storageAccounts/clitestwznnmnfot33xjztmk","name":"clitestwznnmnfot33xjztmk","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T07:13:20.7299628Z","key2":"2021-04-23T07:13:20.7299628Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:20.7456181Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:20.7456181Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T07:13:20.6518776Z","primaryEndpoints":{"blob":"https://clitestwznnmnfot33xjztmk.blob.core.windows.net/","queue":"https://clitestwznnmnfot33xjztmk.queue.core.windows.net/","table":"https://clitestwznnmnfot33xjztmk.table.core.windows.net/","file":"https://clitestwznnmnfot33xjztmk.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgovptfsocfg/providers/Microsoft.Storage/storageAccounts/clitestz72bbbbv2cio2pmom","name":"clitestz72bbbbv2cio2pmom","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T07:13:21.0112600Z","key2":"2021-04-23T07:13:21.0112600Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:21.0268549Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:21.0268549Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T07:13:20.9330720Z","primaryEndpoints":{"blob":"https://clitestz72bbbbv2cio2pmom.blob.core.windows.net/","queue":"https://clitestz72bbbbv2cio2pmom.queue.core.windows.net/","table":"https://clitestz72bbbbv2cio2pmom.table.core.windows.net/","file":"https://clitestz72bbbbv2cio2pmom.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgxp7uwuibs5/providers/Microsoft.Storage/storageAccounts/clitestzrwidkqplnw3jmz4z","name":"clitestzrwidkqplnw3jmz4z","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T07:13:20.6831653Z","key2":"2021-04-23T07:13:20.6831653Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:20.6987004Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:20.6987004Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T07:13:20.6049571Z","primaryEndpoints":{"blob":"https://clitestzrwidkqplnw3jmz4z.blob.core.windows.net/","queue":"https://clitestzrwidkqplnw3jmz4z.queue.core.windows.net/","table":"https://clitestzrwidkqplnw3jmz4z.table.core.windows.net/","file":"https://clitestzrwidkqplnw3jmz4z.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cloud-shell-storage-southeastasia/providers/Microsoft.Storage/storageAccounts/cs1100320004dd89524","name":"cs1100320004dd89524","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-03-26T05:48:15.7013062Z","key2":"2021-03-26T05:48:15.7013062Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-26T05:48:15.7169621Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-26T05:48:15.7169621Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-03-26T05:48:15.6545059Z","primaryEndpoints":{"dfs":"https://cs1100320004dd89524.dfs.core.windows.net/","web":"https://cs1100320004dd89524.z23.web.core.windows.net/","blob":"https://cs1100320004dd89524.blob.core.windows.net/","queue":"https://cs1100320004dd89524.queue.core.windows.net/","table":"https://cs1100320004dd89524.table.core.windows.net/","file":"https://cs1100320004dd89524.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureSDKTest_reserved/providers/Microsoft.Storage/storageAccounts/cs1100320007de01867","name":"cs1100320007de01867","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-09-25T03:24:00.9959166Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-09-25T03:24:00.9959166Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-09-25T03:24:00.9490326Z","primaryEndpoints":{"dfs":"https://cs1100320007de01867.dfs.core.windows.net/","web":"https://cs1100320007de01867.z23.web.core.windows.net/","blob":"https://cs1100320007de01867.blob.core.windows.net/","queue":"https://cs1100320007de01867.queue.core.windows.net/","table":"https://cs1100320007de01867.table.core.windows.net/","file":"https://cs1100320007de01867.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cloud-shell-storage-southeastasia/providers/Microsoft.Storage/storageAccounts/cs1100320008debd5bc","name":"cs1100320008debd5bc","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-03-17T07:12:44.1132341Z","key2":"2021-03-17T07:12:44.1132341Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-17T07:12:44.1132341Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-17T07:12:44.1132341Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-03-17T07:12:44.0351358Z","primaryEndpoints":{"dfs":"https://cs1100320008debd5bc.dfs.core.windows.net/","web":"https://cs1100320008debd5bc.z23.web.core.windows.net/","blob":"https://cs1100320008debd5bc.blob.core.windows.net/","queue":"https://cs1100320008debd5bc.queue.core.windows.net/","table":"https://cs1100320008debd5bc.table.core.windows.net/","file":"https://cs1100320008debd5bc.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cloud-shell-storage-southeastasia/providers/Microsoft.Storage/storageAccounts/cs11003200092fe0771","name":"cs11003200092fe0771","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-03-23T07:08:51.1436686Z","key2":"2021-03-23T07:08:51.1436686Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-23T07:08:51.1593202Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-23T07:08:51.1593202Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-03-23T07:08:51.0811120Z","primaryEndpoints":{"dfs":"https://cs11003200092fe0771.dfs.core.windows.net/","web":"https://cs11003200092fe0771.z23.web.core.windows.net/","blob":"https://cs11003200092fe0771.blob.core.windows.net/","queue":"https://cs11003200092fe0771.queue.core.windows.net/","table":"https://cs11003200092fe0771.table.core.windows.net/","file":"https://cs11003200092fe0771.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cloud-shell-storage-southeastasia/providers/Microsoft.Storage/storageAccounts/cs110032000b6f3c90c","name":"cs110032000b6f3c90c","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-05-06T05:28:23.2493456Z","key2":"2021-05-06T05:28:23.2493456Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-06T05:28:23.2493456Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-06T05:28:23.2493456Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-05-06T05:28:23.1868245Z","primaryEndpoints":{"dfs":"https://cs110032000b6f3c90c.dfs.core.windows.net/","web":"https://cs110032000b6f3c90c.z23.web.core.windows.net/","blob":"https://cs110032000b6f3c90c.blob.core.windows.net/","queue":"https://cs110032000b6f3c90c.queue.core.windows.net/","table":"https://cs110032000b6f3c90c.table.core.windows.net/","file":"https://cs110032000b6f3c90c.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cloud-shell-storage-southeastasia/providers/Microsoft.Storage/storageAccounts/cs110032000c31bae71","name":"cs110032000c31bae71","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-04-15T06:39:35.4649198Z","key2":"2021-04-15T06:39:35.4649198Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-15T06:39:35.4649198Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-15T06:39:35.4649198Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-15T06:39:35.4180004Z","primaryEndpoints":{"dfs":"https://cs110032000c31bae71.dfs.core.windows.net/","web":"https://cs110032000c31bae71.z23.web.core.windows.net/","blob":"https://cs110032000c31bae71.blob.core.windows.net/","queue":"https://cs110032000c31bae71.queue.core.windows.net/","table":"https://cs110032000c31bae71.table.core.windows.net/","file":"https://cs110032000c31bae71.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureSDKTest_reserved/providers/Microsoft.Storage/storageAccounts/cs110032000ca62af00","name":"cs110032000ca62af00","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-09-22T02:06:18.4998653Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-09-22T02:06:18.4998653Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-09-22T02:06:18.4217109Z","primaryEndpoints":{"dfs":"https://cs110032000ca62af00.dfs.core.windows.net/","web":"https://cs110032000ca62af00.z23.web.core.windows.net/","blob":"https://cs110032000ca62af00.blob.core.windows.net/","queue":"https://cs110032000ca62af00.queue.core.windows.net/","table":"https://cs110032000ca62af00.table.core.windows.net/","file":"https://cs110032000ca62af00.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cloud-shell-storage-southeastasia/providers/Microsoft.Storage/storageAccounts/cs110032000e3121978","name":"cs110032000e3121978","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-04-25T07:26:43.6124221Z","key2":"2021-04-25T07:26:43.6124221Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-25T07:26:43.6124221Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-25T07:26:43.6124221Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-25T07:26:43.5343583Z","primaryEndpoints":{"dfs":"https://cs110032000e3121978.dfs.core.windows.net/","web":"https://cs110032000e3121978.z23.web.core.windows.net/","blob":"https://cs110032000e3121978.blob.core.windows.net/","queue":"https://cs110032000e3121978.queue.core.windows.net/","table":"https://cs110032000e3121978.table.core.windows.net/","file":"https://cs110032000e3121978.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cloud-shell-storage-southeastasia/providers/Microsoft.Storage/storageAccounts/cs11003200127365c47","name":"cs11003200127365c47","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-03-25T03:10:52.6098894Z","key2":"2021-03-25T03:10:52.6098894Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-25T03:10:52.6098894Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-25T03:10:52.6098894Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-03-25T03:10:52.5318146Z","primaryEndpoints":{"dfs":"https://cs11003200127365c47.dfs.core.windows.net/","web":"https://cs11003200127365c47.z23.web.core.windows.net/","blob":"https://cs11003200127365c47.blob.core.windows.net/","queue":"https://cs11003200127365c47.queue.core.windows.net/","table":"https://cs11003200127365c47.table.core.windows.net/","file":"https://cs11003200127365c47.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cloud-shell-storage-southeastasia/providers/Microsoft.Storage/storageAccounts/cs1100320012c36c452","name":"cs1100320012c36c452","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-04-09T08:04:25.5979407Z","key2":"2021-04-09T08:04:25.5979407Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-09T08:04:25.5979407Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-09T08:04:25.5979407Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-09T08:04:25.5198295Z","primaryEndpoints":{"dfs":"https://cs1100320012c36c452.dfs.core.windows.net/","web":"https://cs1100320012c36c452.z23.web.core.windows.net/","blob":"https://cs1100320012c36c452.blob.core.windows.net/","queue":"https://cs1100320012c36c452.queue.core.windows.net/","table":"https://cs1100320012c36c452.table.core.windows.net/","file":"https://cs1100320012c36c452.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jiasli-cli-dev/providers/Microsoft.Storage/storageAccounts/jlst","name":"jlst","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"allowSharedKeyAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-12-31T03:05:24.8023719Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-12-31T03:05:24.8023719Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-12-31T03:05:24.7086186Z","primaryEndpoints":{"dfs":"https://jlst.dfs.core.windows.net/","web":"https://jlst.z23.web.core.windows.net/","blob":"https://jlst.blob.core.windows.net/","queue":"https://jlst.queue.core.windows.net/","table":"https://jlst.table.core.windows.net/","file":"https://jlst.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jiasli-cli-dev/providers/Microsoft.Storage/storageAccounts/jlstcs","name":"jlstcs","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-13T06:39:02.4278678Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-13T06:39:02.4278678Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-10-13T06:39:02.3497160Z","primaryEndpoints":{"dfs":"https://jlstcs.dfs.core.windows.net/","web":"https://jlstcs.z23.web.core.windows.net/","blob":"https://jlstcs.blob.core.windows.net/","queue":"https://jlstcs.queue.core.windows.net/","table":"https://jlstcs.table.core.windows.net/","file":"https://jlstcs.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Storage/storageAccounts/qianwensdiag","name":"qianwensdiag","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-04T07:17:09.1138103Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-04T07:17:09.1138103Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-02-04T07:17:09.0514178Z","primaryEndpoints":{"blob":"https://qianwensdiag.blob.core.windows.net/","queue":"https://qianwensdiag.queue.core.windows.net/","table":"https://qianwensdiag.table.core.windows.net/","file":"https://qianwensdiag.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhoxing-test/providers/Microsoft.Storage/storageAccounts/store6472qnxl3vv5o","name":"store6472qnxl3vv5o","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{"project":"Digital + Platform","env":"CI"},"properties":{"keyCreationTime":{"key1":"2021-04-29T09:18:42.5385370Z","key2":"2021-04-29T09:18:42.5385370Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-29T09:18:42.5385370Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-29T09:18:42.5385370Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-29T09:18:42.4447545Z","primaryEndpoints":{"blob":"https://store6472qnxl3vv5o.blob.core.windows.net/","queue":"https://store6472qnxl3vv5o.queue.core.windows.net/","table":"https://store6472qnxl3vv5o.table.core.windows.net/","file":"https://store6472qnxl3vv5o.file.core.windows.net/"},"primaryLocation":"southcentralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/extmigrate","name":"extmigrate","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-16T08:26:10.6796218Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-16T08:26:10.6796218Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-16T08:26:10.5858998Z","primaryEndpoints":{"blob":"https://extmigrate.blob.core.windows.net/","queue":"https://extmigrate.queue.core.windows.net/","table":"https://extmigrate.table.core.windows.net/","file":"https://extmigrate.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://extmigrate-secondary.blob.core.windows.net/","queue":"https://extmigrate-secondary.queue.core.windows.net/","table":"https://extmigrate-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/fengsa","name":"fengsa","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-05-14T06:47:20.1106748Z","key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-01-06T04:33:22.9379802Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-01-06T04:33:22.9379802Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-01-06T04:33:22.8754625Z","primaryEndpoints":{"dfs":"https://fengsa.dfs.core.windows.net/","web":"https://fengsa.z19.web.core.windows.net/","blob":"https://fengsa.blob.core.windows.net/","queue":"https://fengsa.queue.core.windows.net/","table":"https://fengsa.table.core.windows.net/","file":"https://fengsa.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://fengsa-secondary.dfs.core.windows.net/","web":"https://fengsa-secondary.z19.web.core.windows.net/","blob":"https://fengsa-secondary.blob.core.windows.net/","queue":"https://fengsa-secondary.queue.core.windows.net/","table":"https://fengsa-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/fengtestsa","name":"fengtestsa","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-29T03:10:28.7204355Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-29T03:10:28.7204355Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-10-29T03:10:28.6266623Z","primaryEndpoints":{"dfs":"https://fengtestsa.dfs.core.windows.net/","web":"https://fengtestsa.z19.web.core.windows.net/","blob":"https://fengtestsa.blob.core.windows.net/","queue":"https://fengtestsa.queue.core.windows.net/","table":"https://fengtestsa.table.core.windows.net/","file":"https://fengtestsa.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://fengtestsa-secondary.dfs.core.windows.net/","web":"https://fengtestsa-secondary.z19.web.core.windows.net/","blob":"https://fengtestsa-secondary.blob.core.windows.net/","queue":"https://fengtestsa-secondary.queue.core.windows.net/","table":"https://fengtestsa-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro1","name":"storagesfrepro1","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:07:42.2058942Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:07:42.2058942Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:07:42.1277444Z","primaryEndpoints":{"dfs":"https://storagesfrepro1.dfs.core.windows.net/","web":"https://storagesfrepro1.z19.web.core.windows.net/","blob":"https://storagesfrepro1.blob.core.windows.net/","queue":"https://storagesfrepro1.queue.core.windows.net/","table":"https://storagesfrepro1.table.core.windows.net/","file":"https://storagesfrepro1.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro1-secondary.dfs.core.windows.net/","web":"https://storagesfrepro1-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro1-secondary.blob.core.windows.net/","queue":"https://storagesfrepro1-secondary.queue.core.windows.net/","table":"https://storagesfrepro1-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro10","name":"storagesfrepro10","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:00.8753334Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:00.8753334Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:14:00.7815921Z","primaryEndpoints":{"dfs":"https://storagesfrepro10.dfs.core.windows.net/","web":"https://storagesfrepro10.z19.web.core.windows.net/","blob":"https://storagesfrepro10.blob.core.windows.net/","queue":"https://storagesfrepro10.queue.core.windows.net/","table":"https://storagesfrepro10.table.core.windows.net/","file":"https://storagesfrepro10.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro10-secondary.dfs.core.windows.net/","web":"https://storagesfrepro10-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro10-secondary.blob.core.windows.net/","queue":"https://storagesfrepro10-secondary.queue.core.windows.net/","table":"https://storagesfrepro10-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro11","name":"storagesfrepro11","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:28.9859417Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:28.9859417Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:14:28.8609347Z","primaryEndpoints":{"dfs":"https://storagesfrepro11.dfs.core.windows.net/","web":"https://storagesfrepro11.z19.web.core.windows.net/","blob":"https://storagesfrepro11.blob.core.windows.net/","queue":"https://storagesfrepro11.queue.core.windows.net/","table":"https://storagesfrepro11.table.core.windows.net/","file":"https://storagesfrepro11.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro11-secondary.dfs.core.windows.net/","web":"https://storagesfrepro11-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro11-secondary.blob.core.windows.net/","queue":"https://storagesfrepro11-secondary.queue.core.windows.net/","table":"https://storagesfrepro11-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro12","name":"storagesfrepro12","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:15:15.6785362Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:15:15.6785362Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:15:15.5848345Z","primaryEndpoints":{"dfs":"https://storagesfrepro12.dfs.core.windows.net/","web":"https://storagesfrepro12.z19.web.core.windows.net/","blob":"https://storagesfrepro12.blob.core.windows.net/","queue":"https://storagesfrepro12.queue.core.windows.net/","table":"https://storagesfrepro12.table.core.windows.net/","file":"https://storagesfrepro12.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro12-secondary.dfs.core.windows.net/","web":"https://storagesfrepro12-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro12-secondary.blob.core.windows.net/","queue":"https://storagesfrepro12-secondary.queue.core.windows.net/","table":"https://storagesfrepro12-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro13","name":"storagesfrepro13","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:16:55.7609361Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:16:55.7609361Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:16:55.6671828Z","primaryEndpoints":{"dfs":"https://storagesfrepro13.dfs.core.windows.net/","web":"https://storagesfrepro13.z19.web.core.windows.net/","blob":"https://storagesfrepro13.blob.core.windows.net/","queue":"https://storagesfrepro13.queue.core.windows.net/","table":"https://storagesfrepro13.table.core.windows.net/","file":"https://storagesfrepro13.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro13-secondary.dfs.core.windows.net/","web":"https://storagesfrepro13-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro13-secondary.blob.core.windows.net/","queue":"https://storagesfrepro13-secondary.queue.core.windows.net/","table":"https://storagesfrepro13-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro14","name":"storagesfrepro14","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:17:40.7661469Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:17:40.7661469Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:17:40.6880204Z","primaryEndpoints":{"dfs":"https://storagesfrepro14.dfs.core.windows.net/","web":"https://storagesfrepro14.z19.web.core.windows.net/","blob":"https://storagesfrepro14.blob.core.windows.net/","queue":"https://storagesfrepro14.queue.core.windows.net/","table":"https://storagesfrepro14.table.core.windows.net/","file":"https://storagesfrepro14.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro14-secondary.dfs.core.windows.net/","web":"https://storagesfrepro14-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro14-secondary.blob.core.windows.net/","queue":"https://storagesfrepro14-secondary.queue.core.windows.net/","table":"https://storagesfrepro14-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro15","name":"storagesfrepro15","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:18:52.1812445Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:18:52.1812445Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:18:52.0718543Z","primaryEndpoints":{"dfs":"https://storagesfrepro15.dfs.core.windows.net/","web":"https://storagesfrepro15.z19.web.core.windows.net/","blob":"https://storagesfrepro15.blob.core.windows.net/","queue":"https://storagesfrepro15.queue.core.windows.net/","table":"https://storagesfrepro15.table.core.windows.net/","file":"https://storagesfrepro15.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro15-secondary.dfs.core.windows.net/","web":"https://storagesfrepro15-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro15-secondary.blob.core.windows.net/","queue":"https://storagesfrepro15-secondary.queue.core.windows.net/","table":"https://storagesfrepro15-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro16","name":"storagesfrepro16","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:19:33.1863807Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:19:33.1863807Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:19:33.0770034Z","primaryEndpoints":{"dfs":"https://storagesfrepro16.dfs.core.windows.net/","web":"https://storagesfrepro16.z19.web.core.windows.net/","blob":"https://storagesfrepro16.blob.core.windows.net/","queue":"https://storagesfrepro16.queue.core.windows.net/","table":"https://storagesfrepro16.table.core.windows.net/","file":"https://storagesfrepro16.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro16-secondary.dfs.core.windows.net/","web":"https://storagesfrepro16-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro16-secondary.blob.core.windows.net/","queue":"https://storagesfrepro16-secondary.queue.core.windows.net/","table":"https://storagesfrepro16-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro17","name":"storagesfrepro17","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:23.5553513Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:23.5553513Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:04:23.4771469Z","primaryEndpoints":{"dfs":"https://storagesfrepro17.dfs.core.windows.net/","web":"https://storagesfrepro17.z19.web.core.windows.net/","blob":"https://storagesfrepro17.blob.core.windows.net/","queue":"https://storagesfrepro17.queue.core.windows.net/","table":"https://storagesfrepro17.table.core.windows.net/","file":"https://storagesfrepro17.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro17-secondary.dfs.core.windows.net/","web":"https://storagesfrepro17-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro17-secondary.blob.core.windows.net/","queue":"https://storagesfrepro17-secondary.queue.core.windows.net/","table":"https://storagesfrepro17-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro18","name":"storagesfrepro18","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:53.8320772Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:53.8320772Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:04:53.7383176Z","primaryEndpoints":{"dfs":"https://storagesfrepro18.dfs.core.windows.net/","web":"https://storagesfrepro18.z19.web.core.windows.net/","blob":"https://storagesfrepro18.blob.core.windows.net/","queue":"https://storagesfrepro18.queue.core.windows.net/","table":"https://storagesfrepro18.table.core.windows.net/","file":"https://storagesfrepro18.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro18-secondary.dfs.core.windows.net/","web":"https://storagesfrepro18-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro18-secondary.blob.core.windows.net/","queue":"https://storagesfrepro18-secondary.queue.core.windows.net/","table":"https://storagesfrepro18-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro19","name":"storagesfrepro19","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:05:26.3650238Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:05:26.3650238Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:05:26.2556326Z","primaryEndpoints":{"dfs":"https://storagesfrepro19.dfs.core.windows.net/","web":"https://storagesfrepro19.z19.web.core.windows.net/","blob":"https://storagesfrepro19.blob.core.windows.net/","queue":"https://storagesfrepro19.queue.core.windows.net/","table":"https://storagesfrepro19.table.core.windows.net/","file":"https://storagesfrepro19.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro19-secondary.dfs.core.windows.net/","web":"https://storagesfrepro19-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro19-secondary.blob.core.windows.net/","queue":"https://storagesfrepro19-secondary.queue.core.windows.net/","table":"https://storagesfrepro19-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro2","name":"storagesfrepro2","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:08:45.8498203Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:08:45.8498203Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:08:45.7717196Z","primaryEndpoints":{"dfs":"https://storagesfrepro2.dfs.core.windows.net/","web":"https://storagesfrepro2.z19.web.core.windows.net/","blob":"https://storagesfrepro2.blob.core.windows.net/","queue":"https://storagesfrepro2.queue.core.windows.net/","table":"https://storagesfrepro2.table.core.windows.net/","file":"https://storagesfrepro2.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro2-secondary.dfs.core.windows.net/","web":"https://storagesfrepro2-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro2-secondary.blob.core.windows.net/","queue":"https://storagesfrepro2-secondary.queue.core.windows.net/","table":"https://storagesfrepro2-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro20","name":"storagesfrepro20","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:07.4295934Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:07.4295934Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:06:07.3358422Z","primaryEndpoints":{"dfs":"https://storagesfrepro20.dfs.core.windows.net/","web":"https://storagesfrepro20.z19.web.core.windows.net/","blob":"https://storagesfrepro20.blob.core.windows.net/","queue":"https://storagesfrepro20.queue.core.windows.net/","table":"https://storagesfrepro20.table.core.windows.net/","file":"https://storagesfrepro20.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro20-secondary.dfs.core.windows.net/","web":"https://storagesfrepro20-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro20-secondary.blob.core.windows.net/","queue":"https://storagesfrepro20-secondary.queue.core.windows.net/","table":"https://storagesfrepro20-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro21","name":"storagesfrepro21","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:37.4780251Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:37.4780251Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:06:37.3686460Z","primaryEndpoints":{"dfs":"https://storagesfrepro21.dfs.core.windows.net/","web":"https://storagesfrepro21.z19.web.core.windows.net/","blob":"https://storagesfrepro21.blob.core.windows.net/","queue":"https://storagesfrepro21.queue.core.windows.net/","table":"https://storagesfrepro21.table.core.windows.net/","file":"https://storagesfrepro21.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro21-secondary.dfs.core.windows.net/","web":"https://storagesfrepro21-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro21-secondary.blob.core.windows.net/","queue":"https://storagesfrepro21-secondary.queue.core.windows.net/","table":"https://storagesfrepro21-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro22","name":"storagesfrepro22","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:59.8295391Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:59.8295391Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:06:59.7201581Z","primaryEndpoints":{"dfs":"https://storagesfrepro22.dfs.core.windows.net/","web":"https://storagesfrepro22.z19.web.core.windows.net/","blob":"https://storagesfrepro22.blob.core.windows.net/","queue":"https://storagesfrepro22.queue.core.windows.net/","table":"https://storagesfrepro22.table.core.windows.net/","file":"https://storagesfrepro22.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro22-secondary.dfs.core.windows.net/","web":"https://storagesfrepro22-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro22-secondary.blob.core.windows.net/","queue":"https://storagesfrepro22-secondary.queue.core.windows.net/","table":"https://storagesfrepro22-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro23","name":"storagesfrepro23","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:29.0846619Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:29.0846619Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:07:29.0065050Z","primaryEndpoints":{"dfs":"https://storagesfrepro23.dfs.core.windows.net/","web":"https://storagesfrepro23.z19.web.core.windows.net/","blob":"https://storagesfrepro23.blob.core.windows.net/","queue":"https://storagesfrepro23.queue.core.windows.net/","table":"https://storagesfrepro23.table.core.windows.net/","file":"https://storagesfrepro23.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro23-secondary.dfs.core.windows.net/","web":"https://storagesfrepro23-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro23-secondary.blob.core.windows.net/","queue":"https://storagesfrepro23-secondary.queue.core.windows.net/","table":"https://storagesfrepro23-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro24","name":"storagesfrepro24","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:53.2658712Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:53.2658712Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:07:53.1565651Z","primaryEndpoints":{"dfs":"https://storagesfrepro24.dfs.core.windows.net/","web":"https://storagesfrepro24.z19.web.core.windows.net/","blob":"https://storagesfrepro24.blob.core.windows.net/","queue":"https://storagesfrepro24.queue.core.windows.net/","table":"https://storagesfrepro24.table.core.windows.net/","file":"https://storagesfrepro24.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro24-secondary.dfs.core.windows.net/","web":"https://storagesfrepro24-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro24-secondary.blob.core.windows.net/","queue":"https://storagesfrepro24-secondary.queue.core.windows.net/","table":"https://storagesfrepro24-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro25","name":"storagesfrepro25","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:08:18.7432319Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:08:18.7432319Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:08:18.6338258Z","primaryEndpoints":{"dfs":"https://storagesfrepro25.dfs.core.windows.net/","web":"https://storagesfrepro25.z19.web.core.windows.net/","blob":"https://storagesfrepro25.blob.core.windows.net/","queue":"https://storagesfrepro25.queue.core.windows.net/","table":"https://storagesfrepro25.table.core.windows.net/","file":"https://storagesfrepro25.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro25-secondary.dfs.core.windows.net/","web":"https://storagesfrepro25-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro25-secondary.blob.core.windows.net/","queue":"https://storagesfrepro25-secondary.queue.core.windows.net/","table":"https://storagesfrepro25-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro3","name":"storagesfrepro3","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:19.5698333Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:19.5698333Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:09:19.3510997Z","primaryEndpoints":{"dfs":"https://storagesfrepro3.dfs.core.windows.net/","web":"https://storagesfrepro3.z19.web.core.windows.net/","blob":"https://storagesfrepro3.blob.core.windows.net/","queue":"https://storagesfrepro3.queue.core.windows.net/","table":"https://storagesfrepro3.table.core.windows.net/","file":"https://storagesfrepro3.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro3-secondary.dfs.core.windows.net/","web":"https://storagesfrepro3-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro3-secondary.blob.core.windows.net/","queue":"https://storagesfrepro3-secondary.queue.core.windows.net/","table":"https://storagesfrepro3-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro4","name":"storagesfrepro4","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:54.9930953Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:54.9930953Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:09:54.8993063Z","primaryEndpoints":{"dfs":"https://storagesfrepro4.dfs.core.windows.net/","web":"https://storagesfrepro4.z19.web.core.windows.net/","blob":"https://storagesfrepro4.blob.core.windows.net/","queue":"https://storagesfrepro4.queue.core.windows.net/","table":"https://storagesfrepro4.table.core.windows.net/","file":"https://storagesfrepro4.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro4-secondary.dfs.core.windows.net/","web":"https://storagesfrepro4-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro4-secondary.blob.core.windows.net/","queue":"https://storagesfrepro4-secondary.queue.core.windows.net/","table":"https://storagesfrepro4-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro5","name":"storagesfrepro5","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:10:48.1114395Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:10:48.1114395Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:10:48.0177273Z","primaryEndpoints":{"dfs":"https://storagesfrepro5.dfs.core.windows.net/","web":"https://storagesfrepro5.z19.web.core.windows.net/","blob":"https://storagesfrepro5.blob.core.windows.net/","queue":"https://storagesfrepro5.queue.core.windows.net/","table":"https://storagesfrepro5.table.core.windows.net/","file":"https://storagesfrepro5.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro5-secondary.dfs.core.windows.net/","web":"https://storagesfrepro5-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro5-secondary.blob.core.windows.net/","queue":"https://storagesfrepro5-secondary.queue.core.windows.net/","table":"https://storagesfrepro5-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro6","name":"storagesfrepro6","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:11:28.0269117Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:11:28.0269117Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:11:27.9331594Z","primaryEndpoints":{"dfs":"https://storagesfrepro6.dfs.core.windows.net/","web":"https://storagesfrepro6.z19.web.core.windows.net/","blob":"https://storagesfrepro6.blob.core.windows.net/","queue":"https://storagesfrepro6.queue.core.windows.net/","table":"https://storagesfrepro6.table.core.windows.net/","file":"https://storagesfrepro6.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro6-secondary.dfs.core.windows.net/","web":"https://storagesfrepro6-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro6-secondary.blob.core.windows.net/","queue":"https://storagesfrepro6-secondary.queue.core.windows.net/","table":"https://storagesfrepro6-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro7","name":"storagesfrepro7","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:08.7761892Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:08.7761892Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:12:08.6824637Z","primaryEndpoints":{"dfs":"https://storagesfrepro7.dfs.core.windows.net/","web":"https://storagesfrepro7.z19.web.core.windows.net/","blob":"https://storagesfrepro7.blob.core.windows.net/","queue":"https://storagesfrepro7.queue.core.windows.net/","table":"https://storagesfrepro7.table.core.windows.net/","file":"https://storagesfrepro7.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro7-secondary.dfs.core.windows.net/","web":"https://storagesfrepro7-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro7-secondary.blob.core.windows.net/","queue":"https://storagesfrepro7-secondary.queue.core.windows.net/","table":"https://storagesfrepro7-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro8","name":"storagesfrepro8","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:39.5221164Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:39.5221164Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:12:39.4283923Z","primaryEndpoints":{"dfs":"https://storagesfrepro8.dfs.core.windows.net/","web":"https://storagesfrepro8.z19.web.core.windows.net/","blob":"https://storagesfrepro8.blob.core.windows.net/","queue":"https://storagesfrepro8.queue.core.windows.net/","table":"https://storagesfrepro8.table.core.windows.net/","file":"https://storagesfrepro8.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro8-secondary.dfs.core.windows.net/","web":"https://storagesfrepro8-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro8-secondary.blob.core.windows.net/","queue":"https://storagesfrepro8-secondary.queue.core.windows.net/","table":"https://storagesfrepro8-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro9","name":"storagesfrepro9","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:13:18.1628430Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:13:18.1628430Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:13:18.0691096Z","primaryEndpoints":{"dfs":"https://storagesfrepro9.dfs.core.windows.net/","web":"https://storagesfrepro9.z19.web.core.windows.net/","blob":"https://storagesfrepro9.blob.core.windows.net/","queue":"https://storagesfrepro9.queue.core.windows.net/","table":"https://storagesfrepro9.table.core.windows.net/","file":"https://storagesfrepro9.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro9-secondary.dfs.core.windows.net/","web":"https://storagesfrepro9-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro9-secondary.blob.core.windows.net/","queue":"https://storagesfrepro9-secondary.queue.core.windows.net/","table":"https://storagesfrepro9-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/IT_acctestRG-ibt-24_acctest-IBT-0710-2_4ebedb5a-e3b1-4675-aa4c-3c160fe70907/providers/Microsoft.Storage/storageAccounts/6ynst8ytvcms52eviy9cme3e","name":"6ynst8ytvcms52eviy9cme3e","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{"createdby":"azureimagebuilder","magicvalue":"0d819542a3774a2a8709401a7cd09eb8"},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-10T11:43:30.0119558Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-10T11:43:30.0119558Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-07-10T11:43:29.9651518Z","primaryEndpoints":{"blob":"https://6ynst8ytvcms52eviy9cme3e.blob.core.windows.net/","queue":"https://6ynst8ytvcms52eviy9cme3e.queue.core.windows.net/","table":"https://6ynst8ytvcms52eviy9cme3e.table.core.windows.net/","file":"https://6ynst8ytvcms52eviy9cme3e.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000003","name":"clitest000003","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"keyCreationTime":{"key1":"2021-05-17T02:23:37.3756660Z","key2":"2021-05-17T02:23:37.3756660Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-17T02:23:37.3756660Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-17T02:23:37.3756660Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-05-17T02:23:37.2975498Z","primaryEndpoints":{"dfs":"https://clitest000003.dfs.core.windows.net/","web":"https://clitest000003.z5.web.core.windows.net/","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":"westus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yishitest/providers/Microsoft.Storage/storageAccounts/yssaeuap","name":"yssaeuap","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-11-10T03:37:15.2571646Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-11-10T03:37:15.2571646Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-11-10T03:37:15.1871764Z","primaryEndpoints":{"dfs":"https://yssaeuap.dfs.core.windows.net/","web":"https://yssaeuap.z3.web.core.windows.net/","blob":"https://yssaeuap.blob.core.windows.net/","queue":"https://yssaeuap.queue.core.windows.net/","table":"https://yssaeuap.table.core.windows.net/","file":"https://yssaeuap.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available","secondaryLocation":"centraluseuap","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yssaeuap-secondary.dfs.core.windows.net/","web":"https://yssaeuap-secondary.z3.web.core.windows.net/","blob":"https://yssaeuap-secondary.blob.core.windows.net/","queue":"https://yssaeuap-secondary.queue.core.windows.net/","table":"https://yssaeuap-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yishitest/providers/Microsoft.Storage/storageAccounts/yssanew","name":"yssanew","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-11-06T09:18:53.7220848Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-11-06T09:18:53.7220848Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-11-06T09:18:53.6620997Z","primaryEndpoints":{"dfs":"https://yssanew.dfs.core.windows.net/","web":"https://yssanew.z3.web.core.windows.net/","blob":"https://yssanew.blob.core.windows.net/","queue":"https://yssanew.queue.core.windows.net/","table":"https://yssanew.table.core.windows.net/","file":"https://yssanew.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available","secondaryLocation":"centraluseuap","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yssanew-secondary.dfs.core.windows.net/","web":"https://yssanew-secondary.z3.web.core.windows.net/","blob":"https://yssanew-secondary.blob.core.windows.net/","queue":"https://yssanew-secondary.queue.core.windows.net/","table":"https://yssanew-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/zuhdefault","name":"zuhdefault","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-29T06:08:24.0050046Z","key2":"2021-04-29T06:08:24.0050046Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-29T06:08:24.0100198Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-29T06:08:24.0100198Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-29T06:08:23.9249868Z","primaryEndpoints":{"dfs":"https://zuhdefault.dfs.core.windows.net/","web":"https://zuhdefault.z3.web.core.windows.net/","blob":"https://zuhdefault.blob.core.windows.net/","queue":"https://zuhdefault.queue.core.windows.net/","table":"https://zuhdefault.table.core.windows.net/","file":"https://zuhdefault.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available","secondaryLocation":"centraluseuap","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://zuhdefault-secondary.dfs.core.windows.net/","web":"https://zuhdefault-secondary.z3.web.core.windows.net/","blob":"https://zuhdefault-secondary.blob.core.windows.net/","queue":"https://zuhdefault-secondary.queue.core.windows.net/","table":"https://zuhdefault-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/zuhtest","name":"zuhtest","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"identity":{"type":"ManagedServiceIdentity","userAssignedIdentity":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.ManagedIdentity/userAssignedIdentities/zuhid"},"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-14T07:13:45.1503826Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-14T07:13:45.1503826Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Creating","creationTime":"2021-01-14T07:13:45.0603798Z","primaryEndpoints":{"dfs":"https://zuhtest.dfs.core.windows.net/","web":"https://zuhtest.z3.web.core.windows.net/","blob":"https://zuhtest.blob.core.windows.net/","queue":"https://zuhtest.queue.core.windows.net/","table":"https://zuhtest.table.core.windows.net/","file":"https://zuhtest.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available","secondaryLocation":"centraluseuap","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://zuhtest-secondary.dfs.core.windows.net/","web":"https://zuhtest-secondary.z3.web.core.windows.net/","blob":"https://zuhtest-secondary.blob.core.windows.net/","queue":"https://zuhtest-secondary.queue.core.windows.net/","table":"https://zuhtest-secondary.table.core.windows.net/"}}}]}' headers: cache-control: - no-cache content-length: - - '2796' + - '149552' content-type: - application/json; charset=utf-8 date: - - Wed, 07 Apr 2021 03:28:31 GMT + - Mon, 17 May 2021 02:24:09 GMT expires: - '-1' pragma: @@ -392,8 +414,14 @@ interactions: x-content-type-options: - nosniff x-ms-original-request-ids: - - 909e1860-a30f-46f7-a4ac-399083a7e210 - - ff9f1e02-6f5d-4e56-b17b-a1fe38f5c4d3 + - 3deacfde-62fd-430e-a187-07c7ff1c315b + - d1eab0fe-11aa-4c93-922b-f1fe61dbea2b + - 7511d688-d748-4178-ad59-102ffe04a727 + - 4fd7e249-c676-4e92-ab73-3469566386ee + - 6eb2a78b-962a-443d-8071-dffbf48436f3 + - c0b1e49f-3b6b-4b85-b328-119d3b98c19c + - ec43d364-6a33-4c24-b681-2c7d0466e870 + - 86f85067-4ae2-4747-9d9c-f3a9b975cf42 status: code: 200 message: OK @@ -413,21 +441,21 @@ interactions: ParameterSetName: - --account-name --name --permissions --expiry User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/component000003/listKeys?api-version=2021-01-01&$expand=kerb + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000003/listKeys?api-version=2021-04-01&$expand=kerb response: body: - string: '{"keys":[{"keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' + string: '{"keys":[{"creationTime":"2021-05-17T02:23:37.3756660Z","keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"creationTime":"2021-05-17T02:23:37.3756660Z","keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' headers: cache-control: - no-cache content-length: - - '288' + - '380' content-type: - application/json date: - - Wed, 07 Apr 2021 03:28:31 GMT + - Mon, 17 May 2021 02:24:09 GMT expires: - '-1' pragma: @@ -443,7 +471,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' + - '11998' status: code: 200 message: OK @@ -467,13 +495,13 @@ interactions: ParameterSetName: - --app --location --kind -g --application-type --retention-time User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.3 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19043-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/demoApp?api-version=2018-05-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp","name":"demoApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"200235a6-0000-0200-0000-606d26e80000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"369c903d-c854-4700-9859-f5f1352c8ca9","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"12a46aba-e71b-40cb-bba4-05500a411b87","ConnectionString":"InstrumentationKey=12a46aba-e71b-40cb-bba4-05500a411b87;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"demoApp","CreationDate":"2021-04-07T03:28:40.0866983+00:00","TenantId":"92f95d8f-3c67-4124-91c7-8cf07cdbf241","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":120,"Retention":"P120D","IngestionMode":"ApplicationInsights","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp","name":"demoApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"7700748e-0000-0200-0000-60a1d3d20000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"5afb6198-edeb-4d73-81b7-228746f46f27","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"93ae3975-8a52-4b2a-b4f5-887a7fe0ef06","ConnectionString":"InstrumentationKey=93ae3975-8a52-4b2a-b4f5-887a7fe0ef06;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"demoApp","CreationDate":"2021-05-17T02:24:18.6242958+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":120,"Retention":"P120D","IngestionMode":"ApplicationInsights","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' headers: access-control-expose-headers: - Request-Context @@ -484,7 +512,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 07 Apr 2021 03:28:42 GMT + - Mon, 17 May 2021 02:24:20 GMT expires: - '-1' pragma: @@ -502,7 +530,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' x-powered-by: - ASP.NET status: @@ -522,21 +550,22 @@ interactions: ParameterSetName: - -g --app --record-types --dest-account --dest-container --dest-sub-id --dest-sas User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/storageAccounts?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/storageAccounts?api-version=2021-04-01 response: body: - string: '{"value":[{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/component000002","name":"component000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-07T03:27:29.0296484Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-07T03:27:29.0296484Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-07T03:27:28.9359255Z","primaryEndpoints":{"dfs":"https://component000002.dfs.core.windows.net/","web":"https://component000002.z22.web.core.windows.net/","blob":"https://component000002.blob.core.windows.net/","queue":"https://component000002.queue.core.windows.net/","table":"https://component000002.table.core.windows.net/","file":"https://component000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/component000003","name":"component000003","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-07T03:27:59.0196782Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-07T03:27:59.0196782Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-07T03:27:58.9415366Z","primaryEndpoints":{"dfs":"https://component000003.dfs.core.windows.net/","web":"https://component000003.z5.web.core.windows.net/","blob":"https://component000003.blob.core.windows.net/","queue":"https://component000003.queue.core.windows.net/","table":"https://component000003.table.core.windows.net/","file":"https://component000003.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available"}}]}' + string: '{"value":[{"sku":{"name":"Standard_RAGZRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-beta/providers/Microsoft.Storage/storageAccounts/azureclibetarelease","name":"azureclibetarelease","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-11T10:32:24.8036511Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-11T10:32:24.8036511Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-06-11T10:32:24.7099044Z","primaryEndpoints":{"dfs":"https://azureclibetarelease.dfs.core.windows.net/","web":"https://azureclibetarelease.z13.web.core.windows.net/","blob":"https://azureclibetarelease.blob.core.windows.net/","queue":"https://azureclibetarelease.queue.core.windows.net/","table":"https://azureclibetarelease.table.core.windows.net/","file":"https://azureclibetarelease.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://azureclibetarelease-secondary.dfs.core.windows.net/","web":"https://azureclibetarelease-secondary.z13.web.core.windows.net/","blob":"https://azureclibetarelease-secondary.blob.core.windows.net/","queue":"https://azureclibetarelease-secondary.queue.core.windows.net/","table":"https://azureclibetarelease-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestresult/providers/Microsoft.Storage/storageAccounts/clitestresultstac","name":"clitestresultstac","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-15T06:20:52.7844389Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-15T06:20:52.7844389Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-07-15T06:20:52.6907255Z","primaryEndpoints":{"dfs":"https://clitestresultstac.dfs.core.windows.net/","web":"https://clitestresultstac.z13.web.core.windows.net/","blob":"https://clitestresultstac.blob.core.windows.net/","queue":"https://clitestresultstac.queue.core.windows.net/","table":"https://clitestresultstac.table.core.windows.net/","file":"https://clitestresultstac.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://clitestresultstac-secondary.dfs.core.windows.net/","web":"https://clitestresultstac-secondary.z13.web.core.windows.net/","blob":"https://clitestresultstac-secondary.blob.core.windows.net/","queue":"https://clitestresultstac-secondary.queue.core.windows.net/","table":"https://clitestresultstac-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fytest/providers/Microsoft.Storage/storageAccounts/fystac","name":"fystac","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-08T03:10:13.4426715Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-08T03:10:13.4426715Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-04-08T03:10:13.3645539Z","primaryEndpoints":{"dfs":"https://fystac.dfs.core.windows.net/","web":"https://fystac.z13.web.core.windows.net/","blob":"https://fystac.blob.core.windows.net/","queue":"https://fystac.queue.core.windows.net/","table":"https://fystac.table.core.windows.net/","file":"https://fystac.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://fystac-secondary.dfs.core.windows.net/","web":"https://fystac-secondary.z13.web.core.windows.net/","blob":"https://fystac-secondary.blob.core.windows.net/","queue":"https://fystac-secondary.queue.core.windows.net/","table":"https://fystac-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jiasli-cli-dev/providers/Microsoft.Storage/storageAccounts/jlwin","name":"jlwin","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-05-12T01:23:36.3068024Z","key2":"2021-05-12T01:23:36.3068024Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"allowSharedKeyAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-12T01:23:36.3068024Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-12T01:23:36.3068024Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-05-12T01:23:36.1974223Z","primaryEndpoints":{"dfs":"https://jlwin.dfs.core.windows.net/","web":"https://jlwin.z13.web.core.windows.net/","blob":"https://jlwin.blob.core.windows.net/","queue":"https://jlwin.queue.core.windows.net/","table":"https://jlwin.table.core.windows.net/","file":"https://jlwin.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://jlwin-secondary.dfs.core.windows.net/","web":"https://jlwin-secondary.z13.web.core.windows.net/","blob":"https://jlwin-secondary.blob.core.windows.net/","queue":"https://jlwin-secondary.queue.core.windows.net/","table":"https://jlwin-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-weidxu/providers/Microsoft.Storage/storageAccounts/lcok2weidxu","name":"lcok2weidxu","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"allowSharedKeyAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-22T03:19:18.1561890Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-22T03:19:18.1561890Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-01-22T03:19:18.0468159Z","primaryEndpoints":{"dfs":"https://lcok2weidxu.dfs.core.windows.net/","web":"https://lcok2weidxu.z13.web.core.windows.net/","blob":"https://lcok2weidxu.blob.core.windows.net/","queue":"https://lcok2weidxu.queue.core.windows.net/","table":"https://lcok2weidxu.table.core.windows.net/","file":"https://lcok2weidxu.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/portal2cli/providers/Microsoft.Storage/storageAccounts/portal2clistorage","name":"portal2clistorage","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-14T07:23:08.8752602Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-14T07:23:08.8752602Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-10-14T07:23:08.7502552Z","primaryEndpoints":{"dfs":"https://portal2clistorage.dfs.core.windows.net/","web":"https://portal2clistorage.z13.web.core.windows.net/","blob":"https://portal2clistorage.blob.core.windows.net/","queue":"https://portal2clistorage.queue.core.windows.net/","table":"https://portal2clistorage.table.core.windows.net/","file":"https://portal2clistorage.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://portal2clistorage-secondary.dfs.core.windows.net/","web":"https://portal2clistorage-secondary.z13.web.core.windows.net/","blob":"https://portal2clistorage-secondary.blob.core.windows.net/","queue":"https://portal2clistorage-secondary.queue.core.windows.net/","table":"https://portal2clistorage-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Storage/storageAccounts/qianwenadls","name":"qianwenadls","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"isHnsEnabled":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-01T10:11:06.0357634Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-01T10:11:06.0357634Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-04-01T10:11:05.9576622Z","primaryEndpoints":{"dfs":"https://qianwenadls.dfs.core.windows.net/","web":"https://qianwenadls.z13.web.core.windows.net/","blob":"https://qianwenadls.blob.core.windows.net/","queue":"https://qianwenadls.queue.core.windows.net/","table":"https://qianwenadls.table.core.windows.net/","file":"https://qianwenadls.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://qianwenadls-secondary.dfs.core.windows.net/","web":"https://qianwenadls-secondary.z13.web.core.windows.net/","blob":"https://qianwenadls-secondary.blob.core.windows.net/","queue":"https://qianwenadls-secondary.queue.core.windows.net/","table":"https://qianwenadls-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Storage/storageAccounts/qianwendev","name":"qianwendev","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Network/virtualNetworks/QIAN/subnets/default","action":"Allow","state":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Network/virtualNetworks/qianwendev/subnets/default","action":"Allow","state":"Succeeded"}],"ipRules":[{"value":"23.45.1.0/24","action":"Allow"},{"value":"23.45.1.1/24","action":"Allow"}],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-12T03:29:28.0084761Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-12T03:29:28.0084761Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-02-12T03:29:27.9459854Z","primaryEndpoints":{"dfs":"https://qianwendev.dfs.core.windows.net/","web":"https://qianwendev.z13.web.core.windows.net/","blob":"https://qianwendev.blob.core.windows.net/","queue":"https://qianwendev.queue.core.windows.net/","table":"https://qianwendev.table.core.windows.net/","file":"https://qianwendev.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://qianwendev-secondary.dfs.core.windows.net/","web":"https://qianwendev-secondary.z13.web.core.windows.net/","blob":"https://qianwendev-secondary.blob.core.windows.net/","queue":"https://qianwendev-secondary.queue.core.windows.net/","table":"https://qianwendev-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Storage/storageAccounts/qianwenhpctarget","name":"qianwenhpctarget","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T07:09:20.3073299Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T07:09:20.3073299Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-06T07:09:20.2291899Z","primaryEndpoints":{"dfs":"https://qianwenhpctarget.dfs.core.windows.net/","web":"https://qianwenhpctarget.z13.web.core.windows.net/","blob":"https://qianwenhpctarget.blob.core.windows.net/","queue":"https://qianwenhpctarget.queue.core.windows.net/","table":"https://qianwenhpctarget.table.core.windows.net/","file":"https://qianwenhpctarget.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://qianwenhpctarget-secondary.dfs.core.windows.net/","web":"https://qianwenhpctarget-secondary.z13.web.core.windows.net/","blob":"https://qianwenhpctarget-secondary.blob.core.windows.net/","queue":"https://qianwenhpctarget-secondary.queue.core.windows.net/","table":"https://qianwenhpctarget-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yishitest/providers/Microsoft.Storage/storageAccounts/ystestpolicy","name":"ystestpolicy","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"sasPolicy":{"sasExpirationPeriod":"12.00:05:25","expirationAction":"Log"},"keyPolicy":{"keyExpirationPeriodInDays":3},"keyCreationTime":{"key1":"2021-04-29T03:24:08.1682761Z","key2":"2021-04-29T03:24:08.1682761Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-29T03:24:08.1682761Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-29T03:24:08.1682761Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-29T03:24:08.0593459Z","primaryEndpoints":{"dfs":"https://ystestpolicy.dfs.core.windows.net/","web":"https://ystestpolicy.z13.web.core.windows.net/","blob":"https://ystestpolicy.blob.core.windows.net/","queue":"https://ystestpolicy.queue.core.windows.net/","table":"https://ystestpolicy.table.core.windows.net/","file":"https://ystestpolicy.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-yueshi/providers/Microsoft.Storage/storageAccounts/yueshi4debug","name":"yueshi4debug","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-09-14T09:43:28.2246331Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-09-14T09:43:28.2246331Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-09-14T09:43:28.1308789Z","primaryEndpoints":{"dfs":"https://yueshi4debug.dfs.core.windows.net/","web":"https://yueshi4debug.z13.web.core.windows.net/","blob":"https://yueshi4debug.blob.core.windows.net/","queue":"https://yueshi4debug.queue.core.windows.net/","table":"https://yueshi4debug.table.core.windows.net/","file":"https://yueshi4debug.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yueshi4debug-secondary.dfs.core.windows.net/","web":"https://yueshi4debug-secondary.z13.web.core.windows.net/","blob":"https://yueshi4debug-secondary.blob.core.windows.net/","queue":"https://yueshi4debug-secondary.queue.core.windows.net/","table":"https://yueshi4debug-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-live-test-rg/providers/Microsoft.Storage/storageAccounts/advisortestsa","name":"advisortestsa","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-29T02:39:47.2953520Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-29T02:39:47.2953520Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-10-29T02:39:47.1860196Z","primaryEndpoints":{"dfs":"https://advisortestsa.dfs.core.windows.net/","web":"https://advisortestsa.z22.web.core.windows.net/","blob":"https://advisortestsa.blob.core.windows.net/","queue":"https://advisortestsa.queue.core.windows.net/","table":"https://advisortestsa.table.core.windows.net/","file":"https://advisortestsa.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://advisortestsa-secondary.dfs.core.windows.net/","web":"https://advisortestsa-secondary.z22.web.core.windows.net/","blob":"https://advisortestsa-secondary.blob.core.windows.net/","queue":"https://advisortestsa-secondary.queue.core.windows.net/","table":"https://advisortestsa-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azure-cli-edge/providers/Microsoft.Storage/storageAccounts/azextensionedge","name":"azextensionedge","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"allowSharedKeyAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-22T08:51:57.7728758Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-22T08:51:57.7728758Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-01-22T08:51:57.6947156Z","primaryEndpoints":{"dfs":"https://azextensionedge.dfs.core.windows.net/","web":"https://azextensionedge.z22.web.core.windows.net/","blob":"https://azextensionedge.blob.core.windows.net/","queue":"https://azextensionedge.queue.core.windows.net/","table":"https://azextensionedge.table.core.windows.net/","file":"https://azextensionedge.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://azextensionedge-secondary.dfs.core.windows.net/","web":"https://azextensionedge-secondary.z22.web.core.windows.net/","blob":"https://azextensionedge-secondary.blob.core.windows.net/","queue":"https://azextensionedge-secondary.queue.core.windows.net/","table":"https://azextensionedge-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azure-cli-edge/providers/Microsoft.Storage/storageAccounts/azurecliedge","name":"azurecliedge","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-13T08:41:36.3326539Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-13T08:41:36.3326539Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-01-13T08:41:36.2389304Z","primaryEndpoints":{"dfs":"https://azurecliedge.dfs.core.windows.net/","web":"https://azurecliedge.z22.web.core.windows.net/","blob":"https://azurecliedge.blob.core.windows.net/","queue":"https://azurecliedge.queue.core.windows.net/","table":"https://azurecliedge.table.core.windows.net/","file":"https://azurecliedge.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","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":{"keyCreationTime":{"key1":"2021-05-17T02:23:10.7417244Z","key2":"2021-05-17T02:23:10.7417244Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-17T02:23:10.7417244Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-17T02:23:10.7417244Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-05-17T02:23:10.6479729Z","primaryEndpoints":{"dfs":"https://clitest000002.dfs.core.windows.net/","web":"https://clitest000002.z22.web.core.windows.net/","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/cli_test_gallery_image_version_vhddmban3xow2tgyly5j6xaruoliqaj443p3brq46idi/providers/Microsoft.Storage/storageAccounts/clitest4ydp57ynxl5tcjktl","name":"clitest4ydp57ynxl5tcjktl","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-21T06:49:12.4084643Z","key2":"2021-04-21T06:49:12.4084643Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-21T06:49:12.4240887Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-21T06:49:12.4240887Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-21T06:49:12.3303684Z","primaryEndpoints":{"blob":"https://clitest4ydp57ynxl5tcjktl.blob.core.windows.net/","queue":"https://clitest4ydp57ynxl5tcjktl.queue.core.windows.net/","table":"https://clitest4ydp57ynxl5tcjktl.table.core.windows.net/","file":"https://clitest4ydp57ynxl5tcjktl.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_gallery_image_version_vhddqxkb6y7azmjc53fhkyr66se7po4i2ve5es2y46av/providers/Microsoft.Storage/storageAccounts/clitestuxrcexs7kgo3dqsiz","name":"clitestuxrcexs7kgo3dqsiz","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-21T07:08:35.7386114Z","key2":"2021-04-21T07:08:35.7386114Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-21T07:08:35.7386114Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-21T07:08:35.7386114Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-21T07:08:35.6448419Z","primaryEndpoints":{"blob":"https://clitestuxrcexs7kgo3dqsiz.blob.core.windows.net/","queue":"https://clitestuxrcexs7kgo3dqsiz.queue.core.windows.net/","table":"https://clitestuxrcexs7kgo3dqsiz.table.core.windows.net/","file":"https://clitestuxrcexs7kgo3dqsiz.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jiasli-cli-dev/providers/Microsoft.Storage/storageAccounts/jlstwu","name":"jlstwu","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-12T06:29:22.9138997Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-12T06:29:22.9138997Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-01-12T06:29:22.8201627Z","primaryEndpoints":{"dfs":"https://jlstwu.dfs.core.windows.net/","web":"https://jlstwu.z22.web.core.windows.net/","blob":"https://jlstwu.blob.core.windows.net/","queue":"https://jlstwu.queue.core.windows.net/","table":"https://jlstwu.table.core.windows.net/","file":"https://jlstwu.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/kairu-persist/providers/Microsoft.Storage/storageAccounts/kairu","name":"kairu","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-13T07:35:19.0950431Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-13T07:35:19.0950431Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-01-13T07:35:18.9856251Z","primaryEndpoints":{"blob":"https://kairu.blob.core.windows.net/","queue":"https://kairu.queue.core.windows.net/","table":"https://kairu.table.core.windows.net/","file":"https://kairu.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-live-test-rg/providers/Microsoft.Storage/storageAccounts/locksa","name":"locksa","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"azureFilesIdentityBasedAuthentication":{"directoryServiceOptions":"None"},"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-29T03:24:17.1371655Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-29T03:24:17.1371655Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-10-29T03:24:17.0434116Z","primaryEndpoints":{"dfs":"https://locksa.dfs.core.windows.net/","web":"https://locksa.z22.web.core.windows.net/","blob":"https://locksa.blob.core.windows.net/","queue":"https://locksa.queue.core.windows.net/","table":"https://locksa.table.core.windows.net/","file":"https://locksa.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://locksa-secondary.dfs.core.windows.net/","web":"https://locksa-secondary.z22.web.core.windows.net/","blob":"https://locksa-secondary.blob.core.windows.net/","queue":"https://locksa-secondary.queue.core.windows.net/","table":"https://locksa-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fytest/providers/Microsoft.Storage/storageAccounts/sharedvmextension","name":"sharedvmextension","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-06T03:37:04.8004229Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-06T03:37:04.8004229Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-07-06T03:37:04.7066555Z","primaryEndpoints":{"dfs":"https://sharedvmextension.dfs.core.windows.net/","web":"https://sharedvmextension.z22.web.core.windows.net/","blob":"https://sharedvmextension.blob.core.windows.net/","queue":"https://sharedvmextension.queue.core.windows.net/","table":"https://sharedvmextension.table.core.windows.net/","file":"https://sharedvmextension.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://sharedvmextension-secondary.dfs.core.windows.net/","web":"https://sharedvmextension-secondary.z22.web.core.windows.net/","blob":"https://sharedvmextension-secondary.blob.core.windows.net/","queue":"https://sharedvmextension-secondary.queue.core.windows.net/","table":"https://sharedvmextension-secondary.table.core.windows.net/"}}},{"identity":{"principalId":"c120e453-0fb4-41f4-b9e7-ac280e27992a","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","type":"SystemAssigned"},"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yishitest/providers/Microsoft.Storage/storageAccounts/testcreationtime","name":"testcreationtime","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"sasPolicy":{"sasExpirationPeriod":"2.23:59:59","expirationAction":"Log"},"keyCreationTime":{"key1":"2021-04-08T02:43:57.2406486Z","key2":"2021-04-08T03:30:07.4783308Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-08T02:43:57.2406486Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-08T02:43:57.2406486Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-08T02:43:57.1469079Z","primaryEndpoints":{"dfs":"https://testcreationtime.dfs.core.windows.net/","web":"https://testcreationtime.z22.web.core.windows.net/","blob":"https://testcreationtime.blob.core.windows.net/","queue":"https://testcreationtime.queue.core.windows.net/","table":"https://testcreationtime.table.core.windows.net/","file":"https://testcreationtime.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://testcreationtime-secondary.dfs.core.windows.net/","web":"https://testcreationtime-secondary.z22.web.core.windows.net/","blob":"https://testcreationtime-secondary.blob.core.windows.net/","queue":"https://testcreationtime-secondary.queue.core.windows.net/","table":"https://testcreationtime-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yishitest/providers/Microsoft.Storage/storageAccounts/yssa","name":"yssa","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":"2021-04-08T03:29:15.4919591Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-27T14:55:33.7123620Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-27T14:55:33.7123620Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-10-27T14:55:33.6342573Z","primaryEndpoints":{"dfs":"https://yssa.dfs.core.windows.net/","web":"https://yssa.z22.web.core.windows.net/","blob":"https://yssa.blob.core.windows.net/","queue":"https://yssa.queue.core.windows.net/","table":"https://yssa.table.core.windows.net/","file":"https://yssa.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yssa-secondary.dfs.core.windows.net/","web":"https://yssa-secondary.z22.web.core.windows.net/","blob":"https://yssa-secondary.blob.core.windows.net/","queue":"https://yssa-secondary.queue.core.windows.net/","table":"https://yssa-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yishitest/providers/Microsoft.Storage/storageAccounts/yssaadls","name":"yssaadls","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-03-11T08:16:02.3188031Z","key2":"2021-03-11T08:16:02.3188031Z"},"privateEndpointConnections":[],"isHnsEnabled":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-11T08:16:02.3188031Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-11T08:16:02.3188031Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-03-11T08:16:02.2406559Z","primaryEndpoints":{"dfs":"https://yssaadls.dfs.core.windows.net/","web":"https://yssaadls.z22.web.core.windows.net/","blob":"https://yssaadls.blob.core.windows.net/","queue":"https://yssaadls.queue.core.windows.net/","table":"https://yssaadls.table.core.windows.net/","file":"https://yssaadls.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yssaadls-secondary.dfs.core.windows.net/","web":"https://yssaadls-secondary.z22.web.core.windows.net/","blob":"https://yssaadls-secondary.blob.core.windows.net/","queue":"https://yssaadls-secondary.queue.core.windows.net/","table":"https://yssaadls-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"BlobStorage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yishitest/providers/Microsoft.Storage/storageAccounts/yssatmp","name":"yssatmp","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-02-04T07:19:47.0265181Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-02-04T07:19:47.0265181Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-02-04T07:19:46.9171303Z","primaryEndpoints":{"dfs":"https://yssatmp.dfs.core.windows.net/","blob":"https://yssatmp.blob.core.windows.net/","table":"https://yssatmp.table.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yssatmp-secondary.dfs.core.windows.net/","blob":"https://yssatmp-secondary.blob.core.windows.net/","table":"https://yssatmp-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureSDKTest_reserved/providers/Microsoft.Storage/storageAccounts/azuresdktest","name":"azuresdktest","type":"Microsoft.Storage/storageAccounts","location":"eastasia","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-12T06:32:07.1157877Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-12T06:32:07.1157877Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-08-12T06:32:07.0689199Z","primaryEndpoints":{"dfs":"https://azuresdktest.dfs.core.windows.net/","web":"https://azuresdktest.z7.web.core.windows.net/","blob":"https://azuresdktest.blob.core.windows.net/","queue":"https://azuresdktest.queue.core.windows.net/","table":"https://azuresdktest.table.core.windows.net/","file":"https://azuresdktest.file.core.windows.net/"},"primaryLocation":"eastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rggrglkh7zr7/providers/Microsoft.Storage/storageAccounts/clitest2f63bh43aix4wcnlh","name":"clitest2f63bh43aix4wcnlh","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-22T08:17:38.5541453Z","key2":"2021-04-22T08:17:38.5541453Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:17:38.5541453Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:17:38.5541453Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-22T08:17:38.4760163Z","primaryEndpoints":{"blob":"https://clitest2f63bh43aix4wcnlh.blob.core.windows.net/","queue":"https://clitest2f63bh43aix4wcnlh.queue.core.windows.net/","table":"https://clitest2f63bh43aix4wcnlh.table.core.windows.net/","file":"https://clitest2f63bh43aix4wcnlh.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgh5duq2f6uh/providers/Microsoft.Storage/storageAccounts/clitest2vjedutxs37ymp4ni","name":"clitest2vjedutxs37ymp4ni","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T07:13:21.0424866Z","key2":"2021-04-23T07:13:21.0424866Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:21.0581083Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:21.0581083Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T07:13:20.9643257Z","primaryEndpoints":{"blob":"https://clitest2vjedutxs37ymp4ni.blob.core.windows.net/","queue":"https://clitest2vjedutxs37ymp4ni.queue.core.windows.net/","table":"https://clitest2vjedutxs37ymp4ni.table.core.windows.net/","file":"https://clitest2vjedutxs37ymp4ni.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgl6l3rg6atb/providers/Microsoft.Storage/storageAccounts/clitest4sjmiwke5nz3f67pu","name":"clitest4sjmiwke5nz3f67pu","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-22T08:02:15.3305055Z","key2":"2021-04-22T08:02:15.3305055Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:02:15.3305055Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:02:15.3305055Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-22T08:02:15.2523305Z","primaryEndpoints":{"blob":"https://clitest4sjmiwke5nz3f67pu.blob.core.windows.net/","queue":"https://clitest4sjmiwke5nz3f67pu.queue.core.windows.net/","table":"https://clitest4sjmiwke5nz3f67pu.table.core.windows.net/","file":"https://clitest4sjmiwke5nz3f67pu.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgbbt37xr2le/providers/Microsoft.Storage/storageAccounts/clitest5frikrzhxwryrkfel","name":"clitest5frikrzhxwryrkfel","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-22T08:19:22.9620171Z","key2":"2021-04-22T08:19:22.9620171Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:19:22.9776721Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:19:22.9776721Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-22T08:19:22.8838883Z","primaryEndpoints":{"blob":"https://clitest5frikrzhxwryrkfel.blob.core.windows.net/","queue":"https://clitest5frikrzhxwryrkfel.queue.core.windows.net/","table":"https://clitest5frikrzhxwryrkfel.table.core.windows.net/","file":"https://clitest5frikrzhxwryrkfel.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgrc4sjsrzt4/providers/Microsoft.Storage/storageAccounts/clitest63b5vtkhuf7auho6z","name":"clitest63b5vtkhuf7auho6z","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-22T08:17:38.3198561Z","key2":"2021-04-22T08:17:38.3198561Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:17:38.3198561Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:17:38.3198561Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-22T08:17:38.2416459Z","primaryEndpoints":{"blob":"https://clitest63b5vtkhuf7auho6z.blob.core.windows.net/","queue":"https://clitest63b5vtkhuf7auho6z.queue.core.windows.net/","table":"https://clitest63b5vtkhuf7auho6z.table.core.windows.net/","file":"https://clitest63b5vtkhuf7auho6z.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgekim5ct43n/providers/Microsoft.Storage/storageAccounts/clitest6jusqp4qvczw52pql","name":"clitest6jusqp4qvczw52pql","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-22T08:05:08.7847684Z","key2":"2021-04-22T08:05:08.7847684Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:05:08.8003328Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:05:08.8003328Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-22T08:05:08.7065579Z","primaryEndpoints":{"blob":"https://clitest6jusqp4qvczw52pql.blob.core.windows.net/","queue":"https://clitest6jusqp4qvczw52pql.queue.core.windows.net/","table":"https://clitest6jusqp4qvczw52pql.table.core.windows.net/","file":"https://clitest6jusqp4qvczw52pql.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgu7jwflzo6g/providers/Microsoft.Storage/storageAccounts/clitest6qixwlhm5see7ipqv","name":"clitest6qixwlhm5see7ipqv","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T03:42:54.6967487Z","key2":"2021-04-23T03:42:54.6967487Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T03:42:54.6967487Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T03:42:54.6967487Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T03:42:54.6186031Z","primaryEndpoints":{"blob":"https://clitest6qixwlhm5see7ipqv.blob.core.windows.net/","queue":"https://clitest6qixwlhm5see7ipqv.queue.core.windows.net/","table":"https://clitest6qixwlhm5see7ipqv.table.core.windows.net/","file":"https://clitest6qixwlhm5see7ipqv.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgbbt37xr2le/providers/Microsoft.Storage/storageAccounts/clitest74vl6rwuxl5fbuklw","name":"clitest74vl6rwuxl5fbuklw","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-22T08:17:38.2260082Z","key2":"2021-04-22T08:17:38.2260082Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:17:38.2260082Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:17:38.2260082Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-22T08:17:38.1635154Z","primaryEndpoints":{"blob":"https://clitest74vl6rwuxl5fbuklw.blob.core.windows.net/","queue":"https://clitest74vl6rwuxl5fbuklw.queue.core.windows.net/","table":"https://clitest74vl6rwuxl5fbuklw.table.core.windows.net/","file":"https://clitest74vl6rwuxl5fbuklw.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgekim5ct43n/providers/Microsoft.Storage/storageAccounts/clitestaxzz2w4ay2wruyjs5","name":"clitestaxzz2w4ay2wruyjs5","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-22T08:02:15.6585801Z","key2":"2021-04-22T08:02:15.6585801Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:02:15.6585801Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:02:15.6585801Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-22T08:02:15.5804737Z","primaryEndpoints":{"blob":"https://clitestaxzz2w4ay2wruyjs5.blob.core.windows.net/","queue":"https://clitestaxzz2w4ay2wruyjs5.queue.core.windows.net/","table":"https://clitestaxzz2w4ay2wruyjs5.table.core.windows.net/","file":"https://clitestaxzz2w4ay2wruyjs5.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgiudkrkxpl4/providers/Microsoft.Storage/storageAccounts/clitestbiegaggvgwivkqyyi","name":"clitestbiegaggvgwivkqyyi","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T07:13:20.8705764Z","key2":"2021-04-23T07:13:20.8705764Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:20.8861995Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:20.8861995Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T07:13:20.7925187Z","primaryEndpoints":{"blob":"https://clitestbiegaggvgwivkqyyi.blob.core.windows.net/","queue":"https://clitestbiegaggvgwivkqyyi.queue.core.windows.net/","table":"https://clitestbiegaggvgwivkqyyi.table.core.windows.net/","file":"https://clitestbiegaggvgwivkqyyi.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg46ia57tmnz/providers/Microsoft.Storage/storageAccounts/clitestdlxtp24ycnjl3jui2","name":"clitestdlxtp24ycnjl3jui2","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T03:42:54.3217696Z","key2":"2021-04-23T03:42:54.3217696Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T03:42:54.3217696Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T03:42:54.3217696Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T03:42:54.2436164Z","primaryEndpoints":{"blob":"https://clitestdlxtp24ycnjl3jui2.blob.core.windows.net/","queue":"https://clitestdlxtp24ycnjl3jui2.queue.core.windows.net/","table":"https://clitestdlxtp24ycnjl3jui2.table.core.windows.net/","file":"https://clitestdlxtp24ycnjl3jui2.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgv3m577d7ho/providers/Microsoft.Storage/storageAccounts/clitestej2fvhoj3zogyp5e7","name":"clitestej2fvhoj3zogyp5e7","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T03:42:54.7279926Z","key2":"2021-04-23T03:42:54.7279926Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T03:42:54.7279926Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T03:42:54.7279926Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T03:42:54.6342444Z","primaryEndpoints":{"blob":"https://clitestej2fvhoj3zogyp5e7.blob.core.windows.net/","queue":"https://clitestej2fvhoj3zogyp5e7.queue.core.windows.net/","table":"https://clitestej2fvhoj3zogyp5e7.table.core.windows.net/","file":"https://clitestej2fvhoj3zogyp5e7.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgp6ikwpcsq7/providers/Microsoft.Storage/storageAccounts/clitestggvkyebv5o55dhakj","name":"clitestggvkyebv5o55dhakj","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T07:13:21.2300019Z","key2":"2021-04-23T07:13:21.2300019Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:21.2456239Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:21.2456239Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T07:13:21.1518492Z","primaryEndpoints":{"blob":"https://clitestggvkyebv5o55dhakj.blob.core.windows.net/","queue":"https://clitestggvkyebv5o55dhakj.queue.core.windows.net/","table":"https://clitestggvkyebv5o55dhakj.table.core.windows.net/","file":"https://clitestggvkyebv5o55dhakj.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgn6glpfa25c/providers/Microsoft.Storage/storageAccounts/clitestgt3fjzabc7taya5zo","name":"clitestgt3fjzabc7taya5zo","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T07:13:20.6675009Z","key2":"2021-04-23T07:13:20.6675009Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:20.6831653Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:20.6831653Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T07:13:20.5894204Z","primaryEndpoints":{"blob":"https://clitestgt3fjzabc7taya5zo.blob.core.windows.net/","queue":"https://clitestgt3fjzabc7taya5zo.queue.core.windows.net/","table":"https://clitestgt3fjzabc7taya5zo.table.core.windows.net/","file":"https://clitestgt3fjzabc7taya5zo.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgptzwacrnwa/providers/Microsoft.Storage/storageAccounts/clitestivtrt5tp624n63ast","name":"clitestivtrt5tp624n63ast","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-22T08:17:38.1166795Z","key2":"2021-04-22T08:17:38.1166795Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:17:38.1166795Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:17:38.1166795Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-22T08:17:38.0541529Z","primaryEndpoints":{"blob":"https://clitestivtrt5tp624n63ast.blob.core.windows.net/","queue":"https://clitestivtrt5tp624n63ast.queue.core.windows.net/","table":"https://clitestivtrt5tp624n63ast.table.core.windows.net/","file":"https://clitestivtrt5tp624n63ast.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgdc25pvki6m/providers/Microsoft.Storage/storageAccounts/clitestkxu4ahsqaxv42cyyf","name":"clitestkxu4ahsqaxv42cyyf","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-22T08:02:15.7523496Z","key2":"2021-04-22T08:02:15.7523496Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:02:15.7523496Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:02:15.7523496Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-22T08:02:15.6742355Z","primaryEndpoints":{"blob":"https://clitestkxu4ahsqaxv42cyyf.blob.core.windows.net/","queue":"https://clitestkxu4ahsqaxv42cyyf.queue.core.windows.net/","table":"https://clitestkxu4ahsqaxv42cyyf.table.core.windows.net/","file":"https://clitestkxu4ahsqaxv42cyyf.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgghkyqf7pb5/providers/Microsoft.Storage/storageAccounts/clitestpuea6vlqwxw6ihiws","name":"clitestpuea6vlqwxw6ihiws","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T07:13:21.0581083Z","key2":"2021-04-23T07:13:21.0581083Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:21.0737014Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:21.0737014Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T07:13:20.9799581Z","primaryEndpoints":{"blob":"https://clitestpuea6vlqwxw6ihiws.blob.core.windows.net/","queue":"https://clitestpuea6vlqwxw6ihiws.queue.core.windows.net/","table":"https://clitestpuea6vlqwxw6ihiws.table.core.windows.net/","file":"https://clitestpuea6vlqwxw6ihiws.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg6i4hl6iakg/providers/Microsoft.Storage/storageAccounts/clitestu3p7a7ib4n4y7gt4m","name":"clitestu3p7a7ib4n4y7gt4m","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-30T01:51:53.0814418Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-30T01:51:53.0814418Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2019-12-30T01:51:53.0189478Z","primaryEndpoints":{"blob":"https://clitestu3p7a7ib4n4y7gt4m.blob.core.windows.net/","queue":"https://clitestu3p7a7ib4n4y7gt4m.queue.core.windows.net/","table":"https://clitestu3p7a7ib4n4y7gt4m.table.core.windows.net/","file":"https://clitestu3p7a7ib4n4y7gt4m.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgu7jwflzo6g/providers/Microsoft.Storage/storageAccounts/clitestwqzjytdeun46rphfd","name":"clitestwqzjytdeun46rphfd","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T03:44:35.3668592Z","key2":"2021-04-23T03:44:35.3668592Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T03:44:35.3668592Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T03:44:35.3668592Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T03:44:35.2887580Z","primaryEndpoints":{"blob":"https://clitestwqzjytdeun46rphfd.blob.core.windows.net/","queue":"https://clitestwqzjytdeun46rphfd.queue.core.windows.net/","table":"https://clitestwqzjytdeun46rphfd.table.core.windows.net/","file":"https://clitestwqzjytdeun46rphfd.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgltfej7yr4u/providers/Microsoft.Storage/storageAccounts/clitestwvsg2uskf4i7vjfto","name":"clitestwvsg2uskf4i7vjfto","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-05-13T07:48:30.9247776Z","key2":"2021-05-13T07:48:30.9247776Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-13T07:48:30.9403727Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-13T07:48:30.9403727Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-05-13T07:48:30.8309682Z","primaryEndpoints":{"blob":"https://clitestwvsg2uskf4i7vjfto.blob.core.windows.net/","queue":"https://clitestwvsg2uskf4i7vjfto.queue.core.windows.net/","table":"https://clitestwvsg2uskf4i7vjfto.table.core.windows.net/","file":"https://clitestwvsg2uskf4i7vjfto.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgzjznhcqaoh/providers/Microsoft.Storage/storageAccounts/clitestwznnmnfot33xjztmk","name":"clitestwznnmnfot33xjztmk","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T07:13:20.7299628Z","key2":"2021-04-23T07:13:20.7299628Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:20.7456181Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:20.7456181Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T07:13:20.6518776Z","primaryEndpoints":{"blob":"https://clitestwznnmnfot33xjztmk.blob.core.windows.net/","queue":"https://clitestwznnmnfot33xjztmk.queue.core.windows.net/","table":"https://clitestwznnmnfot33xjztmk.table.core.windows.net/","file":"https://clitestwznnmnfot33xjztmk.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgovptfsocfg/providers/Microsoft.Storage/storageAccounts/clitestz72bbbbv2cio2pmom","name":"clitestz72bbbbv2cio2pmom","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T07:13:21.0112600Z","key2":"2021-04-23T07:13:21.0112600Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:21.0268549Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:21.0268549Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T07:13:20.9330720Z","primaryEndpoints":{"blob":"https://clitestz72bbbbv2cio2pmom.blob.core.windows.net/","queue":"https://clitestz72bbbbv2cio2pmom.queue.core.windows.net/","table":"https://clitestz72bbbbv2cio2pmom.table.core.windows.net/","file":"https://clitestz72bbbbv2cio2pmom.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgxp7uwuibs5/providers/Microsoft.Storage/storageAccounts/clitestzrwidkqplnw3jmz4z","name":"clitestzrwidkqplnw3jmz4z","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T07:13:20.6831653Z","key2":"2021-04-23T07:13:20.6831653Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:20.6987004Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:20.6987004Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T07:13:20.6049571Z","primaryEndpoints":{"blob":"https://clitestzrwidkqplnw3jmz4z.blob.core.windows.net/","queue":"https://clitestzrwidkqplnw3jmz4z.queue.core.windows.net/","table":"https://clitestzrwidkqplnw3jmz4z.table.core.windows.net/","file":"https://clitestzrwidkqplnw3jmz4z.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cloud-shell-storage-southeastasia/providers/Microsoft.Storage/storageAccounts/cs1100320004dd89524","name":"cs1100320004dd89524","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-03-26T05:48:15.7013062Z","key2":"2021-03-26T05:48:15.7013062Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-26T05:48:15.7169621Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-26T05:48:15.7169621Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-03-26T05:48:15.6545059Z","primaryEndpoints":{"dfs":"https://cs1100320004dd89524.dfs.core.windows.net/","web":"https://cs1100320004dd89524.z23.web.core.windows.net/","blob":"https://cs1100320004dd89524.blob.core.windows.net/","queue":"https://cs1100320004dd89524.queue.core.windows.net/","table":"https://cs1100320004dd89524.table.core.windows.net/","file":"https://cs1100320004dd89524.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureSDKTest_reserved/providers/Microsoft.Storage/storageAccounts/cs1100320007de01867","name":"cs1100320007de01867","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-09-25T03:24:00.9959166Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-09-25T03:24:00.9959166Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-09-25T03:24:00.9490326Z","primaryEndpoints":{"dfs":"https://cs1100320007de01867.dfs.core.windows.net/","web":"https://cs1100320007de01867.z23.web.core.windows.net/","blob":"https://cs1100320007de01867.blob.core.windows.net/","queue":"https://cs1100320007de01867.queue.core.windows.net/","table":"https://cs1100320007de01867.table.core.windows.net/","file":"https://cs1100320007de01867.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cloud-shell-storage-southeastasia/providers/Microsoft.Storage/storageAccounts/cs1100320008debd5bc","name":"cs1100320008debd5bc","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-03-17T07:12:44.1132341Z","key2":"2021-03-17T07:12:44.1132341Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-17T07:12:44.1132341Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-17T07:12:44.1132341Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-03-17T07:12:44.0351358Z","primaryEndpoints":{"dfs":"https://cs1100320008debd5bc.dfs.core.windows.net/","web":"https://cs1100320008debd5bc.z23.web.core.windows.net/","blob":"https://cs1100320008debd5bc.blob.core.windows.net/","queue":"https://cs1100320008debd5bc.queue.core.windows.net/","table":"https://cs1100320008debd5bc.table.core.windows.net/","file":"https://cs1100320008debd5bc.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cloud-shell-storage-southeastasia/providers/Microsoft.Storage/storageAccounts/cs11003200092fe0771","name":"cs11003200092fe0771","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-03-23T07:08:51.1436686Z","key2":"2021-03-23T07:08:51.1436686Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-23T07:08:51.1593202Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-23T07:08:51.1593202Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-03-23T07:08:51.0811120Z","primaryEndpoints":{"dfs":"https://cs11003200092fe0771.dfs.core.windows.net/","web":"https://cs11003200092fe0771.z23.web.core.windows.net/","blob":"https://cs11003200092fe0771.blob.core.windows.net/","queue":"https://cs11003200092fe0771.queue.core.windows.net/","table":"https://cs11003200092fe0771.table.core.windows.net/","file":"https://cs11003200092fe0771.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cloud-shell-storage-southeastasia/providers/Microsoft.Storage/storageAccounts/cs110032000b6f3c90c","name":"cs110032000b6f3c90c","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-05-06T05:28:23.2493456Z","key2":"2021-05-06T05:28:23.2493456Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-06T05:28:23.2493456Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-06T05:28:23.2493456Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-05-06T05:28:23.1868245Z","primaryEndpoints":{"dfs":"https://cs110032000b6f3c90c.dfs.core.windows.net/","web":"https://cs110032000b6f3c90c.z23.web.core.windows.net/","blob":"https://cs110032000b6f3c90c.blob.core.windows.net/","queue":"https://cs110032000b6f3c90c.queue.core.windows.net/","table":"https://cs110032000b6f3c90c.table.core.windows.net/","file":"https://cs110032000b6f3c90c.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cloud-shell-storage-southeastasia/providers/Microsoft.Storage/storageAccounts/cs110032000c31bae71","name":"cs110032000c31bae71","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-04-15T06:39:35.4649198Z","key2":"2021-04-15T06:39:35.4649198Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-15T06:39:35.4649198Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-15T06:39:35.4649198Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-15T06:39:35.4180004Z","primaryEndpoints":{"dfs":"https://cs110032000c31bae71.dfs.core.windows.net/","web":"https://cs110032000c31bae71.z23.web.core.windows.net/","blob":"https://cs110032000c31bae71.blob.core.windows.net/","queue":"https://cs110032000c31bae71.queue.core.windows.net/","table":"https://cs110032000c31bae71.table.core.windows.net/","file":"https://cs110032000c31bae71.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureSDKTest_reserved/providers/Microsoft.Storage/storageAccounts/cs110032000ca62af00","name":"cs110032000ca62af00","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-09-22T02:06:18.4998653Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-09-22T02:06:18.4998653Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-09-22T02:06:18.4217109Z","primaryEndpoints":{"dfs":"https://cs110032000ca62af00.dfs.core.windows.net/","web":"https://cs110032000ca62af00.z23.web.core.windows.net/","blob":"https://cs110032000ca62af00.blob.core.windows.net/","queue":"https://cs110032000ca62af00.queue.core.windows.net/","table":"https://cs110032000ca62af00.table.core.windows.net/","file":"https://cs110032000ca62af00.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cloud-shell-storage-southeastasia/providers/Microsoft.Storage/storageAccounts/cs110032000e3121978","name":"cs110032000e3121978","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-04-25T07:26:43.6124221Z","key2":"2021-04-25T07:26:43.6124221Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-25T07:26:43.6124221Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-25T07:26:43.6124221Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-25T07:26:43.5343583Z","primaryEndpoints":{"dfs":"https://cs110032000e3121978.dfs.core.windows.net/","web":"https://cs110032000e3121978.z23.web.core.windows.net/","blob":"https://cs110032000e3121978.blob.core.windows.net/","queue":"https://cs110032000e3121978.queue.core.windows.net/","table":"https://cs110032000e3121978.table.core.windows.net/","file":"https://cs110032000e3121978.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cloud-shell-storage-southeastasia/providers/Microsoft.Storage/storageAccounts/cs11003200127365c47","name":"cs11003200127365c47","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-03-25T03:10:52.6098894Z","key2":"2021-03-25T03:10:52.6098894Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-25T03:10:52.6098894Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-25T03:10:52.6098894Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-03-25T03:10:52.5318146Z","primaryEndpoints":{"dfs":"https://cs11003200127365c47.dfs.core.windows.net/","web":"https://cs11003200127365c47.z23.web.core.windows.net/","blob":"https://cs11003200127365c47.blob.core.windows.net/","queue":"https://cs11003200127365c47.queue.core.windows.net/","table":"https://cs11003200127365c47.table.core.windows.net/","file":"https://cs11003200127365c47.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cloud-shell-storage-southeastasia/providers/Microsoft.Storage/storageAccounts/cs1100320012c36c452","name":"cs1100320012c36c452","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-04-09T08:04:25.5979407Z","key2":"2021-04-09T08:04:25.5979407Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-09T08:04:25.5979407Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-09T08:04:25.5979407Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-09T08:04:25.5198295Z","primaryEndpoints":{"dfs":"https://cs1100320012c36c452.dfs.core.windows.net/","web":"https://cs1100320012c36c452.z23.web.core.windows.net/","blob":"https://cs1100320012c36c452.blob.core.windows.net/","queue":"https://cs1100320012c36c452.queue.core.windows.net/","table":"https://cs1100320012c36c452.table.core.windows.net/","file":"https://cs1100320012c36c452.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jiasli-cli-dev/providers/Microsoft.Storage/storageAccounts/jlst","name":"jlst","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"allowSharedKeyAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-12-31T03:05:24.8023719Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-12-31T03:05:24.8023719Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-12-31T03:05:24.7086186Z","primaryEndpoints":{"dfs":"https://jlst.dfs.core.windows.net/","web":"https://jlst.z23.web.core.windows.net/","blob":"https://jlst.blob.core.windows.net/","queue":"https://jlst.queue.core.windows.net/","table":"https://jlst.table.core.windows.net/","file":"https://jlst.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jiasli-cli-dev/providers/Microsoft.Storage/storageAccounts/jlstcs","name":"jlstcs","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-13T06:39:02.4278678Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-13T06:39:02.4278678Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-10-13T06:39:02.3497160Z","primaryEndpoints":{"dfs":"https://jlstcs.dfs.core.windows.net/","web":"https://jlstcs.z23.web.core.windows.net/","blob":"https://jlstcs.blob.core.windows.net/","queue":"https://jlstcs.queue.core.windows.net/","table":"https://jlstcs.table.core.windows.net/","file":"https://jlstcs.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Storage/storageAccounts/qianwensdiag","name":"qianwensdiag","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-04T07:17:09.1138103Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-04T07:17:09.1138103Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-02-04T07:17:09.0514178Z","primaryEndpoints":{"blob":"https://qianwensdiag.blob.core.windows.net/","queue":"https://qianwensdiag.queue.core.windows.net/","table":"https://qianwensdiag.table.core.windows.net/","file":"https://qianwensdiag.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhoxing-test/providers/Microsoft.Storage/storageAccounts/store6472qnxl3vv5o","name":"store6472qnxl3vv5o","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{"project":"Digital + Platform","env":"CI"},"properties":{"keyCreationTime":{"key1":"2021-04-29T09:18:42.5385370Z","key2":"2021-04-29T09:18:42.5385370Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-29T09:18:42.5385370Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-29T09:18:42.5385370Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-29T09:18:42.4447545Z","primaryEndpoints":{"blob":"https://store6472qnxl3vv5o.blob.core.windows.net/","queue":"https://store6472qnxl3vv5o.queue.core.windows.net/","table":"https://store6472qnxl3vv5o.table.core.windows.net/","file":"https://store6472qnxl3vv5o.file.core.windows.net/"},"primaryLocation":"southcentralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/extmigrate","name":"extmigrate","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-16T08:26:10.6796218Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-16T08:26:10.6796218Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-16T08:26:10.5858998Z","primaryEndpoints":{"blob":"https://extmigrate.blob.core.windows.net/","queue":"https://extmigrate.queue.core.windows.net/","table":"https://extmigrate.table.core.windows.net/","file":"https://extmigrate.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://extmigrate-secondary.blob.core.windows.net/","queue":"https://extmigrate-secondary.queue.core.windows.net/","table":"https://extmigrate-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/fengsa","name":"fengsa","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-05-14T06:47:20.1106748Z","key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-01-06T04:33:22.9379802Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-01-06T04:33:22.9379802Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-01-06T04:33:22.8754625Z","primaryEndpoints":{"dfs":"https://fengsa.dfs.core.windows.net/","web":"https://fengsa.z19.web.core.windows.net/","blob":"https://fengsa.blob.core.windows.net/","queue":"https://fengsa.queue.core.windows.net/","table":"https://fengsa.table.core.windows.net/","file":"https://fengsa.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://fengsa-secondary.dfs.core.windows.net/","web":"https://fengsa-secondary.z19.web.core.windows.net/","blob":"https://fengsa-secondary.blob.core.windows.net/","queue":"https://fengsa-secondary.queue.core.windows.net/","table":"https://fengsa-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/fengtestsa","name":"fengtestsa","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-29T03:10:28.7204355Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-29T03:10:28.7204355Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-10-29T03:10:28.6266623Z","primaryEndpoints":{"dfs":"https://fengtestsa.dfs.core.windows.net/","web":"https://fengtestsa.z19.web.core.windows.net/","blob":"https://fengtestsa.blob.core.windows.net/","queue":"https://fengtestsa.queue.core.windows.net/","table":"https://fengtestsa.table.core.windows.net/","file":"https://fengtestsa.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://fengtestsa-secondary.dfs.core.windows.net/","web":"https://fengtestsa-secondary.z19.web.core.windows.net/","blob":"https://fengtestsa-secondary.blob.core.windows.net/","queue":"https://fengtestsa-secondary.queue.core.windows.net/","table":"https://fengtestsa-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro1","name":"storagesfrepro1","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:07:42.2058942Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:07:42.2058942Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:07:42.1277444Z","primaryEndpoints":{"dfs":"https://storagesfrepro1.dfs.core.windows.net/","web":"https://storagesfrepro1.z19.web.core.windows.net/","blob":"https://storagesfrepro1.blob.core.windows.net/","queue":"https://storagesfrepro1.queue.core.windows.net/","table":"https://storagesfrepro1.table.core.windows.net/","file":"https://storagesfrepro1.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro1-secondary.dfs.core.windows.net/","web":"https://storagesfrepro1-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro1-secondary.blob.core.windows.net/","queue":"https://storagesfrepro1-secondary.queue.core.windows.net/","table":"https://storagesfrepro1-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro10","name":"storagesfrepro10","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:00.8753334Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:00.8753334Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:14:00.7815921Z","primaryEndpoints":{"dfs":"https://storagesfrepro10.dfs.core.windows.net/","web":"https://storagesfrepro10.z19.web.core.windows.net/","blob":"https://storagesfrepro10.blob.core.windows.net/","queue":"https://storagesfrepro10.queue.core.windows.net/","table":"https://storagesfrepro10.table.core.windows.net/","file":"https://storagesfrepro10.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro10-secondary.dfs.core.windows.net/","web":"https://storagesfrepro10-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro10-secondary.blob.core.windows.net/","queue":"https://storagesfrepro10-secondary.queue.core.windows.net/","table":"https://storagesfrepro10-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro11","name":"storagesfrepro11","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:28.9859417Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:28.9859417Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:14:28.8609347Z","primaryEndpoints":{"dfs":"https://storagesfrepro11.dfs.core.windows.net/","web":"https://storagesfrepro11.z19.web.core.windows.net/","blob":"https://storagesfrepro11.blob.core.windows.net/","queue":"https://storagesfrepro11.queue.core.windows.net/","table":"https://storagesfrepro11.table.core.windows.net/","file":"https://storagesfrepro11.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro11-secondary.dfs.core.windows.net/","web":"https://storagesfrepro11-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro11-secondary.blob.core.windows.net/","queue":"https://storagesfrepro11-secondary.queue.core.windows.net/","table":"https://storagesfrepro11-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro12","name":"storagesfrepro12","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:15:15.6785362Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:15:15.6785362Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:15:15.5848345Z","primaryEndpoints":{"dfs":"https://storagesfrepro12.dfs.core.windows.net/","web":"https://storagesfrepro12.z19.web.core.windows.net/","blob":"https://storagesfrepro12.blob.core.windows.net/","queue":"https://storagesfrepro12.queue.core.windows.net/","table":"https://storagesfrepro12.table.core.windows.net/","file":"https://storagesfrepro12.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro12-secondary.dfs.core.windows.net/","web":"https://storagesfrepro12-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro12-secondary.blob.core.windows.net/","queue":"https://storagesfrepro12-secondary.queue.core.windows.net/","table":"https://storagesfrepro12-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro13","name":"storagesfrepro13","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:16:55.7609361Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:16:55.7609361Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:16:55.6671828Z","primaryEndpoints":{"dfs":"https://storagesfrepro13.dfs.core.windows.net/","web":"https://storagesfrepro13.z19.web.core.windows.net/","blob":"https://storagesfrepro13.blob.core.windows.net/","queue":"https://storagesfrepro13.queue.core.windows.net/","table":"https://storagesfrepro13.table.core.windows.net/","file":"https://storagesfrepro13.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro13-secondary.dfs.core.windows.net/","web":"https://storagesfrepro13-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro13-secondary.blob.core.windows.net/","queue":"https://storagesfrepro13-secondary.queue.core.windows.net/","table":"https://storagesfrepro13-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro14","name":"storagesfrepro14","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:17:40.7661469Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:17:40.7661469Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:17:40.6880204Z","primaryEndpoints":{"dfs":"https://storagesfrepro14.dfs.core.windows.net/","web":"https://storagesfrepro14.z19.web.core.windows.net/","blob":"https://storagesfrepro14.blob.core.windows.net/","queue":"https://storagesfrepro14.queue.core.windows.net/","table":"https://storagesfrepro14.table.core.windows.net/","file":"https://storagesfrepro14.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro14-secondary.dfs.core.windows.net/","web":"https://storagesfrepro14-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro14-secondary.blob.core.windows.net/","queue":"https://storagesfrepro14-secondary.queue.core.windows.net/","table":"https://storagesfrepro14-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro15","name":"storagesfrepro15","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:18:52.1812445Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:18:52.1812445Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:18:52.0718543Z","primaryEndpoints":{"dfs":"https://storagesfrepro15.dfs.core.windows.net/","web":"https://storagesfrepro15.z19.web.core.windows.net/","blob":"https://storagesfrepro15.blob.core.windows.net/","queue":"https://storagesfrepro15.queue.core.windows.net/","table":"https://storagesfrepro15.table.core.windows.net/","file":"https://storagesfrepro15.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro15-secondary.dfs.core.windows.net/","web":"https://storagesfrepro15-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro15-secondary.blob.core.windows.net/","queue":"https://storagesfrepro15-secondary.queue.core.windows.net/","table":"https://storagesfrepro15-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro16","name":"storagesfrepro16","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:19:33.1863807Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:19:33.1863807Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:19:33.0770034Z","primaryEndpoints":{"dfs":"https://storagesfrepro16.dfs.core.windows.net/","web":"https://storagesfrepro16.z19.web.core.windows.net/","blob":"https://storagesfrepro16.blob.core.windows.net/","queue":"https://storagesfrepro16.queue.core.windows.net/","table":"https://storagesfrepro16.table.core.windows.net/","file":"https://storagesfrepro16.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro16-secondary.dfs.core.windows.net/","web":"https://storagesfrepro16-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro16-secondary.blob.core.windows.net/","queue":"https://storagesfrepro16-secondary.queue.core.windows.net/","table":"https://storagesfrepro16-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro17","name":"storagesfrepro17","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:23.5553513Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:23.5553513Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:04:23.4771469Z","primaryEndpoints":{"dfs":"https://storagesfrepro17.dfs.core.windows.net/","web":"https://storagesfrepro17.z19.web.core.windows.net/","blob":"https://storagesfrepro17.blob.core.windows.net/","queue":"https://storagesfrepro17.queue.core.windows.net/","table":"https://storagesfrepro17.table.core.windows.net/","file":"https://storagesfrepro17.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro17-secondary.dfs.core.windows.net/","web":"https://storagesfrepro17-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro17-secondary.blob.core.windows.net/","queue":"https://storagesfrepro17-secondary.queue.core.windows.net/","table":"https://storagesfrepro17-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro18","name":"storagesfrepro18","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:53.8320772Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:53.8320772Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:04:53.7383176Z","primaryEndpoints":{"dfs":"https://storagesfrepro18.dfs.core.windows.net/","web":"https://storagesfrepro18.z19.web.core.windows.net/","blob":"https://storagesfrepro18.blob.core.windows.net/","queue":"https://storagesfrepro18.queue.core.windows.net/","table":"https://storagesfrepro18.table.core.windows.net/","file":"https://storagesfrepro18.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro18-secondary.dfs.core.windows.net/","web":"https://storagesfrepro18-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro18-secondary.blob.core.windows.net/","queue":"https://storagesfrepro18-secondary.queue.core.windows.net/","table":"https://storagesfrepro18-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro19","name":"storagesfrepro19","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:05:26.3650238Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:05:26.3650238Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:05:26.2556326Z","primaryEndpoints":{"dfs":"https://storagesfrepro19.dfs.core.windows.net/","web":"https://storagesfrepro19.z19.web.core.windows.net/","blob":"https://storagesfrepro19.blob.core.windows.net/","queue":"https://storagesfrepro19.queue.core.windows.net/","table":"https://storagesfrepro19.table.core.windows.net/","file":"https://storagesfrepro19.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro19-secondary.dfs.core.windows.net/","web":"https://storagesfrepro19-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro19-secondary.blob.core.windows.net/","queue":"https://storagesfrepro19-secondary.queue.core.windows.net/","table":"https://storagesfrepro19-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro2","name":"storagesfrepro2","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:08:45.8498203Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:08:45.8498203Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:08:45.7717196Z","primaryEndpoints":{"dfs":"https://storagesfrepro2.dfs.core.windows.net/","web":"https://storagesfrepro2.z19.web.core.windows.net/","blob":"https://storagesfrepro2.blob.core.windows.net/","queue":"https://storagesfrepro2.queue.core.windows.net/","table":"https://storagesfrepro2.table.core.windows.net/","file":"https://storagesfrepro2.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro2-secondary.dfs.core.windows.net/","web":"https://storagesfrepro2-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro2-secondary.blob.core.windows.net/","queue":"https://storagesfrepro2-secondary.queue.core.windows.net/","table":"https://storagesfrepro2-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro20","name":"storagesfrepro20","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:07.4295934Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:07.4295934Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:06:07.3358422Z","primaryEndpoints":{"dfs":"https://storagesfrepro20.dfs.core.windows.net/","web":"https://storagesfrepro20.z19.web.core.windows.net/","blob":"https://storagesfrepro20.blob.core.windows.net/","queue":"https://storagesfrepro20.queue.core.windows.net/","table":"https://storagesfrepro20.table.core.windows.net/","file":"https://storagesfrepro20.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro20-secondary.dfs.core.windows.net/","web":"https://storagesfrepro20-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro20-secondary.blob.core.windows.net/","queue":"https://storagesfrepro20-secondary.queue.core.windows.net/","table":"https://storagesfrepro20-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro21","name":"storagesfrepro21","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:37.4780251Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:37.4780251Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:06:37.3686460Z","primaryEndpoints":{"dfs":"https://storagesfrepro21.dfs.core.windows.net/","web":"https://storagesfrepro21.z19.web.core.windows.net/","blob":"https://storagesfrepro21.blob.core.windows.net/","queue":"https://storagesfrepro21.queue.core.windows.net/","table":"https://storagesfrepro21.table.core.windows.net/","file":"https://storagesfrepro21.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro21-secondary.dfs.core.windows.net/","web":"https://storagesfrepro21-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro21-secondary.blob.core.windows.net/","queue":"https://storagesfrepro21-secondary.queue.core.windows.net/","table":"https://storagesfrepro21-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro22","name":"storagesfrepro22","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:59.8295391Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:59.8295391Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:06:59.7201581Z","primaryEndpoints":{"dfs":"https://storagesfrepro22.dfs.core.windows.net/","web":"https://storagesfrepro22.z19.web.core.windows.net/","blob":"https://storagesfrepro22.blob.core.windows.net/","queue":"https://storagesfrepro22.queue.core.windows.net/","table":"https://storagesfrepro22.table.core.windows.net/","file":"https://storagesfrepro22.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro22-secondary.dfs.core.windows.net/","web":"https://storagesfrepro22-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro22-secondary.blob.core.windows.net/","queue":"https://storagesfrepro22-secondary.queue.core.windows.net/","table":"https://storagesfrepro22-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro23","name":"storagesfrepro23","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:29.0846619Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:29.0846619Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:07:29.0065050Z","primaryEndpoints":{"dfs":"https://storagesfrepro23.dfs.core.windows.net/","web":"https://storagesfrepro23.z19.web.core.windows.net/","blob":"https://storagesfrepro23.blob.core.windows.net/","queue":"https://storagesfrepro23.queue.core.windows.net/","table":"https://storagesfrepro23.table.core.windows.net/","file":"https://storagesfrepro23.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro23-secondary.dfs.core.windows.net/","web":"https://storagesfrepro23-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro23-secondary.blob.core.windows.net/","queue":"https://storagesfrepro23-secondary.queue.core.windows.net/","table":"https://storagesfrepro23-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro24","name":"storagesfrepro24","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:53.2658712Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:53.2658712Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:07:53.1565651Z","primaryEndpoints":{"dfs":"https://storagesfrepro24.dfs.core.windows.net/","web":"https://storagesfrepro24.z19.web.core.windows.net/","blob":"https://storagesfrepro24.blob.core.windows.net/","queue":"https://storagesfrepro24.queue.core.windows.net/","table":"https://storagesfrepro24.table.core.windows.net/","file":"https://storagesfrepro24.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro24-secondary.dfs.core.windows.net/","web":"https://storagesfrepro24-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro24-secondary.blob.core.windows.net/","queue":"https://storagesfrepro24-secondary.queue.core.windows.net/","table":"https://storagesfrepro24-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro25","name":"storagesfrepro25","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:08:18.7432319Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:08:18.7432319Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:08:18.6338258Z","primaryEndpoints":{"dfs":"https://storagesfrepro25.dfs.core.windows.net/","web":"https://storagesfrepro25.z19.web.core.windows.net/","blob":"https://storagesfrepro25.blob.core.windows.net/","queue":"https://storagesfrepro25.queue.core.windows.net/","table":"https://storagesfrepro25.table.core.windows.net/","file":"https://storagesfrepro25.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro25-secondary.dfs.core.windows.net/","web":"https://storagesfrepro25-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro25-secondary.blob.core.windows.net/","queue":"https://storagesfrepro25-secondary.queue.core.windows.net/","table":"https://storagesfrepro25-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro3","name":"storagesfrepro3","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:19.5698333Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:19.5698333Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:09:19.3510997Z","primaryEndpoints":{"dfs":"https://storagesfrepro3.dfs.core.windows.net/","web":"https://storagesfrepro3.z19.web.core.windows.net/","blob":"https://storagesfrepro3.blob.core.windows.net/","queue":"https://storagesfrepro3.queue.core.windows.net/","table":"https://storagesfrepro3.table.core.windows.net/","file":"https://storagesfrepro3.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro3-secondary.dfs.core.windows.net/","web":"https://storagesfrepro3-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro3-secondary.blob.core.windows.net/","queue":"https://storagesfrepro3-secondary.queue.core.windows.net/","table":"https://storagesfrepro3-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro4","name":"storagesfrepro4","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:54.9930953Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:54.9930953Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:09:54.8993063Z","primaryEndpoints":{"dfs":"https://storagesfrepro4.dfs.core.windows.net/","web":"https://storagesfrepro4.z19.web.core.windows.net/","blob":"https://storagesfrepro4.blob.core.windows.net/","queue":"https://storagesfrepro4.queue.core.windows.net/","table":"https://storagesfrepro4.table.core.windows.net/","file":"https://storagesfrepro4.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro4-secondary.dfs.core.windows.net/","web":"https://storagesfrepro4-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro4-secondary.blob.core.windows.net/","queue":"https://storagesfrepro4-secondary.queue.core.windows.net/","table":"https://storagesfrepro4-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro5","name":"storagesfrepro5","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:10:48.1114395Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:10:48.1114395Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:10:48.0177273Z","primaryEndpoints":{"dfs":"https://storagesfrepro5.dfs.core.windows.net/","web":"https://storagesfrepro5.z19.web.core.windows.net/","blob":"https://storagesfrepro5.blob.core.windows.net/","queue":"https://storagesfrepro5.queue.core.windows.net/","table":"https://storagesfrepro5.table.core.windows.net/","file":"https://storagesfrepro5.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro5-secondary.dfs.core.windows.net/","web":"https://storagesfrepro5-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro5-secondary.blob.core.windows.net/","queue":"https://storagesfrepro5-secondary.queue.core.windows.net/","table":"https://storagesfrepro5-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro6","name":"storagesfrepro6","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:11:28.0269117Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:11:28.0269117Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:11:27.9331594Z","primaryEndpoints":{"dfs":"https://storagesfrepro6.dfs.core.windows.net/","web":"https://storagesfrepro6.z19.web.core.windows.net/","blob":"https://storagesfrepro6.blob.core.windows.net/","queue":"https://storagesfrepro6.queue.core.windows.net/","table":"https://storagesfrepro6.table.core.windows.net/","file":"https://storagesfrepro6.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro6-secondary.dfs.core.windows.net/","web":"https://storagesfrepro6-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro6-secondary.blob.core.windows.net/","queue":"https://storagesfrepro6-secondary.queue.core.windows.net/","table":"https://storagesfrepro6-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro7","name":"storagesfrepro7","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:08.7761892Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:08.7761892Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:12:08.6824637Z","primaryEndpoints":{"dfs":"https://storagesfrepro7.dfs.core.windows.net/","web":"https://storagesfrepro7.z19.web.core.windows.net/","blob":"https://storagesfrepro7.blob.core.windows.net/","queue":"https://storagesfrepro7.queue.core.windows.net/","table":"https://storagesfrepro7.table.core.windows.net/","file":"https://storagesfrepro7.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro7-secondary.dfs.core.windows.net/","web":"https://storagesfrepro7-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro7-secondary.blob.core.windows.net/","queue":"https://storagesfrepro7-secondary.queue.core.windows.net/","table":"https://storagesfrepro7-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro8","name":"storagesfrepro8","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:39.5221164Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:39.5221164Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:12:39.4283923Z","primaryEndpoints":{"dfs":"https://storagesfrepro8.dfs.core.windows.net/","web":"https://storagesfrepro8.z19.web.core.windows.net/","blob":"https://storagesfrepro8.blob.core.windows.net/","queue":"https://storagesfrepro8.queue.core.windows.net/","table":"https://storagesfrepro8.table.core.windows.net/","file":"https://storagesfrepro8.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro8-secondary.dfs.core.windows.net/","web":"https://storagesfrepro8-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro8-secondary.blob.core.windows.net/","queue":"https://storagesfrepro8-secondary.queue.core.windows.net/","table":"https://storagesfrepro8-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro9","name":"storagesfrepro9","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:13:18.1628430Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:13:18.1628430Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:13:18.0691096Z","primaryEndpoints":{"dfs":"https://storagesfrepro9.dfs.core.windows.net/","web":"https://storagesfrepro9.z19.web.core.windows.net/","blob":"https://storagesfrepro9.blob.core.windows.net/","queue":"https://storagesfrepro9.queue.core.windows.net/","table":"https://storagesfrepro9.table.core.windows.net/","file":"https://storagesfrepro9.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro9-secondary.dfs.core.windows.net/","web":"https://storagesfrepro9-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro9-secondary.blob.core.windows.net/","queue":"https://storagesfrepro9-secondary.queue.core.windows.net/","table":"https://storagesfrepro9-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/IT_acctestRG-ibt-24_acctest-IBT-0710-2_4ebedb5a-e3b1-4675-aa4c-3c160fe70907/providers/Microsoft.Storage/storageAccounts/6ynst8ytvcms52eviy9cme3e","name":"6ynst8ytvcms52eviy9cme3e","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{"createdby":"azureimagebuilder","magicvalue":"0d819542a3774a2a8709401a7cd09eb8"},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-10T11:43:30.0119558Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-10T11:43:30.0119558Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-07-10T11:43:29.9651518Z","primaryEndpoints":{"blob":"https://6ynst8ytvcms52eviy9cme3e.blob.core.windows.net/","queue":"https://6ynst8ytvcms52eviy9cme3e.queue.core.windows.net/","table":"https://6ynst8ytvcms52eviy9cme3e.table.core.windows.net/","file":"https://6ynst8ytvcms52eviy9cme3e.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000003","name":"clitest000003","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"keyCreationTime":{"key1":"2021-05-17T02:23:37.3756660Z","key2":"2021-05-17T02:23:37.3756660Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-17T02:23:37.3756660Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-17T02:23:37.3756660Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-05-17T02:23:37.2975498Z","primaryEndpoints":{"dfs":"https://clitest000003.dfs.core.windows.net/","web":"https://clitest000003.z5.web.core.windows.net/","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":"westus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yishitest/providers/Microsoft.Storage/storageAccounts/yssaeuap","name":"yssaeuap","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-11-10T03:37:15.2571646Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-11-10T03:37:15.2571646Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-11-10T03:37:15.1871764Z","primaryEndpoints":{"dfs":"https://yssaeuap.dfs.core.windows.net/","web":"https://yssaeuap.z3.web.core.windows.net/","blob":"https://yssaeuap.blob.core.windows.net/","queue":"https://yssaeuap.queue.core.windows.net/","table":"https://yssaeuap.table.core.windows.net/","file":"https://yssaeuap.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available","secondaryLocation":"centraluseuap","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yssaeuap-secondary.dfs.core.windows.net/","web":"https://yssaeuap-secondary.z3.web.core.windows.net/","blob":"https://yssaeuap-secondary.blob.core.windows.net/","queue":"https://yssaeuap-secondary.queue.core.windows.net/","table":"https://yssaeuap-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yishitest/providers/Microsoft.Storage/storageAccounts/yssanew","name":"yssanew","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-11-06T09:18:53.7220848Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-11-06T09:18:53.7220848Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-11-06T09:18:53.6620997Z","primaryEndpoints":{"dfs":"https://yssanew.dfs.core.windows.net/","web":"https://yssanew.z3.web.core.windows.net/","blob":"https://yssanew.blob.core.windows.net/","queue":"https://yssanew.queue.core.windows.net/","table":"https://yssanew.table.core.windows.net/","file":"https://yssanew.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available","secondaryLocation":"centraluseuap","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yssanew-secondary.dfs.core.windows.net/","web":"https://yssanew-secondary.z3.web.core.windows.net/","blob":"https://yssanew-secondary.blob.core.windows.net/","queue":"https://yssanew-secondary.queue.core.windows.net/","table":"https://yssanew-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/zuhdefault","name":"zuhdefault","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-29T06:08:24.0050046Z","key2":"2021-04-29T06:08:24.0050046Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-29T06:08:24.0100198Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-29T06:08:24.0100198Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-29T06:08:23.9249868Z","primaryEndpoints":{"dfs":"https://zuhdefault.dfs.core.windows.net/","web":"https://zuhdefault.z3.web.core.windows.net/","blob":"https://zuhdefault.blob.core.windows.net/","queue":"https://zuhdefault.queue.core.windows.net/","table":"https://zuhdefault.table.core.windows.net/","file":"https://zuhdefault.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available","secondaryLocation":"centraluseuap","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://zuhdefault-secondary.dfs.core.windows.net/","web":"https://zuhdefault-secondary.z3.web.core.windows.net/","blob":"https://zuhdefault-secondary.blob.core.windows.net/","queue":"https://zuhdefault-secondary.queue.core.windows.net/","table":"https://zuhdefault-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/zuhtest","name":"zuhtest","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"identity":{"type":"ManagedServiceIdentity","userAssignedIdentity":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.ManagedIdentity/userAssignedIdentities/zuhid"},"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-14T07:13:45.1503826Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-14T07:13:45.1503826Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Creating","creationTime":"2021-01-14T07:13:45.0603798Z","primaryEndpoints":{"dfs":"https://zuhtest.dfs.core.windows.net/","web":"https://zuhtest.z3.web.core.windows.net/","blob":"https://zuhtest.blob.core.windows.net/","queue":"https://zuhtest.queue.core.windows.net/","table":"https://zuhtest.table.core.windows.net/","file":"https://zuhtest.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available","secondaryLocation":"centraluseuap","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://zuhtest-secondary.dfs.core.windows.net/","web":"https://zuhtest-secondary.z3.web.core.windows.net/","blob":"https://zuhtest-secondary.blob.core.windows.net/","queue":"https://zuhtest-secondary.queue.core.windows.net/","table":"https://zuhtest-secondary.table.core.windows.net/"}}}]}' headers: cache-control: - no-cache content-length: - - '2796' + - '149552' content-type: - application/json; charset=utf-8 date: - - Wed, 07 Apr 2021 03:28:44 GMT + - Mon, 17 May 2021 02:24:23 GMT expires: - '-1' pragma: @@ -548,16 +577,22 @@ interactions: x-content-type-options: - nosniff x-ms-original-request-ids: - - 59475a5d-33b6-40fe-a4a1-50da8a934860 - - dbc176e5-e1cc-4e1b-a3cb-21f4fe75b751 + - c6948474-caf6-44d1-9851-9547a2708f4e + - 5fb125b4-8d73-4134-b7e8-86984a300e76 + - b13b0071-ab8b-4c0e-879b-cc25470af4bc + - 836b491d-5bb1-40be-8dec-0c63b48ba069 + - 2533c34a-fb3f-4abd-bd82-f5f0d78dedc5 + - b5be2e57-332f-4add-8f7d-03bc00204ed2 + - 10a73649-9395-4f00-b957-a3ca901920a2 + - 9f27614a-2ee4-4653-a4f4-e95a9e1e0c8b status: code: 200 message: OK - request: body: '{"RecordTypes": "Requests, Event, Exceptions, Metrics, PageViews", "DestinationType": - "Blob", "DestinationAddress": "https://component000002.blob.core.windows.net/ctna?se=2020-10-27&sp=w&sv=2018-11-09&sr=c", - "IsEnabled": "true", "DestinationStorageSubscriptionId": "92f95d8f-3c67-4124-91c7-8cf07cdbf241", - "DestinationStorageLocationId": "westus", "DestinationAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/component000002"}' + "Blob", "DestinationAddress": "https://clitest000002.blob.core.windows.net/ctna?se=2020-10-27&sp=w&sv=2018-11-09&sr=c", + "IsEnabled": "true", "DestinationStorageSubscriptionId": "0b1f6471-1bf0-4dda-aec3-cb9272f09590", + "DestinationStorageLocationId": "westus", "DestinationAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002"}' headers: Accept: - application/json @@ -574,14 +609,14 @@ interactions: ParameterSetName: - -g --app --record-types --dest-account --dest-container --dest-sub-id --dest-sas User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.3 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19043-SP0) method: POST uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/demoApp/exportconfiguration?api-version=2015-05-01 response: body: - string: '[{"ExportId":"Ig20S7a5pYRrqKXYwaCuDgU8TKw=","InstrumentationKey":"12a46aba-e71b-40cb-bba4-05500a411b87","RecordTypes":"Requests, - Event, Exceptions, Metrics, PageViews","ApplicationName":"demoapp","SubscriptionId":"92f95d8f-3c67-4124-91c7-8cf07cdbf241","ResourceGroup":"clitest.rg000001","DestinationStorageSubscriptionId":"92f95d8f-3c67-4124-91c7-8cf07cdbf241","DestinationStorageLocationId":"westus","DestinationAccountId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/component000002","DestinationType":"Blob","IsUserEnabled":"True","LastUserUpdate":"2021-04-07T03:28:47.4777917Z","NotificationQueueEnabled":"False","DestinationKustoCluster":null,"DestinationKustoDatabase":null,"TransformationType":"Default","ExportStatus":"Preparing","LastSuccessTime":null,"LastGapTime":null,"PermanentErrorReason":"None","StorageName":"component000002","ContainerName":"ctna"}]' + string: '[{"ExportId":"IVFYW_3Fjo_zr4RlWjX93FSblmE=","InstrumentationKey":"93ae3975-8a52-4b2a-b4f5-887a7fe0ef06","RecordTypes":"Requests, + Event, Exceptions, Metrics, PageViews","ApplicationName":"demoapp","SubscriptionId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","ResourceGroup":"clitest.rg000001","DestinationStorageSubscriptionId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","DestinationStorageLocationId":"westus","DestinationAccountId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","DestinationType":"Blob","IsUserEnabled":"True","LastUserUpdate":"2021-05-17T02:24:24.0417309Z","NotificationQueueEnabled":"False","DestinationKustoCluster":null,"DestinationKustoDatabase":null,"TransformationType":"Default","ExportStatus":"Preparing","LastSuccessTime":null,"LastGapTime":null,"PermanentErrorReason":"None","StorageName":"clitest000002","ContainerName":"ctna"}]' headers: access-control-expose-headers: - Request-Context @@ -592,7 +627,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 07 Apr 2021 03:28:47 GMT + - Mon, 17 May 2021 02:24:23 GMT expires: - '-1' pragma: @@ -632,14 +667,14 @@ interactions: ParameterSetName: - -g --app --id User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.3 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/demoApp/exportconfiguration/Ig20S7a5pYRrqKXYwaCuDgU8TKw%3D?api-version=2015-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/demoApp/exportconfiguration/IVFYW_3Fjo_zr4RlWjX93FSblmE%3D?api-version=2015-05-01 response: body: - string: '{"ExportId":"Ig20S7a5pYRrqKXYwaCuDgU8TKw=","InstrumentationKey":"12a46aba-e71b-40cb-bba4-05500a411b87","RecordTypes":"Requests, - Event, Exceptions, Metrics, PageViews","ApplicationName":"demoapp","SubscriptionId":"92f95d8f-3c67-4124-91c7-8cf07cdbf241","ResourceGroup":"clitest.rg000001","DestinationStorageSubscriptionId":"92f95d8f-3c67-4124-91c7-8cf07cdbf241","DestinationStorageLocationId":"westus","DestinationAccountId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/component000002","DestinationType":"Blob","IsUserEnabled":"True","LastUserUpdate":"2021-04-07T03:28:47.4777917Z","NotificationQueueEnabled":"False","DestinationKustoCluster":null,"DestinationKustoDatabase":null,"TransformationType":"Default","ExportStatus":"Preparing","LastSuccessTime":null,"LastGapTime":null,"PermanentErrorReason":"None","StorageName":"component000002","ContainerName":"ctna"}' + string: '{"ExportId":"IVFYW_3Fjo_zr4RlWjX93FSblmE=","InstrumentationKey":"93ae3975-8a52-4b2a-b4f5-887a7fe0ef06","RecordTypes":"Requests, + Event, Exceptions, Metrics, PageViews","ApplicationName":"demoapp","SubscriptionId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","ResourceGroup":"clitest.rg000001","DestinationStorageSubscriptionId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","DestinationStorageLocationId":"westus","DestinationAccountId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","DestinationType":"Blob","IsUserEnabled":"True","LastUserUpdate":"2021-05-17T02:24:24.0417309Z","NotificationQueueEnabled":"False","DestinationKustoCluster":null,"DestinationKustoDatabase":null,"TransformationType":"Default","ExportStatus":"Preparing","LastSuccessTime":null,"LastGapTime":null,"PermanentErrorReason":"None","StorageName":"clitest000002","ContainerName":"ctna"}' headers: access-control-expose-headers: - Request-Context @@ -650,7 +685,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 07 Apr 2021 03:28:48 GMT + - Mon, 17 May 2021 02:24:23 GMT expires: - '-1' pragma: @@ -691,14 +726,14 @@ interactions: - -g --app --id --record-types --dest-account --dest-container --dest-sub-id --dest-sas User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.3 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/demoApp/exportconfiguration/Ig20S7a5pYRrqKXYwaCuDgU8TKw%3D?api-version=2015-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/demoApp/exportconfiguration/IVFYW_3Fjo_zr4RlWjX93FSblmE%3D?api-version=2015-05-01 response: body: - string: '{"ExportId":"Ig20S7a5pYRrqKXYwaCuDgU8TKw=","InstrumentationKey":"12a46aba-e71b-40cb-bba4-05500a411b87","RecordTypes":"Requests, - Event, Exceptions, Metrics, PageViews","ApplicationName":"demoapp","SubscriptionId":"92f95d8f-3c67-4124-91c7-8cf07cdbf241","ResourceGroup":"clitest.rg000001","DestinationStorageSubscriptionId":"92f95d8f-3c67-4124-91c7-8cf07cdbf241","DestinationStorageLocationId":"westus","DestinationAccountId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/component000002","DestinationType":"Blob","IsUserEnabled":"True","LastUserUpdate":"2021-04-07T03:28:47.4777917Z","NotificationQueueEnabled":"False","DestinationKustoCluster":null,"DestinationKustoDatabase":null,"TransformationType":"Default","ExportStatus":"Preparing","LastSuccessTime":null,"LastGapTime":null,"PermanentErrorReason":"None","StorageName":"component000002","ContainerName":"ctna"}' + string: '{"ExportId":"IVFYW_3Fjo_zr4RlWjX93FSblmE=","InstrumentationKey":"93ae3975-8a52-4b2a-b4f5-887a7fe0ef06","RecordTypes":"Requests, + Event, Exceptions, Metrics, PageViews","ApplicationName":"demoapp","SubscriptionId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","ResourceGroup":"clitest.rg000001","DestinationStorageSubscriptionId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","DestinationStorageLocationId":"westus","DestinationAccountId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002","DestinationType":"Blob","IsUserEnabled":"True","LastUserUpdate":"2021-05-17T02:24:24.0417309Z","NotificationQueueEnabled":"False","DestinationKustoCluster":null,"DestinationKustoDatabase":null,"TransformationType":"Default","ExportStatus":"Preparing","LastSuccessTime":null,"LastGapTime":null,"PermanentErrorReason":"None","StorageName":"clitest000002","ContainerName":"ctna"}' headers: access-control-expose-headers: - Request-Context @@ -709,7 +744,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 07 Apr 2021 03:28:50 GMT + - Mon, 17 May 2021 02:24:25 GMT expires: - '-1' pragma: @@ -750,21 +785,22 @@ interactions: - -g --app --id --record-types --dest-account --dest-container --dest-sub-id --dest-sas User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/storageAccounts?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/storageAccounts?api-version=2021-04-01 response: body: - string: '{"value":[{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/component000002","name":"component000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-07T03:27:29.0296484Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-07T03:27:29.0296484Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-07T03:27:28.9359255Z","primaryEndpoints":{"dfs":"https://component000002.dfs.core.windows.net/","web":"https://component000002.z22.web.core.windows.net/","blob":"https://component000002.blob.core.windows.net/","queue":"https://component000002.queue.core.windows.net/","table":"https://component000002.table.core.windows.net/","file":"https://component000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/component000003","name":"component000003","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-07T03:27:59.0196782Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-07T03:27:59.0196782Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-07T03:27:58.9415366Z","primaryEndpoints":{"dfs":"https://component000003.dfs.core.windows.net/","web":"https://component000003.z5.web.core.windows.net/","blob":"https://component000003.blob.core.windows.net/","queue":"https://component000003.queue.core.windows.net/","table":"https://component000003.table.core.windows.net/","file":"https://component000003.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available"}}]}' + string: '{"value":[{"sku":{"name":"Standard_RAGZRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-beta/providers/Microsoft.Storage/storageAccounts/azureclibetarelease","name":"azureclibetarelease","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-11T10:32:24.8036511Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-11T10:32:24.8036511Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-06-11T10:32:24.7099044Z","primaryEndpoints":{"dfs":"https://azureclibetarelease.dfs.core.windows.net/","web":"https://azureclibetarelease.z13.web.core.windows.net/","blob":"https://azureclibetarelease.blob.core.windows.net/","queue":"https://azureclibetarelease.queue.core.windows.net/","table":"https://azureclibetarelease.table.core.windows.net/","file":"https://azureclibetarelease.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://azureclibetarelease-secondary.dfs.core.windows.net/","web":"https://azureclibetarelease-secondary.z13.web.core.windows.net/","blob":"https://azureclibetarelease-secondary.blob.core.windows.net/","queue":"https://azureclibetarelease-secondary.queue.core.windows.net/","table":"https://azureclibetarelease-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestresult/providers/Microsoft.Storage/storageAccounts/clitestresultstac","name":"clitestresultstac","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-15T06:20:52.7844389Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-15T06:20:52.7844389Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-07-15T06:20:52.6907255Z","primaryEndpoints":{"dfs":"https://clitestresultstac.dfs.core.windows.net/","web":"https://clitestresultstac.z13.web.core.windows.net/","blob":"https://clitestresultstac.blob.core.windows.net/","queue":"https://clitestresultstac.queue.core.windows.net/","table":"https://clitestresultstac.table.core.windows.net/","file":"https://clitestresultstac.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://clitestresultstac-secondary.dfs.core.windows.net/","web":"https://clitestresultstac-secondary.z13.web.core.windows.net/","blob":"https://clitestresultstac-secondary.blob.core.windows.net/","queue":"https://clitestresultstac-secondary.queue.core.windows.net/","table":"https://clitestresultstac-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fytest/providers/Microsoft.Storage/storageAccounts/fystac","name":"fystac","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-08T03:10:13.4426715Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-08T03:10:13.4426715Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-04-08T03:10:13.3645539Z","primaryEndpoints":{"dfs":"https://fystac.dfs.core.windows.net/","web":"https://fystac.z13.web.core.windows.net/","blob":"https://fystac.blob.core.windows.net/","queue":"https://fystac.queue.core.windows.net/","table":"https://fystac.table.core.windows.net/","file":"https://fystac.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://fystac-secondary.dfs.core.windows.net/","web":"https://fystac-secondary.z13.web.core.windows.net/","blob":"https://fystac-secondary.blob.core.windows.net/","queue":"https://fystac-secondary.queue.core.windows.net/","table":"https://fystac-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jiasli-cli-dev/providers/Microsoft.Storage/storageAccounts/jlwin","name":"jlwin","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-05-12T01:23:36.3068024Z","key2":"2021-05-12T01:23:36.3068024Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"allowSharedKeyAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-12T01:23:36.3068024Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-12T01:23:36.3068024Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-05-12T01:23:36.1974223Z","primaryEndpoints":{"dfs":"https://jlwin.dfs.core.windows.net/","web":"https://jlwin.z13.web.core.windows.net/","blob":"https://jlwin.blob.core.windows.net/","queue":"https://jlwin.queue.core.windows.net/","table":"https://jlwin.table.core.windows.net/","file":"https://jlwin.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://jlwin-secondary.dfs.core.windows.net/","web":"https://jlwin-secondary.z13.web.core.windows.net/","blob":"https://jlwin-secondary.blob.core.windows.net/","queue":"https://jlwin-secondary.queue.core.windows.net/","table":"https://jlwin-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-weidxu/providers/Microsoft.Storage/storageAccounts/lcok2weidxu","name":"lcok2weidxu","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"allowSharedKeyAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-22T03:19:18.1561890Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-22T03:19:18.1561890Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-01-22T03:19:18.0468159Z","primaryEndpoints":{"dfs":"https://lcok2weidxu.dfs.core.windows.net/","web":"https://lcok2weidxu.z13.web.core.windows.net/","blob":"https://lcok2weidxu.blob.core.windows.net/","queue":"https://lcok2weidxu.queue.core.windows.net/","table":"https://lcok2weidxu.table.core.windows.net/","file":"https://lcok2weidxu.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/portal2cli/providers/Microsoft.Storage/storageAccounts/portal2clistorage","name":"portal2clistorage","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-14T07:23:08.8752602Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-14T07:23:08.8752602Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-10-14T07:23:08.7502552Z","primaryEndpoints":{"dfs":"https://portal2clistorage.dfs.core.windows.net/","web":"https://portal2clistorage.z13.web.core.windows.net/","blob":"https://portal2clistorage.blob.core.windows.net/","queue":"https://portal2clistorage.queue.core.windows.net/","table":"https://portal2clistorage.table.core.windows.net/","file":"https://portal2clistorage.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://portal2clistorage-secondary.dfs.core.windows.net/","web":"https://portal2clistorage-secondary.z13.web.core.windows.net/","blob":"https://portal2clistorage-secondary.blob.core.windows.net/","queue":"https://portal2clistorage-secondary.queue.core.windows.net/","table":"https://portal2clistorage-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Storage/storageAccounts/qianwenadls","name":"qianwenadls","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"isHnsEnabled":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-01T10:11:06.0357634Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-01T10:11:06.0357634Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-04-01T10:11:05.9576622Z","primaryEndpoints":{"dfs":"https://qianwenadls.dfs.core.windows.net/","web":"https://qianwenadls.z13.web.core.windows.net/","blob":"https://qianwenadls.blob.core.windows.net/","queue":"https://qianwenadls.queue.core.windows.net/","table":"https://qianwenadls.table.core.windows.net/","file":"https://qianwenadls.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://qianwenadls-secondary.dfs.core.windows.net/","web":"https://qianwenadls-secondary.z13.web.core.windows.net/","blob":"https://qianwenadls-secondary.blob.core.windows.net/","queue":"https://qianwenadls-secondary.queue.core.windows.net/","table":"https://qianwenadls-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Storage/storageAccounts/qianwendev","name":"qianwendev","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Network/virtualNetworks/QIAN/subnets/default","action":"Allow","state":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Network/virtualNetworks/qianwendev/subnets/default","action":"Allow","state":"Succeeded"}],"ipRules":[{"value":"23.45.1.0/24","action":"Allow"},{"value":"23.45.1.1/24","action":"Allow"}],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-12T03:29:28.0084761Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-12T03:29:28.0084761Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-02-12T03:29:27.9459854Z","primaryEndpoints":{"dfs":"https://qianwendev.dfs.core.windows.net/","web":"https://qianwendev.z13.web.core.windows.net/","blob":"https://qianwendev.blob.core.windows.net/","queue":"https://qianwendev.queue.core.windows.net/","table":"https://qianwendev.table.core.windows.net/","file":"https://qianwendev.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://qianwendev-secondary.dfs.core.windows.net/","web":"https://qianwendev-secondary.z13.web.core.windows.net/","blob":"https://qianwendev-secondary.blob.core.windows.net/","queue":"https://qianwendev-secondary.queue.core.windows.net/","table":"https://qianwendev-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Storage/storageAccounts/qianwenhpctarget","name":"qianwenhpctarget","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T07:09:20.3073299Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T07:09:20.3073299Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-06T07:09:20.2291899Z","primaryEndpoints":{"dfs":"https://qianwenhpctarget.dfs.core.windows.net/","web":"https://qianwenhpctarget.z13.web.core.windows.net/","blob":"https://qianwenhpctarget.blob.core.windows.net/","queue":"https://qianwenhpctarget.queue.core.windows.net/","table":"https://qianwenhpctarget.table.core.windows.net/","file":"https://qianwenhpctarget.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://qianwenhpctarget-secondary.dfs.core.windows.net/","web":"https://qianwenhpctarget-secondary.z13.web.core.windows.net/","blob":"https://qianwenhpctarget-secondary.blob.core.windows.net/","queue":"https://qianwenhpctarget-secondary.queue.core.windows.net/","table":"https://qianwenhpctarget-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yishitest/providers/Microsoft.Storage/storageAccounts/ystestpolicy","name":"ystestpolicy","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"sasPolicy":{"sasExpirationPeriod":"12.00:05:25","expirationAction":"Log"},"keyPolicy":{"keyExpirationPeriodInDays":3},"keyCreationTime":{"key1":"2021-04-29T03:24:08.1682761Z","key2":"2021-04-29T03:24:08.1682761Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-29T03:24:08.1682761Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-29T03:24:08.1682761Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-29T03:24:08.0593459Z","primaryEndpoints":{"dfs":"https://ystestpolicy.dfs.core.windows.net/","web":"https://ystestpolicy.z13.web.core.windows.net/","blob":"https://ystestpolicy.blob.core.windows.net/","queue":"https://ystestpolicy.queue.core.windows.net/","table":"https://ystestpolicy.table.core.windows.net/","file":"https://ystestpolicy.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-yueshi/providers/Microsoft.Storage/storageAccounts/yueshi4debug","name":"yueshi4debug","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-09-14T09:43:28.2246331Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-09-14T09:43:28.2246331Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-09-14T09:43:28.1308789Z","primaryEndpoints":{"dfs":"https://yueshi4debug.dfs.core.windows.net/","web":"https://yueshi4debug.z13.web.core.windows.net/","blob":"https://yueshi4debug.blob.core.windows.net/","queue":"https://yueshi4debug.queue.core.windows.net/","table":"https://yueshi4debug.table.core.windows.net/","file":"https://yueshi4debug.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yueshi4debug-secondary.dfs.core.windows.net/","web":"https://yueshi4debug-secondary.z13.web.core.windows.net/","blob":"https://yueshi4debug-secondary.blob.core.windows.net/","queue":"https://yueshi4debug-secondary.queue.core.windows.net/","table":"https://yueshi4debug-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-live-test-rg/providers/Microsoft.Storage/storageAccounts/advisortestsa","name":"advisortestsa","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-29T02:39:47.2953520Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-29T02:39:47.2953520Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-10-29T02:39:47.1860196Z","primaryEndpoints":{"dfs":"https://advisortestsa.dfs.core.windows.net/","web":"https://advisortestsa.z22.web.core.windows.net/","blob":"https://advisortestsa.blob.core.windows.net/","queue":"https://advisortestsa.queue.core.windows.net/","table":"https://advisortestsa.table.core.windows.net/","file":"https://advisortestsa.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://advisortestsa-secondary.dfs.core.windows.net/","web":"https://advisortestsa-secondary.z22.web.core.windows.net/","blob":"https://advisortestsa-secondary.blob.core.windows.net/","queue":"https://advisortestsa-secondary.queue.core.windows.net/","table":"https://advisortestsa-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azure-cli-edge/providers/Microsoft.Storage/storageAccounts/azextensionedge","name":"azextensionedge","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"allowSharedKeyAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-22T08:51:57.7728758Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-22T08:51:57.7728758Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-01-22T08:51:57.6947156Z","primaryEndpoints":{"dfs":"https://azextensionedge.dfs.core.windows.net/","web":"https://azextensionedge.z22.web.core.windows.net/","blob":"https://azextensionedge.blob.core.windows.net/","queue":"https://azextensionedge.queue.core.windows.net/","table":"https://azextensionedge.table.core.windows.net/","file":"https://azextensionedge.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://azextensionedge-secondary.dfs.core.windows.net/","web":"https://azextensionedge-secondary.z22.web.core.windows.net/","blob":"https://azextensionedge-secondary.blob.core.windows.net/","queue":"https://azextensionedge-secondary.queue.core.windows.net/","table":"https://azextensionedge-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azure-cli-edge/providers/Microsoft.Storage/storageAccounts/azurecliedge","name":"azurecliedge","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-13T08:41:36.3326539Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-13T08:41:36.3326539Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-01-13T08:41:36.2389304Z","primaryEndpoints":{"dfs":"https://azurecliedge.dfs.core.windows.net/","web":"https://azurecliedge.z22.web.core.windows.net/","blob":"https://azurecliedge.blob.core.windows.net/","queue":"https://azurecliedge.queue.core.windows.net/","table":"https://azurecliedge.table.core.windows.net/","file":"https://azurecliedge.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","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":{"keyCreationTime":{"key1":"2021-05-17T02:23:10.7417244Z","key2":"2021-05-17T02:23:10.7417244Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-17T02:23:10.7417244Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-17T02:23:10.7417244Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-05-17T02:23:10.6479729Z","primaryEndpoints":{"dfs":"https://clitest000002.dfs.core.windows.net/","web":"https://clitest000002.z22.web.core.windows.net/","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/cli_test_gallery_image_version_vhddmban3xow2tgyly5j6xaruoliqaj443p3brq46idi/providers/Microsoft.Storage/storageAccounts/clitest4ydp57ynxl5tcjktl","name":"clitest4ydp57ynxl5tcjktl","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-21T06:49:12.4084643Z","key2":"2021-04-21T06:49:12.4084643Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-21T06:49:12.4240887Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-21T06:49:12.4240887Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-21T06:49:12.3303684Z","primaryEndpoints":{"blob":"https://clitest4ydp57ynxl5tcjktl.blob.core.windows.net/","queue":"https://clitest4ydp57ynxl5tcjktl.queue.core.windows.net/","table":"https://clitest4ydp57ynxl5tcjktl.table.core.windows.net/","file":"https://clitest4ydp57ynxl5tcjktl.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_gallery_image_version_vhddqxkb6y7azmjc53fhkyr66se7po4i2ve5es2y46av/providers/Microsoft.Storage/storageAccounts/clitestuxrcexs7kgo3dqsiz","name":"clitestuxrcexs7kgo3dqsiz","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-21T07:08:35.7386114Z","key2":"2021-04-21T07:08:35.7386114Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-21T07:08:35.7386114Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-21T07:08:35.7386114Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-21T07:08:35.6448419Z","primaryEndpoints":{"blob":"https://clitestuxrcexs7kgo3dqsiz.blob.core.windows.net/","queue":"https://clitestuxrcexs7kgo3dqsiz.queue.core.windows.net/","table":"https://clitestuxrcexs7kgo3dqsiz.table.core.windows.net/","file":"https://clitestuxrcexs7kgo3dqsiz.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jiasli-cli-dev/providers/Microsoft.Storage/storageAccounts/jlstwu","name":"jlstwu","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-12T06:29:22.9138997Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-12T06:29:22.9138997Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-01-12T06:29:22.8201627Z","primaryEndpoints":{"dfs":"https://jlstwu.dfs.core.windows.net/","web":"https://jlstwu.z22.web.core.windows.net/","blob":"https://jlstwu.blob.core.windows.net/","queue":"https://jlstwu.queue.core.windows.net/","table":"https://jlstwu.table.core.windows.net/","file":"https://jlstwu.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/kairu-persist/providers/Microsoft.Storage/storageAccounts/kairu","name":"kairu","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-13T07:35:19.0950431Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-13T07:35:19.0950431Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-01-13T07:35:18.9856251Z","primaryEndpoints":{"blob":"https://kairu.blob.core.windows.net/","queue":"https://kairu.queue.core.windows.net/","table":"https://kairu.table.core.windows.net/","file":"https://kairu.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-live-test-rg/providers/Microsoft.Storage/storageAccounts/locksa","name":"locksa","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"azureFilesIdentityBasedAuthentication":{"directoryServiceOptions":"None"},"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-29T03:24:17.1371655Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-29T03:24:17.1371655Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-10-29T03:24:17.0434116Z","primaryEndpoints":{"dfs":"https://locksa.dfs.core.windows.net/","web":"https://locksa.z22.web.core.windows.net/","blob":"https://locksa.blob.core.windows.net/","queue":"https://locksa.queue.core.windows.net/","table":"https://locksa.table.core.windows.net/","file":"https://locksa.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://locksa-secondary.dfs.core.windows.net/","web":"https://locksa-secondary.z22.web.core.windows.net/","blob":"https://locksa-secondary.blob.core.windows.net/","queue":"https://locksa-secondary.queue.core.windows.net/","table":"https://locksa-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fytest/providers/Microsoft.Storage/storageAccounts/sharedvmextension","name":"sharedvmextension","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-06T03:37:04.8004229Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-06T03:37:04.8004229Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-07-06T03:37:04.7066555Z","primaryEndpoints":{"dfs":"https://sharedvmextension.dfs.core.windows.net/","web":"https://sharedvmextension.z22.web.core.windows.net/","blob":"https://sharedvmextension.blob.core.windows.net/","queue":"https://sharedvmextension.queue.core.windows.net/","table":"https://sharedvmextension.table.core.windows.net/","file":"https://sharedvmextension.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://sharedvmextension-secondary.dfs.core.windows.net/","web":"https://sharedvmextension-secondary.z22.web.core.windows.net/","blob":"https://sharedvmextension-secondary.blob.core.windows.net/","queue":"https://sharedvmextension-secondary.queue.core.windows.net/","table":"https://sharedvmextension-secondary.table.core.windows.net/"}}},{"identity":{"principalId":"c120e453-0fb4-41f4-b9e7-ac280e27992a","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","type":"SystemAssigned"},"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yishitest/providers/Microsoft.Storage/storageAccounts/testcreationtime","name":"testcreationtime","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"sasPolicy":{"sasExpirationPeriod":"2.23:59:59","expirationAction":"Log"},"keyCreationTime":{"key1":"2021-04-08T02:43:57.2406486Z","key2":"2021-04-08T03:30:07.4783308Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-08T02:43:57.2406486Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-08T02:43:57.2406486Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-08T02:43:57.1469079Z","primaryEndpoints":{"dfs":"https://testcreationtime.dfs.core.windows.net/","web":"https://testcreationtime.z22.web.core.windows.net/","blob":"https://testcreationtime.blob.core.windows.net/","queue":"https://testcreationtime.queue.core.windows.net/","table":"https://testcreationtime.table.core.windows.net/","file":"https://testcreationtime.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://testcreationtime-secondary.dfs.core.windows.net/","web":"https://testcreationtime-secondary.z22.web.core.windows.net/","blob":"https://testcreationtime-secondary.blob.core.windows.net/","queue":"https://testcreationtime-secondary.queue.core.windows.net/","table":"https://testcreationtime-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yishitest/providers/Microsoft.Storage/storageAccounts/yssa","name":"yssa","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":"2021-04-08T03:29:15.4919591Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-27T14:55:33.7123620Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-27T14:55:33.7123620Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-10-27T14:55:33.6342573Z","primaryEndpoints":{"dfs":"https://yssa.dfs.core.windows.net/","web":"https://yssa.z22.web.core.windows.net/","blob":"https://yssa.blob.core.windows.net/","queue":"https://yssa.queue.core.windows.net/","table":"https://yssa.table.core.windows.net/","file":"https://yssa.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yssa-secondary.dfs.core.windows.net/","web":"https://yssa-secondary.z22.web.core.windows.net/","blob":"https://yssa-secondary.blob.core.windows.net/","queue":"https://yssa-secondary.queue.core.windows.net/","table":"https://yssa-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yishitest/providers/Microsoft.Storage/storageAccounts/yssaadls","name":"yssaadls","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-03-11T08:16:02.3188031Z","key2":"2021-03-11T08:16:02.3188031Z"},"privateEndpointConnections":[],"isHnsEnabled":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-11T08:16:02.3188031Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-11T08:16:02.3188031Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-03-11T08:16:02.2406559Z","primaryEndpoints":{"dfs":"https://yssaadls.dfs.core.windows.net/","web":"https://yssaadls.z22.web.core.windows.net/","blob":"https://yssaadls.blob.core.windows.net/","queue":"https://yssaadls.queue.core.windows.net/","table":"https://yssaadls.table.core.windows.net/","file":"https://yssaadls.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yssaadls-secondary.dfs.core.windows.net/","web":"https://yssaadls-secondary.z22.web.core.windows.net/","blob":"https://yssaadls-secondary.blob.core.windows.net/","queue":"https://yssaadls-secondary.queue.core.windows.net/","table":"https://yssaadls-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"BlobStorage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yishitest/providers/Microsoft.Storage/storageAccounts/yssatmp","name":"yssatmp","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-02-04T07:19:47.0265181Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-02-04T07:19:47.0265181Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-02-04T07:19:46.9171303Z","primaryEndpoints":{"dfs":"https://yssatmp.dfs.core.windows.net/","blob":"https://yssatmp.blob.core.windows.net/","table":"https://yssatmp.table.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yssatmp-secondary.dfs.core.windows.net/","blob":"https://yssatmp-secondary.blob.core.windows.net/","table":"https://yssatmp-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureSDKTest_reserved/providers/Microsoft.Storage/storageAccounts/azuresdktest","name":"azuresdktest","type":"Microsoft.Storage/storageAccounts","location":"eastasia","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-12T06:32:07.1157877Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-12T06:32:07.1157877Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-08-12T06:32:07.0689199Z","primaryEndpoints":{"dfs":"https://azuresdktest.dfs.core.windows.net/","web":"https://azuresdktest.z7.web.core.windows.net/","blob":"https://azuresdktest.blob.core.windows.net/","queue":"https://azuresdktest.queue.core.windows.net/","table":"https://azuresdktest.table.core.windows.net/","file":"https://azuresdktest.file.core.windows.net/"},"primaryLocation":"eastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rggrglkh7zr7/providers/Microsoft.Storage/storageAccounts/clitest2f63bh43aix4wcnlh","name":"clitest2f63bh43aix4wcnlh","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-22T08:17:38.5541453Z","key2":"2021-04-22T08:17:38.5541453Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:17:38.5541453Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:17:38.5541453Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-22T08:17:38.4760163Z","primaryEndpoints":{"blob":"https://clitest2f63bh43aix4wcnlh.blob.core.windows.net/","queue":"https://clitest2f63bh43aix4wcnlh.queue.core.windows.net/","table":"https://clitest2f63bh43aix4wcnlh.table.core.windows.net/","file":"https://clitest2f63bh43aix4wcnlh.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgh5duq2f6uh/providers/Microsoft.Storage/storageAccounts/clitest2vjedutxs37ymp4ni","name":"clitest2vjedutxs37ymp4ni","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T07:13:21.0424866Z","key2":"2021-04-23T07:13:21.0424866Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:21.0581083Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:21.0581083Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T07:13:20.9643257Z","primaryEndpoints":{"blob":"https://clitest2vjedutxs37ymp4ni.blob.core.windows.net/","queue":"https://clitest2vjedutxs37ymp4ni.queue.core.windows.net/","table":"https://clitest2vjedutxs37ymp4ni.table.core.windows.net/","file":"https://clitest2vjedutxs37ymp4ni.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgl6l3rg6atb/providers/Microsoft.Storage/storageAccounts/clitest4sjmiwke5nz3f67pu","name":"clitest4sjmiwke5nz3f67pu","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-22T08:02:15.3305055Z","key2":"2021-04-22T08:02:15.3305055Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:02:15.3305055Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:02:15.3305055Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-22T08:02:15.2523305Z","primaryEndpoints":{"blob":"https://clitest4sjmiwke5nz3f67pu.blob.core.windows.net/","queue":"https://clitest4sjmiwke5nz3f67pu.queue.core.windows.net/","table":"https://clitest4sjmiwke5nz3f67pu.table.core.windows.net/","file":"https://clitest4sjmiwke5nz3f67pu.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgbbt37xr2le/providers/Microsoft.Storage/storageAccounts/clitest5frikrzhxwryrkfel","name":"clitest5frikrzhxwryrkfel","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-22T08:19:22.9620171Z","key2":"2021-04-22T08:19:22.9620171Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:19:22.9776721Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:19:22.9776721Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-22T08:19:22.8838883Z","primaryEndpoints":{"blob":"https://clitest5frikrzhxwryrkfel.blob.core.windows.net/","queue":"https://clitest5frikrzhxwryrkfel.queue.core.windows.net/","table":"https://clitest5frikrzhxwryrkfel.table.core.windows.net/","file":"https://clitest5frikrzhxwryrkfel.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgrc4sjsrzt4/providers/Microsoft.Storage/storageAccounts/clitest63b5vtkhuf7auho6z","name":"clitest63b5vtkhuf7auho6z","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-22T08:17:38.3198561Z","key2":"2021-04-22T08:17:38.3198561Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:17:38.3198561Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:17:38.3198561Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-22T08:17:38.2416459Z","primaryEndpoints":{"blob":"https://clitest63b5vtkhuf7auho6z.blob.core.windows.net/","queue":"https://clitest63b5vtkhuf7auho6z.queue.core.windows.net/","table":"https://clitest63b5vtkhuf7auho6z.table.core.windows.net/","file":"https://clitest63b5vtkhuf7auho6z.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgekim5ct43n/providers/Microsoft.Storage/storageAccounts/clitest6jusqp4qvczw52pql","name":"clitest6jusqp4qvczw52pql","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-22T08:05:08.7847684Z","key2":"2021-04-22T08:05:08.7847684Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:05:08.8003328Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:05:08.8003328Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-22T08:05:08.7065579Z","primaryEndpoints":{"blob":"https://clitest6jusqp4qvczw52pql.blob.core.windows.net/","queue":"https://clitest6jusqp4qvczw52pql.queue.core.windows.net/","table":"https://clitest6jusqp4qvczw52pql.table.core.windows.net/","file":"https://clitest6jusqp4qvczw52pql.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgu7jwflzo6g/providers/Microsoft.Storage/storageAccounts/clitest6qixwlhm5see7ipqv","name":"clitest6qixwlhm5see7ipqv","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T03:42:54.6967487Z","key2":"2021-04-23T03:42:54.6967487Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T03:42:54.6967487Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T03:42:54.6967487Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T03:42:54.6186031Z","primaryEndpoints":{"blob":"https://clitest6qixwlhm5see7ipqv.blob.core.windows.net/","queue":"https://clitest6qixwlhm5see7ipqv.queue.core.windows.net/","table":"https://clitest6qixwlhm5see7ipqv.table.core.windows.net/","file":"https://clitest6qixwlhm5see7ipqv.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgbbt37xr2le/providers/Microsoft.Storage/storageAccounts/clitest74vl6rwuxl5fbuklw","name":"clitest74vl6rwuxl5fbuklw","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-22T08:17:38.2260082Z","key2":"2021-04-22T08:17:38.2260082Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:17:38.2260082Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:17:38.2260082Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-22T08:17:38.1635154Z","primaryEndpoints":{"blob":"https://clitest74vl6rwuxl5fbuklw.blob.core.windows.net/","queue":"https://clitest74vl6rwuxl5fbuklw.queue.core.windows.net/","table":"https://clitest74vl6rwuxl5fbuklw.table.core.windows.net/","file":"https://clitest74vl6rwuxl5fbuklw.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgekim5ct43n/providers/Microsoft.Storage/storageAccounts/clitestaxzz2w4ay2wruyjs5","name":"clitestaxzz2w4ay2wruyjs5","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-22T08:02:15.6585801Z","key2":"2021-04-22T08:02:15.6585801Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:02:15.6585801Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:02:15.6585801Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-22T08:02:15.5804737Z","primaryEndpoints":{"blob":"https://clitestaxzz2w4ay2wruyjs5.blob.core.windows.net/","queue":"https://clitestaxzz2w4ay2wruyjs5.queue.core.windows.net/","table":"https://clitestaxzz2w4ay2wruyjs5.table.core.windows.net/","file":"https://clitestaxzz2w4ay2wruyjs5.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgiudkrkxpl4/providers/Microsoft.Storage/storageAccounts/clitestbiegaggvgwivkqyyi","name":"clitestbiegaggvgwivkqyyi","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T07:13:20.8705764Z","key2":"2021-04-23T07:13:20.8705764Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:20.8861995Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:20.8861995Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T07:13:20.7925187Z","primaryEndpoints":{"blob":"https://clitestbiegaggvgwivkqyyi.blob.core.windows.net/","queue":"https://clitestbiegaggvgwivkqyyi.queue.core.windows.net/","table":"https://clitestbiegaggvgwivkqyyi.table.core.windows.net/","file":"https://clitestbiegaggvgwivkqyyi.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg46ia57tmnz/providers/Microsoft.Storage/storageAccounts/clitestdlxtp24ycnjl3jui2","name":"clitestdlxtp24ycnjl3jui2","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T03:42:54.3217696Z","key2":"2021-04-23T03:42:54.3217696Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T03:42:54.3217696Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T03:42:54.3217696Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T03:42:54.2436164Z","primaryEndpoints":{"blob":"https://clitestdlxtp24ycnjl3jui2.blob.core.windows.net/","queue":"https://clitestdlxtp24ycnjl3jui2.queue.core.windows.net/","table":"https://clitestdlxtp24ycnjl3jui2.table.core.windows.net/","file":"https://clitestdlxtp24ycnjl3jui2.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgv3m577d7ho/providers/Microsoft.Storage/storageAccounts/clitestej2fvhoj3zogyp5e7","name":"clitestej2fvhoj3zogyp5e7","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T03:42:54.7279926Z","key2":"2021-04-23T03:42:54.7279926Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T03:42:54.7279926Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T03:42:54.7279926Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T03:42:54.6342444Z","primaryEndpoints":{"blob":"https://clitestej2fvhoj3zogyp5e7.blob.core.windows.net/","queue":"https://clitestej2fvhoj3zogyp5e7.queue.core.windows.net/","table":"https://clitestej2fvhoj3zogyp5e7.table.core.windows.net/","file":"https://clitestej2fvhoj3zogyp5e7.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgp6ikwpcsq7/providers/Microsoft.Storage/storageAccounts/clitestggvkyebv5o55dhakj","name":"clitestggvkyebv5o55dhakj","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T07:13:21.2300019Z","key2":"2021-04-23T07:13:21.2300019Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:21.2456239Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:21.2456239Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T07:13:21.1518492Z","primaryEndpoints":{"blob":"https://clitestggvkyebv5o55dhakj.blob.core.windows.net/","queue":"https://clitestggvkyebv5o55dhakj.queue.core.windows.net/","table":"https://clitestggvkyebv5o55dhakj.table.core.windows.net/","file":"https://clitestggvkyebv5o55dhakj.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgn6glpfa25c/providers/Microsoft.Storage/storageAccounts/clitestgt3fjzabc7taya5zo","name":"clitestgt3fjzabc7taya5zo","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T07:13:20.6675009Z","key2":"2021-04-23T07:13:20.6675009Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:20.6831653Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:20.6831653Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T07:13:20.5894204Z","primaryEndpoints":{"blob":"https://clitestgt3fjzabc7taya5zo.blob.core.windows.net/","queue":"https://clitestgt3fjzabc7taya5zo.queue.core.windows.net/","table":"https://clitestgt3fjzabc7taya5zo.table.core.windows.net/","file":"https://clitestgt3fjzabc7taya5zo.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgptzwacrnwa/providers/Microsoft.Storage/storageAccounts/clitestivtrt5tp624n63ast","name":"clitestivtrt5tp624n63ast","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-22T08:17:38.1166795Z","key2":"2021-04-22T08:17:38.1166795Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:17:38.1166795Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:17:38.1166795Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-22T08:17:38.0541529Z","primaryEndpoints":{"blob":"https://clitestivtrt5tp624n63ast.blob.core.windows.net/","queue":"https://clitestivtrt5tp624n63ast.queue.core.windows.net/","table":"https://clitestivtrt5tp624n63ast.table.core.windows.net/","file":"https://clitestivtrt5tp624n63ast.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgdc25pvki6m/providers/Microsoft.Storage/storageAccounts/clitestkxu4ahsqaxv42cyyf","name":"clitestkxu4ahsqaxv42cyyf","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-22T08:02:15.7523496Z","key2":"2021-04-22T08:02:15.7523496Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:02:15.7523496Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-22T08:02:15.7523496Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-22T08:02:15.6742355Z","primaryEndpoints":{"blob":"https://clitestkxu4ahsqaxv42cyyf.blob.core.windows.net/","queue":"https://clitestkxu4ahsqaxv42cyyf.queue.core.windows.net/","table":"https://clitestkxu4ahsqaxv42cyyf.table.core.windows.net/","file":"https://clitestkxu4ahsqaxv42cyyf.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgghkyqf7pb5/providers/Microsoft.Storage/storageAccounts/clitestpuea6vlqwxw6ihiws","name":"clitestpuea6vlqwxw6ihiws","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T07:13:21.0581083Z","key2":"2021-04-23T07:13:21.0581083Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:21.0737014Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:21.0737014Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T07:13:20.9799581Z","primaryEndpoints":{"blob":"https://clitestpuea6vlqwxw6ihiws.blob.core.windows.net/","queue":"https://clitestpuea6vlqwxw6ihiws.queue.core.windows.net/","table":"https://clitestpuea6vlqwxw6ihiws.table.core.windows.net/","file":"https://clitestpuea6vlqwxw6ihiws.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg6i4hl6iakg/providers/Microsoft.Storage/storageAccounts/clitestu3p7a7ib4n4y7gt4m","name":"clitestu3p7a7ib4n4y7gt4m","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-30T01:51:53.0814418Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-30T01:51:53.0814418Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2019-12-30T01:51:53.0189478Z","primaryEndpoints":{"blob":"https://clitestu3p7a7ib4n4y7gt4m.blob.core.windows.net/","queue":"https://clitestu3p7a7ib4n4y7gt4m.queue.core.windows.net/","table":"https://clitestu3p7a7ib4n4y7gt4m.table.core.windows.net/","file":"https://clitestu3p7a7ib4n4y7gt4m.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgu7jwflzo6g/providers/Microsoft.Storage/storageAccounts/clitestwqzjytdeun46rphfd","name":"clitestwqzjytdeun46rphfd","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T03:44:35.3668592Z","key2":"2021-04-23T03:44:35.3668592Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T03:44:35.3668592Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T03:44:35.3668592Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T03:44:35.2887580Z","primaryEndpoints":{"blob":"https://clitestwqzjytdeun46rphfd.blob.core.windows.net/","queue":"https://clitestwqzjytdeun46rphfd.queue.core.windows.net/","table":"https://clitestwqzjytdeun46rphfd.table.core.windows.net/","file":"https://clitestwqzjytdeun46rphfd.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgltfej7yr4u/providers/Microsoft.Storage/storageAccounts/clitestwvsg2uskf4i7vjfto","name":"clitestwvsg2uskf4i7vjfto","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-05-13T07:48:30.9247776Z","key2":"2021-05-13T07:48:30.9247776Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-13T07:48:30.9403727Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-13T07:48:30.9403727Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-05-13T07:48:30.8309682Z","primaryEndpoints":{"blob":"https://clitestwvsg2uskf4i7vjfto.blob.core.windows.net/","queue":"https://clitestwvsg2uskf4i7vjfto.queue.core.windows.net/","table":"https://clitestwvsg2uskf4i7vjfto.table.core.windows.net/","file":"https://clitestwvsg2uskf4i7vjfto.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgzjznhcqaoh/providers/Microsoft.Storage/storageAccounts/clitestwznnmnfot33xjztmk","name":"clitestwznnmnfot33xjztmk","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T07:13:20.7299628Z","key2":"2021-04-23T07:13:20.7299628Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:20.7456181Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:20.7456181Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T07:13:20.6518776Z","primaryEndpoints":{"blob":"https://clitestwznnmnfot33xjztmk.blob.core.windows.net/","queue":"https://clitestwznnmnfot33xjztmk.queue.core.windows.net/","table":"https://clitestwznnmnfot33xjztmk.table.core.windows.net/","file":"https://clitestwznnmnfot33xjztmk.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgovptfsocfg/providers/Microsoft.Storage/storageAccounts/clitestz72bbbbv2cio2pmom","name":"clitestz72bbbbv2cio2pmom","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T07:13:21.0112600Z","key2":"2021-04-23T07:13:21.0112600Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:21.0268549Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:21.0268549Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T07:13:20.9330720Z","primaryEndpoints":{"blob":"https://clitestz72bbbbv2cio2pmom.blob.core.windows.net/","queue":"https://clitestz72bbbbv2cio2pmom.queue.core.windows.net/","table":"https://clitestz72bbbbv2cio2pmom.table.core.windows.net/","file":"https://clitestz72bbbbv2cio2pmom.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgxp7uwuibs5/providers/Microsoft.Storage/storageAccounts/clitestzrwidkqplnw3jmz4z","name":"clitestzrwidkqplnw3jmz4z","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-23T07:13:20.6831653Z","key2":"2021-04-23T07:13:20.6831653Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:20.6987004Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-23T07:13:20.6987004Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-23T07:13:20.6049571Z","primaryEndpoints":{"blob":"https://clitestzrwidkqplnw3jmz4z.blob.core.windows.net/","queue":"https://clitestzrwidkqplnw3jmz4z.queue.core.windows.net/","table":"https://clitestzrwidkqplnw3jmz4z.table.core.windows.net/","file":"https://clitestzrwidkqplnw3jmz4z.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cloud-shell-storage-southeastasia/providers/Microsoft.Storage/storageAccounts/cs1100320004dd89524","name":"cs1100320004dd89524","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-03-26T05:48:15.7013062Z","key2":"2021-03-26T05:48:15.7013062Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-26T05:48:15.7169621Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-26T05:48:15.7169621Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-03-26T05:48:15.6545059Z","primaryEndpoints":{"dfs":"https://cs1100320004dd89524.dfs.core.windows.net/","web":"https://cs1100320004dd89524.z23.web.core.windows.net/","blob":"https://cs1100320004dd89524.blob.core.windows.net/","queue":"https://cs1100320004dd89524.queue.core.windows.net/","table":"https://cs1100320004dd89524.table.core.windows.net/","file":"https://cs1100320004dd89524.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureSDKTest_reserved/providers/Microsoft.Storage/storageAccounts/cs1100320007de01867","name":"cs1100320007de01867","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-09-25T03:24:00.9959166Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-09-25T03:24:00.9959166Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-09-25T03:24:00.9490326Z","primaryEndpoints":{"dfs":"https://cs1100320007de01867.dfs.core.windows.net/","web":"https://cs1100320007de01867.z23.web.core.windows.net/","blob":"https://cs1100320007de01867.blob.core.windows.net/","queue":"https://cs1100320007de01867.queue.core.windows.net/","table":"https://cs1100320007de01867.table.core.windows.net/","file":"https://cs1100320007de01867.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cloud-shell-storage-southeastasia/providers/Microsoft.Storage/storageAccounts/cs1100320008debd5bc","name":"cs1100320008debd5bc","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-03-17T07:12:44.1132341Z","key2":"2021-03-17T07:12:44.1132341Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-17T07:12:44.1132341Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-17T07:12:44.1132341Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-03-17T07:12:44.0351358Z","primaryEndpoints":{"dfs":"https://cs1100320008debd5bc.dfs.core.windows.net/","web":"https://cs1100320008debd5bc.z23.web.core.windows.net/","blob":"https://cs1100320008debd5bc.blob.core.windows.net/","queue":"https://cs1100320008debd5bc.queue.core.windows.net/","table":"https://cs1100320008debd5bc.table.core.windows.net/","file":"https://cs1100320008debd5bc.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cloud-shell-storage-southeastasia/providers/Microsoft.Storage/storageAccounts/cs11003200092fe0771","name":"cs11003200092fe0771","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-03-23T07:08:51.1436686Z","key2":"2021-03-23T07:08:51.1436686Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-23T07:08:51.1593202Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-23T07:08:51.1593202Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-03-23T07:08:51.0811120Z","primaryEndpoints":{"dfs":"https://cs11003200092fe0771.dfs.core.windows.net/","web":"https://cs11003200092fe0771.z23.web.core.windows.net/","blob":"https://cs11003200092fe0771.blob.core.windows.net/","queue":"https://cs11003200092fe0771.queue.core.windows.net/","table":"https://cs11003200092fe0771.table.core.windows.net/","file":"https://cs11003200092fe0771.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cloud-shell-storage-southeastasia/providers/Microsoft.Storage/storageAccounts/cs110032000b6f3c90c","name":"cs110032000b6f3c90c","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-05-06T05:28:23.2493456Z","key2":"2021-05-06T05:28:23.2493456Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-06T05:28:23.2493456Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-06T05:28:23.2493456Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-05-06T05:28:23.1868245Z","primaryEndpoints":{"dfs":"https://cs110032000b6f3c90c.dfs.core.windows.net/","web":"https://cs110032000b6f3c90c.z23.web.core.windows.net/","blob":"https://cs110032000b6f3c90c.blob.core.windows.net/","queue":"https://cs110032000b6f3c90c.queue.core.windows.net/","table":"https://cs110032000b6f3c90c.table.core.windows.net/","file":"https://cs110032000b6f3c90c.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cloud-shell-storage-southeastasia/providers/Microsoft.Storage/storageAccounts/cs110032000c31bae71","name":"cs110032000c31bae71","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-04-15T06:39:35.4649198Z","key2":"2021-04-15T06:39:35.4649198Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-15T06:39:35.4649198Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-15T06:39:35.4649198Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-15T06:39:35.4180004Z","primaryEndpoints":{"dfs":"https://cs110032000c31bae71.dfs.core.windows.net/","web":"https://cs110032000c31bae71.z23.web.core.windows.net/","blob":"https://cs110032000c31bae71.blob.core.windows.net/","queue":"https://cs110032000c31bae71.queue.core.windows.net/","table":"https://cs110032000c31bae71.table.core.windows.net/","file":"https://cs110032000c31bae71.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureSDKTest_reserved/providers/Microsoft.Storage/storageAccounts/cs110032000ca62af00","name":"cs110032000ca62af00","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-09-22T02:06:18.4998653Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-09-22T02:06:18.4998653Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-09-22T02:06:18.4217109Z","primaryEndpoints":{"dfs":"https://cs110032000ca62af00.dfs.core.windows.net/","web":"https://cs110032000ca62af00.z23.web.core.windows.net/","blob":"https://cs110032000ca62af00.blob.core.windows.net/","queue":"https://cs110032000ca62af00.queue.core.windows.net/","table":"https://cs110032000ca62af00.table.core.windows.net/","file":"https://cs110032000ca62af00.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cloud-shell-storage-southeastasia/providers/Microsoft.Storage/storageAccounts/cs110032000e3121978","name":"cs110032000e3121978","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-04-25T07:26:43.6124221Z","key2":"2021-04-25T07:26:43.6124221Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-25T07:26:43.6124221Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-25T07:26:43.6124221Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-25T07:26:43.5343583Z","primaryEndpoints":{"dfs":"https://cs110032000e3121978.dfs.core.windows.net/","web":"https://cs110032000e3121978.z23.web.core.windows.net/","blob":"https://cs110032000e3121978.blob.core.windows.net/","queue":"https://cs110032000e3121978.queue.core.windows.net/","table":"https://cs110032000e3121978.table.core.windows.net/","file":"https://cs110032000e3121978.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cloud-shell-storage-southeastasia/providers/Microsoft.Storage/storageAccounts/cs11003200127365c47","name":"cs11003200127365c47","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-03-25T03:10:52.6098894Z","key2":"2021-03-25T03:10:52.6098894Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-25T03:10:52.6098894Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-03-25T03:10:52.6098894Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-03-25T03:10:52.5318146Z","primaryEndpoints":{"dfs":"https://cs11003200127365c47.dfs.core.windows.net/","web":"https://cs11003200127365c47.z23.web.core.windows.net/","blob":"https://cs11003200127365c47.blob.core.windows.net/","queue":"https://cs11003200127365c47.queue.core.windows.net/","table":"https://cs11003200127365c47.table.core.windows.net/","file":"https://cs11003200127365c47.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cloud-shell-storage-southeastasia/providers/Microsoft.Storage/storageAccounts/cs1100320012c36c452","name":"cs1100320012c36c452","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":"2021-04-09T08:04:25.5979407Z","key2":"2021-04-09T08:04:25.5979407Z"},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-09T08:04:25.5979407Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-09T08:04:25.5979407Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-09T08:04:25.5198295Z","primaryEndpoints":{"dfs":"https://cs1100320012c36c452.dfs.core.windows.net/","web":"https://cs1100320012c36c452.z23.web.core.windows.net/","blob":"https://cs1100320012c36c452.blob.core.windows.net/","queue":"https://cs1100320012c36c452.queue.core.windows.net/","table":"https://cs1100320012c36c452.table.core.windows.net/","file":"https://cs1100320012c36c452.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jiasli-cli-dev/providers/Microsoft.Storage/storageAccounts/jlst","name":"jlst","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"allowSharedKeyAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-12-31T03:05:24.8023719Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-12-31T03:05:24.8023719Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-12-31T03:05:24.7086186Z","primaryEndpoints":{"dfs":"https://jlst.dfs.core.windows.net/","web":"https://jlst.z23.web.core.windows.net/","blob":"https://jlst.blob.core.windows.net/","queue":"https://jlst.queue.core.windows.net/","table":"https://jlst.table.core.windows.net/","file":"https://jlst.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jiasli-cli-dev/providers/Microsoft.Storage/storageAccounts/jlstcs","name":"jlstcs","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-13T06:39:02.4278678Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-13T06:39:02.4278678Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-10-13T06:39:02.3497160Z","primaryEndpoints":{"dfs":"https://jlstcs.dfs.core.windows.net/","web":"https://jlstcs.z23.web.core.windows.net/","blob":"https://jlstcs.blob.core.windows.net/","queue":"https://jlstcs.queue.core.windows.net/","table":"https://jlstcs.table.core.windows.net/","file":"https://jlstcs.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Storage/storageAccounts/qianwensdiag","name":"qianwensdiag","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-04T07:17:09.1138103Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-04T07:17:09.1138103Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-02-04T07:17:09.0514178Z","primaryEndpoints":{"blob":"https://qianwensdiag.blob.core.windows.net/","queue":"https://qianwensdiag.queue.core.windows.net/","table":"https://qianwensdiag.table.core.windows.net/","file":"https://qianwensdiag.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhoxing-test/providers/Microsoft.Storage/storageAccounts/store6472qnxl3vv5o","name":"store6472qnxl3vv5o","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{"project":"Digital + Platform","env":"CI"},"properties":{"keyCreationTime":{"key1":"2021-04-29T09:18:42.5385370Z","key2":"2021-04-29T09:18:42.5385370Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-29T09:18:42.5385370Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-29T09:18:42.5385370Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-29T09:18:42.4447545Z","primaryEndpoints":{"blob":"https://store6472qnxl3vv5o.blob.core.windows.net/","queue":"https://store6472qnxl3vv5o.queue.core.windows.net/","table":"https://store6472qnxl3vv5o.table.core.windows.net/","file":"https://store6472qnxl3vv5o.file.core.windows.net/"},"primaryLocation":"southcentralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/extmigrate","name":"extmigrate","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-16T08:26:10.6796218Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-16T08:26:10.6796218Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-16T08:26:10.5858998Z","primaryEndpoints":{"blob":"https://extmigrate.blob.core.windows.net/","queue":"https://extmigrate.queue.core.windows.net/","table":"https://extmigrate.table.core.windows.net/","file":"https://extmigrate.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://extmigrate-secondary.blob.core.windows.net/","queue":"https://extmigrate-secondary.queue.core.windows.net/","table":"https://extmigrate-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/fengsa","name":"fengsa","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-05-14T06:47:20.1106748Z","key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-01-06T04:33:22.9379802Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-01-06T04:33:22.9379802Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-01-06T04:33:22.8754625Z","primaryEndpoints":{"dfs":"https://fengsa.dfs.core.windows.net/","web":"https://fengsa.z19.web.core.windows.net/","blob":"https://fengsa.blob.core.windows.net/","queue":"https://fengsa.queue.core.windows.net/","table":"https://fengsa.table.core.windows.net/","file":"https://fengsa.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://fengsa-secondary.dfs.core.windows.net/","web":"https://fengsa-secondary.z19.web.core.windows.net/","blob":"https://fengsa-secondary.blob.core.windows.net/","queue":"https://fengsa-secondary.queue.core.windows.net/","table":"https://fengsa-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/fengtestsa","name":"fengtestsa","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-29T03:10:28.7204355Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-10-29T03:10:28.7204355Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-10-29T03:10:28.6266623Z","primaryEndpoints":{"dfs":"https://fengtestsa.dfs.core.windows.net/","web":"https://fengtestsa.z19.web.core.windows.net/","blob":"https://fengtestsa.blob.core.windows.net/","queue":"https://fengtestsa.queue.core.windows.net/","table":"https://fengtestsa.table.core.windows.net/","file":"https://fengtestsa.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://fengtestsa-secondary.dfs.core.windows.net/","web":"https://fengtestsa-secondary.z19.web.core.windows.net/","blob":"https://fengtestsa-secondary.blob.core.windows.net/","queue":"https://fengtestsa-secondary.queue.core.windows.net/","table":"https://fengtestsa-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro1","name":"storagesfrepro1","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:07:42.2058942Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:07:42.2058942Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:07:42.1277444Z","primaryEndpoints":{"dfs":"https://storagesfrepro1.dfs.core.windows.net/","web":"https://storagesfrepro1.z19.web.core.windows.net/","blob":"https://storagesfrepro1.blob.core.windows.net/","queue":"https://storagesfrepro1.queue.core.windows.net/","table":"https://storagesfrepro1.table.core.windows.net/","file":"https://storagesfrepro1.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro1-secondary.dfs.core.windows.net/","web":"https://storagesfrepro1-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro1-secondary.blob.core.windows.net/","queue":"https://storagesfrepro1-secondary.queue.core.windows.net/","table":"https://storagesfrepro1-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro10","name":"storagesfrepro10","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:00.8753334Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:00.8753334Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:14:00.7815921Z","primaryEndpoints":{"dfs":"https://storagesfrepro10.dfs.core.windows.net/","web":"https://storagesfrepro10.z19.web.core.windows.net/","blob":"https://storagesfrepro10.blob.core.windows.net/","queue":"https://storagesfrepro10.queue.core.windows.net/","table":"https://storagesfrepro10.table.core.windows.net/","file":"https://storagesfrepro10.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro10-secondary.dfs.core.windows.net/","web":"https://storagesfrepro10-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro10-secondary.blob.core.windows.net/","queue":"https://storagesfrepro10-secondary.queue.core.windows.net/","table":"https://storagesfrepro10-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro11","name":"storagesfrepro11","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:28.9859417Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:28.9859417Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:14:28.8609347Z","primaryEndpoints":{"dfs":"https://storagesfrepro11.dfs.core.windows.net/","web":"https://storagesfrepro11.z19.web.core.windows.net/","blob":"https://storagesfrepro11.blob.core.windows.net/","queue":"https://storagesfrepro11.queue.core.windows.net/","table":"https://storagesfrepro11.table.core.windows.net/","file":"https://storagesfrepro11.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro11-secondary.dfs.core.windows.net/","web":"https://storagesfrepro11-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro11-secondary.blob.core.windows.net/","queue":"https://storagesfrepro11-secondary.queue.core.windows.net/","table":"https://storagesfrepro11-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro12","name":"storagesfrepro12","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:15:15.6785362Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:15:15.6785362Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:15:15.5848345Z","primaryEndpoints":{"dfs":"https://storagesfrepro12.dfs.core.windows.net/","web":"https://storagesfrepro12.z19.web.core.windows.net/","blob":"https://storagesfrepro12.blob.core.windows.net/","queue":"https://storagesfrepro12.queue.core.windows.net/","table":"https://storagesfrepro12.table.core.windows.net/","file":"https://storagesfrepro12.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro12-secondary.dfs.core.windows.net/","web":"https://storagesfrepro12-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro12-secondary.blob.core.windows.net/","queue":"https://storagesfrepro12-secondary.queue.core.windows.net/","table":"https://storagesfrepro12-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro13","name":"storagesfrepro13","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:16:55.7609361Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:16:55.7609361Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:16:55.6671828Z","primaryEndpoints":{"dfs":"https://storagesfrepro13.dfs.core.windows.net/","web":"https://storagesfrepro13.z19.web.core.windows.net/","blob":"https://storagesfrepro13.blob.core.windows.net/","queue":"https://storagesfrepro13.queue.core.windows.net/","table":"https://storagesfrepro13.table.core.windows.net/","file":"https://storagesfrepro13.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro13-secondary.dfs.core.windows.net/","web":"https://storagesfrepro13-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro13-secondary.blob.core.windows.net/","queue":"https://storagesfrepro13-secondary.queue.core.windows.net/","table":"https://storagesfrepro13-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro14","name":"storagesfrepro14","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:17:40.7661469Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:17:40.7661469Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:17:40.6880204Z","primaryEndpoints":{"dfs":"https://storagesfrepro14.dfs.core.windows.net/","web":"https://storagesfrepro14.z19.web.core.windows.net/","blob":"https://storagesfrepro14.blob.core.windows.net/","queue":"https://storagesfrepro14.queue.core.windows.net/","table":"https://storagesfrepro14.table.core.windows.net/","file":"https://storagesfrepro14.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro14-secondary.dfs.core.windows.net/","web":"https://storagesfrepro14-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro14-secondary.blob.core.windows.net/","queue":"https://storagesfrepro14-secondary.queue.core.windows.net/","table":"https://storagesfrepro14-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro15","name":"storagesfrepro15","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:18:52.1812445Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:18:52.1812445Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:18:52.0718543Z","primaryEndpoints":{"dfs":"https://storagesfrepro15.dfs.core.windows.net/","web":"https://storagesfrepro15.z19.web.core.windows.net/","blob":"https://storagesfrepro15.blob.core.windows.net/","queue":"https://storagesfrepro15.queue.core.windows.net/","table":"https://storagesfrepro15.table.core.windows.net/","file":"https://storagesfrepro15.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro15-secondary.dfs.core.windows.net/","web":"https://storagesfrepro15-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro15-secondary.blob.core.windows.net/","queue":"https://storagesfrepro15-secondary.queue.core.windows.net/","table":"https://storagesfrepro15-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro16","name":"storagesfrepro16","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:19:33.1863807Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:19:33.1863807Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:19:33.0770034Z","primaryEndpoints":{"dfs":"https://storagesfrepro16.dfs.core.windows.net/","web":"https://storagesfrepro16.z19.web.core.windows.net/","blob":"https://storagesfrepro16.blob.core.windows.net/","queue":"https://storagesfrepro16.queue.core.windows.net/","table":"https://storagesfrepro16.table.core.windows.net/","file":"https://storagesfrepro16.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro16-secondary.dfs.core.windows.net/","web":"https://storagesfrepro16-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro16-secondary.blob.core.windows.net/","queue":"https://storagesfrepro16-secondary.queue.core.windows.net/","table":"https://storagesfrepro16-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro17","name":"storagesfrepro17","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:23.5553513Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:23.5553513Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:04:23.4771469Z","primaryEndpoints":{"dfs":"https://storagesfrepro17.dfs.core.windows.net/","web":"https://storagesfrepro17.z19.web.core.windows.net/","blob":"https://storagesfrepro17.blob.core.windows.net/","queue":"https://storagesfrepro17.queue.core.windows.net/","table":"https://storagesfrepro17.table.core.windows.net/","file":"https://storagesfrepro17.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro17-secondary.dfs.core.windows.net/","web":"https://storagesfrepro17-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro17-secondary.blob.core.windows.net/","queue":"https://storagesfrepro17-secondary.queue.core.windows.net/","table":"https://storagesfrepro17-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro18","name":"storagesfrepro18","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:53.8320772Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:53.8320772Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:04:53.7383176Z","primaryEndpoints":{"dfs":"https://storagesfrepro18.dfs.core.windows.net/","web":"https://storagesfrepro18.z19.web.core.windows.net/","blob":"https://storagesfrepro18.blob.core.windows.net/","queue":"https://storagesfrepro18.queue.core.windows.net/","table":"https://storagesfrepro18.table.core.windows.net/","file":"https://storagesfrepro18.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro18-secondary.dfs.core.windows.net/","web":"https://storagesfrepro18-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro18-secondary.blob.core.windows.net/","queue":"https://storagesfrepro18-secondary.queue.core.windows.net/","table":"https://storagesfrepro18-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro19","name":"storagesfrepro19","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:05:26.3650238Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:05:26.3650238Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:05:26.2556326Z","primaryEndpoints":{"dfs":"https://storagesfrepro19.dfs.core.windows.net/","web":"https://storagesfrepro19.z19.web.core.windows.net/","blob":"https://storagesfrepro19.blob.core.windows.net/","queue":"https://storagesfrepro19.queue.core.windows.net/","table":"https://storagesfrepro19.table.core.windows.net/","file":"https://storagesfrepro19.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro19-secondary.dfs.core.windows.net/","web":"https://storagesfrepro19-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro19-secondary.blob.core.windows.net/","queue":"https://storagesfrepro19-secondary.queue.core.windows.net/","table":"https://storagesfrepro19-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro2","name":"storagesfrepro2","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:08:45.8498203Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:08:45.8498203Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:08:45.7717196Z","primaryEndpoints":{"dfs":"https://storagesfrepro2.dfs.core.windows.net/","web":"https://storagesfrepro2.z19.web.core.windows.net/","blob":"https://storagesfrepro2.blob.core.windows.net/","queue":"https://storagesfrepro2.queue.core.windows.net/","table":"https://storagesfrepro2.table.core.windows.net/","file":"https://storagesfrepro2.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro2-secondary.dfs.core.windows.net/","web":"https://storagesfrepro2-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro2-secondary.blob.core.windows.net/","queue":"https://storagesfrepro2-secondary.queue.core.windows.net/","table":"https://storagesfrepro2-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro20","name":"storagesfrepro20","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:07.4295934Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:07.4295934Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:06:07.3358422Z","primaryEndpoints":{"dfs":"https://storagesfrepro20.dfs.core.windows.net/","web":"https://storagesfrepro20.z19.web.core.windows.net/","blob":"https://storagesfrepro20.blob.core.windows.net/","queue":"https://storagesfrepro20.queue.core.windows.net/","table":"https://storagesfrepro20.table.core.windows.net/","file":"https://storagesfrepro20.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro20-secondary.dfs.core.windows.net/","web":"https://storagesfrepro20-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro20-secondary.blob.core.windows.net/","queue":"https://storagesfrepro20-secondary.queue.core.windows.net/","table":"https://storagesfrepro20-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro21","name":"storagesfrepro21","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:37.4780251Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:37.4780251Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:06:37.3686460Z","primaryEndpoints":{"dfs":"https://storagesfrepro21.dfs.core.windows.net/","web":"https://storagesfrepro21.z19.web.core.windows.net/","blob":"https://storagesfrepro21.blob.core.windows.net/","queue":"https://storagesfrepro21.queue.core.windows.net/","table":"https://storagesfrepro21.table.core.windows.net/","file":"https://storagesfrepro21.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro21-secondary.dfs.core.windows.net/","web":"https://storagesfrepro21-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro21-secondary.blob.core.windows.net/","queue":"https://storagesfrepro21-secondary.queue.core.windows.net/","table":"https://storagesfrepro21-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro22","name":"storagesfrepro22","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:59.8295391Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:59.8295391Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:06:59.7201581Z","primaryEndpoints":{"dfs":"https://storagesfrepro22.dfs.core.windows.net/","web":"https://storagesfrepro22.z19.web.core.windows.net/","blob":"https://storagesfrepro22.blob.core.windows.net/","queue":"https://storagesfrepro22.queue.core.windows.net/","table":"https://storagesfrepro22.table.core.windows.net/","file":"https://storagesfrepro22.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro22-secondary.dfs.core.windows.net/","web":"https://storagesfrepro22-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro22-secondary.blob.core.windows.net/","queue":"https://storagesfrepro22-secondary.queue.core.windows.net/","table":"https://storagesfrepro22-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro23","name":"storagesfrepro23","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:29.0846619Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:29.0846619Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:07:29.0065050Z","primaryEndpoints":{"dfs":"https://storagesfrepro23.dfs.core.windows.net/","web":"https://storagesfrepro23.z19.web.core.windows.net/","blob":"https://storagesfrepro23.blob.core.windows.net/","queue":"https://storagesfrepro23.queue.core.windows.net/","table":"https://storagesfrepro23.table.core.windows.net/","file":"https://storagesfrepro23.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro23-secondary.dfs.core.windows.net/","web":"https://storagesfrepro23-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro23-secondary.blob.core.windows.net/","queue":"https://storagesfrepro23-secondary.queue.core.windows.net/","table":"https://storagesfrepro23-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro24","name":"storagesfrepro24","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:53.2658712Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:53.2658712Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:07:53.1565651Z","primaryEndpoints":{"dfs":"https://storagesfrepro24.dfs.core.windows.net/","web":"https://storagesfrepro24.z19.web.core.windows.net/","blob":"https://storagesfrepro24.blob.core.windows.net/","queue":"https://storagesfrepro24.queue.core.windows.net/","table":"https://storagesfrepro24.table.core.windows.net/","file":"https://storagesfrepro24.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro24-secondary.dfs.core.windows.net/","web":"https://storagesfrepro24-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro24-secondary.blob.core.windows.net/","queue":"https://storagesfrepro24-secondary.queue.core.windows.net/","table":"https://storagesfrepro24-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro25","name":"storagesfrepro25","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:08:18.7432319Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:08:18.7432319Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:08:18.6338258Z","primaryEndpoints":{"dfs":"https://storagesfrepro25.dfs.core.windows.net/","web":"https://storagesfrepro25.z19.web.core.windows.net/","blob":"https://storagesfrepro25.blob.core.windows.net/","queue":"https://storagesfrepro25.queue.core.windows.net/","table":"https://storagesfrepro25.table.core.windows.net/","file":"https://storagesfrepro25.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro25-secondary.dfs.core.windows.net/","web":"https://storagesfrepro25-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro25-secondary.blob.core.windows.net/","queue":"https://storagesfrepro25-secondary.queue.core.windows.net/","table":"https://storagesfrepro25-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro3","name":"storagesfrepro3","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:19.5698333Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:19.5698333Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:09:19.3510997Z","primaryEndpoints":{"dfs":"https://storagesfrepro3.dfs.core.windows.net/","web":"https://storagesfrepro3.z19.web.core.windows.net/","blob":"https://storagesfrepro3.blob.core.windows.net/","queue":"https://storagesfrepro3.queue.core.windows.net/","table":"https://storagesfrepro3.table.core.windows.net/","file":"https://storagesfrepro3.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro3-secondary.dfs.core.windows.net/","web":"https://storagesfrepro3-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro3-secondary.blob.core.windows.net/","queue":"https://storagesfrepro3-secondary.queue.core.windows.net/","table":"https://storagesfrepro3-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro4","name":"storagesfrepro4","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:54.9930953Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:54.9930953Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:09:54.8993063Z","primaryEndpoints":{"dfs":"https://storagesfrepro4.dfs.core.windows.net/","web":"https://storagesfrepro4.z19.web.core.windows.net/","blob":"https://storagesfrepro4.blob.core.windows.net/","queue":"https://storagesfrepro4.queue.core.windows.net/","table":"https://storagesfrepro4.table.core.windows.net/","file":"https://storagesfrepro4.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro4-secondary.dfs.core.windows.net/","web":"https://storagesfrepro4-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro4-secondary.blob.core.windows.net/","queue":"https://storagesfrepro4-secondary.queue.core.windows.net/","table":"https://storagesfrepro4-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro5","name":"storagesfrepro5","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:10:48.1114395Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:10:48.1114395Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:10:48.0177273Z","primaryEndpoints":{"dfs":"https://storagesfrepro5.dfs.core.windows.net/","web":"https://storagesfrepro5.z19.web.core.windows.net/","blob":"https://storagesfrepro5.blob.core.windows.net/","queue":"https://storagesfrepro5.queue.core.windows.net/","table":"https://storagesfrepro5.table.core.windows.net/","file":"https://storagesfrepro5.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro5-secondary.dfs.core.windows.net/","web":"https://storagesfrepro5-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro5-secondary.blob.core.windows.net/","queue":"https://storagesfrepro5-secondary.queue.core.windows.net/","table":"https://storagesfrepro5-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro6","name":"storagesfrepro6","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:11:28.0269117Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:11:28.0269117Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:11:27.9331594Z","primaryEndpoints":{"dfs":"https://storagesfrepro6.dfs.core.windows.net/","web":"https://storagesfrepro6.z19.web.core.windows.net/","blob":"https://storagesfrepro6.blob.core.windows.net/","queue":"https://storagesfrepro6.queue.core.windows.net/","table":"https://storagesfrepro6.table.core.windows.net/","file":"https://storagesfrepro6.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro6-secondary.dfs.core.windows.net/","web":"https://storagesfrepro6-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro6-secondary.blob.core.windows.net/","queue":"https://storagesfrepro6-secondary.queue.core.windows.net/","table":"https://storagesfrepro6-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro7","name":"storagesfrepro7","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:08.7761892Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:08.7761892Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:12:08.6824637Z","primaryEndpoints":{"dfs":"https://storagesfrepro7.dfs.core.windows.net/","web":"https://storagesfrepro7.z19.web.core.windows.net/","blob":"https://storagesfrepro7.blob.core.windows.net/","queue":"https://storagesfrepro7.queue.core.windows.net/","table":"https://storagesfrepro7.table.core.windows.net/","file":"https://storagesfrepro7.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro7-secondary.dfs.core.windows.net/","web":"https://storagesfrepro7-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro7-secondary.blob.core.windows.net/","queue":"https://storagesfrepro7-secondary.queue.core.windows.net/","table":"https://storagesfrepro7-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro8","name":"storagesfrepro8","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:39.5221164Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:39.5221164Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:12:39.4283923Z","primaryEndpoints":{"dfs":"https://storagesfrepro8.dfs.core.windows.net/","web":"https://storagesfrepro8.z19.web.core.windows.net/","blob":"https://storagesfrepro8.blob.core.windows.net/","queue":"https://storagesfrepro8.queue.core.windows.net/","table":"https://storagesfrepro8.table.core.windows.net/","file":"https://storagesfrepro8.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro8-secondary.dfs.core.windows.net/","web":"https://storagesfrepro8-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro8-secondary.blob.core.windows.net/","queue":"https://storagesfrepro8-secondary.queue.core.windows.net/","table":"https://storagesfrepro8-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro9","name":"storagesfrepro9","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:13:18.1628430Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:13:18.1628430Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:13:18.0691096Z","primaryEndpoints":{"dfs":"https://storagesfrepro9.dfs.core.windows.net/","web":"https://storagesfrepro9.z19.web.core.windows.net/","blob":"https://storagesfrepro9.blob.core.windows.net/","queue":"https://storagesfrepro9.queue.core.windows.net/","table":"https://storagesfrepro9.table.core.windows.net/","file":"https://storagesfrepro9.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro9-secondary.dfs.core.windows.net/","web":"https://storagesfrepro9-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro9-secondary.blob.core.windows.net/","queue":"https://storagesfrepro9-secondary.queue.core.windows.net/","table":"https://storagesfrepro9-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/IT_acctestRG-ibt-24_acctest-IBT-0710-2_4ebedb5a-e3b1-4675-aa4c-3c160fe70907/providers/Microsoft.Storage/storageAccounts/6ynst8ytvcms52eviy9cme3e","name":"6ynst8ytvcms52eviy9cme3e","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{"createdby":"azureimagebuilder","magicvalue":"0d819542a3774a2a8709401a7cd09eb8"},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-10T11:43:30.0119558Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-10T11:43:30.0119558Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-07-10T11:43:29.9651518Z","primaryEndpoints":{"blob":"https://6ynst8ytvcms52eviy9cme3e.blob.core.windows.net/","queue":"https://6ynst8ytvcms52eviy9cme3e.queue.core.windows.net/","table":"https://6ynst8ytvcms52eviy9cme3e.table.core.windows.net/","file":"https://6ynst8ytvcms52eviy9cme3e.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000003","name":"clitest000003","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"keyCreationTime":{"key1":"2021-05-17T02:23:37.3756660Z","key2":"2021-05-17T02:23:37.3756660Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-17T02:23:37.3756660Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-17T02:23:37.3756660Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-05-17T02:23:37.2975498Z","primaryEndpoints":{"dfs":"https://clitest000003.dfs.core.windows.net/","web":"https://clitest000003.z5.web.core.windows.net/","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":"westus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yishitest/providers/Microsoft.Storage/storageAccounts/yssaeuap","name":"yssaeuap","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-11-10T03:37:15.2571646Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-11-10T03:37:15.2571646Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-11-10T03:37:15.1871764Z","primaryEndpoints":{"dfs":"https://yssaeuap.dfs.core.windows.net/","web":"https://yssaeuap.z3.web.core.windows.net/","blob":"https://yssaeuap.blob.core.windows.net/","queue":"https://yssaeuap.queue.core.windows.net/","table":"https://yssaeuap.table.core.windows.net/","file":"https://yssaeuap.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available","secondaryLocation":"centraluseuap","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yssaeuap-secondary.dfs.core.windows.net/","web":"https://yssaeuap-secondary.z3.web.core.windows.net/","blob":"https://yssaeuap-secondary.blob.core.windows.net/","queue":"https://yssaeuap-secondary.queue.core.windows.net/","table":"https://yssaeuap-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yishitest/providers/Microsoft.Storage/storageAccounts/yssanew","name":"yssanew","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_2","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-11-06T09:18:53.7220848Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-11-06T09:18:53.7220848Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-11-06T09:18:53.6620997Z","primaryEndpoints":{"dfs":"https://yssanew.dfs.core.windows.net/","web":"https://yssanew.z3.web.core.windows.net/","blob":"https://yssanew.blob.core.windows.net/","queue":"https://yssanew.queue.core.windows.net/","table":"https://yssanew.table.core.windows.net/","file":"https://yssanew.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available","secondaryLocation":"centraluseuap","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yssanew-secondary.dfs.core.windows.net/","web":"https://yssanew-secondary.z3.web.core.windows.net/","blob":"https://yssanew-secondary.blob.core.windows.net/","queue":"https://yssanew-secondary.queue.core.windows.net/","table":"https://yssanew-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/zuhdefault","name":"zuhdefault","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-29T06:08:24.0050046Z","key2":"2021-04-29T06:08:24.0050046Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-29T06:08:24.0100198Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-29T06:08:24.0100198Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-29T06:08:23.9249868Z","primaryEndpoints":{"dfs":"https://zuhdefault.dfs.core.windows.net/","web":"https://zuhdefault.z3.web.core.windows.net/","blob":"https://zuhdefault.blob.core.windows.net/","queue":"https://zuhdefault.queue.core.windows.net/","table":"https://zuhdefault.table.core.windows.net/","file":"https://zuhdefault.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available","secondaryLocation":"centraluseuap","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://zuhdefault-secondary.dfs.core.windows.net/","web":"https://zuhdefault-secondary.z3.web.core.windows.net/","blob":"https://zuhdefault-secondary.blob.core.windows.net/","queue":"https://zuhdefault-secondary.queue.core.windows.net/","table":"https://zuhdefault-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/zuhtest","name":"zuhtest","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"keyCreationTime":{"key1":null,"key2":null},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"identity":{"type":"ManagedServiceIdentity","userAssignedIdentity":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.ManagedIdentity/userAssignedIdentities/zuhid"},"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-14T07:13:45.1503826Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-01-14T07:13:45.1503826Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Creating","creationTime":"2021-01-14T07:13:45.0603798Z","primaryEndpoints":{"dfs":"https://zuhtest.dfs.core.windows.net/","web":"https://zuhtest.z3.web.core.windows.net/","blob":"https://zuhtest.blob.core.windows.net/","queue":"https://zuhtest.queue.core.windows.net/","table":"https://zuhtest.table.core.windows.net/","file":"https://zuhtest.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available","secondaryLocation":"centraluseuap","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://zuhtest-secondary.dfs.core.windows.net/","web":"https://zuhtest-secondary.z3.web.core.windows.net/","blob":"https://zuhtest-secondary.blob.core.windows.net/","queue":"https://zuhtest-secondary.queue.core.windows.net/","table":"https://zuhtest-secondary.table.core.windows.net/"}}}]}' headers: cache-control: - no-cache content-length: - - '2796' + - '149552' content-type: - application/json; charset=utf-8 date: - - Wed, 07 Apr 2021 03:28:51 GMT + - Mon, 17 May 2021 02:24:26 GMT expires: - '-1' pragma: @@ -776,16 +812,22 @@ interactions: x-content-type-options: - nosniff x-ms-original-request-ids: - - c365a703-a06f-441d-b80e-b1f087a0b4c5 - - 7932a0bb-91d8-4d8e-ba2d-a88031f80861 + - b5725430-61ba-424e-a12d-28744074fd22 + - bf35d2c9-555b-44c9-b858-ba8625819c97 + - 5fe50380-6533-472f-940d-787c9f58cbb3 + - cc0acb5b-fa37-4b9f-a68b-fba7f4bd5d99 + - 5774abb2-4479-4969-b115-858fd0b1df10 + - 6e8a9c44-80e9-4a29-9849-a599d9ad9475 + - 7ef3bb30-1837-4f9a-8347-020904c9e0ec + - acdeb831-73a8-4053-a5fe-177cbd0863a8 status: code: 200 message: OK - request: body: '{"RecordTypes": "Requests, Event, PageViews", "DestinationType": "Blob", - "DestinationAddress": "https://component000003.blob.core.windows.net/ctnb?se=2020-10-27&sp=w&sv=2018-11-09&sr=c", - "DestinationStorageSubscriptionId": "92f95d8f-3c67-4124-91c7-8cf07cdbf241", - "DestinationStorageLocationId": "westus2", "DestinationAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/component000003"}' + "DestinationAddress": "https://clitest000003.blob.core.windows.net/ctnb?se=2020-10-27&sp=w&sv=2018-11-09&sr=c", + "DestinationStorageSubscriptionId": "0b1f6471-1bf0-4dda-aec3-cb9272f09590", + "DestinationStorageLocationId": "westus2", "DestinationAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000003"}' headers: Accept: - application/json @@ -803,14 +845,14 @@ interactions: - -g --app --id --record-types --dest-account --dest-container --dest-sub-id --dest-sas User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.3 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19043-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/demoApp/exportconfiguration/Ig20S7a5pYRrqKXYwaCuDgU8TKw%3D?api-version=2015-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/demoApp/exportconfiguration/IVFYW_3Fjo_zr4RlWjX93FSblmE%3D?api-version=2015-05-01 response: body: - string: '{"ExportId":"Ig20S7a5pYRrqKXYwaCuDgU8TKw=","InstrumentationKey":"12a46aba-e71b-40cb-bba4-05500a411b87","RecordTypes":"Requests, - Event, PageViews","ApplicationName":"demoapp","SubscriptionId":"92f95d8f-3c67-4124-91c7-8cf07cdbf241","ResourceGroup":"clitest.rg000001","DestinationStorageSubscriptionId":"92f95d8f-3c67-4124-91c7-8cf07cdbf241","DestinationStorageLocationId":"westus2","DestinationAccountId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/component000003","DestinationType":"Blob","IsUserEnabled":"True","LastUserUpdate":"2021-04-07T03:28:52.6943924Z","NotificationQueueEnabled":"False","DestinationKustoCluster":null,"DestinationKustoDatabase":null,"TransformationType":"Default","ExportStatus":"Preparing","LastSuccessTime":null,"LastGapTime":null,"PermanentErrorReason":"None","StorageName":"component000003","ContainerName":"ctnb"}' + string: '{"ExportId":"IVFYW_3Fjo_zr4RlWjX93FSblmE=","InstrumentationKey":"93ae3975-8a52-4b2a-b4f5-887a7fe0ef06","RecordTypes":"Requests, + Event, PageViews","ApplicationName":"demoapp","SubscriptionId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","ResourceGroup":"clitest.rg000001","DestinationStorageSubscriptionId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","DestinationStorageLocationId":"westus2","DestinationAccountId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000003","DestinationType":"Blob","IsUserEnabled":"True","LastUserUpdate":"2021-05-17T02:24:28.0370813Z","NotificationQueueEnabled":"False","DestinationKustoCluster":null,"DestinationKustoDatabase":null,"TransformationType":"Default","ExportStatus":"Preparing","LastSuccessTime":null,"LastGapTime":null,"PermanentErrorReason":"None","StorageName":"clitest000003","ContainerName":"ctnb"}' headers: access-control-expose-headers: - Request-Context @@ -821,7 +863,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 07 Apr 2021 03:28:52 GMT + - Mon, 17 May 2021 02:24:27 GMT expires: - '-1' pragma: @@ -841,7 +883,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' x-powered-by: - ASP.NET status: @@ -861,14 +903,14 @@ interactions: ParameterSetName: - -g --app User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.3 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19043-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/demoApp/exportconfiguration?api-version=2015-05-01 response: body: - string: '[{"ExportId":"Ig20S7a5pYRrqKXYwaCuDgU8TKw=","InstrumentationKey":"12a46aba-e71b-40cb-bba4-05500a411b87","RecordTypes":"Requests, - Event, PageViews","ApplicationName":"demoapp","SubscriptionId":"92f95d8f-3c67-4124-91c7-8cf07cdbf241","ResourceGroup":"clitest.rg000001","DestinationStorageSubscriptionId":"92f95d8f-3c67-4124-91c7-8cf07cdbf241","DestinationStorageLocationId":"westus2","DestinationAccountId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/component000003","DestinationType":"Blob","IsUserEnabled":"True","LastUserUpdate":"2021-04-07T03:28:52.6943924Z","NotificationQueueEnabled":"False","DestinationKustoCluster":null,"DestinationKustoDatabase":null,"TransformationType":"Default","ExportStatus":"Preparing","LastSuccessTime":null,"LastGapTime":null,"PermanentErrorReason":"None","StorageName":"component000003","ContainerName":"ctnb"}]' + string: '[{"ExportId":"IVFYW_3Fjo_zr4RlWjX93FSblmE=","InstrumentationKey":"93ae3975-8a52-4b2a-b4f5-887a7fe0ef06","RecordTypes":"Requests, + Event, PageViews","ApplicationName":"demoapp","SubscriptionId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","ResourceGroup":"clitest.rg000001","DestinationStorageSubscriptionId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","DestinationStorageLocationId":"westus2","DestinationAccountId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000003","DestinationType":"Blob","IsUserEnabled":"True","LastUserUpdate":"2021-05-17T02:24:28.0370813Z","NotificationQueueEnabled":"False","DestinationKustoCluster":null,"DestinationKustoDatabase":null,"TransformationType":"Default","ExportStatus":"Preparing","LastSuccessTime":null,"LastGapTime":null,"PermanentErrorReason":"None","StorageName":"clitest000003","ContainerName":"ctnb"}]' headers: access-control-expose-headers: - Request-Context @@ -879,7 +921,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 07 Apr 2021 03:28:54 GMT + - Mon, 17 May 2021 02:24:28 GMT expires: - '-1' pragma: @@ -921,14 +963,14 @@ interactions: ParameterSetName: - -y -g --app --id User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.3 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19043-SP0) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/demoApp/exportconfiguration/Ig20S7a5pYRrqKXYwaCuDgU8TKw%3D?api-version=2015-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/demoApp/exportconfiguration/IVFYW_3Fjo_zr4RlWjX93FSblmE%3D?api-version=2015-05-01 response: body: - string: '{"ExportId":"Ig20S7a5pYRrqKXYwaCuDgU8TKw=","InstrumentationKey":"12a46aba-e71b-40cb-bba4-05500a411b87","RecordTypes":"Requests, - Event, PageViews","ApplicationName":"demoapp","SubscriptionId":"92f95d8f-3c67-4124-91c7-8cf07cdbf241","ResourceGroup":"clitest.rg000001","DestinationStorageSubscriptionId":"92f95d8f-3c67-4124-91c7-8cf07cdbf241","DestinationStorageLocationId":"westus2","DestinationAccountId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/component000003","DestinationType":"Blob","IsUserEnabled":"True","LastUserUpdate":"2021-04-07T03:28:52.6943924Z","NotificationQueueEnabled":"False","DestinationKustoCluster":null,"DestinationKustoDatabase":null,"TransformationType":"Default","ExportStatus":"Preparing","LastSuccessTime":null,"LastGapTime":null,"PermanentErrorReason":"None","StorageName":"component000003","ContainerName":"ctnb"}' + string: '{"ExportId":"IVFYW_3Fjo_zr4RlWjX93FSblmE=","InstrumentationKey":"93ae3975-8a52-4b2a-b4f5-887a7fe0ef06","RecordTypes":"Requests, + Event, PageViews","ApplicationName":"demoapp","SubscriptionId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","ResourceGroup":"clitest.rg000001","DestinationStorageSubscriptionId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","DestinationStorageLocationId":"westus2","DestinationAccountId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000003","DestinationType":"Blob","IsUserEnabled":"True","LastUserUpdate":"2021-05-17T02:24:28.0370813Z","NotificationQueueEnabled":"False","DestinationKustoCluster":null,"DestinationKustoDatabase":null,"TransformationType":"Default","ExportStatus":"Preparing","LastSuccessTime":null,"LastGapTime":null,"PermanentErrorReason":"None","StorageName":"clitest000003","ContainerName":"ctnb"}' headers: access-control-expose-headers: - Request-Context @@ -939,7 +981,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 07 Apr 2021 03:28:55 GMT + - Mon, 17 May 2021 02:24:29 GMT expires: - '-1' pragma: diff --git a/src/application-insights/azext_applicationinsights/tests/latest/recordings/test_component_with_linked_storage.yaml b/src/application-insights/azext_applicationinsights/tests/latest/recordings/test_component_with_linked_storage.yaml index 1235d4ec196..ca11fdef9de 100644 --- a/src/application-insights/azext_applicationinsights/tests/latest/recordings/test_component_with_linked_storage.yaml +++ b/src/application-insights/azext_applicationinsights/tests/latest/recordings/test_component_with_linked_storage.yaml @@ -13,15 +13,12 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-resource/16.1.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-04-01T07:56:10Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-05-14T08:53:46Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -30,7 +27,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 01 Apr 2021 07:57:10 GMT + - Fri, 14 May 2021 08:54:43 GMT expires: - '-1' pragma: @@ -63,34 +60,34 @@ interactions: ParameterSetName: - -g -n User-Agent: - - AZURECLI/2.21.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationalInsights/workspaces/clitest000004?api-version=2020-08-01 response: body: string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": - \"a9ef6f3e-1415-43fd-a663-1d55b0a8622f\",\r\n \"provisioningState\": \"Creating\",\r\n - \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"maxCapacityReservationLevel\": - 3000,\r\n \"lastSkuUpdate\": \"Thu, 01 Apr 2021 07:57:18 GMT\"\r\n },\r\n - \ \"retentionInDays\": 30,\r\n \"features\": {\r\n \"legacy\": 0,\r\n - \ \"searchVersion\": 1,\r\n \"enableLogAccessUsingOnlyResourcePermissions\": - true\r\n },\r\n \"workspaceCapping\": {\r\n \"dailyQuotaGb\": -1.0,\r\n - \ \"quotaNextResetTime\": \"Thu, 01 Apr 2021 15:00:00 GMT\",\r\n \"dataIngestionStatus\": - \"RespectQuota\"\r\n },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n - \ \"publicNetworkAccessForQuery\": \"Enabled\",\r\n \"createdDate\": - \"Thu, 01 Apr 2021 07:57:18 GMT\",\r\n \"modifiedDate\": \"Thu, 01 Apr - 2021 07:57:18 GMT\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.operationalinsights/workspaces/clitest000004\",\r\n + \"110cf46b-4724-4f39-9bb8-c51383062935\",\r\n \"provisioningState\": \"Creating\",\r\n + \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"lastSkuUpdate\": + \"Fri, 14 May 2021 08:54:50 GMT\"\r\n },\r\n \"retentionInDays\": 30,\r\n + \ \"features\": {\r\n \"legacy\": 0,\r\n \"searchVersion\": 1,\r\n + \ \"enableLogAccessUsingOnlyResourcePermissions\": true\r\n },\r\n + \ \"workspaceCapping\": {\r\n \"dailyQuotaGb\": -1.0,\r\n \"quotaNextResetTime\": + \"Fri, 14 May 2021 20:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n + \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": + \"Enabled\",\r\n \"createdDate\": \"Fri, 14 May 2021 08:54:50 GMT\",\r\n + \ \"modifiedDate\": \"Fri, 14 May 2021 08:54:50 GMT\"\r\n },\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.operationalinsights/workspaces/clitest000004\",\r\n \ \"name\": \"clitest000004\",\r\n \"type\": \"Microsoft.OperationalInsights/workspaces\",\r\n \ \"location\": \"westus\"\r\n}" headers: cache-control: - no-cache content-length: - - '1177' + - '1133' content-type: - application/json date: - - Thu, 01 Apr 2021 07:57:19 GMT + - Fri, 14 May 2021 08:54:51 GMT pragma: - no-cache server: @@ -101,7 +98,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1197' x-powered-by: - ASP.NET - ASP.NET @@ -122,34 +119,34 @@ interactions: ParameterSetName: - -g -n User-Agent: - - AZURECLI/2.21.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationalInsights/workspaces/clitest000004?api-version=2020-08-01 response: body: string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": - \"a9ef6f3e-1415-43fd-a663-1d55b0a8622f\",\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"maxCapacityReservationLevel\": - 3000,\r\n \"lastSkuUpdate\": \"Thu, 01 Apr 2021 07:57:18 GMT\"\r\n },\r\n - \ \"retentionInDays\": 30,\r\n \"features\": {\r\n \"legacy\": 0,\r\n - \ \"searchVersion\": 1,\r\n \"enableLogAccessUsingOnlyResourcePermissions\": - true\r\n },\r\n \"workspaceCapping\": {\r\n \"dailyQuotaGb\": -1.0,\r\n - \ \"quotaNextResetTime\": \"Thu, 01 Apr 2021 15:00:00 GMT\",\r\n \"dataIngestionStatus\": - \"RespectQuota\"\r\n },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n - \ \"publicNetworkAccessForQuery\": \"Enabled\",\r\n \"createdDate\": - \"Thu, 01 Apr 2021 07:57:18 GMT\",\r\n \"modifiedDate\": \"Thu, 01 Apr - 2021 07:57:21 GMT\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.operationalinsights/workspaces/clitest000004\",\r\n + \"110cf46b-4724-4f39-9bb8-c51383062935\",\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"lastSkuUpdate\": + \"Fri, 14 May 2021 08:54:50 GMT\"\r\n },\r\n \"retentionInDays\": 30,\r\n + \ \"features\": {\r\n \"legacy\": 0,\r\n \"searchVersion\": 1,\r\n + \ \"enableLogAccessUsingOnlyResourcePermissions\": true\r\n },\r\n + \ \"workspaceCapping\": {\r\n \"dailyQuotaGb\": -1.0,\r\n \"quotaNextResetTime\": + \"Fri, 14 May 2021 20:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n + \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": + \"Enabled\",\r\n \"createdDate\": \"Fri, 14 May 2021 08:54:50 GMT\",\r\n + \ \"modifiedDate\": \"Fri, 14 May 2021 08:54:51 GMT\"\r\n },\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.operationalinsights/workspaces/clitest000004\",\r\n \ \"name\": \"clitest000004\",\r\n \"type\": \"Microsoft.OperationalInsights/workspaces\",\r\n \ \"location\": \"westus\"\r\n}" headers: cache-control: - no-cache content-length: - - '1178' + - '1134' content-type: - application/json date: - - Thu, 01 Apr 2021 07:57:50 GMT + - Fri, 14 May 2021 08:55:21 GMT pragma: - no-cache server: @@ -190,13 +187,13 @@ interactions: ParameterSetName: - --app --location --kind -g --workspace --application-type User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.3 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19043-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/demoApp?api-version=2020-02-02-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp","name":"demoApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"6e00e640-0000-0200-0000-60657d070000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"d782ba07-28d9-4a80-a2a8-9e2d01d854f5","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"6fe42fe5-6f81-43a6-a098-a37bef5b4a12","ConnectionString":"InstrumentationKey=6fe42fe5-6f81-43a6-a098-a37bef5b4a12;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"demoApp","CreationDate":"2021-04-01T07:57:58.7899665+00:00","TenantId":"92f95d8f-3c67-4124-91c7-8cf07cdbf241","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"WorkspaceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000004","IngestionMode":"LogAnalytics","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp","name":"demoApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"730035d5-0000-0200-0000-609e3afe0000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"3feee0f2-e21b-4573-917e-5bde02a10156","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"221ae725-4653-43a3-a2ab-b36f7d755a60","ConnectionString":"InstrumentationKey=221ae725-4653-43a3-a2ab-b36f7d755a60;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"demoApp","CreationDate":"2021-05-14T08:55:26.2516354+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"WorkspaceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000004","IngestionMode":"LogAnalytics","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' headers: access-control-expose-headers: - Request-Context @@ -207,7 +204,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 01 Apr 2021 07:58:01 GMT + - Fri, 14 May 2021 08:55:28 GMT expires: - '-1' pragma: @@ -225,7 +222,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1196' x-powered-by: - ASP.NET status: @@ -249,8 +246,8 @@ interactions: ParameterSetName: - --app -g -s User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.3 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19043-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/linkedStorageAccounts/ServiceProfiler?api-version=2020-03-01-preview response: @@ -269,7 +266,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 01 Apr 2021 07:58:10 GMT + - Fri, 14 May 2021 08:55:33 GMT expires: - '-1' pragma: @@ -287,7 +284,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1197' x-powered-by: - ASP.NET status: @@ -307,8 +304,8 @@ interactions: ParameterSetName: - --app -g User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.3 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19043-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/linkedStorageAccounts/ServiceProfiler?api-version=2020-03-01-preview response: @@ -327,7 +324,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 01 Apr 2021 07:58:13 GMT + - Fri, 14 May 2021 08:55:34 GMT expires: - '-1' pragma: @@ -367,8 +364,8 @@ interactions: ParameterSetName: - --app -g -s User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.3 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19043-SP0) method: PATCH uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/linkedStorageAccounts/ServiceProfiler?api-version=2020-03-01-preview response: @@ -387,7 +384,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 01 Apr 2021 07:58:21 GMT + - Fri, 14 May 2021 08:55:39 GMT expires: - '-1' pragma: @@ -405,7 +402,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' x-powered-by: - ASP.NET status: @@ -427,8 +424,8 @@ interactions: ParameterSetName: - --app -g User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.3 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19043-SP0) method: DELETE uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/linkedStorageAccounts/ServiceProfiler?api-version=2020-03-01-preview response: @@ -442,7 +439,7 @@ interactions: content-length: - '0' date: - - Thu, 01 Apr 2021 07:58:26 GMT + - Fri, 14 May 2021 08:55:43 GMT expires: - '-1' pragma: @@ -476,8 +473,8 @@ interactions: ParameterSetName: - --app -g User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.3 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19043-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp/linkedStorageAccounts/ServiceProfiler?api-version=2020-03-01-preview response: @@ -493,7 +490,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 01 Apr 2021 07:58:28 GMT + - Fri, 14 May 2021 08:55:45 GMT expires: - '-1' pragma: diff --git a/src/application-insights/azext_applicationinsights/tests/latest/recordings/test_component_with_linked_workspace.yaml b/src/application-insights/azext_applicationinsights/tests/latest/recordings/test_component_with_linked_workspace.yaml index 729fcae7d40..b1f7915422c 100644 --- a/src/application-insights/azext_applicationinsights/tests/latest/recordings/test_component_with_linked_workspace.yaml +++ b/src/application-insights/azext_applicationinsights/tests/latest/recordings/test_component_with_linked_workspace.yaml @@ -13,15 +13,12 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-resource/16.1.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-04-07T03:23:23Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-05-14T08:53:46Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -30,7 +27,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 07 Apr 2021 03:23:29 GMT + - Fri, 14 May 2021 08:53:51 GMT expires: - '-1' pragma: @@ -63,34 +60,34 @@ interactions: ParameterSetName: - -g -n User-Agent: - - AZURECLI/2.21.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002?api-version=2020-08-01 response: body: string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": - \"b4586821-db79-447b-bd44-9eeed77cabe2\",\r\n \"provisioningState\": \"Creating\",\r\n - \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"maxCapacityReservationLevel\": - 3000,\r\n \"lastSkuUpdate\": \"Wed, 07 Apr 2021 03:23:37 GMT\"\r\n },\r\n - \ \"retentionInDays\": 30,\r\n \"features\": {\r\n \"legacy\": 0,\r\n - \ \"searchVersion\": 1,\r\n \"enableLogAccessUsingOnlyResourcePermissions\": - true\r\n },\r\n \"workspaceCapping\": {\r\n \"dailyQuotaGb\": -1.0,\r\n - \ \"quotaNextResetTime\": \"Wed, 07 Apr 2021 16:00:00 GMT\",\r\n \"dataIngestionStatus\": - \"RespectQuota\"\r\n },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n - \ \"publicNetworkAccessForQuery\": \"Enabled\",\r\n \"createdDate\": - \"Wed, 07 Apr 2021 03:23:37 GMT\",\r\n \"modifiedDate\": \"Wed, 07 Apr - 2021 03:23:37 GMT\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.operationalinsights/workspaces/clitest000002\",\r\n + \"a1ea0b6a-ccde-4f7e-b65d-2c8b87ddfa27\",\r\n \"provisioningState\": \"Creating\",\r\n + \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"lastSkuUpdate\": + \"Fri, 14 May 2021 08:53:57 GMT\"\r\n },\r\n \"retentionInDays\": 30,\r\n + \ \"features\": {\r\n \"legacy\": 0,\r\n \"searchVersion\": 1,\r\n + \ \"enableLogAccessUsingOnlyResourcePermissions\": true\r\n },\r\n + \ \"workspaceCapping\": {\r\n \"dailyQuotaGb\": -1.0,\r\n \"quotaNextResetTime\": + \"Sat, 15 May 2021 02:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n + \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": + \"Enabled\",\r\n \"createdDate\": \"Fri, 14 May 2021 08:53:57 GMT\",\r\n + \ \"modifiedDate\": \"Fri, 14 May 2021 08:53:57 GMT\"\r\n },\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.operationalinsights/workspaces/clitest000002\",\r\n \ \"name\": \"clitest000002\",\r\n \"type\": \"Microsoft.OperationalInsights/workspaces\",\r\n \ \"location\": \"westus\"\r\n}" headers: cache-control: - no-cache content-length: - - '1177' + - '1133' content-type: - application/json date: - - Wed, 07 Apr 2021 03:23:38 GMT + - Fri, 14 May 2021 08:53:59 GMT pragma: - no-cache server: @@ -101,7 +98,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1196' x-powered-by: - ASP.NET - ASP.NET @@ -122,34 +119,34 @@ interactions: ParameterSetName: - -g -n User-Agent: - - AZURECLI/2.21.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002?api-version=2020-08-01 response: body: string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": - \"b4586821-db79-447b-bd44-9eeed77cabe2\",\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"maxCapacityReservationLevel\": - 3000,\r\n \"lastSkuUpdate\": \"Wed, 07 Apr 2021 03:23:37 GMT\"\r\n },\r\n - \ \"retentionInDays\": 30,\r\n \"features\": {\r\n \"legacy\": 0,\r\n - \ \"searchVersion\": 1,\r\n \"enableLogAccessUsingOnlyResourcePermissions\": - true\r\n },\r\n \"workspaceCapping\": {\r\n \"dailyQuotaGb\": -1.0,\r\n - \ \"quotaNextResetTime\": \"Wed, 07 Apr 2021 16:00:00 GMT\",\r\n \"dataIngestionStatus\": - \"RespectQuota\"\r\n },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n - \ \"publicNetworkAccessForQuery\": \"Enabled\",\r\n \"createdDate\": - \"Wed, 07 Apr 2021 03:23:37 GMT\",\r\n \"modifiedDate\": \"Wed, 07 Apr - 2021 03:23:38 GMT\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.operationalinsights/workspaces/clitest000002\",\r\n + \"a1ea0b6a-ccde-4f7e-b65d-2c8b87ddfa27\",\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"lastSkuUpdate\": + \"Fri, 14 May 2021 08:53:57 GMT\"\r\n },\r\n \"retentionInDays\": 30,\r\n + \ \"features\": {\r\n \"legacy\": 0,\r\n \"searchVersion\": 1,\r\n + \ \"enableLogAccessUsingOnlyResourcePermissions\": true\r\n },\r\n + \ \"workspaceCapping\": {\r\n \"dailyQuotaGb\": -1.0,\r\n \"quotaNextResetTime\": + \"Sat, 15 May 2021 02:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n + \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": + \"Enabled\",\r\n \"createdDate\": \"Fri, 14 May 2021 08:53:57 GMT\",\r\n + \ \"modifiedDate\": \"Fri, 14 May 2021 08:54:00 GMT\"\r\n },\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.operationalinsights/workspaces/clitest000002\",\r\n \ \"name\": \"clitest000002\",\r\n \"type\": \"Microsoft.OperationalInsights/workspaces\",\r\n \ \"location\": \"westus\"\r\n}" headers: cache-control: - no-cache content-length: - - '1178' + - '1134' content-type: - application/json date: - - Wed, 07 Apr 2021 03:24:08 GMT + - Fri, 14 May 2021 08:54:29 GMT pragma: - no-cache server: @@ -183,15 +180,12 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-resource/16.1.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-04-07T03:23:23Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-05-14T08:53:46Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -200,7 +194,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 07 Apr 2021 03:24:10 GMT + - Fri, 14 May 2021 08:54:30 GMT expires: - '-1' pragma: @@ -233,34 +227,34 @@ interactions: ParameterSetName: - -g -n User-Agent: - - AZURECLI/2.21.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationalInsights/workspaces/clitest000003?api-version=2020-08-01 response: body: string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": - \"2ba9c076-17f0-4249-bd0b-c0ce495ae789\",\r\n \"provisioningState\": \"Creating\",\r\n - \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"maxCapacityReservationLevel\": - 3000,\r\n \"lastSkuUpdate\": \"Wed, 07 Apr 2021 03:24:19 GMT\"\r\n },\r\n - \ \"retentionInDays\": 30,\r\n \"features\": {\r\n \"legacy\": 0,\r\n - \ \"searchVersion\": 1,\r\n \"enableLogAccessUsingOnlyResourcePermissions\": - true\r\n },\r\n \"workspaceCapping\": {\r\n \"dailyQuotaGb\": -1.0,\r\n - \ \"quotaNextResetTime\": \"Wed, 07 Apr 2021 17:00:00 GMT\",\r\n \"dataIngestionStatus\": - \"RespectQuota\"\r\n },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n - \ \"publicNetworkAccessForQuery\": \"Enabled\",\r\n \"createdDate\": - \"Wed, 07 Apr 2021 03:24:19 GMT\",\r\n \"modifiedDate\": \"Wed, 07 Apr - 2021 03:24:19 GMT\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.operationalinsights/workspaces/clitest000003\",\r\n + \"e1d1259d-cf03-40d7-924b-f5565361c4d9\",\r\n \"provisioningState\": \"Creating\",\r\n + \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"lastSkuUpdate\": + \"Fri, 14 May 2021 08:54:37 GMT\"\r\n },\r\n \"retentionInDays\": 30,\r\n + \ \"features\": {\r\n \"legacy\": 0,\r\n \"searchVersion\": 1,\r\n + \ \"enableLogAccessUsingOnlyResourcePermissions\": true\r\n },\r\n + \ \"workspaceCapping\": {\r\n \"dailyQuotaGb\": -1.0,\r\n \"quotaNextResetTime\": + \"Fri, 14 May 2021 17:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n + \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": + \"Enabled\",\r\n \"createdDate\": \"Fri, 14 May 2021 08:54:37 GMT\",\r\n + \ \"modifiedDate\": \"Fri, 14 May 2021 08:54:37 GMT\"\r\n },\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.operationalinsights/workspaces/clitest000003\",\r\n \ \"name\": \"clitest000003\",\r\n \"type\": \"Microsoft.OperationalInsights/workspaces\",\r\n \ \"location\": \"westus\"\r\n}" headers: cache-control: - no-cache content-length: - - '1177' + - '1133' content-type: - application/json date: - - Wed, 07 Apr 2021 03:24:19 GMT + - Fri, 14 May 2021 08:54:38 GMT pragma: - no-cache server: @@ -271,7 +265,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1198' x-powered-by: - ASP.NET - ASP.NET @@ -292,34 +286,34 @@ interactions: ParameterSetName: - -g -n User-Agent: - - AZURECLI/2.21.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationalInsights/workspaces/clitest000003?api-version=2020-08-01 response: body: string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": - \"2ba9c076-17f0-4249-bd0b-c0ce495ae789\",\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"maxCapacityReservationLevel\": - 3000,\r\n \"lastSkuUpdate\": \"Wed, 07 Apr 2021 03:24:19 GMT\"\r\n },\r\n - \ \"retentionInDays\": 30,\r\n \"features\": {\r\n \"legacy\": 0,\r\n - \ \"searchVersion\": 1,\r\n \"enableLogAccessUsingOnlyResourcePermissions\": - true\r\n },\r\n \"workspaceCapping\": {\r\n \"dailyQuotaGb\": -1.0,\r\n - \ \"quotaNextResetTime\": \"Wed, 07 Apr 2021 17:00:00 GMT\",\r\n \"dataIngestionStatus\": - \"RespectQuota\"\r\n },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n - \ \"publicNetworkAccessForQuery\": \"Enabled\",\r\n \"createdDate\": - \"Wed, 07 Apr 2021 03:24:19 GMT\",\r\n \"modifiedDate\": \"Wed, 07 Apr - 2021 03:24:20 GMT\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.operationalinsights/workspaces/clitest000003\",\r\n + \"e1d1259d-cf03-40d7-924b-f5565361c4d9\",\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"lastSkuUpdate\": + \"Fri, 14 May 2021 08:54:37 GMT\"\r\n },\r\n \"retentionInDays\": 30,\r\n + \ \"features\": {\r\n \"legacy\": 0,\r\n \"searchVersion\": 1,\r\n + \ \"enableLogAccessUsingOnlyResourcePermissions\": true\r\n },\r\n + \ \"workspaceCapping\": {\r\n \"dailyQuotaGb\": -1.0,\r\n \"quotaNextResetTime\": + \"Fri, 14 May 2021 17:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n + \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": + \"Enabled\",\r\n \"createdDate\": \"Fri, 14 May 2021 08:54:37 GMT\",\r\n + \ \"modifiedDate\": \"Fri, 14 May 2021 08:54:42 GMT\"\r\n },\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.operationalinsights/workspaces/clitest000003\",\r\n \ \"name\": \"clitest000003\",\r\n \"type\": \"Microsoft.OperationalInsights/workspaces\",\r\n \ \"location\": \"westus\"\r\n}" headers: cache-control: - no-cache content-length: - - '1178' + - '1134' content-type: - application/json date: - - Wed, 07 Apr 2021 03:24:50 GMT + - Fri, 14 May 2021 08:55:08 GMT pragma: - no-cache server: @@ -359,24 +353,24 @@ interactions: ParameterSetName: - --app --location --kind -g --application-type User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.3 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19043-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/demoApp?api-version=2018-05-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp","name":"demoApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"20023d9c-0000-0200-0000-606d260a0000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"c13d4410-42f5-4116-963a-1c141e4ae080","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"033adb67-635f-4f2a-abc3-7bc044ce8ab6","ConnectionString":"InstrumentationKey=033adb67-635f-4f2a-abc3-7bc044ce8ab6;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"demoApp","CreationDate":"2021-04-07T03:24:58.3616592+00:00","TenantId":"92f95d8f-3c67-4124-91c7-8cf07cdbf241","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"IngestionMode":"ApplicationInsights","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp","name":"demoApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"730029d5-0000-0200-0000-609e3af20000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"6d5dfcdc-eeb2-4e05-905e-0b2740bfeff4","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"c6e183df-5a8e-4c79-a845-bc71c9702059","ConnectionString":"InstrumentationKey=c6e183df-5a8e-4c79-a845-bc71c9702059;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"demoApp","CreationDate":"2021-05-14T08:55:14.167748+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"IngestionMode":"ApplicationInsights","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' headers: access-control-expose-headers: - Request-Context cache-control: - no-cache content-length: - - '1045' + - '1044' content-type: - application/json; charset=utf-8 date: - - Wed, 07 Apr 2021 03:25:00 GMT + - Fri, 14 May 2021 08:55:15 GMT expires: - '-1' pragma: @@ -414,24 +408,24 @@ interactions: ParameterSetName: - --app --workspace -g User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.3 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19043-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/demoApp?api-version=2020-02-02-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp","name":"demoApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"20023d9c-0000-0200-0000-606d260a0000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"c13d4410-42f5-4116-963a-1c141e4ae080","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"033adb67-635f-4f2a-abc3-7bc044ce8ab6","ConnectionString":"InstrumentationKey=033adb67-635f-4f2a-abc3-7bc044ce8ab6;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"demoApp","CreationDate":"2021-04-07T03:24:58.3616592+00:00","TenantId":"92f95d8f-3c67-4124-91c7-8cf07cdbf241","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"IngestionMode":"ApplicationInsights","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp","name":"demoApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"730029d5-0000-0200-0000-609e3af20000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"6d5dfcdc-eeb2-4e05-905e-0b2740bfeff4","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"c6e183df-5a8e-4c79-a845-bc71c9702059","ConnectionString":"InstrumentationKey=c6e183df-5a8e-4c79-a845-bc71c9702059;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"demoApp","CreationDate":"2021-05-14T08:55:14.167748+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"IngestionMode":"ApplicationInsights","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' headers: access-control-expose-headers: - Request-Context cache-control: - no-cache content-length: - - '1045' + - '1044' content-type: - application/json; charset=utf-8 date: - - Wed, 07 Apr 2021 03:25:08 GMT + - Fri, 14 May 2021 08:55:18 GMT expires: - '-1' pragma: @@ -467,10 +461,7 @@ interactions: ParameterSetName: - --app --workspace -g User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-resource/16.1.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/microsoft.OperationalInsights?api-version=2020-10-01 response: @@ -482,43 +473,51 @@ interactions: US 2","South Central US","North Central US","West US","UK West","South Africa North","Brazil South","Switzerland North","Switzerland West","Germany West Central","Australia Central 2","UAE Central","UAE North","Japan West","Brazil - Southeast","Norway East"],"apiVersions":["2020-10-01","2020-08-01","2020-03-01-preview","2017-04-26-preview","2017-03-15-preview","2017-03-03-preview","2017-01-01-preview","2015-11-01-preview","2015-03-20"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"locations","locations":[],"apiVersions":["2020-10-01","2020-08-01","2020-03-01-preview","2019-08-01-preview","2017-04-26-preview","2017-03-15-preview","2017-03-03-preview","2017-01-01-preview","2015-11-01-preview","2015-03-20"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"locations/operationStatuses","locations":["East + Southeast","Norway East","Norway West","France South","South India"],"apiVersions":["2020-10-01","2020-08-01","2020-03-01-preview","2017-04-26-preview","2017-03-15-preview","2017-03-03-preview","2017-01-01-preview","2015-11-01-preview","2015-03-20"],"capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"querypacks","locations":["West + Central US","East US","South Central US","North Europe","West Europe","Southeast + Asia","West US 2","UK South","Canada Central","Central India","Japan East","Australia + East","Korea Central","France Central","Central US","East US 2","East Asia","West + US","South Africa North","North Central US","Brazil South","Switzerland North","Norway + East","Australia Southeast","Australia Central 2","Germany West Central","Switzerland + West","UAE Central","UK West","Brazil Southeast","Japan West","UAE North","Australia + Central","France South","South India"],"apiVersions":["2019-09-01-preview"],"capabilities":"SupportsTags, + SupportsLocation"},{"resourceType":"locations","locations":[],"apiVersions":["2020-10-01","2020-08-01","2020-03-01-preview","2019-08-01-preview","2017-04-26-preview","2017-03-15-preview","2017-03-03-preview","2017-01-01-preview","2015-11-01-preview","2015-03-20"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"locations/operationStatuses","locations":["East US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia East","France Central","Korea Central","North Europe","Central US","East Asia","East US 2","South Central US","North Central US","West US","UK West","South Africa North","Brazil South","Switzerland North","Switzerland West","Germany West Central","Australia Central 2","UAE Central","UAE North","Japan West","Brazil - Southeast","Norway East"],"apiVersions":["2020-10-01","2020-08-01","2020-03-01-preview","2019-08-01-preview","2017-04-26-preview","2017-03-15-preview","2017-03-03-preview","2017-01-01-preview","2015-11-01-preview","2015-03-20"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"workspaces/scopedPrivateLinkProxies","locations":["East + Southeast","Norway East","Norway West","France South","South India"],"apiVersions":["2020-10-01","2020-08-01","2020-03-01-preview","2019-08-01-preview","2017-04-26-preview","2017-03-15-preview","2017-03-03-preview","2017-01-01-preview","2015-11-01-preview","2015-03-20"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"workspaces/scopedPrivateLinkProxies","locations":["East US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia East","France Central","Korea Central","North Europe","Central US","East Asia","East US 2","South Central US","North Central US","West US","UK West","South Africa North","Brazil South","Switzerland North","Switzerland West","Germany West Central","Australia Central 2","UAE Central","UAE North","Japan West","Brazil - Southeast","Norway East"],"apiVersions":["2020-03-01-preview","2019-08-01-preview","2015-11-01-preview"],"defaultApiVersion":"2020-03-01-preview","capabilities":"None"},{"resourceType":"workspaces/query","locations":[],"apiVersions":["2017-10-01"],"capabilities":"None"},{"resourceType":"workspaces/metadata","locations":[],"apiVersions":["2017-10-01"],"capabilities":"None"},{"resourceType":"workspaces/dataSources","locations":["East + Southeast","Norway East","Norway West","France South","South India"],"apiVersions":["2020-03-01-preview","2019-08-01-preview","2015-11-01-preview"],"defaultApiVersion":"2020-03-01-preview","capabilities":"None"},{"resourceType":"workspaces/query","locations":[],"apiVersions":["2017-10-01"],"capabilities":"None"},{"resourceType":"workspaces/metadata","locations":[],"apiVersions":["2017-10-01"],"capabilities":"None"},{"resourceType":"workspaces/dataSources","locations":["East US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia East","France Central","Korea Central","North Europe","Central US","East Asia","East US 2","South Central US","North Central US","West US","UK West","South Africa North","Brazil South","Switzerland North","Switzerland West","Germany West Central","Australia Central 2","UAE Central","UAE North","Japan West","Brazil - Southeast","Norway East"],"apiVersions":["2020-08-01","2020-03-01-preview","2015-11-01-preview"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"workspaces/linkedStorageAccounts","locations":["East + Southeast","Norway East","Norway West","France South","South India"],"apiVersions":["2020-08-01","2020-03-01-preview","2015-11-01-preview"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"workspaces/linkedStorageAccounts","locations":["East US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia East","France Central","Korea Central","North Europe","Central US","East Asia","East US 2","South Central US","North Central US","West US","UK West","South Africa North","Brazil South","Switzerland North","Switzerland West","Germany West Central","Australia Central 2","UAE Central","UAE North","Japan West","Brazil - Southeast","Norway East"],"apiVersions":["2020-08-01","2020-03-01-preview","2019-08-01-preview"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"workspaces/tables","locations":["East + Southeast","Norway East","Norway West","France South","South India"],"apiVersions":["2020-08-01","2020-03-01-preview","2019-08-01-preview"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"workspaces/tables","locations":["East US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan East","UK South","Central India","Canada Central","West US 2","Australia East","Australia Central","France Central","Korea Central","North Europe","Central US","East Asia","East US 2","South Central US","North Central US","West US","UK West","South Africa North","Brazil South","Switzerland North","Switzerland West","Germany West Central","Australia Central 2","UAE Central","UAE North","Japan West","Brazil - Southeast","Norway East"],"apiVersions":["2020-08-01","2020-03-01-preview","2017-04-26-preview"],"capabilities":"None"},{"resourceType":"workspaces/storageInsightConfigs","locations":["East + Southeast","Norway East","Norway West","France South","South India"],"apiVersions":["2020-08-01","2020-03-01-preview","2017-04-26-preview"],"capabilities":"None"},{"resourceType":"workspaces/storageInsightConfigs","locations":["East US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan East","UK South","Central India","Canada Central","West US 2","Australia East","Australia Central","France Central","Korea Central","North Europe","Central US","East @@ -532,7 +531,7 @@ interactions: US 2","South Central US","North Central US","West US","UK West","South Africa North","Brazil South","Switzerland North","Switzerland West","Germany West Central","Australia Central 2","UAE Central","UAE North","Japan West","Brazil - Southeast","Norway East"],"apiVersions":["2020-08-01","2020-03-01-preview","2019-08-01-preview","2015-11-01-preview"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"linkTargets","locations":["East + Southeast","Norway East","Norway West","France South","South India"],"apiVersions":["2020-08-01","2020-03-01-preview","2019-08-01-preview","2015-11-01-preview"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"linkTargets","locations":["East US"],"apiVersions":["2020-03-01-preview","2015-03-20"],"capabilities":"None"},{"resourceType":"deletedWorkspaces","locations":["East US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia @@ -540,32 +539,30 @@ interactions: US 2","South Central US","North Central US","West US","UK West","South Africa North","Brazil South","Switzerland North","Switzerland West","Germany West Central","Australia Central 2","UAE Central","UAE North","Japan West","Brazil - Southeast","Norway East"],"apiVersions":["2020-08-01","2020-03-01-preview"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"operations","locations":[],"apiVersions":["2020-10-01","2020-08-01","2020-03-01-preview","2015-11-01-preview","2014-11-10"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"clusters","locations":["East + Southeast","Norway East","Norway West","France South","South India"],"apiVersions":["2020-08-01","2020-03-01-preview"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"operations","locations":[],"apiVersions":["2020-10-01","2020-08-01","2020-03-01-preview","2015-11-01-preview","2014-11-10"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"clusters","locations":["East US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia East","France Central","Korea Central","North Europe","Central US","East Asia","East US 2","South Central US","North Central US","West US","UK West","South Africa North","Switzerland North","Switzerland West","Germany West Central","Australia Central 2","UAE Central","Brazil South","UAE North","Japan West","Brazil Southeast","Norway - East"],"apiVersions":["2020-10-01","2020-08-01","2020-03-01-preview","2019-08-01-preview"],"defaultApiVersion":"2020-08-01","capabilities":"CrossResourceGroupResourceMove, + East","Norway West","France South","South India"],"apiVersions":["2020-10-01","2020-08-01","2020-03-01-preview","2019-08-01-preview"],"defaultApiVersion":"2020-08-01","capabilities":"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SystemAssignedResourceIdentity, SupportsTags, SupportsLocation"},{"resourceType":"workspaces/dataExports","locations":["East US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia East","France Central","Korea Central","North Europe","Central US","East Asia","East US 2","South Central US","North Central US","West US","UK West","South Africa - North","Brazil South","Switzerland North","Switzerland West","Germany West - Central","Australia Central 2","UAE Central","UAE North","Japan West","Brazil - Southeast","Norway East"],"apiVersions":["2020-08-01","2020-03-01-preview","2019-08-01-preview"],"defaultApiVersion":"2020-08-01","capabilities":"None"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' + North","Brazil South"],"apiVersions":["2020-08-01","2020-03-01-preview","2019-08-01-preview"],"defaultApiVersion":"2020-08-01","capabilities":"None"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' headers: cache-control: - no-cache content-length: - - '9744' + - '10655' content-type: - application/json; charset=utf-8 date: - - Wed, 07 Apr 2021 03:25:08 GMT + - Fri, 14 May 2021 08:55:18 GMT expires: - '-1' pragma: @@ -593,37 +590,34 @@ interactions: ParameterSetName: - --app --workspace -g User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-resource/16.1.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000002?api-version=2020-10-01 response: body: string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": - \"b4586821-db79-447b-bd44-9eeed77cabe2\",\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"maxCapacityReservationLevel\": - 3000,\r\n \"lastSkuUpdate\": \"Wed, 07 Apr 2021 03:23:37 GMT\"\r\n },\r\n - \ \"retentionInDays\": 30,\r\n \"features\": {\r\n \"legacy\": 0,\r\n - \ \"searchVersion\": 1,\r\n \"enableLogAccessUsingOnlyResourcePermissions\": - true\r\n },\r\n \"workspaceCapping\": {\r\n \"dailyQuotaGb\": -1.0,\r\n - \ \"quotaNextResetTime\": \"Wed, 07 Apr 2021 16:00:00 GMT\",\r\n \"dataIngestionStatus\": - \"RespectQuota\"\r\n },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n - \ \"publicNetworkAccessForQuery\": \"Enabled\",\r\n \"createdDate\": - \"Wed, 07 Apr 2021 03:23:37 GMT\",\r\n \"modifiedDate\": \"Wed, 07 Apr - 2021 03:23:38 GMT\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.operationalinsights/workspaces/clitest000002\",\r\n + \"a1ea0b6a-ccde-4f7e-b65d-2c8b87ddfa27\",\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"lastSkuUpdate\": + \"Fri, 14 May 2021 08:53:57 GMT\"\r\n },\r\n \"retentionInDays\": 30,\r\n + \ \"features\": {\r\n \"legacy\": 0,\r\n \"searchVersion\": 1,\r\n + \ \"enableLogAccessUsingOnlyResourcePermissions\": true\r\n },\r\n + \ \"workspaceCapping\": {\r\n \"dailyQuotaGb\": -1.0,\r\n \"quotaNextResetTime\": + \"Sat, 15 May 2021 02:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n + \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": + \"Enabled\",\r\n \"createdDate\": \"Fri, 14 May 2021 08:53:57 GMT\",\r\n + \ \"modifiedDate\": \"Fri, 14 May 2021 08:54:00 GMT\"\r\n },\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.operationalinsights/workspaces/clitest000002\",\r\n \ \"name\": \"clitest000002\",\r\n \"type\": \"Microsoft.OperationalInsights/workspaces\",\r\n \ \"location\": \"westus\"\r\n}" headers: cache-control: - no-cache content-length: - - '1178' + - '1134' content-type: - application/json date: - - Wed, 07 Apr 2021 03:25:11 GMT + - Fri, 14 May 2021 08:55:19 GMT pragma: - no-cache server: @@ -644,7 +638,7 @@ interactions: code: 200 message: OK - request: - body: '{"location": "westus", "tags": {}, "kind": "web", "etag": "\"20023d9c-0000-0200-0000-606d260a0000\"", + body: '{"location": "westus", "tags": {}, "kind": "web", "etag": "\"730029d5-0000-0200-0000-609e3af20000\"", "properties": {"Application_Type": "web", "Flow_Type": "Bluefield", "Request_Source": "rest", "WorkspaceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000002", "publicNetworkAccessForIngestion": "Enabled", "publicNetworkAccessForQuery": @@ -665,24 +659,24 @@ interactions: ParameterSetName: - --app --workspace -g User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.3 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19043-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/demoApp?api-version=2020-02-02-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp","name":"demoApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"2002f79c-0000-0200-0000-606d261a0000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"c13d4410-42f5-4116-963a-1c141e4ae080","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"033adb67-635f-4f2a-abc3-7bc044ce8ab6","ConnectionString":"InstrumentationKey=033adb67-635f-4f2a-abc3-7bc044ce8ab6;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"demoApp","CreationDate":"2021-04-07T03:24:58.3616592+00:00","TenantId":"92f95d8f-3c67-4124-91c7-8cf07cdbf241","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"WorkspaceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000002","LaMigrationDate":"2021-04-07T03:25:14.1010594+00:00","IngestionMode":"LogAnalytics","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp","name":"demoApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"730034d5-0000-0200-0000-609e3af90000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"6d5dfcdc-eeb2-4e05-905e-0b2740bfeff4","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"c6e183df-5a8e-4c79-a845-bc71c9702059","ConnectionString":"InstrumentationKey=c6e183df-5a8e-4c79-a845-bc71c9702059;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"demoApp","CreationDate":"2021-05-14T08:55:14.167748+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"WorkspaceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000002","LaMigrationDate":"2021-05-14T08:55:20.9812276+00:00","IngestionMode":"LogAnalytics","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' headers: access-control-expose-headers: - Request-Context cache-control: - no-cache content-length: - - '1331' + - '1330' content-type: - application/json; charset=utf-8 date: - - Wed, 07 Apr 2021 03:25:18 GMT + - Fri, 14 May 2021 08:55:24 GMT expires: - '-1' pragma: @@ -700,7 +694,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1195' x-powered-by: - ASP.NET status: @@ -720,24 +714,24 @@ interactions: ParameterSetName: - --app --workspace -g User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.3 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19043-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/demoApp?api-version=2020-02-02-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp","name":"demoApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"2002f79c-0000-0200-0000-606d261a0000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"c13d4410-42f5-4116-963a-1c141e4ae080","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"033adb67-635f-4f2a-abc3-7bc044ce8ab6","ConnectionString":"InstrumentationKey=033adb67-635f-4f2a-abc3-7bc044ce8ab6;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"demoApp","CreationDate":"2021-04-07T03:24:58.3616592+00:00","TenantId":"92f95d8f-3c67-4124-91c7-8cf07cdbf241","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"WorkspaceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000002","LaMigrationDate":"2021-04-07T03:25:14.1010594+00:00","IngestionMode":"LogAnalytics","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp","name":"demoApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"730034d5-0000-0200-0000-609e3af90000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"6d5dfcdc-eeb2-4e05-905e-0b2740bfeff4","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"c6e183df-5a8e-4c79-a845-bc71c9702059","ConnectionString":"InstrumentationKey=c6e183df-5a8e-4c79-a845-bc71c9702059;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"demoApp","CreationDate":"2021-05-14T08:55:14.167748+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"WorkspaceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000002","LaMigrationDate":"2021-05-14T08:55:20.9812276+00:00","IngestionMode":"LogAnalytics","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' headers: access-control-expose-headers: - Request-Context cache-control: - no-cache content-length: - - '1331' + - '1330' content-type: - application/json; charset=utf-8 date: - - Wed, 07 Apr 2021 03:25:19 GMT + - Fri, 14 May 2021 08:55:25 GMT expires: - '-1' pragma: @@ -773,10 +767,7 @@ interactions: ParameterSetName: - --app --workspace -g User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-resource/16.1.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/microsoft.OperationalInsights?api-version=2020-10-01 response: @@ -788,43 +779,51 @@ interactions: US 2","South Central US","North Central US","West US","UK West","South Africa North","Brazil South","Switzerland North","Switzerland West","Germany West Central","Australia Central 2","UAE Central","UAE North","Japan West","Brazil - Southeast","Norway East"],"apiVersions":["2020-10-01","2020-08-01","2020-03-01-preview","2017-04-26-preview","2017-03-15-preview","2017-03-03-preview","2017-01-01-preview","2015-11-01-preview","2015-03-20"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"locations","locations":[],"apiVersions":["2020-10-01","2020-08-01","2020-03-01-preview","2019-08-01-preview","2017-04-26-preview","2017-03-15-preview","2017-03-03-preview","2017-01-01-preview","2015-11-01-preview","2015-03-20"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"locations/operationStatuses","locations":["East + Southeast","Norway East","Norway West","France South","South India"],"apiVersions":["2020-10-01","2020-08-01","2020-03-01-preview","2017-04-26-preview","2017-03-15-preview","2017-03-03-preview","2017-01-01-preview","2015-11-01-preview","2015-03-20"],"capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"querypacks","locations":["West + Central US","East US","South Central US","North Europe","West Europe","Southeast + Asia","West US 2","UK South","Canada Central","Central India","Japan East","Australia + East","Korea Central","France Central","Central US","East US 2","East Asia","West + US","South Africa North","North Central US","Brazil South","Switzerland North","Norway + East","Australia Southeast","Australia Central 2","Germany West Central","Switzerland + West","UAE Central","UK West","Brazil Southeast","Japan West","UAE North","Australia + Central","France South","South India"],"apiVersions":["2019-09-01-preview"],"capabilities":"SupportsTags, + SupportsLocation"},{"resourceType":"locations","locations":[],"apiVersions":["2020-10-01","2020-08-01","2020-03-01-preview","2019-08-01-preview","2017-04-26-preview","2017-03-15-preview","2017-03-03-preview","2017-01-01-preview","2015-11-01-preview","2015-03-20"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"locations/operationStatuses","locations":["East US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia East","France Central","Korea Central","North Europe","Central US","East Asia","East US 2","South Central US","North Central US","West US","UK West","South Africa North","Brazil South","Switzerland North","Switzerland West","Germany West Central","Australia Central 2","UAE Central","UAE North","Japan West","Brazil - Southeast","Norway East"],"apiVersions":["2020-10-01","2020-08-01","2020-03-01-preview","2019-08-01-preview","2017-04-26-preview","2017-03-15-preview","2017-03-03-preview","2017-01-01-preview","2015-11-01-preview","2015-03-20"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"workspaces/scopedPrivateLinkProxies","locations":["East + Southeast","Norway East","Norway West","France South","South India"],"apiVersions":["2020-10-01","2020-08-01","2020-03-01-preview","2019-08-01-preview","2017-04-26-preview","2017-03-15-preview","2017-03-03-preview","2017-01-01-preview","2015-11-01-preview","2015-03-20"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"workspaces/scopedPrivateLinkProxies","locations":["East US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia East","France Central","Korea Central","North Europe","Central US","East Asia","East US 2","South Central US","North Central US","West US","UK West","South Africa North","Brazil South","Switzerland North","Switzerland West","Germany West Central","Australia Central 2","UAE Central","UAE North","Japan West","Brazil - Southeast","Norway East"],"apiVersions":["2020-03-01-preview","2019-08-01-preview","2015-11-01-preview"],"defaultApiVersion":"2020-03-01-preview","capabilities":"None"},{"resourceType":"workspaces/query","locations":[],"apiVersions":["2017-10-01"],"capabilities":"None"},{"resourceType":"workspaces/metadata","locations":[],"apiVersions":["2017-10-01"],"capabilities":"None"},{"resourceType":"workspaces/dataSources","locations":["East + Southeast","Norway East","Norway West","France South","South India"],"apiVersions":["2020-03-01-preview","2019-08-01-preview","2015-11-01-preview"],"defaultApiVersion":"2020-03-01-preview","capabilities":"None"},{"resourceType":"workspaces/query","locations":[],"apiVersions":["2017-10-01"],"capabilities":"None"},{"resourceType":"workspaces/metadata","locations":[],"apiVersions":["2017-10-01"],"capabilities":"None"},{"resourceType":"workspaces/dataSources","locations":["East US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia East","France Central","Korea Central","North Europe","Central US","East Asia","East US 2","South Central US","North Central US","West US","UK West","South Africa North","Brazil South","Switzerland North","Switzerland West","Germany West Central","Australia Central 2","UAE Central","UAE North","Japan West","Brazil - Southeast","Norway East"],"apiVersions":["2020-08-01","2020-03-01-preview","2015-11-01-preview"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"workspaces/linkedStorageAccounts","locations":["East + Southeast","Norway East","Norway West","France South","South India"],"apiVersions":["2020-08-01","2020-03-01-preview","2015-11-01-preview"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"workspaces/linkedStorageAccounts","locations":["East US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia East","France Central","Korea Central","North Europe","Central US","East Asia","East US 2","South Central US","North Central US","West US","UK West","South Africa North","Brazil South","Switzerland North","Switzerland West","Germany West Central","Australia Central 2","UAE Central","UAE North","Japan West","Brazil - Southeast","Norway East"],"apiVersions":["2020-08-01","2020-03-01-preview","2019-08-01-preview"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"workspaces/tables","locations":["East + Southeast","Norway East","Norway West","France South","South India"],"apiVersions":["2020-08-01","2020-03-01-preview","2019-08-01-preview"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"workspaces/tables","locations":["East US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan East","UK South","Central India","Canada Central","West US 2","Australia East","Australia Central","France Central","Korea Central","North Europe","Central US","East Asia","East US 2","South Central US","North Central US","West US","UK West","South Africa North","Brazil South","Switzerland North","Switzerland West","Germany West Central","Australia Central 2","UAE Central","UAE North","Japan West","Brazil - Southeast","Norway East"],"apiVersions":["2020-08-01","2020-03-01-preview","2017-04-26-preview"],"capabilities":"None"},{"resourceType":"workspaces/storageInsightConfigs","locations":["East + Southeast","Norway East","Norway West","France South","South India"],"apiVersions":["2020-08-01","2020-03-01-preview","2017-04-26-preview"],"capabilities":"None"},{"resourceType":"workspaces/storageInsightConfigs","locations":["East US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan East","UK South","Central India","Canada Central","West US 2","Australia East","Australia Central","France Central","Korea Central","North Europe","Central US","East @@ -838,7 +837,7 @@ interactions: US 2","South Central US","North Central US","West US","UK West","South Africa North","Brazil South","Switzerland North","Switzerland West","Germany West Central","Australia Central 2","UAE Central","UAE North","Japan West","Brazil - Southeast","Norway East"],"apiVersions":["2020-08-01","2020-03-01-preview","2019-08-01-preview","2015-11-01-preview"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"linkTargets","locations":["East + Southeast","Norway East","Norway West","France South","South India"],"apiVersions":["2020-08-01","2020-03-01-preview","2019-08-01-preview","2015-11-01-preview"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"linkTargets","locations":["East US"],"apiVersions":["2020-03-01-preview","2015-03-20"],"capabilities":"None"},{"resourceType":"deletedWorkspaces","locations":["East US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia @@ -846,32 +845,30 @@ interactions: US 2","South Central US","North Central US","West US","UK West","South Africa North","Brazil South","Switzerland North","Switzerland West","Germany West Central","Australia Central 2","UAE Central","UAE North","Japan West","Brazil - Southeast","Norway East"],"apiVersions":["2020-08-01","2020-03-01-preview"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"operations","locations":[],"apiVersions":["2020-10-01","2020-08-01","2020-03-01-preview","2015-11-01-preview","2014-11-10"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"clusters","locations":["East + Southeast","Norway East","Norway West","France South","South India"],"apiVersions":["2020-08-01","2020-03-01-preview"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"operations","locations":[],"apiVersions":["2020-10-01","2020-08-01","2020-03-01-preview","2015-11-01-preview","2014-11-10"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"clusters","locations":["East US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia East","France Central","Korea Central","North Europe","Central US","East Asia","East US 2","South Central US","North Central US","West US","UK West","South Africa North","Switzerland North","Switzerland West","Germany West Central","Australia Central 2","UAE Central","Brazil South","UAE North","Japan West","Brazil Southeast","Norway - East"],"apiVersions":["2020-10-01","2020-08-01","2020-03-01-preview","2019-08-01-preview"],"defaultApiVersion":"2020-08-01","capabilities":"CrossResourceGroupResourceMove, + East","Norway West","France South","South India"],"apiVersions":["2020-10-01","2020-08-01","2020-03-01-preview","2019-08-01-preview"],"defaultApiVersion":"2020-08-01","capabilities":"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SystemAssignedResourceIdentity, SupportsTags, SupportsLocation"},{"resourceType":"workspaces/dataExports","locations":["East US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia East","France Central","Korea Central","North Europe","Central US","East Asia","East US 2","South Central US","North Central US","West US","UK West","South Africa - North","Brazil South","Switzerland North","Switzerland West","Germany West - Central","Australia Central 2","UAE Central","UAE North","Japan West","Brazil - Southeast","Norway East"],"apiVersions":["2020-08-01","2020-03-01-preview","2019-08-01-preview"],"defaultApiVersion":"2020-08-01","capabilities":"None"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' + North","Brazil South"],"apiVersions":["2020-08-01","2020-03-01-preview","2019-08-01-preview"],"defaultApiVersion":"2020-08-01","capabilities":"None"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' headers: cache-control: - no-cache content-length: - - '9744' + - '10655' content-type: - application/json; charset=utf-8 date: - - Wed, 07 Apr 2021 03:25:21 GMT + - Fri, 14 May 2021 08:55:25 GMT expires: - '-1' pragma: @@ -899,37 +896,34 @@ interactions: ParameterSetName: - --app --workspace -g User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-resource/16.1.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000003?api-version=2020-10-01 response: body: string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": - \"2ba9c076-17f0-4249-bd0b-c0ce495ae789\",\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"maxCapacityReservationLevel\": - 3000,\r\n \"lastSkuUpdate\": \"Wed, 07 Apr 2021 03:24:19 GMT\"\r\n },\r\n - \ \"retentionInDays\": 30,\r\n \"features\": {\r\n \"legacy\": 0,\r\n - \ \"searchVersion\": 1,\r\n \"enableLogAccessUsingOnlyResourcePermissions\": - true\r\n },\r\n \"workspaceCapping\": {\r\n \"dailyQuotaGb\": -1.0,\r\n - \ \"quotaNextResetTime\": \"Wed, 07 Apr 2021 17:00:00 GMT\",\r\n \"dataIngestionStatus\": - \"RespectQuota\"\r\n },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n - \ \"publicNetworkAccessForQuery\": \"Enabled\",\r\n \"createdDate\": - \"Wed, 07 Apr 2021 03:24:19 GMT\",\r\n \"modifiedDate\": \"Wed, 07 Apr - 2021 03:24:20 GMT\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.operationalinsights/workspaces/clitest000003\",\r\n + \"e1d1259d-cf03-40d7-924b-f5565361c4d9\",\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"lastSkuUpdate\": + \"Fri, 14 May 2021 08:54:37 GMT\"\r\n },\r\n \"retentionInDays\": 30,\r\n + \ \"features\": {\r\n \"legacy\": 0,\r\n \"searchVersion\": 1,\r\n + \ \"enableLogAccessUsingOnlyResourcePermissions\": true\r\n },\r\n + \ \"workspaceCapping\": {\r\n \"dailyQuotaGb\": -1.0,\r\n \"quotaNextResetTime\": + \"Fri, 14 May 2021 17:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n + \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": + \"Enabled\",\r\n \"createdDate\": \"Fri, 14 May 2021 08:54:37 GMT\",\r\n + \ \"modifiedDate\": \"Fri, 14 May 2021 08:54:42 GMT\"\r\n },\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.operationalinsights/workspaces/clitest000003\",\r\n \ \"name\": \"clitest000003\",\r\n \"type\": \"Microsoft.OperationalInsights/workspaces\",\r\n \ \"location\": \"westus\"\r\n}" headers: cache-control: - no-cache content-length: - - '1178' + - '1134' content-type: - application/json date: - - Wed, 07 Apr 2021 03:25:23 GMT + - Fri, 14 May 2021 08:55:26 GMT pragma: - no-cache server: @@ -950,7 +944,7 @@ interactions: code: 200 message: OK - request: - body: '{"location": "westus", "tags": {}, "kind": "web", "etag": "\"2002f79c-0000-0200-0000-606d261a0000\"", + body: '{"location": "westus", "tags": {}, "kind": "web", "etag": "\"730034d5-0000-0200-0000-609e3af90000\"", "properties": {"Application_Type": "web", "Flow_Type": "Bluefield", "Request_Source": "rest", "WorkspaceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000003", "publicNetworkAccessForIngestion": "Enabled", "publicNetworkAccessForQuery": @@ -971,24 +965,24 @@ interactions: ParameterSetName: - --app --workspace -g User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.3 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19043-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/demoApp?api-version=2020-02-02-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp","name":"demoApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"20029a9d-0000-0200-0000-606d26250000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"c13d4410-42f5-4116-963a-1c141e4ae080","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"033adb67-635f-4f2a-abc3-7bc044ce8ab6","ConnectionString":"InstrumentationKey=033adb67-635f-4f2a-abc3-7bc044ce8ab6;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"demoApp","CreationDate":"2021-04-07T03:24:58.3616592+00:00","TenantId":"92f95d8f-3c67-4124-91c7-8cf07cdbf241","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"WorkspaceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000003","LaMigrationDate":"2021-04-07T03:25:14.1010594+00:00","IngestionMode":"LogAnalytics","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp","name":"demoApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"73003ad5-0000-0200-0000-609e3b010000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"6d5dfcdc-eeb2-4e05-905e-0b2740bfeff4","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"c6e183df-5a8e-4c79-a845-bc71c9702059","ConnectionString":"InstrumentationKey=c6e183df-5a8e-4c79-a845-bc71c9702059;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"demoApp","CreationDate":"2021-05-14T08:55:14.167748+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"WorkspaceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000003","LaMigrationDate":"2021-05-14T08:55:20.9812276+00:00","IngestionMode":"LogAnalytics","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' headers: access-control-expose-headers: - Request-Context cache-control: - no-cache content-length: - - '1331' + - '1330' content-type: - application/json; charset=utf-8 date: - - Wed, 07 Apr 2021 03:25:29 GMT + - Fri, 14 May 2021 08:55:33 GMT expires: - '-1' pragma: @@ -1026,24 +1020,24 @@ interactions: ParameterSetName: - --app --workspace --kind -g User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.3 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19043-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/demoApp?api-version=2020-02-02-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp","name":"demoApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"20029a9d-0000-0200-0000-606d26250000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"c13d4410-42f5-4116-963a-1c141e4ae080","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"033adb67-635f-4f2a-abc3-7bc044ce8ab6","ConnectionString":"InstrumentationKey=033adb67-635f-4f2a-abc3-7bc044ce8ab6;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"demoApp","CreationDate":"2021-04-07T03:24:58.3616592+00:00","TenantId":"92f95d8f-3c67-4124-91c7-8cf07cdbf241","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"WorkspaceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000003","LaMigrationDate":"2021-04-07T03:25:14.1010594+00:00","IngestionMode":"LogAnalytics","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp","name":"demoApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"73003ad5-0000-0200-0000-609e3b010000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"6d5dfcdc-eeb2-4e05-905e-0b2740bfeff4","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"c6e183df-5a8e-4c79-a845-bc71c9702059","ConnectionString":"InstrumentationKey=c6e183df-5a8e-4c79-a845-bc71c9702059;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"demoApp","CreationDate":"2021-05-14T08:55:14.167748+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"WorkspaceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000003","LaMigrationDate":"2021-05-14T08:55:20.9812276+00:00","IngestionMode":"LogAnalytics","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' headers: access-control-expose-headers: - Request-Context cache-control: - no-cache content-length: - - '1331' + - '1330' content-type: - application/json; charset=utf-8 date: - - Wed, 07 Apr 2021 03:25:30 GMT + - Fri, 14 May 2021 08:55:33 GMT expires: - '-1' pragma: @@ -1079,10 +1073,7 @@ interactions: ParameterSetName: - --app --workspace --kind -g User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-resource/16.1.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/microsoft.OperationalInsights?api-version=2020-10-01 response: @@ -1094,43 +1085,51 @@ interactions: US 2","South Central US","North Central US","West US","UK West","South Africa North","Brazil South","Switzerland North","Switzerland West","Germany West Central","Australia Central 2","UAE Central","UAE North","Japan West","Brazil - Southeast","Norway East"],"apiVersions":["2020-10-01","2020-08-01","2020-03-01-preview","2017-04-26-preview","2017-03-15-preview","2017-03-03-preview","2017-01-01-preview","2015-11-01-preview","2015-03-20"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"locations","locations":[],"apiVersions":["2020-10-01","2020-08-01","2020-03-01-preview","2019-08-01-preview","2017-04-26-preview","2017-03-15-preview","2017-03-03-preview","2017-01-01-preview","2015-11-01-preview","2015-03-20"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"locations/operationStatuses","locations":["East + Southeast","Norway East","Norway West","France South","South India"],"apiVersions":["2020-10-01","2020-08-01","2020-03-01-preview","2017-04-26-preview","2017-03-15-preview","2017-03-03-preview","2017-01-01-preview","2015-11-01-preview","2015-03-20"],"capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"querypacks","locations":["West + Central US","East US","South Central US","North Europe","West Europe","Southeast + Asia","West US 2","UK South","Canada Central","Central India","Japan East","Australia + East","Korea Central","France Central","Central US","East US 2","East Asia","West + US","South Africa North","North Central US","Brazil South","Switzerland North","Norway + East","Australia Southeast","Australia Central 2","Germany West Central","Switzerland + West","UAE Central","UK West","Brazil Southeast","Japan West","UAE North","Australia + Central","France South","South India"],"apiVersions":["2019-09-01-preview"],"capabilities":"SupportsTags, + SupportsLocation"},{"resourceType":"locations","locations":[],"apiVersions":["2020-10-01","2020-08-01","2020-03-01-preview","2019-08-01-preview","2017-04-26-preview","2017-03-15-preview","2017-03-03-preview","2017-01-01-preview","2015-11-01-preview","2015-03-20"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"locations/operationStatuses","locations":["East US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia East","France Central","Korea Central","North Europe","Central US","East Asia","East US 2","South Central US","North Central US","West US","UK West","South Africa North","Brazil South","Switzerland North","Switzerland West","Germany West Central","Australia Central 2","UAE Central","UAE North","Japan West","Brazil - Southeast","Norway East"],"apiVersions":["2020-10-01","2020-08-01","2020-03-01-preview","2019-08-01-preview","2017-04-26-preview","2017-03-15-preview","2017-03-03-preview","2017-01-01-preview","2015-11-01-preview","2015-03-20"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"workspaces/scopedPrivateLinkProxies","locations":["East + Southeast","Norway East","Norway West","France South","South India"],"apiVersions":["2020-10-01","2020-08-01","2020-03-01-preview","2019-08-01-preview","2017-04-26-preview","2017-03-15-preview","2017-03-03-preview","2017-01-01-preview","2015-11-01-preview","2015-03-20"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"workspaces/scopedPrivateLinkProxies","locations":["East US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia East","France Central","Korea Central","North Europe","Central US","East Asia","East US 2","South Central US","North Central US","West US","UK West","South Africa North","Brazil South","Switzerland North","Switzerland West","Germany West Central","Australia Central 2","UAE Central","UAE North","Japan West","Brazil - Southeast","Norway East"],"apiVersions":["2020-03-01-preview","2019-08-01-preview","2015-11-01-preview"],"defaultApiVersion":"2020-03-01-preview","capabilities":"None"},{"resourceType":"workspaces/query","locations":[],"apiVersions":["2017-10-01"],"capabilities":"None"},{"resourceType":"workspaces/metadata","locations":[],"apiVersions":["2017-10-01"],"capabilities":"None"},{"resourceType":"workspaces/dataSources","locations":["East + Southeast","Norway East","Norway West","France South","South India"],"apiVersions":["2020-03-01-preview","2019-08-01-preview","2015-11-01-preview"],"defaultApiVersion":"2020-03-01-preview","capabilities":"None"},{"resourceType":"workspaces/query","locations":[],"apiVersions":["2017-10-01"],"capabilities":"None"},{"resourceType":"workspaces/metadata","locations":[],"apiVersions":["2017-10-01"],"capabilities":"None"},{"resourceType":"workspaces/dataSources","locations":["East US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia East","France Central","Korea Central","North Europe","Central US","East Asia","East US 2","South Central US","North Central US","West US","UK West","South Africa North","Brazil South","Switzerland North","Switzerland West","Germany West Central","Australia Central 2","UAE Central","UAE North","Japan West","Brazil - Southeast","Norway East"],"apiVersions":["2020-08-01","2020-03-01-preview","2015-11-01-preview"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"workspaces/linkedStorageAccounts","locations":["East + Southeast","Norway East","Norway West","France South","South India"],"apiVersions":["2020-08-01","2020-03-01-preview","2015-11-01-preview"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"workspaces/linkedStorageAccounts","locations":["East US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia East","France Central","Korea Central","North Europe","Central US","East Asia","East US 2","South Central US","North Central US","West US","UK West","South Africa North","Brazil South","Switzerland North","Switzerland West","Germany West Central","Australia Central 2","UAE Central","UAE North","Japan West","Brazil - Southeast","Norway East"],"apiVersions":["2020-08-01","2020-03-01-preview","2019-08-01-preview"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"workspaces/tables","locations":["East + Southeast","Norway East","Norway West","France South","South India"],"apiVersions":["2020-08-01","2020-03-01-preview","2019-08-01-preview"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"workspaces/tables","locations":["East US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan East","UK South","Central India","Canada Central","West US 2","Australia East","Australia Central","France Central","Korea Central","North Europe","Central US","East Asia","East US 2","South Central US","North Central US","West US","UK West","South Africa North","Brazil South","Switzerland North","Switzerland West","Germany West Central","Australia Central 2","UAE Central","UAE North","Japan West","Brazil - Southeast","Norway East"],"apiVersions":["2020-08-01","2020-03-01-preview","2017-04-26-preview"],"capabilities":"None"},{"resourceType":"workspaces/storageInsightConfigs","locations":["East + Southeast","Norway East","Norway West","France South","South India"],"apiVersions":["2020-08-01","2020-03-01-preview","2017-04-26-preview"],"capabilities":"None"},{"resourceType":"workspaces/storageInsightConfigs","locations":["East US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan East","UK South","Central India","Canada Central","West US 2","Australia East","Australia Central","France Central","Korea Central","North Europe","Central US","East @@ -1144,7 +1143,7 @@ interactions: US 2","South Central US","North Central US","West US","UK West","South Africa North","Brazil South","Switzerland North","Switzerland West","Germany West Central","Australia Central 2","UAE Central","UAE North","Japan West","Brazil - Southeast","Norway East"],"apiVersions":["2020-08-01","2020-03-01-preview","2019-08-01-preview","2015-11-01-preview"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"linkTargets","locations":["East + Southeast","Norway East","Norway West","France South","South India"],"apiVersions":["2020-08-01","2020-03-01-preview","2019-08-01-preview","2015-11-01-preview"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"linkTargets","locations":["East US"],"apiVersions":["2020-03-01-preview","2015-03-20"],"capabilities":"None"},{"resourceType":"deletedWorkspaces","locations":["East US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia @@ -1152,32 +1151,30 @@ interactions: US 2","South Central US","North Central US","West US","UK West","South Africa North","Brazil South","Switzerland North","Switzerland West","Germany West Central","Australia Central 2","UAE Central","UAE North","Japan West","Brazil - Southeast","Norway East"],"apiVersions":["2020-08-01","2020-03-01-preview"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"operations","locations":[],"apiVersions":["2020-10-01","2020-08-01","2020-03-01-preview","2015-11-01-preview","2014-11-10"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"clusters","locations":["East + Southeast","Norway East","Norway West","France South","South India"],"apiVersions":["2020-08-01","2020-03-01-preview"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"operations","locations":[],"apiVersions":["2020-10-01","2020-08-01","2020-03-01-preview","2015-11-01-preview","2014-11-10"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"clusters","locations":["East US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia East","France Central","Korea Central","North Europe","Central US","East Asia","East US 2","South Central US","North Central US","West US","UK West","South Africa North","Switzerland North","Switzerland West","Germany West Central","Australia Central 2","UAE Central","Brazil South","UAE North","Japan West","Brazil Southeast","Norway - East"],"apiVersions":["2020-10-01","2020-08-01","2020-03-01-preview","2019-08-01-preview"],"defaultApiVersion":"2020-08-01","capabilities":"CrossResourceGroupResourceMove, + East","Norway West","France South","South India"],"apiVersions":["2020-10-01","2020-08-01","2020-03-01-preview","2019-08-01-preview"],"defaultApiVersion":"2020-08-01","capabilities":"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SystemAssignedResourceIdentity, SupportsTags, SupportsLocation"},{"resourceType":"workspaces/dataExports","locations":["East US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia East","France Central","Korea Central","North Europe","Central US","East Asia","East US 2","South Central US","North Central US","West US","UK West","South Africa - North","Brazil South","Switzerland North","Switzerland West","Germany West - Central","Australia Central 2","UAE Central","UAE North","Japan West","Brazil - Southeast","Norway East"],"apiVersions":["2020-08-01","2020-03-01-preview","2019-08-01-preview"],"defaultApiVersion":"2020-08-01","capabilities":"None"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' + North","Brazil South"],"apiVersions":["2020-08-01","2020-03-01-preview","2019-08-01-preview"],"defaultApiVersion":"2020-08-01","capabilities":"None"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' headers: cache-control: - no-cache content-length: - - '9744' + - '10655' content-type: - application/json; charset=utf-8 date: - - Wed, 07 Apr 2021 03:25:31 GMT + - Fri, 14 May 2021 08:55:34 GMT expires: - '-1' pragma: @@ -1205,37 +1202,34 @@ interactions: ParameterSetName: - --app --workspace --kind -g User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-resource/16.1.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000002?api-version=2020-10-01 response: body: string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": - \"b4586821-db79-447b-bd44-9eeed77cabe2\",\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"maxCapacityReservationLevel\": - 3000,\r\n \"lastSkuUpdate\": \"Wed, 07 Apr 2021 03:23:37 GMT\"\r\n },\r\n - \ \"retentionInDays\": 30,\r\n \"features\": {\r\n \"legacy\": 0,\r\n - \ \"searchVersion\": 1,\r\n \"enableLogAccessUsingOnlyResourcePermissions\": - true\r\n },\r\n \"workspaceCapping\": {\r\n \"dailyQuotaGb\": -1.0,\r\n - \ \"quotaNextResetTime\": \"Wed, 07 Apr 2021 16:00:00 GMT\",\r\n \"dataIngestionStatus\": - \"RespectQuota\"\r\n },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n - \ \"publicNetworkAccessForQuery\": \"Enabled\",\r\n \"createdDate\": - \"Wed, 07 Apr 2021 03:23:37 GMT\",\r\n \"modifiedDate\": \"Wed, 07 Apr - 2021 03:23:38 GMT\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.operationalinsights/workspaces/clitest000002\",\r\n + \"a1ea0b6a-ccde-4f7e-b65d-2c8b87ddfa27\",\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"lastSkuUpdate\": + \"Fri, 14 May 2021 08:53:57 GMT\"\r\n },\r\n \"retentionInDays\": 30,\r\n + \ \"features\": {\r\n \"legacy\": 0,\r\n \"searchVersion\": 1,\r\n + \ \"enableLogAccessUsingOnlyResourcePermissions\": true\r\n },\r\n + \ \"workspaceCapping\": {\r\n \"dailyQuotaGb\": -1.0,\r\n \"quotaNextResetTime\": + \"Sat, 15 May 2021 02:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n + \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": + \"Enabled\",\r\n \"createdDate\": \"Fri, 14 May 2021 08:53:57 GMT\",\r\n + \ \"modifiedDate\": \"Fri, 14 May 2021 08:54:00 GMT\"\r\n },\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.operationalinsights/workspaces/clitest000002\",\r\n \ \"name\": \"clitest000002\",\r\n \"type\": \"Microsoft.OperationalInsights/workspaces\",\r\n \ \"location\": \"westus\"\r\n}" headers: cache-control: - no-cache content-length: - - '1178' + - '1134' content-type: - application/json date: - - Wed, 07 Apr 2021 03:25:33 GMT + - Fri, 14 May 2021 08:55:35 GMT pragma: - no-cache server: @@ -1256,7 +1250,7 @@ interactions: code: 200 message: OK - request: - body: '{"location": "westus", "tags": {}, "kind": "ios", "etag": "\"20029a9d-0000-0200-0000-606d26250000\"", + body: '{"location": "westus", "tags": {}, "kind": "ios", "etag": "\"73003ad5-0000-0200-0000-609e3b010000\"", "properties": {"Application_Type": "web", "Flow_Type": "Bluefield", "Request_Source": "rest", "WorkspaceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000002", "publicNetworkAccessForIngestion": "Enabled", "publicNetworkAccessForQuery": @@ -1277,24 +1271,24 @@ interactions: ParameterSetName: - --app --workspace --kind -g User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.3 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19043-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/demoApp?api-version=2020-02-02-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp","name":"demoApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"ios","etag":"\"2002379e-0000-0200-0000-606d26330000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"c13d4410-42f5-4116-963a-1c141e4ae080","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"033adb67-635f-4f2a-abc3-7bc044ce8ab6","ConnectionString":"InstrumentationKey=033adb67-635f-4f2a-abc3-7bc044ce8ab6;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"demoApp","CreationDate":"2021-04-07T03:24:58.3616592+00:00","TenantId":"92f95d8f-3c67-4124-91c7-8cf07cdbf241","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"WorkspaceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000002","LaMigrationDate":"2021-04-07T03:25:14.1010594+00:00","IngestionMode":"LogAnalytics","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp","name":"demoApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"ios","etag":"\"730043d5-0000-0200-0000-609e3b0a0000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"6d5dfcdc-eeb2-4e05-905e-0b2740bfeff4","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"c6e183df-5a8e-4c79-a845-bc71c9702059","ConnectionString":"InstrumentationKey=c6e183df-5a8e-4c79-a845-bc71c9702059;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"demoApp","CreationDate":"2021-05-14T08:55:14.167748+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"WorkspaceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000002","LaMigrationDate":"2021-05-14T08:55:20.9812276+00:00","IngestionMode":"LogAnalytics","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' headers: access-control-expose-headers: - Request-Context cache-control: - no-cache content-length: - - '1331' + - '1330' content-type: - application/json; charset=utf-8 date: - - Wed, 07 Apr 2021 03:25:43 GMT + - Fri, 14 May 2021 08:55:41 GMT expires: - '-1' pragma: @@ -1312,7 +1306,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' x-powered-by: - ASP.NET status: @@ -1339,13 +1333,13 @@ interactions: ParameterSetName: - --app --workspace --location --kind -g --application-type User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.3 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19043-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/testApp?api-version=2020-02-02-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/testApp","name":"testApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"ios","etag":"\"20029b9e-0000-0200-0000-606d263e0000\"","properties":{"Ver":"v2","ApplicationId":"testApp","AppId":"25a8d381-a6fa-4ab3-aca0-9fed787bd8da","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"bbd1ed61-51eb-49bc-8376-8fdad565e058","ConnectionString":"InstrumentationKey=bbd1ed61-51eb-49bc-8376-8fdad565e058;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"testApp","CreationDate":"2021-04-07T03:25:50.3024357+00:00","TenantId":"92f95d8f-3c67-4124-91c7-8cf07cdbf241","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"WorkspaceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000003","IngestionMode":"LogAnalytics","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/testApp","name":"testApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"ios","etag":"\"730046d5-0000-0200-0000-609e3b110000\"","properties":{"Ver":"v2","ApplicationId":"testApp","AppId":"46ab33e9-c22d-4903-af53-5cc147d4fe51","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"4d9291b4-709c-4baf-9077-c099b17e2d71","ConnectionString":"InstrumentationKey=4d9291b4-709c-4baf-9077-c099b17e2d71;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"testApp","CreationDate":"2021-05-14T08:55:45.0237839+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"WorkspaceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000003","IngestionMode":"LogAnalytics","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' headers: access-control-expose-headers: - Request-Context @@ -1356,7 +1350,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 07 Apr 2021 03:25:52 GMT + - Fri, 14 May 2021 08:55:46 GMT expires: - '-1' pragma: @@ -1374,7 +1368,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1195' x-powered-by: - ASP.NET status: @@ -1394,13 +1388,13 @@ interactions: ParameterSetName: - --app --kind -g User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.3 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19043-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/testApp?api-version=2018-05-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/testApp","name":"testApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"ios","etag":"\"20029b9e-0000-0200-0000-606d263e0000\"","properties":{"Ver":"v2","ApplicationId":"testApp","AppId":"25a8d381-a6fa-4ab3-aca0-9fed787bd8da","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"bbd1ed61-51eb-49bc-8376-8fdad565e058","ConnectionString":"InstrumentationKey=bbd1ed61-51eb-49bc-8376-8fdad565e058;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"testApp","CreationDate":"2021-04-07T03:25:50.3024357+00:00","TenantId":"92f95d8f-3c67-4124-91c7-8cf07cdbf241","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"WorkspaceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000003","IngestionMode":"LogAnalytics","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/testApp","name":"testApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"ios","etag":"\"730046d5-0000-0200-0000-609e3b110000\"","properties":{"Ver":"v2","ApplicationId":"testApp","AppId":"46ab33e9-c22d-4903-af53-5cc147d4fe51","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"4d9291b4-709c-4baf-9077-c099b17e2d71","ConnectionString":"InstrumentationKey=4d9291b4-709c-4baf-9077-c099b17e2d71;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"testApp","CreationDate":"2021-05-14T08:55:45.0237839+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"WorkspaceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000003","IngestionMode":"LogAnalytics","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' headers: access-control-expose-headers: - Request-Context @@ -1411,7 +1405,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 07 Apr 2021 03:25:53 GMT + - Fri, 14 May 2021 08:55:48 GMT expires: - '-1' pragma: @@ -1454,13 +1448,13 @@ interactions: ParameterSetName: - --app --kind -g User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.3 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19043-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/testApp?api-version=2018-05-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/testApp","name":"testApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"ios","etag":"\"2002d59e-0000-0200-0000-606d26440000\"","properties":{"Ver":"v2","ApplicationId":"testApp","AppId":"25a8d381-a6fa-4ab3-aca0-9fed787bd8da","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"bbd1ed61-51eb-49bc-8376-8fdad565e058","ConnectionString":"InstrumentationKey=bbd1ed61-51eb-49bc-8376-8fdad565e058;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"testApp","CreationDate":"2021-04-07T03:25:50.3024357+00:00","TenantId":"92f95d8f-3c67-4124-91c7-8cf07cdbf241","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"Retention":"P90D","WorkspaceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000003","IngestionMode":"LogAnalytics","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/testApp","name":"testApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"ios","etag":"\"73004dd5-0000-0200-0000-609e3b150000\"","properties":{"Ver":"v2","ApplicationId":"testApp","AppId":"46ab33e9-c22d-4903-af53-5cc147d4fe51","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"4d9291b4-709c-4baf-9077-c099b17e2d71","ConnectionString":"InstrumentationKey=4d9291b4-709c-4baf-9077-c099b17e2d71;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"testApp","CreationDate":"2021-05-14T08:55:45.0237839+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"Retention":"P90D","WorkspaceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000003","IngestionMode":"LogAnalytics","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' headers: access-control-expose-headers: - Request-Context @@ -1471,7 +1465,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 07 Apr 2021 03:25:59 GMT + - Fri, 14 May 2021 08:55:52 GMT expires: - '-1' pragma: @@ -1489,7 +1483,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1194' x-powered-by: - ASP.NET status: diff --git a/src/application-insights/azext_applicationinsights/tests/latest/recordings/test_component_with_public_network_access.yaml b/src/application-insights/azext_applicationinsights/tests/latest/recordings/test_component_with_public_network_access.yaml index b6fcaa0d9b4..b83376b535a 100644 --- a/src/application-insights/azext_applicationinsights/tests/latest/recordings/test_component_with_public_network_access.yaml +++ b/src/application-insights/azext_applicationinsights/tests/latest/recordings/test_component_with_public_network_access.yaml @@ -13,15 +13,12 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-resource/16.1.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-04-07T06:11:02Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-05-14T08:59:57Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -30,7 +27,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 07 Apr 2021 06:11:09 GMT + - Fri, 14 May 2021 09:00:01 GMT expires: - '-1' pragma: @@ -63,34 +60,34 @@ interactions: ParameterSetName: - -g -n User-Agent: - - AZURECLI/2.21.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002?api-version=2020-08-01 response: body: string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": - \"8326c54f-1170-4fda-9b64-ed759f1422b3\",\r\n \"provisioningState\": \"Creating\",\r\n - \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"maxCapacityReservationLevel\": - 3000,\r\n \"lastSkuUpdate\": \"Wed, 07 Apr 2021 06:11:18 GMT\"\r\n },\r\n - \ \"retentionInDays\": 30,\r\n \"features\": {\r\n \"legacy\": 0,\r\n - \ \"searchVersion\": 1,\r\n \"enableLogAccessUsingOnlyResourcePermissions\": - true\r\n },\r\n \"workspaceCapping\": {\r\n \"dailyQuotaGb\": -1.0,\r\n - \ \"quotaNextResetTime\": \"Wed, 07 Apr 2021 22:00:00 GMT\",\r\n \"dataIngestionStatus\": - \"RespectQuota\"\r\n },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n - \ \"publicNetworkAccessForQuery\": \"Enabled\",\r\n \"createdDate\": - \"Wed, 07 Apr 2021 06:11:18 GMT\",\r\n \"modifiedDate\": \"Wed, 07 Apr - 2021 06:11:18 GMT\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.operationalinsights/workspaces/clitest000002\",\r\n + \"2bca01e4-bf77-4647-a25f-9d7fa3ea52db\",\r\n \"provisioningState\": \"Creating\",\r\n + \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"lastSkuUpdate\": + \"Fri, 14 May 2021 09:00:07 GMT\"\r\n },\r\n \"retentionInDays\": 30,\r\n + \ \"features\": {\r\n \"legacy\": 0,\r\n \"searchVersion\": 1,\r\n + \ \"enableLogAccessUsingOnlyResourcePermissions\": true\r\n },\r\n + \ \"workspaceCapping\": {\r\n \"dailyQuotaGb\": -1.0,\r\n \"quotaNextResetTime\": + \"Sat, 15 May 2021 02:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n + \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": + \"Enabled\",\r\n \"createdDate\": \"Fri, 14 May 2021 09:00:07 GMT\",\r\n + \ \"modifiedDate\": \"Fri, 14 May 2021 09:00:07 GMT\"\r\n },\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.operationalinsights/workspaces/clitest000002\",\r\n \ \"name\": \"clitest000002\",\r\n \"type\": \"Microsoft.OperationalInsights/workspaces\",\r\n \ \"location\": \"westus\"\r\n}" headers: cache-control: - no-cache content-length: - - '1177' + - '1133' content-type: - application/json date: - - Wed, 07 Apr 2021 06:11:18 GMT + - Fri, 14 May 2021 09:00:08 GMT pragma: - no-cache server: @@ -101,7 +98,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1196' x-powered-by: - ASP.NET - ASP.NET @@ -122,34 +119,34 @@ interactions: ParameterSetName: - -g -n User-Agent: - - AZURECLI/2.21.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002?api-version=2020-08-01 response: body: string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": - \"8326c54f-1170-4fda-9b64-ed759f1422b3\",\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"maxCapacityReservationLevel\": - 3000,\r\n \"lastSkuUpdate\": \"Wed, 07 Apr 2021 06:11:18 GMT\"\r\n },\r\n - \ \"retentionInDays\": 30,\r\n \"features\": {\r\n \"legacy\": 0,\r\n - \ \"searchVersion\": 1,\r\n \"enableLogAccessUsingOnlyResourcePermissions\": - true\r\n },\r\n \"workspaceCapping\": {\r\n \"dailyQuotaGb\": -1.0,\r\n - \ \"quotaNextResetTime\": \"Wed, 07 Apr 2021 22:00:00 GMT\",\r\n \"dataIngestionStatus\": - \"RespectQuota\"\r\n },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n - \ \"publicNetworkAccessForQuery\": \"Enabled\",\r\n \"createdDate\": - \"Wed, 07 Apr 2021 06:11:18 GMT\",\r\n \"modifiedDate\": \"Wed, 07 Apr - 2021 06:11:19 GMT\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.operationalinsights/workspaces/clitest000002\",\r\n + \"2bca01e4-bf77-4647-a25f-9d7fa3ea52db\",\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"lastSkuUpdate\": + \"Fri, 14 May 2021 09:00:07 GMT\"\r\n },\r\n \"retentionInDays\": 30,\r\n + \ \"features\": {\r\n \"legacy\": 0,\r\n \"searchVersion\": 1,\r\n + \ \"enableLogAccessUsingOnlyResourcePermissions\": true\r\n },\r\n + \ \"workspaceCapping\": {\r\n \"dailyQuotaGb\": -1.0,\r\n \"quotaNextResetTime\": + \"Sat, 15 May 2021 02:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n + \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": + \"Enabled\",\r\n \"createdDate\": \"Fri, 14 May 2021 09:00:07 GMT\",\r\n + \ \"modifiedDate\": \"Fri, 14 May 2021 09:00:08 GMT\"\r\n },\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.operationalinsights/workspaces/clitest000002\",\r\n \ \"name\": \"clitest000002\",\r\n \"type\": \"Microsoft.OperationalInsights/workspaces\",\r\n \ \"location\": \"westus\"\r\n}" headers: cache-control: - no-cache content-length: - - '1178' + - '1134' content-type: - application/json date: - - Wed, 07 Apr 2021 06:11:49 GMT + - Fri, 14 May 2021 09:00:38 GMT pragma: - no-cache server: @@ -183,15 +180,12 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-resource/16.1.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-04-07T06:11:02Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-05-14T08:59:57Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -200,7 +194,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 07 Apr 2021 06:11:50 GMT + - Fri, 14 May 2021 09:00:39 GMT expires: - '-1' pragma: @@ -233,34 +227,34 @@ interactions: ParameterSetName: - -g -n User-Agent: - - AZURECLI/2.21.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationalInsights/workspaces/clitest000003?api-version=2020-08-01 response: body: string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": - \"22544ac1-6fa8-4d9b-b34d-3dc31f990d7a\",\r\n \"provisioningState\": \"Creating\",\r\n - \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"maxCapacityReservationLevel\": - 3000,\r\n \"lastSkuUpdate\": \"Wed, 07 Apr 2021 06:12:01 GMT\"\r\n },\r\n - \ \"retentionInDays\": 30,\r\n \"features\": {\r\n \"legacy\": 0,\r\n - \ \"searchVersion\": 1,\r\n \"enableLogAccessUsingOnlyResourcePermissions\": - true\r\n },\r\n \"workspaceCapping\": {\r\n \"dailyQuotaGb\": -1.0,\r\n - \ \"quotaNextResetTime\": \"Thu, 08 Apr 2021 04:00:00 GMT\",\r\n \"dataIngestionStatus\": - \"RespectQuota\"\r\n },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n - \ \"publicNetworkAccessForQuery\": \"Enabled\",\r\n \"createdDate\": - \"Wed, 07 Apr 2021 06:12:01 GMT\",\r\n \"modifiedDate\": \"Wed, 07 Apr - 2021 06:12:01 GMT\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.operationalinsights/workspaces/clitest000003\",\r\n + \"e9242819-cf3f-4c47-81a0-73d46dd34b8f\",\r\n \"provisioningState\": \"Creating\",\r\n + \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"lastSkuUpdate\": + \"Fri, 14 May 2021 09:00:47 GMT\"\r\n },\r\n \"retentionInDays\": 30,\r\n + \ \"features\": {\r\n \"legacy\": 0,\r\n \"searchVersion\": 1,\r\n + \ \"enableLogAccessUsingOnlyResourcePermissions\": true\r\n },\r\n + \ \"workspaceCapping\": {\r\n \"dailyQuotaGb\": -1.0,\r\n \"quotaNextResetTime\": + \"Fri, 14 May 2021 20:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n + \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": + \"Enabled\",\r\n \"createdDate\": \"Fri, 14 May 2021 09:00:47 GMT\",\r\n + \ \"modifiedDate\": \"Fri, 14 May 2021 09:00:47 GMT\"\r\n },\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.operationalinsights/workspaces/clitest000003\",\r\n \ \"name\": \"clitest000003\",\r\n \"type\": \"Microsoft.OperationalInsights/workspaces\",\r\n \ \"location\": \"westus\"\r\n}" headers: cache-control: - no-cache content-length: - - '1177' + - '1133' content-type: - application/json date: - - Wed, 07 Apr 2021 06:12:02 GMT + - Fri, 14 May 2021 09:00:48 GMT pragma: - no-cache server: @@ -271,7 +265,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1197' x-powered-by: - ASP.NET - ASP.NET @@ -292,34 +286,34 @@ interactions: ParameterSetName: - -g -n User-Agent: - - AZURECLI/2.21.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/Microsoft.OperationalInsights/workspaces/clitest000003?api-version=2020-08-01 response: body: string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": - \"22544ac1-6fa8-4d9b-b34d-3dc31f990d7a\",\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"maxCapacityReservationLevel\": - 3000,\r\n \"lastSkuUpdate\": \"Wed, 07 Apr 2021 06:12:01 GMT\"\r\n },\r\n - \ \"retentionInDays\": 30,\r\n \"features\": {\r\n \"legacy\": 0,\r\n - \ \"searchVersion\": 1,\r\n \"enableLogAccessUsingOnlyResourcePermissions\": - true\r\n },\r\n \"workspaceCapping\": {\r\n \"dailyQuotaGb\": -1.0,\r\n - \ \"quotaNextResetTime\": \"Thu, 08 Apr 2021 04:00:00 GMT\",\r\n \"dataIngestionStatus\": - \"RespectQuota\"\r\n },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n - \ \"publicNetworkAccessForQuery\": \"Enabled\",\r\n \"createdDate\": - \"Wed, 07 Apr 2021 06:12:01 GMT\",\r\n \"modifiedDate\": \"Wed, 07 Apr - 2021 06:12:02 GMT\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.operationalinsights/workspaces/clitest000003\",\r\n + \"e9242819-cf3f-4c47-81a0-73d46dd34b8f\",\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"lastSkuUpdate\": + \"Fri, 14 May 2021 09:00:47 GMT\"\r\n },\r\n \"retentionInDays\": 30,\r\n + \ \"features\": {\r\n \"legacy\": 0,\r\n \"searchVersion\": 1,\r\n + \ \"enableLogAccessUsingOnlyResourcePermissions\": true\r\n },\r\n + \ \"workspaceCapping\": {\r\n \"dailyQuotaGb\": -1.0,\r\n \"quotaNextResetTime\": + \"Fri, 14 May 2021 20:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n + \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": + \"Enabled\",\r\n \"createdDate\": \"Fri, 14 May 2021 09:00:47 GMT\",\r\n + \ \"modifiedDate\": \"Fri, 14 May 2021 09:00:52 GMT\"\r\n },\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.operationalinsights/workspaces/clitest000003\",\r\n \ \"name\": \"clitest000003\",\r\n \"type\": \"Microsoft.OperationalInsights/workspaces\",\r\n \ \"location\": \"westus\"\r\n}" headers: cache-control: - no-cache content-length: - - '1178' + - '1134' content-type: - application/json date: - - Wed, 07 Apr 2021 06:12:33 GMT + - Fri, 14 May 2021 09:01:18 GMT pragma: - no-cache server: @@ -359,13 +353,13 @@ interactions: ParameterSetName: - --app --location --kind -g --application-type User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.3 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19043-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/demoApp?api-version=2018-05-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp","name":"demoApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"24028231-0000-0200-0000-606d4d580000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"ee086bbc-7f47-4627-acb4-735fe4032066","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"ef426177-3cf7-48c0-965f-479f87b266be","ConnectionString":"InstrumentationKey=ef426177-3cf7-48c0-965f-479f87b266be;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"demoApp","CreationDate":"2021-04-07T06:12:40.8599222+00:00","TenantId":"92f95d8f-3c67-4124-91c7-8cf07cdbf241","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"IngestionMode":"ApplicationInsights","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp","name":"demoApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"7300ffd5-0000-0200-0000-609e3c660000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"ca1461b3-a993-4f55-92c9-d392a208b27d","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"ad8ed70d-5613-4d7d-ab61-9b074ec3b6d3","ConnectionString":"InstrumentationKey=ad8ed70d-5613-4d7d-ab61-9b074ec3b6d3;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"demoApp","CreationDate":"2021-05-14T09:01:26.2279098+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"IngestionMode":"ApplicationInsights","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' headers: access-control-expose-headers: - Request-Context @@ -376,7 +370,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 07 Apr 2021 06:12:42 GMT + - Fri, 14 May 2021 09:01:28 GMT expires: - '-1' pragma: @@ -394,7 +388,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1197' x-powered-by: - ASP.NET status: @@ -414,13 +408,13 @@ interactions: ParameterSetName: - --app --query-access --ingestion-access -g User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.3 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19043-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/demoApp?api-version=2018-05-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp","name":"demoApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"24028231-0000-0200-0000-606d4d580000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"ee086bbc-7f47-4627-acb4-735fe4032066","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"ef426177-3cf7-48c0-965f-479f87b266be","ConnectionString":"InstrumentationKey=ef426177-3cf7-48c0-965f-479f87b266be;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"demoApp","CreationDate":"2021-04-07T06:12:40.8599222+00:00","TenantId":"92f95d8f-3c67-4124-91c7-8cf07cdbf241","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"IngestionMode":"ApplicationInsights","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp","name":"demoApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"7300ffd5-0000-0200-0000-609e3c660000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"ca1461b3-a993-4f55-92c9-d392a208b27d","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"ad8ed70d-5613-4d7d-ab61-9b074ec3b6d3","ConnectionString":"InstrumentationKey=ad8ed70d-5613-4d7d-ab61-9b074ec3b6d3;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"demoApp","CreationDate":"2021-05-14T09:01:26.2279098+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"IngestionMode":"ApplicationInsights","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' headers: access-control-expose-headers: - Request-Context @@ -431,7 +425,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 07 Apr 2021 06:12:45 GMT + - Fri, 14 May 2021 09:01:29 GMT expires: - '-1' pragma: @@ -474,13 +468,13 @@ interactions: ParameterSetName: - --app --query-access --ingestion-access -g User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.3 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19043-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/demoApp?api-version=2018-05-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp","name":"demoApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"24025e32-0000-0200-0000-606d4d5e0000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"ee086bbc-7f47-4627-acb4-735fe4032066","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"ef426177-3cf7-48c0-965f-479f87b266be","ConnectionString":"InstrumentationKey=ef426177-3cf7-48c0-965f-479f87b266be;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"demoApp","CreationDate":"2021-04-07T06:12:40.8599222+00:00","TenantId":"92f95d8f-3c67-4124-91c7-8cf07cdbf241","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"Retention":"P90D","IngestionMode":"ApplicationInsights","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp","name":"demoApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"730005d6-0000-0200-0000-609e3c6a0000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"ca1461b3-a993-4f55-92c9-d392a208b27d","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"ad8ed70d-5613-4d7d-ab61-9b074ec3b6d3","ConnectionString":"InstrumentationKey=ad8ed70d-5613-4d7d-ab61-9b074ec3b6d3;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"demoApp","CreationDate":"2021-05-14T09:01:26.2279098+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"Retention":"P90D","IngestionMode":"ApplicationInsights","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' headers: access-control-expose-headers: - Request-Context @@ -491,7 +485,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 07 Apr 2021 06:12:50 GMT + - Fri, 14 May 2021 09:01:34 GMT expires: - '-1' pragma: @@ -509,7 +503,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1195' x-powered-by: - ASP.NET status: @@ -529,13 +523,13 @@ interactions: ParameterSetName: - --app --workspace --query-access --ingestion-access -g User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.3 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19043-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/demoApp?api-version=2020-02-02-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp","name":"demoApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"24025e32-0000-0200-0000-606d4d5e0000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"ee086bbc-7f47-4627-acb4-735fe4032066","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"ef426177-3cf7-48c0-965f-479f87b266be","ConnectionString":"InstrumentationKey=ef426177-3cf7-48c0-965f-479f87b266be;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"demoApp","CreationDate":"2021-04-07T06:12:40.8599222+00:00","TenantId":"92f95d8f-3c67-4124-91c7-8cf07cdbf241","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"Retention":"P90D","IngestionMode":"ApplicationInsights","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp","name":"demoApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"730005d6-0000-0200-0000-609e3c6a0000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"ca1461b3-a993-4f55-92c9-d392a208b27d","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"ad8ed70d-5613-4d7d-ab61-9b074ec3b6d3","ConnectionString":"InstrumentationKey=ad8ed70d-5613-4d7d-ab61-9b074ec3b6d3;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"demoApp","CreationDate":"2021-05-14T09:01:26.2279098+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"Retention":"P90D","IngestionMode":"ApplicationInsights","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' headers: access-control-expose-headers: - Request-Context @@ -546,7 +540,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 07 Apr 2021 06:12:51 GMT + - Fri, 14 May 2021 09:01:34 GMT expires: - '-1' pragma: @@ -582,10 +576,7 @@ interactions: ParameterSetName: - --app --workspace --query-access --ingestion-access -g User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-resource/16.1.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/microsoft.OperationalInsights?api-version=2020-10-01 response: @@ -597,43 +588,51 @@ interactions: US 2","South Central US","North Central US","West US","UK West","South Africa North","Brazil South","Switzerland North","Switzerland West","Germany West Central","Australia Central 2","UAE Central","UAE North","Japan West","Brazil - Southeast","Norway East"],"apiVersions":["2020-10-01","2020-08-01","2020-03-01-preview","2017-04-26-preview","2017-03-15-preview","2017-03-03-preview","2017-01-01-preview","2015-11-01-preview","2015-03-20"],"capabilities":"CrossResourceGroupResourceMove, - CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"locations","locations":[],"apiVersions":["2020-10-01","2020-08-01","2020-03-01-preview","2019-08-01-preview","2017-04-26-preview","2017-03-15-preview","2017-03-03-preview","2017-01-01-preview","2015-11-01-preview","2015-03-20"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"locations/operationStatuses","locations":["East + Southeast","Norway East","Norway West","France South","South India"],"apiVersions":["2020-10-01","2020-08-01","2020-03-01-preview","2017-04-26-preview","2017-03-15-preview","2017-03-03-preview","2017-01-01-preview","2015-11-01-preview","2015-03-20"],"capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"querypacks","locations":["West + Central US","East US","South Central US","North Europe","West Europe","Southeast + Asia","West US 2","UK South","Canada Central","Central India","Japan East","Australia + East","Korea Central","France Central","Central US","East US 2","East Asia","West + US","South Africa North","North Central US","Brazil South","Switzerland North","Norway + East","Australia Southeast","Australia Central 2","Germany West Central","Switzerland + West","UAE Central","UK West","Brazil Southeast","Japan West","UAE North","Australia + Central","France South","South India"],"apiVersions":["2019-09-01-preview"],"capabilities":"SupportsTags, + SupportsLocation"},{"resourceType":"locations","locations":[],"apiVersions":["2020-10-01","2020-08-01","2020-03-01-preview","2019-08-01-preview","2017-04-26-preview","2017-03-15-preview","2017-03-03-preview","2017-01-01-preview","2015-11-01-preview","2015-03-20"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"locations/operationStatuses","locations":["East US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia East","France Central","Korea Central","North Europe","Central US","East Asia","East US 2","South Central US","North Central US","West US","UK West","South Africa North","Brazil South","Switzerland North","Switzerland West","Germany West Central","Australia Central 2","UAE Central","UAE North","Japan West","Brazil - Southeast","Norway East"],"apiVersions":["2020-10-01","2020-08-01","2020-03-01-preview","2019-08-01-preview","2017-04-26-preview","2017-03-15-preview","2017-03-03-preview","2017-01-01-preview","2015-11-01-preview","2015-03-20"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"workspaces/scopedPrivateLinkProxies","locations":["East + Southeast","Norway East","Norway West","France South","South India"],"apiVersions":["2020-10-01","2020-08-01","2020-03-01-preview","2019-08-01-preview","2017-04-26-preview","2017-03-15-preview","2017-03-03-preview","2017-01-01-preview","2015-11-01-preview","2015-03-20"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"workspaces/scopedPrivateLinkProxies","locations":["East US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia East","France Central","Korea Central","North Europe","Central US","East Asia","East US 2","South Central US","North Central US","West US","UK West","South Africa North","Brazil South","Switzerland North","Switzerland West","Germany West Central","Australia Central 2","UAE Central","UAE North","Japan West","Brazil - Southeast","Norway East"],"apiVersions":["2020-03-01-preview","2019-08-01-preview","2015-11-01-preview"],"defaultApiVersion":"2020-03-01-preview","capabilities":"None"},{"resourceType":"workspaces/query","locations":[],"apiVersions":["2017-10-01"],"capabilities":"None"},{"resourceType":"workspaces/metadata","locations":[],"apiVersions":["2017-10-01"],"capabilities":"None"},{"resourceType":"workspaces/dataSources","locations":["East + Southeast","Norway East","Norway West","France South","South India"],"apiVersions":["2020-03-01-preview","2019-08-01-preview","2015-11-01-preview"],"defaultApiVersion":"2020-03-01-preview","capabilities":"None"},{"resourceType":"workspaces/query","locations":[],"apiVersions":["2017-10-01"],"capabilities":"None"},{"resourceType":"workspaces/metadata","locations":[],"apiVersions":["2017-10-01"],"capabilities":"None"},{"resourceType":"workspaces/dataSources","locations":["East US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia East","France Central","Korea Central","North Europe","Central US","East Asia","East US 2","South Central US","North Central US","West US","UK West","South Africa North","Brazil South","Switzerland North","Switzerland West","Germany West Central","Australia Central 2","UAE Central","UAE North","Japan West","Brazil - Southeast","Norway East"],"apiVersions":["2020-08-01","2020-03-01-preview","2015-11-01-preview"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"workspaces/linkedStorageAccounts","locations":["East + Southeast","Norway East","Norway West","France South","South India"],"apiVersions":["2020-08-01","2020-03-01-preview","2015-11-01-preview"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"workspaces/linkedStorageAccounts","locations":["East US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia East","France Central","Korea Central","North Europe","Central US","East Asia","East US 2","South Central US","North Central US","West US","UK West","South Africa North","Brazil South","Switzerland North","Switzerland West","Germany West Central","Australia Central 2","UAE Central","UAE North","Japan West","Brazil - Southeast","Norway East"],"apiVersions":["2020-08-01","2020-03-01-preview","2019-08-01-preview"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"workspaces/tables","locations":["East + Southeast","Norway East","Norway West","France South","South India"],"apiVersions":["2020-08-01","2020-03-01-preview","2019-08-01-preview"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"workspaces/tables","locations":["East US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan East","UK South","Central India","Canada Central","West US 2","Australia East","Australia Central","France Central","Korea Central","North Europe","Central US","East Asia","East US 2","South Central US","North Central US","West US","UK West","South Africa North","Brazil South","Switzerland North","Switzerland West","Germany West Central","Australia Central 2","UAE Central","UAE North","Japan West","Brazil - Southeast","Norway East"],"apiVersions":["2020-08-01","2020-03-01-preview","2017-04-26-preview"],"capabilities":"None"},{"resourceType":"workspaces/storageInsightConfigs","locations":["East + Southeast","Norway East","Norway West","France South","South India"],"apiVersions":["2020-08-01","2020-03-01-preview","2017-04-26-preview"],"capabilities":"None"},{"resourceType":"workspaces/storageInsightConfigs","locations":["East US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan East","UK South","Central India","Canada Central","West US 2","Australia East","Australia Central","France Central","Korea Central","North Europe","Central US","East @@ -647,7 +646,7 @@ interactions: US 2","South Central US","North Central US","West US","UK West","South Africa North","Brazil South","Switzerland North","Switzerland West","Germany West Central","Australia Central 2","UAE Central","UAE North","Japan West","Brazil - Southeast","Norway East"],"apiVersions":["2020-08-01","2020-03-01-preview","2019-08-01-preview","2015-11-01-preview"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"linkTargets","locations":["East + Southeast","Norway East","Norway West","France South","South India"],"apiVersions":["2020-08-01","2020-03-01-preview","2019-08-01-preview","2015-11-01-preview"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"linkTargets","locations":["East US"],"apiVersions":["2020-03-01-preview","2015-03-20"],"capabilities":"None"},{"resourceType":"deletedWorkspaces","locations":["East US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia @@ -655,32 +654,30 @@ interactions: US 2","South Central US","North Central US","West US","UK West","South Africa North","Brazil South","Switzerland North","Switzerland West","Germany West Central","Australia Central 2","UAE Central","UAE North","Japan West","Brazil - Southeast","Norway East"],"apiVersions":["2020-08-01","2020-03-01-preview"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"operations","locations":[],"apiVersions":["2020-10-01","2020-08-01","2020-03-01-preview","2015-11-01-preview","2014-11-10"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"clusters","locations":["East + Southeast","Norway East","Norway West","France South","South India"],"apiVersions":["2020-08-01","2020-03-01-preview"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"operations","locations":[],"apiVersions":["2020-10-01","2020-08-01","2020-03-01-preview","2015-11-01-preview","2014-11-10"],"defaultApiVersion":"2020-08-01","capabilities":"None"},{"resourceType":"clusters","locations":["East US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia East","France Central","Korea Central","North Europe","Central US","East Asia","East US 2","South Central US","North Central US","West US","UK West","South Africa North","Switzerland North","Switzerland West","Germany West Central","Australia Central 2","UAE Central","Brazil South","UAE North","Japan West","Brazil Southeast","Norway - East"],"apiVersions":["2020-10-01","2020-08-01","2020-03-01-preview","2019-08-01-preview"],"defaultApiVersion":"2020-08-01","capabilities":"CrossResourceGroupResourceMove, + East","Norway West","France South","South India"],"apiVersions":["2020-10-01","2020-08-01","2020-03-01-preview","2019-08-01-preview"],"defaultApiVersion":"2020-08-01","capabilities":"CrossResourceGroupResourceMove, CrossSubscriptionResourceMove, SystemAssignedResourceIdentity, SupportsTags, SupportsLocation"},{"resourceType":"workspaces/dataExports","locations":["East US","West Europe","Southeast Asia","Australia Southeast","West Central US","Japan East","UK South","Central India","Canada Central","West US 2","Australia Central","Australia East","France Central","Korea Central","North Europe","Central US","East Asia","East US 2","South Central US","North Central US","West US","UK West","South Africa - North","Brazil South","Switzerland North","Switzerland West","Germany West - Central","Australia Central 2","UAE Central","UAE North","Japan West","Brazil - Southeast","Norway East"],"apiVersions":["2020-08-01","2020-03-01-preview","2019-08-01-preview"],"defaultApiVersion":"2020-08-01","capabilities":"None"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' + North","Brazil South"],"apiVersions":["2020-08-01","2020-03-01-preview","2019-08-01-preview"],"defaultApiVersion":"2020-08-01","capabilities":"None"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' headers: cache-control: - no-cache content-length: - - '9744' + - '10655' content-type: - application/json; charset=utf-8 date: - - Wed, 07 Apr 2021 06:12:52 GMT + - Fri, 14 May 2021 09:01:35 GMT expires: - '-1' pragma: @@ -708,37 +705,34 @@ interactions: ParameterSetName: - --app --workspace --query-access --ingestion-access -g User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-resource/16.1.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000002?api-version=2020-10-01 response: body: string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": - \"8326c54f-1170-4fda-9b64-ed759f1422b3\",\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"maxCapacityReservationLevel\": - 3000,\r\n \"lastSkuUpdate\": \"Wed, 07 Apr 2021 06:11:18 GMT\"\r\n },\r\n - \ \"retentionInDays\": 30,\r\n \"features\": {\r\n \"legacy\": 0,\r\n - \ \"searchVersion\": 1,\r\n \"enableLogAccessUsingOnlyResourcePermissions\": - true\r\n },\r\n \"workspaceCapping\": {\r\n \"dailyQuotaGb\": -1.0,\r\n - \ \"quotaNextResetTime\": \"Wed, 07 Apr 2021 22:00:00 GMT\",\r\n \"dataIngestionStatus\": - \"RespectQuota\"\r\n },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n - \ \"publicNetworkAccessForQuery\": \"Enabled\",\r\n \"createdDate\": - \"Wed, 07 Apr 2021 06:11:18 GMT\",\r\n \"modifiedDate\": \"Wed, 07 Apr - 2021 06:11:19 GMT\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.operationalinsights/workspaces/clitest000002\",\r\n + \"2bca01e4-bf77-4647-a25f-9d7fa3ea52db\",\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"lastSkuUpdate\": + \"Fri, 14 May 2021 09:00:07 GMT\"\r\n },\r\n \"retentionInDays\": 30,\r\n + \ \"features\": {\r\n \"legacy\": 0,\r\n \"searchVersion\": 1,\r\n + \ \"enableLogAccessUsingOnlyResourcePermissions\": true\r\n },\r\n + \ \"workspaceCapping\": {\r\n \"dailyQuotaGb\": -1.0,\r\n \"quotaNextResetTime\": + \"Sat, 15 May 2021 02:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n + \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": + \"Enabled\",\r\n \"createdDate\": \"Fri, 14 May 2021 09:00:07 GMT\",\r\n + \ \"modifiedDate\": \"Fri, 14 May 2021 09:00:08 GMT\"\r\n },\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001/providers/microsoft.operationalinsights/workspaces/clitest000002\",\r\n \ \"name\": \"clitest000002\",\r\n \"type\": \"Microsoft.OperationalInsights/workspaces\",\r\n \ \"location\": \"westus\"\r\n}" headers: cache-control: - no-cache content-length: - - '1178' + - '1134' content-type: - application/json date: - - Wed, 07 Apr 2021 06:12:54 GMT + - Fri, 14 May 2021 09:01:36 GMT pragma: - no-cache server: @@ -759,7 +753,7 @@ interactions: code: 200 message: OK - request: - body: '{"location": "westus", "tags": {}, "kind": "web", "etag": "\"24025e32-0000-0200-0000-606d4d5e0000\"", + body: '{"location": "westus", "tags": {}, "kind": "web", "etag": "\"730005d6-0000-0200-0000-609e3c6a0000\"", "properties": {"Application_Type": "web", "Flow_Type": "Bluefield", "Request_Source": "rest", "WorkspaceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000002", "publicNetworkAccessForIngestion": "Disabled", "publicNetworkAccessForQuery": @@ -780,13 +774,13 @@ interactions: ParameterSetName: - --app --workspace --query-access --ingestion-access -g User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.3 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19043-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/demoApp?api-version=2020-02-02-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp","name":"demoApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"24020434-0000-0200-0000-606d4d690000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"ee086bbc-7f47-4627-acb4-735fe4032066","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"ef426177-3cf7-48c0-965f-479f87b266be","ConnectionString":"InstrumentationKey=ef426177-3cf7-48c0-965f-479f87b266be;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"demoApp","CreationDate":"2021-04-07T06:12:40.8599222+00:00","TenantId":"92f95d8f-3c67-4124-91c7-8cf07cdbf241","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"Retention":"P90D","WorkspaceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000002","LaMigrationDate":"2021-04-07T06:12:57.6039121+00:00","IngestionMode":"LogAnalytics","publicNetworkAccessForIngestion":"Disabled","publicNetworkAccessForQuery":"Disabled"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/demoApp","name":"demoApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"73000ad6-0000-0200-0000-609e3c740000\"","properties":{"Ver":"v2","ApplicationId":"demoApp","AppId":"ca1461b3-a993-4f55-92c9-d392a208b27d","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"ad8ed70d-5613-4d7d-ab61-9b074ec3b6d3","ConnectionString":"InstrumentationKey=ad8ed70d-5613-4d7d-ab61-9b074ec3b6d3;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"demoApp","CreationDate":"2021-05-14T09:01:26.2279098+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"Retention":"P90D","WorkspaceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000002","LaMigrationDate":"2021-05-14T09:01:38.0559971+00:00","IngestionMode":"LogAnalytics","publicNetworkAccessForIngestion":"Disabled","publicNetworkAccessForQuery":"Disabled"}}' headers: access-control-expose-headers: - Request-Context @@ -797,7 +791,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 07 Apr 2021 06:13:01 GMT + - Fri, 14 May 2021 09:01:45 GMT expires: - '-1' pragma: @@ -843,13 +837,13 @@ interactions: ParameterSetName: - --app --workspace --location --query-access --ingestion-access -g --application-type User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.3 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19043-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/testApp?api-version=2020-02-02-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/testApp","name":"testApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"2402b135-0000-0200-0000-606d4d750000\"","properties":{"Ver":"v2","ApplicationId":"testApp","AppId":"3386da7e-3fed-4c87-a650-fb6cd2ddbf0d","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"0b505588-ce8b-4c61-a188-9c561d67e4ca","ConnectionString":"InstrumentationKey=0b505588-ce8b-4c61-a188-9c561d67e4ca;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"testApp","CreationDate":"2021-04-07T06:13:09.3122887+00:00","TenantId":"92f95d8f-3c67-4124-91c7-8cf07cdbf241","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"WorkspaceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000003","IngestionMode":"LogAnalytics","publicNetworkAccessForIngestion":"Disabled","publicNetworkAccessForQuery":"Enabled"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/testApp","name":"testApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"730015d6-0000-0200-0000-609e3c7f0000\"","properties":{"Ver":"v2","ApplicationId":"testApp","AppId":"3755b878-4512-4b59-8237-a40daf826783","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"82d90ec7-2259-4f32-b7af-454b5a315f92","ConnectionString":"InstrumentationKey=82d90ec7-2259-4f32-b7af-454b5a315f92;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"testApp","CreationDate":"2021-05-14T09:01:50.7471084+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"WorkspaceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000003","IngestionMode":"LogAnalytics","publicNetworkAccessForIngestion":"Disabled","publicNetworkAccessForQuery":"Enabled"}}' headers: access-control-expose-headers: - Request-Context @@ -860,7 +854,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 07 Apr 2021 06:13:12 GMT + - Fri, 14 May 2021 09:01:53 GMT expires: - '-1' pragma: @@ -878,7 +872,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1197' x-powered-by: - ASP.NET status: @@ -898,13 +892,13 @@ interactions: ParameterSetName: - --app --kind -g User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.3 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19043-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/testApp?api-version=2018-05-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/testApp","name":"testApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"2402b135-0000-0200-0000-606d4d750000\"","properties":{"Ver":"v2","ApplicationId":"testApp","AppId":"3386da7e-3fed-4c87-a650-fb6cd2ddbf0d","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"0b505588-ce8b-4c61-a188-9c561d67e4ca","ConnectionString":"InstrumentationKey=0b505588-ce8b-4c61-a188-9c561d67e4ca;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"testApp","CreationDate":"2021-04-07T06:13:09.3122887+00:00","TenantId":"92f95d8f-3c67-4124-91c7-8cf07cdbf241","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"WorkspaceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000003","IngestionMode":"LogAnalytics","publicNetworkAccessForIngestion":"Disabled","publicNetworkAccessForQuery":"Enabled"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/testApp","name":"testApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"730015d6-0000-0200-0000-609e3c7f0000\"","properties":{"Ver":"v2","ApplicationId":"testApp","AppId":"3755b878-4512-4b59-8237-a40daf826783","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"82d90ec7-2259-4f32-b7af-454b5a315f92","ConnectionString":"InstrumentationKey=82d90ec7-2259-4f32-b7af-454b5a315f92;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"testApp","CreationDate":"2021-05-14T09:01:50.7471084+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"WorkspaceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000003","IngestionMode":"LogAnalytics","publicNetworkAccessForIngestion":"Disabled","publicNetworkAccessForQuery":"Enabled"}}' headers: access-control-expose-headers: - Request-Context @@ -915,7 +909,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 07 Apr 2021 06:13:13 GMT + - Fri, 14 May 2021 09:01:54 GMT expires: - '-1' pragma: @@ -958,13 +952,13 @@ interactions: ParameterSetName: - --app --kind -g User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.3 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19043-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/testApp?api-version=2018-05-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/testApp","name":"testApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"ios","etag":"\"2402b136-0000-0200-0000-606d4d7c0000\"","properties":{"Ver":"v2","ApplicationId":"testApp","AppId":"3386da7e-3fed-4c87-a650-fb6cd2ddbf0d","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"0b505588-ce8b-4c61-a188-9c561d67e4ca","ConnectionString":"InstrumentationKey=0b505588-ce8b-4c61-a188-9c561d67e4ca;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"testApp","CreationDate":"2021-04-07T06:13:09.3122887+00:00","TenantId":"92f95d8f-3c67-4124-91c7-8cf07cdbf241","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"Retention":"P90D","WorkspaceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000003","IngestionMode":"LogAnalytics","publicNetworkAccessForIngestion":"Disabled","publicNetworkAccessForQuery":"Enabled"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/testApp","name":"testApp","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"ios","etag":"\"73001dd6-0000-0200-0000-609e3c850000\"","properties":{"Ver":"v2","ApplicationId":"testApp","AppId":"3755b878-4512-4b59-8237-a40daf826783","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"82d90ec7-2259-4f32-b7af-454b5a315f92","ConnectionString":"InstrumentationKey=82d90ec7-2259-4f32-b7af-454b5a315f92;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"testApp","CreationDate":"2021-05-14T09:01:50.7471084+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"Retention":"P90D","WorkspaceResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.OperationalInsights/workspaces/clitest000003","IngestionMode":"LogAnalytics","publicNetworkAccessForIngestion":"Disabled","publicNetworkAccessForQuery":"Enabled"}}' headers: access-control-expose-headers: - Request-Context @@ -975,7 +969,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 07 Apr 2021 06:13:19 GMT + - Fri, 14 May 2021 09:02:00 GMT expires: - '-1' pragma: diff --git a/src/application-insights/azext_applicationinsights/tests/latest/recordings/test_connect_function.yaml b/src/application-insights/azext_applicationinsights/tests/latest/recordings/test_connect_function.yaml index 0267bf2f58a..64c44392cd7 100644 --- a/src/application-insights/azext_applicationinsights/tests/latest/recordings/test_connect_function.yaml +++ b/src/application-insights/azext_applicationinsights/tests/latest/recordings/test_connect_function.yaml @@ -19,13 +19,13 @@ interactions: ParameterSetName: - --app --location --kind -g --application-type User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.3 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19043-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/clitestai000003?api-version=2018-05-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/clitestai000003","name":"clitestai000003","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"24024b29-0000-0200-0000-606d4d1e0000\"","properties":{"Ver":"v2","ApplicationId":"clitestai000003","AppId":"27c8de68-5437-405b-b3c9-3cb69a1aed7d","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"9212d6a3-3cf9-4131-8d4f-5545c18b91e6","ConnectionString":"InstrumentationKey=9212d6a3-3cf9-4131-8d4f-5545c18b91e6;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"clitestai000003","CreationDate":"2021-04-07T06:11:41.9168797+00:00","TenantId":"92f95d8f-3c67-4124-91c7-8cf07cdbf241","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"IngestionMode":"ApplicationInsights","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/clitestai000003","name":"clitestai000003","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"730007d5-0000-0200-0000-609e3ac00000\"","properties":{"Ver":"v2","ApplicationId":"clitestai000003","AppId":"2ab79714-568d-4271-a2fa-132ef2dc9d1e","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"f9e3c44e-1817-4ef8-bc02-728e0260cccf","ConnectionString":"InstrumentationKey=f9e3c44e-1817-4ef8-bc02-728e0260cccf;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"clitestai000003","CreationDate":"2021-05-14T08:54:24.3436475+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"IngestionMode":"ApplicationInsights","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' headers: access-control-expose-headers: - Request-Context @@ -36,7 +36,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 07 Apr 2021 06:11:45 GMT + - Fri, 14 May 2021 08:54:26 GMT expires: - '-1' pragma: @@ -54,7 +54,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1197' x-powered-by: - ASP.NET status: @@ -74,13 +74,13 @@ interactions: ParameterSetName: - -g --app User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.3 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19043-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/clitestai000003?api-version=2020-02-02-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/clitestai000003","name":"clitestai000003","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"24024b29-0000-0200-0000-606d4d1e0000\"","properties":{"Ver":"v2","ApplicationId":"clitestai000003","AppId":"27c8de68-5437-405b-b3c9-3cb69a1aed7d","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"9212d6a3-3cf9-4131-8d4f-5545c18b91e6","ConnectionString":"InstrumentationKey=9212d6a3-3cf9-4131-8d4f-5545c18b91e6;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"clitestai000003","CreationDate":"2021-04-07T06:11:41.9168797+00:00","TenantId":"92f95d8f-3c67-4124-91c7-8cf07cdbf241","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"IngestionMode":"ApplicationInsights","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/clitestai000003","name":"clitestai000003","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"730007d5-0000-0200-0000-609e3ac00000\"","properties":{"Ver":"v2","ApplicationId":"clitestai000003","AppId":"2ab79714-568d-4271-a2fa-132ef2dc9d1e","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"f9e3c44e-1817-4ef8-bc02-728e0260cccf","ConnectionString":"InstrumentationKey=f9e3c44e-1817-4ef8-bc02-728e0260cccf;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"clitestai000003","CreationDate":"2021-05-14T08:54:24.3436475+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"IngestionMode":"ApplicationInsights","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' headers: access-control-expose-headers: - Request-Context @@ -91,7 +91,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 07 Apr 2021 06:11:47 GMT + - Fri, 14 May 2021 08:54:27 GMT expires: - '-1' pragma: @@ -127,15 +127,12 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-resource/16.1.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-04-07T06:11:02Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-05-14T08:53:46Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -144,7 +141,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 07 Apr 2021 06:11:49 GMT + - Fri, 14 May 2021 08:54:27 GMT expires: - '-1' pragma: @@ -173,16 +170,13 @@ interactions: Content-Length: - '143' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - -g -n User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-web/0.48.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-web/2.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/validate?api-version=2019-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/validate?api-version=2020-09-01 response: body: string: '{"status":"Success","error":null}' @@ -194,7 +188,7 @@ interactions: content-type: - application/json date: - - Wed, 07 Apr 2021 06:11:52 GMT + - Fri, 14 May 2021 08:54:29 GMT expires: - '-1' pragma: @@ -232,15 +226,12 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-resource/16.1.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-04-07T06:11:02Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-05-14T08:53:46Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -249,7 +240,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 07 Apr 2021 06:11:53 GMT + - Fri, 14 May 2021 08:54:28 GMT expires: - '-1' pragma: @@ -264,8 +255,8 @@ interactions: code: 200 message: OK - request: - body: '{"location": "westus", "properties": {"perSiteScaling": false, "isXenon": - false}, "sku": {"name": "B1", "tier": "BASIC", "capacity": 1}}' + body: '{"location": "westus", "sku": {"name": "B1", "tier": "BASIC", "capacity": + 1}, "properties": {"perSiteScaling": false, "isXenon": false}}' headers: Accept: - application/json @@ -278,31 +269,28 @@ interactions: Content-Length: - '136' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - -g -n User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-web/0.48.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-web/2.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/clitestplan000005?api-version=2019-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/clitestplan000005?api-version=2020-09-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/clitestplan000005","name":"clitestplan000005","type":"Microsoft.Web/serverfarms","kind":"app","location":"westus","properties":{"serverFarmId":34753,"name":"clitestplan000005","sku":{"name":"B1","tier":"Basic","size":"B1","family":"B","capacity":1},"workerSize":"Default","workerSizeId":0,"workerTierName":null,"numberOfWorkers":1,"currentWorkerSize":"Default","currentWorkerSizeId":0,"currentNumberOfWorkers":1,"status":"Ready","webSpace":"clitest.rg000001-WestUSwebspace","subscription":"92f95d8f-3c67-4124-91c7-8cf07cdbf241","adminSiteName":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"maximumNumberOfWorkers":0,"planName":"VirtualDedicatedPlan","adminRuntimeSiteName":null,"computeMode":"Dedicated","siteMode":null,"geoRegion":"West - US","perSiteScaling":false,"maximumElasticWorkerCount":1,"numberOfSites":0,"hostingEnvironmentId":null,"isSpot":false,"spotExpirationTime":null,"freeOfferExpirationTime":null,"tags":null,"kind":"app","resourceGroup":"clitest.rg000001","reserved":false,"isXenon":false,"hyperV":false,"mdmId":"waws-prod-bay-097_34753","targetWorkerCount":0,"targetWorkerSizeId":0,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"azBalancing":false},"sku":{"name":"B1","tier":"Basic","size":"B1","family":"B","capacity":1}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/clitestplan000005","name":"clitestplan000005","type":"Microsoft.Web/serverfarms","kind":"app","location":"westus","properties":{"serverFarmId":14542,"name":"clitestplan000005","sku":{"name":"B1","tier":"Basic","size":"B1","family":"B","capacity":1},"workerSize":"Default","workerSizeId":0,"workerTierName":null,"numberOfWorkers":1,"currentWorkerSize":"Default","currentWorkerSizeId":0,"currentNumberOfWorkers":1,"status":"Ready","webSpace":"clitest.rg000001-WestUSwebspace","subscription":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","adminSiteName":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"maximumNumberOfWorkers":0,"planName":"VirtualDedicatedPlan","adminRuntimeSiteName":null,"computeMode":"Dedicated","siteMode":null,"geoRegion":"West + US","perSiteScaling":false,"elasticScaleEnabled":false,"maximumElasticWorkerCount":1,"numberOfSites":0,"hostingEnvironmentId":null,"isSpot":false,"spotExpirationTime":null,"freeOfferExpirationTime":null,"tags":null,"kind":"app","resourceGroup":"clitest.rg000001","reserved":false,"isXenon":false,"hyperV":false,"mdmId":"waws-prod-bay-161_14542","targetWorkerCount":0,"targetWorkerSizeId":0,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"azBalancing":false},"sku":{"name":"B1","tier":"Basic","size":"B1","family":"B","capacity":1}}' headers: cache-control: - no-cache content-length: - - '1646' + - '1674' content-type: - application/json date: - - Wed, 07 Apr 2021 06:12:08 GMT + - Fri, 14 May 2021 08:54:38 GMT etag: - - '"1D72B74EFA222A0"' + - '"1D7489EC4DBF0E0"' expires: - '-1' pragma: @@ -320,7 +308,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1196' x-powered-by: - ASP.NET status: @@ -340,26 +328,23 @@ interactions: ParameterSetName: - -g -n --plan -s User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-web/0.48.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-web/2.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/clitestplan000005?api-version=2019-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/clitestplan000005?api-version=2020-09-01 response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/clitestplan000005","name":"clitestplan000005","type":"Microsoft.Web/serverfarms","kind":"app","location":"West - US","properties":{"serverFarmId":34753,"name":"clitestplan000005","workerSize":"Default","workerSizeId":0,"workerTierName":null,"numberOfWorkers":1,"currentWorkerSize":"Default","currentWorkerSizeId":0,"currentNumberOfWorkers":1,"status":"Ready","webSpace":"clitest.rg000001-WestUSwebspace","subscription":"92f95d8f-3c67-4124-91c7-8cf07cdbf241","adminSiteName":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"maximumNumberOfWorkers":3,"planName":"VirtualDedicatedPlan","adminRuntimeSiteName":null,"computeMode":"Dedicated","siteMode":null,"geoRegion":"West - US","perSiteScaling":false,"maximumElasticWorkerCount":1,"numberOfSites":0,"hostingEnvironmentId":null,"isSpot":false,"spotExpirationTime":null,"freeOfferExpirationTime":null,"tags":null,"kind":"app","resourceGroup":"clitest.rg000001","reserved":false,"isXenon":false,"hyperV":false,"mdmId":"waws-prod-bay-097_34753","targetWorkerCount":0,"targetWorkerSizeId":0,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"azBalancing":false},"sku":{"name":"B1","tier":"Basic","size":"B1","family":"B","capacity":1}}' + US","properties":{"serverFarmId":14542,"name":"clitestplan000005","workerSize":"Default","workerSizeId":0,"workerTierName":null,"numberOfWorkers":1,"currentWorkerSize":"Default","currentWorkerSizeId":0,"currentNumberOfWorkers":1,"status":"Ready","webSpace":"clitest.rg000001-WestUSwebspace","subscription":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","adminSiteName":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"maximumNumberOfWorkers":3,"planName":"VirtualDedicatedPlan","adminRuntimeSiteName":null,"computeMode":"Dedicated","siteMode":null,"geoRegion":"West + US","perSiteScaling":false,"elasticScaleEnabled":false,"maximumElasticWorkerCount":1,"numberOfSites":0,"hostingEnvironmentId":null,"isSpot":false,"spotExpirationTime":null,"freeOfferExpirationTime":null,"tags":null,"kind":"app","resourceGroup":"clitest.rg000001","reserved":false,"isXenon":false,"hyperV":false,"mdmId":"waws-prod-bay-161_14542","targetWorkerCount":0,"targetWorkerSizeId":0,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"azBalancing":false},"sku":{"name":"B1","tier":"Basic","size":"B1","family":"B","capacity":1}}' headers: cache-control: - no-cache content-length: - - '1574' + - '1602' content-type: - application/json date: - - Wed, 07 Apr 2021 06:12:08 GMT + - Fri, 14 May 2021 08:54:39 GMT expires: - '-1' pragma: @@ -395,21 +380,21 @@ interactions: ParameterSetName: - -g -n --plan -s User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2021-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002?api-version=2021-04-01 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":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-07T06:11:14.8443850Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-07T06:11:14.8443850Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-07T06:11:14.7819123Z","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"}}' + 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":{"keyCreationTime":{"key1":"2021-05-14T08:53:58.4836361Z","key2":"2021-05-14T08:53:58.4836361Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-14T08:53:58.4836361Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-14T08:53:58.4836361Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-05-14T08:53:58.4054636Z","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: - - '1240' + - '1336' content-type: - application/json date: - - Wed, 07 Apr 2021 06:12:10 GMT + - Fri, 14 May 2021 08:54:39 GMT expires: - '-1' pragma: @@ -443,21 +428,21 @@ interactions: ParameterSetName: - -g -n --plan -s User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2021-01-01&$expand=kerb + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2021-04-01&$expand=kerb response: body: - string: '{"keys":[{"keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' + string: '{"keys":[{"creationTime":"2021-05-14T08:53:58.4836361Z","keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"creationTime":"2021-05-14T08:53:58.4836361Z","keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' headers: cache-control: - no-cache content-length: - - '288' + - '380' content-type: - application/json date: - - Wed, 07 Apr 2021 06:12:10 GMT + - Fri, 14 May 2021 08:54:39 GMT expires: - '-1' pragma: @@ -497,33 +482,30 @@ interactions: Content-Length: - '711' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - -g -n --plan -s User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-web/0.48.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-web/2.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/clitestfunction000004?api-version=2019-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/clitestfunction000004?api-version=2020-09-01 response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/clitestfunction000004","name":"clitestfunction000004","type":"Microsoft.Web/sites","kind":"functionapp","location":"West - US","properties":{"name":"clitestfunction000004","state":"Running","hostNames":["clitestfunction000004.azurewebsites.net"],"webSpace":"clitest.rg000001-WestUSwebspace","selfLink":"https://waws-prod-bay-097.api.azurewebsites.windows.net:454/subscriptions/00000000-0000-0000-0000-000000000000/webspaces/clitest.rg000001-WestUSwebspace/sites/clitestfunction000004","repositorySiteName":"clitestfunction000004","owner":null,"usageState":"Normal","enabled":true,"adminEnabled":true,"enabledHostNames":["clitestfunction000004.azurewebsites.net","clitestfunction000004.scm.azurewebsites.net"],"siteProperties":{"metadata":null,"properties":[{"name":"LinuxFxVersion","value":""},{"name":"WindowsFxVersion","value":null}],"appSettings":null},"availabilityState":"Normal","sslCertificates":null,"csrs":[],"cers":null,"siteMode":null,"hostNameSslStates":[{"name":"clitestfunction000004.azurewebsites.net","sslState":"Disabled","ipBasedSslResult":null,"virtualIP":null,"thumbprint":null,"toUpdate":null,"toUpdateIpBasedSsl":null,"ipBasedSslState":"NotConfigured","hostType":"Standard"},{"name":"clitestfunction000004.scm.azurewebsites.net","sslState":"Disabled","ipBasedSslResult":null,"virtualIP":null,"thumbprint":null,"toUpdate":null,"toUpdateIpBasedSsl":null,"ipBasedSslState":"NotConfigured","hostType":"Repository"}],"computeMode":null,"serverFarm":null,"serverFarmId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/clitestplan000005","reserved":false,"isXenon":false,"hyperV":false,"lastModifiedTimeUtc":"2021-04-07T06:12:20.5","storageRecoveryDefaultState":"Running","contentAvailabilityState":"Normal","runtimeAvailabilityState":"Normal","siteConfig":{"numberOfWorkers":null,"defaultDocuments":null,"netFrameworkVersion":null,"phpVersion":null,"pythonVersion":null,"nodeVersion":null,"powerShellVersion":null,"linuxFxVersion":null,"windowsFxVersion":null,"requestTracingEnabled":null,"remoteDebuggingEnabled":null,"remoteDebuggingVersion":null,"httpLoggingEnabled":null,"azureMonitorLogCategories":null,"acrUseManagedIdentityCreds":false,"acrUserManagedIdentityID":null,"logsDirectorySizeLimit":null,"detailedErrorLoggingEnabled":null,"publishingUsername":null,"publishingPassword":null,"appSettings":null,"azureStorageAccounts":null,"metadata":null,"connectionStrings":null,"machineKey":null,"handlerMappings":null,"documentRoot":null,"scmType":null,"use32BitWorkerProcess":null,"webSocketsEnabled":null,"alwaysOn":null,"javaVersion":null,"javaContainer":null,"javaContainerVersion":null,"appCommandLine":null,"managedPipelineMode":null,"virtualApplications":null,"winAuthAdminState":null,"winAuthTenantState":null,"customAppPoolIdentityAdminState":null,"customAppPoolIdentityTenantState":null,"runtimeADUser":null,"runtimeADUserPassword":null,"loadBalancing":null,"routingRules":null,"experiments":null,"limits":null,"autoHealEnabled":null,"autoHealRules":null,"tracingOptions":null,"vnetName":null,"vnetRouteAllEnabled":null,"vnetPrivatePortsCount":null,"cors":null,"push":null,"apiDefinition":null,"apiManagementConfig":null,"autoSwapSlotName":null,"localMySqlEnabled":null,"managedServiceIdentityId":null,"xManagedServiceIdentityId":null,"keyVaultReferenceIdentity":null,"ipSecurityRestrictions":[{"ipAddress":"Any","action":"Allow","priority":1,"name":"Allow + US","properties":{"name":"clitestfunction000004","state":"Running","hostNames":["clitestfunction000004.azurewebsites.net"],"webSpace":"clitest.rg000001-WestUSwebspace","selfLink":"https://waws-prod-bay-161.api.azurewebsites.windows.net:454/subscriptions/00000000-0000-0000-0000-000000000000/webspaces/clitest.rg000001-WestUSwebspace/sites/clitestfunction000004","repositorySiteName":"clitestfunction000004","owner":null,"usageState":"Normal","enabled":true,"adminEnabled":true,"enabledHostNames":["clitestfunction000004.azurewebsites.net","clitestfunction000004.scm.azurewebsites.net"],"siteProperties":{"metadata":null,"properties":[{"name":"LinuxFxVersion","value":""},{"name":"WindowsFxVersion","value":null}],"appSettings":null},"availabilityState":"Normal","sslCertificates":null,"csrs":[],"cers":null,"siteMode":null,"hostNameSslStates":[{"name":"clitestfunction000004.azurewebsites.net","sslState":"Disabled","ipBasedSslResult":null,"virtualIP":null,"thumbprint":null,"toUpdate":null,"toUpdateIpBasedSsl":null,"ipBasedSslState":"NotConfigured","hostType":"Standard"},{"name":"clitestfunction000004.scm.azurewebsites.net","sslState":"Disabled","ipBasedSslResult":null,"virtualIP":null,"thumbprint":null,"toUpdate":null,"toUpdateIpBasedSsl":null,"ipBasedSslState":"NotConfigured","hostType":"Repository"}],"computeMode":null,"serverFarm":null,"serverFarmId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/clitestplan000005","reserved":false,"isXenon":false,"hyperV":false,"lastModifiedTimeUtc":"2021-05-14T08:54:45.43","storageRecoveryDefaultState":"Running","contentAvailabilityState":"Normal","runtimeAvailabilityState":"Normal","siteConfig":{"numberOfWorkers":null,"defaultDocuments":null,"netFrameworkVersion":null,"phpVersion":null,"pythonVersion":null,"nodeVersion":null,"powerShellVersion":null,"linuxFxVersion":null,"windowsFxVersion":null,"requestTracingEnabled":null,"remoteDebuggingEnabled":null,"remoteDebuggingVersion":null,"httpLoggingEnabled":null,"azureMonitorLogCategories":null,"acrUseManagedIdentityCreds":false,"acrUserManagedIdentityID":null,"logsDirectorySizeLimit":null,"detailedErrorLoggingEnabled":null,"publishingUsername":null,"publishingPassword":null,"appSettings":null,"azureStorageAccounts":null,"metadata":null,"connectionStrings":null,"machineKey":null,"handlerMappings":null,"documentRoot":null,"scmType":null,"use32BitWorkerProcess":null,"webSocketsEnabled":null,"alwaysOn":null,"javaVersion":null,"javaContainer":null,"javaContainerVersion":null,"appCommandLine":null,"managedPipelineMode":null,"virtualApplications":null,"winAuthAdminState":null,"winAuthTenantState":null,"customAppPoolIdentityAdminState":null,"customAppPoolIdentityTenantState":null,"runtimeADUser":null,"runtimeADUserPassword":null,"loadBalancing":null,"routingRules":null,"experiments":null,"limits":null,"autoHealEnabled":null,"autoHealRules":null,"tracingOptions":null,"vnetName":null,"vnetRouteAllEnabled":null,"vnetPrivatePortsCount":null,"publicNetworkAccess":null,"cors":null,"push":null,"apiDefinition":null,"apiManagementConfig":null,"autoSwapSlotName":null,"localMySqlEnabled":null,"managedServiceIdentityId":null,"xManagedServiceIdentityId":null,"keyVaultReferenceIdentity":null,"ipSecurityRestrictions":[{"ipAddress":"Any","action":"Allow","priority":1,"name":"Allow all","description":"Allow all access"}],"scmIpSecurityRestrictions":[{"ipAddress":"Any","action":"Allow","priority":1,"name":"Allow - all","description":"Allow all access"}],"scmIpSecurityRestrictionsUseMain":null,"http20Enabled":null,"minTlsVersion":null,"scmMinTlsVersion":null,"ftpsState":null,"preWarmedInstanceCount":null,"functionAppScaleLimit":null,"healthCheckPath":null,"fileChangeAuditEnabled":null,"functionsRuntimeScaleMonitoringEnabled":null,"websiteTimeZone":null,"minimumElasticInstanceCount":0},"deploymentId":"clitestfunction000004","slotName":null,"trafficManagerHostNames":null,"sku":"Basic","scmSiteAlsoStopped":false,"targetSwapSlot":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"clientAffinityEnabled":false,"clientCertEnabled":false,"clientCertMode":"Required","clientCertExclusionPaths":null,"hostNamesDisabled":false,"domainVerificationIdentifiers":null,"customDomainVerificationId":"55F2E4435A6748F0C3A4666505B3672446A9A9AEFDDC20F98EFEE4B5DCC7807E","kind":"functionapp","inboundIpAddress":"13.91.242.166","possibleInboundIpAddresses":"13.91.242.166","ftpUsername":"clitestfunction000004\\$clitestfunction000004","ftpsHostName":"ftps://waws-prod-bay-097.ftp.azurewebsites.windows.net/site/wwwroot","outboundIpAddresses":"13.91.242.166,13.91.241.161,13.91.244.239,13.91.244.226,13.91.101.85","possibleOutboundIpAddresses":"13.91.242.166,13.91.241.161,13.91.244.239,13.91.244.226,13.91.101.85,13.91.242.52,13.91.243.117,13.91.241.117","containerSize":1536,"dailyMemoryTimeQuota":0,"suspendedTill":null,"siteDisabledReason":0,"functionExecutionUnitsCache":null,"maxNumberOfWorkers":null,"homeStamp":"waws-prod-bay-097","cloningInfo":null,"hostingEnvironmentId":null,"tags":null,"resourceGroup":"clitest.rg000001","defaultHostName":"clitestfunction000004.azurewebsites.net","slotSwapStatus":null,"keyVaultReferenceIdentity":"SystemAssigned","httpsOnly":false,"redundancyMode":"None","inProgressOperationId":null,"geoDistributions":null,"privateEndpointConnections":null,"buildVersion":null,"targetBuildVersion":null,"migrationState":null,"eligibleLogCategories":"FunctionAppLogs","storageAccountRequired":false}}' + all","description":"Allow all access"}],"scmIpSecurityRestrictionsUseMain":null,"http20Enabled":null,"minTlsVersion":null,"scmMinTlsVersion":null,"ftpsState":null,"preWarmedInstanceCount":null,"functionAppScaleLimit":null,"healthCheckPath":null,"fileChangeAuditEnabled":null,"functionsRuntimeScaleMonitoringEnabled":null,"websiteTimeZone":null,"minimumElasticInstanceCount":0},"deploymentId":"clitestfunction000004","slotName":null,"trafficManagerHostNames":null,"sku":"Basic","scmSiteAlsoStopped":false,"targetSwapSlot":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"clientAffinityEnabled":false,"clientCertEnabled":false,"clientCertMode":"Required","clientCertExclusionPaths":null,"hostNamesDisabled":false,"domainVerificationIdentifiers":null,"customDomainVerificationId":"253001F2FCF5A7B1CD759EB861E9BB1596370BE27E47A991F72184277B3D12F2","kind":"functionapp","inboundIpAddress":"40.112.243.48","possibleInboundIpAddresses":"40.112.243.48","ftpUsername":"clitestfunction000004\\$clitestfunction000004","ftpsHostName":"ftps://waws-prod-bay-161.ftp.azurewebsites.windows.net/site/wwwroot","outboundIpAddresses":"13.64.101.96,40.83.140.100,13.64.96.57,40.83.192.112,104.42.145.64,40.83.192.117,40.112.243.48","possibleOutboundIpAddresses":"13.64.101.96,40.83.140.100,13.64.96.57,40.83.192.112,104.42.145.64,40.83.192.117,40.83.199.92,40.112.133.253,13.64.100.149,40.83.207.146,40.118.225.47,40.83.207.154,40.83.199.120,40.83.199.197,13.64.92.163,40.83.199.40,13.64.157.173,13.64.157.191,13.64.157.198,13.64.154.214,13.64.158.146,40.83.199.50,40.83.192.203,13.64.101.15,13.64.159.171,40.83.141.201,13.64.159.111,13.73.39.135,40.83.199.39,13.64.8.37,40.112.243.48","containerSize":1536,"dailyMemoryTimeQuota":0,"suspendedTill":null,"siteDisabledReason":0,"functionExecutionUnitsCache":null,"maxNumberOfWorkers":null,"homeStamp":"waws-prod-bay-161","cloningInfo":null,"hostingEnvironmentId":null,"tags":null,"resourceGroup":"clitest.rg000001","defaultHostName":"clitestfunction000004.azurewebsites.net","slotSwapStatus":null,"keyVaultReferenceIdentity":"SystemAssigned","httpsOnly":false,"redundancyMode":"None","inProgressOperationId":null,"geoDistributions":null,"privateEndpointConnections":null,"buildVersion":null,"targetBuildVersion":null,"migrationState":null,"eligibleLogCategories":"FunctionAppLogs","storageAccountRequired":false,"virtualNetworkSubnetId":null}}' headers: cache-control: - no-cache content-length: - - '6072' + - '6468' content-type: - application/json date: - - Wed, 07 Apr 2021 06:12:37 GMT + - Fri, 14 May 2021 08:55:02 GMT etag: - - '"1D72B74F87266CB"' + - '"1D7489ECA626E40"' expires: - '-1' pragma: @@ -566,15 +548,15 @@ interactions: ParameterSetName: - -g -n --plan -s User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-applicationinsights/0.1.1 Azure-SDK-For-Python AZURECLI/2.21.0 + - python/3.8.10 (Windows-10-10.0.19043-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-applicationinsights/0.1.1 Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/clitestfunction000004?api-version=2015-05-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/clitestfunction000004","name":"clitestfunction000004","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"2402a031-0000-0200-0000-606d4d590000\"","properties":{"Ver":"v2","ApplicationId":"clitestfunction000004","AppId":"37949152-9fce-48a7-b14a-770a49086416","Application_Type":"web","Flow_Type":null,"Request_Source":null,"InstrumentationKey":"9f819596-f9f1-4389-b55b-5e9e81314664","ConnectionString":"InstrumentationKey=9f819596-f9f1-4389-b55b-5e9e81314664;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"clitestfunction000004","CreationDate":"2021-04-07T06:12:41.8770258+00:00","TenantId":"92f95d8f-3c67-4124-91c7-8cf07cdbf241","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"IngestionMode":"ApplicationInsights","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/clitestfunction000004","name":"clitestfunction000004","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"730025d5-0000-0200-0000-609e3aec0000\"","properties":{"Ver":"v2","ApplicationId":"clitestfunction000004","AppId":"f8e72406-1bca-4f8a-b54b-9de15d46a9b6","Application_Type":"web","Flow_Type":null,"Request_Source":null,"InstrumentationKey":"491d359f-9858-419c-a974-012ea08b5205","ConnectionString":"InstrumentationKey=491d359f-9858-419c-a974-012ea08b5205;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"clitestfunction000004","CreationDate":"2021-05-14T08:55:08.5477918+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"IngestionMode":"ApplicationInsights","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' headers: access-control-expose-headers: - Request-Context @@ -585,7 +567,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 07 Apr 2021 06:12:43 GMT + - Fri, 14 May 2021 08:55:10 GMT expires: - '-1' pragma: @@ -603,7 +585,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1195' x-powered-by: - ASP.NET status: @@ -625,12 +607,9 @@ interactions: ParameterSetName: - -g -n --plan -s User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-web/0.48.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-web/2.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/clitestfunction000004/config/appsettings/list?api-version=2019-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/clitestfunction000004/config/appsettings/list?api-version=2020-09-01 response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/clitestfunction000004/config/appsettings","name":"appsettings","type":"Microsoft.Web/sites/config","location":"West @@ -643,7 +622,7 @@ interactions: content-type: - application/json date: - - Wed, 07 Apr 2021 06:12:44 GMT + - Fri, 14 May 2021 08:55:11 GMT expires: - '-1' pragma: @@ -668,9 +647,9 @@ interactions: code: 200 message: OK - request: - body: '{"kind": "", "properties": {"FUNCTIONS_WORKER_RUNTIME": - "dotnet", "FUNCTIONS_EXTENSION_VERSION": "~2", "AzureWebJobsStorage": "DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=clitest000002;AccountKey=veryFakedStorageAccountKey==", - "APPINSIGHTS_INSTRUMENTATIONKEY": "9f819596-f9f1-4389-b55b-5e9e81314664"}}' + body: '{"properties": {"FUNCTIONS_WORKER_RUNTIME": "dotnet", "FUNCTIONS_EXTENSION_VERSION": + "~2", "AzureWebJobsStorage": "DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=clitest000002;AccountKey=veryFakedStorageAccountKey==", + "APPINSIGHTS_INSTRUMENTATIONKEY": "491d359f-9858-419c-a974-012ea08b5205"}}' headers: Accept: - application/json @@ -681,22 +660,19 @@ interactions: Connection: - keep-alive Content-Length: - - '416' + - '391' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - -g -n --plan -s User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-web/0.48.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-web/2.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/clitestfunction000004/config/appsettings?api-version=2019-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/clitestfunction000004/config/appsettings?api-version=2020-09-01 response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/clitestfunction000004/config/appsettings","name":"appsettings","type":"Microsoft.Web/sites/config","location":"West - US","properties":{"FUNCTIONS_WORKER_RUNTIME":"dotnet","FUNCTIONS_EXTENSION_VERSION":"~2","AzureWebJobsStorage":"DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=clitest000002;AccountKey=veryFakedStorageAccountKey==","APPINSIGHTS_INSTRUMENTATIONKEY":"9f819596-f9f1-4389-b55b-5e9e81314664"}}' + US","properties":{"FUNCTIONS_WORKER_RUNTIME":"dotnet","FUNCTIONS_EXTENSION_VERSION":"~2","AzureWebJobsStorage":"DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=clitest000002;AccountKey=veryFakedStorageAccountKey==","APPINSIGHTS_INSTRUMENTATIONKEY":"491d359f-9858-419c-a974-012ea08b5205"}}' headers: cache-control: - no-cache @@ -705,9 +681,9 @@ interactions: content-type: - application/json date: - - Wed, 07 Apr 2021 06:12:47 GMT + - Fri, 14 May 2021 08:55:12 GMT etag: - - '"1D72B7507F9D320"' + - '"1D7489ED9A7BB80"' expires: - '-1' pragma: @@ -725,7 +701,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' x-powered-by: - ASP.NET status: @@ -745,13 +721,13 @@ interactions: ParameterSetName: - -g --app --function User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.3 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19043-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/clitestai000003?api-version=2018-05-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/clitestai000003","name":"clitestai000003","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"24024b29-0000-0200-0000-606d4d1e0000\"","properties":{"Ver":"v2","ApplicationId":"clitestai000003","AppId":"27c8de68-5437-405b-b3c9-3cb69a1aed7d","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"9212d6a3-3cf9-4131-8d4f-5545c18b91e6","ConnectionString":"InstrumentationKey=9212d6a3-3cf9-4131-8d4f-5545c18b91e6;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"clitestai000003","CreationDate":"2021-04-07T06:11:41.9168797+00:00","TenantId":"92f95d8f-3c67-4124-91c7-8cf07cdbf241","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"IngestionMode":"ApplicationInsights","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/clitestai000003","name":"clitestai000003","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"730007d5-0000-0200-0000-609e3ac00000\"","properties":{"Ver":"v2","ApplicationId":"clitestai000003","AppId":"2ab79714-568d-4271-a2fa-132ef2dc9d1e","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"f9e3c44e-1817-4ef8-bc02-728e0260cccf","ConnectionString":"InstrumentationKey=f9e3c44e-1817-4ef8-bc02-728e0260cccf;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"clitestai000003","CreationDate":"2021-05-14T08:54:24.3436475+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"IngestionMode":"ApplicationInsights","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' headers: access-control-expose-headers: - Request-Context @@ -762,7 +738,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 07 Apr 2021 06:12:49 GMT + - Fri, 14 May 2021 08:55:13 GMT expires: - '-1' pragma: @@ -800,16 +776,13 @@ interactions: ParameterSetName: - -g --app --function User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-web/0.48.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-web/2.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/clitestfunction000004/config/appsettings/list?api-version=2019-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/clitestfunction000004/config/appsettings/list?api-version=2020-09-01 response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/clitestfunction000004/config/appsettings","name":"appsettings","type":"Microsoft.Web/sites/config","location":"West - US","properties":{"FUNCTIONS_WORKER_RUNTIME":"dotnet","FUNCTIONS_EXTENSION_VERSION":"~2","AzureWebJobsStorage":"DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=clitest000002;AccountKey=veryFakedStorageAccountKey==","APPINSIGHTS_INSTRUMENTATIONKEY":"9f819596-f9f1-4389-b55b-5e9e81314664"}}' + US","properties":{"FUNCTIONS_WORKER_RUNTIME":"dotnet","FUNCTIONS_EXTENSION_VERSION":"~2","AzureWebJobsStorage":"DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=clitest000002;AccountKey=veryFakedStorageAccountKey==","APPINSIGHTS_INSTRUMENTATIONKEY":"491d359f-9858-419c-a974-012ea08b5205"}}' headers: cache-control: - no-cache @@ -818,7 +791,7 @@ interactions: content-type: - application/json date: - - Wed, 07 Apr 2021 06:12:50 GMT + - Fri, 14 May 2021 08:55:14 GMT expires: - '-1' pragma: @@ -843,9 +816,9 @@ interactions: code: 200 message: OK - request: - body: '{"kind": "", "properties": {"FUNCTIONS_WORKER_RUNTIME": - "dotnet", "FUNCTIONS_EXTENSION_VERSION": "~2", "AzureWebJobsStorage": "DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=clitest000002;AccountKey=veryFakedStorageAccountKey==", - "APPINSIGHTS_INSTRUMENTATIONKEY": "9212d6a3-3cf9-4131-8d4f-5545c18b91e6"}}' + body: '{"properties": {"FUNCTIONS_WORKER_RUNTIME": "dotnet", "FUNCTIONS_EXTENSION_VERSION": + "~2", "AzureWebJobsStorage": "DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=clitest000002;AccountKey=veryFakedStorageAccountKey==", + "APPINSIGHTS_INSTRUMENTATIONKEY": "f9e3c44e-1817-4ef8-bc02-728e0260cccf"}}' headers: Accept: - application/json @@ -856,22 +829,19 @@ interactions: Connection: - keep-alive Content-Length: - - '416' + - '391' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - -g --app --function User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-web/0.48.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-web/2.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/clitestfunction000004/config/appsettings?api-version=2019-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/clitestfunction000004/config/appsettings?api-version=2020-09-01 response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/clitestfunction000004/config/appsettings","name":"appsettings","type":"Microsoft.Web/sites/config","location":"West - US","properties":{"FUNCTIONS_WORKER_RUNTIME":"dotnet","FUNCTIONS_EXTENSION_VERSION":"~2","AzureWebJobsStorage":"DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=clitest000002;AccountKey=veryFakedStorageAccountKey==","APPINSIGHTS_INSTRUMENTATIONKEY":"9212d6a3-3cf9-4131-8d4f-5545c18b91e6"}}' + US","properties":{"FUNCTIONS_WORKER_RUNTIME":"dotnet","FUNCTIONS_EXTENSION_VERSION":"~2","AzureWebJobsStorage":"DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=clitest000002;AccountKey=veryFakedStorageAccountKey==","APPINSIGHTS_INSTRUMENTATIONKEY":"f9e3c44e-1817-4ef8-bc02-728e0260cccf"}}' headers: cache-control: - no-cache @@ -880,9 +850,9 @@ interactions: content-type: - application/json date: - - Wed, 07 Apr 2021 06:12:53 GMT + - Fri, 14 May 2021 08:55:16 GMT etag: - - '"1D72B750BF088C0"' + - '"1D7489EDBCE10EB"' expires: - '-1' pragma: @@ -922,16 +892,13 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-web/0.48.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-web/2.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/clitestfunction000004/config/appsettings/list?api-version=2019-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/clitestfunction000004/config/appsettings/list?api-version=2020-09-01 response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/clitestfunction000004/config/appsettings","name":"appsettings","type":"Microsoft.Web/sites/config","location":"West - US","properties":{"FUNCTIONS_WORKER_RUNTIME":"dotnet","FUNCTIONS_EXTENSION_VERSION":"~2","AzureWebJobsStorage":"DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=clitest000002;AccountKey=veryFakedStorageAccountKey==","APPINSIGHTS_INSTRUMENTATIONKEY":"9212d6a3-3cf9-4131-8d4f-5545c18b91e6"}}' + US","properties":{"FUNCTIONS_WORKER_RUNTIME":"dotnet","FUNCTIONS_EXTENSION_VERSION":"~2","AzureWebJobsStorage":"DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=clitest000002;AccountKey=veryFakedStorageAccountKey==","APPINSIGHTS_INSTRUMENTATIONKEY":"f9e3c44e-1817-4ef8-bc02-728e0260cccf"}}' headers: cache-control: - no-cache @@ -940,7 +907,7 @@ interactions: content-type: - application/json date: - - Wed, 07 Apr 2021 06:12:56 GMT + - Fri, 14 May 2021 08:55:17 GMT expires: - '-1' pragma: @@ -978,12 +945,9 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-web/0.48.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-web/2.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/clitestfunction000004/config/slotConfigNames?api-version=2019-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/clitestfunction000004/config/slotConfigNames?api-version=2020-09-01 response: body: string: '{"id":null,"name":"clitestfunction000004","type":"Microsoft.Web/sites","location":"West @@ -996,7 +960,7 @@ interactions: content-type: - application/json date: - - Wed, 07 Apr 2021 06:12:58 GMT + - Fri, 14 May 2021 08:55:18 GMT expires: - '-1' pragma: diff --git a/src/application-insights/azext_applicationinsights/tests/latest/recordings/test_connect_webapp.yaml b/src/application-insights/azext_applicationinsights/tests/latest/recordings/test_connect_webapp.yaml index 4d836163ca0..519c18acf80 100644 --- a/src/application-insights/azext_applicationinsights/tests/latest/recordings/test_connect_webapp.yaml +++ b/src/application-insights/azext_applicationinsights/tests/latest/recordings/test_connect_webapp.yaml @@ -19,13 +19,13 @@ interactions: ParameterSetName: - --app --location --kind -g --application-type User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.3 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19043-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/clitestai000002?api-version=2018-05-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/clitestai000002","name":"clitestai000002","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"24025826-0000-0200-0000-606d4d050000\"","properties":{"Ver":"v2","ApplicationId":"clitestai000002","AppId":"88e14591-597c-4a8f-82b8-a811a46511dc","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"50298a70-1872-46ad-8bd2-e07bf01476a3","ConnectionString":"InstrumentationKey=50298a70-1872-46ad-8bd2-e07bf01476a3;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"clitestai000002","CreationDate":"2021-04-07T06:11:16.9729997+00:00","TenantId":"92f95d8f-3c67-4124-91c7-8cf07cdbf241","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"IngestionMode":"ApplicationInsights","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/clitestai000002","name":"clitestai000002","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"730020d5-0000-0200-0000-609e3ae70000\"","properties":{"Ver":"v2","ApplicationId":"clitestai000002","AppId":"7734de1c-02bf-41c5-b872-8b2a0eaf837a","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"2d107d58-9ce6-4ca7-b805-ef380896e7dd","ConnectionString":"InstrumentationKey=2d107d58-9ce6-4ca7-b805-ef380896e7dd;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"clitestai000002","CreationDate":"2021-05-14T08:55:02.8197978+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"IngestionMode":"ApplicationInsights","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' headers: access-control-expose-headers: - Request-Context @@ -36,7 +36,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 07 Apr 2021 06:11:26 GMT + - Fri, 14 May 2021 08:55:06 GMT expires: - '-1' pragma: @@ -54,7 +54,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1195' x-powered-by: - ASP.NET status: @@ -74,13 +74,13 @@ interactions: ParameterSetName: - -g --app User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.3 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19043-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/clitestai000002?api-version=2020-02-02-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/clitestai000002","name":"clitestai000002","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"24025826-0000-0200-0000-606d4d050000\"","properties":{"Ver":"v2","ApplicationId":"clitestai000002","AppId":"88e14591-597c-4a8f-82b8-a811a46511dc","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"50298a70-1872-46ad-8bd2-e07bf01476a3","ConnectionString":"InstrumentationKey=50298a70-1872-46ad-8bd2-e07bf01476a3;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"clitestai000002","CreationDate":"2021-04-07T06:11:16.9729997+00:00","TenantId":"92f95d8f-3c67-4124-91c7-8cf07cdbf241","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"IngestionMode":"ApplicationInsights","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/clitestai000002","name":"clitestai000002","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"730020d5-0000-0200-0000-609e3ae70000\"","properties":{"Ver":"v2","ApplicationId":"clitestai000002","AppId":"7734de1c-02bf-41c5-b872-8b2a0eaf837a","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"2d107d58-9ce6-4ca7-b805-ef380896e7dd","ConnectionString":"InstrumentationKey=2d107d58-9ce6-4ca7-b805-ef380896e7dd;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"clitestai000002","CreationDate":"2021-05-14T08:55:02.8197978+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"IngestionMode":"ApplicationInsights","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' headers: access-control-expose-headers: - Request-Context @@ -91,7 +91,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 07 Apr 2021 06:11:28 GMT + - Fri, 14 May 2021 08:55:08 GMT expires: - '-1' pragma: @@ -127,15 +127,12 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-resource/16.1.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-04-07T06:11:02Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-05-14T08:54:51Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -144,7 +141,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 07 Apr 2021 06:11:30 GMT + - Fri, 14 May 2021 08:55:09 GMT expires: - '-1' pragma: @@ -173,16 +170,13 @@ interactions: Content-Length: - '143' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - -g -n User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-web/0.48.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-web/2.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/validate?api-version=2019-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/validate?api-version=2020-09-01 response: body: string: '{"status":"Success","error":null}' @@ -194,7 +188,7 @@ interactions: content-type: - application/json date: - - Wed, 07 Apr 2021 06:11:31 GMT + - Fri, 14 May 2021 08:55:10 GMT expires: - '-1' pragma: @@ -232,15 +226,12 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-resource/16.1.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-04-07T06:11:02Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-05-14T08:54:51Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -249,7 +240,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 07 Apr 2021 06:11:32 GMT + - Fri, 14 May 2021 08:55:10 GMT expires: - '-1' pragma: @@ -264,8 +255,8 @@ interactions: code: 200 message: OK - request: - body: '{"location": "westus", "properties": {"perSiteScaling": false, "isXenon": - false}, "sku": {"name": "B1", "tier": "BASIC", "capacity": 1}}' + body: '{"location": "westus", "sku": {"name": "B1", "tier": "BASIC", "capacity": + 1}, "properties": {"perSiteScaling": false, "isXenon": false}}' headers: Accept: - application/json @@ -278,31 +269,28 @@ interactions: Content-Length: - '136' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - -g -n User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-web/0.48.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-web/2.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/clitestplan000004?api-version=2019-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/clitestplan000004?api-version=2020-09-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/clitestplan000004","name":"clitestplan000004","type":"Microsoft.Web/serverfarms","kind":"app","location":"westus","properties":{"serverFarmId":34752,"name":"clitestplan000004","sku":{"name":"B1","tier":"Basic","size":"B1","family":"B","capacity":1},"workerSize":"Default","workerSizeId":0,"workerTierName":null,"numberOfWorkers":1,"currentWorkerSize":"Default","currentWorkerSizeId":0,"currentNumberOfWorkers":1,"status":"Ready","webSpace":"clitest.rg000001-WestUSwebspace","subscription":"92f95d8f-3c67-4124-91c7-8cf07cdbf241","adminSiteName":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"maximumNumberOfWorkers":0,"planName":"VirtualDedicatedPlan","adminRuntimeSiteName":null,"computeMode":"Dedicated","siteMode":null,"geoRegion":"West - US","perSiteScaling":false,"maximumElasticWorkerCount":1,"numberOfSites":0,"hostingEnvironmentId":null,"isSpot":false,"spotExpirationTime":null,"freeOfferExpirationTime":null,"tags":null,"kind":"app","resourceGroup":"clitest.rg000001","reserved":false,"isXenon":false,"hyperV":false,"mdmId":"waws-prod-bay-097_34752","targetWorkerCount":0,"targetWorkerSizeId":0,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"azBalancing":false},"sku":{"name":"B1","tier":"Basic","size":"B1","family":"B","capacity":1}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/clitestplan000004","name":"clitestplan000004","type":"Microsoft.Web/serverfarms","kind":"app","location":"westus","properties":{"serverFarmId":10153,"name":"clitestplan000004","sku":{"name":"B1","tier":"Basic","size":"B1","family":"B","capacity":1},"workerSize":"Default","workerSizeId":0,"workerTierName":null,"numberOfWorkers":1,"currentWorkerSize":"Default","currentWorkerSizeId":0,"currentNumberOfWorkers":1,"status":"Ready","webSpace":"clitest.rg000001-WestUSwebspace","subscription":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","adminSiteName":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"maximumNumberOfWorkers":0,"planName":"VirtualDedicatedPlan","adminRuntimeSiteName":null,"computeMode":"Dedicated","siteMode":null,"geoRegion":"West + US","perSiteScaling":false,"elasticScaleEnabled":false,"maximumElasticWorkerCount":1,"numberOfSites":0,"hostingEnvironmentId":null,"isSpot":false,"spotExpirationTime":null,"freeOfferExpirationTime":null,"tags":null,"kind":"app","resourceGroup":"clitest.rg000001","reserved":false,"isXenon":false,"hyperV":false,"mdmId":"waws-prod-bay-163_10153","targetWorkerCount":0,"targetWorkerSizeId":0,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"azBalancing":false},"sku":{"name":"B1","tier":"Basic","size":"B1","family":"B","capacity":1}}' headers: cache-control: - no-cache content-length: - - '1646' + - '1674' content-type: - application/json date: - - Wed, 07 Apr 2021 06:11:48 GMT + - Fri, 14 May 2021 08:55:20 GMT etag: - - '"1D72B74E3C00A95"' + - '"1D7489EDDA716AB"' expires: - '-1' pragma: @@ -320,7 +308,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' x-powered-by: - ASP.NET status: @@ -340,26 +328,23 @@ interactions: ParameterSetName: - -g -n --plan User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-web/0.48.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-web/2.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/clitestplan000004?api-version=2019-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/clitestplan000004?api-version=2020-09-01 response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/clitestplan000004","name":"clitestplan000004","type":"Microsoft.Web/serverfarms","kind":"app","location":"West - US","properties":{"serverFarmId":34752,"name":"clitestplan000004","workerSize":"Default","workerSizeId":0,"workerTierName":null,"numberOfWorkers":1,"currentWorkerSize":"Default","currentWorkerSizeId":0,"currentNumberOfWorkers":1,"status":"Ready","webSpace":"clitest.rg000001-WestUSwebspace","subscription":"92f95d8f-3c67-4124-91c7-8cf07cdbf241","adminSiteName":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"maximumNumberOfWorkers":3,"planName":"VirtualDedicatedPlan","adminRuntimeSiteName":null,"computeMode":"Dedicated","siteMode":null,"geoRegion":"West - US","perSiteScaling":false,"maximumElasticWorkerCount":1,"numberOfSites":0,"hostingEnvironmentId":null,"isSpot":false,"spotExpirationTime":null,"freeOfferExpirationTime":null,"tags":null,"kind":"app","resourceGroup":"clitest.rg000001","reserved":false,"isXenon":false,"hyperV":false,"mdmId":"waws-prod-bay-097_34752","targetWorkerCount":0,"targetWorkerSizeId":0,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"azBalancing":false},"sku":{"name":"B1","tier":"Basic","size":"B1","family":"B","capacity":1}}' + US","properties":{"serverFarmId":10153,"name":"clitestplan000004","workerSize":"Default","workerSizeId":0,"workerTierName":null,"numberOfWorkers":1,"currentWorkerSize":"Default","currentWorkerSizeId":0,"currentNumberOfWorkers":1,"status":"Ready","webSpace":"clitest.rg000001-WestUSwebspace","subscription":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","adminSiteName":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"maximumNumberOfWorkers":3,"planName":"VirtualDedicatedPlan","adminRuntimeSiteName":null,"computeMode":"Dedicated","siteMode":null,"geoRegion":"West + US","perSiteScaling":false,"elasticScaleEnabled":false,"maximumElasticWorkerCount":1,"numberOfSites":0,"hostingEnvironmentId":null,"isSpot":false,"spotExpirationTime":null,"freeOfferExpirationTime":null,"tags":null,"kind":"app","resourceGroup":"clitest.rg000001","reserved":false,"isXenon":false,"hyperV":false,"mdmId":"waws-prod-bay-163_10153","targetWorkerCount":0,"targetWorkerSizeId":0,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"azBalancing":false},"sku":{"name":"B1","tier":"Basic","size":"B1","family":"B","capacity":1}}' headers: cache-control: - no-cache content-length: - - '1574' + - '1602' content-type: - application/json date: - - Wed, 07 Apr 2021 06:11:50 GMT + - Fri, 14 May 2021 08:55:22 GMT expires: - '-1' pragma: @@ -396,16 +381,13 @@ interactions: Content-Length: - '329' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - -g -n --plan User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-web/0.48.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-web/2.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/validate?api-version=2019-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/validate?api-version=2020-09-01 response: body: string: '{"status":"Success","error":null}' @@ -417,7 +399,7 @@ interactions: content-type: - application/json date: - - Wed, 07 Apr 2021 06:11:52 GMT + - Fri, 14 May 2021 08:55:23 GMT expires: - '-1' pragma: @@ -455,26 +437,23 @@ interactions: ParameterSetName: - -g -n --plan User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-web/0.48.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-web/2.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/clitestplan000004?api-version=2019-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/clitestplan000004?api-version=2020-09-01 response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/clitestplan000004","name":"clitestplan000004","type":"Microsoft.Web/serverfarms","kind":"app","location":"West - US","properties":{"serverFarmId":34752,"name":"clitestplan000004","workerSize":"Default","workerSizeId":0,"workerTierName":null,"numberOfWorkers":1,"currentWorkerSize":"Default","currentWorkerSizeId":0,"currentNumberOfWorkers":1,"status":"Ready","webSpace":"clitest.rg000001-WestUSwebspace","subscription":"92f95d8f-3c67-4124-91c7-8cf07cdbf241","adminSiteName":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"maximumNumberOfWorkers":3,"planName":"VirtualDedicatedPlan","adminRuntimeSiteName":null,"computeMode":"Dedicated","siteMode":null,"geoRegion":"West - US","perSiteScaling":false,"maximumElasticWorkerCount":1,"numberOfSites":0,"hostingEnvironmentId":null,"isSpot":false,"spotExpirationTime":null,"freeOfferExpirationTime":null,"tags":null,"kind":"app","resourceGroup":"clitest.rg000001","reserved":false,"isXenon":false,"hyperV":false,"mdmId":"waws-prod-bay-097_34752","targetWorkerCount":0,"targetWorkerSizeId":0,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"azBalancing":false},"sku":{"name":"B1","tier":"Basic","size":"B1","family":"B","capacity":1}}' + US","properties":{"serverFarmId":10153,"name":"clitestplan000004","workerSize":"Default","workerSizeId":0,"workerTierName":null,"numberOfWorkers":1,"currentWorkerSize":"Default","currentWorkerSizeId":0,"currentNumberOfWorkers":1,"status":"Ready","webSpace":"clitest.rg000001-WestUSwebspace","subscription":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","adminSiteName":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"maximumNumberOfWorkers":3,"planName":"VirtualDedicatedPlan","adminRuntimeSiteName":null,"computeMode":"Dedicated","siteMode":null,"geoRegion":"West + US","perSiteScaling":false,"elasticScaleEnabled":false,"maximumElasticWorkerCount":1,"numberOfSites":0,"hostingEnvironmentId":null,"isSpot":false,"spotExpirationTime":null,"freeOfferExpirationTime":null,"tags":null,"kind":"app","resourceGroup":"clitest.rg000001","reserved":false,"isXenon":false,"hyperV":false,"mdmId":"waws-prod-bay-163_10153","targetWorkerCount":0,"targetWorkerSizeId":0,"provisioningState":"Succeeded","webSiteId":null,"existingServerFarmIds":null,"kubeEnvironmentProfile":null,"azBalancing":false},"sku":{"name":"B1","tier":"Basic","size":"B1","family":"B","capacity":1}}' headers: cache-control: - no-cache content-length: - - '1574' + - '1602' content-type: - application/json date: - - Wed, 07 Apr 2021 06:11:54 GMT + - Fri, 14 May 2021 08:55:23 GMT expires: - '-1' pragma: @@ -510,16 +489,13 @@ interactions: Content-Length: - '52' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - -g -n --plan User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-web/0.48.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-web/2.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Web/checknameavailability?api-version=2019-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Web/checknameavailability?api-version=2020-09-01 response: body: string: '{"nameAvailable":true,"reason":"","message":""}' @@ -531,7 +507,7 @@ interactions: content-type: - application/json date: - - Wed, 07 Apr 2021 06:11:57 GMT + - Fri, 14 May 2021 08:55:24 GMT expires: - '-1' pragma: @@ -571,33 +547,30 @@ interactions: Content-Length: - '542' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - -g -n --plan User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-web/0.48.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-web/2.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/clitestwebapp000003?api-version=2019-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/clitestwebapp000003?api-version=2020-09-01 response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/clitestwebapp000003","name":"clitestwebapp000003","type":"Microsoft.Web/sites","kind":"app","location":"West - US","properties":{"name":"clitestwebapp000003","state":"Running","hostNames":["clitestwebapp000003.azurewebsites.net"],"webSpace":"clitest.rg000001-WestUSwebspace","selfLink":"https://waws-prod-bay-097.api.azurewebsites.windows.net:454/subscriptions/00000000-0000-0000-0000-000000000000/webspaces/clitest.rg000001-WestUSwebspace/sites/clitestwebapp000003","repositorySiteName":"clitestwebapp000003","owner":null,"usageState":"Normal","enabled":true,"adminEnabled":true,"enabledHostNames":["clitestwebapp000003.azurewebsites.net","clitestwebapp000003.scm.azurewebsites.net"],"siteProperties":{"metadata":null,"properties":[{"name":"LinuxFxVersion","value":""},{"name":"WindowsFxVersion","value":null}],"appSettings":null},"availabilityState":"Normal","sslCertificates":null,"csrs":[],"cers":null,"siteMode":null,"hostNameSslStates":[{"name":"clitestwebapp000003.azurewebsites.net","sslState":"Disabled","ipBasedSslResult":null,"virtualIP":null,"thumbprint":null,"toUpdate":null,"toUpdateIpBasedSsl":null,"ipBasedSslState":"NotConfigured","hostType":"Standard"},{"name":"clitestwebapp000003.scm.azurewebsites.net","sslState":"Disabled","ipBasedSslResult":null,"virtualIP":null,"thumbprint":null,"toUpdate":null,"toUpdateIpBasedSsl":null,"ipBasedSslState":"NotConfigured","hostType":"Repository"}],"computeMode":null,"serverFarm":null,"serverFarmId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/clitestplan000004","reserved":false,"isXenon":false,"hyperV":false,"lastModifiedTimeUtc":"2021-04-07T06:12:03.8666667","storageRecoveryDefaultState":"Running","contentAvailabilityState":"Normal","runtimeAvailabilityState":"Normal","siteConfig":{"numberOfWorkers":null,"defaultDocuments":null,"netFrameworkVersion":null,"phpVersion":null,"pythonVersion":null,"nodeVersion":null,"powerShellVersion":null,"linuxFxVersion":null,"windowsFxVersion":null,"requestTracingEnabled":null,"remoteDebuggingEnabled":null,"remoteDebuggingVersion":null,"httpLoggingEnabled":null,"azureMonitorLogCategories":null,"acrUseManagedIdentityCreds":false,"acrUserManagedIdentityID":null,"logsDirectorySizeLimit":null,"detailedErrorLoggingEnabled":null,"publishingUsername":null,"publishingPassword":null,"appSettings":null,"azureStorageAccounts":null,"metadata":null,"connectionStrings":null,"machineKey":null,"handlerMappings":null,"documentRoot":null,"scmType":null,"use32BitWorkerProcess":null,"webSocketsEnabled":null,"alwaysOn":null,"javaVersion":null,"javaContainer":null,"javaContainerVersion":null,"appCommandLine":null,"managedPipelineMode":null,"virtualApplications":null,"winAuthAdminState":null,"winAuthTenantState":null,"customAppPoolIdentityAdminState":null,"customAppPoolIdentityTenantState":null,"runtimeADUser":null,"runtimeADUserPassword":null,"loadBalancing":null,"routingRules":null,"experiments":null,"limits":null,"autoHealEnabled":null,"autoHealRules":null,"tracingOptions":null,"vnetName":null,"vnetRouteAllEnabled":null,"vnetPrivatePortsCount":null,"cors":null,"push":null,"apiDefinition":null,"apiManagementConfig":null,"autoSwapSlotName":null,"localMySqlEnabled":null,"managedServiceIdentityId":null,"xManagedServiceIdentityId":null,"keyVaultReferenceIdentity":null,"ipSecurityRestrictions":[{"ipAddress":"Any","action":"Allow","priority":1,"name":"Allow + US","properties":{"name":"clitestwebapp000003","state":"Running","hostNames":["clitestwebapp000003.azurewebsites.net"],"webSpace":"clitest.rg000001-WestUSwebspace","selfLink":"https://waws-prod-bay-163.api.azurewebsites.windows.net:454/subscriptions/00000000-0000-0000-0000-000000000000/webspaces/clitest.rg000001-WestUSwebspace/sites/clitestwebapp000003","repositorySiteName":"clitestwebapp000003","owner":null,"usageState":"Normal","enabled":true,"adminEnabled":true,"enabledHostNames":["clitestwebapp000003.azurewebsites.net","clitestwebapp000003.scm.azurewebsites.net"],"siteProperties":{"metadata":null,"properties":[{"name":"LinuxFxVersion","value":""},{"name":"WindowsFxVersion","value":null}],"appSettings":null},"availabilityState":"Normal","sslCertificates":null,"csrs":[],"cers":null,"siteMode":null,"hostNameSslStates":[{"name":"clitestwebapp000003.azurewebsites.net","sslState":"Disabled","ipBasedSslResult":null,"virtualIP":null,"thumbprint":null,"toUpdate":null,"toUpdateIpBasedSsl":null,"ipBasedSslState":"NotConfigured","hostType":"Standard"},{"name":"clitestwebapp000003.scm.azurewebsites.net","sslState":"Disabled","ipBasedSslResult":null,"virtualIP":null,"thumbprint":null,"toUpdate":null,"toUpdateIpBasedSsl":null,"ipBasedSslState":"NotConfigured","hostType":"Repository"}],"computeMode":null,"serverFarm":null,"serverFarmId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/serverfarms/clitestplan000004","reserved":false,"isXenon":false,"hyperV":false,"lastModifiedTimeUtc":"2021-05-14T08:55:29.6766667","storageRecoveryDefaultState":"Running","contentAvailabilityState":"Normal","runtimeAvailabilityState":"Normal","siteConfig":{"numberOfWorkers":null,"defaultDocuments":null,"netFrameworkVersion":null,"phpVersion":null,"pythonVersion":null,"nodeVersion":null,"powerShellVersion":null,"linuxFxVersion":null,"windowsFxVersion":null,"requestTracingEnabled":null,"remoteDebuggingEnabled":null,"remoteDebuggingVersion":null,"httpLoggingEnabled":null,"azureMonitorLogCategories":null,"acrUseManagedIdentityCreds":false,"acrUserManagedIdentityID":null,"logsDirectorySizeLimit":null,"detailedErrorLoggingEnabled":null,"publishingUsername":null,"publishingPassword":null,"appSettings":null,"azureStorageAccounts":null,"metadata":null,"connectionStrings":null,"machineKey":null,"handlerMappings":null,"documentRoot":null,"scmType":null,"use32BitWorkerProcess":null,"webSocketsEnabled":null,"alwaysOn":null,"javaVersion":null,"javaContainer":null,"javaContainerVersion":null,"appCommandLine":null,"managedPipelineMode":null,"virtualApplications":null,"winAuthAdminState":null,"winAuthTenantState":null,"customAppPoolIdentityAdminState":null,"customAppPoolIdentityTenantState":null,"runtimeADUser":null,"runtimeADUserPassword":null,"loadBalancing":null,"routingRules":null,"experiments":null,"limits":null,"autoHealEnabled":null,"autoHealRules":null,"tracingOptions":null,"vnetName":null,"vnetRouteAllEnabled":null,"vnetPrivatePortsCount":null,"publicNetworkAccess":null,"cors":null,"push":null,"apiDefinition":null,"apiManagementConfig":null,"autoSwapSlotName":null,"localMySqlEnabled":null,"managedServiceIdentityId":null,"xManagedServiceIdentityId":null,"keyVaultReferenceIdentity":null,"ipSecurityRestrictions":[{"ipAddress":"Any","action":"Allow","priority":1,"name":"Allow all","description":"Allow all access"}],"scmIpSecurityRestrictions":[{"ipAddress":"Any","action":"Allow","priority":1,"name":"Allow - all","description":"Allow all access"}],"scmIpSecurityRestrictionsUseMain":null,"http20Enabled":null,"minTlsVersion":null,"scmMinTlsVersion":null,"ftpsState":null,"preWarmedInstanceCount":null,"functionAppScaleLimit":null,"healthCheckPath":null,"fileChangeAuditEnabled":null,"functionsRuntimeScaleMonitoringEnabled":null,"websiteTimeZone":null,"minimumElasticInstanceCount":0},"deploymentId":"clitestwebapp000003","slotName":null,"trafficManagerHostNames":null,"sku":"Basic","scmSiteAlsoStopped":false,"targetSwapSlot":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"clientAffinityEnabled":true,"clientCertEnabled":false,"clientCertMode":"Required","clientCertExclusionPaths":null,"hostNamesDisabled":false,"domainVerificationIdentifiers":null,"customDomainVerificationId":"55F2E4435A6748F0C3A4666505B3672446A9A9AEFDDC20F98EFEE4B5DCC7807E","kind":"app","inboundIpAddress":"13.91.242.166","possibleInboundIpAddresses":"13.91.242.166","ftpUsername":"clitestwebapp000003\\$clitestwebapp000003","ftpsHostName":"ftps://waws-prod-bay-097.ftp.azurewebsites.windows.net/site/wwwroot","outboundIpAddresses":"13.91.242.166,13.91.241.161,13.91.244.239,13.91.244.226,13.91.101.85","possibleOutboundIpAddresses":"13.91.242.166,13.91.241.161,13.91.244.239,13.91.244.226,13.91.101.85,13.91.242.52,13.91.243.117,13.91.241.117","containerSize":0,"dailyMemoryTimeQuota":0,"suspendedTill":null,"siteDisabledReason":0,"functionExecutionUnitsCache":null,"maxNumberOfWorkers":null,"homeStamp":"waws-prod-bay-097","cloningInfo":null,"hostingEnvironmentId":null,"tags":null,"resourceGroup":"clitest.rg000001","defaultHostName":"clitestwebapp000003.azurewebsites.net","slotSwapStatus":null,"keyVaultReferenceIdentity":"SystemAssigned","httpsOnly":false,"redundancyMode":"None","inProgressOperationId":null,"geoDistributions":null,"privateEndpointConnections":null,"buildVersion":null,"targetBuildVersion":null,"migrationState":null,"eligibleLogCategories":"AppServiceAppLogs,AppServiceAuditLogs,AppServiceConsoleLogs,AppServiceHTTPLogs,AppServiceIPSecAuditLogs,AppServicePlatformLogs,ScanLogs","storageAccountRequired":false}}' + all","description":"Allow all access"}],"scmIpSecurityRestrictionsUseMain":null,"http20Enabled":null,"minTlsVersion":null,"scmMinTlsVersion":null,"ftpsState":null,"preWarmedInstanceCount":null,"functionAppScaleLimit":null,"healthCheckPath":null,"fileChangeAuditEnabled":null,"functionsRuntimeScaleMonitoringEnabled":null,"websiteTimeZone":null,"minimumElasticInstanceCount":0},"deploymentId":"clitestwebapp000003","slotName":null,"trafficManagerHostNames":null,"sku":"Basic","scmSiteAlsoStopped":false,"targetSwapSlot":null,"hostingEnvironment":null,"hostingEnvironmentProfile":null,"clientAffinityEnabled":true,"clientCertEnabled":false,"clientCertMode":"Required","clientCertExclusionPaths":null,"hostNamesDisabled":false,"domainVerificationIdentifiers":null,"customDomainVerificationId":"253001F2FCF5A7B1CD759EB861E9BB1596370BE27E47A991F72184277B3D12F2","kind":"app","inboundIpAddress":"40.112.243.49","possibleInboundIpAddresses":"40.112.243.49","ftpUsername":"clitestwebapp000003\\$clitestwebapp000003","ftpsHostName":"ftps://waws-prod-bay-163.ftp.azurewebsites.windows.net/site/wwwroot","outboundIpAddresses":"40.83.136.131,104.42.151.30,104.42.147.141,104.42.151.74,104.42.148.53,104.42.146.233,40.112.243.49","possibleOutboundIpAddresses":"40.83.136.131,104.42.151.30,104.42.147.141,104.42.151.74,104.42.148.53,104.42.146.233,13.64.153.198,13.73.39.202,40.83.192.34,40.83.192.18,13.64.152.65,13.64.100.62,104.42.146.65,104.42.147.38,13.64.101.9,13.64.101.192,13.64.97.22,40.78.16.184,13.64.159.2,13.64.22.244,40.118.231.172,104.42.248.60,40.112.133.197,104.42.149.53,13.64.99.248,13.64.19.2,13.64.19.239,13.64.20.115,13.91.124.174,13.91.125.68,40.112.243.49","containerSize":0,"dailyMemoryTimeQuota":0,"suspendedTill":null,"siteDisabledReason":0,"functionExecutionUnitsCache":null,"maxNumberOfWorkers":null,"homeStamp":"waws-prod-bay-163","cloningInfo":null,"hostingEnvironmentId":null,"tags":null,"resourceGroup":"clitest.rg000001","defaultHostName":"clitestwebapp000003.azurewebsites.net","slotSwapStatus":null,"keyVaultReferenceIdentity":"SystemAssigned","httpsOnly":false,"redundancyMode":"None","inProgressOperationId":null,"geoDistributions":null,"privateEndpointConnections":null,"buildVersion":null,"targetBuildVersion":null,"migrationState":null,"eligibleLogCategories":"AppServiceAppLogs,AppServiceAuditLogs,AppServiceConsoleLogs,AppServiceHTTPLogs,AppServiceIPSecAuditLogs,AppServicePlatformLogs,ScanLogs","storageAccountRequired":false,"virtualNetworkSubnetId":null}}' headers: cache-control: - no-cache content-length: - - '6178' + - '6574' content-type: - application/json date: - - Wed, 07 Apr 2021 06:12:22 GMT + - Fri, 14 May 2021 08:55:46 GMT etag: - - '"1D72B74EE6DE860"' + - '"1D7489EE44DF82B"' expires: - '-1' pragma: @@ -622,7 +595,7 @@ interactions: code: 200 message: OK - request: - body: '{}' + body: '{"format": "WebDeploy"}' headers: Accept: - application/xml @@ -633,52 +606,43 @@ interactions: Connection: - keep-alive Content-Length: - - '2' + - '23' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - -g -n --plan User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-web/0.48.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-web/2.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/clitestwebapp000003/publishxml?api-version=2019-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/clitestwebapp000003/publishxml?api-version=2020-09-01 response: body: string: + webSystem="WebSites"> headers: cache-control: - no-cache content-length: - - '2247' + - '1667' content-type: - application/xml date: - - Wed, 07 Apr 2021 06:12:23 GMT + - Fri, 14 May 2021 08:55:46 GMT expires: - '-1' pragma: @@ -712,13 +676,13 @@ interactions: ParameterSetName: - -g --app --web-app --enable-profiler --enable-snapshot-debugger User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.3 - (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-applicationinsights/1.0.0 Python/3.8.10 + (Windows-10-10.0.19043-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Insights/components/clitestai000002?api-version=2018-05-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/clitestai000002","name":"clitestai000002","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"24025826-0000-0200-0000-606d4d050000\"","properties":{"Ver":"v2","ApplicationId":"clitestai000002","AppId":"88e14591-597c-4a8f-82b8-a811a46511dc","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"50298a70-1872-46ad-8bd2-e07bf01476a3","ConnectionString":"InstrumentationKey=50298a70-1872-46ad-8bd2-e07bf01476a3;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"clitestai000002","CreationDate":"2021-04-07T06:11:16.9729997+00:00","TenantId":"92f95d8f-3c67-4124-91c7-8cf07cdbf241","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"IngestionMode":"ApplicationInsights","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/microsoft.insights/components/clitestai000002","name":"clitestai000002","type":"microsoft.insights/components","location":"westus","tags":{},"kind":"web","etag":"\"730020d5-0000-0200-0000-609e3ae70000\"","properties":{"Ver":"v2","ApplicationId":"clitestai000002","AppId":"7734de1c-02bf-41c5-b872-8b2a0eaf837a","Application_Type":"web","Flow_Type":"Bluefield","Request_Source":"rest","InstrumentationKey":"2d107d58-9ce6-4ca7-b805-ef380896e7dd","ConnectionString":"InstrumentationKey=2d107d58-9ce6-4ca7-b805-ef380896e7dd;IngestionEndpoint=https://westus-0.in.applicationinsights.azure.com/","Name":"clitestai000002","CreationDate":"2021-05-14T08:55:02.8197978+00:00","TenantId":"0b1f6471-1bf0-4dda-aec3-cb9272f09590","provisioningState":"Succeeded","SamplingPercentage":null,"RetentionInDays":90,"IngestionMode":"ApplicationInsights","publicNetworkAccessForIngestion":"Enabled","publicNetworkAccessForQuery":"Enabled"}}' headers: access-control-expose-headers: - Request-Context @@ -729,7 +693,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 07 Apr 2021 06:12:25 GMT + - Fri, 14 May 2021 08:55:48 GMT expires: - '-1' pragma: @@ -767,12 +731,9 @@ interactions: ParameterSetName: - -g --app --web-app --enable-profiler --enable-snapshot-debugger User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-web/0.48.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-web/2.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/clitestwebapp000003/config/appsettings/list?api-version=2019-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/clitestwebapp000003/config/appsettings/list?api-version=2020-09-01 response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/clitestwebapp000003/config/appsettings","name":"appsettings","type":"Microsoft.Web/sites/config","location":"West @@ -785,7 +746,7 @@ interactions: content-type: - application/json date: - - Wed, 07 Apr 2021 06:12:29 GMT + - Fri, 14 May 2021 08:55:49 GMT expires: - '-1' pragma: @@ -810,10 +771,9 @@ interactions: code: 200 message: OK - request: - body: '{"kind": "", "properties": {"WEBSITE_NODE_DEFAULT_VERSION": - "10.14.1", "APPINSIGHTS_INSTRUMENTATIONKEY": "50298a70-1872-46ad-8bd2-e07bf01476a3", - "APPINSIGHTS_PROFILERFEATURE_VERSION": "1.0.0", "APPINSIGHTS_SNAPSHOTFEATURE_VERSION": - "1.0.0"}}' + body: '{"properties": {"WEBSITE_NODE_DEFAULT_VERSION": "10.14.1", "APPINSIGHTS_INSTRUMENTATIONKEY": + "2d107d58-9ce6-4ca7-b805-ef380896e7dd", "APPINSIGHTS_PROFILERFEATURE_VERSION": + "1.0.0", "APPINSIGHTS_SNAPSHOTFEATURE_VERSION": "1.0.0"}}' headers: Accept: - application/json @@ -824,22 +784,19 @@ interactions: Connection: - keep-alive Content-Length: - - '254' + - '229' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - -g --app --web-app --enable-profiler --enable-snapshot-debugger User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-web/0.48.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-web/2.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/clitestwebapp000003/config/appsettings?api-version=2019-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/clitestwebapp000003/config/appsettings?api-version=2020-09-01 response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/clitestwebapp000003/config/appsettings","name":"appsettings","type":"Microsoft.Web/sites/config","location":"West - US","properties":{"WEBSITE_NODE_DEFAULT_VERSION":"10.14.1","APPINSIGHTS_INSTRUMENTATIONKEY":"50298a70-1872-46ad-8bd2-e07bf01476a3","APPINSIGHTS_PROFILERFEATURE_VERSION":"1.0.0","APPINSIGHTS_SNAPSHOTFEATURE_VERSION":"1.0.0"}}' + US","properties":{"WEBSITE_NODE_DEFAULT_VERSION":"10.14.1","APPINSIGHTS_INSTRUMENTATIONKEY":"2d107d58-9ce6-4ca7-b805-ef380896e7dd","APPINSIGHTS_PROFILERFEATURE_VERSION":"1.0.0","APPINSIGHTS_SNAPSHOTFEATURE_VERSION":"1.0.0"}}' headers: cache-control: - no-cache @@ -848,9 +805,9 @@ interactions: content-type: - application/json date: - - Wed, 07 Apr 2021 06:12:32 GMT + - Fri, 14 May 2021 08:55:50 GMT etag: - - '"1D72B74FE6D5DE0"' + - '"1D7489EF099DB8B"' expires: - '-1' pragma: @@ -868,7 +825,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1196' x-powered-by: - ASP.NET status: @@ -890,16 +847,13 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-web/0.48.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-web/2.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/clitestwebapp000003/config/appsettings/list?api-version=2019-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/clitestwebapp000003/config/appsettings/list?api-version=2020-09-01 response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/clitestwebapp000003/config/appsettings","name":"appsettings","type":"Microsoft.Web/sites/config","location":"West - US","properties":{"WEBSITE_NODE_DEFAULT_VERSION":"10.14.1","APPINSIGHTS_INSTRUMENTATIONKEY":"50298a70-1872-46ad-8bd2-e07bf01476a3","APPINSIGHTS_PROFILERFEATURE_VERSION":"1.0.0","APPINSIGHTS_SNAPSHOTFEATURE_VERSION":"1.0.0"}}' + US","properties":{"WEBSITE_NODE_DEFAULT_VERSION":"10.14.1","APPINSIGHTS_INSTRUMENTATIONKEY":"2d107d58-9ce6-4ca7-b805-ef380896e7dd","APPINSIGHTS_PROFILERFEATURE_VERSION":"1.0.0","APPINSIGHTS_SNAPSHOTFEATURE_VERSION":"1.0.0"}}' headers: cache-control: - no-cache @@ -908,7 +862,7 @@ interactions: content-type: - application/json date: - - Wed, 07 Apr 2021 06:12:33 GMT + - Fri, 14 May 2021 08:55:52 GMT expires: - '-1' pragma: @@ -946,12 +900,9 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-web/0.48.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-web/2.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/clitestwebapp000003/config/slotConfigNames?api-version=2019-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Web/sites/clitestwebapp000003/config/slotConfigNames?api-version=2020-09-01 response: body: string: '{"id":null,"name":"clitestwebapp000003","type":"Microsoft.Web/sites","location":"West @@ -964,7 +915,7 @@ interactions: content-type: - application/json date: - - Wed, 07 Apr 2021 06:12:34 GMT + - Fri, 14 May 2021 08:55:52 GMT expires: - '-1' pragma: diff --git a/src/application-insights/azext_applicationinsights/tests/latest/test_applicationinsights_mgmt.py b/src/application-insights/azext_applicationinsights/tests/latest/test_applicationinsights_mgmt.py index e7aecab8e85..271b120a80e 100644 --- a/src/application-insights/azext_applicationinsights/tests/latest/test_applicationinsights_mgmt.py +++ b/src/application-insights/azext_applicationinsights/tests/latest/test_applicationinsights_mgmt.py @@ -6,6 +6,7 @@ # pylint: disable=line-too-long from azure.cli.testsdk import ResourceGroupPreparer, ScenarioTest, StorageAccountPreparer from .recording_processors import StorageAccountSASReplacer +from azure_devtools.scenario_tests import AllowLargeResponse class ApplicationInsightsManagementClientTests(ScenarioTest): @@ -246,9 +247,10 @@ def test_component_with_linked_storage(self, resource_group, location, storage_a with self.assertRaisesRegexp(SystemExit, '3'): self.cmd('monitor app-insights component linked-storage show --app {name_a} -g {resource_group}') + @AllowLargeResponse() @ResourceGroupPreparer(parameter_name_for_location='location') - @StorageAccountPreparer(name_prefix='component', kind='StorageV2') - @StorageAccountPreparer(name_prefix='component', kind='StorageV2', location='westus2', parameter_name='storage_account_2') + @StorageAccountPreparer(kind='StorageV2') + @StorageAccountPreparer(kind='StorageV2', location='westus2', parameter_name='storage_account_2') def test_component_continues_export(self, resource_group, location, storage_account, storage_account_2): from datetime import datetime, timedelta expiry = (datetime.utcnow() + timedelta(days=1)).strftime('%Y-%m-%dT%H:%MZ') diff --git a/src/service_name.json b/src/service_name.json index 7b939296d78..45b19581527 100644 --- a/src/service_name.json +++ b/src/service_name.json @@ -244,6 +244,11 @@ "AzureServiceName": "Azure Machine Learning", "URL": "https://docs.microsoft.com/azure/machine-learning/" }, + { + "Command": "az monitor", + "AzureServiceName": "Azure Monitor", + "URL": "https://docs.microsoft.com/azure/azure-monitor/" + }, { "Command": "az mysql", "AzureServiceName": "Azure Database for MySQL", From 65980fd5beaa0a84349c108040c8b91565d1179d Mon Sep 17 00:00:00 2001 From: Feng Zhou <55177366+fengzhou-msft@users.noreply.github.com> Date: Wed, 19 May 2021 17:16:56 +0800 Subject: [PATCH 16/83] block azure-cli-ml in extension command tree (#3317) --- scripts/ci/build_ext_cmd_tree.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/ci/build_ext_cmd_tree.sh b/scripts/ci/build_ext_cmd_tree.sh index 9f9c127699d..d1f9af9111a 100644 --- a/scripts/ci/build_ext_cmd_tree.sh +++ b/scripts/ci/build_ext_cmd_tree.sh @@ -18,8 +18,8 @@ export AZURE_CORE_COLLECT_TELEMETRY=False export AZURE_EXTENSION_INDEX_URL=https://raw.githubusercontent.com/Azure/azure-cli-extensions/master/src/index.json output=$(az extension list-available --query [].name -otsv) -# azure-cli-iot-ext is the deprecated old versions of the renamed azure-iot extension -blocklist=("azure-cli-iot-ext") +# azure-cli-ml is replaced by ml +blocklist=("azure-cli-ml") rm -f ~/.azure/extCmdTreeToUpload.json From 970e9f00ef763d8c328b38a4a5bce8f2526b5858 Mon Sep 17 00:00:00 2001 From: xfz11 <81600993+xfz11@users.noreply.github.com> Date: Wed, 19 May 2021 17:28:56 +0800 Subject: [PATCH 17/83] remove download url for dev-spaces-preview (#3397) * set backup download url for dev-spaces-preview * Update src/index.json * update --- src/index.json | 50 +------------------------------------------------- 1 file changed, 1 insertion(+), 49 deletions(-) diff --git a/src/index.json b/src/index.json index 886e57ec5ac..f3818e8cdce 100644 --- a/src/index.json +++ b/src/index.json @@ -8748,54 +8748,6 @@ "sha256Digest": "71041808b27cd9d33fd905c5080c97f61291816f2dddd6dcdb2e66b9fb6ebf59" } ], - "dev-spaces-preview": [ - { - "downloadUrl": "https://azuredevspacestools.blob.core.windows.net/azdssetup/LKS/dev_spaces_preview-0.1.6-py2.py3-none-any.whl", - "filename": "dev_spaces_preview-0.1.6-py2.py3-none-any.whl", - "metadata": { - "azext.isPreview": true, - "azext.maxCliCoreVersion": "2.0.62", - "azext.minCliCoreVersion": "2.0.32", - "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": "azds-azcli@microsoft.com", - "name": "Microsoft Corporation", - "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": "dev-spaces-preview", - "summary": "Dev Spaces provides a rapid, iterative Kubernetes development experience for teams.", - "version": "0.1.6" - }, - "sha256Digest": "16661d66a3b4a04d429d456ba8a8d0b3b6ceb7b32691ff3a1dcc4144c005c798" - } - ], "dms-preview": [ { "downloadUrl": "https://azcliorcas.blob.core.windows.net/azclipath/dms_preview-0.11.0-py2.py3-none-any.whl", @@ -18160,4 +18112,4 @@ ] }, "formatVersion": "1" -} \ No newline at end of file +} From 394d08de683f9c3ab6c6cf4544dc78b5e165deec Mon Sep 17 00:00:00 2001 From: "Kerwin(Kaihui) Sun" Date: Wed, 19 May 2021 17:52:44 +0800 Subject: [PATCH 18/83] [DataBox] Migrate to track2 (#3347) --- src/databox/HISTORY.rst | 5 + src/databox/azext_databox/custom.py | 8 +- .../tests/latest/recordings/test_databox.yaml | 1588 ++++++++----- .../tests/latest/test_databox_scenario.py | 10 +- .../vendored_sdks/databox/__init__.py | 19 +- .../vendored_sdks/databox/_configuration.py | 66 +- .../databox/_data_box_management_client.py | 188 +- .../databox/{version.py => _version.py} | 9 +- .../vendored_sdks/databox/aio/__init__.py | 10 + .../databox/aio/_configuration.py | 64 + .../aio/_data_box_management_client.py | 175 ++ .../vendored_sdks/databox/models.py | 7 + .../_data_box_management_client_enums.py | 147 -- .../databox/models/_paged_models.py | 66 - .../databox/operations/_jobs_operations.py | 758 ------ .../databox/operations/_operations.py | 102 - .../databox/operations/_service_operations.py | 469 ---- .../vendored_sdks/databox/py.typed | 1 + .../databox/v2019_09_01/__init__.py | 19 + .../databox/v2019_09_01/_configuration.py | 71 + .../_data_box_management_client.py | 80 + .../databox/v2019_09_01/_metadata.json | 63 + .../databox/v2019_09_01/_version.py | 9 + .../databox/v2019_09_01/aio/__init__.py | 10 + .../databox/v2019_09_01/aio/_configuration.py | 67 + .../aio/_data_box_management_client.py | 74 + .../aio}/operations/__init__.py | 7 +- .../aio/operations/_jobs_operations.py | 835 +++++++ .../v2019_09_01/aio/operations/_operations.py | 104 + .../aio/operations/_service_operations.py | 462 ++++ .../{ => v2019_09_01}/models/__init__.py | 234 +- .../_data_box_management_client_enums.py | 192 ++ .../{ => v2019_09_01}/models/_models.py | 1962 +++++++++------- .../{ => v2019_09_01}/models/_models_py3.py | 2067 ++++++++++------- .../v2019_09_01/operations/__init__.py | 17 + .../operations/_jobs_operations.py | 851 +++++++ .../v2019_09_01/operations/_operations.py | 109 + .../operations/_service_operations.py | 472 ++++ .../databox/v2019_09_01/py.typed | 1 + src/databox/setup.py | 2 +- 40 files changed, 7432 insertions(+), 3968 deletions(-) rename src/databox/azext_databox/vendored_sdks/databox/{version.py => _version.py} (84%) create mode 100644 src/databox/azext_databox/vendored_sdks/databox/aio/__init__.py create mode 100644 src/databox/azext_databox/vendored_sdks/databox/aio/_configuration.py create mode 100644 src/databox/azext_databox/vendored_sdks/databox/aio/_data_box_management_client.py create mode 100644 src/databox/azext_databox/vendored_sdks/databox/models.py delete mode 100644 src/databox/azext_databox/vendored_sdks/databox/models/_data_box_management_client_enums.py delete mode 100644 src/databox/azext_databox/vendored_sdks/databox/models/_paged_models.py delete mode 100644 src/databox/azext_databox/vendored_sdks/databox/operations/_jobs_operations.py delete mode 100644 src/databox/azext_databox/vendored_sdks/databox/operations/_operations.py delete mode 100644 src/databox/azext_databox/vendored_sdks/databox/operations/_service_operations.py create mode 100644 src/databox/azext_databox/vendored_sdks/databox/py.typed create mode 100644 src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/__init__.py create mode 100644 src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/_configuration.py create mode 100644 src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/_data_box_management_client.py create mode 100644 src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/_metadata.json create mode 100644 src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/_version.py create mode 100644 src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/aio/__init__.py create mode 100644 src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/aio/_configuration.py create mode 100644 src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/aio/_data_box_management_client.py rename src/databox/azext_databox/vendored_sdks/databox/{ => v2019_09_01/aio}/operations/__init__.py (91%) create mode 100644 src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/aio/operations/_jobs_operations.py create mode 100644 src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/aio/operations/_operations.py create mode 100644 src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/aio/operations/_service_operations.py rename src/databox/azext_databox/vendored_sdks/databox/{ => v2019_09_01}/models/__init__.py (59%) create mode 100644 src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/models/_data_box_management_client_enums.py rename src/databox/azext_databox/vendored_sdks/databox/{ => v2019_09_01}/models/_models.py (67%) rename src/databox/azext_databox/vendored_sdks/databox/{ => v2019_09_01}/models/_models_py3.py (66%) create mode 100644 src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/operations/__init__.py create mode 100644 src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/operations/_jobs_operations.py create mode 100644 src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/operations/_operations.py create mode 100644 src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/operations/_service_operations.py create mode 100644 src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/py.typed diff --git a/src/databox/HISTORY.rst b/src/databox/HISTORY.rst index 7eec834fab6..c3e5d4838ef 100644 --- a/src/databox/HISTORY.rst +++ b/src/databox/HISTORY.rst @@ -2,6 +2,11 @@ Release History =============== + +0.1.2 +++++++ +* Migrate to track2 SDK + 0.1.1 ++++++ * GA databox module. diff --git a/src/databox/azext_databox/custom.py b/src/databox/azext_databox/custom.py index 37ccab20460..6c84c133626 100644 --- a/src/databox/azext_databox/custom.py +++ b/src/databox/azext_databox/custom.py @@ -51,7 +51,7 @@ def create_databox_job(client, body.setdefault('details', {})['destination_account_details'] = destination_account_details - return client.create(resource_group_name=resource_group_name, job_name=job_name, job_resource=body) + return client.begin_create(resource_group_name=resource_group_name, job_name=job_name, job_resource=body) def update_databox_job(client, @@ -100,13 +100,13 @@ def update_databox_job(client, body.setdefault('details', {}).setdefault('shipping_address', {})[ 'company_name'] = shipping_address.company_name if company_name is None else company_name # str - return client.update(resource_group_name=resource_group_name, job_name=job_name, job_resource_update_parameter=body) + return client.begin_update(resource_group_name=resource_group_name, job_name=job_name, job_resource_update_parameter=body) def delete_databox_job(client, resource_group_name, job_name): - return client.delete(resource_group_name=resource_group_name, job_name=job_name) + return client.begin_delete(resource_group_name=resource_group_name, job_name=job_name) def get_databox_job(client, @@ -126,7 +126,7 @@ def cancel_databox_job(client, resource_group_name, job_name, reason): - return client.cancel(resource_group_name=resource_group_name, job_name=job_name, reason=reason) + return client.cancel(resource_group_name=resource_group_name, job_name=job_name, cancellation_reason={'reason': reason}) def list_credentials_databox_job(client, diff --git a/src/databox/azext_databox/tests/latest/recordings/test_databox.yaml b/src/databox/azext_databox/tests/latest/recordings/test_databox.yaml index a4828f5cac3..3c4012f1999 100644 --- a/src/databox/azext_databox/tests/latest/recordings/test_databox.yaml +++ b/src/databox/azext_databox/tests/latest/recordings/test_databox.yaml @@ -1,7 +1,7 @@ interactions: - request: - body: 'b''b\''b\\\''{"location": "westus", "sku": {"name": "DataBox"}, "properties": - {"details": {"contactDetails": {"contactName": "Public SDK Test", "phone": "14258828080", + body: '{"location": "westus", "sku": {"name": "DataBox"}, "properties": {"details": + {"contactDetails": {"contactName": "Public SDK Test", "phone": "14258828080", "emailList": ["testing@microsoft.com"]}, "shippingAddress": {"streetAddress1": "1 MICROSOFT WAY", "city": "Redmond", "stateOrProvince": "WA", "country": "US", "postalCode": "98052", "companyName": "Microsoft"}, "destinationAccountDetails": @@ -9,7 +9,7 @@ interactions: {"dataDestinationType": "StorageAccount", "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000003"}, {"dataDestinationType": "ManagedDisk", "resourceGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-for-managed-disk", "stagingStorageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000002"}], - "jobDetailsType": "DataBox"}}}\\\''\''''' + "jobDetailsType": "DataBox"}}}' headers: Accept: - application/json @@ -22,16 +22,13 @@ interactions: Content-Length: - '1374' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - --resource-group --name --location --sku --contact-name --phone --email-list --street-address1 --city --state-or-province --country --postal-code --company-name --storage-account --staging-storage-account --resource-group-for-managed-disk User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004?api-version=2019-09-01 response: @@ -43,21 +40,21 @@ interactions: content-length: - '0' date: - - Fri, 06 Mar 2020 14:34:22 GMT + - Fri, 07 May 2021 06:49:46 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/769f0db1-ff52-47b3-ba84-b0da28cbac04?api-version=2018-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/b5ccfe1c-c8fc-45fd-8304-da898e07d61f?api-version=2019-09-01 pragma: - no-cache + server: + - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - '1199' - x-powered-by: - - ASP.NET status: code: 202 message: Accepted @@ -65,7 +62,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -77,10 +74,9 @@ interactions: --street-address1 --city --state-or-province --country --postal-code --company-name --storage-account --staging-storage-account --resource-group-for-managed-disk User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/769f0db1-ff52-47b3-ba84-b0da28cbac04?api-version=2018-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/b5ccfe1c-c8fc-45fd-8304-da898e07d61f?api-version=2019-09-01 response: body: string: '' @@ -90,19 +86,19 @@ interactions: content-length: - '0' date: - - Fri, 06 Mar 2020 14:34:48 GMT + - Fri, 07 May 2021 06:49:56 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004?api-version=2018-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004?api-version=2019-09-01 pragma: - no-cache + server: + - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff - x-powered-by: - - ASP.NET status: code: 202 message: Accepted @@ -110,7 +106,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -122,17 +118,42 @@ interactions: --street-address1 --city --state-or-province --country --postal-code --company-name --storage-account --staging-storage-account --resource-group-for-managed-disk User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004?api-version=2018-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004?api-version=2019-09-01 response: body: string: "{\r\n \"properties\": {\r\n \"isCancellable\": true,\r\n \"isDeletable\": - false,\r\n \"isShippingAddressEditable\": true,\r\n \"isPrepareToShipEnabled\": - false,\r\n \"status\": \"DeviceOrdered\",\r\n \"startTime\": \"2020-03-06T14:34:22.569476+00:00\",\r\n - \ \"deliveryType\": \"NonScheduled\",\r\n \"deliveryInfo\": {\r\n \"scheduledDateTime\": - \"0001-01-01T00:00:00+00:00\"\r\n },\r\n \"isCancellableWithoutFee\": + false,\r\n \"isShippingAddressEditable\": true,\r\n \"status\": \"DeviceOrdered\",\r\n + \ \"startTime\": \"2021-05-07T06:49:46.4515191+00:00\",\r\n \"details\": + {\r\n \"contactDetails\": {\r\n \"contactName\": \"Public SDK + Test\",\r\n \"phone\": \"14258828080\",\r\n \"emailList\": [\r\n + \ \"testing@microsoft.com\"\r\n ],\r\n \"notificationPreference\": + [\r\n {\r\n \"stageName\": \"DevicePrepared\",\r\n \"sendNotification\": + true\r\n },\r\n {\r\n \"stageName\": \"Dispatched\",\r\n + \ \"sendNotification\": true\r\n },\r\n {\r\n + \ \"stageName\": \"Delivered\",\r\n \"sendNotification\": + true\r\n },\r\n {\r\n \"stageName\": \"PickedUp\",\r\n + \ \"sendNotification\": true\r\n },\r\n {\r\n + \ \"stageName\": \"AtAzureDC\",\r\n \"sendNotification\": + true\r\n },\r\n {\r\n \"stageName\": \"DataCopy\",\r\n + \ \"sendNotification\": true\r\n }\r\n ]\r\n },\r\n + \ \"shippingAddress\": {\r\n \"streetAddress1\": \"1 MICROSOFT + WAY\",\r\n \"city\": \"Redmond\",\r\n \"stateOrProvince\": \"WA\",\r\n + \ \"country\": \"US\",\r\n \"postalCode\": \"98052\",\r\n \"companyName\": + \"Microsoft\",\r\n \"addressType\": \"None\"\r\n },\r\n \"destinationAccountDetails\": + [\r\n {\r\n \"storageAccountId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000002\",\r\n + \ \"dataDestinationType\": \"StorageAccount\",\r\n \"accountId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000002\"\r\n + \ },\r\n {\r\n \"storageAccountId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000003\",\r\n + \ \"dataDestinationType\": \"StorageAccount\",\r\n \"accountId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000003\"\r\n + \ },\r\n {\r\n \"resourceGroupId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-for-managed-disk\",\r\n + \ \"stagingStorageAccountId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000002\",\r\n + \ \"dataDestinationType\": \"ManagedDisk\",\r\n \"accountId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-for-managed-disk\"\r\n + \ }\r\n ],\r\n \"jobDetailsType\": \"DataBox\",\r\n \"preferences\": + {}\r\n },\r\n \"deliveryType\": \"NonScheduled\",\r\n \"isCancellableWithoutFee\": true\r\n },\r\n \"location\": \"westus\",\r\n \"tags\": {},\r\n \"sku\": {\r\n \"name\": \"DataBox\"\r\n },\r\n \"name\": \"job000004\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004\",\r\n @@ -141,15 +162,17 @@ interactions: cache-control: - no-cache content-length: - - '778' + - '3595' content-type: - application/json; charset=utf-8 date: - - Fri, 06 Mar 2020 14:34:59 GMT + - Fri, 07 May 2021 06:50:07 GMT expires: - '-1' pragma: - no-cache + server: + - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: @@ -158,8 +181,6 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff - x-powered-by: - - ASP.NET status: code: 200 message: OK @@ -177,21 +198,18 @@ interactions: ParameterSetName: - --resource-group --name --contact-name --email-list User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004?api-version=2019-09-01&$expand=details response: body: string: "{\r\n \"properties\": {\r\n \"isCancellable\": true,\r\n \"isDeletable\": - false,\r\n \"isShippingAddressEditable\": true,\r\n \"isPrepareToShipEnabled\": - false,\r\n \"status\": \"DeviceOrdered\",\r\n \"startTime\": \"2020-03-06T14:34:22.569476+00:00\",\r\n - \ \"details\": {\r\n \"copyProgress\": [],\r\n \"jobStages\": - [\r\n {\r\n \"stageName\": \"DeviceOrdered\",\r\n \"displayName\": + false,\r\n \"isShippingAddressEditable\": true,\r\n \"status\": \"DeviceOrdered\",\r\n + \ \"startTime\": \"2021-05-07T06:49:46.4515191+00:00\",\r\n \"details\": + {\r\n \"copyProgress\": [],\r\n \"jobStages\": [\r\n {\r\n + \ \"stageName\": \"DeviceOrdered\",\r\n \"displayName\": \"Ordered\",\r\n \"stageStatus\": \"Succeeded\",\r\n \"stageTime\": - \"2020-03-06T14:34:26.6154788+00:00\"\r\n },\r\n {\r\n \"stageName\": + \"2021-05-07T06:49:51.7645955+00:00\"\r\n },\r\n {\r\n \"stageName\": \"DevicePrepared\",\r\n \"displayName\": \"Processed\",\r\n \"stageStatus\": \"None\"\r\n },\r\n {\r\n \"stageName\": \"Dispatched\",\r\n \ \"displayName\": \"Dispatched\",\r\n \"stageStatus\": \"None\"\r\n @@ -220,11 +238,11 @@ interactions: WAY\",\r\n \"city\": \"Redmond\",\r\n \"stateOrProvince\": \"WA\",\r\n \ \"country\": \"US\",\r\n \"postalCode\": \"98052\",\r\n \"companyName\": \"Microsoft\",\r\n \"addressType\": \"None\"\r\n },\r\n \"deliveryPackage\": - {\r\n \"carrierName\": \"\",\r\n \"trackingId\": \"\",\r\n \"trackingUrl\": - \"\"\r\n },\r\n \"returnPackage\": {\r\n \"carrierName\": - \"\",\r\n \"trackingId\": \"\",\r\n \"trackingUrl\": \"\"\r\n - \ },\r\n \"destinationAccountDetails\": [\r\n {\r\n \"storageAccountId\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000002\",\r\n + {\r\n \"trackingUrl\": \"\",\r\n \"carrierName\": \"\",\r\n + \ \"trackingId\": \"\"\r\n },\r\n \"returnPackage\": {\r\n + \ \"trackingUrl\": \"\",\r\n \"carrierName\": \"\",\r\n \"trackingId\": + \"\"\r\n },\r\n \"destinationAccountDetails\": [\r\n {\r\n + \ \"storageAccountId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000002\",\r\n \ \"dataDestinationType\": \"StorageAccount\",\r\n \"accountId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000002\"\r\n \ },\r\n {\r\n \"storageAccountId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000003\",\r\n @@ -234,10 +252,10 @@ interactions: \ \"stagingStorageAccountId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000002\",\r\n \ \"dataDestinationType\": \"ManagedDisk\",\r\n \"accountId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-for-managed-disk\"\r\n - \ }\r\n ],\r\n \"errorDetails\": [],\r\n \"jobDetailsType\": - \"DataBox\",\r\n \"copyLogDetails\": []\r\n },\r\n \"deliveryType\": - \"NonScheduled\",\r\n \"deliveryInfo\": {\r\n \"scheduledDateTime\": - \"0001-01-01T00:00:00+00:00\"\r\n },\r\n \"isCancellableWithoutFee\": + \ }\r\n ],\r\n \"jobDetailsType\": \"DataBox\",\r\n \"preferences\": + {},\r\n \"copyLogDetails\": [],\r\n \"reverseShipmentLabelSasKey\": + \"FakeKey\"\r\n + \ },\r\n \"deliveryType\": \"NonScheduled\",\r\n \"isCancellableWithoutFee\": true\r\n },\r\n \"location\": \"westus\",\r\n \"tags\": {},\r\n \"sku\": {\r\n \"name\": \"DataBox\"\r\n },\r\n \"name\": \"job000004\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004\",\r\n @@ -246,15 +264,17 @@ interactions: cache-control: - no-cache content-length: - - '5185' + - '5374' content-type: - application/json; charset=utf-8 date: - - Fri, 06 Mar 2020 14:35:08 GMT + - Fri, 07 May 2021 06:50:09 GMT expires: - '-1' pragma: - no-cache + server: + - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: @@ -263,8 +283,6 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff - x-powered-by: - - ASP.NET status: code: 200 message: OK @@ -285,14 +303,11 @@ interactions: Content-Length: - '320' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - --resource-group --name --contact-name --email-list User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: PATCH uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004?api-version=2019-09-01 response: @@ -304,21 +319,21 @@ interactions: content-length: - '0' date: - - Fri, 06 Mar 2020 14:35:09 GMT + - Fri, 07 May 2021 06:50:10 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/6dc78456-b33e-4adc-87a6-14ad101154bc?api-version=2018-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/b260bec2-d619-4d10-aac2-a48fbcf318c4?api-version=2019-09-01 pragma: - no-cache + server: + - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' - x-powered-by: - - ASP.NET + - '1198' status: code: 202 message: Accepted @@ -326,7 +341,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -336,10 +351,9 @@ interactions: ParameterSetName: - --resource-group --name --contact-name --email-list User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/6dc78456-b33e-4adc-87a6-14ad101154bc?api-version=2018-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/b260bec2-d619-4d10-aac2-a48fbcf318c4?api-version=2019-09-01 response: body: string: '' @@ -349,19 +363,19 @@ interactions: content-length: - '0' date: - - Fri, 06 Mar 2020 14:35:23 GMT + - Fri, 07 May 2021 06:50:21 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004?api-version=2018-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004?api-version=2019-09-01 pragma: - no-cache + server: + - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff - x-powered-by: - - ASP.NET status: code: 202 message: Accepted @@ -369,7 +383,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -379,17 +393,42 @@ interactions: ParameterSetName: - --resource-group --name --contact-name --email-list User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004?api-version=2018-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004?api-version=2019-09-01 response: body: string: "{\r\n \"properties\": {\r\n \"isCancellable\": true,\r\n \"isDeletable\": - false,\r\n \"isShippingAddressEditable\": true,\r\n \"isPrepareToShipEnabled\": - false,\r\n \"status\": \"DeviceOrdered\",\r\n \"startTime\": \"2020-03-06T14:34:22.569476+00:00\",\r\n - \ \"deliveryType\": \"NonScheduled\",\r\n \"deliveryInfo\": {\r\n \"scheduledDateTime\": - \"0001-01-01T00:00:00+00:00\"\r\n },\r\n \"isCancellableWithoutFee\": + false,\r\n \"isShippingAddressEditable\": true,\r\n \"status\": \"DeviceOrdered\",\r\n + \ \"startTime\": \"2021-05-07T06:49:46.4515191+00:00\",\r\n \"details\": + {\r\n \"contactDetails\": {\r\n \"contactName\": \"Public SDK + Test 1\",\r\n \"phone\": \"14258828080\",\r\n \"emailList\": + [\r\n \"testing1@microsoft.com\"\r\n ],\r\n \"notificationPreference\": + [\r\n {\r\n \"stageName\": \"DevicePrepared\",\r\n \"sendNotification\": + true\r\n },\r\n {\r\n \"stageName\": \"Dispatched\",\r\n + \ \"sendNotification\": true\r\n },\r\n {\r\n + \ \"stageName\": \"Delivered\",\r\n \"sendNotification\": + true\r\n },\r\n {\r\n \"stageName\": \"PickedUp\",\r\n + \ \"sendNotification\": true\r\n },\r\n {\r\n + \ \"stageName\": \"AtAzureDC\",\r\n \"sendNotification\": + true\r\n },\r\n {\r\n \"stageName\": \"DataCopy\",\r\n + \ \"sendNotification\": true\r\n }\r\n ]\r\n },\r\n + \ \"shippingAddress\": {\r\n \"streetAddress1\": \"1 MICROSOFT + WAY\",\r\n \"city\": \"Redmond\",\r\n \"stateOrProvince\": \"WA\",\r\n + \ \"country\": \"US\",\r\n \"postalCode\": \"98052\",\r\n \"companyName\": + \"Microsoft\",\r\n \"addressType\": \"None\"\r\n },\r\n \"destinationAccountDetails\": + [\r\n {\r\n \"storageAccountId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000002\",\r\n + \ \"dataDestinationType\": \"StorageAccount\",\r\n \"accountId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000002\"\r\n + \ },\r\n {\r\n \"storageAccountId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000003\",\r\n + \ \"dataDestinationType\": \"StorageAccount\",\r\n \"accountId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000003\"\r\n + \ },\r\n {\r\n \"resourceGroupId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-for-managed-disk\",\r\n + \ \"stagingStorageAccountId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000002\",\r\n + \ \"dataDestinationType\": \"ManagedDisk\",\r\n \"accountId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-for-managed-disk\"\r\n + \ }\r\n ],\r\n \"jobDetailsType\": \"DataBox\",\r\n \"preferences\": + {}\r\n },\r\n \"deliveryType\": \"NonScheduled\",\r\n \"isCancellableWithoutFee\": true\r\n },\r\n \"location\": \"westus\",\r\n \"tags\": {},\r\n \"sku\": {\r\n \"name\": \"DataBox\"\r\n },\r\n \"name\": \"job000004\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004\",\r\n @@ -398,15 +437,17 @@ interactions: cache-control: - no-cache content-length: - - '778' + - '3598' content-type: - application/json; charset=utf-8 date: - - Fri, 06 Mar 2020 14:35:33 GMT + - Fri, 07 May 2021 06:50:31 GMT expires: - '-1' pragma: - no-cache + server: + - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: @@ -415,8 +456,6 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff - x-powered-by: - - ASP.NET status: code: 200 message: OK @@ -434,21 +473,18 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004?api-version=2019-09-01&$expand=details response: body: string: "{\r\n \"properties\": {\r\n \"isCancellable\": true,\r\n \"isDeletable\": - false,\r\n \"isShippingAddressEditable\": true,\r\n \"isPrepareToShipEnabled\": - false,\r\n \"status\": \"DeviceOrdered\",\r\n \"startTime\": \"2020-03-06T14:34:22.569476+00:00\",\r\n - \ \"details\": {\r\n \"copyProgress\": [],\r\n \"jobStages\": - [\r\n {\r\n \"stageName\": \"DeviceOrdered\",\r\n \"displayName\": + false,\r\n \"isShippingAddressEditable\": true,\r\n \"status\": \"DeviceOrdered\",\r\n + \ \"startTime\": \"2021-05-07T06:49:46.4515191+00:00\",\r\n \"details\": + {\r\n \"copyProgress\": [],\r\n \"jobStages\": [\r\n {\r\n + \ \"stageName\": \"DeviceOrdered\",\r\n \"displayName\": \"Ordered\",\r\n \"stageStatus\": \"Succeeded\",\r\n \"stageTime\": - \"2020-03-06T14:34:26.6154788+00:00\"\r\n },\r\n {\r\n \"stageName\": + \"2021-05-07T06:49:51.7645955+00:00\"\r\n },\r\n {\r\n \"stageName\": \"DevicePrepared\",\r\n \"displayName\": \"Processed\",\r\n \"stageStatus\": \"None\"\r\n },\r\n {\r\n \"stageName\": \"Dispatched\",\r\n \ \"displayName\": \"Dispatched\",\r\n \"stageStatus\": \"None\"\r\n @@ -477,11 +513,11 @@ interactions: WAY\",\r\n \"city\": \"Redmond\",\r\n \"stateOrProvince\": \"WA\",\r\n \ \"country\": \"US\",\r\n \"postalCode\": \"98052\",\r\n \"companyName\": \"Microsoft\",\r\n \"addressType\": \"None\"\r\n },\r\n \"deliveryPackage\": - {\r\n \"carrierName\": \"\",\r\n \"trackingId\": \"\",\r\n \"trackingUrl\": - \"\"\r\n },\r\n \"returnPackage\": {\r\n \"carrierName\": - \"\",\r\n \"trackingId\": \"\",\r\n \"trackingUrl\": \"\"\r\n - \ },\r\n \"destinationAccountDetails\": [\r\n {\r\n \"storageAccountId\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000002\",\r\n + {\r\n \"trackingUrl\": \"\",\r\n \"carrierName\": \"\",\r\n + \ \"trackingId\": \"\"\r\n },\r\n \"returnPackage\": {\r\n + \ \"trackingUrl\": \"\",\r\n \"carrierName\": \"\",\r\n \"trackingId\": + \"\"\r\n },\r\n \"destinationAccountDetails\": [\r\n {\r\n + \ \"storageAccountId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000002\",\r\n \ \"dataDestinationType\": \"StorageAccount\",\r\n \"accountId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000002\"\r\n \ },\r\n {\r\n \"storageAccountId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000003\",\r\n @@ -491,10 +527,10 @@ interactions: \ \"stagingStorageAccountId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000002\",\r\n \ \"dataDestinationType\": \"ManagedDisk\",\r\n \"accountId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-for-managed-disk\"\r\n - \ }\r\n ],\r\n \"errorDetails\": [],\r\n \"jobDetailsType\": - \"DataBox\",\r\n \"copyLogDetails\": []\r\n },\r\n \"deliveryType\": - \"NonScheduled\",\r\n \"deliveryInfo\": {\r\n \"scheduledDateTime\": - \"0001-01-01T00:00:00+00:00\"\r\n },\r\n \"isCancellableWithoutFee\": + \ }\r\n ],\r\n \"jobDetailsType\": \"DataBox\",\r\n \"preferences\": + {},\r\n \"copyLogDetails\": [],\r\n \"reverseShipmentLabelSasKey\": + \"FakeKey\"\r\n + \ },\r\n \"deliveryType\": \"NonScheduled\",\r\n \"isCancellableWithoutFee\": true\r\n },\r\n \"location\": \"westus\",\r\n \"tags\": {},\r\n \"sku\": {\r\n \"name\": \"DataBox\"\r\n },\r\n \"name\": \"job000004\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004\",\r\n @@ -503,15 +539,17 @@ interactions: cache-control: - no-cache content-length: - - '5188' + - '5375' content-type: - application/json; charset=utf-8 date: - - Fri, 06 Mar 2020 14:35:36 GMT + - Fri, 07 May 2021 06:50:34 GMT expires: - '-1' pragma: - no-cache + server: + - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: @@ -520,8 +558,6 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff - x-powered-by: - - ASP.NET status: code: 200 message: OK @@ -539,38 +575,82 @@ interactions: ParameterSetName: - --resource-group User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs?api-version=2019-09-01 response: body: string: "{\r\n \"value\": [\r\n {\r\n \"properties\": {\r\n \"isCancellable\": true,\r\n \"isDeletable\": false,\r\n \"isShippingAddressEditable\": - true,\r\n \"isPrepareToShipEnabled\": false,\r\n \"status\": - \"DeviceOrdered\",\r\n \"startTime\": \"2020-03-06T14:34:22.569476+00:00\",\r\n - \ \"deliveryType\": \"NonScheduled\",\r\n \"deliveryInfo\": {\r\n - \ \"scheduledDateTime\": \"0001-01-01T00:00:00+00:00\"\r\n },\r\n - \ \"isCancellableWithoutFee\": true\r\n },\r\n \"location\": - \"westus\",\r\n \"tags\": {},\r\n \"sku\": {\r\n \"name\": - \"DataBox\"\r\n },\r\n \"name\": \"job000004\",\r\n \"id\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004\",\r\n + true,\r\n \"status\": \"DeviceOrdered\",\r\n \"startTime\": + \"2021-05-07T06:49:46.4515191+00:00\",\r\n \"details\": {\r\n \"copyProgress\": + [],\r\n \"jobStages\": [\r\n {\r\n \"stageName\": + \"DeviceOrdered\",\r\n \"stageStatus\": \"Succeeded\",\r\n \"stageTime\": + \"2021-05-07T06:49:51.7645955+00:00\"\r\n },\r\n {\r\n + \ \"stageName\": \"DevicePrepared\",\r\n \"stageStatus\": + \"None\"\r\n },\r\n {\r\n \"stageName\": + \"Dispatched\",\r\n \"stageStatus\": \"None\"\r\n },\r\n + \ {\r\n \"stageName\": \"Delivered\",\r\n \"stageStatus\": + \"None\"\r\n },\r\n {\r\n \"stageName\": + \"PickedUp\",\r\n \"stageStatus\": \"None\"\r\n },\r\n + \ {\r\n \"stageName\": \"AtAzureDC\",\r\n \"stageStatus\": + \"None\"\r\n },\r\n {\r\n \"stageName\": + \"DataCopy\",\r\n \"stageStatus\": \"None\"\r\n },\r\n + \ {\r\n \"stageName\": \"Completed\",\r\n \"stageStatus\": + \"None\"\r\n }\r\n ],\r\n \"contactDetails\": + {\r\n \"contactName\": \"Public SDK Test 1\",\r\n \"phone\": + \"14258828080\",\r\n \"emailList\": [\r\n \"testing1@microsoft.com\"\r\n + \ ],\r\n \"notificationPreference\": [\r\n {\r\n + \ \"stageName\": \"DevicePrepared\",\r\n \"sendNotification\": + true\r\n },\r\n {\r\n \"stageName\": + \"Dispatched\",\r\n \"sendNotification\": true\r\n },\r\n + \ {\r\n \"stageName\": \"Delivered\",\r\n \"sendNotification\": + true\r\n },\r\n {\r\n \"stageName\": + \"PickedUp\",\r\n \"sendNotification\": true\r\n },\r\n + \ {\r\n \"stageName\": \"AtAzureDC\",\r\n \"sendNotification\": + true\r\n },\r\n {\r\n \"stageName\": + \"DataCopy\",\r\n \"sendNotification\": true\r\n }\r\n + \ ]\r\n },\r\n \"shippingAddress\": {\r\n \"streetAddress1\": + \"1 MICROSOFT WAY\",\r\n \"city\": \"Redmond\",\r\n \"stateOrProvince\": + \"WA\",\r\n \"country\": \"US\",\r\n \"postalCode\": + \"98052\",\r\n \"companyName\": \"Microsoft\",\r\n \"addressType\": + \"None\"\r\n },\r\n \"deliveryPackage\": {\r\n \"trackingUrl\": + \"\",\r\n \"carrierName\": \"\",\r\n \"trackingId\": + \"\"\r\n },\r\n \"returnPackage\": {\r\n \"trackingUrl\": + \"\",\r\n \"carrierName\": \"\",\r\n \"trackingId\": + \"\"\r\n },\r\n \"destinationAccountDetails\": [\r\n {\r\n + \ \"storageAccountId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000002\",\r\n + \ \"dataDestinationType\": \"StorageAccount\",\r\n \"accountId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000002\"\r\n + \ },\r\n {\r\n \"storageAccountId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000003\",\r\n + \ \"dataDestinationType\": \"StorageAccount\",\r\n \"accountId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000003\"\r\n + \ },\r\n {\r\n \"resourceGroupId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-for-managed-disk\",\r\n + \ \"stagingStorageAccountId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000002\",\r\n + \ \"dataDestinationType\": \"ManagedDisk\",\r\n \"accountId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-for-managed-disk\"\r\n + \ }\r\n ],\r\n \"jobDetailsType\": \"DataBox\",\r\n + \ \"preferences\": {},\r\n \"copyLogDetails\": []\r\n },\r\n + \ \"deliveryType\": \"NonScheduled\",\r\n \"isCancellableWithoutFee\": + true\r\n },\r\n \"location\": \"westus\",\r\n \"tags\": {},\r\n + \ \"sku\": {\r\n \"name\": \"DataBox\"\r\n },\r\n \"name\": + \"job000004\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004\",\r\n \ \"type\": \"Microsoft.DataBox/jobs\"\r\n }\r\n ]\r\n}" headers: cache-control: - no-cache content-length: - - '895' + - '5286' content-type: - application/json; charset=utf-8 date: - - Fri, 06 Mar 2020 14:35:39 GMT + - Fri, 07 May 2021 06:50:36 GMT expires: - '-1' pragma: - no-cache + server: + - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: @@ -579,8 +659,6 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff - x-powered-by: - - ASP.NET status: code: 200 message: OK @@ -598,14 +676,11 @@ interactions: Content-Length: - '24' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - --resource-group --name --reason -y User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: POST uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004/cancel?api-version=2019-09-01 response: @@ -615,19 +690,19 @@ interactions: cache-control: - no-cache date: - - Fri, 06 Mar 2020 14:35:42 GMT + - Fri, 07 May 2021 06:50:39 GMT expires: - '-1' pragma: - no-cache + server: + - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - '1199' - x-powered-by: - - ASP.NET status: code: 204 message: No Content @@ -645,18 +720,15 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004?api-version=2019-09-01&$expand=details response: body: string: "{\r\n \"properties\": {\r\n \"isCancellable\": false,\r\n \"isDeletable\": - true,\r\n \"isShippingAddressEditable\": false,\r\n \"isPrepareToShipEnabled\": - false,\r\n \"status\": \"Cancelled\",\r\n \"startTime\": \"2020-03-06T14:34:22.569476+00:00\",\r\n - \ \"details\": {\r\n \"copyProgress\": [\r\n {\r\n \"storageAccountName\": + true,\r\n \"isShippingAddressEditable\": false,\r\n \"status\": \"Cancelled\",\r\n + \ \"startTime\": \"2021-05-07T06:49:46.4515191+00:00\",\r\n \"details\": + {\r\n \"copyProgress\": [\r\n {\r\n \"storageAccountName\": \"clitest000002\",\r\n \"dataDestinationType\": \"StorageAccount\",\r\n \ \"accountId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000002\",\r\n \ \"bytesSentToCloud\": 0,\r\n \"totalBytesToProcess\": 0\r\n @@ -669,10 +741,10 @@ interactions: \ \"bytesSentToCloud\": 0,\r\n \"totalBytesToProcess\": 0\r\n \ }\r\n ],\r\n \"jobStages\": [\r\n {\r\n \"stageName\": \"DeviceOrdered\",\r\n \"displayName\": \"Ordered\",\r\n \"stageStatus\": - \"Succeeded\",\r\n \"stageTime\": \"2020-03-06T14:34:26.6154788+00:00\"\r\n + \"Succeeded\",\r\n \"stageTime\": \"2021-05-07T06:49:51.7645955+00:00\"\r\n \ },\r\n {\r\n \"stageName\": \"Cancelled\",\r\n \"displayName\": \"Canceled\",\r\n \"stageStatus\": \"Succeeded\",\r\n \"stageTime\": - \"2020-03-06T14:35:43.0099473+00:00\"\r\n }\r\n ],\r\n \"contactDetails\": + \"2021-05-07T06:50:39.2020916+00:00\"\r\n }\r\n ],\r\n \"contactDetails\": {\r\n \"contactName\": \"Public SDK Test 1\",\r\n \"phone\": \"14258828080\",\r\n \"emailList\": [\r\n \"testing1@microsoft.com\"\r\n \ ],\r\n \"notificationPreference\": [\r\n {\r\n \"stageName\": @@ -689,11 +761,11 @@ interactions: \"Redmond\",\r\n \"stateOrProvince\": \"WA\",\r\n \"country\": \"US\",\r\n \"postalCode\": \"98052\",\r\n \"companyName\": \"Microsoft\",\r\n \"addressType\": \"None\"\r\n },\r\n \"deliveryPackage\": - {\r\n \"carrierName\": \"\",\r\n \"trackingId\": \"\",\r\n \"trackingUrl\": - \"\"\r\n },\r\n \"returnPackage\": {\r\n \"carrierName\": - \"\",\r\n \"trackingId\": \"\",\r\n \"trackingUrl\": \"\"\r\n - \ },\r\n \"destinationAccountDetails\": [\r\n {\r\n \"storageAccountId\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000002\",\r\n + {\r\n \"trackingUrl\": \"\",\r\n \"carrierName\": \"\",\r\n + \ \"trackingId\": \"\"\r\n },\r\n \"returnPackage\": {\r\n + \ \"trackingUrl\": \"\",\r\n \"carrierName\": \"\",\r\n \"trackingId\": + \"\"\r\n },\r\n \"destinationAccountDetails\": [\r\n {\r\n + \ \"storageAccountId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000002\",\r\n \ \"dataDestinationType\": \"StorageAccount\",\r\n \"accountId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000002\"\r\n \ },\r\n {\r\n \"storageAccountId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000003\",\r\n @@ -703,27 +775,29 @@ interactions: \ \"stagingStorageAccountId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000002\",\r\n \ \"dataDestinationType\": \"ManagedDisk\",\r\n \"accountId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg-for-managed-disk\"\r\n - \ }\r\n ],\r\n \"errorDetails\": [],\r\n \"jobDetailsType\": - \"DataBox\",\r\n \"copyLogDetails\": []\r\n },\r\n \"cancellationReason\": - \"CancelTest\",\r\n \"deliveryType\": \"NonScheduled\",\r\n \"deliveryInfo\": - {\r\n \"scheduledDateTime\": \"0001-01-01T00:00:00+00:00\"\r\n },\r\n - \ \"isCancellableWithoutFee\": false\r\n },\r\n \"location\": \"westus\",\r\n - \ \"tags\": {},\r\n \"sku\": {\r\n \"name\": \"DataBox\"\r\n },\r\n \"name\": - \"job000004\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004\",\r\n + \ }\r\n ],\r\n \"jobDetailsType\": \"DataBox\",\r\n \"preferences\": + {},\r\n \"copyLogDetails\": [],\r\n \"reverseShipmentLabelSasKey\": + \"FakeKey\"\r\n + \ },\r\n \"cancellationReason\": \"CancelTest\",\r\n \"deliveryType\": + \"NonScheduled\",\r\n \"isCancellableWithoutFee\": false\r\n },\r\n \"location\": + \"westus\",\r\n \"tags\": {},\r\n \"sku\": {\r\n \"name\": \"DataBox\"\r\n + \ },\r\n \"name\": \"job000004\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004\",\r\n \ \"type\": \"Microsoft.DataBox/jobs\"\r\n}" headers: cache-control: - no-cache content-length: - - '5637' + - '5826' content-type: - application/json; charset=utf-8 date: - - Fri, 06 Mar 2020 14:35:46 GMT + - Fri, 07 May 2021 06:50:41 GMT expires: - '-1' pragma: - no-cache + server: + - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: @@ -732,8 +806,6 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff - x-powered-by: - - ASP.NET status: code: 200 message: OK @@ -741,24 +813,275 @@ interactions: body: null headers: Accept: - - application/json + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-group --name -y + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004?api-version=2019-09-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 07 May 2021 06:50:45 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/b5ccfe1c-c8fc-45fd-8304-da898e07d61f-deleteorder?api-version=2019-09-01 + pragma: + - no-cache + server: + - Kestrel + 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -y + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/b5ccfe1c-c8fc-45fd-8304-da898e07d61f-deleteorder?api-version=2019-09-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 07 May 2021 06:50:55 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/b5ccfe1c-c8fc-45fd-8304-da898e07d61f-deleteorder?api-version=2019-09-01 + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -y + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/b5ccfe1c-c8fc-45fd-8304-da898e07d61f-deleteorder?api-version=2019-09-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 07 May 2021 06:51:05 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/b5ccfe1c-c8fc-45fd-8304-da898e07d61f-deleteorder?api-version=2019-09-01 + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -y + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/b5ccfe1c-c8fc-45fd-8304-da898e07d61f-deleteorder?api-version=2019-09-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 07 May 2021 06:51:16 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/b5ccfe1c-c8fc-45fd-8304-da898e07d61f-deleteorder?api-version=2019-09-01 + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -y + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/b5ccfe1c-c8fc-45fd-8304-da898e07d61f-deleteorder?api-version=2019-09-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 07 May 2021 06:51:26 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/b5ccfe1c-c8fc-45fd-8304-da898e07d61f-deleteorder?api-version=2019-09-01 + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -y + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/b5ccfe1c-c8fc-45fd-8304-da898e07d61f-deleteorder?api-version=2019-09-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 07 May 2021 06:51:36 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/b5ccfe1c-c8fc-45fd-8304-da898e07d61f-deleteorder?api-version=2019-09-01 + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - databox job delete Connection: - keep-alive - Content-Length: - - '0' ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 - accept-language: - - en-US - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004?api-version=2019-09-01 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/b5ccfe1c-c8fc-45fd-8304-da898e07d61f-deleteorder?api-version=2019-09-01 response: body: string: '' @@ -768,21 +1091,19 @@ interactions: content-length: - '0' date: - - Fri, 06 Mar 2020 14:35:53 GMT + - Fri, 07 May 2021 06:51:47 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/769f0db1-ff52-47b3-ba84-b0da28cbac04-deleteorder?api-version=2018-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/b5ccfe1c-c8fc-45fd-8304-da898e07d61f-deleteorder?api-version=2019-09-01 pragma: - no-cache + server: + - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff - x-ms-ratelimit-remaining-subscription-deletes: - - '14998' - x-powered-by: - - ASP.NET status: code: 202 message: Accepted @@ -790,7 +1111,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -800,10 +1121,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/769f0db1-ff52-47b3-ba84-b0da28cbac04-deleteorder?api-version=2018-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/b5ccfe1c-c8fc-45fd-8304-da898e07d61f-deleteorder?api-version=2019-09-01 response: body: string: '' @@ -813,19 +1133,19 @@ interactions: content-length: - '0' date: - - Fri, 06 Mar 2020 14:36:09 GMT + - Fri, 07 May 2021 06:51:57 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/769f0db1-ff52-47b3-ba84-b0da28cbac04-deleteorder?api-version=2018-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/b5ccfe1c-c8fc-45fd-8304-da898e07d61f-deleteorder?api-version=2019-09-01 pragma: - no-cache + server: + - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff - x-powered-by: - - ASP.NET status: code: 202 message: Accepted @@ -833,7 +1153,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -843,10 +1163,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/769f0db1-ff52-47b3-ba84-b0da28cbac04-deleteorder?api-version=2018-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/b5ccfe1c-c8fc-45fd-8304-da898e07d61f-deleteorder?api-version=2019-09-01 response: body: string: '' @@ -856,19 +1175,19 @@ interactions: content-length: - '0' date: - - Fri, 06 Mar 2020 14:36:19 GMT + - Fri, 07 May 2021 06:52:07 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/769f0db1-ff52-47b3-ba84-b0da28cbac04-deleteorder?api-version=2018-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/b5ccfe1c-c8fc-45fd-8304-da898e07d61f-deleteorder?api-version=2019-09-01 pragma: - no-cache + server: + - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff - x-powered-by: - - ASP.NET status: code: 202 message: Accepted @@ -876,7 +1195,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -886,10 +1205,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/769f0db1-ff52-47b3-ba84-b0da28cbac04-deleteorder?api-version=2018-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/b5ccfe1c-c8fc-45fd-8304-da898e07d61f-deleteorder?api-version=2019-09-01 response: body: string: '' @@ -899,19 +1217,19 @@ interactions: content-length: - '0' date: - - Fri, 06 Mar 2020 14:36:30 GMT + - Fri, 07 May 2021 06:52:18 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/769f0db1-ff52-47b3-ba84-b0da28cbac04-deleteorder?api-version=2018-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/b5ccfe1c-c8fc-45fd-8304-da898e07d61f-deleteorder?api-version=2019-09-01 pragma: - no-cache + server: + - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff - x-powered-by: - - ASP.NET status: code: 202 message: Accepted @@ -919,7 +1237,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -929,10 +1247,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/769f0db1-ff52-47b3-ba84-b0da28cbac04-deleteorder?api-version=2018-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/b5ccfe1c-c8fc-45fd-8304-da898e07d61f-deleteorder?api-version=2019-09-01 response: body: string: '' @@ -942,19 +1259,19 @@ interactions: content-length: - '0' date: - - Fri, 06 Mar 2020 14:36:40 GMT + - Fri, 07 May 2021 06:52:28 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/769f0db1-ff52-47b3-ba84-b0da28cbac04-deleteorder?api-version=2018-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/b5ccfe1c-c8fc-45fd-8304-da898e07d61f-deleteorder?api-version=2019-09-01 pragma: - no-cache + server: + - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff - x-powered-by: - - ASP.NET status: code: 202 message: Accepted @@ -962,7 +1279,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -972,10 +1289,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/769f0db1-ff52-47b3-ba84-b0da28cbac04-deleteorder?api-version=2018-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/b5ccfe1c-c8fc-45fd-8304-da898e07d61f-deleteorder?api-version=2019-09-01 response: body: string: '' @@ -985,19 +1301,19 @@ interactions: content-length: - '0' date: - - Fri, 06 Mar 2020 14:36:51 GMT + - Fri, 07 May 2021 06:52:39 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/769f0db1-ff52-47b3-ba84-b0da28cbac04-deleteorder?api-version=2018-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/b5ccfe1c-c8fc-45fd-8304-da898e07d61f-deleteorder?api-version=2019-09-01 pragma: - no-cache + server: + - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff - x-powered-by: - - ASP.NET status: code: 202 message: Accepted @@ -1005,7 +1321,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1015,10 +1331,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/769f0db1-ff52-47b3-ba84-b0da28cbac04-deleteorder?api-version=2018-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/b5ccfe1c-c8fc-45fd-8304-da898e07d61f-deleteorder?api-version=2019-09-01 response: body: string: '' @@ -1028,19 +1343,19 @@ interactions: content-length: - '0' date: - - Fri, 06 Mar 2020 14:37:03 GMT + - Fri, 07 May 2021 06:52:49 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/769f0db1-ff52-47b3-ba84-b0da28cbac04-deleteorder?api-version=2018-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/b5ccfe1c-c8fc-45fd-8304-da898e07d61f-deleteorder?api-version=2019-09-01 pragma: - no-cache + server: + - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff - x-powered-by: - - ASP.NET status: code: 202 message: Accepted @@ -1048,7 +1363,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1058,10 +1373,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/769f0db1-ff52-47b3-ba84-b0da28cbac04-deleteorder?api-version=2018-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/b5ccfe1c-c8fc-45fd-8304-da898e07d61f-deleteorder?api-version=2019-09-01 response: body: string: '' @@ -1071,19 +1385,19 @@ interactions: content-length: - '0' date: - - Fri, 06 Mar 2020 14:37:13 GMT + - Fri, 07 May 2021 06:52:59 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/769f0db1-ff52-47b3-ba84-b0da28cbac04-deleteorder?api-version=2018-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/b5ccfe1c-c8fc-45fd-8304-da898e07d61f-deleteorder?api-version=2019-09-01 pragma: - no-cache + server: + - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff - x-powered-by: - - ASP.NET status: code: 202 message: Accepted @@ -1091,7 +1405,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1101,10 +1415,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/769f0db1-ff52-47b3-ba84-b0da28cbac04-deleteorder?api-version=2018-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/b5ccfe1c-c8fc-45fd-8304-da898e07d61f-deleteorder?api-version=2019-09-01 response: body: string: '' @@ -1114,19 +1427,19 @@ interactions: content-length: - '0' date: - - Fri, 06 Mar 2020 14:37:25 GMT + - Fri, 07 May 2021 06:53:11 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/769f0db1-ff52-47b3-ba84-b0da28cbac04-deleteorder?api-version=2018-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/b5ccfe1c-c8fc-45fd-8304-da898e07d61f-deleteorder?api-version=2019-09-01 pragma: - no-cache + server: + - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff - x-powered-by: - - ASP.NET status: code: 202 message: Accepted @@ -1134,7 +1447,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1144,10 +1457,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/769f0db1-ff52-47b3-ba84-b0da28cbac04-deleteorder?api-version=2018-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/b5ccfe1c-c8fc-45fd-8304-da898e07d61f-deleteorder?api-version=2019-09-01 response: body: string: '' @@ -1157,19 +1469,19 @@ interactions: content-length: - '0' date: - - Fri, 06 Mar 2020 14:37:35 GMT + - Fri, 07 May 2021 06:53:21 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/769f0db1-ff52-47b3-ba84-b0da28cbac04-deleteorder?api-version=2018-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/b5ccfe1c-c8fc-45fd-8304-da898e07d61f-deleteorder?api-version=2019-09-01 pragma: - no-cache + server: + - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff - x-powered-by: - - ASP.NET status: code: 202 message: Accepted @@ -1177,7 +1489,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1187,10 +1499,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/769f0db1-ff52-47b3-ba84-b0da28cbac04-deleteorder?api-version=2018-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/b5ccfe1c-c8fc-45fd-8304-da898e07d61f-deleteorder?api-version=2019-09-01 response: body: string: '' @@ -1198,17 +1509,17 @@ interactions: cache-control: - no-cache date: - - Fri, 06 Mar 2020 14:37:45 GMT + - Fri, 07 May 2021 06:53:31 GMT expires: - '-1' pragma: - no-cache + server: + - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff - x-powered-by: - - ASP.NET status: code: 204 message: No Content @@ -1226,47 +1537,45 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004?api-version=2019-09-01&$expand=details response: body: - string: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.DataBox/jobs/job000004'' - under resource group ''cli_test_databox000001'' was not found."}}' + string: "{\r\n \"code\": \"SsemUserErrorEntityNotFound\",\r\n \"message\": + \"Could not find the entity job000004.\\r\\nProvide a valid entity name and + retry the operation.\",\r\n \"details\": [],\r\n \"additionalInfo\": []\r\n}" headers: cache-control: - no-cache content-length: - - '226' + - '213' content-type: - application/json; charset=utf-8 date: - - Fri, 06 Mar 2020 14:37:51 GMT + - Fri, 07 May 2021 06:53:33 GMT expires: - '-1' pragma: - no-cache + server: + - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff - x-ms-failure-cause: - - gateway status: code: 404 message: Not Found - request: - body: 'b''b\''{"location": "westus", "sku": {"name": "DataBoxDisk"}, "properties": - {"details": {"expectedDataSizeInTerabytes": 1, "contactDetails": {"contactName": - "Public SDK Test", "phone": "14258828080", "emailList": ["testing@microsoft.com"]}, + body: '{"location": "westus", "sku": {"name": "DataBoxDisk"}, "properties": {"details": + {"expectedDataSizeInTerabytes": 1, "contactDetails": {"contactName": "Public + SDK Test", "phone": "14258828080", "emailList": ["testing@microsoft.com"]}, "shippingAddress": {"streetAddress1": "1 MICROSOFT WAY", "city": "Redmond", "stateOrProvince": "WA", "country": "US", "postalCode": "98052", "companyName": "Microsoft"}, "destinationAccountDetails": [{"dataDestinationType": "StorageAccount", "storageAccountId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000002"}], - "jobDetailsType": "DataBoxDisk"}}}\''''' + "jobDetailsType": "DataBoxDisk"}}}' headers: Accept: - application/json @@ -1279,18 +1588,15 @@ interactions: Content-Length: - '747' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - --resource-group --name --location --sku --expected-data-size --contact-name --phone --email-list --street-address1 --city --state-or-province --country --postal-code --company-name --storage-account User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004?api-version=2019-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000005?api-version=2019-09-01 response: body: string: '' @@ -1300,21 +1606,21 @@ interactions: content-length: - '0' date: - - Fri, 06 Mar 2020 14:37:57 GMT + - Fri, 07 May 2021 06:53:42 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9?api-version=2018-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/25073361-d073-4efa-a48c-3357ab047de8?api-version=2019-09-01 pragma: - no-cache + server: + - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1195' - x-powered-by: - - ASP.NET + - '1199' status: code: 202 message: Accepted @@ -1322,7 +1628,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1334,10 +1640,9 @@ interactions: --phone --email-list --street-address1 --city --state-or-province --country --postal-code --company-name --storage-account User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9?api-version=2018-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/25073361-d073-4efa-a48c-3357ab047de8?api-version=2019-09-01 response: body: string: '' @@ -1347,19 +1652,19 @@ interactions: content-length: - '0' date: - - Fri, 06 Mar 2020 14:38:09 GMT + - Fri, 07 May 2021 06:53:52 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004?api-version=2018-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000005?api-version=2019-09-01 pragma: - no-cache + server: + - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff - x-powered-by: - - ASP.NET status: code: 202 message: Accepted @@ -1367,7 +1672,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1379,34 +1684,55 @@ interactions: --phone --email-list --street-address1 --city --state-or-province --country --postal-code --company-name --storage-account User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004?api-version=2018-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000005?api-version=2019-09-01 response: body: string: "{\r\n \"properties\": {\r\n \"isCancellable\": true,\r\n \"isDeletable\": - false,\r\n \"isShippingAddressEditable\": true,\r\n \"isPrepareToShipEnabled\": - false,\r\n \"status\": \"DeviceOrdered\",\r\n \"startTime\": \"2020-03-06T14:37:57.9932207+00:00\",\r\n - \ \"deliveryType\": \"NonScheduled\",\r\n \"deliveryInfo\": {\r\n \"scheduledDateTime\": - \"0001-01-01T00:00:00+00:00\"\r\n },\r\n \"isCancellableWithoutFee\": + false,\r\n \"isShippingAddressEditable\": true,\r\n \"status\": \"DeviceOrdered\",\r\n + \ \"startTime\": \"2021-05-07T06:53:42.3958227+00:00\",\r\n \"details\": + {\r\n \"expectedDataSizeInTeraBytes\": 1,\r\n \"contactDetails\": + {\r\n \"contactName\": \"Public SDK Test\",\r\n \"phone\": \"14258828080\",\r\n + \ \"emailList\": [\r\n \"testing@microsoft.com\"\r\n ],\r\n + \ \"notificationPreference\": [\r\n {\r\n \"stageName\": + \"DevicePrepared\",\r\n \"sendNotification\": true\r\n },\r\n + \ {\r\n \"stageName\": \"Dispatched\",\r\n \"sendNotification\": + true\r\n },\r\n {\r\n \"stageName\": \"Delivered\",\r\n + \ \"sendNotification\": true\r\n },\r\n {\r\n + \ \"stageName\": \"PickedUp\",\r\n \"sendNotification\": + true\r\n },\r\n {\r\n \"stageName\": \"AtAzureDC\",\r\n + \ \"sendNotification\": true\r\n },\r\n {\r\n + \ \"stageName\": \"DataCopy\",\r\n \"sendNotification\": + true\r\n }\r\n ]\r\n },\r\n \"shippingAddress\": + {\r\n \"streetAddress1\": \"1 MICROSOFT WAY\",\r\n \"city\": + \"Redmond\",\r\n \"stateOrProvince\": \"WA\",\r\n \"country\": + \"US\",\r\n \"postalCode\": \"98052\",\r\n \"companyName\": + \"Microsoft\",\r\n \"addressType\": \"None\"\r\n },\r\n \"destinationAccountDetails\": + [\r\n {\r\n \"storageAccountId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000002\",\r\n + \ \"dataDestinationType\": \"StorageAccount\",\r\n \"accountId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000002\"\r\n + \ }\r\n ],\r\n \"jobDetailsType\": \"DataBoxDisk\",\r\n \"preferences\": + {}\r\n },\r\n \"deliveryType\": \"NonScheduled\",\r\n \"isCancellableWithoutFee\": true\r\n },\r\n \"location\": \"westus\",\r\n \"tags\": {},\r\n \"sku\": - {\r\n \"name\": \"DataBoxDisk\"\r\n },\r\n \"name\": \"job000004\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004\",\r\n + {\r\n \"name\": \"DataBoxDisk\"\r\n },\r\n \"name\": \"job000005\",\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000005\",\r\n \ \"type\": \"Microsoft.DataBox/jobs\"\r\n}" headers: cache-control: - no-cache content-length: - - '783' + - '2527' content-type: - application/json; charset=utf-8 date: - - Fri, 06 Mar 2020 14:38:19 GMT + - Fri, 07 May 2021 06:54:03 GMT expires: - '-1' pragma: - no-cache + server: + - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: @@ -1415,8 +1741,6 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff - x-powered-by: - - ASP.NET status: code: 200 message: OK @@ -1434,16 +1758,13 @@ interactions: Content-Length: - '24' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - --resource-group --name --reason -y User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004/cancel?api-version=2019-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000005/cancel?api-version=2019-09-01 response: body: string: '' @@ -1451,19 +1772,19 @@ interactions: cache-control: - no-cache date: - - Fri, 06 Mar 2020 14:38:24 GMT + - Fri, 07 May 2021 06:54:06 GMT expires: - '-1' pragma: - no-cache + server: + - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' - x-powered-by: - - ASP.NET + - '1199' status: code: 204 message: No Content @@ -1483,12 +1804,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004?api-version=2019-09-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000005?api-version=2019-09-01 response: body: string: '' @@ -1498,21 +1816,21 @@ interactions: content-length: - '0' date: - - Fri, 06 Mar 2020 14:38:28 GMT + - Fri, 07 May 2021 06:54:11 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/25073361-d073-4efa-a48c-3357ab047de8-deleteorder?api-version=2019-09-01 pragma: - no-cache + server: + - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14996' - x-powered-by: - - ASP.NET + - '14999' status: code: 202 message: Accepted @@ -1520,7 +1838,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1530,10 +1848,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/25073361-d073-4efa-a48c-3357ab047de8-deleteorder?api-version=2019-09-01 response: body: string: '' @@ -1543,19 +1860,19 @@ interactions: content-length: - '0' date: - - Fri, 06 Mar 2020 14:38:42 GMT + - Fri, 07 May 2021 06:54:21 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/25073361-d073-4efa-a48c-3357ab047de8-deleteorder?api-version=2019-09-01 pragma: - no-cache + server: + - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff - x-powered-by: - - ASP.NET status: code: 202 message: Accepted @@ -1563,7 +1880,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1573,10 +1890,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/25073361-d073-4efa-a48c-3357ab047de8-deleteorder?api-version=2019-09-01 response: body: string: '' @@ -1586,19 +1902,19 @@ interactions: content-length: - '0' date: - - Fri, 06 Mar 2020 14:38:53 GMT + - Fri, 07 May 2021 06:54:31 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/25073361-d073-4efa-a48c-3357ab047de8-deleteorder?api-version=2019-09-01 pragma: - no-cache + server: + - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff - x-powered-by: - - ASP.NET status: code: 202 message: Accepted @@ -1606,7 +1922,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1616,10 +1932,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/25073361-d073-4efa-a48c-3357ab047de8-deleteorder?api-version=2019-09-01 response: body: string: '' @@ -1629,19 +1944,19 @@ interactions: content-length: - '0' date: - - Fri, 06 Mar 2020 14:39:03 GMT + - Fri, 07 May 2021 06:54:42 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/25073361-d073-4efa-a48c-3357ab047de8-deleteorder?api-version=2019-09-01 pragma: - no-cache + server: + - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff - x-powered-by: - - ASP.NET status: code: 202 message: Accepted @@ -1649,7 +1964,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1659,10 +1974,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/25073361-d073-4efa-a48c-3357ab047de8-deleteorder?api-version=2019-09-01 response: body: string: '' @@ -1672,19 +1986,19 @@ interactions: content-length: - '0' date: - - Fri, 06 Mar 2020 14:39:13 GMT + - Fri, 07 May 2021 06:54:52 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/25073361-d073-4efa-a48c-3357ab047de8-deleteorder?api-version=2019-09-01 pragma: - no-cache + server: + - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff - x-powered-by: - - ASP.NET status: code: 202 message: Accepted @@ -1692,7 +2006,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1702,10 +2016,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/25073361-d073-4efa-a48c-3357ab047de8-deleteorder?api-version=2019-09-01 response: body: string: '' @@ -1715,19 +2028,19 @@ interactions: content-length: - '0' date: - - Fri, 06 Mar 2020 14:39:25 GMT + - Fri, 07 May 2021 06:55:03 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/25073361-d073-4efa-a48c-3357ab047de8-deleteorder?api-version=2019-09-01 pragma: - no-cache + server: + - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff - x-powered-by: - - ASP.NET status: code: 202 message: Accepted @@ -1735,7 +2048,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1745,10 +2058,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/25073361-d073-4efa-a48c-3357ab047de8-deleteorder?api-version=2019-09-01 response: body: string: '' @@ -1758,19 +2070,19 @@ interactions: content-length: - '0' date: - - Fri, 06 Mar 2020 14:39:35 GMT + - Fri, 07 May 2021 06:55:13 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/25073361-d073-4efa-a48c-3357ab047de8-deleteorder?api-version=2019-09-01 pragma: - no-cache + server: + - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff - x-powered-by: - - ASP.NET status: code: 202 message: Accepted @@ -1778,7 +2090,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1788,10 +2100,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/25073361-d073-4efa-a48c-3357ab047de8-deleteorder?api-version=2019-09-01 response: body: string: '' @@ -1801,19 +2112,19 @@ interactions: content-length: - '0' date: - - Fri, 06 Mar 2020 14:39:45 GMT + - Fri, 07 May 2021 06:55:24 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/25073361-d073-4efa-a48c-3357ab047de8-deleteorder?api-version=2019-09-01 pragma: - no-cache + server: + - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff - x-powered-by: - - ASP.NET status: code: 202 message: Accepted @@ -1821,7 +2132,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1831,10 +2142,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/25073361-d073-4efa-a48c-3357ab047de8-deleteorder?api-version=2019-09-01 response: body: string: '' @@ -1844,19 +2154,19 @@ interactions: content-length: - '0' date: - - Fri, 06 Mar 2020 14:39:56 GMT + - Fri, 07 May 2021 06:55:34 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/25073361-d073-4efa-a48c-3357ab047de8-deleteorder?api-version=2019-09-01 pragma: - no-cache + server: + - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff - x-powered-by: - - ASP.NET status: code: 202 message: Accepted @@ -1864,7 +2174,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1874,10 +2184,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/25073361-d073-4efa-a48c-3357ab047de8-deleteorder?api-version=2019-09-01 response: body: string: '' @@ -1887,19 +2196,19 @@ interactions: content-length: - '0' date: - - Fri, 06 Mar 2020 14:40:06 GMT + - Fri, 07 May 2021 06:55:45 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/25073361-d073-4efa-a48c-3357ab047de8-deleteorder?api-version=2019-09-01 pragma: - no-cache + server: + - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff - x-powered-by: - - ASP.NET status: code: 202 message: Accepted @@ -1907,7 +2216,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1917,10 +2226,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/25073361-d073-4efa-a48c-3357ab047de8-deleteorder?api-version=2019-09-01 response: body: string: '' @@ -1930,19 +2238,19 @@ interactions: content-length: - '0' date: - - Fri, 06 Mar 2020 14:40:17 GMT + - Fri, 07 May 2021 06:55:55 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/25073361-d073-4efa-a48c-3357ab047de8-deleteorder?api-version=2019-09-01 pragma: - no-cache + server: + - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff - x-powered-by: - - ASP.NET status: code: 202 message: Accepted @@ -1950,7 +2258,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1960,10 +2268,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/25073361-d073-4efa-a48c-3357ab047de8-deleteorder?api-version=2019-09-01 response: body: string: '' @@ -1973,19 +2280,19 @@ interactions: content-length: - '0' date: - - Fri, 06 Mar 2020 14:40:27 GMT + - Fri, 07 May 2021 06:56:06 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/25073361-d073-4efa-a48c-3357ab047de8-deleteorder?api-version=2019-09-01 pragma: - no-cache + server: + - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff - x-powered-by: - - ASP.NET status: code: 202 message: Accepted @@ -1993,7 +2300,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -2003,10 +2310,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/25073361-d073-4efa-a48c-3357ab047de8-deleteorder?api-version=2019-09-01 response: body: string: '' @@ -2016,19 +2322,19 @@ interactions: content-length: - '0' date: - - Fri, 06 Mar 2020 14:40:38 GMT + - Fri, 07 May 2021 06:56:16 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/25073361-d073-4efa-a48c-3357ab047de8-deleteorder?api-version=2019-09-01 pragma: - no-cache + server: + - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff - x-powered-by: - - ASP.NET status: code: 202 message: Accepted @@ -2036,7 +2342,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -2046,10 +2352,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/25073361-d073-4efa-a48c-3357ab047de8-deleteorder?api-version=2019-09-01 response: body: string: '' @@ -2059,19 +2364,19 @@ interactions: content-length: - '0' date: - - Fri, 06 Mar 2020 14:40:49 GMT + - Fri, 07 May 2021 06:56:26 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/25073361-d073-4efa-a48c-3357ab047de8-deleteorder?api-version=2019-09-01 pragma: - no-cache + server: + - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff - x-powered-by: - - ASP.NET status: code: 202 message: Accepted @@ -2079,7 +2384,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -2089,10 +2394,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/25073361-d073-4efa-a48c-3357ab047de8-deleteorder?api-version=2019-09-01 response: body: string: '' @@ -2102,19 +2406,19 @@ interactions: content-length: - '0' date: - - Fri, 06 Mar 2020 14:40:59 GMT + - Fri, 07 May 2021 06:56:37 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/25073361-d073-4efa-a48c-3357ab047de8-deleteorder?api-version=2019-09-01 pragma: - no-cache + server: + - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff - x-powered-by: - - ASP.NET status: code: 202 message: Accepted @@ -2122,7 +2426,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -2132,10 +2436,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/25073361-d073-4efa-a48c-3357ab047de8-deleteorder?api-version=2019-09-01 response: body: string: '' @@ -2145,19 +2448,19 @@ interactions: content-length: - '0' date: - - Fri, 06 Mar 2020 14:41:10 GMT + - Fri, 07 May 2021 06:56:47 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/25073361-d073-4efa-a48c-3357ab047de8-deleteorder?api-version=2019-09-01 pragma: - no-cache + server: + - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff - x-powered-by: - - ASP.NET status: code: 202 message: Accepted @@ -2165,7 +2468,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -2175,10 +2478,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/25073361-d073-4efa-a48c-3357ab047de8-deleteorder?api-version=2019-09-01 response: body: string: '' @@ -2188,19 +2490,19 @@ interactions: content-length: - '0' date: - - Fri, 06 Mar 2020 14:41:20 GMT + - Fri, 07 May 2021 06:56:57 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/25073361-d073-4efa-a48c-3357ab047de8-deleteorder?api-version=2019-09-01 pragma: - no-cache + server: + - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff - x-powered-by: - - ASP.NET status: code: 202 message: Accepted @@ -2208,7 +2510,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -2218,10 +2520,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/25073361-d073-4efa-a48c-3357ab047de8-deleteorder?api-version=2019-09-01 response: body: string: '' @@ -2231,19 +2532,19 @@ interactions: content-length: - '0' date: - - Fri, 06 Mar 2020 14:41:32 GMT + - Fri, 07 May 2021 06:57:08 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/25073361-d073-4efa-a48c-3357ab047de8-deleteorder?api-version=2019-09-01 pragma: - no-cache + server: + - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff - x-powered-by: - - ASP.NET status: code: 202 message: Accepted @@ -2251,7 +2552,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -2261,10 +2562,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/25073361-d073-4efa-a48c-3357ab047de8-deleteorder?api-version=2019-09-01 response: body: string: '' @@ -2274,19 +2574,19 @@ interactions: content-length: - '0' date: - - Fri, 06 Mar 2020 14:41:42 GMT + - Fri, 07 May 2021 06:57:18 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/25073361-d073-4efa-a48c-3357ab047de8-deleteorder?api-version=2019-09-01 pragma: - no-cache + server: + - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff - x-powered-by: - - ASP.NET status: code: 202 message: Accepted @@ -2294,7 +2594,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -2304,10 +2604,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/25073361-d073-4efa-a48c-3357ab047de8-deleteorder?api-version=2019-09-01 response: body: string: '' @@ -2317,19 +2616,19 @@ interactions: content-length: - '0' date: - - Fri, 06 Mar 2020 14:41:53 GMT + - Fri, 07 May 2021 06:57:28 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/25073361-d073-4efa-a48c-3357ab047de8-deleteorder?api-version=2019-09-01 pragma: - no-cache + server: + - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff - x-powered-by: - - ASP.NET status: code: 202 message: Accepted @@ -2337,7 +2636,217 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -y + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/25073361-d073-4efa-a48c-3357ab047de8-deleteorder?api-version=2019-09-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 07 May 2021 06:57:39 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/25073361-d073-4efa-a48c-3357ab047de8-deleteorder?api-version=2019-09-01 + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -y + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/25073361-d073-4efa-a48c-3357ab047de8-deleteorder?api-version=2019-09-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 07 May 2021 06:57:49 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/25073361-d073-4efa-a48c-3357ab047de8-deleteorder?api-version=2019-09-01 + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -y + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/25073361-d073-4efa-a48c-3357ab047de8-deleteorder?api-version=2019-09-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 07 May 2021 06:57:59 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/25073361-d073-4efa-a48c-3357ab047de8-deleteorder?api-version=2019-09-01 + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -y + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/25073361-d073-4efa-a48c-3357ab047de8-deleteorder?api-version=2019-09-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 07 May 2021 06:58:10 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/25073361-d073-4efa-a48c-3357ab047de8-deleteorder?api-version=2019-09-01 + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - databox job delete + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name -y + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/25073361-d073-4efa-a48c-3357ab047de8-deleteorder?api-version=2019-09-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Fri, 07 May 2021 06:58:21 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/25073361-d073-4efa-a48c-3357ab047de8-deleteorder?api-version=2019-09-01 + pragma: + - no-cache + server: + - Kestrel + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -2347,10 +2856,9 @@ interactions: ParameterSetName: - --resource-group --name -y User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/653a0a85-2258-4760-accc-a6a157a859f9-deleteorder?api-version=2018-01-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DataBox/locations/westus/operationResults/25073361-d073-4efa-a48c-3357ab047de8-deleteorder?api-version=2019-09-01 response: body: string: '' @@ -2358,17 +2866,17 @@ interactions: cache-control: - no-cache date: - - Fri, 06 Mar 2020 14:42:03 GMT + - Fri, 07 May 2021 06:58:31 GMT expires: - '-1' pragma: - no-cache + server: + - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff - x-powered-by: - - ASP.NET status: code: 204 message: No Content @@ -2386,37 +2894,33 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-databox/0.2.0 Azure-SDK-For-Python AZURECLI/2.1.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-databox/1.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000004?api-version=2019-09-01&$expand=details + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databox000001/providers/Microsoft.DataBox/jobs/job000005?api-version=2019-09-01&$expand=details response: body: - string: "{\r\n \"error\": {\r\n \"code\": \"SsemUserErrorEntityNotFound\",\r\n - \ \"message\": \"Could not find the entity job000004.\\r\\nProvide a valid - entity name and retry the operation.\",\r\n \"details\": [\r\n null\r\n - \ ]\r\n }\r\n}" + string: "{\r\n \"code\": \"SsemUserErrorEntityNotFound\",\r\n \"message\": + \"Could not find the entity job000005.\\r\\nProvide a valid entity name and + retry the operation.\",\r\n \"details\": [],\r\n \"additionalInfo\": []\r\n}" headers: cache-control: - no-cache content-length: - - '231' + - '213' content-type: - application/json; charset=utf-8 date: - - Fri, 06 Mar 2020 14:42:09 GMT + - Fri, 07 May 2021 06:58:34 GMT expires: - '-1' pragma: - no-cache + server: + - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff - x-powered-by: - - ASP.NET status: code: 404 message: Not Found @@ -2434,8 +2938,8 @@ interactions: ParameterSetName: - --name -g --resource-name --resource-type User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-resource/8.0.1 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-resource/12.1.0 Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: GET @@ -2443,49 +2947,21 @@ interactions: response: body: string: '{"value":[{"properties":{"level":"CanNotDelete","notes":"Data Box Service - to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_databoxrg2slunrj5vx5aydveu66wkj6rh3ildamkumi4zojpcf6f4vastgfp4v3rw/providers/Microsoft.Storage/storageAccounts/clitestmap7c2xyjf3gsd7yg/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete","notes":"Data - Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_databoxu7woflo47pjem4rfw2djuvafywtfnprfpduospdfotkqkudaylsua3ybqpa/providers/Microsoft.Storage/storageAccounts/clitestnxsheqf5s5rcht46h/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete","notes":"for - Asir"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/emerald-city-bookstore/providers/Microsoft.Authorization/locks/No-DELETE","type":"Microsoft.Authorization/locks","name":"No-DELETE"},{"properties":{"level":"CanNotDelete","notes":"Data - Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_databox52yrfbe7molrqhwdubnr2jcijd22xsz3hgcg3btf3sza5boeklwgzzq5sfn/providers/Microsoft.Storage/storageAccounts/clitestm7nikx6sld4npo42d/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete","notes":"Data - Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_databox52yrfbe7molrqhwdubnr2jcijd22xsz3hgcg3btf3sza5boeklwgzzq5sfn/providers/Microsoft.Storage/storageAccounts/clitestqsel4b35pkfyubvyx/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuhcentral/providers/Microsoft.Authorization/locks/delete","type":"Microsoft.Authorization/locks","name":"delete"},{"properties":{"level":"CanNotDelete","notes":"Data - Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_databoxeg3csudujzrh2zcvbjytg6gvlkp6sjfcozveffblaqhrzhsslvpr54lg7n2/providers/Microsoft.Storage/storageAccounts/clitestgdfhjpgc2wgbrddlq/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yu-test-rg/providers/Microsoft.Authorization/locks/lock","type":"Microsoft.Authorization/locks","name":"lock"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxam64dpcskfsb23dkj6zbvxysimh24e3upfdsdmuxbdl2j25ckz2uz5lht5y/providers/Microsoft.Authorization/locks/lock","type":"Microsoft.Authorization/locks","name":"lock"},{"properties":{"level":"CanNotDelete","notes":"Data - Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_databoxoe2qtcqlnxonqpub522jgmpzgeegwhowl2qo6xqgfwtqcd3jzicz5yraawi/providers/Microsoft.Storage/storageAccounts/clitest6yrafi3cntx2cngw3/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete","notes":"Data - Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_databoxoe2qtcqlnxonqpub522jgmpzgeegwhowl2qo6xqgfwtqcd3jzicz5yraawi/providers/Microsoft.Storage/storageAccounts/clitestl6h6fa53d2gbmohn3/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ygmanual3/providers/Microsoft.Authorization/locks/nodel","type":"Microsoft.Authorization/locks","name":"nodel"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/fengsa/providers/Microsoft.Authorization/locks/no-delete","type":"Microsoft.Authorization/locks","name":"no-delete"},{"properties":{"level":"CanNotDelete","notes":"Auto-created - by Azure Backup for storage accounts registered with a Recovery Services Vault. - This lock is intended to guard against deletion of backups due to accidental - deletion of the storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg6i4hl6iakg/providers/microsoft.storage/storageAccounts/clitestu3p7a7ib4n4y7gt4m/providers/Microsoft.Authorization/locks/AzureBackupProtectionLock","type":"Microsoft.Authorization/locks","name":"AzureBackupProtectionLock"},{"properties":{"level":"CanNotDelete","notes":""},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/new-experiences/providers/Microsoft.Authorization/locks/NO-DELETE","type":"Microsoft.Authorization/locks","name":"NO-DELETE"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Authorization/locks/delete","type":"Microsoft.Authorization/locks","name":"delete"},{"properties":{"level":"CanNotDelete","notes":"wait - until 2019.1.10"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azure-core-poc/providers/Microsoft.Authorization/locks/keep","type":"Microsoft.Authorization/locks","name":"keep"},{"properties":{"level":"CanNotDelete","notes":"Reserved - resource locked by ''zhoxing-test'' lab."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/zhoxing-test/providers/microsoft.storage/storageaccounts/azhoxingtest9851/providers/Microsoft.Authorization/locks/DevTestLabs - Lock","type":"Microsoft.Authorization/locks","name":"DevTestLabs Lock"},{"properties":{"level":"CanNotDelete","notes":"Reserved - resource locked by ''zhoxing-test'' lab."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/zhoxing-test/providers/Microsoft.KeyVault/vaults/zhoxingtest9ac53638/providers/Microsoft.Authorization/locks/DevTestLabs - Lock","type":"Microsoft.Authorization/locks","name":"DevTestLabs Lock"},{"properties":{"level":"CanNotDelete","notes":"Reserved - resource locked by ''zhoxing-test'' lab."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/zhoxing-test/providers/Microsoft.KeyVault/vaults/zhoxingtest9393/providers/Microsoft.Authorization/locks/DevTestLabs - Lock","type":"Microsoft.Authorization/locks","name":"DevTestLabs Lock"},{"properties":{"level":"ReadOnly"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/zhoxing-test/providers/Microsoft.Network/virtualNetworks/zhoxing-test/providers/Microsoft.Authorization/locks/vnetlock","type":"Microsoft.Authorization/locks","name":"vnetlock"},{"properties":{"level":"CanNotDelete","notes":"Reserved - resource locked by ''zhoxing-test'' lab."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/zhoxing-test/providers/Microsoft.Network/virtualNetworks/Dtlzhoxing-test/providers/Microsoft.Authorization/locks/DevTestLabs - Lock","type":"Microsoft.Authorization/locks","name":"DevTestLabs Lock"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fytest/providers/Microsoft.KeyVault/vaults/vault4848/providers/Microsoft.Authorization/locks/l","type":"Microsoft.Authorization/locks","name":"l"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fytest/providers/Microsoft.Compute/diskEncryptionSets/des1/providers/Microsoft.Authorization/locks/l","type":"Microsoft.Authorization/locks","name":"l"},{"properties":{"level":"CanNotDelete","notes":"In - case of deleting by incident"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/azuresdktest_reserved/providers/Microsoft.Authorization/locks/LockReservedResources","type":"Microsoft.Authorization/locks","name":"LockReservedResources"},{"properties":{"level":"CanNotDelete","notes":"Data - Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000003/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete","notes":"Data - Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000002/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azure-cli-test-rg/providers/Microsoft.Authorization/locks/lock_test_resources","type":"Microsoft.Authorization/locks","name":"lock_test_resources"},{"properties":{"level":"CanNotDelete","notes":"for - msal test"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yeming/providers/Microsoft.Authorization/locks/yeliu","type":"Microsoft.Authorization/locks","name":"yeliu"},{"properties":{"level":"CanNotDelete","notes":"Data - Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_databoxn5n2vkeyewiwob4e7e6nqiblkvvgc5qorevejhsntblvdlc2t373rrvy45p/providers/Microsoft.Storage/storageAccounts/clitest75g6r5uwkj7ker7wu/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Authorization/locks/donotdelete","type":"Microsoft.Authorization/locks","name":"donotdelete"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jlvm2rg/providers/Microsoft.Compute/virtualMachines/jlvm2/providers/Microsoft.Authorization/locks/dl","type":"Microsoft.Authorization/locks","name":"dl"},{"properties":{"level":"CanNotDelete","notes":"Data - Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_databox5gpbe2knrizxsitmvje3fbdl44tf6cvpfqbpvsyicxmupsbyhmlcrg4wesk/providers/Microsoft.Storage/storageAccounts/clitest7b5n3o4aahl5rafju/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete","notes":"for - customer issue repro (snowflake)"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/storage-v2rt-repro/providers/Microsoft.Authorization/locks/DontDelete","type":"Microsoft.Authorization/locks","name":"DontDelete"},{"properties":{"level":"CanNotDelete","notes":"using - bastion"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fanqiu-vm/providers/Microsoft.Authorization/locks/person - vm","type":"Microsoft.Authorization/locks","name":"person vm"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jlrg1/providers/Microsoft.Authorization/locks/dl","type":"Microsoft.Authorization/locks","name":"dl"},{"properties":{"level":"CanNotDelete","notes":"Data - Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_databoxlekg7y4dtg2pnsaueisdkyqi5mnvmlwxto2cpu3kv7snll4uc37q2rm4wme/providers/Microsoft.Storage/storageAccounts/clitestcu3wv45lektdc3whs/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yu-test-rg-westus/providers/Microsoft.Authorization/locks/lock","type":"Microsoft.Authorization/locks","name":"lock"},{"properties":{"level":"CanNotDelete","notes":"Data - Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/yu-test-rg-westus/providers/Microsoft.Storage/storageAccounts/sfsfsfsssf/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete","notes":"Data - Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/yu-test-rg-westus/providers/Microsoft.Storage/storageAccounts/stststeset/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/bim-rg/providers/Microsoft.Authorization/locks/bim-lock","type":"Microsoft.Authorization/locks","name":"bim-lock"},{"properties":{"level":"CanNotDelete","notes":"Data - Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/bim-rg/providers/Microsoft.Storage/storageAccounts/bimstorageacc/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete","notes":"Data - Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_databoxfgdxtb5b3moqarfyogd7fcognbrlsihjlj3acnscrixetycujoejzzalyi3/providers/Microsoft.Storage/storageAccounts/clitestldg5uo7ika27utek4/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"}]}' + to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000002/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete","notes":"Data + Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000003/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete","notes":"Please + do not delete this User Assigned Identity in the AzSecPackAutoConfigRG resource + group as AzSecPack AutoConfig depends on this."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/AzSecPackAutoConfigRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/AzSecPackAutoConfigUA-eastus2/providers/Microsoft.Authorization/locks/CanNotDeleteLock-AzSecPackAutoConfigUA-eastus2","type":"Microsoft.Authorization/locks","name":"CanNotDeleteLock-AzSecPackAutoConfigUA-eastus2"},{"properties":{"level":"CanNotDelete","notes":"Please + do not delete this User Assigned Identity in the AzSecPackAutoConfigRG resource + group as AzSecPack AutoConfig depends on this."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/AzSecPackAutoConfigRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/AzSecPackAutoConfigUA-eastus/providers/Microsoft.Authorization/locks/CanNotDeleteLock-AzSecPackAutoConfigUA-eastus","type":"Microsoft.Authorization/locks","name":"CanNotDeleteLock-AzSecPackAutoConfigUA-eastus"}]}' headers: cache-control: - no-cache content-length: - - '14599' + - '2012' content-type: - application/json; charset=utf-8 date: - - Fri, 06 Mar 2020 14:42:12 GMT + - Fri, 07 May 2021 06:58:34 GMT expires: - '-1' pragma: @@ -2517,8 +2993,8 @@ interactions: ParameterSetName: - --name -g --resource-name --resource-type User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-resource/8.0.1 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-resource/12.1.0 Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: DELETE @@ -2532,7 +3008,7 @@ interactions: content-length: - '0' date: - - Fri, 06 Mar 2020 14:42:14 GMT + - Fri, 07 May 2021 06:58:35 GMT expires: - '-1' pragma: @@ -2542,7 +3018,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14995' + - '14999' status: code: 200 message: OK @@ -2560,8 +3036,8 @@ interactions: ParameterSetName: - --name -g --resource-name --resource-type User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-resource/8.0.1 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-resource/12.1.0 Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: GET @@ -2569,48 +3045,20 @@ interactions: response: body: string: '{"value":[{"properties":{"level":"CanNotDelete","notes":"Data Box Service - to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_databoxrg2slunrj5vx5aydveu66wkj6rh3ildamkumi4zojpcf6f4vastgfp4v3rw/providers/Microsoft.Storage/storageAccounts/clitestmap7c2xyjf3gsd7yg/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete","notes":"Data - Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_databoxu7woflo47pjem4rfw2djuvafywtfnprfpduospdfotkqkudaylsua3ybqpa/providers/Microsoft.Storage/storageAccounts/clitestnxsheqf5s5rcht46h/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete","notes":"for - Asir"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/emerald-city-bookstore/providers/Microsoft.Authorization/locks/No-DELETE","type":"Microsoft.Authorization/locks","name":"No-DELETE"},{"properties":{"level":"CanNotDelete","notes":"Data - Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_databox52yrfbe7molrqhwdubnr2jcijd22xsz3hgcg3btf3sza5boeklwgzzq5sfn/providers/Microsoft.Storage/storageAccounts/clitestm7nikx6sld4npo42d/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete","notes":"Data - Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_databox52yrfbe7molrqhwdubnr2jcijd22xsz3hgcg3btf3sza5boeklwgzzq5sfn/providers/Microsoft.Storage/storageAccounts/clitestqsel4b35pkfyubvyx/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuhcentral/providers/Microsoft.Authorization/locks/delete","type":"Microsoft.Authorization/locks","name":"delete"},{"properties":{"level":"CanNotDelete","notes":"Data - Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_databoxeg3csudujzrh2zcvbjytg6gvlkp6sjfcozveffblaqhrzhsslvpr54lg7n2/providers/Microsoft.Storage/storageAccounts/clitestgdfhjpgc2wgbrddlq/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yu-test-rg/providers/Microsoft.Authorization/locks/lock","type":"Microsoft.Authorization/locks","name":"lock"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_databoxam64dpcskfsb23dkj6zbvxysimh24e3upfdsdmuxbdl2j25ckz2uz5lht5y/providers/Microsoft.Authorization/locks/lock","type":"Microsoft.Authorization/locks","name":"lock"},{"properties":{"level":"CanNotDelete","notes":"Data - Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_databoxoe2qtcqlnxonqpub522jgmpzgeegwhowl2qo6xqgfwtqcd3jzicz5yraawi/providers/Microsoft.Storage/storageAccounts/clitest6yrafi3cntx2cngw3/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete","notes":"Data - Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_databoxoe2qtcqlnxonqpub522jgmpzgeegwhowl2qo6xqgfwtqcd3jzicz5yraawi/providers/Microsoft.Storage/storageAccounts/clitestl6h6fa53d2gbmohn3/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ygmanual3/providers/Microsoft.Authorization/locks/nodel","type":"Microsoft.Authorization/locks","name":"nodel"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/fengsa/providers/Microsoft.Authorization/locks/no-delete","type":"Microsoft.Authorization/locks","name":"no-delete"},{"properties":{"level":"CanNotDelete","notes":"Auto-created - by Azure Backup for storage accounts registered with a Recovery Services Vault. - This lock is intended to guard against deletion of backups due to accidental - deletion of the storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg6i4hl6iakg/providers/microsoft.storage/storageAccounts/clitestu3p7a7ib4n4y7gt4m/providers/Microsoft.Authorization/locks/AzureBackupProtectionLock","type":"Microsoft.Authorization/locks","name":"AzureBackupProtectionLock"},{"properties":{"level":"CanNotDelete","notes":""},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/new-experiences/providers/Microsoft.Authorization/locks/NO-DELETE","type":"Microsoft.Authorization/locks","name":"NO-DELETE"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Authorization/locks/delete","type":"Microsoft.Authorization/locks","name":"delete"},{"properties":{"level":"CanNotDelete","notes":"wait - until 2019.1.10"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azure-core-poc/providers/Microsoft.Authorization/locks/keep","type":"Microsoft.Authorization/locks","name":"keep"},{"properties":{"level":"CanNotDelete","notes":"Reserved - resource locked by ''zhoxing-test'' lab."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/zhoxing-test/providers/microsoft.storage/storageaccounts/azhoxingtest9851/providers/Microsoft.Authorization/locks/DevTestLabs - Lock","type":"Microsoft.Authorization/locks","name":"DevTestLabs Lock"},{"properties":{"level":"CanNotDelete","notes":"Reserved - resource locked by ''zhoxing-test'' lab."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/zhoxing-test/providers/Microsoft.KeyVault/vaults/zhoxingtest9ac53638/providers/Microsoft.Authorization/locks/DevTestLabs - Lock","type":"Microsoft.Authorization/locks","name":"DevTestLabs Lock"},{"properties":{"level":"CanNotDelete","notes":"Reserved - resource locked by ''zhoxing-test'' lab."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/zhoxing-test/providers/Microsoft.KeyVault/vaults/zhoxingtest9393/providers/Microsoft.Authorization/locks/DevTestLabs - Lock","type":"Microsoft.Authorization/locks","name":"DevTestLabs Lock"},{"properties":{"level":"ReadOnly"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/zhoxing-test/providers/Microsoft.Network/virtualNetworks/zhoxing-test/providers/Microsoft.Authorization/locks/vnetlock","type":"Microsoft.Authorization/locks","name":"vnetlock"},{"properties":{"level":"CanNotDelete","notes":"Reserved - resource locked by ''zhoxing-test'' lab."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/zhoxing-test/providers/Microsoft.Network/virtualNetworks/Dtlzhoxing-test/providers/Microsoft.Authorization/locks/DevTestLabs - Lock","type":"Microsoft.Authorization/locks","name":"DevTestLabs Lock"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fytest/providers/Microsoft.KeyVault/vaults/vault4848/providers/Microsoft.Authorization/locks/l","type":"Microsoft.Authorization/locks","name":"l"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fytest/providers/Microsoft.Compute/diskEncryptionSets/des1/providers/Microsoft.Authorization/locks/l","type":"Microsoft.Authorization/locks","name":"l"},{"properties":{"level":"CanNotDelete","notes":"In - case of deleting by incident"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/azuresdktest_reserved/providers/Microsoft.Authorization/locks/LockReservedResources","type":"Microsoft.Authorization/locks","name":"LockReservedResources"},{"properties":{"level":"CanNotDelete","notes":"Data - Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000003/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azure-cli-test-rg/providers/Microsoft.Authorization/locks/lock_test_resources","type":"Microsoft.Authorization/locks","name":"lock_test_resources"},{"properties":{"level":"CanNotDelete","notes":"for - msal test"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yeming/providers/Microsoft.Authorization/locks/yeliu","type":"Microsoft.Authorization/locks","name":"yeliu"},{"properties":{"level":"CanNotDelete","notes":"Data - Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_databoxn5n2vkeyewiwob4e7e6nqiblkvvgc5qorevejhsntblvdlc2t373rrvy45p/providers/Microsoft.Storage/storageAccounts/clitest75g6r5uwkj7ker7wu/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Authorization/locks/donotdelete","type":"Microsoft.Authorization/locks","name":"donotdelete"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jlvm2rg/providers/Microsoft.Compute/virtualMachines/jlvm2/providers/Microsoft.Authorization/locks/dl","type":"Microsoft.Authorization/locks","name":"dl"},{"properties":{"level":"CanNotDelete","notes":"Data - Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_databox5gpbe2knrizxsitmvje3fbdl44tf6cvpfqbpvsyicxmupsbyhmlcrg4wesk/providers/Microsoft.Storage/storageAccounts/clitest7b5n3o4aahl5rafju/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete","notes":"for - customer issue repro (snowflake)"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/storage-v2rt-repro/providers/Microsoft.Authorization/locks/DontDelete","type":"Microsoft.Authorization/locks","name":"DontDelete"},{"properties":{"level":"CanNotDelete","notes":"using - bastion"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fanqiu-vm/providers/Microsoft.Authorization/locks/person - vm","type":"Microsoft.Authorization/locks","name":"person vm"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jlrg1/providers/Microsoft.Authorization/locks/dl","type":"Microsoft.Authorization/locks","name":"dl"},{"properties":{"level":"CanNotDelete","notes":"Data - Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_databoxlekg7y4dtg2pnsaueisdkyqi5mnvmlwxto2cpu3kv7snll4uc37q2rm4wme/providers/Microsoft.Storage/storageAccounts/clitestcu3wv45lektdc3whs/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yu-test-rg-westus/providers/Microsoft.Authorization/locks/lock","type":"Microsoft.Authorization/locks","name":"lock"},{"properties":{"level":"CanNotDelete","notes":"Data - Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/yu-test-rg-westus/providers/Microsoft.Storage/storageAccounts/sfsfsfsssf/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete","notes":"Data - Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/yu-test-rg-westus/providers/Microsoft.Storage/storageAccounts/stststeset/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/bim-rg/providers/Microsoft.Authorization/locks/bim-lock","type":"Microsoft.Authorization/locks","name":"bim-lock"},{"properties":{"level":"CanNotDelete","notes":"Data - Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/bim-rg/providers/Microsoft.Storage/storageAccounts/bimstorageacc/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete","notes":"Data - Box Service to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_databoxfgdxtb5b3moqarfyogd7fcognbrlsihjlj3acnscrixetycujoejzzalyi3/providers/Microsoft.Storage/storageAccounts/clitestldg5uo7ika27utek4/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"}]}' + to copy data from device to storage account."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_databox000001/providers/Microsoft.Storage/storageAccounts/clitest000003/providers/Microsoft.Authorization/locks/DATABOX_SERVICE","type":"Microsoft.Authorization/locks","name":"DATABOX_SERVICE"},{"properties":{"level":"CanNotDelete","notes":"Please + do not delete this User Assigned Identity in the AzSecPackAutoConfigRG resource + group as AzSecPack AutoConfig depends on this."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/AzSecPackAutoConfigRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/AzSecPackAutoConfigUA-eastus2/providers/Microsoft.Authorization/locks/CanNotDeleteLock-AzSecPackAutoConfigUA-eastus2","type":"Microsoft.Authorization/locks","name":"CanNotDeleteLock-AzSecPackAutoConfigUA-eastus2"},{"properties":{"level":"CanNotDelete","notes":"Please + do not delete this User Assigned Identity in the AzSecPackAutoConfigRG resource + group as AzSecPack AutoConfig depends on this."},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/AzSecPackAutoConfigRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/AzSecPackAutoConfigUA-eastus/providers/Microsoft.Authorization/locks/CanNotDeleteLock-AzSecPackAutoConfigUA-eastus","type":"Microsoft.Authorization/locks","name":"CanNotDeleteLock-AzSecPackAutoConfigUA-eastus"}]}' headers: cache-control: - no-cache content-length: - - '14148' + - '1561' content-type: - application/json; charset=utf-8 date: - - Fri, 06 Mar 2020 14:42:18 GMT + - Fri, 07 May 2021 06:58:36 GMT expires: - '-1' pragma: @@ -2642,8 +3090,8 @@ interactions: ParameterSetName: - --name -g --resource-name --resource-type User-Agent: - - python/3.7.6 (Windows-10-10.0.18362-SP0) msrest/0.6.11 msrest_azure/0.6.2 - azure-mgmt-resource/8.0.1 Azure-SDK-For-Python AZURECLI/2.1.0 + - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-resource/12.1.0 Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: DELETE @@ -2657,7 +3105,7 @@ interactions: content-length: - '0' date: - - Fri, 06 Mar 2020 14:42:20 GMT + - Fri, 07 May 2021 06:58:37 GMT expires: - '-1' pragma: diff --git a/src/databox/azext_databox/tests/latest/test_databox_scenario.py b/src/databox/azext_databox/tests/latest/test_databox_scenario.py index 40d34369c2b..a19ecfbd149 100644 --- a/src/databox/azext_databox/tests/latest/test_databox_scenario.py +++ b/src/databox/azext_databox/tests/latest/test_databox_scenario.py @@ -17,8 +17,10 @@ class DataBoxScenarioTest(ScenarioTest): @StorageAccountPreparer(parameter_name='storage_account_2') def test_databox(self, storage_account_1, storage_account_2): job_name = self.create_random_name('job', 24) + job_name_2 = self.create_random_name('job', 24) self.kwargs.update({ 'job_name': job_name, + 'job_name_2': job_name_2, 'storage_account_1': storage_account_1, 'storage_account_2': storage_account_2 }) @@ -93,7 +95,7 @@ def test_databox(self, storage_account_1, storage_account_2): # Create another databox job with sku 'DataBoxDisk'. self.cmd('databox job create ' '--resource-group {rg} ' - '--name {job_name} ' + '--name {job_name_2} ' '--location westus ' '--sku DataBoxDisk ' '--expected-data-size 1 ' @@ -111,20 +113,20 @@ def test_databox(self, storage_account_1, storage_account_2): self.cmd('databox job cancel ' '--resource-group {rg} ' - '--name {job_name} ' + '--name {job_name_2} ' '--reason "CancelTest" ' '-y', checks=[]) self.cmd('databox job delete ' '--resource-group {rg} ' - '--name {job_name} ' + '--name {job_name_2} ' '-y', checks=[]) self.cmd('databox job show ' '--resource-group {rg} ' - '--name {job_name}', + '--name {job_name_2}', expect_failure=True) # DataBox service will create a lock 'DATABOX_SERVICE' on the storage account under the resource group when creating a job. In order to clean up the resource group, we need delete the lock first. diff --git a/src/databox/azext_databox/vendored_sdks/databox/__init__.py b/src/databox/azext_databox/vendored_sdks/databox/__init__.py index 1c85885ae27..f2d0b24d67c 100644 --- a/src/databox/azext_databox/vendored_sdks/databox/__init__.py +++ b/src/databox/azext_databox/vendored_sdks/databox/__init__.py @@ -1,19 +1,16 @@ # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# +# Licensed under the MIT License. See License.txt in the project root for license information. # Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from ._configuration import DataBoxManagementClientConfiguration from ._data_box_management_client import DataBoxManagementClient -__all__ = ['DataBoxManagementClient', 'DataBoxManagementClientConfiguration'] - -from .version import VERSION - -__version__ = VERSION +__all__ = ['DataBoxManagementClient'] +try: + from ._patch import patch_sdk # type: ignore + patch_sdk() +except ImportError: + pass diff --git a/src/databox/azext_databox/vendored_sdks/databox/_configuration.py b/src/databox/azext_databox/vendored_sdks/databox/_configuration.py index adf67e024e2..5b8f07cf262 100644 --- a/src/databox/azext_databox/vendored_sdks/databox/_configuration.py +++ b/src/databox/azext_databox/vendored_sdks/databox/_configuration.py @@ -8,41 +8,59 @@ # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -from msrestazure import AzureConfiguration +from typing import Any -from .version import VERSION +from azure.core.configuration import Configuration +from azure.core.pipeline import policies +from azure.mgmt.core.policies import ARMHttpLoggingPolicy +from ._version import VERSION + + +class DataBoxManagementClientConfiguration(Configuration): + """Configuration for DataBoxManagementClient. -class DataBoxManagementClientConfiguration(AzureConfiguration): - """Configuration for DataBoxManagementClient 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 Subscription Id + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential + :param subscription_id: The Subscription Id. :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.") + self, + credential, # type: "TokenCredential" + subscription_id, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + if credential is None: + raise ValueError("Parameter 'credential' 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(DataBoxManagementClientConfiguration, self).__init__(base_url) + super(DataBoxManagementClientConfiguration, self).__init__(**kwargs) - # Starting Autorest.Python 4.0.64, make connection pool activated by default - self.keep_alive = True - - self.add_user_agent('azure-mgmt-databox/{}'.format(VERSION)) - self.add_user_agent('Azure-SDK-For-Python') - - self.credentials = credentials + self.credential = credential self.subscription_id = subscription_id + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'azure-mgmt-databox/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs # type: Any + ): + # type: (...) -> None + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = policies.BearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/databox/azext_databox/vendored_sdks/databox/_data_box_management_client.py b/src/databox/azext_databox/vendored_sdks/databox/_data_box_management_client.py index 7c2f11f5e82..aa0fa23980a 100644 --- a/src/databox/azext_databox/vendored_sdks/databox/_data_box_management_client.py +++ b/src/databox/azext_databox/vendored_sdks/databox/_data_box_management_client.py @@ -9,51 +9,167 @@ # regenerated. # -------------------------------------------------------------------------- -from msrest.service_client import SDKClient +from azure.mgmt.core import ARMPipelineClient from msrest import Serializer, Deserializer +from azure.profiles import KnownProfiles, ProfileDefinition +from azure.profiles.multiapiclient import MultiApiClientMixin from ._configuration import DataBoxManagementClientConfiguration -from .operations import Operations -from .operations import JobsOperations -from .operations import ServiceOperations -from . import models +class _SDKClient(object): + def __init__(self, *args, **kwargs): + """This is a fake class to support current implemetation of MultiApiClientMixin." + Will be removed in final version of multiapi azure-core based client + """ + pass -class DataBoxManagementClient(SDKClient): - """DataBoxManagementClient +class DataBoxManagementClient(MultiApiClientMixin, _SDKClient): + """The DataBox Client. - :ivar config: Configuration for client. - :vartype config: DataBoxManagementClientConfiguration + This ready contains multiple API versions, to help you deal with all of the Azure clouds + (Azure Stack, Azure Government, Azure China, etc.). + By default, it uses the latest API version available on public Azure. + For production, you should stick to a particular api-version and/or profile. + The profile sets a mapping between an operation group and its API version. + The api-version parameter sets the default API version if the operation + group is not described in the profile. - :ivar operations: Operations operations - :vartype operations: azure.mgmt.databox.operations.Operations - :ivar jobs: Jobs operations - :vartype jobs: azure.mgmt.databox.operations.JobsOperations - :ivar service: Service operations - :vartype service: azure.mgmt.databox.operations.ServiceOperations - - :param credentials: Credentials needed for the client to connect to Azure. - :type credentials: :mod:`A msrestazure Credentials - object` - :param subscription_id: The Subscription Id + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential + :param subscription_id: The Subscription Id. :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 + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. """ + DEFAULT_API_VERSION = '2019-09-01' + _PROFILE_TAG = "azure.mgmt.databox.DataBoxManagementClient" + LATEST_PROFILE = ProfileDefinition({ + _PROFILE_TAG: { + None: DEFAULT_API_VERSION, + }}, + _PROFILE_TAG + " latest" + ) + def __init__( - self, credentials, subscription_id, base_url=None): - - self.config = DataBoxManagementClientConfiguration(credentials, subscription_id, base_url) - super(DataBoxManagementClient, 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 = '2019-09-01' - self._serialize = Serializer(client_models) - self._deserialize = Deserializer(client_models) - - self.operations = Operations( - self._client, self.config, self._serialize, self._deserialize) - self.jobs = JobsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.service = ServiceOperations( - self._client, self.config, self._serialize, self._deserialize) + self, + credential, # type: "TokenCredential" + subscription_id, # type: str + api_version=None, + base_url=None, + profile=KnownProfiles.default, + **kwargs # type: Any + ): + if not base_url: + base_url = 'https://management.azure.com' + self._config = DataBoxManagementClientConfiguration(credential, subscription_id, **kwargs) + self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + super(DataBoxManagementClient, self).__init__( + api_version=api_version, + profile=profile + ) + + @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: + + * 2018-01-01: :mod:`v2018_01_01.models` + * 2019-09-01: :mod:`v2019_09_01.models` + * 2020-04-01: :mod:`v2020_04_01.models` + * 2020-11-01: :mod:`v2020_11_01.models` + """ + if api_version == '2018-01-01': + from .v2018_01_01 import models + return models + elif api_version == '2019-09-01': + from .v2019_09_01 import models + return models + elif api_version == '2020-04-01': + from .v2020_04_01 import models + return models + elif api_version == '2020-11-01': + from .v2020_11_01 import models + return models + raise ValueError("API version {} is not available".format(api_version)) + + @property + def jobs(self): + """Instance depends on the API version: + + * 2018-01-01: :class:`JobsOperations` + * 2019-09-01: :class:`JobsOperations` + * 2020-04-01: :class:`JobsOperations` + * 2020-11-01: :class:`JobsOperations` + """ + api_version = self._get_api_version('jobs') + if api_version == '2018-01-01': + from .v2018_01_01.operations import JobsOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import JobsOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import JobsOperations as OperationClass + elif api_version == '2020-11-01': + from .v2020_11_01.operations import JobsOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'jobs'".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: + + * 2018-01-01: :class:`Operations` + * 2019-09-01: :class:`Operations` + * 2020-04-01: :class:`Operations` + * 2020-11-01: :class:`Operations` + """ + api_version = self._get_api_version('operations') + if api_version == '2018-01-01': + from .v2018_01_01.operations import Operations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import Operations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import Operations as OperationClass + elif api_version == '2020-11-01': + from .v2020_11_01.operations import Operations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'operations'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def service(self): + """Instance depends on the API version: + + * 2018-01-01: :class:`ServiceOperations` + * 2019-09-01: :class:`ServiceOperations` + * 2020-04-01: :class:`ServiceOperations` + * 2020-11-01: :class:`ServiceOperations` + """ + api_version = self._get_api_version('service') + if api_version == '2018-01-01': + from .v2018_01_01.operations import ServiceOperations as OperationClass + elif api_version == '2019-09-01': + from .v2019_09_01.operations import ServiceOperations as OperationClass + elif api_version == '2020-04-01': + from .v2020_04_01.operations import ServiceOperations as OperationClass + elif api_version == '2020-11-01': + from .v2020_11_01.operations import ServiceOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'service'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + def close(self): + self._client.close() + def __enter__(self): + self._client.__enter__() + return self + def __exit__(self, *exc_details): + self._client.__exit__(*exc_details) diff --git a/src/databox/azext_databox/vendored_sdks/databox/version.py b/src/databox/azext_databox/vendored_sdks/databox/_version.py similarity index 84% rename from src/databox/azext_databox/vendored_sdks/databox/version.py rename to src/databox/azext_databox/vendored_sdks/databox/_version.py index c995f7836ce..c47f66669f1 100644 --- a/src/databox/azext_databox/vendored_sdks/databox/version.py +++ b/src/databox/azext_databox/vendored_sdks/databox/_version.py @@ -1,12 +1,9 @@ # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# +# Licensed under the MIT License. See License.txt in the project root for license information. # Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -VERSION = "0.2.0" +VERSION = "1.0.0" diff --git a/src/databox/azext_databox/vendored_sdks/databox/aio/__init__.py b/src/databox/azext_databox/vendored_sdks/databox/aio/__init__.py new file mode 100644 index 00000000000..bb6b75a72db --- /dev/null +++ b/src/databox/azext_databox/vendored_sdks/databox/aio/__init__.py @@ -0,0 +1,10 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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_box_management_client import DataBoxManagementClient +__all__ = ['DataBoxManagementClient'] diff --git a/src/databox/azext_databox/vendored_sdks/databox/aio/_configuration.py b/src/databox/azext_databox/vendored_sdks/databox/aio/_configuration.py new file mode 100644 index 00000000000..71fd4699f32 --- /dev/null +++ b/src/databox/azext_databox/vendored_sdks/databox/aio/_configuration.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 typing import Any + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies +from azure.mgmt.core.policies import ARMHttpLoggingPolicy + +from .._version import VERSION + + +class DataBoxManagementClientConfiguration(Configuration): + """Configuration for DataBoxManagementClient. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :param subscription_id: The Subscription Id. + :type subscription_id: str + """ + + def __init__( + self, + credential, # type: "AsyncTokenCredential" + subscription_id, # type: str + **kwargs # type: Any + ) -> None: + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + super(DataBoxManagementClientConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.subscription_id = subscription_id + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'azure-mgmt-databox/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs: Any + ) -> None: + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = policies.AsyncBearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/databox/azext_databox/vendored_sdks/databox/aio/_data_box_management_client.py b/src/databox/azext_databox/vendored_sdks/databox/aio/_data_box_management_client.py new file mode 100644 index 00000000000..3d3baff1574 --- /dev/null +++ b/src/databox/azext_databox/vendored_sdks/databox/aio/_data_box_management_client.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 azure.mgmt.core import AsyncARMPipelineClient +from msrest import Serializer, Deserializer + +from azure.profiles import KnownProfiles, ProfileDefinition +from azure.profiles.multiapiclient import MultiApiClientMixin +from ._configuration import DataBoxManagementClientConfiguration + +class _SDKClient(object): + def __init__(self, *args, **kwargs): + """This is a fake class to support current implemetation of MultiApiClientMixin." + Will be removed in final version of multiapi azure-core based client + """ + pass + +class DataBoxManagementClient(MultiApiClientMixin, _SDKClient): + """The DataBox Client. + + This ready contains multiple API versions, to help you deal with all of the Azure clouds + (Azure Stack, Azure Government, Azure China, etc.). + By default, it uses the latest API version available on public Azure. + For production, you should stick to a particular api-version and/or profile. + The profile sets a mapping between an operation group and its API version. + The api-version parameter sets the default API version if the operation + group is not described in the profile. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :param subscription_id: The Subscription Id. + :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 + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + """ + + DEFAULT_API_VERSION = '2020-11-01' + _PROFILE_TAG = "azure.mgmt.databox.DataBoxManagementClient" + LATEST_PROFILE = ProfileDefinition({ + _PROFILE_TAG: { + None: DEFAULT_API_VERSION, + }}, + _PROFILE_TAG + " latest" + ) + + def __init__( + self, + credential, # type: "AsyncTokenCredential" + subscription_id, # type: str + api_version=None, + base_url=None, + profile=KnownProfiles.default, + **kwargs # type: Any + ) -> None: + if not base_url: + base_url = 'https://management.azure.com' + self._config = DataBoxManagementClientConfiguration(credential, subscription_id, **kwargs) + self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + super(DataBoxManagementClient, self).__init__( + api_version=api_version, + profile=profile + ) + + @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: + + * 2018-01-01: :mod:`v2018_01_01.models` + * 2019-09-01: :mod:`v2019_09_01.models` + * 2020-04-01: :mod:`v2020_04_01.models` + * 2020-11-01: :mod:`v2020_11_01.models` + """ + if api_version == '2018-01-01': + from ..v2018_01_01 import models + return models + elif api_version == '2019-09-01': + from ..v2019_09_01 import models + return models + elif api_version == '2020-04-01': + from ..v2020_04_01 import models + return models + elif api_version == '2020-11-01': + from ..v2020_11_01 import models + return models + raise ValueError("API version {} is not available".format(api_version)) + + @property + def jobs(self): + """Instance depends on the API version: + + * 2018-01-01: :class:`JobsOperations` + * 2019-09-01: :class:`JobsOperations` + * 2020-04-01: :class:`JobsOperations` + * 2020-11-01: :class:`JobsOperations` + """ + api_version = self._get_api_version('jobs') + if api_version == '2018-01-01': + from ..v2018_01_01.aio.operations import JobsOperations as OperationClass + elif api_version == '2019-09-01': + from ..v2019_09_01.aio.operations import JobsOperations as OperationClass + elif api_version == '2020-04-01': + from ..v2020_04_01.aio.operations import JobsOperations as OperationClass + elif api_version == '2020-11-01': + from ..v2020_11_01.aio.operations import JobsOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'jobs'".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: + + * 2018-01-01: :class:`Operations` + * 2019-09-01: :class:`Operations` + * 2020-04-01: :class:`Operations` + * 2020-11-01: :class:`Operations` + """ + api_version = self._get_api_version('operations') + if api_version == '2018-01-01': + from ..v2018_01_01.aio.operations import Operations as OperationClass + elif api_version == '2019-09-01': + from ..v2019_09_01.aio.operations import Operations as OperationClass + elif api_version == '2020-04-01': + from ..v2020_04_01.aio.operations import Operations as OperationClass + elif api_version == '2020-11-01': + from ..v2020_11_01.aio.operations import Operations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'operations'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + @property + def service(self): + """Instance depends on the API version: + + * 2018-01-01: :class:`ServiceOperations` + * 2019-09-01: :class:`ServiceOperations` + * 2020-04-01: :class:`ServiceOperations` + * 2020-11-01: :class:`ServiceOperations` + """ + api_version = self._get_api_version('service') + if api_version == '2018-01-01': + from ..v2018_01_01.aio.operations import ServiceOperations as OperationClass + elif api_version == '2019-09-01': + from ..v2019_09_01.aio.operations import ServiceOperations as OperationClass + elif api_version == '2020-04-01': + from ..v2020_04_01.aio.operations import ServiceOperations as OperationClass + elif api_version == '2020-11-01': + from ..v2020_11_01.aio.operations import ServiceOperations as OperationClass + else: + raise ValueError("API version {} does not have operation group 'service'".format(api_version)) + return OperationClass(self._client, self._config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + + async def close(self): + await self._client.close() + async def __aenter__(self): + await self._client.__aenter__() + return self + async def __aexit__(self, *exc_details): + await self._client.__aexit__(*exc_details) diff --git a/src/databox/azext_databox/vendored_sdks/databox/models.py b/src/databox/azext_databox/vendored_sdks/databox/models.py new file mode 100644 index 00000000000..1d5d79558e5 --- /dev/null +++ b/src/databox/azext_databox/vendored_sdks/databox/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 .v2019_09_01.models import * diff --git a/src/databox/azext_databox/vendored_sdks/databox/models/_data_box_management_client_enums.py b/src/databox/azext_databox/vendored_sdks/databox/models/_data_box_management_client_enums.py deleted file mode 100644 index 4cbea094a21..00000000000 --- a/src/databox/azext_databox/vendored_sdks/databox/models/_data_box_management_client_enums.py +++ /dev/null @@ -1,147 +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 enum import Enum - - -class DataDestinationType(str, Enum): - - storage_account = "StorageAccount" #: Storage Accounts . - managed_disk = "ManagedDisk" #: Azure Managed disk storage. - - -class ShareDestinationFormatType(str, Enum): - - unknown_type = "UnknownType" #: Unknown format. - hcs = "HCS" #: Storsimple data format. - block_blob = "BlockBlob" #: Azure storage block blob format. - page_blob = "PageBlob" #: Azure storage page blob format. - azure_file = "AzureFile" #: Azure storage file format. - managed_disk = "ManagedDisk" #: Azure Compute Disk. - - -class AccessProtocol(str, Enum): - - smb = "SMB" #: Server Message Block protocol(SMB). - nfs = "NFS" #: Network File System protocol(NFS). - - -class AddressValidationStatus(str, Enum): - - valid = "Valid" #: Address provided is valid. - invalid = "Invalid" #: Address provided is invalid or not supported. - ambiguous = "Ambiguous" #: Address provided is ambiguous, please choose one of the alternate addresses returned. - - -class AddressType(str, Enum): - - none = "None" #: Address type not known. - residential = "Residential" #: Residential Address. - commercial = "Commercial" #: Commercial Address. - - -class SkuName(str, Enum): - - data_box = "DataBox" #: Databox. - data_box_disk = "DataBoxDisk" #: DataboxDisk. - data_box_heavy = "DataBoxHeavy" #: DataboxHeavy. - - -class SkuDisabledReason(str, Enum): - - none = "None" #: SKU is not disabled. - country = "Country" #: SKU is not available in the requested country. - region = "Region" #: SKU is not available to push data to the requested Azure region. - feature = "Feature" #: Required features are not enabled for the SKU. - offer_type = "OfferType" #: Subscription does not have required offer types for the SKU. - no_subscription_info = "NoSubscriptionInfo" #: Subscription has not registered to Microsoft.DataBox and Service does not have the subscription notification. - - -class NotificationStageName(str, Enum): - - device_prepared = "DevicePrepared" #: Notification at device prepared stage. - dispatched = "Dispatched" #: Notification at device dispatched stage. - delivered = "Delivered" #: Notification at device delivered stage. - picked_up = "PickedUp" #: Notification at device picked up from user stage. - at_azure_dc = "AtAzureDC" #: Notification at device received at azure datacenter stage. - data_copy = "DataCopy" #: Notification at data copy started stage. - - -class ValidationStatus(str, Enum): - - valid = "Valid" #: Validation is successful - invalid = "Invalid" #: Validation is not successful - skipped = "Skipped" #: Validation is skipped - - -class CopyStatus(str, Enum): - - not_started = "NotStarted" #: Data copy hasn't started yet. - in_progress = "InProgress" #: Data copy is in progress. - completed = "Completed" #: Data copy completed. - completed_with_errors = "CompletedWithErrors" #: Data copy completed with errors. - failed = "Failed" #: Data copy failed. No data was copied. - not_returned = "NotReturned" #: No copy triggered as device was not returned. - hardware_error = "HardwareError" #: The Device has hit hardware issues. - device_formatted = "DeviceFormatted" #: Data copy failed. The Device was formatted by user. - device_metadata_modified = "DeviceMetadataModified" #: Data copy failed. Device metadata was modified by user. - storage_account_not_accessible = "StorageAccountNotAccessible" #: Data copy failed. Storage Account was not accessible during copy. - unsupported_data = "UnsupportedData" #: Data copy failed. The Device data content is not supported. - - -class StageName(str, Enum): - - device_ordered = "DeviceOrdered" #: An order has been created. - device_prepared = "DevicePrepared" #: A device has been prepared for the order. - dispatched = "Dispatched" #: Device has been dispatched to the user of the order. - delivered = "Delivered" #: Device has been delivered to the user of the order. - picked_up = "PickedUp" #: Device has been picked up from user and in transit to azure datacenter. - at_azure_dc = "AtAzureDC" #: Device has been received at azure datacenter from the user. - data_copy = "DataCopy" #: Data copy from the device at azure datacenter. - completed = "Completed" #: Order has completed. - completed_with_errors = "CompletedWithErrors" #: Order has completed with errors. - cancelled = "Cancelled" #: Order has been cancelled. - failed_issue_reported_at_customer = "Failed_IssueReportedAtCustomer" #: Order has failed due to issue reported by user. - failed_issue_detected_at_azure_dc = "Failed_IssueDetectedAtAzureDC" #: Order has failed due to issue detected at azure datacenter. - aborted = "Aborted" #: Order has been aborted. - completed_with_warnings = "CompletedWithWarnings" #: Order has completed with warnings. - ready_to_dispatch_from_azure_dc = "ReadyToDispatchFromAzureDC" #: Device is ready to be handed to customer from Azure DC. - ready_to_receive_at_azure_dc = "ReadyToReceiveAtAzureDC" #: Device can be dropped off at Azure DC. - - -class StageStatus(str, Enum): - - none = "None" #: No status available yet. - in_progress = "InProgress" #: Stage is in progress. - succeeded = "Succeeded" #: Stage has succeeded. - failed = "Failed" #: Stage has failed. - cancelled = "Cancelled" #: Stage has been cancelled. - cancelling = "Cancelling" #: Stage is cancelling. - succeeded_with_errors = "SucceededWithErrors" #: Stage has succeeded with errors. - - -class TransportShipmentTypes(str, Enum): - - customer_managed = "CustomerManaged" #: Shipment Logistics is handled by the customer. - microsoft_managed = "MicrosoftManaged" #: Shipment Logistics is handled by Microsoft. - - -class JobDeliveryType(str, Enum): - - non_scheduled = "NonScheduled" #: Non Scheduled job. - scheduled = "Scheduled" #: Scheduled job. - - -class OverallValidationStatus(str, Enum): - - all_valid_to_proceed = "AllValidToProceed" #: Every input request is valid. - inputs_revisit_required = "InputsRevisitRequired" #: Some input requests are not valid. - certain_input_validations_skipped = "CertainInputValidationsSkipped" #: Certain input validations skipped. diff --git a/src/databox/azext_databox/vendored_sdks/databox/models/_paged_models.py b/src/databox/azext_databox/vendored_sdks/databox/models/_paged_models.py deleted file mode 100644 index 0396852889e..00000000000 --- a/src/databox/azext_databox/vendored_sdks/databox/models/_paged_models.py +++ /dev/null @@ -1,66 +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.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) -class JobResourcePaged(Paged): - """ - A paging container for iterating over a list of :class:`JobResource ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[JobResource]'} - } - - def __init__(self, *args, **kwargs): - - super(JobResourcePaged, self).__init__(*args, **kwargs) -class UnencryptedCredentialsPaged(Paged): - """ - A paging container for iterating over a list of :class:`UnencryptedCredentials ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[UnencryptedCredentials]'} - } - - def __init__(self, *args, **kwargs): - - super(UnencryptedCredentialsPaged, self).__init__(*args, **kwargs) -class SkuInformationPaged(Paged): - """ - A paging container for iterating over a list of :class:`SkuInformation ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[SkuInformation]'} - } - - def __init__(self, *args, **kwargs): - - super(SkuInformationPaged, self).__init__(*args, **kwargs) diff --git a/src/databox/azext_databox/vendored_sdks/databox/operations/_jobs_operations.py b/src/databox/azext_databox/vendored_sdks/databox/operations/_jobs_operations.py deleted file mode 100644 index a923de9b251..00000000000 --- a/src/databox/azext_databox/vendored_sdks/databox/operations/_jobs_operations.py +++ /dev/null @@ -1,758 +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. -# -------------------------------------------------------------------------- - -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 JobsOperations(object): - """JobsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :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. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - def list( - self, skip_token=None, custom_headers=None, raw=False, **operation_config): - """Lists all the jobs available under the subscription. - - :param skip_token: $skipToken is supported on Get list of jobs, which - provides the next page in the list of jobs. - :type skip_token: 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 JobResource - :rtype: - ~azure.mgmt.databox.models.JobResourcePaged[~azure.mgmt.databox.models.JobResource] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - 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') - if skip_token is not None: - query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, 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 - header_dict = None - if raw: - header_dict = {} - deserialized = models.JobResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/jobs'} - - def list_by_resource_group( - self, resource_group_name, skip_token=None, custom_headers=None, raw=False, **operation_config): - """Lists all the jobs available under the given resource group. - - :param resource_group_name: The Resource Group Name - :type resource_group_name: str - :param skip_token: $skipToken is supported on Get list of jobs, which - provides the next page in the list of jobs. - :type skip_token: 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 JobResource - :rtype: - ~azure.mgmt.databox.models.JobResourcePaged[~azure.mgmt.databox.models.JobResource] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_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') - if skip_token is not None: - query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, 'str') - - else: - url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, 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 - header_dict = None - if raw: - header_dict = {} - deserialized = models.JobResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs'} - - def get( - self, resource_group_name, job_name, expand=None, custom_headers=None, raw=False, **operation_config): - """Gets information about the specified job. - - :param resource_group_name: The Resource Group Name - :type resource_group_name: str - :param job_name: The name of the job Resource within the specified - resource group. job names must be between 3 and 24 characters in - length and use any alphanumeric and underscore only - :type job_name: str - :param expand: $expand is supported on details parameter for job, - which provides details on the job stages. - :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: JobResource or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.databox.models.JobResource or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.get.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'jobName': self._serialize.url("job_name", job_name, 'str', max_length=24, min_length=3, pattern=r'^[-\w\.]+$') - } - 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 expand is not None: - query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, header_parameters) - response = self._client.send(request, 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('JobResource', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}'} - - - def _create_initial( - self, resource_group_name, job_name, job_resource, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'jobName': self._serialize.url("job_name", job_name, 'str', max_length=24, min_length=3, pattern=r'^[-\w\.]+$') - } - 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['Accept'] = 'application/json' - 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(job_resource, 'JobResource') - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, 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('JobResource', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create( - self, resource_group_name, job_name, job_resource, custom_headers=None, raw=False, polling=True, **operation_config): - """Creates a new job with the specified parameters. Existing job cannot be - updated with this API and should instead be updated with the Update job - API. - - :param resource_group_name: The Resource Group Name - :type resource_group_name: str - :param job_name: The name of the job Resource within the specified - resource group. job names must be between 3 and 24 characters in - length and use any alphanumeric and underscore only - :type job_name: str - :param job_resource: Job details from request body. - :type job_resource: ~azure.mgmt.databox.models.JobResource - :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 JobResource or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.databox.models.JobResource] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.databox.models.JobResource]] - :raises: :class:`CloudError` - """ - raw_result = self._create_initial( - resource_group_name=resource_group_name, - job_name=job_name, - job_resource=job_resource, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('JobResource', 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.DataBox/jobs/{jobName}'} - - - def _delete_initial( - self, resource_group_name, job_name, 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'jobName': self._serialize.url("job_name", job_name, 'str', max_length=24, min_length=3, pattern=r'^[-\w\.]+$') - } - 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 = {} - 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, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [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, job_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Deletes a job. - - :param resource_group_name: The Resource Group Name - :type resource_group_name: str - :param job_name: The name of the job Resource within the specified - resource group. job names must be between 3 and 24 characters in - length and use any alphanumeric and underscore only - :type job_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 - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - job_name=job_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - - 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) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}'} - - - def _update_initial( - self, resource_group_name, job_name, job_resource_update_parameter, if_match=None, 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'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'jobName': self._serialize.url("job_name", job_name, 'str', max_length=24, min_length=3, pattern=r'^[-\w\.]+$') - } - 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['Accept'] = 'application/json' - 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 - body_content = self._serialize.body(job_resource_update_parameter, 'JobResourceUpdateParameter') - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, 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('JobResource', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def update( - self, resource_group_name, job_name, job_resource_update_parameter, if_match=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Updates the properties of an existing job. - - :param resource_group_name: The Resource Group Name - :type resource_group_name: str - :param job_name: The name of the job Resource within the specified - resource group. job names must be between 3 and 24 characters in - length and use any alphanumeric and underscore only - :type job_name: str - :param job_resource_update_parameter: Job update parameters from - request body. - :type job_resource_update_parameter: - ~azure.mgmt.databox.models.JobResourceUpdateParameter - :param if_match: Defines the If-Match condition. The patch will be - performed only if the ETag of the job on the server matches this - value. - :type if_match: 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 JobResource or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.databox.models.JobResource] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.databox.models.JobResource]] - :raises: :class:`CloudError` - """ - raw_result = self._update_initial( - resource_group_name=resource_group_name, - job_name=job_name, - job_resource_update_parameter=job_resource_update_parameter, - if_match=if_match, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('JobResource', 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) - update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}'} - - def book_shipment_pick_up( - self, resource_group_name, job_name, shipment_pick_up_request, custom_headers=None, raw=False, **operation_config): - """Book shipment pick up. - - :param resource_group_name: The Resource Group Name - :type resource_group_name: str - :param job_name: The name of the job Resource within the specified - resource group. job names must be between 3 and 24 characters in - length and use any alphanumeric and underscore only - :type job_name: str - :param shipment_pick_up_request: Details of shipment pick up request. - :type shipment_pick_up_request: - ~azure.mgmt.databox.models.ShipmentPickUpRequest - :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: ShipmentPickUpResponse or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.databox.models.ShipmentPickUpResponse or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.book_shipment_pick_up.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'jobName': self._serialize.url("job_name", job_name, 'str', max_length=24, min_length=3, pattern=r'^[-\w\.]+$') - } - 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['Accept'] = 'application/json' - 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(shipment_pick_up_request, 'ShipmentPickUpRequest') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, 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('ShipmentPickUpResponse', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - book_shipment_pick_up.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/bookShipmentPickUp'} - - def cancel( - self, resource_group_name, job_name, reason, custom_headers=None, raw=False, **operation_config): - """CancelJob. - - :param resource_group_name: The Resource Group Name - :type resource_group_name: str - :param job_name: The name of the job Resource within the specified - resource group. job names must be between 3 and 24 characters in - length and use any alphanumeric and underscore only - :type job_name: str - :param reason: Reason for cancellation. - :type reason: 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` - """ - cancellation_reason = models.CancellationReason(reason=reason) - - # Construct URL - url = self.cancel.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'jobName': self._serialize.url("job_name", job_name, 'str', max_length=24, min_length=3, pattern=r'^[-\w\.]+$') - } - 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(cancellation_reason, 'CancellationReason') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [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 - cancel.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/cancel'} - - def list_credentials( - self, resource_group_name, job_name, custom_headers=None, raw=False, **operation_config): - """This method gets the unencrypted secrets related to the job. - - :param resource_group_name: The Resource Group Name - :type resource_group_name: str - :param job_name: The name of the job Resource within the specified - resource group. job names must be between 3 and 24 characters in - length and use any alphanumeric and underscore only - :type job_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 UnencryptedCredentials - :rtype: - ~azure.mgmt.databox.models.UnencryptedCredentialsPaged[~azure.mgmt.databox.models.UnencryptedCredentials] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_credentials.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'jobName': self._serialize.url("job_name", job_name, 'str', max_length=24, min_length=3, pattern=r'^[-\w\.]+$') - } - 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['Accept'] = 'application/json' - 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, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, 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 - header_dict = None - if raw: - header_dict = {} - deserialized = models.UnencryptedCredentialsPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/listCredentials'} diff --git a/src/databox/azext_databox/vendored_sdks/databox/operations/_operations.py b/src/databox/azext_databox/vendored_sdks/databox/operations/_operations.py deleted file mode 100644 index 41166de18d1..00000000000 --- a/src/databox/azext_databox/vendored_sdks/databox/operations/_operations.py +++ /dev/null @@ -1,102 +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. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class Operations(object): - """Operations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :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. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - def list( - self, custom_headers=None, raw=False, **operation_config): - """This method gets all the 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.databox.models.OperationPaged[~azure.mgmt.databox.models.Operation] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - 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['Accept'] = 'application/json' - 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, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, 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 - header_dict = None - if raw: - header_dict = {} - deserialized = models.OperationPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/providers/Microsoft.DataBox/operations'} diff --git a/src/databox/azext_databox/vendored_sdks/databox/operations/_service_operations.py b/src/databox/azext_databox/vendored_sdks/databox/operations/_service_operations.py deleted file mode 100644 index c595d5511f4..00000000000 --- a/src/databox/azext_databox/vendored_sdks/databox/operations/_service_operations.py +++ /dev/null @@ -1,469 +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. -# -------------------------------------------------------------------------- - -import uuid -from msrest.pipeline import ClientRawResponse -from msrestazure.azure_exceptions import CloudError - -from .. import models - - -class ServiceOperations(object): - """ServiceOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :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. Constant value: "2019-09-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-09-01" - - self.config = config - - def list_available_skus( - self, location, available_sku_request, custom_headers=None, raw=False, **operation_config): - """This method provides the list of available skus for the given - subscription and location. - - :param location: The location of the resource - :type location: str - :param available_sku_request: Filters for showing the available skus. - :type available_sku_request: - ~azure.mgmt.databox.models.AvailableSkuRequest - :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 SkuInformation - :rtype: - ~azure.mgmt.databox.models.SkuInformationPaged[~azure.mgmt.databox.models.SkuInformation] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_available_skus.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['Accept'] = 'application/json' - 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(available_sku_request, 'AvailableSkuRequest') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, 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 - header_dict = None - if raw: - header_dict = {} - deserialized = models.SkuInformationPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_available_skus.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/availableSkus'} - - def list_available_skus_by_resource_group( - self, resource_group_name, location, available_sku_request, custom_headers=None, raw=False, **operation_config): - """This method provides the list of available skus for the given - subscription, resource group and location. - - :param resource_group_name: The Resource Group Name - :type resource_group_name: str - :param location: The location of the resource - :type location: str - :param available_sku_request: Filters for showing the available skus. - :type available_sku_request: - ~azure.mgmt.databox.models.AvailableSkuRequest - :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 SkuInformation - :rtype: - ~azure.mgmt.databox.models.SkuInformationPaged[~azure.mgmt.databox.models.SkuInformation] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_available_skus_by_resource_group.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, '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['Accept'] = 'application/json' - 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(available_sku_request, 'AvailableSkuRequest') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, 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 - header_dict = None - if raw: - header_dict = {} - deserialized = models.SkuInformationPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_available_skus_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/locations/{location}/availableSkus'} - - def validate_address_method( - self, location, validate_address, custom_headers=None, raw=False, **operation_config): - """[DEPRECATED NOTICE: This operation will soon be removed] This method - validates the customer shipping address and provide alternate addresses - if any. - - :param location: The location of the resource - :type location: str - :param validate_address: Shipping address of the customer. - :type validate_address: ~azure.mgmt.databox.models.ValidateAddress - :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: AddressValidationOutput or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.databox.models.AddressValidationOutput or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.validate_address_method.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['Accept'] = 'application/json' - 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(validate_address, 'ValidateAddress') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, 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('AddressValidationOutput', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - validate_address_method.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/validateAddress'} - - def validate_inputs_by_resource_group( - self, resource_group_name, location, validation_request, custom_headers=None, raw=False, **operation_config): - """This method does all necessary pre-job creation validation under - resource group. - - :param resource_group_name: The Resource Group Name - :type resource_group_name: str - :param location: The location of the resource - :type location: str - :param validation_request: Inputs of the customer. - :type validation_request: ~azure.mgmt.databox.models.ValidationRequest - :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: ValidationResponse or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.databox.models.ValidationResponse or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.validate_inputs_by_resource_group.metadata['url'] - path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, '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['Accept'] = 'application/json' - 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(validation_request, 'ValidationRequest') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, 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('ValidationResponse', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - validate_inputs_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/locations/{location}/validateInputs'} - - def validate_inputs( - self, location, validation_request, custom_headers=None, raw=False, **operation_config): - """This method does all necessary pre-job creation validation under - subscription. - - :param location: The location of the resource - :type location: str - :param validation_request: Inputs of the customer. - :type validation_request: ~azure.mgmt.databox.models.ValidationRequest - :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: ValidationResponse or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.databox.models.ValidationResponse or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - # Construct URL - url = self.validate_inputs.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['Accept'] = 'application/json' - 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(validation_request, 'ValidationRequest') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, 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('ValidationResponse', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - validate_inputs.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/validateInputs'} - - def region_configuration( - self, location, schedule_availability_request=None, transport_availability_request=None, custom_headers=None, raw=False, **operation_config): - """This API provides configuration details specific to given - region/location. - - :param location: The location of the resource - :type location: str - :param schedule_availability_request: Request body to get the - availability for scheduling orders. - :type schedule_availability_request: - ~azure.mgmt.databox.models.ScheduleAvailabilityRequest - :param transport_availability_request: Request body to get the - transport availability for given sku. - :type transport_availability_request: - ~azure.mgmt.databox.models.TransportAvailabilityRequest - :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: RegionConfigurationResponse or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.databox.models.RegionConfigurationResponse or - ~msrest.pipeline.ClientRawResponse - :raises: :class:`CloudError` - """ - region_configuration_request = models.RegionConfigurationRequest(schedule_availability_request=schedule_availability_request, transport_availability_request=transport_availability_request) - - # Construct URL - url = self.region_configuration.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['Accept'] = 'application/json' - 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(region_configuration_request, 'RegionConfigurationRequest') - - # Construct and send request - request = self._client.post(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, 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('RegionConfigurationResponse', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - region_configuration.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/regionConfiguration'} diff --git a/src/databox/azext_databox/vendored_sdks/databox/py.typed b/src/databox/azext_databox/vendored_sdks/databox/py.typed new file mode 100644 index 00000000000..e5aff4f83af --- /dev/null +++ b/src/databox/azext_databox/vendored_sdks/databox/py.typed @@ -0,0 +1 @@ +# Marker file for PEP 561. \ No newline at end of file diff --git a/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/__init__.py b/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/__init__.py new file mode 100644 index 00000000000..ae972ed54f8 --- /dev/null +++ b/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/__init__.py @@ -0,0 +1,19 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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_box_management_client import DataBoxManagementClient +from ._version import VERSION + +__version__ = VERSION +__all__ = ['DataBoxManagementClient'] + +try: + from ._patch import patch_sdk # type: ignore + patch_sdk() +except ImportError: + pass diff --git a/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/_configuration.py b/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/_configuration.py new file mode 100644 index 00000000000..ff931804797 --- /dev/null +++ b/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/_configuration.py @@ -0,0 +1,71 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies +from azure.mgmt.core.policies import ARMHttpLoggingPolicy + +from ._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any + + from azure.core.credentials import TokenCredential + + +class DataBoxManagementClientConfiguration(Configuration): + """Configuration for DataBoxManagementClient. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential + :param subscription_id: The Subscription Id. + :type subscription_id: str + """ + + def __init__( + self, + credential, # type: "TokenCredential" + subscription_id, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + super(DataBoxManagementClientConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2019-09-01" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-databox/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs # type: Any + ): + # type: (...) -> None + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = policies.BearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/_data_box_management_client.py b/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/_data_box_management_client.py new file mode 100644 index 00000000000..e696cb06a78 --- /dev/null +++ b/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/_data_box_management_client.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 typing import TYPE_CHECKING + +from azure.mgmt.core import ARMPipelineClient +from msrest import Deserializer, Serializer + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Optional + + from azure.core.credentials import TokenCredential + +from ._configuration import DataBoxManagementClientConfiguration +from .operations import Operations +from .operations import JobsOperations +from .operations import ServiceOperations +from . import models + + +class DataBoxManagementClient(object): + """The DataBox Client. + + :ivar operations: Operations operations + :vartype operations: azure.mgmt.databox.operations.Operations + :ivar jobs: JobsOperations operations + :vartype jobs: azure.mgmt.databox.operations.JobsOperations + :ivar service: ServiceOperations operations + :vartype service: azure.mgmt.databox.operations.ServiceOperations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential + :param subscription_id: The Subscription Id. + :type subscription_id: str + :param str base_url: Service URL + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + """ + + def __init__( + self, + credential, # type: "TokenCredential" + subscription_id, # type: str + base_url=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> None + if not base_url: + base_url = 'https://management.azure.com' + self._config = DataBoxManagementClientConfiguration(credential, subscription_id, **kwargs) + self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self._serialize = Serializer(client_models) + self._serialize.client_side_validation = False + self._deserialize = Deserializer(client_models) + + self.operations = Operations( + self._client, self._config, self._serialize, self._deserialize) + self.jobs = JobsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.service = ServiceOperations( + self._client, self._config, self._serialize, self._deserialize) + + def close(self): + # type: () -> None + self._client.close() + + def __enter__(self): + # type: () -> DataBoxManagementClient + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/_metadata.json b/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/_metadata.json new file mode 100644 index 00000000000..10c0c55446a --- /dev/null +++ b/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/_metadata.json @@ -0,0 +1,63 @@ +{ + "chosen_version": "2019-09-01", + "total_api_version_list": ["2019-09-01"], + "client": { + "name": "DataBoxManagementClient", + "filename": "_data_box_management_client", + "description": "The DataBox Client.", + "base_url": "\u0027https://management.azure.com\u0027", + "custom_base_url": null, + "azure_arm": true, + "has_lro_operations": true, + "client_side_validation": false + }, + "global_parameters": { + "sync": { + "credential": { + "signature": "credential, # type: \"TokenCredential\"", + "description": "Credential needed for the client to connect to Azure.", + "docstring_type": "~azure.core.credentials.TokenCredential", + "required": true + }, + "subscription_id": { + "signature": "subscription_id, # type: str", + "description": "The Subscription Id.", + "docstring_type": "str", + "required": true + } + }, + "async": { + "credential": { + "signature": "credential, # type: \"AsyncTokenCredential\"", + "description": "Credential needed for the client to connect to Azure.", + "docstring_type": "~azure.core.credentials_async.AsyncTokenCredential", + "required": true + }, + "subscription_id": { + "signature": "subscription_id, # type: str", + "description": "The Subscription Id.", + "docstring_type": "str", + "required": true + } + }, + "constant": { + }, + "call": "credential, subscription_id" + }, + "config": { + "credential": true, + "credential_scopes": ["https://management.azure.com/.default"], + "credential_default_policy_type": "BearerTokenCredentialPolicy", + "credential_default_policy_type_has_async_version": true, + "credential_key_header_name": null + }, + "operation_groups": { + "operations": "Operations", + "jobs": "JobsOperations", + "service": "ServiceOperations" + }, + "operation_mixins": { + }, + "sync_imports": "None", + "async_imports": "None" +} \ No newline at end of file diff --git a/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/_version.py b/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/_version.py new file mode 100644 index 00000000000..eae7c95b6fb --- /dev/null +++ b/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/_version.py @@ -0,0 +1,9 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 = "0.1.0" diff --git a/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/aio/__init__.py b/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/aio/__init__.py new file mode 100644 index 00000000000..bb6b75a72db --- /dev/null +++ b/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/aio/__init__.py @@ -0,0 +1,10 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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_box_management_client import DataBoxManagementClient +__all__ = ['DataBoxManagementClient'] diff --git a/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/aio/_configuration.py b/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/aio/_configuration.py new file mode 100644 index 00000000000..bd265586067 --- /dev/null +++ b/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/aio/_configuration.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 typing import Any, TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies +from azure.mgmt.core.policies import ARMHttpLoggingPolicy + +from .._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + + +class DataBoxManagementClientConfiguration(Configuration): + """Configuration for DataBoxManagementClient. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :param subscription_id: The Subscription Id. + :type subscription_id: str + """ + + def __init__( + self, + credential: "AsyncTokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + super(DataBoxManagementClientConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2019-09-01" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-databox/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs: Any + ) -> None: + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = policies.AsyncBearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/aio/_data_box_management_client.py b/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/aio/_data_box_management_client.py new file mode 100644 index 00000000000..b192ff7cd77 --- /dev/null +++ b/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/aio/_data_box_management_client.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 typing import Any, Optional, TYPE_CHECKING + +from azure.mgmt.core import AsyncARMPipelineClient +from msrest import Deserializer, Serializer + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + +from ._configuration import DataBoxManagementClientConfiguration +from .operations import Operations +from .operations import JobsOperations +from .operations import ServiceOperations +from .. import models + + +class DataBoxManagementClient(object): + """The DataBox Client. + + :ivar operations: Operations operations + :vartype operations: azure.mgmt.databox.aio.operations.Operations + :ivar jobs: JobsOperations operations + :vartype jobs: azure.mgmt.databox.aio.operations.JobsOperations + :ivar service: ServiceOperations operations + :vartype service: azure.mgmt.databox.aio.operations.ServiceOperations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :param subscription_id: The Subscription Id. + :type subscription_id: str + :param str base_url: Service URL + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + """ + + def __init__( + self, + credential: "AsyncTokenCredential", + subscription_id: str, + base_url: Optional[str] = None, + **kwargs: Any + ) -> None: + if not base_url: + base_url = 'https://management.azure.com' + self._config = DataBoxManagementClientConfiguration(credential, subscription_id, **kwargs) + self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self._serialize = Serializer(client_models) + self._serialize.client_side_validation = False + self._deserialize = Deserializer(client_models) + + self.operations = Operations( + self._client, self._config, self._serialize, self._deserialize) + self.jobs = JobsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.service = ServiceOperations( + self._client, self._config, self._serialize, self._deserialize) + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "DataBoxManagementClient": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/src/databox/azext_databox/vendored_sdks/databox/operations/__init__.py b/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/aio/operations/__init__.py similarity index 91% rename from src/databox/azext_databox/vendored_sdks/databox/operations/__init__.py rename to src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/aio/operations/__init__.py index 034974abbcc..9c8fa7a8253 100644 --- a/src/databox/azext_databox/vendored_sdks/databox/operations/__init__.py +++ b/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/aio/operations/__init__.py @@ -1,12 +1,9 @@ # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# +# Licensed under the MIT License. See License.txt in the project root for license information. # Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from ._operations import Operations diff --git a/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/aio/operations/_jobs_operations.py b/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/aio/operations/_jobs_operations.py new file mode 100644 index 00000000000..f01a52d0a1a --- /dev/null +++ b/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/aio/operations/_jobs_operations.py @@ -0,0 +1,835 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class JobsOperations: + """JobsOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.databox.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + skip_token: Optional[str] = None, + **kwargs + ) -> AsyncIterable["_models.JobResourceList"]: + """Lists all the jobs available under the subscription. + + :param skip_token: $skipToken is supported on Get list of jobs, which provides the next page in + the list of jobs. + :type skip_token: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either JobResourceList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.databox.models.JobResourceList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.JobResourceList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-09-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + 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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if skip_token is not None: + query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('JobResourceList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/jobs'} # type: ignore + + def list_by_resource_group( + self, + resource_group_name: str, + skip_token: Optional[str] = None, + **kwargs + ) -> AsyncIterable["_models.JobResourceList"]: + """Lists all the jobs available under the given resource group. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param skip_token: $skipToken is supported on Get list of jobs, which provides the next page in + the list of jobs. + :type skip_token: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either JobResourceList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.databox.models.JobResourceList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.JobResourceList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-09-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if skip_token is not None: + query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('JobResourceList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs'} # type: ignore + + async def get( + self, + resource_group_name: str, + job_name: str, + expand: Optional[str] = None, + **kwargs + ) -> "_models.JobResource": + """Gets information about the specified job. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param job_name: The name of the job Resource within the specified resource group. job names + must be between 3 and 24 characters in length and use any alphanumeric and underscore only. + :type job_name: str + :param expand: $expand is supported on details parameter for job, which provides details on the + job stages. + :type expand: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: JobResource, or the result of cls(response) + :rtype: ~azure.mgmt.databox.models.JobResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.JobResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-09-01" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'jobName': self._serialize.url("job_name", job_name, 'str', max_length=24, min_length=3, pattern=r'^[-\w\.]+$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('JobResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}'} # type: ignore + + async def _create_initial( + self, + resource_group_name: str, + job_name: str, + job_resource: "_models.JobResource", + **kwargs + ) -> Optional["_models.JobResource"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.JobResource"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-09-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'jobName': self._serialize.url("job_name", job_name, 'str', max_length=24, min_length=3, pattern=r'^[-\w\.]+$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(job_resource, 'JobResource') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('JobResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}'} # type: ignore + + async def begin_create( + self, + resource_group_name: str, + job_name: str, + job_resource: "_models.JobResource", + **kwargs + ) -> AsyncLROPoller["_models.JobResource"]: + """Creates a new job with the specified parameters. Existing job cannot be updated with this API + and should instead be updated with the Update job API. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param job_name: The name of the job Resource within the specified resource group. job names + must be between 3 and 24 characters in length and use any alphanumeric and underscore only. + :type job_name: str + :param job_resource: Job details from request body. + :type job_resource: ~azure.mgmt.databox.models.JobResource + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either JobResource or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.databox.models.JobResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.JobResource"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._create_initial( + resource_group_name=resource_group_name, + job_name=job_name, + job_resource=job_resource, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('JobResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'jobName': self._serialize.url("job_name", job_name, 'str', max_length=24, min_length=3, pattern=r'^[-\w\.]+$'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + job_name: str, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-09-01" + accept = "application/json" + + # Construct URL + url = self._delete_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'jobName': self._serialize.url("job_name", job_name, 'str', max_length=24, min_length=3, pattern=r'^[-\w\.]+$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}'} # type: ignore + + async def begin_delete( + self, + resource_group_name: str, + job_name: str, + **kwargs + ) -> AsyncLROPoller[None]: + """Deletes a job. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param job_name: The name of the job Resource within the specified resource group. job names + must be between 3 and 24 characters in length and use any alphanumeric and underscore only. + :type job_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + job_name=job_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'jobName': self._serialize.url("job_name", job_name, 'str', max_length=24, min_length=3, pattern=r'^[-\w\.]+$'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}'} # type: ignore + + async def _update_initial( + self, + resource_group_name: str, + job_name: str, + job_resource_update_parameter: "_models.JobResourceUpdateParameter", + if_match: Optional[str] = None, + **kwargs + ) -> Optional["_models.JobResource"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.JobResource"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-09-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._update_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'jobName': self._serialize.url("job_name", job_name, 'str', max_length=24, min_length=3, pattern=r'^[-\w\.]+$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(job_resource_update_parameter, 'JobResourceUpdateParameter') + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('JobResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}'} # type: ignore + + async def begin_update( + self, + resource_group_name: str, + job_name: str, + job_resource_update_parameter: "_models.JobResourceUpdateParameter", + if_match: Optional[str] = None, + **kwargs + ) -> AsyncLROPoller["_models.JobResource"]: + """Updates the properties of an existing job. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param job_name: The name of the job Resource within the specified resource group. job names + must be between 3 and 24 characters in length and use any alphanumeric and underscore only. + :type job_name: str + :param job_resource_update_parameter: Job update parameters from request body. + :type job_resource_update_parameter: ~azure.mgmt.databox.models.JobResourceUpdateParameter + :param if_match: Defines the If-Match condition. The patch will be performed only if the ETag + of the job on the server matches this value. + :type if_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either JobResource or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.databox.models.JobResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.JobResource"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._update_initial( + resource_group_name=resource_group_name, + job_name=job_name, + job_resource_update_parameter=job_resource_update_parameter, + if_match=if_match, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('JobResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'jobName': self._serialize.url("job_name", job_name, 'str', max_length=24, min_length=3, pattern=r'^[-\w\.]+$'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}'} # type: ignore + + async def book_shipment_pick_up( + self, + resource_group_name: str, + job_name: str, + shipment_pick_up_request: "_models.ShipmentPickUpRequest", + **kwargs + ) -> "_models.ShipmentPickUpResponse": + """Book shipment pick up. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param job_name: The name of the job Resource within the specified resource group. job names + must be between 3 and 24 characters in length and use any alphanumeric and underscore only. + :type job_name: str + :param shipment_pick_up_request: Details of shipment pick up request. + :type shipment_pick_up_request: ~azure.mgmt.databox.models.ShipmentPickUpRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ShipmentPickUpResponse, or the result of cls(response) + :rtype: ~azure.mgmt.databox.models.ShipmentPickUpResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ShipmentPickUpResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-09-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.book_shipment_pick_up.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'jobName': self._serialize.url("job_name", job_name, 'str', max_length=24, min_length=3, pattern=r'^[-\w\.]+$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(shipment_pick_up_request, 'ShipmentPickUpRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ShipmentPickUpResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + book_shipment_pick_up.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/bookShipmentPickUp'} # type: ignore + + async def cancel( + self, + resource_group_name: str, + job_name: str, + cancellation_reason: "_models.CancellationReason", + **kwargs + ) -> None: + """CancelJob. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param job_name: The name of the job Resource within the specified resource group. job names + must be between 3 and 24 characters in length and use any alphanumeric and underscore only. + :type job_name: str + :param cancellation_reason: Reason for cancellation. + :type cancellation_reason: ~azure.mgmt.databox.models.CancellationReason + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-09-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.cancel.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'jobName': self._serialize.url("job_name", job_name, 'str', max_length=24, min_length=3, pattern=r'^[-\w\.]+$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(cancellation_reason, 'CancellationReason') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + cancel.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/cancel'} # type: ignore + + def list_credentials( + self, + resource_group_name: str, + job_name: str, + **kwargs + ) -> AsyncIterable["_models.UnencryptedCredentialsList"]: + """This method gets the unencrypted secrets related to the job. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param job_name: The name of the job Resource within the specified resource group. job names + must be between 3 and 24 characters in length and use any alphanumeric and underscore only. + :type job_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either UnencryptedCredentialsList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.databox.models.UnencryptedCredentialsList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.UnencryptedCredentialsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-09-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_credentials.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'jobName': self._serialize.url("job_name", job_name, 'str', max_length=24, min_length=3, pattern=r'^[-\w\.]+$'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('UnencryptedCredentialsList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/listCredentials'} # type: ignore diff --git a/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/aio/operations/_operations.py b/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/aio/operations/_operations.py new file mode 100644 index 00000000000..bd99838be8c --- /dev/null +++ b/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/aio/operations/_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. +# -------------------------------------------------------------------------- +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class Operations: + """Operations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.databox.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + **kwargs + ) -> AsyncIterable["_models.OperationList"]: + """This method gets all the operations. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either OperationList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.databox.models.OperationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-09-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('OperationList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.DataBox/operations'} # type: ignore diff --git a/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/aio/operations/_service_operations.py b/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/aio/operations/_service_operations.py new file mode 100644 index 00000000000..a07ce55b508 --- /dev/null +++ b/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/aio/operations/_service_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. +# -------------------------------------------------------------------------- +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ServiceOperations: + """ServiceOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.databox.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_available_skus( + self, + location: str, + available_sku_request: "_models.AvailableSkuRequest", + **kwargs + ) -> AsyncIterable["_models.AvailableSkusResult"]: + """This method provides the list of available skus for the given subscription and location. + + :param location: The location of the resource. + :type location: str + :param available_sku_request: Filters for showing the available skus. + :type available_sku_request: ~azure.mgmt.databox.models.AvailableSkuRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either AvailableSkusResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.databox.models.AvailableSkusResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.AvailableSkusResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-09-01" + content_type = "application/json" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_available_skus.metadata['url'] # type: ignore + 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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(available_sku_request, 'AvailableSkuRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(available_sku_request, 'AvailableSkuRequest') + body_content_kwargs['content'] = body_content + request = self._client.get(url, query_parameters, header_parameters, **body_content_kwargs) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('AvailableSkusResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_available_skus.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/availableSkus'} # type: ignore + + def list_available_skus_by_resource_group( + self, + resource_group_name: str, + location: str, + available_sku_request: "_models.AvailableSkuRequest", + **kwargs + ) -> AsyncIterable["_models.AvailableSkusResult"]: + """This method provides the list of available skus for the given subscription, resource group and + location. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param location: The location of the resource. + :type location: str + :param available_sku_request: Filters for showing the available skus. + :type available_sku_request: ~azure.mgmt.databox.models.AvailableSkuRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either AvailableSkusResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.databox.models.AvailableSkusResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.AvailableSkusResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-09-01" + content_type = "application/json" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_available_skus_by_resource_group.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'location': self._serialize.url("location", location, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(available_sku_request, 'AvailableSkuRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(available_sku_request, 'AvailableSkuRequest') + body_content_kwargs['content'] = body_content + request = self._client.get(url, query_parameters, header_parameters, **body_content_kwargs) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('AvailableSkusResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_available_skus_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/locations/{location}/availableSkus'} # type: ignore + + async def validate_address( + self, + location: str, + validate_address: "_models.ValidateAddress", + **kwargs + ) -> "_models.AddressValidationOutput": + """[DEPRECATED NOTICE: This operation will soon be removed] This method validates the customer + shipping address and provide alternate addresses if any. + + :param location: The location of the resource. + :type location: str + :param validate_address: Shipping address of the customer. + :type validate_address: ~azure.mgmt.databox.models.ValidateAddress + :keyword callable cls: A custom type or function that will be passed the direct response + :return: AddressValidationOutput, or the result of cls(response) + :rtype: ~azure.mgmt.databox.models.AddressValidationOutput + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.AddressValidationOutput"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-09-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.validate_address.metadata['url'] # type: ignore + 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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(validate_address, 'ValidateAddress') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('AddressValidationOutput', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + validate_address.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/validateAddress'} # type: ignore + + async def validate_inputs_by_resource_group( + self, + resource_group_name: str, + location: str, + validation_request: "_models.ValidationRequest", + **kwargs + ) -> "_models.ValidationResponse": + """This method does all necessary pre-job creation validation under resource group. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param location: The location of the resource. + :type location: str + :param validation_request: Inputs of the customer. + :type validation_request: ~azure.mgmt.databox.models.ValidationRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ValidationResponse, or the result of cls(response) + :rtype: ~azure.mgmt.databox.models.ValidationResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ValidationResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-09-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.validate_inputs_by_resource_group.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'location': self._serialize.url("location", location, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(validation_request, 'ValidationRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ValidationResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + validate_inputs_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/locations/{location}/validateInputs'} # type: ignore + + async def validate_inputs( + self, + location: str, + validation_request: "_models.ValidationRequest", + **kwargs + ) -> "_models.ValidationResponse": + """This method does all necessary pre-job creation validation under subscription. + + :param location: The location of the resource. + :type location: str + :param validation_request: Inputs of the customer. + :type validation_request: ~azure.mgmt.databox.models.ValidationRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ValidationResponse, or the result of cls(response) + :rtype: ~azure.mgmt.databox.models.ValidationResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ValidationResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-09-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.validate_inputs.metadata['url'] # type: ignore + 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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(validation_request, 'ValidationRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ValidationResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + validate_inputs.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/validateInputs'} # type: ignore + + async def region_configuration( + self, + location: str, + region_configuration_request: "_models.RegionConfigurationRequest", + **kwargs + ) -> "_models.RegionConfigurationResponse": + """This API provides configuration details specific to given region/location. + + :param location: The location of the resource. + :type location: str + :param region_configuration_request: Request body to get the configuration for the region. + :type region_configuration_request: ~azure.mgmt.databox.models.RegionConfigurationRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :return: RegionConfigurationResponse, or the result of cls(response) + :rtype: ~azure.mgmt.databox.models.RegionConfigurationResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.RegionConfigurationResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-09-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.region_configuration.metadata['url'] # type: ignore + 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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(region_configuration_request, 'RegionConfigurationRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('RegionConfigurationResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + region_configuration.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/regionConfiguration'} # type: ignore diff --git a/src/databox/azext_databox/vendored_sdks/databox/models/__init__.py b/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/models/__init__.py similarity index 59% rename from src/databox/azext_databox/vendored_sdks/databox/models/__init__.py rename to src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/models/__init__.py index ade07b1ec9a..84b34d519a6 100644 --- a/src/databox/azext_databox/vendored_sdks/databox/models/__init__.py +++ b/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/models/__init__.py @@ -1,21 +1,21 @@ # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# +# Licensed under the MIT License. See License.txt in the project root for license information. # Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- try: from ._models_py3 import AccountCredentialDetails from ._models_py3 import AddressValidationOutput + from ._models_py3 import AddressValidationProperties from ._models_py3 import ApplianceNetworkConfiguration from ._models_py3 import ArmBaseObject from ._models_py3 import AvailableSkuRequest + from ._models_py3 import AvailableSkusResult from ._models_py3 import CancellationReason + from ._models_py3 import CloudError from ._models_py3 import ContactDetails from ._models_py3 import CopyLogDetails from ._models_py3 import CopyProgress @@ -32,11 +32,11 @@ from ._models_py3 import DataBoxHeavyJobSecrets from ._models_py3 import DataBoxHeavySecret from ._models_py3 import DataBoxJobDetails - from ._models_py3 import DataboxJobSecrets from ._models_py3 import DataBoxScheduleAvailabilityRequest from ._models_py3 import DataBoxSecret from ._models_py3 import DataDestinationDetailsValidationRequest from ._models_py3 import DataDestinationDetailsValidationResponseProperties + from ._models_py3 import DataboxJobSecrets from ._models_py3 import DcAccessSecurityCode from ._models_py3 import DestinationAccountDetails from ._models_py3 import DestinationManagedDiskDetails @@ -50,12 +50,14 @@ from ._models_py3 import JobDetails from ._models_py3 import JobErrorDetails from ._models_py3 import JobResource + from ._models_py3 import JobResourceList from ._models_py3 import JobResourceUpdateParameter from ._models_py3 import JobSecrets from ._models_py3 import JobStages from ._models_py3 import NotificationPreference from ._models_py3 import Operation from ._models_py3 import OperationDisplay + from ._models_py3 import OperationList from ._models_py3 import PackageShippingDetails from ._models_py3 import Preferences from ._models_py3 import PreferencesValidationRequest @@ -82,6 +84,7 @@ from ._models_py3 import TransportAvailabilityResponse from ._models_py3 import TransportPreferences from ._models_py3 import UnencryptedCredentials + from ._models_py3 import UnencryptedCredentialsList from ._models_py3 import UpdateJobDetails from ._models_py3 import ValidateAddress from ._models_py3 import ValidationInputRequest @@ -89,113 +92,121 @@ from ._models_py3 import ValidationRequest from ._models_py3 import ValidationResponse except (SyntaxError, ImportError): - from ._models import AccountCredentialDetails - from ._models import AddressValidationOutput - from ._models import ApplianceNetworkConfiguration - from ._models import ArmBaseObject - from ._models import AvailableSkuRequest - from ._models import CancellationReason - from ._models import ContactDetails - from ._models import CopyLogDetails - from ._models import CopyProgress - from ._models import CreateJobValidations - from ._models import CreateOrderLimitForSubscriptionValidationRequest - from ._models import CreateOrderLimitForSubscriptionValidationResponseProperties - from ._models import DataBoxAccountCopyLogDetails - from ._models import DataBoxDiskCopyLogDetails - from ._models import DataBoxDiskCopyProgress - from ._models import DataBoxDiskJobDetails - from ._models import DataBoxDiskJobSecrets - from ._models import DataBoxHeavyAccountCopyLogDetails - from ._models import DataBoxHeavyJobDetails - from ._models import DataBoxHeavyJobSecrets - from ._models import DataBoxHeavySecret - from ._models import DataBoxJobDetails - from ._models import DataboxJobSecrets - from ._models import DataBoxScheduleAvailabilityRequest - from ._models import DataBoxSecret - from ._models import DataDestinationDetailsValidationRequest - from ._models import DataDestinationDetailsValidationResponseProperties - from ._models import DcAccessSecurityCode - from ._models import DestinationAccountDetails - from ._models import DestinationManagedDiskDetails - from ._models import DestinationStorageAccountDetails - from ._models import DestinationToServiceLocationMap - from ._models import DiskScheduleAvailabilityRequest - from ._models import DiskSecret - from ._models import Error - from ._models import HeavyScheduleAvailabilityRequest - from ._models import JobDeliveryInfo - from ._models import JobDetails - from ._models import JobErrorDetails - from ._models import JobResource - from ._models import JobResourceUpdateParameter - from ._models import JobSecrets - from ._models import JobStages - from ._models import NotificationPreference - from ._models import Operation - from ._models import OperationDisplay - from ._models import PackageShippingDetails - from ._models import Preferences - from ._models import PreferencesValidationRequest - from ._models import PreferencesValidationResponseProperties - from ._models import RegionConfigurationRequest - from ._models import RegionConfigurationResponse - from ._models import Resource - from ._models import ScheduleAvailabilityRequest - from ._models import ScheduleAvailabilityResponse - from ._models import ShareCredentialDetails - from ._models import ShipmentPickUpRequest - from ._models import ShipmentPickUpResponse - from ._models import ShippingAddress - from ._models import Sku - from ._models import SkuAvailabilityValidationRequest - from ._models import SkuAvailabilityValidationResponseProperties - from ._models import SkuCapacity - from ._models import SkuCost - from ._models import SkuInformation - from ._models import SubscriptionIsAllowedToCreateJobValidationRequest - from ._models import SubscriptionIsAllowedToCreateJobValidationResponseProperties - from ._models import TransportAvailabilityDetails - from ._models import TransportAvailabilityRequest - from ._models import TransportAvailabilityResponse - from ._models import TransportPreferences - from ._models import UnencryptedCredentials - from ._models import UpdateJobDetails - from ._models import ValidateAddress - from ._models import ValidationInputRequest - from ._models import ValidationInputResponse - from ._models import ValidationRequest - from ._models import ValidationResponse -from ._paged_models import JobResourcePaged -from ._paged_models import OperationPaged -from ._paged_models import SkuInformationPaged -from ._paged_models import UnencryptedCredentialsPaged + from ._models import AccountCredentialDetails # type: ignore + from ._models import AddressValidationOutput # type: ignore + from ._models import AddressValidationProperties # type: ignore + from ._models import ApplianceNetworkConfiguration # type: ignore + from ._models import ArmBaseObject # type: ignore + from ._models import AvailableSkuRequest # type: ignore + from ._models import AvailableSkusResult # type: ignore + from ._models import CancellationReason # type: ignore + from ._models import CloudError # type: ignore + from ._models import ContactDetails # type: ignore + from ._models import CopyLogDetails # type: ignore + from ._models import CopyProgress # type: ignore + from ._models import CreateJobValidations # type: ignore + from ._models import CreateOrderLimitForSubscriptionValidationRequest # type: ignore + from ._models import CreateOrderLimitForSubscriptionValidationResponseProperties # type: ignore + from ._models import DataBoxAccountCopyLogDetails # type: ignore + from ._models import DataBoxDiskCopyLogDetails # type: ignore + from ._models import DataBoxDiskCopyProgress # type: ignore + from ._models import DataBoxDiskJobDetails # type: ignore + from ._models import DataBoxDiskJobSecrets # type: ignore + from ._models import DataBoxHeavyAccountCopyLogDetails # type: ignore + from ._models import DataBoxHeavyJobDetails # type: ignore + from ._models import DataBoxHeavyJobSecrets # type: ignore + from ._models import DataBoxHeavySecret # type: ignore + from ._models import DataBoxJobDetails # type: ignore + from ._models import DataBoxScheduleAvailabilityRequest # type: ignore + from ._models import DataBoxSecret # type: ignore + from ._models import DataDestinationDetailsValidationRequest # type: ignore + from ._models import DataDestinationDetailsValidationResponseProperties # type: ignore + from ._models import DataboxJobSecrets # type: ignore + from ._models import DcAccessSecurityCode # type: ignore + from ._models import DestinationAccountDetails # type: ignore + from ._models import DestinationManagedDiskDetails # type: ignore + from ._models import DestinationStorageAccountDetails # type: ignore + from ._models import DestinationToServiceLocationMap # type: ignore + from ._models import DiskScheduleAvailabilityRequest # type: ignore + from ._models import DiskSecret # type: ignore + from ._models import Error # type: ignore + from ._models import HeavyScheduleAvailabilityRequest # type: ignore + from ._models import JobDeliveryInfo # type: ignore + from ._models import JobDetails # type: ignore + from ._models import JobErrorDetails # type: ignore + from ._models import JobResource # type: ignore + from ._models import JobResourceList # type: ignore + from ._models import JobResourceUpdateParameter # type: ignore + from ._models import JobSecrets # type: ignore + from ._models import JobStages # type: ignore + from ._models import NotificationPreference # type: ignore + from ._models import Operation # type: ignore + from ._models import OperationDisplay # type: ignore + from ._models import OperationList # type: ignore + from ._models import PackageShippingDetails # type: ignore + from ._models import Preferences # type: ignore + from ._models import PreferencesValidationRequest # type: ignore + from ._models import PreferencesValidationResponseProperties # type: ignore + from ._models import RegionConfigurationRequest # type: ignore + from ._models import RegionConfigurationResponse # type: ignore + from ._models import Resource # type: ignore + from ._models import ScheduleAvailabilityRequest # type: ignore + from ._models import ScheduleAvailabilityResponse # type: ignore + from ._models import ShareCredentialDetails # type: ignore + from ._models import ShipmentPickUpRequest # type: ignore + from ._models import ShipmentPickUpResponse # type: ignore + from ._models import ShippingAddress # type: ignore + from ._models import Sku # type: ignore + from ._models import SkuAvailabilityValidationRequest # type: ignore + from ._models import SkuAvailabilityValidationResponseProperties # type: ignore + from ._models import SkuCapacity # type: ignore + from ._models import SkuCost # type: ignore + from ._models import SkuInformation # type: ignore + from ._models import SubscriptionIsAllowedToCreateJobValidationRequest # type: ignore + from ._models import SubscriptionIsAllowedToCreateJobValidationResponseProperties # type: ignore + from ._models import TransportAvailabilityDetails # type: ignore + from ._models import TransportAvailabilityRequest # type: ignore + from ._models import TransportAvailabilityResponse # type: ignore + from ._models import TransportPreferences # type: ignore + from ._models import UnencryptedCredentials # type: ignore + from ._models import UnencryptedCredentialsList # type: ignore + from ._models import UpdateJobDetails # type: ignore + from ._models import ValidateAddress # type: ignore + from ._models import ValidationInputRequest # type: ignore + from ._models import ValidationInputResponse # type: ignore + from ._models import ValidationRequest # type: ignore + from ._models import ValidationResponse # type: ignore + from ._data_box_management_client_enums import ( - DataDestinationType, - ShareDestinationFormatType, AccessProtocol, - AddressValidationStatus, AddressType, - SkuName, - SkuDisabledReason, - NotificationStageName, - ValidationStatus, + AddressValidationStatus, + ClassDiscriminator, CopyStatus, + DataDestinationType, + JobDeliveryType, + NotificationStageName, + OverallValidationStatus, + ShareDestinationFormatType, + SkuDisabledReason, + SkuName, StageName, StageStatus, TransportShipmentTypes, - JobDeliveryType, - OverallValidationStatus, + ValidationInputDiscriminator, + ValidationStatus, ) __all__ = [ 'AccountCredentialDetails', 'AddressValidationOutput', + 'AddressValidationProperties', 'ApplianceNetworkConfiguration', 'ArmBaseObject', 'AvailableSkuRequest', + 'AvailableSkusResult', 'CancellationReason', + 'CloudError', 'ContactDetails', 'CopyLogDetails', 'CopyProgress', @@ -212,11 +223,11 @@ 'DataBoxHeavyJobSecrets', 'DataBoxHeavySecret', 'DataBoxJobDetails', - 'DataboxJobSecrets', 'DataBoxScheduleAvailabilityRequest', 'DataBoxSecret', 'DataDestinationDetailsValidationRequest', 'DataDestinationDetailsValidationResponseProperties', + 'DataboxJobSecrets', 'DcAccessSecurityCode', 'DestinationAccountDetails', 'DestinationManagedDiskDetails', @@ -230,12 +241,14 @@ 'JobDetails', 'JobErrorDetails', 'JobResource', + 'JobResourceList', 'JobResourceUpdateParameter', 'JobSecrets', 'JobStages', 'NotificationPreference', 'Operation', 'OperationDisplay', + 'OperationList', 'PackageShippingDetails', 'Preferences', 'PreferencesValidationRequest', @@ -262,29 +275,28 @@ 'TransportAvailabilityResponse', 'TransportPreferences', 'UnencryptedCredentials', + 'UnencryptedCredentialsList', 'UpdateJobDetails', 'ValidateAddress', 'ValidationInputRequest', 'ValidationInputResponse', 'ValidationRequest', 'ValidationResponse', - 'OperationPaged', - 'JobResourcePaged', - 'UnencryptedCredentialsPaged', - 'SkuInformationPaged', - 'DataDestinationType', - 'ShareDestinationFormatType', 'AccessProtocol', - 'AddressValidationStatus', 'AddressType', - 'SkuName', - 'SkuDisabledReason', - 'NotificationStageName', - 'ValidationStatus', + 'AddressValidationStatus', + 'ClassDiscriminator', 'CopyStatus', + 'DataDestinationType', + 'JobDeliveryType', + 'NotificationStageName', + 'OverallValidationStatus', + 'ShareDestinationFormatType', + 'SkuDisabledReason', + 'SkuName', 'StageName', 'StageStatus', 'TransportShipmentTypes', - 'JobDeliveryType', - 'OverallValidationStatus', + 'ValidationInputDiscriminator', + 'ValidationStatus', ] diff --git a/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/models/_data_box_management_client_enums.py b/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/models/_data_box_management_client_enums.py new file mode 100644 index 00000000000..e3da769b08c --- /dev/null +++ b/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/models/_data_box_management_client_enums.py @@ -0,0 +1,192 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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, EnumMeta +from six import with_metaclass + +class _CaseInsensitiveEnumMeta(EnumMeta): + def __getitem__(self, name): + return super().__getitem__(name.upper()) + + def __getattr__(cls, name): + """Return the enum member matching `name` + We use __getattr__ instead of descriptors or inserting into the enum + class' __dict__ in order to support `name` and `value` being both + properties for enum members (which live in the class' __dict__) and + enum members themselves. + """ + try: + return cls._member_map_[name.upper()] + except KeyError: + raise AttributeError(name) + + +class AccessProtocol(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + SMB = "SMB" #: Server Message Block protocol(SMB). + NFS = "NFS" #: Network File System protocol(NFS). + +class AddressType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Type of address. + """ + + NONE = "None" #: Address type not known. + RESIDENTIAL = "Residential" #: Residential Address. + COMMERCIAL = "Commercial" #: Commercial Address. + +class AddressValidationStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The address validation status. + """ + + VALID = "Valid" #: Address provided is valid. + INVALID = "Invalid" #: Address provided is invalid or not supported. + AMBIGUOUS = "Ambiguous" #: Address provided is ambiguous, please choose one of the alternate addresses returned. + +class ClassDiscriminator(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Indicates the type of job details. + """ + + DATA_BOX = "DataBox" #: Databox orders. + DATA_BOX_DISK = "DataBoxDisk" #: DataboxDisk orders. + DATA_BOX_HEAVY = "DataBoxHeavy" #: DataboxHeavy orders. + +class CopyStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The Status of the copy + """ + + NOT_STARTED = "NotStarted" #: Data copy hasn't started yet. + IN_PROGRESS = "InProgress" #: Data copy is in progress. + COMPLETED = "Completed" #: Data copy completed. + COMPLETED_WITH_ERRORS = "CompletedWithErrors" #: Data copy completed with errors. + FAILED = "Failed" #: Data copy failed. No data was copied. + NOT_RETURNED = "NotReturned" #: No copy triggered as device was not returned. + HARDWARE_ERROR = "HardwareError" #: The Device has hit hardware issues. + DEVICE_FORMATTED = "DeviceFormatted" #: Data copy failed. The Device was formatted by user. + DEVICE_METADATA_MODIFIED = "DeviceMetadataModified" #: Data copy failed. Device metadata was modified by user. + STORAGE_ACCOUNT_NOT_ACCESSIBLE = "StorageAccountNotAccessible" #: Data copy failed. Storage Account was not accessible during copy. + UNSUPPORTED_DATA = "UnsupportedData" #: Data copy failed. The Device data content is not supported. + +class DataDestinationType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Data Destination Type. + """ + + STORAGE_ACCOUNT = "StorageAccount" #: Storage Accounts . + MANAGED_DISK = "ManagedDisk" #: Azure Managed disk storage. + +class JobDeliveryType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Delivery type of Job. + """ + + NON_SCHEDULED = "NonScheduled" #: Non Scheduled job. + SCHEDULED = "Scheduled" #: Scheduled job. + +class NotificationStageName(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Name of the stage. + """ + + DEVICE_PREPARED = "DevicePrepared" #: Notification at device prepared stage. + DISPATCHED = "Dispatched" #: Notification at device dispatched stage. + DELIVERED = "Delivered" #: Notification at device delivered stage. + PICKED_UP = "PickedUp" #: Notification at device picked up from user stage. + AT_AZURE_DC = "AtAzureDC" #: Notification at device received at azure datacenter stage. + DATA_COPY = "DataCopy" #: Notification at data copy started stage. + +class OverallValidationStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Overall validation status. + """ + + ALL_VALID_TO_PROCEED = "AllValidToProceed" #: Every input request is valid. + INPUTS_REVISIT_REQUIRED = "InputsRevisitRequired" #: Some input requests are not valid. + CERTAIN_INPUT_VALIDATIONS_SKIPPED = "CertainInputValidationsSkipped" #: Certain input validations skipped. + +class ShareDestinationFormatType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Type of the share. + """ + + UNKNOWN_TYPE = "UnknownType" #: Unknown format. + HCS = "HCS" #: Storsimple data format. + BLOCK_BLOB = "BlockBlob" #: Azure storage block blob format. + PAGE_BLOB = "PageBlob" #: Azure storage page blob format. + AZURE_FILE = "AzureFile" #: Azure storage file format. + MANAGED_DISK = "ManagedDisk" #: Azure Compute Disk. + +class SkuDisabledReason(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Reason why the Sku is disabled. + """ + + NONE = "None" #: SKU is not disabled. + COUNTRY = "Country" #: SKU is not available in the requested country. + REGION = "Region" #: SKU is not available to push data to the requested Azure region. + FEATURE = "Feature" #: Required features are not enabled for the SKU. + OFFER_TYPE = "OfferType" #: Subscription does not have required offer types for the SKU. + NO_SUBSCRIPTION_INFO = "NoSubscriptionInfo" #: Subscription has not registered to Microsoft.DataBox and Service does not have the subscription notification. + +class SkuName(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + DATA_BOX = "DataBox" #: Databox. + DATA_BOX_DISK = "DataBoxDisk" #: DataboxDisk. + DATA_BOX_HEAVY = "DataBoxHeavy" #: DataboxHeavy. + +class StageName(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Name of the stage which is in progress. + """ + + DEVICE_ORDERED = "DeviceOrdered" #: An order has been created. + DEVICE_PREPARED = "DevicePrepared" #: A device has been prepared for the order. + DISPATCHED = "Dispatched" #: Device has been dispatched to the user of the order. + DELIVERED = "Delivered" #: Device has been delivered to the user of the order. + PICKED_UP = "PickedUp" #: Device has been picked up from user and in transit to azure datacenter. + AT_AZURE_DC = "AtAzureDC" #: Device has been received at azure datacenter from the user. + DATA_COPY = "DataCopy" #: Data copy from the device at azure datacenter. + COMPLETED = "Completed" #: Order has completed. + COMPLETED_WITH_ERRORS = "CompletedWithErrors" #: Order has completed with errors. + CANCELLED = "Cancelled" #: Order has been cancelled. + FAILED_ISSUE_REPORTED_AT_CUSTOMER = "Failed_IssueReportedAtCustomer" #: Order has failed due to issue reported by user. + FAILED_ISSUE_DETECTED_AT_AZURE_DC = "Failed_IssueDetectedAtAzureDC" #: Order has failed due to issue detected at azure datacenter. + ABORTED = "Aborted" #: Order has been aborted. + COMPLETED_WITH_WARNINGS = "CompletedWithWarnings" #: Order has completed with warnings. + READY_TO_DISPATCH_FROM_AZURE_DC = "ReadyToDispatchFromAzureDC" #: Device is ready to be handed to customer from Azure DC. + READY_TO_RECEIVE_AT_AZURE_DC = "ReadyToReceiveAtAzureDC" #: Device can be dropped off at Azure DC. + +class StageStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Status of the job stage. + """ + + NONE = "None" #: No status available yet. + IN_PROGRESS = "InProgress" #: Stage is in progress. + SUCCEEDED = "Succeeded" #: Stage has succeeded. + FAILED = "Failed" #: Stage has failed. + CANCELLED = "Cancelled" #: Stage has been cancelled. + CANCELLING = "Cancelling" #: Stage is cancelling. + SUCCEEDED_WITH_ERRORS = "SucceededWithErrors" #: Stage has succeeded with errors. + +class TransportShipmentTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Transport Shipment Type supported for given region. + """ + + CUSTOMER_MANAGED = "CustomerManaged" #: Shipment Logistics is handled by the customer. + MICROSOFT_MANAGED = "MicrosoftManaged" #: Shipment Logistics is handled by Microsoft. + +class ValidationInputDiscriminator(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Identifies the type of validation request. + """ + + VALIDATE_ADDRESS = "ValidateAddress" #: Identify request and response of address validation. + VALIDATE_DATA_DESTINATION_DETAILS = "ValidateDataDestinationDetails" #: Identify request and response of data destination details validation. + VALIDATE_SUBSCRIPTION_IS_ALLOWED_TO_CREATE_JOB = "ValidateSubscriptionIsAllowedToCreateJob" #: Identify request and response for validation of subscription permission to create job. + VALIDATE_PREFERENCES = "ValidatePreferences" #: Identify request and response of preference validation. + VALIDATE_CREATE_ORDER_LIMIT = "ValidateCreateOrderLimit" #: Identify request and response of create order limit for subscription validation. + VALIDATE_SKU_AVAILABILITY = "ValidateSkuAvailability" #: Identify request and response of active job limit for sku availability. + +class ValidationStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Create order limit validation status. + """ + + VALID = "Valid" #: Validation is successful. + INVALID = "Invalid" #: Validation is not successful. + SKIPPED = "Skipped" #: Validation is skipped. diff --git a/src/databox/azext_databox/vendored_sdks/databox/models/_models.py b/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/models/_models.py similarity index 67% rename from src/databox/azext_databox/vendored_sdks/databox/models/_models.py rename to src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/models/_models.py index 34a4d7aa419..0d62bb7ec20 100644 --- a/src/databox/azext_databox/vendored_sdks/databox/models/_models.py +++ b/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/models/_models.py @@ -1,37 +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. -# +# Licensed under the MIT License. See License.txt in the project root for license information. # Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from msrest.serialization import Model -from msrest.exceptions import HttpOperationError +import msrest.serialization -class AccountCredentialDetails(Model): +class AccountCredentialDetails(msrest.serialization.Model): """Credential details of the account. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar account_name: Name of the account. :vartype account_name: str - :ivar data_destination_type: Data Destination Type. Possible values - include: 'StorageAccount', 'ManagedDisk' - :vartype data_destination_type: str or - ~azure.mgmt.databox.models.DataDestinationType - :ivar account_connection_string: Connection string of the account endpoint - to use the account as a storage endpoint on the device. + :ivar data_destination_type: Data Destination Type. Possible values include: "StorageAccount", + "ManagedDisk". + :vartype data_destination_type: str or ~azure.mgmt.databox.models.DataDestinationType + :ivar account_connection_string: Connection string of the account endpoint to use the account + as a storage endpoint on the device. :vartype account_connection_string: str - :ivar share_credential_details: Per share level unencrypted access - credentials. - :vartype share_credential_details: - list[~azure.mgmt.databox.models.ShareCredentialDetails] + :ivar share_credential_details: Per share level unencrypted access credentials. + :vartype share_credential_details: list[~azure.mgmt.databox.models.ShareCredentialDetails] """ _validation = { @@ -43,12 +35,15 @@ class AccountCredentialDetails(Model): _attribute_map = { 'account_name': {'key': 'accountName', 'type': 'str'}, - 'data_destination_type': {'key': 'dataDestinationType', 'type': 'DataDestinationType'}, + 'data_destination_type': {'key': 'dataDestinationType', 'type': 'str'}, 'account_connection_string': {'key': 'accountConnectionString', 'type': 'str'}, 'share_credential_details': {'key': 'shareCredentialDetails', 'type': '[ShareCredentialDetails]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(AccountCredentialDetails, self).__init__(**kwargs) self.account_name = None self.data_destination_type = None @@ -56,21 +51,23 @@ def __init__(self, **kwargs): self.share_credential_details = None -class AddressValidationOutput(Model): +class AddressValidationOutput(msrest.serialization.Model): """Output of the address validation api. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. + :param validation_type: Identifies the type of validation response.Constant filled by server. + Possible values include: "ValidateAddress", "ValidateDataDestinationDetails", + "ValidateSubscriptionIsAllowedToCreateJob", "ValidatePreferences", "ValidateCreateOrderLimit", + "ValidateSkuAvailability". + :type validation_type: str or ~azure.mgmt.databox.models.ValidationInputDiscriminator :ivar error: Error code and message of validation response. :vartype error: ~azure.mgmt.databox.models.Error - :ivar validation_status: The address validation status. Possible values - include: 'Valid', 'Invalid', 'Ambiguous' - :vartype validation_status: str or - ~azure.mgmt.databox.models.AddressValidationStatus + :ivar validation_status: The address validation status. Possible values include: "Valid", + "Invalid", "Ambiguous". + :vartype validation_status: str or ~azure.mgmt.databox.models.AddressValidationStatus :ivar alternate_addresses: List of alternate addresses. - :vartype alternate_addresses: - list[~azure.mgmt.databox.models.ShippingAddress] + :vartype alternate_addresses: list[~azure.mgmt.databox.models.ShippingAddress] """ _validation = { @@ -80,23 +77,114 @@ class AddressValidationOutput(Model): } _attribute_map = { + 'validation_type': {'key': 'properties.validationType', 'type': 'str'}, 'error': {'key': 'properties.error', 'type': 'Error'}, - 'validation_status': {'key': 'properties.validationStatus', 'type': 'AddressValidationStatus'}, + 'validation_status': {'key': 'properties.validationStatus', 'type': 'str'}, 'alternate_addresses': {'key': 'properties.alternateAddresses', 'type': '[ShippingAddress]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(AddressValidationOutput, self).__init__(**kwargs) + self.validation_type = None # type: Optional[str] + self.error = None + self.validation_status = None + self.alternate_addresses = None + + +class ValidationInputResponse(msrest.serialization.Model): + """Minimum properties that should be present in each individual validation response. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: AddressValidationProperties, CreateOrderLimitForSubscriptionValidationResponseProperties, DataDestinationDetailsValidationResponseProperties, PreferencesValidationResponseProperties, SkuAvailabilityValidationResponseProperties, SubscriptionIsAllowedToCreateJobValidationResponseProperties. + + 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 validation_type: Required. Identifies the type of validation response.Constant filled by + server. Possible values include: "ValidateAddress", "ValidateDataDestinationDetails", + "ValidateSubscriptionIsAllowedToCreateJob", "ValidatePreferences", "ValidateCreateOrderLimit", + "ValidateSkuAvailability". + :type validation_type: str or ~azure.mgmt.databox.models.ValidationInputDiscriminator + :ivar error: Error code and message of validation response. + :vartype error: ~azure.mgmt.databox.models.Error + """ + + _validation = { + 'validation_type': {'required': True}, + 'error': {'readonly': True}, + } + + _attribute_map = { + 'validation_type': {'key': 'validationType', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'Error'}, + } + + _subtype_map = { + 'validation_type': {'ValidateAddress': 'AddressValidationProperties', 'ValidateCreateOrderLimit': 'CreateOrderLimitForSubscriptionValidationResponseProperties', 'ValidateDataDestinationDetails': 'DataDestinationDetailsValidationResponseProperties', 'ValidatePreferences': 'PreferencesValidationResponseProperties', 'ValidateSkuAvailability': 'SkuAvailabilityValidationResponseProperties', 'ValidateSubscriptionIsAllowedToCreateJob': 'SubscriptionIsAllowedToCreateJobValidationResponseProperties'} + } + + def __init__( + self, + **kwargs + ): + super(ValidationInputResponse, self).__init__(**kwargs) + self.validation_type = None # type: Optional[str] self.error = None + + +class AddressValidationProperties(ValidationInputResponse): + """The address validation output. + + 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 validation_type: Required. Identifies the type of validation response.Constant filled by + server. Possible values include: "ValidateAddress", "ValidateDataDestinationDetails", + "ValidateSubscriptionIsAllowedToCreateJob", "ValidatePreferences", "ValidateCreateOrderLimit", + "ValidateSkuAvailability". + :type validation_type: str or ~azure.mgmt.databox.models.ValidationInputDiscriminator + :ivar error: Error code and message of validation response. + :vartype error: ~azure.mgmt.databox.models.Error + :ivar validation_status: The address validation status. Possible values include: "Valid", + "Invalid", "Ambiguous". + :vartype validation_status: str or ~azure.mgmt.databox.models.AddressValidationStatus + :ivar alternate_addresses: List of alternate addresses. + :vartype alternate_addresses: list[~azure.mgmt.databox.models.ShippingAddress] + """ + + _validation = { + 'validation_type': {'required': True}, + 'error': {'readonly': True}, + 'validation_status': {'readonly': True}, + 'alternate_addresses': {'readonly': True}, + } + + _attribute_map = { + 'validation_type': {'key': 'validationType', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'Error'}, + 'validation_status': {'key': 'validationStatus', 'type': 'str'}, + 'alternate_addresses': {'key': 'alternateAddresses', 'type': '[ShippingAddress]'}, + } + + def __init__( + self, + **kwargs + ): + super(AddressValidationProperties, self).__init__(**kwargs) + self.validation_type = 'ValidateAddress' # type: str self.validation_status = None self.alternate_addresses = None -class ApplianceNetworkConfiguration(Model): +class ApplianceNetworkConfiguration(msrest.serialization.Model): """The Network Adapter configuration of a DataBox. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar name: Name of the network. :vartype name: str @@ -114,17 +202,19 @@ class ApplianceNetworkConfiguration(Model): 'mac_address': {'key': 'macAddress', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ApplianceNetworkConfiguration, self).__init__(**kwargs) self.name = None self.mac_address = None -class ArmBaseObject(Model): +class ArmBaseObject(msrest.serialization.Model): """Base class for all objects under resource. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar name: Name of the object. :vartype name: str @@ -146,33 +236,32 @@ class ArmBaseObject(Model): 'type': {'key': 'type', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ArmBaseObject, self).__init__(**kwargs) self.name = None self.id = None self.type = None -class AvailableSkuRequest(Model): +class AvailableSkuRequest(msrest.serialization.Model): """The filters for showing the available skus. - Variables are only populated by the server, and will be ignored when - sending a request. + 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 transfer_type: Required. Type of the transfer. Default value: - "ImportToAzure" . + :ivar transfer_type: Required. Type of the transfer. Default value: "ImportToAzure". :vartype transfer_type: str - :param country: Required. ISO country code. Country for hardware shipment. - For codes check: - https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements + :param country: Required. ISO country code. Country for hardware shipment. For codes check: + https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements. :type country: str - :param location: Required. Location for data transfer. For locations - check: - https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01 + :param location: Required. Location for data transfer. For locations check: + https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01. :type location: str - :param sku_names: Sku Names to filter for available skus + :param sku_names: Sku Names to filter for available skus. :type sku_names: list[str or ~azure.mgmt.databox.models.SkuName] """ @@ -186,19 +275,51 @@ class AvailableSkuRequest(Model): 'transfer_type': {'key': 'transferType', 'type': 'str'}, 'country': {'key': 'country', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, - 'sku_names': {'key': 'skuNames', 'type': '[SkuName]'}, + 'sku_names': {'key': 'skuNames', 'type': '[str]'}, } transfer_type = "ImportToAzure" - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(AvailableSkuRequest, self).__init__(**kwargs) - self.country = kwargs.get('country', None) - self.location = kwargs.get('location', None) + self.country = kwargs['country'] + self.location = kwargs['location'] self.sku_names = kwargs.get('sku_names', None) -class CancellationReason(Model): +class AvailableSkusResult(msrest.serialization.Model): + """The available skus operation response. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of available skus. + :vartype value: list[~azure.mgmt.databox.models.SkuInformation] + :param next_link: Link for the next set of skus. + :type next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[SkuInformation]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(AvailableSkusResult, self).__init__(**kwargs) + self.value = None + self.next_link = kwargs.get('next_link', None) + + +class CancellationReason(msrest.serialization.Model): """Reason for cancellation. All required parameters must be populated in order to send to Azure. @@ -215,22 +336,24 @@ class CancellationReason(Model): 'reason': {'key': 'reason', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(CancellationReason, self).__init__(**kwargs) - self.reason = kwargs.get('reason', None) + self.reason = kwargs['reason'] -class CloudError(Model): +class CloudError(msrest.serialization.Model): """The error information object. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar code: Error code string. :vartype code: str :ivar message: Descriptive error information. :vartype message: str - :param target: Error target + :param target: Error target. :type target: str :param details: More detailed error information. :type details: list[~azure.mgmt.databox.models.CloudError] @@ -248,7 +371,10 @@ class CloudError(Model): 'details': {'key': 'details', 'type': '[CloudError]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(CloudError, self).__init__(**kwargs) self.code = None self.message = None @@ -256,19 +382,7 @@ def __init__(self, **kwargs): self.details = kwargs.get('details', None) -class CloudErrorException(HttpOperationError): - """Server responsed with exception of type: 'CloudError'. - - :param deserialize: A deserializer - :param response: Server response to be deserialized. - """ - - def __init__(self, deserialize, response, *args): - - super(CloudErrorException, self).__init__(deserialize, response, 'CloudError', *args) - - -class ContactDetails(Model): +class ContactDetails(msrest.serialization.Model): """Contact Details. All required parameters must be populated in order to send to Azure. @@ -281,12 +395,10 @@ class ContactDetails(Model): :type phone_extension: str :param mobile: Mobile number of the contact person. :type mobile: str - :param email_list: Required. List of Email-ids to be notified about job - progress. + :param email_list: Required. List of Email-ids to be notified about job progress. :type email_list: list[str] :param notification_preference: Notification preference for a job stage. - :type notification_preference: - list[~azure.mgmt.databox.models.NotificationPreference] + :type notification_preference: list[~azure.mgmt.databox.models.NotificationPreference] """ _validation = { @@ -304,27 +416,30 @@ class ContactDetails(Model): 'notification_preference': {'key': 'notificationPreference', 'type': '[NotificationPreference]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ContactDetails, self).__init__(**kwargs) - self.contact_name = kwargs.get('contact_name', None) - self.phone = kwargs.get('phone', None) + self.contact_name = kwargs['contact_name'] + self.phone = kwargs['phone'] self.phone_extension = kwargs.get('phone_extension', None) self.mobile = kwargs.get('mobile', None) - self.email_list = kwargs.get('email_list', None) + self.email_list = kwargs['email_list'] self.notification_preference = kwargs.get('notification_preference', None) -class CopyLogDetails(Model): +class CopyLogDetails(msrest.serialization.Model): """Details for log generated during copy. You probably want to use the sub-classes and not this class directly. Known - sub-classes are: DataBoxAccountCopyLogDetails, DataBoxDiskCopyLogDetails, - DataBoxHeavyAccountCopyLogDetails + sub-classes are: DataBoxAccountCopyLogDetails, DataBoxDiskCopyLogDetails, DataBoxHeavyAccountCopyLogDetails. All required parameters must be populated in order to send to Azure. - :param copy_log_details_type: Required. Constant filled by server. - :type copy_log_details_type: str + :param copy_log_details_type: Required. Indicates the type of job details.Constant filled by + server. Possible values include: "DataBox", "DataBoxDisk", "DataBoxHeavy". + :type copy_log_details_type: str or ~azure.mgmt.databox.models.ClassDiscriminator """ _validation = { @@ -339,46 +454,44 @@ class CopyLogDetails(Model): 'copy_log_details_type': {'DataBox': 'DataBoxAccountCopyLogDetails', 'DataBoxDisk': 'DataBoxDiskCopyLogDetails', 'DataBoxHeavy': 'DataBoxHeavyAccountCopyLogDetails'} } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(CopyLogDetails, self).__init__(**kwargs) - self.copy_log_details_type = None + self.copy_log_details_type = None # type: Optional[str] -class CopyProgress(Model): +class CopyProgress(msrest.serialization.Model): """Copy progress. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. - :ivar storage_account_name: Name of the storage account where the data - needs to be uploaded. + :ivar storage_account_name: Name of the storage account where the data needs to be uploaded. :vartype storage_account_name: str - :ivar data_destination_type: Data Destination Type. Possible values - include: 'StorageAccount', 'ManagedDisk' - :vartype data_destination_type: str or - ~azure.mgmt.databox.models.DataDestinationType + :ivar data_destination_type: Data Destination Type. Possible values include: "StorageAccount", + "ManagedDisk". + :vartype data_destination_type: str or ~azure.mgmt.databox.models.DataDestinationType :ivar account_id: Id of the account where the data needs to be uploaded. :vartype account_id: str :ivar bytes_sent_to_cloud: Amount of data uploaded by the job as of now. :vartype bytes_sent_to_cloud: long - :ivar total_bytes_to_process: Total amount of data to be processed by the - job. + :ivar total_bytes_to_process: Total amount of data to be processed by the job. :vartype total_bytes_to_process: long :ivar files_processed: Number of files processed by the job as of now. :vartype files_processed: long - :ivar total_files_to_process: Total number of files to be processed by the - job. + :ivar total_files_to_process: Total number of files to be processed by the job. :vartype total_files_to_process: long - :ivar invalid_files_processed: Number of files not adhering to azure - naming conventions which were processed by automatic renaming + :ivar invalid_files_processed: Number of files not adhering to azure naming conventions which + were processed by automatic renaming. :vartype invalid_files_processed: long - :ivar invalid_file_bytes_uploaded: Total amount of data not adhering to - azure naming conventions which were processed by automatic renaming + :ivar invalid_file_bytes_uploaded: Total amount of data not adhering to azure naming + conventions which were processed by automatic renaming. :vartype invalid_file_bytes_uploaded: long - :ivar renamed_container_count: Number of folders not adhering to azure - naming conventions which were processed by automatic renaming + :ivar renamed_container_count: Number of folders not adhering to azure naming conventions which + were processed by automatic renaming. :vartype renamed_container_count: long - :ivar files_errored_out: Number of files which could not be copied + :ivar files_errored_out: Number of files which could not be copied. :vartype files_errored_out: long """ @@ -398,7 +511,7 @@ class CopyProgress(Model): _attribute_map = { 'storage_account_name': {'key': 'storageAccountName', 'type': 'str'}, - 'data_destination_type': {'key': 'dataDestinationType', 'type': 'DataDestinationType'}, + 'data_destination_type': {'key': 'dataDestinationType', 'type': 'str'}, 'account_id': {'key': 'accountId', 'type': 'str'}, 'bytes_sent_to_cloud': {'key': 'bytesSentToCloud', 'type': 'long'}, 'total_bytes_to_process': {'key': 'totalBytesToProcess', 'type': 'long'}, @@ -410,7 +523,10 @@ class CopyProgress(Model): 'files_errored_out': {'key': 'filesErroredOut', 'type': 'long'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(CopyProgress, self).__init__(**kwargs) self.storage_account_name = None self.data_destination_type = None @@ -425,19 +541,19 @@ def __init__(self, **kwargs): self.files_errored_out = None -class ValidationRequest(Model): +class ValidationRequest(msrest.serialization.Model): """Input request for all pre job creation validation. You probably want to use the sub-classes and not this class directly. Known - sub-classes are: CreateJobValidations + sub-classes are: CreateJobValidations. All required parameters must be populated in order to send to Azure. - :param individual_request_details: Required. List of request details - contain validationType and its request as key and value respectively. - :type individual_request_details: - list[~azure.mgmt.databox.models.ValidationInputRequest] - :param validation_category: Required. Constant filled by server. + :param individual_request_details: Required. List of request details contain validationType and + its request as key and value respectively. + :type individual_request_details: list[~azure.mgmt.databox.models.ValidationInputRequest] + :param validation_category: Required. Identify the nature of validation.Constant filled by + server. :type validation_category: str """ @@ -455,10 +571,13 @@ class ValidationRequest(Model): 'validation_category': {'JobCreationValidation': 'CreateJobValidations'} } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ValidationRequest, self).__init__(**kwargs) - self.individual_request_details = kwargs.get('individual_request_details', None) - self.validation_category = None + self.individual_request_details = kwargs['individual_request_details'] + self.validation_category = None # type: Optional[str] class CreateJobValidations(ValidationRequest): @@ -466,11 +585,11 @@ class CreateJobValidations(ValidationRequest): All required parameters must be populated in order to send to Azure. - :param individual_request_details: Required. List of request details - contain validationType and its request as key and value respectively. - :type individual_request_details: - list[~azure.mgmt.databox.models.ValidationInputRequest] - :param validation_category: Required. Constant filled by server. + :param individual_request_details: Required. List of request details contain validationType and + its request as key and value respectively. + :type individual_request_details: list[~azure.mgmt.databox.models.ValidationInputRequest] + :param validation_category: Required. Identify the nature of validation.Constant filled by + server. :type validation_category: str """ @@ -484,24 +603,27 @@ class CreateJobValidations(ValidationRequest): 'validation_category': {'key': 'validationCategory', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(CreateJobValidations, self).__init__(**kwargs) - self.validation_category = 'JobCreationValidation' + self.validation_category = 'JobCreationValidation' # type: str -class ValidationInputRequest(Model): +class ValidationInputRequest(msrest.serialization.Model): """Minimum fields that must be present in any type of validation request. You probably want to use the sub-classes and not this class directly. Known - sub-classes are: CreateOrderLimitForSubscriptionValidationRequest, - DataDestinationDetailsValidationRequest, PreferencesValidationRequest, - SkuAvailabilityValidationRequest, - SubscriptionIsAllowedToCreateJobValidationRequest, ValidateAddress + sub-classes are: ValidateAddress, CreateOrderLimitForSubscriptionValidationRequest, DataDestinationDetailsValidationRequest, PreferencesValidationRequest, SkuAvailabilityValidationRequest, SubscriptionIsAllowedToCreateJobValidationRequest. All required parameters must be populated in order to send to Azure. - :param validation_type: Required. Constant filled by server. - :type validation_type: str + :param validation_type: Required. Identifies the type of validation request.Constant filled by + server. Possible values include: "ValidateAddress", "ValidateDataDestinationDetails", + "ValidateSubscriptionIsAllowedToCreateJob", "ValidatePreferences", "ValidateCreateOrderLimit", + "ValidateSkuAvailability". + :type validation_type: str or ~azure.mgmt.databox.models.ValidationInputDiscriminator """ _validation = { @@ -513,12 +635,15 @@ class ValidationInputRequest(Model): } _subtype_map = { - 'validation_type': {'ValidateCreateOrderLimit': 'CreateOrderLimitForSubscriptionValidationRequest', 'ValidateDataDestinationDetails': 'DataDestinationDetailsValidationRequest', 'ValidatePreferences': 'PreferencesValidationRequest', 'ValidateSkuAvailability': 'SkuAvailabilityValidationRequest', 'ValidateSubscriptionIsAllowedToCreateJob': 'SubscriptionIsAllowedToCreateJobValidationRequest', 'ValidateAddress': 'ValidateAddress'} + 'validation_type': {'ValidateAddress': 'ValidateAddress', 'ValidateCreateOrderLimit': 'CreateOrderLimitForSubscriptionValidationRequest', 'ValidateDataDestinationDetails': 'DataDestinationDetailsValidationRequest', 'ValidatePreferences': 'PreferencesValidationRequest', 'ValidateSkuAvailability': 'SkuAvailabilityValidationRequest', 'ValidateSubscriptionIsAllowedToCreateJob': 'SubscriptionIsAllowedToCreateJobValidationRequest'} } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ValidationInputRequest, self).__init__(**kwargs) - self.validation_type = None + self.validation_type = None # type: Optional[str] class CreateOrderLimitForSubscriptionValidationRequest(ValidationInputRequest): @@ -526,10 +651,13 @@ class CreateOrderLimitForSubscriptionValidationRequest(ValidationInputRequest): All required parameters must be populated in order to send to Azure. - :param validation_type: Required. Constant filled by server. - :type validation_type: str - :param device_type: Required. Device type to be used for the job. Possible - values include: 'DataBox', 'DataBoxDisk', 'DataBoxHeavy' + :param validation_type: Required. Identifies the type of validation request.Constant filled by + server. Possible values include: "ValidateAddress", "ValidateDataDestinationDetails", + "ValidateSubscriptionIsAllowedToCreateJob", "ValidatePreferences", "ValidateCreateOrderLimit", + "ValidateSkuAvailability". + :type validation_type: str or ~azure.mgmt.databox.models.ValidationInputDiscriminator + :param device_type: Required. Device type to be used for the job. Possible values include: + "DataBox", "DataBoxDisk", "DataBoxHeavy". :type device_type: str or ~azure.mgmt.databox.models.SkuName """ @@ -540,103 +668,68 @@ class CreateOrderLimitForSubscriptionValidationRequest(ValidationInputRequest): _attribute_map = { 'validation_type': {'key': 'validationType', 'type': 'str'}, - 'device_type': {'key': 'deviceType', 'type': 'SkuName'}, + 'device_type': {'key': 'deviceType', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(CreateOrderLimitForSubscriptionValidationRequest, self).__init__(**kwargs) - self.device_type = kwargs.get('device_type', None) - self.validation_type = 'ValidateCreateOrderLimit' - - -class ValidationInputResponse(Model): - """Minimum properties that should be present in each individual validation - response. - - You probably want to use the sub-classes and not this class directly. Known - sub-classes are: - CreateOrderLimitForSubscriptionValidationResponseProperties, - DataDestinationDetailsValidationResponseProperties, - PreferencesValidationResponseProperties, - SkuAvailabilityValidationResponseProperties, - SubscriptionIsAllowedToCreateJobValidationResponseProperties - - 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 error: Error code and message of validation response. - :vartype error: ~azure.mgmt.databox.models.Error - :param validation_type: Required. Constant filled by server. - :type validation_type: str - """ - - _validation = { - 'error': {'readonly': True}, - 'validation_type': {'required': True}, - } - - _attribute_map = { - 'error': {'key': 'error', 'type': 'Error'}, - 'validation_type': {'key': 'validationType', 'type': 'str'}, - } - - _subtype_map = { - 'validation_type': {'ValidateCreateOrderLimit': 'CreateOrderLimitForSubscriptionValidationResponseProperties', 'ValidateDataDestinationDetails': 'DataDestinationDetailsValidationResponseProperties', 'ValidatePreferences': 'PreferencesValidationResponseProperties', 'ValidateSkuAvailability': 'SkuAvailabilityValidationResponseProperties', 'ValidateSubscriptionIsAllowedToCreateJob': 'SubscriptionIsAllowedToCreateJobValidationResponseProperties'} - } - - def __init__(self, **kwargs): - super(ValidationInputResponse, self).__init__(**kwargs) - self.error = None - self.validation_type = None + self.validation_type = 'ValidateCreateOrderLimit' # type: str + self.device_type = kwargs['device_type'] class CreateOrderLimitForSubscriptionValidationResponseProperties(ValidationInputResponse): """Properties of create order limit for subscription validation response. - Variables are only populated by the server, and will be ignored when - sending a request. + 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 validation_type: Required. Identifies the type of validation response.Constant filled by + server. Possible values include: "ValidateAddress", "ValidateDataDestinationDetails", + "ValidateSubscriptionIsAllowedToCreateJob", "ValidatePreferences", "ValidateCreateOrderLimit", + "ValidateSkuAvailability". + :type validation_type: str or ~azure.mgmt.databox.models.ValidationInputDiscriminator :ivar error: Error code and message of validation response. :vartype error: ~azure.mgmt.databox.models.Error - :param validation_type: Required. Constant filled by server. - :type validation_type: str - :ivar status: Create order limit validation status. Possible values - include: 'Valid', 'Invalid', 'Skipped' + :ivar status: Create order limit validation status. Possible values include: "Valid", + "Invalid", "Skipped". :vartype status: str or ~azure.mgmt.databox.models.ValidationStatus """ _validation = { - 'error': {'readonly': True}, 'validation_type': {'required': True}, + 'error': {'readonly': True}, 'status': {'readonly': True}, } _attribute_map = { - 'error': {'key': 'error', 'type': 'Error'}, 'validation_type': {'key': 'validationType', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'ValidationStatus'}, + 'error': {'key': 'error', 'type': 'Error'}, + 'status': {'key': 'status', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(CreateOrderLimitForSubscriptionValidationResponseProperties, self).__init__(**kwargs) + self.validation_type = 'ValidateCreateOrderLimit' # type: str self.status = None - self.validation_type = 'ValidateCreateOrderLimit' class DataBoxAccountCopyLogDetails(CopyLogDetails): """Copy log details for a storage account of a DataBox job. - Variables are only populated by the server, and will be ignored when - sending a request. + 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 copy_log_details_type: Required. Constant filled by server. - :type copy_log_details_type: str + :param copy_log_details_type: Required. Indicates the type of job details.Constant filled by + server. Possible values include: "DataBox", "DataBoxDisk", "DataBoxHeavy". + :type copy_log_details_type: str or ~azure.mgmt.databox.models.ClassDiscriminator :ivar account_name: Destination account name. :vartype account_name: str :ivar copy_log_link: Link for copy logs. @@ -655,23 +748,26 @@ class DataBoxAccountCopyLogDetails(CopyLogDetails): 'copy_log_link': {'key': 'copyLogLink', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(DataBoxAccountCopyLogDetails, self).__init__(**kwargs) + self.copy_log_details_type = 'DataBox' # type: str self.account_name = None self.copy_log_link = None - self.copy_log_details_type = 'DataBox' class DataBoxDiskCopyLogDetails(CopyLogDetails): """Copy Log Details for a disk. - Variables are only populated by the server, and will be ignored when - sending a request. + 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 copy_log_details_type: Required. Constant filled by server. - :type copy_log_details_type: str + :param copy_log_details_type: Required. Indicates the type of job details.Constant filled by + server. Possible values include: "DataBox", "DataBoxDisk", "DataBoxHeavy". + :type copy_log_details_type: str or ~azure.mgmt.databox.models.ClassDiscriminator :ivar disk_serial_number: Disk Serial Number. :vartype disk_serial_number: str :ivar error_log_link: Link for copy error logs. @@ -694,31 +790,31 @@ class DataBoxDiskCopyLogDetails(CopyLogDetails): 'verbose_log_link': {'key': 'verboseLogLink', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(DataBoxDiskCopyLogDetails, self).__init__(**kwargs) + self.copy_log_details_type = 'DataBoxDisk' # type: str self.disk_serial_number = None self.error_log_link = None self.verbose_log_link = None - self.copy_log_details_type = 'DataBoxDisk' -class DataBoxDiskCopyProgress(Model): +class DataBoxDiskCopyProgress(msrest.serialization.Model): """DataBox Disk Copy Progress. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. - :ivar serial_number: The serial number of the disk + :ivar serial_number: The serial number of the disk. :vartype serial_number: str :ivar bytes_copied: Bytes copied during the copy of disk. :vartype bytes_copied: long - :ivar percent_complete: Indicates the percentage completed for the copy of - the disk. + :ivar percent_complete: Indicates the percentage completed for the copy of the disk. :vartype percent_complete: int - :ivar status: The Status of the copy. Possible values include: - 'NotStarted', 'InProgress', 'Completed', 'CompletedWithErrors', 'Failed', - 'NotReturned', 'HardwareError', 'DeviceFormatted', - 'DeviceMetadataModified', 'StorageAccountNotAccessible', 'UnsupportedData' + :ivar status: The Status of the copy. Possible values include: "NotStarted", "InProgress", + "Completed", "CompletedWithErrors", "Failed", "NotReturned", "HardwareError", + "DeviceFormatted", "DeviceMetadataModified", "StorageAccountNotAccessible", "UnsupportedData". :vartype status: str or ~azure.mgmt.databox.models.CopyStatus """ @@ -733,10 +829,13 @@ class DataBoxDiskCopyProgress(Model): 'serial_number': {'key': 'serialNumber', 'type': 'str'}, 'bytes_copied': {'key': 'bytesCopied', 'type': 'long'}, 'percent_complete': {'key': 'percentComplete', 'type': 'int'}, - 'status': {'key': 'status', 'type': 'CopyStatus'}, + 'status': {'key': 'status', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(DataBoxDiskCopyProgress, self).__init__(**kwargs) self.serial_number = None self.bytes_copied = None @@ -744,50 +843,44 @@ def __init__(self, **kwargs): self.status = None -class JobDetails(Model): +class JobDetails(msrest.serialization.Model): """Job details. You probably want to use the sub-classes and not this class directly. Known - sub-classes are: DataBoxDiskJobDetails, DataBoxHeavyJobDetails, - DataBoxJobDetails + sub-classes are: DataBoxJobDetails, DataBoxDiskJobDetails, DataBoxHeavyJobDetails. - Variables are only populated by the server, and will be ignored when - sending a request. + 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 expected_data_size_in_terabytes: The expected size of the data, - which needs to be transferred in this job, in terabytes. + :param expected_data_size_in_terabytes: The expected size of the data, which needs to be + transferred in this job, in terabytes. :type expected_data_size_in_terabytes: int :ivar job_stages: List of stages that run in the job. :vartype job_stages: list[~azure.mgmt.databox.models.JobStages] - :param contact_details: Required. Contact details for notification and - shipping. + :param contact_details: Required. Contact details for notification and shipping. :type contact_details: ~azure.mgmt.databox.models.ContactDetails :param shipping_address: Required. Shipping address of the customer. :type shipping_address: ~azure.mgmt.databox.models.ShippingAddress :ivar delivery_package: Delivery package shipping details. - :vartype delivery_package: - ~azure.mgmt.databox.models.PackageShippingDetails + :vartype delivery_package: ~azure.mgmt.databox.models.PackageShippingDetails :ivar return_package: Return package shipping details. :vartype return_package: ~azure.mgmt.databox.models.PackageShippingDetails :param destination_account_details: Required. Destination account details. - :type destination_account_details: - list[~azure.mgmt.databox.models.DestinationAccountDetails] + :type destination_account_details: list[~azure.mgmt.databox.models.DestinationAccountDetails] :ivar error_details: Error details for failure. This is optional. :vartype error_details: list[~azure.mgmt.databox.models.JobErrorDetails] + :param job_details_type: Required. Indicates the type of job details.Constant filled by server. + Possible values include: "DataBox", "DataBoxDisk", "DataBoxHeavy". + :type job_details_type: str or ~azure.mgmt.databox.models.ClassDiscriminator :param preferences: Preferences for the order. :type preferences: ~azure.mgmt.databox.models.Preferences :ivar copy_log_details: List of copy log details. :vartype copy_log_details: list[~azure.mgmt.databox.models.CopyLogDetails] - :ivar reverse_shipment_label_sas_key: Shared access key to download the - return shipment label + :ivar reverse_shipment_label_sas_key: Shared access key to download the return shipment label. :vartype reverse_shipment_label_sas_key: str - :ivar chain_of_custody_sas_key: Shared access key to download the chain of - custody logs + :ivar chain_of_custody_sas_key: Shared access key to download the chain of custody logs. :vartype chain_of_custody_sas_key: str - :param job_details_type: Required. Constant filled by server. - :type job_details_type: str """ _validation = { @@ -798,10 +891,10 @@ class JobDetails(Model): 'return_package': {'readonly': True}, 'destination_account_details': {'required': True}, 'error_details': {'readonly': True}, + 'job_details_type': {'required': True}, 'copy_log_details': {'readonly': True}, 'reverse_shipment_label_sas_key': {'readonly': True}, 'chain_of_custody_sas_key': {'readonly': True}, - 'job_details_type': {'required': True}, } _attribute_map = { @@ -813,84 +906,80 @@ class JobDetails(Model): 'return_package': {'key': 'returnPackage', 'type': 'PackageShippingDetails'}, 'destination_account_details': {'key': 'destinationAccountDetails', 'type': '[DestinationAccountDetails]'}, 'error_details': {'key': 'errorDetails', 'type': '[JobErrorDetails]'}, + 'job_details_type': {'key': 'jobDetailsType', 'type': 'str'}, 'preferences': {'key': 'preferences', 'type': 'Preferences'}, 'copy_log_details': {'key': 'copyLogDetails', 'type': '[CopyLogDetails]'}, 'reverse_shipment_label_sas_key': {'key': 'reverseShipmentLabelSasKey', 'type': 'str'}, 'chain_of_custody_sas_key': {'key': 'chainOfCustodySasKey', 'type': 'str'}, - 'job_details_type': {'key': 'jobDetailsType', 'type': 'str'}, } _subtype_map = { - 'job_details_type': {'DataBoxDisk': 'DataBoxDiskJobDetails', 'DataBoxHeavy': 'DataBoxHeavyJobDetails', 'DataBox': 'DataBoxJobDetails'} + 'job_details_type': {'DataBox': 'DataBoxJobDetails', 'DataBoxDisk': 'DataBoxDiskJobDetails', 'DataBoxHeavy': 'DataBoxHeavyJobDetails'} } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(JobDetails, self).__init__(**kwargs) self.expected_data_size_in_terabytes = kwargs.get('expected_data_size_in_terabytes', None) self.job_stages = None - self.contact_details = kwargs.get('contact_details', None) - self.shipping_address = kwargs.get('shipping_address', None) + self.contact_details = kwargs['contact_details'] + self.shipping_address = kwargs['shipping_address'] self.delivery_package = None self.return_package = None - self.destination_account_details = kwargs.get('destination_account_details', None) + self.destination_account_details = kwargs['destination_account_details'] self.error_details = None + self.job_details_type = None # type: Optional[str] self.preferences = kwargs.get('preferences', None) self.copy_log_details = None self.reverse_shipment_label_sas_key = None self.chain_of_custody_sas_key = None - self.job_details_type = None class DataBoxDiskJobDetails(JobDetails): """DataBox Disk Job Details. - Variables are only populated by the server, and will be ignored when - sending a request. + 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 expected_data_size_in_terabytes: The expected size of the data, - which needs to be transferred in this job, in terabytes. + :param expected_data_size_in_terabytes: The expected size of the data, which needs to be + transferred in this job, in terabytes. :type expected_data_size_in_terabytes: int :ivar job_stages: List of stages that run in the job. :vartype job_stages: list[~azure.mgmt.databox.models.JobStages] - :param contact_details: Required. Contact details for notification and - shipping. + :param contact_details: Required. Contact details for notification and shipping. :type contact_details: ~azure.mgmt.databox.models.ContactDetails :param shipping_address: Required. Shipping address of the customer. :type shipping_address: ~azure.mgmt.databox.models.ShippingAddress :ivar delivery_package: Delivery package shipping details. - :vartype delivery_package: - ~azure.mgmt.databox.models.PackageShippingDetails + :vartype delivery_package: ~azure.mgmt.databox.models.PackageShippingDetails :ivar return_package: Return package shipping details. :vartype return_package: ~azure.mgmt.databox.models.PackageShippingDetails :param destination_account_details: Required. Destination account details. - :type destination_account_details: - list[~azure.mgmt.databox.models.DestinationAccountDetails] + :type destination_account_details: list[~azure.mgmt.databox.models.DestinationAccountDetails] :ivar error_details: Error details for failure. This is optional. :vartype error_details: list[~azure.mgmt.databox.models.JobErrorDetails] + :param job_details_type: Required. Indicates the type of job details.Constant filled by server. + Possible values include: "DataBox", "DataBoxDisk", "DataBoxHeavy". + :type job_details_type: str or ~azure.mgmt.databox.models.ClassDiscriminator :param preferences: Preferences for the order. :type preferences: ~azure.mgmt.databox.models.Preferences :ivar copy_log_details: List of copy log details. :vartype copy_log_details: list[~azure.mgmt.databox.models.CopyLogDetails] - :ivar reverse_shipment_label_sas_key: Shared access key to download the - return shipment label + :ivar reverse_shipment_label_sas_key: Shared access key to download the return shipment label. :vartype reverse_shipment_label_sas_key: str - :ivar chain_of_custody_sas_key: Shared access key to download the chain of - custody logs + :ivar chain_of_custody_sas_key: Shared access key to download the chain of custody logs. :vartype chain_of_custody_sas_key: str - :param job_details_type: Required. Constant filled by server. - :type job_details_type: str - :param preferred_disks: User preference on what size disks are needed for - the job. The map is from the disk size in TB to the count. Eg. {2,5} means - 5 disks of 2 TB size. Key is string but will be checked against an int. + :param preferred_disks: User preference on what size disks are needed for the job. The map is + from the disk size in TB to the count. Eg. {2,5} means 5 disks of 2 TB size. Key is string but + will be checked against an int. :type preferred_disks: dict[str, int] :ivar copy_progress: Copy progress per disk. - :vartype copy_progress: - list[~azure.mgmt.databox.models.DataBoxDiskCopyProgress] - :ivar disks_and_size_details: Contains the map of disk serial number to - the disk size being used for the job. Is returned only after the disks are - shipped to the customer. + :vartype copy_progress: list[~azure.mgmt.databox.models.DataBoxDiskCopyProgress] + :ivar disks_and_size_details: Contains the map of disk serial number to the disk size being + used for the job. Is returned only after the disks are shipped to the customer. :vartype disks_and_size_details: dict[str, int] :param passkey: User entered passkey for DataBox Disk job. :type passkey: str @@ -904,10 +993,10 @@ class DataBoxDiskJobDetails(JobDetails): 'return_package': {'readonly': True}, 'destination_account_details': {'required': True}, 'error_details': {'readonly': True}, + 'job_details_type': {'required': True}, 'copy_log_details': {'readonly': True}, 'reverse_shipment_label_sas_key': {'readonly': True}, 'chain_of_custody_sas_key': {'readonly': True}, - 'job_details_type': {'required': True}, 'copy_progress': {'readonly': True}, 'disks_and_size_details': {'readonly': True}, } @@ -921,41 +1010,42 @@ class DataBoxDiskJobDetails(JobDetails): 'return_package': {'key': 'returnPackage', 'type': 'PackageShippingDetails'}, 'destination_account_details': {'key': 'destinationAccountDetails', 'type': '[DestinationAccountDetails]'}, 'error_details': {'key': 'errorDetails', 'type': '[JobErrorDetails]'}, + 'job_details_type': {'key': 'jobDetailsType', 'type': 'str'}, 'preferences': {'key': 'preferences', 'type': 'Preferences'}, 'copy_log_details': {'key': 'copyLogDetails', 'type': '[CopyLogDetails]'}, 'reverse_shipment_label_sas_key': {'key': 'reverseShipmentLabelSasKey', 'type': 'str'}, 'chain_of_custody_sas_key': {'key': 'chainOfCustodySasKey', 'type': 'str'}, - 'job_details_type': {'key': 'jobDetailsType', 'type': 'str'}, 'preferred_disks': {'key': 'preferredDisks', 'type': '{int}'}, 'copy_progress': {'key': 'copyProgress', 'type': '[DataBoxDiskCopyProgress]'}, 'disks_and_size_details': {'key': 'disksAndSizeDetails', 'type': '{int}'}, 'passkey': {'key': 'passkey', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(DataBoxDiskJobDetails, self).__init__(**kwargs) + self.job_details_type = 'DataBoxDisk' # type: str self.preferred_disks = kwargs.get('preferred_disks', None) self.copy_progress = None self.disks_and_size_details = None self.passkey = kwargs.get('passkey', None) - self.job_details_type = 'DataBoxDisk' -class JobSecrets(Model): +class JobSecrets(msrest.serialization.Model): """The base class for the secrets. You probably want to use the sub-classes and not this class directly. Known - sub-classes are: DataBoxDiskJobSecrets, DataBoxHeavyJobSecrets, - DataboxJobSecrets + sub-classes are: DataboxJobSecrets, DataBoxDiskJobSecrets, DataBoxHeavyJobSecrets. All required parameters must be populated in order to send to Azure. - :param dc_access_security_code: Dc Access Security Code for Customer - Managed Shipping - :type dc_access_security_code: - ~azure.mgmt.databox.models.DcAccessSecurityCode - :param job_secrets_type: Required. Constant filled by server. - :type job_secrets_type: str + :param job_secrets_type: Required. Used to indicate what type of job secrets object.Constant + filled by server. Possible values include: "DataBox", "DataBoxDisk", "DataBoxHeavy". + :type job_secrets_type: str or ~azure.mgmt.databox.models.ClassDiscriminator + :param dc_access_security_code: Dc Access Security Code for Customer Managed Shipping. + :type dc_access_security_code: ~azure.mgmt.databox.models.DcAccessSecurityCode """ _validation = { @@ -963,34 +1053,35 @@ class JobSecrets(Model): } _attribute_map = { - 'dc_access_security_code': {'key': 'dcAccessSecurityCode', 'type': 'DcAccessSecurityCode'}, 'job_secrets_type': {'key': 'jobSecretsType', 'type': 'str'}, + 'dc_access_security_code': {'key': 'dcAccessSecurityCode', 'type': 'DcAccessSecurityCode'}, } _subtype_map = { - 'job_secrets_type': {'DataBoxDisk': 'DataBoxDiskJobSecrets', 'DataBoxHeavy': 'DataBoxHeavyJobSecrets', 'DataBox': 'DataboxJobSecrets'} + 'job_secrets_type': {'DataBox': 'DataboxJobSecrets', 'DataBoxDisk': 'DataBoxDiskJobSecrets', 'DataBoxHeavy': 'DataBoxHeavyJobSecrets'} } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(JobSecrets, self).__init__(**kwargs) + self.job_secrets_type = None # type: Optional[str] self.dc_access_security_code = kwargs.get('dc_access_security_code', None) - self.job_secrets_type = None class DataBoxDiskJobSecrets(JobSecrets): """The secrets related to disk job. - Variables are only populated by the server, and will be ignored when - sending a request. + 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 dc_access_security_code: Dc Access Security Code for Customer - Managed Shipping - :type dc_access_security_code: - ~azure.mgmt.databox.models.DcAccessSecurityCode - :param job_secrets_type: Required. Constant filled by server. - :type job_secrets_type: str + :param job_secrets_type: Required. Used to indicate what type of job secrets object.Constant + filled by server. Possible values include: "DataBox", "DataBoxDisk", "DataBoxHeavy". + :type job_secrets_type: str or ~azure.mgmt.databox.models.ClassDiscriminator + :param dc_access_security_code: Dc Access Security Code for Customer Managed Shipping. + :type dc_access_security_code: ~azure.mgmt.databox.models.DcAccessSecurityCode :ivar disk_secrets: Contains the list of secrets object for that device. :vartype disk_secrets: list[~azure.mgmt.databox.models.DiskSecret] :ivar pass_key: PassKey for the disk Job. @@ -1007,31 +1098,34 @@ class DataBoxDiskJobSecrets(JobSecrets): } _attribute_map = { - 'dc_access_security_code': {'key': 'dcAccessSecurityCode', 'type': 'DcAccessSecurityCode'}, 'job_secrets_type': {'key': 'jobSecretsType', 'type': 'str'}, + 'dc_access_security_code': {'key': 'dcAccessSecurityCode', 'type': 'DcAccessSecurityCode'}, 'disk_secrets': {'key': 'diskSecrets', 'type': '[DiskSecret]'}, 'pass_key': {'key': 'passKey', 'type': 'str'}, 'is_passkey_user_defined': {'key': 'isPasskeyUserDefined', 'type': 'bool'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(DataBoxDiskJobSecrets, self).__init__(**kwargs) + self.job_secrets_type = 'DataBoxDisk' # type: str self.disk_secrets = None self.pass_key = None self.is_passkey_user_defined = None - self.job_secrets_type = 'DataBoxDisk' class DataBoxHeavyAccountCopyLogDetails(CopyLogDetails): """Copy log details for a storage account for Databox heavy. - Variables are only populated by the server, and will be ignored when - sending a request. + 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 copy_log_details_type: Required. Constant filled by server. - :type copy_log_details_type: str + :param copy_log_details_type: Required. Indicates the type of job details.Constant filled by + server. Possible values include: "DataBox", "DataBoxDisk", "DataBoxHeavy". + :type copy_log_details_type: str or ~azure.mgmt.databox.models.ClassDiscriminator :ivar account_name: Destination account name. :vartype account_name: str :ivar copy_log_link: Link for copy logs. @@ -1050,56 +1144,54 @@ class DataBoxHeavyAccountCopyLogDetails(CopyLogDetails): 'copy_log_link': {'key': 'copyLogLink', 'type': '[str]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(DataBoxHeavyAccountCopyLogDetails, self).__init__(**kwargs) + self.copy_log_details_type = 'DataBoxHeavy' # type: str self.account_name = None self.copy_log_link = None - self.copy_log_details_type = 'DataBoxHeavy' class DataBoxHeavyJobDetails(JobDetails): """Databox Heavy Device Job Details. - Variables are only populated by the server, and will be ignored when - sending a request. + 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 expected_data_size_in_terabytes: The expected size of the data, - which needs to be transferred in this job, in terabytes. + :param expected_data_size_in_terabytes: The expected size of the data, which needs to be + transferred in this job, in terabytes. :type expected_data_size_in_terabytes: int :ivar job_stages: List of stages that run in the job. :vartype job_stages: list[~azure.mgmt.databox.models.JobStages] - :param contact_details: Required. Contact details for notification and - shipping. + :param contact_details: Required. Contact details for notification and shipping. :type contact_details: ~azure.mgmt.databox.models.ContactDetails :param shipping_address: Required. Shipping address of the customer. :type shipping_address: ~azure.mgmt.databox.models.ShippingAddress :ivar delivery_package: Delivery package shipping details. - :vartype delivery_package: - ~azure.mgmt.databox.models.PackageShippingDetails + :vartype delivery_package: ~azure.mgmt.databox.models.PackageShippingDetails :ivar return_package: Return package shipping details. :vartype return_package: ~azure.mgmt.databox.models.PackageShippingDetails :param destination_account_details: Required. Destination account details. - :type destination_account_details: - list[~azure.mgmt.databox.models.DestinationAccountDetails] + :type destination_account_details: list[~azure.mgmt.databox.models.DestinationAccountDetails] :ivar error_details: Error details for failure. This is optional. :vartype error_details: list[~azure.mgmt.databox.models.JobErrorDetails] + :param job_details_type: Required. Indicates the type of job details.Constant filled by server. + Possible values include: "DataBox", "DataBoxDisk", "DataBoxHeavy". + :type job_details_type: str or ~azure.mgmt.databox.models.ClassDiscriminator :param preferences: Preferences for the order. :type preferences: ~azure.mgmt.databox.models.Preferences :ivar copy_log_details: List of copy log details. :vartype copy_log_details: list[~azure.mgmt.databox.models.CopyLogDetails] - :ivar reverse_shipment_label_sas_key: Shared access key to download the - return shipment label + :ivar reverse_shipment_label_sas_key: Shared access key to download the return shipment label. :vartype reverse_shipment_label_sas_key: str - :ivar chain_of_custody_sas_key: Shared access key to download the chain of - custody logs + :ivar chain_of_custody_sas_key: Shared access key to download the chain of custody logs. :vartype chain_of_custody_sas_key: str - :param job_details_type: Required. Constant filled by server. - :type job_details_type: str :ivar copy_progress: Copy progress per account. :vartype copy_progress: list[~azure.mgmt.databox.models.CopyProgress] - :param device_password: Set Device password for unlocking Databox Heavy + :param device_password: Set Device password for unlocking Databox Heavy. :type device_password: str """ @@ -1111,10 +1203,10 @@ class DataBoxHeavyJobDetails(JobDetails): 'return_package': {'readonly': True}, 'destination_account_details': {'required': True}, 'error_details': {'readonly': True}, + 'job_details_type': {'required': True}, 'copy_log_details': {'readonly': True}, 'reverse_shipment_label_sas_key': {'readonly': True}, 'chain_of_custody_sas_key': {'readonly': True}, - 'job_details_type': {'required': True}, 'copy_progress': {'readonly': True}, } @@ -1127,40 +1219,39 @@ class DataBoxHeavyJobDetails(JobDetails): 'return_package': {'key': 'returnPackage', 'type': 'PackageShippingDetails'}, 'destination_account_details': {'key': 'destinationAccountDetails', 'type': '[DestinationAccountDetails]'}, 'error_details': {'key': 'errorDetails', 'type': '[JobErrorDetails]'}, + 'job_details_type': {'key': 'jobDetailsType', 'type': 'str'}, 'preferences': {'key': 'preferences', 'type': 'Preferences'}, 'copy_log_details': {'key': 'copyLogDetails', 'type': '[CopyLogDetails]'}, 'reverse_shipment_label_sas_key': {'key': 'reverseShipmentLabelSasKey', 'type': 'str'}, 'chain_of_custody_sas_key': {'key': 'chainOfCustodySasKey', 'type': 'str'}, - 'job_details_type': {'key': 'jobDetailsType', 'type': 'str'}, 'copy_progress': {'key': 'copyProgress', 'type': '[CopyProgress]'}, 'device_password': {'key': 'devicePassword', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(DataBoxHeavyJobDetails, self).__init__(**kwargs) + self.job_details_type = 'DataBoxHeavy' # type: str self.copy_progress = None self.device_password = kwargs.get('device_password', None) - self.job_details_type = 'DataBoxHeavy' class DataBoxHeavyJobSecrets(JobSecrets): """The secrets related to a databox heavy job. - Variables are only populated by the server, and will be ignored when - sending a request. + 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 dc_access_security_code: Dc Access Security Code for Customer - Managed Shipping - :type dc_access_security_code: - ~azure.mgmt.databox.models.DcAccessSecurityCode - :param job_secrets_type: Required. Constant filled by server. - :type job_secrets_type: str - :ivar cabinet_pod_secrets: Contains the list of secret objects for a - databox heavy job. - :vartype cabinet_pod_secrets: - list[~azure.mgmt.databox.models.DataBoxHeavySecret] + :param job_secrets_type: Required. Used to indicate what type of job secrets object.Constant + filled by server. Possible values include: "DataBox", "DataBoxDisk", "DataBoxHeavy". + :type job_secrets_type: str or ~azure.mgmt.databox.models.ClassDiscriminator + :param dc_access_security_code: Dc Access Security Code for Customer Managed Shipping. + :type dc_access_security_code: ~azure.mgmt.databox.models.DcAccessSecurityCode + :ivar cabinet_pod_secrets: Contains the list of secret objects for a databox heavy job. + :vartype cabinet_pod_secrets: list[~azure.mgmt.databox.models.DataBoxHeavySecret] """ _validation = { @@ -1169,36 +1260,36 @@ class DataBoxHeavyJobSecrets(JobSecrets): } _attribute_map = { - 'dc_access_security_code': {'key': 'dcAccessSecurityCode', 'type': 'DcAccessSecurityCode'}, 'job_secrets_type': {'key': 'jobSecretsType', 'type': 'str'}, + 'dc_access_security_code': {'key': 'dcAccessSecurityCode', 'type': 'DcAccessSecurityCode'}, 'cabinet_pod_secrets': {'key': 'cabinetPodSecrets', 'type': '[DataBoxHeavySecret]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(DataBoxHeavyJobSecrets, self).__init__(**kwargs) + self.job_secrets_type = 'DataBoxHeavy' # type: str self.cabinet_pod_secrets = None - self.job_secrets_type = 'DataBoxHeavy' -class DataBoxHeavySecret(Model): +class DataBoxHeavySecret(msrest.serialization.Model): """The secrets related to a databox heavy. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar device_serial_number: Serial number of the assigned device. :vartype device_serial_number: str :ivar device_password: Password for out of the box experience on device. :vartype device_password: str :ivar network_configurations: Network configuration of the appliance. - :vartype network_configurations: - list[~azure.mgmt.databox.models.ApplianceNetworkConfiguration] - :ivar encoded_validation_cert_pub_key: The base 64 encoded public key to - authenticate with the device + :vartype network_configurations: list[~azure.mgmt.databox.models.ApplianceNetworkConfiguration] + :ivar encoded_validation_cert_pub_key: The base 64 encoded public key to authenticate with the + device. :vartype encoded_validation_cert_pub_key: str :ivar account_credential_details: Per account level access credentials. - :vartype account_credential_details: - list[~azure.mgmt.databox.models.AccountCredentialDetails] + :vartype account_credential_details: list[~azure.mgmt.databox.models.AccountCredentialDetails] """ _validation = { @@ -1217,7 +1308,10 @@ class DataBoxHeavySecret(Model): 'account_credential_details': {'key': 'accountCredentialDetails', 'type': '[AccountCredentialDetails]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(DataBoxHeavySecret, self).__init__(**kwargs) self.device_serial_number = None self.device_password = None @@ -1229,46 +1323,41 @@ def __init__(self, **kwargs): class DataBoxJobDetails(JobDetails): """Databox Job Details. - Variables are only populated by the server, and will be ignored when - sending a request. + 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 expected_data_size_in_terabytes: The expected size of the data, - which needs to be transferred in this job, in terabytes. + :param expected_data_size_in_terabytes: The expected size of the data, which needs to be + transferred in this job, in terabytes. :type expected_data_size_in_terabytes: int :ivar job_stages: List of stages that run in the job. :vartype job_stages: list[~azure.mgmt.databox.models.JobStages] - :param contact_details: Required. Contact details for notification and - shipping. + :param contact_details: Required. Contact details for notification and shipping. :type contact_details: ~azure.mgmt.databox.models.ContactDetails :param shipping_address: Required. Shipping address of the customer. :type shipping_address: ~azure.mgmt.databox.models.ShippingAddress :ivar delivery_package: Delivery package shipping details. - :vartype delivery_package: - ~azure.mgmt.databox.models.PackageShippingDetails + :vartype delivery_package: ~azure.mgmt.databox.models.PackageShippingDetails :ivar return_package: Return package shipping details. :vartype return_package: ~azure.mgmt.databox.models.PackageShippingDetails :param destination_account_details: Required. Destination account details. - :type destination_account_details: - list[~azure.mgmt.databox.models.DestinationAccountDetails] + :type destination_account_details: list[~azure.mgmt.databox.models.DestinationAccountDetails] :ivar error_details: Error details for failure. This is optional. :vartype error_details: list[~azure.mgmt.databox.models.JobErrorDetails] + :param job_details_type: Required. Indicates the type of job details.Constant filled by server. + Possible values include: "DataBox", "DataBoxDisk", "DataBoxHeavy". + :type job_details_type: str or ~azure.mgmt.databox.models.ClassDiscriminator :param preferences: Preferences for the order. :type preferences: ~azure.mgmt.databox.models.Preferences :ivar copy_log_details: List of copy log details. :vartype copy_log_details: list[~azure.mgmt.databox.models.CopyLogDetails] - :ivar reverse_shipment_label_sas_key: Shared access key to download the - return shipment label + :ivar reverse_shipment_label_sas_key: Shared access key to download the return shipment label. :vartype reverse_shipment_label_sas_key: str - :ivar chain_of_custody_sas_key: Shared access key to download the chain of - custody logs + :ivar chain_of_custody_sas_key: Shared access key to download the chain of custody logs. :vartype chain_of_custody_sas_key: str - :param job_details_type: Required. Constant filled by server. - :type job_details_type: str :ivar copy_progress: Copy progress per storage account. :vartype copy_progress: list[~azure.mgmt.databox.models.CopyProgress] - :param device_password: Set Device password for unlocking Databox + :param device_password: Set Device password for unlocking Databox. :type device_password: str """ @@ -1280,10 +1369,10 @@ class DataBoxJobDetails(JobDetails): 'return_package': {'readonly': True}, 'destination_account_details': {'required': True}, 'error_details': {'readonly': True}, + 'job_details_type': {'required': True}, 'copy_log_details': {'readonly': True}, 'reverse_shipment_label_sas_key': {'readonly': True}, 'chain_of_custody_sas_key': {'readonly': True}, - 'job_details_type': {'required': True}, 'copy_progress': {'readonly': True}, } @@ -1296,20 +1385,23 @@ class DataBoxJobDetails(JobDetails): 'return_package': {'key': 'returnPackage', 'type': 'PackageShippingDetails'}, 'destination_account_details': {'key': 'destinationAccountDetails', 'type': '[DestinationAccountDetails]'}, 'error_details': {'key': 'errorDetails', 'type': '[JobErrorDetails]'}, + 'job_details_type': {'key': 'jobDetailsType', 'type': 'str'}, 'preferences': {'key': 'preferences', 'type': 'Preferences'}, 'copy_log_details': {'key': 'copyLogDetails', 'type': '[CopyLogDetails]'}, 'reverse_shipment_label_sas_key': {'key': 'reverseShipmentLabelSasKey', 'type': 'str'}, 'chain_of_custody_sas_key': {'key': 'chainOfCustodySasKey', 'type': 'str'}, - 'job_details_type': {'key': 'jobDetailsType', 'type': 'str'}, 'copy_progress': {'key': 'copyProgress', 'type': '[CopyProgress]'}, 'device_password': {'key': 'devicePassword', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(DataBoxJobDetails, self).__init__(**kwargs) + self.job_details_type = 'DataBox' # type: str self.copy_progress = None self.device_password = kwargs.get('device_password', None) - self.job_details_type = 'DataBox' class DataboxJobSecrets(JobSecrets): @@ -1317,12 +1409,11 @@ class DataboxJobSecrets(JobSecrets): All required parameters must be populated in order to send to Azure. - :param dc_access_security_code: Dc Access Security Code for Customer - Managed Shipping - :type dc_access_security_code: - ~azure.mgmt.databox.models.DcAccessSecurityCode - :param job_secrets_type: Required. Constant filled by server. - :type job_secrets_type: str + :param job_secrets_type: Required. Used to indicate what type of job secrets object.Constant + filled by server. Possible values include: "DataBox", "DataBoxDisk", "DataBoxHeavy". + :type job_secrets_type: str or ~azure.mgmt.databox.models.ClassDiscriminator + :param dc_access_security_code: Dc Access Security Code for Customer Managed Shipping. + :type dc_access_security_code: ~azure.mgmt.databox.models.DcAccessSecurityCode :param pod_secrets: Contains the list of secret objects for a job. :type pod_secrets: list[~azure.mgmt.databox.models.DataBoxSecret] """ @@ -1332,32 +1423,35 @@ class DataboxJobSecrets(JobSecrets): } _attribute_map = { - 'dc_access_security_code': {'key': 'dcAccessSecurityCode', 'type': 'DcAccessSecurityCode'}, 'job_secrets_type': {'key': 'jobSecretsType', 'type': 'str'}, + 'dc_access_security_code': {'key': 'dcAccessSecurityCode', 'type': 'DcAccessSecurityCode'}, 'pod_secrets': {'key': 'podSecrets', 'type': '[DataBoxSecret]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(DataboxJobSecrets, self).__init__(**kwargs) + self.job_secrets_type = 'DataBox' # type: str self.pod_secrets = kwargs.get('pod_secrets', None) - self.job_secrets_type = 'DataBox' -class ScheduleAvailabilityRequest(Model): +class ScheduleAvailabilityRequest(msrest.serialization.Model): """Request body to get the availability for scheduling orders. You probably want to use the sub-classes and not this class directly. Known - sub-classes are: DataBoxScheduleAvailabilityRequest, - DiskScheduleAvailabilityRequest, HeavyScheduleAvailabilityRequest + sub-classes are: DataBoxScheduleAvailabilityRequest, DiskScheduleAvailabilityRequest, HeavyScheduleAvailabilityRequest. All required parameters must be populated in order to send to Azure. :param storage_location: Required. Location for data transfer. - For locations check: - https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01 + For locations check: https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api- + version=2018-01-01. :type storage_location: str - :param sku_name: Required. Constant filled by server. - :type sku_name: str + :param sku_name: Required. Sku Name for which the order is to be scheduled.Constant filled by + server. Possible values include: "DataBox", "DataBoxDisk", "DataBoxHeavy". + :type sku_name: str or ~azure.mgmt.databox.models.SkuName """ _validation = { @@ -1374,10 +1468,13 @@ class ScheduleAvailabilityRequest(Model): 'sku_name': {'DataBox': 'DataBoxScheduleAvailabilityRequest', 'DataBoxDisk': 'DiskScheduleAvailabilityRequest', 'DataBoxHeavy': 'HeavyScheduleAvailabilityRequest'} } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ScheduleAvailabilityRequest, self).__init__(**kwargs) - self.storage_location = kwargs.get('storage_location', None) - self.sku_name = None + self.storage_location = kwargs['storage_location'] + self.sku_name = None # type: Optional[str] class DataBoxScheduleAvailabilityRequest(ScheduleAvailabilityRequest): @@ -1386,11 +1483,12 @@ class DataBoxScheduleAvailabilityRequest(ScheduleAvailabilityRequest): All required parameters must be populated in order to send to Azure. :param storage_location: Required. Location for data transfer. - For locations check: - https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01 + For locations check: https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api- + version=2018-01-01. :type storage_location: str - :param sku_name: Required. Constant filled by server. - :type sku_name: str + :param sku_name: Required. Sku Name for which the order is to be scheduled.Constant filled by + server. Possible values include: "DataBox", "DataBoxDisk", "DataBoxHeavy". + :type sku_name: str or ~azure.mgmt.databox.models.SkuName """ _validation = { @@ -1403,30 +1501,30 @@ class DataBoxScheduleAvailabilityRequest(ScheduleAvailabilityRequest): 'sku_name': {'key': 'skuName', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(DataBoxScheduleAvailabilityRequest, self).__init__(**kwargs) - self.sku_name = 'DataBox' + self.sku_name = 'DataBox' # type: str -class DataBoxSecret(Model): +class DataBoxSecret(msrest.serialization.Model): """The secrets related to a DataBox. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar device_serial_number: Serial number of the assigned device. :vartype device_serial_number: str :ivar device_password: Password for out of the box experience on device. :vartype device_password: str :ivar network_configurations: Network configuration of the appliance. - :vartype network_configurations: - list[~azure.mgmt.databox.models.ApplianceNetworkConfiguration] - :ivar encoded_validation_cert_pub_key: The base 64 encoded public key to - authenticate with the device + :vartype network_configurations: list[~azure.mgmt.databox.models.ApplianceNetworkConfiguration] + :ivar encoded_validation_cert_pub_key: The base 64 encoded public key to authenticate with the + device. :vartype encoded_validation_cert_pub_key: str :ivar account_credential_details: Per account level access credentials. - :vartype account_credential_details: - list[~azure.mgmt.databox.models.AccountCredentialDetails] + :vartype account_credential_details: list[~azure.mgmt.databox.models.AccountCredentialDetails] """ _validation = { @@ -1445,7 +1543,10 @@ class DataBoxSecret(Model): 'account_credential_details': {'key': 'accountCredentialDetails', 'type': '[AccountCredentialDetails]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(DataBoxSecret, self).__init__(**kwargs) self.device_serial_number = None self.device_password = None @@ -1459,12 +1560,13 @@ class DataDestinationDetailsValidationRequest(ValidationInputRequest): All required parameters must be populated in order to send to Azure. - :param validation_type: Required. Constant filled by server. - :type validation_type: str - :param destination_account_details: Required. Destination account details - list. - :type destination_account_details: - list[~azure.mgmt.databox.models.DestinationAccountDetails] + :param validation_type: Required. Identifies the type of validation request.Constant filled by + server. Possible values include: "ValidateAddress", "ValidateDataDestinationDetails", + "ValidateSubscriptionIsAllowedToCreateJob", "ValidatePreferences", "ValidateCreateOrderLimit", + "ValidateSkuAvailability". + :type validation_type: str or ~azure.mgmt.databox.models.ValidationInputDiscriminator + :param destination_account_details: Required. Destination account details list. + :type destination_account_details: list[~azure.mgmt.databox.models.DestinationAccountDetails] :param location: Required. Location of stamp or geo. :type location: str """ @@ -1481,49 +1583,57 @@ class DataDestinationDetailsValidationRequest(ValidationInputRequest): 'location': {'key': 'location', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(DataDestinationDetailsValidationRequest, self).__init__(**kwargs) - self.destination_account_details = kwargs.get('destination_account_details', None) - self.location = kwargs.get('location', None) - self.validation_type = 'ValidateDataDestinationDetails' + self.validation_type = 'ValidateDataDestinationDetails' # type: str + self.destination_account_details = kwargs['destination_account_details'] + self.location = kwargs['location'] class DataDestinationDetailsValidationResponseProperties(ValidationInputResponse): """Properties of data destination details validation response. - Variables are only populated by the server, and will be ignored when - sending a request. + 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 validation_type: Required. Identifies the type of validation response.Constant filled by + server. Possible values include: "ValidateAddress", "ValidateDataDestinationDetails", + "ValidateSubscriptionIsAllowedToCreateJob", "ValidatePreferences", "ValidateCreateOrderLimit", + "ValidateSkuAvailability". + :type validation_type: str or ~azure.mgmt.databox.models.ValidationInputDiscriminator :ivar error: Error code and message of validation response. :vartype error: ~azure.mgmt.databox.models.Error - :param validation_type: Required. Constant filled by server. - :type validation_type: str - :ivar status: Data destination details validation status. Possible values - include: 'Valid', 'Invalid', 'Skipped' + :ivar status: Data destination details validation status. Possible values include: "Valid", + "Invalid", "Skipped". :vartype status: str or ~azure.mgmt.databox.models.ValidationStatus """ _validation = { - 'error': {'readonly': True}, 'validation_type': {'required': True}, + 'error': {'readonly': True}, 'status': {'readonly': True}, } _attribute_map = { - 'error': {'key': 'error', 'type': 'Error'}, 'validation_type': {'key': 'validationType', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'ValidationStatus'}, + 'error': {'key': 'error', 'type': 'Error'}, + 'status': {'key': 'status', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(DataDestinationDetailsValidationResponseProperties, self).__init__(**kwargs) + self.validation_type = 'ValidateDataDestinationDetails' # type: str self.status = None - self.validation_type = 'ValidateDataDestinationDetails' -class DcAccessSecurityCode(Model): +class DcAccessSecurityCode(msrest.serialization.Model): """Dc Access Security code for device. :param forward_dc_access_code: Dc Access Code for dispatching from DC. @@ -1537,28 +1647,30 @@ class DcAccessSecurityCode(Model): 'reverse_dc_access_code': {'key': 'reverseDcAccessCode', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(DcAccessSecurityCode, self).__init__(**kwargs) self.forward_dc_access_code = kwargs.get('forward_dc_access_code', None) self.reverse_dc_access_code = kwargs.get('reverse_dc_access_code', None) -class DestinationAccountDetails(Model): +class DestinationAccountDetails(msrest.serialization.Model): """Details of the destination storage accounts. You probably want to use the sub-classes and not this class directly. Known - sub-classes are: DestinationManagedDiskDetails, - DestinationStorageAccountDetails + sub-classes are: DestinationManagedDiskDetails, DestinationStorageAccountDetails. All required parameters must be populated in order to send to Azure. - :param account_id: Arm Id of the destination where the data has to be - moved. + :param data_destination_type: Required. Data Destination Type.Constant filled by server. + Possible values include: "StorageAccount", "ManagedDisk". + :type data_destination_type: str or ~azure.mgmt.databox.models.DataDestinationType + :param account_id: Arm Id of the destination where the data has to be moved. :type account_id: str :param share_password: Share password to be shared by all shares in SA. :type share_password: str - :param data_destination_type: Required. Constant filled by server. - :type data_destination_type: str """ _validation = { @@ -1566,20 +1678,23 @@ class DestinationAccountDetails(Model): } _attribute_map = { + 'data_destination_type': {'key': 'dataDestinationType', 'type': 'str'}, 'account_id': {'key': 'accountId', 'type': 'str'}, 'share_password': {'key': 'sharePassword', 'type': 'str'}, - 'data_destination_type': {'key': 'dataDestinationType', 'type': 'str'}, } _subtype_map = { 'data_destination_type': {'ManagedDisk': 'DestinationManagedDiskDetails', 'StorageAccount': 'DestinationStorageAccountDetails'} } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(DestinationAccountDetails, self).__init__(**kwargs) + self.data_destination_type = None # type: Optional[str] self.account_id = kwargs.get('account_id', None) self.share_password = kwargs.get('share_password', None) - self.data_destination_type = None class DestinationManagedDiskDetails(DestinationAccountDetails): @@ -1587,18 +1702,18 @@ class DestinationManagedDiskDetails(DestinationAccountDetails): All required parameters must be populated in order to send to Azure. - :param account_id: Arm Id of the destination where the data has to be - moved. + :param data_destination_type: Required. Data Destination Type.Constant filled by server. + Possible values include: "StorageAccount", "ManagedDisk". + :type data_destination_type: str or ~azure.mgmt.databox.models.DataDestinationType + :param account_id: Arm Id of the destination where the data has to be moved. :type account_id: str :param share_password: Share password to be shared by all shares in SA. :type share_password: str - :param data_destination_type: Required. Constant filled by server. - :type data_destination_type: str - :param resource_group_id: Required. Destination Resource Group Id where - the Compute disks should be created. + :param resource_group_id: Required. Destination Resource Group Id where the Compute disks + should be created. :type resource_group_id: str - :param staging_storage_account_id: Required. Arm Id of the storage account - that can be used to copy the vhd for staging. + :param staging_storage_account_id: Required. Arm Id of the storage account that can be used to + copy the vhd for staging. :type staging_storage_account_id: str """ @@ -1609,18 +1724,21 @@ class DestinationManagedDiskDetails(DestinationAccountDetails): } _attribute_map = { + 'data_destination_type': {'key': 'dataDestinationType', 'type': 'str'}, 'account_id': {'key': 'accountId', 'type': 'str'}, 'share_password': {'key': 'sharePassword', 'type': 'str'}, - 'data_destination_type': {'key': 'dataDestinationType', 'type': 'str'}, 'resource_group_id': {'key': 'resourceGroupId', 'type': 'str'}, 'staging_storage_account_id': {'key': 'stagingStorageAccountId', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(DestinationManagedDiskDetails, self).__init__(**kwargs) - self.resource_group_id = kwargs.get('resource_group_id', None) - self.staging_storage_account_id = kwargs.get('staging_storage_account_id', None) - self.data_destination_type = 'ManagedDisk' + self.data_destination_type = 'ManagedDisk' # type: str + self.resource_group_id = kwargs['resource_group_id'] + self.staging_storage_account_id = kwargs['staging_storage_account_id'] class DestinationStorageAccountDetails(DestinationAccountDetails): @@ -1628,13 +1746,13 @@ class DestinationStorageAccountDetails(DestinationAccountDetails): All required parameters must be populated in order to send to Azure. - :param account_id: Arm Id of the destination where the data has to be - moved. + :param data_destination_type: Required. Data Destination Type.Constant filled by server. + Possible values include: "StorageAccount", "ManagedDisk". + :type data_destination_type: str or ~azure.mgmt.databox.models.DataDestinationType + :param account_id: Arm Id of the destination where the data has to be moved. :type account_id: str :param share_password: Share password to be shared by all shares in SA. :type share_password: str - :param data_destination_type: Required. Constant filled by server. - :type data_destination_type: str :param storage_account_id: Required. Destination Storage Account Arm Id. :type storage_account_id: str """ @@ -1645,23 +1763,25 @@ class DestinationStorageAccountDetails(DestinationAccountDetails): } _attribute_map = { + 'data_destination_type': {'key': 'dataDestinationType', 'type': 'str'}, 'account_id': {'key': 'accountId', 'type': 'str'}, 'share_password': {'key': 'sharePassword', 'type': 'str'}, - 'data_destination_type': {'key': 'dataDestinationType', 'type': 'str'}, 'storage_account_id': {'key': 'storageAccountId', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(DestinationStorageAccountDetails, self).__init__(**kwargs) - self.storage_account_id = kwargs.get('storage_account_id', None) - self.data_destination_type = 'StorageAccount' + self.data_destination_type = 'StorageAccount' # type: str + self.storage_account_id = kwargs['storage_account_id'] -class DestinationToServiceLocationMap(Model): +class DestinationToServiceLocationMap(msrest.serialization.Model): """Map of destination location to service location. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar destination_location: Location of the destination. :vartype destination_location: str @@ -1679,7 +1799,10 @@ class DestinationToServiceLocationMap(Model): 'service_location': {'key': 'serviceLocation', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(DestinationToServiceLocationMap, self).__init__(**kwargs) self.destination_location = None self.service_location = None @@ -1691,13 +1814,14 @@ class DiskScheduleAvailabilityRequest(ScheduleAvailabilityRequest): All required parameters must be populated in order to send to Azure. :param storage_location: Required. Location for data transfer. - For locations check: - https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01 + For locations check: https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api- + version=2018-01-01. :type storage_location: str - :param sku_name: Required. Constant filled by server. - :type sku_name: str - :param expected_data_size_in_terabytes: Required. The expected size of the - data, which needs to be transferred in this job, in terabytes. + :param sku_name: Required. Sku Name for which the order is to be scheduled.Constant filled by + server. Possible values include: "DataBox", "DataBoxDisk", "DataBoxHeavy". + :type sku_name: str or ~azure.mgmt.databox.models.SkuName + :param expected_data_size_in_terabytes: Required. The expected size of the data, which needs to + be transferred in this job, in terabytes. :type expected_data_size_in_terabytes: int """ @@ -1713,22 +1837,24 @@ class DiskScheduleAvailabilityRequest(ScheduleAvailabilityRequest): 'expected_data_size_in_terabytes': {'key': 'expectedDataSizeInTerabytes', 'type': 'int'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(DiskScheduleAvailabilityRequest, self).__init__(**kwargs) - self.expected_data_size_in_terabytes = kwargs.get('expected_data_size_in_terabytes', None) - self.sku_name = 'DataBoxDisk' + self.sku_name = 'DataBoxDisk' # type: str + self.expected_data_size_in_terabytes = kwargs['expected_data_size_in_terabytes'] -class DiskSecret(Model): +class DiskSecret(msrest.serialization.Model): """Contains all the secrets of a Disk. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar disk_serial_number: Serial number of the assigned disk. :vartype disk_serial_number: str - :ivar bit_locker_key: Bit Locker key of the disk which can be used to - unlock the disk to copy data. + :ivar bit_locker_key: Bit Locker key of the disk which can be used to unlock the disk to copy + data. :vartype bit_locker_key: str """ @@ -1742,23 +1868,23 @@ class DiskSecret(Model): 'bit_locker_key': {'key': 'bitLockerKey', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(DiskSecret, self).__init__(**kwargs) self.disk_serial_number = None self.bit_locker_key = None -class Error(Model): +class Error(msrest.serialization.Model): """Top level error for the job. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. - :ivar code: Error code that can be used to programmatically identify the - error. + :ivar code: Error code that can be used to programmatically identify the error. :vartype code: str - :ivar message: Describes the error in detail and provides debugging - information. + :ivar message: Describes the error in detail and provides debugging information. :vartype message: str """ @@ -1772,7 +1898,10 @@ class Error(Model): 'message': {'key': 'message', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(Error, self).__init__(**kwargs) self.code = None self.message = None @@ -1784,11 +1913,12 @@ class HeavyScheduleAvailabilityRequest(ScheduleAvailabilityRequest): All required parameters must be populated in order to send to Azure. :param storage_location: Required. Location for data transfer. - For locations check: - https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01 + For locations check: https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api- + version=2018-01-01. :type storage_location: str - :param sku_name: Required. Constant filled by server. - :type sku_name: str + :param sku_name: Required. Sku Name for which the order is to be scheduled.Constant filled by + server. Possible values include: "DataBox", "DataBoxDisk", "DataBoxHeavy". + :type sku_name: str or ~azure.mgmt.databox.models.SkuName """ _validation = { @@ -1801,32 +1931,37 @@ class HeavyScheduleAvailabilityRequest(ScheduleAvailabilityRequest): 'sku_name': {'key': 'skuName', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(HeavyScheduleAvailabilityRequest, self).__init__(**kwargs) - self.sku_name = 'DataBoxHeavy' + self.sku_name = 'DataBoxHeavy' # type: str -class JobDeliveryInfo(Model): +class JobDeliveryInfo(msrest.serialization.Model): """Additional delivery info. :param scheduled_date_time: Scheduled date time. - :type scheduled_date_time: datetime + :type scheduled_date_time: ~datetime.datetime """ _attribute_map = { 'scheduled_date_time': {'key': 'scheduledDateTime', 'type': 'iso-8601'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(JobDeliveryInfo, self).__init__(**kwargs) self.scheduled_date_time = kwargs.get('scheduled_date_time', None) -class JobErrorDetails(Model): +class JobErrorDetails(msrest.serialization.Model): """Job Error Details for providing the information and recommended action. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar error_message: Message for the error. :vartype error_message: str @@ -1834,7 +1969,7 @@ class JobErrorDetails(Model): :vartype error_code: int :ivar recommended_action: Recommended action for the error. :vartype recommended_action: str - :ivar exception_message: Contains the non localized exception message + :ivar exception_message: Contains the non localized exception message. :vartype exception_message: str """ @@ -1852,7 +1987,10 @@ class JobErrorDetails(Model): 'exception_message': {'key': 'exceptionMessage', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(JobErrorDetails, self).__init__(**kwargs) self.error_message = None self.error_code = None @@ -1860,20 +1998,18 @@ def __init__(self, **kwargs): self.exception_message = None -class Resource(Model): +class Resource(msrest.serialization.Model): """Model of the Resource. All required parameters must be populated in order to send to Azure. - :param location: Required. The location of the resource. This will be one - of the supported and registered Azure Regions (e.g. West US, East US, - Southeast Asia, etc.). The region of a resource cannot be changed once it - is created, but if an identical region is specified on update the request - will succeed. + :param location: Required. The location of the resource. This will be one of the supported and + registered Azure Regions (e.g. West US, East US, Southeast Asia, etc.). The region of a + resource cannot be changed once it is created, but if an identical region is specified on + update the request will succeed. :type location: str - :param tags: The list of key value pairs that describe the resource. These - tags can be used in viewing and grouping this resource (across resource - groups). + :param tags: A set of tags. The list of key value pairs that describe the resource. These tags + can be used in viewing and grouping this resource (across resource groups). :type tags: dict[str, str] :param sku: Required. The sku type. :type sku: ~azure.mgmt.databox.models.Sku @@ -1890,76 +2026,74 @@ class Resource(Model): 'sku': {'key': 'sku', 'type': 'Sku'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(Resource, self).__init__(**kwargs) - self.location = kwargs.get('location', None) + self.location = kwargs['location'] self.tags = kwargs.get('tags', None) - self.sku = kwargs.get('sku', None) + self.sku = kwargs['sku'] class JobResource(Resource): """Job Resource. - Variables are only populated by the server, and will be ignored when - sending a request. + 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 location: Required. The location of the resource. This will be one - of the supported and registered Azure Regions (e.g. West US, East US, - Southeast Asia, etc.). The region of a resource cannot be changed once it - is created, but if an identical region is specified on update the request - will succeed. + :param location: Required. The location of the resource. This will be one of the supported and + registered Azure Regions (e.g. West US, East US, Southeast Asia, etc.). The region of a + resource cannot be changed once it is created, but if an identical region is specified on + update the request will succeed. :type location: str - :param tags: The list of key value pairs that describe the resource. These - tags can be used in viewing and grouping this resource (across resource - groups). + :param tags: A set of tags. The list of key value pairs that describe the resource. These tags + can be used in viewing and grouping this resource (across resource groups). :type tags: dict[str, str] :param sku: Required. The sku type. :type sku: ~azure.mgmt.databox.models.Sku + :ivar name: Name of the object. + :vartype name: str + :ivar id: Id of the object. + :vartype id: str + :ivar type: Type of the object. + :vartype type: str :ivar is_cancellable: Describes whether the job is cancellable or not. :vartype is_cancellable: bool :ivar is_deletable: Describes whether the job is deletable or not. :vartype is_deletable: bool - :ivar is_shipping_address_editable: Describes whether the shipping address - is editable or not. + :ivar is_shipping_address_editable: Describes whether the shipping address is editable or not. :vartype is_shipping_address_editable: bool - :ivar status: Name of the stage which is in progress. Possible values - include: 'DeviceOrdered', 'DevicePrepared', 'Dispatched', 'Delivered', - 'PickedUp', 'AtAzureDC', 'DataCopy', 'Completed', 'CompletedWithErrors', - 'Cancelled', 'Failed_IssueReportedAtCustomer', - 'Failed_IssueDetectedAtAzureDC', 'Aborted', 'CompletedWithWarnings', - 'ReadyToDispatchFromAzureDC', 'ReadyToReceiveAtAzureDC' + :ivar status: Name of the stage which is in progress. Possible values include: "DeviceOrdered", + "DevicePrepared", "Dispatched", "Delivered", "PickedUp", "AtAzureDC", "DataCopy", "Completed", + "CompletedWithErrors", "Cancelled", "Failed_IssueReportedAtCustomer", + "Failed_IssueDetectedAtAzureDC", "Aborted", "CompletedWithWarnings", + "ReadyToDispatchFromAzureDC", "ReadyToReceiveAtAzureDC". :vartype status: str or ~azure.mgmt.databox.models.StageName - :ivar start_time: Time at which the job was started in UTC ISO 8601 - format. - :vartype start_time: datetime + :ivar start_time: Time at which the job was started in UTC ISO 8601 format. + :vartype start_time: ~datetime.datetime :ivar error: Top level error for the job. :vartype error: ~azure.mgmt.databox.models.Error - :param details: Details of a job run. This field will only be sent for - expand details filter. + :param details: Details of a job run. This field will only be sent for expand details filter. :type details: ~azure.mgmt.databox.models.JobDetails :ivar cancellation_reason: Reason for cancellation. :vartype cancellation_reason: str - :param delivery_type: Delivery type of Job. Possible values include: - 'NonScheduled', 'Scheduled' + :param delivery_type: Delivery type of Job. Possible values include: "NonScheduled", + "Scheduled". :type delivery_type: str or ~azure.mgmt.databox.models.JobDeliveryType :param delivery_info: Delivery Info of Job. :type delivery_info: ~azure.mgmt.databox.models.JobDeliveryInfo - :ivar is_cancellable_without_fee: Flag to indicate cancellation of - scheduled job. + :ivar is_cancellable_without_fee: Flag to indicate cancellation of scheduled job. :vartype is_cancellable_without_fee: bool - :ivar name: Name of the object. - :vartype name: str - :ivar id: Id of the object. - :vartype id: str - :ivar type: Type of the object. - :vartype type: str """ _validation = { 'location': {'required': True}, 'sku': {'required': True}, + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, 'is_cancellable': {'readonly': True}, 'is_deletable': {'readonly': True}, 'is_shipping_address_editable': {'readonly': True}, @@ -1968,33 +2102,36 @@ class JobResource(Resource): 'error': {'readonly': True}, 'cancellation_reason': {'readonly': True}, 'is_cancellable_without_fee': {'readonly': True}, - 'name': {'readonly': True}, - 'id': {'readonly': True}, - 'type': {'readonly': True}, } _attribute_map = { 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, 'sku': {'key': 'sku', 'type': 'Sku'}, + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, 'is_cancellable': {'key': 'properties.isCancellable', 'type': 'bool'}, 'is_deletable': {'key': 'properties.isDeletable', 'type': 'bool'}, 'is_shipping_address_editable': {'key': 'properties.isShippingAddressEditable', 'type': 'bool'}, - 'status': {'key': 'properties.status', 'type': 'StageName'}, + 'status': {'key': 'properties.status', 'type': 'str'}, 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, 'error': {'key': 'properties.error', 'type': 'Error'}, 'details': {'key': 'properties.details', 'type': 'JobDetails'}, 'cancellation_reason': {'key': 'properties.cancellationReason', 'type': 'str'}, - 'delivery_type': {'key': 'properties.deliveryType', 'type': 'JobDeliveryType'}, + 'delivery_type': {'key': 'properties.deliveryType', 'type': 'str'}, 'delivery_info': {'key': 'properties.deliveryInfo', 'type': 'JobDeliveryInfo'}, 'is_cancellable_without_fee': {'key': 'properties.isCancellableWithoutFee', 'type': 'bool'}, - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(JobResource, self).__init__(**kwargs) + self.name = None + self.id = None + self.type = None self.is_cancellable = None self.is_deletable = None self.is_shipping_address_editable = None @@ -2006,60 +2143,78 @@ def __init__(self, **kwargs): self.delivery_type = kwargs.get('delivery_type', None) self.delivery_info = kwargs.get('delivery_info', None) self.is_cancellable_without_fee = None - self.name = None - self.id = None - self.type = None -class JobResourceUpdateParameter(Model): +class JobResourceList(msrest.serialization.Model): + """Job Resource Collection. + + :param value: List of job resources. + :type value: list[~azure.mgmt.databox.models.JobResource] + :param next_link: Link for the next set of job resources. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[JobResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(JobResourceList, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class JobResourceUpdateParameter(msrest.serialization.Model): """The JobResourceUpdateParameter. + :param tags: A set of tags. The list of key value pairs that describe the resource. These tags + can be used in viewing and grouping this resource (across resource groups). + :type tags: dict[str, str] :param details: Details of a job to be updated. :type details: ~azure.mgmt.databox.models.UpdateJobDetails :param destination_account_details: Destination account details. - :type destination_account_details: - list[~azure.mgmt.databox.models.DestinationAccountDetails] - :param tags: The list of key value pairs that describe the resource. These - tags can be used in viewing and grouping this resource (across resource - groups). - :type tags: dict[str, str] + :type destination_account_details: list[~azure.mgmt.databox.models.DestinationAccountDetails] """ _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, 'details': {'key': 'properties.details', 'type': 'UpdateJobDetails'}, 'destination_account_details': {'key': 'properties.destinationAccountDetails', 'type': '[DestinationAccountDetails]'}, - 'tags': {'key': 'tags', 'type': '{str}'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(JobResourceUpdateParameter, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) self.details = kwargs.get('details', None) self.destination_account_details = kwargs.get('destination_account_details', None) - self.tags = kwargs.get('tags', None) -class JobStages(Model): +class JobStages(msrest.serialization.Model): """Job stages. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. - :ivar stage_name: Name of the job stage. Possible values include: - 'DeviceOrdered', 'DevicePrepared', 'Dispatched', 'Delivered', 'PickedUp', - 'AtAzureDC', 'DataCopy', 'Completed', 'CompletedWithErrors', 'Cancelled', - 'Failed_IssueReportedAtCustomer', 'Failed_IssueDetectedAtAzureDC', - 'Aborted', 'CompletedWithWarnings', 'ReadyToDispatchFromAzureDC', - 'ReadyToReceiveAtAzureDC' + :ivar stage_name: Name of the job stage. Possible values include: "DeviceOrdered", + "DevicePrepared", "Dispatched", "Delivered", "PickedUp", "AtAzureDC", "DataCopy", "Completed", + "CompletedWithErrors", "Cancelled", "Failed_IssueReportedAtCustomer", + "Failed_IssueDetectedAtAzureDC", "Aborted", "CompletedWithWarnings", + "ReadyToDispatchFromAzureDC", "ReadyToReceiveAtAzureDC". :vartype stage_name: str or ~azure.mgmt.databox.models.StageName :ivar display_name: Display name of the job stage. :vartype display_name: str - :ivar stage_status: Status of the job stage. Possible values include: - 'None', 'InProgress', 'Succeeded', 'Failed', 'Cancelled', 'Cancelling', - 'SucceededWithErrors' + :ivar stage_status: Status of the job stage. Possible values include: "None", "InProgress", + "Succeeded", "Failed", "Cancelled", "Cancelling", "SucceededWithErrors". :vartype stage_status: str or ~azure.mgmt.databox.models.StageStatus :ivar stage_time: Time for the job stage in UTC ISO 8601 format. - :vartype stage_time: datetime - :ivar job_stage_details: Job Stage Details + :vartype stage_time: ~datetime.datetime + :ivar job_stage_details: Job Stage Details. :vartype job_stage_details: object :ivar error_details: Error details for the stage. :vartype error_details: list[~azure.mgmt.databox.models.JobErrorDetails] @@ -2075,15 +2230,18 @@ class JobStages(Model): } _attribute_map = { - 'stage_name': {'key': 'stageName', 'type': 'StageName'}, + 'stage_name': {'key': 'stageName', 'type': 'str'}, 'display_name': {'key': 'displayName', 'type': 'str'}, - 'stage_status': {'key': 'stageStatus', 'type': 'StageStatus'}, + 'stage_status': {'key': 'stageStatus', 'type': 'str'}, 'stage_time': {'key': 'stageTime', 'type': 'iso-8601'}, 'job_stage_details': {'key': 'jobStageDetails', 'type': 'object'}, 'error_details': {'key': 'errorDetails', 'type': '[JobErrorDetails]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(JobStages, self).__init__(**kwargs) self.stage_name = None self.display_name = None @@ -2093,14 +2251,13 @@ def __init__(self, **kwargs): self.error_details = None -class NotificationPreference(Model): +class NotificationPreference(msrest.serialization.Model): """Notification preference for a job stage. All required parameters must be populated in order to send to Azure. - :param stage_name: Required. Name of the stage. Possible values include: - 'DevicePrepared', 'Dispatched', 'Delivered', 'PickedUp', 'AtAzureDC', - 'DataCopy' + :param stage_name: Required. Name of the stage. Possible values include: "DevicePrepared", + "Dispatched", "Delivered", "PickedUp", "AtAzureDC", "DataCopy". :type stage_name: str or ~azure.mgmt.databox.models.NotificationStageName :param send_notification: Required. Notification is required or not. :type send_notification: bool @@ -2112,30 +2269,32 @@ class NotificationPreference(Model): } _attribute_map = { - 'stage_name': {'key': 'stageName', 'type': 'NotificationStageName'}, + 'stage_name': {'key': 'stageName', 'type': 'str'}, 'send_notification': {'key': 'sendNotification', 'type': 'bool'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(NotificationPreference, self).__init__(**kwargs) - self.stage_name = kwargs.get('stage_name', None) - self.send_notification = kwargs.get('send_notification', None) + self.stage_name = kwargs['stage_name'] + self.send_notification = kwargs['send_notification'] -class Operation(Model): +class Operation(msrest.serialization.Model): """Operation entity. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar name: Name of the operation. Format: - {resourceProviderNamespace}/{resourceType}/{read|write|delete|action} + {resourceProviderNamespace}/{resourceType}/{read|write|delete|action}. :vartype name: str :ivar display: Operation display values. :vartype display: ~azure.mgmt.databox.models.OperationDisplay :ivar properties: Operation properties. :vartype properties: object - :ivar origin: Origin of the operation. Can be : user|system|user,system + :ivar origin: Origin of the operation. Can be : user|system|user,system. :vartype origin: str """ @@ -2153,7 +2312,10 @@ class Operation(Model): 'origin': {'key': 'origin', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(Operation, self).__init__(**kwargs) self.name = None self.display = None @@ -2161,7 +2323,7 @@ def __init__(self, **kwargs): self.origin = None -class OperationDisplay(Model): +class OperationDisplay(msrest.serialization.Model): """Operation display. :param provider: Provider name. @@ -2170,8 +2332,7 @@ class OperationDisplay(Model): :type resource: str :param operation: Localized name of the operation for display purpose. :type operation: str - :param description: Localized description of the operation for display - purpose. + :param description: Localized description of the operation for display purpose. :type description: str """ @@ -2182,7 +2343,10 @@ class OperationDisplay(Model): 'description': {'key': 'description', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(OperationDisplay, self).__init__(**kwargs) self.provider = kwargs.get('provider', None) self.resource = kwargs.get('resource', None) @@ -2190,11 +2354,39 @@ def __init__(self, **kwargs): self.description = kwargs.get('description', None) -class PackageShippingDetails(Model): +class OperationList(msrest.serialization.Model): + """Operation Collection. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of operations. + :vartype value: list[~azure.mgmt.databox.models.Operation] + :param next_link: Link for the next set of operations. + :type next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Operation]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationList, self).__init__(**kwargs) + self.value = None + self.next_link = kwargs.get('next_link', None) + + +class PackageShippingDetails(msrest.serialization.Model): """Shipping details. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar carrier_name: Name of the carrier. :vartype carrier_name: str @@ -2216,22 +2408,23 @@ class PackageShippingDetails(Model): 'tracking_url': {'key': 'trackingUrl', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(PackageShippingDetails, self).__init__(**kwargs) self.carrier_name = None self.tracking_id = None self.tracking_url = None -class Preferences(Model): +class Preferences(msrest.serialization.Model): """Preferences related to the order. :param preferred_data_center_region: Preferred Data Center Region. :type preferred_data_center_region: list[str] - :param transport_preferences: Preferences related to the shipment - logistics of the sku. - :type transport_preferences: - ~azure.mgmt.databox.models.TransportPreferences + :param transport_preferences: Preferences related to the shipment logistics of the sku. + :type transport_preferences: ~azure.mgmt.databox.models.TransportPreferences """ _attribute_map = { @@ -2239,7 +2432,10 @@ class Preferences(Model): 'transport_preferences': {'key': 'transportPreferences', 'type': 'TransportPreferences'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(Preferences, self).__init__(**kwargs) self.preferred_data_center_region = kwargs.get('preferred_data_center_region', None) self.transport_preferences = kwargs.get('transport_preferences', None) @@ -2250,13 +2446,15 @@ class PreferencesValidationRequest(ValidationInputRequest): All required parameters must be populated in order to send to Azure. - :param validation_type: Required. Constant filled by server. - :type validation_type: str - :param preference: Preference requested with respect to transport type and - data center + :param validation_type: Required. Identifies the type of validation request.Constant filled by + server. Possible values include: "ValidateAddress", "ValidateDataDestinationDetails", + "ValidateSubscriptionIsAllowedToCreateJob", "ValidatePreferences", "ValidateCreateOrderLimit", + "ValidateSkuAvailability". + :type validation_type: str or ~azure.mgmt.databox.models.ValidationInputDiscriminator + :param preference: Preference requested with respect to transport type and data center. :type preference: ~azure.mgmt.databox.models.Preferences - :param device_type: Required. Device type to be used for the job. Possible - values include: 'DataBox', 'DataBoxDisk', 'DataBoxHeavy' + :param device_type: Required. Device type to be used for the job. Possible values include: + "DataBox", "DataBoxDisk", "DataBoxHeavy". :type device_type: str or ~azure.mgmt.databox.models.SkuName """ @@ -2268,62 +2466,68 @@ class PreferencesValidationRequest(ValidationInputRequest): _attribute_map = { 'validation_type': {'key': 'validationType', 'type': 'str'}, 'preference': {'key': 'preference', 'type': 'Preferences'}, - 'device_type': {'key': 'deviceType', 'type': 'SkuName'}, + 'device_type': {'key': 'deviceType', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(PreferencesValidationRequest, self).__init__(**kwargs) + self.validation_type = 'ValidatePreferences' # type: str self.preference = kwargs.get('preference', None) - self.device_type = kwargs.get('device_type', None) - self.validation_type = 'ValidatePreferences' + self.device_type = kwargs['device_type'] class PreferencesValidationResponseProperties(ValidationInputResponse): """Properties of data center and transport preference validation response. - Variables are only populated by the server, and will be ignored when - sending a request. + 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 validation_type: Required. Identifies the type of validation response.Constant filled by + server. Possible values include: "ValidateAddress", "ValidateDataDestinationDetails", + "ValidateSubscriptionIsAllowedToCreateJob", "ValidatePreferences", "ValidateCreateOrderLimit", + "ValidateSkuAvailability". + :type validation_type: str or ~azure.mgmt.databox.models.ValidationInputDiscriminator :ivar error: Error code and message of validation response. :vartype error: ~azure.mgmt.databox.models.Error - :param validation_type: Required. Constant filled by server. - :type validation_type: str - :ivar status: Validation status of requested data center and transport. - Possible values include: 'Valid', 'Invalid', 'Skipped' + :ivar status: Validation status of requested data center and transport. Possible values + include: "Valid", "Invalid", "Skipped". :vartype status: str or ~azure.mgmt.databox.models.ValidationStatus """ _validation = { - 'error': {'readonly': True}, 'validation_type': {'required': True}, + 'error': {'readonly': True}, 'status': {'readonly': True}, } _attribute_map = { - 'error': {'key': 'error', 'type': 'Error'}, 'validation_type': {'key': 'validationType', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'ValidationStatus'}, + 'error': {'key': 'error', 'type': 'Error'}, + 'status': {'key': 'status', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(PreferencesValidationResponseProperties, self).__init__(**kwargs) + self.validation_type = 'ValidatePreferences' # type: str self.status = None - self.validation_type = 'ValidatePreferences' -class RegionConfigurationRequest(Model): +class RegionConfigurationRequest(msrest.serialization.Model): """Request body to get the configuration for the region. - :param schedule_availability_request: Request body to get the availability - for scheduling orders. - :type schedule_availability_request: - ~azure.mgmt.databox.models.ScheduleAvailabilityRequest - :param transport_availability_request: Request body to get the transport - availability for given sku. - :type transport_availability_request: - ~azure.mgmt.databox.models.TransportAvailabilityRequest + :param schedule_availability_request: Request body to get the availability for scheduling + orders. + :type schedule_availability_request: ~azure.mgmt.databox.models.ScheduleAvailabilityRequest + :param transport_availability_request: Request body to get the transport availability for given + sku. + :type transport_availability_request: ~azure.mgmt.databox.models.TransportAvailabilityRequest """ _attribute_map = { @@ -2331,24 +2535,24 @@ class RegionConfigurationRequest(Model): 'transport_availability_request': {'key': 'transportAvailabilityRequest', 'type': 'TransportAvailabilityRequest'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(RegionConfigurationRequest, self).__init__(**kwargs) self.schedule_availability_request = kwargs.get('schedule_availability_request', None) self.transport_availability_request = kwargs.get('transport_availability_request', None) -class RegionConfigurationResponse(Model): +class RegionConfigurationResponse(msrest.serialization.Model): """Configuration response specific to a region. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. - :ivar schedule_availability_response: Schedule availability for given sku - in a region. + :ivar schedule_availability_response: Schedule availability for given sku in a region. :vartype schedule_availability_response: ~azure.mgmt.databox.models.ScheduleAvailabilityResponse - :ivar transport_availability_response: Transport options available for - given sku in a region. + :ivar transport_availability_response: Transport options available for given sku in a region. :vartype transport_availability_response: ~azure.mgmt.databox.models.TransportAvailabilityResponse """ @@ -2363,20 +2567,22 @@ class RegionConfigurationResponse(Model): 'transport_availability_response': {'key': 'transportAvailabilityResponse', 'type': 'TransportAvailabilityResponse'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(RegionConfigurationResponse, self).__init__(**kwargs) self.schedule_availability_response = None self.transport_availability_response = None -class ScheduleAvailabilityResponse(Model): +class ScheduleAvailabilityResponse(msrest.serialization.Model): """Schedule availability response for given sku in a region. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. - :ivar available_dates: List of dates available to schedule - :vartype available_dates: list[datetime] + :ivar available_dates: List of dates available to schedule. + :vartype available_dates: list[~datetime.datetime] """ _validation = { @@ -2387,31 +2593,30 @@ class ScheduleAvailabilityResponse(Model): 'available_dates': {'key': 'availableDates', 'type': '[iso-8601]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ScheduleAvailabilityResponse, self).__init__(**kwargs) self.available_dates = None -class ShareCredentialDetails(Model): +class ShareCredentialDetails(msrest.serialization.Model): """Credential details of the shares in account. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar share_name: Name of the share. :vartype share_name: str - :ivar share_type: Type of the share. Possible values include: - 'UnknownType', 'HCS', 'BlockBlob', 'PageBlob', 'AzureFile', 'ManagedDisk' - :vartype share_type: str or - ~azure.mgmt.databox.models.ShareDestinationFormatType + :ivar share_type: Type of the share. Possible values include: "UnknownType", "HCS", + "BlockBlob", "PageBlob", "AzureFile", "ManagedDisk". + :vartype share_type: str or ~azure.mgmt.databox.models.ShareDestinationFormatType :ivar user_name: User name for the share. :vartype user_name: str :ivar password: Password for the share. :vartype password: str - :ivar supported_access_protocols: Access protocols supported on the - device. - :vartype supported_access_protocols: list[str or - ~azure.mgmt.databox.models.AccessProtocol] + :ivar supported_access_protocols: Access protocols supported on the device. + :vartype supported_access_protocols: list[str or ~azure.mgmt.databox.models.AccessProtocol] """ _validation = { @@ -2424,13 +2629,16 @@ class ShareCredentialDetails(Model): _attribute_map = { 'share_name': {'key': 'shareName', 'type': 'str'}, - 'share_type': {'key': 'shareType', 'type': 'ShareDestinationFormatType'}, + 'share_type': {'key': 'shareType', 'type': 'str'}, 'user_name': {'key': 'userName', 'type': 'str'}, 'password': {'key': 'password', 'type': 'str'}, - 'supported_access_protocols': {'key': 'supportedAccessProtocols', 'type': '[AccessProtocol]'}, + 'supported_access_protocols': {'key': 'supportedAccessProtocols', 'type': '[str]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ShareCredentialDetails, self).__init__(**kwargs) self.share_name = None self.share_type = None @@ -2439,19 +2647,18 @@ def __init__(self, **kwargs): self.supported_access_protocols = None -class ShipmentPickUpRequest(Model): +class ShipmentPickUpRequest(msrest.serialization.Model): """Shipment pick up request details. All required parameters must be populated in order to send to Azure. - :param start_time: Required. Minimum date after which the pick up should - commence, this must be in local time of pick up area. - :type start_time: datetime - :param end_time: Required. Maximum date before which the pick up should - commence, this must be in local time of pick up area. - :type end_time: datetime - :param shipment_location: Required. Shipment Location in the pickup place. - Eg.front desk + :param start_time: Required. Minimum date after which the pick up should commence, this must be + in local time of pick up area. + :type start_time: ~datetime.datetime + :param end_time: Required. Maximum date before which the pick up should commence, this must be + in local time of pick up area. + :type end_time: ~datetime.datetime + :param shipment_location: Required. Shipment Location in the pickup place. Eg.front desk. :type shipment_location: str """ @@ -2467,24 +2674,26 @@ class ShipmentPickUpRequest(Model): 'shipment_location': {'key': 'shipmentLocation', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ShipmentPickUpRequest, self).__init__(**kwargs) - self.start_time = kwargs.get('start_time', None) - self.end_time = kwargs.get('end_time', None) - self.shipment_location = kwargs.get('shipment_location', None) + self.start_time = kwargs['start_time'] + self.end_time = kwargs['end_time'] + self.shipment_location = kwargs['shipment_location'] -class ShipmentPickUpResponse(Model): +class ShipmentPickUpResponse(msrest.serialization.Model): """Shipment pick up response. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar confirmation_number: Confirmation number for the pick up request. :vartype confirmation_number: str - :ivar ready_by_time: Time by which shipment should be ready for pick up, - this is in local time of pick up area. - :vartype ready_by_time: datetime + :ivar ready_by_time: Time by which shipment should be ready for pick up, this is in local time + of pick up area. + :vartype ready_by_time: ~datetime.datetime """ _validation = { @@ -2497,13 +2706,16 @@ class ShipmentPickUpResponse(Model): 'ready_by_time': {'key': 'readyByTime', 'type': 'iso-8601'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ShipmentPickUpResponse, self).__init__(**kwargs) self.confirmation_number = None self.ready_by_time = None -class ShippingAddress(Model): +class ShippingAddress(msrest.serialization.Model): """Shipping address where customer wishes to receive the device. All required parameters must be populated in order to send to Azure. @@ -2526,8 +2738,8 @@ class ShippingAddress(Model): :type zip_extended_code: str :param company_name: Name of the company. :type company_name: str - :param address_type: Type of address. Possible values include: 'None', - 'Residential', 'Commercial' + :param address_type: Type of address. Possible values include: "None", "Residential", + "Commercial". :type address_type: str or ~azure.mgmt.databox.models.AddressType """ @@ -2547,30 +2759,33 @@ class ShippingAddress(Model): 'postal_code': {'key': 'postalCode', 'type': 'str'}, 'zip_extended_code': {'key': 'zipExtendedCode', 'type': 'str'}, 'company_name': {'key': 'companyName', 'type': 'str'}, - 'address_type': {'key': 'addressType', 'type': 'AddressType'}, + 'address_type': {'key': 'addressType', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ShippingAddress, self).__init__(**kwargs) - self.street_address1 = kwargs.get('street_address1', None) + self.street_address1 = kwargs['street_address1'] self.street_address2 = kwargs.get('street_address2', None) self.street_address3 = kwargs.get('street_address3', None) self.city = kwargs.get('city', None) self.state_or_province = kwargs.get('state_or_province', None) - self.country = kwargs.get('country', None) - self.postal_code = kwargs.get('postal_code', None) + self.country = kwargs['country'] + self.postal_code = kwargs['postal_code'] self.zip_extended_code = kwargs.get('zip_extended_code', None) self.company_name = kwargs.get('company_name', None) self.address_type = kwargs.get('address_type', None) -class Sku(Model): +class Sku(msrest.serialization.Model): """The Sku. All required parameters must be populated in order to send to Azure. - :param name: Required. The sku name. Possible values include: 'DataBox', - 'DataBoxDisk', 'DataBoxHeavy' + :param name: Required. The sku name. Possible values include: "DataBox", "DataBoxDisk", + "DataBoxHeavy". :type name: str or ~azure.mgmt.databox.models.SkuName :param display_name: The display name of the sku. :type display_name: str @@ -2583,14 +2798,17 @@ class Sku(Model): } _attribute_map = { - 'name': {'key': 'name', 'type': 'SkuName'}, + 'name': {'key': 'name', 'type': 'str'}, 'display_name': {'key': 'displayName', 'type': 'str'}, 'family': {'key': 'family', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(Sku, self).__init__(**kwargs) - self.name = kwargs.get('name', None) + self.name = kwargs['name'] self.display_name = kwargs.get('display_name', None) self.family = kwargs.get('family', None) @@ -2598,26 +2816,25 @@ def __init__(self, **kwargs): class SkuAvailabilityValidationRequest(ValidationInputRequest): """Request to validate sku availability. - Variables are only populated by the server, and will be ignored when - sending a request. + 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 validation_type: Required. Constant filled by server. - :type validation_type: str - :param device_type: Required. Device type to be used for the job. Possible - values include: 'DataBox', 'DataBoxDisk', 'DataBoxHeavy' + :param validation_type: Required. Identifies the type of validation request.Constant filled by + server. Possible values include: "ValidateAddress", "ValidateDataDestinationDetails", + "ValidateSubscriptionIsAllowedToCreateJob", "ValidatePreferences", "ValidateCreateOrderLimit", + "ValidateSkuAvailability". + :type validation_type: str or ~azure.mgmt.databox.models.ValidationInputDiscriminator + :param device_type: Required. Device type to be used for the job. Possible values include: + "DataBox", "DataBoxDisk", "DataBoxHeavy". :type device_type: str or ~azure.mgmt.databox.models.SkuName - :ivar transfer_type: Required. Type of the transfer. Default value: - "ImportToAzure" . + :ivar transfer_type: Required. Type of the transfer. Default value: "ImportToAzure". :vartype transfer_type: str - :param country: Required. ISO country code. Country for hardware shipment. - For codes check: - https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements + :param country: Required. ISO country code. Country for hardware shipment. For codes check: + https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements. :type country: str - :param location: Required. Location for data transfer. For locations - check: - https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01 + :param location: Required. Location for data transfer. For locations check: + https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01. :type location: str """ @@ -2631,7 +2848,7 @@ class SkuAvailabilityValidationRequest(ValidationInputRequest): _attribute_map = { 'validation_type': {'key': 'validationType', 'type': 'str'}, - 'device_type': {'key': 'deviceType', 'type': 'SkuName'}, + 'device_type': {'key': 'deviceType', 'type': 'str'}, 'transfer_type': {'key': 'transferType', 'type': 'str'}, 'country': {'key': 'country', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, @@ -2639,54 +2856,61 @@ class SkuAvailabilityValidationRequest(ValidationInputRequest): transfer_type = "ImportToAzure" - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(SkuAvailabilityValidationRequest, self).__init__(**kwargs) - self.device_type = kwargs.get('device_type', None) - self.country = kwargs.get('country', None) - self.location = kwargs.get('location', None) - self.validation_type = 'ValidateSkuAvailability' + self.validation_type = 'ValidateSkuAvailability' # type: str + self.device_type = kwargs['device_type'] + self.country = kwargs['country'] + self.location = kwargs['location'] class SkuAvailabilityValidationResponseProperties(ValidationInputResponse): """Properties of sku availability validation response. - Variables are only populated by the server, and will be ignored when - sending a request. + 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 validation_type: Required. Identifies the type of validation response.Constant filled by + server. Possible values include: "ValidateAddress", "ValidateDataDestinationDetails", + "ValidateSubscriptionIsAllowedToCreateJob", "ValidatePreferences", "ValidateCreateOrderLimit", + "ValidateSkuAvailability". + :type validation_type: str or ~azure.mgmt.databox.models.ValidationInputDiscriminator :ivar error: Error code and message of validation response. :vartype error: ~azure.mgmt.databox.models.Error - :param validation_type: Required. Constant filled by server. - :type validation_type: str - :ivar status: Sku availability validation status. Possible values include: - 'Valid', 'Invalid', 'Skipped' + :ivar status: Sku availability validation status. Possible values include: "Valid", "Invalid", + "Skipped". :vartype status: str or ~azure.mgmt.databox.models.ValidationStatus """ _validation = { - 'error': {'readonly': True}, 'validation_type': {'required': True}, + 'error': {'readonly': True}, 'status': {'readonly': True}, } _attribute_map = { - 'error': {'key': 'error', 'type': 'Error'}, 'validation_type': {'key': 'validationType', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'ValidationStatus'}, + 'error': {'key': 'error', 'type': 'Error'}, + 'status': {'key': 'status', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(SkuAvailabilityValidationResponseProperties, self).__init__(**kwargs) + self.validation_type = 'ValidateSkuAvailability' # type: str self.status = None - self.validation_type = 'ValidateSkuAvailability' -class SkuCapacity(Model): +class SkuCapacity(msrest.serialization.Model): """Capacity of the sku. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar usable: Usable capacity in TB. :vartype usable: str @@ -2704,17 +2928,19 @@ class SkuCapacity(Model): 'maximum': {'key': 'maximum', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(SkuCapacity, self).__init__(**kwargs) self.usable = None self.maximum = None -class SkuCost(Model): +class SkuCost(msrest.serialization.Model): """Describes metadata for retrieving price info. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar meter_id: Meter id of the Sku. :vartype meter_id: str @@ -2732,24 +2958,25 @@ class SkuCost(Model): 'meter_type': {'key': 'meterType', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(SkuCost, self).__init__(**kwargs) self.meter_id = None self.meter_type = None -class SkuInformation(Model): +class SkuInformation(msrest.serialization.Model): """Information of the sku. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar sku: The Sku. :vartype sku: ~azure.mgmt.databox.models.Sku :ivar enabled: The sku is enabled or not. :vartype enabled: bool - :ivar destination_to_service_location_map: The map of destination location - to service location. + :ivar destination_to_service_location_map: The map of destination location to service location. :vartype destination_to_service_location_map: list[~azure.mgmt.databox.models.DestinationToServiceLocationMap] :ivar capacity: Capacity of the Sku. @@ -2758,11 +2985,9 @@ class SkuInformation(Model): :vartype costs: list[~azure.mgmt.databox.models.SkuCost] :ivar api_versions: Api versions that support this Sku. :vartype api_versions: list[str] - :ivar disabled_reason: Reason why the Sku is disabled. Possible values - include: 'None', 'Country', 'Region', 'Feature', 'OfferType', - 'NoSubscriptionInfo' - :vartype disabled_reason: str or - ~azure.mgmt.databox.models.SkuDisabledReason + :ivar disabled_reason: Reason why the Sku is disabled. Possible values include: "None", + "Country", "Region", "Feature", "OfferType", "NoSubscriptionInfo". + :vartype disabled_reason: str or ~azure.mgmt.databox.models.SkuDisabledReason :ivar disabled_reason_message: Message for why the Sku is disabled. :vartype disabled_reason_message: str :ivar required_feature: Required feature to access the sku. @@ -2788,12 +3013,15 @@ class SkuInformation(Model): 'capacity': {'key': 'properties.capacity', 'type': 'SkuCapacity'}, 'costs': {'key': 'properties.costs', 'type': '[SkuCost]'}, 'api_versions': {'key': 'properties.apiVersions', 'type': '[str]'}, - 'disabled_reason': {'key': 'properties.disabledReason', 'type': 'SkuDisabledReason'}, + 'disabled_reason': {'key': 'properties.disabledReason', 'type': 'str'}, 'disabled_reason_message': {'key': 'properties.disabledReasonMessage', 'type': 'str'}, 'required_feature': {'key': 'properties.requiredFeature', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(SkuInformation, self).__init__(**kwargs) self.sku = None self.enabled = None @@ -2811,8 +3039,11 @@ class SubscriptionIsAllowedToCreateJobValidationRequest(ValidationInputRequest): All required parameters must be populated in order to send to Azure. - :param validation_type: Required. Constant filled by server. - :type validation_type: str + :param validation_type: Required. Identifies the type of validation request.Constant filled by + server. Possible values include: "ValidateAddress", "ValidateDataDestinationDetails", + "ValidateSubscriptionIsAllowedToCreateJob", "ValidatePreferences", "ValidateCreateOrderLimit", + "ValidateSkuAvailability". + :type validation_type: str or ~azure.mgmt.databox.models.ValidationInputDiscriminator """ _validation = { @@ -2823,56 +3054,62 @@ class SubscriptionIsAllowedToCreateJobValidationRequest(ValidationInputRequest): 'validation_type': {'key': 'validationType', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(SubscriptionIsAllowedToCreateJobValidationRequest, self).__init__(**kwargs) - self.validation_type = 'ValidateSubscriptionIsAllowedToCreateJob' + self.validation_type = 'ValidateSubscriptionIsAllowedToCreateJob' # type: str class SubscriptionIsAllowedToCreateJobValidationResponseProperties(ValidationInputResponse): """Properties of subscription permission to create job validation response. - Variables are only populated by the server, and will be ignored when - sending a request. + 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 validation_type: Required. Identifies the type of validation response.Constant filled by + server. Possible values include: "ValidateAddress", "ValidateDataDestinationDetails", + "ValidateSubscriptionIsAllowedToCreateJob", "ValidatePreferences", "ValidateCreateOrderLimit", + "ValidateSkuAvailability". + :type validation_type: str or ~azure.mgmt.databox.models.ValidationInputDiscriminator :ivar error: Error code and message of validation response. :vartype error: ~azure.mgmt.databox.models.Error - :param validation_type: Required. Constant filled by server. - :type validation_type: str - :ivar status: Validation status of subscription permission to create job. - Possible values include: 'Valid', 'Invalid', 'Skipped' + :ivar status: Validation status of subscription permission to create job. Possible values + include: "Valid", "Invalid", "Skipped". :vartype status: str or ~azure.mgmt.databox.models.ValidationStatus """ _validation = { - 'error': {'readonly': True}, 'validation_type': {'required': True}, + 'error': {'readonly': True}, 'status': {'readonly': True}, } _attribute_map = { - 'error': {'key': 'error', 'type': 'Error'}, 'validation_type': {'key': 'validationType', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'ValidationStatus'}, + 'error': {'key': 'error', 'type': 'Error'}, + 'status': {'key': 'status', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(SubscriptionIsAllowedToCreateJobValidationResponseProperties, self).__init__(**kwargs) + self.validation_type = 'ValidateSubscriptionIsAllowedToCreateJob' # type: str self.status = None - self.validation_type = 'ValidateSubscriptionIsAllowedToCreateJob' -class TransportAvailabilityDetails(Model): +class TransportAvailabilityDetails(msrest.serialization.Model): """Transport options availability details for given region. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. - :ivar shipment_type: Transport Shipment Type supported for given region. - Possible values include: 'CustomerManaged', 'MicrosoftManaged' - :vartype shipment_type: str or - ~azure.mgmt.databox.models.TransportShipmentTypes + :ivar shipment_type: Transport Shipment Type supported for given region. Possible values + include: "CustomerManaged", "MicrosoftManaged". + :vartype shipment_type: str or ~azure.mgmt.databox.models.TransportShipmentTypes """ _validation = { @@ -2880,39 +3117,43 @@ class TransportAvailabilityDetails(Model): } _attribute_map = { - 'shipment_type': {'key': 'shipmentType', 'type': 'TransportShipmentTypes'}, + 'shipment_type': {'key': 'shipmentType', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(TransportAvailabilityDetails, self).__init__(**kwargs) self.shipment_type = None -class TransportAvailabilityRequest(Model): +class TransportAvailabilityRequest(msrest.serialization.Model): """Request body to get the transport availability for given sku. - :param sku_name: Type of the device. Possible values include: 'DataBox', - 'DataBoxDisk', 'DataBoxHeavy' + :param sku_name: Type of the device. Possible values include: "DataBox", "DataBoxDisk", + "DataBoxHeavy". :type sku_name: str or ~azure.mgmt.databox.models.SkuName """ _attribute_map = { - 'sku_name': {'key': 'skuName', 'type': 'SkuName'}, + 'sku_name': {'key': 'skuName', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(TransportAvailabilityRequest, self).__init__(**kwargs) self.sku_name = kwargs.get('sku_name', None) -class TransportAvailabilityResponse(Model): +class TransportAvailabilityResponse(msrest.serialization.Model): """Transport options available for given sku in a region. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. - :ivar transport_availability_details: List of transport availability - details for given region + :ivar transport_availability_details: List of transport availability details for given region. :vartype transport_availability_details: list[~azure.mgmt.databox.models.TransportAvailabilityDetails] """ @@ -2925,21 +3166,22 @@ class TransportAvailabilityResponse(Model): 'transport_availability_details': {'key': 'transportAvailabilityDetails', 'type': '[TransportAvailabilityDetails]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(TransportAvailabilityResponse, self).__init__(**kwargs) self.transport_availability_details = None -class TransportPreferences(Model): +class TransportPreferences(msrest.serialization.Model): """Preferences related to the shipment logistics of the sku. All required parameters must be populated in order to send to Azure. - :param preferred_shipment_type: Required. Indicates Shipment Logistics - type that the customer preferred. Possible values include: - 'CustomerManaged', 'MicrosoftManaged' - :type preferred_shipment_type: str or - ~azure.mgmt.databox.models.TransportShipmentTypes + :param preferred_shipment_type: Required. Indicates Shipment Logistics type that the customer + preferred. Possible values include: "CustomerManaged", "MicrosoftManaged". + :type preferred_shipment_type: str or ~azure.mgmt.databox.models.TransportShipmentTypes """ _validation = { @@ -2947,19 +3189,21 @@ class TransportPreferences(Model): } _attribute_map = { - 'preferred_shipment_type': {'key': 'preferredShipmentType', 'type': 'TransportShipmentTypes'}, + 'preferred_shipment_type': {'key': 'preferredShipmentType', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(TransportPreferences, self).__init__(**kwargs) - self.preferred_shipment_type = kwargs.get('preferred_shipment_type', None) + self.preferred_shipment_type = kwargs['preferred_shipment_type'] -class UnencryptedCredentials(Model): +class UnencryptedCredentials(msrest.serialization.Model): """Unencrypted credentials for accessing device. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar job_name: Name of the job. :vartype job_name: str @@ -2977,13 +3221,39 @@ class UnencryptedCredentials(Model): 'job_secrets': {'key': 'jobSecrets', 'type': 'JobSecrets'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(UnencryptedCredentials, self).__init__(**kwargs) self.job_name = None self.job_secrets = None -class UpdateJobDetails(Model): +class UnencryptedCredentialsList(msrest.serialization.Model): + """List of unencrypted credentials for accessing device. + + :param value: List of unencrypted credentials. + :type value: list[~azure.mgmt.databox.models.UnencryptedCredentials] + :param next_link: Link for the next set of unencrypted credentials. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[UnencryptedCredentials]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(UnencryptedCredentialsList, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class UpdateJobDetails(msrest.serialization.Model): """Job details for update. :param contact_details: Contact details for notification and shipping. @@ -2997,29 +3267,32 @@ class UpdateJobDetails(Model): 'shipping_address': {'key': 'shippingAddress', 'type': 'ShippingAddress'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(UpdateJobDetails, self).__init__(**kwargs) self.contact_details = kwargs.get('contact_details', None) self.shipping_address = kwargs.get('shipping_address', None) class ValidateAddress(ValidationInputRequest): - """The requirements to validate customer address where the device needs to be - shipped. + """The requirements to validate customer address where the device needs to be shipped. All required parameters must be populated in order to send to Azure. - :param validation_type: Required. Constant filled by server. - :type validation_type: str + :param validation_type: Required. Identifies the type of validation request.Constant filled by + server. Possible values include: "ValidateAddress", "ValidateDataDestinationDetails", + "ValidateSubscriptionIsAllowedToCreateJob", "ValidatePreferences", "ValidateCreateOrderLimit", + "ValidateSkuAvailability". + :type validation_type: str or ~azure.mgmt.databox.models.ValidationInputDiscriminator :param shipping_address: Required. Shipping address of the customer. :type shipping_address: ~azure.mgmt.databox.models.ShippingAddress - :param device_type: Required. Device type to be used for the job. Possible - values include: 'DataBox', 'DataBoxDisk', 'DataBoxHeavy' + :param device_type: Required. Device type to be used for the job. Possible values include: + "DataBox", "DataBoxDisk", "DataBoxHeavy". :type device_type: str or ~azure.mgmt.databox.models.SkuName - :param transport_preferences: Preferences related to the shipment - logistics of the sku. - :type transport_preferences: - ~azure.mgmt.databox.models.TransportPreferences + :param transport_preferences: Preferences related to the shipment logistics of the sku. + :type transport_preferences: ~azure.mgmt.databox.models.TransportPreferences """ _validation = { @@ -3031,32 +3304,32 @@ class ValidateAddress(ValidationInputRequest): _attribute_map = { 'validation_type': {'key': 'validationType', 'type': 'str'}, 'shipping_address': {'key': 'shippingAddress', 'type': 'ShippingAddress'}, - 'device_type': {'key': 'deviceType', 'type': 'SkuName'}, + 'device_type': {'key': 'deviceType', 'type': 'str'}, 'transport_preferences': {'key': 'transportPreferences', 'type': 'TransportPreferences'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ValidateAddress, self).__init__(**kwargs) - self.shipping_address = kwargs.get('shipping_address', None) - self.device_type = kwargs.get('device_type', None) + self.validation_type = 'ValidateAddress' # type: str + self.shipping_address = kwargs['shipping_address'] + self.device_type = kwargs['device_type'] self.transport_preferences = kwargs.get('transport_preferences', None) - self.validation_type = 'ValidateAddress' -class ValidationResponse(Model): +class ValidationResponse(msrest.serialization.Model): """Response of pre job creation validations. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. - :ivar status: Overall validation status. Possible values include: - 'AllValidToProceed', 'InputsRevisitRequired', - 'CertainInputValidationsSkipped' + :ivar status: Overall validation status. Possible values include: "AllValidToProceed", + "InputsRevisitRequired", "CertainInputValidationsSkipped". :vartype status: str or ~azure.mgmt.databox.models.OverallValidationStatus - :ivar individual_response_details: List of response details contain - validationType and its response as key and value respectively. - :vartype individual_response_details: - list[~azure.mgmt.databox.models.ValidationInputResponse] + :ivar individual_response_details: List of response details contain validationType and its + response as key and value respectively. + :vartype individual_response_details: list[~azure.mgmt.databox.models.ValidationInputResponse] """ _validation = { @@ -3065,11 +3338,14 @@ class ValidationResponse(Model): } _attribute_map = { - 'status': {'key': 'properties.status', 'type': 'OverallValidationStatus'}, + 'status': {'key': 'properties.status', 'type': 'str'}, 'individual_response_details': {'key': 'properties.individualResponseDetails', 'type': '[ValidationInputResponse]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ValidationResponse, self).__init__(**kwargs) self.status = None self.individual_response_details = None diff --git a/src/databox/azext_databox/vendored_sdks/databox/models/_models_py3.py b/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/models/_models_py3.py similarity index 66% rename from src/databox/azext_databox/vendored_sdks/databox/models/_models_py3.py rename to src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/models/_models_py3.py index a96c0dc5c49..89c41698459 100644 --- a/src/databox/azext_databox/vendored_sdks/databox/models/_models_py3.py +++ b/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/models/_models_py3.py @@ -1,37 +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. -# +# Licensed under the MIT License. See License.txt in the project root for license information. # Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from msrest.serialization import Model -from msrest.exceptions import HttpOperationError +import datetime +from typing import Dict, List, Optional, Union +import msrest.serialization -class AccountCredentialDetails(Model): +from ._data_box_management_client_enums import * + + +class AccountCredentialDetails(msrest.serialization.Model): """Credential details of the account. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar account_name: Name of the account. :vartype account_name: str - :ivar data_destination_type: Data Destination Type. Possible values - include: 'StorageAccount', 'ManagedDisk' - :vartype data_destination_type: str or - ~azure.mgmt.databox.models.DataDestinationType - :ivar account_connection_string: Connection string of the account endpoint - to use the account as a storage endpoint on the device. + :ivar data_destination_type: Data Destination Type. Possible values include: "StorageAccount", + "ManagedDisk". + :vartype data_destination_type: str or ~azure.mgmt.databox.models.DataDestinationType + :ivar account_connection_string: Connection string of the account endpoint to use the account + as a storage endpoint on the device. :vartype account_connection_string: str - :ivar share_credential_details: Per share level unencrypted access - credentials. - :vartype share_credential_details: - list[~azure.mgmt.databox.models.ShareCredentialDetails] + :ivar share_credential_details: Per share level unencrypted access credentials. + :vartype share_credential_details: list[~azure.mgmt.databox.models.ShareCredentialDetails] """ _validation = { @@ -43,12 +40,15 @@ class AccountCredentialDetails(Model): _attribute_map = { 'account_name': {'key': 'accountName', 'type': 'str'}, - 'data_destination_type': {'key': 'dataDestinationType', 'type': 'DataDestinationType'}, + 'data_destination_type': {'key': 'dataDestinationType', 'type': 'str'}, 'account_connection_string': {'key': 'accountConnectionString', 'type': 'str'}, 'share_credential_details': {'key': 'shareCredentialDetails', 'type': '[ShareCredentialDetails]'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(AccountCredentialDetails, self).__init__(**kwargs) self.account_name = None self.data_destination_type = None @@ -56,21 +56,23 @@ def __init__(self, **kwargs) -> None: self.share_credential_details = None -class AddressValidationOutput(Model): +class AddressValidationOutput(msrest.serialization.Model): """Output of the address validation api. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. + :param validation_type: Identifies the type of validation response.Constant filled by server. + Possible values include: "ValidateAddress", "ValidateDataDestinationDetails", + "ValidateSubscriptionIsAllowedToCreateJob", "ValidatePreferences", "ValidateCreateOrderLimit", + "ValidateSkuAvailability". + :type validation_type: str or ~azure.mgmt.databox.models.ValidationInputDiscriminator :ivar error: Error code and message of validation response. :vartype error: ~azure.mgmt.databox.models.Error - :ivar validation_status: The address validation status. Possible values - include: 'Valid', 'Invalid', 'Ambiguous' - :vartype validation_status: str or - ~azure.mgmt.databox.models.AddressValidationStatus + :ivar validation_status: The address validation status. Possible values include: "Valid", + "Invalid", "Ambiguous". + :vartype validation_status: str or ~azure.mgmt.databox.models.AddressValidationStatus :ivar alternate_addresses: List of alternate addresses. - :vartype alternate_addresses: - list[~azure.mgmt.databox.models.ShippingAddress] + :vartype alternate_addresses: list[~azure.mgmt.databox.models.ShippingAddress] """ _validation = { @@ -80,23 +82,114 @@ class AddressValidationOutput(Model): } _attribute_map = { + 'validation_type': {'key': 'properties.validationType', 'type': 'str'}, 'error': {'key': 'properties.error', 'type': 'Error'}, - 'validation_status': {'key': 'properties.validationStatus', 'type': 'AddressValidationStatus'}, + 'validation_status': {'key': 'properties.validationStatus', 'type': 'str'}, 'alternate_addresses': {'key': 'properties.alternateAddresses', 'type': '[ShippingAddress]'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(AddressValidationOutput, self).__init__(**kwargs) + self.validation_type = None # type: Optional[str] + self.error = None + self.validation_status = None + self.alternate_addresses = None + + +class ValidationInputResponse(msrest.serialization.Model): + """Minimum properties that should be present in each individual validation response. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: AddressValidationProperties, CreateOrderLimitForSubscriptionValidationResponseProperties, DataDestinationDetailsValidationResponseProperties, PreferencesValidationResponseProperties, SkuAvailabilityValidationResponseProperties, SubscriptionIsAllowedToCreateJobValidationResponseProperties. + + 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 validation_type: Required. Identifies the type of validation response.Constant filled by + server. Possible values include: "ValidateAddress", "ValidateDataDestinationDetails", + "ValidateSubscriptionIsAllowedToCreateJob", "ValidatePreferences", "ValidateCreateOrderLimit", + "ValidateSkuAvailability". + :type validation_type: str or ~azure.mgmt.databox.models.ValidationInputDiscriminator + :ivar error: Error code and message of validation response. + :vartype error: ~azure.mgmt.databox.models.Error + """ + + _validation = { + 'validation_type': {'required': True}, + 'error': {'readonly': True}, + } + + _attribute_map = { + 'validation_type': {'key': 'validationType', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'Error'}, + } + + _subtype_map = { + 'validation_type': {'ValidateAddress': 'AddressValidationProperties', 'ValidateCreateOrderLimit': 'CreateOrderLimitForSubscriptionValidationResponseProperties', 'ValidateDataDestinationDetails': 'DataDestinationDetailsValidationResponseProperties', 'ValidatePreferences': 'PreferencesValidationResponseProperties', 'ValidateSkuAvailability': 'SkuAvailabilityValidationResponseProperties', 'ValidateSubscriptionIsAllowedToCreateJob': 'SubscriptionIsAllowedToCreateJobValidationResponseProperties'} + } + + def __init__( + self, + **kwargs + ): + super(ValidationInputResponse, self).__init__(**kwargs) + self.validation_type = None # type: Optional[str] self.error = None + + +class AddressValidationProperties(ValidationInputResponse): + """The address validation output. + + 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 validation_type: Required. Identifies the type of validation response.Constant filled by + server. Possible values include: "ValidateAddress", "ValidateDataDestinationDetails", + "ValidateSubscriptionIsAllowedToCreateJob", "ValidatePreferences", "ValidateCreateOrderLimit", + "ValidateSkuAvailability". + :type validation_type: str or ~azure.mgmt.databox.models.ValidationInputDiscriminator + :ivar error: Error code and message of validation response. + :vartype error: ~azure.mgmt.databox.models.Error + :ivar validation_status: The address validation status. Possible values include: "Valid", + "Invalid", "Ambiguous". + :vartype validation_status: str or ~azure.mgmt.databox.models.AddressValidationStatus + :ivar alternate_addresses: List of alternate addresses. + :vartype alternate_addresses: list[~azure.mgmt.databox.models.ShippingAddress] + """ + + _validation = { + 'validation_type': {'required': True}, + 'error': {'readonly': True}, + 'validation_status': {'readonly': True}, + 'alternate_addresses': {'readonly': True}, + } + + _attribute_map = { + 'validation_type': {'key': 'validationType', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'Error'}, + 'validation_status': {'key': 'validationStatus', 'type': 'str'}, + 'alternate_addresses': {'key': 'alternateAddresses', 'type': '[ShippingAddress]'}, + } + + def __init__( + self, + **kwargs + ): + super(AddressValidationProperties, self).__init__(**kwargs) + self.validation_type = 'ValidateAddress' # type: str self.validation_status = None self.alternate_addresses = None -class ApplianceNetworkConfiguration(Model): +class ApplianceNetworkConfiguration(msrest.serialization.Model): """The Network Adapter configuration of a DataBox. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar name: Name of the network. :vartype name: str @@ -114,17 +207,19 @@ class ApplianceNetworkConfiguration(Model): 'mac_address': {'key': 'macAddress', 'type': 'str'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(ApplianceNetworkConfiguration, self).__init__(**kwargs) self.name = None self.mac_address = None -class ArmBaseObject(Model): +class ArmBaseObject(msrest.serialization.Model): """Base class for all objects under resource. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar name: Name of the object. :vartype name: str @@ -146,33 +241,32 @@ class ArmBaseObject(Model): 'type': {'key': 'type', 'type': 'str'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(ArmBaseObject, self).__init__(**kwargs) self.name = None self.id = None self.type = None -class AvailableSkuRequest(Model): +class AvailableSkuRequest(msrest.serialization.Model): """The filters for showing the available skus. - Variables are only populated by the server, and will be ignored when - sending a request. + 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 transfer_type: Required. Type of the transfer. Default value: - "ImportToAzure" . + :ivar transfer_type: Required. Type of the transfer. Default value: "ImportToAzure". :vartype transfer_type: str - :param country: Required. ISO country code. Country for hardware shipment. - For codes check: - https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements + :param country: Required. ISO country code. Country for hardware shipment. For codes check: + https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements. :type country: str - :param location: Required. Location for data transfer. For locations - check: - https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01 + :param location: Required. Location for data transfer. For locations check: + https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01. :type location: str - :param sku_names: Sku Names to filter for available skus + :param sku_names: Sku Names to filter for available skus. :type sku_names: list[str or ~azure.mgmt.databox.models.SkuName] """ @@ -186,19 +280,57 @@ class AvailableSkuRequest(Model): 'transfer_type': {'key': 'transferType', 'type': 'str'}, 'country': {'key': 'country', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, - 'sku_names': {'key': 'skuNames', 'type': '[SkuName]'}, + 'sku_names': {'key': 'skuNames', 'type': '[str]'}, } transfer_type = "ImportToAzure" - def __init__(self, *, country: str, location: str, sku_names=None, **kwargs) -> None: + def __init__( + self, + *, + country: str, + location: str, + sku_names: Optional[List[Union[str, "SkuName"]]] = None, + **kwargs + ): super(AvailableSkuRequest, self).__init__(**kwargs) self.country = country self.location = location self.sku_names = sku_names -class CancellationReason(Model): +class AvailableSkusResult(msrest.serialization.Model): + """The available skus operation response. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of available skus. + :vartype value: list[~azure.mgmt.databox.models.SkuInformation] + :param next_link: Link for the next set of skus. + :type next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[SkuInformation]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + next_link: Optional[str] = None, + **kwargs + ): + super(AvailableSkusResult, self).__init__(**kwargs) + self.value = None + self.next_link = next_link + + +class CancellationReason(msrest.serialization.Model): """Reason for cancellation. All required parameters must be populated in order to send to Azure. @@ -215,22 +347,26 @@ class CancellationReason(Model): 'reason': {'key': 'reason', 'type': 'str'}, } - def __init__(self, *, reason: str, **kwargs) -> None: + def __init__( + self, + *, + reason: str, + **kwargs + ): super(CancellationReason, self).__init__(**kwargs) self.reason = reason -class CloudError(Model): +class CloudError(msrest.serialization.Model): """The error information object. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar code: Error code string. :vartype code: str :ivar message: Descriptive error information. :vartype message: str - :param target: Error target + :param target: Error target. :type target: str :param details: More detailed error information. :type details: list[~azure.mgmt.databox.models.CloudError] @@ -248,7 +384,13 @@ class CloudError(Model): 'details': {'key': 'details', 'type': '[CloudError]'}, } - def __init__(self, *, target: str=None, details=None, **kwargs) -> None: + def __init__( + self, + *, + target: Optional[str] = None, + details: Optional[List["CloudError"]] = None, + **kwargs + ): super(CloudError, self).__init__(**kwargs) self.code = None self.message = None @@ -256,19 +398,7 @@ def __init__(self, *, target: str=None, details=None, **kwargs) -> None: self.details = details -class CloudErrorException(HttpOperationError): - """Server responsed with exception of type: 'CloudError'. - - :param deserialize: A deserializer - :param response: Server response to be deserialized. - """ - - def __init__(self, deserialize, response, *args): - - super(CloudErrorException, self).__init__(deserialize, response, 'CloudError', *args) - - -class ContactDetails(Model): +class ContactDetails(msrest.serialization.Model): """Contact Details. All required parameters must be populated in order to send to Azure. @@ -281,12 +411,10 @@ class ContactDetails(Model): :type phone_extension: str :param mobile: Mobile number of the contact person. :type mobile: str - :param email_list: Required. List of Email-ids to be notified about job - progress. + :param email_list: Required. List of Email-ids to be notified about job progress. :type email_list: list[str] :param notification_preference: Notification preference for a job stage. - :type notification_preference: - list[~azure.mgmt.databox.models.NotificationPreference] + :type notification_preference: list[~azure.mgmt.databox.models.NotificationPreference] """ _validation = { @@ -304,7 +432,17 @@ class ContactDetails(Model): 'notification_preference': {'key': 'notificationPreference', 'type': '[NotificationPreference]'}, } - def __init__(self, *, contact_name: str, phone: str, email_list, phone_extension: str=None, mobile: str=None, notification_preference=None, **kwargs) -> None: + def __init__( + self, + *, + contact_name: str, + phone: str, + email_list: List[str], + phone_extension: Optional[str] = None, + mobile: Optional[str] = None, + notification_preference: Optional[List["NotificationPreference"]] = None, + **kwargs + ): super(ContactDetails, self).__init__(**kwargs) self.contact_name = contact_name self.phone = phone @@ -314,17 +452,17 @@ def __init__(self, *, contact_name: str, phone: str, email_list, phone_extension self.notification_preference = notification_preference -class CopyLogDetails(Model): +class CopyLogDetails(msrest.serialization.Model): """Details for log generated during copy. You probably want to use the sub-classes and not this class directly. Known - sub-classes are: DataBoxAccountCopyLogDetails, DataBoxDiskCopyLogDetails, - DataBoxHeavyAccountCopyLogDetails + sub-classes are: DataBoxAccountCopyLogDetails, DataBoxDiskCopyLogDetails, DataBoxHeavyAccountCopyLogDetails. All required parameters must be populated in order to send to Azure. - :param copy_log_details_type: Required. Constant filled by server. - :type copy_log_details_type: str + :param copy_log_details_type: Required. Indicates the type of job details.Constant filled by + server. Possible values include: "DataBox", "DataBoxDisk", "DataBoxHeavy". + :type copy_log_details_type: str or ~azure.mgmt.databox.models.ClassDiscriminator """ _validation = { @@ -339,46 +477,44 @@ class CopyLogDetails(Model): 'copy_log_details_type': {'DataBox': 'DataBoxAccountCopyLogDetails', 'DataBoxDisk': 'DataBoxDiskCopyLogDetails', 'DataBoxHeavy': 'DataBoxHeavyAccountCopyLogDetails'} } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(CopyLogDetails, self).__init__(**kwargs) - self.copy_log_details_type = None + self.copy_log_details_type = None # type: Optional[str] -class CopyProgress(Model): +class CopyProgress(msrest.serialization.Model): """Copy progress. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. - :ivar storage_account_name: Name of the storage account where the data - needs to be uploaded. + :ivar storage_account_name: Name of the storage account where the data needs to be uploaded. :vartype storage_account_name: str - :ivar data_destination_type: Data Destination Type. Possible values - include: 'StorageAccount', 'ManagedDisk' - :vartype data_destination_type: str or - ~azure.mgmt.databox.models.DataDestinationType + :ivar data_destination_type: Data Destination Type. Possible values include: "StorageAccount", + "ManagedDisk". + :vartype data_destination_type: str or ~azure.mgmt.databox.models.DataDestinationType :ivar account_id: Id of the account where the data needs to be uploaded. :vartype account_id: str :ivar bytes_sent_to_cloud: Amount of data uploaded by the job as of now. :vartype bytes_sent_to_cloud: long - :ivar total_bytes_to_process: Total amount of data to be processed by the - job. + :ivar total_bytes_to_process: Total amount of data to be processed by the job. :vartype total_bytes_to_process: long :ivar files_processed: Number of files processed by the job as of now. :vartype files_processed: long - :ivar total_files_to_process: Total number of files to be processed by the - job. + :ivar total_files_to_process: Total number of files to be processed by the job. :vartype total_files_to_process: long - :ivar invalid_files_processed: Number of files not adhering to azure - naming conventions which were processed by automatic renaming + :ivar invalid_files_processed: Number of files not adhering to azure naming conventions which + were processed by automatic renaming. :vartype invalid_files_processed: long - :ivar invalid_file_bytes_uploaded: Total amount of data not adhering to - azure naming conventions which were processed by automatic renaming + :ivar invalid_file_bytes_uploaded: Total amount of data not adhering to azure naming + conventions which were processed by automatic renaming. :vartype invalid_file_bytes_uploaded: long - :ivar renamed_container_count: Number of folders not adhering to azure - naming conventions which were processed by automatic renaming + :ivar renamed_container_count: Number of folders not adhering to azure naming conventions which + were processed by automatic renaming. :vartype renamed_container_count: long - :ivar files_errored_out: Number of files which could not be copied + :ivar files_errored_out: Number of files which could not be copied. :vartype files_errored_out: long """ @@ -398,7 +534,7 @@ class CopyProgress(Model): _attribute_map = { 'storage_account_name': {'key': 'storageAccountName', 'type': 'str'}, - 'data_destination_type': {'key': 'dataDestinationType', 'type': 'DataDestinationType'}, + 'data_destination_type': {'key': 'dataDestinationType', 'type': 'str'}, 'account_id': {'key': 'accountId', 'type': 'str'}, 'bytes_sent_to_cloud': {'key': 'bytesSentToCloud', 'type': 'long'}, 'total_bytes_to_process': {'key': 'totalBytesToProcess', 'type': 'long'}, @@ -410,7 +546,10 @@ class CopyProgress(Model): 'files_errored_out': {'key': 'filesErroredOut', 'type': 'long'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(CopyProgress, self).__init__(**kwargs) self.storage_account_name = None self.data_destination_type = None @@ -425,19 +564,19 @@ def __init__(self, **kwargs) -> None: self.files_errored_out = None -class ValidationRequest(Model): +class ValidationRequest(msrest.serialization.Model): """Input request for all pre job creation validation. You probably want to use the sub-classes and not this class directly. Known - sub-classes are: CreateJobValidations + sub-classes are: CreateJobValidations. All required parameters must be populated in order to send to Azure. - :param individual_request_details: Required. List of request details - contain validationType and its request as key and value respectively. - :type individual_request_details: - list[~azure.mgmt.databox.models.ValidationInputRequest] - :param validation_category: Required. Constant filled by server. + :param individual_request_details: Required. List of request details contain validationType and + its request as key and value respectively. + :type individual_request_details: list[~azure.mgmt.databox.models.ValidationInputRequest] + :param validation_category: Required. Identify the nature of validation.Constant filled by + server. :type validation_category: str """ @@ -455,10 +594,15 @@ class ValidationRequest(Model): 'validation_category': {'JobCreationValidation': 'CreateJobValidations'} } - def __init__(self, *, individual_request_details, **kwargs) -> None: + def __init__( + self, + *, + individual_request_details: List["ValidationInputRequest"], + **kwargs + ): super(ValidationRequest, self).__init__(**kwargs) self.individual_request_details = individual_request_details - self.validation_category = None + self.validation_category = None # type: Optional[str] class CreateJobValidations(ValidationRequest): @@ -466,11 +610,11 @@ class CreateJobValidations(ValidationRequest): All required parameters must be populated in order to send to Azure. - :param individual_request_details: Required. List of request details - contain validationType and its request as key and value respectively. - :type individual_request_details: - list[~azure.mgmt.databox.models.ValidationInputRequest] - :param validation_category: Required. Constant filled by server. + :param individual_request_details: Required. List of request details contain validationType and + its request as key and value respectively. + :type individual_request_details: list[~azure.mgmt.databox.models.ValidationInputRequest] + :param validation_category: Required. Identify the nature of validation.Constant filled by + server. :type validation_category: str """ @@ -484,24 +628,29 @@ class CreateJobValidations(ValidationRequest): 'validation_category': {'key': 'validationCategory', 'type': 'str'}, } - def __init__(self, *, individual_request_details, **kwargs) -> None: + def __init__( + self, + *, + individual_request_details: List["ValidationInputRequest"], + **kwargs + ): super(CreateJobValidations, self).__init__(individual_request_details=individual_request_details, **kwargs) - self.validation_category = 'JobCreationValidation' + self.validation_category = 'JobCreationValidation' # type: str -class ValidationInputRequest(Model): +class ValidationInputRequest(msrest.serialization.Model): """Minimum fields that must be present in any type of validation request. You probably want to use the sub-classes and not this class directly. Known - sub-classes are: CreateOrderLimitForSubscriptionValidationRequest, - DataDestinationDetailsValidationRequest, PreferencesValidationRequest, - SkuAvailabilityValidationRequest, - SubscriptionIsAllowedToCreateJobValidationRequest, ValidateAddress + sub-classes are: ValidateAddress, CreateOrderLimitForSubscriptionValidationRequest, DataDestinationDetailsValidationRequest, PreferencesValidationRequest, SkuAvailabilityValidationRequest, SubscriptionIsAllowedToCreateJobValidationRequest. All required parameters must be populated in order to send to Azure. - :param validation_type: Required. Constant filled by server. - :type validation_type: str + :param validation_type: Required. Identifies the type of validation request.Constant filled by + server. Possible values include: "ValidateAddress", "ValidateDataDestinationDetails", + "ValidateSubscriptionIsAllowedToCreateJob", "ValidatePreferences", "ValidateCreateOrderLimit", + "ValidateSkuAvailability". + :type validation_type: str or ~azure.mgmt.databox.models.ValidationInputDiscriminator """ _validation = { @@ -513,12 +662,15 @@ class ValidationInputRequest(Model): } _subtype_map = { - 'validation_type': {'ValidateCreateOrderLimit': 'CreateOrderLimitForSubscriptionValidationRequest', 'ValidateDataDestinationDetails': 'DataDestinationDetailsValidationRequest', 'ValidatePreferences': 'PreferencesValidationRequest', 'ValidateSkuAvailability': 'SkuAvailabilityValidationRequest', 'ValidateSubscriptionIsAllowedToCreateJob': 'SubscriptionIsAllowedToCreateJobValidationRequest', 'ValidateAddress': 'ValidateAddress'} + 'validation_type': {'ValidateAddress': 'ValidateAddress', 'ValidateCreateOrderLimit': 'CreateOrderLimitForSubscriptionValidationRequest', 'ValidateDataDestinationDetails': 'DataDestinationDetailsValidationRequest', 'ValidatePreferences': 'PreferencesValidationRequest', 'ValidateSkuAvailability': 'SkuAvailabilityValidationRequest', 'ValidateSubscriptionIsAllowedToCreateJob': 'SubscriptionIsAllowedToCreateJobValidationRequest'} } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(ValidationInputRequest, self).__init__(**kwargs) - self.validation_type = None + self.validation_type = None # type: Optional[str] class CreateOrderLimitForSubscriptionValidationRequest(ValidationInputRequest): @@ -526,10 +678,13 @@ class CreateOrderLimitForSubscriptionValidationRequest(ValidationInputRequest): All required parameters must be populated in order to send to Azure. - :param validation_type: Required. Constant filled by server. - :type validation_type: str - :param device_type: Required. Device type to be used for the job. Possible - values include: 'DataBox', 'DataBoxDisk', 'DataBoxHeavy' + :param validation_type: Required. Identifies the type of validation request.Constant filled by + server. Possible values include: "ValidateAddress", "ValidateDataDestinationDetails", + "ValidateSubscriptionIsAllowedToCreateJob", "ValidatePreferences", "ValidateCreateOrderLimit", + "ValidateSkuAvailability". + :type validation_type: str or ~azure.mgmt.databox.models.ValidationInputDiscriminator + :param device_type: Required. Device type to be used for the job. Possible values include: + "DataBox", "DataBoxDisk", "DataBoxHeavy". :type device_type: str or ~azure.mgmt.databox.models.SkuName """ @@ -540,103 +695,70 @@ class CreateOrderLimitForSubscriptionValidationRequest(ValidationInputRequest): _attribute_map = { 'validation_type': {'key': 'validationType', 'type': 'str'}, - 'device_type': {'key': 'deviceType', 'type': 'SkuName'}, + 'device_type': {'key': 'deviceType', 'type': 'str'}, } - def __init__(self, *, device_type, **kwargs) -> None: + def __init__( + self, + *, + device_type: Union[str, "SkuName"], + **kwargs + ): super(CreateOrderLimitForSubscriptionValidationRequest, self).__init__(**kwargs) + self.validation_type = 'ValidateCreateOrderLimit' # type: str self.device_type = device_type - self.validation_type = 'ValidateCreateOrderLimit' - - -class ValidationInputResponse(Model): - """Minimum properties that should be present in each individual validation - response. - - You probably want to use the sub-classes and not this class directly. Known - sub-classes are: - CreateOrderLimitForSubscriptionValidationResponseProperties, - DataDestinationDetailsValidationResponseProperties, - PreferencesValidationResponseProperties, - SkuAvailabilityValidationResponseProperties, - SubscriptionIsAllowedToCreateJobValidationResponseProperties - - 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 error: Error code and message of validation response. - :vartype error: ~azure.mgmt.databox.models.Error - :param validation_type: Required. Constant filled by server. - :type validation_type: str - """ - - _validation = { - 'error': {'readonly': True}, - 'validation_type': {'required': True}, - } - - _attribute_map = { - 'error': {'key': 'error', 'type': 'Error'}, - 'validation_type': {'key': 'validationType', 'type': 'str'}, - } - - _subtype_map = { - 'validation_type': {'ValidateCreateOrderLimit': 'CreateOrderLimitForSubscriptionValidationResponseProperties', 'ValidateDataDestinationDetails': 'DataDestinationDetailsValidationResponseProperties', 'ValidatePreferences': 'PreferencesValidationResponseProperties', 'ValidateSkuAvailability': 'SkuAvailabilityValidationResponseProperties', 'ValidateSubscriptionIsAllowedToCreateJob': 'SubscriptionIsAllowedToCreateJobValidationResponseProperties'} - } - - def __init__(self, **kwargs) -> None: - super(ValidationInputResponse, self).__init__(**kwargs) - self.error = None - self.validation_type = None class CreateOrderLimitForSubscriptionValidationResponseProperties(ValidationInputResponse): """Properties of create order limit for subscription validation response. - Variables are only populated by the server, and will be ignored when - sending a request. + 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 validation_type: Required. Identifies the type of validation response.Constant filled by + server. Possible values include: "ValidateAddress", "ValidateDataDestinationDetails", + "ValidateSubscriptionIsAllowedToCreateJob", "ValidatePreferences", "ValidateCreateOrderLimit", + "ValidateSkuAvailability". + :type validation_type: str or ~azure.mgmt.databox.models.ValidationInputDiscriminator :ivar error: Error code and message of validation response. :vartype error: ~azure.mgmt.databox.models.Error - :param validation_type: Required. Constant filled by server. - :type validation_type: str - :ivar status: Create order limit validation status. Possible values - include: 'Valid', 'Invalid', 'Skipped' + :ivar status: Create order limit validation status. Possible values include: "Valid", + "Invalid", "Skipped". :vartype status: str or ~azure.mgmt.databox.models.ValidationStatus """ _validation = { - 'error': {'readonly': True}, 'validation_type': {'required': True}, + 'error': {'readonly': True}, 'status': {'readonly': True}, } _attribute_map = { - 'error': {'key': 'error', 'type': 'Error'}, 'validation_type': {'key': 'validationType', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'ValidationStatus'}, + 'error': {'key': 'error', 'type': 'Error'}, + 'status': {'key': 'status', 'type': 'str'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(CreateOrderLimitForSubscriptionValidationResponseProperties, self).__init__(**kwargs) + self.validation_type = 'ValidateCreateOrderLimit' # type: str self.status = None - self.validation_type = 'ValidateCreateOrderLimit' class DataBoxAccountCopyLogDetails(CopyLogDetails): """Copy log details for a storage account of a DataBox job. - Variables are only populated by the server, and will be ignored when - sending a request. + 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 copy_log_details_type: Required. Constant filled by server. - :type copy_log_details_type: str + :param copy_log_details_type: Required. Indicates the type of job details.Constant filled by + server. Possible values include: "DataBox", "DataBoxDisk", "DataBoxHeavy". + :type copy_log_details_type: str or ~azure.mgmt.databox.models.ClassDiscriminator :ivar account_name: Destination account name. :vartype account_name: str :ivar copy_log_link: Link for copy logs. @@ -655,23 +777,26 @@ class DataBoxAccountCopyLogDetails(CopyLogDetails): 'copy_log_link': {'key': 'copyLogLink', 'type': 'str'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(DataBoxAccountCopyLogDetails, self).__init__(**kwargs) + self.copy_log_details_type = 'DataBox' # type: str self.account_name = None self.copy_log_link = None - self.copy_log_details_type = 'DataBox' class DataBoxDiskCopyLogDetails(CopyLogDetails): """Copy Log Details for a disk. - Variables are only populated by the server, and will be ignored when - sending a request. + 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 copy_log_details_type: Required. Constant filled by server. - :type copy_log_details_type: str + :param copy_log_details_type: Required. Indicates the type of job details.Constant filled by + server. Possible values include: "DataBox", "DataBoxDisk", "DataBoxHeavy". + :type copy_log_details_type: str or ~azure.mgmt.databox.models.ClassDiscriminator :ivar disk_serial_number: Disk Serial Number. :vartype disk_serial_number: str :ivar error_log_link: Link for copy error logs. @@ -694,31 +819,31 @@ class DataBoxDiskCopyLogDetails(CopyLogDetails): 'verbose_log_link': {'key': 'verboseLogLink', 'type': 'str'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(DataBoxDiskCopyLogDetails, self).__init__(**kwargs) + self.copy_log_details_type = 'DataBoxDisk' # type: str self.disk_serial_number = None self.error_log_link = None self.verbose_log_link = None - self.copy_log_details_type = 'DataBoxDisk' -class DataBoxDiskCopyProgress(Model): +class DataBoxDiskCopyProgress(msrest.serialization.Model): """DataBox Disk Copy Progress. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. - :ivar serial_number: The serial number of the disk + :ivar serial_number: The serial number of the disk. :vartype serial_number: str :ivar bytes_copied: Bytes copied during the copy of disk. :vartype bytes_copied: long - :ivar percent_complete: Indicates the percentage completed for the copy of - the disk. + :ivar percent_complete: Indicates the percentage completed for the copy of the disk. :vartype percent_complete: int - :ivar status: The Status of the copy. Possible values include: - 'NotStarted', 'InProgress', 'Completed', 'CompletedWithErrors', 'Failed', - 'NotReturned', 'HardwareError', 'DeviceFormatted', - 'DeviceMetadataModified', 'StorageAccountNotAccessible', 'UnsupportedData' + :ivar status: The Status of the copy. Possible values include: "NotStarted", "InProgress", + "Completed", "CompletedWithErrors", "Failed", "NotReturned", "HardwareError", + "DeviceFormatted", "DeviceMetadataModified", "StorageAccountNotAccessible", "UnsupportedData". :vartype status: str or ~azure.mgmt.databox.models.CopyStatus """ @@ -733,10 +858,13 @@ class DataBoxDiskCopyProgress(Model): 'serial_number': {'key': 'serialNumber', 'type': 'str'}, 'bytes_copied': {'key': 'bytesCopied', 'type': 'long'}, 'percent_complete': {'key': 'percentComplete', 'type': 'int'}, - 'status': {'key': 'status', 'type': 'CopyStatus'}, + 'status': {'key': 'status', 'type': 'str'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(DataBoxDiskCopyProgress, self).__init__(**kwargs) self.serial_number = None self.bytes_copied = None @@ -744,50 +872,44 @@ def __init__(self, **kwargs) -> None: self.status = None -class JobDetails(Model): +class JobDetails(msrest.serialization.Model): """Job details. You probably want to use the sub-classes and not this class directly. Known - sub-classes are: DataBoxDiskJobDetails, DataBoxHeavyJobDetails, - DataBoxJobDetails + sub-classes are: DataBoxJobDetails, DataBoxDiskJobDetails, DataBoxHeavyJobDetails. - Variables are only populated by the server, and will be ignored when - sending a request. + 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 expected_data_size_in_terabytes: The expected size of the data, - which needs to be transferred in this job, in terabytes. + :param expected_data_size_in_terabytes: The expected size of the data, which needs to be + transferred in this job, in terabytes. :type expected_data_size_in_terabytes: int :ivar job_stages: List of stages that run in the job. :vartype job_stages: list[~azure.mgmt.databox.models.JobStages] - :param contact_details: Required. Contact details for notification and - shipping. + :param contact_details: Required. Contact details for notification and shipping. :type contact_details: ~azure.mgmt.databox.models.ContactDetails :param shipping_address: Required. Shipping address of the customer. :type shipping_address: ~azure.mgmt.databox.models.ShippingAddress :ivar delivery_package: Delivery package shipping details. - :vartype delivery_package: - ~azure.mgmt.databox.models.PackageShippingDetails + :vartype delivery_package: ~azure.mgmt.databox.models.PackageShippingDetails :ivar return_package: Return package shipping details. :vartype return_package: ~azure.mgmt.databox.models.PackageShippingDetails :param destination_account_details: Required. Destination account details. - :type destination_account_details: - list[~azure.mgmt.databox.models.DestinationAccountDetails] + :type destination_account_details: list[~azure.mgmt.databox.models.DestinationAccountDetails] :ivar error_details: Error details for failure. This is optional. :vartype error_details: list[~azure.mgmt.databox.models.JobErrorDetails] + :param job_details_type: Required. Indicates the type of job details.Constant filled by server. + Possible values include: "DataBox", "DataBoxDisk", "DataBoxHeavy". + :type job_details_type: str or ~azure.mgmt.databox.models.ClassDiscriminator :param preferences: Preferences for the order. :type preferences: ~azure.mgmt.databox.models.Preferences :ivar copy_log_details: List of copy log details. :vartype copy_log_details: list[~azure.mgmt.databox.models.CopyLogDetails] - :ivar reverse_shipment_label_sas_key: Shared access key to download the - return shipment label + :ivar reverse_shipment_label_sas_key: Shared access key to download the return shipment label. :vartype reverse_shipment_label_sas_key: str - :ivar chain_of_custody_sas_key: Shared access key to download the chain of - custody logs + :ivar chain_of_custody_sas_key: Shared access key to download the chain of custody logs. :vartype chain_of_custody_sas_key: str - :param job_details_type: Required. Constant filled by server. - :type job_details_type: str """ _validation = { @@ -798,10 +920,10 @@ class JobDetails(Model): 'return_package': {'readonly': True}, 'destination_account_details': {'required': True}, 'error_details': {'readonly': True}, + 'job_details_type': {'required': True}, 'copy_log_details': {'readonly': True}, 'reverse_shipment_label_sas_key': {'readonly': True}, 'chain_of_custody_sas_key': {'readonly': True}, - 'job_details_type': {'required': True}, } _attribute_map = { @@ -813,18 +935,27 @@ class JobDetails(Model): 'return_package': {'key': 'returnPackage', 'type': 'PackageShippingDetails'}, 'destination_account_details': {'key': 'destinationAccountDetails', 'type': '[DestinationAccountDetails]'}, 'error_details': {'key': 'errorDetails', 'type': '[JobErrorDetails]'}, + 'job_details_type': {'key': 'jobDetailsType', 'type': 'str'}, 'preferences': {'key': 'preferences', 'type': 'Preferences'}, 'copy_log_details': {'key': 'copyLogDetails', 'type': '[CopyLogDetails]'}, 'reverse_shipment_label_sas_key': {'key': 'reverseShipmentLabelSasKey', 'type': 'str'}, 'chain_of_custody_sas_key': {'key': 'chainOfCustodySasKey', 'type': 'str'}, - 'job_details_type': {'key': 'jobDetailsType', 'type': 'str'}, } _subtype_map = { - 'job_details_type': {'DataBoxDisk': 'DataBoxDiskJobDetails', 'DataBoxHeavy': 'DataBoxHeavyJobDetails', 'DataBox': 'DataBoxJobDetails'} - } - - def __init__(self, *, contact_details, shipping_address, destination_account_details, expected_data_size_in_terabytes: int=None, preferences=None, **kwargs) -> None: + 'job_details_type': {'DataBox': 'DataBoxJobDetails', 'DataBoxDisk': 'DataBoxDiskJobDetails', 'DataBoxHeavy': 'DataBoxHeavyJobDetails'} + } + + def __init__( + self, + *, + contact_details: "ContactDetails", + shipping_address: "ShippingAddress", + destination_account_details: List["DestinationAccountDetails"], + expected_data_size_in_terabytes: Optional[int] = None, + preferences: Optional["Preferences"] = None, + **kwargs + ): super(JobDetails, self).__init__(**kwargs) self.expected_data_size_in_terabytes = expected_data_size_in_terabytes self.job_stages = None @@ -834,63 +965,56 @@ def __init__(self, *, contact_details, shipping_address, destination_account_det self.return_package = None self.destination_account_details = destination_account_details self.error_details = None + self.job_details_type = None # type: Optional[str] self.preferences = preferences self.copy_log_details = None self.reverse_shipment_label_sas_key = None self.chain_of_custody_sas_key = None - self.job_details_type = None class DataBoxDiskJobDetails(JobDetails): """DataBox Disk Job Details. - Variables are only populated by the server, and will be ignored when - sending a request. + 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 expected_data_size_in_terabytes: The expected size of the data, - which needs to be transferred in this job, in terabytes. + :param expected_data_size_in_terabytes: The expected size of the data, which needs to be + transferred in this job, in terabytes. :type expected_data_size_in_terabytes: int :ivar job_stages: List of stages that run in the job. :vartype job_stages: list[~azure.mgmt.databox.models.JobStages] - :param contact_details: Required. Contact details for notification and - shipping. + :param contact_details: Required. Contact details for notification and shipping. :type contact_details: ~azure.mgmt.databox.models.ContactDetails :param shipping_address: Required. Shipping address of the customer. :type shipping_address: ~azure.mgmt.databox.models.ShippingAddress :ivar delivery_package: Delivery package shipping details. - :vartype delivery_package: - ~azure.mgmt.databox.models.PackageShippingDetails + :vartype delivery_package: ~azure.mgmt.databox.models.PackageShippingDetails :ivar return_package: Return package shipping details. :vartype return_package: ~azure.mgmt.databox.models.PackageShippingDetails :param destination_account_details: Required. Destination account details. - :type destination_account_details: - list[~azure.mgmt.databox.models.DestinationAccountDetails] + :type destination_account_details: list[~azure.mgmt.databox.models.DestinationAccountDetails] :ivar error_details: Error details for failure. This is optional. :vartype error_details: list[~azure.mgmt.databox.models.JobErrorDetails] + :param job_details_type: Required. Indicates the type of job details.Constant filled by server. + Possible values include: "DataBox", "DataBoxDisk", "DataBoxHeavy". + :type job_details_type: str or ~azure.mgmt.databox.models.ClassDiscriminator :param preferences: Preferences for the order. :type preferences: ~azure.mgmt.databox.models.Preferences :ivar copy_log_details: List of copy log details. :vartype copy_log_details: list[~azure.mgmt.databox.models.CopyLogDetails] - :ivar reverse_shipment_label_sas_key: Shared access key to download the - return shipment label + :ivar reverse_shipment_label_sas_key: Shared access key to download the return shipment label. :vartype reverse_shipment_label_sas_key: str - :ivar chain_of_custody_sas_key: Shared access key to download the chain of - custody logs + :ivar chain_of_custody_sas_key: Shared access key to download the chain of custody logs. :vartype chain_of_custody_sas_key: str - :param job_details_type: Required. Constant filled by server. - :type job_details_type: str - :param preferred_disks: User preference on what size disks are needed for - the job. The map is from the disk size in TB to the count. Eg. {2,5} means - 5 disks of 2 TB size. Key is string but will be checked against an int. + :param preferred_disks: User preference on what size disks are needed for the job. The map is + from the disk size in TB to the count. Eg. {2,5} means 5 disks of 2 TB size. Key is string but + will be checked against an int. :type preferred_disks: dict[str, int] :ivar copy_progress: Copy progress per disk. - :vartype copy_progress: - list[~azure.mgmt.databox.models.DataBoxDiskCopyProgress] - :ivar disks_and_size_details: Contains the map of disk serial number to - the disk size being used for the job. Is returned only after the disks are - shipped to the customer. + :vartype copy_progress: list[~azure.mgmt.databox.models.DataBoxDiskCopyProgress] + :ivar disks_and_size_details: Contains the map of disk serial number to the disk size being + used for the job. Is returned only after the disks are shipped to the customer. :vartype disks_and_size_details: dict[str, int] :param passkey: User entered passkey for DataBox Disk job. :type passkey: str @@ -904,10 +1028,10 @@ class DataBoxDiskJobDetails(JobDetails): 'return_package': {'readonly': True}, 'destination_account_details': {'required': True}, 'error_details': {'readonly': True}, + 'job_details_type': {'required': True}, 'copy_log_details': {'readonly': True}, 'reverse_shipment_label_sas_key': {'readonly': True}, 'chain_of_custody_sas_key': {'readonly': True}, - 'job_details_type': {'required': True}, 'copy_progress': {'readonly': True}, 'disks_and_size_details': {'readonly': True}, } @@ -921,41 +1045,50 @@ class DataBoxDiskJobDetails(JobDetails): 'return_package': {'key': 'returnPackage', 'type': 'PackageShippingDetails'}, 'destination_account_details': {'key': 'destinationAccountDetails', 'type': '[DestinationAccountDetails]'}, 'error_details': {'key': 'errorDetails', 'type': '[JobErrorDetails]'}, + 'job_details_type': {'key': 'jobDetailsType', 'type': 'str'}, 'preferences': {'key': 'preferences', 'type': 'Preferences'}, 'copy_log_details': {'key': 'copyLogDetails', 'type': '[CopyLogDetails]'}, 'reverse_shipment_label_sas_key': {'key': 'reverseShipmentLabelSasKey', 'type': 'str'}, 'chain_of_custody_sas_key': {'key': 'chainOfCustodySasKey', 'type': 'str'}, - 'job_details_type': {'key': 'jobDetailsType', 'type': 'str'}, 'preferred_disks': {'key': 'preferredDisks', 'type': '{int}'}, 'copy_progress': {'key': 'copyProgress', 'type': '[DataBoxDiskCopyProgress]'}, 'disks_and_size_details': {'key': 'disksAndSizeDetails', 'type': '{int}'}, 'passkey': {'key': 'passkey', 'type': 'str'}, } - def __init__(self, *, contact_details, shipping_address, destination_account_details, expected_data_size_in_terabytes: int=None, preferences=None, preferred_disks=None, passkey: str=None, **kwargs) -> None: + def __init__( + self, + *, + contact_details: "ContactDetails", + shipping_address: "ShippingAddress", + destination_account_details: List["DestinationAccountDetails"], + expected_data_size_in_terabytes: Optional[int] = None, + preferences: Optional["Preferences"] = None, + preferred_disks: Optional[Dict[str, int]] = None, + passkey: Optional[str] = None, + **kwargs + ): super(DataBoxDiskJobDetails, self).__init__(expected_data_size_in_terabytes=expected_data_size_in_terabytes, contact_details=contact_details, shipping_address=shipping_address, destination_account_details=destination_account_details, preferences=preferences, **kwargs) + self.job_details_type = 'DataBoxDisk' # type: str self.preferred_disks = preferred_disks self.copy_progress = None self.disks_and_size_details = None self.passkey = passkey - self.job_details_type = 'DataBoxDisk' -class JobSecrets(Model): +class JobSecrets(msrest.serialization.Model): """The base class for the secrets. You probably want to use the sub-classes and not this class directly. Known - sub-classes are: DataBoxDiskJobSecrets, DataBoxHeavyJobSecrets, - DataboxJobSecrets + sub-classes are: DataboxJobSecrets, DataBoxDiskJobSecrets, DataBoxHeavyJobSecrets. All required parameters must be populated in order to send to Azure. - :param dc_access_security_code: Dc Access Security Code for Customer - Managed Shipping - :type dc_access_security_code: - ~azure.mgmt.databox.models.DcAccessSecurityCode - :param job_secrets_type: Required. Constant filled by server. - :type job_secrets_type: str + :param job_secrets_type: Required. Used to indicate what type of job secrets object.Constant + filled by server. Possible values include: "DataBox", "DataBoxDisk", "DataBoxHeavy". + :type job_secrets_type: str or ~azure.mgmt.databox.models.ClassDiscriminator + :param dc_access_security_code: Dc Access Security Code for Customer Managed Shipping. + :type dc_access_security_code: ~azure.mgmt.databox.models.DcAccessSecurityCode """ _validation = { @@ -963,34 +1096,37 @@ class JobSecrets(Model): } _attribute_map = { - 'dc_access_security_code': {'key': 'dcAccessSecurityCode', 'type': 'DcAccessSecurityCode'}, 'job_secrets_type': {'key': 'jobSecretsType', 'type': 'str'}, + 'dc_access_security_code': {'key': 'dcAccessSecurityCode', 'type': 'DcAccessSecurityCode'}, } _subtype_map = { - 'job_secrets_type': {'DataBoxDisk': 'DataBoxDiskJobSecrets', 'DataBoxHeavy': 'DataBoxHeavyJobSecrets', 'DataBox': 'DataboxJobSecrets'} + 'job_secrets_type': {'DataBox': 'DataboxJobSecrets', 'DataBoxDisk': 'DataBoxDiskJobSecrets', 'DataBoxHeavy': 'DataBoxHeavyJobSecrets'} } - def __init__(self, *, dc_access_security_code=None, **kwargs) -> None: + def __init__( + self, + *, + dc_access_security_code: Optional["DcAccessSecurityCode"] = None, + **kwargs + ): super(JobSecrets, self).__init__(**kwargs) + self.job_secrets_type = None # type: Optional[str] self.dc_access_security_code = dc_access_security_code - self.job_secrets_type = None class DataBoxDiskJobSecrets(JobSecrets): """The secrets related to disk job. - Variables are only populated by the server, and will be ignored when - sending a request. + 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 dc_access_security_code: Dc Access Security Code for Customer - Managed Shipping - :type dc_access_security_code: - ~azure.mgmt.databox.models.DcAccessSecurityCode - :param job_secrets_type: Required. Constant filled by server. - :type job_secrets_type: str + :param job_secrets_type: Required. Used to indicate what type of job secrets object.Constant + filled by server. Possible values include: "DataBox", "DataBoxDisk", "DataBoxHeavy". + :type job_secrets_type: str or ~azure.mgmt.databox.models.ClassDiscriminator + :param dc_access_security_code: Dc Access Security Code for Customer Managed Shipping. + :type dc_access_security_code: ~azure.mgmt.databox.models.DcAccessSecurityCode :ivar disk_secrets: Contains the list of secrets object for that device. :vartype disk_secrets: list[~azure.mgmt.databox.models.DiskSecret] :ivar pass_key: PassKey for the disk Job. @@ -1007,31 +1143,36 @@ class DataBoxDiskJobSecrets(JobSecrets): } _attribute_map = { - 'dc_access_security_code': {'key': 'dcAccessSecurityCode', 'type': 'DcAccessSecurityCode'}, 'job_secrets_type': {'key': 'jobSecretsType', 'type': 'str'}, + 'dc_access_security_code': {'key': 'dcAccessSecurityCode', 'type': 'DcAccessSecurityCode'}, 'disk_secrets': {'key': 'diskSecrets', 'type': '[DiskSecret]'}, 'pass_key': {'key': 'passKey', 'type': 'str'}, 'is_passkey_user_defined': {'key': 'isPasskeyUserDefined', 'type': 'bool'}, } - def __init__(self, *, dc_access_security_code=None, **kwargs) -> None: + def __init__( + self, + *, + dc_access_security_code: Optional["DcAccessSecurityCode"] = None, + **kwargs + ): super(DataBoxDiskJobSecrets, self).__init__(dc_access_security_code=dc_access_security_code, **kwargs) + self.job_secrets_type = 'DataBoxDisk' # type: str self.disk_secrets = None self.pass_key = None self.is_passkey_user_defined = None - self.job_secrets_type = 'DataBoxDisk' class DataBoxHeavyAccountCopyLogDetails(CopyLogDetails): """Copy log details for a storage account for Databox heavy. - Variables are only populated by the server, and will be ignored when - sending a request. + 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 copy_log_details_type: Required. Constant filled by server. - :type copy_log_details_type: str + :param copy_log_details_type: Required. Indicates the type of job details.Constant filled by + server. Possible values include: "DataBox", "DataBoxDisk", "DataBoxHeavy". + :type copy_log_details_type: str or ~azure.mgmt.databox.models.ClassDiscriminator :ivar account_name: Destination account name. :vartype account_name: str :ivar copy_log_link: Link for copy logs. @@ -1050,56 +1191,54 @@ class DataBoxHeavyAccountCopyLogDetails(CopyLogDetails): 'copy_log_link': {'key': 'copyLogLink', 'type': '[str]'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(DataBoxHeavyAccountCopyLogDetails, self).__init__(**kwargs) + self.copy_log_details_type = 'DataBoxHeavy' # type: str self.account_name = None self.copy_log_link = None - self.copy_log_details_type = 'DataBoxHeavy' class DataBoxHeavyJobDetails(JobDetails): """Databox Heavy Device Job Details. - Variables are only populated by the server, and will be ignored when - sending a request. + 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 expected_data_size_in_terabytes: The expected size of the data, - which needs to be transferred in this job, in terabytes. + :param expected_data_size_in_terabytes: The expected size of the data, which needs to be + transferred in this job, in terabytes. :type expected_data_size_in_terabytes: int :ivar job_stages: List of stages that run in the job. :vartype job_stages: list[~azure.mgmt.databox.models.JobStages] - :param contact_details: Required. Contact details for notification and - shipping. + :param contact_details: Required. Contact details for notification and shipping. :type contact_details: ~azure.mgmt.databox.models.ContactDetails :param shipping_address: Required. Shipping address of the customer. :type shipping_address: ~azure.mgmt.databox.models.ShippingAddress :ivar delivery_package: Delivery package shipping details. - :vartype delivery_package: - ~azure.mgmt.databox.models.PackageShippingDetails + :vartype delivery_package: ~azure.mgmt.databox.models.PackageShippingDetails :ivar return_package: Return package shipping details. :vartype return_package: ~azure.mgmt.databox.models.PackageShippingDetails :param destination_account_details: Required. Destination account details. - :type destination_account_details: - list[~azure.mgmt.databox.models.DestinationAccountDetails] + :type destination_account_details: list[~azure.mgmt.databox.models.DestinationAccountDetails] :ivar error_details: Error details for failure. This is optional. :vartype error_details: list[~azure.mgmt.databox.models.JobErrorDetails] + :param job_details_type: Required. Indicates the type of job details.Constant filled by server. + Possible values include: "DataBox", "DataBoxDisk", "DataBoxHeavy". + :type job_details_type: str or ~azure.mgmt.databox.models.ClassDiscriminator :param preferences: Preferences for the order. :type preferences: ~azure.mgmt.databox.models.Preferences :ivar copy_log_details: List of copy log details. :vartype copy_log_details: list[~azure.mgmt.databox.models.CopyLogDetails] - :ivar reverse_shipment_label_sas_key: Shared access key to download the - return shipment label + :ivar reverse_shipment_label_sas_key: Shared access key to download the return shipment label. :vartype reverse_shipment_label_sas_key: str - :ivar chain_of_custody_sas_key: Shared access key to download the chain of - custody logs + :ivar chain_of_custody_sas_key: Shared access key to download the chain of custody logs. :vartype chain_of_custody_sas_key: str - :param job_details_type: Required. Constant filled by server. - :type job_details_type: str :ivar copy_progress: Copy progress per account. :vartype copy_progress: list[~azure.mgmt.databox.models.CopyProgress] - :param device_password: Set Device password for unlocking Databox Heavy + :param device_password: Set Device password for unlocking Databox Heavy. :type device_password: str """ @@ -1111,10 +1250,10 @@ class DataBoxHeavyJobDetails(JobDetails): 'return_package': {'readonly': True}, 'destination_account_details': {'required': True}, 'error_details': {'readonly': True}, + 'job_details_type': {'required': True}, 'copy_log_details': {'readonly': True}, 'reverse_shipment_label_sas_key': {'readonly': True}, 'chain_of_custody_sas_key': {'readonly': True}, - 'job_details_type': {'required': True}, 'copy_progress': {'readonly': True}, } @@ -1127,40 +1266,46 @@ class DataBoxHeavyJobDetails(JobDetails): 'return_package': {'key': 'returnPackage', 'type': 'PackageShippingDetails'}, 'destination_account_details': {'key': 'destinationAccountDetails', 'type': '[DestinationAccountDetails]'}, 'error_details': {'key': 'errorDetails', 'type': '[JobErrorDetails]'}, + 'job_details_type': {'key': 'jobDetailsType', 'type': 'str'}, 'preferences': {'key': 'preferences', 'type': 'Preferences'}, 'copy_log_details': {'key': 'copyLogDetails', 'type': '[CopyLogDetails]'}, 'reverse_shipment_label_sas_key': {'key': 'reverseShipmentLabelSasKey', 'type': 'str'}, 'chain_of_custody_sas_key': {'key': 'chainOfCustodySasKey', 'type': 'str'}, - 'job_details_type': {'key': 'jobDetailsType', 'type': 'str'}, 'copy_progress': {'key': 'copyProgress', 'type': '[CopyProgress]'}, 'device_password': {'key': 'devicePassword', 'type': 'str'}, } - def __init__(self, *, contact_details, shipping_address, destination_account_details, expected_data_size_in_terabytes: int=None, preferences=None, device_password: str=None, **kwargs) -> None: + def __init__( + self, + *, + contact_details: "ContactDetails", + shipping_address: "ShippingAddress", + destination_account_details: List["DestinationAccountDetails"], + expected_data_size_in_terabytes: Optional[int] = None, + preferences: Optional["Preferences"] = None, + device_password: Optional[str] = None, + **kwargs + ): super(DataBoxHeavyJobDetails, self).__init__(expected_data_size_in_terabytes=expected_data_size_in_terabytes, contact_details=contact_details, shipping_address=shipping_address, destination_account_details=destination_account_details, preferences=preferences, **kwargs) + self.job_details_type = 'DataBoxHeavy' # type: str self.copy_progress = None self.device_password = device_password - self.job_details_type = 'DataBoxHeavy' class DataBoxHeavyJobSecrets(JobSecrets): """The secrets related to a databox heavy job. - Variables are only populated by the server, and will be ignored when - sending a request. + 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 dc_access_security_code: Dc Access Security Code for Customer - Managed Shipping - :type dc_access_security_code: - ~azure.mgmt.databox.models.DcAccessSecurityCode - :param job_secrets_type: Required. Constant filled by server. - :type job_secrets_type: str - :ivar cabinet_pod_secrets: Contains the list of secret objects for a - databox heavy job. - :vartype cabinet_pod_secrets: - list[~azure.mgmt.databox.models.DataBoxHeavySecret] + :param job_secrets_type: Required. Used to indicate what type of job secrets object.Constant + filled by server. Possible values include: "DataBox", "DataBoxDisk", "DataBoxHeavy". + :type job_secrets_type: str or ~azure.mgmt.databox.models.ClassDiscriminator + :param dc_access_security_code: Dc Access Security Code for Customer Managed Shipping. + :type dc_access_security_code: ~azure.mgmt.databox.models.DcAccessSecurityCode + :ivar cabinet_pod_secrets: Contains the list of secret objects for a databox heavy job. + :vartype cabinet_pod_secrets: list[~azure.mgmt.databox.models.DataBoxHeavySecret] """ _validation = { @@ -1169,36 +1314,38 @@ class DataBoxHeavyJobSecrets(JobSecrets): } _attribute_map = { - 'dc_access_security_code': {'key': 'dcAccessSecurityCode', 'type': 'DcAccessSecurityCode'}, 'job_secrets_type': {'key': 'jobSecretsType', 'type': 'str'}, + 'dc_access_security_code': {'key': 'dcAccessSecurityCode', 'type': 'DcAccessSecurityCode'}, 'cabinet_pod_secrets': {'key': 'cabinetPodSecrets', 'type': '[DataBoxHeavySecret]'}, } - def __init__(self, *, dc_access_security_code=None, **kwargs) -> None: + def __init__( + self, + *, + dc_access_security_code: Optional["DcAccessSecurityCode"] = None, + **kwargs + ): super(DataBoxHeavyJobSecrets, self).__init__(dc_access_security_code=dc_access_security_code, **kwargs) + self.job_secrets_type = 'DataBoxHeavy' # type: str self.cabinet_pod_secrets = None - self.job_secrets_type = 'DataBoxHeavy' -class DataBoxHeavySecret(Model): +class DataBoxHeavySecret(msrest.serialization.Model): """The secrets related to a databox heavy. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar device_serial_number: Serial number of the assigned device. :vartype device_serial_number: str :ivar device_password: Password for out of the box experience on device. :vartype device_password: str :ivar network_configurations: Network configuration of the appliance. - :vartype network_configurations: - list[~azure.mgmt.databox.models.ApplianceNetworkConfiguration] - :ivar encoded_validation_cert_pub_key: The base 64 encoded public key to - authenticate with the device + :vartype network_configurations: list[~azure.mgmt.databox.models.ApplianceNetworkConfiguration] + :ivar encoded_validation_cert_pub_key: The base 64 encoded public key to authenticate with the + device. :vartype encoded_validation_cert_pub_key: str :ivar account_credential_details: Per account level access credentials. - :vartype account_credential_details: - list[~azure.mgmt.databox.models.AccountCredentialDetails] + :vartype account_credential_details: list[~azure.mgmt.databox.models.AccountCredentialDetails] """ _validation = { @@ -1217,7 +1364,10 @@ class DataBoxHeavySecret(Model): 'account_credential_details': {'key': 'accountCredentialDetails', 'type': '[AccountCredentialDetails]'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(DataBoxHeavySecret, self).__init__(**kwargs) self.device_serial_number = None self.device_password = None @@ -1229,46 +1379,41 @@ def __init__(self, **kwargs) -> None: class DataBoxJobDetails(JobDetails): """Databox Job Details. - Variables are only populated by the server, and will be ignored when - sending a request. + 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 expected_data_size_in_terabytes: The expected size of the data, - which needs to be transferred in this job, in terabytes. + :param expected_data_size_in_terabytes: The expected size of the data, which needs to be + transferred in this job, in terabytes. :type expected_data_size_in_terabytes: int :ivar job_stages: List of stages that run in the job. :vartype job_stages: list[~azure.mgmt.databox.models.JobStages] - :param contact_details: Required. Contact details for notification and - shipping. + :param contact_details: Required. Contact details for notification and shipping. :type contact_details: ~azure.mgmt.databox.models.ContactDetails :param shipping_address: Required. Shipping address of the customer. :type shipping_address: ~azure.mgmt.databox.models.ShippingAddress :ivar delivery_package: Delivery package shipping details. - :vartype delivery_package: - ~azure.mgmt.databox.models.PackageShippingDetails + :vartype delivery_package: ~azure.mgmt.databox.models.PackageShippingDetails :ivar return_package: Return package shipping details. :vartype return_package: ~azure.mgmt.databox.models.PackageShippingDetails :param destination_account_details: Required. Destination account details. - :type destination_account_details: - list[~azure.mgmt.databox.models.DestinationAccountDetails] + :type destination_account_details: list[~azure.mgmt.databox.models.DestinationAccountDetails] :ivar error_details: Error details for failure. This is optional. :vartype error_details: list[~azure.mgmt.databox.models.JobErrorDetails] + :param job_details_type: Required. Indicates the type of job details.Constant filled by server. + Possible values include: "DataBox", "DataBoxDisk", "DataBoxHeavy". + :type job_details_type: str or ~azure.mgmt.databox.models.ClassDiscriminator :param preferences: Preferences for the order. :type preferences: ~azure.mgmt.databox.models.Preferences :ivar copy_log_details: List of copy log details. :vartype copy_log_details: list[~azure.mgmt.databox.models.CopyLogDetails] - :ivar reverse_shipment_label_sas_key: Shared access key to download the - return shipment label + :ivar reverse_shipment_label_sas_key: Shared access key to download the return shipment label. :vartype reverse_shipment_label_sas_key: str - :ivar chain_of_custody_sas_key: Shared access key to download the chain of - custody logs + :ivar chain_of_custody_sas_key: Shared access key to download the chain of custody logs. :vartype chain_of_custody_sas_key: str - :param job_details_type: Required. Constant filled by server. - :type job_details_type: str :ivar copy_progress: Copy progress per storage account. :vartype copy_progress: list[~azure.mgmt.databox.models.CopyProgress] - :param device_password: Set Device password for unlocking Databox + :param device_password: Set Device password for unlocking Databox. :type device_password: str """ @@ -1280,10 +1425,10 @@ class DataBoxJobDetails(JobDetails): 'return_package': {'readonly': True}, 'destination_account_details': {'required': True}, 'error_details': {'readonly': True}, + 'job_details_type': {'required': True}, 'copy_log_details': {'readonly': True}, 'reverse_shipment_label_sas_key': {'readonly': True}, 'chain_of_custody_sas_key': {'readonly': True}, - 'job_details_type': {'required': True}, 'copy_progress': {'readonly': True}, } @@ -1296,20 +1441,30 @@ class DataBoxJobDetails(JobDetails): 'return_package': {'key': 'returnPackage', 'type': 'PackageShippingDetails'}, 'destination_account_details': {'key': 'destinationAccountDetails', 'type': '[DestinationAccountDetails]'}, 'error_details': {'key': 'errorDetails', 'type': '[JobErrorDetails]'}, + 'job_details_type': {'key': 'jobDetailsType', 'type': 'str'}, 'preferences': {'key': 'preferences', 'type': 'Preferences'}, 'copy_log_details': {'key': 'copyLogDetails', 'type': '[CopyLogDetails]'}, 'reverse_shipment_label_sas_key': {'key': 'reverseShipmentLabelSasKey', 'type': 'str'}, 'chain_of_custody_sas_key': {'key': 'chainOfCustodySasKey', 'type': 'str'}, - 'job_details_type': {'key': 'jobDetailsType', 'type': 'str'}, 'copy_progress': {'key': 'copyProgress', 'type': '[CopyProgress]'}, 'device_password': {'key': 'devicePassword', 'type': 'str'}, } - def __init__(self, *, contact_details, shipping_address, destination_account_details, expected_data_size_in_terabytes: int=None, preferences=None, device_password: str=None, **kwargs) -> None: + def __init__( + self, + *, + contact_details: "ContactDetails", + shipping_address: "ShippingAddress", + destination_account_details: List["DestinationAccountDetails"], + expected_data_size_in_terabytes: Optional[int] = None, + preferences: Optional["Preferences"] = None, + device_password: Optional[str] = None, + **kwargs + ): super(DataBoxJobDetails, self).__init__(expected_data_size_in_terabytes=expected_data_size_in_terabytes, contact_details=contact_details, shipping_address=shipping_address, destination_account_details=destination_account_details, preferences=preferences, **kwargs) + self.job_details_type = 'DataBox' # type: str self.copy_progress = None self.device_password = device_password - self.job_details_type = 'DataBox' class DataboxJobSecrets(JobSecrets): @@ -1317,12 +1472,11 @@ class DataboxJobSecrets(JobSecrets): All required parameters must be populated in order to send to Azure. - :param dc_access_security_code: Dc Access Security Code for Customer - Managed Shipping - :type dc_access_security_code: - ~azure.mgmt.databox.models.DcAccessSecurityCode - :param job_secrets_type: Required. Constant filled by server. - :type job_secrets_type: str + :param job_secrets_type: Required. Used to indicate what type of job secrets object.Constant + filled by server. Possible values include: "DataBox", "DataBoxDisk", "DataBoxHeavy". + :type job_secrets_type: str or ~azure.mgmt.databox.models.ClassDiscriminator + :param dc_access_security_code: Dc Access Security Code for Customer Managed Shipping. + :type dc_access_security_code: ~azure.mgmt.databox.models.DcAccessSecurityCode :param pod_secrets: Contains the list of secret objects for a job. :type pod_secrets: list[~azure.mgmt.databox.models.DataBoxSecret] """ @@ -1332,32 +1486,38 @@ class DataboxJobSecrets(JobSecrets): } _attribute_map = { - 'dc_access_security_code': {'key': 'dcAccessSecurityCode', 'type': 'DcAccessSecurityCode'}, 'job_secrets_type': {'key': 'jobSecretsType', 'type': 'str'}, + 'dc_access_security_code': {'key': 'dcAccessSecurityCode', 'type': 'DcAccessSecurityCode'}, 'pod_secrets': {'key': 'podSecrets', 'type': '[DataBoxSecret]'}, } - def __init__(self, *, dc_access_security_code=None, pod_secrets=None, **kwargs) -> None: + def __init__( + self, + *, + dc_access_security_code: Optional["DcAccessSecurityCode"] = None, + pod_secrets: Optional[List["DataBoxSecret"]] = None, + **kwargs + ): super(DataboxJobSecrets, self).__init__(dc_access_security_code=dc_access_security_code, **kwargs) + self.job_secrets_type = 'DataBox' # type: str self.pod_secrets = pod_secrets - self.job_secrets_type = 'DataBox' -class ScheduleAvailabilityRequest(Model): +class ScheduleAvailabilityRequest(msrest.serialization.Model): """Request body to get the availability for scheduling orders. You probably want to use the sub-classes and not this class directly. Known - sub-classes are: DataBoxScheduleAvailabilityRequest, - DiskScheduleAvailabilityRequest, HeavyScheduleAvailabilityRequest + sub-classes are: DataBoxScheduleAvailabilityRequest, DiskScheduleAvailabilityRequest, HeavyScheduleAvailabilityRequest. All required parameters must be populated in order to send to Azure. :param storage_location: Required. Location for data transfer. - For locations check: - https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01 + For locations check: https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api- + version=2018-01-01. :type storage_location: str - :param sku_name: Required. Constant filled by server. - :type sku_name: str + :param sku_name: Required. Sku Name for which the order is to be scheduled.Constant filled by + server. Possible values include: "DataBox", "DataBoxDisk", "DataBoxHeavy". + :type sku_name: str or ~azure.mgmt.databox.models.SkuName """ _validation = { @@ -1374,10 +1534,15 @@ class ScheduleAvailabilityRequest(Model): 'sku_name': {'DataBox': 'DataBoxScheduleAvailabilityRequest', 'DataBoxDisk': 'DiskScheduleAvailabilityRequest', 'DataBoxHeavy': 'HeavyScheduleAvailabilityRequest'} } - def __init__(self, *, storage_location: str, **kwargs) -> None: + def __init__( + self, + *, + storage_location: str, + **kwargs + ): super(ScheduleAvailabilityRequest, self).__init__(**kwargs) self.storage_location = storage_location - self.sku_name = None + self.sku_name = None # type: Optional[str] class DataBoxScheduleAvailabilityRequest(ScheduleAvailabilityRequest): @@ -1386,11 +1551,12 @@ class DataBoxScheduleAvailabilityRequest(ScheduleAvailabilityRequest): All required parameters must be populated in order to send to Azure. :param storage_location: Required. Location for data transfer. - For locations check: - https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01 + For locations check: https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api- + version=2018-01-01. :type storage_location: str - :param sku_name: Required. Constant filled by server. - :type sku_name: str + :param sku_name: Required. Sku Name for which the order is to be scheduled.Constant filled by + server. Possible values include: "DataBox", "DataBoxDisk", "DataBoxHeavy". + :type sku_name: str or ~azure.mgmt.databox.models.SkuName """ _validation = { @@ -1403,30 +1569,32 @@ class DataBoxScheduleAvailabilityRequest(ScheduleAvailabilityRequest): 'sku_name': {'key': 'skuName', 'type': 'str'}, } - def __init__(self, *, storage_location: str, **kwargs) -> None: + def __init__( + self, + *, + storage_location: str, + **kwargs + ): super(DataBoxScheduleAvailabilityRequest, self).__init__(storage_location=storage_location, **kwargs) - self.sku_name = 'DataBox' + self.sku_name = 'DataBox' # type: str -class DataBoxSecret(Model): +class DataBoxSecret(msrest.serialization.Model): """The secrets related to a DataBox. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar device_serial_number: Serial number of the assigned device. :vartype device_serial_number: str :ivar device_password: Password for out of the box experience on device. :vartype device_password: str :ivar network_configurations: Network configuration of the appliance. - :vartype network_configurations: - list[~azure.mgmt.databox.models.ApplianceNetworkConfiguration] - :ivar encoded_validation_cert_pub_key: The base 64 encoded public key to - authenticate with the device + :vartype network_configurations: list[~azure.mgmt.databox.models.ApplianceNetworkConfiguration] + :ivar encoded_validation_cert_pub_key: The base 64 encoded public key to authenticate with the + device. :vartype encoded_validation_cert_pub_key: str :ivar account_credential_details: Per account level access credentials. - :vartype account_credential_details: - list[~azure.mgmt.databox.models.AccountCredentialDetails] + :vartype account_credential_details: list[~azure.mgmt.databox.models.AccountCredentialDetails] """ _validation = { @@ -1445,7 +1613,10 @@ class DataBoxSecret(Model): 'account_credential_details': {'key': 'accountCredentialDetails', 'type': '[AccountCredentialDetails]'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(DataBoxSecret, self).__init__(**kwargs) self.device_serial_number = None self.device_password = None @@ -1459,12 +1630,13 @@ class DataDestinationDetailsValidationRequest(ValidationInputRequest): All required parameters must be populated in order to send to Azure. - :param validation_type: Required. Constant filled by server. - :type validation_type: str - :param destination_account_details: Required. Destination account details - list. - :type destination_account_details: - list[~azure.mgmt.databox.models.DestinationAccountDetails] + :param validation_type: Required. Identifies the type of validation request.Constant filled by + server. Possible values include: "ValidateAddress", "ValidateDataDestinationDetails", + "ValidateSubscriptionIsAllowedToCreateJob", "ValidatePreferences", "ValidateCreateOrderLimit", + "ValidateSkuAvailability". + :type validation_type: str or ~azure.mgmt.databox.models.ValidationInputDiscriminator + :param destination_account_details: Required. Destination account details list. + :type destination_account_details: list[~azure.mgmt.databox.models.DestinationAccountDetails] :param location: Required. Location of stamp or geo. :type location: str """ @@ -1481,49 +1653,60 @@ class DataDestinationDetailsValidationRequest(ValidationInputRequest): 'location': {'key': 'location', 'type': 'str'}, } - def __init__(self, *, destination_account_details, location: str, **kwargs) -> None: + def __init__( + self, + *, + destination_account_details: List["DestinationAccountDetails"], + location: str, + **kwargs + ): super(DataDestinationDetailsValidationRequest, self).__init__(**kwargs) + self.validation_type = 'ValidateDataDestinationDetails' # type: str self.destination_account_details = destination_account_details self.location = location - self.validation_type = 'ValidateDataDestinationDetails' class DataDestinationDetailsValidationResponseProperties(ValidationInputResponse): """Properties of data destination details validation response. - Variables are only populated by the server, and will be ignored when - sending a request. + 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 validation_type: Required. Identifies the type of validation response.Constant filled by + server. Possible values include: "ValidateAddress", "ValidateDataDestinationDetails", + "ValidateSubscriptionIsAllowedToCreateJob", "ValidatePreferences", "ValidateCreateOrderLimit", + "ValidateSkuAvailability". + :type validation_type: str or ~azure.mgmt.databox.models.ValidationInputDiscriminator :ivar error: Error code and message of validation response. :vartype error: ~azure.mgmt.databox.models.Error - :param validation_type: Required. Constant filled by server. - :type validation_type: str - :ivar status: Data destination details validation status. Possible values - include: 'Valid', 'Invalid', 'Skipped' + :ivar status: Data destination details validation status. Possible values include: "Valid", + "Invalid", "Skipped". :vartype status: str or ~azure.mgmt.databox.models.ValidationStatus """ _validation = { - 'error': {'readonly': True}, 'validation_type': {'required': True}, + 'error': {'readonly': True}, 'status': {'readonly': True}, } _attribute_map = { - 'error': {'key': 'error', 'type': 'Error'}, 'validation_type': {'key': 'validationType', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'ValidationStatus'}, + 'error': {'key': 'error', 'type': 'Error'}, + 'status': {'key': 'status', 'type': 'str'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(DataDestinationDetailsValidationResponseProperties, self).__init__(**kwargs) + self.validation_type = 'ValidateDataDestinationDetails' # type: str self.status = None - self.validation_type = 'ValidateDataDestinationDetails' -class DcAccessSecurityCode(Model): +class DcAccessSecurityCode(msrest.serialization.Model): """Dc Access Security code for device. :param forward_dc_access_code: Dc Access Code for dispatching from DC. @@ -1537,28 +1720,33 @@ class DcAccessSecurityCode(Model): 'reverse_dc_access_code': {'key': 'reverseDcAccessCode', 'type': 'str'}, } - def __init__(self, *, forward_dc_access_code: str=None, reverse_dc_access_code: str=None, **kwargs) -> None: + def __init__( + self, + *, + forward_dc_access_code: Optional[str] = None, + reverse_dc_access_code: Optional[str] = None, + **kwargs + ): super(DcAccessSecurityCode, self).__init__(**kwargs) self.forward_dc_access_code = forward_dc_access_code self.reverse_dc_access_code = reverse_dc_access_code -class DestinationAccountDetails(Model): +class DestinationAccountDetails(msrest.serialization.Model): """Details of the destination storage accounts. You probably want to use the sub-classes and not this class directly. Known - sub-classes are: DestinationManagedDiskDetails, - DestinationStorageAccountDetails + sub-classes are: DestinationManagedDiskDetails, DestinationStorageAccountDetails. All required parameters must be populated in order to send to Azure. - :param account_id: Arm Id of the destination where the data has to be - moved. + :param data_destination_type: Required. Data Destination Type.Constant filled by server. + Possible values include: "StorageAccount", "ManagedDisk". + :type data_destination_type: str or ~azure.mgmt.databox.models.DataDestinationType + :param account_id: Arm Id of the destination where the data has to be moved. :type account_id: str :param share_password: Share password to be shared by all shares in SA. :type share_password: str - :param data_destination_type: Required. Constant filled by server. - :type data_destination_type: str """ _validation = { @@ -1566,20 +1754,26 @@ class DestinationAccountDetails(Model): } _attribute_map = { + 'data_destination_type': {'key': 'dataDestinationType', 'type': 'str'}, 'account_id': {'key': 'accountId', 'type': 'str'}, 'share_password': {'key': 'sharePassword', 'type': 'str'}, - 'data_destination_type': {'key': 'dataDestinationType', 'type': 'str'}, } _subtype_map = { 'data_destination_type': {'ManagedDisk': 'DestinationManagedDiskDetails', 'StorageAccount': 'DestinationStorageAccountDetails'} } - def __init__(self, *, account_id: str=None, share_password: str=None, **kwargs) -> None: + def __init__( + self, + *, + account_id: Optional[str] = None, + share_password: Optional[str] = None, + **kwargs + ): super(DestinationAccountDetails, self).__init__(**kwargs) + self.data_destination_type = None # type: Optional[str] self.account_id = account_id self.share_password = share_password - self.data_destination_type = None class DestinationManagedDiskDetails(DestinationAccountDetails): @@ -1587,18 +1781,18 @@ class DestinationManagedDiskDetails(DestinationAccountDetails): All required parameters must be populated in order to send to Azure. - :param account_id: Arm Id of the destination where the data has to be - moved. + :param data_destination_type: Required. Data Destination Type.Constant filled by server. + Possible values include: "StorageAccount", "ManagedDisk". + :type data_destination_type: str or ~azure.mgmt.databox.models.DataDestinationType + :param account_id: Arm Id of the destination where the data has to be moved. :type account_id: str :param share_password: Share password to be shared by all shares in SA. :type share_password: str - :param data_destination_type: Required. Constant filled by server. - :type data_destination_type: str - :param resource_group_id: Required. Destination Resource Group Id where - the Compute disks should be created. + :param resource_group_id: Required. Destination Resource Group Id where the Compute disks + should be created. :type resource_group_id: str - :param staging_storage_account_id: Required. Arm Id of the storage account - that can be used to copy the vhd for staging. + :param staging_storage_account_id: Required. Arm Id of the storage account that can be used to + copy the vhd for staging. :type staging_storage_account_id: str """ @@ -1609,18 +1803,26 @@ class DestinationManagedDiskDetails(DestinationAccountDetails): } _attribute_map = { + 'data_destination_type': {'key': 'dataDestinationType', 'type': 'str'}, 'account_id': {'key': 'accountId', 'type': 'str'}, 'share_password': {'key': 'sharePassword', 'type': 'str'}, - 'data_destination_type': {'key': 'dataDestinationType', 'type': 'str'}, 'resource_group_id': {'key': 'resourceGroupId', 'type': 'str'}, 'staging_storage_account_id': {'key': 'stagingStorageAccountId', 'type': 'str'}, } - def __init__(self, *, resource_group_id: str, staging_storage_account_id: str, account_id: str=None, share_password: str=None, **kwargs) -> None: + def __init__( + self, + *, + resource_group_id: str, + staging_storage_account_id: str, + account_id: Optional[str] = None, + share_password: Optional[str] = None, + **kwargs + ): super(DestinationManagedDiskDetails, self).__init__(account_id=account_id, share_password=share_password, **kwargs) + self.data_destination_type = 'ManagedDisk' # type: str self.resource_group_id = resource_group_id self.staging_storage_account_id = staging_storage_account_id - self.data_destination_type = 'ManagedDisk' class DestinationStorageAccountDetails(DestinationAccountDetails): @@ -1628,13 +1830,13 @@ class DestinationStorageAccountDetails(DestinationAccountDetails): All required parameters must be populated in order to send to Azure. - :param account_id: Arm Id of the destination where the data has to be - moved. + :param data_destination_type: Required. Data Destination Type.Constant filled by server. + Possible values include: "StorageAccount", "ManagedDisk". + :type data_destination_type: str or ~azure.mgmt.databox.models.DataDestinationType + :param account_id: Arm Id of the destination where the data has to be moved. :type account_id: str :param share_password: Share password to be shared by all shares in SA. :type share_password: str - :param data_destination_type: Required. Constant filled by server. - :type data_destination_type: str :param storage_account_id: Required. Destination Storage Account Arm Id. :type storage_account_id: str """ @@ -1645,23 +1847,29 @@ class DestinationStorageAccountDetails(DestinationAccountDetails): } _attribute_map = { + 'data_destination_type': {'key': 'dataDestinationType', 'type': 'str'}, 'account_id': {'key': 'accountId', 'type': 'str'}, 'share_password': {'key': 'sharePassword', 'type': 'str'}, - 'data_destination_type': {'key': 'dataDestinationType', 'type': 'str'}, 'storage_account_id': {'key': 'storageAccountId', 'type': 'str'}, } - def __init__(self, *, storage_account_id: str, account_id: str=None, share_password: str=None, **kwargs) -> None: + def __init__( + self, + *, + storage_account_id: str, + account_id: Optional[str] = None, + share_password: Optional[str] = None, + **kwargs + ): super(DestinationStorageAccountDetails, self).__init__(account_id=account_id, share_password=share_password, **kwargs) + self.data_destination_type = 'StorageAccount' # type: str self.storage_account_id = storage_account_id - self.data_destination_type = 'StorageAccount' -class DestinationToServiceLocationMap(Model): +class DestinationToServiceLocationMap(msrest.serialization.Model): """Map of destination location to service location. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar destination_location: Location of the destination. :vartype destination_location: str @@ -1679,7 +1887,10 @@ class DestinationToServiceLocationMap(Model): 'service_location': {'key': 'serviceLocation', 'type': 'str'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(DestinationToServiceLocationMap, self).__init__(**kwargs) self.destination_location = None self.service_location = None @@ -1691,13 +1902,14 @@ class DiskScheduleAvailabilityRequest(ScheduleAvailabilityRequest): All required parameters must be populated in order to send to Azure. :param storage_location: Required. Location for data transfer. - For locations check: - https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01 + For locations check: https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api- + version=2018-01-01. :type storage_location: str - :param sku_name: Required. Constant filled by server. - :type sku_name: str - :param expected_data_size_in_terabytes: Required. The expected size of the - data, which needs to be transferred in this job, in terabytes. + :param sku_name: Required. Sku Name for which the order is to be scheduled.Constant filled by + server. Possible values include: "DataBox", "DataBoxDisk", "DataBoxHeavy". + :type sku_name: str or ~azure.mgmt.databox.models.SkuName + :param expected_data_size_in_terabytes: Required. The expected size of the data, which needs to + be transferred in this job, in terabytes. :type expected_data_size_in_terabytes: int """ @@ -1713,22 +1925,27 @@ class DiskScheduleAvailabilityRequest(ScheduleAvailabilityRequest): 'expected_data_size_in_terabytes': {'key': 'expectedDataSizeInTerabytes', 'type': 'int'}, } - def __init__(self, *, storage_location: str, expected_data_size_in_terabytes: int, **kwargs) -> None: + def __init__( + self, + *, + storage_location: str, + expected_data_size_in_terabytes: int, + **kwargs + ): super(DiskScheduleAvailabilityRequest, self).__init__(storage_location=storage_location, **kwargs) + self.sku_name = 'DataBoxDisk' # type: str self.expected_data_size_in_terabytes = expected_data_size_in_terabytes - self.sku_name = 'DataBoxDisk' -class DiskSecret(Model): +class DiskSecret(msrest.serialization.Model): """Contains all the secrets of a Disk. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar disk_serial_number: Serial number of the assigned disk. :vartype disk_serial_number: str - :ivar bit_locker_key: Bit Locker key of the disk which can be used to - unlock the disk to copy data. + :ivar bit_locker_key: Bit Locker key of the disk which can be used to unlock the disk to copy + data. :vartype bit_locker_key: str """ @@ -1742,23 +1959,23 @@ class DiskSecret(Model): 'bit_locker_key': {'key': 'bitLockerKey', 'type': 'str'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(DiskSecret, self).__init__(**kwargs) self.disk_serial_number = None self.bit_locker_key = None -class Error(Model): +class Error(msrest.serialization.Model): """Top level error for the job. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. - :ivar code: Error code that can be used to programmatically identify the - error. + :ivar code: Error code that can be used to programmatically identify the error. :vartype code: str - :ivar message: Describes the error in detail and provides debugging - information. + :ivar message: Describes the error in detail and provides debugging information. :vartype message: str """ @@ -1772,7 +1989,10 @@ class Error(Model): 'message': {'key': 'message', 'type': 'str'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(Error, self).__init__(**kwargs) self.code = None self.message = None @@ -1784,11 +2004,12 @@ class HeavyScheduleAvailabilityRequest(ScheduleAvailabilityRequest): All required parameters must be populated in order to send to Azure. :param storage_location: Required. Location for data transfer. - For locations check: - https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01 + For locations check: https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api- + version=2018-01-01. :type storage_location: str - :param sku_name: Required. Constant filled by server. - :type sku_name: str + :param sku_name: Required. Sku Name for which the order is to be scheduled.Constant filled by + server. Possible values include: "DataBox", "DataBoxDisk", "DataBoxHeavy". + :type sku_name: str or ~azure.mgmt.databox.models.SkuName """ _validation = { @@ -1801,32 +2022,41 @@ class HeavyScheduleAvailabilityRequest(ScheduleAvailabilityRequest): 'sku_name': {'key': 'skuName', 'type': 'str'}, } - def __init__(self, *, storage_location: str, **kwargs) -> None: + def __init__( + self, + *, + storage_location: str, + **kwargs + ): super(HeavyScheduleAvailabilityRequest, self).__init__(storage_location=storage_location, **kwargs) - self.sku_name = 'DataBoxHeavy' + self.sku_name = 'DataBoxHeavy' # type: str -class JobDeliveryInfo(Model): +class JobDeliveryInfo(msrest.serialization.Model): """Additional delivery info. :param scheduled_date_time: Scheduled date time. - :type scheduled_date_time: datetime + :type scheduled_date_time: ~datetime.datetime """ _attribute_map = { 'scheduled_date_time': {'key': 'scheduledDateTime', 'type': 'iso-8601'}, } - def __init__(self, *, scheduled_date_time=None, **kwargs) -> None: + def __init__( + self, + *, + scheduled_date_time: Optional[datetime.datetime] = None, + **kwargs + ): super(JobDeliveryInfo, self).__init__(**kwargs) self.scheduled_date_time = scheduled_date_time -class JobErrorDetails(Model): +class JobErrorDetails(msrest.serialization.Model): """Job Error Details for providing the information and recommended action. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar error_message: Message for the error. :vartype error_message: str @@ -1834,7 +2064,7 @@ class JobErrorDetails(Model): :vartype error_code: int :ivar recommended_action: Recommended action for the error. :vartype recommended_action: str - :ivar exception_message: Contains the non localized exception message + :ivar exception_message: Contains the non localized exception message. :vartype exception_message: str """ @@ -1852,7 +2082,10 @@ class JobErrorDetails(Model): 'exception_message': {'key': 'exceptionMessage', 'type': 'str'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(JobErrorDetails, self).__init__(**kwargs) self.error_message = None self.error_code = None @@ -1860,20 +2093,18 @@ def __init__(self, **kwargs) -> None: self.exception_message = None -class Resource(Model): +class Resource(msrest.serialization.Model): """Model of the Resource. All required parameters must be populated in order to send to Azure. - :param location: Required. The location of the resource. This will be one - of the supported and registered Azure Regions (e.g. West US, East US, - Southeast Asia, etc.). The region of a resource cannot be changed once it - is created, but if an identical region is specified on update the request - will succeed. + :param location: Required. The location of the resource. This will be one of the supported and + registered Azure Regions (e.g. West US, East US, Southeast Asia, etc.). The region of a + resource cannot be changed once it is created, but if an identical region is specified on + update the request will succeed. :type location: str - :param tags: The list of key value pairs that describe the resource. These - tags can be used in viewing and grouping this resource (across resource - groups). + :param tags: A set of tags. The list of key value pairs that describe the resource. These tags + can be used in viewing and grouping this resource (across resource groups). :type tags: dict[str, str] :param sku: Required. The sku type. :type sku: ~azure.mgmt.databox.models.Sku @@ -1890,7 +2121,14 @@ class Resource(Model): 'sku': {'key': 'sku', 'type': 'Sku'}, } - def __init__(self, *, location: str, sku, tags=None, **kwargs) -> None: + def __init__( + self, + *, + location: str, + sku: "Sku", + tags: Optional[Dict[str, str]] = None, + **kwargs + ): super(Resource, self).__init__(**kwargs) self.location = location self.tags = tags @@ -1900,66 +2138,61 @@ def __init__(self, *, location: str, sku, tags=None, **kwargs) -> None: class JobResource(Resource): """Job Resource. - Variables are only populated by the server, and will be ignored when - sending a request. + 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 location: Required. The location of the resource. This will be one - of the supported and registered Azure Regions (e.g. West US, East US, - Southeast Asia, etc.). The region of a resource cannot be changed once it - is created, but if an identical region is specified on update the request - will succeed. + :param location: Required. The location of the resource. This will be one of the supported and + registered Azure Regions (e.g. West US, East US, Southeast Asia, etc.). The region of a + resource cannot be changed once it is created, but if an identical region is specified on + update the request will succeed. :type location: str - :param tags: The list of key value pairs that describe the resource. These - tags can be used in viewing and grouping this resource (across resource - groups). + :param tags: A set of tags. The list of key value pairs that describe the resource. These tags + can be used in viewing and grouping this resource (across resource groups). :type tags: dict[str, str] :param sku: Required. The sku type. :type sku: ~azure.mgmt.databox.models.Sku + :ivar name: Name of the object. + :vartype name: str + :ivar id: Id of the object. + :vartype id: str + :ivar type: Type of the object. + :vartype type: str :ivar is_cancellable: Describes whether the job is cancellable or not. :vartype is_cancellable: bool :ivar is_deletable: Describes whether the job is deletable or not. :vartype is_deletable: bool - :ivar is_shipping_address_editable: Describes whether the shipping address - is editable or not. + :ivar is_shipping_address_editable: Describes whether the shipping address is editable or not. :vartype is_shipping_address_editable: bool - :ivar status: Name of the stage which is in progress. Possible values - include: 'DeviceOrdered', 'DevicePrepared', 'Dispatched', 'Delivered', - 'PickedUp', 'AtAzureDC', 'DataCopy', 'Completed', 'CompletedWithErrors', - 'Cancelled', 'Failed_IssueReportedAtCustomer', - 'Failed_IssueDetectedAtAzureDC', 'Aborted', 'CompletedWithWarnings', - 'ReadyToDispatchFromAzureDC', 'ReadyToReceiveAtAzureDC' + :ivar status: Name of the stage which is in progress. Possible values include: "DeviceOrdered", + "DevicePrepared", "Dispatched", "Delivered", "PickedUp", "AtAzureDC", "DataCopy", "Completed", + "CompletedWithErrors", "Cancelled", "Failed_IssueReportedAtCustomer", + "Failed_IssueDetectedAtAzureDC", "Aborted", "CompletedWithWarnings", + "ReadyToDispatchFromAzureDC", "ReadyToReceiveAtAzureDC". :vartype status: str or ~azure.mgmt.databox.models.StageName - :ivar start_time: Time at which the job was started in UTC ISO 8601 - format. - :vartype start_time: datetime + :ivar start_time: Time at which the job was started in UTC ISO 8601 format. + :vartype start_time: ~datetime.datetime :ivar error: Top level error for the job. :vartype error: ~azure.mgmt.databox.models.Error - :param details: Details of a job run. This field will only be sent for - expand details filter. + :param details: Details of a job run. This field will only be sent for expand details filter. :type details: ~azure.mgmt.databox.models.JobDetails :ivar cancellation_reason: Reason for cancellation. :vartype cancellation_reason: str - :param delivery_type: Delivery type of Job. Possible values include: - 'NonScheduled', 'Scheduled' + :param delivery_type: Delivery type of Job. Possible values include: "NonScheduled", + "Scheduled". :type delivery_type: str or ~azure.mgmt.databox.models.JobDeliveryType :param delivery_info: Delivery Info of Job. :type delivery_info: ~azure.mgmt.databox.models.JobDeliveryInfo - :ivar is_cancellable_without_fee: Flag to indicate cancellation of - scheduled job. + :ivar is_cancellable_without_fee: Flag to indicate cancellation of scheduled job. :vartype is_cancellable_without_fee: bool - :ivar name: Name of the object. - :vartype name: str - :ivar id: Id of the object. - :vartype id: str - :ivar type: Type of the object. - :vartype type: str """ _validation = { 'location': {'required': True}, 'sku': {'required': True}, + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, 'is_cancellable': {'readonly': True}, 'is_deletable': {'readonly': True}, 'is_shipping_address_editable': {'readonly': True}, @@ -1968,33 +2201,43 @@ class JobResource(Resource): 'error': {'readonly': True}, 'cancellation_reason': {'readonly': True}, 'is_cancellable_without_fee': {'readonly': True}, - 'name': {'readonly': True}, - 'id': {'readonly': True}, - 'type': {'readonly': True}, } _attribute_map = { 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, 'sku': {'key': 'sku', 'type': 'Sku'}, + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, 'is_cancellable': {'key': 'properties.isCancellable', 'type': 'bool'}, 'is_deletable': {'key': 'properties.isDeletable', 'type': 'bool'}, 'is_shipping_address_editable': {'key': 'properties.isShippingAddressEditable', 'type': 'bool'}, - 'status': {'key': 'properties.status', 'type': 'StageName'}, + 'status': {'key': 'properties.status', 'type': 'str'}, 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, 'error': {'key': 'properties.error', 'type': 'Error'}, 'details': {'key': 'properties.details', 'type': 'JobDetails'}, 'cancellation_reason': {'key': 'properties.cancellationReason', 'type': 'str'}, - 'delivery_type': {'key': 'properties.deliveryType', 'type': 'JobDeliveryType'}, + 'delivery_type': {'key': 'properties.deliveryType', 'type': 'str'}, 'delivery_info': {'key': 'properties.deliveryInfo', 'type': 'JobDeliveryInfo'}, 'is_cancellable_without_fee': {'key': 'properties.isCancellableWithoutFee', 'type': 'bool'}, - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, } - def __init__(self, *, location: str, sku, tags=None, details=None, delivery_type=None, delivery_info=None, **kwargs) -> None: + def __init__( + self, + *, + location: str, + sku: "Sku", + tags: Optional[Dict[str, str]] = None, + details: Optional["JobDetails"] = None, + delivery_type: Optional[Union[str, "JobDeliveryType"]] = None, + delivery_info: Optional["JobDeliveryInfo"] = None, + **kwargs + ): super(JobResource, self).__init__(location=location, tags=tags, sku=sku, **kwargs) + self.name = None + self.id = None + self.type = None self.is_cancellable = None self.is_deletable = None self.is_shipping_address_editable = None @@ -2006,60 +2249,85 @@ def __init__(self, *, location: str, sku, tags=None, details=None, delivery_type self.delivery_type = delivery_type self.delivery_info = delivery_info self.is_cancellable_without_fee = None - self.name = None - self.id = None - self.type = None -class JobResourceUpdateParameter(Model): +class JobResourceList(msrest.serialization.Model): + """Job Resource Collection. + + :param value: List of job resources. + :type value: list[~azure.mgmt.databox.models.JobResource] + :param next_link: Link for the next set of job resources. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[JobResource]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["JobResource"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(JobResourceList, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class JobResourceUpdateParameter(msrest.serialization.Model): """The JobResourceUpdateParameter. + :param tags: A set of tags. The list of key value pairs that describe the resource. These tags + can be used in viewing and grouping this resource (across resource groups). + :type tags: dict[str, str] :param details: Details of a job to be updated. :type details: ~azure.mgmt.databox.models.UpdateJobDetails :param destination_account_details: Destination account details. - :type destination_account_details: - list[~azure.mgmt.databox.models.DestinationAccountDetails] - :param tags: The list of key value pairs that describe the resource. These - tags can be used in viewing and grouping this resource (across resource - groups). - :type tags: dict[str, str] + :type destination_account_details: list[~azure.mgmt.databox.models.DestinationAccountDetails] """ _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, 'details': {'key': 'properties.details', 'type': 'UpdateJobDetails'}, 'destination_account_details': {'key': 'properties.destinationAccountDetails', 'type': '[DestinationAccountDetails]'}, - 'tags': {'key': 'tags', 'type': '{str}'}, } - def __init__(self, *, details=None, destination_account_details=None, tags=None, **kwargs) -> None: + def __init__( + self, + *, + tags: Optional[Dict[str, str]] = None, + details: Optional["UpdateJobDetails"] = None, + destination_account_details: Optional[List["DestinationAccountDetails"]] = None, + **kwargs + ): super(JobResourceUpdateParameter, self).__init__(**kwargs) + self.tags = tags self.details = details self.destination_account_details = destination_account_details - self.tags = tags -class JobStages(Model): +class JobStages(msrest.serialization.Model): """Job stages. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. - :ivar stage_name: Name of the job stage. Possible values include: - 'DeviceOrdered', 'DevicePrepared', 'Dispatched', 'Delivered', 'PickedUp', - 'AtAzureDC', 'DataCopy', 'Completed', 'CompletedWithErrors', 'Cancelled', - 'Failed_IssueReportedAtCustomer', 'Failed_IssueDetectedAtAzureDC', - 'Aborted', 'CompletedWithWarnings', 'ReadyToDispatchFromAzureDC', - 'ReadyToReceiveAtAzureDC' + :ivar stage_name: Name of the job stage. Possible values include: "DeviceOrdered", + "DevicePrepared", "Dispatched", "Delivered", "PickedUp", "AtAzureDC", "DataCopy", "Completed", + "CompletedWithErrors", "Cancelled", "Failed_IssueReportedAtCustomer", + "Failed_IssueDetectedAtAzureDC", "Aborted", "CompletedWithWarnings", + "ReadyToDispatchFromAzureDC", "ReadyToReceiveAtAzureDC". :vartype stage_name: str or ~azure.mgmt.databox.models.StageName :ivar display_name: Display name of the job stage. :vartype display_name: str - :ivar stage_status: Status of the job stage. Possible values include: - 'None', 'InProgress', 'Succeeded', 'Failed', 'Cancelled', 'Cancelling', - 'SucceededWithErrors' + :ivar stage_status: Status of the job stage. Possible values include: "None", "InProgress", + "Succeeded", "Failed", "Cancelled", "Cancelling", "SucceededWithErrors". :vartype stage_status: str or ~azure.mgmt.databox.models.StageStatus :ivar stage_time: Time for the job stage in UTC ISO 8601 format. - :vartype stage_time: datetime - :ivar job_stage_details: Job Stage Details + :vartype stage_time: ~datetime.datetime + :ivar job_stage_details: Job Stage Details. :vartype job_stage_details: object :ivar error_details: Error details for the stage. :vartype error_details: list[~azure.mgmt.databox.models.JobErrorDetails] @@ -2075,15 +2343,18 @@ class JobStages(Model): } _attribute_map = { - 'stage_name': {'key': 'stageName', 'type': 'StageName'}, + 'stage_name': {'key': 'stageName', 'type': 'str'}, 'display_name': {'key': 'displayName', 'type': 'str'}, - 'stage_status': {'key': 'stageStatus', 'type': 'StageStatus'}, + 'stage_status': {'key': 'stageStatus', 'type': 'str'}, 'stage_time': {'key': 'stageTime', 'type': 'iso-8601'}, 'job_stage_details': {'key': 'jobStageDetails', 'type': 'object'}, 'error_details': {'key': 'errorDetails', 'type': '[JobErrorDetails]'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(JobStages, self).__init__(**kwargs) self.stage_name = None self.display_name = None @@ -2093,14 +2364,13 @@ def __init__(self, **kwargs) -> None: self.error_details = None -class NotificationPreference(Model): +class NotificationPreference(msrest.serialization.Model): """Notification preference for a job stage. All required parameters must be populated in order to send to Azure. - :param stage_name: Required. Name of the stage. Possible values include: - 'DevicePrepared', 'Dispatched', 'Delivered', 'PickedUp', 'AtAzureDC', - 'DataCopy' + :param stage_name: Required. Name of the stage. Possible values include: "DevicePrepared", + "Dispatched", "Delivered", "PickedUp", "AtAzureDC", "DataCopy". :type stage_name: str or ~azure.mgmt.databox.models.NotificationStageName :param send_notification: Required. Notification is required or not. :type send_notification: bool @@ -2112,30 +2382,35 @@ class NotificationPreference(Model): } _attribute_map = { - 'stage_name': {'key': 'stageName', 'type': 'NotificationStageName'}, + 'stage_name': {'key': 'stageName', 'type': 'str'}, 'send_notification': {'key': 'sendNotification', 'type': 'bool'}, } - def __init__(self, *, stage_name, send_notification: bool, **kwargs) -> None: + def __init__( + self, + *, + stage_name: Union[str, "NotificationStageName"], + send_notification: bool, + **kwargs + ): super(NotificationPreference, self).__init__(**kwargs) self.stage_name = stage_name self.send_notification = send_notification -class Operation(Model): +class Operation(msrest.serialization.Model): """Operation entity. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar name: Name of the operation. Format: - {resourceProviderNamespace}/{resourceType}/{read|write|delete|action} + {resourceProviderNamespace}/{resourceType}/{read|write|delete|action}. :vartype name: str :ivar display: Operation display values. :vartype display: ~azure.mgmt.databox.models.OperationDisplay :ivar properties: Operation properties. :vartype properties: object - :ivar origin: Origin of the operation. Can be : user|system|user,system + :ivar origin: Origin of the operation. Can be : user|system|user,system. :vartype origin: str """ @@ -2153,7 +2428,10 @@ class Operation(Model): 'origin': {'key': 'origin', 'type': 'str'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(Operation, self).__init__(**kwargs) self.name = None self.display = None @@ -2161,7 +2439,7 @@ def __init__(self, **kwargs) -> None: self.origin = None -class OperationDisplay(Model): +class OperationDisplay(msrest.serialization.Model): """Operation display. :param provider: Provider name. @@ -2170,8 +2448,7 @@ class OperationDisplay(Model): :type resource: str :param operation: Localized name of the operation for display purpose. :type operation: str - :param description: Localized description of the operation for display - purpose. + :param description: Localized description of the operation for display purpose. :type description: str """ @@ -2182,7 +2459,15 @@ class OperationDisplay(Model): 'description': {'key': 'description', 'type': 'str'}, } - def __init__(self, *, provider: str=None, resource: str=None, operation: str=None, description: str=None, **kwargs) -> None: + def __init__( + self, + *, + provider: Optional[str] = None, + resource: Optional[str] = None, + operation: Optional[str] = None, + description: Optional[str] = None, + **kwargs + ): super(OperationDisplay, self).__init__(**kwargs) self.provider = provider self.resource = resource @@ -2190,11 +2475,41 @@ def __init__(self, *, provider: str=None, resource: str=None, operation: str=Non self.description = description -class PackageShippingDetails(Model): +class OperationList(msrest.serialization.Model): + """Operation Collection. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar value: List of operations. + :vartype value: list[~azure.mgmt.databox.models.Operation] + :param next_link: Link for the next set of operations. + :type next_link: str + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[Operation]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + next_link: Optional[str] = None, + **kwargs + ): + super(OperationList, self).__init__(**kwargs) + self.value = None + self.next_link = next_link + + +class PackageShippingDetails(msrest.serialization.Model): """Shipping details. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar carrier_name: Name of the carrier. :vartype carrier_name: str @@ -2216,22 +2531,23 @@ class PackageShippingDetails(Model): 'tracking_url': {'key': 'trackingUrl', 'type': 'str'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(PackageShippingDetails, self).__init__(**kwargs) self.carrier_name = None self.tracking_id = None self.tracking_url = None -class Preferences(Model): +class Preferences(msrest.serialization.Model): """Preferences related to the order. :param preferred_data_center_region: Preferred Data Center Region. :type preferred_data_center_region: list[str] - :param transport_preferences: Preferences related to the shipment - logistics of the sku. - :type transport_preferences: - ~azure.mgmt.databox.models.TransportPreferences + :param transport_preferences: Preferences related to the shipment logistics of the sku. + :type transport_preferences: ~azure.mgmt.databox.models.TransportPreferences """ _attribute_map = { @@ -2239,7 +2555,13 @@ class Preferences(Model): 'transport_preferences': {'key': 'transportPreferences', 'type': 'TransportPreferences'}, } - def __init__(self, *, preferred_data_center_region=None, transport_preferences=None, **kwargs) -> None: + def __init__( + self, + *, + preferred_data_center_region: Optional[List[str]] = None, + transport_preferences: Optional["TransportPreferences"] = None, + **kwargs + ): super(Preferences, self).__init__(**kwargs) self.preferred_data_center_region = preferred_data_center_region self.transport_preferences = transport_preferences @@ -2250,13 +2572,15 @@ class PreferencesValidationRequest(ValidationInputRequest): All required parameters must be populated in order to send to Azure. - :param validation_type: Required. Constant filled by server. - :type validation_type: str - :param preference: Preference requested with respect to transport type and - data center + :param validation_type: Required. Identifies the type of validation request.Constant filled by + server. Possible values include: "ValidateAddress", "ValidateDataDestinationDetails", + "ValidateSubscriptionIsAllowedToCreateJob", "ValidatePreferences", "ValidateCreateOrderLimit", + "ValidateSkuAvailability". + :type validation_type: str or ~azure.mgmt.databox.models.ValidationInputDiscriminator + :param preference: Preference requested with respect to transport type and data center. :type preference: ~azure.mgmt.databox.models.Preferences - :param device_type: Required. Device type to be used for the job. Possible - values include: 'DataBox', 'DataBoxDisk', 'DataBoxHeavy' + :param device_type: Required. Device type to be used for the job. Possible values include: + "DataBox", "DataBoxDisk", "DataBoxHeavy". :type device_type: str or ~azure.mgmt.databox.models.SkuName """ @@ -2268,62 +2592,71 @@ class PreferencesValidationRequest(ValidationInputRequest): _attribute_map = { 'validation_type': {'key': 'validationType', 'type': 'str'}, 'preference': {'key': 'preference', 'type': 'Preferences'}, - 'device_type': {'key': 'deviceType', 'type': 'SkuName'}, + 'device_type': {'key': 'deviceType', 'type': 'str'}, } - def __init__(self, *, device_type, preference=None, **kwargs) -> None: + def __init__( + self, + *, + device_type: Union[str, "SkuName"], + preference: Optional["Preferences"] = None, + **kwargs + ): super(PreferencesValidationRequest, self).__init__(**kwargs) + self.validation_type = 'ValidatePreferences' # type: str self.preference = preference self.device_type = device_type - self.validation_type = 'ValidatePreferences' class PreferencesValidationResponseProperties(ValidationInputResponse): """Properties of data center and transport preference validation response. - Variables are only populated by the server, and will be ignored when - sending a request. + 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 validation_type: Required. Identifies the type of validation response.Constant filled by + server. Possible values include: "ValidateAddress", "ValidateDataDestinationDetails", + "ValidateSubscriptionIsAllowedToCreateJob", "ValidatePreferences", "ValidateCreateOrderLimit", + "ValidateSkuAvailability". + :type validation_type: str or ~azure.mgmt.databox.models.ValidationInputDiscriminator :ivar error: Error code and message of validation response. :vartype error: ~azure.mgmt.databox.models.Error - :param validation_type: Required. Constant filled by server. - :type validation_type: str - :ivar status: Validation status of requested data center and transport. - Possible values include: 'Valid', 'Invalid', 'Skipped' + :ivar status: Validation status of requested data center and transport. Possible values + include: "Valid", "Invalid", "Skipped". :vartype status: str or ~azure.mgmt.databox.models.ValidationStatus """ _validation = { - 'error': {'readonly': True}, 'validation_type': {'required': True}, + 'error': {'readonly': True}, 'status': {'readonly': True}, } _attribute_map = { - 'error': {'key': 'error', 'type': 'Error'}, 'validation_type': {'key': 'validationType', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'ValidationStatus'}, + 'error': {'key': 'error', 'type': 'Error'}, + 'status': {'key': 'status', 'type': 'str'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(PreferencesValidationResponseProperties, self).__init__(**kwargs) + self.validation_type = 'ValidatePreferences' # type: str self.status = None - self.validation_type = 'ValidatePreferences' -class RegionConfigurationRequest(Model): +class RegionConfigurationRequest(msrest.serialization.Model): """Request body to get the configuration for the region. - :param schedule_availability_request: Request body to get the availability - for scheduling orders. - :type schedule_availability_request: - ~azure.mgmt.databox.models.ScheduleAvailabilityRequest - :param transport_availability_request: Request body to get the transport - availability for given sku. - :type transport_availability_request: - ~azure.mgmt.databox.models.TransportAvailabilityRequest + :param schedule_availability_request: Request body to get the availability for scheduling + orders. + :type schedule_availability_request: ~azure.mgmt.databox.models.ScheduleAvailabilityRequest + :param transport_availability_request: Request body to get the transport availability for given + sku. + :type transport_availability_request: ~azure.mgmt.databox.models.TransportAvailabilityRequest """ _attribute_map = { @@ -2331,24 +2664,27 @@ class RegionConfigurationRequest(Model): 'transport_availability_request': {'key': 'transportAvailabilityRequest', 'type': 'TransportAvailabilityRequest'}, } - def __init__(self, *, schedule_availability_request=None, transport_availability_request=None, **kwargs) -> None: + def __init__( + self, + *, + schedule_availability_request: Optional["ScheduleAvailabilityRequest"] = None, + transport_availability_request: Optional["TransportAvailabilityRequest"] = None, + **kwargs + ): super(RegionConfigurationRequest, self).__init__(**kwargs) self.schedule_availability_request = schedule_availability_request self.transport_availability_request = transport_availability_request -class RegionConfigurationResponse(Model): +class RegionConfigurationResponse(msrest.serialization.Model): """Configuration response specific to a region. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. - :ivar schedule_availability_response: Schedule availability for given sku - in a region. + :ivar schedule_availability_response: Schedule availability for given sku in a region. :vartype schedule_availability_response: ~azure.mgmt.databox.models.ScheduleAvailabilityResponse - :ivar transport_availability_response: Transport options available for - given sku in a region. + :ivar transport_availability_response: Transport options available for given sku in a region. :vartype transport_availability_response: ~azure.mgmt.databox.models.TransportAvailabilityResponse """ @@ -2363,20 +2699,22 @@ class RegionConfigurationResponse(Model): 'transport_availability_response': {'key': 'transportAvailabilityResponse', 'type': 'TransportAvailabilityResponse'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(RegionConfigurationResponse, self).__init__(**kwargs) self.schedule_availability_response = None self.transport_availability_response = None -class ScheduleAvailabilityResponse(Model): +class ScheduleAvailabilityResponse(msrest.serialization.Model): """Schedule availability response for given sku in a region. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. - :ivar available_dates: List of dates available to schedule - :vartype available_dates: list[datetime] + :ivar available_dates: List of dates available to schedule. + :vartype available_dates: list[~datetime.datetime] """ _validation = { @@ -2387,31 +2725,30 @@ class ScheduleAvailabilityResponse(Model): 'available_dates': {'key': 'availableDates', 'type': '[iso-8601]'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(ScheduleAvailabilityResponse, self).__init__(**kwargs) self.available_dates = None -class ShareCredentialDetails(Model): +class ShareCredentialDetails(msrest.serialization.Model): """Credential details of the shares in account. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar share_name: Name of the share. :vartype share_name: str - :ivar share_type: Type of the share. Possible values include: - 'UnknownType', 'HCS', 'BlockBlob', 'PageBlob', 'AzureFile', 'ManagedDisk' - :vartype share_type: str or - ~azure.mgmt.databox.models.ShareDestinationFormatType + :ivar share_type: Type of the share. Possible values include: "UnknownType", "HCS", + "BlockBlob", "PageBlob", "AzureFile", "ManagedDisk". + :vartype share_type: str or ~azure.mgmt.databox.models.ShareDestinationFormatType :ivar user_name: User name for the share. :vartype user_name: str :ivar password: Password for the share. :vartype password: str - :ivar supported_access_protocols: Access protocols supported on the - device. - :vartype supported_access_protocols: list[str or - ~azure.mgmt.databox.models.AccessProtocol] + :ivar supported_access_protocols: Access protocols supported on the device. + :vartype supported_access_protocols: list[str or ~azure.mgmt.databox.models.AccessProtocol] """ _validation = { @@ -2424,13 +2761,16 @@ class ShareCredentialDetails(Model): _attribute_map = { 'share_name': {'key': 'shareName', 'type': 'str'}, - 'share_type': {'key': 'shareType', 'type': 'ShareDestinationFormatType'}, + 'share_type': {'key': 'shareType', 'type': 'str'}, 'user_name': {'key': 'userName', 'type': 'str'}, 'password': {'key': 'password', 'type': 'str'}, - 'supported_access_protocols': {'key': 'supportedAccessProtocols', 'type': '[AccessProtocol]'}, + 'supported_access_protocols': {'key': 'supportedAccessProtocols', 'type': '[str]'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(ShareCredentialDetails, self).__init__(**kwargs) self.share_name = None self.share_type = None @@ -2439,19 +2779,18 @@ def __init__(self, **kwargs) -> None: self.supported_access_protocols = None -class ShipmentPickUpRequest(Model): +class ShipmentPickUpRequest(msrest.serialization.Model): """Shipment pick up request details. All required parameters must be populated in order to send to Azure. - :param start_time: Required. Minimum date after which the pick up should - commence, this must be in local time of pick up area. - :type start_time: datetime - :param end_time: Required. Maximum date before which the pick up should - commence, this must be in local time of pick up area. - :type end_time: datetime - :param shipment_location: Required. Shipment Location in the pickup place. - Eg.front desk + :param start_time: Required. Minimum date after which the pick up should commence, this must be + in local time of pick up area. + :type start_time: ~datetime.datetime + :param end_time: Required. Maximum date before which the pick up should commence, this must be + in local time of pick up area. + :type end_time: ~datetime.datetime + :param shipment_location: Required. Shipment Location in the pickup place. Eg.front desk. :type shipment_location: str """ @@ -2467,24 +2806,30 @@ class ShipmentPickUpRequest(Model): 'shipment_location': {'key': 'shipmentLocation', 'type': 'str'}, } - def __init__(self, *, start_time, end_time, shipment_location: str, **kwargs) -> None: + def __init__( + self, + *, + start_time: datetime.datetime, + end_time: datetime.datetime, + shipment_location: str, + **kwargs + ): super(ShipmentPickUpRequest, self).__init__(**kwargs) self.start_time = start_time self.end_time = end_time self.shipment_location = shipment_location -class ShipmentPickUpResponse(Model): +class ShipmentPickUpResponse(msrest.serialization.Model): """Shipment pick up response. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar confirmation_number: Confirmation number for the pick up request. :vartype confirmation_number: str - :ivar ready_by_time: Time by which shipment should be ready for pick up, - this is in local time of pick up area. - :vartype ready_by_time: datetime + :ivar ready_by_time: Time by which shipment should be ready for pick up, this is in local time + of pick up area. + :vartype ready_by_time: ~datetime.datetime """ _validation = { @@ -2497,13 +2842,16 @@ class ShipmentPickUpResponse(Model): 'ready_by_time': {'key': 'readyByTime', 'type': 'iso-8601'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(ShipmentPickUpResponse, self).__init__(**kwargs) self.confirmation_number = None self.ready_by_time = None -class ShippingAddress(Model): +class ShippingAddress(msrest.serialization.Model): """Shipping address where customer wishes to receive the device. All required parameters must be populated in order to send to Azure. @@ -2526,8 +2874,8 @@ class ShippingAddress(Model): :type zip_extended_code: str :param company_name: Name of the company. :type company_name: str - :param address_type: Type of address. Possible values include: 'None', - 'Residential', 'Commercial' + :param address_type: Type of address. Possible values include: "None", "Residential", + "Commercial". :type address_type: str or ~azure.mgmt.databox.models.AddressType """ @@ -2547,10 +2895,24 @@ class ShippingAddress(Model): 'postal_code': {'key': 'postalCode', 'type': 'str'}, 'zip_extended_code': {'key': 'zipExtendedCode', 'type': 'str'}, 'company_name': {'key': 'companyName', 'type': 'str'}, - 'address_type': {'key': 'addressType', 'type': 'AddressType'}, - } - - def __init__(self, *, street_address1: str, country: str, postal_code: str, street_address2: str=None, street_address3: str=None, city: str=None, state_or_province: str=None, zip_extended_code: str=None, company_name: str=None, address_type=None, **kwargs) -> None: + 'address_type': {'key': 'addressType', 'type': 'str'}, + } + + def __init__( + self, + *, + street_address1: str, + country: str, + postal_code: str, + street_address2: Optional[str] = None, + street_address3: Optional[str] = None, + city: Optional[str] = None, + state_or_province: Optional[str] = None, + zip_extended_code: Optional[str] = None, + company_name: Optional[str] = None, + address_type: Optional[Union[str, "AddressType"]] = None, + **kwargs + ): super(ShippingAddress, self).__init__(**kwargs) self.street_address1 = street_address1 self.street_address2 = street_address2 @@ -2564,13 +2926,13 @@ def __init__(self, *, street_address1: str, country: str, postal_code: str, stre self.address_type = address_type -class Sku(Model): +class Sku(msrest.serialization.Model): """The Sku. All required parameters must be populated in order to send to Azure. - :param name: Required. The sku name. Possible values include: 'DataBox', - 'DataBoxDisk', 'DataBoxHeavy' + :param name: Required. The sku name. Possible values include: "DataBox", "DataBoxDisk", + "DataBoxHeavy". :type name: str or ~azure.mgmt.databox.models.SkuName :param display_name: The display name of the sku. :type display_name: str @@ -2583,12 +2945,19 @@ class Sku(Model): } _attribute_map = { - 'name': {'key': 'name', 'type': 'SkuName'}, + 'name': {'key': 'name', 'type': 'str'}, 'display_name': {'key': 'displayName', 'type': 'str'}, 'family': {'key': 'family', 'type': 'str'}, } - def __init__(self, *, name, display_name: str=None, family: str=None, **kwargs) -> None: + def __init__( + self, + *, + name: Union[str, "SkuName"], + display_name: Optional[str] = None, + family: Optional[str] = None, + **kwargs + ): super(Sku, self).__init__(**kwargs) self.name = name self.display_name = display_name @@ -2598,26 +2967,25 @@ def __init__(self, *, name, display_name: str=None, family: str=None, **kwargs) class SkuAvailabilityValidationRequest(ValidationInputRequest): """Request to validate sku availability. - Variables are only populated by the server, and will be ignored when - sending a request. + 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 validation_type: Required. Constant filled by server. - :type validation_type: str - :param device_type: Required. Device type to be used for the job. Possible - values include: 'DataBox', 'DataBoxDisk', 'DataBoxHeavy' + :param validation_type: Required. Identifies the type of validation request.Constant filled by + server. Possible values include: "ValidateAddress", "ValidateDataDestinationDetails", + "ValidateSubscriptionIsAllowedToCreateJob", "ValidatePreferences", "ValidateCreateOrderLimit", + "ValidateSkuAvailability". + :type validation_type: str or ~azure.mgmt.databox.models.ValidationInputDiscriminator + :param device_type: Required. Device type to be used for the job. Possible values include: + "DataBox", "DataBoxDisk", "DataBoxHeavy". :type device_type: str or ~azure.mgmt.databox.models.SkuName - :ivar transfer_type: Required. Type of the transfer. Default value: - "ImportToAzure" . + :ivar transfer_type: Required. Type of the transfer. Default value: "ImportToAzure". :vartype transfer_type: str - :param country: Required. ISO country code. Country for hardware shipment. - For codes check: - https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements + :param country: Required. ISO country code. Country for hardware shipment. For codes check: + https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements. :type country: str - :param location: Required. Location for data transfer. For locations - check: - https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01 + :param location: Required. Location for data transfer. For locations check: + https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01. :type location: str """ @@ -2631,7 +2999,7 @@ class SkuAvailabilityValidationRequest(ValidationInputRequest): _attribute_map = { 'validation_type': {'key': 'validationType', 'type': 'str'}, - 'device_type': {'key': 'deviceType', 'type': 'SkuName'}, + 'device_type': {'key': 'deviceType', 'type': 'str'}, 'transfer_type': {'key': 'transferType', 'type': 'str'}, 'country': {'key': 'country', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, @@ -2639,54 +3007,65 @@ class SkuAvailabilityValidationRequest(ValidationInputRequest): transfer_type = "ImportToAzure" - def __init__(self, *, device_type, country: str, location: str, **kwargs) -> None: + def __init__( + self, + *, + device_type: Union[str, "SkuName"], + country: str, + location: str, + **kwargs + ): super(SkuAvailabilityValidationRequest, self).__init__(**kwargs) + self.validation_type = 'ValidateSkuAvailability' # type: str self.device_type = device_type self.country = country self.location = location - self.validation_type = 'ValidateSkuAvailability' class SkuAvailabilityValidationResponseProperties(ValidationInputResponse): """Properties of sku availability validation response. - Variables are only populated by the server, and will be ignored when - sending a request. + 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 validation_type: Required. Identifies the type of validation response.Constant filled by + server. Possible values include: "ValidateAddress", "ValidateDataDestinationDetails", + "ValidateSubscriptionIsAllowedToCreateJob", "ValidatePreferences", "ValidateCreateOrderLimit", + "ValidateSkuAvailability". + :type validation_type: str or ~azure.mgmt.databox.models.ValidationInputDiscriminator :ivar error: Error code and message of validation response. :vartype error: ~azure.mgmt.databox.models.Error - :param validation_type: Required. Constant filled by server. - :type validation_type: str - :ivar status: Sku availability validation status. Possible values include: - 'Valid', 'Invalid', 'Skipped' + :ivar status: Sku availability validation status. Possible values include: "Valid", "Invalid", + "Skipped". :vartype status: str or ~azure.mgmt.databox.models.ValidationStatus """ _validation = { - 'error': {'readonly': True}, 'validation_type': {'required': True}, + 'error': {'readonly': True}, 'status': {'readonly': True}, } _attribute_map = { - 'error': {'key': 'error', 'type': 'Error'}, 'validation_type': {'key': 'validationType', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'ValidationStatus'}, + 'error': {'key': 'error', 'type': 'Error'}, + 'status': {'key': 'status', 'type': 'str'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(SkuAvailabilityValidationResponseProperties, self).__init__(**kwargs) + self.validation_type = 'ValidateSkuAvailability' # type: str self.status = None - self.validation_type = 'ValidateSkuAvailability' -class SkuCapacity(Model): +class SkuCapacity(msrest.serialization.Model): """Capacity of the sku. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar usable: Usable capacity in TB. :vartype usable: str @@ -2704,17 +3083,19 @@ class SkuCapacity(Model): 'maximum': {'key': 'maximum', 'type': 'str'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(SkuCapacity, self).__init__(**kwargs) self.usable = None self.maximum = None -class SkuCost(Model): +class SkuCost(msrest.serialization.Model): """Describes metadata for retrieving price info. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar meter_id: Meter id of the Sku. :vartype meter_id: str @@ -2732,24 +3113,25 @@ class SkuCost(Model): 'meter_type': {'key': 'meterType', 'type': 'str'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(SkuCost, self).__init__(**kwargs) self.meter_id = None self.meter_type = None -class SkuInformation(Model): +class SkuInformation(msrest.serialization.Model): """Information of the sku. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar sku: The Sku. :vartype sku: ~azure.mgmt.databox.models.Sku :ivar enabled: The sku is enabled or not. :vartype enabled: bool - :ivar destination_to_service_location_map: The map of destination location - to service location. + :ivar destination_to_service_location_map: The map of destination location to service location. :vartype destination_to_service_location_map: list[~azure.mgmt.databox.models.DestinationToServiceLocationMap] :ivar capacity: Capacity of the Sku. @@ -2758,11 +3140,9 @@ class SkuInformation(Model): :vartype costs: list[~azure.mgmt.databox.models.SkuCost] :ivar api_versions: Api versions that support this Sku. :vartype api_versions: list[str] - :ivar disabled_reason: Reason why the Sku is disabled. Possible values - include: 'None', 'Country', 'Region', 'Feature', 'OfferType', - 'NoSubscriptionInfo' - :vartype disabled_reason: str or - ~azure.mgmt.databox.models.SkuDisabledReason + :ivar disabled_reason: Reason why the Sku is disabled. Possible values include: "None", + "Country", "Region", "Feature", "OfferType", "NoSubscriptionInfo". + :vartype disabled_reason: str or ~azure.mgmt.databox.models.SkuDisabledReason :ivar disabled_reason_message: Message for why the Sku is disabled. :vartype disabled_reason_message: str :ivar required_feature: Required feature to access the sku. @@ -2788,12 +3168,15 @@ class SkuInformation(Model): 'capacity': {'key': 'properties.capacity', 'type': 'SkuCapacity'}, 'costs': {'key': 'properties.costs', 'type': '[SkuCost]'}, 'api_versions': {'key': 'properties.apiVersions', 'type': '[str]'}, - 'disabled_reason': {'key': 'properties.disabledReason', 'type': 'SkuDisabledReason'}, + 'disabled_reason': {'key': 'properties.disabledReason', 'type': 'str'}, 'disabled_reason_message': {'key': 'properties.disabledReasonMessage', 'type': 'str'}, 'required_feature': {'key': 'properties.requiredFeature', 'type': 'str'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(SkuInformation, self).__init__(**kwargs) self.sku = None self.enabled = None @@ -2811,8 +3194,11 @@ class SubscriptionIsAllowedToCreateJobValidationRequest(ValidationInputRequest): All required parameters must be populated in order to send to Azure. - :param validation_type: Required. Constant filled by server. - :type validation_type: str + :param validation_type: Required. Identifies the type of validation request.Constant filled by + server. Possible values include: "ValidateAddress", "ValidateDataDestinationDetails", + "ValidateSubscriptionIsAllowedToCreateJob", "ValidatePreferences", "ValidateCreateOrderLimit", + "ValidateSkuAvailability". + :type validation_type: str or ~azure.mgmt.databox.models.ValidationInputDiscriminator """ _validation = { @@ -2823,56 +3209,62 @@ class SubscriptionIsAllowedToCreateJobValidationRequest(ValidationInputRequest): 'validation_type': {'key': 'validationType', 'type': 'str'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(SubscriptionIsAllowedToCreateJobValidationRequest, self).__init__(**kwargs) - self.validation_type = 'ValidateSubscriptionIsAllowedToCreateJob' + self.validation_type = 'ValidateSubscriptionIsAllowedToCreateJob' # type: str class SubscriptionIsAllowedToCreateJobValidationResponseProperties(ValidationInputResponse): """Properties of subscription permission to create job validation response. - Variables are only populated by the server, and will be ignored when - sending a request. + 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 validation_type: Required. Identifies the type of validation response.Constant filled by + server. Possible values include: "ValidateAddress", "ValidateDataDestinationDetails", + "ValidateSubscriptionIsAllowedToCreateJob", "ValidatePreferences", "ValidateCreateOrderLimit", + "ValidateSkuAvailability". + :type validation_type: str or ~azure.mgmt.databox.models.ValidationInputDiscriminator :ivar error: Error code and message of validation response. :vartype error: ~azure.mgmt.databox.models.Error - :param validation_type: Required. Constant filled by server. - :type validation_type: str - :ivar status: Validation status of subscription permission to create job. - Possible values include: 'Valid', 'Invalid', 'Skipped' + :ivar status: Validation status of subscription permission to create job. Possible values + include: "Valid", "Invalid", "Skipped". :vartype status: str or ~azure.mgmt.databox.models.ValidationStatus """ _validation = { - 'error': {'readonly': True}, 'validation_type': {'required': True}, + 'error': {'readonly': True}, 'status': {'readonly': True}, } _attribute_map = { - 'error': {'key': 'error', 'type': 'Error'}, 'validation_type': {'key': 'validationType', 'type': 'str'}, - 'status': {'key': 'status', 'type': 'ValidationStatus'}, + 'error': {'key': 'error', 'type': 'Error'}, + 'status': {'key': 'status', 'type': 'str'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(SubscriptionIsAllowedToCreateJobValidationResponseProperties, self).__init__(**kwargs) + self.validation_type = 'ValidateSubscriptionIsAllowedToCreateJob' # type: str self.status = None - self.validation_type = 'ValidateSubscriptionIsAllowedToCreateJob' -class TransportAvailabilityDetails(Model): +class TransportAvailabilityDetails(msrest.serialization.Model): """Transport options availability details for given region. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. - :ivar shipment_type: Transport Shipment Type supported for given region. - Possible values include: 'CustomerManaged', 'MicrosoftManaged' - :vartype shipment_type: str or - ~azure.mgmt.databox.models.TransportShipmentTypes + :ivar shipment_type: Transport Shipment Type supported for given region. Possible values + include: "CustomerManaged", "MicrosoftManaged". + :vartype shipment_type: str or ~azure.mgmt.databox.models.TransportShipmentTypes """ _validation = { @@ -2880,39 +3272,45 @@ class TransportAvailabilityDetails(Model): } _attribute_map = { - 'shipment_type': {'key': 'shipmentType', 'type': 'TransportShipmentTypes'}, + 'shipment_type': {'key': 'shipmentType', 'type': 'str'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(TransportAvailabilityDetails, self).__init__(**kwargs) self.shipment_type = None -class TransportAvailabilityRequest(Model): +class TransportAvailabilityRequest(msrest.serialization.Model): """Request body to get the transport availability for given sku. - :param sku_name: Type of the device. Possible values include: 'DataBox', - 'DataBoxDisk', 'DataBoxHeavy' + :param sku_name: Type of the device. Possible values include: "DataBox", "DataBoxDisk", + "DataBoxHeavy". :type sku_name: str or ~azure.mgmt.databox.models.SkuName """ _attribute_map = { - 'sku_name': {'key': 'skuName', 'type': 'SkuName'}, + 'sku_name': {'key': 'skuName', 'type': 'str'}, } - def __init__(self, *, sku_name=None, **kwargs) -> None: + def __init__( + self, + *, + sku_name: Optional[Union[str, "SkuName"]] = None, + **kwargs + ): super(TransportAvailabilityRequest, self).__init__(**kwargs) self.sku_name = sku_name -class TransportAvailabilityResponse(Model): +class TransportAvailabilityResponse(msrest.serialization.Model): """Transport options available for given sku in a region. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. - :ivar transport_availability_details: List of transport availability - details for given region + :ivar transport_availability_details: List of transport availability details for given region. :vartype transport_availability_details: list[~azure.mgmt.databox.models.TransportAvailabilityDetails] """ @@ -2925,21 +3323,22 @@ class TransportAvailabilityResponse(Model): 'transport_availability_details': {'key': 'transportAvailabilityDetails', 'type': '[TransportAvailabilityDetails]'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(TransportAvailabilityResponse, self).__init__(**kwargs) self.transport_availability_details = None -class TransportPreferences(Model): +class TransportPreferences(msrest.serialization.Model): """Preferences related to the shipment logistics of the sku. All required parameters must be populated in order to send to Azure. - :param preferred_shipment_type: Required. Indicates Shipment Logistics - type that the customer preferred. Possible values include: - 'CustomerManaged', 'MicrosoftManaged' - :type preferred_shipment_type: str or - ~azure.mgmt.databox.models.TransportShipmentTypes + :param preferred_shipment_type: Required. Indicates Shipment Logistics type that the customer + preferred. Possible values include: "CustomerManaged", "MicrosoftManaged". + :type preferred_shipment_type: str or ~azure.mgmt.databox.models.TransportShipmentTypes """ _validation = { @@ -2947,19 +3346,23 @@ class TransportPreferences(Model): } _attribute_map = { - 'preferred_shipment_type': {'key': 'preferredShipmentType', 'type': 'TransportShipmentTypes'}, + 'preferred_shipment_type': {'key': 'preferredShipmentType', 'type': 'str'}, } - def __init__(self, *, preferred_shipment_type, **kwargs) -> None: + def __init__( + self, + *, + preferred_shipment_type: Union[str, "TransportShipmentTypes"], + **kwargs + ): super(TransportPreferences, self).__init__(**kwargs) self.preferred_shipment_type = preferred_shipment_type -class UnencryptedCredentials(Model): +class UnencryptedCredentials(msrest.serialization.Model): """Unencrypted credentials for accessing device. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar job_name: Name of the job. :vartype job_name: str @@ -2977,13 +3380,42 @@ class UnencryptedCredentials(Model): 'job_secrets': {'key': 'jobSecrets', 'type': 'JobSecrets'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(UnencryptedCredentials, self).__init__(**kwargs) self.job_name = None self.job_secrets = None -class UpdateJobDetails(Model): +class UnencryptedCredentialsList(msrest.serialization.Model): + """List of unencrypted credentials for accessing device. + + :param value: List of unencrypted credentials. + :type value: list[~azure.mgmt.databox.models.UnencryptedCredentials] + :param next_link: Link for the next set of unencrypted credentials. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[UnencryptedCredentials]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["UnencryptedCredentials"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(UnencryptedCredentialsList, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class UpdateJobDetails(msrest.serialization.Model): """Job details for update. :param contact_details: Contact details for notification and shipping. @@ -2997,29 +3429,35 @@ class UpdateJobDetails(Model): 'shipping_address': {'key': 'shippingAddress', 'type': 'ShippingAddress'}, } - def __init__(self, *, contact_details=None, shipping_address=None, **kwargs) -> None: + def __init__( + self, + *, + contact_details: Optional["ContactDetails"] = None, + shipping_address: Optional["ShippingAddress"] = None, + **kwargs + ): super(UpdateJobDetails, self).__init__(**kwargs) self.contact_details = contact_details self.shipping_address = shipping_address class ValidateAddress(ValidationInputRequest): - """The requirements to validate customer address where the device needs to be - shipped. + """The requirements to validate customer address where the device needs to be shipped. All required parameters must be populated in order to send to Azure. - :param validation_type: Required. Constant filled by server. - :type validation_type: str + :param validation_type: Required. Identifies the type of validation request.Constant filled by + server. Possible values include: "ValidateAddress", "ValidateDataDestinationDetails", + "ValidateSubscriptionIsAllowedToCreateJob", "ValidatePreferences", "ValidateCreateOrderLimit", + "ValidateSkuAvailability". + :type validation_type: str or ~azure.mgmt.databox.models.ValidationInputDiscriminator :param shipping_address: Required. Shipping address of the customer. :type shipping_address: ~azure.mgmt.databox.models.ShippingAddress - :param device_type: Required. Device type to be used for the job. Possible - values include: 'DataBox', 'DataBoxDisk', 'DataBoxHeavy' + :param device_type: Required. Device type to be used for the job. Possible values include: + "DataBox", "DataBoxDisk", "DataBoxHeavy". :type device_type: str or ~azure.mgmt.databox.models.SkuName - :param transport_preferences: Preferences related to the shipment - logistics of the sku. - :type transport_preferences: - ~azure.mgmt.databox.models.TransportPreferences + :param transport_preferences: Preferences related to the shipment logistics of the sku. + :type transport_preferences: ~azure.mgmt.databox.models.TransportPreferences """ _validation = { @@ -3031,32 +3469,36 @@ class ValidateAddress(ValidationInputRequest): _attribute_map = { 'validation_type': {'key': 'validationType', 'type': 'str'}, 'shipping_address': {'key': 'shippingAddress', 'type': 'ShippingAddress'}, - 'device_type': {'key': 'deviceType', 'type': 'SkuName'}, + 'device_type': {'key': 'deviceType', 'type': 'str'}, 'transport_preferences': {'key': 'transportPreferences', 'type': 'TransportPreferences'}, } - def __init__(self, *, shipping_address, device_type, transport_preferences=None, **kwargs) -> None: + def __init__( + self, + *, + shipping_address: "ShippingAddress", + device_type: Union[str, "SkuName"], + transport_preferences: Optional["TransportPreferences"] = None, + **kwargs + ): super(ValidateAddress, self).__init__(**kwargs) + self.validation_type = 'ValidateAddress' # type: str self.shipping_address = shipping_address self.device_type = device_type self.transport_preferences = transport_preferences - self.validation_type = 'ValidateAddress' -class ValidationResponse(Model): +class ValidationResponse(msrest.serialization.Model): """Response of pre job creation validations. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. - :ivar status: Overall validation status. Possible values include: - 'AllValidToProceed', 'InputsRevisitRequired', - 'CertainInputValidationsSkipped' + :ivar status: Overall validation status. Possible values include: "AllValidToProceed", + "InputsRevisitRequired", "CertainInputValidationsSkipped". :vartype status: str or ~azure.mgmt.databox.models.OverallValidationStatus - :ivar individual_response_details: List of response details contain - validationType and its response as key and value respectively. - :vartype individual_response_details: - list[~azure.mgmt.databox.models.ValidationInputResponse] + :ivar individual_response_details: List of response details contain validationType and its + response as key and value respectively. + :vartype individual_response_details: list[~azure.mgmt.databox.models.ValidationInputResponse] """ _validation = { @@ -3065,11 +3507,14 @@ class ValidationResponse(Model): } _attribute_map = { - 'status': {'key': 'properties.status', 'type': 'OverallValidationStatus'}, + 'status': {'key': 'properties.status', 'type': 'str'}, 'individual_response_details': {'key': 'properties.individualResponseDetails', 'type': '[ValidationInputResponse]'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(ValidationResponse, self).__init__(**kwargs) self.status = None self.individual_response_details = None diff --git a/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/operations/__init__.py b/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/operations/__init__.py new file mode 100644 index 00000000000..9c8fa7a8253 --- /dev/null +++ b/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/operations/__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 ._operations import Operations +from ._jobs_operations import JobsOperations +from ._service_operations import ServiceOperations + +__all__ = [ + 'Operations', + 'JobsOperations', + 'ServiceOperations', +] diff --git a/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/operations/_jobs_operations.py b/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/operations/_jobs_operations.py new file mode 100644 index 00000000000..e984b83e43a --- /dev/null +++ b/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/operations/_jobs_operations.py @@ -0,0 +1,851 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling + +from .. import models as _models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class JobsOperations(object): + """JobsOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.databox.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + skip_token=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.JobResourceList"] + """Lists all the jobs available under the subscription. + + :param skip_token: $skipToken is supported on Get list of jobs, which provides the next page in + the list of jobs. + :type skip_token: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either JobResourceList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.databox.models.JobResourceList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.JobResourceList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-09-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + 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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if skip_token is not None: + query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('JobResourceList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/jobs'} # type: ignore + + def list_by_resource_group( + self, + resource_group_name, # type: str + skip_token=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.JobResourceList"] + """Lists all the jobs available under the given resource group. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param skip_token: $skipToken is supported on Get list of jobs, which provides the next page in + the list of jobs. + :type skip_token: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either JobResourceList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.databox.models.JobResourceList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.JobResourceList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-09-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if skip_token is not None: + query_parameters['$skipToken'] = self._serialize.query("skip_token", skip_token, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('JobResourceList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs'} # type: ignore + + def get( + self, + resource_group_name, # type: str + job_name, # type: str + expand=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "_models.JobResource" + """Gets information about the specified job. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param job_name: The name of the job Resource within the specified resource group. job names + must be between 3 and 24 characters in length and use any alphanumeric and underscore only. + :type job_name: str + :param expand: $expand is supported on details parameter for job, which provides details on the + job stages. + :type expand: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: JobResource, or the result of cls(response) + :rtype: ~azure.mgmt.databox.models.JobResource + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.JobResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-09-01" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'jobName': self._serialize.url("job_name", job_name, 'str', max_length=24, min_length=3, pattern=r'^[-\w\.]+$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('JobResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}'} # type: ignore + + def _create_initial( + self, + resource_group_name, # type: str + job_name, # type: str + job_resource, # type: "_models.JobResource" + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.JobResource"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.JobResource"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-09-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'jobName': self._serialize.url("job_name", job_name, 'str', max_length=24, min_length=3, pattern=r'^[-\w\.]+$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(job_resource, 'JobResource') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('JobResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}'} # type: ignore + + def begin_create( + self, + resource_group_name, # type: str + job_name, # type: str + job_resource, # type: "_models.JobResource" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.JobResource"] + """Creates a new job with the specified parameters. Existing job cannot be updated with this API + and should instead be updated with the Update job API. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param job_name: The name of the job Resource within the specified resource group. job names + must be between 3 and 24 characters in length and use any alphanumeric and underscore only. + :type job_name: str + :param job_resource: Job details from request body. + :type job_resource: ~azure.mgmt.databox.models.JobResource + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either JobResource or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.databox.models.JobResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.JobResource"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._create_initial( + resource_group_name=resource_group_name, + job_name=job_name, + job_resource=job_resource, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('JobResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'jobName': self._serialize.url("job_name", job_name, 'str', max_length=24, min_length=3, pattern=r'^[-\w\.]+$'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}'} # type: ignore + + def _delete_initial( + self, + resource_group_name, # type: str + job_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-09-01" + accept = "application/json" + + # Construct URL + url = self._delete_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'jobName': self._serialize.url("job_name", job_name, 'str', max_length=24, min_length=3, pattern=r'^[-\w\.]+$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}'} # type: ignore + + def begin_delete( + self, + resource_group_name, # type: str + job_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """Deletes a job. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param job_name: The name of the job Resource within the specified resource group. job names + must be between 3 and 24 characters in length and use any alphanumeric and underscore only. + :type job_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + job_name=job_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'jobName': self._serialize.url("job_name", job_name, 'str', max_length=24, min_length=3, pattern=r'^[-\w\.]+$'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}'} # type: ignore + + def _update_initial( + self, + resource_group_name, # type: str + job_name, # type: str + job_resource_update_parameter, # type: "_models.JobResourceUpdateParameter" + if_match=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.JobResource"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.JobResource"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-09-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._update_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'jobName': self._serialize.url("job_name", job_name, 'str', max_length=24, min_length=3, pattern=r'^[-\w\.]+$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(job_resource_update_parameter, 'JobResourceUpdateParameter') + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('JobResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}'} # type: ignore + + def begin_update( + self, + resource_group_name, # type: str + job_name, # type: str + job_resource_update_parameter, # type: "_models.JobResourceUpdateParameter" + if_match=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.JobResource"] + """Updates the properties of an existing job. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param job_name: The name of the job Resource within the specified resource group. job names + must be between 3 and 24 characters in length and use any alphanumeric and underscore only. + :type job_name: str + :param job_resource_update_parameter: Job update parameters from request body. + :type job_resource_update_parameter: ~azure.mgmt.databox.models.JobResourceUpdateParameter + :param if_match: Defines the If-Match condition. The patch will be performed only if the ETag + of the job on the server matches this value. + :type if_match: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either JobResource or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.databox.models.JobResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.JobResource"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._update_initial( + resource_group_name=resource_group_name, + job_name=job_name, + job_resource_update_parameter=job_resource_update_parameter, + if_match=if_match, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('JobResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'jobName': self._serialize.url("job_name", job_name, 'str', max_length=24, min_length=3, pattern=r'^[-\w\.]+$'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}'} # type: ignore + + def book_shipment_pick_up( + self, + resource_group_name, # type: str + job_name, # type: str + shipment_pick_up_request, # type: "_models.ShipmentPickUpRequest" + **kwargs # type: Any + ): + # type: (...) -> "_models.ShipmentPickUpResponse" + """Book shipment pick up. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param job_name: The name of the job Resource within the specified resource group. job names + must be between 3 and 24 characters in length and use any alphanumeric and underscore only. + :type job_name: str + :param shipment_pick_up_request: Details of shipment pick up request. + :type shipment_pick_up_request: ~azure.mgmt.databox.models.ShipmentPickUpRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ShipmentPickUpResponse, or the result of cls(response) + :rtype: ~azure.mgmt.databox.models.ShipmentPickUpResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ShipmentPickUpResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-09-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.book_shipment_pick_up.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'jobName': self._serialize.url("job_name", job_name, 'str', max_length=24, min_length=3, pattern=r'^[-\w\.]+$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(shipment_pick_up_request, 'ShipmentPickUpRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ShipmentPickUpResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + book_shipment_pick_up.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/bookShipmentPickUp'} # type: ignore + + def cancel( + self, + resource_group_name, # type: str + job_name, # type: str + cancellation_reason, # type: "_models.CancellationReason" + **kwargs # type: Any + ): + # type: (...) -> None + """CancelJob. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param job_name: The name of the job Resource within the specified resource group. job names + must be between 3 and 24 characters in length and use any alphanumeric and underscore only. + :type job_name: str + :param cancellation_reason: Reason for cancellation. + :type cancellation_reason: ~azure.mgmt.databox.models.CancellationReason + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-09-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.cancel.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'jobName': self._serialize.url("job_name", job_name, 'str', max_length=24, min_length=3, pattern=r'^[-\w\.]+$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(cancellation_reason, 'CancellationReason') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + cancel.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/cancel'} # type: ignore + + def list_credentials( + self, + resource_group_name, # type: str + job_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.UnencryptedCredentialsList"] + """This method gets the unencrypted secrets related to the job. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param job_name: The name of the job Resource within the specified resource group. job names + must be between 3 and 24 characters in length and use any alphanumeric and underscore only. + :type job_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either UnencryptedCredentialsList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.databox.models.UnencryptedCredentialsList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.UnencryptedCredentialsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-09-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_credentials.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'jobName': self._serialize.url("job_name", job_name, 'str', max_length=24, min_length=3, pattern=r'^[-\w\.]+$'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('UnencryptedCredentialsList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/listCredentials'} # type: ignore diff --git a/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/operations/_operations.py b/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/operations/_operations.py new file mode 100644 index 00000000000..cc8b3483362 --- /dev/null +++ b/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/operations/_operations.py @@ -0,0 +1,109 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models as _models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class Operations(object): + """Operations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.databox.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.OperationList"] + """This method gets all the operations. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either OperationList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.databox.models.OperationList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-09-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('OperationList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.DataBox/operations'} # type: ignore diff --git a/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/operations/_service_operations.py b/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/operations/_service_operations.py new file mode 100644 index 00000000000..f8cf7bdbaa3 --- /dev/null +++ b/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/operations/_service_operations.py @@ -0,0 +1,472 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models as _models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class ServiceOperations(object): + """ServiceOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.databox.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_available_skus( + self, + location, # type: str + available_sku_request, # type: "_models.AvailableSkuRequest" + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.AvailableSkusResult"] + """This method provides the list of available skus for the given subscription and location. + + :param location: The location of the resource. + :type location: str + :param available_sku_request: Filters for showing the available skus. + :type available_sku_request: ~azure.mgmt.databox.models.AvailableSkuRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either AvailableSkusResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.databox.models.AvailableSkusResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.AvailableSkusResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-09-01" + content_type = "application/json" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_available_skus.metadata['url'] # type: ignore + 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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(available_sku_request, 'AvailableSkuRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(available_sku_request, 'AvailableSkuRequest') + body_content_kwargs['content'] = body_content + request = self._client.get(url, query_parameters, header_parameters, **body_content_kwargs) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('AvailableSkusResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_available_skus.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/availableSkus'} # type: ignore + + def list_available_skus_by_resource_group( + self, + resource_group_name, # type: str + location, # type: str + available_sku_request, # type: "_models.AvailableSkuRequest" + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.AvailableSkusResult"] + """This method provides the list of available skus for the given subscription, resource group and + location. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param location: The location of the resource. + :type location: str + :param available_sku_request: Filters for showing the available skus. + :type available_sku_request: ~azure.mgmt.databox.models.AvailableSkuRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either AvailableSkusResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.databox.models.AvailableSkusResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.AvailableSkusResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-09-01" + content_type = "application/json" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_available_skus_by_resource_group.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'location': self._serialize.url("location", location, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(available_sku_request, 'AvailableSkuRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(available_sku_request, 'AvailableSkuRequest') + body_content_kwargs['content'] = body_content + request = self._client.get(url, query_parameters, header_parameters, **body_content_kwargs) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('AvailableSkusResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_available_skus_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/locations/{location}/availableSkus'} # type: ignore + + def validate_address( + self, + location, # type: str + validate_address, # type: "_models.ValidateAddress" + **kwargs # type: Any + ): + # type: (...) -> "_models.AddressValidationOutput" + """[DEPRECATED NOTICE: This operation will soon be removed] This method validates the customer + shipping address and provide alternate addresses if any. + + :param location: The location of the resource. + :type location: str + :param validate_address: Shipping address of the customer. + :type validate_address: ~azure.mgmt.databox.models.ValidateAddress + :keyword callable cls: A custom type or function that will be passed the direct response + :return: AddressValidationOutput, or the result of cls(response) + :rtype: ~azure.mgmt.databox.models.AddressValidationOutput + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.AddressValidationOutput"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-09-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.validate_address.metadata['url'] # type: ignore + 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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(validate_address, 'ValidateAddress') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('AddressValidationOutput', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + validate_address.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/validateAddress'} # type: ignore + + def validate_inputs_by_resource_group( + self, + resource_group_name, # type: str + location, # type: str + validation_request, # type: "_models.ValidationRequest" + **kwargs # type: Any + ): + # type: (...) -> "_models.ValidationResponse" + """This method does all necessary pre-job creation validation under resource group. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param location: The location of the resource. + :type location: str + :param validation_request: Inputs of the customer. + :type validation_request: ~azure.mgmt.databox.models.ValidationRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ValidationResponse, or the result of cls(response) + :rtype: ~azure.mgmt.databox.models.ValidationResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ValidationResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-09-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.validate_inputs_by_resource_group.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'location': self._serialize.url("location", location, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(validation_request, 'ValidationRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ValidationResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + validate_inputs_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/locations/{location}/validateInputs'} # type: ignore + + def validate_inputs( + self, + location, # type: str + validation_request, # type: "_models.ValidationRequest" + **kwargs # type: Any + ): + # type: (...) -> "_models.ValidationResponse" + """This method does all necessary pre-job creation validation under subscription. + + :param location: The location of the resource. + :type location: str + :param validation_request: Inputs of the customer. + :type validation_request: ~azure.mgmt.databox.models.ValidationRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ValidationResponse, or the result of cls(response) + :rtype: ~azure.mgmt.databox.models.ValidationResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ValidationResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-09-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.validate_inputs.metadata['url'] # type: ignore + 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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(validation_request, 'ValidationRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ValidationResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + validate_inputs.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/validateInputs'} # type: ignore + + def region_configuration( + self, + location, # type: str + region_configuration_request, # type: "_models.RegionConfigurationRequest" + **kwargs # type: Any + ): + # type: (...) -> "_models.RegionConfigurationResponse" + """This API provides configuration details specific to given region/location. + + :param location: The location of the resource. + :type location: str + :param region_configuration_request: Request body to get the configuration for the region. + :type region_configuration_request: ~azure.mgmt.databox.models.RegionConfigurationRequest + :keyword callable cls: A custom type or function that will be passed the direct response + :return: RegionConfigurationResponse, or the result of cls(response) + :rtype: ~azure.mgmt.databox.models.RegionConfigurationResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.RegionConfigurationResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-09-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.region_configuration.metadata['url'] # type: ignore + 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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(region_configuration_request, 'RegionConfigurationRequest') + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('RegionConfigurationResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + region_configuration.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/regionConfiguration'} # type: ignore diff --git a/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/py.typed b/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/py.typed new file mode 100644 index 00000000000..e5aff4f83af --- /dev/null +++ b/src/databox/azext_databox/vendored_sdks/databox/v2019_09_01/py.typed @@ -0,0 +1 @@ +# Marker file for PEP 561. \ No newline at end of file diff --git a/src/databox/setup.py b/src/databox/setup.py index ab049a1dbcf..84deeb4b6e6 100644 --- a/src/databox/setup.py +++ b/src/databox/setup.py @@ -16,7 +16,7 @@ # TODO: Confirm this is the right version number you want and it matches your # HISTORY.rst entry. -VERSION = '0.1.1' +VERSION = '0.1.2' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers From bfd2ba660db1d9fda2257f1c274a25d1b698797c Mon Sep 17 00:00:00 2001 From: "Kerwin(Kaihui) Sun" Date: Wed, 19 May 2021 17:54:12 +0800 Subject: [PATCH 19/83] [HPC-CACHE] Migrate to track2 (#3351) --- src/hpc-cache/HISTORY.rst | 4 + src/hpc-cache/azext_hpc_cache/custom.py | 31 +- .../latest/recordings/test_hpc_cache.yaml | 3420 ++++++++++++----- .../recordings/test_hpc_storage_target.yaml | 22 +- .../tests/latest/test_hpc_cache_scenario.py | 20 +- .../vendored_sdks/storagecache/__init__.py | 38 +- .../storagecache/_configuration.py | 121 +- .../_storage_cache_management_client.py | 161 +- .../storagecache/{version.py => _version.py} | 22 +- .../storagecache/aio/__init__.py | 10 + .../storagecache/aio/_configuration.py | 67 + .../aio/_storage_cache_management_client.py | 84 + .../storagecache/aio/operations/__init__.py | 21 + .../aio/operations/_caches_operations.py | 1047 +++++ .../aio/operations/_operations.py | 104 + .../aio/operations/_skus_operations.py | 108 + .../operations/_storage_targets_operations.py | 451 +++ .../operations/_usage_models_operations.py | 108 + .../storagecache/models/__init__.py | 187 +- .../storagecache/models/_models.py | 1322 ++++--- .../storagecache/models/_models_py3.py | 1402 ++++--- .../storagecache/models/_paged_models.py | 79 - .../_storage_cache_management_client_enums.py | 134 +- .../storagecache/operations/__init__.py | 45 +- .../operations/_caches_operations.py | 1962 +++++----- .../storagecache/operations/_operations.py | 211 +- .../operations/_skus_operations.py | 219 +- .../operations/_storage_targets_operations.py | 855 +++-- .../operations/_usage_models_operations.py | 219 +- .../vendored_sdks/storagecache/py.typed | 1 + src/hpc-cache/setup.py | 2 +- 31 files changed, 8210 insertions(+), 4267 deletions(-) rename src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/{version.py => _version.py} (82%) create mode 100644 src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/aio/__init__.py create mode 100644 src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/aio/_configuration.py create mode 100644 src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/aio/_storage_cache_management_client.py create mode 100644 src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/aio/operations/__init__.py create mode 100644 src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/aio/operations/_caches_operations.py create mode 100644 src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/aio/operations/_operations.py create mode 100644 src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/aio/operations/_skus_operations.py create mode 100644 src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/aio/operations/_storage_targets_operations.py create mode 100644 src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/aio/operations/_usage_models_operations.py delete mode 100644 src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/models/_paged_models.py create mode 100644 src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/py.typed diff --git a/src/hpc-cache/HISTORY.rst b/src/hpc-cache/HISTORY.rst index 8f38da8b555..3d16cf827d9 100644 --- a/src/hpc-cache/HISTORY.rst +++ b/src/hpc-cache/HISTORY.rst @@ -3,6 +3,10 @@ Release History =============== +0.1.5 +++++++ +* Migrate to track2 SDK + 0.1.4 ++++++ * Fix #2695: Improve the help description of parameter `--nfs3-usage-model`. diff --git a/src/hpc-cache/azext_hpc_cache/custom.py b/src/hpc-cache/azext_hpc_cache/custom.py index b78e03822d2..51c28df44f1 100644 --- a/src/hpc-cache/azext_hpc_cache/custom.py +++ b/src/hpc-cache/azext_hpc_cache/custom.py @@ -33,7 +33,7 @@ def create_hpc_cache(client, body['cache_size_gb'] = cache_size_gb # number body['subnet'] = subnet # str body.setdefault('sku', {})['name'] = sku_name # str - return sdk_no_wait(no_wait, client.create_or_update, resource_group_name=resource_group_name, cache_name=name, + return sdk_no_wait(no_wait, client.begin_create_or_update, resource_group_name=resource_group_name, cache_name=name, cache=body) @@ -48,7 +48,6 @@ def update_hpc_cache(client, body = {} if tags is not None: body['tags'] = tags # unknown-primary[object] - client.config.generate_client_request_id = True return client.update(resource_group_name=resource_group_name, cache_name=name, cache=body) @@ -56,7 +55,7 @@ def delete_hpc_cache(client, resource_group_name, name, no_wait=False): - return sdk_no_wait(no_wait, client.delete, resource_group_name=resource_group_name, cache_name=name) + return sdk_no_wait(no_wait, client.begin_delete, resource_group_name=resource_group_name, cache_name=name) def get_hpc_cache(client, @@ -75,27 +74,27 @@ def list_hpc_cache(client, def flush_hpc_cache(client, resource_group_name, name): - return client.flush(resource_group_name=resource_group_name, cache_name=name) + return client.begin_flush(resource_group_name=resource_group_name, cache_name=name) def upgrade_firmware_hpc_cache(client, resource_group_name, name): - return client.upgrade_firmware(resource_group_name=resource_group_name, cache_name=name) + return client.begin_upgrade_firmware(resource_group_name=resource_group_name, cache_name=name) def start_hpc_cache(client, resource_group_name, name, no_wait=False): - return sdk_no_wait(no_wait, client.start, resource_group_name=resource_group_name, cache_name=name) + return sdk_no_wait(no_wait, client.begin_start, resource_group_name=resource_group_name, cache_name=name) def stop_hpc_cache(client, resource_group_name, name, no_wait=False): - return sdk_no_wait(no_wait, client.stop, resource_group_name=resource_group_name, cache_name=name) + return sdk_no_wait(no_wait, client.begin_stop, resource_group_name=resource_group_name, cache_name=name) def create_hpc_cache_blob_storage_target(client, @@ -108,8 +107,8 @@ def create_hpc_cache_blob_storage_target(client, body['junctions'] = [{'namespacePath': virtual_namespace_path, 'targetPath': '/'}] body['target_type'] = 'clfs' # str body.setdefault('clfs', {})['target'] = clfs_target # str - return client.create_or_update(resource_group_name=resource_group_name, cache_name=cache_name, - storage_target_name=name, storagetarget=body) + return client.begin_create_or_update(resource_group_name=resource_group_name, cache_name=cache_name, + storage_target_name=name, storagetarget=body) def create_hpc_cache_nfs_storage_target(client, @@ -124,8 +123,8 @@ def create_hpc_cache_nfs_storage_target(client, body['target_type'] = 'nfs3' # str body.setdefault('nfs3', {})['target'] = nfs3_target # str body.setdefault('nfs3', {})['usage_model'] = nfs3_usage_model # str - return client.create_or_update(resource_group_name=resource_group_name, cache_name=cache_name, - storage_target_name=name, storagetarget=body) + return client.begin_create_or_update(resource_group_name=resource_group_name, cache_name=cache_name, + storage_target_name=name, storagetarget=body) def update_hpc_cache_blob_storage_target(client, @@ -140,8 +139,8 @@ def update_hpc_cache_blob_storage_target(client, body['junctions'] = [{'namespacePath': virtual_namespace_path, 'targetPath': '/'}] if clfs_target is not None: body.setdefault('clfs', {})['target'] = clfs_target # str - return client.create_or_update(resource_group_name=resource_group_name, cache_name=cache_name, - storage_target_name=name, storagetarget=body) + return client.begin_create_or_update(resource_group_name=resource_group_name, cache_name=cache_name, + storage_target_name=name, storagetarget=body) def update_hpc_cache_nfs_storage_target(client, @@ -156,15 +155,15 @@ def update_hpc_cache_nfs_storage_target(client, body['target_type'] = 'nfs3' # str body.setdefault('nfs3', {})['target'] = nfs3_target # str body.setdefault('nfs3', {})['usage_model'] = nfs3_usage_model # str - return client.create_or_update(resource_group_name=resource_group_name, cache_name=cache_name, - storage_target_name=name, storagetarget=body) + return client.begin_create_or_update(resource_group_name=resource_group_name, cache_name=cache_name, + storage_target_name=name, storagetarget=body) def delete_hpc_cache_storage_target(client, resource_group_name, cache_name, name): - return client.delete(resource_group_name=resource_group_name, cache_name=cache_name, storage_target_name=name) + return client.begin_delete(resource_group_name=resource_group_name, cache_name=cache_name, storage_target_name=name) def get_hpc_cache_storage_target(client, diff --git a/src/hpc-cache/azext_hpc_cache/tests/latest/recordings/test_hpc_cache.yaml b/src/hpc-cache/azext_hpc_cache/tests/latest/recordings/test_hpc_cache.yaml index 789452a3f37..f0f8eec0763 100644 --- a/src/hpc-cache/azext_hpc_cache/tests/latest/recordings/test_hpc_cache.yaml +++ b/src/hpc-cache/azext_hpc_cache/tests/latest/recordings/test_hpc_cache.yaml @@ -15,16 +15,13 @@ interactions: Content-Length: - '202' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - -n -g -l --sku --https-only User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storage/11.1.0 - Azure-SDK-For-Python AZURECLI/2.10.1 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/17.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Storage/storageAccounts/storagename000004?api-version=2019-06-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Storage/storageAccounts/storagename000004?api-version=2021-02-01 response: body: string: '' @@ -36,11 +33,11 @@ interactions: content-type: - text/plain; charset=utf-8 date: - - Mon, 10 Aug 2020 03:23:27 GMT + - Sat, 08 May 2021 03:36:48 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/eastus/asyncoperations/ea24053c-27a2-4b1b-8b6f-312e5ed7e635?monitor=true&api-version=2019-06-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/eastus/asyncoperations/85793b6a-43f1-4425-99d9-2967d51f5dbd?monitor=true&api-version=2021-02-01 pragma: - no-cache server: @@ -50,7 +47,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1199' status: code: 202 message: Accepted @@ -58,7 +55,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -68,22 +65,21 @@ interactions: ParameterSetName: - -n -g -l --sku --https-only User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storage/11.1.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/17.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/eastus/asyncoperations/ea24053c-27a2-4b1b-8b6f-312e5ed7e635?monitor=true&api-version=2019-06-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/eastus/asyncoperations/85793b6a-43f1-4425-99d9-2967d51f5dbd?monitor=true&api-version=2021-02-01 response: body: - string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Storage/storageAccounts/storagename000004","name":"storagename000004","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-10T03:23:26.9349831Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-10T03:23:26.9349831Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-08-10T03:23:26.8568766Z","primaryEndpoints":{"dfs":"https://storagename000004.dfs.core.windows.net/","web":"https://storagename000004.z13.web.core.windows.net/","blob":"https://storagename000004.blob.core.windows.net/","queue":"https://storagename000004.queue.core.windows.net/","table":"https://storagename000004.table.core.windows.net/","file":"https://storagename000004.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}}' + string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Storage/storageAccounts/storagename000004","name":"storagename000004","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-05-08T03:36:48.0523025Z","key2":"2021-05-08T03:36:48.0523025Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-08T03:36:48.0523025Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-08T03:36:48.0523025Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-05-08T03:36:47.9428838Z","primaryEndpoints":{"dfs":"https://storagename000004.dfs.core.windows.net/","web":"https://storagename000004.z13.web.core.windows.net/","blob":"https://storagename000004.blob.core.windows.net/","queue":"https://storagename000004.queue.core.windows.net/","table":"https://storagename000004.table.core.windows.net/","file":"https://storagename000004.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}}' headers: cache-control: - no-cache content-length: - - '1391' + - '1487' content-type: - application/json date: - - Mon, 10 Aug 2020 03:23:44 GMT + - Sat, 08 May 2021 03:37:06 GMT expires: - '-1' pragma: @@ -115,24 +111,21 @@ interactions: ParameterSetName: - -n --account-name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storage/11.1.0 - Azure-SDK-For-Python AZURECLI/2.10.1 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/17.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/storageAccounts?api-version=2019-06-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/storageAccounts?api-version=2021-02-01 response: body: - string: '{"value":[{"sku":{"name":"Premium_LRS","tier":"Premium"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-beta/providers/Microsoft.Storage/storageAccounts/azureclibeta","name":"azureclibeta","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-11T10:11:09.8011543Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-11T10:11:09.8011543Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-06-11T10:11:09.7230107Z","primaryEndpoints":{"web":"https://azureclibeta.z13.web.core.windows.net/","blob":"https://azureclibeta.blob.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGZRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-beta/providers/Microsoft.Storage/storageAccounts/azureclibetarelease","name":"azureclibetarelease","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-11T10:32:24.8036511Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-11T10:32:24.8036511Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-06-11T10:32:24.7099044Z","primaryEndpoints":{"dfs":"https://azureclibetarelease.dfs.core.windows.net/","web":"https://azureclibetarelease.z13.web.core.windows.net/","blob":"https://azureclibetarelease.blob.core.windows.net/","queue":"https://azureclibetarelease.queue.core.windows.net/","table":"https://azureclibetarelease.table.core.windows.net/","file":"https://azureclibetarelease.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://azureclibetarelease-secondary.dfs.core.windows.net/","web":"https://azureclibetarelease-secondary.z13.web.core.windows.net/","blob":"https://azureclibetarelease-secondary.blob.core.windows.net/","queue":"https://azureclibetarelease-secondary.queue.core.windows.net/","table":"https://azureclibetarelease-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azure-core-poc/providers/Microsoft.Storage/storageAccounts/azurecorepoc","name":"azurecorepoc","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-26T02:38:58.8233588Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-26T02:38:58.8233588Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-12-26T02:38:58.7452329Z","primaryEndpoints":{"dfs":"https://azurecorepoc.dfs.core.windows.net/","web":"https://azurecorepoc.z13.web.core.windows.net/","blob":"https://azurecorepoc.blob.core.windows.net/","queue":"https://azurecorepoc.queue.core.windows.net/","table":"https://azurecorepoc.table.core.windows.net/","file":"https://azurecorepoc.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://azurecorepoc-secondary.dfs.core.windows.net/","web":"https://azurecorepoc-secondary.z13.web.core.windows.net/","blob":"https://azurecorepoc-secondary.blob.core.windows.net/","queue":"https://azurecorepoc-secondary.queue.core.windows.net/","table":"https://azurecorepoc-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/bycvad","name":"bycvad","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-30T14:07:32.3655331Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-30T14:07:32.3655331Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-07-30T14:07:32.2873934Z","primaryEndpoints":{"dfs":"https://bycvad.dfs.core.windows.net/","web":"https://bycvad.z13.web.core.windows.net/","blob":"https://bycvad.blob.core.windows.net/","queue":"https://bycvad.queue.core.windows.net/","table":"https://bycvad.table.core.windows.net/","file":"https://bycvad.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestresult/providers/Microsoft.Storage/storageAccounts/clitestresultstac","name":"clitestresultstac","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-15T06:20:52.7844389Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-15T06:20:52.7844389Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-07-15T06:20:52.6907255Z","primaryEndpoints":{"dfs":"https://clitestresultstac.dfs.core.windows.net/","web":"https://clitestresultstac.z13.web.core.windows.net/","blob":"https://clitestresultstac.blob.core.windows.net/","queue":"https://clitestresultstac.queue.core.windows.net/","table":"https://clitestresultstac.table.core.windows.net/","file":"https://clitestresultstac.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://clitestresultstac-secondary.dfs.core.windows.net/","web":"https://clitestresultstac-secondary.z13.web.core.windows.net/","blob":"https://clitestresultstac-secondary.blob.core.windows.net/","queue":"https://clitestresultstac-secondary.queue.core.windows.net/","table":"https://clitestresultstac-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/cyfgascfdf","name":"cyfgascfdf","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"isHnsEnabled":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-04T05:27:55.5006933Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-04T05:27:55.5006933Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-08-04T05:27:55.4069561Z","primaryEndpoints":{"dfs":"https://cyfgascfdf.dfs.core.windows.net/","web":"https://cyfgascfdf.z13.web.core.windows.net/","blob":"https://cyfgascfdf.blob.core.windows.net/","queue":"https://cyfgascfdf.queue.core.windows.net/","table":"https://cyfgascfdf.table.core.windows.net/","file":"https://cyfgascfdf.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/dhsgcvkfg","name":"dhsgcvkfg","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[{"value":"13.66.128.0/17","action":"Allow"},{"value":"13.77.128.0/18","action":"Allow"},{"value":"13.104.129.64/26","action":"Allow"},{"value":"13.104.145.0/26","action":"Allow"},{"value":"13.104.208.192/26","action":"Allow"},{"value":"13.104.213.0/25","action":"Allow"},{"value":"13.104.220.0/25","action":"Allow"},{"value":"13.105.14.0/25","action":"Allow"},{"value":"13.105.14.128/26","action":"Allow"},{"value":"13.105.18.160/27","action":"Allow"},{"value":"13.105.36.0/27","action":"Allow"},{"value":"13.105.36.32/28","action":"Allow"},{"value":"13.105.36.64/27","action":"Allow"},{"value":"13.105.36.128/26","action":"Allow"},{"value":"13.105.66.64/26","action":"Allow"},{"value":"20.36.0.0/19","action":"Allow"},{"value":"20.38.99.0/24","action":"Allow"},{"value":"20.42.128.0/18","action":"Allow"},{"value":"20.47.62.0/23","action":"Allow"},{"value":"20.47.120.0/23","action":"Allow"},{"value":"20.51.64.0/18","action":"Allow"},{"value":"20.57.128.0/18","action":"Allow"},{"value":"20.59.0.0/18","action":"Allow"},{"value":"20.60.20.0/24","action":"Allow"},{"value":"20.150.68.0/24","action":"Allow"},{"value":"20.150.78.0/24","action":"Allow"},{"value":"20.150.87.0/24","action":"Allow"},{"value":"20.150.107.0/24","action":"Allow"},{"value":"20.187.0.0/18","action":"Allow"},{"value":"20.190.0.0/18","action":"Allow"},{"value":"20.190.133.0/24","action":"Allow"},{"value":"20.190.154.0/24","action":"Allow"},{"value":"20.191.64.0/18","action":"Allow"},{"value":"23.98.47.0/24","action":"Allow"},{"value":"23.102.192.0/21","action":"Allow"},{"value":"23.102.203.0/24","action":"Allow"},{"value":"23.103.64.32/27","action":"Allow"},{"value":"23.103.64.64/27","action":"Allow"},{"value":"23.103.66.0/23","action":"Allow"},{"value":"40.64.64.0/18","action":"Allow"},{"value":"40.64.128.0/21","action":"Allow"},{"value":"40.65.64.0/18","action":"Allow"},{"value":"40.77.136.0/28","action":"Allow"},{"value":"40.77.136.64/28","action":"Allow"},{"value":"40.77.139.128/25","action":"Allow"},{"value":"40.77.160.0/27","action":"Allow"},{"value":"40.77.162.0/24","action":"Allow"},{"value":"40.77.164.0/24","action":"Allow"},{"value":"40.77.169.0/24","action":"Allow"},{"value":"40.77.175.64/27","action":"Allow"},{"value":"40.77.180.0/23","action":"Allow"},{"value":"40.77.182.64/27","action":"Allow"},{"value":"40.77.185.128/25","action":"Allow"},{"value":"40.77.186.0/23","action":"Allow"},{"value":"40.77.198.128/25","action":"Allow"},{"value":"40.77.199.128/26","action":"Allow"},{"value":"40.77.200.0/25","action":"Allow"},{"value":"40.77.202.0/24","action":"Allow"},{"value":"40.77.224.96/27","action":"Allow"},{"value":"40.77.230.0/24","action":"Allow"},{"value":"40.77.232.128/25","action":"Allow"},{"value":"40.77.234.224/27","action":"Allow"},{"value":"40.77.236.128/27","action":"Allow"},{"value":"40.77.240.128/25","action":"Allow"},{"value":"40.77.241.0/24","action":"Allow"},{"value":"40.77.242.0/23","action":"Allow"},{"value":"40.77.247.0/24","action":"Allow"},{"value":"40.77.249.0/24","action":"Allow"},{"value":"40.77.250.0/24","action":"Allow"},{"value":"40.77.254.128/25","action":"Allow"},{"value":"40.78.208.32/30","action":"Allow"},{"value":"40.78.217.0/24","action":"Allow"},{"value":"40.78.240.0/20","action":"Allow"},{"value":"40.80.160.0/24","action":"Allow"},{"value":"40.82.36.0/22","action":"Allow"},{"value":"40.87.232.0/21","action":"Allow"},{"value":"40.90.16.192/26","action":"Allow"},{"value":"40.90.131.32/27","action":"Allow"},{"value":"40.90.132.48/28","action":"Allow"},{"value":"40.90.136.224/27","action":"Allow"},{"value":"40.90.138.208/28","action":"Allow"},{"value":"40.90.139.32/27","action":"Allow"},{"value":"40.90.146.32/27","action":"Allow"},{"value":"40.90.148.192/27","action":"Allow"},{"value":"40.90.153.0/26","action":"Allow"},{"value":"40.90.192.0/19","action":"Allow"},{"value":"40.91.0.0/22","action":"Allow"},{"value":"40.91.64.0/18","action":"Allow"},{"value":"40.91.160.0/19","action":"Allow"},{"value":"40.125.64.0/18","action":"Allow"},{"value":"40.126.5.0/24","action":"Allow"},{"value":"40.126.26.0/24","action":"Allow"},{"value":"51.141.160.0/19","action":"Allow"},{"value":"51.143.0.0/17","action":"Allow"},{"value":"52.96.11.0/24","action":"Allow"},{"value":"52.108.72.0/24","action":"Allow"},{"value":"52.108.93.0/24","action":"Allow"},{"value":"52.109.24.0/22","action":"Allow"},{"value":"52.111.246.0/24","action":"Allow"},{"value":"52.112.105.0/24","action":"Allow"},{"value":"52.112.109.0/24","action":"Allow"},{"value":"52.112.115.0/24","action":"Allow"},{"value":"52.114.148.0/22","action":"Allow"},{"value":"52.115.55.0/24","action":"Allow"},{"value":"52.136.0.0/22","action":"Allow"},{"value":"52.137.64.0/18","action":"Allow"},{"value":"52.143.64.0/18","action":"Allow"},{"value":"52.143.197.0/24","action":"Allow"},{"value":"52.143.211.0/24","action":"Allow"},{"value":"52.148.128.0/18","action":"Allow"},{"value":"52.149.0.0/18","action":"Allow"},{"value":"52.151.0.0/18","action":"Allow"},{"value":"52.156.64.0/18","action":"Allow"},{"value":"52.156.128.0/19","action":"Allow"},{"value":"52.158.224.0/19","action":"Allow"},{"value":"52.175.192.0/18","action":"Allow"},{"value":"52.183.0.0/17","action":"Allow"},{"value":"52.191.128.0/18","action":"Allow"},{"value":"52.229.0.0/18","action":"Allow"},{"value":"52.232.152.0/24","action":"Allow"},{"value":"52.233.64.0/18","action":"Allow"},{"value":"52.235.64.0/18","action":"Allow"},{"value":"52.239.148.128/25","action":"Allow"},{"value":"52.239.176.128/25","action":"Allow"},{"value":"52.239.193.0/24","action":"Allow"},{"value":"52.239.210.0/23","action":"Allow"},{"value":"52.239.236.0/23","action":"Allow"},{"value":"52.245.52.0/22","action":"Allow"},{"value":"52.246.192.0/18","action":"Allow"},{"value":"52.247.192.0/18","action":"Allow"},{"value":"52.250.0.0/17","action":"Allow"},{"value":"65.52.111.0/24","action":"Allow"},{"value":"65.55.32.128/28","action":"Allow"},{"value":"65.55.32.192/27","action":"Allow"},{"value":"65.55.32.224/28","action":"Allow"},{"value":"65.55.33.176/28","action":"Allow"},{"value":"65.55.33.192/28","action":"Allow"},{"value":"65.55.35.192/27","action":"Allow"},{"value":"65.55.44.8/29","action":"Allow"},{"value":"65.55.44.112/28","action":"Allow"},{"value":"65.55.51.0/24","action":"Allow"},{"value":"65.55.105.160/27","action":"Allow"},{"value":"65.55.106.192/28","action":"Allow"},{"value":"65.55.106.240/28","action":"Allow"},{"value":"65.55.107.0/28","action":"Allow"},{"value":"65.55.107.96/27","action":"Allow"},{"value":"65.55.110.0/24","action":"Allow"},{"value":"65.55.120.0/24","action":"Allow"},{"value":"65.55.207.0/24","action":"Allow"},{"value":"65.55.209.0/25","action":"Allow"},{"value":"65.55.210.0/24","action":"Allow"},{"value":"65.55.219.64/26","action":"Allow"},{"value":"65.55.250.0/24","action":"Allow"},{"value":"65.55.252.0/24","action":"Allow"},{"value":"70.37.0.0/21","action":"Allow"},{"value":"70.37.8.0/22","action":"Allow"},{"value":"70.37.16.0/20","action":"Allow"},{"value":"70.37.32.0/20","action":"Allow"},{"value":"104.44.89.128/27","action":"Allow"},{"value":"104.44.89.192/27","action":"Allow"},{"value":"104.44.95.0/28","action":"Allow"},{"value":"131.253.12.160/28","action":"Allow"},{"value":"131.253.12.228/30","action":"Allow"},{"value":"131.253.13.24/29","action":"Allow"},{"value":"131.253.13.88/30","action":"Allow"},{"value":"131.253.13.128/27","action":"Allow"},{"value":"131.253.14.4/30","action":"Allow"}],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-31T02:24:32.7434783Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-31T02:24:32.7434783Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-07-31T02:24:32.6653738Z","primaryEndpoints":{"dfs":"https://dhsgcvkfg.dfs.core.windows.net/","web":"https://dhsgcvkfg.z13.web.core.windows.net/","blob":"https://dhsgcvkfg.blob.core.windows.net/","queue":"https://dhsgcvkfg.queue.core.windows.net/","table":"https://dhsgcvkfg.table.core.windows.net/","file":"https://dhsgcvkfg.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fytest/providers/Microsoft.Storage/storageAccounts/fystac","name":"fystac","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-08T03:10:13.4426715Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-08T03:10:13.4426715Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-04-08T03:10:13.3645539Z","primaryEndpoints":{"dfs":"https://fystac.dfs.core.windows.net/","web":"https://fystac.z13.web.core.windows.net/","blob":"https://fystac.blob.core.windows.net/","queue":"https://fystac.queue.core.windows.net/","table":"https://fystac.table.core.windows.net/","file":"https://fystac.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://fystac-secondary.dfs.core.windows.net/","web":"https://fystac-secondary.z13.web.core.windows.net/","blob":"https://fystac-secondary.blob.core.windows.net/","queue":"https://fystac-secondary.queue.core.windows.net/","table":"https://fystac-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/harold/providers/Microsoft.Storage/storageAccounts/harold","name":"harold","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-30T09:03:36.5050275Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-30T09:03:36.5050275Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-07-30T09:03:36.4112460Z","primaryEndpoints":{"dfs":"https://harold.dfs.core.windows.net/","web":"https://harold.z13.web.core.windows.net/","blob":"https://harold.blob.core.windows.net/","queue":"https://harold.queue.core.windows.net/","table":"https://harold.table.core.windows.net/","file":"https://harold.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://harold-secondary.dfs.core.windows.net/","web":"https://harold-secondary.z13.web.core.windows.net/","blob":"https://harold-secondary.blob.core.windows.net/","queue":"https://harold-secondary.queue.core.windows.net/","table":"https://harold-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/kdvgtafsjd","name":"kdvgtafsjd","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-30T15:33:49.2739863Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-30T15:33:49.2739863Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-07-30T15:33:49.1958406Z","primaryEndpoints":{"dfs":"https://kdvgtafsjd.dfs.core.windows.net/","web":"https://kdvgtafsjd.z13.web.core.windows.net/","blob":"https://kdvgtafsjd.blob.core.windows.net/","queue":"https://kdvgtafsjd.queue.core.windows.net/","table":"https://kdvgtafsjd.table.core.windows.net/","file":"https://kdvgtafsjd.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup/providers/Microsoft.Storage/storageAccounts/mysasidsjaoj204","name":"mysasidsjaoj204","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-05-28T06:52:20.1427569Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-05-28T06:52:20.1427569Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-05-28T06:52:20.0646133Z","primaryEndpoints":{"dfs":"https://mysasidsjaoj204.dfs.core.windows.net/","web":"https://mysasidsjaoj204.z13.web.core.windows.net/","blob":"https://mysasidsjaoj204.blob.core.windows.net/","queue":"https://mysasidsjaoj204.queue.core.windows.net/","table":"https://mysasidsjaoj204.table.core.windows.net/","file":"https://mysasidsjaoj204.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Storage/storageAccounts/qianwenadls","name":"qianwenadls","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"isHnsEnabled":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-01T10:11:06.0357634Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-01T10:11:06.0357634Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-04-01T10:11:05.9576622Z","primaryEndpoints":{"dfs":"https://qianwenadls.dfs.core.windows.net/","web":"https://qianwenadls.z13.web.core.windows.net/","blob":"https://qianwenadls.blob.core.windows.net/","queue":"https://qianwenadls.queue.core.windows.net/","table":"https://qianwenadls.table.core.windows.net/","file":"https://qianwenadls.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://qianwenadls-secondary.dfs.core.windows.net/","web":"https://qianwenadls-secondary.z13.web.core.windows.net/","blob":"https://qianwenadls-secondary.blob.core.windows.net/","queue":"https://qianwenadls-secondary.queue.core.windows.net/","table":"https://qianwenadls-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Storage/storageAccounts/qianwendev","name":"qianwendev","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Network/virtualNetworks/QIAN/subnets/default","action":"Allow","state":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Network/virtualNetworks/qianwendev/subnets/default","action":"Allow","state":"Succeeded"}],"ipRules":[{"value":"23.45.1.0/24","action":"Allow"},{"value":"23.45.1.1/24","action":"Allow"}],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-12T03:29:28.0084761Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-12T03:29:28.0084761Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-02-12T03:29:27.9459854Z","primaryEndpoints":{"dfs":"https://qianwendev.dfs.core.windows.net/","web":"https://qianwendev.z13.web.core.windows.net/","blob":"https://qianwendev.blob.core.windows.net/","queue":"https://qianwendev.queue.core.windows.net/","table":"https://qianwendev.table.core.windows.net/","file":"https://qianwendev.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://qianwendev-secondary.dfs.core.windows.net/","web":"https://qianwendev-secondary.z13.web.core.windows.net/","blob":"https://qianwendev-secondary.blob.core.windows.net/","queue":"https://qianwendev-secondary.queue.core.windows.net/","table":"https://qianwendev-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Storage/storageAccounts/qianwenhpctarget","name":"qianwenhpctarget","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T07:09:20.3073299Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T07:09:20.3073299Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-06T07:09:20.2291899Z","primaryEndpoints":{"dfs":"https://qianwenhpctarget.dfs.core.windows.net/","web":"https://qianwenhpctarget.z13.web.core.windows.net/","blob":"https://qianwenhpctarget.blob.core.windows.net/","queue":"https://qianwenhpctarget.queue.core.windows.net/","table":"https://qianwenhpctarget.table.core.windows.net/","file":"https://qianwenhpctarget.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://qianwenhpctarget-secondary.dfs.core.windows.net/","web":"https://qianwenhpctarget-secondary.z13.web.core.windows.net/","blob":"https://qianwenhpctarget-secondary.blob.core.windows.net/","queue":"https://qianwenhpctarget-secondary.queue.core.windows.net/","table":"https://qianwenhpctarget-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_ZRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/savcktesf","name":"savcktesf","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-30T14:20:28.3593252Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-30T14:20:28.3593252Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-07-30T14:20:28.2811393Z","primaryEndpoints":{"dfs":"https://savcktesf.dfs.core.windows.net/","web":"https://savcktesf.z13.web.core.windows.net/","blob":"https://savcktesf.blob.core.windows.net/","queue":"https://savcktesf.queue.core.windows.net/","table":"https://savcktesf.table.core.windows.net/","file":"https://savcktesf.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/sfvtcakf","name":"sfvtcakf","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-03T05:40:57.2438526Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-03T05:40:57.2438526Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-08-03T05:40:57.1344759Z","primaryEndpoints":{"dfs":"https://sfvtcakf.dfs.core.windows.net/","web":"https://sfvtcakf.z13.web.core.windows.net/","blob":"https://sfvtcakf.blob.core.windows.net/","queue":"https://sfvtcakf.queue.core.windows.net/","table":"https://sfvtcakf.table.core.windows.net/","file":"https://sfvtcakf.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Storage/storageAccounts/storagename000004","name":"storagename000004","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-10T03:23:26.9349831Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-10T03:23:26.9349831Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-08-10T03:23:26.8568766Z","primaryEndpoints":{"dfs":"https://storagename000004.dfs.core.windows.net/","web":"https://storagename000004.z13.web.core.windows.net/","blob":"https://storagename000004.blob.core.windows.net/","queue":"https://storagename000004.queue.core.windows.net/","table":"https://storagename000004.table.core.windows.net/","file":"https://storagename000004.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hackathon-cli-recommendation-rg/providers/Microsoft.Storage/storageAccounts/yueshi","name":"yueshi","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-04T07:09:49.4853538Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-04T07:09:49.4853538Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-08-04T07:09:49.3759728Z","primaryEndpoints":{"blob":"https://yueshi.blob.core.windows.net/","queue":"https://yueshi.queue.core.windows.net/","table":"https://yueshi.table.core.windows.net/","file":"https://yueshi.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhoxing-test/providers/Microsoft.Storage/storageAccounts/zhoxing","name":"zhoxing","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-15T08:53:45.4310180Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-15T08:53:45.4310180Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-04-15T08:53:45.3528671Z","primaryEndpoints":{"dfs":"https://zhoxing.dfs.core.windows.net/","web":"https://zhoxing.z13.web.core.windows.net/","blob":"https://zhoxing.blob.core.windows.net/","queue":"https://zhoxing.queue.core.windows.net/","table":"https://zhoxing.table.core.windows.net/","file":"https://zhoxing.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://zhoxing-secondary.dfs.core.windows.net/","web":"https://zhoxing-secondary.z13.web.core.windows.net/","blob":"https://zhoxing-secondary.blob.core.windows.net/","queue":"https://zhoxing-secondary.queue.core.windows.net/","table":"https://zhoxing-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/zuhadls","name":"zuhadls","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"isHnsEnabled":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-24T03:15:58.4932756Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-24T03:15:58.4932756Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-07-24T03:15:58.3995048Z","primaryEndpoints":{"dfs":"https://zuhadls.dfs.core.windows.net/","web":"https://zuhadls.z13.web.core.windows.net/","blob":"https://zuhadls.blob.core.windows.net/","queue":"https://zuhadls.queue.core.windows.net/","table":"https://zuhadls.table.core.windows.net/","file":"https://zuhadls.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://zuhadls-secondary.dfs.core.windows.net/","web":"https://zuhadls-secondary.z13.web.core.windows.net/","blob":"https://zuhadls-secondary.blob.core.windows.net/","queue":"https://zuhadls-secondary.queue.core.windows.net/","table":"https://zuhadls-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/zuheast","name":"zuheast","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Deny"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-16T02:03:47.0477434Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-16T02:03:47.0477434Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-06-16T02:03:46.9383659Z","primaryEndpoints":{"dfs":"https://zuheast.dfs.core.windows.net/","web":"https://zuheast.z13.web.core.windows.net/","blob":"https://zuheast.blob.core.windows.net/","queue":"https://zuheast.queue.core.windows.net/","table":"https://zuheast.table.core.windows.net/","file":"https://zuheast.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://zuheast-secondary.dfs.core.windows.net/","web":"https://zuheast-secondary.z13.web.core.windows.net/","blob":"https://zuheast-secondary.blob.core.windows.net/","queue":"https://zuheast-secondary.queue.core.windows.net/","table":"https://zuheast-secondary.table.core.windows.net/"}}},{"sku":{"name":"Premium_LRS","tier":"Premium"},"kind":"FileStorage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/zuhpremium","name":"zuhpremium","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"largeFileSharesState":"Enabled","networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-17T06:37:44.0217858Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-17T06:37:44.0217858Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-07-17T06:37:43.9281994Z","primaryEndpoints":{"file":"https://zuhpremium.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jlrg1/providers/Microsoft.Storage/storageAccounts/jlst","name":"jlst","type":"Microsoft.Storage/storageAccounts","location":"eastus2","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-14T12:05:01.5230050Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-14T12:05:01.5230050Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-04-14T12:05:01.4448881Z","primaryEndpoints":{"dfs":"https://jlst.dfs.core.windows.net/","web":"https://jlst.z20.web.core.windows.net/","blob":"https://jlst.blob.core.windows.net/","queue":"https://jlst.queue.core.windows.net/","table":"https://jlst.table.core.windows.net/","file":"https://jlst.file.core.windows.net/"},"primaryLocation":"eastus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jlrg1/providers/Microsoft.Storage/storageAccounts/tsiext","name":"tsiext","type":"Microsoft.Storage/storageAccounts","location":"eastus2","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-16T04:42:27.8695098Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-16T04:42:27.8695098Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-04-16T04:42:27.8070104Z","primaryEndpoints":{"dfs":"https://tsiext.dfs.core.windows.net/","web":"https://tsiext.z20.web.core.windows.net/","blob":"https://tsiext.blob.core.windows.net/","queue":"https://tsiext.queue.core.windows.net/","table":"https://tsiext.table.core.windows.net/","file":"https://tsiext.file.core.windows.net/"},"primaryLocation":"eastus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhoxing-test/providers/Microsoft.Storage/storageAccounts/azhoxingtest9851","name":"azhoxingtest9851","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{"hidden-DevTestLabs-LabUId":"6e279161-d008-42b7-90a1-6801fc4bc4ca"},"properties":{"privateEndpointConnections":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhoxing-test/providers/Microsoft.Storage/storageAccounts/azhoxingtest9851/privateEndpointConnections/azhoxingtest9851.6911cd49-cfc1-4bcf-887b-6941ff2b8756","name":"azhoxingtest9851.6911cd49-cfc1-4bcf-887b-6941ff2b8756","type":"Microsoft.Storage/storageAccounts/privateEndpointConnections","properties":{"provisioningState":"Succeeded","privateEndpoint":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuhcentral/providers/Microsoft.Network/privateEndpoints/test"},"privateLinkServiceConnectionState":{"status":"Approved","description":"Auto-Approved","actionRequired":"None"}}}],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-21T05:43:15.2811036Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-21T05:43:15.2811036Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-02-21T05:43:15.2029670Z","primaryEndpoints":{"dfs":"https://azhoxingtest9851.dfs.core.windows.net/","web":"https://azhoxingtest9851.z22.web.core.windows.net/","blob":"https://azhoxingtest9851.blob.core.windows.net/","queue":"https://azhoxingtest9851.queue.core.windows.net/","table":"https://azhoxingtest9851.table.core.windows.net/","file":"https://azhoxingtest9851.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"BlobStorage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-bimdatabricks0617_2-2ganrohazz59j/providers/Microsoft.Storage/storageAccounts/dbstorage2y7hwbxdze24o","name":"dbstorage2y7hwbxdze24o","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{"application":"databricks","databricks-environment":"true"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-17T09:02:57.7540092Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-17T09:02:57.7540092Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-06-17T09:02:57.6915310Z","primaryEndpoints":{"dfs":"https://dbstorage2y7hwbxdze24o.dfs.core.windows.net/","blob":"https://dbstorage2y7hwbxdze24o.blob.core.windows.net/","table":"https://dbstorage2y7hwbxdze24o.table.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available"}},{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"BlobStorage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-bimworkspace-trp053b370fgs/providers/Microsoft.Storage/storageAccounts/dbstoragean3z7e5vagldw","name":"dbstoragean3z7e5vagldw","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{"application":"databricks","databricks-environment":"true"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-12T10:06:41.7669227Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-12T10:06:41.7669227Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-06-12T10:06:41.6888438Z","primaryEndpoints":{"dfs":"https://dbstoragean3z7e5vagldw.dfs.core.windows.net/","blob":"https://dbstoragean3z7e5vagldw.blob.core.windows.net/","table":"https://dbstoragean3z7e5vagldw.table.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azure-cli-test-rg/providers/Microsoft.Storage/storageAccounts/myaccount2","name":"myaccount2","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-03T08:31:47.9769509Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-03T08:31:47.9769509Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-07-03T08:31:47.9143974Z","primaryEndpoints":{"dfs":"https://myaccount2.dfs.core.windows.net/","web":"https://myaccount2.z22.web.core.windows.net/","blob":"https://myaccount2.blob.core.windows.net/","queue":"https://myaccount2.queue.core.windows.net/","table":"https://myaccount2.table.core.windows.net/","file":"https://myaccount2.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://myaccount2-secondary.dfs.core.windows.net/","web":"https://myaccount2-secondary.z22.web.core.windows.net/","blob":"https://myaccount2-secondary.blob.core.windows.net/","queue":"https://myaccount2-secondary.queue.core.windows.net/","table":"https://myaccount2-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fytest/providers/Microsoft.Storage/storageAccounts/sharedvmextension","name":"sharedvmextension","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-06T03:37:04.8004229Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-06T03:37:04.8004229Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-07-06T03:37:04.7066555Z","primaryEndpoints":{"dfs":"https://sharedvmextension.dfs.core.windows.net/","web":"https://sharedvmextension.z22.web.core.windows.net/","blob":"https://sharedvmextension.blob.core.windows.net/","queue":"https://sharedvmextension.queue.core.windows.net/","table":"https://sharedvmextension.table.core.windows.net/","file":"https://sharedvmextension.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://sharedvmextension-secondary.dfs.core.windows.net/","web":"https://sharedvmextension-secondary.z22.web.core.windows.net/","blob":"https://sharedvmextension-secondary.blob.core.windows.net/","queue":"https://sharedvmextension-secondary.queue.core.windows.net/","table":"https://sharedvmextension-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azure-cli-test-rg/providers/Microsoft.Storage/storageAccounts/yusa12345","name":"yusa12345","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-31T06:51:52.8137668Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-31T06:51:52.8137668Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-07-31T06:51:52.7356880Z","primaryEndpoints":{"dfs":"https://yusa12345.dfs.core.windows.net/","web":"https://yusa12345.z22.web.core.windows.net/","blob":"https://yusa12345.blob.core.windows.net/","queue":"https://yusa12345.queue.core.windows.net/","table":"https://yusa12345.table.core.windows.net/","file":"https://yusa12345.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yusa12345-secondary.dfs.core.windows.net/","web":"https://yusa12345-secondary.z22.web.core.windows.net/","blob":"https://yusa12345-secondary.blob.core.windows.net/","queue":"https://yusa12345-secondary.queue.core.windows.net/","table":"https://yusa12345-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azure-cli-test-rg/providers/Microsoft.Storage/storageAccounts/yusa12345v1","name":"yusa12345v1","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-31T07:36:04.3821462Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-31T07:36:04.3821462Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-07-31T07:36:04.3040444Z","primaryEndpoints":{"dfs":"https://yusa12345v1.dfs.core.windows.net/","web":"https://yusa12345v1.z22.web.core.windows.net/","blob":"https://yusa12345v1.blob.core.windows.net/","queue":"https://yusa12345v1.queue.core.windows.net/","table":"https://yusa12345v1.table.core.windows.net/","file":"https://yusa12345v1.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yusa12345v1-secondary.dfs.core.windows.net/","web":"https://yusa12345v1-secondary.z22.web.core.windows.net/","blob":"https://yusa12345v1-secondary.blob.core.windows.net/","queue":"https://yusa12345v1-secondary.queue.core.windows.net/","table":"https://yusa12345v1-secondary.table.core.windows.net/"}}},{"sku":{"name":"Premium_LRS","tier":"Premium"},"kind":"BlockBlobStorage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhoxing-test/providers/Microsoft.Storage/storageAccounts/zhoxingtest","name":"zhoxingtest","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-04T09:47:33.0768819Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-04T09:47:33.0768819Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-06-04T09:47:32.9831234Z","primaryEndpoints":{"dfs":"https://zhoxingtest.dfs.core.windows.net/","web":"https://zhoxingtest.z22.web.core.windows.net/","blob":"https://zhoxingtest.blob.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/zuhwest","name":"zuhwest","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[{"value":"207.68.174.192/28","action":"Allow"}],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-30T06:39:49.3101796Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-30T06:39:49.3101796Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-06-30T06:39:49.2320564Z","primaryEndpoints":{"dfs":"https://zuhwest.dfs.core.windows.net/","web":"https://zuhwest.z22.web.core.windows.net/","blob":"https://zuhwest.blob.core.windows.net/","queue":"https://zuhwest.queue.core.windows.net/","table":"https://zuhwest.table.core.windows.net/","file":"https://zuhwest.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.rg6i4hl6iakg/providers/Microsoft.Storage/storageAccounts/clitestu3p7a7ib4n4y7gt4m","name":"clitestu3p7a7ib4n4y7gt4m","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-30T01:51:53.0814418Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-30T01:51:53.0814418Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2019-12-30T01:51:53.0189478Z","primaryEndpoints":{"blob":"https://clitestu3p7a7ib4n4y7gt4m.blob.core.windows.net/","queue":"https://clitestu3p7a7ib4n4y7gt4m.queue.core.windows.net/","table":"https://clitestu3p7a7ib4n4y7gt4m.table.core.windows.net/","file":"https://clitestu3p7a7ib4n4y7gt4m.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/fengcloudsa","name":"fengcloudsa","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-24T02:57:50.9889021Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-24T02:57:50.9889021Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-06-24T02:57:50.9264022Z","primaryEndpoints":{"dfs":"https://fengcloudsa.dfs.core.windows.net/","web":"https://fengcloudsa.z23.web.core.windows.net/","blob":"https://fengcloudsa.blob.core.windows.net/","queue":"https://fengcloudsa.queue.core.windows.net/","table":"https://fengcloudsa.table.core.windows.net/","file":"https://fengcloudsa.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jlrg1/providers/Microsoft.Storage/storageAccounts/jlcsst","name":"jlcsst","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-02T07:15:45.8047726Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-02T07:15:45.8047726Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-02T07:15:45.7422455Z","primaryEndpoints":{"dfs":"https://jlcsst.dfs.core.windows.net/","web":"https://jlcsst.z23.web.core.windows.net/","blob":"https://jlcsst.blob.core.windows.net/","queue":"https://jlcsst.queue.core.windows.net/","table":"https://jlcsst.table.core.windows.net/","file":"https://jlcsst.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Storage/storageAccounts/qianwensdiag","name":"qianwensdiag","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-04T07:17:09.1138103Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-04T07:17:09.1138103Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-02-04T07:17:09.0514178Z","primaryEndpoints":{"blob":"https://qianwensdiag.blob.core.windows.net/","queue":"https://qianwensdiag.queue.core.windows.net/","table":"https://qianwensdiag.table.core.windows.net/","file":"https://qianwensdiag.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yeming/providers/Microsoft.Storage/storageAccounts/yeming","name":"yeming","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-04T06:41:07.4012554Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-04T06:41:07.4012554Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-12-04T06:41:07.3699884Z","primaryEndpoints":{"dfs":"https://yeming.dfs.core.windows.net/","web":"https://yeming.z23.web.core.windows.net/","blob":"https://yeming.blob.core.windows.net/","queue":"https://yeming.queue.core.windows.net/","table":"https://yeming.table.core.windows.net/","file":"https://yeming.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available","secondaryLocation":"eastasia","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yeming-secondary.dfs.core.windows.net/","web":"https://yeming-secondary.z23.web.core.windows.net/","blob":"https://yeming-secondary.blob.core.windows.net/","queue":"https://yeming-secondary.queue.core.windows.net/","table":"https://yeming-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/bim-rg/providers/Microsoft.Storage/storageAccounts/bimrgdiag","name":"bimrgdiag","type":"Microsoft.Storage/storageAccounts","location":"japaneast","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-12T15:04:32.1018377Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-12T15:04:32.1018377Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-02-12T15:04:32.0706109Z","primaryEndpoints":{"blob":"https://bimrgdiag.blob.core.windows.net/","queue":"https://bimrgdiag.queue.core.windows.net/","table":"https://bimrgdiag.table.core.windows.net/","file":"https://bimrgdiag.file.core.windows.net/"},"primaryLocation":"japaneast","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-yakou/providers/Microsoft.Storage/storageAccounts/yakoudiagaccount","name":"yakoudiagaccount","type":"Microsoft.Storage/storageAccounts","location":"japaneast","tags":{},"properties":{"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-13T06:27:12.2166886Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-13T06:27:12.2166886Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-07-13T06:27:12.1385621Z","primaryEndpoints":{"dfs":"https://yakoudiagaccount.dfs.core.windows.net/","web":"https://yakoudiagaccount.z11.web.core.windows.net/","blob":"https://yakoudiagaccount.blob.core.windows.net/","queue":"https://yakoudiagaccount.queue.core.windows.net/","table":"https://yakoudiagaccount.table.core.windows.net/","file":"https://yakoudiagaccount.file.core.windows.net/"},"primaryLocation":"japaneast","statusOfPrimary":"available","secondaryLocation":"japanwest","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yakoudiagaccount-secondary.dfs.core.windows.net/","web":"https://yakoudiagaccount-secondary.z11.web.core.windows.net/","blob":"https://yakoudiagaccount-secondary.blob.core.windows.net/","queue":"https://yakoudiagaccount-secondary.queue.core.windows.net/","table":"https://yakoudiagaccount-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/hasfcthfd","name":"hasfcthfd","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{},"properties":{"privateEndpointConnections":[],"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-31T02:02:58.2702198Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-31T02:02:58.2702198Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-07-31T02:02:58.1920580Z","primaryEndpoints":{"dfs":"https://hasfcthfd.dfs.core.windows.net/","web":"https://hasfcthfd.z21.web.core.windows.net/","blob":"https://hasfcthfd.blob.core.windows.net/","queue":"https://hasfcthfd.queue.core.windows.net/","table":"https://hasfcthfd.table.core.windows.net/","file":"https://hasfcthfd.file.core.windows.net/"},"primaryLocation":"southcentralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"BlobStorage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-bimdatabricks2-qudpew5skdhvm/providers/Microsoft.Storage/storageAccounts/dbstorage735bkp4vtuyxc","name":"dbstorage735bkp4vtuyxc","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{"application":"databricks","databricks-environment":"true"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-17T08:11:57.0329028Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-17T08:11:57.0329028Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-06-17T08:11:56.9235224Z","primaryEndpoints":{"dfs":"https://dbstorage735bkp4vtuyxc.dfs.core.windows.net/","blob":"https://dbstorage735bkp4vtuyxc.blob.core.windows.net/","table":"https://dbstorage735bkp4vtuyxc.table.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available"}},{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"BlobStorage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-bimdatabricks3-t5xjlwnw4zlms/providers/Microsoft.Storage/storageAccounts/dbstorageh2ox2v5vtlrgs","name":"dbstorageh2ox2v5vtlrgs","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{"application":"databricks","databricks-environment":"true"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-17T08:49:27.5223382Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-17T08:49:27.5223382Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-06-17T08:49:27.4129693Z","primaryEndpoints":{"dfs":"https://dbstorageh2ox2v5vtlrgs.dfs.core.windows.net/","blob":"https://dbstorageh2ox2v5vtlrgs.blob.core.windows.net/","table":"https://dbstorageh2ox2v5vtlrgs.table.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available"}},{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"BlobStorage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-bimdatabricks-poumgta45nleo/providers/Microsoft.Storage/storageAccounts/dbstoragei4eqatrzykddu","name":"dbstoragei4eqatrzykddu","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{"application":"databricks","databricks-environment":"true"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-05-15T03:37:56.9362632Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-05-15T03:37:56.9362632Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-05-15T03:37:56.8425143Z","primaryEndpoints":{"dfs":"https://dbstoragei4eqatrzykddu.dfs.core.windows.net/","blob":"https://dbstoragei4eqatrzykddu.blob.core.windows.net/","table":"https://dbstoragei4eqatrzykddu.table.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available"}},{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"BlobStorage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-bimdatabricks4-csucgskux7byw/providers/Microsoft.Storage/storageAccounts/dbstoragewjw6osdyddzoo","name":"dbstoragewjw6osdyddzoo","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{"application":"databricks","databricks-environment":"true"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-02T07:22:12.8616393Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-02T07:22:12.8616393Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-07-02T07:22:12.7834766Z","primaryEndpoints":{"dfs":"https://dbstoragewjw6osdyddzoo.dfs.core.windows.net/","blob":"https://dbstoragewjw6osdyddzoo.blob.core.windows.net/","table":"https://dbstoragewjw6osdyddzoo.table.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/extmigrate","name":"extmigrate","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-16T08:26:10.6796218Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-16T08:26:10.6796218Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-16T08:26:10.5858998Z","primaryEndpoints":{"blob":"https://extmigrate.blob.core.windows.net/","queue":"https://extmigrate.queue.core.windows.net/","table":"https://extmigrate.table.core.windows.net/","file":"https://extmigrate.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://extmigrate-secondary.blob.core.windows.net/","queue":"https://extmigrate-secondary.queue.core.windows.net/","table":"https://extmigrate-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/fengsa","name":"fengsa","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-01-06T04:33:22.9379802Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-01-06T04:33:22.9379802Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-01-06T04:33:22.8754625Z","primaryEndpoints":{"dfs":"https://fengsa.dfs.core.windows.net/","web":"https://fengsa.z19.web.core.windows.net/","blob":"https://fengsa.blob.core.windows.net/","queue":"https://fengsa.queue.core.windows.net/","table":"https://fengsa.table.core.windows.net/","file":"https://fengsa.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://fengsa-secondary.dfs.core.windows.net/","web":"https://fengsa-secondary.z19.web.core.windows.net/","blob":"https://fengsa-secondary.blob.core.windows.net/","queue":"https://fengsa-secondary.queue.core.windows.net/","table":"https://fengsa-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/bim-rg/providers/Microsoft.Storage/storageAccounts/storageaccountbimrg8277","name":"storageaccountbimrg8277","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-05-11T08:59:39.9591906Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-05-11T08:59:39.9591906Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-05-11T08:59:39.8810735Z","primaryEndpoints":{"blob":"https://storageaccountbimrg8277.blob.core.windows.net/","queue":"https://storageaccountbimrg8277.queue.core.windows.net/","table":"https://storageaccountbimrg8277.table.core.windows.net/","file":"https://storageaccountbimrg8277.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/bim-rg/providers/Microsoft.Storage/storageAccounts/storageaccountbimrg83e4","name":"storageaccountbimrg83e4","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-05-12T06:39:23.8091026Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-05-12T06:39:23.8091026Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-05-12T06:39:23.7153914Z","primaryEndpoints":{"blob":"https://storageaccountbimrg83e4.blob.core.windows.net/","queue":"https://storageaccountbimrg83e4.queue.core.windows.net/","table":"https://storageaccountbimrg83e4.table.core.windows.net/","file":"https://storageaccountbimrg83e4.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/bim-rg-function/providers/Microsoft.Storage/storageAccounts/storageaccountbimrg9eb7","name":"storageaccountbimrg9eb7","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-05-12T07:12:06.5485336Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-05-12T07:12:06.5485336Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-05-12T07:12:06.4547831Z","primaryEndpoints":{"blob":"https://storageaccountbimrg9eb7.blob.core.windows.net/","queue":"https://storageaccountbimrg9eb7.queue.core.windows.net/","table":"https://storageaccountbimrg9eb7.table.core.windows.net/","file":"https://storageaccountbimrg9eb7.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/bim-rg/providers/Microsoft.Storage/storageAccounts/storageaccountbimrga78a","name":"storageaccountbimrga78a","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-05-11T08:52:23.3776162Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-05-11T08:52:23.3776162Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-05-11T08:52:23.2838874Z","primaryEndpoints":{"blob":"https://storageaccountbimrga78a.blob.core.windows.net/","queue":"https://storageaccountbimrga78a.queue.core.windows.net/","table":"https://storageaccountbimrga78a.table.core.windows.net/","file":"https://storageaccountbimrga78a.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/bim-rg-function/providers/Microsoft.Storage/storageAccounts/storageaccountbimrgb117","name":"storageaccountbimrgb117","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-05-12T07:36:43.2037375Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-05-12T07:36:43.2037375Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-05-12T07:36:43.1099658Z","primaryEndpoints":{"blob":"https://storageaccountbimrgb117.blob.core.windows.net/","queue":"https://storageaccountbimrgb117.queue.core.windows.net/","table":"https://storageaccountbimrgb117.table.core.windows.net/","file":"https://storageaccountbimrgb117.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hackathon-cli-recommendation-rg/providers/Microsoft.Storage/storageAccounts/storageaccounthacka8516","name":"storageaccounthacka8516","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-28T07:01:29.5992127Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-28T07:01:29.5992127Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-07-28T07:01:29.4898032Z","primaryEndpoints":{"blob":"https://storageaccounthacka8516.blob.core.windows.net/","queue":"https://storageaccounthacka8516.queue.core.windows.net/","table":"https://storageaccounthacka8516.table.core.windows.net/","file":"https://storageaccounthacka8516.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro1","name":"storagesfrepro1","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:07:42.2058942Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:07:42.2058942Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:07:42.1277444Z","primaryEndpoints":{"dfs":"https://storagesfrepro1.dfs.core.windows.net/","web":"https://storagesfrepro1.z19.web.core.windows.net/","blob":"https://storagesfrepro1.blob.core.windows.net/","queue":"https://storagesfrepro1.queue.core.windows.net/","table":"https://storagesfrepro1.table.core.windows.net/","file":"https://storagesfrepro1.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro1-secondary.dfs.core.windows.net/","web":"https://storagesfrepro1-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro1-secondary.blob.core.windows.net/","queue":"https://storagesfrepro1-secondary.queue.core.windows.net/","table":"https://storagesfrepro1-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro10","name":"storagesfrepro10","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:00.8753334Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:00.8753334Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:14:00.7815921Z","primaryEndpoints":{"dfs":"https://storagesfrepro10.dfs.core.windows.net/","web":"https://storagesfrepro10.z19.web.core.windows.net/","blob":"https://storagesfrepro10.blob.core.windows.net/","queue":"https://storagesfrepro10.queue.core.windows.net/","table":"https://storagesfrepro10.table.core.windows.net/","file":"https://storagesfrepro10.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro10-secondary.dfs.core.windows.net/","web":"https://storagesfrepro10-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro10-secondary.blob.core.windows.net/","queue":"https://storagesfrepro10-secondary.queue.core.windows.net/","table":"https://storagesfrepro10-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro11","name":"storagesfrepro11","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:28.9859417Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:28.9859417Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:14:28.8609347Z","primaryEndpoints":{"dfs":"https://storagesfrepro11.dfs.core.windows.net/","web":"https://storagesfrepro11.z19.web.core.windows.net/","blob":"https://storagesfrepro11.blob.core.windows.net/","queue":"https://storagesfrepro11.queue.core.windows.net/","table":"https://storagesfrepro11.table.core.windows.net/","file":"https://storagesfrepro11.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro11-secondary.dfs.core.windows.net/","web":"https://storagesfrepro11-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro11-secondary.blob.core.windows.net/","queue":"https://storagesfrepro11-secondary.queue.core.windows.net/","table":"https://storagesfrepro11-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro12","name":"storagesfrepro12","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:15:15.6785362Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:15:15.6785362Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:15:15.5848345Z","primaryEndpoints":{"dfs":"https://storagesfrepro12.dfs.core.windows.net/","web":"https://storagesfrepro12.z19.web.core.windows.net/","blob":"https://storagesfrepro12.blob.core.windows.net/","queue":"https://storagesfrepro12.queue.core.windows.net/","table":"https://storagesfrepro12.table.core.windows.net/","file":"https://storagesfrepro12.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro12-secondary.dfs.core.windows.net/","web":"https://storagesfrepro12-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro12-secondary.blob.core.windows.net/","queue":"https://storagesfrepro12-secondary.queue.core.windows.net/","table":"https://storagesfrepro12-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro13","name":"storagesfrepro13","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:16:55.7609361Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:16:55.7609361Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:16:55.6671828Z","primaryEndpoints":{"dfs":"https://storagesfrepro13.dfs.core.windows.net/","web":"https://storagesfrepro13.z19.web.core.windows.net/","blob":"https://storagesfrepro13.blob.core.windows.net/","queue":"https://storagesfrepro13.queue.core.windows.net/","table":"https://storagesfrepro13.table.core.windows.net/","file":"https://storagesfrepro13.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro13-secondary.dfs.core.windows.net/","web":"https://storagesfrepro13-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro13-secondary.blob.core.windows.net/","queue":"https://storagesfrepro13-secondary.queue.core.windows.net/","table":"https://storagesfrepro13-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro14","name":"storagesfrepro14","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:17:40.7661469Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:17:40.7661469Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:17:40.6880204Z","primaryEndpoints":{"dfs":"https://storagesfrepro14.dfs.core.windows.net/","web":"https://storagesfrepro14.z19.web.core.windows.net/","blob":"https://storagesfrepro14.blob.core.windows.net/","queue":"https://storagesfrepro14.queue.core.windows.net/","table":"https://storagesfrepro14.table.core.windows.net/","file":"https://storagesfrepro14.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro14-secondary.dfs.core.windows.net/","web":"https://storagesfrepro14-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro14-secondary.blob.core.windows.net/","queue":"https://storagesfrepro14-secondary.queue.core.windows.net/","table":"https://storagesfrepro14-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro15","name":"storagesfrepro15","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:18:52.1812445Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:18:52.1812445Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:18:52.0718543Z","primaryEndpoints":{"dfs":"https://storagesfrepro15.dfs.core.windows.net/","web":"https://storagesfrepro15.z19.web.core.windows.net/","blob":"https://storagesfrepro15.blob.core.windows.net/","queue":"https://storagesfrepro15.queue.core.windows.net/","table":"https://storagesfrepro15.table.core.windows.net/","file":"https://storagesfrepro15.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro15-secondary.dfs.core.windows.net/","web":"https://storagesfrepro15-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro15-secondary.blob.core.windows.net/","queue":"https://storagesfrepro15-secondary.queue.core.windows.net/","table":"https://storagesfrepro15-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro16","name":"storagesfrepro16","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:19:33.1863807Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:19:33.1863807Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:19:33.0770034Z","primaryEndpoints":{"dfs":"https://storagesfrepro16.dfs.core.windows.net/","web":"https://storagesfrepro16.z19.web.core.windows.net/","blob":"https://storagesfrepro16.blob.core.windows.net/","queue":"https://storagesfrepro16.queue.core.windows.net/","table":"https://storagesfrepro16.table.core.windows.net/","file":"https://storagesfrepro16.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro16-secondary.dfs.core.windows.net/","web":"https://storagesfrepro16-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro16-secondary.blob.core.windows.net/","queue":"https://storagesfrepro16-secondary.queue.core.windows.net/","table":"https://storagesfrepro16-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro17","name":"storagesfrepro17","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:23.5553513Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:23.5553513Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:04:23.4771469Z","primaryEndpoints":{"dfs":"https://storagesfrepro17.dfs.core.windows.net/","web":"https://storagesfrepro17.z19.web.core.windows.net/","blob":"https://storagesfrepro17.blob.core.windows.net/","queue":"https://storagesfrepro17.queue.core.windows.net/","table":"https://storagesfrepro17.table.core.windows.net/","file":"https://storagesfrepro17.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro17-secondary.dfs.core.windows.net/","web":"https://storagesfrepro17-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro17-secondary.blob.core.windows.net/","queue":"https://storagesfrepro17-secondary.queue.core.windows.net/","table":"https://storagesfrepro17-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro18","name":"storagesfrepro18","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:53.8320772Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:53.8320772Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:04:53.7383176Z","primaryEndpoints":{"dfs":"https://storagesfrepro18.dfs.core.windows.net/","web":"https://storagesfrepro18.z19.web.core.windows.net/","blob":"https://storagesfrepro18.blob.core.windows.net/","queue":"https://storagesfrepro18.queue.core.windows.net/","table":"https://storagesfrepro18.table.core.windows.net/","file":"https://storagesfrepro18.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro18-secondary.dfs.core.windows.net/","web":"https://storagesfrepro18-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro18-secondary.blob.core.windows.net/","queue":"https://storagesfrepro18-secondary.queue.core.windows.net/","table":"https://storagesfrepro18-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro19","name":"storagesfrepro19","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:05:26.3650238Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:05:26.3650238Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:05:26.2556326Z","primaryEndpoints":{"dfs":"https://storagesfrepro19.dfs.core.windows.net/","web":"https://storagesfrepro19.z19.web.core.windows.net/","blob":"https://storagesfrepro19.blob.core.windows.net/","queue":"https://storagesfrepro19.queue.core.windows.net/","table":"https://storagesfrepro19.table.core.windows.net/","file":"https://storagesfrepro19.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro19-secondary.dfs.core.windows.net/","web":"https://storagesfrepro19-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro19-secondary.blob.core.windows.net/","queue":"https://storagesfrepro19-secondary.queue.core.windows.net/","table":"https://storagesfrepro19-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro2","name":"storagesfrepro2","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:08:45.8498203Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:08:45.8498203Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:08:45.7717196Z","primaryEndpoints":{"dfs":"https://storagesfrepro2.dfs.core.windows.net/","web":"https://storagesfrepro2.z19.web.core.windows.net/","blob":"https://storagesfrepro2.blob.core.windows.net/","queue":"https://storagesfrepro2.queue.core.windows.net/","table":"https://storagesfrepro2.table.core.windows.net/","file":"https://storagesfrepro2.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro2-secondary.dfs.core.windows.net/","web":"https://storagesfrepro2-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro2-secondary.blob.core.windows.net/","queue":"https://storagesfrepro2-secondary.queue.core.windows.net/","table":"https://storagesfrepro2-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro20","name":"storagesfrepro20","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:07.4295934Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:07.4295934Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:06:07.3358422Z","primaryEndpoints":{"dfs":"https://storagesfrepro20.dfs.core.windows.net/","web":"https://storagesfrepro20.z19.web.core.windows.net/","blob":"https://storagesfrepro20.blob.core.windows.net/","queue":"https://storagesfrepro20.queue.core.windows.net/","table":"https://storagesfrepro20.table.core.windows.net/","file":"https://storagesfrepro20.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro20-secondary.dfs.core.windows.net/","web":"https://storagesfrepro20-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro20-secondary.blob.core.windows.net/","queue":"https://storagesfrepro20-secondary.queue.core.windows.net/","table":"https://storagesfrepro20-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro21","name":"storagesfrepro21","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:37.4780251Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:37.4780251Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:06:37.3686460Z","primaryEndpoints":{"dfs":"https://storagesfrepro21.dfs.core.windows.net/","web":"https://storagesfrepro21.z19.web.core.windows.net/","blob":"https://storagesfrepro21.blob.core.windows.net/","queue":"https://storagesfrepro21.queue.core.windows.net/","table":"https://storagesfrepro21.table.core.windows.net/","file":"https://storagesfrepro21.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro21-secondary.dfs.core.windows.net/","web":"https://storagesfrepro21-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro21-secondary.blob.core.windows.net/","queue":"https://storagesfrepro21-secondary.queue.core.windows.net/","table":"https://storagesfrepro21-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro22","name":"storagesfrepro22","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:59.8295391Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:59.8295391Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:06:59.7201581Z","primaryEndpoints":{"dfs":"https://storagesfrepro22.dfs.core.windows.net/","web":"https://storagesfrepro22.z19.web.core.windows.net/","blob":"https://storagesfrepro22.blob.core.windows.net/","queue":"https://storagesfrepro22.queue.core.windows.net/","table":"https://storagesfrepro22.table.core.windows.net/","file":"https://storagesfrepro22.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro22-secondary.dfs.core.windows.net/","web":"https://storagesfrepro22-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro22-secondary.blob.core.windows.net/","queue":"https://storagesfrepro22-secondary.queue.core.windows.net/","table":"https://storagesfrepro22-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro23","name":"storagesfrepro23","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:29.0846619Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:29.0846619Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:07:29.0065050Z","primaryEndpoints":{"dfs":"https://storagesfrepro23.dfs.core.windows.net/","web":"https://storagesfrepro23.z19.web.core.windows.net/","blob":"https://storagesfrepro23.blob.core.windows.net/","queue":"https://storagesfrepro23.queue.core.windows.net/","table":"https://storagesfrepro23.table.core.windows.net/","file":"https://storagesfrepro23.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro23-secondary.dfs.core.windows.net/","web":"https://storagesfrepro23-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro23-secondary.blob.core.windows.net/","queue":"https://storagesfrepro23-secondary.queue.core.windows.net/","table":"https://storagesfrepro23-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro24","name":"storagesfrepro24","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:53.2658712Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:53.2658712Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:07:53.1565651Z","primaryEndpoints":{"dfs":"https://storagesfrepro24.dfs.core.windows.net/","web":"https://storagesfrepro24.z19.web.core.windows.net/","blob":"https://storagesfrepro24.blob.core.windows.net/","queue":"https://storagesfrepro24.queue.core.windows.net/","table":"https://storagesfrepro24.table.core.windows.net/","file":"https://storagesfrepro24.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro24-secondary.dfs.core.windows.net/","web":"https://storagesfrepro24-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro24-secondary.blob.core.windows.net/","queue":"https://storagesfrepro24-secondary.queue.core.windows.net/","table":"https://storagesfrepro24-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro25","name":"storagesfrepro25","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:08:18.7432319Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:08:18.7432319Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:08:18.6338258Z","primaryEndpoints":{"dfs":"https://storagesfrepro25.dfs.core.windows.net/","web":"https://storagesfrepro25.z19.web.core.windows.net/","blob":"https://storagesfrepro25.blob.core.windows.net/","queue":"https://storagesfrepro25.queue.core.windows.net/","table":"https://storagesfrepro25.table.core.windows.net/","file":"https://storagesfrepro25.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro25-secondary.dfs.core.windows.net/","web":"https://storagesfrepro25-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro25-secondary.blob.core.windows.net/","queue":"https://storagesfrepro25-secondary.queue.core.windows.net/","table":"https://storagesfrepro25-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro3","name":"storagesfrepro3","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:19.5698333Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:19.5698333Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:09:19.3510997Z","primaryEndpoints":{"dfs":"https://storagesfrepro3.dfs.core.windows.net/","web":"https://storagesfrepro3.z19.web.core.windows.net/","blob":"https://storagesfrepro3.blob.core.windows.net/","queue":"https://storagesfrepro3.queue.core.windows.net/","table":"https://storagesfrepro3.table.core.windows.net/","file":"https://storagesfrepro3.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro3-secondary.dfs.core.windows.net/","web":"https://storagesfrepro3-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro3-secondary.blob.core.windows.net/","queue":"https://storagesfrepro3-secondary.queue.core.windows.net/","table":"https://storagesfrepro3-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro4","name":"storagesfrepro4","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:54.9930953Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:54.9930953Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:09:54.8993063Z","primaryEndpoints":{"dfs":"https://storagesfrepro4.dfs.core.windows.net/","web":"https://storagesfrepro4.z19.web.core.windows.net/","blob":"https://storagesfrepro4.blob.core.windows.net/","queue":"https://storagesfrepro4.queue.core.windows.net/","table":"https://storagesfrepro4.table.core.windows.net/","file":"https://storagesfrepro4.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro4-secondary.dfs.core.windows.net/","web":"https://storagesfrepro4-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro4-secondary.blob.core.windows.net/","queue":"https://storagesfrepro4-secondary.queue.core.windows.net/","table":"https://storagesfrepro4-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro5","name":"storagesfrepro5","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:10:48.1114395Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:10:48.1114395Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:10:48.0177273Z","primaryEndpoints":{"dfs":"https://storagesfrepro5.dfs.core.windows.net/","web":"https://storagesfrepro5.z19.web.core.windows.net/","blob":"https://storagesfrepro5.blob.core.windows.net/","queue":"https://storagesfrepro5.queue.core.windows.net/","table":"https://storagesfrepro5.table.core.windows.net/","file":"https://storagesfrepro5.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro5-secondary.dfs.core.windows.net/","web":"https://storagesfrepro5-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro5-secondary.blob.core.windows.net/","queue":"https://storagesfrepro5-secondary.queue.core.windows.net/","table":"https://storagesfrepro5-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro6","name":"storagesfrepro6","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:11:28.0269117Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:11:28.0269117Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:11:27.9331594Z","primaryEndpoints":{"dfs":"https://storagesfrepro6.dfs.core.windows.net/","web":"https://storagesfrepro6.z19.web.core.windows.net/","blob":"https://storagesfrepro6.blob.core.windows.net/","queue":"https://storagesfrepro6.queue.core.windows.net/","table":"https://storagesfrepro6.table.core.windows.net/","file":"https://storagesfrepro6.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro6-secondary.dfs.core.windows.net/","web":"https://storagesfrepro6-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro6-secondary.blob.core.windows.net/","queue":"https://storagesfrepro6-secondary.queue.core.windows.net/","table":"https://storagesfrepro6-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro7","name":"storagesfrepro7","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:08.7761892Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:08.7761892Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:12:08.6824637Z","primaryEndpoints":{"dfs":"https://storagesfrepro7.dfs.core.windows.net/","web":"https://storagesfrepro7.z19.web.core.windows.net/","blob":"https://storagesfrepro7.blob.core.windows.net/","queue":"https://storagesfrepro7.queue.core.windows.net/","table":"https://storagesfrepro7.table.core.windows.net/","file":"https://storagesfrepro7.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro7-secondary.dfs.core.windows.net/","web":"https://storagesfrepro7-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro7-secondary.blob.core.windows.net/","queue":"https://storagesfrepro7-secondary.queue.core.windows.net/","table":"https://storagesfrepro7-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro8","name":"storagesfrepro8","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:39.5221164Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:39.5221164Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:12:39.4283923Z","primaryEndpoints":{"dfs":"https://storagesfrepro8.dfs.core.windows.net/","web":"https://storagesfrepro8.z19.web.core.windows.net/","blob":"https://storagesfrepro8.blob.core.windows.net/","queue":"https://storagesfrepro8.queue.core.windows.net/","table":"https://storagesfrepro8.table.core.windows.net/","file":"https://storagesfrepro8.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro8-secondary.dfs.core.windows.net/","web":"https://storagesfrepro8-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro8-secondary.blob.core.windows.net/","queue":"https://storagesfrepro8-secondary.queue.core.windows.net/","table":"https://storagesfrepro8-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro9","name":"storagesfrepro9","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:13:18.1628430Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:13:18.1628430Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:13:18.0691096Z","primaryEndpoints":{"dfs":"https://storagesfrepro9.dfs.core.windows.net/","web":"https://storagesfrepro9.z19.web.core.windows.net/","blob":"https://storagesfrepro9.blob.core.windows.net/","queue":"https://storagesfrepro9.queue.core.windows.net/","table":"https://storagesfrepro9.table.core.windows.net/","file":"https://storagesfrepro9.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro9-secondary.dfs.core.windows.net/","web":"https://storagesfrepro9-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro9-secondary.blob.core.windows.net/","queue":"https://storagesfrepro9-secondary.queue.core.windows.net/","table":"https://storagesfrepro9-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuhcentral/providers/Microsoft.Storage/storageAccounts/zuhstorage","name":"zuhstorage","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{"key":"value"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-02T06:04:55.7104787Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-02T06:04:55.7104787Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-02T06:04:55.6167450Z","primaryEndpoints":{"dfs":"https://zuhstorage.dfs.core.windows.net/","web":"https://zuhstorage.z19.web.core.windows.net/","blob":"https://zuhstorage.blob.core.windows.net/","queue":"https://zuhstorage.queue.core.windows.net/","table":"https://zuhstorage.table.core.windows.net/","file":"https://zuhstorage.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://zuhstorage-secondary.dfs.core.windows.net/","web":"https://zuhstorage-secondary.z19.web.core.windows.net/","blob":"https://zuhstorage-secondary.blob.core.windows.net/","queue":"https://zuhstorage-secondary.queue.core.windows.net/","table":"https://zuhstorage-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/IT_acctestRG-ibt-24_acctest-IBT-0710-2_4ebedb5a-e3b1-4675-aa4c-3c160fe70907/providers/Microsoft.Storage/storageAccounts/6ynst8ytvcms52eviy9cme3e","name":"6ynst8ytvcms52eviy9cme3e","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{"createdby":"azureimagebuilder","magicvalue":"0d819542a3774a2a8709401a7cd09eb8"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-10T11:43:30.0119558Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-10T11:43:30.0119558Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-07-10T11:43:29.9651518Z","primaryEndpoints":{"blob":"https://6ynst8ytvcms52eviy9cme3e.blob.core.windows.net/","queue":"https://6ynst8ytvcms52eviy9cme3e.queue.core.windows.net/","table":"https://6ynst8ytvcms52eviy9cme3e.table.core.windows.net/","file":"https://6ynst8ytvcms52eviy9cme3e.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azclirg/providers/Microsoft.Storage/storageAccounts/azclist0703","name":"azclist0703","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-03T10:45:23.1955829Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-03T10:45:23.1955829Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-07-03T10:45:23.1174571Z","primaryEndpoints":{"dfs":"https://azclist0703.dfs.core.windows.net/","web":"https://azclist0703.z5.web.core.windows.net/","blob":"https://azclist0703.blob.core.windows.net/","queue":"https://azclist0703.queue.core.windows.net/","table":"https://azclist0703.table.core.windows.net/","file":"https://azclist0703.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available","secondaryLocation":"westcentralus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://azclist0703-secondary.dfs.core.windows.net/","web":"https://azclist0703-secondary.z5.web.core.windows.net/","blob":"https://azclist0703-secondary.blob.core.windows.net/","queue":"https://azclist0703-secondary.queue.core.windows.net/","table":"https://azclist0703-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/xiaojxu/providers/Microsoft.Storage/storageAccounts/xiaojxudiag","name":"xiaojxudiag","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-29T07:26:34.6550125Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-29T07:26:34.6550125Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-07-29T07:26:34.5768889Z","primaryEndpoints":{"blob":"https://xiaojxudiag.blob.core.windows.net/","queue":"https://xiaojxudiag.queue.core.windows.net/","table":"https://xiaojxudiag.table.core.windows.net/","file":"https://xiaojxudiag.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/zuhlrs","name":"zuhlrs","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"privateEndpointConnections":[],"azureFilesIdentityBasedAuthentication":{"directoryServiceOptions":"None"},"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[{"value":"13.104.129.64/26","action":"Allow"},{"value":"13.104.145.0/26","action":"Allow"},{"value":"13.104.208.192/26","action":"Allow"},{"value":"13.104.213.0/25","action":"Allow"},{"value":"13.104.220.0/25","action":"Allow"},{"value":"13.105.14.0/25","action":"Allow"},{"value":"13.105.14.128/26","action":"Allow"},{"value":"13.105.18.160/27","action":"Allow"},{"value":"13.105.36.0/27","action":"Allow"},{"value":"13.105.36.32/28","action":"Allow"},{"value":"13.105.36.64/27","action":"Allow"},{"value":"13.105.36.128/26","action":"Allow"},{"value":"13.105.66.64/26","action":"Allow"},{"value":"20.36.0.0/19","action":"Allow"},{"value":"20.38.99.0/24","action":"Allow"},{"value":"20.42.128.0/18","action":"Allow"},{"value":"20.47.62.0/23","action":"Allow"},{"value":"20.47.120.0/23","action":"Allow"},{"value":"20.51.64.0/18","action":"Allow"},{"value":"20.57.128.0/18","action":"Allow"},{"value":"20.59.0.0/18","action":"Allow"},{"value":"20.60.20.0/24","action":"Allow"},{"value":"20.150.68.0/24","action":"Allow"},{"value":"20.150.78.0/24","action":"Allow"},{"value":"20.150.87.0/24","action":"Allow"},{"value":"20.150.107.0/24","action":"Allow"},{"value":"20.187.0.0/18","action":"Allow"},{"value":"20.190.0.0/18","action":"Allow"},{"value":"20.190.133.0/24","action":"Allow"},{"value":"20.190.154.0/24","action":"Allow"},{"value":"20.191.64.0/18","action":"Allow"},{"value":"23.98.47.0/24","action":"Allow"},{"value":"23.102.192.0/21","action":"Allow"},{"value":"23.102.203.0/24","action":"Allow"},{"value":"23.103.64.32/27","action":"Allow"},{"value":"23.103.64.64/27","action":"Allow"},{"value":"23.103.66.0/23","action":"Allow"},{"value":"40.64.64.0/18","action":"Allow"},{"value":"40.64.128.0/21","action":"Allow"},{"value":"40.65.64.0/18","action":"Allow"},{"value":"40.77.136.0/28","action":"Allow"},{"value":"40.77.136.64/28","action":"Allow"},{"value":"40.77.139.128/25","action":"Allow"},{"value":"40.77.160.0/27","action":"Allow"},{"value":"40.77.162.0/24","action":"Allow"},{"value":"40.77.164.0/24","action":"Allow"},{"value":"40.77.169.0/24","action":"Allow"},{"value":"40.77.175.64/27","action":"Allow"},{"value":"40.77.180.0/23","action":"Allow"},{"value":"40.77.182.64/27","action":"Allow"},{"value":"40.77.185.128/25","action":"Allow"},{"value":"40.77.186.0/23","action":"Allow"},{"value":"40.77.198.128/25","action":"Allow"},{"value":"40.77.199.128/26","action":"Allow"},{"value":"40.77.200.0/25","action":"Allow"},{"value":"40.77.202.0/24","action":"Allow"},{"value":"40.77.224.96/27","action":"Allow"},{"value":"40.77.230.0/24","action":"Allow"},{"value":"40.77.232.128/25","action":"Allow"},{"value":"40.77.234.224/27","action":"Allow"},{"value":"40.77.236.128/27","action":"Allow"},{"value":"40.77.240.128/25","action":"Allow"},{"value":"40.77.241.0/24","action":"Allow"},{"value":"40.77.242.0/23","action":"Allow"},{"value":"40.77.247.0/24","action":"Allow"},{"value":"40.77.249.0/24","action":"Allow"},{"value":"40.77.250.0/24","action":"Allow"},{"value":"40.77.254.128/25","action":"Allow"},{"value":"40.78.208.32/30","action":"Allow"},{"value":"40.78.217.0/24","action":"Allow"},{"value":"40.78.240.0/20","action":"Allow"},{"value":"40.80.160.0/24","action":"Allow"},{"value":"40.82.36.0/22","action":"Allow"},{"value":"40.87.232.0/21","action":"Allow"},{"value":"40.90.16.192/26","action":"Allow"},{"value":"40.90.131.32/27","action":"Allow"},{"value":"40.90.132.48/28","action":"Allow"},{"value":"40.90.136.224/27","action":"Allow"},{"value":"40.90.138.208/28","action":"Allow"},{"value":"40.90.139.32/27","action":"Allow"},{"value":"40.90.146.32/27","action":"Allow"},{"value":"40.90.148.192/27","action":"Allow"},{"value":"40.90.153.0/26","action":"Allow"},{"value":"40.90.192.0/19","action":"Allow"},{"value":"40.91.0.0/22","action":"Allow"},{"value":"40.91.64.0/18","action":"Allow"},{"value":"40.91.160.0/19","action":"Allow"},{"value":"40.125.64.0/18","action":"Allow"},{"value":"40.126.5.0/24","action":"Allow"},{"value":"40.126.26.0/24","action":"Allow"},{"value":"51.141.160.0/19","action":"Allow"},{"value":"51.143.0.0/17","action":"Allow"},{"value":"52.96.11.0/24","action":"Allow"},{"value":"52.108.72.0/24","action":"Allow"},{"value":"52.108.93.0/24","action":"Allow"},{"value":"52.109.24.0/22","action":"Allow"},{"value":"52.111.246.0/24","action":"Allow"},{"value":"52.112.105.0/24","action":"Allow"},{"value":"52.112.109.0/24","action":"Allow"},{"value":"52.112.115.0/24","action":"Allow"},{"value":"52.114.148.0/22","action":"Allow"},{"value":"52.115.55.0/24","action":"Allow"},{"value":"52.136.0.0/22","action":"Allow"},{"value":"52.137.64.0/18","action":"Allow"},{"value":"52.143.64.0/18","action":"Allow"},{"value":"52.143.197.0/24","action":"Allow"},{"value":"52.143.211.0/24","action":"Allow"},{"value":"52.148.128.0/18","action":"Allow"},{"value":"52.149.0.0/18","action":"Allow"},{"value":"52.151.0.0/18","action":"Allow"},{"value":"52.156.64.0/18","action":"Allow"},{"value":"52.156.128.0/19","action":"Allow"},{"value":"52.158.224.0/19","action":"Allow"},{"value":"52.175.192.0/18","action":"Allow"},{"value":"52.183.0.0/17","action":"Allow"},{"value":"52.191.128.0/18","action":"Allow"},{"value":"52.229.0.0/18","action":"Allow"},{"value":"52.232.152.0/24","action":"Allow"},{"value":"52.233.64.0/18","action":"Allow"},{"value":"52.235.64.0/18","action":"Allow"},{"value":"52.239.148.128/25","action":"Allow"},{"value":"52.239.176.128/25","action":"Allow"},{"value":"52.239.193.0/24","action":"Allow"},{"value":"52.239.210.0/23","action":"Allow"},{"value":"52.239.236.0/23","action":"Allow"},{"value":"52.245.52.0/22","action":"Allow"},{"value":"52.246.192.0/18","action":"Allow"},{"value":"52.247.192.0/18","action":"Allow"},{"value":"52.250.0.0/17","action":"Allow"},{"value":"65.52.111.0/24","action":"Allow"},{"value":"65.55.32.128/28","action":"Allow"},{"value":"65.55.32.192/27","action":"Allow"},{"value":"65.55.32.224/28","action":"Allow"},{"value":"65.55.33.176/28","action":"Allow"},{"value":"65.55.33.192/28","action":"Allow"},{"value":"65.55.35.192/27","action":"Allow"},{"value":"65.55.44.8/29","action":"Allow"},{"value":"65.55.44.112/28","action":"Allow"},{"value":"65.55.51.0/24","action":"Allow"},{"value":"65.55.105.160/27","action":"Allow"},{"value":"65.55.106.192/28","action":"Allow"},{"value":"65.55.106.240/28","action":"Allow"},{"value":"65.55.107.0/28","action":"Allow"},{"value":"65.55.107.96/27","action":"Allow"},{"value":"65.55.110.0/24","action":"Allow"},{"value":"65.55.120.0/24","action":"Allow"},{"value":"65.55.207.0/24","action":"Allow"},{"value":"65.55.209.0/25","action":"Allow"},{"value":"65.55.210.0/24","action":"Allow"},{"value":"65.55.219.64/26","action":"Allow"},{"value":"65.55.250.0/24","action":"Allow"},{"value":"65.55.252.0/24","action":"Allow"},{"value":"70.37.0.0/21","action":"Allow"},{"value":"70.37.8.0/22","action":"Allow"},{"value":"70.37.16.0/20","action":"Allow"},{"value":"70.37.32.0/20","action":"Allow"},{"value":"104.44.89.128/27","action":"Allow"},{"value":"104.44.89.192/27","action":"Allow"},{"value":"104.44.95.0/28","action":"Allow"},{"value":"131.253.12.160/28","action":"Allow"},{"value":"131.253.12.228/30","action":"Allow"},{"value":"131.253.13.24/29","action":"Allow"},{"value":"131.253.13.88/30","action":"Allow"},{"value":"131.253.13.128/27","action":"Allow"},{"value":"131.253.14.4/30","action":"Allow"},{"value":"131.253.14.96/27","action":"Allow"},{"value":"131.253.14.128/27","action":"Allow"},{"value":"131.253.14.192/29","action":"Allow"},{"value":"131.253.15.192/28","action":"Allow"},{"value":"131.253.35.128/26","action":"Allow"},{"value":"131.253.40.48/29","action":"Allow"},{"value":"131.253.40.128/27","action":"Allow"},{"value":"131.253.41.0/24","action":"Allow"},{"value":"134.170.222.0/24","action":"Allow"},{"value":"137.116.176.0/21","action":"Allow"},{"value":"157.55.2.128/26","action":"Allow"},{"value":"157.55.12.64/26","action":"Allow"},{"value":"157.55.13.64/26","action":"Allow"},{"value":"157.55.39.0/24","action":"Allow"},{"value":"157.55.55.228/30","action":"Allow"},{"value":"157.55.55.232/29","action":"Allow"},{"value":"157.55.55.240/28","action":"Allow"},{"value":"157.55.106.0/26","action":"Allow"},{"value":"157.55.154.128/25","action":"Allow"},{"value":"157.56.2.0/25","action":"Allow"},{"value":"157.56.3.128/25","action":"Allow"},{"value":"157.56.19.224/27","action":"Allow"},{"value":"157.56.21.160/27","action":"Allow"},{"value":"157.56.21.192/27","action":"Allow"},{"value":"157.56.80.0/25","action":"Allow"},{"value":"168.62.64.0/19","action":"Allow"},{"value":"199.30.24.0/23","action":"Allow"},{"value":"199.30.27.0/25","action":"Allow"},{"value":"199.30.27.144/28","action":"Allow"},{"value":"199.30.27.160/27","action":"Allow"},{"value":"199.30.31.192/26","action":"Allow"},{"value":"207.46.13.0/24","action":"Allow"},{"value":"207.68.174.192/28","action":"Allow"},{"value":"13.77.128.0/18","action":"Allow"},{"value":"13.66.128.0/17","action":"Allow"}],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-30T07:47:21.5398746Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-30T07:47:21.5398746Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-06-30T07:47:21.4617428Z","primaryEndpoints":{"dfs":"https://zuhlrs.dfs.core.windows.net/","web":"https://zuhlrs.z5.web.core.windows.net/","blob":"https://zuhlrs.blob.core.windows.net/","queue":"https://zuhlrs.queue.core.windows.net/","table":"https://zuhlrs.table.core.windows.net/","file":"https://zuhlrs.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available","secondaryLocation":"westcentralus","statusOfSecondary":"available"}},{"sku":{"name":"Standard_ZRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/zuhzrs","name":"zuhzrs","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-30T07:44:07.3205056Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-30T07:44:07.3205056Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-06-30T07:44:07.2424144Z","primaryEndpoints":{"dfs":"https://zuhzrs.dfs.core.windows.net/","web":"https://zuhzrs.z5.web.core.windows.net/","blob":"https://zuhzrs.blob.core.windows.net/","queue":"https://zuhzrs.queue.core.windows.net/","table":"https://zuhzrs.table.core.windows.net/","file":"https://zuhzrs.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/bim-rg/providers/Microsoft.Storage/storageAccounts/bimstorageacc","name":"bimstorageacc","type":"Microsoft.Storage/storageAccounts","location":"westcentralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T07:20:55.2327590Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T07:20:55.2327590Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-03T07:20:55.1858389Z","primaryEndpoints":{"dfs":"https://bimstorageacc.dfs.core.windows.net/","web":"https://bimstorageacc.z4.web.core.windows.net/","blob":"https://bimstorageacc.blob.core.windows.net/","queue":"https://bimstorageacc.queue.core.windows.net/","table":"https://bimstorageacc.table.core.windows.net/","file":"https://bimstorageacc.file.core.windows.net/"},"primaryLocation":"westcentralus","statusOfPrimary":"available","secondaryLocation":"westus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://bimstorageacc-secondary.dfs.core.windows.net/","web":"https://bimstorageacc-secondary.z4.web.core.windows.net/","blob":"https://bimstorageacc-secondary.blob.core.windows.net/","queue":"https://bimstorageacc-secondary.queue.core.windows.net/","table":"https://bimstorageacc-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/advwreb","name":"advwreb","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"privateEndpointConnections":[],"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-29T16:18:22.7391575Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-29T16:18:22.7391575Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-07-29T16:18:22.6918660Z","primaryEndpoints":{"dfs":"https://advwreb.dfs.core.windows.net/","web":"https://advwreb.z3.web.core.windows.net/","blob":"https://advwreb.blob.core.windows.net/","queue":"https://advwreb.queue.core.windows.net/","table":"https://advwreb.table.core.windows.net/","file":"https://advwreb.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"BlobStorage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-MyWorkspace1-3yvd2kcnpsfm5/providers/Microsoft.Storage/storageAccounts/dbstorageafjorlaw6ekoi","name":"dbstorageafjorlaw6ekoi","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{"application":"databricks","databricks-environment":"true"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"requireInfrastructureEncryption":true,"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-03T04:54:13.0551809Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-03T04:54:13.0551809Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-08-03T04:54:12.9926412Z","primaryEndpoints":{"dfs":"https://dbstorageafjorlaw6ekoi.dfs.core.windows.net/","blob":"https://dbstorageafjorlaw6ekoi.blob.core.windows.net/","table":"https://dbstorageafjorlaw6ekoi.table.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available","secondaryLocation":"centraluseuap","statusOfSecondary":"available"}},{"identity":{"principalId":"7669e357-e1a4-498d-aa33-ba4b357c6f52","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","type":"SystemAssigned"},"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"BlobStorage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-MyWorkspace-j2h8wc266spgx/providers/Microsoft.Storage/storageAccounts/dbstoragepuf6bmfb7dcxa","name":"dbstoragepuf6bmfb7dcxa","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{"application":"databricks","databricks-environment":"true"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"requireInfrastructureEncryption":true,"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-03T04:47:00.4136456Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-03T04:47:00.4136456Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-08-03T04:47:00.3511548Z","primaryEndpoints":{"dfs":"https://dbstoragepuf6bmfb7dcxa.dfs.core.windows.net/","blob":"https://dbstoragepuf6bmfb7dcxa.blob.core.windows.net/","table":"https://dbstoragepuf6bmfb7dcxa.table.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available","secondaryLocation":"centraluseuap","statusOfSecondary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/jksdgva","name":"jksdgva","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"privateEndpointConnections":[],"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-30T09:41:58.0481530Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-30T09:41:58.0481530Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-07-30T09:41:58.0012163Z","primaryEndpoints":{"dfs":"https://jksdgva.dfs.core.windows.net/","web":"https://jksdgva.z3.web.core.windows.net/","blob":"https://jksdgva.blob.core.windows.net/","queue":"https://jksdgva.queue.core.windows.net/","table":"https://jksdgva.table.core.windows.net/","file":"https://jksdgva.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/tckftakf","name":"tckftakf","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"privateEndpointConnections":[],"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-29T16:14:55.8833538Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-29T16:14:55.8833538Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-07-29T16:14:55.8521030Z","primaryEndpoints":{"dfs":"https://tckftakf.dfs.core.windows.net/","web":"https://tckftakf.z3.web.core.windows.net/","blob":"https://tckftakf.blob.core.windows.net/","queue":"https://tckftakf.queue.core.windows.net/","table":"https://tckftakf.table.core.windows.net/","file":"https://tckftakf.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/vsdchjkav","name":"vsdchjkav","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"privateEndpointConnections":[],"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-29T16:17:18.4683358Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-29T16:17:18.4683358Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-07-29T16:17:18.4058930Z","primaryEndpoints":{"dfs":"https://vsdchjkav.dfs.core.windows.net/","web":"https://vsdchjkav.z3.web.core.windows.net/","blob":"https://vsdchjkav.blob.core.windows.net/","queue":"https://vsdchjkav.queue.core.windows.net/","table":"https://vsdchjkav.table.core.windows.net/","file":"https://vsdchjkav.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"BlobStorage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/zuhblob","name":"zuhblob","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-08T02:49:16.2101485Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-08T02:49:16.2101485Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Cool","provisioningState":"Succeeded","creationTime":"2020-06-08T02:49:16.1476663Z","primaryEndpoints":{"dfs":"https://zuhblob.dfs.core.windows.net/","blob":"https://zuhblob.blob.core.windows.net/","table":"https://zuhblob.table.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/zuhdefault","name":"zuhdefault","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[{"value":"167.1.1.24","action":"Allow"},{"value":"13.66.128.0/17","action":"Allow"},{"value":"13.77.128.0/18","action":"Allow"},{"value":"13.104.129.64/26","action":"Allow"},{"value":"13.104.145.0/26","action":"Allow"},{"value":"13.104.208.192/26","action":"Allow"},{"value":"13.104.213.0/25","action":"Allow"},{"value":"13.104.220.0/25","action":"Allow"},{"value":"13.105.14.0/25","action":"Allow"},{"value":"13.105.14.128/26","action":"Allow"},{"value":"13.105.18.160/27","action":"Allow"},{"value":"13.105.36.0/27","action":"Allow"},{"value":"13.105.36.32/28","action":"Allow"},{"value":"13.105.36.64/27","action":"Allow"},{"value":"13.105.36.128/26","action":"Allow"},{"value":"13.105.66.64/26","action":"Allow"},{"value":"20.36.0.0/19","action":"Allow"},{"value":"20.38.99.0/24","action":"Allow"},{"value":"20.42.128.0/18","action":"Allow"},{"value":"20.47.62.0/23","action":"Allow"},{"value":"20.47.120.0/23","action":"Allow"},{"value":"20.51.64.0/18","action":"Allow"},{"value":"20.57.128.0/18","action":"Allow"},{"value":"20.59.0.0/18","action":"Allow"},{"value":"20.60.20.0/24","action":"Allow"},{"value":"20.150.68.0/24","action":"Allow"},{"value":"20.150.78.0/24","action":"Allow"},{"value":"20.150.87.0/24","action":"Allow"},{"value":"20.150.107.0/24","action":"Allow"},{"value":"20.187.0.0/18","action":"Allow"},{"value":"20.190.0.0/18","action":"Allow"},{"value":"20.190.133.0/24","action":"Allow"},{"value":"20.190.154.0/24","action":"Allow"},{"value":"20.191.64.0/18","action":"Allow"},{"value":"23.98.47.0/24","action":"Allow"},{"value":"23.102.192.0/21","action":"Allow"},{"value":"23.102.203.0/24","action":"Allow"},{"value":"23.103.64.32/27","action":"Allow"},{"value":"23.103.64.64/27","action":"Allow"},{"value":"23.103.66.0/23","action":"Allow"},{"value":"40.64.64.0/18","action":"Allow"},{"value":"40.64.128.0/21","action":"Allow"},{"value":"40.65.64.0/18","action":"Allow"},{"value":"40.77.136.0/28","action":"Allow"},{"value":"40.77.136.64/28","action":"Allow"},{"value":"40.77.139.128/25","action":"Allow"},{"value":"40.77.160.0/27","action":"Allow"},{"value":"40.77.162.0/24","action":"Allow"},{"value":"40.77.164.0/24","action":"Allow"},{"value":"40.77.169.0/24","action":"Allow"},{"value":"40.77.175.64/27","action":"Allow"},{"value":"40.77.180.0/23","action":"Allow"},{"value":"40.77.182.64/27","action":"Allow"},{"value":"40.77.185.128/25","action":"Allow"},{"value":"40.77.186.0/23","action":"Allow"},{"value":"40.77.198.128/25","action":"Allow"},{"value":"40.77.199.128/26","action":"Allow"},{"value":"40.77.200.0/25","action":"Allow"},{"value":"40.77.202.0/24","action":"Allow"},{"value":"40.77.224.96/27","action":"Allow"},{"value":"40.77.230.0/24","action":"Allow"},{"value":"40.77.232.128/25","action":"Allow"},{"value":"40.77.234.224/27","action":"Allow"},{"value":"40.77.236.128/27","action":"Allow"},{"value":"40.77.240.128/25","action":"Allow"},{"value":"40.77.241.0/24","action":"Allow"},{"value":"40.77.242.0/23","action":"Allow"},{"value":"40.77.247.0/24","action":"Allow"},{"value":"40.77.249.0/24","action":"Allow"},{"value":"40.77.250.0/24","action":"Allow"},{"value":"40.77.254.128/25","action":"Allow"},{"value":"40.78.208.32/30","action":"Allow"},{"value":"40.78.217.0/24","action":"Allow"},{"value":"40.78.240.0/20","action":"Allow"},{"value":"40.80.160.0/24","action":"Allow"},{"value":"40.82.36.0/22","action":"Allow"},{"value":"40.87.232.0/21","action":"Allow"},{"value":"40.90.16.192/26","action":"Allow"},{"value":"40.90.131.32/27","action":"Allow"},{"value":"40.90.132.48/28","action":"Allow"},{"value":"40.90.136.224/27","action":"Allow"},{"value":"40.90.138.208/28","action":"Allow"},{"value":"40.90.139.32/27","action":"Allow"},{"value":"40.90.146.32/27","action":"Allow"},{"value":"40.90.148.192/27","action":"Allow"},{"value":"40.90.153.0/26","action":"Allow"},{"value":"40.90.192.0/19","action":"Allow"},{"value":"40.91.0.0/22","action":"Allow"},{"value":"40.91.64.0/18","action":"Allow"},{"value":"40.91.160.0/19","action":"Allow"},{"value":"40.125.64.0/18","action":"Allow"},{"value":"40.126.5.0/24","action":"Allow"},{"value":"40.126.26.0/24","action":"Allow"},{"value":"51.141.160.0/19","action":"Allow"},{"value":"51.143.0.0/17","action":"Allow"},{"value":"52.96.11.0/24","action":"Allow"},{"value":"52.108.72.0/24","action":"Allow"},{"value":"52.108.93.0/24","action":"Allow"},{"value":"52.109.24.0/22","action":"Allow"},{"value":"52.111.246.0/24","action":"Allow"},{"value":"52.112.105.0/24","action":"Allow"},{"value":"52.112.109.0/24","action":"Allow"},{"value":"52.112.115.0/24","action":"Allow"},{"value":"52.114.148.0/22","action":"Allow"},{"value":"52.115.55.0/24","action":"Allow"},{"value":"52.136.0.0/22","action":"Allow"},{"value":"52.137.64.0/18","action":"Allow"},{"value":"52.143.64.0/18","action":"Allow"},{"value":"52.143.197.0/24","action":"Allow"},{"value":"52.143.211.0/24","action":"Allow"},{"value":"52.148.128.0/18","action":"Allow"},{"value":"52.149.0.0/18","action":"Allow"},{"value":"52.151.0.0/18","action":"Allow"},{"value":"52.156.64.0/18","action":"Allow"},{"value":"52.156.128.0/19","action":"Allow"},{"value":"52.158.224.0/19","action":"Allow"},{"value":"52.175.192.0/18","action":"Allow"},{"value":"52.183.0.0/17","action":"Allow"},{"value":"52.191.128.0/18","action":"Allow"},{"value":"52.229.0.0/18","action":"Allow"},{"value":"52.232.152.0/24","action":"Allow"},{"value":"52.233.64.0/18","action":"Allow"},{"value":"52.235.64.0/18","action":"Allow"},{"value":"52.239.148.128/25","action":"Allow"},{"value":"52.239.176.128/25","action":"Allow"},{"value":"52.239.193.0/24","action":"Allow"},{"value":"52.239.210.0/23","action":"Allow"},{"value":"52.239.236.0/23","action":"Allow"},{"value":"52.245.52.0/22","action":"Allow"},{"value":"52.246.192.0/18","action":"Allow"},{"value":"52.247.192.0/18","action":"Allow"},{"value":"52.250.0.0/17","action":"Allow"},{"value":"65.52.111.0/24","action":"Allow"},{"value":"65.55.32.128/28","action":"Allow"},{"value":"65.55.32.192/27","action":"Allow"},{"value":"65.55.32.224/28","action":"Allow"},{"value":"65.55.33.176/28","action":"Allow"},{"value":"65.55.33.192/28","action":"Allow"},{"value":"65.55.35.192/27","action":"Allow"},{"value":"65.55.44.8/29","action":"Allow"},{"value":"65.55.44.112/28","action":"Allow"},{"value":"65.55.51.0/24","action":"Allow"},{"value":"65.55.105.160/27","action":"Allow"},{"value":"65.55.106.192/28","action":"Allow"},{"value":"65.55.106.240/28","action":"Allow"},{"value":"65.55.107.0/28","action":"Allow"},{"value":"65.55.107.96/27","action":"Allow"},{"value":"65.55.110.0/24","action":"Allow"},{"value":"65.55.120.0/24","action":"Allow"},{"value":"65.55.207.0/24","action":"Allow"},{"value":"65.55.209.0/25","action":"Allow"},{"value":"65.55.210.0/24","action":"Allow"},{"value":"65.55.219.64/26","action":"Allow"},{"value":"65.55.250.0/24","action":"Allow"},{"value":"65.55.252.0/24","action":"Allow"},{"value":"70.37.0.0/21","action":"Allow"},{"value":"70.37.8.0/22","action":"Allow"},{"value":"70.37.16.0/20","action":"Allow"},{"value":"70.37.32.0/20","action":"Allow"},{"value":"104.44.89.128/27","action":"Allow"},{"value":"104.44.89.192/27","action":"Allow"},{"value":"104.44.95.0/28","action":"Allow"},{"value":"131.253.12.160/28","action":"Allow"},{"value":"131.253.12.228/30","action":"Allow"},{"value":"131.253.13.24/29","action":"Allow"},{"value":"131.253.13.88/30","action":"Allow"},{"value":"131.253.13.128/27","action":"Allow"},{"value":"131.253.14.4/30","action":"Allow"},{"value":"131.253.14.96/27","action":"Allow"},{"value":"131.253.14.128/27","action":"Allow"},{"value":"131.253.14.192/29","action":"Allow"},{"value":"131.253.15.192/28","action":"Allow"},{"value":"131.253.35.128/26","action":"Allow"},{"value":"131.253.40.48/29","action":"Allow"},{"value":"131.253.40.128/27","action":"Allow"},{"value":"131.253.41.0/24","action":"Allow"},{"value":"134.170.222.0/24","action":"Allow"},{"value":"137.116.176.0/21","action":"Allow"},{"value":"157.55.2.128/26","action":"Allow"},{"value":"157.55.12.64/26","action":"Allow"},{"value":"157.55.13.64/26","action":"Allow"},{"value":"157.55.39.0/24","action":"Allow"},{"value":"157.55.55.228/30","action":"Allow"},{"value":"157.55.55.232/29","action":"Allow"},{"value":"157.55.55.240/28","action":"Allow"},{"value":"157.55.106.0/26","action":"Allow"},{"value":"157.55.154.128/25","action":"Allow"},{"value":"157.56.2.0/25","action":"Allow"},{"value":"157.56.3.128/25","action":"Allow"},{"value":"157.56.19.224/27","action":"Allow"},{"value":"157.56.21.160/27","action":"Allow"},{"value":"157.56.21.192/27","action":"Allow"},{"value":"157.56.80.0/25","action":"Allow"},{"value":"168.62.64.0/19","action":"Allow"},{"value":"199.30.24.0/23","action":"Allow"},{"value":"199.30.27.0/25","action":"Allow"},{"value":"199.30.27.144/28","action":"Allow"},{"value":"199.30.27.160/27","action":"Allow"},{"value":"199.30.31.192/26","action":"Allow"},{"value":"207.46.13.0/24","action":"Allow"}],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-08T06:37:33.5016145Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-08T06:37:33.5016145Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-06-08T06:37:33.4547782Z","primaryEndpoints":{"dfs":"https://zuhdefault.dfs.core.windows.net/","web":"https://zuhdefault.z3.web.core.windows.net/","blob":"https://zuhdefault.blob.core.windows.net/","queue":"https://zuhdefault.queue.core.windows.net/","table":"https://zuhdefault.table.core.windows.net/","file":"https://zuhdefault.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available","secondaryLocation":"centraluseuap","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://zuhdefault-secondary.dfs.core.windows.net/","web":"https://zuhdefault-secondary.z3.web.core.windows.net/","blob":"https://zuhdefault-secondary.blob.core.windows.net/","queue":"https://zuhdefault-secondary.queue.core.windows.net/","table":"https://zuhdefault-secondary.table.core.windows.net/"}}},{"sku":{"name":"Premium_LRS","tier":"Premium"},"kind":"FileStorage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/zuhpremium2","name":"zuhpremium2","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"privateEndpointConnections":[],"largeFileSharesState":"Enabled","networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-17T06:42:28.7244764Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-17T06:42:28.7244764Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-07-17T06:42:28.6619434Z","primaryEndpoints":{"file":"https://zuhpremium2.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}}]}' + string: '{"value":[{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Storage/storageAccounts/storagename000004","name":"storagename000004","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-05-08T03:36:48.0523025Z","key2":"2021-05-08T03:36:48.0523025Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-08T03:36:48.0523025Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-08T03:36:48.0523025Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-05-08T03:36:47.9428838Z","primaryEndpoints":{"dfs":"https://storagename000004.dfs.core.windows.net/","web":"https://storagename000004.z13.web.core.windows.net/","blob":"https://storagename000004.blob.core.windows.net/","queue":"https://storagename000004.queue.core.windows.net/","table":"https://storagename000004.table.core.windows.net/","file":"https://storagename000004.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgpy-wl4icgpokspfg64qk3lo5wcrycyvozfzek2ydotpcfw4lzcld4jbh6p2cgatqsbw274y5q7lngm/providers/Microsoft.Storage/storageAccounts/storageaccountxxyyzzccc","name":"storageaccountxxyyzzccc","type":"Microsoft.Storage/storageAccounts","location":"westeurope","tags":{"key1":"value1","key2":"value2"},"properties":{"keyCreationTime":{"key1":"2021-05-06T08:56:52.0409593Z","key2":"2021-05-06T08:58:10.3851043Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-06T08:56:52.0409593Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-06T08:56:52.0409593Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-05-06T08:56:51.9472088Z","primaryEndpoints":{"dfs":"https://storageaccountxxyyzzccc.dfs.core.windows.net/","web":"https://storageaccountxxyyzzccc.z6.web.core.windows.net/","blob":"https://storageaccountxxyyzzccc.blob.core.windows.net/","queue":"https://storageaccountxxyyzzccc.queue.core.windows.net/","table":"https://storageaccountxxyyzzccc.table.core.windows.net/","file":"https://storageaccountxxyyzzccc.file.core.windows.net/"},"primaryLocation":"westeurope","statusOfPrimary":"available","secondaryLocation":"northeurope","statusOfSecondary":"available"}},{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rgpy-6rscqbsk4bon32ko4qdy2dh3spnxqql6aujppxjyp22vusupcfzborpqrunnwrjnjy2nesrkyts/providers/Microsoft.Storage/storageAccounts/storageaccountxxyyzzcccx","name":"storageaccountxxyyzzcccx","type":"Microsoft.Storage/storageAccounts","location":"westeurope","tags":{"key1":"value1","key2":"value2"},"properties":{"keyCreationTime":{"key1":"2021-05-06T09:28:12.3447524Z","key2":"2021-05-06T09:29:49.4921096Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-06T09:28:12.3447524Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-06T09:28:12.3447524Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-05-06T09:28:12.2353863Z","primaryEndpoints":{"dfs":"https://storageaccountxxyyzzcccx.dfs.core.windows.net/","web":"https://storageaccountxxyyzzcccx.z6.web.core.windows.net/","blob":"https://storageaccountxxyyzzcccx.blob.core.windows.net/","queue":"https://storageaccountxxyyzzcccx.queue.core.windows.net/","table":"https://storageaccountxxyyzzcccx.table.core.windows.net/","file":"https://storageaccountxxyyzzcccx.file.core.windows.net/"},"primaryLocation":"westeurope","statusOfPrimary":"available","secondaryLocation":"northeurope","statusOfSecondary":"available"}}]}' headers: cache-control: - no-cache content-length: - - '161965' + - '4685' content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:23:46 GMT + - Sat, 08 May 2021 03:37:08 GMT expires: - '-1' pragma: @@ -144,17 +137,8 @@ interactions: x-content-type-options: - nosniff x-ms-original-request-ids: - - 57f26bb3-edf5-4dd2-9587-700e571107ad - - e16ee8e6-8dd9-458b-9ada-9e77132d265b - - 582a3439-776a-46eb-a137-86b39e9fe329 - - b91bc538-57aa-44af-bf72-0baad3a5abf1 - - 9f110aea-625d-4b01-8d22-5203f3f0bdb0 - - 475ad739-e93f-4cc2-a169-b65cfa4a9baf - - 961268f6-96bc-407f-8136-913156d77ae3 - - 56743317-ebca-4b03-910d-e4ddbb39a2f4 - - 9c2c3ac3-9031-48de-b884-2432e04f6a01 - - e9f5844d-9432-43f3-b9c0-2044106f846b - - cb3e7ab7-c7ea-44ba-8c84-a2f5cb0d6ded + - d10d51ca-ab0f-445e-806a-118fb509777f + - cf08bc7d-e060-44b9-9cc1-a92beb9bb5fe status: code: 200 message: OK @@ -174,24 +158,21 @@ interactions: ParameterSetName: - -n --account-name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storage/11.1.0 - Azure-SDK-For-Python AZURECLI/2.10.1 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/17.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Storage/storageAccounts/storagename000004/listKeys?api-version=2019-06-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Storage/storageAccounts/storagename000004/listKeys?api-version=2021-02-01&$expand=kerb response: body: - string: '{"keys":[{"keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' + string: '{"keys":[{"creationTime":"2021-05-08T03:36:48.0523025Z","keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"creationTime":"2021-05-08T03:36:48.0523025Z","keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' headers: cache-control: - no-cache content-length: - - '288' + - '380' content-type: - application/json date: - - Mon, 10 Aug 2020 03:23:47 GMT + - Sat, 08 May 2021 03:37:08 GMT expires: - '-1' pragma: @@ -207,7 +188,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11998' + - '11999' status: code: 200 message: OK @@ -219,9 +200,9 @@ interactions: Content-Length: - '0' User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.0; Windows 10) AZURECLI/2.10.1 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Mon, 10 Aug 2020 03:23:48 GMT + - Sat, 08 May 2021 03:37:08 GMT x-ms-version: - '2018-11-09' method: PUT @@ -233,11 +214,11 @@ interactions: content-length: - '0' date: - - Mon, 10 Aug 2020 03:23:48 GMT + - Sat, 08 May 2021 03:37:11 GMT etag: - - '"0x8D83CDCCC6404E7"' + - '"0x8D911D290F93793"' last-modified: - - Mon, 10 Aug 2020 03:23:49 GMT + - Sat, 08 May 2021 03:37:12 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -259,91 +240,40 @@ interactions: ParameterSetName: - --assignee --role --scope User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-authorization/0.52.0 - Azure-SDK-For-Python AZURECLI/2.10.1 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Storage/storageAccounts/storagename000004/providers/Microsoft.Authorization/roleDefinitions?$filter=roleName%20eq%20%27Storage%20Account%20Contributor%27&api-version=2018-01-01-preview - response: - body: - string: '{"value":[{"properties":{"roleName":"Storage Account Contributor","type":"BuiltInRole","description":"Lets - you manage storage accounts, including accessing storage account keys which - provide full access to storage account data.","assignableScopes":["/"],"permissions":[{"actions":["Microsoft.Authorization/*/read","Microsoft.Insights/alertRules/*","Microsoft.Insights/diagnosticSettings/*","Microsoft.Network/virtualNetworks/subnets/joinViaServiceEndpoint/action","Microsoft.ResourceHealth/availabilityStatuses/read","Microsoft.Resources/deployments/*","Microsoft.Resources/subscriptions/resourceGroups/read","Microsoft.Storage/storageAccounts/*","Microsoft.Support/*"],"notActions":[],"dataActions":[],"notDataActions":[]}],"createdOn":"2015-06-02T00:18:27.3542698Z","updatedOn":"2019-05-29T20:56:33.9582501Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/17d1049b-9a84-46fb-8f53-869881c3d3ab","type":"Microsoft.Authorization/roleDefinitions","name":"17d1049b-9a84-46fb-8f53-869881c3d3ab"}]}' - headers: - cache-control: - - no-cache - content-length: - - '1089' - content-type: - - application/json; charset=utf-8 - date: - - Mon, 10 Aug 2020 03:23:49 GMT - expires: - - '-1' - pragma: - - no-cache - set-cookie: - - x-ms-gateway-slice=Production; path=/; SameSite=None; secure; HttpOnly - strict-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: - - role assignment create - Connection: - - keep-alive - ParameterSetName: - - --assignee --role --scope - User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-graphrbac/0.60.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: GET - uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/servicePrincipals?$filter=servicePrincipalNames%2Fany%28c%3Ac%20eq%20%27677a61e9-086e-4f13-986a-11aaedc31416%27%29&api-version=1.6 + uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/servicePrincipals?$filter=servicePrincipalNames%2Fany%28c%3Ac%20eq%20%278a95323f-4a83-4a69-903f-7d2c69349c3c%27%29&api-version=1.6 response: body: - string: '{"odata.metadata":"https://graph.windows.net/00000000-0000-0000-0000-000000000000/$metadata#directoryObjects","value":[]}' + string: '{"odata.metadata":"https://graph.windows.net/00000000-0000-0000-0000-000000000000/$metadata#directoryObjects","value":[{"odata.type":"Microsoft.DirectoryServices.ServicePrincipal","objectType":"ServicePrincipal","objectId":"123743cc-88ef-49ee-920e-13958fe5697d","deletionTimestamp":null,"accountEnabled":true,"addIns":[],"alternativeNames":[],"appDisplayName":"kerwins-app","appId":"8a95323f-4a83-4a69-903f-7d2c69349c3c","applicationTemplateId":null,"appOwnerTenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","appRoleAssignmentRequired":false,"appRoles":[],"displayName":"kerwins-app","errorUrl":null,"homepage":null,"informationalUrls":{"termsOfService":null,"support":null,"privacy":null,"marketing":null},"keyCredentials":[],"logoutUrl":null,"notificationEmailAddresses":[],"oauth2Permissions":[],"passwordCredentials":[],"preferredSingleSignOnMode":null,"preferredTokenSigningKeyEndDateTime":null,"preferredTokenSigningKeyThumbprint":null,"publisherName":"Microsoft","replyUrls":["https://localhost:8400"],"samlMetadataUrl":null,"samlSingleSignOnSettings":null,"servicePrincipalNames":["8a95323f-4a83-4a69-903f-7d2c69349c3c"],"servicePrincipalType":"Application","signInAudience":"AzureADMyOrg","tags":["WindowsAzureActiveDirectoryIntegratedApp"],"tokenEncryptionKeyId":null}]}' headers: access-control-allow-origin: - '*' cache-control: - no-cache content-length: - - '121' + - '1280' content-type: - application/json; odata=minimalmetadata; streaming=true; charset=utf-8 dataserviceversion: - 3.0; date: - - Mon, 10 Aug 2020 03:23:50 GMT + - Sat, 08 May 2021 03:37:12 GMT duration: - - '2691772' + - '700184' expires: - '-1' ocp-aad-diagnostics-server-name: - - P/qQX2SThSUjMAzexLxrYo5LjjozaDJiZAPfAQmOY1I= + - KhLyO8bAdAYfXmNPN0mTY2WDW71UU49sHE1WZ/QbjgQ= ocp-aad-session-key: - - niSCAkmyzUBrxbRWba-UsawPPyymAuOhUkd6fIVYQAmgIFV_Cu0nHm4TmU96F_PrH73rB_X8Cz2KXiwdBa1EDaUIF3IZOERROpWPCjuKPlUxq8pf2TzJeObMW8ACXC83.l04M0KrUhLzwoIkobOQj1gZGrhS-Ry5v_vE5bhcqFSo + - GYWM6FUuQKOzPVEoXxaOgWWZc1nB3U5gCB4i7txbPZtw0DiIFfUN9cbdEqYQQFLMuGa1913oN02Uhu8Nj2CG-PGlleaXZgk2wumL-TUS-GvjfOOHK_16tWCkYuzdJL94.CdIA4lJJrHVlMmC8WcYCLJLigHAlsW75cqf3sDSi4iU pragma: - no-cache request-id: - - 62bb50c0-54c5-4e70-9d5f-0c1c061f0215 + - 232c53c2-f377-4b4a-8364-6b812ecc17ba strict-transport-security: - max-age=31536000; includeSubDomains x-aspnet-version: @@ -358,8 +288,7 @@ interactions: code: 200 message: OK - request: - body: '{"objectIds": ["677a61e9-086e-4f13-986a-11aaedc31416"], "includeDirectoryObjectReferences": - true}' + body: null headers: Accept: - application/json @@ -369,66 +298,49 @@ interactions: - role assignment create Connection: - keep-alive - Content-Length: - - '97' - Content-Type: - - application/json; charset=utf-8 ParameterSetName: - --assignee --role --scope User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-graphrbac/0.60.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US - method: POST - uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/getObjectsByObjectIds?api-version=1.6 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Storage/storageAccounts/storagename000004/providers/Microsoft.Authorization/roleDefinitions?$filter=roleName%20eq%20%27Storage%20Account%20Contributor%27&api-version=2018-01-01-preview response: body: - string: '{"odata.metadata":"https://graph.windows.net/00000000-0000-0000-0000-000000000000/$metadata#directoryObjects","value":[{"odata.type":"Microsoft.DirectoryServices.ServicePrincipal","objectType":"ServicePrincipal","objectId":"677a61e9-086e-4f13-986a-11aaedc31416","deletionTimestamp":null,"accountEnabled":true,"addIns":[],"alternativeNames":[],"appDisplayName":"HPC - Cache Resource Provider","appId":"4392ab71-2ce2-4b0d-8770-b352745c73f5","applicationTemplateId":null,"appOwnerTenantId":"f8cdef31-a31e-4b4a-93e4-5f571e91255a","appRoleAssignmentRequired":false,"appRoles":[],"displayName":"HPC - Cache Resource Provider","errorUrl":null,"homepage":null,"informationalUrls":{"termsOfService":null,"support":null,"privacy":null,"marketing":null},"keyCredentials":[],"logoutUrl":null,"notificationEmailAddresses":[],"oauth2Permissions":[],"passwordCredentials":[],"preferredSingleSignOnMode":null,"preferredTokenSigningKeyEndDateTime":null,"preferredTokenSigningKeyThumbprint":null,"publisherName":"Microsoft - Services","replyUrls":[],"samlMetadataUrl":null,"samlSingleSignOnSettings":null,"servicePrincipalNames":["4392ab71-2ce2-4b0d-8770-b352745c73f5"],"servicePrincipalType":"Application","signInAudience":"AzureADMultipleOrgs","tags":[],"tokenEncryptionKeyId":null}]}' + string: '{"value":[{"properties":{"roleName":"Storage Account Contributor","type":"BuiltInRole","description":"Lets + you manage storage accounts, including accessing storage account keys which + provide full access to storage account data.","assignableScopes":["/"],"permissions":[{"actions":["Microsoft.Authorization/*/read","Microsoft.Insights/alertRules/*","Microsoft.Insights/diagnosticSettings/*","Microsoft.Network/virtualNetworks/subnets/joinViaServiceEndpoint/action","Microsoft.ResourceHealth/availabilityStatuses/read","Microsoft.Resources/deployments/*","Microsoft.Resources/subscriptions/resourceGroups/read","Microsoft.Storage/storageAccounts/*","Microsoft.Support/*"],"notActions":[],"dataActions":[],"notDataActions":[]}],"createdOn":"2015-06-02T00:18:27.3542698Z","updatedOn":"2019-05-29T20:56:33.9582501Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/17d1049b-9a84-46fb-8f53-869881c3d3ab","type":"Microsoft.Authorization/roleDefinitions","name":"17d1049b-9a84-46fb-8f53-869881c3d3ab"}]}' headers: - access-control-allow-origin: - - '*' cache-control: - no-cache content-length: - - '1262' + - '1089' content-type: - - application/json; odata=minimalmetadata; streaming=true; charset=utf-8 - dataserviceversion: - - 3.0; + - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:23:51 GMT - duration: - - '4464572' + - Sat, 08 May 2021 03:37:14 GMT expires: - '-1' - ocp-aad-diagnostics-server-name: - - DEESx0hIQhtTCYFVWevtObhoOa8nIhWAXBiD+WX5rhI= - ocp-aad-session-key: - - rdPxhusRnKQsqdLmlZeaWys7r5cAXtOI0Wt01KggHVIJNDd14Hj-1Ru4cXwk6QJEzvKj01uwvhDzmPUS6m56Dc8dfuEJQ_whRnXaerc4wJAUPTr2Fepr9pd7H9jjKkdn.dAjgm813KVJWtufzULl80yZdczQxrMJbEx0dVZNw6BA pragma: - no-cache - request-id: - - 3ac9e565-1f7f-44d5-b78f-43071ffeb110 + set-cookie: + - x-ms-gateway-slice=Production; path=/; secure; samesite=none; httponly strict-transport-security: - max-age=31536000; includeSubDomains - x-aspnet-version: - - 4.0.30319 - x-ms-dirapi-data-contract-version: - - '1.6' - x-ms-resource-unit: - - '3' - x-powered-by: - - ASP.NET + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff status: code: 200 message: OK - request: body: '{"properties": {"roleDefinitionId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/17d1049b-9a84-46fb-8f53-869881c3d3ab", - "principalId": "677a61e9-086e-4f13-986a-11aaedc31416"}}' + "principalId": "123743cc-88ef-49ee-920e-13958fe5697d", "principalType": "ServicePrincipal"}}' headers: Accept: - application/json @@ -439,7 +351,7 @@ interactions: Connection: - keep-alive Content-Length: - - '233' + - '270' Content-Type: - application/json; charset=utf-8 Cookie: @@ -447,43 +359,43 @@ interactions: ParameterSetName: - --assignee --role --scope User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-authorization/0.52.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Storage/storageAccounts/storagename000004/providers/Microsoft.Authorization/roleAssignments/88888888-0000-0000-0000-000000000001?api-version=2018-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Storage/storageAccounts/storagename000004/providers/Microsoft.Authorization/roleAssignments/88888888-0000-0000-0000-000000000001?api-version=2020-04-01-preview response: body: - string: '{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/17d1049b-9a84-46fb-8f53-869881c3d3ab","principalId":"677a61e9-086e-4f13-986a-11aaedc31416","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Storage/storageAccounts/storagename000004","createdOn":"2020-08-10T03:23:52.5563503Z","updatedOn":"2020-08-10T03:23:52.5563503Z","createdBy":null,"updatedBy":"9ac534f1-d577-4034-a32d-48de400dacbf"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Storage/storageAccounts/storagename000004/providers/Microsoft.Authorization/roleAssignments/88888888-0000-0000-0000-000000000001","type":"Microsoft.Authorization/roleAssignments","name":"88888888-0000-0000-0000-000000000001"}' + string: '{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/17d1049b-9a84-46fb-8f53-869881c3d3ab","principalId":"123743cc-88ef-49ee-920e-13958fe5697d","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Storage/storageAccounts/storagename000004","condition":null,"conditionVersion":null,"createdOn":"2021-05-08T03:37:15.5721439Z","updatedOn":"2021-05-08T03:37:15.8771434Z","createdBy":null,"updatedBy":"123743cc-88ef-49ee-920e-13958fe5697d","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Storage/storageAccounts/storagename000004/providers/Microsoft.Authorization/roleAssignments/88888888-0000-0000-0000-000000000001","type":"Microsoft.Authorization/roleAssignments","name":"88888888-0000-0000-0000-000000000001"}' headers: cache-control: - no-cache content-length: - - '1041' + - '1143' content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:23:58 GMT + - Sat, 08 May 2021 03:37:19 GMT expires: - '-1' pragma: - no-cache set-cookie: - - x-ms-gateway-slice=Production; path=/; secure; HttpOnly; SameSite=None + - x-ms-gateway-slice=Production; path=/; secure; samesite=none; httponly strict-transport-security: - max-age=31536000; includeSubDomains x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1192' + - '1199' status: code: 201 message: Created - request: body: '{"location": "eastus", "tags": {}, "properties": {"addressSpace": {"addressPrefixes": - ["10.7.0.0/16"]}, "dhcpOptions": {}, "subnets": [{"properties": {"addressPrefix": - "10.7.0.0/24"}, "name": "default"}]}}' + ["10.7.0.0/16"]}, "dhcpOptions": {}, "subnets": [{"name": "default", "properties": + {"addressPrefix": "10.7.0.0/24"}}]}}' headers: Accept: - application/json @@ -496,47 +408,44 @@ interactions: Content-Length: - '205' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - -g -n -l --address-prefix --subnet-name --subnet-prefix User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/11.0.0 - Azure-SDK-For-Python AZURECLI/2.10.1 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Network/virtualNetworks/vnetname000002?api-version=2020-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Network/virtualNetworks/vnetname000002?api-version=2020-11-01 response: body: string: "{\r\n \"name\": \"vnetname000002\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Network/virtualNetworks/vnetname000002\",\r\n - \ \"etag\": \"W/\\\"71a4d391-717f-42a2-ad86-b52d3db41410\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"3303fd48-e9bb-442a-bb7e-cbfe856a8f98\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus\",\r\n \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"resourceGuid\": \"089e4276-f2a7-4f00-8794-4eff1c968456\",\r\n \"addressSpace\": + \ \"resourceGuid\": \"7c0cffd2-4766-47d4-8ab8-b9d36d557f03\",\r\n \"addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"10.7.0.0/16\"\r\n ]\r\n \ },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": []\r\n },\r\n \ \"subnets\": [\r\n {\r\n \"name\": \"default\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Network/virtualNetworks/vnetname000002/subnets/default\",\r\n - \ \"etag\": \"W/\\\"71a4d391-717f-42a2-ad86-b52d3db41410\\\"\",\r\n + \ \"etag\": \"W/\\\"3303fd48-e9bb-442a-bb7e-cbfe856a8f98\\\"\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \ \"addressPrefix\": \"10.7.0.0/24\",\r\n \"delegations\": [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n \ }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": - false,\r\n \"enableVmProtection\": false\r\n }\r\n}" + false\r\n }\r\n}" headers: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/0adef572-54cf-4a81-8014-50d45fca17fa?api-version=2020-05-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/0976f040-c903-4c06-b7cf-590c5a695c20?api-version=2020-11-01 cache-control: - no-cache content-length: - - '1494' + - '1460' content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:24:02 GMT + - Sat, 08 May 2021 03:37:25 GMT expires: - '-1' pragma: @@ -549,7 +458,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 36582699-2f26-4c6d-9896-c7220855ad42 + - 19c35501-75c2-40d7-ad9e-10bba0492d5f x-ms-ratelimit-remaining-subscription-writes: - '1199' status: @@ -559,7 +468,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -569,10 +478,9 @@ interactions: ParameterSetName: - -g -n -l --address-prefix --subnet-name --subnet-prefix User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/11.0.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/0adef572-54cf-4a81-8014-50d45fca17fa?api-version=2020-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/0976f040-c903-4c06-b7cf-590c5a695c20?api-version=2020-11-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -584,7 +492,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:24:07 GMT + - Sat, 08 May 2021 03:37:30 GMT expires: - '-1' pragma: @@ -601,7 +509,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - a4b39f13-ba4a-46b5-8ce7-b3bc4f76fed4 + - d5f76fb9-e770-4c41-9b6d-385901873509 status: code: 200 message: OK @@ -609,7 +517,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -619,39 +527,38 @@ interactions: ParameterSetName: - -g -n -l --address-prefix --subnet-name --subnet-prefix User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/11.0.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Network/virtualNetworks/vnetname000002?api-version=2020-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Network/virtualNetworks/vnetname000002?api-version=2020-11-01 response: body: string: "{\r\n \"name\": \"vnetname000002\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Network/virtualNetworks/vnetname000002\",\r\n - \ \"etag\": \"W/\\\"3e91f02b-c9ca-47f5-b6be-ca26a34ee350\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"6efd1290-93b8-4ded-b5a1-e373b59fd002\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus\",\r\n \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"089e4276-f2a7-4f00-8794-4eff1c968456\",\r\n \"addressSpace\": + \ \"resourceGuid\": \"7c0cffd2-4766-47d4-8ab8-b9d36d557f03\",\r\n \"addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"10.7.0.0/16\"\r\n ]\r\n \ },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": []\r\n },\r\n \ \"subnets\": [\r\n {\r\n \"name\": \"default\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Network/virtualNetworks/vnetname000002/subnets/default\",\r\n - \ \"etag\": \"W/\\\"3e91f02b-c9ca-47f5-b6be-ca26a34ee350\\\"\",\r\n + \ \"etag\": \"W/\\\"6efd1290-93b8-4ded-b5a1-e373b59fd002\\\"\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \ \"addressPrefix\": \"10.7.0.0/24\",\r\n \"delegations\": [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n \ }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": - false,\r\n \"enableVmProtection\": false\r\n }\r\n}" + false\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '1496' + - '1462' content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:24:07 GMT + - Sat, 08 May 2021 03:37:30 GMT etag: - - W/"3e91f02b-c9ca-47f5-b6be-ca26a34ee350" + - W/"6efd1290-93b8-4ded-b5a1-e373b59fd002" expires: - '-1' pragma: @@ -668,13 +575,13 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 13928445-aaf1-4069-a735-ca3b52fae1b0 + - 721944d6-4da9-41d3-9e66-b3d7d085d06a status: code: 200 message: OK - request: - body: '{"location": "eastus", "properties": {"cacheSizeGB": 3072, "subnet": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Network/virtualNetworks/vnetname000002/subnets/default"}, - "sku": {"name": "Standard_2G"}}' + body: '{"location": "eastus", "sku": {"name": "Standard_2G"}, "properties": {"cacheSizeGB": + 3072, "subnet": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Network/virtualNetworks/vnetname000002/subnets/default"}}' headers: Accept: - application/json @@ -687,14 +594,11 @@ interactions: Content-Length: - '332' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - --resource-group --name --location --cache-size-gb --subnet --sku-name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_hpc_cache000001/providers/Microsoft.StorageCache/caches/cachename000003?api-version=2019-11-01 response: @@ -704,21 +608,25 @@ interactions: \ \"sku\": {\r\n \"name\": \"Standard_2G\"\r\n },\r\n \"properties\": {\r\n \"cacheSizeGB\": 3072,\r\n \"health\": {\r\n \"state\": \"Transitioning\"\r\n \ },\r\n \"provisioningState\": \"Creating\",\r\n \"subnet\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Network/virtualNetworks/vnetname000002/subnets/default\",\r\n - \ \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"5.3.61\",\r\n + \ \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"6.3.0\",\r\n \ \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": - \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2020-08-10T03:24:11.8681859Z\"\r\n - \ }\r\n }\r\n}" + \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2021-05-08T03:37:39.6872551Z\"\r\n + \ }\r\n },\r\n \"systemData\": {\r\n \"createdBy\": \"8a95323f-4a83-4a69-903f-7d2c69349c3c\",\r\n + \ \"createdByType\": \"Application\",\r\n \"createdAt\": \"2021-05-08T03:37:37.5449197Z\",\r\n + \ \"lastModifiedBy\": \"8a95323f-4a83-4a69-903f-7d2c69349c3c\",\r\n \"lastModifiedByType\": + \"Application\",\r\n \"lastModifiedAt\": \"2021-05-08T03:37:37.5449197Z\"\r\n + \ }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/054e713a-b123-4c6d-ad0a-4ed110ffaa55?api-version=2019-11-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/ff31193c-aa84-4bb3-ba7a-a797c39ffd25?api-version=2019-11-01 cache-control: - no-cache content-length: - - '1005' + - '1333' content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:24:11 GMT + - Sat, 08 May 2021 03:37:40 GMT expires: - '-1' pragma: @@ -731,7 +639,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 201 message: Created @@ -739,7 +647,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -749,14 +657,13 @@ interactions: ParameterSetName: - --resource-group --name --location --cache-size-gb --subnet --sku-name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/054e713a-b123-4c6d-ad0a-4ed110ffaa55?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/ff31193c-aa84-4bb3-ba7a-a797c39ffd25?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:24:11.4618971+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"054e713a-b123-4c6d-ad0a-4ed110ffaa55\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T03:37:39.4912108+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"ff31193c-aa84-4bb3-ba7a-a797c39ffd25\"\r\n}" headers: cache-control: - no-cache @@ -765,7 +672,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:24:43 GMT + - Sat, 08 May 2021 03:38:12 GMT expires: - '-1' pragma: @@ -788,7 +695,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -798,14 +705,13 @@ interactions: ParameterSetName: - --resource-group --name --location --cache-size-gb --subnet --sku-name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/054e713a-b123-4c6d-ad0a-4ed110ffaa55?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/ff31193c-aa84-4bb3-ba7a-a797c39ffd25?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:24:11.4618971+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"054e713a-b123-4c6d-ad0a-4ed110ffaa55\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T03:37:39.4912108+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"ff31193c-aa84-4bb3-ba7a-a797c39ffd25\"\r\n}" headers: cache-control: - no-cache @@ -814,7 +720,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:25:14 GMT + - Sat, 08 May 2021 03:38:42 GMT expires: - '-1' pragma: @@ -837,7 +743,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -847,14 +753,13 @@ interactions: ParameterSetName: - --resource-group --name --location --cache-size-gb --subnet --sku-name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/054e713a-b123-4c6d-ad0a-4ed110ffaa55?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/ff31193c-aa84-4bb3-ba7a-a797c39ffd25?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:24:11.4618971+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"054e713a-b123-4c6d-ad0a-4ed110ffaa55\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T03:37:39.4912108+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"ff31193c-aa84-4bb3-ba7a-a797c39ffd25\"\r\n}" headers: cache-control: - no-cache @@ -863,7 +768,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:25:45 GMT + - Sat, 08 May 2021 03:39:12 GMT expires: - '-1' pragma: @@ -886,7 +791,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -896,14 +801,13 @@ interactions: ParameterSetName: - --resource-group --name --location --cache-size-gb --subnet --sku-name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/054e713a-b123-4c6d-ad0a-4ed110ffaa55?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/ff31193c-aa84-4bb3-ba7a-a797c39ffd25?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:24:11.4618971+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"054e713a-b123-4c6d-ad0a-4ed110ffaa55\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T03:37:39.4912108+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"ff31193c-aa84-4bb3-ba7a-a797c39ffd25\"\r\n}" headers: cache-control: - no-cache @@ -912,7 +816,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:26:15 GMT + - Sat, 08 May 2021 03:39:42 GMT expires: - '-1' pragma: @@ -935,7 +839,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -945,14 +849,13 @@ interactions: ParameterSetName: - --resource-group --name --location --cache-size-gb --subnet --sku-name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/054e713a-b123-4c6d-ad0a-4ed110ffaa55?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/ff31193c-aa84-4bb3-ba7a-a797c39ffd25?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:24:11.4618971+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"054e713a-b123-4c6d-ad0a-4ed110ffaa55\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T03:37:39.4912108+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"ff31193c-aa84-4bb3-ba7a-a797c39ffd25\"\r\n}" headers: cache-control: - no-cache @@ -961,7 +864,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:26:46 GMT + - Sat, 08 May 2021 03:40:12 GMT expires: - '-1' pragma: @@ -984,7 +887,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -994,14 +897,13 @@ interactions: ParameterSetName: - --resource-group --name --location --cache-size-gb --subnet --sku-name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/054e713a-b123-4c6d-ad0a-4ed110ffaa55?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/ff31193c-aa84-4bb3-ba7a-a797c39ffd25?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:24:11.4618971+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"054e713a-b123-4c6d-ad0a-4ed110ffaa55\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T03:37:39.4912108+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"ff31193c-aa84-4bb3-ba7a-a797c39ffd25\"\r\n}" headers: cache-control: - no-cache @@ -1010,7 +912,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:27:17 GMT + - Sat, 08 May 2021 03:40:43 GMT expires: - '-1' pragma: @@ -1033,7 +935,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1043,14 +945,13 @@ interactions: ParameterSetName: - --resource-group --name --location --cache-size-gb --subnet --sku-name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/054e713a-b123-4c6d-ad0a-4ed110ffaa55?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/ff31193c-aa84-4bb3-ba7a-a797c39ffd25?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:24:11.4618971+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"054e713a-b123-4c6d-ad0a-4ed110ffaa55\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T03:37:39.4912108+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"ff31193c-aa84-4bb3-ba7a-a797c39ffd25\"\r\n}" headers: cache-control: - no-cache @@ -1059,7 +960,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:27:47 GMT + - Sat, 08 May 2021 03:41:13 GMT expires: - '-1' pragma: @@ -1082,7 +983,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1092,14 +993,13 @@ interactions: ParameterSetName: - --resource-group --name --location --cache-size-gb --subnet --sku-name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/054e713a-b123-4c6d-ad0a-4ed110ffaa55?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/ff31193c-aa84-4bb3-ba7a-a797c39ffd25?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:24:11.4618971+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"054e713a-b123-4c6d-ad0a-4ed110ffaa55\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T03:37:39.4912108+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"ff31193c-aa84-4bb3-ba7a-a797c39ffd25\"\r\n}" headers: cache-control: - no-cache @@ -1108,7 +1008,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:28:17 GMT + - Sat, 08 May 2021 03:41:43 GMT expires: - '-1' pragma: @@ -1131,7 +1031,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1141,14 +1041,13 @@ interactions: ParameterSetName: - --resource-group --name --location --cache-size-gb --subnet --sku-name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/054e713a-b123-4c6d-ad0a-4ed110ffaa55?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/ff31193c-aa84-4bb3-ba7a-a797c39ffd25?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:24:11.4618971+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"054e713a-b123-4c6d-ad0a-4ed110ffaa55\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T03:37:39.4912108+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"ff31193c-aa84-4bb3-ba7a-a797c39ffd25\"\r\n}" headers: cache-control: - no-cache @@ -1157,7 +1056,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:28:48 GMT + - Sat, 08 May 2021 03:42:13 GMT expires: - '-1' pragma: @@ -1180,7 +1079,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1190,14 +1089,13 @@ interactions: ParameterSetName: - --resource-group --name --location --cache-size-gb --subnet --sku-name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/054e713a-b123-4c6d-ad0a-4ed110ffaa55?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/ff31193c-aa84-4bb3-ba7a-a797c39ffd25?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:24:11.4618971+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"054e713a-b123-4c6d-ad0a-4ed110ffaa55\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T03:37:39.4912108+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"ff31193c-aa84-4bb3-ba7a-a797c39ffd25\"\r\n}" headers: cache-control: - no-cache @@ -1206,7 +1104,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:29:18 GMT + - Sat, 08 May 2021 03:42:45 GMT expires: - '-1' pragma: @@ -1229,7 +1127,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1239,14 +1137,13 @@ interactions: ParameterSetName: - --resource-group --name --location --cache-size-gb --subnet --sku-name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/054e713a-b123-4c6d-ad0a-4ed110ffaa55?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/ff31193c-aa84-4bb3-ba7a-a797c39ffd25?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:24:11.4618971+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"054e713a-b123-4c6d-ad0a-4ed110ffaa55\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T03:37:39.4912108+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"ff31193c-aa84-4bb3-ba7a-a797c39ffd25\"\r\n}" headers: cache-control: - no-cache @@ -1255,7 +1152,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:29:49 GMT + - Sat, 08 May 2021 03:43:15 GMT expires: - '-1' pragma: @@ -1278,7 +1175,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1288,14 +1185,13 @@ interactions: ParameterSetName: - --resource-group --name --location --cache-size-gb --subnet --sku-name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/054e713a-b123-4c6d-ad0a-4ed110ffaa55?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/ff31193c-aa84-4bb3-ba7a-a797c39ffd25?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:24:11.4618971+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"054e713a-b123-4c6d-ad0a-4ed110ffaa55\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T03:37:39.4912108+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"ff31193c-aa84-4bb3-ba7a-a797c39ffd25\"\r\n}" headers: cache-control: - no-cache @@ -1304,7 +1200,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:30:19 GMT + - Sat, 08 May 2021 03:43:45 GMT expires: - '-1' pragma: @@ -1327,7 +1223,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1337,14 +1233,13 @@ interactions: ParameterSetName: - --resource-group --name --location --cache-size-gb --subnet --sku-name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/054e713a-b123-4c6d-ad0a-4ed110ffaa55?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/ff31193c-aa84-4bb3-ba7a-a797c39ffd25?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:24:11.4618971+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"054e713a-b123-4c6d-ad0a-4ed110ffaa55\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T03:37:39.4912108+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"ff31193c-aa84-4bb3-ba7a-a797c39ffd25\"\r\n}" headers: cache-control: - no-cache @@ -1353,7 +1248,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:30:50 GMT + - Sat, 08 May 2021 03:44:15 GMT expires: - '-1' pragma: @@ -1376,7 +1271,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1386,14 +1281,13 @@ interactions: ParameterSetName: - --resource-group --name --location --cache-size-gb --subnet --sku-name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/054e713a-b123-4c6d-ad0a-4ed110ffaa55?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/ff31193c-aa84-4bb3-ba7a-a797c39ffd25?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:24:11.4618971+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"054e713a-b123-4c6d-ad0a-4ed110ffaa55\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T03:37:39.4912108+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"ff31193c-aa84-4bb3-ba7a-a797c39ffd25\"\r\n}" headers: cache-control: - no-cache @@ -1402,7 +1296,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:31:20 GMT + - Sat, 08 May 2021 03:44:47 GMT expires: - '-1' pragma: @@ -1425,7 +1319,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1435,14 +1329,13 @@ interactions: ParameterSetName: - --resource-group --name --location --cache-size-gb --subnet --sku-name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/054e713a-b123-4c6d-ad0a-4ed110ffaa55?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/ff31193c-aa84-4bb3-ba7a-a797c39ffd25?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:24:11.4618971+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"054e713a-b123-4c6d-ad0a-4ed110ffaa55\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T03:37:39.4912108+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"ff31193c-aa84-4bb3-ba7a-a797c39ffd25\"\r\n}" headers: cache-control: - no-cache @@ -1451,7 +1344,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:31:50 GMT + - Sat, 08 May 2021 03:45:17 GMT expires: - '-1' pragma: @@ -1474,7 +1367,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1484,14 +1377,13 @@ interactions: ParameterSetName: - --resource-group --name --location --cache-size-gb --subnet --sku-name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/054e713a-b123-4c6d-ad0a-4ed110ffaa55?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/ff31193c-aa84-4bb3-ba7a-a797c39ffd25?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:24:11.4618971+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"054e713a-b123-4c6d-ad0a-4ed110ffaa55\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T03:37:39.4912108+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"ff31193c-aa84-4bb3-ba7a-a797c39ffd25\"\r\n}" headers: cache-control: - no-cache @@ -1500,7 +1392,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:32:21 GMT + - Sat, 08 May 2021 03:45:47 GMT expires: - '-1' pragma: @@ -1523,7 +1415,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1533,14 +1425,13 @@ interactions: ParameterSetName: - --resource-group --name --location --cache-size-gb --subnet --sku-name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/054e713a-b123-4c6d-ad0a-4ed110ffaa55?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/ff31193c-aa84-4bb3-ba7a-a797c39ffd25?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:24:11.4618971+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"054e713a-b123-4c6d-ad0a-4ed110ffaa55\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T03:37:39.4912108+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"ff31193c-aa84-4bb3-ba7a-a797c39ffd25\"\r\n}" headers: cache-control: - no-cache @@ -1549,7 +1440,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:32:51 GMT + - Sat, 08 May 2021 03:46:17 GMT expires: - '-1' pragma: @@ -1572,7 +1463,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1582,14 +1473,13 @@ interactions: ParameterSetName: - --resource-group --name --location --cache-size-gb --subnet --sku-name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/054e713a-b123-4c6d-ad0a-4ed110ffaa55?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/ff31193c-aa84-4bb3-ba7a-a797c39ffd25?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:24:11.4618971+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"054e713a-b123-4c6d-ad0a-4ed110ffaa55\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T03:37:39.4912108+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"ff31193c-aa84-4bb3-ba7a-a797c39ffd25\"\r\n}" headers: cache-control: - no-cache @@ -1598,7 +1488,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:33:21 GMT + - Sat, 08 May 2021 03:46:47 GMT expires: - '-1' pragma: @@ -1621,7 +1511,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1631,14 +1521,13 @@ interactions: ParameterSetName: - --resource-group --name --location --cache-size-gb --subnet --sku-name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/054e713a-b123-4c6d-ad0a-4ed110ffaa55?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/ff31193c-aa84-4bb3-ba7a-a797c39ffd25?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:24:11.4618971+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"054e713a-b123-4c6d-ad0a-4ed110ffaa55\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T03:37:39.4912108+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"ff31193c-aa84-4bb3-ba7a-a797c39ffd25\"\r\n}" headers: cache-control: - no-cache @@ -1647,7 +1536,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:33:52 GMT + - Sat, 08 May 2021 03:47:18 GMT expires: - '-1' pragma: @@ -1670,7 +1559,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1680,14 +1569,13 @@ interactions: ParameterSetName: - --resource-group --name --location --cache-size-gb --subnet --sku-name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/054e713a-b123-4c6d-ad0a-4ed110ffaa55?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/ff31193c-aa84-4bb3-ba7a-a797c39ffd25?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:24:11.4618971+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"054e713a-b123-4c6d-ad0a-4ed110ffaa55\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T03:37:39.4912108+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"ff31193c-aa84-4bb3-ba7a-a797c39ffd25\"\r\n}" headers: cache-control: - no-cache @@ -1696,7 +1584,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:34:22 GMT + - Sat, 08 May 2021 03:47:48 GMT expires: - '-1' pragma: @@ -1719,7 +1607,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1729,14 +1617,13 @@ interactions: ParameterSetName: - --resource-group --name --location --cache-size-gb --subnet --sku-name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/054e713a-b123-4c6d-ad0a-4ed110ffaa55?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/ff31193c-aa84-4bb3-ba7a-a797c39ffd25?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:24:11.4618971+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"054e713a-b123-4c6d-ad0a-4ed110ffaa55\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T03:37:39.4912108+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"ff31193c-aa84-4bb3-ba7a-a797c39ffd25\"\r\n}" headers: cache-control: - no-cache @@ -1745,7 +1632,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:34:53 GMT + - Sat, 08 May 2021 03:48:18 GMT expires: - '-1' pragma: @@ -1768,7 +1655,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1778,14 +1665,13 @@ interactions: ParameterSetName: - --resource-group --name --location --cache-size-gb --subnet --sku-name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/054e713a-b123-4c6d-ad0a-4ed110ffaa55?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/ff31193c-aa84-4bb3-ba7a-a797c39ffd25?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:24:11.4618971+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"054e713a-b123-4c6d-ad0a-4ed110ffaa55\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T03:37:39.4912108+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"ff31193c-aa84-4bb3-ba7a-a797c39ffd25\"\r\n}" headers: cache-control: - no-cache @@ -1794,7 +1680,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:35:23 GMT + - Sat, 08 May 2021 03:48:48 GMT expires: - '-1' pragma: @@ -1817,7 +1703,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1827,14 +1713,13 @@ interactions: ParameterSetName: - --resource-group --name --location --cache-size-gb --subnet --sku-name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/054e713a-b123-4c6d-ad0a-4ed110ffaa55?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/ff31193c-aa84-4bb3-ba7a-a797c39ffd25?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:24:11.4618971+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"054e713a-b123-4c6d-ad0a-4ed110ffaa55\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T03:37:39.4912108+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"ff31193c-aa84-4bb3-ba7a-a797c39ffd25\"\r\n}" headers: cache-control: - no-cache @@ -1843,7 +1728,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:36:20 GMT + - Sat, 08 May 2021 03:49:19 GMT expires: - '-1' pragma: @@ -1866,7 +1751,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1876,24 +1761,22 @@ interactions: ParameterSetName: - --resource-group --name --location --cache-size-gb --subnet --sku-name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/054e713a-b123-4c6d-ad0a-4ed110ffaa55?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/ff31193c-aa84-4bb3-ba7a-a797c39ffd25?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:24:11.4618971+00:00\",\r\n \"endTime\": - \"2020-08-10T03:36:33.9648652+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"054e713a-b123-4c6d-ad0a-4ed110ffaa55\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T03:37:39.4912108+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"ff31193c-aa84-4bb3-ba7a-a797c39ffd25\"\r\n}" headers: cache-control: - no-cache content-length: - - '184' + - '134' content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:36:52 GMT + - Sat, 08 May 2021 03:49:49 GMT expires: - '-1' pragma: @@ -1916,7 +1799,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1926,33 +1809,22 @@ interactions: ParameterSetName: - --resource-group --name --location --cache-size-gb --subnet --sku-name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_hpc_cache000001/providers/Microsoft.StorageCache/caches/cachename000003?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/ff31193c-aa84-4bb3-ba7a-a797c39ffd25?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"cachename000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.StorageCache/caches/cachename000003\",\r\n - \ \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": \"eastus\",\r\n - \ \"sku\": {\r\n \"name\": \"Standard_2G\"\r\n },\r\n \"properties\": - {\r\n \"cacheSizeGB\": 3072,\r\n \"health\": {\r\n \"state\": \"Healthy\",\r\n - \ \"statusDescription\": \"The cache is in Running state\"\r\n },\r\n - \ \"mountAddresses\": [\r\n \"10.7.0.7\",\r\n \"10.7.0.8\",\r\n - \ \"10.7.0.9\"\r\n ],\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"subnet\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Network/virtualNetworks/vnetname000002/subnets/default\",\r\n - \ \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"5.3.61\",\r\n - \ \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": - \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2020-08-10T03:24:11.8681859Z\"\r\n - \ }\r\n }\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T03:37:39.4912108+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"ff31193c-aa84-4bb3-ba7a-a797c39ffd25\"\r\n}" headers: cache-control: - no-cache content-length: - - '1150' + - '134' content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:36:53 GMT + - Sat, 08 May 2021 03:50:19 GMT expires: - '-1' pragma: @@ -1975,45 +1847,32 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - hpc-cache wait + - hpc-cache create Connection: - keep-alive ParameterSetName: - - --resource-group --name --created + - --resource-group --name --location --cache-size-gb --subnet --sku-name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_hpc_cache000001/providers/Microsoft.StorageCache/caches/cachename000003?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/ff31193c-aa84-4bb3-ba7a-a797c39ffd25?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"cachename000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.StorageCache/caches/cachename000003\",\r\n - \ \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": \"eastus\",\r\n - \ \"sku\": {\r\n \"name\": \"Standard_2G\"\r\n },\r\n \"properties\": - {\r\n \"cacheSizeGB\": 3072,\r\n \"health\": {\r\n \"state\": \"Healthy\",\r\n - \ \"statusDescription\": \"The cache is in Running state\"\r\n },\r\n - \ \"mountAddresses\": [\r\n \"10.7.0.7\",\r\n \"10.7.0.8\",\r\n - \ \"10.7.0.9\"\r\n ],\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"subnet\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Network/virtualNetworks/vnetname000002/subnets/default\",\r\n - \ \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"5.3.61\",\r\n - \ \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": - \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2020-08-10T03:24:11.8681859Z\"\r\n - \ }\r\n }\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T03:37:39.4912108+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"ff31193c-aa84-4bb3-ba7a-a797c39ffd25\"\r\n}" headers: cache-control: - no-cache content-length: - - '1150' + - '134' content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:36:54 GMT + - Sat, 08 May 2021 03:50:51 GMT expires: - '-1' pragma: @@ -2036,32 +1895,32 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - hpc-cache upgrade-firmware + - hpc-cache create Connection: - keep-alive - Content-Length: - - '0' ParameterSetName: - - --resource-group --name + - --resource-group --name --location --cache-size-gb --subnet --sku-name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 - accept-language: - - en-US - method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_hpc_cache000001/providers/Microsoft.StorageCache/caches/cachename000003/upgrade?api-version=2019-11-01 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/ff31193c-aa84-4bb3-ba7a-a797c39ffd25?api-version=2019-11-01 response: body: - string: '' + string: "{\r\n \"startTime\": \"2021-05-08T03:37:39.4912108+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"ff31193c-aa84-4bb3-ba7a-a797c39ffd25\"\r\n}" headers: cache-control: - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:36:55 GMT + - Sat, 08 May 2021 03:51:21 GMT expires: - '-1' pragma: @@ -2071,110 +1930,93 @@ interactions: - 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: 204 - message: No Content + code: 200 + message: OK - request: - body: '{"tags": {"key": "val", "key2": "val2"}}' + body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - hpc-cache update + - hpc-cache create Connection: - keep-alive - Content-Length: - - '40' - Content-Type: - - application/json; charset=utf-8 ParameterSetName: - - --resource-group --name --tags + - --resource-group --name --location --cache-size-gb --subnet --sku-name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 - accept-language: - - en-US - method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_hpc_cache000001/providers/Microsoft.StorageCache/caches/cachename000003123?api-version=2019-11-01 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/ff31193c-aa84-4bb3-ba7a-a797c39ffd25?api-version=2019-11-01 response: body: - string: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.StorageCache/caches/cachename000003123'' - under resource group ''cli_test_hpc_cache000001'' was not found. For more - details please go to https://aka.ms/ARMResourceNotFoundFix"}}' + string: "{\r\n \"startTime\": \"2021-05-08T03:37:39.4912108+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"ff31193c-aa84-4bb3-ba7a-a797c39ffd25\"\r\n}" headers: cache-control: - no-cache content-length: - - '304' + - '134' content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:36:56 GMT + - Sat, 08 May 2021 03:51:51 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 - x-ms-failure-cause: - - gateway status: - code: 404 - message: Not Found + code: 200 + message: OK - request: - body: '{"tags": {"key": "val", "key2": "val2"}}' + body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - hpc-cache update + - hpc-cache create Connection: - keep-alive - Content-Length: - - '40' - Content-Type: - - application/json; charset=utf-8 ParameterSetName: - - --resource-group --name --tags + - --resource-group --name --location --cache-size-gb --subnet --sku-name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 - accept-language: - - en-US - method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_hpc_cache000001/providers/Microsoft.StorageCache/caches/cachename000003?api-version=2019-11-01 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/ff31193c-aa84-4bb3-ba7a-a797c39ffd25?api-version=2019-11-01 response: body: - string: "{\r\n \"name\": \"cachename000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.StorageCache/caches/cachename000003\",\r\n - \ \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": \"eastus\",\r\n - \ \"tags\": {\r\n \"key\": \"val\",\r\n \"key2\": \"val2\"\r\n },\r\n - \ \"sku\": {\r\n \"name\": \"Standard_2G\"\r\n },\r\n \"properties\": - {\r\n \"cacheSizeGB\": 3072,\r\n \"health\": {\r\n \"state\": \"Healthy\",\r\n - \ \"statusDescription\": \"The cache is in Running state\"\r\n },\r\n - \ \"provisioningState\": \"Succeeded\",\r\n \"subnet\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Network/virtualNetworks/vnetname000002/subnets/default\",\r\n - \ \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"5.3.61\",\r\n - \ \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": - \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2020-08-10T03:24:11.8681859Z\"\r\n - \ }\r\n }\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T03:37:39.4912108+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"ff31193c-aa84-4bb3-ba7a-a797c39ffd25\"\r\n}" headers: cache-control: - no-cache content-length: - - '1119' + - '134' content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:37:01 GMT + - Sat, 08 May 2021 03:52:21 GMT expires: - '-1' pragma: @@ -2190,8 +2032,6 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1194' status: code: 200 message: OK @@ -2199,22 +2039,926 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - hpc-cache show + - hpc-cache create Connection: - keep-alive ParameterSetName: - - --resource-group --name + - --resource-group --name --location --cache-size-gb --subnet --sku-name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_hpc_cache000001/providers/Microsoft.StorageCache/caches/cachename000003?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/ff31193c-aa84-4bb3-ba7a-a797c39ffd25?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2021-05-08T03:37:39.4912108+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"ff31193c-aa84-4bb3-ba7a-a797c39ffd25\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 08 May 2021 03:52:52 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --cache-size-gb --subnet --sku-name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/ff31193c-aa84-4bb3-ba7a-a797c39ffd25?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2021-05-08T03:37:39.4912108+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"ff31193c-aa84-4bb3-ba7a-a797c39ffd25\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 08 May 2021 03:53:23 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --cache-size-gb --subnet --sku-name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/ff31193c-aa84-4bb3-ba7a-a797c39ffd25?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2021-05-08T03:37:39.4912108+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"ff31193c-aa84-4bb3-ba7a-a797c39ffd25\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 08 May 2021 03:53:53 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --cache-size-gb --subnet --sku-name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/ff31193c-aa84-4bb3-ba7a-a797c39ffd25?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2021-05-08T03:37:39.4912108+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"ff31193c-aa84-4bb3-ba7a-a797c39ffd25\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 08 May 2021 03:54:23 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --cache-size-gb --subnet --sku-name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/ff31193c-aa84-4bb3-ba7a-a797c39ffd25?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2021-05-08T03:37:39.4912108+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"ff31193c-aa84-4bb3-ba7a-a797c39ffd25\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 08 May 2021 03:54: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --cache-size-gb --subnet --sku-name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/ff31193c-aa84-4bb3-ba7a-a797c39ffd25?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2021-05-08T03:37:39.4912108+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"ff31193c-aa84-4bb3-ba7a-a797c39ffd25\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 08 May 2021 03:55:24 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --cache-size-gb --subnet --sku-name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/ff31193c-aa84-4bb3-ba7a-a797c39ffd25?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2021-05-08T03:37:39.4912108+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"ff31193c-aa84-4bb3-ba7a-a797c39ffd25\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 08 May 2021 03:55: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --cache-size-gb --subnet --sku-name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/ff31193c-aa84-4bb3-ba7a-a797c39ffd25?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2021-05-08T03:37:39.4912108+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"ff31193c-aa84-4bb3-ba7a-a797c39ffd25\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 08 May 2021 03:56:25 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --cache-size-gb --subnet --sku-name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/ff31193c-aa84-4bb3-ba7a-a797c39ffd25?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2021-05-08T03:37:39.4912108+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"ff31193c-aa84-4bb3-ba7a-a797c39ffd25\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 08 May 2021 03:56:55 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --cache-size-gb --subnet --sku-name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/ff31193c-aa84-4bb3-ba7a-a797c39ffd25?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2021-05-08T03:37:39.4912108+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"ff31193c-aa84-4bb3-ba7a-a797c39ffd25\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 08 May 2021 03:57:25 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --cache-size-gb --subnet --sku-name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/ff31193c-aa84-4bb3-ba7a-a797c39ffd25?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2021-05-08T03:37:39.4912108+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"ff31193c-aa84-4bb3-ba7a-a797c39ffd25\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 08 May 2021 03:57:56 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --cache-size-gb --subnet --sku-name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/ff31193c-aa84-4bb3-ba7a-a797c39ffd25?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2021-05-08T03:37:39.4912108+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"ff31193c-aa84-4bb3-ba7a-a797c39ffd25\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 08 May 2021 03:58:27 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --cache-size-gb --subnet --sku-name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/ff31193c-aa84-4bb3-ba7a-a797c39ffd25?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2021-05-08T03:37:39.4912108+00:00\",\r\n \"endTime\": + \"2021-05-08T03:58:45.8149353+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"ff31193c-aa84-4bb3-ba7a-a797c39ffd25\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '184' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 08 May 2021 03:58:57 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --cache-size-gb --subnet --sku-name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_hpc_cache000001/providers/Microsoft.StorageCache/caches/cachename000003?api-version=2019-11-01 + response: + body: + string: "{\r\n \"name\": \"cachename000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.StorageCache/caches/cachename000003\",\r\n + \ \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": \"eastus\",\r\n + \ \"sku\": {\r\n \"name\": \"Standard_2G\"\r\n },\r\n \"properties\": + {\r\n \"cacheSizeGB\": 3072,\r\n \"health\": {\r\n \"state\": \"Healthy\",\r\n + \ \"statusDescription\": \"The cache is in Running state\"\r\n },\r\n + \ \"mountAddresses\": [\r\n \"10.7.0.7\",\r\n \"10.7.0.8\",\r\n + \ \"10.7.0.9\"\r\n ],\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"subnet\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Network/virtualNetworks/vnetname000002/subnets/default\",\r\n + \ \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"6.3.0\",\r\n + \ \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": + \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2021-05-08T03:37:39.6872551Z\"\r\n + \ }\r\n },\r\n \"systemData\": {\r\n \"createdBy\": \"8a95323f-4a83-4a69-903f-7d2c69349c3c\",\r\n + \ \"createdByType\": \"Application\",\r\n \"createdAt\": \"2021-05-08T03:37:37.5449197Z\",\r\n + \ \"lastModifiedBy\": \"8a95323f-4a83-4a69-903f-7d2c69349c3c\",\r\n \"lastModifiedByType\": + \"Application\",\r\n \"lastModifiedAt\": \"2021-05-08T03:37:37.5449197Z\"\r\n + \ }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1478' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 08 May 2021 03:58:58 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: + - hpc-cache wait + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --created + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_hpc_cache000001/providers/Microsoft.StorageCache/caches/cachename000003?api-version=2019-11-01 + response: + body: + string: "{\r\n \"name\": \"cachename000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.StorageCache/caches/cachename000003\",\r\n + \ \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": \"eastus\",\r\n + \ \"sku\": {\r\n \"name\": \"Standard_2G\"\r\n },\r\n \"properties\": + {\r\n \"cacheSizeGB\": 3072,\r\n \"health\": {\r\n \"state\": \"Healthy\",\r\n + \ \"statusDescription\": \"The cache is in Running state\"\r\n },\r\n + \ \"mountAddresses\": [\r\n \"10.7.0.7\",\r\n \"10.7.0.8\",\r\n + \ \"10.7.0.9\"\r\n ],\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"subnet\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Network/virtualNetworks/vnetname000002/subnets/default\",\r\n + \ \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"6.3.0\",\r\n + \ \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": + \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2021-05-08T03:37:39.6872551Z\"\r\n + \ }\r\n },\r\n \"systemData\": {\r\n \"createdBy\": \"8a95323f-4a83-4a69-903f-7d2c69349c3c\",\r\n + \ \"createdByType\": \"Application\",\r\n \"createdAt\": \"2021-05-08T03:37:37.5449197Z\",\r\n + \ \"lastModifiedBy\": \"8a95323f-4a83-4a69-903f-7d2c69349c3c\",\r\n \"lastModifiedByType\": + \"Application\",\r\n \"lastModifiedAt\": \"2021-05-08T03:37:37.5449197Z\"\r\n + \ }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1478' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 08 May 2021 03:59:01 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: + - hpc-cache upgrade-firmware + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-group --name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_hpc_cache000001/providers/Microsoft.StorageCache/caches/cachename000003/upgrade?api-version=2019-11-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + date: + - Sat, 08 May 2021 03:59:04 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: 204 + message: No Content +- request: + body: '{"tags": {"key": "val", "key2": "val2"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache update + Connection: + - keep-alive + Content-Length: + - '40' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --tags + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_hpc_cache000001/providers/Microsoft.StorageCache/caches/cachename000003123?api-version=2019-11-01 + response: + body: + string: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.StorageCache/caches/cachename000003123'' + under resource group ''cli_test_hpc_cache000001'' was not found. For more + details please go to https://aka.ms/ARMResourceNotFoundFix"}}' + headers: + cache-control: + - no-cache + content-length: + - '304' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 08 May 2021 03:59:07 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-failure-cause: + - gateway + status: + code: 404 + message: Not Found +- request: + body: '{"tags": {"key": "val", "key2": "val2"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache update + Connection: + - keep-alive + Content-Length: + - '40' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --tags + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_hpc_cache000001/providers/Microsoft.StorageCache/caches/cachename000003?api-version=2019-11-01 + response: + body: + string: "{\r\n \"name\": \"cachename000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.StorageCache/caches/cachename000003\",\r\n + \ \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": \"eastus\",\r\n + \ \"tags\": {\r\n \"key\": \"val\",\r\n \"key2\": \"val2\"\r\n },\r\n + \ \"sku\": {\r\n \"name\": \"Standard_2G\"\r\n },\r\n \"properties\": + {\r\n \"cacheSizeGB\": 3072,\r\n \"health\": {\r\n \"state\": \"Healthy\",\r\n + \ \"statusDescription\": \"The cache is in Running state\"\r\n },\r\n + \ \"provisioningState\": \"Succeeded\",\r\n \"subnet\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Network/virtualNetworks/vnetname000002/subnets/default\",\r\n + \ \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"6.3.0\",\r\n + \ \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": + \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2021-05-08T03:37:39.6872551Z\"\r\n + \ }\r\n },\r\n \"systemData\": {\r\n \"createdBy\": \"8a95323f-4a83-4a69-903f-7d2c69349c3c\",\r\n + \ \"createdByType\": \"Application\",\r\n \"createdAt\": \"2021-05-08T03:37:37.5449197Z\",\r\n + \ \"lastModifiedBy\": \"8a95323f-4a83-4a69-903f-7d2c69349c3c\",\r\n \"lastModifiedByType\": + \"Application\",\r\n \"lastModifiedAt\": \"2021-05-08T03:59:11.0003469Z\"\r\n + \ }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1447' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 08 May 2021 03:59:14 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 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache show + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_hpc_cache000001/providers/Microsoft.StorageCache/caches/cachename000003?api-version=2019-11-01 response: body: string: "{\r\n \"name\": \"cachename000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.StorageCache/caches/cachename000003\",\r\n @@ -2226,19 +2970,607 @@ interactions: \ \"mountAddresses\": [\r\n \"10.7.0.7\",\r\n \"10.7.0.8\",\r\n \ \"10.7.0.9\"\r\n ],\r\n \"provisioningState\": \"Succeeded\",\r\n \ \"subnet\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Network/virtualNetworks/vnetname000002/subnets/default\",\r\n - \ \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"5.3.61\",\r\n + \ \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"6.3.0\",\r\n \ \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": - \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2020-08-10T03:24:11.8681859Z\"\r\n - \ }\r\n }\r\n}" + \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2021-05-08T03:37:39.6872551Z\"\r\n + \ }\r\n },\r\n \"systemData\": {\r\n \"createdBy\": \"8a95323f-4a83-4a69-903f-7d2c69349c3c\",\r\n + \ \"createdByType\": \"Application\",\r\n \"createdAt\": \"2021-05-08T03:37:37.5449197Z\",\r\n + \ \"lastModifiedBy\": \"8a95323f-4a83-4a69-903f-7d2c69349c3c\",\r\n \"lastModifiedByType\": + \"Application\",\r\n \"lastModifiedAt\": \"2021-05-08T03:59:11.0003469Z\"\r\n + \ }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1536' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 08 May 2021 03:59:16 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: + - hpc-cache usage-model list + Connection: + - keep-alive + ParameterSetName: + - --query + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/usageModels?api-version=2019-11-01 + response: + body: + string: "{\r\n \"value\": [\r\n {\r\n \"display\": {\r\n \"description\": + \"Read heavy, infrequent writes\"\r\n },\r\n \"modelName\": \"READ_HEAVY_INFREQ\",\r\n + \ \"targetType\": \"Nfs\"\r\n },\r\n {\r\n \"display\": {\r\n + \ \"description\": \"Greater than 15% writes\"\r\n },\r\n \"modelName\": + \"WRITE_WORKLOAD_15\",\r\n \"targetType\": \"Nfs\"\r\n },\r\n {\r\n + \ \"display\": {\r\n \"description\": \"Clients write to the NFS + target bypassing the cache\"\r\n },\r\n \"modelName\": \"WRITE_AROUND\",\r\n + \ \"targetType\": \"Nfs\"\r\n },\r\n {\r\n \"display\": {\r\n + \ \"description\": \"Greater than 15% writes, checking the backing server + for changes every 30 seconds \"\r\n },\r\n \"modelName\": \"WRITE_WORKLOAD_CHECK_30\",\r\n + \ \"targetType\": \"Nfs\"\r\n },\r\n {\r\n \"display\": {\r\n + \ \"description\": \"Greater than 15% writes, checking the backing server + for changes every 60 seconds\"\r\n },\r\n \"modelName\": \"WRITE_WORKLOAD_CHECK_60\",\r\n + \ \"targetType\": \"Nfs\"\r\n },\r\n {\r\n \"display\": {\r\n + \ \"description\": \"Greater than 15% writes, write back to the server + every 30 seconds\"\r\n },\r\n \"modelName\": \"WRITE_WORKLOAD_CLOUDWS\",\r\n + \ \"targetType\": \"Nfs\"\r\n },\r\n {\r\n \"display\": {\r\n + \ \"description\": \"Read heavy, checking the backing server every 3 + hours\"\r\n },\r\n \"modelName\": \"READ_HEAVY_CHECK_180\",\r\n + \ \"targetType\": \"Nfs\"\r\n }\r\n ]\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1402' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 08 May 2021 03:59: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: + - hpc-cache list + Connection: + - keep-alive + ParameterSetName: + - --query + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/caches?api-version=2019-11-01 + response: + body: + string: "{\r\n \"value\": [\r\n {\r\n \"name\": \"cachename000003\",\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/CLI_TEST_HPC_CACHEGXQFLKXNFMAZFE5LLZWUL4DHDKJC7ROG6SJRLSYCCTRAC3Y5WAFTWSJEX/providers/Microsoft.StorageCache/caches/cachename000003\",\r\n + \ \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": + \"eastus\",\r\n \"tags\": {\r\n \"key\": \"val\",\r\n \"key2\": + \"val2\"\r\n },\r\n \"sku\": {\r\n \"name\": \"Standard_2G\"\r\n + \ },\r\n \"properties\": {\r\n \"cacheSizeGB\": 3072,\r\n + \ \"health\": {\r\n \"state\": \"Healthy\",\r\n \"statusDescription\": + \"The cache is in Running state\"\r\n },\r\n \"mountAddresses\": + [\r\n \"10.7.0.7\",\r\n \"10.7.0.8\",\r\n \"10.7.0.9\"\r\n + \ ],\r\n \"provisioningState\": \"Succeeded\",\r\n \"subnet\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Network/virtualNetworks/vnetname000002/subnets/default\",\r\n + \ \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"6.3.0\",\r\n + \ \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": + \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2021-05-08T03:37:39.6872551Z\"\r\n + \ }\r\n },\r\n \"systemData\": {\r\n \"createdBy\": + \"8a95323f-4a83-4a69-903f-7d2c69349c3c\",\r\n \"createdByType\": \"Application\",\r\n + \ \"createdAt\": \"2021-05-08T03:37:37.5449197Z\",\r\n \"lastModifiedBy\": + \"8a95323f-4a83-4a69-903f-7d2c69349c3c\",\r\n \"lastModifiedByType\": + \"Application\",\r\n \"lastModifiedAt\": \"2021-05-08T03:59:11.0003469Z\"\r\n + \ }\r\n }\r\n ]\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1725' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 08 May 2021 03:59:21 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: + - hpc-cache skus list + Connection: + - keep-alive + ParameterSetName: + - --query + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/skus?api-version=2019-11-01 + response: + body: + string: '{"value":[{"resourceType":"caches","name":"Standard_2G","locations":["australiaeast"],"locationInfo":[{"location":"australiaeast","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"2"},{"name":"cache sizes (GB)","value":"3072,6144,12288"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_4G","locations":["australiaeast"],"locationInfo":[{"location":"australiaeast","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"4"},{"name":"cache sizes (GB)","value":"6144,12288,24576"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_8G","locations":["australiaeast"],"locationInfo":[{"location":"australiaeast","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"8"},{"name":"cache sizes (GB)","value":"12288,24576,49152"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_2G","locations":["CanadaCentral"],"locationInfo":[{"location":"CanadaCentral","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"2"},{"name":"cache sizes (GB)","value":"3072,6144,12288"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_4G","locations":["CanadaCentral"],"locationInfo":[{"location":"CanadaCentral","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"4"},{"name":"cache sizes (GB)","value":"6144,12288,24576"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_8G","locations":["CanadaCentral"],"locationInfo":[{"location":"CanadaCentral","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"8"},{"name":"cache sizes (GB)","value":"12288,24576,49152"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_2G","locations":["centralus"],"locationInfo":[{"location":"centralus","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"2"},{"name":"cache sizes (GB)","value":"3072,6144,12288"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_4G","locations":["centralus"],"locationInfo":[{"location":"centralus","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"4"},{"name":"cache sizes (GB)","value":"6144,12288,24576"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_8G","locations":["centralus"],"locationInfo":[{"location":"centralus","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"8"},{"name":"cache sizes (GB)","value":"12288,24576,49152"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_2G","locations":["centraluseuap"],"locationInfo":[{"location":"centraluseuap","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"2"},{"name":"cache sizes (GB)","value":"3072,6144,12288"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_4G","locations":["centraluseuap"],"locationInfo":[{"location":"centraluseuap","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"4"},{"name":"cache sizes (GB)","value":"6144,12288,24576"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_8G","locations":["centraluseuap"],"locationInfo":[{"location":"centraluseuap","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"8"},{"name":"cache sizes (GB)","value":"12288,24576,49152"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_L16G","locations":["centraluseuap"],"locationInfo":[{"location":"centraluseuap","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"16"},{"name":"cache sizes (GB)","value":"85824"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_L4_5G","locations":["centraluseuap"],"locationInfo":[{"location":"centraluseuap","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"4.5"},{"name":"cache sizes (GB)","value":"21456"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_L9G","locations":["centraluseuap"],"locationInfo":[{"location":"centraluseuap","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"9"},{"name":"cache sizes (GB)","value":"42912"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_2G","locations":["eastasia"],"locationInfo":[{"location":"eastasia","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"2"},{"name":"cache sizes (GB)","value":"3072,6144,12288"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_4G","locations":["eastasia"],"locationInfo":[{"location":"eastasia","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"4"},{"name":"cache sizes (GB)","value":"6144,12288,24576"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_8G","locations":["eastasia"],"locationInfo":[{"location":"eastasia","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"8"},{"name":"cache sizes (GB)","value":"12288,24576,49152"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_2G","locations":["eastus"],"locationInfo":[{"location":"eastus","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"2"},{"name":"cache sizes (GB)","value":"3072,6144,12288"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_4G","locations":["eastus"],"locationInfo":[{"location":"eastus","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"4"},{"name":"cache sizes (GB)","value":"6144,12288,24576"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_8G","locations":["eastus"],"locationInfo":[{"location":"eastus","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"8"},{"name":"cache sizes (GB)","value":"12288,24576,49152"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_2G","locations":["eastus"],"locationInfo":[{"location":"eastus","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"2"},{"name":"cache sizes (GB)","value":"3072,6144,12288"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_4G","locations":["eastus"],"locationInfo":[{"location":"eastus","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"4"},{"name":"cache sizes (GB)","value":"6144,12288,24576"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_8G","locations":["eastus"],"locationInfo":[{"location":"eastus","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"8"},{"name":"cache sizes (GB)","value":"12288,24576,49152"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_L13_5G","locations":["eastus"],"locationInfo":[{"location":"eastus","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"13.5"},{"name":"cache sizes (GB)","value":"64368"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_L16G","locations":["eastus"],"locationInfo":[{"location":"eastus","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"16"},{"name":"cache sizes (GB)","value":"86491"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_L18G","locations":["eastus"],"locationInfo":[{"location":"eastus","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"18"},{"name":"cache sizes (GB)","value":"85824"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_L4_5G","locations":["eastus"],"locationInfo":[{"location":"eastus","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"4.5"},{"name":"cache sizes (GB)","value":"21623"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_L9G","locations":["eastus"],"locationInfo":[{"location":"eastus","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"9"},{"name":"cache sizes (GB)","value":"43246"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_2G","locations":["eastus"],"locationInfo":[{"location":"eastus","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"2"},{"name":"cache sizes (GB)","value":"3072,6144,12288"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_4G","locations":["eastus"],"locationInfo":[{"location":"eastus","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"4"},{"name":"cache sizes (GB)","value":"6144,12288,24576"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_8G","locations":["eastus"],"locationInfo":[{"location":"eastus","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"8"},{"name":"cache sizes (GB)","value":"12288,24576,49152"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_L16G","locations":["eastus"],"locationInfo":[{"location":"eastus","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"16"},{"name":"cache sizes (GB)","value":"86491"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_L4_5G","locations":["eastus"],"locationInfo":[{"location":"eastus","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"4.5"},{"name":"cache sizes (GB)","value":"21623"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_L9G","locations":["eastus"],"locationInfo":[{"location":"eastus","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"9"},{"name":"cache sizes (GB)","value":"43246"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_2G","locations":["eastus2"],"locationInfo":[{"location":"eastus2","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"2"},{"name":"cache sizes (GB)","value":"3072,6144,12288"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_4G","locations":["eastus2"],"locationInfo":[{"location":"eastus2","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"4"},{"name":"cache sizes (GB)","value":"6144,12288,24576"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_8G","locations":["eastus2"],"locationInfo":[{"location":"eastus2","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"8"},{"name":"cache sizes (GB)","value":"12288,24576,49152"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_2G","locations":["EastUS2EUAP"],"locationInfo":[{"location":"EastUS2EUAP","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"2"},{"name":"cache sizes (GB)","value":"3072,6144,12288"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_4G","locations":["EastUS2EUAP"],"locationInfo":[{"location":"EastUS2EUAP","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"4"},{"name":"cache sizes (GB)","value":"6144,12288,24576"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_8G","locations":["EastUS2EUAP"],"locationInfo":[{"location":"EastUS2EUAP","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"8"},{"name":"cache sizes (GB)","value":"12288,24576,49152"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_2G","locations":["KoreaCentral"],"locationInfo":[{"location":"KoreaCentral","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"2"},{"name":"cache sizes (GB)","value":"3072,6144,12288"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_4G","locations":["KoreaCentral"],"locationInfo":[{"location":"KoreaCentral","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"4"},{"name":"cache sizes (GB)","value":"6144,12288,24576"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_8G","locations":["KoreaCentral"],"locationInfo":[{"location":"KoreaCentral","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"8"},{"name":"cache sizes (GB)","value":"12288,24576,49152"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_2G","locations":["northcentralus"],"locationInfo":[{"location":"northcentralus","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"2"},{"name":"cache sizes (GB)","value":"3072,6144,12288"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_4G","locations":["northcentralus"],"locationInfo":[{"location":"northcentralus","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"4"},{"name":"cache sizes (GB)","value":"6144,12288,24576"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_8G","locations":["northcentralus"],"locationInfo":[{"location":"northcentralus","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"8"},{"name":"cache sizes (GB)","value":"12288,24576,49152"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_2G","locations":["northeurope"],"locationInfo":[{"location":"northeurope","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"2"},{"name":"cache sizes (GB)","value":"3072,6144,12288"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_4G","locations":["northeurope"],"locationInfo":[{"location":"northeurope","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"4"},{"name":"cache sizes (GB)","value":"6144,12288,24576"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_8G","locations":["northeurope"],"locationInfo":[{"location":"northeurope","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"8"},{"name":"cache sizes (GB)","value":"12288,24576,49152"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_2G","locations":["southcentralus"],"locationInfo":[{"location":"southcentralus","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"2"},{"name":"cache sizes (GB)","value":"3072,6144,12288"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_4G","locations":["southcentralus"],"locationInfo":[{"location":"southcentralus","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"4"},{"name":"cache sizes (GB)","value":"6144,12288,24576"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_8G","locations":["southcentralus"],"locationInfo":[{"location":"southcentralus","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"8"},{"name":"cache sizes (GB)","value":"12288,24576,49152"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_2G","locations":["southeastasia"],"locationInfo":[{"location":"southeastasia","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"2"},{"name":"cache sizes (GB)","value":"3072,6144,12288"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_4G","locations":["southeastasia"],"locationInfo":[{"location":"southeastasia","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"4"},{"name":"cache sizes (GB)","value":"6144,12288,24576"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_8G","locations":["southeastasia"],"locationInfo":[{"location":"southeastasia","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"8"},{"name":"cache sizes (GB)","value":"12288,24576,49152"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_2G","locations":["uksouth"],"locationInfo":[{"location":"uksouth","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"2"},{"name":"cache sizes (GB)","value":"3072,6144,12288"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_4G","locations":["uksouth"],"locationInfo":[{"location":"uksouth","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"4"},{"name":"cache sizes (GB)","value":"6144,12288,24576"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_8G","locations":["uksouth"],"locationInfo":[{"location":"uksouth","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"8"},{"name":"cache sizes (GB)","value":"12288,24576,49152"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_2G","locations":["westeurope"],"locationInfo":[{"location":"westeurope","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"2"},{"name":"cache sizes (GB)","value":"3072,6144,12288"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_4G","locations":["westeurope"],"locationInfo":[{"location":"westeurope","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"4"},{"name":"cache sizes (GB)","value":"6144,12288,24576"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_8G","locations":["westeurope"],"locationInfo":[{"location":"westeurope","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"8"},{"name":"cache sizes (GB)","value":"12288,24576,49152"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_2G","locations":["westus"],"locationInfo":[{"location":"westus","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"2"},{"name":"cache sizes (GB)","value":"3072,6144,12288"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_4G","locations":["westus"],"locationInfo":[{"location":"westus","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"4"},{"name":"cache sizes (GB)","value":"6144,12288,24576"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_8G","locations":["westus"],"locationInfo":[{"location":"westus","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"8"},{"name":"cache sizes (GB)","value":"12288,24576,49152"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_2G","locations":["westus2"],"locationInfo":[{"location":"westus2","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"2"},{"name":"cache sizes (GB)","value":"3072,6144,12288"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_4G","locations":["westus2"],"locationInfo":[{"location":"westus2","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"4"},{"name":"cache sizes (GB)","value":"6144,12288,24576"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_8G","locations":["westus2"],"locationInfo":[{"location":"westus2","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"8"},{"name":"cache sizes (GB)","value":"12288,24576,49152"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_2G","locations":["westus2"],"locationInfo":[{"location":"westus2","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"2"},{"name":"cache sizes (GB)","value":"3072,6144,12288"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_4G","locations":["westus2"],"locationInfo":[{"location":"westus2","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"4"},{"name":"cache sizes (GB)","value":"6144,12288,24576"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_8G","locations":["westus2"],"locationInfo":[{"location":"westus2","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput + (GB/s)","value":"8"},{"name":"cache sizes (GB)","value":"12288,24576,49152"}],"restrictions":[]}]}' + headers: + cache-control: + - no-cache + content-length: + - '19435' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 08 May 2021 03:59:23 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: + - hpc-cache flush + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-group --name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_hpc_cache000001/providers/Microsoft.StorageCache/caches/cachename000003/flush?api-version=2019-11-01 + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/20312a3a-f20e-43ae-9f37-aff1bbdddfce?api-version=2019-11-01 + cache-control: + - no-cache + content-length: + - '0' + date: + - Sat, 08 May 2021 03:59:26 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/20312a3a-f20e-43ae-9f37-aff1bbdddfce?monitor=true&api-version=2019-11-01 + 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: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache flush + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/20312a3a-f20e-43ae-9f37-aff1bbdddfce?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2021-05-08T03:59:26.911324+00:00\",\r\n \"endTime\": + \"2021-05-08T03:59:46.2796474+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"properties\": {\r\n \"output\": \"success\"\r\n },\r\n \"name\": + \"20312a3a-f20e-43ae-9f37-aff1bbdddfce\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '233' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 08 May 2021 03:59:58 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache flush + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/20312a3a-f20e-43ae-9f37-aff1bbdddfce?monitor=true&api-version=2019-11-01 + response: + body: + string: '"success"' + headers: + cache-control: + - no-cache + content-length: + - '9' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 08 May 2021 03:59:58 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: + - hpc-cache stop + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-group --name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_hpc_cache000001/providers/Microsoft.StorageCache/caches/cachename000003/stop?api-version=2019-11-01 + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/54457d57-d236-4103-ab9b-5b5f036e728f?api-version=2019-11-01 + cache-control: + - no-cache + content-length: + - '0' + date: + - Sat, 08 May 2021 04:00:00 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/54457d57-d236-4103-ab9b-5b5f036e728f?monitor=true&api-version=2019-11-01 + 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: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache stop + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/54457d57-d236-4103-ab9b-5b5f036e728f?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2021-05-08T04:00:00.859947+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"54457d57-d236-4103-ab9b-5b5f036e728f\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '133' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 08 May 2021 04:00:31 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache stop + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/54457d57-d236-4103-ab9b-5b5f036e728f?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2021-05-08T04:00:00.859947+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"54457d57-d236-4103-ab9b-5b5f036e728f\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '133' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 08 May 2021 04:01:01 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache stop + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/54457d57-d236-4103-ab9b-5b5f036e728f?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2021-05-08T04:00:00.859947+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"54457d57-d236-4103-ab9b-5b5f036e728f\"\r\n}" headers: cache-control: - no-cache content-length: - - '1208' + - '133' content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:37:02 GMT + - Sat, 08 May 2021 04:01:31 GMT expires: - '-1' pragma: @@ -2261,41 +3593,32 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - hpc-cache usage-model list + - hpc-cache stop Connection: - keep-alive ParameterSetName: - - --query + - --resource-group --name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/usageModels?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/54457d57-d236-4103-ab9b-5b5f036e728f?api-version=2019-11-01 response: body: - string: "{\r\n \"value\": [\r\n {\r\n \"display\": {\r\n \"description\": - \"Read heavy, infrequent writes\"\r\n },\r\n \"modelName\": \"READ_HEAVY_INFREQ\",\r\n - \ \"targetType\": \"Nfs\"\r\n },\r\n {\r\n \"display\": {\r\n - \ \"description\": \"Greater than 15% writes\"\r\n },\r\n \"modelName\": - \"WRITE_WORKLOAD_15\",\r\n \"targetType\": \"Nfs\"\r\n },\r\n {\r\n - \ \"display\": {\r\n \"description\": \"Clients write to the NFS - target bypassing the cache\"\r\n },\r\n \"modelName\": \"WRITE_AROUND\",\r\n - \ \"targetType\": \"Nfs\"\r\n }\r\n ]\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T04:00:00.859947+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"54457d57-d236-4103-ab9b-5b5f036e728f\"\r\n}" headers: cache-control: - no-cache content-length: - - '540' + - '133' content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:37:03 GMT + - Sat, 08 May 2021 04:02:02 GMT expires: - '-1' pragma: @@ -2318,87 +3641,129 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - hpc-cache list + - hpc-cache stop Connection: - keep-alive ParameterSetName: - - --query + - --resource-group --name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/caches?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/54457d57-d236-4103-ab9b-5b5f036e728f?api-version=2019-11-01 response: body: - string: "{\r\n \"value\": [\r\n {\r\n \"name\": \"cachename000003\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/CLI_TEST_HPC_CACHEIAAKWUKNF2XC5VLY2ZJIW7GV4ZOKMNGTJPLXLXTLA4RPPVE3ERNOILWHE/providers/Microsoft.StorageCache/caches/cachename000003\",\r\n - \ \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": - \"eastus\",\r\n \"tags\": {\r\n \"key\": \"val\",\r\n \"key2\": - \"val2\"\r\n },\r\n \"sku\": {\r\n \"name\": \"Standard_2G\"\r\n - \ },\r\n \"properties\": {\r\n \"cacheSizeGB\": 3072,\r\n - \ \"health\": {\r\n \"state\": \"Healthy\",\r\n \"statusDescription\": - \"The cache is in Running state\"\r\n },\r\n \"mountAddresses\": - [\r\n \"10.7.0.7\",\r\n \"10.7.0.8\",\r\n \"10.7.0.9\"\r\n - \ ],\r\n \"provisioningState\": \"Succeeded\",\r\n \"subnet\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_hpc_cache000001/providers/Microsoft.Network/virtualNetworks/vnetname000002/subnets/default\",\r\n - \ \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"5.3.61\",\r\n - \ \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": - \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2020-08-10T03:24:11.8681859Z\"\r\n - \ }\r\n }\r\n },\r\n {\r\n \"name\": \"qianwenasc\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/QIANWENS/providers/Microsoft.StorageCache/caches/qianwenasc\",\r\n - \ \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": - \"eastus\",\r\n \"tags\": {},\r\n \"sku\": {\r\n \"name\": - \"Standard_2G\"\r\n },\r\n \"properties\": {\r\n \"cacheSizeGB\": - 3072,\r\n \"health\": {\r\n \"state\": \"Stopped\",\r\n \"statusDescription\": - \"The Cache resources have been deallocated\"\r\n },\r\n \"mountAddresses\": - [\r\n \"10.7.0.7\",\r\n \"10.7.0.8\",\r\n \"10.7.0.9\"\r\n - \ ],\r\n \"provisioningState\": \"Succeeded\",\r\n \"subnet\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Network/virtualNetworks/QIAN/subnets/default\",\r\n - \ \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"5.3.31\",\r\n - \ \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": - \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2020-03-05T04:11:45.6337919Z\"\r\n - \ }\r\n }\r\n },\r\n {\r\n \"name\": \"sc3\",\r\n \"id\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/QIANWENS/providers/Microsoft.StorageCache/caches/sc3\",\r\n - \ \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": - \"eastus\",\r\n \"sku\": {\r\n \"name\": \"Standard_2G\"\r\n },\r\n - \ \"properties\": {\r\n \"cacheSizeGB\": 3072,\r\n \"health\": - {\r\n \"state\": \"Stopped\",\r\n \"statusDescription\": - \"The Cache resources have been deallocated\"\r\n },\r\n \"mountAddresses\": - [\r\n \"10.7.0.28\",\r\n \"10.7.0.29\",\r\n \"10.7.0.30\"\r\n - \ ],\r\n \"provisioningState\": \"Succeeded\",\r\n \"subnet\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Network/virtualNetworks/QIAN/subnets/default\",\r\n - \ \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"5.3.42\",\r\n - \ \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": - \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2020-03-16T05:57:12.2110973Z\"\r\n - \ }\r\n }\r\n },\r\n {\r\n \"name\": \"zhoxing-test\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ZHOXING-TEST/providers/Microsoft.StorageCache/caches/zhoxing-test\",\r\n - \ \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": - \"eastus\",\r\n \"tags\": {},\r\n \"sku\": {\r\n \"name\": - \"Standard_2G\"\r\n },\r\n \"properties\": {\r\n \"cacheSizeGB\": - 3072,\r\n \"health\": {\r\n \"state\": \"Healthy\",\r\n \"statusDescription\": - \"The cache is in Running state\"\r\n },\r\n \"mountAddresses\": - [\r\n \"10.12.0.7\",\r\n \"10.12.0.8\",\r\n \"10.12.0.9\"\r\n - \ ],\r\n \"provisioningState\": \"Succeeded\",\r\n \"subnet\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhoxing-test/providers/Microsoft.Network/virtualNetworks/zhoxing/subnets/default\",\r\n - \ \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"5.3.61\",\r\n - \ \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": - \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2020-08-10T02:44:19.2895559Z\"\r\n - \ }\r\n }\r\n }\r\n ]\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T04:00:00.859947+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"54457d57-d236-4103-ab9b-5b5f036e728f\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '133' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 08 May 2021 04:02:32 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache stop + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/54457d57-d236-4103-ab9b-5b5f036e728f?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2021-05-08T04:00:00.859947+00:00\",\r\n \"endTime\": + \"2021-05-08T04:02:46.977574+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"properties\": {\r\n \"output\": \"success\"\r\n },\r\n \"name\": + \"54457d57-d236-4103-ab9b-5b5f036e728f\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '232' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 08 May 2021 04:03:02 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache stop + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/54457d57-d236-4103-ab9b-5b5f036e728f?monitor=true&api-version=2019-11-01 + response: + body: + string: '"success"' headers: cache-control: - no-cache content-length: - - '4695' + - '9' content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:37:04 GMT + - Sat, 08 May 2021 04:03:03 GMT expires: - '-1' pragma: @@ -2425,79 +3790,136 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - hpc-cache skus list + - hpc-cache start Connection: - keep-alive + Content-Length: + - '0' ParameterSetName: - - --query + - --resource-group --name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_hpc_cache000001/providers/Microsoft.StorageCache/caches/cachename000003/start?api-version=2019-11-01 + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/e0b3f973-08d0-4f73-9499-8194a86dc0a2?api-version=2019-11-01 + cache-control: + - no-cache + content-length: + - '0' + date: + - Sat, 08 May 2021 04:03:05 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/e0b3f973-08d0-4f73-9499-8194a86dc0a2?monitor=true&api-version=2019-11-01 + 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: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache start + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/skus?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/e0b3f973-08d0-4f73-9499-8194a86dc0a2?api-version=2019-11-01 response: body: - string: '{"value":[{"resourceType":"caches","name":"Standard_2G","locations":["australiaeast"],"locationInfo":[{"location":"australiaeast","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput - (GB/s)","value":"2"},{"name":"cache sizes (GB)","value":"3072,6144,12288"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_4G","locations":["australiaeast"],"locationInfo":[{"location":"australiaeast","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput - (GB/s)","value":"4"},{"name":"cache sizes (GB)","value":"6144,12288,24576"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_8G","locations":["australiaeast"],"locationInfo":[{"location":"australiaeast","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput - (GB/s)","value":"8"},{"name":"cache sizes (GB)","value":"12288,24576,49152"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_2G","locations":["centraluseuap"],"locationInfo":[{"location":"centraluseuap","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput - (GB/s)","value":"2"},{"name":"cache sizes (GB)","value":"3072,6144,12288"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_4G","locations":["centraluseuap"],"locationInfo":[{"location":"centraluseuap","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput - (GB/s)","value":"4"},{"name":"cache sizes (GB)","value":"6144,12288,24576"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_8G","locations":["centraluseuap"],"locationInfo":[{"location":"centraluseuap","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput - (GB/s)","value":"8"},{"name":"cache sizes (GB)","value":"12288,24576,49152"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_2G","locations":["eastus"],"locationInfo":[{"location":"eastus","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput - (GB/s)","value":"2"},{"name":"cache sizes (GB)","value":"3072,6144,12288"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_4G","locations":["eastus"],"locationInfo":[{"location":"eastus","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput - (GB/s)","value":"4"},{"name":"cache sizes (GB)","value":"6144,12288,24576"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_8G","locations":["eastus"],"locationInfo":[{"location":"eastus","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput - (GB/s)","value":"8"},{"name":"cache sizes (GB)","value":"12288,24576,49152"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_2G","locations":["eastus"],"locationInfo":[{"location":"eastus","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput - (GB/s)","value":"2"},{"name":"cache sizes (GB)","value":"3072,6144,12288"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_4G","locations":["eastus"],"locationInfo":[{"location":"eastus","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput - (GB/s)","value":"4"},{"name":"cache sizes (GB)","value":"6144,12288,24576"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_8G","locations":["eastus"],"locationInfo":[{"location":"eastus","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput - (GB/s)","value":"8"},{"name":"cache sizes (GB)","value":"12288,24576,49152"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_L13_5G","locations":["eastus"],"locationInfo":[{"location":"eastus","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput - (GB/s)","value":"13.5"},{"name":"cache sizes (GB)","value":"64368"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_L18G","locations":["eastus"],"locationInfo":[{"location":"eastus","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput - (GB/s)","value":"18"},{"name":"cache sizes (GB)","value":"85824"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_L4_5G","locations":["eastus"],"locationInfo":[{"location":"eastus","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput - (GB/s)","value":"4.5"},{"name":"cache sizes (GB)","value":"21456"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_L9G","locations":["eastus"],"locationInfo":[{"location":"eastus","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput - (GB/s)","value":"9"},{"name":"cache sizes (GB)","value":"42912"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_2G","locations":["eastus2"],"locationInfo":[{"location":"eastus2","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput - (GB/s)","value":"2"},{"name":"cache sizes (GB)","value":"3072,6144,12288"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_4G","locations":["eastus2"],"locationInfo":[{"location":"eastus2","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput - (GB/s)","value":"4"},{"name":"cache sizes (GB)","value":"6144,12288,24576"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_8G","locations":["eastus2"],"locationInfo":[{"location":"eastus2","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput - (GB/s)","value":"8"},{"name":"cache sizes (GB)","value":"12288,24576,49152"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_2G","locations":["EastUS2EUAP"],"locationInfo":[{"location":"EastUS2EUAP","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput - (GB/s)","value":"2"},{"name":"cache sizes (GB)","value":"3072,6144,12288"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_4G","locations":["EastUS2EUAP"],"locationInfo":[{"location":"EastUS2EUAP","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput - (GB/s)","value":"4"},{"name":"cache sizes (GB)","value":"6144,12288,24576"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_8G","locations":["EastUS2EUAP"],"locationInfo":[{"location":"EastUS2EUAP","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput - (GB/s)","value":"8"},{"name":"cache sizes (GB)","value":"12288,24576,49152"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_2G","locations":["KoreaCentral"],"locationInfo":[{"location":"KoreaCentral","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput - (GB/s)","value":"2"},{"name":"cache sizes (GB)","value":"3072,6144,12288"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_4G","locations":["KoreaCentral"],"locationInfo":[{"location":"KoreaCentral","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput - (GB/s)","value":"4"},{"name":"cache sizes (GB)","value":"6144,12288,24576"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_8G","locations":["KoreaCentral"],"locationInfo":[{"location":"KoreaCentral","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput - (GB/s)","value":"8"},{"name":"cache sizes (GB)","value":"12288,24576,49152"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_2G","locations":["northeurope"],"locationInfo":[{"location":"northeurope","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput - (GB/s)","value":"2"},{"name":"cache sizes (GB)","value":"3072,6144,12288"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_4G","locations":["northeurope"],"locationInfo":[{"location":"northeurope","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput - (GB/s)","value":"4"},{"name":"cache sizes (GB)","value":"6144,12288,24576"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_8G","locations":["northeurope"],"locationInfo":[{"location":"northeurope","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput - (GB/s)","value":"8"},{"name":"cache sizes (GB)","value":"12288,24576,49152"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_2G","locations":["southcentralus"],"locationInfo":[{"location":"southcentralus","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput - (GB/s)","value":"2"},{"name":"cache sizes (GB)","value":"3072,6144,12288"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_4G","locations":["southcentralus"],"locationInfo":[{"location":"southcentralus","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput - (GB/s)","value":"4"},{"name":"cache sizes (GB)","value":"6144,12288,24576"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_8G","locations":["southcentralus"],"locationInfo":[{"location":"southcentralus","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput - (GB/s)","value":"8"},{"name":"cache sizes (GB)","value":"12288,24576,49152"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_2G","locations":["southeastasia"],"locationInfo":[{"location":"southeastasia","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput - (GB/s)","value":"2"},{"name":"cache sizes (GB)","value":"3072,6144,12288"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_4G","locations":["southeastasia"],"locationInfo":[{"location":"southeastasia","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput - (GB/s)","value":"4"},{"name":"cache sizes (GB)","value":"6144,12288,24576"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_8G","locations":["southeastasia"],"locationInfo":[{"location":"southeastasia","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput - (GB/s)","value":"8"},{"name":"cache sizes (GB)","value":"12288,24576,49152"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_2G","locations":["westeurope"],"locationInfo":[{"location":"westeurope","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput - (GB/s)","value":"2"},{"name":"cache sizes (GB)","value":"3072,6144,12288"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_4G","locations":["westeurope"],"locationInfo":[{"location":"westeurope","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput - (GB/s)","value":"4"},{"name":"cache sizes (GB)","value":"6144,12288,24576"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_8G","locations":["westeurope"],"locationInfo":[{"location":"westeurope","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput - (GB/s)","value":"8"},{"name":"cache sizes (GB)","value":"12288,24576,49152"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_2G","locations":["westus2"],"locationInfo":[{"location":"westus2","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput - (GB/s)","value":"2"},{"name":"cache sizes (GB)","value":"3072,6144,12288"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_4G","locations":["westus2"],"locationInfo":[{"location":"westus2","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput - (GB/s)","value":"4"},{"name":"cache sizes (GB)","value":"6144,12288,24576"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_8G","locations":["westus2"],"locationInfo":[{"location":"westus2","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput - (GB/s)","value":"8"},{"name":"cache sizes (GB)","value":"12288,24576,49152"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_2G","locations":["westus2"],"locationInfo":[{"location":"westus2","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput - (GB/s)","value":"2"},{"name":"cache sizes (GB)","value":"3072,6144,12288"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_4G","locations":["westus2"],"locationInfo":[{"location":"westus2","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput - (GB/s)","value":"4"},{"name":"cache sizes (GB)","value":"6144,12288,24576"}],"restrictions":[]},{"resourceType":"caches","name":"Standard_8G","locations":["westus2"],"locationInfo":[{"location":"westus2","zones":[],"zoneDetails":[]}],"capabilities":[{"name":"throughput - (GB/s)","value":"8"},{"name":"cache sizes (GB)","value":"12288,24576,49152"}],"restrictions":[]}]}' + string: "{\r\n \"startTime\": \"2021-05-08T04:03:06.1107842+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"e0b3f973-08d0-4f73-9499-8194a86dc0a2\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 + date: + - Sat, 08 May 2021 04:03:35 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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache start + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/e0b3f973-08d0-4f73-9499-8194a86dc0a2?api-version=2019-11-01 + response: + body: + string: "{\r\n \"startTime\": \"2021-05-08T04:03:06.1107842+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"e0b3f973-08d0-4f73-9499-8194a86dc0a2\"\r\n}" headers: cache-control: - no-cache content-length: - - '11819' + - '134' content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:37:05 GMT + - Sat, 08 May 2021 04:04:06 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: @@ -2509,34 +3931,32 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - hpc-cache flush + - hpc-cache start Connection: - keep-alive - Content-Length: - - '0' ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 - accept-language: - - en-US - method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_hpc_cache000001/providers/Microsoft.StorageCache/caches/cachename000003/flush?api-version=2019-11-01 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/e0b3f973-08d0-4f73-9499-8194a86dc0a2?api-version=2019-11-01 response: body: - string: '' + string: "{\r\n \"startTime\": \"2021-05-08T04:03:06.1107842+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"e0b3f973-08d0-4f73-9499-8194a86dc0a2\"\r\n}" headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/e42aa1f7-3afb-422e-9fda-e2168ce7e550?api-version=2019-11-01 cache-control: - no-cache + content-length: + - '134' + content-type: + - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:37:06 GMT + - Sat, 08 May 2021 04:04:36 GMT expires: - '-1' pragma: @@ -2546,46 +3966,45 @@ interactions: - 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: 204 - message: No Content + code: 200 + message: OK - request: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - hpc-cache flush + - hpc-cache start Connection: - keep-alive ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/e42aa1f7-3afb-422e-9fda-e2168ce7e550?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/e0b3f973-08d0-4f73-9499-8194a86dc0a2?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:37:06.7356683+00:00\",\r\n \"endTime\": - \"2020-08-10T03:37:14.9891921+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"properties\": {\r\n \"output\": \"success\"\r\n },\r\n \"name\": - \"e42aa1f7-3afb-422e-9fda-e2168ce7e550\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T04:03:06.1107842+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"e0b3f973-08d0-4f73-9499-8194a86dc0a2\"\r\n}" headers: cache-control: - no-cache content-length: - - '234' + - '134' content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:37:37 GMT + - Sat, 08 May 2021 04:05:07 GMT expires: - '-1' pragma: @@ -2608,40 +4027,34 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - hpc-cache stop + - hpc-cache start Connection: - keep-alive - Content-Length: - - '0' ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 - accept-language: - - en-US - method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_hpc_cache000001/providers/Microsoft.StorageCache/caches/cachename000003/stop?api-version=2019-11-01 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/e0b3f973-08d0-4f73-9499-8194a86dc0a2?api-version=2019-11-01 response: body: - string: '' + string: "{\r\n \"startTime\": \"2021-05-08T04:03:06.1107842+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"e0b3f973-08d0-4f73-9499-8194a86dc0a2\"\r\n}" headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/7452c295-42de-4ac4-be47-982b2c08d1a3?api-version=2019-11-01 cache-control: - no-cache content-length: - - '0' + - '134' + content-type: + - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:37:40 GMT + - Sat, 08 May 2021 04:05:37 GMT expires: - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/7452c295-42de-4ac4-be47-982b2c08d1a3?monitor=true&api-version=2019-11-01 pragma: - no-cache server: @@ -2649,35 +4062,36 @@ interactions: - 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: 202 - message: Accepted + code: 200 + message: OK - request: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - hpc-cache stop + - hpc-cache start Connection: - keep-alive ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/7452c295-42de-4ac4-be47-982b2c08d1a3?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/e0b3f973-08d0-4f73-9499-8194a86dc0a2?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:37:40.5018289+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"7452c295-42de-4ac4-be47-982b2c08d1a3\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T04:03:06.1107842+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"e0b3f973-08d0-4f73-9499-8194a86dc0a2\"\r\n}" headers: cache-control: - no-cache @@ -2686,7 +4100,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:38:11 GMT + - Sat, 08 May 2021 04:06:08 GMT expires: - '-1' pragma: @@ -2709,24 +4123,23 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - hpc-cache stop + - hpc-cache start Connection: - keep-alive ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/7452c295-42de-4ac4-be47-982b2c08d1a3?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/e0b3f973-08d0-4f73-9499-8194a86dc0a2?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:37:40.5018289+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"7452c295-42de-4ac4-be47-982b2c08d1a3\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T04:03:06.1107842+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"e0b3f973-08d0-4f73-9499-8194a86dc0a2\"\r\n}" headers: cache-control: - no-cache @@ -2735,7 +4148,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:38:42 GMT + - Sat, 08 May 2021 04:06:38 GMT expires: - '-1' pragma: @@ -2758,24 +4171,23 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - hpc-cache stop + - hpc-cache start Connection: - keep-alive ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/7452c295-42de-4ac4-be47-982b2c08d1a3?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/e0b3f973-08d0-4f73-9499-8194a86dc0a2?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:37:40.5018289+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"7452c295-42de-4ac4-be47-982b2c08d1a3\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T04:03:06.1107842+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"e0b3f973-08d0-4f73-9499-8194a86dc0a2\"\r\n}" headers: cache-control: - no-cache @@ -2784,7 +4196,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:39:12 GMT + - Sat, 08 May 2021 04:07:08 GMT expires: - '-1' pragma: @@ -2807,24 +4219,23 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - hpc-cache stop + - hpc-cache start Connection: - keep-alive ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/7452c295-42de-4ac4-be47-982b2c08d1a3?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/e0b3f973-08d0-4f73-9499-8194a86dc0a2?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:37:40.5018289+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"7452c295-42de-4ac4-be47-982b2c08d1a3\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T04:03:06.1107842+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"e0b3f973-08d0-4f73-9499-8194a86dc0a2\"\r\n}" headers: cache-control: - no-cache @@ -2833,7 +4244,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:39:42 GMT + - Sat, 08 May 2021 04:07:39 GMT expires: - '-1' pragma: @@ -2856,24 +4267,23 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - hpc-cache stop + - hpc-cache start Connection: - keep-alive ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/7452c295-42de-4ac4-be47-982b2c08d1a3?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/e0b3f973-08d0-4f73-9499-8194a86dc0a2?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:37:40.5018289+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"7452c295-42de-4ac4-be47-982b2c08d1a3\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T04:03:06.1107842+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"e0b3f973-08d0-4f73-9499-8194a86dc0a2\"\r\n}" headers: cache-control: - no-cache @@ -2882,7 +4292,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:40:13 GMT + - Sat, 08 May 2021 04:08:10 GMT expires: - '-1' pragma: @@ -2905,24 +4315,23 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - hpc-cache stop + - hpc-cache start Connection: - keep-alive ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/7452c295-42de-4ac4-be47-982b2c08d1a3?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/e0b3f973-08d0-4f73-9499-8194a86dc0a2?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:37:40.5018289+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"7452c295-42de-4ac4-be47-982b2c08d1a3\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T04:03:06.1107842+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"e0b3f973-08d0-4f73-9499-8194a86dc0a2\"\r\n}" headers: cache-control: - no-cache @@ -2931,7 +4340,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:40:43 GMT + - Sat, 08 May 2021 04:08:40 GMT expires: - '-1' pragma: @@ -2954,24 +4363,23 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - hpc-cache stop + - hpc-cache start Connection: - keep-alive ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/7452c295-42de-4ac4-be47-982b2c08d1a3?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/e0b3f973-08d0-4f73-9499-8194a86dc0a2?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:37:40.5018289+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"7452c295-42de-4ac4-be47-982b2c08d1a3\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T04:03:06.1107842+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"e0b3f973-08d0-4f73-9499-8194a86dc0a2\"\r\n}" headers: cache-control: - no-cache @@ -2980,7 +4388,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:41:13 GMT + - Sat, 08 May 2021 04:09:10 GMT expires: - '-1' pragma: @@ -3003,24 +4411,23 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - hpc-cache stop + - hpc-cache start Connection: - keep-alive ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/7452c295-42de-4ac4-be47-982b2c08d1a3?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/e0b3f973-08d0-4f73-9499-8194a86dc0a2?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:37:40.5018289+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"7452c295-42de-4ac4-be47-982b2c08d1a3\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T04:03:06.1107842+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"e0b3f973-08d0-4f73-9499-8194a86dc0a2\"\r\n}" headers: cache-control: - no-cache @@ -3029,7 +4436,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:41:43 GMT + - Sat, 08 May 2021 04:09:41 GMT expires: - '-1' pragma: @@ -3052,35 +4459,32 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - hpc-cache stop + - hpc-cache start Connection: - keep-alive ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/7452c295-42de-4ac4-be47-982b2c08d1a3?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/e0b3f973-08d0-4f73-9499-8194a86dc0a2?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:37:40.5018289+00:00\",\r\n \"endTime\": - \"2020-08-10T03:42:07.4986886+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"properties\": {\r\n \"output\": \"success\"\r\n },\r\n \"name\": - \"7452c295-42de-4ac4-be47-982b2c08d1a3\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T04:03:06.1107842+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"e0b3f973-08d0-4f73-9499-8194a86dc0a2\"\r\n}" headers: cache-control: - no-cache content-length: - - '234' + - '134' content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:42:14 GMT + - Sat, 08 May 2021 04:10:12 GMT expires: - '-1' pragma: @@ -3103,40 +4507,34 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - hpc-cache start Connection: - keep-alive - Content-Length: - - '0' ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 - accept-language: - - en-US - method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_hpc_cache000001/providers/Microsoft.StorageCache/caches/cachename000003/start?api-version=2019-11-01 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/e0b3f973-08d0-4f73-9499-8194a86dc0a2?api-version=2019-11-01 response: body: - string: '' + string: "{\r\n \"startTime\": \"2021-05-08T04:03:06.1107842+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"e0b3f973-08d0-4f73-9499-8194a86dc0a2\"\r\n}" headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/19a555ec-a53a-449c-b2ed-c5c7a7b99648?api-version=2019-11-01 cache-control: - no-cache content-length: - - '0' + - '134' + content-type: + - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:42:16 GMT + - Sat, 08 May 2021 04:10:42 GMT expires: - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/19a555ec-a53a-449c-b2ed-c5c7a7b99648?monitor=true&api-version=2019-11-01 pragma: - no-cache server: @@ -3144,18 +4542,20 @@ interactions: - 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: 202 - message: Accepted + code: 200 + message: OK - request: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -3165,14 +4565,13 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/19a555ec-a53a-449c-b2ed-c5c7a7b99648?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/e0b3f973-08d0-4f73-9499-8194a86dc0a2?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:42:17.0483724+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"19a555ec-a53a-449c-b2ed-c5c7a7b99648\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T04:03:06.1107842+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"e0b3f973-08d0-4f73-9499-8194a86dc0a2\"\r\n}" headers: cache-control: - no-cache @@ -3181,7 +4580,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:42:48 GMT + - Sat, 08 May 2021 04:11:13 GMT expires: - '-1' pragma: @@ -3204,7 +4603,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -3214,14 +4613,13 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/19a555ec-a53a-449c-b2ed-c5c7a7b99648?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/e0b3f973-08d0-4f73-9499-8194a86dc0a2?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:42:17.0483724+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"19a555ec-a53a-449c-b2ed-c5c7a7b99648\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T04:03:06.1107842+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"e0b3f973-08d0-4f73-9499-8194a86dc0a2\"\r\n}" headers: cache-control: - no-cache @@ -3230,7 +4628,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:43:18 GMT + - Sat, 08 May 2021 04:11:43 GMT expires: - '-1' pragma: @@ -3253,7 +4651,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -3263,14 +4661,13 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/19a555ec-a53a-449c-b2ed-c5c7a7b99648?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/e0b3f973-08d0-4f73-9499-8194a86dc0a2?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:42:17.0483724+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"19a555ec-a53a-449c-b2ed-c5c7a7b99648\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T04:03:06.1107842+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"e0b3f973-08d0-4f73-9499-8194a86dc0a2\"\r\n}" headers: cache-control: - no-cache @@ -3279,7 +4676,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:43:48 GMT + - Sat, 08 May 2021 04:12:13 GMT expires: - '-1' pragma: @@ -3302,7 +4699,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -3312,14 +4709,13 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/19a555ec-a53a-449c-b2ed-c5c7a7b99648?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/e0b3f973-08d0-4f73-9499-8194a86dc0a2?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:42:17.0483724+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"19a555ec-a53a-449c-b2ed-c5c7a7b99648\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T04:03:06.1107842+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"e0b3f973-08d0-4f73-9499-8194a86dc0a2\"\r\n}" headers: cache-control: - no-cache @@ -3328,7 +4724,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:44:19 GMT + - Sat, 08 May 2021 04:12:43 GMT expires: - '-1' pragma: @@ -3351,7 +4747,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -3361,14 +4757,13 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/19a555ec-a53a-449c-b2ed-c5c7a7b99648?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/e0b3f973-08d0-4f73-9499-8194a86dc0a2?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:42:17.0483724+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"19a555ec-a53a-449c-b2ed-c5c7a7b99648\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T04:03:06.1107842+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"e0b3f973-08d0-4f73-9499-8194a86dc0a2\"\r\n}" headers: cache-control: - no-cache @@ -3377,7 +4772,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:44:49 GMT + - Sat, 08 May 2021 04:13:14 GMT expires: - '-1' pragma: @@ -3400,7 +4795,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -3410,14 +4805,13 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/19a555ec-a53a-449c-b2ed-c5c7a7b99648?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/e0b3f973-08d0-4f73-9499-8194a86dc0a2?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:42:17.0483724+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"19a555ec-a53a-449c-b2ed-c5c7a7b99648\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T04:03:06.1107842+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"e0b3f973-08d0-4f73-9499-8194a86dc0a2\"\r\n}" headers: cache-control: - no-cache @@ -3426,7 +4820,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:45:19 GMT + - Sat, 08 May 2021 04:13:44 GMT expires: - '-1' pragma: @@ -3449,7 +4843,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -3459,14 +4853,13 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/19a555ec-a53a-449c-b2ed-c5c7a7b99648?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/e0b3f973-08d0-4f73-9499-8194a86dc0a2?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:42:17.0483724+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"19a555ec-a53a-449c-b2ed-c5c7a7b99648\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T04:03:06.1107842+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"e0b3f973-08d0-4f73-9499-8194a86dc0a2\"\r\n}" headers: cache-control: - no-cache @@ -3475,7 +4868,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:45:50 GMT + - Sat, 08 May 2021 04:14:15 GMT expires: - '-1' pragma: @@ -3498,7 +4891,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -3508,14 +4901,13 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/19a555ec-a53a-449c-b2ed-c5c7a7b99648?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/e0b3f973-08d0-4f73-9499-8194a86dc0a2?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:42:17.0483724+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"19a555ec-a53a-449c-b2ed-c5c7a7b99648\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T04:03:06.1107842+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"e0b3f973-08d0-4f73-9499-8194a86dc0a2\"\r\n}" headers: cache-control: - no-cache @@ -3524,7 +4916,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:46:20 GMT + - Sat, 08 May 2021 04:14:45 GMT expires: - '-1' pragma: @@ -3547,7 +4939,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -3557,14 +4949,13 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/19a555ec-a53a-449c-b2ed-c5c7a7b99648?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/e0b3f973-08d0-4f73-9499-8194a86dc0a2?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:42:17.0483724+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"19a555ec-a53a-449c-b2ed-c5c7a7b99648\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T04:03:06.1107842+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"e0b3f973-08d0-4f73-9499-8194a86dc0a2\"\r\n}" headers: cache-control: - no-cache @@ -3573,7 +4964,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:46:50 GMT + - Sat, 08 May 2021 04:15:15 GMT expires: - '-1' pragma: @@ -3596,7 +4987,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -3606,14 +4997,13 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/19a555ec-a53a-449c-b2ed-c5c7a7b99648?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/e0b3f973-08d0-4f73-9499-8194a86dc0a2?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:42:17.0483724+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"19a555ec-a53a-449c-b2ed-c5c7a7b99648\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T04:03:06.1107842+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"e0b3f973-08d0-4f73-9499-8194a86dc0a2\"\r\n}" headers: cache-control: - no-cache @@ -3622,7 +5012,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:47:21 GMT + - Sat, 08 May 2021 04:15:46 GMT expires: - '-1' pragma: @@ -3645,7 +5035,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -3655,14 +5045,13 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/19a555ec-a53a-449c-b2ed-c5c7a7b99648?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/e0b3f973-08d0-4f73-9499-8194a86dc0a2?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:42:17.0483724+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"19a555ec-a53a-449c-b2ed-c5c7a7b99648\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T04:03:06.1107842+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"e0b3f973-08d0-4f73-9499-8194a86dc0a2\"\r\n}" headers: cache-control: - no-cache @@ -3671,7 +5060,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:47:51 GMT + - Sat, 08 May 2021 04:16:16 GMT expires: - '-1' pragma: @@ -3694,7 +5083,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -3704,25 +5093,22 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/19a555ec-a53a-449c-b2ed-c5c7a7b99648?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/e0b3f973-08d0-4f73-9499-8194a86dc0a2?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:42:17.0483724+00:00\",\r\n \"endTime\": - \"2020-08-10T03:48:22.509214+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"properties\": {\r\n \"output\": \"success\"\r\n },\r\n \"name\": - \"19a555ec-a53a-449c-b2ed-c5c7a7b99648\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T04:03:06.1107842+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"e0b3f973-08d0-4f73-9499-8194a86dc0a2\"\r\n}" headers: cache-control: - no-cache content-length: - - '233' + - '134' content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:48:22 GMT + - Sat, 08 May 2021 04:16:46 GMT expires: - '-1' pragma: @@ -3745,40 +5131,34 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - hpc-cache delete + - hpc-cache start Connection: - keep-alive - Content-Length: - - '0' ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 - accept-language: - - en-US - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_hpc_cache000001/providers/Microsoft.StorageCache/caches/cachename000003?api-version=2019-11-01 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/e0b3f973-08d0-4f73-9499-8194a86dc0a2?api-version=2019-11-01 response: body: - string: '' + string: "{\r\n \"startTime\": \"2021-05-08T04:03:06.1107842+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"e0b3f973-08d0-4f73-9499-8194a86dc0a2\"\r\n}" headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/572f9fab-5278-43a8-a424-562887427e44?api-version=2019-11-01 cache-control: - no-cache content-length: - - '0' + - '134' + content-type: + - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:48:24 GMT + - Sat, 08 May 2021 04:17:16 GMT expires: - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/572f9fab-5278-43a8-a424-562887427e44?monitor=true&api-version=2019-11-01 pragma: - no-cache server: @@ -3786,35 +5166,36 @@ interactions: - 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: - - '14998' status: - code: 202 - message: Accepted + code: 200 + message: OK - request: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - hpc-cache delete + - hpc-cache start Connection: - keep-alive ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/572f9fab-5278-43a8-a424-562887427e44?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/e0b3f973-08d0-4f73-9499-8194a86dc0a2?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:48:25.2656847+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"572f9fab-5278-43a8-a424-562887427e44\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T04:03:06.1107842+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"e0b3f973-08d0-4f73-9499-8194a86dc0a2\"\r\n}" headers: cache-control: - no-cache @@ -3823,7 +5204,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:48:55 GMT + - Sat, 08 May 2021 04:17:47 GMT expires: - '-1' pragma: @@ -3846,24 +5227,23 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - hpc-cache delete + - hpc-cache start Connection: - keep-alive ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/572f9fab-5278-43a8-a424-562887427e44?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/e0b3f973-08d0-4f73-9499-8194a86dc0a2?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:48:25.2656847+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"572f9fab-5278-43a8-a424-562887427e44\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T04:03:06.1107842+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"e0b3f973-08d0-4f73-9499-8194a86dc0a2\"\r\n}" headers: cache-control: - no-cache @@ -3872,7 +5252,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:49:25 GMT + - Sat, 08 May 2021 04:18:17 GMT expires: - '-1' pragma: @@ -3895,33 +5275,34 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - hpc-cache delete + - hpc-cache start Connection: - keep-alive ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/572f9fab-5278-43a8-a424-562887427e44?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/e0b3f973-08d0-4f73-9499-8194a86dc0a2?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:48:25.2656847+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"572f9fab-5278-43a8-a424-562887427e44\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T04:03:06.1107842+00:00\",\r\n \"endTime\": + \"2021-05-08T04:18:31.3942943+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"properties\": {\r\n \"output\": \"success\"\r\n },\r\n \"name\": + \"e0b3f973-08d0-4f73-9499-8194a86dc0a2\"\r\n}" headers: cache-control: - no-cache content-length: - - '134' + - '234' content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:49:56 GMT + - Sat, 08 May 2021 04:18:48 GMT expires: - '-1' pragma: @@ -3944,33 +5325,31 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - hpc-cache delete + - hpc-cache start Connection: - keep-alive ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/572f9fab-5278-43a8-a424-562887427e44?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/e0b3f973-08d0-4f73-9499-8194a86dc0a2?monitor=true&api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:48:25.2656847+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"572f9fab-5278-43a8-a424-562887427e44\"\r\n}" + string: '"success"' headers: cache-control: - no-cache content-length: - - '134' + - '9' content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:50:26 GMT + - Sat, 08 May 2021 04:18:49 GMT expires: - '-1' pragma: @@ -4000,17 +5379,65 @@ interactions: - hpc-cache delete Connection: - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-group --name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_hpc_cache000001/providers/Microsoft.StorageCache/caches/cachename000003?api-version=2019-11-01 + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/5971006f-2192-41c9-92be-2ef4a8d74025?api-version=2019-11-01 + cache-control: + - no-cache + content-length: + - '0' + date: + - Sat, 08 May 2021 04:18:53 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/5971006f-2192-41c9-92be-2ef4a8d74025?monitor=true&api-version=2019-11-01 + 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-deletes: + - '14999' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - hpc-cache delete + Connection: + - keep-alive ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/572f9fab-5278-43a8-a424-562887427e44?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/5971006f-2192-41c9-92be-2ef4a8d74025?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:48:25.2656847+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"572f9fab-5278-43a8-a424-562887427e44\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T04:18:53.2166161+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"5971006f-2192-41c9-92be-2ef4a8d74025\"\r\n}" headers: cache-control: - no-cache @@ -4019,7 +5446,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:50:56 GMT + - Sat, 08 May 2021 04:19:23 GMT expires: - '-1' pragma: @@ -4042,7 +5469,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -4052,14 +5479,13 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/572f9fab-5278-43a8-a424-562887427e44?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/5971006f-2192-41c9-92be-2ef4a8d74025?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:48:25.2656847+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"572f9fab-5278-43a8-a424-562887427e44\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T04:18:53.2166161+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"5971006f-2192-41c9-92be-2ef4a8d74025\"\r\n}" headers: cache-control: - no-cache @@ -4068,7 +5494,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:51:27 GMT + - Sat, 08 May 2021 04:19:53 GMT expires: - '-1' pragma: @@ -4091,7 +5517,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -4101,14 +5527,13 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/572f9fab-5278-43a8-a424-562887427e44?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/5971006f-2192-41c9-92be-2ef4a8d74025?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:48:25.2656847+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"572f9fab-5278-43a8-a424-562887427e44\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T04:18:53.2166161+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"5971006f-2192-41c9-92be-2ef4a8d74025\"\r\n}" headers: cache-control: - no-cache @@ -4117,7 +5542,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:51:57 GMT + - Sat, 08 May 2021 04:20:25 GMT expires: - '-1' pragma: @@ -4140,7 +5565,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -4150,14 +5575,13 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/572f9fab-5278-43a8-a424-562887427e44?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/5971006f-2192-41c9-92be-2ef4a8d74025?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:48:25.2656847+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"572f9fab-5278-43a8-a424-562887427e44\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T04:18:53.2166161+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"5971006f-2192-41c9-92be-2ef4a8d74025\"\r\n}" headers: cache-control: - no-cache @@ -4166,7 +5590,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:52:27 GMT + - Sat, 08 May 2021 04:20:55 GMT expires: - '-1' pragma: @@ -4189,7 +5613,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -4199,14 +5623,13 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/572f9fab-5278-43a8-a424-562887427e44?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/5971006f-2192-41c9-92be-2ef4a8d74025?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:48:25.2656847+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"572f9fab-5278-43a8-a424-562887427e44\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T04:18:53.2166161+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"5971006f-2192-41c9-92be-2ef4a8d74025\"\r\n}" headers: cache-control: - no-cache @@ -4215,7 +5638,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:52:58 GMT + - Sat, 08 May 2021 04:21:25 GMT expires: - '-1' pragma: @@ -4238,7 +5661,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -4248,14 +5671,13 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/572f9fab-5278-43a8-a424-562887427e44?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/5971006f-2192-41c9-92be-2ef4a8d74025?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:48:25.2656847+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"572f9fab-5278-43a8-a424-562887427e44\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T04:18:53.2166161+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"5971006f-2192-41c9-92be-2ef4a8d74025\"\r\n}" headers: cache-control: - no-cache @@ -4264,7 +5686,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:53:28 GMT + - Sat, 08 May 2021 04:21:55 GMT expires: - '-1' pragma: @@ -4287,7 +5709,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -4297,14 +5719,13 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/572f9fab-5278-43a8-a424-562887427e44?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/5971006f-2192-41c9-92be-2ef4a8d74025?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:48:25.2656847+00:00\",\r\n \"status\": - \"InProgress\",\r\n \"name\": \"572f9fab-5278-43a8-a424-562887427e44\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T04:18:53.2166161+00:00\",\r\n \"status\": + \"InProgress\",\r\n \"name\": \"5971006f-2192-41c9-92be-2ef4a8d74025\"\r\n}" headers: cache-control: - no-cache @@ -4313,7 +5734,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:53:59 GMT + - Sat, 08 May 2021 04:22:26 GMT expires: - '-1' pragma: @@ -4336,7 +5757,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -4346,15 +5767,14 @@ interactions: ParameterSetName: - --resource-group --name User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/572f9fab-5278-43a8-a424-562887427e44?api-version=2019-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/locations/eastus/ascOperations/5971006f-2192-41c9-92be-2ef4a8d74025?api-version=2019-11-01 response: body: - string: "{\r\n \"startTime\": \"2020-08-10T03:48:25.2656847+00:00\",\r\n \"endTime\": - \"2020-08-10T03:54:26.7215072+00:00\",\r\n \"status\": \"Succeeded\",\r\n - \ \"name\": \"572f9fab-5278-43a8-a424-562887427e44\"\r\n}" + string: "{\r\n \"startTime\": \"2021-05-08T04:18:53.2166161+00:00\",\r\n \"endTime\": + \"2021-05-08T04:22:55.1996464+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"name\": \"5971006f-2192-41c9-92be-2ef4a8d74025\"\r\n}" headers: cache-control: - no-cache @@ -4363,7 +5783,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:54:30 GMT + - Sat, 08 May 2021 04:22:56 GMT expires: - '-1' pragma: @@ -4396,63 +5816,21 @@ interactions: ParameterSetName: - --query User-Agent: - - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storagecache/0.2.0 - Azure-SDK-For-Python AZURECLI/2.10.1 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-mgmt-storagecache/0.1.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StorageCache/caches?api-version=2019-11-01 response: body: - string: "{\r\n \"value\": [\r\n {\r\n \"name\": \"qianwenasc\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/QIANWENS/providers/Microsoft.StorageCache/caches/qianwenasc\",\r\n - \ \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": - \"eastus\",\r\n \"tags\": {},\r\n \"sku\": {\r\n \"name\": - \"Standard_2G\"\r\n },\r\n \"properties\": {\r\n \"cacheSizeGB\": - 3072,\r\n \"health\": {\r\n \"state\": \"Stopped\",\r\n \"statusDescription\": - \"The Cache resources have been deallocated\"\r\n },\r\n \"mountAddresses\": - [\r\n \"10.7.0.7\",\r\n \"10.7.0.8\",\r\n \"10.7.0.9\"\r\n - \ ],\r\n \"provisioningState\": \"Succeeded\",\r\n \"subnet\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Network/virtualNetworks/QIAN/subnets/default\",\r\n - \ \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"5.3.31\",\r\n - \ \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": - \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2020-03-05T04:11:45.6337919Z\"\r\n - \ }\r\n }\r\n },\r\n {\r\n \"name\": \"sc3\",\r\n \"id\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/QIANWENS/providers/Microsoft.StorageCache/caches/sc3\",\r\n - \ \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": - \"eastus\",\r\n \"sku\": {\r\n \"name\": \"Standard_2G\"\r\n },\r\n - \ \"properties\": {\r\n \"cacheSizeGB\": 3072,\r\n \"health\": - {\r\n \"state\": \"Stopped\",\r\n \"statusDescription\": - \"The Cache resources have been deallocated\"\r\n },\r\n \"mountAddresses\": - [\r\n \"10.7.0.28\",\r\n \"10.7.0.29\",\r\n \"10.7.0.30\"\r\n - \ ],\r\n \"provisioningState\": \"Succeeded\",\r\n \"subnet\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Network/virtualNetworks/QIAN/subnets/default\",\r\n - \ \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"5.3.42\",\r\n - \ \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": - \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2020-03-16T05:57:12.2110973Z\"\r\n - \ }\r\n }\r\n },\r\n {\r\n \"name\": \"zhoxing-test\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ZHOXING-TEST/providers/Microsoft.StorageCache/caches/zhoxing-test\",\r\n - \ \"type\": \"Microsoft.StorageCache/caches\",\r\n \"location\": - \"eastus\",\r\n \"tags\": {},\r\n \"sku\": {\r\n \"name\": - \"Standard_2G\"\r\n },\r\n \"properties\": {\r\n \"cacheSizeGB\": - 3072,\r\n \"health\": {\r\n \"state\": \"Healthy\",\r\n \"statusDescription\": - \"The cache is in Running state\"\r\n },\r\n \"mountAddresses\": - [\r\n \"10.12.0.7\",\r\n \"10.12.0.8\",\r\n \"10.12.0.9\"\r\n - \ ],\r\n \"provisioningState\": \"Succeeded\",\r\n \"subnet\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhoxing-test/providers/Microsoft.Network/virtualNetworks/zhoxing/subnets/default\",\r\n - \ \"upgradeStatus\": {\r\n \"currentFirmwareVersion\": \"5.3.61\",\r\n - \ \"firmwareUpdateStatus\": \"unavailable\",\r\n \"firmwareUpdateDeadline\": - \"0001-01-01T00:00:00Z\",\r\n \"lastFirmwareUpdate\": \"2020-08-10T02:44:19.2895559Z\"\r\n - \ }\r\n }\r\n }\r\n ]\r\n}" + string: "{\r\n \"value\": []\r\n}" headers: cache-control: - no-cache content-length: - - '3352' + - '19' content-type: - application/json; charset=utf-8 date: - - Mon, 10 Aug 2020 03:54:32 GMT + - Sat, 08 May 2021 04:23:00 GMT expires: - '-1' pragma: diff --git a/src/hpc-cache/azext_hpc_cache/tests/latest/recordings/test_hpc_storage_target.yaml b/src/hpc-cache/azext_hpc_cache/tests/latest/recordings/test_hpc_storage_target.yaml index d3726bba58c..e7e87dbfb38 100644 --- a/src/hpc-cache/azext_hpc_cache/tests/latest/recordings/test_hpc_storage_target.yaml +++ b/src/hpc-cache/azext_hpc_cache/tests/latest/recordings/test_hpc_storage_target.yaml @@ -24,7 +24,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_hpc_storage_target000001/providers/Microsoft.Storage/storageAccounts/storagename000004?api-version=2019-06-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_hpc_storage_target000001/providers/Microsoft.Storage/storageAccounts/storagename000004?api-version=2021-02-01 response: body: string: '' @@ -40,7 +40,7 @@ interactions: expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/eastus/asyncoperations/8e0c6637-2cac-437c-abf5-b0bfea0231bf?monitor=true&api-version=2019-06-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/eastus/asyncoperations/8e0c6637-2cac-437c-abf5-b0bfea0231bf?monitor=true&api-version=2021-02-01 pragma: - no-cache server: @@ -71,7 +71,7 @@ interactions: - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-storage/11.1.0 Azure-SDK-For-Python AZURECLI/2.10.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/eastus/asyncoperations/8e0c6637-2cac-437c-abf5-b0bfea0231bf?monitor=true&api-version=2019-06-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/eastus/asyncoperations/8e0c6637-2cac-437c-abf5-b0bfea0231bf?monitor=true&api-version=2021-02-01 response: body: string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_hpc_storage_target000001/providers/Microsoft.Storage/storageAccounts/storagename000004","name":"storagename000004","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-11T07:39:09.1401411Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-11T07:39:09.1401411Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-08-11T07:39:09.0307839Z","primaryEndpoints":{"dfs":"https://storagename000004.dfs.core.windows.net/","web":"https://storagename000004.z13.web.core.windows.net/","blob":"https://storagename000004.blob.core.windows.net/","queue":"https://storagename000004.queue.core.windows.net/","table":"https://storagename000004.table.core.windows.net/","file":"https://storagename000004.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}}' @@ -120,7 +120,7 @@ interactions: accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/storageAccounts?api-version=2019-06-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/storageAccounts?api-version=2021-02-01 response: body: string: '{"value":[{"sku":{"name":"Premium_LRS","tier":"Premium"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-beta/providers/Microsoft.Storage/storageAccounts/azureclibeta","name":"azureclibeta","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-11T10:11:09.8011543Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-11T10:11:09.8011543Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-06-11T10:11:09.7230107Z","primaryEndpoints":{"web":"https://azureclibeta.z13.web.core.windows.net/","blob":"https://azureclibeta.blob.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGZRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli-beta/providers/Microsoft.Storage/storageAccounts/azureclibetarelease","name":"azureclibetarelease","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-11T10:32:24.8036511Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-11T10:32:24.8036511Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-06-11T10:32:24.7099044Z","primaryEndpoints":{"dfs":"https://azureclibetarelease.dfs.core.windows.net/","web":"https://azureclibetarelease.z13.web.core.windows.net/","blob":"https://azureclibetarelease.blob.core.windows.net/","queue":"https://azureclibetarelease.queue.core.windows.net/","table":"https://azureclibetarelease.table.core.windows.net/","file":"https://azureclibetarelease.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://azureclibetarelease-secondary.dfs.core.windows.net/","web":"https://azureclibetarelease-secondary.z13.web.core.windows.net/","blob":"https://azureclibetarelease-secondary.blob.core.windows.net/","queue":"https://azureclibetarelease-secondary.queue.core.windows.net/","table":"https://azureclibetarelease-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azure-core-poc/providers/Microsoft.Storage/storageAccounts/azurecorepoc","name":"azurecorepoc","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-26T02:38:58.8233588Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-26T02:38:58.8233588Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-12-26T02:38:58.7452329Z","primaryEndpoints":{"dfs":"https://azurecorepoc.dfs.core.windows.net/","web":"https://azurecorepoc.z13.web.core.windows.net/","blob":"https://azurecorepoc.blob.core.windows.net/","queue":"https://azurecorepoc.queue.core.windows.net/","table":"https://azurecorepoc.table.core.windows.net/","file":"https://azurecorepoc.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://azurecorepoc-secondary.dfs.core.windows.net/","web":"https://azurecorepoc-secondary.z13.web.core.windows.net/","blob":"https://azurecorepoc-secondary.blob.core.windows.net/","queue":"https://azurecorepoc-secondary.queue.core.windows.net/","table":"https://azurecorepoc-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/bycvad","name":"bycvad","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-30T14:07:32.3655331Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-30T14:07:32.3655331Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-07-30T14:07:32.2873934Z","primaryEndpoints":{"dfs":"https://bycvad.dfs.core.windows.net/","web":"https://bycvad.z13.web.core.windows.net/","blob":"https://bycvad.blob.core.windows.net/","queue":"https://bycvad.queue.core.windows.net/","table":"https://bycvad.table.core.windows.net/","file":"https://bycvad.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestresult/providers/Microsoft.Storage/storageAccounts/clitestresultstac","name":"clitestresultstac","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-15T06:20:52.7844389Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-15T06:20:52.7844389Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-07-15T06:20:52.6907255Z","primaryEndpoints":{"dfs":"https://clitestresultstac.dfs.core.windows.net/","web":"https://clitestresultstac.z13.web.core.windows.net/","blob":"https://clitestresultstac.blob.core.windows.net/","queue":"https://clitestresultstac.queue.core.windows.net/","table":"https://clitestresultstac.table.core.windows.net/","file":"https://clitestresultstac.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://clitestresultstac-secondary.dfs.core.windows.net/","web":"https://clitestresultstac-secondary.z13.web.core.windows.net/","blob":"https://clitestresultstac-secondary.blob.core.windows.net/","queue":"https://clitestresultstac-secondary.queue.core.windows.net/","table":"https://clitestresultstac-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/cyfgascfdf","name":"cyfgascfdf","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"isHnsEnabled":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-04T05:27:55.5006933Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-04T05:27:55.5006933Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-08-04T05:27:55.4069561Z","primaryEndpoints":{"dfs":"https://cyfgascfdf.dfs.core.windows.net/","web":"https://cyfgascfdf.z13.web.core.windows.net/","blob":"https://cyfgascfdf.blob.core.windows.net/","queue":"https://cyfgascfdf.queue.core.windows.net/","table":"https://cyfgascfdf.table.core.windows.net/","file":"https://cyfgascfdf.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/dhsgcvkfg","name":"dhsgcvkfg","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[{"value":"13.66.128.0/17","action":"Allow"},{"value":"13.77.128.0/18","action":"Allow"},{"value":"13.104.129.64/26","action":"Allow"},{"value":"13.104.145.0/26","action":"Allow"},{"value":"13.104.208.192/26","action":"Allow"},{"value":"13.104.213.0/25","action":"Allow"},{"value":"13.104.220.0/25","action":"Allow"},{"value":"13.105.14.0/25","action":"Allow"},{"value":"13.105.14.128/26","action":"Allow"},{"value":"13.105.18.160/27","action":"Allow"},{"value":"13.105.36.0/27","action":"Allow"},{"value":"13.105.36.32/28","action":"Allow"},{"value":"13.105.36.64/27","action":"Allow"},{"value":"13.105.36.128/26","action":"Allow"},{"value":"13.105.66.64/26","action":"Allow"},{"value":"20.36.0.0/19","action":"Allow"},{"value":"20.38.99.0/24","action":"Allow"},{"value":"20.42.128.0/18","action":"Allow"},{"value":"20.47.62.0/23","action":"Allow"},{"value":"20.47.120.0/23","action":"Allow"},{"value":"20.51.64.0/18","action":"Allow"},{"value":"20.57.128.0/18","action":"Allow"},{"value":"20.59.0.0/18","action":"Allow"},{"value":"20.60.20.0/24","action":"Allow"},{"value":"20.150.68.0/24","action":"Allow"},{"value":"20.150.78.0/24","action":"Allow"},{"value":"20.150.87.0/24","action":"Allow"},{"value":"20.150.107.0/24","action":"Allow"},{"value":"20.187.0.0/18","action":"Allow"},{"value":"20.190.0.0/18","action":"Allow"},{"value":"20.190.133.0/24","action":"Allow"},{"value":"20.190.154.0/24","action":"Allow"},{"value":"20.191.64.0/18","action":"Allow"},{"value":"23.98.47.0/24","action":"Allow"},{"value":"23.102.192.0/21","action":"Allow"},{"value":"23.102.203.0/24","action":"Allow"},{"value":"23.103.64.32/27","action":"Allow"},{"value":"23.103.64.64/27","action":"Allow"},{"value":"23.103.66.0/23","action":"Allow"},{"value":"40.64.64.0/18","action":"Allow"},{"value":"40.64.128.0/21","action":"Allow"},{"value":"40.65.64.0/18","action":"Allow"},{"value":"40.77.136.0/28","action":"Allow"},{"value":"40.77.136.64/28","action":"Allow"},{"value":"40.77.139.128/25","action":"Allow"},{"value":"40.77.160.0/27","action":"Allow"},{"value":"40.77.162.0/24","action":"Allow"},{"value":"40.77.164.0/24","action":"Allow"},{"value":"40.77.169.0/24","action":"Allow"},{"value":"40.77.175.64/27","action":"Allow"},{"value":"40.77.180.0/23","action":"Allow"},{"value":"40.77.182.64/27","action":"Allow"},{"value":"40.77.185.128/25","action":"Allow"},{"value":"40.77.186.0/23","action":"Allow"},{"value":"40.77.198.128/25","action":"Allow"},{"value":"40.77.199.128/26","action":"Allow"},{"value":"40.77.200.0/25","action":"Allow"},{"value":"40.77.202.0/24","action":"Allow"},{"value":"40.77.224.96/27","action":"Allow"},{"value":"40.77.230.0/24","action":"Allow"},{"value":"40.77.232.128/25","action":"Allow"},{"value":"40.77.234.224/27","action":"Allow"},{"value":"40.77.236.128/27","action":"Allow"},{"value":"40.77.240.128/25","action":"Allow"},{"value":"40.77.241.0/24","action":"Allow"},{"value":"40.77.242.0/23","action":"Allow"},{"value":"40.77.247.0/24","action":"Allow"},{"value":"40.77.249.0/24","action":"Allow"},{"value":"40.77.250.0/24","action":"Allow"},{"value":"40.77.254.128/25","action":"Allow"},{"value":"40.78.208.32/30","action":"Allow"},{"value":"40.78.217.0/24","action":"Allow"},{"value":"40.78.240.0/20","action":"Allow"},{"value":"40.80.160.0/24","action":"Allow"},{"value":"40.82.36.0/22","action":"Allow"},{"value":"40.87.232.0/21","action":"Allow"},{"value":"40.90.16.192/26","action":"Allow"},{"value":"40.90.131.32/27","action":"Allow"},{"value":"40.90.132.48/28","action":"Allow"},{"value":"40.90.136.224/27","action":"Allow"},{"value":"40.90.138.208/28","action":"Allow"},{"value":"40.90.139.32/27","action":"Allow"},{"value":"40.90.146.32/27","action":"Allow"},{"value":"40.90.148.192/27","action":"Allow"},{"value":"40.90.153.0/26","action":"Allow"},{"value":"40.90.192.0/19","action":"Allow"},{"value":"40.91.0.0/22","action":"Allow"},{"value":"40.91.64.0/18","action":"Allow"},{"value":"40.91.160.0/19","action":"Allow"},{"value":"40.125.64.0/18","action":"Allow"},{"value":"40.126.5.0/24","action":"Allow"},{"value":"40.126.26.0/24","action":"Allow"},{"value":"51.141.160.0/19","action":"Allow"},{"value":"51.143.0.0/17","action":"Allow"},{"value":"52.96.11.0/24","action":"Allow"},{"value":"52.108.72.0/24","action":"Allow"},{"value":"52.108.93.0/24","action":"Allow"},{"value":"52.109.24.0/22","action":"Allow"},{"value":"52.111.246.0/24","action":"Allow"},{"value":"52.112.105.0/24","action":"Allow"},{"value":"52.112.109.0/24","action":"Allow"},{"value":"52.112.115.0/24","action":"Allow"},{"value":"52.114.148.0/22","action":"Allow"},{"value":"52.115.55.0/24","action":"Allow"},{"value":"52.136.0.0/22","action":"Allow"},{"value":"52.137.64.0/18","action":"Allow"},{"value":"52.143.64.0/18","action":"Allow"},{"value":"52.143.197.0/24","action":"Allow"},{"value":"52.143.211.0/24","action":"Allow"},{"value":"52.148.128.0/18","action":"Allow"},{"value":"52.149.0.0/18","action":"Allow"},{"value":"52.151.0.0/18","action":"Allow"},{"value":"52.156.64.0/18","action":"Allow"},{"value":"52.156.128.0/19","action":"Allow"},{"value":"52.158.224.0/19","action":"Allow"},{"value":"52.175.192.0/18","action":"Allow"},{"value":"52.183.0.0/17","action":"Allow"},{"value":"52.191.128.0/18","action":"Allow"},{"value":"52.229.0.0/18","action":"Allow"},{"value":"52.232.152.0/24","action":"Allow"},{"value":"52.233.64.0/18","action":"Allow"},{"value":"52.235.64.0/18","action":"Allow"},{"value":"52.239.148.128/25","action":"Allow"},{"value":"52.239.176.128/25","action":"Allow"},{"value":"52.239.193.0/24","action":"Allow"},{"value":"52.239.210.0/23","action":"Allow"},{"value":"52.239.236.0/23","action":"Allow"},{"value":"52.245.52.0/22","action":"Allow"},{"value":"52.246.192.0/18","action":"Allow"},{"value":"52.247.192.0/18","action":"Allow"},{"value":"52.250.0.0/17","action":"Allow"},{"value":"65.52.111.0/24","action":"Allow"},{"value":"65.55.32.128/28","action":"Allow"},{"value":"65.55.32.192/27","action":"Allow"},{"value":"65.55.32.224/28","action":"Allow"},{"value":"65.55.33.176/28","action":"Allow"},{"value":"65.55.33.192/28","action":"Allow"},{"value":"65.55.35.192/27","action":"Allow"},{"value":"65.55.44.8/29","action":"Allow"},{"value":"65.55.44.112/28","action":"Allow"},{"value":"65.55.51.0/24","action":"Allow"},{"value":"65.55.105.160/27","action":"Allow"},{"value":"65.55.106.192/28","action":"Allow"},{"value":"65.55.106.240/28","action":"Allow"},{"value":"65.55.107.0/28","action":"Allow"},{"value":"65.55.107.96/27","action":"Allow"},{"value":"65.55.110.0/24","action":"Allow"},{"value":"65.55.120.0/24","action":"Allow"},{"value":"65.55.207.0/24","action":"Allow"},{"value":"65.55.209.0/25","action":"Allow"},{"value":"65.55.210.0/24","action":"Allow"},{"value":"65.55.219.64/26","action":"Allow"},{"value":"65.55.250.0/24","action":"Allow"},{"value":"65.55.252.0/24","action":"Allow"},{"value":"70.37.0.0/21","action":"Allow"},{"value":"70.37.8.0/22","action":"Allow"},{"value":"70.37.16.0/20","action":"Allow"},{"value":"70.37.32.0/20","action":"Allow"},{"value":"104.44.89.128/27","action":"Allow"},{"value":"104.44.89.192/27","action":"Allow"},{"value":"104.44.95.0/28","action":"Allow"},{"value":"131.253.12.160/28","action":"Allow"},{"value":"131.253.12.228/30","action":"Allow"},{"value":"131.253.13.24/29","action":"Allow"},{"value":"131.253.13.88/30","action":"Allow"},{"value":"131.253.13.128/27","action":"Allow"},{"value":"131.253.14.4/30","action":"Allow"}],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-31T02:24:32.7434783Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-31T02:24:32.7434783Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-07-31T02:24:32.6653738Z","primaryEndpoints":{"dfs":"https://dhsgcvkfg.dfs.core.windows.net/","web":"https://dhsgcvkfg.z13.web.core.windows.net/","blob":"https://dhsgcvkfg.blob.core.windows.net/","queue":"https://dhsgcvkfg.queue.core.windows.net/","table":"https://dhsgcvkfg.table.core.windows.net/","file":"https://dhsgcvkfg.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fytest/providers/Microsoft.Storage/storageAccounts/fystac","name":"fystac","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-08T03:10:13.4426715Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-08T03:10:13.4426715Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-04-08T03:10:13.3645539Z","primaryEndpoints":{"dfs":"https://fystac.dfs.core.windows.net/","web":"https://fystac.z13.web.core.windows.net/","blob":"https://fystac.blob.core.windows.net/","queue":"https://fystac.queue.core.windows.net/","table":"https://fystac.table.core.windows.net/","file":"https://fystac.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://fystac-secondary.dfs.core.windows.net/","web":"https://fystac-secondary.z13.web.core.windows.net/","blob":"https://fystac-secondary.blob.core.windows.net/","queue":"https://fystac-secondary.queue.core.windows.net/","table":"https://fystac-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/harold/providers/Microsoft.Storage/storageAccounts/harold","name":"harold","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-30T09:03:36.5050275Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-30T09:03:36.5050275Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-07-30T09:03:36.4112460Z","primaryEndpoints":{"dfs":"https://harold.dfs.core.windows.net/","web":"https://harold.z13.web.core.windows.net/","blob":"https://harold.blob.core.windows.net/","queue":"https://harold.queue.core.windows.net/","table":"https://harold.table.core.windows.net/","file":"https://harold.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://harold-secondary.dfs.core.windows.net/","web":"https://harold-secondary.z13.web.core.windows.net/","blob":"https://harold-secondary.blob.core.windows.net/","queue":"https://harold-secondary.queue.core.windows.net/","table":"https://harold-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/kdvgtafsjd","name":"kdvgtafsjd","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-30T15:33:49.2739863Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-30T15:33:49.2739863Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-07-30T15:33:49.1958406Z","primaryEndpoints":{"dfs":"https://kdvgtafsjd.dfs.core.windows.net/","web":"https://kdvgtafsjd.z13.web.core.windows.net/","blob":"https://kdvgtafsjd.blob.core.windows.net/","queue":"https://kdvgtafsjd.queue.core.windows.net/","table":"https://kdvgtafsjd.table.core.windows.net/","file":"https://kdvgtafsjd.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup/providers/Microsoft.Storage/storageAccounts/mysasidsjaoj204","name":"mysasidsjaoj204","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-05-28T06:52:20.1427569Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-05-28T06:52:20.1427569Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-05-28T06:52:20.0646133Z","primaryEndpoints":{"dfs":"https://mysasidsjaoj204.dfs.core.windows.net/","web":"https://mysasidsjaoj204.z13.web.core.windows.net/","blob":"https://mysasidsjaoj204.blob.core.windows.net/","queue":"https://mysasidsjaoj204.queue.core.windows.net/","table":"https://mysasidsjaoj204.table.core.windows.net/","file":"https://mysasidsjaoj204.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Storage/storageAccounts/qianwenadls","name":"qianwenadls","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"isHnsEnabled":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-01T10:11:06.0357634Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-01T10:11:06.0357634Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-04-01T10:11:05.9576622Z","primaryEndpoints":{"dfs":"https://qianwenadls.dfs.core.windows.net/","web":"https://qianwenadls.z13.web.core.windows.net/","blob":"https://qianwenadls.blob.core.windows.net/","queue":"https://qianwenadls.queue.core.windows.net/","table":"https://qianwenadls.table.core.windows.net/","file":"https://qianwenadls.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://qianwenadls-secondary.dfs.core.windows.net/","web":"https://qianwenadls-secondary.z13.web.core.windows.net/","blob":"https://qianwenadls-secondary.blob.core.windows.net/","queue":"https://qianwenadls-secondary.queue.core.windows.net/","table":"https://qianwenadls-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Storage/storageAccounts/qianwendev","name":"qianwendev","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Network/virtualNetworks/QIAN/subnets/default","action":"Allow","state":"Succeeded"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Network/virtualNetworks/qianwendev/subnets/default","action":"Allow","state":"Succeeded"}],"ipRules":[{"value":"23.45.1.0/24","action":"Allow"},{"value":"23.45.1.1/24","action":"Allow"}],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-12T03:29:28.0084761Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-12T03:29:28.0084761Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-02-12T03:29:27.9459854Z","primaryEndpoints":{"dfs":"https://qianwendev.dfs.core.windows.net/","web":"https://qianwendev.z13.web.core.windows.net/","blob":"https://qianwendev.blob.core.windows.net/","queue":"https://qianwendev.queue.core.windows.net/","table":"https://qianwendev.table.core.windows.net/","file":"https://qianwendev.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://qianwendev-secondary.dfs.core.windows.net/","web":"https://qianwendev-secondary.z13.web.core.windows.net/","blob":"https://qianwendev-secondary.blob.core.windows.net/","queue":"https://qianwendev-secondary.queue.core.windows.net/","table":"https://qianwendev-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Storage/storageAccounts/qianwenhpctarget","name":"qianwenhpctarget","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T07:09:20.3073299Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-06T07:09:20.3073299Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-06T07:09:20.2291899Z","primaryEndpoints":{"dfs":"https://qianwenhpctarget.dfs.core.windows.net/","web":"https://qianwenhpctarget.z13.web.core.windows.net/","blob":"https://qianwenhpctarget.blob.core.windows.net/","queue":"https://qianwenhpctarget.queue.core.windows.net/","table":"https://qianwenhpctarget.table.core.windows.net/","file":"https://qianwenhpctarget.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://qianwenhpctarget-secondary.dfs.core.windows.net/","web":"https://qianwenhpctarget-secondary.z13.web.core.windows.net/","blob":"https://qianwenhpctarget-secondary.blob.core.windows.net/","queue":"https://qianwenhpctarget-secondary.queue.core.windows.net/","table":"https://qianwenhpctarget-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_ZRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/savcktesf","name":"savcktesf","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-30T14:20:28.3593252Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-30T14:20:28.3593252Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-07-30T14:20:28.2811393Z","primaryEndpoints":{"dfs":"https://savcktesf.dfs.core.windows.net/","web":"https://savcktesf.z13.web.core.windows.net/","blob":"https://savcktesf.blob.core.windows.net/","queue":"https://savcktesf.queue.core.windows.net/","table":"https://savcktesf.table.core.windows.net/","file":"https://savcktesf.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/sfvtcakf","name":"sfvtcakf","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-03T05:40:57.2438526Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-03T05:40:57.2438526Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-08-03T05:40:57.1344759Z","primaryEndpoints":{"dfs":"https://sfvtcakf.dfs.core.windows.net/","web":"https://sfvtcakf.z13.web.core.windows.net/","blob":"https://sfvtcakf.blob.core.windows.net/","queue":"https://sfvtcakf.queue.core.windows.net/","table":"https://sfvtcakf.table.core.windows.net/","file":"https://sfvtcakf.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_hpc_storage_target000001/providers/Microsoft.Storage/storageAccounts/storagename000004","name":"storagename000004","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-11T07:39:09.1401411Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-11T07:39:09.1401411Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-08-11T07:39:09.0307839Z","primaryEndpoints":{"dfs":"https://storagename000004.dfs.core.windows.net/","web":"https://storagename000004.z13.web.core.windows.net/","blob":"https://storagename000004.blob.core.windows.net/","queue":"https://storagename000004.queue.core.windows.net/","table":"https://storagename000004.table.core.windows.net/","file":"https://storagename000004.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hackathon-cli-recommendation-rg/providers/Microsoft.Storage/storageAccounts/yueshi","name":"yueshi","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-04T07:09:49.4853538Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-04T07:09:49.4853538Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-08-04T07:09:49.3759728Z","primaryEndpoints":{"blob":"https://yueshi.blob.core.windows.net/","queue":"https://yueshi.queue.core.windows.net/","table":"https://yueshi.table.core.windows.net/","file":"https://yueshi.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhoxing-test/providers/Microsoft.Storage/storageAccounts/zhoxing","name":"zhoxing","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-15T08:53:45.4310180Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-15T08:53:45.4310180Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-04-15T08:53:45.3528671Z","primaryEndpoints":{"dfs":"https://zhoxing.dfs.core.windows.net/","web":"https://zhoxing.z13.web.core.windows.net/","blob":"https://zhoxing.blob.core.windows.net/","queue":"https://zhoxing.queue.core.windows.net/","table":"https://zhoxing.table.core.windows.net/","file":"https://zhoxing.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://zhoxing-secondary.dfs.core.windows.net/","web":"https://zhoxing-secondary.z13.web.core.windows.net/","blob":"https://zhoxing-secondary.blob.core.windows.net/","queue":"https://zhoxing-secondary.queue.core.windows.net/","table":"https://zhoxing-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/zuhadls","name":"zuhadls","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"isHnsEnabled":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-24T03:15:58.4932756Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-24T03:15:58.4932756Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-07-24T03:15:58.3995048Z","primaryEndpoints":{"dfs":"https://zuhadls.dfs.core.windows.net/","web":"https://zuhadls.z13.web.core.windows.net/","blob":"https://zuhadls.blob.core.windows.net/","queue":"https://zuhadls.queue.core.windows.net/","table":"https://zuhadls.table.core.windows.net/","file":"https://zuhadls.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://zuhadls-secondary.dfs.core.windows.net/","web":"https://zuhadls-secondary.z13.web.core.windows.net/","blob":"https://zuhadls-secondary.blob.core.windows.net/","queue":"https://zuhadls-secondary.queue.core.windows.net/","table":"https://zuhadls-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/zuheast","name":"zuheast","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Deny"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-16T02:03:47.0477434Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-16T02:03:47.0477434Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-06-16T02:03:46.9383659Z","primaryEndpoints":{"dfs":"https://zuheast.dfs.core.windows.net/","web":"https://zuheast.z13.web.core.windows.net/","blob":"https://zuheast.blob.core.windows.net/","queue":"https://zuheast.queue.core.windows.net/","table":"https://zuheast.table.core.windows.net/","file":"https://zuheast.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available","secondaryLocation":"westus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://zuheast-secondary.dfs.core.windows.net/","web":"https://zuheast-secondary.z13.web.core.windows.net/","blob":"https://zuheast-secondary.blob.core.windows.net/","queue":"https://zuheast-secondary.queue.core.windows.net/","table":"https://zuheast-secondary.table.core.windows.net/"}}},{"sku":{"name":"Premium_LRS","tier":"Premium"},"kind":"FileStorage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/zuhpremium","name":"zuhpremium","type":"Microsoft.Storage/storageAccounts","location":"eastus","tags":{},"properties":{"privateEndpointConnections":[],"largeFileSharesState":"Enabled","networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-17T06:37:44.0217858Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-17T06:37:44.0217858Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-07-17T06:37:43.9281994Z","primaryEndpoints":{"file":"https://zuhpremium.file.core.windows.net/"},"primaryLocation":"eastus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/acctestRG-200811093204624446/providers/Microsoft.Storage/storageAccounts/acctestsa32why","name":"acctestsa32why","type":"Microsoft.Storage/storageAccounts","location":"eastus2","tags":{},"properties":{"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":false,"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-11T01:32:28.8609066Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-11T01:32:28.8609066Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-08-11T01:32:28.7983798Z","primaryEndpoints":{"dfs":"https://acctestsa32why.dfs.core.windows.net/","web":"https://acctestsa32why.z20.web.core.windows.net/","blob":"https://acctestsa32why.blob.core.windows.net/","queue":"https://acctestsa32why.queue.core.windows.net/","table":"https://acctestsa32why.table.core.windows.net/","file":"https://acctestsa32why.file.core.windows.net/"},"primaryLocation":"eastus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/acctestRG-200811093204622338/providers/Microsoft.Storage/storageAccounts/acctestsa6j72w","name":"acctestsa6j72w","type":"Microsoft.Storage/storageAccounts","location":"eastus2","tags":{},"properties":{"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":false,"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-11T01:32:28.7983798Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-11T01:32:28.7983798Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-08-11T01:32:28.7046507Z","primaryEndpoints":{"dfs":"https://acctestsa6j72w.dfs.core.windows.net/","web":"https://acctestsa6j72w.z20.web.core.windows.net/","blob":"https://acctestsa6j72w.blob.core.windows.net/","queue":"https://acctestsa6j72w.queue.core.windows.net/","table":"https://acctestsa6j72w.table.core.windows.net/","file":"https://acctestsa6j72w.file.core.windows.net/"},"primaryLocation":"eastus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/acctestRG-200811093204622318/providers/Microsoft.Storage/storageAccounts/acctestsadn9p1","name":"acctestsadn9p1","type":"Microsoft.Storage/storageAccounts","location":"eastus2","tags":{},"properties":{"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":false,"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-11T01:32:27.9858370Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-11T01:32:27.9858370Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-08-11T01:32:27.9077119Z","primaryEndpoints":{"dfs":"https://acctestsadn9p1.dfs.core.windows.net/","web":"https://acctestsadn9p1.z20.web.core.windows.net/","blob":"https://acctestsadn9p1.blob.core.windows.net/","queue":"https://acctestsadn9p1.queue.core.windows.net/","table":"https://acctestsadn9p1.table.core.windows.net/","file":"https://acctestsadn9p1.file.core.windows.net/"},"primaryLocation":"eastus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/acctestRG-200811093204620696/providers/Microsoft.Storage/storageAccounts/acctestsagn6jo","name":"acctestsagn6jo","type":"Microsoft.Storage/storageAccounts","location":"eastus2","tags":{},"properties":{"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":false,"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-11T01:32:32.1426260Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-11T01:32:32.1426260Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-08-11T01:32:32.0641740Z","primaryEndpoints":{"dfs":"https://acctestsagn6jo.dfs.core.windows.net/","web":"https://acctestsagn6jo.z20.web.core.windows.net/","blob":"https://acctestsagn6jo.blob.core.windows.net/","queue":"https://acctestsagn6jo.queue.core.windows.net/","table":"https://acctestsagn6jo.table.core.windows.net/","file":"https://acctestsagn6jo.file.core.windows.net/"},"primaryLocation":"eastus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/acctestRG-200811093204626354/providers/Microsoft.Storage/storageAccounts/acctestsapjnow","name":"acctestsapjnow","type":"Microsoft.Storage/storageAccounts","location":"eastus2","tags":{},"properties":{"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":false,"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-11T01:32:28.8765067Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-11T01:32:28.8765067Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-08-11T01:32:28.7983798Z","primaryEndpoints":{"dfs":"https://acctestsapjnow.dfs.core.windows.net/","web":"https://acctestsapjnow.z20.web.core.windows.net/","blob":"https://acctestsapjnow.blob.core.windows.net/","queue":"https://acctestsapjnow.queue.core.windows.net/","table":"https://acctestsapjnow.table.core.windows.net/","file":"https://acctestsapjnow.file.core.windows.net/"},"primaryLocation":"eastus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/acctestRG-200811093204638138/providers/Microsoft.Storage/storageAccounts/acctestsaqdelo","name":"acctestsaqdelo","type":"Microsoft.Storage/storageAccounts","location":"eastus2","tags":{},"properties":{"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":false,"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-11T01:32:28.2983789Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-11T01:32:28.2983789Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-08-11T01:32:28.2202814Z","primaryEndpoints":{"dfs":"https://acctestsaqdelo.dfs.core.windows.net/","web":"https://acctestsaqdelo.z20.web.core.windows.net/","blob":"https://acctestsaqdelo.blob.core.windows.net/","queue":"https://acctestsaqdelo.queue.core.windows.net/","table":"https://acctestsaqdelo.table.core.windows.net/","file":"https://acctestsaqdelo.file.core.windows.net/"},"primaryLocation":"eastus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/acctestRG-200811093204630924/providers/Microsoft.Storage/storageAccounts/acctestsaxqdbc","name":"acctestsaxqdbc","type":"Microsoft.Storage/storageAccounts","location":"eastus2","tags":{},"properties":{"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":false,"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-11T01:32:31.0329118Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-11T01:32:31.0329118Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-08-11T01:32:30.9391437Z","primaryEndpoints":{"dfs":"https://acctestsaxqdbc.dfs.core.windows.net/","web":"https://acctestsaxqdbc.z20.web.core.windows.net/","blob":"https://acctestsaxqdbc.blob.core.windows.net/","queue":"https://acctestsaxqdbc.queue.core.windows.net/","table":"https://acctestsaxqdbc.table.core.windows.net/","file":"https://acctestsaxqdbc.file.core.windows.net/"},"primaryLocation":"eastus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/acctestRG-200811093204623856/providers/Microsoft.Storage/storageAccounts/acctestsayydd2","name":"acctestsayydd2","type":"Microsoft.Storage/storageAccounts","location":"eastus2","tags":{},"properties":{"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":false,"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-11T01:32:29.9547319Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-11T01:32:29.9547319Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-08-11T01:32:29.8765990Z","primaryEndpoints":{"dfs":"https://acctestsayydd2.dfs.core.windows.net/","web":"https://acctestsayydd2.z20.web.core.windows.net/","blob":"https://acctestsayydd2.blob.core.windows.net/","queue":"https://acctestsayydd2.queue.core.windows.net/","table":"https://acctestsayydd2.table.core.windows.net/","file":"https://acctestsayydd2.file.core.windows.net/"},"primaryLocation":"eastus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jlrg1/providers/Microsoft.Storage/storageAccounts/jlst","name":"jlst","type":"Microsoft.Storage/storageAccounts","location":"eastus2","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-14T12:05:01.5230050Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-14T12:05:01.5230050Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-04-14T12:05:01.4448881Z","primaryEndpoints":{"dfs":"https://jlst.dfs.core.windows.net/","web":"https://jlst.z20.web.core.windows.net/","blob":"https://jlst.blob.core.windows.net/","queue":"https://jlst.queue.core.windows.net/","table":"https://jlst.table.core.windows.net/","file":"https://jlst.file.core.windows.net/"},"primaryLocation":"eastus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jlrg1/providers/Microsoft.Storage/storageAccounts/tsiext","name":"tsiext","type":"Microsoft.Storage/storageAccounts","location":"eastus2","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-16T04:42:27.8695098Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-04-16T04:42:27.8695098Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-04-16T04:42:27.8070104Z","primaryEndpoints":{"dfs":"https://tsiext.dfs.core.windows.net/","web":"https://tsiext.z20.web.core.windows.net/","blob":"https://tsiext.blob.core.windows.net/","queue":"https://tsiext.queue.core.windows.net/","table":"https://tsiext.table.core.windows.net/","file":"https://tsiext.file.core.windows.net/"},"primaryLocation":"eastus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhoxing-test/providers/Microsoft.Storage/storageAccounts/azhoxingtest9851","name":"azhoxingtest9851","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{"hidden-DevTestLabs-LabUId":"6e279161-d008-42b7-90a1-6801fc4bc4ca"},"properties":{"privateEndpointConnections":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhoxing-test/providers/Microsoft.Storage/storageAccounts/azhoxingtest9851/privateEndpointConnections/azhoxingtest9851.6911cd49-cfc1-4bcf-887b-6941ff2b8756","name":"azhoxingtest9851.6911cd49-cfc1-4bcf-887b-6941ff2b8756","type":"Microsoft.Storage/storageAccounts/privateEndpointConnections","properties":{"provisioningState":"Succeeded","privateEndpoint":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuhcentral/providers/Microsoft.Network/privateEndpoints/test"},"privateLinkServiceConnectionState":{"status":"Approved","description":"Auto-Approved","actionRequired":"None"}}}],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-21T05:43:15.2811036Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-21T05:43:15.2811036Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-02-21T05:43:15.2029670Z","primaryEndpoints":{"dfs":"https://azhoxingtest9851.dfs.core.windows.net/","web":"https://azhoxingtest9851.z22.web.core.windows.net/","blob":"https://azhoxingtest9851.blob.core.windows.net/","queue":"https://azhoxingtest9851.queue.core.windows.net/","table":"https://azhoxingtest9851.table.core.windows.net/","file":"https://azhoxingtest9851.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"BlobStorage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-bimdatabricks0617_2-2ganrohazz59j/providers/Microsoft.Storage/storageAccounts/dbstorage2y7hwbxdze24o","name":"dbstorage2y7hwbxdze24o","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{"application":"databricks","databricks-environment":"true"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-17T09:02:57.7540092Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-17T09:02:57.7540092Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-06-17T09:02:57.6915310Z","primaryEndpoints":{"dfs":"https://dbstorage2y7hwbxdze24o.dfs.core.windows.net/","blob":"https://dbstorage2y7hwbxdze24o.blob.core.windows.net/","table":"https://dbstorage2y7hwbxdze24o.table.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available"}},{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"BlobStorage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-bimworkspace-trp053b370fgs/providers/Microsoft.Storage/storageAccounts/dbstoragean3z7e5vagldw","name":"dbstoragean3z7e5vagldw","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{"application":"databricks","databricks-environment":"true"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-12T10:06:41.7669227Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-12T10:06:41.7669227Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-06-12T10:06:41.6888438Z","primaryEndpoints":{"dfs":"https://dbstoragean3z7e5vagldw.dfs.core.windows.net/","blob":"https://dbstoragean3z7e5vagldw.blob.core.windows.net/","table":"https://dbstoragean3z7e5vagldw.table.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fytest/providers/Microsoft.Storage/storageAccounts/sharedvmextension","name":"sharedvmextension","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-06T03:37:04.8004229Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-06T03:37:04.8004229Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-07-06T03:37:04.7066555Z","primaryEndpoints":{"dfs":"https://sharedvmextension.dfs.core.windows.net/","web":"https://sharedvmextension.z22.web.core.windows.net/","blob":"https://sharedvmextension.blob.core.windows.net/","queue":"https://sharedvmextension.queue.core.windows.net/","table":"https://sharedvmextension.table.core.windows.net/","file":"https://sharedvmextension.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://sharedvmextension-secondary.dfs.core.windows.net/","web":"https://sharedvmextension-secondary.z22.web.core.windows.net/","blob":"https://sharedvmextension-secondary.blob.core.windows.net/","queue":"https://sharedvmextension-secondary.queue.core.windows.net/","table":"https://sharedvmextension-secondary.table.core.windows.net/"}}},{"sku":{"name":"Premium_LRS","tier":"Premium"},"kind":"BlockBlobStorage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhoxing-test/providers/Microsoft.Storage/storageAccounts/zhoxingtest","name":"zhoxingtest","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-04T09:47:33.0768819Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-04T09:47:33.0768819Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-06-04T09:47:32.9831234Z","primaryEndpoints":{"dfs":"https://zhoxingtest.dfs.core.windows.net/","web":"https://zhoxingtest.z22.web.core.windows.net/","blob":"https://zhoxingtest.blob.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/zuhwest","name":"zuhwest","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[{"value":"207.68.174.192/28","action":"Allow"}],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-30T06:39:49.3101796Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-30T06:39:49.3101796Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-06-30T06:39:49.2320564Z","primaryEndpoints":{"dfs":"https://zuhwest.dfs.core.windows.net/","web":"https://zuhwest.z22.web.core.windows.net/","blob":"https://zuhwest.blob.core.windows.net/","queue":"https://zuhwest.queue.core.windows.net/","table":"https://zuhwest.table.core.windows.net/","file":"https://zuhwest.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.rg6i4hl6iakg/providers/Microsoft.Storage/storageAccounts/clitestu3p7a7ib4n4y7gt4m","name":"clitestu3p7a7ib4n4y7gt4m","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-30T01:51:53.0814418Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-30T01:51:53.0814418Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2019-12-30T01:51:53.0189478Z","primaryEndpoints":{"blob":"https://clitestu3p7a7ib4n4y7gt4m.blob.core.windows.net/","queue":"https://clitestu3p7a7ib4n4y7gt4m.queue.core.windows.net/","table":"https://clitestu3p7a7ib4n4y7gt4m.table.core.windows.net/","file":"https://clitestu3p7a7ib4n4y7gt4m.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/fengcloudsa","name":"fengcloudsa","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-24T02:57:50.9889021Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-24T02:57:50.9889021Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-06-24T02:57:50.9264022Z","primaryEndpoints":{"dfs":"https://fengcloudsa.dfs.core.windows.net/","web":"https://fengcloudsa.z23.web.core.windows.net/","blob":"https://fengcloudsa.blob.core.windows.net/","queue":"https://fengcloudsa.queue.core.windows.net/","table":"https://fengcloudsa.table.core.windows.net/","file":"https://fengcloudsa.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/jlrg1/providers/Microsoft.Storage/storageAccounts/jlcsst","name":"jlcsst","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{"ms-resource-usage":"azure-cloud-shell"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-02T07:15:45.8047726Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-02T07:15:45.8047726Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-02T07:15:45.7422455Z","primaryEndpoints":{"dfs":"https://jlcsst.dfs.core.windows.net/","web":"https://jlcsst.z23.web.core.windows.net/","blob":"https://jlcsst.blob.core.windows.net/","queue":"https://jlcsst.queue.core.windows.net/","table":"https://jlcsst.table.core.windows.net/","file":"https://jlcsst.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qianwens/providers/Microsoft.Storage/storageAccounts/qianwensdiag","name":"qianwensdiag","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-04T07:17:09.1138103Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-04T07:17:09.1138103Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-02-04T07:17:09.0514178Z","primaryEndpoints":{"blob":"https://qianwensdiag.blob.core.windows.net/","queue":"https://qianwensdiag.queue.core.windows.net/","table":"https://qianwensdiag.table.core.windows.net/","file":"https://qianwensdiag.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/yeming/providers/Microsoft.Storage/storageAccounts/yeming","name":"yeming","type":"Microsoft.Storage/storageAccounts","location":"southeastasia","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-04T06:41:07.4012554Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-12-04T06:41:07.4012554Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-12-04T06:41:07.3699884Z","primaryEndpoints":{"dfs":"https://yeming.dfs.core.windows.net/","web":"https://yeming.z23.web.core.windows.net/","blob":"https://yeming.blob.core.windows.net/","queue":"https://yeming.queue.core.windows.net/","table":"https://yeming.table.core.windows.net/","file":"https://yeming.file.core.windows.net/"},"primaryLocation":"southeastasia","statusOfPrimary":"available","secondaryLocation":"eastasia","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yeming-secondary.dfs.core.windows.net/","web":"https://yeming-secondary.z23.web.core.windows.net/","blob":"https://yeming-secondary.blob.core.windows.net/","queue":"https://yeming-secondary.queue.core.windows.net/","table":"https://yeming-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/bim-rg/providers/Microsoft.Storage/storageAccounts/bimrgdiag","name":"bimrgdiag","type":"Microsoft.Storage/storageAccounts","location":"japaneast","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-12T15:04:32.1018377Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-02-12T15:04:32.1018377Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-02-12T15:04:32.0706109Z","primaryEndpoints":{"blob":"https://bimrgdiag.blob.core.windows.net/","queue":"https://bimrgdiag.queue.core.windows.net/","table":"https://bimrgdiag.table.core.windows.net/","file":"https://bimrgdiag.file.core.windows.net/"},"primaryLocation":"japaneast","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-yakou/providers/Microsoft.Storage/storageAccounts/yakoudiagaccount","name":"yakoudiagaccount","type":"Microsoft.Storage/storageAccounts","location":"japaneast","tags":{},"properties":{"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-13T06:27:12.2166886Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-13T06:27:12.2166886Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-07-13T06:27:12.1385621Z","primaryEndpoints":{"dfs":"https://yakoudiagaccount.dfs.core.windows.net/","web":"https://yakoudiagaccount.z11.web.core.windows.net/","blob":"https://yakoudiagaccount.blob.core.windows.net/","queue":"https://yakoudiagaccount.queue.core.windows.net/","table":"https://yakoudiagaccount.table.core.windows.net/","file":"https://yakoudiagaccount.file.core.windows.net/"},"primaryLocation":"japaneast","statusOfPrimary":"available","secondaryLocation":"japanwest","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://yakoudiagaccount-secondary.dfs.core.windows.net/","web":"https://yakoudiagaccount-secondary.z11.web.core.windows.net/","blob":"https://yakoudiagaccount-secondary.blob.core.windows.net/","queue":"https://yakoudiagaccount-secondary.queue.core.windows.net/","table":"https://yakoudiagaccount-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/hasfcthfd","name":"hasfcthfd","type":"Microsoft.Storage/storageAccounts","location":"southcentralus","tags":{},"properties":{"privateEndpointConnections":[],"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-31T02:02:58.2702198Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-31T02:02:58.2702198Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-07-31T02:02:58.1920580Z","primaryEndpoints":{"dfs":"https://hasfcthfd.dfs.core.windows.net/","web":"https://hasfcthfd.z21.web.core.windows.net/","blob":"https://hasfcthfd.blob.core.windows.net/","queue":"https://hasfcthfd.queue.core.windows.net/","table":"https://hasfcthfd.table.core.windows.net/","file":"https://hasfcthfd.file.core.windows.net/"},"primaryLocation":"southcentralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"BlobStorage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-bimdatabricks2-qudpew5skdhvm/providers/Microsoft.Storage/storageAccounts/dbstorage735bkp4vtuyxc","name":"dbstorage735bkp4vtuyxc","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{"application":"databricks","databricks-environment":"true"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-17T08:11:57.0329028Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-17T08:11:57.0329028Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-06-17T08:11:56.9235224Z","primaryEndpoints":{"dfs":"https://dbstorage735bkp4vtuyxc.dfs.core.windows.net/","blob":"https://dbstorage735bkp4vtuyxc.blob.core.windows.net/","table":"https://dbstorage735bkp4vtuyxc.table.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available"}},{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"BlobStorage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-bimdatabricks3-t5xjlwnw4zlms/providers/Microsoft.Storage/storageAccounts/dbstorageh2ox2v5vtlrgs","name":"dbstorageh2ox2v5vtlrgs","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{"application":"databricks","databricks-environment":"true"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-17T08:49:27.5223382Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-17T08:49:27.5223382Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-06-17T08:49:27.4129693Z","primaryEndpoints":{"dfs":"https://dbstorageh2ox2v5vtlrgs.dfs.core.windows.net/","blob":"https://dbstorageh2ox2v5vtlrgs.blob.core.windows.net/","table":"https://dbstorageh2ox2v5vtlrgs.table.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available"}},{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"BlobStorage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-bimdatabricks-poumgta45nleo/providers/Microsoft.Storage/storageAccounts/dbstoragei4eqatrzykddu","name":"dbstoragei4eqatrzykddu","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{"application":"databricks","databricks-environment":"true"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-05-15T03:37:56.9362632Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-05-15T03:37:56.9362632Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-05-15T03:37:56.8425143Z","primaryEndpoints":{"dfs":"https://dbstoragei4eqatrzykddu.dfs.core.windows.net/","blob":"https://dbstoragei4eqatrzykddu.blob.core.windows.net/","table":"https://dbstoragei4eqatrzykddu.table.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available"}},{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"BlobStorage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-bimdatabricks4-csucgskux7byw/providers/Microsoft.Storage/storageAccounts/dbstoragewjw6osdyddzoo","name":"dbstoragewjw6osdyddzoo","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{"application":"databricks","databricks-environment":"true"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-02T07:22:12.8616393Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-02T07:22:12.8616393Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-07-02T07:22:12.7834766Z","primaryEndpoints":{"dfs":"https://dbstoragewjw6osdyddzoo.dfs.core.windows.net/","blob":"https://dbstoragewjw6osdyddzoo.blob.core.windows.net/","table":"https://dbstoragewjw6osdyddzoo.table.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/extmigrate","name":"extmigrate","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-16T08:26:10.6796218Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-16T08:26:10.6796218Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-03-16T08:26:10.5858998Z","primaryEndpoints":{"blob":"https://extmigrate.blob.core.windows.net/","queue":"https://extmigrate.queue.core.windows.net/","table":"https://extmigrate.table.core.windows.net/","file":"https://extmigrate.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"blob":"https://extmigrate-secondary.blob.core.windows.net/","queue":"https://extmigrate-secondary.queue.core.windows.net/","table":"https://extmigrate-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/feng-cli-rg/providers/Microsoft.Storage/storageAccounts/fengsa","name":"fengsa","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-01-06T04:33:22.9379802Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-01-06T04:33:22.9379802Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-01-06T04:33:22.8754625Z","primaryEndpoints":{"dfs":"https://fengsa.dfs.core.windows.net/","web":"https://fengsa.z19.web.core.windows.net/","blob":"https://fengsa.blob.core.windows.net/","queue":"https://fengsa.queue.core.windows.net/","table":"https://fengsa.table.core.windows.net/","file":"https://fengsa.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://fengsa-secondary.dfs.core.windows.net/","web":"https://fengsa-secondary.z19.web.core.windows.net/","blob":"https://fengsa-secondary.blob.core.windows.net/","queue":"https://fengsa-secondary.queue.core.windows.net/","table":"https://fengsa-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/bim-rg/providers/Microsoft.Storage/storageAccounts/storageaccountbimrg8277","name":"storageaccountbimrg8277","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-05-11T08:59:39.9591906Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-05-11T08:59:39.9591906Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-05-11T08:59:39.8810735Z","primaryEndpoints":{"blob":"https://storageaccountbimrg8277.blob.core.windows.net/","queue":"https://storageaccountbimrg8277.queue.core.windows.net/","table":"https://storageaccountbimrg8277.table.core.windows.net/","file":"https://storageaccountbimrg8277.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/bim-rg/providers/Microsoft.Storage/storageAccounts/storageaccountbimrg83e4","name":"storageaccountbimrg83e4","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-05-12T06:39:23.8091026Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-05-12T06:39:23.8091026Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-05-12T06:39:23.7153914Z","primaryEndpoints":{"blob":"https://storageaccountbimrg83e4.blob.core.windows.net/","queue":"https://storageaccountbimrg83e4.queue.core.windows.net/","table":"https://storageaccountbimrg83e4.table.core.windows.net/","file":"https://storageaccountbimrg83e4.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/bim-rg-function/providers/Microsoft.Storage/storageAccounts/storageaccountbimrg9eb7","name":"storageaccountbimrg9eb7","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-05-12T07:12:06.5485336Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-05-12T07:12:06.5485336Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-05-12T07:12:06.4547831Z","primaryEndpoints":{"blob":"https://storageaccountbimrg9eb7.blob.core.windows.net/","queue":"https://storageaccountbimrg9eb7.queue.core.windows.net/","table":"https://storageaccountbimrg9eb7.table.core.windows.net/","file":"https://storageaccountbimrg9eb7.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/bim-rg/providers/Microsoft.Storage/storageAccounts/storageaccountbimrga78a","name":"storageaccountbimrga78a","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-05-11T08:52:23.3776162Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-05-11T08:52:23.3776162Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-05-11T08:52:23.2838874Z","primaryEndpoints":{"blob":"https://storageaccountbimrga78a.blob.core.windows.net/","queue":"https://storageaccountbimrga78a.queue.core.windows.net/","table":"https://storageaccountbimrga78a.table.core.windows.net/","file":"https://storageaccountbimrga78a.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/bim-rg-function/providers/Microsoft.Storage/storageAccounts/storageaccountbimrgb117","name":"storageaccountbimrgb117","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-05-12T07:36:43.2037375Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-05-12T07:36:43.2037375Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-05-12T07:36:43.1099658Z","primaryEndpoints":{"blob":"https://storageaccountbimrgb117.blob.core.windows.net/","queue":"https://storageaccountbimrgb117.queue.core.windows.net/","table":"https://storageaccountbimrgb117.table.core.windows.net/","file":"https://storageaccountbimrgb117.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hackathon-cli-recommendation-rg/providers/Microsoft.Storage/storageAccounts/storageaccounthacka8516","name":"storageaccounthacka8516","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-28T07:01:29.5992127Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-28T07:01:29.5992127Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-07-28T07:01:29.4898032Z","primaryEndpoints":{"blob":"https://storageaccounthacka8516.blob.core.windows.net/","queue":"https://storageaccounthacka8516.queue.core.windows.net/","table":"https://storageaccounthacka8516.table.core.windows.net/","file":"https://storageaccounthacka8516.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro1","name":"storagesfrepro1","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:07:42.2058942Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:07:42.2058942Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:07:42.1277444Z","primaryEndpoints":{"dfs":"https://storagesfrepro1.dfs.core.windows.net/","web":"https://storagesfrepro1.z19.web.core.windows.net/","blob":"https://storagesfrepro1.blob.core.windows.net/","queue":"https://storagesfrepro1.queue.core.windows.net/","table":"https://storagesfrepro1.table.core.windows.net/","file":"https://storagesfrepro1.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro1-secondary.dfs.core.windows.net/","web":"https://storagesfrepro1-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro1-secondary.blob.core.windows.net/","queue":"https://storagesfrepro1-secondary.queue.core.windows.net/","table":"https://storagesfrepro1-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro10","name":"storagesfrepro10","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:00.8753334Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:00.8753334Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:14:00.7815921Z","primaryEndpoints":{"dfs":"https://storagesfrepro10.dfs.core.windows.net/","web":"https://storagesfrepro10.z19.web.core.windows.net/","blob":"https://storagesfrepro10.blob.core.windows.net/","queue":"https://storagesfrepro10.queue.core.windows.net/","table":"https://storagesfrepro10.table.core.windows.net/","file":"https://storagesfrepro10.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro10-secondary.dfs.core.windows.net/","web":"https://storagesfrepro10-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro10-secondary.blob.core.windows.net/","queue":"https://storagesfrepro10-secondary.queue.core.windows.net/","table":"https://storagesfrepro10-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro11","name":"storagesfrepro11","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:28.9859417Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:14:28.9859417Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:14:28.8609347Z","primaryEndpoints":{"dfs":"https://storagesfrepro11.dfs.core.windows.net/","web":"https://storagesfrepro11.z19.web.core.windows.net/","blob":"https://storagesfrepro11.blob.core.windows.net/","queue":"https://storagesfrepro11.queue.core.windows.net/","table":"https://storagesfrepro11.table.core.windows.net/","file":"https://storagesfrepro11.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro11-secondary.dfs.core.windows.net/","web":"https://storagesfrepro11-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro11-secondary.blob.core.windows.net/","queue":"https://storagesfrepro11-secondary.queue.core.windows.net/","table":"https://storagesfrepro11-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro12","name":"storagesfrepro12","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:15:15.6785362Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:15:15.6785362Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:15:15.5848345Z","primaryEndpoints":{"dfs":"https://storagesfrepro12.dfs.core.windows.net/","web":"https://storagesfrepro12.z19.web.core.windows.net/","blob":"https://storagesfrepro12.blob.core.windows.net/","queue":"https://storagesfrepro12.queue.core.windows.net/","table":"https://storagesfrepro12.table.core.windows.net/","file":"https://storagesfrepro12.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro12-secondary.dfs.core.windows.net/","web":"https://storagesfrepro12-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro12-secondary.blob.core.windows.net/","queue":"https://storagesfrepro12-secondary.queue.core.windows.net/","table":"https://storagesfrepro12-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro13","name":"storagesfrepro13","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:16:55.7609361Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:16:55.7609361Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:16:55.6671828Z","primaryEndpoints":{"dfs":"https://storagesfrepro13.dfs.core.windows.net/","web":"https://storagesfrepro13.z19.web.core.windows.net/","blob":"https://storagesfrepro13.blob.core.windows.net/","queue":"https://storagesfrepro13.queue.core.windows.net/","table":"https://storagesfrepro13.table.core.windows.net/","file":"https://storagesfrepro13.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro13-secondary.dfs.core.windows.net/","web":"https://storagesfrepro13-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro13-secondary.blob.core.windows.net/","queue":"https://storagesfrepro13-secondary.queue.core.windows.net/","table":"https://storagesfrepro13-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro14","name":"storagesfrepro14","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:17:40.7661469Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:17:40.7661469Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:17:40.6880204Z","primaryEndpoints":{"dfs":"https://storagesfrepro14.dfs.core.windows.net/","web":"https://storagesfrepro14.z19.web.core.windows.net/","blob":"https://storagesfrepro14.blob.core.windows.net/","queue":"https://storagesfrepro14.queue.core.windows.net/","table":"https://storagesfrepro14.table.core.windows.net/","file":"https://storagesfrepro14.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro14-secondary.dfs.core.windows.net/","web":"https://storagesfrepro14-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro14-secondary.blob.core.windows.net/","queue":"https://storagesfrepro14-secondary.queue.core.windows.net/","table":"https://storagesfrepro14-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro15","name":"storagesfrepro15","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:18:52.1812445Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:18:52.1812445Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:18:52.0718543Z","primaryEndpoints":{"dfs":"https://storagesfrepro15.dfs.core.windows.net/","web":"https://storagesfrepro15.z19.web.core.windows.net/","blob":"https://storagesfrepro15.blob.core.windows.net/","queue":"https://storagesfrepro15.queue.core.windows.net/","table":"https://storagesfrepro15.table.core.windows.net/","file":"https://storagesfrepro15.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro15-secondary.dfs.core.windows.net/","web":"https://storagesfrepro15-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro15-secondary.blob.core.windows.net/","queue":"https://storagesfrepro15-secondary.queue.core.windows.net/","table":"https://storagesfrepro15-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro16","name":"storagesfrepro16","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:19:33.1863807Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:19:33.1863807Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:19:33.0770034Z","primaryEndpoints":{"dfs":"https://storagesfrepro16.dfs.core.windows.net/","web":"https://storagesfrepro16.z19.web.core.windows.net/","blob":"https://storagesfrepro16.blob.core.windows.net/","queue":"https://storagesfrepro16.queue.core.windows.net/","table":"https://storagesfrepro16.table.core.windows.net/","file":"https://storagesfrepro16.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro16-secondary.dfs.core.windows.net/","web":"https://storagesfrepro16-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro16-secondary.blob.core.windows.net/","queue":"https://storagesfrepro16-secondary.queue.core.windows.net/","table":"https://storagesfrepro16-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro17","name":"storagesfrepro17","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:23.5553513Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:23.5553513Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:04:23.4771469Z","primaryEndpoints":{"dfs":"https://storagesfrepro17.dfs.core.windows.net/","web":"https://storagesfrepro17.z19.web.core.windows.net/","blob":"https://storagesfrepro17.blob.core.windows.net/","queue":"https://storagesfrepro17.queue.core.windows.net/","table":"https://storagesfrepro17.table.core.windows.net/","file":"https://storagesfrepro17.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro17-secondary.dfs.core.windows.net/","web":"https://storagesfrepro17-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro17-secondary.blob.core.windows.net/","queue":"https://storagesfrepro17-secondary.queue.core.windows.net/","table":"https://storagesfrepro17-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro18","name":"storagesfrepro18","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:53.8320772Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:04:53.8320772Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:04:53.7383176Z","primaryEndpoints":{"dfs":"https://storagesfrepro18.dfs.core.windows.net/","web":"https://storagesfrepro18.z19.web.core.windows.net/","blob":"https://storagesfrepro18.blob.core.windows.net/","queue":"https://storagesfrepro18.queue.core.windows.net/","table":"https://storagesfrepro18.table.core.windows.net/","file":"https://storagesfrepro18.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro18-secondary.dfs.core.windows.net/","web":"https://storagesfrepro18-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro18-secondary.blob.core.windows.net/","queue":"https://storagesfrepro18-secondary.queue.core.windows.net/","table":"https://storagesfrepro18-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro19","name":"storagesfrepro19","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:05:26.3650238Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:05:26.3650238Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:05:26.2556326Z","primaryEndpoints":{"dfs":"https://storagesfrepro19.dfs.core.windows.net/","web":"https://storagesfrepro19.z19.web.core.windows.net/","blob":"https://storagesfrepro19.blob.core.windows.net/","queue":"https://storagesfrepro19.queue.core.windows.net/","table":"https://storagesfrepro19.table.core.windows.net/","file":"https://storagesfrepro19.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro19-secondary.dfs.core.windows.net/","web":"https://storagesfrepro19-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro19-secondary.blob.core.windows.net/","queue":"https://storagesfrepro19-secondary.queue.core.windows.net/","table":"https://storagesfrepro19-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro2","name":"storagesfrepro2","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:08:45.8498203Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:08:45.8498203Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:08:45.7717196Z","primaryEndpoints":{"dfs":"https://storagesfrepro2.dfs.core.windows.net/","web":"https://storagesfrepro2.z19.web.core.windows.net/","blob":"https://storagesfrepro2.blob.core.windows.net/","queue":"https://storagesfrepro2.queue.core.windows.net/","table":"https://storagesfrepro2.table.core.windows.net/","file":"https://storagesfrepro2.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro2-secondary.dfs.core.windows.net/","web":"https://storagesfrepro2-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro2-secondary.blob.core.windows.net/","queue":"https://storagesfrepro2-secondary.queue.core.windows.net/","table":"https://storagesfrepro2-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro20","name":"storagesfrepro20","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:07.4295934Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:07.4295934Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:06:07.3358422Z","primaryEndpoints":{"dfs":"https://storagesfrepro20.dfs.core.windows.net/","web":"https://storagesfrepro20.z19.web.core.windows.net/","blob":"https://storagesfrepro20.blob.core.windows.net/","queue":"https://storagesfrepro20.queue.core.windows.net/","table":"https://storagesfrepro20.table.core.windows.net/","file":"https://storagesfrepro20.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro20-secondary.dfs.core.windows.net/","web":"https://storagesfrepro20-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro20-secondary.blob.core.windows.net/","queue":"https://storagesfrepro20-secondary.queue.core.windows.net/","table":"https://storagesfrepro20-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro21","name":"storagesfrepro21","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:37.4780251Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:37.4780251Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:06:37.3686460Z","primaryEndpoints":{"dfs":"https://storagesfrepro21.dfs.core.windows.net/","web":"https://storagesfrepro21.z19.web.core.windows.net/","blob":"https://storagesfrepro21.blob.core.windows.net/","queue":"https://storagesfrepro21.queue.core.windows.net/","table":"https://storagesfrepro21.table.core.windows.net/","file":"https://storagesfrepro21.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro21-secondary.dfs.core.windows.net/","web":"https://storagesfrepro21-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro21-secondary.blob.core.windows.net/","queue":"https://storagesfrepro21-secondary.queue.core.windows.net/","table":"https://storagesfrepro21-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro22","name":"storagesfrepro22","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:59.8295391Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:06:59.8295391Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:06:59.7201581Z","primaryEndpoints":{"dfs":"https://storagesfrepro22.dfs.core.windows.net/","web":"https://storagesfrepro22.z19.web.core.windows.net/","blob":"https://storagesfrepro22.blob.core.windows.net/","queue":"https://storagesfrepro22.queue.core.windows.net/","table":"https://storagesfrepro22.table.core.windows.net/","file":"https://storagesfrepro22.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro22-secondary.dfs.core.windows.net/","web":"https://storagesfrepro22-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro22-secondary.blob.core.windows.net/","queue":"https://storagesfrepro22-secondary.queue.core.windows.net/","table":"https://storagesfrepro22-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro23","name":"storagesfrepro23","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:29.0846619Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:29.0846619Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:07:29.0065050Z","primaryEndpoints":{"dfs":"https://storagesfrepro23.dfs.core.windows.net/","web":"https://storagesfrepro23.z19.web.core.windows.net/","blob":"https://storagesfrepro23.blob.core.windows.net/","queue":"https://storagesfrepro23.queue.core.windows.net/","table":"https://storagesfrepro23.table.core.windows.net/","file":"https://storagesfrepro23.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro23-secondary.dfs.core.windows.net/","web":"https://storagesfrepro23-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro23-secondary.blob.core.windows.net/","queue":"https://storagesfrepro23-secondary.queue.core.windows.net/","table":"https://storagesfrepro23-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro24","name":"storagesfrepro24","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:53.2658712Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:07:53.2658712Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:07:53.1565651Z","primaryEndpoints":{"dfs":"https://storagesfrepro24.dfs.core.windows.net/","web":"https://storagesfrepro24.z19.web.core.windows.net/","blob":"https://storagesfrepro24.blob.core.windows.net/","queue":"https://storagesfrepro24.queue.core.windows.net/","table":"https://storagesfrepro24.table.core.windows.net/","file":"https://storagesfrepro24.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro24-secondary.dfs.core.windows.net/","web":"https://storagesfrepro24-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro24-secondary.blob.core.windows.net/","queue":"https://storagesfrepro24-secondary.queue.core.windows.net/","table":"https://storagesfrepro24-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro25","name":"storagesfrepro25","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:08:18.7432319Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T05:08:18.7432319Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T05:08:18.6338258Z","primaryEndpoints":{"dfs":"https://storagesfrepro25.dfs.core.windows.net/","web":"https://storagesfrepro25.z19.web.core.windows.net/","blob":"https://storagesfrepro25.blob.core.windows.net/","queue":"https://storagesfrepro25.queue.core.windows.net/","table":"https://storagesfrepro25.table.core.windows.net/","file":"https://storagesfrepro25.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro25-secondary.dfs.core.windows.net/","web":"https://storagesfrepro25-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro25-secondary.blob.core.windows.net/","queue":"https://storagesfrepro25-secondary.queue.core.windows.net/","table":"https://storagesfrepro25-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro3","name":"storagesfrepro3","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:19.5698333Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:19.5698333Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:09:19.3510997Z","primaryEndpoints":{"dfs":"https://storagesfrepro3.dfs.core.windows.net/","web":"https://storagesfrepro3.z19.web.core.windows.net/","blob":"https://storagesfrepro3.blob.core.windows.net/","queue":"https://storagesfrepro3.queue.core.windows.net/","table":"https://storagesfrepro3.table.core.windows.net/","file":"https://storagesfrepro3.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro3-secondary.dfs.core.windows.net/","web":"https://storagesfrepro3-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro3-secondary.blob.core.windows.net/","queue":"https://storagesfrepro3-secondary.queue.core.windows.net/","table":"https://storagesfrepro3-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro4","name":"storagesfrepro4","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:54.9930953Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:09:54.9930953Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:09:54.8993063Z","primaryEndpoints":{"dfs":"https://storagesfrepro4.dfs.core.windows.net/","web":"https://storagesfrepro4.z19.web.core.windows.net/","blob":"https://storagesfrepro4.blob.core.windows.net/","queue":"https://storagesfrepro4.queue.core.windows.net/","table":"https://storagesfrepro4.table.core.windows.net/","file":"https://storagesfrepro4.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro4-secondary.dfs.core.windows.net/","web":"https://storagesfrepro4-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro4-secondary.blob.core.windows.net/","queue":"https://storagesfrepro4-secondary.queue.core.windows.net/","table":"https://storagesfrepro4-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro5","name":"storagesfrepro5","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:10:48.1114395Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:10:48.1114395Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:10:48.0177273Z","primaryEndpoints":{"dfs":"https://storagesfrepro5.dfs.core.windows.net/","web":"https://storagesfrepro5.z19.web.core.windows.net/","blob":"https://storagesfrepro5.blob.core.windows.net/","queue":"https://storagesfrepro5.queue.core.windows.net/","table":"https://storagesfrepro5.table.core.windows.net/","file":"https://storagesfrepro5.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro5-secondary.dfs.core.windows.net/","web":"https://storagesfrepro5-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro5-secondary.blob.core.windows.net/","queue":"https://storagesfrepro5-secondary.queue.core.windows.net/","table":"https://storagesfrepro5-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro6","name":"storagesfrepro6","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:11:28.0269117Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:11:28.0269117Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:11:27.9331594Z","primaryEndpoints":{"dfs":"https://storagesfrepro6.dfs.core.windows.net/","web":"https://storagesfrepro6.z19.web.core.windows.net/","blob":"https://storagesfrepro6.blob.core.windows.net/","queue":"https://storagesfrepro6.queue.core.windows.net/","table":"https://storagesfrepro6.table.core.windows.net/","file":"https://storagesfrepro6.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro6-secondary.dfs.core.windows.net/","web":"https://storagesfrepro6-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro6-secondary.blob.core.windows.net/","queue":"https://storagesfrepro6-secondary.queue.core.windows.net/","table":"https://storagesfrepro6-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro7","name":"storagesfrepro7","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:08.7761892Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:08.7761892Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:12:08.6824637Z","primaryEndpoints":{"dfs":"https://storagesfrepro7.dfs.core.windows.net/","web":"https://storagesfrepro7.z19.web.core.windows.net/","blob":"https://storagesfrepro7.blob.core.windows.net/","queue":"https://storagesfrepro7.queue.core.windows.net/","table":"https://storagesfrepro7.table.core.windows.net/","file":"https://storagesfrepro7.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro7-secondary.dfs.core.windows.net/","web":"https://storagesfrepro7-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro7-secondary.blob.core.windows.net/","queue":"https://storagesfrepro7-secondary.queue.core.windows.net/","table":"https://storagesfrepro7-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro8","name":"storagesfrepro8","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:39.5221164Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:12:39.5221164Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:12:39.4283923Z","primaryEndpoints":{"dfs":"https://storagesfrepro8.dfs.core.windows.net/","web":"https://storagesfrepro8.z19.web.core.windows.net/","blob":"https://storagesfrepro8.blob.core.windows.net/","queue":"https://storagesfrepro8.queue.core.windows.net/","table":"https://storagesfrepro8.table.core.windows.net/","file":"https://storagesfrepro8.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro8-secondary.dfs.core.windows.net/","web":"https://storagesfrepro8-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro8-secondary.blob.core.windows.net/","queue":"https://storagesfrepro8-secondary.queue.core.windows.net/","table":"https://storagesfrepro8-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/storage-v2rt-repro/providers/Microsoft.Storage/storageAccounts/storagesfrepro9","name":"storagesfrepro9","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:13:18.1628430Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2019-02-26T04:13:18.1628430Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2019-02-26T04:13:18.0691096Z","primaryEndpoints":{"dfs":"https://storagesfrepro9.dfs.core.windows.net/","web":"https://storagesfrepro9.z19.web.core.windows.net/","blob":"https://storagesfrepro9.blob.core.windows.net/","queue":"https://storagesfrepro9.queue.core.windows.net/","table":"https://storagesfrepro9.table.core.windows.net/","file":"https://storagesfrepro9.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://storagesfrepro9-secondary.dfs.core.windows.net/","web":"https://storagesfrepro9-secondary.z19.web.core.windows.net/","blob":"https://storagesfrepro9-secondary.blob.core.windows.net/","queue":"https://storagesfrepro9-secondary.queue.core.windows.net/","table":"https://storagesfrepro9-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuhcentral/providers/Microsoft.Storage/storageAccounts/zuhstorage","name":"zuhstorage","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{"key":"value"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-02T06:04:55.7104787Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-02T06:04:55.7104787Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-02T06:04:55.6167450Z","primaryEndpoints":{"dfs":"https://zuhstorage.dfs.core.windows.net/","web":"https://zuhstorage.z19.web.core.windows.net/","blob":"https://zuhstorage.blob.core.windows.net/","queue":"https://zuhstorage.queue.core.windows.net/","table":"https://zuhstorage.table.core.windows.net/","file":"https://zuhstorage.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://zuhstorage-secondary.dfs.core.windows.net/","web":"https://zuhstorage-secondary.z19.web.core.windows.net/","blob":"https://zuhstorage-secondary.blob.core.windows.net/","queue":"https://zuhstorage-secondary.queue.core.windows.net/","table":"https://zuhstorage-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/IT_acctestRG-ibt-24_acctest-IBT-0710-2_4ebedb5a-e3b1-4675-aa4c-3c160fe70907/providers/Microsoft.Storage/storageAccounts/6ynst8ytvcms52eviy9cme3e","name":"6ynst8ytvcms52eviy9cme3e","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{"createdby":"azureimagebuilder","magicvalue":"0d819542a3774a2a8709401a7cd09eb8"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-10T11:43:30.0119558Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-10T11:43:30.0119558Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-07-10T11:43:29.9651518Z","primaryEndpoints":{"blob":"https://6ynst8ytvcms52eviy9cme3e.blob.core.windows.net/","queue":"https://6ynst8ytvcms52eviy9cme3e.queue.core.windows.net/","table":"https://6ynst8ytvcms52eviy9cme3e.table.core.windows.net/","file":"https://6ynst8ytvcms52eviy9cme3e.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/acctestRG-200811113558193363/providers/Microsoft.Storage/storageAccounts/acctestsa8v378","name":"acctestsa8v378","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":false,"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-11T03:36:39.8708274Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-11T03:36:39.8708274Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-08-11T03:36:39.7927048Z","primaryEndpoints":{"dfs":"https://acctestsa8v378.dfs.core.windows.net/","web":"https://acctestsa8v378.z5.web.core.windows.net/","blob":"https://acctestsa8v378.blob.core.windows.net/","queue":"https://acctestsa8v378.queue.core.windows.net/","table":"https://acctestsa8v378.table.core.windows.net/","file":"https://acctestsa8v378.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azclirg/providers/Microsoft.Storage/storageAccounts/azclist0703","name":"azclist0703","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-03T10:45:23.1955829Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-03T10:45:23.1955829Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-07-03T10:45:23.1174571Z","primaryEndpoints":{"dfs":"https://azclist0703.dfs.core.windows.net/","web":"https://azclist0703.z5.web.core.windows.net/","blob":"https://azclist0703.blob.core.windows.net/","queue":"https://azclist0703.queue.core.windows.net/","table":"https://azclist0703.table.core.windows.net/","file":"https://azclist0703.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available","secondaryLocation":"westcentralus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://azclist0703-secondary.dfs.core.windows.net/","web":"https://azclist0703-secondary.z5.web.core.windows.net/","blob":"https://azclist0703-secondary.blob.core.windows.net/","queue":"https://azclist0703-secondary.queue.core.windows.net/","table":"https://azclist0703-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"Storage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/xiaojxu/providers/Microsoft.Storage/storageAccounts/xiaojxudiag","name":"xiaojxudiag","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-29T07:26:34.6550125Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-29T07:26:34.6550125Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-07-29T07:26:34.5768889Z","primaryEndpoints":{"blob":"https://xiaojxudiag.blob.core.windows.net/","queue":"https://xiaojxudiag.queue.core.windows.net/","table":"https://xiaojxudiag.table.core.windows.net/","file":"https://xiaojxudiag.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/zuhlrs","name":"zuhlrs","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"privateEndpointConnections":[],"azureFilesIdentityBasedAuthentication":{"directoryServiceOptions":"None"},"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[{"value":"13.104.129.64/26","action":"Allow"},{"value":"13.104.145.0/26","action":"Allow"},{"value":"13.104.208.192/26","action":"Allow"},{"value":"13.104.213.0/25","action":"Allow"},{"value":"13.104.220.0/25","action":"Allow"},{"value":"13.105.14.0/25","action":"Allow"},{"value":"13.105.14.128/26","action":"Allow"},{"value":"13.105.18.160/27","action":"Allow"},{"value":"13.105.36.0/27","action":"Allow"},{"value":"13.105.36.32/28","action":"Allow"},{"value":"13.105.36.64/27","action":"Allow"},{"value":"13.105.36.128/26","action":"Allow"},{"value":"13.105.66.64/26","action":"Allow"},{"value":"20.36.0.0/19","action":"Allow"},{"value":"20.38.99.0/24","action":"Allow"},{"value":"20.42.128.0/18","action":"Allow"},{"value":"20.47.62.0/23","action":"Allow"},{"value":"20.47.120.0/23","action":"Allow"},{"value":"20.51.64.0/18","action":"Allow"},{"value":"20.57.128.0/18","action":"Allow"},{"value":"20.59.0.0/18","action":"Allow"},{"value":"20.60.20.0/24","action":"Allow"},{"value":"20.150.68.0/24","action":"Allow"},{"value":"20.150.78.0/24","action":"Allow"},{"value":"20.150.87.0/24","action":"Allow"},{"value":"20.150.107.0/24","action":"Allow"},{"value":"20.187.0.0/18","action":"Allow"},{"value":"20.190.0.0/18","action":"Allow"},{"value":"20.190.133.0/24","action":"Allow"},{"value":"20.190.154.0/24","action":"Allow"},{"value":"20.191.64.0/18","action":"Allow"},{"value":"23.98.47.0/24","action":"Allow"},{"value":"23.102.192.0/21","action":"Allow"},{"value":"23.102.203.0/24","action":"Allow"},{"value":"23.103.64.32/27","action":"Allow"},{"value":"23.103.64.64/27","action":"Allow"},{"value":"23.103.66.0/23","action":"Allow"},{"value":"40.64.64.0/18","action":"Allow"},{"value":"40.64.128.0/21","action":"Allow"},{"value":"40.65.64.0/18","action":"Allow"},{"value":"40.77.136.0/28","action":"Allow"},{"value":"40.77.136.64/28","action":"Allow"},{"value":"40.77.139.128/25","action":"Allow"},{"value":"40.77.160.0/27","action":"Allow"},{"value":"40.77.162.0/24","action":"Allow"},{"value":"40.77.164.0/24","action":"Allow"},{"value":"40.77.169.0/24","action":"Allow"},{"value":"40.77.175.64/27","action":"Allow"},{"value":"40.77.180.0/23","action":"Allow"},{"value":"40.77.182.64/27","action":"Allow"},{"value":"40.77.185.128/25","action":"Allow"},{"value":"40.77.186.0/23","action":"Allow"},{"value":"40.77.198.128/25","action":"Allow"},{"value":"40.77.199.128/26","action":"Allow"},{"value":"40.77.200.0/25","action":"Allow"},{"value":"40.77.202.0/24","action":"Allow"},{"value":"40.77.224.96/27","action":"Allow"},{"value":"40.77.230.0/24","action":"Allow"},{"value":"40.77.232.128/25","action":"Allow"},{"value":"40.77.234.224/27","action":"Allow"},{"value":"40.77.236.128/27","action":"Allow"},{"value":"40.77.240.128/25","action":"Allow"},{"value":"40.77.241.0/24","action":"Allow"},{"value":"40.77.242.0/23","action":"Allow"},{"value":"40.77.247.0/24","action":"Allow"},{"value":"40.77.249.0/24","action":"Allow"},{"value":"40.77.250.0/24","action":"Allow"},{"value":"40.77.254.128/25","action":"Allow"},{"value":"40.78.208.32/30","action":"Allow"},{"value":"40.78.217.0/24","action":"Allow"},{"value":"40.78.240.0/20","action":"Allow"},{"value":"40.80.160.0/24","action":"Allow"},{"value":"40.82.36.0/22","action":"Allow"},{"value":"40.87.232.0/21","action":"Allow"},{"value":"40.90.16.192/26","action":"Allow"},{"value":"40.90.131.32/27","action":"Allow"},{"value":"40.90.132.48/28","action":"Allow"},{"value":"40.90.136.224/27","action":"Allow"},{"value":"40.90.138.208/28","action":"Allow"},{"value":"40.90.139.32/27","action":"Allow"},{"value":"40.90.146.32/27","action":"Allow"},{"value":"40.90.148.192/27","action":"Allow"},{"value":"40.90.153.0/26","action":"Allow"},{"value":"40.90.192.0/19","action":"Allow"},{"value":"40.91.0.0/22","action":"Allow"},{"value":"40.91.64.0/18","action":"Allow"},{"value":"40.91.160.0/19","action":"Allow"},{"value":"40.125.64.0/18","action":"Allow"},{"value":"40.126.5.0/24","action":"Allow"},{"value":"40.126.26.0/24","action":"Allow"},{"value":"51.141.160.0/19","action":"Allow"},{"value":"51.143.0.0/17","action":"Allow"},{"value":"52.96.11.0/24","action":"Allow"},{"value":"52.108.72.0/24","action":"Allow"},{"value":"52.108.93.0/24","action":"Allow"},{"value":"52.109.24.0/22","action":"Allow"},{"value":"52.111.246.0/24","action":"Allow"},{"value":"52.112.105.0/24","action":"Allow"},{"value":"52.112.109.0/24","action":"Allow"},{"value":"52.112.115.0/24","action":"Allow"},{"value":"52.114.148.0/22","action":"Allow"},{"value":"52.115.55.0/24","action":"Allow"},{"value":"52.136.0.0/22","action":"Allow"},{"value":"52.137.64.0/18","action":"Allow"},{"value":"52.143.64.0/18","action":"Allow"},{"value":"52.143.197.0/24","action":"Allow"},{"value":"52.143.211.0/24","action":"Allow"},{"value":"52.148.128.0/18","action":"Allow"},{"value":"52.149.0.0/18","action":"Allow"},{"value":"52.151.0.0/18","action":"Allow"},{"value":"52.156.64.0/18","action":"Allow"},{"value":"52.156.128.0/19","action":"Allow"},{"value":"52.158.224.0/19","action":"Allow"},{"value":"52.175.192.0/18","action":"Allow"},{"value":"52.183.0.0/17","action":"Allow"},{"value":"52.191.128.0/18","action":"Allow"},{"value":"52.229.0.0/18","action":"Allow"},{"value":"52.232.152.0/24","action":"Allow"},{"value":"52.233.64.0/18","action":"Allow"},{"value":"52.235.64.0/18","action":"Allow"},{"value":"52.239.148.128/25","action":"Allow"},{"value":"52.239.176.128/25","action":"Allow"},{"value":"52.239.193.0/24","action":"Allow"},{"value":"52.239.210.0/23","action":"Allow"},{"value":"52.239.236.0/23","action":"Allow"},{"value":"52.245.52.0/22","action":"Allow"},{"value":"52.246.192.0/18","action":"Allow"},{"value":"52.247.192.0/18","action":"Allow"},{"value":"52.250.0.0/17","action":"Allow"},{"value":"65.52.111.0/24","action":"Allow"},{"value":"65.55.32.128/28","action":"Allow"},{"value":"65.55.32.192/27","action":"Allow"},{"value":"65.55.32.224/28","action":"Allow"},{"value":"65.55.33.176/28","action":"Allow"},{"value":"65.55.33.192/28","action":"Allow"},{"value":"65.55.35.192/27","action":"Allow"},{"value":"65.55.44.8/29","action":"Allow"},{"value":"65.55.44.112/28","action":"Allow"},{"value":"65.55.51.0/24","action":"Allow"},{"value":"65.55.105.160/27","action":"Allow"},{"value":"65.55.106.192/28","action":"Allow"},{"value":"65.55.106.240/28","action":"Allow"},{"value":"65.55.107.0/28","action":"Allow"},{"value":"65.55.107.96/27","action":"Allow"},{"value":"65.55.110.0/24","action":"Allow"},{"value":"65.55.120.0/24","action":"Allow"},{"value":"65.55.207.0/24","action":"Allow"},{"value":"65.55.209.0/25","action":"Allow"},{"value":"65.55.210.0/24","action":"Allow"},{"value":"65.55.219.64/26","action":"Allow"},{"value":"65.55.250.0/24","action":"Allow"},{"value":"65.55.252.0/24","action":"Allow"},{"value":"70.37.0.0/21","action":"Allow"},{"value":"70.37.8.0/22","action":"Allow"},{"value":"70.37.16.0/20","action":"Allow"},{"value":"70.37.32.0/20","action":"Allow"},{"value":"104.44.89.128/27","action":"Allow"},{"value":"104.44.89.192/27","action":"Allow"},{"value":"104.44.95.0/28","action":"Allow"},{"value":"131.253.12.160/28","action":"Allow"},{"value":"131.253.12.228/30","action":"Allow"},{"value":"131.253.13.24/29","action":"Allow"},{"value":"131.253.13.88/30","action":"Allow"},{"value":"131.253.13.128/27","action":"Allow"},{"value":"131.253.14.4/30","action":"Allow"},{"value":"131.253.14.96/27","action":"Allow"},{"value":"131.253.14.128/27","action":"Allow"},{"value":"131.253.14.192/29","action":"Allow"},{"value":"131.253.15.192/28","action":"Allow"},{"value":"131.253.35.128/26","action":"Allow"},{"value":"131.253.40.48/29","action":"Allow"},{"value":"131.253.40.128/27","action":"Allow"},{"value":"131.253.41.0/24","action":"Allow"},{"value":"134.170.222.0/24","action":"Allow"},{"value":"137.116.176.0/21","action":"Allow"},{"value":"157.55.2.128/26","action":"Allow"},{"value":"157.55.12.64/26","action":"Allow"},{"value":"157.55.13.64/26","action":"Allow"},{"value":"157.55.39.0/24","action":"Allow"},{"value":"157.55.55.228/30","action":"Allow"},{"value":"157.55.55.232/29","action":"Allow"},{"value":"157.55.55.240/28","action":"Allow"},{"value":"157.55.106.0/26","action":"Allow"},{"value":"157.55.154.128/25","action":"Allow"},{"value":"157.56.2.0/25","action":"Allow"},{"value":"157.56.3.128/25","action":"Allow"},{"value":"157.56.19.224/27","action":"Allow"},{"value":"157.56.21.160/27","action":"Allow"},{"value":"157.56.21.192/27","action":"Allow"},{"value":"157.56.80.0/25","action":"Allow"},{"value":"168.62.64.0/19","action":"Allow"},{"value":"199.30.24.0/23","action":"Allow"},{"value":"199.30.27.0/25","action":"Allow"},{"value":"199.30.27.144/28","action":"Allow"},{"value":"199.30.27.160/27","action":"Allow"},{"value":"199.30.31.192/26","action":"Allow"},{"value":"207.46.13.0/24","action":"Allow"},{"value":"207.68.174.192/28","action":"Allow"},{"value":"13.77.128.0/18","action":"Allow"},{"value":"13.66.128.0/17","action":"Allow"}],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-30T07:47:21.5398746Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-30T07:47:21.5398746Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-06-30T07:47:21.4617428Z","primaryEndpoints":{"dfs":"https://zuhlrs.dfs.core.windows.net/","web":"https://zuhlrs.z5.web.core.windows.net/","blob":"https://zuhlrs.blob.core.windows.net/","queue":"https://zuhlrs.queue.core.windows.net/","table":"https://zuhlrs.table.core.windows.net/","file":"https://zuhlrs.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available","secondaryLocation":"westcentralus","statusOfSecondary":"available"}},{"sku":{"name":"Standard_ZRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/zuhzrs","name":"zuhzrs","type":"Microsoft.Storage/storageAccounts","location":"westus2","tags":{},"properties":{"privateEndpointConnections":[],"minimumTlsVersion":"TLS1_0","allowBlobPublicAccess":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-30T07:44:07.3205056Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-30T07:44:07.3205056Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-06-30T07:44:07.2424144Z","primaryEndpoints":{"dfs":"https://zuhzrs.dfs.core.windows.net/","web":"https://zuhzrs.z5.web.core.windows.net/","blob":"https://zuhzrs.blob.core.windows.net/","queue":"https://zuhzrs.queue.core.windows.net/","table":"https://zuhzrs.table.core.windows.net/","file":"https://zuhzrs.file.core.windows.net/"},"primaryLocation":"westus2","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/bim-rg/providers/Microsoft.Storage/storageAccounts/bimstorageacc","name":"bimstorageacc","type":"Microsoft.Storage/storageAccounts","location":"westcentralus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T07:20:55.2327590Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-03-03T07:20:55.2327590Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-03-03T07:20:55.1858389Z","primaryEndpoints":{"dfs":"https://bimstorageacc.dfs.core.windows.net/","web":"https://bimstorageacc.z4.web.core.windows.net/","blob":"https://bimstorageacc.blob.core.windows.net/","queue":"https://bimstorageacc.queue.core.windows.net/","table":"https://bimstorageacc.table.core.windows.net/","file":"https://bimstorageacc.file.core.windows.net/"},"primaryLocation":"westcentralus","statusOfPrimary":"available","secondaryLocation":"westus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://bimstorageacc-secondary.dfs.core.windows.net/","web":"https://bimstorageacc-secondary.z4.web.core.windows.net/","blob":"https://bimstorageacc-secondary.blob.core.windows.net/","queue":"https://bimstorageacc-secondary.queue.core.windows.net/","table":"https://bimstorageacc-secondary.table.core.windows.net/"}}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/advwreb","name":"advwreb","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"privateEndpointConnections":[],"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-29T16:18:22.7391575Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-29T16:18:22.7391575Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-07-29T16:18:22.6918660Z","primaryEndpoints":{"dfs":"https://advwreb.dfs.core.windows.net/","web":"https://advwreb.z3.web.core.windows.net/","blob":"https://advwreb.blob.core.windows.net/","queue":"https://advwreb.queue.core.windows.net/","table":"https://advwreb.table.core.windows.net/","file":"https://advwreb.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"BlobStorage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-MyWorkspace1-3yvd2kcnpsfm5/providers/Microsoft.Storage/storageAccounts/dbstorageafjorlaw6ekoi","name":"dbstorageafjorlaw6ekoi","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{"application":"databricks","databricks-environment":"true"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"requireInfrastructureEncryption":true,"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-03T04:54:13.0551809Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-03T04:54:13.0551809Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-08-03T04:54:12.9926412Z","primaryEndpoints":{"dfs":"https://dbstorageafjorlaw6ekoi.dfs.core.windows.net/","blob":"https://dbstorageafjorlaw6ekoi.blob.core.windows.net/","table":"https://dbstorageafjorlaw6ekoi.table.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available","secondaryLocation":"centraluseuap","statusOfSecondary":"available"}},{"identity":{"principalId":"7669e357-e1a4-498d-aa33-ba4b357c6f52","tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","type":"SystemAssigned"},"sku":{"name":"Standard_GRS","tier":"Standard"},"kind":"BlobStorage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/databricks-rg-MyWorkspace-j2h8wc266spgx/providers/Microsoft.Storage/storageAccounts/dbstoragepuf6bmfb7dcxa","name":"dbstoragepuf6bmfb7dcxa","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{"application":"databricks","databricks-environment":"true"},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"requireInfrastructureEncryption":true,"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-03T04:47:00.4136456Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-08-03T04:47:00.4136456Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-08-03T04:47:00.3511548Z","primaryEndpoints":{"dfs":"https://dbstoragepuf6bmfb7dcxa.dfs.core.windows.net/","blob":"https://dbstoragepuf6bmfb7dcxa.blob.core.windows.net/","table":"https://dbstoragepuf6bmfb7dcxa.table.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available","secondaryLocation":"centraluseuap","statusOfSecondary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/jksdgva","name":"jksdgva","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"privateEndpointConnections":[],"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-30T09:41:58.0481530Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-30T09:41:58.0481530Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-07-30T09:41:58.0012163Z","primaryEndpoints":{"dfs":"https://jksdgva.dfs.core.windows.net/","web":"https://jksdgva.z3.web.core.windows.net/","blob":"https://jksdgva.blob.core.windows.net/","queue":"https://jksdgva.queue.core.windows.net/","table":"https://jksdgva.table.core.windows.net/","file":"https://jksdgva.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/tckftakf","name":"tckftakf","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"privateEndpointConnections":[],"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-29T16:14:55.8833538Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-29T16:14:55.8833538Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-07-29T16:14:55.8521030Z","primaryEndpoints":{"dfs":"https://tckftakf.dfs.core.windows.net/","web":"https://tckftakf.z3.web.core.windows.net/","blob":"https://tckftakf.blob.core.windows.net/","queue":"https://tckftakf.queue.core.windows.net/","table":"https://tckftakf.table.core.windows.net/","file":"https://tckftakf.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/vsdchjkav","name":"vsdchjkav","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"privateEndpointConnections":[],"isHnsEnabled":false,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-29T16:17:18.4683358Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-29T16:17:18.4683358Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-07-29T16:17:18.4058930Z","primaryEndpoints":{"dfs":"https://vsdchjkav.dfs.core.windows.net/","web":"https://vsdchjkav.z3.web.core.windows.net/","blob":"https://vsdchjkav.blob.core.windows.net/","queue":"https://vsdchjkav.queue.core.windows.net/","table":"https://vsdchjkav.table.core.windows.net/","file":"https://vsdchjkav.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_LRS","tier":"Standard"},"kind":"BlobStorage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/zuhblob","name":"zuhblob","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-08T02:49:16.2101485Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-08T02:49:16.2101485Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Cool","provisioningState":"Succeeded","creationTime":"2020-06-08T02:49:16.1476663Z","primaryEndpoints":{"dfs":"https://zuhblob.dfs.core.windows.net/","blob":"https://zuhblob.blob.core.windows.net/","table":"https://zuhblob.table.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available"}},{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/zuhdefault","name":"zuhdefault","type":"Microsoft.Storage/storageAccounts","location":"eastus2euap","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[{"value":"167.1.1.24","action":"Allow"},{"value":"13.66.128.0/17","action":"Allow"},{"value":"13.77.128.0/18","action":"Allow"},{"value":"13.104.129.64/26","action":"Allow"},{"value":"13.104.145.0/26","action":"Allow"},{"value":"13.104.208.192/26","action":"Allow"},{"value":"13.104.213.0/25","action":"Allow"},{"value":"13.104.220.0/25","action":"Allow"},{"value":"13.105.14.0/25","action":"Allow"},{"value":"13.105.14.128/26","action":"Allow"},{"value":"13.105.18.160/27","action":"Allow"},{"value":"13.105.36.0/27","action":"Allow"},{"value":"13.105.36.32/28","action":"Allow"},{"value":"13.105.36.64/27","action":"Allow"},{"value":"13.105.36.128/26","action":"Allow"},{"value":"13.105.66.64/26","action":"Allow"},{"value":"20.36.0.0/19","action":"Allow"},{"value":"20.38.99.0/24","action":"Allow"},{"value":"20.42.128.0/18","action":"Allow"},{"value":"20.47.62.0/23","action":"Allow"},{"value":"20.47.120.0/23","action":"Allow"},{"value":"20.51.64.0/18","action":"Allow"},{"value":"20.57.128.0/18","action":"Allow"},{"value":"20.59.0.0/18","action":"Allow"},{"value":"20.60.20.0/24","action":"Allow"},{"value":"20.150.68.0/24","action":"Allow"},{"value":"20.150.78.0/24","action":"Allow"},{"value":"20.150.87.0/24","action":"Allow"},{"value":"20.150.107.0/24","action":"Allow"},{"value":"20.187.0.0/18","action":"Allow"},{"value":"20.190.0.0/18","action":"Allow"},{"value":"20.190.133.0/24","action":"Allow"},{"value":"20.190.154.0/24","action":"Allow"},{"value":"20.191.64.0/18","action":"Allow"},{"value":"23.98.47.0/24","action":"Allow"},{"value":"23.102.192.0/21","action":"Allow"},{"value":"23.102.203.0/24","action":"Allow"},{"value":"23.103.64.32/27","action":"Allow"},{"value":"23.103.64.64/27","action":"Allow"},{"value":"23.103.66.0/23","action":"Allow"},{"value":"40.64.64.0/18","action":"Allow"},{"value":"40.64.128.0/21","action":"Allow"},{"value":"40.65.64.0/18","action":"Allow"},{"value":"40.77.136.0/28","action":"Allow"},{"value":"40.77.136.64/28","action":"Allow"},{"value":"40.77.139.128/25","action":"Allow"},{"value":"40.77.160.0/27","action":"Allow"},{"value":"40.77.162.0/24","action":"Allow"},{"value":"40.77.164.0/24","action":"Allow"},{"value":"40.77.169.0/24","action":"Allow"},{"value":"40.77.175.64/27","action":"Allow"},{"value":"40.77.180.0/23","action":"Allow"},{"value":"40.77.182.64/27","action":"Allow"},{"value":"40.77.185.128/25","action":"Allow"},{"value":"40.77.186.0/23","action":"Allow"},{"value":"40.77.198.128/25","action":"Allow"},{"value":"40.77.199.128/26","action":"Allow"},{"value":"40.77.200.0/25","action":"Allow"},{"value":"40.77.202.0/24","action":"Allow"},{"value":"40.77.224.96/27","action":"Allow"},{"value":"40.77.230.0/24","action":"Allow"},{"value":"40.77.232.128/25","action":"Allow"},{"value":"40.77.234.224/27","action":"Allow"},{"value":"40.77.236.128/27","action":"Allow"},{"value":"40.77.240.128/25","action":"Allow"},{"value":"40.77.241.0/24","action":"Allow"},{"value":"40.77.242.0/23","action":"Allow"},{"value":"40.77.247.0/24","action":"Allow"},{"value":"40.77.249.0/24","action":"Allow"},{"value":"40.77.250.0/24","action":"Allow"},{"value":"40.77.254.128/25","action":"Allow"},{"value":"40.78.208.32/30","action":"Allow"},{"value":"40.78.217.0/24","action":"Allow"},{"value":"40.78.240.0/20","action":"Allow"},{"value":"40.80.160.0/24","action":"Allow"},{"value":"40.82.36.0/22","action":"Allow"},{"value":"40.87.232.0/21","action":"Allow"},{"value":"40.90.16.192/26","action":"Allow"},{"value":"40.90.131.32/27","action":"Allow"},{"value":"40.90.132.48/28","action":"Allow"},{"value":"40.90.136.224/27","action":"Allow"},{"value":"40.90.138.208/28","action":"Allow"},{"value":"40.90.139.32/27","action":"Allow"},{"value":"40.90.146.32/27","action":"Allow"},{"value":"40.90.148.192/27","action":"Allow"},{"value":"40.90.153.0/26","action":"Allow"},{"value":"40.90.192.0/19","action":"Allow"},{"value":"40.91.0.0/22","action":"Allow"},{"value":"40.91.64.0/18","action":"Allow"},{"value":"40.91.160.0/19","action":"Allow"},{"value":"40.125.64.0/18","action":"Allow"},{"value":"40.126.5.0/24","action":"Allow"},{"value":"40.126.26.0/24","action":"Allow"},{"value":"51.141.160.0/19","action":"Allow"},{"value":"51.143.0.0/17","action":"Allow"},{"value":"52.96.11.0/24","action":"Allow"},{"value":"52.108.72.0/24","action":"Allow"},{"value":"52.108.93.0/24","action":"Allow"},{"value":"52.109.24.0/22","action":"Allow"},{"value":"52.111.246.0/24","action":"Allow"},{"value":"52.112.105.0/24","action":"Allow"},{"value":"52.112.109.0/24","action":"Allow"},{"value":"52.112.115.0/24","action":"Allow"},{"value":"52.114.148.0/22","action":"Allow"},{"value":"52.115.55.0/24","action":"Allow"},{"value":"52.136.0.0/22","action":"Allow"},{"value":"52.137.64.0/18","action":"Allow"},{"value":"52.143.64.0/18","action":"Allow"},{"value":"52.143.197.0/24","action":"Allow"},{"value":"52.143.211.0/24","action":"Allow"},{"value":"52.148.128.0/18","action":"Allow"},{"value":"52.149.0.0/18","action":"Allow"},{"value":"52.151.0.0/18","action":"Allow"},{"value":"52.156.64.0/18","action":"Allow"},{"value":"52.156.128.0/19","action":"Allow"},{"value":"52.158.224.0/19","action":"Allow"},{"value":"52.175.192.0/18","action":"Allow"},{"value":"52.183.0.0/17","action":"Allow"},{"value":"52.191.128.0/18","action":"Allow"},{"value":"52.229.0.0/18","action":"Allow"},{"value":"52.232.152.0/24","action":"Allow"},{"value":"52.233.64.0/18","action":"Allow"},{"value":"52.235.64.0/18","action":"Allow"},{"value":"52.239.148.128/25","action":"Allow"},{"value":"52.239.176.128/25","action":"Allow"},{"value":"52.239.193.0/24","action":"Allow"},{"value":"52.239.210.0/23","action":"Allow"},{"value":"52.239.236.0/23","action":"Allow"},{"value":"52.245.52.0/22","action":"Allow"},{"value":"52.246.192.0/18","action":"Allow"},{"value":"52.247.192.0/18","action":"Allow"},{"value":"52.250.0.0/17","action":"Allow"},{"value":"65.52.111.0/24","action":"Allow"},{"value":"65.55.32.128/28","action":"Allow"},{"value":"65.55.32.192/27","action":"Allow"},{"value":"65.55.32.224/28","action":"Allow"},{"value":"65.55.33.176/28","action":"Allow"},{"value":"65.55.33.192/28","action":"Allow"},{"value":"65.55.35.192/27","action":"Allow"},{"value":"65.55.44.8/29","action":"Allow"},{"value":"65.55.44.112/28","action":"Allow"},{"value":"65.55.51.0/24","action":"Allow"},{"value":"65.55.105.160/27","action":"Allow"},{"value":"65.55.106.192/28","action":"Allow"},{"value":"65.55.106.240/28","action":"Allow"},{"value":"65.55.107.0/28","action":"Allow"},{"value":"65.55.107.96/27","action":"Allow"},{"value":"65.55.110.0/24","action":"Allow"},{"value":"65.55.120.0/24","action":"Allow"},{"value":"65.55.207.0/24","action":"Allow"},{"value":"65.55.209.0/25","action":"Allow"},{"value":"65.55.210.0/24","action":"Allow"},{"value":"65.55.219.64/26","action":"Allow"},{"value":"65.55.250.0/24","action":"Allow"},{"value":"65.55.252.0/24","action":"Allow"},{"value":"70.37.0.0/21","action":"Allow"},{"value":"70.37.8.0/22","action":"Allow"},{"value":"70.37.16.0/20","action":"Allow"},{"value":"70.37.32.0/20","action":"Allow"},{"value":"104.44.89.128/27","action":"Allow"},{"value":"104.44.89.192/27","action":"Allow"},{"value":"104.44.95.0/28","action":"Allow"},{"value":"131.253.12.160/28","action":"Allow"},{"value":"131.253.12.228/30","action":"Allow"},{"value":"131.253.13.24/29","action":"Allow"},{"value":"131.253.13.88/30","action":"Allow"},{"value":"131.253.13.128/27","action":"Allow"},{"value":"131.253.14.4/30","action":"Allow"},{"value":"131.253.14.96/27","action":"Allow"},{"value":"131.253.14.128/27","action":"Allow"},{"value":"131.253.14.192/29","action":"Allow"},{"value":"131.253.15.192/28","action":"Allow"},{"value":"131.253.35.128/26","action":"Allow"},{"value":"131.253.40.48/29","action":"Allow"},{"value":"131.253.40.128/27","action":"Allow"},{"value":"131.253.41.0/24","action":"Allow"},{"value":"134.170.222.0/24","action":"Allow"},{"value":"137.116.176.0/21","action":"Allow"},{"value":"157.55.2.128/26","action":"Allow"},{"value":"157.55.12.64/26","action":"Allow"},{"value":"157.55.13.64/26","action":"Allow"},{"value":"157.55.39.0/24","action":"Allow"},{"value":"157.55.55.228/30","action":"Allow"},{"value":"157.55.55.232/29","action":"Allow"},{"value":"157.55.55.240/28","action":"Allow"},{"value":"157.55.106.0/26","action":"Allow"},{"value":"157.55.154.128/25","action":"Allow"},{"value":"157.56.2.0/25","action":"Allow"},{"value":"157.56.3.128/25","action":"Allow"},{"value":"157.56.19.224/27","action":"Allow"},{"value":"157.56.21.160/27","action":"Allow"},{"value":"157.56.21.192/27","action":"Allow"},{"value":"157.56.80.0/25","action":"Allow"},{"value":"168.62.64.0/19","action":"Allow"},{"value":"199.30.24.0/23","action":"Allow"},{"value":"199.30.27.0/25","action":"Allow"},{"value":"199.30.27.144/28","action":"Allow"},{"value":"199.30.27.160/27","action":"Allow"},{"value":"199.30.31.192/26","action":"Allow"},{"value":"207.46.13.0/24","action":"Allow"}],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-08T06:37:33.5016145Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-06-08T06:37:33.5016145Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2020-06-08T06:37:33.4547782Z","primaryEndpoints":{"dfs":"https://zuhdefault.dfs.core.windows.net/","web":"https://zuhdefault.z3.web.core.windows.net/","blob":"https://zuhdefault.blob.core.windows.net/","queue":"https://zuhdefault.queue.core.windows.net/","table":"https://zuhdefault.table.core.windows.net/","file":"https://zuhdefault.file.core.windows.net/"},"primaryLocation":"eastus2euap","statusOfPrimary":"available","secondaryLocation":"centraluseuap","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://zuhdefault-secondary.dfs.core.windows.net/","web":"https://zuhdefault-secondary.z3.web.core.windows.net/","blob":"https://zuhdefault-secondary.blob.core.windows.net/","queue":"https://zuhdefault-secondary.queue.core.windows.net/","table":"https://zuhdefault-secondary.table.core.windows.net/"}}},{"sku":{"name":"Premium_LRS","tier":"Premium"},"kind":"FileStorage","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zuh/providers/Microsoft.Storage/storageAccounts/zuhpremium2","name":"zuhpremium2","type":"Microsoft.Storage/storageAccounts","location":"centraluseuap","tags":{},"properties":{"privateEndpointConnections":[],"largeFileSharesState":"Enabled","networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":false,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-17T06:42:28.7244764Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2020-07-17T06:42:28.7244764Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2020-07-17T06:42:28.6619434Z","primaryEndpoints":{"file":"https://zuhpremium2.file.core.windows.net/"},"primaryLocation":"centraluseuap","statusOfPrimary":"available"}}]}' @@ -179,7 +179,7 @@ interactions: accept-language: - en-US method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_hpc_storage_target000001/providers/Microsoft.Storage/storageAccounts/storagename000004/listKeys?api-version=2019-06-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_hpc_storage_target000001/providers/Microsoft.Storage/storageAccounts/storagename000004/listKeys?api-version=2021-02-01&$expand=kerb response: body: string: '{"keys":[{"keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' @@ -315,7 +315,7 @@ interactions: accept-language: - en-US method: GET - uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/servicePrincipals?$filter=servicePrincipalNames%2Fany%28c%3Ac%20eq%20%27677a61e9-086e-4f13-986a-11aaedc31416%27%29&api-version=1.6 + uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/servicePrincipals?$filter=servicePrincipalNames%2Fany%28c%3Ac%20eq%20%278a95323f-4a83-4a69-903f-7d2c69349c3c%27%29&api-version=1.6 response: body: string: '{"odata.metadata":"https://graph.windows.net/00000000-0000-0000-0000-000000000000/$metadata#directoryObjects","value":[]}' @@ -452,7 +452,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_hpc_storage_target000001/providers/Microsoft.Storage/storageAccounts/storagename000004/providers/Microsoft.Authorization/roleAssignments/88888888-0000-0000-0000-000000000001?api-version=2018-09-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_hpc_storage_target000001/providers/Microsoft.Storage/storageAccounts/storagename000004/providers/Microsoft.Authorization/roleAssignments/88888888-0000-0000-0000-000000000001?api-version=2020-04-01-preview response: body: string: '{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/17d1049b-9a84-46fb-8f53-869881c3d3ab","principalId":"677a61e9-086e-4f13-986a-11aaedc31416","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_hpc_storage_target000001/providers/Microsoft.Storage/storageAccounts/storagename000004","createdOn":"2020-08-11T07:39:37.9270579Z","updatedOn":"2020-08-11T07:39:37.9270579Z","createdBy":null,"updatedBy":"9ac534f1-d577-4034-a32d-48de400dacbf"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_hpc_storage_target000001/providers/Microsoft.Storage/storageAccounts/storagename000004/providers/Microsoft.Authorization/roleAssignments/88888888-0000-0000-0000-000000000001","type":"Microsoft.Authorization/roleAssignments","name":"88888888-0000-0000-0000-000000000001"}' @@ -505,7 +505,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_hpc_storage_target000001/providers/Microsoft.Network/virtualNetworks/vnetname000002?api-version=2020-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_hpc_storage_target000001/providers/Microsoft.Network/virtualNetworks/vnetname000002?api-version=2020-11-01 response: body: string: "{\r\n \"name\": \"vnetname000002\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_hpc_storage_target000001/providers/Microsoft.Network/virtualNetworks/vnetname000002\",\r\n @@ -528,7 +528,7 @@ interactions: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/78db1b21-6e25-40f3-984c-3a8fc6050e67?api-version=2020-05-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/78db1b21-6e25-40f3-984c-3a8fc6050e67?api-version=2020-11-01 cache-control: - no-cache content-length: @@ -572,7 +572,7 @@ interactions: - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/11.0.0 Azure-SDK-For-Python AZURECLI/2.10.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/78db1b21-6e25-40f3-984c-3a8fc6050e67?api-version=2020-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/78db1b21-6e25-40f3-984c-3a8fc6050e67?api-version=2020-11-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -622,7 +622,7 @@ interactions: - python/3.8.0 (Windows-10-10.0.19041-SP0) msrest/0.6.9 msrest_azure/0.6.3 azure-mgmt-network/11.0.0 Azure-SDK-For-Python AZURECLI/2.10.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_hpc_storage_target000001/providers/Microsoft.Network/virtualNetworks/vnetname000002?api-version=2020-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_hpc_storage_target000001/providers/Microsoft.Network/virtualNetworks/vnetname000002?api-version=2020-11-01 response: body: string: "{\r\n \"name\": \"vnetname000002\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_hpc_storage_target000001/providers/Microsoft.Network/virtualNetworks/vnetname000002\",\r\n diff --git a/src/hpc-cache/azext_hpc_cache/tests/latest/test_hpc_cache_scenario.py b/src/hpc-cache/azext_hpc_cache/tests/latest/test_hpc_cache_scenario.py index a08354c7b3f..3d3b5a1ab1e 100644 --- a/src/hpc-cache/azext_hpc_cache/tests/latest/test_hpc_cache_scenario.py +++ b/src/hpc-cache/azext_hpc_cache/tests/latest/test_hpc_cache_scenario.py @@ -26,6 +26,7 @@ def test_hpc_cache(self, resource_group): 'storage_name': self.create_random_name(prefix='storagename', length=24), 'container_name': self.create_random_name(prefix='containername', length=24) }) + principal_id = os.environ.get('AZURE_CLIENT_ID', '8a95323f-4a83-4a69-903f-7d2c69349c3c') storage_id = self.cmd('az storage account create -n {storage_name} -g {rg} -l {loc} ' '--sku Standard_LRS --https-only').get_output_in_json()['id'] @@ -34,8 +35,8 @@ def test_hpc_cache(self, resource_group): self.cmd('az storage container create -n {container_name} --account-name {storage_name}') with mock.patch('azure.cli.command_modules.role.custom._gen_guid', side_effect=self.create_guid): - self.cmd('az role assignment create --assignee 677a61e9-086e-4f13-986a-11aaedc31416 ' - '--role "Storage Account Contributor" --scope {}'.format(storage_id)) + self.cmd('az role assignment create --assignee {} ' + '--role "Storage Account Contributor" --scope {}'.format(principal_id, storage_id)) vnet_id = self.cmd('az network vnet create -g {rg} -n {vnet_name} -l {loc} --address-prefix 10.7.0.0/16 ' '--subnet-name default --subnet-prefix 10.7.0.0/24').get_output_in_json()['newVNet']['id'] @@ -56,8 +57,8 @@ def test_hpc_cache(self, resource_group): self.cmd('az hpc-cache upgrade-firmware --resource-group {rg} --name {cache_name}', checks=[]) - from msrestazure.azure_exceptions import CloudError - with self.assertRaisesRegexp(CloudError, 'ResourceNotFound'): + from azure.core.exceptions import ResourceNotFoundError + with self.assertRaisesRegexp(ResourceNotFoundError, 'ResourceNotFound'): self.cmd('az hpc-cache update ' '--resource-group {rg} ' '--name "{cache_name}123" ' @@ -89,13 +90,13 @@ def test_hpc_cache(self, resource_group): checks=[self.check("length(@) != '0'", True)]) self.cmd('az hpc-cache flush --resource-group {rg} --name {cache_name}', - checks=[self.check('status', 'Succeeded')]) + checks=[self.check('@', 'success')]) self.cmd('az hpc-cache stop --resource-group {rg} --name {cache_name}', - checks=[self.check('status', 'Succeeded')]) + checks=[self.check('@', 'success')]) self.cmd('az hpc-cache start --resource-group {rg} --name {cache_name}', - checks=[self.check('status', 'Succeeded')]) + checks=[self.check('@', 'success')]) self.cmd('az hpc-cache delete --resource-group {rg} --name {cache_name}', checks=[self.check('status', 'Succeeded')]) @@ -115,6 +116,7 @@ def test_hpc_storage_target(self, resource_group): 'container_name': self.create_random_name(prefix='containername', length=24), 'blob_target_name': self.create_random_name(prefix='blobtarget', length=24) }) + principal_id = os.environ.get('AZURE_CLIENT_ID', '8a95323f-4a83-4a69-903f-7d2c69349c3c') storage_id = self.cmd('az storage account create -n {storage_name} -g {rg} -l {loc} ' '--sku Standard_LRS --https-only').get_output_in_json()['id'] @@ -123,8 +125,8 @@ def test_hpc_storage_target(self, resource_group): self.cmd('az storage container create -n {container_name} --account-name {storage_name}') with mock.patch('azure.cli.command_modules.role.custom._gen_guid', side_effect=self.create_guid): - self.cmd('az role assignment create --assignee 677a61e9-086e-4f13-986a-11aaedc31416 ' - '--role "Storage Account Contributor" --scope {}'.format(storage_id)) + self.cmd('az role assignment create --assignee {} ' + '--role "Storage Account Contributor" --scope {}'.format(principal_id, storage_id)) vnet_id = self.cmd('az network vnet create -g {rg} -n {vnet_name} -l {loc} --address-prefix 10.7.0.0/16 ' '--subnet-name default --subnet-prefix 10.7.0.0/24').get_output_in_json()['newVNet']['id'] diff --git a/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/__init__.py b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/__init__.py index 091facfc05a..12859a199fa 100644 --- a/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/__init__.py +++ b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/__init__.py @@ -1,19 +1,19 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- - -from ._configuration import StorageCacheManagementClientConfiguration -from ._storage_cache_management_client import StorageCacheManagementClient -__all__ = ['StorageCacheManagementClient', 'StorageCacheManagementClientConfiguration'] - -from .version import VERSION - -__version__ = VERSION - +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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_cache_management_client import StorageCacheManagementClient +from ._version import VERSION + +__version__ = VERSION +__all__ = ['StorageCacheManagementClient'] + +try: + from ._patch import patch_sdk # type: ignore + patch_sdk() +except ImportError: + pass diff --git a/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/_configuration.py b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/_configuration.py index 78b14b99f8e..1d1b6350f9b 100644 --- a/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/_configuration.py +++ b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/_configuration.py @@ -1,50 +1,71 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. -# -------------------------------------------------------------------------- -from msrestazure import AzureConfiguration - -from .version import VERSION - - -class StorageCacheManagementClientConfiguration(AzureConfiguration): - """Configuration for StorageCacheManagementClient - 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: 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 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(StorageCacheManagementClientConfiguration, self).__init__(base_url) - - # Starting Autorest.Python 4.0.64, make connection pool activated by default - self.keep_alive = True - - self.add_user_agent('azure-mgmt-storagecache/{}'.format(VERSION)) - self.add_user_agent('Azure-SDK-For-Python') - - self.credentials = credentials - self.subscription_id = subscription_id +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies +from azure.mgmt.core.policies import ARMHttpLoggingPolicy + +from ._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any + + from azure.core.credentials import TokenCredential + + +class StorageCacheManagementClientConfiguration(Configuration): + """Configuration for StorageCacheManagementClient. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential + :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 + """ + + def __init__( + self, + credential, # type: "TokenCredential" + subscription_id, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + super(StorageCacheManagementClientConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2019-11-01" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-storagecache/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs # type: Any + ): + # type: (...) -> None + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = policies.BearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/_storage_cache_management_client.py b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/_storage_cache_management_client.py index 70e77f3a781..01ba82101ac 100644 --- a/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/_storage_cache_management_client.py +++ b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/_storage_cache_management_client.py @@ -1,71 +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 msrest.service_client import SDKClient -from msrest import Serializer, Deserializer - -from ._configuration import StorageCacheManagementClientConfiguration -from .operations import Operations -from .operations import SkusOperations -from .operations import UsageModelsOperations -from .operations import CachesOperations -from .operations import StorageTargetsOperations -from . import models - - -class StorageCacheManagementClient(SDKClient): - """A Storage Cache provides scalable caching service for NAS clients, serving data from either NFSv3 or Blob at-rest storage (referred to as "Storage Targets"). These operations allow you to manage Caches. - - :ivar config: Configuration for client. - :vartype config: StorageCacheManagementClientConfiguration - - :ivar operations: Operations operations - :vartype operations: azure.mgmt.storagecache.operations.Operations - :ivar skus: Skus operations - :vartype skus: azure.mgmt.storagecache.operations.SkusOperations - :ivar usage_models: UsageModels operations - :vartype usage_models: azure.mgmt.storagecache.operations.UsageModelsOperations - :ivar caches: Caches operations - :vartype caches: azure.mgmt.storagecache.operations.CachesOperations - :ivar storage_targets: StorageTargets operations - :vartype storage_targets: azure.mgmt.storagecache.operations.StorageTargetsOperations - - :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 base_url: Service URL - """ - - def __init__( - self, credentials, subscription_id, base_url=None): - - self.config = StorageCacheManagementClientConfiguration(credentials, subscription_id, base_url) - super(StorageCacheManagementClient, 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 = '2019-11-01' - 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.usage_models = UsageModelsOperations( - self._client, self.config, self._serialize, self._deserialize) - self.caches = CachesOperations( - self._client, self.config, self._serialize, self._deserialize) - self.storage_targets = StorageTargetsOperations( - self._client, self.config, self._serialize, self._deserialize) +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import TYPE_CHECKING + +from azure.mgmt.core import ARMPipelineClient +from msrest import Deserializer, Serializer + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Optional + + from azure.core.credentials import TokenCredential + +from ._configuration import StorageCacheManagementClientConfiguration +from .operations import Operations +from .operations import SkusOperations +from .operations import UsageModelsOperations +from .operations import CachesOperations +from .operations import StorageTargetsOperations +from . import models + + +class StorageCacheManagementClient(object): + """A Storage Cache provides scalable caching service for NAS clients, serving data from either NFSv3 or Blob at-rest storage (referred to as "Storage Targets"). These operations allow you to manage Caches. + + :ivar operations: Operations operations + :vartype operations: azure.mgmt.storagecache.operations.Operations + :ivar skus: SkusOperations operations + :vartype skus: azure.mgmt.storagecache.operations.SkusOperations + :ivar usage_models: UsageModelsOperations operations + :vartype usage_models: azure.mgmt.storagecache.operations.UsageModelsOperations + :ivar caches: CachesOperations operations + :vartype caches: azure.mgmt.storagecache.operations.CachesOperations + :ivar storage_targets: StorageTargetsOperations operations + :vartype storage_targets: azure.mgmt.storagecache.operations.StorageTargetsOperations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential + :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 base_url: Service URL + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + """ + + def __init__( + self, + credential, # type: "TokenCredential" + subscription_id, # type: str + base_url=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> None + if not base_url: + base_url = 'https://management.azure.com' + self._config = StorageCacheManagementClientConfiguration(credential, subscription_id, **kwargs) + self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self._serialize = Serializer(client_models) + self._serialize.client_side_validation = False + 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.usage_models = UsageModelsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.caches = CachesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.storage_targets = StorageTargetsOperations( + self._client, self._config, self._serialize, self._deserialize) + + def close(self): + # type: () -> None + self._client.close() + + def __enter__(self): + # type: () -> StorageCacheManagementClient + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/version.py b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/_version.py similarity index 82% rename from src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/version.py rename to src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/_version.py index 6a5cfdde605..eae7c95b6fb 100644 --- a/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/version.py +++ b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/_version.py @@ -1,13 +1,9 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# 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 = "0.2.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. +# -------------------------------------------------------------------------- + +VERSION = "0.1.0" diff --git a/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/aio/__init__.py b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/aio/__init__.py new file mode 100644 index 00000000000..b1121365385 --- /dev/null +++ b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/aio/__init__.py @@ -0,0 +1,10 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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_cache_management_client import StorageCacheManagementClient +__all__ = ['StorageCacheManagementClient'] diff --git a/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/aio/_configuration.py b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/aio/_configuration.py new file mode 100644 index 00000000000..4a94a02b6f3 --- /dev/null +++ b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/aio/_configuration.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 typing import Any, TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies +from azure.mgmt.core.policies import ARMHttpLoggingPolicy + +from .._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + + +class StorageCacheManagementClientConfiguration(Configuration): + """Configuration for StorageCacheManagementClient. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :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 + """ + + def __init__( + self, + credential: "AsyncTokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + super(StorageCacheManagementClientConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2019-11-01" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-storagecache/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs: Any + ) -> None: + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = policies.AsyncBearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/aio/_storage_cache_management_client.py b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/aio/_storage_cache_management_client.py new file mode 100644 index 00000000000..ffac566514f --- /dev/null +++ b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/aio/_storage_cache_management_client.py @@ -0,0 +1,84 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, Optional, TYPE_CHECKING + +from azure.mgmt.core import AsyncARMPipelineClient +from msrest import Deserializer, Serializer + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + +from ._configuration import StorageCacheManagementClientConfiguration +from .operations import Operations +from .operations import SkusOperations +from .operations import UsageModelsOperations +from .operations import CachesOperations +from .operations import StorageTargetsOperations +from .. import models + + +class StorageCacheManagementClient(object): + """A Storage Cache provides scalable caching service for NAS clients, serving data from either NFSv3 or Blob at-rest storage (referred to as "Storage Targets"). These operations allow you to manage Caches. + + :ivar operations: Operations operations + :vartype operations: azure.mgmt.storagecache.aio.operations.Operations + :ivar skus: SkusOperations operations + :vartype skus: azure.mgmt.storagecache.aio.operations.SkusOperations + :ivar usage_models: UsageModelsOperations operations + :vartype usage_models: azure.mgmt.storagecache.aio.operations.UsageModelsOperations + :ivar caches: CachesOperations operations + :vartype caches: azure.mgmt.storagecache.aio.operations.CachesOperations + :ivar storage_targets: StorageTargetsOperations operations + :vartype storage_targets: azure.mgmt.storagecache.aio.operations.StorageTargetsOperations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :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 base_url: Service URL + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + """ + + def __init__( + self, + credential: "AsyncTokenCredential", + subscription_id: str, + base_url: Optional[str] = None, + **kwargs: Any + ) -> None: + if not base_url: + base_url = 'https://management.azure.com' + self._config = StorageCacheManagementClientConfiguration(credential, subscription_id, **kwargs) + self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self._serialize = Serializer(client_models) + self._serialize.client_side_validation = False + 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.usage_models = UsageModelsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.caches = CachesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.storage_targets = StorageTargetsOperations( + self._client, self._config, self._serialize, self._deserialize) + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "StorageCacheManagementClient": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/aio/operations/__init__.py b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/aio/operations/__init__.py new file mode 100644 index 00000000000..979df5ef59d --- /dev/null +++ b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/aio/operations/__init__.py @@ -0,0 +1,21 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ._usage_models_operations import UsageModelsOperations +from ._caches_operations import CachesOperations +from ._storage_targets_operations import StorageTargetsOperations + +__all__ = [ + 'Operations', + 'SkusOperations', + 'UsageModelsOperations', + 'CachesOperations', + 'StorageTargetsOperations', +] diff --git a/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/aio/operations/_caches_operations.py b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/aio/operations/_caches_operations.py new file mode 100644 index 00000000000..57d3665636d --- /dev/null +++ b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/aio/operations/_caches_operations.py @@ -0,0 +1,1047 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class CachesOperations: + """CachesOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.storagecache.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + **kwargs + ) -> AsyncIterable["_models.CachesListResult"]: + """Returns all Caches the user has access to under a subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either CachesListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.storagecache.models.CachesListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.CachesListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-11-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + 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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('CachesListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.StorageCache/caches'} # type: ignore + + def list_by_resource_group( + self, + resource_group_name: str, + **kwargs + ) -> AsyncIterable["_models.CachesListResult"]: + """Returns all Caches the user has access to under a resource group. + + :param resource_group_name: Target resource group. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either CachesListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.storagecache.models.CachesListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.CachesListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-11-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('CachesListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + cache_name: str, + **kwargs + ) -> object: + cls = kwargs.pop('cls', None) # type: ClsType[object] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-11-01" + accept = "application/json" + + # Construct URL + url = self._delete_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,80}$'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('object', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('object', pipeline_response) + + if response.status_code == 204: + deserialized = self._deserialize('object', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}'} # type: ignore + + async def begin_delete( + self, + resource_group_name: str, + cache_name: str, + **kwargs + ) -> AsyncLROPoller[object]: + """Schedules a Cache for deletion. + + :param resource_group_name: Target resource group. + :type resource_group_name: str + :param cache_name: Name of Cache. + :type cache_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either object or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[object] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[object] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + cache_name=cache_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('object', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,80}$'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}'} # type: ignore + + async def get( + self, + resource_group_name: str, + cache_name: str, + **kwargs + ) -> "_models.Cache": + """Returns a Cache. + + :param resource_group_name: Target resource group. + :type resource_group_name: str + :param cache_name: Name of Cache. + :type cache_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Cache, or the result of cls(response) + :rtype: ~azure.mgmt.storagecache.models.Cache + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.Cache"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-11-01" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,80}$'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Cache', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}'} # type: ignore + + async def _create_or_update_initial( + self, + resource_group_name: str, + cache_name: str, + cache: Optional["_models.Cache"] = None, + **kwargs + ) -> "_models.Cache": + cls = kwargs.pop('cls', None) # type: ClsType["_models.Cache"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-11-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_or_update_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,80}$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + if cache is not None: + body_content = self._serialize.body(cache, 'Cache') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('Cache', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Cache', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}'} # type: ignore + + async def begin_create_or_update( + self, + resource_group_name: str, + cache_name: str, + cache: Optional["_models.Cache"] = None, + **kwargs + ) -> AsyncLROPoller["_models.Cache"]: + """Create or update a Cache. + + :param resource_group_name: Target resource group. + :type resource_group_name: str + :param cache_name: Name of Cache. + :type cache_name: str + :param cache: Object containing the user-selectable properties of the new Cache. If read-only + properties are included, they must match the existing values of those properties. + :type cache: ~azure.mgmt.storagecache.models.Cache + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either Cache or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.storagecache.models.Cache] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.Cache"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._create_or_update_initial( + resource_group_name=resource_group_name, + cache_name=cache_name, + cache=cache, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('Cache', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,80}$'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}'} # type: ignore + + async def update( + self, + resource_group_name: str, + cache_name: str, + cache: Optional["_models.Cache"] = None, + **kwargs + ) -> "_models.Cache": + """Update a Cache instance. + + :param resource_group_name: Target resource group. + :type resource_group_name: str + :param cache_name: Name of Cache. + :type cache_name: str + :param cache: Object containing the user-selectable properties of the Cache. If read-only + properties are included, they must match the existing values of those properties. + :type cache: ~azure.mgmt.storagecache.models.Cache + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Cache, or the result of cls(response) + :rtype: ~azure.mgmt.storagecache.models.Cache + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.Cache"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-11-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.update.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,80}$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + if cache is not None: + body_content = self._serialize.body(cache, 'Cache') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Cache', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}'} # type: ignore + + async def _flush_initial( + self, + resource_group_name: str, + cache_name: str, + **kwargs + ) -> object: + cls = kwargs.pop('cls', None) # type: ClsType[object] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-11-01" + accept = "application/json" + + # Construct URL + url = self._flush_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,80}$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('object', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('object', pipeline_response) + + if response.status_code == 204: + deserialized = self._deserialize('object', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _flush_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/flush'} # type: ignore + + async def begin_flush( + self, + resource_group_name: str, + cache_name: str, + **kwargs + ) -> AsyncLROPoller[object]: + """Tells a Cache to write all dirty data to the Storage Target(s). During the flush, clients will + see errors returned until the flush is complete. + + :param resource_group_name: Target resource group. + :type resource_group_name: str + :param cache_name: Name of Cache. + :type cache_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either object or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[object] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[object] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._flush_initial( + resource_group_name=resource_group_name, + cache_name=cache_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('object', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,80}$'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_flush.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/flush'} # type: ignore + + async def _start_initial( + self, + resource_group_name: str, + cache_name: str, + **kwargs + ) -> object: + cls = kwargs.pop('cls', None) # type: ClsType[object] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-11-01" + accept = "application/json" + + # Construct URL + url = self._start_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,80}$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('object', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('object', pipeline_response) + + if response.status_code == 204: + deserialized = self._deserialize('object', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _start_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/start'} # type: ignore + + async def begin_start( + self, + resource_group_name: str, + cache_name: str, + **kwargs + ) -> AsyncLROPoller[object]: + """Tells a Stopped state Cache to transition to Active state. + + :param resource_group_name: Target resource group. + :type resource_group_name: str + :param cache_name: Name of Cache. + :type cache_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either object or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[object] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[object] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._start_initial( + resource_group_name=resource_group_name, + cache_name=cache_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('object', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,80}$'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_start.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/start'} # type: ignore + + async def _stop_initial( + self, + resource_group_name: str, + cache_name: str, + **kwargs + ) -> object: + cls = kwargs.pop('cls', None) # type: ClsType[object] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-11-01" + accept = "application/json" + + # Construct URL + url = self._stop_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,80}$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('object', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('object', pipeline_response) + + if response.status_code == 204: + deserialized = self._deserialize('object', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _stop_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/stop'} # type: ignore + + async def begin_stop( + self, + resource_group_name: str, + cache_name: str, + **kwargs + ) -> AsyncLROPoller[object]: + """Tells an Active Cache to transition to Stopped state. + + :param resource_group_name: Target resource group. + :type resource_group_name: str + :param cache_name: Name of Cache. + :type cache_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either object or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[object] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[object] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._stop_initial( + resource_group_name=resource_group_name, + cache_name=cache_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('object', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,80}$'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/stop'} # type: ignore + + async def _upgrade_firmware_initial( + self, + resource_group_name: str, + cache_name: str, + **kwargs + ) -> object: + cls = kwargs.pop('cls', None) # type: ClsType[object] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-11-01" + accept = "application/json" + + # Construct URL + url = self._upgrade_firmware_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,80}$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if response.status_code == 201: + deserialized = self._deserialize('object', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('object', pipeline_response) + + if response.status_code == 204: + deserialized = self._deserialize('object', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _upgrade_firmware_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/upgrade'} # type: ignore + + async def begin_upgrade_firmware( + self, + resource_group_name: str, + cache_name: str, + **kwargs + ) -> AsyncLROPoller[object]: + """Upgrade a Cache's firmware if a new version is available. Otherwise, this operation has no + effect. + + :param resource_group_name: Target resource group. + :type resource_group_name: str + :param cache_name: Name of Cache. + :type cache_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either object or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[object] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[object] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._upgrade_firmware_initial( + resource_group_name=resource_group_name, + cache_name=cache_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('object', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,80}$'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_upgrade_firmware.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/upgrade'} # type: ignore diff --git a/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/aio/operations/_operations.py b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/aio/operations/_operations.py new file mode 100644 index 00000000000..225ccc1ff0d --- /dev/null +++ b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/aio/operations/_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. +# -------------------------------------------------------------------------- +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class Operations: + """Operations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.storagecache.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + **kwargs + ) -> AsyncIterable["_models.ApiOperationListResult"]: + """Lists all of the available Resource Provider operations. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ApiOperationListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.storagecache.models.ApiOperationListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ApiOperationListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-11-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ApiOperationListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.StorageCache/operations'} # type: ignore diff --git a/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/aio/operations/_skus_operations.py b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/aio/operations/_skus_operations.py new file mode 100644 index 00000000000..f46f0d4cc54 --- /dev/null +++ b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/aio/operations/_skus_operations.py @@ -0,0 +1,108 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class SkusOperations: + """SkusOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.storagecache.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + **kwargs + ) -> AsyncIterable["_models.ResourceSkusResult"]: + """Get the list of StorageCache.Cache SKUs available to this subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ResourceSkusResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.storagecache.models.ResourceSkusResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceSkusResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-11-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + 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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ResourceSkusResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.StorageCache/skus'} # type: ignore diff --git a/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/aio/operations/_storage_targets_operations.py b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/aio/operations/_storage_targets_operations.py new file mode 100644 index 00000000000..ce46cd83564 --- /dev/null +++ b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/aio/operations/_storage_targets_operations.py @@ -0,0 +1,451 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class StorageTargetsOperations: + """StorageTargetsOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.storagecache.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_by_cache( + self, + resource_group_name: str, + cache_name: str, + **kwargs + ) -> AsyncIterable["_models.StorageTargetsResult"]: + """Returns a list of Storage Targets for the specified Cache. + + :param resource_group_name: Target resource group. + :type resource_group_name: str + :param cache_name: Name of Cache. + :type cache_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either StorageTargetsResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.storagecache.models.StorageTargetsResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.StorageTargetsResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-11-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_cache.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,80}$'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('StorageTargetsResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_cache.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/storageTargets'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + cache_name: str, + storage_target_name: str, + **kwargs + ) -> object: + cls = kwargs.pop('cls', None) # type: ClsType[object] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-11-01" + accept = "application/json" + + # Construct URL + url = self._delete_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,80}$'), + 'storageTargetName': self._serialize.url("storage_target_name", storage_target_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,31}$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('object', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('object', pipeline_response) + + if response.status_code == 204: + deserialized = self._deserialize('object', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/storageTargets/{storageTargetName}'} # type: ignore + + async def begin_delete( + self, + resource_group_name: str, + cache_name: str, + storage_target_name: str, + **kwargs + ) -> AsyncLROPoller[object]: + """Removes a Storage Target from a Cache. This operation is allowed at any time, but if the Cache + is down or unhealthy, the actual removal of the Storage Target may be delayed until the Cache + is healthy again. Note that if the Cache has data to flush to the Storage Target, the data will + be flushed before the Storage Target will be deleted. + + :param resource_group_name: Target resource group. + :type resource_group_name: str + :param cache_name: Name of Cache. + :type cache_name: str + :param storage_target_name: Name of Storage Target. + :type storage_target_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either object or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[object] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[object] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + cache_name=cache_name, + storage_target_name=storage_target_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('object', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,80}$'), + 'storageTargetName': self._serialize.url("storage_target_name", storage_target_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,31}$'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/storageTargets/{storageTargetName}'} # type: ignore + + async def get( + self, + resource_group_name: str, + cache_name: str, + storage_target_name: str, + **kwargs + ) -> "_models.StorageTarget": + """Returns a Storage Target from a Cache. + + :param resource_group_name: Target resource group. + :type resource_group_name: str + :param cache_name: Name of Cache. + :type cache_name: str + :param storage_target_name: Name of the Storage Target. + :type storage_target_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: StorageTarget, or the result of cls(response) + :rtype: ~azure.mgmt.storagecache.models.StorageTarget + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.StorageTarget"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-11-01" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,80}$'), + 'storageTargetName': self._serialize.url("storage_target_name", storage_target_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,31}$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('StorageTarget', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/storageTargets/{storageTargetName}'} # type: ignore + + async def _create_or_update_initial( + self, + resource_group_name: str, + cache_name: str, + storage_target_name: str, + storagetarget: Optional["_models.StorageTarget"] = None, + **kwargs + ) -> "_models.StorageTarget": + cls = kwargs.pop('cls', None) # type: ClsType["_models.StorageTarget"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-11-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_or_update_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,80}$'), + 'storageTargetName': self._serialize.url("storage_target_name", storage_target_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,31}$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + if storagetarget is not None: + body_content = self._serialize.body(storagetarget, 'StorageTarget') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('StorageTarget', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('StorageTarget', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/storageTargets/{storageTargetName}'} # type: ignore + + async def begin_create_or_update( + self, + resource_group_name: str, + cache_name: str, + storage_target_name: str, + storagetarget: Optional["_models.StorageTarget"] = None, + **kwargs + ) -> AsyncLROPoller["_models.StorageTarget"]: + """Create or update a Storage Target. This operation is allowed at any time, but if the Cache is + down or unhealthy, the actual creation/modification of the Storage Target may be delayed until + the Cache is healthy again. + + :param resource_group_name: Target resource group. + :type resource_group_name: str + :param cache_name: Name of Cache. + :type cache_name: str + :param storage_target_name: Name of the Storage Target. + :type storage_target_name: str + :param storagetarget: Object containing the definition of a Storage Target. + :type storagetarget: ~azure.mgmt.storagecache.models.StorageTarget + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either StorageTarget or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure.mgmt.storagecache.models.StorageTarget] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.StorageTarget"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._create_or_update_initial( + resource_group_name=resource_group_name, + cache_name=cache_name, + storage_target_name=storage_target_name, + storagetarget=storagetarget, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('StorageTarget', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,80}$'), + 'storageTargetName': self._serialize.url("storage_target_name", storage_target_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,31}$'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/storageTargets/{storageTargetName}'} # type: ignore diff --git a/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/aio/operations/_usage_models_operations.py b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/aio/operations/_usage_models_operations.py new file mode 100644 index 00000000000..d50a3426aba --- /dev/null +++ b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/aio/operations/_usage_models_operations.py @@ -0,0 +1,108 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class UsageModelsOperations: + """UsageModelsOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.storagecache.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + **kwargs + ) -> AsyncIterable["_models.UsageModelsResult"]: + """Get the list of Cache Usage Models available to this subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either UsageModelsResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.mgmt.storagecache.models.UsageModelsResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.UsageModelsResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-11-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + 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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('UsageModelsResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.StorageCache/usageModels'} # type: ignore diff --git a/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/models/__init__.py b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/models/__init__.py index d973dfe4633..b451ff385c5 100644 --- a/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/models/__init__.py +++ b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/models/__init__.py @@ -1,92 +1,95 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# 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 ._models_py3 import ApiOperation - from ._models_py3 import ApiOperationDisplay - from ._models_py3 import Cache - from ._models_py3 import CacheHealth - from ._models_py3 import CacheSku - from ._models_py3 import CacheUpgradeStatus - from ._models_py3 import ClfsTarget - from ._models_py3 import CloudErrorBody - from ._models_py3 import NamespaceJunction - from ._models_py3 import Nfs3Target - from ._models_py3 import ResourceSku - from ._models_py3 import ResourceSkuCapabilities - from ._models_py3 import ResourceSkuLocationInfo - from ._models_py3 import Restriction - from ._models_py3 import StorageTarget - from ._models_py3 import UnknownTarget - from ._models_py3 import UsageModel - from ._models_py3 import UsageModelDisplay -except (SyntaxError, ImportError): - from ._models import ApiOperation - from ._models import ApiOperationDisplay - from ._models import Cache - from ._models import CacheHealth - from ._models import CacheSku - from ._models import CacheUpgradeStatus - from ._models import ClfsTarget - from ._models import CloudErrorBody - from ._models import NamespaceJunction - from ._models import Nfs3Target - from ._models import ResourceSku - from ._models import ResourceSkuCapabilities - from ._models import ResourceSkuLocationInfo - from ._models import Restriction - from ._models import StorageTarget - from ._models import UnknownTarget - from ._models import UsageModel - from ._models import UsageModelDisplay -from ._paged_models import ApiOperationPaged -from ._paged_models import CachePaged -from ._paged_models import ResourceSkuPaged -from ._paged_models import StorageTargetPaged -from ._paged_models import UsageModelPaged -from ._storage_cache_management_client_enums import ( - HealthStateType, - ProvisioningStateType, - FirmwareStatusType, - ReasonCode, - StorageTargetType, -) - -__all__ = [ - 'ApiOperation', - 'ApiOperationDisplay', - 'Cache', - 'CacheHealth', - 'CacheSku', - 'CacheUpgradeStatus', - 'ClfsTarget', - 'CloudErrorBody', - 'NamespaceJunction', - 'Nfs3Target', - 'ResourceSku', - 'ResourceSkuCapabilities', - 'ResourceSkuLocationInfo', - 'Restriction', - 'StorageTarget', - 'UnknownTarget', - 'UsageModel', - 'UsageModelDisplay', - 'ApiOperationPaged', - 'ResourceSkuPaged', - 'UsageModelPaged', - 'CachePaged', - 'StorageTargetPaged', - 'HealthStateType', - 'ProvisioningStateType', - 'FirmwareStatusType', - 'ReasonCode', - 'StorageTargetType', -] +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 ._models_py3 import ApiOperation + from ._models_py3 import ApiOperationDisplay + from ._models_py3 import ApiOperationListResult + from ._models_py3 import Cache + from ._models_py3 import CacheHealth + from ._models_py3 import CacheSku + from ._models_py3 import CacheUpgradeStatus + from ._models_py3 import CachesListResult + from ._models_py3 import ClfsTarget + from ._models_py3 import CloudErrorBody + from ._models_py3 import NamespaceJunction + from ._models_py3 import Nfs3Target + from ._models_py3 import ResourceSku + from ._models_py3 import ResourceSkuCapabilities + from ._models_py3 import ResourceSkuLocationInfo + from ._models_py3 import ResourceSkusResult + from ._models_py3 import Restriction + from ._models_py3 import StorageTarget + from ._models_py3 import StorageTargetsResult + from ._models_py3 import UnknownTarget + from ._models_py3 import UsageModel + from ._models_py3 import UsageModelDisplay + from ._models_py3 import UsageModelsResult +except (SyntaxError, ImportError): + from ._models import ApiOperation # type: ignore + from ._models import ApiOperationDisplay # type: ignore + from ._models import ApiOperationListResult # type: ignore + from ._models import Cache # type: ignore + from ._models import CacheHealth # type: ignore + from ._models import CacheSku # type: ignore + from ._models import CacheUpgradeStatus # type: ignore + from ._models import CachesListResult # type: ignore + from ._models import ClfsTarget # type: ignore + from ._models import CloudErrorBody # type: ignore + from ._models import NamespaceJunction # type: ignore + from ._models import Nfs3Target # type: ignore + from ._models import ResourceSku # type: ignore + from ._models import ResourceSkuCapabilities # type: ignore + from ._models import ResourceSkuLocationInfo # type: ignore + from ._models import ResourceSkusResult # type: ignore + from ._models import Restriction # type: ignore + from ._models import StorageTarget # type: ignore + from ._models import StorageTargetsResult # type: ignore + from ._models import UnknownTarget # type: ignore + from ._models import UsageModel # type: ignore + from ._models import UsageModelDisplay # type: ignore + from ._models import UsageModelsResult # type: ignore + +from ._storage_cache_management_client_enums import ( + FirmwareStatusType, + HealthStateType, + ProvisioningStateType, + ReasonCode, + StorageTargetType, +) + +__all__ = [ + 'ApiOperation', + 'ApiOperationDisplay', + 'ApiOperationListResult', + 'Cache', + 'CacheHealth', + 'CacheSku', + 'CacheUpgradeStatus', + 'CachesListResult', + 'ClfsTarget', + 'CloudErrorBody', + 'NamespaceJunction', + 'Nfs3Target', + 'ResourceSku', + 'ResourceSkuCapabilities', + 'ResourceSkuLocationInfo', + 'ResourceSkusResult', + 'Restriction', + 'StorageTarget', + 'StorageTargetsResult', + 'UnknownTarget', + 'UsageModel', + 'UsageModelDisplay', + 'UsageModelsResult', + 'FirmwareStatusType', + 'HealthStateType', + 'ProvisioningStateType', + 'ReasonCode', + 'StorageTargetType', +] diff --git a/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/models/_models.py b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/models/_models.py index 740dcc421d1..769f1f56823 100644 --- a/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/models/_models.py +++ b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/models/_models.py @@ -1,602 +1,720 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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 ApiOperation(Model): - """REST API operation description: see - https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/openapi-authoring-automated-guidelines.md#r3023-operationsapiimplementation. - - :param display: The object that represents the operation. - :type display: ~azure.mgmt.storagecache.models.ApiOperationDisplay - :param name: Operation name: {provider}/{resource}/{operation} - :type name: str - """ - - _attribute_map = { - 'display': {'key': 'display', 'type': 'ApiOperationDisplay'}, - 'name': {'key': 'name', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApiOperation, self).__init__(**kwargs) - self.display = kwargs.get('display', None) - self.name = kwargs.get('name', None) - - -class ApiOperationDisplay(Model): - """The object that represents the operation. - - :param operation: Operation type: Read, write, delete, etc. - :type operation: str - :param provider: Service provider: Microsoft.StorageCache - :type provider: str - :param resource: Resource on which the operation is performed: Cache, etc. - :type resource: str - """ - - _attribute_map = { - 'operation': {'key': 'operation', 'type': 'str'}, - 'provider': {'key': 'provider', 'type': 'str'}, - 'resource': {'key': 'resource', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ApiOperationDisplay, self).__init__(**kwargs) - self.operation = kwargs.get('operation', None) - self.provider = kwargs.get('provider', None) - self.resource = kwargs.get('resource', None) - - -class Cache(Model): - """A Cache instance. Follows Azure Resource Manager standards: - https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/resource-api-reference.md. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param tags: ARM tags as name/value pairs. - :type tags: object - :ivar id: Resource ID of the Cache. - :vartype id: str - :param location: Region name string. - :type location: str - :ivar name: Name of Cache. - :vartype name: str - :ivar type: Type of the Cache; Microsoft.StorageCache/Cache - :vartype type: str - :param cache_size_gb: The size of this Cache, in GB. - :type cache_size_gb: int - :ivar health: Health of the Cache. - :vartype health: ~azure.mgmt.storagecache.models.CacheHealth - :ivar mount_addresses: Array of IP addresses that can be used by clients - mounting this Cache. - :vartype mount_addresses: list[str] - :param provisioning_state: ARM provisioning state, see - https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/Addendum.md#provisioningstate-property. - Possible values include: 'Succeeded', 'Failed', 'Cancelled', 'Creating', - 'Deleting', 'Updating' - :type provisioning_state: str or - ~azure.mgmt.storagecache.models.ProvisioningStateType - :param subnet: Subnet used for the Cache. - :type subnet: str - :param upgrade_status: Upgrade status of the Cache. - :type upgrade_status: ~azure.mgmt.storagecache.models.CacheUpgradeStatus - :param sku: SKU for the Cache. - :type sku: ~azure.mgmt.storagecache.models.CacheSku - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'health': {'readonly': True}, - 'mount_addresses': {'readonly': True}, - } - - _attribute_map = { - 'tags': {'key': 'tags', 'type': 'object'}, - 'id': {'key': 'id', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'cache_size_gb': {'key': 'properties.cacheSizeGB', 'type': 'int'}, - 'health': {'key': 'properties.health', 'type': 'CacheHealth'}, - 'mount_addresses': {'key': 'properties.mountAddresses', 'type': '[str]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'str'}, - 'upgrade_status': {'key': 'properties.upgradeStatus', 'type': 'CacheUpgradeStatus'}, - 'sku': {'key': 'sku', 'type': 'CacheSku'}, - } - - def __init__(self, **kwargs): - super(Cache, self).__init__(**kwargs) - self.tags = kwargs.get('tags', None) - self.id = None - self.location = kwargs.get('location', None) - self.name = None - self.type = None - self.cache_size_gb = kwargs.get('cache_size_gb', None) - self.health = None - self.mount_addresses = None - self.provisioning_state = kwargs.get('provisioning_state', None) - self.subnet = kwargs.get('subnet', None) - self.upgrade_status = kwargs.get('upgrade_status', None) - self.sku = kwargs.get('sku', None) - - -class CacheHealth(Model): - """An indication of Cache health. Gives more information about health than - just that related to provisioning. - - :param state: List of Cache health states. Possible values include: - 'Unknown', 'Healthy', 'Degraded', 'Down', 'Transitioning', 'Stopping', - 'Stopped', 'Upgrading', 'Flushing' - :type state: str or ~azure.mgmt.storagecache.models.HealthStateType - :param status_description: Describes explanation of state. - :type status_description: str - """ - - _attribute_map = { - 'state': {'key': 'state', 'type': 'str'}, - 'status_description': {'key': 'statusDescription', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(CacheHealth, self).__init__(**kwargs) - self.state = kwargs.get('state', None) - self.status_description = kwargs.get('status_description', None) - - -class CacheSku(Model): - """SKU for the Cache. - - :param name: SKU name for this Cache. - :type name: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(CacheSku, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - - -class CacheUpgradeStatus(Model): - """Properties describing the software upgrade state of the Cache. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar current_firmware_version: Version string of the firmware currently - installed on this Cache. - :vartype current_firmware_version: str - :ivar firmware_update_status: True if there is a firmware update ready to - install on this Cache. The firmware will automatically be installed after - firmwareUpdateDeadline if not triggered earlier via the upgrade operation. - Possible values include: 'available', 'unavailable' - :vartype firmware_update_status: str or - ~azure.mgmt.storagecache.models.FirmwareStatusType - :ivar firmware_update_deadline: Time at which the pending firmware update - will automatically be installed on the Cache. - :vartype firmware_update_deadline: datetime - :ivar last_firmware_update: Time of the last successful firmware update. - :vartype last_firmware_update: datetime - :ivar pending_firmware_version: When firmwareUpdateAvailable is true, this - field holds the version string for the update. - :vartype pending_firmware_version: str - """ - - _validation = { - 'current_firmware_version': {'readonly': True}, - 'firmware_update_status': {'readonly': True}, - 'firmware_update_deadline': {'readonly': True}, - 'last_firmware_update': {'readonly': True}, - 'pending_firmware_version': {'readonly': True}, - } - - _attribute_map = { - 'current_firmware_version': {'key': 'currentFirmwareVersion', 'type': 'str'}, - 'firmware_update_status': {'key': 'firmwareUpdateStatus', 'type': 'str'}, - 'firmware_update_deadline': {'key': 'firmwareUpdateDeadline', 'type': 'iso-8601'}, - 'last_firmware_update': {'key': 'lastFirmwareUpdate', 'type': 'iso-8601'}, - 'pending_firmware_version': {'key': 'pendingFirmwareVersion', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(CacheUpgradeStatus, self).__init__(**kwargs) - self.current_firmware_version = None - self.firmware_update_status = None - self.firmware_update_deadline = None - self.last_firmware_update = None - self.pending_firmware_version = None - - -class ClfsTarget(Model): - """Storage container for use as a CLFS Storage Target. - - :param target: Resource ID of storage container. - :type target: str - """ - - _attribute_map = { - 'target': {'key': 'target', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ClfsTarget, self).__init__(**kwargs) - self.target = kwargs.get('target', None) - - -class CloudError(Model): - """An error response. - - :param error: The body of the error. - :type error: ~azure.mgmt.storagecache.models.CloudErrorBody - """ - - _attribute_map = { - 'error': {'key': 'error', 'type': 'CloudErrorBody'}, - } - - def __init__(self, **kwargs): - super(CloudError, self).__init__(**kwargs) - self.error = kwargs.get('error', None) - - -class CloudErrorException(HttpOperationError): - """Server responsed with exception of type: 'CloudError'. - - :param deserialize: A deserializer - :param response: Server response to be deserialized. - """ - - def __init__(self, deserialize, response, *args): - - super(CloudErrorException, self).__init__(deserialize, response, 'CloudError', *args) - - -class CloudErrorBody(Model): - """An error response. - - :param code: An identifier for the error. Codes are invariant and are - intended to be consumed programmatically. - :type code: str - :param details: A list of additional details about the error. - :type details: list[~azure.mgmt.storagecache.models.CloudErrorBody] - :param message: A message describing the error, intended to be suitable - for display in a user interface. - :type message: str - :param target: The target of the particular error. For example, the name - of the property in error. - :type target: str - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'details': {'key': 'details', 'type': '[CloudErrorBody]'}, - 'message': {'key': 'message', 'type': 'str'}, - 'target': {'key': 'target', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(CloudErrorBody, self).__init__(**kwargs) - self.code = kwargs.get('code', None) - self.details = kwargs.get('details', None) - self.message = kwargs.get('message', None) - self.target = kwargs.get('target', None) - - -class NamespaceJunction(Model): - """A namespace junction. - - :param namespace_path: Namespace path on a Cache for a Storage Target. - :type namespace_path: str - :param target_path: Path in Storage Target to which namespacePath points. - :type target_path: str - :param nfs_export: NFS export where targetPath exists. - :type nfs_export: str - """ - - _attribute_map = { - 'namespace_path': {'key': 'namespacePath', 'type': 'str'}, - 'target_path': {'key': 'targetPath', 'type': 'str'}, - 'nfs_export': {'key': 'nfsExport', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(NamespaceJunction, self).__init__(**kwargs) - self.namespace_path = kwargs.get('namespace_path', None) - self.target_path = kwargs.get('target_path', None) - self.nfs_export = kwargs.get('nfs_export', None) - - -class Nfs3Target(Model): - """An NFSv3 mount point for use as a Storage Target. - - :param target: IP address or host name of an NFSv3 host (e.g., - 10.0.44.44). - :type target: str - :param usage_model: Identifies the primary usage model to be used for this - Storage Target. Get choices from .../usageModels - :type usage_model: str - """ - - _validation = { - 'target': {'pattern': r'^[-.0-9a-zA-Z]+$'}, - } - - _attribute_map = { - 'target': {'key': 'target', 'type': 'str'}, - 'usage_model': {'key': 'usageModel', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(Nfs3Target, self).__init__(**kwargs) - self.target = kwargs.get('target', None) - self.usage_model = kwargs.get('usage_model', None) - - -class ResourceSku(Model): - """A resource 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 - :param capabilities: A list of capabilities of this SKU, such as - throughput or ops/sec. - :type capabilities: - list[~azure.mgmt.storagecache.models.ResourceSkuCapabilities] - :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] - :param location_info: The set of locations that the SKU is available. - :type location_info: - list[~azure.mgmt.storagecache.models.ResourceSkuLocationInfo] - :param name: The name of this SKU. - :type name: str - :param restrictions: The restrictions preventing this SKU from being used. - This is empty if there are no restrictions. - :type restrictions: list[~azure.mgmt.storagecache.models.Restriction] - """ - - _validation = { - 'resource_type': {'readonly': True}, - 'locations': {'readonly': True}, - } - - _attribute_map = { - 'resource_type': {'key': 'resourceType', 'type': 'str'}, - 'capabilities': {'key': 'capabilities', 'type': '[ResourceSkuCapabilities]'}, - 'locations': {'key': 'locations', 'type': '[str]'}, - 'location_info': {'key': 'locationInfo', 'type': '[ResourceSkuLocationInfo]'}, - 'name': {'key': 'name', 'type': 'str'}, - 'restrictions': {'key': 'restrictions', 'type': '[Restriction]'}, - } - - def __init__(self, **kwargs): - super(ResourceSku, self).__init__(**kwargs) - self.resource_type = None - self.capabilities = kwargs.get('capabilities', None) - self.locations = None - self.location_info = kwargs.get('location_info', None) - self.name = kwargs.get('name', None) - self.restrictions = kwargs.get('restrictions', None) - - -class ResourceSkuCapabilities(Model): - """A resource SKU capability. - - :param name: Name of a capability, such as ops/sec. - :type name: str - :param value: Quantity, if the capability is measured by quantity. - :type value: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'value': {'key': 'value', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(ResourceSkuCapabilities, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.value = kwargs.get('value', None) - - -class ResourceSkuLocationInfo(Model): - """Resource SKU location information. - - :param location: Location where this SKU is available. - :type location: str - :param zones: Zones if any. - :type zones: list[str] - """ - - _attribute_map = { - 'location': {'key': 'location', 'type': 'str'}, - 'zones': {'key': 'zones', 'type': '[str]'}, - } - - def __init__(self, **kwargs): - super(ResourceSkuLocationInfo, self).__init__(**kwargs) - self.location = kwargs.get('location', None) - self.zones = kwargs.get('zones', None) - - -class Restriction(Model): - """The restrictions preventing this SKU from being used. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar type: The type of restrictions. In this version, the only possible - value for this is location. - :vartype type: str - :ivar values: The value of restrictions. If the restriction type is set to - location, then this would be the 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". "QuotaId" is set when the SKU - has requiredQuotas parameter as the subscription does not belong to that - quota. "NotAvailableForSubscription" is related to capacity at the - datacenter. Possible values include: 'QuotaId', - 'NotAvailableForSubscription' - :type reason_code: str or ~azure.mgmt.storagecache.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) - - -class StorageTarget(Model): - """A storage system being cached by a Cache. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar name: Name of the Storage Target. - :vartype name: str - :ivar id: Resource ID of the Storage Target. - :vartype id: str - :ivar type: Type of the Storage Target; - Microsoft.StorageCache/Cache/StorageTarget - :vartype type: str - :param junctions: List of Cache namespace junctions to target for - namespace associations. - :type junctions: list[~azure.mgmt.storagecache.models.NamespaceJunction] - :param target_type: Type of the Storage Target. Possible values include: - 'nfs3', 'clfs', 'unknown' - :type target_type: str or - ~azure.mgmt.storagecache.models.StorageTargetType - :param provisioning_state: ARM provisioning state, see - https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/Addendum.md#provisioningstate-property. - Possible values include: 'Succeeded', 'Failed', 'Cancelled', 'Creating', - 'Deleting', 'Updating' - :type provisioning_state: str or - ~azure.mgmt.storagecache.models.ProvisioningStateType - :param nfs3: Properties when targetType is nfs3. - :type nfs3: ~azure.mgmt.storagecache.models.Nfs3Target - :param clfs: Properties when targetType is clfs. - :type clfs: ~azure.mgmt.storagecache.models.ClfsTarget - :param unknown: Properties when targetType is unknown. - :type unknown: ~azure.mgmt.storagecache.models.UnknownTarget - """ - - _validation = { - 'name': {'readonly': True}, - 'id': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'junctions': {'key': 'properties.junctions', 'type': '[NamespaceJunction]'}, - 'target_type': {'key': 'properties.targetType', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'nfs3': {'key': 'properties.nfs3', 'type': 'Nfs3Target'}, - 'clfs': {'key': 'properties.clfs', 'type': 'ClfsTarget'}, - 'unknown': {'key': 'properties.unknown', 'type': 'UnknownTarget'}, - } - - def __init__(self, **kwargs): - super(StorageTarget, self).__init__(**kwargs) - self.name = None - self.id = None - self.type = None - self.junctions = kwargs.get('junctions', None) - self.target_type = kwargs.get('target_type', None) - self.provisioning_state = kwargs.get('provisioning_state', None) - self.nfs3 = kwargs.get('nfs3', None) - self.clfs = kwargs.get('clfs', None) - self.unknown = kwargs.get('unknown', None) - - -class UnknownTarget(Model): - """Storage container for use as an Unknown Storage Target. - - :param unknown_map: Dictionary of string->string pairs containing - information about the Storage Target. - :type unknown_map: dict[str, str] - """ - - _attribute_map = { - 'unknown_map': {'key': 'unknownMap', 'type': '{str}'}, - } - - def __init__(self, **kwargs): - super(UnknownTarget, self).__init__(**kwargs) - self.unknown_map = kwargs.get('unknown_map', None) - - -class UsageModel(Model): - """A usage model. - - :param display: Localized information describing this usage model. - :type display: ~azure.mgmt.storagecache.models.UsageModelDisplay - :param model_name: Non-localized keyword name for this usage model. - :type model_name: str - :param target_type: The type of Storage Target to which this model is - applicable (only nfs3 as of this version). - :type target_type: str - """ - - _attribute_map = { - 'display': {'key': 'display', 'type': 'UsageModelDisplay'}, - 'model_name': {'key': 'modelName', 'type': 'str'}, - 'target_type': {'key': 'targetType', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(UsageModel, self).__init__(**kwargs) - self.display = kwargs.get('display', None) - self.model_name = kwargs.get('model_name', None) - self.target_type = kwargs.get('target_type', None) - - -class UsageModelDisplay(Model): - """Localized information describing this usage model. - - :param description: String to display for this usage model. - :type description: str - """ - - _attribute_map = { - 'description': {'key': 'description', 'type': 'str'}, - } - - def __init__(self, **kwargs): - super(UsageModelDisplay, self).__init__(**kwargs) - self.description = kwargs.get('description', None) +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 msrest.serialization + + +class ApiOperation(msrest.serialization.Model): + """REST API operation description: see https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/openapi-authoring-automated-guidelines.md#r3023-operationsapiimplementation. + + :param display: The object that represents the operation. + :type display: ~azure.mgmt.storagecache.models.ApiOperationDisplay + :param name: Operation name: {provider}/{resource}/{operation}. + :type name: str + """ + + _attribute_map = { + 'display': {'key': 'display', 'type': 'ApiOperationDisplay'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ApiOperation, self).__init__(**kwargs) + self.display = kwargs.get('display', None) + self.name = kwargs.get('name', None) + + +class ApiOperationDisplay(msrest.serialization.Model): + """The object that represents the operation. + + :param operation: Operation type: Read, write, delete, etc. + :type operation: str + :param provider: Service provider: Microsoft.StorageCache. + :type provider: str + :param resource: Resource on which the operation is performed: Cache, etc. + :type resource: str + """ + + _attribute_map = { + 'operation': {'key': 'operation', 'type': 'str'}, + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ApiOperationDisplay, self).__init__(**kwargs) + self.operation = kwargs.get('operation', None) + self.provider = kwargs.get('provider', None) + self.resource = kwargs.get('resource', None) + + +class ApiOperationListResult(msrest.serialization.Model): + """Result of the request to list Resource Provider operations. It contains a list of operations and a URL link to get the next set of results. + + :param next_link: URL to get the next set of operation list results if there are any. + :type next_link: str + :param value: List of Resource Provider operations supported by the Microsoft.StorageCache + resource provider. + :type value: list[~azure.mgmt.storagecache.models.ApiOperation] + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[ApiOperation]'}, + } + + def __init__( + self, + **kwargs + ): + super(ApiOperationListResult, self).__init__(**kwargs) + self.next_link = kwargs.get('next_link', None) + self.value = kwargs.get('value', None) + + +class Cache(msrest.serialization.Model): + """A Cache instance. Follows Azure Resource Manager standards: https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/resource-api-reference.md. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param tags: A set of tags. ARM tags as name/value pairs. + :type tags: object + :ivar id: Resource ID of the Cache. + :vartype id: str + :param location: Region name string. + :type location: str + :ivar name: Name of Cache. + :vartype name: str + :ivar type: Type of the Cache; Microsoft.StorageCache/Cache. + :vartype type: str + :param sku: SKU for the Cache. + :type sku: ~azure.mgmt.storagecache.models.CacheSku + :param cache_size_gb: The size of this Cache, in GB. + :type cache_size_gb: int + :ivar health: Health of the Cache. + :vartype health: ~azure.mgmt.storagecache.models.CacheHealth + :ivar mount_addresses: Array of IP addresses that can be used by clients mounting this Cache. + :vartype mount_addresses: list[str] + :param provisioning_state: ARM provisioning state, see https://github.com/Azure/azure-resource- + manager-rpc/blob/master/v1.0/Addendum.md#provisioningstate-property. Possible values include: + "Succeeded", "Failed", "Cancelled", "Creating", "Deleting", "Updating". + :type provisioning_state: str or ~azure.mgmt.storagecache.models.ProvisioningStateType + :param subnet: Subnet used for the Cache. + :type subnet: str + :param upgrade_status: Upgrade status of the Cache. + :type upgrade_status: ~azure.mgmt.storagecache.models.CacheUpgradeStatus + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True, 'pattern': r'^[-0-9a-zA-Z_]{1,80}$'}, + 'type': {'readonly': True}, + 'health': {'readonly': True}, + 'mount_addresses': {'readonly': True}, + } + + _attribute_map = { + 'tags': {'key': 'tags', 'type': 'object'}, + 'id': {'key': 'id', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'CacheSku'}, + 'cache_size_gb': {'key': 'properties.cacheSizeGB', 'type': 'int'}, + 'health': {'key': 'properties.health', 'type': 'CacheHealth'}, + 'mount_addresses': {'key': 'properties.mountAddresses', 'type': '[str]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'str'}, + 'upgrade_status': {'key': 'properties.upgradeStatus', 'type': 'CacheUpgradeStatus'}, + } + + def __init__( + self, + **kwargs + ): + super(Cache, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + self.id = None + self.location = kwargs.get('location', None) + self.name = None + self.type = None + self.sku = kwargs.get('sku', None) + self.cache_size_gb = kwargs.get('cache_size_gb', None) + self.health = None + self.mount_addresses = None + self.provisioning_state = kwargs.get('provisioning_state', None) + self.subnet = kwargs.get('subnet', None) + self.upgrade_status = kwargs.get('upgrade_status', None) + + +class CacheHealth(msrest.serialization.Model): + """An indication of Cache health. Gives more information about health than just that related to provisioning. + + :param state: List of Cache health states. Possible values include: "Unknown", "Healthy", + "Degraded", "Down", "Transitioning", "Stopping", "Stopped", "Upgrading", "Flushing". + :type state: str or ~azure.mgmt.storagecache.models.HealthStateType + :param status_description: Describes explanation of state. + :type status_description: str + """ + + _attribute_map = { + 'state': {'key': 'state', 'type': 'str'}, + 'status_description': {'key': 'statusDescription', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(CacheHealth, self).__init__(**kwargs) + self.state = kwargs.get('state', None) + self.status_description = kwargs.get('status_description', None) + + +class CacheSku(msrest.serialization.Model): + """SKU for the Cache. + + :param name: SKU name for this Cache. + :type name: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(CacheSku, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + + +class CachesListResult(msrest.serialization.Model): + """Result of the request to list Caches. It contains a list of Caches and a URL link to get the next set of results. + + :param next_link: URL to get the next set of Cache list results, if there are any. + :type next_link: str + :param value: List of Caches. + :type value: list[~azure.mgmt.storagecache.models.Cache] + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[Cache]'}, + } + + def __init__( + self, + **kwargs + ): + super(CachesListResult, self).__init__(**kwargs) + self.next_link = kwargs.get('next_link', None) + self.value = kwargs.get('value', None) + + +class CacheUpgradeStatus(msrest.serialization.Model): + """Properties describing the software upgrade state of the Cache. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar current_firmware_version: Version string of the firmware currently installed on this + Cache. + :vartype current_firmware_version: str + :ivar firmware_update_status: True if there is a firmware update ready to install on this + Cache. The firmware will automatically be installed after firmwareUpdateDeadline if not + triggered earlier via the upgrade operation. Possible values include: "available", + "unavailable". + :vartype firmware_update_status: str or ~azure.mgmt.storagecache.models.FirmwareStatusType + :ivar firmware_update_deadline: Time at which the pending firmware update will automatically be + installed on the Cache. + :vartype firmware_update_deadline: ~datetime.datetime + :ivar last_firmware_update: Time of the last successful firmware update. + :vartype last_firmware_update: ~datetime.datetime + :ivar pending_firmware_version: When firmwareUpdateAvailable is true, this field holds the + version string for the update. + :vartype pending_firmware_version: str + """ + + _validation = { + 'current_firmware_version': {'readonly': True}, + 'firmware_update_status': {'readonly': True}, + 'firmware_update_deadline': {'readonly': True}, + 'last_firmware_update': {'readonly': True}, + 'pending_firmware_version': {'readonly': True}, + } + + _attribute_map = { + 'current_firmware_version': {'key': 'currentFirmwareVersion', 'type': 'str'}, + 'firmware_update_status': {'key': 'firmwareUpdateStatus', 'type': 'str'}, + 'firmware_update_deadline': {'key': 'firmwareUpdateDeadline', 'type': 'iso-8601'}, + 'last_firmware_update': {'key': 'lastFirmwareUpdate', 'type': 'iso-8601'}, + 'pending_firmware_version': {'key': 'pendingFirmwareVersion', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(CacheUpgradeStatus, self).__init__(**kwargs) + self.current_firmware_version = None + self.firmware_update_status = None + self.firmware_update_deadline = None + self.last_firmware_update = None + self.pending_firmware_version = None + + +class ClfsTarget(msrest.serialization.Model): + """Storage container for use as a CLFS Storage Target. + + :param target: Resource ID of storage container. + :type target: str + """ + + _attribute_map = { + 'target': {'key': 'target', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ClfsTarget, self).__init__(**kwargs) + self.target = kwargs.get('target', None) + + +class CloudErrorBody(msrest.serialization.Model): + """An error response. + + :param code: An identifier for the error. Codes are invariant and are intended to be consumed + programmatically. + :type code: str + :param details: A list of additional details about the error. + :type details: list[~azure.mgmt.storagecache.models.CloudErrorBody] + :param message: A message describing the error, intended to be suitable for display in a user + interface. + :type message: str + :param target: The target of the particular error. For example, the name of the property in + error. + :type target: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[CloudErrorBody]'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(CloudErrorBody, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.details = kwargs.get('details', None) + self.message = kwargs.get('message', None) + self.target = kwargs.get('target', None) + + +class NamespaceJunction(msrest.serialization.Model): + """A namespace junction. + + :param namespace_path: Namespace path on a Cache for a Storage Target. + :type namespace_path: str + :param target_path: Path in Storage Target to which namespacePath points. + :type target_path: str + :param nfs_export: NFS export where targetPath exists. + :type nfs_export: str + """ + + _attribute_map = { + 'namespace_path': {'key': 'namespacePath', 'type': 'str'}, + 'target_path': {'key': 'targetPath', 'type': 'str'}, + 'nfs_export': {'key': 'nfsExport', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(NamespaceJunction, self).__init__(**kwargs) + self.namespace_path = kwargs.get('namespace_path', None) + self.target_path = kwargs.get('target_path', None) + self.nfs_export = kwargs.get('nfs_export', None) + + +class Nfs3Target(msrest.serialization.Model): + """An NFSv3 mount point for use as a Storage Target. + + :param target: IP address or host name of an NFSv3 host (e.g., 10.0.44.44). + :type target: str + :param usage_model: Identifies the primary usage model to be used for this Storage Target. Get + choices from .../usageModels. + :type usage_model: str + """ + + _validation = { + 'target': {'pattern': r'^[-.0-9a-zA-Z]+$'}, + } + + _attribute_map = { + 'target': {'key': 'target', 'type': 'str'}, + 'usage_model': {'key': 'usageModel', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(Nfs3Target, self).__init__(**kwargs) + self.target = kwargs.get('target', None) + self.usage_model = kwargs.get('usage_model', None) + + +class ResourceSku(msrest.serialization.Model): + """A resource 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 + :param capabilities: A list of capabilities of this SKU, such as throughput or ops/sec. + :type capabilities: list[~azure.mgmt.storagecache.models.ResourceSkuCapabilities] + :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] + :param location_info: The set of locations that the SKU is available. + :type location_info: list[~azure.mgmt.storagecache.models.ResourceSkuLocationInfo] + :param name: The name of this SKU. + :type name: str + :param restrictions: The restrictions preventing this SKU from being used. This is empty if + there are no restrictions. + :type restrictions: list[~azure.mgmt.storagecache.models.Restriction] + """ + + _validation = { + 'resource_type': {'readonly': True}, + 'locations': {'readonly': True}, + } + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'capabilities': {'key': 'capabilities', 'type': '[ResourceSkuCapabilities]'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'location_info': {'key': 'locationInfo', 'type': '[ResourceSkuLocationInfo]'}, + 'name': {'key': 'name', 'type': 'str'}, + 'restrictions': {'key': 'restrictions', 'type': '[Restriction]'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceSku, self).__init__(**kwargs) + self.resource_type = None + self.capabilities = kwargs.get('capabilities', None) + self.locations = None + self.location_info = kwargs.get('location_info', None) + self.name = kwargs.get('name', None) + self.restrictions = kwargs.get('restrictions', None) + + +class ResourceSkuCapabilities(msrest.serialization.Model): + """A resource SKU capability. + + :param name: Name of a capability, such as ops/sec. + :type name: str + :param value: Quantity, if the capability is measured by quantity. + :type value: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceSkuCapabilities, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.value = kwargs.get('value', None) + + +class ResourceSkuLocationInfo(msrest.serialization.Model): + """Resource SKU location information. + + :param location: Location where this SKU is available. + :type location: str + :param zones: Zones if any. + :type zones: list[str] + """ + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceSkuLocationInfo, self).__init__(**kwargs) + self.location = kwargs.get('location', None) + self.zones = kwargs.get('zones', None) + + +class ResourceSkusResult(msrest.serialization.Model): + """The response from the List Cache SKUs operation. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param next_link: The URI to fetch the next page of Cache SKUs. + :type next_link: str + :ivar value: The list of SKUs available for the subscription. + :vartype value: list[~azure.mgmt.storagecache.models.ResourceSku] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[ResourceSku]'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourceSkusResult, self).__init__(**kwargs) + self.next_link = kwargs.get('next_link', None) + self.value = None + + +class Restriction(msrest.serialization.Model): + """The restrictions preventing this SKU from being used. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar type: The type of restrictions. In this version, the only possible value for this is + location. + :vartype type: str + :ivar values: The value of restrictions. If the restriction type is set to location, then this + would be the 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". "QuotaId" is set when the SKU has requiredQuotas parameter as + the subscription does not belong to that quota. "NotAvailableForSubscription" is related to + capacity at the datacenter. Possible values include: "QuotaId", "NotAvailableForSubscription". + :type reason_code: str or ~azure.mgmt.storagecache.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) + + +class StorageTarget(msrest.serialization.Model): + """A storage system being cached by a Cache. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: Name of the Storage Target. + :vartype name: str + :ivar id: Resource ID of the Storage Target. + :vartype id: str + :ivar type: Type of the Storage Target; Microsoft.StorageCache/Cache/StorageTarget. + :vartype type: str + :param junctions: List of Cache namespace junctions to target for namespace associations. + :type junctions: list[~azure.mgmt.storagecache.models.NamespaceJunction] + :param target_type: Type of the Storage Target. Possible values include: "nfs3", "clfs", + "unknown". + :type target_type: str or ~azure.mgmt.storagecache.models.StorageTargetType + :param provisioning_state: ARM provisioning state, see https://github.com/Azure/azure-resource- + manager-rpc/blob/master/v1.0/Addendum.md#provisioningstate-property. Possible values include: + "Succeeded", "Failed", "Cancelled", "Creating", "Deleting", "Updating". + :type provisioning_state: str or ~azure.mgmt.storagecache.models.ProvisioningStateType + :param nfs3: Properties when targetType is nfs3. + :type nfs3: ~azure.mgmt.storagecache.models.Nfs3Target + :param clfs: Properties when targetType is clfs. + :type clfs: ~azure.mgmt.storagecache.models.ClfsTarget + :param unknown: Properties when targetType is unknown. + :type unknown: ~azure.mgmt.storagecache.models.UnknownTarget + """ + + _validation = { + 'name': {'readonly': True, 'pattern': r'^[-0-9a-zA-Z_]{1,80}$'}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'junctions': {'key': 'properties.junctions', 'type': '[NamespaceJunction]'}, + 'target_type': {'key': 'properties.targetType', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'nfs3': {'key': 'properties.nfs3', 'type': 'Nfs3Target'}, + 'clfs': {'key': 'properties.clfs', 'type': 'ClfsTarget'}, + 'unknown': {'key': 'properties.unknown', 'type': 'UnknownTarget'}, + } + + def __init__( + self, + **kwargs + ): + super(StorageTarget, self).__init__(**kwargs) + self.name = None + self.id = None + self.type = None + self.junctions = kwargs.get('junctions', None) + self.target_type = kwargs.get('target_type', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.nfs3 = kwargs.get('nfs3', None) + self.clfs = kwargs.get('clfs', None) + self.unknown = kwargs.get('unknown', None) + + +class StorageTargetsResult(msrest.serialization.Model): + """A list of Storage Targets. + + :param next_link: The URI to fetch the next page of Storage Targets. + :type next_link: str + :param value: The list of Storage Targets defined for the Cache. + :type value: list[~azure.mgmt.storagecache.models.StorageTarget] + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[StorageTarget]'}, + } + + def __init__( + self, + **kwargs + ): + super(StorageTargetsResult, self).__init__(**kwargs) + self.next_link = kwargs.get('next_link', None) + self.value = kwargs.get('value', None) + + +class UnknownTarget(msrest.serialization.Model): + """Storage container for use as an Unknown Storage Target. + + :param unknown_map: Dictionary of string->string pairs containing information about the Storage + Target. + :type unknown_map: dict[str, str] + """ + + _attribute_map = { + 'unknown_map': {'key': 'unknownMap', 'type': '{str}'}, + } + + def __init__( + self, + **kwargs + ): + super(UnknownTarget, self).__init__(**kwargs) + self.unknown_map = kwargs.get('unknown_map', None) + + +class UsageModel(msrest.serialization.Model): + """A usage model. + + :param display: Localized information describing this usage model. + :type display: ~azure.mgmt.storagecache.models.UsageModelDisplay + :param model_name: Non-localized keyword name for this usage model. + :type model_name: str + :param target_type: The type of Storage Target to which this model is applicable (only nfs3 as + of this version). + :type target_type: str + """ + + _attribute_map = { + 'display': {'key': 'display', 'type': 'UsageModelDisplay'}, + 'model_name': {'key': 'modelName', 'type': 'str'}, + 'target_type': {'key': 'targetType', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(UsageModel, self).__init__(**kwargs) + self.display = kwargs.get('display', None) + self.model_name = kwargs.get('model_name', None) + self.target_type = kwargs.get('target_type', None) + + +class UsageModelDisplay(msrest.serialization.Model): + """Localized information describing this usage model. + + :param description: String to display for this usage model. + :type description: str + """ + + _attribute_map = { + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(UsageModelDisplay, self).__init__(**kwargs) + self.description = kwargs.get('description', None) + + +class UsageModelsResult(msrest.serialization.Model): + """A list of Cache usage models. + + :param next_link: The URI to fetch the next page of Cache usage models. + :type next_link: str + :param value: The list of usage models available for the subscription. + :type value: list[~azure.mgmt.storagecache.models.UsageModel] + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[UsageModel]'}, + } + + def __init__( + self, + **kwargs + ): + super(UsageModelsResult, self).__init__(**kwargs) + self.next_link = kwargs.get('next_link', None) + self.value = kwargs.get('value', None) diff --git a/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/models/_models_py3.py b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/models/_models_py3.py index 1d6b8ea085b..90c47d40ae1 100644 --- a/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/models/_models_py3.py +++ b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/models/_models_py3.py @@ -1,602 +1,800 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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 ApiOperation(Model): - """REST API operation description: see - https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/openapi-authoring-automated-guidelines.md#r3023-operationsapiimplementation. - - :param display: The object that represents the operation. - :type display: ~azure.mgmt.storagecache.models.ApiOperationDisplay - :param name: Operation name: {provider}/{resource}/{operation} - :type name: str - """ - - _attribute_map = { - 'display': {'key': 'display', 'type': 'ApiOperationDisplay'}, - 'name': {'key': 'name', 'type': 'str'}, - } - - def __init__(self, *, display=None, name: str=None, **kwargs) -> None: - super(ApiOperation, self).__init__(**kwargs) - self.display = display - self.name = name - - -class ApiOperationDisplay(Model): - """The object that represents the operation. - - :param operation: Operation type: Read, write, delete, etc. - :type operation: str - :param provider: Service provider: Microsoft.StorageCache - :type provider: str - :param resource: Resource on which the operation is performed: Cache, etc. - :type resource: str - """ - - _attribute_map = { - 'operation': {'key': 'operation', 'type': 'str'}, - 'provider': {'key': 'provider', 'type': 'str'}, - 'resource': {'key': 'resource', 'type': 'str'}, - } - - def __init__(self, *, operation: str=None, provider: str=None, resource: str=None, **kwargs) -> None: - super(ApiOperationDisplay, self).__init__(**kwargs) - self.operation = operation - self.provider = provider - self.resource = resource - - -class Cache(Model): - """A Cache instance. Follows Azure Resource Manager standards: - https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/resource-api-reference.md. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :param tags: ARM tags as name/value pairs. - :type tags: object - :ivar id: Resource ID of the Cache. - :vartype id: str - :param location: Region name string. - :type location: str - :ivar name: Name of Cache. - :vartype name: str - :ivar type: Type of the Cache; Microsoft.StorageCache/Cache - :vartype type: str - :param cache_size_gb: The size of this Cache, in GB. - :type cache_size_gb: int - :ivar health: Health of the Cache. - :vartype health: ~azure.mgmt.storagecache.models.CacheHealth - :ivar mount_addresses: Array of IP addresses that can be used by clients - mounting this Cache. - :vartype mount_addresses: list[str] - :param provisioning_state: ARM provisioning state, see - https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/Addendum.md#provisioningstate-property. - Possible values include: 'Succeeded', 'Failed', 'Cancelled', 'Creating', - 'Deleting', 'Updating' - :type provisioning_state: str or - ~azure.mgmt.storagecache.models.ProvisioningStateType - :param subnet: Subnet used for the Cache. - :type subnet: str - :param upgrade_status: Upgrade status of the Cache. - :type upgrade_status: ~azure.mgmt.storagecache.models.CacheUpgradeStatus - :param sku: SKU for the Cache. - :type sku: ~azure.mgmt.storagecache.models.CacheSku - """ - - _validation = { - 'id': {'readonly': True}, - 'name': {'readonly': True}, - 'type': {'readonly': True}, - 'health': {'readonly': True}, - 'mount_addresses': {'readonly': True}, - } - - _attribute_map = { - 'tags': {'key': 'tags', 'type': 'object'}, - 'id': {'key': 'id', 'type': 'str'}, - 'location': {'key': 'location', 'type': 'str'}, - 'name': {'key': 'name', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'cache_size_gb': {'key': 'properties.cacheSizeGB', 'type': 'int'}, - 'health': {'key': 'properties.health', 'type': 'CacheHealth'}, - 'mount_addresses': {'key': 'properties.mountAddresses', 'type': '[str]'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'subnet': {'key': 'properties.subnet', 'type': 'str'}, - 'upgrade_status': {'key': 'properties.upgradeStatus', 'type': 'CacheUpgradeStatus'}, - 'sku': {'key': 'sku', 'type': 'CacheSku'}, - } - - def __init__(self, *, tags=None, location: str=None, cache_size_gb: int=None, provisioning_state=None, subnet: str=None, upgrade_status=None, sku=None, **kwargs) -> None: - super(Cache, self).__init__(**kwargs) - self.tags = tags - self.id = None - self.location = location - self.name = None - self.type = None - self.cache_size_gb = cache_size_gb - self.health = None - self.mount_addresses = None - self.provisioning_state = provisioning_state - self.subnet = subnet - self.upgrade_status = upgrade_status - self.sku = sku - - -class CacheHealth(Model): - """An indication of Cache health. Gives more information about health than - just that related to provisioning. - - :param state: List of Cache health states. Possible values include: - 'Unknown', 'Healthy', 'Degraded', 'Down', 'Transitioning', 'Stopping', - 'Stopped', 'Upgrading', 'Flushing' - :type state: str or ~azure.mgmt.storagecache.models.HealthStateType - :param status_description: Describes explanation of state. - :type status_description: str - """ - - _attribute_map = { - 'state': {'key': 'state', 'type': 'str'}, - 'status_description': {'key': 'statusDescription', 'type': 'str'}, - } - - def __init__(self, *, state=None, status_description: str=None, **kwargs) -> None: - super(CacheHealth, self).__init__(**kwargs) - self.state = state - self.status_description = status_description - - -class CacheSku(Model): - """SKU for the Cache. - - :param name: SKU name for this Cache. - :type name: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - } - - def __init__(self, *, name: str=None, **kwargs) -> None: - super(CacheSku, self).__init__(**kwargs) - self.name = name - - -class CacheUpgradeStatus(Model): - """Properties describing the software upgrade state of the Cache. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar current_firmware_version: Version string of the firmware currently - installed on this Cache. - :vartype current_firmware_version: str - :ivar firmware_update_status: True if there is a firmware update ready to - install on this Cache. The firmware will automatically be installed after - firmwareUpdateDeadline if not triggered earlier via the upgrade operation. - Possible values include: 'available', 'unavailable' - :vartype firmware_update_status: str or - ~azure.mgmt.storagecache.models.FirmwareStatusType - :ivar firmware_update_deadline: Time at which the pending firmware update - will automatically be installed on the Cache. - :vartype firmware_update_deadline: datetime - :ivar last_firmware_update: Time of the last successful firmware update. - :vartype last_firmware_update: datetime - :ivar pending_firmware_version: When firmwareUpdateAvailable is true, this - field holds the version string for the update. - :vartype pending_firmware_version: str - """ - - _validation = { - 'current_firmware_version': {'readonly': True}, - 'firmware_update_status': {'readonly': True}, - 'firmware_update_deadline': {'readonly': True}, - 'last_firmware_update': {'readonly': True}, - 'pending_firmware_version': {'readonly': True}, - } - - _attribute_map = { - 'current_firmware_version': {'key': 'currentFirmwareVersion', 'type': 'str'}, - 'firmware_update_status': {'key': 'firmwareUpdateStatus', 'type': 'str'}, - 'firmware_update_deadline': {'key': 'firmwareUpdateDeadline', 'type': 'iso-8601'}, - 'last_firmware_update': {'key': 'lastFirmwareUpdate', 'type': 'iso-8601'}, - 'pending_firmware_version': {'key': 'pendingFirmwareVersion', 'type': 'str'}, - } - - def __init__(self, **kwargs) -> None: - super(CacheUpgradeStatus, self).__init__(**kwargs) - self.current_firmware_version = None - self.firmware_update_status = None - self.firmware_update_deadline = None - self.last_firmware_update = None - self.pending_firmware_version = None - - -class ClfsTarget(Model): - """Storage container for use as a CLFS Storage Target. - - :param target: Resource ID of storage container. - :type target: str - """ - - _attribute_map = { - 'target': {'key': 'target', 'type': 'str'}, - } - - def __init__(self, *, target: str=None, **kwargs) -> None: - super(ClfsTarget, self).__init__(**kwargs) - self.target = target - - -class CloudError(Model): - """An error response. - - :param error: The body of the error. - :type error: ~azure.mgmt.storagecache.models.CloudErrorBody - """ - - _attribute_map = { - 'error': {'key': 'error', 'type': 'CloudErrorBody'}, - } - - def __init__(self, *, error=None, **kwargs) -> None: - super(CloudError, self).__init__(**kwargs) - self.error = error - - -class CloudErrorException(HttpOperationError): - """Server responsed with exception of type: 'CloudError'. - - :param deserialize: A deserializer - :param response: Server response to be deserialized. - """ - - def __init__(self, deserialize, response, *args): - - super(CloudErrorException, self).__init__(deserialize, response, 'CloudError', *args) - - -class CloudErrorBody(Model): - """An error response. - - :param code: An identifier for the error. Codes are invariant and are - intended to be consumed programmatically. - :type code: str - :param details: A list of additional details about the error. - :type details: list[~azure.mgmt.storagecache.models.CloudErrorBody] - :param message: A message describing the error, intended to be suitable - for display in a user interface. - :type message: str - :param target: The target of the particular error. For example, the name - of the property in error. - :type target: str - """ - - _attribute_map = { - 'code': {'key': 'code', 'type': 'str'}, - 'details': {'key': 'details', 'type': '[CloudErrorBody]'}, - 'message': {'key': 'message', 'type': 'str'}, - 'target': {'key': 'target', 'type': 'str'}, - } - - def __init__(self, *, code: str=None, details=None, message: str=None, target: str=None, **kwargs) -> None: - super(CloudErrorBody, self).__init__(**kwargs) - self.code = code - self.details = details - self.message = message - self.target = target - - -class NamespaceJunction(Model): - """A namespace junction. - - :param namespace_path: Namespace path on a Cache for a Storage Target. - :type namespace_path: str - :param target_path: Path in Storage Target to which namespacePath points. - :type target_path: str - :param nfs_export: NFS export where targetPath exists. - :type nfs_export: str - """ - - _attribute_map = { - 'namespace_path': {'key': 'namespacePath', 'type': 'str'}, - 'target_path': {'key': 'targetPath', 'type': 'str'}, - 'nfs_export': {'key': 'nfsExport', 'type': 'str'}, - } - - def __init__(self, *, namespace_path: str=None, target_path: str=None, nfs_export: str=None, **kwargs) -> None: - super(NamespaceJunction, self).__init__(**kwargs) - self.namespace_path = namespace_path - self.target_path = target_path - self.nfs_export = nfs_export - - -class Nfs3Target(Model): - """An NFSv3 mount point for use as a Storage Target. - - :param target: IP address or host name of an NFSv3 host (e.g., - 10.0.44.44). - :type target: str - :param usage_model: Identifies the primary usage model to be used for this - Storage Target. Get choices from .../usageModels - :type usage_model: str - """ - - _validation = { - 'target': {'pattern': r'^[-.0-9a-zA-Z]+$'}, - } - - _attribute_map = { - 'target': {'key': 'target', 'type': 'str'}, - 'usage_model': {'key': 'usageModel', 'type': 'str'}, - } - - def __init__(self, *, target: str=None, usage_model: str=None, **kwargs) -> None: - super(Nfs3Target, self).__init__(**kwargs) - self.target = target - self.usage_model = usage_model - - -class ResourceSku(Model): - """A resource 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 - :param capabilities: A list of capabilities of this SKU, such as - throughput or ops/sec. - :type capabilities: - list[~azure.mgmt.storagecache.models.ResourceSkuCapabilities] - :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] - :param location_info: The set of locations that the SKU is available. - :type location_info: - list[~azure.mgmt.storagecache.models.ResourceSkuLocationInfo] - :param name: The name of this SKU. - :type name: str - :param restrictions: The restrictions preventing this SKU from being used. - This is empty if there are no restrictions. - :type restrictions: list[~azure.mgmt.storagecache.models.Restriction] - """ - - _validation = { - 'resource_type': {'readonly': True}, - 'locations': {'readonly': True}, - } - - _attribute_map = { - 'resource_type': {'key': 'resourceType', 'type': 'str'}, - 'capabilities': {'key': 'capabilities', 'type': '[ResourceSkuCapabilities]'}, - 'locations': {'key': 'locations', 'type': '[str]'}, - 'location_info': {'key': 'locationInfo', 'type': '[ResourceSkuLocationInfo]'}, - 'name': {'key': 'name', 'type': 'str'}, - 'restrictions': {'key': 'restrictions', 'type': '[Restriction]'}, - } - - def __init__(self, *, capabilities=None, location_info=None, name: str=None, restrictions=None, **kwargs) -> None: - super(ResourceSku, self).__init__(**kwargs) - self.resource_type = None - self.capabilities = capabilities - self.locations = None - self.location_info = location_info - self.name = name - self.restrictions = restrictions - - -class ResourceSkuCapabilities(Model): - """A resource SKU capability. - - :param name: Name of a capability, such as ops/sec. - :type name: str - :param value: Quantity, if the capability is measured by quantity. - :type value: str - """ - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'value': {'key': 'value', 'type': 'str'}, - } - - def __init__(self, *, name: str=None, value: str=None, **kwargs) -> None: - super(ResourceSkuCapabilities, self).__init__(**kwargs) - self.name = name - self.value = value - - -class ResourceSkuLocationInfo(Model): - """Resource SKU location information. - - :param location: Location where this SKU is available. - :type location: str - :param zones: Zones if any. - :type zones: list[str] - """ - - _attribute_map = { - 'location': {'key': 'location', 'type': 'str'}, - 'zones': {'key': 'zones', 'type': '[str]'}, - } - - def __init__(self, *, location: str=None, zones=None, **kwargs) -> None: - super(ResourceSkuLocationInfo, self).__init__(**kwargs) - self.location = location - self.zones = zones - - -class Restriction(Model): - """The restrictions preventing this SKU from being used. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar type: The type of restrictions. In this version, the only possible - value for this is location. - :vartype type: str - :ivar values: The value of restrictions. If the restriction type is set to - location, then this would be the 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". "QuotaId" is set when the SKU - has requiredQuotas parameter as the subscription does not belong to that - quota. "NotAvailableForSubscription" is related to capacity at the - datacenter. Possible values include: 'QuotaId', - 'NotAvailableForSubscription' - :type reason_code: str or ~azure.mgmt.storagecache.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 - - -class StorageTarget(Model): - """A storage system being cached by a Cache. - - Variables are only populated by the server, and will be ignored when - sending a request. - - :ivar name: Name of the Storage Target. - :vartype name: str - :ivar id: Resource ID of the Storage Target. - :vartype id: str - :ivar type: Type of the Storage Target; - Microsoft.StorageCache/Cache/StorageTarget - :vartype type: str - :param junctions: List of Cache namespace junctions to target for - namespace associations. - :type junctions: list[~azure.mgmt.storagecache.models.NamespaceJunction] - :param target_type: Type of the Storage Target. Possible values include: - 'nfs3', 'clfs', 'unknown' - :type target_type: str or - ~azure.mgmt.storagecache.models.StorageTargetType - :param provisioning_state: ARM provisioning state, see - https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/Addendum.md#provisioningstate-property. - Possible values include: 'Succeeded', 'Failed', 'Cancelled', 'Creating', - 'Deleting', 'Updating' - :type provisioning_state: str or - ~azure.mgmt.storagecache.models.ProvisioningStateType - :param nfs3: Properties when targetType is nfs3. - :type nfs3: ~azure.mgmt.storagecache.models.Nfs3Target - :param clfs: Properties when targetType is clfs. - :type clfs: ~azure.mgmt.storagecache.models.ClfsTarget - :param unknown: Properties when targetType is unknown. - :type unknown: ~azure.mgmt.storagecache.models.UnknownTarget - """ - - _validation = { - 'name': {'readonly': True}, - 'id': {'readonly': True}, - 'type': {'readonly': True}, - } - - _attribute_map = { - 'name': {'key': 'name', 'type': 'str'}, - 'id': {'key': 'id', 'type': 'str'}, - 'type': {'key': 'type', 'type': 'str'}, - 'junctions': {'key': 'properties.junctions', 'type': '[NamespaceJunction]'}, - 'target_type': {'key': 'properties.targetType', 'type': 'str'}, - 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, - 'nfs3': {'key': 'properties.nfs3', 'type': 'Nfs3Target'}, - 'clfs': {'key': 'properties.clfs', 'type': 'ClfsTarget'}, - 'unknown': {'key': 'properties.unknown', 'type': 'UnknownTarget'}, - } - - def __init__(self, *, junctions=None, target_type=None, provisioning_state=None, nfs3=None, clfs=None, unknown=None, **kwargs) -> None: - super(StorageTarget, self).__init__(**kwargs) - self.name = None - self.id = None - self.type = None - self.junctions = junctions - self.target_type = target_type - self.provisioning_state = provisioning_state - self.nfs3 = nfs3 - self.clfs = clfs - self.unknown = unknown - - -class UnknownTarget(Model): - """Storage container for use as an Unknown Storage Target. - - :param unknown_map: Dictionary of string->string pairs containing - information about the Storage Target. - :type unknown_map: dict[str, str] - """ - - _attribute_map = { - 'unknown_map': {'key': 'unknownMap', 'type': '{str}'}, - } - - def __init__(self, *, unknown_map=None, **kwargs) -> None: - super(UnknownTarget, self).__init__(**kwargs) - self.unknown_map = unknown_map - - -class UsageModel(Model): - """A usage model. - - :param display: Localized information describing this usage model. - :type display: ~azure.mgmt.storagecache.models.UsageModelDisplay - :param model_name: Non-localized keyword name for this usage model. - :type model_name: str - :param target_type: The type of Storage Target to which this model is - applicable (only nfs3 as of this version). - :type target_type: str - """ - - _attribute_map = { - 'display': {'key': 'display', 'type': 'UsageModelDisplay'}, - 'model_name': {'key': 'modelName', 'type': 'str'}, - 'target_type': {'key': 'targetType', 'type': 'str'}, - } - - def __init__(self, *, display=None, model_name: str=None, target_type: str=None, **kwargs) -> None: - super(UsageModel, self).__init__(**kwargs) - self.display = display - self.model_name = model_name - self.target_type = target_type - - -class UsageModelDisplay(Model): - """Localized information describing this usage model. - - :param description: String to display for this usage model. - :type description: str - """ - - _attribute_map = { - 'description': {'key': 'description', 'type': 'str'}, - } - - def __init__(self, *, description: str=None, **kwargs) -> None: - super(UsageModelDisplay, self).__init__(**kwargs) - self.description = description +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Dict, List, Optional, Union + +import msrest.serialization + +from ._storage_cache_management_client_enums import * + + +class ApiOperation(msrest.serialization.Model): + """REST API operation description: see https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/openapi-authoring-automated-guidelines.md#r3023-operationsapiimplementation. + + :param display: The object that represents the operation. + :type display: ~azure.mgmt.storagecache.models.ApiOperationDisplay + :param name: Operation name: {provider}/{resource}/{operation}. + :type name: str + """ + + _attribute_map = { + 'display': {'key': 'display', 'type': 'ApiOperationDisplay'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + *, + display: Optional["ApiOperationDisplay"] = None, + name: Optional[str] = None, + **kwargs + ): + super(ApiOperation, self).__init__(**kwargs) + self.display = display + self.name = name + + +class ApiOperationDisplay(msrest.serialization.Model): + """The object that represents the operation. + + :param operation: Operation type: Read, write, delete, etc. + :type operation: str + :param provider: Service provider: Microsoft.StorageCache. + :type provider: str + :param resource: Resource on which the operation is performed: Cache, etc. + :type resource: str + """ + + _attribute_map = { + 'operation': {'key': 'operation', 'type': 'str'}, + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + } + + def __init__( + self, + *, + operation: Optional[str] = None, + provider: Optional[str] = None, + resource: Optional[str] = None, + **kwargs + ): + super(ApiOperationDisplay, self).__init__(**kwargs) + self.operation = operation + self.provider = provider + self.resource = resource + + +class ApiOperationListResult(msrest.serialization.Model): + """Result of the request to list Resource Provider operations. It contains a list of operations and a URL link to get the next set of results. + + :param next_link: URL to get the next set of operation list results if there are any. + :type next_link: str + :param value: List of Resource Provider operations supported by the Microsoft.StorageCache + resource provider. + :type value: list[~azure.mgmt.storagecache.models.ApiOperation] + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[ApiOperation]'}, + } + + def __init__( + self, + *, + next_link: Optional[str] = None, + value: Optional[List["ApiOperation"]] = None, + **kwargs + ): + super(ApiOperationListResult, self).__init__(**kwargs) + self.next_link = next_link + self.value = value + + +class Cache(msrest.serialization.Model): + """A Cache instance. Follows Azure Resource Manager standards: https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/resource-api-reference.md. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param tags: A set of tags. ARM tags as name/value pairs. + :type tags: object + :ivar id: Resource ID of the Cache. + :vartype id: str + :param location: Region name string. + :type location: str + :ivar name: Name of Cache. + :vartype name: str + :ivar type: Type of the Cache; Microsoft.StorageCache/Cache. + :vartype type: str + :param sku: SKU for the Cache. + :type sku: ~azure.mgmt.storagecache.models.CacheSku + :param cache_size_gb: The size of this Cache, in GB. + :type cache_size_gb: int + :ivar health: Health of the Cache. + :vartype health: ~azure.mgmt.storagecache.models.CacheHealth + :ivar mount_addresses: Array of IP addresses that can be used by clients mounting this Cache. + :vartype mount_addresses: list[str] + :param provisioning_state: ARM provisioning state, see https://github.com/Azure/azure-resource- + manager-rpc/blob/master/v1.0/Addendum.md#provisioningstate-property. Possible values include: + "Succeeded", "Failed", "Cancelled", "Creating", "Deleting", "Updating". + :type provisioning_state: str or ~azure.mgmt.storagecache.models.ProvisioningStateType + :param subnet: Subnet used for the Cache. + :type subnet: str + :param upgrade_status: Upgrade status of the Cache. + :type upgrade_status: ~azure.mgmt.storagecache.models.CacheUpgradeStatus + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True, 'pattern': r'^[-0-9a-zA-Z_]{1,80}$'}, + 'type': {'readonly': True}, + 'health': {'readonly': True}, + 'mount_addresses': {'readonly': True}, + } + + _attribute_map = { + 'tags': {'key': 'tags', 'type': 'object'}, + 'id': {'key': 'id', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'sku': {'key': 'sku', 'type': 'CacheSku'}, + 'cache_size_gb': {'key': 'properties.cacheSizeGB', 'type': 'int'}, + 'health': {'key': 'properties.health', 'type': 'CacheHealth'}, + 'mount_addresses': {'key': 'properties.mountAddresses', 'type': '[str]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'str'}, + 'upgrade_status': {'key': 'properties.upgradeStatus', 'type': 'CacheUpgradeStatus'}, + } + + def __init__( + self, + *, + tags: Optional[object] = None, + location: Optional[str] = None, + sku: Optional["CacheSku"] = None, + cache_size_gb: Optional[int] = None, + provisioning_state: Optional[Union[str, "ProvisioningStateType"]] = None, + subnet: Optional[str] = None, + upgrade_status: Optional["CacheUpgradeStatus"] = None, + **kwargs + ): + super(Cache, self).__init__(**kwargs) + self.tags = tags + self.id = None + self.location = location + self.name = None + self.type = None + self.sku = sku + self.cache_size_gb = cache_size_gb + self.health = None + self.mount_addresses = None + self.provisioning_state = provisioning_state + self.subnet = subnet + self.upgrade_status = upgrade_status + + +class CacheHealth(msrest.serialization.Model): + """An indication of Cache health. Gives more information about health than just that related to provisioning. + + :param state: List of Cache health states. Possible values include: "Unknown", "Healthy", + "Degraded", "Down", "Transitioning", "Stopping", "Stopped", "Upgrading", "Flushing". + :type state: str or ~azure.mgmt.storagecache.models.HealthStateType + :param status_description: Describes explanation of state. + :type status_description: str + """ + + _attribute_map = { + 'state': {'key': 'state', 'type': 'str'}, + 'status_description': {'key': 'statusDescription', 'type': 'str'}, + } + + def __init__( + self, + *, + state: Optional[Union[str, "HealthStateType"]] = None, + status_description: Optional[str] = None, + **kwargs + ): + super(CacheHealth, self).__init__(**kwargs) + self.state = state + self.status_description = status_description + + +class CacheSku(msrest.serialization.Model): + """SKU for the Cache. + + :param name: SKU name for this Cache. + :type name: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + **kwargs + ): + super(CacheSku, self).__init__(**kwargs) + self.name = name + + +class CachesListResult(msrest.serialization.Model): + """Result of the request to list Caches. It contains a list of Caches and a URL link to get the next set of results. + + :param next_link: URL to get the next set of Cache list results, if there are any. + :type next_link: str + :param value: List of Caches. + :type value: list[~azure.mgmt.storagecache.models.Cache] + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[Cache]'}, + } + + def __init__( + self, + *, + next_link: Optional[str] = None, + value: Optional[List["Cache"]] = None, + **kwargs + ): + super(CachesListResult, self).__init__(**kwargs) + self.next_link = next_link + self.value = value + + +class CacheUpgradeStatus(msrest.serialization.Model): + """Properties describing the software upgrade state of the Cache. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar current_firmware_version: Version string of the firmware currently installed on this + Cache. + :vartype current_firmware_version: str + :ivar firmware_update_status: True if there is a firmware update ready to install on this + Cache. The firmware will automatically be installed after firmwareUpdateDeadline if not + triggered earlier via the upgrade operation. Possible values include: "available", + "unavailable". + :vartype firmware_update_status: str or ~azure.mgmt.storagecache.models.FirmwareStatusType + :ivar firmware_update_deadline: Time at which the pending firmware update will automatically be + installed on the Cache. + :vartype firmware_update_deadline: ~datetime.datetime + :ivar last_firmware_update: Time of the last successful firmware update. + :vartype last_firmware_update: ~datetime.datetime + :ivar pending_firmware_version: When firmwareUpdateAvailable is true, this field holds the + version string for the update. + :vartype pending_firmware_version: str + """ + + _validation = { + 'current_firmware_version': {'readonly': True}, + 'firmware_update_status': {'readonly': True}, + 'firmware_update_deadline': {'readonly': True}, + 'last_firmware_update': {'readonly': True}, + 'pending_firmware_version': {'readonly': True}, + } + + _attribute_map = { + 'current_firmware_version': {'key': 'currentFirmwareVersion', 'type': 'str'}, + 'firmware_update_status': {'key': 'firmwareUpdateStatus', 'type': 'str'}, + 'firmware_update_deadline': {'key': 'firmwareUpdateDeadline', 'type': 'iso-8601'}, + 'last_firmware_update': {'key': 'lastFirmwareUpdate', 'type': 'iso-8601'}, + 'pending_firmware_version': {'key': 'pendingFirmwareVersion', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(CacheUpgradeStatus, self).__init__(**kwargs) + self.current_firmware_version = None + self.firmware_update_status = None + self.firmware_update_deadline = None + self.last_firmware_update = None + self.pending_firmware_version = None + + +class ClfsTarget(msrest.serialization.Model): + """Storage container for use as a CLFS Storage Target. + + :param target: Resource ID of storage container. + :type target: str + """ + + _attribute_map = { + 'target': {'key': 'target', 'type': 'str'}, + } + + def __init__( + self, + *, + target: Optional[str] = None, + **kwargs + ): + super(ClfsTarget, self).__init__(**kwargs) + self.target = target + + +class CloudErrorBody(msrest.serialization.Model): + """An error response. + + :param code: An identifier for the error. Codes are invariant and are intended to be consumed + programmatically. + :type code: str + :param details: A list of additional details about the error. + :type details: list[~azure.mgmt.storagecache.models.CloudErrorBody] + :param message: A message describing the error, intended to be suitable for display in a user + interface. + :type message: str + :param target: The target of the particular error. For example, the name of the property in + error. + :type target: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[CloudErrorBody]'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + } + + def __init__( + self, + *, + code: Optional[str] = None, + details: Optional[List["CloudErrorBody"]] = None, + message: Optional[str] = None, + target: Optional[str] = None, + **kwargs + ): + super(CloudErrorBody, self).__init__(**kwargs) + self.code = code + self.details = details + self.message = message + self.target = target + + +class NamespaceJunction(msrest.serialization.Model): + """A namespace junction. + + :param namespace_path: Namespace path on a Cache for a Storage Target. + :type namespace_path: str + :param target_path: Path in Storage Target to which namespacePath points. + :type target_path: str + :param nfs_export: NFS export where targetPath exists. + :type nfs_export: str + """ + + _attribute_map = { + 'namespace_path': {'key': 'namespacePath', 'type': 'str'}, + 'target_path': {'key': 'targetPath', 'type': 'str'}, + 'nfs_export': {'key': 'nfsExport', 'type': 'str'}, + } + + def __init__( + self, + *, + namespace_path: Optional[str] = None, + target_path: Optional[str] = None, + nfs_export: Optional[str] = None, + **kwargs + ): + super(NamespaceJunction, self).__init__(**kwargs) + self.namespace_path = namespace_path + self.target_path = target_path + self.nfs_export = nfs_export + + +class Nfs3Target(msrest.serialization.Model): + """An NFSv3 mount point for use as a Storage Target. + + :param target: IP address or host name of an NFSv3 host (e.g., 10.0.44.44). + :type target: str + :param usage_model: Identifies the primary usage model to be used for this Storage Target. Get + choices from .../usageModels. + :type usage_model: str + """ + + _validation = { + 'target': {'pattern': r'^[-.0-9a-zA-Z]+$'}, + } + + _attribute_map = { + 'target': {'key': 'target', 'type': 'str'}, + 'usage_model': {'key': 'usageModel', 'type': 'str'}, + } + + def __init__( + self, + *, + target: Optional[str] = None, + usage_model: Optional[str] = None, + **kwargs + ): + super(Nfs3Target, self).__init__(**kwargs) + self.target = target + self.usage_model = usage_model + + +class ResourceSku(msrest.serialization.Model): + """A resource 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 + :param capabilities: A list of capabilities of this SKU, such as throughput or ops/sec. + :type capabilities: list[~azure.mgmt.storagecache.models.ResourceSkuCapabilities] + :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] + :param location_info: The set of locations that the SKU is available. + :type location_info: list[~azure.mgmt.storagecache.models.ResourceSkuLocationInfo] + :param name: The name of this SKU. + :type name: str + :param restrictions: The restrictions preventing this SKU from being used. This is empty if + there are no restrictions. + :type restrictions: list[~azure.mgmt.storagecache.models.Restriction] + """ + + _validation = { + 'resource_type': {'readonly': True}, + 'locations': {'readonly': True}, + } + + _attribute_map = { + 'resource_type': {'key': 'resourceType', 'type': 'str'}, + 'capabilities': {'key': 'capabilities', 'type': '[ResourceSkuCapabilities]'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'location_info': {'key': 'locationInfo', 'type': '[ResourceSkuLocationInfo]'}, + 'name': {'key': 'name', 'type': 'str'}, + 'restrictions': {'key': 'restrictions', 'type': '[Restriction]'}, + } + + def __init__( + self, + *, + capabilities: Optional[List["ResourceSkuCapabilities"]] = None, + location_info: Optional[List["ResourceSkuLocationInfo"]] = None, + name: Optional[str] = None, + restrictions: Optional[List["Restriction"]] = None, + **kwargs + ): + super(ResourceSku, self).__init__(**kwargs) + self.resource_type = None + self.capabilities = capabilities + self.locations = None + self.location_info = location_info + self.name = name + self.restrictions = restrictions + + +class ResourceSkuCapabilities(msrest.serialization.Model): + """A resource SKU capability. + + :param name: Name of a capability, such as ops/sec. + :type name: str + :param value: Quantity, if the capability is measured by quantity. + :type value: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + value: Optional[str] = None, + **kwargs + ): + super(ResourceSkuCapabilities, self).__init__(**kwargs) + self.name = name + self.value = value + + +class ResourceSkuLocationInfo(msrest.serialization.Model): + """Resource SKU location information. + + :param location: Location where this SKU is available. + :type location: str + :param zones: Zones if any. + :type zones: list[str] + """ + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + } + + def __init__( + self, + *, + location: Optional[str] = None, + zones: Optional[List[str]] = None, + **kwargs + ): + super(ResourceSkuLocationInfo, self).__init__(**kwargs) + self.location = location + self.zones = zones + + +class ResourceSkusResult(msrest.serialization.Model): + """The response from the List Cache SKUs operation. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param next_link: The URI to fetch the next page of Cache SKUs. + :type next_link: str + :ivar value: The list of SKUs available for the subscription. + :vartype value: list[~azure.mgmt.storagecache.models.ResourceSku] + """ + + _validation = { + 'value': {'readonly': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[ResourceSku]'}, + } + + def __init__( + self, + *, + next_link: Optional[str] = None, + **kwargs + ): + super(ResourceSkusResult, self).__init__(**kwargs) + self.next_link = next_link + self.value = None + + +class Restriction(msrest.serialization.Model): + """The restrictions preventing this SKU from being used. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar type: The type of restrictions. In this version, the only possible value for this is + location. + :vartype type: str + :ivar values: The value of restrictions. If the restriction type is set to location, then this + would be the 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". "QuotaId" is set when the SKU has requiredQuotas parameter as + the subscription does not belong to that quota. "NotAvailableForSubscription" is related to + capacity at the datacenter. Possible values include: "QuotaId", "NotAvailableForSubscription". + :type reason_code: str or ~azure.mgmt.storagecache.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: Optional[Union[str, "ReasonCode"]] = None, + **kwargs + ): + super(Restriction, self).__init__(**kwargs) + self.type = None + self.values = None + self.reason_code = reason_code + + +class StorageTarget(msrest.serialization.Model): + """A storage system being cached by a Cache. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: Name of the Storage Target. + :vartype name: str + :ivar id: Resource ID of the Storage Target. + :vartype id: str + :ivar type: Type of the Storage Target; Microsoft.StorageCache/Cache/StorageTarget. + :vartype type: str + :param junctions: List of Cache namespace junctions to target for namespace associations. + :type junctions: list[~azure.mgmt.storagecache.models.NamespaceJunction] + :param target_type: Type of the Storage Target. Possible values include: "nfs3", "clfs", + "unknown". + :type target_type: str or ~azure.mgmt.storagecache.models.StorageTargetType + :param provisioning_state: ARM provisioning state, see https://github.com/Azure/azure-resource- + manager-rpc/blob/master/v1.0/Addendum.md#provisioningstate-property. Possible values include: + "Succeeded", "Failed", "Cancelled", "Creating", "Deleting", "Updating". + :type provisioning_state: str or ~azure.mgmt.storagecache.models.ProvisioningStateType + :param nfs3: Properties when targetType is nfs3. + :type nfs3: ~azure.mgmt.storagecache.models.Nfs3Target + :param clfs: Properties when targetType is clfs. + :type clfs: ~azure.mgmt.storagecache.models.ClfsTarget + :param unknown: Properties when targetType is unknown. + :type unknown: ~azure.mgmt.storagecache.models.UnknownTarget + """ + + _validation = { + 'name': {'readonly': True, 'pattern': r'^[-0-9a-zA-Z_]{1,80}$'}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'junctions': {'key': 'properties.junctions', 'type': '[NamespaceJunction]'}, + 'target_type': {'key': 'properties.targetType', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'nfs3': {'key': 'properties.nfs3', 'type': 'Nfs3Target'}, + 'clfs': {'key': 'properties.clfs', 'type': 'ClfsTarget'}, + 'unknown': {'key': 'properties.unknown', 'type': 'UnknownTarget'}, + } + + def __init__( + self, + *, + junctions: Optional[List["NamespaceJunction"]] = None, + target_type: Optional[Union[str, "StorageTargetType"]] = None, + provisioning_state: Optional[Union[str, "ProvisioningStateType"]] = None, + nfs3: Optional["Nfs3Target"] = None, + clfs: Optional["ClfsTarget"] = None, + unknown: Optional["UnknownTarget"] = None, + **kwargs + ): + super(StorageTarget, self).__init__(**kwargs) + self.name = None + self.id = None + self.type = None + self.junctions = junctions + self.target_type = target_type + self.provisioning_state = provisioning_state + self.nfs3 = nfs3 + self.clfs = clfs + self.unknown = unknown + + +class StorageTargetsResult(msrest.serialization.Model): + """A list of Storage Targets. + + :param next_link: The URI to fetch the next page of Storage Targets. + :type next_link: str + :param value: The list of Storage Targets defined for the Cache. + :type value: list[~azure.mgmt.storagecache.models.StorageTarget] + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[StorageTarget]'}, + } + + def __init__( + self, + *, + next_link: Optional[str] = None, + value: Optional[List["StorageTarget"]] = None, + **kwargs + ): + super(StorageTargetsResult, self).__init__(**kwargs) + self.next_link = next_link + self.value = value + + +class UnknownTarget(msrest.serialization.Model): + """Storage container for use as an Unknown Storage Target. + + :param unknown_map: Dictionary of string->string pairs containing information about the Storage + Target. + :type unknown_map: dict[str, str] + """ + + _attribute_map = { + 'unknown_map': {'key': 'unknownMap', 'type': '{str}'}, + } + + def __init__( + self, + *, + unknown_map: Optional[Dict[str, str]] = None, + **kwargs + ): + super(UnknownTarget, self).__init__(**kwargs) + self.unknown_map = unknown_map + + +class UsageModel(msrest.serialization.Model): + """A usage model. + + :param display: Localized information describing this usage model. + :type display: ~azure.mgmt.storagecache.models.UsageModelDisplay + :param model_name: Non-localized keyword name for this usage model. + :type model_name: str + :param target_type: The type of Storage Target to which this model is applicable (only nfs3 as + of this version). + :type target_type: str + """ + + _attribute_map = { + 'display': {'key': 'display', 'type': 'UsageModelDisplay'}, + 'model_name': {'key': 'modelName', 'type': 'str'}, + 'target_type': {'key': 'targetType', 'type': 'str'}, + } + + def __init__( + self, + *, + display: Optional["UsageModelDisplay"] = None, + model_name: Optional[str] = None, + target_type: Optional[str] = None, + **kwargs + ): + super(UsageModel, self).__init__(**kwargs) + self.display = display + self.model_name = model_name + self.target_type = target_type + + +class UsageModelDisplay(msrest.serialization.Model): + """Localized information describing this usage model. + + :param description: String to display for this usage model. + :type description: str + """ + + _attribute_map = { + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__( + self, + *, + description: Optional[str] = None, + **kwargs + ): + super(UsageModelDisplay, self).__init__(**kwargs) + self.description = description + + +class UsageModelsResult(msrest.serialization.Model): + """A list of Cache usage models. + + :param next_link: The URI to fetch the next page of Cache usage models. + :type next_link: str + :param value: The list of usage models available for the subscription. + :type value: list[~azure.mgmt.storagecache.models.UsageModel] + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[UsageModel]'}, + } + + def __init__( + self, + *, + next_link: Optional[str] = None, + value: Optional[List["UsageModel"]] = None, + **kwargs + ): + super(UsageModelsResult, self).__init__(**kwargs) + self.next_link = next_link + self.value = value diff --git a/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/models/_paged_models.py b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/models/_paged_models.py deleted file mode 100644 index 9ce0e883935..00000000000 --- a/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/models/_paged_models.py +++ /dev/null @@ -1,79 +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.paging import Paged - - -class ApiOperationPaged(Paged): - """ - A paging container for iterating over a list of :class:`ApiOperation ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ApiOperation]'} - } - - def __init__(self, *args, **kwargs): - - super(ApiOperationPaged, self).__init__(*args, **kwargs) -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) -class UsageModelPaged(Paged): - """ - A paging container for iterating over a list of :class:`UsageModel ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[UsageModel]'} - } - - def __init__(self, *args, **kwargs): - - super(UsageModelPaged, self).__init__(*args, **kwargs) -class CachePaged(Paged): - """ - A paging container for iterating over a list of :class:`Cache ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[Cache]'} - } - - def __init__(self, *args, **kwargs): - - super(CachePaged, self).__init__(*args, **kwargs) -class StorageTargetPaged(Paged): - """ - A paging container for iterating over a list of :class:`StorageTarget ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[StorageTarget]'} - } - - def __init__(self, *args, **kwargs): - - super(StorageTargetPaged, self).__init__(*args, **kwargs) diff --git a/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/models/_storage_cache_management_client_enums.py b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/models/_storage_cache_management_client_enums.py index 6f355192f18..aa99a1412f7 100644 --- a/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/models/_storage_cache_management_client_enums.py +++ b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/models/_storage_cache_management_client_enums.py @@ -1,54 +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 enum import Enum - - -class HealthStateType(str, Enum): - - unknown = "Unknown" - healthy = "Healthy" - degraded = "Degraded" - down = "Down" - transitioning = "Transitioning" - stopping = "Stopping" - stopped = "Stopped" - upgrading = "Upgrading" - flushing = "Flushing" - - -class ProvisioningStateType(str, Enum): - - succeeded = "Succeeded" - failed = "Failed" - cancelled = "Cancelled" - creating = "Creating" - deleting = "Deleting" - updating = "Updating" - - -class FirmwareStatusType(str, Enum): - - available = "available" - unavailable = "unavailable" - - -class ReasonCode(str, Enum): - - quota_id = "QuotaId" - not_available_for_subscription = "NotAvailableForSubscription" - - -class StorageTargetType(str, Enum): - - nfs3 = "nfs3" - clfs = "clfs" - unknown = "unknown" +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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, EnumMeta +from six import with_metaclass + +class _CaseInsensitiveEnumMeta(EnumMeta): + def __getitem__(self, name): + return super().__getitem__(name.upper()) + + def __getattr__(cls, name): + """Return the enum member matching `name` + We use __getattr__ instead of descriptors or inserting into the enum + class' __dict__ in order to support `name` and `value` being both + properties for enum members (which live in the class' __dict__) and + enum members themselves. + """ + try: + return cls._member_map_[name.upper()] + except KeyError: + raise AttributeError(name) + + +class FirmwareStatusType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """True if there is a firmware update ready to install on this Cache. The firmware will + automatically be installed after firmwareUpdateDeadline if not triggered earlier via the + upgrade operation. + """ + + AVAILABLE = "available" + UNAVAILABLE = "unavailable" + +class HealthStateType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """List of Cache health states. + """ + + UNKNOWN = "Unknown" + HEALTHY = "Healthy" + DEGRADED = "Degraded" + DOWN = "Down" + TRANSITIONING = "Transitioning" + STOPPING = "Stopping" + STOPPED = "Stopped" + UPGRADING = "Upgrading" + FLUSHING = "Flushing" + +class ProvisioningStateType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """ARM provisioning state, see https://github.com/Azure/azure-resource-manager- + rpc/blob/master/v1.0/Addendum.md#provisioningstate-property + """ + + SUCCEEDED = "Succeeded" + FAILED = "Failed" + CANCELLED = "Cancelled" + CREATING = "Creating" + DELETING = "Deleting" + UPDATING = "Updating" + +class ReasonCode(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The reason for the restriction. As of now this can be "QuotaId" or + "NotAvailableForSubscription". "QuotaId" is set when the SKU has requiredQuotas parameter as + the subscription does not belong to that quota. "NotAvailableForSubscription" is related to + capacity at the datacenter. + """ + + QUOTA_ID = "QuotaId" + NOT_AVAILABLE_FOR_SUBSCRIPTION = "NotAvailableForSubscription" + +class StorageTargetType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Type of the Storage Target. + """ + + NFS3 = "nfs3" + CLFS = "clfs" + UNKNOWN = "unknown" diff --git a/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/operations/__init__.py b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/operations/__init__.py index 4fce143078b..979df5ef59d 100644 --- a/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/operations/__init__.py +++ b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/operations/__init__.py @@ -1,24 +1,21 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license 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 ._usage_models_operations import UsageModelsOperations -from ._caches_operations import CachesOperations -from ._storage_targets_operations import StorageTargetsOperations - -__all__ = [ - 'Operations', - 'SkusOperations', - 'UsageModelsOperations', - 'CachesOperations', - 'StorageTargetsOperations', -] +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ._usage_models_operations import UsageModelsOperations +from ._caches_operations import CachesOperations +from ._storage_targets_operations import StorageTargetsOperations + +__all__ = [ + 'Operations', + 'SkusOperations', + 'UsageModelsOperations', + 'CachesOperations', + 'StorageTargetsOperations', +] diff --git a/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/operations/_caches_operations.py b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/operations/_caches_operations.py index 95cd21a855d..f1c2ceb79ea 100644 --- a/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/operations/_caches_operations.py +++ b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/operations/_caches_operations.py @@ -1,895 +1,1067 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# 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 CachesOperations(object): - """CachesOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :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: Client API version. Constant value: "2019-11-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-11-01" - - self.config = config - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Returns all Caches the user has access to under 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 Cache - :rtype: - ~azure.mgmt.storagecache.models.CachePaged[~azure.mgmt.storagecache.models.Cache] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - 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['Accept'] = 'application/json' - 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, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, 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 - header_dict = None - if raw: - header_dict = {} - deserialized = models.CachePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.StorageCache/caches'} - - def list_by_resource_group( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): - """Returns all Caches the user has access to under a resource group. - - :param resource_group_name: Target resource group. - :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 Cache - :rtype: - ~azure.mgmt.storagecache.models.CachePaged[~azure.mgmt.storagecache.models.Cache] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - 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'), - '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['Accept'] = 'application/json' - 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, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, 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 - header_dict = None - if raw: - header_dict = {} - deserialized = models.CachePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches'} - - - def _delete_initial( - self, resource_group_name, cache_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'), - 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,31}$'), - '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['Accept'] = 'application/json' - 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, header_parameters) - response = self._client.send(request, 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 - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('object', response) - if response.status_code == 202: - deserialized = self._deserialize('object', response) - if response.status_code == 204: - deserialized = self._deserialize('object', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def delete( - self, resource_group_name, cache_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Schedules a Cache for deletion. - - :param resource_group_name: Target resource group. - :type resource_group_name: str - :param cache_name: Name of Cache. - :type cache_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 object or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[object] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[object]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - cache_name=cache_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('object', 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) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}'} - - def get( - self, resource_group_name, cache_name, custom_headers=None, raw=False, **operation_config): - """Returns a Cache. - - :param resource_group_name: Target resource group. - :type resource_group_name: str - :param cache_name: Name of Cache. - :type cache_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: Cache or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.storagecache.models.Cache 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'), - 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,31}$'), - '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['Accept'] = 'application/json' - 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, header_parameters) - response = self._client.send(request, 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('Cache', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}'} - - - def _create_or_update_initial( - self, resource_group_name, cache_name, cache=None, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,31}$') - } - 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['Accept'] = 'application/json' - 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 - if cache is not None: - body_content = self._serialize.body(cache, 'Cache') - else: - body_content = None - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 201]: - 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('Cache', response) - if response.status_code == 201: - deserialized = self._deserialize('Cache', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, cache_name, cache=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Create or update a Cache. - - :param resource_group_name: Target resource group. - :type resource_group_name: str - :param cache_name: Name of Cache. - :type cache_name: str - :param cache: Object containing the user-selectable properties of the - new Cache. If read-only properties are included, they must match the - existing values of those properties. - :type cache: ~azure.mgmt.storagecache.models.Cache - :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 Cache or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.storagecache.models.Cache] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.storagecache.models.Cache]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - cache_name=cache_name, - cache=cache, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('Cache', 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_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}'} - - def update( - self, resource_group_name, cache_name, cache=None, custom_headers=None, raw=False, **operation_config): - """Update a Cache instance. - - :param resource_group_name: Target resource group. - :type resource_group_name: str - :param cache_name: Name of Cache. - :type cache_name: str - :param cache: Object containing the user-selectable properties of the - Cache. If read-only properties are included, they must match the - existing values of those properties. - :type cache: ~azure.mgmt.storagecache.models.Cache - :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: Cache or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.storagecache.models.Cache 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'), - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,31}$') - } - 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['Accept'] = 'application/json' - 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 - if cache is not None: - body_content = self._serialize.body(cache, 'Cache') - else: - body_content = None - - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, 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('Cache', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - update.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}'} - - - def _flush_initial( - self, resource_group_name, cache_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.flush.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,31}$') - } - 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['Accept'] = 'application/json' - 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, header_parameters) - response = self._client.send(request, 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 - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('object', response) - if response.status_code == 202: - deserialized = self._deserialize('object', response) - if response.status_code == 204: - deserialized = self._deserialize('object', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def flush( - self, resource_group_name, cache_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Tells a Cache to write all dirty data to the Storage Target(s). During - the flush, clients will see errors returned until the flush is - complete. - - :param resource_group_name: Target resource group. - :type resource_group_name: str - :param cache_name: Name of Cache. - :type cache_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 object or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[object] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[object]] - :raises: :class:`CloudError` - """ - raw_result = self._flush_initial( - resource_group_name=resource_group_name, - cache_name=cache_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('object', 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) - flush.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/flush'} - - - def _start_initial( - self, resource_group_name, cache_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.start.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,31}$') - } - 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['Accept'] = 'application/json' - 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, header_parameters) - response = self._client.send(request, 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 - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('object', response) - if response.status_code == 202: - deserialized = self._deserialize('object', response) - if response.status_code == 204: - deserialized = self._deserialize('object', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def start( - self, resource_group_name, cache_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Tells a Stopped state Cache to transition to Active state. - - :param resource_group_name: Target resource group. - :type resource_group_name: str - :param cache_name: Name of Cache. - :type cache_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 object or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[object] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[object]] - :raises: :class:`CloudError` - """ - raw_result = self._start_initial( - resource_group_name=resource_group_name, - cache_name=cache_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('object', 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) - start.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/start'} - - - def _stop_initial( - self, resource_group_name, cache_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.stop.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,31}$') - } - 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['Accept'] = 'application/json' - 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, header_parameters) - response = self._client.send(request, 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 - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('object', response) - if response.status_code == 202: - deserialized = self._deserialize('object', response) - if response.status_code == 204: - deserialized = self._deserialize('object', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def stop( - self, resource_group_name, cache_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Tells an Active Cache to transition to Stopped state. - - :param resource_group_name: Target resource group. - :type resource_group_name: str - :param cache_name: Name of Cache. - :type cache_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 object or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[object] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[object]] - :raises: :class:`CloudError` - """ - raw_result = self._stop_initial( - resource_group_name=resource_group_name, - cache_name=cache_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('object', 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) - stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/stop'} - - - def _upgrade_firmware_initial( - self, resource_group_name, cache_name, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.upgrade_firmware.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,31}$') - } - 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['Accept'] = 'application/json' - 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, header_parameters) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [201, 202, 204]: - 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('object', response) - if response.status_code == 202: - deserialized = self._deserialize('object', response) - if response.status_code == 204: - deserialized = self._deserialize('object', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def upgrade_firmware( - self, resource_group_name, cache_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Upgrade a Cache's firmware if a new version is available. Otherwise, - this operation has no effect. - - :param resource_group_name: Target resource group. - :type resource_group_name: str - :param cache_name: Name of Cache. - :type cache_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 object or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[object] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[object]] - :raises: :class:`CloudError` - """ - raw_result = self._upgrade_firmware_initial( - resource_group_name=resource_group_name, - cache_name=cache_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('object', 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) - upgrade_firmware.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/upgrade'} +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling + +from .. import models as _models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class CachesOperations(object): + """CachesOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.storagecache.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.CachesListResult"] + """Returns all Caches the user has access to under a subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either CachesListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.storagecache.models.CachesListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.CachesListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-11-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + 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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('CachesListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.StorageCache/caches'} # type: ignore + + def list_by_resource_group( + self, + resource_group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.CachesListResult"] + """Returns all Caches the user has access to under a resource group. + + :param resource_group_name: Target resource group. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either CachesListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.storagecache.models.CachesListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.CachesListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-11-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('CachesListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches'} # type: ignore + + def _delete_initial( + self, + resource_group_name, # type: str + cache_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> object + cls = kwargs.pop('cls', None) # type: ClsType[object] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-11-01" + accept = "application/json" + + # Construct URL + url = self._delete_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,80}$'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('object', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('object', pipeline_response) + + if response.status_code == 204: + deserialized = self._deserialize('object', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}'} # type: ignore + + def begin_delete( + self, + resource_group_name, # type: str + cache_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[object] + """Schedules a Cache for deletion. + + :param resource_group_name: Target resource group. + :type resource_group_name: str + :param cache_name: Name of Cache. + :type cache_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either object or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[object] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[object] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + cache_name=cache_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('object', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,80}$'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}'} # type: ignore + + def get( + self, + resource_group_name, # type: str + cache_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.Cache" + """Returns a Cache. + + :param resource_group_name: Target resource group. + :type resource_group_name: str + :param cache_name: Name of Cache. + :type cache_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Cache, or the result of cls(response) + :rtype: ~azure.mgmt.storagecache.models.Cache + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.Cache"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-11-01" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,80}$'), + '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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Cache', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}'} # type: ignore + + def _create_or_update_initial( + self, + resource_group_name, # type: str + cache_name, # type: str + cache=None, # type: Optional["_models.Cache"] + **kwargs # type: Any + ): + # type: (...) -> "_models.Cache" + cls = kwargs.pop('cls', None) # type: ClsType["_models.Cache"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-11-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_or_update_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,80}$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + if cache is not None: + body_content = self._serialize.body(cache, 'Cache') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('Cache', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('Cache', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}'} # type: ignore + + def begin_create_or_update( + self, + resource_group_name, # type: str + cache_name, # type: str + cache=None, # type: Optional["_models.Cache"] + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.Cache"] + """Create or update a Cache. + + :param resource_group_name: Target resource group. + :type resource_group_name: str + :param cache_name: Name of Cache. + :type cache_name: str + :param cache: Object containing the user-selectable properties of the new Cache. If read-only + properties are included, they must match the existing values of those properties. + :type cache: ~azure.mgmt.storagecache.models.Cache + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either Cache or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.storagecache.models.Cache] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.Cache"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + cache_name=cache_name, + cache=cache, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('Cache', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,80}$'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}'} # type: ignore + + def update( + self, + resource_group_name, # type: str + cache_name, # type: str + cache=None, # type: Optional["_models.Cache"] + **kwargs # type: Any + ): + # type: (...) -> "_models.Cache" + """Update a Cache instance. + + :param resource_group_name: Target resource group. + :type resource_group_name: str + :param cache_name: Name of Cache. + :type cache_name: str + :param cache: Object containing the user-selectable properties of the Cache. If read-only + properties are included, they must match the existing values of those properties. + :type cache: ~azure.mgmt.storagecache.models.Cache + :keyword callable cls: A custom type or function that will be passed the direct response + :return: Cache, or the result of cls(response) + :rtype: ~azure.mgmt.storagecache.models.Cache + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.Cache"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-11-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.update.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,80}$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + if cache is not None: + body_content = self._serialize.body(cache, 'Cache') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('Cache', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}'} # type: ignore + + def _flush_initial( + self, + resource_group_name, # type: str + cache_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> object + cls = kwargs.pop('cls', None) # type: ClsType[object] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-11-01" + accept = "application/json" + + # Construct URL + url = self._flush_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,80}$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('object', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('object', pipeline_response) + + if response.status_code == 204: + deserialized = self._deserialize('object', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _flush_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/flush'} # type: ignore + + def begin_flush( + self, + resource_group_name, # type: str + cache_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[object] + """Tells a Cache to write all dirty data to the Storage Target(s). During the flush, clients will + see errors returned until the flush is complete. + + :param resource_group_name: Target resource group. + :type resource_group_name: str + :param cache_name: Name of Cache. + :type cache_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either object or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[object] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[object] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._flush_initial( + resource_group_name=resource_group_name, + cache_name=cache_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('object', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,80}$'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_flush.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/flush'} # type: ignore + + def _start_initial( + self, + resource_group_name, # type: str + cache_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> object + cls = kwargs.pop('cls', None) # type: ClsType[object] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-11-01" + accept = "application/json" + + # Construct URL + url = self._start_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,80}$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('object', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('object', pipeline_response) + + if response.status_code == 204: + deserialized = self._deserialize('object', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _start_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/start'} # type: ignore + + def begin_start( + self, + resource_group_name, # type: str + cache_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[object] + """Tells a Stopped state Cache to transition to Active state. + + :param resource_group_name: Target resource group. + :type resource_group_name: str + :param cache_name: Name of Cache. + :type cache_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either object or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[object] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[object] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._start_initial( + resource_group_name=resource_group_name, + cache_name=cache_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('object', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,80}$'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_start.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/start'} # type: ignore + + def _stop_initial( + self, + resource_group_name, # type: str + cache_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> object + cls = kwargs.pop('cls', None) # type: ClsType[object] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-11-01" + accept = "application/json" + + # Construct URL + url = self._stop_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,80}$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('object', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('object', pipeline_response) + + if response.status_code == 204: + deserialized = self._deserialize('object', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _stop_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/stop'} # type: ignore + + def begin_stop( + self, + resource_group_name, # type: str + cache_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[object] + """Tells an Active Cache to transition to Stopped state. + + :param resource_group_name: Target resource group. + :type resource_group_name: str + :param cache_name: Name of Cache. + :type cache_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either object or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[object] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[object] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._stop_initial( + resource_group_name=resource_group_name, + cache_name=cache_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('object', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,80}$'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/stop'} # type: ignore + + def _upgrade_firmware_initial( + self, + resource_group_name, # type: str + cache_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> object + cls = kwargs.pop('cls', None) # type: ClsType[object] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-11-01" + accept = "application/json" + + # Construct URL + url = self._upgrade_firmware_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,80}$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if response.status_code == 201: + deserialized = self._deserialize('object', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('object', pipeline_response) + + if response.status_code == 204: + deserialized = self._deserialize('object', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _upgrade_firmware_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/upgrade'} # type: ignore + + def begin_upgrade_firmware( + self, + resource_group_name, # type: str + cache_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[object] + """Upgrade a Cache's firmware if a new version is available. Otherwise, this operation has no + effect. + + :param resource_group_name: Target resource group. + :type resource_group_name: str + :param cache_name: Name of Cache. + :type cache_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either object or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[object] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[object] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._upgrade_firmware_initial( + resource_group_name=resource_group_name, + cache_name=cache_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('object', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,80}$'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_upgrade_firmware.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/upgrade'} # type: ignore diff --git a/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/operations/_operations.py b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/operations/_operations.py index f0b3c8fb527..d4ae1b4d0ee 100644 --- a/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/operations/_operations.py +++ b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/operations/_operations.py @@ -1,102 +1,109 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# 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. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :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: Client API version. Constant value: "2019-11-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-11-01" - - self.config = config - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Lists all of the available Resource Provider 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 ApiOperation - :rtype: - ~azure.mgmt.storagecache.models.ApiOperationPaged[~azure.mgmt.storagecache.models.ApiOperation] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - 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['Accept'] = 'application/json' - 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, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, 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 - header_dict = None - if raw: - header_dict = {} - deserialized = models.ApiOperationPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/providers/Microsoft.StorageCache/operations'} +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models as _models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class Operations(object): + """Operations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.storagecache.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.ApiOperationListResult"] + """Lists all of the available Resource Provider operations. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ApiOperationListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.storagecache.models.ApiOperationListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ApiOperationListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-11-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('ApiOperationListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.StorageCache/operations'} # type: ignore diff --git a/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/operations/_skus_operations.py b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/operations/_skus_operations.py index a4e8d173161..8382b67b14d 100644 --- a/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/operations/_skus_operations.py +++ b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/operations/_skus_operations.py @@ -1,106 +1,113 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# 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. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :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: Client API version. Constant value: "2019-11-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-11-01" - - self.config = config - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Get the list of StorageCache.Cache SKUs available to this 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 ResourceSku - :rtype: - ~azure.mgmt.storagecache.models.ResourceSkuPaged[~azure.mgmt.storagecache.models.ResourceSku] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - 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['Accept'] = 'application/json' - 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, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, 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 - header_dict = None - if raw: - header_dict = {} - deserialized = models.ResourceSkuPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.StorageCache/skus'} +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models as _models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class SkusOperations(object): + """SkusOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.storagecache.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.ResourceSkusResult"] + """Get the list of StorageCache.Cache SKUs available to this subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ResourceSkusResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.storagecache.models.ResourceSkusResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourceSkusResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-11-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + 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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('ResourceSkusResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.StorageCache/skus'} # type: ignore diff --git a/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/operations/_storage_targets_operations.py b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/operations/_storage_targets_operations.py index 9b20bbc0d46..42125486f18 100644 --- a/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/operations/_storage_targets_operations.py +++ b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/operations/_storage_targets_operations.py @@ -1,394 +1,461 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# 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 StorageTargetsOperations(object): - """StorageTargetsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :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: Client API version. Constant value: "2019-11-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-11-01" - - self.config = config - - def list_by_cache( - self, resource_group_name, cache_name, custom_headers=None, raw=False, **operation_config): - """Returns a list of Storage Targets for the specified Cache. - - :param resource_group_name: Target resource group. - :type resource_group_name: str - :param cache_name: Name of Cache. - :type cache_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 StorageTarget - :rtype: - ~azure.mgmt.storagecache.models.StorageTargetPaged[~azure.mgmt.storagecache.models.StorageTarget] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - if not next_link: - # Construct URL - url = self.list_by_cache.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,31}$') - } - 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['Accept'] = 'application/json' - 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, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, 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 - header_dict = None - if raw: - header_dict = {} - deserialized = models.StorageTargetPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_cache.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/storageTargets'} - - - def _delete_initial( - self, resource_group_name, cache_name, storage_target_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'), - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,31}$'), - 'storageTargetName': self._serialize.url("storage_target_name", storage_target_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,31}$') - } - 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['Accept'] = 'application/json' - 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, header_parameters) - response = self._client.send(request, 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 - - deserialized = None - - if response.status_code == 200: - deserialized = self._deserialize('object', response) - if response.status_code == 202: - deserialized = self._deserialize('object', response) - if response.status_code == 204: - deserialized = self._deserialize('object', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def delete( - self, resource_group_name, cache_name, storage_target_name, custom_headers=None, raw=False, polling=True, **operation_config): - """Removes a Storage Target from a Cache. This operation is allowed at any - time, but if the Cache is down or unhealthy, the actual removal of the - Storage Target may be delayed until the Cache is healthy again. Note - that if the Cache has data to flush to the Storage Target, the data - will be flushed before the Storage Target will be deleted. - - :param resource_group_name: Target resource group. - :type resource_group_name: str - :param cache_name: Name of Cache. - :type cache_name: str - :param storage_target_name: Name of Storage Target. - :type storage_target_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 object or - ClientRawResponse if raw==True - :rtype: ~msrestazure.azure_operation.AzureOperationPoller[object] or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[object]] - :raises: :class:`CloudError` - """ - raw_result = self._delete_initial( - resource_group_name=resource_group_name, - cache_name=cache_name, - storage_target_name=storage_target_name, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('object', 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) - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/storageTargets/{storageTargetName}'} - - def get( - self, resource_group_name, cache_name, storage_target_name, custom_headers=None, raw=False, **operation_config): - """Returns a Storage Target from a Cache. - - :param resource_group_name: Target resource group. - :type resource_group_name: str - :param cache_name: Name of Cache. - :type cache_name: str - :param storage_target_name: Name of the Storage Target. - :type storage_target_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: StorageTarget or ClientRawResponse if raw=true - :rtype: ~azure.mgmt.storagecache.models.StorageTarget 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'), - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,31}$'), - 'storageTargetName': self._serialize.url("storage_target_name", storage_target_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,31}$') - } - 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['Accept'] = 'application/json' - 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, header_parameters) - response = self._client.send(request, 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('StorageTarget', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/storageTargets/{storageTargetName}'} - - - def _create_or_update_initial( - self, resource_group_name, cache_name, storage_target_name, storagetarget=None, custom_headers=None, raw=False, **operation_config): - # Construct URL - url = self.create_or_update.metadata['url'] - path_format_arguments = { - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,31}$'), - 'storageTargetName': self._serialize.url("storage_target_name", storage_target_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,31}$') - } - 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['Accept'] = 'application/json' - 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 - if storagetarget is not None: - body_content = self._serialize.body(storagetarget, 'StorageTarget') - else: - body_content = None - - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) - - if response.status_code not in [200, 201]: - 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('StorageTarget', response) - if response.status_code == 201: - deserialized = self._deserialize('StorageTarget', response) - - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response - - return deserialized - - def create_or_update( - self, resource_group_name, cache_name, storage_target_name, storagetarget=None, custom_headers=None, raw=False, polling=True, **operation_config): - """Create or update a Storage Target. This operation is allowed at any - time, but if the Cache is down or unhealthy, the actual - creation/modification of the Storage Target may be delayed until the - Cache is healthy again. - - :param resource_group_name: Target resource group. - :type resource_group_name: str - :param cache_name: Name of Cache. - :type cache_name: str - :param storage_target_name: Name of the Storage Target. - :type storage_target_name: str - :param storagetarget: Object containing the definition of a Storage - Target. - :type storagetarget: ~azure.mgmt.storagecache.models.StorageTarget - :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 StorageTarget or - ClientRawResponse if raw==True - :rtype: - ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.storagecache.models.StorageTarget] - or - ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.storagecache.models.StorageTarget]] - :raises: :class:`CloudError` - """ - raw_result = self._create_or_update_initial( - resource_group_name=resource_group_name, - cache_name=cache_name, - storage_target_name=storage_target_name, - storagetarget=storagetarget, - custom_headers=custom_headers, - raw=True, - **operation_config - ) - - def get_long_running_output(response): - deserialized = self._deserialize('StorageTarget', 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_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/storageTargets/{storageTargetName}'} +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling + +from .. import models as _models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class StorageTargetsOperations(object): + """StorageTargetsOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.storagecache.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_by_cache( + self, + resource_group_name, # type: str + cache_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.StorageTargetsResult"] + """Returns a list of Storage Targets for the specified Cache. + + :param resource_group_name: Target resource group. + :type resource_group_name: str + :param cache_name: Name of Cache. + :type cache_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either StorageTargetsResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.storagecache.models.StorageTargetsResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.StorageTargetsResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-11-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_cache.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,80}$'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('StorageTargetsResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_cache.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/storageTargets'} # type: ignore + + def _delete_initial( + self, + resource_group_name, # type: str + cache_name, # type: str + storage_target_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> object + cls = kwargs.pop('cls', None) # type: ClsType[object] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-11-01" + accept = "application/json" + + # Construct URL + url = self._delete_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,80}$'), + 'storageTargetName': self._serialize.url("storage_target_name", storage_target_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,31}$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('object', pipeline_response) + + if response.status_code == 202: + deserialized = self._deserialize('object', pipeline_response) + + if response.status_code == 204: + deserialized = self._deserialize('object', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/storageTargets/{storageTargetName}'} # type: ignore + + def begin_delete( + self, + resource_group_name, # type: str + cache_name, # type: str + storage_target_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[object] + """Removes a Storage Target from a Cache. This operation is allowed at any time, but if the Cache + is down or unhealthy, the actual removal of the Storage Target may be delayed until the Cache + is healthy again. Note that if the Cache has data to flush to the Storage Target, the data will + be flushed before the Storage Target will be deleted. + + :param resource_group_name: Target resource group. + :type resource_group_name: str + :param cache_name: Name of Cache. + :type cache_name: str + :param storage_target_name: Name of Storage Target. + :type storage_target_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either object or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[object] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[object] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + cache_name=cache_name, + storage_target_name=storage_target_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('object', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,80}$'), + 'storageTargetName': self._serialize.url("storage_target_name", storage_target_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,31}$'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/storageTargets/{storageTargetName}'} # type: ignore + + def get( + self, + resource_group_name, # type: str + cache_name, # type: str + storage_target_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.StorageTarget" + """Returns a Storage Target from a Cache. + + :param resource_group_name: Target resource group. + :type resource_group_name: str + :param cache_name: Name of Cache. + :type cache_name: str + :param storage_target_name: Name of the Storage Target. + :type storage_target_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: StorageTarget, or the result of cls(response) + :rtype: ~azure.mgmt.storagecache.models.StorageTarget + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.StorageTarget"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-11-01" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,80}$'), + 'storageTargetName': self._serialize.url("storage_target_name", storage_target_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,31}$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + deserialized = self._deserialize('StorageTarget', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/storageTargets/{storageTargetName}'} # type: ignore + + def _create_or_update_initial( + self, + resource_group_name, # type: str + cache_name, # type: str + storage_target_name, # type: str + storagetarget=None, # type: Optional["_models.StorageTarget"] + **kwargs # type: Any + ): + # type: (...) -> "_models.StorageTarget" + cls = kwargs.pop('cls', None) # type: ClsType["_models.StorageTarget"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-11-01" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_or_update_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,80}$'), + 'storageTargetName': self._serialize.url("storage_target_name", storage_target_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,31}$'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + if storagetarget is not None: + body_content = self._serialize.body(storagetarget, 'StorageTarget') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('StorageTarget', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('StorageTarget', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/storageTargets/{storageTargetName}'} # type: ignore + + def begin_create_or_update( + self, + resource_group_name, # type: str + cache_name, # type: str + storage_target_name, # type: str + storagetarget=None, # type: Optional["_models.StorageTarget"] + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.StorageTarget"] + """Create or update a Storage Target. This operation is allowed at any time, but if the Cache is + down or unhealthy, the actual creation/modification of the Storage Target may be delayed until + the Cache is healthy again. + + :param resource_group_name: Target resource group. + :type resource_group_name: str + :param cache_name: Name of Cache. + :type cache_name: str + :param storage_target_name: Name of the Storage Target. + :type storage_target_name: str + :param storagetarget: Object containing the definition of a Storage Target. + :type storagetarget: ~azure.mgmt.storagecache.models.StorageTarget + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either StorageTarget or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure.mgmt.storagecache.models.StorageTarget] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.StorageTarget"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + cache_name=cache_name, + storage_target_name=storage_target_name, + storagetarget=storagetarget, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('StorageTarget', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'cacheName': self._serialize.url("cache_name", cache_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,80}$'), + 'storageTargetName': self._serialize.url("storage_target_name", storage_target_name, 'str', pattern=r'^[-0-9a-zA-Z_]{1,31}$'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/storageTargets/{storageTargetName}'} # type: ignore diff --git a/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/operations/_usage_models_operations.py b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/operations/_usage_models_operations.py index be1f3756023..4be9d3adbdd 100644 --- a/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/operations/_usage_models_operations.py +++ b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/operations/_usage_models_operations.py @@ -1,106 +1,113 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# 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 UsageModelsOperations(object): - """UsageModelsOperations operations. - - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. - - :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: Client API version. Constant value: "2019-11-01". - """ - - models = models - - def __init__(self, client, config, serializer, deserializer): - - self._client = client - self._serialize = serializer - self._deserialize = deserializer - self.api_version = "2019-11-01" - - self.config = config - - def list( - self, custom_headers=None, raw=False, **operation_config): - """Get the list of Cache Usage Models available to this 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 UsageModel - :rtype: - ~azure.mgmt.storagecache.models.UsageModelPaged[~azure.mgmt.storagecache.models.UsageModel] - :raises: :class:`CloudError` - """ - def prepare_request(next_link=None): - 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['Accept'] = 'application/json' - 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, header_parameters) - return request - - def internal_paging(next_link=None): - request = prepare_request(next_link) - - response = self._client.send(request, 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 - header_dict = None - if raw: - header_dict = {} - deserialized = models.UsageModelPaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.StorageCache/usageModels'} +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models as _models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class UsageModelsOperations(object): + """UsageModelsOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.mgmt.storagecache.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.UsageModelsResult"] + """Get the list of Cache Usage Models available to this subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either UsageModelsResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.mgmt.storagecache.models.UsageModelsResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.UsageModelsResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2019-11-01" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + 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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('UsageModelsResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.StorageCache/usageModels'} # type: ignore diff --git a/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/py.typed b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/py.typed new file mode 100644 index 00000000000..e5aff4f83af --- /dev/null +++ b/src/hpc-cache/azext_hpc_cache/vendored_sdks/storagecache/py.typed @@ -0,0 +1 @@ +# Marker file for PEP 561. \ No newline at end of file diff --git a/src/hpc-cache/setup.py b/src/hpc-cache/setup.py index 481d7570252..29fbf79957c 100644 --- a/src/hpc-cache/setup.py +++ b/src/hpc-cache/setup.py @@ -16,7 +16,7 @@ # TODO: Confirm this is the right version number you want and it matches your # HISTORY.rst entry. -VERSION = '0.1.4' +VERSION = '0.1.5' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers From 5d160a8089a52d7e3ce204ee259d2dc6d97273ff Mon Sep 17 00:00:00 2001 From: Jiaxiao Zhou Date: Wed, 19 May 2021 18:22:45 -0700 Subject: [PATCH 20/83] Onboarding azure machine learning CLI (#3341) --- src/index.json | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/src/index.json b/src/index.json index f3818e8cdce..9a494cbf542 100644 --- a/src/index.json +++ b/src/index.json @@ -12599,6 +12599,58 @@ "sha256Digest": "29f07fa6db12c70f9b93a3914d61ea108a5f410f40bc92389c1a87ea9312c766" } ], + "ml": [ + { + "downloadUrl": "https://azuremlsdktestpypi.blob.core.windows.net/wheels/sdk-cli-v2-public/ml-2.0.0a1-py3-none-any.whl", + "filename": "ml-2.0.0a1-py3-none-any.whl", + "metadata": { + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.15.0", + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/machinelearningservices" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "ml", + "run_requires": [ + { + "requires": [ + "azure-identity", + "azure-storage-blob (<=12.5.0,>12.0.0b4)", + "azure-storage-file-share (==12.3.0)", + "cryptography (<=3.3.2)", + "docker (>=4.0.0,~=5.0.0)", + "isodate", + "marshmallow (<4.0.0,>=3.5)", + "pathspec (==0.8.*)", + "pydash (<=4.9.0)", + "pyjwt (<2.0.0)", + "tqdm" + ] + } + ], + "summary": "Microsoft Azure Command-Line Tools AzureMachineLearningWorkspaces Extension", + "version": "2.0.0a1" + }, + "sha256Digest": "da1a040a0755f2b6898ac6ed9f90241a38b776031e74d070431cd2ba63a13ea3" + } + ], "monitor-control-service": [ { "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/monitor_control_service-0.1.0-py3-none-any.whl", From f19ddbead01323e7cc4c69ab2ab0d906aec8d9eb Mon Sep 17 00:00:00 2001 From: Xing Zhou Date: Thu, 20 May 2021 16:27:17 +0800 Subject: [PATCH 21/83] Add compatible logic for track 2 migration of resource module (#3355) --- src/aks-preview/HISTORY.md | 5 ++ src/aks-preview/azext_aks_preview/custom.py | 49 +++++++++---------- src/aks-preview/setup.py | 2 +- src/connectedk8s/HISTORY.rst | 4 ++ src/connectedk8s/azext_connectedk8s/custom.py | 6 ++- src/connectedk8s/setup.py | 2 +- src/db-up/HISTORY.rst | 4 ++ src/db-up/azext_db_up/custom.py | 2 +- src/db-up/setup.py | 2 +- src/k8s-extension/HISTORY.rst | 5 ++ .../azext_k8s_extension/custom.py | 3 +- .../partner_extensions/ContainerInsights.py | 49 +++++++++---------- src/k8s-extension/setup.py | 2 +- src/mesh/HISTORY.rst | 6 +++ src/mesh/azext_mesh/custom.py | 22 ++++++--- src/mesh/setup.py | 2 +- src/service_name.json | 5 ++ 17 files changed, 101 insertions(+), 69 deletions(-) diff --git a/src/aks-preview/HISTORY.md b/src/aks-preview/HISTORY.md index 5cd5de8f051..b0a530afb65 100644 --- a/src/aks-preview/HISTORY.md +++ b/src/aks-preview/HISTORY.md @@ -2,6 +2,11 @@ Release History =============== + +0.5.13 ++++++ +* Add compatible logic for the track 2 migration of resource dependence + 0.5.12 +++++ * Add --enable-azure-rbac and --disable-azure-rbac in aks update diff --git a/src/aks-preview/azext_aks_preview/custom.py b/src/aks-preview/azext_aks_preview/custom.py index 0d13f548e0a..f8965f8f10e 100644 --- a/src/aks-preview/azext_aks_preview/custom.py +++ b/src/aks-preview/azext_aks_preview/custom.py @@ -317,20 +317,16 @@ def _invoke_deployment(cmd, resource_group_name, deployment_name, template, para logger.info(json.dumps(template, indent=2)) logger.info('==== END TEMPLATE ====') - if cmd.supported_api_version(min_api='2019-10-01', resource_type=ResourceType.MGMT_RESOURCE_RESOURCES): - Deployment = cmd.get_models( - 'Deployment', resource_type=ResourceType.MGMT_RESOURCE_RESOURCES) - deployment = Deployment(properties=properties) - - if validate: - validation_poller = smc.validate( - resource_group_name, deployment_name, deployment) + Deployment = cmd.get_models('Deployment', resource_type=ResourceType.MGMT_RESOURCE_RESOURCES) + deployment = Deployment(properties=properties) + if validate: + if cmd.supported_api_version(min_api='2019-10-01', resource_type=ResourceType.MGMT_RESOURCE_RESOURCES): + validation_poller = smc.begin_validate(resource_group_name, deployment_name, deployment) return LongRunningOperation(cmd.cli_ctx)(validation_poller) - return sdk_no_wait(no_wait, smc.create_or_update, resource_group_name, deployment_name, deployment) + else: + return smc.validate(resource_group_name, deployment_name, deployment) - if validate: - return smc.validate(resource_group_name, deployment_name, properties) - return sdk_no_wait(no_wait, smc.create_or_update, resource_group_name, deployment_name, properties) + return sdk_no_wait(no_wait, smc.begin_create_or_update, resource_group_name, deployment_name, deployment) def create_application(client, display_name, homepage, identifier_uris, @@ -2598,29 +2594,27 @@ def _ensure_default_log_analytics_workspace_for_monitoring(cmd, subscription_id, resource_groups = cf_resource_groups(cmd.cli_ctx, subscription_id) resources = cf_resources(cmd.cli_ctx, subscription_id) + from azure.cli.core.profiles import ResourceType # check if default RG exists if resource_groups.check_existence(default_workspace_resource_group): + from azure.core.exceptions import HttpResponseError try: resource = resources.get_by_id( default_workspace_resource_id, '2015-11-01-preview') return resource.id - except CloudError as ex: + except HttpResponseError as ex: if ex.status_code != 404: raise ex else: - resource_groups.create_or_update(default_workspace_resource_group, { - 'location': workspace_region}) - - default_workspace_params = { - 'location': workspace_region, - 'properties': { - 'sku': { - 'name': 'standalone' - } - } - } - async_poller = resources.create_or_update_by_id(default_workspace_resource_id, '2015-11-01-preview', - default_workspace_params) + ResourceGroup = cmd.get_models('ResourceGroup', resource_type=ResourceType.MGMT_RESOURCE_RESOURCES) + resource_group = ResourceGroup(location=workspace_region) + resource_groups.create_or_update(default_workspace_resource_group, resource_group) + + GenericResource = cmd.get_models('GenericResource', resource_type=ResourceType.MGMT_RESOURCE_RESOURCES) + generic_resource = GenericResource(location=workspace_region, properties={'sku': {'name': 'standalone'}}) + + async_poller = resources.begin_create_or_update_by_id(default_workspace_resource_id, '2015-11-01-preview', + generic_resource) ws_resource_id = '' while True: @@ -2669,11 +2663,12 @@ def _ensure_container_insights_for_monitoring(cmd, addon): # region of workspace can be different from region of RG so find the location of the workspace_resource_id resources = cf_resources(cmd.cli_ctx, subscription_id) + from azure.core.exceptions import HttpResponseError try: resource = resources.get_by_id( workspace_resource_id, '2015-11-01-preview') location = resource.location - except CloudError as ex: + except HttpResponseError as ex: raise ex unix_time_in_millis = int( diff --git a/src/aks-preview/setup.py b/src/aks-preview/setup.py index 6ac84f718d6..45e9442e7cc 100644 --- a/src/aks-preview/setup.py +++ b/src/aks-preview/setup.py @@ -8,7 +8,7 @@ from codecs import open as open1 from setuptools import setup, find_packages -VERSION = "0.5.12" +VERSION = "0.5.13" CLASSIFIERS = [ 'Development Status :: 4 - Beta', 'Intended Audience :: Developers', diff --git a/src/connectedk8s/HISTORY.rst b/src/connectedk8s/HISTORY.rst index 64929b2ec41..22bfc6a4882 100644 --- a/src/connectedk8s/HISTORY.rst +++ b/src/connectedk8s/HISTORY.rst @@ -3,6 +3,10 @@ Release History =============== +1.1.4 +++++++ +* Add compatible logic for the track 2 migration of resource dependence + 1.1.3 ++++++ * Fix for list_node() sdk function for AKS v1.19.x clusters diff --git a/src/connectedk8s/azext_connectedk8s/custom.py b/src/connectedk8s/azext_connectedk8s/custom.py index c5d5192a5d4..079430647ef 100644 --- a/src/connectedk8s/azext_connectedk8s/custom.py +++ b/src/connectedk8s/azext_connectedk8s/custom.py @@ -201,9 +201,11 @@ def create_connectedk8s(cmd, client, resource_group_name, cluster_name, https_pr # Resource group Creation if resource_group_exists(cmd.cli_ctx, resource_group_name, subscription_id) is False: - resource_group_params = {'location': location} + from azure.cli.core.profiles import ResourceType + ResourceGroup = cmd.get_models('ResourceGroup', resource_type=ResourceType.MGMT_RESOURCE_RESOURCES) + parameters = ResourceGroup(location=location) try: - resourceClient.resource_groups.create_or_update(resource_group_name, resource_group_params) + resourceClient.resource_groups.create_or_update(resource_group_name, parameters) except Exception as e: # pylint: disable=broad-except utils.arm_exception_handler(e, consts.Create_ResourceGroup_Fault_Type, 'Failed to create the resource group') diff --git a/src/connectedk8s/setup.py b/src/connectedk8s/setup.py index 20deb5fc240..53a133b0677 100644 --- a/src/connectedk8s/setup.py +++ b/src/connectedk8s/setup.py @@ -17,7 +17,7 @@ # TODO: Confirm this is the right version number you want and it matches your # HISTORY.rst entry. -VERSION = '1.1.3' +VERSION = '1.1.4' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers diff --git a/src/db-up/HISTORY.rst b/src/db-up/HISTORY.rst index e28550086f1..1eed22b70f6 100644 --- a/src/db-up/HISTORY.rst +++ b/src/db-up/HISTORY.rst @@ -3,6 +3,10 @@ Release History =============== +0.2.3 (2021-05-10) +++++++++++++++++++ +* Add compatible logic for the track 2 migration of resource dependence + 0.2.2 (2021-03-22) ++++++++++++++++++ * Configure for custom cloud settings diff --git a/src/db-up/azext_db_up/custom.py b/src/db-up/azext_db_up/custom.py index fac6cbaa43b..55fc5ccc24c 100644 --- a/src/db-up/azext_db_up/custom.py +++ b/src/db-up/azext_db_up/custom.py @@ -224,7 +224,7 @@ def server_down(cmd, client, resource_group_name=None, server_name=None, delete_ # delete resource group logger.warning('Deleting Resource Group \'%s\'...', resource_group_name) - return resource_client.resource_groups.delete(resource_group_name) + return resource_client.resource_groups.begin_delete(resource_group_name) logger.warning('Deleting server \'%s\'...', server_name) return client.delete(resource_group_name, server_name) diff --git a/src/db-up/setup.py b/src/db-up/setup.py index 6259c346703..ebe80740a49 100644 --- a/src/db-up/setup.py +++ b/src/db-up/setup.py @@ -8,7 +8,7 @@ from codecs import open from setuptools import setup, find_packages -VERSION = "0.2.2" +VERSION = "0.2.3" CLASSIFIERS = [ 'Development Status :: 4 - Beta', diff --git a/src/k8s-extension/HISTORY.rst b/src/k8s-extension/HISTORY.rst index 75f127f4afd..d0e19128855 100644 --- a/src/k8s-extension/HISTORY.rst +++ b/src/k8s-extension/HISTORY.rst @@ -3,6 +3,11 @@ Release History =============== +0.4.1 +++++++++++++++++++ + +* Add compatible logic for the track 2 migration of resource dependence + 0.4.0 ++++++++++++++++++ diff --git a/src/k8s-extension/azext_k8s_extension/custom.py b/src/k8s-extension/azext_k8s_extension/custom.py index f4f2e1cafdd..f2fae3f54d4 100644 --- a/src/k8s-extension/azext_k8s_extension/custom.py +++ b/src/k8s-extension/azext_k8s_extension/custom.py @@ -223,10 +223,11 @@ def __create_identity(cmd, resource_group_name, cluster_name, cluster_type, clus "Error! Cluster type '{}' is not supported for extension identity".format(cluster_type) ) + from azure.core.exceptions import HttpResponseError try: resource = resources.get_by_id(cluster_resource_id, parent_api_version) location = str(resource.location.lower()) - except CloudError as ex: + except HttpResponseError as ex: raise ex identity_type = "SystemAssigned" diff --git a/src/k8s-extension/azext_k8s_extension/partner_extensions/ContainerInsights.py b/src/k8s-extension/azext_k8s_extension/partner_extensions/ContainerInsights.py index 00e82257e2d..3514122e391 100644 --- a/src/k8s-extension/azext_k8s_extension/partner_extensions/ContainerInsights.py +++ b/src/k8s-extension/azext_k8s_extension/partner_extensions/ContainerInsights.py @@ -98,18 +98,16 @@ def _invoke_deployment(cmd, resource_group_name, deployment_name, template, para logger.info(json.dumps(template, indent=2)) logger.info('==== END TEMPLATE ====') - if cmd.supported_api_version(min_api='2019-10-01', resource_type=ResourceType.MGMT_RESOURCE_RESOURCES): - deployment_temp = cmd.get_models('Deployment', resource_type=ResourceType.MGMT_RESOURCE_RESOURCES) - deployment = deployment_temp(properties=properties) - - if validate: - validation_poller = smc.validate(resource_group_name, deployment_name, deployment) + deployment_temp = cmd.get_models('Deployment', resource_type=ResourceType.MGMT_RESOURCE_RESOURCES) + deployment = deployment_temp(properties=properties) + if validate: + if cmd.supported_api_version(min_api='2019-10-01', resource_type=ResourceType.MGMT_RESOURCE_RESOURCES): + validation_poller = smc.begin_validate(resource_group_name, deployment_name, deployment) return LongRunningOperation(cmd.cli_ctx)(validation_poller) - return sdk_no_wait(no_wait, smc.create_or_update, resource_group_name, deployment_name, deployment) + else: + return smc.validate(resource_group_name, deployment_name, deployment) - if validate: - return smc.validate(resource_group_name, deployment_name, properties) - return sdk_no_wait(no_wait, smc.create_or_update, resource_group_name, deployment_name, properties) + return sdk_no_wait(no_wait, smc.begin_create_or_update, resource_group_name, deployment_name, deployment) def _ensure_default_log_analytics_workspace_for_monitoring(cmd, subscription_id, @@ -201,6 +199,9 @@ def _ensure_default_log_analytics_workspace_for_monitoring(cmd, subscription_id, "usgovvirginia": "usgovvirginia" } + from azure.core.exceptions import HttpResponseError + from azure.cli.core.profiles import ResourceType + cluster_location = '' resources = cf_resources(cmd.cli_ctx, subscription_id) @@ -209,7 +210,7 @@ def _ensure_default_log_analytics_workspace_for_monitoring(cmd, subscription_id, try: resource = resources.get_by_id(cluster_resource_id, '2020-01-01-preview') cluster_location = resource.location.lower() - except CloudError as ex: + except HttpResponseError as ex: raise ex cloud_name = cmd.cli_ctx.cloud.name.lower() @@ -261,23 +262,18 @@ def _ensure_default_log_analytics_workspace_for_monitoring(cmd, subscription_id, try: resource = resources.get_by_id(default_workspace_resource_id, '2015-11-01-preview') return resource.id - except CloudError as ex: + except HttpResponseError as ex: if ex.status_code != 404: raise ex else: - resource_groups.create_or_update(default_workspace_resource_group, { - 'location': workspace_region}) - - default_workspace_params = { - 'location': workspace_region, - 'properties': { - 'sku': { - 'name': 'standalone' - } - } - } - async_poller = resources.create_or_update_by_id(default_workspace_resource_id, '2015-11-01-preview', - default_workspace_params) + ResourceGroup = cmd.get_models('ResourceGroup', resource_type=ResourceType.MGMT_RESOURCE_RESOURCES) + resource_group = ResourceGroup(location=workspace_region) + resource_groups.create_or_update(default_workspace_resource_group, resource_group) + + GenericResource = cmd.get_models('GenericResource', resource_type=ResourceType.MGMT_RESOURCE_RESOURCES) + generic_resource = GenericResource(location=workspace_region, properties={'sku': {'name': 'standalone'}}) + async_poller = resources.begin_create_or_update_by_id(default_workspace_resource_id, '2015-11-01-preview', + generic_resource) ws_resource_id = '' while True: @@ -294,11 +290,12 @@ def _ensure_container_insights_for_monitoring(cmd, workspace_resource_id): parsed = parse_resource_id(workspace_resource_id) subscription_id, resource_group = parsed["subscription"], parsed["resource_group"] + from azure.core.exceptions import HttpResponseError resources = cf_resources(cmd.cli_ctx, subscription_id) try: resource = resources.get_by_id(workspace_resource_id, '2015-11-01-preview') location = resource.location - except CloudError as ex: + except HttpResponseError as ex: raise ex unix_time_in_millis = int( diff --git a/src/k8s-extension/setup.py b/src/k8s-extension/setup.py index 64819fc940a..4cc69f2cbef 100644 --- a/src/k8s-extension/setup.py +++ b/src/k8s-extension/setup.py @@ -32,7 +32,7 @@ # TODO: Add any additional SDK dependencies here DEPENDENCIES = [] -VERSION = "0.4.0" +VERSION = "0.4.1" with open('README.rst', 'r', encoding='utf-8') as f: README = f.read() diff --git a/src/mesh/HISTORY.rst b/src/mesh/HISTORY.rst index a5e43276f83..1c29d39fba6 100644 --- a/src/mesh/HISTORY.rst +++ b/src/mesh/HISTORY.rst @@ -2,6 +2,12 @@ Release History =============== + +0.10.7 (2021-5-10) +++++++++++++++++++ + +* Add compatible logic for the track 2 migration of resource dependence + 0.10.6 (2019-6-24) ++++++++++++++++++ diff --git a/src/mesh/azext_mesh/custom.py b/src/mesh/azext_mesh/custom.py index f20395c8551..03e02dcf28f 100644 --- a/src/mesh/azext_mesh/custom.py +++ b/src/mesh/azext_mesh/custom.py @@ -240,12 +240,14 @@ def _generate_arm_template_core(input_yaml_files=None, parameters=None): logger.warning("Generated ARM template file at %s.", output_file_path) -def _deploy_arm_template_core(cli_ctx, resource_group_name, # pylint: disable=too-many-arguments +def _deploy_arm_template_core(cmd, resource_group_name, # pylint: disable=too-many-arguments template_file=None, template_uri=None, input_yaml_files=None, deployment_name=None, parameters=None, mode=None, validate_only=False, no_wait=False): - DeploymentProperties, TemplateLink = get_sdk(cli_ctx, ResourceType.MGMT_RESOURCE_RESOURCES, - 'DeploymentProperties', 'TemplateLink', mod='models') + DeploymentProperties, TemplateLink, Deployment = get_sdk(cmd.cli_ctx, ResourceType.MGMT_RESOURCE_RESOURCES, + 'DeploymentProperties', 'TemplateLink', 'Deployment', + mod='models') + template = None template_link = None template_obj = None @@ -275,21 +277,27 @@ def _deploy_arm_template_core(cli_ctx, resource_group_name, # pylint: disable=t parameters=parameters, mode=mode) # workaround properties.mode = 'incremental' - smc = get_mgmt_service_client(cli_ctx, ResourceType.MGMT_RESOURCE_RESOURCES) + smc = get_mgmt_service_client(cmd.cli_ctx, ResourceType.MGMT_RESOURCE_RESOURCES).deployments + deployment = Deployment(properties=properties) logger.warning("Deploying . . .") logger.warning("You can get the state of the deployment with the cmd") logger.warning("az group deployment show --name %s --resource-group %s", deployment_name, resource_group_name) if validate_only: - return sdk_no_wait(no_wait, smc.deployments.validate, resource_group_name, deployment_name, properties) + if cmd.supported_api_version(min_api='2019-10-01', resource_type=ResourceType.MGMT_RESOURCE_RESOURCES): + from azure.cli.core.commands import LongRunningOperation + validation_poller = smc.begin_validate(resource_group_name, deployment_name, deployment) + return LongRunningOperation(cmd.cli_ctx)(validation_poller) + else: + return sdk_no_wait(no_wait, smc.validate, resource_group_name, deployment_name, deployment) - return sdk_no_wait(no_wait, smc.deployments.create_or_update, resource_group_name, deployment_name, properties) + return sdk_no_wait(no_wait, smc.begin_create_or_update, resource_group_name, deployment_name, deployment) def deploy_arm_template(cmd, resource_group_name, template_file=None, template_uri=None, input_yaml_files=None, deployment_name=None, parameters=None, mode=None, no_wait=False): - return _deploy_arm_template_core(cmd.cli_ctx, resource_group_name, template_file, template_uri, + return _deploy_arm_template_core(cmd, resource_group_name, template_file, template_uri, input_yaml_files, deployment_name, parameters, mode, no_wait=no_wait) diff --git a/src/mesh/setup.py b/src/mesh/setup.py index cc0927088d8..99d0d8baeea 100644 --- a/src/mesh/setup.py +++ b/src/mesh/setup.py @@ -8,7 +8,7 @@ from codecs import open from setuptools import setup, find_packages -VERSION = "0.10.6" +VERSION = "0.10.7" CLASSIFIERS = [ diff --git a/src/service_name.json b/src/service_name.json index 45b19581527..9b715bf16d3 100644 --- a/src/service_name.json +++ b/src/service_name.json @@ -334,6 +334,11 @@ "AzureServiceName": "Azure Spring Cloud", "URL": "https://docs.microsoft.com/azure/spring-cloud/" }, + { + "Command": "az sql", + "AzureServiceName": "Azure SQL", + "URL": "https://docs.microsoft.com/en-us/azure/azure-sql/" + }, { "Command": "az ssh", "AzureServiceName": "Azure Virtual Machines", From 56505e340b3f84c2ab5b082de729c99d8b142061 Mon Sep 17 00:00:00 2001 From: Henry Beberman Date: Thu, 20 May 2021 16:02:29 -0700 Subject: [PATCH 22/83] [AKS] Add ossku parameter for cluster and nodepool creation (#3375) * [AKS] Add ossku parameter for cluster and nodepool creation * Rename arg to os-sku, add completer, update help * Fix static analysis error * Rerun ossku tests with edge build of az-cli --- src/aks-preview/HISTORY.md | 4 + .../azext_aks_preview/_completers.py | 7 + src/aks-preview/azext_aks_preview/_help.py | 10 + src/aks-preview/azext_aks_preview/_params.py | 4 +- src/aks-preview/azext_aks_preview/custom.py | 4 + .../test_aks_create_with_ossku.yaml | 1402 +++++++++++++++ .../test_aks_nodepool_add_with_ossku.yaml | 1586 +++++++++++++++++ .../tests/latest/test_aks_commands.py | 55 + src/aks-preview/setup.py | 2 +- 9 files changed, 3072 insertions(+), 2 deletions(-) create mode 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_ossku.yaml create mode 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_nodepool_add_with_ossku.yaml diff --git a/src/aks-preview/HISTORY.md b/src/aks-preview/HISTORY.md index b0a530afb65..876af37b71c 100644 --- a/src/aks-preview/HISTORY.md +++ b/src/aks-preview/HISTORY.md @@ -3,6 +3,10 @@ Release History =============== +0.5.14 ++++++ +* Add os-sku argument for cluster and nodepool creation + 0.5.13 +++++ * Add compatible logic for the track 2 migration of resource dependence diff --git a/src/aks-preview/azext_aks_preview/_completers.py b/src/aks-preview/azext_aks_preview/_completers.py index 19b000d7f38..8b3f47dfbd2 100644 --- a/src/aks-preview/azext_aks_preview/_completers.py +++ b/src/aks-preview/azext_aks_preview/_completers.py @@ -57,6 +57,13 @@ def get_vm_sizes(cli_ctx, location): return cf_compute_service(cli_ctx).virtual_machine_sizes.list(location) +@Completer +def get_ossku_completion_list(cmd, prefix, namespace, **kwargs): # pylint: disable=unused-argument + """Return the list of allowed os-sku values""" + + return ["Ubuntu", "CBLMariner"] + + def _get_location(cli_ctx, namespace): """ Return an Azure location by using an explicit `--location` argument, then by `--resource-group`, and diff --git a/src/aks-preview/azext_aks_preview/_help.py b/src/aks-preview/azext_aks_preview/_help.py index 3c62bd1763e..59d3b45db58 100644 --- a/src/aks-preview/azext_aks_preview/_help.py +++ b/src/aks-preview/azext_aks_preview/_help.py @@ -214,6 +214,9 @@ - name: --ppg type: string short-summary: The ID of a PPG. + - name: --os-sku + type: string + short-summary: The os-sku of the agent node pool. Ubuntu or CBLMariner. - name: --enable-fips-image type: bool short-summary: Use FIPS-enabled OS on agent nodes. @@ -373,6 +376,8 @@ text: az aks create -g MyResourceGroup -n MyManagedCluster --assign-identity --assign-kubelet-identity - name: Create a kubernetes cluster with Azure RBAC enabled. text: az aks create -g MyResourceGroup -n MyManagedCluster --enable-aad --enable-azure-rbac + - name: Create a kubernetes cluster with a specific os-sku + text: az aks create -g MyResourceGroup -n MyManagedCluster --os-sku Ubuntu """.format(sp_cache=AKS_SERVICE_PRINCIPAL_CACHE) @@ -859,6 +864,9 @@ - name: --os-type type: string short-summary: The OS Type. Linux or Windows. + - name: --os-sku + type: string + short-summary: The os-sku of the agent node pool. Ubuntu or CBLMariner. - name: --enable-fips-image type: bool short-summary: Use FIPS-enabled OS on agent nodes. @@ -915,6 +923,8 @@ text: az aks nodepool add -g MyResourceGroup -n nodepool1 --cluster-name MyManagedCluster --node-osdisk-type Ephemeral --node-osdisk-size 48 - name: Create a nodepool with EncryptionAtHost enabled. text: az aks nodepool add -g MyResourceGroup -n nodepool1 --cluster-name MyManagedCluster --enable-encryption-at-host + - name: Create a nodepool cluster with a specific os-sku + text: az aks nodepool add -g MyResourceGroup -n nodepool1 --cluster-name MyManagedCluster --os-sku Ubuntu """ helps['aks nodepool scale'] = """ diff --git a/src/aks-preview/azext_aks_preview/_params.py b/src/aks-preview/azext_aks_preview/_params.py index 10ec02b3aca..5c7a618f291 100644 --- a/src/aks-preview/azext_aks_preview/_params.py +++ b/src/aks-preview/azext_aks_preview/_params.py @@ -14,7 +14,7 @@ from knack.arguments import CLIArgumentType from ._completers import ( - get_vm_size_completion_list, get_k8s_versions_completion_list, get_k8s_upgrades_completion_list) + get_vm_size_completion_list, get_k8s_versions_completion_list, get_k8s_upgrades_completion_list, get_ossku_completion_list) from ._validators import ( validate_cluster_autoscaler_profile, validate_create_parameters, validate_k8s_version, validate_linux_host_name, validate_ssh_key, validate_nodes_count, validate_ip_ranges, @@ -60,6 +60,7 @@ def load_arguments(self, _): help='Node pool name, upto 12 alphanumeric characters', validator=validate_nodepool_name) c.argument('nodepool_tags', nargs='*', validator=validate_nodepool_tags, help='space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags.') c.argument('nodepool_labels', nargs='*', validator=validate_nodepool_labels, help='space-separated labels: key[=value] [key[=value] ...]. You can not change the node labels through CLI after creation. See https://aka.ms/node-labels for syntax of labels.') + c.argument('os_sku', type=str, options_list=['--os-sku'], completer=get_ossku_completion_list) c.argument('ssh_key_value', required=False, type=file_type, default=os.path.join('~', '.ssh', 'id_rsa.pub'), completer=FilesCompleter(), validator=validate_ssh_key) c.argument('aad_client_app_id') @@ -206,6 +207,7 @@ def load_arguments(self, _): c.argument('node_vm_size', options_list=['--node-vm-size', '-s'], completer=get_vm_size_completion_list) c.argument('max_pods', type=int, options_list=['--max-pods', '-m']) c.argument('os_type', type=str) + c.argument('os_sku', type=str, options_list=['--os-sku'], completer=get_ossku_completion_list) c.argument('enable_fips_image', action='store_true', is_preview=True) c.argument('enable_cluster_autoscaler', options_list=["--enable-cluster-autoscaler", "-e"], action='store_true') c.argument('node_taints', type=str, validator=validate_taints) diff --git a/src/aks-preview/azext_aks_preview/custom.py b/src/aks-preview/azext_aks_preview/custom.py index f8965f8f10e..5b48084279e 100644 --- a/src/aks-preview/azext_aks_preview/custom.py +++ b/src/aks-preview/azext_aks_preview/custom.py @@ -968,6 +968,7 @@ def aks_create(cmd, # pylint: disable=too-many-locals,too-many-statements,to enable_vmss=None, vm_set_type=None, skip_subnet_role_assignment=False, + os_sku=None, enable_fips_image=False, enable_cluster_autoscaler=False, cluster_autoscaler_profile=None, @@ -1080,6 +1081,7 @@ def aks_create(cmd, # pylint: disable=too-many-locals,too-many-statements,to count=int(node_count), vm_size=node_vm_size, os_type="Linux", + os_sku=os_sku, mode="System", vnet_subnet_id=vnet_subnet_id, pod_subnet_id=pod_subnet_id, @@ -2974,6 +2976,7 @@ def aks_agentpool_add(cmd, # pylint: disable=unused-argument,too-many-local ppg=None, max_pods=0, os_type="Linux", + os_sku=None, enable_fips_image=False, min_count=None, max_count=None, @@ -3024,6 +3027,7 @@ def aks_agentpool_add(cmd, # pylint: disable=unused-argument,too-many-local count=int(node_count), vm_size=node_vm_size, os_type=os_type, + os_sku=os_sku, enable_fips=enable_fips_image, storage_profile=ContainerServiceStorageProfileTypes.managed_disks, vnet_subnet_id=vnet_subnet_id, diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_ossku.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_ossku.yaml new file mode 100644 index 00000000000..b483501cb05 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_ossku.yaml @@ -0,0 +1,1402 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --generate-ssh-keys --vm-set-type -c --os-sku + User-Agent: + - AZURECLI/2.23.0.post20210514155800 azsdk-python-azure-mgmt-resource/16.1.0 + Python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2020-10-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"product":"azurecli","cause":"automation","date":"2021-05-17T18:38:31Z","Owner":"Unknown","Project":"Unknown","Purpose":"Unknown"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '370' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 17 May 2021 18:38:33 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: '{"location": "eastus", "properties": {"kubernetesVersion": "", "dnsPrefix": + "cliakstest-clitestoghocc46n-f9cb37", "agentPoolProfiles": [{"count": 1, "vmSize": + "Standard_DS2_v2", "osType": "Linux", "osSKU": "CBLMariner", "type": "VirtualMachineScaleSets", + "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", + "scaleSetEvictionPolicy": "Delete", "enableEncryptionAtHost": false, "enableFIPS": + false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", + "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDDkU5XGubFiwo6cNnRx2DvMj6YX1J5dGvBB/xyn/kV0imz5yRMqSXZ8UONf8Z+NhnBdceeuHbFGBnWCAUfGG94MalrtXQBmFBfoeB3Ky5+d2FXc9LZOSQCMqkNVeuSwifUJFPl+lt6QzjPRAhG2odlTHqDj3yTKNYMCNu9MuQW/xuRAiSTWERnwX6RtFdsnhycf5OzBHLzEGHxCZDTFTfBy3CU3z5+5rxnGrUJi/xsMbPvMmi1tDg7roJbS+9L6cbQFhPYbknP8Fl3gbtN9J8ju4YMCGWbKTwpipmTbIp9uCkeFJ1MISBnljseYYvELH4H7PHgQh3bGU3hv0ciX6kYHGqqONlWyj6+VQ1v1uRh+vxvIN/Bab4wd6qVuTNoB8bhtMzccHaG4lm7F5xEeW+/yVin7aAOI6f7FoRwGfqkvZeXoxCq4qaCYsNwtrPbwxGxv5Bi6ygffD6n72JEzSGe8pW4XGdsVGG0qs6bN6DFYUv0e13mwpWhTJ1zSOtWe8CgQyoqLtF0mnnMyw9lb0/XL3fswwbpg6hQNlTfMVx+hC1onQScllcPt7jHmNGkIJAtWnCS75JJ7Vea2BFAaIc2kxvm6juM4kUpMKGPCM8yn148EqmCbuVUhADpNvRLy83K+BPtntWgqtMBFkI8F5aFRc7xfLqLWgg5i5KtPOO8JQ=="}]}}, + "addonProfiles": {}, "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": + {"networkPlugin": "kubenet", "podCidr": "10.244.0.0/16", "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", "dockerBridgeCidr": "172.17.0.1/16", "outboundType": + "loadBalancer", "loadBalancerSku": "standard"}, "disableLocalAccounts": false}, + "identity": {"type": "SystemAssigned"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '1641' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --resource-group --name --generate-ssh-keys --vm-set-type -c --os-sku + User-Agent: + - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 + msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0.post20210514155800 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n + \ \"location\": \"eastus\",\n \"name\": \"cliakstest000002\",\n \"tags\": + {\n \"Owner\": \"Unknown\",\n \"Project\": \"Unknown\",\n \"Purpose\": + \"Unknown\"\n },\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n + \ \"properties\": {\n \"provisioningState\": \"Creating\",\n \"powerState\": + {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": \"1.19.9\",\n + \ \"dnsPrefix\": \"cliakstest-clitestoghocc46n-f9cb37\",\n \"fqdn\": \"cliakstest-clitestoghocc46n-f9cb37-38dfe712.hcp.eastus.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestoghocc46n-f9cb37-38dfe712.portal.hcp.eastus.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": + \"Linux\",\n \"osSKU\": \"CBLMariner\",\n \"nodeImageVersion\": \"AKSCBLMariner-V1-2021.04.27\",\n + \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": + \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDDkU5XGubFiwo6cNnRx2DvMj6YX1J5dGvBB/xyn/kV0imz5yRMqSXZ8UONf8Z+NhnBdceeuHbFGBnWCAUfGG94MalrtXQBmFBfoeB3Ky5+d2FXc9LZOSQCMqkNVeuSwifUJFPl+lt6QzjPRAhG2odlTHqDj3yTKNYMCNu9MuQW/xuRAiSTWERnwX6RtFdsnhycf5OzBHLzEGHxCZDTFTfBy3CU3z5+5rxnGrUJi/xsMbPvMmi1tDg7roJbS+9L6cbQFhPYbknP8Fl3gbtN9J8ju4YMCGWbKTwpipmTbIp9uCkeFJ1MISBnljseYYvELH4H7PHgQh3bGU3hv0ciX6kYHGqqONlWyj6+VQ1v1uRh+vxvIN/Bab4wd6qVuTNoB8bhtMzccHaG4lm7F5xEeW+/yVin7aAOI6f7FoRwGfqkvZeXoxCq4qaCYsNwtrPbwxGxv5Bi6ygffD6n72JEzSGe8pW4XGdsVGG0qs6bN6DFYUv0e13mwpWhTJ1zSOtWe8CgQyoqLtF0mnnMyw9lb0/XL3fswwbpg6hQNlTfMVx+hC1onQScllcPt7jHmNGkIJAtWnCS75JJ7Vea2BFAaIc2kxvm6juM4kUpMKGPCM8yn148EqmCbuVUhADpNvRLy83K+BPtntWgqtMBFkI8F5aFRc7xfLqLWgg5i5KtPOO8JQ==\"\n + \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n + \ },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_eastus\",\n + \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": + {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"standard\",\n + \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": + 1\n }\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": + \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": + 100,\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n \"type\": + \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": + {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4cce4346-b33f-44db-88b1-d65baedf51a8?api-version=2017-08-31 + cache-control: + - no-cache + content-length: + - '3081' + content-type: + - application/json + date: + - Mon, 17 May 2021 18:38:40 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --generate-ssh-keys --vm-set-type -c --os-sku + User-Agent: + - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 + msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0.post20210514155800 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4cce4346-b33f-44db-88b1-d65baedf51a8?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"4643ce4c-3fb3-db44-88b1-d65baedf51a8\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:39.5633333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 May 2021 18:39:10 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-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: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --generate-ssh-keys --vm-set-type -c --os-sku + User-Agent: + - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 + msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0.post20210514155800 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4cce4346-b33f-44db-88b1-d65baedf51a8?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"4643ce4c-3fb3-db44-88b1-d65baedf51a8\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:39.5633333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 May 2021 18:39:41 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-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: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --generate-ssh-keys --vm-set-type -c --os-sku + User-Agent: + - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 + msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0.post20210514155800 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4cce4346-b33f-44db-88b1-d65baedf51a8?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"4643ce4c-3fb3-db44-88b1-d65baedf51a8\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:39.5633333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 May 2021 18:40:11 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-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: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --generate-ssh-keys --vm-set-type -c --os-sku + User-Agent: + - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 + msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0.post20210514155800 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4cce4346-b33f-44db-88b1-d65baedf51a8?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"4643ce4c-3fb3-db44-88b1-d65baedf51a8\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:39.5633333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 May 2021 18:40:42 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-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: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --generate-ssh-keys --vm-set-type -c --os-sku + User-Agent: + - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 + msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0.post20210514155800 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4cce4346-b33f-44db-88b1-d65baedf51a8?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"4643ce4c-3fb3-db44-88b1-d65baedf51a8\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:39.5633333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 May 2021 18:41:13 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-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: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --generate-ssh-keys --vm-set-type -c --os-sku + User-Agent: + - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 + msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0.post20210514155800 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4cce4346-b33f-44db-88b1-d65baedf51a8?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"4643ce4c-3fb3-db44-88b1-d65baedf51a8\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:39.5633333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 May 2021 18:41:42 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-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: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --generate-ssh-keys --vm-set-type -c --os-sku + User-Agent: + - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 + msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0.post20210514155800 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4cce4346-b33f-44db-88b1-d65baedf51a8?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"4643ce4c-3fb3-db44-88b1-d65baedf51a8\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:39.5633333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 May 2021 18:42:13 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-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: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --generate-ssh-keys --vm-set-type -c --os-sku + User-Agent: + - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 + msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0.post20210514155800 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4cce4346-b33f-44db-88b1-d65baedf51a8?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"4643ce4c-3fb3-db44-88b1-d65baedf51a8\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:39.5633333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 May 2021 18:42:43 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-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: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --generate-ssh-keys --vm-set-type -c --os-sku + User-Agent: + - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 + msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0.post20210514155800 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4cce4346-b33f-44db-88b1-d65baedf51a8?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"4643ce4c-3fb3-db44-88b1-d65baedf51a8\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:39.5633333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 May 2021 18:43:14 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-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: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --generate-ssh-keys --vm-set-type -c --os-sku + User-Agent: + - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 + msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0.post20210514155800 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4cce4346-b33f-44db-88b1-d65baedf51a8?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"4643ce4c-3fb3-db44-88b1-d65baedf51a8\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:39.5633333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 May 2021 18:43:44 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-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: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --generate-ssh-keys --vm-set-type -c --os-sku + User-Agent: + - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 + msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0.post20210514155800 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4cce4346-b33f-44db-88b1-d65baedf51a8?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"4643ce4c-3fb3-db44-88b1-d65baedf51a8\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:39.5633333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 May 2021 18:44:15 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-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: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --generate-ssh-keys --vm-set-type -c --os-sku + User-Agent: + - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 + msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0.post20210514155800 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4cce4346-b33f-44db-88b1-d65baedf51a8?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"4643ce4c-3fb3-db44-88b1-d65baedf51a8\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:39.5633333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 May 2021 18:44:45 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-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: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --generate-ssh-keys --vm-set-type -c --os-sku + User-Agent: + - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 + msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0.post20210514155800 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4cce4346-b33f-44db-88b1-d65baedf51a8?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"4643ce4c-3fb3-db44-88b1-d65baedf51a8\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:39.5633333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 May 2021 18:45:16 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-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: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --generate-ssh-keys --vm-set-type -c --os-sku + User-Agent: + - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 + msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0.post20210514155800 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4cce4346-b33f-44db-88b1-d65baedf51a8?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"4643ce4c-3fb3-db44-88b1-d65baedf51a8\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:39.5633333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 May 2021 18:45:46 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-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: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --generate-ssh-keys --vm-set-type -c --os-sku + User-Agent: + - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 + msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0.post20210514155800 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4cce4346-b33f-44db-88b1-d65baedf51a8?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"4643ce4c-3fb3-db44-88b1-d65baedf51a8\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:39.5633333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 May 2021 18:46:17 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-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: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --generate-ssh-keys --vm-set-type -c --os-sku + User-Agent: + - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 + msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0.post20210514155800 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4cce4346-b33f-44db-88b1-d65baedf51a8?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"4643ce4c-3fb3-db44-88b1-d65baedf51a8\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:39.5633333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 May 2021 18:46:47 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-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: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --generate-ssh-keys --vm-set-type -c --os-sku + User-Agent: + - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 + msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0.post20210514155800 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4cce4346-b33f-44db-88b1-d65baedf51a8?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"4643ce4c-3fb3-db44-88b1-d65baedf51a8\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:39.5633333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 May 2021 18:47:18 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-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: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --generate-ssh-keys --vm-set-type -c --os-sku + User-Agent: + - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 + msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0.post20210514155800 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4cce4346-b33f-44db-88b1-d65baedf51a8?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"4643ce4c-3fb3-db44-88b1-d65baedf51a8\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:39.5633333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 May 2021 18:47:48 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-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: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --generate-ssh-keys --vm-set-type -c --os-sku + User-Agent: + - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 + msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0.post20210514155800 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4cce4346-b33f-44db-88b1-d65baedf51a8?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"4643ce4c-3fb3-db44-88b1-d65baedf51a8\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:39.5633333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 May 2021 18:48:18 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-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: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --generate-ssh-keys --vm-set-type -c --os-sku + User-Agent: + - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 + msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0.post20210514155800 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4cce4346-b33f-44db-88b1-d65baedf51a8?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"4643ce4c-3fb3-db44-88b1-d65baedf51a8\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:39.5633333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 May 2021 18:48:49 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-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: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --generate-ssh-keys --vm-set-type -c --os-sku + User-Agent: + - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 + msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0.post20210514155800 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4cce4346-b33f-44db-88b1-d65baedf51a8?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"4643ce4c-3fb3-db44-88b1-d65baedf51a8\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:39.5633333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 May 2021 18:49:19 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-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: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --generate-ssh-keys --vm-set-type -c --os-sku + User-Agent: + - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 + msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0.post20210514155800 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4cce4346-b33f-44db-88b1-d65baedf51a8?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"4643ce4c-3fb3-db44-88b1-d65baedf51a8\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:39.5633333Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 May 2021 18:49:49 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-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: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --generate-ssh-keys --vm-set-type -c --os-sku + User-Agent: + - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 + msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0.post20210514155800 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/4cce4346-b33f-44db-88b1-d65baedf51a8?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"4643ce4c-3fb3-db44-88b1-d65baedf51a8\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-05-17T18:38:39.5633333Z\",\n \"endTime\": + \"2021-05-17T18:49:50.7807046Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' + content-type: + - application/json + date: + - Mon, 17 May 2021 18:50:20 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-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: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --generate-ssh-keys --vm-set-type -c --os-sku + User-Agent: + - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 + msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0.post20210514155800 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n + \ \"location\": \"eastus\",\n \"name\": \"cliakstest000002\",\n \"tags\": + {\n \"Owner\": \"Unknown\",\n \"Project\": \"Unknown\",\n \"Purpose\": + \"Unknown\"\n },\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n + \ \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": + {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": \"1.19.9\",\n + \ \"dnsPrefix\": \"cliakstest-clitestoghocc46n-f9cb37\",\n \"fqdn\": \"cliakstest-clitestoghocc46n-f9cb37-38dfe712.hcp.eastus.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestoghocc46n-f9cb37-38dfe712.portal.hcp.eastus.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": + \"Linux\",\n \"osSKU\": \"CBLMariner\",\n \"nodeImageVersion\": \"AKSCBLMariner-V1-2021.04.27\",\n + \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": + \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDDkU5XGubFiwo6cNnRx2DvMj6YX1J5dGvBB/xyn/kV0imz5yRMqSXZ8UONf8Z+NhnBdceeuHbFGBnWCAUfGG94MalrtXQBmFBfoeB3Ky5+d2FXc9LZOSQCMqkNVeuSwifUJFPl+lt6QzjPRAhG2odlTHqDj3yTKNYMCNu9MuQW/xuRAiSTWERnwX6RtFdsnhycf5OzBHLzEGHxCZDTFTfBy3CU3z5+5rxnGrUJi/xsMbPvMmi1tDg7roJbS+9L6cbQFhPYbknP8Fl3gbtN9J8ju4YMCGWbKTwpipmTbIp9uCkeFJ1MISBnljseYYvELH4H7PHgQh3bGU3hv0ciX6kYHGqqONlWyj6+VQ1v1uRh+vxvIN/Bab4wd6qVuTNoB8bhtMzccHaG4lm7F5xEeW+/yVin7aAOI6f7FoRwGfqkvZeXoxCq4qaCYsNwtrPbwxGxv5Bi6ygffD6n72JEzSGe8pW4XGdsVGG0qs6bN6DFYUv0e13mwpWhTJ1zSOtWe8CgQyoqLtF0mnnMyw9lb0/XL3fswwbpg6hQNlTfMVx+hC1onQScllcPt7jHmNGkIJAtWnCS75JJ7Vea2BFAaIc2kxvm6juM4kUpMKGPCM8yn148EqmCbuVUhADpNvRLy83K+BPtntWgqtMBFkI8F5aFRc7xfLqLWgg5i5KtPOO8JQ==\"\n + \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n + \ },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_eastus\",\n + \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": + {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n + \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_eastus/providers/Microsoft.Network/publicIPAddresses/234b4873-4870-4bec-b6eb-a1598eca27f4\"\n + \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": + \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": + 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_eastus/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": + {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" + headers: + cache-control: + - no-cache + content-length: + - '3742' + content-type: + - application/json + date: + - Mon, 17 May 2021 18:50:21 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-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: + - aks delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -n --yes --no-wait + User-Agent: + - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 + msrest_azure/0.6.4 azure-mgmt-containerservice/11.2.0 Azure-SDK-For-Python + AZURECLI/2.23.0.post20210514155800 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/9bf75ce4-eda4-40a9-9c74-61a6ab9f0eef?api-version=2017-08-31 + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 17 May 2021 18:50:22 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationresults/9bf75ce4-eda4-40a9-9c74-61a6ab9f0eef?api-version=2017-08-31 + pragma: + - no-cache + server: + - nginx + 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/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_nodepool_add_with_ossku.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_nodepool_add_with_ossku.yaml new file mode 100644 index 00000000000..99916904cb8 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_nodepool_add_with_ossku.yaml @@ -0,0 +1,1586 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-name -c + User-Agent: + - AZURECLI/2.23.0.post20210514155800 azsdk-python-azure-mgmt-resource/16.1.0 + Python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2020-10-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"product":"azurecli","cause":"automation","date":"2021-05-17T18:38:32Z","Owner":"Unknown","Project":"Unknown","Purpose":"Unknown"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '370' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 17 May 2021 18:38:34 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: '{"location": "eastus", "properties": {"kubernetesVersion": "", "dnsPrefix": + "cliakstest-clitestl766ngki7-f9cb37", "agentPoolProfiles": [{"count": 1, "vmSize": + "Standard_DS2_v2", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": + "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": + "Delete", "enableEncryptionAtHost": false, "enableFIPS": false, "name": "c000003"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDDkU5XGubFiwo6cNnRx2DvMj6YX1J5dGvBB/xyn/kV0imz5yRMqSXZ8UONf8Z+NhnBdceeuHbFGBnWCAUfGG94MalrtXQBmFBfoeB3Ky5+d2FXc9LZOSQCMqkNVeuSwifUJFPl+lt6QzjPRAhG2odlTHqDj3yTKNYMCNu9MuQW/xuRAiSTWERnwX6RtFdsnhycf5OzBHLzEGHxCZDTFTfBy3CU3z5+5rxnGrUJi/xsMbPvMmi1tDg7roJbS+9L6cbQFhPYbknP8Fl3gbtN9J8ju4YMCGWbKTwpipmTbIp9uCkeFJ1MISBnljseYYvELH4H7PHgQh3bGU3hv0ciX6kYHGqqONlWyj6+VQ1v1uRh+vxvIN/Bab4wd6qVuTNoB8bhtMzccHaG4lm7F5xEeW+/yVin7aAOI6f7FoRwGfqkvZeXoxCq4qaCYsNwtrPbwxGxv5Bi6ygffD6n72JEzSGe8pW4XGdsVGG0qs6bN6DFYUv0e13mwpWhTJ1zSOtWe8CgQyoqLtF0mnnMyw9lb0/XL3fswwbpg6hQNlTfMVx+hC1onQScllcPt7jHmNGkIJAtWnCS75JJ7Vea2BFAaIc2kxvm6juM4kUpMKGPCM8yn148EqmCbuVUhADpNvRLy83K+BPtntWgqtMBFkI8F5aFRc7xfLqLWgg5i5KtPOO8JQ=="}]}}, + "addonProfiles": {}, "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": + {"networkPlugin": "kubenet", "podCidr": "10.244.0.0/16", "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", "dockerBridgeCidr": "172.17.0.1/16", "outboundType": + "loadBalancer", "loadBalancerSku": "standard"}, "disableLocalAccounts": false}, + "identity": {"type": "SystemAssigned"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '1615' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --resource-group --name --nodepool-name -c + User-Agent: + - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 + msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0.post20210514155800 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n + \ \"location\": \"eastus\",\n \"name\": \"cliakstest000002\",\n \"tags\": + {\n \"Owner\": \"Unknown\",\n \"Project\": \"Unknown\",\n \"Purpose\": + \"Unknown\"\n },\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n + \ \"properties\": {\n \"provisioningState\": \"Creating\",\n \"powerState\": + {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": \"1.19.9\",\n + \ \"dnsPrefix\": \"cliakstest-clitestl766ngki7-f9cb37\",\n \"fqdn\": \"cliakstest-clitestl766ngki7-f9cb37-769cc0bf.hcp.eastus.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestl766ngki7-f9cb37-769cc0bf.portal.hcp.eastus.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"c000003\",\n \"count\": + 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n + \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": + \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDDkU5XGubFiwo6cNnRx2DvMj6YX1J5dGvBB/xyn/kV0imz5yRMqSXZ8UONf8Z+NhnBdceeuHbFGBnWCAUfGG94MalrtXQBmFBfoeB3Ky5+d2FXc9LZOSQCMqkNVeuSwifUJFPl+lt6QzjPRAhG2odlTHqDj3yTKNYMCNu9MuQW/xuRAiSTWERnwX6RtFdsnhycf5OzBHLzEGHxCZDTFTfBy3CU3z5+5rxnGrUJi/xsMbPvMmi1tDg7roJbS+9L6cbQFhPYbknP8Fl3gbtN9J8ju4YMCGWbKTwpipmTbIp9uCkeFJ1MISBnljseYYvELH4H7PHgQh3bGU3hv0ciX6kYHGqqONlWyj6+VQ1v1uRh+vxvIN/Bab4wd6qVuTNoB8bhtMzccHaG4lm7F5xEeW+/yVin7aAOI6f7FoRwGfqkvZeXoxCq4qaCYsNwtrPbwxGxv5Bi6ygffD6n72JEzSGe8pW4XGdsVGG0qs6bN6DFYUv0e13mwpWhTJ1zSOtWe8CgQyoqLtF0mnnMyw9lb0/XL3fswwbpg6hQNlTfMVx+hC1onQScllcPt7jHmNGkIJAtWnCS75JJ7Vea2BFAaIc2kxvm6juM4kUpMKGPCM8yn148EqmCbuVUhADpNvRLy83K+BPtntWgqtMBFkI8F5aFRc7xfLqLWgg5i5KtPOO8JQ==\"\n + \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n + \ },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_eastus\",\n + \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": + {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"standard\",\n + \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": + 1\n }\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": + \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": + 100,\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n \"type\": + \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": + {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/67371f83-dcbc-4625-a4b6-738010d17099?api-version=2017-08-31 + cache-control: + - no-cache + content-length: + - '3086' + content-type: + - application/json + date: + - Mon, 17 May 2021 18:38:40 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-name -c + User-Agent: + - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 + msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0.post20210514155800 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/67371f83-dcbc-4625-a4b6-738010d17099?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"831f3767-bcdc-2546-a4b6-738010d17099\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:40.0766666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 May 2021 18:39:11 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-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: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-name -c + User-Agent: + - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 + msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0.post20210514155800 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/67371f83-dcbc-4625-a4b6-738010d17099?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"831f3767-bcdc-2546-a4b6-738010d17099\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:40.0766666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 May 2021 18:39:42 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-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: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-name -c + User-Agent: + - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 + msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0.post20210514155800 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/67371f83-dcbc-4625-a4b6-738010d17099?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"831f3767-bcdc-2546-a4b6-738010d17099\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:40.0766666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 May 2021 18:40:12 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-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: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-name -c + User-Agent: + - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 + msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0.post20210514155800 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/67371f83-dcbc-4625-a4b6-738010d17099?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"831f3767-bcdc-2546-a4b6-738010d17099\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:40.0766666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 May 2021 18:40:43 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-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: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-name -c + User-Agent: + - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 + msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0.post20210514155800 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/67371f83-dcbc-4625-a4b6-738010d17099?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"831f3767-bcdc-2546-a4b6-738010d17099\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:40.0766666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 May 2021 18:41:12 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-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: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-name -c + User-Agent: + - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 + msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0.post20210514155800 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/67371f83-dcbc-4625-a4b6-738010d17099?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"831f3767-bcdc-2546-a4b6-738010d17099\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-17T18:38:40.0766666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 May 2021 18:41:43 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-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: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-name -c + User-Agent: + - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 + msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0.post20210514155800 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/67371f83-dcbc-4625-a4b6-738010d17099?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"831f3767-bcdc-2546-a4b6-738010d17099\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-05-17T18:38:40.0766666Z\",\n \"endTime\": + \"2021-05-17T18:41:44.2710248Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' + content-type: + - application/json + date: + - Mon, 17 May 2021 18:42:14 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-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: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --nodepool-name -c + User-Agent: + - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 + msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0.post20210514155800 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n + \ \"location\": \"eastus\",\n \"name\": \"cliakstest000002\",\n \"tags\": + {\n \"Owner\": \"Unknown\",\n \"Project\": \"Unknown\",\n \"Purpose\": + \"Unknown\"\n },\n \"type\": \"Microsoft.ContainerService/ManagedClusters\",\n + \ \"properties\": {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": + {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": \"1.19.9\",\n + \ \"dnsPrefix\": \"cliakstest-clitestl766ngki7-f9cb37\",\n \"fqdn\": \"cliakstest-clitestl766ngki7-f9cb37-769cc0bf.hcp.eastus.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitestl766ngki7-f9cb37-769cc0bf.portal.hcp.eastus.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"c000003\",\n \"count\": + 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"maxPods\": 110,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.19.9\",\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n + \ \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": + \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n + \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": + \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDDkU5XGubFiwo6cNnRx2DvMj6YX1J5dGvBB/xyn/kV0imz5yRMqSXZ8UONf8Z+NhnBdceeuHbFGBnWCAUfGG94MalrtXQBmFBfoeB3Ky5+d2FXc9LZOSQCMqkNVeuSwifUJFPl+lt6QzjPRAhG2odlTHqDj3yTKNYMCNu9MuQW/xuRAiSTWERnwX6RtFdsnhycf5OzBHLzEGHxCZDTFTfBy3CU3z5+5rxnGrUJi/xsMbPvMmi1tDg7roJbS+9L6cbQFhPYbknP8Fl3gbtN9J8ju4YMCGWbKTwpipmTbIp9uCkeFJ1MISBnljseYYvELH4H7PHgQh3bGU3hv0ciX6kYHGqqONlWyj6+VQ1v1uRh+vxvIN/Bab4wd6qVuTNoB8bhtMzccHaG4lm7F5xEeW+/yVin7aAOI6f7FoRwGfqkvZeXoxCq4qaCYsNwtrPbwxGxv5Bi6ygffD6n72JEzSGe8pW4XGdsVGG0qs6bN6DFYUv0e13mwpWhTJ1zSOtWe8CgQyoqLtF0mnnMyw9lb0/XL3fswwbpg6hQNlTfMVx+hC1onQScllcPt7jHmNGkIJAtWnCS75JJ7Vea2BFAaIc2kxvm6juM4kUpMKGPCM8yn148EqmCbuVUhADpNvRLy83K+BPtntWgqtMBFkI8F5aFRc7xfLqLWgg5i5KtPOO8JQ==\"\n + \ }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n + \ },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000002_eastus\",\n + \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": + {\n \"networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n + \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\": + 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_eastus/providers/Microsoft.Network/publicIPAddresses/8d1d3569-205e-4e93-ab12-881c83e1f645\"\n + \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": + \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"maxAgentPools\": + 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_eastus/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"disableLocalAccounts\": false\n },\n \"identity\": {\n + \ \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": + {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" + headers: + cache-control: + - no-cache + content-length: + - '3747' + content-type: + - application/json + date: + - Mon, 17 May 2021 18:42:14 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-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: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --os-sku + User-Agent: + - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 + msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0.post20210514155800 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools?api-version=2021-03-01 + response: + body: + string: "{\n \"value\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000003\",\n + \ \"name\": \"c000003\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\",\n + \ \"properties\": {\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n + \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": + \"OS\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.19.9\",\n \"enableNodePublicIP\": + false,\n \"nodeLabels\": {},\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2021.04.27\",\n \"enableFIPS\": false\n + \ }\n }\n ]\n }" + headers: + cache-control: + - no-cache + content-length: + - '921' + content-type: + - application/json + date: + - Mon, 17 May 2021 18:42:15 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-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": {"count": 3, "vmSize": "Standard_DS2_v2", "osType": "Linux", + "osSKU": "CBLMariner", "type": "VirtualMachineScaleSets", "mode": "User", "upgradeSettings": + {}, "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": + "Delete", "nodeTaints": [], "enableEncryptionAtHost": false, "enableFIPS": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + Content-Length: + - '341' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --resource-group --cluster-name --name --os-sku + User-Agent: + - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 + msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0.post20210514155800 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000004?api-version=2021-03-01 + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000004\",\n + \ \"name\": \"c000004\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\",\n + \ \"properties\": {\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n + \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": + \"OS\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.19.9\",\n \"enableNodePublicIP\": + false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"osType\": + \"Linux\",\n \"osSKU\": \"CBLMariner\",\n \"nodeImageVersion\": \"AKSCBLMariner-V1-2021.04.27\",\n + \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n }" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/b0f2778e-c724-40ed-8c34-c2b178ee8e52?api-version=2017-08-31 + cache-control: + - no-cache + content-length: + - '838' + content-type: + - application/json + date: + - Mon, 17 May 2021 18:42:18 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + 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: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --os-sku + User-Agent: + - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 + msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0.post20210514155800 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/b0f2778e-c724-40ed-8c34-c2b178ee8e52?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"8e77f2b0-24c7-ed40-8c34-c2b178ee8e52\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-17T18:42:18.6266666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 May 2021 18:42:48 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-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: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --os-sku + User-Agent: + - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 + msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0.post20210514155800 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/b0f2778e-c724-40ed-8c34-c2b178ee8e52?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"8e77f2b0-24c7-ed40-8c34-c2b178ee8e52\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-17T18:42:18.6266666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 May 2021 18:43:19 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-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: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --os-sku + User-Agent: + - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 + msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0.post20210514155800 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/b0f2778e-c724-40ed-8c34-c2b178ee8e52?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"8e77f2b0-24c7-ed40-8c34-c2b178ee8e52\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-17T18:42:18.6266666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 May 2021 18:43:49 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-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: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --os-sku + User-Agent: + - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 + msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0.post20210514155800 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/b0f2778e-c724-40ed-8c34-c2b178ee8e52?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"8e77f2b0-24c7-ed40-8c34-c2b178ee8e52\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-17T18:42:18.6266666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 May 2021 18:44:19 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-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: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --os-sku + User-Agent: + - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 + msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0.post20210514155800 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/b0f2778e-c724-40ed-8c34-c2b178ee8e52?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"8e77f2b0-24c7-ed40-8c34-c2b178ee8e52\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-17T18:42:18.6266666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 May 2021 18:44:50 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-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: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --os-sku + User-Agent: + - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 + msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0.post20210514155800 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/b0f2778e-c724-40ed-8c34-c2b178ee8e52?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"8e77f2b0-24c7-ed40-8c34-c2b178ee8e52\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-17T18:42:18.6266666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 May 2021 18:45:21 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-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: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --os-sku + User-Agent: + - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 + msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0.post20210514155800 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/b0f2778e-c724-40ed-8c34-c2b178ee8e52?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"8e77f2b0-24c7-ed40-8c34-c2b178ee8e52\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-17T18:42:18.6266666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 May 2021 18:45:51 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-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: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --os-sku + User-Agent: + - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 + msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0.post20210514155800 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/b0f2778e-c724-40ed-8c34-c2b178ee8e52?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"8e77f2b0-24c7-ed40-8c34-c2b178ee8e52\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-17T18:42:18.6266666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 May 2021 18:46:21 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-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: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --os-sku + User-Agent: + - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 + msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0.post20210514155800 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/b0f2778e-c724-40ed-8c34-c2b178ee8e52?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"8e77f2b0-24c7-ed40-8c34-c2b178ee8e52\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-17T18:42:18.6266666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 May 2021 18:46:52 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-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: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --os-sku + User-Agent: + - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 + msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0.post20210514155800 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/b0f2778e-c724-40ed-8c34-c2b178ee8e52?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"8e77f2b0-24c7-ed40-8c34-c2b178ee8e52\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-17T18:42:18.6266666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 May 2021 18:47:22 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-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: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --os-sku + User-Agent: + - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 + msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0.post20210514155800 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/b0f2778e-c724-40ed-8c34-c2b178ee8e52?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"8e77f2b0-24c7-ed40-8c34-c2b178ee8e52\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-17T18:42:18.6266666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 May 2021 18:47:53 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-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: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --os-sku + User-Agent: + - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 + msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0.post20210514155800 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/b0f2778e-c724-40ed-8c34-c2b178ee8e52?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"8e77f2b0-24c7-ed40-8c34-c2b178ee8e52\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-17T18:42:18.6266666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 May 2021 18:48:24 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-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: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --os-sku + User-Agent: + - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 + msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0.post20210514155800 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/b0f2778e-c724-40ed-8c34-c2b178ee8e52?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"8e77f2b0-24c7-ed40-8c34-c2b178ee8e52\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-17T18:42:18.6266666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 May 2021 18:48:54 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-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: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --os-sku + User-Agent: + - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 + msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0.post20210514155800 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/b0f2778e-c724-40ed-8c34-c2b178ee8e52?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"8e77f2b0-24c7-ed40-8c34-c2b178ee8e52\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-17T18:42:18.6266666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 May 2021 18:49:24 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-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: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --os-sku + User-Agent: + - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 + msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0.post20210514155800 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/b0f2778e-c724-40ed-8c34-c2b178ee8e52?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"8e77f2b0-24c7-ed40-8c34-c2b178ee8e52\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2021-05-17T18:42:18.6266666Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 May 2021 18:49:55 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-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: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --os-sku + User-Agent: + - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 + msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0.post20210514155800 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/b0f2778e-c724-40ed-8c34-c2b178ee8e52?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"8e77f2b0-24c7-ed40-8c34-c2b178ee8e52\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2021-05-17T18:42:18.6266666Z\",\n \"endTime\": + \"2021-05-17T18:50:00.2156907Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' + content-type: + - application/json + date: + - Mon, 17 May 2021 18:50:25 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-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: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --os-sku + User-Agent: + - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 + msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python + AZURECLI/2.23.0.post20210514155800 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000004?api-version=2021-03-01 + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000004\",\n + \ \"name\": \"c000004\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\",\n + \ \"properties\": {\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n + \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": + \"OS\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.19.9\",\n \"enableNodePublicIP\": + false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": false,\n \"osType\": + \"Linux\",\n \"osSKU\": \"CBLMariner\",\n \"nodeImageVersion\": \"AKSCBLMariner-V1-2021.04.27\",\n + \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n }" + headers: + cache-control: + - no-cache + content-length: + - '839' + content-type: + - application/json + date: + - Mon, 17 May 2021 18:50:26 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-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: + - aks delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -n --yes --no-wait + User-Agent: + - python/3.8.5 (Linux-5.4.0-72-generic-x86_64-with-glibc2.29) msrest/0.6.21 + msrest_azure/0.6.4 azure-mgmt-containerservice/11.2.0 Azure-SDK-For-Python + AZURECLI/2.23.0.post20210514155800 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/1b711057-4868-4de6-84de-5687637f003b?api-version=2017-08-31 + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 17 May 2021 18:50:28 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationresults/1b711057-4868-4de6-84de-5687637f003b?api-version=2017-08-31 + pragma: + - no-cache + server: + - nginx + 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/aks-preview/azext_aks_preview/tests/latest/test_aks_commands.py b/src/aks-preview/azext_aks_preview/tests/latest/test_aks_commands.py index a1eceef5f18..823d1b809d2 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/test_aks_commands.py +++ b/src/aks-preview/azext_aks_preview/tests/latest/test_aks_commands.py @@ -742,6 +742,61 @@ def test_aks_create_with_ephemeral_disk(self, resource_group, resource_group_loc self.check('agentPoolProfiles[0].osDiskType', 'Ephemeral'), ]) + @AllowLargeResponse() + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='eastus') + def test_aks_create_with_ossku(self, resource_group, resource_group_location): + aks_name = self.create_random_name('cliakstest', 16) + self.kwargs.update({ + 'resource_group': resource_group, + 'name': aks_name + }) + create_cmd = 'aks create --resource-group={resource_group} --name={name} ' \ + '--generate-ssh-keys ' \ + '--vm-set-type VirtualMachineScaleSets -c 1 ' \ + '--os-sku CBLMariner' + self.cmd(create_cmd, checks=[ + self.check('provisioningState', 'Succeeded'), + self.check('agentPoolProfiles[0].osSku', 'CBLMariner'), + ]) + # delete + self.cmd( + 'aks delete -g {resource_group} -n {name} --yes --no-wait', checks=[self.is_empty()]) + + @AllowLargeResponse() + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='eastus') + def test_aks_nodepool_add_with_ossku(self, resource_group, resource_group_location): + aks_name = self.create_random_name('cliakstest', 16) + node_pool_name = self.create_random_name('c', 6) + node_pool_name_second = self.create_random_name('c', 6) + self.kwargs.update({ + 'resource_group': resource_group, + 'name': aks_name, + 'node_pool_name': node_pool_name, + 'node_pool_name_second': node_pool_name_second + }) + + create_cmd = 'aks create --resource-group={resource_group} --name={name} ' \ + '--nodepool-name {node_pool_name} ' \ + '-c 1' + self.cmd(create_cmd, checks=[ + self.check('provisioningState', 'Succeeded'), + ]) + + # nodepool get-upgrades + self.cmd('aks nodepool add ' + '--resource-group={resource_group} ' + '--cluster-name={name} ' + '--name={node_pool_name_second} ' + '--os-sku CBLMariner', + checks=[ + self.check('provisioningState', 'Succeeded'), + self.check('osSku', 'CBLMariner'), + ]) + + # delete + self.cmd( + 'aks delete -g {resource_group} -n {name} --yes --no-wait', checks=[self.is_empty()]) + @AllowLargeResponse() @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_nodepool_get_upgrades(self, resource_group, resource_group_location): diff --git a/src/aks-preview/setup.py b/src/aks-preview/setup.py index 45e9442e7cc..5ac180450da 100644 --- a/src/aks-preview/setup.py +++ b/src/aks-preview/setup.py @@ -8,7 +8,7 @@ from codecs import open as open1 from setuptools import setup, find_packages -VERSION = "0.5.13" +VERSION = "0.5.14" CLASSIFIERS = [ 'Development Status :: 4 - Beta', 'Intended Audience :: Developers', From 36e84ea865a577e28b84708c77a87dec78770bbb Mon Sep 17 00:00:00 2001 From: sanmishra18 <82868105+sanmishra18@users.noreply.github.com> Date: Fri, 21 May 2021 07:02:46 +0530 Subject: [PATCH 23/83] [connected vmware] Onboarding connected vmware az cli extension (#3340) * Oboarding connected vmware az cli extension * Fix validator issue * Addressed Zhou reviews comments * Fixes issue and added a simple test * fix some general issue * Updated CODEOWNERS * Added more test cases * Added more test. * Add vm put, get, show and list test cases * Fix VM stop issue and add vm stop and start test. * Update README.md file and revert show command name. * Added vm nic and vm disk test. * Ignore Unused argument 'tags' warning. --- .github/CODEOWNERS | 2 + src/connectedvmware/.gitignore | 2 + src/connectedvmware/HISTORY.rst | 8 + src/connectedvmware/README.md | 87 + src/connectedvmware/README.rst | 5 + .../azext_connectedvmware/__init__.py | 33 + .../azext_connectedvmware/_actions.py | 38 + .../azext_connectedvmware/_client_factory.py | 54 + .../azext_connectedvmware/_help.py | 497 +++ .../azext_connectedvmware/_params.py | 375 +++ .../azext_connectedvmware/_validators.py | 23 + .../azext_connectedvmware/azext_metadata.json | 5 + .../azext_connectedvmware/commands.py | 86 + .../azext_connectedvmware/custom.py | 1253 +++++++ .../azext_connectedvmware/tests/__init__.py | 5 + .../tests/latest/__init__.py | 5 + .../recordings/test_connectedvmware.yaml | 2048 ++++++++++++ .../latest/test_connectedvmware_scenario.py | 139 + .../vendored_sdks/__init__.py | 19 + ...azure_arc_vmware_management_service_api.py | 134 + .../vendored_sdks/_configuration.py | 71 + .../vendored_sdks/_version.py | 9 + .../vendored_sdks/aio/__init__.py | 10 + ...azure_arc_vmware_management_service_api.py | 127 + .../vendored_sdks/aio/_configuration.py | 67 + .../vendored_sdks/aio/operations/__init__.py | 31 + .../aio/operations/_guest_agent_operations.py | 445 +++ .../_hybrid_identity_metadata_operations.py | 322 ++ .../operations/_inventory_items_operations.py | 322 ++ .../_machine_extensions_operations.py | 571 ++++ .../aio/operations/_operations.py | 105 + .../operations/_resource_pools_operations.py | 571 ++++ .../aio/operations/_vcenters_operations.py | 571 ++++ .../_virtual_machine_templates_operations.py | 571 ++++ .../_virtual_machines_operations.py | 979 ++++++ .../_virtual_networks_operations.py | 571 ++++ ...azure_arc_vmware_management_service_api.py | 111 + .../vendored_sdks/models/__init__.py | 211 ++ ...arc_vmware_management_service_api_enums.py | 130 + .../vendored_sdks/models/_models.py | 2653 +++++++++++++++ .../vendored_sdks/models/_models_py3.py | 2898 +++++++++++++++++ ...arc_vmware_management_service_api_enums.py | 83 + .../models/azure_entity_resource.py | 50 + .../models/azure_entity_resource_py3.py | 50 + .../vendored_sdks/models/condition.py | 52 + .../vendored_sdks/models/condition_py3.py | 52 + .../vendored_sdks/models/error_definition.py | 47 + .../models/error_definition_py3.py | 47 + .../vendored_sdks/models/error_response.py | 41 + .../models/error_response_py3.py | 41 + .../vendored_sdks/models/extended_location.py | 32 + .../models/extended_location_py3.py | 32 + .../vendored_sdks/models/hardware_profile.py | 61 + .../models/hardware_profile_py3.py | 61 + .../vendored_sdks/models/inventory_item.py | 69 + .../models/inventory_item_paged.py | 27 + .../models/inventory_item_properties.py | 65 + .../models/inventory_item_properties_py3.py | 65 + .../models/inventory_item_py3.py | 69 + .../vendored_sdks/models/network_interface.py | 89 + .../models/network_interface_py3.py | 89 + .../models/network_interface_update.py | 49 + .../models/network_interface_update_py3.py | 49 + .../vendored_sdks/models/network_profile.py | 30 + .../models/network_profile_py3.py | 30 + .../models/network_profile_update.py | 30 + .../models/network_profile_update_py3.py | 30 + .../models/nic_ip_address_settings.py | 46 + .../models/nic_ip_address_settings_py3.py | 46 + .../vendored_sdks/models/nic_ip_settings.py | 71 + .../models/nic_ip_settings_py3.py | 71 + .../vendored_sdks/models/operation.py | 38 + .../vendored_sdks/models/operation_display.py | 40 + .../models/operation_display_py3.py | 40 + .../vendored_sdks/models/operation_paged.py | 27 + .../vendored_sdks/models/operation_py3.py | 38 + .../vendored_sdks/models/os_profile.py | 71 + .../vendored_sdks/models/os_profile_py3.py | 71 + .../vendored_sdks/models/proxy_resource.py | 45 + .../models/proxy_resource_py3.py | 45 + .../vendored_sdks/models/resource.py | 48 + .../vendored_sdks/models/resource_patch.py | 28 + .../models/resource_patch_py3.py | 28 + .../vendored_sdks/models/resource_pool.py | 154 + .../models/resource_pool_inventory_item.py | 53 + .../resource_pool_inventory_item_py3.py | 53 + .../models/resource_pool_paged.py | 27 + .../vendored_sdks/models/resource_pool_py3.py | 154 + .../vendored_sdks/models/resource_py3.py | 48 + .../models/stop_virtual_machine_options.py | 31 + .../stop_virtual_machine_options_py3.py | 31 + .../vendored_sdks/models/storage_profile.py | 43 + .../models/storage_profile_py3.py | 43 + .../models/storage_profile_update.py | 30 + .../models/storage_profile_update_py3.py | 30 + .../vendored_sdks/models/system_data.py | 54 + .../vendored_sdks/models/system_data_py3.py | 54 + .../vendored_sdks/models/tracked_resource.py | 56 + .../models/tracked_resource_py3.py | 56 + .../vendored_sdks/models/vcenter.py | 120 + .../vendored_sdks/models/vcenter_paged.py | 27 + .../vendored_sdks/models/vcenter_py3.py | 120 + .../vendored_sdks/models/vi_credential.py | 32 + .../vendored_sdks/models/vi_credential_py3.py | 32 + .../vendored_sdks/models/virtual_disk.py | 67 + .../vendored_sdks/models/virtual_disk_py3.py | 67 + .../models/virtual_disk_update.py | 51 + .../models/virtual_disk_update_py3.py | 51 + .../vendored_sdks/models/virtual_machine.py | 155 + .../models/virtual_machine_inventory_item.py | 53 + .../virtual_machine_inventory_item_py3.py | 53 + .../models/virtual_machine_paged.py | 27 + .../models/virtual_machine_py3.py | 155 + .../models/virtual_machine_template.py | 158 + ...virtual_machine_template_inventory_item.py | 53 + ...ual_machine_template_inventory_item_py3.py | 53 + .../models/virtual_machine_template_paged.py | 27 + .../models/virtual_machine_template_py3.py | 158 + .../models/virtual_machine_update.py | 52 + .../models/virtual_machine_update_py3.py | 43 + .../vendored_sdks/models/virtual_network.py | 110 + .../models/virtual_network_inventory_item.py | 53 + .../virtual_network_inventory_item_py3.py | 53 + .../models/virtual_network_paged.py | 27 + .../models/virtual_network_py3.py | 110 + .../models/virtual_scsi_controller.py | 50 + .../models/virtual_scsi_controller_py3.py | 50 + .../vendored_sdks/operations/__init__.py | 31 + .../operations/_guest_agent_operations.py | 455 +++ .../_hybrid_identity_metadata_operations.py | 330 ++ .../operations/_inventory_items_operations.py | 330 ++ .../_machine_extensions_operations.py | 583 ++++ .../vendored_sdks/operations/_operations.py | 110 + .../operations/_resource_pools_operations.py | 583 ++++ .../operations/_vcenters_operations.py | 583 ++++ .../_virtual_machine_templates_operations.py | 583 ++++ .../_virtual_machines_operations.py | 998 ++++++ .../_virtual_networks_operations.py | 583 ++++ .../operations/inventory_items_operations.py | 307 ++ .../vendored_sdks/operations/operations.py | 96 + .../operations/resource_pools_operations.py | 518 +++ .../operations/vcenters_operations.py | 518 +++ .../virtual_machine_templates_operations.py | 526 +++ .../operations/virtual_machines_operations.py | 837 +++++ .../operations/virtual_networks_operations.py | 519 +++ .../vendored_sdks/py.typed | 1 + .../vendored_sdks/version.py | 13 + .../azext_connectedvmware/vmware_constants.py | 36 + .../azext_connectedvmware/vmware_utils.py | 64 + src/connectedvmware/setup.cfg | 7 + src/connectedvmware/setup.py | 60 + src/service_name.json | 5 + 152 files changed, 29857 insertions(+) create mode 100644 src/connectedvmware/.gitignore create mode 100644 src/connectedvmware/HISTORY.rst create mode 100644 src/connectedvmware/README.md create mode 100644 src/connectedvmware/README.rst create mode 100644 src/connectedvmware/azext_connectedvmware/__init__.py create mode 100644 src/connectedvmware/azext_connectedvmware/_actions.py create mode 100644 src/connectedvmware/azext_connectedvmware/_client_factory.py create mode 100644 src/connectedvmware/azext_connectedvmware/_help.py create mode 100644 src/connectedvmware/azext_connectedvmware/_params.py create mode 100644 src/connectedvmware/azext_connectedvmware/_validators.py create mode 100644 src/connectedvmware/azext_connectedvmware/azext_metadata.json create mode 100644 src/connectedvmware/azext_connectedvmware/commands.py create mode 100644 src/connectedvmware/azext_connectedvmware/custom.py create mode 100644 src/connectedvmware/azext_connectedvmware/tests/__init__.py create mode 100644 src/connectedvmware/azext_connectedvmware/tests/latest/__init__.py create mode 100644 src/connectedvmware/azext_connectedvmware/tests/latest/recordings/test_connectedvmware.yaml create mode 100644 src/connectedvmware/azext_connectedvmware/tests/latest/test_connectedvmware_scenario.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/__init__.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/_azure_arc_vmware_management_service_api.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/_configuration.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/_version.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/__init__.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/_azure_arc_vmware_management_service_api.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/_configuration.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/operations/__init__.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/operations/_guest_agent_operations.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/operations/_hybrid_identity_metadata_operations.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/operations/_inventory_items_operations.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/operations/_machine_extensions_operations.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/operations/_operations.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/operations/_resource_pools_operations.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/operations/_vcenters_operations.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/operations/_virtual_machine_templates_operations.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/operations/_virtual_machines_operations.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/operations/_virtual_networks_operations.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/azure_arc_vmware_management_service_api.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/__init__.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/_azure_arc_vmware_management_service_api_enums.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/_models.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/_models_py3.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/azure_arc_vmware_management_service_api_enums.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/azure_entity_resource.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/azure_entity_resource_py3.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/condition.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/condition_py3.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/error_definition.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/error_definition_py3.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/error_response.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/error_response_py3.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/extended_location.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/extended_location_py3.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/hardware_profile.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/hardware_profile_py3.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/inventory_item.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/inventory_item_paged.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/inventory_item_properties.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/inventory_item_properties_py3.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/inventory_item_py3.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/network_interface.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/network_interface_py3.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/network_interface_update.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/network_interface_update_py3.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/network_profile.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/network_profile_py3.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/network_profile_update.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/network_profile_update_py3.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/nic_ip_address_settings.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/nic_ip_address_settings_py3.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/nic_ip_settings.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/nic_ip_settings_py3.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/operation.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/operation_display.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/operation_display_py3.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/operation_paged.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/operation_py3.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/os_profile.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/os_profile_py3.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/proxy_resource.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/proxy_resource_py3.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/resource.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/resource_patch.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/resource_patch_py3.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/resource_pool.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/resource_pool_inventory_item.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/resource_pool_inventory_item_py3.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/resource_pool_paged.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/resource_pool_py3.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/resource_py3.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/stop_virtual_machine_options.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/stop_virtual_machine_options_py3.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/storage_profile.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/storage_profile_py3.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/storage_profile_update.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/storage_profile_update_py3.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/system_data.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/system_data_py3.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/tracked_resource.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/tracked_resource_py3.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/vcenter.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/vcenter_paged.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/vcenter_py3.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/vi_credential.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/vi_credential_py3.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_disk.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_disk_py3.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_disk_update.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_disk_update_py3.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_machine.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_machine_inventory_item.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_machine_inventory_item_py3.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_machine_paged.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_machine_py3.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_machine_template.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_machine_template_inventory_item.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_machine_template_inventory_item_py3.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_machine_template_paged.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_machine_template_py3.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_machine_update.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_machine_update_py3.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_network.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_network_inventory_item.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_network_inventory_item_py3.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_network_paged.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_network_py3.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_scsi_controller.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_scsi_controller_py3.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/__init__.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/_guest_agent_operations.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/_hybrid_identity_metadata_operations.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/_inventory_items_operations.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/_machine_extensions_operations.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/_operations.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/_resource_pools_operations.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/_vcenters_operations.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/_virtual_machine_templates_operations.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/_virtual_machines_operations.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/_virtual_networks_operations.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/inventory_items_operations.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/operations.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/resource_pools_operations.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/vcenters_operations.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/virtual_machine_templates_operations.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/virtual_machines_operations.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/virtual_networks_operations.py create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/py.typed create mode 100644 src/connectedvmware/azext_connectedvmware/vendored_sdks/version.py create mode 100644 src/connectedvmware/azext_connectedvmware/vmware_constants.py create mode 100644 src/connectedvmware/azext_connectedvmware/vmware_utils.py create mode 100644 src/connectedvmware/setup.cfg create mode 100644 src/connectedvmware/setup.py diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 63b4a123364..940c7ae84e9 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -191,3 +191,5 @@ /src/cloudservice/ @qwordy /src/webpubsub/ @zackliu + +/src/connectedvmware/ @sanmishra18 diff --git a/src/connectedvmware/.gitignore b/src/connectedvmware/.gitignore new file mode 100644 index 00000000000..0a798b060e8 --- /dev/null +++ b/src/connectedvmware/.gitignore @@ -0,0 +1,2 @@ +.vscode/ +.vscode.example diff --git a/src/connectedvmware/HISTORY.rst b/src/connectedvmware/HISTORY.rst new file mode 100644 index 00000000000..8c34bccfff8 --- /dev/null +++ b/src/connectedvmware/HISTORY.rst @@ -0,0 +1,8 @@ +.. :changelog: + +Release History +=============== + +0.1.0 +++++++ +* Initial release. \ No newline at end of file diff --git a/src/connectedvmware/README.md b/src/connectedvmware/README.md new file mode 100644 index 00000000000..be6d5b00bee --- /dev/null +++ b/src/connectedvmware/README.md @@ -0,0 +1,87 @@ +# Microsoft Azure CLI ConnectedVMware Extension # + +The Azure CLI extension for [Azure Arc for VMware PrivateCloud](https://github.com/Azure/azure-arc-enabled-vmware-vsphere-preview/blob/main/docs/overview.md) is an extension for Azure CLI 2.0. + +## Install +``` +az extension add --name connectedvmware +``` + +## Usage +See the [extension reference documenation](https://github.com/Azure/azure-arc-enabled-vmware-vsphere-preview/blob/main/docs/overview.md). +*Examples:* + +##### Create Vcenter Resource + +``` +az connectedvmware vcenter connect \ + --subscription subscriptionId \ + --resource-group resourceGroupName \ + --location locationName \ + --custom-location customLocationName \ + --fqdn vcenterFqdn \ + --username userName \ + --password password \ + --name resourceName +``` + +##### Create Resource Pool Resource + +``` +az connectedvmware resource-pool create \ + --subscription subscriptionId \ + --resource-group resourceGroupName \ + --location locationName \ + --custom-location customLocationName \ + --vcenter vcenterResourceName \ + --mo-ref-id morefId \ + --name resourceName +``` + +##### Create VM Template Resource + +``` +az connectedvmware vm-template create \ + --subscription subscriptionId \ + --resource-group resourceGroupName \ + --location locationName \ + --custom-location customLocationName \ + --vcenter vcenterResourceName \ + --mo-ref-id morefId \ + --name resourceName +``` + +##### Create Virtual Network Resource + +``` +az connectedvmware virtual-network create \ + --subscription subscriptionId \ + --resource-group resourceGroupName \ + --location locationName \ + --custom-location customLocationName \ + --vcenter vcenterResourceName \ + --mo-ref-id morefId \ + --name resourceName +``` + +##### Create Virtual Machine Resource + +``` +az connectedvmware vm create \ + --subscription subscriptionId \ + --resource-group resourceGroupName \ + --location locationName \ + --custom-location customLocationName \ + --vcenter vcenterResourceName \ + --resource-pool resourcePoolResourceName \ + --vm-template vmTemplateResourceName \ + --name resourceName +``` + +## Uninstall +You can see if the extension is installed by running `az --version` or `az extension list`. You can remove the extension by running: +``` +az extension remove --name connectedvmware +``` + +If you have issues, please give feedback by opening an issue at https://github.com/Azure/azure-cli-extensions/issues. diff --git a/src/connectedvmware/README.rst b/src/connectedvmware/README.rst new file mode 100644 index 00000000000..9a24507eef3 --- /dev/null +++ b/src/connectedvmware/README.rst @@ -0,0 +1,5 @@ +Microsoft Azure CLI 'connectedvmware' Extension +========================================== + +This package is for the 'connectedvmware' extension. +i.e. 'az connectedvmware' diff --git a/src/connectedvmware/azext_connectedvmware/__init__.py b/src/connectedvmware/azext_connectedvmware/__init__.py new file mode 100644 index 00000000000..99694e62aa6 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/__init__.py @@ -0,0 +1,33 @@ +# -------------------------------------------------------------------------------------------- +# 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-import, import-outside-toplevel, super-with-arguments + +from azure.cli.core import AzCommandsLoader +from azext_connectedvmware._help import helps + + +class ConnectedvmwareCommandsLoader(AzCommandsLoader): + def __init__(self, cli_ctx=None): + from azure.cli.core.commands import CliCommandType + from azext_connectedvmware._client_factory import cf_connectedvmware + connectedvmware_custom = CliCommandType( + operations_tmpl='azext_connectedvmware.custom#{}', + client_factory=cf_connectedvmware, + ) + super(ConnectedvmwareCommandsLoader, self).__init__( + cli_ctx=cli_ctx, custom_command_type=connectedvmware_custom + ) + + def load_command_table(self, args): + from azext_connectedvmware.commands import load_command_table + load_command_table(self, args) + return self.command_table + + def load_arguments(self, command): + from azext_connectedvmware._params import load_arguments + load_arguments(self, command) + + +COMMAND_LOADER_CLS = ConnectedvmwareCommandsLoader diff --git a/src/connectedvmware/azext_connectedvmware/_actions.py b/src/connectedvmware/azext_connectedvmware/_actions.py new file mode 100644 index 00000000000..349c57ce96f --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/_actions.py @@ -0,0 +1,38 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable= protected-access, too-few-public-methods + +""" +This file contains actions for parsing complex arguments. +""" + +import argparse +from azext_connectedvmware.vmware_utils import create_dictionary_from_arg_string + + +class VmNicAddAction(argparse._AppendAction): + """ + Action for parsing the nic arguments. + """ + + def __call__(self, parser, namespace, values, option_string=None): + nic_params_dict = create_dictionary_from_arg_string(values, option_string) + if namespace.nics: + namespace.nics.append(nic_params_dict) + else: + namespace.nics = [nic_params_dict] + + +class VmDiskAddAction(argparse._AppendAction): + """ + Action for parsing the disk arguments. + """ + + def __call__(self, parser, namespace, values, option_string=None): + disk_params_dict = create_dictionary_from_arg_string(values, option_string) + if namespace.disks: + namespace.disks.append(disk_params_dict) + else: + namespace.disks = [disk_params_dict] diff --git a/src/connectedvmware/azext_connectedvmware/_client_factory.py b/src/connectedvmware/azext_connectedvmware/_client_factory.py new file mode 100644 index 00000000000..3ea908e11e4 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/_client_factory.py @@ -0,0 +1,54 @@ +# -------------------------------------------------------------------------------------------- +# 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.client_factory import get_mgmt_service_client +# Client factory for vmware clients. +from .vendored_sdks import AzureArcVMwareManagementServiceAPI + + +def cf_connectedvmware(cli_ctx, *_): + return get_mgmt_service_client(cli_ctx, AzureArcVMwareManagementServiceAPI) + + +def cf_vcenter(cli_ctx, *_): + """ + Client factory for vcenters. + """ + return cf_connectedvmware(cli_ctx).vcenters + + +def cf_resource_pool(cli_ctx, *_): + """ + Client factory for resourcepools. + """ + return cf_connectedvmware(cli_ctx).resource_pools + + +def cf_virtual_network(cli_ctx, *_): + """ + Client factory for virtual networks. + """ + return cf_connectedvmware(cli_ctx).virtual_networks + + +def cf_virtual_machine_template(cli_ctx, *_): + """ + Client factory for vm templates. + """ + return cf_connectedvmware(cli_ctx).virtual_machine_templates + + +def cf_virtual_machine(cli_ctx, *_): + """ + Client factory for virtual machines. + """ + return cf_connectedvmware(cli_ctx).virtual_machines + + +def cf_inventory_item(cli_ctx, *_): + """ + Client factory for inventory items. + """ + return cf_connectedvmware(cli_ctx).inventory_items diff --git a/src/connectedvmware/azext_connectedvmware/_help.py b/src/connectedvmware/azext_connectedvmware/_help.py new file mode 100644 index 00000000000..82755dac5d8 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/_help.py @@ -0,0 +1,497 @@ +# coding=utf-8 +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable= too-many-lines, unused-import + +from knack.help_files import helps + + +helps[ + 'connectedvmware' +] = """ + type: group + short-summary: Commands to manage Connected VMware. +""" + +helps[ + 'connectedvmware resource-pool' +] = """ + type: group + short-summary: resource pool resource +""" + +helps[ + 'connectedvmware resource-pool create' +] = """ + type: command + short-summary: "Create a resource pool resource" + examples: + - name: Create resource pool + text: |- + az connectedvmware resource-pool create --custom-location "custom location name" \ + --location "" --mo-ref-id "mo-ref id of the resource in vc" --name "resource pool name" \ + --resource-group "resource group name" --vcenter "name or id of the vcenter" +""" + +helps[ + 'connectedvmware resource-pool delete' +] = """ + type: command + short-summary: "Delete resource pool resource" + examples: + - name: Delete resource pool + text: |- + az connectedvmware resource-pool delete --ids "resource id" --name "resource pool name" \ + --resource-group "resource group name" --subscription "Name or ID of subscription" +""" + +helps[ + 'connectedvmware resource-pool list' +] = """ + type: command + short-summary: "Retrieve a list of resource pool of given resource group" + examples: + - name: Retrieve a list of resource pool + text: |- + az connectedvmware resource-pool list --resource-group "resource group name" +""" + +helps[ + 'connectedvmware resource-pool show' +] = """ + type: command + short-summary: "Get details of a resource pool by id, resource-group, resource pool name, or subscription" + examples: + - name: Get details of a resource pool + text: |- + az connectedvmware resource-pool show --ids "resource id" --name "resource pool name" \ + --resource-group "resource group name" --subscription "Name or ID of subscription" +""" + +helps[ + 'connectedvmware vcenter' +] = """ + type: group + short-summary: Vcenter resource. +""" + +helps[ + 'connectedvmware vcenter connect' +] = """ + type: command + short-summary: "Create vcenter resource" + examples: + - name: Connect to vcenter + text: |- + az connectedvmware vcenter connect --custom-location "custom location name" \ + --fqdn "vcenter fqdn/ip" --username "vcenter user name" --password "vcenter password" \ + --resource-group "resource group name" --subscription "Name or ID of subscription" \ + --location "region name" --name "vcenter name" +""" + +helps[ + 'connectedvmware vcenter delete' +] = """ + type: command + short-summary: "Delete vcenter resource" + examples: + - name: Delete vcenter resource + text: |- + az connectedvmware vcenter delete --ids "resource id" --name "vcenter name" \ + --resource-group "resource group name" --subscription "Name or ID of subscription" +""" + +helps[ + 'connectedvmware vcenter list' +] = """ + type: command + short-summary: "Retrieve a list of vcenter resource of given resource group" + examples: + - name: Retrieve a list of vcenter resource + text: |- + az connectedvmware vcenter list --resource-group "resource group name" +""" + +helps[ + 'connectedvmware vcenter show' +] = """ + type: command + short-summary: "Get details of a vcenter resource by id, resource-group, vcenter name or subscription" + examples: + - name: Get details of a vcenter resource + text: |- + az connectedvmware vcenter show --ids "resource id" --name "vcenter name" \ + --resource-group "resource group name" --subscription "Name or ID of subscription" +""" + +helps[ + 'connectedvmware virtual-network' +] = """ + type: group + short-summary: virtual network resource +""" + +helps[ + 'connectedvmware virtual-network create' +] = """ + type: command + short-summary: "Create virtual network resource" + examples: + - name: Create virtual network + text: |- + az connectedvmware virtual-network create --custom-location "custom location name" \ + --location "region name" --mo-ref-id "mo-ref id of the resource in vc" --name \ + "virtual network name" --resource-group "resource group name" --vcenter "name or id of \ + the vcenter" --inventory-item "inventory item name or id" +""" + +helps[ + 'connectedvmware virtual-network delete' +] = """ + type: command + short-summary: "Delete virtual network resource" + examples: + - name: Delete virtual network + text: |- + az connectedvmware virtual-network delete --ids "resource id" --name "virtual network name" \ + --resource-group "resource group name" --subscription "Name or ID of subscription" +""" + +helps[ + 'connectedvmware virtual-network list' +] = """ + type: command + short-summary: "Retrieve a list of virtual network of given resource group" + examples: + - name: Retrieve a list of virtual network resource + text: |- + az connectedvmware virtual-network list --resource-group "resource group name" +""" + +helps[ + 'connectedvmware virtual-network show' +] = """ + type: command + short-summary: "Get details of a virtual network by id, resource-group, reource pool name or subscription" + examples: + - name: Get details of a virtual-network + text: |- + az connectedvmware virtual-network show --ids "resource id" --name "virtual network name" \ + --resource-group "resource group name" --subscription "Name or ID of subscription" +""" + +helps[ + 'connectedvmware vm' +] = """ + type: group + short-summary: vm resource +""" + +helps[ + 'connectedvmware vm create' +] = """ + type: command + short-summary: "Create vm in vcenter from existing vm template" + examples: + - name: Create vm + text: |- + az connectedvmware vm create --custom-location "custom location name" --location \ + "Region name" --name "virtual network name" --resource-group "resource group name" \ + --vcenter "name or id of the vcenter" --inventory-item "inventory item name or id" +""" + +helps[ + 'connectedvmware vm delete' +] = """ + type: command + short-summary: "Delete vm resource" + examples: + - name: Delete vm + text: |- + az connectedvmware vm delete --ids "resource id" --name "virtual machine name" \ + --resource-group "resource group name" --subscription "Name or ID of subscription" +""" + +helps[ + 'connectedvmware vm list' +] = """ + type: command + short-summary: "Retrieve a list of vm of given resource group" + examples: + - name: Retrieve a list of vm resource + text: |- + az connectedvmware vm list --resource-group "resource group name" +""" + +helps[ + 'connectedvmware vm restart' +] = """ + type: command + short-summary: "Restart vm resource" + examples: + - name: Restart vm + text: |- + az connectedvmware vm restart --ids "resource id" --name "virtual machine name" \ + --resource-group "resource group name" --subscription "Name or ID of subscription" +""" + +helps[ + 'connectedvmware vm show' +] = """ + type: command + short-summary: "Get details of a vm by id, resource-group, reource pool name or subscription" + examples: + - name: Get details of a vm resource + text: |- + az connectedvmware vm show --ids "resource id" --name "vm template name" \ + --resource-group "resource group name" --subscription "Name or ID of subscription" +""" + +helps[ + 'connectedvmware vm start' +] = """ + type: command + short-summary: "Start vm resource" + examples: + - name: Start vm + text: |- + az connectedvmware vm start --ids "resource id" --name "virtual machine name" \ + --resource-group "resource group name" --subscription "Name or ID of subscription" +""" + +helps[ + 'connectedvmware vm stop' +] = """ + type: command + short-summary: "Stop vm resource" + examples: + - name: Stop vm + text: |- + az connectedvmware vm stop --ids "resource id" --name "virtual machine name" \ + --resource-group "resource group name" --subscription "Name or ID of subscription" +""" + +helps[ + 'connectedvmware vm update' +] = """ + type: command + short-summary: "Update vm resource" + examples: + - name: Update vm + text: |- + az connectedvmware vm update --ids "resource id" --name "virtual machine name" \ + --resource-group "resource group name" --subscription "Name or ID of subscription" \ + --memory-size "vm memory size in MB" --num-CPUs "no. of CPUs" +""" + +helps[ + 'connectedvmware vm disk' +] = """ + type: group + short-summary: vm disk +""" + +helps[ + 'connectedvmware vm disk add' +] = """ + type: command + short-summary: "Add virtual disk to a virtual machine" + examples: + - name: Add virtual disk to a virtual machine + text: |- + az connectedvmware vm disk add --controller-key "The controller key of the disk" \ + --disk-size "The disk size in GBs" --name "Name of the Disk" --resource-group \ + "resource group name" --vm-name "Name of the virtual machine" +""" + +helps[ + 'connectedvmware vm disk delete' +] = """ + type: command + short-summary: "Delete virtual disks to a virtual machine" + examples: + - name: Delete virtual disks to a virtual machine + text: |- + az connectedvmware vm disk delete --disk "Names of the Disks" --resource-group \ + "resource group name" --vm-name "Name of the virtual machine" +""" + +helps[ + 'connectedvmware vm disk list' +] = """ + type: command + short-summary: "Retrieve a list of vm disk from given resource group name and vm name" + examples: + - name: Retrieve a list of vm disk + text: |- + az connectedvmware vm disk list --resource-group "resource group name" --vm-name \ + "Name of the virtual machine" +""" + +helps[ + 'connectedvmware vm disk show' +] = """ + type: command + short-summary: "Get details of a vm disk by it's name, resource-group and vm name" + examples: + - name: Get details of vm disk + text: |- + az connectedvmware vm disk show --name "Name of the Disk" --resource-group \ + "resource group name" --vm-name "Name of the virtual machine" +""" +helps[ + 'connectedvmware vm disk update' +] = """ + type: command + short-summary: "Update virtual disk to a virtual machine" + examples: + - name: Update virtual disk to a virtual machine + text: |- + az connectedvmware vm disk update --controller-key "The controller key of the disk" \ + --disk-size "The disk size in GBs" --name "Name of the Disk" --resource-group \ + "resource group name" --vm-name "Name of the virtual machine" +""" + +helps[ + 'connectedvmware vm nic' +] = """ + type: group + short-summary: vm nic +""" + +helps[ + 'connectedvmware vm nic add' +] = """ + type: command + short-summary: "Add virtual nic to a virtual machine" + examples: + - name: Add virtual nic to a virtual machine + text: |- + az connectedvmware vm nic add --name "Name of the NIC" --network "Network Name or Id" \ + --resource-group "resource group name" --vm-name "Name of the virtual machine" +""" + +helps[ + 'connectedvmware vm nic delete' +] = """ + type: command + short-summary: "Delete virtual nic to a virtual machine" + examples: + - name: Delete virtual nic to a virtual machine + text: |- + az connectedvmware vm nic delete --nics "Names of the NICs" --resource-group \ + "resource group name" --vm-name "Name of the virtual machine" +""" + +helps[ + 'connectedvmware vm nic list' +] = """ + type: command + short-summary: "Retrieve a list of vm nic from given resource group name and vm name" + examples: + - name: Retrieve a list of vm nic + text: |- + az connectedvmware vm nic list --resource-group "resource group name" --vm-name \ + "Name of the virtual machine" +""" + +helps[ + 'connectedvmware vm nic show' +] = """ + type: command + short-summary: "Get details of a vm nic by it's name, resource-group and vm name" + examples: + - name: Get details of vm nic + text: |- + az connectedvmware vm nic show --name "Name of the NIC" --resource-group \ + "resource group name" --vm-name "Name of the virtual machine" +""" + +helps[ + 'connectedvmware vm-template' +] = """ + type: group + short-summary: vm template resource +""" + +helps[ + 'connectedvmware vm-template create' +] = """ + type: command + short-summary: "Create vm template resource" + examples: + - name: Create vm template + text: |- + az connectedvmware vm-template create --custom-location "custom location name" \ + --location "region name" --mo-ref-id "mo-ref id of the resource in vc" --name \ + "vm template name" --resource-group "resource group name" --vcenter "name or id of \ + the vcenter" --inventory-item "inventory item name or id" +""" + +helps[ + 'connectedvmware vm-template delete' +] = """ + type: command + short-summary: "Delete vm template resource" + examples: + - name: Delete virtual template + text: |- + az connectedvmware vm-template delete --ids "resource id" --name "vm template name" \ + --resource-group "resource group name" --subscription "Name or ID of subscription" +""" + +helps[ + 'connectedvmware vm-template list' +] = """ + type: command + short-summary: "Retrieve a list of vm template of given resource group" + examples: + - name: Retrieve a list of vm template resource + text: |- + az connectedvmware vm-template list --resource-group "resource group name" +""" + +helps[ + 'connectedvmware vm-template show' +] = """ + type: command + short-summary: "Get details of a vm template by id, resource-group, reource pool name or subscription" + examples: + - name: Get details of a vm template + text: |- + az connectedvmware vm-template show --ids "resource id" --name "vm template name" \ + --resource-group "resource group name" --subscription "Name or ID of subscription" +""" + +helps[ + 'connectedvmware inventory-item' +] = """ + type: group + short-summary: inventory item resource. +""" + +helps[ + 'connectedvmware inventory-item list' +] = """ + type: command + short-summary: "Retrieve a list of inventory item given by resource group and vcenter name." + examples: + - name: Retrieve a list of inventory item + text: |- + az connectedvmware inventory-item list --resource-group "resource group name" \ + --vcenter-name "name of the vcenter" +""" + +helps[ + 'connectedvmware inventory-item show' +] = """ + type: command + short-summary: "Get details of a inventory item by inventory item name or id, resource-group and vcenter name." + examples: + - name: Get details of a vm template + text: |- + az connectedvmware inventory-item show --inventory-item-name "inventory item name" \ + --resource-group "resource group name" --vcenter-name "name of the vcenter" +""" diff --git a/src/connectedvmware/azext_connectedvmware/_params.py b/src/connectedvmware/azext_connectedvmware/_params.py new file mode 100644 index 00000000000..f9d881adfcc --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/_params.py @@ -0,0 +1,375 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable= too-many-statements + +from knack.arguments import CLIArgumentType +from azure.cli.core.commands.parameters import tags_type +from azure.cli.core.commands.validators import get_default_location_from_resource_group +from ._actions import VmNicAddAction, VmDiskAddAction + + +def load_arguments(self, _): + connectedvmware_name_type = CLIArgumentType( + options_list='--resource-name', help='Name of the resource.', id_part='name' + ) + + with self.argument_context('connectedvmware') as c: + c.argument('tags', tags_type) + c.argument('location', validator=get_default_location_from_resource_group) + c.argument( + 'resource_name', connectedvmware_name_type, options_list=['--name', '-n'] + ) + + with self.argument_context('connectedvmware vcenter connect') as c: + c.argument( + 'fqdn', options_list=['--fqdn'], help="FQDN/IP address of the vCenter." + ) + c.argument( + 'port', type=int, options_list=['--port'], help="The port of the vCenter." + ) + c.argument( + 'custom_location', + options_list=['--custom-location'], + help="Name or ID of the custom location that will manage this vCenter.", + ) + c.argument( + 'username', + options_list=['--username'], + help="Username to use for connecting to the vCenter.", + ) + c.argument( + 'password', + options_list=['--password'], + help="Username password credentials to use for connecting to the vCenter.", + ) + + with self.argument_context('connectedvmware vcenter delete') as c: + c.argument('force', action='store_true', help="Whether force delete or not.") + + with self.argument_context('connectedvmware resource-pool create') as c: + c.argument( + 'custom_location', + options_list=['--custom-location'], + help="Name or ID of the custom location that is managing this resource pool.", + ) + c.argument( + 'vcenter', + options_list=['--vcenter'], + help="Name or ID of the vCenter that is managing this resource pool.", + ) + c.argument( + 'mo_ref_id', + options_list=['--mo-ref-id'], + help="VCenter MoRef (Managed Object Reference) ID for the existing resource pool.", + ) + c.argument( + 'inventory_item', + options_list=['--inventory-item'], + help="Name or ID of the inventory item.", + ) + + with self.argument_context('connectedvmware resource-pool delete') as c: + c.argument('force', action='store_true', help="Whether force delete or not.") + + with self.argument_context('connectedvmware virtual-network create') as c: + c.argument( + 'custom_location', + options_list=['--custom-location'], + help="Name or ID of the custom location that is managing this virtual network.", + ) + c.argument( + 'vcenter', + options_list=['--vcenter'], + help="Name or ID of the vCenter that is managing this virtual network.", + ) + c.argument( + 'mo_ref_id', + options_list=['--mo-ref-id'], + help="VCenter MoRef (Managed Object Reference) ID for the existing virtual network.", + ) + c.argument( + 'inventory_item', + options_list=['--inventory-item'], + help="Name or ID of the inventory item.", + ) + + with self.argument_context('connectedvmware virtual-network delete') as c: + c.argument('force', action='store_true', help="Whether force delete or not.") + + with self.argument_context('connectedvmware vm-template create') as c: + c.argument( + 'arc_zone', + options_list=['--arc-zone'], + help="Name or ID of the Arc zone that is managing this vm template.", + ) + c.argument( + 'vcenter', + options_list=['--vcenter'], + help="Name or ID of the vCenter that is managing this vm template.", + ) + c.argument( + 'mo_ref_id', + options_list=['--mo-ref-id'], + help="VCenter MoRef (Managed Object Reference) ID for the existing vm template.", + ) + c.argument( + 'custom_location', + options_list=['--custom-location'], + help="Name or ID of the custom location that will manage this vCenter.", + ) + c.argument( + 'inventory_item', + options_list=['--inventory-item'], + help="Name or ID of the inventory item.", + ) + + with self.argument_context('connectedvmware vm-template delete') as c: + c.argument('force', action='store_true', help="Whether force delete or not.") + + with self.argument_context('connectedvmware vm create') as c: + c.argument( + 'arc_zone', + options_list=['--arc-zone'], + help="Name or ID of the Arc zone to deploy the vm.", + ) + c.argument( + 'custom_location', + options_list=['--custom-location'], + help="Name or ID of the custom location that will manage this vm.", + ) + c.argument( + 'vcenter', + options_list=['--vcenter'], + help="Name or ID of the vCenter to deploy the vm.", + ) + c.argument( + 'vm_template', + options_list=['--vm-template'], + help="Name or ID of the vm template for deploying the vm.", + ) + c.argument( + 'resource_pool', + options_list=['--resource-pool'], + help="Name or ID of the resource pool for deploying the vm.", + ) + c.argument( + 'inventory_item', + options_list=['--inventory-item'], + help="Name or ID of the inventory item.", + ) + c.argument( + 'admin_username', + options_list=['--admin-username'], + help="Admin username for the vm.", + ) + c.argument( + 'admin_password', + options_list=['--admin-password'], + help="Admin password for the vm.", + ) + c.argument( + 'num_CPUs', + type=int, + options_list=['--num-CPUs'], + help="Number of desired vCPUs for the vm.", + ) + c.argument( + 'num_cores_per_socket', + type=int, + options_list=['--num-cores-per-socket'], + help="Number of desired cores per socket for the vm.", + ) + c.argument( + 'memory_size', + type=int, + options_list=['--memory-size'], + help="Desired memory size in MBs for the vm.", + ) + c.argument( + 'nics', + options_list=['--nic'], + action=VmNicAddAction, + nargs='+', + help="Network overrides for the vm. " + "Usage: --nic name=<> network=<> nic-type=<> power-on-boot=<> " + "allocation-method=<> ip-address=<> subnet-mask=<> device-key=<> " + "gateway=.", + ) + c.argument( + 'disks', + options_list=['--disk'], + action=VmDiskAddAction, + nargs='+', + help="Disk overrides for the vm. " + "Usage: --disk name=<> disk_size=<> disk_mode=<> controller_key=<> " + "device-key=<> unit_number=<>.", + ) + + with self.argument_context('connectedvmware vm update') as c: + c.argument( + 'num_CPUs', + type=int, + options_list=['--num-CPUs'], + help="Number of desired vCPUs for the vm.", + ) + c.argument( + 'num_cores_per_socket', + type=int, + options_list=['--num-cores-per-socket'], + help="Number of desired cores per socket for the vm.", + ) + c.argument( + 'memory_size', + type=int, + options_list=['--memory-size'], + help="Desired memory size in MBs for the vm.", + ) + c.argument('tags', arg_type=tags_type) + + with self.argument_context('connectedvmware vm delete') as c: + c.argument('force', action='store_true', help="Whether force delete or not.") + + with self.argument_context('connectedvmware vm stop') as c: + c.argument( + 'skip_shutdown', + action='store_true', + help="Skips shutdown and power-off immediately.", + ) + + with self.argument_context('connectedvmware vm nic') as c: + c.argument('nic_name', options_list=['--name', '-n'], help="Name of the NIC.") + c.argument( + 'vm_name', options_list=['--vm-name'], help="Name of the virtual machine." + ) + c.argument( + 'network', + options_list=['--network'], + help="Name or Id of the virtual network.", + ) + c.argument( + 'nic_type', options_list=['--nic-type'], help="The nic type for the NIC." + ) + c.argument( + 'power_on_boot', + options_list=['--power-on-boot'], + help="The power on boot option for the nic.", + ) + c.argument( + 'device_key', + type=int, + options_list=['--device-key'], + help="The device key for the nic.", + ) + c.argument( + 'nic_names', options_list=['--nics'], nargs='+', help="Names of the NICs." + ) + + with self.argument_context('connectedvmware vm disk add') as c: + c.argument('disk_name', options_list=['--name', '-n'], help="Name of the Disk.") + c.argument( + 'vm_name', options_list=['--vm-name'], help="Name of the virtual machine." + ) + c.argument( + 'disk_size', + type=int, + options_list=['--disk-size'], + help="The disk size in GBs.", + ) + c.argument( + 'disk_mode', options_list=['--disk-mode'], help="The mode of the disk." + ) + c.argument( + 'controller_key', + type=int, + options_list=['--controller-key'], + help="The controller key of the disk.", + ) + c.argument( + 'unit_number', + type=int, + options_list=['--unit-number'], + help="The unit number of the disk.", + ) + c.argument( + 'device_key', + type=int, + options_list=['--device-key'], + help="The device key for the disk.", + ) + c.argument( + 'disk_names', + options_list=['--disks'], + nargs='+', + help="Names of the Disks.", + ) + + with self.argument_context('connectedvmware vm disk delete') as c: + c.argument( + 'vm_name', options_list=['--vm-name'], help="Name of the virtual machine." + ) + c.argument( + 'disk_names', + options_list=['--disks'], + nargs='+', + help="Names of the Disks.", + ) + + with self.argument_context('connectedvmware vm disk list') as c: + c.argument( + 'vm_name', options_list=['--vm-name'], help="Name of the virtual machine." + ) + + with self.argument_context('connectedvmware vm disk show') as c: + c.argument('disk_name', options_list=['--name', '-n'], help="Name of the Disk.") + c.argument( + 'vm_name', options_list=['--vm-name'], help="Name of the virtual machine." + ) + + with self.argument_context('connectedvmware vm disk update') as c: + c.argument('disk_name', options_list=['--name', '-n'], help="Name of the Disk.") + c.argument( + 'vm_name', options_list=['--vm-name'], help="Name of the virtual machine." + ) + c.argument( + 'disk_size', + type=int, + options_list=['--disk-size'], + help="The disk size in GBs.", + ) + c.argument( + 'disk_mode', options_list=['--disk-mode'], help="The mode of the disk." + ) + c.argument( + 'controller_key', + type=int, + options_list=['--controller-key'], + help="The controller key of the disk.", + ) + c.argument( + 'unit_number', + type=int, + options_list=['--unit-number'], + help="The unit number of the disk.", + ) + c.argument( + 'device_key', + type=int, + options_list=['--device-key'], + help="The device key for the disk.", + ) + + with self.argument_context('connectedvmware inventory-item list') as c: + c.argument( + 'vcenter_name', options_list=['--vcenter-name'], help="Name of the vCenter." + ) + + with self.argument_context('connectedvmware inventory-item show') as c: + c.argument( + 'inventory_item_name', + options_list=['--inventory-item-name'], help="Name of the inventory item.", + ) + c.argument( + 'vcenter_name', options_list=['--vcenter-name'], help="Name of the vCenter.", + ) diff --git a/src/connectedvmware/azext_connectedvmware/_validators.py b/src/connectedvmware/azext_connectedvmware/_validators.py new file mode 100644 index 00000000000..73770324019 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/_validators.py @@ -0,0 +1,23 @@ +# -------------------------------------------------------------------------------------------- +# 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.client_factory import get_subscription_id +from msrestazure.tools import is_valid_resource_id, resource_id + + +def example_name_or_id_validator(cmd, namespace): + # This is an example validator , we can write our validators using this pattern as needed. + # Example of a storage account name or ID validator. + # See: https://github.com/Azure/azure-cli/blob/dev/doc/authoring_command_modules/authoring_commands.md#supporting-name-or-id-parameters # pylint: disable=C0301 + + if namespace.storage_account: + if not is_valid_resource_id(namespace.RESOURCE): + namespace.storage_account = resource_id( + subscription=get_subscription_id(cmd.cli_ctx), + resource_group=namespace.resource_group_name, + namespace='Microsoft.Storage', + type='storageAccounts', + name=namespace.storage_account, + ) diff --git a/src/connectedvmware/azext_connectedvmware/azext_metadata.json b/src/connectedvmware/azext_connectedvmware/azext_metadata.json new file mode 100644 index 00000000000..c4ecfd144bd --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/azext_metadata.json @@ -0,0 +1,5 @@ +{ + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.67", + "azext.maxCliCoreVersion": "4.0.0" +} \ No newline at end of file diff --git a/src/connectedvmware/azext_connectedvmware/commands.py b/src/connectedvmware/azext_connectedvmware/commands.py new file mode 100644 index 00000000000..eb876e883f1 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/commands.py @@ -0,0 +1,86 @@ +# -------------------------------------------------------------------------------------------- +# 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 ._client_factory import ( + cf_vcenter, + cf_resource_pool, + cf_virtual_network, + cf_virtual_machine_template, + cf_virtual_machine, + cf_inventory_item, +) + + +def load_command_table(self, _): + + with self.command_group('connectedvmware vcenter', client_factory=cf_vcenter) as g: + g.custom_command('connect', 'connect_vcenter', supports_no_wait=True) + g.custom_command('delete', 'delete_vcenter', supports_no_wait=True) + g.custom_show_command('show', 'show_vcenter') + g.custom_command('list', 'list_vcenter') + + with self.command_group( + 'connectedvmware resource-pool', client_factory=cf_resource_pool + ) as g: + g.custom_command('create', 'create_resource_pool', supports_no_wait=True) + g.custom_command('delete', 'delete_resource_pool', supports_no_wait=True) + g.custom_show_command('show', 'show_resource_pool') + g.custom_command('list', 'list_resource_pool') + + with self.command_group( + 'connectedvmware virtual-network', client_factory=cf_virtual_network + ) as g: + g.custom_command('create', 'create_virtual_network', supports_no_wait=True) + g.custom_command('delete', 'delete_virtual_network', supports_no_wait=True) + g.custom_show_command('show', 'show_virtual_network') + g.custom_command('list', 'list_virtual_network') + + with self.command_group( + 'connectedvmware vm-template', client_factory=cf_virtual_machine_template + ) as g: + g.custom_command('create', 'create_vm_template', supports_no_wait=True) + g.custom_command('delete', 'delete_vm_template', supports_no_wait=True) + g.custom_show_command('show', 'show_vm_template') + g.custom_command('list', 'list_vm_template') + + with self.command_group( + 'connectedvmware vm', client_factory=cf_virtual_machine + ) as g: + g.custom_command('create', 'create_vm', supports_no_wait=True) + g.custom_command('delete', 'delete_vm', supports_no_wait=True) + g.custom_command('update', 'update_vm', supports_no_wait=True) + g.custom_show_command('show', 'show_vm') + g.custom_command('list', 'list_vm') + g.custom_command('start', 'start_vm', supports_no_wait=True) + g.custom_command('stop', 'stop_vm', supports_no_wait=True) + g.custom_command('restart', 'restart_vm', supports_no_wait=True) + + with self.command_group( + 'connectedvmware vm nic', client_factory=cf_virtual_machine + ) as g: + g.custom_command('add', 'add_nic', supports_no_wait=True) + g.custom_command('update', 'update_nic', supports_no_wait=True) + g.custom_command('delete', 'delete_nics', supports_no_wait=True) + g.custom_show_command('show', 'show_nic') + g.custom_command('list', 'list_nics') + + with self.command_group( + 'connectedvmware vm disk', client_factory=cf_virtual_machine + ) as g: + g.custom_command('add', 'add_disk', supports_no_wait=True) + g.custom_command('update', 'update_disk', supports_no_wait=True) + g.custom_command('delete', 'delete_disks', supports_no_wait=True) + g.custom_show_command('show', 'show_disk') + g.custom_command('list', 'list_disks') + + with self.command_group( + 'connectedvmware inventory-item', client_factory=cf_inventory_item + ) as g: + g.custom_show_command('show', 'show_inventory_item') + g.custom_command('list', 'list_inventory_item') + + with self.command_group('connectedvmware', is_preview=False): + pass diff --git a/src/connectedvmware/azext_connectedvmware/custom.py b/src/connectedvmware/azext_connectedvmware/custom.py new file mode 100644 index 00000000000..dcebfed6571 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/custom.py @@ -0,0 +1,1253 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +# pylint: disable= too-many-lines, too-many-locals, unused-argument + +from knack.util import CLIError +from azext_connectedvmware.vmware_utils import get_resource_id +from azure.cli.core.util import sdk_no_wait +from .vmware_constants import ( + VMWARE_NAMESPACE, + VCENTER_RESOURCE_TYPE, + RESOURCEPOOL_RESOURCE_TYPE, + VMTEMPLATE_RESOURCE_TYPE, + VIRTUALNETWORK_RESOURCE_TYPE, + DEFAULT_VCENTER_PORT, + EXTENDED_LOCATION_NAMESPACE, + CUSTOM_LOCATION_RESOURCE_TYPE, + EXTENDED_LOCATION_TYPE, + INVENTORY_ITEM_TYPE, + NAME_PARAMETER, + DEVICE_KEY, + NETWORK, + NIC_TYPE, + POWER_ON_BOOT, + ALLOCATION_METHOD, + IP_ADDRESS, + SUBNET_MASK, + GATEWAY, + GATEWAY_SEPERATOR, + DISK_SIZE, + DISK_MODE, + CONTROLLER_KEY, + UNIT_NUMBER +) + +from .vendored_sdks.models import ( + DiskMode, + HardwareProfile, + IPAddressAllocationMethod, + NetworkInterface, + NetworkInterfaceUpdate, + NetworkProfile, + NetworkProfileUpdate, + NicIPSettings, + NICType, + OsProfile, + PowerOnBootOption, + ResourcePool, + StorageProfile, + StorageProfileUpdate, + VCenter, + VICredential, + VirtualDisk, + VirtualDiskUpdate, + VirtualMachine, + VirtualMachineTemplate, + VirtualMachineUpdate, + VirtualNetwork, + ExtendedLocation, + StopVirtualMachineOptions, +) + +from .vendored_sdks.operations import ( + VCentersOperations, + ResourcePoolsOperations, + VirtualNetworksOperations, + VirtualMachineTemplatesOperations, + VirtualMachinesOperations, + InventoryItemsOperations, +) + +# endregion + +# region VCenters + + +def connect_vcenter( + cmd, + client: VCentersOperations, + resource_group_name, + resource_name, + fqdn, + custom_location, + location, + username=None, + password=None, + port=DEFAULT_VCENTER_PORT, + tags=None, + no_wait=False, +): + + if username is None or password is None: + raise CLIError("Missing vcenter credentials, provide username/password") + + username_creds = VICredential(username=username, password=password) + + custom_location_id = get_resource_id( + cmd, + resource_group_name, + EXTENDED_LOCATION_NAMESPACE, + CUSTOM_LOCATION_RESOURCE_TYPE, + custom_location, + ) + + extended_location = ExtendedLocation( + type=EXTENDED_LOCATION_TYPE, name=custom_location_id + ) + + vcenter = VCenter( + location=location, + fqdn=fqdn, + port=port, + extended_location=extended_location, + credentials=username_creds, + ) + + return sdk_no_wait( + no_wait, client.begin_create, resource_group_name, resource_name, vcenter + ) + + +def delete_vcenter( + client: VCentersOperations, + resource_group_name, + resource_name, + force=False, + no_wait=False, +): + + return sdk_no_wait( + no_wait, client.begin_delete, resource_group_name, resource_name, force + ) + + +def show_vcenter(client: VCentersOperations, resource_group_name, resource_name): + + return client.get(resource_group_name, resource_name) + + +def list_vcenter(client: VCentersOperations, resource_group_name=None): + + if resource_group_name: + return client.list_by_resource_group(resource_group_name) + return client.list() + + +# endregion + +# region ResourcePools + + +def create_resource_pool( + cmd, + client: ResourcePoolsOperations, + resource_group_name, + resource_name, + custom_location, + location, + vcenter=None, + mo_ref_id=None, + inventory_item=None, + tags=None, + no_wait=False, +): + + if mo_ref_id is None and inventory_item is None: + raise CLIError( + "Missing parameter, provide either mo_ref_id or inventory_item id." + ) + + custom_location_id = get_resource_id( + cmd, + resource_group_name, + EXTENDED_LOCATION_NAMESPACE, + CUSTOM_LOCATION_RESOURCE_TYPE, + custom_location, + ) + + extended_location = ExtendedLocation( + type=EXTENDED_LOCATION_TYPE, name=custom_location_id + ) + + inventory_item_id = None + vcenter_id = None + + if inventory_item is not None: + inventory_item_id = get_resource_id( + cmd, + resource_group_name, + VMWARE_NAMESPACE, + VCENTER_RESOURCE_TYPE, + vcenter, + INVENTORY_ITEM_TYPE, + inventory_item, + ) + else: + if vcenter is None: + raise CLIError("Missing parameter, provide vcenter name or id.") + + vcenter_id = get_resource_id( + cmd, resource_group_name, VMWARE_NAMESPACE, VCENTER_RESOURCE_TYPE, vcenter + ) + + if inventory_item_id is not None: + resource_pool = ResourcePool( + location=location, + extended_location=extended_location, + inventory_item_id=inventory_item_id, + ) + else: + resource_pool = ResourcePool( + location=location, + extended_location=extended_location, + v_center_id=vcenter_id, + mo_ref_id=mo_ref_id, + ) + + return sdk_no_wait( + no_wait, client.begin_create, resource_group_name, resource_name, resource_pool + ) + + +def delete_resource_pool( + client: ResourcePoolsOperations, + resource_group_name, + resource_name, + force=False, + no_wait=False, +): + + return sdk_no_wait( + no_wait, client.begin_delete, resource_group_name, resource_name, force + ) + + +def show_resource_pool( + client: ResourcePoolsOperations, resource_group_name, resource_name +): + + return client.get(resource_group_name, resource_name) + + +def list_resource_pool(client: ResourcePoolsOperations, resource_group_name=None): + + if resource_group_name: + return client.list_by_resource_group(resource_group_name) + return client.list() + + +# endregion + +# region VirtualNetworks + + +def create_virtual_network( + cmd, + client: VirtualNetworksOperations, + resource_group_name, + resource_name, + custom_location, + location, + vcenter=None, + mo_ref_id=None, + inventory_item=None, + tags=None, + no_wait=False, +): + + if mo_ref_id is None and inventory_item is None: + raise CLIError( + "Missing parameter, provide either mo_ref_id or inventory_item id." + ) + + custom_location_id = get_resource_id( + cmd, + resource_group_name, + EXTENDED_LOCATION_NAMESPACE, + CUSTOM_LOCATION_RESOURCE_TYPE, + custom_location, + ) + + extended_location = ExtendedLocation( + type=EXTENDED_LOCATION_TYPE, name=custom_location_id + ) + + inventory_item_id = None + vcenter_id = None + + if inventory_item is not None: + inventory_item_id = get_resource_id( + cmd, + resource_group_name, + VMWARE_NAMESPACE, + VCENTER_RESOURCE_TYPE, + vcenter, + INVENTORY_ITEM_TYPE, + inventory_item, + ) + else: + if vcenter is None: + raise CLIError("Missing parameter, provide vcenter name or id.") + + vcenter_id = get_resource_id( + cmd, resource_group_name, VMWARE_NAMESPACE, VCENTER_RESOURCE_TYPE, vcenter + ) + + if inventory_item_id is not None: + virtual_network = VirtualNetwork( + location=location, + extended_location=extended_location, + inventory_item_id=inventory_item_id, + ) + else: + virtual_network = VirtualNetwork( + location=location, + extended_location=extended_location, + v_center_id=vcenter_id, + mo_ref_id=mo_ref_id, + ) + + return sdk_no_wait( + no_wait, + client.begin_create, + resource_group_name, + resource_name, + virtual_network, + ) + + +def delete_virtual_network( + client: VirtualNetworksOperations, + resource_group_name, + resource_name, + force=False, + no_wait=False, +): + + return sdk_no_wait( + no_wait, client.begin_delete, resource_group_name, resource_name, force + ) + + +def show_virtual_network( + client: VirtualNetworksOperations, resource_group_name, resource_name +): + + return client.get(resource_group_name, resource_name) + + +def list_virtual_network( + client: VirtualNetworksOperations, resource_group_name=None +): + + if resource_group_name: + return client.list_by_resource_group(resource_group_name) + return client.list() + + +# endregion + +# region VirtualMachineTemplates + + +def create_vm_template( + cmd, + client: VirtualMachineTemplatesOperations, + resource_group_name, + resource_name, + custom_location, + location, + vcenter=None, + mo_ref_id=None, + inventory_item=None, + tags=None, + no_wait=True, +): + + if mo_ref_id is None and inventory_item is None: + raise CLIError( + "Missing parameter, provide either mo_ref_id or inventory_item id." + ) + + custom_location_id = get_resource_id( + cmd, + resource_group_name, + EXTENDED_LOCATION_NAMESPACE, + CUSTOM_LOCATION_RESOURCE_TYPE, + custom_location, + ) + + extended_location = ExtendedLocation( + type=EXTENDED_LOCATION_TYPE, name=custom_location_id + ) + + inventory_item_id = None + vcenter_id = None + + if inventory_item is not None: + inventory_item_id = get_resource_id( + cmd, + resource_group_name, + VMWARE_NAMESPACE, + VCENTER_RESOURCE_TYPE, + vcenter, + INVENTORY_ITEM_TYPE, + inventory_item, + ) + else: + if vcenter is None: + raise CLIError("Missing parameter, provide vcenter name or id.") + + vcenter_id = get_resource_id( + cmd, resource_group_name, VMWARE_NAMESPACE, VCENTER_RESOURCE_TYPE, vcenter + ) + + if inventory_item_id is not None: + vm_template = VirtualMachineTemplate( + location=location, + extended_location=extended_location, + inventory_item_id=inventory_item_id, + ) + else: + vm_template = VirtualMachineTemplate( + location=location, + extended_location=extended_location, + v_center_id=vcenter_id, + mo_ref_id=mo_ref_id, + ) + + return sdk_no_wait( + no_wait, client.begin_create, resource_group_name, resource_name, vm_template + ) + + +def delete_vm_template( + client: VirtualMachineTemplatesOperations, + resource_group_name, + resource_name, + force=False, + no_wait=False, +): + + return sdk_no_wait( + no_wait, client.begin_delete, resource_group_name, resource_name, force + ) + + +def show_vm_template( + client: VirtualMachineTemplatesOperations, resource_group_name, resource_name +): + + return client.get(resource_group_name, resource_name) + + +def list_vm_template( + client: VirtualMachineTemplatesOperations, resource_group_name=None +): + + if resource_group_name: + return client.list_by_resource_group(resource_group_name) + return client.list() + + +# endregion + +# region VirtualMachines + +def create_vm( + cmd, + client: VirtualMachinesOperations, + resource_group_name, + resource_name, + custom_location, + location, + vcenter=None, + resource_pool=None, + vm_template=None, + inventory_item=None, + admin_username=None, + admin_password=None, + num_CPUs=None, + num_cores_per_socket=None, + memory_size=None, + nics=None, + disks=None, + tags=None, + no_wait=False, +): + + if vm_template is None and inventory_item is None: + raise CLIError( + "Missing parameter, provide either vm_template or inventory_item id." + ) + + hardware_profile = None + os_profile = None + network_profile = None + storage_profile = None + + if num_CPUs is not None or memory_size is not None: + hardware_profile = HardwareProfile( + memory_size_mb=memory_size, + num_cp_us=num_CPUs, + num_cores_per_socket=num_cores_per_socket, + ) + + if admin_password is not None: + os_profile = OsProfile( + admin_username=admin_username, admin_password=admin_password + ) + + if nics is not None: + network_profile = NetworkProfile( + network_interfaces=get_network_interfaces( + cmd, resource_group_name, nics + ) + ) + + if disks is not None: + storage_profile = StorageProfile( + disks=get_disks(disks) + ) + + custom_location_id = get_resource_id( + cmd, + resource_group_name, + EXTENDED_LOCATION_NAMESPACE, + CUSTOM_LOCATION_RESOURCE_TYPE, + custom_location, + ) + + extended_location = ExtendedLocation( + type=EXTENDED_LOCATION_TYPE, name=custom_location_id + ) + + inventory_item_id = None + vcenter_id = None + vm_template_id = None + resource_pool_id = None + + if inventory_item is not None: + inventory_item_id = get_resource_id( + cmd, + resource_group_name, + VMWARE_NAMESPACE, + VCENTER_RESOURCE_TYPE, + vcenter, + INVENTORY_ITEM_TYPE, + inventory_item, + ) + else: + if vcenter is None: + raise CLIError("Missing parameter, provide vcenter name or id.") + + vcenter_id = get_resource_id( + cmd, resource_group_name, VMWARE_NAMESPACE, VCENTER_RESOURCE_TYPE, vcenter + ) + + if vm_template is not None: + vm_template_id = get_resource_id( + cmd, + resource_group_name, + VMWARE_NAMESPACE, + VMTEMPLATE_RESOURCE_TYPE, + vm_template, + ) + + if resource_pool is not None: + resource_pool_id = get_resource_id( + cmd, + resource_group_name, + VMWARE_NAMESPACE, + RESOURCEPOOL_RESOURCE_TYPE, + resource_pool, + ) + + if inventory_item_id is not None: + vm = VirtualMachine( + location=location, + extended_location=extended_location, + hardware_profile=hardware_profile, + os_profile=os_profile, + network_profile=network_profile, + storage_profile=storage_profile, + inventory_item_id=inventory_item_id, + ) + else: + vm = VirtualMachine( + location=location, + extended_location=extended_location, + v_center_id=vcenter_id, + resource_pool_id=resource_pool_id, + template_id=vm_template_id, + hardware_profile=hardware_profile, + os_profile=os_profile, + network_profile=network_profile, + storage_profile=storage_profile, + ) + + return sdk_no_wait( + no_wait, client.begin_create, resource_group_name, resource_name, vm + ) + + +def update_vm( + client: VirtualMachinesOperations, + resource_group_name, + resource_name, + num_CPUs=None, + num_cores_per_socket=None, + memory_size=None, + tags=None, + no_wait=False, +): + + hardware_profile = None + + if ( + num_CPUs is None and + num_cores_per_socket is None and + memory_size is None and + tags is None + ): + raise CLIError("No inputs were given to update the vm.") + + if ( + num_CPUs is not None or + num_cores_per_socket is not None or + memory_size is not None + ): + hardware_profile = HardwareProfile( + memory_size_mb=memory_size, + num_cp_us=num_CPUs, + num_cores_per_socket=num_cores_per_socket, + ) + + vm_update = VirtualMachineUpdate(hardware_profile=hardware_profile) + return sdk_no_wait( + no_wait, + client.begin_update, + resource_group_name, + resource_name, + vm_update, + tags, + ) + + +def delete_vm( + client: VirtualMachinesOperations, + resource_group_name, + resource_name, + force=False, + no_wait=False, +): + + return sdk_no_wait( + no_wait, client.begin_delete, resource_group_name, resource_name, force + ) + + +def show_vm(client: VirtualMachinesOperations, resource_group_name, resource_name): + + return client.get(resource_group_name, resource_name) + + +def list_vm(client: VirtualMachinesOperations, resource_group_name=None): + + if resource_group_name: + return client.list_by_resource_group(resource_group_name) + return client.list() + + +def start_vm( + client: VirtualMachinesOperations, + resource_group_name, + resource_name, + no_wait=False, +): + + return sdk_no_wait(no_wait, client.begin_start, resource_group_name, resource_name) + + +def stop_vm( + client: VirtualMachinesOperations, + resource_group_name, + resource_name, + skip_shutdown=False, + no_wait=False, +): + body = StopVirtualMachineOptions(skip_shutdown=skip_shutdown) + + return sdk_no_wait( + no_wait, + client.begin_stop, + resource_group_name, + resource_name, + body + ) + + +def restart_vm( + client: VirtualMachinesOperations, + resource_group_name, + resource_name, + no_wait=False, +): + + return sdk_no_wait( + no_wait, client.begin_restart, resource_group_name, resource_name + ) + + +def get_network_interfaces( + cmd, resource_group_name, input_nics +): + """ + Gets network interfaces from the given input. + """ + + nics = [] + + for input_nic in input_nics: + nic = NetworkInterface( + power_on_boot=PowerOnBootOption.enabled, nic_type=NICType.vmxnet3 + ) + + ip_settings = NicIPSettings(allocation_method=IPAddressAllocationMethod.dynamic) + + for key, value in input_nic.items(): + if key == NETWORK: + nic.network_id = get_resource_id( + cmd, + resource_group_name, + VMWARE_NAMESPACE, + VIRTUALNETWORK_RESOURCE_TYPE, + value, + ) + elif key == NAME_PARAMETER: + nic.name = value + elif key == DEVICE_KEY: + nic.device_key = value + elif key == NIC_TYPE: + nic.nic_type = value + elif key == POWER_ON_BOOT: + nic.power_on_boot = value + elif key == ALLOCATION_METHOD: + ip_settings.allocation_method = value + elif key == IP_ADDRESS: + ip_settings.ip_address = value + elif key == SUBNET_MASK: + ip_settings.subnet_mask = value + elif key == GATEWAY: + ip_settings.gateway = value.split(GATEWAY_SEPERATOR) + else: + raise CLIError( + 'Invalid parameter: {name} specified for nic.'.format(name=key) + ) + + nic.ip_settings = ip_settings + nics.append(nic) + return nics + + +def get_disks(input_disks): + """ + Gets disks from the given input. + """ + + disks = [] + for input_disk in input_disks: + disk = VirtualDisk() + for key, value in input_disk.items(): + if key == NAME_PARAMETER: + disk.name = value + elif key == DEVICE_KEY: + disk.device_key = value + elif key == DISK_MODE: + disk.disk_mode = value + elif key == DISK_SIZE: + disk.disk_size_gb = value + elif key == CONTROLLER_KEY: + disk.controller_key = value + elif key == UNIT_NUMBER: + disk.unit_number = value + else: + raise CLIError( + 'Invalid parameter: {name} specified for disk.'.format(name=key) + ) + disks.append(disk) + return disks + + +# endregion + +# region VirtualMachine Nics. + + +def add_nic( + cmd, + client: VirtualMachinesOperations, + resource_group_name, + vm_name, + nic_name, + network, + nic_type=NICType.vmxnet3.name, + power_on_boot=PowerOnBootOption.disabled.name, + no_wait=False, +): + """ + Add virtual network interface to a virtual machine. + """ + + network_id = get_resource_id( + cmd, + resource_group_name, + VMWARE_NAMESPACE, + VIRTUALNETWORK_RESOURCE_TYPE, + network, + ) + + nic_to_add = NetworkInterfaceUpdate( + name=nic_name, + network_id=network_id, + power_on_boot=power_on_boot, + nic_type=nic_type, + ) + + nics_update = [] + vm = client.get(resource_group_name, vm_name) + if ( + vm.network_profile is not None and + vm.network_profile.network_interfaces is not None + ): + for nic in vm.network_profile.network_interfaces: + nic_update = NetworkInterfaceUpdate( + name=nic.name, + network_id=nic.network_id, + power_on_boot=nic.power_on_boot, + nic_type=nic.nic_type, + device_key=nic.device_key, + ) + nics_update.append(nic_update) + + nics_update.append(nic_to_add) + network_profile = NetworkProfileUpdate(network_interfaces=nics_update) + vm_update = VirtualMachineUpdate(network_profile=network_profile) + + return sdk_no_wait( + no_wait, client.begin_update, resource_group_name, vm_name, vm_update + ) + + +def update_nic( + cmd, + client: VirtualMachinesOperations, + resource_group_name, + vm_name, + nic_name=None, + network=None, + power_on_boot=None, + device_key=None, + no_wait=False, +): + """ + Update virtual network interface of a virtual machine. + """ + + if nic_name is None and device_key is None: + raise CLIError( + "Either nic name or device key must be specified to update the nic." + ) + + network_id = None + if network is not None: + network_id = get_resource_id( + cmd, + resource_group_name, + VMWARE_NAMESPACE, + VIRTUALNETWORK_RESOURCE_TYPE, + network, + ) + + nics_update = [] + nic_found = False + vm = client.get(resource_group_name, vm_name) + if ( + vm.network_profile is not None and + vm.network_profile.network_interfaces is not None + ): + for nic in vm.network_profile.network_interfaces: + nic_update = NetworkInterfaceUpdate( + name=nic.name, + network_id=nic.network_id, + power_on_boot=nic.power_on_boot, + nic_type=nic.nic_type, + device_key=nic.device_key, + ) + + if (nic_name is not None and nic.name == nic_name) or ( + device_key is not None and nic.device_key == device_key + ): + + # Validate nic name is matching with the expected device key if both were given in + # the input when name is already assigned to the nic. + if ( + nic_name is not None and + nic.name is not None and + nic.name != nic_name + ) or (device_key is not None and nic.device_key != device_key): + raise CLIError( + "Incorrect nic-name and device-key combination, Expected " + + "nic-name: " + + nic.name + + ", device-key: " + + str(nic.device_key) + + "." + ) + + nic_found = True + if nic.name is None and nic_name is not None: + nic_update.name = nic_name + if network_id is not None: + nic_update.network_id = network_id + if power_on_boot is not None: + nic_update.power_on_boot = power_on_boot + + nics_update.append(nic_update) + + if not nic_found: + raise CLIError("Given nic is not present in the virtual machine.") + + network_profile = NetworkProfileUpdate(network_interfaces=nics_update) + vm_update = VirtualMachineUpdate(network_profile=network_profile) + + return sdk_no_wait( + no_wait, client.begin_update, resource_group_name, vm_name, vm_update + ) + + +def list_nics(client: VirtualMachinesOperations, resource_group_name, vm_name): + """ + List details of a virtual machine nics. + """ + + vm = client.get(resource_group_name, vm_name) + if vm.network_profile is not None: + return vm.network_profile.network_interfaces + return None + + +def show_nic(client: VirtualMachinesOperations, resource_group_name, vm_name, nic_name): + """ + Get the details of a virtual machine nic. + """ + + vm = client.get(resource_group_name, vm_name) + if ( + vm.network_profile is not None and + vm.network_profile.network_interfaces is not None + ): + for nic in vm.network_profile.network_interfaces: + if nic.name == nic_name: + return nic + return None + + +def delete_nics( + client: VirtualMachinesOperations, + resource_group_name, + vm_name, + nic_names, + no_wait=False, +): + """ + Delete virtual network interfaces from virtual machine. + """ + + # Dictionary to maintain the nics to delete. + nics_to_delete = {} + for nic_name in nic_names: + nics_to_delete[nic_name] = True + + nics_update = [] + vm = client.get(resource_group_name, vm_name) + if ( + vm.network_profile is not None and + vm.network_profile.network_interfaces is not None + ): + for nic in vm.network_profile.network_interfaces: + if nic.name in nics_to_delete: + nics_to_delete[nic.name] = False + continue + nic_update = NetworkInterfaceUpdate( + name=nic.name, + network_id=nic.network_id, + power_on_boot=nic.power_on_boot, + nic_type=nic.nic_type, + device_key=nic.device_key, + ) + nics_update.append(nic_update) + + not_found_nics = "" + for nic_name in nics_to_delete: + if nics_to_delete[nic_name]: + not_found_nics = not_found_nics + nic_name + ", " + if not_found_nics != "": + raise CLIError( + "Nics with name " + + not_found_nics + + 'not present in the given virtual machine.' + ) + + network_profile = NetworkProfileUpdate(network_interfaces=nics_update) + vm_update = VirtualMachineUpdate(network_profile=network_profile) + + return sdk_no_wait( + no_wait, client.begin_update, resource_group_name, vm_name, vm_update + ) + + +# endregion + +# region VirtualMachine Disks. + + +def add_disk( + client: VirtualMachinesOperations, + resource_group_name, + vm_name, + disk_name, + disk_size, + controller_key, + disk_mode=DiskMode.persistent.name, + unit_number=None, + no_wait=False, +): + """ + Add virtual disk to a virtual machine. + """ + + disk_to_add = VirtualDiskUpdate( + name=disk_name, + disk_size_gb=disk_size, + disk_mode=disk_mode, + controller_key=controller_key, + unit_number=unit_number, + ) + + disks_update = [] + vm = client.get(resource_group_name, vm_name) + if vm.storage_profile is not None and vm.storage_profile.disks is not None: + for disk in vm.storage_profile.disks: + disk_update = VirtualDiskUpdate( + name=disk.name, + disk_size_gb=disk.disk_size_gb, + disk_mode=disk.disk_mode, + controller_key=disk.controller_key, + unit_number=disk.unit_number, + device_key=disk.device_key, + ) + disks_update.append(disk_update) + + disks_update.append(disk_to_add) + storage_profile = StorageProfileUpdate(disks=disks_update) + vm_update = VirtualMachineUpdate(storage_profile=storage_profile) + + return sdk_no_wait( + no_wait, client.begin_update, resource_group_name, vm_name, vm_update + ) + + +def update_disk( + client: VirtualMachinesOperations, + resource_group_name, + vm_name, + disk_name=None, + disk_size=None, + controller_key=None, + disk_mode=None, + unit_number=None, + device_key=None, + no_wait=False, +): + """ + Update virtual disk of a virtual machine. + """ + + if disk_name is None and device_key is None: + raise CLIError( + "Either disk name or device key must be specified to update the disk." + ) + + disks_update = [] + disk_found = False + vm = client.get(resource_group_name, vm_name) + if vm.storage_profile is not None and vm.storage_profile.disks is not None: + for disk in vm.storage_profile.disks: + disk_update = VirtualDiskUpdate( + name=disk.name, + disk_size_gb=disk.disk_size_gb, + disk_mode=disk.disk_mode, + controller_key=disk.controller_key, + unit_number=disk.unit_number, + device_key=disk.device_key, + ) + + if (disk_name is not None and disk.name == disk_name) or ( + device_key is not None and disk.device_key == device_key + ): + + # Validate disk name is matching with the expected device key if both were given in + # the input when name is already assigned to the disk. + if ( + disk_name is not None and + disk.name is not None and + disk.name != disk_name + ) or (device_key is not None and disk.device_key != device_key): + raise CLIError( + "Incorrect disk-name and device-key combination, Expected " + "disk-name: " + + disk.name + + ", device-key: " + + str(disk.device_key) + + "." + ) + + disk_found = True + if disk.name is None and disk_name is not None: + disk_update.name = disk_name + if disk_size is not None: + disk_update.disk_size_gb = disk_size + if disk_mode is not None: + disk_update.disk_mode = disk_mode + if controller_key is not None: + disk_update.controller_key = controller_key + if unit_number is not None: + disk_update.unit_number = unit_number + + disks_update.append(disk_update) + + if not disk_found: + raise CLIError("Given disk is not present in the virtual machine.") + + storage_profile = StorageProfileUpdate(disks=disks_update) + vm_update = VirtualMachineUpdate(storage_profile=storage_profile) + + return sdk_no_wait( + no_wait, client.begin_update, resource_group_name, vm_name, vm_update + ) + + +def list_disks(client: VirtualMachinesOperations, resource_group_name, vm_name): + """ + List details of a virtual machine disks. + """ + + vm = client.get(resource_group_name, vm_name) + if vm.storage_profile is not None: + return vm.storage_profile.disks + return None + + +def show_disk( + client: VirtualMachinesOperations, resource_group_name, vm_name, disk_name +): + """ + Get the details of a virtual machine disk. + """ + + vm = client.get(resource_group_name, vm_name) + if vm.storage_profile is not None and vm.storage_profile.disks is not None: + for disk in vm.storage_profile.disks: + if disk.name == disk_name: + return disk + return None + + +def delete_disks( + client: VirtualMachinesOperations, + resource_group_name, + vm_name, + disk_names, + no_wait=False, +): + """ + Delete virtual disks from virtual machine. + """ + + # Dictionary to maintain the disks to delete. + disks_to_delete = {} + for disk_name in disk_names: + disks_to_delete[disk_name] = True + + disks_update = [] + vm = client.get(resource_group_name, vm_name) + if vm.storage_profile is not None and vm.storage_profile.disks is not None: + for disk in vm.storage_profile.disks: + if disk.name in disks_to_delete: + disks_to_delete[disk.name] = False + continue + disk_update = VirtualDiskUpdate( + name=disk.disk_name, + disk_size_gb=disk.disk_size_gb, + disk_mode=disk.disk_mode, + controller_key=disk.controller_key, + unit_number=disk.unit_number, + device_key=disk.device_key, + ) + disks_update.append(disk_update) + + not_found_disks = "" + for disk_name in disks_to_delete: + if disks_to_delete[disk_name]: + not_found_disks = not_found_disks + disk_name + ", " + if not_found_disks != "": + raise CLIError( + "Disks with name " + + not_found_disks + + "not present in the given virtual machine." + ) + + storage_profile = StorageProfileUpdate(disks=disks_update) + vm_update = VirtualMachineUpdate(storage_profile=storage_profile) + + return sdk_no_wait( + no_wait, client.begin_update, resource_group_name, vm_name, vm_update + ) + + +# endregion + +# region InventoryItems + + +def show_inventory_item( + client: InventoryItemsOperations, + resource_group_name, + vcenter_name, + inventory_item_name +): + + return client.get(resource_group_name, vcenter_name, inventory_item_name) + + +def list_inventory_item( + client: InventoryItemsOperations, resource_group_name, vcenter_name +): + + return client.list_by_v_center(resource_group_name, vcenter_name) + + +# endregion diff --git a/src/connectedvmware/azext_connectedvmware/tests/__init__.py b/src/connectedvmware/azext_connectedvmware/tests/__init__.py new file mode 100644 index 00000000000..99c0f28cd71 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/tests/__init__.py @@ -0,0 +1,5 @@ +# ----------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# ----------------------------------------------------------------------------- diff --git a/src/connectedvmware/azext_connectedvmware/tests/latest/__init__.py b/src/connectedvmware/azext_connectedvmware/tests/latest/__init__.py new file mode 100644 index 00000000000..99c0f28cd71 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/tests/latest/__init__.py @@ -0,0 +1,5 @@ +# ----------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# ----------------------------------------------------------------------------- diff --git a/src/connectedvmware/azext_connectedvmware/tests/latest/recordings/test_connectedvmware.yaml b/src/connectedvmware/azext_connectedvmware/tests/latest/recordings/test_connectedvmware.yaml new file mode 100644 index 00000000000..6f77911a876 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/tests/latest/recordings/test_connectedvmware.yaml @@ -0,0 +1,2048 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - connectedvmware vcenter show + Connection: + - keep-alive + ParameterSetName: + - -g --name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/vcenters/azcli-test-vcenter-avs?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/vcenters/azcli-test-vcenter-avs","name":"azcli-test-vcenter-avs","type":"microsoft.connectedvmwarevsphere/vcenters","kind":"VMware","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/azcli-test-rg/providers/microsoft.extendedlocation/customlocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-05-17T11:38:14.9072191Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2021-05-17T11:38:32.5791082Z"},"properties":{"credentials":{"username":"cloudadmin@vsphere.local"},"fqdn":"10.160.0.2","port":443,"provisioningState":"Succeeded","customResourceName":"fc8fce52-028e-4b61-b931-9a5902ab5a81","uuid":"fc8fce52-028e-4b61-b931-9a5902ab5a81","version":"6.7.0","instanceUuid":"4ea21e20-2883-44e4-9224-0a48dfff2a81","connectionStatus":"Connected"}}' + headers: + cache-control: + - no-cache + content-length: + - '1093' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 20 May 2021 08:37:50 GMT + etag: + - '"03005e99-0000-3400-0000-60a255b90000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - connectedvmware vcenter list + Connection: + - keep-alive + ParameterSetName: + - -g + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/vcenters?api-version=2020-10-01-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/vcenters/azcli-test-vcenter-avs","name":"azcli-test-vcenter-avs","type":"microsoft.connectedvmwarevsphere/vcenters","kind":"VMware","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/azcli-test-rg/providers/microsoft.extendedlocation/customlocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-05-17T11:38:14.9072191Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2021-05-17T11:38:32.5791082Z"},"properties":{"credentials":{"username":"cloudadmin@vsphere.local"},"fqdn":"10.160.0.2","port":443,"provisioningState":"Succeeded","customResourceName":"fc8fce52-028e-4b61-b931-9a5902ab5a81","uuid":"fc8fce52-028e-4b61-b931-9a5902ab5a81","version":"6.7.0","instanceUuid":"4ea21e20-2883-44e4-9224-0a48dfff2a81","connectionStatus":"Connected"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '1105' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 20 May 2021 08:37:52 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: '{"location": "eastus2euap", "extendedLocation": {"type": "CustomLocation", + "name": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"}, + "properties": {"vCenterId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/VCenters/azcli-test-vcenter-avs", + "moRefId": "resgroup-5034"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - connectedvmware resource-pool create + Connection: + - keep-alive + Content-Length: + - '454' + Content-Type: + - application/json + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/resourcePools/azcli-test-resource-pool?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/resourcePools/azcli-test-resource-pool","name":"azcli-test-resource-pool","type":"microsoft.connectedvmwarevsphere/resourcepools","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-05-20T08:37:55.6347759Z","lastModifiedBy":"sanmishra@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-05-20T08:37:55.6347759Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/VCenters/azcli-test-vcenter-avs","moRefId":"resgroup-5034","provisioningState":"Accepted"}}' + headers: + api-supported-versions: + - 2019-12-20-privatepreview, 2020-10-01-preview + azure-asyncoperation: + - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/7a3ba638-76c1-462c-9eda-3ab3e685d8c6?api-version=2020-10-01-preview + cache-control: + - no-cache + content-length: + - '972' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 20 May 2021 08:37:57 GMT + etag: + - '"00006fb2-0000-3400-0000-60a61fe50000"' + expires: + - '-1' + location: + - /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/ResourcePools/azcli-test-resource-pool + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - connectedvmware resource-pool create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/7a3ba638-76c1-462c-9eda-3ab3e685d8c6?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/7a3ba638-76c1-462c-9eda-3ab3e685d8c6","name":"7a3ba638-76c1-462c-9eda-3ab3e685d8c6","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/resourcePools/azcli-test-resource-pool","status":"Succeeded","startTime":"2021-05-20T08:37:57.5788707Z","endTime":"2021-05-20T08:38:02.9907921Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '476' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 20 May 2021 08:38:28 GMT + etag: + - '"0300235b-0000-3400-0000-60a61fea0000"' + expires: + - '-1' + pragma: + - no-cache + strict-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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - connectedvmware resource-pool create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/resourcePools/azcli-test-resource-pool?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/resourcePools/azcli-test-resource-pool","name":"azcli-test-resource-pool","type":"microsoft.connectedvmwarevsphere/resourcepools","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-05-20T08:37:55.6347759Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2021-05-20T08:38:02.7469224Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/VCenters/azcli-test-vcenter-avs","moRefId":"resgroup-5034","provisioningState":"Succeeded","customResourceName":"4f76ae05-2004-4d3b-bcde-372ef167b680","uuid":"4f76ae05-2004-4d3b-bcde-372ef167b680","moName":"SanmishraResourcePool","cpuSharesLevel":"normal","cpuLimitMHz":-1,"memSharesLevel":"normal","memLimitMB":-1}}' + headers: + cache-control: + - no-cache + content-length: + - '1217' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 20 May 2021 08:38:28 GMT + etag: + - '"000075b2-0000-3400-0000-60a61feb0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - connectedvmware resource-pool show + Connection: + - keep-alive + ParameterSetName: + - -g --name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/resourcePools/azcli-test-resource-pool?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/resourcePools/azcli-test-resource-pool","name":"azcli-test-resource-pool","type":"microsoft.connectedvmwarevsphere/resourcepools","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-05-20T08:37:55.6347759Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2021-05-20T08:38:02.7469224Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/VCenters/azcli-test-vcenter-avs","moRefId":"resgroup-5034","provisioningState":"Succeeded","customResourceName":"4f76ae05-2004-4d3b-bcde-372ef167b680","uuid":"4f76ae05-2004-4d3b-bcde-372ef167b680","moName":"SanmishraResourcePool","cpuSharesLevel":"normal","cpuLimitMHz":-1,"memSharesLevel":"normal","memLimitMB":-1}}' + headers: + cache-control: + - no-cache + content-length: + - '1217' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 20 May 2021 08:38:30 GMT + etag: + - '"000075b2-0000-3400-0000-60a61feb0000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - connectedvmware resource-pool list + Connection: + - keep-alive + ParameterSetName: + - -g + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/resourcePools?api-version=2020-10-01-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/resourcePools/azcli-test-resource-pool","name":"azcli-test-resource-pool","type":"microsoft.connectedvmwarevsphere/resourcepools","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-05-20T08:37:55.6347759Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2021-05-20T08:38:02.7469224Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/VCenters/azcli-test-vcenter-avs","moRefId":"resgroup-5034","provisioningState":"Succeeded","customResourceName":"4f76ae05-2004-4d3b-bcde-372ef167b680","uuid":"4f76ae05-2004-4d3b-bcde-372ef167b680","moName":"SanmishraResourcePool","cpuSharesLevel":"normal","cpuLimitMHz":-1,"memSharesLevel":"normal","memLimitMB":-1}}]}' + headers: + cache-control: + - no-cache + content-length: + - '1229' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 20 May 2021 08:38:31 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: '{"location": "eastus2euap", "extendedLocation": {"type": "CustomLocation", + "name": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"}, + "properties": {"vCenterId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/VCenters/azcli-test-vcenter-avs", + "moRefId": "network-o761"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - connectedvmware virtual-network create + Connection: + - keep-alive + Content-Length: + - '453' + Content-Type: + - application/json + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks/azcli-test-virtual-network?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks/azcli-test-virtual-network","name":"azcli-test-virtual-network","type":"microsoft.connectedvmwarevsphere/virtualnetworks","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-05-20T08:38:34.5568052Z","lastModifiedBy":"sanmishra@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-05-20T08:38:34.5568052Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/VCenters/azcli-test-vcenter-avs","moRefId":"network-o761","provisioningState":"Accepted"}}' + headers: + api-supported-versions: + - 2019-12-20-privatepreview, 2020-10-01-preview + azure-asyncoperation: + - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/6706dad8-f453-402e-91f8-d3cb5c8b8835?api-version=2020-10-01-preview + cache-control: + - no-cache + content-length: + - '979' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 20 May 2021 08:38:36 GMT + etag: + - '"03003f3e-0000-3400-0000-60a6200c0000"' + expires: + - '-1' + location: + - /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/VirtualNetworks/azcli-test-virtual-network + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - connectedvmware virtual-network create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/6706dad8-f453-402e-91f8-d3cb5c8b8835?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/6706dad8-f453-402e-91f8-d3cb5c8b8835","name":"6706dad8-f453-402e-91f8-d3cb5c8b8835","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks/azcli-test-virtual-network","status":"Succeeded","startTime":"2021-05-20T08:38:36.2649736Z","endTime":"2021-05-20T08:38:40.8917984Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '480' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 20 May 2021 08:39:06 GMT + etag: + - '"0300285b-0000-3400-0000-60a620100000"' + expires: + - '-1' + pragma: + - no-cache + strict-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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - connectedvmware virtual-network create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks/azcli-test-virtual-network?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks/azcli-test-virtual-network","name":"azcli-test-virtual-network","type":"microsoft.connectedvmwarevsphere/virtualnetworks","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-05-20T08:38:34.5568052Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2021-05-20T08:38:40.6787229Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/VCenters/azcli-test-vcenter-avs","moRefId":"network-o761","provisioningState":"Succeeded","customResourceName":"cf74f72f-b211-4c33-9d71-436729f9b46e","uuid":"cf74f72f-b211-4c33-9d71-436729f9b46e","moName":"segment-2"}}' + headers: + cache-control: + - no-cache + content-length: + - '1127' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 20 May 2021 08:39:07 GMT + etag: + - '"0300453e-0000-3400-0000-60a620100000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - connectedvmware virtual-network show + Connection: + - keep-alive + ParameterSetName: + - -g --name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks/azcli-test-virtual-network?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks/azcli-test-virtual-network","name":"azcli-test-virtual-network","type":"microsoft.connectedvmwarevsphere/virtualnetworks","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-05-20T08:38:34.5568052Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2021-05-20T08:38:40.6787229Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/VCenters/azcli-test-vcenter-avs","moRefId":"network-o761","provisioningState":"Succeeded","customResourceName":"cf74f72f-b211-4c33-9d71-436729f9b46e","uuid":"cf74f72f-b211-4c33-9d71-436729f9b46e","moName":"segment-2"}}' + headers: + cache-control: + - no-cache + content-length: + - '1127' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 20 May 2021 08:39:09 GMT + etag: + - '"0300453e-0000-3400-0000-60a620100000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - connectedvmware virtual-network list + Connection: + - keep-alive + ParameterSetName: + - -g + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks?api-version=2020-10-01-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks/azcli-test-virtual-network","name":"azcli-test-virtual-network","type":"microsoft.connectedvmwarevsphere/virtualnetworks","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-05-20T08:38:34.5568052Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2021-05-20T08:38:40.6787229Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/VCenters/azcli-test-vcenter-avs","moRefId":"network-o761","provisioningState":"Succeeded","customResourceName":"cf74f72f-b211-4c33-9d71-436729f9b46e","uuid":"cf74f72f-b211-4c33-9d71-436729f9b46e","moName":"segment-2"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '1139' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 20 May 2021 08:39:10 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: '{"location": "eastus2euap", "extendedLocation": {"type": "CustomLocation", + "name": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"}, + "properties": {"vCenterId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/VCenters/azcli-test-vcenter-avs", + "moRefId": "vm-55"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - connectedvmware vm-template create + Connection: + - keep-alive + Content-Length: + - '446' + Content-Type: + - application/json + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates/azcli-test-vm-template?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates/azcli-test-vm-template","name":"azcli-test-vm-template","type":"microsoft.connectedvmwarevsphere/virtualmachinetemplates","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-05-20T08:39:12.5881165Z","lastModifiedBy":"sanmishra@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-05-20T08:39:12.5881165Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/VCenters/azcli-test-vcenter-avs","moRefId":"vm-55","provisioningState":"Accepted"}}' + headers: + api-supported-versions: + - 2019-12-20-privatepreview, 2020-10-01-preview + azure-asyncoperation: + - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/6adcef3a-863d-4f9b-affd-c8ceb7a5d4e6?api-version=2020-10-01-preview + cache-control: + - no-cache + content-length: + - '980' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 20 May 2021 08:39:14 GMT + etag: + - '"00003985-0000-3400-0000-60a620320000"' + expires: + - '-1' + location: + - /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/VirtualMachineTemplates/azcli-test-vm-template + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - connectedvmware vm-template create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/6adcef3a-863d-4f9b-affd-c8ceb7a5d4e6?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/6adcef3a-863d-4f9b-affd-c8ceb7a5d4e6","name":"6adcef3a-863d-4f9b-affd-c8ceb7a5d4e6","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates/azcli-test-vm-template","status":"Succeeded","startTime":"2021-05-20T08:39:14.1707703Z","endTime":"2021-05-20T08:39:17.3225485Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '484' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 20 May 2021 08:39:44 GMT + etag: + - '"03002c5b-0000-3400-0000-60a620350000"' + expires: + - '-1' + pragma: + - no-cache + strict-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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - connectedvmware vm-template create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --mo-ref-id --name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates/azcli-test-vm-template?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates/azcli-test-vm-template","name":"azcli-test-vm-template","type":"microsoft.connectedvmwarevsphere/virtualmachinetemplates","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-05-20T08:39:12.5881165Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2021-05-20T08:39:17.0717431Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/VCenters/azcli-test-vcenter-avs","moRefId":"vm-55","provisioningState":"Succeeded","customResourceName":"7eeb56cf-13e8-48e6-b209-534a82e21b45","uuid":"7eeb56cf-13e8-48e6-b209-534a82e21b45","networkInterfaces":[{"name":"nic_1","label":"Network + adapter 1","macAddress":"00:50:56:93:2b:71","networkMoRefId":"network-o50","networkMoName":"segment-1","nicType":"vmxnet3","deviceKey":4000,"powerOnBoot":"enabled","ipSettings":{"allocationMethod":"unset"}}],"disks":[{"diskObjectId":"1816-2000","name":"disk_1","label":"Hard + disk 1","diskSizeGB":10,"deviceKey":2000,"diskMode":"persistent","controllerKey":1000,"unitNumber":0}],"moName":"azurevmwarecloudtestubuntu","memorySizeMB":1024,"numCPUs":1,"numCoresPerSocket":1,"osType":"Linux","osName":"Ubuntu + Linux (64-bit)","folderPath":"SDDC-Datacenter/Templates"}}' + headers: + cache-control: + - no-cache + content-length: + - '1722' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 20 May 2021 08:39:45 GMT + etag: + - '"00003f85-0000-3400-0000-60a620350000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - connectedvmware vm-template show + Connection: + - keep-alive + ParameterSetName: + - -g --name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates/azcli-test-vm-template?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates/azcli-test-vm-template","name":"azcli-test-vm-template","type":"microsoft.connectedvmwarevsphere/virtualmachinetemplates","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-05-20T08:39:12.5881165Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2021-05-20T08:39:17.0717431Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/VCenters/azcli-test-vcenter-avs","moRefId":"vm-55","provisioningState":"Succeeded","customResourceName":"7eeb56cf-13e8-48e6-b209-534a82e21b45","uuid":"7eeb56cf-13e8-48e6-b209-534a82e21b45","networkInterfaces":[{"name":"nic_1","label":"Network + adapter 1","macAddress":"00:50:56:93:2b:71","networkMoRefId":"network-o50","networkMoName":"segment-1","nicType":"vmxnet3","deviceKey":4000,"powerOnBoot":"enabled","ipSettings":{"allocationMethod":"unset"}}],"disks":[{"diskObjectId":"1816-2000","name":"disk_1","label":"Hard + disk 1","diskSizeGB":10,"deviceKey":2000,"diskMode":"persistent","controllerKey":1000,"unitNumber":0}],"moName":"azurevmwarecloudtestubuntu","memorySizeMB":1024,"numCPUs":1,"numCoresPerSocket":1,"osType":"Linux","osName":"Ubuntu + Linux (64-bit)","folderPath":"SDDC-Datacenter/Templates"}}' + headers: + cache-control: + - no-cache + content-length: + - '1722' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 20 May 2021 08:39:52 GMT + etag: + - '"00003f85-0000-3400-0000-60a620350000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - connectedvmware vm-template list + Connection: + - keep-alive + ParameterSetName: + - -g + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates?api-version=2020-10-01-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates/azcli-test-vm-template","name":"azcli-test-vm-template","type":"microsoft.connectedvmwarevsphere/virtualmachinetemplates","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-05-20T08:39:12.5881165Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2021-05-20T08:39:17.0717431Z"},"properties":{"vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/VCenters/azcli-test-vcenter-avs","moRefId":"vm-55","provisioningState":"Succeeded","customResourceName":"7eeb56cf-13e8-48e6-b209-534a82e21b45","uuid":"7eeb56cf-13e8-48e6-b209-534a82e21b45","networkInterfaces":[{"name":"nic_1","label":"Network + adapter 1","macAddress":"00:50:56:93:2b:71","networkMoRefId":"network-o50","networkMoName":"segment-1","nicType":"vmxnet3","deviceKey":4000,"powerOnBoot":"enabled","ipSettings":{"allocationMethod":"unset"}}],"disks":[{"diskObjectId":"1816-2000","name":"disk_1","label":"Hard + disk 1","diskSizeGB":10,"deviceKey":2000,"diskMode":"persistent","controllerKey":1000,"unitNumber":0}],"moName":"azurevmwarecloudtestubuntu","memorySizeMB":1024,"numCPUs":1,"numCoresPerSocket":1,"osType":"Linux","osName":"Ubuntu + Linux (64-bit)","folderPath":"SDDC-Datacenter/Templates"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '1734' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 20 May 2021 08:39:54 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - connectedvmware inventory-item show + Connection: + - keep-alive + ParameterSetName: + - -g --vcenter-name --inventory-item + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/vcenters/azcli-test-vcenter-avs/inventoryItems/resgroup-5034?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/azcli-test-vcenter-avs/InventoryItems/resgroup-5034","name":"resgroup-5034","type":"microsoft.connectedvmwarevsphere/vcenters/inventoryitems","systemData":{"createdBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","createdByType":"Application","createdAt":"2021-05-17T11:38:31.7591468Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2021-05-20T08:37:53.6705422Z"},"properties":{"inventoryType":"ResourcePool","managedResourceId":"","moRefId":"resgroup-5034","provisioningState":"Succeeded","parent":{"moName":"Resources","inventoryItemId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/azcli-test-vcenter-avs/InventoryItems/resgroup-8"},"moName":"SanmishraResourcePool"}}' + headers: + cache-control: + - no-cache + content-length: + - '954' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 20 May 2021 08:39:55 GMT + etag: + - '"63003b0a-0000-3400-0000-60a61fe10000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: '{"location": "eastus2euap", "extendedLocation": {"type": "CustomLocation", + "name": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"}, + "properties": {"resourcePoolId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/resourcepools/azcli-test-resource-pool", + "templateId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/virtualmachinetemplates/azcli-test-vm-template", + "vCenterId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/VCenters/azcli-test-vcenter-avs"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - connectedvmware vm create + Connection: + - keep-alive + Content-Length: + - '798' + Content-Type: + - application/json + ParameterSetName: + - -g -l --custom-location --vcenter --resource-pool --vm-template --name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-virtual-machine?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-virtual-machine","name":"azcli-test-virtual-machine","type":"microsoft.connectedvmwarevsphere/virtualmachines","kind":"VMware","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-05-20T08:39:58.8473016Z","lastModifiedBy":"sanmishra@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-05-20T08:39:58.8473016Z"},"properties":{"resourcePoolId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/resourcepools/azcli-test-resource-pool","templateId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/virtualmachinetemplates/azcli-test-vm-template","vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/VCenters/azcli-test-vcenter-avs","provisioningState":"Accepted"}}' + headers: + api-supported-versions: + - 2019-12-20-privatepreview, 2020-10-01-preview + azure-asyncoperation: + - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/f2445eee-835c-4a92-bca5-58282a394fe0?api-version=2020-10-01-preview + cache-control: + - no-cache + content-length: + - '1338' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 20 May 2021 08:39:59 GMT + etag: + - '"0f00e332-0000-3400-0000-60a6205f0000"' + expires: + - '-1' + location: + - /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/VirtualMachines/azcli-test-virtual-machine + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - connectedvmware vm create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --resource-pool --vm-template --name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/f2445eee-835c-4a92-bca5-58282a394fe0?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/f2445eee-835c-4a92-bca5-58282a394fe0","name":"f2445eee-835c-4a92-bca5-58282a394fe0","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-virtual-machine","status":"Accepted","startTime":"2021-05-20T08:39:59.3521231Z"}' + headers: + cache-control: + - no-cache + content-length: + - '420' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 20 May 2021 08:40:29 GMT + etag: + - '"03002d5b-0000-3400-0000-60a6205f0000"' + expires: + - '-1' + pragma: + - no-cache + strict-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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - connectedvmware vm create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --resource-pool --vm-template --name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/f2445eee-835c-4a92-bca5-58282a394fe0?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/f2445eee-835c-4a92-bca5-58282a394fe0","name":"f2445eee-835c-4a92-bca5-58282a394fe0","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-virtual-machine","status":"Accepted","startTime":"2021-05-20T08:39:59.3521231Z"}' + headers: + cache-control: + - no-cache + content-length: + - '420' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 20 May 2021 08:41:01 GMT + etag: + - '"03002d5b-0000-3400-0000-60a6205f0000"' + expires: + - '-1' + pragma: + - no-cache + strict-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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - connectedvmware vm create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --resource-pool --vm-template --name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/f2445eee-835c-4a92-bca5-58282a394fe0?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/f2445eee-835c-4a92-bca5-58282a394fe0","name":"f2445eee-835c-4a92-bca5-58282a394fe0","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-virtual-machine","status":"Succeeded","startTime":"2021-05-20T08:39:59.3521231Z","endTime":"2021-05-20T08:41:24.1383683Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '480' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 20 May 2021 08:41:31 GMT + etag: + - '"0300315b-0000-3400-0000-60a620b40000"' + expires: + - '-1' + pragma: + - no-cache + strict-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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - connectedvmware vm create + Connection: + - keep-alive + ParameterSetName: + - -g -l --custom-location --vcenter --resource-pool --vm-template --name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-virtual-machine?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-virtual-machine","name":"azcli-test-virtual-machine","type":"microsoft.connectedvmwarevsphere/virtualmachines","kind":"VMware","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-05-20T08:39:58.8473016Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2021-05-20T08:41:23.9017897Z"},"properties":{"resourcePoolId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/resourcepools/azcli-test-resource-pool","templateId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/virtualmachinetemplates/azcli-test-vm-template","vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/VCenters/azcli-test-vcenter-avs","provisioningState":"Succeeded","customResourceName":"57ab57b6-9697-4302-b6dc-25bd98e56fd3","uuid":"57ab57b6-9697-4302-b6dc-25bd98e56fd3","vmId":"57ab57b6-9697-4302-b6dc-25bd98e56fd3","networkProfile":{"networkInterfaces":[{"name":"nic_1","label":"Network + adapter 1","macAddress":"00:50:56:93:c1:59","networkMoRefId":"network-o50","networkMoName":"segment-1","nicType":"vmxnet3","deviceKey":4000,"powerOnBoot":"enabled","ipSettings":{"allocationMethod":"unset"}}]},"storageProfile":{"disks":[{"diskObjectId":"13007-2000","name":"disk_1","label":"Hard + disk 1","diskSizeGB":10,"deviceKey":2000,"diskMode":"persistent","controllerKey":1000,"unitNumber":0}],"scsiControllers":[{"type":"lsilogic","controllerKey":1000,"scsiCtlrUnitNumber":7,"sharing":"noSharing"}]},"osProfile":{"computerName":"","osType":"Linux","osName":"Ubuntu + Linux (64-bit)","toolsRunningStatus":"guestToolsRunning","toolsVersionStatus":"guestToolsUnmanaged","toolsVersion":"11269"},"hardwareProfile":{"memorySizeMB":1024,"numCPUs":1,"numCoresPerSocket":1,"cpuHotAddEnabled":true,"cpuHotRemoveEnabled":false,"memoryHotAddEnabled":true},"instanceUuid":"57ab57b6-9697-4302-b6dc-25bd98e56fd3","moRefId":"vm-25875","moName":"azcli-test-virtual-machine","folderPath":"SDDC-Datacenter","powerState":"poweredOn"}}' + headers: + cache-control: + - no-cache + content-length: + - '2599' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 20 May 2021 08:41:31 GMT + etag: + - '"0f000e33-0000-3400-0000-60a620b40000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - connectedvmware vm show + Connection: + - keep-alive + ParameterSetName: + - -g --name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-virtual-machine?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-virtual-machine","name":"azcli-test-virtual-machine","type":"microsoft.connectedvmwarevsphere/virtualmachines","kind":"VMware","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-05-20T08:39:58.8473016Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2021-05-20T08:41:23.9017897Z"},"properties":{"resourcePoolId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/resourcepools/azcli-test-resource-pool","templateId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/virtualmachinetemplates/azcli-test-vm-template","vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/VCenters/azcli-test-vcenter-avs","provisioningState":"Succeeded","customResourceName":"57ab57b6-9697-4302-b6dc-25bd98e56fd3","uuid":"57ab57b6-9697-4302-b6dc-25bd98e56fd3","vmId":"57ab57b6-9697-4302-b6dc-25bd98e56fd3","networkProfile":{"networkInterfaces":[{"name":"nic_1","label":"Network + adapter 1","macAddress":"00:50:56:93:c1:59","networkMoRefId":"network-o50","networkMoName":"segment-1","nicType":"vmxnet3","deviceKey":4000,"powerOnBoot":"enabled","ipSettings":{"allocationMethod":"unset"}}]},"storageProfile":{"disks":[{"diskObjectId":"13007-2000","name":"disk_1","label":"Hard + disk 1","diskSizeGB":10,"deviceKey":2000,"diskMode":"persistent","controllerKey":1000,"unitNumber":0}],"scsiControllers":[{"type":"lsilogic","controllerKey":1000,"scsiCtlrUnitNumber":7,"sharing":"noSharing"}]},"osProfile":{"computerName":"","osType":"Linux","osName":"Ubuntu + Linux (64-bit)","toolsRunningStatus":"guestToolsRunning","toolsVersionStatus":"guestToolsUnmanaged","toolsVersion":"11269"},"hardwareProfile":{"memorySizeMB":1024,"numCPUs":1,"numCoresPerSocket":1,"cpuHotAddEnabled":true,"cpuHotRemoveEnabled":false,"memoryHotAddEnabled":true},"instanceUuid":"57ab57b6-9697-4302-b6dc-25bd98e56fd3","moRefId":"vm-25875","moName":"azcli-test-virtual-machine","folderPath":"SDDC-Datacenter","powerState":"poweredOn"}}' + headers: + cache-control: + - no-cache + content-length: + - '2599' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 20 May 2021 08:41:33 GMT + etag: + - '"0f000e33-0000-3400-0000-60a620b40000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - connectedvmware vm list + Connection: + - keep-alive + ParameterSetName: + - -g + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines?api-version=2020-10-01-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm1","name":"azcli-test-vm1","type":"microsoft.connectedvmwarevsphere/virtualmachines","kind":"VMware","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-05-18T12:59:04.7997974Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2021-05-18T13:00:23.2903159Z"},"properties":{"resourcePoolId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/resourcepools/azcli-test-resource-pool","templateId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/virtualmachinetemplates/azcli-test-vm-template","vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/VCenters/azcli-test-vcenter-avs","provisioningState":"Failed","customResourceName":"ce0e4391-4972-499a-ba6b-4aad235a5f83","uuid":"ce0e4391-4972-499a-ba6b-4aad235a5f83","vmId":"ce0e4391-4972-499a-ba6b-4aad235a5f83","networkProfile":{"networkInterfaces":[{"name":"nic_1","label":"Network + adapter 1","macAddress":"00:50:56:93:24:aa","networkMoRefId":"network-o50","networkMoName":"segment-1","nicType":"vmxnet3","deviceKey":4000,"powerOnBoot":"enabled","ipSettings":{"allocationMethod":"unset"}}]},"storageProfile":{"disks":[{"diskObjectId":"12430-2000","name":"disk_1","label":"Hard + disk 1","diskSizeGB":10,"deviceKey":2000,"diskMode":"persistent","controllerKey":1000,"unitNumber":0}],"scsiControllers":[{"type":"lsilogic","controllerKey":1000,"scsiCtlrUnitNumber":7,"sharing":"noSharing"}]},"osProfile":{"computerName":"","osType":"Linux","osName":"Ubuntu + Linux (64-bit)","toolsRunningStatus":"guestToolsNotRunning","toolsVersionStatus":"guestToolsUnmanaged","toolsVersion":"11301"},"hardwareProfile":{"memorySizeMB":2048,"numCPUs":1,"numCoresPerSocket":1,"cpuHotAddEnabled":true,"cpuHotRemoveEnabled":false,"memoryHotAddEnabled":true},"instanceUuid":"ce0e4391-4972-499a-ba6b-4aad235a5f83","moRefId":"vm-24786","moName":"azcli-test-vm1","folderPath":"SDDC-Datacenter","powerState":"poweredOff"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm2","name":"azcli-test-vm2","type":"microsoft.connectedvmwarevsphere/virtualmachines","kind":"VMware","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-05-18T13:01:40.9747469Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2021-05-18T13:03:08.5635184Z"},"properties":{"resourcePoolId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/resourcepools/azcli-test-resource-pool","templateId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/virtualmachinetemplates/azcli-test-vm-template","vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/VCenters/azcli-test-vcenter-avs","provisioningState":"Failed","customResourceName":"73f5c042-0a76-4eae-a5a4-337a1355bf0b","uuid":"73f5c042-0a76-4eae-a5a4-337a1355bf0b","vmId":"73f5c042-0a76-4eae-a5a4-337a1355bf0b","networkProfile":{"networkInterfaces":[{"name":"nic_1","label":"Network + adapter 1","macAddress":"00:50:56:93:d4:5e","networkMoRefId":"network-o50","networkMoName":"segment-1","nicType":"vmxnet3","deviceKey":4000,"powerOnBoot":"enabled","ipSettings":{"allocationMethod":"unset"}}]},"storageProfile":{"disks":[{"diskObjectId":"12441-2000","name":"disk_1","label":"Hard + disk 1","diskSizeGB":10,"deviceKey":2000,"diskMode":"persistent","controllerKey":1000,"unitNumber":0}],"scsiControllers":[{"type":"lsilogic","controllerKey":1000,"scsiCtlrUnitNumber":7,"sharing":"noSharing"}]},"osProfile":{"computerName":"","osType":"Linux","osName":"Ubuntu + Linux (64-bit)","toolsRunningStatus":"guestToolsNotRunning","toolsVersionStatus":"guestToolsUnmanaged","toolsVersion":"11301"},"hardwareProfile":{"memorySizeMB":2048,"numCPUs":1,"numCoresPerSocket":1,"cpuHotAddEnabled":true,"cpuHotRemoveEnabled":false,"memoryHotAddEnabled":true},"instanceUuid":"73f5c042-0a76-4eae-a5a4-337a1355bf0b","moRefId":"vm-24804","moName":"azcli-test-vm2","folderPath":"SDDC-Datacenter","powerState":"poweredOff"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm5","name":"azcli-test-vm5","type":"microsoft.connectedvmwarevsphere/virtualmachines","kind":"VMware","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-05-18T18:28:42.4763239Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2021-05-18T18:30:02.1805026Z"},"properties":{"resourcePoolId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/resourcepools/azcli-test-resource-pool","templateId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/virtualmachinetemplates/azcli-test-vm-template","vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/VCenters/azcli-test-vcenter-avs","provisioningState":"Failed","customResourceName":"97b4c72d-6fe5-4f09-a71a-f23f97fd023e","uuid":"97b4c72d-6fe5-4f09-a71a-f23f97fd023e","vmId":"97b4c72d-6fe5-4f09-a71a-f23f97fd023e","networkProfile":{"networkInterfaces":[{"name":"nic_1","label":"Network + adapter 1","macAddress":"00:50:56:93:81:7b","networkMoRefId":"network-o50","networkMoName":"segment-1","nicType":"vmxnet3","deviceKey":4000,"powerOnBoot":"enabled","ipSettings":{"allocationMethod":"unset"}}]},"storageProfile":{"disks":[{"diskObjectId":"12541-2000","name":"disk_1","label":"Hard + disk 1","diskSizeGB":10,"deviceKey":2000,"diskMode":"persistent","controllerKey":1000,"unitNumber":0}],"scsiControllers":[{"type":"lsilogic","controllerKey":1000,"scsiCtlrUnitNumber":7,"sharing":"noSharing"}]},"osProfile":{"computerName":"","osType":"Linux","osName":"Ubuntu + Linux (64-bit)","toolsRunningStatus":"guestToolsNotRunning","toolsVersionStatus":"guestToolsUnmanaged","toolsVersion":"11301"},"hardwareProfile":{"memorySizeMB":2048,"numCPUs":1,"numCoresPerSocket":1,"cpuHotAddEnabled":true,"cpuHotRemoveEnabled":false,"memoryHotAddEnabled":true},"instanceUuid":"97b4c72d-6fe5-4f09-a71a-f23f97fd023e","moRefId":"vm-24976","moName":"azcli-test-vm5","folderPath":"SDDC-Datacenter","powerState":"poweredOff"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-vm6","name":"azcli-test-vm6","type":"microsoft.connectedvmwarevsphere/virtualmachines","kind":"VMware","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-05-18T18:36:04.6331302Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2021-05-18T18:39:37.2256893Z"},"properties":{"resourcePoolId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/resourcepools/azcli-test-resource-pool","templateId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/virtualmachinetemplates/azcli-test-vm-template2","vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/VCenters/azcli-test-vcenter-avs","provisioningState":"Succeeded","customResourceName":"b84184fc-8e13-4147-a58c-99ac11a82e03","uuid":"b84184fc-8e13-4147-a58c-99ac11a82e03","vmId":"b84184fc-8e13-4147-a58c-99ac11a82e03","networkProfile":{"networkInterfaces":[{"name":"nic_1","label":"Network + adapter 1","macAddress":"00:50:56:93:d1:c3","networkMoRefId":"network-o50","networkMoName":"segment-1","nicType":"vmxnet3","deviceKey":4000,"powerOnBoot":"enabled","ipSettings":{"allocationMethod":"unset"}}]},"storageProfile":{"disks":[{"diskObjectId":"12551-2000","name":"disk_1","label":"Hard + disk 1","diskSizeGB":10,"deviceKey":2000,"diskMode":"persistent","controllerKey":1000,"unitNumber":0}],"scsiControllers":[{"type":"lsilogic","controllerKey":1000,"scsiCtlrUnitNumber":7,"sharing":"noSharing"}]},"osProfile":{"computerName":"azcli-test-vm6","osType":"Linux","osName":"Ubuntu + Linux (64-bit)","toolsRunningStatus":"guestToolsNotRunning","toolsVersionStatus":"guestToolsUnmanaged","toolsVersion":"11269"},"hardwareProfile":{"memorySizeMB":1024,"numCPUs":1,"numCoresPerSocket":1,"cpuHotAddEnabled":true,"cpuHotRemoveEnabled":false,"memoryHotAddEnabled":true},"instanceUuid":"b84184fc-8e13-4147-a58c-99ac11a82e03","moRefId":"vm-24993","moName":"azcli-test-vm6","folderPath":"SDDC-Datacenter","powerState":"poweredOff"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/stop-vm-test","name":"stop-vm-test","type":"microsoft.connectedvmwarevsphere/virtualmachines","kind":"VMware","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-05-19T07:36:13.9786742Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2021-05-19T07:37:42.6131581Z"},"properties":{"resourcePoolId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/resourcepools/azcli-test-resource-pool","templateId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/virtualmachinetemplates/azcli-test-vm-template","vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/VCenters/azcli-test-vcenter-avs","provisioningState":"Failed","customResourceName":"f4e0270f-9f91-4150-b6e9-bb6ac0d3783d","uuid":"f4e0270f-9f91-4150-b6e9-bb6ac0d3783d","vmId":"f4e0270f-9f91-4150-b6e9-bb6ac0d3783d","networkProfile":{"networkInterfaces":[{"name":"nic_1","label":"Network + adapter 1","macAddress":"00:50:56:93:56:85","networkMoRefId":"network-o50","networkMoName":"segment-1","nicType":"vmxnet3","deviceKey":4000,"powerOnBoot":"enabled","ipSettings":{"allocationMethod":"unset"}}]},"storageProfile":{"disks":[{"diskObjectId":"12201-2000","name":"disk_1","label":"Hard + disk 1","diskSizeGB":10,"deviceKey":2000,"diskMode":"persistent","controllerKey":1000,"unitNumber":0}],"scsiControllers":[{"type":"lsilogic","controllerKey":1000,"scsiCtlrUnitNumber":7,"sharing":"noSharing"}]},"osProfile":{"computerName":"","osType":"Linux","osName":"Ubuntu + Linux (64-bit)","toolsRunningStatus":"guestToolsNotRunning","toolsVersionStatus":"guestToolsUnmanaged","toolsVersion":"11301"},"hardwareProfile":{"memorySizeMB":2048,"numCPUs":1,"numCoresPerSocket":1,"cpuHotAddEnabled":true,"cpuHotRemoveEnabled":false,"memoryHotAddEnabled":true},"instanceUuid":"f4e0270f-9f91-4150-b6e9-bb6ac0d3783d","moRefId":"vm-25216","moName":"stop-vm-test","folderPath":"SDDC-Datacenter","powerState":"poweredOff"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-virtual-machine","name":"azcli-test-virtual-machine","type":"microsoft.connectedvmwarevsphere/virtualmachines","kind":"VMware","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-05-20T08:39:58.8473016Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2021-05-20T08:41:23.9017897Z"},"properties":{"resourcePoolId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/resourcepools/azcli-test-resource-pool","templateId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/virtualmachinetemplates/azcli-test-vm-template","vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/VCenters/azcli-test-vcenter-avs","provisioningState":"Succeeded","customResourceName":"57ab57b6-9697-4302-b6dc-25bd98e56fd3","uuid":"57ab57b6-9697-4302-b6dc-25bd98e56fd3","vmId":"57ab57b6-9697-4302-b6dc-25bd98e56fd3","networkProfile":{"networkInterfaces":[{"name":"nic_1","label":"Network + adapter 1","macAddress":"00:50:56:93:c1:59","networkMoRefId":"network-o50","networkMoName":"segment-1","nicType":"vmxnet3","deviceKey":4000,"powerOnBoot":"enabled","ipSettings":{"allocationMethod":"unset"}}]},"storageProfile":{"disks":[{"diskObjectId":"13007-2000","name":"disk_1","label":"Hard + disk 1","diskSizeGB":10,"deviceKey":2000,"diskMode":"persistent","controllerKey":1000,"unitNumber":0}],"scsiControllers":[{"type":"lsilogic","controllerKey":1000,"scsiCtlrUnitNumber":7,"sharing":"noSharing"}]},"osProfile":{"computerName":"","osType":"Linux","osName":"Ubuntu + Linux (64-bit)","toolsRunningStatus":"guestToolsRunning","toolsVersionStatus":"guestToolsUnmanaged","toolsVersion":"11269"},"hardwareProfile":{"memorySizeMB":1024,"numCPUs":1,"numCoresPerSocket":1,"cpuHotAddEnabled":true,"cpuHotRemoveEnabled":false,"memoryHotAddEnabled":true},"instanceUuid":"57ab57b6-9697-4302-b6dc-25bd98e56fd3","moRefId":"vm-25875","moName":"azcli-test-virtual-machine","folderPath":"SDDC-Datacenter","powerState":"poweredOn"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '15448' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 20 May 2021 08:41:35 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - connectedvmware vm nic show + Connection: + - keep-alive + ParameterSetName: + - -g --vm-name --name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-virtual-machine?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-virtual-machine","name":"azcli-test-virtual-machine","type":"microsoft.connectedvmwarevsphere/virtualmachines","kind":"VMware","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-05-20T08:39:58.8473016Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2021-05-20T08:41:23.9017897Z"},"properties":{"resourcePoolId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/resourcepools/azcli-test-resource-pool","templateId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/virtualmachinetemplates/azcli-test-vm-template","vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/VCenters/azcli-test-vcenter-avs","provisioningState":"Succeeded","customResourceName":"57ab57b6-9697-4302-b6dc-25bd98e56fd3","uuid":"57ab57b6-9697-4302-b6dc-25bd98e56fd3","vmId":"57ab57b6-9697-4302-b6dc-25bd98e56fd3","networkProfile":{"networkInterfaces":[{"name":"nic_1","label":"Network + adapter 1","macAddress":"00:50:56:93:c1:59","networkMoRefId":"network-o50","networkMoName":"segment-1","nicType":"vmxnet3","deviceKey":4000,"powerOnBoot":"enabled","ipSettings":{"allocationMethod":"unset"}}]},"storageProfile":{"disks":[{"diskObjectId":"13007-2000","name":"disk_1","label":"Hard + disk 1","diskSizeGB":10,"deviceKey":2000,"diskMode":"persistent","controllerKey":1000,"unitNumber":0}],"scsiControllers":[{"type":"lsilogic","controllerKey":1000,"scsiCtlrUnitNumber":7,"sharing":"noSharing"}]},"osProfile":{"computerName":"","osType":"Linux","osName":"Ubuntu + Linux (64-bit)","toolsRunningStatus":"guestToolsRunning","toolsVersionStatus":"guestToolsUnmanaged","toolsVersion":"11269"},"hardwareProfile":{"memorySizeMB":1024,"numCPUs":1,"numCoresPerSocket":1,"cpuHotAddEnabled":true,"cpuHotRemoveEnabled":false,"memoryHotAddEnabled":true},"instanceUuid":"57ab57b6-9697-4302-b6dc-25bd98e56fd3","moRefId":"vm-25875","moName":"azcli-test-virtual-machine","folderPath":"SDDC-Datacenter","powerState":"poweredOn"}}' + headers: + cache-control: + - no-cache + content-length: + - '2599' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 20 May 2021 08:41:36 GMT + etag: + - '"0f000e33-0000-3400-0000-60a620b40000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - connectedvmware vm nic list + Connection: + - keep-alive + ParameterSetName: + - -g --vm-name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-virtual-machine?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-virtual-machine","name":"azcli-test-virtual-machine","type":"microsoft.connectedvmwarevsphere/virtualmachines","kind":"VMware","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-05-20T08:39:58.8473016Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2021-05-20T08:41:23.9017897Z"},"properties":{"resourcePoolId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/resourcepools/azcli-test-resource-pool","templateId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/virtualmachinetemplates/azcli-test-vm-template","vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/VCenters/azcli-test-vcenter-avs","provisioningState":"Succeeded","customResourceName":"57ab57b6-9697-4302-b6dc-25bd98e56fd3","uuid":"57ab57b6-9697-4302-b6dc-25bd98e56fd3","vmId":"57ab57b6-9697-4302-b6dc-25bd98e56fd3","networkProfile":{"networkInterfaces":[{"name":"nic_1","label":"Network + adapter 1","macAddress":"00:50:56:93:c1:59","networkMoRefId":"network-o50","networkMoName":"segment-1","nicType":"vmxnet3","deviceKey":4000,"powerOnBoot":"enabled","ipSettings":{"allocationMethod":"unset"}}]},"storageProfile":{"disks":[{"diskObjectId":"13007-2000","name":"disk_1","label":"Hard + disk 1","diskSizeGB":10,"deviceKey":2000,"diskMode":"persistent","controllerKey":1000,"unitNumber":0}],"scsiControllers":[{"type":"lsilogic","controllerKey":1000,"scsiCtlrUnitNumber":7,"sharing":"noSharing"}]},"osProfile":{"computerName":"","osType":"Linux","osName":"Ubuntu + Linux (64-bit)","toolsRunningStatus":"guestToolsRunning","toolsVersionStatus":"guestToolsUnmanaged","toolsVersion":"11269"},"hardwareProfile":{"memorySizeMB":1024,"numCPUs":1,"numCoresPerSocket":1,"cpuHotAddEnabled":true,"cpuHotRemoveEnabled":false,"memoryHotAddEnabled":true},"instanceUuid":"57ab57b6-9697-4302-b6dc-25bd98e56fd3","moRefId":"vm-25875","moName":"azcli-test-virtual-machine","folderPath":"SDDC-Datacenter","powerState":"poweredOn"}}' + headers: + cache-control: + - no-cache + content-length: + - '2599' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 20 May 2021 08:41:38 GMT + etag: + - '"0f000e33-0000-3400-0000-60a620b40000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - connectedvmware vm disk show + Connection: + - keep-alive + ParameterSetName: + - -g --vm-name --name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-virtual-machine?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-virtual-machine","name":"azcli-test-virtual-machine","type":"microsoft.connectedvmwarevsphere/virtualmachines","kind":"VMware","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-05-20T08:39:58.8473016Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2021-05-20T08:41:23.9017897Z"},"properties":{"resourcePoolId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/resourcepools/azcli-test-resource-pool","templateId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/virtualmachinetemplates/azcli-test-vm-template","vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/VCenters/azcli-test-vcenter-avs","provisioningState":"Succeeded","customResourceName":"57ab57b6-9697-4302-b6dc-25bd98e56fd3","uuid":"57ab57b6-9697-4302-b6dc-25bd98e56fd3","vmId":"57ab57b6-9697-4302-b6dc-25bd98e56fd3","networkProfile":{"networkInterfaces":[{"name":"nic_1","label":"Network + adapter 1","macAddress":"00:50:56:93:c1:59","networkMoRefId":"network-o50","networkMoName":"segment-1","nicType":"vmxnet3","deviceKey":4000,"powerOnBoot":"enabled","ipSettings":{"allocationMethod":"unset"}}]},"storageProfile":{"disks":[{"diskObjectId":"13007-2000","name":"disk_1","label":"Hard + disk 1","diskSizeGB":10,"deviceKey":2000,"diskMode":"persistent","controllerKey":1000,"unitNumber":0}],"scsiControllers":[{"type":"lsilogic","controllerKey":1000,"scsiCtlrUnitNumber":7,"sharing":"noSharing"}]},"osProfile":{"computerName":"","osType":"Linux","osName":"Ubuntu + Linux (64-bit)","toolsRunningStatus":"guestToolsRunning","toolsVersionStatus":"guestToolsUnmanaged","toolsVersion":"11269"},"hardwareProfile":{"memorySizeMB":1024,"numCPUs":1,"numCoresPerSocket":1,"cpuHotAddEnabled":true,"cpuHotRemoveEnabled":false,"memoryHotAddEnabled":true},"instanceUuid":"57ab57b6-9697-4302-b6dc-25bd98e56fd3","moRefId":"vm-25875","moName":"azcli-test-virtual-machine","folderPath":"SDDC-Datacenter","powerState":"poweredOn"}}' + headers: + cache-control: + - no-cache + content-length: + - '2599' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 20 May 2021 08:41:39 GMT + etag: + - '"0f000e33-0000-3400-0000-60a620b40000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - connectedvmware vm disk list + Connection: + - keep-alive + ParameterSetName: + - -g --vm-name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-virtual-machine?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-virtual-machine","name":"azcli-test-virtual-machine","type":"microsoft.connectedvmwarevsphere/virtualmachines","kind":"VMware","location":"eastus2euap","extendedLocation":{"type":"CustomLocation","name":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ExtendedLocation/CustomLocations/azcli-test-cl-avs"},"systemData":{"createdBy":"sanmishra@microsoft.com","createdByType":"User","createdAt":"2021-05-20T08:39:58.8473016Z","lastModifiedBy":"ac9dc5fe-b644-4832-9d03-d9f1ab70c5f7","lastModifiedByType":"Application","lastModifiedAt":"2021-05-20T08:41:23.9017897Z"},"properties":{"resourcePoolId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/resourcepools/azcli-test-resource-pool","templateId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/virtualmachinetemplates/azcli-test-vm-template","vCenterId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVmwarevSphere/VCenters/azcli-test-vcenter-avs","provisioningState":"Succeeded","customResourceName":"57ab57b6-9697-4302-b6dc-25bd98e56fd3","uuid":"57ab57b6-9697-4302-b6dc-25bd98e56fd3","vmId":"57ab57b6-9697-4302-b6dc-25bd98e56fd3","networkProfile":{"networkInterfaces":[{"name":"nic_1","label":"Network + adapter 1","macAddress":"00:50:56:93:c1:59","networkMoRefId":"network-o50","networkMoName":"segment-1","nicType":"vmxnet3","deviceKey":4000,"powerOnBoot":"enabled","ipSettings":{"allocationMethod":"unset"}}]},"storageProfile":{"disks":[{"diskObjectId":"13007-2000","name":"disk_1","label":"Hard + disk 1","diskSizeGB":10,"deviceKey":2000,"diskMode":"persistent","controllerKey":1000,"unitNumber":0}],"scsiControllers":[{"type":"lsilogic","controllerKey":1000,"scsiCtlrUnitNumber":7,"sharing":"noSharing"}]},"osProfile":{"computerName":"","osType":"Linux","osName":"Ubuntu + Linux (64-bit)","toolsRunningStatus":"guestToolsRunning","toolsVersionStatus":"guestToolsUnmanaged","toolsVersion":"11269"},"hardwareProfile":{"memorySizeMB":1024,"numCPUs":1,"numCoresPerSocket":1,"cpuHotAddEnabled":true,"cpuHotRemoveEnabled":false,"memoryHotAddEnabled":true},"instanceUuid":"57ab57b6-9697-4302-b6dc-25bd98e56fd3","moRefId":"vm-25875","moName":"azcli-test-virtual-machine","folderPath":"SDDC-Datacenter","powerState":"poweredOn"}}' + headers: + cache-control: + - no-cache + content-length: + - '2599' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 20 May 2021 08:41:41 GMT + etag: + - '"0f000e33-0000-3400-0000-60a620b40000"' + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + status: + code: 200 + message: OK +- request: + body: '{"skipShutdown": false}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - connectedvmware vm stop + Connection: + - keep-alive + Content-Length: + - '23' + Content-Type: + - application/json + ParameterSetName: + - -g --name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-virtual-machine/stop?api-version=2020-10-01-preview + response: + body: + string: 'null' + headers: + api-supported-versions: + - 2019-12-20-privatepreview, 2020-10-01-preview + cache-control: + - no-cache + content-length: + - '4' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 20 May 2021 08:41:43 GMT + expires: + - '-1' + location: + - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/b257f025-d0d9-4bd7-8eba-d164ee205e7c?api-version=2020-10-01-preview + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - connectedvmware vm stop + Connection: + - keep-alive + ParameterSetName: + - -g --name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/b257f025-d0d9-4bd7-8eba-d164ee205e7c?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/b257f025-d0d9-4bd7-8eba-d164ee205e7c","name":"b257f025-d0d9-4bd7-8eba-d164ee205e7c","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-virtual-machine","status":"Succeeded","startTime":"2021-05-20T08:41:43.9752131Z","endTime":"2021-05-20T08:41:53.7301189Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '480' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 20 May 2021 08:42:14 GMT + etag: + - '"0300415b-0000-3400-0000-60a620d10000"' + expires: + - '-1' + pragma: + - no-cache + strict-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: + - connectedvmware vm start + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g --name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-virtual-machine/start?api-version=2020-10-01-preview + response: + body: + string: 'null' + headers: + api-supported-versions: + - 2019-12-20-privatepreview, 2020-10-01-preview + cache-control: + - no-cache + content-length: + - '4' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 20 May 2021 08:42:16 GMT + expires: + - '-1' + location: + - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/0686e107-b82d-4402-ab9e-eca47c059855?api-version=2020-10-01-preview + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - connectedvmware vm start + Connection: + - keep-alive + ParameterSetName: + - -g --name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/0686e107-b82d-4402-ab9e-eca47c059855?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/0686e107-b82d-4402-ab9e-eca47c059855","name":"0686e107-b82d-4402-ab9e-eca47c059855","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-virtual-machine","status":"Succeeded","startTime":"2021-05-20T08:42:16.8589057Z","endTime":"2021-05-20T08:42:24.9984698Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '480' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 20 May 2021 08:42:47 GMT + etag: + - '"03004d5b-0000-3400-0000-60a620f10000"' + expires: + - '-1' + pragma: + - no-cache + strict-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: + - connectedvmware vm delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g --name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-virtual-machine?api-version=2020-10-01-preview&force=false + response: + body: + string: 'null' + headers: + api-supported-versions: + - 2019-12-20-privatepreview, 2020-10-01-preview + cache-control: + - no-cache + content-length: + - '4' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 20 May 2021 08:42:49 GMT + etag: + - '"0f002833-0000-3400-0000-60a6210a0000"' + expires: + - '-1' + location: + - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/ecabc3f1-87b2-44a6-83bf-688e7e5f93df?api-version=2020-10-01-preview + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-deletes: + - '14998' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - connectedvmware vm delete + Connection: + - keep-alive + ParameterSetName: + - -g --name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/ecabc3f1-87b2-44a6-83bf-688e7e5f93df?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/ecabc3f1-87b2-44a6-83bf-688e7e5f93df","name":"ecabc3f1-87b2-44a6-83bf-688e7e5f93df","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/azcli-test-virtual-machine","status":"Succeeded","startTime":"2021-05-20T08:42:50.4087278Z","endTime":"2021-05-20T08:43:12.2600329Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '480' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 20 May 2021 08:43:20 GMT + etag: + - '"0300865b-0000-3400-0000-60a621200000"' + expires: + - '-1' + pragma: + - no-cache + strict-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: + - connectedvmware resource-pool delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g --name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/resourcePools/azcli-test-resource-pool?api-version=2020-10-01-preview&force=false + response: + body: + string: 'null' + headers: + api-supported-versions: + - 2019-12-20-privatepreview, 2020-10-01-preview + cache-control: + - no-cache + content-length: + - '4' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 20 May 2021 08:43:24 GMT + etag: + - '"000096b2-0000-3400-0000-60a6212c0000"' + expires: + - '-1' + location: + - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/50f428d4-efb7-4036-a275-b922ac9b1719?api-version=2020-10-01-preview + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - connectedvmware resource-pool delete + Connection: + - keep-alive + ParameterSetName: + - -g --name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/50f428d4-efb7-4036-a275-b922ac9b1719?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/50f428d4-efb7-4036-a275-b922ac9b1719","name":"50f428d4-efb7-4036-a275-b922ac9b1719","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/resourcePools/azcli-test-resource-pool","status":"Succeeded","startTime":"2021-05-20T08:43:24.1912596Z","endTime":"2021-05-20T08:43:26.7923187Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '476' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 20 May 2021 08:43:54 GMT + etag: + - '"03008a5b-0000-3400-0000-60a6212e0000"' + expires: + - '-1' + pragma: + - no-cache + strict-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: + - connectedvmware virtual-network delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g --name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks/azcli-test-virtual-network?api-version=2020-10-01-preview&force=false + response: + body: + string: 'null' + headers: + api-supported-versions: + - 2019-12-20-privatepreview, 2020-10-01-preview + cache-control: + - no-cache + content-length: + - '4' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 20 May 2021 08:43:56 GMT + etag: + - '"0300733e-0000-3400-0000-60a6214d0000"' + expires: + - '-1' + location: + - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/be7feab0-a07b-4580-965f-ef7fc6248ff7?api-version=2020-10-01-preview + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - connectedvmware virtual-network delete + Connection: + - keep-alive + ParameterSetName: + - -g --name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/be7feab0-a07b-4580-965f-ef7fc6248ff7?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/be7feab0-a07b-4580-965f-ef7fc6248ff7","name":"be7feab0-a07b-4580-965f-ef7fc6248ff7","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks/azcli-test-virtual-network","status":"Succeeded","startTime":"2021-05-20T08:43:57.4834252Z","endTime":"2021-05-20T08:43:58.4731169Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '480' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 20 May 2021 08:44:27 GMT + etag: + - '"03008f5b-0000-3400-0000-60a6214e0000"' + expires: + - '-1' + pragma: + - no-cache + strict-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: + - connectedvmware vm-template delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g --name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates/azcli-test-vm-template?api-version=2020-10-01-preview&force=false + response: + body: + string: 'null' + headers: + api-supported-versions: + - 2019-12-20-privatepreview, 2020-10-01-preview + cache-control: + - no-cache + content-length: + - '4' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 20 May 2021 08:44:31 GMT + etag: + - '"00005185-0000-3400-0000-60a6216f0000"' + expires: + - '-1' + location: + - https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/8c693734-7fab-4d32-b9f2-c7a1d37c5163?api-version=2020-10-01-preview + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-providerhub-traffic: + - 'True' + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - connectedvmware vm-template delete + Connection: + - keep-alive + ParameterSetName: + - -g --name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-mgmt-connectedvmware/1.0.0b1 Python/3.8.5 (Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/8c693734-7fab-4d32-b9f2-c7a1d37c5163?api-version=2020-10-01-preview + response: + body: + string: '{"id":"/providers/Microsoft.ConnectedVMwarevSphere/locations/EASTUS2EUAP/operationStatuses/8c693734-7fab-4d32-b9f2-c7a1d37c5163","name":"8c693734-7fab-4d32-b9f2-c7a1d37c5163","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azcli-test-rg/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates/azcli-test-vm-template","status":"Succeeded","startTime":"2021-05-20T08:44:31.107236Z","endTime":"2021-05-20T08:44:32.2300551Z","properties":null}' + headers: + cache-control: + - no-cache + content-length: + - '483' + content-type: + - application/json; charset=utf-8 + date: + - Thu, 20 May 2021 08:45:01 GMT + etag: + - '"0300925b-0000-3400-0000-60a621700000"' + expires: + - '-1' + pragma: + - no-cache + 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/connectedvmware/azext_connectedvmware/tests/latest/test_connectedvmware_scenario.py b/src/connectedvmware/azext_connectedvmware/tests/latest/test_connectedvmware_scenario.py new file mode 100644 index 00000000000..038aa3d59b9 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/tests/latest/test_connectedvmware_scenario.py @@ -0,0 +1,139 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +import os +import unittest + +from azure_devtools.scenario_tests import AllowLargeResponse +from azure.cli.testsdk import ScenarioTest, ResourceGroupPreparer +from knack.util import CLIError +from azure.cli.testsdk import ScenarioTest + +TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) + + +class ConnectedvmwareScenarioTest(ScenarioTest): + + def test_connectedvmware(self): + self.kwargs.update({ + 'rg': 'azcli-test-rg', + 'loc': 'eastus2euap', + 'cus_loc': 'azcli-test-cl-avs', + 'vc_name': 'azcli-test-vcenter-avs', + 'rp_morefid': 'resgroup-5034', + 'rp_name': 'azcli-test-resource-pool', + 'vnet_morefid': 'network-o761', + 'vnet_name': 'azcli-test-virtual-network', + 'vmtpl_morefid': 'vm-55', + 'vmtpl_name': 'azcli-test-vm-template', + 'vm_name': 'azcli-test-virtual-machine', + 'nic_name': 'nic_1', + 'disk_name': 'disk_1' + }) + + # Validate the show command output with vcenter name. + self.cmd('az connectedvmware vcenter show -g {rg} --name {vc_name}', checks=[ + self.check('name', '{vc_name}'), + ]) + + # Count the vcenter resources in this resource group with list command + count = len(self.cmd('az connectedvmware vcenter list -g {rg}').get_output_in_json()) + # vcenter count list should report 1 + self.assertEqual(count, 1, 'vcenter resource count expected to be 1') + + # Create resource-pool resource. + self.cmd('az connectedvmware resource-pool create -g {rg} -l {loc} --custom-location {cus_loc} --vcenter {vc_name} --mo-ref-id {rp_morefid} --name {rp_name}') + + # Validate the show command output with resource-pool name. + self.cmd('az connectedvmware resource-pool show -g {rg} --name {rp_name}', checks=[ + self.check('name', '{rp_name}'), + ]) + + # List the resource-pool resources in this resource group. + resource_list = self.cmd('az connectedvmware resource-pool list -g {rg}').get_output_in_json() + # At this point there should be 1 resource-pool resource. + assert len(resource_list) >= 1 + + # Create virtual-network resource. + self.cmd('az connectedvmware virtual-network create -g {rg} -l {loc} --custom-location {cus_loc} --vcenter {vc_name} --mo-ref-id {vnet_morefid} --name {vnet_name}') + + # Validate the show command output with virtual-network name. + self.cmd('az connectedvmware virtual-network show -g {rg} --name {vnet_name}', checks=[ + self.check('name', '{vnet_name}'), + ]) + + # List the virtual-network resources in this resource group. + resource_list = self.cmd('az connectedvmware virtual-network list -g {rg}').get_output_in_json() + # At this point there should be 1 virtual-network resource. + assert len(resource_list) >= 1 + + # Create vm-template resource. + self.cmd('az connectedvmware vm-template create -g {rg} -l {loc} --custom-location {cus_loc} --vcenter {vc_name} --mo-ref-id {vmtpl_morefid} --name {vmtpl_name}') + + # Validate the show command output with vm-template name. + self.cmd('az connectedvmware vm-template show -g {rg} --name {vmtpl_name}', checks=[ + self.check('name', '{vmtpl_name}'), + ]) + + # List the vm-template resources in this resource group. + resource_list = self.cmd('az connectedvmware vm-template list -g {rg}').get_output_in_json() + # At this point there should be 1 vm-template resource. + assert len(resource_list) >= 1 + + # Validate the show command output with inventory-item name. + self.cmd('az connectedvmware inventory-item show -g {rg} --vcenter-name {vc_name} --inventory-item {rp_morefid}', checks=[ + self.check('name', '{rp_morefid}'), + ]) + + # Create vm resource. + self.cmd('az connectedvmware vm create -g {rg} -l {loc} --custom-location {cus_loc} --vcenter {vc_name} --resource-pool {rp_name} --vm-template {vmtpl_name} --name {vm_name}') + + # Validate the show command output with vm name. + self.cmd('az connectedvmware vm show -g {rg} --name {vm_name}', checks=[ + self.check('name', '{vm_name}'), + ]) + + # List the VM resources in this resource group. + resource_list = self.cmd('az connectedvmware vm list -g {rg}').get_output_in_json() + # At this point there should be 1 vm resource. + assert len(resource_list) >= 1 + + # Validate vm nic name. + self.cmd('az connectedvmware vm nic show -g {rg} --vm-name {vm_name} --name {nic_name}', checks=[ + self.check('name', '{nic_name}'), + ]) + + # List the nic for the vm. + resource_list = self.cmd('az connectedvmware vm nic list -g {rg} --vm-name {vm_name}').get_output_in_json() + # At least 1 nic should be there for the vm resource. + assert len(resource_list) >= 1 + + # Validate vm disk name. + self.cmd('az connectedvmware vm disk show -g {rg} --vm-name {vm_name} --name {disk_name}', checks=[ + self.check('name', '{disk_name}'), + ]) + + # List the disk for the vm. + resource_list = self.cmd('az connectedvmware vm disk list -g {rg} --vm-name {vm_name}').get_output_in_json() + # At least 1 disk should be there for the vm resource. + assert len(resource_list) >= 1 + + # Stop VM. + self.cmd('az connectedvmware vm stop -g {rg} --name {vm_name}') + + # Start VM. + self.cmd('az connectedvmware vm start -g {rg} --name {vm_name}') + + # Delete the created VM. + self.cmd('az connectedvmware vm delete -g {rg} --name {vm_name}') + + # Delete the created resource-pool. + self.cmd('az connectedvmware resource-pool delete -g {rg} --name {rp_name}') + + # Delete the created virtual-network. + self.cmd('az connectedvmware virtual-network delete -g {rg} --name {vnet_name}') + + # Delete the created vm-template. + self.cmd('az connectedvmware vm-template delete -g {rg} --name {vmtpl_name}') diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/__init__.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/__init__.py new file mode 100644 index 00000000000..6e74ac1787a --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/__init__.py @@ -0,0 +1,19 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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_arc_vmware_management_service_api import AzureArcVMwareManagementServiceAPI +from ._version import VERSION + +__version__ = VERSION +__all__ = ['AzureArcVMwareManagementServiceAPI'] + +try: + from ._patch import patch_sdk # type: ignore + patch_sdk() +except ImportError: + pass diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/_azure_arc_vmware_management_service_api.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/_azure_arc_vmware_management_service_api.py new file mode 100644 index 00000000000..b59b0a3db32 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/_azure_arc_vmware_management_service_api.py @@ -0,0 +1,134 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import TYPE_CHECKING + +from azure.mgmt.core import ARMPipelineClient +from msrest import Deserializer, Serializer + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Optional + + from azure.core.credentials import TokenCredential + from azure.core.pipeline.transport import HttpRequest, HttpResponse + +from ._configuration import AzureArcVMwareManagementServiceAPIConfiguration +from .operations import Operations +from .operations import ResourcePoolsOperations +from .operations import VCentersOperations +from .operations import VirtualMachinesOperations +from .operations import VirtualMachineTemplatesOperations +from .operations import VirtualNetworksOperations +from .operations import InventoryItemsOperations +from .operations import HybridIdentityMetadataOperations +from .operations import MachineExtensionsOperations +from .operations import GuestAgentOperations +from . import models + + +class AzureArcVMwareManagementServiceAPI(object): + """Self service experience for VMware. + + :ivar operations: Operations operations + :vartype operations: azure_arc_vmware_management_service_api.operations.Operations + :ivar resource_pools: ResourcePoolsOperations operations + :vartype resource_pools: azure_arc_vmware_management_service_api.operations.ResourcePoolsOperations + :ivar vcenters: VCentersOperations operations + :vartype vcenters: azure_arc_vmware_management_service_api.operations.VCentersOperations + :ivar virtual_machines: VirtualMachinesOperations operations + :vartype virtual_machines: azure_arc_vmware_management_service_api.operations.VirtualMachinesOperations + :ivar virtual_machine_templates: VirtualMachineTemplatesOperations operations + :vartype virtual_machine_templates: azure_arc_vmware_management_service_api.operations.VirtualMachineTemplatesOperations + :ivar virtual_networks: VirtualNetworksOperations operations + :vartype virtual_networks: azure_arc_vmware_management_service_api.operations.VirtualNetworksOperations + :ivar inventory_items: InventoryItemsOperations operations + :vartype inventory_items: azure_arc_vmware_management_service_api.operations.InventoryItemsOperations + :ivar hybrid_identity_metadata: HybridIdentityMetadataOperations operations + :vartype hybrid_identity_metadata: azure_arc_vmware_management_service_api.operations.HybridIdentityMetadataOperations + :ivar machine_extensions: MachineExtensionsOperations operations + :vartype machine_extensions: azure_arc_vmware_management_service_api.operations.MachineExtensionsOperations + :ivar guest_agent: GuestAgentOperations operations + :vartype guest_agent: azure_arc_vmware_management_service_api.operations.GuestAgentOperations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential + :param subscription_id: The Subscription ID. + :type subscription_id: str + :param str base_url: Service URL + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + """ + + def __init__( + self, + credential, # type: "TokenCredential" + subscription_id, # type: str + base_url=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> None + if not base_url: + base_url = 'https://management.azure.com' + self._config = AzureArcVMwareManagementServiceAPIConfiguration(credential, subscription_id, **kwargs) + self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self._serialize = Serializer(client_models) + self._serialize.client_side_validation = False + self._deserialize = Deserializer(client_models) + + self.operations = Operations( + self._client, self._config, self._serialize, self._deserialize) + self.resource_pools = ResourcePoolsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.vcenters = VCentersOperations( + self._client, self._config, self._serialize, self._deserialize) + self.virtual_machines = VirtualMachinesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.virtual_machine_templates = VirtualMachineTemplatesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.virtual_networks = VirtualNetworksOperations( + self._client, self._config, self._serialize, self._deserialize) + self.inventory_items = InventoryItemsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.hybrid_identity_metadata = HybridIdentityMetadataOperations( + self._client, self._config, self._serialize, self._deserialize) + self.machine_extensions = MachineExtensionsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.guest_agent = GuestAgentOperations( + self._client, self._config, self._serialize, self._deserialize) + + def _send_request(self, http_request, **kwargs): + # type: (HttpRequest, Any) -> HttpResponse + """Runs the network request through the client's chained policies. + + :param http_request: The network request you want to make. Required. + :type http_request: ~azure.core.pipeline.transport.HttpRequest + :keyword bool stream: Whether the response payload will be streamed. Defaults to True. + :return: The response of your network call. Does not do error handling on your response. + :rtype: ~azure.core.pipeline.transport.HttpResponse + """ + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + http_request.url = self._client.format_url(http_request.url, **path_format_arguments) + stream = kwargs.pop("stream", True) + pipeline_response = self._client._pipeline.run(http_request, stream=stream, **kwargs) + return pipeline_response.http_response + + def close(self): + # type: () -> None + self._client.close() + + def __enter__(self): + # type: () -> AzureArcVMwareManagementServiceAPI + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/_configuration.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/_configuration.py new file mode 100644 index 00000000000..34eaaa58200 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/_configuration.py @@ -0,0 +1,71 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies +from azure.mgmt.core.policies import ARMHttpLoggingPolicy + +from ._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any + + from azure.core.credentials import TokenCredential + + +class AzureArcVMwareManagementServiceAPIConfiguration(Configuration): + """Configuration for AzureArcVMwareManagementServiceAPI. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential + :param subscription_id: The Subscription ID. + :type subscription_id: str + """ + + def __init__( + self, + credential, # type: "TokenCredential" + subscription_id, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + super(AzureArcVMwareManagementServiceAPIConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2020-10-01-preview" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-connectedvmware/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs # type: Any + ): + # type: (...) -> None + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = policies.BearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/_version.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/_version.py new file mode 100644 index 00000000000..e5754a47ce6 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/_version.py @@ -0,0 +1,9 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 = "1.0.0b1" diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/__init__.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/__init__.py new file mode 100644 index 00000000000..9bee3ede0eb --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/__init__.py @@ -0,0 +1,10 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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_arc_vmware_management_service_api import AzureArcVMwareManagementServiceAPI +__all__ = ['AzureArcVMwareManagementServiceAPI'] diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/_azure_arc_vmware_management_service_api.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/_azure_arc_vmware_management_service_api.py new file mode 100644 index 00000000000..8942810ae99 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/_azure_arc_vmware_management_service_api.py @@ -0,0 +1,127 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any, Optional, TYPE_CHECKING + +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core import AsyncARMPipelineClient +from msrest import Deserializer, Serializer + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + +from ._configuration import AzureArcVMwareManagementServiceAPIConfiguration +from .operations import Operations +from .operations import ResourcePoolsOperations +from .operations import VCentersOperations +from .operations import VirtualMachinesOperations +from .operations import VirtualMachineTemplatesOperations +from .operations import VirtualNetworksOperations +from .operations import InventoryItemsOperations +from .operations import HybridIdentityMetadataOperations +from .operations import MachineExtensionsOperations +from .operations import GuestAgentOperations +from .. import models + + +class AzureArcVMwareManagementServiceAPI(object): + """Self service experience for VMware. + + :ivar operations: Operations operations + :vartype operations: azure_arc_vmware_management_service_api.aio.operations.Operations + :ivar resource_pools: ResourcePoolsOperations operations + :vartype resource_pools: azure_arc_vmware_management_service_api.aio.operations.ResourcePoolsOperations + :ivar vcenters: VCentersOperations operations + :vartype vcenters: azure_arc_vmware_management_service_api.aio.operations.VCentersOperations + :ivar virtual_machines: VirtualMachinesOperations operations + :vartype virtual_machines: azure_arc_vmware_management_service_api.aio.operations.VirtualMachinesOperations + :ivar virtual_machine_templates: VirtualMachineTemplatesOperations operations + :vartype virtual_machine_templates: azure_arc_vmware_management_service_api.aio.operations.VirtualMachineTemplatesOperations + :ivar virtual_networks: VirtualNetworksOperations operations + :vartype virtual_networks: azure_arc_vmware_management_service_api.aio.operations.VirtualNetworksOperations + :ivar inventory_items: InventoryItemsOperations operations + :vartype inventory_items: azure_arc_vmware_management_service_api.aio.operations.InventoryItemsOperations + :ivar hybrid_identity_metadata: HybridIdentityMetadataOperations operations + :vartype hybrid_identity_metadata: azure_arc_vmware_management_service_api.aio.operations.HybridIdentityMetadataOperations + :ivar machine_extensions: MachineExtensionsOperations operations + :vartype machine_extensions: azure_arc_vmware_management_service_api.aio.operations.MachineExtensionsOperations + :ivar guest_agent: GuestAgentOperations operations + :vartype guest_agent: azure_arc_vmware_management_service_api.aio.operations.GuestAgentOperations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :param subscription_id: The Subscription ID. + :type subscription_id: str + :param str base_url: Service URL + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + """ + + def __init__( + self, + credential: "AsyncTokenCredential", + subscription_id: str, + base_url: Optional[str] = None, + **kwargs: Any + ) -> None: + if not base_url: + base_url = 'https://management.azure.com' + self._config = AzureArcVMwareManagementServiceAPIConfiguration(credential, subscription_id, **kwargs) + self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self._serialize = Serializer(client_models) + self._serialize.client_side_validation = False + self._deserialize = Deserializer(client_models) + + self.operations = Operations( + self._client, self._config, self._serialize, self._deserialize) + self.resource_pools = ResourcePoolsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.vcenters = VCentersOperations( + self._client, self._config, self._serialize, self._deserialize) + self.virtual_machines = VirtualMachinesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.virtual_machine_templates = VirtualMachineTemplatesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.virtual_networks = VirtualNetworksOperations( + self._client, self._config, self._serialize, self._deserialize) + self.inventory_items = InventoryItemsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.hybrid_identity_metadata = HybridIdentityMetadataOperations( + self._client, self._config, self._serialize, self._deserialize) + self.machine_extensions = MachineExtensionsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.guest_agent = GuestAgentOperations( + self._client, self._config, self._serialize, self._deserialize) + + async def _send_request(self, http_request: HttpRequest, **kwargs: Any) -> AsyncHttpResponse: + """Runs the network request through the client's chained policies. + + :param http_request: The network request you want to make. Required. + :type http_request: ~azure.core.pipeline.transport.HttpRequest + :keyword bool stream: Whether the response payload will be streamed. Defaults to True. + :return: The response of your network call. Does not do error handling on your response. + :rtype: ~azure.core.pipeline.transport.AsyncHttpResponse + """ + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + } + http_request.url = self._client.format_url(http_request.url, **path_format_arguments) + stream = kwargs.pop("stream", True) + pipeline_response = await self._client._pipeline.run(http_request, stream=stream, **kwargs) + return pipeline_response.http_response + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "AzureArcVMwareManagementServiceAPI": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/_configuration.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/_configuration.py new file mode 100644 index 00000000000..bd68e0905e7 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/_configuration.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 typing import Any, TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies +from azure.mgmt.core.policies import ARMHttpLoggingPolicy + +from .._version import VERSION + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + + +class AzureArcVMwareManagementServiceAPIConfiguration(Configuration): + """Configuration for AzureArcVMwareManagementServiceAPI. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :param subscription_id: The Subscription ID. + :type subscription_id: str + """ + + def __init__( + self, + credential: "AsyncTokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + super(AzureArcVMwareManagementServiceAPIConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2020-10-01-preview" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-connectedvmware/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs: Any + ) -> None: + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = policies.AsyncBearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/operations/__init__.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/operations/__init__.py new file mode 100644 index 00000000000..dbe61394bc3 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/operations/__init__.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ._resource_pools_operations import ResourcePoolsOperations +from ._vcenters_operations import VCentersOperations +from ._virtual_machines_operations import VirtualMachinesOperations +from ._virtual_machine_templates_operations import VirtualMachineTemplatesOperations +from ._virtual_networks_operations import VirtualNetworksOperations +from ._inventory_items_operations import InventoryItemsOperations +from ._hybrid_identity_metadata_operations import HybridIdentityMetadataOperations +from ._machine_extensions_operations import MachineExtensionsOperations +from ._guest_agent_operations import GuestAgentOperations + +__all__ = [ + 'Operations', + 'ResourcePoolsOperations', + 'VCentersOperations', + 'VirtualMachinesOperations', + 'VirtualMachineTemplatesOperations', + 'VirtualNetworksOperations', + 'InventoryItemsOperations', + 'HybridIdentityMetadataOperations', + 'MachineExtensionsOperations', + 'GuestAgentOperations', +] diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/operations/_guest_agent_operations.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/operations/_guest_agent_operations.py new file mode 100644 index 00000000000..54657ebbfea --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/operations/_guest_agent_operations.py @@ -0,0 +1,445 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class GuestAgentOperations: + """GuestAgentOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure_arc_vmware_management_service_api.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def _create_initial( + self, + resource_group_name: str, + virtual_machine_name: str, + name: str, + body: Optional["_models.GuestAgent"] = None, + **kwargs + ) -> "_models.GuestAgent": + cls = kwargs.pop('cls', None) # type: ClsType["_models.GuestAgent"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineName': self._serialize.url("virtual_machine_name", virtual_machine_name, 'str'), + 'name': self._serialize.url("name", name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + if body is not None: + body_content = self._serialize.body(body, 'GuestAgent') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('GuestAgent', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('GuestAgent', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}/guestAgents/{name}'} # type: ignore + + async def begin_create( + self, + resource_group_name: str, + virtual_machine_name: str, + name: str, + body: Optional["_models.GuestAgent"] = None, + **kwargs + ) -> AsyncLROPoller["_models.GuestAgent"]: + """Implements GuestAgent PUT method. + + Create Or Update GuestAgent. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_machine_name: Name of the vm. + :type virtual_machine_name: str + :param name: Name of the guestAgents. + :type name: str + :param body: Request payload. + :type body: ~azure_arc_vmware_management_service_api.models.GuestAgent + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either GuestAgent or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure_arc_vmware_management_service_api.models.GuestAgent] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.GuestAgent"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._create_initial( + resource_group_name=resource_group_name, + virtual_machine_name=virtual_machine_name, + name=name, + body=body, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('GuestAgent', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineName': self._serialize.url("virtual_machine_name", virtual_machine_name, 'str'), + 'name': self._serialize.url("name", name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}/guestAgents/{name}'} # type: ignore + + async def get( + self, + resource_group_name: str, + virtual_machine_name: str, + name: str, + **kwargs + ) -> "_models.GuestAgent": + """Gets GuestAgent. + + Implements GuestAgent GET method. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_machine_name: Name of the vm. + :type virtual_machine_name: str + :param name: Name of the GuestAgent. + :type name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: GuestAgent, or the result of cls(response) + :rtype: ~azure_arc_vmware_management_service_api.models.GuestAgent + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.GuestAgent"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineName': self._serialize.url("virtual_machine_name", virtual_machine_name, 'str'), + 'name': self._serialize.url("name", name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('GuestAgent', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}/guestAgents/{name}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + virtual_machine_name: str, + name: str, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + # Construct URL + url = self._delete_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineName': self._serialize.url("virtual_machine_name", virtual_machine_name, 'str'), + 'name': self._serialize.url("name", name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}/guestAgents/{name}'} # type: ignore + + async def begin_delete( + self, + resource_group_name: str, + virtual_machine_name: str, + name: str, + **kwargs + ) -> AsyncLROPoller[None]: + """Deletes an GuestAgent. + + Implements GuestAgent DELETE method. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_machine_name: Name of the vm. + :type virtual_machine_name: str + :param name: Name of the GuestAgent. + :type name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + virtual_machine_name=virtual_machine_name, + name=name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineName': self._serialize.url("virtual_machine_name", virtual_machine_name, 'str'), + 'name': self._serialize.url("name", name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}/guestAgents/{name}'} # type: ignore + + def list_by_vm( + self, + resource_group_name: str, + virtual_machine_name: str, + **kwargs + ) -> AsyncIterable["_models.GuestAgentList"]: + """Implements GET GuestAgent in a vm. + + Returns the list of GuestAgent of the given vm. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_machine_name: Name of the vm. + :type virtual_machine_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either GuestAgentList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure_arc_vmware_management_service_api.models.GuestAgentList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.GuestAgentList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_vm.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineName': self._serialize.url("virtual_machine_name", virtual_machine_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('GuestAgentList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_vm.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}/guestAgents'} # type: ignore diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/operations/_hybrid_identity_metadata_operations.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/operations/_hybrid_identity_metadata_operations.py new file mode 100644 index 00000000000..de016a57c1c --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/operations/_hybrid_identity_metadata_operations.py @@ -0,0 +1,322 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class HybridIdentityMetadataOperations: + """HybridIdentityMetadataOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure_arc_vmware_management_service_api.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def create( + self, + resource_group_name: str, + virtual_machine_name: str, + metadata_name: str, + body: Optional["_models.HybridIdentityMetadata"] = None, + **kwargs + ) -> "_models.HybridIdentityMetadata": + """Implements HybridIdentityMetadata PUT method. + + Create Or Update HybridIdentityMetadata. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_machine_name: Name of the vm. + :type virtual_machine_name: str + :param metadata_name: Name of the hybridIdentityMetadata. + :type metadata_name: str + :param body: Request payload. + :type body: ~azure_arc_vmware_management_service_api.models.HybridIdentityMetadata + :keyword callable cls: A custom type or function that will be passed the direct response + :return: HybridIdentityMetadata, or the result of cls(response) + :rtype: ~azure_arc_vmware_management_service_api.models.HybridIdentityMetadata + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.HybridIdentityMetadata"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.create.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineName': self._serialize.url("virtual_machine_name", virtual_machine_name, 'str'), + 'metadataName': self._serialize.url("metadata_name", metadata_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + if body is not None: + body_content = self._serialize.body(body, 'HybridIdentityMetadata') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('HybridIdentityMetadata', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}/hybridIdentityMetadata/{metadataName}'} # type: ignore + + async def get( + self, + resource_group_name: str, + virtual_machine_name: str, + metadata_name: str, + **kwargs + ) -> "_models.HybridIdentityMetadata": + """Gets HybridIdentityMetadata. + + Implements HybridIdentityMetadata GET method. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_machine_name: Name of the vm. + :type virtual_machine_name: str + :param metadata_name: Name of the HybridIdentityMetadata. + :type metadata_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: HybridIdentityMetadata, or the result of cls(response) + :rtype: ~azure_arc_vmware_management_service_api.models.HybridIdentityMetadata + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.HybridIdentityMetadata"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineName': self._serialize.url("virtual_machine_name", virtual_machine_name, 'str'), + 'metadataName': self._serialize.url("metadata_name", metadata_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('HybridIdentityMetadata', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}/hybridIdentityMetadata/{metadataName}'} # type: ignore + + async def delete( + self, + resource_group_name: str, + virtual_machine_name: str, + metadata_name: str, + **kwargs + ) -> None: + """Deletes an HybridIdentityMetadata. + + Implements HybridIdentityMetadata DELETE method. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_machine_name: Name of the vm. + :type virtual_machine_name: str + :param metadata_name: Name of the HybridIdentityMetadata. + :type metadata_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + # Construct URL + url = self.delete.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineName': self._serialize.url("virtual_machine_name", virtual_machine_name, 'str'), + 'metadataName': self._serialize.url("metadata_name", metadata_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}/hybridIdentityMetadata/{metadataName}'} # type: ignore + + def list_by_vm( + self, + resource_group_name: str, + virtual_machine_name: str, + **kwargs + ) -> AsyncIterable["_models.HybridIdentityMetadataList"]: + """Implements GET HybridIdentityMetadata in a vm. + + Returns the list of HybridIdentityMetadata of the given vm. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_machine_name: Name of the vm. + :type virtual_machine_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either HybridIdentityMetadataList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure_arc_vmware_management_service_api.models.HybridIdentityMetadataList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.HybridIdentityMetadataList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_vm.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineName': self._serialize.url("virtual_machine_name", virtual_machine_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('HybridIdentityMetadataList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_vm.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}/hybridIdentityMetadata'} # type: ignore diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/operations/_inventory_items_operations.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/operations/_inventory_items_operations.py new file mode 100644 index 00000000000..15bf1d9eeb9 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/operations/_inventory_items_operations.py @@ -0,0 +1,322 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class InventoryItemsOperations: + """InventoryItemsOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure_arc_vmware_management_service_api.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def create( + self, + resource_group_name: str, + vcenter_name: str, + inventory_item_name: str, + body: Optional["_models.InventoryItem"] = None, + **kwargs + ) -> "_models.InventoryItem": + """Implements InventoryItem PUT method. + + Create Or Update InventoryItem. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param vcenter_name: Name of the vCenter. + :type vcenter_name: str + :param inventory_item_name: Name of the inventoryItem. + :type inventory_item_name: str + :param body: Request payload. + :type body: ~azure_arc_vmware_management_service_api.models.InventoryItem + :keyword callable cls: A custom type or function that will be passed the direct response + :return: InventoryItem, or the result of cls(response) + :rtype: ~azure_arc_vmware_management_service_api.models.InventoryItem + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.InventoryItem"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.create.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vcenterName': self._serialize.url("vcenter_name", vcenter_name, 'str'), + 'inventoryItemName': self._serialize.url("inventory_item_name", inventory_item_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + if body is not None: + body_content = self._serialize.body(body, 'InventoryItem') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('InventoryItem', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/vcenters/{vcenterName}/inventoryItems/{inventoryItemName}'} # type: ignore + + async def get( + self, + resource_group_name: str, + vcenter_name: str, + inventory_item_name: str, + **kwargs + ) -> "_models.InventoryItem": + """Gets InventoryItem. + + Implements InventoryItem GET method. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param vcenter_name: Name of the vCenter. + :type vcenter_name: str + :param inventory_item_name: Name of the inventoryItem. + :type inventory_item_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: InventoryItem, or the result of cls(response) + :rtype: ~azure_arc_vmware_management_service_api.models.InventoryItem + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.InventoryItem"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vcenterName': self._serialize.url("vcenter_name", vcenter_name, 'str'), + 'inventoryItemName': self._serialize.url("inventory_item_name", inventory_item_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('InventoryItem', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/vcenters/{vcenterName}/inventoryItems/{inventoryItemName}'} # type: ignore + + async def delete( + self, + resource_group_name: str, + vcenter_name: str, + inventory_item_name: str, + **kwargs + ) -> None: + """Deletes an inventoryItem. + + Implements inventoryItem DELETE method. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param vcenter_name: Name of the vCenter. + :type vcenter_name: str + :param inventory_item_name: Name of the inventoryItem. + :type inventory_item_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + # Construct URL + url = self.delete.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vcenterName': self._serialize.url("vcenter_name", vcenter_name, 'str'), + 'inventoryItemName': self._serialize.url("inventory_item_name", inventory_item_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/vcenters/{vcenterName}/inventoryItems/{inventoryItemName}'} # type: ignore + + def list_by_v_center( + self, + resource_group_name: str, + vcenter_name: str, + **kwargs + ) -> AsyncIterable["_models.InventoryItemsList"]: + """Implements GET inventoryItems in a vCenter. + + Returns the list of inventoryItems of the given vCenter. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param vcenter_name: Name of the vCenter. + :type vcenter_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either InventoryItemsList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure_arc_vmware_management_service_api.models.InventoryItemsList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.InventoryItemsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_v_center.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vcenterName': self._serialize.url("vcenter_name", vcenter_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('InventoryItemsList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_v_center.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/vcenters/{vcenterName}/inventoryItems'} # type: ignore diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/operations/_machine_extensions_operations.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/operations/_machine_extensions_operations.py new file mode 100644 index 00000000000..f171cf6a512 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/operations/_machine_extensions_operations.py @@ -0,0 +1,571 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class MachineExtensionsOperations: + """MachineExtensionsOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure_arc_vmware_management_service_api.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def _create_or_update_initial( + self, + resource_group_name: str, + name: str, + extension_name: str, + extension_parameters: "_models.MachineExtension", + **kwargs + ) -> Optional["_models.MachineExtension"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.MachineExtension"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_or_update_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'name': self._serialize.url("name", name, 'str'), + 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(extension_parameters, 'MachineExtension') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('MachineExtension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{name}/extensions/{extensionName}'} # type: ignore + + async def begin_create_or_update( + self, + resource_group_name: str, + name: str, + extension_name: str, + extension_parameters: "_models.MachineExtension", + **kwargs + ) -> AsyncLROPoller["_models.MachineExtension"]: + """The operation to create or update the extension. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param name: The name of the machine where the extension should be created or updated. + :type name: str + :param extension_name: The name of the machine extension. + :type extension_name: str + :param extension_parameters: Parameters supplied to the Create Machine Extension operation. + :type extension_parameters: ~azure_arc_vmware_management_service_api.models.MachineExtension + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either MachineExtension or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure_arc_vmware_management_service_api.models.MachineExtension] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.MachineExtension"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._create_or_update_initial( + resource_group_name=resource_group_name, + name=name, + extension_name=extension_name, + extension_parameters=extension_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('MachineExtension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'name': self._serialize.url("name", name, 'str'), + 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{name}/extensions/{extensionName}'} # type: ignore + + async def _update_initial( + self, + resource_group_name: str, + name: str, + extension_name: str, + extension_parameters: "_models.MachineExtensionUpdate", + **kwargs + ) -> Optional["_models.MachineExtension"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.MachineExtension"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._update_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'name': self._serialize.url("name", name, 'str'), + 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(extension_parameters, 'MachineExtensionUpdate') + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('MachineExtension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{name}/extensions/{extensionName}'} # type: ignore + + async def begin_update( + self, + resource_group_name: str, + name: str, + extension_name: str, + extension_parameters: "_models.MachineExtensionUpdate", + **kwargs + ) -> AsyncLROPoller["_models.MachineExtension"]: + """The operation to update the extension. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param name: The name of the machine where the extension should be created or updated. + :type name: str + :param extension_name: The name of the machine extension. + :type extension_name: str + :param extension_parameters: Parameters supplied to the Create Machine Extension operation. + :type extension_parameters: ~azure_arc_vmware_management_service_api.models.MachineExtensionUpdate + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either MachineExtension or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure_arc_vmware_management_service_api.models.MachineExtension] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.MachineExtension"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._update_initial( + resource_group_name=resource_group_name, + name=name, + extension_name=extension_name, + extension_parameters=extension_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('MachineExtension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'name': self._serialize.url("name", name, 'str'), + 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{name}/extensions/{extensionName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + name: str, + extension_name: str, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + # Construct URL + url = self._delete_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'name': self._serialize.url("name", name, 'str'), + 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{name}/extensions/{extensionName}'} # type: ignore + + async def begin_delete( + self, + resource_group_name: str, + name: str, + extension_name: str, + **kwargs + ) -> AsyncLROPoller[None]: + """The operation to delete the extension. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param name: The name of the machine where the extension should be deleted. + :type name: str + :param extension_name: The name of the machine extension. + :type extension_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + name=name, + extension_name=extension_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'name': self._serialize.url("name", name, 'str'), + 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{name}/extensions/{extensionName}'} # type: ignore + + async def get( + self, + resource_group_name: str, + name: str, + extension_name: str, + **kwargs + ) -> "_models.MachineExtension": + """The operation to get the extension. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param name: The name of the machine containing the extension. + :type name: str + :param extension_name: The name of the machine extension. + :type extension_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: MachineExtension, or the result of cls(response) + :rtype: ~azure_arc_vmware_management_service_api.models.MachineExtension + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.MachineExtension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'name': self._serialize.url("name", name, 'str'), + 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('MachineExtension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{name}/extensions/{extensionName}'} # type: ignore + + def list( + self, + resource_group_name: str, + name: str, + expand: Optional[str] = None, + **kwargs + ) -> AsyncIterable["_models.MachineExtensionsListResult"]: + """The operation to get all extensions of a non-Azure machine. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param name: The name of the machine containing the extension. + :type name: str + :param expand: The expand expression to apply on the operation. + :type expand: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either MachineExtensionsListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure_arc_vmware_management_service_api.models.MachineExtensionsListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.MachineExtensionsListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'name': self._serialize.url("name", name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('MachineExtensionsListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{name}/extensions'} # type: ignore diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/operations/_operations.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/operations/_operations.py new file mode 100644 index 00000000000..964d2d4a7e8 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/operations/_operations.py @@ -0,0 +1,105 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class Operations: + """Operations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure_arc_vmware_management_service_api.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + **kwargs + ) -> AsyncIterable["_models.OperationsList"]: + """Returns list of all operations. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either OperationsList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure_arc_vmware_management_service_api.models.OperationsList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('OperationsList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.ConnectedVMwarevSphere/operations'} # type: ignore diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/operations/_resource_pools_operations.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/operations/_resource_pools_operations.py new file mode 100644 index 00000000000..9cfbc9f8bb0 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/operations/_resource_pools_operations.py @@ -0,0 +1,571 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ResourcePoolsOperations: + """ResourcePoolsOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure_arc_vmware_management_service_api.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def _create_initial( + self, + resource_group_name: str, + resource_pool_name: str, + body: Optional["_models.ResourcePool"] = None, + **kwargs + ) -> "_models.ResourcePool": + cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourcePool"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'resourcePoolName': self._serialize.url("resource_pool_name", resource_pool_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + if body is not None: + body_content = self._serialize.body(body, 'ResourcePool') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('ResourcePool', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('ResourcePool', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/resourcePools/{resourcePoolName}'} # type: ignore + + async def begin_create( + self, + resource_group_name: str, + resource_pool_name: str, + body: Optional["_models.ResourcePool"] = None, + **kwargs + ) -> AsyncLROPoller["_models.ResourcePool"]: + """Implements resourcePool PUT method. + + Create Or Update resourcePool. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param resource_pool_name: Name of the resourcePool. + :type resource_pool_name: str + :param body: Request payload. + :type body: ~azure_arc_vmware_management_service_api.models.ResourcePool + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either ResourcePool or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure_arc_vmware_management_service_api.models.ResourcePool] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourcePool"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._create_initial( + resource_group_name=resource_group_name, + resource_pool_name=resource_pool_name, + body=body, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ResourcePool', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'resourcePoolName': self._serialize.url("resource_pool_name", resource_pool_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/resourcePools/{resourcePoolName}'} # type: ignore + + async def get( + self, + resource_group_name: str, + resource_pool_name: str, + **kwargs + ) -> "_models.ResourcePool": + """Gets a resourcePool. + + Implements resourcePool GET method. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param resource_pool_name: Name of the resourcePool. + :type resource_pool_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ResourcePool, or the result of cls(response) + :rtype: ~azure_arc_vmware_management_service_api.models.ResourcePool + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourcePool"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'resourcePoolName': self._serialize.url("resource_pool_name", resource_pool_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ResourcePool', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/resourcePools/{resourcePoolName}'} # type: ignore + + async def update( + self, + resource_group_name: str, + resource_pool_name: str, + body: Optional["_models.ResourcePatch"] = None, + **kwargs + ) -> "_models.ResourcePool": + """Updates a resourcePool. + + API to update certain properties of the resourcePool resource. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param resource_pool_name: Name of the resourcePool. + :type resource_pool_name: str + :param body: Resource properties to update. + :type body: ~azure_arc_vmware_management_service_api.models.ResourcePatch + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ResourcePool, or the result of cls(response) + :rtype: ~azure_arc_vmware_management_service_api.models.ResourcePool + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourcePool"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'resourcePoolName': self._serialize.url("resource_pool_name", resource_pool_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + if body is not None: + body_content = self._serialize.body(body, 'ResourcePatch') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ResourcePool', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/resourcePools/{resourcePoolName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + resource_pool_name: str, + force: Optional[bool] = None, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + # Construct URL + url = self._delete_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'resourcePoolName': self._serialize.url("resource_pool_name", resource_pool_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if force is not None: + query_parameters['force'] = self._serialize.query("force", force, 'bool') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/resourcePools/{resourcePoolName}'} # type: ignore + + async def begin_delete( + self, + resource_group_name: str, + resource_pool_name: str, + force: Optional[bool] = None, + **kwargs + ) -> AsyncLROPoller[None]: + """Deletes an resourcePool. + + Implements resourcePool DELETE method. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param resource_pool_name: Name of the resourcePool. + :type resource_pool_name: str + :param force: Whether force delete was specified. + :type force: bool + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + resource_pool_name=resource_pool_name, + force=force, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'resourcePoolName': self._serialize.url("resource_pool_name", resource_pool_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/resourcePools/{resourcePoolName}'} # type: ignore + + def list( + self, + **kwargs + ) -> AsyncIterable["_models.ResourcePoolsList"]: + """Implements GET resourcePools in a subscription. + + List of resourcePools in a subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ResourcePoolsList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure_arc_vmware_management_service_api.models.ResourcePoolsList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourcePoolsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + 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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ResourcePoolsList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ConnectedVMwarevSphere/resourcePools'} # type: ignore + + def list_by_resource_group( + self, + resource_group_name: str, + **kwargs + ) -> AsyncIterable["_models.ResourcePoolsList"]: + """Implements GET resourcePools in a resource group. + + List of resourcePools in a resource group. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ResourcePoolsList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure_arc_vmware_management_service_api.models.ResourcePoolsList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourcePoolsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('ResourcePoolsList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/resourcePools'} # type: ignore diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/operations/_vcenters_operations.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/operations/_vcenters_operations.py new file mode 100644 index 00000000000..d3344f6d1f5 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/operations/_vcenters_operations.py @@ -0,0 +1,571 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class VCentersOperations: + """VCentersOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure_arc_vmware_management_service_api.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def _create_initial( + self, + resource_group_name: str, + vcenter_name: str, + body: Optional["_models.VCenter"] = None, + **kwargs + ) -> "_models.VCenter": + cls = kwargs.pop('cls', None) # type: ClsType["_models.VCenter"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vcenterName': self._serialize.url("vcenter_name", vcenter_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + if body is not None: + body_content = self._serialize.body(body, 'VCenter') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('VCenter', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('VCenter', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/vcenters/{vcenterName}'} # type: ignore + + async def begin_create( + self, + resource_group_name: str, + vcenter_name: str, + body: Optional["_models.VCenter"] = None, + **kwargs + ) -> AsyncLROPoller["_models.VCenter"]: + """Implements vCenter PUT method. + + Create Or Update vCenter. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param vcenter_name: Name of the vCenter. + :type vcenter_name: str + :param body: Request payload. + :type body: ~azure_arc_vmware_management_service_api.models.VCenter + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either VCenter or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure_arc_vmware_management_service_api.models.VCenter] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.VCenter"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._create_initial( + resource_group_name=resource_group_name, + vcenter_name=vcenter_name, + body=body, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('VCenter', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vcenterName': self._serialize.url("vcenter_name", vcenter_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/vcenters/{vcenterName}'} # type: ignore + + async def get( + self, + resource_group_name: str, + vcenter_name: str, + **kwargs + ) -> "_models.VCenter": + """Gets a vCenter. + + Implements vCenter GET method. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param vcenter_name: Name of the vCenter. + :type vcenter_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: VCenter, or the result of cls(response) + :rtype: ~azure_arc_vmware_management_service_api.models.VCenter + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.VCenter"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vcenterName': self._serialize.url("vcenter_name", vcenter_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('VCenter', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/vcenters/{vcenterName}'} # type: ignore + + async def update( + self, + resource_group_name: str, + vcenter_name: str, + body: Optional["_models.ResourcePatch"] = None, + **kwargs + ) -> "_models.VCenter": + """Updates a vCenter. + + API to update certain properties of the vCenter resource. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param vcenter_name: Name of the vCenter. + :type vcenter_name: str + :param body: Resource properties to update. + :type body: ~azure_arc_vmware_management_service_api.models.ResourcePatch + :keyword callable cls: A custom type or function that will be passed the direct response + :return: VCenter, or the result of cls(response) + :rtype: ~azure_arc_vmware_management_service_api.models.VCenter + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.VCenter"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vcenterName': self._serialize.url("vcenter_name", vcenter_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + if body is not None: + body_content = self._serialize.body(body, 'ResourcePatch') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('VCenter', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/vcenters/{vcenterName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + vcenter_name: str, + force: Optional[bool] = None, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + # Construct URL + url = self._delete_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vcenterName': self._serialize.url("vcenter_name", vcenter_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if force is not None: + query_parameters['force'] = self._serialize.query("force", force, 'bool') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/vcenters/{vcenterName}'} # type: ignore + + async def begin_delete( + self, + resource_group_name: str, + vcenter_name: str, + force: Optional[bool] = None, + **kwargs + ) -> AsyncLROPoller[None]: + """Deletes an vCenter. + + Implements vCenter DELETE method. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param vcenter_name: Name of the vCenter. + :type vcenter_name: str + :param force: Whether force delete was specified. + :type force: bool + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + vcenter_name=vcenter_name, + force=force, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vcenterName': self._serialize.url("vcenter_name", vcenter_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/vcenters/{vcenterName}'} # type: ignore + + def list( + self, + **kwargs + ) -> AsyncIterable["_models.VCentersList"]: + """Implements GET vCenters in a subscription. + + List of vCenters in a subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either VCentersList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure_arc_vmware_management_service_api.models.VCentersList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.VCentersList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + 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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('VCentersList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ConnectedVMwarevSphere/vcenters'} # type: ignore + + def list_by_resource_group( + self, + resource_group_name: str, + **kwargs + ) -> AsyncIterable["_models.VCentersList"]: + """Implements GET vCenters in a resource group. + + List of vCenters in a resource group. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either VCentersList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure_arc_vmware_management_service_api.models.VCentersList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.VCentersList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('VCentersList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/vcenters'} # type: ignore diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/operations/_virtual_machine_templates_operations.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/operations/_virtual_machine_templates_operations.py new file mode 100644 index 00000000000..6dcda811109 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/operations/_virtual_machine_templates_operations.py @@ -0,0 +1,571 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class VirtualMachineTemplatesOperations: + """VirtualMachineTemplatesOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure_arc_vmware_management_service_api.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def _create_initial( + self, + resource_group_name: str, + virtual_machine_template_name: str, + body: Optional["_models.VirtualMachineTemplate"] = None, + **kwargs + ) -> "_models.VirtualMachineTemplate": + cls = kwargs.pop('cls', None) # type: ClsType["_models.VirtualMachineTemplate"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineTemplateName': self._serialize.url("virtual_machine_template_name", virtual_machine_template_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + if body is not None: + body_content = self._serialize.body(body, 'VirtualMachineTemplate') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('VirtualMachineTemplate', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('VirtualMachineTemplate', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates/{virtualMachineTemplateName}'} # type: ignore + + async def begin_create( + self, + resource_group_name: str, + virtual_machine_template_name: str, + body: Optional["_models.VirtualMachineTemplate"] = None, + **kwargs + ) -> AsyncLROPoller["_models.VirtualMachineTemplate"]: + """Implements virtual machine template PUT method. + + Create Or Update virtual machine template. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_machine_template_name: Name of the virtual machine template resource. + :type virtual_machine_template_name: str + :param body: Request payload. + :type body: ~azure_arc_vmware_management_service_api.models.VirtualMachineTemplate + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either VirtualMachineTemplate or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure_arc_vmware_management_service_api.models.VirtualMachineTemplate] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.VirtualMachineTemplate"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._create_initial( + resource_group_name=resource_group_name, + virtual_machine_template_name=virtual_machine_template_name, + body=body, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('VirtualMachineTemplate', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineTemplateName': self._serialize.url("virtual_machine_template_name", virtual_machine_template_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates/{virtualMachineTemplateName}'} # type: ignore + + async def get( + self, + resource_group_name: str, + virtual_machine_template_name: str, + **kwargs + ) -> "_models.VirtualMachineTemplate": + """Gets a virtual machine template. + + Implements virtual machine template GET method. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_machine_template_name: Name of the virtual machine template resource. + :type virtual_machine_template_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: VirtualMachineTemplate, or the result of cls(response) + :rtype: ~azure_arc_vmware_management_service_api.models.VirtualMachineTemplate + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.VirtualMachineTemplate"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineTemplateName': self._serialize.url("virtual_machine_template_name", virtual_machine_template_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('VirtualMachineTemplate', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates/{virtualMachineTemplateName}'} # type: ignore + + async def update( + self, + resource_group_name: str, + virtual_machine_template_name: str, + body: Optional["_models.ResourcePatch"] = None, + **kwargs + ) -> "_models.VirtualMachineTemplate": + """Updates a virtual machine template. + + API to update certain properties of the virtual machine template resource. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_machine_template_name: Name of the virtual machine template resource. + :type virtual_machine_template_name: str + :param body: Resource properties to update. + :type body: ~azure_arc_vmware_management_service_api.models.ResourcePatch + :keyword callable cls: A custom type or function that will be passed the direct response + :return: VirtualMachineTemplate, or the result of cls(response) + :rtype: ~azure_arc_vmware_management_service_api.models.VirtualMachineTemplate + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.VirtualMachineTemplate"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineTemplateName': self._serialize.url("virtual_machine_template_name", virtual_machine_template_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + if body is not None: + body_content = self._serialize.body(body, 'ResourcePatch') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('VirtualMachineTemplate', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates/{virtualMachineTemplateName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + virtual_machine_template_name: str, + force: Optional[bool] = None, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + # Construct URL + url = self._delete_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineTemplateName': self._serialize.url("virtual_machine_template_name", virtual_machine_template_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if force is not None: + query_parameters['force'] = self._serialize.query("force", force, 'bool') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates/{virtualMachineTemplateName}'} # type: ignore + + async def begin_delete( + self, + resource_group_name: str, + virtual_machine_template_name: str, + force: Optional[bool] = None, + **kwargs + ) -> AsyncLROPoller[None]: + """Deletes an virtual machine template. + + Implements virtual machine template DELETE method. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_machine_template_name: Name of the virtual machine template resource. + :type virtual_machine_template_name: str + :param force: Whether force delete was specified. + :type force: bool + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + virtual_machine_template_name=virtual_machine_template_name, + force=force, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineTemplateName': self._serialize.url("virtual_machine_template_name", virtual_machine_template_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates/{virtualMachineTemplateName}'} # type: ignore + + def list( + self, + **kwargs + ) -> AsyncIterable["_models.VirtualMachineTemplatesList"]: + """Implements GET virtualMachineTemplates in a subscription. + + List of virtualMachineTemplates in a subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either VirtualMachineTemplatesList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure_arc_vmware_management_service_api.models.VirtualMachineTemplatesList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.VirtualMachineTemplatesList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + 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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('VirtualMachineTemplatesList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates'} # type: ignore + + def list_by_resource_group( + self, + resource_group_name: str, + **kwargs + ) -> AsyncIterable["_models.VirtualMachineTemplatesList"]: + """Implements GET virtualMachineTemplates in a resource group. + + List of virtualMachineTemplates in a resource group. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either VirtualMachineTemplatesList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure_arc_vmware_management_service_api.models.VirtualMachineTemplatesList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.VirtualMachineTemplatesList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('VirtualMachineTemplatesList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates'} # type: ignore diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/operations/_virtual_machines_operations.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/operations/_virtual_machines_operations.py new file mode 100644 index 00000000000..8f1ef9c87d4 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/operations/_virtual_machines_operations.py @@ -0,0 +1,979 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class VirtualMachinesOperations: + """VirtualMachinesOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure_arc_vmware_management_service_api.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def _create_initial( + self, + resource_group_name: str, + virtual_machine_name: str, + body: Optional["_models.VirtualMachine"] = None, + **kwargs + ) -> "_models.VirtualMachine": + cls = kwargs.pop('cls', None) # type: ClsType["_models.VirtualMachine"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineName': self._serialize.url("virtual_machine_name", virtual_machine_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + if body is not None: + body_content = self._serialize.body(body, 'VirtualMachine') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('VirtualMachine', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('VirtualMachine', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}'} # type: ignore + + async def begin_create( + self, + resource_group_name: str, + virtual_machine_name: str, + body: Optional["_models.VirtualMachine"] = None, + **kwargs + ) -> AsyncLROPoller["_models.VirtualMachine"]: + """Implements virtual machine PUT method. + + Create Or Update virtual machine. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_machine_name: Name of the virtual machine resource. + :type virtual_machine_name: str + :param body: Request payload. + :type body: ~azure_arc_vmware_management_service_api.models.VirtualMachine + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either VirtualMachine or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure_arc_vmware_management_service_api.models.VirtualMachine] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.VirtualMachine"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._create_initial( + resource_group_name=resource_group_name, + virtual_machine_name=virtual_machine_name, + body=body, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('VirtualMachine', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineName': self._serialize.url("virtual_machine_name", virtual_machine_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}'} # type: ignore + + async def get( + self, + resource_group_name: str, + virtual_machine_name: str, + **kwargs + ) -> "_models.VirtualMachine": + """Gets a virtual machine. + + Implements virtual machine GET method. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_machine_name: Name of the virtual machine resource. + :type virtual_machine_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: VirtualMachine, or the result of cls(response) + :rtype: ~azure_arc_vmware_management_service_api.models.VirtualMachine + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.VirtualMachine"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineName': self._serialize.url("virtual_machine_name", virtual_machine_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('VirtualMachine', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}'} # type: ignore + + async def _update_initial( + self, + resource_group_name: str, + virtual_machine_name: str, + body: Optional["_models.VirtualMachineUpdate"] = None, + **kwargs + ) -> "_models.VirtualMachine": + cls = kwargs.pop('cls', None) # type: ClsType["_models.VirtualMachine"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._update_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineName': self._serialize.url("virtual_machine_name", virtual_machine_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + if body is not None: + body_content = self._serialize.body(body, 'VirtualMachineUpdate') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('VirtualMachine', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('VirtualMachine', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}'} # type: ignore + + async def begin_update( + self, + resource_group_name: str, + virtual_machine_name: str, + body: Optional["_models.VirtualMachineUpdate"] = None, + **kwargs + ) -> AsyncLROPoller["_models.VirtualMachine"]: + """Updates a virtual machine. + + API to update certain properties of the virtual machine resource. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_machine_name: Name of the virtual machine resource. + :type virtual_machine_name: str + :param body: Resource properties to update. + :type body: ~azure_arc_vmware_management_service_api.models.VirtualMachineUpdate + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either VirtualMachine or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure_arc_vmware_management_service_api.models.VirtualMachine] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.VirtualMachine"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._update_initial( + resource_group_name=resource_group_name, + virtual_machine_name=virtual_machine_name, + body=body, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('VirtualMachine', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineName': self._serialize.url("virtual_machine_name", virtual_machine_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + virtual_machine_name: str, + force: Optional[bool] = None, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + # Construct URL + url = self._delete_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineName': self._serialize.url("virtual_machine_name", virtual_machine_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if force is not None: + query_parameters['force'] = self._serialize.query("force", force, 'bool') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}'} # type: ignore + + async def begin_delete( + self, + resource_group_name: str, + virtual_machine_name: str, + force: Optional[bool] = None, + **kwargs + ) -> AsyncLROPoller[None]: + """Deletes an virtual machine. + + Implements virtual machine DELETE method. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_machine_name: Name of the virtual machine resource. + :type virtual_machine_name: str + :param force: Whether force delete was specified. + :type force: bool + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + virtual_machine_name=virtual_machine_name, + force=force, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineName': self._serialize.url("virtual_machine_name", virtual_machine_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}'} # type: ignore + + async def _stop_initial( + self, + resource_group_name: str, + virtual_machine_name: str, + body: Optional["_models.StopVirtualMachineOptions"] = None, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._stop_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineName': self._serialize.url("virtual_machine_name", virtual_machine_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + if body is not None: + body_content = self._serialize.body(body, 'StopVirtualMachineOptions') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _stop_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}/stop'} # type: ignore + + async def begin_stop( + self, + resource_group_name: str, + virtual_machine_name: str, + body: Optional["_models.StopVirtualMachineOptions"] = None, + **kwargs + ) -> AsyncLROPoller[None]: + """Implements the operation to stop a virtual machine. + + Stop virtual machine. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_machine_name: Name of the virtual machine resource. + :type virtual_machine_name: str + :param body: Virtualmachine stop action payload. + :type body: ~azure_arc_vmware_management_service_api.models.StopVirtualMachineOptions + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._stop_initial( + resource_group_name=resource_group_name, + virtual_machine_name=virtual_machine_name, + body=body, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineName': self._serialize.url("virtual_machine_name", virtual_machine_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}/stop'} # type: ignore + + async def _start_initial( + self, + resource_group_name: str, + virtual_machine_name: str, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + # Construct URL + url = self._start_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineName': self._serialize.url("virtual_machine_name", virtual_machine_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _start_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}/start'} # type: ignore + + async def begin_start( + self, + resource_group_name: str, + virtual_machine_name: str, + **kwargs + ) -> AsyncLROPoller[None]: + """Implements the operation to start a virtual machine. + + Start virtual machine. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_machine_name: Name of the virtual machine resource. + :type virtual_machine_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._start_initial( + resource_group_name=resource_group_name, + virtual_machine_name=virtual_machine_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineName': self._serialize.url("virtual_machine_name", virtual_machine_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_start.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}/start'} # type: ignore + + async def _restart_initial( + self, + resource_group_name: str, + virtual_machine_name: str, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + # Construct URL + url = self._restart_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineName': self._serialize.url("virtual_machine_name", virtual_machine_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _restart_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}/restart'} # type: ignore + + async def begin_restart( + self, + resource_group_name: str, + virtual_machine_name: str, + **kwargs + ) -> AsyncLROPoller[None]: + """Implements the operation to restart a virtual machine. + + Restart virtual machine. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_machine_name: Name of the virtual machine resource. + :type virtual_machine_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._restart_initial( + resource_group_name=resource_group_name, + virtual_machine_name=virtual_machine_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineName': self._serialize.url("virtual_machine_name", virtual_machine_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_restart.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}/restart'} # type: ignore + + def list( + self, + **kwargs + ) -> AsyncIterable["_models.VirtualMachinesList"]: + """Implements GET virtualMachines in a subscription. + + List of virtualMachines in a subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either VirtualMachinesList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure_arc_vmware_management_service_api.models.VirtualMachinesList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.VirtualMachinesList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + 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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('VirtualMachinesList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines'} # type: ignore + + def list_by_resource_group( + self, + resource_group_name: str, + **kwargs + ) -> AsyncIterable["_models.VirtualMachinesList"]: + """Implements GET virtualMachines in a resource group. + + List of virtualMachines in a resource group. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either VirtualMachinesList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure_arc_vmware_management_service_api.models.VirtualMachinesList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.VirtualMachinesList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('VirtualMachinesList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines'} # type: ignore diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/operations/_virtual_networks_operations.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/operations/_virtual_networks_operations.py new file mode 100644 index 00000000000..67b8ed42ed6 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/aio/operations/_virtual_networks_operations.py @@ -0,0 +1,571 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class VirtualNetworksOperations: + """VirtualNetworksOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure_arc_vmware_management_service_api.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def _create_initial( + self, + resource_group_name: str, + virtual_network_name: str, + body: Optional["_models.VirtualNetwork"] = None, + **kwargs + ) -> "_models.VirtualNetwork": + cls = kwargs.pop('cls', None) # type: ClsType["_models.VirtualNetwork"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + if body is not None: + body_content = self._serialize.body(body, 'VirtualNetwork') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('VirtualNetwork', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('VirtualNetwork', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks/{virtualNetworkName}'} # type: ignore + + async def begin_create( + self, + resource_group_name: str, + virtual_network_name: str, + body: Optional["_models.VirtualNetwork"] = None, + **kwargs + ) -> AsyncLROPoller["_models.VirtualNetwork"]: + """Implements virtual network PUT method. + + Create Or Update virtual network. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_network_name: Name of the virtual network resource. + :type virtual_network_name: str + :param body: Request payload. + :type body: ~azure_arc_vmware_management_service_api.models.VirtualNetwork + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either VirtualNetwork or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~azure_arc_vmware_management_service_api.models.VirtualNetwork] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.VirtualNetwork"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._create_initial( + resource_group_name=resource_group_name, + virtual_network_name=virtual_network_name, + body=body, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('VirtualNetwork', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks/{virtualNetworkName}'} # type: ignore + + async def get( + self, + resource_group_name: str, + virtual_network_name: str, + **kwargs + ) -> "_models.VirtualNetwork": + """Gets a virtual network. + + Implements virtual network GET method. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_network_name: Name of the virtual network resource. + :type virtual_network_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: VirtualNetwork, or the result of cls(response) + :rtype: ~azure_arc_vmware_management_service_api.models.VirtualNetwork + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.VirtualNetwork"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('VirtualNetwork', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks/{virtualNetworkName}'} # type: ignore + + async def update( + self, + resource_group_name: str, + virtual_network_name: str, + body: Optional["_models.ResourcePatch"] = None, + **kwargs + ) -> "_models.VirtualNetwork": + """Updates a virtual network. + + API to update certain properties of the virtual network resource. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_network_name: Name of the virtual network resource. + :type virtual_network_name: str + :param body: Resource properties to update. + :type body: ~azure_arc_vmware_management_service_api.models.ResourcePatch + :keyword callable cls: A custom type or function that will be passed the direct response + :return: VirtualNetwork, or the result of cls(response) + :rtype: ~azure_arc_vmware_management_service_api.models.VirtualNetwork + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.VirtualNetwork"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + if body is not None: + body_content = self._serialize.body(body, 'ResourcePatch') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('VirtualNetwork', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks/{virtualNetworkName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + virtual_network_name: str, + force: Optional[bool] = None, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + # Construct URL + url = self._delete_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if force is not None: + query_parameters['force'] = self._serialize.query("force", force, 'bool') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks/{virtualNetworkName}'} # type: ignore + + async def begin_delete( + self, + resource_group_name: str, + virtual_network_name: str, + force: Optional[bool] = None, + **kwargs + ) -> AsyncLROPoller[None]: + """Deletes an virtual network. + + Implements virtual network DELETE method. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_network_name: Name of the virtual network resource. + :type virtual_network_name: str + :param force: Whether force delete was specified. + :type force: bool + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the AsyncARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + virtual_network_name=virtual_network_name, + force=force, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks/{virtualNetworkName}'} # type: ignore + + def list( + self, + **kwargs + ) -> AsyncIterable["_models.VirtualNetworksList"]: + """Implements GET virtualNetworks in a subscription. + + List of virtualNetworks in a subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either VirtualNetworksList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure_arc_vmware_management_service_api.models.VirtualNetworksList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.VirtualNetworksList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + 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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('VirtualNetworksList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks'} # type: ignore + + def list_by_resource_group( + self, + resource_group_name: str, + **kwargs + ) -> AsyncIterable["_models.VirtualNetworksList"]: + """Implements GET virtualNetworks in a resource group. + + List of virtualNetworks in a resource group. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either VirtualNetworksList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure_arc_vmware_management_service_api.models.VirtualNetworksList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.VirtualNetworksList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('VirtualNetworksList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks'} # type: ignore diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/azure_arc_vmware_management_service_api.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/azure_arc_vmware_management_service_api.py new file mode 100644 index 00000000000..3d217c884eb --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/azure_arc_vmware_management_service_api.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 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.resource_pools_operations import ResourcePoolsOperations +from .operations.vcenters_operations import VCentersOperations +from .operations.virtual_machines_operations import VirtualMachinesOperations +from .operations.virtual_machine_templates_operations import VirtualMachineTemplatesOperations +from .operations.virtual_networks_operations import VirtualNetworksOperations +from .operations.inventory_items_operations import InventoryItemsOperations +from . import models + + +class AzureArcVMwareManagementServiceAPIConfiguration(AzureConfiguration): + """Configuration for AzureArcVMwareManagementServiceAPI + 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 Subscription ID. + :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(AzureArcVMwareManagementServiceAPIConfiguration, self).__init__(base_url) + + self.add_user_agent('azure-mgmt-connectedvmware/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id + + +class AzureArcVMwareManagementServiceAPI(SDKClient): + """Self service experience for VMware. + + :ivar config: Configuration for client. + :vartype config: AzureArcVMwareManagementServiceAPIConfiguration + + :ivar operations: Operations operations + :vartype operations: azure.mgmt.vmware.v2020_10_01_preview.operations.Operations + :ivar resource_pools: ResourcePools operations + :vartype resource_pools: azure.mgmt.vmware.v2020_10_01_preview.operations.ResourcePoolsOperations + :ivar vcenters: VCenters operations + :vartype vcenters: azure.mgmt.vmware.v2020_10_01_preview.operations.VCentersOperations + :ivar virtual_machines: VirtualMachines operations + :vartype virtual_machines: azure.mgmt.vmware.v2020_10_01_preview.operations.VirtualMachinesOperations + :ivar virtual_machine_templates: VirtualMachineTemplates operations + :vartype virtual_machine_templates: azure.mgmt.vmware.v2020_10_01_preview.operations.VirtualMachineTemplatesOperations + :ivar virtual_networks: VirtualNetworks operations + :vartype virtual_networks: azure.mgmt.vmware.v2020_10_01_preview.operations.VirtualNetworksOperations + :ivar inventory_items: InventoryItems operations + :vartype inventory_items: azure.mgmt.vmware.v2020_10_01_preview.operations.InventoryItemsOperations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The Subscription ID. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + self.config = AzureArcVMwareManagementServiceAPIConfiguration(credentials, subscription_id, base_url) + super(AzureArcVMwareManagementServiceAPI, 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 = '2020-10-01-preview' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.operations = Operations( + self._client, self.config, self._serialize, self._deserialize) + self.resource_pools = ResourcePoolsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.vcenters = VCentersOperations( + self._client, self.config, self._serialize, self._deserialize) + self.virtual_machines = VirtualMachinesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.virtual_machine_templates = VirtualMachineTemplatesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.virtual_networks = VirtualNetworksOperations( + self._client, self.config, self._serialize, self._deserialize) + self.inventory_items = InventoryItemsOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/__init__.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/__init__.py new file mode 100644 index 00000000000..9b06fbbb5bd --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/__init__.py @@ -0,0 +1,211 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 ._models_py3 import Condition + from ._models_py3 import ErrorDefinition + from ._models_py3 import ErrorResponse + from ._models_py3 import ExtendedLocation + from ._models_py3 import GuestAgent + from ._models_py3 import GuestAgentList + from ._models_py3 import GuestCredential + from ._models_py3 import HardwareProfile + from ._models_py3 import HybridIdentityMetadata + from ._models_py3 import HybridIdentityMetadataList + from ._models_py3 import Identity + from ._models_py3 import InventoryItem + from ._models_py3 import InventoryItemDetails + from ._models_py3 import InventoryItemProperties + from ._models_py3 import InventoryItemsList + from ._models_py3 import MachineExtension + from ._models_py3 import MachineExtensionInstanceView + from ._models_py3 import MachineExtensionInstanceViewStatus + from ._models_py3 import MachineExtensionPropertiesInstanceView + from ._models_py3 import MachineExtensionUpdate + from ._models_py3 import MachineExtensionsListResult + from ._models_py3 import NetworkInterface + from ._models_py3 import NetworkInterfaceUpdate + from ._models_py3 import NetworkProfile + from ._models_py3 import NetworkProfileUpdate + from ._models_py3 import NicIPAddressSettings + from ._models_py3 import NicIPSettings + from ._models_py3 import Operation + from ._models_py3 import OperationDisplay + from ._models_py3 import OperationsList + from ._models_py3 import OsProfile + from ._models_py3 import ProxyResource + from ._models_py3 import Resource + from ._models_py3 import ResourcePatch + from ._models_py3 import ResourcePool + from ._models_py3 import ResourcePoolInventoryItem + from ._models_py3 import ResourcePoolsList + from ._models_py3 import StopVirtualMachineOptions + from ._models_py3 import StorageProfile + from ._models_py3 import StorageProfileUpdate + from ._models_py3 import SystemData + from ._models_py3 import VCenter + from ._models_py3 import VCentersList + from ._models_py3 import VICredential + from ._models_py3 import VirtualDisk + from ._models_py3 import VirtualDiskUpdate + from ._models_py3 import VirtualMachine + from ._models_py3 import VirtualMachineInventoryItem + from ._models_py3 import VirtualMachineTemplate + from ._models_py3 import VirtualMachineTemplateInventoryItem + from ._models_py3 import VirtualMachineTemplatesList + from ._models_py3 import VirtualMachineUpdate + from ._models_py3 import VirtualMachinesList + from ._models_py3 import VirtualNetwork + from ._models_py3 import VirtualNetworkInventoryItem + from ._models_py3 import VirtualNetworksList + from ._models_py3 import VirtualSCSIController +except (SyntaxError, ImportError): + from ._models import Condition # type: ignore + from ._models import ErrorDefinition # type: ignore + from ._models import ErrorResponse # type: ignore + from ._models import ExtendedLocation # type: ignore + from ._models import GuestAgent # type: ignore + from ._models import GuestAgentList # type: ignore + from ._models import GuestCredential # type: ignore + from ._models import HardwareProfile # type: ignore + from ._models import HybridIdentityMetadata # type: ignore + from ._models import HybridIdentityMetadataList # type: ignore + from ._models import Identity # type: ignore + from ._models import InventoryItem # type: ignore + from ._models import InventoryItemDetails # type: ignore + from ._models import InventoryItemProperties # type: ignore + from ._models import InventoryItemsList # type: ignore + from ._models import MachineExtension # type: ignore + from ._models import MachineExtensionInstanceView # type: ignore + from ._models import MachineExtensionInstanceViewStatus # type: ignore + from ._models import MachineExtensionPropertiesInstanceView # type: ignore + from ._models import MachineExtensionUpdate # type: ignore + from ._models import MachineExtensionsListResult # type: ignore + from ._models import NetworkInterface # type: ignore + from ._models import NetworkInterfaceUpdate # type: ignore + from ._models import NetworkProfile # type: ignore + from ._models import NetworkProfileUpdate # type: ignore + from ._models import NicIPAddressSettings # type: ignore + from ._models import NicIPSettings # type: ignore + from ._models import Operation # type: ignore + from ._models import OperationDisplay # type: ignore + from ._models import OperationsList # type: ignore + from ._models import OsProfile # type: ignore + from ._models import ProxyResource # type: ignore + from ._models import Resource # type: ignore + from ._models import ResourcePatch # type: ignore + from ._models import ResourcePool # type: ignore + from ._models import ResourcePoolInventoryItem # type: ignore + from ._models import ResourcePoolsList # type: ignore + from ._models import StopVirtualMachineOptions # type: ignore + from ._models import StorageProfile # type: ignore + from ._models import StorageProfileUpdate # type: ignore + from ._models import SystemData # type: ignore + from ._models import VCenter # type: ignore + from ._models import VCentersList # type: ignore + from ._models import VICredential # type: ignore + from ._models import VirtualDisk # type: ignore + from ._models import VirtualDiskUpdate # type: ignore + from ._models import VirtualMachine # type: ignore + from ._models import VirtualMachineInventoryItem # type: ignore + from ._models import VirtualMachineTemplate # type: ignore + from ._models import VirtualMachineTemplateInventoryItem # type: ignore + from ._models import VirtualMachineTemplatesList # type: ignore + from ._models import VirtualMachineUpdate # type: ignore + from ._models import VirtualMachinesList # type: ignore + from ._models import VirtualNetwork # type: ignore + from ._models import VirtualNetworkInventoryItem # type: ignore + from ._models import VirtualNetworksList # type: ignore + from ._models import VirtualSCSIController # type: ignore + +from ._azure_arc_vmware_management_service_api_enums import ( + CreatedByType, + DiskMode, + IPAddressAllocationMethod, + IdentityType, + InventoryType, + NICType, + OsType, + PowerOnBootOption, + ProvisioningAction, + SCSIControllerType, + StatusLevelTypes, + VirtualSCSISharing, +) + +__all__ = [ + 'Condition', + 'ErrorDefinition', + 'ErrorResponse', + 'ExtendedLocation', + 'GuestAgent', + 'GuestAgentList', + 'GuestCredential', + 'HardwareProfile', + 'HybridIdentityMetadata', + 'HybridIdentityMetadataList', + 'Identity', + 'InventoryItem', + 'InventoryItemDetails', + 'InventoryItemProperties', + 'InventoryItemsList', + 'MachineExtension', + 'MachineExtensionInstanceView', + 'MachineExtensionInstanceViewStatus', + 'MachineExtensionPropertiesInstanceView', + 'MachineExtensionUpdate', + 'MachineExtensionsListResult', + 'NetworkInterface', + 'NetworkInterfaceUpdate', + 'NetworkProfile', + 'NetworkProfileUpdate', + 'NicIPAddressSettings', + 'NicIPSettings', + 'Operation', + 'OperationDisplay', + 'OperationsList', + 'OsProfile', + 'ProxyResource', + 'Resource', + 'ResourcePatch', + 'ResourcePool', + 'ResourcePoolInventoryItem', + 'ResourcePoolsList', + 'StopVirtualMachineOptions', + 'StorageProfile', + 'StorageProfileUpdate', + 'SystemData', + 'VCenter', + 'VCentersList', + 'VICredential', + 'VirtualDisk', + 'VirtualDiskUpdate', + 'VirtualMachine', + 'VirtualMachineInventoryItem', + 'VirtualMachineTemplate', + 'VirtualMachineTemplateInventoryItem', + 'VirtualMachineTemplatesList', + 'VirtualMachineUpdate', + 'VirtualMachinesList', + 'VirtualNetwork', + 'VirtualNetworkInventoryItem', + 'VirtualNetworksList', + 'VirtualSCSIController', + 'CreatedByType', + 'DiskMode', + 'IPAddressAllocationMethod', + 'IdentityType', + 'InventoryType', + 'NICType', + 'OsType', + 'PowerOnBootOption', + 'ProvisioningAction', + 'SCSIControllerType', + 'StatusLevelTypes', + 'VirtualSCSISharing', +] diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/_azure_arc_vmware_management_service_api_enums.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/_azure_arc_vmware_management_service_api_enums.py new file mode 100644 index 00000000000..e86e1faad9c --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/_azure_arc_vmware_management_service_api_enums.py @@ -0,0 +1,130 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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, EnumMeta +from six import with_metaclass + +class _CaseInsensitiveEnumMeta(EnumMeta): + def __getitem__(self, name): + return super().__getitem__(name.upper()) + + def __getattr__(cls, name): + """Return the enum member matching `name` + We use __getattr__ instead of descriptors or inserting into the enum + class' __dict__ in order to support `name` and `value` being both + properties for enum members (which live in the class' __dict__) and + enum members themselves. + """ + try: + return cls._member_map_[name.upper()] + except KeyError: + raise AttributeError(name) + + +class CreatedByType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The type of identity that created the resource. + """ + + USER = "User" + APPLICATION = "Application" + MANAGED_IDENTITY = "ManagedIdentity" + KEY = "Key" + +class DiskMode(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Defines the different types of disk modes. + """ + + PERSISTENT = "persistent" + INDEPENDENT_PERSISTENT = "independent_persistent" + INDEPENDENT_NONPERSISTENT = "independent_nonpersistent" + +class IdentityType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The type of managed service identity. + """ + + NONE = "None" + SYSTEM_ASSIGNED = "SystemAssigned" + +class InventoryType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The inventory type. + """ + + RESOURCE_POOL = "ResourcePool" + VIRTUAL_MACHINE = "VirtualMachine" + VIRTUAL_MACHINE_TEMPLATE = "VirtualMachineTemplate" + VIRTUAL_NETWORK = "VirtualNetwork" + +class IPAddressAllocationMethod(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """IP address allocation method. + """ + + UNSET = "unset" + DYNAMIC = "dynamic" + STATIC = "static" + LINKLAYER = "linklayer" + RANDOM = "random" + OTHER = "other" + +class NICType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """NIC type + """ + + VMXNET3 = "vmxnet3" + VMXNET2 = "vmxnet2" + VMXNET = "vmxnet" + E1000 = "e1000" + E1000_E = "e1000e" + PCNET32 = "pcnet32" + +class OsType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Defines the different types of VM guest operating systems. + """ + + WINDOWS = "Windows" + LINUX = "Linux" + OTHER = "Other" + +class PowerOnBootOption(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Defines the options for power on boot. + """ + + ENABLED = "enabled" + DISABLED = "disabled" + +class ProvisioningAction(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Defines the different types of operations for guest agent. + """ + + INSTALL = "install" + UNINSTALL = "uninstall" + REPAIR = "repair" + +class SCSIControllerType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Defines the different types of SCSI controllers. + """ + + LSILOGIC = "lsilogic" + BUSLOGIC = "buslogic" + PVSCSI = "pvscsi" + LSILOGICSAS = "lsilogicsas" + +class StatusLevelTypes(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The level code. + """ + + INFO = "Info" + WARNING = "Warning" + ERROR = "Error" + +class VirtualSCSISharing(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Defines the sharing mode for sharing the SCSI bus. + """ + + NO_SHARING = "noSharing" + PHYSICAL_SHARING = "physicalSharing" + VIRTUAL_SHARING = "virtualSharing" diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/_models.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/_models.py new file mode 100644 index 00000000000..66cbe90a652 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/_models.py @@ -0,0 +1,2653 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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.core.exceptions import HttpResponseError +import msrest.serialization + + +class Condition(msrest.serialization.Model): + """Condition defines an extension to status. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar status: Status of the condition. + :vartype status: str + :ivar reason: The reason for the condition's status. + :vartype reason: str + :ivar message: A human readable message indicating details about the status. + :vartype message: str + :ivar severity: Severity with which to treat failures of this type of condition. + :vartype severity: str + """ + + _validation = { + 'status': {'readonly': True}, + 'reason': {'readonly': True}, + 'message': {'readonly': True}, + 'severity': {'readonly': True}, + } + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'reason': {'key': 'reason', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'severity': {'key': 'severity', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(Condition, self).__init__(**kwargs) + self.status = None + self.reason = None + self.message = None + self.severity = None + + +class ErrorDefinition(msrest.serialization.Model): + """Error definition. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar code: Service specific error code which serves as the substatus for the HTTP error code. + :vartype code: str + :ivar message: Description of the error. + :vartype message: str + :ivar details: Internal error details. + :vartype details: list[~azure_arc_vmware_management_service_api.models.ErrorDefinition] + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + 'details': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ErrorDefinition]'}, + } + + def __init__( + self, + **kwargs + ): + super(ErrorDefinition, self).__init__(**kwargs) + self.code = None + self.message = None + self.details = None + + +class ErrorResponse(msrest.serialization.Model): + """Error response. + + :param error: The error details. + :type error: ~azure_arc_vmware_management_service_api.models.ErrorDefinition + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorDefinition'}, + } + + def __init__( + self, + **kwargs + ): + super(ErrorResponse, self).__init__(**kwargs) + self.error = kwargs.get('error', None) + + +class ExtendedLocation(msrest.serialization.Model): + """The extended location. + + :param type: The extended location type. + :type type: str + :param name: The extended location name. + :type name: str + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ExtendedLocation, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + self.name = kwargs.get('name', None) + + +class Resource(msrest.serialization.Model): + """Common fields that are returned in the response for all Azure Resource Manager resources. + + 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. E.g. "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 + + +class ProxyResource(Resource): + """The resource model definition for an Azure Resource Manager 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. E.g. "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) + + +class GuestAgent(ProxyResource): + """Defines the GuestAgent. + + 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. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: The system data. + :vartype system_data: ~azure_arc_vmware_management_service_api.models.SystemData + :param credentials: Username / Password Credentials to provision guest agent. + :type credentials: ~azure_arc_vmware_management_service_api.models.GuestCredential + :param provisioning_action: Gets or sets the guest agent provisioning action. Possible values + include: "install", "uninstall", "repair". + :type provisioning_action: str or + ~azure_arc_vmware_management_service_api.models.ProvisioningAction + :ivar status: Gets or sets the guest agent status. + :vartype status: str + :ivar provisioning_state: Gets or sets the provisioning state. + :vartype provisioning_state: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'status': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'credentials': {'key': 'properties.credentials', 'type': 'GuestCredential'}, + 'provisioning_action': {'key': 'properties.provisioningAction', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(GuestAgent, self).__init__(**kwargs) + self.system_data = None + self.credentials = kwargs.get('credentials', None) + self.provisioning_action = kwargs.get('provisioning_action', None) + self.status = None + self.provisioning_state = None + + +class GuestAgentList(msrest.serialization.Model): + """List of GuestAgent. + + All required parameters must be populated in order to send to Azure. + + :param next_link: Url to follow for getting next page of GuestAgent. + :type next_link: str + :param value: Required. Array of GuestAgent. + :type value: list[~azure_arc_vmware_management_service_api.models.GuestAgent] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[GuestAgent]'}, + } + + def __init__( + self, + **kwargs + ): + super(GuestAgentList, self).__init__(**kwargs) + self.next_link = kwargs.get('next_link', None) + self.value = kwargs['value'] + + +class GuestCredential(msrest.serialization.Model): + """Username / Password Credentials to connect to guest. + + :param username: Gets or sets username to connect with the guest. + :type username: str + :param password: Gets or sets the password to connect with the guest. + :type password: str + """ + + _attribute_map = { + 'username': {'key': 'username', 'type': 'str'}, + 'password': {'key': 'password', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(GuestCredential, self).__init__(**kwargs) + self.username = kwargs.get('username', None) + self.password = kwargs.get('password', None) + + +class HardwareProfile(msrest.serialization.Model): + """Defines the resource properties. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param memory_size_mb: Gets or sets memory size in MBs for the vm. + :type memory_size_mb: int + :param num_cp_us: Gets or sets the number of vCPUs for the vm. + :type num_cp_us: int + :param num_cores_per_socket: Gets or sets the number of cores per socket for the vm. Defaults + to 1 if unspecified. + :type num_cores_per_socket: int + :ivar cpu_hot_add_enabled: Gets or sets a value indicating whether virtual processors can be + added while this virtual machine is running. + :vartype cpu_hot_add_enabled: bool + :ivar cpu_hot_remove_enabled: Gets or sets a value indicating whether virtual processors can be + removed while this virtual machine is running. + :vartype cpu_hot_remove_enabled: bool + :ivar memory_hot_add_enabled: Gets or sets a value indicating whether memory can be added while + this virtual machine is running. + :vartype memory_hot_add_enabled: bool + """ + + _validation = { + 'cpu_hot_add_enabled': {'readonly': True}, + 'cpu_hot_remove_enabled': {'readonly': True}, + 'memory_hot_add_enabled': {'readonly': True}, + } + + _attribute_map = { + 'memory_size_mb': {'key': 'memorySizeMB', 'type': 'int'}, + 'num_cp_us': {'key': 'numCPUs', 'type': 'int'}, + 'num_cores_per_socket': {'key': 'numCoresPerSocket', 'type': 'int'}, + 'cpu_hot_add_enabled': {'key': 'cpuHotAddEnabled', 'type': 'bool'}, + 'cpu_hot_remove_enabled': {'key': 'cpuHotRemoveEnabled', 'type': 'bool'}, + 'memory_hot_add_enabled': {'key': 'memoryHotAddEnabled', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(HardwareProfile, self).__init__(**kwargs) + self.memory_size_mb = kwargs.get('memory_size_mb', None) + self.num_cp_us = kwargs.get('num_cp_us', None) + self.num_cores_per_socket = kwargs.get('num_cores_per_socket', None) + self.cpu_hot_add_enabled = None + self.cpu_hot_remove_enabled = None + self.memory_hot_add_enabled = None + + +class HybridIdentityMetadata(ProxyResource): + """Defines the HybridIdentityMetadata. + + 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. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: The system data. + :vartype system_data: ~azure_arc_vmware_management_service_api.models.SystemData + :param vm_id: Gets or sets the Vm Id. + :type vm_id: str + :param public_key: Gets or sets the Public Key. + :type public_key: str + :ivar identity: The identity of the resource. + :vartype identity: ~azure_arc_vmware_management_service_api.models.Identity + :ivar provisioning_state: Gets or sets the provisioning state. + :vartype provisioning_state: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'identity': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'vm_id': {'key': 'properties.vmId', 'type': 'str'}, + 'public_key': {'key': 'properties.publicKey', 'type': 'str'}, + 'identity': {'key': 'properties.identity', 'type': 'Identity'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(HybridIdentityMetadata, self).__init__(**kwargs) + self.system_data = None + self.vm_id = kwargs.get('vm_id', None) + self.public_key = kwargs.get('public_key', None) + self.identity = None + self.provisioning_state = None + + +class HybridIdentityMetadataList(msrest.serialization.Model): + """List of HybridIdentityMetadata. + + All required parameters must be populated in order to send to Azure. + + :param next_link: Url to follow for getting next page of HybridIdentityMetadata. + :type next_link: str + :param value: Required. Array of HybridIdentityMetadata. + :type value: list[~azure_arc_vmware_management_service_api.models.HybridIdentityMetadata] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[HybridIdentityMetadata]'}, + } + + def __init__( + self, + **kwargs + ): + super(HybridIdentityMetadataList, self).__init__(**kwargs) + self.next_link = kwargs.get('next_link', None) + self.value = kwargs['value'] + + +class Identity(msrest.serialization.Model): + """Managed service identity. + + 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 managed service identity. + :vartype principal_id: str + :ivar tenant_id: The tenant of managed service identity. + :vartype tenant_id: str + :param type: Required. The type of managed service identity. Possible values include: "None", + "SystemAssigned". + :type type: str or ~azure_arc_vmware_management_service_api.models.IdentityType + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + 'type': {'required': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(Identity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = kwargs['type'] + + +class InventoryItem(ProxyResource): + """Defines the inventory item. + + 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. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: The system data. + :vartype system_data: ~azure_arc_vmware_management_service_api.models.SystemData + :param inventory_type: Required. They inventory type.Constant filled by server. Possible + values include: "ResourcePool", "VirtualMachine", "VirtualMachineTemplate", "VirtualNetwork". + :type inventory_type: str or ~azure_arc_vmware_management_service_api.models.InventoryType + :param managed_resource_id: Gets or sets the tracked resource id corresponding to the inventory + resource. + :type managed_resource_id: str + :param mo_ref_id: Gets or sets the MoRef (Managed Object Reference) ID for the inventory item. + :type mo_ref_id: str + :param mo_name: Gets or sets the vCenter Managed Object name for the inventory item. + :type mo_name: str + :ivar provisioning_state: Gets or sets the provisioning state. + :vartype provisioning_state: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'inventory_type': {'required': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'inventory_type': {'key': 'properties.inventoryType', 'type': 'str'}, + 'managed_resource_id': {'key': 'properties.managedResourceId', 'type': 'str'}, + 'mo_ref_id': {'key': 'properties.moRefId', 'type': 'str'}, + 'mo_name': {'key': 'properties.moName', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(InventoryItem, self).__init__(**kwargs) + self.system_data = None + self.inventory_type = None # type: Optional[str] + self.managed_resource_id = kwargs.get('managed_resource_id', None) + self.mo_ref_id = kwargs.get('mo_ref_id', None) + self.mo_name = kwargs.get('mo_name', None) + self.provisioning_state = None + + +class InventoryItemDetails(msrest.serialization.Model): + """Defines the resource properties. + + :param inventory_item_id: Gets or sets the inventory Item ID for the resource. + :type inventory_item_id: str + :param mo_name: Gets or sets the vCenter Managed Object name for the resource. + :type mo_name: str + """ + + _attribute_map = { + 'inventory_item_id': {'key': 'inventoryItemId', 'type': 'str'}, + 'mo_name': {'key': 'moName', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(InventoryItemDetails, self).__init__(**kwargs) + self.inventory_item_id = kwargs.get('inventory_item_id', None) + self.mo_name = kwargs.get('mo_name', None) + + +class InventoryItemProperties(msrest.serialization.Model): + """Defines the resource properties. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: ResourcePoolInventoryItem, VirtualMachineInventoryItem, VirtualMachineTemplateInventoryItem, VirtualNetworkInventoryItem. + + 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 inventory_type: Required. They inventory type.Constant filled by server. Possible + values include: "ResourcePool", "VirtualMachine", "VirtualMachineTemplate", "VirtualNetwork". + :type inventory_type: str or ~azure_arc_vmware_management_service_api.models.InventoryType + :param managed_resource_id: Gets or sets the tracked resource id corresponding to the inventory + resource. + :type managed_resource_id: str + :param mo_ref_id: Gets or sets the MoRef (Managed Object Reference) ID for the inventory item. + :type mo_ref_id: str + :param mo_name: Gets or sets the vCenter Managed Object name for the inventory item. + :type mo_name: str + :ivar provisioning_state: Gets or sets the provisioning state. + :vartype provisioning_state: str + """ + + _validation = { + 'inventory_type': {'required': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'inventory_type': {'key': 'inventoryType', 'type': 'str'}, + 'managed_resource_id': {'key': 'managedResourceId', 'type': 'str'}, + 'mo_ref_id': {'key': 'moRefId', 'type': 'str'}, + 'mo_name': {'key': 'moName', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + } + + _subtype_map = { + 'inventory_type': {'ResourcePool': 'ResourcePoolInventoryItem', 'VirtualMachine': 'VirtualMachineInventoryItem', 'VirtualMachineTemplate': 'VirtualMachineTemplateInventoryItem', 'VirtualNetwork': 'VirtualNetworkInventoryItem'} + } + + def __init__( + self, + **kwargs + ): + super(InventoryItemProperties, self).__init__(**kwargs) + self.inventory_type = None # type: Optional[str] + self.managed_resource_id = kwargs.get('managed_resource_id', None) + self.mo_ref_id = kwargs.get('mo_ref_id', None) + self.mo_name = kwargs.get('mo_name', None) + self.provisioning_state = None + + +class InventoryItemsList(msrest.serialization.Model): + """List of InventoryItems. + + All required parameters must be populated in order to send to Azure. + + :param next_link: Url to follow for getting next page of InventoryItems. + :type next_link: str + :param value: Required. Array of InventoryItems. + :type value: list[~azure_arc_vmware_management_service_api.models.InventoryItem] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[InventoryItem]'}, + } + + def __init__( + self, + **kwargs + ): + super(InventoryItemsList, self).__init__(**kwargs) + self.next_link = kwargs.get('next_link', None) + self.value = kwargs['value'] + + +class MachineExtension(msrest.serialization.Model): + """Describes a Machine Extension. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param location: Gets or sets the location. + :type location: str + :ivar system_data: The system data. + :vartype system_data: ~azure_arc_vmware_management_service_api.models.SystemData + :param tags: A set of tags. Gets or sets the Resource tags. + :type tags: dict[str, str] + :ivar name: Gets or sets the name. + :vartype name: str + :ivar id: Gets or sets the Id. + :vartype id: str + :ivar type: Gets or sets the type of the resource. + :vartype type: str + :param force_update_tag: How the extension handler should be forced to update even if the + extension configuration has not changed. + :type force_update_tag: str + :param publisher: The name of the extension handler publisher. + :type publisher: str + :param type_properties_type: Specifies the type of the extension; an example is + "CustomScriptExtension". + :type type_properties_type: str + :param type_handler_version: Specifies the version of the script handler. + :type type_handler_version: str + :param auto_upgrade_minor_version: Indicates whether the extension should use a newer minor + version if one is available at deployment time. Once deployed, however, the extension will not + upgrade minor versions unless redeployed, even with this property set to true. + :type auto_upgrade_minor_version: bool + :param settings: Json formatted public settings for the extension. + :type settings: object + :param protected_settings: The extension can contain either protectedSettings or + protectedSettingsFromKeyVault or no protected settings at all. + :type protected_settings: object + :ivar provisioning_state: The provisioning state, which only appears in the response. + :vartype provisioning_state: str + :param instance_view: The machine extension instance view. + :type instance_view: + ~azure_arc_vmware_management_service_api.models.MachineExtensionPropertiesInstanceView + """ + + _validation = { + 'system_data': {'readonly': True}, + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'force_update_tag': {'key': 'properties.forceUpdateTag', 'type': 'str'}, + 'publisher': {'key': 'properties.publisher', 'type': 'str'}, + 'type_properties_type': {'key': 'properties.type', 'type': 'str'}, + 'type_handler_version': {'key': 'properties.typeHandlerVersion', 'type': 'str'}, + 'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'}, + 'settings': {'key': 'properties.settings', 'type': 'object'}, + 'protected_settings': {'key': 'properties.protectedSettings', 'type': 'object'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'instance_view': {'key': 'properties.instanceView', 'type': 'MachineExtensionPropertiesInstanceView'}, + } + + def __init__( + self, + **kwargs + ): + super(MachineExtension, self).__init__(**kwargs) + self.location = kwargs.get('location', None) + self.system_data = None + self.tags = kwargs.get('tags', None) + self.name = None + self.id = None + self.type = None + self.force_update_tag = kwargs.get('force_update_tag', None) + self.publisher = kwargs.get('publisher', None) + self.type_properties_type = kwargs.get('type_properties_type', None) + self.type_handler_version = kwargs.get('type_handler_version', None) + self.auto_upgrade_minor_version = kwargs.get('auto_upgrade_minor_version', None) + self.settings = kwargs.get('settings', None) + self.protected_settings = kwargs.get('protected_settings', None) + self.provisioning_state = None + self.instance_view = kwargs.get('instance_view', None) + + +class MachineExtensionInstanceView(msrest.serialization.Model): + """Describes the Machine Extension Instance View. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: The machine extension name. + :vartype name: str + :ivar type: Specifies the type of the extension; an example is "CustomScriptExtension". + :vartype type: str + :ivar type_handler_version: Specifies the version of the script handler. + :vartype type_handler_version: str + :param status: Instance view status. + :type status: + ~azure_arc_vmware_management_service_api.models.MachineExtensionInstanceViewStatus + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'type_handler_version': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'type_handler_version': {'key': 'typeHandlerVersion', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'MachineExtensionInstanceViewStatus'}, + } + + def __init__( + self, + **kwargs + ): + super(MachineExtensionInstanceView, self).__init__(**kwargs) + self.name = None + self.type = None + self.type_handler_version = None + self.status = kwargs.get('status', None) + + +class MachineExtensionInstanceViewStatus(msrest.serialization.Model): + """Instance view status. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar code: The status code. + :vartype code: str + :ivar level: The level code. Possible values include: "Info", "Warning", "Error". + :vartype level: str or ~azure_arc_vmware_management_service_api.models.StatusLevelTypes + :ivar display_status: The short localizable label for the status. + :vartype display_status: str + :ivar message: The detailed status message, including for alerts and error messages. + :vartype message: str + :ivar time: The time of the status. + :vartype time: ~datetime.datetime + """ + + _validation = { + 'code': {'readonly': True}, + 'level': {'readonly': True}, + 'display_status': {'readonly': True}, + 'message': {'readonly': True}, + 'time': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'level': {'key': 'level', 'type': 'str'}, + 'display_status': {'key': 'displayStatus', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'time': {'key': 'time', 'type': 'iso-8601'}, + } + + def __init__( + self, + **kwargs + ): + super(MachineExtensionInstanceViewStatus, self).__init__(**kwargs) + self.code = None + self.level = None + self.display_status = None + self.message = None + self.time = None + + +class MachineExtensionPropertiesInstanceView(MachineExtensionInstanceView): + """The machine extension instance view. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: The machine extension name. + :vartype name: str + :ivar type: Specifies the type of the extension; an example is "CustomScriptExtension". + :vartype type: str + :ivar type_handler_version: Specifies the version of the script handler. + :vartype type_handler_version: str + :param status: Instance view status. + :type status: + ~azure_arc_vmware_management_service_api.models.MachineExtensionInstanceViewStatus + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'type_handler_version': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'type_handler_version': {'key': 'typeHandlerVersion', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'MachineExtensionInstanceViewStatus'}, + } + + def __init__( + self, + **kwargs + ): + super(MachineExtensionPropertiesInstanceView, self).__init__(**kwargs) + + +class MachineExtensionsListResult(msrest.serialization.Model): + """Describes the Machine Extensions List Result. + + :param value: The list of extensions. + :type value: list[~azure_arc_vmware_management_service_api.models.MachineExtension] + :param next_link: The uri to fetch the next page of machine extensions. Call ListNext() with + this to fetch the next page of extensions. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[MachineExtension]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(MachineExtensionsListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class ResourcePatch(msrest.serialization.Model): + """Object containing updates for patch operations. + + :param tags: A set of tags. Resource tags. + :type tags: dict[str, str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourcePatch, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + + +class MachineExtensionUpdate(ResourcePatch): + """Describes a Machine Extension Update. + + :param tags: A set of tags. Resource tags. + :type tags: dict[str, str] + :param force_update_tag: How the extension handler should be forced to update even if the + extension configuration has not changed. + :type force_update_tag: str + :param publisher: The name of the extension handler publisher. + :type publisher: str + :param type: Specifies the type of the extension; an example is "CustomScriptExtension". + :type type: str + :param type_handler_version: Specifies the version of the script handler. + :type type_handler_version: str + :param auto_upgrade_minor_version: Indicates whether the extension should use a newer minor + version if one is available at deployment time. Once deployed, however, the extension will not + upgrade minor versions unless redeployed, even with this property set to true. + :type auto_upgrade_minor_version: bool + :param settings: Json formatted public settings for the extension. + :type settings: object + :param protected_settings: The extension can contain either protectedSettings or + protectedSettingsFromKeyVault or no protected settings at all. + :type protected_settings: object + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + 'force_update_tag': {'key': 'properties.forceUpdateTag', 'type': 'str'}, + 'publisher': {'key': 'properties.publisher', 'type': 'str'}, + 'type': {'key': 'properties.type', 'type': 'str'}, + 'type_handler_version': {'key': 'properties.typeHandlerVersion', 'type': 'str'}, + 'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'}, + 'settings': {'key': 'properties.settings', 'type': 'object'}, + 'protected_settings': {'key': 'properties.protectedSettings', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(MachineExtensionUpdate, self).__init__(**kwargs) + self.force_update_tag = kwargs.get('force_update_tag', None) + self.publisher = kwargs.get('publisher', None) + self.type = kwargs.get('type', None) + self.type_handler_version = kwargs.get('type_handler_version', None) + self.auto_upgrade_minor_version = kwargs.get('auto_upgrade_minor_version', None) + self.settings = kwargs.get('settings', None) + self.protected_settings = kwargs.get('protected_settings', None) + + +class NetworkInterface(msrest.serialization.Model): + """Network Interface model. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param name: Gets or sets the name of the network interface. + :type name: str + :ivar label: Gets or sets the label of the virtual network in vCenter that the nic is connected + to. + :vartype label: str + :ivar ip_addresses: Gets or sets the nic ip addresses. + :vartype ip_addresses: list[str] + :ivar mac_address: Gets or sets the NIC MAC address. + :vartype mac_address: str + :param network_id: Gets or sets the ARM Id of the network resource to connect the virtual + machine. + :type network_id: str + :param nic_type: NIC type. Possible values include: "vmxnet3", "vmxnet2", "vmxnet", "e1000", + "e1000e", "pcnet32". + :type nic_type: str or ~azure_arc_vmware_management_service_api.models.NICType + :param power_on_boot: Gets or sets the power on boot. Possible values include: "enabled", + "disabled". + :type power_on_boot: str or ~azure_arc_vmware_management_service_api.models.PowerOnBootOption + :ivar network_mo_ref_id: Gets or sets the vCenter MoRef (Managed Object Reference) ID of the + virtual network + that the nic is connected to. + :vartype network_mo_ref_id: str + :ivar network_mo_name: Gets or sets the name of the virtual network in vCenter that the nic is + connected to. + :vartype network_mo_name: str + :param device_key: Gets or sets the device key value. + :type device_key: int + :param ip_settings: Gets or sets the ipsettings. + :type ip_settings: ~azure_arc_vmware_management_service_api.models.NicIPSettings + """ + + _validation = { + 'label': {'readonly': True}, + 'ip_addresses': {'readonly': True}, + 'mac_address': {'readonly': True}, + 'network_mo_ref_id': {'readonly': True}, + 'network_mo_name': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'label': {'key': 'label', 'type': 'str'}, + 'ip_addresses': {'key': 'ipAddresses', 'type': '[str]'}, + 'mac_address': {'key': 'macAddress', 'type': 'str'}, + 'network_id': {'key': 'networkId', 'type': 'str'}, + 'nic_type': {'key': 'nicType', 'type': 'str'}, + 'power_on_boot': {'key': 'powerOnBoot', 'type': 'str'}, + 'network_mo_ref_id': {'key': 'networkMoRefId', 'type': 'str'}, + 'network_mo_name': {'key': 'networkMoName', 'type': 'str'}, + 'device_key': {'key': 'deviceKey', 'type': 'int'}, + 'ip_settings': {'key': 'ipSettings', 'type': 'NicIPSettings'}, + } + + def __init__( + self, + **kwargs + ): + super(NetworkInterface, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.label = None + self.ip_addresses = None + self.mac_address = None + self.network_id = kwargs.get('network_id', None) + self.nic_type = kwargs.get('nic_type', None) + self.power_on_boot = kwargs.get('power_on_boot', None) + self.network_mo_ref_id = None + self.network_mo_name = None + self.device_key = kwargs.get('device_key', None) + self.ip_settings = kwargs.get('ip_settings', None) + + +class NetworkInterfaceUpdate(msrest.serialization.Model): + """Defines the network interface update. + + :param name: Gets or sets the name of the network interface. + :type name: str + :param network_id: Gets or sets the ARM Id of the network resource to connect the virtual + machine. + :type network_id: str + :param nic_type: NIC type. Possible values include: "vmxnet3", "vmxnet2", "vmxnet", "e1000", + "e1000e", "pcnet32". + :type nic_type: str or ~azure_arc_vmware_management_service_api.models.NICType + :param power_on_boot: Gets or sets the power on boot. Possible values include: "enabled", + "disabled". + :type power_on_boot: str or ~azure_arc_vmware_management_service_api.models.PowerOnBootOption + :param device_key: Gets or sets the device key value. + :type device_key: int + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'network_id': {'key': 'networkId', 'type': 'str'}, + 'nic_type': {'key': 'nicType', 'type': 'str'}, + 'power_on_boot': {'key': 'powerOnBoot', 'type': 'str'}, + 'device_key': {'key': 'deviceKey', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(NetworkInterfaceUpdate, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.network_id = kwargs.get('network_id', None) + self.nic_type = kwargs.get('nic_type', None) + self.power_on_boot = kwargs.get('power_on_boot', None) + self.device_key = kwargs.get('device_key', None) + + +class NetworkProfile(msrest.serialization.Model): + """Defines the resource properties. + + :param network_interfaces: Gets or sets the list of network interfaces associated with the + virtual machine. + :type network_interfaces: + list[~azure_arc_vmware_management_service_api.models.NetworkInterface] + """ + + _attribute_map = { + 'network_interfaces': {'key': 'networkInterfaces', 'type': '[NetworkInterface]'}, + } + + def __init__( + self, + **kwargs + ): + super(NetworkProfile, self).__init__(**kwargs) + self.network_interfaces = kwargs.get('network_interfaces', None) + + +class NetworkProfileUpdate(msrest.serialization.Model): + """Defines the update resource properties. + + :param network_interfaces: Gets or sets the list of network interfaces associated with the + virtual machine. + :type network_interfaces: + list[~azure_arc_vmware_management_service_api.models.NetworkInterfaceUpdate] + """ + + _attribute_map = { + 'network_interfaces': {'key': 'networkInterfaces', 'type': '[NetworkInterfaceUpdate]'}, + } + + def __init__( + self, + **kwargs + ): + super(NetworkProfileUpdate, self).__init__(**kwargs) + self.network_interfaces = kwargs.get('network_interfaces', None) + + +class NicIPAddressSettings(msrest.serialization.Model): + """IP address information for a virtual network adapter reported by the fabric. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar allocation_method: Gets the ip address allocation method. + :vartype allocation_method: str + :ivar ip_address: Gets the ip address for the nic. + :vartype ip_address: str + :ivar subnet_mask: Gets the mask. + :vartype subnet_mask: str + """ + + _validation = { + 'allocation_method': {'readonly': True}, + 'ip_address': {'readonly': True}, + 'subnet_mask': {'readonly': True}, + } + + _attribute_map = { + 'allocation_method': {'key': 'allocationMethod', 'type': 'str'}, + 'ip_address': {'key': 'ipAddress', 'type': 'str'}, + 'subnet_mask': {'key': 'subnetMask', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(NicIPAddressSettings, self).__init__(**kwargs) + self.allocation_method = None + self.ip_address = None + self.subnet_mask = None + + +class NicIPSettings(msrest.serialization.Model): + """Defines the network interface ip settings. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param allocation_method: Gets or sets the nic allocation method. Possible values include: + "unset", "dynamic", "static", "linklayer", "random", "other". + :type allocation_method: str or + ~azure_arc_vmware_management_service_api.models.IPAddressAllocationMethod + :param dns_servers: Gets or sets the dns servers. + :type dns_servers: list[str] + :param gateway: Gets or sets the gateway. + :type gateway: list[str] + :param ip_address: Gets or sets the ip address for the nic. + :type ip_address: str + :param subnet_mask: Gets or sets the mask. + :type subnet_mask: str + :ivar primary_wins_server: Gets or sets the primary server. + :vartype primary_wins_server: str + :ivar secondary_wins_server: Gets or sets the secondary server. + :vartype secondary_wins_server: str + :ivar ip_address_info: Gets or sets the IP address information being reported for this NIC. + This contains the same IPv4 information above plus IPV6 information. + :vartype ip_address_info: + list[~azure_arc_vmware_management_service_api.models.NicIPAddressSettings] + """ + + _validation = { + 'primary_wins_server': {'readonly': True}, + 'secondary_wins_server': {'readonly': True}, + 'ip_address_info': {'readonly': True}, + } + + _attribute_map = { + 'allocation_method': {'key': 'allocationMethod', 'type': 'str'}, + 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, + 'gateway': {'key': 'gateway', 'type': '[str]'}, + 'ip_address': {'key': 'ipAddress', 'type': 'str'}, + 'subnet_mask': {'key': 'subnetMask', 'type': 'str'}, + 'primary_wins_server': {'key': 'primaryWinsServer', 'type': 'str'}, + 'secondary_wins_server': {'key': 'secondaryWinsServer', 'type': 'str'}, + 'ip_address_info': {'key': 'ipAddressInfo', 'type': '[NicIPAddressSettings]'}, + } + + def __init__( + self, + **kwargs + ): + super(NicIPSettings, self).__init__(**kwargs) + self.allocation_method = kwargs.get('allocation_method', None) + self.dns_servers = kwargs.get('dns_servers', None) + self.gateway = kwargs.get('gateway', None) + self.ip_address = kwargs.get('ip_address', None) + self.subnet_mask = kwargs.get('subnet_mask', None) + self.primary_wins_server = None + self.secondary_wins_server = None + self.ip_address_info = None + + +class Operation(msrest.serialization.Model): + """Operation provided by provider. + + :param name: Name of the operation. + :type name: str + :param is_data_action: Indicates whether the operation is data action or not. + :type is_data_action: bool + :param display: Properties of the operation. + :type display: ~azure_arc_vmware_management_service_api.models.OperationDisplay + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + } + + def __init__( + self, + **kwargs + ): + super(Operation, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.is_data_action = kwargs.get('is_data_action', None) + self.display = kwargs.get('display', None) + + +class OperationDisplay(msrest.serialization.Model): + """Properties of the operation. + + :param provider: Provider name. + :type provider: str + :param resource: Resource name. + :type resource: str + :param operation: Operation name. + :type operation: str + :param description: Description of the operation. + :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, + **kwargs + ): + super(OperationDisplay, self).__init__(**kwargs) + self.provider = kwargs.get('provider', None) + self.resource = kwargs.get('resource', None) + self.operation = kwargs.get('operation', None) + self.description = kwargs.get('description', None) + + +class OperationsList(msrest.serialization.Model): + """Lists the operations available. + + All required parameters must be populated in order to send to Azure. + + :param next_link: Url to follow for getting next page of operations. + :type next_link: str + :param value: Required. Array of operations. + :type value: list[~azure_arc_vmware_management_service_api.models.Operation] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[Operation]'}, + } + + def __init__( + self, + **kwargs + ): + super(OperationsList, self).__init__(**kwargs) + self.next_link = kwargs.get('next_link', None) + self.value = kwargs['value'] + + +class OsProfile(msrest.serialization.Model): + """Defines the resource properties. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param computer_name: Gets or sets computer name. + :type computer_name: str + :param admin_username: Gets or sets administrator username. + :type admin_username: str + :param admin_password: Gets or sets administrator password. + :type admin_password: str + :ivar os_type: Gets or sets the type of the os. Possible values include: "Windows", "Linux", + "Other". + :vartype os_type: str or ~azure_arc_vmware_management_service_api.models.OsType + :ivar os_name: Gets or sets os name. + :vartype os_name: str + :ivar tools_running_status: Gets or sets the current running status of VMware Tools running in + the guest operating system. + :vartype tools_running_status: str + :ivar tools_version_status: Gets or sets the current version status of VMware Tools installed + in the guest operating system. + :vartype tools_version_status: str + :ivar tools_version: Gets or sets the current version of VMware Tools. + :vartype tools_version: str + """ + + _validation = { + 'os_type': {'readonly': True}, + 'os_name': {'readonly': True}, + 'tools_running_status': {'readonly': True}, + 'tools_version_status': {'readonly': True}, + 'tools_version': {'readonly': True}, + } + + _attribute_map = { + 'computer_name': {'key': 'computerName', 'type': 'str'}, + 'admin_username': {'key': 'adminUsername', 'type': 'str'}, + 'admin_password': {'key': 'adminPassword', 'type': 'str'}, + 'os_type': {'key': 'osType', 'type': 'str'}, + 'os_name': {'key': 'osName', 'type': 'str'}, + 'tools_running_status': {'key': 'toolsRunningStatus', 'type': 'str'}, + 'tools_version_status': {'key': 'toolsVersionStatus', 'type': 'str'}, + 'tools_version': {'key': 'toolsVersion', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(OsProfile, self).__init__(**kwargs) + self.computer_name = kwargs.get('computer_name', None) + self.admin_username = kwargs.get('admin_username', None) + self.admin_password = kwargs.get('admin_password', None) + self.os_type = None + self.os_name = None + self.tools_running_status = None + self.tools_version_status = None + self.tools_version = None + + +class ResourcePool(msrest.serialization.Model): + """Define the resourcePool. + + 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 location: Required. Gets or sets the location. + :type location: str + :param extended_location: Gets or sets the extended location. + :type extended_location: ~azure_arc_vmware_management_service_api.models.ExtendedLocation + :ivar system_data: The system data. + :vartype system_data: ~azure_arc_vmware_management_service_api.models.SystemData + :param tags: A set of tags. Gets or sets the Resource tags. + :type tags: dict[str, str] + :ivar name: Gets or sets the name. + :vartype name: str + :ivar id: Gets or sets the Id. + :vartype id: str + :ivar type: Gets or sets the type of the resource. + :vartype type: str + :param kind: Metadata used by portal/tooling/etc to render different UX experiences for + resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, + the resource provider must validate and persist this value. + :type kind: str + :ivar uuid: Gets or sets a unique identifier for this resource. + :vartype uuid: str + :param v_center_id: Gets or sets the ARM Id of the vCenter resource in which this resource pool + resides. + :type v_center_id: str + :param mo_ref_id: Gets or sets the vCenter MoRef (Managed Object Reference) ID for the resource + pool. + :type mo_ref_id: str + :param inventory_item_id: Gets or sets the inventory Item ID for the resource pool. + :type inventory_item_id: str + :ivar mo_name: Gets or sets the vCenter Managed Object name for the resource pool. + :vartype mo_name: str + :ivar cpu_shares_level: Gets or sets CPUSharesLevel which specifies the CPU allocation level + for this pool. + This property is used in relative allocation between resource consumers. + :vartype cpu_shares_level: str + :ivar cpu_reservation_m_hz: Gets or sets CPUReservationMHz which specifies the CPU size in MHz + that is guaranteed + to be available. + :vartype cpu_reservation_m_hz: long + :ivar cpu_limit_m_hz: Gets or sets CPULimitMHz which specifies a CPU usage limit in MHz. + Utilization will not exceed this limit even if there are available resources. + :vartype cpu_limit_m_hz: long + :ivar mem_shares_level: Gets or sets CPUSharesLevel which specifies the memory allocation level + for this pool. + This property is used in relative allocation between resource consumers. + :vartype mem_shares_level: str + :ivar mem_reservation_mb: Gets or sets MemReservationMB which specifies the guaranteed + available memory in + megabytes. + :vartype mem_reservation_mb: long + :ivar mem_limit_mb: Gets or sets MemLimitMB specifies a memory usage limit in megabytes. + Utilization will not exceed the specified limit even if there are available resources. + :vartype mem_limit_mb: long + :ivar custom_resource_name: Gets the name of the corresponding resource in Kubernetes. + :vartype custom_resource_name: str + :ivar provisioning_state: Gets or sets the provisioning state. + :vartype provisioning_state: str + """ + + _validation = { + 'location': {'required': True}, + 'system_data': {'readonly': True}, + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, + 'uuid': {'readonly': True}, + 'mo_name': {'readonly': True}, + 'cpu_shares_level': {'readonly': True}, + 'cpu_reservation_m_hz': {'readonly': True}, + 'cpu_limit_m_hz': {'readonly': True}, + 'mem_shares_level': {'readonly': True}, + 'mem_reservation_mb': {'readonly': True}, + 'mem_limit_mb': {'readonly': True}, + 'custom_resource_name': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'extended_location': {'key': 'extendedLocation', 'type': 'ExtendedLocation'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'uuid': {'key': 'properties.uuid', 'type': 'str'}, + 'v_center_id': {'key': 'properties.vCenterId', 'type': 'str'}, + 'mo_ref_id': {'key': 'properties.moRefId', 'type': 'str'}, + 'inventory_item_id': {'key': 'properties.inventoryItemId', 'type': 'str'}, + 'mo_name': {'key': 'properties.moName', 'type': 'str'}, + 'cpu_shares_level': {'key': 'properties.cpuSharesLevel', 'type': 'str'}, + 'cpu_reservation_m_hz': {'key': 'properties.cpuReservationMHz', 'type': 'long'}, + 'cpu_limit_m_hz': {'key': 'properties.cpuLimitMHz', 'type': 'long'}, + 'mem_shares_level': {'key': 'properties.memSharesLevel', 'type': 'str'}, + 'mem_reservation_mb': {'key': 'properties.memReservationMB', 'type': 'long'}, + 'mem_limit_mb': {'key': 'properties.memLimitMB', 'type': 'long'}, + 'custom_resource_name': {'key': 'properties.customResourceName', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourcePool, self).__init__(**kwargs) + self.location = kwargs['location'] + self.extended_location = kwargs.get('extended_location', None) + self.system_data = None + self.tags = kwargs.get('tags', None) + self.name = None + self.id = None + self.type = None + self.kind = kwargs.get('kind', None) + self.uuid = None + self.v_center_id = kwargs.get('v_center_id', None) + self.mo_ref_id = kwargs.get('mo_ref_id', None) + self.inventory_item_id = kwargs.get('inventory_item_id', None) + self.mo_name = None + self.cpu_shares_level = None + self.cpu_reservation_m_hz = None + self.cpu_limit_m_hz = None + self.mem_shares_level = None + self.mem_reservation_mb = None + self.mem_limit_mb = None + self.custom_resource_name = None + self.provisioning_state = None + + +class ResourcePoolInventoryItem(InventoryItemProperties): + """The resource pool inventory item. + + 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 inventory_type: Required. They inventory type.Constant filled by server. Possible + values include: "ResourcePool", "VirtualMachine", "VirtualMachineTemplate", "VirtualNetwork". + :type inventory_type: str or ~azure_arc_vmware_management_service_api.models.InventoryType + :param managed_resource_id: Gets or sets the tracked resource id corresponding to the inventory + resource. + :type managed_resource_id: str + :param mo_ref_id: Gets or sets the MoRef (Managed Object Reference) ID for the inventory item. + :type mo_ref_id: str + :param mo_name: Gets or sets the vCenter Managed Object name for the inventory item. + :type mo_name: str + :ivar provisioning_state: Gets or sets the provisioning state. + :vartype provisioning_state: str + :param parent: Parent resourcePool inventory resource details. + :type parent: ~azure_arc_vmware_management_service_api.models.InventoryItemDetails + """ + + _validation = { + 'inventory_type': {'required': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'inventory_type': {'key': 'inventoryType', 'type': 'str'}, + 'managed_resource_id': {'key': 'managedResourceId', 'type': 'str'}, + 'mo_ref_id': {'key': 'moRefId', 'type': 'str'}, + 'mo_name': {'key': 'moName', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'parent': {'key': 'parent', 'type': 'InventoryItemDetails'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourcePoolInventoryItem, self).__init__(**kwargs) + self.inventory_type = 'ResourcePool' # type: str + self.parent = kwargs.get('parent', None) + + +class ResourcePoolsList(msrest.serialization.Model): + """List of ResourcePools. + + All required parameters must be populated in order to send to Azure. + + :param next_link: Url to follow for getting next page of ResourcePools. + :type next_link: str + :param value: Required. Array of ResourcePools. + :type value: list[~azure_arc_vmware_management_service_api.models.ResourcePool] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[ResourcePool]'}, + } + + def __init__( + self, + **kwargs + ): + super(ResourcePoolsList, self).__init__(**kwargs) + self.next_link = kwargs.get('next_link', None) + self.value = kwargs['value'] + + +class StopVirtualMachineOptions(msrest.serialization.Model): + """Defines the stop action properties. + + :param skip_shutdown: Gets or sets a value indicating whether to request non-graceful VM + shutdown. True value for this flag indicates non-graceful shutdown whereas false indicates + otherwise. Defaults to false. + :type skip_shutdown: bool + """ + + _attribute_map = { + 'skip_shutdown': {'key': 'skipShutdown', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(StopVirtualMachineOptions, self).__init__(**kwargs) + self.skip_shutdown = kwargs.get('skip_shutdown', False) + + +class StorageProfile(msrest.serialization.Model): + """Defines the resource properties. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param disks: Gets or sets the list of virtual disks associated with the virtual machine. + :type disks: list[~azure_arc_vmware_management_service_api.models.VirtualDisk] + :ivar scsi_controllers: Gets or sets the list of virtual SCSI controllers associated with the + virtual machine. + :vartype scsi_controllers: + list[~azure_arc_vmware_management_service_api.models.VirtualSCSIController] + """ + + _validation = { + 'scsi_controllers': {'readonly': True}, + } + + _attribute_map = { + 'disks': {'key': 'disks', 'type': '[VirtualDisk]'}, + 'scsi_controllers': {'key': 'scsiControllers', 'type': '[VirtualSCSIController]'}, + } + + def __init__( + self, + **kwargs + ): + super(StorageProfile, self).__init__(**kwargs) + self.disks = kwargs.get('disks', None) + self.scsi_controllers = None + + +class StorageProfileUpdate(msrest.serialization.Model): + """Defines the resource update properties. + + :param disks: Gets or sets the list of virtual disks associated with the virtual machine. + :type disks: list[~azure_arc_vmware_management_service_api.models.VirtualDiskUpdate] + """ + + _attribute_map = { + 'disks': {'key': 'disks', 'type': '[VirtualDiskUpdate]'}, + } + + def __init__( + self, + **kwargs + ): + super(StorageProfileUpdate, self).__init__(**kwargs) + self.disks = kwargs.get('disks', None) + + +class SystemData(msrest.serialization.Model): + """Metadata pertaining to creation and last modification of the resource. + + :param created_by: The identity that created the resource. + :type created_by: str + :param created_by_type: The type of identity that created the resource. Possible values + include: "User", "Application", "ManagedIdentity", "Key". + :type created_by_type: str or ~azure_arc_vmware_management_service_api.models.CreatedByType + :param created_at: The timestamp of resource creation (UTC). + :type created_at: ~datetime.datetime + :param last_modified_by: The identity that last modified the resource. + :type last_modified_by: str + :param last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". + :type last_modified_by_type: str or + ~azure_arc_vmware_management_service_api.models.CreatedByType + :param last_modified_at: The type of identity that last modified the resource. + :type last_modified_at: ~datetime.datetime + """ + + _attribute_map = { + 'created_by': {'key': 'createdBy', 'type': 'str'}, + 'created_by_type': {'key': 'createdByType', 'type': 'str'}, + 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, + 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, + 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, + 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, + } + + def __init__( + self, + **kwargs + ): + super(SystemData, self).__init__(**kwargs) + self.created_by = kwargs.get('created_by', None) + self.created_by_type = kwargs.get('created_by_type', None) + self.created_at = kwargs.get('created_at', None) + self.last_modified_by = kwargs.get('last_modified_by', None) + self.last_modified_by_type = kwargs.get('last_modified_by_type', None) + self.last_modified_at = kwargs.get('last_modified_at', None) + + +class VCenter(msrest.serialization.Model): + """Defines the vCenter. + + 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 location: Required. Gets or sets the location. + :type location: str + :param extended_location: Gets or sets the extended location. + :type extended_location: ~azure_arc_vmware_management_service_api.models.ExtendedLocation + :ivar system_data: The system data. + :vartype system_data: ~azure_arc_vmware_management_service_api.models.SystemData + :param tags: A set of tags. Gets or sets the Resource tags. + :type tags: dict[str, str] + :ivar name: Gets or sets the name. + :vartype name: str + :ivar id: Gets or sets the Id. + :vartype id: str + :ivar type: Gets or sets the type of the resource. + :vartype type: str + :param kind: Metadata used by portal/tooling/etc to render different UX experiences for + resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, + the resource provider must validate and persist this value. + :type kind: str + :ivar uuid: Gets or sets a unique identifier for this resource. + :vartype uuid: str + :param fqdn: Required. Gets or sets the FQDN/IPAddress of the vCenter. + :type fqdn: str + :param port: Gets or sets the port of the vCenter. + :type port: int + :ivar version: Gets or sets the version of the vCenter. + :vartype version: str + :ivar instance_uuid: Gets or sets the instance UUID of the vCenter. + :vartype instance_uuid: str + :ivar connection_status: Gets or sets the connection status to the vCenter. + :vartype connection_status: str + :ivar custom_resource_name: Gets the name of the corresponding resource in Kubernetes. + :vartype custom_resource_name: str + :param credentials: Username / Password Credentials to connect to vcenter. + :type credentials: ~azure_arc_vmware_management_service_api.models.VICredential + :ivar provisioning_state: Gets or sets the provisioning state. + :vartype provisioning_state: str + """ + + _validation = { + 'location': {'required': True}, + 'system_data': {'readonly': True}, + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, + 'uuid': {'readonly': True}, + 'fqdn': {'required': True}, + 'port': {'maximum': 65535, 'minimum': 1}, + 'version': {'readonly': True}, + 'instance_uuid': {'readonly': True}, + 'connection_status': {'readonly': True}, + 'custom_resource_name': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'extended_location': {'key': 'extendedLocation', 'type': 'ExtendedLocation'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'uuid': {'key': 'properties.uuid', 'type': 'str'}, + 'fqdn': {'key': 'properties.fqdn', 'type': 'str'}, + 'port': {'key': 'properties.port', 'type': 'int'}, + 'version': {'key': 'properties.version', 'type': 'str'}, + 'instance_uuid': {'key': 'properties.instanceUuid', 'type': 'str'}, + 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, + 'custom_resource_name': {'key': 'properties.customResourceName', 'type': 'str'}, + 'credentials': {'key': 'properties.credentials', 'type': 'VICredential'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(VCenter, self).__init__(**kwargs) + self.location = kwargs['location'] + self.extended_location = kwargs.get('extended_location', None) + self.system_data = None + self.tags = kwargs.get('tags', None) + self.name = None + self.id = None + self.type = None + self.kind = kwargs.get('kind', None) + self.uuid = None + self.fqdn = kwargs['fqdn'] + self.port = kwargs.get('port', None) + self.version = None + self.instance_uuid = None + self.connection_status = None + self.custom_resource_name = None + self.credentials = kwargs.get('credentials', None) + self.provisioning_state = None + + +class VCentersList(msrest.serialization.Model): + """List of VCenters. + + All required parameters must be populated in order to send to Azure. + + :param next_link: Url to follow for getting next page of VCenters. + :type next_link: str + :param value: Required. Array of VCenters. + :type value: list[~azure_arc_vmware_management_service_api.models.VCenter] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[VCenter]'}, + } + + def __init__( + self, + **kwargs + ): + super(VCentersList, self).__init__(**kwargs) + self.next_link = kwargs.get('next_link', None) + self.value = kwargs['value'] + + +class VICredential(msrest.serialization.Model): + """Username / Password Credentials to connect to vcenter. + + :param username: Gets or sets username to connect with the vCenter. + :type username: str + :param password: Gets or sets the password to connect with the vCenter. + :type password: str + """ + + _attribute_map = { + 'username': {'key': 'username', 'type': 'str'}, + 'password': {'key': 'password', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(VICredential, self).__init__(**kwargs) + self.username = kwargs.get('username', None) + self.password = kwargs.get('password', None) + + +class VirtualDisk(msrest.serialization.Model): + """Virtual disk model. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param name: Gets or sets the name of the virtual disk. + :type name: str + :ivar label: Gets or sets the label of the virtual disk in vCenter. + :vartype label: str + :ivar disk_object_id: Gets or sets the disk object id. + :vartype disk_object_id: str + :param disk_size_gb: Gets or sets the disk total size. + :type disk_size_gb: int + :param device_key: Gets or sets the device key value. + :type device_key: int + :param disk_mode: Gets or sets the disk mode. Possible values include: "persistent", + "independent_persistent", "independent_nonpersistent". + :type disk_mode: str or ~azure_arc_vmware_management_service_api.models.DiskMode + :param controller_key: Gets or sets the controller id. + :type controller_key: int + :param unit_number: Gets or sets the unit number of the disk on the controller. + :type unit_number: int + """ + + _validation = { + 'label': {'readonly': True}, + 'disk_object_id': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'label': {'key': 'label', 'type': 'str'}, + 'disk_object_id': {'key': 'diskObjectId', 'type': 'str'}, + 'disk_size_gb': {'key': 'diskSizeGB', 'type': 'int'}, + 'device_key': {'key': 'deviceKey', 'type': 'int'}, + 'disk_mode': {'key': 'diskMode', 'type': 'str'}, + 'controller_key': {'key': 'controllerKey', 'type': 'int'}, + 'unit_number': {'key': 'unitNumber', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(VirtualDisk, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.label = None + self.disk_object_id = None + self.disk_size_gb = kwargs.get('disk_size_gb', None) + self.device_key = kwargs.get('device_key', None) + self.disk_mode = kwargs.get('disk_mode', None) + self.controller_key = kwargs.get('controller_key', None) + self.unit_number = kwargs.get('unit_number', None) + + +class VirtualDiskUpdate(msrest.serialization.Model): + """Defines the virtual disk update. + + :param name: Gets or sets the name of the virtual disk. + :type name: str + :param disk_size_gb: Gets or sets the disk total size. + :type disk_size_gb: int + :param device_key: Gets or sets the device key value. + :type device_key: int + :param disk_mode: Gets or sets the disk mode. Possible values include: "persistent", + "independent_persistent", "independent_nonpersistent". + :type disk_mode: str or ~azure_arc_vmware_management_service_api.models.DiskMode + :param controller_key: Gets or sets the controller id. + :type controller_key: int + :param unit_number: Gets or sets the unit number of the disk on the controller. + :type unit_number: int + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'disk_size_gb': {'key': 'diskSizeGB', 'type': 'int'}, + 'device_key': {'key': 'deviceKey', 'type': 'int'}, + 'disk_mode': {'key': 'diskMode', 'type': 'str'}, + 'controller_key': {'key': 'controllerKey', 'type': 'int'}, + 'unit_number': {'key': 'unitNumber', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(VirtualDiskUpdate, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.disk_size_gb = kwargs.get('disk_size_gb', None) + self.device_key = kwargs.get('device_key', None) + self.disk_mode = kwargs.get('disk_mode', None) + self.controller_key = kwargs.get('controller_key', None) + self.unit_number = kwargs.get('unit_number', None) + + +class VirtualMachine(msrest.serialization.Model): + """Define the virtualMachine. + + 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 location: Required. Gets or sets the location. + :type location: str + :param extended_location: Gets or sets the extended location. + :type extended_location: ~azure_arc_vmware_management_service_api.models.ExtendedLocation + :ivar system_data: The system data. + :vartype system_data: ~azure_arc_vmware_management_service_api.models.SystemData + :param tags: A set of tags. Gets or sets the Resource tags. + :type tags: dict[str, str] + :ivar name: Gets or sets the name. + :vartype name: str + :ivar id: Gets or sets the Id. + :vartype id: str + :ivar type: Gets or sets the type of the resource. + :vartype type: str + :param kind: Metadata used by portal/tooling/etc to render different UX experiences for + resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, + the resource provider must validate and persist this value. + :type kind: str + :param identity: The identity of the resource. + :type identity: ~azure_arc_vmware_management_service_api.models.Identity + :param resource_pool_id: Gets or sets the ARM Id of the resourcePool resource on which this + virtual machine will + deploy. + :type resource_pool_id: str + :param template_id: Gets or sets the ARM Id of the template resource to deploy the virtual + machine. + :type template_id: str + :param v_center_id: Gets or sets the ARM Id of the vCenter resource in which this resource pool + resides. + :type v_center_id: str + :param os_profile: OS properties. + :type os_profile: ~azure_arc_vmware_management_service_api.models.OsProfile + :param hardware_profile: Hardware properties. + :type hardware_profile: ~azure_arc_vmware_management_service_api.models.HardwareProfile + :param network_profile: Network properties. + :type network_profile: ~azure_arc_vmware_management_service_api.models.NetworkProfile + :param storage_profile: Storage properties. + :type storage_profile: ~azure_arc_vmware_management_service_api.models.StorageProfile + :param mo_ref_id: Gets or sets the vCenter MoRef (Managed Object Reference) ID for the virtual + machine. + :type mo_ref_id: str + :param inventory_item_id: Gets or sets the inventory Item ID for the virtual machine. + :type inventory_item_id: str + :ivar mo_name: Gets or sets the vCenter Managed Object name for the virtual machine. + :vartype mo_name: str + :ivar folder_path: Gets or sets the folder path of the vm. + :vartype folder_path: str + :ivar instance_uuid: Gets or sets the instance uuid of the vm. + :vartype instance_uuid: str + :ivar power_state: Gets the power state of the virtual machine. + :vartype power_state: str + :ivar custom_resource_name: Gets the name of the corresponding resource in Kubernetes. + :vartype custom_resource_name: str + :ivar uuid: Gets or sets a unique identifier for this resource. + :vartype uuid: str + :ivar provisioning_state: Gets or sets the provisioning state. + :vartype provisioning_state: str + :ivar vm_id: Gets or sets a unique identifier for the vm resource. + :vartype vm_id: str + """ + + _validation = { + 'location': {'required': True}, + 'system_data': {'readonly': True}, + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, + 'mo_name': {'readonly': True}, + 'folder_path': {'readonly': True}, + 'instance_uuid': {'readonly': True}, + 'power_state': {'readonly': True}, + 'custom_resource_name': {'readonly': True}, + 'uuid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'vm_id': {'readonly': True}, + } + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'extended_location': {'key': 'extendedLocation', 'type': 'ExtendedLocation'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + 'resource_pool_id': {'key': 'properties.resourcePoolId', 'type': 'str'}, + 'template_id': {'key': 'properties.templateId', 'type': 'str'}, + 'v_center_id': {'key': 'properties.vCenterId', 'type': 'str'}, + 'os_profile': {'key': 'properties.osProfile', 'type': 'OsProfile'}, + 'hardware_profile': {'key': 'properties.hardwareProfile', 'type': 'HardwareProfile'}, + 'network_profile': {'key': 'properties.networkProfile', 'type': 'NetworkProfile'}, + 'storage_profile': {'key': 'properties.storageProfile', 'type': 'StorageProfile'}, + 'mo_ref_id': {'key': 'properties.moRefId', 'type': 'str'}, + 'inventory_item_id': {'key': 'properties.inventoryItemId', 'type': 'str'}, + 'mo_name': {'key': 'properties.moName', 'type': 'str'}, + 'folder_path': {'key': 'properties.folderPath', 'type': 'str'}, + 'instance_uuid': {'key': 'properties.instanceUuid', 'type': 'str'}, + 'power_state': {'key': 'properties.powerState', 'type': 'str'}, + 'custom_resource_name': {'key': 'properties.customResourceName', 'type': 'str'}, + 'uuid': {'key': 'properties.uuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'vm_id': {'key': 'properties.vmId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(VirtualMachine, self).__init__(**kwargs) + self.location = kwargs['location'] + self.extended_location = kwargs.get('extended_location', None) + self.system_data = None + self.tags = kwargs.get('tags', None) + self.name = None + self.id = None + self.type = None + self.kind = kwargs.get('kind', None) + self.identity = kwargs.get('identity', None) + self.resource_pool_id = kwargs.get('resource_pool_id', None) + self.template_id = kwargs.get('template_id', None) + self.v_center_id = kwargs.get('v_center_id', None) + self.os_profile = kwargs.get('os_profile', None) + self.hardware_profile = kwargs.get('hardware_profile', None) + self.network_profile = kwargs.get('network_profile', None) + self.storage_profile = kwargs.get('storage_profile', None) + self.mo_ref_id = kwargs.get('mo_ref_id', None) + self.inventory_item_id = kwargs.get('inventory_item_id', None) + self.mo_name = None + self.folder_path = None + self.instance_uuid = None + self.power_state = None + self.custom_resource_name = None + self.uuid = None + self.provisioning_state = None + self.vm_id = None + + +class VirtualMachineInventoryItem(InventoryItemProperties): + """The VM inventory item. + + 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 inventory_type: Required. They inventory type.Constant filled by server. Possible + values include: "ResourcePool", "VirtualMachine", "VirtualMachineTemplate", "VirtualNetwork". + :type inventory_type: str or ~azure_arc_vmware_management_service_api.models.InventoryType + :param managed_resource_id: Gets or sets the tracked resource id corresponding to the inventory + resource. + :type managed_resource_id: str + :param mo_ref_id: Gets or sets the MoRef (Managed Object Reference) ID for the inventory item. + :type mo_ref_id: str + :param mo_name: Gets or sets the vCenter Managed Object name for the inventory item. + :type mo_name: str + :ivar provisioning_state: Gets or sets the provisioning state. + :vartype provisioning_state: str + :ivar os_type: Gets or sets the type of the os. Possible values include: "Windows", "Linux", + "Other". + :vartype os_type: str or ~azure_arc_vmware_management_service_api.models.OsType + :param os_name: Gets or sets os name. + :type os_name: str + :param ip_addresses: Gets or sets the nic ip addresses. + :type ip_addresses: list[str] + :param folder_path: Gets or sets the folder path of the vm. + :type folder_path: str + :param host: Host inventory resource details. + :type host: ~azure_arc_vmware_management_service_api.models.InventoryItemDetails + :param resource_pool: ResourcePool inventory resource details. + :type resource_pool: ~azure_arc_vmware_management_service_api.models.InventoryItemDetails + :param instance_uuid: Gets or sets the instance uuid of the vm. + :type instance_uuid: str + """ + + _validation = { + 'inventory_type': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'os_type': {'readonly': True}, + } + + _attribute_map = { + 'inventory_type': {'key': 'inventoryType', 'type': 'str'}, + 'managed_resource_id': {'key': 'managedResourceId', 'type': 'str'}, + 'mo_ref_id': {'key': 'moRefId', 'type': 'str'}, + 'mo_name': {'key': 'moName', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'os_type': {'key': 'osType', 'type': 'str'}, + 'os_name': {'key': 'osName', 'type': 'str'}, + 'ip_addresses': {'key': 'ipAddresses', 'type': '[str]'}, + 'folder_path': {'key': 'folderPath', 'type': 'str'}, + 'host': {'key': 'host', 'type': 'InventoryItemDetails'}, + 'resource_pool': {'key': 'resourcePool', 'type': 'InventoryItemDetails'}, + 'instance_uuid': {'key': 'instanceUuid', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(VirtualMachineInventoryItem, self).__init__(**kwargs) + self.inventory_type = 'VirtualMachine' # type: str + self.os_type = None + self.os_name = kwargs.get('os_name', None) + self.ip_addresses = kwargs.get('ip_addresses', None) + self.folder_path = kwargs.get('folder_path', None) + self.host = kwargs.get('host', None) + self.resource_pool = kwargs.get('resource_pool', None) + self.instance_uuid = kwargs.get('instance_uuid', None) + + +class VirtualMachinesList(msrest.serialization.Model): + """List of VirtualMachines. + + All required parameters must be populated in order to send to Azure. + + :param next_link: Url to follow for getting next page of VirtualMachines. + :type next_link: str + :param value: Required. Array of VirtualMachines. + :type value: list[~azure_arc_vmware_management_service_api.models.VirtualMachine] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[VirtualMachine]'}, + } + + def __init__( + self, + **kwargs + ): + super(VirtualMachinesList, self).__init__(**kwargs) + self.next_link = kwargs.get('next_link', None) + self.value = kwargs['value'] + + +class VirtualMachineTemplate(msrest.serialization.Model): + """Define the virtualMachineTemplate. + + 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 location: Required. Gets or sets the location. + :type location: str + :param extended_location: Gets or sets the extended location. + :type extended_location: ~azure_arc_vmware_management_service_api.models.ExtendedLocation + :ivar system_data: The system data. + :vartype system_data: ~azure_arc_vmware_management_service_api.models.SystemData + :param tags: A set of tags. Gets or sets the Resource tags. + :type tags: dict[str, str] + :ivar name: Gets or sets the name. + :vartype name: str + :ivar id: Gets or sets the Id. + :vartype id: str + :ivar type: Gets or sets the type of the resource. + :vartype type: str + :param kind: Metadata used by portal/tooling/etc to render different UX experiences for + resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, + the resource provider must validate and persist this value. + :type kind: str + :ivar uuid: Gets or sets a unique identifier for this resource. + :vartype uuid: str + :param v_center_id: Gets or sets the ARM Id of the vCenter resource in which this template + resides. + :type v_center_id: str + :param mo_ref_id: Gets or sets the vCenter MoRef (Managed Object Reference) ID for the virtual + machine + template. + :type mo_ref_id: str + :param inventory_item_id: Gets or sets the inventory Item ID for the virtual machine template. + :type inventory_item_id: str + :ivar mo_name: Gets or sets the vCenter Managed Object name for the virtual machine template. + :vartype mo_name: str + :ivar memory_size_mb: Gets or sets memory size in MBs for the template. + :vartype memory_size_mb: int + :ivar num_cp_us: Gets or sets the number of vCPUs for the template. + :vartype num_cp_us: int + :ivar num_cores_per_socket: Gets or sets the number of cores per socket for the template. + Defaults to 1 if unspecified. + :vartype num_cores_per_socket: int + :ivar os_type: Gets or sets the type of the os. Possible values include: "Windows", "Linux", + "Other". + :vartype os_type: str or ~azure_arc_vmware_management_service_api.models.OsType + :ivar os_name: Gets or sets os name. + :vartype os_name: str + :ivar folder_path: Gets or sets the folder path of the template. + :vartype folder_path: str + :ivar network_interfaces: Gets or sets the network interfaces of the template. + :vartype network_interfaces: + list[~azure_arc_vmware_management_service_api.models.NetworkInterface] + :ivar disks: Gets or sets the disks the template. + :vartype disks: list[~azure_arc_vmware_management_service_api.models.VirtualDisk] + :ivar custom_resource_name: Gets the name of the corresponding resource in Kubernetes. + :vartype custom_resource_name: str + :ivar provisioning_state: Gets or sets the provisioning state. + :vartype provisioning_state: str + """ + + _validation = { + 'location': {'required': True}, + 'system_data': {'readonly': True}, + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, + 'uuid': {'readonly': True}, + 'mo_name': {'readonly': True}, + 'memory_size_mb': {'readonly': True}, + 'num_cp_us': {'readonly': True}, + 'num_cores_per_socket': {'readonly': True}, + 'os_type': {'readonly': True}, + 'os_name': {'readonly': True}, + 'folder_path': {'readonly': True}, + 'network_interfaces': {'readonly': True}, + 'disks': {'readonly': True}, + 'custom_resource_name': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'extended_location': {'key': 'extendedLocation', 'type': 'ExtendedLocation'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'uuid': {'key': 'properties.uuid', 'type': 'str'}, + 'v_center_id': {'key': 'properties.vCenterId', 'type': 'str'}, + 'mo_ref_id': {'key': 'properties.moRefId', 'type': 'str'}, + 'inventory_item_id': {'key': 'properties.inventoryItemId', 'type': 'str'}, + 'mo_name': {'key': 'properties.moName', 'type': 'str'}, + 'memory_size_mb': {'key': 'properties.memorySizeMB', 'type': 'int'}, + 'num_cp_us': {'key': 'properties.numCPUs', 'type': 'int'}, + 'num_cores_per_socket': {'key': 'properties.numCoresPerSocket', 'type': 'int'}, + 'os_type': {'key': 'properties.osType', 'type': 'str'}, + 'os_name': {'key': 'properties.osName', 'type': 'str'}, + 'folder_path': {'key': 'properties.folderPath', 'type': 'str'}, + 'network_interfaces': {'key': 'properties.networkInterfaces', 'type': '[NetworkInterface]'}, + 'disks': {'key': 'properties.disks', 'type': '[VirtualDisk]'}, + 'custom_resource_name': {'key': 'properties.customResourceName', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(VirtualMachineTemplate, self).__init__(**kwargs) + self.location = kwargs['location'] + self.extended_location = kwargs.get('extended_location', None) + self.system_data = None + self.tags = kwargs.get('tags', None) + self.name = None + self.id = None + self.type = None + self.kind = kwargs.get('kind', None) + self.uuid = None + self.v_center_id = kwargs.get('v_center_id', None) + self.mo_ref_id = kwargs.get('mo_ref_id', None) + self.inventory_item_id = kwargs.get('inventory_item_id', None) + self.mo_name = None + self.memory_size_mb = None + self.num_cp_us = None + self.num_cores_per_socket = None + self.os_type = None + self.os_name = None + self.folder_path = None + self.network_interfaces = None + self.disks = None + self.custom_resource_name = None + self.provisioning_state = None + + +class VirtualMachineTemplateInventoryItem(InventoryItemProperties): + """The VM Template inventory item. + + 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 inventory_type: Required. They inventory type.Constant filled by server. Possible + values include: "ResourcePool", "VirtualMachine", "VirtualMachineTemplate", "VirtualNetwork". + :type inventory_type: str or ~azure_arc_vmware_management_service_api.models.InventoryType + :param managed_resource_id: Gets or sets the tracked resource id corresponding to the inventory + resource. + :type managed_resource_id: str + :param mo_ref_id: Gets or sets the MoRef (Managed Object Reference) ID for the inventory item. + :type mo_ref_id: str + :param mo_name: Gets or sets the vCenter Managed Object name for the inventory item. + :type mo_name: str + :ivar provisioning_state: Gets or sets the provisioning state. + :vartype provisioning_state: str + :param memory_size_mb: Gets or sets memory size in MBs for the template. + :type memory_size_mb: int + :param num_cp_us: Gets or sets the number of vCPUs for the template. + :type num_cp_us: int + :param num_cores_per_socket: Gets or sets the number of cores per socket for the template. + Defaults to 1 if unspecified. + :type num_cores_per_socket: int + :ivar os_type: Gets or sets the type of the os. Possible values include: "Windows", "Linux", + "Other". + :vartype os_type: str or ~azure_arc_vmware_management_service_api.models.OsType + :param os_name: Gets or sets os name. + :type os_name: str + :param folder_path: Gets or sets the folder path of the template. + :type folder_path: str + """ + + _validation = { + 'inventory_type': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'os_type': {'readonly': True}, + } + + _attribute_map = { + 'inventory_type': {'key': 'inventoryType', 'type': 'str'}, + 'managed_resource_id': {'key': 'managedResourceId', 'type': 'str'}, + 'mo_ref_id': {'key': 'moRefId', 'type': 'str'}, + 'mo_name': {'key': 'moName', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'memory_size_mb': {'key': 'memorySizeMB', 'type': 'int'}, + 'num_cp_us': {'key': 'numCPUs', 'type': 'int'}, + 'num_cores_per_socket': {'key': 'numCoresPerSocket', 'type': 'int'}, + 'os_type': {'key': 'osType', 'type': 'str'}, + 'os_name': {'key': 'osName', 'type': 'str'}, + 'folder_path': {'key': 'folderPath', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(VirtualMachineTemplateInventoryItem, self).__init__(**kwargs) + self.inventory_type = 'VirtualMachineTemplate' # type: str + self.memory_size_mb = kwargs.get('memory_size_mb', None) + self.num_cp_us = kwargs.get('num_cp_us', None) + self.num_cores_per_socket = kwargs.get('num_cores_per_socket', None) + self.os_type = None + self.os_name = kwargs.get('os_name', None) + self.folder_path = kwargs.get('folder_path', None) + + +class VirtualMachineTemplatesList(msrest.serialization.Model): + """List of VirtualMachineTemplates. + + All required parameters must be populated in order to send to Azure. + + :param next_link: Url to follow for getting next page of VirtualMachineTemplates. + :type next_link: str + :param value: Required. Array of VirtualMachineTemplates. + :type value: list[~azure_arc_vmware_management_service_api.models.VirtualMachineTemplate] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[VirtualMachineTemplate]'}, + } + + def __init__( + self, + **kwargs + ): + super(VirtualMachineTemplatesList, self).__init__(**kwargs) + self.next_link = kwargs.get('next_link', None) + self.value = kwargs['value'] + + +class VirtualMachineUpdate(msrest.serialization.Model): + """Defines the virtualMachineUpdate. + + :param tags: A set of tags. Gets or sets the Resource tags. + :type tags: dict[str, str] + :param identity: The identity of the resource. + :type identity: ~azure_arc_vmware_management_service_api.models.Identity + :param hardware_profile: Defines the resource properties. + :type hardware_profile: ~azure_arc_vmware_management_service_api.models.HardwareProfile + :param storage_profile: Defines the resource update properties. + :type storage_profile: ~azure_arc_vmware_management_service_api.models.StorageProfileUpdate + :param network_profile: Defines the update resource properties. + :type network_profile: ~azure_arc_vmware_management_service_api.models.NetworkProfileUpdate + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + 'hardware_profile': {'key': 'properties.hardwareProfile', 'type': 'HardwareProfile'}, + 'storage_profile': {'key': 'properties.storageProfile', 'type': 'StorageProfileUpdate'}, + 'network_profile': {'key': 'properties.networkProfile', 'type': 'NetworkProfileUpdate'}, + } + + def __init__( + self, + **kwargs + ): + super(VirtualMachineUpdate, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + self.identity = kwargs.get('identity', None) + self.hardware_profile = kwargs.get('hardware_profile', None) + self.storage_profile = kwargs.get('storage_profile', None) + self.network_profile = kwargs.get('network_profile', None) + + +class VirtualNetwork(msrest.serialization.Model): + """Define the virtualNetwork. + + 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 location: Required. Gets or sets the location. + :type location: str + :param extended_location: Gets or sets the extended location. + :type extended_location: ~azure_arc_vmware_management_service_api.models.ExtendedLocation + :ivar system_data: The system data. + :vartype system_data: ~azure_arc_vmware_management_service_api.models.SystemData + :param tags: A set of tags. Gets or sets the Resource tags. + :type tags: dict[str, str] + :ivar name: Gets or sets the name. + :vartype name: str + :ivar id: Gets or sets the Id. + :vartype id: str + :ivar type: Gets or sets the type of the resource. + :vartype type: str + :param kind: Metadata used by portal/tooling/etc to render different UX experiences for + resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, + the resource provider must validate and persist this value. + :type kind: str + :ivar uuid: Gets or sets a unique identifier for this resource. + :vartype uuid: str + :param v_center_id: Gets or sets the ARM Id of the vCenter resource in which this template + resides. + :type v_center_id: str + :param mo_ref_id: Gets or sets the vCenter MoRef (Managed Object Reference) ID for the virtual + network. + :type mo_ref_id: str + :param inventory_item_id: Gets or sets the inventory Item ID for the virtual network. + :type inventory_item_id: str + :ivar mo_name: Gets or sets the vCenter Managed Object name for the virtual network. + :vartype mo_name: str + :ivar custom_resource_name: Gets the name of the corresponding resource in Kubernetes. + :vartype custom_resource_name: str + :ivar provisioning_state: Gets or sets the provisioning state. + :vartype provisioning_state: str + """ + + _validation = { + 'location': {'required': True}, + 'system_data': {'readonly': True}, + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, + 'uuid': {'readonly': True}, + 'mo_name': {'readonly': True}, + 'custom_resource_name': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'extended_location': {'key': 'extendedLocation', 'type': 'ExtendedLocation'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'uuid': {'key': 'properties.uuid', 'type': 'str'}, + 'v_center_id': {'key': 'properties.vCenterId', 'type': 'str'}, + 'mo_ref_id': {'key': 'properties.moRefId', 'type': 'str'}, + 'inventory_item_id': {'key': 'properties.inventoryItemId', 'type': 'str'}, + 'mo_name': {'key': 'properties.moName', 'type': 'str'}, + 'custom_resource_name': {'key': 'properties.customResourceName', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(VirtualNetwork, self).__init__(**kwargs) + self.location = kwargs['location'] + self.extended_location = kwargs.get('extended_location', None) + self.system_data = None + self.tags = kwargs.get('tags', None) + self.name = None + self.id = None + self.type = None + self.kind = kwargs.get('kind', None) + self.uuid = None + self.v_center_id = kwargs.get('v_center_id', None) + self.mo_ref_id = kwargs.get('mo_ref_id', None) + self.inventory_item_id = kwargs.get('inventory_item_id', None) + self.mo_name = None + self.custom_resource_name = None + self.provisioning_state = None + + +class VirtualNetworkInventoryItem(InventoryItemProperties): + """The Virtual network inventory item. + + 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 inventory_type: Required. They inventory type.Constant filled by server. Possible + values include: "ResourcePool", "VirtualMachine", "VirtualMachineTemplate", "VirtualNetwork". + :type inventory_type: str or ~azure_arc_vmware_management_service_api.models.InventoryType + :param managed_resource_id: Gets or sets the tracked resource id corresponding to the inventory + resource. + :type managed_resource_id: str + :param mo_ref_id: Gets or sets the MoRef (Managed Object Reference) ID for the inventory item. + :type mo_ref_id: str + :param mo_name: Gets or sets the vCenter Managed Object name for the inventory item. + :type mo_name: str + :ivar provisioning_state: Gets or sets the provisioning state. + :vartype provisioning_state: str + """ + + _validation = { + 'inventory_type': {'required': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'inventory_type': {'key': 'inventoryType', 'type': 'str'}, + 'managed_resource_id': {'key': 'managedResourceId', 'type': 'str'}, + 'mo_ref_id': {'key': 'moRefId', 'type': 'str'}, + 'mo_name': {'key': 'moName', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(VirtualNetworkInventoryItem, self).__init__(**kwargs) + self.inventory_type = 'VirtualNetwork' # type: str + + +class VirtualNetworksList(msrest.serialization.Model): + """List of VirtualNetworks. + + All required parameters must be populated in order to send to Azure. + + :param next_link: Url to follow for getting next page of VirtualNetworks. + :type next_link: str + :param value: Required. Array of VirtualNetworks. + :type value: list[~azure_arc_vmware_management_service_api.models.VirtualNetwork] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[VirtualNetwork]'}, + } + + def __init__( + self, + **kwargs + ): + super(VirtualNetworksList, self).__init__(**kwargs) + self.next_link = kwargs.get('next_link', None) + self.value = kwargs['value'] + + +class VirtualSCSIController(msrest.serialization.Model): + """This data object type contains the properties of a SCSI controller device attached to a virtual machine that is reported by the controller. + + :param type: Gets or sets the controller type. Possible values include: "lsilogic", "buslogic", + "pvscsi", "lsilogicsas". + :type type: str or ~azure_arc_vmware_management_service_api.models.SCSIControllerType + :param controller_key: Gets or sets the key of the controller. + :type controller_key: int + :param bus_number: Gets or sets the bus number of the controller. + :type bus_number: int + :param scsi_ctlr_unit_number: Gets or sets the SCSI controller unit number. + :type scsi_ctlr_unit_number: int + :param sharing: Gets or sets the sharing mode. Possible values include: "noSharing", + "physicalSharing", "virtualSharing". + :type sharing: str or ~azure_arc_vmware_management_service_api.models.VirtualSCSISharing + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'controller_key': {'key': 'controllerKey', 'type': 'int'}, + 'bus_number': {'key': 'busNumber', 'type': 'int'}, + 'scsi_ctlr_unit_number': {'key': 'scsiCtlrUnitNumber', 'type': 'int'}, + 'sharing': {'key': 'sharing', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(VirtualSCSIController, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + self.controller_key = kwargs.get('controller_key', None) + self.bus_number = kwargs.get('bus_number', None) + self.scsi_ctlr_unit_number = kwargs.get('scsi_ctlr_unit_number', None) + self.sharing = kwargs.get('sharing', None) diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/_models_py3.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/_models_py3.py new file mode 100644 index 00000000000..9d03d5a0e0d --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/_models_py3.py @@ -0,0 +1,2898 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 datetime +from typing import Dict, List, Optional, Union + +from azure.core.exceptions import HttpResponseError +import msrest.serialization + +from ._azure_arc_vmware_management_service_api_enums import * + + +class Condition(msrest.serialization.Model): + """Condition defines an extension to status. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar status: Status of the condition. + :vartype status: str + :ivar reason: The reason for the condition's status. + :vartype reason: str + :ivar message: A human readable message indicating details about the status. + :vartype message: str + :ivar severity: Severity with which to treat failures of this type of condition. + :vartype severity: str + """ + + _validation = { + 'status': {'readonly': True}, + 'reason': {'readonly': True}, + 'message': {'readonly': True}, + 'severity': {'readonly': True}, + } + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'reason': {'key': 'reason', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'severity': {'key': 'severity', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(Condition, self).__init__(**kwargs) + self.status = None + self.reason = None + self.message = None + self.severity = None + + +class ErrorDefinition(msrest.serialization.Model): + """Error definition. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar code: Service specific error code which serves as the substatus for the HTTP error code. + :vartype code: str + :ivar message: Description of the error. + :vartype message: str + :ivar details: Internal error details. + :vartype details: list[~azure_arc_vmware_management_service_api.models.ErrorDefinition] + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + 'details': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ErrorDefinition]'}, + } + + def __init__( + self, + **kwargs + ): + super(ErrorDefinition, self).__init__(**kwargs) + self.code = None + self.message = None + self.details = None + + +class ErrorResponse(msrest.serialization.Model): + """Error response. + + :param error: The error details. + :type error: ~azure_arc_vmware_management_service_api.models.ErrorDefinition + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorDefinition'}, + } + + def __init__( + self, + *, + error: Optional["ErrorDefinition"] = None, + **kwargs + ): + super(ErrorResponse, self).__init__(**kwargs) + self.error = error + + +class ExtendedLocation(msrest.serialization.Model): + """The extended location. + + :param type: The extended location type. + :type type: str + :param name: The extended location name. + :type name: str + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__( + self, + *, + type: Optional[str] = None, + name: Optional[str] = None, + **kwargs + ): + super(ExtendedLocation, self).__init__(**kwargs) + self.type = type + self.name = name + + +class Resource(msrest.serialization.Model): + """Common fields that are returned in the response for all Azure Resource Manager resources. + + 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. E.g. "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 + + +class ProxyResource(Resource): + """The resource model definition for an Azure Resource Manager 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. E.g. "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) + + +class GuestAgent(ProxyResource): + """Defines the GuestAgent. + + 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. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: The system data. + :vartype system_data: ~azure_arc_vmware_management_service_api.models.SystemData + :param credentials: Username / Password Credentials to provision guest agent. + :type credentials: ~azure_arc_vmware_management_service_api.models.GuestCredential + :param provisioning_action: Gets or sets the guest agent provisioning action. Possible values + include: "install", "uninstall", "repair". + :type provisioning_action: str or + ~azure_arc_vmware_management_service_api.models.ProvisioningAction + :ivar status: Gets or sets the guest agent status. + :vartype status: str + :ivar provisioning_state: Gets or sets the provisioning state. + :vartype provisioning_state: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'status': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'credentials': {'key': 'properties.credentials', 'type': 'GuestCredential'}, + 'provisioning_action': {'key': 'properties.provisioningAction', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__( + self, + *, + credentials: Optional["GuestCredential"] = None, + provisioning_action: Optional[Union[str, "ProvisioningAction"]] = None, + **kwargs + ): + super(GuestAgent, self).__init__(**kwargs) + self.system_data = None + self.credentials = credentials + self.provisioning_action = provisioning_action + self.status = None + self.provisioning_state = None + + +class GuestAgentList(msrest.serialization.Model): + """List of GuestAgent. + + All required parameters must be populated in order to send to Azure. + + :param next_link: Url to follow for getting next page of GuestAgent. + :type next_link: str + :param value: Required. Array of GuestAgent. + :type value: list[~azure_arc_vmware_management_service_api.models.GuestAgent] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[GuestAgent]'}, + } + + def __init__( + self, + *, + value: List["GuestAgent"], + next_link: Optional[str] = None, + **kwargs + ): + super(GuestAgentList, self).__init__(**kwargs) + self.next_link = next_link + self.value = value + + +class GuestCredential(msrest.serialization.Model): + """Username / Password Credentials to connect to guest. + + :param username: Gets or sets username to connect with the guest. + :type username: str + :param password: Gets or sets the password to connect with the guest. + :type password: str + """ + + _attribute_map = { + 'username': {'key': 'username', 'type': 'str'}, + 'password': {'key': 'password', 'type': 'str'}, + } + + def __init__( + self, + *, + username: Optional[str] = None, + password: Optional[str] = None, + **kwargs + ): + super(GuestCredential, self).__init__(**kwargs) + self.username = username + self.password = password + + +class HardwareProfile(msrest.serialization.Model): + """Defines the resource properties. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param memory_size_mb: Gets or sets memory size in MBs for the vm. + :type memory_size_mb: int + :param num_cp_us: Gets or sets the number of vCPUs for the vm. + :type num_cp_us: int + :param num_cores_per_socket: Gets or sets the number of cores per socket for the vm. Defaults + to 1 if unspecified. + :type num_cores_per_socket: int + :ivar cpu_hot_add_enabled: Gets or sets a value indicating whether virtual processors can be + added while this virtual machine is running. + :vartype cpu_hot_add_enabled: bool + :ivar cpu_hot_remove_enabled: Gets or sets a value indicating whether virtual processors can be + removed while this virtual machine is running. + :vartype cpu_hot_remove_enabled: bool + :ivar memory_hot_add_enabled: Gets or sets a value indicating whether memory can be added while + this virtual machine is running. + :vartype memory_hot_add_enabled: bool + """ + + _validation = { + 'cpu_hot_add_enabled': {'readonly': True}, + 'cpu_hot_remove_enabled': {'readonly': True}, + 'memory_hot_add_enabled': {'readonly': True}, + } + + _attribute_map = { + 'memory_size_mb': {'key': 'memorySizeMB', 'type': 'int'}, + 'num_cp_us': {'key': 'numCPUs', 'type': 'int'}, + 'num_cores_per_socket': {'key': 'numCoresPerSocket', 'type': 'int'}, + 'cpu_hot_add_enabled': {'key': 'cpuHotAddEnabled', 'type': 'bool'}, + 'cpu_hot_remove_enabled': {'key': 'cpuHotRemoveEnabled', 'type': 'bool'}, + 'memory_hot_add_enabled': {'key': 'memoryHotAddEnabled', 'type': 'bool'}, + } + + def __init__( + self, + *, + memory_size_mb: Optional[int] = None, + num_cp_us: Optional[int] = None, + num_cores_per_socket: Optional[int] = None, + **kwargs + ): + super(HardwareProfile, self).__init__(**kwargs) + self.memory_size_mb = memory_size_mb + self.num_cp_us = num_cp_us + self.num_cores_per_socket = num_cores_per_socket + self.cpu_hot_add_enabled = None + self.cpu_hot_remove_enabled = None + self.memory_hot_add_enabled = None + + +class HybridIdentityMetadata(ProxyResource): + """Defines the HybridIdentityMetadata. + + 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. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: The system data. + :vartype system_data: ~azure_arc_vmware_management_service_api.models.SystemData + :param vm_id: Gets or sets the Vm Id. + :type vm_id: str + :param public_key: Gets or sets the Public Key. + :type public_key: str + :ivar identity: The identity of the resource. + :vartype identity: ~azure_arc_vmware_management_service_api.models.Identity + :ivar provisioning_state: Gets or sets the provisioning state. + :vartype provisioning_state: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'identity': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'vm_id': {'key': 'properties.vmId', 'type': 'str'}, + 'public_key': {'key': 'properties.publicKey', 'type': 'str'}, + 'identity': {'key': 'properties.identity', 'type': 'Identity'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__( + self, + *, + vm_id: Optional[str] = None, + public_key: Optional[str] = None, + **kwargs + ): + super(HybridIdentityMetadata, self).__init__(**kwargs) + self.system_data = None + self.vm_id = vm_id + self.public_key = public_key + self.identity = None + self.provisioning_state = None + + +class HybridIdentityMetadataList(msrest.serialization.Model): + """List of HybridIdentityMetadata. + + All required parameters must be populated in order to send to Azure. + + :param next_link: Url to follow for getting next page of HybridIdentityMetadata. + :type next_link: str + :param value: Required. Array of HybridIdentityMetadata. + :type value: list[~azure_arc_vmware_management_service_api.models.HybridIdentityMetadata] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[HybridIdentityMetadata]'}, + } + + def __init__( + self, + *, + value: List["HybridIdentityMetadata"], + next_link: Optional[str] = None, + **kwargs + ): + super(HybridIdentityMetadataList, self).__init__(**kwargs) + self.next_link = next_link + self.value = value + + +class Identity(msrest.serialization.Model): + """Managed service identity. + + 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 managed service identity. + :vartype principal_id: str + :ivar tenant_id: The tenant of managed service identity. + :vartype tenant_id: str + :param type: Required. The type of managed service identity. Possible values include: "None", + "SystemAssigned". + :type type: str or ~azure_arc_vmware_management_service_api.models.IdentityType + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + 'type': {'required': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__( + self, + *, + type: Union[str, "IdentityType"], + **kwargs + ): + super(Identity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = type + + +class InventoryItem(ProxyResource): + """Defines the inventory item. + + 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. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". + :vartype type: str + :ivar system_data: The system data. + :vartype system_data: ~azure_arc_vmware_management_service_api.models.SystemData + :param inventory_type: Required. They inventory type.Constant filled by server. Possible + values include: "ResourcePool", "VirtualMachine", "VirtualMachineTemplate", "VirtualNetwork". + :type inventory_type: str or ~azure_arc_vmware_management_service_api.models.InventoryType + :param managed_resource_id: Gets or sets the tracked resource id corresponding to the inventory + resource. + :type managed_resource_id: str + :param mo_ref_id: Gets or sets the MoRef (Managed Object Reference) ID for the inventory item. + :type mo_ref_id: str + :param mo_name: Gets or sets the vCenter Managed Object name for the inventory item. + :type mo_name: str + :ivar provisioning_state: Gets or sets the provisioning state. + :vartype provisioning_state: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'inventory_type': {'required': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'inventory_type': {'key': 'properties.inventoryType', 'type': 'str'}, + 'managed_resource_id': {'key': 'properties.managedResourceId', 'type': 'str'}, + 'mo_ref_id': {'key': 'properties.moRefId', 'type': 'str'}, + 'mo_name': {'key': 'properties.moName', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__( + self, + *, + managed_resource_id: Optional[str] = None, + mo_ref_id: Optional[str] = None, + mo_name: Optional[str] = None, + **kwargs + ): + super(InventoryItem, self).__init__(**kwargs) + self.system_data = None + self.inventory_type = None # type: Optional[str] + self.managed_resource_id = managed_resource_id + self.mo_ref_id = mo_ref_id + self.mo_name = mo_name + self.provisioning_state = None + + +class InventoryItemDetails(msrest.serialization.Model): + """Defines the resource properties. + + :param inventory_item_id: Gets or sets the inventory Item ID for the resource. + :type inventory_item_id: str + :param mo_name: Gets or sets the vCenter Managed Object name for the resource. + :type mo_name: str + """ + + _attribute_map = { + 'inventory_item_id': {'key': 'inventoryItemId', 'type': 'str'}, + 'mo_name': {'key': 'moName', 'type': 'str'}, + } + + def __init__( + self, + *, + inventory_item_id: Optional[str] = None, + mo_name: Optional[str] = None, + **kwargs + ): + super(InventoryItemDetails, self).__init__(**kwargs) + self.inventory_item_id = inventory_item_id + self.mo_name = mo_name + + +class InventoryItemProperties(msrest.serialization.Model): + """Defines the resource properties. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: ResourcePoolInventoryItem, VirtualMachineInventoryItem, VirtualMachineTemplateInventoryItem, VirtualNetworkInventoryItem. + + 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 inventory_type: Required. They inventory type.Constant filled by server. Possible + values include: "ResourcePool", "VirtualMachine", "VirtualMachineTemplate", "VirtualNetwork". + :type inventory_type: str or ~azure_arc_vmware_management_service_api.models.InventoryType + :param managed_resource_id: Gets or sets the tracked resource id corresponding to the inventory + resource. + :type managed_resource_id: str + :param mo_ref_id: Gets or sets the MoRef (Managed Object Reference) ID for the inventory item. + :type mo_ref_id: str + :param mo_name: Gets or sets the vCenter Managed Object name for the inventory item. + :type mo_name: str + :ivar provisioning_state: Gets or sets the provisioning state. + :vartype provisioning_state: str + """ + + _validation = { + 'inventory_type': {'required': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'inventory_type': {'key': 'inventoryType', 'type': 'str'}, + 'managed_resource_id': {'key': 'managedResourceId', 'type': 'str'}, + 'mo_ref_id': {'key': 'moRefId', 'type': 'str'}, + 'mo_name': {'key': 'moName', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + } + + _subtype_map = { + 'inventory_type': {'ResourcePool': 'ResourcePoolInventoryItem', 'VirtualMachine': 'VirtualMachineInventoryItem', 'VirtualMachineTemplate': 'VirtualMachineTemplateInventoryItem', 'VirtualNetwork': 'VirtualNetworkInventoryItem'} + } + + def __init__( + self, + *, + managed_resource_id: Optional[str] = None, + mo_ref_id: Optional[str] = None, + mo_name: Optional[str] = None, + **kwargs + ): + super(InventoryItemProperties, self).__init__(**kwargs) + self.inventory_type = None # type: Optional[str] + self.managed_resource_id = managed_resource_id + self.mo_ref_id = mo_ref_id + self.mo_name = mo_name + self.provisioning_state = None + + +class InventoryItemsList(msrest.serialization.Model): + """List of InventoryItems. + + All required parameters must be populated in order to send to Azure. + + :param next_link: Url to follow for getting next page of InventoryItems. + :type next_link: str + :param value: Required. Array of InventoryItems. + :type value: list[~azure_arc_vmware_management_service_api.models.InventoryItem] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[InventoryItem]'}, + } + + def __init__( + self, + *, + value: List["InventoryItem"], + next_link: Optional[str] = None, + **kwargs + ): + super(InventoryItemsList, self).__init__(**kwargs) + self.next_link = next_link + self.value = value + + +class MachineExtension(msrest.serialization.Model): + """Describes a Machine Extension. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param location: Gets or sets the location. + :type location: str + :ivar system_data: The system data. + :vartype system_data: ~azure_arc_vmware_management_service_api.models.SystemData + :param tags: A set of tags. Gets or sets the Resource tags. + :type tags: dict[str, str] + :ivar name: Gets or sets the name. + :vartype name: str + :ivar id: Gets or sets the Id. + :vartype id: str + :ivar type: Gets or sets the type of the resource. + :vartype type: str + :param force_update_tag: How the extension handler should be forced to update even if the + extension configuration has not changed. + :type force_update_tag: str + :param publisher: The name of the extension handler publisher. + :type publisher: str + :param type_properties_type: Specifies the type of the extension; an example is + "CustomScriptExtension". + :type type_properties_type: str + :param type_handler_version: Specifies the version of the script handler. + :type type_handler_version: str + :param auto_upgrade_minor_version: Indicates whether the extension should use a newer minor + version if one is available at deployment time. Once deployed, however, the extension will not + upgrade minor versions unless redeployed, even with this property set to true. + :type auto_upgrade_minor_version: bool + :param settings: Json formatted public settings for the extension. + :type settings: object + :param protected_settings: The extension can contain either protectedSettings or + protectedSettingsFromKeyVault or no protected settings at all. + :type protected_settings: object + :ivar provisioning_state: The provisioning state, which only appears in the response. + :vartype provisioning_state: str + :param instance_view: The machine extension instance view. + :type instance_view: + ~azure_arc_vmware_management_service_api.models.MachineExtensionPropertiesInstanceView + """ + + _validation = { + 'system_data': {'readonly': True}, + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'force_update_tag': {'key': 'properties.forceUpdateTag', 'type': 'str'}, + 'publisher': {'key': 'properties.publisher', 'type': 'str'}, + 'type_properties_type': {'key': 'properties.type', 'type': 'str'}, + 'type_handler_version': {'key': 'properties.typeHandlerVersion', 'type': 'str'}, + 'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'}, + 'settings': {'key': 'properties.settings', 'type': 'object'}, + 'protected_settings': {'key': 'properties.protectedSettings', 'type': 'object'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'instance_view': {'key': 'properties.instanceView', 'type': 'MachineExtensionPropertiesInstanceView'}, + } + + def __init__( + self, + *, + location: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + force_update_tag: Optional[str] = None, + publisher: Optional[str] = None, + type_properties_type: Optional[str] = None, + type_handler_version: Optional[str] = None, + auto_upgrade_minor_version: Optional[bool] = None, + settings: Optional[object] = None, + protected_settings: Optional[object] = None, + instance_view: Optional["MachineExtensionPropertiesInstanceView"] = None, + **kwargs + ): + super(MachineExtension, self).__init__(**kwargs) + self.location = location + self.system_data = None + self.tags = tags + self.name = None + self.id = None + self.type = None + self.force_update_tag = force_update_tag + self.publisher = publisher + self.type_properties_type = type_properties_type + self.type_handler_version = type_handler_version + self.auto_upgrade_minor_version = auto_upgrade_minor_version + self.settings = settings + self.protected_settings = protected_settings + self.provisioning_state = None + self.instance_view = instance_view + + +class MachineExtensionInstanceView(msrest.serialization.Model): + """Describes the Machine Extension Instance View. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: The machine extension name. + :vartype name: str + :ivar type: Specifies the type of the extension; an example is "CustomScriptExtension". + :vartype type: str + :ivar type_handler_version: Specifies the version of the script handler. + :vartype type_handler_version: str + :param status: Instance view status. + :type status: + ~azure_arc_vmware_management_service_api.models.MachineExtensionInstanceViewStatus + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'type_handler_version': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'type_handler_version': {'key': 'typeHandlerVersion', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'MachineExtensionInstanceViewStatus'}, + } + + def __init__( + self, + *, + status: Optional["MachineExtensionInstanceViewStatus"] = None, + **kwargs + ): + super(MachineExtensionInstanceView, self).__init__(**kwargs) + self.name = None + self.type = None + self.type_handler_version = None + self.status = status + + +class MachineExtensionInstanceViewStatus(msrest.serialization.Model): + """Instance view status. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar code: The status code. + :vartype code: str + :ivar level: The level code. Possible values include: "Info", "Warning", "Error". + :vartype level: str or ~azure_arc_vmware_management_service_api.models.StatusLevelTypes + :ivar display_status: The short localizable label for the status. + :vartype display_status: str + :ivar message: The detailed status message, including for alerts and error messages. + :vartype message: str + :ivar time: The time of the status. + :vartype time: ~datetime.datetime + """ + + _validation = { + 'code': {'readonly': True}, + 'level': {'readonly': True}, + 'display_status': {'readonly': True}, + 'message': {'readonly': True}, + 'time': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'level': {'key': 'level', 'type': 'str'}, + 'display_status': {'key': 'displayStatus', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'time': {'key': 'time', 'type': 'iso-8601'}, + } + + def __init__( + self, + **kwargs + ): + super(MachineExtensionInstanceViewStatus, self).__init__(**kwargs) + self.code = None + self.level = None + self.display_status = None + self.message = None + self.time = None + + +class MachineExtensionPropertiesInstanceView(MachineExtensionInstanceView): + """The machine extension instance view. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar name: The machine extension name. + :vartype name: str + :ivar type: Specifies the type of the extension; an example is "CustomScriptExtension". + :vartype type: str + :ivar type_handler_version: Specifies the version of the script handler. + :vartype type_handler_version: str + :param status: Instance view status. + :type status: + ~azure_arc_vmware_management_service_api.models.MachineExtensionInstanceViewStatus + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'type_handler_version': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'type_handler_version': {'key': 'typeHandlerVersion', 'type': 'str'}, + 'status': {'key': 'status', 'type': 'MachineExtensionInstanceViewStatus'}, + } + + def __init__( + self, + *, + status: Optional["MachineExtensionInstanceViewStatus"] = None, + **kwargs + ): + super(MachineExtensionPropertiesInstanceView, self).__init__(status=status, **kwargs) + + +class MachineExtensionsListResult(msrest.serialization.Model): + """Describes the Machine Extensions List Result. + + :param value: The list of extensions. + :type value: list[~azure_arc_vmware_management_service_api.models.MachineExtension] + :param next_link: The uri to fetch the next page of machine extensions. Call ListNext() with + this to fetch the next page of extensions. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[MachineExtension]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["MachineExtension"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(MachineExtensionsListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class ResourcePatch(msrest.serialization.Model): + """Object containing updates for patch operations. + + :param tags: A set of tags. Resource tags. + :type tags: dict[str, str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__( + self, + *, + tags: Optional[Dict[str, str]] = None, + **kwargs + ): + super(ResourcePatch, self).__init__(**kwargs) + self.tags = tags + + +class MachineExtensionUpdate(ResourcePatch): + """Describes a Machine Extension Update. + + :param tags: A set of tags. Resource tags. + :type tags: dict[str, str] + :param force_update_tag: How the extension handler should be forced to update even if the + extension configuration has not changed. + :type force_update_tag: str + :param publisher: The name of the extension handler publisher. + :type publisher: str + :param type: Specifies the type of the extension; an example is "CustomScriptExtension". + :type type: str + :param type_handler_version: Specifies the version of the script handler. + :type type_handler_version: str + :param auto_upgrade_minor_version: Indicates whether the extension should use a newer minor + version if one is available at deployment time. Once deployed, however, the extension will not + upgrade minor versions unless redeployed, even with this property set to true. + :type auto_upgrade_minor_version: bool + :param settings: Json formatted public settings for the extension. + :type settings: object + :param protected_settings: The extension can contain either protectedSettings or + protectedSettingsFromKeyVault or no protected settings at all. + :type protected_settings: object + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + 'force_update_tag': {'key': 'properties.forceUpdateTag', 'type': 'str'}, + 'publisher': {'key': 'properties.publisher', 'type': 'str'}, + 'type': {'key': 'properties.type', 'type': 'str'}, + 'type_handler_version': {'key': 'properties.typeHandlerVersion', 'type': 'str'}, + 'auto_upgrade_minor_version': {'key': 'properties.autoUpgradeMinorVersion', 'type': 'bool'}, + 'settings': {'key': 'properties.settings', 'type': 'object'}, + 'protected_settings': {'key': 'properties.protectedSettings', 'type': 'object'}, + } + + def __init__( + self, + *, + tags: Optional[Dict[str, str]] = None, + force_update_tag: Optional[str] = None, + publisher: Optional[str] = None, + type: Optional[str] = None, + type_handler_version: Optional[str] = None, + auto_upgrade_minor_version: Optional[bool] = None, + settings: Optional[object] = None, + protected_settings: Optional[object] = None, + **kwargs + ): + super(MachineExtensionUpdate, self).__init__(tags=tags, **kwargs) + self.force_update_tag = force_update_tag + self.publisher = publisher + self.type = type + self.type_handler_version = type_handler_version + self.auto_upgrade_minor_version = auto_upgrade_minor_version + self.settings = settings + self.protected_settings = protected_settings + + +class NetworkInterface(msrest.serialization.Model): + """Network Interface model. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param name: Gets or sets the name of the network interface. + :type name: str + :ivar label: Gets or sets the label of the virtual network in vCenter that the nic is connected + to. + :vartype label: str + :ivar ip_addresses: Gets or sets the nic ip addresses. + :vartype ip_addresses: list[str] + :ivar mac_address: Gets or sets the NIC MAC address. + :vartype mac_address: str + :param network_id: Gets or sets the ARM Id of the network resource to connect the virtual + machine. + :type network_id: str + :param nic_type: NIC type. Possible values include: "vmxnet3", "vmxnet2", "vmxnet", "e1000", + "e1000e", "pcnet32". + :type nic_type: str or ~azure_arc_vmware_management_service_api.models.NICType + :param power_on_boot: Gets or sets the power on boot. Possible values include: "enabled", + "disabled". + :type power_on_boot: str or ~azure_arc_vmware_management_service_api.models.PowerOnBootOption + :ivar network_mo_ref_id: Gets or sets the vCenter MoRef (Managed Object Reference) ID of the + virtual network + that the nic is connected to. + :vartype network_mo_ref_id: str + :ivar network_mo_name: Gets or sets the name of the virtual network in vCenter that the nic is + connected to. + :vartype network_mo_name: str + :param device_key: Gets or sets the device key value. + :type device_key: int + :param ip_settings: Gets or sets the ipsettings. + :type ip_settings: ~azure_arc_vmware_management_service_api.models.NicIPSettings + """ + + _validation = { + 'label': {'readonly': True}, + 'ip_addresses': {'readonly': True}, + 'mac_address': {'readonly': True}, + 'network_mo_ref_id': {'readonly': True}, + 'network_mo_name': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'label': {'key': 'label', 'type': 'str'}, + 'ip_addresses': {'key': 'ipAddresses', 'type': '[str]'}, + 'mac_address': {'key': 'macAddress', 'type': 'str'}, + 'network_id': {'key': 'networkId', 'type': 'str'}, + 'nic_type': {'key': 'nicType', 'type': 'str'}, + 'power_on_boot': {'key': 'powerOnBoot', 'type': 'str'}, + 'network_mo_ref_id': {'key': 'networkMoRefId', 'type': 'str'}, + 'network_mo_name': {'key': 'networkMoName', 'type': 'str'}, + 'device_key': {'key': 'deviceKey', 'type': 'int'}, + 'ip_settings': {'key': 'ipSettings', 'type': 'NicIPSettings'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + network_id: Optional[str] = None, + nic_type: Optional[Union[str, "NICType"]] = None, + power_on_boot: Optional[Union[str, "PowerOnBootOption"]] = None, + device_key: Optional[int] = None, + ip_settings: Optional["NicIPSettings"] = None, + **kwargs + ): + super(NetworkInterface, self).__init__(**kwargs) + self.name = name + self.label = None + self.ip_addresses = None + self.mac_address = None + self.network_id = network_id + self.nic_type = nic_type + self.power_on_boot = power_on_boot + self.network_mo_ref_id = None + self.network_mo_name = None + self.device_key = device_key + self.ip_settings = ip_settings + + +class NetworkInterfaceUpdate(msrest.serialization.Model): + """Defines the network interface update. + + :param name: Gets or sets the name of the network interface. + :type name: str + :param network_id: Gets or sets the ARM Id of the network resource to connect the virtual + machine. + :type network_id: str + :param nic_type: NIC type. Possible values include: "vmxnet3", "vmxnet2", "vmxnet", "e1000", + "e1000e", "pcnet32". + :type nic_type: str or ~azure_arc_vmware_management_service_api.models.NICType + :param power_on_boot: Gets or sets the power on boot. Possible values include: "enabled", + "disabled". + :type power_on_boot: str or ~azure_arc_vmware_management_service_api.models.PowerOnBootOption + :param device_key: Gets or sets the device key value. + :type device_key: int + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'network_id': {'key': 'networkId', 'type': 'str'}, + 'nic_type': {'key': 'nicType', 'type': 'str'}, + 'power_on_boot': {'key': 'powerOnBoot', 'type': 'str'}, + 'device_key': {'key': 'deviceKey', 'type': 'int'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + network_id: Optional[str] = None, + nic_type: Optional[Union[str, "NICType"]] = None, + power_on_boot: Optional[Union[str, "PowerOnBootOption"]] = None, + device_key: Optional[int] = None, + **kwargs + ): + super(NetworkInterfaceUpdate, self).__init__(**kwargs) + self.name = name + self.network_id = network_id + self.nic_type = nic_type + self.power_on_boot = power_on_boot + self.device_key = device_key + + +class NetworkProfile(msrest.serialization.Model): + """Defines the resource properties. + + :param network_interfaces: Gets or sets the list of network interfaces associated with the + virtual machine. + :type network_interfaces: + list[~azure_arc_vmware_management_service_api.models.NetworkInterface] + """ + + _attribute_map = { + 'network_interfaces': {'key': 'networkInterfaces', 'type': '[NetworkInterface]'}, + } + + def __init__( + self, + *, + network_interfaces: Optional[List["NetworkInterface"]] = None, + **kwargs + ): + super(NetworkProfile, self).__init__(**kwargs) + self.network_interfaces = network_interfaces + + +class NetworkProfileUpdate(msrest.serialization.Model): + """Defines the update resource properties. + + :param network_interfaces: Gets or sets the list of network interfaces associated with the + virtual machine. + :type network_interfaces: + list[~azure_arc_vmware_management_service_api.models.NetworkInterfaceUpdate] + """ + + _attribute_map = { + 'network_interfaces': {'key': 'networkInterfaces', 'type': '[NetworkInterfaceUpdate]'}, + } + + def __init__( + self, + *, + network_interfaces: Optional[List["NetworkInterfaceUpdate"]] = None, + **kwargs + ): + super(NetworkProfileUpdate, self).__init__(**kwargs) + self.network_interfaces = network_interfaces + + +class NicIPAddressSettings(msrest.serialization.Model): + """IP address information for a virtual network adapter reported by the fabric. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar allocation_method: Gets the ip address allocation method. + :vartype allocation_method: str + :ivar ip_address: Gets the ip address for the nic. + :vartype ip_address: str + :ivar subnet_mask: Gets the mask. + :vartype subnet_mask: str + """ + + _validation = { + 'allocation_method': {'readonly': True}, + 'ip_address': {'readonly': True}, + 'subnet_mask': {'readonly': True}, + } + + _attribute_map = { + 'allocation_method': {'key': 'allocationMethod', 'type': 'str'}, + 'ip_address': {'key': 'ipAddress', 'type': 'str'}, + 'subnet_mask': {'key': 'subnetMask', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(NicIPAddressSettings, self).__init__(**kwargs) + self.allocation_method = None + self.ip_address = None + self.subnet_mask = None + + +class NicIPSettings(msrest.serialization.Model): + """Defines the network interface ip settings. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param allocation_method: Gets or sets the nic allocation method. Possible values include: + "unset", "dynamic", "static", "linklayer", "random", "other". + :type allocation_method: str or + ~azure_arc_vmware_management_service_api.models.IPAddressAllocationMethod + :param dns_servers: Gets or sets the dns servers. + :type dns_servers: list[str] + :param gateway: Gets or sets the gateway. + :type gateway: list[str] + :param ip_address: Gets or sets the ip address for the nic. + :type ip_address: str + :param subnet_mask: Gets or sets the mask. + :type subnet_mask: str + :ivar primary_wins_server: Gets or sets the primary server. + :vartype primary_wins_server: str + :ivar secondary_wins_server: Gets or sets the secondary server. + :vartype secondary_wins_server: str + :ivar ip_address_info: Gets or sets the IP address information being reported for this NIC. + This contains the same IPv4 information above plus IPV6 information. + :vartype ip_address_info: + list[~azure_arc_vmware_management_service_api.models.NicIPAddressSettings] + """ + + _validation = { + 'primary_wins_server': {'readonly': True}, + 'secondary_wins_server': {'readonly': True}, + 'ip_address_info': {'readonly': True}, + } + + _attribute_map = { + 'allocation_method': {'key': 'allocationMethod', 'type': 'str'}, + 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, + 'gateway': {'key': 'gateway', 'type': '[str]'}, + 'ip_address': {'key': 'ipAddress', 'type': 'str'}, + 'subnet_mask': {'key': 'subnetMask', 'type': 'str'}, + 'primary_wins_server': {'key': 'primaryWinsServer', 'type': 'str'}, + 'secondary_wins_server': {'key': 'secondaryWinsServer', 'type': 'str'}, + 'ip_address_info': {'key': 'ipAddressInfo', 'type': '[NicIPAddressSettings]'}, + } + + def __init__( + self, + *, + allocation_method: Optional[Union[str, "IPAddressAllocationMethod"]] = None, + dns_servers: Optional[List[str]] = None, + gateway: Optional[List[str]] = None, + ip_address: Optional[str] = None, + subnet_mask: Optional[str] = None, + **kwargs + ): + super(NicIPSettings, self).__init__(**kwargs) + self.allocation_method = allocation_method + self.dns_servers = dns_servers + self.gateway = gateway + self.ip_address = ip_address + self.subnet_mask = subnet_mask + self.primary_wins_server = None + self.secondary_wins_server = None + self.ip_address_info = None + + +class Operation(msrest.serialization.Model): + """Operation provided by provider. + + :param name: Name of the operation. + :type name: str + :param is_data_action: Indicates whether the operation is data action or not. + :type is_data_action: bool + :param display: Properties of the operation. + :type display: ~azure_arc_vmware_management_service_api.models.OperationDisplay + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + is_data_action: Optional[bool] = None, + display: Optional["OperationDisplay"] = None, + **kwargs + ): + super(Operation, self).__init__(**kwargs) + self.name = name + self.is_data_action = is_data_action + self.display = display + + +class OperationDisplay(msrest.serialization.Model): + """Properties of the operation. + + :param provider: Provider name. + :type provider: str + :param resource: Resource name. + :type resource: str + :param operation: Operation name. + :type operation: str + :param description: Description of the operation. + :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: Optional[str] = None, + resource: Optional[str] = None, + operation: Optional[str] = None, + description: Optional[str] = None, + **kwargs + ): + super(OperationDisplay, self).__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description + + +class OperationsList(msrest.serialization.Model): + """Lists the operations available. + + All required parameters must be populated in order to send to Azure. + + :param next_link: Url to follow for getting next page of operations. + :type next_link: str + :param value: Required. Array of operations. + :type value: list[~azure_arc_vmware_management_service_api.models.Operation] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[Operation]'}, + } + + def __init__( + self, + *, + value: List["Operation"], + next_link: Optional[str] = None, + **kwargs + ): + super(OperationsList, self).__init__(**kwargs) + self.next_link = next_link + self.value = value + + +class OsProfile(msrest.serialization.Model): + """Defines the resource properties. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param computer_name: Gets or sets computer name. + :type computer_name: str + :param admin_username: Gets or sets administrator username. + :type admin_username: str + :param admin_password: Gets or sets administrator password. + :type admin_password: str + :ivar os_type: Gets or sets the type of the os. Possible values include: "Windows", "Linux", + "Other". + :vartype os_type: str or ~azure_arc_vmware_management_service_api.models.OsType + :ivar os_name: Gets or sets os name. + :vartype os_name: str + :ivar tools_running_status: Gets or sets the current running status of VMware Tools running in + the guest operating system. + :vartype tools_running_status: str + :ivar tools_version_status: Gets or sets the current version status of VMware Tools installed + in the guest operating system. + :vartype tools_version_status: str + :ivar tools_version: Gets or sets the current version of VMware Tools. + :vartype tools_version: str + """ + + _validation = { + 'os_type': {'readonly': True}, + 'os_name': {'readonly': True}, + 'tools_running_status': {'readonly': True}, + 'tools_version_status': {'readonly': True}, + 'tools_version': {'readonly': True}, + } + + _attribute_map = { + 'computer_name': {'key': 'computerName', 'type': 'str'}, + 'admin_username': {'key': 'adminUsername', 'type': 'str'}, + 'admin_password': {'key': 'adminPassword', 'type': 'str'}, + 'os_type': {'key': 'osType', 'type': 'str'}, + 'os_name': {'key': 'osName', 'type': 'str'}, + 'tools_running_status': {'key': 'toolsRunningStatus', 'type': 'str'}, + 'tools_version_status': {'key': 'toolsVersionStatus', 'type': 'str'}, + 'tools_version': {'key': 'toolsVersion', 'type': 'str'}, + } + + def __init__( + self, + *, + computer_name: Optional[str] = None, + admin_username: Optional[str] = None, + admin_password: Optional[str] = None, + **kwargs + ): + super(OsProfile, self).__init__(**kwargs) + self.computer_name = computer_name + self.admin_username = admin_username + self.admin_password = admin_password + self.os_type = None + self.os_name = None + self.tools_running_status = None + self.tools_version_status = None + self.tools_version = None + + +class ResourcePool(msrest.serialization.Model): + """Define the resourcePool. + + 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 location: Required. Gets or sets the location. + :type location: str + :param extended_location: Gets or sets the extended location. + :type extended_location: ~azure_arc_vmware_management_service_api.models.ExtendedLocation + :ivar system_data: The system data. + :vartype system_data: ~azure_arc_vmware_management_service_api.models.SystemData + :param tags: A set of tags. Gets or sets the Resource tags. + :type tags: dict[str, str] + :ivar name: Gets or sets the name. + :vartype name: str + :ivar id: Gets or sets the Id. + :vartype id: str + :ivar type: Gets or sets the type of the resource. + :vartype type: str + :param kind: Metadata used by portal/tooling/etc to render different UX experiences for + resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, + the resource provider must validate and persist this value. + :type kind: str + :ivar uuid: Gets or sets a unique identifier for this resource. + :vartype uuid: str + :param v_center_id: Gets or sets the ARM Id of the vCenter resource in which this resource pool + resides. + :type v_center_id: str + :param mo_ref_id: Gets or sets the vCenter MoRef (Managed Object Reference) ID for the resource + pool. + :type mo_ref_id: str + :param inventory_item_id: Gets or sets the inventory Item ID for the resource pool. + :type inventory_item_id: str + :ivar mo_name: Gets or sets the vCenter Managed Object name for the resource pool. + :vartype mo_name: str + :ivar cpu_shares_level: Gets or sets CPUSharesLevel which specifies the CPU allocation level + for this pool. + This property is used in relative allocation between resource consumers. + :vartype cpu_shares_level: str + :ivar cpu_reservation_m_hz: Gets or sets CPUReservationMHz which specifies the CPU size in MHz + that is guaranteed + to be available. + :vartype cpu_reservation_m_hz: long + :ivar cpu_limit_m_hz: Gets or sets CPULimitMHz which specifies a CPU usage limit in MHz. + Utilization will not exceed this limit even if there are available resources. + :vartype cpu_limit_m_hz: long + :ivar mem_shares_level: Gets or sets CPUSharesLevel which specifies the memory allocation level + for this pool. + This property is used in relative allocation between resource consumers. + :vartype mem_shares_level: str + :ivar mem_reservation_mb: Gets or sets MemReservationMB which specifies the guaranteed + available memory in + megabytes. + :vartype mem_reservation_mb: long + :ivar mem_limit_mb: Gets or sets MemLimitMB specifies a memory usage limit in megabytes. + Utilization will not exceed the specified limit even if there are available resources. + :vartype mem_limit_mb: long + :ivar custom_resource_name: Gets the name of the corresponding resource in Kubernetes. + :vartype custom_resource_name: str + :ivar provisioning_state: Gets or sets the provisioning state. + :vartype provisioning_state: str + """ + + _validation = { + 'location': {'required': True}, + 'system_data': {'readonly': True}, + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, + 'uuid': {'readonly': True}, + 'mo_name': {'readonly': True}, + 'cpu_shares_level': {'readonly': True}, + 'cpu_reservation_m_hz': {'readonly': True}, + 'cpu_limit_m_hz': {'readonly': True}, + 'mem_shares_level': {'readonly': True}, + 'mem_reservation_mb': {'readonly': True}, + 'mem_limit_mb': {'readonly': True}, + 'custom_resource_name': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'extended_location': {'key': 'extendedLocation', 'type': 'ExtendedLocation'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'uuid': {'key': 'properties.uuid', 'type': 'str'}, + 'v_center_id': {'key': 'properties.vCenterId', 'type': 'str'}, + 'mo_ref_id': {'key': 'properties.moRefId', 'type': 'str'}, + 'inventory_item_id': {'key': 'properties.inventoryItemId', 'type': 'str'}, + 'mo_name': {'key': 'properties.moName', 'type': 'str'}, + 'cpu_shares_level': {'key': 'properties.cpuSharesLevel', 'type': 'str'}, + 'cpu_reservation_m_hz': {'key': 'properties.cpuReservationMHz', 'type': 'long'}, + 'cpu_limit_m_hz': {'key': 'properties.cpuLimitMHz', 'type': 'long'}, + 'mem_shares_level': {'key': 'properties.memSharesLevel', 'type': 'str'}, + 'mem_reservation_mb': {'key': 'properties.memReservationMB', 'type': 'long'}, + 'mem_limit_mb': {'key': 'properties.memLimitMB', 'type': 'long'}, + 'custom_resource_name': {'key': 'properties.customResourceName', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__( + self, + *, + location: str, + extended_location: Optional["ExtendedLocation"] = None, + tags: Optional[Dict[str, str]] = None, + kind: Optional[str] = None, + v_center_id: Optional[str] = None, + mo_ref_id: Optional[str] = None, + inventory_item_id: Optional[str] = None, + **kwargs + ): + super(ResourcePool, self).__init__(**kwargs) + self.location = location + self.extended_location = extended_location + self.system_data = None + self.tags = tags + self.name = None + self.id = None + self.type = None + self.kind = kind + self.uuid = None + self.v_center_id = v_center_id + self.mo_ref_id = mo_ref_id + self.inventory_item_id = inventory_item_id + self.mo_name = None + self.cpu_shares_level = None + self.cpu_reservation_m_hz = None + self.cpu_limit_m_hz = None + self.mem_shares_level = None + self.mem_reservation_mb = None + self.mem_limit_mb = None + self.custom_resource_name = None + self.provisioning_state = None + + +class ResourcePoolInventoryItem(InventoryItemProperties): + """The resource pool inventory item. + + 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 inventory_type: Required. They inventory type.Constant filled by server. Possible + values include: "ResourcePool", "VirtualMachine", "VirtualMachineTemplate", "VirtualNetwork". + :type inventory_type: str or ~azure_arc_vmware_management_service_api.models.InventoryType + :param managed_resource_id: Gets or sets the tracked resource id corresponding to the inventory + resource. + :type managed_resource_id: str + :param mo_ref_id: Gets or sets the MoRef (Managed Object Reference) ID for the inventory item. + :type mo_ref_id: str + :param mo_name: Gets or sets the vCenter Managed Object name for the inventory item. + :type mo_name: str + :ivar provisioning_state: Gets or sets the provisioning state. + :vartype provisioning_state: str + :param parent: Parent resourcePool inventory resource details. + :type parent: ~azure_arc_vmware_management_service_api.models.InventoryItemDetails + """ + + _validation = { + 'inventory_type': {'required': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'inventory_type': {'key': 'inventoryType', 'type': 'str'}, + 'managed_resource_id': {'key': 'managedResourceId', 'type': 'str'}, + 'mo_ref_id': {'key': 'moRefId', 'type': 'str'}, + 'mo_name': {'key': 'moName', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'parent': {'key': 'parent', 'type': 'InventoryItemDetails'}, + } + + def __init__( + self, + *, + managed_resource_id: Optional[str] = None, + mo_ref_id: Optional[str] = None, + mo_name: Optional[str] = None, + parent: Optional["InventoryItemDetails"] = None, + **kwargs + ): + super(ResourcePoolInventoryItem, self).__init__(managed_resource_id=managed_resource_id, mo_ref_id=mo_ref_id, mo_name=mo_name, **kwargs) + self.inventory_type = 'ResourcePool' # type: str + self.parent = parent + + +class ResourcePoolsList(msrest.serialization.Model): + """List of ResourcePools. + + All required parameters must be populated in order to send to Azure. + + :param next_link: Url to follow for getting next page of ResourcePools. + :type next_link: str + :param value: Required. Array of ResourcePools. + :type value: list[~azure_arc_vmware_management_service_api.models.ResourcePool] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[ResourcePool]'}, + } + + def __init__( + self, + *, + value: List["ResourcePool"], + next_link: Optional[str] = None, + **kwargs + ): + super(ResourcePoolsList, self).__init__(**kwargs) + self.next_link = next_link + self.value = value + + +class StopVirtualMachineOptions(msrest.serialization.Model): + """Defines the stop action properties. + + :param skip_shutdown: Gets or sets a value indicating whether to request non-graceful VM + shutdown. True value for this flag indicates non-graceful shutdown whereas false indicates + otherwise. Defaults to false. + :type skip_shutdown: bool + """ + + _attribute_map = { + 'skip_shutdown': {'key': 'skipShutdown', 'type': 'bool'}, + } + + def __init__( + self, + *, + skip_shutdown: Optional[bool] = False, + **kwargs + ): + super(StopVirtualMachineOptions, self).__init__(**kwargs) + self.skip_shutdown = skip_shutdown + + +class StorageProfile(msrest.serialization.Model): + """Defines the resource properties. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param disks: Gets or sets the list of virtual disks associated with the virtual machine. + :type disks: list[~azure_arc_vmware_management_service_api.models.VirtualDisk] + :ivar scsi_controllers: Gets or sets the list of virtual SCSI controllers associated with the + virtual machine. + :vartype scsi_controllers: + list[~azure_arc_vmware_management_service_api.models.VirtualSCSIController] + """ + + _validation = { + 'scsi_controllers': {'readonly': True}, + } + + _attribute_map = { + 'disks': {'key': 'disks', 'type': '[VirtualDisk]'}, + 'scsi_controllers': {'key': 'scsiControllers', 'type': '[VirtualSCSIController]'}, + } + + def __init__( + self, + *, + disks: Optional[List["VirtualDisk"]] = None, + **kwargs + ): + super(StorageProfile, self).__init__(**kwargs) + self.disks = disks + self.scsi_controllers = None + + +class StorageProfileUpdate(msrest.serialization.Model): + """Defines the resource update properties. + + :param disks: Gets or sets the list of virtual disks associated with the virtual machine. + :type disks: list[~azure_arc_vmware_management_service_api.models.VirtualDiskUpdate] + """ + + _attribute_map = { + 'disks': {'key': 'disks', 'type': '[VirtualDiskUpdate]'}, + } + + def __init__( + self, + *, + disks: Optional[List["VirtualDiskUpdate"]] = None, + **kwargs + ): + super(StorageProfileUpdate, self).__init__(**kwargs) + self.disks = disks + + +class SystemData(msrest.serialization.Model): + """Metadata pertaining to creation and last modification of the resource. + + :param created_by: The identity that created the resource. + :type created_by: str + :param created_by_type: The type of identity that created the resource. Possible values + include: "User", "Application", "ManagedIdentity", "Key". + :type created_by_type: str or ~azure_arc_vmware_management_service_api.models.CreatedByType + :param created_at: The timestamp of resource creation (UTC). + :type created_at: ~datetime.datetime + :param last_modified_by: The identity that last modified the resource. + :type last_modified_by: str + :param last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". + :type last_modified_by_type: str or + ~azure_arc_vmware_management_service_api.models.CreatedByType + :param last_modified_at: The type of identity that last modified the resource. + :type last_modified_at: ~datetime.datetime + """ + + _attribute_map = { + 'created_by': {'key': 'createdBy', 'type': 'str'}, + 'created_by_type': {'key': 'createdByType', 'type': 'str'}, + 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, + 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, + 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, + 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, + } + + def __init__( + self, + *, + created_by: Optional[str] = None, + created_by_type: Optional[Union[str, "CreatedByType"]] = None, + created_at: Optional[datetime.datetime] = None, + last_modified_by: Optional[str] = None, + last_modified_by_type: Optional[Union[str, "CreatedByType"]] = None, + last_modified_at: Optional[datetime.datetime] = None, + **kwargs + ): + super(SystemData, self).__init__(**kwargs) + self.created_by = created_by + self.created_by_type = created_by_type + self.created_at = created_at + self.last_modified_by = last_modified_by + self.last_modified_by_type = last_modified_by_type + self.last_modified_at = last_modified_at + + +class VCenter(msrest.serialization.Model): + """Defines the vCenter. + + 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 location: Required. Gets or sets the location. + :type location: str + :param extended_location: Gets or sets the extended location. + :type extended_location: ~azure_arc_vmware_management_service_api.models.ExtendedLocation + :ivar system_data: The system data. + :vartype system_data: ~azure_arc_vmware_management_service_api.models.SystemData + :param tags: A set of tags. Gets or sets the Resource tags. + :type tags: dict[str, str] + :ivar name: Gets or sets the name. + :vartype name: str + :ivar id: Gets or sets the Id. + :vartype id: str + :ivar type: Gets or sets the type of the resource. + :vartype type: str + :param kind: Metadata used by portal/tooling/etc to render different UX experiences for + resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, + the resource provider must validate and persist this value. + :type kind: str + :ivar uuid: Gets or sets a unique identifier for this resource. + :vartype uuid: str + :param fqdn: Required. Gets or sets the FQDN/IPAddress of the vCenter. + :type fqdn: str + :param port: Gets or sets the port of the vCenter. + :type port: int + :ivar version: Gets or sets the version of the vCenter. + :vartype version: str + :ivar instance_uuid: Gets or sets the instance UUID of the vCenter. + :vartype instance_uuid: str + :ivar connection_status: Gets or sets the connection status to the vCenter. + :vartype connection_status: str + :ivar custom_resource_name: Gets the name of the corresponding resource in Kubernetes. + :vartype custom_resource_name: str + :param credentials: Username / Password Credentials to connect to vcenter. + :type credentials: ~azure_arc_vmware_management_service_api.models.VICredential + :ivar provisioning_state: Gets or sets the provisioning state. + :vartype provisioning_state: str + """ + + _validation = { + 'location': {'required': True}, + 'system_data': {'readonly': True}, + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, + 'uuid': {'readonly': True}, + 'fqdn': {'required': True}, + 'port': {'maximum': 65535, 'minimum': 1}, + 'version': {'readonly': True}, + 'instance_uuid': {'readonly': True}, + 'connection_status': {'readonly': True}, + 'custom_resource_name': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'extended_location': {'key': 'extendedLocation', 'type': 'ExtendedLocation'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'uuid': {'key': 'properties.uuid', 'type': 'str'}, + 'fqdn': {'key': 'properties.fqdn', 'type': 'str'}, + 'port': {'key': 'properties.port', 'type': 'int'}, + 'version': {'key': 'properties.version', 'type': 'str'}, + 'instance_uuid': {'key': 'properties.instanceUuid', 'type': 'str'}, + 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, + 'custom_resource_name': {'key': 'properties.customResourceName', 'type': 'str'}, + 'credentials': {'key': 'properties.credentials', 'type': 'VICredential'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__( + self, + *, + location: str, + fqdn: str, + extended_location: Optional["ExtendedLocation"] = None, + tags: Optional[Dict[str, str]] = None, + kind: Optional[str] = None, + port: Optional[int] = None, + credentials: Optional["VICredential"] = None, + **kwargs + ): + super(VCenter, self).__init__(**kwargs) + self.location = location + self.extended_location = extended_location + self.system_data = None + self.tags = tags + self.name = None + self.id = None + self.type = None + self.kind = kind + self.uuid = None + self.fqdn = fqdn + self.port = port + self.version = None + self.instance_uuid = None + self.connection_status = None + self.custom_resource_name = None + self.credentials = credentials + self.provisioning_state = None + + +class VCentersList(msrest.serialization.Model): + """List of VCenters. + + All required parameters must be populated in order to send to Azure. + + :param next_link: Url to follow for getting next page of VCenters. + :type next_link: str + :param value: Required. Array of VCenters. + :type value: list[~azure_arc_vmware_management_service_api.models.VCenter] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[VCenter]'}, + } + + def __init__( + self, + *, + value: List["VCenter"], + next_link: Optional[str] = None, + **kwargs + ): + super(VCentersList, self).__init__(**kwargs) + self.next_link = next_link + self.value = value + + +class VICredential(msrest.serialization.Model): + """Username / Password Credentials to connect to vcenter. + + :param username: Gets or sets username to connect with the vCenter. + :type username: str + :param password: Gets or sets the password to connect with the vCenter. + :type password: str + """ + + _attribute_map = { + 'username': {'key': 'username', 'type': 'str'}, + 'password': {'key': 'password', 'type': 'str'}, + } + + def __init__( + self, + *, + username: Optional[str] = None, + password: Optional[str] = None, + **kwargs + ): + super(VICredential, self).__init__(**kwargs) + self.username = username + self.password = password + + +class VirtualDisk(msrest.serialization.Model): + """Virtual disk model. + + Variables are only populated by the server, and will be ignored when sending a request. + + :param name: Gets or sets the name of the virtual disk. + :type name: str + :ivar label: Gets or sets the label of the virtual disk in vCenter. + :vartype label: str + :ivar disk_object_id: Gets or sets the disk object id. + :vartype disk_object_id: str + :param disk_size_gb: Gets or sets the disk total size. + :type disk_size_gb: int + :param device_key: Gets or sets the device key value. + :type device_key: int + :param disk_mode: Gets or sets the disk mode. Possible values include: "persistent", + "independent_persistent", "independent_nonpersistent". + :type disk_mode: str or ~azure_arc_vmware_management_service_api.models.DiskMode + :param controller_key: Gets or sets the controller id. + :type controller_key: int + :param unit_number: Gets or sets the unit number of the disk on the controller. + :type unit_number: int + """ + + _validation = { + 'label': {'readonly': True}, + 'disk_object_id': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'label': {'key': 'label', 'type': 'str'}, + 'disk_object_id': {'key': 'diskObjectId', 'type': 'str'}, + 'disk_size_gb': {'key': 'diskSizeGB', 'type': 'int'}, + 'device_key': {'key': 'deviceKey', 'type': 'int'}, + 'disk_mode': {'key': 'diskMode', 'type': 'str'}, + 'controller_key': {'key': 'controllerKey', 'type': 'int'}, + 'unit_number': {'key': 'unitNumber', 'type': 'int'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + disk_size_gb: Optional[int] = None, + device_key: Optional[int] = None, + disk_mode: Optional[Union[str, "DiskMode"]] = None, + controller_key: Optional[int] = None, + unit_number: Optional[int] = None, + **kwargs + ): + super(VirtualDisk, self).__init__(**kwargs) + self.name = name + self.label = None + self.disk_object_id = None + self.disk_size_gb = disk_size_gb + self.device_key = device_key + self.disk_mode = disk_mode + self.controller_key = controller_key + self.unit_number = unit_number + + +class VirtualDiskUpdate(msrest.serialization.Model): + """Defines the virtual disk update. + + :param name: Gets or sets the name of the virtual disk. + :type name: str + :param disk_size_gb: Gets or sets the disk total size. + :type disk_size_gb: int + :param device_key: Gets or sets the device key value. + :type device_key: int + :param disk_mode: Gets or sets the disk mode. Possible values include: "persistent", + "independent_persistent", "independent_nonpersistent". + :type disk_mode: str or ~azure_arc_vmware_management_service_api.models.DiskMode + :param controller_key: Gets or sets the controller id. + :type controller_key: int + :param unit_number: Gets or sets the unit number of the disk on the controller. + :type unit_number: int + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'disk_size_gb': {'key': 'diskSizeGB', 'type': 'int'}, + 'device_key': {'key': 'deviceKey', 'type': 'int'}, + 'disk_mode': {'key': 'diskMode', 'type': 'str'}, + 'controller_key': {'key': 'controllerKey', 'type': 'int'}, + 'unit_number': {'key': 'unitNumber', 'type': 'int'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + disk_size_gb: Optional[int] = None, + device_key: Optional[int] = None, + disk_mode: Optional[Union[str, "DiskMode"]] = None, + controller_key: Optional[int] = None, + unit_number: Optional[int] = None, + **kwargs + ): + super(VirtualDiskUpdate, self).__init__(**kwargs) + self.name = name + self.disk_size_gb = disk_size_gb + self.device_key = device_key + self.disk_mode = disk_mode + self.controller_key = controller_key + self.unit_number = unit_number + + +class VirtualMachine(msrest.serialization.Model): + """Define the virtualMachine. + + 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 location: Required. Gets or sets the location. + :type location: str + :param extended_location: Gets or sets the extended location. + :type extended_location: ~azure_arc_vmware_management_service_api.models.ExtendedLocation + :ivar system_data: The system data. + :vartype system_data: ~azure_arc_vmware_management_service_api.models.SystemData + :param tags: A set of tags. Gets or sets the Resource tags. + :type tags: dict[str, str] + :ivar name: Gets or sets the name. + :vartype name: str + :ivar id: Gets or sets the Id. + :vartype id: str + :ivar type: Gets or sets the type of the resource. + :vartype type: str + :param kind: Metadata used by portal/tooling/etc to render different UX experiences for + resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, + the resource provider must validate and persist this value. + :type kind: str + :param identity: The identity of the resource. + :type identity: ~azure_arc_vmware_management_service_api.models.Identity + :param resource_pool_id: Gets or sets the ARM Id of the resourcePool resource on which this + virtual machine will + deploy. + :type resource_pool_id: str + :param template_id: Gets or sets the ARM Id of the template resource to deploy the virtual + machine. + :type template_id: str + :param v_center_id: Gets or sets the ARM Id of the vCenter resource in which this resource pool + resides. + :type v_center_id: str + :param os_profile: OS properties. + :type os_profile: ~azure_arc_vmware_management_service_api.models.OsProfile + :param hardware_profile: Hardware properties. + :type hardware_profile: ~azure_arc_vmware_management_service_api.models.HardwareProfile + :param network_profile: Network properties. + :type network_profile: ~azure_arc_vmware_management_service_api.models.NetworkProfile + :param storage_profile: Storage properties. + :type storage_profile: ~azure_arc_vmware_management_service_api.models.StorageProfile + :param mo_ref_id: Gets or sets the vCenter MoRef (Managed Object Reference) ID for the virtual + machine. + :type mo_ref_id: str + :param inventory_item_id: Gets or sets the inventory Item ID for the virtual machine. + :type inventory_item_id: str + :ivar mo_name: Gets or sets the vCenter Managed Object name for the virtual machine. + :vartype mo_name: str + :ivar folder_path: Gets or sets the folder path of the vm. + :vartype folder_path: str + :ivar instance_uuid: Gets or sets the instance uuid of the vm. + :vartype instance_uuid: str + :ivar power_state: Gets the power state of the virtual machine. + :vartype power_state: str + :ivar custom_resource_name: Gets the name of the corresponding resource in Kubernetes. + :vartype custom_resource_name: str + :ivar uuid: Gets or sets a unique identifier for this resource. + :vartype uuid: str + :ivar provisioning_state: Gets or sets the provisioning state. + :vartype provisioning_state: str + :ivar vm_id: Gets or sets a unique identifier for the vm resource. + :vartype vm_id: str + """ + + _validation = { + 'location': {'required': True}, + 'system_data': {'readonly': True}, + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, + 'mo_name': {'readonly': True}, + 'folder_path': {'readonly': True}, + 'instance_uuid': {'readonly': True}, + 'power_state': {'readonly': True}, + 'custom_resource_name': {'readonly': True}, + 'uuid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'vm_id': {'readonly': True}, + } + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'extended_location': {'key': 'extendedLocation', 'type': 'ExtendedLocation'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + 'resource_pool_id': {'key': 'properties.resourcePoolId', 'type': 'str'}, + 'template_id': {'key': 'properties.templateId', 'type': 'str'}, + 'v_center_id': {'key': 'properties.vCenterId', 'type': 'str'}, + 'os_profile': {'key': 'properties.osProfile', 'type': 'OsProfile'}, + 'hardware_profile': {'key': 'properties.hardwareProfile', 'type': 'HardwareProfile'}, + 'network_profile': {'key': 'properties.networkProfile', 'type': 'NetworkProfile'}, + 'storage_profile': {'key': 'properties.storageProfile', 'type': 'StorageProfile'}, + 'mo_ref_id': {'key': 'properties.moRefId', 'type': 'str'}, + 'inventory_item_id': {'key': 'properties.inventoryItemId', 'type': 'str'}, + 'mo_name': {'key': 'properties.moName', 'type': 'str'}, + 'folder_path': {'key': 'properties.folderPath', 'type': 'str'}, + 'instance_uuid': {'key': 'properties.instanceUuid', 'type': 'str'}, + 'power_state': {'key': 'properties.powerState', 'type': 'str'}, + 'custom_resource_name': {'key': 'properties.customResourceName', 'type': 'str'}, + 'uuid': {'key': 'properties.uuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'vm_id': {'key': 'properties.vmId', 'type': 'str'}, + } + + def __init__( + self, + *, + location: str, + extended_location: Optional["ExtendedLocation"] = None, + tags: Optional[Dict[str, str]] = None, + kind: Optional[str] = None, + identity: Optional["Identity"] = None, + resource_pool_id: Optional[str] = None, + template_id: Optional[str] = None, + v_center_id: Optional[str] = None, + os_profile: Optional["OsProfile"] = None, + hardware_profile: Optional["HardwareProfile"] = None, + network_profile: Optional["NetworkProfile"] = None, + storage_profile: Optional["StorageProfile"] = None, + mo_ref_id: Optional[str] = None, + inventory_item_id: Optional[str] = None, + **kwargs + ): + super(VirtualMachine, self).__init__(**kwargs) + self.location = location + self.extended_location = extended_location + self.system_data = None + self.tags = tags + self.name = None + self.id = None + self.type = None + self.kind = kind + self.identity = identity + self.resource_pool_id = resource_pool_id + self.template_id = template_id + self.v_center_id = v_center_id + self.os_profile = os_profile + self.hardware_profile = hardware_profile + self.network_profile = network_profile + self.storage_profile = storage_profile + self.mo_ref_id = mo_ref_id + self.inventory_item_id = inventory_item_id + self.mo_name = None + self.folder_path = None + self.instance_uuid = None + self.power_state = None + self.custom_resource_name = None + self.uuid = None + self.provisioning_state = None + self.vm_id = None + + +class VirtualMachineInventoryItem(InventoryItemProperties): + """The VM inventory item. + + 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 inventory_type: Required. They inventory type.Constant filled by server. Possible + values include: "ResourcePool", "VirtualMachine", "VirtualMachineTemplate", "VirtualNetwork". + :type inventory_type: str or ~azure_arc_vmware_management_service_api.models.InventoryType + :param managed_resource_id: Gets or sets the tracked resource id corresponding to the inventory + resource. + :type managed_resource_id: str + :param mo_ref_id: Gets or sets the MoRef (Managed Object Reference) ID for the inventory item. + :type mo_ref_id: str + :param mo_name: Gets or sets the vCenter Managed Object name for the inventory item. + :type mo_name: str + :ivar provisioning_state: Gets or sets the provisioning state. + :vartype provisioning_state: str + :ivar os_type: Gets or sets the type of the os. Possible values include: "Windows", "Linux", + "Other". + :vartype os_type: str or ~azure_arc_vmware_management_service_api.models.OsType + :param os_name: Gets or sets os name. + :type os_name: str + :param ip_addresses: Gets or sets the nic ip addresses. + :type ip_addresses: list[str] + :param folder_path: Gets or sets the folder path of the vm. + :type folder_path: str + :param host: Host inventory resource details. + :type host: ~azure_arc_vmware_management_service_api.models.InventoryItemDetails + :param resource_pool: ResourcePool inventory resource details. + :type resource_pool: ~azure_arc_vmware_management_service_api.models.InventoryItemDetails + :param instance_uuid: Gets or sets the instance uuid of the vm. + :type instance_uuid: str + """ + + _validation = { + 'inventory_type': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'os_type': {'readonly': True}, + } + + _attribute_map = { + 'inventory_type': {'key': 'inventoryType', 'type': 'str'}, + 'managed_resource_id': {'key': 'managedResourceId', 'type': 'str'}, + 'mo_ref_id': {'key': 'moRefId', 'type': 'str'}, + 'mo_name': {'key': 'moName', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'os_type': {'key': 'osType', 'type': 'str'}, + 'os_name': {'key': 'osName', 'type': 'str'}, + 'ip_addresses': {'key': 'ipAddresses', 'type': '[str]'}, + 'folder_path': {'key': 'folderPath', 'type': 'str'}, + 'host': {'key': 'host', 'type': 'InventoryItemDetails'}, + 'resource_pool': {'key': 'resourcePool', 'type': 'InventoryItemDetails'}, + 'instance_uuid': {'key': 'instanceUuid', 'type': 'str'}, + } + + def __init__( + self, + *, + managed_resource_id: Optional[str] = None, + mo_ref_id: Optional[str] = None, + mo_name: Optional[str] = None, + os_name: Optional[str] = None, + ip_addresses: Optional[List[str]] = None, + folder_path: Optional[str] = None, + host: Optional["InventoryItemDetails"] = None, + resource_pool: Optional["InventoryItemDetails"] = None, + instance_uuid: Optional[str] = None, + **kwargs + ): + super(VirtualMachineInventoryItem, self).__init__(managed_resource_id=managed_resource_id, mo_ref_id=mo_ref_id, mo_name=mo_name, **kwargs) + self.inventory_type = 'VirtualMachine' # type: str + self.os_type = None + self.os_name = os_name + self.ip_addresses = ip_addresses + self.folder_path = folder_path + self.host = host + self.resource_pool = resource_pool + self.instance_uuid = instance_uuid + + +class VirtualMachinesList(msrest.serialization.Model): + """List of VirtualMachines. + + All required parameters must be populated in order to send to Azure. + + :param next_link: Url to follow for getting next page of VirtualMachines. + :type next_link: str + :param value: Required. Array of VirtualMachines. + :type value: list[~azure_arc_vmware_management_service_api.models.VirtualMachine] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[VirtualMachine]'}, + } + + def __init__( + self, + *, + value: List["VirtualMachine"], + next_link: Optional[str] = None, + **kwargs + ): + super(VirtualMachinesList, self).__init__(**kwargs) + self.next_link = next_link + self.value = value + + +class VirtualMachineTemplate(msrest.serialization.Model): + """Define the virtualMachineTemplate. + + 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 location: Required. Gets or sets the location. + :type location: str + :param extended_location: Gets or sets the extended location. + :type extended_location: ~azure_arc_vmware_management_service_api.models.ExtendedLocation + :ivar system_data: The system data. + :vartype system_data: ~azure_arc_vmware_management_service_api.models.SystemData + :param tags: A set of tags. Gets or sets the Resource tags. + :type tags: dict[str, str] + :ivar name: Gets or sets the name. + :vartype name: str + :ivar id: Gets or sets the Id. + :vartype id: str + :ivar type: Gets or sets the type of the resource. + :vartype type: str + :param kind: Metadata used by portal/tooling/etc to render different UX experiences for + resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, + the resource provider must validate and persist this value. + :type kind: str + :ivar uuid: Gets or sets a unique identifier for this resource. + :vartype uuid: str + :param v_center_id: Gets or sets the ARM Id of the vCenter resource in which this template + resides. + :type v_center_id: str + :param mo_ref_id: Gets or sets the vCenter MoRef (Managed Object Reference) ID for the virtual + machine + template. + :type mo_ref_id: str + :param inventory_item_id: Gets or sets the inventory Item ID for the virtual machine template. + :type inventory_item_id: str + :ivar mo_name: Gets or sets the vCenter Managed Object name for the virtual machine template. + :vartype mo_name: str + :ivar memory_size_mb: Gets or sets memory size in MBs for the template. + :vartype memory_size_mb: int + :ivar num_cp_us: Gets or sets the number of vCPUs for the template. + :vartype num_cp_us: int + :ivar num_cores_per_socket: Gets or sets the number of cores per socket for the template. + Defaults to 1 if unspecified. + :vartype num_cores_per_socket: int + :ivar os_type: Gets or sets the type of the os. Possible values include: "Windows", "Linux", + "Other". + :vartype os_type: str or ~azure_arc_vmware_management_service_api.models.OsType + :ivar os_name: Gets or sets os name. + :vartype os_name: str + :ivar folder_path: Gets or sets the folder path of the template. + :vartype folder_path: str + :ivar network_interfaces: Gets or sets the network interfaces of the template. + :vartype network_interfaces: + list[~azure_arc_vmware_management_service_api.models.NetworkInterface] + :ivar disks: Gets or sets the disks the template. + :vartype disks: list[~azure_arc_vmware_management_service_api.models.VirtualDisk] + :ivar custom_resource_name: Gets the name of the corresponding resource in Kubernetes. + :vartype custom_resource_name: str + :ivar provisioning_state: Gets or sets the provisioning state. + :vartype provisioning_state: str + """ + + _validation = { + 'location': {'required': True}, + 'system_data': {'readonly': True}, + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, + 'uuid': {'readonly': True}, + 'mo_name': {'readonly': True}, + 'memory_size_mb': {'readonly': True}, + 'num_cp_us': {'readonly': True}, + 'num_cores_per_socket': {'readonly': True}, + 'os_type': {'readonly': True}, + 'os_name': {'readonly': True}, + 'folder_path': {'readonly': True}, + 'network_interfaces': {'readonly': True}, + 'disks': {'readonly': True}, + 'custom_resource_name': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'extended_location': {'key': 'extendedLocation', 'type': 'ExtendedLocation'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'uuid': {'key': 'properties.uuid', 'type': 'str'}, + 'v_center_id': {'key': 'properties.vCenterId', 'type': 'str'}, + 'mo_ref_id': {'key': 'properties.moRefId', 'type': 'str'}, + 'inventory_item_id': {'key': 'properties.inventoryItemId', 'type': 'str'}, + 'mo_name': {'key': 'properties.moName', 'type': 'str'}, + 'memory_size_mb': {'key': 'properties.memorySizeMB', 'type': 'int'}, + 'num_cp_us': {'key': 'properties.numCPUs', 'type': 'int'}, + 'num_cores_per_socket': {'key': 'properties.numCoresPerSocket', 'type': 'int'}, + 'os_type': {'key': 'properties.osType', 'type': 'str'}, + 'os_name': {'key': 'properties.osName', 'type': 'str'}, + 'folder_path': {'key': 'properties.folderPath', 'type': 'str'}, + 'network_interfaces': {'key': 'properties.networkInterfaces', 'type': '[NetworkInterface]'}, + 'disks': {'key': 'properties.disks', 'type': '[VirtualDisk]'}, + 'custom_resource_name': {'key': 'properties.customResourceName', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__( + self, + *, + location: str, + extended_location: Optional["ExtendedLocation"] = None, + tags: Optional[Dict[str, str]] = None, + kind: Optional[str] = None, + v_center_id: Optional[str] = None, + mo_ref_id: Optional[str] = None, + inventory_item_id: Optional[str] = None, + **kwargs + ): + super(VirtualMachineTemplate, self).__init__(**kwargs) + self.location = location + self.extended_location = extended_location + self.system_data = None + self.tags = tags + self.name = None + self.id = None + self.type = None + self.kind = kind + self.uuid = None + self.v_center_id = v_center_id + self.mo_ref_id = mo_ref_id + self.inventory_item_id = inventory_item_id + self.mo_name = None + self.memory_size_mb = None + self.num_cp_us = None + self.num_cores_per_socket = None + self.os_type = None + self.os_name = None + self.folder_path = None + self.network_interfaces = None + self.disks = None + self.custom_resource_name = None + self.provisioning_state = None + + +class VirtualMachineTemplateInventoryItem(InventoryItemProperties): + """The VM Template inventory item. + + 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 inventory_type: Required. They inventory type.Constant filled by server. Possible + values include: "ResourcePool", "VirtualMachine", "VirtualMachineTemplate", "VirtualNetwork". + :type inventory_type: str or ~azure_arc_vmware_management_service_api.models.InventoryType + :param managed_resource_id: Gets or sets the tracked resource id corresponding to the inventory + resource. + :type managed_resource_id: str + :param mo_ref_id: Gets or sets the MoRef (Managed Object Reference) ID for the inventory item. + :type mo_ref_id: str + :param mo_name: Gets or sets the vCenter Managed Object name for the inventory item. + :type mo_name: str + :ivar provisioning_state: Gets or sets the provisioning state. + :vartype provisioning_state: str + :param memory_size_mb: Gets or sets memory size in MBs for the template. + :type memory_size_mb: int + :param num_cp_us: Gets or sets the number of vCPUs for the template. + :type num_cp_us: int + :param num_cores_per_socket: Gets or sets the number of cores per socket for the template. + Defaults to 1 if unspecified. + :type num_cores_per_socket: int + :ivar os_type: Gets or sets the type of the os. Possible values include: "Windows", "Linux", + "Other". + :vartype os_type: str or ~azure_arc_vmware_management_service_api.models.OsType + :param os_name: Gets or sets os name. + :type os_name: str + :param folder_path: Gets or sets the folder path of the template. + :type folder_path: str + """ + + _validation = { + 'inventory_type': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'os_type': {'readonly': True}, + } + + _attribute_map = { + 'inventory_type': {'key': 'inventoryType', 'type': 'str'}, + 'managed_resource_id': {'key': 'managedResourceId', 'type': 'str'}, + 'mo_ref_id': {'key': 'moRefId', 'type': 'str'}, + 'mo_name': {'key': 'moName', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'memory_size_mb': {'key': 'memorySizeMB', 'type': 'int'}, + 'num_cp_us': {'key': 'numCPUs', 'type': 'int'}, + 'num_cores_per_socket': {'key': 'numCoresPerSocket', 'type': 'int'}, + 'os_type': {'key': 'osType', 'type': 'str'}, + 'os_name': {'key': 'osName', 'type': 'str'}, + 'folder_path': {'key': 'folderPath', 'type': 'str'}, + } + + def __init__( + self, + *, + managed_resource_id: Optional[str] = None, + mo_ref_id: Optional[str] = None, + mo_name: Optional[str] = None, + memory_size_mb: Optional[int] = None, + num_cp_us: Optional[int] = None, + num_cores_per_socket: Optional[int] = None, + os_name: Optional[str] = None, + folder_path: Optional[str] = None, + **kwargs + ): + super(VirtualMachineTemplateInventoryItem, self).__init__(managed_resource_id=managed_resource_id, mo_ref_id=mo_ref_id, mo_name=mo_name, **kwargs) + self.inventory_type = 'VirtualMachineTemplate' # type: str + self.memory_size_mb = memory_size_mb + self.num_cp_us = num_cp_us + self.num_cores_per_socket = num_cores_per_socket + self.os_type = None + self.os_name = os_name + self.folder_path = folder_path + + +class VirtualMachineTemplatesList(msrest.serialization.Model): + """List of VirtualMachineTemplates. + + All required parameters must be populated in order to send to Azure. + + :param next_link: Url to follow for getting next page of VirtualMachineTemplates. + :type next_link: str + :param value: Required. Array of VirtualMachineTemplates. + :type value: list[~azure_arc_vmware_management_service_api.models.VirtualMachineTemplate] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[VirtualMachineTemplate]'}, + } + + def __init__( + self, + *, + value: List["VirtualMachineTemplate"], + next_link: Optional[str] = None, + **kwargs + ): + super(VirtualMachineTemplatesList, self).__init__(**kwargs) + self.next_link = next_link + self.value = value + + +class VirtualMachineUpdate(msrest.serialization.Model): + """Defines the virtualMachineUpdate. + + :param tags: A set of tags. Gets or sets the Resource tags. + :type tags: dict[str, str] + :param identity: The identity of the resource. + :type identity: ~azure_arc_vmware_management_service_api.models.Identity + :param hardware_profile: Defines the resource properties. + :type hardware_profile: ~azure_arc_vmware_management_service_api.models.HardwareProfile + :param storage_profile: Defines the resource update properties. + :type storage_profile: ~azure_arc_vmware_management_service_api.models.StorageProfileUpdate + :param network_profile: Defines the update resource properties. + :type network_profile: ~azure_arc_vmware_management_service_api.models.NetworkProfileUpdate + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + 'identity': {'key': 'identity', 'type': 'Identity'}, + 'hardware_profile': {'key': 'properties.hardwareProfile', 'type': 'HardwareProfile'}, + 'storage_profile': {'key': 'properties.storageProfile', 'type': 'StorageProfileUpdate'}, + 'network_profile': {'key': 'properties.networkProfile', 'type': 'NetworkProfileUpdate'}, + } + + def __init__( + self, + *, + tags: Optional[Dict[str, str]] = None, + identity: Optional["Identity"] = None, + hardware_profile: Optional["HardwareProfile"] = None, + storage_profile: Optional["StorageProfileUpdate"] = None, + network_profile: Optional["NetworkProfileUpdate"] = None, + **kwargs + ): + super(VirtualMachineUpdate, self).__init__(**kwargs) + self.tags = tags + self.identity = identity + self.hardware_profile = hardware_profile + self.storage_profile = storage_profile + self.network_profile = network_profile + + +class VirtualNetwork(msrest.serialization.Model): + """Define the virtualNetwork. + + 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 location: Required. Gets or sets the location. + :type location: str + :param extended_location: Gets or sets the extended location. + :type extended_location: ~azure_arc_vmware_management_service_api.models.ExtendedLocation + :ivar system_data: The system data. + :vartype system_data: ~azure_arc_vmware_management_service_api.models.SystemData + :param tags: A set of tags. Gets or sets the Resource tags. + :type tags: dict[str, str] + :ivar name: Gets or sets the name. + :vartype name: str + :ivar id: Gets or sets the Id. + :vartype id: str + :ivar type: Gets or sets the type of the resource. + :vartype type: str + :param kind: Metadata used by portal/tooling/etc to render different UX experiences for + resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, + the resource provider must validate and persist this value. + :type kind: str + :ivar uuid: Gets or sets a unique identifier for this resource. + :vartype uuid: str + :param v_center_id: Gets or sets the ARM Id of the vCenter resource in which this template + resides. + :type v_center_id: str + :param mo_ref_id: Gets or sets the vCenter MoRef (Managed Object Reference) ID for the virtual + network. + :type mo_ref_id: str + :param inventory_item_id: Gets or sets the inventory Item ID for the virtual network. + :type inventory_item_id: str + :ivar mo_name: Gets or sets the vCenter Managed Object name for the virtual network. + :vartype mo_name: str + :ivar custom_resource_name: Gets the name of the corresponding resource in Kubernetes. + :vartype custom_resource_name: str + :ivar provisioning_state: Gets or sets the provisioning state. + :vartype provisioning_state: str + """ + + _validation = { + 'location': {'required': True}, + 'system_data': {'readonly': True}, + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, + 'uuid': {'readonly': True}, + 'mo_name': {'readonly': True}, + 'custom_resource_name': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'extended_location': {'key': 'extendedLocation', 'type': 'ExtendedLocation'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'uuid': {'key': 'properties.uuid', 'type': 'str'}, + 'v_center_id': {'key': 'properties.vCenterId', 'type': 'str'}, + 'mo_ref_id': {'key': 'properties.moRefId', 'type': 'str'}, + 'inventory_item_id': {'key': 'properties.inventoryItemId', 'type': 'str'}, + 'mo_name': {'key': 'properties.moName', 'type': 'str'}, + 'custom_resource_name': {'key': 'properties.customResourceName', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__( + self, + *, + location: str, + extended_location: Optional["ExtendedLocation"] = None, + tags: Optional[Dict[str, str]] = None, + kind: Optional[str] = None, + v_center_id: Optional[str] = None, + mo_ref_id: Optional[str] = None, + inventory_item_id: Optional[str] = None, + **kwargs + ): + super(VirtualNetwork, self).__init__(**kwargs) + self.location = location + self.extended_location = extended_location + self.system_data = None + self.tags = tags + self.name = None + self.id = None + self.type = None + self.kind = kind + self.uuid = None + self.v_center_id = v_center_id + self.mo_ref_id = mo_ref_id + self.inventory_item_id = inventory_item_id + self.mo_name = None + self.custom_resource_name = None + self.provisioning_state = None + + +class VirtualNetworkInventoryItem(InventoryItemProperties): + """The Virtual network inventory item. + + 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 inventory_type: Required. They inventory type.Constant filled by server. Possible + values include: "ResourcePool", "VirtualMachine", "VirtualMachineTemplate", "VirtualNetwork". + :type inventory_type: str or ~azure_arc_vmware_management_service_api.models.InventoryType + :param managed_resource_id: Gets or sets the tracked resource id corresponding to the inventory + resource. + :type managed_resource_id: str + :param mo_ref_id: Gets or sets the MoRef (Managed Object Reference) ID for the inventory item. + :type mo_ref_id: str + :param mo_name: Gets or sets the vCenter Managed Object name for the inventory item. + :type mo_name: str + :ivar provisioning_state: Gets or sets the provisioning state. + :vartype provisioning_state: str + """ + + _validation = { + 'inventory_type': {'required': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'inventory_type': {'key': 'inventoryType', 'type': 'str'}, + 'managed_resource_id': {'key': 'managedResourceId', 'type': 'str'}, + 'mo_ref_id': {'key': 'moRefId', 'type': 'str'}, + 'mo_name': {'key': 'moName', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + } + + def __init__( + self, + *, + managed_resource_id: Optional[str] = None, + mo_ref_id: Optional[str] = None, + mo_name: Optional[str] = None, + **kwargs + ): + super(VirtualNetworkInventoryItem, self).__init__(managed_resource_id=managed_resource_id, mo_ref_id=mo_ref_id, mo_name=mo_name, **kwargs) + self.inventory_type = 'VirtualNetwork' # type: str + + +class VirtualNetworksList(msrest.serialization.Model): + """List of VirtualNetworks. + + All required parameters must be populated in order to send to Azure. + + :param next_link: Url to follow for getting next page of VirtualNetworks. + :type next_link: str + :param value: Required. Array of VirtualNetworks. + :type value: list[~azure_arc_vmware_management_service_api.models.VirtualNetwork] + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'value': {'key': 'value', 'type': '[VirtualNetwork]'}, + } + + def __init__( + self, + *, + value: List["VirtualNetwork"], + next_link: Optional[str] = None, + **kwargs + ): + super(VirtualNetworksList, self).__init__(**kwargs) + self.next_link = next_link + self.value = value + + +class VirtualSCSIController(msrest.serialization.Model): + """This data object type contains the properties of a SCSI controller device attached to a virtual machine that is reported by the controller. + + :param type: Gets or sets the controller type. Possible values include: "lsilogic", "buslogic", + "pvscsi", "lsilogicsas". + :type type: str or ~azure_arc_vmware_management_service_api.models.SCSIControllerType + :param controller_key: Gets or sets the key of the controller. + :type controller_key: int + :param bus_number: Gets or sets the bus number of the controller. + :type bus_number: int + :param scsi_ctlr_unit_number: Gets or sets the SCSI controller unit number. + :type scsi_ctlr_unit_number: int + :param sharing: Gets or sets the sharing mode. Possible values include: "noSharing", + "physicalSharing", "virtualSharing". + :type sharing: str or ~azure_arc_vmware_management_service_api.models.VirtualSCSISharing + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'controller_key': {'key': 'controllerKey', 'type': 'int'}, + 'bus_number': {'key': 'busNumber', 'type': 'int'}, + 'scsi_ctlr_unit_number': {'key': 'scsiCtlrUnitNumber', 'type': 'int'}, + 'sharing': {'key': 'sharing', 'type': 'str'}, + } + + def __init__( + self, + *, + type: Optional[Union[str, "SCSIControllerType"]] = None, + controller_key: Optional[int] = None, + bus_number: Optional[int] = None, + scsi_ctlr_unit_number: Optional[int] = None, + sharing: Optional[Union[str, "VirtualSCSISharing"]] = None, + **kwargs + ): + super(VirtualSCSIController, self).__init__(**kwargs) + self.type = type + self.controller_key = controller_key + self.bus_number = bus_number + self.scsi_ctlr_unit_number = scsi_ctlr_unit_number + self.sharing = sharing diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/azure_arc_vmware_management_service_api_enums.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/azure_arc_vmware_management_service_api_enums.py new file mode 100644 index 00000000000..3c2ad959410 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/azure_arc_vmware_management_service_api_enums.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 enum import Enum + + +class CreatedByType(str, Enum): + + user = "User" + application = "Application" + managed_identity = "ManagedIdentity" + key = "Key" + + +class DiskMode(str, Enum): + + persistent = "persistent" + independent_persistent = "independent_persistent" + independent_nonpersistent = "independent_nonpersistent" + + +class OsType(str, Enum): + + windows = "Windows" + linux = "Linux" + other = "Other" + + +class NICType(str, Enum): + + vmxnet3 = "vmxnet3" + vmxnet2 = "vmxnet2" + vmxnet = "vmxnet" + e1000 = "e1000" + e1000e = "e1000e" + pcnet32 = "pcnet32" + + +class PowerOnBootOption(str, Enum): + + enabled = "enabled" + disabled = "disabled" + + +class IPAddressAllocationMethod(str, Enum): + + unset = "unset" + dynamic = "dynamic" + static = "static" + linklayer = "linklayer" + random = "random" + other = "other" + + +class SCSIControllerType(str, Enum): + + lsilogic = "lsilogic" + buslogic = "buslogic" + pvscsi = "pvscsi" + lsilogicsas = "lsilogicsas" + + +class VirtualSCSISharing(str, Enum): + + no_sharing = "noSharing" + physical_sharing = "physicalSharing" + virtual_sharing = "virtualSharing" + + +class InventoryType(str, Enum): + + resource_pool = "ResourcePool" + virtual_machine = "VirtualMachine" + virtual_machine_template = "VirtualMachineTemplate" + virtual_network = "VirtualNetwork" diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/azure_entity_resource.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/azure_entity_resource.py new file mode 100644 index 00000000000..4c573d97a1e --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/azure_entity_resource.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 import Resource + + +class AzureEntityResource(Resource): + """The resource model definition for an 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. E.g. + "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): + super(AzureEntityResource, self).__init__(**kwargs) + self.etag = None diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/azure_entity_resource_py3.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/azure_entity_resource_py3.py new file mode 100644 index 00000000000..8c49aaf60d8 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/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 an 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. E.g. + "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/connectedvmware/azext_connectedvmware/vendored_sdks/models/condition.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/condition.py new file mode 100644 index 00000000000..4da8ab5adbf --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/condition.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 Condition(Model): + """Condition defines an extension to status. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar status: Status of the condition. + :vartype status: str + :ivar reason: The reason for the condition's status. + :vartype reason: str + :ivar message: A human readable message indicating details about the + status. + :vartype message: str + :ivar severity: Severity with which to treat failures of this type of + condition. + :vartype severity: str + """ + + _validation = { + 'status': {'readonly': True}, + 'reason': {'readonly': True}, + 'message': {'readonly': True}, + 'severity': {'readonly': True}, + } + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'reason': {'key': 'reason', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'severity': {'key': 'severity', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Condition, self).__init__(**kwargs) + self.status = None + self.reason = None + self.message = None + self.severity = None diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/condition_py3.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/condition_py3.py new file mode 100644 index 00000000000..59bca746453 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/condition_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 Condition(Model): + """Condition defines an extension to status. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar status: Status of the condition. + :vartype status: str + :ivar reason: The reason for the condition's status. + :vartype reason: str + :ivar message: A human readable message indicating details about the + status. + :vartype message: str + :ivar severity: Severity with which to treat failures of this type of + condition. + :vartype severity: str + """ + + _validation = { + 'status': {'readonly': True}, + 'reason': {'readonly': True}, + 'message': {'readonly': True}, + 'severity': {'readonly': True}, + } + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'reason': {'key': 'reason', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'severity': {'key': 'severity', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(Condition, self).__init__(**kwargs) + self.status = None + self.reason = None + self.message = None + self.severity = None diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/error_definition.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/error_definition.py new file mode 100644 index 00000000000..65fbed2b097 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/error_definition.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 ErrorDefinition(Model): + """Error definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar code: Service specific error code which serves as the substatus for + the HTTP error code. + :vartype code: str + :ivar message: Description of the error. + :vartype message: str + :ivar details: Internal error details. + :vartype details: + list[~azure.mgmt.vmware.v2020_10_01_preview.models.ErrorDefinition] + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + 'details': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ErrorDefinition]'}, + } + + def __init__(self, **kwargs): + super(ErrorDefinition, self).__init__(**kwargs) + self.code = None + self.message = None + self.details = None diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/error_definition_py3.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/error_definition_py3.py new file mode 100644 index 00000000000..0f54fe27ba1 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/error_definition_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 ErrorDefinition(Model): + """Error definition. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar code: Service specific error code which serves as the substatus for + the HTTP error code. + :vartype code: str + :ivar message: Description of the error. + :vartype message: str + :ivar details: Internal error details. + :vartype details: + list[~azure.mgmt.vmware.v2020_10_01_preview.models.ErrorDefinition] + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + 'details': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ErrorDefinition]'}, + } + + def __init__(self, **kwargs) -> None: + super(ErrorDefinition, self).__init__(**kwargs) + self.code = None + self.message = None + self.details = None diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/error_response.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/error_response.py new file mode 100644 index 00000000000..5e69d01482d --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/error_response.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 ErrorResponse(Model): + """Error response. + + :param error: The error details. + :type error: ~azure.mgmt.vmware.v2020_10_01_preview.models.ErrorDefinition + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorDefinition'}, + } + + def __init__(self, **kwargs): + super(ErrorResponse, self).__init__(**kwargs) + self.error = kwargs.get('error', None) + + +class ErrorResponseException(HttpOperationError): + """Server responsed with exception of type: 'ErrorResponse'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(ErrorResponseException, self).__init__(deserialize, response, 'ErrorResponse', *args) diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/error_response_py3.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/error_response_py3.py new file mode 100644 index 00000000000..a4b40875b6e --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/error_response_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 +from msrest.exceptions import HttpOperationError + + +class ErrorResponse(Model): + """Error response. + + :param error: The error details. + :type error: ~azure.mgmt.vmware.v2020_10_01_preview.models.ErrorDefinition + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorDefinition'}, + } + + def __init__(self, *, error=None, **kwargs) -> None: + super(ErrorResponse, self).__init__(**kwargs) + self.error = error + + +class ErrorResponseException(HttpOperationError): + """Server responsed with exception of type: 'ErrorResponse'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(ErrorResponseException, self).__init__(deserialize, response, 'ErrorResponse', *args) diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/extended_location.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/extended_location.py new file mode 100644 index 00000000000..23481757753 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/extended_location.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 ExtendedLocation(Model): + """The extended location. + + :param type: The extended location type. + :type type: str + :param name: The extended location name. + :type name: str + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExtendedLocation, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + self.name = kwargs.get('name', None) diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/extended_location_py3.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/extended_location_py3.py new file mode 100644 index 00000000000..1a714156b2a --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/extended_location_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 ExtendedLocation(Model): + """The extended location. + + :param type: The extended location type. + :type type: str + :param name: The extended location name. + :type name: str + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, *, type: str=None, name: str=None, **kwargs) -> None: + super(ExtendedLocation, self).__init__(**kwargs) + self.type = type + self.name = name diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/hardware_profile.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/hardware_profile.py new file mode 100644 index 00000000000..ee37336986a --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/hardware_profile.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 HardwareProfile(Model): + """Defines the resource properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param memory_size_mb: Gets or sets memory size in MBs for the vm. + :type memory_size_mb: int + :param num_cp_us: Gets or sets the number of vCPUs for the vm. + :type num_cp_us: int + :param num_cores_per_socket: Gets or sets the number of cores per socket + for the vm. Defaults to 1 if unspecified. + :type num_cores_per_socket: int + :ivar cpu_hot_add_enabled: Gets or sets a value indicating whether virtual + processors can be added while this virtual machine is running. + :vartype cpu_hot_add_enabled: bool + :ivar cpu_hot_remove_enabled: Gets or sets a value indicating whether + virtual processors can be removed while this virtual machine is running. + :vartype cpu_hot_remove_enabled: bool + :ivar memory_hot_add_enabled: Gets or sets a value indicating whether + memory can be added while this virtual machine is running. + :vartype memory_hot_add_enabled: bool + """ + + _validation = { + 'cpu_hot_add_enabled': {'readonly': True}, + 'cpu_hot_remove_enabled': {'readonly': True}, + 'memory_hot_add_enabled': {'readonly': True}, + } + + _attribute_map = { + 'memory_size_mb': {'key': 'memorySizeMB', 'type': 'int'}, + 'num_cp_us': {'key': 'numCPUs', 'type': 'int'}, + 'num_cores_per_socket': {'key': 'numCoresPerSocket', 'type': 'int'}, + 'cpu_hot_add_enabled': {'key': 'cpuHotAddEnabled', 'type': 'bool'}, + 'cpu_hot_remove_enabled': {'key': 'cpuHotRemoveEnabled', 'type': 'bool'}, + 'memory_hot_add_enabled': {'key': 'memoryHotAddEnabled', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(HardwareProfile, self).__init__(**kwargs) + self.memory_size_mb = kwargs.get('memory_size_mb', None) + self.num_cp_us = kwargs.get('num_cp_us', None) + self.num_cores_per_socket = kwargs.get('num_cores_per_socket', None) + self.cpu_hot_add_enabled = None + self.cpu_hot_remove_enabled = None + self.memory_hot_add_enabled = None diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/hardware_profile_py3.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/hardware_profile_py3.py new file mode 100644 index 00000000000..c276b221a90 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/hardware_profile_py3.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 HardwareProfile(Model): + """Defines the resource properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param memory_size_mb: Gets or sets memory size in MBs for the vm. + :type memory_size_mb: int + :param num_cp_us: Gets or sets the number of vCPUs for the vm. + :type num_cp_us: int + :param num_cores_per_socket: Gets or sets the number of cores per socket + for the vm. Defaults to 1 if unspecified. + :type num_cores_per_socket: int + :ivar cpu_hot_add_enabled: Gets or sets a value indicating whether virtual + processors can be added while this virtual machine is running. + :vartype cpu_hot_add_enabled: bool + :ivar cpu_hot_remove_enabled: Gets or sets a value indicating whether + virtual processors can be removed while this virtual machine is running. + :vartype cpu_hot_remove_enabled: bool + :ivar memory_hot_add_enabled: Gets or sets a value indicating whether + memory can be added while this virtual machine is running. + :vartype memory_hot_add_enabled: bool + """ + + _validation = { + 'cpu_hot_add_enabled': {'readonly': True}, + 'cpu_hot_remove_enabled': {'readonly': True}, + 'memory_hot_add_enabled': {'readonly': True}, + } + + _attribute_map = { + 'memory_size_mb': {'key': 'memorySizeMB', 'type': 'int'}, + 'num_cp_us': {'key': 'numCPUs', 'type': 'int'}, + 'num_cores_per_socket': {'key': 'numCoresPerSocket', 'type': 'int'}, + 'cpu_hot_add_enabled': {'key': 'cpuHotAddEnabled', 'type': 'bool'}, + 'cpu_hot_remove_enabled': {'key': 'cpuHotRemoveEnabled', 'type': 'bool'}, + 'memory_hot_add_enabled': {'key': 'memoryHotAddEnabled', 'type': 'bool'}, + } + + def __init__(self, *, memory_size_mb: int=None, num_cp_us: int=None, num_cores_per_socket: int=None, **kwargs) -> None: + super(HardwareProfile, self).__init__(**kwargs) + self.memory_size_mb = memory_size_mb + self.num_cp_us = num_cp_us + self.num_cores_per_socket = num_cores_per_socket + self.cpu_hot_add_enabled = None + self.cpu_hot_remove_enabled = None + self.memory_hot_add_enabled = None diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/inventory_item.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/inventory_item.py new file mode 100644 index 00000000000..019a1d72efc --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/inventory_item.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 .proxy_resource import ProxyResource + + +class InventoryItem(ProxyResource): + """Defines the inventory item. + + 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. E.g. + "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + :vartype type: str + :param managed_resource_id: Gets or sets the tracked resource id + corresponding to the inventory resource. + :type managed_resource_id: str + :param mo_ref_id: Gets or sets the MoRef (Managed Object Reference) ID for + the inventory item. + :type mo_ref_id: str + :param mo_name: Gets or sets the vCenter Managed Object name for the + inventory item. + :type mo_name: str + :ivar provisioning_state: Gets or sets the provisioning state. + :vartype provisioning_state: str + :param system_data: The system data. + :type system_data: + ~azure.mgmt.vmware.v2020_10_01_preview.models.SystemData + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'managed_resource_id': {'key': 'properties.managedResourceId', 'type': 'str'}, + 'mo_ref_id': {'key': 'properties.moRefId', 'type': 'str'}, + 'mo_name': {'key': 'properties.moName', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + } + + def __init__(self, **kwargs): + super(InventoryItem, self).__init__(**kwargs) + self.managed_resource_id = kwargs.get('managed_resource_id', None) + self.mo_ref_id = kwargs.get('mo_ref_id', None) + self.mo_name = kwargs.get('mo_name', None) + self.provisioning_state = None + self.system_data = kwargs.get('system_data', None) diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/inventory_item_paged.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/inventory_item_paged.py new file mode 100644 index 00000000000..b6a52a2a5f9 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/inventory_item_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 InventoryItemPaged(Paged): + """ + A paging container for iterating over a list of :class:`InventoryItem ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[InventoryItem]'} + } + + def __init__(self, *args, **kwargs): + + super(InventoryItemPaged, self).__init__(*args, **kwargs) diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/inventory_item_properties.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/inventory_item_properties.py new file mode 100644 index 00000000000..2ceb9cd822f --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/inventory_item_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 msrest.serialization import Model + + +class InventoryItemProperties(Model): + """Defines the resource properties. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: ResourcePoolInventoryItem, VirtualMachineInventoryItem, + VirtualMachineTemplateInventoryItem, VirtualNetworkInventoryItem + + 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 managed_resource_id: Gets or sets the tracked resource id + corresponding to the inventory resource. + :type managed_resource_id: str + :param mo_ref_id: Gets or sets the MoRef (Managed Object Reference) ID for + the inventory item. + :type mo_ref_id: str + :param mo_name: Gets or sets the vCenter Managed Object name for the + inventory item. + :type mo_name: str + :ivar provisioning_state: Gets or sets the provisioning state. + :vartype provisioning_state: str + :param inventory_type: Required. Constant filled by server. + :type inventory_type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'inventory_type': {'required': True}, + } + + _attribute_map = { + 'managed_resource_id': {'key': 'managedResourceId', 'type': 'str'}, + 'mo_ref_id': {'key': 'moRefId', 'type': 'str'}, + 'mo_name': {'key': 'moName', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'inventory_type': {'key': 'inventoryType', 'type': 'str'}, + } + + _subtype_map = { + 'inventory_type': {'ResourcePool': 'ResourcePoolInventoryItem', 'VirtualMachine': 'VirtualMachineInventoryItem', 'VirtualMachineTemplate': 'VirtualMachineTemplateInventoryItem', 'VirtualNetwork': 'VirtualNetworkInventoryItem'} + } + + def __init__(self, **kwargs): + super(InventoryItemProperties, self).__init__(**kwargs) + self.managed_resource_id = kwargs.get('managed_resource_id', None) + self.mo_ref_id = kwargs.get('mo_ref_id', None) + self.mo_name = kwargs.get('mo_name', None) + self.provisioning_state = None + self.inventory_type = None diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/inventory_item_properties_py3.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/inventory_item_properties_py3.py new file mode 100644 index 00000000000..8d95d5c76ef --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/inventory_item_properties_py3.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 msrest.serialization import Model + + +class InventoryItemProperties(Model): + """Defines the resource properties. + + You probably want to use the sub-classes and not this class directly. Known + sub-classes are: ResourcePoolInventoryItem, VirtualMachineInventoryItem, + VirtualMachineTemplateInventoryItem, VirtualNetworkInventoryItem + + 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 managed_resource_id: Gets or sets the tracked resource id + corresponding to the inventory resource. + :type managed_resource_id: str + :param mo_ref_id: Gets or sets the MoRef (Managed Object Reference) ID for + the inventory item. + :type mo_ref_id: str + :param mo_name: Gets or sets the vCenter Managed Object name for the + inventory item. + :type mo_name: str + :ivar provisioning_state: Gets or sets the provisioning state. + :vartype provisioning_state: str + :param inventory_type: Required. Constant filled by server. + :type inventory_type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'inventory_type': {'required': True}, + } + + _attribute_map = { + 'managed_resource_id': {'key': 'managedResourceId', 'type': 'str'}, + 'mo_ref_id': {'key': 'moRefId', 'type': 'str'}, + 'mo_name': {'key': 'moName', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'inventory_type': {'key': 'inventoryType', 'type': 'str'}, + } + + _subtype_map = { + 'inventory_type': {'ResourcePool': 'ResourcePoolInventoryItem', 'VirtualMachine': 'VirtualMachineInventoryItem', 'VirtualMachineTemplate': 'VirtualMachineTemplateInventoryItem', 'VirtualNetwork': 'VirtualNetworkInventoryItem'} + } + + def __init__(self, *, managed_resource_id: str=None, mo_ref_id: str=None, mo_name: str=None, **kwargs) -> None: + super(InventoryItemProperties, self).__init__(**kwargs) + self.managed_resource_id = managed_resource_id + self.mo_ref_id = mo_ref_id + self.mo_name = mo_name + self.provisioning_state = None + self.inventory_type = None diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/inventory_item_py3.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/inventory_item_py3.py new file mode 100644 index 00000000000..efd4ae0f4cd --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/inventory_item_py3.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 .proxy_resource_py3 import ProxyResource + + +class InventoryItem(ProxyResource): + """Defines the inventory item. + + 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. E.g. + "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + :vartype type: str + :param managed_resource_id: Gets or sets the tracked resource id + corresponding to the inventory resource. + :type managed_resource_id: str + :param mo_ref_id: Gets or sets the MoRef (Managed Object Reference) ID for + the inventory item. + :type mo_ref_id: str + :param mo_name: Gets or sets the vCenter Managed Object name for the + inventory item. + :type mo_name: str + :ivar provisioning_state: Gets or sets the provisioning state. + :vartype provisioning_state: str + :param system_data: The system data. + :type system_data: + ~azure.mgmt.vmware.v2020_10_01_preview.models.SystemData + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'managed_resource_id': {'key': 'properties.managedResourceId', 'type': 'str'}, + 'mo_ref_id': {'key': 'properties.moRefId', 'type': 'str'}, + 'mo_name': {'key': 'properties.moName', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + } + + def __init__(self, *, managed_resource_id: str=None, mo_ref_id: str=None, mo_name: str=None, system_data=None, **kwargs) -> None: + super(InventoryItem, self).__init__(**kwargs) + self.managed_resource_id = managed_resource_id + self.mo_ref_id = mo_ref_id + self.mo_name = mo_name + self.provisioning_state = None + self.system_data = system_data diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/network_interface.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/network_interface.py new file mode 100644 index 00000000000..1a0af23287b --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/network_interface.py @@ -0,0 +1,89 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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 NetworkInterface(Model): + """Network Interface model. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param name: Gets or sets the name of the network interface. + :type name: str + :ivar label: Gets or sets the label of the virtual network in vCenter that + the nic is connected to. + :vartype label: str + :ivar ip_addresses: Gets or sets the nic ip addresses. + :vartype ip_addresses: list[str] + :ivar mac_address: Gets or sets the NIC MAC address. + :vartype mac_address: str + :param network_id: Gets or sets the ARM Id of the network resource to + connect the virtual machine. + :type network_id: str + :param nic_type: NIC type. Possible values include: 'vmxnet3', 'vmxnet2', + 'vmxnet', 'e1000', 'e1000e', 'pcnet32' + :type nic_type: str or + ~azure.mgmt.vmware.v2020_10_01_preview.models.NICType + :param power_on_boot: Gets or sets the power on boot. Possible values + include: 'enabled', 'disabled' + :type power_on_boot: str or + ~azure.mgmt.vmware.v2020_10_01_preview.models.PowerOnBootOption + :ivar network_mo_ref_id: Gets or sets the vCenter MoRef (Managed Object + Reference) ID of the virtual network + that the nic is connected to. + :vartype network_mo_ref_id: str + :ivar network_mo_name: Gets or sets the name of the virtual network in + vCenter that the nic is connected to. + :vartype network_mo_name: str + :param device_key: Gets or sets the device key value. + :type device_key: int + :param ip_settings: Gets or sets the ipsettings. + :type ip_settings: + ~azure.mgmt.vmware.v2020_10_01_preview.models.NicIPSettings + """ + + _validation = { + 'label': {'readonly': True}, + 'ip_addresses': {'readonly': True}, + 'mac_address': {'readonly': True}, + 'network_mo_ref_id': {'readonly': True}, + 'network_mo_name': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'label': {'key': 'label', 'type': 'str'}, + 'ip_addresses': {'key': 'ipAddresses', 'type': '[str]'}, + 'mac_address': {'key': 'macAddress', 'type': 'str'}, + 'network_id': {'key': 'networkId', 'type': 'str'}, + 'nic_type': {'key': 'nicType', 'type': 'str'}, + 'power_on_boot': {'key': 'powerOnBoot', 'type': 'str'}, + 'network_mo_ref_id': {'key': 'networkMoRefId', 'type': 'str'}, + 'network_mo_name': {'key': 'networkMoName', 'type': 'str'}, + 'device_key': {'key': 'deviceKey', 'type': 'int'}, + 'ip_settings': {'key': 'ipSettings', 'type': 'NicIPSettings'}, + } + + def __init__(self, **kwargs): + super(NetworkInterface, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.label = None + self.ip_addresses = None + self.mac_address = None + self.network_id = kwargs.get('network_id', None) + self.nic_type = kwargs.get('nic_type', None) + self.power_on_boot = kwargs.get('power_on_boot', None) + self.network_mo_ref_id = None + self.network_mo_name = None + self.device_key = kwargs.get('device_key', None) + self.ip_settings = kwargs.get('ip_settings', None) diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/network_interface_py3.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/network_interface_py3.py new file mode 100644 index 00000000000..edd1c972720 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/network_interface_py3.py @@ -0,0 +1,89 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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 NetworkInterface(Model): + """Network Interface model. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param name: Gets or sets the name of the network interface. + :type name: str + :ivar label: Gets or sets the label of the virtual network in vCenter that + the nic is connected to. + :vartype label: str + :ivar ip_addresses: Gets or sets the nic ip addresses. + :vartype ip_addresses: list[str] + :ivar mac_address: Gets or sets the NIC MAC address. + :vartype mac_address: str + :param network_id: Gets or sets the ARM Id of the network resource to + connect the virtual machine. + :type network_id: str + :param nic_type: NIC type. Possible values include: 'vmxnet3', 'vmxnet2', + 'vmxnet', 'e1000', 'e1000e', 'pcnet32' + :type nic_type: str or + ~azure.mgmt.vmware.v2020_10_01_preview.models.NICType + :param power_on_boot: Gets or sets the power on boot. Possible values + include: 'enabled', 'disabled' + :type power_on_boot: str or + ~azure.mgmt.vmware.v2020_10_01_preview.models.PowerOnBootOption + :ivar network_mo_ref_id: Gets or sets the vCenter MoRef (Managed Object + Reference) ID of the virtual network + that the nic is connected to. + :vartype network_mo_ref_id: str + :ivar network_mo_name: Gets or sets the name of the virtual network in + vCenter that the nic is connected to. + :vartype network_mo_name: str + :param device_key: Gets or sets the device key value. + :type device_key: int + :param ip_settings: Gets or sets the ipsettings. + :type ip_settings: + ~azure.mgmt.vmware.v2020_10_01_preview.models.NicIPSettings + """ + + _validation = { + 'label': {'readonly': True}, + 'ip_addresses': {'readonly': True}, + 'mac_address': {'readonly': True}, + 'network_mo_ref_id': {'readonly': True}, + 'network_mo_name': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'label': {'key': 'label', 'type': 'str'}, + 'ip_addresses': {'key': 'ipAddresses', 'type': '[str]'}, + 'mac_address': {'key': 'macAddress', 'type': 'str'}, + 'network_id': {'key': 'networkId', 'type': 'str'}, + 'nic_type': {'key': 'nicType', 'type': 'str'}, + 'power_on_boot': {'key': 'powerOnBoot', 'type': 'str'}, + 'network_mo_ref_id': {'key': 'networkMoRefId', 'type': 'str'}, + 'network_mo_name': {'key': 'networkMoName', 'type': 'str'}, + 'device_key': {'key': 'deviceKey', 'type': 'int'}, + 'ip_settings': {'key': 'ipSettings', 'type': 'NicIPSettings'}, + } + + def __init__(self, *, name: str=None, network_id: str=None, nic_type=None, power_on_boot=None, device_key: int=None, ip_settings=None, **kwargs) -> None: + super(NetworkInterface, self).__init__(**kwargs) + self.name = name + self.label = None + self.ip_addresses = None + self.mac_address = None + self.network_id = network_id + self.nic_type = nic_type + self.power_on_boot = power_on_boot + self.network_mo_ref_id = None + self.network_mo_name = None + self.device_key = device_key + self.ip_settings = ip_settings diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/network_interface_update.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/network_interface_update.py new file mode 100644 index 00000000000..8fbf75f404c --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/network_interface_update.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 NetworkInterfaceUpdate(Model): + """Defines the network interface update. + + :param name: Gets or sets the name of the network interface. + :type name: str + :param network_id: Gets or sets the ARM Id of the network resource to + connect the virtual machine. + :type network_id: str + :param nic_type: NIC type. Possible values include: 'vmxnet3', 'vmxnet2', + 'vmxnet', 'e1000', 'e1000e', 'pcnet32' + :type nic_type: str or + ~azure.mgmt.vmware.v2020_10_01_preview.models.NICType + :param power_on_boot: Gets or sets the power on boot. Possible values + include: 'enabled', 'disabled' + :type power_on_boot: str or + ~azure.mgmt.vmware.v2020_10_01_preview.models.PowerOnBootOption + :param device_key: Gets or sets the device key value. + :type device_key: int + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'network_id': {'key': 'networkId', 'type': 'str'}, + 'nic_type': {'key': 'nicType', 'type': 'str'}, + 'power_on_boot': {'key': 'powerOnBoot', 'type': 'str'}, + 'device_key': {'key': 'deviceKey', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(NetworkInterfaceUpdate, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.network_id = kwargs.get('network_id', None) + self.nic_type = kwargs.get('nic_type', None) + self.power_on_boot = kwargs.get('power_on_boot', None) + self.device_key = kwargs.get('device_key', None) diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/network_interface_update_py3.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/network_interface_update_py3.py new file mode 100644 index 00000000000..64ffbb8e681 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/network_interface_update_py3.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 NetworkInterfaceUpdate(Model): + """Defines the network interface update. + + :param name: Gets or sets the name of the network interface. + :type name: str + :param network_id: Gets or sets the ARM Id of the network resource to + connect the virtual machine. + :type network_id: str + :param nic_type: NIC type. Possible values include: 'vmxnet3', 'vmxnet2', + 'vmxnet', 'e1000', 'e1000e', 'pcnet32' + :type nic_type: str or + ~azure.mgmt.vmware.v2020_10_01_preview.models.NICType + :param power_on_boot: Gets or sets the power on boot. Possible values + include: 'enabled', 'disabled' + :type power_on_boot: str or + ~azure.mgmt.vmware.v2020_10_01_preview.models.PowerOnBootOption + :param device_key: Gets or sets the device key value. + :type device_key: int + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'network_id': {'key': 'networkId', 'type': 'str'}, + 'nic_type': {'key': 'nicType', 'type': 'str'}, + 'power_on_boot': {'key': 'powerOnBoot', 'type': 'str'}, + 'device_key': {'key': 'deviceKey', 'type': 'int'}, + } + + def __init__(self, *, name: str=None, network_id: str=None, nic_type=None, power_on_boot=None, device_key: int=None, **kwargs) -> None: + super(NetworkInterfaceUpdate, self).__init__(**kwargs) + self.name = name + self.network_id = network_id + self.nic_type = nic_type + self.power_on_boot = power_on_boot + self.device_key = device_key diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/network_profile.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/network_profile.py new file mode 100644 index 00000000000..916d230bbbf --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/network_profile.py @@ -0,0 +1,30 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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 NetworkProfile(Model): + """Defines the resource properties. + + :param network_interfaces: Gets or sets the list of network interfaces + associated with the virtual machine. + :type network_interfaces: + list[~azure.mgmt.vmware.v2020_10_01_preview.models.NetworkInterface] + """ + + _attribute_map = { + 'network_interfaces': {'key': 'networkInterfaces', 'type': '[NetworkInterface]'}, + } + + def __init__(self, **kwargs): + super(NetworkProfile, self).__init__(**kwargs) + self.network_interfaces = kwargs.get('network_interfaces', None) diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/network_profile_py3.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/network_profile_py3.py new file mode 100644 index 00000000000..5389d44b732 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/network_profile_py3.py @@ -0,0 +1,30 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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 NetworkProfile(Model): + """Defines the resource properties. + + :param network_interfaces: Gets or sets the list of network interfaces + associated with the virtual machine. + :type network_interfaces: + list[~azure.mgmt.vmware.v2020_10_01_preview.models.NetworkInterface] + """ + + _attribute_map = { + 'network_interfaces': {'key': 'networkInterfaces', 'type': '[NetworkInterface]'}, + } + + def __init__(self, *, network_interfaces=None, **kwargs) -> None: + super(NetworkProfile, self).__init__(**kwargs) + self.network_interfaces = network_interfaces diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/network_profile_update.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/network_profile_update.py new file mode 100644 index 00000000000..bfcf01c69e7 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/network_profile_update.py @@ -0,0 +1,30 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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 NetworkProfileUpdate(Model): + """Defines the update resource properties. + + :param network_interfaces: Gets or sets the list of network interfaces + associated with the virtual machine. + :type network_interfaces: + list[~azure.mgmt.vmware.v2020_10_01_preview.models.NetworkInterfaceUpdate] + """ + + _attribute_map = { + 'network_interfaces': {'key': 'networkInterfaces', 'type': '[NetworkInterfaceUpdate]'}, + } + + def __init__(self, **kwargs): + super(NetworkProfileUpdate, self).__init__(**kwargs) + self.network_interfaces = kwargs.get('network_interfaces', None) diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/network_profile_update_py3.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/network_profile_update_py3.py new file mode 100644 index 00000000000..5c0285c72b1 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/network_profile_update_py3.py @@ -0,0 +1,30 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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 NetworkProfileUpdate(Model): + """Defines the update resource properties. + + :param network_interfaces: Gets or sets the list of network interfaces + associated with the virtual machine. + :type network_interfaces: + list[~azure.mgmt.vmware.v2020_10_01_preview.models.NetworkInterfaceUpdate] + """ + + _attribute_map = { + 'network_interfaces': {'key': 'networkInterfaces', 'type': '[NetworkInterfaceUpdate]'}, + } + + def __init__(self, *, network_interfaces=None, **kwargs) -> None: + super(NetworkProfileUpdate, self).__init__(**kwargs) + self.network_interfaces = network_interfaces diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/nic_ip_address_settings.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/nic_ip_address_settings.py new file mode 100644 index 00000000000..b4fd9368d4b --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/nic_ip_address_settings.py @@ -0,0 +1,46 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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 NicIPAddressSettings(Model): + """IP address information for a virtual network adapter reported by the + fabric. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar allocation_method: Gets the ip address allocation method. + :vartype allocation_method: str + :ivar ip_address: Gets the ip address for the nic. + :vartype ip_address: str + :ivar subnet_mask: Gets the mask. + :vartype subnet_mask: str + """ + + _validation = { + 'allocation_method': {'readonly': True}, + 'ip_address': {'readonly': True}, + 'subnet_mask': {'readonly': True}, + } + + _attribute_map = { + 'allocation_method': {'key': 'allocationMethod', 'type': 'str'}, + 'ip_address': {'key': 'ipAddress', 'type': 'str'}, + 'subnet_mask': {'key': 'subnetMask', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NicIPAddressSettings, self).__init__(**kwargs) + self.allocation_method = None + self.ip_address = None + self.subnet_mask = None diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/nic_ip_address_settings_py3.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/nic_ip_address_settings_py3.py new file mode 100644 index 00000000000..4cffa1521e1 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/nic_ip_address_settings_py3.py @@ -0,0 +1,46 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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 NicIPAddressSettings(Model): + """IP address information for a virtual network adapter reported by the + fabric. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar allocation_method: Gets the ip address allocation method. + :vartype allocation_method: str + :ivar ip_address: Gets the ip address for the nic. + :vartype ip_address: str + :ivar subnet_mask: Gets the mask. + :vartype subnet_mask: str + """ + + _validation = { + 'allocation_method': {'readonly': True}, + 'ip_address': {'readonly': True}, + 'subnet_mask': {'readonly': True}, + } + + _attribute_map = { + 'allocation_method': {'key': 'allocationMethod', 'type': 'str'}, + 'ip_address': {'key': 'ipAddress', 'type': 'str'}, + 'subnet_mask': {'key': 'subnetMask', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(NicIPAddressSettings, self).__init__(**kwargs) + self.allocation_method = None + self.ip_address = None + self.subnet_mask = None diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/nic_ip_settings.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/nic_ip_settings.py new file mode 100644 index 00000000000..008a2925670 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/nic_ip_settings.py @@ -0,0 +1,71 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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 NicIPSettings(Model): + """Defines the network interface ip settings. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param allocation_method: Gets or sets the nic allocation method. Possible + values include: 'unset', 'dynamic', 'static', 'linklayer', 'random', + 'other' + :type allocation_method: str or + ~azure.mgmt.vmware.v2020_10_01_preview.models.IPAddressAllocationMethod + :param dns_servers: Gets or sets the dns servers. + :type dns_servers: list[str] + :param gateway: Gets or sets the gateway. + :type gateway: list[str] + :param ip_address: Gets or sets the ip address for the nic. + :type ip_address: str + :param subnet_mask: Gets or sets the mask. + :type subnet_mask: str + :ivar primary_wins_server: Gets or sets the primary server. + :vartype primary_wins_server: str + :ivar secondary_wins_server: Gets or sets the secondary server. + :vartype secondary_wins_server: str + :ivar ip_address_info: Gets or sets the IP address information being + reported for this NIC. This contains the same IPv4 information above plus + IPV6 information. + :vartype ip_address_info: + list[~azure.mgmt.vmware.v2020_10_01_preview.models.NicIPAddressSettings] + """ + + _validation = { + 'primary_wins_server': {'readonly': True}, + 'secondary_wins_server': {'readonly': True}, + 'ip_address_info': {'readonly': True}, + } + + _attribute_map = { + 'allocation_method': {'key': 'allocationMethod', 'type': 'str'}, + 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, + 'gateway': {'key': 'gateway', 'type': '[str]'}, + 'ip_address': {'key': 'ipAddress', 'type': 'str'}, + 'subnet_mask': {'key': 'subnetMask', 'type': 'str'}, + 'primary_wins_server': {'key': 'primaryWinsServer', 'type': 'str'}, + 'secondary_wins_server': {'key': 'secondaryWinsServer', 'type': 'str'}, + 'ip_address_info': {'key': 'ipAddressInfo', 'type': '[NicIPAddressSettings]'}, + } + + def __init__(self, **kwargs): + super(NicIPSettings, self).__init__(**kwargs) + self.allocation_method = kwargs.get('allocation_method', None) + self.dns_servers = kwargs.get('dns_servers', None) + self.gateway = kwargs.get('gateway', None) + self.ip_address = kwargs.get('ip_address', None) + self.subnet_mask = kwargs.get('subnet_mask', None) + self.primary_wins_server = None + self.secondary_wins_server = None + self.ip_address_info = None diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/nic_ip_settings_py3.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/nic_ip_settings_py3.py new file mode 100644 index 00000000000..8d39aed23da --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/nic_ip_settings_py3.py @@ -0,0 +1,71 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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 NicIPSettings(Model): + """Defines the network interface ip settings. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param allocation_method: Gets or sets the nic allocation method. Possible + values include: 'unset', 'dynamic', 'static', 'linklayer', 'random', + 'other' + :type allocation_method: str or + ~azure.mgmt.vmware.v2020_10_01_preview.models.IPAddressAllocationMethod + :param dns_servers: Gets or sets the dns servers. + :type dns_servers: list[str] + :param gateway: Gets or sets the gateway. + :type gateway: list[str] + :param ip_address: Gets or sets the ip address for the nic. + :type ip_address: str + :param subnet_mask: Gets or sets the mask. + :type subnet_mask: str + :ivar primary_wins_server: Gets or sets the primary server. + :vartype primary_wins_server: str + :ivar secondary_wins_server: Gets or sets the secondary server. + :vartype secondary_wins_server: str + :ivar ip_address_info: Gets or sets the IP address information being + reported for this NIC. This contains the same IPv4 information above plus + IPV6 information. + :vartype ip_address_info: + list[~azure.mgmt.vmware.v2020_10_01_preview.models.NicIPAddressSettings] + """ + + _validation = { + 'primary_wins_server': {'readonly': True}, + 'secondary_wins_server': {'readonly': True}, + 'ip_address_info': {'readonly': True}, + } + + _attribute_map = { + 'allocation_method': {'key': 'allocationMethod', 'type': 'str'}, + 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, + 'gateway': {'key': 'gateway', 'type': '[str]'}, + 'ip_address': {'key': 'ipAddress', 'type': 'str'}, + 'subnet_mask': {'key': 'subnetMask', 'type': 'str'}, + 'primary_wins_server': {'key': 'primaryWinsServer', 'type': 'str'}, + 'secondary_wins_server': {'key': 'secondaryWinsServer', 'type': 'str'}, + 'ip_address_info': {'key': 'ipAddressInfo', 'type': '[NicIPAddressSettings]'}, + } + + def __init__(self, *, allocation_method=None, dns_servers=None, gateway=None, ip_address: str=None, subnet_mask: str=None, **kwargs) -> None: + super(NicIPSettings, self).__init__(**kwargs) + self.allocation_method = allocation_method + self.dns_servers = dns_servers + self.gateway = gateway + self.ip_address = ip_address + self.subnet_mask = subnet_mask + self.primary_wins_server = None + self.secondary_wins_server = None + self.ip_address_info = None diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/operation.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/operation.py new file mode 100644 index 00000000000..f56a174d71c --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/operation.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 Operation(Model): + """Operation provided by provider. + + :param name: Name of the operation + :type name: str + :param is_data_action: Indicates whether the operation is data action or + not. + :type is_data_action: bool + :param display: Properties of the operation + :type display: + ~azure.mgmt.vmware.v2020_10_01_preview.models.OperationDisplay + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + } + + def __init__(self, **kwargs): + super(Operation, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.is_data_action = kwargs.get('is_data_action', None) + self.display = kwargs.get('display', None) diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/operation_display.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/operation_display.py new file mode 100644 index 00000000000..89c4bdd6ccb --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/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 OperationDisplay(Model): + """Properties of the operation. + + :param provider: Provider name + :type provider: str + :param resource: Resource name + :type resource: str + :param operation: Operation name + :type operation: str + :param description: Description of the operation + :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, **kwargs): + super(OperationDisplay, self).__init__(**kwargs) + self.provider = kwargs.get('provider', None) + self.resource = kwargs.get('resource', None) + self.operation = kwargs.get('operation', None) + self.description = kwargs.get('description', None) diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/operation_display_py3.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/operation_display_py3.py new file mode 100644 index 00000000000..fa3740dfc65 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/operation_display_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 OperationDisplay(Model): + """Properties of the operation. + + :param provider: Provider name + :type provider: str + :param resource: Resource name + :type resource: str + :param operation: Operation name + :type operation: str + :param description: Description of the operation + :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: str=None, resource: str=None, operation: str=None, description: str=None, **kwargs) -> None: + super(OperationDisplay, self).__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/operation_paged.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/operation_paged.py new file mode 100644 index 00000000000..25e166c9fa8 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/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/connectedvmware/azext_connectedvmware/vendored_sdks/models/operation_py3.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/operation_py3.py new file mode 100644 index 00000000000..688496a564f --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/operation_py3.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 Operation(Model): + """Operation provided by provider. + + :param name: Name of the operation + :type name: str + :param is_data_action: Indicates whether the operation is data action or + not. + :type is_data_action: bool + :param display: Properties of the operation + :type display: + ~azure.mgmt.vmware.v2020_10_01_preview.models.OperationDisplay + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + } + + def __init__(self, *, name: str=None, is_data_action: bool=None, display=None, **kwargs) -> None: + super(Operation, self).__init__(**kwargs) + self.name = name + self.is_data_action = is_data_action + self.display = display diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/os_profile.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/os_profile.py new file mode 100644 index 00000000000..92bfbc928fc --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/os_profile.py @@ -0,0 +1,71 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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 OsProfile(Model): + """Defines the resource properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param computer_name: Gets or sets computer name. + :type computer_name: str + :param admin_username: Gets or sets administrator username. + :type admin_username: str + :param admin_password: Gets or sets administrator password. + :type admin_password: str + :ivar os_type: Gets or sets the type of the os. Possible values include: + 'Windows', 'Linux', 'Other' + :vartype os_type: str or + ~azure.mgmt.vmware.v2020_10_01_preview.models.OsType + :ivar os_name: Gets or sets os name. + :vartype os_name: str + :ivar tools_running_status: Gets or sets the current running status of + VMware Tools running in the guest operating system. + :vartype tools_running_status: str + :ivar tools_version_status: Gets or sets the current version status of + VMware Tools installed in the guest operating system. + :vartype tools_version_status: str + :ivar tools_version: Gets or sets the current version of VMware Tools. + :vartype tools_version: str + """ + + _validation = { + 'os_type': {'readonly': True}, + 'os_name': {'readonly': True}, + 'tools_running_status': {'readonly': True}, + 'tools_version_status': {'readonly': True}, + 'tools_version': {'readonly': True}, + } + + _attribute_map = { + 'computer_name': {'key': 'computerName', 'type': 'str'}, + 'admin_username': {'key': 'adminUsername', 'type': 'str'}, + 'admin_password': {'key': 'adminPassword', 'type': 'str'}, + 'os_type': {'key': 'osType', 'type': 'str'}, + 'os_name': {'key': 'osName', 'type': 'str'}, + 'tools_running_status': {'key': 'toolsRunningStatus', 'type': 'str'}, + 'tools_version_status': {'key': 'toolsVersionStatus', 'type': 'str'}, + 'tools_version': {'key': 'toolsVersion', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(OsProfile, self).__init__(**kwargs) + self.computer_name = kwargs.get('computer_name', None) + self.admin_username = kwargs.get('admin_username', None) + self.admin_password = kwargs.get('admin_password', None) + self.os_type = None + self.os_name = None + self.tools_running_status = None + self.tools_version_status = None + self.tools_version = None diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/os_profile_py3.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/os_profile_py3.py new file mode 100644 index 00000000000..24d96f9321b --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/os_profile_py3.py @@ -0,0 +1,71 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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 OsProfile(Model): + """Defines the resource properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param computer_name: Gets or sets computer name. + :type computer_name: str + :param admin_username: Gets or sets administrator username. + :type admin_username: str + :param admin_password: Gets or sets administrator password. + :type admin_password: str + :ivar os_type: Gets or sets the type of the os. Possible values include: + 'Windows', 'Linux', 'Other' + :vartype os_type: str or + ~azure.mgmt.vmware.v2020_10_01_preview.models.OsType + :ivar os_name: Gets or sets os name. + :vartype os_name: str + :ivar tools_running_status: Gets or sets the current running status of + VMware Tools running in the guest operating system. + :vartype tools_running_status: str + :ivar tools_version_status: Gets or sets the current version status of + VMware Tools installed in the guest operating system. + :vartype tools_version_status: str + :ivar tools_version: Gets or sets the current version of VMware Tools. + :vartype tools_version: str + """ + + _validation = { + 'os_type': {'readonly': True}, + 'os_name': {'readonly': True}, + 'tools_running_status': {'readonly': True}, + 'tools_version_status': {'readonly': True}, + 'tools_version': {'readonly': True}, + } + + _attribute_map = { + 'computer_name': {'key': 'computerName', 'type': 'str'}, + 'admin_username': {'key': 'adminUsername', 'type': 'str'}, + 'admin_password': {'key': 'adminPassword', 'type': 'str'}, + 'os_type': {'key': 'osType', 'type': 'str'}, + 'os_name': {'key': 'osName', 'type': 'str'}, + 'tools_running_status': {'key': 'toolsRunningStatus', 'type': 'str'}, + 'tools_version_status': {'key': 'toolsVersionStatus', 'type': 'str'}, + 'tools_version': {'key': 'toolsVersion', 'type': 'str'}, + } + + def __init__(self, *, computer_name: str=None, admin_username: str=None, admin_password: str=None, **kwargs) -> None: + super(OsProfile, self).__init__(**kwargs) + self.computer_name = computer_name + self.admin_username = admin_username + self.admin_password = admin_password + self.os_type = None + self.os_name = None + self.tools_running_status = None + self.tools_version_status = None + self.tools_version = None diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/proxy_resource.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/proxy_resource.py new file mode 100644 index 00000000000..f50eecb5b1b --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/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 an Azure Resource Manager 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. E.g. + "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/connectedvmware/azext_connectedvmware/vendored_sdks/models/proxy_resource_py3.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/proxy_resource_py3.py new file mode 100644 index 00000000000..0175329f195 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/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 an Azure Resource Manager 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. E.g. + "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/connectedvmware/azext_connectedvmware/vendored_sdks/models/resource.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/resource.py new file mode 100644 index 00000000000..88ac10c9bcc --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/resource.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 Resource(Model): + """Common fields that are returned in the response for all Azure Resource + Manager resources. + + 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. E.g. + "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/connectedvmware/azext_connectedvmware/vendored_sdks/models/resource_patch.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/resource_patch.py new file mode 100644 index 00000000000..85ec50189c5 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/resource_patch.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 ResourcePatch(Model): + """Object containing updates for patch operations. + + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(ResourcePatch, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/resource_patch_py3.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/resource_patch_py3.py new file mode 100644 index 00000000000..0700d72d92b --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/resource_patch_py3.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 ResourcePatch(Model): + """Object containing updates for patch operations. + + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, tags=None, **kwargs) -> None: + super(ResourcePatch, self).__init__(**kwargs) + self.tags = tags diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/resource_pool.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/resource_pool.py new file mode 100644 index 00000000000..cf245383952 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/resource_pool.py @@ -0,0 +1,154 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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 ResourcePool(Model): + """Define the resourcePool. + + 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 uuid: Gets or sets a unique identifier for this resource. + :vartype uuid: str + :param v_center_id: Gets or sets the ARM Id of the vCenter resource in + which this resource pool resides. + :type v_center_id: str + :param mo_ref_id: Gets or sets the vCenter MoRef (Managed Object + Reference) ID for the resource pool. + :type mo_ref_id: str + :param inventory_item_id: Gets or sets the inventory Item ID for the + resource pool. + :type inventory_item_id: str + :ivar mo_name: Gets or sets the vCenter Managed Object name for the + resource pool. + :vartype mo_name: str + :ivar cpu_shares_level: Gets or sets CPUSharesLevel which specifies the + CPU allocation level for this pool. + This property is used in relative allocation between resource consumers. + :vartype cpu_shares_level: str + :ivar cpu_reservation_mhz: Gets or sets CPUReservationMHz which specifies + the CPU size in MHz that is guaranteed + to be available. + :vartype cpu_reservation_mhz: long + :ivar cpu_limit_mhz: Gets or sets CPULimitMHz which specifies a CPU usage + limit in MHz. + Utilization will not exceed this limit even if there are available + resources. + :vartype cpu_limit_mhz: long + :ivar mem_shares_level: Gets or sets CPUSharesLevel which specifies the + memory allocation level for this pool. + This property is used in relative allocation between resource consumers. + :vartype mem_shares_level: str + :ivar mem_reservation_mb: Gets or sets MemReservationMB which specifies + the guaranteed available memory in + megabytes. + :vartype mem_reservation_mb: long + :ivar mem_limit_mb: Gets or sets MemLimitMB specifies a memory usage limit + in megabytes. + Utilization will not exceed the specified limit even if there are + available resources. + :vartype mem_limit_mb: long + :ivar custom_resource_name: Gets the name of the corresponding resource in + Kubernetes. + :vartype custom_resource_name: str + :ivar provisioning_state: Gets or sets the provisioning state. + :vartype provisioning_state: str + :param location: Required. Gets or sets the location. + :type location: str + :param extended_location: Gets or sets the extended location. + :type extended_location: + ~azure.mgmt.vmware.v2020_10_01_preview.models.ExtendedLocation + :param system_data: The system data. + :type system_data: + ~azure.mgmt.vmware.v2020_10_01_preview.models.SystemData + :param tags: Gets or sets the Resource tags. + :type tags: dict[str, str] + :ivar name: Gets or sets the name. + :vartype name: str + :ivar id: Gets or sets the Id. + :vartype id: str + :ivar type: Gets or sets the type of the resource. + :vartype type: str + :param kind: Metadata used by portal/tooling/etc to render different UX + experiences for resources of the same type; e.g. ApiApps are a kind of + Microsoft.Web/sites type. If supported, the resource provider must + validate and persist this value. + :type kind: str + """ + + _validation = { + 'uuid': {'readonly': True}, + 'mo_name': {'readonly': True}, + 'cpu_shares_level': {'readonly': True}, + 'cpu_reservation_mhz': {'readonly': True}, + 'cpu_limit_mhz': {'readonly': True}, + 'mem_shares_level': {'readonly': True}, + 'mem_reservation_mb': {'readonly': True}, + 'mem_limit_mb': {'readonly': True}, + 'custom_resource_name': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'location': {'required': True}, + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'uuid': {'key': 'properties.uuid', 'type': 'str'}, + 'v_center_id': {'key': 'properties.vCenterId', 'type': 'str'}, + 'mo_ref_id': {'key': 'properties.moRefId', 'type': 'str'}, + 'inventory_item_id': {'key': 'properties.inventoryItemId', 'type': 'str'}, + 'mo_name': {'key': 'properties.moName', 'type': 'str'}, + 'cpu_shares_level': {'key': 'properties.cpuSharesLevel', 'type': 'str'}, + 'cpu_reservation_mhz': {'key': 'properties.cpuReservationMHz', 'type': 'long'}, + 'cpu_limit_mhz': {'key': 'properties.cpuLimitMHz', 'type': 'long'}, + 'mem_shares_level': {'key': 'properties.memSharesLevel', 'type': 'str'}, + 'mem_reservation_mb': {'key': 'properties.memReservationMB', 'type': 'long'}, + 'mem_limit_mb': {'key': 'properties.memLimitMB', 'type': 'long'}, + 'custom_resource_name': {'key': 'properties.customResourceName', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'extended_location': {'key': 'extendedLocation', 'type': 'ExtendedLocation'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourcePool, self).__init__(**kwargs) + self.uuid = None + self.v_center_id = kwargs.get('v_center_id', None) + self.mo_ref_id = kwargs.get('mo_ref_id', None) + self.inventory_item_id = kwargs.get('inventory_item_id', None) + self.mo_name = None + self.cpu_shares_level = None + self.cpu_reservation_mhz = None + self.cpu_limit_mhz = None + self.mem_shares_level = None + self.mem_reservation_mb = None + self.mem_limit_mb = None + self.custom_resource_name = None + self.provisioning_state = None + self.location = kwargs.get('location', None) + self.extended_location = kwargs.get('extended_location', None) + self.system_data = kwargs.get('system_data', None) + self.tags = kwargs.get('tags', None) + self.name = None + self.id = None + self.type = None + self.kind = kwargs.get('kind', None) diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/resource_pool_inventory_item.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/resource_pool_inventory_item.py new file mode 100644 index 00000000000..0e0e9f5e86b --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/resource_pool_inventory_item.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 .inventory_item_properties import InventoryItemProperties + + +class ResourcePoolInventoryItem(InventoryItemProperties): + """The resource pool inventory item. + + 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 managed_resource_id: Gets or sets the tracked resource id + corresponding to the inventory resource. + :type managed_resource_id: str + :param mo_ref_id: Gets or sets the MoRef (Managed Object Reference) ID for + the inventory item. + :type mo_ref_id: str + :param mo_name: Gets or sets the vCenter Managed Object name for the + inventory item. + :type mo_name: str + :ivar provisioning_state: Gets or sets the provisioning state. + :vartype provisioning_state: str + :param inventory_type: Required. Constant filled by server. + :type inventory_type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'inventory_type': {'required': True}, + } + + _attribute_map = { + 'managed_resource_id': {'key': 'managedResourceId', 'type': 'str'}, + 'mo_ref_id': {'key': 'moRefId', 'type': 'str'}, + 'mo_name': {'key': 'moName', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'inventory_type': {'key': 'inventoryType', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourcePoolInventoryItem, self).__init__(**kwargs) + self.inventory_type = 'ResourcePool' diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/resource_pool_inventory_item_py3.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/resource_pool_inventory_item_py3.py new file mode 100644 index 00000000000..8440f0530e3 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/resource_pool_inventory_item_py3.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 .inventory_item_properties_py3 import InventoryItemProperties + + +class ResourcePoolInventoryItem(InventoryItemProperties): + """The resource pool inventory item. + + 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 managed_resource_id: Gets or sets the tracked resource id + corresponding to the inventory resource. + :type managed_resource_id: str + :param mo_ref_id: Gets or sets the MoRef (Managed Object Reference) ID for + the inventory item. + :type mo_ref_id: str + :param mo_name: Gets or sets the vCenter Managed Object name for the + inventory item. + :type mo_name: str + :ivar provisioning_state: Gets or sets the provisioning state. + :vartype provisioning_state: str + :param inventory_type: Required. Constant filled by server. + :type inventory_type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'inventory_type': {'required': True}, + } + + _attribute_map = { + 'managed_resource_id': {'key': 'managedResourceId', 'type': 'str'}, + 'mo_ref_id': {'key': 'moRefId', 'type': 'str'}, + 'mo_name': {'key': 'moName', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'inventory_type': {'key': 'inventoryType', 'type': 'str'}, + } + + def __init__(self, *, managed_resource_id: str=None, mo_ref_id: str=None, mo_name: str=None, **kwargs) -> None: + super(ResourcePoolInventoryItem, self).__init__(managed_resource_id=managed_resource_id, mo_ref_id=mo_ref_id, mo_name=mo_name, **kwargs) + self.inventory_type = 'ResourcePool' diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/resource_pool_paged.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/resource_pool_paged.py new file mode 100644 index 00000000000..65ec66597cb --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/resource_pool_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 ResourcePoolPaged(Paged): + """ + A paging container for iterating over a list of :class:`ResourcePool ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ResourcePool]'} + } + + def __init__(self, *args, **kwargs): + + super(ResourcePoolPaged, self).__init__(*args, **kwargs) diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/resource_pool_py3.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/resource_pool_py3.py new file mode 100644 index 00000000000..40552ce09e6 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/resource_pool_py3.py @@ -0,0 +1,154 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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 ResourcePool(Model): + """Define the resourcePool. + + 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 uuid: Gets or sets a unique identifier for this resource. + :vartype uuid: str + :param v_center_id: Gets or sets the ARM Id of the vCenter resource in + which this resource pool resides. + :type v_center_id: str + :param mo_ref_id: Gets or sets the vCenter MoRef (Managed Object + Reference) ID for the resource pool. + :type mo_ref_id: str + :param inventory_item_id: Gets or sets the inventory Item ID for the + resource pool. + :type inventory_item_id: str + :ivar mo_name: Gets or sets the vCenter Managed Object name for the + resource pool. + :vartype mo_name: str + :ivar cpu_shares_level: Gets or sets CPUSharesLevel which specifies the + CPU allocation level for this pool. + This property is used in relative allocation between resource consumers. + :vartype cpu_shares_level: str + :ivar cpu_reservation_mhz: Gets or sets CPUReservationMHz which specifies + the CPU size in MHz that is guaranteed + to be available. + :vartype cpu_reservation_mhz: long + :ivar cpu_limit_mhz: Gets or sets CPULimitMHz which specifies a CPU usage + limit in MHz. + Utilization will not exceed this limit even if there are available + resources. + :vartype cpu_limit_mhz: long + :ivar mem_shares_level: Gets or sets CPUSharesLevel which specifies the + memory allocation level for this pool. + This property is used in relative allocation between resource consumers. + :vartype mem_shares_level: str + :ivar mem_reservation_mb: Gets or sets MemReservationMB which specifies + the guaranteed available memory in + megabytes. + :vartype mem_reservation_mb: long + :ivar mem_limit_mb: Gets or sets MemLimitMB specifies a memory usage limit + in megabytes. + Utilization will not exceed the specified limit even if there are + available resources. + :vartype mem_limit_mb: long + :ivar custom_resource_name: Gets the name of the corresponding resource in + Kubernetes. + :vartype custom_resource_name: str + :ivar provisioning_state: Gets or sets the provisioning state. + :vartype provisioning_state: str + :param location: Required. Gets or sets the location. + :type location: str + :param extended_location: Gets or sets the extended location. + :type extended_location: + ~azure.mgmt.vmware.v2020_10_01_preview.models.ExtendedLocation + :param system_data: The system data. + :type system_data: + ~azure.mgmt.vmware.v2020_10_01_preview.models.SystemData + :param tags: Gets or sets the Resource tags. + :type tags: dict[str, str] + :ivar name: Gets or sets the name. + :vartype name: str + :ivar id: Gets or sets the Id. + :vartype id: str + :ivar type: Gets or sets the type of the resource. + :vartype type: str + :param kind: Metadata used by portal/tooling/etc to render different UX + experiences for resources of the same type; e.g. ApiApps are a kind of + Microsoft.Web/sites type. If supported, the resource provider must + validate and persist this value. + :type kind: str + """ + + _validation = { + 'uuid': {'readonly': True}, + 'mo_name': {'readonly': True}, + 'cpu_shares_level': {'readonly': True}, + 'cpu_reservation_mhz': {'readonly': True}, + 'cpu_limit_mhz': {'readonly': True}, + 'mem_shares_level': {'readonly': True}, + 'mem_reservation_mb': {'readonly': True}, + 'mem_limit_mb': {'readonly': True}, + 'custom_resource_name': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'location': {'required': True}, + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'uuid': {'key': 'properties.uuid', 'type': 'str'}, + 'v_center_id': {'key': 'properties.vCenterId', 'type': 'str'}, + 'mo_ref_id': {'key': 'properties.moRefId', 'type': 'str'}, + 'inventory_item_id': {'key': 'properties.inventoryItemId', 'type': 'str'}, + 'mo_name': {'key': 'properties.moName', 'type': 'str'}, + 'cpu_shares_level': {'key': 'properties.cpuSharesLevel', 'type': 'str'}, + 'cpu_reservation_mhz': {'key': 'properties.cpuReservationMHz', 'type': 'long'}, + 'cpu_limit_mhz': {'key': 'properties.cpuLimitMHz', 'type': 'long'}, + 'mem_shares_level': {'key': 'properties.memSharesLevel', 'type': 'str'}, + 'mem_reservation_mb': {'key': 'properties.memReservationMB', 'type': 'long'}, + 'mem_limit_mb': {'key': 'properties.memLimitMB', 'type': 'long'}, + 'custom_resource_name': {'key': 'properties.customResourceName', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'extended_location': {'key': 'extendedLocation', 'type': 'ExtendedLocation'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + } + + def __init__(self, *, location: str, v_center_id: str=None, mo_ref_id: str=None, inventory_item_id: str=None, extended_location=None, system_data=None, tags=None, kind: str=None, **kwargs) -> None: + super(ResourcePool, self).__init__(**kwargs) + self.uuid = None + self.v_center_id = v_center_id + self.mo_ref_id = mo_ref_id + self.inventory_item_id = inventory_item_id + self.mo_name = None + self.cpu_shares_level = None + self.cpu_reservation_mhz = None + self.cpu_limit_mhz = None + self.mem_shares_level = None + self.mem_reservation_mb = None + self.mem_limit_mb = None + self.custom_resource_name = None + self.provisioning_state = None + self.location = location + self.extended_location = extended_location + self.system_data = system_data + self.tags = tags + self.name = None + self.id = None + self.type = None + self.kind = kind diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/resource_py3.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/resource_py3.py new file mode 100644 index 00000000000..b7d3562a596 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/resource_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 Resource(Model): + """Common fields that are returned in the response for all Azure Resource + Manager resources. + + 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. E.g. + "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(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/stop_virtual_machine_options.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/stop_virtual_machine_options.py new file mode 100644 index 00000000000..08183269a57 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/stop_virtual_machine_options.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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 StopVirtualMachineOptions(Model): + """Defines the stop action properties. + + :param skip_shutdown: Gets or sets a value indicating whether to request + non-graceful VM shutdown. True value for this flag indicates non-graceful + shutdown whereas false indicates otherwise. Defaults to false. Default + value: False . + :type skip_shutdown: bool + """ + + _attribute_map = { + 'skip_shutdown': {'key': 'skipShutdown', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(StopVirtualMachineOptions, self).__init__(**kwargs) + self.skip_shutdown = kwargs.get('skip_shutdown', False) diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/stop_virtual_machine_options_py3.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/stop_virtual_machine_options_py3.py new file mode 100644 index 00000000000..39a60951ca2 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/stop_virtual_machine_options_py3.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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 StopVirtualMachineOptions(Model): + """Defines the stop action properties. + + :param skip_shutdown: Gets or sets a value indicating whether to request + non-graceful VM shutdown. True value for this flag indicates non-graceful + shutdown whereas false indicates otherwise. Defaults to false. Default + value: False . + :type skip_shutdown: bool + """ + + _attribute_map = { + 'skip_shutdown': {'key': 'skipShutdown', 'type': 'bool'}, + } + + def __init__(self, *, skip_shutdown: bool=False, **kwargs) -> None: + super(StopVirtualMachineOptions, self).__init__(**kwargs) + self.skip_shutdown = skip_shutdown diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/storage_profile.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/storage_profile.py new file mode 100644 index 00000000000..6b463756f49 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/storage_profile.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 StorageProfile(Model): + """Defines the resource properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param disks: Gets or sets the list of virtual disks associated with the + virtual machine. + :type disks: + list[~azure.mgmt.vmware.v2020_10_01_preview.models.VirtualDisk] + :ivar scsi_controllers: Gets or sets the list of virtual SCSI controllers + associated with the virtual machine. + :vartype scsi_controllers: + list[~azure.mgmt.vmware.v2020_10_01_preview.models.VirtualSCSIController] + """ + + _validation = { + 'scsi_controllers': {'readonly': True}, + } + + _attribute_map = { + 'disks': {'key': 'disks', 'type': '[VirtualDisk]'}, + 'scsi_controllers': {'key': 'scsiControllers', 'type': '[VirtualSCSIController]'}, + } + + def __init__(self, **kwargs): + super(StorageProfile, self).__init__(**kwargs) + self.disks = kwargs.get('disks', None) + self.scsi_controllers = None diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/storage_profile_py3.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/storage_profile_py3.py new file mode 100644 index 00000000000..64297fe9f92 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/storage_profile_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 StorageProfile(Model): + """Defines the resource properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param disks: Gets or sets the list of virtual disks associated with the + virtual machine. + :type disks: + list[~azure.mgmt.vmware.v2020_10_01_preview.models.VirtualDisk] + :ivar scsi_controllers: Gets or sets the list of virtual SCSI controllers + associated with the virtual machine. + :vartype scsi_controllers: + list[~azure.mgmt.vmware.v2020_10_01_preview.models.VirtualSCSIController] + """ + + _validation = { + 'scsi_controllers': {'readonly': True}, + } + + _attribute_map = { + 'disks': {'key': 'disks', 'type': '[VirtualDisk]'}, + 'scsi_controllers': {'key': 'scsiControllers', 'type': '[VirtualSCSIController]'}, + } + + def __init__(self, *, disks=None, **kwargs) -> None: + super(StorageProfile, self).__init__(**kwargs) + self.disks = disks + self.scsi_controllers = None diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/storage_profile_update.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/storage_profile_update.py new file mode 100644 index 00000000000..d941637949f --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/storage_profile_update.py @@ -0,0 +1,30 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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 StorageProfileUpdate(Model): + """Defines the resource update properties. + + :param disks: Gets or sets the list of virtual disks associated with the + virtual machine. + :type disks: + list[~azure.mgmt.vmware.v2020_10_01_preview.models.VirtualDiskUpdate] + """ + + _attribute_map = { + 'disks': {'key': 'disks', 'type': '[VirtualDiskUpdate]'}, + } + + def __init__(self, **kwargs): + super(StorageProfileUpdate, self).__init__(**kwargs) + self.disks = kwargs.get('disks', None) diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/storage_profile_update_py3.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/storage_profile_update_py3.py new file mode 100644 index 00000000000..d398fa42619 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/storage_profile_update_py3.py @@ -0,0 +1,30 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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 StorageProfileUpdate(Model): + """Defines the resource update properties. + + :param disks: Gets or sets the list of virtual disks associated with the + virtual machine. + :type disks: + list[~azure.mgmt.vmware.v2020_10_01_preview.models.VirtualDiskUpdate] + """ + + _attribute_map = { + 'disks': {'key': 'disks', 'type': '[VirtualDiskUpdate]'}, + } + + def __init__(self, *, disks=None, **kwargs) -> None: + super(StorageProfileUpdate, self).__init__(**kwargs) + self.disks = disks diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/system_data.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/system_data.py new file mode 100644 index 00000000000..84d0435b3dc --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/system_data.py @@ -0,0 +1,54 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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 SystemData(Model): + """Metadata pertaining to creation and last modification of the resource. + + :param created_by: The identity that created the resource. + :type created_by: str + :param created_by_type: The type of identity that created the resource. + Possible values include: 'User', 'Application', 'ManagedIdentity', 'Key' + :type created_by_type: str or + ~azure.mgmt.vmware.v2020_10_01_preview.models.CreatedByType + :param created_at: The timestamp of resource creation (UTC). + :type created_at: datetime + :param last_modified_by: The identity that last modified the resource. + :type last_modified_by: str + :param last_modified_by_type: The type of identity that last modified the + resource. Possible values include: 'User', 'Application', + 'ManagedIdentity', 'Key' + :type last_modified_by_type: str or + ~azure.mgmt.vmware.v2020_10_01_preview.models.CreatedByType + :param last_modified_at: The type of identity that last modified the + resource. + :type last_modified_at: datetime + """ + + _attribute_map = { + 'created_by': {'key': 'createdBy', 'type': 'str'}, + 'created_by_type': {'key': 'createdByType', 'type': 'str'}, + 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, + 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, + 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, + 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, + } + + def __init__(self, **kwargs): + super(SystemData, self).__init__(**kwargs) + self.created_by = kwargs.get('created_by', None) + self.created_by_type = kwargs.get('created_by_type', None) + self.created_at = kwargs.get('created_at', None) + self.last_modified_by = kwargs.get('last_modified_by', None) + self.last_modified_by_type = kwargs.get('last_modified_by_type', None) + self.last_modified_at = kwargs.get('last_modified_at', None) diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/system_data_py3.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/system_data_py3.py new file mode 100644 index 00000000000..a2cacb2126c --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/system_data_py3.py @@ -0,0 +1,54 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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 SystemData(Model): + """Metadata pertaining to creation and last modification of the resource. + + :param created_by: The identity that created the resource. + :type created_by: str + :param created_by_type: The type of identity that created the resource. + Possible values include: 'User', 'Application', 'ManagedIdentity', 'Key' + :type created_by_type: str or + ~azure.mgmt.vmware.v2020_10_01_preview.models.CreatedByType + :param created_at: The timestamp of resource creation (UTC). + :type created_at: datetime + :param last_modified_by: The identity that last modified the resource. + :type last_modified_by: str + :param last_modified_by_type: The type of identity that last modified the + resource. Possible values include: 'User', 'Application', + 'ManagedIdentity', 'Key' + :type last_modified_by_type: str or + ~azure.mgmt.vmware.v2020_10_01_preview.models.CreatedByType + :param last_modified_at: The type of identity that last modified the + resource. + :type last_modified_at: datetime + """ + + _attribute_map = { + 'created_by': {'key': 'createdBy', 'type': 'str'}, + 'created_by_type': {'key': 'createdByType', 'type': 'str'}, + 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, + 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, + 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, + 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, + } + + def __init__(self, *, created_by: str=None, created_by_type=None, created_at=None, last_modified_by: str=None, last_modified_by_type=None, last_modified_at=None, **kwargs) -> None: + super(SystemData, self).__init__(**kwargs) + self.created_by = created_by + self.created_by_type = created_by_type + self.created_at = created_at + self.last_modified_by = last_modified_by + self.last_modified_by_type = last_modified_by_type + self.last_modified_at = last_modified_at diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/tracked_resource.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/tracked_resource.py new file mode 100644 index 00000000000..eecd58e988f --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/tracked_resource.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 import Resource + + +class TrackedResource(Resource): + """The resource model definition for an Azure Resource Manager 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. E.g. + "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, **kwargs): + super(TrackedResource, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + self.location = kwargs.get('location', None) diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/tracked_resource_py3.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/tracked_resource_py3.py new file mode 100644 index 00000000000..ff16a507808 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/tracked_resource_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 TrackedResource(Resource): + """The resource model definition for an Azure Resource Manager 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. E.g. + "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/connectedvmware/azext_connectedvmware/vendored_sdks/models/vcenter.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/vcenter.py new file mode 100644 index 00000000000..22a400a9930 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/vcenter.py @@ -0,0 +1,120 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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 VCenter(Model): + """Defines the vCenter. + + 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 uuid: Gets or sets a unique identifier for this resource. + :vartype uuid: str + :param fqdn: Required. Gets or sets the FQDN/IPAddress of the vCenter. + :type fqdn: str + :param port: Gets or sets the port of the vCenter. + :type port: int + :ivar version: Gets or sets the version of the vCenter. + :vartype version: str + :ivar instance_uuid: Gets or sets the instance UUID of the vCenter. + :vartype instance_uuid: str + :ivar connection_status: Gets or sets the connection status to the + vCenter. + :vartype connection_status: str + :ivar custom_resource_name: Gets the name of the corresponding resource in + Kubernetes. + :vartype custom_resource_name: str + :param credentials: Username / Password Credentials to connect to vcenter. + :type credentials: + ~azure.mgmt.vmware.v2020_10_01_preview.models.VICredential + :ivar provisioning_state: Gets or sets the provisioning state. + :vartype provisioning_state: str + :param location: Required. Gets or sets the location. + :type location: str + :param extended_location: Gets or sets the extended location. + :type extended_location: + ~azure.mgmt.vmware.v2020_10_01_preview.models.ExtendedLocation + :param system_data: The system data. + :type system_data: + ~azure.mgmt.vmware.v2020_10_01_preview.models.SystemData + :param tags: Gets or sets the Resource tags. + :type tags: dict[str, str] + :ivar name: Gets or sets the name. + :vartype name: str + :ivar id: Gets or sets the Id. + :vartype id: str + :ivar type: Gets or sets the type of the resource. + :vartype type: str + :param kind: Metadata used by portal/tooling/etc to render different UX + experiences for resources of the same type; e.g. ApiApps are a kind of + Microsoft.Web/sites type. If supported, the resource provider must + validate and persist this value. + :type kind: str + """ + + _validation = { + 'uuid': {'readonly': True}, + 'fqdn': {'required': True}, + 'port': {'maximum': 65535, 'minimum': 1}, + 'version': {'readonly': True}, + 'instance_uuid': {'readonly': True}, + 'connection_status': {'readonly': True}, + 'custom_resource_name': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'location': {'required': True}, + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'uuid': {'key': 'properties.uuid', 'type': 'str'}, + 'fqdn': {'key': 'properties.fqdn', 'type': 'str'}, + 'port': {'key': 'properties.port', 'type': 'int'}, + 'version': {'key': 'properties.version', 'type': 'str'}, + 'instance_uuid': {'key': 'properties.instanceUuid', 'type': 'str'}, + 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, + 'custom_resource_name': {'key': 'properties.customResourceName', 'type': 'str'}, + 'credentials': {'key': 'properties.credentials', 'type': 'VICredential'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'extended_location': {'key': 'extendedLocation', 'type': 'ExtendedLocation'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VCenter, self).__init__(**kwargs) + self.uuid = None + self.fqdn = kwargs.get('fqdn', None) + self.port = kwargs.get('port', None) + self.version = None + self.instance_uuid = None + self.connection_status = None + self.custom_resource_name = None + self.credentials = kwargs.get('credentials', None) + self.provisioning_state = None + self.location = kwargs.get('location', None) + self.extended_location = kwargs.get('extended_location', None) + self.system_data = kwargs.get('system_data', None) + self.tags = kwargs.get('tags', None) + self.name = None + self.id = None + self.type = None + self.kind = kwargs.get('kind', None) diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/vcenter_paged.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/vcenter_paged.py new file mode 100644 index 00000000000..cef555d741e --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/vcenter_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 VCenterPaged(Paged): + """ + A paging container for iterating over a list of :class:`VCenter ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VCenter]'} + } + + def __init__(self, *args, **kwargs): + + super(VCenterPaged, self).__init__(*args, **kwargs) diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/vcenter_py3.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/vcenter_py3.py new file mode 100644 index 00000000000..ff4d5d4930b --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/vcenter_py3.py @@ -0,0 +1,120 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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 VCenter(Model): + """Defines the vCenter. + + 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 uuid: Gets or sets a unique identifier for this resource. + :vartype uuid: str + :param fqdn: Required. Gets or sets the FQDN/IPAddress of the vCenter. + :type fqdn: str + :param port: Gets or sets the port of the vCenter. + :type port: int + :ivar version: Gets or sets the version of the vCenter. + :vartype version: str + :ivar instance_uuid: Gets or sets the instance UUID of the vCenter. + :vartype instance_uuid: str + :ivar connection_status: Gets or sets the connection status to the + vCenter. + :vartype connection_status: str + :ivar custom_resource_name: Gets the name of the corresponding resource in + Kubernetes. + :vartype custom_resource_name: str + :param credentials: Username / Password Credentials to connect to vcenter. + :type credentials: + ~azure.mgmt.vmware.v2020_10_01_preview.models.VICredential + :ivar provisioning_state: Gets or sets the provisioning state. + :vartype provisioning_state: str + :param location: Required. Gets or sets the location. + :type location: str + :param extended_location: Gets or sets the extended location. + :type extended_location: + ~azure.mgmt.vmware.v2020_10_01_preview.models.ExtendedLocation + :param system_data: The system data. + :type system_data: + ~azure.mgmt.vmware.v2020_10_01_preview.models.SystemData + :param tags: Gets or sets the Resource tags. + :type tags: dict[str, str] + :ivar name: Gets or sets the name. + :vartype name: str + :ivar id: Gets or sets the Id. + :vartype id: str + :ivar type: Gets or sets the type of the resource. + :vartype type: str + :param kind: Metadata used by portal/tooling/etc to render different UX + experiences for resources of the same type; e.g. ApiApps are a kind of + Microsoft.Web/sites type. If supported, the resource provider must + validate and persist this value. + :type kind: str + """ + + _validation = { + 'uuid': {'readonly': True}, + 'fqdn': {'required': True}, + 'port': {'maximum': 65535, 'minimum': 1}, + 'version': {'readonly': True}, + 'instance_uuid': {'readonly': True}, + 'connection_status': {'readonly': True}, + 'custom_resource_name': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'location': {'required': True}, + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'uuid': {'key': 'properties.uuid', 'type': 'str'}, + 'fqdn': {'key': 'properties.fqdn', 'type': 'str'}, + 'port': {'key': 'properties.port', 'type': 'int'}, + 'version': {'key': 'properties.version', 'type': 'str'}, + 'instance_uuid': {'key': 'properties.instanceUuid', 'type': 'str'}, + 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, + 'custom_resource_name': {'key': 'properties.customResourceName', 'type': 'str'}, + 'credentials': {'key': 'properties.credentials', 'type': 'VICredential'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'extended_location': {'key': 'extendedLocation', 'type': 'ExtendedLocation'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + } + + def __init__(self, *, fqdn: str, location: str, port: int=None, credentials=None, extended_location=None, system_data=None, tags=None, kind: str=None, **kwargs) -> None: + super(VCenter, self).__init__(**kwargs) + self.uuid = None + self.fqdn = fqdn + self.port = port + self.version = None + self.instance_uuid = None + self.connection_status = None + self.custom_resource_name = None + self.credentials = credentials + self.provisioning_state = None + self.location = location + self.extended_location = extended_location + self.system_data = system_data + self.tags = tags + self.name = None + self.id = None + self.type = None + self.kind = kind diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/vi_credential.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/vi_credential.py new file mode 100644 index 00000000000..b30e9e3e835 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/vi_credential.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 VICredential(Model): + """Username / Password Credentials to connect to vcenter. + + :param username: Gets or sets username to connect with the vCenter. + :type username: str + :param password: Gets or sets the password to connect with the vCenter. + :type password: str + """ + + _attribute_map = { + 'username': {'key': 'username', 'type': 'str'}, + 'password': {'key': 'password', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VICredential, self).__init__(**kwargs) + self.username = kwargs.get('username', None) + self.password = kwargs.get('password', None) diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/vi_credential_py3.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/vi_credential_py3.py new file mode 100644 index 00000000000..610c781dc44 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/vi_credential_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 VICredential(Model): + """Username / Password Credentials to connect to vcenter. + + :param username: Gets or sets username to connect with the vCenter. + :type username: str + :param password: Gets or sets the password to connect with the vCenter. + :type password: str + """ + + _attribute_map = { + 'username': {'key': 'username', 'type': 'str'}, + 'password': {'key': 'password', 'type': 'str'}, + } + + def __init__(self, *, username: str=None, password: str=None, **kwargs) -> None: + super(VICredential, self).__init__(**kwargs) + self.username = username + self.password = password diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_disk.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_disk.py new file mode 100644 index 00000000000..dae3de3f68c --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_disk.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 VirtualDisk(Model): + """Virtual disk model. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param name: Gets or sets the name of the virtual disk. + :type name: str + :ivar label: Gets or sets the label of the virtual disk in vCenter. + :vartype label: str + :ivar disk_object_id: Gets or sets the disk object id. + :vartype disk_object_id: str + :param disk_size_gb: Gets or sets the disk total size. + :type disk_size_gb: int + :param device_key: Gets or sets the device key value. + :type device_key: int + :param disk_mode: Gets or sets the disk mode. Possible values include: + 'persistent', 'independent_persistent', 'independent_nonpersistent' + :type disk_mode: str or + ~azure.mgmt.vmware.v2020_10_01_preview.models.DiskMode + :param controller_key: Gets or sets the controller id. + :type controller_key: int + :param unit_number: Gets or sets the unit number of the disk on the + controller. + :type unit_number: int + """ + + _validation = { + 'label': {'readonly': True}, + 'disk_object_id': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'label': {'key': 'label', 'type': 'str'}, + 'disk_object_id': {'key': 'diskObjectId', 'type': 'str'}, + 'disk_size_gb': {'key': 'diskSizeGB', 'type': 'int'}, + 'device_key': {'key': 'deviceKey', 'type': 'int'}, + 'disk_mode': {'key': 'diskMode', 'type': 'str'}, + 'controller_key': {'key': 'controllerKey', 'type': 'int'}, + 'unit_number': {'key': 'unitNumber', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(VirtualDisk, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.label = None + self.disk_object_id = None + self.disk_size_gb = kwargs.get('disk_size_gb', None) + self.device_key = kwargs.get('device_key', None) + self.disk_mode = kwargs.get('disk_mode', None) + self.controller_key = kwargs.get('controller_key', None) + self.unit_number = kwargs.get('unit_number', None) diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_disk_py3.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_disk_py3.py new file mode 100644 index 00000000000..2d5220e4714 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_disk_py3.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 VirtualDisk(Model): + """Virtual disk model. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param name: Gets or sets the name of the virtual disk. + :type name: str + :ivar label: Gets or sets the label of the virtual disk in vCenter. + :vartype label: str + :ivar disk_object_id: Gets or sets the disk object id. + :vartype disk_object_id: str + :param disk_size_gb: Gets or sets the disk total size. + :type disk_size_gb: int + :param device_key: Gets or sets the device key value. + :type device_key: int + :param disk_mode: Gets or sets the disk mode. Possible values include: + 'persistent', 'independent_persistent', 'independent_nonpersistent' + :type disk_mode: str or + ~azure.mgmt.vmware.v2020_10_01_preview.models.DiskMode + :param controller_key: Gets or sets the controller id. + :type controller_key: int + :param unit_number: Gets or sets the unit number of the disk on the + controller. + :type unit_number: int + """ + + _validation = { + 'label': {'readonly': True}, + 'disk_object_id': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'label': {'key': 'label', 'type': 'str'}, + 'disk_object_id': {'key': 'diskObjectId', 'type': 'str'}, + 'disk_size_gb': {'key': 'diskSizeGB', 'type': 'int'}, + 'device_key': {'key': 'deviceKey', 'type': 'int'}, + 'disk_mode': {'key': 'diskMode', 'type': 'str'}, + 'controller_key': {'key': 'controllerKey', 'type': 'int'}, + 'unit_number': {'key': 'unitNumber', 'type': 'int'}, + } + + def __init__(self, *, name: str=None, disk_size_gb: int=None, device_key: int=None, disk_mode=None, controller_key: int=None, unit_number: int=None, **kwargs) -> None: + super(VirtualDisk, self).__init__(**kwargs) + self.name = name + self.label = None + self.disk_object_id = None + self.disk_size_gb = disk_size_gb + self.device_key = device_key + self.disk_mode = disk_mode + self.controller_key = controller_key + self.unit_number = unit_number diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_disk_update.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_disk_update.py new file mode 100644 index 00000000000..2d2348d3b90 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_disk_update.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 VirtualDiskUpdate(Model): + """Defines the virtual disk update. + + :param name: Gets or sets the name of the virtual disk. + :type name: str + :param disk_size_gb: Gets or sets the disk total size. + :type disk_size_gb: int + :param device_key: Gets or sets the device key value. + :type device_key: int + :param disk_mode: Gets or sets the disk mode. Possible values include: + 'persistent', 'independent_persistent', 'independent_nonpersistent' + :type disk_mode: str or + ~azure.mgmt.vmware.v2020_10_01_preview.models.DiskMode + :param controller_key: Gets or sets the controller id. + :type controller_key: int + :param unit_number: Gets or sets the unit number of the disk on the + controller. + :type unit_number: int + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'disk_size_gb': {'key': 'diskSizeGB', 'type': 'int'}, + 'device_key': {'key': 'deviceKey', 'type': 'int'}, + 'disk_mode': {'key': 'diskMode', 'type': 'str'}, + 'controller_key': {'key': 'controllerKey', 'type': 'int'}, + 'unit_number': {'key': 'unitNumber', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(VirtualDiskUpdate, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.disk_size_gb = kwargs.get('disk_size_gb', None) + self.device_key = kwargs.get('device_key', None) + self.disk_mode = kwargs.get('disk_mode', None) + self.controller_key = kwargs.get('controller_key', None) + self.unit_number = kwargs.get('unit_number', None) diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_disk_update_py3.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_disk_update_py3.py new file mode 100644 index 00000000000..d13230fbcd8 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_disk_update_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 VirtualDiskUpdate(Model): + """Defines the virtual disk update. + + :param name: Gets or sets the name of the virtual disk. + :type name: str + :param disk_size_gb: Gets or sets the disk total size. + :type disk_size_gb: int + :param device_key: Gets or sets the device key value. + :type device_key: int + :param disk_mode: Gets or sets the disk mode. Possible values include: + 'persistent', 'independent_persistent', 'independent_nonpersistent' + :type disk_mode: str or + ~azure.mgmt.vmware.v2020_10_01_preview.models.DiskMode + :param controller_key: Gets or sets the controller id. + :type controller_key: int + :param unit_number: Gets or sets the unit number of the disk on the + controller. + :type unit_number: int + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'disk_size_gb': {'key': 'diskSizeGB', 'type': 'int'}, + 'device_key': {'key': 'deviceKey', 'type': 'int'}, + 'disk_mode': {'key': 'diskMode', 'type': 'str'}, + 'controller_key': {'key': 'controllerKey', 'type': 'int'}, + 'unit_number': {'key': 'unitNumber', 'type': 'int'}, + } + + def __init__(self, *, name: str=None, disk_size_gb: int=None, device_key: int=None, disk_mode=None, controller_key: int=None, unit_number: int=None, **kwargs) -> None: + super(VirtualDiskUpdate, self).__init__(**kwargs) + self.name = name + self.disk_size_gb = disk_size_gb + self.device_key = device_key + self.disk_mode = disk_mode + self.controller_key = controller_key + self.unit_number = unit_number diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_machine.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_machine.py new file mode 100644 index 00000000000..8665b0f2129 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_machine.py @@ -0,0 +1,155 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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 VirtualMachine(Model): + """Define the virtualMachine. + + 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 resource_pool_id: Gets or sets the ARM Id of the resourcePool + resource on which this virtual machine will + deploy. + :type resource_pool_id: str + :param template_id: Gets or sets the ARM Id of the template resource to + deploy the virtual machine. + :type template_id: str + :param v_center_id: Gets or sets the ARM Id of the vCenter resource in + which this resource pool resides. + :type v_center_id: str + :param os_profile: OS properties. + :type os_profile: ~azure.mgmt.vmware.v2020_10_01_preview.models.OsProfile + :param hardware_profile: Hardware properties. + :type hardware_profile: + ~azure.mgmt.vmware.v2020_10_01_preview.models.HardwareProfile + :param network_profile: Network properties. + :type network_profile: + ~azure.mgmt.vmware.v2020_10_01_preview.models.NetworkProfile + :param storage_profile: Storage properties. + :type storage_profile: + ~azure.mgmt.vmware.v2020_10_01_preview.models.StorageProfile + :param mo_ref_id: Gets or sets the vCenter MoRef (Managed Object + Reference) ID for the virtual machine. + :type mo_ref_id: str + :param inventory_item_id: Gets or sets the inventory Item ID for the + virtual machine. + :type inventory_item_id: str + :ivar mo_name: Gets or sets the vCenter Managed Object name for the + virtual machine. + :vartype mo_name: str + :ivar folder_path: Gets or sets the folder path of the vm. + :vartype folder_path: str + :ivar instance_uuid: Gets or sets the instance uuid of the vm. + :vartype instance_uuid: str + :ivar power_state: Gets the power state of the virtual machine. + :vartype power_state: str + :ivar custom_resource_name: Gets the name of the corresponding resource in + Kubernetes. + :vartype custom_resource_name: str + :ivar uuid: Gets or sets a unique identifier for this resource. + :vartype uuid: str + :ivar provisioning_state: Gets or sets the provisioning state. + :vartype provisioning_state: str + :param location: Required. Gets or sets the location. + :type location: str + :param extended_location: Gets or sets the extended location. + :type extended_location: + ~azure.mgmt.vmware.v2020_10_01_preview.models.ExtendedLocation + :param system_data: The system data. + :type system_data: + ~azure.mgmt.vmware.v2020_10_01_preview.models.SystemData + :param tags: Gets or sets the Resource tags. + :type tags: dict[str, str] + :ivar name: Gets or sets the name. + :vartype name: str + :ivar id: Gets or sets the Id. + :vartype id: str + :ivar type: Gets or sets the type of the resource. + :vartype type: str + :param kind: Metadata used by portal/tooling/etc to render different UX + experiences for resources of the same type; e.g. ApiApps are a kind of + Microsoft.Web/sites type. If supported, the resource provider must + validate and persist this value. + :type kind: str + """ + + _validation = { + 'mo_name': {'readonly': True}, + 'folder_path': {'readonly': True}, + 'instance_uuid': {'readonly': True}, + 'power_state': {'readonly': True}, + 'custom_resource_name': {'readonly': True}, + 'uuid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'location': {'required': True}, + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'resource_pool_id': {'key': 'properties.resourcePoolId', 'type': 'str'}, + 'template_id': {'key': 'properties.templateId', 'type': 'str'}, + 'v_center_id': {'key': 'properties.vCenterId', 'type': 'str'}, + 'os_profile': {'key': 'properties.osProfile', 'type': 'OsProfile'}, + 'hardware_profile': {'key': 'properties.hardwareProfile', 'type': 'HardwareProfile'}, + 'network_profile': {'key': 'properties.networkProfile', 'type': 'NetworkProfile'}, + 'storage_profile': {'key': 'properties.storageProfile', 'type': 'StorageProfile'}, + 'mo_ref_id': {'key': 'properties.moRefId', 'type': 'str'}, + 'inventory_item_id': {'key': 'properties.inventoryItemId', 'type': 'str'}, + 'mo_name': {'key': 'properties.moName', 'type': 'str'}, + 'folder_path': {'key': 'properties.folderPath', 'type': 'str'}, + 'instance_uuid': {'key': 'properties.instanceUuid', 'type': 'str'}, + 'power_state': {'key': 'properties.powerState', 'type': 'str'}, + 'custom_resource_name': {'key': 'properties.customResourceName', 'type': 'str'}, + 'uuid': {'key': 'properties.uuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'extended_location': {'key': 'extendedLocation', 'type': 'ExtendedLocation'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualMachine, self).__init__(**kwargs) + self.resource_pool_id = kwargs.get('resource_pool_id', None) + self.template_id = kwargs.get('template_id', None) + self.v_center_id = kwargs.get('v_center_id', None) + self.os_profile = kwargs.get('os_profile', None) + self.hardware_profile = kwargs.get('hardware_profile', None) + self.network_profile = kwargs.get('network_profile', None) + self.storage_profile = kwargs.get('storage_profile', None) + self.mo_ref_id = kwargs.get('mo_ref_id', None) + self.inventory_item_id = kwargs.get('inventory_item_id', None) + self.mo_name = None + self.folder_path = None + self.instance_uuid = None + self.power_state = None + self.custom_resource_name = None + self.uuid = None + self.provisioning_state = None + self.location = kwargs.get('location', None) + self.extended_location = kwargs.get('extended_location', None) + self.system_data = kwargs.get('system_data', None) + self.tags = kwargs.get('tags', None) + self.name = None + self.id = None + self.type = None + self.kind = kwargs.get('kind', None) diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_machine_inventory_item.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_machine_inventory_item.py new file mode 100644 index 00000000000..1a339e34b16 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_machine_inventory_item.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 .inventory_item_properties import InventoryItemProperties + + +class VirtualMachineInventoryItem(InventoryItemProperties): + """The VM inventory item. + + 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 managed_resource_id: Gets or sets the tracked resource id + corresponding to the inventory resource. + :type managed_resource_id: str + :param mo_ref_id: Gets or sets the MoRef (Managed Object Reference) ID for + the inventory item. + :type mo_ref_id: str + :param mo_name: Gets or sets the vCenter Managed Object name for the + inventory item. + :type mo_name: str + :ivar provisioning_state: Gets or sets the provisioning state. + :vartype provisioning_state: str + :param inventory_type: Required. Constant filled by server. + :type inventory_type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'inventory_type': {'required': True}, + } + + _attribute_map = { + 'managed_resource_id': {'key': 'managedResourceId', 'type': 'str'}, + 'mo_ref_id': {'key': 'moRefId', 'type': 'str'}, + 'mo_name': {'key': 'moName', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'inventory_type': {'key': 'inventoryType', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualMachineInventoryItem, self).__init__(**kwargs) + self.inventory_type = 'VirtualMachine' diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_machine_inventory_item_py3.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_machine_inventory_item_py3.py new file mode 100644 index 00000000000..121defd8577 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_machine_inventory_item_py3.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 .inventory_item_properties_py3 import InventoryItemProperties + + +class VirtualMachineInventoryItem(InventoryItemProperties): + """The VM inventory item. + + 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 managed_resource_id: Gets or sets the tracked resource id + corresponding to the inventory resource. + :type managed_resource_id: str + :param mo_ref_id: Gets or sets the MoRef (Managed Object Reference) ID for + the inventory item. + :type mo_ref_id: str + :param mo_name: Gets or sets the vCenter Managed Object name for the + inventory item. + :type mo_name: str + :ivar provisioning_state: Gets or sets the provisioning state. + :vartype provisioning_state: str + :param inventory_type: Required. Constant filled by server. + :type inventory_type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'inventory_type': {'required': True}, + } + + _attribute_map = { + 'managed_resource_id': {'key': 'managedResourceId', 'type': 'str'}, + 'mo_ref_id': {'key': 'moRefId', 'type': 'str'}, + 'mo_name': {'key': 'moName', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'inventory_type': {'key': 'inventoryType', 'type': 'str'}, + } + + def __init__(self, *, managed_resource_id: str=None, mo_ref_id: str=None, mo_name: str=None, **kwargs) -> None: + super(VirtualMachineInventoryItem, self).__init__(managed_resource_id=managed_resource_id, mo_ref_id=mo_ref_id, mo_name=mo_name, **kwargs) + self.inventory_type = 'VirtualMachine' diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_machine_paged.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_machine_paged.py new file mode 100644 index 00000000000..9d3eba3a151 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_machine_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 VirtualMachinePaged(Paged): + """ + A paging container for iterating over a list of :class:`VirtualMachine ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VirtualMachine]'} + } + + def __init__(self, *args, **kwargs): + + super(VirtualMachinePaged, self).__init__(*args, **kwargs) diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_machine_py3.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_machine_py3.py new file mode 100644 index 00000000000..6363cb2d971 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_machine_py3.py @@ -0,0 +1,155 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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 VirtualMachine(Model): + """Define the virtualMachine. + + 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 resource_pool_id: Gets or sets the ARM Id of the resourcePool + resource on which this virtual machine will + deploy. + :type resource_pool_id: str + :param template_id: Gets or sets the ARM Id of the template resource to + deploy the virtual machine. + :type template_id: str + :param v_center_id: Gets or sets the ARM Id of the vCenter resource in + which this resource pool resides. + :type v_center_id: str + :param os_profile: OS properties. + :type os_profile: ~azure.mgmt.vmware.v2020_10_01_preview.models.OsProfile + :param hardware_profile: Hardware properties. + :type hardware_profile: + ~azure.mgmt.vmware.v2020_10_01_preview.models.HardwareProfile + :param network_profile: Network properties. + :type network_profile: + ~azure.mgmt.vmware.v2020_10_01_preview.models.NetworkProfile + :param storage_profile: Storage properties. + :type storage_profile: + ~azure.mgmt.vmware.v2020_10_01_preview.models.StorageProfile + :param mo_ref_id: Gets or sets the vCenter MoRef (Managed Object + Reference) ID for the virtual machine. + :type mo_ref_id: str + :param inventory_item_id: Gets or sets the inventory Item ID for the + virtual machine. + :type inventory_item_id: str + :ivar mo_name: Gets or sets the vCenter Managed Object name for the + virtual machine. + :vartype mo_name: str + :ivar folder_path: Gets or sets the folder path of the vm. + :vartype folder_path: str + :ivar instance_uuid: Gets or sets the instance uuid of the vm. + :vartype instance_uuid: str + :ivar power_state: Gets the power state of the virtual machine. + :vartype power_state: str + :ivar custom_resource_name: Gets the name of the corresponding resource in + Kubernetes. + :vartype custom_resource_name: str + :ivar uuid: Gets or sets a unique identifier for this resource. + :vartype uuid: str + :ivar provisioning_state: Gets or sets the provisioning state. + :vartype provisioning_state: str + :param location: Required. Gets or sets the location. + :type location: str + :param extended_location: Gets or sets the extended location. + :type extended_location: + ~azure.mgmt.vmware.v2020_10_01_preview.models.ExtendedLocation + :param system_data: The system data. + :type system_data: + ~azure.mgmt.vmware.v2020_10_01_preview.models.SystemData + :param tags: Gets or sets the Resource tags. + :type tags: dict[str, str] + :ivar name: Gets or sets the name. + :vartype name: str + :ivar id: Gets or sets the Id. + :vartype id: str + :ivar type: Gets or sets the type of the resource. + :vartype type: str + :param kind: Metadata used by portal/tooling/etc to render different UX + experiences for resources of the same type; e.g. ApiApps are a kind of + Microsoft.Web/sites type. If supported, the resource provider must + validate and persist this value. + :type kind: str + """ + + _validation = { + 'mo_name': {'readonly': True}, + 'folder_path': {'readonly': True}, + 'instance_uuid': {'readonly': True}, + 'power_state': {'readonly': True}, + 'custom_resource_name': {'readonly': True}, + 'uuid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'location': {'required': True}, + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'resource_pool_id': {'key': 'properties.resourcePoolId', 'type': 'str'}, + 'template_id': {'key': 'properties.templateId', 'type': 'str'}, + 'v_center_id': {'key': 'properties.vCenterId', 'type': 'str'}, + 'os_profile': {'key': 'properties.osProfile', 'type': 'OsProfile'}, + 'hardware_profile': {'key': 'properties.hardwareProfile', 'type': 'HardwareProfile'}, + 'network_profile': {'key': 'properties.networkProfile', 'type': 'NetworkProfile'}, + 'storage_profile': {'key': 'properties.storageProfile', 'type': 'StorageProfile'}, + 'mo_ref_id': {'key': 'properties.moRefId', 'type': 'str'}, + 'inventory_item_id': {'key': 'properties.inventoryItemId', 'type': 'str'}, + 'mo_name': {'key': 'properties.moName', 'type': 'str'}, + 'folder_path': {'key': 'properties.folderPath', 'type': 'str'}, + 'instance_uuid': {'key': 'properties.instanceUuid', 'type': 'str'}, + 'power_state': {'key': 'properties.powerState', 'type': 'str'}, + 'custom_resource_name': {'key': 'properties.customResourceName', 'type': 'str'}, + 'uuid': {'key': 'properties.uuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'extended_location': {'key': 'extendedLocation', 'type': 'ExtendedLocation'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + } + + def __init__(self, *, location: str, resource_pool_id: str=None, template_id: str=None, v_center_id: str=None, os_profile=None, hardware_profile=None, network_profile=None, storage_profile=None, mo_ref_id: str=None, inventory_item_id: str=None, extended_location=None, system_data=None, tags=None, kind: str=None, **kwargs) -> None: + super(VirtualMachine, self).__init__(**kwargs) + self.resource_pool_id = resource_pool_id + self.template_id = template_id + self.v_center_id = v_center_id + self.os_profile = os_profile + self.hardware_profile = hardware_profile + self.network_profile = network_profile + self.storage_profile = storage_profile + self.mo_ref_id = mo_ref_id + self.inventory_item_id = inventory_item_id + self.mo_name = None + self.folder_path = None + self.instance_uuid = None + self.power_state = None + self.custom_resource_name = None + self.uuid = None + self.provisioning_state = None + self.location = location + self.extended_location = extended_location + self.system_data = system_data + self.tags = tags + self.name = None + self.id = None + self.type = None + self.kind = kind diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_machine_template.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_machine_template.py new file mode 100644 index 00000000000..1c44ddb5300 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_machine_template.py @@ -0,0 +1,158 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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 VirtualMachineTemplate(Model): + """Define the virtualMachineTemplate. + + 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 uuid: Gets or sets a unique identifier for this resource. + :vartype uuid: str + :param v_center_id: Gets or sets the ARM Id of the vCenter resource in + which this template resides. + :type v_center_id: str + :param mo_ref_id: Gets or sets the vCenter MoRef (Managed Object + Reference) ID for the virtual machine + template. + :type mo_ref_id: str + :param inventory_item_id: Gets or sets the inventory Item ID for the + virtual machine template. + :type inventory_item_id: str + :ivar mo_name: Gets or sets the vCenter Managed Object name for the + virtual machine template. + :vartype mo_name: str + :ivar memory_size_mb: Gets or sets memory size in MBs for the template. + :vartype memory_size_mb: int + :ivar num_cp_us: Gets or sets the number of vCPUs for the template. + :vartype num_cp_us: int + :ivar num_cores_per_socket: Gets or sets the number of cores per socket + for the template. + Defaults to 1 if unspecified. + :vartype num_cores_per_socket: int + :ivar os_type: Gets or sets the type of the os. Possible values include: + 'Windows', 'Linux', 'Other' + :vartype os_type: str or + ~azure.mgmt.vmware.v2020_10_01_preview.models.OsType + :ivar os_name: Gets or sets os name. + :vartype os_name: str + :ivar folder_path: Gets or sets the folder path of the template. + :vartype folder_path: str + :ivar network_interfaces: Gets or sets the network interfaces of the + template. + :vartype network_interfaces: + list[~azure.mgmt.vmware.v2020_10_01_preview.models.NetworkInterface] + :ivar disks: Gets or sets the disks the template. + :vartype disks: + list[~azure.mgmt.vmware.v2020_10_01_preview.models.VirtualDisk] + :ivar custom_resource_name: Gets the name of the corresponding resource in + Kubernetes. + :vartype custom_resource_name: str + :ivar provisioning_state: Gets or sets the provisioning state. + :vartype provisioning_state: str + :param location: Required. Gets or sets the location. + :type location: str + :param extended_location: Gets or sets the extended location. + :type extended_location: + ~azure.mgmt.vmware.v2020_10_01_preview.models.ExtendedLocation + :param system_data: The system data. + :type system_data: + ~azure.mgmt.vmware.v2020_10_01_preview.models.SystemData + :param tags: Gets or sets the Resource tags. + :type tags: dict[str, str] + :ivar name: Gets or sets the name. + :vartype name: str + :ivar id: Gets or sets the Id. + :vartype id: str + :ivar type: Gets or sets the type of the resource. + :vartype type: str + :param kind: Metadata used by portal/tooling/etc to render different UX + experiences for resources of the same type; e.g. ApiApps are a kind of + Microsoft.Web/sites type. If supported, the resource provider must + validate and persist this value. + :type kind: str + """ + + _validation = { + 'uuid': {'readonly': True}, + 'mo_name': {'readonly': True}, + 'memory_size_mb': {'readonly': True}, + 'num_cp_us': {'readonly': True}, + 'num_cores_per_socket': {'readonly': True}, + 'os_type': {'readonly': True}, + 'os_name': {'readonly': True}, + 'folder_path': {'readonly': True}, + 'network_interfaces': {'readonly': True}, + 'disks': {'readonly': True}, + 'custom_resource_name': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'location': {'required': True}, + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'uuid': {'key': 'properties.uuid', 'type': 'str'}, + 'v_center_id': {'key': 'properties.vCenterId', 'type': 'str'}, + 'mo_ref_id': {'key': 'properties.moRefId', 'type': 'str'}, + 'inventory_item_id': {'key': 'properties.inventoryItemId', 'type': 'str'}, + 'mo_name': {'key': 'properties.moName', 'type': 'str'}, + 'memory_size_mb': {'key': 'properties.memorySizeMB', 'type': 'int'}, + 'num_cp_us': {'key': 'properties.numCPUs', 'type': 'int'}, + 'num_cores_per_socket': {'key': 'properties.numCoresPerSocket', 'type': 'int'}, + 'os_type': {'key': 'properties.osType', 'type': 'str'}, + 'os_name': {'key': 'properties.osName', 'type': 'str'}, + 'folder_path': {'key': 'properties.folderPath', 'type': 'str'}, + 'network_interfaces': {'key': 'properties.networkInterfaces', 'type': '[NetworkInterface]'}, + 'disks': {'key': 'properties.disks', 'type': '[VirtualDisk]'}, + 'custom_resource_name': {'key': 'properties.customResourceName', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'extended_location': {'key': 'extendedLocation', 'type': 'ExtendedLocation'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualMachineTemplate, self).__init__(**kwargs) + self.uuid = None + self.v_center_id = kwargs.get('v_center_id', None) + self.mo_ref_id = kwargs.get('mo_ref_id', None) + self.inventory_item_id = kwargs.get('inventory_item_id', None) + self.mo_name = None + self.memory_size_mb = None + self.num_cp_us = None + self.num_cores_per_socket = None + self.os_type = None + self.os_name = None + self.folder_path = None + self.network_interfaces = None + self.disks = None + self.custom_resource_name = None + self.provisioning_state = None + self.location = kwargs.get('location', None) + self.extended_location = kwargs.get('extended_location', None) + self.system_data = kwargs.get('system_data', None) + self.tags = kwargs.get('tags', None) + self.name = None + self.id = None + self.type = None + self.kind = kwargs.get('kind', None) diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_machine_template_inventory_item.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_machine_template_inventory_item.py new file mode 100644 index 00000000000..8ea04b80604 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_machine_template_inventory_item.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 .inventory_item_properties import InventoryItemProperties + + +class VirtualMachineTemplateInventoryItem(InventoryItemProperties): + """The VM Template inventory item. + + 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 managed_resource_id: Gets or sets the tracked resource id + corresponding to the inventory resource. + :type managed_resource_id: str + :param mo_ref_id: Gets or sets the MoRef (Managed Object Reference) ID for + the inventory item. + :type mo_ref_id: str + :param mo_name: Gets or sets the vCenter Managed Object name for the + inventory item. + :type mo_name: str + :ivar provisioning_state: Gets or sets the provisioning state. + :vartype provisioning_state: str + :param inventory_type: Required. Constant filled by server. + :type inventory_type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'inventory_type': {'required': True}, + } + + _attribute_map = { + 'managed_resource_id': {'key': 'managedResourceId', 'type': 'str'}, + 'mo_ref_id': {'key': 'moRefId', 'type': 'str'}, + 'mo_name': {'key': 'moName', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'inventory_type': {'key': 'inventoryType', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualMachineTemplateInventoryItem, self).__init__(**kwargs) + self.inventory_type = 'VirtualMachineTemplate' diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_machine_template_inventory_item_py3.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_machine_template_inventory_item_py3.py new file mode 100644 index 00000000000..560d071c52d --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_machine_template_inventory_item_py3.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 .inventory_item_properties_py3 import InventoryItemProperties + + +class VirtualMachineTemplateInventoryItem(InventoryItemProperties): + """The VM Template inventory item. + + 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 managed_resource_id: Gets or sets the tracked resource id + corresponding to the inventory resource. + :type managed_resource_id: str + :param mo_ref_id: Gets or sets the MoRef (Managed Object Reference) ID for + the inventory item. + :type mo_ref_id: str + :param mo_name: Gets or sets the vCenter Managed Object name for the + inventory item. + :type mo_name: str + :ivar provisioning_state: Gets or sets the provisioning state. + :vartype provisioning_state: str + :param inventory_type: Required. Constant filled by server. + :type inventory_type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'inventory_type': {'required': True}, + } + + _attribute_map = { + 'managed_resource_id': {'key': 'managedResourceId', 'type': 'str'}, + 'mo_ref_id': {'key': 'moRefId', 'type': 'str'}, + 'mo_name': {'key': 'moName', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'inventory_type': {'key': 'inventoryType', 'type': 'str'}, + } + + def __init__(self, *, managed_resource_id: str=None, mo_ref_id: str=None, mo_name: str=None, **kwargs) -> None: + super(VirtualMachineTemplateInventoryItem, self).__init__(managed_resource_id=managed_resource_id, mo_ref_id=mo_ref_id, mo_name=mo_name, **kwargs) + self.inventory_type = 'VirtualMachineTemplate' diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_machine_template_paged.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_machine_template_paged.py new file mode 100644 index 00000000000..08665faf2fd --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_machine_template_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 VirtualMachineTemplatePaged(Paged): + """ + A paging container for iterating over a list of :class:`VirtualMachineTemplate ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VirtualMachineTemplate]'} + } + + def __init__(self, *args, **kwargs): + + super(VirtualMachineTemplatePaged, self).__init__(*args, **kwargs) diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_machine_template_py3.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_machine_template_py3.py new file mode 100644 index 00000000000..d56d529952f --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_machine_template_py3.py @@ -0,0 +1,158 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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 VirtualMachineTemplate(Model): + """Define the virtualMachineTemplate. + + 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 uuid: Gets or sets a unique identifier for this resource. + :vartype uuid: str + :param v_center_id: Gets or sets the ARM Id of the vCenter resource in + which this template resides. + :type v_center_id: str + :param mo_ref_id: Gets or sets the vCenter MoRef (Managed Object + Reference) ID for the virtual machine + template. + :type mo_ref_id: str + :param inventory_item_id: Gets or sets the inventory Item ID for the + virtual machine template. + :type inventory_item_id: str + :ivar mo_name: Gets or sets the vCenter Managed Object name for the + virtual machine template. + :vartype mo_name: str + :ivar memory_size_mb: Gets or sets memory size in MBs for the template. + :vartype memory_size_mb: int + :ivar num_cp_us: Gets or sets the number of vCPUs for the template. + :vartype num_cp_us: int + :ivar num_cores_per_socket: Gets or sets the number of cores per socket + for the template. + Defaults to 1 if unspecified. + :vartype num_cores_per_socket: int + :ivar os_type: Gets or sets the type of the os. Possible values include: + 'Windows', 'Linux', 'Other' + :vartype os_type: str or + ~azure.mgmt.vmware.v2020_10_01_preview.models.OsType + :ivar os_name: Gets or sets os name. + :vartype os_name: str + :ivar folder_path: Gets or sets the folder path of the template. + :vartype folder_path: str + :ivar network_interfaces: Gets or sets the network interfaces of the + template. + :vartype network_interfaces: + list[~azure.mgmt.vmware.v2020_10_01_preview.models.NetworkInterface] + :ivar disks: Gets or sets the disks the template. + :vartype disks: + list[~azure.mgmt.vmware.v2020_10_01_preview.models.VirtualDisk] + :ivar custom_resource_name: Gets the name of the corresponding resource in + Kubernetes. + :vartype custom_resource_name: str + :ivar provisioning_state: Gets or sets the provisioning state. + :vartype provisioning_state: str + :param location: Required. Gets or sets the location. + :type location: str + :param extended_location: Gets or sets the extended location. + :type extended_location: + ~azure.mgmt.vmware.v2020_10_01_preview.models.ExtendedLocation + :param system_data: The system data. + :type system_data: + ~azure.mgmt.vmware.v2020_10_01_preview.models.SystemData + :param tags: Gets or sets the Resource tags. + :type tags: dict[str, str] + :ivar name: Gets or sets the name. + :vartype name: str + :ivar id: Gets or sets the Id. + :vartype id: str + :ivar type: Gets or sets the type of the resource. + :vartype type: str + :param kind: Metadata used by portal/tooling/etc to render different UX + experiences for resources of the same type; e.g. ApiApps are a kind of + Microsoft.Web/sites type. If supported, the resource provider must + validate and persist this value. + :type kind: str + """ + + _validation = { + 'uuid': {'readonly': True}, + 'mo_name': {'readonly': True}, + 'memory_size_mb': {'readonly': True}, + 'num_cp_us': {'readonly': True}, + 'num_cores_per_socket': {'readonly': True}, + 'os_type': {'readonly': True}, + 'os_name': {'readonly': True}, + 'folder_path': {'readonly': True}, + 'network_interfaces': {'readonly': True}, + 'disks': {'readonly': True}, + 'custom_resource_name': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'location': {'required': True}, + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'uuid': {'key': 'properties.uuid', 'type': 'str'}, + 'v_center_id': {'key': 'properties.vCenterId', 'type': 'str'}, + 'mo_ref_id': {'key': 'properties.moRefId', 'type': 'str'}, + 'inventory_item_id': {'key': 'properties.inventoryItemId', 'type': 'str'}, + 'mo_name': {'key': 'properties.moName', 'type': 'str'}, + 'memory_size_mb': {'key': 'properties.memorySizeMB', 'type': 'int'}, + 'num_cp_us': {'key': 'properties.numCPUs', 'type': 'int'}, + 'num_cores_per_socket': {'key': 'properties.numCoresPerSocket', 'type': 'int'}, + 'os_type': {'key': 'properties.osType', 'type': 'str'}, + 'os_name': {'key': 'properties.osName', 'type': 'str'}, + 'folder_path': {'key': 'properties.folderPath', 'type': 'str'}, + 'network_interfaces': {'key': 'properties.networkInterfaces', 'type': '[NetworkInterface]'}, + 'disks': {'key': 'properties.disks', 'type': '[VirtualDisk]'}, + 'custom_resource_name': {'key': 'properties.customResourceName', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'extended_location': {'key': 'extendedLocation', 'type': 'ExtendedLocation'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + } + + def __init__(self, *, location: str, v_center_id: str=None, mo_ref_id: str=None, inventory_item_id: str=None, extended_location=None, system_data=None, tags=None, kind: str=None, **kwargs) -> None: + super(VirtualMachineTemplate, self).__init__(**kwargs) + self.uuid = None + self.v_center_id = v_center_id + self.mo_ref_id = mo_ref_id + self.inventory_item_id = inventory_item_id + self.mo_name = None + self.memory_size_mb = None + self.num_cp_us = None + self.num_cores_per_socket = None + self.os_type = None + self.os_name = None + self.folder_path = None + self.network_interfaces = None + self.disks = None + self.custom_resource_name = None + self.provisioning_state = None + self.location = location + self.extended_location = extended_location + self.system_data = system_data + self.tags = tags + self.name = None + self.id = None + self.type = None + self.kind = kind diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_machine_update.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_machine_update.py new file mode 100644 index 00000000000..557160c0127 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_machine_update.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 VirtualMachineUpdate(Model): + """Defines the virtualMachineUpdate. + + :param hardware_profile: + :type hardware_profile: + ~azure.mgmt.vmware.v2020_10_01_preview.models.HardwareProfile + :param storage_profile: + :type storage_profile: + ~azure.mgmt.vmware.v2020_10_01_preview.models.StorageProfileUpdate + :param network_profile: + :type network_profile: + ~azure.mgmt.vmware.v2020_10_01_preview.models.NetworkProfileUpdate + :param tags: Gets or sets the Resource tags. + :type tags: dict[str, str] + """ + + _attribute_map = { + 'hardware_profile': { + 'key': 'properties.hardwareProfile', + 'type': 'HardwareProfile', + }, + 'storage_profile': { + 'key': 'properties.storageProfile', + 'type': 'StorageProfileUpdate', + }, + 'network_profile': { + 'key': 'properties.networkProfile', + 'type': 'NetworkProfileUpdate', + }, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(VirtualMachineUpdate, self).__init__(**kwargs) + self.hardware_profile = kwargs.get('hardware_profile', None) + self.storage_profile = kwargs.get('storage_profile', None) + self.network_profile = kwargs.get('network_profile', None) + self.tags = kwargs.get('tags', None) diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_machine_update_py3.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_machine_update_py3.py new file mode 100644 index 00000000000..27dd9c3547f --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_machine_update_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 VirtualMachineUpdate(Model): + """Defines the virtualMachineUpdate. + + :param hardware_profile: + :type hardware_profile: + ~azure.mgmt.vmware.v2020_10_01_preview.models.HardwareProfile + :param storage_profile: + :type storage_profile: + ~azure.mgmt.vmware.v2020_10_01_preview.models.StorageProfileUpdate + :param network_profile: + :type network_profile: + ~azure.mgmt.vmware.v2020_10_01_preview.models.NetworkProfileUpdate + :param tags: Gets or sets the Resource tags. + :type tags: dict[str, str] + """ + + _attribute_map = { + 'hardware_profile': {'key': 'properties.hardwareProfile', 'type': 'HardwareProfile'}, + 'storage_profile': {'key': 'properties.storageProfile', 'type': 'StorageProfileUpdate'}, + 'network_profile': {'key': 'properties.networkProfile', 'type': 'NetworkProfileUpdate'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, hardware_profile=None, storage_profile=None, network_profile=None, tags=None, **kwargs) -> None: + super(VirtualMachineUpdate, self).__init__(**kwargs) + self.hardware_profile = hardware_profile + self.storage_profile = storage_profile + self.network_profile = network_profile + self.tags = tags diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_network.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_network.py new file mode 100644 index 00000000000..3011728b608 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_network.py @@ -0,0 +1,110 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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 VirtualNetwork(Model): + """Define the virtualNetwork. + + 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 uuid: Gets or sets a unique identifier for this resource. + :vartype uuid: str + :param v_center_id: Gets or sets the ARM Id of the vCenter resource in + which this template resides. + :type v_center_id: str + :param mo_ref_id: Gets or sets the vCenter MoRef (Managed Object + Reference) ID for the virtual network. + :type mo_ref_id: str + :param inventory_item_id: Gets or sets the inventory Item ID for the + virtual network. + :type inventory_item_id: str + :ivar mo_name: Gets or sets the vCenter Managed Object name for the + virtual network. + :vartype mo_name: str + :ivar custom_resource_name: Gets the name of the corresponding resource in + Kubernetes. + :vartype custom_resource_name: str + :ivar provisioning_state: Gets or sets the provisioning state. + :vartype provisioning_state: str + :param location: Required. Gets or sets the location. + :type location: str + :param extended_location: Gets or sets the extended location. + :type extended_location: + ~azure.mgmt.vmware.v2020_10_01_preview.models.ExtendedLocation + :param system_data: The system data. + :type system_data: + ~azure.mgmt.vmware.v2020_10_01_preview.models.SystemData + :param tags: Gets or sets the Resource tags. + :type tags: dict[str, str] + :ivar name: Gets or sets the name. + :vartype name: str + :ivar id: Gets or sets the Id. + :vartype id: str + :ivar type: Gets or sets the type of the resource. + :vartype type: str + :param kind: Metadata used by portal/tooling/etc to render different UX + experiences for resources of the same type; e.g. ApiApps are a kind of + Microsoft.Web/sites type. If supported, the resource provider must + validate and persist this value. + :type kind: str + """ + + _validation = { + 'uuid': {'readonly': True}, + 'mo_name': {'readonly': True}, + 'custom_resource_name': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'location': {'required': True}, + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'uuid': {'key': 'properties.uuid', 'type': 'str'}, + 'v_center_id': {'key': 'properties.vCenterId', 'type': 'str'}, + 'mo_ref_id': {'key': 'properties.moRefId', 'type': 'str'}, + 'inventory_item_id': {'key': 'properties.inventoryItemId', 'type': 'str'}, + 'mo_name': {'key': 'properties.moName', 'type': 'str'}, + 'custom_resource_name': {'key': 'properties.customResourceName', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'extended_location': {'key': 'extendedLocation', 'type': 'ExtendedLocation'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualNetwork, self).__init__(**kwargs) + self.uuid = None + self.v_center_id = kwargs.get('v_center_id', None) + self.mo_ref_id = kwargs.get('mo_ref_id', None) + self.inventory_item_id = kwargs.get('inventory_item_id', None) + self.mo_name = None + self.custom_resource_name = None + self.provisioning_state = None + self.location = kwargs.get('location', None) + self.extended_location = kwargs.get('extended_location', None) + self.system_data = kwargs.get('system_data', None) + self.tags = kwargs.get('tags', None) + self.name = None + self.id = None + self.type = None + self.kind = kwargs.get('kind', None) diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_network_inventory_item.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_network_inventory_item.py new file mode 100644 index 00000000000..ff3c1103a9a --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_network_inventory_item.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 .inventory_item_properties import InventoryItemProperties + + +class VirtualNetworkInventoryItem(InventoryItemProperties): + """The Virtual network inventory item. + + 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 managed_resource_id: Gets or sets the tracked resource id + corresponding to the inventory resource. + :type managed_resource_id: str + :param mo_ref_id: Gets or sets the MoRef (Managed Object Reference) ID for + the inventory item. + :type mo_ref_id: str + :param mo_name: Gets or sets the vCenter Managed Object name for the + inventory item. + :type mo_name: str + :ivar provisioning_state: Gets or sets the provisioning state. + :vartype provisioning_state: str + :param inventory_type: Required. Constant filled by server. + :type inventory_type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'inventory_type': {'required': True}, + } + + _attribute_map = { + 'managed_resource_id': {'key': 'managedResourceId', 'type': 'str'}, + 'mo_ref_id': {'key': 'moRefId', 'type': 'str'}, + 'mo_name': {'key': 'moName', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'inventory_type': {'key': 'inventoryType', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualNetworkInventoryItem, self).__init__(**kwargs) + self.inventory_type = 'VirtualNetwork' diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_network_inventory_item_py3.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_network_inventory_item_py3.py new file mode 100644 index 00000000000..6a13935f6c6 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_network_inventory_item_py3.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 .inventory_item_properties_py3 import InventoryItemProperties + + +class VirtualNetworkInventoryItem(InventoryItemProperties): + """The Virtual network inventory item. + + 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 managed_resource_id: Gets or sets the tracked resource id + corresponding to the inventory resource. + :type managed_resource_id: str + :param mo_ref_id: Gets or sets the MoRef (Managed Object Reference) ID for + the inventory item. + :type mo_ref_id: str + :param mo_name: Gets or sets the vCenter Managed Object name for the + inventory item. + :type mo_name: str + :ivar provisioning_state: Gets or sets the provisioning state. + :vartype provisioning_state: str + :param inventory_type: Required. Constant filled by server. + :type inventory_type: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'inventory_type': {'required': True}, + } + + _attribute_map = { + 'managed_resource_id': {'key': 'managedResourceId', 'type': 'str'}, + 'mo_ref_id': {'key': 'moRefId', 'type': 'str'}, + 'mo_name': {'key': 'moName', 'type': 'str'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'inventory_type': {'key': 'inventoryType', 'type': 'str'}, + } + + def __init__(self, *, managed_resource_id: str=None, mo_ref_id: str=None, mo_name: str=None, **kwargs) -> None: + super(VirtualNetworkInventoryItem, self).__init__(managed_resource_id=managed_resource_id, mo_ref_id=mo_ref_id, mo_name=mo_name, **kwargs) + self.inventory_type = 'VirtualNetwork' diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_network_paged.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_network_paged.py new file mode 100644 index 00000000000..f32a65ad6f1 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_network_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 VirtualNetworkPaged(Paged): + """ + A paging container for iterating over a list of :class:`VirtualNetwork ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VirtualNetwork]'} + } + + def __init__(self, *args, **kwargs): + + super(VirtualNetworkPaged, self).__init__(*args, **kwargs) diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_network_py3.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_network_py3.py new file mode 100644 index 00000000000..b6b7066bbc0 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_network_py3.py @@ -0,0 +1,110 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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 VirtualNetwork(Model): + """Define the virtualNetwork. + + 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 uuid: Gets or sets a unique identifier for this resource. + :vartype uuid: str + :param v_center_id: Gets or sets the ARM Id of the vCenter resource in + which this template resides. + :type v_center_id: str + :param mo_ref_id: Gets or sets the vCenter MoRef (Managed Object + Reference) ID for the virtual network. + :type mo_ref_id: str + :param inventory_item_id: Gets or sets the inventory Item ID for the + virtual network. + :type inventory_item_id: str + :ivar mo_name: Gets or sets the vCenter Managed Object name for the + virtual network. + :vartype mo_name: str + :ivar custom_resource_name: Gets the name of the corresponding resource in + Kubernetes. + :vartype custom_resource_name: str + :ivar provisioning_state: Gets or sets the provisioning state. + :vartype provisioning_state: str + :param location: Required. Gets or sets the location. + :type location: str + :param extended_location: Gets or sets the extended location. + :type extended_location: + ~azure.mgmt.vmware.v2020_10_01_preview.models.ExtendedLocation + :param system_data: The system data. + :type system_data: + ~azure.mgmt.vmware.v2020_10_01_preview.models.SystemData + :param tags: Gets or sets the Resource tags. + :type tags: dict[str, str] + :ivar name: Gets or sets the name. + :vartype name: str + :ivar id: Gets or sets the Id. + :vartype id: str + :ivar type: Gets or sets the type of the resource. + :vartype type: str + :param kind: Metadata used by portal/tooling/etc to render different UX + experiences for resources of the same type; e.g. ApiApps are a kind of + Microsoft.Web/sites type. If supported, the resource provider must + validate and persist this value. + :type kind: str + """ + + _validation = { + 'uuid': {'readonly': True}, + 'mo_name': {'readonly': True}, + 'custom_resource_name': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'location': {'required': True}, + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'uuid': {'key': 'properties.uuid', 'type': 'str'}, + 'v_center_id': {'key': 'properties.vCenterId', 'type': 'str'}, + 'mo_ref_id': {'key': 'properties.moRefId', 'type': 'str'}, + 'inventory_item_id': {'key': 'properties.inventoryItemId', 'type': 'str'}, + 'mo_name': {'key': 'properties.moName', 'type': 'str'}, + 'custom_resource_name': {'key': 'properties.customResourceName', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'extended_location': {'key': 'extendedLocation', 'type': 'ExtendedLocation'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + } + + def __init__(self, *, location: str, v_center_id: str=None, mo_ref_id: str=None, inventory_item_id: str=None, extended_location=None, system_data=None, tags=None, kind: str=None, **kwargs) -> None: + super(VirtualNetwork, self).__init__(**kwargs) + self.uuid = None + self.v_center_id = v_center_id + self.mo_ref_id = mo_ref_id + self.inventory_item_id = inventory_item_id + self.mo_name = None + self.custom_resource_name = None + self.provisioning_state = None + self.location = location + self.extended_location = extended_location + self.system_data = system_data + self.tags = tags + self.name = None + self.id = None + self.type = None + self.kind = kind diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_scsi_controller.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_scsi_controller.py new file mode 100644 index 00000000000..02eb05acda7 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_scsi_controller.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 VirtualSCSIController(Model): + """This data object type contains the properties of a SCSI controller device + attached to a virtual machine that is reported by the controller. + + :param type: Gets or sets the controller type. Possible values include: + 'lsilogic', 'buslogic', 'pvscsi', 'lsilogicsas' + :type type: str or + ~azure.mgmt.vmware.v2020_10_01_preview.models.SCSIControllerType + :param controller_key: Gets or sets the key of the controller. + :type controller_key: int + :param bus_number: Gets or sets the bus number of the controller. + :type bus_number: int + :param scsi_ctlr_unit_number: Gets or sets the SCSI controller unit + number. + :type scsi_ctlr_unit_number: int + :param sharing: Gets or sets the sharing mode. Possible values include: + 'noSharing', 'physicalSharing', 'virtualSharing' + :type sharing: str or + ~azure.mgmt.vmware.v2020_10_01_preview.models.VirtualSCSISharing + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'controller_key': {'key': 'controllerKey', 'type': 'int'}, + 'bus_number': {'key': 'busNumber', 'type': 'int'}, + 'scsi_ctlr_unit_number': {'key': 'scsiCtlrUnitNumber', 'type': 'int'}, + 'sharing': {'key': 'sharing', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualSCSIController, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + self.controller_key = kwargs.get('controller_key', None) + self.bus_number = kwargs.get('bus_number', None) + self.scsi_ctlr_unit_number = kwargs.get('scsi_ctlr_unit_number', None) + self.sharing = kwargs.get('sharing', None) diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_scsi_controller_py3.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_scsi_controller_py3.py new file mode 100644 index 00000000000..71ca803c7f0 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/models/virtual_scsi_controller_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 msrest.serialization import Model + + +class VirtualSCSIController(Model): + """This data object type contains the properties of a SCSI controller device + attached to a virtual machine that is reported by the controller. + + :param type: Gets or sets the controller type. Possible values include: + 'lsilogic', 'buslogic', 'pvscsi', 'lsilogicsas' + :type type: str or + ~azure.mgmt.vmware.v2020_10_01_preview.models.SCSIControllerType + :param controller_key: Gets or sets the key of the controller. + :type controller_key: int + :param bus_number: Gets or sets the bus number of the controller. + :type bus_number: int + :param scsi_ctlr_unit_number: Gets or sets the SCSI controller unit + number. + :type scsi_ctlr_unit_number: int + :param sharing: Gets or sets the sharing mode. Possible values include: + 'noSharing', 'physicalSharing', 'virtualSharing' + :type sharing: str or + ~azure.mgmt.vmware.v2020_10_01_preview.models.VirtualSCSISharing + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'controller_key': {'key': 'controllerKey', 'type': 'int'}, + 'bus_number': {'key': 'busNumber', 'type': 'int'}, + 'scsi_ctlr_unit_number': {'key': 'scsiCtlrUnitNumber', 'type': 'int'}, + 'sharing': {'key': 'sharing', 'type': 'str'}, + } + + def __init__(self, *, type=None, controller_key: int=None, bus_number: int=None, scsi_ctlr_unit_number: int=None, sharing=None, **kwargs) -> None: + super(VirtualSCSIController, self).__init__(**kwargs) + self.type = type + self.controller_key = controller_key + self.bus_number = bus_number + self.scsi_ctlr_unit_number = scsi_ctlr_unit_number + self.sharing = sharing diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/__init__.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/__init__.py new file mode 100644 index 00000000000..dbe61394bc3 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/__init__.py @@ -0,0 +1,31 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ._resource_pools_operations import ResourcePoolsOperations +from ._vcenters_operations import VCentersOperations +from ._virtual_machines_operations import VirtualMachinesOperations +from ._virtual_machine_templates_operations import VirtualMachineTemplatesOperations +from ._virtual_networks_operations import VirtualNetworksOperations +from ._inventory_items_operations import InventoryItemsOperations +from ._hybrid_identity_metadata_operations import HybridIdentityMetadataOperations +from ._machine_extensions_operations import MachineExtensionsOperations +from ._guest_agent_operations import GuestAgentOperations + +__all__ = [ + 'Operations', + 'ResourcePoolsOperations', + 'VCentersOperations', + 'VirtualMachinesOperations', + 'VirtualMachineTemplatesOperations', + 'VirtualNetworksOperations', + 'InventoryItemsOperations', + 'HybridIdentityMetadataOperations', + 'MachineExtensionsOperations', + 'GuestAgentOperations', +] diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/_guest_agent_operations.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/_guest_agent_operations.py new file mode 100644 index 00000000000..fd8d819c93c --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/_guest_agent_operations.py @@ -0,0 +1,455 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling + +from .. import models as _models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class GuestAgentOperations(object): + """GuestAgentOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure_arc_vmware_management_service_api.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def _create_initial( + self, + resource_group_name, # type: str + virtual_machine_name, # type: str + name, # type: str + body=None, # type: Optional["_models.GuestAgent"] + **kwargs # type: Any + ): + # type: (...) -> "_models.GuestAgent" + cls = kwargs.pop('cls', None) # type: ClsType["_models.GuestAgent"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineName': self._serialize.url("virtual_machine_name", virtual_machine_name, 'str'), + 'name': self._serialize.url("name", name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + if body is not None: + body_content = self._serialize.body(body, 'GuestAgent') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('GuestAgent', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('GuestAgent', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}/guestAgents/{name}'} # type: ignore + + def begin_create( + self, + resource_group_name, # type: str + virtual_machine_name, # type: str + name, # type: str + body=None, # type: Optional["_models.GuestAgent"] + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.GuestAgent"] + """Implements GuestAgent PUT method. + + Create Or Update GuestAgent. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_machine_name: Name of the vm. + :type virtual_machine_name: str + :param name: Name of the guestAgents. + :type name: str + :param body: Request payload. + :type body: ~azure_arc_vmware_management_service_api.models.GuestAgent + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either GuestAgent or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure_arc_vmware_management_service_api.models.GuestAgent] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.GuestAgent"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._create_initial( + resource_group_name=resource_group_name, + virtual_machine_name=virtual_machine_name, + name=name, + body=body, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('GuestAgent', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineName': self._serialize.url("virtual_machine_name", virtual_machine_name, 'str'), + 'name': self._serialize.url("name", name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}/guestAgents/{name}'} # type: ignore + + def get( + self, + resource_group_name, # type: str + virtual_machine_name, # type: str + name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.GuestAgent" + """Gets GuestAgent. + + Implements GuestAgent GET method. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_machine_name: Name of the vm. + :type virtual_machine_name: str + :param name: Name of the GuestAgent. + :type name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: GuestAgent, or the result of cls(response) + :rtype: ~azure_arc_vmware_management_service_api.models.GuestAgent + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.GuestAgent"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineName': self._serialize.url("virtual_machine_name", virtual_machine_name, 'str'), + 'name': self._serialize.url("name", name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('GuestAgent', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}/guestAgents/{name}'} # type: ignore + + def _delete_initial( + self, + resource_group_name, # type: str + virtual_machine_name, # type: str + name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + # Construct URL + url = self._delete_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineName': self._serialize.url("virtual_machine_name", virtual_machine_name, 'str'), + 'name': self._serialize.url("name", name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}/guestAgents/{name}'} # type: ignore + + def begin_delete( + self, + resource_group_name, # type: str + virtual_machine_name, # type: str + name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """Deletes an GuestAgent. + + Implements GuestAgent DELETE method. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_machine_name: Name of the vm. + :type virtual_machine_name: str + :param name: Name of the GuestAgent. + :type name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + virtual_machine_name=virtual_machine_name, + name=name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineName': self._serialize.url("virtual_machine_name", virtual_machine_name, 'str'), + 'name': self._serialize.url("name", name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}/guestAgents/{name}'} # type: ignore + + def list_by_vm( + self, + resource_group_name, # type: str + virtual_machine_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.GuestAgentList"] + """Implements GET GuestAgent in a vm. + + Returns the list of GuestAgent of the given vm. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_machine_name: Name of the vm. + :type virtual_machine_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either GuestAgentList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure_arc_vmware_management_service_api.models.GuestAgentList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.GuestAgentList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_vm.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineName': self._serialize.url("virtual_machine_name", virtual_machine_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('GuestAgentList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_vm.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}/guestAgents'} # type: ignore diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/_hybrid_identity_metadata_operations.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/_hybrid_identity_metadata_operations.py new file mode 100644 index 00000000000..11f23b92088 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/_hybrid_identity_metadata_operations.py @@ -0,0 +1,330 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models as _models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class HybridIdentityMetadataOperations(object): + """HybridIdentityMetadataOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure_arc_vmware_management_service_api.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def create( + self, + resource_group_name, # type: str + virtual_machine_name, # type: str + metadata_name, # type: str + body=None, # type: Optional["_models.HybridIdentityMetadata"] + **kwargs # type: Any + ): + # type: (...) -> "_models.HybridIdentityMetadata" + """Implements HybridIdentityMetadata PUT method. + + Create Or Update HybridIdentityMetadata. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_machine_name: Name of the vm. + :type virtual_machine_name: str + :param metadata_name: Name of the hybridIdentityMetadata. + :type metadata_name: str + :param body: Request payload. + :type body: ~azure_arc_vmware_management_service_api.models.HybridIdentityMetadata + :keyword callable cls: A custom type or function that will be passed the direct response + :return: HybridIdentityMetadata, or the result of cls(response) + :rtype: ~azure_arc_vmware_management_service_api.models.HybridIdentityMetadata + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.HybridIdentityMetadata"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.create.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineName': self._serialize.url("virtual_machine_name", virtual_machine_name, 'str'), + 'metadataName': self._serialize.url("metadata_name", metadata_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + if body is not None: + body_content = self._serialize.body(body, 'HybridIdentityMetadata') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('HybridIdentityMetadata', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}/hybridIdentityMetadata/{metadataName}'} # type: ignore + + def get( + self, + resource_group_name, # type: str + virtual_machine_name, # type: str + metadata_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.HybridIdentityMetadata" + """Gets HybridIdentityMetadata. + + Implements HybridIdentityMetadata GET method. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_machine_name: Name of the vm. + :type virtual_machine_name: str + :param metadata_name: Name of the HybridIdentityMetadata. + :type metadata_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: HybridIdentityMetadata, or the result of cls(response) + :rtype: ~azure_arc_vmware_management_service_api.models.HybridIdentityMetadata + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.HybridIdentityMetadata"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineName': self._serialize.url("virtual_machine_name", virtual_machine_name, 'str'), + 'metadataName': self._serialize.url("metadata_name", metadata_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('HybridIdentityMetadata', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}/hybridIdentityMetadata/{metadataName}'} # type: ignore + + def delete( + self, + resource_group_name, # type: str + virtual_machine_name, # type: str + metadata_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Deletes an HybridIdentityMetadata. + + Implements HybridIdentityMetadata DELETE method. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_machine_name: Name of the vm. + :type virtual_machine_name: str + :param metadata_name: Name of the HybridIdentityMetadata. + :type metadata_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + # Construct URL + url = self.delete.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineName': self._serialize.url("virtual_machine_name", virtual_machine_name, 'str'), + 'metadataName': self._serialize.url("metadata_name", metadata_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}/hybridIdentityMetadata/{metadataName}'} # type: ignore + + def list_by_vm( + self, + resource_group_name, # type: str + virtual_machine_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.HybridIdentityMetadataList"] + """Implements GET HybridIdentityMetadata in a vm. + + Returns the list of HybridIdentityMetadata of the given vm. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_machine_name: Name of the vm. + :type virtual_machine_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either HybridIdentityMetadataList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure_arc_vmware_management_service_api.models.HybridIdentityMetadataList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.HybridIdentityMetadataList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_vm.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineName': self._serialize.url("virtual_machine_name", virtual_machine_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('HybridIdentityMetadataList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_vm.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}/hybridIdentityMetadata'} # type: ignore diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/_inventory_items_operations.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/_inventory_items_operations.py new file mode 100644 index 00000000000..47a559503ba --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/_inventory_items_operations.py @@ -0,0 +1,330 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models as _models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class InventoryItemsOperations(object): + """InventoryItemsOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure_arc_vmware_management_service_api.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def create( + self, + resource_group_name, # type: str + vcenter_name, # type: str + inventory_item_name, # type: str + body=None, # type: Optional["_models.InventoryItem"] + **kwargs # type: Any + ): + # type: (...) -> "_models.InventoryItem" + """Implements InventoryItem PUT method. + + Create Or Update InventoryItem. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param vcenter_name: Name of the vCenter. + :type vcenter_name: str + :param inventory_item_name: Name of the inventoryItem. + :type inventory_item_name: str + :param body: Request payload. + :type body: ~azure_arc_vmware_management_service_api.models.InventoryItem + :keyword callable cls: A custom type or function that will be passed the direct response + :return: InventoryItem, or the result of cls(response) + :rtype: ~azure_arc_vmware_management_service_api.models.InventoryItem + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.InventoryItem"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.create.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vcenterName': self._serialize.url("vcenter_name", vcenter_name, 'str'), + 'inventoryItemName': self._serialize.url("inventory_item_name", inventory_item_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + if body is not None: + body_content = self._serialize.body(body, 'InventoryItem') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('InventoryItem', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/vcenters/{vcenterName}/inventoryItems/{inventoryItemName}'} # type: ignore + + def get( + self, + resource_group_name, # type: str + vcenter_name, # type: str + inventory_item_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.InventoryItem" + """Gets InventoryItem. + + Implements InventoryItem GET method. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param vcenter_name: Name of the vCenter. + :type vcenter_name: str + :param inventory_item_name: Name of the inventoryItem. + :type inventory_item_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: InventoryItem, or the result of cls(response) + :rtype: ~azure_arc_vmware_management_service_api.models.InventoryItem + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.InventoryItem"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vcenterName': self._serialize.url("vcenter_name", vcenter_name, 'str'), + 'inventoryItemName': self._serialize.url("inventory_item_name", inventory_item_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('InventoryItem', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/vcenters/{vcenterName}/inventoryItems/{inventoryItemName}'} # type: ignore + + def delete( + self, + resource_group_name, # type: str + vcenter_name, # type: str + inventory_item_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + """Deletes an inventoryItem. + + Implements inventoryItem DELETE method. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param vcenter_name: Name of the vCenter. + :type vcenter_name: str + :param inventory_item_name: Name of the inventoryItem. + :type inventory_item_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + # Construct URL + url = self.delete.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vcenterName': self._serialize.url("vcenter_name", vcenter_name, 'str'), + 'inventoryItemName': self._serialize.url("inventory_item_name", inventory_item_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/vcenters/{vcenterName}/inventoryItems/{inventoryItemName}'} # type: ignore + + def list_by_v_center( + self, + resource_group_name, # type: str + vcenter_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.InventoryItemsList"] + """Implements GET inventoryItems in a vCenter. + + Returns the list of inventoryItems of the given vCenter. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param vcenter_name: Name of the vCenter. + :type vcenter_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either InventoryItemsList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure_arc_vmware_management_service_api.models.InventoryItemsList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.InventoryItemsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_v_center.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vcenterName': self._serialize.url("vcenter_name", vcenter_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('InventoryItemsList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_v_center.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/vcenters/{vcenterName}/inventoryItems'} # type: ignore diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/_machine_extensions_operations.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/_machine_extensions_operations.py new file mode 100644 index 00000000000..6810f01e93c --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/_machine_extensions_operations.py @@ -0,0 +1,583 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling + +from .. import models as _models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class MachineExtensionsOperations(object): + """MachineExtensionsOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure_arc_vmware_management_service_api.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def _create_or_update_initial( + self, + resource_group_name, # type: str + name, # type: str + extension_name, # type: str + extension_parameters, # type: "_models.MachineExtension" + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.MachineExtension"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.MachineExtension"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_or_update_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'name': self._serialize.url("name", name, 'str'), + 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(extension_parameters, 'MachineExtension') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('MachineExtension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{name}/extensions/{extensionName}'} # type: ignore + + def begin_create_or_update( + self, + resource_group_name, # type: str + name, # type: str + extension_name, # type: str + extension_parameters, # type: "_models.MachineExtension" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.MachineExtension"] + """The operation to create or update the extension. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param name: The name of the machine where the extension should be created or updated. + :type name: str + :param extension_name: The name of the machine extension. + :type extension_name: str + :param extension_parameters: Parameters supplied to the Create Machine Extension operation. + :type extension_parameters: ~azure_arc_vmware_management_service_api.models.MachineExtension + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either MachineExtension or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure_arc_vmware_management_service_api.models.MachineExtension] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.MachineExtension"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + name=name, + extension_name=extension_name, + extension_parameters=extension_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('MachineExtension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'name': self._serialize.url("name", name, 'str'), + 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{name}/extensions/{extensionName}'} # type: ignore + + def _update_initial( + self, + resource_group_name, # type: str + name, # type: str + extension_name, # type: str + extension_parameters, # type: "_models.MachineExtensionUpdate" + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.MachineExtension"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.MachineExtension"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._update_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'name': self._serialize.url("name", name, 'str'), + 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(extension_parameters, 'MachineExtensionUpdate') + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('MachineExtension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{name}/extensions/{extensionName}'} # type: ignore + + def begin_update( + self, + resource_group_name, # type: str + name, # type: str + extension_name, # type: str + extension_parameters, # type: "_models.MachineExtensionUpdate" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.MachineExtension"] + """The operation to update the extension. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param name: The name of the machine where the extension should be created or updated. + :type name: str + :param extension_name: The name of the machine extension. + :type extension_name: str + :param extension_parameters: Parameters supplied to the Create Machine Extension operation. + :type extension_parameters: ~azure_arc_vmware_management_service_api.models.MachineExtensionUpdate + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either MachineExtension or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure_arc_vmware_management_service_api.models.MachineExtension] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.MachineExtension"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._update_initial( + resource_group_name=resource_group_name, + name=name, + extension_name=extension_name, + extension_parameters=extension_parameters, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('MachineExtension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'name': self._serialize.url("name", name, 'str'), + 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{name}/extensions/{extensionName}'} # type: ignore + + def _delete_initial( + self, + resource_group_name, # type: str + name, # type: str + extension_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + # Construct URL + url = self._delete_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'name': self._serialize.url("name", name, 'str'), + 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{name}/extensions/{extensionName}'} # type: ignore + + def begin_delete( + self, + resource_group_name, # type: str + name, # type: str + extension_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """The operation to delete the extension. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param name: The name of the machine where the extension should be deleted. + :type name: str + :param extension_name: The name of the machine extension. + :type extension_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + name=name, + extension_name=extension_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'name': self._serialize.url("name", name, 'str'), + 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{name}/extensions/{extensionName}'} # type: ignore + + def get( + self, + resource_group_name, # type: str + name, # type: str + extension_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.MachineExtension" + """The operation to get the extension. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param name: The name of the machine containing the extension. + :type name: str + :param extension_name: The name of the machine extension. + :type extension_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: MachineExtension, or the result of cls(response) + :rtype: ~azure_arc_vmware_management_service_api.models.MachineExtension + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.MachineExtension"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'name': self._serialize.url("name", name, 'str'), + 'extensionName': self._serialize.url("extension_name", extension_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('MachineExtension', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{name}/extensions/{extensionName}'} # type: ignore + + def list( + self, + resource_group_name, # type: str + name, # type: str + expand=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.MachineExtensionsListResult"] + """The operation to get all extensions of a non-Azure machine. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param name: The name of the machine containing the extension. + :type name: str + :param expand: The expand expression to apply on the operation. + :type expand: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either MachineExtensionsListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure_arc_vmware_management_service_api.models.MachineExtensionsListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.MachineExtensionsListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'name': self._serialize.url("name", name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('MachineExtensionsListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{name}/extensions'} # type: ignore diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/_operations.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/_operations.py new file mode 100644 index 00000000000..05c41412ca7 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/_operations.py @@ -0,0 +1,110 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models as _models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class Operations(object): + """Operations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure_arc_vmware_management_service_api.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.OperationsList"] + """Returns list of all operations. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either OperationsList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure_arc_vmware_management_service_api.models.OperationsList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.OperationsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('OperationsList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.ConnectedVMwarevSphere/operations'} # type: ignore diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/_resource_pools_operations.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/_resource_pools_operations.py new file mode 100644 index 00000000000..c3b1e0a4bac --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/_resource_pools_operations.py @@ -0,0 +1,583 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling + +from .. import models as _models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class ResourcePoolsOperations(object): + """ResourcePoolsOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure_arc_vmware_management_service_api.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def _create_initial( + self, + resource_group_name, # type: str + resource_pool_name, # type: str + body=None, # type: Optional["_models.ResourcePool"] + **kwargs # type: Any + ): + # type: (...) -> "_models.ResourcePool" + cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourcePool"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'resourcePoolName': self._serialize.url("resource_pool_name", resource_pool_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + if body is not None: + body_content = self._serialize.body(body, 'ResourcePool') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('ResourcePool', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('ResourcePool', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/resourcePools/{resourcePoolName}'} # type: ignore + + def begin_create( + self, + resource_group_name, # type: str + resource_pool_name, # type: str + body=None, # type: Optional["_models.ResourcePool"] + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.ResourcePool"] + """Implements resourcePool PUT method. + + Create Or Update resourcePool. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param resource_pool_name: Name of the resourcePool. + :type resource_pool_name: str + :param body: Request payload. + :type body: ~azure_arc_vmware_management_service_api.models.ResourcePool + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either ResourcePool or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure_arc_vmware_management_service_api.models.ResourcePool] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourcePool"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._create_initial( + resource_group_name=resource_group_name, + resource_pool_name=resource_pool_name, + body=body, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('ResourcePool', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'resourcePoolName': self._serialize.url("resource_pool_name", resource_pool_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/resourcePools/{resourcePoolName}'} # type: ignore + + def get( + self, + resource_group_name, # type: str + resource_pool_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.ResourcePool" + """Gets a resourcePool. + + Implements resourcePool GET method. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param resource_pool_name: Name of the resourcePool. + :type resource_pool_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ResourcePool, or the result of cls(response) + :rtype: ~azure_arc_vmware_management_service_api.models.ResourcePool + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourcePool"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'resourcePoolName': self._serialize.url("resource_pool_name", resource_pool_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ResourcePool', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/resourcePools/{resourcePoolName}'} # type: ignore + + def update( + self, + resource_group_name, # type: str + resource_pool_name, # type: str + body=None, # type: Optional["_models.ResourcePatch"] + **kwargs # type: Any + ): + # type: (...) -> "_models.ResourcePool" + """Updates a resourcePool. + + API to update certain properties of the resourcePool resource. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param resource_pool_name: Name of the resourcePool. + :type resource_pool_name: str + :param body: Resource properties to update. + :type body: ~azure_arc_vmware_management_service_api.models.ResourcePatch + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ResourcePool, or the result of cls(response) + :rtype: ~azure_arc_vmware_management_service_api.models.ResourcePool + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourcePool"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'resourcePoolName': self._serialize.url("resource_pool_name", resource_pool_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + if body is not None: + body_content = self._serialize.body(body, 'ResourcePatch') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('ResourcePool', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/resourcePools/{resourcePoolName}'} # type: ignore + + def _delete_initial( + self, + resource_group_name, # type: str + resource_pool_name, # type: str + force=None, # type: Optional[bool] + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + # Construct URL + url = self._delete_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'resourcePoolName': self._serialize.url("resource_pool_name", resource_pool_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if force is not None: + query_parameters['force'] = self._serialize.query("force", force, 'bool') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/resourcePools/{resourcePoolName}'} # type: ignore + + def begin_delete( + self, + resource_group_name, # type: str + resource_pool_name, # type: str + force=None, # type: Optional[bool] + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """Deletes an resourcePool. + + Implements resourcePool DELETE method. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param resource_pool_name: Name of the resourcePool. + :type resource_pool_name: str + :param force: Whether force delete was specified. + :type force: bool + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + resource_pool_name=resource_pool_name, + force=force, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'resourcePoolName': self._serialize.url("resource_pool_name", resource_pool_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/resourcePools/{resourcePoolName}'} # type: ignore + + def list( + self, + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.ResourcePoolsList"] + """Implements GET resourcePools in a subscription. + + List of resourcePools in a subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ResourcePoolsList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure_arc_vmware_management_service_api.models.ResourcePoolsList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourcePoolsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + 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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('ResourcePoolsList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ConnectedVMwarevSphere/resourcePools'} # type: ignore + + def list_by_resource_group( + self, + resource_group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.ResourcePoolsList"] + """Implements GET resourcePools in a resource group. + + List of resourcePools in a resource group. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ResourcePoolsList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure_arc_vmware_management_service_api.models.ResourcePoolsList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ResourcePoolsList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('ResourcePoolsList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/resourcePools'} # type: ignore diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/_vcenters_operations.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/_vcenters_operations.py new file mode 100644 index 00000000000..3f859d4149b --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/_vcenters_operations.py @@ -0,0 +1,583 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling + +from .. import models as _models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class VCentersOperations(object): + """VCentersOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure_arc_vmware_management_service_api.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def _create_initial( + self, + resource_group_name, # type: str + vcenter_name, # type: str + body=None, # type: Optional["_models.VCenter"] + **kwargs # type: Any + ): + # type: (...) -> "_models.VCenter" + cls = kwargs.pop('cls', None) # type: ClsType["_models.VCenter"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vcenterName': self._serialize.url("vcenter_name", vcenter_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + if body is not None: + body_content = self._serialize.body(body, 'VCenter') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('VCenter', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('VCenter', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/vcenters/{vcenterName}'} # type: ignore + + def begin_create( + self, + resource_group_name, # type: str + vcenter_name, # type: str + body=None, # type: Optional["_models.VCenter"] + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.VCenter"] + """Implements vCenter PUT method. + + Create Or Update vCenter. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param vcenter_name: Name of the vCenter. + :type vcenter_name: str + :param body: Request payload. + :type body: ~azure_arc_vmware_management_service_api.models.VCenter + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either VCenter or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure_arc_vmware_management_service_api.models.VCenter] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.VCenter"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._create_initial( + resource_group_name=resource_group_name, + vcenter_name=vcenter_name, + body=body, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('VCenter', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vcenterName': self._serialize.url("vcenter_name", vcenter_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/vcenters/{vcenterName}'} # type: ignore + + def get( + self, + resource_group_name, # type: str + vcenter_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.VCenter" + """Gets a vCenter. + + Implements vCenter GET method. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param vcenter_name: Name of the vCenter. + :type vcenter_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: VCenter, or the result of cls(response) + :rtype: ~azure_arc_vmware_management_service_api.models.VCenter + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.VCenter"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vcenterName': self._serialize.url("vcenter_name", vcenter_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('VCenter', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/vcenters/{vcenterName}'} # type: ignore + + def update( + self, + resource_group_name, # type: str + vcenter_name, # type: str + body=None, # type: Optional["_models.ResourcePatch"] + **kwargs # type: Any + ): + # type: (...) -> "_models.VCenter" + """Updates a vCenter. + + API to update certain properties of the vCenter resource. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param vcenter_name: Name of the vCenter. + :type vcenter_name: str + :param body: Resource properties to update. + :type body: ~azure_arc_vmware_management_service_api.models.ResourcePatch + :keyword callable cls: A custom type or function that will be passed the direct response + :return: VCenter, or the result of cls(response) + :rtype: ~azure_arc_vmware_management_service_api.models.VCenter + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.VCenter"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vcenterName': self._serialize.url("vcenter_name", vcenter_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + if body is not None: + body_content = self._serialize.body(body, 'ResourcePatch') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('VCenter', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/vcenters/{vcenterName}'} # type: ignore + + def _delete_initial( + self, + resource_group_name, # type: str + vcenter_name, # type: str + force=None, # type: Optional[bool] + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + # Construct URL + url = self._delete_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vcenterName': self._serialize.url("vcenter_name", vcenter_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if force is not None: + query_parameters['force'] = self._serialize.query("force", force, 'bool') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/vcenters/{vcenterName}'} # type: ignore + + def begin_delete( + self, + resource_group_name, # type: str + vcenter_name, # type: str + force=None, # type: Optional[bool] + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """Deletes an vCenter. + + Implements vCenter DELETE method. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param vcenter_name: Name of the vCenter. + :type vcenter_name: str + :param force: Whether force delete was specified. + :type force: bool + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + vcenter_name=vcenter_name, + force=force, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vcenterName': self._serialize.url("vcenter_name", vcenter_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/vcenters/{vcenterName}'} # type: ignore + + def list( + self, + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.VCentersList"] + """Implements GET vCenters in a subscription. + + List of vCenters in a subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either VCentersList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure_arc_vmware_management_service_api.models.VCentersList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.VCentersList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + 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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('VCentersList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ConnectedVMwarevSphere/vcenters'} # type: ignore + + def list_by_resource_group( + self, + resource_group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.VCentersList"] + """Implements GET vCenters in a resource group. + + List of vCenters in a resource group. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either VCentersList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure_arc_vmware_management_service_api.models.VCentersList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.VCentersList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('VCentersList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/vcenters'} # type: ignore diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/_virtual_machine_templates_operations.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/_virtual_machine_templates_operations.py new file mode 100644 index 00000000000..a5fcfb44aa5 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/_virtual_machine_templates_operations.py @@ -0,0 +1,583 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling + +from .. import models as _models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class VirtualMachineTemplatesOperations(object): + """VirtualMachineTemplatesOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure_arc_vmware_management_service_api.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def _create_initial( + self, + resource_group_name, # type: str + virtual_machine_template_name, # type: str + body=None, # type: Optional["_models.VirtualMachineTemplate"] + **kwargs # type: Any + ): + # type: (...) -> "_models.VirtualMachineTemplate" + cls = kwargs.pop('cls', None) # type: ClsType["_models.VirtualMachineTemplate"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineTemplateName': self._serialize.url("virtual_machine_template_name", virtual_machine_template_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + if body is not None: + body_content = self._serialize.body(body, 'VirtualMachineTemplate') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('VirtualMachineTemplate', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('VirtualMachineTemplate', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates/{virtualMachineTemplateName}'} # type: ignore + + def begin_create( + self, + resource_group_name, # type: str + virtual_machine_template_name, # type: str + body=None, # type: Optional["_models.VirtualMachineTemplate"] + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.VirtualMachineTemplate"] + """Implements virtual machine template PUT method. + + Create Or Update virtual machine template. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_machine_template_name: Name of the virtual machine template resource. + :type virtual_machine_template_name: str + :param body: Request payload. + :type body: ~azure_arc_vmware_management_service_api.models.VirtualMachineTemplate + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either VirtualMachineTemplate or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure_arc_vmware_management_service_api.models.VirtualMachineTemplate] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.VirtualMachineTemplate"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._create_initial( + resource_group_name=resource_group_name, + virtual_machine_template_name=virtual_machine_template_name, + body=body, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('VirtualMachineTemplate', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineTemplateName': self._serialize.url("virtual_machine_template_name", virtual_machine_template_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates/{virtualMachineTemplateName}'} # type: ignore + + def get( + self, + resource_group_name, # type: str + virtual_machine_template_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.VirtualMachineTemplate" + """Gets a virtual machine template. + + Implements virtual machine template GET method. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_machine_template_name: Name of the virtual machine template resource. + :type virtual_machine_template_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: VirtualMachineTemplate, or the result of cls(response) + :rtype: ~azure_arc_vmware_management_service_api.models.VirtualMachineTemplate + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.VirtualMachineTemplate"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineTemplateName': self._serialize.url("virtual_machine_template_name", virtual_machine_template_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('VirtualMachineTemplate', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates/{virtualMachineTemplateName}'} # type: ignore + + def update( + self, + resource_group_name, # type: str + virtual_machine_template_name, # type: str + body=None, # type: Optional["_models.ResourcePatch"] + **kwargs # type: Any + ): + # type: (...) -> "_models.VirtualMachineTemplate" + """Updates a virtual machine template. + + API to update certain properties of the virtual machine template resource. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_machine_template_name: Name of the virtual machine template resource. + :type virtual_machine_template_name: str + :param body: Resource properties to update. + :type body: ~azure_arc_vmware_management_service_api.models.ResourcePatch + :keyword callable cls: A custom type or function that will be passed the direct response + :return: VirtualMachineTemplate, or the result of cls(response) + :rtype: ~azure_arc_vmware_management_service_api.models.VirtualMachineTemplate + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.VirtualMachineTemplate"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineTemplateName': self._serialize.url("virtual_machine_template_name", virtual_machine_template_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + if body is not None: + body_content = self._serialize.body(body, 'ResourcePatch') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('VirtualMachineTemplate', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates/{virtualMachineTemplateName}'} # type: ignore + + def _delete_initial( + self, + resource_group_name, # type: str + virtual_machine_template_name, # type: str + force=None, # type: Optional[bool] + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + # Construct URL + url = self._delete_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineTemplateName': self._serialize.url("virtual_machine_template_name", virtual_machine_template_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if force is not None: + query_parameters['force'] = self._serialize.query("force", force, 'bool') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates/{virtualMachineTemplateName}'} # type: ignore + + def begin_delete( + self, + resource_group_name, # type: str + virtual_machine_template_name, # type: str + force=None, # type: Optional[bool] + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """Deletes an virtual machine template. + + Implements virtual machine template DELETE method. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_machine_template_name: Name of the virtual machine template resource. + :type virtual_machine_template_name: str + :param force: Whether force delete was specified. + :type force: bool + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + virtual_machine_template_name=virtual_machine_template_name, + force=force, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineTemplateName': self._serialize.url("virtual_machine_template_name", virtual_machine_template_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates/{virtualMachineTemplateName}'} # type: ignore + + def list( + self, + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.VirtualMachineTemplatesList"] + """Implements GET virtualMachineTemplates in a subscription. + + List of virtualMachineTemplates in a subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either VirtualMachineTemplatesList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure_arc_vmware_management_service_api.models.VirtualMachineTemplatesList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.VirtualMachineTemplatesList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + 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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('VirtualMachineTemplatesList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates'} # type: ignore + + def list_by_resource_group( + self, + resource_group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.VirtualMachineTemplatesList"] + """Implements GET virtualMachineTemplates in a resource group. + + List of virtualMachineTemplates in a resource group. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either VirtualMachineTemplatesList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure_arc_vmware_management_service_api.models.VirtualMachineTemplatesList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.VirtualMachineTemplatesList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('VirtualMachineTemplatesList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates'} # type: ignore diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/_virtual_machines_operations.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/_virtual_machines_operations.py new file mode 100644 index 00000000000..8099a83bf0e --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/_virtual_machines_operations.py @@ -0,0 +1,998 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling + +from .. import models as _models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class VirtualMachinesOperations(object): + """VirtualMachinesOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure_arc_vmware_management_service_api.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def _create_initial( + self, + resource_group_name, # type: str + virtual_machine_name, # type: str + body=None, # type: Optional["_models.VirtualMachine"] + **kwargs # type: Any + ): + # type: (...) -> "_models.VirtualMachine" + cls = kwargs.pop('cls', None) # type: ClsType["_models.VirtualMachine"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineName': self._serialize.url("virtual_machine_name", virtual_machine_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + if body is not None: + body_content = self._serialize.body(body, 'VirtualMachine') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('VirtualMachine', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('VirtualMachine', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}'} # type: ignore + + def begin_create( + self, + resource_group_name, # type: str + virtual_machine_name, # type: str + body=None, # type: Optional["_models.VirtualMachine"] + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.VirtualMachine"] + """Implements virtual machine PUT method. + + Create Or Update virtual machine. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_machine_name: Name of the virtual machine resource. + :type virtual_machine_name: str + :param body: Request payload. + :type body: ~azure_arc_vmware_management_service_api.models.VirtualMachine + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either VirtualMachine or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure_arc_vmware_management_service_api.models.VirtualMachine] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.VirtualMachine"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._create_initial( + resource_group_name=resource_group_name, + virtual_machine_name=virtual_machine_name, + body=body, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('VirtualMachine', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineName': self._serialize.url("virtual_machine_name", virtual_machine_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}'} # type: ignore + + def get( + self, + resource_group_name, # type: str + virtual_machine_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.VirtualMachine" + """Gets a virtual machine. + + Implements virtual machine GET method. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_machine_name: Name of the virtual machine resource. + :type virtual_machine_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: VirtualMachine, or the result of cls(response) + :rtype: ~azure_arc_vmware_management_service_api.models.VirtualMachine + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.VirtualMachine"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineName': self._serialize.url("virtual_machine_name", virtual_machine_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('VirtualMachine', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}'} # type: ignore + + def _update_initial( + self, + resource_group_name, # type: str + virtual_machine_name, # type: str + body=None, # type: Optional["_models.VirtualMachineUpdate"] + **kwargs # type: Any + ): + # type: (...) -> "_models.VirtualMachine" + cls = kwargs.pop('cls', None) # type: ClsType["_models.VirtualMachine"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._update_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineName': self._serialize.url("virtual_machine_name", virtual_machine_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + if body is not None: + body_content = self._serialize.body(body, 'VirtualMachineUpdate') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('VirtualMachine', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('VirtualMachine', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}'} # type: ignore + + def begin_update( + self, + resource_group_name, # type: str + virtual_machine_name, # type: str + body=None, # type: Optional["_models.VirtualMachineUpdate"] + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.VirtualMachine"] + """Updates a virtual machine. + + API to update certain properties of the virtual machine resource. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_machine_name: Name of the virtual machine resource. + :type virtual_machine_name: str + :param body: Resource properties to update. + :type body: ~azure_arc_vmware_management_service_api.models.VirtualMachineUpdate + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either VirtualMachine or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure_arc_vmware_management_service_api.models.VirtualMachine] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.VirtualMachine"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._update_initial( + resource_group_name=resource_group_name, + virtual_machine_name=virtual_machine_name, + body=body, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('VirtualMachine', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineName': self._serialize.url("virtual_machine_name", virtual_machine_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}'} # type: ignore + + def _delete_initial( + self, + resource_group_name, # type: str + virtual_machine_name, # type: str + force=None, # type: Optional[bool] + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + # Construct URL + url = self._delete_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineName': self._serialize.url("virtual_machine_name", virtual_machine_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if force is not None: + query_parameters['force'] = self._serialize.query("force", force, 'bool') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}'} # type: ignore + + def begin_delete( + self, + resource_group_name, # type: str + virtual_machine_name, # type: str + force=None, # type: Optional[bool] + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """Deletes an virtual machine. + + Implements virtual machine DELETE method. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_machine_name: Name of the virtual machine resource. + :type virtual_machine_name: str + :param force: Whether force delete was specified. + :type force: bool + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + virtual_machine_name=virtual_machine_name, + force=force, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineName': self._serialize.url("virtual_machine_name", virtual_machine_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}'} # type: ignore + + def _stop_initial( + self, + resource_group_name, # type: str + virtual_machine_name, # type: str + body=None, # type: Optional["_models.StopVirtualMachineOptions"] + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._stop_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineName': self._serialize.url("virtual_machine_name", virtual_machine_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + if body is not None: + body_content = self._serialize.body(body, 'StopVirtualMachineOptions') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.post(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _stop_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}/stop'} # type: ignore + + def begin_stop( + self, + resource_group_name, # type: str + virtual_machine_name, # type: str + body=None, # type: Optional["_models.StopVirtualMachineOptions"] + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """Implements the operation to stop a virtual machine. + + Stop virtual machine. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_machine_name: Name of the virtual machine resource. + :type virtual_machine_name: str + :param body: Virtualmachine stop action payload. + :type body: ~azure_arc_vmware_management_service_api.models.StopVirtualMachineOptions + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._stop_initial( + resource_group_name=resource_group_name, + virtual_machine_name=virtual_machine_name, + body=body, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineName': self._serialize.url("virtual_machine_name", virtual_machine_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}/stop'} # type: ignore + + def _start_initial( + self, + resource_group_name, # type: str + virtual_machine_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + # Construct URL + url = self._start_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineName': self._serialize.url("virtual_machine_name", virtual_machine_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _start_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}/start'} # type: ignore + + def begin_start( + self, + resource_group_name, # type: str + virtual_machine_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """Implements the operation to start a virtual machine. + + Start virtual machine. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_machine_name: Name of the virtual machine resource. + :type virtual_machine_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._start_initial( + resource_group_name=resource_group_name, + virtual_machine_name=virtual_machine_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineName': self._serialize.url("virtual_machine_name", virtual_machine_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_start.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}/start'} # type: ignore + + def _restart_initial( + self, + resource_group_name, # type: str + virtual_machine_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + # Construct URL + url = self._restart_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineName': self._serialize.url("virtual_machine_name", virtual_machine_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _restart_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}/restart'} # type: ignore + + def begin_restart( + self, + resource_group_name, # type: str + virtual_machine_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """Implements the operation to restart a virtual machine. + + Restart virtual machine. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_machine_name: Name of the virtual machine resource. + :type virtual_machine_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._restart_initial( + resource_group_name=resource_group_name, + virtual_machine_name=virtual_machine_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineName': self._serialize.url("virtual_machine_name", virtual_machine_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_restart.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}/restart'} # type: ignore + + def list( + self, + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.VirtualMachinesList"] + """Implements GET virtualMachines in a subscription. + + List of virtualMachines in a subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either VirtualMachinesList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure_arc_vmware_management_service_api.models.VirtualMachinesList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.VirtualMachinesList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + 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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('VirtualMachinesList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines'} # type: ignore + + def list_by_resource_group( + self, + resource_group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.VirtualMachinesList"] + """Implements GET virtualMachines in a resource group. + + List of virtualMachines in a resource group. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either VirtualMachinesList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure_arc_vmware_management_service_api.models.VirtualMachinesList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.VirtualMachinesList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('VirtualMachinesList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines'} # type: ignore diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/_virtual_networks_operations.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/_virtual_networks_operations.py new file mode 100644 index 00000000000..d72e1811a74 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/_virtual_networks_operations.py @@ -0,0 +1,583 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling + +from .. import models as _models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class VirtualNetworksOperations(object): + """VirtualNetworksOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure_arc_vmware_management_service_api.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def _create_initial( + self, + resource_group_name, # type: str + virtual_network_name, # type: str + body=None, # type: Optional["_models.VirtualNetwork"] + **kwargs # type: Any + ): + # type: (...) -> "_models.VirtualNetwork" + cls = kwargs.pop('cls', None) # type: ClsType["_models.VirtualNetwork"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + if body is not None: + body_content = self._serialize.body(body, 'VirtualNetwork') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('VirtualNetwork', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('VirtualNetwork', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks/{virtualNetworkName}'} # type: ignore + + def begin_create( + self, + resource_group_name, # type: str + virtual_network_name, # type: str + body=None, # type: Optional["_models.VirtualNetwork"] + **kwargs # type: Any + ): + # type: (...) -> LROPoller["_models.VirtualNetwork"] + """Implements virtual network PUT method. + + Create Or Update virtual network. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_network_name: Name of the virtual network resource. + :type virtual_network_name: str + :param body: Request payload. + :type body: ~azure_arc_vmware_management_service_api.models.VirtualNetwork + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either VirtualNetwork or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~azure_arc_vmware_management_service_api.models.VirtualNetwork] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["_models.VirtualNetwork"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._create_initial( + resource_group_name=resource_group_name, + virtual_network_name=virtual_network_name, + body=body, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('VirtualNetwork', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks/{virtualNetworkName}'} # type: ignore + + def get( + self, + resource_group_name, # type: str + virtual_network_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.VirtualNetwork" + """Gets a virtual network. + + Implements virtual network GET method. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_network_name: Name of the virtual network resource. + :type virtual_network_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: VirtualNetwork, or the result of cls(response) + :rtype: ~azure_arc_vmware_management_service_api.models.VirtualNetwork + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.VirtualNetwork"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('VirtualNetwork', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks/{virtualNetworkName}'} # type: ignore + + def update( + self, + resource_group_name, # type: str + virtual_network_name, # type: str + body=None, # type: Optional["_models.ResourcePatch"] + **kwargs # type: Any + ): + # type: (...) -> "_models.VirtualNetwork" + """Updates a virtual network. + + API to update certain properties of the virtual network resource. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_network_name: Name of the virtual network resource. + :type virtual_network_name: str + :param body: Resource properties to update. + :type body: ~azure_arc_vmware_management_service_api.models.ResourcePatch + :keyword callable cls: A custom type or function that will be passed the direct response + :return: VirtualNetwork, or the result of cls(response) + :rtype: ~azure_arc_vmware_management_service_api.models.VirtualNetwork + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.VirtualNetwork"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.update.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + if body is not None: + body_content = self._serialize.body(body, 'ResourcePatch') + else: + body_content = None + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('VirtualNetwork', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks/{virtualNetworkName}'} # type: ignore + + def _delete_initial( + self, + resource_group_name, # type: str + virtual_network_name, # type: str + force=None, # type: Optional[bool] + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + # Construct URL + url = self._delete_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + if force is not None: + query_parameters['force'] = self._serialize.query("force", force, 'bool') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks/{virtualNetworkName}'} # type: ignore + + def begin_delete( + self, + resource_group_name, # type: str + virtual_network_name, # type: str + force=None, # type: Optional[bool] + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """Deletes an virtual network. + + Implements virtual network DELETE method. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_network_name: Name of the virtual network resource. + :type virtual_network_name: str + :param force: Whether force delete was specified. + :type force: bool + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: Pass in True if you'd like the ARMPolling polling method, + False for no polling, or your own initialized polling object for a personal polling strategy. + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + virtual_network_name=virtual_network_name, + force=force, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks/{virtualNetworkName}'} # type: ignore + + def list( + self, + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.VirtualNetworksList"] + """Implements GET virtualNetworks in a subscription. + + List of virtualNetworks in a subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either VirtualNetworksList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure_arc_vmware_management_service_api.models.VirtualNetworksList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.VirtualNetworksList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + 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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('VirtualNetworksList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks'} # type: ignore + + def list_by_resource_group( + self, + resource_group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.VirtualNetworksList"] + """Implements GET virtualNetworks in a resource group. + + List of virtualNetworks in a resource group. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either VirtualNetworksList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure_arc_vmware_management_service_api.models.VirtualNetworksList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.VirtualNetworksList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2020-10-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('VirtualNetworksList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize.failsafe_deserialize(_models.ErrorResponse, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks'} # type: ignore diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/inventory_items_operations.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/inventory_items_operations.py new file mode 100644 index 00000000000..842d0385784 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/inventory_items_operations.py @@ -0,0 +1,307 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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 InventoryItemsOperations(object): + """InventoryItemsOperations 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: Client Api Version. Constant value: "2020-10-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-10-01-preview" + + self.config = config + + def create( + self, resource_group_name, vcenter_name, inventory_item_name, body=None, custom_headers=None, raw=False, **operation_config): + """Implements InventoryItem PUT method. + + Create Or Update InventoryItem. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param vcenter_name: Name of the vCenter. + :type vcenter_name: str + :param inventory_item_name: Name of the inventoryItem. + :type inventory_item_name: str + :param body: Request payload. + :type body: + ~azure.mgmt.vmware.v2020_10_01_preview.models.InventoryItem + :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: InventoryItem or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.vmware.v2020_10_01_preview.models.InventoryItem or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vcenterName': self._serialize.url("vcenter_name", vcenter_name, 'str'), + 'inventoryItemName': self._serialize.url("inventory_item_name", inventory_item_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['Accept'] = 'application/json' + 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 + if body is not None: + body_content = self._serialize.body(body, 'InventoryItem') + else: + body_content = None + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('InventoryItem', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/vcenters/{vcenterName}/inventoryItems/{inventoryItemName}'} + + def get( + self, resource_group_name, vcenter_name, inventory_item_name, custom_headers=None, raw=False, **operation_config): + """Gets InventoryItem. + + Implements InventoryItem GET method. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param vcenter_name: Name of the vCenter. + :type vcenter_name: str + :param inventory_item_name: Name of the inventoryItem. + :type inventory_item_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: InventoryItem or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.vmware.v2020_10_01_preview.models.InventoryItem or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vcenterName': self._serialize.url("vcenter_name", vcenter_name, 'str'), + 'inventoryItemName': self._serialize.url("inventory_item_name", inventory_item_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['Accept'] = 'application/json' + 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, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('InventoryItem', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/vcenters/{vcenterName}/inventoryItems/{inventoryItemName}'} + + def delete( + self, resource_group_name, vcenter_name, inventory_item_name, custom_headers=None, raw=False, **operation_config): + """Deletes an inventoryItem. + + Implements inventoryItem DELETE method. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param vcenter_name: Name of the vCenter. + :type vcenter_name: str + :param inventory_item_name: Name of the inventoryItem. + :type inventory_item_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:`ErrorResponseException` + """ + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vcenterName': self._serialize.url("vcenter_name", vcenter_name, 'str'), + 'inventoryItemName': self._serialize.url("inventory_item_name", inventory_item_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 = {} + 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, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 204]: + raise models.ErrorResponseException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/vcenters/{vcenterName}/inventoryItems/{inventoryItemName}'} + + def list_by_vcenter( + self, resource_group_name, vcenter_name, custom_headers=None, raw=False, **operation_config): + """Implements GET inventoryItems in a vCenter. + + Returns the list of inventoryItems of the given vCenter. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param vcenter_name: Name of the vCenter. + :type vcenter_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 InventoryItem + :rtype: + ~azure.mgmt.vmware.v2020_10_01_preview.models.InventoryItemPaged[~azure.mgmt.vmware.v2020_10_01_preview.models.InventoryItem] + :raises: + :class:`ErrorResponseException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_vcenter.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vcenterName': self._serialize.url("vcenter_name", vcenter_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['Accept'] = 'application/json' + 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, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.InventoryItemPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.InventoryItemPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_vcenter.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/vcenters/{vcenterName}/inventoryItems'} diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/operations.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/operations.py new file mode 100644 index 00000000000..ed72f2560d7 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/operations.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. +# -------------------------------------------------------------------------- + +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: Client Api Version. Constant value: "2020-10-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-10-01-preview" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Returns list of all 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.vmware.v2020_10_01_preview.models.OperationPaged[~azure.mgmt.vmware.v2020_10_01_preview.models.Operation] + :raises: + :class:`ErrorResponseException` + """ + 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['Accept'] = 'application/json' + 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, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + 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.ConnectedVMwarevSphere/operations'} diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/resource_pools_operations.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/resource_pools_operations.py new file mode 100644 index 00000000000..6235e24ce1c --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/resource_pools_operations.py @@ -0,0 +1,518 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ResourcePoolsOperations(object): + """ResourcePoolsOperations 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: Client Api Version. Constant value: "2020-10-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-10-01-preview" + + self.config = config + + + def _create_initial( + self, resource_group_name, resource_pool_name, body=None, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'resourcePoolName': self._serialize.url("resource_pool_name", resource_pool_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['Accept'] = 'application/json' + 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 + if body is not None: + body_content = self._serialize.body(body, 'ResourcePool') + else: + body_content = None + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + header_dict = {} + + if response.status_code == 200: + deserialized = self._deserialize('ResourcePool', response) + header_dict = { + 'Azure-AsyncOperation': 'str', + } + if response.status_code == 201: + deserialized = self._deserialize('ResourcePool', response) + header_dict = { + 'Azure-AsyncOperation': 'str', + } + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + client_raw_response.add_headers(header_dict) + return client_raw_response + + return deserialized + + def create( + self, resource_group_name, resource_pool_name, body=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Implements resourcePool PUT method. + + Create Or Update resourcePool. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param resource_pool_name: Name of the resourcePool. + :type resource_pool_name: str + :param body: Request payload. + :type body: ~azure.mgmt.vmware.v2020_10_01_preview.models.ResourcePool + :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 ResourcePool or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.vmware.v2020_10_01_preview.models.ResourcePool] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.vmware.v2020_10_01_preview.models.ResourcePool]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._create_initial( + resource_group_name=resource_group_name, + resource_pool_name=resource_pool_name, + body=body, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + header_dict = { + 'Azure-AsyncOperation': 'str', + } + deserialized = self._deserialize('ResourcePool', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + client_raw_response.add_headers(header_dict) + 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.ConnectedVMwarevSphere/resourcePools/{resourcePoolName}'} + + def get( + self, resource_group_name, resource_pool_name, custom_headers=None, raw=False, **operation_config): + """Gets a resourcePool. + + Implements resourcePool GET method. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param resource_pool_name: Name of the resourcePool. + :type resource_pool_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: ResourcePool or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.vmware.v2020_10_01_preview.models.ResourcePool or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'resourcePoolName': self._serialize.url("resource_pool_name", resource_pool_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['Accept'] = 'application/json' + 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, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ResourcePool', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/resourcePools/{resourcePoolName}'} + + def update( + self, resource_group_name, resource_pool_name, body=None, custom_headers=None, raw=False, **operation_config): + """Updates a resourcePool. + + API to update certain properties of the resourcePool resource. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param resource_pool_name: Name of the resourcePool. + :type resource_pool_name: str + :param body: Resource properties to update. + :type body: + ~azure.mgmt.vmware.v2020_10_01_preview.models.ResourcePatch + :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: ResourcePool or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.vmware.v2020_10_01_preview.models.ResourcePool or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'resourcePoolName': self._serialize.url("resource_pool_name", resource_pool_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['Accept'] = 'application/json' + 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 + if body is not None: + body_content = self._serialize.body(body, 'ResourcePatch') + else: + body_content = None + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('ResourcePool', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/resourcePools/{resourcePoolName}'} + + + def _delete_initial( + self, resource_group_name, resource_pool_name, force=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'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'resourcePoolName': self._serialize.url("resource_pool_name", resource_pool_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 force is not None: + query_parameters['force'] = self._serialize.query("force", force, 'bool') + + # Construct headers + header_parameters = {} + 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, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + raise models.ErrorResponseException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + header_dict = { + 'Azure-AsyncOperation': 'str', + } + client_raw_response.add_headers(header_dict) + return client_raw_response + + def delete( + self, resource_group_name, resource_pool_name, force=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes an resourcePool. + + Implements resourcePool DELETE method. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param resource_pool_name: Name of the resourcePool. + :type resource_pool_name: str + :param force: Whether force delete was specified. + :type force: bool + :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 + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + resource_pool_name=resource_pool_name, + force=force, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + client_raw_response.add_headers({ + 'Azure-AsyncOperation': 'str', + }) + return client_raw_response + + 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) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/resourcePools/{resourcePoolName}'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Implements GET resourcePools in a subscription. + + List of resourcePools 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 ResourcePool + :rtype: + ~azure.mgmt.vmware.v2020_10_01_preview.models.ResourcePoolPaged[~azure.mgmt.vmware.v2020_10_01_preview.models.ResourcePool] + :raises: + :class:`ErrorResponseException` + """ + 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['Accept'] = 'application/json' + 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, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.ResourcePoolPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ResourcePoolPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ConnectedVMwarevSphere/resourcePools'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Implements GET resourcePools in a resource group. + + List of resourcePools in a resource group. + + :param resource_group_name: The Resource Group Name. + :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 ResourcePool + :rtype: + ~azure.mgmt.vmware.v2020_10_01_preview.models.ResourcePoolPaged[~azure.mgmt.vmware.v2020_10_01_preview.models.ResourcePool] + :raises: + :class:`ErrorResponseException` + """ + 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'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_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['Accept'] = 'application/json' + 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, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.ResourcePoolPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ResourcePoolPaged(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.ConnectedVMwarevSphere/resourcePools'} diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/vcenters_operations.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/vcenters_operations.py new file mode 100644 index 00000000000..13cea61aa9e --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/vcenters_operations.py @@ -0,0 +1,518 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VCentersOperations(object): + """VCentersOperations 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: Client Api Version. Constant value: "2020-10-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-10-01-preview" + + self.config = config + + + def _create_initial( + self, resource_group_name, vcenter_name, body=None, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vcenterName': self._serialize.url("vcenter_name", vcenter_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['Accept'] = 'application/json' + 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 + if body is not None: + body_content = self._serialize.body(body, 'VCenter') + else: + body_content = None + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + header_dict = {} + + if response.status_code == 200: + deserialized = self._deserialize('VCenter', response) + header_dict = { + 'Azure-AsyncOperation': 'str', + } + if response.status_code == 201: + deserialized = self._deserialize('VCenter', response) + header_dict = { + 'Azure-AsyncOperation': 'str', + } + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + client_raw_response.add_headers(header_dict) + return client_raw_response + + return deserialized + + def create( + self, resource_group_name, vcenter_name, body=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Implements vCenter PUT method. + + Create Or Update vCenter. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param vcenter_name: Name of the vCenter. + :type vcenter_name: str + :param body: Request payload. + :type body: ~azure.mgmt.vmware.v2020_10_01_preview.models.VCenter + :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 VCenter or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.vmware.v2020_10_01_preview.models.VCenter] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.vmware.v2020_10_01_preview.models.VCenter]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._create_initial( + resource_group_name=resource_group_name, + vcenter_name=vcenter_name, + body=body, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + header_dict = { + 'Azure-AsyncOperation': 'str', + } + deserialized = self._deserialize('VCenter', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + client_raw_response.add_headers(header_dict) + 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.ConnectedVMwarevSphere/vcenters/{vcenterName}'} + + def get( + self, resource_group_name, vcenter_name, custom_headers=None, raw=False, **operation_config): + """Gets a vCenter. + + Implements vCenter GET method. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param vcenter_name: Name of the vCenter. + :type vcenter_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: VCenter or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.vmware.v2020_10_01_preview.models.VCenter or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vcenterName': self._serialize.url("vcenter_name", vcenter_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['Accept'] = 'application/json' + 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, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VCenter', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/vcenters/{vcenterName}'} + + def update( + self, resource_group_name, vcenter_name, body=None, custom_headers=None, raw=False, **operation_config): + """Updates a vCenter. + + API to update certain properties of the vCenter resource. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param vcenter_name: Name of the vCenter. + :type vcenter_name: str + :param body: Resource properties to update. + :type body: + ~azure.mgmt.vmware.v2020_10_01_preview.models.ResourcePatch + :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: VCenter or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.vmware.v2020_10_01_preview.models.VCenter or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vcenterName': self._serialize.url("vcenter_name", vcenter_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['Accept'] = 'application/json' + 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 + if body is not None: + body_content = self._serialize.body(body, 'ResourcePatch') + else: + body_content = None + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VCenter', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/vcenters/{vcenterName}'} + + + def _delete_initial( + self, resource_group_name, vcenter_name, force=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'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vcenterName': self._serialize.url("vcenter_name", vcenter_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 force is not None: + query_parameters['force'] = self._serialize.query("force", force, 'bool') + + # Construct headers + header_parameters = {} + 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, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + raise models.ErrorResponseException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + header_dict = { + 'Azure-AsyncOperation': 'str', + } + client_raw_response.add_headers(header_dict) + return client_raw_response + + def delete( + self, resource_group_name, vcenter_name, force=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes an vCenter. + + Implements vCenter DELETE method. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param vcenter_name: Name of the vCenter. + :type vcenter_name: str + :param force: Whether force delete was specified. + :type force: bool + :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 + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + vcenter_name=vcenter_name, + force=force, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + client_raw_response.add_headers({ + 'Azure-AsyncOperation': 'str', + }) + return client_raw_response + + 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) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/vcenters/{vcenterName}'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Implements GET vCenters in a subscription. + + List of vCenters 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 VCenter + :rtype: + ~azure.mgmt.vmware.v2020_10_01_preview.models.VCenterPaged[~azure.mgmt.vmware.v2020_10_01_preview.models.VCenter] + :raises: + :class:`ErrorResponseException` + """ + 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['Accept'] = 'application/json' + 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, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.VCenterPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.VCenterPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ConnectedVMwarevSphere/vcenters'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Implements GET vCenters in a resource group. + + List of vCenters in a resource group. + + :param resource_group_name: The Resource Group Name. + :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 VCenter + :rtype: + ~azure.mgmt.vmware.v2020_10_01_preview.models.VCenterPaged[~azure.mgmt.vmware.v2020_10_01_preview.models.VCenter] + :raises: + :class:`ErrorResponseException` + """ + 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'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_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['Accept'] = 'application/json' + 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, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.VCenterPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.VCenterPaged(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.ConnectedVMwarevSphere/vcenters'} diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/virtual_machine_templates_operations.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/virtual_machine_templates_operations.py new file mode 100644 index 00000000000..7d651a14cd6 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/virtual_machine_templates_operations.py @@ -0,0 +1,526 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VirtualMachineTemplatesOperations(object): + """VirtualMachineTemplatesOperations 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: Client Api Version. Constant value: "2020-10-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-10-01-preview" + + self.config = config + + + def _create_initial( + self, resource_group_name, virtual_machine_template_name, body=None, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineTemplateName': self._serialize.url("virtual_machine_template_name", virtual_machine_template_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['Accept'] = 'application/json' + 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 + if body is not None: + body_content = self._serialize.body(body, 'VirtualMachineTemplate') + else: + body_content = None + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + header_dict = {} + + if response.status_code == 200: + deserialized = self._deserialize('VirtualMachineTemplate', response) + header_dict = { + 'Azure-AsyncOperation': 'str', + } + if response.status_code == 201: + deserialized = self._deserialize('VirtualMachineTemplate', response) + header_dict = { + 'Azure-AsyncOperation': 'str', + } + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + client_raw_response.add_headers(header_dict) + return client_raw_response + + return deserialized + + def create( + self, resource_group_name, virtual_machine_template_name, body=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Implements virtual machine template PUT method. + + Create Or Update virtual machine template. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_machine_template_name: Name of the virtual machine + template resource. + :type virtual_machine_template_name: str + :param body: Request payload. + :type body: + ~azure.mgmt.vmware.v2020_10_01_preview.models.VirtualMachineTemplate + :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 VirtualMachineTemplate + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.vmware.v2020_10_01_preview.models.VirtualMachineTemplate] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.vmware.v2020_10_01_preview.models.VirtualMachineTemplate]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._create_initial( + resource_group_name=resource_group_name, + virtual_machine_template_name=virtual_machine_template_name, + body=body, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + header_dict = { + 'Azure-AsyncOperation': 'str', + } + deserialized = self._deserialize('VirtualMachineTemplate', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + client_raw_response.add_headers(header_dict) + 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.ConnectedVMwarevSphere/virtualMachineTemplates/{virtualMachineTemplateName}'} + + def get( + self, resource_group_name, virtual_machine_template_name, custom_headers=None, raw=False, **operation_config): + """Gets a virtual machine template. + + Implements virtual machine template GET method. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_machine_template_name: Name of the virtual machine + template resource. + :type virtual_machine_template_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: VirtualMachineTemplate or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.vmware.v2020_10_01_preview.models.VirtualMachineTemplate + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineTemplateName': self._serialize.url("virtual_machine_template_name", virtual_machine_template_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['Accept'] = 'application/json' + 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, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VirtualMachineTemplate', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates/{virtualMachineTemplateName}'} + + def update( + self, resource_group_name, virtual_machine_template_name, body=None, custom_headers=None, raw=False, **operation_config): + """Updates a virtual machine template. + + API to update certain properties of the virtual machine template + resource. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_machine_template_name: Name of the virtual machine + template resource. + :type virtual_machine_template_name: str + :param body: Resource properties to update. + :type body: + ~azure.mgmt.vmware.v2020_10_01_preview.models.ResourcePatch + :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: VirtualMachineTemplate or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.vmware.v2020_10_01_preview.models.VirtualMachineTemplate + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineTemplateName': self._serialize.url("virtual_machine_template_name", virtual_machine_template_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['Accept'] = 'application/json' + 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 + if body is not None: + body_content = self._serialize.body(body, 'ResourcePatch') + else: + body_content = None + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VirtualMachineTemplate', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates/{virtualMachineTemplateName}'} + + + def _delete_initial( + self, resource_group_name, virtual_machine_template_name, force=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'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineTemplateName': self._serialize.url("virtual_machine_template_name", virtual_machine_template_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 force is not None: + query_parameters['force'] = self._serialize.query("force", force, 'bool') + + # Construct headers + header_parameters = {} + 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, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + raise models.ErrorResponseException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + header_dict = { + 'Azure-AsyncOperation': 'str', + } + client_raw_response.add_headers(header_dict) + return client_raw_response + + def delete( + self, resource_group_name, virtual_machine_template_name, force=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes an virtual machine template. + + Implements virtual machine template DELETE method. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_machine_template_name: Name of the virtual machine + template resource. + :type virtual_machine_template_name: str + :param force: Whether force delete was specified. + :type force: bool + :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 + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + virtual_machine_template_name=virtual_machine_template_name, + force=force, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + client_raw_response.add_headers({ + 'Azure-AsyncOperation': 'str', + }) + return client_raw_response + + 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) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates/{virtualMachineTemplateName}'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Implements GET virtualMachineTemplates in a subscription. + + List of virtualMachineTemplates 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 VirtualMachineTemplate + :rtype: + ~azure.mgmt.vmware.v2020_10_01_preview.models.VirtualMachineTemplatePaged[~azure.mgmt.vmware.v2020_10_01_preview.models.VirtualMachineTemplate] + :raises: + :class:`ErrorResponseException` + """ + 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['Accept'] = 'application/json' + 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, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.VirtualMachineTemplatePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.VirtualMachineTemplatePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Implements GET virtualMachineTemplates in a resource group. + + List of virtualMachineTemplates in a resource group. + + :param resource_group_name: The Resource Group Name. + :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 VirtualMachineTemplate + :rtype: + ~azure.mgmt.vmware.v2020_10_01_preview.models.VirtualMachineTemplatePaged[~azure.mgmt.vmware.v2020_10_01_preview.models.VirtualMachineTemplate] + :raises: + :class:`ErrorResponseException` + """ + 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'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_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['Accept'] = 'application/json' + 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, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.VirtualMachineTemplatePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.VirtualMachineTemplatePaged(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.ConnectedVMwarevSphere/virtualMachineTemplates'} diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/virtual_machines_operations.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/virtual_machines_operations.py new file mode 100644 index 00000000000..e6b55a7fc44 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/virtual_machines_operations.py @@ -0,0 +1,837 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VirtualMachinesOperations(object): + """VirtualMachinesOperations 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: Client Api Version. Constant value: "2020-10-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-10-01-preview" + + self.config = config + + + def _create_initial( + self, resource_group_name, virtual_machine_name, body=None, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineName': self._serialize.url("virtual_machine_name", virtual_machine_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['Accept'] = 'application/json' + 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 + if body is not None: + body_content = self._serialize.body(body, 'VirtualMachine') + else: + body_content = None + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + header_dict = {} + + if response.status_code == 200: + deserialized = self._deserialize('VirtualMachine', response) + header_dict = { + 'Azure-AsyncOperation': 'str', + } + if response.status_code == 201: + deserialized = self._deserialize('VirtualMachine', response) + header_dict = { + 'Azure-AsyncOperation': 'str', + } + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + client_raw_response.add_headers(header_dict) + return client_raw_response + + return deserialized + + def create( + self, resource_group_name, virtual_machine_name, body=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Implements virtual machine PUT method. + + Create Or Update virtual machine. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_machine_name: Name of the virtual machine resource. + :type virtual_machine_name: str + :param body: Request payload. + :type body: + ~azure.mgmt.vmware.v2020_10_01_preview.models.VirtualMachine + :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 VirtualMachine or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.vmware.v2020_10_01_preview.models.VirtualMachine] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.vmware.v2020_10_01_preview.models.VirtualMachine]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._create_initial( + resource_group_name=resource_group_name, + virtual_machine_name=virtual_machine_name, + body=body, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + header_dict = { + 'Azure-AsyncOperation': 'str', + } + deserialized = self._deserialize('VirtualMachine', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + client_raw_response.add_headers(header_dict) + 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.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}'} + + def get( + self, resource_group_name, virtual_machine_name, custom_headers=None, raw=False, **operation_config): + """Gets a virtual machine. + + Implements virtual machine GET method. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_machine_name: Name of the virtual machine resource. + :type virtual_machine_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: VirtualMachine or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.vmware.v2020_10_01_preview.models.VirtualMachine + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineName': self._serialize.url("virtual_machine_name", virtual_machine_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['Accept'] = 'application/json' + 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, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VirtualMachine', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}'} + + + def _update_initial( + self, resource_group_name, virtual_machine_name, body=None, 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'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineName': self._serialize.url("virtual_machine_name", virtual_machine_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['Accept'] = 'application/json' + 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 + if body is not None: + body_content = self._serialize.body(body, 'VirtualMachineUpdate') + else: + body_content = None + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + header_dict = {} + + if response.status_code == 200: + deserialized = self._deserialize('VirtualMachine', response) + header_dict = { + 'Azure-AsyncOperation': 'str', + } + if response.status_code == 201: + deserialized = self._deserialize('VirtualMachine', response) + header_dict = { + 'Azure-AsyncOperation': 'str', + } + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + client_raw_response.add_headers(header_dict) + return client_raw_response + + return deserialized + + def update( + self, resource_group_name, virtual_machine_name, body=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates a virtual machine. + + API to update certain properties of the virtual machine resource. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_machine_name: Name of the virtual machine resource. + :type virtual_machine_name: str + :param body: Resource properties to update. + :type body: + ~azure.mgmt.vmware.v2020_10_01_preview.models.VirtualMachineUpdate + :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 VirtualMachine or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.vmware.v2020_10_01_preview.models.VirtualMachine] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.vmware.v2020_10_01_preview.models.VirtualMachine]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._update_initial( + resource_group_name=resource_group_name, + virtual_machine_name=virtual_machine_name, + body=body, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + header_dict = { + 'Azure-AsyncOperation': 'str', + } + deserialized = self._deserialize('VirtualMachine', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + client_raw_response.add_headers(header_dict) + 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) + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}'} + + + def _delete_initial( + self, resource_group_name, virtual_machine_name, force=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'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineName': self._serialize.url("virtual_machine_name", virtual_machine_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 force is not None: + query_parameters['force'] = self._serialize.query("force", force, 'bool') + + # Construct headers + header_parameters = {} + 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, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + raise models.ErrorResponseException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + header_dict = { + 'Azure-AsyncOperation': 'str', + } + client_raw_response.add_headers(header_dict) + return client_raw_response + + def delete( + self, resource_group_name, virtual_machine_name, force=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes an virtual machine. + + Implements virtual machine DELETE method. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_machine_name: Name of the virtual machine resource. + :type virtual_machine_name: str + :param force: Whether force delete was specified. + :type force: bool + :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 + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + virtual_machine_name=virtual_machine_name, + force=force, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + client_raw_response.add_headers({ + 'Azure-AsyncOperation': 'str', + }) + return client_raw_response + + 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) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}'} + + + def _stop_initial( + self, resource_group_name, virtual_machine_name, body=None, 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'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineName': self._serialize.url("virtual_machine_name", virtual_machine_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 + if body is not None: + body_content = self._serialize.body(body, 'StopVirtualMachineOptions') + else: + body_content = None + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.ErrorResponseException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + header_dict = { + 'Azure-AsyncOperation': 'str', + } + client_raw_response.add_headers(header_dict) + return client_raw_response + + def stop( + self, resource_group_name, virtual_machine_name, body=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Implements the operation to stop a virtual machine. + + Stop virtual machine. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_machine_name: Name of the virtual machine resource. + :type virtual_machine_name: str + :param body: Virtualmachine stop action payload. + :type body: + ~azure.mgmt.vmware.v2020_10_01_preview.models.StopVirtualMachineOptions + :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 + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._stop_initial( + resource_group_name=resource_group_name, + virtual_machine_name=virtual_machine_name, + body=body, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + client_raw_response.add_headers({ + 'Azure-AsyncOperation': 'str', + }) + return client_raw_response + + 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) + stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}/stop'} + + + def _start_initial( + self, resource_group_name, virtual_machine_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'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineName': self._serialize.url("virtual_machine_name", virtual_machine_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 = {} + 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, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.ErrorResponseException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + header_dict = { + 'Azure-AsyncOperation': 'str', + } + client_raw_response.add_headers(header_dict) + return client_raw_response + + def start( + self, resource_group_name, virtual_machine_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Implements the operation to start a virtual machine. + + Start virtual machine. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_machine_name: Name of the virtual machine resource. + :type virtual_machine_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 + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._start_initial( + resource_group_name=resource_group_name, + virtual_machine_name=virtual_machine_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + client_raw_response.add_headers({ + 'Azure-AsyncOperation': 'str', + }) + return client_raw_response + + 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) + start.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}/start'} + + + def _restart_initial( + self, resource_group_name, virtual_machine_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.restart.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineName': self._serialize.url("virtual_machine_name", virtual_machine_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 = {} + 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, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.ErrorResponseException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + header_dict = { + 'Azure-AsyncOperation': 'str', + } + client_raw_response.add_headers(header_dict) + return client_raw_response + + def restart( + self, resource_group_name, virtual_machine_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Implements the operation to restart a virtual machine. + + Restart virtual machine. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_machine_name: Name of the virtual machine resource. + :type virtual_machine_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 + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._restart_initial( + resource_group_name=resource_group_name, + virtual_machine_name=virtual_machine_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + client_raw_response.add_headers({ + 'Azure-AsyncOperation': 'str', + }) + return client_raw_response + + 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) + restart.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}/restart'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Implements GET virtualMachines in a subscription. + + List of virtualMachines 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 VirtualMachine + :rtype: + ~azure.mgmt.vmware.v2020_10_01_preview.models.VirtualMachinePaged[~azure.mgmt.vmware.v2020_10_01_preview.models.VirtualMachine] + :raises: + :class:`ErrorResponseException` + """ + 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['Accept'] = 'application/json' + 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, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.VirtualMachinePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.VirtualMachinePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Implements GET virtualMachines in a resource group. + + List of virtualMachines in a resource group. + + :param resource_group_name: The Resource Group Name. + :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 VirtualMachine + :rtype: + ~azure.mgmt.vmware.v2020_10_01_preview.models.VirtualMachinePaged[~azure.mgmt.vmware.v2020_10_01_preview.models.VirtualMachine] + :raises: + :class:`ErrorResponseException` + """ + 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'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_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['Accept'] = 'application/json' + 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, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.VirtualMachinePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.VirtualMachinePaged(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.ConnectedVMwarevSphere/virtualMachines'} diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/virtual_networks_operations.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/virtual_networks_operations.py new file mode 100644 index 00000000000..d4dee904ed7 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/operations/virtual_networks_operations.py @@ -0,0 +1,519 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VirtualNetworksOperations(object): + """VirtualNetworksOperations 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: Client Api Version. Constant value: "2020-10-01-preview". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2020-10-01-preview" + + self.config = config + + + def _create_initial( + self, resource_group_name, virtual_network_name, body=None, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_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['Accept'] = 'application/json' + 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 + if body is not None: + body_content = self._serialize.body(body, 'VirtualNetwork') + else: + body_content = None + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + header_dict = {} + + if response.status_code == 200: + deserialized = self._deserialize('VirtualNetwork', response) + header_dict = { + 'Azure-AsyncOperation': 'str', + } + if response.status_code == 201: + deserialized = self._deserialize('VirtualNetwork', response) + header_dict = { + 'Azure-AsyncOperation': 'str', + } + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + client_raw_response.add_headers(header_dict) + return client_raw_response + + return deserialized + + def create( + self, resource_group_name, virtual_network_name, body=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Implements virtual network PUT method. + + Create Or Update virtual network. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_network_name: Name of the virtual network resource. + :type virtual_network_name: str + :param body: Request payload. + :type body: + ~azure.mgmt.vmware.v2020_10_01_preview.models.VirtualNetwork + :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 VirtualNetwork or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.vmware.v2020_10_01_preview.models.VirtualNetwork] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.vmware.v2020_10_01_preview.models.VirtualNetwork]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._create_initial( + resource_group_name=resource_group_name, + virtual_network_name=virtual_network_name, + body=body, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + header_dict = { + 'Azure-AsyncOperation': 'str', + } + deserialized = self._deserialize('VirtualNetwork', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + client_raw_response.add_headers(header_dict) + 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.ConnectedVMwarevSphere/virtualNetworks/{virtualNetworkName}'} + + def get( + self, resource_group_name, virtual_network_name, custom_headers=None, raw=False, **operation_config): + """Gets a virtual network. + + Implements virtual network GET method. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_network_name: Name of the virtual network resource. + :type virtual_network_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: VirtualNetwork or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.vmware.v2020_10_01_preview.models.VirtualNetwork + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_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['Accept'] = 'application/json' + 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, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VirtualNetwork', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks/{virtualNetworkName}'} + + def update( + self, resource_group_name, virtual_network_name, body=None, custom_headers=None, raw=False, **operation_config): + """Updates a virtual network. + + API to update certain properties of the virtual network resource. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_network_name: Name of the virtual network resource. + :type virtual_network_name: str + :param body: Resource properties to update. + :type body: + ~azure.mgmt.vmware.v2020_10_01_preview.models.ResourcePatch + :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: VirtualNetwork or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.vmware.v2020_10_01_preview.models.VirtualNetwork + or ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorResponseException` + """ + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_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['Accept'] = 'application/json' + 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 + if body is not None: + body_content = self._serialize.body(body, 'ResourcePatch') + else: + body_content = None + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VirtualNetwork', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks/{virtualNetworkName}'} + + + def _delete_initial( + self, resource_group_name, virtual_network_name, force=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'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_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 force is not None: + query_parameters['force'] = self._serialize.query("force", force, 'bool') + + # Construct headers + header_parameters = {} + 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, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + raise models.ErrorResponseException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + header_dict = { + 'Azure-AsyncOperation': 'str', + } + client_raw_response.add_headers(header_dict) + return client_raw_response + + def delete( + self, resource_group_name, virtual_network_name, force=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes an virtual network. + + Implements virtual network DELETE method. + + :param resource_group_name: The Resource Group Name. + :type resource_group_name: str + :param virtual_network_name: Name of the virtual network resource. + :type virtual_network_name: str + :param force: Whether force delete was specified. + :type force: bool + :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 + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorResponseException` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + virtual_network_name=virtual_network_name, + force=force, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + client_raw_response.add_headers({ + 'Azure-AsyncOperation': 'str', + }) + return client_raw_response + + 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) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks/{virtualNetworkName}'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Implements GET virtualNetworks in a subscription. + + List of virtualNetworks 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 VirtualNetwork + :rtype: + ~azure.mgmt.vmware.v2020_10_01_preview.models.VirtualNetworkPaged[~azure.mgmt.vmware.v2020_10_01_preview.models.VirtualNetwork] + :raises: + :class:`ErrorResponseException` + """ + 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['Accept'] = 'application/json' + 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, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.VirtualNetworkPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.VirtualNetworkPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Implements GET virtualNetworks in a resource group. + + List of virtualNetworks in a resource group. + + :param resource_group_name: The Resource Group Name. + :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 VirtualNetwork + :rtype: + ~azure.mgmt.vmware.v2020_10_01_preview.models.VirtualNetworkPaged[~azure.mgmt.vmware.v2020_10_01_preview.models.VirtualNetwork] + :raises: + :class:`ErrorResponseException` + """ + 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'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_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['Accept'] = 'application/json' + 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, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorResponseException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.VirtualNetworkPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.VirtualNetworkPaged(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.ConnectedVMwarevSphere/virtualNetworks'} diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/py.typed b/src/connectedvmware/azext_connectedvmware/vendored_sdks/py.typed new file mode 100644 index 00000000000..e5aff4f83af --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/py.typed @@ -0,0 +1 @@ +# Marker file for PEP 561. \ No newline at end of file diff --git a/src/connectedvmware/azext_connectedvmware/vendored_sdks/version.py b/src/connectedvmware/azext_connectedvmware/vendored_sdks/version.py new file mode 100644 index 00000000000..affaef0c987 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vendored_sdks/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 = "1.0.0b1" + diff --git a/src/connectedvmware/azext_connectedvmware/vmware_constants.py b/src/connectedvmware/azext_connectedvmware/vmware_constants.py new file mode 100644 index 00000000000..541ee99ac2e --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vmware_constants.py @@ -0,0 +1,36 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +VMWARE_NAMESPACE = "Microsoft.ConnectedVmwarevSphere" +VCENTER_RESOURCE_TYPE = "VCenters" +RESOURCEPOOL_RESOURCE_TYPE = "resourcepools" +VMTEMPLATE_RESOURCE_TYPE = "virtualmachinetemplates" +VIRTUALNETWORK_RESOURCE_TYPE = "virtualnetworks" + +DEFAULT_VCENTER_PORT = 443 + +EXTENDED_LOCATION_NAMESPACE = "Microsoft.ExtendedLocation" +CUSTOM_LOCATION_RESOURCE_TYPE = "CustomLocations" +EXTENDED_LOCATION_TYPE = "CustomLocation" +INVENTORY_ITEM_TYPE = "InventoryItems" + +NAME_PARAMETER = "name" +DEVICE_KEY = "device-key" + +# Nic parameters. +NETWORK = "network" +NIC_TYPE = "nic-type" +POWER_ON_BOOT = "power-on-boot" +ALLOCATION_METHOD = "allocation-method" +IP_ADDRESS = "ip-address" +SUBNET_MASK = "subnet-mask" +GATEWAY = "gateway" +GATEWAY_SEPERATOR = "," + +# Disk parameters. +DISK_SIZE = "disk-size" +DISK_MODE = "disk-mode" +CONTROLLER_KEY = "controller-key" +UNIT_NUMBER = "unit-number" diff --git a/src/connectedvmware/azext_connectedvmware/vmware_utils.py b/src/connectedvmware/azext_connectedvmware/vmware_utils.py new file mode 100644 index 00000000000..f19ed831d91 --- /dev/null +++ b/src/connectedvmware/azext_connectedvmware/vmware_utils.py @@ -0,0 +1,64 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from knack.util import CLIError +from azure.cli.core.commands.client_factory import get_subscription_id +from msrestazure.tools import is_valid_resource_id, resource_id + + +def get_resource_id( + cmd, + resource_group_name, + provider_name_space, + resource_type, + resource, + child_type_1=None, + child_name_1=None, +): + """ + Gets the resource id for the resource if name is given. + """ + + if not is_valid_resource_id(resource): + resource_ids = None + if child_type_1 and child_name_1: + resource_ids = resource_id( + subscription=get_subscription_id(cmd.cli_ctx), + resource_group=resource_group_name, + namespace=provider_name_space, + type=resource_type, + name=resource, + child_type_1=child_type_1, + child_name_1=child_name_1, + ) + else: + resource_ids = resource_id( + subscription=get_subscription_id(cmd.cli_ctx), + resource_group=resource_group_name, + namespace=provider_name_space, + type=resource_type, + name=resource, + ) + + else: + resource_ids = resource + + return resource_ids + + +def create_dictionary_from_arg_string(values, option_string=None): + """ + Creates and returns dictionary from a string containing params in KEY=VALUE format. + """ + params_dict = {} + for item in values: + try: + key, value = item.split('=', 1) + params_dict[key.lower()] = value + except ValueError as item_no_exist: + raise CLIError( + 'usage error: {} KEY=VALUE [KEY=VALUE ...]'.format(option_string) + ) from item_no_exist + return params_dict diff --git a/src/connectedvmware/setup.cfg b/src/connectedvmware/setup.cfg new file mode 100644 index 00000000000..f46f90607a7 --- /dev/null +++ b/src/connectedvmware/setup.cfg @@ -0,0 +1,7 @@ +[bdist_wheel] +universal=1 +[flake8] +max-line-length=100 +ignore=E501,E203,W503,W504 +exclude= + ./azext_connectedvmware/vendored_sdks/** diff --git a/src/connectedvmware/setup.py b/src/connectedvmware/setup.py new file mode 100644 index 00000000000..55055993cc5 --- /dev/null +++ b/src/connectedvmware/setup.py @@ -0,0 +1,60 @@ +#!/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 + +try: + from azure_bdist_wheel import cmdclass +except ImportError: + from distutils import log as logger + + logger.warn("Wheel is not available, disabling bdist_wheel hook") + +# TODO: Confirm this is the right version number you want and it matches your +# HISTORY.rst entry. +VERSION = '0.1.0' + +# The full list of classifiers is available at +# https://pypi.python.org/pypi?%3Aaction=list_classifiers +CLASSIFIERS = [ + 'Development Status :: 4 - Beta', + 'Intended Audience :: Developers', + 'Intended Audience :: System Administrators', + 'Programming Language :: Python', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', + 'License :: OSI Approved :: MIT License', +] + +# TODO: Add any additional SDK dependencies here +DEPENDENCIES = ['azure-cli-core'] + +with open('README.rst', 'r', encoding='utf-8') as f: + README = f.read() +with open('HISTORY.rst', 'r', encoding='utf-8') as f: + HISTORY = f.read() + +setup( + name='connectedvmware', + version=VERSION, + description='Microsoft Azure Command-Line Tools Connectedvmware Extension', + # TODO: Update author and email, if applicable + author='Microsoft Corporation', + author_email='azpycli@microsoft.com', + # TODO: consider pointing directly to your source code instead of the generic repo + url='https://github.com/Azure/azure-cli-extensions', + long_description=README + '\n\n' + HISTORY, + license='MIT', + classifiers=CLASSIFIERS, + packages=find_packages(), + install_requires=DEPENDENCIES, + package_data={'azext_connectedvmware': ['azext_metadata.json']}, +) diff --git a/src/service_name.json b/src/service_name.json index 9b715bf16d3..7aa8ffac3d4 100644 --- a/src/service_name.json +++ b/src/service_name.json @@ -388,5 +388,10 @@ "Command": "az webpubsub", "AzureServiceName": "Azure Web PubSub", "URL": "" + }, + { + "Command": "az connectedvmware", + "AzureServiceName": "Azure Arc for VMware PrivateCloud", + "URL": "" } ] From b0b33f4d45c2e4c50ece782851291d967e1f36e2 Mon Sep 17 00:00:00 2001 From: Zunli Hu Date: Fri, 21 May 2021 09:40:55 +0800 Subject: [PATCH 24/83] {storage-blob-preview} fix test (#3406) * fix test * cred scan --- scripts/ci/credscan/CredScanSuppressions.json | 6 + ...ge_account_default_service_properties.yaml | 18 +- ...st_storage_account_update_change_feed.yaml | 54 +-- ...ate_container_delete_retention_policy.yaml | 52 +-- ...ccount_update_delete_retention_policy.yaml | 36 +- ...st_storage_account_update_last_access.yaml | 48 +-- ...est_storage_account_update_versioning.yaml | 32 +- ...test_storage_append_blob_upload_oauth.yaml | 200 ++++----- .../test_storage_blob_incremental_copy.yaml | 104 ++--- .../test_storage_blob_list_scenarios.yaml | 206 ++++----- .../test_storage_blob_show_oauth.yaml | 296 ++++++------- .../test_storage_blob_soft_delete.yaml | 98 ++--- .../test_storage_blob_tags_scenario.yaml | 358 ++++++++-------- ...torage_blob_update_service_properties.yaml | 180 +++----- ...test_storage_blob_upload_midsize_file.yaml | 364 ++++++++-------- .../test_storage_blob_upload_scenarios.yaml | 74 ++-- .../test_storage_blob_upload_small_file.yaml | 404 +++++++++--------- .../test_storage_blob_versioning.yaml | 168 ++++---- ...test_storage_container_list_scenarios.yaml | 156 +++---- ...t_storage_container_soft_delete_oauth.yaml | 110 ++--- ...orage_container_soft_delete_scenarios.yaml | 110 ++--- .../latest/test_storage_blob_scenarios.py | 1 + 22 files changed, 1492 insertions(+), 1583 deletions(-) diff --git a/scripts/ci/credscan/CredScanSuppressions.json b/scripts/ci/credscan/CredScanSuppressions.json index c9727c59046..0c3916a440f 100644 --- a/scripts/ci/credscan/CredScanSuppressions.json +++ b/scripts/ci/credscan/CredScanSuppressions.json @@ -99,6 +99,12 @@ "src\\stream-analytics\\azext_stream_analytics\\_help.py" ], "_justification": "dummy passwords for one-off resources" + }, + { + "file": [ + "src\\storage-blob-preview\\azext_storage_blob_preview\\tests\\latest\\recordings\\test_storage_blob_incremental_copy.yaml" + ], + "_justification": "[Storage] response body contains random value recognized as secret in outdated recoding files of storage may remove in the future" } ] } diff --git a/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_account_default_service_properties.yaml b/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_account_default_service_properties.yaml index e1fef964f7e..cb5f99e5ff6 100644 --- a/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_account_default_service_properties.yaml +++ b/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_account_default_service_properties.yaml @@ -13,7 +13,7 @@ interactions: ParameterSetName: - -n -g User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2021-01-01 response: @@ -27,7 +27,7 @@ interactions: content-type: - application/json date: - - Mon, 01 Mar 2021 04:07:14 GMT + - Thu, 20 May 2021 08:43:35 GMT expires: - '-1' pragma: @@ -59,7 +59,7 @@ interactions: ParameterSetName: - --default-service-version -n -g User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2021-01-01 response: @@ -73,7 +73,7 @@ interactions: content-type: - application/json date: - - Mon, 01 Mar 2021 04:07:15 GMT + - Thu, 20 May 2021 08:43:37 GMT expires: - '-1' pragma: @@ -110,7 +110,7 @@ interactions: ParameterSetName: - --default-service-version -n -g User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2021-01-01 response: @@ -124,7 +124,7 @@ interactions: content-type: - application/json date: - - Mon, 01 Mar 2021 04:07:16 GMT + - Thu, 20 May 2021 08:43:38 GMT expires: - '-1' pragma: @@ -140,7 +140,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1198' status: code: 200 message: OK @@ -158,7 +158,7 @@ interactions: ParameterSetName: - -n -g User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2021-01-01 response: @@ -172,7 +172,7 @@ interactions: content-type: - application/json date: - - Mon, 01 Mar 2021 04:07:16 GMT + - Thu, 20 May 2021 08:43:39 GMT expires: - '-1' pragma: diff --git a/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_account_update_change_feed.yaml b/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_account_update_change_feed.yaml index efbcaa707ec..282f4da4147 100644 --- a/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_account_update_change_feed.yaml +++ b/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_account_update_change_feed.yaml @@ -13,7 +13,7 @@ interactions: ParameterSetName: - --enable-change-feed --change-feed-retention-days -n -g User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_update_change_feed000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2021-01-01 response: @@ -27,7 +27,7 @@ interactions: content-type: - application/json date: - - Mon, 01 Mar 2021 04:07:17 GMT + - Thu, 20 May 2021 08:43:37 GMT expires: - '-1' pragma: @@ -64,12 +64,12 @@ interactions: ParameterSetName: - --enable-change-feed --change-feed-retention-days -n -g User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_update_change_feed000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2021-01-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_update_change_feed000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices","properties":{"changeFeed":{"retentionInDays":1,"enabled":true},"cors":{"corsRules":[]},"deleteRetentionPolicy":{"enabled":false}}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_update_change_feed000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices","properties":{"cors":{"corsRules":[]},"deleteRetentionPolicy":{"enabled":false},"changeFeed":{"retentionInDays":1,"enabled":true}}}' headers: cache-control: - no-cache @@ -78,7 +78,7 @@ interactions: content-type: - application/json date: - - Mon, 01 Mar 2021 04:07:18 GMT + - Thu, 20 May 2021 08:43:39 GMT expires: - '-1' pragma: @@ -94,7 +94,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1198' status: code: 200 message: OK @@ -112,12 +112,12 @@ interactions: ParameterSetName: - --enable-change-feed --change-feed-retention-days -n -g User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_update_change_feed000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2021-01-01 response: body: - string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_update_change_feed000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices","properties":{"changeFeed":{"retentionInDays":1,"enabled":true},"cors":{"corsRules":[]},"deleteRetentionPolicy":{"enabled":false}}}' + string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_update_change_feed000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices","properties":{"cors":{"corsRules":[]},"deleteRetentionPolicy":{"enabled":false},"changeFeed":{"retentionInDays":1,"enabled":true}}}' headers: cache-control: - no-cache @@ -126,7 +126,7 @@ interactions: content-type: - application/json date: - - Mon, 01 Mar 2021 04:07:18 GMT + - Thu, 20 May 2021 08:43:40 GMT expires: - '-1' pragma: @@ -163,12 +163,12 @@ interactions: ParameterSetName: - --enable-change-feed --change-feed-retention-days -n -g User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_update_change_feed000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2021-01-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_update_change_feed000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices","properties":{"changeFeed":{"retentionInDays":100,"enabled":true},"cors":{"corsRules":[]},"deleteRetentionPolicy":{"enabled":false}}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_update_change_feed000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices","properties":{"cors":{"corsRules":[]},"deleteRetentionPolicy":{"enabled":false},"changeFeed":{"retentionInDays":100,"enabled":true}}}' headers: cache-control: - no-cache @@ -177,7 +177,7 @@ interactions: content-type: - application/json date: - - Mon, 01 Mar 2021 04:07:20 GMT + - Thu, 20 May 2021 08:43:41 GMT expires: - '-1' pragma: @@ -193,7 +193,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1197' status: code: 200 message: OK @@ -211,12 +211,12 @@ interactions: ParameterSetName: - --enable-change-feed --change-feed-retention-days -n -g User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_update_change_feed000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2021-01-01 response: body: - string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_update_change_feed000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices","properties":{"changeFeed":{"retentionInDays":100,"enabled":true},"cors":{"corsRules":[]},"deleteRetentionPolicy":{"enabled":false}}}' + string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_update_change_feed000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices","properties":{"cors":{"corsRules":[]},"deleteRetentionPolicy":{"enabled":false},"changeFeed":{"retentionInDays":100,"enabled":true}}}' headers: cache-control: - no-cache @@ -225,7 +225,7 @@ interactions: content-type: - application/json date: - - Mon, 01 Mar 2021 04:07:21 GMT + - Thu, 20 May 2021 08:43:43 GMT expires: - '-1' pragma: @@ -262,12 +262,12 @@ interactions: ParameterSetName: - --enable-change-feed --change-feed-retention-days -n -g User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_update_change_feed000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2021-01-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_update_change_feed000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices","properties":{"changeFeed":{"retentionInDays":14600,"enabled":true},"cors":{"corsRules":[]},"deleteRetentionPolicy":{"enabled":false}}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_update_change_feed000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices","properties":{"cors":{"corsRules":[]},"deleteRetentionPolicy":{"enabled":false},"changeFeed":{"retentionInDays":14600,"enabled":true}}}' headers: cache-control: - no-cache @@ -276,7 +276,7 @@ interactions: content-type: - application/json date: - - Mon, 01 Mar 2021 04:07:21 GMT + - Thu, 20 May 2021 08:43:43 GMT expires: - '-1' pragma: @@ -292,7 +292,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1193' + - '1198' status: code: 200 message: OK @@ -310,12 +310,12 @@ interactions: ParameterSetName: - --enable-change-feed -n -g User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_update_change_feed000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2021-01-01 response: body: - string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_update_change_feed000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices","properties":{"changeFeed":{"retentionInDays":14600,"enabled":true},"cors":{"corsRules":[]},"deleteRetentionPolicy":{"enabled":false}}}' + string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_update_change_feed000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices","properties":{"cors":{"corsRules":[]},"deleteRetentionPolicy":{"enabled":false},"changeFeed":{"retentionInDays":14600,"enabled":true}}}' headers: cache-control: - no-cache @@ -324,7 +324,7 @@ interactions: content-type: - application/json date: - - Mon, 01 Mar 2021 04:07:23 GMT + - Thu, 20 May 2021 08:43:44 GMT expires: - '-1' pragma: @@ -361,12 +361,12 @@ interactions: ParameterSetName: - --enable-change-feed -n -g User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_update_change_feed000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2021-01-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_update_change_feed000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices","properties":{"changeFeed":{"enabled":false},"cors":{"corsRules":[]},"deleteRetentionPolicy":{"enabled":false}}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_update_change_feed000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices","properties":{"cors":{"corsRules":[]},"deleteRetentionPolicy":{"enabled":false},"changeFeed":{"enabled":false}}}' headers: cache-control: - no-cache @@ -375,7 +375,7 @@ interactions: content-type: - application/json date: - - Mon, 01 Mar 2021 04:07:23 GMT + - Thu, 20 May 2021 08:43:46 GMT expires: - '-1' pragma: @@ -391,7 +391,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1194' + - '1195' status: code: 200 message: OK diff --git a/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_account_update_container_delete_retention_policy.yaml b/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_account_update_container_delete_retention_policy.yaml index 80cc7992796..d0275753768 100644 --- a/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_account_update_container_delete_retention_policy.yaml +++ b/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_account_update_container_delete_retention_policy.yaml @@ -13,7 +13,7 @@ interactions: ParameterSetName: - --enable-container-delete-retention --container-delete-retention-days -n -g User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_update_delete_retention_policy000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2021-01-01 response: @@ -27,7 +27,7 @@ interactions: content-type: - application/json date: - - Mon, 01 Mar 2021 04:07:17 GMT + - Thu, 20 May 2021 08:43:37 GMT expires: - '-1' pragma: @@ -64,12 +64,12 @@ interactions: ParameterSetName: - --enable-container-delete-retention --container-delete-retention-days -n -g User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_update_delete_retention_policy000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2021-01-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_update_delete_retention_policy000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices","properties":{"containerDeleteRetentionPolicy":{"enabled":true,"days":1},"cors":{"corsRules":[]},"deleteRetentionPolicy":{"enabled":false}}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_update_delete_retention_policy000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices","properties":{"cors":{"corsRules":[]},"deleteRetentionPolicy":{"enabled":false},"containerDeleteRetentionPolicy":{"enabled":true,"days":1}}}' headers: cache-control: - no-cache @@ -78,7 +78,7 @@ interactions: content-type: - application/json date: - - Mon, 01 Mar 2021 04:07:18 GMT + - Thu, 20 May 2021 08:43:42 GMT expires: - '-1' pragma: @@ -112,12 +112,12 @@ interactions: ParameterSetName: - --enable-container-delete-retention --container-delete-retention-days -n -g User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_update_delete_retention_policy000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2021-01-01 response: body: - string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_update_delete_retention_policy000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices","properties":{"containerDeleteRetentionPolicy":{"enabled":true,"days":1},"cors":{"corsRules":[]},"deleteRetentionPolicy":{"enabled":false}}}' + string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_update_delete_retention_policy000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices","properties":{"cors":{"corsRules":[]},"deleteRetentionPolicy":{"enabled":false},"containerDeleteRetentionPolicy":{"enabled":true,"days":1}}}' headers: cache-control: - no-cache @@ -126,7 +126,7 @@ interactions: content-type: - application/json date: - - Mon, 01 Mar 2021 04:07:18 GMT + - Thu, 20 May 2021 08:43:43 GMT expires: - '-1' pragma: @@ -163,12 +163,12 @@ interactions: ParameterSetName: - --enable-container-delete-retention --container-delete-retention-days -n -g User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_update_delete_retention_policy000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2021-01-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_update_delete_retention_policy000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices","properties":{"containerDeleteRetentionPolicy":{"enabled":true,"days":100},"cors":{"corsRules":[]},"deleteRetentionPolicy":{"enabled":false}}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_update_delete_retention_policy000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices","properties":{"cors":{"corsRules":[]},"deleteRetentionPolicy":{"enabled":false},"containerDeleteRetentionPolicy":{"enabled":true,"days":100}}}' headers: cache-control: - no-cache @@ -177,7 +177,7 @@ interactions: content-type: - application/json date: - - Mon, 01 Mar 2021 04:07:19 GMT + - Thu, 20 May 2021 08:43:45 GMT expires: - '-1' pragma: @@ -193,7 +193,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1199' status: code: 200 message: OK @@ -211,12 +211,12 @@ interactions: ParameterSetName: - --enable-container-delete-retention --container-delete-retention-days -n -g User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_update_delete_retention_policy000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2021-01-01 response: body: - string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_update_delete_retention_policy000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices","properties":{"containerDeleteRetentionPolicy":{"enabled":true,"days":100},"cors":{"corsRules":[]},"deleteRetentionPolicy":{"enabled":false}}}' + string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_update_delete_retention_policy000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices","properties":{"cors":{"corsRules":[]},"deleteRetentionPolicy":{"enabled":false},"containerDeleteRetentionPolicy":{"enabled":true,"days":100}}}' headers: cache-control: - no-cache @@ -225,7 +225,7 @@ interactions: content-type: - application/json date: - - Mon, 01 Mar 2021 04:07:21 GMT + - Thu, 20 May 2021 08:43:46 GMT expires: - '-1' pragma: @@ -262,12 +262,12 @@ interactions: ParameterSetName: - --enable-container-delete-retention --container-delete-retention-days -n -g User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_update_delete_retention_policy000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2021-01-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_update_delete_retention_policy000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices","properties":{"containerDeleteRetentionPolicy":{"enabled":true,"days":365},"cors":{"corsRules":[]},"deleteRetentionPolicy":{"enabled":false}}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_update_delete_retention_policy000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices","properties":{"cors":{"corsRules":[]},"deleteRetentionPolicy":{"enabled":false},"containerDeleteRetentionPolicy":{"enabled":true,"days":365}}}' headers: cache-control: - no-cache @@ -276,7 +276,7 @@ interactions: content-type: - application/json date: - - Mon, 01 Mar 2021 04:07:21 GMT + - Thu, 20 May 2021 08:43:47 GMT expires: - '-1' pragma: @@ -292,7 +292,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1193' + - '1197' status: code: 200 message: OK @@ -310,12 +310,12 @@ interactions: ParameterSetName: - --enable-container-delete-retention -n -g User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_update_delete_retention_policy000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2021-01-01 response: body: - string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_update_delete_retention_policy000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices","properties":{"containerDeleteRetentionPolicy":{"enabled":true,"days":365},"cors":{"corsRules":[]},"deleteRetentionPolicy":{"enabled":false}}}' + string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_update_delete_retention_policy000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices","properties":{"cors":{"corsRules":[]},"deleteRetentionPolicy":{"enabled":false},"containerDeleteRetentionPolicy":{"enabled":true,"days":365}}}' headers: cache-control: - no-cache @@ -324,7 +324,7 @@ interactions: content-type: - application/json date: - - Mon, 01 Mar 2021 04:07:22 GMT + - Thu, 20 May 2021 08:43:49 GMT expires: - '-1' pragma: @@ -361,12 +361,12 @@ interactions: ParameterSetName: - --enable-container-delete-retention -n -g User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_update_delete_retention_policy000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2021-01-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_update_delete_retention_policy000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices","properties":{"containerDeleteRetentionPolicy":{"enabled":false},"cors":{"corsRules":[]},"deleteRetentionPolicy":{"enabled":false}}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_update_delete_retention_policy000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices","properties":{"cors":{"corsRules":[]},"deleteRetentionPolicy":{"enabled":false},"containerDeleteRetentionPolicy":{"enabled":false}}}' headers: cache-control: - no-cache @@ -375,7 +375,7 @@ interactions: content-type: - application/json date: - - Mon, 01 Mar 2021 04:07:22 GMT + - Thu, 20 May 2021 08:43:50 GMT expires: - '-1' pragma: @@ -391,7 +391,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1192' + - '1197' status: code: 200 message: OK diff --git a/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_account_update_delete_retention_policy.yaml b/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_account_update_delete_retention_policy.yaml index c7bd0fe20c6..5a71db0f1f8 100644 --- a/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_account_update_delete_retention_policy.yaml +++ b/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_account_update_delete_retention_policy.yaml @@ -13,7 +13,7 @@ interactions: ParameterSetName: - --enable-delete-retention --delete-retention-days -n -g User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_update_delete_retention_policy000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2021-01-01 response: @@ -27,7 +27,7 @@ interactions: content-type: - application/json date: - - Mon, 01 Mar 2021 04:07:16 GMT + - Thu, 20 May 2021 08:43:38 GMT expires: - '-1' pragma: @@ -64,7 +64,7 @@ interactions: ParameterSetName: - --enable-delete-retention --delete-retention-days -n -g User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_update_delete_retention_policy000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2021-01-01 response: @@ -78,7 +78,7 @@ interactions: content-type: - application/json date: - - Mon, 01 Mar 2021 04:07:17 GMT + - Thu, 20 May 2021 08:43:38 GMT expires: - '-1' pragma: @@ -112,7 +112,7 @@ interactions: ParameterSetName: - --enable-delete-retention --delete-retention-days -n -g User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_update_delete_retention_policy000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2021-01-01 response: @@ -126,7 +126,7 @@ interactions: content-type: - application/json date: - - Mon, 01 Mar 2021 04:07:18 GMT + - Thu, 20 May 2021 08:43:38 GMT expires: - '-1' pragma: @@ -163,7 +163,7 @@ interactions: ParameterSetName: - --enable-delete-retention --delete-retention-days -n -g User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_update_delete_retention_policy000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2021-01-01 response: @@ -177,7 +177,7 @@ interactions: content-type: - application/json date: - - Mon, 01 Mar 2021 04:07:19 GMT + - Thu, 20 May 2021 08:43:40 GMT expires: - '-1' pragma: @@ -193,7 +193,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1195' + - '1197' status: code: 200 message: OK @@ -211,7 +211,7 @@ interactions: ParameterSetName: - --enable-delete-retention --delete-retention-days -n -g User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_update_delete_retention_policy000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2021-01-01 response: @@ -225,7 +225,7 @@ interactions: content-type: - application/json date: - - Mon, 01 Mar 2021 04:07:19 GMT + - Thu, 20 May 2021 08:43:41 GMT expires: - '-1' pragma: @@ -262,7 +262,7 @@ interactions: ParameterSetName: - --enable-delete-retention --delete-retention-days -n -g User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_update_delete_retention_policy000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2021-01-01 response: @@ -276,7 +276,7 @@ interactions: content-type: - application/json date: - - Mon, 01 Mar 2021 04:07:20 GMT + - Thu, 20 May 2021 08:43:43 GMT expires: - '-1' pragma: @@ -310,7 +310,7 @@ interactions: ParameterSetName: - --enable-delete-retention -n -g User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_update_delete_retention_policy000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2021-01-01 response: @@ -324,7 +324,7 @@ interactions: content-type: - application/json date: - - Mon, 01 Mar 2021 04:07:20 GMT + - Thu, 20 May 2021 08:43:44 GMT expires: - '-1' pragma: @@ -361,7 +361,7 @@ interactions: ParameterSetName: - --enable-delete-retention -n -g User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_storage_account_update_delete_retention_policy000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2021-01-01 response: @@ -375,7 +375,7 @@ interactions: content-type: - application/json date: - - Mon, 01 Mar 2021 04:07:21 GMT + - Thu, 20 May 2021 08:43:44 GMT expires: - '-1' pragma: @@ -391,7 +391,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1193' + - '1197' status: code: 200 message: OK diff --git a/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_account_update_last_access.yaml b/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_account_update_last_access.yaml index aa32bb931e8..68aec518eb6 100644 --- a/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_account_update_last_access.yaml +++ b/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_account_update_last_access.yaml @@ -13,7 +13,7 @@ interactions: ParameterSetName: - --enable-last-access-tracking -n -g User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_sa_versioning000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2021-01-01 response: @@ -27,7 +27,7 @@ interactions: content-type: - application/json date: - - Mon, 01 Mar 2021 04:07:14 GMT + - Thu, 20 May 2021 08:42:18 GMT expires: - '-1' pragma: @@ -64,12 +64,12 @@ interactions: ParameterSetName: - --enable-last-access-tracking -n -g User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_sa_versioning000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2021-01-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_sa_versioning000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices","properties":{"lastAccessTimeTrackingPolicy":{"enable":true,"name":"AccessTimeTracking","trackingGranularityInDays":1,"blobType":["blockBlob"]},"cors":{"corsRules":[]},"deleteRetentionPolicy":{"enabled":false}}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_sa_versioning000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices","properties":{"cors":{"corsRules":[]},"deleteRetentionPolicy":{"enabled":false},"lastAccessTimeTrackingPolicy":{"enable":true,"name":"AccessTimeTracking","trackingGranularityInDays":1,"blobType":["blockBlob"]}}}' headers: cache-control: - no-cache @@ -78,7 +78,7 @@ interactions: content-type: - application/json date: - - Mon, 01 Mar 2021 04:07:16 GMT + - Thu, 20 May 2021 08:42:21 GMT expires: - '-1' pragma: @@ -94,7 +94,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1194' + - '1197' status: code: 200 message: OK @@ -112,12 +112,12 @@ interactions: ParameterSetName: - -n -g User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_sa_versioning000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2021-01-01 response: body: - string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_sa_versioning000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices","properties":{"lastAccessTimeTrackingPolicy":{"enable":true,"name":"AccessTimeTracking","trackingGranularityInDays":1,"blobType":["blockBlob"]},"cors":{"corsRules":[]},"deleteRetentionPolicy":{"enabled":false}}}' + string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_sa_versioning000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices","properties":{"cors":{"corsRules":[]},"deleteRetentionPolicy":{"enabled":false},"lastAccessTimeTrackingPolicy":{"enable":true,"name":"AccessTimeTracking","trackingGranularityInDays":1,"blobType":["blockBlob"]}}}' headers: cache-control: - no-cache @@ -126,7 +126,7 @@ interactions: content-type: - application/json date: - - Mon, 01 Mar 2021 04:07:17 GMT + - Thu, 20 May 2021 08:42:22 GMT expires: - '-1' pragma: @@ -158,12 +158,12 @@ interactions: ParameterSetName: - --enable-last-access-tracking -n -g User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_sa_versioning000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2021-01-01 response: body: - string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_sa_versioning000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices","properties":{"lastAccessTimeTrackingPolicy":{"enable":true,"name":"AccessTimeTracking","trackingGranularityInDays":1,"blobType":["blockBlob"]},"cors":{"corsRules":[]},"deleteRetentionPolicy":{"enabled":false}}}' + string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_sa_versioning000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices","properties":{"cors":{"corsRules":[]},"deleteRetentionPolicy":{"enabled":false},"lastAccessTimeTrackingPolicy":{"enable":true,"name":"AccessTimeTracking","trackingGranularityInDays":1,"blobType":["blockBlob"]}}}' headers: cache-control: - no-cache @@ -172,7 +172,7 @@ interactions: content-type: - application/json date: - - Mon, 01 Mar 2021 04:07:18 GMT + - Thu, 20 May 2021 08:42:24 GMT expires: - '-1' pragma: @@ -209,7 +209,7 @@ interactions: ParameterSetName: - --enable-last-access-tracking -n -g User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_sa_versioning000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2021-01-01 response: @@ -223,7 +223,7 @@ interactions: content-type: - application/json date: - - Mon, 01 Mar 2021 04:07:19 GMT + - Thu, 20 May 2021 08:42:24 GMT expires: - '-1' pragma: @@ -239,7 +239,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1194' + - '1197' status: code: 200 message: OK @@ -257,7 +257,7 @@ interactions: ParameterSetName: - --enable-last-access-tracking -n -g User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_sa_versioning000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2021-01-01 response: @@ -271,7 +271,7 @@ interactions: content-type: - application/json date: - - Mon, 01 Mar 2021 04:07:20 GMT + - Thu, 20 May 2021 08:42:26 GMT expires: - '-1' pragma: @@ -308,12 +308,12 @@ interactions: ParameterSetName: - --enable-last-access-tracking -n -g User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_sa_versioning000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2021-01-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_sa_versioning000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices","properties":{"lastAccessTimeTrackingPolicy":{"enable":true,"name":"AccessTimeTracking","trackingGranularityInDays":1,"blobType":["blockBlob"]},"cors":{"corsRules":[]},"deleteRetentionPolicy":{"enabled":false}}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_sa_versioning000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices","properties":{"cors":{"corsRules":[]},"deleteRetentionPolicy":{"enabled":false},"lastAccessTimeTrackingPolicy":{"enable":true,"name":"AccessTimeTracking","trackingGranularityInDays":1,"blobType":["blockBlob"]}}}' headers: cache-control: - no-cache @@ -322,7 +322,7 @@ interactions: content-type: - application/json date: - - Mon, 01 Mar 2021 04:07:21 GMT + - Thu, 20 May 2021 08:42:27 GMT expires: - '-1' pragma: @@ -338,7 +338,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1195' + - '1196' status: code: 200 message: OK @@ -356,12 +356,12 @@ interactions: ParameterSetName: - -n -g User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_sa_versioning000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2021-01-01 response: body: - string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_sa_versioning000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices","properties":{"lastAccessTimeTrackingPolicy":{"enable":true,"name":"AccessTimeTracking","trackingGranularityInDays":1,"blobType":["blockBlob"]},"cors":{"corsRules":[]},"deleteRetentionPolicy":{"enabled":false}}}' + string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_sa_versioning000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices","properties":{"cors":{"corsRules":[]},"deleteRetentionPolicy":{"enabled":false},"lastAccessTimeTrackingPolicy":{"enable":true,"name":"AccessTimeTracking","trackingGranularityInDays":1,"blobType":["blockBlob"]}}}' headers: cache-control: - no-cache @@ -370,7 +370,7 @@ interactions: content-type: - application/json date: - - Mon, 01 Mar 2021 04:07:22 GMT + - Thu, 20 May 2021 08:42:29 GMT expires: - '-1' pragma: diff --git a/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_account_update_versioning.yaml b/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_account_update_versioning.yaml index 9b342f597a8..bfb76c75482 100644 --- a/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_account_update_versioning.yaml +++ b/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_account_update_versioning.yaml @@ -13,7 +13,7 @@ interactions: ParameterSetName: - --enable-versioning -n -g User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_sa_versioning000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2021-01-01 response: @@ -27,7 +27,7 @@ interactions: content-type: - application/json date: - - Mon, 01 Mar 2021 04:07:16 GMT + - Thu, 20 May 2021 08:44:11 GMT expires: - '-1' pragma: @@ -64,7 +64,7 @@ interactions: ParameterSetName: - --enable-versioning -n -g User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_sa_versioning000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2021-01-01 response: @@ -78,7 +78,7 @@ interactions: content-type: - application/json date: - - Mon, 01 Mar 2021 04:07:18 GMT + - Thu, 20 May 2021 08:44:14 GMT expires: - '-1' pragma: @@ -94,7 +94,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1194' + - '1197' status: code: 200 message: OK @@ -112,7 +112,7 @@ interactions: ParameterSetName: - --enable-versioning -n -g User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_sa_versioning000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2021-01-01 response: @@ -126,7 +126,7 @@ interactions: content-type: - application/json date: - - Mon, 01 Mar 2021 04:07:19 GMT + - Thu, 20 May 2021 08:44:15 GMT expires: - '-1' pragma: @@ -163,7 +163,7 @@ interactions: ParameterSetName: - --enable-versioning -n -g User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_sa_versioning000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2021-01-01 response: @@ -177,7 +177,7 @@ interactions: content-type: - application/json date: - - Mon, 01 Mar 2021 04:07:19 GMT + - Thu, 20 May 2021 08:44:15 GMT expires: - '-1' pragma: @@ -211,7 +211,7 @@ interactions: ParameterSetName: - --enable-versioning -n -g User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_sa_versioning000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2021-01-01 response: @@ -225,7 +225,7 @@ interactions: content-type: - application/json date: - - Mon, 01 Mar 2021 04:07:21 GMT + - Thu, 20 May 2021 08:44:16 GMT expires: - '-1' pragma: @@ -262,7 +262,7 @@ interactions: ParameterSetName: - --enable-versioning -n -g User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_sa_versioning000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2021-01-01 response: @@ -276,7 +276,7 @@ interactions: content-type: - application/json date: - - Mon, 01 Mar 2021 04:07:22 GMT + - Thu, 20 May 2021 08:44:17 GMT expires: - '-1' pragma: @@ -292,7 +292,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1194' + - '1191' status: code: 200 message: OK @@ -310,7 +310,7 @@ interactions: ParameterSetName: - -n -g User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_sa_versioning000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2021-01-01 response: @@ -324,7 +324,7 @@ interactions: content-type: - application/json date: - - Mon, 01 Mar 2021 04:07:22 GMT + - Thu, 20 May 2021 08:44:17 GMT expires: - '-1' pragma: diff --git a/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_append_blob_upload_oauth.yaml b/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_append_blob_upload_oauth.yaml index de6ae3e4a07..165ca78539e 100644 --- a/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_append_blob_upload_oauth.yaml +++ b/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_append_blob_upload_oauth.yaml @@ -15,21 +15,21 @@ interactions: ParameterSetName: - -n -g --query -o User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2021-01-01&$expand=kerb + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2021-04-01&$expand=kerb response: body: - string: '{"keys":[{"keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' + string: '{"keys":[{"creationTime":"2021-05-20T08:46:21.7395094Z","keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"creationTime":"2021-05-20T08:46:21.7395094Z","keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' headers: cache-control: - no-cache content-length: - - '288' + - '380' content-type: - application/json date: - - Mon, 01 Mar 2021 03:41:29 GMT + - Thu, 20 May 2021 08:46:43 GMT expires: - '-1' pragma: @@ -57,9 +57,9 @@ interactions: Content-Length: - '0' User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.7; Windows 10) AZURECLI/2.20.0 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Mon, 01 Mar 2021 03:41:30 GMT + - Thu, 20 May 2021 08:46:44 GMT x-ms-version: - '2018-11-09' method: PUT @@ -71,11 +71,11 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 03:41:31 GMT + - Thu, 20 May 2021 08:46:47 GMT etag: - - '"0x8D8DC63E804CAE9"' + - '"0x8D91B6BCD7F66BE"' last-modified: - - Mon, 01 Mar 2021 03:41:32 GMT + - Thu, 20 May 2021 08:46:47 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -97,9 +97,9 @@ interactions: ParameterSetName: - -c -f -n --type --if-none-match --account-name --auth-mode User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:32 GMT + - Thu, 20 May 2021 08:46:47 GMT x-ms-version: - '2020-02-10' method: HEAD @@ -109,7 +109,7 @@ interactions: string: '' headers: date: - - Mon, 01 Mar 2021 03:41:36 GMT + - Thu, 20 May 2021 08:46:49 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -139,9 +139,9 @@ interactions: ParameterSetName: - -c -f -n --type --if-none-match --account-name --auth-mode User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:36 GMT + - Thu, 20 May 2021 08:46:49 GMT x-ms-version: - '2020-02-10' method: PUT @@ -149,14 +149,14 @@ interactions: response: body: string: "\uFEFFBlobNotFoundThe - specified blob does not exist.\nRequestId:3e8192dc-201e-0021-7c4c-0e4e5a000000\nTime:2021-03-01T03:41:36.7454692Z" + specified blob does not exist.\nRequestId:7f0b03f3-d01e-0060-5754-4dd02f000000\nTime:2021-05-20T08:46:49.9812791Z" headers: content-length: - '215' content-type: - application/xml date: - - Mon, 01 Mar 2021 03:41:36 GMT + - Thu, 20 May 2021 08:46:49 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-error-code: @@ -182,11 +182,11 @@ interactions: ParameterSetName: - -c -f -n --type --if-none-match --account-name --auth-mode User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-blob-type: - AppendBlob x-ms-date: - - Mon, 01 Mar 2021 03:41:36 GMT + - Thu, 20 May 2021 08:46:50 GMT x-ms-version: - '2020-02-10' method: PUT @@ -198,11 +198,11 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 03:41:36 GMT + - Thu, 20 May 2021 08:46:50 GMT etag: - - '"0x8D8DC63EAAFD494"' + - '"0x8D91B6BCFAE6E2D"' last-modified: - - Mon, 01 Mar 2021 03:41:37 GMT + - Thu, 20 May 2021 08:46:50 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-request-server-encrypted: @@ -230,9 +230,9 @@ interactions: ParameterSetName: - -c -f -n --type --if-none-match --account-name --auth-mode User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:37 GMT + - Thu, 20 May 2021 08:46:51 GMT x-ms-version: - '2020-02-10' method: PUT @@ -244,11 +244,11 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 03:41:36 GMT + - Thu, 20 May 2021 08:46:51 GMT etag: - - '"0x8D8DC63EADABCF4"' + - '"0x8D91B6BCFD89301"' last-modified: - - Mon, 01 Mar 2021 03:41:37 GMT + - Thu, 20 May 2021 08:46:51 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-append-offset: @@ -278,9 +278,9 @@ interactions: ParameterSetName: - -n -c --account-name --auth-mode User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:37 GMT + - Thu, 20 May 2021 08:46:51 GMT x-ms-version: - '2020-02-10' method: HEAD @@ -296,11 +296,11 @@ interactions: content-type: - application/octet-stream date: - - Mon, 01 Mar 2021 03:41:38 GMT + - Thu, 20 May 2021 08:46:52 GMT etag: - - '"0x8D8DC63EADABCF4"' + - '"0x8D91B6BCFD89301"' last-modified: - - Mon, 01 Mar 2021 03:41:37 GMT + - Thu, 20 May 2021 08:46:51 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-committed-block-count: @@ -308,7 +308,7 @@ interactions: x-ms-blob-type: - AppendBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:41:37 GMT + - Thu, 20 May 2021 08:46:50 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -334,9 +334,9 @@ interactions: ParameterSetName: - -c -f -n --type --account-name --auth-mode User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:38 GMT + - Thu, 20 May 2021 08:46:52 GMT x-ms-version: - '2020-02-10' method: HEAD @@ -352,11 +352,11 @@ interactions: content-type: - application/octet-stream date: - - Mon, 01 Mar 2021 03:41:38 GMT + - Thu, 20 May 2021 08:46:53 GMT etag: - - '"0x8D8DC63EADABCF4"' + - '"0x8D91B6BCFD89301"' last-modified: - - Mon, 01 Mar 2021 03:41:37 GMT + - Thu, 20 May 2021 08:46:51 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-committed-block-count: @@ -364,7 +364,7 @@ interactions: x-ms-blob-type: - AppendBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:41:37 GMT + - Thu, 20 May 2021 08:46:50 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -390,9 +390,9 @@ interactions: ParameterSetName: - -c -f -n --type --account-name --auth-mode User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:39 GMT + - Thu, 20 May 2021 08:46:53 GMT x-ms-version: - '2020-02-10' method: HEAD @@ -408,11 +408,11 @@ interactions: content-type: - application/octet-stream date: - - Mon, 01 Mar 2021 03:41:39 GMT + - Thu, 20 May 2021 08:46:54 GMT etag: - - '"0x8D8DC63EADABCF4"' + - '"0x8D91B6BCFD89301"' last-modified: - - Mon, 01 Mar 2021 03:41:37 GMT + - Thu, 20 May 2021 08:46:51 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-committed-block-count: @@ -420,7 +420,7 @@ interactions: x-ms-blob-type: - AppendBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:41:37 GMT + - Thu, 20 May 2021 08:46:50 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -450,9 +450,9 @@ interactions: ParameterSetName: - -c -f -n --type --account-name --auth-mode User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:40 GMT + - Thu, 20 May 2021 08:46:54 GMT x-ms-version: - '2020-02-10' method: PUT @@ -464,11 +464,11 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 03:41:39 GMT + - Thu, 20 May 2021 08:46:54 GMT etag: - - '"0x8D8DC63EC9C6D82"' + - '"0x8D91B6BD1C7EAFD"' last-modified: - - Mon, 01 Mar 2021 03:41:40 GMT + - Thu, 20 May 2021 08:46:54 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-append-offset: @@ -498,9 +498,9 @@ interactions: ParameterSetName: - -n -c --account-name --auth-mode User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:40 GMT + - Thu, 20 May 2021 08:46:54 GMT x-ms-version: - '2020-02-10' method: HEAD @@ -516,11 +516,11 @@ interactions: content-type: - application/octet-stream date: - - Mon, 01 Mar 2021 03:41:41 GMT + - Thu, 20 May 2021 08:46:55 GMT etag: - - '"0x8D8DC63EC9C6D82"' + - '"0x8D91B6BD1C7EAFD"' last-modified: - - Mon, 01 Mar 2021 03:41:40 GMT + - Thu, 20 May 2021 08:46:54 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-committed-block-count: @@ -528,7 +528,7 @@ interactions: x-ms-blob-type: - AppendBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:41:37 GMT + - Thu, 20 May 2021 08:46:50 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -554,9 +554,9 @@ interactions: ParameterSetName: - -c -f -n --type --maxsize-condition --account-name --auth-mode User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:41 GMT + - Thu, 20 May 2021 08:46:56 GMT x-ms-version: - '2020-02-10' method: HEAD @@ -572,11 +572,11 @@ interactions: content-type: - application/octet-stream date: - - Mon, 01 Mar 2021 03:41:42 GMT + - Thu, 20 May 2021 08:46:56 GMT etag: - - '"0x8D8DC63EC9C6D82"' + - '"0x8D91B6BD1C7EAFD"' last-modified: - - Mon, 01 Mar 2021 03:41:40 GMT + - Thu, 20 May 2021 08:46:54 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-committed-block-count: @@ -584,7 +584,7 @@ interactions: x-ms-blob-type: - AppendBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:41:37 GMT + - Thu, 20 May 2021 08:46:50 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -610,9 +610,9 @@ interactions: ParameterSetName: - -c -f -n --type --maxsize-condition --account-name --auth-mode User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:42 GMT + - Thu, 20 May 2021 08:46:57 GMT x-ms-version: - '2020-02-10' method: HEAD @@ -628,11 +628,11 @@ interactions: content-type: - application/octet-stream date: - - Mon, 01 Mar 2021 03:41:42 GMT + - Thu, 20 May 2021 08:46:57 GMT etag: - - '"0x8D8DC63EC9C6D82"' + - '"0x8D91B6BD1C7EAFD"' last-modified: - - Mon, 01 Mar 2021 03:41:40 GMT + - Thu, 20 May 2021 08:46:54 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-committed-block-count: @@ -640,7 +640,7 @@ interactions: x-ms-blob-type: - AppendBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:41:37 GMT + - Thu, 20 May 2021 08:46:50 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -670,11 +670,11 @@ interactions: ParameterSetName: - -c -f -n --type --maxsize-condition --account-name --auth-mode User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-blob-condition-maxsize: - '1000' x-ms-date: - - Mon, 01 Mar 2021 03:41:43 GMT + - Thu, 20 May 2021 08:46:57 GMT x-ms-version: - '2020-02-10' method: PUT @@ -682,14 +682,14 @@ interactions: response: body: string: "\uFEFFMaxBlobSizeConditionNotMetThe - max blob size condition specified was not met.\nRequestId:87aa673c-a01e-0019-574c-0e0f03000000\nTime:2021-03-01T03:41:43.3065305Z" + max blob size condition specified was not met.\nRequestId:a4c785b1-b01e-0070-3254-4de6c9000000\nTime:2021-05-20T08:46:57.8736350Z" headers: content-length: - '245' content-type: - application/xml date: - - Mon, 01 Mar 2021 03:41:42 GMT + - Thu, 20 May 2021 08:46:57 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-error-code: @@ -713,9 +713,9 @@ interactions: ParameterSetName: - -c -f -n --type --overwrite --account-name --auth-mode User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:43 GMT + - Thu, 20 May 2021 08:46:58 GMT x-ms-version: - '2020-02-10' method: HEAD @@ -731,11 +731,11 @@ interactions: content-type: - application/octet-stream date: - - Mon, 01 Mar 2021 03:41:43 GMT + - Thu, 20 May 2021 08:46:58 GMT etag: - - '"0x8D8DC63EC9C6D82"' + - '"0x8D91B6BD1C7EAFD"' last-modified: - - Mon, 01 Mar 2021 03:41:40 GMT + - Thu, 20 May 2021 08:46:54 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-committed-block-count: @@ -743,7 +743,7 @@ interactions: x-ms-blob-type: - AppendBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:41:37 GMT + - Thu, 20 May 2021 08:46:50 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -769,9 +769,9 @@ interactions: ParameterSetName: - -c -f -n --type --overwrite --account-name --auth-mode User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:44 GMT + - Thu, 20 May 2021 08:46:59 GMT x-ms-version: - '2020-02-10' method: HEAD @@ -787,11 +787,11 @@ interactions: content-type: - application/octet-stream date: - - Mon, 01 Mar 2021 03:41:44 GMT + - Thu, 20 May 2021 08:46:58 GMT etag: - - '"0x8D8DC63EC9C6D82"' + - '"0x8D91B6BD1C7EAFD"' last-modified: - - Mon, 01 Mar 2021 03:41:40 GMT + - Thu, 20 May 2021 08:46:54 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-committed-block-count: @@ -799,7 +799,7 @@ interactions: x-ms-blob-type: - AppendBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:41:37 GMT + - Thu, 20 May 2021 08:46:50 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -827,11 +827,11 @@ interactions: ParameterSetName: - -c -f -n --type --overwrite --account-name --auth-mode User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-blob-type: - AppendBlob x-ms-date: - - Mon, 01 Mar 2021 03:41:44 GMT + - Thu, 20 May 2021 08:46:59 GMT x-ms-version: - '2020-02-10' method: PUT @@ -843,11 +843,11 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 03:41:44 GMT + - Thu, 20 May 2021 08:46:59 GMT etag: - - '"0x8D8DC63EF837279"' + - '"0x8D91B6BD4F924FF"' last-modified: - - Mon, 01 Mar 2021 03:41:45 GMT + - Thu, 20 May 2021 08:46:59 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-request-server-encrypted: @@ -875,9 +875,9 @@ interactions: ParameterSetName: - -c -f -n --type --overwrite --account-name --auth-mode User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:45 GMT + - Thu, 20 May 2021 08:46:59 GMT x-ms-version: - '2020-02-10' method: PUT @@ -889,11 +889,11 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 03:41:44 GMT + - Thu, 20 May 2021 08:46:59 GMT etag: - - '"0x8D8DC63EFAD7040"' + - '"0x8D91B6BD5282CAC"' last-modified: - - Mon, 01 Mar 2021 03:41:45 GMT + - Thu, 20 May 2021 08:47:00 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-append-offset: @@ -923,9 +923,9 @@ interactions: ParameterSetName: - -n -c --account-name --auth-mode User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:45 GMT + - Thu, 20 May 2021 08:47:00 GMT x-ms-version: - '2020-02-10' method: HEAD @@ -941,11 +941,11 @@ interactions: content-type: - application/octet-stream date: - - Mon, 01 Mar 2021 03:41:46 GMT + - Thu, 20 May 2021 08:47:00 GMT etag: - - '"0x8D8DC63EFAD7040"' + - '"0x8D91B6BD5282CAC"' last-modified: - - Mon, 01 Mar 2021 03:41:45 GMT + - Thu, 20 May 2021 08:47:00 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-committed-block-count: @@ -953,7 +953,7 @@ interactions: x-ms-blob-type: - AppendBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:41:37 GMT + - Thu, 20 May 2021 08:46:50 GMT x-ms-lease-state: - available x-ms-lease-status: diff --git a/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_blob_incremental_copy.yaml b/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_blob_incremental_copy.yaml index 6e21f1d075b..9abcd10aba4 100644 --- a/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_blob_incremental_copy.yaml +++ b/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_blob_incremental_copy.yaml @@ -15,21 +15,21 @@ interactions: ParameterSetName: - -n -g --query -o User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2021-01-01&$expand=kerb + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2021-04-01&$expand=kerb response: body: - string: '{"keys":[{"keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' + string: '{"keys":[{"creationTime":"2021-05-20T08:34:47.0383897Z","keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"creationTime":"2021-05-20T08:34:47.0383897Z","keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' headers: cache-control: - no-cache content-length: - - '288' + - '380' content-type: - application/json date: - - Mon, 01 Mar 2021 03:40:51 GMT + - Thu, 20 May 2021 08:35:34 GMT expires: - '-1' pragma: @@ -57,9 +57,9 @@ interactions: Content-Length: - '0' User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.7; Windows 10) AZURECLI/2.20.0 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Mon, 01 Mar 2021 03:40:51 GMT + - Thu, 20 May 2021 08:35:34 GMT x-ms-version: - '2018-11-09' method: PUT @@ -71,11 +71,11 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 03:40:53 GMT + - Thu, 20 May 2021 08:35:36 GMT etag: - - '"0x8D8DC63D170AA9F"' + - '"0x8D91B6A3DF9CD8C"' last-modified: - - Mon, 01 Mar 2021 03:40:54 GMT + - Thu, 20 May 2021 08:35:36 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -86,30 +86,20 @@ interactions: - request: body: null headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - storage blob upload Connection: - keep-alive Content-Length: - '0' - If-None-Match: - - '*' - ParameterSetName: - - -c -n -f -t --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-blob-content-length: - '16384' x-ms-blob-type: - PageBlob x-ms-date: - - Mon, 01 Mar 2021 03:40:54 GMT + - Thu, 20 May 2021 08:35:37 GMT x-ms-version: - - '2020-02-10' + - '2018-11-09' method: PUT uri: https://clitest000002.blob.core.windows.net/cont000004/src response: @@ -119,41 +109,33 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 03:40:54 GMT + - Thu, 20 May 2021 08:35:37 GMT etag: - - '"0x8D8DC63D23363C8"' + - '"0x8D91B6A3EAFF4F4"' last-modified: - - Mon, 01 Mar 2021 03:40:55 GMT + - Thu, 20 May 2021 08:35:38 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2020-02-10' + - '2018-11-09' status: code: 201 message: Created - request: body: null headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - storage blob snapshot Connection: - keep-alive Content-Length: - '0' - ParameterSetName: - - -c -n --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Mon, 01 Mar 2021 03:40:56 GMT + - Thu, 20 May 2021 08:35:38 GMT x-ms-version: - - '2020-02-10' + - '2018-11-09' method: PUT uri: https://clitest000002.blob.core.windows.net/cont000004/src?comp=snapshot response: @@ -163,19 +145,19 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 03:40:56 GMT + - Thu, 20 May 2021 08:35:38 GMT etag: - - '"0x8D8DC63D23363C8"' + - '"0x8D91B6A3EAFF4F4"' last-modified: - - Mon, 01 Mar 2021 03:40:55 GMT + - Thu, 20 May 2021 08:35:38 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-request-server-encrypted: - 'false' x-ms-snapshot: - - '2021-03-01T03:40:57.1249655Z' + - '2021-05-20T08:35:39.3836610Z' x-ms-version: - - '2020-02-10' + - '2018-11-09' status: code: 201 message: Created @@ -195,21 +177,21 @@ interactions: ParameterSetName: - -n -g --query -o User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000003/listKeys?api-version=2021-01-01&$expand=kerb + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000003/listKeys?api-version=2021-04-01&$expand=kerb response: body: - string: '{"keys":[{"keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' + string: '{"keys":[{"creationTime":"2021-05-20T08:35:12.4136663Z","keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"creationTime":"2021-05-20T08:35:12.4136663Z","keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' headers: cache-control: - no-cache content-length: - - '288' + - '380' content-type: - application/json date: - - Mon, 01 Mar 2021 03:40:57 GMT + - Thu, 20 May 2021 08:35:40 GMT expires: - '-1' pragma: @@ -225,7 +207,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' + - '11998' status: code: 200 message: OK @@ -237,9 +219,9 @@ interactions: Content-Length: - '0' User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.7; Windows 10) AZURECLI/2.20.0 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Mon, 01 Mar 2021 03:40:58 GMT + - Thu, 20 May 2021 08:35:40 GMT x-ms-version: - '2018-11-09' method: PUT @@ -251,11 +233,11 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 03:41:00 GMT + - Thu, 20 May 2021 08:35:42 GMT etag: - - '"0x8D8DC63D4F536DD"' + - '"0x8D91B6A41A7E9F5"' last-modified: - - Mon, 01 Mar 2021 03:41:00 GMT + - Thu, 20 May 2021 08:35:43 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -273,11 +255,11 @@ interactions: If-Modified-Since: - Mon, 29 Jun 2020 06:32:00 GMT User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.7; Windows 10) AZURECLI/2.20.0 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-copy-source: - - https://clitestx53alor3k3i2oxfyc.blob.core.windows.net/contiw5jqp7gmnpmfmwhs4y6/src?se=2021-03-02T03%3A41%3A00Z&sp=r&spr=https&sv=2018-11-09&sr=b&sig=sifj4y8sKWQno0daLJUtNS0aDtppuNj14NrH2PY%2BiRA%3D&snapshot=2021-03-01T03:40:57.1249655Z + - https://clitest52nl74itsvw6o4u5u.blob.core.windows.net/contbsiidcqtqmyk7liij3d5/src?se=2021-05-21T08%3A35%3A43Z&sp=r&spr=https&sv=2018-11-09&sr=b&sig=nkUjYA%2BzQRcaGr1YPW6ufX8LJOQlFAblqlRWtuqBMAE%3D&snapshot=2021-05-20T08:35:39.3836610Z x-ms-date: - - Mon, 01 Mar 2021 03:41:00 GMT + - Thu, 20 May 2021 08:35:43 GMT x-ms-version: - '2018-11-09' method: PUT @@ -289,15 +271,15 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 03:41:01 GMT + - Thu, 20 May 2021 08:35:44 GMT etag: - - '"0x8D8DC63D5A4B6A4"' + - '"0x8D91B6A426E4FD0"' last-modified: - - Mon, 01 Mar 2021 03:41:01 GMT + - Thu, 20 May 2021 08:35:44 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-copy-id: - - b59ae0ef-2f2e-405f-9fce-08b3c1911856 + - 7b54cc6b-608d-48c5-a7cc-2968092a2d35 x-ms-copy-status: - pending x-ms-version: diff --git a/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_blob_list_scenarios.yaml b/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_blob_list_scenarios.yaml index 87f79a0cb90..3b05ac4095b 100644 --- a/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_blob_list_scenarios.yaml +++ b/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_blob_list_scenarios.yaml @@ -15,21 +15,21 @@ interactions: ParameterSetName: - -n -g --query -o User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Storage/storageAccounts/storage000002/listKeys?api-version=2021-01-01&$expand=kerb + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Storage/storageAccounts/storage000002/listKeys?api-version=2021-04-01&$expand=kerb response: body: - string: '{"keys":[{"keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' + string: '{"keys":[{"creationTime":"2021-05-20T08:43:57.4311083Z","keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"creationTime":"2021-05-20T08:43:57.4311083Z","keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' headers: cache-control: - no-cache content-length: - - '288' + - '380' content-type: - application/json date: - - Mon, 01 Mar 2021 03:40:23 GMT + - Thu, 20 May 2021 08:44:18 GMT expires: - '-1' pragma: @@ -57,9 +57,9 @@ interactions: Content-Length: - '0' User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.7; Windows 10) AZURECLI/2.20.0 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Mon, 01 Mar 2021 03:40:25 GMT + - Thu, 20 May 2021 08:44:19 GMT x-ms-version: - '2018-11-09' method: PUT @@ -71,11 +71,11 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 03:40:27 GMT + - Thu, 20 May 2021 08:44:21 GMT etag: - - '"0x8D8DC63C1B829C9"' + - '"0x8D91B6B772529C9"' last-modified: - - Mon, 01 Mar 2021 03:40:28 GMT + - Thu, 20 May 2021 08:44:22 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -103,11 +103,11 @@ interactions: ParameterSetName: - -c -f -n --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-blob-type: - BlockBlob x-ms-date: - - Mon, 01 Mar 2021 03:40:28 GMT + - Thu, 20 May 2021 08:44:22 GMT x-ms-version: - '2020-02-10' method: PUT @@ -121,11 +121,11 @@ interactions: content-md5: - DfvoqkwgtS4bi/PLbL3xkw== date: - - Mon, 01 Mar 2021 03:40:30 GMT + - Thu, 20 May 2021 08:44:24 GMT etag: - - '"0x8D8DC63C32456C1"' + - '"0x8D91B6B789C3EF8"' last-modified: - - Mon, 01 Mar 2021 03:40:30 GMT + - Thu, 20 May 2021 08:44:24 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: @@ -153,9 +153,9 @@ interactions: ParameterSetName: - -c -n --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:40:30 GMT + - Thu, 20 May 2021 08:44:25 GMT x-ms-version: - '2020-02-10' method: PUT @@ -167,17 +167,17 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 03:40:31 GMT + - Thu, 20 May 2021 08:44:25 GMT etag: - - '"0x8D8DC63C32456C1"' + - '"0x8D91B6B789C3EF8"' last-modified: - - Mon, 01 Mar 2021 03:40:30 GMT + - Thu, 20 May 2021 08:44:24 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-request-server-encrypted: - 'false' x-ms-snapshot: - - '2021-03-01T03:40:31.9939406Z' + - '2021-05-20T08:44:26.4113164Z' x-ms-version: - '2020-02-10' status: @@ -197,9 +197,9 @@ interactions: ParameterSetName: - -c --include --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:40:32 GMT + - Thu, 20 May 2021 08:44:26 GMT x-ms-version: - '2020-02-10' method: GET @@ -207,14 +207,14 @@ interactions: response: body: string: "\uFEFF5000dir/blob0000042021-03-01T03:40:31.9939406ZMon, - 01 Mar 2021 03:40:30 GMTMon, 01 Mar 2021 03:40:30 - GMT0x8D8DC63C32456C1131072application/octet-stream5000dir/blob0000042021-05-20T08:44:26.4113164ZThu, + 20 May 2021 08:44:24 GMTThu, 20 May 2021 08:44:24 + GMT0x8D91B6B789C3EF8131072application/octet-streamDfvoqkwgtS4bi/PLbL3xkw==BlockBlobHottruetruedir/blob000004Mon, - 01 Mar 2021 03:40:30 GMTMon, 01 Mar 2021 03:40:30 - GMT0x8D8DC63C32456C1131072application/octet-streamdir/blob000004Thu, + 20 May 2021 08:44:24 GMTThu, 20 May 2021 08:44:24 + GMT0x8D91B6B789C3EF8131072application/octet-streamDfvoqkwgtS4bi/PLbL3xkw==BlockBlobHottrueunlockedavailabletrue" @@ -222,7 +222,7 @@ interactions: content-type: - application/xml date: - - Mon, 01 Mar 2021 03:40:33 GMT + - Thu, 20 May 2021 08:44:27 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -248,9 +248,9 @@ interactions: ParameterSetName: - -c -n --metadata --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:40:33 GMT + - Thu, 20 May 2021 08:44:28 GMT x-ms-meta-test: - '1' x-ms-version: @@ -264,11 +264,11 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 03:40:34 GMT + - Thu, 20 May 2021 08:44:28 GMT etag: - - '"0x8D8DC63C58B8C83"' + - '"0x8D91B6B7B51561D"' last-modified: - - Mon, 01 Mar 2021 03:40:34 GMT + - Thu, 20 May 2021 08:44:29 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-request-server-encrypted: @@ -292,9 +292,9 @@ interactions: ParameterSetName: - -c -n --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:40:35 GMT + - Thu, 20 May 2021 08:44:29 GMT x-ms-version: - '2020-02-10' method: HEAD @@ -312,11 +312,11 @@ interactions: content-type: - application/octet-stream date: - - Mon, 01 Mar 2021 03:40:35 GMT + - Thu, 20 May 2021 08:44:30 GMT etag: - - '"0x8D8DC63C58B8C83"' + - '"0x8D91B6B7B51561D"' last-modified: - - Mon, 01 Mar 2021 03:40:34 GMT + - Thu, 20 May 2021 08:44:29 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-access-tier: @@ -326,7 +326,7 @@ interactions: x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:40:30 GMT + - Thu, 20 May 2021 08:44:24 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -354,9 +354,9 @@ interactions: ParameterSetName: - -c --include --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:40:36 GMT + - Thu, 20 May 2021 08:44:31 GMT x-ms-version: - '2020-02-10' method: GET @@ -364,9 +364,9 @@ interactions: response: body: string: "\uFEFF5000dir/blob000004Mon, - 01 Mar 2021 03:40:30 GMTMon, 01 Mar 2021 03:40:34 - GMT0x8D8DC63C58B8C83131072application/octet-stream5000dir/blob000004Thu, + 20 May 2021 08:44:24 GMTThu, 20 May 2021 08:44:29 + GMT0x8D91B6B7B51561D131072application/octet-streamDfvoqkwgtS4bi/PLbL3xkw==BlockBlobHottrueunlockedavailabletrue1" @@ -374,7 +374,7 @@ interactions: content-type: - application/xml date: - - Mon, 01 Mar 2021 03:40:37 GMT + - Thu, 20 May 2021 08:44:31 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -404,11 +404,11 @@ interactions: ParameterSetName: - -c -f -n --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-blob-type: - BlockBlob x-ms-date: - - Mon, 01 Mar 2021 03:40:37 GMT + - Thu, 20 May 2021 08:44:32 GMT x-ms-version: - '2020-02-10' method: PUT @@ -422,11 +422,11 @@ interactions: content-md5: - DfvoqkwgtS4bi/PLbL3xkw== date: - - Mon, 01 Mar 2021 03:40:39 GMT + - Thu, 20 May 2021 08:44:34 GMT etag: - - '"0x8D8DC63C8A1CA84"' + - '"0x8D91B6B7E9CFC79"' last-modified: - - Mon, 01 Mar 2021 03:40:39 GMT + - Thu, 20 May 2021 08:44:34 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: @@ -452,9 +452,9 @@ interactions: ParameterSetName: - -c --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:40:40 GMT + - Thu, 20 May 2021 08:44:35 GMT x-ms-version: - '2020-02-10' method: GET @@ -462,14 +462,14 @@ interactions: response: body: string: "\uFEFF5000dir/blob000004Mon, - 01 Mar 2021 03:40:30 GMTMon, 01 Mar 2021 03:40:34 - GMT0x8D8DC63C58B8C83131072application/octet-stream5000dir/blob000004Thu, + 20 May 2021 08:44:24 GMTThu, 20 May 2021 08:44:29 + GMT0x8D91B6B7B51561D131072application/octet-streamDfvoqkwgtS4bi/PLbL3xkw==BlockBlobHottrueunlockedavailabletruedir/blob000005Mon, - 01 Mar 2021 03:40:39 GMTMon, 01 Mar 2021 03:40:39 - GMT0x8D8DC63C8A1CA84131072application/octet-streamdir/blob000005Thu, + 20 May 2021 08:44:34 GMTThu, 20 May 2021 08:44:34 + GMT0x8D91B6B7E9CFC79131072application/octet-streamDfvoqkwgtS4bi/PLbL3xkw==BlockBlobHottrueunlockedavailabletrue" @@ -477,7 +477,7 @@ interactions: content-type: - application/xml date: - - Mon, 01 Mar 2021 03:40:40 GMT + - Thu, 20 May 2021 08:44:36 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -501,9 +501,9 @@ interactions: ParameterSetName: - -c --num-results --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:40:41 GMT + - Thu, 20 May 2021 08:44:36 GMT x-ms-version: - '2020-02-10' method: GET @@ -511,17 +511,17 @@ interactions: response: body: string: "\uFEFF1dir/blob000004Mon, - 01 Mar 2021 03:40:30 GMTMon, 01 Mar 2021 03:40:34 - GMT0x8D8DC63C58B8C83131072application/octet-stream1dir/blob000004Thu, + 20 May 2021 08:44:24 GMTThu, 20 May 2021 08:44:29 + GMT0x8D91B6B7B51561D131072application/octet-streamDfvoqkwgtS4bi/PLbL3xkw==BlockBlobHottrueunlockedavailabletrue2!96!MDAwMDI4IWRpci9ibG9idm5sazJxeTJzaHBiaWt2dnJkd2EhMDAwMDI4ITk5OTktMTItMzFUMjM6NTk6NTkuOTk5OTk5OVoh" + />2!96!MDAwMDI4IWRpci9ibG9ibmhrenBxbndhajU3cW12d2R6eWkhMDAwMDI4ITk5OTktMTItMzFUMjM6NTk6NTkuOTk5OTk5OVoh" headers: content-type: - application/xml date: - - Mon, 01 Mar 2021 03:40:42 GMT + - Thu, 20 May 2021 08:44:37 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -545,9 +545,9 @@ interactions: ParameterSetName: - -c --num-results --show-next-marker --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:40:42 GMT + - Thu, 20 May 2021 08:44:38 GMT x-ms-version: - '2020-02-10' method: GET @@ -555,17 +555,17 @@ interactions: response: body: string: "\uFEFF1dir/blob000004Mon, - 01 Mar 2021 03:40:30 GMTMon, 01 Mar 2021 03:40:34 - GMT0x8D8DC63C58B8C83131072application/octet-stream1dir/blob000004Thu, + 20 May 2021 08:44:24 GMTThu, 20 May 2021 08:44:29 + GMT0x8D91B6B7B51561D131072application/octet-streamDfvoqkwgtS4bi/PLbL3xkw==BlockBlobHottrueunlockedavailabletrue2!96!MDAwMDI4IWRpci9ibG9idm5sazJxeTJzaHBiaWt2dnJkd2EhMDAwMDI4ITk5OTktMTItMzFUMjM6NTk6NTkuOTk5OTk5OVoh" + />2!96!MDAwMDI4IWRpci9ibG9ibmhrenBxbndhajU3cW12d2R6eWkhMDAwMDI4ITk5OTktMTItMzFUMjM6NTk6NTkuOTk5OTk5OVoh" headers: content-type: - application/xml date: - - Mon, 01 Mar 2021 03:40:44 GMT + - Thu, 20 May 2021 08:44:39 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -589,19 +589,19 @@ interactions: ParameterSetName: - -c --marker --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:40:44 GMT + - Thu, 20 May 2021 08:44:39 GMT x-ms-version: - '2020-02-10' method: GET - uri: https://storage000002.blob.core.windows.net/con000003?marker=2%2196%21MDAwMDI4IWRpci9ibG9idm5sazJxeTJzaHBiaWt2dnJkd2EhMDAwMDI4ITk5OTktMTItMzFUMjM6NTk6NTkuOTk5OTk5OVoh&maxresults=5000&restype=container&comp=list + uri: https://storage000002.blob.core.windows.net/con000003?marker=2%2196%21MDAwMDI4IWRpci9ibG9ibmhrenBxbndhajU3cW12d2R6eWkhMDAwMDI4ITk5OTktMTItMzFUMjM6NTk6NTkuOTk5OTk5OVoh&maxresults=5000&restype=container&comp=list response: body: string: "\uFEFF2!96!MDAwMDI4IWRpci9ibG9idm5sazJxeTJzaHBiaWt2dnJkd2EhMDAwMDI4ITk5OTktMTItMzFUMjM6NTk6NTkuOTk5OTk5OVoh5000dir/blob000005Mon, - 01 Mar 2021 03:40:39 GMTMon, 01 Mar 2021 03:40:39 - GMT0x8D8DC63C8A1CA84131072application/octet-stream2!96!MDAwMDI4IWRpci9ibG9ibmhrenBxbndhajU3cW12d2R6eWkhMDAwMDI4ITk5OTktMTItMzFUMjM6NTk6NTkuOTk5OTk5OVoh5000dir/blob000005Thu, + 20 May 2021 08:44:34 GMTThu, 20 May 2021 08:44:34 + GMT0x8D91B6B7E9CFC79131072application/octet-streamDfvoqkwgtS4bi/PLbL3xkw==BlockBlobHottrueunlockedavailabletrue" @@ -609,7 +609,7 @@ interactions: content-type: - application/xml date: - - Mon, 01 Mar 2021 03:40:45 GMT + - Thu, 20 May 2021 08:44:40 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -633,9 +633,9 @@ interactions: ParameterSetName: - -c --prefix --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:40:45 GMT + - Thu, 20 May 2021 08:44:41 GMT x-ms-version: - '2020-02-10' method: GET @@ -643,14 +643,14 @@ interactions: response: body: string: "\uFEFFdir/5000dir/blob000004Mon, - 01 Mar 2021 03:40:30 GMTMon, 01 Mar 2021 03:40:34 - GMT0x8D8DC63C58B8C83131072application/octet-streamdir/5000dir/blob000004Thu, + 20 May 2021 08:44:24 GMTThu, 20 May 2021 08:44:29 + GMT0x8D91B6B7B51561D131072application/octet-streamDfvoqkwgtS4bi/PLbL3xkw==BlockBlobHottrueunlockedavailabletruedir/blob000005Mon, - 01 Mar 2021 03:40:39 GMTMon, 01 Mar 2021 03:40:39 - GMT0x8D8DC63C8A1CA84131072application/octet-streamdir/blob000005Thu, + 20 May 2021 08:44:34 GMTThu, 20 May 2021 08:44:34 + GMT0x8D91B6B7E9CFC79131072application/octet-streamDfvoqkwgtS4bi/PLbL3xkw==BlockBlobHottrueunlockedavailabletrue" @@ -658,7 +658,7 @@ interactions: content-type: - application/xml date: - - Mon, 01 Mar 2021 03:40:46 GMT + - Thu, 20 May 2021 08:44:41 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -682,9 +682,9 @@ interactions: ParameterSetName: - -c --delimiter --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:40:47 GMT + - Thu, 20 May 2021 08:44:42 GMT x-ms-version: - '2020-02-10' method: GET @@ -698,7 +698,7 @@ interactions: content-type: - application/xml date: - - Mon, 01 Mar 2021 03:40:47 GMT + - Thu, 20 May 2021 08:44:43 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -722,9 +722,9 @@ interactions: ParameterSetName: - -c --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:40:48 GMT + - Thu, 20 May 2021 08:44:44 GMT x-ms-version: - '2020-02-10' method: GET @@ -733,14 +733,14 @@ interactions: body: string: "\uFEFF5000dir/blob000004Mon, - 01 Mar 2021 03:40:30 GMTMon, 01 Mar 2021 03:40:34 - GMT0x8D8DC63C58B8C83131072application/octet-stream5000dir/blob000004Thu, + 20 May 2021 08:44:24 GMTThu, 20 May 2021 08:44:29 + GMT0x8D91B6B7B51561D131072application/octet-streamDfvoqkwgtS4bi/PLbL3xkw==BlockBlobHottrueunlockedavailabletruedir/blob000005Mon, - 01 Mar 2021 03:40:39 GMTMon, 01 Mar 2021 03:40:39 - GMT0x8D8DC63C8A1CA84131072application/octet-streamdir/blob000005Thu, + 20 May 2021 08:44:34 GMTThu, 20 May 2021 08:44:34 + GMT0x8D91B6B7E9CFC79131072application/octet-streamDfvoqkwgtS4bi/PLbL3xkw==BlockBlobHottrueunlockedavailabletrue" @@ -748,7 +748,7 @@ interactions: content-type: - application/xml date: - - Mon, 01 Mar 2021 03:40:51 GMT + - Thu, 20 May 2021 08:44:47 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: diff --git a/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_blob_show_oauth.yaml b/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_blob_show_oauth.yaml index 2f290ede726..3201ad5ed08 100644 --- a/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_blob_show_oauth.yaml +++ b/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_blob_show_oauth.yaml @@ -15,21 +15,21 @@ interactions: ParameterSetName: - -n -g --query -o User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2021-01-01&$expand=kerb + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2021-04-01&$expand=kerb response: body: - string: '{"keys":[{"keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' + string: '{"keys":[{"creationTime":"2021-05-20T08:36:26.6330940Z","keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"creationTime":"2021-05-20T08:36:26.6330940Z","keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' headers: cache-control: - no-cache content-length: - - '288' + - '380' content-type: - application/json date: - - Mon, 01 Mar 2021 03:41:20 GMT + - Thu, 20 May 2021 08:36:47 GMT expires: - '-1' pragma: @@ -57,9 +57,9 @@ interactions: Content-Length: - '0' User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.7; Windows 10) AZURECLI/2.20.0 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Mon, 01 Mar 2021 03:41:21 GMT + - Thu, 20 May 2021 08:36:48 GMT x-ms-version: - '2018-11-09' method: PUT @@ -71,11 +71,11 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 03:41:23 GMT + - Thu, 20 May 2021 08:36:51 GMT etag: - - '"0x8D8DC63E32DC64E"' + - '"0x8D91B6A6A8EF995"' last-modified: - - Mon, 01 Mar 2021 03:41:24 GMT + - Thu, 20 May 2021 08:36:51 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -86,30 +86,18 @@ interactions: - 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\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\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: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - storage blob upload Connection: - keep-alive Content-Length: - '131072' - Content-Type: - - application/octet-stream - If-None-Match: - - '*' - ParameterSetName: - - -c -n -f --account-name --auth-mode User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-blob-type: - BlockBlob x-ms-date: - - Mon, 01 Mar 2021 03:41:24 GMT + - Thu, 20 May 2021 08:36:53 GMT x-ms-version: - - '2020-02-10' + - '2018-11-09' method: PUT uri: https://clitest000002.blob.core.windows.net/cont000003/block000004 response: @@ -121,19 +109,17 @@ interactions: content-md5: - DfvoqkwgtS4bi/PLbL3xkw== date: - - Mon, 01 Mar 2021 03:41:27 GMT + - Thu, 20 May 2021 08:36:55 GMT etag: - - '"0x8D8DC63E54A4A23"' + - '"0x8D91B6A6CF9C86D"' last-modified: - - Mon, 01 Mar 2021 03:41:27 GMT + - Thu, 20 May 2021 08:36:55 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 - x-ms-content-crc64: - - UNjdat8Fk3M= x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2020-02-10' + - '2018-11-09' status: code: 201 message: Created @@ -141,7 +127,7 @@ interactions: body: null headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate CommandName: @@ -151,11 +137,13 @@ interactions: ParameterSetName: - -c -n --account-name --auth-mode User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.7.1 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:28 GMT + - Thu, 20 May 2021 08:36:56 GMT + x-ms-encryption-algorithm: + - AES256 x-ms-version: - - '2020-02-10' + - '2020-04-08' method: HEAD uri: https://clitest000002.blob.core.windows.net/cont000003/block000004 response: @@ -171,17 +159,17 @@ interactions: content-type: - application/octet-stream date: - - Mon, 01 Mar 2021 03:41:28 GMT + - Thu, 20 May 2021 08:36:56 GMT etag: - - '"0x8D8DC63E54A4A23"' + - '"0x8D91B6A6CF9C86D"' last-modified: - - Mon, 01 Mar 2021 03:41:27 GMT + - Thu, 20 May 2021 08:36:55 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:41:27 GMT + - Thu, 20 May 2021 08:36:55 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -189,7 +177,7 @@ interactions: x-ms-server-encrypted: - 'true' x-ms-version: - - '2020-02-10' + - '2020-04-08' status: code: 200 message: OK @@ -197,7 +185,7 @@ interactions: body: null headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate CommandName: @@ -207,11 +195,13 @@ interactions: ParameterSetName: - -c -n --account-name --auth-mode User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.7.1 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:29 GMT + - Thu, 20 May 2021 08:36:57 GMT + x-ms-encryption-algorithm: + - AES256 x-ms-version: - - '2020-02-10' + - '2020-04-08' method: HEAD uri: https://clitest000002.blob.core.windows.net/cont000003/block000004 response: @@ -227,17 +217,17 @@ interactions: content-type: - application/octet-stream date: - - Mon, 01 Mar 2021 03:41:29 GMT + - Thu, 20 May 2021 08:36:57 GMT etag: - - '"0x8D8DC63E54A4A23"' + - '"0x8D91B6A6CF9C86D"' last-modified: - - Mon, 01 Mar 2021 03:41:27 GMT + - Thu, 20 May 2021 08:36:55 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:41:27 GMT + - Thu, 20 May 2021 08:36:55 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -245,37 +235,27 @@ interactions: x-ms-server-encrypted: - 'true' x-ms-version: - - '2020-02-10' + - '2020-04-08' status: code: 200 message: OK - request: body: null headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - storage blob upload Connection: - keep-alive Content-Length: - '0' - If-None-Match: - - '*' - ParameterSetName: - - -c -n -f --type --account-name --auth-mode User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-blob-content-length: - '131072' x-ms-blob-type: - PageBlob x-ms-date: - - Mon, 01 Mar 2021 03:41:30 GMT + - Thu, 20 May 2021 08:36:58 GMT x-ms-version: - - '2020-02-10' + - '2018-11-09' method: PUT uri: https://clitest000002.blob.core.windows.net/cont000003/page000005 response: @@ -285,17 +265,17 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 03:41:31 GMT + - Thu, 20 May 2021 08:36:59 GMT etag: - - '"0x8D8DC63E76D1786"' + - '"0x8D91B6A6F220F92"' last-modified: - - Mon, 01 Mar 2021 03:41:31 GMT + - Thu, 20 May 2021 08:36:59 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-request-server-encrypted: - 'true' x-ms-version: - - '2020-02-10' + - '2018-11-09' status: code: 201 message: Created @@ -303,7 +283,7 @@ interactions: body: null headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate CommandName: @@ -313,11 +293,13 @@ interactions: ParameterSetName: - -c -n --account-name --auth-mode User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.7.1 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:32 GMT + - Thu, 20 May 2021 08:36:59 GMT + x-ms-encryption-algorithm: + - AES256 x-ms-version: - - '2020-02-10' + - '2020-04-08' method: HEAD uri: https://clitest000002.blob.core.windows.net/cont000003/page000005 response: @@ -331,11 +313,11 @@ interactions: content-type: - application/octet-stream date: - - Mon, 01 Mar 2021 03:41:32 GMT + - Thu, 20 May 2021 08:37:00 GMT etag: - - '"0x8D8DC63E76D1786"' + - '"0x8D91B6A6F220F92"' last-modified: - - Mon, 01 Mar 2021 03:41:31 GMT + - Thu, 20 May 2021 08:36:59 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-sequence-number: @@ -343,7 +325,7 @@ interactions: x-ms-blob-type: - PageBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:41:31 GMT + - Thu, 20 May 2021 08:36:59 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -351,7 +333,7 @@ interactions: x-ms-server-encrypted: - 'true' x-ms-version: - - '2020-02-10' + - '2020-04-08' status: code: 200 message: OK @@ -369,11 +351,11 @@ interactions: ParameterSetName: - -c -n --account-name --auth-mode User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.7.1 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:33 GMT + - Thu, 20 May 2021 08:37:00 GMT x-ms-version: - - '2020-02-10' + - '2020-04-08' method: GET uri: https://clitest000002.blob.core.windows.net/cont000003/page000005?comp=pagelist response: @@ -383,11 +365,11 @@ interactions: content-type: - application/xml date: - - Mon, 01 Mar 2021 03:41:32 GMT + - Thu, 20 May 2021 08:37:00 GMT etag: - - '"0x8D8DC63E76D1786"' + - '"0x8D91B6A6F220F92"' last-modified: - - Mon, 01 Mar 2021 03:41:31 GMT + - Thu, 20 May 2021 08:36:59 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -395,31 +377,23 @@ interactions: x-ms-blob-content-length: - '131072' x-ms-version: - - '2020-02-10' + - '2020-04-08' status: code: 200 message: OK - request: body: null headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - storage blob snapshot Connection: - keep-alive Content-Length: - '0' - ParameterSetName: - - -c -n --account-name --auth-mode User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Mon, 01 Mar 2021 03:41:33 GMT + - Thu, 20 May 2021 08:37:01 GMT x-ms-version: - - '2020-02-10' + - '2018-11-09' method: PUT uri: https://clitest000002.blob.core.windows.net/cont000003/block000004?comp=snapshot response: @@ -429,19 +403,19 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 03:41:33 GMT + - Thu, 20 May 2021 08:37:01 GMT etag: - - '"0x8D8DC63E54A4A23"' + - '"0x8D91B6A6CF9C86D"' last-modified: - - Mon, 01 Mar 2021 03:41:27 GMT + - Thu, 20 May 2021 08:36:55 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-request-server-encrypted: - 'false' x-ms-snapshot: - - '2021-03-01T03:41:34.4314883Z' + - '2021-05-20T08:37:02.2270796Z' x-ms-version: - - '2020-02-10' + - '2018-11-09' status: code: 201 message: Created @@ -449,7 +423,7 @@ interactions: body: null headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate CommandName: @@ -459,11 +433,13 @@ interactions: ParameterSetName: - -c -n --account-name --auth-mode User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.7.1 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:34 GMT + - Thu, 20 May 2021 08:37:02 GMT + x-ms-encryption-algorithm: + - AES256 x-ms-version: - - '2020-02-10' + - '2020-04-08' method: HEAD uri: https://clitest000002.blob.core.windows.net/cont000003/block000004 response: @@ -479,17 +455,17 @@ interactions: content-type: - application/octet-stream date: - - Mon, 01 Mar 2021 03:41:34 GMT + - Thu, 20 May 2021 08:37:02 GMT etag: - - '"0x8D8DC63E54A4A23"' + - '"0x8D91B6A6CF9C86D"' last-modified: - - Mon, 01 Mar 2021 03:41:27 GMT + - Thu, 20 May 2021 08:36:55 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:41:27 GMT + - Thu, 20 May 2021 08:36:55 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -497,7 +473,7 @@ interactions: x-ms-server-encrypted: - 'true' x-ms-version: - - '2020-02-10' + - '2020-04-08' status: code: 200 message: OK @@ -505,7 +481,7 @@ interactions: body: null headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate CommandName: @@ -513,15 +489,17 @@ interactions: Connection: - keep-alive If-Match: - - '0x8D8DC63E54A4A23' + - '0x8D91B6A6CF9C86D' ParameterSetName: - -c -n --account-name --if-match --auth-mode User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.7.1 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:35 GMT + - Thu, 20 May 2021 08:37:03 GMT + x-ms-encryption-algorithm: + - AES256 x-ms-version: - - '2020-02-10' + - '2020-04-08' method: HEAD uri: https://clitest000002.blob.core.windows.net/cont000003/block000004 response: @@ -537,17 +515,17 @@ interactions: content-type: - application/octet-stream date: - - Mon, 01 Mar 2021 03:41:36 GMT + - Thu, 20 May 2021 08:37:03 GMT etag: - - '"0x8D8DC63E54A4A23"' + - '"0x8D91B6A6CF9C86D"' last-modified: - - Mon, 01 Mar 2021 03:41:27 GMT + - Thu, 20 May 2021 08:36:55 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:41:27 GMT + - Thu, 20 May 2021 08:36:55 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -555,7 +533,7 @@ interactions: x-ms-server-encrypted: - 'true' x-ms-version: - - '2020-02-10' + - '2020-04-08' status: code: 200 message: OK @@ -563,7 +541,7 @@ interactions: body: null headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate CommandName: @@ -575,11 +553,13 @@ interactions: ParameterSetName: - -c -n --account-name --if-match --auth-mode User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.7.1 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:37 GMT + - Thu, 20 May 2021 08:37:04 GMT + x-ms-encryption-algorithm: + - AES256 x-ms-version: - - '2020-02-10' + - '2020-04-08' method: HEAD uri: https://clitest000002.blob.core.windows.net/cont000003/block000004 response: @@ -595,17 +575,17 @@ interactions: content-type: - application/octet-stream date: - - Mon, 01 Mar 2021 03:41:37 GMT + - Thu, 20 May 2021 08:37:05 GMT etag: - - '"0x8D8DC63E54A4A23"' + - '"0x8D91B6A6CF9C86D"' last-modified: - - Mon, 01 Mar 2021 03:41:27 GMT + - Thu, 20 May 2021 08:36:55 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:41:27 GMT + - Thu, 20 May 2021 08:36:55 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -613,7 +593,7 @@ interactions: x-ms-server-encrypted: - 'true' x-ms-version: - - '2020-02-10' + - '2020-04-08' status: code: 200 message: OK @@ -621,7 +601,7 @@ interactions: body: null headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate CommandName: @@ -629,15 +609,17 @@ interactions: Connection: - keep-alive If-None-Match: - - '0x8D8DC63E54A4A23' + - '0x8D91B6A6CF9C86D' ParameterSetName: - -c -n --account-name --if-none-match --auth-mode User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.7.1 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:38 GMT + - Thu, 20 May 2021 08:37:06 GMT + x-ms-encryption-algorithm: + - AES256 x-ms-version: - - '2020-02-10' + - '2020-04-08' method: HEAD uri: https://clitest000002.blob.core.windows.net/cont000003/block000004 response: @@ -647,13 +629,13 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 03:41:38 GMT + - Thu, 20 May 2021 08:37:06 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-error-code: - ConditionNotMet x-ms-version: - - '2020-02-10' + - '2020-04-08' status: code: 304 message: The condition specified using HTTP conditional header(s) is not met. @@ -661,7 +643,7 @@ interactions: body: null headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate CommandName: @@ -673,11 +655,13 @@ interactions: ParameterSetName: - -c -n --account-name --if-none-match --auth-mode User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.7.1 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:39 GMT + - Thu, 20 May 2021 08:37:07 GMT + x-ms-encryption-algorithm: + - AES256 x-ms-version: - - '2020-02-10' + - '2020-04-08' method: HEAD uri: https://clitest000002.blob.core.windows.net/cont000003/block000004 response: @@ -685,7 +669,7 @@ interactions: string: '' headers: date: - - Mon, 01 Mar 2021 03:41:40 GMT + - Thu, 20 May 2021 08:37:07 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -693,7 +677,7 @@ interactions: x-ms-error-code: - UnsatisfiableCondition x-ms-version: - - '2020-02-10' + - '2020-04-08' status: code: 400 message: The request includes an unsatisfiable condition for this operation. @@ -701,7 +685,7 @@ interactions: body: null headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate CommandName: @@ -713,11 +697,13 @@ interactions: ParameterSetName: - -c -n --account-name --if-unmodified-since --auth-mode User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.7.1 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:40 GMT + - Thu, 20 May 2021 08:37:08 GMT + x-ms-encryption-algorithm: + - AES256 x-ms-version: - - '2020-02-10' + - '2020-04-08' method: HEAD uri: https://clitest000002.blob.core.windows.net/cont000003/block000004 response: @@ -725,7 +711,7 @@ interactions: string: '' headers: date: - - Mon, 01 Mar 2021 03:41:41 GMT + - Thu, 20 May 2021 08:37:09 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -733,7 +719,7 @@ interactions: x-ms-error-code: - ConditionNotMet x-ms-version: - - '2020-02-10' + - '2020-04-08' status: code: 412 message: The condition specified using HTTP conditional header(s) is not met. @@ -741,7 +727,7 @@ interactions: body: null headers: Accept: - - '*/*' + - application/xml Accept-Encoding: - gzip, deflate CommandName: @@ -753,11 +739,13 @@ interactions: ParameterSetName: - -c -n --account-name --if-modified-since --auth-mode User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.7.1 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:42 GMT + - Thu, 20 May 2021 08:37:09 GMT + x-ms-encryption-algorithm: + - AES256 x-ms-version: - - '2020-02-10' + - '2020-04-08' method: HEAD uri: https://clitest000002.blob.core.windows.net/cont000003/block000004 response: @@ -773,17 +761,17 @@ interactions: content-type: - application/octet-stream date: - - Mon, 01 Mar 2021 03:41:43 GMT + - Thu, 20 May 2021 08:37:11 GMT etag: - - '"0x8D8DC63E54A4A23"' + - '"0x8D91B6A6CF9C86D"' last-modified: - - Mon, 01 Mar 2021 03:41:27 GMT + - Thu, 20 May 2021 08:36:55 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:41:27 GMT + - Thu, 20 May 2021 08:36:55 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -791,7 +779,7 @@ interactions: x-ms-server-encrypted: - 'true' x-ms-version: - - '2020-02-10' + - '2020-04-08' status: code: 200 message: OK diff --git a/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_blob_soft_delete.yaml b/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_blob_soft_delete.yaml index c456cbd9152..93b5c9802cf 100644 --- a/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_blob_soft_delete.yaml +++ b/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_blob_soft_delete.yaml @@ -15,21 +15,21 @@ interactions: ParameterSetName: - -n -g --query -o User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2021-01-01&$expand=kerb + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2021-04-01&$expand=kerb response: body: - string: '{"keys":[{"keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' + string: '{"keys":[{"creationTime":"2021-05-20T08:53:47.5606722Z","keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"creationTime":"2021-05-20T08:53:47.5606722Z","keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' headers: cache-control: - no-cache content-length: - - '288' + - '380' content-type: - application/json date: - - Mon, 01 Mar 2021 03:40:23 GMT + - Thu, 20 May 2021 08:54:08 GMT expires: - '-1' pragma: @@ -45,7 +45,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' + - '11995' status: code: 200 message: OK @@ -57,9 +57,9 @@ interactions: Content-Length: - '0' User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.7; Windows 10) AZURECLI/2.20.0 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Mon, 01 Mar 2021 03:40:24 GMT + - Thu, 20 May 2021 08:54:08 GMT x-ms-version: - '2018-11-09' method: PUT @@ -71,11 +71,11 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 03:40:26 GMT + - Thu, 20 May 2021 08:54:10 GMT etag: - - '"0x8D8DC63C12143FC"' + - '"0x8D91B6CD62BF7AC"' last-modified: - - Mon, 01 Mar 2021 03:40:27 GMT + - Thu, 20 May 2021 08:54:11 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -103,11 +103,11 @@ interactions: ParameterSetName: - -c -f -n --type --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-blob-type: - BlockBlob x-ms-date: - - Mon, 01 Mar 2021 03:40:27 GMT + - Thu, 20 May 2021 08:54:11 GMT x-ms-version: - '2020-02-10' method: PUT @@ -121,11 +121,11 @@ interactions: content-md5: - DzQ7CTESaiDxM9Z8KwGKOw== date: - - Mon, 01 Mar 2021 03:40:28 GMT + - Thu, 20 May 2021 08:54:12 GMT etag: - - '"0x8D8DC63C1E4638C"' + - '"0x8D91B6CD6FEC330"' last-modified: - - Mon, 01 Mar 2021 03:40:28 GMT + - Thu, 20 May 2021 08:54:12 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: @@ -151,9 +151,9 @@ interactions: ParameterSetName: - -c --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:40:28 GMT + - Thu, 20 May 2021 08:54:13 GMT x-ms-version: - '2020-02-10' method: GET @@ -161,9 +161,9 @@ interactions: response: body: string: "\uFEFF5000blob000004Mon, - 01 Mar 2021 03:40:28 GMTMon, 01 Mar 2021 03:40:28 - GMT0x8D8DC63C1E4638C1024application/octet-stream5000blob000004Thu, + 20 May 2021 08:54:12 GMTThu, 20 May 2021 08:54:12 + GMT0x8D91B6CD6FEC3301024application/octet-streamDzQ7CTESaiDxM9Z8KwGKOw==BlockBlobHottrueunlockedavailabletrue" @@ -171,7 +171,7 @@ interactions: content-type: - application/xml date: - - Mon, 01 Mar 2021 03:40:28 GMT + - Thu, 20 May 2021 08:54:13 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -195,9 +195,9 @@ interactions: ParameterSetName: - --enable --days-retained --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:40:29 GMT + - Thu, 20 May 2021 08:54:14 GMT x-ms-version: - '2020-02-10' method: GET @@ -210,7 +210,7 @@ interactions: content-type: - application/xml date: - - Mon, 01 Mar 2021 03:40:30 GMT + - Thu, 20 May 2021 08:54:14 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -240,9 +240,9 @@ interactions: ParameterSetName: - --enable --days-retained --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:40:30 GMT + - Thu, 20 May 2021 08:54:15 GMT x-ms-version: - '2020-02-10' method: PUT @@ -254,7 +254,7 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 03:40:31 GMT + - Thu, 20 May 2021 08:54:15 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -276,9 +276,9 @@ interactions: ParameterSetName: - --enable --days-retained --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:40:31 GMT + - Thu, 20 May 2021 08:54:16 GMT x-ms-version: - '2020-02-10' method: GET @@ -291,7 +291,7 @@ interactions: content-type: - application/xml date: - - Mon, 01 Mar 2021 03:40:31 GMT + - Thu, 20 May 2021 08:54:16 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -315,9 +315,9 @@ interactions: ParameterSetName: - --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:40:32 GMT + - Thu, 20 May 2021 08:54:16 GMT x-ms-version: - '2020-02-10' method: GET @@ -330,7 +330,7 @@ interactions: content-type: - application/xml date: - - Mon, 01 Mar 2021 03:40:32 GMT + - Thu, 20 May 2021 08:54:17 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -356,9 +356,9 @@ interactions: ParameterSetName: - -c -n --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:40:43 GMT + - Thu, 20 May 2021 08:54:28 GMT x-ms-version: - '2020-02-10' method: DELETE @@ -370,7 +370,7 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 03:40:43 GMT + - Thu, 20 May 2021 08:54:29 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-delete-type-permanent: @@ -394,9 +394,9 @@ interactions: ParameterSetName: - -c --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:40:44 GMT + - Thu, 20 May 2021 08:54:29 GMT x-ms-version: - '2020-02-10' method: GET @@ -410,7 +410,7 @@ interactions: content-type: - application/xml date: - - Mon, 01 Mar 2021 03:40:45 GMT + - Thu, 20 May 2021 08:54:29 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -436,9 +436,9 @@ interactions: ParameterSetName: - -c -n --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:40:45 GMT + - Thu, 20 May 2021 08:55:30 GMT x-ms-version: - '2020-02-10' method: PUT @@ -450,7 +450,7 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 03:40:46 GMT + - Thu, 20 May 2021 08:55:31 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -472,9 +472,9 @@ interactions: ParameterSetName: - -c --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:40:47 GMT + - Thu, 20 May 2021 08:55:32 GMT x-ms-version: - '2020-02-10' method: GET @@ -482,9 +482,9 @@ interactions: response: body: string: "\uFEFF5000blob000004Mon, - 01 Mar 2021 03:40:28 GMTMon, 01 Mar 2021 03:40:28 - GMT0x8D8DC63C1E4638C1024application/octet-stream5000blob000004Thu, + 20 May 2021 08:54:12 GMTThu, 20 May 2021 08:54:12 + GMT0x8D91B6CD6FEC3301024application/octet-streamDzQ7CTESaiDxM9Z8KwGKOw==BlockBlobHottrueunlockedavailabletrue" @@ -492,7 +492,7 @@ interactions: content-type: - application/xml date: - - Mon, 01 Mar 2021 03:40:47 GMT + - Thu, 20 May 2021 08:55:32 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: diff --git a/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_blob_tags_scenario.yaml b/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_blob_tags_scenario.yaml index 9c38f163d01..73e57bf6e2a 100644 --- a/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_blob_tags_scenario.yaml +++ b/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_blob_tags_scenario.yaml @@ -15,21 +15,21 @@ interactions: ParameterSetName: - -n -g --query -o User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Storage/storageAccounts/blobtag000002/listKeys?api-version=2021-01-01&$expand=kerb + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Storage/storageAccounts/blobtag000002/listKeys?api-version=2021-04-01&$expand=kerb response: body: - string: '{"keys":[{"keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' + string: '{"keys":[{"creationTime":"2021-05-20T08:43:57.9299203Z","keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"creationTime":"2021-05-20T08:43:57.9299203Z","keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' headers: cache-control: - no-cache content-length: - - '288' + - '380' content-type: - application/json date: - - Mon, 01 Mar 2021 03:40:26 GMT + - Thu, 20 May 2021 08:44:19 GMT expires: - '-1' pragma: @@ -45,7 +45,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11998' + - '11999' status: code: 200 message: OK @@ -57,9 +57,9 @@ interactions: Content-Length: - '0' User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.7; Windows 10) AZURECLI/2.20.0 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Mon, 01 Mar 2021 03:40:27 GMT + - Thu, 20 May 2021 08:44:19 GMT x-ms-version: - '2018-11-09' method: PUT @@ -71,11 +71,11 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 03:40:29 GMT + - Thu, 20 May 2021 08:44:22 GMT etag: - - '"0x8D8DC63C2BDD1E1"' + - '"0x8D91B6B7766F14C"' last-modified: - - Mon, 01 Mar 2021 03:40:30 GMT + - Thu, 20 May 2021 08:44:22 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -91,9 +91,9 @@ interactions: Content-Length: - '0' User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.7; Windows 10) AZURECLI/2.20.0 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Mon, 01 Mar 2021 03:40:30 GMT + - Thu, 20 May 2021 08:44:23 GMT x-ms-version: - '2018-11-09' method: PUT @@ -105,11 +105,11 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 03:40:31 GMT + - Thu, 20 May 2021 08:44:24 GMT etag: - - '"0x8D8DC63C38908AF"' + - '"0x8D91B6B786D171D"' last-modified: - - Mon, 01 Mar 2021 03:40:31 GMT + - Thu, 20 May 2021 08:44:24 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -137,11 +137,11 @@ interactions: ParameterSetName: - -c -f -n --tags --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-blob-type: - BlockBlob x-ms-date: - - Mon, 01 Mar 2021 03:40:31 GMT + - Thu, 20 May 2021 08:44:24 GMT x-ms-tags: - date=2020-01-01&category=test x-ms-version: @@ -157,11 +157,11 @@ interactions: content-md5: - DfvoqkwgtS4bi/PLbL3xkw== date: - - Mon, 01 Mar 2021 03:40:33 GMT + - Thu, 20 May 2021 08:44:26 GMT etag: - - '"0x8D8DC63C4E7FC66"' + - '"0x8D91B6B79E0716D"' last-modified: - - Mon, 01 Mar 2021 03:40:33 GMT + - Thu, 20 May 2021 08:44:26 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: @@ -187,9 +187,9 @@ interactions: ParameterSetName: - -c --include --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:03 GMT + - Thu, 20 May 2021 08:44:57 GMT x-ms-version: - '2020-02-10' method: GET @@ -197,9 +197,9 @@ interactions: response: body: string: "\uFEFF5000blob000005Mon, - 01 Mar 2021 03:40:33 GMTMon, 01 Mar 2021 03:40:33 - GMT0x8D8DC63C4E7FC66131072application/octet-stream5000blob000005Thu, + 20 May 2021 08:44:26 GMTThu, 20 May 2021 08:44:26 + GMT0x8D91B6B79E0716D131072application/octet-streamDfvoqkwgtS4bi/PLbL3xkw==BlockBlobHottrueunlockedavailabletrue2categorytestdate2020-01-01" @@ -207,7 +207,7 @@ interactions: content-type: - application/xml date: - - Mon, 01 Mar 2021 03:41:04 GMT + - Thu, 20 May 2021 08:44:58 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -231,9 +231,9 @@ interactions: ParameterSetName: - -n -c --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:05 GMT + - Thu, 20 May 2021 08:44:59 GMT x-ms-version: - '2020-02-10' method: GET @@ -247,7 +247,7 @@ interactions: content-type: - application/xml date: - - Mon, 01 Mar 2021 03:41:05 GMT + - Thu, 20 May 2021 08:45:00 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -271,11 +271,11 @@ interactions: ParameterSetName: - --source-blob --source-container -c -b --tags --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-copy-source: - - https://blobtagmbnxtb32mgwmgkhtj.blob.core.windows.net/cont1djevfqa7zod57wiqxrh/blobnqt4aimrvmiwednwyqvh + - https://blobtagcjwjwvwpymccaf2dp.blob.core.windows.net/cont1d5t5bdhbpaacqsczkgz/blob3prsetmwu4zpocxze7sp x-ms-date: - - Mon, 01 Mar 2021 03:41:06 GMT + - Thu, 20 May 2021 08:45:01 GMT x-ms-tags: - number=1 x-ms-version: @@ -289,15 +289,15 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 03:41:07 GMT + - Thu, 20 May 2021 08:45:03 GMT etag: - - '"0x8D8DC63D941C811"' + - '"0x8D91B6B9027D68A"' last-modified: - - Mon, 01 Mar 2021 03:41:07 GMT + - Thu, 20 May 2021 08:45:04 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-copy-id: - - e8349009-98c2-4473-a39e-e0616ed20313 + - 5f030c45-cbf6-463f-a755-95f141dc0f99 x-ms-copy-status: - success x-ms-version: @@ -319,9 +319,9 @@ interactions: ParameterSetName: - -n -c --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:08 GMT + - Thu, 20 May 2021 08:45:04 GMT x-ms-version: - '2020-02-10' method: GET @@ -335,7 +335,7 @@ interactions: content-type: - application/xml date: - - Mon, 01 Mar 2021 03:41:08 GMT + - Thu, 20 May 2021 08:45:05 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -357,9 +357,9 @@ interactions: ParameterSetName: - -c --include --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:09 GMT + - Thu, 20 May 2021 08:45:06 GMT x-ms-version: - '2020-02-10' method: GET @@ -367,9 +367,9 @@ interactions: response: body: string: "\uFEFF5000blob000006Mon, - 01 Mar 2021 03:41:07 GMTMon, 01 Mar 2021 03:41:07 - GMT0x8D8DC63D941C811131072application/octet-stream5000blob000006Thu, + 20 May 2021 08:45:04 GMTThu, 20 May 2021 08:45:04 + GMT0x8D91B6B9027D68A131072application/octet-streamDfvoqkwgtS4bi/PLbL3xkw==BlockBlobHottrueunlockedavailabletrue1number1" @@ -377,7 +377,7 @@ interactions: content-type: - application/xml date: - - Mon, 01 Mar 2021 03:41:10 GMT + - Thu, 20 May 2021 08:45:07 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -407,9 +407,9 @@ interactions: ParameterSetName: - -n -c --tags --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:10 GMT + - Thu, 20 May 2021 08:45:07 GMT x-ms-version: - '2020-02-10' method: PUT @@ -419,7 +419,7 @@ interactions: string: '' headers: date: - - Mon, 01 Mar 2021 03:41:12 GMT + - Thu, 20 May 2021 08:45:09 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -441,9 +441,9 @@ interactions: ParameterSetName: - -n -c --tags --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:12 GMT + - Thu, 20 May 2021 08:45:09 GMT x-ms-version: - '2020-02-10' method: GET @@ -457,7 +457,7 @@ interactions: content-type: - application/xml date: - - Mon, 01 Mar 2021 03:41:12 GMT + - Thu, 20 May 2021 08:45:09 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -479,9 +479,9 @@ interactions: ParameterSetName: - -n -c --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:12 GMT + - Thu, 20 May 2021 08:45:10 GMT x-ms-version: - '2020-02-10' method: GET @@ -495,7 +495,7 @@ interactions: content-type: - application/xml date: - - Mon, 01 Mar 2021 03:41:13 GMT + - Thu, 20 May 2021 08:45:11 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -517,9 +517,9 @@ interactions: ParameterSetName: - --tag-filter --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:14 GMT + - Thu, 20 May 2021 08:45:11 GMT x-ms-version: - '2020-02-10' method: GET @@ -532,7 +532,7 @@ interactions: content-type: - application/xml date: - - Mon, 01 Mar 2021 03:41:15 GMT + - Thu, 20 May 2021 08:45:12 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -559,11 +559,11 @@ interactions: - --source-blob --source-container -c -b --source-tags-condition --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-copy-source: - - https://blobtagmbnxtb32mgwmgkhtj.blob.core.windows.net/cont1djevfqa7zod57wiqxrh/blobnqt4aimrvmiwednwyqvh + - https://blobtagcjwjwvwpymccaf2dp.blob.core.windows.net/cont1d5t5bdhbpaacqsczkgz/blob3prsetmwu4zpocxze7sp x-ms-date: - - Mon, 01 Mar 2021 03:41:15 GMT + - Thu, 20 May 2021 08:45:13 GMT x-ms-source-if-tags: - test='tag' x-ms-version: @@ -577,15 +577,15 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 03:41:16 GMT + - Thu, 20 May 2021 08:45:14 GMT etag: - - '"0x8D8DC63DEAB1D8A"' + - '"0x8D91B6B96DA8FE1"' last-modified: - - Mon, 01 Mar 2021 03:41:16 GMT + - Thu, 20 May 2021 08:45:15 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-copy-id: - - b87ef41c-5366-48db-b7ce-783740b5d2b0 + - 4e7200f3-02f1-4526-afe1-0fef0f56bece x-ms-copy-status: - success x-ms-version: @@ -611,11 +611,11 @@ interactions: ParameterSetName: - -n -c --tags-condition -f --tags --overwrite --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-blob-type: - BlockBlob x-ms-date: - - Mon, 01 Mar 2021 03:41:17 GMT + - Thu, 20 May 2021 08:45:15 GMT x-ms-if-tags: - test='tag' x-ms-tags: @@ -633,11 +633,11 @@ interactions: content-md5: - DfvoqkwgtS4bi/PLbL3xkw== date: - - Mon, 01 Mar 2021 03:41:18 GMT + - Thu, 20 May 2021 08:45:17 GMT etag: - - '"0x8D8DC63E002DB3A"' + - '"0x8D91B6B9836DFFA"' last-modified: - - Mon, 01 Mar 2021 03:41:19 GMT + - Thu, 20 May 2021 08:45:17 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: @@ -665,9 +665,9 @@ interactions: ParameterSetName: - -n -c --tags-condition --metadata --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:19 GMT + - Thu, 20 May 2021 08:45:18 GMT x-ms-if-tags: - category='test' x-ms-meta-a: @@ -683,11 +683,11 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 03:41:20 GMT + - Thu, 20 May 2021 08:45:19 GMT etag: - - '"0x8D8DC63E0E10D7A"' + - '"0x8D91B6B99316F3F"' last-modified: - - Mon, 01 Mar 2021 03:41:20 GMT + - Thu, 20 May 2021 08:45:19 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-request-server-encrypted: @@ -711,9 +711,9 @@ interactions: ParameterSetName: - -n -c --tags-condition --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:20 GMT + - Thu, 20 May 2021 08:45:20 GMT x-ms-if-tags: - category='test' x-ms-version: @@ -733,11 +733,11 @@ interactions: content-type: - application/octet-stream date: - - Mon, 01 Mar 2021 03:41:21 GMT + - Thu, 20 May 2021 08:45:20 GMT etag: - - '"0x8D8DC63E0E10D7A"' + - '"0x8D91B6B99316F3F"' last-modified: - - Mon, 01 Mar 2021 03:41:20 GMT + - Thu, 20 May 2021 08:45:19 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-access-tier: @@ -747,7 +747,7 @@ interactions: x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:40:33 GMT + - Thu, 20 May 2021 08:44:26 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -780,9 +780,9 @@ interactions: - --lease-duration -b -c --proposed-lease-id --tags-condition --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:22 GMT + - Thu, 20 May 2021 08:45:22 GMT x-ms-if-tags: - category='test' x-ms-lease-action: @@ -802,11 +802,11 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 03:41:23 GMT + - Thu, 20 May 2021 08:45:23 GMT etag: - - '"0x8D8DC63E0E10D7A"' + - '"0x8D91B6B99316F3F"' last-modified: - - Mon, 01 Mar 2021 03:41:20 GMT + - Thu, 20 May 2021 08:45:19 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-lease-id: @@ -830,9 +830,9 @@ interactions: ParameterSetName: - -n -c --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:23 GMT + - Thu, 20 May 2021 08:45:23 GMT x-ms-version: - '2020-02-10' method: HEAD @@ -850,11 +850,11 @@ interactions: content-type: - application/octet-stream date: - - Mon, 01 Mar 2021 03:41:24 GMT + - Thu, 20 May 2021 08:45:24 GMT etag: - - '"0x8D8DC63E0E10D7A"' + - '"0x8D91B6B99316F3F"' last-modified: - - Mon, 01 Mar 2021 03:41:20 GMT + - Thu, 20 May 2021 08:45:19 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-access-tier: @@ -864,7 +864,7 @@ interactions: x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:40:33 GMT + - Thu, 20 May 2021 08:44:26 GMT x-ms-lease-duration: - fixed x-ms-lease-state: @@ -898,9 +898,9 @@ interactions: ParameterSetName: - -b -c --lease-id --proposed-lease-id --tags-condition --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:25 GMT + - Thu, 20 May 2021 08:45:25 GMT x-ms-if-tags: - category='test' x-ms-lease-action: @@ -920,11 +920,11 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 03:41:25 GMT + - Thu, 20 May 2021 08:45:27 GMT etag: - - '"0x8D8DC63E0E10D7A"' + - '"0x8D91B6B99316F3F"' last-modified: - - Mon, 01 Mar 2021 03:41:20 GMT + - Thu, 20 May 2021 08:45:19 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-lease-id: @@ -950,9 +950,9 @@ interactions: ParameterSetName: - -b -c --lease-id --tags-condition --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:26 GMT + - Thu, 20 May 2021 08:45:27 GMT x-ms-if-tags: - category='test' x-ms-lease-action: @@ -970,11 +970,11 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 03:41:27 GMT + - Thu, 20 May 2021 08:45:28 GMT etag: - - '"0x8D8DC63E0E10D7A"' + - '"0x8D91B6B99316F3F"' last-modified: - - Mon, 01 Mar 2021 03:41:20 GMT + - Thu, 20 May 2021 08:45:19 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-lease-id: @@ -998,9 +998,9 @@ interactions: ParameterSetName: - -n -c --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:28 GMT + - Thu, 20 May 2021 08:45:29 GMT x-ms-version: - '2020-02-10' method: HEAD @@ -1018,11 +1018,11 @@ interactions: content-type: - application/octet-stream date: - - Mon, 01 Mar 2021 03:41:28 GMT + - Thu, 20 May 2021 08:45:29 GMT etag: - - '"0x8D8DC63E0E10D7A"' + - '"0x8D91B6B99316F3F"' last-modified: - - Mon, 01 Mar 2021 03:41:20 GMT + - Thu, 20 May 2021 08:45:19 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-access-tier: @@ -1032,7 +1032,7 @@ interactions: x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:40:33 GMT + - Thu, 20 May 2021 08:44:26 GMT x-ms-lease-duration: - fixed x-ms-lease-state: @@ -1066,9 +1066,9 @@ interactions: ParameterSetName: - -b -c --lease-break-period --tags-condition --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:29 GMT + - Thu, 20 May 2021 08:45:30 GMT x-ms-if-tags: - category='test' x-ms-lease-action: @@ -1086,11 +1086,11 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 03:41:30 GMT + - Thu, 20 May 2021 08:45:31 GMT etag: - - '"0x8D8DC63E0E10D7A"' + - '"0x8D91B6B99316F3F"' last-modified: - - Mon, 01 Mar 2021 03:41:20 GMT + - Thu, 20 May 2021 08:45:19 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-lease-time: @@ -1114,9 +1114,9 @@ interactions: ParameterSetName: - -n -c --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:31 GMT + - Thu, 20 May 2021 08:45:32 GMT x-ms-version: - '2020-02-10' method: HEAD @@ -1134,11 +1134,11 @@ interactions: content-type: - application/octet-stream date: - - Mon, 01 Mar 2021 03:41:31 GMT + - Thu, 20 May 2021 08:45:33 GMT etag: - - '"0x8D8DC63E0E10D7A"' + - '"0x8D91B6B99316F3F"' last-modified: - - Mon, 01 Mar 2021 03:41:20 GMT + - Thu, 20 May 2021 08:45:19 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-access-tier: @@ -1148,7 +1148,7 @@ interactions: x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:40:33 GMT + - Thu, 20 May 2021 08:44:26 GMT x-ms-lease-state: - breaking x-ms-lease-status: @@ -1180,9 +1180,9 @@ interactions: ParameterSetName: - -b -c --lease-id --tags-condition --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:32 GMT + - Thu, 20 May 2021 08:45:34 GMT x-ms-if-tags: - category='test' x-ms-lease-action: @@ -1200,11 +1200,11 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 03:41:33 GMT + - Thu, 20 May 2021 08:45:35 GMT etag: - - '"0x8D8DC63E0E10D7A"' + - '"0x8D91B6B99316F3F"' last-modified: - - Mon, 01 Mar 2021 03:41:20 GMT + - Thu, 20 May 2021 08:45:19 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -1226,9 +1226,9 @@ interactions: ParameterSetName: - -n -c --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:34 GMT + - Thu, 20 May 2021 08:45:35 GMT x-ms-version: - '2020-02-10' method: HEAD @@ -1246,11 +1246,11 @@ interactions: content-type: - application/octet-stream date: - - Mon, 01 Mar 2021 03:41:34 GMT + - Thu, 20 May 2021 08:45:36 GMT etag: - - '"0x8D8DC63E0E10D7A"' + - '"0x8D91B6B99316F3F"' last-modified: - - Mon, 01 Mar 2021 03:41:20 GMT + - Thu, 20 May 2021 08:45:19 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-access-tier: @@ -1260,7 +1260,7 @@ interactions: x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:40:33 GMT + - Thu, 20 May 2021 08:44:26 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -1292,11 +1292,11 @@ interactions: ParameterSetName: - -n -c --tier --tags-condition --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-access-tier: - Hot x-ms-date: - - Mon, 01 Mar 2021 03:41:35 GMT + - Thu, 20 May 2021 08:45:37 GMT x-ms-if-tags: - category='test' x-ms-version: @@ -1310,7 +1310,7 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 03:41:36 GMT + - Thu, 20 May 2021 08:45:39 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -1334,9 +1334,9 @@ interactions: ParameterSetName: - -n -c --tags-condition --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:37 GMT + - Thu, 20 May 2021 08:45:40 GMT x-ms-if-tags: - category='test' x-ms-version: @@ -1350,17 +1350,17 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 03:41:37 GMT + - Thu, 20 May 2021 08:45:40 GMT etag: - - '"0x8D8DC63E0E10D7A"' + - '"0x8D91B6B99316F3F"' last-modified: - - Mon, 01 Mar 2021 03:41:20 GMT + - Thu, 20 May 2021 08:45:19 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-request-server-encrypted: - 'false' x-ms-snapshot: - - '2021-03-01T03:41:38.2834562Z' + - '2021-05-20T08:45:41.2696895Z' x-ms-version: - '2020-02-10' status: @@ -1386,9 +1386,9 @@ interactions: ParameterSetName: - -n -c --tags-condition --tags --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:38 GMT + - Thu, 20 May 2021 08:45:41 GMT x-ms-if-tags: - category='test' x-ms-version: @@ -1400,7 +1400,7 @@ interactions: string: '' headers: date: - - Mon, 01 Mar 2021 03:41:38 GMT + - Thu, 20 May 2021 08:45:42 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -1422,9 +1422,9 @@ interactions: ParameterSetName: - -n -c --tags-condition --tags --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:39 GMT + - Thu, 20 May 2021 08:45:43 GMT x-ms-version: - '2020-02-10' method: GET @@ -1438,7 +1438,7 @@ interactions: content-type: - application/xml date: - - Mon, 01 Mar 2021 03:41:39 GMT + - Thu, 20 May 2021 08:45:42 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -1460,9 +1460,9 @@ interactions: ParameterSetName: - -n -c --tags-condition --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:40 GMT + - Thu, 20 May 2021 08:45:43 GMT x-ms-if-tags: - category='test' x-ms-version: @@ -1478,7 +1478,7 @@ interactions: content-type: - application/xml date: - - Mon, 01 Mar 2021 03:41:41 GMT + - Thu, 20 May 2021 08:45:44 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -1500,9 +1500,9 @@ interactions: ParameterSetName: - -c --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:41 GMT + - Thu, 20 May 2021 08:45:45 GMT x-ms-version: - '2020-02-10' method: GET @@ -1510,18 +1510,18 @@ interactions: response: body: string: "\uFEFF5000blob000005Mon, - 01 Mar 2021 03:40:33 GMTMon, 01 Mar 2021 03:41:20 - GMT0x8D8DC63E0E10D7A131072application/octet-stream5000blob000005Thu, + 20 May 2021 08:44:26 GMTThu, 20 May 2021 08:45:19 + GMT0x8D91B6B99316F3F131072application/octet-streamDfvoqkwgtS4bi/PLbL3xkw==BlockBlobHotMon, - 01 Mar 2021 03:41:36 GMTunlockedavailabletrue2BlockBlobHotThu, + 20 May 2021 08:45:39 GMTunlockedavailabletrue2" headers: content-type: - application/xml date: - - Mon, 01 Mar 2021 03:41:42 GMT + - Thu, 20 May 2021 08:45:45 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -1545,9 +1545,9 @@ interactions: ParameterSetName: - -c --include --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:43 GMT + - Thu, 20 May 2021 08:45:47 GMT x-ms-version: - '2020-02-10' method: GET @@ -1555,24 +1555,24 @@ interactions: response: body: string: "\uFEFF5000blob0000052021-03-01T03:41:38.2834562ZMon, - 01 Mar 2021 03:40:33 GMTMon, 01 Mar 2021 03:41:20 - GMT0x8D8DC63E0E10D7A131072application/octet-stream5000blob0000052021-05-20T08:45:41.2696895ZThu, + 20 May 2021 08:44:26 GMTThu, 20 May 2021 08:45:19 + GMT0x8D91B6B99316F3F131072application/octet-streamDfvoqkwgtS4bi/PLbL3xkw==BlockBlobHotMon, - 01 Mar 2021 03:41:36 GMTtrue2blob000005Mon, 01 Mar - 2021 03:40:33 GMTMon, 01 Mar 2021 03:41:20 - GMT0x8D8DC63E0E10D7A131072application/octet-streamBlockBlobHotThu, + 20 May 2021 08:45:39 GMTtrue2blob000005Thu, 20 May + 2021 08:44:26 GMTThu, 20 May 2021 08:45:19 + GMT0x8D91B6B99316F3F131072application/octet-streamDfvoqkwgtS4bi/PLbL3xkw==BlockBlobHotMon, - 01 Mar 2021 03:41:36 GMTunlockedavailabletrue2BlockBlobHotThu, + 20 May 2021 08:45:39 GMTunlockedavailabletrue2" headers: content-type: - application/xml date: - - Mon, 01 Mar 2021 03:41:44 GMT + - Thu, 20 May 2021 08:45:48 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -1598,15 +1598,15 @@ interactions: ParameterSetName: - -n -c --tags-condition --snapshot --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:44 GMT + - Thu, 20 May 2021 08:45:48 GMT x-ms-if-tags: - category='test' x-ms-version: - '2020-02-10' method: DELETE - uri: https://blobtag000002.blob.core.windows.net/cont1000003/blob000005?snapshot=2021-03-01T03:41:38.2834562Z + uri: https://blobtag000002.blob.core.windows.net/cont1000003/blob000005?snapshot=2021-05-20T08:45:41.2696895Z response: body: string: '' @@ -1614,7 +1614,7 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 03:41:45 GMT + - Thu, 20 May 2021 08:45:49 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-delete-type-permanent: @@ -1640,9 +1640,9 @@ interactions: ParameterSetName: - -n -c --tags-condition --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:46 GMT + - Thu, 20 May 2021 08:45:50 GMT x-ms-if-tags: - category='test' x-ms-version: @@ -1656,7 +1656,7 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 03:41:46 GMT + - Thu, 20 May 2021 08:45:51 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-delete-type-permanent: @@ -1680,9 +1680,9 @@ interactions: ParameterSetName: - -c --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:47 GMT + - Thu, 20 May 2021 08:45:52 GMT x-ms-version: - '2020-02-10' method: GET @@ -1696,7 +1696,7 @@ interactions: content-type: - application/xml date: - - Mon, 01 Mar 2021 03:41:48 GMT + - Thu, 20 May 2021 08:45:53 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: diff --git a/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_blob_update_service_properties.yaml b/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_blob_update_service_properties.yaml index fc36b23bc3d..dcd1fde59eb 100644 --- a/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_blob_update_service_properties.yaml +++ b/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_blob_update_service_properties.yaml @@ -15,21 +15,21 @@ interactions: ParameterSetName: - -n -g --query -o User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2021-01-01&$expand=kerb + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2021-04-01&$expand=kerb response: body: - string: '{"keys":[{"keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' + string: '{"keys":[{"creationTime":"2021-05-20T08:36:19.9455140Z","keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"creationTime":"2021-05-20T08:36:19.9455140Z","keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' headers: cache-control: - no-cache content-length: - - '288' + - '380' content-type: - application/json date: - - Mon, 01 Mar 2021 03:41:24 GMT + - Thu, 20 May 2021 08:36:41 GMT expires: - '-1' pragma: @@ -45,114 +45,88 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11998' + - '11997' status: code: 200 message: OK - request: body: null headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - CommandName: - - storage blob service-properties show Connection: - keep-alive - ParameterSetName: - - --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Mon, 01 Mar 2021 03:41:25 GMT + - Thu, 20 May 2021 08:36:42 GMT x-ms-version: - - '2020-02-10' + - '2018-11-09' method: GET uri: https://clitest000002.blob.core.windows.net/?restype=service&comp=properties response: body: string: "\uFEFF1.0falsefalsefalsefalse1.0truetruetrue71.0falsefalsefalsefalsefalse" + />falsefalse" headers: content-type: - application/xml date: - - Mon, 01 Mar 2021 03:41:27 GMT + - Thu, 20 May 2021 08:36:44 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: - chunked x-ms-version: - - '2020-02-10' + - '2018-11-09' status: code: 200 message: OK - request: body: null headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - CommandName: - - storage blob service-properties update Connection: - keep-alive - ParameterSetName: - - --static-website --index-document --404-document --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Mon, 01 Mar 2021 03:41:28 GMT + - Thu, 20 May 2021 08:36:45 GMT x-ms-version: - - '2020-02-10' + - '2018-11-09' method: GET uri: https://clitest000002.blob.core.windows.net/?restype=service&comp=properties response: body: string: "\uFEFF1.0falsefalsefalsefalse1.0truetruetrue71.0falsefalsefalsefalsefalse" + />falsefalse" headers: content-type: - application/xml date: - - Mon, 01 Mar 2021 03:41:29 GMT + - Thu, 20 May 2021 08:36:46 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: - chunked x-ms-version: - - '2020-02-10' + - '2018-11-09' status: code: 200 message: OK - request: body: ' - 1.0falsefalsefalsefalse1.0truetruetrue71.0falsefalsefalsetrueindex.htmlerror.html' + 1.0FalseFalseFalseFalse1.0TrueTrueTrue71.0FalseFalseFalseTrueindex.htmlerror.html' headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - storage blob service-properties update Connection: - keep-alive Content-Length: - '792' - Content-Type: - - application/xml; charset=utf-8 - ParameterSetName: - - --static-website --index-document --404-document --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Mon, 01 Mar 2021 03:41:29 GMT + - Thu, 20 May 2021 08:36:46 GMT x-ms-version: - - '2020-02-10' + - '2018-11-09' method: PUT uri: https://clitest000002.blob.core.windows.net/?restype=service&comp=properties response: @@ -162,118 +136,92 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 03:41:30 GMT + - Thu, 20 May 2021 08:36:47 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: - - '2020-02-10' + - '2018-11-09' status: code: 202 message: Accepted - request: body: null headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - CommandName: - - storage blob service-properties update Connection: - keep-alive - ParameterSetName: - - --static-website --index-document --404-document --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Mon, 01 Mar 2021 03:41:30 GMT + - Thu, 20 May 2021 08:36:47 GMT x-ms-version: - - '2020-02-10' + - '2018-11-09' method: GET uri: https://clitest000002.blob.core.windows.net/?restype=service&comp=properties response: body: string: "\uFEFF1.0falsefalsefalsefalse1.0truetruetrue71.0falsefalsefalsefalsetrueindex.htmlerror.html" + />falsetrueindex.htmlerror.html" headers: content-type: - application/xml date: - - Mon, 01 Mar 2021 03:41:30 GMT + - Thu, 20 May 2021 08:36:47 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: - chunked x-ms-version: - - '2020-02-10' + - '2018-11-09' status: code: 200 message: OK - request: body: null headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - CommandName: - - storage blob service-properties update Connection: - keep-alive - ParameterSetName: - - --delete-retention --delete-retention-period --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Mon, 01 Mar 2021 03:41:30 GMT + - Thu, 20 May 2021 08:36:47 GMT x-ms-version: - - '2020-02-10' + - '2018-11-09' method: GET uri: https://clitest000002.blob.core.windows.net/?restype=service&comp=properties response: body: string: "\uFEFF1.0falsefalsefalsefalse1.0truetruetrue71.0falsefalsefalsefalsetrueindex.htmlerror.html" + />falsetrueindex.htmlerror.html" headers: content-type: - application/xml date: - - Mon, 01 Mar 2021 03:41:31 GMT + - Thu, 20 May 2021 08:36:48 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: - chunked x-ms-version: - - '2020-02-10' + - '2018-11-09' status: code: 200 message: OK - request: body: ' - 1.0falsefalsefalsefalse1.0truetruetrue71.0falsefalsetrue1trueindex.htmlerror.html' + 1.0FalseFalseFalseFalse1.0TrueTrueTrue71.0FalseFalseTrue1Trueindex.htmlerror.html' headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - storage blob service-properties update Connection: - keep-alive Content-Length: - '805' - Content-Type: - - application/xml; charset=utf-8 - ParameterSetName: - - --delete-retention --delete-retention-period --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Mon, 01 Mar 2021 03:41:31 GMT + - Thu, 20 May 2021 08:36:48 GMT x-ms-version: - - '2020-02-10' + - '2018-11-09' method: PUT uri: https://clitest000002.blob.core.windows.net/?restype=service&comp=properties response: @@ -283,89 +231,73 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 03:41:31 GMT + - Thu, 20 May 2021 08:36:49 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: - - '2020-02-10' + - '2018-11-09' status: code: 202 message: Accepted - request: body: null headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - CommandName: - - storage blob service-properties update Connection: - keep-alive - ParameterSetName: - - --delete-retention --delete-retention-period --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Mon, 01 Mar 2021 03:41:32 GMT + - Thu, 20 May 2021 08:36:49 GMT x-ms-version: - - '2020-02-10' + - '2018-11-09' method: GET uri: https://clitest000002.blob.core.windows.net/?restype=service&comp=properties response: body: string: "\uFEFF1.0falsefalsefalsefalse1.0truetruetrue71.0falsefalsetrue1falsetrueindex.htmlerror.html" + />true1trueindex.htmlerror.html" headers: content-type: - application/xml date: - - Mon, 01 Mar 2021 03:41:31 GMT + - Thu, 20 May 2021 08:36:49 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: - chunked x-ms-version: - - '2020-02-10' + - '2018-11-09' status: code: 200 message: OK - request: body: null headers: - Accept: - - application/xml - Accept-Encoding: - - gzip, deflate - CommandName: - - storage blob service-properties show Connection: - keep-alive - ParameterSetName: - - --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Mon, 01 Mar 2021 03:41:32 GMT + - Thu, 20 May 2021 08:36:50 GMT x-ms-version: - - '2020-02-10' + - '2018-11-09' method: GET uri: https://clitest000002.blob.core.windows.net/?restype=service&comp=properties response: body: string: "\uFEFF1.0falsefalsefalsefalse1.0truetruetrue71.0falsefalsetrue1falsetrueindex.htmlerror.html" + />true1trueindex.htmlerror.html" headers: content-type: - application/xml date: - - Mon, 01 Mar 2021 03:41:33 GMT + - Thu, 20 May 2021 08:36:50 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: - chunked x-ms-version: - - '2020-02-10' + - '2018-11-09' status: code: 200 message: OK diff --git a/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_blob_upload_midsize_file.yaml b/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_blob_upload_midsize_file.yaml index 0b436ab8496..bc7d3d19eca 100644 --- a/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_blob_upload_midsize_file.yaml +++ b/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_blob_upload_midsize_file.yaml @@ -15,21 +15,21 @@ interactions: ParameterSetName: - -n -g --query -o User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2021-01-01&$expand=kerb + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2021-04-01&$expand=kerb response: body: - string: '{"keys":[{"keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' + string: '{"keys":[{"creationTime":"2021-05-20T08:45:23.0982407Z","keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"creationTime":"2021-05-20T08:45:23.0982407Z","keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' headers: cache-control: - no-cache content-length: - - '288' + - '380' content-type: - application/json date: - - Mon, 01 Mar 2021 03:42:20 GMT + - Thu, 20 May 2021 08:45:44 GMT expires: - '-1' pragma: @@ -45,7 +45,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11997' + - '11999' status: code: 200 message: OK @@ -57,9 +57,9 @@ interactions: Content-Length: - '0' User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.7; Windows 10) AZURECLI/2.20.0 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Mon, 01 Mar 2021 03:42:21 GMT + - Thu, 20 May 2021 08:45:45 GMT x-ms-version: - '2018-11-09' method: PUT @@ -71,11 +71,11 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 03:42:23 GMT + - Thu, 20 May 2021 08:45:48 GMT etag: - - '"0x8D8DC6406CBBE27"' + - '"0x8D91B6BAA6724EA"' last-modified: - - Mon, 01 Mar 2021 03:42:24 GMT + - Thu, 20 May 2021 08:45:48 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -97,9 +97,9 @@ interactions: ParameterSetName: - -n -c --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:42:24 GMT + - Thu, 20 May 2021 08:45:48 GMT x-ms-version: - '2020-02-10' method: HEAD @@ -109,7 +109,7 @@ interactions: string: '' headers: date: - - Mon, 01 Mar 2021 03:42:25 GMT + - Thu, 20 May 2021 08:45:49 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -141,11 +141,11 @@ interactions: ParameterSetName: - -c -f -n --type --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-blob-type: - BlockBlob x-ms-date: - - Mon, 01 Mar 2021 03:42:25 GMT + - Thu, 20 May 2021 08:45:49 GMT x-ms-version: - '2020-02-10' method: PUT @@ -159,11 +159,11 @@ interactions: content-md5: - tc+p1sj+vWGPkawoQ9UKHA== date: - - Mon, 01 Mar 2021 03:42:28 GMT + - Thu, 20 May 2021 08:45:53 GMT etag: - - '"0x8D8DC6409990BA0"' + - '"0x8D91B6BAD62A0E7"' last-modified: - - Mon, 01 Mar 2021 03:42:28 GMT + - Thu, 20 May 2021 08:45:53 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: @@ -189,9 +189,9 @@ interactions: ParameterSetName: - -n -c --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:42:29 GMT + - Thu, 20 May 2021 08:45:53 GMT x-ms-version: - '2020-02-10' method: HEAD @@ -209,17 +209,17 @@ interactions: content-type: - application/octet-stream date: - - Mon, 01 Mar 2021 03:42:29 GMT + - Thu, 20 May 2021 08:45:54 GMT etag: - - '"0x8D8DC6409990BA0"' + - '"0x8D91B6BAD62A0E7"' last-modified: - - Mon, 01 Mar 2021 03:42:28 GMT + - Thu, 20 May 2021 08:45:53 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:42:28 GMT + - Thu, 20 May 2021 08:45:53 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -245,9 +245,9 @@ interactions: ParameterSetName: - -c -o --num-results --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:42:30 GMT + - Thu, 20 May 2021 08:45:54 GMT x-ms-version: - '2020-02-10' method: GET @@ -255,9 +255,9 @@ interactions: response: body: string: "\uFEFF1blob000003Mon, - 01 Mar 2021 03:42:28 GMTMon, 01 Mar 2021 03:42:28 - GMT0x8D8DC6409990BA04194304application/octet-stream1blob000003Thu, + 20 May 2021 08:45:53 GMTThu, 20 May 2021 08:45:53 + GMT0x8D91B6BAD62A0E74194304application/octet-streamtc+p1sj+vWGPkawoQ9UKHA==BlockBlobunlockedavailabletrue" @@ -265,7 +265,7 @@ interactions: content-type: - application/xml date: - - Mon, 01 Mar 2021 03:42:30 GMT + - Thu, 20 May 2021 08:45:55 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -289,9 +289,9 @@ interactions: ParameterSetName: - -n -c --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:42:31 GMT + - Thu, 20 May 2021 08:45:56 GMT x-ms-version: - '2020-02-10' method: HEAD @@ -309,17 +309,17 @@ interactions: content-type: - application/octet-stream date: - - Mon, 01 Mar 2021 03:42:32 GMT + - Thu, 20 May 2021 08:45:57 GMT etag: - - '"0x8D8DC6409990BA0"' + - '"0x8D91B6BAD62A0E7"' last-modified: - - Mon, 01 Mar 2021 03:42:28 GMT + - Thu, 20 May 2021 08:45:53 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:42:28 GMT + - Thu, 20 May 2021 08:45:53 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -349,13 +349,13 @@ interactions: ParameterSetName: - -c -f -n --type --content-md5 --overwrite --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-blob-content-md5: - tc+p1sj+vWGPkawoQ9UKHA== x-ms-blob-type: - BlockBlob x-ms-date: - - Mon, 01 Mar 2021 03:42:32 GMT + - Thu, 20 May 2021 08:45:57 GMT x-ms-version: - '2020-02-10' method: PUT @@ -369,11 +369,11 @@ interactions: content-md5: - tc+p1sj+vWGPkawoQ9UKHA== date: - - Mon, 01 Mar 2021 03:42:35 GMT + - Thu, 20 May 2021 08:46:00 GMT etag: - - '"0x8D8DC640DEA444C"' + - '"0x8D91B6BB210545A"' last-modified: - - Mon, 01 Mar 2021 03:42:36 GMT + - Thu, 20 May 2021 08:46:01 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: @@ -391,9 +391,9 @@ interactions: Connection: - keep-alive User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.7; Windows 10) AZURECLI/2.20.0 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Mon, 01 Mar 2021 03:42:36 GMT + - Thu, 20 May 2021 08:46:01 GMT x-ms-version: - '2018-11-09' method: HEAD @@ -411,17 +411,17 @@ interactions: content-type: - application/octet-stream date: - - Mon, 01 Mar 2021 03:42:37 GMT + - Thu, 20 May 2021 08:46:02 GMT etag: - - '"0x8D8DC640DEA444C"' + - '"0x8D91B6BB210545A"' last-modified: - - Mon, 01 Mar 2021 03:42:36 GMT + - Thu, 20 May 2021 08:46:01 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:42:28 GMT + - Thu, 20 May 2021 08:45:53 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -441,13 +441,13 @@ interactions: Content-Length: - '0' User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.7; Windows 10) AZURECLI/2.20.0 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-blob-content-md5: - tc+p1sj+vWGPkawoQ9UKHA== x-ms-blob-content-type: - application/test-content x-ms-date: - - Mon, 01 Mar 2021 03:42:37 GMT + - Thu, 20 May 2021 08:46:02 GMT x-ms-version: - '2018-11-09' method: PUT @@ -459,11 +459,11 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 03:42:37 GMT + - Thu, 20 May 2021 08:46:03 GMT etag: - - '"0x8D8DC640F5754E6"' + - '"0x8D91B6BB39142BD"' last-modified: - - Mon, 01 Mar 2021 03:42:38 GMT + - Thu, 20 May 2021 08:46:03 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -485,9 +485,9 @@ interactions: ParameterSetName: - -n -c --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:42:38 GMT + - Thu, 20 May 2021 08:46:04 GMT x-ms-version: - '2020-02-10' method: HEAD @@ -505,17 +505,17 @@ interactions: content-type: - application/test-content date: - - Mon, 01 Mar 2021 03:42:38 GMT + - Thu, 20 May 2021 08:46:04 GMT etag: - - '"0x8D8DC640F5754E6"' + - '"0x8D91B6BB39142BD"' last-modified: - - Mon, 01 Mar 2021 03:42:38 GMT + - Thu, 20 May 2021 08:46:03 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:42:28 GMT + - Thu, 20 May 2021 08:45:53 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -533,9 +533,9 @@ interactions: Connection: - keep-alive User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.7; Windows 10) AZURECLI/2.20.0 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Mon, 01 Mar 2021 03:42:40 GMT + - Thu, 20 May 2021 08:46:05 GMT x-ms-version: - '2018-11-09' method: HEAD @@ -553,17 +553,17 @@ interactions: content-type: - application/test-content date: - - Mon, 01 Mar 2021 03:42:40 GMT + - Thu, 20 May 2021 08:46:05 GMT etag: - - '"0x8D8DC640F5754E6"' + - '"0x8D91B6BB39142BD"' last-modified: - - Mon, 01 Mar 2021 03:42:38 GMT + - Thu, 20 May 2021 08:46:03 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:42:28 GMT + - Thu, 20 May 2021 08:45:53 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -583,13 +583,13 @@ interactions: Content-Length: - '0' User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.7; Windows 10) AZURECLI/2.20.0 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-blob-content-md5: - tc+p1sj+vWGPkawoQ9UKHA== x-ms-blob-content-type: - '' x-ms-date: - - Mon, 01 Mar 2021 03:42:41 GMT + - Thu, 20 May 2021 08:46:06 GMT x-ms-version: - '2018-11-09' method: PUT @@ -601,11 +601,11 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 03:42:41 GMT + - Thu, 20 May 2021 08:46:07 GMT etag: - - '"0x8D8DC6411802B8B"' + - '"0x8D91B6BB5A27BED"' last-modified: - - Mon, 01 Mar 2021 03:42:42 GMT + - Thu, 20 May 2021 08:46:07 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -627,9 +627,9 @@ interactions: ParameterSetName: - -n -c --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:42:42 GMT + - Thu, 20 May 2021 08:46:07 GMT x-ms-version: - '2020-02-10' method: HEAD @@ -645,17 +645,17 @@ interactions: content-md5: - tc+p1sj+vWGPkawoQ9UKHA== date: - - Mon, 01 Mar 2021 03:42:42 GMT + - Thu, 20 May 2021 08:46:08 GMT etag: - - '"0x8D8DC6411802B8B"' + - '"0x8D91B6BB5A27BED"' last-modified: - - Mon, 01 Mar 2021 03:42:42 GMT + - Thu, 20 May 2021 08:46:07 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:42:28 GMT + - Thu, 20 May 2021 08:45:53 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -681,9 +681,9 @@ interactions: ParameterSetName: - --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:42:43 GMT + - Thu, 20 May 2021 08:46:08 GMT x-ms-version: - '2020-02-10' method: GET @@ -696,7 +696,7 @@ interactions: content-type: - application/xml date: - - Mon, 01 Mar 2021 03:42:44 GMT + - Thu, 20 May 2021 08:46:09 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -720,9 +720,9 @@ interactions: ParameterSetName: - -n -c --file --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:42:44 GMT + - Thu, 20 May 2021 08:46:10 GMT x-ms-range: - bytes=0-33554431 x-ms-version: @@ -742,11 +742,11 @@ interactions: content-range: - bytes 0-4194303/4194304 date: - - Mon, 01 Mar 2021 03:42:45 GMT + - Thu, 20 May 2021 08:46:10 GMT etag: - - '"0x8D8DC6411802B8B"' + - '"0x8D91B6BB5A27BED"' last-modified: - - Mon, 01 Mar 2021 03:42:42 GMT + - Thu, 20 May 2021 08:46:07 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-content-md5: @@ -754,7 +754,7 @@ interactions: x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:42:28 GMT + - Thu, 20 May 2021 08:45:53 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -780,9 +780,9 @@ interactions: ParameterSetName: - -n -c --file --start-range --end-range --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:42:48 GMT + - Thu, 20 May 2021 08:46:14 GMT x-ms-range: - bytes=10-499 x-ms-version: @@ -800,11 +800,11 @@ interactions: content-range: - bytes 10-499/4194304 date: - - Mon, 01 Mar 2021 03:42:49 GMT + - Thu, 20 May 2021 08:46:14 GMT etag: - - '"0x8D8DC6411802B8B"' + - '"0x8D91B6BB5A27BED"' last-modified: - - Mon, 01 Mar 2021 03:42:42 GMT + - Thu, 20 May 2021 08:46:07 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-content-md5: @@ -812,7 +812,7 @@ interactions: x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:42:28 GMT + - Thu, 20 May 2021 08:45:53 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -840,21 +840,21 @@ interactions: ParameterSetName: - -n -g --query -o User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2021-01-01&$expand=kerb + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2021-04-01&$expand=kerb response: body: - string: '{"keys":[{"keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' + string: '{"keys":[{"creationTime":"2021-05-20T08:45:23.0982407Z","keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"creationTime":"2021-05-20T08:45:23.0982407Z","keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' headers: cache-control: - no-cache content-length: - - '288' + - '380' content-type: - application/json date: - - Mon, 01 Mar 2021 03:42:50 GMT + - Thu, 20 May 2021 08:46:16 GMT expires: - '-1' pragma: @@ -870,7 +870,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11995' + - '11994' status: code: 200 message: OK @@ -882,9 +882,9 @@ interactions: Content-Length: - '0' User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.7; Windows 10) AZURECLI/2.20.0 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Mon, 01 Mar 2021 03:42:51 GMT + - Thu, 20 May 2021 08:46:17 GMT x-ms-version: - '2018-11-09' method: PUT @@ -896,11 +896,11 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 03:42:51 GMT + - Thu, 20 May 2021 08:46:17 GMT etag: - - '"0x8D8DC64176FBD7A"' + - '"0x8D91B6BBC0F6BA9"' last-modified: - - Mon, 01 Mar 2021 03:42:52 GMT + - Thu, 20 May 2021 08:46:18 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -922,9 +922,9 @@ interactions: ParameterSetName: - -n -c --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:42:52 GMT + - Thu, 20 May 2021 08:46:18 GMT x-ms-version: - '2020-02-10' method: HEAD @@ -934,7 +934,7 @@ interactions: string: '' headers: date: - - Mon, 01 Mar 2021 03:42:52 GMT + - Thu, 20 May 2021 08:46:18 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -966,11 +966,11 @@ interactions: ParameterSetName: - -c -f -n --type --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-blob-type: - BlockBlob x-ms-date: - - Mon, 01 Mar 2021 03:42:53 GMT + - Thu, 20 May 2021 08:46:19 GMT x-ms-version: - '2020-02-10' method: PUT @@ -984,11 +984,11 @@ interactions: content-md5: - tc+p1sj+vWGPkawoQ9UKHA== date: - - Mon, 01 Mar 2021 03:42:55 GMT + - Thu, 20 May 2021 08:46:23 GMT etag: - - '"0x8D8DC641A50A506"' + - '"0x8D91B6BBF23993C"' last-modified: - - Mon, 01 Mar 2021 03:42:56 GMT + - Thu, 20 May 2021 08:46:23 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: @@ -1014,9 +1014,9 @@ interactions: ParameterSetName: - -n -c --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:42:57 GMT + - Thu, 20 May 2021 08:46:23 GMT x-ms-version: - '2020-02-10' method: HEAD @@ -1034,17 +1034,17 @@ interactions: content-type: - application/octet-stream date: - - Mon, 01 Mar 2021 03:42:57 GMT + - Thu, 20 May 2021 08:46:24 GMT etag: - - '"0x8D8DC641A50A506"' + - '"0x8D91B6BBF23993C"' last-modified: - - Mon, 01 Mar 2021 03:42:56 GMT + - Thu, 20 May 2021 08:46:23 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:42:56 GMT + - Thu, 20 May 2021 08:46:23 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -1070,9 +1070,9 @@ interactions: ParameterSetName: - -c -o --num-results --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:42:58 GMT + - Thu, 20 May 2021 08:46:24 GMT x-ms-version: - '2020-02-10' method: GET @@ -1080,9 +1080,9 @@ interactions: response: body: string: "\uFEFF1blob000005Mon, - 01 Mar 2021 03:42:56 GMTMon, 01 Mar 2021 03:42:56 - GMT0x8D8DC641A50A5064194304application/octet-stream1blob000005Thu, + 20 May 2021 08:46:23 GMTThu, 20 May 2021 08:46:23 + GMT0x8D91B6BBF23993C4194304application/octet-streamtc+p1sj+vWGPkawoQ9UKHA==BlockBlobunlockedavailabletrue" @@ -1090,7 +1090,7 @@ interactions: content-type: - application/xml date: - - Mon, 01 Mar 2021 03:42:59 GMT + - Thu, 20 May 2021 08:46:24 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -1114,9 +1114,9 @@ interactions: ParameterSetName: - -n -c --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:42:59 GMT + - Thu, 20 May 2021 08:46:26 GMT x-ms-version: - '2020-02-10' method: HEAD @@ -1134,17 +1134,17 @@ interactions: content-type: - application/octet-stream date: - - Mon, 01 Mar 2021 03:43:00 GMT + - Thu, 20 May 2021 08:46:26 GMT etag: - - '"0x8D8DC641A50A506"' + - '"0x8D91B6BBF23993C"' last-modified: - - Mon, 01 Mar 2021 03:42:56 GMT + - Thu, 20 May 2021 08:46:23 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:42:56 GMT + - Thu, 20 May 2021 08:46:23 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -1174,13 +1174,13 @@ interactions: ParameterSetName: - -c -f -n --type --content-md5 --overwrite --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-blob-content-md5: - tc+p1sj+vWGPkawoQ9UKHA== x-ms-blob-type: - BlockBlob x-ms-date: - - Mon, 01 Mar 2021 03:43:00 GMT + - Thu, 20 May 2021 08:46:27 GMT x-ms-version: - '2020-02-10' method: PUT @@ -1194,11 +1194,11 @@ interactions: content-md5: - tc+p1sj+vWGPkawoQ9UKHA== date: - - Mon, 01 Mar 2021 03:43:03 GMT + - Thu, 20 May 2021 08:46:31 GMT etag: - - '"0x8D8DC641EA2C703"' + - '"0x8D91B6BC47D3A41"' last-modified: - - Mon, 01 Mar 2021 03:43:04 GMT + - Thu, 20 May 2021 08:46:32 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: @@ -1216,9 +1216,9 @@ interactions: Connection: - keep-alive User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.7; Windows 10) AZURECLI/2.20.0 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Mon, 01 Mar 2021 03:43:04 GMT + - Thu, 20 May 2021 08:46:32 GMT x-ms-version: - '2018-11-09' method: HEAD @@ -1236,17 +1236,17 @@ interactions: content-type: - application/octet-stream date: - - Mon, 01 Mar 2021 03:43:05 GMT + - Thu, 20 May 2021 08:46:33 GMT etag: - - '"0x8D8DC641EA2C703"' + - '"0x8D91B6BC47D3A41"' last-modified: - - Mon, 01 Mar 2021 03:43:04 GMT + - Thu, 20 May 2021 08:46:32 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:42:56 GMT + - Thu, 20 May 2021 08:46:23 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -1266,13 +1266,13 @@ interactions: Content-Length: - '0' User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.7; Windows 10) AZURECLI/2.20.0 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-blob-content-md5: - tc+p1sj+vWGPkawoQ9UKHA== x-ms-blob-content-type: - application/test-content x-ms-date: - - Mon, 01 Mar 2021 03:43:05 GMT + - Thu, 20 May 2021 08:46:33 GMT x-ms-version: - '2018-11-09' method: PUT @@ -1284,11 +1284,11 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 03:43:05 GMT + - Thu, 20 May 2021 08:46:33 GMT etag: - - '"0x8D8DC64202D02CC"' + - '"0x8D91B6BC6061949"' last-modified: - - Mon, 01 Mar 2021 03:43:06 GMT + - Thu, 20 May 2021 08:46:34 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -1310,9 +1310,9 @@ interactions: ParameterSetName: - -n -c --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:43:06 GMT + - Thu, 20 May 2021 08:46:35 GMT x-ms-version: - '2020-02-10' method: HEAD @@ -1330,17 +1330,17 @@ interactions: content-type: - application/test-content date: - - Mon, 01 Mar 2021 03:43:07 GMT + - Thu, 20 May 2021 08:46:35 GMT etag: - - '"0x8D8DC64202D02CC"' + - '"0x8D91B6BC6061949"' last-modified: - - Mon, 01 Mar 2021 03:43:06 GMT + - Thu, 20 May 2021 08:46:34 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:42:56 GMT + - Thu, 20 May 2021 08:46:23 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -1358,9 +1358,9 @@ interactions: Connection: - keep-alive User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.7; Windows 10) AZURECLI/2.20.0 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Mon, 01 Mar 2021 03:43:08 GMT + - Thu, 20 May 2021 08:46:36 GMT x-ms-version: - '2018-11-09' method: HEAD @@ -1378,17 +1378,17 @@ interactions: content-type: - application/test-content date: - - Mon, 01 Mar 2021 03:43:09 GMT + - Thu, 20 May 2021 08:46:37 GMT etag: - - '"0x8D8DC64202D02CC"' + - '"0x8D91B6BC6061949"' last-modified: - - Mon, 01 Mar 2021 03:43:06 GMT + - Thu, 20 May 2021 08:46:34 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:42:56 GMT + - Thu, 20 May 2021 08:46:23 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -1408,13 +1408,13 @@ interactions: Content-Length: - '0' User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.7; Windows 10) AZURECLI/2.20.0 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-blob-content-md5: - tc+p1sj+vWGPkawoQ9UKHA== x-ms-blob-content-type: - '' x-ms-date: - - Mon, 01 Mar 2021 03:43:09 GMT + - Thu, 20 May 2021 08:46:37 GMT x-ms-version: - '2018-11-09' method: PUT @@ -1426,11 +1426,11 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 03:43:09 GMT + - Thu, 20 May 2021 08:46:38 GMT etag: - - '"0x8D8DC642254549D"' + - '"0x8D91B6BC83F2C99"' last-modified: - - Mon, 01 Mar 2021 03:43:10 GMT + - Thu, 20 May 2021 08:46:38 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -1452,9 +1452,9 @@ interactions: ParameterSetName: - -n -c --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:43:10 GMT + - Thu, 20 May 2021 08:46:38 GMT x-ms-version: - '2020-02-10' method: HEAD @@ -1470,17 +1470,17 @@ interactions: content-md5: - tc+p1sj+vWGPkawoQ9UKHA== date: - - Mon, 01 Mar 2021 03:43:10 GMT + - Thu, 20 May 2021 08:46:39 GMT etag: - - '"0x8D8DC642254549D"' + - '"0x8D91B6BC83F2C99"' last-modified: - - Mon, 01 Mar 2021 03:43:10 GMT + - Thu, 20 May 2021 08:46:38 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:42:56 GMT + - Thu, 20 May 2021 08:46:23 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -1506,9 +1506,9 @@ interactions: ParameterSetName: - --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:43:11 GMT + - Thu, 20 May 2021 08:46:40 GMT x-ms-version: - '2020-02-10' method: GET @@ -1521,7 +1521,7 @@ interactions: content-type: - application/xml date: - - Mon, 01 Mar 2021 03:43:12 GMT + - Thu, 20 May 2021 08:46:40 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -1545,9 +1545,9 @@ interactions: ParameterSetName: - -n -c --file --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:43:13 GMT + - Thu, 20 May 2021 08:46:41 GMT x-ms-range: - bytes=0-33554431 x-ms-version: @@ -1567,11 +1567,11 @@ interactions: content-range: - bytes 0-4194303/4194304 date: - - Mon, 01 Mar 2021 03:43:13 GMT + - Thu, 20 May 2021 08:46:41 GMT etag: - - '"0x8D8DC642254549D"' + - '"0x8D91B6BC83F2C99"' last-modified: - - Mon, 01 Mar 2021 03:43:10 GMT + - Thu, 20 May 2021 08:46:38 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-content-md5: @@ -1579,7 +1579,7 @@ interactions: x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:42:56 GMT + - Thu, 20 May 2021 08:46:23 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -1605,9 +1605,9 @@ interactions: ParameterSetName: - -n -c --file --start-range --end-range --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:43:17 GMT + - Thu, 20 May 2021 08:46:46 GMT x-ms-range: - bytes=10-499 x-ms-version: @@ -1625,11 +1625,11 @@ interactions: content-range: - bytes 10-499/4194304 date: - - Mon, 01 Mar 2021 03:43:18 GMT + - Thu, 20 May 2021 08:46:46 GMT etag: - - '"0x8D8DC642254549D"' + - '"0x8D91B6BC83F2C99"' last-modified: - - Mon, 01 Mar 2021 03:43:10 GMT + - Thu, 20 May 2021 08:46:38 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-content-md5: @@ -1637,7 +1637,7 @@ interactions: x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:42:56 GMT + - Thu, 20 May 2021 08:46:23 GMT x-ms-lease-state: - available x-ms-lease-status: diff --git a/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_blob_upload_scenarios.yaml b/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_blob_upload_scenarios.yaml index 5fe3c5abab5..df0e6ca213f 100644 --- a/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_blob_upload_scenarios.yaml +++ b/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_blob_upload_scenarios.yaml @@ -15,21 +15,21 @@ interactions: ParameterSetName: - -n -g --query -o User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Storage/storageAccounts/storage000002/listKeys?api-version=2021-01-01&$expand=kerb + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Storage/storageAccounts/storage000002/listKeys?api-version=2021-04-01&$expand=kerb response: body: - string: '{"keys":[{"keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' + string: '{"keys":[{"creationTime":"2021-05-20T08:43:54.1184471Z","keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"creationTime":"2021-05-20T08:43:54.1184471Z","keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' headers: cache-control: - no-cache content-length: - - '288' + - '380' content-type: - application/json date: - - Mon, 01 Mar 2021 03:40:25 GMT + - Thu, 20 May 2021 08:44:15 GMT expires: - '-1' pragma: @@ -45,7 +45,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' + - '11997' status: code: 200 message: OK @@ -57,9 +57,9 @@ interactions: Content-Length: - '0' User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.7; Windows 10) AZURECLI/2.20.0 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Mon, 01 Mar 2021 03:40:26 GMT + - Thu, 20 May 2021 08:44:16 GMT x-ms-version: - '2018-11-09' method: PUT @@ -71,11 +71,11 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 03:40:27 GMT + - Thu, 20 May 2021 08:44:18 GMT etag: - - '"0x8D8DC63C13182C5"' + - '"0x8D91B6B754904EC"' last-modified: - - Mon, 01 Mar 2021 03:40:27 GMT + - Thu, 20 May 2021 08:44:19 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -103,11 +103,11 @@ interactions: ParameterSetName: - -c -f -n --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-blob-type: - BlockBlob x-ms-date: - - Mon, 01 Mar 2021 03:40:27 GMT + - Thu, 20 May 2021 08:44:19 GMT x-ms-version: - '2020-02-10' method: PUT @@ -121,11 +121,11 @@ interactions: content-md5: - DfvoqkwgtS4bi/PLbL3xkw== date: - - Mon, 01 Mar 2021 03:40:28 GMT + - Thu, 20 May 2021 08:44:21 GMT etag: - - '"0x8D8DC63C28C6410"' + - '"0x8D91B6B76B5A014"' last-modified: - - Mon, 01 Mar 2021 03:40:29 GMT + - Thu, 20 May 2021 08:44:21 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: @@ -151,9 +151,9 @@ interactions: ParameterSetName: - -c -n --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:40:29 GMT + - Thu, 20 May 2021 08:44:22 GMT x-ms-version: - '2020-02-10' method: HEAD @@ -171,11 +171,11 @@ interactions: content-type: - application/octet-stream date: - - Mon, 01 Mar 2021 03:40:30 GMT + - Thu, 20 May 2021 08:44:22 GMT etag: - - '"0x8D8DC63C28C6410"' + - '"0x8D91B6B76B5A014"' last-modified: - - Mon, 01 Mar 2021 03:40:29 GMT + - Thu, 20 May 2021 08:44:21 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-access-tier: @@ -185,7 +185,7 @@ interactions: x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:40:29 GMT + - Thu, 20 May 2021 08:44:21 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -217,11 +217,11 @@ interactions: ParameterSetName: - -c --data --length -n --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-blob-type: - BlockBlob x-ms-date: - - Mon, 01 Mar 2021 03:40:31 GMT + - Thu, 20 May 2021 08:44:23 GMT x-ms-version: - '2020-02-10' method: PUT @@ -229,14 +229,14 @@ interactions: response: body: string: "\uFEFFBlobAlreadyExistsThe - specified blob already exists.\nRequestId:9395ab78-801e-0017-4d4c-0ef1eb000000\nTime:2021-03-01T03:40:32.3930875Z" + specified blob already exists.\nRequestId:9cb1a948-101e-0019-3b54-4d233f000000\nTime:2021-05-20T08:44:24.6997339Z" headers: content-length: - '220' content-type: - application/xml date: - - Mon, 01 Mar 2021 03:40:32 GMT + - Thu, 20 May 2021 08:44:24 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-error-code: @@ -264,11 +264,11 @@ interactions: ParameterSetName: - -c --data --length -n --overwrite --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-blob-type: - BlockBlob x-ms-date: - - Mon, 01 Mar 2021 03:40:32 GMT + - Thu, 20 May 2021 08:44:25 GMT x-ms-version: - '2020-02-10' method: PUT @@ -282,11 +282,11 @@ interactions: content-md5: - 9Ko+2eyfULZ4s5msS2BJhg== date: - - Mon, 01 Mar 2021 03:40:32 GMT + - Thu, 20 May 2021 08:44:25 GMT etag: - - '"0x8D8DC63C4FF5D8F"' + - '"0x8D91B6B796B7A7F"' last-modified: - - Mon, 01 Mar 2021 03:40:33 GMT + - Thu, 20 May 2021 08:44:26 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: @@ -312,9 +312,9 @@ interactions: ParameterSetName: - -c -n --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:40:34 GMT + - Thu, 20 May 2021 08:44:26 GMT x-ms-version: - '2020-02-10' method: HEAD @@ -332,11 +332,11 @@ interactions: content-type: - application/octet-stream date: - - Mon, 01 Mar 2021 03:40:34 GMT + - Thu, 20 May 2021 08:44:27 GMT etag: - - '"0x8D8DC63C4FF5D8F"' + - '"0x8D91B6B796B7A7F"' last-modified: - - Mon, 01 Mar 2021 03:40:33 GMT + - Thu, 20 May 2021 08:44:26 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-access-tier: @@ -346,7 +346,7 @@ interactions: x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:40:29 GMT + - Thu, 20 May 2021 08:44:21 GMT x-ms-lease-state: - available x-ms-lease-status: diff --git a/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_blob_upload_small_file.yaml b/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_blob_upload_small_file.yaml index 29d321fade9..a1f4161258f 100644 --- a/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_blob_upload_small_file.yaml +++ b/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_blob_upload_small_file.yaml @@ -15,21 +15,21 @@ interactions: ParameterSetName: - -n -g --query -o User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2021-01-01&$expand=kerb + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2021-04-01&$expand=kerb response: body: - string: '{"keys":[{"keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' + string: '{"keys":[{"creationTime":"2021-05-20T08:45:33.1452678Z","keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"creationTime":"2021-05-20T08:45:33.1452678Z","keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' headers: cache-control: - no-cache content-length: - - '288' + - '380' content-type: - application/json date: - - Mon, 01 Mar 2021 03:41:07 GMT + - Thu, 20 May 2021 08:45:55 GMT expires: - '-1' pragma: @@ -45,7 +45,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11998' + - '11999' status: code: 200 message: OK @@ -57,9 +57,9 @@ interactions: Content-Length: - '0' User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.7; Windows 10) AZURECLI/2.20.0 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Mon, 01 Mar 2021 03:41:07 GMT + - Thu, 20 May 2021 08:45:56 GMT x-ms-version: - '2018-11-09' method: PUT @@ -71,11 +71,11 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 03:41:09 GMT + - Thu, 20 May 2021 08:45:58 GMT etag: - - '"0x8D8DC63DAE00E10"' + - '"0x8D91B6BB0A046D2"' last-modified: - - Mon, 01 Mar 2021 03:41:10 GMT + - Thu, 20 May 2021 08:45:58 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -97,9 +97,9 @@ interactions: ParameterSetName: - -n -c --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:10 GMT + - Thu, 20 May 2021 08:45:59 GMT x-ms-version: - '2020-02-10' method: HEAD @@ -109,7 +109,7 @@ interactions: string: '' headers: date: - - Mon, 01 Mar 2021 03:41:11 GMT + - Thu, 20 May 2021 08:45:59 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -141,11 +141,11 @@ interactions: ParameterSetName: - -c -f -n --type --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-blob-type: - BlockBlob x-ms-date: - - Mon, 01 Mar 2021 03:41:11 GMT + - Thu, 20 May 2021 08:46:00 GMT x-ms-version: - '2020-02-10' method: PUT @@ -159,11 +159,11 @@ interactions: content-md5: - DzQ7CTESaiDxM9Z8KwGKOw== date: - - Mon, 01 Mar 2021 03:41:12 GMT + - Thu, 20 May 2021 08:46:01 GMT etag: - - '"0x8D8DC63DC589EC0"' + - '"0x8D91B6BB23C8F5B"' last-modified: - - Mon, 01 Mar 2021 03:41:12 GMT + - Thu, 20 May 2021 08:46:01 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: @@ -189,9 +189,9 @@ interactions: ParameterSetName: - -n -c --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:13 GMT + - Thu, 20 May 2021 08:46:01 GMT x-ms-version: - '2020-02-10' method: HEAD @@ -209,17 +209,17 @@ interactions: content-type: - application/octet-stream date: - - Mon, 01 Mar 2021 03:41:13 GMT + - Thu, 20 May 2021 08:46:01 GMT etag: - - '"0x8D8DC63DC589EC0"' + - '"0x8D91B6BB23C8F5B"' last-modified: - - Mon, 01 Mar 2021 03:41:12 GMT + - Thu, 20 May 2021 08:46:01 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:41:12 GMT + - Thu, 20 May 2021 08:46:01 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -245,9 +245,9 @@ interactions: ParameterSetName: - -c -o --num-results --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:14 GMT + - Thu, 20 May 2021 08:46:03 GMT x-ms-version: - '2020-02-10' method: GET @@ -255,9 +255,9 @@ interactions: response: body: string: "\uFEFF1blob000003Mon, - 01 Mar 2021 03:41:12 GMTMon, 01 Mar 2021 03:41:12 - GMT0x8D8DC63DC589EC01024application/octet-stream1blob000003Thu, + 20 May 2021 08:46:01 GMTThu, 20 May 2021 08:46:01 + GMT0x8D91B6BB23C8F5B1024application/octet-streamDzQ7CTESaiDxM9Z8KwGKOw==BlockBlobunlockedavailabletrue" @@ -265,7 +265,7 @@ interactions: content-type: - application/xml date: - - Mon, 01 Mar 2021 03:41:14 GMT + - Thu, 20 May 2021 08:46:03 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -289,9 +289,9 @@ interactions: ParameterSetName: - -n -c --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:15 GMT + - Thu, 20 May 2021 08:46:04 GMT x-ms-version: - '2020-02-10' method: HEAD @@ -309,17 +309,17 @@ interactions: content-type: - application/octet-stream date: - - Mon, 01 Mar 2021 03:41:16 GMT + - Thu, 20 May 2021 08:46:04 GMT etag: - - '"0x8D8DC63DC589EC0"' + - '"0x8D91B6BB23C8F5B"' last-modified: - - Mon, 01 Mar 2021 03:41:12 GMT + - Thu, 20 May 2021 08:46:01 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:41:12 GMT + - Thu, 20 May 2021 08:46:01 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -349,13 +349,13 @@ interactions: ParameterSetName: - -c -f -n --type --content-md5 --overwrite --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-blob-content-md5: - DzQ7CTESaiDxM9Z8KwGKOw== x-ms-blob-type: - BlockBlob x-ms-date: - - Mon, 01 Mar 2021 03:41:16 GMT + - Thu, 20 May 2021 08:46:05 GMT x-ms-version: - '2020-02-10' method: PUT @@ -369,11 +369,11 @@ interactions: content-md5: - DzQ7CTESaiDxM9Z8KwGKOw== date: - - Mon, 01 Mar 2021 03:41:17 GMT + - Thu, 20 May 2021 08:46:06 GMT etag: - - '"0x8D8DC63DF39D6F3"' + - '"0x8D91B6BB54E7714"' last-modified: - - Mon, 01 Mar 2021 03:41:17 GMT + - Thu, 20 May 2021 08:46:06 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: @@ -391,9 +391,9 @@ interactions: Connection: - keep-alive User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.7; Windows 10) AZURECLI/2.20.0 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Mon, 01 Mar 2021 03:41:18 GMT + - Thu, 20 May 2021 08:46:07 GMT x-ms-version: - '2018-11-09' method: HEAD @@ -411,17 +411,17 @@ interactions: content-type: - application/octet-stream date: - - Mon, 01 Mar 2021 03:41:19 GMT + - Thu, 20 May 2021 08:46:07 GMT etag: - - '"0x8D8DC63DF39D6F3"' + - '"0x8D91B6BB54E7714"' last-modified: - - Mon, 01 Mar 2021 03:41:17 GMT + - Thu, 20 May 2021 08:46:06 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:41:12 GMT + - Thu, 20 May 2021 08:46:01 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -441,13 +441,13 @@ interactions: Content-Length: - '0' User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.7; Windows 10) AZURECLI/2.20.0 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-blob-content-md5: - DzQ7CTESaiDxM9Z8KwGKOw== x-ms-blob-content-type: - application/test-content x-ms-date: - - Mon, 01 Mar 2021 03:41:19 GMT + - Thu, 20 May 2021 08:46:08 GMT x-ms-version: - '2018-11-09' method: PUT @@ -459,11 +459,11 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 03:41:19 GMT + - Thu, 20 May 2021 08:46:09 GMT etag: - - '"0x8D8DC63E0B8CDA9"' + - '"0x8D91B6BB6D7579B"' last-modified: - - Mon, 01 Mar 2021 03:41:20 GMT + - Thu, 20 May 2021 08:46:09 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -485,9 +485,9 @@ interactions: ParameterSetName: - -n -c --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:20 GMT + - Thu, 20 May 2021 08:46:09 GMT x-ms-version: - '2020-02-10' method: HEAD @@ -505,17 +505,17 @@ interactions: content-type: - application/test-content date: - - Mon, 01 Mar 2021 03:41:20 GMT + - Thu, 20 May 2021 08:46:10 GMT etag: - - '"0x8D8DC63E0B8CDA9"' + - '"0x8D91B6BB6D7579B"' last-modified: - - Mon, 01 Mar 2021 03:41:20 GMT + - Thu, 20 May 2021 08:46:09 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:41:12 GMT + - Thu, 20 May 2021 08:46:01 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -533,9 +533,9 @@ interactions: Connection: - keep-alive User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.7; Windows 10) AZURECLI/2.20.0 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Mon, 01 Mar 2021 03:41:21 GMT + - Thu, 20 May 2021 08:46:10 GMT x-ms-version: - '2018-11-09' method: HEAD @@ -553,17 +553,17 @@ interactions: content-type: - application/test-content date: - - Mon, 01 Mar 2021 03:41:22 GMT + - Thu, 20 May 2021 08:46:11 GMT etag: - - '"0x8D8DC63E0B8CDA9"' + - '"0x8D91B6BB6D7579B"' last-modified: - - Mon, 01 Mar 2021 03:41:20 GMT + - Thu, 20 May 2021 08:46:09 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:41:12 GMT + - Thu, 20 May 2021 08:46:01 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -583,13 +583,13 @@ interactions: Content-Length: - '0' User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.7; Windows 10) AZURECLI/2.20.0 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-blob-content-md5: - DzQ7CTESaiDxM9Z8KwGKOw== x-ms-blob-content-type: - '' x-ms-date: - - Mon, 01 Mar 2021 03:41:22 GMT + - Thu, 20 May 2021 08:46:11 GMT x-ms-version: - '2018-11-09' method: PUT @@ -601,11 +601,11 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 03:41:23 GMT + - Thu, 20 May 2021 08:46:12 GMT etag: - - '"0x8D8DC63E2C17FE0"' + - '"0x8D91B6BB8FABE2C"' last-modified: - - Mon, 01 Mar 2021 03:41:23 GMT + - Thu, 20 May 2021 08:46:12 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -627,9 +627,9 @@ interactions: ParameterSetName: - -n -c --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:23 GMT + - Thu, 20 May 2021 08:46:13 GMT x-ms-version: - '2020-02-10' method: HEAD @@ -645,17 +645,17 @@ interactions: content-md5: - DzQ7CTESaiDxM9Z8KwGKOw== date: - - Mon, 01 Mar 2021 03:41:24 GMT + - Thu, 20 May 2021 08:46:14 GMT etag: - - '"0x8D8DC63E2C17FE0"' + - '"0x8D91B6BB8FABE2C"' last-modified: - - Mon, 01 Mar 2021 03:41:23 GMT + - Thu, 20 May 2021 08:46:12 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:41:12 GMT + - Thu, 20 May 2021 08:46:01 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -681,9 +681,9 @@ interactions: ParameterSetName: - --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:25 GMT + - Thu, 20 May 2021 08:46:14 GMT x-ms-version: - '2020-02-10' method: GET @@ -696,7 +696,7 @@ interactions: content-type: - application/xml date: - - Mon, 01 Mar 2021 03:41:25 GMT + - Thu, 20 May 2021 08:46:15 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -720,9 +720,9 @@ interactions: ParameterSetName: - -n -c --file --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:26 GMT + - Thu, 20 May 2021 08:46:15 GMT x-ms-range: - bytes=0-33554431 x-ms-version: @@ -740,11 +740,11 @@ interactions: content-range: - bytes 0-1023/1024 date: - - Mon, 01 Mar 2021 03:41:27 GMT + - Thu, 20 May 2021 08:46:16 GMT etag: - - '"0x8D8DC63E2C17FE0"' + - '"0x8D91B6BB8FABE2C"' last-modified: - - Mon, 01 Mar 2021 03:41:23 GMT + - Thu, 20 May 2021 08:46:12 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-content-md5: @@ -752,7 +752,7 @@ interactions: x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:41:12 GMT + - Thu, 20 May 2021 08:46:01 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -778,9 +778,9 @@ interactions: ParameterSetName: - -n -c --file --start-range --end-range --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:27 GMT + - Thu, 20 May 2021 08:46:17 GMT x-ms-range: - bytes=10-499 x-ms-version: @@ -798,11 +798,11 @@ interactions: content-range: - bytes 10-499/1024 date: - - Mon, 01 Mar 2021 03:41:28 GMT + - Thu, 20 May 2021 08:46:17 GMT etag: - - '"0x8D8DC63E2C17FE0"' + - '"0x8D91B6BB8FABE2C"' last-modified: - - Mon, 01 Mar 2021 03:41:23 GMT + - Thu, 20 May 2021 08:46:12 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-content-md5: @@ -810,7 +810,7 @@ interactions: x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:41:12 GMT + - Thu, 20 May 2021 08:46:01 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -838,21 +838,21 @@ interactions: ParameterSetName: - -n -g --query -o User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2021-01-01&$expand=kerb + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2021-04-01&$expand=kerb response: body: - string: '{"keys":[{"keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' + string: '{"keys":[{"creationTime":"2021-05-20T08:45:33.1452678Z","keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"creationTime":"2021-05-20T08:45:33.1452678Z","keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' headers: cache-control: - no-cache content-length: - - '288' + - '380' content-type: - application/json date: - - Mon, 01 Mar 2021 03:41:28 GMT + - Thu, 20 May 2021 08:46:18 GMT expires: - '-1' pragma: @@ -868,7 +868,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11997' + - '11998' status: code: 200 message: OK @@ -880,9 +880,9 @@ interactions: Content-Length: - '0' User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.7; Windows 10) AZURECLI/2.20.0 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Mon, 01 Mar 2021 03:41:29 GMT + - Thu, 20 May 2021 08:46:19 GMT x-ms-version: - '2018-11-09' method: PUT @@ -894,11 +894,11 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 03:41:29 GMT + - Thu, 20 May 2021 08:46:19 GMT etag: - - '"0x8D8DC63E6BC330B"' + - '"0x8D91B6BBD6CF02D"' last-modified: - - Mon, 01 Mar 2021 03:41:30 GMT + - Thu, 20 May 2021 08:46:20 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -920,9 +920,9 @@ interactions: ParameterSetName: - -n -c --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:30 GMT + - Thu, 20 May 2021 08:46:20 GMT x-ms-version: - '2020-02-10' method: HEAD @@ -932,7 +932,7 @@ interactions: string: '' headers: date: - - Mon, 01 Mar 2021 03:41:31 GMT + - Thu, 20 May 2021 08:46:21 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -962,13 +962,13 @@ interactions: ParameterSetName: - -c -f -n --type --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-blob-content-length: - '1024' x-ms-blob-type: - PageBlob x-ms-date: - - Mon, 01 Mar 2021 03:41:31 GMT + - Thu, 20 May 2021 08:46:21 GMT x-ms-version: - '2020-02-10' method: PUT @@ -980,11 +980,11 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 03:41:32 GMT + - Thu, 20 May 2021 08:46:22 GMT etag: - - '"0x8D8DC63E821C16E"' + - '"0x8D91B6BBEFA5D9F"' last-modified: - - Mon, 01 Mar 2021 03:41:32 GMT + - Thu, 20 May 2021 08:46:22 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-request-server-encrypted: @@ -1008,9 +1008,9 @@ interactions: ParameterSetName: - -n -c --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:32 GMT + - Thu, 20 May 2021 08:46:23 GMT x-ms-version: - '2020-02-10' method: HEAD @@ -1026,11 +1026,11 @@ interactions: content-type: - application/octet-stream date: - - Mon, 01 Mar 2021 03:41:33 GMT + - Thu, 20 May 2021 08:46:23 GMT etag: - - '"0x8D8DC63E821C16E"' + - '"0x8D91B6BBEFA5D9F"' last-modified: - - Mon, 01 Mar 2021 03:41:32 GMT + - Thu, 20 May 2021 08:46:22 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-sequence-number: @@ -1038,7 +1038,7 @@ interactions: x-ms-blob-type: - PageBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:41:32 GMT + - Thu, 20 May 2021 08:46:22 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -1064,9 +1064,9 @@ interactions: ParameterSetName: - -c -o --num-results --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:34 GMT + - Thu, 20 May 2021 08:46:24 GMT x-ms-version: - '2020-02-10' method: GET @@ -1074,9 +1074,9 @@ interactions: response: body: string: "\uFEFF1blob000005Mon, - 01 Mar 2021 03:41:32 GMTMon, 01 Mar 2021 03:41:32 - GMT0x8D8DC63E821C16E1024application/octet-stream1blob000005Thu, + 20 May 2021 08:46:22 GMTThu, 20 May 2021 08:46:22 + GMT0x8D91B6BBEFA5D9F1024application/octet-stream0PageBlobunlockedavailabletrue" @@ -1084,7 +1084,7 @@ interactions: content-type: - application/xml date: - - Mon, 01 Mar 2021 03:41:34 GMT + - Thu, 20 May 2021 08:46:25 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -1108,9 +1108,9 @@ interactions: ParameterSetName: - -n -c --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:35 GMT + - Thu, 20 May 2021 08:46:25 GMT x-ms-version: - '2020-02-10' method: HEAD @@ -1126,11 +1126,11 @@ interactions: content-type: - application/octet-stream date: - - Mon, 01 Mar 2021 03:41:35 GMT + - Thu, 20 May 2021 08:46:26 GMT etag: - - '"0x8D8DC63E821C16E"' + - '"0x8D91B6BBEFA5D9F"' last-modified: - - Mon, 01 Mar 2021 03:41:32 GMT + - Thu, 20 May 2021 08:46:22 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-sequence-number: @@ -1138,7 +1138,7 @@ interactions: x-ms-blob-type: - PageBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:41:32 GMT + - Thu, 20 May 2021 08:46:22 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -1164,9 +1164,9 @@ interactions: ParameterSetName: - -n -c --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:36 GMT + - Thu, 20 May 2021 08:46:26 GMT x-ms-version: - '2020-02-10' method: GET @@ -1178,11 +1178,11 @@ interactions: content-type: - application/xml date: - - Mon, 01 Mar 2021 03:41:36 GMT + - Thu, 20 May 2021 08:46:26 GMT etag: - - '"0x8D8DC63E821C16E"' + - '"0x8D91B6BBEFA5D9F"' last-modified: - - Mon, 01 Mar 2021 03:41:32 GMT + - Thu, 20 May 2021 08:46:22 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -1200,9 +1200,9 @@ interactions: Connection: - keep-alive User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.7; Windows 10) AZURECLI/2.20.0 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Mon, 01 Mar 2021 03:41:37 GMT + - Thu, 20 May 2021 08:46:27 GMT x-ms-version: - '2018-11-09' method: HEAD @@ -1218,11 +1218,11 @@ interactions: content-type: - application/octet-stream date: - - Mon, 01 Mar 2021 03:41:37 GMT + - Thu, 20 May 2021 08:46:27 GMT etag: - - '"0x8D8DC63E821C16E"' + - '"0x8D91B6BBEFA5D9F"' last-modified: - - Mon, 01 Mar 2021 03:41:32 GMT + - Thu, 20 May 2021 08:46:22 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-sequence-number: @@ -1230,7 +1230,7 @@ interactions: x-ms-blob-type: - PageBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:41:32 GMT + - Thu, 20 May 2021 08:46:22 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -1250,11 +1250,11 @@ interactions: Content-Length: - '0' User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.7; Windows 10) AZURECLI/2.20.0 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-blob-content-type: - application/test-content x-ms-date: - - Mon, 01 Mar 2021 03:41:38 GMT + - Thu, 20 May 2021 08:46:28 GMT x-ms-version: - '2018-11-09' method: PUT @@ -1266,11 +1266,11 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 03:41:38 GMT + - Thu, 20 May 2021 08:46:28 GMT etag: - - '"0x8D8DC63EBF26790"' + - '"0x8D91B6BC3046564"' last-modified: - - Mon, 01 Mar 2021 03:41:39 GMT + - Thu, 20 May 2021 08:46:29 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-sequence-number: @@ -1294,9 +1294,9 @@ interactions: ParameterSetName: - -n -c --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:39 GMT + - Thu, 20 May 2021 08:46:30 GMT x-ms-version: - '2020-02-10' method: HEAD @@ -1312,11 +1312,11 @@ interactions: content-type: - application/test-content date: - - Mon, 01 Mar 2021 03:41:39 GMT + - Thu, 20 May 2021 08:46:30 GMT etag: - - '"0x8D8DC63EBF26790"' + - '"0x8D91B6BC3046564"' last-modified: - - Mon, 01 Mar 2021 03:41:39 GMT + - Thu, 20 May 2021 08:46:29 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-sequence-number: @@ -1324,7 +1324,7 @@ interactions: x-ms-blob-type: - PageBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:41:32 GMT + - Thu, 20 May 2021 08:46:22 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -1350,9 +1350,9 @@ interactions: ParameterSetName: - -n -c --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:40 GMT + - Thu, 20 May 2021 08:46:31 GMT x-ms-version: - '2020-02-10' method: GET @@ -1364,11 +1364,11 @@ interactions: content-type: - application/xml date: - - Mon, 01 Mar 2021 03:41:39 GMT + - Thu, 20 May 2021 08:46:31 GMT etag: - - '"0x8D8DC63EBF26790"' + - '"0x8D91B6BC3046564"' last-modified: - - Mon, 01 Mar 2021 03:41:39 GMT + - Thu, 20 May 2021 08:46:29 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -1386,9 +1386,9 @@ interactions: Connection: - keep-alive User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.7; Windows 10) AZURECLI/2.20.0 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Mon, 01 Mar 2021 03:41:40 GMT + - Thu, 20 May 2021 08:46:31 GMT x-ms-version: - '2018-11-09' method: HEAD @@ -1404,11 +1404,11 @@ interactions: content-type: - application/test-content date: - - Mon, 01 Mar 2021 03:41:41 GMT + - Thu, 20 May 2021 08:46:32 GMT etag: - - '"0x8D8DC63EBF26790"' + - '"0x8D91B6BC3046564"' last-modified: - - Mon, 01 Mar 2021 03:41:39 GMT + - Thu, 20 May 2021 08:46:29 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-sequence-number: @@ -1416,7 +1416,7 @@ interactions: x-ms-blob-type: - PageBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:41:32 GMT + - Thu, 20 May 2021 08:46:22 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -1436,11 +1436,11 @@ interactions: Content-Length: - '0' User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.7; Windows 10) AZURECLI/2.20.0 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-blob-content-type: - '' x-ms-date: - - Mon, 01 Mar 2021 03:41:41 GMT + - Thu, 20 May 2021 08:46:32 GMT x-ms-version: - '2018-11-09' method: PUT @@ -1452,11 +1452,11 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 03:41:42 GMT + - Thu, 20 May 2021 08:46:33 GMT etag: - - '"0x8D8DC63EE2D5657"' + - '"0x8D91B6BC55CA0F7"' last-modified: - - Mon, 01 Mar 2021 03:41:42 GMT + - Thu, 20 May 2021 08:46:33 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-sequence-number: @@ -1480,9 +1480,9 @@ interactions: ParameterSetName: - -n -c --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:43 GMT + - Thu, 20 May 2021 08:46:33 GMT x-ms-version: - '2020-02-10' method: HEAD @@ -1496,11 +1496,11 @@ interactions: content-length: - '1024' date: - - Mon, 01 Mar 2021 03:41:43 GMT + - Thu, 20 May 2021 08:46:34 GMT etag: - - '"0x8D8DC63EE2D5657"' + - '"0x8D91B6BC55CA0F7"' last-modified: - - Mon, 01 Mar 2021 03:41:42 GMT + - Thu, 20 May 2021 08:46:33 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-sequence-number: @@ -1508,7 +1508,7 @@ interactions: x-ms-blob-type: - PageBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:41:32 GMT + - Thu, 20 May 2021 08:46:22 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -1534,9 +1534,9 @@ interactions: ParameterSetName: - -n -c --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:44 GMT + - Thu, 20 May 2021 08:46:35 GMT x-ms-version: - '2020-02-10' method: GET @@ -1548,11 +1548,11 @@ interactions: content-type: - application/xml date: - - Mon, 01 Mar 2021 03:41:43 GMT + - Thu, 20 May 2021 08:46:34 GMT etag: - - '"0x8D8DC63EE2D5657"' + - '"0x8D91B6BC55CA0F7"' last-modified: - - Mon, 01 Mar 2021 03:41:42 GMT + - Thu, 20 May 2021 08:46:33 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -1578,9 +1578,9 @@ interactions: ParameterSetName: - --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:44 GMT + - Thu, 20 May 2021 08:46:35 GMT x-ms-version: - '2020-02-10' method: GET @@ -1593,7 +1593,7 @@ interactions: content-type: - application/xml date: - - Mon, 01 Mar 2021 03:41:45 GMT + - Thu, 20 May 2021 08:46:36 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -1617,9 +1617,9 @@ interactions: ParameterSetName: - -n -c --file --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:46 GMT + - Thu, 20 May 2021 08:46:36 GMT x-ms-range: - bytes=0-33554431 x-ms-version: @@ -1637,11 +1637,11 @@ interactions: content-range: - bytes 0-1023/1024 date: - - Mon, 01 Mar 2021 03:41:46 GMT + - Thu, 20 May 2021 08:46:37 GMT etag: - - '"0x8D8DC63EE2D5657"' + - '"0x8D91B6BC55CA0F7"' last-modified: - - Mon, 01 Mar 2021 03:41:42 GMT + - Thu, 20 May 2021 08:46:33 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-sequence-number: @@ -1649,7 +1649,7 @@ interactions: x-ms-blob-type: - PageBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:41:32 GMT + - Thu, 20 May 2021 08:46:22 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -1675,9 +1675,9 @@ interactions: ParameterSetName: - -n -c --file --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:47 GMT + - Thu, 20 May 2021 08:46:37 GMT x-ms-version: - '2020-02-10' method: GET @@ -1689,11 +1689,11 @@ interactions: content-type: - application/xml date: - - Mon, 01 Mar 2021 03:41:47 GMT + - Thu, 20 May 2021 08:46:38 GMT etag: - - '"0x8D8DC63EE2D5657"' + - '"0x8D91B6BC55CA0F7"' last-modified: - - Mon, 01 Mar 2021 03:41:42 GMT + - Thu, 20 May 2021 08:46:33 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -1719,9 +1719,9 @@ interactions: ParameterSetName: - -n -c --file --start-range --end-range --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:48 GMT + - Thu, 20 May 2021 08:46:39 GMT x-ms-range: - bytes=10-499 x-ms-version: @@ -1739,11 +1739,11 @@ interactions: content-range: - bytes 10-499/1024 date: - - Mon, 01 Mar 2021 03:41:49 GMT + - Thu, 20 May 2021 08:46:40 GMT etag: - - '"0x8D8DC63EE2D5657"' + - '"0x8D91B6BC55CA0F7"' last-modified: - - Mon, 01 Mar 2021 03:41:42 GMT + - Thu, 20 May 2021 08:46:33 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-sequence-number: @@ -1751,7 +1751,7 @@ interactions: x-ms-blob-type: - PageBlob x-ms-creation-time: - - Mon, 01 Mar 2021 03:41:32 GMT + - Thu, 20 May 2021 08:46:22 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -1777,9 +1777,9 @@ interactions: ParameterSetName: - -n -c --file --start-range --end-range --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 03:41:49 GMT + - Thu, 20 May 2021 08:46:40 GMT x-ms-version: - '2020-02-10' method: GET @@ -1791,11 +1791,11 @@ interactions: content-type: - application/xml date: - - Mon, 01 Mar 2021 03:41:50 GMT + - Thu, 20 May 2021 08:46:40 GMT etag: - - '"0x8D8DC63EE2D5657"' + - '"0x8D91B6BC55CA0F7"' last-modified: - - Mon, 01 Mar 2021 03:41:42 GMT + - Thu, 20 May 2021 08:46:33 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: diff --git a/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_blob_versioning.yaml b/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_blob_versioning.yaml index 86b1952dad3..edcca251200 100644 --- a/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_blob_versioning.yaml +++ b/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_blob_versioning.yaml @@ -13,7 +13,7 @@ interactions: ParameterSetName: - -n -g --enable-versioning User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Storage/storageAccounts/version000002/blobServices/default?api-version=2021-01-01 response: @@ -27,7 +27,7 @@ interactions: content-type: - application/json date: - - Mon, 01 Mar 2021 05:30:50 GMT + - Thu, 20 May 2021 08:44:50 GMT expires: - '-1' pragma: @@ -64,7 +64,7 @@ interactions: ParameterSetName: - -n -g --enable-versioning User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Storage/storageAccounts/version000002/blobServices/default?api-version=2021-01-01 response: @@ -78,7 +78,7 @@ interactions: content-type: - application/json date: - - Mon, 01 Mar 2021 05:30:51 GMT + - Thu, 20 May 2021 08:44:52 GMT expires: - '-1' pragma: @@ -94,7 +94,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1193' status: code: 200 message: OK @@ -114,21 +114,21 @@ interactions: ParameterSetName: - -n -g --query -o User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Storage/storageAccounts/version000002/listKeys?api-version=2021-01-01&$expand=kerb + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Storage/storageAccounts/version000002/listKeys?api-version=2021-04-01&$expand=kerb response: body: - string: '{"keys":[{"keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' + string: '{"keys":[{"creationTime":"2021-05-20T08:44:29.3709956Z","keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"creationTime":"2021-05-20T08:44:29.3709956Z","keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' headers: cache-control: - no-cache content-length: - - '288' + - '380' content-type: - application/json date: - - Mon, 01 Mar 2021 05:30:52 GMT + - Thu, 20 May 2021 08:44:52 GMT expires: - '-1' pragma: @@ -144,7 +144,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' + - '11998' status: code: 200 message: OK @@ -156,9 +156,9 @@ interactions: Content-Length: - '0' User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.7; Windows 10) AZURECLI/2.20.0 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Mon, 01 Mar 2021 05:30:53 GMT + - Thu, 20 May 2021 08:44:53 GMT x-ms-version: - '2018-11-09' method: PUT @@ -170,11 +170,11 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 05:30:56 GMT + - Thu, 20 May 2021 08:44:56 GMT etag: - - '"0x8D8DC733063D43A"' + - '"0x8D91B6B8BC4A473"' last-modified: - - Mon, 01 Mar 2021 05:30:56 GMT + - Thu, 20 May 2021 08:44:57 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -202,11 +202,11 @@ interactions: ParameterSetName: - -c -f -n --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-blob-type: - BlockBlob x-ms-date: - - Mon, 01 Mar 2021 05:30:56 GMT + - Thu, 20 May 2021 08:44:57 GMT x-ms-version: - '2020-02-10' method: PUT @@ -220,11 +220,11 @@ interactions: content-md5: - DzQ7CTESaiDxM9Z8KwGKOw== date: - - Mon, 01 Mar 2021 05:30:56 GMT + - Thu, 20 May 2021 08:44:58 GMT etag: - - '"0x8D8DC733139DB52"' + - '"0x8D91B6B8CAAFCBC"' last-modified: - - Mon, 01 Mar 2021 05:30:57 GMT + - Thu, 20 May 2021 08:44:58 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: @@ -234,7 +234,7 @@ interactions: x-ms-version: - '2020-02-10' x-ms-version-id: - - '2021-03-01T05:30:57.8150226Z' + - '2021-05-20T08:44:58.5102524Z' status: code: 201 message: Created @@ -252,9 +252,9 @@ interactions: ParameterSetName: - -c --include --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 05:30:58 GMT + - Thu, 20 May 2021 08:44:58 GMT x-ms-version: - '2020-02-10' method: GET @@ -262,9 +262,9 @@ interactions: response: body: string: "\uFEFF5000blob0000042021-03-01T05:30:57.8150226ZtrueMon, - 01 Mar 2021 05:30:57 GMTMon, 01 Mar 2021 05:30:57 - GMT0x8D8DC733139DB521024application/octet-stream5000blob0000042021-05-20T08:44:58.5102524ZtrueThu, + 20 May 2021 08:44:58 GMTThu, 20 May 2021 08:44:58 + GMT0x8D91B6B8CAAFCBC1024application/octet-streamDzQ7CTESaiDxM9Z8KwGKOw==BlockBlobHottrueunlockedavailabletrue" @@ -272,7 +272,7 @@ interactions: content-type: - application/xml date: - - Mon, 01 Mar 2021 05:30:58 GMT + - Thu, 20 May 2021 08:44:59 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -300,11 +300,11 @@ interactions: ParameterSetName: - -c -f -n --overwrite --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-blob-type: - BlockBlob x-ms-date: - - Mon, 01 Mar 2021 05:30:59 GMT + - Thu, 20 May 2021 08:45:00 GMT x-ms-version: - '2020-02-10' method: PUT @@ -318,11 +318,11 @@ interactions: content-md5: - yZp0xVU3GkM9Eh9VHWxjmA== date: - - Mon, 01 Mar 2021 05:31:00 GMT + - Thu, 20 May 2021 08:45:01 GMT etag: - - '"0x8D8DC7332DB8CFF"' + - '"0x8D91B6B8E7B043B"' last-modified: - - Mon, 01 Mar 2021 05:31:00 GMT + - Thu, 20 May 2021 08:45:01 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-content-crc64: @@ -332,7 +332,7 @@ interactions: x-ms-version: - '2020-02-10' x-ms-version-id: - - '2021-03-01T05:31:00.5534223Z' + - '2021-05-20T08:45:01.5533142Z' status: code: 201 message: Created @@ -350,13 +350,13 @@ interactions: ParameterSetName: - -c -n --version-id --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 05:31:00 GMT + - Thu, 20 May 2021 08:45:01 GMT x-ms-version: - '2020-02-10' method: HEAD - uri: https://version000002.blob.core.windows.net/con000003/blob000004?versionid=2021-03-01T05%3A30%3A57.8150226Z + uri: https://version000002.blob.core.windows.net/con000003/blob000004?versionid=2021-05-20T08%3A44%3A58.5102524Z response: body: string: '' @@ -370,11 +370,11 @@ interactions: content-type: - application/octet-stream date: - - Mon, 01 Mar 2021 05:31:01 GMT + - Thu, 20 May 2021 08:45:02 GMT etag: - - '"0x8D8DC733139DB52"' + - '"0x8D91B6B8CAAFCBC"' last-modified: - - Mon, 01 Mar 2021 05:30:57 GMT + - Thu, 20 May 2021 08:44:58 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-access-tier: @@ -384,13 +384,13 @@ interactions: x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Mon, 01 Mar 2021 05:30:57 GMT + - Thu, 20 May 2021 08:44:58 GMT x-ms-server-encrypted: - 'true' x-ms-version: - '2020-02-10' x-ms-version-id: - - '2021-03-01T05:30:57.8150226Z' + - '2021-05-20T08:44:58.5102524Z' status: code: 200 message: OK @@ -408,15 +408,15 @@ interactions: ParameterSetName: - -c -n --version-id -f --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 05:31:02 GMT + - Thu, 20 May 2021 08:45:03 GMT x-ms-range: - bytes=0-33554431 x-ms-version: - '2020-02-10' method: GET - uri: https://version000002.blob.core.windows.net/con000003/blob000004?versionid=2021-03-01T05%3A30%3A57.8150226Z + uri: https://version000002.blob.core.windows.net/con000003/blob000004?versionid=2021-05-20T08%3A44%3A58.5102524Z response: body: string: "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" @@ -430,11 +430,11 @@ interactions: content-type: - application/octet-stream date: - - Mon, 01 Mar 2021 05:31:02 GMT + - Thu, 20 May 2021 08:45:03 GMT etag: - - '"0x8D8DC733139DB52"' + - '"0x8D91B6B8CAAFCBC"' last-modified: - - Mon, 01 Mar 2021 05:30:57 GMT + - Thu, 20 May 2021 08:44:58 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-blob-content-md5: @@ -442,13 +442,13 @@ interactions: x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Mon, 01 Mar 2021 05:30:57 GMT + - Thu, 20 May 2021 08:44:58 GMT x-ms-server-encrypted: - 'true' x-ms-version: - '2020-02-10' x-ms-version-id: - - '2021-03-01T05:30:57.8150226Z' + - '2021-05-20T08:44:58.5102524Z' status: code: 206 message: Partial Content @@ -468,15 +468,15 @@ interactions: ParameterSetName: - -c -n --version-id --tier --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-access-tier: - Cool x-ms-date: - - Mon, 01 Mar 2021 05:31:03 GMT + - Thu, 20 May 2021 08:45:04 GMT x-ms-version: - '2020-02-10' method: PUT - uri: https://version000002.blob.core.windows.net/con000003/blob000004?versionid=2021-03-01T05%3A30%3A57.8150226Z&comp=tier + uri: https://version000002.blob.core.windows.net/con000003/blob000004?versionid=2021-05-20T08%3A44%3A58.5102524Z&comp=tier response: body: string: '' @@ -484,7 +484,7 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 05:31:03 GMT + - Thu, 20 May 2021 08:45:05 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -506,13 +506,13 @@ interactions: ParameterSetName: - -c -n --version-id --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 05:31:05 GMT + - Thu, 20 May 2021 08:45:06 GMT x-ms-version: - '2020-02-10' method: HEAD - uri: https://version000002.blob.core.windows.net/con000003/blob000004?versionid=2021-03-01T05%3A30%3A57.8150226Z + uri: https://version000002.blob.core.windows.net/con000003/blob000004?versionid=2021-05-20T08%3A44%3A58.5102524Z response: body: string: '' @@ -526,27 +526,27 @@ interactions: content-type: - application/octet-stream date: - - Mon, 01 Mar 2021 05:31:05 GMT + - Thu, 20 May 2021 08:45:07 GMT etag: - - '"0x8D8DC733139DB52"' + - '"0x8D91B6B8CAAFCBC"' last-modified: - - Mon, 01 Mar 2021 05:30:57 GMT + - Thu, 20 May 2021 08:44:58 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-access-tier: - Cool x-ms-access-tier-change-time: - - Mon, 01 Mar 2021 05:31:04 GMT + - Thu, 20 May 2021 08:45:06 GMT x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Mon, 01 Mar 2021 05:30:57 GMT + - Thu, 20 May 2021 08:44:58 GMT x-ms-server-encrypted: - 'true' x-ms-version: - '2020-02-10' x-ms-version-id: - - '2021-03-01T05:30:57.8150226Z' + - '2021-05-20T08:44:58.5102524Z' status: code: 200 message: OK @@ -564,9 +564,9 @@ interactions: ParameterSetName: - -c --include --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 05:31:06 GMT + - Thu, 20 May 2021 08:45:08 GMT x-ms-version: - '2020-02-10' method: GET @@ -574,15 +574,15 @@ interactions: response: body: string: "\uFEFF5000blob0000042021-03-01T05:30:57.8150226ZMon, - 01 Mar 2021 05:30:57 GMTMon, 01 Mar 2021 05:30:57 - GMT0x8D8DC733139DB521024application/octet-stream5000blob0000042021-05-20T08:44:58.5102524ZThu, + 20 May 2021 08:44:58 GMTThu, 20 May 2021 08:44:58 + GMT0x8D91B6B8CAAFCBC1024application/octet-streamDzQ7CTESaiDxM9Z8KwGKOw==BlockBlobCoolMon, - 01 Mar 2021 05:31:04 GMTtrueblob0000042021-03-01T05:31:00.5534223ZtrueMon, - 01 Mar 2021 05:31:00 GMTMon, 01 Mar 2021 05:31:00 - GMT0x8D8DC7332DB8CFF2048application/octet-streamBlockBlobCoolThu, + 20 May 2021 08:45:06 GMTtrueblob0000042021-05-20T08:45:01.5533142ZtrueThu, + 20 May 2021 08:45:01 GMTThu, 20 May 2021 08:45:01 + GMT0x8D91B6B8E7B043B2048application/octet-streamyZp0xVU3GkM9Eh9VHWxjmA==BlockBlobHottrueunlockedavailabletrue" @@ -590,7 +590,7 @@ interactions: content-type: - application/xml date: - - Mon, 01 Mar 2021 05:31:06 GMT + - Thu, 20 May 2021 08:45:08 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -616,13 +616,13 @@ interactions: ParameterSetName: - -c -n --version-id --account-name --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 05:31:08 GMT + - Thu, 20 May 2021 08:45:09 GMT x-ms-version: - '2020-02-10' method: DELETE - uri: https://version000002.blob.core.windows.net/con000003/blob000004?versionid=2021-03-01T05%3A30%3A57.8150226Z + uri: https://version000002.blob.core.windows.net/con000003/blob000004?versionid=2021-05-20T08%3A44%3A58.5102524Z response: body: string: '' @@ -630,7 +630,7 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 05:31:08 GMT + - Thu, 20 May 2021 08:45:10 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-delete-type-permanent: @@ -654,9 +654,9 @@ interactions: ParameterSetName: - -c --include --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 05:31:09 GMT + - Thu, 20 May 2021 08:45:11 GMT x-ms-version: - '2020-02-10' method: GET @@ -664,9 +664,9 @@ interactions: response: body: string: "\uFEFF5000blob0000042021-03-01T05:31:00.5534223ZtrueMon, - 01 Mar 2021 05:31:00 GMTMon, 01 Mar 2021 05:31:00 - GMT0x8D8DC7332DB8CFF2048application/octet-stream5000blob0000042021-05-20T08:45:01.5533142ZtrueThu, + 20 May 2021 08:45:01 GMTThu, 20 May 2021 08:45:01 + GMT0x8D91B6B8E7B043B2048application/octet-streamyZp0xVU3GkM9Eh9VHWxjmA==BlockBlobHottrueunlockedavailabletrue" @@ -674,7 +674,7 @@ interactions: content-type: - application/xml date: - - Mon, 01 Mar 2021 05:31:09 GMT + - Thu, 20 May 2021 08:45:11 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: diff --git a/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_container_list_scenarios.yaml b/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_container_list_scenarios.yaml index dba9f7b8aef..ffc9104e3b1 100644 --- a/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_container_list_scenarios.yaml +++ b/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_container_list_scenarios.yaml @@ -15,21 +15,21 @@ interactions: ParameterSetName: - -n -g --query -o User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2021-01-01&$expand=kerb + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2021-04-01&$expand=kerb response: body: - string: '{"keys":[{"keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' + string: '{"keys":[{"creationTime":"2021-05-20T08:44:39.7029389Z","keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"creationTime":"2021-05-20T08:44:39.7029389Z","keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' headers: cache-control: - no-cache content-length: - - '288' + - '380' content-type: - application/json date: - - Mon, 01 Mar 2021 05:30:48 GMT + - Thu, 20 May 2021 08:45:01 GMT expires: - '-1' pragma: @@ -57,9 +57,9 @@ interactions: Content-Length: - '0' User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.7; Windows 10) AZURECLI/2.20.0 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Mon, 01 Mar 2021 05:30:49 GMT + - Thu, 20 May 2021 08:45:01 GMT x-ms-version: - '2018-11-09' method: PUT @@ -71,11 +71,11 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 05:30:51 GMT + - Thu, 20 May 2021 08:45:03 GMT etag: - - '"0x8D8DC732E2819CB"' + - '"0x8D91B6B8F753F05"' last-modified: - - Mon, 01 Mar 2021 05:30:52 GMT + - Thu, 20 May 2021 08:45:03 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -91,9 +91,9 @@ interactions: Content-Length: - '0' User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.7; Windows 10) AZURECLI/2.20.0 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Mon, 01 Mar 2021 05:30:52 GMT + - Thu, 20 May 2021 08:45:03 GMT x-ms-version: - '2018-11-09' method: PUT @@ -105,11 +105,11 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 05:30:53 GMT + - Thu, 20 May 2021 08:45:03 GMT etag: - - '"0x8D8DC732EF7EFA2"' + - '"0x8D91B6B90438B2F"' last-modified: - - Mon, 01 Mar 2021 05:30:54 GMT + - Thu, 20 May 2021 08:45:04 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -131,7 +131,7 @@ interactions: ParameterSetName: - -n -g --container-delete-retention-days --enable-container-delete-retention User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2021-01-01 response: @@ -145,7 +145,7 @@ interactions: content-type: - application/json date: - - Mon, 01 Mar 2021 05:30:54 GMT + - Thu, 20 May 2021 08:45:05 GMT expires: - '-1' pragma: @@ -182,12 +182,12 @@ interactions: ParameterSetName: - -n -g --container-delete-retention-days --enable-container-delete-retention User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2021-01-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices","properties":{"containerDeleteRetentionPolicy":{"enabled":true,"days":7},"cors":{"corsRules":[]},"deleteRetentionPolicy":{"enabled":false}}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices","properties":{"cors":{"corsRules":[]},"deleteRetentionPolicy":{"enabled":false},"containerDeleteRetentionPolicy":{"enabled":true,"days":7}}}' headers: cache-control: - no-cache @@ -196,7 +196,7 @@ interactions: content-type: - application/json date: - - Mon, 01 Mar 2021 05:30:55 GMT + - Thu, 20 May 2021 08:45:06 GMT expires: - '-1' pragma: @@ -212,7 +212,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1195' status: code: 200 message: OK @@ -230,9 +230,9 @@ interactions: ParameterSetName: - --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 05:30:56 GMT + - Thu, 20 May 2021 08:45:07 GMT x-ms-version: - '2020-02-10' method: GET @@ -240,15 +240,15 @@ interactions: response: body: string: "\uFEFF5000con1000003Mon, - 01 Mar 2021 05:30:52 GMT\"0x8D8DC732E2819CB\"unlockedavailable$account-encryption-keyfalsefalsefalsecon2000004Mon, - 01 Mar 2021 05:30:54 GMT\"0x8D8DC732EF7EFA2\"unlockedavailable$account-encryption-keyfalsefalsefalse5000con1000003Thu, + 20 May 2021 08:45:03 GMT\"0x8D91B6B8F753F05\"unlockedavailable$account-encryption-keyfalsefalsefalsecon2000004Thu, + 20 May 2021 08:45:04 GMT\"0x8D91B6B90438B2F\"unlockedavailable$account-encryption-keyfalsefalsefalse" headers: content-type: - application/xml date: - - Mon, 01 Mar 2021 05:30:57 GMT + - Thu, 20 May 2021 08:45:08 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -266,9 +266,9 @@ interactions: Content-Length: - '0' User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.7; Windows 10) AZURECLI/2.20.0 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Mon, 01 Mar 2021 05:30:57 GMT + - Thu, 20 May 2021 08:45:08 GMT x-ms-meta-test: - '1' x-ms-version: @@ -282,11 +282,11 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 05:30:57 GMT + - Thu, 20 May 2021 08:45:09 GMT etag: - - '"0x8D8DC7331A795CA"' + - '"0x8D91B6B93A21465"' last-modified: - - Mon, 01 Mar 2021 05:30:58 GMT + - Thu, 20 May 2021 08:45:10 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -300,9 +300,9 @@ interactions: Connection: - keep-alive User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.7; Windows 10) AZURECLI/2.20.0 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Mon, 01 Mar 2021 05:30:58 GMT + - Thu, 20 May 2021 08:45:10 GMT x-ms-version: - '2018-11-09' method: GET @@ -314,11 +314,11 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 05:30:59 GMT + - Thu, 20 May 2021 08:45:11 GMT etag: - - '"0x8D8DC7331A795CA"' + - '"0x8D91B6B93A21465"' last-modified: - - Mon, 01 Mar 2021 05:30:58 GMT + - Thu, 20 May 2021 08:45:10 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-meta-test: @@ -342,9 +342,9 @@ interactions: ParameterSetName: - --include-metadata --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 05:31:00 GMT + - Thu, 20 May 2021 08:45:12 GMT x-ms-version: - '2020-02-10' method: GET @@ -352,15 +352,15 @@ interactions: response: body: string: "\uFEFF5000con1000003Mon, - 01 Mar 2021 05:30:58 GMT\"0x8D8DC7331A795CA\"unlockedavailable$account-encryption-keyfalsefalsefalse1con2000004Mon, - 01 Mar 2021 05:30:54 GMT\"0x8D8DC732EF7EFA2\"unlockedavailable$account-encryption-keyfalsefalsefalse5000con1000003Thu, + 20 May 2021 08:45:10 GMT\"0x8D91B6B93A21465\"unlockedavailable$account-encryption-keyfalsefalsefalse1con2000004Thu, + 20 May 2021 08:45:04 GMT\"0x8D91B6B90438B2F\"unlockedavailable$account-encryption-keyfalsefalsefalse" headers: content-type: - application/xml date: - - Mon, 01 Mar 2021 05:31:00 GMT + - Thu, 20 May 2021 08:45:12 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -384,9 +384,9 @@ interactions: ParameterSetName: - --num-results --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 05:31:01 GMT + - Thu, 20 May 2021 08:45:13 GMT x-ms-version: - '2020-02-10' method: GET @@ -394,13 +394,13 @@ interactions: response: body: string: "\uFEFF1con1000003Mon, - 01 Mar 2021 05:30:58 GMT\"0x8D8DC7331A795CA\"unlockedavailable$account-encryption-keyfalsefalsefalse/clitest000002/con2000004" + ServiceEndpoint=\"https://clitest000002.blob.core.windows.net/\">1con1000003Thu, + 20 May 2021 08:45:10 GMT\"0x8D91B6B93A21465\"unlockedavailable$account-encryption-keyfalsefalsefalse/clitest000002/con2000004" headers: content-type: - application/xml date: - - Mon, 01 Mar 2021 05:31:02 GMT + - Thu, 20 May 2021 08:45:14 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -424,9 +424,9 @@ interactions: ParameterSetName: - --num-results --show-next-marker --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 05:31:02 GMT + - Thu, 20 May 2021 08:45:15 GMT x-ms-version: - '2020-02-10' method: GET @@ -434,13 +434,13 @@ interactions: response: body: string: "\uFEFF1con1000003Mon, - 01 Mar 2021 05:30:58 GMT\"0x8D8DC7331A795CA\"unlockedavailable$account-encryption-keyfalsefalsefalse/clitest000002/con2000004" + ServiceEndpoint=\"https://clitest000002.blob.core.windows.net/\">1con1000003Thu, + 20 May 2021 08:45:10 GMT\"0x8D91B6B93A21465\"unlockedavailable$account-encryption-keyfalsefalsefalse/clitest000002/con2000004" headers: content-type: - application/xml date: - - Mon, 01 Mar 2021 05:31:03 GMT + - Thu, 20 May 2021 08:45:15 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -464,9 +464,9 @@ interactions: ParameterSetName: - --marker --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 05:31:04 GMT + - Thu, 20 May 2021 08:45:16 GMT x-ms-version: - '2020-02-10' method: GET @@ -474,14 +474,14 @@ interactions: response: body: string: "\uFEFF/clitest000002/con20000045000con2000004Mon, - 01 Mar 2021 05:30:54 GMT\"0x8D8DC732EF7EFA2\"unlockedavailable$account-encryption-keyfalsefalsefalse/clitest000002/con20000045000con2000004Thu, + 20 May 2021 08:45:04 GMT\"0x8D91B6B90438B2F\"unlockedavailable$account-encryption-keyfalsefalsefalse" headers: content-type: - application/xml date: - - Mon, 01 Mar 2021 05:31:04 GMT + - Thu, 20 May 2021 08:45:17 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -505,9 +505,9 @@ interactions: ParameterSetName: - --prefix --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 05:31:05 GMT + - Thu, 20 May 2021 08:45:17 GMT x-ms-version: - '2020-02-10' method: GET @@ -515,14 +515,14 @@ interactions: response: body: string: "\uFEFFcon15000con1000003Mon, - 01 Mar 2021 05:30:58 GMT\"0x8D8DC7331A795CA\"unlockedavailable$account-encryption-keyfalsefalsefalsecon15000con1000003Thu, + 20 May 2021 08:45:10 GMT\"0x8D91B6B93A21465\"unlockedavailable$account-encryption-keyfalsefalsefalse" headers: content-type: - application/xml date: - - Mon, 01 Mar 2021 05:31:05 GMT + - Thu, 20 May 2021 08:45:18 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -540,9 +540,9 @@ interactions: Content-Length: - '0' User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.7; Windows 10) AZURECLI/2.20.0 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Mon, 01 Mar 2021 05:31:07 GMT + - Thu, 20 May 2021 08:45:19 GMT x-ms-version: - '2018-11-09' method: DELETE @@ -554,7 +554,7 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 05:31:07 GMT + - Thu, 20 May 2021 08:45:19 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -576,9 +576,9 @@ interactions: ParameterSetName: - --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 05:31:08 GMT + - Thu, 20 May 2021 08:45:20 GMT x-ms-version: - '2020-02-10' method: GET @@ -586,14 +586,14 @@ interactions: response: body: string: "\uFEFF5000con1000003Mon, - 01 Mar 2021 05:30:58 GMT\"0x8D8DC7331A795CA\"unlockedavailable$account-encryption-keyfalsefalsefalse5000con1000003Thu, + 20 May 2021 08:45:10 GMT\"0x8D91B6B93A21465\"unlockedavailable$account-encryption-keyfalsefalsefalse" headers: content-type: - application/xml date: - - Mon, 01 Mar 2021 05:31:08 GMT + - Thu, 20 May 2021 08:45:21 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -617,9 +617,9 @@ interactions: ParameterSetName: - --include-deleted --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 05:31:09 GMT + - Thu, 20 May 2021 08:45:22 GMT x-ms-version: - '2020-02-10' method: GET @@ -627,16 +627,16 @@ interactions: response: body: string: "\uFEFF5000con1000003Mon, - 01 Mar 2021 05:30:58 GMT\"0x8D8DC7331A795CA\"unlockedavailable$account-encryption-keyfalsefalsefalsecon2000004true01D70E5C0C81436BMon, - 01 Mar 2021 05:30:54 GMT\"0x8D8DC732EF7EFA2\"lockedleasedfixed$account-encryption-keyfalsefalsefalseMon, - 01 Mar 2021 05:31:08 GMT75000con1000003Thu, + 20 May 2021 08:45:10 GMT\"0x8D91B6B93A21465\"unlockedavailable$account-encryption-keyfalsefalsefalsecon2000004true01D74D546DCD2033Thu, + 20 May 2021 08:45:04 GMT\"0x8D91B6B90438B2F\"lockedleasedfixed$account-encryption-keyfalsefalsefalseThu, + 20 May 2021 08:45:20 GMT7" headers: content-type: - application/xml date: - - Mon, 01 Mar 2021 05:31:11 GMT + - Thu, 20 May 2021 08:45:23 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: diff --git a/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_container_soft_delete_oauth.yaml b/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_container_soft_delete_oauth.yaml index 87c2674af5d..6c9de5266ce 100644 --- a/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_container_soft_delete_oauth.yaml +++ b/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_container_soft_delete_oauth.yaml @@ -15,21 +15,21 @@ interactions: ParameterSetName: - -n -g --query -o User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2021-01-01&$expand=kerb + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2021-04-01&$expand=kerb response: body: - string: '{"keys":[{"keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' + string: '{"keys":[{"creationTime":"2021-05-20T08:46:57.7625585Z","keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"creationTime":"2021-05-20T08:46:57.7625585Z","keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' headers: cache-control: - no-cache content-length: - - '288' + - '380' content-type: - application/json date: - - Mon, 01 Mar 2021 05:31:00 GMT + - Thu, 20 May 2021 08:47:19 GMT expires: - '-1' pragma: @@ -45,7 +45,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' + - '11998' status: code: 200 message: OK @@ -57,9 +57,9 @@ interactions: Content-Length: - '0' User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.7; Windows 10) AZURECLI/2.20.0 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Mon, 01 Mar 2021 05:31:01 GMT + - Thu, 20 May 2021 08:47:20 GMT x-ms-version: - '2018-11-09' method: PUT @@ -71,11 +71,11 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 05:31:03 GMT + - Thu, 20 May 2021 08:47:23 GMT etag: - - '"0x8D8DC7334EFB31A"' + - '"0x8D91B6BE364970A"' last-modified: - - Mon, 01 Mar 2021 05:31:04 GMT + - Thu, 20 May 2021 08:47:24 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -97,7 +97,7 @@ interactions: ParameterSetName: - -n -g --container-delete-retention-days --enable-container-delete-retention User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2021-01-01 response: @@ -111,7 +111,7 @@ interactions: content-type: - application/json date: - - Mon, 01 Mar 2021 05:31:04 GMT + - Thu, 20 May 2021 08:47:24 GMT expires: - '-1' pragma: @@ -148,12 +148,12 @@ interactions: ParameterSetName: - -n -g --container-delete-retention-days --enable-container-delete-retention User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2021-01-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices","properties":{"containerDeleteRetentionPolicy":{"enabled":true,"days":7},"cors":{"corsRules":[]},"deleteRetentionPolicy":{"enabled":false}}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices","properties":{"cors":{"corsRules":[]},"deleteRetentionPolicy":{"enabled":false},"containerDeleteRetentionPolicy":{"enabled":true,"days":7}}}' headers: cache-control: - no-cache @@ -162,7 +162,7 @@ interactions: content-type: - application/json date: - - Mon, 01 Mar 2021 05:31:05 GMT + - Thu, 20 May 2021 08:47:26 GMT expires: - '-1' pragma: @@ -178,7 +178,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1195' status: code: 200 message: OK @@ -196,9 +196,9 @@ interactions: ParameterSetName: - --account-name --auth-mode User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 05:31:05 GMT + - Thu, 20 May 2021 08:47:27 GMT x-ms-version: - '2020-02-10' method: GET @@ -206,14 +206,14 @@ interactions: response: body: string: "\uFEFF5000con1000003Mon, - 01 Mar 2021 05:31:04 GMT\"0x8D8DC7334EFB31A\"unlockedavailable$account-encryption-keyfalsefalsefalse5000con1000003Thu, + 20 May 2021 08:47:24 GMT\"0x8D91B6BE364970A\"unlockedavailable$account-encryption-keyfalsefalsefalse" headers: content-type: - application/xml date: - - Mon, 01 Mar 2021 05:31:09 GMT + - Thu, 20 May 2021 08:47:28 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -231,9 +231,9 @@ interactions: Content-Length: - '0' User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.7; Windows 10) AZURECLI/2.20.0 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Mon, 01 Mar 2021 05:31:09 GMT + - Thu, 20 May 2021 08:47:29 GMT x-ms-version: - '2018-11-09' method: DELETE @@ -245,7 +245,7 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 05:31:10 GMT + - Thu, 20 May 2021 08:47:29 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -267,9 +267,9 @@ interactions: ParameterSetName: - --account-name --auth-mode User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 05:31:11 GMT + - Thu, 20 May 2021 08:47:31 GMT x-ms-version: - '2020-02-10' method: GET @@ -283,7 +283,7 @@ interactions: content-type: - application/xml date: - - Mon, 01 Mar 2021 05:31:11 GMT + - Thu, 20 May 2021 08:47:31 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -307,9 +307,9 @@ interactions: ParameterSetName: - --include-deleted --account-name --auth-mode User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 05:31:12 GMT + - Thu, 20 May 2021 08:47:32 GMT x-ms-version: - '2020-02-10' method: GET @@ -317,15 +317,15 @@ interactions: response: body: string: "\uFEFF5000con1000003true01D70E5C127979A7Mon, - 01 Mar 2021 05:31:04 GMT\"0x8D8DC7334EFB31A\"lockedleasedfixed$account-encryption-keyfalsefalsefalseMon, - 01 Mar 2021 05:31:10 GMT75000con1000003true01D74D54C0EDDDB6Thu, + 20 May 2021 08:47:24 GMT\"0x8D91B6BE364970A\"lockedleasedfixed$account-encryption-keyfalsefalsefalseThu, + 20 May 2021 08:47:30 GMT7" headers: content-type: - application/xml date: - - Mon, 01 Mar 2021 05:31:12 GMT + - Thu, 20 May 2021 08:47:33 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -349,9 +349,9 @@ interactions: ParameterSetName: - --include-deleted --query -o --account-name --auth-mode User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 05:31:44 GMT + - Thu, 20 May 2021 08:48:04 GMT x-ms-version: - '2020-02-10' method: GET @@ -359,15 +359,15 @@ interactions: response: body: string: "\uFEFF5000con1000003true01D70E5C127979A7Mon, - 01 Mar 2021 05:31:04 GMT\"0x8D8DC7334EFB31A\"unlockedexpired$account-encryption-keyfalsefalsefalseMon, - 01 Mar 2021 05:31:10 GMT75000con1000003true01D74D54C0EDDDB6Thu, + 20 May 2021 08:47:24 GMT\"0x8D91B6BE364970A\"unlockedexpired$account-encryption-keyfalsefalsefalseThu, + 20 May 2021 08:47:30 GMT7" headers: content-type: - application/xml date: - - Mon, 01 Mar 2021 05:31:44 GMT + - Thu, 20 May 2021 08:48:05 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -393,13 +393,13 @@ interactions: ParameterSetName: - -n --deleted-version --account-name --auth-mode User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 05:31:45 GMT + - Thu, 20 May 2021 08:48:06 GMT x-ms-deleted-container-name: - - con1c52dzmprjceqak5exok7 + - con1fkcdavxnuhngif633hod x-ms-deleted-container-version: - - 01D70E5C127979A7 + - 01D74D54C0EDDDB6 x-ms-version: - '2020-02-10' method: PUT @@ -411,7 +411,7 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 05:31:46 GMT + - Thu, 20 May 2021 08:48:07 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -433,9 +433,9 @@ interactions: ParameterSetName: - --account-name --auth-mode User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 05:31:46 GMT + - Thu, 20 May 2021 08:48:07 GMT x-ms-version: - '2020-02-10' method: GET @@ -443,14 +443,14 @@ interactions: response: body: string: "\uFEFF5000con1000003Mon, - 01 Mar 2021 05:31:46 GMT\"0x8D8DC734E5A661A\"unlockedavailable$account-encryption-keyfalsefalsefalse5000con1000003Thu, + 20 May 2021 08:48:07 GMT\"0x8D91B6BFD512FB1\"unlockedavailable$account-encryption-keyfalsefalsefalse" headers: content-type: - application/xml date: - - Mon, 01 Mar 2021 05:31:48 GMT + - Thu, 20 May 2021 08:48:08 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -474,9 +474,9 @@ interactions: ParameterSetName: - --include-deleted --account-name --auth-mode User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 05:31:48 GMT + - Thu, 20 May 2021 08:48:09 GMT x-ms-version: - '2020-02-10' method: GET @@ -484,14 +484,14 @@ interactions: response: body: string: "\uFEFF5000con1000003Mon, - 01 Mar 2021 05:31:46 GMT\"0x8D8DC734E5A661A\"unlockedavailable$account-encryption-keyfalsefalsefalse5000con1000003Thu, + 20 May 2021 08:48:07 GMT\"0x8D91B6BFD512FB1\"unlockedavailable$account-encryption-keyfalsefalsefalse" headers: content-type: - application/xml date: - - Mon, 01 Mar 2021 05:31:48 GMT + - Thu, 20 May 2021 08:48:10 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: diff --git a/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_container_soft_delete_scenarios.yaml b/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_container_soft_delete_scenarios.yaml index 03bd03f7505..1c5a832a269 100644 --- a/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_container_soft_delete_scenarios.yaml +++ b/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/recordings/test_storage_container_soft_delete_scenarios.yaml @@ -15,21 +15,21 @@ interactions: ParameterSetName: - -n -g --query -o User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2021-01-01&$expand=kerb + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2021-04-01&$expand=kerb response: body: - string: '{"keys":[{"keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' + string: '{"keys":[{"creationTime":"2021-05-20T08:44:58.0686243Z","keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"creationTime":"2021-05-20T08:44:58.0686243Z","keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' headers: cache-control: - no-cache content-length: - - '288' + - '380' content-type: - application/json date: - - Mon, 01 Mar 2021 05:30:47 GMT + - Thu, 20 May 2021 08:45:22 GMT expires: - '-1' pragma: @@ -45,7 +45,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' + - '11995' status: code: 200 message: OK @@ -57,9 +57,9 @@ interactions: Content-Length: - '0' User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.7; Windows 10) AZURECLI/2.20.0 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Mon, 01 Mar 2021 05:30:48 GMT + - Thu, 20 May 2021 08:45:22 GMT x-ms-version: - '2018-11-09' method: PUT @@ -71,11 +71,11 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 05:30:50 GMT + - Thu, 20 May 2021 08:45:23 GMT etag: - - '"0x8D8DC732D847A52"' + - '"0x8D91B6B9BFB611B"' last-modified: - - Mon, 01 Mar 2021 05:30:51 GMT + - Thu, 20 May 2021 08:45:24 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -97,7 +97,7 @@ interactions: ParameterSetName: - -n -g --container-delete-retention-days --enable-container-delete-retention User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2021-01-01 response: @@ -111,7 +111,7 @@ interactions: content-type: - application/json date: - - Mon, 01 Mar 2021 05:30:52 GMT + - Thu, 20 May 2021 08:45:25 GMT expires: - '-1' pragma: @@ -148,12 +148,12 @@ interactions: ParameterSetName: - -n -g --container-delete-retention-days --enable-container-delete-retention User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/17.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2021-01-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices","properties":{"containerDeleteRetentionPolicy":{"enabled":true,"days":7},"cors":{"corsRules":[]},"deleteRetentionPolicy":{"enabled":false}}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices","properties":{"cors":{"corsRules":[]},"deleteRetentionPolicy":{"enabled":false},"containerDeleteRetentionPolicy":{"enabled":true,"days":7}}}' headers: cache-control: - no-cache @@ -162,7 +162,7 @@ interactions: content-type: - application/json date: - - Mon, 01 Mar 2021 05:30:53 GMT + - Thu, 20 May 2021 08:45:27 GMT expires: - '-1' pragma: @@ -178,7 +178,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1197' status: code: 200 message: OK @@ -196,9 +196,9 @@ interactions: ParameterSetName: - --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 05:30:54 GMT + - Thu, 20 May 2021 08:45:27 GMT x-ms-version: - '2020-02-10' method: GET @@ -206,14 +206,14 @@ interactions: response: body: string: "\uFEFF5000con1000003Mon, - 01 Mar 2021 05:30:51 GMT\"0x8D8DC732D847A52\"unlockedavailable$account-encryption-keyfalsefalsefalse5000con1000003Thu, + 20 May 2021 08:45:24 GMT\"0x8D91B6B9BFB611B\"unlockedavailable$account-encryption-keyfalsefalsefalse" headers: content-type: - application/xml date: - - Mon, 01 Mar 2021 05:30:55 GMT + - Thu, 20 May 2021 08:45:28 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -231,9 +231,9 @@ interactions: Content-Length: - '0' User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.7; Windows 10) AZURECLI/2.20.0 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Mon, 01 Mar 2021 05:30:55 GMT + - Thu, 20 May 2021 08:45:28 GMT x-ms-version: - '2018-11-09' method: DELETE @@ -245,7 +245,7 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 05:30:55 GMT + - Thu, 20 May 2021 08:45:29 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -267,9 +267,9 @@ interactions: ParameterSetName: - --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 05:30:56 GMT + - Thu, 20 May 2021 08:45:30 GMT x-ms-version: - '2020-02-10' method: GET @@ -283,7 +283,7 @@ interactions: content-type: - application/xml date: - - Mon, 01 Mar 2021 05:30:57 GMT + - Thu, 20 May 2021 08:45:31 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -307,9 +307,9 @@ interactions: ParameterSetName: - --include-deleted --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 05:30:58 GMT + - Thu, 20 May 2021 08:45:32 GMT x-ms-version: - '2020-02-10' method: GET @@ -317,15 +317,15 @@ interactions: response: body: string: "\uFEFF5000con1000003true01D70E5C0B0DC56CMon, - 01 Mar 2021 05:30:51 GMT\"0x8D8DC732D847A52\"lockedleasedfixed$account-encryption-keyfalsefalsefalseMon, - 01 Mar 2021 05:30:56 GMT75000con1000003true01D74D5479850DEEThu, + 20 May 2021 08:45:24 GMT\"0x8D91B6B9BFB611B\"lockedleasedfixed$account-encryption-keyfalsefalsefalseThu, + 20 May 2021 08:45:30 GMT7" headers: content-type: - application/xml date: - - Mon, 01 Mar 2021 05:30:58 GMT + - Thu, 20 May 2021 08:45:32 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -349,9 +349,9 @@ interactions: ParameterSetName: - --include-deleted --query -o --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 05:31:29 GMT + - Thu, 20 May 2021 08:46:03 GMT x-ms-version: - '2020-02-10' method: GET @@ -359,15 +359,15 @@ interactions: response: body: string: "\uFEFF5000con1000003true01D70E5C0B0DC56CMon, - 01 Mar 2021 05:30:51 GMT\"0x8D8DC732D847A52\"unlockedexpired$account-encryption-keyfalsefalsefalseMon, - 01 Mar 2021 05:30:56 GMT75000con1000003true01D74D5479850DEEThu, + 20 May 2021 08:45:24 GMT\"0x8D91B6B9BFB611B\"unlockedexpired$account-encryption-keyfalsefalsefalseThu, + 20 May 2021 08:45:30 GMT7" headers: content-type: - application/xml date: - - Mon, 01 Mar 2021 05:31:30 GMT + - Thu, 20 May 2021 08:46:04 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -393,13 +393,13 @@ interactions: ParameterSetName: - -n --deleted-version --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 05:31:31 GMT + - Thu, 20 May 2021 08:46:05 GMT x-ms-deleted-container-name: - - con1eqscauswtf4hooqbt3xr + - con1clr24uxuu352awxhxjhh x-ms-deleted-container-version: - - 01D70E5C0B0DC56C + - 01D74D5479850DEE x-ms-version: - '2020-02-10' method: PUT @@ -411,7 +411,7 @@ interactions: content-length: - '0' date: - - Mon, 01 Mar 2021 05:31:31 GMT + - Thu, 20 May 2021 08:46:06 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -433,9 +433,9 @@ interactions: ParameterSetName: - --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 05:31:32 GMT + - Thu, 20 May 2021 08:46:07 GMT x-ms-version: - '2020-02-10' method: GET @@ -443,14 +443,14 @@ interactions: response: body: string: "\uFEFF5000con1000003Mon, - 01 Mar 2021 05:31:32 GMT\"0x8D8DC7345C9894B\"unlockedavailable$account-encryption-keyfalsefalsefalse5000con1000003Thu, + 20 May 2021 08:46:07 GMT\"0x8D91B6BB5DE495B\"unlockedavailable$account-encryption-keyfalsefalsefalse" headers: content-type: - application/xml date: - - Mon, 01 Mar 2021 05:31:33 GMT + - Thu, 20 May 2021 08:46:08 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -474,9 +474,9 @@ interactions: ParameterSetName: - --include-deleted --account-name --account-key User-Agent: - - AZURECLI/2.20.0 azsdk-python-storage-blob/12.6.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Mon, 01 Mar 2021 05:31:33 GMT + - Thu, 20 May 2021 08:46:09 GMT x-ms-version: - '2020-02-10' method: GET @@ -484,14 +484,14 @@ interactions: response: body: string: "\uFEFF5000con1000003Mon, - 01 Mar 2021 05:31:32 GMT\"0x8D8DC7345C9894B\"unlockedavailable$account-encryption-keyfalsefalsefalse5000con1000003Thu, + 20 May 2021 08:46:07 GMT\"0x8D91B6BB5DE495B\"unlockedavailable$account-encryption-keyfalsefalsefalse" headers: content-type: - application/xml date: - - Mon, 01 Mar 2021 05:31:34 GMT + - Thu, 20 May 2021 08:46:09 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: diff --git a/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/test_storage_blob_scenarios.py b/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/test_storage_blob_scenarios.py index e0df3199b0a..4c88b7dde65 100644 --- a/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/test_storage_blob_scenarios.py +++ b/src/storage-blob-preview/azext_storage_blob_preview/tests/latest/test_storage_blob_scenarios.py @@ -178,6 +178,7 @@ def test_storage_blob_soft_delete(self, resource_group, storage_account): account_info, container).get_output_in_json()), 0) # undelete and check + time.sleep(60) self.storage_cmd('storage blob undelete -c {} -n {}', account_info, container, blob_name) self.assertEqual(len(self.storage_cmd('storage blob list -c {}', account_info, container).get_output_in_json()), 1) From 53a0dc335d88b06e4307bf557e824c1c739d3618 Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Fri, 21 May 2021 10:12:05 +0800 Subject: [PATCH 25/83] [Release] Update index.json for extension [ redisenterprise ] (#3269) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=844262 Last commit: https://github.com/Azure/azure-cli-extensions/commit/f8b4a8102a952575b6aab5ee51f557360efd3862 --- src/index.json | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/src/index.json b/src/index.json index 9a494cbf542..e0c2c73654f 100644 --- a/src/index.json +++ b/src/index.json @@ -13728,6 +13728,49 @@ "version": "0.1.0" }, "sha256Digest": "22b1965e5a148ce4eb2d45bf48880caa21becb165810b1b93658886cd5e39515" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/redisenterprise-0.1.1-py3-none-any.whl", + "filename": "redisenterprise-0.1.1-py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.15.0", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/redisenterprise" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "redisenterprise", + "summary": "Microsoft Azure Command-Line Tools RedisEnterpriseManagementClient Extension", + "version": "0.1.1" + }, + "sha256Digest": "f0662c4091e8c4e87069f93db23b5f057f2862f78d038a5f709f16f8d37d524f" } ], "resource-graph": [ From c5060d77c57c3a11b2db2b3a7b101db16674d075 Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Fri, 21 May 2021 10:34:15 +0800 Subject: [PATCH 26/83] [Release] Update index.json for extension [ hpc-cache ] (#3401) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=902744 Last commit: https://github.com/Azure/azure-cli-extensions/commit/bfd2ba660db1d9fda2257f1c274a25d1b698797c --- src/index.json | 44 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 43 insertions(+), 1 deletion(-) diff --git a/src/index.json b/src/index.json index e0c2c73654f..3a5b03dbc3c 100644 --- a/src/index.json +++ b/src/index.json @@ -10403,6 +10403,48 @@ "version": "0.1.4" }, "sha256Digest": "2babc06382b75b3afa92d61a6e66a6d7f01878168e687ca62903c16bed782285" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/hpc_cache-0.1.5-py2.py3-none-any.whl", + "filename": "hpc_cache-0.1.5-py2.py3-none-any.whl", + "metadata": { + "azext.minCliCoreVersion": "2.3.0", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "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": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/hpc-cache" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "hpc-cache", + "summary": "Microsoft Azure Command-Line Tools StorageCache Extension", + "version": "0.1.5" + }, + "sha256Digest": "852cb417aadf0ad07e3c51413858c413bf71ea6cb49ba58289d9572f9a350507" } ], "image-copy-extension": [ @@ -18207,4 +18249,4 @@ ] }, "formatVersion": "1" -} +} \ No newline at end of file From 7a78f52976780274bbb122005217f972f9dd62bc Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Fri, 21 May 2021 10:35:07 +0800 Subject: [PATCH 27/83] [Release] Update index.json for extension [ databox ] (#3400) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=902739 Last commit: https://github.com/Azure/azure-cli-extensions/commit/394d08de683f9c3ab6c6cf4544dc78b5e165deec --- src/index.json | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/src/index.json b/src/index.json index 3a5b03dbc3c..96ddbdd4382 100644 --- a/src/index.json +++ b/src/index.json @@ -7550,6 +7550,50 @@ "version": "0.1.1" }, "sha256Digest": "210ab818a566ec69c923c1bc11f8f50295c19c30be378ab67be340a70e921aa1" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/databox-0.1.2-py2.py3-none-any.whl", + "filename": "databox-0.1.2-py2.py3-none-any.whl", + "metadata": { + "azext.minCliCoreVersion": "2.3.1", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.4", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/databox" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "databox", + "summary": "Microsoft Azure Command-Line Tools DataBox Extension", + "version": "0.1.2" + }, + "sha256Digest": "e247449406a189a8e9bbe320b1b4702846cf58da42b5a9b07ffa3e1db01ce6b0" } ], "databricks": [ From 39d2d9b8094b8081b0acfb2c286713e0ec1874a6 Mon Sep 17 00:00:00 2001 From: msyyc <70930885+msyyc@users.noreply.github.com> Date: Fri, 21 May 2021 13:20:19 +0800 Subject: [PATCH 28/83] [Firewall]`az network firewall create`: Add new parameter `--tier` (#3250) * --tier * history * test * test1 * test2 --- src/azure-firewall/HISTORY.rst | 8 +- src/azure-firewall/azext_firewall/_params.py | 5 +- src/azure-firewall/azext_firewall/custom.py | 15 +- .../test_azure_firewall_ip_config.yaml | 553 ++++---- ...t_azure_firewall_management_ip_config.yaml | 1185 +++++++---------- .../recordings/test_azure_firewall_tier.yaml | 222 +++ ...t_azure_firewall_with_firewall_policy.yaml | 1110 ++++----------- ...firewall_with_firewall_policy_premium.yaml | 688 ++++++++++ .../latest/test_azure_firewall_scenario.py | 26 +- src/azure-firewall/setup.py | 2 +- 10 files changed, 1976 insertions(+), 1838 deletions(-) create mode 100644 src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_tier.yaml create mode 100644 src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_with_firewall_policy_premium.yaml diff --git a/src/azure-firewall/HISTORY.rst b/src/azure-firewall/HISTORY.rst index eabe0cbbb6b..593e1dd40f4 100644 --- a/src/azure-firewall/HISTORY.rst +++ b/src/azure-firewall/HISTORY.rst @@ -2,14 +2,16 @@ Release History =============== -0.9.1 + +0.10.0 ++++++ +* `az network firewall create`: Add new parameter `--tier` * Migrate to Track2 SDK. 0.9.0 ++++++ -* az network firewall policy rule-collection-group collection add-filter-collection: Add parameter 'web-categories' -* az network firewall policy rule-collection-group collection rule add: Add parameter 'web-categories' +* `az network firewall policy rule-collection-group collection add-filter-collection`: Add parameter 'web-categories' +* `az network firewall policy rule-collection-group collection rule add`: Add parameter 'web-categories' 0.8.0 ++++++ diff --git a/src/azure-firewall/azext_firewall/_params.py b/src/azure-firewall/azext_firewall/_params.py index 9879c3438f3..2eb6f13e547 100644 --- a/src/azure-firewall/azext_firewall/_params.py +++ b/src/azure-firewall/azext_firewall/_params.py @@ -27,10 +27,10 @@ def load_arguments(self, _): (AzureFirewallNetworkRuleProtocol, AzureFirewallRCActionType, AzureFirewallNatRCActionType, FirewallPolicySkuTier, FirewallPolicyIntrusionDetectionStateType, - FirewallPolicyIntrusionDetectionProtocol) = \ + FirewallPolicyIntrusionDetectionProtocol, AzureFirewallSkuTier) = \ self.get_models('AzureFirewallNetworkRuleProtocol', 'AzureFirewallRCActionType', 'AzureFirewallNatRCActionType', 'FirewallPolicySkuTier', 'FirewallPolicyIntrusionDetectionStateType', - 'FirewallPolicyIntrusionDetectionProtocol') + 'FirewallPolicyIntrusionDetectionProtocol', 'AzureFirewallSkuTier') firewall_name_type = CLIArgumentType(options_list=['--firewall-name', '-f'], metavar='NAME', help='Azure Firewall name.', id_part='name', completer=get_resource_name_completion_list('Microsoft.Network/azureFirewalls')) collection_name_type = CLIArgumentType(options_list=['--collection-name', '-c'], help='Name of the rule collection.', id_part='child_name_1') @@ -58,6 +58,7 @@ def load_arguments(self, _): c.argument('virtual_hub', options_list=['--virtual-hub', '--vhub'], help='Name or ID of the virtualHub to which the firewall belongs.', validator=validate_virtual_hub) + c.argument('tier', arg_type=get_enum_type(AzureFirewallSkuTier, AzureFirewallSkuTier.standard), help='Tier of an azure firewall. --tier will take effect only when --sku is set') c.argument('sku', arg_type=get_enum_type(['AZFW_VNet', 'AZFW_Hub']), help='SKU of Azure firewall. This field cannot be updated after the creation. ' 'The default sku in server end is AZFW_VNet. ' 'If you want to attach azure firewall to vhub, you should set sku to AZFW_Hub.') diff --git a/src/azure-firewall/azext_firewall/custom.py b/src/azure-firewall/azext_firewall/custom.py index 0389afb75d0..aae784a9312 100644 --- a/src/azure-firewall/azext_firewall/custom.py +++ b/src/azure-firewall/azext_firewall/custom.py @@ -68,7 +68,7 @@ def create_azure_firewall(cmd, resource_group_name, azure_firewall_name, locatio tags=None, zones=None, private_ranges=None, firewall_policy=None, virtual_hub=None, sku=None, dns_servers=None, enable_dns_proxy=None, - threat_intel_mode=None, hub_public_ip_count=None, allow_active_ftp=None): + threat_intel_mode=None, hub_public_ip_count=None, allow_active_ftp=None, tier=None): if firewall_policy and any([enable_dns_proxy, dns_servers]): raise CLIError('usage error: firewall policy and dns settings cannot co-exist.') if sku and sku.lower() == 'azfw_hub' and not all([virtual_hub, hub_public_ip_count]): @@ -85,7 +85,7 @@ def create_azure_firewall(cmd, resource_group_name, azure_firewall_name, locatio 'AzureFirewallSku', 'HubIPAddresses', 'HubPublicIPAddresses') - sku_instance = AzureFirewallSku(name=sku, tier='Standard') + sku_instance = AzureFirewallSku(name=sku, tier=tier) firewall = AzureFirewall(location=location, tags=tags, zones=zones, @@ -618,7 +618,7 @@ def update_azure_firewall_policies(cmd, user_assigned_identities_instance[user_assigned_identity] = user_assigned_indentity_instance identity_instance = ManagedServiceIdentity( type="UserAssigned", - Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties=user_assigned_identities_instance + user_assigned_identities=user_assigned_identities_instance ) instance.identity = identity_instance @@ -626,12 +626,11 @@ def update_azure_firewall_policies(cmd, def set_azure_firewall_policies(cmd, resource_group_name, firewall_policy_name, parameters): - # Firewall Policy can't contain premium only properties - Identity - # if parameters.identity is None: - # ManagedServiceIdentity = cmd.get_models('ManagedServiceIdentity') + if parameters.identity is None: + ManagedServiceIdentity = cmd.get_models('ManagedServiceIdentity') - # identity = ManagedServiceIdentity(type="None", Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties=None) - # parameters.identity = identity + identity = ManagedServiceIdentity(type="None", user_assigned_identities=None) + parameters.identity = identity client = network_client_factory(cmd.cli_ctx).firewall_policies return client.begin_create_or_update(resource_group_name, firewall_policy_name, parameters) diff --git a/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_ip_config.yaml b/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_ip_config.yaml index 795c9e23a55..84aaeb03549 100644 --- a/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_ip_config.yaml +++ b/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_ip_config.yaml @@ -13,15 +13,12 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.1.0 Azure-SDK-For-Python AZURECLI/2.22.1 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-resource/16.1.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_azure_firewall_ip_config000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001","name":"cli_test_azure_firewall_ip_config000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-04-21T04:23:56Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001","name":"cli_test_azure_firewall_ip_config000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-05-20T01:27:54Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -30,7 +27,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:24:03 GMT + - Thu, 20 May 2021 01:27:56 GMT expires: - '-1' pragma: @@ -62,13 +59,13 @@ interactions: ParameterSetName: - -g -n User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2020-07-01 response: body: string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"0f56a568-3ec0-4603-8ec7-ec079e6db98f\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"219ae518-30f6-429c-87a7-beaad80ee048\\\"\",\r\n \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": @@ -79,7 +76,7 @@ interactions: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7973ec7b-19f7-4b38-b5e1-1da330ebae65?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f53945d5-89c2-4d1a-aae0-216f1b49332a?api-version=2020-07-01 cache-control: - no-cache content-length: @@ -87,7 +84,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:24:11 GMT + - Thu, 20 May 2021 01:28:03 GMT expires: - '-1' pragma: @@ -100,9 +97,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 63f1d189-7c0a-4645-9bb4-deb6f089dace + - 12ae35cf-e257-4488-bdb7-96322e060ce0 x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1195' status: code: 201 message: Created @@ -120,9 +117,9 @@ interactions: ParameterSetName: - -g -n User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7973ec7b-19f7-4b38-b5e1-1da330ebae65?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f53945d5-89c2-4d1a-aae0-216f1b49332a?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -134,7 +131,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:24:21 GMT + - Thu, 20 May 2021 01:28:13 GMT expires: - '-1' pragma: @@ -151,7 +148,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - e7cca5e1-c2c7-45ac-8370-283469216fca + - 4dd71247-2270-450a-b7eb-754a24c125a9 status: code: 200 message: OK @@ -169,13 +166,13 @@ interactions: ParameterSetName: - -g -n User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2020-07-01 response: body: string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"1460d453-456c-40ce-acdd-d03588db9971\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"eb3cac72-915d-407c-9535-e4a010088cbb\\\"\",\r\n \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": @@ -190,9 +187,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:24:21 GMT + - Thu, 20 May 2021 01:28:13 GMT etag: - - W/"1460d453-456c-40ce-acdd-d03588db9971" + - W/"eb3cac72-915d-407c-9535-e4a010088cbb" expires: - '-1' pragma: @@ -209,7 +206,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 596c7742-bfc7-4e39-a954-8c070c5dda5d + - b2742eb3-13b9-4045-945d-dfc8f2003e3c status: code: 200 message: OK @@ -227,15 +224,12 @@ interactions: ParameterSetName: - -g -n --sku User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.1.0 Azure-SDK-For-Python AZURECLI/2.22.1 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-resource/16.1.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_azure_firewall_ip_config000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001","name":"cli_test_azure_firewall_ip_config000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-04-21T04:23:56Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001","name":"cli_test_azure_firewall_ip_config000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-05-20T01:27:54Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -244,7 +238,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:24:24 GMT + - Thu, 20 May 2021 01:28:15 GMT expires: - '-1' pragma: @@ -277,15 +271,15 @@ interactions: ParameterSetName: - -g -n --sku User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip?api-version=2020-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip?api-version=2021-02-01 response: body: string: "{\r\n \"name\": \"pubip\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip\",\r\n - \ \"etag\": \"W/\\\"6a0ab9ff-ae21-42bc-ba40-4d50830df0be\\\"\",\r\n \"location\": + \ \"etag\": \"W/\\\"3667469d-12fb-46ef-89ed-64a0bebae769\\\"\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"resourceGuid\": \"38a26eb5-aaaa-46a8-8fe1-d770bf20048e\",\r\n \"publicIPAddressVersion\": + \ \"resourceGuid\": \"fd9cdbbd-ab93-4dd0-a77b-86992e059035\",\r\n \"publicIPAddressVersion\": \"IPv4\",\r\n \"publicIPAllocationMethod\": \"Static\",\r\n \"idleTimeoutInMinutes\": 4,\r\n \"ipTags\": []\r\n },\r\n \"type\": \"Microsoft.Network/publicIPAddresses\",\r\n \ \"sku\": {\r\n \"name\": \"Standard\",\r\n \"tier\": \"Regional\"\r\n @@ -294,7 +288,7 @@ interactions: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/737c8956-d295-43ce-8a7f-4488495d39ec?api-version=2020-11-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/1e551aea-5803-4085-9e5d-19d512f5c561?api-version=2021-02-01 cache-control: - no-cache content-length: @@ -302,7 +296,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:24:30 GMT + - Thu, 20 May 2021 01:28:21 GMT expires: - '-1' pragma: @@ -315,9 +309,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 0ab6a16b-f089-48bf-be33-ca5bd6bff564 + - 8006e490-6569-407d-b18c-2ae6b201b5ae x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1195' status: code: 201 message: Created @@ -335,9 +329,9 @@ interactions: ParameterSetName: - -g -n --sku User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/737c8956-d295-43ce-8a7f-4488495d39ec?api-version=2020-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/1e551aea-5803-4085-9e5d-19d512f5c561?api-version=2021-02-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -349,7 +343,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:24:31 GMT + - Thu, 20 May 2021 01:28:22 GMT expires: - '-1' pragma: @@ -366,7 +360,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 72e6f84e-b081-419f-a0f9-c0e49cefe37a + - 6bfb6d67-d72a-434c-b7b5-d06c23798d2c status: code: 200 message: OK @@ -384,16 +378,16 @@ interactions: ParameterSetName: - -g -n --sku User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip?api-version=2020-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip?api-version=2021-02-01 response: body: string: "{\r\n \"name\": \"pubip\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip\",\r\n - \ \"etag\": \"W/\\\"0f5d88e2-4179-4d4b-b846-2ff22b6be9bd\\\"\",\r\n \"location\": + \ \"etag\": \"W/\\\"5517d319-1764-488c-9ae1-77d4a7adbca9\\\"\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"38a26eb5-aaaa-46a8-8fe1-d770bf20048e\",\r\n \"ipAddress\": - \"138.91.197.52\",\r\n \"publicIPAddressVersion\": \"IPv4\",\r\n \"publicIPAllocationMethod\": + \ \"resourceGuid\": \"fd9cdbbd-ab93-4dd0-a77b-86992e059035\",\r\n \"ipAddress\": + \"104.40.13.243\",\r\n \"publicIPAddressVersion\": \"IPv4\",\r\n \"publicIPAllocationMethod\": \"Static\",\r\n \"idleTimeoutInMinutes\": 4,\r\n \"ipTags\": []\r\n \ },\r\n \"type\": \"Microsoft.Network/publicIPAddresses\",\r\n \"sku\": {\r\n \"name\": \"Standard\",\r\n \"tier\": \"Regional\"\r\n }\r\n}" @@ -405,9 +399,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:24:31 GMT + - Thu, 20 May 2021 01:28:22 GMT etag: - - W/"0f5d88e2-4179-4d4b-b846-2ff22b6be9bd" + - W/"5517d319-1764-488c-9ae1-77d4a7adbca9" expires: - '-1' pragma: @@ -424,7 +418,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - c7a82b38-dd53-4880-8f79-32814125eb07 + - e2d52a94-7da7-48c8-a5af-05b8f4a2fed7 status: code: 200 message: OK @@ -442,15 +436,12 @@ interactions: ParameterSetName: - -g -n --sku User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.1.0 Azure-SDK-For-Python AZURECLI/2.22.1 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-resource/16.1.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_azure_firewall_ip_config000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001","name":"cli_test_azure_firewall_ip_config000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-04-21T04:23:56Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001","name":"cli_test_azure_firewall_ip_config000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-05-20T01:27:54Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -459,7 +450,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:24:33 GMT + - Thu, 20 May 2021 01:28:22 GMT expires: - '-1' pragma: @@ -492,15 +483,15 @@ interactions: ParameterSetName: - -g -n --sku User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip2?api-version=2020-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip2?api-version=2021-02-01 response: body: string: "{\r\n \"name\": \"pubip2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip2\",\r\n - \ \"etag\": \"W/\\\"9e0beb36-5bfb-4b65-b14b-1e1721b67313\\\"\",\r\n \"location\": + \ \"etag\": \"W/\\\"880ca4b8-ba15-40d1-9737-18d369ca50a5\\\"\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"resourceGuid\": \"aca80ae0-8363-4894-8848-d73459393759\",\r\n \"publicIPAddressVersion\": + \ \"resourceGuid\": \"924c38cd-186a-4ffe-afb5-a90c9ac9ec04\",\r\n \"publicIPAddressVersion\": \"IPv4\",\r\n \"publicIPAllocationMethod\": \"Static\",\r\n \"idleTimeoutInMinutes\": 4,\r\n \"ipTags\": []\r\n },\r\n \"type\": \"Microsoft.Network/publicIPAddresses\",\r\n \ \"sku\": {\r\n \"name\": \"Standard\",\r\n \"tier\": \"Regional\"\r\n @@ -509,7 +500,7 @@ interactions: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/b6b3715a-361f-42fb-968f-b78bdac691c6?api-version=2020-11-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f97cf7de-f11f-43ca-92af-5902bb8476bf?api-version=2021-02-01 cache-control: - no-cache content-length: @@ -517,7 +508,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:24:38 GMT + - Thu, 20 May 2021 01:28:29 GMT expires: - '-1' pragma: @@ -530,9 +521,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 9274fe0c-e0ba-43be-9eac-f1446ad21249 + - 7526675b-bb48-4482-b01d-010e3c503df3 x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1196' status: code: 201 message: Created @@ -550,9 +541,9 @@ interactions: ParameterSetName: - -g -n --sku User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/b6b3715a-361f-42fb-968f-b78bdac691c6?api-version=2020-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f97cf7de-f11f-43ca-92af-5902bb8476bf?api-version=2021-02-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -564,7 +555,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:24:39 GMT + - Thu, 20 May 2021 01:28:30 GMT expires: - '-1' pragma: @@ -581,7 +572,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 0cadeaa3-b2b4-48bf-aa13-b1ab278691b5 + - 94ff0b3d-8c66-4b7d-8719-d148dc3adb73 status: code: 200 message: OK @@ -599,16 +590,16 @@ interactions: ParameterSetName: - -g -n --sku User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip2?api-version=2020-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip2?api-version=2021-02-01 response: body: string: "{\r\n \"name\": \"pubip2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip2\",\r\n - \ \"etag\": \"W/\\\"44dd2e1a-ddae-40fb-8056-d7ec616628d9\\\"\",\r\n \"location\": + \ \"etag\": \"W/\\\"99f1f225-0df0-4b1f-aacf-32b6c4eda553\\\"\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"aca80ae0-8363-4894-8848-d73459393759\",\r\n \"ipAddress\": - \"138.91.195.5\",\r\n \"publicIPAddressVersion\": \"IPv4\",\r\n \"publicIPAllocationMethod\": + \ \"resourceGuid\": \"924c38cd-186a-4ffe-afb5-a90c9ac9ec04\",\r\n \"ipAddress\": + \"138.91.160.87\",\r\n \"publicIPAddressVersion\": \"IPv4\",\r\n \"publicIPAllocationMethod\": \"Static\",\r\n \"idleTimeoutInMinutes\": 4,\r\n \"ipTags\": []\r\n \ },\r\n \"type\": \"Microsoft.Network/publicIPAddresses\",\r\n \"sku\": {\r\n \"name\": \"Standard\",\r\n \"tier\": \"Regional\"\r\n }\r\n}" @@ -616,13 +607,13 @@ interactions: cache-control: - no-cache content-length: - - '722' + - '723' content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:24:39 GMT + - Thu, 20 May 2021 01:28:31 GMT etag: - - W/"44dd2e1a-ddae-40fb-8056-d7ec616628d9" + - W/"99f1f225-0df0-4b1f-aacf-32b6c4eda553" expires: - '-1' pragma: @@ -639,7 +630,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 5dd1b0b4-cf9d-4fec-ae90-8f006b298ccc + - e7273274-6540-428c-a709-d38649b155ec status: code: 200 message: OK @@ -657,15 +648,12 @@ interactions: ParameterSetName: - -g -n --subnet-name --address-prefixes --subnet-prefixes User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.1.0 Azure-SDK-For-Python AZURECLI/2.22.1 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-resource/16.1.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_azure_firewall_ip_config000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001","name":"cli_test_azure_firewall_ip_config000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-04-21T04:23:56Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001","name":"cli_test_azure_firewall_ip_config000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-05-20T01:27:54Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -674,7 +662,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:24:41 GMT + - Thu, 20 May 2021 01:28:31 GMT expires: - '-1' pragma: @@ -691,7 +679,8 @@ interactions: - request: body: '{"location": "westus", "tags": {}, "properties": {"addressSpace": {"addressPrefixes": ["10.0.0.0/16"]}, "dhcpOptions": {}, "subnets": [{"name": "AzureFirewallSubnet", - "properties": {"addressPrefix": "10.0.0.0/24"}}]}}' + "properties": {"addressPrefix": "10.0.0.0/24", "privateEndpointNetworkPolicies": + "Enabled", "privateLinkServiceNetworkPolicies": "Enabled"}}]}}' headers: Accept: - application/json @@ -702,27 +691,27 @@ interactions: Connection: - keep-alive Content-Length: - - '217' + - '310' Content-Type: - application/json ParameterSetName: - -g -n --subnet-name --address-prefixes --subnet-prefixes User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet?api-version=2020-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet?api-version=2021-02-01 response: body: string: "{\r\n \"name\": \"myvnet\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet\",\r\n - \ \"etag\": \"W/\\\"deac6767-9aab-49eb-b858-037bdb4eba1b\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"8c220acc-6415-4872-8deb-9f5a2684f7f7\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus\",\r\n \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"resourceGuid\": \"c3938d63-b148-4c81-908d-c2ed32a1bcd9\",\r\n \"addressSpace\": + \ \"resourceGuid\": \"33d05f2c-f9a9-4cd7-9f29-9e821de0d2d2\",\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\": \"AzureFirewallSubnet\",\r\n \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/AzureFirewallSubnet\",\r\n - \ \"etag\": \"W/\\\"deac6767-9aab-49eb-b858-037bdb4eba1b\\\"\",\r\n + \ \"etag\": \"W/\\\"8c220acc-6415-4872-8deb-9f5a2684f7f7\\\"\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \ \"addressPrefix\": \"10.0.0.0/24\",\r\n \"delegations\": [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": @@ -733,7 +722,7 @@ interactions: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/9acffbb5-4d38-4cc3-8643-f4358cecbc83?api-version=2020-11-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/691b4759-6228-4373-b49e-042c6603a403?api-version=2021-02-01 cache-control: - no-cache content-length: @@ -741,7 +730,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:24:48 GMT + - Thu, 20 May 2021 01:28:38 GMT expires: - '-1' pragma: @@ -754,7 +743,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 791b1a4a-4d5c-4a6f-bab6-8a923f643c70 + - f3240d91-96a9-4574-b92c-e028b1ee5833 x-ms-ratelimit-remaining-subscription-writes: - '1199' status: @@ -774,9 +763,9 @@ interactions: ParameterSetName: - -g -n --subnet-name --address-prefixes --subnet-prefixes User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/9acffbb5-4d38-4cc3-8643-f4358cecbc83?api-version=2020-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/691b4759-6228-4373-b49e-042c6603a403?api-version=2021-02-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -788,7 +777,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:24:51 GMT + - Thu, 20 May 2021 01:28:42 GMT expires: - '-1' pragma: @@ -805,7 +794,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - d8583499-7eaf-4d66-a5ec-7f4b076153d2 + - 8497cce9-dfcd-49ab-98cf-ba17d83c0715 status: code: 200 message: OK @@ -823,21 +812,21 @@ interactions: ParameterSetName: - -g -n --subnet-name --address-prefixes --subnet-prefixes User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet?api-version=2020-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet?api-version=2021-02-01 response: body: string: "{\r\n \"name\": \"myvnet\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet\",\r\n - \ \"etag\": \"W/\\\"0828ad59-b182-4172-b300-1d2620a7930e\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"19154410-9c4b-493b-89f0-fb6e01c8bf2c\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus\",\r\n \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"c3938d63-b148-4c81-908d-c2ed32a1bcd9\",\r\n \"addressSpace\": + \ \"resourceGuid\": \"33d05f2c-f9a9-4cd7-9f29-9e821de0d2d2\",\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\": \"AzureFirewallSubnet\",\r\n \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/AzureFirewallSubnet\",\r\n - \ \"etag\": \"W/\\\"0828ad59-b182-4172-b300-1d2620a7930e\\\"\",\r\n + \ \"etag\": \"W/\\\"19154410-9c4b-493b-89f0-fb6e01c8bf2c\\\"\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \ \"addressPrefix\": \"10.0.0.0/24\",\r\n \"delegations\": [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": @@ -852,9 +841,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:24:51 GMT + - Thu, 20 May 2021 01:28:42 GMT etag: - - W/"0828ad59-b182-4172-b300-1d2620a7930e" + - W/"19154410-9c4b-493b-89f0-fb6e01c8bf2c" expires: - '-1' pragma: @@ -871,7 +860,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - eb7d5712-13dc-4c08-917d-5731c85f6327 + - 2dd57b5a-cb1c-4a02-b70e-6f6ef919020d status: code: 200 message: OK @@ -889,13 +878,13 @@ interactions: ParameterSetName: - -g -n -f --public-ip-address --vnet-name User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2020-07-01 response: body: string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"1460d453-456c-40ce-acdd-d03588db9971\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"eb3cac72-915d-407c-9535-e4a010088cbb\\\"\",\r\n \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": @@ -910,9 +899,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:24:53 GMT + - Thu, 20 May 2021 01:28:43 GMT etag: - - W/"1460d453-456c-40ce-acdd-d03588db9971" + - W/"eb3cac72-915d-407c-9535-e4a010088cbb" expires: - '-1' pragma: @@ -929,7 +918,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - f5ead381-0c42-496f-88e0-56cb5555e253 + - b496c09c-280c-40d7-9ae8-26382c58d773 status: code: 200 message: OK @@ -957,19 +946,19 @@ interactions: ParameterSetName: - -g -n -f --public-ip-address --vnet-name User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2020-07-01 response: body: string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"8b396e96-ebab-41ec-b92d-cce790a4ccb9\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"b6534bed-cec5-4126-91c3-c02d017561c0\\\"\",\r\n \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": [\r\n {\r\n \"name\": \"myipconfig1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1/azureFirewallIpConfigurations/myipconfig1\",\r\n - \ \"etag\": \"W/\\\"8b396e96-ebab-41ec-b92d-cce790a4ccb9\\\"\",\r\n + \ \"etag\": \"W/\\\"b6534bed-cec5-4126-91c3-c02d017561c0\\\"\",\r\n \ \"type\": \"Microsoft.Network/azureFirewalls/azureFirewallIpConfigurations\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \ \"privateIPAllocationMethod\": \"Dynamic\",\r\n \"publicIPAddress\": @@ -980,7 +969,7 @@ interactions: []\r\n }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/baca0e81-f3ff-428c-92e2-dcbb6924c105?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2800f672-9bcc-4cc0-adf6-8d00eba04aed?api-version=2020-07-01 cache-control: - no-cache content-length: @@ -988,7 +977,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:24:54 GMT + - Thu, 20 May 2021 01:28:43 GMT expires: - '-1' pragma: @@ -1005,9 +994,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 09adbbe0-679b-42b0-a3a6-ac92bfce94ac + - abcc92e4-3066-420b-91d0-344c632200a9 x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' status: code: 200 message: OK @@ -1025,9 +1014,9 @@ interactions: ParameterSetName: - -g -n -f --public-ip-address --vnet-name User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/baca0e81-f3ff-428c-92e2-dcbb6924c105?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2800f672-9bcc-4cc0-adf6-8d00eba04aed?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1039,7 +1028,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:25:04 GMT + - Thu, 20 May 2021 01:28:53 GMT expires: - '-1' pragma: @@ -1056,7 +1045,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 16bf4d25-696e-4f95-a7ee-6b5cd2107549 + - 84f74564-6d2d-4a41-9a58-6d0db63dce8d status: code: 200 message: OK @@ -1074,9 +1063,9 @@ interactions: ParameterSetName: - -g -n -f --public-ip-address --vnet-name User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/baca0e81-f3ff-428c-92e2-dcbb6924c105?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2800f672-9bcc-4cc0-adf6-8d00eba04aed?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1088,7 +1077,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:25:14 GMT + - Thu, 20 May 2021 01:29:04 GMT expires: - '-1' pragma: @@ -1105,7 +1094,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - f0715295-f253-4ccc-82d8-8929109370ef + - 7c980636-0708-4ebf-ab92-6c2b021bfc23 status: code: 200 message: OK @@ -1123,9 +1112,9 @@ interactions: ParameterSetName: - -g -n -f --public-ip-address --vnet-name User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/baca0e81-f3ff-428c-92e2-dcbb6924c105?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2800f672-9bcc-4cc0-adf6-8d00eba04aed?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1137,7 +1126,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:25:34 GMT + - Thu, 20 May 2021 01:29:25 GMT expires: - '-1' pragma: @@ -1154,7 +1143,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - ce7e7ca2-f147-43fa-8c39-91e416b77c6f + - b3fd5ab9-16ca-4a5b-8ae1-31a1519e27d6 status: code: 200 message: OK @@ -1172,9 +1161,9 @@ interactions: ParameterSetName: - -g -n -f --public-ip-address --vnet-name User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/baca0e81-f3ff-428c-92e2-dcbb6924c105?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2800f672-9bcc-4cc0-adf6-8d00eba04aed?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1186,7 +1175,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:26:14 GMT + - Thu, 20 May 2021 01:30:05 GMT expires: - '-1' pragma: @@ -1203,7 +1192,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - df14ace2-70d8-44a8-893a-0873b1f954eb + - b3958d2c-6ce5-49fc-9bbd-61e4477d1f1a status: code: 200 message: OK @@ -1221,9 +1210,9 @@ interactions: ParameterSetName: - -g -n -f --public-ip-address --vnet-name User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/baca0e81-f3ff-428c-92e2-dcbb6924c105?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2800f672-9bcc-4cc0-adf6-8d00eba04aed?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1235,7 +1224,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:27:35 GMT + - Thu, 20 May 2021 01:31:25 GMT expires: - '-1' pragma: @@ -1252,7 +1241,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 3a89d42b-52d8-46f6-8c3e-19cded851d1c + - 2244a23c-c2e7-4424-a85c-63717d0298cc status: code: 200 message: OK @@ -1270,9 +1259,9 @@ interactions: ParameterSetName: - -g -n -f --public-ip-address --vnet-name User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/baca0e81-f3ff-428c-92e2-dcbb6924c105?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2800f672-9bcc-4cc0-adf6-8d00eba04aed?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -1284,7 +1273,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:30:16 GMT + - Thu, 20 May 2021 01:34:06 GMT expires: - '-1' pragma: @@ -1301,7 +1290,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 23db8c94-fdb1-42a7-b547-f88b67c7a888 + - 7027f8a2-a8f8-4793-a2b5-9339fe745acf status: code: 200 message: OK @@ -1319,19 +1308,19 @@ interactions: ParameterSetName: - -g -n -f --public-ip-address --vnet-name User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2020-07-01 response: body: string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"619ec72e-bc47-43e5-88ca-23910e609042\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"7a368feb-82ba-4268-98b1-7d12b68db0cf\\\"\",\r\n \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": [\r\n {\r\n \"name\": \"myipconfig1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1/azureFirewallIpConfigurations/myipconfig1\",\r\n - \ \"etag\": \"W/\\\"619ec72e-bc47-43e5-88ca-23910e609042\\\"\",\r\n + \ \"etag\": \"W/\\\"7a368feb-82ba-4268-98b1-7d12b68db0cf\\\"\",\r\n \ \"type\": \"Microsoft.Network/azureFirewalls/azureFirewallIpConfigurations\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \ \"privateIPAddress\": \"10.0.0.4\",\r\n \"privateIPAllocationMethod\": @@ -1348,9 +1337,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:30:16 GMT + - Thu, 20 May 2021 01:34:07 GMT etag: - - W/"619ec72e-bc47-43e5-88ca-23910e609042" + - W/"7a368feb-82ba-4268-98b1-7d12b68db0cf" expires: - '-1' pragma: @@ -1367,7 +1356,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 9f3150d3-4ed8-409a-9aba-f1535a385265 + - 18365399-7630-424e-a71a-b31f00b34d07 status: code: 200 message: OK @@ -1385,19 +1374,19 @@ interactions: ParameterSetName: - -g -n -f --public-ip-address User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2020-07-01 response: body: string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"619ec72e-bc47-43e5-88ca-23910e609042\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"7a368feb-82ba-4268-98b1-7d12b68db0cf\\\"\",\r\n \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": [\r\n {\r\n \"name\": \"myipconfig1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1/azureFirewallIpConfigurations/myipconfig1\",\r\n - \ \"etag\": \"W/\\\"619ec72e-bc47-43e5-88ca-23910e609042\\\"\",\r\n + \ \"etag\": \"W/\\\"7a368feb-82ba-4268-98b1-7d12b68db0cf\\\"\",\r\n \ \"type\": \"Microsoft.Network/azureFirewalls/azureFirewallIpConfigurations\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \ \"privateIPAddress\": \"10.0.0.4\",\r\n \"privateIPAllocationMethod\": @@ -1414,9 +1403,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:30:17 GMT + - Thu, 20 May 2021 01:34:07 GMT etag: - - W/"619ec72e-bc47-43e5-88ca-23910e609042" + - W/"7a368feb-82ba-4268-98b1-7d12b68db0cf" expires: - '-1' pragma: @@ -1433,7 +1422,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 13d196d2-cba8-4a47-9775-8a99cbba90b2 + - c35819aa-4dc9-4392-b1b1-a1b10e471238 status: code: 200 message: OK @@ -1462,19 +1451,19 @@ interactions: ParameterSetName: - -g -n -f --public-ip-address User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2020-07-01 response: body: string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"361d8ccc-7d0c-4a97-8827-e47ee888556c\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"f8e333ca-4f31-4927-8e3e-8060c50f1bdd\\\"\",\r\n \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": [\r\n {\r\n \"name\": \"myipconfig1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1/azureFirewallIpConfigurations/myipconfig1\",\r\n - \ \"etag\": \"W/\\\"361d8ccc-7d0c-4a97-8827-e47ee888556c\\\"\",\r\n + \ \"etag\": \"W/\\\"f8e333ca-4f31-4927-8e3e-8060c50f1bdd\\\"\",\r\n \ \"type\": \"Microsoft.Network/azureFirewalls/azureFirewallIpConfigurations\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \ \"privateIPAddress\": \"10.0.0.4\",\r\n \"privateIPAllocationMethod\": @@ -1482,7 +1471,7 @@ interactions: \ },\r\n \"subnet\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/AzureFirewallSubnet\"\r\n \ }\r\n }\r\n },\r\n {\r\n \"name\": \"myipconfig2\",\r\n \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1/azureFirewallIpConfigurations/myipconfig2\",\r\n - \ \"etag\": \"W/\\\"361d8ccc-7d0c-4a97-8827-e47ee888556c\\\"\",\r\n + \ \"etag\": \"W/\\\"f8e333ca-4f31-4927-8e3e-8060c50f1bdd\\\"\",\r\n \ \"type\": \"Microsoft.Network/azureFirewalls/azureFirewallIpConfigurations\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \ \"privateIPAllocationMethod\": \"Dynamic\",\r\n \"publicIPAddress\": @@ -1492,7 +1481,7 @@ interactions: []\r\n }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/39cd1d47-38d4-4306-8558-734a28e77b8c?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/fe4c1b7e-e8cc-43da-b07d-1ed9d62a7e72?api-version=2020-07-01 cache-control: - no-cache content-length: @@ -1500,7 +1489,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:30:18 GMT + - Thu, 20 May 2021 01:34:07 GMT expires: - '-1' pragma: @@ -1517,9 +1506,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 5fb0da91-3083-4105-998f-00304cffa986 + - f5daee7e-0acd-4b0c-a645-e831a008fba3 x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1192' status: code: 200 message: OK @@ -1537,9 +1526,9 @@ interactions: ParameterSetName: - -g -n -f --public-ip-address User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/39cd1d47-38d4-4306-8558-734a28e77b8c?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/fe4c1b7e-e8cc-43da-b07d-1ed9d62a7e72?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1551,7 +1540,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:30:28 GMT + - Thu, 20 May 2021 01:34:17 GMT expires: - '-1' pragma: @@ -1568,7 +1557,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - bedba595-c6b4-4c3f-a728-0cd1cc598acb + - 5f284a56-a64b-4274-94a3-327f59fd7892 status: code: 200 message: OK @@ -1586,9 +1575,9 @@ interactions: ParameterSetName: - -g -n -f --public-ip-address User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/39cd1d47-38d4-4306-8558-734a28e77b8c?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/fe4c1b7e-e8cc-43da-b07d-1ed9d62a7e72?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1600,7 +1589,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:30:39 GMT + - Thu, 20 May 2021 01:34:28 GMT expires: - '-1' pragma: @@ -1617,7 +1606,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - b91a4002-583e-4b4b-b912-9d858abf7ee2 + - 369708c1-723a-4e2e-8fbf-8a0a80b1e0ce status: code: 200 message: OK @@ -1635,9 +1624,9 @@ interactions: ParameterSetName: - -g -n -f --public-ip-address User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/39cd1d47-38d4-4306-8558-734a28e77b8c?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/fe4c1b7e-e8cc-43da-b07d-1ed9d62a7e72?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1649,7 +1638,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:31:00 GMT + - Thu, 20 May 2021 01:34:48 GMT expires: - '-1' pragma: @@ -1666,7 +1655,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - f552d2b9-db4d-4575-be3e-ed06c1d56867 + - fcc2b93a-5bc8-4685-8482-8159dffbb679 status: code: 200 message: OK @@ -1684,9 +1673,9 @@ interactions: ParameterSetName: - -g -n -f --public-ip-address User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/39cd1d47-38d4-4306-8558-734a28e77b8c?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/fe4c1b7e-e8cc-43da-b07d-1ed9d62a7e72?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -1698,7 +1687,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:31:40 GMT + - Thu, 20 May 2021 01:35:28 GMT expires: - '-1' pragma: @@ -1715,7 +1704,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - b0c1d2db-cd96-4627-8a35-a09b233e458a + - b484e8e1-9b2f-4e6c-bea5-5302147abb82 status: code: 200 message: OK @@ -1733,19 +1722,19 @@ interactions: ParameterSetName: - -g -n -f --public-ip-address User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2020-07-01 response: body: string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"f2f2ca54-1012-4da9-8690-216bc6cd36f2\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"5d486d5e-2ab2-40b3-ada0-8edf7d327c25\\\"\",\r\n \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": [\r\n {\r\n \"name\": \"myipconfig1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1/azureFirewallIpConfigurations/myipconfig1\",\r\n - \ \"etag\": \"W/\\\"f2f2ca54-1012-4da9-8690-216bc6cd36f2\\\"\",\r\n + \ \"etag\": \"W/\\\"5d486d5e-2ab2-40b3-ada0-8edf7d327c25\\\"\",\r\n \ \"type\": \"Microsoft.Network/azureFirewalls/azureFirewallIpConfigurations\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \ \"privateIPAddress\": \"10.0.0.4\",\r\n \"privateIPAllocationMethod\": @@ -1753,7 +1742,7 @@ interactions: \ },\r\n \"subnet\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/AzureFirewallSubnet\"\r\n \ }\r\n }\r\n },\r\n {\r\n \"name\": \"myipconfig2\",\r\n \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1/azureFirewallIpConfigurations/myipconfig2\",\r\n - \ \"etag\": \"W/\\\"f2f2ca54-1012-4da9-8690-216bc6cd36f2\\\"\",\r\n + \ \"etag\": \"W/\\\"5d486d5e-2ab2-40b3-ada0-8edf7d327c25\\\"\",\r\n \ \"type\": \"Microsoft.Network/azureFirewalls/azureFirewallIpConfigurations\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \ \"privateIPAllocationMethod\": \"Dynamic\",\r\n \"publicIPAddress\": @@ -1769,9 +1758,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:31:40 GMT + - Thu, 20 May 2021 01:35:28 GMT etag: - - W/"f2f2ca54-1012-4da9-8690-216bc6cd36f2" + - W/"5d486d5e-2ab2-40b3-ada0-8edf7d327c25" expires: - '-1' pragma: @@ -1788,7 +1777,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - de125cef-cf7e-4f10-abff-46da09926b68 + - c0cebbbe-7478-4b59-8c43-e8494e25eca0 status: code: 200 message: OK @@ -1806,19 +1795,19 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2020-07-01 response: body: string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"f2f2ca54-1012-4da9-8690-216bc6cd36f2\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"5d486d5e-2ab2-40b3-ada0-8edf7d327c25\\\"\",\r\n \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": [\r\n {\r\n \"name\": \"myipconfig1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1/azureFirewallIpConfigurations/myipconfig1\",\r\n - \ \"etag\": \"W/\\\"f2f2ca54-1012-4da9-8690-216bc6cd36f2\\\"\",\r\n + \ \"etag\": \"W/\\\"5d486d5e-2ab2-40b3-ada0-8edf7d327c25\\\"\",\r\n \ \"type\": \"Microsoft.Network/azureFirewalls/azureFirewallIpConfigurations\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \ \"privateIPAddress\": \"10.0.0.4\",\r\n \"privateIPAllocationMethod\": @@ -1826,7 +1815,7 @@ interactions: \ },\r\n \"subnet\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/AzureFirewallSubnet\"\r\n \ }\r\n }\r\n },\r\n {\r\n \"name\": \"myipconfig2\",\r\n \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1/azureFirewallIpConfigurations/myipconfig2\",\r\n - \ \"etag\": \"W/\\\"f2f2ca54-1012-4da9-8690-216bc6cd36f2\\\"\",\r\n + \ \"etag\": \"W/\\\"5d486d5e-2ab2-40b3-ada0-8edf7d327c25\\\"\",\r\n \ \"type\": \"Microsoft.Network/azureFirewalls/azureFirewallIpConfigurations\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \ \"privateIPAllocationMethod\": \"Dynamic\",\r\n \"publicIPAddress\": @@ -1842,9 +1831,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:31:42 GMT + - Thu, 20 May 2021 01:35:29 GMT etag: - - W/"f2f2ca54-1012-4da9-8690-216bc6cd36f2" + - W/"5d486d5e-2ab2-40b3-ada0-8edf7d327c25" expires: - '-1' pragma: @@ -1861,7 +1850,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 9757a229-a9e7-4d51-a1b7-cab408e881dd + - e14d05fd-3bbe-4920-89ed-608965104ec3 status: code: 200 message: OK @@ -1889,19 +1878,19 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2020-07-01 response: body: string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"864f5c2d-2e8d-4861-b3d1-1d039fcee46d\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"b431c15b-1242-4e3c-8595-289798d085a3\\\"\",\r\n \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": [\r\n {\r\n \"name\": \"myipconfig1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1/azureFirewallIpConfigurations/myipconfig1\",\r\n - \ \"etag\": \"W/\\\"864f5c2d-2e8d-4861-b3d1-1d039fcee46d\\\"\",\r\n + \ \"etag\": \"W/\\\"b431c15b-1242-4e3c-8595-289798d085a3\\\"\",\r\n \ \"type\": \"Microsoft.Network/azureFirewalls/azureFirewallIpConfigurations\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \ \"privateIPAddress\": \"10.0.0.4\",\r\n \"privateIPAllocationMethod\": @@ -1912,7 +1901,7 @@ interactions: []\r\n }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/c354804c-75ea-468a-a8dd-39a33c17769e?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/dce62497-8c99-4c78-a931-bc85c46dafcd?api-version=2020-07-01 cache-control: - no-cache content-length: @@ -1920,7 +1909,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:31:43 GMT + - Thu, 20 May 2021 01:35:30 GMT expires: - '-1' pragma: @@ -1937,9 +1926,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 96d9145c-329e-4bf5-aaa4-fd21112afc83 + - 78f54dfa-7e7d-46d8-a9c8-0fb78d25e1ca x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1197' status: code: 200 message: OK @@ -1957,9 +1946,9 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/c354804c-75ea-468a-a8dd-39a33c17769e?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/dce62497-8c99-4c78-a931-bc85c46dafcd?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1971,7 +1960,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:31:53 GMT + - Thu, 20 May 2021 01:35:40 GMT expires: - '-1' pragma: @@ -1988,7 +1977,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 75b591c2-8787-440f-b622-b2fac3e5a7d9 + - ef3161c5-ac8d-4eae-92ce-d19e644ef518 status: code: 200 message: OK @@ -2006,9 +1995,9 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/c354804c-75ea-468a-a8dd-39a33c17769e?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/dce62497-8c99-4c78-a931-bc85c46dafcd?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2020,7 +2009,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:32:03 GMT + - Thu, 20 May 2021 01:35:50 GMT expires: - '-1' pragma: @@ -2037,7 +2026,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - e8e68c14-df5c-4064-96c6-226d1d9cb1a4 + - f164c688-5593-412a-86de-9cd657e70577 status: code: 200 message: OK @@ -2055,9 +2044,9 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/c354804c-75ea-468a-a8dd-39a33c17769e?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/dce62497-8c99-4c78-a931-bc85c46dafcd?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2069,7 +2058,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:32:24 GMT + - Thu, 20 May 2021 01:36:10 GMT expires: - '-1' pragma: @@ -2086,7 +2075,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - ac69dd53-956f-48fe-a4a5-1f5a53002028 + - 93d1efb1-37a7-4174-90d6-b34eec2afbea status: code: 200 message: OK @@ -2104,9 +2093,9 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/c354804c-75ea-468a-a8dd-39a33c17769e?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/dce62497-8c99-4c78-a931-bc85c46dafcd?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -2118,7 +2107,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:33:04 GMT + - Thu, 20 May 2021 01:36:51 GMT expires: - '-1' pragma: @@ -2135,7 +2124,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 35029cd1-edf3-4e00-95d2-7a9b09309356 + - a37269c6-70d2-40df-84c6-eeb838b1c739 status: code: 200 message: OK @@ -2153,19 +2142,19 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2020-07-01 response: body: string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"226b5051-683f-4249-b797-f280472693cd\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"90f12a48-0cee-4114-aed0-fc04c647a666\\\"\",\r\n \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": [\r\n {\r\n \"name\": \"myipconfig1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1/azureFirewallIpConfigurations/myipconfig1\",\r\n - \ \"etag\": \"W/\\\"226b5051-683f-4249-b797-f280472693cd\\\"\",\r\n + \ \"etag\": \"W/\\\"90f12a48-0cee-4114-aed0-fc04c647a666\\\"\",\r\n \ \"type\": \"Microsoft.Network/azureFirewalls/azureFirewallIpConfigurations\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \ \"privateIPAddress\": \"10.0.0.4\",\r\n \"privateIPAllocationMethod\": @@ -2182,9 +2171,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:33:05 GMT + - Thu, 20 May 2021 01:36:52 GMT etag: - - W/"226b5051-683f-4249-b797-f280472693cd" + - W/"90f12a48-0cee-4114-aed0-fc04c647a666" expires: - '-1' pragma: @@ -2201,7 +2190,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - bcc39177-b8e0-4dc4-b1a5-f6ed930c3877 + - 15e1dbcb-1058-4206-8b36-e79010de2e13 status: code: 200 message: OK @@ -2219,19 +2208,19 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2020-07-01 response: body: string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"226b5051-683f-4249-b797-f280472693cd\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"90f12a48-0cee-4114-aed0-fc04c647a666\\\"\",\r\n \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": [\r\n {\r\n \"name\": \"myipconfig1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1/azureFirewallIpConfigurations/myipconfig1\",\r\n - \ \"etag\": \"W/\\\"226b5051-683f-4249-b797-f280472693cd\\\"\",\r\n + \ \"etag\": \"W/\\\"90f12a48-0cee-4114-aed0-fc04c647a666\\\"\",\r\n \ \"type\": \"Microsoft.Network/azureFirewalls/azureFirewallIpConfigurations\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \ \"privateIPAddress\": \"10.0.0.4\",\r\n \"privateIPAllocationMethod\": @@ -2248,9 +2237,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:33:06 GMT + - Thu, 20 May 2021 01:36:52 GMT etag: - - W/"226b5051-683f-4249-b797-f280472693cd" + - W/"90f12a48-0cee-4114-aed0-fc04c647a666" expires: - '-1' pragma: @@ -2267,7 +2256,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 6634e500-2825-456c-8fdb-cc06f5e473ac + - 15a704f3-34e3-4405-afa8-cecd5bc8acca status: code: 200 message: OK @@ -2292,13 +2281,13 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2020-07-01 response: body: string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"282db61f-8301-4aba-94b1-55fa58d06aea\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"3bb69707-3508-4cba-8f39-1506bdb9fd67\\\"\",\r\n \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": @@ -2307,7 +2296,7 @@ interactions: [],\r\n \"natRuleCollections\": []\r\n }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/fdf4cadb-b557-4702-8805-88bee2bc4604?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/c2c0c409-45e0-4bcb-9b19-69c8ed134794?api-version=2020-07-01 cache-control: - no-cache content-length: @@ -2315,7 +2304,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:33:07 GMT + - Thu, 20 May 2021 01:36:53 GMT expires: - '-1' pragma: @@ -2332,9 +2321,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - f480db43-bfb1-400b-bbd3-77442a0fceb9 + - e655a467-6687-4215-b0fb-95e98a93ed33 x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1193' status: code: 200 message: OK @@ -2352,9 +2341,9 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/fdf4cadb-b557-4702-8805-88bee2bc4604?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/c2c0c409-45e0-4bcb-9b19-69c8ed134794?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2366,7 +2355,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:33:18 GMT + - Thu, 20 May 2021 01:37:03 GMT expires: - '-1' pragma: @@ -2383,7 +2372,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - f7153b7f-b3c1-417b-b5a7-d153bcada944 + - b2c29d45-d69a-44c0-8a7a-cda636fdd899 status: code: 200 message: OK @@ -2401,9 +2390,9 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/fdf4cadb-b557-4702-8805-88bee2bc4604?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/c2c0c409-45e0-4bcb-9b19-69c8ed134794?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2415,7 +2404,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:33:29 GMT + - Thu, 20 May 2021 01:37:13 GMT expires: - '-1' pragma: @@ -2432,7 +2421,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - cf874fe7-d0fd-4670-8eb8-77f2be8932fe + - 7e8b5eb7-ecca-4f3a-bfda-2369f7791f4f status: code: 200 message: OK @@ -2450,9 +2439,9 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/fdf4cadb-b557-4702-8805-88bee2bc4604?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/c2c0c409-45e0-4bcb-9b19-69c8ed134794?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2464,7 +2453,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:33:49 GMT + - Thu, 20 May 2021 01:37:33 GMT expires: - '-1' pragma: @@ -2481,7 +2470,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 5669b7fb-7748-4556-b219-f6dc56abeab2 + - a52f41c9-01bf-4760-bfdc-ee1e76e86409 status: code: 200 message: OK @@ -2499,9 +2488,9 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/fdf4cadb-b557-4702-8805-88bee2bc4604?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/c2c0c409-45e0-4bcb-9b19-69c8ed134794?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2513,7 +2502,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:34:29 GMT + - Thu, 20 May 2021 01:38:14 GMT expires: - '-1' pragma: @@ -2530,7 +2519,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - c703dd83-5a97-49ee-b314-457916ea97de + - 579f34ba-b313-4a15-bce4-af95c7c73b9a status: code: 200 message: OK @@ -2548,9 +2537,9 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/fdf4cadb-b557-4702-8805-88bee2bc4604?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/c2c0c409-45e0-4bcb-9b19-69c8ed134794?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2562,7 +2551,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:35:49 GMT + - Thu, 20 May 2021 01:39:34 GMT expires: - '-1' pragma: @@ -2579,7 +2568,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 4b177ae0-7ef5-4f5e-b503-eb8c9270cd92 + - 5b848ae9-9383-451f-b8ad-d612c6f9fa3c status: code: 200 message: OK @@ -2597,9 +2586,9 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/fdf4cadb-b557-4702-8805-88bee2bc4604?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/c2c0c409-45e0-4bcb-9b19-69c8ed134794?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2611,7 +2600,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:38:30 GMT + - Thu, 20 May 2021 01:42:15 GMT expires: - '-1' pragma: @@ -2628,7 +2617,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 9ae9e167-54c3-4a9c-aeac-ce9f4e8e64b2 + - bbd4557d-4e6b-4abd-8f99-512896898546 status: code: 200 message: OK @@ -2646,9 +2635,9 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/fdf4cadb-b557-4702-8805-88bee2bc4604?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/c2c0c409-45e0-4bcb-9b19-69c8ed134794?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2660,7 +2649,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:40:10 GMT + - Thu, 20 May 2021 01:43:55 GMT expires: - '-1' pragma: @@ -2677,7 +2666,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - ae8b7abe-a8f0-44d1-9d1b-ac42757f961b + - 26afb2e2-3e29-4164-96fa-66e330e9f68d status: code: 200 message: OK @@ -2695,9 +2684,9 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/fdf4cadb-b557-4702-8805-88bee2bc4604?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/c2c0c409-45e0-4bcb-9b19-69c8ed134794?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2709,7 +2698,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:41:51 GMT + - Thu, 20 May 2021 01:45:35 GMT expires: - '-1' pragma: @@ -2726,7 +2715,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - ef037320-5854-4da6-800c-bf6fc6428aaa + - e0a6ac92-c8a4-493b-a85f-db19f1e44b11 status: code: 200 message: OK @@ -2744,9 +2733,9 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/fdf4cadb-b557-4702-8805-88bee2bc4604?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/c2c0c409-45e0-4bcb-9b19-69c8ed134794?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2758,7 +2747,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:43:31 GMT + - Thu, 20 May 2021 01:47:15 GMT expires: - '-1' pragma: @@ -2775,7 +2764,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 8c55ae9d-649b-4ce7-bfc1-e9996cdb7cb1 + - 005c5e36-fbf8-41bc-833f-2c1a5de05dc9 status: code: 200 message: OK @@ -2793,9 +2782,9 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/fdf4cadb-b557-4702-8805-88bee2bc4604?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/c2c0c409-45e0-4bcb-9b19-69c8ed134794?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2807,7 +2796,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:45:11 GMT + - Thu, 20 May 2021 01:48:56 GMT expires: - '-1' pragma: @@ -2824,7 +2813,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 5bec1c96-2d09-4c16-89c3-0159ecd935bd + - 60c4578c-df82-4fbe-ab04-e41ffb040ef1 status: code: 200 message: OK @@ -2842,9 +2831,9 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/fdf4cadb-b557-4702-8805-88bee2bc4604?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/c2c0c409-45e0-4bcb-9b19-69c8ed134794?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2856,7 +2845,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:46:51 GMT + - Thu, 20 May 2021 01:50:36 GMT expires: - '-1' pragma: @@ -2873,7 +2862,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - cd8d6c64-ed8a-42d2-9685-2c8631b79a10 + - 97aa5ceb-20a9-42e5-ad0f-53c7731807fd status: code: 200 message: OK @@ -2891,9 +2880,9 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/fdf4cadb-b557-4702-8805-88bee2bc4604?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/c2c0c409-45e0-4bcb-9b19-69c8ed134794?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -2905,7 +2894,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:48:32 GMT + - Thu, 20 May 2021 01:52:16 GMT expires: - '-1' pragma: @@ -2922,7 +2911,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - a53444c6-58c1-436e-ba65-622b5fdc30e5 + - 152e8233-9c08-46fe-9767-411e104dbd54 status: code: 200 message: OK @@ -2940,13 +2929,13 @@ interactions: ParameterSetName: - -g -n -f User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2020-07-01 response: body: string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"76d2b736-6569-4180-968b-dd84d800c519\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"9b689c5a-cea6-4f2b-8f46-62cb3adc0bbb\\\"\",\r\n \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": @@ -2961,9 +2950,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:48:32 GMT + - Thu, 20 May 2021 01:52:16 GMT etag: - - W/"76d2b736-6569-4180-968b-dd84d800c519" + - W/"9b689c5a-cea6-4f2b-8f46-62cb3adc0bbb" expires: - '-1' pragma: @@ -2980,7 +2969,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 6d90f40d-c6af-4de6-bad9-228867a6bfb9 + - 7f900a4a-c9f5-4d0b-beaf-b1c9757d9865 status: code: 200 message: OK diff --git a/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_management_ip_config.yaml b/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_management_ip_config.yaml index 4ea5949da4b..0cc27ea437c 100644 --- a/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_management_ip_config.yaml +++ b/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_management_ip_config.yaml @@ -13,15 +13,12 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.7.3 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.17.1 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-resource/16.1.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_azure_firewall_management_ip_config000001?api-version=2020-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test_azure_firewall_management_ip_config000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001","name":"cli_test_azure_firewall_management_ip_config000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-01-19T09:10:06Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001","name":"test_azure_firewall_management_ip_config000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-05-19T11:25:44Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -30,7 +27,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Jan 2021 09:10:09 GMT + - Wed, 19 May 2021 11:25:48 GMT expires: - '-1' pragma: @@ -58,20 +55,17 @@ interactions: Content-Length: - '66' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - -g -n User-Agent: - - python/3.7.3 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-network/13.0.0 Azure-SDK-For-Python AZURECLI/2.17.1 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2020-07-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"ebd9059d-d5c0-4b1e-8415-34b2c0c406c1\\\"\",\r\n \"type\": + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n + \ \"etag\": \"W/\\\"33538b6f-cda1-40f1-a08f-4eb322ae3161\\\"\",\r\n \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": @@ -82,7 +76,7 @@ interactions: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/1e86338d-954a-49bb-9b30-1e07657c43d5?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/3d9e49db-5687-4844-9275-607416021ba0?api-version=2020-07-01 cache-control: - no-cache content-length: @@ -90,7 +84,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Jan 2021 09:10:14 GMT + - Wed, 19 May 2021 11:25:53 GMT expires: - '-1' pragma: @@ -103,9 +97,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 4adf4108-c6b0-4e11-a745-a306b669080f + - 1fb17930-3dcb-4918-b8b7-5582dcb78b5a x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1187' status: code: 201 message: Created @@ -113,7 +107,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -123,10 +117,9 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.7.3 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-network/13.0.0 Azure-SDK-For-Python AZURECLI/2.17.1 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/1e86338d-954a-49bb-9b30-1e07657c43d5?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/3d9e49db-5687-4844-9275-607416021ba0?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -138,7 +131,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Jan 2021 09:10:25 GMT + - Wed, 19 May 2021 11:26:04 GMT expires: - '-1' pragma: @@ -155,7 +148,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 6728d3b4-7d86-4606-a069-f0586e093739 + - cce61a60-59d8-462d-9d21-53db94eee26c status: code: 200 message: OK @@ -163,7 +156,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -173,14 +166,13 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.7.3 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-network/13.0.0 Azure-SDK-For-Python AZURECLI/2.17.1 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2020-07-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"35ee5a5c-ddb0-4033-8453-6e94b4fa879a\\\"\",\r\n \"type\": + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n + \ \"etag\": \"W/\\\"65eb80ef-1a1e-40b8-aca1-ad8ac9cccbee\\\"\",\r\n \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": @@ -195,9 +187,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Jan 2021 09:10:25 GMT + - Wed, 19 May 2021 11:26:04 GMT etag: - - W/"35ee5a5c-ddb0-4033-8453-6e94b4fa879a" + - W/"65eb80ef-1a1e-40b8-aca1-ad8ac9cccbee" expires: - '-1' pragma: @@ -214,7 +206,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 25ed22e4-9086-4e10-a57f-c60e6407179a + - 03acb567-f7cf-49d5-bcba-319f61c678cc status: code: 200 message: OK @@ -232,15 +224,12 @@ interactions: ParameterSetName: - -g -n --sku User-Agent: - - python/3.7.3 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.17.1 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-resource/16.1.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_azure_firewall_management_ip_config000001?api-version=2020-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test_azure_firewall_management_ip_config000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001","name":"cli_test_azure_firewall_management_ip_config000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-01-19T09:10:06Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001","name":"test_azure_firewall_management_ip_config000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-05-19T11:25:44Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -249,7 +238,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Jan 2021 09:10:26 GMT + - Wed, 19 May 2021 11:26:06 GMT expires: - '-1' pragma: @@ -282,15 +271,15 @@ interactions: ParameterSetName: - -g -n --sku User-Agent: - - AZURECLI/2.17.1 azsdk-python-azure-mgmt-network/17.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip?api-version=2020-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip?api-version=2021-02-01 response: body: - string: "{\r\n \"name\": \"pubip\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip\",\r\n - \ \"etag\": \"W/\\\"99630aee-d460-4b1c-aca6-00c1892df384\\\"\",\r\n \"location\": + string: "{\r\n \"name\": \"pubip\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip\",\r\n + \ \"etag\": \"W/\\\"bebd8227-8373-4821-8c07-e73350f6e5ce\\\"\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"resourceGuid\": \"71f29f98-c2bd-457b-923b-d74c47df086a\",\r\n \"publicIPAddressVersion\": + \ \"resourceGuid\": \"eacc1e66-ed7d-48e9-baad-01cd6624fcb6\",\r\n \"publicIPAddressVersion\": \"IPv4\",\r\n \"publicIPAllocationMethod\": \"Static\",\r\n \"idleTimeoutInMinutes\": 4,\r\n \"ipTags\": []\r\n },\r\n \"type\": \"Microsoft.Network/publicIPAddresses\",\r\n \ \"sku\": {\r\n \"name\": \"Standard\",\r\n \"tier\": \"Regional\"\r\n @@ -299,7 +288,7 @@ interactions: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/bd6be3a9-bd0e-4caa-9cc5-c872787c8713?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/de37773b-ca5a-4e1c-9dfb-3add1586cbb6?api-version=2021-02-01 cache-control: - no-cache content-length: @@ -307,7 +296,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Jan 2021 09:10:31 GMT + - Wed, 19 May 2021 11:26:11 GMT expires: - '-1' pragma: @@ -320,9 +309,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - ae6d4855-b881-4756-bfa3-f66568a12f82 + - 09ddb549-dff0-413c-afcd-00d80a9d13be x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1192' status: code: 201 message: Created @@ -340,9 +329,9 @@ interactions: ParameterSetName: - -g -n --sku User-Agent: - - AZURECLI/2.17.1 azsdk-python-azure-mgmt-network/17.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/bd6be3a9-bd0e-4caa-9cc5-c872787c8713?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/de37773b-ca5a-4e1c-9dfb-3add1586cbb6?api-version=2021-02-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -354,7 +343,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Jan 2021 09:10:32 GMT + - Wed, 19 May 2021 11:26:13 GMT expires: - '-1' pragma: @@ -371,7 +360,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 1fde6379-8257-4c74-88d2-ee517e8f9c3c + - 4f4032a1-f514-4f18-b61e-fe73ffc237e0 status: code: 200 message: OK @@ -389,16 +378,16 @@ interactions: ParameterSetName: - -g -n --sku User-Agent: - - AZURECLI/2.17.1 azsdk-python-azure-mgmt-network/17.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip?api-version=2020-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip?api-version=2021-02-01 response: body: - string: "{\r\n \"name\": \"pubip\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip\",\r\n - \ \"etag\": \"W/\\\"c7d56cc5-1b11-4869-942d-3a4e6228b92b\\\"\",\r\n \"location\": + string: "{\r\n \"name\": \"pubip\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip\",\r\n + \ \"etag\": \"W/\\\"cc603a28-4798-4443-924a-d270bbf1197c\\\"\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"71f29f98-c2bd-457b-923b-d74c47df086a\",\r\n \"ipAddress\": - \"157.56.162.137\",\r\n \"publicIPAddressVersion\": \"IPv4\",\r\n \"publicIPAllocationMethod\": + \ \"resourceGuid\": \"eacc1e66-ed7d-48e9-baad-01cd6624fcb6\",\r\n \"ipAddress\": + \"137.135.9.73\",\r\n \"publicIPAddressVersion\": \"IPv4\",\r\n \"publicIPAllocationMethod\": \"Static\",\r\n \"idleTimeoutInMinutes\": 4,\r\n \"ipTags\": []\r\n \ },\r\n \"type\": \"Microsoft.Network/publicIPAddresses\",\r\n \"sku\": {\r\n \"name\": \"Standard\",\r\n \"tier\": \"Regional\"\r\n }\r\n}" @@ -406,13 +395,13 @@ interactions: cache-control: - no-cache content-length: - - '722' + - '720' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Jan 2021 09:10:33 GMT + - Wed, 19 May 2021 11:26:13 GMT etag: - - W/"c7d56cc5-1b11-4869-942d-3a4e6228b92b" + - W/"cc603a28-4798-4443-924a-d270bbf1197c" expires: - '-1' pragma: @@ -429,7 +418,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 20e5235c-acfe-47a0-9ce4-0c5a655860cb + - 2fb1bede-d451-422f-baad-d4af327823f0 status: code: 200 message: OK @@ -447,15 +436,12 @@ interactions: ParameterSetName: - -g -n --sku User-Agent: - - python/3.7.3 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.17.1 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-resource/16.1.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_azure_firewall_management_ip_config000001?api-version=2020-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test_azure_firewall_management_ip_config000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001","name":"cli_test_azure_firewall_management_ip_config000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-01-19T09:10:06Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001","name":"test_azure_firewall_management_ip_config000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-05-19T11:25:44Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -464,7 +450,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Jan 2021 09:10:34 GMT + - Wed, 19 May 2021 11:26:14 GMT expires: - '-1' pragma: @@ -497,15 +483,15 @@ interactions: ParameterSetName: - -g -n --sku User-Agent: - - AZURECLI/2.17.1 azsdk-python-azure-mgmt-network/17.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip2?api-version=2020-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip2?api-version=2021-02-01 response: body: - string: "{\r\n \"name\": \"pubip2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip2\",\r\n - \ \"etag\": \"W/\\\"90c82cb8-a185-4f10-a946-d502d09c1d15\\\"\",\r\n \"location\": + string: "{\r\n \"name\": \"pubip2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip2\",\r\n + \ \"etag\": \"W/\\\"8f355908-ff16-4b6c-820f-728edcd323a0\\\"\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"resourceGuid\": \"2eeeef40-a47a-4d6c-b11c-e69834771cf3\",\r\n \"publicIPAddressVersion\": + \ \"resourceGuid\": \"06441896-09a8-404d-ae0d-f8a33f81d034\",\r\n \"publicIPAddressVersion\": \"IPv4\",\r\n \"publicIPAllocationMethod\": \"Static\",\r\n \"idleTimeoutInMinutes\": 4,\r\n \"ipTags\": []\r\n },\r\n \"type\": \"Microsoft.Network/publicIPAddresses\",\r\n \ \"sku\": {\r\n \"name\": \"Standard\",\r\n \"tier\": \"Regional\"\r\n @@ -514,7 +500,7 @@ interactions: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/c0947402-057a-4831-9d43-529e80ec890f?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/679c8158-5634-47f0-8658-74e0d82c2a6a?api-version=2021-02-01 cache-control: - no-cache content-length: @@ -522,7 +508,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Jan 2021 09:10:40 GMT + - Wed, 19 May 2021 11:26:17 GMT expires: - '-1' pragma: @@ -535,9 +521,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - d8d4a88e-b9b9-4666-bdbe-c410763c9738 + - 8ab5a144-d716-45f2-a40a-31ec691b9ef6 x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1186' status: code: 201 message: Created @@ -555,9 +541,9 @@ interactions: ParameterSetName: - -g -n --sku User-Agent: - - AZURECLI/2.17.1 azsdk-python-azure-mgmt-network/17.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/c0947402-057a-4831-9d43-529e80ec890f?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/679c8158-5634-47f0-8658-74e0d82c2a6a?api-version=2021-02-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -569,7 +555,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Jan 2021 09:10:41 GMT + - Wed, 19 May 2021 11:26:18 GMT expires: - '-1' pragma: @@ -586,7 +572,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 5ecac361-caf6-48aa-a38e-2d1ea0c5be3e + - dba8a92f-6048-4ff5-962f-393b7859ec6c status: code: 200 message: OK @@ -604,16 +590,16 @@ interactions: ParameterSetName: - -g -n --sku User-Agent: - - AZURECLI/2.17.1 azsdk-python-azure-mgmt-network/17.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip2?api-version=2020-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip2?api-version=2021-02-01 response: body: - string: "{\r\n \"name\": \"pubip2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip2\",\r\n - \ \"etag\": \"W/\\\"e02a9038-a686-44c5-adec-b39ee6db91ae\\\"\",\r\n \"location\": + string: "{\r\n \"name\": \"pubip2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip2\",\r\n + \ \"etag\": \"W/\\\"c2a72571-8e1a-4fa4-9b5f-ebf9f655eeb5\\\"\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"2eeeef40-a47a-4d6c-b11c-e69834771cf3\",\r\n \"ipAddress\": - \"104.40.6.0\",\r\n \"publicIPAddressVersion\": \"IPv4\",\r\n \"publicIPAllocationMethod\": + \ \"resourceGuid\": \"06441896-09a8-404d-ae0d-f8a33f81d034\",\r\n \"ipAddress\": + \"65.52.117.143\",\r\n \"publicIPAddressVersion\": \"IPv4\",\r\n \"publicIPAllocationMethod\": \"Static\",\r\n \"idleTimeoutInMinutes\": 4,\r\n \"ipTags\": []\r\n \ },\r\n \"type\": \"Microsoft.Network/publicIPAddresses\",\r\n \"sku\": {\r\n \"name\": \"Standard\",\r\n \"tier\": \"Regional\"\r\n }\r\n}" @@ -621,13 +607,13 @@ interactions: cache-control: - no-cache content-length: - - '720' + - '723' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Jan 2021 09:10:41 GMT + - Wed, 19 May 2021 11:26:19 GMT etag: - - W/"e02a9038-a686-44c5-adec-b39ee6db91ae" + - W/"c2a72571-8e1a-4fa4-9b5f-ebf9f655eeb5" expires: - '-1' pragma: @@ -644,7 +630,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 6a6f62b7-57a2-4d1c-ab75-cbda1b7c0b39 + - e3883ab3-d0fe-48d1-9361-1d9d2d41f4e4 status: code: 200 message: OK @@ -662,15 +648,12 @@ interactions: ParameterSetName: - -g -n --sku User-Agent: - - python/3.7.3 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.17.1 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-resource/16.1.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_azure_firewall_management_ip_config000001?api-version=2020-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test_azure_firewall_management_ip_config000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001","name":"cli_test_azure_firewall_management_ip_config000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-01-19T09:10:06Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001","name":"test_azure_firewall_management_ip_config000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-05-19T11:25:44Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -679,7 +662,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Jan 2021 09:10:42 GMT + - Wed, 19 May 2021 11:26:19 GMT expires: - '-1' pragma: @@ -712,15 +695,15 @@ interactions: ParameterSetName: - -g -n --sku User-Agent: - - AZURECLI/2.17.1 azsdk-python-azure-mgmt-network/17.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip3?api-version=2020-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip3?api-version=2021-02-01 response: body: - string: "{\r\n \"name\": \"pubip3\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip3\",\r\n - \ \"etag\": \"W/\\\"8b15c244-5916-49f3-8c04-a00c5b3a1764\\\"\",\r\n \"location\": + string: "{\r\n \"name\": \"pubip3\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip3\",\r\n + \ \"etag\": \"W/\\\"22bb0c7e-3052-4dbc-a240-fc94451ca94e\\\"\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"resourceGuid\": \"49c570de-a353-4b93-8f48-0a003a38c79a\",\r\n \"publicIPAddressVersion\": + \ \"resourceGuid\": \"e655980e-58e6-4933-9270-afe398a71fca\",\r\n \"publicIPAddressVersion\": \"IPv4\",\r\n \"publicIPAllocationMethod\": \"Static\",\r\n \"idleTimeoutInMinutes\": 4,\r\n \"ipTags\": []\r\n },\r\n \"type\": \"Microsoft.Network/publicIPAddresses\",\r\n \ \"sku\": {\r\n \"name\": \"Standard\",\r\n \"tier\": \"Regional\"\r\n @@ -729,7 +712,7 @@ interactions: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/b8a8cc19-c918-415d-bf0f-38b2c5eb0ee6?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/112a249b-1c30-4f05-ac81-218d41c28ab7?api-version=2021-02-01 cache-control: - no-cache content-length: @@ -737,7 +720,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Jan 2021 09:10:48 GMT + - Wed, 19 May 2021 11:26:25 GMT expires: - '-1' pragma: @@ -750,9 +733,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 1be54460-f805-4067-9cc4-16aa6ac534b8 + - e48fbeda-6ad3-414a-b042-24b5647478e7 x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1189' status: code: 201 message: Created @@ -770,9 +753,9 @@ interactions: ParameterSetName: - -g -n --sku User-Agent: - - AZURECLI/2.17.1 azsdk-python-azure-mgmt-network/17.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/b8a8cc19-c918-415d-bf0f-38b2c5eb0ee6?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/112a249b-1c30-4f05-ac81-218d41c28ab7?api-version=2021-02-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -784,7 +767,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Jan 2021 09:10:49 GMT + - Wed, 19 May 2021 11:26:27 GMT expires: - '-1' pragma: @@ -801,7 +784,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 0845f6fb-2a5e-4d66-bf84-8e8618057f8a + - 7293a312-1371-49ea-a42b-e464b51f3e10 status: code: 200 message: OK @@ -819,16 +802,16 @@ interactions: ParameterSetName: - -g -n --sku User-Agent: - - AZURECLI/2.17.1 azsdk-python-azure-mgmt-network/17.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip3?api-version=2020-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip3?api-version=2021-02-01 response: body: - string: "{\r\n \"name\": \"pubip3\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip3\",\r\n - \ \"etag\": \"W/\\\"e2603d49-c594-47c2-bdf5-7ac8c6157572\\\"\",\r\n \"location\": + string: "{\r\n \"name\": \"pubip3\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip3\",\r\n + \ \"etag\": \"W/\\\"d7ed9838-4867-4ed5-9751-dd6e884cbcb4\\\"\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"49c570de-a353-4b93-8f48-0a003a38c79a\",\r\n \"ipAddress\": - \"157.56.165.89\",\r\n \"publicIPAddressVersion\": \"IPv4\",\r\n \"publicIPAllocationMethod\": + \ \"resourceGuid\": \"e655980e-58e6-4933-9270-afe398a71fca\",\r\n \"ipAddress\": + \"168.62.198.182\",\r\n \"publicIPAddressVersion\": \"IPv4\",\r\n \"publicIPAllocationMethod\": \"Static\",\r\n \"idleTimeoutInMinutes\": 4,\r\n \"ipTags\": []\r\n \ },\r\n \"type\": \"Microsoft.Network/publicIPAddresses\",\r\n \"sku\": {\r\n \"name\": \"Standard\",\r\n \"tier\": \"Regional\"\r\n }\r\n}" @@ -836,13 +819,13 @@ interactions: cache-control: - no-cache content-length: - - '723' + - '724' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Jan 2021 09:10:50 GMT + - Wed, 19 May 2021 11:26:27 GMT etag: - - W/"e2603d49-c594-47c2-bdf5-7ac8c6157572" + - W/"d7ed9838-4867-4ed5-9751-dd6e884cbcb4" expires: - '-1' pragma: @@ -859,7 +842,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 62597dab-3d6d-4b0b-9da6-9a678147fbfd + - 70d94d75-5847-4ad9-a005-32c212bd9d51 status: code: 200 message: OK @@ -877,15 +860,12 @@ interactions: ParameterSetName: - -g -n --sku User-Agent: - - python/3.7.3 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.17.1 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-resource/16.1.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_azure_firewall_management_ip_config000001?api-version=2020-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test_azure_firewall_management_ip_config000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001","name":"cli_test_azure_firewall_management_ip_config000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-01-19T09:10:06Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001","name":"test_azure_firewall_management_ip_config000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-05-19T11:25:44Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -894,7 +874,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Jan 2021 09:10:51 GMT + - Wed, 19 May 2021 11:26:27 GMT expires: - '-1' pragma: @@ -927,15 +907,15 @@ interactions: ParameterSetName: - -g -n --sku User-Agent: - - AZURECLI/2.17.1 azsdk-python-azure-mgmt-network/17.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip4?api-version=2020-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip4?api-version=2021-02-01 response: body: - string: "{\r\n \"name\": \"pubip4\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip4\",\r\n - \ \"etag\": \"W/\\\"4db616f2-9bd7-43c4-a1d5-d3204a979593\\\"\",\r\n \"location\": + string: "{\r\n \"name\": \"pubip4\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip4\",\r\n + \ \"etag\": \"W/\\\"993b4429-c086-4502-8708-6017c66911ec\\\"\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"resourceGuid\": \"c532738f-798f-4056-b56d-61fbc3f23baa\",\r\n \"publicIPAddressVersion\": + \ \"resourceGuid\": \"254da330-8d94-43a0-a428-ccfde6954f7f\",\r\n \"publicIPAddressVersion\": \"IPv4\",\r\n \"publicIPAllocationMethod\": \"Static\",\r\n \"idleTimeoutInMinutes\": 4,\r\n \"ipTags\": []\r\n },\r\n \"type\": \"Microsoft.Network/publicIPAddresses\",\r\n \ \"sku\": {\r\n \"name\": \"Standard\",\r\n \"tier\": \"Regional\"\r\n @@ -944,7 +924,7 @@ interactions: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7661fe54-df92-4487-826b-7660da77816f?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/c29617ec-0fcb-4596-9bd0-25d0c1beef81?api-version=2021-02-01 cache-control: - no-cache content-length: @@ -952,7 +932,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Jan 2021 09:10:56 GMT + - Wed, 19 May 2021 11:26:34 GMT expires: - '-1' pragma: @@ -965,9 +945,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - d75ebbe3-d5f2-48aa-87e2-873bf461f4e9 + - ef036b69-f4a6-4f99-89d0-9bbaa8c10a6a x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1192' status: code: 201 message: Created @@ -985,9 +965,9 @@ interactions: ParameterSetName: - -g -n --sku User-Agent: - - AZURECLI/2.17.1 azsdk-python-azure-mgmt-network/17.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7661fe54-df92-4487-826b-7660da77816f?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/c29617ec-0fcb-4596-9bd0-25d0c1beef81?api-version=2021-02-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -999,7 +979,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Jan 2021 09:10:57 GMT + - Wed, 19 May 2021 11:26:35 GMT expires: - '-1' pragma: @@ -1016,7 +996,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - cfbf2391-c391-4582-b9ce-ea8fe5057242 + - 5e66db07-0d4c-4b7c-b406-39086acac595 status: code: 200 message: OK @@ -1034,16 +1014,16 @@ interactions: ParameterSetName: - -g -n --sku User-Agent: - - AZURECLI/2.17.1 azsdk-python-azure-mgmt-network/17.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip4?api-version=2020-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip4?api-version=2021-02-01 response: body: - string: "{\r\n \"name\": \"pubip4\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip4\",\r\n - \ \"etag\": \"W/\\\"6704831c-673b-4969-b36a-7e9b4deee8a8\\\"\",\r\n \"location\": + string: "{\r\n \"name\": \"pubip4\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip4\",\r\n + \ \"etag\": \"W/\\\"9aa6eb52-0917-4807-a68b-7f4d268c8934\\\"\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"c532738f-798f-4056-b56d-61fbc3f23baa\",\r\n \"ipAddress\": - \"104.40.9.17\",\r\n \"publicIPAddressVersion\": \"IPv4\",\r\n \"publicIPAllocationMethod\": + \ \"resourceGuid\": \"254da330-8d94-43a0-a428-ccfde6954f7f\",\r\n \"ipAddress\": + \"104.42.97.214\",\r\n \"publicIPAddressVersion\": \"IPv4\",\r\n \"publicIPAllocationMethod\": \"Static\",\r\n \"idleTimeoutInMinutes\": 4,\r\n \"ipTags\": []\r\n \ },\r\n \"type\": \"Microsoft.Network/publicIPAddresses\",\r\n \"sku\": {\r\n \"name\": \"Standard\",\r\n \"tier\": \"Regional\"\r\n }\r\n}" @@ -1051,13 +1031,13 @@ interactions: cache-control: - no-cache content-length: - - '721' + - '723' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Jan 2021 09:10:57 GMT + - Wed, 19 May 2021 11:26:35 GMT etag: - - W/"6704831c-673b-4969-b36a-7e9b4deee8a8" + - W/"9aa6eb52-0917-4807-a68b-7f4d268c8934" expires: - '-1' pragma: @@ -1074,7 +1054,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 845e59e3-3609-4cb8-824c-ee07593caccf + - b79fc6ac-5aa9-4e93-ab41-eaef7a39bca4 status: code: 200 message: OK @@ -1092,15 +1072,12 @@ interactions: ParameterSetName: - -g -n --subnet-name --address-prefixes --subnet-prefixes User-Agent: - - python/3.7.3 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.17.1 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-resource/16.1.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_azure_firewall_management_ip_config000001?api-version=2020-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test_azure_firewall_management_ip_config000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001","name":"cli_test_azure_firewall_management_ip_config000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-01-19T09:10:06Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001","name":"test_azure_firewall_management_ip_config000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-05-19T11:25:44Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -1109,7 +1086,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Jan 2021 09:10:58 GMT + - Wed, 19 May 2021 11:26:35 GMT expires: - '-1' pragma: @@ -1126,7 +1103,8 @@ interactions: - request: body: '{"location": "westus", "tags": {}, "properties": {"addressSpace": {"addressPrefixes": ["10.0.0.0/16"]}, "dhcpOptions": {}, "subnets": [{"name": "AzureFirewallSubnet", - "properties": {"addressPrefix": "10.0.0.0/24"}}]}}' + "properties": {"addressPrefix": "10.0.0.0/24", "privateEndpointNetworkPolicies": + "Enabled", "privateLinkServiceNetworkPolicies": "Enabled"}}]}}' headers: Accept: - application/json @@ -1137,46 +1115,46 @@ interactions: Connection: - keep-alive Content-Length: - - '217' + - '310' Content-Type: - application/json ParameterSetName: - -g -n --subnet-name --address-prefixes --subnet-prefixes User-Agent: - - AZURECLI/2.17.1 azsdk-python-azure-mgmt-network/17.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet?api-version=2021-02-01 response: body: - string: "{\r\n \"name\": \"myvnet\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet\",\r\n - \ \"etag\": \"W/\\\"a92e5f2d-0de9-45db-adb6-169667808119\\\"\",\r\n \"type\": + string: "{\r\n \"name\": \"myvnet\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet\",\r\n + \ \"etag\": \"W/\\\"bf09a32a-3f85-4477-a57d-a0f5e1ca09a1\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus\",\r\n \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"resourceGuid\": \"f1bbdd7d-7a14-45de-b820-039bfcbdaf55\",\r\n \"addressSpace\": + \ \"resourceGuid\": \"e615da75-5bfd-4048-ac6b-e4ee24fce9f0\",\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\": \"AzureFirewallSubnet\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/AzureFirewallSubnet\",\r\n - \ \"etag\": \"W/\\\"a92e5f2d-0de9-45db-adb6-169667808119\\\"\",\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/AzureFirewallSubnet\",\r\n + \ \"etag\": \"W/\\\"bf09a32a-3f85-4477-a57d-a0f5e1ca09a1\\\"\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \ \"addressPrefix\": \"10.0.0.0/24\",\r\n \"delegations\": [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n \ }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": - false,\r\n \"enableVmProtection\": false\r\n }\r\n}" + false\r\n }\r\n}" headers: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/4008b015-5fcd-4468-b19a-409070b741b8?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8d7c4c64-ab34-49d5-97ad-af0f9d898a07?api-version=2021-02-01 cache-control: - no-cache content-length: - - '1464' + - '1430' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Jan 2021 09:11:05 GMT + - Wed, 19 May 2021 11:26:42 GMT expires: - '-1' pragma: @@ -1189,9 +1167,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 2629b6be-fc98-4600-b31c-5934e90a919c + - fab78b09-9128-4369-8030-b11e7d9506a9 x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1195' status: code: 201 message: Created @@ -1209,9 +1187,9 @@ interactions: ParameterSetName: - -g -n --subnet-name --address-prefixes --subnet-prefixes User-Agent: - - AZURECLI/2.17.1 azsdk-python-azure-mgmt-network/17.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/4008b015-5fcd-4468-b19a-409070b741b8?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8d7c4c64-ab34-49d5-97ad-af0f9d898a07?api-version=2021-02-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -1223,7 +1201,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Jan 2021 09:11:08 GMT + - Wed, 19 May 2021 11:26:45 GMT expires: - '-1' pragma: @@ -1240,7 +1218,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - c55d2cf1-fcad-4303-b53b-85f4d0b33372 + - 73317fc0-0ec6-4ec6-be67-9e7474865081 status: code: 200 message: OK @@ -1258,38 +1236,38 @@ interactions: ParameterSetName: - -g -n --subnet-name --address-prefixes --subnet-prefixes User-Agent: - - AZURECLI/2.17.1 azsdk-python-azure-mgmt-network/17.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet?api-version=2021-02-01 response: body: - string: "{\r\n \"name\": \"myvnet\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet\",\r\n - \ \"etag\": \"W/\\\"c198abb1-0525-4798-bd4f-4e73b0168832\\\"\",\r\n \"type\": + string: "{\r\n \"name\": \"myvnet\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet\",\r\n + \ \"etag\": \"W/\\\"4c6c9dfd-6dbe-4ad4-835d-edfdfa63239d\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus\",\r\n \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"f1bbdd7d-7a14-45de-b820-039bfcbdaf55\",\r\n \"addressSpace\": + \ \"resourceGuid\": \"e615da75-5bfd-4048-ac6b-e4ee24fce9f0\",\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\": \"AzureFirewallSubnet\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/AzureFirewallSubnet\",\r\n - \ \"etag\": \"W/\\\"c198abb1-0525-4798-bd4f-4e73b0168832\\\"\",\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/AzureFirewallSubnet\",\r\n + \ \"etag\": \"W/\\\"4c6c9dfd-6dbe-4ad4-835d-edfdfa63239d\\\"\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \ \"addressPrefix\": \"10.0.0.0/24\",\r\n \"delegations\": [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n \ }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": - false,\r\n \"enableVmProtection\": false\r\n }\r\n}" + false\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '1466' + - '1432' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Jan 2021 09:11:08 GMT + - Wed, 19 May 2021 11:26:46 GMT etag: - - W/"c198abb1-0525-4798-bd4f-4e73b0168832" + - W/"4c6c9dfd-6dbe-4ad4-835d-edfdfa63239d" expires: - '-1' pragma: @@ -1306,7 +1284,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 49589be9-7292-4d5a-8960-924e5f4f74fa + - e1aa0290-40d8-4c89-a438-65d859823c93 status: code: 200 message: OK @@ -1318,97 +1296,112 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network vnet create + - network firewall ip-config create Connection: - keep-alive ParameterSetName: - - -g -n --subnet-name --address-prefixes --subnet-prefixes + - -g -n -f --public-ip-address --vnet-name User-Agent: - - python/3.7.3 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.17.1 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_azure_firewall_management_ip_config000001?api-version=2020-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2020-07-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001","name":"cli_test_azure_firewall_management_ip_config000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-01-19T09:10:06Z"},"properties":{"provisioningState":"Succeeded"}}' + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n + \ \"etag\": \"W/\\\"65eb80ef-1a1e-40b8-aca1-ad8ac9cccbee\\\"\",\r\n \"type\": + \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": + \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": + \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": + [],\r\n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\": + [],\r\n \"natRuleCollections\": []\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '428' + - '691' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Jan 2021 09:11:09 GMT + - Wed, 19 May 2021 11:26:46 GMT + etag: + - W/"65eb80ef-1a1e-40b8-aca1-ad8ac9cccbee" 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 + x-ms-arm-service-request-id: + - f126452a-77dc-4981-adf9-aa869a4499cd status: code: 200 message: OK - request: - body: '{"location": "westus", "tags": {}, "properties": {"addressSpace": {"addressPrefixes": - ["10.0.0.0/16"]}, "dhcpOptions": {}, "subnets": [{"name": "AzureFirewallManagementSubnet", - "properties": {"addressPrefix": "10.0.0.0/24"}}]}}' + body: '{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1", + "location": "westus", "properties": {"applicationRuleCollections": [], "natRuleCollections": + [], "networkRuleCollections": [], "ipConfigurations": [{"name": "myipconfig3", + "properties": {"subnet": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/AzureFirewallSubnet"}, + "publicIPAddress": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip3"}}}], + "threatIntelMode": "Alert", "sku": {"name": "AZFW_VNet", "tier": "Standard"}, + "additionalProperties": {}}}' headers: Accept: - application/json Accept-Encoding: - gzip, deflate CommandName: - - network vnet create + - network firewall ip-config create Connection: - keep-alive Content-Length: - - '227' + - '965' Content-Type: - application/json ParameterSetName: - - -g -n --subnet-name --address-prefixes --subnet-prefixes + - -g -n -f --public-ip-address --vnet-name User-Agent: - - AZURECLI/2.17.1 azsdk-python-azure-mgmt-network/17.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet2?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2020-07-01 response: body: - string: "{\r\n \"name\": \"myvnet2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet2\",\r\n - \ \"etag\": \"W/\\\"3ccbf493-85c8-40c6-a836-b39acf89383d\\\"\",\r\n \"type\": - \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus\",\r\n - \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"resourceGuid\": \"7b8daa61-9f3a-42c7-8646-47fbfa0a8404\",\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\": \"AzureFirewallManagementSubnet\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet2/subnets/AzureFirewallManagementSubnet\",\r\n - \ \"etag\": \"W/\\\"3ccbf493-85c8-40c6-a836-b39acf89383d\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"addressPrefix\": \"10.0.0.0/24\",\r\n \"delegations\": - [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": - \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n - \ }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": - false,\r\n \"enableVmProtection\": false\r\n }\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n + \ \"etag\": \"W/\\\"eae36b46-172b-4dbc-a283-1ce02aa8fd89\\\"\",\r\n \"type\": + \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"sku\": {\r\n \"name\": + \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": + \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": + [\r\n {\r\n \"name\": \"myipconfig3\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1/azureFirewallIpConfigurations/myipconfig3\",\r\n + \ \"etag\": \"W/\\\"eae36b46-172b-4dbc-a283-1ce02aa8fd89\\\"\",\r\n + \ \"type\": \"Microsoft.Network/azureFirewalls/azureFirewallIpConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"privateIPAllocationMethod\": \"Dynamic\",\r\n \"publicIPAddress\": + {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip3\"\r\n + \ },\r\n \"subnet\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/AzureFirewallSubnet\"\r\n + \ }\r\n }\r\n }\r\n ],\r\n \"networkRuleCollections\": + [],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\": + []\r\n }\r\n}" headers: - azure-asyncnotification: - - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/b943ef37-64ab-443f-9ee2-7479258c395a?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/da377f3d-e2f8-499a-8b11-46157a1ad048?api-version=2020-07-01 cache-control: - no-cache content-length: - - '1487' + - '1816' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Jan 2021 09:11:11 GMT + - Wed, 19 May 2021 11:26:46 GMT expires: - '-1' pragma: @@ -1418,15 +1411,19 @@ interactions: - Microsoft-HTTPAPI/2.0 strict-transport-security: - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 65e40be3-1a91-423d-97a6-3eae71c3cdb4 + - ae44adc6-8b0c-4ae6-b235-93ac0b18c05e x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1189' status: - code: 201 - message: Created + code: 200 + message: OK - request: body: null headers: @@ -1435,27 +1432,27 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network vnet create + - network firewall ip-config create Connection: - keep-alive ParameterSetName: - - -g -n --subnet-name --address-prefixes --subnet-prefixes + - -g -n -f --public-ip-address --vnet-name User-Agent: - - AZURECLI/2.17.1 azsdk-python-azure-mgmt-network/17.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/b943ef37-64ab-443f-9ee2-7479258c395a?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/da377f3d-e2f8-499a-8b11-46157a1ad048?api-version=2020-07-01 response: body: - string: "{\r\n \"status\": \"Succeeded\"\r\n}" + string: "{\r\n \"status\": \"InProgress\"\r\n}" headers: cache-control: - no-cache content-length: - - '29' + - '30' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Jan 2021 09:11:15 GMT + - Wed, 19 May 2021 11:26:58 GMT expires: - '-1' pragma: @@ -1472,7 +1469,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 5339cb48-d085-4563-8fc7-909ff2d70092 + - 76711989-4e0e-4143-b59d-6665c24185e5 status: code: 200 message: OK @@ -1484,44 +1481,27 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network vnet create + - network firewall ip-config create Connection: - keep-alive ParameterSetName: - - -g -n --subnet-name --address-prefixes --subnet-prefixes + - -g -n -f --public-ip-address --vnet-name User-Agent: - - AZURECLI/2.17.1 azsdk-python-azure-mgmt-network/17.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet2?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/da377f3d-e2f8-499a-8b11-46157a1ad048?api-version=2020-07-01 response: body: - string: "{\r\n \"name\": \"myvnet2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet2\",\r\n - \ \"etag\": \"W/\\\"30da4b8a-5dd6-4175-a87e-ca32a39057bf\\\"\",\r\n \"type\": - \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus\",\r\n - \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"7b8daa61-9f3a-42c7-8646-47fbfa0a8404\",\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\": \"AzureFirewallManagementSubnet\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet2/subnets/AzureFirewallManagementSubnet\",\r\n - \ \"etag\": \"W/\\\"30da4b8a-5dd6-4175-a87e-ca32a39057bf\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"addressPrefix\": \"10.0.0.0/24\",\r\n \"delegations\": - [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": - \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n - \ }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": - false,\r\n \"enableVmProtection\": false\r\n }\r\n}" + string: "{\r\n \"status\": \"InProgress\"\r\n}" headers: cache-control: - no-cache content-length: - - '1489' + - '30' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Jan 2021 09:11:15 GMT - etag: - - W/"30da4b8a-5dd6-4175-a87e-ca32a39057bf" + - Wed, 19 May 2021 11:27:08 GMT expires: - '-1' pragma: @@ -1538,7 +1518,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 8eb6554e-9305-43dd-a7bd-38b17ade9f89 + - c7cdc3d1-3a99-4836-b29c-c719649bd3b8 status: code: 200 message: OK @@ -1546,101 +1526,31 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - network vnet create + - network firewall ip-config create Connection: - keep-alive ParameterSetName: - - -g -n --subnet-name --address-prefixes --subnet-prefixes + - -g -n -f --public-ip-address --vnet-name User-Agent: - - python/3.7.3 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.17.1 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_azure_firewall_management_ip_config000001?api-version=2020-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/da377f3d-e2f8-499a-8b11-46157a1ad048?api-version=2020-07-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001","name":"cli_test_azure_firewall_management_ip_config000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-01-19T09:10:06Z"},"properties":{"provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '428' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 19 Jan 2021 09:11:16 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: '{"location": "westus", "tags": {}, "properties": {"addressSpace": {"addressPrefixes": - ["10.0.0.0/16"]}, "dhcpOptions": {}, "subnets": [{"name": "AzureFirewallManagementSubnet", - "properties": {"addressPrefix": "10.0.0.0/24"}}]}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network vnet create - Connection: - - keep-alive - Content-Length: - - '227' - Content-Type: - - application/json - ParameterSetName: - - -g -n --subnet-name --address-prefixes --subnet-prefixes - User-Agent: - - AZURECLI/2.17.1 azsdk-python-azure-mgmt-network/17.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet4?api-version=2020-07-01 - response: - body: - string: "{\r\n \"name\": \"myvnet4\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet4\",\r\n - \ \"etag\": \"W/\\\"5bb960c8-dedc-4cf2-831d-6125b96c30dd\\\"\",\r\n \"type\": - \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus\",\r\n - \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"resourceGuid\": \"c581f4be-5fce-4bef-affc-4cdcd208c536\",\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\": \"AzureFirewallManagementSubnet\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet4/subnets/AzureFirewallManagementSubnet\",\r\n - \ \"etag\": \"W/\\\"5bb960c8-dedc-4cf2-831d-6125b96c30dd\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"addressPrefix\": \"10.0.0.0/24\",\r\n \"delegations\": - [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": - \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n - \ }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": - false,\r\n \"enableVmProtection\": false\r\n }\r\n}" + string: "{\r\n \"status\": \"InProgress\"\r\n}" headers: - azure-asyncnotification: - - Enabled - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6134b09d-1af0-47a3-8efb-e95e4941ba27?api-version=2020-07-01 cache-control: - no-cache content-length: - - '1487' + - '30' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Jan 2021 09:11:21 GMT + - Wed, 19 May 2021 11:27:28 GMT expires: - '-1' pragma: @@ -1650,15 +1560,17 @@ interactions: - Microsoft-HTTPAPI/2.0 strict-transport-security: - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding x-content-type-options: - nosniff x-ms-arm-service-request-id: - - bd6ee1fa-d7ed-41b3-bada-c2359ba3588d - x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - bae8ed2a-513f-4142-a09a-f228cc81ab82 status: - code: 201 - message: Created + code: 200 + message: OK - request: body: null headers: @@ -1667,27 +1579,27 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network vnet create + - network firewall ip-config create Connection: - keep-alive ParameterSetName: - - -g -n --subnet-name --address-prefixes --subnet-prefixes + - -g -n -f --public-ip-address --vnet-name User-Agent: - - AZURECLI/2.17.1 azsdk-python-azure-mgmt-network/17.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6134b09d-1af0-47a3-8efb-e95e4941ba27?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/da377f3d-e2f8-499a-8b11-46157a1ad048?api-version=2020-07-01 response: body: - string: "{\r\n \"status\": \"Succeeded\"\r\n}" + string: "{\r\n \"status\": \"InProgress\"\r\n}" headers: cache-control: - no-cache content-length: - - '29' + - '30' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Jan 2021 09:11:24 GMT + - Wed, 19 May 2021 11:28:08 GMT expires: - '-1' pragma: @@ -1704,7 +1616,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 8649c887-f02e-4bad-ad17-c32a8a05e92e + - f78f0588-dd1d-4229-b386-37051b16845b status: code: 200 message: OK @@ -1716,44 +1628,27 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network vnet create + - network firewall ip-config create Connection: - keep-alive ParameterSetName: - - -g -n --subnet-name --address-prefixes --subnet-prefixes + - -g -n -f --public-ip-address --vnet-name User-Agent: - - AZURECLI/2.17.1 azsdk-python-azure-mgmt-network/17.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet4?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/da377f3d-e2f8-499a-8b11-46157a1ad048?api-version=2020-07-01 response: body: - string: "{\r\n \"name\": \"myvnet4\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet4\",\r\n - \ \"etag\": \"W/\\\"e74be2e6-5b32-4374-aaa7-c5d666efbc31\\\"\",\r\n \"type\": - \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus\",\r\n - \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"c581f4be-5fce-4bef-affc-4cdcd208c536\",\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\": \"AzureFirewallManagementSubnet\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet4/subnets/AzureFirewallManagementSubnet\",\r\n - \ \"etag\": \"W/\\\"e74be2e6-5b32-4374-aaa7-c5d666efbc31\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"addressPrefix\": \"10.0.0.0/24\",\r\n \"delegations\": - [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": - \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n - \ }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": - false,\r\n \"enableVmProtection\": false\r\n }\r\n}" + string: "{\r\n \"status\": \"InProgress\"\r\n}" headers: cache-control: - no-cache content-length: - - '1489' + - '30' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Jan 2021 09:11:25 GMT - etag: - - W/"e74be2e6-5b32-4374-aaa7-c5d666efbc31" + - Wed, 19 May 2021 11:29:28 GMT expires: - '-1' pragma: @@ -1770,7 +1665,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 1735b7df-28bb-49fa-a5a3-405fe819bde2 + - 75f37a32-01e6-4d97-a5aa-43ae0d3e87d7 status: code: 200 message: OK @@ -1778,7 +1673,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1788,33 +1683,21 @@ interactions: ParameterSetName: - -g -n -f --public-ip-address --vnet-name User-Agent: - - python/3.7.3 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-network/13.0.0 Azure-SDK-For-Python AZURECLI/2.17.1 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/da377f3d-e2f8-499a-8b11-46157a1ad048?api-version=2020-07-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"35ee5a5c-ddb0-4033-8453-6e94b4fa879a\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": - [],\r\n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\": - [],\r\n \"natRuleCollections\": []\r\n }\r\n}" + string: "{\r\n \"status\": \"Succeeded\"\r\n}" headers: cache-control: - no-cache content-length: - - '691' + - '29' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Jan 2021 09:11:25 GMT - etag: - - W/"35ee5a5c-ddb0-4033-8453-6e94b4fa879a" + - Wed, 19 May 2021 11:32:10 GMT expires: - '-1' pragma: @@ -1831,69 +1714,56 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 5f530aff-580b-4316-9726-1a84e80626e7 + - 493cb632-627a-428b-9039-5f2a8e1abf62 status: code: 200 message: OK - request: - body: '{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1", - "location": "westus", "properties": {"applicationRuleCollections": [], "natRuleCollections": - [], "networkRuleCollections": [], "ipConfigurations": [{"properties": {"subnet": - {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/AzureFirewallSubnet"}, - "publicIPAddress": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip3"}}, - "name": "myipconfig3"}], "threatIntelMode": "Alert", "sku": {"name": "AZFW_VNet", - "tier": "Standard"}, "additionalProperties": {}}}' + body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - network firewall ip-config create Connection: - keep-alive - Content-Length: - - '965' - Content-Type: - - application/json; charset=utf-8 ParameterSetName: - -g -n -f --public-ip-address --vnet-name User-Agent: - - python/3.7.3 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-network/13.0.0 Azure-SDK-For-Python AZURECLI/2.17.1 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2020-07-01 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2020-07-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"27ba4408-1189-45e4-8684-fde77c8bf3cf\\\"\",\r\n \"type\": + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n + \ \"etag\": \"W/\\\"c1133526-7f1c-48d9-97fa-30b0c023f955\\\"\",\r\n \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Updating\",\r\n \"sku\": {\r\n \"name\": + {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": - [\r\n {\r\n \"name\": \"myipconfig3\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1/azureFirewallIpConfigurations/myipconfig3\",\r\n - \ \"etag\": \"W/\\\"27ba4408-1189-45e4-8684-fde77c8bf3cf\\\"\",\r\n + [\r\n {\r\n \"name\": \"myipconfig3\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1/azureFirewallIpConfigurations/myipconfig3\",\r\n + \ \"etag\": \"W/\\\"c1133526-7f1c-48d9-97fa-30b0c023f955\\\"\",\r\n \ \"type\": \"Microsoft.Network/azureFirewalls/azureFirewallIpConfigurations\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"privateIPAllocationMethod\": \"Dynamic\",\r\n \"publicIPAddress\": - {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip3\"\r\n - \ },\r\n \"subnet\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/AzureFirewallSubnet\"\r\n + \ \"privateIPAddress\": \"10.0.0.4\",\r\n \"privateIPAllocationMethod\": + \"Dynamic\",\r\n \"publicIPAddress\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip3\"\r\n + \ },\r\n \"subnet\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/AzureFirewallSubnet\"\r\n \ }\r\n }\r\n }\r\n ],\r\n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\": []\r\n }\r\n}" headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/cfedaea5-bd70-46eb-8435-f4259eaf12bb?api-version=2020-07-01 cache-control: - no-cache content-length: - - '1816' + - '1860' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Jan 2021 09:11:26 GMT + - Wed, 19 May 2021 11:32:10 GMT + etag: + - W/"c1133526-7f1c-48d9-97fa-30b0c023f955" expires: - '-1' pragma: @@ -1910,9 +1780,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 4d41b151-2674-4ae1-a974-f297e47d9f12 - x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - d8646056-f1fe-4a2b-b10e-388815f5a811 status: code: 200 message: OK @@ -1924,28 +1792,44 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - network firewall ip-config create + - network firewall ip-config delete Connection: - keep-alive ParameterSetName: - - -g -n -f --public-ip-address --vnet-name + - -g -f -n User-Agent: - - python/3.7.3 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-network/13.0.0 Azure-SDK-For-Python AZURECLI/2.17.1 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/cfedaea5-bd70-46eb-8435-f4259eaf12bb?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2020-07-01 response: body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n + \ \"etag\": \"W/\\\"c1133526-7f1c-48d9-97fa-30b0c023f955\\\"\",\r\n \"type\": + \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": + \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": + \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": + [\r\n {\r\n \"name\": \"myipconfig3\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1/azureFirewallIpConfigurations/myipconfig3\",\r\n + \ \"etag\": \"W/\\\"c1133526-7f1c-48d9-97fa-30b0c023f955\\\"\",\r\n + \ \"type\": \"Microsoft.Network/azureFirewalls/azureFirewallIpConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"privateIPAddress\": \"10.0.0.4\",\r\n \"privateIPAllocationMethod\": + \"Dynamic\",\r\n \"publicIPAddress\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip3\"\r\n + \ },\r\n \"subnet\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/AzureFirewallSubnet\"\r\n + \ }\r\n }\r\n }\r\n ],\r\n \"networkRuleCollections\": + [],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\": + []\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '30' + - '1860' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Jan 2021 09:11:36 GMT + - Wed, 19 May 2021 11:32:12 GMT + etag: + - W/"c1133526-7f1c-48d9-97fa-30b0c023f955" expires: - '-1' pragma: @@ -1962,40 +1846,55 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - fbfe8ef9-5735-4ca2-bf30-e3d0300cc0b1 + - d2960400-f3aa-4438-8502-fe38a419fc28 status: code: 200 message: OK - request: - body: null + body: '{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1", + "location": "westus", "properties": {"applicationRuleCollections": [], "natRuleCollections": + [], "networkRuleCollections": [], "threatIntelMode": "Alert", "sku": {"name": + "AZFW_VNet", "tier": "Standard"}, "additionalProperties": {}}}' headers: Accept: - application/json Accept-Encoding: - gzip, deflate CommandName: - - network firewall ip-config create + - network firewall ip-config delete Connection: - keep-alive + Content-Length: + - '433' + Content-Type: + - application/json ParameterSetName: - - -g -n -f --public-ip-address --vnet-name + - -g -f -n User-Agent: - - python/3.7.3 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-network/13.0.0 Azure-SDK-For-Python AZURECLI/2.17.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/cfedaea5-bd70-46eb-8435-f4259eaf12bb?api-version=2020-07-01 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2020-07-01 response: body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n + \ \"etag\": \"W/\\\"5d8d7f93-fdcd-4af3-ac60-b53d0111b3dd\\\"\",\r\n \"type\": + \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Updating\",\r\n \"sku\": {\r\n \"name\": + \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": + \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": + [],\r\n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\": + [],\r\n \"natRuleCollections\": []\r\n }\r\n}" headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/89317779-6670-4e13-adf0-aeabbda7be17?api-version=2020-07-01 cache-control: - no-cache content-length: - - '30' + - '690' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Jan 2021 09:11:47 GMT + - Wed, 19 May 2021 11:32:12 GMT expires: - '-1' pragma: @@ -2012,7 +1911,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 20806447-0954-4b67-957c-f671f7f6323e + - f6fa6376-3773-4572-a2c6-965da9c9feef + x-ms-ratelimit-remaining-subscription-writes: + - '1190' status: code: 200 message: OK @@ -2020,20 +1921,19 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - network firewall ip-config create + - network firewall ip-config delete Connection: - keep-alive ParameterSetName: - - -g -n -f --public-ip-address --vnet-name + - -g -f -n User-Agent: - - python/3.7.3 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-network/13.0.0 Azure-SDK-For-Python AZURECLI/2.17.1 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/cfedaea5-bd70-46eb-8435-f4259eaf12bb?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/89317779-6670-4e13-adf0-aeabbda7be17?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2045,7 +1945,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Jan 2021 09:12:08 GMT + - Wed, 19 May 2021 11:32:22 GMT expires: - '-1' pragma: @@ -2062,7 +1962,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - b89d38fe-18d2-4500-bcb7-1c437b05b8d4 + - e1ae3e48-0fcc-4f1e-9e3e-e9c8175dbbc8 status: code: 200 message: OK @@ -2070,20 +1970,19 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - network firewall ip-config create + - network firewall ip-config delete Connection: - keep-alive ParameterSetName: - - -g -n -f --public-ip-address --vnet-name + - -g -f -n User-Agent: - - python/3.7.3 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-network/13.0.0 Azure-SDK-For-Python AZURECLI/2.17.1 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/cfedaea5-bd70-46eb-8435-f4259eaf12bb?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/89317779-6670-4e13-adf0-aeabbda7be17?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2095,7 +1994,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Jan 2021 09:12:48 GMT + - Wed, 19 May 2021 11:32:33 GMT expires: - '-1' pragma: @@ -2112,7 +2011,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 7ae8812c-e477-4b97-b3f5-2cbb4ba6863b + - 2b913ddc-6c41-411f-9437-0953b4be5b9b status: code: 200 message: OK @@ -2120,20 +2019,19 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - network firewall ip-config create + - network firewall ip-config delete Connection: - keep-alive ParameterSetName: - - -g -n -f --public-ip-address --vnet-name + - -g -f -n User-Agent: - - python/3.7.3 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-network/13.0.0 Azure-SDK-For-Python AZURECLI/2.17.1 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/cfedaea5-bd70-46eb-8435-f4259eaf12bb?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/89317779-6670-4e13-adf0-aeabbda7be17?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2145,57 +2043,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Jan 2021 09:14:08 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 - x-ms-arm-service-request-id: - - 5319976e-27ae-4c57-af1c-e60be1da3806 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall ip-config create - Connection: - - keep-alive - ParameterSetName: - - -g -n -f --public-ip-address --vnet-name - User-Agent: - - python/3.7.3 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-network/13.0.0 Azure-SDK-For-Python AZURECLI/2.17.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/cfedaea5-bd70-46eb-8435-f4259eaf12bb?api-version=2020-07-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, 19 Jan 2021 09:16:48 GMT + - Wed, 19 May 2021 11:32:53 GMT expires: - '-1' pragma: @@ -2212,7 +2060,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - ab9c3151-dcb8-40a3-a3d3-9fe186f194b7 + - 8be9f720-f4c7-483d-af4b-e73a681c5c70 status: code: 200 message: OK @@ -2220,49 +2068,31 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - network firewall ip-config create + - network firewall ip-config delete Connection: - keep-alive ParameterSetName: - - -g -n -f --public-ip-address --vnet-name + - -g -f -n User-Agent: - - python/3.7.3 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-network/13.0.0 Azure-SDK-For-Python AZURECLI/2.17.1 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/89317779-6670-4e13-adf0-aeabbda7be17?api-version=2020-07-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"4209abb5-b0ad-44a9-a859-e4eb085b075d\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": - [\r\n {\r\n \"name\": \"myipconfig3\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1/azureFirewallIpConfigurations/myipconfig3\",\r\n - \ \"etag\": \"W/\\\"4209abb5-b0ad-44a9-a859-e4eb085b075d\\\"\",\r\n - \ \"type\": \"Microsoft.Network/azureFirewalls/azureFirewallIpConfigurations\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"privateIPAddress\": \"10.0.0.4\",\r\n \"privateIPAllocationMethod\": - \"Dynamic\",\r\n \"publicIPAddress\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip3\"\r\n - \ },\r\n \"subnet\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/AzureFirewallSubnet\"\r\n - \ }\r\n }\r\n }\r\n ],\r\n \"networkRuleCollections\": - [],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\": - []\r\n }\r\n}" + string: "{\r\n \"status\": \"InProgress\"\r\n}" headers: cache-control: - no-cache content-length: - - '1860' + - '30' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Jan 2021 09:16:48 GMT - etag: - - W/"4209abb5-b0ad-44a9-a859-e4eb085b075d" + - Wed, 19 May 2021 11:33:33 GMT expires: - '-1' pragma: @@ -2279,7 +2109,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - c06b2da2-763e-42ec-bdc2-f891097aa259 + - 5e908ec1-b37c-4a33-99e2-68339c26b74d status: code: 200 message: OK @@ -2287,7 +2117,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -2297,41 +2127,21 @@ interactions: ParameterSetName: - -g -f -n User-Agent: - - python/3.7.3 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-network/13.0.0 Azure-SDK-For-Python AZURECLI/2.17.1 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/89317779-6670-4e13-adf0-aeabbda7be17?api-version=2020-07-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"4209abb5-b0ad-44a9-a859-e4eb085b075d\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": - [\r\n {\r\n \"name\": \"myipconfig3\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1/azureFirewallIpConfigurations/myipconfig3\",\r\n - \ \"etag\": \"W/\\\"4209abb5-b0ad-44a9-a859-e4eb085b075d\\\"\",\r\n - \ \"type\": \"Microsoft.Network/azureFirewalls/azureFirewallIpConfigurations\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"privateIPAddress\": \"10.0.0.4\",\r\n \"privateIPAllocationMethod\": - \"Dynamic\",\r\n \"publicIPAddress\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/publicIPAddresses/pubip3\"\r\n - \ },\r\n \"subnet\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/AzureFirewallSubnet\"\r\n - \ }\r\n }\r\n }\r\n ],\r\n \"networkRuleCollections\": - [],\r\n \"applicationRuleCollections\": [],\r\n \"natRuleCollections\": - []\r\n }\r\n}" + string: "{\r\n \"status\": \"InProgress\"\r\n}" headers: cache-control: - no-cache content-length: - - '1860' + - '30' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Jan 2021 09:16:49 GMT - etag: - - W/"4209abb5-b0ad-44a9-a859-e4eb085b075d" + - Wed, 19 May 2021 11:34:54 GMT expires: - '-1' pragma: @@ -2348,58 +2158,39 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 6831a519-4d34-45d6-9aaf-f5e152a8e57a + - 6ff35d76-b05b-4843-82b6-5007a1ce8939 status: code: 200 message: OK - request: - body: '{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1", - "location": "westus", "properties": {"applicationRuleCollections": [], "natRuleCollections": - [], "networkRuleCollections": [], "threatIntelMode": "Alert", "sku": {"name": - "AZFW_VNet", "tier": "Standard"}, "additionalProperties": {}}}' + body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - network firewall ip-config delete Connection: - keep-alive - Content-Length: - - '433' - Content-Type: - - application/json; charset=utf-8 ParameterSetName: - -g -f -n User-Agent: - - python/3.7.3 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-network/13.0.0 Azure-SDK-For-Python AZURECLI/2.17.1 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2020-07-01 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/89317779-6670-4e13-adf0-aeabbda7be17?api-version=2020-07-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"db16f2b0-0110-46e2-a42b-4668ef5a8096\\\"\",\r\n \"type\": - \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Updating\",\r\n \"sku\": {\r\n \"name\": - \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": - \"Alert\",\r\n \"additionalProperties\": {},\r\n \"ipConfigurations\": - [],\r\n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\": - [],\r\n \"natRuleCollections\": []\r\n }\r\n}" + string: "{\r\n \"status\": \"InProgress\"\r\n}" headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6fd57cb6-99d0-47c2-bd3c-fae29d8b2513?api-version=2020-07-01 cache-control: - no-cache content-length: - - '690' + - '30' content-type: - application/json; charset=utf-8 date: - - Tue, 19 Jan 2021 09:16:50 GMT + - Wed, 19 May 2021 11:37:34 GMT expires: - '-1' pragma: @@ -2416,9 +2207,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - ee952a9d-929a-4292-9797-7281000b952b - x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - c83a129f-9ae9-4eef-ba1d-1ba89b01c1fe status: code: 200 message: OK @@ -2426,7 +2215,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -2436,10 +2225,9 @@ interactions: ParameterSetName: - -g -f -n User-Agent: - - python/3.7.3 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-network/13.0.0 Azure-SDK-For-Python AZURECLI/2.17.1 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6fd57cb6-99d0-47c2-bd3c-fae29d8b2513?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/89317779-6670-4e13-adf0-aeabbda7be17?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2451,7 +2239,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Jan 2021 09:17:00 GMT + - Wed, 19 May 2021 11:39:14 GMT expires: - '-1' pragma: @@ -2468,7 +2256,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - a85846e9-ec9c-4650-ae7f-8db8574de396 + - a0803df4-1334-41dc-a2a6-9f5e1b8ba4f5 status: code: 200 message: OK @@ -2476,7 +2264,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -2486,10 +2274,9 @@ interactions: ParameterSetName: - -g -f -n User-Agent: - - python/3.7.3 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-network/13.0.0 Azure-SDK-For-Python AZURECLI/2.17.1 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6fd57cb6-99d0-47c2-bd3c-fae29d8b2513?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/89317779-6670-4e13-adf0-aeabbda7be17?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2501,7 +2288,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Jan 2021 09:17:11 GMT + - Wed, 19 May 2021 11:40:54 GMT expires: - '-1' pragma: @@ -2518,7 +2305,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - e27c62b5-cc96-48d0-805d-efc18c8ddb4c + - 89567e2c-4dd0-4908-a44a-1485a39b027e status: code: 200 message: OK @@ -2526,7 +2313,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -2536,10 +2323,9 @@ interactions: ParameterSetName: - -g -f -n User-Agent: - - python/3.7.3 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-network/13.0.0 Azure-SDK-For-Python AZURECLI/2.17.1 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6fd57cb6-99d0-47c2-bd3c-fae29d8b2513?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/89317779-6670-4e13-adf0-aeabbda7be17?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2551,7 +2337,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Jan 2021 09:17:31 GMT + - Wed, 19 May 2021 11:42:36 GMT expires: - '-1' pragma: @@ -2568,7 +2354,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 027475f4-fbef-4d86-8ba2-c6b441a0bc13 + - fe0afc42-aead-454b-81b7-951cc5bffec2 status: code: 200 message: OK @@ -2576,7 +2362,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -2586,10 +2372,9 @@ interactions: ParameterSetName: - -g -f -n User-Agent: - - python/3.7.3 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-network/13.0.0 Azure-SDK-For-Python AZURECLI/2.17.1 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6fd57cb6-99d0-47c2-bd3c-fae29d8b2513?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/89317779-6670-4e13-adf0-aeabbda7be17?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2601,7 +2386,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Jan 2021 09:18:11 GMT + - Wed, 19 May 2021 11:44:16 GMT expires: - '-1' pragma: @@ -2618,7 +2403,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 4aa995c9-c291-455d-81f6-93519c724180 + - 8256acfa-cac3-4171-aeae-33dbdd9fce2f status: code: 200 message: OK @@ -2626,7 +2411,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -2636,10 +2421,9 @@ interactions: ParameterSetName: - -g -f -n User-Agent: - - python/3.7.3 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-network/13.0.0 Azure-SDK-For-Python AZURECLI/2.17.1 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6fd57cb6-99d0-47c2-bd3c-fae29d8b2513?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/89317779-6670-4e13-adf0-aeabbda7be17?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2651,7 +2435,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Jan 2021 09:19:32 GMT + - Wed, 19 May 2021 11:45:56 GMT expires: - '-1' pragma: @@ -2668,7 +2452,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - b8047c35-aa63-408a-98db-3674a8bf8ac3 + - bcabc342-746f-40e5-a23e-984f4d34d90d status: code: 200 message: OK @@ -2676,7 +2460,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -2686,10 +2470,9 @@ interactions: ParameterSetName: - -g -f -n User-Agent: - - python/3.7.3 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-network/13.0.0 Azure-SDK-For-Python AZURECLI/2.17.1 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6fd57cb6-99d0-47c2-bd3c-fae29d8b2513?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/89317779-6670-4e13-adf0-aeabbda7be17?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -2701,7 +2484,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Jan 2021 09:22:12 GMT + - Wed, 19 May 2021 11:47:36 GMT expires: - '-1' pragma: @@ -2718,7 +2501,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - a2018af2-1e61-4520-b8a2-fd6540e8dcde + - ea2afab2-0264-4c46-af03-a2493c26d8e8 status: code: 200 message: OK @@ -2726,7 +2509,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -2736,14 +2519,13 @@ interactions: ParameterSetName: - -g -f -n User-Agent: - - python/3.7.3 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-network/13.0.0 Azure-SDK-For-Python AZURECLI/2.17.1 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2020-07-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"cc09c273-d1eb-4c12-9c3d-effc9bd0ebb0\\\"\",\r\n \"type\": + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n + \ \"etag\": \"W/\\\"2fd531fc-f58e-4dfc-95be-fb11d6e8f103\\\"\",\r\n \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": @@ -2758,9 +2540,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Jan 2021 09:22:13 GMT + - Wed, 19 May 2021 11:47:36 GMT etag: - - W/"cc09c273-d1eb-4c12-9c3d-effc9bd0ebb0" + - W/"2fd531fc-f58e-4dfc-95be-fb11d6e8f103" expires: - '-1' pragma: @@ -2777,7 +2559,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 151d7896-bbfa-45b4-a2ef-c6ecf9ff8a7c + - 7ced043b-e2e7-4e20-90ff-992a7ff7839a status: code: 200 message: OK @@ -2795,16 +2577,13 @@ interactions: ParameterSetName: - -g -f -n User-Agent: - - python/3.7.3 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-network/13.0.0 Azure-SDK-For-Python AZURECLI/2.17.1 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2020-07-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"cc09c273-d1eb-4c12-9c3d-effc9bd0ebb0\\\"\",\r\n \"type\": + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n + \ \"etag\": \"W/\\\"2fd531fc-f58e-4dfc-95be-fb11d6e8f103\\\"\",\r\n \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": @@ -2819,9 +2598,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Jan 2021 09:22:13 GMT + - Wed, 19 May 2021 11:47:37 GMT etag: - - W/"cc09c273-d1eb-4c12-9c3d-effc9bd0ebb0" + - W/"2fd531fc-f58e-4dfc-95be-fb11d6e8f103" expires: - '-1' pragma: @@ -2838,12 +2617,12 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 5ab0ed1a-929b-4b67-a614-96fa7d5689b7 + - d32f21a3-24b7-499a-b31a-3d24223f6ed2 status: code: 200 message: OK - request: - body: '{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1", + body: '{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1", "location": "westus", "properties": {"applicationRuleCollections": [], "natRuleCollections": [], "networkRuleCollections": [], "threatIntelMode": "Alert", "sku": {"name": "AZFW_VNet", "tier": "Standard"}, "additionalProperties": {}}}' @@ -2859,20 +2638,17 @@ interactions: Content-Length: - '433' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - -g -f -n User-Agent: - - python/3.7.3 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-network/13.0.0 Azure-SDK-For-Python AZURECLI/2.17.1 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2020-07-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"cc09c273-d1eb-4c12-9c3d-effc9bd0ebb0\\\"\",\r\n \"type\": + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n + \ \"etag\": \"W/\\\"2fd531fc-f58e-4dfc-95be-fb11d6e8f103\\\"\",\r\n \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": @@ -2881,7 +2657,7 @@ interactions: [],\r\n \"natRuleCollections\": []\r\n }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/290f15e9-1896-4804-abba-d0b746214022?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/79668a67-0a87-425d-8f81-25c36fcd5265?api-version=2020-07-01 cache-control: - no-cache content-length: @@ -2889,7 +2665,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Jan 2021 09:22:13 GMT + - Wed, 19 May 2021 11:47:37 GMT expires: - '-1' pragma: @@ -2906,9 +2682,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - dc546342-661a-4c04-966c-cc965dd8c92a + - 29a72ea8-6158-4277-8380-37600476a8ac x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1195' status: code: 200 message: OK @@ -2916,7 +2692,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -2926,10 +2702,9 @@ interactions: ParameterSetName: - -g -f -n User-Agent: - - python/3.7.3 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-network/13.0.0 Azure-SDK-For-Python AZURECLI/2.17.1 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/290f15e9-1896-4804-abba-d0b746214022?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/79668a67-0a87-425d-8f81-25c36fcd5265?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -2941,7 +2716,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Jan 2021 09:22:44 GMT + - Wed, 19 May 2021 11:48:08 GMT expires: - '-1' pragma: @@ -2958,7 +2733,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 49ac563e-5126-489a-bcd0-7e8c89613e55 + - 969d7dfd-b252-4647-b4a7-43f8afd596a3 status: code: 200 message: OK @@ -2966,7 +2741,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -2976,14 +2751,13 @@ interactions: ParameterSetName: - -g -f -n User-Agent: - - python/3.7.3 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-network/13.0.0 Azure-SDK-For-Python AZURECLI/2.17.1 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2020-07-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"cc09c273-d1eb-4c12-9c3d-effc9bd0ebb0\\\"\",\r\n \"type\": + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n + \ \"etag\": \"W/\\\"2fd531fc-f58e-4dfc-95be-fb11d6e8f103\\\"\",\r\n \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": @@ -2998,9 +2772,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Jan 2021 09:22:44 GMT + - Wed, 19 May 2021 11:48:08 GMT etag: - - W/"cc09c273-d1eb-4c12-9c3d-effc9bd0ebb0" + - W/"2fd531fc-f58e-4dfc-95be-fb11d6e8f103" expires: - '-1' pragma: @@ -3017,7 +2791,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 25108785-a081-42b1-92bd-796ec48a0acf + - 7823528e-c921-40f8-bd0f-b8959a3de506 status: code: 200 message: OK @@ -3035,16 +2809,13 @@ interactions: ParameterSetName: - -g -f User-Agent: - - python/3.7.3 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-network/13.0.0 Azure-SDK-For-Python AZURECLI/2.17.1 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2020-07-01 response: body: - string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"cc09c273-d1eb-4c12-9c3d-effc9bd0ebb0\\\"\",\r\n \"type\": + string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_management_ip_config000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n + \ \"etag\": \"W/\\\"2fd531fc-f58e-4dfc-95be-fb11d6e8f103\\\"\",\r\n \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \"threatIntelMode\": @@ -3059,9 +2830,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 19 Jan 2021 09:22:45 GMT + - Wed, 19 May 2021 11:48:09 GMT etag: - - W/"cc09c273-d1eb-4c12-9c3d-effc9bd0ebb0" + - W/"2fd531fc-f58e-4dfc-95be-fb11d6e8f103" expires: - '-1' pragma: @@ -3078,7 +2849,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 8b168438-90f6-471d-82b4-09d2ac7c68f9 + - 57194bca-9753-4095-9deb-3f99ecf377ee status: code: 200 message: OK diff --git a/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_tier.yaml b/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_tier.yaml new file mode 100644 index 00000000000..dd21dbf0af0 --- /dev/null +++ b/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_tier.yaml @@ -0,0 +1,222 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --sku --tier + User-Agent: + - python/3.7.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-resource/12.1.0 Azure-SDK-For-Python AZURECLI/2.21.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test_azure_firewall_tier000001?api-version=2020-10-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_tier000001","name":"test_azure_firewall_tier000001","type":"Microsoft.Resources/resourceGroups","location":"eastus2euap","tags":{"product":"azurecli","cause":"automation","date":"2021-04-12T06:02:37Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '433' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 12 Apr 2021 06:02: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: '{"location": "eastus2euap", "properties": {"sku": {"name": "AZFW_VNet", + "tier": "Premium"}, "additionalProperties": {}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + Content-Length: + - '120' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n --sku --tier + User-Agent: + - python/3.7.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-network/13.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_tier000001/providers/Microsoft.Network/azureFirewalls/af?api-version=2020-07-01 + response: + body: + string: "{\r\n \"name\": \"af\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_tier000001/providers/Microsoft.Network/azureFirewalls/af\",\r\n + \ \"etag\": \"W/\\\"6c5a01fb-7204-486e-b253-524feaf6bd7c\\\"\",\r\n \"type\": + \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"eastus2euap\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"sku\": + {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Premium\"\r\n },\r\n + \ \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\": {},\r\n + \ \"ipConfigurations\": [],\r\n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\": + [],\r\n \"natRuleCollections\": []\r\n }\r\n}" + headers: + azure-asyncnotification: + - Enabled + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/operations/cc672bb2-9a5f-497c-a805-fc0dbc4f1e76?api-version=2020-07-01 + cache-control: + - no-cache + content-length: + - '692' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 12 Apr 2021 06:02: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-arm-service-request-id: + - 7542f0a1-2646-4230-9851-9c8e8a936ff2 + 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 firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --sku --tier + User-Agent: + - python/3.7.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-network/13.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2euap/operations/cc672bb2-9a5f-497c-a805-fc0dbc4f1e76?api-version=2020-07-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: + - Mon, 12 Apr 2021 06:03:00 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 + x-ms-arm-service-request-id: + - 8ce2c9e6-e772-4b41-9ec0-e91e8abf03f5 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall create + Connection: + - keep-alive + ParameterSetName: + - -g -n --sku --tier + User-Agent: + - python/3.7.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-network/13.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_tier000001/providers/Microsoft.Network/azureFirewalls/af?api-version=2020-07-01 + response: + body: + string: "{\r\n \"name\": \"af\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_tier000001/providers/Microsoft.Network/azureFirewalls/af\",\r\n + \ \"etag\": \"W/\\\"681e3afd-4a06-40db-a9e5-e1e7c5d6de1f\\\"\",\r\n \"type\": + \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"eastus2euap\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": + {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Premium\"\r\n },\r\n + \ \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\": {},\r\n + \ \"ipConfigurations\": [],\r\n \"networkRuleCollections\": [],\r\n \"applicationRuleCollections\": + [],\r\n \"natRuleCollections\": []\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '693' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 12 Apr 2021 06:03:00 GMT + etag: + - W/"681e3afd-4a06-40db-a9e5-e1e7c5d6de1f" + 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 + x-ms-arm-service-request-id: + - 27e70576-b871-4a19-906c-e11bfdebd4b0 + status: + code: 200 + message: OK +version: 1 diff --git a/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_with_firewall_policy.yaml b/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_with_firewall_policy.yaml index f59a8b0802d..66077a8b8eb 100644 --- a/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_with_firewall_policy.yaml +++ b/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_with_firewall_policy.yaml @@ -13,15 +13,12 @@ interactions: ParameterSetName: - -n -g --type User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.1.0 Azure-SDK-For-Python AZURECLI/2.22.1 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-resource/16.1.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_azure_firewall_with_firewall_policy000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001","name":"cli_test_azure_firewall_with_firewall_policy000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"product":"azurecli","cause":"automation","date":"2021-04-21T04:27:14Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001","name":"cli_test_azure_firewall_with_firewall_policy000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"product":"azurecli","cause":"automation","date":"2021-05-21T03:07:05Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -30,7 +27,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:27:18 GMT + - Fri, 21 May 2021 03:07:08 GMT expires: - '-1' pragma: @@ -58,20 +55,17 @@ interactions: Content-Length: - '23' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - -n -g --type User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.22.1 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/virtualWans/clitestvwan?api-version=2020-05-01 response: body: string: "{\r\n \"name\": \"clitestvwan\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/virtualWans/clitestvwan\",\r\n - \ \"etag\": \"W/\\\"6e236000-4d39-47a7-a9d8-6dc316450560\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"2a23b5ce-7705-48d8-a922-abcf0154f30e\\\"\",\r\n \"type\": \"Microsoft.Network/virtualWans\",\r\n \"location\": \"westus2\",\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"disableVpnEncryption\": false,\r\n \"allowBranchToBranchTraffic\": true,\r\n \"office365LocalBreakoutCategory\": @@ -80,7 +74,7 @@ interactions: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/9a810047-e771-473a-bdc7-4623d5b708c4?api-version=2020-05-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/186a5321-885b-46e0-a28c-e732c53e41a1?api-version=2020-05-01 cache-control: - no-cache content-length: @@ -88,7 +82,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:27:25 GMT + - Fri, 21 May 2021 03:07:13 GMT expires: - '-1' pragma: @@ -101,9 +95,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - dcb5afd1-10be-46a7-932f-cbf18017f964 + - 9a212dff-c066-4308-bb98-ed3542999335 x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1197' status: code: 201 message: Created @@ -111,7 +105,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -121,10 +115,9 @@ interactions: ParameterSetName: - -n -g --type User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.22.1 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/9a810047-e771-473a-bdc7-4623d5b708c4?api-version=2020-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/186a5321-885b-46e0-a28c-e732c53e41a1?api-version=2020-05-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -136,7 +129,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:27:36 GMT + - Fri, 21 May 2021 03:07:23 GMT expires: - '-1' pragma: @@ -153,7 +146,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 3f328eb4-eaa5-4cd2-b11d-d974e37c1e45 + - 4139532d-47e1-4640-8cc8-f642d8bede39 status: code: 200 message: OK @@ -161,7 +154,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -171,14 +164,13 @@ interactions: ParameterSetName: - -n -g --type User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.22.1 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/virtualWans/clitestvwan?api-version=2020-05-01 response: body: string: "{\r\n \"name\": \"clitestvwan\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/virtualWans/clitestvwan\",\r\n - \ \"etag\": \"W/\\\"f4de2f71-30b3-4904-9137-3aac9e00f32d\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"2e09c227-bb8e-4d3e-baad-f2474dd6f4c3\\\"\",\r\n \"type\": \"Microsoft.Network/virtualWans\",\r\n \"location\": \"westus2\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"disableVpnEncryption\": false,\r\n \"allowBranchToBranchTraffic\": true,\r\n \"office365LocalBreakoutCategory\": @@ -191,9 +183,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:27:37 GMT + - Fri, 21 May 2021 03:07:23 GMT etag: - - W/"f4de2f71-30b3-4904-9137-3aac9e00f32d" + - W/"2e09c227-bb8e-4d3e-baad-f2474dd6f4c3" expires: - '-1' pragma: @@ -210,7 +202,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 5dbbed06-06d5-4034-bc18-5594de242ec5 + - 09994c57-a3f0-4fa9-b2f7-e7e1e4fd110c status: code: 200 message: OK @@ -229,20 +221,17 @@ interactions: Content-Length: - '310' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.22.1 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/virtualHubs/clitestvhub?api-version=2020-05-01 response: body: string: "{\r\n \"name\": \"clitestvhub\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/virtualHubs/clitestvhub\",\r\n - \ \"etag\": \"W/\\\"c37dc86f-e088-484c-96c3-609374677f42\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"621bf41f-f2ff-4ea6-8b35-593e96edce1c\\\"\",\r\n \"type\": \"Microsoft.Network/virtualHubs\",\r\n \"location\": \"westus2\",\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHubRouteTableV2s\": [],\r\n \"addressPrefix\": \"10.0.0.0/24\",\r\n \"virtualRouterAsn\": @@ -254,7 +243,7 @@ interactions: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/d2690ebb-8a8c-48ea-ae82-4a24d8698a8d?api-version=2020-05-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/7547183d-e2c6-4ad3-bb46-da7376354a03?api-version=2020-05-01 cache-control: - no-cache content-length: @@ -262,7 +251,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:27:42 GMT + - Fri, 21 May 2021 03:07:30 GMT expires: - '-1' pragma: @@ -275,9 +264,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - f1478b99-b6a8-4ee2-bc44-dd53dda4f3bd + - 26f83d7c-38df-4c89-8721-d4751f6c4475 x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 201 message: Created @@ -285,7 +274,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -295,10 +284,9 @@ interactions: ParameterSetName: - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.22.1 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/d2690ebb-8a8c-48ea-ae82-4a24d8698a8d?api-version=2020-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/7547183d-e2c6-4ad3-bb46-da7376354a03?api-version=2020-05-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -310,7 +298,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:27:55 GMT + - Fri, 21 May 2021 03:07:41 GMT expires: - '-1' pragma: @@ -327,7 +315,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 35cfbbdc-d52a-4d9d-a0f0-b5525a38fd5e + - 42601b91-1531-43b5-bec1-651f5338cb6c status: code: 200 message: OK @@ -335,7 +323,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -345,10 +333,9 @@ interactions: ParameterSetName: - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.22.1 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/d2690ebb-8a8c-48ea-ae82-4a24d8698a8d?api-version=2020-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/7547183d-e2c6-4ad3-bb46-da7376354a03?api-version=2020-05-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -360,7 +347,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:28:06 GMT + - Fri, 21 May 2021 03:07:51 GMT expires: - '-1' pragma: @@ -377,7 +364,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 3d19ffd9-0056-403f-ae86-e4c7f341ff70 + - 7a555d9d-a996-4734-831d-8c2d59dd703f status: code: 200 message: OK @@ -385,7 +372,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -395,10 +382,9 @@ interactions: ParameterSetName: - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.22.1 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/d2690ebb-8a8c-48ea-ae82-4a24d8698a8d?api-version=2020-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/7547183d-e2c6-4ad3-bb46-da7376354a03?api-version=2020-05-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -410,7 +396,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:28:27 GMT + - Fri, 21 May 2021 03:08:11 GMT expires: - '-1' pragma: @@ -427,7 +413,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 97c115c8-e21c-4128-8e05-a306f97e9d04 + - 903ceb2b-7e17-4fee-a475-644988b6e927 status: code: 200 message: OK @@ -435,7 +421,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -445,10 +431,9 @@ interactions: ParameterSetName: - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.22.1 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/d2690ebb-8a8c-48ea-ae82-4a24d8698a8d?api-version=2020-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/7547183d-e2c6-4ad3-bb46-da7376354a03?api-version=2020-05-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -460,7 +445,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:28:48 GMT + - Fri, 21 May 2021 03:08:31 GMT expires: - '-1' pragma: @@ -477,7 +462,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 333c2cdd-f104-441d-bee1-0da844c96b36 + - 2d6fc961-da9e-4b61-8a76-ef807f142ffe status: code: 200 message: OK @@ -485,7 +470,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -495,10 +480,9 @@ interactions: ParameterSetName: - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.22.1 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/d2690ebb-8a8c-48ea-ae82-4a24d8698a8d?api-version=2020-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/7547183d-e2c6-4ad3-bb46-da7376354a03?api-version=2020-05-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -510,7 +494,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:29:29 GMT + - Fri, 21 May 2021 03:09:11 GMT expires: - '-1' pragma: @@ -527,7 +511,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 6aced613-4908-4879-8392-0387019a0c2f + - 9da0f194-174e-439d-82f3-d7e181ece344 status: code: 200 message: OK @@ -535,7 +519,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -545,10 +529,9 @@ interactions: ParameterSetName: - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.22.1 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/d2690ebb-8a8c-48ea-ae82-4a24d8698a8d?api-version=2020-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/7547183d-e2c6-4ad3-bb46-da7376354a03?api-version=2020-05-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -560,7 +543,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:30:10 GMT + - Fri, 21 May 2021 03:09:52 GMT expires: - '-1' pragma: @@ -577,7 +560,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 78b8106a-4d11-4b1b-ab89-4eff586bf114 + - 8778c8b5-bbe8-4475-82bc-cf87453dd58f status: code: 200 message: OK @@ -585,7 +568,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -595,10 +578,9 @@ interactions: ParameterSetName: - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.22.1 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/d2690ebb-8a8c-48ea-ae82-4a24d8698a8d?api-version=2020-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/7547183d-e2c6-4ad3-bb46-da7376354a03?api-version=2020-05-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -610,7 +592,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:31:31 GMT + - Fri, 21 May 2021 03:11:12 GMT expires: - '-1' pragma: @@ -627,7 +609,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - b85d1af9-b3dd-4d41-a781-b23902979d8d + - 7b497614-97b8-447e-915f-13c53cc3c53b status: code: 200 message: OK @@ -635,7 +617,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -645,14 +627,13 @@ interactions: ParameterSetName: - -g -n --vwan --address-prefix -l --sku User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.22.1 + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/virtualHubs/clitestvhub?api-version=2020-05-01 response: body: string: "{\r\n \"name\": \"clitestvhub\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/virtualHubs/clitestvhub\",\r\n - \ \"etag\": \"W/\\\"d72223d4-5661-4de4-b95c-71292822e897\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"e8d51890-06ad-4ccb-9757-322928bbec71\\\"\",\r\n \"type\": \"Microsoft.Network/virtualHubs\",\r\n \"location\": \"westus2\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"virtualHubRouteTableV2s\": [],\r\n \"addressPrefix\": \"10.0.0.0/24\",\r\n \"virtualRouterAsn\": @@ -668,7 +649,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:31:32 GMT + - Fri, 21 May 2021 03:11:12 GMT expires: - '-1' pragma: @@ -685,7 +666,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - d73df052-dc4c-4f8a-b820-609a2f6266ca + - 5ee38eee-16f7-4c21-9493-5d752b7c4339 status: code: 200 message: OK @@ -707,7 +688,7 @@ interactions: ParameterSetName: - -g -n -l User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy?api-version=2020-07-01 response: @@ -717,10 +698,10 @@ interactions: \ \"ruleCollectionGroups\": [],\r\n \"firewalls\": [],\r\n \"provisioningState\": \"Updating\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy\",\r\n \ \"name\": \"myclipolicy\",\r\n \"type\": \"Microsoft.Network/FirewallPolicies\",\r\n - \ \"etag\": \"357490be-3ce0-413d-a9be-44a0974d2b1d\",\r\n \"location\": \"westus2\"\r\n}" + \ \"etag\": \"b5b86eff-0983-47bc-b130-d2c986caa65f\",\r\n \"location\": \"westus2\"\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/nfvOperations/5f5e087d-0022-4f03-a3ab-dee28196f632?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/nfvOperations/b08a7ecc-6ad9-4f29-b491-0e35a9e4fe4d?api-version=2020-07-01 cache-control: - no-cache content-length: @@ -728,7 +709,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:31:40 GMT + - Fri, 21 May 2021 03:11:20 GMT expires: - '-1' pragma: @@ -740,7 +721,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1196' status: code: 201 message: Created @@ -758,9 +739,9 @@ interactions: ParameterSetName: - -g -n -l User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/nfvOperations/5f5e087d-0022-4f03-a3ab-dee28196f632?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/nfvOperations/b08a7ecc-6ad9-4f29-b491-0e35a9e4fe4d?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -772,7 +753,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:31:51 GMT + - Fri, 21 May 2021 03:11:31 GMT expires: - '-1' pragma: @@ -804,7 +785,7 @@ interactions: ParameterSetName: - -g -n -l User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy?api-version=2020-07-01 response: @@ -814,7 +795,7 @@ interactions: \ \"ruleCollectionGroups\": [],\r\n \"firewalls\": [],\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy\",\r\n \ \"name\": \"myclipolicy\",\r\n \"type\": \"Microsoft.Network/FirewallPolicies\",\r\n - \ \"etag\": \"357490be-3ce0-413d-a9be-44a0974d2b1d\",\r\n \"location\": \"westus2\"\r\n}" + \ \"etag\": \"b5b86eff-0983-47bc-b130-d2c986caa65f\",\r\n \"location\": \"westus2\"\r\n}" headers: cache-control: - no-cache @@ -823,9 +804,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:31:52 GMT + - Fri, 21 May 2021 03:11:31 GMT etag: - - '"357490be-3ce0-413d-a9be-44a0974d2b1d"' + - '"b5b86eff-0983-47bc-b130-d2c986caa65f"' expires: - '-1' pragma: @@ -857,15 +838,12 @@ interactions: ParameterSetName: - -g -n --count --sku --vhub --firewall-policy User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.1.0 Azure-SDK-For-Python AZURECLI/2.22.1 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-resource/16.1.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_azure_firewall_with_firewall_policy000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001","name":"cli_test_azure_firewall_with_firewall_policy000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"product":"azurecli","cause":"automation","date":"2021-04-21T04:27:14Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001","name":"cli_test_azure_firewall_with_firewall_policy000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"product":"azurecli","cause":"automation","date":"2021-05-21T03:07:05Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -874,7 +852,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:31:54 GMT + - Fri, 21 May 2021 03:11:32 GMT expires: - '-1' pragma: @@ -909,13 +887,13 @@ interactions: ParameterSetName: - -g -n --count --sku --vhub --firewall-policy User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2020-07-01 response: body: string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"78627825-2bd9-4355-87b1-07fa3584eeec\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"7b59319f-5030-4fd9-bca4-9d30f8bcd492\\\"\",\r\n \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus2\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"sku\": {\r\n \"name\": \"AZFW_Hub\",\r\n \"tier\": \"Standard\"\r\n },\r\n @@ -929,7 +907,7 @@ interactions: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/eb3208bd-9bf3-4380-b063-c5801996ebb0?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/c5af1c6a-fa58-484e-8e52-fdef9221d2fb?api-version=2020-07-01 cache-control: - no-cache content-length: @@ -937,7 +915,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:32:02 GMT + - Fri, 21 May 2021 03:11:38 GMT expires: - '-1' pragma: @@ -950,7 +928,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - cc9f5bac-13c7-40a6-8b12-2b0ef44c571a + - 40d87445-281a-4260-a996-9c14f53d947d x-ms-ratelimit-remaining-subscription-writes: - '1196' status: @@ -970,9 +948,9 @@ interactions: ParameterSetName: - -g -n --count --sku --vhub --firewall-policy User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/eb3208bd-9bf3-4380-b063-c5801996ebb0?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/c5af1c6a-fa58-484e-8e52-fdef9221d2fb?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -984,7 +962,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:32:12 GMT + - Fri, 21 May 2021 03:11:48 GMT expires: - '-1' pragma: @@ -1001,7 +979,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 09371d31-b40c-49c2-973a-f48743a86e85 + - 56c4d351-d739-4148-8f26-e5d768c9160d status: code: 200 message: OK @@ -1019,9 +997,9 @@ interactions: ParameterSetName: - -g -n --count --sku --vhub --firewall-policy User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/eb3208bd-9bf3-4380-b063-c5801996ebb0?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/c5af1c6a-fa58-484e-8e52-fdef9221d2fb?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1033,7 +1011,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:32:23 GMT + - Fri, 21 May 2021 03:11:59 GMT expires: - '-1' pragma: @@ -1050,7 +1028,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 9299247b-68c3-47e8-9b29-09d983a469a5 + - 276bd0a3-f08b-4c49-8333-ecfd806a2093 status: code: 200 message: OK @@ -1068,9 +1046,9 @@ interactions: ParameterSetName: - -g -n --count --sku --vhub --firewall-policy User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/eb3208bd-9bf3-4380-b063-c5801996ebb0?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/c5af1c6a-fa58-484e-8e52-fdef9221d2fb?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1082,7 +1060,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:32:43 GMT + - Fri, 21 May 2021 03:12:20 GMT expires: - '-1' pragma: @@ -1099,7 +1077,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 6fea268e-7b99-491a-ae26-54e2a70a9dc9 + - 30f6b21d-78d5-4fa6-b31f-899f7c208c60 status: code: 200 message: OK @@ -1117,9 +1095,9 @@ interactions: ParameterSetName: - -g -n --count --sku --vhub --firewall-policy User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/eb3208bd-9bf3-4380-b063-c5801996ebb0?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/c5af1c6a-fa58-484e-8e52-fdef9221d2fb?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1131,7 +1109,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:33:03 GMT + - Fri, 21 May 2021 03:12:40 GMT expires: - '-1' pragma: @@ -1148,7 +1126,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - b409e940-9509-4598-abeb-90265b0a42fc + - efb8d7a3-4613-4423-a072-87a0b5cfc51b status: code: 200 message: OK @@ -1166,9 +1144,9 @@ interactions: ParameterSetName: - -g -n --count --sku --vhub --firewall-policy User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/eb3208bd-9bf3-4380-b063-c5801996ebb0?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/c5af1c6a-fa58-484e-8e52-fdef9221d2fb?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1180,7 +1158,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:33:44 GMT + - Fri, 21 May 2021 03:13:20 GMT expires: - '-1' pragma: @@ -1197,7 +1175,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 6a2a7be8-3264-4ebd-99f2-ff4c1392448f + - 66efad4d-3f82-475f-a46b-c94a14482c30 status: code: 200 message: OK @@ -1215,9 +1193,9 @@ interactions: ParameterSetName: - -g -n --count --sku --vhub --firewall-policy User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/eb3208bd-9bf3-4380-b063-c5801996ebb0?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/c5af1c6a-fa58-484e-8e52-fdef9221d2fb?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1229,7 +1207,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:34:24 GMT + - Fri, 21 May 2021 03:14:01 GMT expires: - '-1' pragma: @@ -1246,7 +1224,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 0af60d32-794a-46b8-add8-10625f494827 + - 1c152e4a-4f44-41f7-8b25-c81aec2261a5 status: code: 200 message: OK @@ -1264,9 +1242,9 @@ interactions: ParameterSetName: - -g -n --count --sku --vhub --firewall-policy User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/eb3208bd-9bf3-4380-b063-c5801996ebb0?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/c5af1c6a-fa58-484e-8e52-fdef9221d2fb?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1278,7 +1256,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:35:44 GMT + - Fri, 21 May 2021 03:15:21 GMT expires: - '-1' pragma: @@ -1295,7 +1273,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 7b80b1bf-bf7c-4d7f-9d83-2728689c5165 + - 69c6de25-0ada-49ff-833f-abb3bfe520e7 status: code: 200 message: OK @@ -1313,9 +1291,9 @@ interactions: ParameterSetName: - -g -n --count --sku --vhub --firewall-policy User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/eb3208bd-9bf3-4380-b063-c5801996ebb0?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/c5af1c6a-fa58-484e-8e52-fdef9221d2fb?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1327,7 +1305,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:38:24 GMT + - Fri, 21 May 2021 03:18:02 GMT expires: - '-1' pragma: @@ -1344,7 +1322,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - c7a9e8a6-a9f4-44c3-b38a-112b9090ed41 + - e2cceb97-d8a2-4adb-ba28-9b4a5dbe11c5 status: code: 200 message: OK @@ -1362,9 +1340,9 @@ interactions: ParameterSetName: - -g -n --count --sku --vhub --firewall-policy User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/eb3208bd-9bf3-4380-b063-c5801996ebb0?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/c5af1c6a-fa58-484e-8e52-fdef9221d2fb?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1376,7 +1354,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:40:05 GMT + - Fri, 21 May 2021 03:19:44 GMT expires: - '-1' pragma: @@ -1393,7 +1371,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 76c9edde-4ada-42ea-9838-27d53352b12e + - e014b3e6-795a-4205-ad71-01311f1dadff status: code: 200 message: OK @@ -1411,9 +1389,9 @@ interactions: ParameterSetName: - -g -n --count --sku --vhub --firewall-policy User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/eb3208bd-9bf3-4380-b063-c5801996ebb0?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/c5af1c6a-fa58-484e-8e52-fdef9221d2fb?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1425,7 +1403,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:41:45 GMT + - Fri, 21 May 2021 03:21:23 GMT expires: - '-1' pragma: @@ -1442,7 +1420,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 14776ce2-b6db-4f4f-9241-77993f87127c + - 86b4a21f-fa0d-4e67-a418-423aec0d6dee status: code: 200 message: OK @@ -1460,9 +1438,9 @@ interactions: ParameterSetName: - -g -n --count --sku --vhub --firewall-policy User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/eb3208bd-9bf3-4380-b063-c5801996ebb0?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/c5af1c6a-fa58-484e-8e52-fdef9221d2fb?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1474,7 +1452,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:43:25 GMT + - Fri, 21 May 2021 03:23:04 GMT expires: - '-1' pragma: @@ -1491,7 +1469,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 3798426f-8a70-42a4-9649-554e2a94dcda + - 9eea4e29-3cff-4f00-8599-efcbaf41b361 status: code: 200 message: OK @@ -1509,9 +1487,9 @@ interactions: ParameterSetName: - -g -n --count --sku --vhub --firewall-policy User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/eb3208bd-9bf3-4380-b063-c5801996ebb0?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/c5af1c6a-fa58-484e-8e52-fdef9221d2fb?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1523,7 +1501,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:45:05 GMT + - Fri, 21 May 2021 03:24:45 GMT expires: - '-1' pragma: @@ -1540,7 +1518,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - a86a3281-4170-444a-938b-c483557f475f + - 9f4a8c1f-3cfe-4241-930f-af53c58d947a status: code: 200 message: OK @@ -1558,9 +1536,9 @@ interactions: ParameterSetName: - -g -n --count --sku --vhub --firewall-policy User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/eb3208bd-9bf3-4380-b063-c5801996ebb0?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/c5af1c6a-fa58-484e-8e52-fdef9221d2fb?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1572,7 +1550,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:46:46 GMT + - Fri, 21 May 2021 03:26:25 GMT expires: - '-1' pragma: @@ -1589,7 +1567,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - cf27dedc-6275-4c05-8a83-275ed4667f51 + - 62d0aff6-f69f-401a-9543-517b47f5aea1 status: code: 200 message: OK @@ -1607,9 +1585,9 @@ interactions: ParameterSetName: - -g -n --count --sku --vhub --firewall-policy User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/eb3208bd-9bf3-4380-b063-c5801996ebb0?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/c5af1c6a-fa58-484e-8e52-fdef9221d2fb?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1621,7 +1599,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:48:26 GMT + - Fri, 21 May 2021 03:28:05 GMT expires: - '-1' pragma: @@ -1638,7 +1616,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 0a153b02-f7af-4037-97d9-a118f7b608d2 + - 372cee3b-87eb-46f9-b763-dda364fa4f13 status: code: 200 message: OK @@ -1656,9 +1634,9 @@ interactions: ParameterSetName: - -g -n --count --sku --vhub --firewall-policy User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/eb3208bd-9bf3-4380-b063-c5801996ebb0?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/c5af1c6a-fa58-484e-8e52-fdef9221d2fb?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1670,7 +1648,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:50:06 GMT + - Fri, 21 May 2021 03:29:45 GMT expires: - '-1' pragma: @@ -1687,7 +1665,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - ee7a7a52-16c8-4afa-8f32-36a0c85a339b + - f323e4f5-d0d1-42b8-a974-5eb00570d1df status: code: 200 message: OK @@ -1705,9 +1683,9 @@ interactions: ParameterSetName: - -g -n --count --sku --vhub --firewall-policy User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/eb3208bd-9bf3-4380-b063-c5801996ebb0?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/c5af1c6a-fa58-484e-8e52-fdef9221d2fb?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1719,7 +1697,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:51:47 GMT + - Fri, 21 May 2021 03:31:26 GMT expires: - '-1' pragma: @@ -1736,7 +1714,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 682a3761-52be-44b0-b2f1-c27cd8a64a74 + - e5d39ee6-99d6-4abe-8422-b78c232140fc status: code: 200 message: OK @@ -1754,9 +1732,9 @@ interactions: ParameterSetName: - -g -n --count --sku --vhub --firewall-policy User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/eb3208bd-9bf3-4380-b063-c5801996ebb0?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/c5af1c6a-fa58-484e-8e52-fdef9221d2fb?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -1768,7 +1746,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:53:28 GMT + - Fri, 21 May 2021 03:33:07 GMT expires: - '-1' pragma: @@ -1785,7 +1763,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 8b01d355-32ab-420d-be38-e2949f329c2a + - 7a6aaad4-0c5b-48e4-ab3c-379c84e9ad44 status: code: 200 message: OK @@ -1803,13 +1781,13 @@ interactions: ParameterSetName: - -g -n --count --sku --vhub --firewall-policy User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/azureFirewalls/af1?api-version=2020-07-01 response: body: string: "{\r\n \"name\": \"af1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/azureFirewalls/af1\",\r\n - \ \"etag\": \"W/\\\"a7f55598-86a6-43c1-97ca-b198fdbf20c8\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"732cdf1a-0995-4354-ab86-9733dde7f3e4\\\"\",\r\n \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus2\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": \"AZFW_Hub\",\r\n \"tier\": \"Standard\"\r\n },\r\n @@ -1817,20 +1795,20 @@ interactions: \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/virtualHubs/clitestvhub\"\r\n \ },\r\n \"hubIPAddresses\": {\r\n \"privateIPAddress\": \"10.0.0.132\",\r\n \ \"publicIPs\": {\r\n \"addresses\": [\r\n {\r\n \"address\": - \"40.64.80.73\"\r\n }\r\n ],\r\n \"count\": 1\r\n }\r\n - \ },\r\n \"firewallPolicy\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy\"\r\n + \"20.69.132.51\"\r\n }\r\n ],\r\n \"count\": 1\r\n + \ }\r\n },\r\n \"firewallPolicy\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy\"\r\n \ }\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '1236' + - '1237' content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:53:28 GMT + - Fri, 21 May 2021 03:33:07 GMT etag: - - W/"a7f55598-86a6-43c1-97ca-b198fdbf20c8" + - W/"732cdf1a-0995-4354-ab86-9733dde7f3e4" expires: - '-1' pragma: @@ -1847,7 +1825,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 5540a4b9-e2e5-4e72-a464-a4d63bf88275 + - 670ce801-2165-4b02-9034-035f3e41907a status: code: 200 message: OK @@ -1870,13 +1848,13 @@ interactions: ParameterSetName: - -g -n -l --firewall-policy User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/azureFirewalls/af2?api-version=2020-07-01 response: body: string: "{\r\n \"name\": \"af2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/azureFirewalls/af2\",\r\n - \ \"etag\": \"W/\\\"c5305afa-4929-4269-ac3d-21eb8355a332\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"d7e6ce2d-33a8-4322-a970-4d09fc24d5f2\\\"\",\r\n \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus2\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n @@ -1889,7 +1867,7 @@ interactions: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/ca550232-d070-459e-ae57-eecdcc140a8e?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/e5c8afd2-5139-4e50-8c5e-610cf8550455?api-version=2020-07-01 cache-control: - no-cache content-length: @@ -1897,7 +1875,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:53:37 GMT + - Fri, 21 May 2021 03:33:15 GMT expires: - '-1' pragma: @@ -1910,7 +1888,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - ffefc7bb-5310-4377-9e07-17e47a991ccd + - c1829153-b727-4b8b-8a72-91a2a89e690b x-ms-ratelimit-remaining-subscription-writes: - '1198' status: @@ -1930,9 +1908,9 @@ interactions: ParameterSetName: - -g -n -l --firewall-policy User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/ca550232-d070-459e-ae57-eecdcc140a8e?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/e5c8afd2-5139-4e50-8c5e-610cf8550455?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -1944,7 +1922,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:53:48 GMT + - Fri, 21 May 2021 03:33:25 GMT expires: - '-1' pragma: @@ -1961,7 +1939,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 5b55cc6c-c744-4fc8-845a-a405987f14f9 + - 415c5943-0f31-4990-869e-b30452eef834 status: code: 200 message: OK @@ -1979,13 +1957,13 @@ interactions: ParameterSetName: - -g -n -l --firewall-policy User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/azureFirewalls/af2?api-version=2020-07-01 response: body: string: "{\r\n \"name\": \"af2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/azureFirewalls/af2\",\r\n - \ \"etag\": \"W/\\\"3f81de75-f0a0-492d-99a8-cf32bd9b261d\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"befd132f-c43b-40ec-b3a5-0d30518f2136\\\"\",\r\n \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus2\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n @@ -2002,9 +1980,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:53:48 GMT + - Fri, 21 May 2021 03:33:25 GMT etag: - - W/"3f81de75-f0a0-492d-99a8-cf32bd9b261d" + - W/"befd132f-c43b-40ec-b3a5-0d30518f2136" expires: - '-1' pragma: @@ -2021,7 +1999,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 80b9c61f-d788-40d1-a349-7dc185373a29 + - 1c6df969-d7cd-446f-9a0a-9090878b63f6 status: code: 200 message: OK @@ -2044,15 +2022,15 @@ interactions: ParameterSetName: - -g -n -l --sku User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/publicIPAddresses/pubip?api-version=2020-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/publicIPAddresses/pubip?api-version=2021-02-01 response: body: string: "{\r\n \"name\": \"pubip\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/publicIPAddresses/pubip\",\r\n - \ \"etag\": \"W/\\\"a20d5dd6-09b8-4a14-92dd-3a343c41815f\\\"\",\r\n \"location\": + \ \"etag\": \"W/\\\"6dd3b078-efae-449d-9a11-294e64dd536c\\\"\",\r\n \"location\": \"westus2\",\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"resourceGuid\": \"366bdc49-12c2-402e-9dc9-9bf5cd371a17\",\r\n \"publicIPAddressVersion\": + \ \"resourceGuid\": \"a360c445-f3c9-49a1-be45-165843c6a78b\",\r\n \"publicIPAddressVersion\": \"IPv4\",\r\n \"publicIPAllocationMethod\": \"Static\",\r\n \"idleTimeoutInMinutes\": 4,\r\n \"ipTags\": []\r\n },\r\n \"type\": \"Microsoft.Network/publicIPAddresses\",\r\n \ \"sku\": {\r\n \"name\": \"Standard\",\r\n \"tier\": \"Regional\"\r\n @@ -2061,7 +2039,7 @@ interactions: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/776bfdc7-fc93-49ea-85f5-b66286500bcb?api-version=2020-11-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/ed34922a-d187-4b3c-b012-16ea315c1ae0?api-version=2021-02-01 cache-control: - no-cache content-length: @@ -2069,7 +2047,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:53:57 GMT + - Fri, 21 May 2021 03:33:31 GMT expires: - '-1' pragma: @@ -2082,9 +2060,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - df6ee844-3ae3-45f6-9f82-362ee39926f7 + - f907a130-b232-47f4-bfa6-2f4a3658b047 x-ms-ratelimit-remaining-subscription-writes: - - '1193' + - '1198' status: code: 201 message: Created @@ -2102,9 +2080,9 @@ interactions: ParameterSetName: - -g -n -l --sku User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/776bfdc7-fc93-49ea-85f5-b66286500bcb?api-version=2020-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/ed34922a-d187-4b3c-b012-16ea315c1ae0?api-version=2021-02-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -2116,7 +2094,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:53:58 GMT + - Fri, 21 May 2021 03:33:33 GMT expires: - '-1' pragma: @@ -2133,7 +2111,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - b89d4440-679f-4b4c-b231-aa5adb18fb6a + - 22f64290-93b4-4acc-8244-d54023c21580 status: code: 200 message: OK @@ -2151,16 +2129,16 @@ interactions: ParameterSetName: - -g -n -l --sku User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/publicIPAddresses/pubip?api-version=2020-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/publicIPAddresses/pubip?api-version=2021-02-01 response: body: string: "{\r\n \"name\": \"pubip\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/publicIPAddresses/pubip\",\r\n - \ \"etag\": \"W/\\\"33fffc95-5f95-4dee-97d1-ceaa568205a8\\\"\",\r\n \"location\": + \ \"etag\": \"W/\\\"ee0d1815-1ade-4a79-a977-c49621b33ee1\\\"\",\r\n \"location\": \"westus2\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"366bdc49-12c2-402e-9dc9-9bf5cd371a17\",\r\n \"ipAddress\": - \"52.250.119.106\",\r\n \"publicIPAddressVersion\": \"IPv4\",\r\n \"publicIPAllocationMethod\": + \ \"resourceGuid\": \"a360c445-f3c9-49a1-be45-165843c6a78b\",\r\n \"ipAddress\": + \"52.191.184.43\",\r\n \"publicIPAddressVersion\": \"IPv4\",\r\n \"publicIPAllocationMethod\": \"Static\",\r\n \"idleTimeoutInMinutes\": 4,\r\n \"ipTags\": []\r\n \ },\r\n \"type\": \"Microsoft.Network/publicIPAddresses\",\r\n \"sku\": {\r\n \"name\": \"Standard\",\r\n \"tier\": \"Regional\"\r\n }\r\n}" @@ -2168,13 +2146,13 @@ interactions: cache-control: - no-cache content-length: - - '723' + - '722' content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:53:58 GMT + - Fri, 21 May 2021 03:33:33 GMT etag: - - W/"33fffc95-5f95-4dee-97d1-ceaa568205a8" + - W/"ee0d1815-1ade-4a79-a977-c49621b33ee1" expires: - '-1' pragma: @@ -2191,14 +2169,15 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 7ac843bb-7925-436b-ba41-919bc0870e00 + - 4de8da72-1270-4947-936a-c6188a76a791 status: code: 200 message: OK - request: body: '{"location": "westus2", "tags": {}, "properties": {"addressSpace": {"addressPrefixes": ["10.0.0.0/16"]}, "dhcpOptions": {}, "subnets": [{"name": "AzureFirewallSubnet", - "properties": {"addressPrefix": "10.0.0.0/24"}}]}}' + "properties": {"addressPrefix": "10.0.0.0/24", "privateEndpointNetworkPolicies": + "Enabled", "privateLinkServiceNetworkPolicies": "Enabled"}}]}}' headers: Accept: - application/json @@ -2209,27 +2188,27 @@ interactions: Connection: - keep-alive Content-Length: - - '218' + - '311' Content-Type: - application/json ParameterSetName: - -g -n --subnet-name -l --address-prefixes --subnet-prefixes User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/virtualNetworks/myvnet?api-version=2020-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/virtualNetworks/myvnet?api-version=2021-02-01 response: body: string: "{\r\n \"name\": \"myvnet\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/virtualNetworks/myvnet\",\r\n - \ \"etag\": \"W/\\\"96af5c15-16a9-44f1-a086-18d84e980c90\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"eebc58a5-f153-4732-b493-ab99f4a23be0\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus2\",\r\n \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"resourceGuid\": \"00583083-2489-4580-9859-0a00f1e9da25\",\r\n \"addressSpace\": + \ \"resourceGuid\": \"a6eddcf2-d2c7-47ec-a222-9288a6de5420\",\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\": \"AzureFirewallSubnet\",\r\n \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/AzureFirewallSubnet\",\r\n - \ \"etag\": \"W/\\\"96af5c15-16a9-44f1-a086-18d84e980c90\\\"\",\r\n + \ \"etag\": \"W/\\\"eebc58a5-f153-4732-b493-ab99f4a23be0\\\"\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \ \"addressPrefix\": \"10.0.0.0/24\",\r\n \"delegations\": [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": @@ -2240,7 +2219,7 @@ interactions: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/19ae5053-9637-4486-83ea-29f2e2dd956e?api-version=2020-11-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/83393839-998b-4b48-afbe-9b0257d71296?api-version=2021-02-01 cache-control: - no-cache content-length: @@ -2248,7 +2227,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:54:05 GMT + - Fri, 21 May 2021 03:33:39 GMT expires: - '-1' pragma: @@ -2261,9 +2240,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - f6d56cb3-820d-4a0c-bf40-f899ecff56d6 + - cfa78ffa-ef8f-4d5d-b234-b8501478fc27 x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1197' status: code: 201 message: Created @@ -2281,9 +2260,9 @@ interactions: ParameterSetName: - -g -n --subnet-name -l --address-prefixes --subnet-prefixes User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/19ae5053-9637-4486-83ea-29f2e2dd956e?api-version=2020-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/83393839-998b-4b48-afbe-9b0257d71296?api-version=2021-02-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -2295,7 +2274,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:54:08 GMT + - Fri, 21 May 2021 03:33:43 GMT expires: - '-1' pragma: @@ -2312,7 +2291,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - c9cbcfca-bdad-403c-99e8-b2e2c5131792 + - 990cdcb1-5aa9-48da-b720-804ccc43426f status: code: 200 message: OK @@ -2330,21 +2309,21 @@ interactions: ParameterSetName: - -g -n --subnet-name -l --address-prefixes --subnet-prefixes User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/virtualNetworks/myvnet?api-version=2020-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/virtualNetworks/myvnet?api-version=2021-02-01 response: body: string: "{\r\n \"name\": \"myvnet\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/virtualNetworks/myvnet\",\r\n - \ \"etag\": \"W/\\\"b5c69c63-2589-4ea5-8684-9945ea1c20b9\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"94005954-aeaf-4a02-8335-9765bd93e2a5\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus2\",\r\n \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"00583083-2489-4580-9859-0a00f1e9da25\",\r\n \"addressSpace\": + \ \"resourceGuid\": \"a6eddcf2-d2c7-47ec-a222-9288a6de5420\",\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\": \"AzureFirewallSubnet\",\r\n \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/AzureFirewallSubnet\",\r\n - \ \"etag\": \"W/\\\"b5c69c63-2589-4ea5-8684-9945ea1c20b9\\\"\",\r\n + \ \"etag\": \"W/\\\"94005954-aeaf-4a02-8335-9765bd93e2a5\\\"\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \ \"addressPrefix\": \"10.0.0.0/24\",\r\n \"delegations\": [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": @@ -2359,9 +2338,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:54:09 GMT + - Fri, 21 May 2021 03:33:44 GMT etag: - - W/"b5c69c63-2589-4ea5-8684-9945ea1c20b9" + - W/"94005954-aeaf-4a02-8335-9765bd93e2a5" expires: - '-1' pragma: @@ -2378,7 +2357,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - b92265f1-6c90-43bf-9d78-3afae0a0a6c8 + - 0a8cfe0c-22d9-43a5-8438-a6df9a9aa594 status: code: 200 message: OK @@ -2396,13 +2375,13 @@ interactions: ParameterSetName: - -g -n -f --public-ip-address --vnet-name User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/azureFirewalls/af2?api-version=2020-07-01 response: body: string: "{\r\n \"name\": \"af2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/azureFirewalls/af2\",\r\n - \ \"etag\": \"W/\\\"3f81de75-f0a0-492d-99a8-cf32bd9b261d\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"befd132f-c43b-40ec-b3a5-0d30518f2136\\\"\",\r\n \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus2\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n @@ -2419,9 +2398,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:54:11 GMT + - Fri, 21 May 2021 03:33:43 GMT etag: - - W/"3f81de75-f0a0-492d-99a8-cf32bd9b261d" + - W/"befd132f-c43b-40ec-b3a5-0d30518f2136" expires: - '-1' pragma: @@ -2438,7 +2417,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - de7694cc-a610-4206-b797-3deb0f2b6a32 + - fc878f9d-afc3-4b24-a3c1-5aae62a1f58b status: code: 200 message: OK @@ -2466,20 +2445,20 @@ interactions: ParameterSetName: - -g -n -f --public-ip-address --vnet-name User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/azureFirewalls/af2?api-version=2020-07-01 response: body: string: "{\r\n \"name\": \"af2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/azureFirewalls/af2\",\r\n - \ \"etag\": \"W/\\\"3088fa0b-3a40-4cde-a108-fa89ff7e4408\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"6cfea964-c43b-4897-b15e-d0dbc28c3739\\\"\",\r\n \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus2\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \ \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\": {},\r\n \ \"ipConfigurations\": [\r\n {\r\n \"name\": \"myipconfig1\",\r\n \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/azureFirewalls/af2/azureFirewallIpConfigurations/myipconfig1\",\r\n - \ \"etag\": \"W/\\\"3088fa0b-3a40-4cde-a108-fa89ff7e4408\\\"\",\r\n + \ \"etag\": \"W/\\\"6cfea964-c43b-4897-b15e-d0dbc28c3739\\\"\",\r\n \ \"type\": \"Microsoft.Network/azureFirewalls/azureFirewallIpConfigurations\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \ \"privateIPAllocationMethod\": \"Dynamic\",\r\n \"publicIPAddress\": @@ -2491,7 +2470,7 @@ interactions: \ }\r\n }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/8f5a2947-6d15-4191-b822-8dc8a8e83532?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/4fbec701-1461-470e-a779-c408d2d3ff10?api-version=2020-07-01 cache-control: - no-cache content-length: @@ -2499,7 +2478,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:54:12 GMT + - Fri, 21 May 2021 03:33:44 GMT expires: - '-1' pragma: @@ -2516,9 +2495,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 9821e230-d962-4863-abae-8582083a2acf + - 55de8198-b215-4ec4-8cfb-864514801a71 x-ms-ratelimit-remaining-subscription-writes: - - '1195' + - '1197' status: code: 200 message: OK @@ -2536,9 +2515,9 @@ interactions: ParameterSetName: - -g -n -f --public-ip-address --vnet-name User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/8f5a2947-6d15-4191-b822-8dc8a8e83532?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/4fbec701-1461-470e-a779-c408d2d3ff10?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2550,7 +2529,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:54:22 GMT + - Fri, 21 May 2021 03:33:55 GMT expires: - '-1' pragma: @@ -2567,7 +2546,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 1954d1d8-e894-4764-a4b9-33237cb76e80 + - 41e2cef2-f6f2-476a-886b-37ceda0e81b1 status: code: 200 message: OK @@ -2585,9 +2564,9 @@ interactions: ParameterSetName: - -g -n -f --public-ip-address --vnet-name User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/8f5a2947-6d15-4191-b822-8dc8a8e83532?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/4fbec701-1461-470e-a779-c408d2d3ff10?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2599,7 +2578,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:54:33 GMT + - Fri, 21 May 2021 03:34:05 GMT expires: - '-1' pragma: @@ -2616,7 +2595,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 60d2a8cf-8992-444f-97f2-59bdcad409f8 + - e5f934dc-81ef-4a56-aed8-b80cee058d62 status: code: 200 message: OK @@ -2634,9 +2613,9 @@ interactions: ParameterSetName: - -g -n -f --public-ip-address --vnet-name User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/8f5a2947-6d15-4191-b822-8dc8a8e83532?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/4fbec701-1461-470e-a779-c408d2d3ff10?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2648,7 +2627,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:54:54 GMT + - Fri, 21 May 2021 03:34:25 GMT expires: - '-1' pragma: @@ -2665,7 +2644,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 7a4a6611-bf61-478c-9ba0-938c96c04292 + - 035542a7-13bd-472c-97f8-b159fc2d625c status: code: 200 message: OK @@ -2683,9 +2662,9 @@ interactions: ParameterSetName: - -g -n -f --public-ip-address --vnet-name User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/8f5a2947-6d15-4191-b822-8dc8a8e83532?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/4fbec701-1461-470e-a779-c408d2d3ff10?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2697,7 +2676,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:55:34 GMT + - Fri, 21 May 2021 03:35:05 GMT expires: - '-1' pragma: @@ -2714,7 +2693,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 8405438a-3699-42f6-8a4b-a4c367f8ff8e + - 9f603118-f901-4366-9b56-ae7006602d13 status: code: 200 message: OK @@ -2732,9 +2711,9 @@ interactions: ParameterSetName: - -g -n -f --public-ip-address --vnet-name User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/8f5a2947-6d15-4191-b822-8dc8a8e83532?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/4fbec701-1461-470e-a779-c408d2d3ff10?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -2746,7 +2725,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:56:54 GMT + - Fri, 21 May 2021 03:36:26 GMT expires: - '-1' pragma: @@ -2763,7 +2742,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 1675893c-9947-4588-a643-35a9a39b994c + - 99d2806f-74a4-4f87-ba20-043b44dd365b status: code: 200 message: OK @@ -2781,9 +2760,9 @@ interactions: ParameterSetName: - -g -n -f --public-ip-address --vnet-name User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/8f5a2947-6d15-4191-b822-8dc8a8e83532?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/4fbec701-1461-470e-a779-c408d2d3ff10?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -2795,7 +2774,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:59:35 GMT + - Fri, 21 May 2021 03:39:06 GMT expires: - '-1' pragma: @@ -2812,7 +2791,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 7e09443e-103a-4285-9768-6481ff65a645 + - ad5e61a8-bc42-4bed-baa3-62ae50d93950 status: code: 200 message: OK @@ -2830,20 +2809,20 @@ interactions: ParameterSetName: - -g -n -f --public-ip-address --vnet-name User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/azureFirewalls/af2?api-version=2020-07-01 response: body: string: "{\r\n \"name\": \"af2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/azureFirewalls/af2\",\r\n - \ \"etag\": \"W/\\\"38e6b9fe-c754-485a-9999-58c4b5163355\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"7071e656-e80e-4be1-a8cf-a69c0aeb3940\\\"\",\r\n \"type\": \"Microsoft.Network/azureFirewalls\",\r\n \"location\": \"westus2\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"sku\": {\r\n \"name\": \"AZFW_VNet\",\r\n \"tier\": \"Standard\"\r\n },\r\n \ \"threatIntelMode\": \"Alert\",\r\n \"additionalProperties\": {},\r\n \ \"ipConfigurations\": [\r\n {\r\n \"name\": \"myipconfig1\",\r\n \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/azureFirewalls/af2/azureFirewallIpConfigurations/myipconfig1\",\r\n - \ \"etag\": \"W/\\\"38e6b9fe-c754-485a-9999-58c4b5163355\\\"\",\r\n + \ \"etag\": \"W/\\\"7071e656-e80e-4be1-a8cf-a69c0aeb3940\\\"\",\r\n \ \"type\": \"Microsoft.Network/azureFirewalls/azureFirewallIpConfigurations\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \ \"privateIPAddress\": \"10.0.0.4\",\r\n \"privateIPAllocationMethod\": @@ -2861,9 +2840,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:59:35 GMT + - Fri, 21 May 2021 03:39:06 GMT etag: - - W/"38e6b9fe-c754-485a-9999-58c4b5163355" + - W/"7071e656-e80e-4be1-a8cf-a69c0aeb3940" expires: - '-1' pragma: @@ -2880,7 +2859,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - a801eec2-1b5d-414b-ac67-8ceed1388458 + - d15c497c-c3e8-47f0-a829-3cc6e5939e15 status: code: 200 message: OK @@ -2902,7 +2881,7 @@ interactions: ParameterSetName: - -g -n -l --sku User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy2?api-version=2020-07-01 response: @@ -2912,10 +2891,10 @@ interactions: \ \"ruleCollectionGroups\": [],\r\n \"firewalls\": [],\r\n \"provisioningState\": \"Updating\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy2\",\r\n \ \"name\": \"myclipolicy2\",\r\n \"type\": \"Microsoft.Network/FirewallPolicies\",\r\n - \ \"etag\": \"5f75426b-0359-40a0-ab7d-6bac227ab2fc\",\r\n \"location\": \"westus2\"\r\n}" + \ \"etag\": \"1bf5e0e4-ba15-4ef8-a007-1a87f6124cfd\",\r\n \"location\": \"westus2\"\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/nfvOperations/f104dc7b-a2e2-4729-b839-6d31eb672034?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/nfvOperations/d2455642-d96b-4e6d-9514-c9655cc06800?api-version=2020-07-01 cache-control: - no-cache content-length: @@ -2923,7 +2902,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:59:44 GMT + - Fri, 21 May 2021 03:39:15 GMT expires: - '-1' pragma: @@ -2935,7 +2914,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1199' status: code: 201 message: Created @@ -2953,9 +2932,9 @@ interactions: ParameterSetName: - -g -n -l --sku User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/nfvOperations/f104dc7b-a2e2-4729-b839-6d31eb672034?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/nfvOperations/d2455642-d96b-4e6d-9514-c9655cc06800?api-version=2020-07-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -2967,7 +2946,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 04:59:54 GMT + - Fri, 21 May 2021 03:39:25 GMT expires: - '-1' pragma: @@ -2999,542 +2978,7 @@ interactions: ParameterSetName: - -g -n -l --sku User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy2?api-version=2020-07-01 - response: - body: - string: "{\r\n \"properties\": {\r\n \"sku\": {\r\n \"tier\": \"Premium\"\r\n - \ },\r\n \"threatIntelMode\": \"Alert\",\r\n \"childPolicies\": [],\r\n - \ \"ruleCollectionGroups\": [],\r\n \"firewalls\": [],\r\n \"provisioningState\": - \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy2\",\r\n - \ \"name\": \"myclipolicy2\",\r\n \"type\": \"Microsoft.Network/FirewallPolicies\",\r\n - \ \"etag\": \"5f75426b-0359-40a0-ab7d-6bac227ab2fc\",\r\n \"location\": \"westus2\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '593' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 21 Apr 2021 04:59:54 GMT - etag: - - '"5f75426b-0359-40a0-ab7d-6bac227ab2fc"' - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-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: - - identity create - Connection: - - keep-alive - ParameterSetName: - - -g -n - User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.1.0 Azure-SDK-For-Python AZURECLI/2.22.1 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_azure_firewall_with_firewall_policy000001?api-version=2020-10-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001","name":"cli_test_azure_firewall_with_firewall_policy000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"product":"azurecli","cause":"automation","date":"2021-04-21T04:27:14Z"},"properties":{"provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '429' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 21 Apr 2021 04:59:57 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: '{"location": "westus2"}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - identity create - Connection: - - keep-alive - Content-Length: - - '23' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - -g -n - User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-msi/0.2.0 Azure-SDK-For-Python AZURECLI/2.22.1 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identitytest?api-version=2015-08-31-preview - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identitytest","name":"identitytest","type":"Microsoft.ManagedIdentity/userAssignedIdentities","location":"westus2","tags":{},"properties":{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","principalId":"81912d7d-0d29-4fca-995e-003936c411fe","clientId":"ad16e2e8-b1fe-407a-a300-8e1e9ed90883","clientSecretUrl":"https://control-westus2.identity.azure.net/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identitytest/credentials?tid=72f988bf-86f1-41af-91ab-2d7cd011db47&oid=81912d7d-0d29-4fca-995e-003936c411fe&aid=ad16e2e8-b1fe-407a-a300-8e1e9ed90883"}}' - headers: - cache-control: - - no-cache - content-length: - - '914' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 21 Apr 2021 05:00:07 GMT - expires: - - '-1' - location: - - /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identitytest - 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: - - network firewall policy update - Connection: - - keep-alive - ParameterSetName: - - -g -n --identity - User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy2?api-version=2020-07-01 - response: - body: - string: "{\r\n \"properties\": {\r\n \"sku\": {\r\n \"tier\": \"Premium\"\r\n - \ },\r\n \"threatIntelMode\": \"Alert\",\r\n \"childPolicies\": [],\r\n - \ \"ruleCollectionGroups\": [],\r\n \"firewalls\": [],\r\n \"provisioningState\": - \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy2\",\r\n - \ \"name\": \"myclipolicy2\",\r\n \"type\": \"Microsoft.Network/FirewallPolicies\",\r\n - \ \"etag\": \"5f75426b-0359-40a0-ab7d-6bac227ab2fc\",\r\n \"location\": \"westus2\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '593' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 21 Apr 2021 05:00:10 GMT - etag: - - '"5f75426b-0359-40a0-ab7d-6bac227ab2fc"' - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: '{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy2", - "location": "westus2", "identity": {"type": "UserAssigned", "userAssignedIdentities": - {"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identitytest": - {}}}, "properties": {"threatIntelMode": "Alert", "sku": {"tier": "Premium"}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall policy update - Connection: - - keep-alive - Content-Length: - - '593' - Content-Type: - - application/json - ParameterSetName: - - -g -n --identity - User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy2?api-version=2020-07-01 - response: - body: - string: "{\r\n \"properties\": {\r\n \"sku\": {\r\n \"tier\": \"Premium\"\r\n - \ },\r\n \"threatIntelMode\": \"Alert\",\r\n \"childPolicies\": [],\r\n - \ \"ruleCollectionGroups\": [],\r\n \"firewalls\": [],\r\n \"provisioningState\": - \"Updating\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy2\",\r\n - \ \"name\": \"myclipolicy2\",\r\n \"type\": \"Microsoft.Network/FirewallPolicies\",\r\n - \ \"etag\": \"070ca511-d52e-4719-87b5-9c3ed2d97578\",\r\n \"location\": \"westus2\",\r\n - \ \"identity\": {\r\n \"type\": \"UserAssigned\",\r\n \"userAssignedIdentities\": - {\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identitytest\": - {}\r\n }\r\n }\r\n}" - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/nfvOperations/864a5f60-95e7-4a3f-b123-1f0837ba8790?api-version=2020-07-01 - cache-control: - - no-cache - content-length: - - '912' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 21 Apr 2021 05:00: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 - x-ms-ratelimit-remaining-subscription-writes: - - '1198' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall policy update - Connection: - - keep-alive - ParameterSetName: - - -g -n --identity - User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/nfvOperations/864a5f60-95e7-4a3f-b123-1f0837ba8790?api-version=2020-07-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: - - Wed, 21 Apr 2021 05:00: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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall policy update - Connection: - - keep-alive - ParameterSetName: - - -g -n --identity - User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy2?api-version=2020-07-01 - response: - body: - string: "{\r\n \"properties\": {\r\n \"sku\": {\r\n \"tier\": \"Premium\"\r\n - \ },\r\n \"threatIntelMode\": \"Alert\",\r\n \"childPolicies\": [],\r\n - \ \"ruleCollectionGroups\": [],\r\n \"firewalls\": [],\r\n \"provisioningState\": - \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy2\",\r\n - \ \"name\": \"myclipolicy2\",\r\n \"type\": \"Microsoft.Network/FirewallPolicies\",\r\n - \ \"etag\": \"070ca511-d52e-4719-87b5-9c3ed2d97578\",\r\n \"location\": \"westus2\",\r\n - \ \"identity\": {\r\n \"type\": \"UserAssigned\",\r\n \"userAssignedIdentities\": - {\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identitytest\": - {\r\n \"clientId\": \"ad16e2e8-b1fe-407a-a300-8e1e9ed90883\",\r\n \"principalId\": - \"81912d7d-0d29-4fca-995e-003936c411fe\"\r\n }\r\n }\r\n }\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '1045' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 21 Apr 2021 05:00:28 GMT - etag: - - '"070ca511-d52e-4719-87b5-9c3ed2d97578"' - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-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 firewall policy update - Connection: - - keep-alive - ParameterSetName: - - -g -n --remove - User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy2?api-version=2020-07-01 - response: - body: - string: "{\r\n \"properties\": {\r\n \"sku\": {\r\n \"tier\": \"Premium\"\r\n - \ },\r\n \"threatIntelMode\": \"Alert\",\r\n \"childPolicies\": [],\r\n - \ \"ruleCollectionGroups\": [],\r\n \"firewalls\": [],\r\n \"provisioningState\": - \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy2\",\r\n - \ \"name\": \"myclipolicy2\",\r\n \"type\": \"Microsoft.Network/FirewallPolicies\",\r\n - \ \"etag\": \"070ca511-d52e-4719-87b5-9c3ed2d97578\",\r\n \"location\": \"westus2\",\r\n - \ \"identity\": {\r\n \"type\": \"UserAssigned\",\r\n \"userAssignedIdentities\": - {\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identitytest\": - {\r\n \"clientId\": \"ad16e2e8-b1fe-407a-a300-8e1e9ed90883\",\r\n \"principalId\": - \"81912d7d-0d29-4fca-995e-003936c411fe\"\r\n }\r\n }\r\n }\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '1045' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 21 Apr 2021 05:00:30 GMT - etag: - - '"070ca511-d52e-4719-87b5-9c3ed2d97578"' - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - status: - code: 200 - message: OK -- request: - body: '{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy2", - "location": "westus2", "identity": {"type": "None"}, "properties": {"threatIntelMode": - "Alert", "sku": {"tier": "Premium"}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall policy update - Connection: - - keep-alive - Content-Length: - - '335' - Content-Type: - - application/json - ParameterSetName: - - -g -n --remove - User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy2?api-version=2020-07-01 - response: - body: - string: "{\r\n \"properties\": {\r\n \"sku\": {\r\n \"tier\": \"Premium\"\r\n - \ },\r\n \"threatIntelMode\": \"Alert\",\r\n \"childPolicies\": [],\r\n - \ \"ruleCollectionGroups\": [],\r\n \"firewalls\": [],\r\n \"provisioningState\": - \"Updating\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy2\",\r\n - \ \"name\": \"myclipolicy2\",\r\n \"type\": \"Microsoft.Network/FirewallPolicies\",\r\n - \ \"etag\": \"3480da24-c373-4fd3-ba3d-89acbaf12c5f\",\r\n \"location\": \"westus2\",\r\n - \ \"identity\": {\r\n \"type\": \"None\"\r\n }\r\n}" - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/nfvOperations/898c0c34-feab-4ff0-bb32-09ed21159e66?api-version=2020-07-01 - cache-control: - - no-cache - content-length: - - '635' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 21 Apr 2021 05:00: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 - x-ms-ratelimit-remaining-subscription-writes: - - '1198' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall policy update - Connection: - - keep-alive - ParameterSetName: - - -g -n --remove - User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/nfvOperations/898c0c34-feab-4ff0-bb32-09ed21159e66?api-version=2020-07-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: - - Wed, 21 Apr 2021 05:00: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: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - network firewall policy update - Connection: - - keep-alive - ParameterSetName: - - -g -n --remove - User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy2?api-version=2020-07-01 response: @@ -3544,7 +2988,7 @@ interactions: \ \"ruleCollectionGroups\": [],\r\n \"firewalls\": [],\r\n \"provisioningState\": \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_firewall_with_firewall_policy000001/providers/Microsoft.Network/firewallPolicies/myclipolicy2\",\r\n \ \"name\": \"myclipolicy2\",\r\n \"type\": \"Microsoft.Network/FirewallPolicies\",\r\n - \ \"etag\": \"3480da24-c373-4fd3-ba3d-89acbaf12c5f\",\r\n \"location\": \"westus2\"\r\n}" + \ \"etag\": \"1bf5e0e4-ba15-4ef8-a007-1a87f6124cfd\",\r\n \"location\": \"westus2\"\r\n}" headers: cache-control: - no-cache @@ -3553,9 +2997,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 21 Apr 2021 05:00:47 GMT + - Fri, 21 May 2021 03:39:25 GMT etag: - - '"3480da24-c373-4fd3-ba3d-89acbaf12c5f"' + - '"1bf5e0e4-ba15-4ef8-a007-1a87f6124cfd"' expires: - '-1' pragma: diff --git a/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_with_firewall_policy_premium.yaml b/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_with_firewall_policy_premium.yaml new file mode 100644 index 00000000000..f5fcef81570 --- /dev/null +++ b/src/azure-firewall/azext_firewall/tests/latest/recordings/test_azure_firewall_with_firewall_policy_premium.yaml @@ -0,0 +1,688 @@ +interactions: +- request: + body: '{"location": "westus2", "properties": {"sku": {"tier": "Premium"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall policy create + Connection: + - keep-alive + Content-Length: + - '67' + Content-Type: + - application/json + ParameterSetName: + - -g -n -l --sku + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_with_firewall_policy_premium000001/providers/Microsoft.Network/firewallPolicies/myclipolicy2?api-version=2020-07-01 + response: + body: + string: "{\r\n \"properties\": {\r\n \"sku\": {\r\n \"tier\": \"Premium\"\r\n + \ },\r\n \"threatIntelMode\": \"Alert\",\r\n \"childPolicies\": [],\r\n + \ \"ruleCollectionGroups\": [],\r\n \"firewalls\": [],\r\n \"provisioningState\": + \"Updating\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_with_firewall_policy_premium000001/providers/Microsoft.Network/firewallPolicies/myclipolicy2\",\r\n + \ \"name\": \"myclipolicy2\",\r\n \"type\": \"Microsoft.Network/FirewallPolicies\",\r\n + \ \"etag\": \"c88b1cb7-858a-4356-b74d-c6dd7ab9be84\",\r\n \"location\": \"westus2\"\r\n}" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/nfvOperations/ec41ef36-5d4d-4c9a-acff-a71677bba5c2?api-version=2020-07-01 + cache-control: + - no-cache + content-length: + - '592' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 21 May 2021 03:16:23 GMT + expires: + - '-1' + 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: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall policy create + Connection: + - keep-alive + ParameterSetName: + - -g -n -l --sku + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/nfvOperations/ec41ef36-5d4d-4c9a-acff-a71677bba5c2?api-version=2020-07-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: + - Fri, 21 May 2021 03:16: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall policy create + Connection: + - keep-alive + ParameterSetName: + - -g -n -l --sku + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_with_firewall_policy_premium000001/providers/Microsoft.Network/firewallPolicies/myclipolicy2?api-version=2020-07-01 + response: + body: + string: "{\r\n \"properties\": {\r\n \"sku\": {\r\n \"tier\": \"Premium\"\r\n + \ },\r\n \"threatIntelMode\": \"Alert\",\r\n \"childPolicies\": [],\r\n + \ \"ruleCollectionGroups\": [],\r\n \"firewalls\": [],\r\n \"provisioningState\": + \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_with_firewall_policy_premium000001/providers/Microsoft.Network/firewallPolicies/myclipolicy2\",\r\n + \ \"name\": \"myclipolicy2\",\r\n \"type\": \"Microsoft.Network/FirewallPolicies\",\r\n + \ \"etag\": \"c88b1cb7-858a-4356-b74d-c6dd7ab9be84\",\r\n \"location\": \"westus2\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '593' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 21 May 2021 03:16:34 GMT + etag: + - '"c88b1cb7-858a-4356-b74d-c6dd7ab9be84"' + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-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: + - identity create + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-resource/16.1.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test_azure_firewall_with_firewall_policy_premium000001?api-version=2020-10-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_with_firewall_policy_premium000001","name":"test_azure_firewall_with_firewall_policy_premium000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"product":"azurecli","cause":"automation","date":"2021-05-21T03:16:12Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '429' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 21 May 2021 03:16:35 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: '{"location": "westus2"}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - identity create + Connection: + - keep-alive + Content-Length: + - '23' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -g -n + User-Agent: + - python/3.7.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-msi/0.2.0 Azure-SDK-For-Python AZURECLI/2.23.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_with_firewall_policy_premium000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identitytest?api-version=2015-08-31-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test_azure_firewall_with_firewall_policy_premium000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identitytest","name":"identitytest","type":"Microsoft.ManagedIdentity/userAssignedIdentities","location":"westus2","tags":{},"properties":{"tenantId":"54826b22-38d6-4fb2-bad9-b7b93a3e9c5a","principalId":"dba2b4cc-ffe5-4a86-8cb6-83be15ac6d5b","clientId":"5dcbcccf-93dc-41d3-9969-3d64b79fb5a9","clientSecretUrl":"https://control-westus2.identity.azure.net/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test_azure_firewall_with_firewall_policy_premium000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identitytest/credentials?tid=54826b22-38d6-4fb2-bad9-b7b93a3e9c5a&oid=dba2b4cc-ffe5-4a86-8cb6-83be15ac6d5b&aid=5dcbcccf-93dc-41d3-9969-3d64b79fb5a9"}}' + headers: + cache-control: + - no-cache + content-length: + - '914' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 21 May 2021 03:16:44 GMT + expires: + - '-1' + location: + - /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test_azure_firewall_with_firewall_policy_premium000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identitytest + 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: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall policy update + Connection: + - keep-alive + ParameterSetName: + - -g -n --identity + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_with_firewall_policy_premium000001/providers/Microsoft.Network/firewallPolicies/myclipolicy2?api-version=2020-07-01 + response: + body: + string: "{\r\n \"properties\": {\r\n \"sku\": {\r\n \"tier\": \"Premium\"\r\n + \ },\r\n \"threatIntelMode\": \"Alert\",\r\n \"childPolicies\": [],\r\n + \ \"ruleCollectionGroups\": [],\r\n \"firewalls\": [],\r\n \"provisioningState\": + \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_with_firewall_policy_premium000001/providers/Microsoft.Network/firewallPolicies/myclipolicy2\",\r\n + \ \"name\": \"myclipolicy2\",\r\n \"type\": \"Microsoft.Network/FirewallPolicies\",\r\n + \ \"etag\": \"c88b1cb7-858a-4356-b74d-c6dd7ab9be84\",\r\n \"location\": \"westus2\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '593' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 21 May 2021 03:16:44 GMT + etag: + - '"c88b1cb7-858a-4356-b74d-c6dd7ab9be84"' + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_with_firewall_policy_premium000001/providers/Microsoft.Network/firewallPolicies/myclipolicy2", + "location": "westus2", "identity": {"type": "UserAssigned", "userAssignedIdentities": + {"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test_azure_firewall_with_firewall_policy_premium000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identitytest": + {}}}, "properties": {"threatIntelMode": "Alert", "sku": {"tier": "Premium"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall policy update + Connection: + - keep-alive + Content-Length: + - '593' + Content-Type: + - application/json + ParameterSetName: + - -g -n --identity + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_with_firewall_policy_premium000001/providers/Microsoft.Network/firewallPolicies/myclipolicy2?api-version=2020-07-01 + response: + body: + string: "{\r\n \"properties\": {\r\n \"sku\": {\r\n \"tier\": \"Premium\"\r\n + \ },\r\n \"threatIntelMode\": \"Alert\",\r\n \"childPolicies\": [],\r\n + \ \"ruleCollectionGroups\": [],\r\n \"firewalls\": [],\r\n \"provisioningState\": + \"Updating\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_with_firewall_policy_premium000001/providers/Microsoft.Network/firewallPolicies/myclipolicy2\",\r\n + \ \"name\": \"myclipolicy2\",\r\n \"type\": \"Microsoft.Network/FirewallPolicies\",\r\n + \ \"etag\": \"1093b38e-3875-4885-9862-98d3fc4fb7e8\",\r\n \"location\": \"westus2\",\r\n + \ \"identity\": {\r\n \"type\": \"UserAssigned\",\r\n \"userAssignedIdentities\": + {\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test_azure_firewall_with_firewall_policy_premium000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identitytest\": + {}\r\n }\r\n }\r\n}" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/nfvOperations/43f35867-a075-4757-892b-32561e5d01c1?api-version=2020-07-01 + cache-control: + - no-cache + content-length: + - '912' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 21 May 2021 03: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 + x-ms-ratelimit-remaining-subscription-writes: + - '1197' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall policy update + Connection: + - keep-alive + ParameterSetName: + - -g -n --identity + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/nfvOperations/43f35867-a075-4757-892b-32561e5d01c1?api-version=2020-07-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: + - Fri, 21 May 2021 03:17: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall policy update + Connection: + - keep-alive + ParameterSetName: + - -g -n --identity + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_with_firewall_policy_premium000001/providers/Microsoft.Network/firewallPolicies/myclipolicy2?api-version=2020-07-01 + response: + body: + string: "{\r\n \"properties\": {\r\n \"sku\": {\r\n \"tier\": \"Premium\"\r\n + \ },\r\n \"threatIntelMode\": \"Alert\",\r\n \"childPolicies\": [],\r\n + \ \"ruleCollectionGroups\": [],\r\n \"firewalls\": [],\r\n \"provisioningState\": + \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_with_firewall_policy_premium000001/providers/Microsoft.Network/firewallPolicies/myclipolicy2\",\r\n + \ \"name\": \"myclipolicy2\",\r\n \"type\": \"Microsoft.Network/FirewallPolicies\",\r\n + \ \"etag\": \"1093b38e-3875-4885-9862-98d3fc4fb7e8\",\r\n \"location\": \"westus2\",\r\n + \ \"identity\": {\r\n \"type\": \"UserAssigned\",\r\n \"userAssignedIdentities\": + {\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test_azure_firewall_with_firewall_policy_premium000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identitytest\": + {\r\n \"clientId\": \"5dcbcccf-93dc-41d3-9969-3d64b79fb5a9\",\r\n \"principalId\": + \"dba2b4cc-ffe5-4a86-8cb6-83be15ac6d5b\"\r\n }\r\n }\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1045' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 21 May 2021 03:17:02 GMT + etag: + - '"1093b38e-3875-4885-9862-98d3fc4fb7e8"' + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-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 firewall policy update + Connection: + - keep-alive + ParameterSetName: + - -g -n --remove + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_with_firewall_policy_premium000001/providers/Microsoft.Network/firewallPolicies/myclipolicy2?api-version=2020-07-01 + response: + body: + string: "{\r\n \"properties\": {\r\n \"sku\": {\r\n \"tier\": \"Premium\"\r\n + \ },\r\n \"threatIntelMode\": \"Alert\",\r\n \"childPolicies\": [],\r\n + \ \"ruleCollectionGroups\": [],\r\n \"firewalls\": [],\r\n \"provisioningState\": + \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_with_firewall_policy_premium000001/providers/Microsoft.Network/firewallPolicies/myclipolicy2\",\r\n + \ \"name\": \"myclipolicy2\",\r\n \"type\": \"Microsoft.Network/FirewallPolicies\",\r\n + \ \"etag\": \"1093b38e-3875-4885-9862-98d3fc4fb7e8\",\r\n \"location\": \"westus2\",\r\n + \ \"identity\": {\r\n \"type\": \"UserAssigned\",\r\n \"userAssignedIdentities\": + {\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test_azure_firewall_with_firewall_policy_premium000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identitytest\": + {\r\n \"clientId\": \"5dcbcccf-93dc-41d3-9969-3d64b79fb5a9\",\r\n \"principalId\": + \"dba2b4cc-ffe5-4a86-8cb6-83be15ac6d5b\"\r\n }\r\n }\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1045' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 21 May 2021 03:17:03 GMT + etag: + - '"1093b38e-3875-4885-9862-98d3fc4fb7e8"' + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_with_firewall_policy_premium000001/providers/Microsoft.Network/firewallPolicies/myclipolicy2", + "location": "westus2", "identity": {"type": "None"}, "properties": {"threatIntelMode": + "Alert", "sku": {"tier": "Premium"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall policy update + Connection: + - keep-alive + Content-Length: + - '335' + Content-Type: + - application/json + ParameterSetName: + - -g -n --remove + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_with_firewall_policy_premium000001/providers/Microsoft.Network/firewallPolicies/myclipolicy2?api-version=2020-07-01 + response: + body: + string: "{\r\n \"properties\": {\r\n \"sku\": {\r\n \"tier\": \"Premium\"\r\n + \ },\r\n \"threatIntelMode\": \"Alert\",\r\n \"childPolicies\": [],\r\n + \ \"ruleCollectionGroups\": [],\r\n \"firewalls\": [],\r\n \"provisioningState\": + \"Updating\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_with_firewall_policy_premium000001/providers/Microsoft.Network/firewallPolicies/myclipolicy2\",\r\n + \ \"name\": \"myclipolicy2\",\r\n \"type\": \"Microsoft.Network/FirewallPolicies\",\r\n + \ \"etag\": \"06d40d30-cc0e-42ff-b980-4d1ba218461d\",\r\n \"location\": \"westus2\",\r\n + \ \"identity\": {\r\n \"type\": \"None\"\r\n }\r\n}" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/nfvOperations/c32f96b5-a7db-487c-ab28-d1f34fa51a87?api-version=2020-07-01 + cache-control: + - no-cache + content-length: + - '635' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 21 May 2021 03:17: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 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall policy update + Connection: + - keep-alive + ParameterSetName: + - -g -n --remove + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/nfvOperations/c32f96b5-a7db-487c-ab28-d1f34fa51a87?api-version=2020-07-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: + - Fri, 21 May 2021 03:17: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: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network firewall policy update + Connection: + - keep-alive + ParameterSetName: + - -g -n --remove + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_with_firewall_policy_premium000001/providers/Microsoft.Network/firewallPolicies/myclipolicy2?api-version=2020-07-01 + response: + body: + string: "{\r\n \"properties\": {\r\n \"sku\": {\r\n \"tier\": \"Premium\"\r\n + \ },\r\n \"threatIntelMode\": \"Alert\",\r\n \"childPolicies\": [],\r\n + \ \"ruleCollectionGroups\": [],\r\n \"firewalls\": [],\r\n \"provisioningState\": + \"Succeeded\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_azure_firewall_with_firewall_policy_premium000001/providers/Microsoft.Network/firewallPolicies/myclipolicy2\",\r\n + \ \"name\": \"myclipolicy2\",\r\n \"type\": \"Microsoft.Network/FirewallPolicies\",\r\n + \ \"etag\": \"06d40d30-cc0e-42ff-b980-4d1ba218461d\",\r\n \"location\": \"westus2\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '593' + content-type: + - application/json; charset=utf-8 + date: + - Fri, 21 May 2021 03:17:21 GMT + etag: + - '"06d40d30-cc0e-42ff-b980-4d1ba218461d"' + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.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/azure-firewall/azext_firewall/tests/latest/test_azure_firewall_scenario.py b/src/azure-firewall/azext_firewall/tests/latest/test_azure_firewall_scenario.py index a44770157e0..7534d8eabbf 100644 --- a/src/azure-firewall/azext_firewall/tests/latest/test_azure_firewall_scenario.py +++ b/src/azure-firewall/azext_firewall/tests/latest/test_azure_firewall_scenario.py @@ -69,7 +69,7 @@ def test_azure_firewall_ip_config(self, resource_group): self.cmd('network firewall ip-config delete -g {rg} -n {ipconfig2} -f {af}') self.cmd('network firewall ip-config delete -g {rg} -n {ipconfig} -f {af}') - @ResourceGroupPreparer(name_prefix='cli_test_azure_firewall_management_ip_config') + @ResourceGroupPreparer(name_prefix='test_azure_firewall_management_ip_config') def test_azure_firewall_management_ip_config(self, resource_group): self.kwargs.update({ 'af': 'af1', @@ -110,6 +110,7 @@ def test_azure_firewall_management_ip_config(self, resource_group): # self.check('subnet.id', subnet_id_ip_config) # ]) + self.cmd('network vnet create -g {rg} -n {vnet} --subnet-name "AzureFirewallSubnet" --address-prefixes 10.0.0.0/16 --subnet-prefixes 10.0.0.0/24') self.cmd('network firewall ip-config create -g {rg} -n {ipconfig3} -f {af} --public-ip-address {pubip3} --vnet-name {vnet}', checks=[ self.check('name', '{ipconfig3}'), # self.check('subnet', None) @@ -332,8 +333,21 @@ def test_azure_firewall_with_firewall_policy(self, resource_group, resource_grou self.check('name', '{policy2}') ]) + @ResourceGroupPreparer(name_prefix='test_azure_firewall_with_firewall_policy_premium', location='westus2') + def test_azure_firewall_with_firewall_policy_premium(self, resource_group, resource_group_location): + self.kwargs.update({ + 'policy2': 'myclipolicy2', + 'rg': resource_group, + 'location': resource_group_location, + }) + + self.cmd('network firewall policy create -g {rg} -n {policy2} -l {location} --sku Premium', checks=[ + self.check('type', 'Microsoft.Network/FirewallPolicies'), + self.check('name', '{policy2}') + ]) + # test firewall policy identity - identity = self.cmd('identity create -g {rg} -n identitytest').get_output_in_json() + identity = self.cmd('identity create -g {rg} -n identitytest',).get_output_in_json() self.kwargs.update({'id': identity['id']}) self.cmd('network firewall policy update -g {rg} -n {policy2} --identity {id}', checks=[self.exists('identity')]) @@ -812,3 +826,11 @@ def test_firewall_with_dns_proxy(self, resource_group): self.assertEqual(show_data['Network.DNS.EnableProxy'], 'true') self.cmd('network firewall delete -g {rg} --name {fw}') + + @ResourceGroupPreparer(name_prefix='test_azure_firewall_tier', location='eastus2euap') + def test_azure_firewall_tier(self, resource_group): + self.kwargs.update({ + 'rg': resource_group + }) + self.cmd('network firewall create -g {rg} -n af --sku AZFW_VNet --tier Premium', + checks=self.check('sku.tier', 'Premium')) diff --git a/src/azure-firewall/setup.py b/src/azure-firewall/setup.py index d89ced0abc4..4d6053a1b29 100644 --- a/src/azure-firewall/setup.py +++ b/src/azure-firewall/setup.py @@ -8,7 +8,7 @@ from codecs import open from setuptools import setup, find_packages -VERSION = "0.9.1" +VERSION = "0.10.0" CLASSIFIERS = [ 'Development Status :: 4 - Beta', From ecbde3be43580778f16898d486af6096f0f23634 Mon Sep 17 00:00:00 2001 From: Chenyang Liu Date: Fri, 21 May 2021 15:09:28 +0800 Subject: [PATCH 29/83] Add data plane commands to az webpubsub (#3318) * Update data plane data * Fix linter style * Specify dependencies * Remove test * Update * More updates * Fix linter * Some updates according to comments --- src/webpubsub/azext_webpubsub/_help.py | 109 ++ src/webpubsub/azext_webpubsub/_params.py | 37 +- src/webpubsub/azext_webpubsub/client.py | 124 +++ src/webpubsub/azext_webpubsub/commands.py | 37 + src/webpubsub/azext_webpubsub/service.py | 118 +++ .../__init__.py | 232 +++++ .../_policies.py | 83 ++ .../_utils.py | 45 + .../_version.py | 6 + .../azure_messaging_webpubsubservice/aio.py | 110 ++ .../core/__init__.py | 0 .../core/rest/__init__.py | 65 ++ .../core/rest/_rest.py | 625 ++++++++++++ .../core/rest/_rest_py3.py | 739 ++++++++++++++ .../azure_messaging_webpubsubservice/rest.py | 942 ++++++++++++++++++ src/webpubsub/setup.py | 4 +- 16 files changed, 3274 insertions(+), 2 deletions(-) create mode 100644 src/webpubsub/azext_webpubsub/client.py create mode 100644 src/webpubsub/azext_webpubsub/service.py create mode 100644 src/webpubsub/azext_webpubsub/vendored_sdks/azure_messaging_webpubsubservice/__init__.py create mode 100644 src/webpubsub/azext_webpubsub/vendored_sdks/azure_messaging_webpubsubservice/_policies.py create mode 100644 src/webpubsub/azext_webpubsub/vendored_sdks/azure_messaging_webpubsubservice/_utils.py create mode 100644 src/webpubsub/azext_webpubsub/vendored_sdks/azure_messaging_webpubsubservice/_version.py create mode 100644 src/webpubsub/azext_webpubsub/vendored_sdks/azure_messaging_webpubsubservice/aio.py create mode 100644 src/webpubsub/azext_webpubsub/vendored_sdks/azure_messaging_webpubsubservice/core/__init__.py create mode 100644 src/webpubsub/azext_webpubsub/vendored_sdks/azure_messaging_webpubsubservice/core/rest/__init__.py create mode 100644 src/webpubsub/azext_webpubsub/vendored_sdks/azure_messaging_webpubsubservice/core/rest/_rest.py create mode 100644 src/webpubsub/azext_webpubsub/vendored_sdks/azure_messaging_webpubsubservice/core/rest/_rest_py3.py create mode 100644 src/webpubsub/azext_webpubsub/vendored_sdks/azure_messaging_webpubsubservice/rest.py diff --git a/src/webpubsub/azext_webpubsub/_help.py b/src/webpubsub/azext_webpubsub/_help.py index a0d76d8486d..11d67a080e1 100644 --- a/src/webpubsub/azext_webpubsub/_help.py +++ b/src/webpubsub/azext_webpubsub/_help.py @@ -32,6 +32,36 @@ short-summary: Commands to manage Webpubsub network rules. """ +helps['webpubsub client'] = """ + type: group + short-summary: Commands to manage client connections. +""" + +helps['webpubsub service'] = """ + type: group + short-summary: Commands to manage Webpubsub service. +""" + +helps['webpubsub service connection'] = """ + type: group + short-summary: Commands to manage Webpubsub service connections. +""" + +helps['webpubsub service user'] = """ + type: group + short-summary: Commands to manage Webpubsub service users. +""" + +helps['webpubsub service group'] = """ + type: group + short-summary: Commands to manage Webpubsub service groups. +""" + +helps['webpubsub service permission'] = """ + type: group + short-summary: Commands to manage Webpubsub service permissions. +""" + helps['webpubsub create'] = """ type: command short-summary: Create a Webpubsub. @@ -153,3 +183,82 @@ text: > az webpubsub event-handler hub update -n MyWebPubSub -g MyResourceGroup --hub-name MyHub --template url-template='http://host.com user-event-pattern="MyEvent" --template url-template="http://host2.com" system-event-pattern="connect"' """ + +helps['webpubsub client start'] = """ + type: command + short-summary: Start a interactive client connection. +""" + +helps['webpubsub service broadcast'] = """ + type: command + short-summary: Broadcast messages to hub. + examples: + - name: Send a message to hub + text: > + az webpubsub service broadcast -n MyWebPubSub -g MyResourceGroup --hub-name MyHub --payload MyPayload +""" + +helps['webpubsub service connection exist'] = """ + type: command + short-summary: Check whether client connection exists +""" + +helps['webpubsub service connection close'] = """ + type: command + short-summary: Close a specific client connection +""" + +helps['webpubsub service connection send'] = """ + type: command + short-summary: Send a message to connection +""" + +helps['webpubsub service group add-connection'] = """ + type: command + short-summary: Add a connection to group +""" + +helps['webpubsub service group remove-connection'] = """ + type: command + short-summary: Remove a connection from group +""" + +helps['webpubsub service group add-user'] = """ + type: command + short-summary: Add a user to group +""" + +helps['webpubsub service group remove-user'] = """ + type: command + short-summary: Remove a user from group +""" + +helps['webpubsub service group send'] = """ + type: command + short-summary: Send a message to group +""" + +helps['webpubsub service user send'] = """ + type: command + short-summary: Send a message to user +""" + +helps['webpubsub service user exist'] = """ + type: command + short-summary: Check if there are any client connections connected for the given user +""" + +helps['webpubsub service permission grant'] = """ + type: command + short-summary: Grant a group permission to the connection. +""" + +helps['webpubsub service permission revoke'] = """ + type: command + short-summary: Revoke a group permission from the connection. +""" + +helps['webpubsub service permission check'] = """ + type: command + short-summary: Check if a connection has permission to the specified group +""" diff --git a/src/webpubsub/azext_webpubsub/_params.py b/src/webpubsub/azext_webpubsub/_params.py index 5851b9f53cb..216d4593a63 100644 --- a/src/webpubsub/azext_webpubsub/_params.py +++ b/src/webpubsub/azext_webpubsub/_params.py @@ -17,7 +17,7 @@ WEBPUBSUB_KEY_TYPE = ['primary', 'secondary'] SKU_TYPE = ['Standard_S1', 'Free_F1'] -NETWORK_RULE_TYPE = [] +PERMISSION_TYPE = ['joinLeaveGroup', 'sendToGroup'] def load_arguments(self, _): @@ -56,3 +56,38 @@ def load_arguments(self, _): with self.argument_context('webpubsub event-handler hub update') as c: c.argument('template', action=EventHandlerTemplateUpdateAction, nargs='+', help='Template item for event handler settings. Use key=value pattern to set properties. Supported keys are "url-template", "user-event-pattern", "system-event-pattern".') + + with self.argument_context('webpubsub client') as c: + c.argument('hub_name', help='The hub which client connects to') + + with self.argument_context('webpubsub service') as c: + c.argument('hub_name', help='The hub to manage.') + + for scope in ['webpubsub service broadcast', 'webpubsub service connection send', 'webpubsub service group send', 'webpubsub service user send']: + with self.argument_context(scope) as c: + c.argument('payload', help='A string payload to send.') + + for scope in ['webpubsub service connection', + 'webpubsub service group add-connection', + 'webpubsub service group remove-connection', + 'webpubsub service permission grant', + 'webpubsub service permission revoke', + 'webpubsub service permission check']: + with self.argument_context(scope) as c: + c.argument('connection_id', help='The connection id.') + + for scope in ['webpubsub service group', + 'webpubsub service permission grant', + 'webpubsub service permission revoke', + 'webpubsub service permission check']: + with self.argument_context(scope) as c: + c.argument('group_name', help='The group name.') + + for scope in ['webpubsub service group add-user', + 'webpubsub service group remove-user', + 'webpubsub service user']: + with self.argument_context(scope) as c: + c.argument('user_id', help='The user id.') + + with self.argument_context('webpubsub service permission') as c: + c.argument('permission', arg_type=get_enum_type(PERMISSION_TYPE), help='The permission') diff --git a/src/webpubsub/azext_webpubsub/client.py b/src/webpubsub/azext_webpubsub/client.py new file mode 100644 index 00000000000..ff4970c3248 --- /dev/null +++ b/src/webpubsub/azext_webpubsub/client.py @@ -0,0 +1,124 @@ +# -------------------------------------------------------------------------------------------- +# 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 + +import asyncio +import sys +import threading +import json +import websockets +from .vendored_sdks.azure_messaging_webpubsubservice import ( + build_authentication_token +) + + +HELP_MESSAGE = """ +----------Usage----------- +help : Print help messages +joingroup : Join the connection to group +leavegroup : Leave the connection from group +sendtogroup : Send message to group +event : Send event to event handler +-------------------------- + """ + + +async def connect(url): + async with websockets.connect(url, subprotocols=['json.webpubsub.azure.v1']) as ws: + + eprint(HELP_MESSAGE) + publisher = Publisher(ws) + publisher.daemon = True + publisher.start() + while True: + print(await ws.recv()) + + +def start_client(client, resource_group_name, webpubsub_name, hub_name): + keys = client.list_keys(resource_group_name, webpubsub_name) + connection_string = keys.primary_connection_string + token = build_authentication_token(connection_string, hub_name, roles=['webpubsub.sendToGroup', 'webpubsub.joinLeaveGroup']) + asyncio.get_event_loop().run_until_complete(connect(token['url'])) + + +def eprint(*args, **kwargs): + print(*args, file=sys.stderr, **kwargs) + + +class Publisher(threading.Thread): + def __init__(self, ws): + threading.Thread.__init__(self) + self.ws = ws + self.id = 0 + + def run(self): + new_loop = asyncio.new_event_loop() + asyncio.set_event_loop(new_loop) + while True: + input_line = sys.stdin.readline().strip() + asyncio.get_event_loop().run_until_complete(self._parse(input_line)) + + def join(self, timeout=None): + super().join() + + async def _parse(self, input_line): + if input_line: + if input_line.strip() == 'help': + eprint(HELP_MESSAGE) + return + + arr = input_line.split(maxsplit=1) + if len(arr) != 2: + eprint('Invalid input "{}", use help to show usage'.format(input_line)) + return + + command = arr[0] + if command.lower() == 'joingroup': + group = arr[1] + payload = json.dumps({ + 'type': 'joinGroup', + 'group': group, + 'ackId': self._get_ack_id() + }) + await self.ws.send(payload) + + elif command.lower() == 'leavegroup': + group = arr[1] + payload = json.dumps({ + 'type': 'leaveGroup', + 'group': group, + 'ackId': self._get_ack_id() + }) + await self.ws.send(payload) + + elif command.lower() == 'sendtogroup': + arr = arr[1].split(maxsplit=1) + group = arr[0] + data = arr[1] + payload = json.dumps({ + 'type': 'sendToGroup', + 'group': group, + 'data': data, + 'ackId': self._get_ack_id() + }) + await self.ws.send(payload) + + elif command.lower() == 'event': + arr = arr[1].split(maxsplit=1) + event = arr[0] + data = arr[1] + payload = json.dumps({ + 'type': 'event', + 'event': event, + 'data': data + }) + await self.ws.send(payload) + + else: + eprint('Invalid input "{}", use help to show usage'.format(input_line)) + + def _get_ack_id(self): + self.id = self.id + 1 + return self.id diff --git a/src/webpubsub/azext_webpubsub/commands.py b/src/webpubsub/azext_webpubsub/commands.py index 617d27d4548..273a98bea5b 100644 --- a/src/webpubsub/azext_webpubsub/commands.py +++ b/src/webpubsub/azext_webpubsub/commands.py @@ -31,6 +31,16 @@ def load_command_table(self, _): client_factory=cf_webpubsub ) + webpubsub_client_utils = CliCommandType( + operations_tmpl='azext_webpubsub.client#{}', + client_factory=cf_webpubsub + ) + + webpubsub_service_utils = CliCommandType( + operations_tmpl='azext_webpubsub.service#{}', + client_factory=cf_webpubsub + ) + with self.command_group('webpubsub', webpubsub_general_utils, is_preview=True) as g: g.command('create', 'webpubsub_create') g.command('delete', 'webpubsub_delete') @@ -57,3 +67,30 @@ def load_command_table(self, _): with self.command_group('webpubsub event-handler hub', webpubsub_eventhandler_utils) as g: g.command('remove', 'event_handler_hub_remove') g.command('update', 'event_handler_hub_update') + + with self.command_group('webpubsub client', webpubsub_client_utils) as g: + g.command('start', 'start_client') + + with self.command_group('webpubsub service', webpubsub_service_utils) as g: + g.command('broadcast', 'broadcast') + + with self.command_group('webpubsub service connection', webpubsub_service_utils) as g: + g.command('exist', 'check_connection_exists') + g.command('close', 'close_connection') + g.command('send', 'send_connection') + + with self.command_group('webpubsub service group', webpubsub_service_utils) as g: + g.command('add-connection', 'add_connection_to_group') + g.command('remove-connection', 'remove_connection_from_group') + g.command('send', 'send_group') + g.command('add-user', 'add_user_to_group') + g.command('remove-user', 'remove_user_from_group') + + with self.command_group('webpubsub service user', webpubsub_service_utils) as g: + g.command('send', 'send_user') + g.command('exist', 'check_user_exists') + + with self.command_group('webpubsub service permission', webpubsub_service_utils) as g: + g.command('grant', 'grant_permission') + g.command('revoke', 'revoke_permission') + g.command('check', 'check_permission') diff --git a/src/webpubsub/azext_webpubsub/service.py b/src/webpubsub/azext_webpubsub/service.py new file mode 100644 index 00000000000..19ccfd55297 --- /dev/null +++ b/src/webpubsub/azext_webpubsub/service.py @@ -0,0 +1,118 @@ +# -------------------------------------------------------------------------------------------- +# 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 .vendored_sdks.azure_messaging_webpubsubservice import ( + WebPubSubServiceClient +) +from .vendored_sdks.azure_messaging_webpubsubservice.rest import ( + build_send_to_all_request, + build_connection_exists_request, + build_close_client_connection_request, + build_send_to_connection_request, + build_add_connection_to_group_request, + build_remove_connection_from_group_request, + build_send_to_group_request, + build_user_exists_request, + build_send_to_user_request, + build_add_user_to_group_request, + build_remove_user_from_group_request, + build_remove_user_from_all_groups_request, + build_grant_permission_request, + build_check_permission_request, + build_revoke_permission_request +) + + +def broadcast(client, resource_group_name, webpubsub_name, hub_name, payload): + service_client = _get_service_client(client, resource_group_name, webpubsub_name) + res = service_client.send_request(build_send_to_all_request(hub_name, content=payload, content_type='text/plain')) + res.raise_for_status() + + +def check_connection_exists(client, resource_group_name, webpubsub_name, hub_name, connection_id): + service_client = _get_service_client(client, resource_group_name, webpubsub_name) + res = service_client.send_request(build_connection_exists_request(hub_name, connection_id)) + return res.status_code == 200 + + +def close_connection(client, resource_group_name, webpubsub_name, hub_name, connection_id): + service_client = _get_service_client(client, resource_group_name, webpubsub_name) + res = service_client.send_request(build_close_client_connection_request(hub_name, connection_id)) + res.raise_for_status() + + +def send_connection(client, resource_group_name, webpubsub_name, hub_name, connection_id, payload): + service_client = _get_service_client(client, resource_group_name, webpubsub_name) + res = service_client.send_request(build_send_to_connection_request(hub_name, connection_id, content=payload, content_type='text/plain')) + res.raise_for_status() + + +def add_connection_to_group(client, resource_group_name, webpubsub_name, hub_name, connection_id, group_name): + service_client = _get_service_client(client, resource_group_name, webpubsub_name) + res = service_client.send_request(build_add_connection_to_group_request(hub_name, group_name, connection_id)) + res.raise_for_status() + + +def remove_connection_from_group(client, resource_group_name, webpubsub_name, hub_name, connection_id, group_name): + service_client = _get_service_client(client, resource_group_name, webpubsub_name) + res = service_client.send_request(build_remove_connection_from_group_request(hub_name, group_name, connection_id)) + res.raise_for_status() + + +def send_group(client, resource_group_name, webpubsub_name, hub_name, group_name, payload): + service_client = _get_service_client(client, resource_group_name, webpubsub_name) + res = service_client.send_request(build_send_to_group_request(hub_name, group_name, content=payload, content_type='text/plain')) + res.raise_for_status() + + +def check_user_exists(client, resource_group_name, webpubsub_name, hub_name, user_id): + service_client = _get_service_client(client, resource_group_name, webpubsub_name) + res = service_client.send_request(build_user_exists_request(hub_name, user_id)) + return res.status_code == 200 + + +def send_user(client, resource_group_name, webpubsub_name, hub_name, user_id, payload): + service_client = _get_service_client(client, resource_group_name, webpubsub_name) + res = service_client.send_request(build_send_to_user_request(hub_name, user_id, content=payload, content_type='text/plain')) + res.raise_for_status() + + +def add_user_to_group(client, resource_group_name, webpubsub_name, hub_name, user_id, group_name): + service_client = _get_service_client(client, resource_group_name, webpubsub_name) + res = service_client.send_request(build_add_user_to_group_request(hub_name, group_name, user_id)) + res.raise_for_status() + + +def remove_user_from_group(client, resource_group_name, webpubsub_name, hub_name, user_id, group_name=None): + service_client = _get_service_client(client, resource_group_name, webpubsub_name) + if group_name: + res = service_client.send_request(build_remove_user_from_group_request(hub_name, group_name, user_id)) + else: + res = service_client.send_request(build_remove_user_from_all_groups_request(hub_name, user_id)) + res.raise_for_status() + + +def grant_permission(client, resource_group_name, webpubsub_name, hub_name, connection_id, permission, group_name): + service_client = _get_service_client(client, resource_group_name, webpubsub_name) + res = service_client.send_request(build_grant_permission_request(hub_name, permission, connection_id, target_name=group_name)) + res.raise_for_status() + + +def revoke_permission(client, resource_group_name, webpubsub_name, hub_name, connection_id, permission, group_name): + service_client = _get_service_client(client, resource_group_name, webpubsub_name) + res = service_client.send_request(build_revoke_permission_request(hub_name, permission, connection_id, target_name=group_name)) + res.raise_for_status() + + +def check_permission(client, resource_group_name, webpubsub_name, hub_name, connection_id, permission, group_name): + service_client = _get_service_client(client, resource_group_name, webpubsub_name) + res = service_client.send_request(build_check_permission_request(hub_name, permission, connection_id, target_name=group_name)) + res.raise_for_status() + + +def _get_service_client(client, resource_group_name, webpubsub_name): + keys = client.list_keys(resource_group_name, webpubsub_name) + return WebPubSubServiceClient.from_connection_string(keys.primary_connection_string) diff --git a/src/webpubsub/azext_webpubsub/vendored_sdks/azure_messaging_webpubsubservice/__init__.py b/src/webpubsub/azext_webpubsub/vendored_sdks/azure_messaging_webpubsubservice/__init__.py new file mode 100644 index 00000000000..529b1f7e9d7 --- /dev/null +++ b/src/webpubsub/azext_webpubsub/vendored_sdks/azure_messaging_webpubsubservice/__init__.py @@ -0,0 +1,232 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +__all__ = ["build_authentication_token", "WebPubSubServiceClient"] + +from copy import deepcopy +from datetime import datetime, timedelta +from typing import TYPE_CHECKING + +import jwt +import six + +import azure.core.credentials as corecredentials +import azure.core.pipeline as corepipeline +import azure.core.pipeline.policies as corepolicies +import azure.core.pipeline.transport as coretransport + + +# Temporary location for types that eventually graduate to Azure Core +from .core import rest as corerest +from ._version import VERSION as _VERSION +from ._policies import JwtCredentialPolicy +from ._utils import UTC as _UTC + +if TYPE_CHECKING: + from azure.core.pipeline.policies import HTTPPolicy, SansIOHTTPPolicy + from typing import Any, List, cast, Type, TypeVar + + ClientType = TypeVar("ClientType", bound="WebPubSubServiceClient") + + +def _parse_connection_string(connection_string, **kwargs): + for segment in connection_string.split(";"): + if "=" in segment: + key, value = segment.split("=", maxsplit=1) + key = key.lower() + if key not in ("version", ): + kwargs.setdefault(key, value) + elif segment: + raise ValueError( + "Malformed connection string - expected 'key=value', found segment '{}' in '{}'".format( + segment, connection_string + ) + ) + + if "endpoint" not in kwargs: + raise ValueError("connection_string missing 'endpoint' field") + + if "accesskey" not in kwargs: + raise ValueError("connection_string missing 'accesskey' field") + + return kwargs + +def build_authentication_token(endpoint, hub, **kwargs): + """Build an authentication token for the given endpoint, hub using the provided key. + + :keyword endpoint: connetion string or HTTP or HTTPS endpoint for the WebPubSub service instance. + :type endpoint: ~str + :keyword hub: The hub to give access to. + :type hub: ~str + :keyword accesskey: Key to sign the token with. Required if endpoint is not a connection string + :type accesskey: ~str + :keyword ttl: Optional ttl timedelta for the token. Default is 1 hour. + :type ttl: ~datetime.timedelta + :keyword user: Optional user name (subject) for the token. Default is no user. + :type user: ~str + :keyword roles: Roles for the token. + :type roles: typing.List[str]. Default is no roles. + :returns: ~dict containing the web socket endpoint, the token and a url with the generated access token. + :rtype: ~dict + + + Example: + >>> build_authentication_token(endpoint='https://contoso.com/api/webpubsub', hub='theHub', key='123') + { + 'baseUrl': 'wss://contoso.com/api/webpubsub/client/hubs/theHub', + 'token': 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ...', + 'url': 'wss://contoso.com/api/webpubsub/client/hubs/theHub?access_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ...' + } + """ + if 'accesskey' not in kwargs: + kwargs = _parse_connection_string(endpoint, **kwargs) + endpoint = kwargs.pop('endpoint') + + user = kwargs.pop("user", None) + key = kwargs.pop("accesskey") + ttl = kwargs.pop("ttl", timedelta(hours=1)) + roles = kwargs.pop("roles", []) + endpoint = endpoint.lower() + if not endpoint.startswith("http://") and not endpoint.startswith("https://"): + raise ValueError( + "Invalid endpoint: '{}' has unknown scheme - expected 'http://' or 'https://'".format( + endpoint + ) + ) + + # Ensure endpoint has no trailing slash + endpoint = endpoint.rstrip("/") + + # Switch from http(s) to ws(s) scheme + client_endpoint = "ws" + endpoint[4:] + client_url = "{}/client/hubs/{}".format(client_endpoint, hub) + audience = "{}/client/hubs/{}".format(endpoint, hub) + + payload = { + "aud": audience, + "iat": datetime.now(tz=_UTC), + "exp": datetime.now(tz=_UTC) + ttl, + } + if user: + payload["sub"] = user + if roles: + payload["role"] = roles + + token = six.ensure_str(jwt.encode(payload, key, algorithm="HS256")) + return { + "baseUrl": client_url, + "token": token, + "url": "{}?access_token={}".format(client_url, token), + } + + +class WebPubSubServiceClient(object): + def __init__(self, endpoint, credential, **kwargs): + # type: (str, corecredentials.AzureKeyCredential, Any) -> None + """Create a new WebPubSubServiceClient instance + + :param endpoint: Endpoint to connect to. + :type endpoint: ~str + :param credential: Credentials to use to connect to endpoint. + :type credential: ~azure.core.credentials.AzureKeyCredential + :keyword api_version: Api version to use when communicating with the service. + :type api_version: str + :keyword user: User to connect as. Optional. + :type user: ~str + """ + self.endpoint = endpoint.rstrip("/") + transport = kwargs.pop("transport", None) or coretransport.RequestsTransport( + **kwargs + ) + kwargs.setdefault( + "sdk_moniker", "messaging-webpubsubservice/{}".format(_VERSION) + ) + policies = [ + corepolicies.HeadersPolicy(**kwargs), + corepolicies.UserAgentPolicy(**kwargs), + corepolicies.RetryPolicy(**kwargs), + corepolicies.ProxyPolicy(**kwargs), + corepolicies.CustomHookPolicy(**kwargs), + corepolicies.RedirectPolicy(**kwargs), + JwtCredentialPolicy(credential, kwargs.get("user", None)), + corepolicies.NetworkTraceLoggingPolicy(**kwargs), + ] # type: Any + self._pipeline = corepipeline.Pipeline( + transport, + policies, + ) # type: corepipeline.Pipeline + + @classmethod + def from_connection_string(cls, connection_string, **kwargs): + # type: (Type[ClientType], str, Any) -> ClientType + """Create a new WebPubSubServiceClient from a connection string. + + :param connection_string: Connection string + :type connection_string: ~str + :rtype: WebPubSubServiceClient + """ + kwargs = _parse_connection_string(connection_string, **kwargs) + + kwargs["credential"] = corecredentials.AzureKeyCredential( + kwargs.pop("accesskey") + ) + return cls(**kwargs) + + def __repr__(self): + return " endpoint:'{}'".format(self.endpoint) + + def _format_url(self, url): + # type: (str) -> str + assert self.endpoint[-1] != "/", "My endpoint should not have a trailing slash" + return "/".join([self.endpoint, url.lstrip("/")]) + + def send_request(self, http_request, **kwargs): + # type: (corerest.HttpRequest, Any) -> corerest.HttpResponse + """Runs the network request through the client's chained policies. + + We have helper methods to create requests specific to this service in `azure.messaging.webpubsub.rest`. + Use these helper methods to create the request you pass to this method. See our example below: + + >>> from azure.messaging.webpubsub.rest import build_healthapi_get_health_status_request + >>> request = build_healthapi_get_health_status_request(api_version) + + >>> response = client.send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/llcwiki + + For advanced cases, you can also create your own :class:`~azure.messaging.webpubsub.core.rest.HttpRequest` + and pass it in. + + :param http_request: The network request you want to make. Required. + :type http_request: ~azure.messaging.webpubsub.core.rest.HttpRequest + :keyword bool stream_response: Whether the response payload will be streamed. Defaults to False. + :return: The response of your network call. Does not do error handling on your response. + :rtype: ~azure.messaging.webpubsub.core.rest.HttpResponse + """ + request_copy = deepcopy(http_request) + request_copy.url = self._format_url(request_copy.url) + + # can't do StreamCOntextManager yet. This client doesn't have a pipeline client, + # StreamContextManager requires a pipeline client. WIll look more into it + # if kwargs.pop("stream_response", False): + # return corerest._StreamContextManager( + # client=self._client, + # request=request_copy, + # ) + pipeline_response = self._pipeline.run(request_copy._internal_request, **kwargs) # pylint: disable=protected-access + response = corerest.HttpResponse( + status_code=pipeline_response.http_response.status_code, + request=request_copy, + _internal_response=pipeline_response.http_response, + ) + response.read() + return response diff --git a/src/webpubsub/azext_webpubsub/vendored_sdks/azure_messaging_webpubsubservice/_policies.py b/src/webpubsub/azext_webpubsub/vendored_sdks/azure_messaging_webpubsubservice/_policies.py new file mode 100644 index 00000000000..6dc11981689 --- /dev/null +++ b/src/webpubsub/azext_webpubsub/vendored_sdks/azure_messaging_webpubsubservice/_policies.py @@ -0,0 +1,83 @@ +# -------------------------------------------------------------------------- +# +# Copyright (c) Microsoft Corporation. All rights reserved. +# +# The MIT License (MIT) +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the ""Software""), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. +# +# -------------------------------------------------------------------------- + +import datetime +import typing +import jwt +import six + +from azure.core.pipeline.policies import SansIOHTTPPolicy + +from ._utils import UTC + +if typing.TYPE_CHECKING: + from azure.core.credentials import AzureKeyCredential + from azure.core.pipeline import PipelineRequest + + +class JwtCredentialPolicy(SansIOHTTPPolicy): + + NAME_CLAIM_TYPE = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name" + + def __init__(self, credential, user=None): + # type: (AzureKeyCredential, typing.Optional[str]) -> None + """Create a new instance of the policy associated with the given credential. + + :param credential: The azure.core.credentials.AzureKeyCredential instance to use + :type credential: ~azure.core.credentials.AzureKeyCredential + :param user: Optional user name associated with the credential. + :type user: str + """ + self._credential = credential + self._user = user + + def on_request(self, request): + # type: (PipelineRequest) -> typing.Union[None, typing.Awaitable[None]] + """Is executed before sending the request from next policy. + + :param request: Request to be modified before sent from next policy. + :type request: ~azure.core.pipeline.PipelineRequest + """ + request.http_request.headers["Authorization"] = "Bearer " + self._encode( + request.http_request.url + ) + return super(JwtCredentialPolicy, self).on_request(request) + + def _encode(self, url): + # type: (AzureKeyCredential) -> str + data = { + "aud": url, + "exp": datetime.datetime.now(tz=UTC) + datetime.timedelta(seconds=60), + } + if self._user: + data[self.NAME_CLAIM_TYPE] = self._user + + encoded = jwt.encode( + payload=data, + key=self._credential.key, + algorithm="HS256", + ) + return six.ensure_str(encoded) diff --git a/src/webpubsub/azext_webpubsub/vendored_sdks/azure_messaging_webpubsubservice/_utils.py b/src/webpubsub/azext_webpubsub/vendored_sdks/azure_messaging_webpubsubservice/_utils.py new file mode 100644 index 00000000000..042b46dd884 --- /dev/null +++ b/src/webpubsub/azext_webpubsub/vendored_sdks/azure_messaging_webpubsubservice/_utils.py @@ -0,0 +1,45 @@ +# -------------------------------------------------------------------------- +# +# Copyright (c) Microsoft Corporation. All rights reserved. +# +# The MIT License (MIT) +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the ""Software""), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. +# +# -------------------------------------------------------------------------- + +import datetime + + +class _UTC_TZ(datetime.tzinfo): + """from https://docs.python.org/2/library/datetime.html#tzinfo-objects""" + + ZERO = datetime.timedelta(0) + + def utcoffset(self, dt): + return self.__class__.ZERO + + def tzname(self, dt): + return "UTC" + + def dst(self, dt): + return self.__class__.ZERO + + +UTC = _UTC_TZ() diff --git a/src/webpubsub/azext_webpubsub/vendored_sdks/azure_messaging_webpubsubservice/_version.py b/src/webpubsub/azext_webpubsub/vendored_sdks/azure_messaging_webpubsubservice/_version.py new file mode 100644 index 00000000000..ac9f392f513 --- /dev/null +++ b/src/webpubsub/azext_webpubsub/vendored_sdks/azure_messaging_webpubsubservice/_version.py @@ -0,0 +1,6 @@ +# ------------------------------------ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. +# ------------------------------------ + +VERSION = "1.0.0b1" diff --git a/src/webpubsub/azext_webpubsub/vendored_sdks/azure_messaging_webpubsubservice/aio.py b/src/webpubsub/azext_webpubsub/vendored_sdks/azure_messaging_webpubsubservice/aio.py new file mode 100644 index 00000000000..0559416aa7b --- /dev/null +++ b/src/webpubsub/azext_webpubsub/vendored_sdks/azure_messaging_webpubsubservice/aio.py @@ -0,0 +1,110 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +__all__ = ["WebPubSubServiceClient"] + +from typing import TYPE_CHECKING +from copy import deepcopy + +import azure.core.pipeline as corepipeline +import azure.core.pipeline.policies as corepolicies +import azure.core.pipeline.transport as coretransport + +# Temporary location for types that eventually graduate to Azure Core +from .core import rest as corerest + +from ._policies import JwtCredentialPolicy + +if TYPE_CHECKING: + import azure.core.credentials as corecredentials + from azure.core.pipeline.policies import HTTPPolicy, SansIOHTTPPolicy + from typing import Any, List, cast # pylint: disable=ungrouped-imports + + +class WebPubSubServiceClient(object): + def __init__(self, endpoint, credential, **kwargs): + # type: (str, corecredentials.AzureKeyCredential, Any) -> None + """Create a new WebPubSubServiceClient instance + + :param endpoint: Endpoint to connect to. + :type endpoint: ~str + :param credential: Credentials to use to connect to endpoint. + :type credential: ~azure.core.credentials.AzureKeyCredential + :keyword api_version: Api version to use when communicating with the service. + :type api_version: str + :keyword user: User to connect as. Optional. + :type user: ~str + """ + self.endpoint = endpoint.rstrip("/") + transport = kwargs.pop("transport", None) or coretransport.RequestsTransport( + **kwargs + ) + policies = [ + corepolicies.HeadersPolicy(**kwargs), + corepolicies.UserAgentPolicy(**kwargs), + corepolicies.AsyncRetryPolicy(**kwargs), + corepolicies.ProxyPolicy(**kwargs), + corepolicies.CustomHookPolicy(**kwargs), + corepolicies.AsyncRedirectPolicy(**kwargs), + JwtCredentialPolicy(credential, kwargs.get("user", None)), + corepolicies.NetworkTraceLoggingPolicy(**kwargs), + ] # type: Any + self._pipeline = corepipeline.AsyncPipeline( + transport, + policies, + ) # type: corepipeline.AsyncPipeline + + def _format_url(self, url): + # type: (str) -> str + assert self.endpoint[-1] != "/", "My endpoint should not have a trailing slash" + return "/".join([self.endpoint, url.lstrip("/")]) + + async def send_request( + self, http_request: corerest.HttpRequest, **kwargs: "Any" + ) -> corerest.AsyncHttpResponse: + """Runs the network request through the client's chained policies. + + We have helper methods to create requests specific to this service in `azure.messaging.webpubsub.rest`. + Use these helper methods to create the request you pass to this method. See our example below: + + >>> from azure.messaging.webpubsub.rest import build_healthapi_get_health_status_request + >>> request = build_healthapi_get_health_status_request(api_version) + + >>> response = await client.send_request(request) + + + For more information on this code flow, see https://aka.ms/azsdk/python/llcwiki + + For advanced cases, you can also create your own :class:`~azure.messaging.webpubsub.core.rest.HttpRequest` + and pass it in. + + :param http_request: The network request you want to make. Required. + :type http_request: ~azure.messaging.webpubsub.core.rest.HttpRequest + :keyword bool stream_response: Whether the response payload will be streamed. Defaults to False. + :return: The response of your network call. Does not do error handling on your response. + :rtype: ~azure.messaging.webpubsub.core.rest.AsyncHttpResponse + """ + request_copy = deepcopy(http_request) + request_copy.url = self._format_url(request_copy.url) + + # can't do AsyncStreamContextManager yet. This client doesn't have a pipeline client, + # AsyncStreamContextManager requires a pipeline client. WIll look more into it + # if kwargs.pop("stream_response", False): + # return corerest._AsyncStreamContextManager( + # client=self._client, + # request=request_copy, + # ) + pipeline_response = await self._pipeline.run( + request_copy._internal_request, **kwargs # pylint: disable=protected-access + ) + response = corerest.AsyncHttpResponse( + status_code=pipeline_response.http_response.status_code, + request=request_copy, + _internal_response=pipeline_response.http_response, + ) + await response.read() + return response diff --git a/src/webpubsub/azext_webpubsub/vendored_sdks/azure_messaging_webpubsubservice/core/__init__.py b/src/webpubsub/azext_webpubsub/vendored_sdks/azure_messaging_webpubsubservice/core/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/webpubsub/azext_webpubsub/vendored_sdks/azure_messaging_webpubsubservice/core/rest/__init__.py b/src/webpubsub/azext_webpubsub/vendored_sdks/azure_messaging_webpubsubservice/core/rest/__init__.py new file mode 100644 index 00000000000..a70aae7c472 --- /dev/null +++ b/src/webpubsub/azext_webpubsub/vendored_sdks/azure_messaging_webpubsubservice/core/rest/__init__.py @@ -0,0 +1,65 @@ +# -------------------------------------------------------------------------- +# +# Copyright (c) Microsoft Corporation. All rights reserved. +# +# The MIT License (MIT) +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the ""Software""), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. +# +# -------------------------------------------------------------------------- +try: + from ._rest_py3 import ( + HttpRequest, + HttpResponse, + AsyncHttpResponse, + _StreamContextManager, + _AsyncStreamContextManager, + StreamConsumedError, + ResponseNotReadError, + ResponseClosedError, + ) + + __all__ = [ + "HttpRequest", + "HttpResponse", + "AsyncHttpResponse", + "_StreamContextManager", + "_AsyncStreamContextManager", + "StreamConsumedError", + "ResponseNotReadError", + "ResponseClosedError", + ] +except (SyntaxError, ImportError): + from ._rest import ( + HttpRequest, + HttpResponse, + _StreamContextManager, + StreamConsumedError, + ResponseNotReadError, + ResponseClosedError, + ) + + __all__ = [ + "HttpRequest", + "HttpResponse", + "_StreamContextManager", + "StreamConsumedError", + "ResponseNotReadError", + "ResponseClosedError", + ] diff --git a/src/webpubsub/azext_webpubsub/vendored_sdks/azure_messaging_webpubsubservice/core/rest/_rest.py b/src/webpubsub/azext_webpubsub/vendored_sdks/azure_messaging_webpubsubservice/core/rest/_rest.py new file mode 100644 index 00000000000..cee1c039cbd --- /dev/null +++ b/src/webpubsub/azext_webpubsub/vendored_sdks/azure_messaging_webpubsubservice/core/rest/_rest.py @@ -0,0 +1,625 @@ +# -------------------------------------------------------------------------- +# +# Copyright (c) Microsoft Corporation. All rights reserved. +# +# The MIT License (MIT) +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the ""Software""), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. +# +# -------------------------------------------------------------------------- + +# pylint currently complains about typing.Union not being subscriptable +# pylint: disable=unsubscriptable-object + +import codecs +import json +from enum import Enum +import xml.etree.ElementTree as ET +from typing import TYPE_CHECKING, Iterable + +import cgi +import six + +from azure.core.exceptions import HttpResponseError +from azure.core.pipeline.transport import ( + HttpRequest as _PipelineTransportHttpRequest, +) + + +if TYPE_CHECKING: + from typing import ( # pylint: disable=ungrouped-imports + Any, + Optional, + Union, + Mapping, + Sequence, + Tuple, + Iterator, + ) + + ByteStream = Iterable[bytes] + + HeadersType = Union[Mapping[str, str], Sequence[Tuple[str, str]]] + ContentType = Union[str, bytes, ByteStream] + from azure.core.pipeline.transport._base import ( + _HttpResponseBase as _PipelineTransportHttpResponseBase, + ) + from azure.core._pipeline_client import PipelineClient as _PipelineClient + + +class HttpVerbs(str, Enum): + GET = "GET" + PUT = "PUT" + POST = "POST" + HEAD = "HEAD" + PATCH = "PATCH" + DELETE = "DELETE" + MERGE = "MERGE" + + +########################### UTILS SECTION ################################# + + +def _is_stream_or_str_bytes(content): + return isinstance(content, (str, bytes)) or any( + hasattr(content, attr) for attr in ["read", "__iter__", "__aiter__"] + ) + + +def _lookup_encoding(encoding): + # type: (str) -> bool + # including check for whether encoding is known taken from httpx + try: + codecs.lookup(encoding) + return True + except LookupError: + return False + + +def _set_content_length_header(header_name, header_value, internal_request): + # type: (str, str, _PipelineTransportHttpRequest) -> None + valid_methods = ["put", "post", "patch"] + content_length_headers = ["Content-Length", "Transfer-Encoding"] + if internal_request.method.lower() in valid_methods and not any( + [c for c in content_length_headers if c in internal_request.headers] + ): + internal_request.headers[header_name] = header_value + + +def _set_content_type_header(header_value, internal_request): + # type: (str, _PipelineTransportHttpRequest) -> None + if not internal_request.headers.get("Content-Type"): + internal_request.headers["Content-Type"] = header_value + + +def _set_content_body(content, internal_request): + # type: (ContentType, _PipelineTransportHttpRequest) -> None + headers = internal_request.headers + content_type = headers.get("Content-Type") + if _is_stream_or_str_bytes(content): + # stream will be bytes / str, or iterator of bytes / str + internal_request.set_streamed_data_body(content) + if isinstance(content, (str, bytes)) and content: + _set_content_length_header( + "Content-Length", str(len(internal_request.data)), internal_request + ) + if isinstance(content, six.string_types): + _set_content_type_header("text/plain", internal_request) + else: + _set_content_type_header("application/octet-stream", internal_request) + elif isinstance( # pylint: disable=isinstance-second-argument-not-valid-type + content, Iterable + ): + # _set_content_length_header("Transfer-Encoding", "chunked", internal_request) + _set_content_type_header("application/octet-stream", internal_request) + elif isinstance(content, ET.Element): + # XML body + internal_request.set_xml_body(content) + _set_content_type_header("application/xml", internal_request) + _set_content_length_header( + "Content-Length", str(len(internal_request.data)), internal_request + ) + elif content_type and content_type.startswith("text/"): + # Text body + internal_request.set_text_body(content) + _set_content_length_header( + "Content-Length", str(len(internal_request.data)), internal_request + ) + else: + # Other body + internal_request.data = content + internal_request.headers = headers + + +def _set_body(content, data, files, json_body, internal_request): + # type: (ContentType, dict, Any, Any, _PipelineTransportHttpRequest) -> None + if data is not None and not isinstance(data, dict): + content = data + data = None + if content is not None: + _set_content_body(content, internal_request) + elif json_body is not None: + internal_request.set_json_body(json_body) + _set_content_type_header("application/json", internal_request) + elif files is not None: + internal_request.set_formdata_body(files) + # if you don't supply your content type, we'll create a boundary for you with multipart/form-data + # boundary = binascii.hexlify(os.urandom(16)).decode("ascii") # got logic from httpx, thanks httpx! + # _set_content_type_header("multipart/form-data; boundary={}".format(boundary), internal_request) + elif data: + _set_content_type_header("application/x-www-form-urlencoded", internal_request) + internal_request.set_formdata_body(data) + # need to set twice because Content-Type is being popped in set_formdata_body + # don't want to risk changing pipeline.transport, so doing twice here + _set_content_type_header("application/x-www-form-urlencoded", internal_request) + + +def _parse_lines_from_text(text): + # largely taken from httpx's LineDecoder code + lines = [] + last_chunk_of_text = "" + while text: + text_length = len(text) + for idx in range(text_length): + curr_char = text[idx] + next_char = None if idx == len(text) - 1 else text[idx + 1] + if curr_char == "\n": + lines.append(text[: idx + 1]) + text = text[idx + 1 :] + break + if curr_char == "\r" and next_char == "\n": + # if it ends with \r\n, we only do \n + lines.append(text[:idx] + "\n") + text = text[idx + 2 :] + break + if curr_char == "\r" and next_char is not None: + # if it's \r then a normal character, we switch \r to \n + lines.append(text[:idx] + "\n") + text = text[idx + 1 :] + break + if next_char is None: + text = "" + last_chunk_of_text += text + break + if last_chunk_of_text.endswith("\r"): + # if ends with \r, we switch \r to \n + lines.append(last_chunk_of_text[:-1] + "\n") + elif last_chunk_of_text: + lines.append(last_chunk_of_text) + return lines + + +################################## CLASSES ###################################### +class _StreamContextManager(object): + def __init__(self, client, request, **kwargs): + # type: (_PipelineClient, HttpRequest, Any) -> None + self.client = client + self.request = request + self.kwargs = kwargs + + def __enter__(self): + # type: (...) -> HttpResponse + """Actually make the call only when we enter. For sync stream_response calls""" + pipeline_transport_response = self.client._pipeline.run( + self.request._internal_request, stream=True, **self.kwargs + ).http_response + self.response = HttpResponse( # pylint: disable=attribute-defined-outside-init + request=self.request, _internal_response=pipeline_transport_response + ) + return self.response + + def __exit__(self, *args): + """Close our stream connection. For sync calls""" + self.response.__exit__(*args) + + def close(self): + self.response.close() + + +class HttpRequest(object): + """Represents an HTTP request. + + :param method: HTTP method (GET, HEAD, etc.) + :type method: str or ~azure.core.protocol.HttpVerbs + :param str url: The url for your request + :keyword params: Query parameters to be mapped into your URL. Your input + should be a mapping or sequence of query name to query value(s). + :paramtype params: mapping or sequence + :keyword headers: HTTP headers you want in your request. Your input should + be a mapping or sequence of header name to header value. + :paramtype headers: mapping or sequence + :keyword dict data: Form data you want in your request body. Use for form-encoded data, i.e. + HTML forms. + :keyword any json: A JSON serializable object. We handle JSON-serialization for your + object, so use this for more complicated data structures than `data`. + :keyword files: Files you want to in your request body. Use for uploading files with + multipart encoding. Your input should be a mapping or sequence of file name to file content. + Use the `data` kwarg in addition if you want to include non-file data files as part of your request. + :paramtype files: mapping or sequence + :keyword content: Content you want in your request body. Think of it as the kwarg you should input + if your data doesn't fit into `json`, `data`, or `files`. Accepts a bytes type, or a generator + that yields bytes. + :paramtype content: str or bytes or iterable[bytes] or asynciterable[bytes] + :ivar str url: The URL this request is against. + :ivar str method: The method type of this request. + :ivar headers: The HTTP headers you passed in to your request + :vartype headers: mapping or sequence + :ivar bytes content: The content passed in for the request + """ + + def __init__(self, method, url, **kwargs): + # type: (str, str, Any) -> None + + data = kwargs.pop("data", None) + content = kwargs.pop("content", None) + json_body = kwargs.pop("json", None) + files = kwargs.pop("files", None) + + self._internal_request = kwargs.pop( + "_internal_request", + _PipelineTransportHttpRequest( + method=method, + url=url, + headers=kwargs.pop("headers", None), + ), + ) + params = kwargs.pop("params", None) + + if params: + self._internal_request.format_parameters(params) + + _set_body( + content=content, + data=data, + files=files, + json_body=json_body, + internal_request=self._internal_request, + ) + + if kwargs: + raise TypeError( + "You have passed in kwargs '{}' that are not valid kwargs.".format( + "', '".join(list(kwargs.keys())) + ) + ) + + def _set_content_length_header(self): + method_check = self._internal_request.method.lower() in ["put", "post", "patch"] + content_length_unset = "Content-Length" not in self._internal_request.headers + if method_check and content_length_unset: + self._internal_request.headers["Content-Length"] = str( + len(self._internal_request.data) + ) + + @property + def url(self): + # type: (...) -> str + return self._internal_request.url + + @url.setter + def url(self, val): + # type: (str) -> None + self._internal_request.url = val + + @property + def method(self): + # type: (...) -> str + return self._internal_request.method + + @property + def headers(self): + # type: (...) -> HeadersType + return self._internal_request.headers + + @property + def content(self): + # type: (...) -> Any + """Gets the request content.""" + return self._internal_request.data or self._internal_request.files + + def __repr__(self): + return self._internal_request.__repr__() + + def __deepcopy__(self, memo=None): + return HttpRequest( + self.method, + self.url, + _internal_request=self._internal_request.__deepcopy__(memo), + ) + + +class _HttpResponseBase(object): + """Base class for HttpResponse and AsyncHttpResponse. + + :keyword request: The request that resulted in this response. + :paramtype request: ~azure.core.rest.HttpRequest + :ivar int status_code: The status code of this response + :ivar headers: The response headers + :vartype headers: dict[str, any] + :ivar str reason: The reason phrase for this response + :ivar bytes content: The response content in bytes + :ivar str url: The URL that resulted in this response + :ivar str encoding: The response encoding. Is settable, by default + is the response Content-Type header + :ivar str text: The response body as a string. + :ivar request: The request that resulted in this response. + :vartype request: ~azure.core.rest.HttpRequest + :ivar str content_type: The content type of the response + :ivar bool is_error: Whether this response is an error. + """ + + def __init__(self, **kwargs): + # type: (Any) -> None + self._internal_response = kwargs.pop( + "_internal_response" + ) # type: _PipelineTransportHttpResponseBase + self._request = kwargs.pop("request") + self.is_closed = False + self.is_stream_consumed = False + self._num_bytes_downloaded = 0 + + @property + def status_code(self): + # type: (...) -> int + """Returns the status code of the response""" + return self._internal_response.status_code + + @status_code.setter + def status_code(self, val): + # type: (int) -> None + """Set the status code of the response""" + self._internal_response.status_code = val + + @property + def headers(self): + # type: (...) -> HeadersType + """Returns the response headers""" + return self._internal_response.headers + + @property + def reason(self): + # type: (...) -> str + """Returns the reason phrase for the response""" + return self._internal_response.reason + + @property + def content(self): + # type: (...) -> bytes + """Returns the response content in bytes""" + raise NotImplementedError() + + @property + def url(self): + # type: (...) -> str + """Returns the URL that resulted in this response""" + return self._internal_response.request.url + + @property + def encoding(self): + # type: (...) -> Optional[str] + """Returns the response encoding. By default, is specified + by the response Content-Type header. + """ + + try: + return self._encoding + except AttributeError: + return self._get_charset_encoding() + + def _get_charset_encoding(self): + content_type = self.headers.get("Content-Type") + + if not content_type: + return None + _, params = cgi.parse_header(content_type) + encoding = params.get("charset") # -> utf-8 + if encoding is None or not _lookup_encoding(encoding): + return None + return encoding + + @encoding.setter + def encoding(self, value): + # type: (str) -> None + """Sets the response encoding""" + self._encoding = value + + @property + def text(self): + # type: (...) -> str + """Returns the response body as a string""" + _ = ( + self.content + ) # access content to make sure we trigger if response not fully read in + return self._internal_response.text(encoding=self.encoding) + + @property + def request(self): + # type: (...) -> HttpRequest + if self._request: + return self._request + raise RuntimeError( + "You are trying to access the 'request', but there is no request associated with this HttpResponse" + ) + + @request.setter + def request(self, val): + # type: (HttpRequest) -> None + self._request = val + + @property + def content_type(self): + # type: (...) -> Optional[str] + """Content Type of the response""" + return self._internal_response.content_type or self.headers.get("Content-Type") + + @property + def num_bytes_downloaded(self): + # type: (...) -> int + """See how many bytes of your stream response have been downloaded""" + return self._num_bytes_downloaded + + @property + def is_error(self): + # type: (...) -> bool + """See whether your HttpResponse is an error. + + Use .raise_for_status() if you want to raise if this response is an error. + """ + return self.status_code < 400 + + def json(self): + # type: (...) -> Any + """Returns the whole body as a json object. + + :return: The JSON deserialized response body + :rtype: any + :raises json.decoder.JSONDecodeError or ValueError (in python 2.7) if object is not JSON decodable: + """ + return json.loads(self.text) + + def raise_for_status(self): + # type: (...) -> None + """Raises an HttpResponseError if the response has an error status code. + + If response is good, does nothing. + """ + if self.status_code >= 400: + raise HttpResponseError(response=self) + + def __repr__(self): + # type: (...) -> str + content_type_str = ( + ", Content-Type: {}".format(self.content_type) if self.content_type else "" + ) + return "<{}: {} {}{}>".format( + type(self).__name__, self.status_code, self.reason, content_type_str + ) + + def _validate_streaming_access(self): + # type: (...) -> None + if self.is_closed: + raise ResponseClosedError() + if self.is_stream_consumed: + raise StreamConsumedError() + + +class HttpResponse(_HttpResponseBase): + @property + def content(self): + # type: (...) -> bytes + try: + return self._content + except AttributeError: + raise ResponseNotReadError() + + def close(self): + # type: (...) -> None + self.is_closed = True + self._internal_response.internal_response.close() + + def __exit__(self, *args): + # type: (...) -> None + self._internal_response.internal_response.__exit__(*args) + + def read(self): + # type: (...) -> bytes + """ + Read the response's bytes. + + """ + try: + return self._content + except AttributeError: + self._validate_streaming_access() + self._content = ( # pylint: disable=attribute-defined-outside-init + self._internal_response.body() or b"".join(self.iter_raw()) + ) + self._close_stream() + return self._content + + def iter_bytes(self, chunk_size=None): + # type: (int) -> Iterator[bytes] + """Iterate over the bytes in the response stream""" + try: + chunk_size = len(self._content) if chunk_size is None else chunk_size + for i in range(0, len(self._content), chunk_size): + yield self._content[i : i + chunk_size] + + except AttributeError: + for raw_bytes in self.iter_raw(chunk_size=chunk_size): + yield raw_bytes + + def iter_text(self, chunk_size=None): + # type: (int) -> Iterator[str] + """Iterate over the response text""" + for byte in self.iter_bytes(chunk_size): + text = byte.decode(self.encoding or "utf-8") + yield text + + def iter_lines(self, chunk_size=None): + # type: (int) -> Iterator[str] + for text in self.iter_text(chunk_size): + lines = _parse_lines_from_text(text) + for line in lines: + yield line + + def _close_stream(self): + # type: (...) -> None + self.is_stream_consumed = True + self.close() + + def iter_raw(self, **_): + # type: (int) -> Iterator[bytes] + """Iterate over the raw response bytes""" + self._validate_streaming_access() + stream_download = self._internal_response.stream_download(None) + for raw_bytes in stream_download: + self._num_bytes_downloaded += len(raw_bytes) + yield raw_bytes + + self._close_stream() + + +########################### ERRORS SECTION ################################# + + +class StreamConsumedError(Exception): + def __init__(self): + message = ( + "You are attempting to read or stream content that has already been streamed. " + "You have likely already consumed this stream, so it can not be accessed anymore." + ) + super(StreamConsumedError, self).__init__(message) + + +class ResponseClosedError(Exception): + def __init__(self): + message = ( + "You can not try to read or stream this response's content, since the " + "response has been closed." + ) + super(ResponseClosedError, self).__init__(message) + + +class ResponseNotReadError(Exception): + def __init__(self): + message = ( + "You have not read in the response's bytes yet. Call response.read() first." + ) + super(ResponseNotReadError, self).__init__(message) diff --git a/src/webpubsub/azext_webpubsub/vendored_sdks/azure_messaging_webpubsubservice/core/rest/_rest_py3.py b/src/webpubsub/azext_webpubsub/vendored_sdks/azure_messaging_webpubsubservice/core/rest/_rest_py3.py new file mode 100644 index 00000000000..ed2908d6948 --- /dev/null +++ b/src/webpubsub/azext_webpubsub/vendored_sdks/azure_messaging_webpubsubservice/core/rest/_rest_py3.py @@ -0,0 +1,739 @@ +# -------------------------------------------------------------------------- +# +# Copyright (c) Microsoft Corporation. All rights reserved. +# +# The MIT License (MIT) +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the ""Software""), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. +# +# -------------------------------------------------------------------------- + +# pylint currently complains about typing.Union not being subscriptable +# pylint: disable=unsubscriptable-object + + +import asyncio +import codecs +import json +from enum import Enum +import xml.etree.ElementTree as ET +from typing import ( + Any, + AsyncIterable, + IO, + Iterable, + Iterator, + Optional, + Union, + Mapping, + Sequence, + Tuple, + List, +) +from abc import abstractmethod + +import cgi + +from azure.core.exceptions import HttpResponseError +from azure.core.pipeline.transport import ( + HttpRequest as _PipelineTransportHttpRequest, +) + +from azure.core.pipeline.transport._base import ( + _HttpResponseBase as _PipelineTransportHttpResponseBase, +) + +from azure.core._pipeline_client import PipelineClient as _PipelineClient +from azure.core._pipeline_client_async import ( + AsyncPipelineClient as _AsyncPipelineClient, +) + +################################### TYPES SECTION ######################### + +ByteStream = Union[Iterable[bytes], AsyncIterable[bytes]] +PrimitiveData = Optional[Union[str, int, float, bool]] + + +ParamsType = Union[ + Mapping[str, Union[PrimitiveData, Sequence[PrimitiveData]]], + List[Tuple[str, PrimitiveData]], +] + +HeadersType = Union[Mapping[str, str], Sequence[Tuple[str, str]]] + +ContentType = Union[str, bytes, ByteStream] + +FileContent = Union[str, bytes, IO[str], IO[bytes]] +FileType = Union[ + Tuple[Optional[str], FileContent], +] + +FilesType = Union[Mapping[str, FileType], Sequence[Tuple[str, FileType]]] + + + +class HttpVerbs(str, Enum): + GET = "GET" + PUT = "PUT" + POST = "POST" + HEAD = "HEAD" + PATCH = "PATCH" + DELETE = "DELETE" + MERGE = "MERGE" + + +########################### UTILS SECTION ################################# + + +def _is_stream_or_str_bytes(content: Any) -> bool: + return isinstance(content, (str, bytes)) or any( + hasattr(content, attr) for attr in ["read", "__iter__", "__aiter__"] + ) + + +def _lookup_encoding(encoding: str) -> bool: + # including check for whether encoding is known taken from httpx + try: + codecs.lookup(encoding) + return True + except LookupError: + return False + + +def _set_content_length_header( + header_name: str, header_value: str, internal_request: _PipelineTransportHttpRequest +) -> None: + valid_methods = ["put", "post", "patch"] + content_length_headers = ["Content-Length", "Transfer-Encoding"] + if internal_request.method.lower() in valid_methods and not any( + [c for c in content_length_headers if c in internal_request.headers] + ): + internal_request.headers[header_name] = header_value + + +def _set_content_type_header( + header_value: str, internal_request: _PipelineTransportHttpRequest +) -> None: + if not internal_request.headers.get("Content-Type"): + internal_request.headers["Content-Type"] = header_value + + +def _set_content_body( + content: ContentType, internal_request: _PipelineTransportHttpRequest +) -> None: + headers = internal_request.headers + content_type = headers.get("Content-Type") + if _is_stream_or_str_bytes(content): + # stream will be bytes / str, or iterator of bytes / str + internal_request.set_streamed_data_body(content) + if isinstance(content, str) and content: + _set_content_length_header( + "Content-Length", str(len(internal_request.data)), internal_request + ) + _set_content_type_header("text/plain", internal_request) + elif isinstance(content, bytes) and content: + _set_content_length_header( + "Content-Length", str(len(internal_request.data)), internal_request + ) + _set_content_type_header("application/octet-stream", internal_request) + elif isinstance(content, (Iterable, AsyncIterable)): # pylint: disable=isinstance-second-argument-not-valid-type + # _set_content_length_header("Transfer-Encoding", "chunked", internal_request) + _set_content_type_header("application/octet-stream", internal_request) + elif isinstance(content, ET.Element): + # XML body + internal_request.set_xml_body(content) + _set_content_type_header("application/xml", internal_request) + _set_content_length_header( + "Content-Length", str(len(internal_request.data)), internal_request + ) + elif content_type and content_type.startswith("text/"): + # Text body + internal_request.set_text_body(content) + _set_content_length_header( + "Content-Length", str(len(internal_request.data)), internal_request + ) + else: + # Other body + internal_request.data = content + internal_request.headers = headers + + +def _set_body( + content: ContentType, + data: dict, + files: Any, + json_body: Any, + internal_request: _PipelineTransportHttpRequest, +) -> None: + if data is not None and not isinstance(data, dict): + content = data + data = None + if content is not None: + _set_content_body(content, internal_request) + elif json_body is not None: + internal_request.set_json_body(json_body) + _set_content_type_header("application/json", internal_request) + elif files is not None: + internal_request.set_formdata_body(files) + # if you don't supply your content type, we'll create a boundary for you with multipart/form-data + # boundary = binascii.hexlify(os.urandom(16)).decode( + # "ascii" + #) # got logic from httpx, thanks httpx! + # _set_content_type_header("multipart/form-data; boundary={}".format(boundary), internal_request) + elif data: + _set_content_type_header("application/x-www-form-urlencoded", internal_request) + internal_request.set_formdata_body(data) + # need to set twice because Content-Type is being popped in set_formdata_body + # don't want to risk changing pipeline.transport, so doing twice here + _set_content_type_header("application/x-www-form-urlencoded", internal_request) + + +def _parse_lines_from_text(text): + # largely taken from httpx's LineDecoder code + lines = [] + last_chunk_of_text = "" + while text: + text_length = len(text) + for idx in range(text_length): + curr_char = text[idx] + next_char = None if idx == len(text) - 1 else text[idx + 1] + if curr_char == "\n": + lines.append(text[: idx + 1]) + text = text[idx + 1 :] + break + if curr_char == "\r" and next_char == "\n": + # if it ends with \r\n, we only do \n + lines.append(text[:idx] + "\n") + text = text[idx + 2 :] + break + if curr_char == "\r" and next_char is not None: + # if it's \r then a normal character, we switch \r to \n + lines.append(text[:idx] + "\n") + text = text[idx + 1 :] + break + if next_char is None: + text = "" + last_chunk_of_text += text + break + if last_chunk_of_text.endswith("\r"): + # if ends with \r, we switch \r to \n + lines.append(last_chunk_of_text[:-1] + "\n") + elif last_chunk_of_text: + lines.append(last_chunk_of_text) + return lines + + +class _StreamContextManagerBase: + def __init__( + self, + client: Union[_PipelineClient, _AsyncPipelineClient], + request: "HttpRequest", + **kwargs + ): + """Used so we can treat stream requests and responses as a context manager. + + In Autorest, we only return a `StreamContextManager` if users pass in `stream_response` True + + Actually sends request when we enter the context manager, closes response when we exit. + + Heavily inspired from httpx, we want the same behavior for it to feel consistent for users + """ + self.client = client + self.request = request + self.kwargs = kwargs + + @abstractmethod + def close(self): + ... + + +class _StreamContextManager(_StreamContextManagerBase): + def __enter__(self) -> "HttpResponse": + """Actually make the call only when we enter. For sync stream_response calls""" + pipeline_transport_response = self.client._pipeline.run( + self.request._internal_request, stream=True, **self.kwargs + ).http_response + self.response = HttpResponse( # pylint: disable=attribute-defined-outside-init + request=self.request, _internal_response=pipeline_transport_response + ) + return self.response + + def __exit__(self, *args): + """Close our stream connection. For sync calls""" + self.response.__exit__(*args) + + def close(self): + self.response.close() + + +class _AsyncStreamContextManager(_StreamContextManagerBase): + async def __aenter__(self) -> "AsyncHttpResponse": + """Actually make the call only when we enter. For async stream_response calls.""" + if not isinstance(self.client, _AsyncPipelineClient): + raise TypeError( + "Only sync calls should enter here. If you mean to do a sync call, " + "make sure to use 'with' instead." + ) + pipeline_transport_response = ( + await self.client._pipeline.run( + self.request._internal_request, stream=True, **self.kwargs + ) + ).http_response + self.response = AsyncHttpResponse( # pylint: disable=attribute-defined-outside-init + request=self.request, _internal_response=pipeline_transport_response + ) + return self.response + + async def __aexit__(self, *args): + await self.response.__aexit__(*args) + + async def close(self): # pylint: disable=invalid-overridden-method + await self.response.close() + + +################################## CLASSES ###################################### + + +class HttpRequest: + """Represents an HTTP request. + + :param method: HTTP method (GET, HEAD, etc.) + :type method: str or ~azure.core.protocol.HttpVerbs + :param str url: The url for your request + :keyword params: Query parameters to be mapped into your URL. Your input + should be a mapping or sequence of query name to query value(s). + :paramtype params: mapping or sequence + :keyword headers: HTTP headers you want in your request. Your input should + be a mapping or sequence of header name to header value. + :paramtype headers: mapping or sequence + :keyword any json: A JSON serializable object. We handle JSON-serialization for your + object, so use this for more complicated data structures than `data`. + :keyword content: Content you want in your request body. Think of it as the kwarg you should input + if your data doesn't fit into `json`, `data`, or `files`. Accepts a bytes type, or a generator + that yields bytes. + :paramtype content: str or bytes or iterable[bytes] or asynciterable[bytes] + :keyword dict data: Form data you want in your request body. Use for form-encoded data, i.e. + HTML forms. + :keyword files: Files you want to in your request body. Use for uploading files with + multipart encoding. Your input should be a mapping or sequence of file name to file content. + Use the `data` kwarg in addition if you want to include non-file data files as part of your request. + :paramtype files: mapping or sequence + :ivar str url: The URL this request is against. + :ivar str method: The method type of this request. + :ivar headers: The HTTP headers you passed in to your request + :vartype headers: mapping or sequence + :ivar bytes content: The content passed in for the request + """ + + def __init__( + self, + method: str, + url: str, + *, + params: Optional[ParamsType] = None, + headers: Optional[HeadersType] = None, + json: Any = None, # pylint: disable=redefined-outer-name + content: Optional[ContentType] = None, + data: Optional[dict] = None, + files: Optional[FilesType] = None, + **kwargs + ): + # type: (str, str, Any) -> None + + self._internal_request = kwargs.pop( + "_internal_request", + _PipelineTransportHttpRequest( + method=method, + url=url, + headers=headers, + ), + ) + + if params: + self._internal_request.format_parameters(params) + + _set_body( + content=content, + data=data, + files=files, + json_body=json, + internal_request=self._internal_request, + ) + + if kwargs: + raise TypeError( + "You have passed in kwargs '{}' that are not valid kwargs.".format( + "', '".join(list(kwargs.keys())) + ) + ) + + def _set_content_length_header(self) -> None: + method_check = self._internal_request.method.lower() in ["put", "post", "patch"] + content_length_unset = "Content-Length" not in self._internal_request.headers + if method_check and content_length_unset: + self._internal_request.headers["Content-Length"] = str( + len(self._internal_request.data) + ) + + @property + def url(self) -> str: + return self._internal_request.url + + @url.setter + def url(self, val: str) -> None: + self._internal_request.url = val + + @property + def method(self) -> str: + return self._internal_request.method + + @property + def headers(self) -> HeadersType: + return self._internal_request.headers + + @property + def content(self) -> Any: + """Gets the request content.""" + return self._internal_request.data or self._internal_request.files + + def __repr__(self) -> str: + return self._internal_request.__repr__() + + def __deepcopy__(self, memo=None) -> "HttpRequest": + return HttpRequest( + self.method, + self.url, + _internal_request=self._internal_request.__deepcopy__(memo), + ) + + +class _HttpResponseBase: + """Base class for HttpResponse and AsyncHttpResponse. + + :keyword request: The request that resulted in this response. + :paramtype request: ~azure.core.rest.HttpRequest + :ivar int status_code: The status code of this response + :ivar headers: The response headers + :vartype headers: dict[str, any] + :ivar str reason: The reason phrase for this response + :ivar bytes content: The response content in bytes + :ivar str url: The URL that resulted in this response + :ivar str encoding: The response encoding. Is settable, by default + is the response Content-Type header + :ivar str text: The response body as a string. + :ivar request: The request that resulted in this response. + :vartype request: ~azure.core.rest.HttpRequest + :ivar str content_type: The content type of the response + :ivar bool is_closed: Whether the network connection has been closed yet + :ivar bool is_stream_consumed: When getting a stream response, checks + whether the stream has been fully consumed + :ivar int num_bytes_downloaded: The number of bytes in your stream that + have been downloaded + """ + + def __init__(self, *, request: HttpRequest, **kwargs): + self._internal_response = kwargs.pop( + "_internal_response" + ) # type: _PipelineTransportHttpResponseBase + self._request = request + self.is_closed = False + self.is_stream_consumed = False + self._num_bytes_downloaded = 0 + + @property + def status_code(self) -> int: + """Returns the status code of the response""" + return self._internal_response.status_code + + @status_code.setter + def status_code(self, val: int) -> None: + """Set the status code of the response""" + self._internal_response.status_code = val + + @property + def headers(self) -> HeadersType: + """Returns the response headers""" + return self._internal_response.headers + + @property + def reason(self) -> str: + """Returns the reason phrase for the response""" + return self._internal_response.reason + + @property + def content(self) -> bytes: + """Returns the response content in bytes""" + raise NotImplementedError() + + @property + def url(self) -> str: + """Returns the URL that resulted in this response""" + return self._internal_response.request.url + + @property + def encoding(self) -> str: + """Returns the response encoding. By default, is specified + by the response Content-Type header. + """ + + try: + return self._encoding + except AttributeError: + return self._get_charset_encoding() + + def _get_charset_encoding(self) -> str: + content_type = self.headers.get("Content-Type") + + if not content_type: + return None + _, params = cgi.parse_header(content_type) + encoding = params.get("charset") # -> utf-8 + if encoding is None or not _lookup_encoding(encoding): + return None + return encoding + + @encoding.setter + def encoding(self, value: str) -> None: + # type: (str) -> None + """Sets the response encoding""" + self._encoding = value + + @property + def text(self) -> str: + """Returns the response body as a string""" + _ = self.content # access content to make sure we trigger if response not fully read in + return self._internal_response.text(encoding=self.encoding) + + @property + def request(self) -> HttpRequest: + if self._request: + return self._request + raise RuntimeError( + "You are trying to access the 'request', but there is no request associated with this HttpResponse" + ) + + @request.setter + def request(self, val: HttpRequest) -> None: + self._request = val + + @property + def content_type(self) -> Optional[str]: + """Content Type of the response""" + return self._internal_response.content_type or self.headers.get("Content-Type") + + @property + def num_bytes_downloaded(self) -> int: + """See how many bytes of your stream response have been downloaded""" + return self._num_bytes_downloaded + + def json(self) -> Any: + """Returns the whole body as a json object. + + :return: The JSON deserialized response body + :rtype: any + :raises json.decoder.JSONDecodeError or ValueError (in python 2.7) if object is not JSON decodable: + """ + return json.loads(self.text) + + def raise_for_status(self) -> None: + """Raises an HttpResponseError if the response has an error status code. + + If response is good, does nothing. + """ + if self.status_code >= 400: + raise HttpResponseError(response=self) + + def __repr__(self) -> str: + content_type_str = ( + ", Content-Type: {}".format(self.content_type) if self.content_type else "" + ) + return "<{}: {} {}{}>".format( + type(self).__name__, self.status_code, self.reason, content_type_str + ) + + def _validate_streaming_access(self) -> None: + if self.is_closed: + raise ResponseClosedError() + if self.is_stream_consumed: + raise StreamConsumedError() + + +class HttpResponse(_HttpResponseBase): + @property + def content(self): + # type: (...) -> bytes + try: + return self._content + except AttributeError: + raise ResponseNotReadError() + + def close(self) -> None: + self.is_closed = True + self._internal_response.internal_response.close() + + def __exit__(self, *args) -> None: + self._internal_response.internal_response.__exit__(*args) + + def read(self) -> bytes: + """ + Read the response's bytes. + + """ + try: + return self._content + except AttributeError: + self._validate_streaming_access() + self._content = (self._internal_response.body() or # pylint: disable=attribute-defined-outside-init + b"".join(self.iter_raw())) + self._close_stream() + return self._content + + def iter_bytes(self, chunk_size: int = None) -> Iterator[bytes]: + """Iterate over the bytes in the response stream""" + try: + chunk_size = len(self._content) if chunk_size is None else chunk_size + for i in range(0, len(self._content), chunk_size): + yield self._content[i : i + chunk_size] + + except AttributeError: + for raw_bytes in self.iter_raw(chunk_size=chunk_size): + yield raw_bytes + + def iter_text(self, chunk_size: int = None) -> Iterator[str]: + """Iterate over the response text""" + for byte in self.iter_bytes(chunk_size): + text = byte.decode(self.encoding or "utf-8") + yield text + + def iter_lines(self, chunk_size: int = None) -> Iterator[str]: + for text in self.iter_text(chunk_size): + lines = _parse_lines_from_text(text) + for line in lines: + yield line + + def _close_stream(self) -> None: + self.is_stream_consumed = True + self.close() + + def iter_raw(self, **_) -> Iterator[bytes]: + """Iterate over the raw response bytes""" + self._validate_streaming_access() + stream_download = self._internal_response.stream_download(None) + for raw_bytes in stream_download: + self._num_bytes_downloaded += len(raw_bytes) + yield raw_bytes + + self._close_stream() + + +class AsyncHttpResponse(_HttpResponseBase): + @property + def content(self) -> bytes: + try: + return self._content + except AttributeError: + raise ResponseNotReadError() + + async def _close_stream(self) -> None: + self.is_stream_consumed = True + await self.close() + + async def read(self) -> bytes: + """ + Read the response's bytes. + + """ + try: + return self._content + except AttributeError: + self._validate_streaming_access() + await self._internal_response.load_body() + self._content = self._internal_response._body # pylint: disable=protected-access,attribute-defined-outside-init + await self._close_stream() + return self._content + + async def iter_bytes(self, chunk_size: int = None) -> Iterator[bytes]: + """Iterate over the bytes in the response stream""" + try: + chunk_size = len(self._content) if chunk_size is None else chunk_size + for i in range(0, len(self._content), chunk_size): + yield self._content[i : i + chunk_size] + + except AttributeError: + async for raw_bytes in self.iter_raw(chunk_size=chunk_size): + yield raw_bytes + + async def iter_text(self, chunk_size: int = None) -> Iterator[str]: + """Iterate over the response text""" + async for byte in self.iter_bytes(chunk_size): + text = byte.decode(self.encoding or "utf-8") + yield text + + async def iter_lines(self, chunk_size: int = None) -> Iterator[str]: + async for text in self.iter_text(chunk_size): + lines = _parse_lines_from_text(text) + for line in lines: + yield line + + async def iter_raw(self, **_) -> Iterator[bytes]: + """Iterate over the raw response bytes""" + self._validate_streaming_access() + stream_download = self._internal_response.stream_download(None) + async for raw_bytes in stream_download: + self._num_bytes_downloaded += len(raw_bytes) + yield raw_bytes + + await self._close_stream() + + async def close(self) -> None: + self.is_closed = True + self._internal_response.internal_response.close() + await asyncio.sleep(0) + + async def __aexit__(self, *args) -> None: + await self._internal_response.internal_response.__aexit__(*args) + + +########################### ERRORS SECTION ################################# + + +class StreamConsumedError(Exception): + def __init__(self) -> None: + message = ( + "You are attempting to read or stream content that has already been streamed. " + "You have likely already consumed this stream, so it can not be accessed anymore." + ) + super().__init__(message) + + +class ResponseClosedError(Exception): + def __init__(self) -> None: + message = ( + "You can not try to read or stream this response's content, since the " + "response has been closed." + ) + super().__init__(message) + + +class ResponseNotReadError(Exception): + def __init__(self) -> None: + message = ( + "You have not read in the response's bytes yet. Call response.read() first." + ) + super().__init__(message) diff --git a/src/webpubsub/azext_webpubsub/vendored_sdks/azure_messaging_webpubsubservice/rest.py b/src/webpubsub/azext_webpubsub/vendored_sdks/azure_messaging_webpubsubservice/rest.py new file mode 100644 index 00000000000..8da673e1a39 --- /dev/null +++ b/src/webpubsub/azext_webpubsub/vendored_sdks/azure_messaging_webpubsubservice/rest.py @@ -0,0 +1,942 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +# pylint: disable=line-too-long + +__all__ = [ + 'build_add_connection_to_group_request', + 'build_add_user_to_group_request', + 'build_connection_exists_request', + 'build_group_exists_request', + 'build_check_permission_request', + 'build_user_exists_request', + 'build_close_client_connection_request', + 'build_grant_permission_request', + 'build_healthapi_get_health_status_request', + 'build_remove_connection_from_group_request', + 'build_remove_user_from_all_groups_request', + 'build_remove_user_from_group_request', + 'build_revoke_permission_request', + 'build_send_to_all_request', + 'build_send_to_connection_request', + 'build_send_to_group_request', + 'build_send_to_user_request' +] +from typing import TYPE_CHECKING +from msrest import Serializer +from azure.core.pipeline.transport._base import _format_url_section +from .core.rest import HttpRequest + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, IO, List, Optional, Union, Dict + from typing_extensions import Literal + Permissions = Union[Literal['joinLeaveGroup'], Literal['sendToGroup']] # pylint: disable=unsubscriptable-object + +_SERIALIZER = Serializer() + + +def build_healthapi_get_health_status_request( + **kwargs # type: Any +): + # type: (...) -> HttpRequest + """Get service health status. + + Get service health status. + + See https://aka.ms/azsdk/python/llcwiki for how to incorporate this request builder into your code flow. + + :keyword api_version: Api Version. + :paramtype api_version: str + :return: Returns an :class:`~azure.messaging.webpubsubservice.core.rest.HttpRequest` that you will pass to the client's `send_request` method. + See https://aka.ms/azsdk/python/llcwiki for how to incorporate this response into your code flow. + :rtype: ~azure.messaging.webpubsubservice.core.rest.HttpRequest + """ + api_version = kwargs.pop('api_version', "2021-05-01-preview") # type: Optional[str] + + # Construct URL + url = kwargs.pop("template_url", '/api/health') + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + if api_version is not None: + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + return HttpRequest( + method="HEAD", + url=url, + params=query_parameters, + **kwargs + ) + + +def build_send_to_all_request( + hub, # type: str + **kwargs # type: Any +): + # type: (...) -> HttpRequest + """Broadcast content inside request body to all the connected client connections. + + Broadcast content inside request body to all the connected client connections. + + See https://aka.ms/azsdk/python/llcwiki for how to incorporate this request builder into your code flow. + + :param hub: Target hub name, which should start with alphabetic characters and only contain + alpha-numeric characters or underscore. + :type hub: str + :keyword json: The payload body. + :paramtype json: Any + :keyword content: The payload body. + :paramtype content: IO + :keyword excluded: Excluded connection Ids. + :paramtype excluded: list[str] + :keyword api_version: Api Version. + :paramtype api_version: str + :return: Returns an :class:`~azure.messaging.webpubsubservice.core.rest.HttpRequest` that you will pass to the client's `send_request` method. + See https://aka.ms/azsdk/python/llcwiki for how to incorporate this response into your code flow. + :rtype: ~azure.messaging.webpubsubservice.core.rest.HttpRequest + + Example: + .. code-block:: python + + # JSON input template you can fill out and use as your `json` input. + json = "Any (optional)" + """ + excluded = kwargs.pop('excluded', None) # type: Optional[List[str]] + api_version = kwargs.pop('api_version', "2021-05-01-preview") # type: Optional[str] + content_type = kwargs.pop("content_type", None) + + # Construct URL + url = kwargs.pop("template_url", '/api/hubs/{hub}/:send') + path_format_arguments = { + 'hub': _SERIALIZER.url("hub", hub, 'str', pattern=r'^[A-Za-z][A-Za-z0-9_`,.[\]]{0,127}$'), + } + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + if excluded is not None: + query_parameters['excluded'] = [_SERIALIZER.query("excluded", q, 'str') if q is not None else '' for q in excluded] + if api_version is not None: + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_connection_exists_request( + hub, # type: str + connection_id, # type: str + **kwargs # type: Any +): + # type: (...) -> HttpRequest + """Check if the connection with the given connectionId exists. + + Check if the connection with the given connectionId exists. + + See https://aka.ms/azsdk/python/llcwiki for how to incorporate this request builder into your code flow. + + :param hub: Target hub name, which should start with alphabetic characters and only contain + alpha-numeric characters or underscore. + :type hub: str + :param connection_id: The connection Id. + :type connection_id: str + :keyword api_version: Api Version. + :paramtype api_version: str + :return: Returns an :class:`~azure.messaging.webpubsubservice.core.rest.HttpRequest` that you will pass to the client's `send_request` method. + See https://aka.ms/azsdk/python/llcwiki for how to incorporate this response into your code flow. + :rtype: ~azure.messaging.webpubsubservice.core.rest.HttpRequest + """ + api_version = kwargs.pop('api_version', "2021-05-01-preview") # type: Optional[str] + + # Construct URL + url = kwargs.pop("template_url", '/api/hubs/{hub}/connections/{connectionId}') + path_format_arguments = { + 'hub': _SERIALIZER.url("hub", hub, 'str', pattern=r'^[A-Za-z][A-Za-z0-9_`,.[\]]{0,127}$'), + 'connectionId': _SERIALIZER.url("connection_id", connection_id, 'str', min_length=1), + } + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + if api_version is not None: + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + return HttpRequest( + method="HEAD", + url=url, + params=query_parameters, + **kwargs + ) + + +def build_close_client_connection_request( + hub, # type: str + connection_id, # type: str + **kwargs # type: Any +): + # type: (...) -> HttpRequest + """Close the client connection. + + Close the client connection. + + See https://aka.ms/azsdk/python/llcwiki for how to incorporate this request builder into your code flow. + + :param hub: Target hub name, which should start with alphabetic characters and only contain + alpha-numeric characters or underscore. + :type hub: str + :param connection_id: Target connection Id. + :type connection_id: str + :keyword reason: The reason closing the client connection. + :paramtype reason: str + :keyword api_version: Api Version. + :paramtype api_version: str + :return: Returns an :class:`~azure.messaging.webpubsubservice.core.rest.HttpRequest` that you will pass to the client's `send_request` method. + See https://aka.ms/azsdk/python/llcwiki for how to incorporate this response into your code flow. + :rtype: ~azure.messaging.webpubsubservice.core.rest.HttpRequest + """ + reason = kwargs.pop('reason', None) # type: Optional[str] + api_version = kwargs.pop('api_version', "2021-05-01-preview") # type: Optional[str] + + # Construct URL + url = kwargs.pop("template_url", '/api/hubs/{hub}/connections/{connectionId}') + path_format_arguments = { + 'hub': _SERIALIZER.url("hub", hub, 'str', pattern=r'^[A-Za-z][A-Za-z0-9_`,.[\]]{0,127}$'), + 'connectionId': _SERIALIZER.url("connection_id", connection_id, 'str', min_length=1), + } + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + if reason is not None: + query_parameters['reason'] = _SERIALIZER.query("reason", reason, 'str') + if api_version is not None: + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + **kwargs + ) + + +def build_send_to_connection_request( + hub, # type: str + connection_id, # type: str + **kwargs # type: Any +): + # type: (...) -> HttpRequest + """Send content inside request body to the specific connection. + + Send content inside request body to the specific connection. + + See https://aka.ms/azsdk/python/llcwiki for how to incorporate this request builder into your code flow. + + :param hub: Target hub name, which should start with alphabetic characters and only contain + alpha-numeric characters or underscore. + :type hub: str + :param connection_id: The connection Id. + :type connection_id: str + :keyword json: The payload body. + :paramtype json: Any + :keyword content: The payload body. + :paramtype content: IO + :keyword api_version: Api Version. + :paramtype api_version: str + :return: Returns an :class:`~azure.messaging.webpubsubservice.core.rest.HttpRequest` that you will pass to the client's `send_request` method. + See https://aka.ms/azsdk/python/llcwiki for how to incorporate this response into your code flow. + :rtype: ~azure.messaging.webpubsubservice.core.rest.HttpRequest + + Example: + .. code-block:: python + + # JSON input template you can fill out and use as your `json` input. + json = "Any (optional)" + """ + api_version = kwargs.pop('api_version', "2021-05-01-preview") # type: Optional[str] + content_type = kwargs.pop("content_type", None) + + # Construct URL + url = kwargs.pop("template_url", '/api/hubs/{hub}/connections/{connectionId}/:send') + path_format_arguments = { + 'hub': _SERIALIZER.url("hub", hub, 'str', pattern=r'^[A-Za-z][A-Za-z0-9_`,.[\]]{0,127}$'), + 'connectionId': _SERIALIZER.url("connection_id", connection_id, 'str', min_length=1), + } + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + if api_version is not None: + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_group_exists_request( + hub, # type: str + group, # type: str + **kwargs # type: Any +): + # type: (...) -> HttpRequest + """Check if there are any client connections inside the given group. + + Check if there are any client connections inside the given group. + + See https://aka.ms/azsdk/python/llcwiki for how to incorporate this request builder into your code flow. + + :param hub: Target hub name, which should start with alphabetic characters and only contain + alpha-numeric characters or underscore. + :type hub: str + :param group: Target group name, which length should be greater than 0 and less than 1025. + :type group: str + :keyword api_version: Api Version. + :paramtype api_version: str + :return: Returns an :class:`~azure.messaging.webpubsubservice.core.rest.HttpRequest` that you will pass to the client's `send_request` method. + See https://aka.ms/azsdk/python/llcwiki for how to incorporate this response into your code flow. + :rtype: ~azure.messaging.webpubsubservice.core.rest.HttpRequest + """ + api_version = kwargs.pop('api_version', "2021-05-01-preview") # type: Optional[str] + + # Construct URL + url = kwargs.pop("template_url", '/api/hubs/{hub}/groups/{group}') + path_format_arguments = { + 'hub': _SERIALIZER.url("hub", hub, 'str', pattern=r'^[A-Za-z][A-Za-z0-9_`,.[\]]{0,127}$'), + 'group': _SERIALIZER.url("group", group, 'str', max_length=1024, min_length=1), + } + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + if api_version is not None: + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + return HttpRequest( + method="HEAD", + url=url, + params=query_parameters, + **kwargs + ) + + +def build_send_to_group_request( + hub, # type: str + group, # type: str + **kwargs # type: Any +): + # type: (...) -> HttpRequest + """Send content inside request body to a group of connections. + + Send content inside request body to a group of connections. + + See https://aka.ms/azsdk/python/llcwiki for how to incorporate this request builder into your code flow. + + :param hub: Target hub name, which should start with alphabetic characters and only contain + alpha-numeric characters or underscore. + :type hub: str + :param group: Target group name, which length should be greater than 0 and less than 1025. + :type group: str + :keyword json: The payload body. + :paramtype json: Any + :keyword content: The payload body. + :paramtype content: IO + :keyword excluded: Excluded connection Ids. + :paramtype excluded: list[str] + :keyword api_version: Api Version. + :paramtype api_version: str + :return: Returns an :class:`~azure.messaging.webpubsubservice.core.rest.HttpRequest` that you will pass to the client's `send_request` method. + See https://aka.ms/azsdk/python/llcwiki for how to incorporate this response into your code flow. + :rtype: ~azure.messaging.webpubsubservice.core.rest.HttpRequest + + Example: + .. code-block:: python + + # JSON input template you can fill out and use as your `json` input. + json = "Any (optional)" + """ + excluded = kwargs.pop('excluded', None) # type: Optional[List[str]] + api_version = kwargs.pop('api_version', "2021-05-01-preview") # type: Optional[str] + content_type = kwargs.pop("content_type", None) + + # Construct URL + url = kwargs.pop("template_url", '/api/hubs/{hub}/groups/{group}/:send') + path_format_arguments = { + 'hub': _SERIALIZER.url("hub", hub, 'str', pattern=r'^[A-Za-z][A-Za-z0-9_`,.[\]]{0,127}$'), + 'group': _SERIALIZER.url("group", group, 'str', max_length=1024, min_length=1), + } + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + if excluded is not None: + query_parameters['excluded'] = [_SERIALIZER.query("excluded", q, 'str') if q is not None else '' for q in excluded] + if api_version is not None: + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_add_connection_to_group_request( + hub, # type: str + group, # type: str + connection_id, # type: str + **kwargs # type: Any +): + # type: (...) -> HttpRequest + """Add a connection to the target group. + + Add a connection to the target group. + + See https://aka.ms/azsdk/python/llcwiki for how to incorporate this request builder into your code flow. + + :param hub: Target hub name, which should start with alphabetic characters and only contain + alpha-numeric characters or underscore. + :type hub: str + :param group: Target group name, which length should be greater than 0 and less than 1025. + :type group: str + :param connection_id: Target connection Id. + :type connection_id: str + :keyword api_version: Api Version. + :paramtype api_version: str + :return: Returns an :class:`~azure.messaging.webpubsubservice.core.rest.HttpRequest` that you will pass to the client's `send_request` method. + See https://aka.ms/azsdk/python/llcwiki for how to incorporate this response into your code flow. + :rtype: ~azure.messaging.webpubsubservice.core.rest.HttpRequest + """ + api_version = kwargs.pop('api_version', "2021-05-01-preview") # type: Optional[str] + + # Construct URL + url = kwargs.pop("template_url", '/api/hubs/{hub}/groups/{group}/connections/{connectionId}') + path_format_arguments = { + 'hub': _SERIALIZER.url("hub", hub, 'str', pattern=r'^[A-Za-z][A-Za-z0-9_`,.[\]]{0,127}$'), + 'group': _SERIALIZER.url("group", group, 'str', max_length=1024, min_length=1), + 'connectionId': _SERIALIZER.url("connection_id", connection_id, 'str', min_length=1), + } + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + if api_version is not None: + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + **kwargs + ) + + +def build_remove_connection_from_group_request( + hub, # type: str + group, # type: str + connection_id, # type: str + **kwargs # type: Any +): + # type: (...) -> HttpRequest + """Remove a connection from the target group. + + Remove a connection from the target group. + + See https://aka.ms/azsdk/python/llcwiki for how to incorporate this request builder into your code flow. + + :param hub: Target hub name, which should start with alphabetic characters and only contain + alpha-numeric characters or underscore. + :type hub: str + :param group: Target group name, which length should be greater than 0 and less than 1025. + :type group: str + :param connection_id: Target connection Id. + :type connection_id: str + :keyword api_version: Api Version. + :paramtype api_version: str + :return: Returns an :class:`~azure.messaging.webpubsubservice.core.rest.HttpRequest` that you will pass to the client's `send_request` method. + See https://aka.ms/azsdk/python/llcwiki for how to incorporate this response into your code flow. + :rtype: ~azure.messaging.webpubsubservice.core.rest.HttpRequest + """ + api_version = kwargs.pop('api_version', "2021-05-01-preview") # type: Optional[str] + + # Construct URL + url = kwargs.pop("template_url", '/api/hubs/{hub}/groups/{group}/connections/{connectionId}') + path_format_arguments = { + 'hub': _SERIALIZER.url("hub", hub, 'str', pattern=r'^[A-Za-z][A-Za-z0-9_`,.[\]]{0,127}$'), + 'group': _SERIALIZER.url("group", group, 'str', max_length=1024, min_length=1), + 'connectionId': _SERIALIZER.url("connection_id", connection_id, 'str', min_length=1), + } + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + if api_version is not None: + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + **kwargs + ) + + +def build_user_exists_request( + hub, # type: str + user_id, # type: str + **kwargs # type: Any +): + # type: (...) -> HttpRequest + """Check if there are any client connections connected for the given user. + + Check if there are any client connections connected for the given user. + + See https://aka.ms/azsdk/python/llcwiki for how to incorporate this request builder into your code flow. + + :param hub: Target hub name, which should start with alphabetic characters and only contain + alpha-numeric characters or underscore. + :type hub: str + :param user_id: Target user Id. + :type user_id: str + :keyword api_version: Api Version. + :paramtype api_version: str + :return: Returns an :class:`~azure.messaging.webpubsubservice.core.rest.HttpRequest` that you will pass to the client's `send_request` method. + See https://aka.ms/azsdk/python/llcwiki for how to incorporate this response into your code flow. + :rtype: ~azure.messaging.webpubsubservice.core.rest.HttpRequest + """ + api_version = kwargs.pop('api_version', "2021-05-01-preview") # type: Optional[str] + + # Construct URL + url = kwargs.pop("template_url", '/api/hubs/{hub}/users/{userId}') + path_format_arguments = { + 'hub': _SERIALIZER.url("hub", hub, 'str', pattern=r'^[A-Za-z][A-Za-z0-9_`,.[\]]{0,127}$'), + 'userId': _SERIALIZER.url("user_id", user_id, 'str', min_length=1), + } + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + if api_version is not None: + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + return HttpRequest( + method="HEAD", + url=url, + params=query_parameters, + **kwargs + ) + + +def build_send_to_user_request( + hub, # type: str + user_id, # type: str + **kwargs # type: Any +): + # type: (...) -> HttpRequest + """Send content inside request body to the specific user. + + Send content inside request body to the specific user. + + See https://aka.ms/azsdk/python/llcwiki for how to incorporate this request builder into your code flow. + + :param hub: Target hub name, which should start with alphabetic characters and only contain + alpha-numeric characters or underscore. + :type hub: str + :param user_id: The user Id. + :type user_id: str + :keyword json: The payload body. + :paramtype json: Any + :keyword content: The payload body. + :paramtype content: IO + :keyword api_version: Api Version. + :paramtype api_version: str + :return: Returns an :class:`~azure.messaging.webpubsubservice.core.rest.HttpRequest` that you will pass to the client's `send_request` method. + See https://aka.ms/azsdk/python/llcwiki for how to incorporate this response into your code flow. + :rtype: ~azure.messaging.webpubsubservice.core.rest.HttpRequest + + Example: + .. code-block:: python + + # JSON input template you can fill out and use as your `json` input. + json = "Any (optional)" + """ + api_version = kwargs.pop('api_version', "2021-05-01-preview") # type: Optional[str] + content_type = kwargs.pop("content_type", None) + + # Construct URL + url = kwargs.pop("template_url", '/api/hubs/{hub}/users/{userId}/:send') + path_format_arguments = { + 'hub': _SERIALIZER.url("hub", hub, 'str', pattern=r'^[A-Za-z][A-Za-z0-9_`,.[\]]{0,127}$'), + 'userId': _SERIALIZER.url("user_id", user_id, 'str', min_length=1), + } + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + if api_version is not None: + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + + return HttpRequest( + method="POST", + url=url, + params=query_parameters, + headers=header_parameters, + **kwargs + ) + + +def build_add_user_to_group_request( + hub, # type: str + group, # type: str + user_id, # type: str + **kwargs # type: Any +): + # type: (...) -> HttpRequest + """Add a user to the target group. + + Add a user to the target group. + + See https://aka.ms/azsdk/python/llcwiki for how to incorporate this request builder into your code flow. + + :param hub: Target hub name, which should start with alphabetic characters and only contain + alpha-numeric characters or underscore. + :type hub: str + :param group: Target group name, which length should be greater than 0 and less than 1025. + :type group: str + :param user_id: Target user Id. + :type user_id: str + :keyword api_version: Api Version. + :paramtype api_version: str + :return: Returns an :class:`~azure.messaging.webpubsubservice.core.rest.HttpRequest` that you will pass to the client's `send_request` method. + See https://aka.ms/azsdk/python/llcwiki for how to incorporate this response into your code flow. + :rtype: ~azure.messaging.webpubsubservice.core.rest.HttpRequest + """ + api_version = kwargs.pop('api_version', "2021-05-01-preview") # type: Optional[str] + + # Construct URL + url = kwargs.pop("template_url", '/api/hubs/{hub}/users/{userId}/groups/{group}') + path_format_arguments = { + 'hub': _SERIALIZER.url("hub", hub, 'str', pattern=r'^[A-Za-z][A-Za-z0-9_`,.[\]]{0,127}$'), + 'group': _SERIALIZER.url("group", group, 'str', max_length=1024, min_length=1), + 'userId': _SERIALIZER.url("user_id", user_id, 'str', min_length=1), + } + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + if api_version is not None: + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + **kwargs + ) + + +def build_remove_user_from_group_request( + hub, # type: str + group, # type: str + user_id, # type: str + **kwargs # type: Any +): + # type: (...) -> HttpRequest + """Remove a user from the target group. + + Remove a user from the target group. + + See https://aka.ms/azsdk/python/llcwiki for how to incorporate this request builder into your code flow. + + :param hub: Target hub name, which should start with alphabetic characters and only contain + alpha-numeric characters or underscore. + :type hub: str + :param group: Target group name, which length should be greater than 0 and less than 1025. + :type group: str + :param user_id: Target user Id. + :type user_id: str + :keyword api_version: Api Version. + :paramtype api_version: str + :return: Returns an :class:`~azure.messaging.webpubsubservice.core.rest.HttpRequest` that you will pass to the client's `send_request` method. + See https://aka.ms/azsdk/python/llcwiki for how to incorporate this response into your code flow. + :rtype: ~azure.messaging.webpubsubservice.core.rest.HttpRequest + """ + api_version = kwargs.pop('api_version', "2021-05-01-preview") # type: Optional[str] + + # Construct URL + url = kwargs.pop("template_url", '/api/hubs/{hub}/users/{userId}/groups/{group}') + path_format_arguments = { + 'hub': _SERIALIZER.url("hub", hub, 'str', pattern=r'^[A-Za-z][A-Za-z0-9_`,.[\]]{0,127}$'), + 'group': _SERIALIZER.url("group", group, 'str', max_length=1024, min_length=1), + 'userId': _SERIALIZER.url("user_id", user_id, 'str', min_length=1), + } + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + if api_version is not None: + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + **kwargs + ) + + +def build_remove_user_from_all_groups_request( + hub, # type: str + user_id, # type: str + **kwargs # type: Any +): + # type: (...) -> HttpRequest + """Remove a user from all groups. + + Remove a user from all groups. + + See https://aka.ms/azsdk/python/llcwiki for how to incorporate this request builder into your code flow. + + :param hub: Target hub name, which should start with alphabetic characters and only contain + alpha-numeric characters or underscore. + :type hub: str + :param user_id: Target user Id. + :type user_id: str + :keyword api_version: Api Version. + :paramtype api_version: str + :return: Returns an :class:`~azure.messaging.webpubsubservice.core.rest.HttpRequest` that you will pass to the client's `send_request` method. + See https://aka.ms/azsdk/python/llcwiki for how to incorporate this response into your code flow. + :rtype: ~azure.messaging.webpubsubservice.core.rest.HttpRequest + """ + api_version = kwargs.pop('api_version', "2021-05-01-preview") # type: Optional[str] + + # Construct URL + url = kwargs.pop("template_url", '/api/hubs/{hub}/users/{userId}/groups') + path_format_arguments = { + 'hub': _SERIALIZER.url("hub", hub, 'str', pattern=r'^[A-Za-z][A-Za-z0-9_`,.[\]]{0,127}$'), + 'userId': _SERIALIZER.url("user_id", user_id, 'str', min_length=1), + } + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + if api_version is not None: + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + **kwargs + ) + + +def build_grant_permission_request( + hub, # type: str + permission, # type: Permissions + connection_id, # type: str + **kwargs # type: Any +): + # type: (...) -> HttpRequest + """Grant permission to the connection. + + Grant permission to the connection. + + See https://aka.ms/azsdk/python/llcwiki for how to incorporate this request builder into your code flow. + + :param hub: Target hub name, which should start with alphabetic characters and only contain + alpha-numeric characters or underscore. + :type hub: str + :param permission: The permission: current supported actions are joinLeaveGroup and + sendToGroup. + :type permission: str or ~Permissions + :param connection_id: Target connection Id. + :type connection_id: str + :keyword target_name: Optional. If not set, grant the permission to all the targets. If set, + grant the permission to the specific target. The meaning of the target depends on the specific + permission. + :paramtype target_name: str + :keyword api_version: Api Version. + :paramtype api_version: str + :return: Returns an :class:`~azure.messaging.webpubsubservice.core.rest.HttpRequest` that you will pass to the client's `send_request` method. + See https://aka.ms/azsdk/python/llcwiki for how to incorporate this response into your code flow. + :rtype: ~azure.messaging.webpubsubservice.core.rest.HttpRequest + """ + target_name = kwargs.pop('target_name', None) # type: Optional[str] + api_version = kwargs.pop('api_version', "2021-05-01-preview") # type: Optional[str] + + # Construct URL + url = kwargs.pop("template_url", '/api/hubs/{hub}/permissions/{permission}/connections/{connectionId}') + path_format_arguments = { + 'hub': _SERIALIZER.url("hub", hub, 'str', pattern=r'^[A-Za-z][A-Za-z0-9_`,.[\]]{0,127}$'), + 'permission': _SERIALIZER.url("permission", permission, 'str'), + 'connectionId': _SERIALIZER.url("connection_id", connection_id, 'str', min_length=1), + } + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + if target_name is not None: + query_parameters['targetName'] = _SERIALIZER.query("target_name", target_name, 'str') + if api_version is not None: + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + return HttpRequest( + method="PUT", + url=url, + params=query_parameters, + **kwargs + ) + + +def build_revoke_permission_request( + hub, # type: str + permission, # type: Permissions + connection_id, # type: str + **kwargs # type: Any +): + # type: (...) -> HttpRequest + """Revoke permission for the connection. + + Revoke permission for the connection. + + See https://aka.ms/azsdk/python/llcwiki for how to incorporate this request builder into your code flow. + + :param hub: Target hub name, which should start with alphabetic characters and only contain + alpha-numeric characters or underscore. + :type hub: str + :param permission: The permission: current supported actions are joinLeaveGroup and + sendToGroup. + :type permission: str or ~Permissions + :param connection_id: Target connection Id. + :type connection_id: str + :keyword target_name: Optional. If not set, revoke the permission for all targets. If set, + revoke the permission for the specific target. The meaning of the target depends on the + specific permission. + :paramtype target_name: str + :keyword api_version: Api Version. + :paramtype api_version: str + :return: Returns an :class:`~azure.messaging.webpubsubservice.core.rest.HttpRequest` that you will pass to the client's `send_request` method. + See https://aka.ms/azsdk/python/llcwiki for how to incorporate this response into your code flow. + :rtype: ~azure.messaging.webpubsubservice.core.rest.HttpRequest + """ + target_name = kwargs.pop('target_name', None) # type: Optional[str] + api_version = kwargs.pop('api_version', "2021-05-01-preview") # type: Optional[str] + + # Construct URL + url = kwargs.pop("template_url", '/api/hubs/{hub}/permissions/{permission}/connections/{connectionId}') + path_format_arguments = { + 'hub': _SERIALIZER.url("hub", hub, 'str', pattern=r'^[A-Za-z][A-Za-z0-9_`,.[\]]{0,127}$'), + 'permission': _SERIALIZER.url("permission", permission, 'str'), + 'connectionId': _SERIALIZER.url("connection_id", connection_id, 'str', min_length=1), + } + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + if target_name is not None: + query_parameters['targetName'] = _SERIALIZER.query("target_name", target_name, 'str') + if api_version is not None: + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + return HttpRequest( + method="DELETE", + url=url, + params=query_parameters, + **kwargs + ) + + +def build_check_permission_request( + hub, # type: str + permission, # type: Permissions + connection_id, # type: str + **kwargs # type: Any +): + # type: (...) -> HttpRequest + """Check if a connection has permission to the specified action. + + Check if a connection has permission to the specified action. + + See https://aka.ms/azsdk/python/llcwiki for how to incorporate this request builder into your code flow. + + :param hub: Target hub name, which should start with alphabetic characters and only contain + alpha-numeric characters or underscore. + :type hub: str + :param permission: The permission: current supported actions are joinLeaveGroup and + sendToGroup. + :type permission: ~Permissions + :param connection_id: Target connection Id. + :type connection_id: str + :keyword target_name: Optional. If not set, get the permission for all targets. If set, get the + permission for the specific target. The meaning of the target depends on the specific + permission. + :paramtype target_name: str + :keyword api_version: Api Version. + :paramtype api_version: str + :return: Returns an :class:`~azure.messaging.webpubsubservice.core.rest.HttpRequest` that you will pass to the client's `send_request` method. + See https://aka.ms/azsdk/python/llcwiki for how to incorporate this response into your code flow. + :rtype: ~azure.messaging.webpubsubservice.core.rest.HttpRequest + """ + target_name = kwargs.pop('target_name', None) # type: Optional[str] + api_version = kwargs.pop('api_version', "2021-05-01-preview") # type: Optional[str] + + # Construct URL + url = kwargs.pop("template_url", '/api/hubs/{hub}/permissions/{permission}/connections/{connectionId}') + path_format_arguments = { + 'hub': _SERIALIZER.url("hub", hub, 'str', pattern=r'^[A-Za-z][A-Za-z0-9_`,.[\]]{0,127}$'), + 'permission': _SERIALIZER.url("permission", permission, 'str'), + 'connectionId': _SERIALIZER.url("connection_id", connection_id, 'str', min_length=1), + } + url = _format_url_section(url, **path_format_arguments) + + # Construct parameters + query_parameters = kwargs.pop("params", {}) # type: Dict[str, Any] + if target_name is not None: + query_parameters['targetName'] = _SERIALIZER.query("target_name", target_name, 'str') + if api_version is not None: + query_parameters['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + + return HttpRequest( + method="HEAD", + url=url, + params=query_parameters, + **kwargs + ) diff --git a/src/webpubsub/setup.py b/src/webpubsub/setup.py index 383899aca8b..c30116666b7 100644 --- a/src/webpubsub/setup.py +++ b/src/webpubsub/setup.py @@ -33,7 +33,9 @@ ] # TODO: Add any additional SDK dependencies here -DEPENDENCIES = [] +DEPENDENCIES = [ + 'websockets~=8.1' +] with open('README.rst', 'r', encoding='utf-8') as f: README = f.read() From d7a1eff8dac5347ec04ffe57721b8b03c27a98e7 Mon Sep 17 00:00:00 2001 From: Chenyang Liu Date: Fri, 21 May 2021 15:35:44 +0800 Subject: [PATCH 30/83] Update version and history (#3412) --- src/webpubsub/HISTORY.rst | 4 ++++ src/webpubsub/setup.py | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/webpubsub/HISTORY.rst b/src/webpubsub/HISTORY.rst index 8c34bccfff8..b5c6e7bef03 100644 --- a/src/webpubsub/HISTORY.rst +++ b/src/webpubsub/HISTORY.rst @@ -3,6 +3,10 @@ Release History =============== +0.2.0 +++++++ +* Add data plane command: `az webpubsub client` and `az webpubsub service` + 0.1.0 ++++++ * Initial release. \ No newline at end of file diff --git a/src/webpubsub/setup.py b/src/webpubsub/setup.py index c30116666b7..69268b42f52 100644 --- a/src/webpubsub/setup.py +++ b/src/webpubsub/setup.py @@ -16,7 +16,7 @@ # TODO: Confirm this is the right version number you want and it matches your # HISTORY.rst entry. -VERSION = '0.1.0' +VERSION = '0.2.0' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers From 06360dca2da5d0d10591c64d9cad30e1ffb486d1 Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Fri, 21 May 2021 15:53:41 +0800 Subject: [PATCH 31/83] [Release] Update index.json for extension [ azure-firewall ] (#3414) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=906557 Last commit: https://github.com/Azure/azure-cli-extensions/commit/39d2d9b8094b8081b0acfb2c286713e0ec1874a6 --- src/index.json | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/src/index.json b/src/index.json index 96ddbdd4382..24e6e45aae3 100644 --- a/src/index.json +++ b/src/index.json @@ -4942,6 +4942,51 @@ "version": "0.9.0" }, "sha256Digest": "ea9f1a318e27266652bb6121d93ff5595b2ffe1227efc3ca1ab69b29349bb9d2" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/azure_firewall-0.10.0-py2.py3-none-any.whl", + "filename": "azure_firewall-0.10.0-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.15.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" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/azure-firewall" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "azure-firewall", + "summary": "Manage Azure Firewall resources.", + "version": "0.10.0" + }, + "sha256Digest": "94c5b15b65b3fe78fa4a10b839ace1a5eb627e87f4aae2bc5728e159388c9599" } ], "azure-iot": [ From aa9a31dcab0921089742de7a21e77e4dd0fcab13 Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Fri, 21 May 2021 16:18:22 +0800 Subject: [PATCH 32/83] [Release] Update index.json for extension [ webpubsub ] (#3413) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=906701 Last commit: https://github.com/Azure/azure-cli-extensions/commit/d7a1eff8dac5347ec04ffe57721b8b03c27a98e7 --- src/index.json | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/src/index.json b/src/index.json index 24e6e45aae3..86cb846f3e8 100644 --- a/src/index.json +++ b/src/index.json @@ -18334,6 +18334,57 @@ "version": "0.1.0" }, "sha256Digest": "e36b3e5d0585b1082884150b829de871dbe906fd2b5356689127e1153829245f" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/webpubsub-0.2.0-py3-none-any.whl", + "filename": "webpubsub-0.2.0-py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.22.0", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/webpubsub" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "webpubsub", + "run_requires": [ + { + "requires": [ + "websockets (~=8.1)" + ] + } + ], + "summary": "Microsoft Azure Command-Line Tools Webpubsub Extension", + "version": "0.2.0" + }, + "sha256Digest": "f29d5b7217b8f03fc05dde2cab282cbebec9d211dc8cd7c1ee9baa71b23ff6d5" } ] }, From 918bc02c03e31a27ae90a200fc03d3c63ca4463f Mon Sep 17 00:00:00 2001 From: Jonathan Innis Date: Fri, 21 May 2021 10:55:49 -0700 Subject: [PATCH 33/83] Fix private build (#40) --- src/k8s-extension/azext_k8s_extension/_validators.py | 2 +- src/k8s-extension/azext_k8s_extension/custom.py | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/k8s-extension/azext_k8s_extension/_validators.py b/src/k8s-extension/azext_k8s_extension/_validators.py index 9941c4a117b..31078a4ddbb 100644 --- a/src/k8s-extension/azext_k8s_extension/_validators.py +++ b/src/k8s-extension/azext_k8s_extension/_validators.py @@ -4,7 +4,7 @@ # -------------------------------------------------------------------------------------------- from knack.log import get_logger -from azext_k8s_extension._client_factory import _resource_providers_client +from ._client_factory import _resource_providers_client from . import consts diff --git a/src/k8s-extension/azext_k8s_extension/custom.py b/src/k8s-extension/azext_k8s_extension/custom.py index f4f2e1cafdd..64c99f25abd 100644 --- a/src/k8s-extension/azext_k8s_extension/custom.py +++ b/src/k8s-extension/azext_k8s_extension/custom.py @@ -13,10 +13,8 @@ from azure.cli.core.azclierror import ResourceNotFoundError, MutuallyExclusiveArgumentError, \ InvalidArgumentValueError, CommandNotFoundError, RequiredArgumentMissingError from azure.cli.core.commands.client_factory import get_subscription_id -from azext_k8s_extension.vendored_sdks.models import ConfigurationIdentity -from azext_k8s_extension.vendored_sdks.models import ErrorResponseException -from azext_k8s_extension.vendored_sdks.models import Scope -from azext_k8s_extension._validators import validate_cc_registration +from .vendored_sdks.models import ConfigurationIdentity, ErrorResponseException, Scope +from ._validators import validate_cc_registration from .partner_extensions.ContainerInsights import ContainerInsights from .partner_extensions.AzureDefender import AzureDefender From d74f2a87222685c77c99545cbeb6aa11c1ab689d Mon Sep 17 00:00:00 2001 From: Arpit Gupta Date: Mon, 24 May 2021 07:08:05 +0530 Subject: [PATCH 34/83] [Connectedk8s] Added OID param for custom-locations feature (#3407) * Added oid param * Bump version * Nit * Nit2 * Refine message * Update src/connectedk8s/azext_connectedk8s/custom.py Co-authored-by: Shashank Barsin * Update src/connectedk8s/azext_connectedk8s/custom.py Co-authored-by: Shashank Barsin * Update src/connectedk8s/azext_connectedk8s/custom.py Co-authored-by: Shashank Barsin * Nit loggings * Changed param name * update param name * Fix param name ref * Update src/connectedk8s/HISTORY.rst Co-authored-by: Xing Zhou Co-authored-by: Arpit Gupta Co-authored-by: Shashank Barsin Co-authored-by: Xing Zhou --- src/connectedk8s/HISTORY.rst | 6 ++++ .../azext_connectedk8s/_params.py | 2 ++ src/connectedk8s/azext_connectedk8s/custom.py | 35 ++++++++++++------- src/connectedk8s/setup.py | 2 +- 4 files changed, 32 insertions(+), 13 deletions(-) diff --git a/src/connectedk8s/HISTORY.rst b/src/connectedk8s/HISTORY.rst index 22bfc6a4882..47371b2367a 100644 --- a/src/connectedk8s/HISTORY.rst +++ b/src/connectedk8s/HISTORY.rst @@ -3,10 +3,16 @@ Release History =============== +1.1.5 +++++++ +* Add custom-locations oid parameter for spn scenario + + 1.1.4 ++++++ * Add compatible logic for the track 2 migration of resource dependence + 1.1.3 ++++++ * Fix for list_node() sdk function for AKS v1.19.x clusters diff --git a/src/connectedk8s/azext_connectedk8s/_params.py b/src/connectedk8s/azext_connectedk8s/_params.py index 6c65e12e92f..d7b506fe8fc 100644 --- a/src/connectedk8s/azext_connectedk8s/_params.py +++ b/src/connectedk8s/azext_connectedk8s/_params.py @@ -33,6 +33,7 @@ def load_arguments(self, _): c.argument('distribution', options_list=['--distribution'], help='The Kubernetes distribution which will be running on this connected cluster.', arg_type=get_enum_type(Distribution_Enum_Values)) c.argument('infrastructure', options_list=['--infrastructure'], help='The infrastructure on which the Kubernetes cluster represented by this connected cluster will be running on.', arg_type=get_enum_type(Infrastructure_Enum_Values)) c.argument('disable_auto_upgrade', options_list=['--disable-auto-upgrade'], action='store_true', help='Flag to disable auto upgrade of arc agents.') + c.argument('cl_oid', options_list=['--custom-locations-oid'], help="OID of 'custom-locations' app") with self.argument_context('connectedk8s update') as c: c.argument('cluster_name', options_list=['--name', '-n'], id_part='name', help='The name of the connected cluster.') @@ -59,6 +60,7 @@ def load_arguments(self, _): c.argument('azrbac_client_id', options_list=['--app-id'], arg_group='Azure RBAC', help='Application ID for enabling Azure RBAC. Specify when enabling azure-rbac.') c.argument('azrbac_client_secret', options_list=['--app-secret'], arg_group='Azure RBAC', help='Application secret for enabling Azure RBAC. Specify when enabling azure-rbac.') c.argument('azrbac_skip_authz_check', options_list=['--skip-azure-rbac-list'], arg_group='Azure RBAC', help='Comma separated list of names of usernames/email/oid. Azure RBAC will be skipped for these users. Specify when enabling azure-rbac.') + c.argument('cl_oid', options_list=['--custom-locations-oid'], help="OID of 'custom-locations' app") with self.argument_context('connectedk8s disable-features') as c: c.argument('cluster_name', options_list=['--name', '-n'], id_part='name', help='The name of the connected cluster.') diff --git a/src/connectedk8s/azext_connectedk8s/custom.py b/src/connectedk8s/azext_connectedk8s/custom.py index 079430647ef..80b3f18c80e 100644 --- a/src/connectedk8s/azext_connectedk8s/custom.py +++ b/src/connectedk8s/azext_connectedk8s/custom.py @@ -57,7 +57,7 @@ def create_connectedk8s(cmd, client, resource_group_name, cluster_name, https_proxy="", http_proxy="", no_proxy="", proxy_cert="", location=None, kube_config=None, kube_context=None, no_wait=False, tags=None, distribution='auto', infrastructure='auto', - disable_auto_upgrade=False): + disable_auto_upgrade=False, cl_oid=None): logger.warning("Ensure that you have the latest helm version installed before proceeding.") logger.warning("This operation might take a while...\n") @@ -140,7 +140,7 @@ def create_connectedk8s(cmd, client, resource_group_name, cluster_name, https_pr # Checking if it is an AKS cluster is_aks_cluster = check_aks_cluster(kube_config, kube_context) if is_aks_cluster: - logger.warning("The cluster you are trying to connect to Azure Arc is an Azure Kubernetes Service (AKS) cluster. While Arc onboarding an AKS cluster is possible, it's not necessary. Learn more at {}.".format(" https://go.microsoft.com/fwlink/?linkid=2144200")) + logger.warning("Connecting an Azure Kubernetes Service (AKS) cluster to Azure Arc is only required for running Arc enabled services like App Services and Data Services on the cluster. Other features like Azure Monitor and Azure Defender are natively available on AKS. Learn more at {}.".format(" https://go.microsoft.com/fwlink/?linkid=2144200")) # Checking helm installation check_helm_install(kube_config, kube_context) @@ -253,7 +253,7 @@ def create_connectedk8s(cmd, client, resource_group_name, cluster_name, https_pr put_cc_response = create_cc_resource(client, resource_group_name, cluster_name, cc, no_wait) # Checking if custom locations rp is registered and fetching oid if it is registered - enable_custom_locations, custom_locations_oid = check_cl_registration_and_get_oid(cmd) + enable_custom_locations, custom_locations_oid = check_cl_registration_and_get_oid(cmd, cl_oid) # Install azure-arc agents utils.helm_install_release(chart_path, subscription_id, kubernetes_distro, kubernetes_infra, resource_group_name, cluster_name, @@ -1128,7 +1128,7 @@ def get_all_helm_values(release_namespace, kube_config, kube_context): def enable_features(cmd, client, resource_group_name, cluster_name, features, kube_config=None, kube_context=None, - azrbac_client_id=None, azrbac_client_secret=None, azrbac_skip_authz_check=None): + azrbac_client_id=None, azrbac_client_secret=None, azrbac_skip_authz_check=None, cl_oid=None): logger.warning("Ensure that you have the latest helm version installed before proceeding.") logger.warning("This operation might take a while...\n") @@ -1145,7 +1145,7 @@ def enable_features(cmd, client, resource_group_name, cluster_name, features, ku azrbac_skip_authz_check = escape_proxy_settings(azrbac_skip_authz_check) if enable_cl: - enable_cl, custom_locations_oid = check_cl_registration_and_get_oid(cmd) + enable_cl, custom_locations_oid = check_cl_registration_and_get_oid(cmd, cl_oid) if not enable_cluster_connect and enable_cl: enable_cluster_connect = True logger.warning("Enabling 'custom-locations' feature will enable 'cluster-connect' feature too.") @@ -1935,27 +1935,38 @@ def check_process(processName): return False -def get_custom_locations_oid(cmd): +def get_custom_locations_oid(cmd, cl_oid): try: sp_graph_client = get_graph_client_service_principals(cmd.cli_ctx) sub_filters = [] sub_filters.append("displayName eq '{}'".format("Custom Locations RP")) result = list(sp_graph_client.list(filter=(' and '.join(sub_filters)))) if len(result) != 0: - return result[0].object_id - else: - logger.warning("Unable to fetch oid of 'custom-locations' app. Proceeding without enabling the feature.") + if cl_oid is not None and cl_oid != result[0].object_id: + logger.debug("The 'Custom-locations' OID passed is different from the actual OID({}) of the Custom Locations RP app. Proceeding with the correct one...".format(result[0].object_id)) + return result[0].object_id # Using the fetched OID + + if cl_oid is None: + logger.warning("Failed to enable Custom Locations feature on the cluster. Unable to fetch Object ID of Azure AD application used by Azure Arc service. Try enabling the feature by passing the --custom-locations-oid parameter directly. Learn more at https://aka.ms/CustomLocationsObjectID") telemetry.set_exception(exception='Unable to fetch oid of custom locations app.', fault_type=consts.Custom_Locations_OID_Fetch_Fault_Type, summary='Unable to fetch oid for custom locations app.') return "" + else: + return cl_oid except Exception as e: - logger.warning("Unable to fetch oid of 'custom-locations' app. Proceeding without enabling the feature. " + str(e)) + log_string = "Unable to fetch the Object ID of the Azure AD application used by Azure Arc service. " telemetry.set_exception(exception=e, fault_type=consts.Custom_Locations_OID_Fetch_Fault_Type, summary='Unable to fetch oid for custom locations app.') + if cl_oid: + log_string += "Proceeding with the Object ID provided to enable the 'custom-locations' feature." + logger.warning(log_string) + return cl_oid + log_string += "Unable to enable the 'custom-locations' feature. " + str(e) + logger.warning(log_string) return "" -def check_cl_registration_and_get_oid(cmd): +def check_cl_registration_and_get_oid(cmd, cl_oid): enable_custom_locations = True custom_locations_oid = "" try: @@ -1965,7 +1976,7 @@ def check_cl_registration_and_get_oid(cmd): enable_custom_locations = False logger.warning("'Custom-locations' feature couldn't be enabled on this cluster as the pre-requisite registration of 'Microsoft.ExtendedLocation' was not met. More details for enabling this feature later on this cluster can be found here - https://aka.ms/EnableCustomLocations") else: - custom_locations_oid = get_custom_locations_oid(cmd) + custom_locations_oid = get_custom_locations_oid(cmd, cl_oid) if custom_locations_oid == "": enable_custom_locations = False except Exception as e: diff --git a/src/connectedk8s/setup.py b/src/connectedk8s/setup.py index 53a133b0677..4feac457b7f 100644 --- a/src/connectedk8s/setup.py +++ b/src/connectedk8s/setup.py @@ -17,7 +17,7 @@ # TODO: Confirm this is the right version number you want and it matches your # HISTORY.rst entry. -VERSION = '1.1.4' +VERSION = '1.1.5' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers From fe49c3e87414a1893f1d127fa270b8eac55c8a26 Mon Sep 17 00:00:00 2001 From: Sumit Kumar Date: Mon, 24 May 2021 18:25:21 -0700 Subject: [PATCH 35/83] Remove Oracle To Pg scenario support (#3289) --- src/dms-preview/azext_dms/__init__.py | 11 +- src/dms-preview/azext_dms/_client_factory.py | 9 +- src/dms-preview/azext_dms/_help.py | 143 ------------------ src/dms-preview/azext_dms/_params.py | 12 +- src/dms-preview/azext_dms/commands.py | 15 +- src/dms-preview/azext_dms/custom.py | 86 +---------- src/dms-preview/azext_dms/scenario_inputs.py | 65 +------- .../datamigration/models/__init__.py | 69 --------- src/dms-preview/setup.py | 2 +- src/service_name.json | 5 + 10 files changed, 24 insertions(+), 393 deletions(-) diff --git a/src/dms-preview/azext_dms/__init__.py b/src/dms-preview/azext_dms/__init__.py index e91f819f1f0..094c2df6207 100755 --- a/src/dms-preview/azext_dms/__init__.py +++ b/src/dms-preview/azext_dms/__init__.py @@ -3,7 +3,11 @@ # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- +from azure.cli.command_modules.dms.commands import dms_api_exception_handler from azure.cli.core import AzCommandsLoader +from azure.cli.core.commands import CliCommandType +from azext_dms.commands import load_command_table +from azext_dms._params import load_arguments import azext_dms._help # pylint: disable=unused-import @@ -11,20 +15,15 @@ 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, - custom_command_type=dms_custom) + super().__init__(cli_ctx=cli_ctx, 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) diff --git a/src/dms-preview/azext_dms/_client_factory.py b/src/dms-preview/azext_dms/_client_factory.py index 64c857df3ad..07e051bdff9 100644 --- a/src/dms-preview/azext_dms/_client_factory.py +++ b/src/dms-preview/azext_dms/_client_factory.py @@ -3,10 +3,11 @@ # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- +from azure.cli.core.commands.client_factory import get_mgmt_service_client +from azext_dms.vendored_sdks.datamigration import DataMigrationServiceClient + 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) @@ -16,7 +17,3 @@ def dms_cf_projects(cli_ctx, *_): def dms_cf_tasks(cli_ctx, *_): return dms_client_factory(cli_ctx).tasks - - -def dms_cf_service_tasks(cli_ctx, *_): - return dms_client_factory(cli_ctx).service_tasks diff --git a/src/dms-preview/azext_dms/_help.py b/src/dms-preview/azext_dms/_help.py index b55ffc32adb..b2b654b15d8 100644 --- a/src/dms-preview/azext_dms/_help.py +++ b/src/dms-preview/azext_dms/_help.py @@ -5,105 +5,6 @@ from knack.help_files import helps -helps['dms task'] = """ - type: group - short-summary: Manage service-level tasks for a Database Migration Service instance. - long-summary: | - Service-level tasks are non-migration tasks that are performed at the service level. This is usually for administrative and maintenance work which applies to the service's agent and VM. -""" - -helps['dms task cancel'] = """ - type: command - short-summary: Cancel a service-level Task if it's currently queued or running. - - examples: - - name: Cancel a service-level task - text: > - az dms task cancel -g myresourcegroup --service-name mydms -n mytask -""" - -helps['dms task create'] = """ - type: command - short-summary: Create and start a service-level task. - long-summary: | - The following tasks are currently supported: - 1) Check OCI driver against Oracle source to check for compatibility - 2) Upload OCI driver install package - 3) Install an already uploaded OCI driver package - - parameters: - - name: --task-type - type: string - short-summary: > - The type of task to create. The supported types are CheckOciDriver, UploadOciDriver, and InstallOciDriver. - - name: --task-options-json - type: string - short-summary: > - Information and settings relevant to the particular task's type. This can be either a JSON-formatted string or the location to a file containing the JSON object. See examples below for the format. - long-summary: > - For CheckOciDriver: - { - // The version of your Oracle source server against which to check the driver's compatibility. - // Can also be null to get a list of supported versions. - "serverVersion": "Oracle source version" - } - - For UploadOciDriver: - { - "ociDriverPath": File share path of the driver install package, - "userName": "user name", // if this is missing or null, you will be prompted - "password": "password" // if this is missing or null (highly recommended) you will be prompted - } - - For InstallOciDriver: - { - // The output of the UploadOciDriver task can be used here - "ociDriverPackageName": "Oci driver installer package name" - } - examples: - - name: Create a service-level task which checks if the currently installed OCI driver supports - text: > - az dms task create -g myresourcegroup --service-name mydms -n checkocitask1 --task-options-json "{\"serverVersion\": \"12.2.0.1\"}" --task-type CheckOciDriver -""" - -helps['dms task delete'] = """ - type: command - short-summary: Delete a service-level Task. - parameters: - - name: --delete-running-tasks - type: bool - short-summary: > - Delete the service-level Task even if the Task is currently running. -""" - -helps['dms task list'] = """ - type: command - short-summary: List the service-level Tasks within a DMS instance. Some tasks may have a status of Unknown, which indicates that an error occurred while querying the status of that task. - parameters: - - name: --task-type - type: string - short-summary: > - The type of task to be listed. For the list of possible types see "az dms check-status". - examples: - - name: List all Tasks within a DMS instance. - text: > - az dms task list -g myresourcegroup -n mydms - - name: List only the tasks that check the OCI driver compatibility within a DMS instance. - text: > - az dms task list -g myresourcegroup -n mydms --task-type Service.Check.OCI -""" - -helps['dms task show'] = """ - type: command - short-summary: Show the details of a service-level Task. Use the "--expand" to get more details. - parameters: - - name: --expand - type: string - short-summary: > - Expand the response to provide more details. Use with "command" to see more details of the Task. - Use with "output" to see the results of the Task's migration. -""" - helps['dms project create'] = """ type: command short-summary: Create a migration Project which can contain multiple Tasks. @@ -255,44 +156,6 @@ } } - For Oracle to PostgreSQL, the format of the database options JSON object. - [ - { - // "Preserve" or "ToLower". Not valid when providing "tableMap". - "caseManipulation": "", - // When provided, copies all tables within this schema, preserving the casing of the source object names, - // or using the value of "caseManipulation" if provided. - // Not valid if providing "tableMap". - "schemaName": "", - // Defines custom mapping of schemas and tables. As seen, offers freedom for mapping tables to different schemas, changing schema and table names, and modifying object name casing. - // Not valid if providing "schemaName". - "tableMap": { - "SCHEMA1.TABLE1": "SCHEMA1.TABLE1", - "SCHEMA2.TABLE2": "SCHEMA1.TABLE2", - "SCHEMA2.TABLE3": "schema2.OtherTableName - ...n - }, - "targetDatabaseName": "database_name", - // Used for manipulating the underlying migration engine. - // Only provide if instructed to do so or if you really know what you are doing. - "migrationSetting": { - "setting1": "value1", - ...n - }, - // Used for manipulating the underlying migration engine. - // Only provide if instructed to do so or if you really know what you are doing. - "sourceSetting": { - "setting1": "value1", - ...n - }, - // Used for manipulating the underlying migration engine. - // Only provide if instructed to do so or if you really know what you are doing. - "targetSetting": { - "setting1": "value1", - ...n - } - } - ] - name: --source-connection-json type: string short-summary: > @@ -334,12 +197,6 @@ "connectionString": "mongodb://hostOrIp:port" } - The format of the connection JSON object for Oracle connections. - { - "userName": null, // 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": "//hostOrIp:port/serviceName" // accepts EZConnect or Tnsnames formats - } - name: --target-connection-json type: string short-summary: > diff --git a/src/dms-preview/azext_dms/_params.py b/src/dms-preview/azext_dms/_params.py index 2177d9682d5..d8313e4895a 100644 --- a/src/dms-preview/azext_dms/_params.py +++ b/src/dms-preview/azext_dms/_params.py @@ -5,22 +5,12 @@ from knack.arguments import CLIArgumentType -from azure.cli.core.commands.parameters import resource_group_name_type, tags_type +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 task') as c: - c.argument('group_name', resource_group_name_type) - c.argument('service_name', options_list=['--service-name'], help="The name of the Service.") - c.argument('task_name', name_arg_type, - help='The name of the Task. A DMS Task is the activity that performs service-level \ -related work. There could be multiple Tasks associated with a service. ') - - with self.argument_context('dms task list') as c: - c.argument('service_name', name_arg_type, help='The name of the Service.') - with self.argument_context('dms project') as c: c.argument('service_name', options_list=['--service-name'], help="The name of the Service. DMS Service is an Azure instance that performs database migrations.") diff --git a/src/dms-preview/azext_dms/commands.py b/src/dms-preview/azext_dms/commands.py index 80562464eac..b19c302616d 100644 --- a/src/dms-preview/azext_dms/commands.py +++ b/src/dms-preview/azext_dms/commands.py @@ -7,8 +7,7 @@ from azext_dms._client_factory import (dms_client_factory, dms_cf_projects, - dms_cf_tasks, - dms_cf_service_tasks) + dms_cf_tasks) def load_command_table(self, _): @@ -22,11 +21,6 @@ def load_command_table(self, _): client_factory=dms_client_factory ) - dms_service_tasks_sdk = CliCommandType( - operations_tmpl='azext_dms.vendored_sdks.datamigration.operations._service_tasks_operations#ServiceTasksOperations.{}', # pylint: disable=line-too-long - 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') @@ -36,10 +30,3 @@ def load_command_table(self, _): g.custom_command('cutover', 'cutover_sync_task') g.custom_command('restart', 'restart_task') g.custom_command('stop', 'stop_task') - - with self.command_group('dms task', dms_service_tasks_sdk, client_factory=dms_cf_service_tasks) as g: - g.custom_command('create', 'create_service_task') - g.command('delete', 'delete', confirmation=True) - g.command('list', 'list') - g.show_command('show', 'get') - g.command('cancel', 'cancel') diff --git a/src/dms-preview/azext_dms/custom.py b/src/dms-preview/azext_dms/custom.py index af011509bf0..401f9d6c1f0 100644 --- a/src/dms-preview/azext_dms/custom.py +++ b/src/dms-preview/azext_dms/custom.py @@ -27,19 +27,10 @@ MongoDbFinishCommand, MongoDbFinishCommandInput, MongoDbRestartCommand, - ValidateMongoDbTaskProperties, - OracleConnectionInfo, - MigrateOracleAzureDbForPostgreSqlSyncTaskProperties, - CheckOCIDriverTaskProperties, - UploadOCIDriverTaskProperties, - InstallOCIDriverTaskProperties) + ValidateMongoDbTaskProperties) from azext_dms.scenario_inputs import (get_migrate_mysql_to_azuredbformysql_sync_input, get_migrate_postgresql_to_azuredbforpostgresql_sync_input, - get_mongo_to_mongo_input, - get_migrate_oracle_to_azuredbforpostgresql_sync_input, - get_check_oci_driver_input, - get_upload_oci_driver_input, - get_install_oci_driver_input) + get_mongo_to_mongo_input) logger = get_logger(__name__) @@ -223,8 +214,7 @@ def cutover_sync_task( st = get_scenario_type(source_platform, target_platform, "onlinemigration") if st in [ScenarioType.mysql_azuremysql_online, - ScenarioType.postgres_azurepostgres_online, - ScenarioType.oracle_azurepostgres_online]: + ScenarioType.postgres_azurepostgres_online]: if object_name is None: raise CLIError("The argument 'object_name' must be present for this task type.") command_input = MigrateSyncCompleteCommandInput(database_name=object_name) @@ -316,29 +306,6 @@ def stop_task( # endregion -# region Service Task -def create_service_task( - client, - resource_group_name, - service_name, - task_name, - task_type, - task_options_json): - - task_type = task_type.lower() - - task_options_json = get_file_or_parse_json(task_options_json, "task-options-json") - - task_properties = get_service_task_properties(task_options_json, - task_type) - - return client.create_or_update(group_name=resource_group_name, - service_name=service_name, - task_name=task_name, - properties=task_properties) -# endregion - - # region Helper Methods def get_project_platforms(cmd, project_name, service_name, resource_group_name): client = dms_cf_projects(cmd.cli_ctx) @@ -356,8 +323,7 @@ def extension_handles_scenario( ScenarioType.mysql_azuremysql_online, ScenarioType.postgres_azurepostgres_online, ScenarioType.mongo_mongo_offline, - ScenarioType.mongo_mongo_online, - ScenarioType.oracle_azurepostgres_online] + ScenarioType.mongo_mongo_online] return get_scenario_type(source_platform, target_platform, task_type) in ExtensionScenarioTypes @@ -381,15 +347,15 @@ def transform_json_inputs( return (source_connection_info, target_connection_info, database_options_json) -def get_file_or_parse_json(value, value_type): +def get_file_or_parse_json(value, vtype): if os.path.exists(value): return get_file_json(value) # Test if provided value is a valid json try: json_parse = shell_safe_json_parse(value) - except: - raise CLIError("The supplied input for '" + value_type + "' is not a valid file path or a valid json object.") + except Exception as e: + raise CLIError("The supplied input for '" + vtype + "' is not a valid file path or a valid json object.") from e else: return json_parse @@ -433,12 +399,6 @@ def create_connection(connection_info_json, prompt_prefix, typeOfInfo): user_name=user_name, password=password) - if "oracle" in typeOfInfo: - data_source = connection_info_json['dataSource'] - return OracleConnectionInfo(user_name=user_name, - password=password, - data_source=data_source) - # If no match, Pass the connection info through return connection_info_json @@ -460,9 +420,6 @@ def get_task_migration_properties( elif "mongo_mongo" in st.name: TaskProperties = MigrateMongoDbTaskProperties GetInput = get_mongo_to_mongo_input - elif "oracle_azurepostgres" in st.name: - TaskProperties = MigrateOracleAzureDbForPostgreSqlSyncTaskProperties - GetInput = get_migrate_oracle_to_azuredbforpostgresql_sync_input else: raise CLIError("The supplied source, target, and task type is not supported for migration.") @@ -494,28 +451,6 @@ def get_task_validation_properties( target_connection_info) -def get_service_task_properties( - task_options_json, - task_type): - if task_type == "checkocidriver": - input_func = get_check_oci_driver_input - task_properties_type = CheckOCIDriverTaskProperties - elif task_type == "uploadocidriver": - input_func = get_upload_oci_driver_input - task_properties_type = UploadOCIDriverTaskProperties - elif task_type == "installocidriver": - input_func = get_install_oci_driver_input - task_properties_type = InstallOCIDriverTaskProperties - else: - raise CLIError("The supplied service task type is not supported.") - - return get_task_properties(input_func, - task_properties_type, - task_options_json, - None, - None) - - def get_task_properties(input_func, task_properties_type, options_json, @@ -568,10 +503,6 @@ def get_scenario_type(source_platform, target_platform, task_type=""): elif source_platform == "mongodb" and target_platform == "mongodb": scenario_type = ScenarioType.mongo_mongo_validation if "validation" in task_type else \ ScenarioType.mongo_mongo_online if "online" in task_type else ScenarioType.mongo_mongo_offline - elif source_platform == "oracle" and target_platform == "azuredbforpostgresql": - # Allow a project to be created for Oracle to PGSQL even though no task type is passed in - scenario_type = ScenarioType.oracle_azurepostgres_online if "online" in task_type or not task_type else \ - ScenarioType.oracle_azurepostgres_offline else: scenario_type = ScenarioType.unknown @@ -605,8 +536,5 @@ class ScenarioType(Enum): mongo_mongo_offline = 40 mongo_mongo_online = 41 mongo_mongo_validation = 42 - # Oracle to Azure for PostgreSQL - oracle_azurepostgres_offline = 43 - oracle_azurepostgres_online = 44 # endregion diff --git a/src/dms-preview/azext_dms/scenario_inputs.py b/src/dms-preview/azext_dms/scenario_inputs.py index 91a974dc324..9272b5bce7c 100644 --- a/src/dms-preview/azext_dms/scenario_inputs.py +++ b/src/dms-preview/azext_dms/scenario_inputs.py @@ -3,20 +3,12 @@ # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- -from knack.util import CLIError -from knack.prompting import prompt, prompt_pass from azext_dms.vendored_sdks.datamigration.models import (MigrateMySqlAzureDbForMySqlSyncDatabaseInput, MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput, MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseTableInput, MigrateMySqlAzureDbForMySqlSyncTaskInput, MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput, - MongoDbMigrationSettings, - MigrateOracleAzureDbPostgreSqlSyncDatabaseInput, - MigrateOracleAzureDbPostgreSqlSyncTaskInput, - CheckOCIDriverTaskInput, - UploadOCIDriverTaskInput, - InstallOCIDriverTaskInput, - FileShare) + MongoDbMigrationSettings) def get_migrate_mysql_to_azuredbformysql_sync_input(database_options_json, @@ -78,58 +70,3 @@ def get_mongo_to_mongo_input(database_options_json, boost_rus=database_options_json.get('boostRUs', 0), replication=database_options_json['replication'], throttling=database_options_json.get('throttling', None)) - - -def get_migrate_oracle_to_azuredbforpostgresql_sync_input(database_options_json, - source_connection_info, - target_connection_info): - database_options = [] - - for d in database_options_json: - case_manipulation = d.get('caseManipulation', None) - schema_name = d.get('schemaName', None) - table_map = d.get('tableMap', None) - - # Check that both schemaName and tableMap are not empty - if (not schema_name) and (not table_map): - raise CLIError("Either schemaName or tableMap must be provided.") - # Check that caseManipulation is not present if tableMap is provided - if case_manipulation and table_map is not None: - raise CLIError("When providing tableMap, caseManipulation can not be defined.") - # Check that schemaName and tableMap are not both provided - if schema_name and table_map: - raise CLIError("Only provide either schemaName or tableMap to define the scope of migration. Not both.") - - database_options.append(MigrateOracleAzureDbPostgreSqlSyncDatabaseInput( - case_manipulation=case_manipulation if case_manipulation else None, - # This is the pipe name required for Attunity but does not need to be input by user. - name=schema_name if schema_name else d.get('targetDatabaseName', 'CliPipeName'), - schema_name=schema_name if schema_name else None, - table_map=table_map if table_map else None, - target_database_name=d.get('targetDatabaseName', None), - migration_setting=d.get('migrationSetting', None), - source_setting=d.get('sourceSetting', None), - target_setting=d.get('targetSetting', None))) - - return MigrateOracleAzureDbPostgreSqlSyncTaskInput(source_connection_info=source_connection_info, - target_connection_info=target_connection_info, - selected_databases=database_options) - - -def get_check_oci_driver_input(task_options_json): - server_version = task_options_json.get('serverVersion', None) - return CheckOCIDriverTaskInput(server_version=server_version) - - -def get_upload_oci_driver_input(task_options_json): - driver_path = task_options_json.get('ociDriverPath', None) - user_name = task_options_json.get('userName', None) or prompt('Share Path Username: ') - password = task_options_json.get('password', None) or prompt_pass(msg='Share Path Password: ') - return UploadOCIDriverTaskInput(driver_share=FileShare(path=driver_path, - user_name=user_name, - password=password)) - - -def get_install_oci_driver_input(task_options_json): - driver_package_name = task_options_json.get('ociDriverPackageName', None) - return InstallOCIDriverTaskInput(driver_package_name=driver_package_name) diff --git a/src/dms-preview/azext_dms/vendored_sdks/datamigration/models/__init__.py b/src/dms-preview/azext_dms/vendored_sdks/datamigration/models/__init__.py index e9b2872e980..dd67362a1f2 100644 --- a/src/dms-preview/azext_dms/vendored_sdks/datamigration/models/__init__.py +++ b/src/dms-preview/azext_dms/vendored_sdks/datamigration/models/__init__.py @@ -27,9 +27,6 @@ from ._models_py3 import ConnectToSourceMySqlTaskInput from ._models_py3 import ConnectToSourceMySqlTaskProperties from ._models_py3 import ConnectToSourceNonSqlTaskOutput - from ._models_py3 import ConnectToSourceOracleSyncTaskInput - from ._models_py3 import ConnectToSourceOracleSyncTaskOutput - from ._models_py3 import ConnectToSourceOracleSyncTaskProperties from ._models_py3 import ConnectToSourcePostgreSqlSyncTaskInput from ._models_py3 import ConnectToSourcePostgreSqlSyncTaskOutput from ._models_py3 import ConnectToSourcePostgreSqlSyncTaskProperties @@ -47,10 +44,6 @@ from ._models_py3 import ConnectToTargetAzureDbForPostgreSqlSyncTaskInput from ._models_py3 import ConnectToTargetAzureDbForPostgreSqlSyncTaskOutput from ._models_py3 import ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties - from ._models_py3 import ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput - from ._models_py3 import ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutput - from ._models_py3 import ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutputDatabaseSchemaMapItem - from ._models_py3 import ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskProperties from ._models_py3 import ConnectToTargetSqlDbTaskInput from ._models_py3 import ConnectToTargetSqlDbTaskOutput from ._models_py3 import ConnectToTargetSqlDbTaskProperties @@ -83,9 +76,6 @@ from ._models_py3 import GetTdeCertificatesSqlTaskInput from ._models_py3 import GetTdeCertificatesSqlTaskOutput from ._models_py3 import GetTdeCertificatesSqlTaskProperties - from ._models_py3 import GetUserTablesOracleTaskInput - from ._models_py3 import GetUserTablesOracleTaskOutput - from ._models_py3 import GetUserTablesOracleTaskProperties from ._models_py3 import GetUserTablesPostgreSqlTaskInput from ._models_py3 import GetUserTablesPostgreSqlTaskOutput from ._models_py3 import GetUserTablesPostgreSqlTaskProperties @@ -111,15 +101,6 @@ from ._models_py3 import MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel from ._models_py3 import MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel from ._models_py3 import MigrateMySqlAzureDbForMySqlSyncTaskProperties - from ._models_py3 import MigrateOracleAzureDbForPostgreSqlSyncTaskProperties - from ._models_py3 import MigrateOracleAzureDbPostgreSqlSyncDatabaseInput - from ._models_py3 import MigrateOracleAzureDbPostgreSqlSyncTaskInput - from ._models_py3 import MigrateOracleAzureDbPostgreSqlSyncTaskOutput - from ._models_py3 import MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseError - from ._models_py3 import MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseLevel - from ._models_py3 import MigrateOracleAzureDbPostgreSqlSyncTaskOutputError - from ._models_py3 import MigrateOracleAzureDbPostgreSqlSyncTaskOutputMigrationLevel - from ._models_py3 import MigrateOracleAzureDbPostgreSqlSyncTaskOutputTableLevel from ._models_py3 import MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput from ._models_py3 import MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseTableInput from ._models_py3 import MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput @@ -217,8 +198,6 @@ from ._models_py3 import NonSqlMigrationTaskInput from ._models_py3 import NonSqlMigrationTaskOutput from ._models_py3 import ODataError - from ._models_py3 import OracleConnectionInfo - from ._models_py3 import OracleOCIDriverInfo from ._models_py3 import OrphanedUserInfo from ._models_py3 import PostgreSqlConnectionInfo from ._models_py3 import Project @@ -263,8 +242,6 @@ from ._models_py3 import ValidateMigrationInputSqlServerSqlMITaskOutput from ._models_py3 import ValidateMigrationInputSqlServerSqlMITaskProperties from ._models_py3 import ValidateMongoDbTaskProperties - from ._models_py3 import ValidateOracleAzureDbForPostgreSqlSyncTaskProperties - from ._models_py3 import ValidateOracleAzureDbPostgreSqlSyncTaskOutput from ._models_py3 import ValidateSyncMigrationInputSqlServerTaskInput from ._models_py3 import ValidateSyncMigrationInputSqlServerTaskOutput from ._models_py3 import ValidationError @@ -287,9 +264,6 @@ from ._models import ConnectToSourceMySqlTaskInput from ._models import ConnectToSourceMySqlTaskProperties from ._models import ConnectToSourceNonSqlTaskOutput - from ._models import ConnectToSourceOracleSyncTaskInput - from ._models import ConnectToSourceOracleSyncTaskOutput - from ._models import ConnectToSourceOracleSyncTaskProperties from ._models import ConnectToSourcePostgreSqlSyncTaskInput from ._models import ConnectToSourcePostgreSqlSyncTaskOutput from ._models import ConnectToSourcePostgreSqlSyncTaskProperties @@ -307,10 +281,6 @@ from ._models import ConnectToTargetAzureDbForPostgreSqlSyncTaskInput from ._models import ConnectToTargetAzureDbForPostgreSqlSyncTaskOutput from ._models import ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties - from ._models import ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput - from ._models import ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutput - from ._models import ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutputDatabaseSchemaMapItem - from ._models import ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskProperties from ._models import ConnectToTargetSqlDbTaskInput from ._models import ConnectToTargetSqlDbTaskOutput from ._models import ConnectToTargetSqlDbTaskProperties @@ -343,9 +313,6 @@ from ._models import GetTdeCertificatesSqlTaskInput from ._models import GetTdeCertificatesSqlTaskOutput from ._models import GetTdeCertificatesSqlTaskProperties - from ._models import GetUserTablesOracleTaskInput - from ._models import GetUserTablesOracleTaskOutput - from ._models import GetUserTablesOracleTaskProperties from ._models import GetUserTablesPostgreSqlTaskInput from ._models import GetUserTablesPostgreSqlTaskOutput from ._models import GetUserTablesPostgreSqlTaskProperties @@ -371,15 +338,6 @@ from ._models import MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel from ._models import MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel from ._models import MigrateMySqlAzureDbForMySqlSyncTaskProperties - from ._models import MigrateOracleAzureDbForPostgreSqlSyncTaskProperties - from ._models import MigrateOracleAzureDbPostgreSqlSyncDatabaseInput - from ._models import MigrateOracleAzureDbPostgreSqlSyncTaskInput - from ._models import MigrateOracleAzureDbPostgreSqlSyncTaskOutput - from ._models import MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseError - from ._models import MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseLevel - from ._models import MigrateOracleAzureDbPostgreSqlSyncTaskOutputError - from ._models import MigrateOracleAzureDbPostgreSqlSyncTaskOutputMigrationLevel - from ._models import MigrateOracleAzureDbPostgreSqlSyncTaskOutputTableLevel from ._models import MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput from ._models import MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseTableInput from ._models import MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput @@ -477,8 +435,6 @@ from ._models import NonSqlMigrationTaskInput from ._models import NonSqlMigrationTaskOutput from ._models import ODataError - from ._models import OracleConnectionInfo - from ._models import OracleOCIDriverInfo from ._models import OrphanedUserInfo from ._models import PostgreSqlConnectionInfo from ._models import Project @@ -523,8 +479,6 @@ from ._models import ValidateMigrationInputSqlServerSqlMITaskOutput from ._models import ValidateMigrationInputSqlServerSqlMITaskProperties from ._models import ValidateMongoDbTaskProperties - from ._models import ValidateOracleAzureDbForPostgreSqlSyncTaskProperties - from ._models import ValidateOracleAzureDbPostgreSqlSyncTaskOutput from ._models import ValidateSyncMigrationInputSqlServerTaskInput from ._models import ValidateSyncMigrationInputSqlServerTaskOutput from ._models import ValidationError @@ -606,9 +560,6 @@ 'ConnectToSourceMySqlTaskInput', 'ConnectToSourceMySqlTaskProperties', 'ConnectToSourceNonSqlTaskOutput', - 'ConnectToSourceOracleSyncTaskInput', - 'ConnectToSourceOracleSyncTaskOutput', - 'ConnectToSourceOracleSyncTaskProperties', 'ConnectToSourcePostgreSqlSyncTaskInput', 'ConnectToSourcePostgreSqlSyncTaskOutput', 'ConnectToSourcePostgreSqlSyncTaskProperties', @@ -626,10 +577,6 @@ 'ConnectToTargetAzureDbForPostgreSqlSyncTaskInput', 'ConnectToTargetAzureDbForPostgreSqlSyncTaskOutput', 'ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties', - 'ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput', - 'ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutput', - 'ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskOutputDatabaseSchemaMapItem', - 'ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskProperties', 'ConnectToTargetSqlDbTaskInput', 'ConnectToTargetSqlDbTaskOutput', 'ConnectToTargetSqlDbTaskProperties', @@ -662,9 +609,6 @@ 'GetTdeCertificatesSqlTaskInput', 'GetTdeCertificatesSqlTaskOutput', 'GetTdeCertificatesSqlTaskProperties', - 'GetUserTablesOracleTaskInput', - 'GetUserTablesOracleTaskOutput', - 'GetUserTablesOracleTaskProperties', 'GetUserTablesPostgreSqlTaskInput', 'GetUserTablesPostgreSqlTaskOutput', 'GetUserTablesPostgreSqlTaskProperties', @@ -690,15 +634,6 @@ 'MigrateMySqlAzureDbForMySqlSyncTaskOutputMigrationLevel', 'MigrateMySqlAzureDbForMySqlSyncTaskOutputTableLevel', 'MigrateMySqlAzureDbForMySqlSyncTaskProperties', - 'MigrateOracleAzureDbForPostgreSqlSyncTaskProperties', - 'MigrateOracleAzureDbPostgreSqlSyncDatabaseInput', - 'MigrateOracleAzureDbPostgreSqlSyncTaskInput', - 'MigrateOracleAzureDbPostgreSqlSyncTaskOutput', - 'MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseError', - 'MigrateOracleAzureDbPostgreSqlSyncTaskOutputDatabaseLevel', - 'MigrateOracleAzureDbPostgreSqlSyncTaskOutputError', - 'MigrateOracleAzureDbPostgreSqlSyncTaskOutputMigrationLevel', - 'MigrateOracleAzureDbPostgreSqlSyncTaskOutputTableLevel', 'MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput', 'MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseTableInput', 'MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput', @@ -796,8 +731,6 @@ 'NonSqlMigrationTaskInput', 'NonSqlMigrationTaskOutput', 'ODataError', - 'OracleConnectionInfo', - 'OracleOCIDriverInfo', 'OrphanedUserInfo', 'PostgreSqlConnectionInfo', 'Project', @@ -842,8 +775,6 @@ 'ValidateMigrationInputSqlServerSqlMITaskOutput', 'ValidateMigrationInputSqlServerSqlMITaskProperties', 'ValidateMongoDbTaskProperties', - 'ValidateOracleAzureDbForPostgreSqlSyncTaskProperties', - 'ValidateOracleAzureDbPostgreSqlSyncTaskOutput', 'ValidateSyncMigrationInputSqlServerTaskInput', 'ValidateSyncMigrationInputSqlServerTaskOutput', 'ValidationError', diff --git a/src/dms-preview/setup.py b/src/dms-preview/setup.py index e6de907b28e..0df0a721e21 100644 --- a/src/dms-preview/setup.py +++ b/src/dms-preview/setup.py @@ -8,7 +8,7 @@ from codecs import open from setuptools import setup, find_packages -VERSION = "0.12.0" +VERSION = "0.13.0" CLASSIFIERS = [ 'Development Status :: 4 - Beta', diff --git a/src/service_name.json b/src/service_name.json index 7aa8ffac3d4..1aca3d20c18 100644 --- a/src/service_name.json +++ b/src/service_name.json @@ -124,6 +124,11 @@ "AzureServiceName": "Azure Virtual Machines", "URL": "https://docs.microsoft.com/azure/virtual-desktop/overview" }, + { + "Command": "az dms", + "AzureServiceName": "Azure Database Migration Service", + "URL": "https://docs.microsoft.com/en-us/azure/dms/" + }, { "Command": "az dt", "AzureServiceName": "Azure Digital Twins", From 2e418040dd6dc4003fb2e99dc8ccf597aa50b6dc Mon Sep 17 00:00:00 2001 From: Jenny So Date: Mon, 24 May 2021 18:48:46 -0700 Subject: [PATCH 36/83] [azure-cli-ml] Update version to 1.29.0 (#3417) * update azure-cli-ml version to 1.3.0 * Update url to use py2.py3 * update azure ml cli * correct metadata * update azureml version to 1.29.0 --- src/index.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/index.json b/src/index.json index 86cb846f3e8..408d9e5b598 100644 --- a/src/index.json +++ b/src/index.json @@ -4017,8 +4017,8 @@ ], "azure-cli-ml": [ { - "downloadUrl": "https://azurecliext.blob.core.windows.net/release/azure_cli_ml-1.28.0-py3-none-any.whl", - "filename": "azure_cli_ml-1.28.0-py3-none-any.whl", + "downloadUrl": "https://azurecliext.blob.core.windows.net/release/azure_cli_ml-1.29.0-py3-none-any.whl", + "filename": "azure_cli_ml-1.29.0-py3-none-any.whl", "metadata": { "azext.minCliCoreVersion": "2.3.1", "classifiers": [ @@ -4059,7 +4059,7 @@ { "requires": [ "adal (>=1.2.1)", - "azureml-cli-common (~=1.28.0)", + "azureml-cli-common (~=1.29.0)", "cryptography (<=3.3.2)", "docker (>=3.7.2)", "msrest (>=0.6.6)", @@ -4079,9 +4079,9 @@ ] } ], - "version": "1.28.0" + "version": "1.29.0" }, - "sha256Digest": "842123673e6e635114ba9e1894153437b4788ce875cf0e418720b9a7e1bfa08b" + "sha256Digest": "da655bfc3ad1d987465dd59742a232fbebde9f6c6262b0c5c7eba5e6b5d51b05" }, { "downloadUrl": "https://azurecliext.blob.core.windows.net/release/azure_cli_ml-1.5.0-py2.py3-none-any.whl", From 1c27b754d7cd04b31a86533dd0afe9a9b454a9c2 Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Tue, 25 May 2021 09:51:28 +0800 Subject: [PATCH 37/83] [Release] Update index.json for extension [ dms-preview ] (#3418) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=910417 Last commit: https://github.com/Azure/azure-cli-extensions/commit/fe49c3e87414a1893f1d127fa270b8eac55c8a26 --- src/index.json | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/src/index.json b/src/index.json index 408d9e5b598..c065d343051 100644 --- a/src/index.json +++ b/src/index.json @@ -8927,6 +8927,51 @@ "version": "0.12.0" }, "sha256Digest": "5e2fd9a8e413fd13a280fbba9964658a5569af2e49e802bd12116ec01e5dd0ae" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/dms_preview-0.13.0-py2.py3-none-any.whl", + "filename": "dms_preview-0.13.0-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.43", + "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": "arpavlic@microsoft.com", + "name": "Artyom Pavlichenko", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/dms-preview" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "dms-preview", + "summary": "Support for new Database Migration Service scenarios.", + "version": "0.13.0" + }, + "sha256Digest": "c7d127332825d5f93c83ecfb3c46e9415e3cb0e4cee2c953287918b02757bc0c" } ], "eventgrid": [ From 4d84aac709aad275c9f5522de71fc8b11d8298ac Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Tue, 25 May 2021 09:55:12 +0800 Subject: [PATCH 38/83] [Release] Update index.json for extension [ connectedk8s ] [ mesh ] [ db-up ] [ k8s-extension ] [ aks-preview ] (#3405) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=904663 Last commit: https://github.com/Azure/azure-cli-extensions/commit/f19ddbead01323e7cc4c69ab2ab0d906aec8d9eb --- src/index.json | 244 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 244 insertions(+) diff --git a/src/index.json b/src/index.json index c065d343051..e58cd78f723 100644 --- a/src/index.json +++ b/src/index.json @@ -2874,6 +2874,49 @@ "version": "0.5.12" }, "sha256Digest": "9d7f0941b2e1e765cd48cee7b7502a035d65385ddce9d210ccdf6ef68519b4e4" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/aks_preview-0.5.13-py2.py3-none-any.whl", + "filename": "aks_preview-0.5.13-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.49", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/aks-preview" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "aks-preview", + "summary": "Provides a preview for upcoming AKS features", + "version": "0.5.13" + }, + "sha256Digest": "54409bfe6bc1b8c34183eea46624973cb6c53acf6b11b5665cc21b229da17156" } ], "alertsmanagement": [ @@ -6736,6 +6779,58 @@ "version": "1.1.3" }, "sha256Digest": "f0845d6b310c645327a648fc555acc52f02fa8ed31054fc056c7adb1a37e5f40" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/connectedk8s-1.1.4-py2.py3-none-any.whl", + "filename": "connectedk8s-1.1.4-py2.py3-none-any.whl", + "metadata": { + "azext.minCliCoreVersion": "2.16.0", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], + "description_content_type": "text/markdown", + "extensions": { + "python.details": { + "contacts": [ + { + "email": "k8connect@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/connectedk8s" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "connectedk8s", + "run_requires": [ + { + "requires": [ + "kubernetes (==11.0.0)", + "pycryptodome (==3.9.8)" + ] + } + ], + "summary": "Microsoft Azure Command-Line Tools Connectedk8s Extension", + "version": "1.1.4" + }, + "sha256Digest": "b2e51c6c0b459500e9360c7dd091227369b28f39ee0a6629e322162c0d584070" } ], "connectedmachine": [ @@ -8609,6 +8704,59 @@ "version": "0.2.2" }, "sha256Digest": "1b5f67a7f0e0ed8e26fe86d226e697a4a5832fc9e7d72b19b9142cc06f6569c3" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/db_up-0.2.3-py2.py3-none-any.whl", + "filename": "db_up-0.2.3-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.46", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/db-up" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "db-up", + "run_requires": [ + { + "requires": [ + "Cython (==0.29.17)", + "mysql-connector-python (==8.0.14)", + "psycopg2-binary (==2.8.5)" + ] + } + ], + "summary": "Additional commands to simplify Azure Database workflows.", + "version": "0.2.3" + }, + "sha256Digest": "127f777b123c5829e728aef0e4bb0998d680d37510a1b402fec8caa233e5fdd8" } ], "deploy-to-azure": [ @@ -11438,6 +11586,49 @@ "version": "0.4.0" }, "sha256Digest": "5987336827718cc5a2aefbee33226cc66574b5767644f8fd48016883a2e9f997" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/k8s_extension-0.4.1-py3-none-any.whl", + "filename": "k8s_extension-0.4.1-py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.15.0", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "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": "k8s-extension", + "summary": "Microsoft Azure Command-Line Tools K8s-extension Extension", + "version": "0.4.1" + }, + "sha256Digest": "10d2318f7998c5bfee637141ab89581a974893a0f062d9dc55ae5c2cc9f9b4ab" } ], "k8sconfiguration": [ @@ -12640,6 +12831,59 @@ "version": "0.10.6" }, "sha256Digest": "07b6356cd15294c0bc0b31cfde1cdb2b92516b00728980d7a53557bb49273842" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/mesh-0.10.7-py2.py3-none-any.whl", + "filename": "mesh-0.10.7-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.67", + "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": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/mesh" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "mesh", + "run_requires": [ + { + "requires": [ + "sfmergeutility (==0.1.6)" + ] + } + ], + "summary": "Support for Microsoft Azure Service Fabric Mesh - Public Preview", + "version": "0.10.7" + }, + "sha256Digest": "9433191eba661716d5f42fd53dcbc9c2711ec568ed444bfcd0fe3555a717fa0b" } ], "mixed-reality": [ From d9706313b084e64b311dcc3959c2447b44d5e6f4 Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Tue, 25 May 2021 10:57:33 +0800 Subject: [PATCH 39/83] [Release] Update index.json for extension [ connectedk8s ] (#3419) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=908615 Last commit: https://github.com/Azure/azure-cli-extensions/commit/d74f2a87222685c77c99545cbeb6aa11c1ab689d Co-authored-by: Xing Zhou --- src/index.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/index.json b/src/index.json index e58cd78f723..68ad39f7509 100644 --- a/src/index.json +++ b/src/index.json @@ -6781,8 +6781,8 @@ "sha256Digest": "f0845d6b310c645327a648fc555acc52f02fa8ed31054fc056c7adb1a37e5f40" }, { - "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/connectedk8s-1.1.4-py2.py3-none-any.whl", - "filename": "connectedk8s-1.1.4-py2.py3-none-any.whl", + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/connectedk8s-1.1.5-py2.py3-none-any.whl", + "filename": "connectedk8s-1.1.5-py2.py3-none-any.whl", "metadata": { "azext.minCliCoreVersion": "2.16.0", "classifiers": [ @@ -6828,9 +6828,9 @@ } ], "summary": "Microsoft Azure Command-Line Tools Connectedk8s Extension", - "version": "1.1.4" + "version": "1.1.5" }, - "sha256Digest": "b2e51c6c0b459500e9360c7dd091227369b28f39ee0a6629e322162c0d584070" + "sha256Digest": "41edf3789d85074f1159645c7257ac747709ea613c2c2c80a95cdfee92e36fa5" } ], "connectedmachine": [ From 4eae39d9775f4c38abb8a08dca7c392cee8a9429 Mon Sep 17 00:00:00 2001 From: kai ru <69238381+kairu-ms@users.noreply.github.com> Date: Tue, 25 May 2021 11:47:41 +0800 Subject: [PATCH 40/83] [Scheduled-query] support query placeholder for `--condition` argument. (#3357) * add query placeholder for condition * fix linter issues * update error --- src/scheduled-query/HISTORY.rst | 5 + .../azext_scheduled_query/_actions.py | 22 +- .../azext_scheduled_query/_help.py | 11 +- .../azext_scheduled_query/_params.py | 3 +- .../azext_scheduled_query/azext_metadata.json | 2 +- .../azext_scheduled_query/custom.py | 33 +- .../recordings/test_scheduled_query.yaml | 376 +++++++++--------- .../latest/test_scheduled_query_scenario.py | 4 +- src/scheduled-query/setup.py | 2 +- 9 files changed, 243 insertions(+), 215 deletions(-) diff --git a/src/scheduled-query/HISTORY.rst b/src/scheduled-query/HISTORY.rst index df62ab1684a..a6fbcfb0a83 100644 --- a/src/scheduled-query/HISTORY.rst +++ b/src/scheduled-query/HISTORY.rst @@ -2,6 +2,11 @@ Release History =============== +0.3.0 +++++++ +* Support query placeholder for `--condition` parameter. +* Add `--condition-query` parameter to support query placeholder. + 0.2.2 ++++++ * Fix parse bug for `--condition` parameter. diff --git a/src/scheduled-query/azext_scheduled_query/_actions.py b/src/scheduled-query/azext_scheduled_query/_actions.py index 6c6b3534d74..9417edfb8eb 100644 --- a/src/scheduled-query/azext_scheduled_query/_actions.py +++ b/src/scheduled-query/azext_scheduled_query/_actions.py @@ -4,7 +4,7 @@ # -------------------------------------------------------------------------------------------- import argparse -from knack.util import CLIError +from azure.cli.core.azclierror import InvalidArgumentValueError # pylint: disable=protected-access, too-few-public-methods @@ -19,7 +19,7 @@ def __call__(self, parser, namespace, values, option_string=None): ScheduleQueryConditionLexer, ScheduleQueryConditionParser, ScheduleQueryConditionValidator) usage = 'usage error: --condition {avg,min,max,total,count} ["METRIC COLUMN" from]\n' \ - ' "QUERY" {=,!=,>,>=,<,<=} THRESHOLD\n' \ + ' "QUERY_PLACEHOLDER" {=,!=,>,>=,<,<=} THRESHOLD\n' \ ' [resource id RESOURCEID]\n' \ ' [where DIMENSION {includes,excludes} VALUE [or VALUE ...]\n' \ ' [and DIMENSION {includes,excludes} VALUE [or VALUE ...] ...]]\n' \ @@ -38,15 +38,29 @@ def __call__(self, parser, namespace, values, option_string=None): scheduled_query_condition = validator.result() for item in ['time_aggregation', 'threshold', 'operator']: if not getattr(scheduled_query_condition, item, None): - raise CLIError(usage) + raise InvalidArgumentValueError(usage) except (AttributeError, TypeError, KeyError): - raise CLIError(usage) + raise InvalidArgumentValueError(usage) super(ScheduleQueryConditionAction, self).__call__(parser, namespace, scheduled_query_condition, option_string) +class ScheduleQueryConditionQueryAction(argparse.Action): + + def __call__(self, parser, namespace, values, option_string=None): + condition_query = getattr(namespace, self.dest, None) + if condition_query is None: + condition_query = dict() + for x in values: + k, v = x.split('=', 1) + if k in condition_query: + raise InvalidArgumentValueError('Repeated definition of query placeholder "{}"'.format(k)) + condition_query[k] = v + setattr(namespace, self.dest, condition_query) + + # pylint: disable=protected-access, too-few-public-methods class ScheduleQueryAddAction(argparse._AppendAction): diff --git a/src/scheduled-query/azext_scheduled_query/_help.py b/src/scheduled-query/azext_scheduled_query/_help.py index ac5270a9aac..f68aa7f4dbc 100644 --- a/src/scheduled-query/azext_scheduled_query/_help.py +++ b/src/scheduled-query/azext_scheduled_query/_help.py @@ -26,18 +26,18 @@ short-summary: The condition which triggers the rule. long-summary: | Usage: --condition {avg,min,max,total,count} ["METRIC COLUMN" from] - "QUERY" {=,!=,>,>=,<,<=} THRESHOLD + "QUERY_PLACEHOLDER" {=,!=,>,>=,<,<=} THRESHOLD [resource id RESOURCEID] [where DIMENSION {includes,excludes} VALUE [or VALUE ...] [and DIMENSION {includes,excludes} VALUE [or VALUE ...] ...]] [at least MinTimeToFail violations out of EvaluationPeriod aggregated points]' - + Query placeholders can be defined in --condition-query argument Dimensions can be queried by adding the 'where' keyword and multiple dimensions can be queried by combining them with the 'and' keyword. examples: - name: Create a scheduled query for a VM. - text: az monitor scheduled-query create -g {rg} -n {name1} --scopes {vm_id} --condition "count 'union Event, Syslog | where TimeGenerated > ago(1h) | where EventLevelName==\\'Error\\' or SeverityLevel==\\'err\\'' > 360 resource id _ResourceID at least 1 violations out of 5 aggregated points" --description "Test rule" + text: az monitor scheduled-query create -g {rg} -n {name1} --scopes {vm_id} --condition "count 'Placeholder_1' > 360 resource id _ResourceID at least 1 violations out of 5 aggregated points" --condition-query Placeholder_1="union Event, Syslog | where TimeGenerated > ago(1h) | where EventLevelName=='Error' or SeverityLevel=='err'" --description "Test rule" - name: Create a scheduled query for VMs in a resource group. - text: az monitor scheduled-query create -g {rg} -n {name1} --scopes {rg_id} --condition "count 'union Event, Syslog | where TimeGenerated > ago(1h) | where EventLevelName==\\'Error\\' or SeverityLevel==\\'err\\'' > 360 resource id _ResourceID at least 1 violations out of 5 aggregated points" --description "Test rule" + text: az monitor scheduled-query create -g {rg} -n {name1} --scopes {rg_id} --condition "count 'Placeholder_1' > 360 resource id _ResourceID at least 1 violations out of 5 aggregated points" --condition-query Placeholder_1="union Event, Syslog | where TimeGenerated > ago(1h) | where EventLevelName=='Error' or SeverityLevel=='err'" --description "Test rule" """ helps['monitor scheduled-query update'] = """ @@ -54,12 +54,13 @@ short-summary: The condition which triggers the rule. long-summary: | Usage: --condition {avg,min,max,total,count} ["METRIC COLUMN" from] - "QUERY" {=,!=,>,>=,<,<=} THRESHOLD + "QUERY_PLACEHOLDER" {=,!=,>,>=,<,<=} THRESHOLD [resource id RESOURCEID] [where DIMENSION {includes,excludes} VALUE [or VALUE ...] [and DIMENSION {includes,excludes} VALUE [or VALUE ...] ...]] [at least MinTimeToFail violations out of EvaluationPeriod aggregated points]' + Query placeholders can be defined in --condition-query argument Dimensions can be queried by adding the 'where' keyword and multiple dimensions can be queried by combining them with the 'and' keyword. """ diff --git a/src/scheduled-query/azext_scheduled_query/_params.py b/src/scheduled-query/azext_scheduled_query/_params.py index 1dec815e934..6ac9b1c3d79 100644 --- a/src/scheduled-query/azext_scheduled_query/_params.py +++ b/src/scheduled-query/azext_scheduled_query/_params.py @@ -8,7 +8,7 @@ from azure.cli.command_modules.monitor.actions import get_period_type from azure.cli.command_modules.monitor.validators import get_action_group_validator from knack.arguments import CLIArgumentType -from ._actions import ScheduleQueryConditionAction, ScheduleQueryAddAction +from ._actions import ScheduleQueryConditionAction, ScheduleQueryAddAction, ScheduleQueryConditionQueryAction def load_arguments(self, _): @@ -24,6 +24,7 @@ def load_arguments(self, _): c.argument('window_size', type=get_period_type(), help='Time over which to aggregate metrics in "##h##m##s" format.') c.argument('evaluation_frequency', type=get_period_type(), help='Frequency with which to evaluate the rule in "##h##m##s" format.') c.argument('condition', options_list=['--condition'], action=ScheduleQueryConditionAction, nargs='+') + c.argument('condition_query', options_list=['--condition-query'], nargs='+', action=ScheduleQueryConditionQueryAction, help='Query deteils to replace the placeholders in `--condition` argument.') c.argument('description', help='Free-text description of the rule.') c.argument('scopes', nargs='+', help='Space-separated list of scopes the rule applies to. ' 'The resources specified in this parameter must be of the same type and exist in the same location.') diff --git a/src/scheduled-query/azext_scheduled_query/azext_metadata.json b/src/scheduled-query/azext_scheduled_query/azext_metadata.json index 55c81bf3328..640bda639f8 100644 --- a/src/scheduled-query/azext_scheduled_query/azext_metadata.json +++ b/src/scheduled-query/azext_scheduled_query/azext_metadata.json @@ -1,4 +1,4 @@ { "azext.isPreview": true, - "azext.minCliCoreVersion": "2.0.67" + "azext.minCliCoreVersion": "2.20.0" } \ No newline at end of file diff --git a/src/scheduled-query/azext_scheduled_query/custom.py b/src/scheduled-query/azext_scheduled_query/custom.py index 766985c1024..105eaaa40a1 100644 --- a/src/scheduled-query/azext_scheduled_query/custom.py +++ b/src/scheduled-query/azext_scheduled_query/custom.py @@ -3,17 +3,17 @@ # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- +from azure.cli.core.azclierror import InvalidArgumentValueError -def create_scheduled_query(client, resource_group_name, rule_name, scopes, condition, - disabled=False, description=None, tags=None, location=None, - actions=None, severity=2, window_size='5m', evaluation_frequency='5m', - target_resource_type=None, mute_actions_duration='PT30M'): - from .vendored_sdks.azure_mgmt_scheduled_query.models import (ScheduledQueryRuleResource, - ScheduledQueryRuleCriteria, - ConditionFailingPeriods) - from knack.util import CLIError +def _build_criteria(condition, condition_query): + from .vendored_sdks.azure_mgmt_scheduled_query.models import (ScheduledQueryRuleCriteria, + ConditionFailingPeriods) for cond in condition: + if condition_query and cond.query in condition_query: + # replace query placeholder + placeholder = cond.query + cond.query = condition_query[placeholder] if cond.failing_periods is None: cond.failing_periods = ConditionFailingPeriods( min_failing_periods_to_alert=1, @@ -21,9 +21,16 @@ def create_scheduled_query(client, resource_group_name, rule_name, scopes, condi ) else: if cond.failing_periods.min_failing_periods_to_alert > cond.failing_periods.number_of_evaluation_periods: - raise CLIError('EvaluationPeriod must be greater than or equals to MinTimeToFail.') - criteria = ScheduledQueryRuleCriteria(all_of=condition) + raise InvalidArgumentValueError('EvaluationPeriod must be greater than or equals to MinTimeToFail.') + return ScheduledQueryRuleCriteria(all_of=condition) + +def create_scheduled_query(client, resource_group_name, rule_name, scopes, condition, condition_query=None, + disabled=False, description=None, tags=None, location=None, + actions=None, severity=2, window_size='5m', evaluation_frequency='5m', + target_resource_type=None, mute_actions_duration='PT30M'): + from .vendored_sdks.azure_mgmt_scheduled_query.models import ScheduledQueryRuleResource + criteria = _build_criteria(condition, condition_query) kwargs = { 'description': description, 'severity': severity, @@ -47,10 +54,9 @@ def list_scheduled_query(client, resource_group_name=None): return client.list_by_subscription() -def update_scheduled_query(cmd, instance, tags=None, disabled=False, condition=None, +def update_scheduled_query(cmd, instance, tags=None, disabled=False, condition=None, condition_query=None, description=None, actions=None, severity=None, window_size=None, evaluation_frequency=None, mute_actions_duration=None): - from .vendored_sdks.azure_mgmt_scheduled_query.models import ScheduledQueryRuleCriteria with cmd.update_context(instance) as c: c.set_param('tags', tags) c.set_param('enabled', not disabled) @@ -61,5 +67,6 @@ def update_scheduled_query(cmd, instance, tags=None, disabled=False, condition=N c.set_param('evaluation_frequency', evaluation_frequency) c.set_param('mute_actions_duration', mute_actions_duration) if condition is not None: - c.set_param('criteria', ScheduledQueryRuleCriteria(all_of=condition)) + criteria = _build_criteria(condition, condition_query) + c.set_param('criteria', criteria) return instance diff --git a/src/scheduled-query/azext_scheduled_query/tests/latest/recordings/test_scheduled_query.yaml b/src/scheduled-query/azext_scheduled_query/tests/latest/recordings/test_scheduled_query.yaml index 245ab860a51..be1245d07f1 100644 --- a/src/scheduled-query/azext_scheduled_query/tests/latest/recordings/test_scheduled_query.yaml +++ b/src/scheduled-query/azext_scheduled_query/tests/latest/recordings/test_scheduled_query.yaml @@ -13,15 +13,15 @@ interactions: ParameterSetName: - -n -g --image --nsg-rule --workspace --generate-ssh-keys User-Agent: - - python/3.7.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.20.0 + - python/3.8.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-resource/12.1.0 Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001","name":"cli_test_scheduled_query000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"product":"azurecli","cause":"automation","date":"2021-03-05T02:30:58Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001","name":"cli_test_scheduled_query000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"product":"azurecli","cause":"automation","date":"2021-05-11T08:22:37Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -30,7 +30,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 05 Mar 2021 02:31:03 GMT + - Tue, 11 May 2021 08:22:52 GMT expires: - '-1' pragma: @@ -109,13 +109,13 @@ interactions: content-type: - text/plain; charset=utf-8 date: - - Fri, 05 Mar 2021 02:31:04 GMT + - Tue, 11 May 2021 08:22:54 GMT etag: - W/"540044b4084c3c314537f1baa1770f248628b2bc9ba0328f1004c33862e049da" expires: - - Fri, 05 Mar 2021 02:36:04 GMT + - Tue, 11 May 2021 08:27:54 GMT source-age: - - '219' + - '238' strict-transport-security: - max-age=31536000 vary: @@ -129,15 +129,15 @@ interactions: x-content-type-options: - nosniff x-fastly-request-id: - - f13b5325d61d896628daf6c3cd2755f5bfe93685 + - 8a9546ec894cdb2b259b3f6562c06f0b7542e75e x-frame-options: - deny x-github-request-id: - - 0AFE:4EAF:DB72E:126C3E:603E2DD2 + - B36A:7C88:62E02:9064D:6099A780 x-served-by: - - cache-sin18039-SIN + - cache-qpg1235-QPG x-timer: - - S1614911464.396276,VS0,VE1 + - S1620721374.047238,VS0,VE1 x-xss-protection: - 1; mode=block status: @@ -157,7 +157,7 @@ interactions: ParameterSetName: - -n -g --image --nsg-rule --workspace --generate-ssh-keys User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-network/17.1.0 Python/3.7.8 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.8 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/virtualNetworks?api-version=2018-01-01 response: @@ -171,7 +171,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 05 Mar 2021 02:31:03 GMT + - Tue, 11 May 2021 08:22:54 GMT expires: - '-1' pragma: @@ -199,7 +199,7 @@ interactions: ParameterSetName: - -n -g --image --nsg-rule --workspace --generate-ssh-keys User-Agent: - - AZURECLI/2.20.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.7.8 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.8.8 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002?api-version=2020-08-01 response: @@ -215,7 +215,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 05 Mar 2021 02:31:04 GMT + - Tue, 11 May 2021 08:22:55 GMT expires: - '-1' pragma: @@ -243,15 +243,15 @@ interactions: ParameterSetName: - -n -g --image --nsg-rule --workspace --generate-ssh-keys User-Agent: - - python/3.7.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.20.0 + - python/3.8.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-resource/12.1.0 Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001","name":"cli_test_scheduled_query000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"product":"azurecli","cause":"automation","date":"2021-03-05T02:30:58Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001","name":"cli_test_scheduled_query000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"product":"azurecli","cause":"automation","date":"2021-05-11T08:22:37Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -260,7 +260,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 05 Mar 2021 02:31:05 GMT + - Tue, 11 May 2021 08:22:56 GMT expires: - '-1' pragma: @@ -294,34 +294,34 @@ interactions: ParameterSetName: - -n -g --image --nsg-rule --workspace --generate-ssh-keys User-Agent: - - AZURECLI/2.20.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.7.8 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.8.8 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002?api-version=2020-08-01 response: body: string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": - \"5025bf09-35d8-4984-881e-ede853634382\",\r\n \"provisioningState\": \"Creating\",\r\n - \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"maxCapacityReservationLevel\": - 3000,\r\n \"lastSkuUpdate\": \"Fri, 05 Mar 2021 02:31:15 GMT\"\r\n },\r\n - \ \"retentionInDays\": 30,\r\n \"features\": {\r\n \"legacy\": 0,\r\n - \ \"searchVersion\": 1,\r\n \"enableLogAccessUsingOnlyResourcePermissions\": - true\r\n },\r\n \"workspaceCapping\": {\r\n \"dailyQuotaGb\": -1.0,\r\n - \ \"quotaNextResetTime\": \"Fri, 05 Mar 2021 21:00:00 GMT\",\r\n \"dataIngestionStatus\": - \"RespectQuota\"\r\n },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n - \ \"publicNetworkAccessForQuery\": \"Enabled\",\r\n \"createdDate\": - \"Fri, 05 Mar 2021 02:31:15 GMT\",\r\n \"modifiedDate\": \"Fri, 05 Mar - 2021 02:31:15 GMT\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/microsoft.operationalinsights/workspaces/clitest000002\",\r\n + \"a3b4d136-26e9-4259-97fa-8c62b94586ee\",\r\n \"provisioningState\": \"Creating\",\r\n + \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"lastSkuUpdate\": + \"Tue, 11 May 2021 08:23:05 GMT\"\r\n },\r\n \"retentionInDays\": 30,\r\n + \ \"features\": {\r\n \"legacy\": 0,\r\n \"searchVersion\": 1,\r\n + \ \"enableLogAccessUsingOnlyResourcePermissions\": true\r\n },\r\n + \ \"workspaceCapping\": {\r\n \"dailyQuotaGb\": -1.0,\r\n \"quotaNextResetTime\": + \"Wed, 12 May 2021 04:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n + \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": + \"Enabled\",\r\n \"createdDate\": \"Tue, 11 May 2021 08:23:05 GMT\",\r\n + \ \"modifiedDate\": \"Tue, 11 May 2021 08:23:05 GMT\"\r\n },\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/microsoft.operationalinsights/workspaces/clitest000002\",\r\n \ \"name\": \"clitest000002\",\r\n \"type\": \"Microsoft.OperationalInsights/workspaces\",\r\n \ \"location\": \"eastus\"\r\n}" headers: cache-control: - no-cache content-length: - - '1177' + - '1133' content-type: - application/json date: - - Fri, 05 Mar 2021 02:31:16 GMT + - Tue, 11 May 2021 08:23:06 GMT pragma: - no-cache server: @@ -332,7 +332,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' x-powered-by: - ASP.NET - ASP.NET @@ -353,34 +353,34 @@ interactions: ParameterSetName: - -n -g --image --nsg-rule --workspace --generate-ssh-keys User-Agent: - - AZURECLI/2.20.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.7.8 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.8.8 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002?api-version=2020-08-01 response: body: string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": - \"5025bf09-35d8-4984-881e-ede853634382\",\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"maxCapacityReservationLevel\": - 3000,\r\n \"lastSkuUpdate\": \"Fri, 05 Mar 2021 02:31:15 GMT\"\r\n },\r\n - \ \"retentionInDays\": 30,\r\n \"features\": {\r\n \"legacy\": 0,\r\n - \ \"searchVersion\": 1,\r\n \"enableLogAccessUsingOnlyResourcePermissions\": - true\r\n },\r\n \"workspaceCapping\": {\r\n \"dailyQuotaGb\": -1.0,\r\n - \ \"quotaNextResetTime\": \"Fri, 05 Mar 2021 21:00:00 GMT\",\r\n \"dataIngestionStatus\": - \"RespectQuota\"\r\n },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n - \ \"publicNetworkAccessForQuery\": \"Enabled\",\r\n \"createdDate\": - \"Fri, 05 Mar 2021 02:31:15 GMT\",\r\n \"modifiedDate\": \"Fri, 05 Mar - 2021 02:31:16 GMT\"\r\n },\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/microsoft.operationalinsights/workspaces/clitest000002\",\r\n + \"a3b4d136-26e9-4259-97fa-8c62b94586ee\",\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"lastSkuUpdate\": + \"Tue, 11 May 2021 08:23:05 GMT\"\r\n },\r\n \"retentionInDays\": 30,\r\n + \ \"features\": {\r\n \"legacy\": 0,\r\n \"searchVersion\": 1,\r\n + \ \"enableLogAccessUsingOnlyResourcePermissions\": true\r\n },\r\n + \ \"workspaceCapping\": {\r\n \"dailyQuotaGb\": -1.0,\r\n \"quotaNextResetTime\": + \"Wed, 12 May 2021 04:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n + \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": + \"Enabled\",\r\n \"createdDate\": \"Tue, 11 May 2021 08:23:05 GMT\",\r\n + \ \"modifiedDate\": \"Tue, 11 May 2021 08:23:06 GMT\"\r\n },\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/microsoft.operationalinsights/workspaces/clitest000002\",\r\n \ \"name\": \"clitest000002\",\r\n \"type\": \"Microsoft.OperationalInsights/workspaces\",\r\n \ \"location\": \"eastus\"\r\n}" headers: cache-control: - no-cache content-length: - - '1178' + - '1134' content-type: - application/json date: - - Fri, 05 Mar 2021 02:31:46 GMT + - Tue, 11 May 2021 08:23:38 GMT pragma: - no-cache server: @@ -434,11 +434,11 @@ interactions: "storageProfile": {"osDisk": {"createOption": "fromImage", "name": null, "caching": "ReadWrite", "managedDisk": {"storageAccountType": null}}, "imageReference": {"publisher": "Canonical", "offer": "UbuntuServer", "sku": "18.04-LTS", "version": - "latest"}}, "osProfile": {"computerName": "myvm1", "adminUsername": "ychenu", + "latest"}}, "osProfile": {"computerName": "myvm1", "adminUsername": "kairu", "linuxConfiguration": {"disablePasswordAuthentication": true, "ssh": {"publicKeys": - [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDhfYdWlfbzcXs8Zuxh3KGsZelL3gA1x7WeulsPLYurH56EyCXG8BoLv6yyHJPOD/Cqx5Eydf0BkXXyiaD6dD27/TIRTOjSwTVH2zFZ+/ymatMBGtPnYX14hc0cFom2UDiuewibc7e/RKvUExI4Ci+HXGCtQCl9DkORHtddSNnrQ/NmOHYlfNzX4qhpvAog3XAF6DXPihFAgOTTGoIGnMVuXAbw3UPWvIdyXKG7j46qJalJb97DF5dx6ql4H64fm/HywdAXTZ/Tg95Zk61FD5JxKOnHV6IdqE87qjwZ+ICrNxqrPtJt+UgVY20ZJI3odLCg82Z0jGqjzbJKQNxDcJ2Z", - "path": "/home/ychenu/.ssh/authorized_keys"}]}}}}}], "outputs": {}}, "parameters": - {"workspaceId": {"value": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/microsoft.operationalinsights/workspaces/clitest000002"}}, + [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC/+4SveJW8Wn+vIMzgKgDIauOhF2XRwqR4RJSrjQX8qodZntJ49dQSuaPT0AweyDVPS9TPXCXeGZMN+H+Y54Xj0Mgriau+Y4jPi2mUMKW0R93T5/Y1285JdE1YuXtnv27Xgc1g1lIfHJ5luWOi3sfC47j3AZvhE1NE69alemjIcQCIWlU0SyoZM1K+5hO3mBmZhR4BwuMJO9ruWITXx1t1GAvJgu+xtJNcVXW1ryTt6PvYk1OU5pNyIyNEFxD1Hhw8qOJ/R/jNcZ9wcjnykSqOI/NzNczz3GG2tLdu8gWEBZrpXy4vu9FoSamu3k+ADE6ArH06RM40FaSCNSegivEI4Y6HAjy3svPEU6Y+WvuGUfr0Lphefi7tFHZaEW08U0e6ERmwpFLtfMRWfdhn30ZRtiFDF/Gi4psXuTNPQrGyqc+KgmwCxEIVue8a3TAAVTaoK1JZXA/08IcUGNdhl6INAfHxXbaS15ptTXkqhO3rVL2ambJt8GxU3UTTymq3P20= + kairu@microsoft.com\n", "path": "/home/kairu/.ssh/authorized_keys"}]}}}}}], + "outputs": {}}, "parameters": {"workspaceId": {"value": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/microsoft.operationalinsights/workspaces/clitest000002"}}, "mode": "Incremental"}}' headers: Accept: @@ -450,24 +450,24 @@ interactions: Connection: - keep-alive Content-Length: - - '4363' + - '4555' Content-Type: - application/json; charset=utf-8 ParameterSetName: - -n -g --image --nsg-rule --workspace --generate-ssh-keys User-Agent: - - python/3.7.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.20.0 + - python/3.8.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-resource/12.1.0 Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/mock-deployment?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/vm_deploy_erImujXcICAXLbONeKrNVrkb4rLcnmvi","name":"vm_deploy_erImujXcICAXLbONeKrNVrkb4rLcnmvi","type":"Microsoft.Resources/deployments","properties":{"templateHash":"4019922504862078165","parameters":{"workspaceId":{"type":"SecureString"}},"mode":"Incremental","provisioningState":"Accepted","timestamp":"2021-03-05T02:31:54.2928244Z","duration":"PT2.8602412S","correlationId":"7ff75789-9e52-4f51-914d-567b475750a6","providers":[{"namespace":"Microsoft.Network","resourceTypes":[{"resourceType":"virtualNetworks","locations":["eastus"]},{"resourceType":"networkSecurityGroups","locations":["eastus"]},{"resourceType":"publicIPAddresses","locations":["eastus"]},{"resourceType":"networkInterfaces","locations":["eastus"]}]},{"namespace":"Microsoft.Compute","resourceTypes":[{"resourceType":"virtualMachines/extensions","locations":["eastus"]},{"resourceType":"virtualMachines","locations":["eastus"]}]}],"dependencies":[{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/virtualNetworks/myvm1VNET","resourceType":"Microsoft.Network/virtualNetworks","resourceName":"myvm1VNET"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkSecurityGroups/myvm1NSG","resourceType":"Microsoft.Network/networkSecurityGroups","resourceName":"myvm1NSG"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/publicIPAddresses/myvm1PublicIP","resourceType":"Microsoft.Network/publicIPAddresses","resourceName":"myvm1PublicIP"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic","resourceType":"Microsoft.Network/networkInterfaces","resourceName":"myvm1VMNic"},{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1","resourceType":"Microsoft.Compute/virtualMachines","resourceName":"myvm1"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.operationalinsights/workspaces/clitest000002","resourceType":"microsoft.operationalinsights/workspaces","resourceName":"clitest000002","apiVersion":"2015-11-01-preview"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.operationalinsights/workspaces/clitest000002","resourceType":"microsoft.operationalinsights/workspaces","resourceName":"clitest000002","actionName":"listKeys","apiVersion":"2015-11-01-preview"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1/extensions/OmsAgentForLinux","resourceType":"Microsoft.Compute/virtualMachines/extensions","resourceName":"myvm1/OmsAgentForLinux"},{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic","resourceType":"Microsoft.Network/networkInterfaces","resourceName":"myvm1VMNic"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1","resourceType":"Microsoft.Compute/virtualMachines","resourceName":"myvm1"}]}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/vm_deploy_YB7PavudCAHaQ6DvCYcHzVAIelLgYtMs","name":"vm_deploy_YB7PavudCAHaQ6DvCYcHzVAIelLgYtMs","type":"Microsoft.Resources/deployments","properties":{"templateHash":"7403772704604296647","parameters":{"workspaceId":{"type":"SecureString"}},"mode":"Incremental","provisioningState":"Accepted","timestamp":"2021-05-11T08:23:44.0250583Z","duration":"PT2.9709929S","correlationId":"68c990f2-4fa9-468c-a451-44a37a292b2b","providers":[{"namespace":"Microsoft.Network","resourceTypes":[{"resourceType":"virtualNetworks","locations":["eastus"]},{"resourceType":"networkSecurityGroups","locations":["eastus"]},{"resourceType":"publicIPAddresses","locations":["eastus"]},{"resourceType":"networkInterfaces","locations":["eastus"]}]},{"namespace":"Microsoft.Compute","resourceTypes":[{"resourceType":"virtualMachines/extensions","locations":["eastus"]},{"resourceType":"virtualMachines","locations":["eastus"]}]}],"dependencies":[{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/virtualNetworks/myvm1VNET","resourceType":"Microsoft.Network/virtualNetworks","resourceName":"myvm1VNET"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkSecurityGroups/myvm1NSG","resourceType":"Microsoft.Network/networkSecurityGroups","resourceName":"myvm1NSG"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/publicIPAddresses/myvm1PublicIP","resourceType":"Microsoft.Network/publicIPAddresses","resourceName":"myvm1PublicIP"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic","resourceType":"Microsoft.Network/networkInterfaces","resourceName":"myvm1VMNic"},{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1","resourceType":"Microsoft.Compute/virtualMachines","resourceName":"myvm1"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.operationalinsights/workspaces/clitest000002","resourceType":"microsoft.operationalinsights/workspaces","resourceName":"clitest000002","apiVersion":"2015-11-01-preview"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.operationalinsights/workspaces/clitest000002","resourceType":"microsoft.operationalinsights/workspaces","resourceName":"clitest000002","actionName":"listKeys","apiVersion":"2015-11-01-preview"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1/extensions/OmsAgentForLinux","resourceType":"Microsoft.Compute/virtualMachines/extensions","resourceName":"myvm1/OmsAgentForLinux"},{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic","resourceType":"Microsoft.Network/networkInterfaces","resourceName":"myvm1VMNic"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1","resourceType":"Microsoft.Compute/virtualMachines","resourceName":"myvm1"}]}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/vm_deploy_erImujXcICAXLbONeKrNVrkb4rLcnmvi/operationStatuses/08585866953740450536?api-version=2020-10-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/vm_deploy_YB7PavudCAHaQ6DvCYcHzVAIelLgYtMs/operationStatuses/08585808854644235736?api-version=2020-10-01 cache-control: - no-cache content-length: @@ -475,7 +475,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 05 Mar 2021 02:31:55 GMT + - Tue, 11 May 2021 08:23:45 GMT expires: - '-1' pragma: @@ -485,7 +485,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 201 message: Created @@ -503,10 +503,10 @@ interactions: ParameterSetName: - -n -g --image --nsg-rule --workspace --generate-ssh-keys User-Agent: - - python/3.7.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.20.0 + - python/3.8.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-resource/12.1.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585866953740450536?api-version=2020-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585808854644235736?api-version=2020-10-01 response: body: string: '{"status":"Running"}' @@ -518,7 +518,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 05 Mar 2021 02:32:26 GMT + - Tue, 11 May 2021 08:24:16 GMT expires: - '-1' pragma: @@ -546,10 +546,10 @@ interactions: ParameterSetName: - -n -g --image --nsg-rule --workspace --generate-ssh-keys User-Agent: - - python/3.7.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.20.0 + - python/3.8.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-resource/12.1.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585866953740450536?api-version=2020-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585808854644235736?api-version=2020-10-01 response: body: string: '{"status":"Running"}' @@ -561,7 +561,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 05 Mar 2021 02:32:56 GMT + - Tue, 11 May 2021 08:24:47 GMT expires: - '-1' pragma: @@ -589,10 +589,10 @@ interactions: ParameterSetName: - -n -g --image --nsg-rule --workspace --generate-ssh-keys User-Agent: - - python/3.7.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.20.0 + - python/3.8.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-resource/12.1.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585866953740450536?api-version=2020-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585808854644235736?api-version=2020-10-01 response: body: string: '{"status":"Running"}' @@ -604,7 +604,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 05 Mar 2021 02:33:27 GMT + - Tue, 11 May 2021 08:25:18 GMT expires: - '-1' pragma: @@ -632,10 +632,10 @@ interactions: ParameterSetName: - -n -g --image --nsg-rule --workspace --generate-ssh-keys User-Agent: - - python/3.7.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.20.0 + - python/3.8.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-resource/12.1.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585866953740450536?api-version=2020-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585808854644235736?api-version=2020-10-01 response: body: string: '{"status":"Succeeded"}' @@ -647,7 +647,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 05 Mar 2021 02:33:57 GMT + - Tue, 11 May 2021 08:25:48 GMT expires: - '-1' pragma: @@ -675,22 +675,22 @@ interactions: ParameterSetName: - -n -g --image --nsg-rule --workspace --generate-ssh-keys User-Agent: - - python/3.7.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.20.0 + - python/3.8.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-resource/12.1.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/mock-deployment?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/vm_deploy_erImujXcICAXLbONeKrNVrkb4rLcnmvi","name":"vm_deploy_erImujXcICAXLbONeKrNVrkb4rLcnmvi","type":"Microsoft.Resources/deployments","properties":{"templateHash":"4019922504862078165","parameters":{"workspaceId":{"type":"SecureString"}},"mode":"Incremental","provisioningState":"Succeeded","timestamp":"2021-03-05T02:33:47.664566Z","duration":"PT1M56.2319828S","correlationId":"7ff75789-9e52-4f51-914d-567b475750a6","providers":[{"namespace":"Microsoft.Network","resourceTypes":[{"resourceType":"virtualNetworks","locations":["eastus"]},{"resourceType":"networkSecurityGroups","locations":["eastus"]},{"resourceType":"publicIPAddresses","locations":["eastus"]},{"resourceType":"networkInterfaces","locations":["eastus"]}]},{"namespace":"Microsoft.Compute","resourceTypes":[{"resourceType":"virtualMachines/extensions","locations":["eastus"]},{"resourceType":"virtualMachines","locations":["eastus"]}]}],"dependencies":[{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/virtualNetworks/myvm1VNET","resourceType":"Microsoft.Network/virtualNetworks","resourceName":"myvm1VNET"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkSecurityGroups/myvm1NSG","resourceType":"Microsoft.Network/networkSecurityGroups","resourceName":"myvm1NSG"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/publicIPAddresses/myvm1PublicIP","resourceType":"Microsoft.Network/publicIPAddresses","resourceName":"myvm1PublicIP"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic","resourceType":"Microsoft.Network/networkInterfaces","resourceName":"myvm1VMNic"},{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1","resourceType":"Microsoft.Compute/virtualMachines","resourceName":"myvm1"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.operationalinsights/workspaces/clitest000002","resourceType":"microsoft.operationalinsights/workspaces","resourceName":"clitest000002","apiVersion":"2015-11-01-preview"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.operationalinsights/workspaces/clitest000002","resourceType":"microsoft.operationalinsights/workspaces","resourceName":"clitest000002","actionName":"listKeys","apiVersion":"2015-11-01-preview"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1/extensions/OmsAgentForLinux","resourceType":"Microsoft.Compute/virtualMachines/extensions","resourceName":"myvm1/OmsAgentForLinux"},{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic","resourceType":"Microsoft.Network/networkInterfaces","resourceName":"myvm1VMNic"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1","resourceType":"Microsoft.Compute/virtualMachines","resourceName":"myvm1"}],"outputs":{},"outputResources":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1/extensions/OmsAgentForLinux"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkSecurityGroups/myvm1NSG"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/publicIPAddresses/myvm1PublicIP"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/virtualNetworks/myvm1VNET"}]}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/vm_deploy_YB7PavudCAHaQ6DvCYcHzVAIelLgYtMs","name":"vm_deploy_YB7PavudCAHaQ6DvCYcHzVAIelLgYtMs","type":"Microsoft.Resources/deployments","properties":{"templateHash":"7403772704604296647","parameters":{"workspaceId":{"type":"SecureString"}},"mode":"Incremental","provisioningState":"Succeeded","timestamp":"2021-05-11T08:25:22.7571793Z","duration":"PT1M41.7031139S","correlationId":"68c990f2-4fa9-468c-a451-44a37a292b2b","providers":[{"namespace":"Microsoft.Network","resourceTypes":[{"resourceType":"virtualNetworks","locations":["eastus"]},{"resourceType":"networkSecurityGroups","locations":["eastus"]},{"resourceType":"publicIPAddresses","locations":["eastus"]},{"resourceType":"networkInterfaces","locations":["eastus"]}]},{"namespace":"Microsoft.Compute","resourceTypes":[{"resourceType":"virtualMachines/extensions","locations":["eastus"]},{"resourceType":"virtualMachines","locations":["eastus"]}]}],"dependencies":[{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/virtualNetworks/myvm1VNET","resourceType":"Microsoft.Network/virtualNetworks","resourceName":"myvm1VNET"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkSecurityGroups/myvm1NSG","resourceType":"Microsoft.Network/networkSecurityGroups","resourceName":"myvm1NSG"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/publicIPAddresses/myvm1PublicIP","resourceType":"Microsoft.Network/publicIPAddresses","resourceName":"myvm1PublicIP"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic","resourceType":"Microsoft.Network/networkInterfaces","resourceName":"myvm1VMNic"},{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1","resourceType":"Microsoft.Compute/virtualMachines","resourceName":"myvm1"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.operationalinsights/workspaces/clitest000002","resourceType":"microsoft.operationalinsights/workspaces","resourceName":"clitest000002","apiVersion":"2015-11-01-preview"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.operationalinsights/workspaces/clitest000002","resourceType":"microsoft.operationalinsights/workspaces","resourceName":"clitest000002","actionName":"listKeys","apiVersion":"2015-11-01-preview"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1/extensions/OmsAgentForLinux","resourceType":"Microsoft.Compute/virtualMachines/extensions","resourceName":"myvm1/OmsAgentForLinux"},{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic","resourceType":"Microsoft.Network/networkInterfaces","resourceName":"myvm1VMNic"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1","resourceType":"Microsoft.Compute/virtualMachines","resourceName":"myvm1"}],"outputs":{},"outputResources":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1/extensions/OmsAgentForLinux"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkSecurityGroups/myvm1NSG"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/publicIPAddresses/myvm1PublicIP"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/virtualNetworks/myvm1VNET"}]}}' headers: cache-control: - no-cache content-length: - - '5532' + - '5533' content-type: - application/json; charset=utf-8 date: - - Fri, 05 Mar 2021 02:33:58 GMT + - Tue, 11 May 2021 08:25:49 GMT expires: - '-1' pragma: @@ -718,61 +718,61 @@ interactions: ParameterSetName: - -n -g --image --nsg-rule --workspace --generate-ssh-keys User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-compute/19.0.0 Python/3.7.8 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-compute/20.0.0 Python/3.8.8 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1?$expand=instanceView&api-version=2020-12-01 response: body: string: "{\r\n \"name\": \"myvm1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1\",\r\n \ \"type\": \"Microsoft.Compute/virtualMachines\",\r\n \"location\": \"eastus\",\r\n - \ \"tags\": {},\r\n \"properties\": {\r\n \"vmId\": \"f3155460-c991-4f76-95b7-c51518388cb4\",\r\n + \ \"tags\": {},\r\n \"properties\": {\r\n \"vmId\": \"e2544358-9c51-4f16-ba16-d82dbd1f2dbe\",\r\n \ \"hardwareProfile\": {\r\n \"vmSize\": \"Standard_DS1_v2\"\r\n },\r\n \ \"storageProfile\": {\r\n \"imageReference\": {\r\n \"publisher\": \"Canonical\",\r\n \"offer\": \"UbuntuServer\",\r\n \"sku\": \"18.04-LTS\",\r\n \"version\": \"latest\",\r\n \"exactVersion\": - \"18.04.202101290\"\r\n },\r\n \"osDisk\": {\r\n \"osType\": - \"Linux\",\r\n \"name\": \"myvm1_disk1_f69b5bc0ece748e1a75db9cc65e45cbe\",\r\n + \"18.04.202105080\"\r\n },\r\n \"osDisk\": {\r\n \"osType\": + \"Linux\",\r\n \"name\": \"myvm1_disk1_b97161f5cd574af3841bc5972fba3184\",\r\n \ \"createOption\": \"FromImage\",\r\n \"caching\": \"ReadWrite\",\r\n \ \"managedDisk\": {\r\n \"storageAccountType\": \"Premium_LRS\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/disks/myvm1_disk1_f69b5bc0ece748e1a75db9cc65e45cbe\"\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/disks/myvm1_disk1_b97161f5cd574af3841bc5972fba3184\"\r\n \ },\r\n \"diskSizeGB\": 30\r\n },\r\n \"dataDisks\": []\r\n },\r\n \"osProfile\": {\r\n \"computerName\": \"myvm1\",\r\n - \ \"adminUsername\": \"ychenu\",\r\n \"linuxConfiguration\": {\r\n + \ \"adminUsername\": \"kairu\",\r\n \"linuxConfiguration\": {\r\n \ \"disablePasswordAuthentication\": true,\r\n \"ssh\": {\r\n - \ \"publicKeys\": [\r\n {\r\n \"path\": \"/home/ychenu/.ssh/authorized_keys\",\r\n - \ \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDhfYdWlfbzcXs8Zuxh3KGsZelL3gA1x7WeulsPLYurH56EyCXG8BoLv6yyHJPOD/Cqx5Eydf0BkXXyiaD6dD27/TIRTOjSwTVH2zFZ+/ymatMBGtPnYX14hc0cFom2UDiuewibc7e/RKvUExI4Ci+HXGCtQCl9DkORHtddSNnrQ/NmOHYlfNzX4qhpvAog3XAF6DXPihFAgOTTGoIGnMVuXAbw3UPWvIdyXKG7j46qJalJb97DF5dx6ql4H64fm/HywdAXTZ/Tg95Zk61FD5JxKOnHV6IdqE87qjwZ+ICrNxqrPtJt+UgVY20ZJI3odLCg82Z0jGqjzbJKQNxDcJ2Z\"\r\n - \ }\r\n ]\r\n },\r\n \"provisionVMAgent\": - true,\r\n \"patchSettings\": {\r\n \"patchMode\": \"ImageDefault\"\r\n - \ }\r\n },\r\n \"secrets\": [],\r\n \"allowExtensionOperations\": + \ \"publicKeys\": [\r\n {\r\n \"path\": \"/home/kairu/.ssh/authorized_keys\",\r\n + \ \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC/+4SveJW8Wn+vIMzgKgDIauOhF2XRwqR4RJSrjQX8qodZntJ49dQSuaPT0AweyDVPS9TPXCXeGZMN+H+Y54Xj0Mgriau+Y4jPi2mUMKW0R93T5/Y1285JdE1YuXtnv27Xgc1g1lIfHJ5luWOi3sfC47j3AZvhE1NE69alemjIcQCIWlU0SyoZM1K+5hO3mBmZhR4BwuMJO9ruWITXx1t1GAvJgu+xtJNcVXW1ryTt6PvYk1OU5pNyIyNEFxD1Hhw8qOJ/R/jNcZ9wcjnykSqOI/NzNczz3GG2tLdu8gWEBZrpXy4vu9FoSamu3k+ADE6ArH06RM40FaSCNSegivEI4Y6HAjy3svPEU6Y+WvuGUfr0Lphefi7tFHZaEW08U0e6ERmwpFLtfMRWfdhn30ZRtiFDF/Gi4psXuTNPQrGyqc+KgmwCxEIVue8a3TAAVTaoK1JZXA/08IcUGNdhl6INAfHxXbaS15ptTXkqhO3rVL2ambJt8GxU3UTTymq3P20= + kairu@microsoft.com\\n\"\r\n }\r\n ]\r\n },\r\n + \ \"provisionVMAgent\": true,\r\n \"patchSettings\": {\r\n \"patchMode\": + \"ImageDefault\"\r\n }\r\n },\r\n \"secrets\": [],\r\n \"allowExtensionOperations\": true,\r\n \"requireGuestProvisionSignal\": true\r\n },\r\n \"networkProfile\": {\"networkInterfaces\":[{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic\"}]},\r\n \ \"provisioningState\": \"Succeeded\",\r\n \"instanceView\": {\r\n \"computerName\": \"myvm1\",\r\n \"osName\": \"ubuntu\",\r\n \"osVersion\": \"18.04\",\r\n - \ \"vmAgent\": {\r\n \"vmAgentVersion\": \"2.2.53.1\",\r\n \"statuses\": + \ \"vmAgent\": {\r\n \"vmAgentVersion\": \"2.2.54.2\",\r\n \"statuses\": [\r\n {\r\n \"code\": \"ProvisioningState/succeeded\",\r\n \ \"level\": \"Info\",\r\n \"displayStatus\": \"Ready\",\r\n \ \"message\": \"Guest Agent is running\",\r\n \"time\": - \"2021-03-05T02:33:57+00:00\"\r\n }\r\n ],\r\n \"extensionHandlers\": + \"2021-05-11T08:25:49+00:00\"\r\n }\r\n ],\r\n \"extensionHandlers\": [\r\n {\r\n \"type\": \"Microsoft.EnterpriseCloud.Monitoring.OmsAgentForLinux\",\r\n - \ \"typeHandlerVersion\": \"1.13.33\",\r\n \"status\": + \ \"typeHandlerVersion\": \"1.13.35\",\r\n \"status\": {\r\n \"code\": \"ProvisioningState/succeeded\",\r\n \"level\": \"Info\",\r\n \"displayStatus\": \"Ready\",\r\n \"message\": \"Plugin enabled\"\r\n }\r\n }\r\n ]\r\n },\r\n - \ \"disks\": [\r\n {\r\n \"name\": \"myvm1_disk1_f69b5bc0ece748e1a75db9cc65e45cbe\",\r\n + \ \"disks\": [\r\n {\r\n \"name\": \"myvm1_disk1_b97161f5cd574af3841bc5972fba3184\",\r\n \ \"statuses\": [\r\n {\r\n \"code\": \"ProvisioningState/succeeded\",\r\n \ \"level\": \"Info\",\r\n \"displayStatus\": \"Provisioning - succeeded\",\r\n \"time\": \"2021-03-05T02:32:17.1990808+00:00\"\r\n + succeeded\",\r\n \"time\": \"2021-05-11T08:24:07.6521115+00:00\"\r\n \ }\r\n ]\r\n }\r\n ],\r\n \"extensions\": [\r\n {\r\n \"name\": \"OmsAgentForLinux\",\r\n \"type\": \"Microsoft.EnterpriseCloud.Monitoring.OmsAgentForLinux\",\r\n \"typeHandlerVersion\": - \"1.13.33\",\r\n \"statuses\": [\r\n {\r\n \"code\": + \"1.13.35\",\r\n \"statuses\": [\r\n {\r\n \"code\": \"ProvisioningState/succeeded\",\r\n \"level\": \"Info\",\r\n \ \"displayStatus\": \"Provisioning succeeded\",\r\n \"message\": \"Enable succeeded\"\r\n }\r\n ]\r\n }\r\n ],\r\n \ \"hyperVGeneration\": \"V1\",\r\n \"statuses\": [\r\n {\r\n \ \"code\": \"ProvisioningState/succeeded\",\r\n \"level\": \"Info\",\r\n \"displayStatus\": \"Provisioning succeeded\",\r\n - \ \"time\": \"2021-03-05T02:33:45.855795+00:00\"\r\n },\r\n + \ \"time\": \"2021-05-11T08:25:21.0113494+00:00\"\r\n },\r\n \ {\r\n \"code\": \"PowerState/running\",\r\n \"level\": \"Info\",\r\n \"displayStatus\": \"VM running\"\r\n }\r\n \ ]\r\n }\r\n },\r\n \"resources\": [\r\n {\r\n \"name\": @@ -781,17 +781,17 @@ interactions: \"eastus\",\r\n \"properties\": {\r\n \"autoUpgradeMinorVersion\": true,\r\n \"provisioningState\": \"Succeeded\",\r\n \"publisher\": \"Microsoft.EnterpriseCloud.Monitoring\",\r\n \"type\": \"OmsAgentForLinux\",\r\n - \ \"typeHandlerVersion\": \"1.0\",\r\n \"settings\": {\"workspaceId\":\"5025bf09-35d8-4984-881e-ede853634382\",\"stopOnMultipleConnections\":\"true\"}\r\n + \ \"typeHandlerVersion\": \"1.0\",\r\n \"settings\": {\"workspaceId\":\"a3b4d136-26e9-4259-97fa-8c62b94586ee\",\"stopOnMultipleConnections\":\"true\"}\r\n \ }\r\n }\r\n ]\r\n}" headers: cache-control: - no-cache content-length: - - '5441' + - '5634' content-type: - application/json; charset=utf-8 date: - - Fri, 05 Mar 2021 02:33:59 GMT + - Tue, 11 May 2021 08:25:50 GMT expires: - '-1' pragma: @@ -808,7 +808,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/LowCostGet3Min;3989,Microsoft.Compute/LowCostGet30Min;31921 + - Microsoft.Compute/LowCostGet3Min;3995,Microsoft.Compute/LowCostGet30Min;31995 status: code: 200 message: OK @@ -826,18 +826,18 @@ interactions: ParameterSetName: - -n -g --image --nsg-rule --workspace --generate-ssh-keys User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-network/17.1.0 Python/3.7.8 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.8 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic?api-version=2018-01-01 response: body: string: "{\r\n \"name\": \"myvm1VMNic\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic\",\r\n - \ \"etag\": \"W/\\\"f302a152-2c37-4b84-91c6-66b0454dac12\\\"\",\r\n \"location\": + \ \"etag\": \"W/\\\"8ff6255d-7194-40fa-b680-c304c93327d5\\\"\",\r\n \"location\": \"eastus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": - \"Succeeded\",\r\n \"resourceGuid\": \"182f03bd-278b-4938-8c1b-63045b81d007\",\r\n + \"Succeeded\",\r\n \"resourceGuid\": \"73cd813d-dd52-486b-835f-f62537837c34\",\r\n \ \"ipConfigurations\": [\r\n {\r\n \"name\": \"ipconfigmyvm1\",\r\n \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic/ipConfigurations/ipconfigmyvm1\",\r\n - \ \"etag\": \"W/\\\"f302a152-2c37-4b84-91c6-66b0454dac12\\\"\",\r\n + \ \"etag\": \"W/\\\"8ff6255d-7194-40fa-b680-c304c93327d5\\\"\",\r\n \ \"type\": \"Microsoft.Network/networkInterfaces/ipConfigurations\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \ \"privateIPAddress\": \"10.0.0.4\",\r\n \"privateIPAllocationMethod\": @@ -846,8 +846,8 @@ interactions: \ },\r\n \"primary\": true,\r\n \"privateIPAddressVersion\": \"IPv4\"\r\n }\r\n }\r\n ],\r\n \"dnsSettings\": {\r\n \"dnsServers\": [],\r\n \"appliedDnsServers\": [],\r\n \"internalDomainNameSuffix\": - \"jilstd0facfufh0g3dgjl1ffxg.bx.internal.cloudapp.net\"\r\n },\r\n \"macAddress\": - \"00-0D-3A-99-07-E9\",\r\n \"enableAcceleratedNetworking\": false,\r\n + \"qudiicxamczexntbijrp0ycxjh.bx.internal.cloudapp.net\"\r\n },\r\n \"macAddress\": + \"00-22-48-21-3B-CF\",\r\n \"enableAcceleratedNetworking\": false,\r\n \ \"enableIPForwarding\": false,\r\n \"networkSecurityGroup\": {\r\n \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkSecurityGroups/myvm1NSG\"\r\n \ },\r\n \"primary\": true,\r\n \"virtualMachine\": {\r\n \"id\": @@ -861,9 +861,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 05 Mar 2021 02:34:00 GMT + - Tue, 11 May 2021 08:25:51 GMT etag: - - W/"f302a152-2c37-4b84-91c6-66b0454dac12" + - W/"8ff6255d-7194-40fa-b680-c304c93327d5" expires: - '-1' pragma: @@ -880,7 +880,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 5830f96e-90aa-403c-b0c5-dd8264b33822 + - 94755616-8135-4bc0-a743-2c9503e22abd status: code: 200 message: OK @@ -898,17 +898,17 @@ interactions: ParameterSetName: - -n -g --image --nsg-rule --workspace --generate-ssh-keys User-Agent: - - AZURECLI/2.20.0 azsdk-python-azure-mgmt-network/17.1.0 Python/3.7.8 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.8 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/publicIPAddresses/myvm1PublicIP?api-version=2018-01-01 response: body: string: "{\r\n \"name\": \"myvm1PublicIP\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/publicIPAddresses/myvm1PublicIP\",\r\n - \ \"etag\": \"W/\\\"f5304d82-d195-4b89-a01b-df0297ca650d\\\"\",\r\n \"location\": + \ \"etag\": \"W/\\\"dcec2c10-9b82-4b07-b05b-8bd24697a210\\\"\",\r\n \"location\": \"eastus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": - \"Succeeded\",\r\n \"resourceGuid\": \"06ce065e-b902-41fa-8eea-56000456112a\",\r\n - \ \"ipAddress\": \"20.185.33.195\",\r\n \"publicIPAddressVersion\": \"IPv4\",\r\n - \ \"publicIPAllocationMethod\": \"Dynamic\",\r\n \"idleTimeoutInMinutes\": + \"Succeeded\",\r\n \"resourceGuid\": \"6663cff5-3d8b-4199-86b1-554d61c8e011\",\r\n + \ \"ipAddress\": \"52.188.169.108\",\r\n \"publicIPAddressVersion\": + \"IPv4\",\r\n \"publicIPAllocationMethod\": \"Dynamic\",\r\n \"idleTimeoutInMinutes\": 4,\r\n \"ipTags\": [],\r\n \"ipConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic/ipConfigurations/ipconfigmyvm1\"\r\n \ }\r\n },\r\n \"type\": \"Microsoft.Network/publicIPAddresses\",\r\n \ \"sku\": {\r\n \"name\": \"Basic\"\r\n }\r\n}" @@ -916,13 +916,13 @@ interactions: cache-control: - no-cache content-length: - - '1005' + - '1006' content-type: - application/json; charset=utf-8 date: - - Fri, 05 Mar 2021 02:34:00 GMT + - Tue, 11 May 2021 08:25:52 GMT etag: - - W/"f5304d82-d195-4b89-a01b-df0297ca650d" + - W/"dcec2c10-9b82-4b07-b05b-8bd24697a210" expires: - '-1' pragma: @@ -939,7 +939,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 8735c1c8-1b35-4f73-844d-0c9cfe7c7f1d + - f386e9d7-f288-43d1-a33b-56d88311be30 status: code: 200 message: OK @@ -961,12 +961,12 @@ interactions: ParameterSetName: - -n -g --image --nsg-rule --workspace --generate-ssh-keys User-Agent: - - AZURECLI/2.20.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.7.8 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.8.8 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002/dataSources/DataSource_LinuxPerformanceCollection_88888888-0000-0000-0000-000000000001?api-version=2020-08-01 response: body: - string: '{"kind":"LinuxPerformanceCollection","properties":{"state":"Enabled"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002/datasources/DataSource_LinuxPerformanceCollection_88888888-0000-0000-0000-000000000001","etag":"W/\"datetime''2021-03-05T02%3A34%3A01.3630159Z''\"","name":"DataSource_LinuxPerformanceCollection_88888888-0000-0000-0000-000000000001","type":"Microsoft.OperationalInsights/workspaces/datasources"}' + string: '{"kind":"LinuxPerformanceCollection","properties":{"state":"Enabled"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002/datasources/DataSource_LinuxPerformanceCollection_88888888-0000-0000-0000-000000000001","etag":"W/\"datetime''2021-05-11T08%3A25%3A54.2329188Z''\"","name":"DataSource_LinuxPerformanceCollection_88888888-0000-0000-0000-000000000001","type":"Microsoft.OperationalInsights/workspaces/datasources"}' headers: cache-control: - no-cache @@ -975,7 +975,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 05 Mar 2021 02:34:01 GMT + - Tue, 11 May 2021 08:25:53 GMT expires: - '-1' pragma: @@ -991,7 +991,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1192' + - '1199' x-powered-by: - ASP.NET status: @@ -1018,14 +1018,14 @@ interactions: ParameterSetName: - -n -g --image --nsg-rule --workspace --generate-ssh-keys User-Agent: - - AZURECLI/2.20.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.7.8 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.8.8 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002/dataSources/DataSource_LinuxPerformanceObject_88888888-0000-0000-0000-000000000002?api-version=2020-08-01 response: body: string: '{"kind":"LinuxPerformanceObject","properties":{"instanceName":"*","intervalSeconds":10,"objectName":"Memory","performanceCounters":[{"counterName":"Available MBytes Memory"},{"counterName":"% Used Memory"},{"counterName":"% Used Swap - Space"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002/datasources/DataSource_LinuxPerformanceObject_88888888-0000-0000-0000-000000000002","etag":"W/\"datetime''2021-03-05T02%3A34%3A02.5870986Z''\"","name":"DataSource_LinuxPerformanceObject_88888888-0000-0000-0000-000000000002","type":"Microsoft.OperationalInsights/workspaces/datasources"}' + Space"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002/datasources/DataSource_LinuxPerformanceObject_88888888-0000-0000-0000-000000000002","etag":"W/\"datetime''2021-05-11T08%3A25%3A55.0106101Z''\"","name":"DataSource_LinuxPerformanceObject_88888888-0000-0000-0000-000000000002","type":"Microsoft.OperationalInsights/workspaces/datasources"}' headers: cache-control: - no-cache @@ -1034,7 +1034,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 05 Mar 2021 02:34:02 GMT + - Tue, 11 May 2021 08:25:54 GMT expires: - '-1' pragma: @@ -1050,7 +1050,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1191' + - '1198' x-powered-by: - ASP.NET status: @@ -1076,13 +1076,13 @@ interactions: ParameterSetName: - -n -g --image --nsg-rule --workspace --generate-ssh-keys User-Agent: - - AZURECLI/2.20.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.7.8 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.8.8 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002/dataSources/DataSource_LinuxPerformanceObject_88888888-0000-0000-0000-000000000003?api-version=2020-08-01 response: body: string: '{"kind":"LinuxPerformanceObject","properties":{"instanceName":"*","intervalSeconds":10,"objectName":"Processor","performanceCounters":[{"counterName":"% - Processor Time"},{"counterName":"% Privileged Time"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002/datasources/DataSource_LinuxPerformanceObject_88888888-0000-0000-0000-000000000003","etag":"W/\"datetime''2021-03-05T02%3A34%3A03.4109122Z''\"","name":"DataSource_LinuxPerformanceObject_88888888-0000-0000-0000-000000000003","type":"Microsoft.OperationalInsights/workspaces/datasources"}' + Processor Time"},{"counterName":"% Privileged Time"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002/datasources/DataSource_LinuxPerformanceObject_88888888-0000-0000-0000-000000000003","etag":"W/\"datetime''2021-05-11T08%3A25%3A55.6678848Z''\"","name":"DataSource_LinuxPerformanceObject_88888888-0000-0000-0000-000000000003","type":"Microsoft.OperationalInsights/workspaces/datasources"}' headers: cache-control: - no-cache @@ -1091,7 +1091,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 05 Mar 2021 02:34:02 GMT + - Tue, 11 May 2021 08:25:55 GMT expires: - '-1' pragma: @@ -1107,7 +1107,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1190' + - '1197' x-powered-by: - ASP.NET status: @@ -1135,7 +1135,7 @@ interactions: ParameterSetName: - -n -g --image --nsg-rule --workspace --generate-ssh-keys User-Agent: - - AZURECLI/2.20.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.7.8 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.8.8 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002/dataSources/DataSource_LinuxPerformanceObject_88888888-0000-0000-0000-000000000004?api-version=2020-08-01 response: @@ -1143,7 +1143,7 @@ interactions: string: '{"kind":"LinuxPerformanceObject","properties":{"instanceName":"*","intervalSeconds":10,"objectName":"Logical Disk","performanceCounters":[{"counterName":"% Used Inodes"},{"counterName":"Free Megabytes"},{"counterName":"% Used Space"},{"counterName":"Disk Transfers/sec"},{"counterName":"Disk - Reads/sec"},{"counterName":"Disk Writes/sec"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002/datasources/DataSource_LinuxPerformanceObject_88888888-0000-0000-0000-000000000004","etag":"W/\"datetime''2021-03-05T02%3A34%3A04.1075819Z''\"","name":"DataSource_LinuxPerformanceObject_88888888-0000-0000-0000-000000000004","type":"Microsoft.OperationalInsights/workspaces/datasources"}' + Reads/sec"},{"counterName":"Disk Writes/sec"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002/datasources/DataSource_LinuxPerformanceObject_88888888-0000-0000-0000-000000000004","etag":"W/\"datetime''2021-05-11T08%3A25%3A56.4015756Z''\"","name":"DataSource_LinuxPerformanceObject_88888888-0000-0000-0000-000000000004","type":"Microsoft.OperationalInsights/workspaces/datasources"}' headers: cache-control: - no-cache @@ -1152,7 +1152,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 05 Mar 2021 02:34:03 GMT + - Tue, 11 May 2021 08:25:55 GMT expires: - '-1' pragma: @@ -1168,7 +1168,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1189' + - '1196' x-powered-by: - ASP.NET status: @@ -1194,13 +1194,13 @@ interactions: ParameterSetName: - -n -g --image --nsg-rule --workspace --generate-ssh-keys User-Agent: - - AZURECLI/2.20.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.7.8 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.8.8 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002/dataSources/DataSource_LinuxPerformanceObject_88888888-0000-0000-0000-000000000005?api-version=2020-08-01 response: body: string: '{"kind":"LinuxPerformanceObject","properties":{"instanceName":"*","intervalSeconds":10,"objectName":"Network","performanceCounters":[{"counterName":"Total - Bytes Transmitted"},{"counterName":"Total Bytes Received"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002/datasources/DataSource_LinuxPerformanceObject_88888888-0000-0000-0000-000000000005","etag":"W/\"datetime''2021-03-05T02%3A34%3A04.8599494Z''\"","name":"DataSource_LinuxPerformanceObject_88888888-0000-0000-0000-000000000005","type":"Microsoft.OperationalInsights/workspaces/datasources"}' + Bytes Transmitted"},{"counterName":"Total Bytes Received"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002/datasources/DataSource_LinuxPerformanceObject_88888888-0000-0000-0000-000000000005","etag":"W/\"datetime''2021-05-11T08%3A25%3A57.1616528Z''\"","name":"DataSource_LinuxPerformanceObject_88888888-0000-0000-0000-000000000005","type":"Microsoft.OperationalInsights/workspaces/datasources"}' headers: cache-control: - no-cache @@ -1209,7 +1209,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 05 Mar 2021 02:34:04 GMT + - Tue, 11 May 2021 08:25:56 GMT expires: - '-1' pragma: @@ -1225,7 +1225,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1188' + - '1195' x-powered-by: - ASP.NET status: @@ -1249,12 +1249,12 @@ interactions: ParameterSetName: - -n -g --image --nsg-rule --workspace --generate-ssh-keys User-Agent: - - AZURECLI/2.20.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.7.8 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.8.8 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002/dataSources/DataSource_LinuxSyslogCollection_88888888-0000-0000-0000-000000000006?api-version=2020-08-01 response: body: - string: '{"kind":"LinuxSyslogCollection","properties":{"state":"Enabled"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002/datasources/DataSource_LinuxSyslogCollection_88888888-0000-0000-0000-000000000006","etag":"W/\"datetime''2021-03-05T02%3A34%3A05.5777189Z''\"","name":"DataSource_LinuxSyslogCollection_88888888-0000-0000-0000-000000000006","type":"Microsoft.OperationalInsights/workspaces/datasources"}' + string: '{"kind":"LinuxSyslogCollection","properties":{"state":"Enabled"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002/datasources/DataSource_LinuxSyslogCollection_88888888-0000-0000-0000-000000000006","etag":"W/\"datetime''2021-05-11T08%3A25%3A57.9219912Z''\"","name":"DataSource_LinuxSyslogCollection_88888888-0000-0000-0000-000000000006","type":"Microsoft.OperationalInsights/workspaces/datasources"}' headers: cache-control: - no-cache @@ -1263,7 +1263,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 05 Mar 2021 02:34:05 GMT + - Tue, 11 May 2021 08:25:57 GMT expires: - '-1' pragma: @@ -1279,7 +1279,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1187' + - '1194' x-powered-by: - ASP.NET status: @@ -1304,12 +1304,12 @@ interactions: ParameterSetName: - -n -g --image --nsg-rule --workspace --generate-ssh-keys User-Agent: - - AZURECLI/2.20.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.7.8 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.8.8 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002/dataSources/DataSource_LinuxSyslog_88888888-0000-0000-0000-000000000007?api-version=2020-08-01 response: body: - string: '{"kind":"LinuxSyslog","properties":{"syslogName":"syslog","syslogSeverities":[{"severity":"notice"},{"severity":"info"},{"severity":"debug"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002/datasources/DataSource_LinuxSyslog_88888888-0000-0000-0000-000000000007","etag":"W/\"datetime''2021-03-05T02%3A34%3A06.2955742Z''\"","name":"DataSource_LinuxSyslog_88888888-0000-0000-0000-000000000007","type":"Microsoft.OperationalInsights/workspaces/datasources"}' + string: '{"kind":"LinuxSyslog","properties":{"syslogName":"syslog","syslogSeverities":[{"severity":"notice"},{"severity":"info"},{"severity":"debug"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002/datasources/DataSource_LinuxSyslog_88888888-0000-0000-0000-000000000007","etag":"W/\"datetime''2021-05-11T08%3A25%3A58.6788337Z''\"","name":"DataSource_LinuxSyslog_88888888-0000-0000-0000-000000000007","type":"Microsoft.OperationalInsights/workspaces/datasources"}' headers: cache-control: - no-cache @@ -1318,7 +1318,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 05 Mar 2021 02:34:05 GMT + - Tue, 11 May 2021 08:25:58 GMT expires: - '-1' pragma: @@ -1334,7 +1334,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1186' + - '1193' x-powered-by: - ASP.NET status: @@ -1352,17 +1352,17 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n --scopes --condition --description + - -g -n --scopes --condition --condition-query --description User-Agent: - - python/3.7.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.20.0 + - python/3.8.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-resource/12.1.0 Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001","name":"cli_test_scheduled_query000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"product":"azurecli","cause":"automation","date":"2021-03-05T02:30:58Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001","name":"cli_test_scheduled_query000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"product":"azurecli","cause":"automation","date":"2021-05-11T08:22:37Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -1371,7 +1371,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 05 Mar 2021 02:37:08 GMT + - Tue, 11 May 2021 08:29:00 GMT expires: - '-1' pragma: @@ -1407,10 +1407,10 @@ interactions: Content-Type: - application/json; charset=utf-8 ParameterSetName: - - -g -n --scopes --condition --description + - -g -n --scopes --condition --condition-query --description User-Agent: - - python/3.7.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-monitor/2020-05-01-preview Azure-SDK-For-Python AZURECLI/2.20.0 + - python/3.8.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-monitor/2020-05-01-preview Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: PUT @@ -1428,7 +1428,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 05 Mar 2021 02:37:23 GMT + - Tue, 11 May 2021 08:29:14 GMT expires: - '-1' pragma: @@ -1440,7 +1440,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1197' status: code: 201 message: Created @@ -1458,15 +1458,15 @@ interactions: ParameterSetName: - -g -n --scopes --condition --description User-Agent: - - python/3.7.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.20.0 + - python/3.8.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-resource/12.1.0 Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001","name":"cli_test_scheduled_query000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"product":"azurecli","cause":"automation","date":"2021-03-05T02:30:58Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001","name":"cli_test_scheduled_query000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"product":"azurecli","cause":"automation","date":"2021-05-11T08:22:37Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -1475,7 +1475,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 05 Mar 2021 02:37:24 GMT + - Tue, 11 May 2021 08:29:15 GMT expires: - '-1' pragma: @@ -1513,8 +1513,8 @@ interactions: ParameterSetName: - -g -n --scopes --condition --description User-Agent: - - python/3.7.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-monitor/2020-05-01-preview Azure-SDK-For-Python AZURECLI/2.20.0 + - python/3.8.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-monitor/2020-05-01-preview Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: PUT @@ -1532,7 +1532,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 05 Mar 2021 02:37:38 GMT + - Tue, 11 May 2021 08:29:23 GMT expires: - '-1' pragma: @@ -1560,11 +1560,11 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n --condition --description --severity --disabled --evaluation-frequency + - -g -n --condition --condition-query --description --severity --disabled --evaluation-frequency --window-size User-Agent: - - python/3.7.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-monitor/2020-05-01-preview Azure-SDK-For-Python AZURECLI/2.20.0 + - python/3.8.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-monitor/2020-05-01-preview Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: GET @@ -1582,7 +1582,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 05 Mar 2021 02:37:39 GMT + - Tue, 11 May 2021 08:29:24 GMT expires: - '-1' pragma: @@ -1622,11 +1622,11 @@ interactions: Content-Type: - application/json; charset=utf-8 ParameterSetName: - - -g -n --condition --description --severity --disabled --evaluation-frequency + - -g -n --condition --condition-query --description --severity --disabled --evaluation-frequency --window-size User-Agent: - - python/3.7.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-monitor/2020-05-01-preview Azure-SDK-For-Python AZURECLI/2.20.0 + - python/3.8.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-monitor/2020-05-01-preview Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: PUT @@ -1644,7 +1644,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 05 Mar 2021 02:37:41 GMT + - Tue, 11 May 2021 08:29:30 GMT expires: - '-1' pragma: @@ -1678,8 +1678,8 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.7.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-monitor/2020-05-01-preview Azure-SDK-For-Python AZURECLI/2.20.0 + - python/3.8.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-monitor/2020-05-01-preview Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: GET @@ -1697,7 +1697,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 05 Mar 2021 02:37:42 GMT + - Tue, 11 May 2021 08:29:30 GMT expires: - '-1' pragma: @@ -1729,8 +1729,8 @@ interactions: ParameterSetName: - -g User-Agent: - - python/3.7.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-monitor/2020-05-01-preview Azure-SDK-For-Python AZURECLI/2.20.0 + - python/3.8.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-monitor/2020-05-01-preview Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: GET @@ -1750,7 +1750,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 05 Mar 2021 02:37:44 GMT + - Tue, 11 May 2021 08:29:32 GMT expires: - '-1' pragma: @@ -1780,8 +1780,8 @@ interactions: Connection: - keep-alive User-Agent: - - python/3.7.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-monitor/2020-05-01-preview Azure-SDK-For-Python AZURECLI/2.20.0 + - python/3.8.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-monitor/2020-05-01-preview Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: GET @@ -1802,7 +1802,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 05 Mar 2021 02:37:45 GMT + - Tue, 11 May 2021 08:29:34 GMT expires: - '-1' pragma: @@ -1836,8 +1836,8 @@ interactions: ParameterSetName: - -g -n -y User-Agent: - - python/3.7.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-monitor/2020-05-01-preview Azure-SDK-For-Python AZURECLI/2.20.0 + - python/3.8.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-monitor/2020-05-01-preview Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: DELETE @@ -1851,7 +1851,7 @@ interactions: content-length: - '0' date: - - Fri, 05 Mar 2021 02:37:58 GMT + - Tue, 11 May 2021 08:29:47 GMT expires: - '-1' pragma: @@ -1881,8 +1881,8 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.7.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-monitor/2020-05-01-preview Azure-SDK-For-Python AZURECLI/2.20.0 + - python/3.8.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-monitor/2020-05-01-preview Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: GET @@ -1900,7 +1900,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 05 Mar 2021 02:37:58 GMT + - Tue, 11 May 2021 08:29:47 GMT expires: - '-1' pragma: diff --git a/src/scheduled-query/azext_scheduled_query/tests/latest/test_scheduled_query_scenario.py b/src/scheduled-query/azext_scheduled_query/tests/latest/test_scheduled_query_scenario.py index 3e908ba909b..de247fe28e1 100644 --- a/src/scheduled-query/azext_scheduled_query/tests/latest/test_scheduled_query_scenario.py +++ b/src/scheduled-query/azext_scheduled_query/tests/latest/test_scheduled_query_scenario.py @@ -36,7 +36,7 @@ def test_scheduled_query(self, resource_group): resource_group=resource_group), }) time.sleep(180) - self.cmd('monitor scheduled-query create -g {rg} -n {name1} --scopes {vm_id} --condition "count \'union Event, Syslog | where TimeGenerated > ago(1h)\' > 360" --description "Test rule"', + self.cmd('monitor scheduled-query create -g {rg} -n {name1} --scopes {vm_id} --condition "count \'placeholder_1\' > 360" --condition-query placeholder_1="union Event, Syslog | where TimeGenerated > ago(1h)" --description "Test rule"', checks=[ self.check('name', '{name1}'), self.check('scopes[0]', '{vm_id}'), @@ -54,7 +54,7 @@ def test_scheduled_query(self, resource_group): self.check('scopes[0]', '{rg_id}'), self.check('severity', 2) ]) - self.cmd('monitor scheduled-query update -g {rg} -n {name1} --condition "count \'union Event | where TimeGenerated > ago(2h)\' < 260 resource id _ResourceId at least 2 violations out of 3 aggregated points" --description "Test rule 2" --severity 4 --disabled --evaluation-frequency 10m --window-size 10m', + self.cmd('monitor scheduled-query update -g {rg} -n {name1} --condition "count \'placeholder_1\' < 260 resource id _ResourceId at least 2 violations out of 3 aggregated points" --condition-query placeholder_1="union Event | where TimeGenerated > ago(2h)" --description "Test rule 2" --severity 4 --disabled --evaluation-frequency 10m --window-size 10m', checks=[ self.check('name', '{name1}'), self.check('scopes[0]', '{vm_id}'), diff --git a/src/scheduled-query/setup.py b/src/scheduled-query/setup.py index db78e2fccec..c01e5f1f5e8 100644 --- a/src/scheduled-query/setup.py +++ b/src/scheduled-query/setup.py @@ -16,7 +16,7 @@ # TODO: Confirm this is the right version number you want and it matches your # HISTORY.rst entry. -VERSION = '0.2.2' +VERSION = '0.3.0' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers From 1a10660f0d0a2a7fd264cb946edcb5199de8d027 Mon Sep 17 00:00:00 2001 From: Ricardo Espinoza Date: Mon, 24 May 2021 23:10:00 -0700 Subject: [PATCH 41/83] Add support for user agent string in calls to AQ via CLI (#3398) * Add support for user agent string in calls to AQ via CLI * Fix issues with retrieving extension version. * Set az cli minimum version required to 2.23.0 --- src/quantum/azext_quantum/__init__.py | 6 ++++++ src/quantum/azext_quantum/_client_factory.py | 14 ++++++++++++-- src/quantum/azext_quantum/azext_metadata.json | 2 +- src/quantum/azext_quantum/operations/job.py | 17 +++++++++++++++-- src/quantum/setup.py | 5 +++-- 5 files changed, 37 insertions(+), 7 deletions(-) diff --git a/src/quantum/azext_quantum/__init__.py b/src/quantum/azext_quantum/__init__.py index 1710931b51a..71504715107 100644 --- a/src/quantum/azext_quantum/__init__.py +++ b/src/quantum/azext_quantum/__init__.py @@ -8,6 +8,12 @@ import azext_quantum._help # pylint: disable=unused-import +# This is the version reported by the CLI to the service when submitting requests. +# This should be in sync with the extension version in 'setup.py', unless we need to +# submit using a different version. +CLI_REPORTED_VERSION = "0.5.0" + + class QuantumCommandsLoader(AzCommandsLoader): def __init__(self, cli_ctx=None): diff --git a/src/quantum/azext_quantum/_client_factory.py b/src/quantum/azext_quantum/_client_factory.py index fd2c7b281fb..bcb66f44eb4 100644 --- a/src/quantum/azext_quantum/_client_factory.py +++ b/src/quantum/azext_quantum/_client_factory.py @@ -7,6 +7,7 @@ import os from ._location_helper import normalize_location +from .__init__ import CLI_REPORTED_VERSION def is_env(name): @@ -31,12 +32,19 @@ def _get_data_credentials(cli_ctx, subscription_id=None): return creds +def get_appid(): + return f"azure-cli-extension/{CLI_REPORTED_VERSION}" + + # Control Plane clients + def cf_quantum_mgmt(cli_ctx, *_): from azure.cli.core.commands.client_factory import get_mgmt_service_client from .vendored_sdks.azure_mgmt_quantum import QuantumManagementClient - return get_mgmt_service_client(cli_ctx, QuantumManagementClient) + client = get_mgmt_service_client(cli_ctx, QuantumManagementClient) + client.config.add_user_agent(get_appid()) + return client def cf_workspaces(cli_ctx, *_): @@ -52,7 +60,9 @@ def cf_offerings(cli_ctx, *_): def cf_quantum(cli_ctx, subscription_id=None, resource_group_name=None, workspace_name=None, location=None): from .vendored_sdks.azure_quantum import QuantumClient creds = _get_data_credentials(cli_ctx, subscription_id) - return QuantumClient(creds, subscription_id, resource_group_name, workspace_name, base_url=base_url(location)) + client = QuantumClient(creds, subscription_id, resource_group_name, workspace_name, base_url=base_url(location)) + client.config.add_user_agent(get_appid()) + return client def cf_providers(cli_ctx, subscription_id=None, resource_group_name=None, workspace_name=None, location=None): diff --git a/src/quantum/azext_quantum/azext_metadata.json b/src/quantum/azext_quantum/azext_metadata.json index 44a31e479f5..811d86de250 100644 --- a/src/quantum/azext_quantum/azext_metadata.json +++ b/src/quantum/azext_quantum/azext_metadata.json @@ -1,4 +1,4 @@ { "azext.isPreview": true, - "azext.minCliCoreVersion": "2.5.1" + "azext.minCliCoreVersion": "2.23.0" } diff --git a/src/quantum/azext_quantum/operations/job.py b/src/quantum/azext_quantum/operations/job.py index a5f99959e69..97cedc129a1 100644 --- a/src/quantum/azext_quantum/operations/job.py +++ b/src/quantum/azext_quantum/operations/job.py @@ -102,8 +102,8 @@ def _generate_submit_args(program_args, ws, target, token, project, job_name, sh args.append("--aad-token") args.append(token) - args.append("--base-uri") - args.append(base_url(ws.location)) + args.append("--location") + args.append(ws.location) args.extend(program_args) @@ -113,6 +113,18 @@ def _generate_submit_args(program_args, ws, target, token, project, job_name, sh return args +def _set_cli_version(): + # This is a temporary approach for runtime compatibility between a runtime version + # before support for the --user-agent parameter is added. We'll rely on the environment + # variable before the stand alone executable submits to the service. + try: + import os + from .._client_factory import get_appid + os.environ["USER_AGENT"] = get_appid() + except: + logger.warning("User Agent environment variable could not be set.") + + def submit(cmd, program_args, resource_group_name=None, workspace_name=None, location=None, target_id=None, project=None, job_name=None, shots=None, storage=None, no_build=False): """ @@ -132,6 +144,7 @@ def submit(cmd, program_args, resource_group_name=None, workspace_name=None, loc token = _get_data_credentials(cmd.cli_ctx, ws.subscription).get_token().token args = _generate_submit_args(program_args, ws, target, token, project, job_name, shots, storage) + _set_cli_version() import subprocess result = subprocess.run(args, stdout=subprocess.PIPE, check=False) diff --git a/src/quantum/setup.py b/src/quantum/setup.py index a003858f9f7..a9025a13fd6 100644 --- a/src/quantum/setup.py +++ b/src/quantum/setup.py @@ -14,8 +14,9 @@ from distutils import log as logger logger.warn("Wheel is not available, disabling bdist_wheel hook") -# TODO: Confirm this is the right version number you want and it matches your -# HISTORY.rst entry. +# This version should match the latest entry in HISTORY.rst +# Also, when updating this, please review the version used by the extension to +# submit requests, which can be found at './azext_quantum/__init__.py' VERSION = '0.4.0' # The full list of classifiers is available at From da7af92cf17b3f15f4a3ae2ff497aaa4ce2090d8 Mon Sep 17 00:00:00 2001 From: Ricardo Espinoza Date: Mon, 24 May 2021 23:49:05 -0700 Subject: [PATCH 42/83] Update version and history info for az quantum extension 0.5.0 (#3421) --- src/quantum/HISTORY.rst | 8 +++++++- src/quantum/setup.py | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/quantum/HISTORY.rst b/src/quantum/HISTORY.rst index 5999a95c50f..719b1e4d7c4 100644 --- a/src/quantum/HISTORY.rst +++ b/src/quantum/HISTORY.rst @@ -3,9 +3,15 @@ Release History =============== +0.5.0 +++++++ +* [2021-05-25] Version intended to work with QDK version v0.17.2105.143879 +* Adapted to 'az' tool version 2.23.0 +* Added user agent information on calls to Azure Quantum Service. + 0.4.0 ++++++ -* [2021-05-03] Version intended to work with QDK version v0.16.2104.138035 +* [2021-05-07] Version intended to work with QDK version v0.16.2104.138035 * Updated generated clients for Azure Quantum control plane to include support for restricted plans. * Fixed regression on offerings commands dependent on Azure Markeplace APIs. diff --git a/src/quantum/setup.py b/src/quantum/setup.py index a9025a13fd6..c6ab1c7cd0c 100644 --- a/src/quantum/setup.py +++ b/src/quantum/setup.py @@ -17,7 +17,7 @@ # This version should match the latest entry in HISTORY.rst # Also, when updating this, please review the version used by the extension to # submit requests, which can be found at './azext_quantum/__init__.py' -VERSION = '0.4.0' +VERSION = '0.5.0' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers From df9e512796782ffd739a0b1641c7ba31d2e598f8 Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Tue, 25 May 2021 15:00:02 +0800 Subject: [PATCH 43/83] [Release] Update index.json for extension [ healthcareapis ] (#3361) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=890550 Last commit: https://github.com/Azure/azure-cli-extensions/commit/9c41bec6c52b5f0f391c45152a3f9777a3974228 --- src/index.json | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/src/index.json b/src/index.json index 68ad39f7509..bc11b5384ce 100644 --- a/src/index.json +++ b/src/index.json @@ -10467,6 +10467,48 @@ "version": "0.3.2" }, "sha256Digest": "950fcd15946023adb8e2d7f7eb7d8a856ccf497f0ec2265225ece0df3663c285" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/healthcareapis-0.3.3-py3-none-any.whl", + "filename": "healthcareapis-0.3.3-py3-none-any.whl", + "metadata": { + "azext.minCliCoreVersion": "2.11.0", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/healthcareapis" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "healthcareapis", + "summary": "Microsoft Azure Command-Line Tools HealthcareApisManagementClient Extension", + "version": "0.3.3" + }, + "sha256Digest": "0a19a8d24aa9676a6ed141c7199696af6d784662f68d576c423707a82d4ff2d2" } ], "hpc-cache": [ From c872a38b4fbdbb2f34906be0ec08a8ad0815dbae Mon Sep 17 00:00:00 2001 From: FumingZhang <81607949+FumingZhang@users.noreply.github.com> Date: Tue, 25 May 2021 16:16:43 +0800 Subject: [PATCH 44/83] [AKS] Polish scripts used in aks pr check-in test pipeline (#3415) * update scripts & trigger & custom preparer * fix azdev version --- .../azcli_aks_live_test/clone_repo.sh | 27 +++++-- .../azcli_aks_live_test/prepare_image.sh | 20 ++++- .../azcli_aks_live_test/setup_venv.sh | 22 ++++-- .../azcli_aks_live_test/start_container.sh | 28 +++++-- .../azcli_aks_live_test/test_cli_live.sh | 29 +++++-- .../azcli_aks_live_test/test_cli_unit.sh | 9 ++- .../azcli_aks_live_test/test_ext_live.sh | 64 ++++++++------- .../azcli_aks_live_test/test_ext_unit.sh | 27 +++---- .../azcli_aks_live_test/transcribe_env.sh | 73 ++++++++++++------ .../vsts-azcli-aks-live-test.yaml | 14 +++- .../vsts-azcli-aks-unit-test.yaml | 14 +++- .../tests/latest/custom_preparers.py | 77 +++++++------------ 12 files changed, 249 insertions(+), 155 deletions(-) diff --git a/src/aks-preview/azcli_aks_live_test/clone_repo.sh b/src/aks-preview/azcli_aks_live_test/clone_repo.sh index 4dccf3260d4..8eca3be875b 100755 --- a/src/aks-preview/azcli_aks_live_test/clone_repo.sh +++ b/src/aks-preview/azcli_aks_live_test/clone_repo.sh @@ -1,25 +1,40 @@ #!/usr/bin/env bash -set -eux +# bash options +set -o errexit +set -o nounset +set -o pipefail +set -o xtrace + +# check var +[[ -z "${CLI_REPO}" ]] && (echo "CLI_REPO is empty"; exit 1) +[[ -z "${CLI_BRANCH}" ]] && (echo "CLI_BRANCH is empty"; exit 1) +[[ -z "${EXT_REPO}" ]] && (echo "EXT_REPO is empty"; exit 1) +[[ -z "${EXT_BRANCH}" ]] && (echo "EXT_BRANCH is empty"; exit 1) +[[ -z "${MANUAL_EXT}" ]] && (echo "MANUAL_EXT is empty"; exit 1) + +# dir pwd +ls -alh # clone azure-cli (default is the official repo) # git clone https://github.com/Azure/azure-cli.git -git clone $CLI_REPO +git clone ${CLI_REPO} # ckeckout to a specific azure-cli branch (default is the dev branch) pushd azure-cli/ git branch -a -git checkout $CLI_BRANCH +git checkout ${CLI_BRANCH} popd # clone azure-cli-extensions when manually specify the extension repo -if [[ $MANUAL_EXT == true && -n $EXT_REPO && -n $EXT_BRANCH ]]; then +if [[ ${MANUAL_EXT} == true ]]; then echo "Manually specify the extension repo, delete the current 'azure-cli-extensions' directory!" rm -rf azure-cli-extensions/ - git clone $EXT_REPO + git clone ${EXT_REPO} pushd azure-cli-extensions/ - git checkout $EXT_BRANCH + git branch -a + git checkout ${EXT_BRANCH} popd fi diff --git a/src/aks-preview/azcli_aks_live_test/prepare_image.sh b/src/aks-preview/azcli_aks_live_test/prepare_image.sh index 32793cd90ee..1f603ea5759 100755 --- a/src/aks-preview/azcli_aks_live_test/prepare_image.sh +++ b/src/aks-preview/azcli_aks_live_test/prepare_image.sh @@ -1,9 +1,21 @@ #!/usr/bin/env bash -set -eux +# bash options +set -o errexit +set -o nounset +set -o pipefail +set -o xtrace + +# check var +[[ -z "${IMAGE_PREFIX}" ]] && (echo "IMAGE_PREFIX is empty"; exit 1) +[[ -z "${IMAGE_NAME}" ]] && (echo "IMAGE_NAME is empty"; exit 1) +[[ -z "${IMAGE_TAG}" ]] && (echo "IMAGE_TAG is empty"; exit 1) + +# dir pwd +ls -alh # prepare docker image -echo "Pulling test image from '$IMAGE_PREFIX/$IMAGE_NAME:$IMAGE_TAG'..." -docker pull $IMAGE_PREFIX/$IMAGE_NAME:$IMAGE_TAG -docker tag $IMAGE_PREFIX/$IMAGE_NAME:$IMAGE_TAG $IMAGE_NAME:$IMAGE_TAG +echo "Pulling test image from '${IMAGE_PREFIX}/${IMAGE_NAME}:${IMAGE_TAG}'..." +docker pull ${IMAGE_PREFIX}/${IMAGE_NAME}:${IMAGE_TAG} +docker tag ${IMAGE_PREFIX}/${IMAGE_NAME}:${IMAGE_TAG} ${IMAGE_NAME}:${IMAGE_TAG} diff --git a/src/aks-preview/azcli_aks_live_test/setup_venv.sh b/src/aks-preview/azcli_aks_live_test/setup_venv.sh index 642d9a7c436..e63b00264f8 100755 --- a/src/aks-preview/azcli_aks_live_test/setup_venv.sh +++ b/src/aks-preview/azcli_aks_live_test/setup_venv.sh @@ -1,6 +1,15 @@ #!/usr/bin/env bash -set -eux +# bash options +set -o errexit +set -o nounset +set -o pipefail +set -o xtrace + +# check var +PYTHON_VERSION=${PYTHON_VERSION:-"3.8"} + +# dir pwd ls -alh @@ -8,10 +17,10 @@ ls -alh rm -rf azEnv || true # install python packages -python$PYTHON_VERSION -m venv azEnv +python${PYTHON_VERSION} -m venv azEnv source azEnv/bin/activate python -m pip install -U pip -# fixed azdev version to avoid call failure in az_aks_tool +# install azdev, used later to install azcli and extension pip install azdev==0.1.32 # install pytest plugins pip install pytest-json-report pytest-rerunfailures --upgrade @@ -25,11 +34,10 @@ which az || az version || az extension list || true # install az from cloned repos with azdev azdev setup -c azure-cli/ -r azure-cli-extensions/ deactivate -source azEnv/bin/activate -# post-install: check installation result -which az -az version +# post-install: reactivate venv to check installation result +source azEnv/bin/activate +which az && az version # mkdir to store reports mkdir -p reports/ diff --git a/src/aks-preview/azcli_aks_live_test/start_container.sh b/src/aks-preview/azcli_aks_live_test/start_container.sh index dee2c5278b3..0edadb91c9d 100755 --- a/src/aks-preview/azcli_aks_live_test/start_container.sh +++ b/src/aks-preview/azcli_aks_live_test/start_container.sh @@ -1,13 +1,25 @@ #!/usr/bin/env bash -set -eux -pwd - -# transcribe environment variables into file 'env.list' -source ./transcribe_env.sh +# bash options +set -o errexit +set -o nounset +set -o pipefail +set -o xtrace +# check var # take the first arg as container name container_name=${1:-"azcli-aks-live-test-container"} +[[ -z "${MAPPED_AZCLI_ALT_CLIENT_SECRET}" ]] && (echo "MAPPED_AZCLI_ALT_CLIENT_SECRET is empty"; exit 1) +[[ -z "${MAPPED_AZCLI_ALT_CLIENT_SECRET}" ]] && (echo "MAPPED_AZCLI_ALT_CLIENT_SECRET is empty"; exit 1) +[[ -z "${IMAGE_NAME}" ]] && (echo "IMAGE_NAME is empty"; exit 1) +[[ -z "${IMAGE_TAG}" ]] && (echo "IMAGE_TAG is empty"; exit 1) + +# dir +pwd +ls -alh + +# transcribe environment variables into file 'env.list' +./transcribe_env.sh # start container in backgroud with tty # mount current directory ($(Agent.BuildDirectory)/s) to /opt in container @@ -15,10 +27,10 @@ container_name=${1:-"azcli-aks-live-test-container"} # pass secrects as environment variables directly (instead of storing in env.list) # pass other environment variables with env.list docker run -t -d -v $PWD:/opt -w /opt \ --e AZCLI_ALT_CLIENT_SECRET=$MAPPED_AZCLI_ALT_CLIENT_SECRET \ --e AZURE_CLI_TEST_DEV_SP_PASSWORD=$MAPPED_AZCLI_ALT_CLIENT_SECRET \ +-e AZCLI_ALT_CLIENT_SECRET=${MAPPED_AZCLI_ALT_CLIENT_SECRET} \ +-e AZURE_CLI_TEST_DEV_SP_PASSWORD=${MAPPED_AZCLI_ALT_CLIENT_SECRET} \ --env-file ./env.list \ ---name $container_name $IMAGE_NAME:$IMAGE_TAG +--name ${container_name} ${IMAGE_NAME}:${IMAGE_TAG} # remove env.list rm ./env.list diff --git a/src/aks-preview/azcli_aks_live_test/test_cli_live.sh b/src/aks-preview/azcli_aks_live_test/test_cli_live.sh index 56e7a7c085b..412e3c6702a 100755 --- a/src/aks-preview/azcli_aks_live_test/test_cli_live.sh +++ b/src/aks-preview/azcli_aks_live_test/test_cli_live.sh @@ -1,7 +1,22 @@ #!/usr/bin/env bash -set -eux +# bash options +set -o errexit +set -o nounset +set -o pipefail +set -o xtrace + +# check var +[[ -z "${TENANT_ID}" ]] && (echo "TENANT_ID is empty"; exit 1) +[[ -z "${AZCLI_ALT_SUBSCRIPTION_ID}" ]] && (echo "AZCLI_ALT_SUBSCRIPTION_ID is empty"; exit 1) +[[ -z "${AZCLI_ALT_CLIENT_ID}" ]] && (echo "AZCLI_ALT_CLIENT_ID is empty"; exit 1) +[[ -z "${AZCLI_ALT_CLIENT_SECRET}" ]] && (echo "AZCLI_ALT_CLIENT_SECRET is empty"; exit 1) +[[ -z "${TEST_MODE}" ]] && (echo "TEST_MODE is empty"; exit 1) +[[ -z "${PARALLELISM}" ]] && (echo "PARALLELISM is empty"; exit 1) + +# dir pwd +ls -alh # activate virtualenv source azEnv/bin/activate @@ -14,17 +29,17 @@ if az extension remove --name aks-preview || azdev extension remove aks-preview; fi # test cli -if [[ $TEST_MODE == "record" || $TEST_MODE == "all" ]]; then +if [[ ${TEST_MODE} == "record" || ${TEST_MODE} == "all" ]]; then echo "Test in record mode!" - azdev test acs --no-exitfirst --xml-path cli_result.xml --discover -a "-n $PARALLELISM --json-report --json-report-file=cli_report.json --reruns 3 --capture=sys" + azdev test acs --no-exitfirst --xml-path cli_result.xml --discover -a "-n ${PARALLELISM} --json-report --json-report-file=cli_report.json --reruns 3 --capture=sys" cp *cli_report.json *cli_result.xml reports/ fi -if [[ $TEST_MODE == "live" || $TEST_MODE == "all" ]]; then +if [[ ${TEST_MODE} == "live" || ${TEST_MODE} == "all" ]]; then echo "Test in live mode!" - az login --service-principal -u $AZCLI_ALT_CLIENT_ID -p $AZCLI_ALT_CLIENT_SECRET -t $TENANT_ID - az account set -s $AZCLI_ALT_SUBSCRIPTION_ID + az login --service-principal -u ${AZCLI_ALT_CLIENT_ID} -p ${AZCLI_ALT_CLIENT_SECRET} -t ${TENANT_ID} + az account set -s ${AZCLI_ALT_SUBSCRIPTION_ID} az account show - azdev test acs --live --no-exitfirst --xml-path cli_live_result.xml --discover -a "-n $PARALLELISM --json-report --json-report-file=cli_live_report.json --reruns 3 --capture=sys" + azdev test acs --live --no-exitfirst --xml-path cli_live_result.xml --discover -a "-n ${PARALLELISM} --json-report --json-report-file=cli_live_report.json --reruns 3 --capture=sys" cp *cli_live_report.json *cli_live_result.xml reports/ fi diff --git a/src/aks-preview/azcli_aks_live_test/test_cli_unit.sh b/src/aks-preview/azcli_aks_live_test/test_cli_unit.sh index 8ef79d3e09c..1c70f2f4c6b 100755 --- a/src/aks-preview/azcli_aks_live_test/test_cli_unit.sh +++ b/src/aks-preview/azcli_aks_live_test/test_cli_unit.sh @@ -1,7 +1,14 @@ #!/usr/bin/env bash -set -eux +# bash options +set -o errexit +set -o nounset +set -o pipefail +set -o xtrace + +# dir pwd +ls -alh # activate virtualenv source azEnv/bin/activate diff --git a/src/aks-preview/azcli_aks_live_test/test_ext_live.sh b/src/aks-preview/azcli_aks_live_test/test_ext_live.sh index 97fbbfcf254..af81461ce74 100755 --- a/src/aks-preview/azcli_aks_live_test/test_ext_live.sh +++ b/src/aks-preview/azcli_aks_live_test/test_ext_live.sh @@ -1,7 +1,25 @@ #!/usr/bin/env bash -set -eux +# bash options +set -o errexit +set -o nounset +set -o pipefail +set -o xtrace + +# check var +[[ -z "${TENANT_ID}" ]] && (echo "TENANT_ID is empty"; exit 1) +[[ -z "${AZCLI_ALT_SUBSCRIPTION_ID}" ]] && (echo "AZCLI_ALT_SUBSCRIPTION_ID is empty"; exit 1) +[[ -z "${AZCLI_ALT_CLIENT_ID}" ]] && (echo "AZCLI_ALT_CLIENT_ID is empty"; exit 1) +[[ -z "${AZCLI_ALT_CLIENT_SECRET}" ]] && (echo "AZCLI_ALT_CLIENT_SECRET is empty"; exit 1) +[[ -z "${TEST_MODE}" ]] && (echo "TEST_MODE is empty"; exit 1) +[[ -z "${PARALLELISM}" ]] && (echo "PARALLELISM is empty"; exit 1) +[[ -z "${TEST_CASES}" ]] && (echo "TEST_CASES is empty") +[[ -z "${EXT_TEST_FILTER}" ]] && (echo "EXT_TEST_FILTER is empty") +[[ -z "${EXT_TEST_COVERAGE}" ]] && (echo "EXT_TEST_COVERAGE is empty") + +# dir pwd +ls -alh # activate virtualenv source azEnv/bin/activate @@ -21,60 +39,48 @@ azdev extension list | grep "aks-preview" -C 5 deactivate source azEnv/bin/activate -# Ensure that the command index is updated by calling a specific command in aks-preview, so that all the commands defined in aks-preview are loaded correctly -# Otherwise, cold boot execution of azdev test may use the api version adopted by the acs command group in azure-cli (which may diverge from the api version used in current aks-preview) -retry_count=0 -while ! az aks maintenanceconfiguration show --help && [[ $retry_count < 3 ]] -do - retry_count=`expr $retry_count + 1` - echo $retry_count"th retry to install aks-preview..." - azdev extension add aks-preview --debug - az extension list --debug - azdev extension list --debug | grep "aks-preview" -C 5 - deactivate - source azEnv/bin/activate -done +# use a fake command to force trigger the command index update of azure-cli, in order to load aks-preview commands +# otherwise, cold boot execution of azdev test / pytest would only use commands in the acs module +az aks fake-command --debug || true # prepare run flags -run_flags="-e -em ext_matrix_default.json --no-exitfirst --report-path ./ --reruns 3 --capture=sys" +run_flags="-e -em ext_matrix_default.json --no-exitfirst --report-path ./reports --reruns 3 --capture=sys" # parallel -if [ $PARALLELISM -ge 2 ]; then - run_flags+=" -j $PARALLELISM" +if [ ${PARALLELISM} -ge 2 ]; then + run_flags+=" -j ${PARALLELISM}" else run_flags+=" -s" fi # test cases -if [[ -n $TEST_CASES ]]; then - run_flags+=" -t $TEST_CASES" +if [[ -n ${TEST_CASES} ]]; then + run_flags+=" -t ${TEST_CASES}" fi # ext extra filter -if [[ -n $EXT_TEST_FILTER ]]; then - run_flags+=" -ef $EXT_TEST_FILTER" +if [[ -n ${EXT_TEST_FILTER} ]]; then + run_flags+=" -ef ${EXT_TEST_FILTER}" fi # ext extra coverage -if [[ -n $EXT_TEST_COVERAGE ]]; then - run_flags+=" -ec $EXT_TEST_COVERAGE" +if [[ -n ${EXT_TEST_COVERAGE} ]]; then + run_flags+=" -ec ${EXT_TEST_COVERAGE}" fi # recording test -if [[ $TEST_MODE == "record" || $TEST_MODE == "all" ]]; then +if [[ ${TEST_MODE} == "record" || ${TEST_MODE} == "all" ]]; then echo "Test in record mode!" run_flags+=" --json-report-file=ext_report.json" run_flags+=" --xml-file=ext_result.xml" echo "run flags: ${run_flags}" echo ${run_flags} | xargs python -u az_aks_tool/main.py - cp *ext_report.json *ext_result.xml reports/ fi # live test -if [[ $TEST_MODE == "live" || $TEST_MODE == "all" ]]; then +if [[ ${TEST_MODE} == "live" || ${TEST_MODE} == "all" ]]; then echo "Test in live mode!" - az login --service-principal -u $AZCLI_ALT_CLIENT_ID -p $AZCLI_ALT_CLIENT_SECRET -t $TENANT_ID - az account set -s $AZCLI_ALT_SUBSCRIPTION_ID + az login --service-principal -u ${AZCLI_ALT_CLIENT_ID} -p ${AZCLI_ALT_CLIENT_SECRET} -t ${TENANT_ID} + az account set -s ${AZCLI_ALT_SUBSCRIPTION_ID} az account show run_flags+=" -l --json-report-file=ext_live_report.json" run_flags+=" --xml-file=ext_live_result.xml" echo "run flags: ${run_flags}" echo ${run_flags} | xargs python -u az_aks_tool/main.py - cp *ext_live_report.json *ext_live_result.xml reports/ fi diff --git a/src/aks-preview/azcli_aks_live_test/test_ext_unit.sh b/src/aks-preview/azcli_aks_live_test/test_ext_unit.sh index a83fa7568ea..db13e91fe5e 100755 --- a/src/aks-preview/azcli_aks_live_test/test_ext_unit.sh +++ b/src/aks-preview/azcli_aks_live_test/test_ext_unit.sh @@ -1,7 +1,14 @@ #!/usr/bin/env bash -set -eux +# bash options +set -o errexit +set -o nounset +set -o pipefail +set -o xtrace + +# dir pwd +ls -alh # activate virtualenv source azEnv/bin/activate @@ -21,19 +28,9 @@ azdev extension list | grep "aks-preview" -C 5 deactivate source azEnv/bin/activate -# Ensure that the command index is updated by calling a specific command in aks-preview, so that all the commands defined in aks-preview are loaded correctly -# Otherwise, cold boot execution of azdev test may use the api version adopted by the acs command group in azure-cli (which may diverge from the api version used in current aks-preview) -retry_count=0 -while ! az aks command invoke --help && [[ $retry_count < 3 ]] -do - retry_count=`expr $retry_count + 1` - echo $retry_count"th retry to install aks-preview..." - azdev extension add aks-preview --debug - az extension list --debug - azdev extension list --debug | grep "aks-preview" -C 5 - deactivate - source azEnv/bin/activate -done +# use a fake command to force trigger the command index update of azure-cli, in order to load aks-preview commands +# otherwise, cold boot execution of azdev test / pytest would only use commands in the acs module +az aks fake-command --debug || true # unit test & coverage report # az_aks_tool @@ -65,7 +62,7 @@ coverage report -m popd cp azure-cli-extensions/src/aks-preview/azext_aks_preview/coverage_azext_aks_preview.json reports/ -if [[ $az_aks_tool_unit_test_result == "error" || $azext_aks_preview_unit_test_result == "error" ]]; then +if [[ ${az_aks_tool_unit_test_result} == "error" || ${azext_aks_preview_unit_test_result} == "error" ]]; then echo "Unit test failed!" exit 1 fi diff --git a/src/aks-preview/azcli_aks_live_test/transcribe_env.sh b/src/aks-preview/azcli_aks_live_test/transcribe_env.sh index 228698838ee..52b2ae8b2a7 100755 --- a/src/aks-preview/azcli_aks_live_test/transcribe_env.sh +++ b/src/aks-preview/azcli_aks_live_test/transcribe_env.sh @@ -1,40 +1,69 @@ #!/usr/bin/env bash +# bash options +set -o errexit +set -o nounset +set -o pipefail +set -o xtrace + +# check var +[[ -z "${TENANT_ID}" ]] && (echo "TENANT_ID is empty"; exit 1) +[[ -z "${AZCLI_ALT_SUBSCRIPTION_ID}" ]] && (echo "AZCLI_ALT_SUBSCRIPTION_ID is empty"; exit 1) +[[ -z "${AZCLI_ALT_CLIENT_ID}" ]] && (echo "AZCLI_ALT_CLIENT_ID is empty"; exit 1) +[[ -z "${TEST_LOCATION}" ]] && (echo "TEST_LOCATION is empty"; exit 1) +[[ -z "${BUILD_REASON}" ]] && (echo "BUILD_REASON is empty") +[[ -z "${SYSTEM_PULLREQUEST_TARGETBRANCH}" ]] && (echo "SYSTEM_PULLREQUEST_TARGETBRANCH is empty") +[[ -z "${COVERAGE}" ]] && (echo "COVERAGE is empty"; exit 1) +[[ -z "${TEST_MODE}" ]] && (echo "TEST_MODE is empty"; exit 1) +[[ -z "${PARALLELISM}" ]] && (echo "PARALLELISM is empty"; exit 1) +[[ -z "${TEST_CASES}" ]] && (echo "TEST_CASES is empty") +[[ -z "${EXT_TEST_FILTER}" ]] && (echo "EXT_TEST_FILTER is empty") +[[ -z "${EXT_TEST_COVERAGE}" ]] && (echo "EXT_TEST_COVERAGE is empty") +[[ -z "${CLI_REPO}" ]] && (echo "CLI_REPO is empty"; exit 1) +[[ -z "${CLI_BRANCH}" ]] && (echo "CLI_BRANCH is empty"; exit 1) +[[ -z "${EXT_REPO}" ]] && (echo "EXT_REPO is empty"; exit 1) +[[ -z "${EXT_BRANCH}" ]] && (echo "EXT_BRANCH is empty"; exit 1) +[[ -z "${MANUAL_EXT}" ]] && (echo "MANUAL_EXT is empty"; exit 1) +[[ -z "${IMAGE_PREFIX}" ]] && (echo "IMAGE_PREFIX is empty"; exit 1) +[[ -z "${IMAGE_NAME}" ]] && (echo "IMAGE_NAME is empty"; exit 1) +[[ -z "${IMAGE_TAG}" ]] && (echo "IMAGE_TAG is empty"; exit 1) +[[ -z "${PYTHON_VERSION}" ]] && (echo "PYTHON_VERSION is empty") + # clear cat /dev/null > env.list # tenant, sub, client -echo "TENANT_ID=$TENANT_ID" >> env.list -echo "AZCLI_ALT_SUBSCRIPTION_ID=$AZCLI_ALT_SUBSCRIPTION_ID" >> env.list -echo "AZCLI_ALT_CLIENT_ID=$AZCLI_ALT_CLIENT_ID" >> env.list +echo "TENANT_ID=${TENANT_ID}" >> env.list +echo "AZCLI_ALT_SUBSCRIPTION_ID=${AZCLI_ALT_SUBSCRIPTION_ID}" >> env.list +echo "AZCLI_ALT_CLIENT_ID=${AZCLI_ALT_CLIENT_ID}" >> env.list # azdev env -echo "AZURE_CLI_TEST_DEV_SP_NAME=$AZCLI_ALT_CLIENT_ID" >> env.list -echo "AZURE_CLI_TEST_DEV_RESOURCE_GROUP_LOCATION=$TEST_LOCATION" >> env.list +echo "AZURE_CLI_TEST_DEV_SP_NAME=${AZCLI_ALT_CLIENT_ID}" >> env.list +echo "AZURE_CLI_TEST_DEV_RESOURCE_GROUP_LOCATION=${TEST_LOCATION}" >> env.list # predefined variables -echo "BUILD_REASON=$BUILD_REASON" >> env.list -echo "SYSTEM_PULLREQUEST_TARGETBRANCH=$SYSTEM_PULLREQUEST_TARGETBRANCH" >> env.list +echo "BUILD_REASON=${BUILD_REASON}" >> env.list +echo "SYSTEM_PULLREQUEST_TARGETBRANCH=${SYSTEM_PULLREQUEST_TARGETBRANCH}" >> env.list # test -echo "COVERAGE=$COVERAGE" >> env.list -echo "TEST_MODE=$TEST_MODE" >> env.list -echo "PARALLELISM=$PARALLELISM" >> env.list -echo "TEST_CASES=$TEST_CASES" >> env.list -echo "EXT_TEST_FILTER=$EXT_TEST_FILTER" >> env.list -echo "EXT_TEST_COVERAGE=$EXT_TEST_COVERAGE" >> env.list +echo "COVERAGE=${COVERAGE}" >> env.list +echo "TEST_MODE=${TEST_MODE}" >> env.list +echo "PARALLELISM=${PARALLELISM}" >> env.list +echo "TEST_CASES=${TEST_CASES}" >> env.list +echo "EXT_TEST_FILTER=${EXT_TEST_FILTER}" >> env.list +echo "EXT_TEST_COVERAGE=${EXT_TEST_COVERAGE}" >> env.list # repo -echo "CLI_REPO=$CLI_REPO" >> env.list -echo "CLI_BRANCH=$CLI_BRANCH" >> env.list -echo "MANUAL_EXT=$MANUAL_EXT" >> env.list -echo "EXT_REPO=$EXT_REPO" >> env.list -echo "EXT_BRANCH=$EXT_BRANCH" >> env.list +echo "CLI_REPO=${CLI_REPO}" >> env.list +echo "CLI_BRANCH=${CLI_BRANCH}" >> env.list +echo "EXT_REPO=${EXT_REPO}" >> env.list +echo "EXT_BRANCH=${EXT_BRANCH}" >> env.list +echo "MANUAL_EXT=${MANUAL_EXT}" >> env.list # image -echo "IMAGE_PREFIX=$IMAGE_PREFIX" >> env.list -echo "IMAGE_NAME=$IMAGE_NAME" >> env.list -echo "IMAGE_TAG=$IMAGE_TAG" >> env.list +echo "IMAGE_PREFIX=${IMAGE_PREFIX}" >> env.list +echo "IMAGE_NAME=${IMAGE_NAME}" >> env.list +echo "IMAGE_TAG=${IMAGE_TAG}" >> env.list # misc -echo "PYTHON_VERSION=$PYTHON_VERSION" >> env.list +echo "PYTHON_VERSION=${PYTHON_VERSION}" >> env.list diff --git a/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-live-test.yaml b/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-live-test.yaml index 22b34e0fe63..3cc0f2fd288 100644 --- a/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-live-test.yaml +++ b/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-live-test.yaml @@ -2,6 +2,14 @@ name: $(Date:yyyyMMdd)$(Rev:.r)_Python$(PYTHON_VERSION)_Coverage-$(COVERAGE)_Mod trigger: none +pr: + branches: + include: + - master + paths: + include: + - src/aks-preview/ + jobs: - job: LiveTest pool: @@ -19,15 +27,15 @@ jobs: ls -alh displayName: "Move All Checkout Files to the Newly Created 'azure-cli-extensions' Directory" - bash: | - source ./azure-cli-extensions/src/aks-preview/azcli_aks_live_test/clone_repo.sh + ./azure-cli-extensions/src/aks-preview/azcli_aks_live_test/clone_repo.sh condition: succeeded() displayName: "Clone GitHub Repo and Move Live Test Related Files" - bash: | - source ./prepare_image.sh + ./prepare_image.sh condition: succeeded() displayName: "Prepare Live Test Image" - bash: | - source ./start_container.sh + ./start_container.sh env: MAPPED_AZCLI_ALT_CLIENT_SECRET: $(AZCLI_ALT_CLIENT_SECRET) BUILD_REASON: $(Build.Reason) diff --git a/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-unit-test.yaml b/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-unit-test.yaml index ce792eea0dd..1363914b93a 100644 --- a/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-unit-test.yaml +++ b/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-unit-test.yaml @@ -2,6 +2,14 @@ name: $(Date:yyyyMMdd)$(Rev:.r)_Python$(PYTHON_VERSION)_Coverage-$(COVERAGE)_Mod trigger: none +pr: + branches: + include: + - master + paths: + include: + - src/aks-preview/ + jobs: - job: UnitTest pool: @@ -19,15 +27,15 @@ jobs: ls -alh displayName: "Move All Checkout Files to the Newly Created 'azure-cli-extensions' Directory" - bash: | - source ./azure-cli-extensions/src/aks-preview/azcli_aks_live_test/clone_repo.sh + ./azure-cli-extensions/src/aks-preview/azcli_aks_live_test/clone_repo.sh condition: succeeded() displayName: "Clone GitHub Repo and Move Test Related Files" - bash: | - source ./prepare_image.sh + ./prepare_image.sh condition: succeeded() displayName: "Prepare Test Image" - bash: | - source ./start_container.sh "azcli-aks-unit-test-container" + ./start_container.sh "azcli-aks-unit-test-container" env: MAPPED_AZCLI_ALT_CLIENT_SECRET: $(AZCLI_ALT_CLIENT_SECRET) BUILD_REASON: $(Build.Reason) diff --git a/src/aks-preview/azext_aks_preview/tests/latest/custom_preparers.py b/src/aks-preview/azext_aks_preview/tests/latest/custom_preparers.py index f0d066b7e9b..0ca2dbea076 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/custom_preparers.py +++ b/src/aks-preview/azext_aks_preview/tests/latest/custom_preparers.py @@ -4,59 +4,36 @@ # -------------------------------------------------------------------------------------------- import os -from datetime import datetime -from azure.cli.testsdk import CliTestError -from azure.cli.testsdk.preparers import NoTrafficRecordingPreparer -from azure_devtools.scenario_tests import SingleValueReplacer -from azure.cli.testsdk.reverse_dependency import get_dummy_cli - - -class AKSCustomResourceGroupPreparer(NoTrafficRecordingPreparer, SingleValueReplacer): - def __init__(self, name_prefix='clitest.rg', - parameter_name='resource_group', - parameter_name_for_location='resource_group_location', location='westus', - dev_setting_name='AZURE_CLI_TEST_DEV_RESOURCE_GROUP_NAME', - dev_setting_location='AZURE_CLI_TEST_DEV_RESOURCE_GROUP_LOCATION', - random_name_length=75, key='rg'): - if ' ' in name_prefix: - raise CliTestError( - 'Error: Space character in resource group name prefix \'%s\'' % name_prefix) +from azure.cli.testsdk.preparers import ResourceGroupPreparer + + +class AKSCustomResourceGroupPreparer(ResourceGroupPreparer): + def __init__( + self, + name_prefix="clitest.rg", + parameter_name="resource_group", + parameter_name_for_location="resource_group_location", + location="westus", + dev_setting_name="AZURE_CLI_TEST_DEV_RESOURCE_GROUP_NAME", + dev_setting_location="AZURE_CLI_TEST_DEV_RESOURCE_GROUP_LOCATION", + random_name_length=75, + key="rg", + ): super(AKSCustomResourceGroupPreparer, self).__init__( - name_prefix, random_name_length) - self.cli_ctx = get_dummy_cli() - self.location = location - self.parameter_name = parameter_name - self.parameter_name_for_location = parameter_name_for_location - self.key = key + name_prefix, + parameter_name, + parameter_name_for_location, + location, + dev_setting_name, + dev_setting_location, + random_name_length, + key, + ) - self.dev_setting_name = os.environ.get(dev_setting_name, None) # use environment variable to modify the default value of location self.dev_setting_location = os.environ.get(dev_setting_location, None) - if self.dev_setting_location is not None and self.dev_setting_location != "": + if self.dev_setting_location: self.location = self.dev_setting_location - - def create_resource(self, name, **kwargs): - if self.dev_setting_name: - self.test_class_instance.kwargs[self.key] = self.dev_setting_name - return {self.parameter_name: self.dev_setting_name, - self.parameter_name_for_location: self.dev_setting_location} - - tags = {'product': 'azurecli', 'cause': 'automation', - 'date': datetime.utcnow().strftime('%Y-%m-%dT%H:%M:%SZ')} - if 'ENV_JOB_NAME' in os.environ: - tags['job'] = os.environ['ENV_JOB_NAME'] - tags = ' '.join(['{}={}'.format(key, value) - for key, value in tags.items()]) - template = 'az group create --location {} --name {} --tag ' + tags - self.live_only_execute( - self.cli_ctx, template.format(self.location, name)) - - self.test_class_instance.kwargs[self.key] = name - return {self.parameter_name: name, self.parameter_name_for_location: self.location} - - def remove_resource(self, name, **kwargs): - # delete group if test is being recorded and if the group is not a dev rg - if not self.dev_setting_name: - self.live_only_execute( - self.cli_ctx, 'az group delete --name {} --yes --no-wait'.format(name)) + else: + self.dev_setting_location = location From 462e23771d4686a38b0ccd922282fd9bd7a8fe1a Mon Sep 17 00:00:00 2001 From: Daeun Yim <69321306+DaeunYim@users.noreply.github.com> Date: Tue, 25 May 2021 01:18:04 -0700 Subject: [PATCH 45/83] [rdbms-connect] Added file execution command (#3257) * file execution implemented * execute query, filepath feature * style issue fixed * resolve cred scan issue * added test * adding recording files * deprecation info added * Update setup and history file * update rdbms-connect * fixing typos --- src/rdbms-connect/HISTORY.rst | 5 + src/rdbms-connect/README.rst | 29 +- .../azext_rdbms_connect/_help.py | 24 +- .../azext_rdbms_connect/_params.py | 10 + .../azext_rdbms_connect/commands.py | 2 + .../azext_rdbms_connect/custom.py | 276 +- .../test_mysql_flexible_server_connect.yaml | 2258 ++--------------- ...test_postgres_flexible_server_connect.yaml | 1375 ++-------- .../latest/test_rdbms-connect_scenario.py | 18 +- src/rdbms-connect/setup.py | 2 +- 10 files changed, 608 insertions(+), 3391 deletions(-) diff --git a/src/rdbms-connect/HISTORY.rst b/src/rdbms-connect/HISTORY.rst index 0bc127bbf19..5faefc346c1 100644 --- a/src/rdbms-connect/HISTORY.rst +++ b/src/rdbms-connect/HISTORY.rst @@ -3,6 +3,11 @@ Release History =============== +0.1.3 +++++++ +* Introduce query/sql file execution command as 'flexible server execute' command. +* [BREKAING CHANGE] Move query execution of the 'flexible server connect' command to 'flexible server execute' command. + 0.1.2 ++++++ * Improvements for the 'flexible server connect' command. diff --git a/src/rdbms-connect/README.rst b/src/rdbms-connect/README.rst index bfe28dfbbc6..cec855ec12f 100644 --- a/src/rdbms-connect/README.rst +++ b/src/rdbms-connect/README.rst @@ -15,10 +15,28 @@ To install the extension separately can run: Then can run connect commands: :: - az postgres flexible-server connect -n testServer -u username -p password --postgres-query "select * from pg_user;" --output table + az postgres flexible-server connect -n testServer -u username -p password :: - az mysql flexible-server connect -n testServer -u username -p password --mysql-query "select host, user from mysql.user;" --output table + az mysql flexible-server connect -n testServer -u username -p password + +:: + az postgres flexible-server connect -n testServer -u username --interactive + +:: + az mysql flexible-server connect -n testServer -u username --interactive + +:: + az postgres flexible-server execute -n testServer -u username -p password --querytext "select * from pg_user;" --output table + +:: + az mysql flexible-server execute -n testServer -u username -p password --querytext "select host, user from mysql.user;" --output table + +:: + az postgres flexible-server execute -n testServer -u username -p password --file-path "./test.sql" + +:: + az mysql flexible-server execute -n testServer -u username -p password --file-path "./test.sql" -------- Switches @@ -38,5 +56,8 @@ The login password of the administrator. **--database-name -d** (Optional) The name of the database. Uses default database if no value provided. -**--postgres-query / --mysql-query -c** -(Optional) A query to run against the flexible server. \ No newline at end of file +**--querytext -q** +A query to run against the flexible server. + +**--file-path -f** +A sql file to run against the flexible server. \ No newline at end of file diff --git a/src/rdbms-connect/azext_rdbms_connect/_help.py b/src/rdbms-connect/azext_rdbms_connect/_help.py index 83aed56455c..47281e3a187 100644 --- a/src/rdbms-connect/azext_rdbms_connect/_help.py +++ b/src/rdbms-connect/azext_rdbms_connect/_help.py @@ -12,8 +12,6 @@ example: - name: Connect to a flexible server using administrator username and password. Default database is used if not specified. text: az mysql flexible-server connect -n testServer -u username -p password -d flexibleserverdb - - name: Connect to a flexible server and execute a query with results outputted in a table. - text: az mysql flexible-server connect -n testServer -u username -p password --querytext "select host, user from mysql.user;" --output table - name: Connect to a flexible server and run queries interactively. text: az mysql flexible-server connect -n testServer -u username --interactive """ @@ -24,8 +22,26 @@ example: - name: Connect to a flexible server using administrator username and password. Default database is used if not specified. text: az postgres flexible-server connect -n testServer -u username -p password -d postgres - - name: Connect to a flexible server and execute a query with results outputted in a table. - text: az postgres flexible-server connect -n testServer -u username -p password --querytext "select * from pg_user;" --output table - name: Connect to a flexible server and run queries interactively. text: az postgres flexible-server connect -n testServer -u username --interactive """ + +helps['mysql flexible-server execute'] = """ +type: command +short-summary: Connect to a flexible server. +example: + - name: Connect to a flexible server and execute a query with results outputted in a table. + text: az mysql flexible-server execute -n testServer -u username -p password --querytext "select host, user from mysql.user;" --output table + - name: Connect to a flexible server and execute a sql file. + text: az mysql flexible-server execute -n testServer -u username -p password --file-path path_to_sql_file +""" + +helps['postgres flexible-server execute'] = """ +type: command +short-summary: Connect to a flexible server. +example: + - name: Connect to a flexible server and execute a query with results outputted in a table. + text: az postgres flexible-server execute -n testServer -u username -p password --querytext "select * from pg_user;" --output table + - name: Connect to a flexible server and execute a sql file. + text: az mysql flexible-server execute -n testServer -u username -p password --file-path path_to_sql_file +""" diff --git a/src/rdbms-connect/azext_rdbms_connect/_params.py b/src/rdbms-connect/azext_rdbms_connect/_params.py index 8b7eac49cbf..343cb6b6797 100644 --- a/src/rdbms-connect/azext_rdbms_connect/_params.py +++ b/src/rdbms-connect/azext_rdbms_connect/_params.py @@ -29,4 +29,14 @@ def load_arguments(self, _): help='The login password of the administrator.') c.argument('database_name', arg_type=database_name_arg_type, options_list=['--database-name', '-d'], help='The name of a database.') c.argument('interactive_mode', options_list=['--interactive'], action='store_true', help='Pass this parameter to connect to database in interactive mode.') + c.argument('querytext', options_list=['--querytext', '-q'], deprecate_info=c.deprecate(redirect='execute'), help='A query to run against the flexible server.') + + with self.argument_context('{} flexible-server execute'.format(command_group)) as c: + c.argument('server_name', id_part=None, options_list=['--name', '-n'], arg_type=server_name_arg_type) + c.argument('administrator_login', arg_group='Authentication', arg_type=administrator_login_arg_type, options_list=['--admin-user', '-u'], + help='The login username of the administrator.') + c.argument('administrator_login_password', arg_group='Authentication', options_list=['--admin-password', '-p'], + help='The login password of the administrator.') + c.argument('database_name', arg_type=database_name_arg_type, options_list=['--database-name', '-d'], help='The name of a database.') c.argument('querytext', options_list=['--querytext', '-q'], help='A query to run against the flexible server.') + c.argument('file_path', options_list=['--file-path', '-f'], help='The path of the sql file to execute.') diff --git a/src/rdbms-connect/azext_rdbms_connect/commands.py b/src/rdbms-connect/azext_rdbms_connect/commands.py index 5a052d11274..b1350388559 100644 --- a/src/rdbms-connect/azext_rdbms_connect/commands.py +++ b/src/rdbms-connect/azext_rdbms_connect/commands.py @@ -23,8 +23,10 @@ def load_command_table(self, _): client_factory=cf_mysql_flexible_location_capabilities, is_preview=True) as g: g.custom_command('connect', 'connect_to_flexible_server_mysql') + g.custom_command('execute', 'execute_flexible_server_mysql') with self.command_group('postgres flexible-server', postgres_flexible_location_capabilities_sdk, client_factory=cf_postgres_flexible_location_capabilities, is_preview=True) as g: g.custom_command('connect', 'connect_to_flexible_server_postgres') + g.custom_command('execute', 'execute_flexible_server_postgres') diff --git a/src/rdbms-connect/azext_rdbms_connect/custom.py b/src/rdbms-connect/azext_rdbms_connect/custom.py index dc1de29ae8f..6befae9640c 100644 --- a/src/rdbms-connect/azext_rdbms_connect/custom.py +++ b/src/rdbms-connect/azext_rdbms_connect/custom.py @@ -9,6 +9,10 @@ from knack.log import get_logger import psycopg2 import pymysql +from pymysql.constants import CLIENT +from azure.cli.core.azclierror import RequiredArgumentMissingError, AzureConnectionError, ArgumentUsageError +from azure.cli.core.extension import EXTENSIONS_DIR + logger = get_logger(__name__) DEFAULT_MYSQL_DB_NAME = '' # no default database required @@ -16,25 +20,67 @@ def connect_to_flexible_server_mysql(cmd, server_name, administrator_login, administrator_login_password=None, - database_name=None, querytext=None, interactive_mode=None): + database_name=None, interactive_mode=None, querytext=None): + if querytext: + raise ArgumentUsageError("Use az mysql flexible-server execute command for query execution") mysql_server_endpoint = cmd.cli_ctx.cloud.suffixes.mysql_server_endpoint - return connect_to_server_helper("mysql", mysql_server_endpoint, DEFAULT_MYSQL_DB_NAME, server_name, - administrator_login, administrator_login_password, database_name, - querytext, interactive_mode) + return connect_to_server_helper(server_type="mysql", + endpoint=mysql_server_endpoint, + default_db_name=DEFAULT_MYSQL_DB_NAME, + server_name=server_name, + administrator_login=administrator_login, + administrator_login_password=administrator_login_password, + database_name=database_name, + interactive=interactive_mode) def connect_to_flexible_server_postgres(cmd, server_name, administrator_login, administrator_login_password=None, - database_name=None, querytext=None, interactive_mode=None): + database_name=None, interactive_mode=None, querytext=None): + if querytext: + raise ArgumentUsageError("Use az postgres flexible-server execute command for query execution") postgresql_server_endpoint = cmd.cli_ctx.cloud.suffixes.postgresql_server_endpoint - return connect_to_server_helper("postgres", postgresql_server_endpoint, DEFAULT_PG_DB_NAME, server_name, - administrator_login, administrator_login_password, database_name, - querytext, interactive_mode) + return connect_to_server_helper(server_type="postgres", + endpoint=postgresql_server_endpoint, + default_db_name=DEFAULT_PG_DB_NAME, + server_name=server_name, + administrator_login=administrator_login, + administrator_login_password=administrator_login_password, + database_name=database_name, + interactive=interactive_mode) + + +def execute_flexible_server_mysql(cmd, server_name, administrator_login, administrator_login_password, + database_name=None, querytext=None, file_path=None): + mysql_server_endpoint = cmd.cli_ctx.cloud.suffixes.mysql_server_endpoint + return connect_to_server_helper(server_type="mysql", + endpoint=mysql_server_endpoint, + default_db_name=DEFAULT_MYSQL_DB_NAME, + server_name=server_name, + administrator_login=administrator_login, + administrator_login_password=administrator_login_password, + database_name=database_name, + query_command=querytext, + file_path=file_path) + + +def execute_flexible_server_postgres(cmd, server_name, administrator_login, administrator_login_password, + database_name=None, querytext=None, file_path=None): + postgresql_server_endpoint = cmd.cli_ctx.cloud.suffixes.postgresql_server_endpoint + return connect_to_server_helper(server_type="postgres", + endpoint=postgresql_server_endpoint, + default_db_name=DEFAULT_PG_DB_NAME, + server_name=server_name, + administrator_login=administrator_login, + administrator_login_password=administrator_login_password, + database_name=database_name, + query_command=querytext, + file_path=file_path) def connect_to_server_helper(server_type, endpoint, default_db_name, server_name, administrator_login, - administrator_login_password, database_name, query_command, interactive): + administrator_login_password, database_name, query_command=None, + interactive=None, file_path=None): host = '{}{}'.format(server_name, endpoint) - cursor = None json_data = None # setup or validate passed in params: @@ -45,7 +91,8 @@ def connect_to_server_helper(server_type, endpoint, default_db_name, server_name database_name) if administrator_login_password is None and interactive is None: - raise CLIError("Please provide password (--admin-password / -p) or run in --interactive mode.") + raise RequiredArgumentMissingError("Please provide password (--admin-password / -p) or " + "run in --interactive mode.") # run in either interactive or simple connection mode if interactive is not None: @@ -54,68 +101,30 @@ def connect_to_server_helper(server_type, endpoint, default_db_name, server_name "Please try running either a simple query using -q or run your query in interactive " "mode using --interactive.") - # if interactive mode indicated, use pgcli to connect - try: - # setup environment path variable for pgcli and mycli - from azure.cli.core.extension import EXTENSIONS_DIR - set_environment_paths(EXTENSIONS_DIR) - - if server_type == "postgres": - cmd = "pgcli -h {0} -u {1} -W {2}".format(host, administrator_login, database_name) - else: - cmd = "mycli -h {0} -u {1} {2} --ssl-verify-server-cert".format(host, administrator_login, - database_name) - os.system(cmd) - except Exception as e: - raise CLIError("Unable to open interactive mode to {0}. Error: {1}".format(server_name, e)) - else: - # connect to server - try: - connection_kwargs = { - 'host': host, - 'database': database_name, - 'user': administrator_login, - 'password': administrator_login_password - } - - # depending on server type, use the right connection library to test the connetion - if server_type == "postgres": - connection = psycopg2.connect(**connection_kwargs) - connection.set_session(autocommit=True) - else: - # set ssl param to allow for connection - connection_kwargs['ssl'] = {"fake_flag_to_enable_tls": True} - connection = pymysql.connect(**connection_kwargs) - logger.warning('Successfully connected to %s.', server_name) - except Exception as e: - logger.warning("Failed connection to %s. Check error and validate firewall and public access " - "or virtual network settings.", server_name) - raise CLIError("Unable to connect to flexible server: {}".format(e)) + _connect_interactive(server_type=server_type, + host=host, + server_name=server_name, + database_name=database_name, + login_username=administrator_login) - if query_command is not None: - try: - cursor = connection.cursor() - cursor.execute(query_command) - logger.warning("Ran Database Query: '%s'", query_command) - logger.warning("Retrieving first 30 rows of query output, if applicable.") - result = cursor.fetchmany(30) # limit to 30 rows of output for now + elif file_path is None: + json_data = _connect_execute_query(server_type=server_type, + host=host, + server_name=server_name, + database_name=database_name, + login_username=administrator_login, + login_pw=administrator_login_password, + query=query_command) + + if file_path is not None: + _connect_execute_file(server_type=server_type, + host=host, + server_name=server_name, + database_name=database_name, + login_username=administrator_login, + login_pw=administrator_login_password, + file_path=file_path) - # only print out if rows were returned - if result: - row_headers = [x[0] for x in cursor.description] # this will extract row headers - # format the result for a clean display - json_data = [] - for rv in result: - json_data.append(dict(zip(row_headers, rv))) - except Exception as e: - raise CLIError("Unable to execute query '{0}': {1}".format(query_command, e)) - finally: - if cursor is not None: - try: - cursor.close() - logger.warning("Closed the connection to %s", server_name) - except Exception: # pylint: disable=broad-except - logger.warning('Unable to close connection cursor.') return json_data @@ -136,3 +145,128 @@ def set_environment_paths(extension_directory): os.environ['PYTHONPATH'] += os.pathsep + extension_python_path else: os.environ['PYTHONPATH'] = extension_python_path + + +def _connect_interactive(server_type, host, server_name, database_name, login_username): + # if interactive mode indicated, use pgcli to connect + try: + # setup environment path variable for pgcli and mycli + set_environment_paths(EXTENSIONS_DIR) + + if server_type == "postgres": + cmd = "pgcli -h {0} -u {1} -W {2}".format(host, login_username, database_name) + else: + cmd = "mycli -h {0} -u {1} {2} --ssl-verify-server-cert".format(host, login_username, + database_name) + os.system(cmd) + except Exception as e: + raise AzureConnectionError("Unable to open interactive mode to {0}. Error: {1}".format(server_name, e)) + + +def _connect_execute_query(server_type, host, server_name, database_name, login_username, login_pw, query=None): + json_data = None + + # connect to server + try: + connection_kwargs = { + 'host': host, + 'database': database_name, + 'user': login_username, + 'password': login_pw + } + + # depending on server type, use the right connection library to test the connetion + if server_type == "postgres": + connection = psycopg2.connect(**connection_kwargs) + connection.set_session(autocommit=True) + else: + # set ssl param to allow for connection + connection_kwargs['ssl'] = {"fake_flag_to_enable_tls": True} + connection = pymysql.connect(**connection_kwargs) + logger.warning('Successfully connected to %s.', server_name) + except Exception as e: + logger.warning("Failed connection to %s. Check error and validate firewall and public access " + "or virtual network settings.", server_name) + raise AzureConnectionError("Unable to connect to flexible server: {}".format(e)) + + if query is not None: + try: + cursor = connection.cursor() + cursor.execute(query) + logger.warning("Ran Database Query: '%s'", query) + logger.warning("Retrieving first 30 rows of query output, if applicable.") + + # only print out if rows were returned + if cursor.description: + result = cursor.fetchmany(30) # limit to 30 rows of output for now + row_headers = [x[0] for x in cursor.description] # this will extract row headers + # format the result for a clean display + json_data = [] + for rv in result: + json_data.append(dict(zip(row_headers, rv))) + except Exception as e: + raise CLIError("Unable to execute query '{0}': {1}".format(query, e)) + finally: + try: + cursor.close() + logger.warning("Closed the connection to %s", server_name) + except Exception as e: # pylint: disable=broad-except + logger.warning('Unable to close connection cursor.') + raise CLIError(str(e)) + + return json_data + + +def _connect_execute_file(server_type, host, server_name, database_name, login_username, login_pw, file_path): + + # connect to server + try: + connection_kwargs = { + 'host': host, + 'database': database_name, + 'user': login_username, + 'password': login_pw + } + + # depending on server type, use the right connection library to test the connetion + if server_type == "postgres": + connection = psycopg2.connect(**connection_kwargs) + connection.set_session(autocommit=True) + else: + # set ssl param to allow for connection + connection_kwargs['ssl'] = {"fake_flag_to_enable_tls": True} + connection_kwargs['client_flag'] = CLIENT.MULTI_STATEMENTS + connection_kwargs['autocommit'] = True + connection = pymysql.connect(**connection_kwargs) + + except Exception as e: + logger.warning("Failed connection to %s. Check error and validate firewall and public access " + "or virtual network settings.", server_name) + raise AzureConnectionError("Unable to connect to flexible server: {}".format(e)) + + # Execute the file + fail_flag = False + try: + logger.warning("Running sql file '%s'...", file_path) + cursor = connection.cursor() + + with open(file_path, "r", encoding="utf-8") as sql_file: + cursor.execute(sql_file.read()) + + if server_type == 'postgres': + logger.warning('Successfully executed the file.') + except Exception as e: + fail_flag = True + logger.warning("Unable to execute the sql file %s", file_path) + raise CLIError(e) + finally: + if cursor is not None: + try: + cursor.close() + if not fail_flag and server_type == 'mysql': + logger.warning('Successfully executed the file.') + logger.warning("Closed the connection to %s", server_name) + except Exception as e: # pylint: disable=broad-except + if server_type == 'postgres': + raise CLIError("Unable to close connection cursor. " + str(e)) + raise CLIError(str(e)) diff --git a/src/rdbms-connect/azext_rdbms_connect/tests/latest/recordings/test_mysql_flexible_server_connect.yaml b/src/rdbms-connect/azext_rdbms_connect/tests/latest/recordings/test_mysql_flexible_server_connect.yaml index d76d28c7e55..328d0684f84 100644 --- a/src/rdbms-connect/azext_rdbms_connect/tests/latest/recordings/test_mysql_flexible_server_connect.yaml +++ b/src/rdbms-connect/azext_rdbms_connect/tests/latest/recordings/test_mysql_flexible_server_connect.yaml @@ -13,1724 +13,27 @@ interactions: ParameterSetName: - -g -n -l --admin-user --storage-size --version --public-access User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-07-01-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBForMySql/locations/westus2/capabilities?api-version=2020-07-01-privatepreview - response: - body: - string: '{"value":[{"zone":"none","supportedFlexibleServerEditions":[{"name":"Burstable","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"supportedStorageMB":[],"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_B1s","vCores":1,"supportedIOPS":320,"supportedMemoryPerVcoreMB":1024,"status":"Available"},{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_B1s","vCores":1,"supportedIOPS":320,"supportedMemoryPerVcoreMB":1024,"status":"Available"},{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"}],"status":"Available"},{"name":"GeneralPurpose","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"supportedStorageMB":[],"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_D2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Default"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_D2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"status":"Default"},{"name":"MemoryOptimized","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"supportedStorageMB":[],"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_E2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_E2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"}],"status":"Available"}],"status":"Default"},{"zone":"1","supportedFlexibleServerEditions":[{"name":"Burstable","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"supportedStorageMB":[],"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_B1s","vCores":1,"supportedIOPS":320,"supportedMemoryPerVcoreMB":1024,"status":"Available"},{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_B1s","vCores":1,"supportedIOPS":320,"supportedMemoryPerVcoreMB":1024,"status":"Available"},{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"}],"status":"Available"},{"name":"GeneralPurpose","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"supportedStorageMB":[],"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_D2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Default"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_D2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"status":"Default"},{"name":"MemoryOptimized","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"supportedStorageMB":[],"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_E2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_E2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"}],"status":"Available"}],"status":"Available"},{"zone":"2","supportedFlexibleServerEditions":[{"name":"Burstable","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"supportedStorageMB":[],"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_B1s","vCores":1,"supportedIOPS":320,"supportedMemoryPerVcoreMB":1024,"status":"Available"},{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_B1s","vCores":1,"supportedIOPS":320,"supportedMemoryPerVcoreMB":1024,"status":"Available"},{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"}],"status":"Available"},{"name":"GeneralPurpose","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"supportedStorageMB":[],"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_D2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Default"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_D2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"status":"Default"},{"name":"MemoryOptimized","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"supportedStorageMB":[],"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_E2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_E2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"}],"status":"Available"}],"status":"Available"},{"zone":"3","supportedFlexibleServerEditions":[{"name":"Burstable","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"supportedStorageMB":[],"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_B1s","vCores":1,"supportedIOPS":320,"supportedMemoryPerVcoreMB":1024,"status":"Available"},{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_B1s","vCores":1,"supportedIOPS":320,"supportedMemoryPerVcoreMB":1024,"status":"Available"},{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"}],"status":"Available"},{"name":"GeneralPurpose","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"supportedStorageMB":[],"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_D2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Default"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_D2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"status":"Default"},{"name":"MemoryOptimized","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"supportedStorageMB":[],"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_E2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_E2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"}],"status":"Available"}],"status":"Available"}]}' - headers: - cache-control: - - no-cache - content-length: - - '21400' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 03 Mar 2021 07:51: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 flexible-server create - Connection: - - keep-alive - ParameterSetName: - - -g -n -l --admin-user --storage-size --version --public-access - User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US - method: HEAD - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2020-10-01 - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Wed, 03 Mar 2021 07:51:25 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - status: - code: 204 - message: No Content -- request: - body: '{"location": "westus2", "sku": {"name": "Standard_B1ms", "tier": "Burstable"}, - "properties": {"administratorLogin": "cliuser", "administratorLoginPassword": - "0n6uMJkDbgYgoDmAVNlZtg", "version": "5.7", "haEnabled": "Disabled", "storageProfile": - {"backupRetentionDays": 7, "storageMB": 32768, "storageIops": 100}, "createMode": - "Default"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - mysql flexible-server create - Connection: - - keep-alive - Content-Length: - - '337' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - -g -n -l --admin-user --storage-size --version --public-access - User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-07-01-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForMySql/flexibleServers/azuredbclitest-000002?api-version=2020-07-01-privatepreview - response: - body: - string: '{"operation":"UpsertServerManagementOperationV2","startTime":"2021-03-03T07:51:28.257Z"}' - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/39cab829-6caa-4351-8cc8-2b93fbe4db8e?api-version=2020-07-01-privatepreview - cache-control: - - no-cache - content-length: - - '88' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 03 Mar 2021 07:51:28 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/operationResults/39cab829-6caa-4351-8cc8-2b93fbe4db8e?api-version=2020-07-01-privatepreview - 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 flexible-server create - Connection: - - keep-alive - ParameterSetName: - - -g -n -l --admin-user --storage-size --version --public-access - User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-07-01-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/39cab829-6caa-4351-8cc8-2b93fbe4db8e?api-version=2020-07-01-privatepreview - response: - body: - string: '{"name":"39cab829-6caa-4351-8cc8-2b93fbe4db8e","status":"InProgress","startTime":"2021-03-03T07:51:28.257Z"}' - headers: - cache-control: - - no-cache - content-length: - - '108' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 03 Mar 2021 07:52: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 flexible-server create - Connection: - - keep-alive - ParameterSetName: - - -g -n -l --admin-user --storage-size --version --public-access - User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-07-01-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/39cab829-6caa-4351-8cc8-2b93fbe4db8e?api-version=2020-07-01-privatepreview - response: - body: - string: '{"name":"39cab829-6caa-4351-8cc8-2b93fbe4db8e","status":"InProgress","startTime":"2021-03-03T07:51:28.257Z"}' - headers: - cache-control: - - no-cache - content-length: - - '108' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 03 Mar 2021 07:53: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 flexible-server create - Connection: - - keep-alive - ParameterSetName: - - -g -n -l --admin-user --storage-size --version --public-access - User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-07-01-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/39cab829-6caa-4351-8cc8-2b93fbe4db8e?api-version=2020-07-01-privatepreview - response: - body: - string: '{"error":{"code":"InternalServerError","message":"An unexpected error - occured while processing the request. Tracking ID: ''5041e63b-1de3-4eca-876c-2d2cc8ec02f2''"}}' - headers: - cache-control: - - no-cache - connection: - - close - content-length: - - '162' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 03 Mar 2021 07:54:45 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-failure-cause: - - service - status: - code: 500 - message: Internal Server Error -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - mysql flexible-server create - Connection: - - keep-alive - ParameterSetName: - - -g -n -l --admin-user --storage-size --version --public-access - User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-07-01-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/39cab829-6caa-4351-8cc8-2b93fbe4db8e?api-version=2020-07-01-privatepreview - response: - body: - string: '{"error":{"code":"InternalServerError","message":"An unexpected error - occured while processing the request. Tracking ID: ''16eb436b-37c5-4454-a8e0-cd2e8e22b517''"}}' - headers: - cache-control: - - no-cache - connection: - - close - content-length: - - '162' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 03 Mar 2021 07:55:04 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-failure-cause: - - service - status: - code: 500 - message: Internal Server Error -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - mysql flexible-server create - Connection: - - keep-alive - ParameterSetName: - - -g -n -l --admin-user --storage-size --version --public-access - User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-07-01-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/39cab829-6caa-4351-8cc8-2b93fbe4db8e?api-version=2020-07-01-privatepreview - response: - body: - string: '{"name":"39cab829-6caa-4351-8cc8-2b93fbe4db8e","status":"InProgress","startTime":"2021-03-03T07:51:28.257Z"}' - headers: - cache-control: - - no-cache - content-length: - - '108' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 03 Mar 2021 07:55: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 flexible-server create - Connection: - - keep-alive - ParameterSetName: - - -g -n -l --admin-user --storage-size --version --public-access - User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-07-01-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/39cab829-6caa-4351-8cc8-2b93fbe4db8e?api-version=2020-07-01-privatepreview - response: - body: - string: '{"error":{"code":"InternalServerError","message":"An unexpected error - occured while processing the request. Tracking ID: ''d165e888-45ac-4bf2-8e15-a7afd8b17ba7''"}}' - headers: - cache-control: - - no-cache - connection: - - close - content-length: - - '162' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 03 Mar 2021 07:56:36 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-failure-cause: - - service - status: - code: 500 - message: Internal Server Error -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - mysql flexible-server create - Connection: - - keep-alive - ParameterSetName: - - -g -n -l --admin-user --storage-size --version --public-access - User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-07-01-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/39cab829-6caa-4351-8cc8-2b93fbe4db8e?api-version=2020-07-01-privatepreview - response: - body: - string: '{"name":"39cab829-6caa-4351-8cc8-2b93fbe4db8e","status":"InProgress","startTime":"2021-03-03T07:51:28.257Z"}' - headers: - cache-control: - - no-cache - content-length: - - '108' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 03 Mar 2021 07:56: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 flexible-server create - Connection: - - keep-alive - ParameterSetName: - - -g -n -l --admin-user --storage-size --version --public-access - User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-07-01-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/39cab829-6caa-4351-8cc8-2b93fbe4db8e?api-version=2020-07-01-privatepreview - response: - body: - string: '{"name":"39cab829-6caa-4351-8cc8-2b93fbe4db8e","status":"InProgress","startTime":"2021-03-03T07:51:28.257Z"}' - headers: - cache-control: - - no-cache - content-length: - - '108' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 03 Mar 2021 07: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 flexible-server create - Connection: - - keep-alive - ParameterSetName: - - -g -n -l --admin-user --storage-size --version --public-access - User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-07-01-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/39cab829-6caa-4351-8cc8-2b93fbe4db8e?api-version=2020-07-01-privatepreview - response: - body: - string: '{"name":"39cab829-6caa-4351-8cc8-2b93fbe4db8e","status":"Succeeded","startTime":"2021-03-03T07:51:28.257Z"}' - headers: - cache-control: - - no-cache - content-length: - - '107' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 03 Mar 2021 07:58: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 flexible-server create - Connection: - - keep-alive - ParameterSetName: - - -g -n -l --admin-user --storage-size --version --public-access - User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-07-01-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForMySql/flexibleServers/azuredbclitest-000002?api-version=2020-07-01-privatepreview - response: - body: - string: '{"sku":{"name":"Standard_B1ms","tier":"Burstable","capacity":0},"properties":{"administratorLogin":"cliuser","storageProfile":{"storageMB":32768,"storageIops":100,"backupRetentionDays":7,"storageAutogrow":"Disabled","fileStorageSkuName":"Premium_LRS"},"version":"5.7","state":"Ready","haState":"NotEnabled","fullyQualifiedDomainName":"azuredbclitest-000002.mysql.database.azure.com","sourceServerId":"","publicNetworkAccess":"Enabled","sslEnforcement":"Disabled","haEnabled":"Disabled","earliestRestoreDate":"2021-03-03T07:58:38.6750466+00:00","maintenanceWindow":{"customWindow":"Disabled","dayOfWeek":0,"startHour":0,"startMinute":0},"replicationRole":"None","replicaCapacity":10,"byokEnforcement":"Disabled"},"location":"West - US 2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/flexibleServers/azuredbclitest-000002","name":"azuredbclitest-000002","type":"Microsoft.DBforMySQL/flexibleServers"}' - headers: - cache-control: - - no-cache - content-length: - - '1028' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 03 Mar 2021 07:58: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 flexible-server create - Connection: - - keep-alive - ParameterSetName: - - -g -n -l --admin-user --storage-size --version --public-access - User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-07-01-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForMySql/flexibleServers/azuredbclitest-000002/databases/flexibleserverdb?api-version=2020-07-01-privatepreview - response: - body: - string: '{"error":{"code":"InternalServerError","message":"An unexpected error - occured while processing the request. Tracking ID: ''f6de237d-44b0-4e2c-b2b7-81263974f1a3''"}}' - headers: - cache-control: - - no-cache - connection: - - close - content-length: - - '162' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 03 Mar 2021 07:58:39 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-failure-cause: - - service - status: - code: 500 - message: Internal Server Error -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - mysql flexible-server create - Connection: - - keep-alive - ParameterSetName: - - -g -n -l --admin-user --storage-size --version --public-access - User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-07-01-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForMySql/flexibleServers/azuredbclitest-000002/databases/flexibleserverdb?api-version=2020-07-01-privatepreview - response: - body: - string: '{"error":{"code":"InternalServerError","message":"An unexpected error - occured while processing the request. Tracking ID: ''01c2e93a-2ea4-4331-adfe-63705e74e6b4''"}}' - headers: - cache-control: - - no-cache - connection: - - close - content-length: - - '162' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 03 Mar 2021 07:58:39 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-failure-cause: - - service - status: - code: 500 - message: Internal Server Error -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - mysql flexible-server create - Connection: - - keep-alive - ParameterSetName: - - -g -n -l --admin-user --storage-size --version --public-access - User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-07-01-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForMySql/flexibleServers/azuredbclitest-000002/databases/flexibleserverdb?api-version=2020-07-01-privatepreview - response: - body: - string: '{"error":{"code":"ResourceNotFound","message":"The requested resource - of type ''Microsoft.DBforMySQL/flexibleServers/databases'' with name ''flexibleserverdb'' - was not found."}}' - headers: - cache-control: - - no-cache - content-length: - - '173' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 03 Mar 2021 07:58:42 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - status: - code: 404 - message: Not Found -- request: - body: '{"properties": {"charset": "utf8"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - mysql flexible-server create - Connection: - - keep-alive - Content-Length: - - '35' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - -g -n -l --admin-user --storage-size --version --public-access - User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-07-01-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForMySql/flexibleServers/azuredbclitest-000002/databases/flexibleserverdb?api-version=2020-07-01-privatepreview - response: - body: - string: '{"operation":"UpsertServerDatabaseManagementOperation","startTime":"2021-03-03T07:58:42.923Z"}' - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/93c28da0-ba1c-4859-8ef1-75b1a4b50bd2?api-version=2020-07-01-privatepreview - cache-control: - - no-cache - content-length: - - '94' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 03 Mar 2021 07:58:42 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/operationResults/93c28da0-ba1c-4859-8ef1-75b1a4b50bd2?api-version=2020-07-01-privatepreview - 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 flexible-server create - Connection: - - keep-alive - ParameterSetName: - - -g -n -l --admin-user --storage-size --version --public-access - User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-07-01-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/93c28da0-ba1c-4859-8ef1-75b1a4b50bd2?api-version=2020-07-01-privatepreview - response: - body: - string: '{"error":{"code":"InternalServerError","message":"An unexpected error - occured while processing the request. Tracking ID: ''b373bc9e-2225-4477-a0df-08f2872e7f13''"}}' - headers: - cache-control: - - no-cache - connection: - - close - content-length: - - '162' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 03 Mar 2021 07:59:07 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-failure-cause: - - service - status: - code: 500 - message: Internal Server Error -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - mysql flexible-server create - Connection: - - keep-alive - ParameterSetName: - - -g -n -l --admin-user --storage-size --version --public-access - User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-07-01-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/93c28da0-ba1c-4859-8ef1-75b1a4b50bd2?api-version=2020-07-01-privatepreview - response: - body: - string: '{"name":"93c28da0-ba1c-4859-8ef1-75b1a4b50bd2","status":"Succeeded","startTime":"2021-03-03T07:58:42.923Z"}' - headers: - cache-control: - - no-cache - content-length: - - '107' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 03 Mar 2021 07:59: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 flexible-server create - Connection: - - keep-alive - ParameterSetName: - - -g -n -l --admin-user --storage-size --version --public-access - User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-07-01-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForMySql/flexibleServers/azuredbclitest-000002/databases/flexibleserverdb?api-version=2020-07-01-privatepreview - response: - body: - string: '{"properties":{"charset":"latin1","collation":"latin1_swedish_ci"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/flexibleServers/azuredbclitest-000002/databases/flexibleserverdb","name":"flexibleserverdb","type":"Microsoft.DBforMySQL/flexibleServers/databases"}' - headers: - cache-control: - - no-cache - content-length: - - '394' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 03 Mar 2021 07:59: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 flexible-server update - Connection: - - keep-alive - ParameterSetName: - - -g -n -p - User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-07-01-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForMySql/flexibleServers/azuredbclitest-000002?api-version=2020-07-01-privatepreview - response: - body: - string: '{"sku":{"name":"Standard_B1ms","tier":"Burstable","capacity":0},"properties":{"administratorLogin":"cliuser","storageProfile":{"storageMB":32768,"storageIops":100,"backupRetentionDays":7,"storageAutogrow":"Disabled","fileStorageSkuName":"Premium_LRS"},"version":"5.7","state":"Ready","haState":"NotEnabled","fullyQualifiedDomainName":"azuredbclitest-000002.mysql.database.azure.com","sourceServerId":"","publicNetworkAccess":"Enabled","sslEnforcement":"Disabled","haEnabled":"Disabled","earliestRestoreDate":"2021-03-03T07:59:09.8315239+00:00","maintenanceWindow":{"customWindow":"Disabled","dayOfWeek":0,"startHour":0,"startMinute":0},"replicationRole":"None","replicaCapacity":10,"byokEnforcement":"Disabled"},"location":"West - US 2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/flexibleServers/azuredbclitest-000002","name":"azuredbclitest-000002","type":"Microsoft.DBforMySQL/flexibleServers"}' - headers: - cache-control: - - no-cache - content-length: - - '1028' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 03 Mar 2021 07:59: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 flexible-server update - Connection: - - keep-alive - ParameterSetName: - - -g -n -p - User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-07-01-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBForMySql/locations/westus2/capabilities?api-version=2020-07-01-privatepreview - response: - body: - string: '{"error":{"code":"GatewayTimeout","message":"The gateway did not receive - a response from ''Microsoft.DBforMySQL'' within the specified time period."}}' - headers: - cache-control: - - no-cache - connection: - - close - content-length: - - '148' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 03 Mar 2021 08:00:10 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-failure-cause: - - service - status: - code: 504 - message: Gateway Timeout -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - mysql flexible-server update - Connection: - - keep-alive - ParameterSetName: - - -g -n -p - User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-07-01-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBForMySql/locations/westus2/capabilities?api-version=2020-07-01-privatepreview - response: - body: - string: '{"value":[{"zone":"none","supportedFlexibleServerEditions":[{"name":"Burstable","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"supportedStorageMB":[],"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_B1s","vCores":1,"supportedIOPS":320,"supportedMemoryPerVcoreMB":1024,"status":"Available"},{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_B1s","vCores":1,"supportedIOPS":320,"supportedMemoryPerVcoreMB":1024,"status":"Available"},{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"}],"status":"Available"},{"name":"GeneralPurpose","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"supportedStorageMB":[],"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_D2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Default"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_D2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"status":"Default"},{"name":"MemoryOptimized","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"supportedStorageMB":[],"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_E2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_E2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"}],"status":"Available"}],"status":"Default"},{"zone":"1","supportedFlexibleServerEditions":[{"name":"Burstable","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"supportedStorageMB":[],"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_B1s","vCores":1,"supportedIOPS":320,"supportedMemoryPerVcoreMB":1024,"status":"Available"},{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_B1s","vCores":1,"supportedIOPS":320,"supportedMemoryPerVcoreMB":1024,"status":"Available"},{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"}],"status":"Available"},{"name":"GeneralPurpose","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"supportedStorageMB":[],"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_D2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Default"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_D2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"status":"Default"},{"name":"MemoryOptimized","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"supportedStorageMB":[],"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_E2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_E2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"}],"status":"Available"}],"status":"Available"},{"zone":"2","supportedFlexibleServerEditions":[{"name":"Burstable","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"supportedStorageMB":[],"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_B1s","vCores":1,"supportedIOPS":320,"supportedMemoryPerVcoreMB":1024,"status":"Available"},{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_B1s","vCores":1,"supportedIOPS":320,"supportedMemoryPerVcoreMB":1024,"status":"Available"},{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"}],"status":"Available"},{"name":"GeneralPurpose","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"supportedStorageMB":[],"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_D2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Default"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_D2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"status":"Default"},{"name":"MemoryOptimized","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"supportedStorageMB":[],"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_E2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_E2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"}],"status":"Available"}],"status":"Available"},{"zone":"3","supportedFlexibleServerEditions":[{"name":"Burstable","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"supportedStorageMB":[],"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_B1s","vCores":1,"supportedIOPS":320,"supportedMemoryPerVcoreMB":1024,"status":"Available"},{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_B1s","vCores":1,"supportedIOPS":320,"supportedMemoryPerVcoreMB":1024,"status":"Available"},{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"}],"status":"Available"},{"name":"GeneralPurpose","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"supportedStorageMB":[],"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_D2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Default"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_D2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"status":"Default"},{"name":"MemoryOptimized","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"supportedStorageMB":[],"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_E2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_E2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"}],"status":"Available"}],"status":"Available"}]}' - headers: - cache-control: - - no-cache - content-length: - - '21400' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 03 Mar 2021 08:00: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: '{"sku": {"name": "Standard_B1ms", "tier": "Burstable"}, "properties": {"storageProfile": - {"backupRetentionDays": 7, "storageMB": 32768, "storageIops": 100, "storageAutogrow": - "Disabled"}, "administratorLoginPassword": "cliPwd000003", "maintenanceWindow": - {"customWindow": "Disabled", "startHour": 0, "startMinute": 0, "dayOfWeek": - 0}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - mysql flexible-server update - Connection: - - keep-alive - Content-Length: - - '338' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - -g -n -p - User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-07-01-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US - method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForMySql/flexibleServers/azuredbclitest-000002?api-version=2020-07-01-privatepreview - response: - body: - string: '{"operation":"UpsertServerManagementOperationV2","startTime":"2021-03-03T08:00:11.173Z"}' - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/3cc14d06-495b-4113-b54a-b6e6125020ec?api-version=2020-07-01-privatepreview - cache-control: - - no-cache - content-length: - - '88' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 03 Mar 2021 08:00:11 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/operationResults/3cc14d06-495b-4113-b54a-b6e6125020ec?api-version=2020-07-01-privatepreview - 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 flexible-server update - Connection: - - keep-alive - ParameterSetName: - - -g -n -p - User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-07-01-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/3cc14d06-495b-4113-b54a-b6e6125020ec?api-version=2020-07-01-privatepreview - response: - body: - string: '{"name":"3cc14d06-495b-4113-b54a-b6e6125020ec","status":"Succeeded","startTime":"2021-03-03T08:00:11.173Z"}' - headers: - cache-control: - - no-cache - content-length: - - '107' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 03 Mar 2021 08:01: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 flexible-server update - Connection: - - keep-alive - ParameterSetName: - - -g -n -p - User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-07-01-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForMySql/flexibleServers/azuredbclitest-000002?api-version=2020-07-01-privatepreview - response: - body: - string: '{"sku":{"name":"Standard_B1ms","tier":"Burstable","capacity":0},"properties":{"administratorLogin":"cliuser","storageProfile":{"storageMB":32768,"storageIops":100,"backupRetentionDays":7,"storageAutogrow":"Disabled","fileStorageSkuName":"Premium_LRS"},"version":"5.7","state":"Ready","haState":"NotEnabled","fullyQualifiedDomainName":"azuredbclitest-000002.mysql.database.azure.com","sourceServerId":"","publicNetworkAccess":"Enabled","sslEnforcement":"Disabled","haEnabled":"Disabled","earliestRestoreDate":"2021-03-03T08:01:11.7834464+00:00","maintenanceWindow":{"customWindow":"Disabled","dayOfWeek":0,"startHour":0,"startMinute":0},"replicationRole":"None","replicaCapacity":10,"byokEnforcement":"Disabled"},"location":"West - US 2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/flexibleServers/azuredbclitest-000002","name":"azuredbclitest-000002","type":"Microsoft.DBforMySQL/flexibleServers"}' - headers: - cache-control: - - no-cache - content-length: - - '1028' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 03 Mar 2021 08:01: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: '{"properties": {"startIpAddress": "0.0.0.0", "endIpAddress": "255.255.255.255"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - mysql flexible-server firewall-rule create - Connection: - - keep-alive - Content-Length: - - '80' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - -g -n --rule-name --start-ip-address --end-ip-address - User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-07-01-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForMySql/flexibleServers/azuredbclitest-000002/firewallRules/allIps?api-version=2020-07-01-privatepreview - response: - body: - string: '{"operation":"UpsertServerFirewallRulesManagementOperation","startTime":"2021-03-03T08:01:22.72Z"}' - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/2529d0ea-3ed9-4ca6-82a9-8fcba9746dbd?api-version=2020-07-01-privatepreview - cache-control: - - no-cache - content-length: - - '98' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 03 Mar 2021 08:01:22 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/operationResults/2529d0ea-3ed9-4ca6-82a9-8fcba9746dbd?api-version=2020-07-01-privatepreview - 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 flexible-server firewall-rule create - Connection: - - keep-alive - ParameterSetName: - - -g -n --rule-name --start-ip-address --end-ip-address - User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-07-01-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/2529d0ea-3ed9-4ca6-82a9-8fcba9746dbd?api-version=2020-07-01-privatepreview - response: - body: - string: '{"name":"2529d0ea-3ed9-4ca6-82a9-8fcba9746dbd","status":"Succeeded","startTime":"2021-03-03T08:01:22.72Z"}' - headers: - cache-control: - - no-cache - content-length: - - '106' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 03 Mar 2021 08:02: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 flexible-server firewall-rule create - Connection: - - keep-alive - ParameterSetName: - - -g -n --rule-name --start-ip-address --end-ip-address - User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-07-01-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForMySql/flexibleServers/azuredbclitest-000002/firewallRules/allIps?api-version=2020-07-01-privatepreview - response: - body: - string: '{"properties":{"startIpAddress":"0.0.0.0","endIpAddress":"255.255.255.255"},"name":"allIps","type":"Microsoft.DBforMySQL/flexibleServers/firewallRules"}' - headers: - cache-control: - - no-cache - content-length: - - '152' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 03 Mar 2021 08:02: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 flexible-server create - Connection: - - keep-alive - ParameterSetName: - - -g -n -l --admin-user --storage-size --version - User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-07-01-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBForMySql/locations/westus2/capabilities?api-version=2020-07-01-privatepreview - response: - body: - string: '{"value":[{"zone":"none","supportedFlexibleServerEditions":[{"name":"Burstable","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"supportedStorageMB":[],"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_B1s","vCores":1,"supportedIOPS":320,"supportedMemoryPerVcoreMB":1024,"status":"Available"},{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_B1s","vCores":1,"supportedIOPS":320,"supportedMemoryPerVcoreMB":1024,"status":"Available"},{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"}],"status":"Available"},{"name":"GeneralPurpose","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"supportedStorageMB":[],"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_D2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Default"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_D2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"status":"Default"},{"name":"MemoryOptimized","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"supportedStorageMB":[],"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_E2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_E2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"}],"status":"Available"}],"status":"Default"},{"zone":"1","supportedFlexibleServerEditions":[{"name":"Burstable","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"supportedStorageMB":[],"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_B1s","vCores":1,"supportedIOPS":320,"supportedMemoryPerVcoreMB":1024,"status":"Available"},{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_B1s","vCores":1,"supportedIOPS":320,"supportedMemoryPerVcoreMB":1024,"status":"Available"},{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"}],"status":"Available"},{"name":"GeneralPurpose","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"supportedStorageMB":[],"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_D2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Default"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_D2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"status":"Default"},{"name":"MemoryOptimized","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"supportedStorageMB":[],"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_E2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_E2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"}],"status":"Available"}],"status":"Available"},{"zone":"2","supportedFlexibleServerEditions":[{"name":"Burstable","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"supportedStorageMB":[],"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_B1s","vCores":1,"supportedIOPS":320,"supportedMemoryPerVcoreMB":1024,"status":"Available"},{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_B1s","vCores":1,"supportedIOPS":320,"supportedMemoryPerVcoreMB":1024,"status":"Available"},{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"}],"status":"Available"},{"name":"GeneralPurpose","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"supportedStorageMB":[],"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_D2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Default"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_D2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"status":"Default"},{"name":"MemoryOptimized","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"supportedStorageMB":[],"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_E2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_E2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"}],"status":"Available"}],"status":"Available"},{"zone":"3","supportedFlexibleServerEditions":[{"name":"Burstable","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"supportedStorageMB":[],"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_B1s","vCores":1,"supportedIOPS":320,"supportedMemoryPerVcoreMB":1024,"status":"Available"},{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_B1s","vCores":1,"supportedIOPS":320,"supportedMemoryPerVcoreMB":1024,"status":"Available"},{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"}],"status":"Available"},{"name":"GeneralPurpose","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"supportedStorageMB":[],"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_D2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Default"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_D2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"status":"Default"},{"name":"MemoryOptimized","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"supportedStorageMB":[],"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_E2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_E2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"}],"status":"Available"}],"status":"Available"}]}' - headers: - cache-control: - - no-cache - content-length: - - '21400' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 03 Mar 2021 08:02: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 flexible-server create - Connection: - - keep-alive - ParameterSetName: - - -g -n -l --admin-user --storage-size --version - User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US - method: HEAD - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2020-10-01 - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Wed, 03 Mar 2021 08:02:24 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - status: - code: 204 - message: No Content -- request: - body: '{"location": "westus2", "properties": {"addressSpace": {"addressPrefixes": - ["10.0.0.0/16"]}, "enableDdosProtection": false, "enableVmProtection": false}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - mysql flexible-server create - Connection: - - keep-alive - Content-Length: - - '153' - Content-Type: - - application/json - ParameterSetName: - - -g -n -l --admin-user --storage-size --version - User-Agent: - - AZURECLI/2.19.1 azsdk-python-azure-mgmt-network/17.0.0 Python/3.7.2 (Windows-10-10.0.19041-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/VNETbclitest-thlww?api-version=2020-07-01 - response: - body: - string: "{\r\n \"name\": \"VNETbclitest-thlww\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/VNETbclitest-thlww\",\r\n - \ \"etag\": \"W/\\\"4abeb40e-c48a-412a-ac8e-bb280e951d9b\\\"\",\r\n \"type\": - \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus2\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"resourceGuid\": - \"7ed9c4a5-5a37-4a30-bae1-45d11292940b\",\r\n \"addressSpace\": {\r\n \"addressPrefixes\": - [\r\n \"10.0.0.0/16\"\r\n ]\r\n },\r\n \"subnets\": [],\r\n - \ \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": false,\r\n - \ \"enableVmProtection\": false\r\n }\r\n}" - headers: - azure-asyncnotification: - - Enabled - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/457f9532-ce36-479b-903e-c2f5329061ff?api-version=2020-07-01 - cache-control: - - no-cache - content-length: - - '724' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 03 Mar 2021 08:02:30 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-arm-service-request-id: - - 2fc91255-0e26-46b7-96e6-4ee88eb9cb33 - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - status: - code: 201 - message: Created -- request: - body: '{"name": "Subnetbclitest-thlww", "properties": {"addressPrefix": "10.0.0.0/24", - "serviceEndpoints": [{"service": "Microsoft.Storage"}], "delegations": [{"name": - "Microsoft.DBforMySQL/flexibleServers", "properties": {"serviceName": "Microsoft.DBforMySQL/flexibleServers"}}]}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - mysql flexible-server create - Connection: - - keep-alive - Content-Length: - - '274' - Content-Type: - - application/json - ParameterSetName: - - -g -n -l --admin-user --storage-size --version - User-Agent: - - AZURECLI/2.19.1 azsdk-python-azure-mgmt-network/17.0.0 Python/3.7.2 (Windows-10-10.0.19041-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/VNETbclitest-thlww/subnets/Subnetbclitest-thlww?api-version=2020-07-01 - response: - body: - string: "{\r\n \"name\": \"Subnetbclitest-thlww\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/VNETbclitest-thlww/subnets/Subnetbclitest-thlww\",\r\n - \ \"etag\": \"W/\\\"45a3f9f4-108d-4e09-ae4d-93a8a54b2db0\\\"\",\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 - \ \"westus2\",\r\n \"westcentralus\"\r\n ]\r\n }\r\n - \ ],\r\n \"delegations\": [\r\n {\r\n \"name\": \"Microsoft.DBforMySQL/flexibleServers\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/VNETbclitest-thlww/subnets/Subnetbclitest-thlww/delegations/Microsoft.DBforMySQL/flexibleServers\",\r\n - \ \"etag\": \"W/\\\"45a3f9f4-108d-4e09-ae4d-93a8a54b2db0\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"serviceName\": \"Microsoft.DBforMySQL/flexibleServers\",\r\n \"actions\": - [\r\n \"Microsoft.Network/virtualNetworks/subnets/join/action\"\r\n - \ ]\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets/delegations\"\r\n - \ }\r\n ],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n - \ \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n },\r\n \"type\": - \"Microsoft.Network/virtualNetworks/subnets\"\r\n}" - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/1ea7ad02-70fa-4077-8682-ae2dbc2277d3?api-version=2020-07-01 - cache-control: - - no-cache - content-length: - - '1617' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 03 Mar 2021 08:02:30 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-arm-service-request-id: - - 5ce09eb9-c029-4817-9fb1-01f160e0ffb7 - x-ms-ratelimit-remaining-subscription-writes: - - '1198' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - mysql flexible-server create - Connection: - - keep-alive - ParameterSetName: - - -g -n -l --admin-user --storage-size --version - User-Agent: - - AZURECLI/2.19.1 azsdk-python-azure-mgmt-network/17.0.0 Python/3.7.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/457f9532-ce36-479b-903e-c2f5329061ff?api-version=2020-07-01 - response: - body: - string: "{\r\n \"status\": \"Canceled\",\r\n \"error\": {\r\n \"code\": - \"Canceled\",\r\n \"message\": \"Operation was canceled.\",\r\n \"details\": - [\r\n {\r\n \"code\": \"CanceledAndSupersededDueToAnotherOperation\",\r\n - \ \"message\": \"Operation PutVirtualNetworkOperation (457f9532-ce36-479b-903e-c2f5329061ff) - was canceled and superseded by operation PutSubnetOperation (1ea7ad02-70fa-4077-8682-ae2dbc2277d3).\"\r\n - \ }\r\n ]\r\n }\r\n}" - headers: - cache-control: - - no-cache - canceled-by-azure-asyncoperation: - - https://management.azure.com/subscriptions/7fec3109-5b78-4a24-b834-5d47d63e2596/providers/Microsoft.Network/locations/westus2/operations/1ea7ad02-70fa-4077-8682-ae2dbc2277d3?api-version=2020-07-01 - content-length: - - '420' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 03 Mar 2021 08:02:33 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 - x-ms-arm-service-request-id: - - 0cf9e0ce-9107-49eb-8d1e-af289ec5ed4c - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - mysql flexible-server create - Connection: - - keep-alive - ParameterSetName: - - -g -n -l --admin-user --storage-size --version - User-Agent: - - AZURECLI/2.19.1 azsdk-python-azure-mgmt-network/17.0.0 Python/3.7.2 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.22.1 azsdk-python-mgmt-rdbms/unknown Python/3.7.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus2/operations/1ea7ad02-70fa-4077-8682-ae2dbc2277d3?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBForMySql/locations/westus2/capabilities?api-version=2020-07-01-preview response: body: - string: "{\r\n \"status\": \"Succeeded\"\r\n}" + string: '{"value":[{"zone":"none","supportedFlexibleServerEditions":[{"name":"Burstable","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_B1s","vCores":1,"supportedIops":320,"supportedMemoryPerVcoreMB":1024,"status":"Available"},{"name":"Standard_B1ms","vCores":1,"supportedIops":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIops":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_B1s","vCores":1,"supportedIops":320,"supportedMemoryPerVcoreMB":1024,"status":"Available"},{"name":"Standard_B1ms","vCores":1,"supportedIops":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIops":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"}],"status":"Available"},{"name":"GeneralPurpose","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_D2ds_v4","vCores":2,"supportedIops":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4ds_v4","vCores":4,"supportedIops":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8ds_v4","vCores":8,"supportedIops":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16ds_v4","vCores":16,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32ds_v4","vCores":32,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48ds_v4","vCores":48,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64ds_v4","vCores":64,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Default"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_D2ds_v4","vCores":2,"supportedIops":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4ds_v4","vCores":4,"supportedIops":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8ds_v4","vCores":8,"supportedIops":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16ds_v4","vCores":16,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32ds_v4","vCores":32,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48ds_v4","vCores":48,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64ds_v4","vCores":64,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"status":"Default"},{"name":"MemoryOptimized","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_E2ds_v4","vCores":2,"supportedIops":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4ds_v4","vCores":4,"supportedIops":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8ds_v4","vCores":8,"supportedIops":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16ds_v4","vCores":16,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32ds_v4","vCores":32,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48ds_v4","vCores":48,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64ds_v4","vCores":64,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_E2ds_v4","vCores":2,"supportedIops":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4ds_v4","vCores":4,"supportedIops":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8ds_v4","vCores":8,"supportedIops":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16ds_v4","vCores":16,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32ds_v4","vCores":32,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48ds_v4","vCores":48,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64ds_v4","vCores":64,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"}],"status":"Available"}],"status":"Default"},{"zone":"1","supportedFlexibleServerEditions":[{"name":"Burstable","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_B1s","vCores":1,"supportedIops":320,"supportedMemoryPerVcoreMB":1024,"status":"Available"},{"name":"Standard_B1ms","vCores":1,"supportedIops":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIops":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_B1s","vCores":1,"supportedIops":320,"supportedMemoryPerVcoreMB":1024,"status":"Available"},{"name":"Standard_B1ms","vCores":1,"supportedIops":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIops":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"}],"status":"Available"},{"name":"GeneralPurpose","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_D2ds_v4","vCores":2,"supportedIops":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4ds_v4","vCores":4,"supportedIops":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8ds_v4","vCores":8,"supportedIops":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16ds_v4","vCores":16,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32ds_v4","vCores":32,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48ds_v4","vCores":48,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64ds_v4","vCores":64,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Default"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_D2ds_v4","vCores":2,"supportedIops":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4ds_v4","vCores":4,"supportedIops":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8ds_v4","vCores":8,"supportedIops":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16ds_v4","vCores":16,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32ds_v4","vCores":32,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48ds_v4","vCores":48,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64ds_v4","vCores":64,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"status":"Default"},{"name":"MemoryOptimized","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_E2ds_v4","vCores":2,"supportedIops":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4ds_v4","vCores":4,"supportedIops":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8ds_v4","vCores":8,"supportedIops":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16ds_v4","vCores":16,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32ds_v4","vCores":32,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48ds_v4","vCores":48,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64ds_v4","vCores":64,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_E2ds_v4","vCores":2,"supportedIops":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4ds_v4","vCores":4,"supportedIops":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8ds_v4","vCores":8,"supportedIops":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16ds_v4","vCores":16,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32ds_v4","vCores":32,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48ds_v4","vCores":48,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64ds_v4","vCores":64,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"}],"status":"Available"}],"status":"Available"},{"zone":"2","supportedFlexibleServerEditions":[{"name":"Burstable","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_B1s","vCores":1,"supportedIops":320,"supportedMemoryPerVcoreMB":1024,"status":"Available"},{"name":"Standard_B1ms","vCores":1,"supportedIops":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIops":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_B1s","vCores":1,"supportedIops":320,"supportedMemoryPerVcoreMB":1024,"status":"Available"},{"name":"Standard_B1ms","vCores":1,"supportedIops":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIops":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"}],"status":"Available"},{"name":"GeneralPurpose","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_D2ds_v4","vCores":2,"supportedIops":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4ds_v4","vCores":4,"supportedIops":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8ds_v4","vCores":8,"supportedIops":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16ds_v4","vCores":16,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32ds_v4","vCores":32,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48ds_v4","vCores":48,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64ds_v4","vCores":64,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Default"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_D2ds_v4","vCores":2,"supportedIops":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4ds_v4","vCores":4,"supportedIops":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8ds_v4","vCores":8,"supportedIops":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16ds_v4","vCores":16,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32ds_v4","vCores":32,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48ds_v4","vCores":48,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64ds_v4","vCores":64,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"status":"Default"},{"name":"MemoryOptimized","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_E2ds_v4","vCores":2,"supportedIops":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4ds_v4","vCores":4,"supportedIops":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8ds_v4","vCores":8,"supportedIops":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16ds_v4","vCores":16,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32ds_v4","vCores":32,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48ds_v4","vCores":48,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64ds_v4","vCores":64,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_E2ds_v4","vCores":2,"supportedIops":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4ds_v4","vCores":4,"supportedIops":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8ds_v4","vCores":8,"supportedIops":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16ds_v4","vCores":16,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32ds_v4","vCores":32,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48ds_v4","vCores":48,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64ds_v4","vCores":64,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"}],"status":"Available"}],"status":"Available"},{"zone":"3","supportedFlexibleServerEditions":[{"name":"Burstable","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_B1s","vCores":1,"supportedIops":320,"supportedMemoryPerVcoreMB":1024,"status":"Available"},{"name":"Standard_B1ms","vCores":1,"supportedIops":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIops":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_B1s","vCores":1,"supportedIops":320,"supportedMemoryPerVcoreMB":1024,"status":"Available"},{"name":"Standard_B1ms","vCores":1,"supportedIops":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIops":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"}],"status":"Available"},{"name":"GeneralPurpose","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_D2ds_v4","vCores":2,"supportedIops":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4ds_v4","vCores":4,"supportedIops":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8ds_v4","vCores":8,"supportedIops":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16ds_v4","vCores":16,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32ds_v4","vCores":32,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48ds_v4","vCores":48,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64ds_v4","vCores":64,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Default"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_D2ds_v4","vCores":2,"supportedIops":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4ds_v4","vCores":4,"supportedIops":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8ds_v4","vCores":8,"supportedIops":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16ds_v4","vCores":16,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32ds_v4","vCores":32,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48ds_v4","vCores":48,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64ds_v4","vCores":64,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"status":"Default"},{"name":"MemoryOptimized","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_E2ds_v4","vCores":2,"supportedIops":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4ds_v4","vCores":4,"supportedIops":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8ds_v4","vCores":8,"supportedIops":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16ds_v4","vCores":16,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32ds_v4","vCores":32,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48ds_v4","vCores":48,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64ds_v4","vCores":64,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_E2ds_v4","vCores":2,"supportedIops":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4ds_v4","vCores":4,"supportedIops":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8ds_v4","vCores":8,"supportedIops":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16ds_v4","vCores":16,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32ds_v4","vCores":32,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48ds_v4","vCores":48,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64ds_v4","vCores":64,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"}],"status":"Available"}],"status":"Available"}]}' headers: cache-control: - no-cache content-length: - - '29' + - '21112' content-type: - application/json; charset=utf-8 date: - - Wed, 03 Mar 2021 08:02:33 GMT + - Fri, 23 Apr 2021 01:36:57 GMT expires: - '-1' pragma: - no-cache server: - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: @@ -1739,8 +42,6 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff - x-ms-arm-service-request-id: - - 6c34a978-a439-4f8d-845d-ca07f861b424 status: code: 200 message: OK @@ -1748,7 +49,7 @@ interactions: body: null headers: Accept: - - '*/*' + - application/json Accept-Encoding: - gzip, deflate CommandName: @@ -1756,67 +57,41 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n -l --admin-user --storage-size --version + - -g -n -l --admin-user --storage-size --version --public-access User-Agent: - - AZURECLI/2.19.1 azsdk-python-azure-mgmt-network/17.0.0 Python/3.7.2 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/VNETbclitest-thlww/subnets/Subnetbclitest-thlww?api-version=2020-07-01 + - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-resource/12.1.0 Azure-SDK-For-Python AZURECLI/2.22.1 + accept-language: + - en-US + method: HEAD + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2020-10-01 response: body: - string: "{\r\n \"name\": \"Subnetbclitest-thlww\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/VNETbclitest-thlww/subnets/Subnetbclitest-thlww\",\r\n - \ \"etag\": \"W/\\\"20b8743d-4b04-46e8-9cd1-d137b178692e\\\"\",\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\": \"Microsoft.Storage\",\r\n \"locations\": [\r\n - \ \"westus2\",\r\n \"westcentralus\"\r\n ]\r\n }\r\n - \ ],\r\n \"delegations\": [\r\n {\r\n \"name\": \"Microsoft.DBforMySQL/flexibleServers\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/VNETbclitest-thlww/subnets/Subnetbclitest-thlww/delegations/Microsoft.DBforMySQL/flexibleServers\",\r\n - \ \"etag\": \"W/\\\"20b8743d-4b04-46e8-9cd1-d137b178692e\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"serviceName\": \"Microsoft.DBforMySQL/flexibleServers\",\r\n \"actions\": - [\r\n \"Microsoft.Network/virtualNetworks/subnets/join/action\"\r\n - \ ]\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets/delegations\"\r\n - \ }\r\n ],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n - \ \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n },\r\n \"type\": - \"Microsoft.Network/virtualNetworks/subnets\"\r\n}" + string: '' headers: cache-control: - no-cache content-length: - - '1619' - content-type: - - application/json; charset=utf-8 + - '0' date: - - Wed, 03 Mar 2021 08:02:33 GMT - etag: - - W/"20b8743d-4b04-46e8-9cd1-d137b178692e" + - Fri, 23 Apr 2021 01:36:56 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 - x-ms-arm-service-request-id: - - ef6e83ac-63de-49d4-8158-c944d49c6328 status: - code: 200 - message: OK + code: 204 + message: No Content - request: body: '{"location": "westus2", "sku": {"name": "Standard_B1ms", "tier": "Burstable"}, "properties": {"administratorLogin": "cliuser", "administratorLoginPassword": - "JHB3UOO0B51YFn8ghz_amw", "version": "5.7", "haEnabled": "Disabled", "storageProfile": - {"backupRetentionDays": 7, "storageMB": 32768, "storageIops": 100}, "delegatedSubnetArguments": - {"subnetArmResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/VNETbclitest-thlww/subnets/Subnetbclitest-thlww"}, - "createMode": "Default"}}' + "jARimDbW0e1WisOQBbUkEg", "version": "5.7", "haEnabled": "Disabled", "storageProfile": + {"backupRetentionDays": 7, "storageMB": 32768, "storageIops": 100}, "createMode": + "Default"}}' headers: Accept: - application/json @@ -1827,24 +102,21 @@ interactions: Connection: - keep-alive Content-Length: - - '628' + - '337' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - - -g -n -l --admin-user --storage-size --version + - -g -n -l --admin-user --storage-size --version --public-access User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-07-01-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US + - AZURECLI/2.22.1 azsdk-python-mgmt-rdbms/unknown Python/3.7.7 (Windows-10-10.0.19041-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForMySql/flexibleServers/azuredbclitest-000004?api-version=2020-07-01-privatepreview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForMySql/flexibleServers/azuredbclitest-000002?api-version=2020-07-01-preview response: body: - string: '{"operation":"UpsertServerManagementOperationV2","startTime":"2021-03-03T08:02:37.443Z"}' + string: '{"operation":"UpsertServerManagementOperationV2","startTime":"2021-04-23T01:36:59.327Z"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/70f32789-3f8f-43dc-b1e8-50e8fa5c7134?api-version=2020-07-01-privatepreview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/65d9f87b-0318-4693-915f-1a27540c33e0?api-version=2020-07-01-preview cache-control: - no-cache content-length: @@ -1852,11 +124,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 03 Mar 2021 08:02:37 GMT + - Fri, 23 Apr 2021 01:36:58 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/operationResults/70f32789-3f8f-43dc-b1e8-50e8fa5c7134?api-version=2020-07-01-privatepreview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/operationResults/65d9f87b-0318-4693-915f-1a27540c33e0?api-version=2020-07-01-preview pragma: - no-cache server: @@ -1874,101 +146,7 @@ interactions: body: null headers: Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - mysql flexible-server create - Connection: - - keep-alive - ParameterSetName: - - -g -n -l --admin-user --storage-size --version - User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-07-01-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/70f32789-3f8f-43dc-b1e8-50e8fa5c7134?api-version=2020-07-01-privatepreview - response: - body: - string: '{"name":"70f32789-3f8f-43dc-b1e8-50e8fa5c7134","status":"InProgress","startTime":"2021-03-03T08:02:37.443Z"}' - headers: - cache-control: - - no-cache - content-length: - - '108' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 03 Mar 2021 08:03: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 flexible-server create - Connection: - - keep-alive - ParameterSetName: - - -g -n -l --admin-user --storage-size --version - User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-07-01-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/70f32789-3f8f-43dc-b1e8-50e8fa5c7134?api-version=2020-07-01-privatepreview - response: - body: - string: '{"name":"70f32789-3f8f-43dc-b1e8-50e8fa5c7134","status":"InProgress","startTime":"2021-03-03T08:02:37.443Z"}' - headers: - cache-control: - - no-cache - content-length: - - '108' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 03 Mar 2021 08:04: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: @@ -1976,15 +154,14 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n -l --admin-user --storage-size --version + - -g -n -l --admin-user --storage-size --version --public-access User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-07-01-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 + - AZURECLI/2.22.1 azsdk-python-mgmt-rdbms/unknown Python/3.7.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/70f32789-3f8f-43dc-b1e8-50e8fa5c7134?api-version=2020-07-01-privatepreview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/65d9f87b-0318-4693-915f-1a27540c33e0?api-version=2020-07-01-preview response: body: - string: '{"name":"70f32789-3f8f-43dc-b1e8-50e8fa5c7134","status":"InProgress","startTime":"2021-03-03T08:02:37.443Z"}' + string: '{"name":"65d9f87b-0318-4693-915f-1a27540c33e0","status":"InProgress","startTime":"2021-04-23T01:36:59.327Z"}' headers: cache-control: - no-cache @@ -1993,7 +170,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 03 Mar 2021 08:05:38 GMT + - Fri, 23 Apr 2021 01:37:59 GMT expires: - '-1' pragma: @@ -2015,7 +192,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -2023,15 +200,14 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n -l --admin-user --storage-size --version + - -g -n -l --admin-user --storage-size --version --public-access User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-07-01-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 + - AZURECLI/2.22.1 azsdk-python-mgmt-rdbms/unknown Python/3.7.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/70f32789-3f8f-43dc-b1e8-50e8fa5c7134?api-version=2020-07-01-privatepreview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/65d9f87b-0318-4693-915f-1a27540c33e0?api-version=2020-07-01-preview response: body: - string: '{"name":"70f32789-3f8f-43dc-b1e8-50e8fa5c7134","status":"InProgress","startTime":"2021-03-03T08:02:37.443Z"}' + string: '{"name":"65d9f87b-0318-4693-915f-1a27540c33e0","status":"InProgress","startTime":"2021-04-23T01:36:59.327Z"}' headers: cache-control: - no-cache @@ -2040,7 +216,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 03 Mar 2021 08:06:37 GMT + - Fri, 23 Apr 2021 01:38:59 GMT expires: - '-1' pragma: @@ -2062,55 +238,7 @@ interactions: body: null headers: Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - mysql flexible-server create - Connection: - - keep-alive - ParameterSetName: - - -g -n -l --admin-user --storage-size --version - User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-07-01-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/70f32789-3f8f-43dc-b1e8-50e8fa5c7134?api-version=2020-07-01-privatepreview - response: - body: - string: '{"error":{"code":"InternalServerError","message":"An unexpected error - occured while processing the request. Tracking ID: ''db76deff-f2a4-4a50-afe5-667aed998559''"}}' - headers: - cache-control: - - no-cache - connection: - - close - content-length: - - '162' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 03 Mar 2021 08:08:07 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-failure-cause: - - service - status: - code: 500 - message: Internal Server Error -- request: - body: null - headers: - Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -2118,15 +246,14 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n -l --admin-user --storage-size --version + - -g -n -l --admin-user --storage-size --version --public-access User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-07-01-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 + - AZURECLI/2.22.1 azsdk-python-mgmt-rdbms/unknown Python/3.7.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/70f32789-3f8f-43dc-b1e8-50e8fa5c7134?api-version=2020-07-01-privatepreview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/65d9f87b-0318-4693-915f-1a27540c33e0?api-version=2020-07-01-preview response: body: - string: '{"name":"70f32789-3f8f-43dc-b1e8-50e8fa5c7134","status":"InProgress","startTime":"2021-03-03T08:02:37.443Z"}' + string: '{"name":"65d9f87b-0318-4693-915f-1a27540c33e0","status":"InProgress","startTime":"2021-04-23T01:36:59.327Z"}' headers: cache-control: - no-cache @@ -2135,7 +262,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 03 Mar 2021 08:08:08 GMT + - Fri, 23 Apr 2021 01:39:59 GMT expires: - '-1' pragma: @@ -2157,55 +284,7 @@ interactions: body: null headers: Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - mysql flexible-server create - Connection: - - keep-alive - ParameterSetName: - - -g -n -l --admin-user --storage-size --version - User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-07-01-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/70f32789-3f8f-43dc-b1e8-50e8fa5c7134?api-version=2020-07-01-privatepreview - response: - body: - string: '{"error":{"code":"InternalServerError","message":"An unexpected error - occured while processing the request. Tracking ID: ''be1d1209-569f-4a8e-a8e1-4302a6b0cf0a''"}}' - headers: - cache-control: - - no-cache - connection: - - close - content-length: - - '162' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 03 Mar 2021 08:09:37 GMT - expires: - - '-1' - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-failure-cause: - - service - status: - code: 500 - message: Internal Server Error -- request: - body: null - headers: - Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -2213,15 +292,14 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n -l --admin-user --storage-size --version + - -g -n -l --admin-user --storage-size --version --public-access User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-07-01-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 + - AZURECLI/2.22.1 azsdk-python-mgmt-rdbms/unknown Python/3.7.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/70f32789-3f8f-43dc-b1e8-50e8fa5c7134?api-version=2020-07-01-privatepreview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/65d9f87b-0318-4693-915f-1a27540c33e0?api-version=2020-07-01-preview response: body: - string: '{"name":"70f32789-3f8f-43dc-b1e8-50e8fa5c7134","status":"InProgress","startTime":"2021-03-03T08:02:37.443Z"}' + string: '{"name":"65d9f87b-0318-4693-915f-1a27540c33e0","status":"InProgress","startTime":"2021-04-23T01:36:59.327Z"}' headers: cache-control: - no-cache @@ -2230,7 +308,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 03 Mar 2021 08:09:38 GMT + - Fri, 23 Apr 2021 01:40:59 GMT expires: - '-1' pragma: @@ -2252,7 +330,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -2260,15 +338,14 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n -l --admin-user --storage-size --version + - -g -n -l --admin-user --storage-size --version --public-access User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-07-01-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 + - AZURECLI/2.22.1 azsdk-python-mgmt-rdbms/unknown Python/3.7.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/70f32789-3f8f-43dc-b1e8-50e8fa5c7134?api-version=2020-07-01-privatepreview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/65d9f87b-0318-4693-915f-1a27540c33e0?api-version=2020-07-01-preview response: body: - string: '{"name":"70f32789-3f8f-43dc-b1e8-50e8fa5c7134","status":"InProgress","startTime":"2021-03-03T08:02:37.443Z"}' + string: '{"name":"65d9f87b-0318-4693-915f-1a27540c33e0","status":"InProgress","startTime":"2021-04-23T01:36:59.327Z"}' headers: cache-control: - no-cache @@ -2277,7 +354,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 03 Mar 2021 08:10:38 GMT + - Fri, 23 Apr 2021 01:41:59 GMT expires: - '-1' pragma: @@ -2299,7 +376,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -2307,15 +384,14 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n -l --admin-user --storage-size --version + - -g -n -l --admin-user --storage-size --version --public-access User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-07-01-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 + - AZURECLI/2.22.1 azsdk-python-mgmt-rdbms/unknown Python/3.7.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/70f32789-3f8f-43dc-b1e8-50e8fa5c7134?api-version=2020-07-01-privatepreview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/65d9f87b-0318-4693-915f-1a27540c33e0?api-version=2020-07-01-preview response: body: - string: '{"name":"70f32789-3f8f-43dc-b1e8-50e8fa5c7134","status":"Succeeded","startTime":"2021-03-03T08:02:37.443Z"}' + string: '{"name":"65d9f87b-0318-4693-915f-1a27540c33e0","status":"Succeeded","startTime":"2021-04-23T01:36:59.327Z"}' headers: cache-control: - no-cache @@ -2324,7 +400,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 03 Mar 2021 08:11:37 GMT + - Fri, 23 Apr 2021 01:42:59 GMT expires: - '-1' pragma: @@ -2346,7 +422,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -2354,25 +430,24 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n -l --admin-user --storage-size --version + - -g -n -l --admin-user --storage-size --version --public-access User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-07-01-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 + - AZURECLI/2.22.1 azsdk-python-mgmt-rdbms/unknown Python/3.7.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForMySql/flexibleServers/azuredbclitest-000004?api-version=2020-07-01-privatepreview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForMySql/flexibleServers/azuredbclitest-000002?api-version=2020-07-01-preview response: body: - string: '{"sku":{"name":"Standard_B1ms","tier":"Burstable","capacity":0},"properties":{"administratorLogin":"cliuser","storageProfile":{"storageMB":32768,"storageIops":100,"backupRetentionDays":7,"storageAutogrow":"Disabled","fileStorageSkuName":"Premium_LRS"},"version":"5.7","state":"Ready","haState":"NotEnabled","fullyQualifiedDomainName":"azuredbclitest-000004.mysql.database.azure.com","sourceServerId":"","publicNetworkAccess":"Disabled","sslEnforcement":"Disabled","haEnabled":"Disabled","earliestRestoreDate":"2021-03-03T08:11:38.5837765+00:00","maintenanceWindow":{"customWindow":"Disabled","dayOfWeek":0,"startHour":0,"startMinute":0},"replicationRole":"None","replicaCapacity":10,"delegatedSubnetArguments":{"subnetArmResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/VNETbclitest-thlww/subnets/Subnetbclitest-thlww"},"byokEnforcement":"Disabled"},"location":"West - US 2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/flexibleServers/azuredbclitest-000004","name":"azuredbclitest-000004","type":"Microsoft.DBforMySQL/flexibleServers"}' + string: '{"sku":{"name":"Standard_B1ms","tier":"Burstable"},"properties":{"administratorLogin":"cliuser","storageProfile":{"storageMB":32768,"storageIops":100,"backupRetentionDays":7,"storageAutogrow":"Disabled","fileStorageSkuName":"Premium_LRS"},"version":"5.7","state":"Ready","haState":"NotEnabled","fullyQualifiedDomainName":"azuredbclitest-000002.mysql.database.azure.com","sourceServerId":"","publicNetworkAccess":"Enabled","sslEnforcement":"Disabled","haEnabled":"Disabled","earliestRestoreDate":"2021-04-23T01:47:02.4051892+00:00","maintenanceWindow":{"customWindow":"Disabled","dayOfWeek":0,"startHour":0,"startMinute":0},"replicationRole":"None","replicaCapacity":10,"byokEnforcement":"Disabled"},"location":"West + US 2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/flexibleServers/azuredbclitest-000002","name":"azuredbclitest-000002","type":"Microsoft.DBforMySQL/flexibleServers"}' headers: cache-control: - no-cache content-length: - - '1317' + - '1015' content-type: - application/json; charset=utf-8 date: - - Wed, 03 Mar 2021 08:11:37 GMT + - Fri, 23 Apr 2021 01:42:59 GMT expires: - '-1' pragma: @@ -2402,14 +477,11 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n -l --admin-user --storage-size --version + - -g -n -l --admin-user --storage-size --version --public-access User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-07-01-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US + - AZURECLI/2.22.1 azsdk-python-mgmt-rdbms/unknown Python/3.7.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForMySql/flexibleServers/azuredbclitest-000004/databases/flexibleserverdb?api-version=2020-07-01-privatepreview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForMySql/flexibleServers/azuredbclitest-000002/databases/flexibleserverdb?api-version=2020-07-01-preview response: body: string: '{"error":{"code":"ResourceNotFound","message":"The requested resource @@ -2423,7 +495,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 03 Mar 2021 08:11:39 GMT + - Fri, 23 Apr 2021 01:43:01 GMT expires: - '-1' pragma: @@ -2438,7 +510,7 @@ interactions: code: 404 message: Not Found - request: - body: '{"properties": {"charset": "utf8"}}' + body: '{"properties": {"charset": "utf8", "collation": "utf8_general_ci"}}' headers: Accept: - application/json @@ -2449,24 +521,21 @@ interactions: Connection: - keep-alive Content-Length: - - '35' + - '67' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - - -g -n -l --admin-user --storage-size --version + - -g -n -l --admin-user --storage-size --version --public-access User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-07-01-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US + - AZURECLI/2.22.1 azsdk-python-mgmt-rdbms/unknown Python/3.7.7 (Windows-10-10.0.19041-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForMySql/flexibleServers/azuredbclitest-000004/databases/flexibleserverdb?api-version=2020-07-01-privatepreview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForMySql/flexibleServers/azuredbclitest-000002/databases/flexibleserverdb?api-version=2020-07-01-preview response: body: - string: '{"operation":"UpsertServerDatabaseManagementOperation","startTime":"2021-03-03T08:11:40.193Z"}' + string: '{"operation":"UpsertServerDatabaseManagementOperation","startTime":"2021-04-23T01:43:01.593Z"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/9df2cfd1-1d64-4e04-9284-b10efb956949?api-version=2020-07-01-privatepreview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/d660e65c-db49-49b9-9da8-e26ba5836743?api-version=2020-07-01-preview cache-control: - no-cache content-length: @@ -2474,11 +543,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 03 Mar 2021 08:11:39 GMT + - Fri, 23 Apr 2021 01:43:01 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/operationResults/9df2cfd1-1d64-4e04-9284-b10efb956949?api-version=2020-07-01-privatepreview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/operationResults/d660e65c-db49-49b9-9da8-e26ba5836743?api-version=2020-07-01-preview pragma: - no-cache server: @@ -2496,7 +565,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -2504,15 +573,14 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n -l --admin-user --storage-size --version + - -g -n -l --admin-user --storage-size --version --public-access User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-07-01-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 + - AZURECLI/2.22.1 azsdk-python-mgmt-rdbms/unknown Python/3.7.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/9df2cfd1-1d64-4e04-9284-b10efb956949?api-version=2020-07-01-privatepreview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/d660e65c-db49-49b9-9da8-e26ba5836743?api-version=2020-07-01-preview response: body: - string: '{"name":"9df2cfd1-1d64-4e04-9284-b10efb956949","status":"Succeeded","startTime":"2021-03-03T08:11:40.193Z"}' + string: '{"name":"d660e65c-db49-49b9-9da8-e26ba5836743","status":"Succeeded","startTime":"2021-04-23T01:43:01.593Z"}' headers: cache-control: - no-cache @@ -2521,7 +589,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 03 Mar 2021 08:11:55 GMT + - Fri, 23 Apr 2021 01:43:16 GMT expires: - '-1' pragma: @@ -2543,7 +611,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -2551,24 +619,23 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n -l --admin-user --storage-size --version + - -g -n -l --admin-user --storage-size --version --public-access User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-07-01-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 + - AZURECLI/2.22.1 azsdk-python-mgmt-rdbms/unknown Python/3.7.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForMySql/flexibleServers/azuredbclitest-000004/databases/flexibleserverdb?api-version=2020-07-01-privatepreview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForMySql/flexibleServers/azuredbclitest-000002/databases/flexibleserverdb?api-version=2020-07-01-preview response: body: - string: '{"properties":{"charset":"latin1","collation":"latin1_swedish_ci"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/flexibleServers/azuredbclitest-000004/databases/flexibleserverdb","name":"flexibleserverdb","type":"Microsoft.DBforMySQL/flexibleServers/databases"}' + string: '{"properties":{"charset":"utf8","collation":"utf8_general_ci"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/flexibleServers/azuredbclitest-000002/databases/flexibleserverdb","name":"flexibleserverdb","type":"Microsoft.DBforMySQL/flexibleServers/databases"}' headers: cache-control: - no-cache content-length: - - '394' + - '390' content-type: - application/json; charset=utf-8 date: - - Wed, 03 Mar 2021 08:11:55 GMT + - Fri, 23 Apr 2021 01:43:16 GMT expires: - '-1' pragma: @@ -2600,25 +667,22 @@ interactions: ParameterSetName: - -g -n -p User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-07-01-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US + - AZURECLI/2.22.1 azsdk-python-mgmt-rdbms/unknown Python/3.7.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForMySql/flexibleServers/azuredbclitest-000004?api-version=2020-07-01-privatepreview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForMySql/flexibleServers/azuredbclitest-000002?api-version=2020-07-01-preview response: body: - string: '{"sku":{"name":"Standard_B1ms","tier":"Burstable","capacity":0},"properties":{"administratorLogin":"cliuser","storageProfile":{"storageMB":32768,"storageIops":100,"backupRetentionDays":7,"storageAutogrow":"Disabled","fileStorageSkuName":"Premium_LRS"},"version":"5.7","state":"Ready","haState":"NotEnabled","fullyQualifiedDomainName":"azuredbclitest-000004.mysql.database.azure.com","sourceServerId":"","publicNetworkAccess":"Disabled","sslEnforcement":"Disabled","haEnabled":"Disabled","earliestRestoreDate":"2021-03-03T08:11:56.9276125+00:00","maintenanceWindow":{"customWindow":"Disabled","dayOfWeek":0,"startHour":0,"startMinute":0},"replicationRole":"None","replicaCapacity":10,"delegatedSubnetArguments":{"subnetArmResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/VNETbclitest-thlww/subnets/Subnetbclitest-thlww"},"byokEnforcement":"Disabled"},"location":"West - US 2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/flexibleServers/azuredbclitest-000004","name":"azuredbclitest-000004","type":"Microsoft.DBforMySQL/flexibleServers"}' + string: '{"sku":{"name":"Standard_B1ms","tier":"Burstable"},"properties":{"administratorLogin":"cliuser","storageProfile":{"storageMB":32768,"storageIops":100,"backupRetentionDays":7,"storageAutogrow":"Disabled","fileStorageSkuName":"Premium_LRS"},"version":"5.7","state":"Ready","haState":"NotEnabled","fullyQualifiedDomainName":"azuredbclitest-000002.mysql.database.azure.com","sourceServerId":"","publicNetworkAccess":"Enabled","sslEnforcement":"Disabled","haEnabled":"Disabled","earliestRestoreDate":"2021-04-23T01:47:02.4051892+00:00","maintenanceWindow":{"customWindow":"Disabled","dayOfWeek":0,"startHour":0,"startMinute":0},"replicationRole":"None","replicaCapacity":10,"byokEnforcement":"Disabled"},"location":"West + US 2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/flexibleServers/azuredbclitest-000002","name":"azuredbclitest-000002","type":"Microsoft.DBforMySQL/flexibleServers"}' headers: cache-control: - no-cache content-length: - - '1317' + - '1015' content-type: - application/json; charset=utf-8 date: - - Wed, 03 Mar 2021 08:11:56 GMT + - Fri, 23 Apr 2021 01:43:17 GMT expires: - '-1' pragma: @@ -2650,24 +714,21 @@ interactions: ParameterSetName: - -g -n -p User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-07-01-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US + - AZURECLI/2.22.1 azsdk-python-mgmt-rdbms/unknown Python/3.7.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBForMySql/locations/westus2/capabilities?api-version=2020-07-01-privatepreview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBForMySql/locations/westus2/capabilities?api-version=2020-07-01-preview response: body: - string: '{"value":[{"zone":"none","supportedFlexibleServerEditions":[{"name":"Burstable","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"supportedStorageMB":[],"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_B1s","vCores":1,"supportedIOPS":320,"supportedMemoryPerVcoreMB":1024,"status":"Available"},{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_B1s","vCores":1,"supportedIOPS":320,"supportedMemoryPerVcoreMB":1024,"status":"Available"},{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"}],"status":"Available"},{"name":"GeneralPurpose","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"supportedStorageMB":[],"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_D2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Default"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_D2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"status":"Default"},{"name":"MemoryOptimized","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"supportedStorageMB":[],"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_E2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_E2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"}],"status":"Available"}],"status":"Default"},{"zone":"1","supportedFlexibleServerEditions":[{"name":"Burstable","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"supportedStorageMB":[],"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_B1s","vCores":1,"supportedIOPS":320,"supportedMemoryPerVcoreMB":1024,"status":"Available"},{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_B1s","vCores":1,"supportedIOPS":320,"supportedMemoryPerVcoreMB":1024,"status":"Available"},{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"}],"status":"Available"},{"name":"GeneralPurpose","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"supportedStorageMB":[],"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_D2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Default"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_D2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"status":"Default"},{"name":"MemoryOptimized","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"supportedStorageMB":[],"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_E2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_E2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"}],"status":"Available"}],"status":"Available"},{"zone":"2","supportedFlexibleServerEditions":[{"name":"Burstable","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"supportedStorageMB":[],"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_B1s","vCores":1,"supportedIOPS":320,"supportedMemoryPerVcoreMB":1024,"status":"Available"},{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_B1s","vCores":1,"supportedIOPS":320,"supportedMemoryPerVcoreMB":1024,"status":"Available"},{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"}],"status":"Available"},{"name":"GeneralPurpose","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"supportedStorageMB":[],"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_D2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Default"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_D2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"status":"Default"},{"name":"MemoryOptimized","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"supportedStorageMB":[],"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_E2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_E2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"}],"status":"Available"}],"status":"Available"},{"zone":"3","supportedFlexibleServerEditions":[{"name":"Burstable","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"supportedStorageMB":[],"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_B1s","vCores":1,"supportedIOPS":320,"supportedMemoryPerVcoreMB":1024,"status":"Available"},{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_B1s","vCores":1,"supportedIOPS":320,"supportedMemoryPerVcoreMB":1024,"status":"Available"},{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"}],"status":"Available"},{"name":"GeneralPurpose","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"supportedStorageMB":[],"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_D2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Default"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_D2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"status":"Default"},{"name":"MemoryOptimized","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"supportedStorageMB":[],"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_E2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_E2ds_v4","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4ds_v4","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8ds_v4","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16ds_v4","vCores":16,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32ds_v4","vCores":32,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48ds_v4","vCores":48,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64ds_v4","vCores":64,"supportedIOPS":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"}],"status":"Available"}],"status":"Available"}]}' + string: '{"value":[{"zone":"none","supportedFlexibleServerEditions":[{"name":"Burstable","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_B1s","vCores":1,"supportedIops":320,"supportedMemoryPerVcoreMB":1024,"status":"Available"},{"name":"Standard_B1ms","vCores":1,"supportedIops":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIops":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_B1s","vCores":1,"supportedIops":320,"supportedMemoryPerVcoreMB":1024,"status":"Available"},{"name":"Standard_B1ms","vCores":1,"supportedIops":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIops":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"}],"status":"Available"},{"name":"GeneralPurpose","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_D2ds_v4","vCores":2,"supportedIops":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4ds_v4","vCores":4,"supportedIops":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8ds_v4","vCores":8,"supportedIops":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16ds_v4","vCores":16,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32ds_v4","vCores":32,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48ds_v4","vCores":48,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64ds_v4","vCores":64,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Default"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_D2ds_v4","vCores":2,"supportedIops":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4ds_v4","vCores":4,"supportedIops":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8ds_v4","vCores":8,"supportedIops":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16ds_v4","vCores":16,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32ds_v4","vCores":32,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48ds_v4","vCores":48,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64ds_v4","vCores":64,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"status":"Default"},{"name":"MemoryOptimized","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_E2ds_v4","vCores":2,"supportedIops":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4ds_v4","vCores":4,"supportedIops":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8ds_v4","vCores":8,"supportedIops":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16ds_v4","vCores":16,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32ds_v4","vCores":32,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48ds_v4","vCores":48,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64ds_v4","vCores":64,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_E2ds_v4","vCores":2,"supportedIops":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4ds_v4","vCores":4,"supportedIops":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8ds_v4","vCores":8,"supportedIops":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16ds_v4","vCores":16,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32ds_v4","vCores":32,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48ds_v4","vCores":48,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64ds_v4","vCores":64,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"}],"status":"Available"}],"status":"Default"},{"zone":"1","supportedFlexibleServerEditions":[{"name":"Burstable","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_B1s","vCores":1,"supportedIops":320,"supportedMemoryPerVcoreMB":1024,"status":"Available"},{"name":"Standard_B1ms","vCores":1,"supportedIops":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIops":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_B1s","vCores":1,"supportedIops":320,"supportedMemoryPerVcoreMB":1024,"status":"Available"},{"name":"Standard_B1ms","vCores":1,"supportedIops":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIops":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"}],"status":"Available"},{"name":"GeneralPurpose","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_D2ds_v4","vCores":2,"supportedIops":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4ds_v4","vCores":4,"supportedIops":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8ds_v4","vCores":8,"supportedIops":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16ds_v4","vCores":16,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32ds_v4","vCores":32,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48ds_v4","vCores":48,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64ds_v4","vCores":64,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Default"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_D2ds_v4","vCores":2,"supportedIops":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4ds_v4","vCores":4,"supportedIops":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8ds_v4","vCores":8,"supportedIops":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16ds_v4","vCores":16,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32ds_v4","vCores":32,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48ds_v4","vCores":48,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64ds_v4","vCores":64,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"status":"Default"},{"name":"MemoryOptimized","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_E2ds_v4","vCores":2,"supportedIops":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4ds_v4","vCores":4,"supportedIops":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8ds_v4","vCores":8,"supportedIops":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16ds_v4","vCores":16,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32ds_v4","vCores":32,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48ds_v4","vCores":48,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64ds_v4","vCores":64,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_E2ds_v4","vCores":2,"supportedIops":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4ds_v4","vCores":4,"supportedIops":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8ds_v4","vCores":8,"supportedIops":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16ds_v4","vCores":16,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32ds_v4","vCores":32,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48ds_v4","vCores":48,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64ds_v4","vCores":64,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"}],"status":"Available"}],"status":"Available"},{"zone":"2","supportedFlexibleServerEditions":[{"name":"Burstable","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_B1s","vCores":1,"supportedIops":320,"supportedMemoryPerVcoreMB":1024,"status":"Available"},{"name":"Standard_B1ms","vCores":1,"supportedIops":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIops":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_B1s","vCores":1,"supportedIops":320,"supportedMemoryPerVcoreMB":1024,"status":"Available"},{"name":"Standard_B1ms","vCores":1,"supportedIops":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIops":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"}],"status":"Available"},{"name":"GeneralPurpose","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_D2ds_v4","vCores":2,"supportedIops":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4ds_v4","vCores":4,"supportedIops":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8ds_v4","vCores":8,"supportedIops":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16ds_v4","vCores":16,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32ds_v4","vCores":32,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48ds_v4","vCores":48,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64ds_v4","vCores":64,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Default"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_D2ds_v4","vCores":2,"supportedIops":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4ds_v4","vCores":4,"supportedIops":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8ds_v4","vCores":8,"supportedIops":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16ds_v4","vCores":16,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32ds_v4","vCores":32,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48ds_v4","vCores":48,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64ds_v4","vCores":64,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"status":"Default"},{"name":"MemoryOptimized","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_E2ds_v4","vCores":2,"supportedIops":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4ds_v4","vCores":4,"supportedIops":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8ds_v4","vCores":8,"supportedIops":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16ds_v4","vCores":16,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32ds_v4","vCores":32,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48ds_v4","vCores":48,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64ds_v4","vCores":64,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_E2ds_v4","vCores":2,"supportedIops":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4ds_v4","vCores":4,"supportedIops":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8ds_v4","vCores":8,"supportedIops":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16ds_v4","vCores":16,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32ds_v4","vCores":32,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48ds_v4","vCores":48,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64ds_v4","vCores":64,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"}],"status":"Available"}],"status":"Available"},{"zone":"3","supportedFlexibleServerEditions":[{"name":"Burstable","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_B1s","vCores":1,"supportedIops":320,"supportedMemoryPerVcoreMB":1024,"status":"Available"},{"name":"Standard_B1ms","vCores":1,"supportedIops":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIops":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_B1s","vCores":1,"supportedIops":320,"supportedMemoryPerVcoreMB":1024,"status":"Available"},{"name":"Standard_B1ms","vCores":1,"supportedIops":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIops":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"}],"status":"Available"},{"name":"GeneralPurpose","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_D2ds_v4","vCores":2,"supportedIops":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4ds_v4","vCores":4,"supportedIops":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8ds_v4","vCores":8,"supportedIops":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16ds_v4","vCores":16,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32ds_v4","vCores":32,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48ds_v4","vCores":48,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64ds_v4","vCores":64,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Default"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_D2ds_v4","vCores":2,"supportedIops":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4ds_v4","vCores":4,"supportedIops":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8ds_v4","vCores":8,"supportedIops":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16ds_v4","vCores":16,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32ds_v4","vCores":32,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48ds_v4","vCores":48,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64ds_v4","vCores":64,"supportedIops":20000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"status":"Default"},{"name":"MemoryOptimized","supportedStorageEditions":[{"name":"PremiumFileShare","minStorageSize":{"name":"5120","storageSizeMB":5120},"maxStorageSize":{"name":"16777216","storageSizeMB":16777216},"minBackupRetentionDays":7,"maxBackupRetentionDays":35,"status":"Default"}],"supportedServerVersions":[{"name":"5.7","supportedVcores":[{"name":"Standard_E2ds_v4","vCores":2,"supportedIops":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4ds_v4","vCores":4,"supportedIops":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8ds_v4","vCores":8,"supportedIops":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16ds_v4","vCores":16,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32ds_v4","vCores":32,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48ds_v4","vCores":48,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64ds_v4","vCores":64,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"},{"name":"8.0.21","supportedVcores":[{"name":"Standard_E2ds_v4","vCores":2,"supportedIops":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4ds_v4","vCores":4,"supportedIops":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8ds_v4","vCores":8,"supportedIops":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16ds_v4","vCores":16,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32ds_v4","vCores":32,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48ds_v4","vCores":48,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64ds_v4","vCores":64,"supportedIops":20000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"}],"status":"Available"}],"status":"Available"}]}' headers: cache-control: - no-cache content-length: - - '21400' + - '21112' content-type: - application/json; charset=utf-8 date: - - Wed, 03 Mar 2021 08:11:56 GMT + - Fri, 23 Apr 2021 01:43:17 GMT expires: - '-1' pragma: @@ -2688,10 +749,7 @@ interactions: - request: body: '{"sku": {"name": "Standard_B1ms", "tier": "Burstable"}, "properties": {"storageProfile": {"backupRetentionDays": 7, "storageMB": 32768, "storageIops": 100, "storageAutogrow": - "Disabled"}, "administratorLoginPassword": "cliPwd000005", "delegatedSubnetArguments": - {"subnetArmResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/VNETbclitest-thlww/subnets/Subnetbclitest-thlww"}, - "maintenanceWindow": {"customWindow": "Disabled", "startHour": 0, "startMinute": - 0, "dayOfWeek": 0}}}' + "Disabled"}, "administratorLoginPassword": "cliPwd000003"}}' headers: Accept: - application/json @@ -2702,36 +760,33 @@ interactions: Connection: - keep-alive Content-Length: - - '629' + - '237' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - -g -n -p User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-07-01-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US + - AZURECLI/2.22.1 azsdk-python-mgmt-rdbms/unknown Python/3.7.7 (Windows-10-10.0.19041-SP0) method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForMySql/flexibleServers/azuredbclitest-000004?api-version=2020-07-01-privatepreview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForMySql/flexibleServers/azuredbclitest-000002?api-version=2020-07-01-preview response: body: - string: '{"operation":"UpsertServerManagementOperationV2","startTime":"2021-03-03T08:11:58.71Z"}' + string: '{"operation":"UpsertServerManagementOperationV2","startTime":"2021-04-23T01:43:18.923Z"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/6ba4a021-dafc-42f9-a118-aa2322a43cde?api-version=2020-07-01-privatepreview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/76079feb-d757-465a-b5ff-4062c7c50f16?api-version=2020-07-01-preview cache-control: - no-cache content-length: - - '87' + - '88' content-type: - application/json; charset=utf-8 date: - - Wed, 03 Mar 2021 08:11:58 GMT + - Fri, 23 Apr 2021 01:43:18 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/operationResults/6ba4a021-dafc-42f9-a118-aa2322a43cde?api-version=2020-07-01-privatepreview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/operationResults/76079feb-d757-465a-b5ff-4062c7c50f16?api-version=2020-07-01-preview pragma: - no-cache server: @@ -2749,7 +804,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -2759,22 +814,21 @@ interactions: ParameterSetName: - -g -n -p User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-07-01-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 + - AZURECLI/2.22.1 azsdk-python-mgmt-rdbms/unknown Python/3.7.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/6ba4a021-dafc-42f9-a118-aa2322a43cde?api-version=2020-07-01-privatepreview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/76079feb-d757-465a-b5ff-4062c7c50f16?api-version=2020-07-01-preview response: body: - string: '{"name":"6ba4a021-dafc-42f9-a118-aa2322a43cde","status":"Succeeded","startTime":"2021-03-03T08:11:58.71Z"}' + string: '{"name":"76079feb-d757-465a-b5ff-4062c7c50f16","status":"Succeeded","startTime":"2021-04-23T01:43:18.923Z"}' headers: cache-control: - no-cache content-length: - - '106' + - '107' content-type: - application/json; charset=utf-8 date: - - Wed, 03 Mar 2021 08:12:59 GMT + - Fri, 23 Apr 2021 01:44:18 GMT expires: - '-1' pragma: @@ -2796,7 +850,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -2806,23 +860,22 @@ interactions: ParameterSetName: - -g -n -p User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-07-01-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 + - AZURECLI/2.22.1 azsdk-python-mgmt-rdbms/unknown Python/3.7.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForMySql/flexibleServers/azuredbclitest-000004?api-version=2020-07-01-privatepreview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForMySql/flexibleServers/azuredbclitest-000002?api-version=2020-07-01-preview response: body: - string: '{"sku":{"name":"Standard_B1ms","tier":"Burstable","capacity":0},"properties":{"administratorLogin":"cliuser","storageProfile":{"storageMB":32768,"storageIops":100,"backupRetentionDays":7,"storageAutogrow":"Disabled","fileStorageSkuName":"Premium_LRS"},"version":"5.7","state":"Ready","haState":"NotEnabled","fullyQualifiedDomainName":"azuredbclitest-000004.mysql.database.azure.com","sourceServerId":"","publicNetworkAccess":"Disabled","sslEnforcement":"Disabled","haEnabled":"Disabled","earliestRestoreDate":"2021-03-03T08:12:59.5395242+00:00","maintenanceWindow":{"customWindow":"Disabled","dayOfWeek":0,"startHour":0,"startMinute":0},"replicationRole":"None","replicaCapacity":10,"delegatedSubnetArguments":{"subnetArmResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/VNETbclitest-thlww/subnets/Subnetbclitest-thlww"},"byokEnforcement":"Disabled"},"location":"West - US 2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/flexibleServers/azuredbclitest-000004","name":"azuredbclitest-000004","type":"Microsoft.DBforMySQL/flexibleServers"}' + string: '{"sku":{"name":"Standard_B1ms","tier":"Burstable"},"properties":{"administratorLogin":"cliuser","storageProfile":{"storageMB":32768,"storageIops":100,"backupRetentionDays":7,"storageAutogrow":"Disabled","fileStorageSkuName":"Premium_LRS"},"version":"5.7","state":"Ready","haState":"NotEnabled","fullyQualifiedDomainName":"azuredbclitest-000002.mysql.database.azure.com","sourceServerId":"","publicNetworkAccess":"Enabled","sslEnforcement":"Disabled","haEnabled":"Disabled","earliestRestoreDate":"2021-04-23T01:47:02.4051892+00:00","maintenanceWindow":{"customWindow":"Disabled","dayOfWeek":0,"startHour":0,"startMinute":0},"replicationRole":"None","replicaCapacity":10,"byokEnforcement":"Disabled"},"location":"West + US 2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforMySQL/flexibleServers/azuredbclitest-000002","name":"azuredbclitest-000002","type":"Microsoft.DBforMySQL/flexibleServers"}' headers: cache-control: - no-cache content-length: - - '1317' + - '1015' content-type: - application/json; charset=utf-8 date: - - Wed, 03 Mar 2021 08:12:59 GMT + - Fri, 23 Apr 2021 01:44:18 GMT expires: - '-1' pragma: @@ -2854,22 +907,19 @@ interactions: Content-Length: - '80' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - -g -n --rule-name --start-ip-address --end-ip-address User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-07-01-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US + - AZURECLI/2.22.1 azsdk-python-mgmt-rdbms/unknown Python/3.7.7 (Windows-10-10.0.19041-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForMySql/flexibleServers/azuredbclitest-000004/firewallRules/all_ips?api-version=2020-07-01-privatepreview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForMySql/flexibleServers/azuredbclitest-000002/firewallRules/allIps?api-version=2020-07-01-preview response: body: - string: '{"operation":"UpsertServerFirewallRulesManagementOperation","startTime":"2021-03-03T08:13:00.577Z"}' + string: '{"operation":"UpsertServerFirewallRulesManagementOperation","startTime":"2021-04-23T01:44:30.317Z"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/5c39c014-0c1f-4289-887a-2f9539800b9e?api-version=2020-07-01-privatepreview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/699d4031-7698-4336-b8bc-69955960cd1f?api-version=2020-07-01-preview cache-control: - no-cache content-length: @@ -2877,11 +927,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 03 Mar 2021 08:13:00 GMT + - Fri, 23 Apr 2021 01:44:30 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/operationResults/5c39c014-0c1f-4289-887a-2f9539800b9e?api-version=2020-07-01-privatepreview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/operationResults/699d4031-7698-4336-b8bc-69955960cd1f?api-version=2020-07-01-preview pragma: - no-cache server: @@ -2899,7 +949,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -2909,13 +959,12 @@ interactions: ParameterSetName: - -g -n --rule-name --start-ip-address --end-ip-address User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-07-01-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 + - AZURECLI/2.22.1 azsdk-python-mgmt-rdbms/unknown Python/3.7.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/5c39c014-0c1f-4289-887a-2f9539800b9e?api-version=2020-07-01-privatepreview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/westus2/azureAsyncOperation/699d4031-7698-4336-b8bc-69955960cd1f?api-version=2020-07-01-preview response: body: - string: '{"name":"5c39c014-0c1f-4289-887a-2f9539800b9e","status":"Succeeded","startTime":"2021-03-03T08:13:00.577Z"}' + string: '{"name":"699d4031-7698-4336-b8bc-69955960cd1f","status":"Succeeded","startTime":"2021-04-23T01:44:30.317Z"}' headers: cache-control: - no-cache @@ -2924,7 +973,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 03 Mar 2021 08:14:01 GMT + - Fri, 23 Apr 2021 01:45:30 GMT expires: - '-1' pragma: @@ -2946,7 +995,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -2956,22 +1005,21 @@ interactions: ParameterSetName: - -g -n --rule-name --start-ip-address --end-ip-address User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-07-01-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 + - AZURECLI/2.22.1 azsdk-python-mgmt-rdbms/unknown Python/3.7.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForMySql/flexibleServers/azuredbclitest-000004/firewallRules/all_ips?api-version=2020-07-01-privatepreview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForMySql/flexibleServers/azuredbclitest-000002/firewallRules/allIps?api-version=2020-07-01-preview response: body: - string: '{"properties":{"startIpAddress":"0.0.0.0","endIpAddress":"255.255.255.255"},"name":"all_ips","type":"Microsoft.DBforMySQL/flexibleServers/firewallRules"}' + string: '{"properties":{"startIpAddress":"0.0.0.0","endIpAddress":"255.255.255.255"},"name":"allIps","type":"Microsoft.DBforMySQL/flexibleServers/firewallRules"}' headers: cache-control: - no-cache content-length: - - '153' + - '152' content-type: - application/json; charset=utf-8 date: - - Wed, 03 Mar 2021 08:14:01 GMT + - Fri, 23 Apr 2021 01:45:30 GMT expires: - '-1' pragma: diff --git a/src/rdbms-connect/azext_rdbms_connect/tests/latest/recordings/test_postgres_flexible_server_connect.yaml b/src/rdbms-connect/azext_rdbms_connect/tests/latest/recordings/test_postgres_flexible_server_connect.yaml index 5c014d47c69..676fc47bd13 100644 --- a/src/rdbms-connect/azext_rdbms_connect/tests/latest/recordings/test_postgres_flexible_server_connect.yaml +++ b/src/rdbms-connect/azext_rdbms_connect/tests/latest/recordings/test_postgres_flexible_server_connect.yaml @@ -13,856 +13,21 @@ interactions: ParameterSetName: - -g -n -l --admin-user --storage-size --version --public-access User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-02-14-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBForPostgreSql/locations/eastus/capabilities?api-version=2020-02-14-preview - response: - body: - string: '{"value":[{"zone":"none","supportedFlexibleServerEditions":[{"name":"Burstable","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"},{"name":"33554432","supportedIOPS":20000,"storageSizeMB":33554432,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"13.0","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"}],"status":"Available"},{"name":"GeneralPurpose","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Default"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Default"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Default"},{"name":"13","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"status":"Default"},{"name":"MemoryOptimized","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"},{"name":"33554432","supportedIOPS":20000,"storageSizeMB":33554432,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"13","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"}],"status":"Available"}],"supportedHyperscaleNodeEditions":[{"name":"GeneralPurpose","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"},{"name":"33553408","supportedIOPS":20000,"storageSizeMB":33553408,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":25600,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":51200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":80000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"11.0","supportedVcores":[{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"11.2","supportedVcores":[{"name":"Standard_D4s_v3","vCores":4,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":25600,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":51200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":80000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"11.2.8","supportedVcores":[{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":25600,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":51200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":80000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"supportedNodeTypes":[{"name":"Coordinator","nodeType":"Coordinator","status":"Default"}],"status":"Available"},{"name":"MemoryOptimized","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"},{"name":"33553408","supportedIOPS":20000,"storageSizeMB":33553408,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":25600,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":51200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":80000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"},{"name":"11.0","supportedVcores":[{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":25600,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":51200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":80000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"},{"name":"11.2","supportedVcores":[{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":25600,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":51200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":80000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"},{"name":"11.2.8","supportedVcores":[{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":25600,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":51200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":80000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"supportedNodeTypes":[{"name":"Worker","nodeType":"Worker","status":"Default"}],"status":"Available"}],"status":"Default"},{"zone":"1","supportedFlexibleServerEditions":[{"name":"Burstable","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"},{"name":"33554432","supportedIOPS":20000,"storageSizeMB":33554432,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"13.0","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"}],"status":"Available"},{"name":"GeneralPurpose","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Default"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Default"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Default"},{"name":"13","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"status":"Default"},{"name":"MemoryOptimized","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"},{"name":"33554432","supportedIOPS":20000,"storageSizeMB":33554432,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"13","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"}],"status":"Available"}],"supportedHyperscaleNodeEditions":[],"status":"Available"},{"zone":"2","supportedFlexibleServerEditions":[{"name":"Burstable","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"},{"name":"33554432","supportedIOPS":20000,"storageSizeMB":33554432,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"13.0","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"}],"status":"Available"},{"name":"GeneralPurpose","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Default"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Default"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Default"},{"name":"13","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"status":"Default"},{"name":"MemoryOptimized","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"},{"name":"33554432","supportedIOPS":20000,"storageSizeMB":33554432,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"13","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"}],"status":"Available"}],"supportedHyperscaleNodeEditions":[],"status":"Available"},{"zone":"3","supportedFlexibleServerEditions":[{"name":"Burstable","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"},{"name":"33554432","supportedIOPS":20000,"storageSizeMB":33554432,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"13.0","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"}],"status":"Available"},{"name":"GeneralPurpose","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Default"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Default"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Default"},{"name":"13","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"status":"Default"},{"name":"MemoryOptimized","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"},{"name":"33554432","supportedIOPS":20000,"storageSizeMB":33554432,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"13","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"}],"status":"Available"}],"supportedHyperscaleNodeEditions":[],"status":"Available"}]}' - headers: - cache-control: - - no-cache - content-length: - - '59761' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 03 Mar 2021 07:51: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: - - postgres flexible-server create - Connection: - - keep-alive - ParameterSetName: - - -g -n -l --admin-user --storage-size --version --public-access - User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US - method: HEAD - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2020-10-01 - response: - body: - string: '' - headers: - cache-control: - - no-cache - content-length: - - '0' - date: - - Wed, 03 Mar 2021 07:51:26 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - status: - code: 204 - message: No Content -- request: - body: '{"location": "eastus", "sku": {"name": "Standard_D2s_v3", "tier": "GeneralPurpose"}, - "properties": {"administratorLogin": "cliuser", "administratorLoginPassword": - "bNFjjVEPI8PshpPWBknJdA", "version": "12", "storageProfile": {"backupRetentionDays": - 7, "storageMB": 32768}, "haEnabled": "Disabled", "createMode": "Default"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - postgres flexible-server create - Connection: - - keep-alive - Content-Length: - - '322' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - -g -n -l --admin-user --storage-size --version --public-access - User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-02-14-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForPostgreSql/flexibleServers/azuredbclitest-000002?api-version=2020-02-14-preview - response: - body: - string: '{"operation":"UpsertServerManagementOperationV2","startTime":"2021-03-03T07:51:29.003Z"}' - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/92b38684-3d8f-4ece-a90a-51802187d9ac?api-version=2020-02-14-preview - cache-control: - - no-cache - content-length: - - '88' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 03 Mar 2021 07:51:28 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/operationResults/92b38684-3d8f-4ece-a90a-51802187d9ac?api-version=2020-02-14-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: - - postgres flexible-server create - Connection: - - keep-alive - ParameterSetName: - - -g -n -l --admin-user --storage-size --version --public-access - User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-02-14-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/92b38684-3d8f-4ece-a90a-51802187d9ac?api-version=2020-02-14-preview - response: - body: - string: '{"name":"92b38684-3d8f-4ece-a90a-51802187d9ac","status":"InProgress","startTime":"2021-03-03T07:51:29.003Z"}' - headers: - cache-control: - - no-cache - content-length: - - '108' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 03 Mar 2021 07:52: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 flexible-server create - Connection: - - keep-alive - ParameterSetName: - - -g -n -l --admin-user --storage-size --version --public-access - User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-02-14-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/92b38684-3d8f-4ece-a90a-51802187d9ac?api-version=2020-02-14-preview - response: - body: - string: '{"name":"92b38684-3d8f-4ece-a90a-51802187d9ac","status":"InProgress","startTime":"2021-03-03T07:51:29.003Z"}' - headers: - cache-control: - - no-cache - content-length: - - '108' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 03 Mar 2021 07:53: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 flexible-server create - Connection: - - keep-alive - ParameterSetName: - - -g -n -l --admin-user --storage-size --version --public-access - User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-02-14-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/92b38684-3d8f-4ece-a90a-51802187d9ac?api-version=2020-02-14-preview - response: - body: - string: '{"name":"92b38684-3d8f-4ece-a90a-51802187d9ac","status":"InProgress","startTime":"2021-03-03T07:51:29.003Z"}' - headers: - cache-control: - - no-cache - content-length: - - '108' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 03 Mar 2021 07:54: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 flexible-server create - Connection: - - keep-alive - ParameterSetName: - - -g -n -l --admin-user --storage-size --version --public-access - User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-02-14-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/92b38684-3d8f-4ece-a90a-51802187d9ac?api-version=2020-02-14-preview - response: - body: - string: '{"name":"92b38684-3d8f-4ece-a90a-51802187d9ac","status":"InProgress","startTime":"2021-03-03T07:51:29.003Z"}' - headers: - cache-control: - - no-cache - content-length: - - '108' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 03 Mar 2021 07:55: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 flexible-server create - Connection: - - keep-alive - ParameterSetName: - - -g -n -l --admin-user --storage-size --version --public-access - User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-02-14-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/92b38684-3d8f-4ece-a90a-51802187d9ac?api-version=2020-02-14-preview - response: - body: - string: '{"name":"92b38684-3d8f-4ece-a90a-51802187d9ac","status":"Succeeded","startTime":"2021-03-03T07:51:29.003Z"}' - headers: - cache-control: - - no-cache - content-length: - - '107' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 03 Mar 2021 07:56: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 flexible-server create - Connection: - - keep-alive - ParameterSetName: - - -g -n -l --admin-user --storage-size --version --public-access - User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-02-14-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForPostgreSql/flexibleServers/azuredbclitest-000002?api-version=2020-02-14-preview - response: - body: - string: '{"sku":{"name":"Standard_D2s_v3","tier":"GeneralPurpose","capacity":2},"properties":{"fullyQualifiedDomainName":"azuredbclitest-000002.postgres.database.azure.com","version":"12","standbyCount":0,"haEnabled":"Disabled","administratorLogin":"cliuser","publicNetworkAccess":"Enabled","logBackupStorageSku":"Standard_ZRS","haState":"NotEnabled","state":"Ready","availabilityZone":"3","storageProfile":{"storageMB":32768,"backupRetentionDays":7},"earliestRestoreDate":"2021-03-03T07:56:30.985988+00:00","byokEnforcement":"Disabled","maintenanceWindow":{"customWindow":"Disabled","dayOfWeek":0,"startHour":0,"startMinute":0}},"location":"East - US","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/flexibleServers/azuredbclitest-000002","name":"azuredbclitest-000002","type":"Microsoft.DBforPostgreSQL/flexibleServers"}' - headers: - cache-control: - - no-cache - content-length: - - '945' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 03 Mar 2021 07:56: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 flexible-server update - Connection: - - keep-alive - ParameterSetName: - - -g -n -p - User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-02-14-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForPostgreSql/flexibleServers/azuredbclitest-000002?api-version=2020-02-14-preview - response: - body: - string: '{"sku":{"name":"Standard_D2s_v3","tier":"GeneralPurpose","capacity":2},"properties":{"fullyQualifiedDomainName":"azuredbclitest-000002.postgres.database.azure.com","version":"12","standbyCount":0,"haEnabled":"Disabled","administratorLogin":"cliuser","publicNetworkAccess":"Enabled","logBackupStorageSku":"Standard_ZRS","haState":"NotEnabled","state":"Ready","availabilityZone":"3","storageProfile":{"storageMB":32768,"backupRetentionDays":7},"earliestRestoreDate":"2021-03-03T07:56:31.8481458+00:00","byokEnforcement":"Disabled","maintenanceWindow":{"customWindow":"Disabled","dayOfWeek":0,"startHour":0,"startMinute":0}},"location":"East - US","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/flexibleServers/azuredbclitest-000002","name":"azuredbclitest-000002","type":"Microsoft.DBforPostgreSQL/flexibleServers"}' - headers: - cache-control: - - no-cache - content-length: - - '946' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 03 Mar 2021 07: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: - - postgres flexible-server update - Connection: - - keep-alive - ParameterSetName: - - -g -n -p - User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-02-14-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBForPostgreSql/locations/eastus/capabilities?api-version=2020-02-14-preview - response: - body: - string: '{"value":[{"zone":"none","supportedFlexibleServerEditions":[{"name":"Burstable","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"},{"name":"33554432","supportedIOPS":20000,"storageSizeMB":33554432,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"13.0","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"}],"status":"Available"},{"name":"GeneralPurpose","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Default"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Default"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Default"},{"name":"13","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"status":"Default"},{"name":"MemoryOptimized","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"},{"name":"33554432","supportedIOPS":20000,"storageSizeMB":33554432,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"13","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"}],"status":"Available"}],"supportedHyperscaleNodeEditions":[{"name":"GeneralPurpose","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"},{"name":"33553408","supportedIOPS":20000,"storageSizeMB":33553408,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":25600,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":51200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":80000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"11.0","supportedVcores":[{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"11.2","supportedVcores":[{"name":"Standard_D4s_v3","vCores":4,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":25600,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":51200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":80000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"11.2.8","supportedVcores":[{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":25600,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":51200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":80000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"supportedNodeTypes":[{"name":"Coordinator","nodeType":"Coordinator","status":"Default"}],"status":"Available"},{"name":"MemoryOptimized","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"},{"name":"33553408","supportedIOPS":20000,"storageSizeMB":33553408,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":25600,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":51200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":80000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"},{"name":"11.0","supportedVcores":[{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":25600,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":51200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":80000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"},{"name":"11.2","supportedVcores":[{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":25600,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":51200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":80000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"},{"name":"11.2.8","supportedVcores":[{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":25600,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":51200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":80000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"supportedNodeTypes":[{"name":"Worker","nodeType":"Worker","status":"Default"}],"status":"Available"}],"status":"Default"},{"zone":"1","supportedFlexibleServerEditions":[{"name":"Burstable","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"},{"name":"33554432","supportedIOPS":20000,"storageSizeMB":33554432,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"13.0","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"}],"status":"Available"},{"name":"GeneralPurpose","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Default"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Default"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Default"},{"name":"13","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"status":"Default"},{"name":"MemoryOptimized","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"},{"name":"33554432","supportedIOPS":20000,"storageSizeMB":33554432,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"13","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"}],"status":"Available"}],"supportedHyperscaleNodeEditions":[],"status":"Available"},{"zone":"2","supportedFlexibleServerEditions":[{"name":"Burstable","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"},{"name":"33554432","supportedIOPS":20000,"storageSizeMB":33554432,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"13.0","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"}],"status":"Available"},{"name":"GeneralPurpose","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Default"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Default"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Default"},{"name":"13","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"status":"Default"},{"name":"MemoryOptimized","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"},{"name":"33554432","supportedIOPS":20000,"storageSizeMB":33554432,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"13","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"}],"status":"Available"}],"supportedHyperscaleNodeEditions":[],"status":"Available"},{"zone":"3","supportedFlexibleServerEditions":[{"name":"Burstable","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"},{"name":"33554432","supportedIOPS":20000,"storageSizeMB":33554432,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"13.0","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"}],"status":"Available"},{"name":"GeneralPurpose","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Default"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Default"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Default"},{"name":"13","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"status":"Default"},{"name":"MemoryOptimized","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"},{"name":"33554432","supportedIOPS":20000,"storageSizeMB":33554432,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"13","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"}],"status":"Available"}],"supportedHyperscaleNodeEditions":[],"status":"Available"}]}' - headers: - cache-control: - - no-cache - content-length: - - '59761' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 03 Mar 2021 07:56: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: '{"sku": {"name": "Standard_D2s_v3", "tier": "GeneralPurpose"}, "properties": - {"administratorLoginPassword": "cliPwd000003", "storageProfile": {"backupRetentionDays": - 7, "storageMB": 32768}, "maintenanceWindow": {"customWindow": "Disabled", "startHour": - 0, "startMinute": 0, "dayOfWeek": 0}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - postgres flexible-server update - Connection: - - keep-alive - Content-Length: - - '294' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - -g -n -p - User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-02-14-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US - method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForPostgreSql/flexibleServers/azuredbclitest-000002?api-version=2020-02-14-preview - response: - body: - string: '{"operation":"UpsertServerManagementOperationV2","startTime":"2021-03-03T07:56:33.69Z"}' - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/8ad91727-8b0f-411b-8e4b-5eebe33c4743?api-version=2020-02-14-preview - cache-control: - - no-cache - content-length: - - '87' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 03 Mar 2021 07:56:33 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/operationResults/8ad91727-8b0f-411b-8e4b-5eebe33c4743?api-version=2020-02-14-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: - - postgres flexible-server update - Connection: - - keep-alive - ParameterSetName: - - -g -n -p - User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-02-14-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/8ad91727-8b0f-411b-8e4b-5eebe33c4743?api-version=2020-02-14-preview - response: - body: - string: '{"name":"8ad91727-8b0f-411b-8e4b-5eebe33c4743","status":"Succeeded","startTime":"2021-03-03T07:56:33.69Z"}' - headers: - cache-control: - - no-cache - content-length: - - '106' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 03 Mar 2021 07:57: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 flexible-server update - Connection: - - keep-alive - ParameterSetName: - - -g -n -p - User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-02-14-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForPostgreSql/flexibleServers/azuredbclitest-000002?api-version=2020-02-14-preview - response: - body: - string: '{"sku":{"name":"Standard_D2s_v3","tier":"GeneralPurpose","capacity":2},"properties":{"fullyQualifiedDomainName":"azuredbclitest-000002.postgres.database.azure.com","version":"12","standbyCount":0,"haEnabled":"Disabled","administratorLogin":"cliuser","publicNetworkAccess":"Enabled","logBackupStorageSku":"Standard_ZRS","haState":"NotEnabled","state":"Ready","availabilityZone":"3","storageProfile":{"storageMB":32768,"backupRetentionDays":7},"earliestRestoreDate":"2021-03-03T07:57:35.8891943+00:00","byokEnforcement":"Disabled","maintenanceWindow":{"customWindow":"Disabled","dayOfWeek":0,"startHour":0,"startMinute":0}},"location":"East - US","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/flexibleServers/azuredbclitest-000002","name":"azuredbclitest-000002","type":"Microsoft.DBforPostgreSQL/flexibleServers"}' - headers: - cache-control: - - no-cache - content-length: - - '946' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 03 Mar 2021 07:57: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": "255.255.255.255"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - postgres flexible-server firewall-rule create - Connection: - - keep-alive - Content-Length: - - '80' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - -g -n --rule-name --start-ip-address --end-ip-address - User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-02-14-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForPostgreSql/flexibleServers/azuredbclitest-000002/firewallRules/allIps?api-version=2020-02-14-preview - response: - body: - string: '{"operation":"UpsertServerFirewallRulesManagementOperation","startTime":"2021-03-03T07:57:57.857Z"}' - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/2741e4a8-8385-468d-bfa9-ad152b8806a4?api-version=2020-02-14-preview - cache-control: - - no-cache - content-length: - - '99' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 03 Mar 2021 07:57:57 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/operationResults/2741e4a8-8385-468d-bfa9-ad152b8806a4?api-version=2020-02-14-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: - - postgres flexible-server firewall-rule create - Connection: - - keep-alive - ParameterSetName: - - -g -n --rule-name --start-ip-address --end-ip-address - User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-02-14-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/2741e4a8-8385-468d-bfa9-ad152b8806a4?api-version=2020-02-14-preview - response: - body: - string: '{"name":"2741e4a8-8385-468d-bfa9-ad152b8806a4","status":"Succeeded","startTime":"2021-03-03T07:57:57.857Z"}' - headers: - cache-control: - - no-cache - content-length: - - '107' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 03 Mar 2021 07:58: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 flexible-server firewall-rule create - Connection: - - keep-alive - ParameterSetName: - - -g -n --rule-name --start-ip-address --end-ip-address - User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-02-14-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForPostgreSql/flexibleServers/azuredbclitest-000002/firewallRules/allIps?api-version=2020-02-14-preview - 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/flexibleServers/azuredbclitest-000002/firewallRules/allIps","name":"allIps","type":"Microsoft.DBforPostgreSQL/flexibleServers/firewallRules"}' - headers: - cache-control: - - no-cache - content-length: - - '401' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 03 Mar 2021 07:58: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 flexible-server create - Connection: - - keep-alive - ParameterSetName: - - -g -n -l --admin-user --storage-size --version - User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-02-14-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US + - AZURECLI/2.22.1 azsdk-python-mgmt-rdbms/unknown Python/3.7.7 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBForPostgreSql/locations/eastus/capabilities?api-version=2020-02-14-preview response: body: - string: '{"value":[{"zone":"none","supportedFlexibleServerEditions":[{"name":"Burstable","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"},{"name":"33554432","supportedIOPS":20000,"storageSizeMB":33554432,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"13.0","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"}],"status":"Available"},{"name":"GeneralPurpose","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Default"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Default"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Default"},{"name":"13","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"status":"Default"},{"name":"MemoryOptimized","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"},{"name":"33554432","supportedIOPS":20000,"storageSizeMB":33554432,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"13","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"}],"status":"Available"}],"supportedHyperscaleNodeEditions":[{"name":"GeneralPurpose","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"},{"name":"33553408","supportedIOPS":20000,"storageSizeMB":33553408,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":25600,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":51200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":80000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"11.0","supportedVcores":[{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"11.2","supportedVcores":[{"name":"Standard_D4s_v3","vCores":4,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":25600,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":51200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":80000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"11.2.8","supportedVcores":[{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":25600,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":51200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":80000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"supportedNodeTypes":[{"name":"Coordinator","nodeType":"Coordinator","status":"Default"}],"status":"Available"},{"name":"MemoryOptimized","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"},{"name":"33553408","supportedIOPS":20000,"storageSizeMB":33553408,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":25600,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":51200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":80000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"},{"name":"11.0","supportedVcores":[{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":25600,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":51200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":80000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"},{"name":"11.2","supportedVcores":[{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":25600,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":51200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":80000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"},{"name":"11.2.8","supportedVcores":[{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":25600,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":51200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":80000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"supportedNodeTypes":[{"name":"Worker","nodeType":"Worker","status":"Default"}],"status":"Available"}],"status":"Default"},{"zone":"1","supportedFlexibleServerEditions":[{"name":"Burstable","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"},{"name":"33554432","supportedIOPS":20000,"storageSizeMB":33554432,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"13.0","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"}],"status":"Available"},{"name":"GeneralPurpose","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Default"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Default"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Default"},{"name":"13","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"status":"Default"},{"name":"MemoryOptimized","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"},{"name":"33554432","supportedIOPS":20000,"storageSizeMB":33554432,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"13","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"}],"status":"Available"}],"supportedHyperscaleNodeEditions":[],"status":"Available"},{"zone":"2","supportedFlexibleServerEditions":[{"name":"Burstable","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"},{"name":"33554432","supportedIOPS":20000,"storageSizeMB":33554432,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"13.0","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"}],"status":"Available"},{"name":"GeneralPurpose","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Default"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Default"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Default"},{"name":"13","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"status":"Default"},{"name":"MemoryOptimized","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"},{"name":"33554432","supportedIOPS":20000,"storageSizeMB":33554432,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"13","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"}],"status":"Available"}],"supportedHyperscaleNodeEditions":[],"status":"Available"},{"zone":"3","supportedFlexibleServerEditions":[{"name":"Burstable","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"},{"name":"33554432","supportedIOPS":20000,"storageSizeMB":33554432,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"13.0","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"}],"status":"Available"},{"name":"GeneralPurpose","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Default"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Default"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Default"},{"name":"13","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"status":"Default"},{"name":"MemoryOptimized","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"},{"name":"33554432","supportedIOPS":20000,"storageSizeMB":33554432,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"13","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"}],"status":"Available"}],"supportedHyperscaleNodeEditions":[],"status":"Available"}]}' + string: '{"value":[{"zone":"none","supportedFlexibleServerEditions":[{"name":"Burstable","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"13","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"}],"status":"Available"},{"name":"GeneralPurpose","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Default"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Default"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Default"},{"name":"13","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"status":"Default"},{"name":"MemoryOptimized","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"13","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"}],"status":"Available"}],"supportedHyperscaleNodeEditions":[{"name":"GeneralPurpose","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"},{"name":"33553408","supportedIOPS":20000,"storageSizeMB":33553408,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":25600,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":51200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":80000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"11.0","supportedVcores":[{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"11.2","supportedVcores":[{"name":"Standard_D4s_v3","vCores":4,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":25600,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":51200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":80000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"11.2.8","supportedVcores":[{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":25600,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":51200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":80000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"supportedNodeTypes":[{"name":"Coordinator","nodeType":"Coordinator","status":"Default"}],"status":"Available"},{"name":"MemoryOptimized","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"},{"name":"33553408","supportedIOPS":20000,"storageSizeMB":33553408,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":25600,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":51200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":80000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"},{"name":"11.0","supportedVcores":[{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":25600,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":51200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":80000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"},{"name":"11.2","supportedVcores":[{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":25600,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":51200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":80000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"},{"name":"11.2.8","supportedVcores":[{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":25600,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":51200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":80000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"supportedNodeTypes":[{"name":"Worker","nodeType":"Worker","status":"Default"}],"status":"Available"}],"status":"Default"},{"zone":"1","supportedFlexibleServerEditions":[{"name":"Burstable","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"13","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"}],"status":"Available"},{"name":"GeneralPurpose","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Default"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Default"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Default"},{"name":"13","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"status":"Default"},{"name":"MemoryOptimized","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"13","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"}],"status":"Available"}],"supportedHyperscaleNodeEditions":[],"status":"Available"},{"zone":"2","supportedFlexibleServerEditions":[{"name":"Burstable","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"13","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"}],"status":"Available"},{"name":"GeneralPurpose","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Default"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Default"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Default"},{"name":"13","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"status":"Default"},{"name":"MemoryOptimized","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"13","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"}],"status":"Available"}],"supportedHyperscaleNodeEditions":[],"status":"Available"},{"zone":"3","supportedFlexibleServerEditions":[{"name":"Burstable","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"13","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"}],"status":"Available"},{"name":"GeneralPurpose","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Default"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Default"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Default"},{"name":"13","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"status":"Default"},{"name":"MemoryOptimized","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"13","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"}],"status":"Available"}],"supportedHyperscaleNodeEditions":[],"status":"Available"}]}' headers: cache-control: - no-cache content-length: - - '59761' + - '59049' content-type: - application/json; charset=utf-8 date: - - Wed, 03 Mar 2021 07:59:03 GMT + - Fri, 23 Apr 2021 01:36:57 GMT expires: - '-1' pragma: @@ -892,10 +57,10 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n -l --admin-user --storage-size --version + - -g -n -l --admin-user --storage-size --version --public-access User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 + - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-resource/12.1.0 Azure-SDK-For-Python AZURECLI/2.22.1 accept-language: - en-US method: HEAD @@ -909,7 +74,7 @@ interactions: content-length: - '0' date: - - Wed, 03 Mar 2021 07:59:03 GMT + - Fri, 23 Apr 2021 01:36:58 GMT expires: - '-1' pragma: @@ -922,72 +87,10 @@ interactions: code: 204 message: No Content - request: - body: '{"location": "eastus", "properties": {"addressSpace": {"addressPrefixes": - ["10.0.0.0/16"]}, "enableDdosProtection": false, "enableVmProtection": false}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - postgres flexible-server create - Connection: - - keep-alive - Content-Length: - - '152' - Content-Type: - - application/json - ParameterSetName: - - -g -n -l --admin-user --storage-size --version - User-Agent: - - AZURECLI/2.19.1 azsdk-python-azure-mgmt-network/17.0.0 Python/3.7.2 (Windows-10-10.0.19041-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/VNETbclitest-6atq7?api-version=2020-07-01 - response: - body: - string: "{\r\n \"name\": \"VNETbclitest-6atq7\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/VNETbclitest-6atq7\",\r\n - \ \"etag\": \"W/\\\"43b22718-c0b3-4e3b-8858-cc568419df19\\\"\",\r\n \"type\": - \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"resourceGuid\": - \"8202885c-43e9-4204-baa4-39ae4a6e8598\",\r\n \"addressSpace\": {\r\n \"addressPrefixes\": - [\r\n \"10.0.0.0/16\"\r\n ]\r\n },\r\n \"subnets\": [],\r\n - \ \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": false,\r\n - \ \"enableVmProtection\": false\r\n }\r\n}" - headers: - azure-asyncnotification: - - Enabled - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/62954652-649e-4516-bd3b-b1cc35068982?api-version=2020-07-01 - cache-control: - - no-cache - content-length: - - '723' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 03 Mar 2021 07:59:06 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-arm-service-request-id: - - 23b87232-383a-4964-96b4-aeee65a39e36 - x-ms-ratelimit-remaining-subscription-writes: - - '1198' - status: - code: 201 - message: Created -- request: - body: '{"name": "Subnetbclitest-6atq7", "properties": {"addressPrefix": "10.0.0.0/24", - "serviceEndpoints": [{"service": "Microsoft.Storage"}], "delegations": [{"name": - "Microsoft.DBforPostgreSQL/flexibleServers", "properties": {"serviceName": "Microsoft.DBforPostgreSQL/flexibleServers"}}]}}' + body: '{"location": "eastus", "sku": {"name": "Standard_D2s_v3", "tier": "GeneralPurpose"}, + "properties": {"administratorLogin": "cliuser", "administratorLoginPassword": + "hP6ojVQK_WaqJ71x9makQg", "version": "12", "storageProfile": {"backupRetentionDays": + 7, "storageMB": 32768}, "haEnabled": "Disabled", "createMode": "Default"}}' headers: Accept: - application/json @@ -998,62 +101,46 @@ interactions: Connection: - keep-alive Content-Length: - - '284' + - '322' Content-Type: - application/json ParameterSetName: - - -g -n -l --admin-user --storage-size --version + - -g -n -l --admin-user --storage-size --version --public-access User-Agent: - - AZURECLI/2.19.1 azsdk-python-azure-mgmt-network/17.0.0 Python/3.7.2 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.22.1 azsdk-python-mgmt-rdbms/unknown Python/3.7.7 (Windows-10-10.0.19041-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/VNETbclitest-6atq7/subnets/Subnetbclitest-6atq7?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForPostgreSql/flexibleServers/azuredbclitest-000002?api-version=2020-02-14-preview response: body: - string: "{\r\n \"name\": \"Subnetbclitest-6atq7\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/VNETbclitest-6atq7/subnets/Subnetbclitest-6atq7\",\r\n - \ \"etag\": \"W/\\\"3166e23e-5e20-45ba-bb2d-f0feb471ddd4\\\"\",\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 - \ \"eastus\",\r\n \"westus\"\r\n ]\r\n }\r\n - \ ],\r\n \"delegations\": [\r\n {\r\n \"name\": \"Microsoft.DBforPostgreSQL/flexibleServers\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/VNETbclitest-6atq7/subnets/Subnetbclitest-6atq7/delegations/Microsoft.DBforPostgreSQL/flexibleServers\",\r\n - \ \"etag\": \"W/\\\"3166e23e-5e20-45ba-bb2d-f0feb471ddd4\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"serviceName\": \"Microsoft.DBforPostgreSQL/flexibleServers\",\r\n - \ \"actions\": [\r\n \"Microsoft.Network/virtualNetworks/subnets/join/action\"\r\n - \ ]\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets/delegations\"\r\n - \ }\r\n ],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n - \ \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n },\r\n \"type\": - \"Microsoft.Network/virtualNetworks/subnets\"\r\n}" + string: '{"operation":"UpsertServerManagementOperationV2","startTime":"2021-04-23T01:37:01.3Z"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/8f84df7a-83c3-4ac9-b758-0c46ea9044e3?api-version=2020-07-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/7d1ab24f-5414-4391-9dbd-ff0aadc8a422?api-version=2020-02-14-preview cache-control: - no-cache content-length: - - '1624' + - '86' content-type: - application/json; charset=utf-8 date: - - Wed, 03 Mar 2021 07:59:07 GMT + - Fri, 23 Apr 2021 01:37:01 GMT expires: - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/operationResults/7d1ab24f-5414-4391-9dbd-ff0aadc8a422?api-version=2020-02-14-preview 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-arm-service-request-id: - - eb727440-024f-4a39-8b8d-e2c34de66801 x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1199' status: - code: 201 - message: Created + code: 202 + message: Accepted - request: body: null headers: @@ -1066,37 +153,29 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n -l --admin-user --storage-size --version + - -g -n -l --admin-user --storage-size --version --public-access User-Agent: - - AZURECLI/2.19.1 azsdk-python-azure-mgmt-network/17.0.0 Python/3.7.2 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.22.1 azsdk-python-mgmt-rdbms/unknown Python/3.7.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/62954652-649e-4516-bd3b-b1cc35068982?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/7d1ab24f-5414-4391-9dbd-ff0aadc8a422?api-version=2020-02-14-preview response: body: - string: "{\r\n \"status\": \"Canceled\",\r\n \"error\": {\r\n \"code\": - \"Canceled\",\r\n \"message\": \"Operation was canceled.\",\r\n \"details\": - [\r\n {\r\n \"code\": \"CanceledAndSupersededDueToAnotherOperation\",\r\n - \ \"message\": \"Operation PutVirtualNetworkOperation (62954652-649e-4516-bd3b-b1cc35068982) - was canceled and superseded by operation PutSubnetOperation (8f84df7a-83c3-4ac9-b758-0c46ea9044e3).\"\r\n - \ }\r\n ]\r\n }\r\n}" + string: '{"name":"7d1ab24f-5414-4391-9dbd-ff0aadc8a422","status":"InProgress","startTime":"2021-04-23T01:37:01.3Z"}' headers: cache-control: - no-cache - canceled-by-azure-asyncoperation: - - https://management.azure.com/subscriptions/7fec3109-5b78-4a24-b834-5d47d63e2596/providers/Microsoft.Network/locations/eastus/operations/8f84df7a-83c3-4ac9-b758-0c46ea9044e3?api-version=2020-07-01 content-length: - - '420' + - '106' content-type: - application/json; charset=utf-8 date: - - Wed, 03 Mar 2021 07:59:09 GMT + - Fri, 23 Apr 2021 01:38:02 GMT expires: - '-1' pragma: - no-cache server: - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: @@ -1105,8 +184,6 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff - x-ms-arm-service-request-id: - - 10a27cec-ac64-4978-9dca-f35d68b683c6 status: code: 200 message: OK @@ -1122,30 +199,29 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n -l --admin-user --storage-size --version + - -g -n -l --admin-user --storage-size --version --public-access User-Agent: - - AZURECLI/2.19.1 azsdk-python-azure-mgmt-network/17.0.0 Python/3.7.2 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.22.1 azsdk-python-mgmt-rdbms/unknown Python/3.7.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/8f84df7a-83c3-4ac9-b758-0c46ea9044e3?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/7d1ab24f-5414-4391-9dbd-ff0aadc8a422?api-version=2020-02-14-preview response: body: - string: "{\r\n \"status\": \"InProgress\"\r\n}" + string: '{"name":"7d1ab24f-5414-4391-9dbd-ff0aadc8a422","status":"InProgress","startTime":"2021-04-23T01:37:01.3Z"}' headers: cache-control: - no-cache content-length: - - '30' + - '106' content-type: - application/json; charset=utf-8 date: - - Wed, 03 Mar 2021 07:59:10 GMT + - Fri, 23 Apr 2021 01:39:01 GMT expires: - '-1' pragma: - no-cache server: - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: @@ -1154,8 +230,6 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff - x-ms-arm-service-request-id: - - 044f58e6-6453-4f28-9f67-eaed252bdc6a status: code: 200 message: OK @@ -1171,30 +245,29 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n -l --admin-user --storage-size --version + - -g -n -l --admin-user --storage-size --version --public-access User-Agent: - - AZURECLI/2.19.1 azsdk-python-azure-mgmt-network/17.0.0 Python/3.7.2 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.22.1 azsdk-python-mgmt-rdbms/unknown Python/3.7.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/8f84df7a-83c3-4ac9-b758-0c46ea9044e3?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/7d1ab24f-5414-4391-9dbd-ff0aadc8a422?api-version=2020-02-14-preview response: body: - string: "{\r\n \"status\": \"Succeeded\"\r\n}" + string: '{"name":"7d1ab24f-5414-4391-9dbd-ff0aadc8a422","status":"InProgress","startTime":"2021-04-23T01:37:01.3Z"}' headers: cache-control: - no-cache content-length: - - '29' + - '106' content-type: - application/json; charset=utf-8 date: - - Wed, 03 Mar 2021 07:59:20 GMT + - Fri, 23 Apr 2021 01:40:02 GMT expires: - '-1' pragma: - no-cache server: - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: @@ -1203,8 +276,6 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff - x-ms-arm-service-request-id: - - 7dff6d97-d377-4960-b088-22ad5bbe4ca0 status: code: 200 message: OK @@ -1220,47 +291,29 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n -l --admin-user --storage-size --version + - -g -n -l --admin-user --storage-size --version --public-access User-Agent: - - AZURECLI/2.19.1 azsdk-python-azure-mgmt-network/17.0.0 Python/3.7.2 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.22.1 azsdk-python-mgmt-rdbms/unknown Python/3.7.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/VNETbclitest-6atq7/subnets/Subnetbclitest-6atq7?api-version=2020-07-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/7d1ab24f-5414-4391-9dbd-ff0aadc8a422?api-version=2020-02-14-preview response: body: - string: "{\r\n \"name\": \"Subnetbclitest-6atq7\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/VNETbclitest-6atq7/subnets/Subnetbclitest-6atq7\",\r\n - \ \"etag\": \"W/\\\"0fd4433c-b2d4-4fc3-bf00-8d6fffc3b85e\\\"\",\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\": \"Microsoft.Storage\",\r\n \"locations\": [\r\n - \ \"eastus\",\r\n \"westus\"\r\n ]\r\n }\r\n - \ ],\r\n \"delegations\": [\r\n {\r\n \"name\": \"Microsoft.DBforPostgreSQL/flexibleServers\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/VNETbclitest-6atq7/subnets/Subnetbclitest-6atq7/delegations/Microsoft.DBforPostgreSQL/flexibleServers\",\r\n - \ \"etag\": \"W/\\\"0fd4433c-b2d4-4fc3-bf00-8d6fffc3b85e\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"serviceName\": \"Microsoft.DBforPostgreSQL/flexibleServers\",\r\n - \ \"actions\": [\r\n \"Microsoft.Network/virtualNetworks/subnets/join/action\"\r\n - \ ]\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets/delegations\"\r\n - \ }\r\n ],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n - \ \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n },\r\n \"type\": - \"Microsoft.Network/virtualNetworks/subnets\"\r\n}" + string: '{"name":"7d1ab24f-5414-4391-9dbd-ff0aadc8a422","status":"InProgress","startTime":"2021-04-23T01:37:01.3Z"}' headers: cache-control: - no-cache content-length: - - '1626' + - '106' content-type: - application/json; charset=utf-8 date: - - Wed, 03 Mar 2021 07:59:20 GMT - etag: - - W/"0fd4433c-b2d4-4fc3-bf00-8d6fffc3b85e" + - Fri, 23 Apr 2021 01:41:02 GMT expires: - '-1' pragma: - no-cache server: - Microsoft-HTTPAPI/2.0 - - Microsoft-HTTPAPI/2.0 strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: @@ -1269,76 +322,14 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff - x-ms-arm-service-request-id: - - 22b6f3b5-0834-41e2-99f5-85757fa16006 status: code: 200 message: OK -- request: - body: '{"location": "eastus", "sku": {"name": "Standard_D2s_v3", "tier": "GeneralPurpose"}, - "properties": {"administratorLogin": "cliuser", "administratorLoginPassword": - "p_65TGUoKfMoGNz5uFuiaA", "version": "12", "storageProfile": {"backupRetentionDays": - 7, "storageMB": 32768}, "haEnabled": "Disabled", "delegatedSubnetArguments": - {"subnetArmResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/VNETbclitest-6atq7/subnets/Subnetbclitest-6atq7"}, - "createMode": "Default"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - postgres flexible-server create - Connection: - - keep-alive - Content-Length: - - '613' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - -g -n -l --admin-user --storage-size --version - User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-02-14-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForPostgreSql/flexibleServers/azuredbclitest-000004?api-version=2020-02-14-preview - response: - body: - string: '{"operation":"UpsertServerManagementOperationV2","startTime":"2021-03-03T07:59:23.437Z"}' - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/2b1a035f-6545-40f2-84fa-f6dd24ca6cba?api-version=2020-02-14-preview - cache-control: - - no-cache - content-length: - - '88' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 03 Mar 2021 07:59:23 GMT - expires: - - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/operationResults/2b1a035f-6545-40f2-84fa-f6dd24ca6cba?api-version=2020-02-14-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: @@ -1346,24 +337,23 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n -l --admin-user --storage-size --version + - -g -n -l --admin-user --storage-size --version --public-access User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-02-14-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 + - AZURECLI/2.22.1 azsdk-python-mgmt-rdbms/unknown Python/3.7.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/2b1a035f-6545-40f2-84fa-f6dd24ca6cba?api-version=2020-02-14-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/7d1ab24f-5414-4391-9dbd-ff0aadc8a422?api-version=2020-02-14-preview response: body: - string: '{"name":"2b1a035f-6545-40f2-84fa-f6dd24ca6cba","status":"InProgress","startTime":"2021-03-03T07:59:23.437Z"}' + string: '{"name":"7d1ab24f-5414-4391-9dbd-ff0aadc8a422","status":"InProgress","startTime":"2021-04-23T01:37:01.3Z"}' headers: cache-control: - no-cache content-length: - - '108' + - '106' content-type: - application/json; charset=utf-8 date: - - Wed, 03 Mar 2021 08:00:24 GMT + - Fri, 23 Apr 2021 01:42:03 GMT expires: - '-1' pragma: @@ -1385,7 +375,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1393,24 +383,23 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n -l --admin-user --storage-size --version + - -g -n -l --admin-user --storage-size --version --public-access User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-02-14-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 + - AZURECLI/2.22.1 azsdk-python-mgmt-rdbms/unknown Python/3.7.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/2b1a035f-6545-40f2-84fa-f6dd24ca6cba?api-version=2020-02-14-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/7d1ab24f-5414-4391-9dbd-ff0aadc8a422?api-version=2020-02-14-preview response: body: - string: '{"name":"2b1a035f-6545-40f2-84fa-f6dd24ca6cba","status":"InProgress","startTime":"2021-03-03T07:59:23.437Z"}' + string: '{"name":"7d1ab24f-5414-4391-9dbd-ff0aadc8a422","status":"InProgress","startTime":"2021-04-23T01:37:01.3Z"}' headers: cache-control: - no-cache content-length: - - '108' + - '106' content-type: - application/json; charset=utf-8 date: - - Wed, 03 Mar 2021 08:01:24 GMT + - Fri, 23 Apr 2021 01:43:03 GMT expires: - '-1' pragma: @@ -1432,7 +421,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1440,24 +429,23 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n -l --admin-user --storage-size --version + - -g -n -l --admin-user --storage-size --version --public-access User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-02-14-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 + - AZURECLI/2.22.1 azsdk-python-mgmt-rdbms/unknown Python/3.7.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/2b1a035f-6545-40f2-84fa-f6dd24ca6cba?api-version=2020-02-14-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/7d1ab24f-5414-4391-9dbd-ff0aadc8a422?api-version=2020-02-14-preview response: body: - string: '{"name":"2b1a035f-6545-40f2-84fa-f6dd24ca6cba","status":"InProgress","startTime":"2021-03-03T07:59:23.437Z"}' + string: '{"name":"7d1ab24f-5414-4391-9dbd-ff0aadc8a422","status":"Succeeded","startTime":"2021-04-23T01:37:01.3Z"}' headers: cache-control: - no-cache content-length: - - '108' + - '105' content-type: - application/json; charset=utf-8 date: - - Wed, 03 Mar 2021 08:02:24 GMT + - Fri, 23 Apr 2021 01:44:04 GMT expires: - '-1' pragma: @@ -1479,7 +467,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1487,24 +475,24 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n -l --admin-user --storage-size --version + - -g -n -l --admin-user --storage-size --version --public-access User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-02-14-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 + - AZURECLI/2.22.1 azsdk-python-mgmt-rdbms/unknown Python/3.7.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/2b1a035f-6545-40f2-84fa-f6dd24ca6cba?api-version=2020-02-14-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForPostgreSql/flexibleServers/azuredbclitest-000002?api-version=2020-02-14-preview response: body: - string: '{"name":"2b1a035f-6545-40f2-84fa-f6dd24ca6cba","status":"InProgress","startTime":"2021-03-03T07:59:23.437Z"}' + string: '{"sku":{"name":"Standard_D2s_v3","tier":"GeneralPurpose","capacity":2},"properties":{"fullyQualifiedDomainName":"azuredbclitest-000002.postgres.database.azure.com","version":"12","minorVersion":"6","standbyCount":0,"haEnabled":"Disabled","administratorLogin":"cliuser","publicNetworkAccess":"Enabled","logBackupStorageSku":"Standard_ZRS","haState":"NotEnabled","state":"Ready","availabilityZone":"2","storageProfile":{"storageMB":32768,"backupRetentionDays":7,"geoRedundantBackup":"Disabled"},"earliestRestoreDate":"2021-04-23T01:44:04.5833347+00:00","byokEnforcement":"Disabled","maintenanceWindow":{"customWindow":"Disabled","dayOfWeek":0,"startHour":0,"startMinute":0}},"location":"East + US","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/flexibleServers/azuredbclitest-000002","name":"azuredbclitest-000002","type":"Microsoft.DBforPostgreSQL/flexibleServers"}' headers: cache-control: - no-cache content-length: - - '108' + - '997' content-type: - application/json; charset=utf-8 date: - - Wed, 03 Mar 2021 08:03:25 GMT + - Fri, 23 Apr 2021 01:44:04 GMT expires: - '-1' pragma: @@ -1534,24 +522,25 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n -l --admin-user --storage-size --version + - -g -n -l --admin-user --storage-size --version --public-access User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-02-14-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 + - AZURECLI/2.22.1 azsdk-python-mgmt-rdbms/unknown Python/3.7.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/2b1a035f-6545-40f2-84fa-f6dd24ca6cba?api-version=2020-02-14-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForPostgreSql/flexibleServers/azuredbclitest-000002/databases/flexibleserverdb?api-version=2020-11-05-preview response: body: - string: '{"name":"2b1a035f-6545-40f2-84fa-f6dd24ca6cba","status":"InProgress","startTime":"2021-03-03T07:59:23.437Z"}' + string: '{"error":{"code":"ResourceNotFound","message":"The requested resource + of type ''Microsoft.DBforPostgreSQL/flexibleServers/databases'' with name + ''flexibleserverdb'' was not found."}}' headers: cache-control: - no-cache content-length: - - '108' + - '178' content-type: - application/json; charset=utf-8 date: - - Wed, 03 Mar 2021 08:04:24 GMT + - Fri, 23 Apr 2021 01:44:05 GMT expires: - '-1' pragma: @@ -1560,17 +549,13 @@ interactions: - Microsoft-HTTPAPI/2.0 strict-transport-security: - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding x-content-type-options: - nosniff status: - code: 200 - message: OK + code: 404 + message: Not Found - request: - body: null + body: '{"properties": {"charset": "utf8", "collation": "en_US.utf8"}}' headers: Accept: - application/json @@ -1580,47 +565,52 @@ interactions: - postgres flexible-server create Connection: - keep-alive + Content-Length: + - '62' + Content-Type: + - application/json ParameterSetName: - - -g -n -l --admin-user --storage-size --version + - -g -n -l --admin-user --storage-size --version --public-access User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-02-14-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/2b1a035f-6545-40f2-84fa-f6dd24ca6cba?api-version=2020-02-14-preview + - AZURECLI/2.22.1 azsdk-python-mgmt-rdbms/unknown Python/3.7.7 (Windows-10-10.0.19041-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForPostgreSql/flexibleServers/azuredbclitest-000002/databases/flexibleserverdb?api-version=2020-11-05-preview response: body: - string: '{"name":"2b1a035f-6545-40f2-84fa-f6dd24ca6cba","status":"InProgress","startTime":"2021-03-03T07:59:23.437Z"}' + string: '{"operation":"UpsertServerDatabaseManagementOperation","startTime":"2021-04-23T01:44:05.96Z"}' headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/2c7c16f8-a901-40d5-8157-6f4c7549a5c1?api-version=2020-11-05-preview cache-control: - no-cache content-length: - - '108' + - '93' content-type: - application/json; charset=utf-8 date: - - Wed, 03 Mar 2021 08:05:25 GMT + - Fri, 23 Apr 2021 01:44:06 GMT expires: - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/operationResults/2c7c16f8-a901-40d5-8157-6f4c7549a5c1?api-version=2020-11-05-preview pragma: - no-cache server: - 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 + code: 202 + message: Accepted - request: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1628,24 +618,23 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n -l --admin-user --storage-size --version + - -g -n -l --admin-user --storage-size --version --public-access User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-02-14-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 + - AZURECLI/2.22.1 azsdk-python-mgmt-rdbms/unknown Python/3.7.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/2b1a035f-6545-40f2-84fa-f6dd24ca6cba?api-version=2020-02-14-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/2c7c16f8-a901-40d5-8157-6f4c7549a5c1?api-version=2020-11-05-preview response: body: - string: '{"name":"2b1a035f-6545-40f2-84fa-f6dd24ca6cba","status":"Succeeded","startTime":"2021-03-03T07:59:23.437Z"}' + string: '{"name":"2c7c16f8-a901-40d5-8157-6f4c7549a5c1","status":"Succeeded","startTime":"2021-04-23T01:44:05.96Z"}' headers: cache-control: - no-cache content-length: - - '107' + - '106' content-type: - application/json; charset=utf-8 date: - - Wed, 03 Mar 2021 08:06:26 GMT + - Fri, 23 Apr 2021 01:44:16 GMT expires: - '-1' pragma: @@ -1667,7 +656,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1675,25 +664,23 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n -l --admin-user --storage-size --version + - -g -n -l --admin-user --storage-size --version --public-access User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-02-14-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 + - AZURECLI/2.22.1 azsdk-python-mgmt-rdbms/unknown Python/3.7.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForPostgreSql/flexibleServers/azuredbclitest-000004?api-version=2020-02-14-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForPostgreSql/flexibleServers/azuredbclitest-000002/databases/flexibleserverdb?api-version=2020-11-05-preview response: body: - string: '{"sku":{"name":"Standard_D2s_v3","tier":"GeneralPurpose","capacity":2},"properties":{"fullyQualifiedDomainName":"azuredbclitest-000004.postgres.database.azure.com","version":"12","standbyCount":0,"haEnabled":"Disabled","administratorLogin":"cliuser","publicNetworkAccess":"Disabled","delegatedSubnetArguments":{"subnetArmResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/VNETbclitest-6atq7/subnets/Subnetbclitest-6atq7"},"logBackupStorageSku":"Standard_ZRS","haState":"NotEnabled","state":"Ready","availabilityZone":"1","storageProfile":{"storageMB":32768,"backupRetentionDays":7},"earliestRestoreDate":"2021-03-03T08:06:26.8472576+00:00","byokEnforcement":"Disabled","maintenanceWindow":{"customWindow":"Disabled","dayOfWeek":0,"startHour":0,"startMinute":0}},"location":"East - US","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/flexibleServers/azuredbclitest-000004","name":"azuredbclitest-000004","type":"Microsoft.DBforPostgreSQL/flexibleServers"}' + string: '{"properties":{"charset":"UTF8","collation":"en_US.utf8"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/flexibleServers/azuredbclitest-000002/databases/flexibleserverdb","name":"flexibleserverdb","type":"Microsoft.DBforPostgreSQL/flexibleServers/databases"}' headers: cache-control: - no-cache content-length: - - '1235' + - '395' content-type: - application/json; charset=utf-8 date: - - Wed, 03 Mar 2021 08:06:26 GMT + - Fri, 23 Apr 2021 01:44:16 GMT expires: - '-1' pragma: @@ -1725,25 +712,22 @@ interactions: ParameterSetName: - -g -n -p User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-02-14-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US + - AZURECLI/2.22.1 azsdk-python-mgmt-rdbms/unknown Python/3.7.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForPostgreSql/flexibleServers/azuredbclitest-000004?api-version=2020-02-14-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForPostgreSql/flexibleServers/azuredbclitest-000002?api-version=2020-02-14-preview response: body: - string: '{"sku":{"name":"Standard_D2s_v3","tier":"GeneralPurpose","capacity":2},"properties":{"fullyQualifiedDomainName":"azuredbclitest-000004.postgres.database.azure.com","version":"12","standbyCount":0,"haEnabled":"Disabled","administratorLogin":"cliuser","publicNetworkAccess":"Disabled","delegatedSubnetArguments":{"subnetArmResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/VNETbclitest-6atq7/subnets/Subnetbclitest-6atq7"},"logBackupStorageSku":"Standard_ZRS","haState":"NotEnabled","state":"Ready","availabilityZone":"1","storageProfile":{"storageMB":32768,"backupRetentionDays":7},"earliestRestoreDate":"2021-03-03T08:06:28.2454108+00:00","byokEnforcement":"Disabled","maintenanceWindow":{"customWindow":"Disabled","dayOfWeek":0,"startHour":0,"startMinute":0}},"location":"East - US","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/flexibleServers/azuredbclitest-000004","name":"azuredbclitest-000004","type":"Microsoft.DBforPostgreSQL/flexibleServers"}' + string: '{"sku":{"name":"Standard_D2s_v3","tier":"GeneralPurpose","capacity":2},"properties":{"fullyQualifiedDomainName":"azuredbclitest-000002.postgres.database.azure.com","version":"12","minorVersion":"6","standbyCount":0,"haEnabled":"Disabled","administratorLogin":"cliuser","publicNetworkAccess":"Enabled","logBackupStorageSku":"Standard_ZRS","haState":"NotEnabled","state":"Ready","availabilityZone":"2","storageProfile":{"storageMB":32768,"backupRetentionDays":7,"geoRedundantBackup":"Disabled"},"earliestRestoreDate":"2021-04-23T01:44:17.3841046+00:00","byokEnforcement":"Disabled","maintenanceWindow":{"customWindow":"Disabled","dayOfWeek":0,"startHour":0,"startMinute":0}},"location":"East + US","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/flexibleServers/azuredbclitest-000002","name":"azuredbclitest-000002","type":"Microsoft.DBforPostgreSQL/flexibleServers"}' headers: cache-control: - no-cache content-length: - - '1235' + - '997' content-type: - application/json; charset=utf-8 date: - - Wed, 03 Mar 2021 08:06:28 GMT + - Fri, 23 Apr 2021 01:44:17 GMT expires: - '-1' pragma: @@ -1775,24 +759,21 @@ interactions: ParameterSetName: - -g -n -p User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-02-14-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US + - AZURECLI/2.22.1 azsdk-python-mgmt-rdbms/unknown Python/3.7.7 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBForPostgreSql/locations/eastus/capabilities?api-version=2020-02-14-preview response: body: - string: '{"value":[{"zone":"none","supportedFlexibleServerEditions":[{"name":"Burstable","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"},{"name":"33554432","supportedIOPS":20000,"storageSizeMB":33554432,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"13.0","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"}],"status":"Available"},{"name":"GeneralPurpose","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Default"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Default"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Default"},{"name":"13","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"status":"Default"},{"name":"MemoryOptimized","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"},{"name":"33554432","supportedIOPS":20000,"storageSizeMB":33554432,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"13","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"}],"status":"Available"}],"supportedHyperscaleNodeEditions":[{"name":"GeneralPurpose","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"},{"name":"33553408","supportedIOPS":20000,"storageSizeMB":33553408,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":25600,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":51200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":80000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"11.0","supportedVcores":[{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"11.2","supportedVcores":[{"name":"Standard_D4s_v3","vCores":4,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":25600,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":51200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":80000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"11.2.8","supportedVcores":[{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":25600,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":51200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":80000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"supportedNodeTypes":[{"name":"Coordinator","nodeType":"Coordinator","status":"Default"}],"status":"Available"},{"name":"MemoryOptimized","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"},{"name":"33553408","supportedIOPS":20000,"storageSizeMB":33553408,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":25600,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":51200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":80000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"},{"name":"11.0","supportedVcores":[{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":25600,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":51200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":80000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"},{"name":"11.2","supportedVcores":[{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":25600,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":51200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":80000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"},{"name":"11.2.8","supportedVcores":[{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":25600,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":51200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":80000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"supportedNodeTypes":[{"name":"Worker","nodeType":"Worker","status":"Default"}],"status":"Available"}],"status":"Default"},{"zone":"1","supportedFlexibleServerEditions":[{"name":"Burstable","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"},{"name":"33554432","supportedIOPS":20000,"storageSizeMB":33554432,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"13.0","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"}],"status":"Available"},{"name":"GeneralPurpose","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Default"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Default"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Default"},{"name":"13","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"status":"Default"},{"name":"MemoryOptimized","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"},{"name":"33554432","supportedIOPS":20000,"storageSizeMB":33554432,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"13","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"}],"status":"Available"}],"supportedHyperscaleNodeEditions":[],"status":"Available"},{"zone":"2","supportedFlexibleServerEditions":[{"name":"Burstable","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"},{"name":"33554432","supportedIOPS":20000,"storageSizeMB":33554432,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"13.0","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"}],"status":"Available"},{"name":"GeneralPurpose","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Default"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Default"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Default"},{"name":"13","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"status":"Default"},{"name":"MemoryOptimized","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"},{"name":"33554432","supportedIOPS":20000,"storageSizeMB":33554432,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"13","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"}],"status":"Available"}],"supportedHyperscaleNodeEditions":[],"status":"Available"},{"zone":"3","supportedFlexibleServerEditions":[{"name":"Burstable","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"},{"name":"33554432","supportedIOPS":20000,"storageSizeMB":33554432,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"13.0","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"}],"status":"Available"},{"name":"GeneralPurpose","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Default"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Default"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Default"},{"name":"13","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"status":"Default"},{"name":"MemoryOptimized","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"},{"name":"33554432","supportedIOPS":20000,"storageSizeMB":33554432,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"13","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"}],"status":"Available"}],"supportedHyperscaleNodeEditions":[],"status":"Available"}]}' + string: '{"value":[{"zone":"none","supportedFlexibleServerEditions":[{"name":"Burstable","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"13","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"}],"status":"Available"},{"name":"GeneralPurpose","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Default"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Default"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Default"},{"name":"13","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"status":"Default"},{"name":"MemoryOptimized","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"13","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"}],"status":"Available"}],"supportedHyperscaleNodeEditions":[{"name":"GeneralPurpose","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"},{"name":"33553408","supportedIOPS":20000,"storageSizeMB":33553408,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":25600,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":51200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":80000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"11.0","supportedVcores":[{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"11.2","supportedVcores":[{"name":"Standard_D4s_v3","vCores":4,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":25600,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":51200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":80000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"11.2.8","supportedVcores":[{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":25600,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":51200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":80000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"supportedNodeTypes":[{"name":"Coordinator","nodeType":"Coordinator","status":"Default"}],"status":"Available"},{"name":"MemoryOptimized","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"},{"name":"33553408","supportedIOPS":20000,"storageSizeMB":33553408,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":25600,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":51200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":80000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"},{"name":"11.0","supportedVcores":[{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":25600,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":51200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":80000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"},{"name":"11.2","supportedVcores":[{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":25600,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":51200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":80000,"supportedMemoryPerVcoreMB":8192,"status":"Available"}],"status":"Available"},{"name":"11.2.8","supportedVcores":[{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":25600,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":51200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":80000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"supportedNodeTypes":[{"name":"Worker","nodeType":"Worker","status":"Default"}],"status":"Available"}],"status":"Default"},{"zone":"1","supportedFlexibleServerEditions":[{"name":"Burstable","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"13","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"}],"status":"Available"},{"name":"GeneralPurpose","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Default"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Default"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Default"},{"name":"13","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"status":"Default"},{"name":"MemoryOptimized","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"13","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"}],"status":"Available"}],"supportedHyperscaleNodeEditions":[],"status":"Available"},{"zone":"2","supportedFlexibleServerEditions":[{"name":"Burstable","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"13","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"}],"status":"Available"},{"name":"GeneralPurpose","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Default"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Default"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Default"},{"name":"13","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"status":"Default"},{"name":"MemoryOptimized","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"13","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"}],"status":"Available"}],"supportedHyperscaleNodeEditions":[],"status":"Available"},{"zone":"3","supportedFlexibleServerEditions":[{"name":"Burstable","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"},{"name":"13","supportedVcores":[{"name":"Standard_B1ms","vCores":1,"supportedIOPS":640,"supportedMemoryPerVcoreMB":2048,"status":"Available"},{"name":"Standard_B2s","vCores":2,"supportedIOPS":1280,"supportedMemoryPerVcoreMB":2048,"status":"Available"}],"status":"Available"}],"status":"Available"},{"name":"GeneralPurpose","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Default"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Default"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Default"},{"name":"13","supportedVcores":[{"name":"Standard_D2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"},{"name":"Standard_D64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":4096,"status":"Available"}],"status":"Available"}],"status":"Default"},{"name":"MemoryOptimized","supportedStorageEditions":[{"name":"ManagedDisk","supportedStorageMB":[{"name":"32768","supportedIOPS":120,"storageSizeMB":32768,"status":"Available"},{"name":"65536","supportedIOPS":240,"storageSizeMB":65536,"status":"Available"},{"name":"131072","supportedIOPS":500,"storageSizeMB":131072,"status":"Available"},{"name":"262144","supportedIOPS":1100,"storageSizeMB":262144,"status":"Available"},{"name":"524288","supportedIOPS":2300,"storageSizeMB":524288,"status":"Available"},{"name":"1048576","supportedIOPS":5000,"storageSizeMB":1048576,"status":"Available"},{"name":"2097152","supportedIOPS":7500,"storageSizeMB":2097152,"status":"Available"},{"name":"4194304","supportedIOPS":7500,"storageSizeMB":4194304,"status":"Available"},{"name":"8388608","supportedIOPS":16000,"storageSizeMB":8388608,"status":"Available"},{"name":"16777216","supportedIOPS":18000,"storageSizeMB":16777216,"status":"Available"}],"status":"Default"}],"supportedServerVersions":[{"name":"11","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12.0","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"12.1","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"},{"name":"13","supportedVcores":[{"name":"Standard_E2s_v3","vCores":2,"supportedIOPS":3200,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E4s_v3","vCores":4,"supportedIOPS":6400,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E8s_v3","vCores":8,"supportedIOPS":12800,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E16s_v3","vCores":16,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E32s_v3","vCores":32,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E48s_v3","vCores":48,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":8192,"status":"Available"},{"name":"Standard_E64s_v3","vCores":64,"supportedIOPS":18000,"supportedMemoryPerVcoreMB":6912,"status":"Available"}],"status":"Available"}],"status":"Available"}],"supportedHyperscaleNodeEditions":[],"status":"Available"}]}' headers: cache-control: - no-cache content-length: - - '59761' + - '59049' content-type: - application/json; charset=utf-8 date: - - Wed, 03 Mar 2021 08:06:28 GMT + - Fri, 23 Apr 2021 01:44:17 GMT expires: - '-1' pragma: @@ -1812,7 +793,7 @@ interactions: message: OK - request: body: '{"sku": {"name": "Standard_D2s_v3", "tier": "GeneralPurpose"}, "properties": - {"administratorLoginPassword": "cliPwd000005", "storageProfile": {"backupRetentionDays": + {"administratorLoginPassword": "cliPwd000003", "storageProfile": {"backupRetentionDays": 7, "storageMB": 32768}, "maintenanceWindow": {"customWindow": "Disabled", "startHour": 0, "startMinute": 0, "dayOfWeek": 0}}}' headers: @@ -1827,34 +808,31 @@ interactions: Content-Length: - '294' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - -g -n -p User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-02-14-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US + - AZURECLI/2.22.1 azsdk-python-mgmt-rdbms/unknown Python/3.7.7 (Windows-10-10.0.19041-SP0) method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForPostgreSql/flexibleServers/azuredbclitest-000004?api-version=2020-02-14-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForPostgreSql/flexibleServers/azuredbclitest-000002?api-version=2020-02-14-preview response: body: - string: '{"operation":"UpsertServerManagementOperationV2","startTime":"2021-03-03T08:06:29.87Z"}' + string: '{"operation":"UpsertServerManagementOperationV2","startTime":"2021-04-23T01:44:19.713Z"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/f3617793-f40f-45dc-9b48-98c4f3463728?api-version=2020-02-14-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/dfee4aae-8161-4c48-876d-0673bb769673?api-version=2020-02-14-preview cache-control: - no-cache content-length: - - '87' + - '88' content-type: - application/json; charset=utf-8 date: - - Wed, 03 Mar 2021 08:06:29 GMT + - Fri, 23 Apr 2021 01:44:19 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/operationResults/f3617793-f40f-45dc-9b48-98c4f3463728?api-version=2020-02-14-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/operationResults/dfee4aae-8161-4c48-876d-0673bb769673?api-version=2020-02-14-preview pragma: - no-cache server: @@ -1864,7 +842,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' status: code: 202 message: Accepted @@ -1872,7 +850,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1882,22 +860,21 @@ interactions: ParameterSetName: - -g -n -p User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-02-14-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 + - AZURECLI/2.22.1 azsdk-python-mgmt-rdbms/unknown Python/3.7.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/f3617793-f40f-45dc-9b48-98c4f3463728?api-version=2020-02-14-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/dfee4aae-8161-4c48-876d-0673bb769673?api-version=2020-02-14-preview response: body: - string: '{"name":"f3617793-f40f-45dc-9b48-98c4f3463728","status":"Succeeded","startTime":"2021-03-03T08:06:29.87Z"}' + string: '{"name":"dfee4aae-8161-4c48-876d-0673bb769673","status":"Succeeded","startTime":"2021-04-23T01:44:19.713Z"}' headers: cache-control: - no-cache content-length: - - '106' + - '107' content-type: - application/json; charset=utf-8 date: - - Wed, 03 Mar 2021 08:07:29 GMT + - Fri, 23 Apr 2021 01:45:19 GMT expires: - '-1' pragma: @@ -1919,7 +896,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -1929,23 +906,22 @@ interactions: ParameterSetName: - -g -n -p User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-02-14-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 + - AZURECLI/2.22.1 azsdk-python-mgmt-rdbms/unknown Python/3.7.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForPostgreSql/flexibleServers/azuredbclitest-000004?api-version=2020-02-14-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForPostgreSql/flexibleServers/azuredbclitest-000002?api-version=2020-02-14-preview response: body: - string: '{"sku":{"name":"Standard_D2s_v3","tier":"GeneralPurpose","capacity":2},"properties":{"fullyQualifiedDomainName":"azuredbclitest-000004.postgres.database.azure.com","version":"12","standbyCount":0,"haEnabled":"Disabled","administratorLogin":"cliuser","publicNetworkAccess":"Disabled","delegatedSubnetArguments":{"subnetArmResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Network/virtualNetworks/VNETbclitest-6atq7/subnets/Subnetbclitest-6atq7"},"logBackupStorageSku":"Standard_ZRS","haState":"NotEnabled","state":"Ready","availabilityZone":"1","storageProfile":{"storageMB":32768,"backupRetentionDays":7},"earliestRestoreDate":"2021-03-03T08:07:30.6704963+00:00","byokEnforcement":"Disabled","maintenanceWindow":{"customWindow":"Disabled","dayOfWeek":0,"startHour":0,"startMinute":0}},"location":"East - US","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/flexibleServers/azuredbclitest-000004","name":"azuredbclitest-000004","type":"Microsoft.DBforPostgreSQL/flexibleServers"}' + string: '{"sku":{"name":"Standard_D2s_v3","tier":"GeneralPurpose","capacity":2},"properties":{"fullyQualifiedDomainName":"azuredbclitest-000002.postgres.database.azure.com","version":"12","minorVersion":"6","standbyCount":0,"haEnabled":"Disabled","administratorLogin":"cliuser","publicNetworkAccess":"Enabled","logBackupStorageSku":"Standard_ZRS","haState":"NotEnabled","state":"Ready","availabilityZone":"2","storageProfile":{"storageMB":32768,"backupRetentionDays":7,"geoRedundantBackup":"Disabled"},"earliestRestoreDate":"2021-04-23T01:45:20.6182639+00:00","byokEnforcement":"Disabled","maintenanceWindow":{"customWindow":"Disabled","dayOfWeek":0,"startHour":0,"startMinute":0}},"location":"East + US","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBforPostgreSQL/flexibleServers/azuredbclitest-000002","name":"azuredbclitest-000002","type":"Microsoft.DBforPostgreSQL/flexibleServers"}' headers: cache-control: - no-cache content-length: - - '1235' + - '997' content-type: - application/json; charset=utf-8 date: - - Wed, 03 Mar 2021 08:07:30 GMT + - Fri, 23 Apr 2021 01:45:20 GMT expires: - '-1' pragma: @@ -1977,22 +953,19 @@ interactions: Content-Length: - '80' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - -g -n --rule-name --start-ip-address --end-ip-address User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-02-14-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US + - AZURECLI/2.22.1 azsdk-python-mgmt-rdbms/unknown Python/3.7.7 (Windows-10-10.0.19041-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForPostgreSql/flexibleServers/azuredbclitest-000004/firewallRules/all_ips?api-version=2020-02-14-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForPostgreSql/flexibleServers/azuredbclitest-000002/firewallRules/allIps?api-version=2020-02-14-preview response: body: - string: '{"operation":"UpsertServerFirewallRulesManagementOperation","startTime":"2021-03-03T08:07:31.857Z"}' + string: '{"operation":"UpsertServerFirewallRulesManagementOperation","startTime":"2021-04-23T01:45:42.643Z"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/a33ea900-2f65-4717-aba0-5a49b6831ccc?api-version=2020-02-14-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/3940cbfb-b1a0-45c7-a5b0-59c733624daa?api-version=2020-02-14-preview cache-control: - no-cache content-length: @@ -2000,11 +973,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 03 Mar 2021 08:07:31 GMT + - Fri, 23 Apr 2021 01:45:42 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/operationResults/a33ea900-2f65-4717-aba0-5a49b6831ccc?api-version=2020-02-14-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/operationResults/3940cbfb-b1a0-45c7-a5b0-59c733624daa?api-version=2020-02-14-preview pragma: - no-cache server: @@ -2022,7 +995,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -2032,13 +1005,12 @@ interactions: ParameterSetName: - -g -n --rule-name --start-ip-address --end-ip-address User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-02-14-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 + - AZURECLI/2.22.1 azsdk-python-mgmt-rdbms/unknown Python/3.7.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/a33ea900-2f65-4717-aba0-5a49b6831ccc?api-version=2020-02-14-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforPostgreSQL/locations/eastus/azureAsyncOperation/3940cbfb-b1a0-45c7-a5b0-59c733624daa?api-version=2020-02-14-preview response: body: - string: '{"name":"a33ea900-2f65-4717-aba0-5a49b6831ccc","status":"Succeeded","startTime":"2021-03-03T08:07:31.857Z"}' + string: '{"name":"3940cbfb-b1a0-45c7-a5b0-59c733624daa","status":"Succeeded","startTime":"2021-04-23T01:45:42.643Z"}' headers: cache-control: - no-cache @@ -2047,7 +1019,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 03 Mar 2021 08:08:31 GMT + - Fri, 23 Apr 2021 01:46:43 GMT expires: - '-1' pragma: @@ -2069,7 +1041,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -2079,22 +1051,21 @@ interactions: ParameterSetName: - -g -n --rule-name --start-ip-address --end-ip-address User-Agent: - - python/3.7.2 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-rdbms/2020-02-14-privatepreview Azure-SDK-For-Python AZURECLI/2.19.1 + - AZURECLI/2.22.1 azsdk-python-mgmt-rdbms/unknown Python/3.7.7 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForPostgreSql/flexibleServers/azuredbclitest-000004/firewallRules/all_ips?api-version=2020-02-14-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.DBForPostgreSql/flexibleServers/azuredbclitest-000002/firewallRules/allIps?api-version=2020-02-14-preview 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/flexibleServers/azuredbclitest-000004/firewallRules/all_ips","name":"all_ips","type":"Microsoft.DBforPostgreSQL/flexibleServers/firewallRules"}' + 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/flexibleServers/azuredbclitest-000002/firewallRules/allIps","name":"allIps","type":"Microsoft.DBforPostgreSQL/flexibleServers/firewallRules"}' headers: cache-control: - no-cache content-length: - - '403' + - '401' content-type: - application/json; charset=utf-8 date: - - Wed, 03 Mar 2021 08:08:32 GMT + - Fri, 23 Apr 2021 01:46:43 GMT expires: - '-1' pragma: diff --git a/src/rdbms-connect/azext_rdbms_connect/tests/latest/test_rdbms-connect_scenario.py b/src/rdbms-connect/azext_rdbms_connect/tests/latest/test_rdbms-connect_scenario.py index 34b2400e089..a82c734b3d9 100644 --- a/src/rdbms-connect/azext_rdbms_connect/tests/latest/test_rdbms-connect_scenario.py +++ b/src/rdbms-connect/azext_rdbms_connect/tests/latest/test_rdbms-connect_scenario.py @@ -31,14 +31,14 @@ class RdbmsConnectMgmtScenarioTest(ScenarioTest): @live_only() def test_postgres_flexible_server_connect(self, resource_group): self._test_successful_connect('postgres', resource_group) - self._test_vnet_connect('postgres', resource_group) + # self._test_vnet_connect('postgres', resource_group) @AllowLargeResponse() @ResourceGroupPreparer(location=mysql_location) @live_only() def test_mysql_flexible_server_connect(self, resource_group): self._test_successful_connect('mysql', resource_group) - self._test_vnet_connect('mysql', resource_group) + # self._test_vnet_connect('mysql', resource_group) def _test_successful_connect(self, database_engine, resource_group): # setup variables for commands @@ -89,16 +89,26 @@ def _test_successful_connect(self, database_engine, resource_group): checks=NoneCheck()) # test connection to the server with a simple query - self.cmd('{} flexible-server connect -n {} -u {} -p {} -d {} -q {}' + self.cmd('{} flexible-server execute -n {} -u {} -p {} -d {} -q {}' .format(database_engine, server_name, username, generated_password, default_database, simple_query), checks=[JMESPathCheck('length(@)', 1)]) # test with invalid username username_wrong = 'fakeusername' - self.cmd('{} flexible-server connect -n {} -u {} -p {} -d {} -q {}' + self.cmd('{} flexible-server execute -n {} -u {} -p {} -d {} -q {}' .format(database_engine, server_name, username_wrong, generated_password, default_database, simple_query), expect_failure=True) + # test file execution + file_path = "./test.sql" + with open(file_path, "w") as sql_file: + sql_file.write("CREATE DATABASE sampledb;") + + self.cmd('{} flexible-server execute -n {} -u {} -p {} -d {} -f {}' + .format(database_engine, server_name, username, generated_password, default_database, file_path)) + + os.remove(file_path) + def _test_vnet_connect(self, database_engine, resource_group): # setup variables for commands server_name = self.create_random_name(SERVER_NAME_PREFIX, SERVER_NAME_MAX_LENGTH) diff --git a/src/rdbms-connect/setup.py b/src/rdbms-connect/setup.py index 8ab4a67227a..0033a899a10 100644 --- a/src/rdbms-connect/setup.py +++ b/src/rdbms-connect/setup.py @@ -16,7 +16,7 @@ # TODO: Confirm this is the right version number you want and it matches your # HISTORY.rst entry. -VERSION = '0.1.2' +VERSION = '0.1.3' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers From 32ff5ddc0c2fce9a6be1ecf5e1e56e824e7531ab Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Tue, 25 May 2021 16:37:05 +0800 Subject: [PATCH 46/83] [Release] Update index.json for extension [ aks-preview ] (#3409) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=905976 Last commit: https://github.com/Azure/azure-cli-extensions/commit/56505e340b3f84c2ab5b082de729c99d8b142061 --- src/index.json | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/src/index.json b/src/index.json index bc11b5384ce..40234a6efab 100644 --- a/src/index.json +++ b/src/index.json @@ -2917,6 +2917,49 @@ "version": "0.5.13" }, "sha256Digest": "54409bfe6bc1b8c34183eea46624973cb6c53acf6b11b5665cc21b229da17156" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/aks_preview-0.5.14-py2.py3-none-any.whl", + "filename": "aks_preview-0.5.14-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.49", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/aks-preview" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "aks-preview", + "summary": "Provides a preview for upcoming AKS features", + "version": "0.5.14" + }, + "sha256Digest": "635f9a1ed5cd480da0e730ddd3116bc352997120aa1feff1b3972067460bbc9f" } ], "alertsmanagement": [ From e7293f8436442acb96707d03f2d8de5f2a9006d7 Mon Sep 17 00:00:00 2001 From: Nikhil Chaturvedi <69816349+nichatur@users.noreply.github.com> Date: Tue, 25 May 2021 01:54:06 -0700 Subject: [PATCH 47/83] [Cosmos DB] Removing RoleDefinition and RoleAssignment APIs since they are GA (#3416) * [Cosmos DB] Removing RoleDefinition and RoleAssignment APIs since they are GA * Fixing CI * Adding service name * Update setup.py * Dummy commit --- src/cosmosdb-preview/HISTORY.rst | 4 + src/cosmosdb-preview/README.md | 110 - .../azext_cosmosdb_preview/__init__.py | 3 +- .../azext_cosmosdb_preview/_help.py | 142 - .../azext_cosmosdb_preview/_params.py | 29 - .../azext_cosmosdb_preview/_validators.py | 112 +- .../azext_cosmosdb_preview/commands.py | 21 - .../azext_cosmosdb_preview/custom.py | 128 - ..._cosmosdb_mongodb_restorable_commands.yaml | 265 +- .../test_cosmosdb_restore_command.yaml | 801 ++- .../test_cosmosdb_restore_using_create.yaml | 798 ++- ...test_cosmosdb_sql_restorable_commands.yaml | 253 +- .../recordings/test_cosmosdb_sql_role.yaml | 2311 ------- ...cassandra_cluster_without_datacenters.yaml | 3086 +++++---- .../test_managed_cassandra_verify_lists.yaml | 5603 ++++++++--------- ...update_backup_policy_database_account.yaml | 199 +- .../test_cosmosdb-cassandrami_scenario.py | 5 +- .../latest/test_cosmosdb-rbac_scenario.py | 123 - src/cosmosdb-preview/setup.py | 2 +- src/service_name.json | 5 + 20 files changed, 5395 insertions(+), 8605 deletions(-) delete mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_sql_role.yaml delete mode 100644 src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/test_cosmosdb-rbac_scenario.py diff --git a/src/cosmosdb-preview/HISTORY.rst b/src/cosmosdb-preview/HISTORY.rst index eab635e1ddb..51fe5fcbf3a 100644 --- a/src/cosmosdb-preview/HISTORY.rst +++ b/src/cosmosdb-preview/HISTORY.rst @@ -3,6 +3,10 @@ Release History =============== +0.7.0 +++++++ +* Removing APIs to create and manage Role Definitions and Role Assignments since they are now GA. + 0.6.0 ++++++ * Addressing CLI bugs for Managed Cassandra Service and updating to python sdk 4.0. diff --git a/src/cosmosdb-preview/README.md b/src/cosmosdb-preview/README.md index 650e5a458f9..696a225f556 100644 --- a/src/cosmosdb-preview/README.md +++ b/src/cosmosdb-preview/README.md @@ -7,7 +7,6 @@ This package provides commands to - List the different versions of databases and collections that were modified - Trigger a point in time restore on the Azure CosmosDB continuous mode backup accounts - Update the backup interval and backup retention of periodic mode backup accounts -- Create and manage Role Definitions and Role Assignments for enforcing data plane RBAC on Cosmos DB SQL accounts ## How to use ## @@ -109,112 +108,3 @@ az cosmosdb mongodb restorable-resource list \ --restore-location "westus" \ --restore-timestamp "2020-07-20T16:09:53+0000" ``` - -#### Create a new Role Definition for a given Cosmos DB SQL account - -```sh -az cosmosdb sql role definition create \ - --resource-group "my-rg" \ - --account-name "my-sql-account" \ - --body "@role-definition-body.json" -``` - -#### List all Role Definitions for a given Cosmos DB SQL account - -```sh -az cosmosdb sql role definition list \ - --resource-group "my-rg" \ - --account-name "my-sql-account" -``` - -#### Show a specific Role Definition for a given Cosmos DB SQL account - -```sh -az cosmosdb sql role definition list \ - --resource-group "my-rg" \ - --account-name "my-sql-account" \ - --id "my-role-def-id" -``` - -#### Delete a specific Role Definition for a given Cosmos DB SQL account - -```sh -az cosmosdb sql role definition delete \ - --resource-group "my-rg" \ - --account-name "my-sql-account" \ - --id "my-role-def-id" -``` - -#### Update an existing Role Definition for a given Cosmos DB SQL account - -```sh -az cosmosdb sql role definition update \ - --resource-group "my-rg" \ - --account-name "my-sql-account" \ - --body "@role-definition-body.json" -``` - -#### Check whether a specific Role Definition exists for a given Cosmos DB SQL account - -```sh -az cosmosdb sql role definition exists \ - --resource-group "my-rg" \ - --account-name "my-sql-account" \ - --id "my-role-def-id" -``` - -#### Create a new Role Assignment for a given Cosmos DB SQL account - -```sh -az cosmosdb sql role assignment create \ - --resource-group "my-rg" \ - --account-name "my-sql-account" \ - --role-definition-id "my-role-def-id" \ - --scope "/" \ - --principal-id "my-aad-principal-id" \ -``` - -#### List all Role Assignments for a given Cosmos DB SQL account - -```sh -az cosmosdb sql role assignment list \ - --resource-group "my-rg" \ - --account-name "my-sql-account" -``` - -#### Show a specific Role Assignment for a given Cosmos DB SQL account - -```sh -az cosmosdb sql role assignment list \ - --resource-group "my-rg" \ - --account-name "my-sql-account" \ - --role-assignment-id "my-role-assignment-id" -``` - -#### Delete a specific Role Assignment for a given Cosmos DB SQL account - -```sh -az cosmosdb sql role assignment delete \ - --resource-group "my-rg" \ - --account-name "my-sql-account" \ - --role-assignment-id "my-role-assignment-id" -``` - -#### Update an existing Role Assignment for a given Cosmos DB SQL account - -```sh -az cosmosdb sql role assignment update \ - --resource-group "my-rg" \ - --account-name "my-sql-account" \ - --role-assignment-id "my-role-assignment-id" \ - --role-definition-id "my-role-def-id" -``` - -#### Check whether a specific Role Assignment exists for a given Cosmos DB SQL account - -```sh -az cosmosdb sql role assignment exists \ - --resource-group "my-rg" \ - --account-name "my-sql-account" \ - --role-assignment-id "my-role-def-id" -``` diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/__init__.py b/src/cosmosdb-preview/azext_cosmosdb_preview/__init__.py index 376d1e813dc..b7542952a7c 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/__init__.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/__init__.py @@ -16,8 +16,7 @@ def __init__(self, cli_ctx=None): cosmosdb_preview_custom = CliCommandType( operations_tmpl='azext_cosmosdb_preview.custom#{}', client_factory=cf_cosmosdb_preview) - super(Cosmosdb_previewCommandsLoader, self).__init__(cli_ctx=cli_ctx, - custom_command_type=cosmosdb_preview_custom) + super().__init__(cli_ctx=cli_ctx, custom_command_type=cosmosdb_preview_custom) def load_command_table(self, args): from azext_cosmosdb_preview.commands import load_command_table diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/_help.py b/src/cosmosdb-preview/azext_cosmosdb_preview/_help.py index a6b25e57077..6827962b9e4 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/_help.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/_help.py @@ -146,148 +146,6 @@ short-summary: List all the databases and its collections that can be restored in the given account at the given timesamp and region. """ -helps['cosmosdb sql role'] = """ -type: group -short-summary: Manage Azure Cosmos DB SQL role resources. -""" - -helps['cosmosdb sql role definition'] = """ -type: group -short-summary: Manage Azure Cosmos DB SQL role definitions. -""" - -helps['cosmosdb sql role definition create'] = """ -type: command -short-summary: Create a SQL role definition under an Azure Cosmos DB account. -examples: - - name: Create a SQL role definition under an Azure Cosmos DB account using a JSON string. - text: | - az cosmosdb sql role definition create --account-name MyAccount --resource-group MyResourceGroup --body '{ - "Id": "be79875a-2cc4-40d5-8958-566017875b39", - "RoleName": "My Read Only Role", - "Type": "CustomRole", - "AssignableScopes": ["/dbs/mydb/colls/mycontainer"], - "Permissions": [{ - "DataActions": [ - "Microsoft.DocumentDB/databaseAccounts/readMetadata", - "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read", - "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/executeQuery", - "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/readChangeFeed" - ] - }] - }' - - name: Create a SQL role definition under an Azure Cosmos DB account using a JSON file. - text: az cosmosdb sql role definition create --account-name MyAccount --resource-group MyResourceGroup --body @role-definition.json -""" - -helps['cosmosdb sql role definition delete'] = """ -type: command -short-summary: Delete a SQL role definition under an Azure Cosmos DB account. -examples: - - name: Create a SQL role definition under an Azure Cosmos DB account. - text: az cosmosdb sql role definition delete --account-name MyAccount --resource-group MyResourceGroup --id be79875a-2cc4-40d5-8958-566017875b39 -""" - -helps['cosmosdb sql role definition exists'] = """ -type: command -short-summary: Check if an Azure Cosmos DB role definition exists. -examples: - - name: Check if an Azure Cosmos DB role definition exists. - text: az cosmosdb sql role definition exists --account-name MyAccount --resource-group MyResourceGroup --id be79875a-2cc4-40d5-8958-566017875b39 -""" - -helps['cosmosdb sql role definition list'] = """ -type: command -short-summary: List all SQL role definitions under an Azure Cosmos DB account. -examples: - - name: List all SQL role definitions under an Azure Cosmos DB account. - text: az cosmosdb sql role definition list --account-name MyAccount --resource-group MyResourceGroup -""" - -helps['cosmosdb sql role definition show'] = """ -type: command -short-summary: Show the properties of a SQL role definition under an Azure Cosmos DB account. -examples: - - name: Show the properties of a SQL role definition under an Azure Cosmos DB account. - text: az cosmosdb sql role definition show --account-name MyAccount --resource-group MyResourceGroup --id be79875a-2cc4-40d5-8958-566017875b39 -""" - -helps['cosmosdb sql role definition update'] = """ -type: command -short-summary: Update a SQL role definition under an Azure Cosmos DB account. -examples: - - name: Update a SQL role definition under an Azure Cosmos DB account. - text: az cosmosdb sql role definition update --account-name MyAccount --resource-group MyResourceGroup --body @role-definition.json -""" - -helps['cosmosdb sql role assignment'] = """ -type: group -short-summary: Manage Azure Cosmos DB SQL role assignments. -""" - -helps['cosmosdb sql role assignment create'] = """ -type: command -short-summary: Create a SQL role assignment under an Azure Cosmos DB account. -examples: - - name: Create a SQL role assignment under an Azure Cosmos DB account using Role Definition Name. - text: | - az cosmosdb sql role assignment create --account-name MyAccount --resource-group MyResourceGroup \\ - --role-assignment-id cb8ed2d7-2371-4e3c-bd31-6cc1560e84f8 \\ - --role-definition-name "My Read Only Role" \\ - --scope "/dbs/mydb/colls/mycontainer" \\ - --principal-id 6328f5f7-dbf7-4244-bba8-fbb9d8066506 - - name: Create a SQL role assignment under an Azure Cosmos DB account using Role Definition ID. - text: | - az cosmosdb sql role assignment create --account-name MyAccount --resource-group MyResourceGroup \\ - --role-assignment-id cb8ed2d7-2371-4e3c-bd31-6cc1560e84f8 \\ - --role-definition-id be79875a-2cc4-40d5-8958-566017875b39 \\ - --scope "/dbs/mydb/colls/mycontainer" \\ - --principal-id 6328f5f7-dbf7-4244-bba8-fbb9d8066506 -""" - -helps['cosmosdb sql role assignment delete'] = """ -type: command -short-summary: Delete a SQL role assignment under an Azure Cosmos DB account. -examples: - - name: Delete a SQL role assignment under an Azure Cosmos DB account. - text: az cosmosdb sql role assignment delete --account-name MyAccount --resource-group MyResourceGroup --role-assignment-id cb8ed2d7-2371-4e3c-bd31-6cc1560e84f8 -""" - -helps['cosmosdb sql role assignment exists'] = """ -type: command -short-summary: Check if an Azure Cosmos DB role assignment exists. -examples: - - name: Check if an Azure Cosmos DB role assignment exists. - text: az cosmosdb sql role assignment exists --account-name MyAccount --resource-group MyResourceGroup --role-assignment-id cb8ed2d7-2371-4e3c-bd31-6cc1560e84f8 -""" - -helps['cosmosdb sql role assignment list'] = """ -type: command -short-summary: List all SQL role assignments under an Azure Cosmos DB account. -examples: - - name: List all SQL role assignments under an Azure Cosmos DB account. - text: az cosmosdb sql role assignment list --account-name MyAccount --resource-group MyResourceGroup -""" - -helps['cosmosdb sql role assignment show'] = """ -type: command -short-summary: Show the properties of a SQL role assignment under an Azure Cosmos DB account. -examples: - - name: Show the properties of a SQL role assignment under an Azure Cosmos DB account. - text: az cosmosdb sql role assignment show --account-name MyAccount --resource-group MyResourceGroup --role-assignment-id cb8ed2d7-2371-4e3c-bd31-6cc1560e84f8 -""" - -helps['cosmosdb sql role assignment update'] = """ -type: command -short-summary: Update a SQL role assignment under an Azure Cosmos DB account. -examples: - - name: Update a SQL role assignment under an Azure Cosmos DB account. - text: | - az cosmosdb sql role assignment update --account-name MyAccount --resource-group MyResourceGroup \\ - --role-assignment-id cb8ed2d7-2371-4e3c-bd31-6cc1560e84f8 \\ - --role-definition-id updated-role-definition-id -""" - helps['managed-cassandra cluster'] = """ type: group short-summary: Azure Managed Cassandra Cluster. diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/_params.py b/src/cosmosdb-preview/azext_cosmosdb_preview/_params.py index 9531b422bfa..01f4932046c 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/_params.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/_params.py @@ -6,18 +6,11 @@ from enum import Enum -from argcomplete.completers import FilesCompleter - from azure.cli.core.commands.parameters import ( get_resource_name_completion_list, name_type, get_enum_type, get_three_state_flag, get_location_type) from azext_cosmosdb_preview._validators import ( validate_capabilities, validate_virtual_network_rules, validate_ip_range_filter, - validate_role_definition_body, - validate_role_definition_id, - validate_fully_qualified_role_definition_id, - validate_role_assignment_id, - validate_scope, validate_gossip_certificates, validate_client_certificates, validate_seednodes, @@ -34,12 +27,7 @@ class BackupPolicyTypes(str, Enum): continuous = "Continuous" -SQL_ROLE_DEFINITION_EXAMPLE = """--body "{ \\"Id\\": \\"be79875a-2cc4-40d5-8958-566017875b39\\", \\"RoleName\\": \\"My Read Write Role\\", \\"Type\\": \\"CustomRole\\", \\"AssignableScopes\\": [ \\"/\\" ], \\"DataActions\\": [ \\"Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create\\", \\"Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read\\" ]}" -""" - - def load_arguments(self, _): - from knack.arguments import CLIArgumentType from azure.cli.core.commands.parameters import tags_type with self.argument_context('cosmosdb') as c: @@ -130,23 +118,6 @@ def load_arguments(self, _): c.argument('restore_location', options_list=['--restore-location', '-r'], help="The region of the restore.", required=True) c.argument('restore_timestamp_in_utc', options_list=['--restore-timestamp', '-t'], help="The timestamp of the restore", required=True) - account_name_type = CLIArgumentType(options_list=['--account-name', '-a'], help="Cosmosdb account name.") - - # SQL role definition - with self.argument_context('cosmosdb sql role definition') as c: - c.argument('account_name', account_name_type, id_part=None) - c.argument('role_definition_id', options_list=['--id', '-i'], validator=validate_role_definition_id, help="Unique ID for the Role Definition.") - c.argument('role_definition_body', options_list=['--body', '-b'], validator=validate_role_definition_body, completer=FilesCompleter(), help="Role Definition body with Id (Optional for create), DataActions or Permissions, Type (Default is CustomRole), and AssignableScopes. You can enter it as a string or as a file, e.g., --body @rdbody-file.json or " + SQL_ROLE_DEFINITION_EXAMPLE) - - # SQL role assignment - with self.argument_context('cosmosdb sql role assignment') as c: - c.argument('account_name', account_name_type, id_part=None) - c.argument('role_assignment_id', options_list=['--role-assignment-id', '-i'], validator=validate_role_assignment_id, help="Optional for Create. Unique ID for the Role Assignment. If not provided, a new GUID will be used.") - c.argument('role_definition_id', options_list=['--role-definition-id', '-d'], validator=validate_fully_qualified_role_definition_id, help="Unique ID of the Role Definition that this Role Assignment refers to.") - c.argument('role_definition_name', options_list=['--role-definition-name', '-n'], help="Unique Name of the Role Definition that this Role Assignment refers to. Eg. 'Contoso Reader Role'.") - c.argument('scope', validator=validate_scope, options_list=['--scope', '-s'], help="Data plane resource path at which this Role Assignment is being granted.") - c.argument('principal_id', options_list=['--principal-id', '-p'], help="AAD Object ID of the principal to which this Role Assignment is being granted.") - # Managed Cassandra Cluster for scope in [ 'managed-cassandra cluster create', diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/_validators.py b/src/cosmosdb-preview/azext_cosmosdb_preview/_validators.py index 26c600fff49..ae6602846dd 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/_validators.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/_validators.py @@ -5,7 +5,6 @@ import ipaddress from knack.util import CLIError -from azure.cli.core.commands.client_factory import get_subscription_id from azure.cli.core.azclierror import InvalidArgumentValueError @@ -64,113 +63,6 @@ def validate_virtual_network_rules(ns): ns.virtual_network_rules = virtual_network_rules_list -def validate_role_definition_body(cmd, ns): - """ Extracts role definition body """ - from azext_cosmosdb_preview.vendored_sdks.azure_mgmt_cosmosdb.models import Permission, RoleDefinitionType - from azure.cli.core.util import get_file_json, shell_safe_json_parse - import os - if ns.role_definition_body is not None: - if os.path.exists(ns.role_definition_body): - role_definition = get_file_json(ns.role_definition_body) - else: - role_definition = shell_safe_json_parse(ns.role_definition_body) - - if not isinstance(role_definition, dict): - raise InvalidArgumentValueError( - 'Invalid role definition. A valid dictionary JSON representation is expected.') - - if 'Id' in role_definition: - role_definition['Id'] = _parse_resource_path(role_definition['Id'], False, "sqlRoleDefinitions") - else: - role_definition['Id'] = _gen_guid() - - if 'DataActions' in role_definition: - role_definition['Permissions'] = [Permission(data_actions=role_definition['DataActions'])] - else: - role_definition['Permissions'] = [Permission(data_actions=p['DataActions']) - for p in role_definition['Permissions']] - - if 'Type' not in role_definition: - role_definition['Type'] = RoleDefinitionType.custom_role - - role_definition['AssignableScopes'] = [_parse_resource_path( - scope, - True, - None, - get_subscription_id(cmd.cli_ctx), - ns.resource_group_name, ns.account_name) for scope in role_definition['AssignableScopes']] - - ns.role_definition_body = role_definition - - -def validate_role_definition_id(ns): - """ Extracts Guid role definition Id """ - if ns.role_definition_id is not None: - ns.role_definition_id = _parse_resource_path(ns.role_definition_id, False, "sqlRoleDefinitions") - - -def validate_fully_qualified_role_definition_id(cmd, ns): - """ Extracts fully qualified role definition Id """ - if ns.role_definition_id is not None: - ns.role_definition_id = _parse_resource_path(ns.role_definition_id, - True, - "sqlRoleDefinitions", - get_subscription_id(cmd.cli_ctx), - ns.resource_group_name, - ns.account_name) - - -def validate_role_assignment_id(ns): - """ Extracts Guid role assignment Id """ - if ns.role_assignment_id is not None: - ns.role_assignment_id = _parse_resource_path(ns.role_assignment_id, False, "sqlRoleAssignments") - else: - ns.role_assignment_id = _gen_guid() - - -def validate_scope(cmd, ns): - """ Extracts fully qualified scope """ - if ns.scope is not None: - ns.scope = _parse_resource_path(ns.scope, - True, - None, - get_subscription_id(cmd.cli_ctx), - ns.resource_group_name, - ns.account_name) - - -def _parse_resource_path(resource, - to_fully_qualified, - resource_type=None, - subscription_id=None, - resource_group_name=None, - account_name=None): - """Returns a properly formatted role definition or assignment id or scope. If scope, type=None.""" - import re - regex = "/subscriptions/(?P.*)/resourceGroups/(?P.*)/providers/" \ - "Microsoft.DocumentDB/databaseAccounts/(?P.*)" - formatted = "/subscriptions/{0}/resourceGroups/{1}/providers/Microsoft.DocumentDB/databaseAccounts/{2}" - - if resource_type is not None: - regex += "/" + resource_type + "/(?P.*)" - formatted += "/" + resource_type + "/" - - formatted += "{3}" - - if to_fully_qualified: - result = re.match(regex, resource) - if result is not None: - return resource - - return formatted.format(subscription_id, resource_group_name, account_name, resource) - - result = re.match(regex, resource) - if result is None: - return resource - - return result['resource_id'] - - def validate_gossip_certificates(ns): """ Extracts multiple comma-separated certificates """ if ns.external_gossip_certificates is not None: @@ -216,9 +108,9 @@ def validate_seednodes(ns): for item in ns.external_seed_nodes: try: ipaddress.ip_address(item) - except ValueError: + except ValueError as e: raise InvalidArgumentValueError("""IP address provided is invalid. - Please verify if there are any spaces or other invalid characters.""") + Please verify if there are any spaces or other invalid characters.""") from e seed_nodes.append(SeedNode(ip_address=item)) ns.external_seed_nodes = seed_nodes diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/commands.py b/src/cosmosdb-preview/azext_cosmosdb_preview/commands.py index be898f0add5..9ee2d6ee0e8 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/commands.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/commands.py @@ -15,7 +15,6 @@ cf_restorable_mongodb_databases, cf_restorable_mongodb_collections, cf_restorable_mongodb_resources, - cf_sql_resources, cf_cassandra_cluster, cf_cassandra_data_center ) @@ -57,10 +56,6 @@ def load_command_table(self, _): operations_tmpl='azext_cosmosdb_preview.vendored_sdks.azure_mgmt_cosmosdb.operations#RestorableMongodbResourcesOperations.{}', client_factory=cf_restorable_mongodb_resources) - cosmosdb_rbac_sql_sdk = CliCommandType( - operations_tmpl='azext_cosmosdb_preview.vendored_sdks.azure_mgmt_cosmosdb.operations#SqlResourcesOperations.{}', - client_factory=cf_sql_resources) - cosmosdb_managed_cassandra_cluster_sdk = CliCommandType( operations_tmpl='azext_cosmosdb_preview.vendored_sdks.azure_mgmt_cosmosdb.operations#CassandraClustersOperations.{}', client_factory=cf_cassandra_cluster) @@ -98,22 +93,6 @@ def load_command_table(self, _): with self.command_group('cosmosdb mongodb restorable-resource', cosmosdb_restorable_mongodb_resources_sdk, client_factory=cf_restorable_mongodb_resources, is_preview=True) as g: g.command('list', 'list') - with self.command_group('cosmosdb sql role definition', cosmosdb_rbac_sql_sdk, client_factory=cf_sql_resources) as g: - g.custom_command('create', 'cli_cosmosdb_sql_role_definition_create') - g.custom_command('update', 'cli_cosmosdb_sql_role_definition_update') - g.custom_command('exists', 'cli_cosmosdb_sql_role_definition_exists') - g.command('list', 'list_sql_role_definitions') - g.show_command('show', 'get_sql_role_definition') - g.command('delete', 'delete_sql_role_definition', confirmation=True) - - with self.command_group('cosmosdb sql role assignment', cosmosdb_rbac_sql_sdk, client_factory=cf_sql_resources) as g: - g.custom_command('create', 'cli_cosmosdb_sql_role_assignment_create') - g.custom_command('update', 'cli_cosmosdb_sql_role_assignment_update') - g.custom_command('exists', 'cli_cosmosdb_sql_role_assignment_exists') - g.command('list', 'list_sql_role_assignments') - g.show_command('show', 'get_sql_role_assignment') - g.command('delete', 'delete_sql_role_assignment', confirmation=True) - with self.command_group('managed-cassandra cluster', cosmosdb_managed_cassandra_cluster_sdk, client_factory=cf_cassandra_cluster, is_preview=True) as g: g.custom_command('create', 'cli_cosmosdb_managed_cassandra_cluster_create', supports_no_wait=True) g.custom_command('update', 'cli_cosmosdb_managed_cassandra_cluster_update', supports_no_wait=True) diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/custom.py b/src/cosmosdb-preview/azext_cosmosdb_preview/custom.py index c8c528ac6b4..7539117604c 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/custom.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/custom.py @@ -5,7 +5,6 @@ from knack.util import CLIError from knack.log import get_logger -from msrestazure.azure_exceptions import CloudError from azext_cosmosdb_preview.vendored_sdks.azure_mgmt_cosmosdb.models import ( ConsistencyPolicy, @@ -19,8 +18,6 @@ PeriodicModeBackupPolicy, PeriodicModeProperties, ContinuousModeBackupPolicy, - SqlRoleAssignmentCreateUpdateParameters, - SqlRoleDefinitionCreateUpdateParameters, ClusterResource, ClusterResourceProperties, DataCenterResourceProperties @@ -407,131 +404,6 @@ def cli_cosmosdb_restorable_database_account_list(client, return matching_restorable_accounts -def cli_cosmosdb_sql_role_definition_create(client, - resource_group_name, - account_name, - role_definition_body): - '''Creates an Azure Cosmos DB SQL Role Definition ''' - role_definition_create_resource = SqlRoleDefinitionCreateUpdateParameters( - role_name=role_definition_body['RoleName'], - type=role_definition_body['Type'], - assignable_scopes=role_definition_body['AssignableScopes'], - permissions=role_definition_body['Permissions']) - - return client.create_update_sql_role_definition(role_definition_body['Id'], resource_group_name, account_name, role_definition_create_resource) - - -def cli_cosmosdb_sql_role_definition_update(client, - resource_group_name, - account_name, - role_definition_body): - '''Update an existing Azure Cosmos DB Sql Role Definition''' - logger.debug('reading SQL role definition') - role_definition = client.get_sql_role_definition(role_definition_body['Id'], resource_group_name, account_name) - - if role_definition_body['RoleName'] is not None: - role_definition.role_name = role_definition_body['RoleName'] - - if role_definition_body['AssignableScopes'] is not None: - role_definition.assignable_scopes = role_definition_body['AssignableScopes'] - - if role_definition_body['Permissions'] is not None: - role_definition.permissions = role_definition_body['Permissions'] - - role_definition_update_resource = SqlRoleDefinitionCreateUpdateParameters( - role_name=role_definition.role_name, - type=role_definition_body['Type'], - assignable_scopes=role_definition.assignable_scopes, - permissions=role_definition.permissions) - - return client.create_update_sql_role_definition(role_definition_body['Id'], resource_group_name, account_name, role_definition_update_resource) - - -def cli_cosmosdb_sql_role_definition_exists(client, - resource_group_name, - account_name, - role_definition_id): - """Checks if an Azure Cosmos DB Sql Role Definition exists""" - try: - client.get_sql_role_definition(role_definition_id, resource_group_name, account_name) - except CloudError as ex: - return _handle_exists_exception(ex.response) - - return True - - -def cli_cosmosdb_sql_role_assignment_create(client, - resource_group_name, - account_name, - scope, - principal_id, - role_assignment_id=None, - role_definition_name=None, - role_definition_id=None): - """Creates an Azure Cosmos DB Sql Role Assignment""" - if role_definition_id is None: - role_definition_id = get_associated_role_definition_id(client, resource_group_name, account_name, role_definition_name) - - sql_role_assignment_create_update_parameters = SqlRoleAssignmentCreateUpdateParameters( - role_definition_id=role_definition_id, - scope=scope, - principal_id=principal_id) - - return client.create_update_sql_role_assignment(role_assignment_id, resource_group_name, account_name, sql_role_assignment_create_update_parameters) - - -def cli_cosmosdb_sql_role_assignment_update(client, - resource_group_name, - account_name, - role_assignment_id, - role_definition_name=None, - role_definition_id=None): - """Updates an Azure Cosmos DB Sql Role Assignment""" - logger.debug('reading Sql Role Assignment') - role_assignment = client.get_sql_role_assignment(role_assignment_id, resource_group_name, account_name) - - logger.debug('replacing Sql Role Assignment') - - if role_definition_id is None: - role_definition_id = get_associated_role_definition_id(client, resource_group_name, account_name, role_definition_name) - - sql_role_assignment_create_update_parameters = SqlRoleAssignmentCreateUpdateParameters( - role_definition_id=role_definition_id, - scope=role_assignment.scope, - principal_id=role_assignment.principal_id) - - return client.create_update_sql_role_assignment(role_assignment_id, resource_group_name, account_name, sql_role_assignment_create_update_parameters) - - -def cli_cosmosdb_sql_role_assignment_exists(client, - resource_group_name, - account_name, - role_assignment_id): - """Checks if an Azure Cosmos DB Sql Role Assignment exists""" - try: - client.get_sql_role_assignment(role_assignment_id, resource_group_name, account_name) - except CloudError as ex: - return _handle_exists_exception(ex.response) - - return True - - -def get_associated_role_definition_id(client, - resource_group_name, - account_name, - role_definition_name=None): - if role_definition_name is None: - raise CLIError('Atleast one out of the Role Definition ID or Name is required.') - - logger.debug('reading Sql Role Definition') - role_definitions = client.list_sql_role_definitions(resource_group_name, account_name) - matching_role_definition = next((role_definition for role_definition in role_definitions if role_definition.role_name.lower() == role_definition_name.lower()), None) - if matching_role_definition is None: - raise CLIError('No Role Definition found with name [{}].'.format(role_definition_name)) - - return matching_role_definition.id - - def cli_cosmosdb_managed_cassandra_cluster_create(client, resource_group_name, cluster_name, diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_mongodb_restorable_commands.yaml b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_mongodb_restorable_commands.yaml index a30bcb402e1..f0e3a1dacff 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_mongodb_restorable_commands.yaml +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_mongodb_restorable_commands.yaml @@ -13,15 +13,15 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations --kind User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-resource/12.1.0 Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_cosmosdb_mongodb_restorable_commands000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001","name":"cli_test_cosmosdb_mongodb_restorable_commands000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-01-28T22:57:14Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001","name":"cli_test_cosmosdb_mongodb_restorable_commands000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-05-24T19:01:57Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -30,7 +30,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 28 Jan 2021 22:57:15 GMT + - Mon, 24 May 2021 19:02:00 GMT expires: - '-1' pragma: @@ -65,33 +65,33 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations --kind User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-03-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"MongoDB","tags":{},"systemData":{"createdAt":"2021-01-28T22:57:19.4505829Z"},"properties":{"provisioningState":"Creating","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"MongoDB","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"instanceId":"f46ed918-cadc-48cd-9381-386376eceec1","createMode":"Default","databaseAccountOfferType":"Standard","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"apiProperties":{"serverVersion":"3.6"},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"MongoDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:02:02.9905636Z"},"properties":{"provisioningState":"Creating","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"MongoDB","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"e1471531-db85-410c-b75b-55fc5b41767e","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"apiProperties":{"serverVersion":"3.6"},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-westus","locationName":"West US","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-westus","locationName":"West US","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-westus","locationName":"West US","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-westus","locationName":"West - US","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableMongo"}],"ipRules":[],"backupPolicy":{"type":"Continuous"}},"identity":{"type":"None"}}' + US","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableMongo"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/c94f177f-fb17-442b-a019-ea3d2284d2c8?api-version=2020-06-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/3137ec88-46b5-4b07-ab71-3f61bfbf5cac?api-version=2021-03-01-preview cache-control: - no-store, no-cache content-length: - - '1728' + - '1878' content-type: - application/json date: - - Thu, 28 Jan 2021 22:57:19 GMT + - Mon, 24 May 2021 19:02:04 GMT location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/operationResults/c94f177f-fb17-442b-a019-ea3d2284d2c8?api-version=2020-06-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/operationResults/3137ec88-46b5-4b07-ab71-3f61bfbf5cac?api-version=2021-03-01-preview pragma: - no-cache server: @@ -107,54 +107,7 @@ interactions: x-ms-gatewayversion: - version=2.11.0 x-ms-ratelimit-remaining-subscription-writes: - - '1197' - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb create - Connection: - - keep-alive - ParameterSetName: - - -n -g --backup-policy-type --locations --kind - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/c94f177f-fb17-442b-a019-ea3d2284d2c8?api-version=2020-06-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Thu, 28 Jan 2021 22:57:50 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 + - '1199' status: code: 200 message: Ok @@ -172,10 +125,10 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations --kind User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/c94f177f-fb17-442b-a019-ea3d2284d2c8?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/3137ec88-46b5-4b07-ab71-3f61bfbf5cac?api-version=2021-03-01-preview response: body: string: '{"status":"Dequeued"}' @@ -187,7 +140,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 22:58:20 GMT + - Mon, 24 May 2021 19:02:35 GMT pragma: - no-cache server: @@ -219,10 +172,10 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations --kind User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/c94f177f-fb17-442b-a019-ea3d2284d2c8?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/3137ec88-46b5-4b07-ab71-3f61bfbf5cac?api-version=2021-03-01-preview response: body: string: '{"status":"Dequeued"}' @@ -234,7 +187,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 22:58:51 GMT + - Mon, 24 May 2021 19:03:05 GMT pragma: - no-cache server: @@ -266,10 +219,10 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations --kind User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/c94f177f-fb17-442b-a019-ea3d2284d2c8?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/3137ec88-46b5-4b07-ab71-3f61bfbf5cac?api-version=2021-03-01-preview response: body: string: '{"status":"Dequeued"}' @@ -281,7 +234,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 22:59:21 GMT + - Mon, 24 May 2021 19:03:35 GMT pragma: - no-cache server: @@ -313,10 +266,10 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations --kind User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/c94f177f-fb17-442b-a019-ea3d2284d2c8?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/3137ec88-46b5-4b07-ab71-3f61bfbf5cac?api-version=2021-03-01-preview response: body: string: '{"status":"Dequeued"}' @@ -328,7 +281,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 22:59:51 GMT + - Mon, 24 May 2021 19:04:05 GMT pragma: - no-cache server: @@ -360,10 +313,10 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations --kind User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/c94f177f-fb17-442b-a019-ea3d2284d2c8?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/3137ec88-46b5-4b07-ab71-3f61bfbf5cac?api-version=2021-03-01-preview response: body: string: '{"status":"Succeeded"}' @@ -375,7 +328,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:00:22 GMT + - Mon, 24 May 2021 19:04:35 GMT pragma: - no-cache server: @@ -407,27 +360,27 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations --kind User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-03-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"MongoDB","tags":{},"systemData":{"createdAt":"2021-01-28T22:59:21.7713933Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents.azure.com:443/","mongoEndpoint":"https://cli000004.mongo.cosmos.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"MongoDB","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"instanceId":"f46ed918-cadc-48cd-9381-386376eceec1","createMode":"Default","databaseAccountOfferType":"Standard","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"apiProperties":{"serverVersion":"3.6"},"configurationOverrides":{"EnableBsonSchema":"True"},"writeLocations":[{"id":"cli000004-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"MongoDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:04:03.0608461Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents.azure.com:443/","mongoEndpoint":"https://cli000004.mongo.cosmos.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"MongoDB","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"e1471531-db85-410c-b75b-55fc5b41767e","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"apiProperties":{"serverVersion":"3.6"},"configurationOverrides":{"EnableBsonSchema":"True"},"writeLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-westus","locationName":"West - US","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableMongo"}],"ipRules":[],"backupPolicy":{"type":"Continuous"}},"identity":{"type":"None"}}' + US","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableMongo"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' headers: cache-control: - no-store, no-cache content-length: - - '2128' + - '2278' content-type: - application/json date: - - Thu, 28 Jan 2021 23:00:22 GMT + - Mon, 24 May 2021 19:04:36 GMT pragma: - no-cache server: @@ -459,29 +412,29 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations --kind User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-03-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"MongoDB","tags":{},"systemData":{"createdAt":"2021-01-28T22:59:21.7713933Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents.azure.com:443/","mongoEndpoint":"https://cli000004.mongo.cosmos.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"MongoDB","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"instanceId":"f46ed918-cadc-48cd-9381-386376eceec1","createMode":"Default","databaseAccountOfferType":"Standard","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"apiProperties":{"serverVersion":"3.6"},"configurationOverrides":{"EnableBsonSchema":"True"},"writeLocations":[{"id":"cli000004-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"MongoDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:04:03.0608461Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents.azure.com:443/","mongoEndpoint":"https://cli000004.mongo.cosmos.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"MongoDB","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"e1471531-db85-410c-b75b-55fc5b41767e","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"apiProperties":{"serverVersion":"3.6"},"configurationOverrides":{"EnableBsonSchema":"True"},"writeLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-westus","locationName":"West - US","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableMongo"}],"ipRules":[],"backupPolicy":{"type":"Continuous"}},"identity":{"type":"None"}}' + US","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableMongo"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' headers: cache-control: - no-store, no-cache content-length: - - '2128' + - '2278' content-type: - application/json date: - - Thu, 28 Jan 2021 23:00:22 GMT + - Mon, 24 May 2021 19:04:36 GMT pragma: - no-cache server: @@ -513,29 +466,29 @@ interactions: ParameterSetName: - -n -g User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-03-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"MongoDB","tags":{},"systemData":{"createdAt":"2021-01-28T22:59:21.7713933Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents.azure.com:443/","mongoEndpoint":"https://cli000004.mongo.cosmos.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"MongoDB","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"instanceId":"f46ed918-cadc-48cd-9381-386376eceec1","createMode":"Default","databaseAccountOfferType":"Standard","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"apiProperties":{"serverVersion":"3.6"},"configurationOverrides":{"EnableBsonSchema":"True"},"writeLocations":[{"id":"cli000004-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"MongoDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:04:03.0608461Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents.azure.com:443/","mongoEndpoint":"https://cli000004.mongo.cosmos.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"MongoDB","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"e1471531-db85-410c-b75b-55fc5b41767e","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"apiProperties":{"serverVersion":"3.6"},"configurationOverrides":{"EnableBsonSchema":"True"},"writeLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-westus","locationName":"West - US","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableMongo"}],"ipRules":[],"backupPolicy":{"type":"Continuous"}},"identity":{"type":"None"}}' + US","failoverPriority":0}],"cors":[],"capabilities":[{"name":"EnableMongo"}],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' headers: cache-control: - no-store, no-cache content-length: - - '2128' + - '2278' content-type: - application/json date: - - Thu, 28 Jan 2021 23:00:23 GMT + - Mon, 24 May 2021 19:04:36 GMT pragma: - no-cache server: @@ -567,22 +520,19 @@ interactions: Content-Length: - '70' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - -g -a -n User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/1.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-mgmt-cosmosdb/6.2.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003?api-version=2020-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003?api-version=2021-03-15 response: body: string: '{"status":"Enqueued"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/790faac0-efe2-489e-be79-a279dfbcb972?api-version=2020-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/e163ecb2-f22d-4819-b88c-77b2fcdbe50e?api-version=2021-03-15 cache-control: - no-store, no-cache content-length: @@ -590,9 +540,9 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:00:25 GMT + - Mon, 24 May 2021 19:04:38 GMT location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003/operationResults/790faac0-efe2-489e-be79-a279dfbcb972?api-version=2020-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003/operationResults/e163ecb2-f22d-4819-b88c-77b2fcdbe50e?api-version=2021-03-15 pragma: - no-cache server: @@ -612,7 +562,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -622,10 +572,9 @@ interactions: ParameterSetName: - -g -a -n User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/1.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 + - AZURECLI/2.23.0 azsdk-python-mgmt-cosmosdb/6.2.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/790faac0-efe2-489e-be79-a279dfbcb972?api-version=2020-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/e163ecb2-f22d-4819-b88c-77b2fcdbe50e?api-version=2021-03-15 response: body: string: '{"status":"Succeeded"}' @@ -637,7 +586,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:00:54 GMT + - Mon, 24 May 2021 19:05:08 GMT pragma: - no-cache server: @@ -659,7 +608,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -669,10 +618,9 @@ interactions: ParameterSetName: - -g -a -n User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/1.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 + - AZURECLI/2.23.0 azsdk-python-mgmt-cosmosdb/6.2.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003?api-version=2020-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003?api-version=2021-03-15 response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003","type":"Microsoft.DocumentDB/databaseAccounts/mongodbDatabases","name":"cli000003","properties":{"resource":{"id":"cli000003"}}}' @@ -684,7 +632,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:00:56 GMT + - Mon, 24 May 2021 19:05:09 GMT pragma: - no-cache server: @@ -717,22 +665,19 @@ interactions: Content-Length: - '125' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - -g -a -d -n --shard --throughput User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/1.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-mgmt-cosmosdb/6.2.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003/collections/cli000002?api-version=2020-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003/collections/cli000002?api-version=2021-03-15 response: body: string: '{"status":"Enqueued"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/3d70905d-0574-40dc-837a-08e1a104dd74?api-version=2020-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/a2d7a70e-5a3f-42aa-b8fb-108c5df57572?api-version=2021-03-15 cache-control: - no-store, no-cache content-length: @@ -740,9 +685,9 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:00:57 GMT + - Mon, 24 May 2021 19:05:10 GMT location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003/collections/cli000002/operationResults/3d70905d-0574-40dc-837a-08e1a104dd74?api-version=2020-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003/collections/cli000002/operationResults/a2d7a70e-5a3f-42aa-b8fb-108c5df57572?api-version=2021-03-15 pragma: - no-cache server: @@ -754,7 +699,7 @@ interactions: x-ms-gatewayversion: - version=2.11.0 x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 202 message: Accepted @@ -762,7 +707,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -772,10 +717,9 @@ interactions: ParameterSetName: - -g -a -d -n --shard --throughput User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/1.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 + - AZURECLI/2.23.0 azsdk-python-mgmt-cosmosdb/6.2.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/3d70905d-0574-40dc-837a-08e1a104dd74?api-version=2020-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/a2d7a70e-5a3f-42aa-b8fb-108c5df57572?api-version=2021-03-15 response: body: string: '{"status":"Succeeded"}' @@ -787,7 +731,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:01:28 GMT + - Mon, 24 May 2021 19:05:40 GMT pragma: - no-cache server: @@ -809,7 +753,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -819,10 +763,9 @@ interactions: ParameterSetName: - -g -a -d -n --shard --throughput User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/1.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 + - AZURECLI/2.23.0 azsdk-python-mgmt-cosmosdb/6.2.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003/collections/cli000002?api-version=2020-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003/collections/cli000002?api-version=2021-03-15 response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_mongodb_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/mongodbDatabases/cli000003/collections/cli000002","type":"Microsoft.DocumentDB/databaseAccounts/mongodbDatabases/collections","name":"cli000002","properties":{"resource":{"id":"cli000002","shardKey":{"theShardKey":"Hash"},"indexes":[{"key":{"keys":["_id"]}}]}}}' @@ -834,7 +777,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:01:29 GMT + - Mon, 24 May 2021 19:05:41 GMT pragma: - no-cache server: @@ -866,16 +809,16 @@ interactions: ParameterSetName: - --location --instance-id User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/f46ed918-cadc-48cd-9381-386376eceec1?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/e1471531-db85-410c-b75b-55fc5b41767e?api-version=2021-03-01-preview response: body: - string: '{"name":"f46ed918-cadc-48cd-9381-386376eceec1","location":"West US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/f46ed918-cadc-48cd-9381-386376eceec1","properties":{"accountName":"cli000004","apiType":"MongoDB","creationTime":"2021-01-28T22:59:22Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"63a7ae8b-329a-492a-8fbf-99ab5a901730","creationTime":"2021-01-28T22:59:23Z"}]}}' + string: '{"name":"e1471531-db85-410c-b75b-55fc5b41767e","location":"West US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/e1471531-db85-410c-b75b-55fc5b41767e","properties":{"accountName":"cli000004","apiType":"MongoDB","creationTime":"2021-05-24T19:04:04Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"12188092-81f5-4d40-8c2a-d95f54ee9c97","creationTime":"2021-05-24T19:04:04Z"}]}}' headers: cache-control: - no-store, no-cache @@ -884,7 +827,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:01:33 GMT + - Mon, 24 May 2021 19:05:42 GMT pragma: - no-cache server: @@ -916,15 +859,15 @@ interactions: ParameterSetName: - --location --instance-id User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/f46ed918-cadc-48cd-9381-386376eceec1/restorableMongodbDatabases?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/e1471531-db85-410c-b75b-55fc5b41767e/restorableMongodbDatabases?api-version=2021-03-01-preview response: body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/f46ed918-cadc-48cd-9381-386376eceec1/restorableMongodbDatabases/173d0f2c-f1c5-406f-9c3c-f19e47ba3f49","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableMongodbDatabases","name":"173d0f2c-f1c5-406f-9c3c-f19e47ba3f49","properties":{"resource":{"_rid":"01zVHQAAAA==","eventTimestamp":"2021-01-28T23:00:29Z","ownerId":"cli000003","ownerResourceId":"mZZ6AA==","operationType":"Create"}}}]}' + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/e1471531-db85-410c-b75b-55fc5b41767e/restorableMongodbDatabases/c93e0660-b24f-4807-9477-17fa4c6f4760","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableMongodbDatabases","name":"c93e0660-b24f-4807-9477-17fa4c6f4760","properties":{"resource":{"_rid":"6Pm7BAAAAA==","eventTimestamp":"2021-05-24T19:04:45Z","ownerId":"cli000003","ownerResourceId":"ImoCAA==","operationType":"Create"}}}]}' headers: cache-control: - no-store, no-cache @@ -933,7 +876,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:01:37 GMT + - Mon, 24 May 2021 19:05:43 GMT pragma: - no-cache server: @@ -965,15 +908,15 @@ interactions: ParameterSetName: - --location --instance-id --database-rid User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/f46ed918-cadc-48cd-9381-386376eceec1/restorableMongodbCollections?api-version=2020-06-01-preview&restorableMongodbDatabaseRid=mZZ6AA%3D%3D + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/e1471531-db85-410c-b75b-55fc5b41767e/restorableMongodbCollections?api-version=2021-03-01-preview&restorableMongodbDatabaseRid=ImoCAA%3D%3D response: body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/f46ed918-cadc-48cd-9381-386376eceec1/restorableMongodbCollections/77aa11c3-d8c6-43a0-b730-749cdd0c02be","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableMongodbCollections","name":"77aa11c3-d8c6-43a0-b730-749cdd0c02be","properties":{"resource":{"_rid":"oFyNXgAAAA==","eventTimestamp":"2021-01-28T23:01:03Z","ownerId":"cli000002","ownerResourceId":"mZZ6AIfwxGg=","operationType":"Create"}}}]}' + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/e1471531-db85-410c-b75b-55fc5b41767e/restorableMongodbCollections/79f3760b-278d-48f1-b990-138aa4edbd85","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableMongodbCollections","name":"79f3760b-278d-48f1-b990-138aa4edbd85","properties":{"resource":{"_rid":"vHusaAAAAA==","eventTimestamp":"2021-05-24T19:05:16Z","ownerId":"cli000002","ownerResourceId":"ImoCAJW6qac=","operationType":"Create"}}}]}' headers: cache-control: - no-store, no-cache @@ -982,7 +925,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:01:42 GMT + - Mon, 24 May 2021 19:05:45 GMT pragma: - no-cache server: @@ -1014,12 +957,12 @@ interactions: ParameterSetName: - --restore-location -l --instance-id --restore-timestamp User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/f46ed918-cadc-48cd-9381-386376eceec1/restorableMongodbResources?api-version=2020-06-01-preview&restoreLocation=westus&restoreTimestampInUtc=2021-01-28T23%3A01%3A22%2B00%3A00 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/e1471531-db85-410c-b75b-55fc5b41767e/restorableMongodbResources?api-version=2021-03-01-preview&restoreLocation=westus&restoreTimestampInUtc=2021-05-24T19%3A06%3A04%2B00%3A00 response: body: string: '{"value":[{"databaseName":"cli000003","collectionNames":["cli000002"]}]}' @@ -1031,7 +974,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:03:45 GMT + - Mon, 24 May 2021 19:07:46 GMT pragma: - no-cache server: diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_restore_command.yaml b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_restore_command.yaml index e16add501ef..6ffe3604839 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_restore_command.yaml +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_restore_command.yaml @@ -13,15 +13,15 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-resource/12.1.0 Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_cosmosdb_restore_command000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001","name":"cli_test_cosmosdb_restore_command000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-01-28T22:57:14Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001","name":"cli_test_cosmosdb_restore_command000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-05-24T19:01:57Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -30,7 +30,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 28 Jan 2021 22:57:16 GMT + - Mon, 24 May 2021 19:01:59 GMT expires: - '-1' pragma: @@ -65,33 +65,33 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2021-03-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003","name":"cli000003","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-01-28T22:57:18.9032601Z"},"properties":{"provisioningState":"Creating","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"instanceId":"dad19ede-1592-4d87-95ff-4e20c8a09de5","createMode":"Default","databaseAccountOfferType":"Standard","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:02:03.26196Z"},"properties":{"provisioningState":"Creating","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"ab5ad0f1-b1df-4a3e-aadb-095c7cf6d8b9","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-westus","locationName":"West US","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000003-westus","locationName":"West US","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000003-westus","locationName":"West US","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000003-westus","locationName":"West - US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"}},"identity":{"type":"None"}}' + US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/f819b3b3-eedd-40db-9718-a11c32691211?api-version=2020-06-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/ba18cb0c-ff21-42ac-ad97-0839b99f64ac?api-version=2021-03-01-preview cache-control: - no-store, no-cache content-length: - - '1671' + - '1819' content-type: - application/json date: - - Thu, 28 Jan 2021 22:57:19 GMT + - Mon, 24 May 2021 19:02:05 GMT location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/operationResults/f819b3b3-eedd-40db-9718-a11c32691211?api-version=2020-06-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/operationResults/ba18cb0c-ff21-42ac-ad97-0839b99f64ac?api-version=2021-03-01-preview pragma: - no-cache server: @@ -107,7 +107,7 @@ interactions: x-ms-gatewayversion: - version=2.11.0 x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1199' status: code: 200 message: Ok @@ -125,10 +125,10 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/f819b3b3-eedd-40db-9718-a11c32691211?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/ba18cb0c-ff21-42ac-ad97-0839b99f64ac?api-version=2021-03-01-preview response: body: string: '{"status":"Dequeued"}' @@ -140,7 +140,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 22:57:49 GMT + - Mon, 24 May 2021 19:02:35 GMT pragma: - no-cache server: @@ -172,10 +172,10 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/f819b3b3-eedd-40db-9718-a11c32691211?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/ba18cb0c-ff21-42ac-ad97-0839b99f64ac?api-version=2021-03-01-preview response: body: string: '{"status":"Dequeued"}' @@ -187,7 +187,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 22:58:19 GMT + - Mon, 24 May 2021 19:03:05 GMT pragma: - no-cache server: @@ -219,10 +219,57 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/f819b3b3-eedd-40db-9718-a11c32691211?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/ba18cb0c-ff21-42ac-ad97-0839b99f64ac?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:03:36 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/ba18cb0c-ff21-42ac-ad97-0839b99f64ac?api-version=2021-03-01-preview response: body: string: '{"status":"Succeeded"}' @@ -234,7 +281,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 22:58:50 GMT + - Mon, 24 May 2021 19:04:06 GMT pragma: - no-cache server: @@ -266,27 +313,27 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2021-03-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003","name":"cli000003","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-01-28T22:58:05.0291967Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000003.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"instanceId":"dad19ede-1592-4d87-95ff-4e20c8a09de5","createMode":"Default","databaseAccountOfferType":"Standard","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:03:21.3993288Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000003.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"ab5ad0f1-b1df-4a3e-aadb-095c7cf6d8b9","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-westus","locationName":"West US","documentEndpoint":"https://cli000003-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000003-westus","locationName":"West US","documentEndpoint":"https://cli000003-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000003-westus","locationName":"West US","documentEndpoint":"https://cli000003-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000003-westus","locationName":"West - US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"}},"identity":{"type":"None"}}' + US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' headers: cache-control: - no-store, no-cache content-length: - - '1976' + - '2126' content-type: - application/json date: - - Thu, 28 Jan 2021 22:58:51 GMT + - Mon, 24 May 2021 19:04:06 GMT pragma: - no-cache server: @@ -318,29 +365,29 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2021-03-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003","name":"cli000003","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-01-28T22:58:05.0291967Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000003.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"instanceId":"dad19ede-1592-4d87-95ff-4e20c8a09de5","createMode":"Default","databaseAccountOfferType":"Standard","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:03:21.3993288Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000003.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"ab5ad0f1-b1df-4a3e-aadb-095c7cf6d8b9","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-westus","locationName":"West US","documentEndpoint":"https://cli000003-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000003-westus","locationName":"West US","documentEndpoint":"https://cli000003-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000003-westus","locationName":"West US","documentEndpoint":"https://cli000003-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000003-westus","locationName":"West - US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"}},"identity":{"type":"None"}}' + US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' headers: cache-control: - no-store, no-cache content-length: - - '1976' + - '2126' content-type: - application/json date: - - Thu, 28 Jan 2021 22:58:51 GMT + - Mon, 24 May 2021 19:04:06 GMT pragma: - no-cache server: @@ -372,29 +419,29 @@ interactions: ParameterSetName: - -n -g User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2021-03-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003","name":"cli000003","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-01-28T22:58:05.0291967Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000003.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"instanceId":"dad19ede-1592-4d87-95ff-4e20c8a09de5","createMode":"Default","databaseAccountOfferType":"Standard","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:03:21.3993288Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000003.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"ab5ad0f1-b1df-4a3e-aadb-095c7cf6d8b9","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-westus","locationName":"West US","documentEndpoint":"https://cli000003-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000003-westus","locationName":"West US","documentEndpoint":"https://cli000003-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000003-westus","locationName":"West US","documentEndpoint":"https://cli000003-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000003-westus","locationName":"West - US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"}},"identity":{"type":"None"}}' + US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' headers: cache-control: - no-store, no-cache content-length: - - '1976' + - '2126' content-type: - application/json date: - - Thu, 28 Jan 2021 22:58:51 GMT + - Mon, 24 May 2021 19:04:07 GMT pragma: - no-cache server: @@ -426,22 +473,19 @@ interactions: Content-Length: - '70' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - -g -a -n User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/1.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-mgmt-cosmosdb/6.2.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005?api-version=2020-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005?api-version=2021-03-15 response: body: string: '{"status":"Enqueued"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/b6a1e96b-6aa8-477b-92b6-69c85c278c01?api-version=2020-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/4cacabba-7af2-4e43-a3c8-75cb02021829?api-version=2021-03-15 cache-control: - no-store, no-cache content-length: @@ -449,9 +493,9 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 22:58:52 GMT + - Mon, 24 May 2021 19:04:07 GMT location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005/operationResults/b6a1e96b-6aa8-477b-92b6-69c85c278c01?api-version=2020-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005/operationResults/4cacabba-7af2-4e43-a3c8-75cb02021829?api-version=2021-03-15 pragma: - no-cache server: @@ -463,7 +507,7 @@ interactions: x-ms-gatewayversion: - version=2.11.0 x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1199' status: code: 202 message: Accepted @@ -471,7 +515,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -481,10 +525,9 @@ interactions: ParameterSetName: - -g -a -n User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/1.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 + - AZURECLI/2.23.0 azsdk-python-mgmt-cosmosdb/6.2.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/b6a1e96b-6aa8-477b-92b6-69c85c278c01?api-version=2020-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/4cacabba-7af2-4e43-a3c8-75cb02021829?api-version=2021-03-15 response: body: string: '{"status":"Succeeded"}' @@ -496,7 +539,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 22:59:23 GMT + - Mon, 24 May 2021 19:04:37 GMT pragma: - no-cache server: @@ -518,7 +561,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -528,13 +571,12 @@ interactions: ParameterSetName: - -g -a -n User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/1.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 + - AZURECLI/2.23.0 azsdk-python-mgmt-cosmosdb/6.2.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005?api-version=2020-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005?api-version=2021-03-15 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005","type":"Microsoft.DocumentDB/databaseAccounts/sqlDatabases","name":"cli000005","properties":{"resource":{"id":"cli000005","_rid":"mfBsAA==","_self":"dbs/mfBsAA==/","_etag":"\"00003401-0000-0700-0000-601341b00000\"","_colls":"colls/","_users":"users/","_ts":1611874736}}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005","type":"Microsoft.DocumentDB/databaseAccounts/sqlDatabases","name":"cli000005","properties":{"resource":{"id":"cli000005","_rid":"pScqAA==","_self":"dbs/pScqAA==/","_etag":"\"00008e00-0000-0700-0000-60abf8ae0000\"","_colls":"colls/","_users":"users/","_ts":1621883054}}}' headers: cache-control: - no-store, no-cache @@ -543,7 +585,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 22:59:24 GMT + - Mon, 24 May 2021 19:04:38 GMT pragma: - no-cache server: @@ -578,22 +620,19 @@ interactions: Content-Length: - '271' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - -g -a -d -n -p User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/1.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-mgmt-cosmosdb/6.2.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005/containers/cli000002?api-version=2020-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005/containers/cli000002?api-version=2021-03-15 response: body: string: '{"status":"Enqueued"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/53bcd9c8-4b16-46a7-a260-ea19b66d3da7?api-version=2020-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/2ce8c9ce-c212-4cdc-872d-71512a3d5f36?api-version=2021-03-15 cache-control: - no-store, no-cache content-length: @@ -601,9 +640,9 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 22:59:25 GMT + - Mon, 24 May 2021 19:04:39 GMT location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005/containers/cli000002/operationResults/53bcd9c8-4b16-46a7-a260-ea19b66d3da7?api-version=2020-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005/containers/cli000002/operationResults/2ce8c9ce-c212-4cdc-872d-71512a3d5f36?api-version=2021-03-15 pragma: - no-cache server: @@ -615,7 +654,7 @@ interactions: x-ms-gatewayversion: - version=2.11.0 x-ms-ratelimit-remaining-subscription-writes: - - '1195' + - '1199' status: code: 202 message: Accepted @@ -623,7 +662,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -633,10 +672,9 @@ interactions: ParameterSetName: - -g -a -d -n -p User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/1.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 + - AZURECLI/2.23.0 azsdk-python-mgmt-cosmosdb/6.2.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/53bcd9c8-4b16-46a7-a260-ea19b66d3da7?api-version=2020-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/2ce8c9ce-c212-4cdc-872d-71512a3d5f36?api-version=2021-03-15 response: body: string: '{"status":"Succeeded"}' @@ -648,7 +686,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 22:59:55 GMT + - Mon, 24 May 2021 19:05:10 GMT pragma: - no-cache server: @@ -670,7 +708,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -680,13 +718,12 @@ interactions: ParameterSetName: - -g -a -d -n -p User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/1.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 + - AZURECLI/2.23.0 azsdk-python-mgmt-cosmosdb/6.2.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005/containers/cli000002?api-version=2020-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005/containers/cli000002?api-version=2021-03-15 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005/containers/cli000002","type":"Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers","name":"cli000002","properties":{"resource":{"id":"cli000002","indexingPolicy":{"indexingMode":"consistent","automatic":true,"includedPaths":[{"path":"/*"}],"excludedPaths":[{"path":"/\"_etag\"/?"}]},"partitionKey":{"paths":["/pk"],"kind":"Hash"},"uniqueKeyPolicy":{"uniqueKeys":[]},"conflictResolutionPolicy":{"mode":"LastWriterWins","conflictResolutionPath":"/_ts","conflictResolutionProcedure":""},"backupPolicy":{"type":1},"allowMaterializedViews":false,"geospatialConfig":{"type":"Geography"},"_rid":"mfBsAKtWvfE=","_ts":1611874769,"_self":"dbs/mfBsAA==/colls/mfBsAKtWvfE=/","_etag":"\"00003701-0000-0700-0000-601341d10000\"","_docs":"docs/","_sprocs":"sprocs/","_triggers":"triggers/","_udfs":"udfs/","_conflicts":"conflicts/","statistics":[{"id":"0","sizeInKB":0,"documentCount":0,"partitionKeys":[]}]}}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005/containers/cli000002","type":"Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers","name":"cli000002","properties":{"resource":{"id":"cli000002","indexingPolicy":{"indexingMode":"consistent","automatic":true,"includedPaths":[{"path":"/*"}],"excludedPaths":[{"path":"/\"_etag\"/?"}]},"partitionKey":{"paths":["/pk"],"kind":"Hash"},"uniqueKeyPolicy":{"uniqueKeys":[]},"conflictResolutionPolicy":{"mode":"LastWriterWins","conflictResolutionPath":"/_ts","conflictResolutionProcedure":""},"backupPolicy":{"type":1},"allowMaterializedViews":false,"geospatialConfig":{"type":"Geography"},"_rid":"pScqAJeijo4=","_ts":1621883085,"_self":"dbs/pScqAA==/colls/pScqAJeijo4=/","_etag":"\"00009300-0000-0700-0000-60abf8cd0000\"","_docs":"docs/","_sprocs":"sprocs/","_triggers":"triggers/","_udfs":"udfs/","_conflicts":"conflicts/","statistics":[{"id":"0","sizeInKB":0,"documentCount":0,"partitionKeys":[]}]}}}' headers: cache-control: - no-store, no-cache @@ -695,7 +732,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 22:59:56 GMT + - Mon, 24 May 2021 19:05:10 GMT pragma: - no-cache server: @@ -727,16 +764,16 @@ interactions: ParameterSetName: - --location --instance-id User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/dad19ede-1592-4d87-95ff-4e20c8a09de5?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/ab5ad0f1-b1df-4a3e-aadb-095c7cf6d8b9?api-version=2021-03-01-preview response: body: - string: '{"name":"dad19ede-1592-4d87-95ff-4e20c8a09de5","location":"West US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/dad19ede-1592-4d87-95ff-4e20c8a09de5","properties":{"accountName":"cli000003","apiType":"Sql","creationTime":"2021-01-28T22:58:06Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"a2c2b55a-9cda-4aad-b75a-bfd34647818f","creationTime":"2021-01-28T22:58:06Z"}]}}' + string: '{"name":"ab5ad0f1-b1df-4a3e-aadb-095c7cf6d8b9","location":"West US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/ab5ad0f1-b1df-4a3e-aadb-095c7cf6d8b9","properties":{"accountName":"cli000003","apiType":"Sql","creationTime":"2021-05-24T19:03:22Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"84ecf0cf-5717-4766-bf46-2dabc58c06de","creationTime":"2021-05-24T19:03:23Z"}]}}' headers: cache-control: - no-store, no-cache @@ -745,7 +782,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:00:01 GMT + - Mon, 24 May 2021 19:05:11 GMT pragma: - no-cache server: @@ -777,220 +814,42 @@ interactions: ParameterSetName: - -n -g -a --restore-timestamp --location User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/restorableDatabaseAccounts?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/restorableDatabaseAccounts?api-version=2021-03-01-preview response: body: - string: '{"value":[{"name":"70f3ea16-d3bc-46f6-98e8-576fc201eabf","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/70f3ea16-d3bc-46f6-98e8-576fc201eabf","properties":{"accountName":"balaksrestorebug","apiType":"Sql","creationTime":"2021-01-09T01:08:25Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"94244165-49de-46f8-bb1a-2e0956694168","creationTime":"2021-01-09T01:08:27Z"}]}},{"name":"5f95bef8-07b9-400b-aac2-4e09efbc47c2","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/5f95bef8-07b9-400b-aac2-4e09efbc47c2","properties":{"accountName":"cli56zv275qols2","apiType":"MongoDB","creationTime":"2021-01-28T22:28:28Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"0eed5071-4e89-480f-ac03-d245d57bd6a0","creationTime":"2021-01-28T22:28:29Z"}]}},{"name":"f46ed918-cadc-48cd-9381-386376eceec1","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/f46ed918-cadc-48cd-9381-386376eceec1","properties":{"accountName":"clib5bw3s76u6yq","apiType":"MongoDB","creationTime":"2021-01-28T22:59:22Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"63a7ae8b-329a-492a-8fbf-99ab5a901730","creationTime":"2021-01-28T22:59:23Z"}]}},{"name":"1cea11b1-c170-4ffe-993d-63da1bff9a94","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/1cea11b1-c170-4ffe-993d-63da1bff9a94","properties":{"accountName":"clid4bvkfsumrnr-restore","apiType":"MongoDB","creationTime":"2021-01-08T20:25:49Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"d36f7f5b-7d0f-4e35-8a05-a253eaaad55b","creationTime":"2021-01-08T20:25:49Z"}]}},{"name":"dad19ede-1592-4d87-95ff-4e20c8a09de5","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/dad19ede-1592-4d87-95ff-4e20c8a09de5","properties":{"accountName":"cli000003","apiType":"Sql","creationTime":"2021-01-28T22:58:06Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"a2c2b55a-9cda-4aad-b75a-bfd34647818f","creationTime":"2021-01-28T22:58:06Z"}]}},{"name":"16e57fca-6555-4c92-bb57-1afa38d69371","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/16e57fca-6555-4c92-bb57-1afa38d69371","properties":{"accountName":"clikbicro7ly5p2","apiType":"MongoDB","creationTime":"2021-01-16T01:25:45Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"9688f6b2-7410-4ae1-bd8b-1de6a0edcdca","creationTime":"2021-01-16T01:25:46Z"}]}},{"name":"28bc2837-a17f-4038-8569-7ffb33794333","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/28bc2837-a17f-4038-8569-7ffb33794333","properties":{"accountName":"cliweraslfbdxmi","apiType":"MongoDB","creationTime":"2021-01-28T22:55:58Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"8614d5c7-d9bf-4e5b-9d0c-62731c7d45c4","creationTime":"2021-01-28T22:55:59Z"}]}},{"name":"7346d3b4-8657-441b-8661-c1eb1071b700","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/7346d3b4-8657-441b-8661-c1eb1071b700","properties":{"accountName":"cliwqgrqdlkgt5b","apiType":"Sql","creationTime":"2021-01-28T22:58:07Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"767353e5-3784-43ee-ba9c-76e7e83db6e7","creationTime":"2021-01-28T22:58:08Z"}]}},{"name":"31869788-6f92-47f9-8f8b-6619582d2381","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/31869788-6f92-47f9-8f8b-6619582d2381","properties":{"accountName":"cosmosdb-1212","apiType":"Sql","creationTime":"2021-01-08T02:05:37Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"62ff38d6-4f2d-4c43-8c9d-17258a38ad81","creationTime":"2021-01-08T02:05:37Z"}]}},{"name":"5c84891d-ee24-4dc7-aa2b-d8968baf7936","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/5c84891d-ee24-4dc7-aa2b-d8968baf7936","properties":{"accountName":"gskcssdemo","apiType":"Sql","creationTime":"2020-12-14T21:53:52Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"21f8bb0a-9b6d-4d79-b305-82f555946c5f","creationTime":"2020-12-14T21:53:53Z"}]}},{"name":"cc9b5676-f21b-4bd4-b3d9-26ded6884aaa","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/cc9b5676-f21b-4bd4-b3d9-26ded6884aaa","properties":{"accountName":"gskcssdemo-r1","apiType":"Sql","creationTime":"2021-01-15T05:24:40Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"11da6634-3b4d-4b81-99ef-04d8b4d7410d","creationTime":"2021-01-15T05:24:40Z"}]}},{"name":"d92d948a-afb9-4bb3-9a4c-d6b8fcf8d204","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/d92d948a-afb9-4bb3-9a4c-d6b8fcf8d204","properties":{"accountName":"kal-continuous","apiType":"Sql","creationTime":"2020-08-05T01:00:25Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"c28cc815-caba-4bd3-9402-6c8ec362efe6","creationTime":"2020-08-05T01:00:26Z"},{"locationName":"East - US","regionalDatabaseAccountInstanceId":"cc0bacf7-91d0-4c4b-95ff-2479327f0866","creationTime":"2020-08-05T01:12:03Z"},{"locationName":"South - Central US","regionalDatabaseAccountInstanceId":"6fc9f211-8f76-4c29-9edc-f82ee8c5211a","creationTime":"2020-08-23T01:34:11Z"}]}},{"name":"11d8ee78-2502-4ad6-becd-291aef9ac258","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/11d8ee78-2502-4ad6-becd-291aef9ac258","properties":{"accountName":"kal-continuous-dedicated-test","apiType":"Sql","creationTime":"2020-10-05T23:45:26Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"543c99f9-7bc2-4b55-9732-9733b981341f","creationTime":"2020-10-05T23:45:27Z"}]}},{"name":"ed1b5536-d225-4af9-bf33-71ff5fc8ef4b","location":"South - Central US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/southcentralus/restorableDatabaseAccounts/ed1b5536-d225-4af9-bf33-71ff5fc8ef4b","properties":{"accountName":"kal-dedicated-test","apiType":"Sql","creationTime":"2020-10-05T23:57:45Z","restorableLocations":[{"locationName":"South - Central US","regionalDatabaseAccountInstanceId":"ff8bf7b0-f9c3-461c-8c13-26e94ac4c2bc","creationTime":"2020-10-05T23:57:46Z"}]}},{"name":"15ba6ca5-a356-4e90-b17e-71b9226d3566","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/15ba6ca5-a356-4e90-b17e-71b9226d3566","properties":{"accountName":"lisarestore1","apiType":"Sql","creationTime":"2021-01-08T22:12:16Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"3e848a1c-29b9-4627-889f-37c12a3c56fd","creationTime":"2021-01-08T22:12:16Z"}]}},{"name":"bbff0620-ef73-4071-9554-15e460f25e84","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/bbff0620-ef73-4071-9554-15e460f25e84","properties":{"accountName":"lisarestore2","apiType":"Sql","creationTime":"2021-01-08T22:23:52Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"8d3f47b6-7337-43c4-aaf3-59b0fa3720fd","creationTime":"2021-01-08T22:23:52Z"}]}},{"name":"47e6f98d-41c0-44f7-b0db-62ec4f1eec01","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/47e6f98d-41c0-44f7-b0db-62ec4f1eec01","properties":{"accountName":"lisarestore3","apiType":"Sql","creationTime":"2021-01-08T22:25:55Z","restorableLocations":[{"locationName":"Australia - Southeast","regionalDatabaseAccountInstanceId":"d62f91a9-8177-4cfb-88bb-647538637100","creationTime":"2021-01-08T22:25:55Z"}]}},{"name":"098565ea-96cc-45f8-a0fb-efecf4517ba0","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/098565ea-96cc-45f8-a0fb-efecf4517ba0","properties":{"accountName":"lisarestore4","apiType":"Sql","creationTime":"2021-01-08T22:30:27Z","restorableLocations":[{"locationName":"East - US","regionalDatabaseAccountInstanceId":"a88f7ab5-2623-4ca5-b962-c22b7027c647","creationTime":"2021-01-08T22:30:27Z"}]}},{"name":"421f2916-5405-47a0-bbb8-398672c8b539","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/421f2916-5405-47a0-bbb8-398672c8b539","properties":{"accountName":"lisarestore5","apiType":"Sql","creationTime":"2021-01-08T22:39:29Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"8989da63-0d67-4fa6-bf5d-caaa4961445b","creationTime":"2021-01-08T22:39:29Z"}]}},{"name":"e24fd3a7-20ed-48ac-a50e-6284402a72b9","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/e24fd3a7-20ed-48ac-a50e-6284402a72b9","properties":{"accountName":"lisarestore6","apiType":"Sql","creationTime":"2021-01-08T22:41:21Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"c2d1bb47-6e39-4ad6-9b82-9717f8feac85","creationTime":"2021-01-08T22:41:21Z"}]}},{"name":"5ed72f8f-00db-484a-8b7a-c90d9874431d","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/5ed72f8f-00db-484a-8b7a-c90d9874431d","properties":{"accountName":"lisarestore7","apiType":"Sql","creationTime":"2021-01-08T22:44:37Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"9e111575-7289-463d-9368-a89d76d9dc6b","creationTime":"2021-01-08T22:44:37Z"}]}},{"name":"90e99bc6-8031-4f65-886e-32628f7af45a","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/90e99bc6-8031-4f65-886e-32628f7af45a","properties":{"accountName":"lisarestore8b","apiType":"Sql","creationTime":"2021-01-08T23:17:40Z","restorableLocations":[{"locationName":"East - US","regionalDatabaseAccountInstanceId":"2ad74ba2-c366-461c-940b-02e0c5017422","creationTime":"2021-01-08T23:17:40Z"}]}},{"name":"1e2bec8e-adcc-4c5a-aa5b-82091d6c8a37","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/1e2bec8e-adcc-4c5a-aa5b-82091d6c8a37","properties":{"accountName":"pitracctdemo2","apiType":"Sql","creationTime":"2020-08-11T02:34:23Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"7419408f-e6af-4596-a76b-c31ca62a54ca","creationTime":"2020-08-11T02:34:24Z"}]}},{"name":"38562595-c786-4560-a297-370226ed1450","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/38562595-c786-4560-a297-370226ed1450","properties":{"accountName":"pitrb-subbanna","apiType":"Sql","creationTime":"2021-01-18T06:12:43Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"0a2f53ac-1920-4f18-aae4-19c496a7e923","creationTime":"2021-01-18T06:12:43Z"}]}},{"name":"7133a59a-d1c0-4645-a699-6e296d6ac865","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/7133a59a-d1c0-4645-a699-6e296d6ac865","properties":{"accountName":"pitrbb-ankshah-ps-1","apiType":"Sql","creationTime":"2021-01-08T23:34:12Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"f02df26b-c0ec-4829-8bef-3482d36e6230","creationTime":"2021-01-08T23:34:12Z"}]}},{"name":"d6f96f0e-4b4e-4823-8a95-e59c688a00e2","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/d6f96f0e-4b4e-4823-8a95-e59c688a00e2","properties":{"accountName":"pitrbb-ankshah-ps-6","apiType":"Sql","creationTime":"2021-01-08T23:58:46Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"6148981d-a65f-45b1-80f9-a26302e5214b","creationTime":"2021-01-08T23:58:46Z"}]}},{"name":"fcade1ce-4758-4d39-bbf8-8be7e9de50b2","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/fcade1ce-4758-4d39-bbf8-8be7e9de50b2","properties":{"accountName":"pitrbb-ankshah-ps-6-fixutc","apiType":"Sql","creationTime":"2021-01-09T00:26:43Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"5ac2a361-da75-47de-a13b-e4d9f0579e0c","creationTime":"2021-01-09T00:26:43Z"}]}},{"name":"0b32523b-4268-474d-a369-6888565ff043","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/0b32523b-4268-474d-a369-6888565ff043","properties":{"accountName":"pitrbb-dech-sql-1","apiType":"Sql","creationTime":"2021-01-08T22:48:20Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"4d5edac2-df25-4a27-9bf4-e75a0b78af86","creationTime":"2021-01-08T22:48:20Z"}]}},{"name":"79659b7d-1049-4c79-9ba4-4fad8110181a","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/79659b7d-1049-4c79-9ba4-4fad8110181a","properties":{"accountName":"pitrbb-dech-sql-2","apiType":"Sql","creationTime":"2021-01-08T23:26:15Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"b5d55b81-59cf-4b14-9717-247a45438d45","creationTime":"2021-01-08T23:26:15Z"}]}},{"name":"5b213b47-99da-4b75-9eb2-4307e54ac28b","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/5b213b47-99da-4b75-9eb2-4307e54ac28b","properties":{"accountName":"pitrbb-dech-sql-3","apiType":"Sql","creationTime":"2021-01-08T23:32:11Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"0187813e-8bf5-43bd-a16f-e344c3d251fd","creationTime":"2021-01-08T23:32:11Z"}]}},{"name":"7a3b8026-9d25-4933-aa8f-726c63a0b9fd","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/7a3b8026-9d25-4933-aa8f-726c63a0b9fd","properties":{"accountName":"pitrbb-dech-sql-4","apiType":"Sql","creationTime":"2021-01-08T23:37:21Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"e57af9d0-1b1f-435f-b2c7-12199949b4a1","creationTime":"2021-01-08T23:37:21Z"}]}},{"name":"fc3ea677-0377-4004-923e-49f7e650cd0f","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/fc3ea677-0377-4004-923e-49f7e650cd0f","properties":{"accountName":"pitrbb-dech-sql-5","apiType":"Sql","creationTime":"2021-01-08T23:43:10Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"ae59cbb3-a365-405e-bd06-906bd01f3e16","creationTime":"2021-01-08T23:43:10Z"}]}},{"name":"3838563c-0364-4951-9728-4bb1a17266f8","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/3838563c-0364-4951-9728-4bb1a17266f8","properties":{"accountName":"pitrbb-dech-sql-6","apiType":"Sql","creationTime":"2021-01-08T23:46:57Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"d75fc007-5da7-4d00-8811-6920ece49a33","creationTime":"2021-01-08T23:46:57Z"}]}},{"name":"7486c373-649e-4627-ad96-2d087ec06be1","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/7486c373-649e-4627-ad96-2d087ec06be1","properties":{"accountName":"pitrbb-dech-sql-7","apiType":"Sql","creationTime":"2021-01-08T23:53:32Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"a9a529c6-5ce1-49e9-9410-57be267c41c6","creationTime":"2021-01-08T23:53:32Z"}]}},{"name":"6fd844b3-71af-4e89-9b9d-f829945272bf","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/6fd844b3-71af-4e89-9b9d-f829945272bf","properties":{"accountName":"pitrdemo1015","apiType":"Sql","creationTime":"2020-10-15T17:28:59Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"af26f717-b6ff-4eac-864c-17e759891ae8","creationTime":"2020-10-15T17:29:00Z"}]}},{"name":"3f392004-9f83-4ae9-ac1c-fa5f6542f245","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/3f392004-9f83-4ae9-ac1c-fa5f6542f245","properties":{"accountName":"pitrdemorestored1015","apiType":"Sql","creationTime":"2020-10-15T17:37:20Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"2f4857ad-25c3-4e2f-883a-abe35c5f5e0c","creationTime":"2020-10-15T17:37:20Z"}]}},{"name":"74ebfb99-1914-4ea9-b802-736b5bda12a7","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/74ebfb99-1914-4ea9-b802-736b5bda12a7","properties":{"accountName":"pitrmongotest","apiType":"MongoDB","creationTime":"2020-10-01T17:27:22Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"73ef95f2-a338-4afc-8bb2-6fc3b0071d58","creationTime":"2020-10-01T17:27:23Z"}]}},{"name":"9905e7ca-6f2d-4b24-a4c5-8e7529036a74","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/9905e7ca-6f2d-4b24-a4c5-8e7529036a74","properties":{"accountName":"pitrmongotest-restore","apiType":"MongoDB","creationTime":"2020-10-01T21:24:45Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"75c41286-d7f2-4594-b9f2-87f6c9843cf8","creationTime":"2020-10-01T21:24:45Z"}]}},{"name":"a081024d-5e38-45c1-b1cb-9c99552d42b3","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/a081024d-5e38-45c1-b1cb-9c99552d42b3","properties":{"accountName":"pitrmongowithsnapshots","apiType":"MongoDB","creationTime":"2021-01-07T19:45:07Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"cef7a5af-c690-49cd-b661-53f9241552bf","creationTime":"2021-01-07T19:45:07Z"}]}},{"name":"b4c688c1-2ea7-477e-b994-4affe5d3ea35","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/b4c688c1-2ea7-477e-b994-4affe5d3ea35","properties":{"accountName":"ptr-target","apiType":"Sql","creationTime":"2021-01-05T22:25:24Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"1f68340e-49a4-45df-9a2a-804cd8ab1795","creationTime":"2021-01-05T22:25:24Z"}]}},{"name":"013b30aa-cf27-451a-b2b7-c8da950167c0","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/013b30aa-cf27-451a-b2b7-c8da950167c0","properties":{"accountName":"restored-cosmosdb-1212","apiType":"Sql","creationTime":"2021-01-08T08:12:56Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"84e252b7-8fe2-4976-bc64-bccc19511e44","creationTime":"2021-01-08T08:12:56Z"}]}},{"name":"eae0599c-2b32-4126-95f2-598dc4bf4ab9","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/eae0599c-2b32-4126-95f2-598dc4bf4ab9","properties":{"accountName":"restoredeleted","apiType":"Sql","creationTime":"2021-01-27T16:25:59Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"f1c5bdbf-77bb-4a9a-a4ff-39938c662029","creationTime":"2021-01-27T16:25:59Z"}]}},{"name":"0034883d-1a13-418f-9eaf-5dbbaabdd901","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/0034883d-1a13-418f-9eaf-5dbbaabdd901","properties":{"accountName":"restoredeletedacct","apiType":"Sql","creationTime":"2021-01-08T22:46:18Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"514f853c-9454-44e7-a568-63823c7d25f0","creationTime":"2021-01-08T22:46:18Z"}]}},{"name":"1e9c8685-1f15-4b3b-ab1c-0ad505f0cd24","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/1e9c8685-1f15-4b3b-ab1c-0ad505f0cd24","properties":{"accountName":"sivarv-test","apiType":"Sql","creationTime":"2021-01-05T23:13:23Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"83791770-489f-4272-9816-4d66377703c5","creationTime":"2021-01-05T23:13:23Z"}]}},{"name":"cc78ddc0-94a1-499d-8820-3b97ead9329d","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/cc78ddc0-94a1-499d-8820-3b97ead9329d","properties":{"accountName":"source-mongo36","apiType":"MongoDB","creationTime":"2021-01-05T21:12:59Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"c253e611-4c39-472e-b5fa-db7a7b5e1f0f","creationTime":"2021-01-05T21:12:59Z"},{"locationName":"North - Europe","regionalDatabaseAccountInstanceId":"1f4747a7-0698-4970-b81d-90257264f650","creationTime":"2021-01-05T22:35:50Z"},{"locationName":"Southeast - Asia","regionalDatabaseAccountInstanceId":"d5fab2ed-1caa-454c-a40a-98baba42f761","creationTime":"2021-01-05T22:49:00Z"}]}},{"name":"f37b13fb-cd2e-44da-929f-7db3ec82472f","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/f37b13fb-cd2e-44da-929f-7db3ec82472f","properties":{"accountName":"source-sql","apiType":"Sql","creationTime":"2021-01-05T21:27:08Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"c43022bd-9262-4421-a550-3566dda0191f","creationTime":"2021-01-05T21:27:09Z"},{"locationName":"Australia - Southeast","regionalDatabaseAccountInstanceId":"45e72c23-3fc3-45fa-8c05-444717f61eed","creationTime":"2021-01-05T22:14:59Z"},{"locationName":"East - US","regionalDatabaseAccountInstanceId":"bc1e9044-6d2f-4943-8a7f-1a0e345913ee","creationTime":"2021-01-05T21:38:36Z","deletionTime":"2021-01-05T22:25:59Z"}]}},{"name":"8ab61be5-bc16-408b-b33b-90a341eb00f8","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/8ab61be5-bc16-408b-b33b-90a341eb00f8","properties":{"accountName":"source-sql-cli0108-r1","apiType":"Sql","creationTime":"2021-01-08T23:00:22Z","restorableLocations":[{"locationName":"Australia - Southeast","regionalDatabaseAccountInstanceId":"18d3b111-3091-4c7b-9494-38d55cf6b591","creationTime":"2021-01-08T23:00:22Z"}]}},{"name":"97aecfb1-60ea-47eb-8ba6-b18a9d63d5ea","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/97aecfb1-60ea-47eb-8ba6-b18a9d63d5ea","properties":{"accountName":"source-sql-cli0108-r4","apiType":"Sql","creationTime":"2021-01-08T23:42:23Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"204031a3-e50f-4357-9e30-e0ed40d2edfe","creationTime":"2021-01-08T23:42:23Z"}]}},{"name":"44fd125a-9c78-43ec-a408-7bde337284d7","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/44fd125a-9c78-43ec-a408-7bde337284d7","properties":{"accountName":"source-sql-cli0108-r5","apiType":"Sql","creationTime":"2021-01-08T23:48:38Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"bcdbe26c-e95e-4d13-8ed2-65ed87835440","creationTime":"2021-01-08T23:48:38Z"}]}},{"name":"28c894c1-564c-4751-a581-0899fe982fb2","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/28c894c1-564c-4751-a581-0899fe982fb2","properties":{"accountName":"source-sql-cli0108-r6","apiType":"Sql","creationTime":"2021-01-09T00:10:01Z","restorableLocations":[{"locationName":"East - US","regionalDatabaseAccountInstanceId":"04fc930f-e6f4-4247-909b-a019fca6d3c3","creationTime":"2021-01-09T00:10:01Z"}]}},{"name":"e5d37ca0-4cad-4f68-8b01-798ab80d4e29","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/e5d37ca0-4cad-4f68-8b01-798ab80d4e29","properties":{"accountName":"source-sql-r1-all-dr1","apiType":"Sql","creationTime":"2021-01-06T00:38:07Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"b025ecf9-c5cb-4dd8-8808-ff91d5a3585d","creationTime":"2021-01-06T00:38:07Z"}]}},{"name":"c2725545-e90d-46e1-b952-3de18e28229d","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/c2725545-e90d-46e1-b952-3de18e28229d","properties":{"accountName":"source-sql-r1-procol1","apiType":"Sql","creationTime":"2021-01-05T22:57:00Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"1a218afa-4d6e-4a9e-8dcb-c50e811b921d","creationTime":"2021-01-05T22:57:00Z"}]}},{"name":"360f37cf-0874-4d58-9cf8-fd5f3fc87d07","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/360f37cf-0874-4d58-9cf8-fd5f3fc87d07","properties":{"accountName":"source-sql-restored-kal-1","apiType":"Sql","creationTime":"2021-01-25T22:47:07Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"6e9003ca-f7f7-482a-8bcc-e7ecb383cce7","creationTime":"2021-01-25T22:47:07Z"}]}},{"name":"23e99a35-cd36-4df4-9614-f767a03b9995","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/23e99a35-cd36-4df4-9614-f767a03b9995","properties":{"accountName":"subbannageeta","apiType":"Sql","creationTime":"2020-08-08T01:04:53Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"30701557-ecf8-43ce-8810-2c8be01dccf9","creationTime":"2020-08-08T01:04:53Z"},{"locationName":"East - US","regionalDatabaseAccountInstanceId":"8283b088-b67d-4975-bfbe-0705e3e7a599","creationTime":"2020-08-08T01:15:44Z"}]}},{"name":"a97044b4-5be9-4f17-acc5-05bd58f0156e","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/a97044b4-5be9-4f17-acc5-05bd58f0156e","properties":{"accountName":"target-mongo36-beforecolla","apiType":"MongoDB","creationTime":"2021-01-06T00:06:55Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"4af906ad-1a4a-4eb7-8453-f6cd8c795e91","creationTime":"2021-01-06T00:06:55Z"}]}},{"name":"1e88cc09-a8d1-4c02-b3bc-45621aa14532","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/1e88cc09-a8d1-4c02-b3bc-45621aa14532","properties":{"accountName":"targetacct","apiType":"Sql","creationTime":"2021-01-27T16:27:39Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"a6b133b0-11d9-49c6-b747-7e81b8ca91d0","creationTime":"2021-01-27T16:27:39Z"}]}},{"name":"2cfb9266-6837-4c5c-b7ae-ec8e72913cd1","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/2cfb9266-6837-4c5c-b7ae-ec8e72913cd1","properties":{"accountName":"test-bk-cont-restore1","apiType":"Sql","creationTime":"2020-10-15T23:55:03Z","restorableLocations":[{"locationName":"South - Central US","regionalDatabaseAccountInstanceId":"a1893351-8aa8-4ff0-8457-47ce4e6c2790","creationTime":"2020-10-15T23:55:03Z"}]}},{"name":"05640131-c5c8-4d30-adec-aa623e28866b","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/05640131-c5c8-4d30-adec-aa623e28866b","properties":{"accountName":"test-cli2loqd5ro7y4w-restore-del","apiType":"Sql","creationTime":"2021-01-08T01:37:39Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"d137f5e4-3154-43fd-9f16-179b6c9bb8fa","creationTime":"2021-01-08T01:37:39Z"}]}},{"name":"c51d3c61-fa49-426f-96d0-77dd6c8592f4","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/c51d3c61-fa49-426f-96d0-77dd6c8592f4","properties":{"accountName":"test-pitr-restore3","apiType":"Sql","creationTime":"2021-01-06T09:26:15Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"a9153da9-30fe-44bf-beaf-6ad266823926","creationTime":"2021-01-06T09:26:15Z"}]}},{"name":"329aedaa-1997-4c0d-b3c9-40e890c3dc08","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/329aedaa-1997-4c0d-b3c9-40e890c3dc08","properties":{"accountName":"test-restore-pitr1","apiType":"Sql","creationTime":"2021-01-06T09:20:17Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"20d74db9-927d-4e1c-9944-5386a9ce1eda","creationTime":"2021-01-06T09:20:17Z"}]}},{"name":"c914554e-5881-4048-b427-240d3c9ffda6","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/c914554e-5881-4048-b427-240d3c9ffda6","properties":{"accountName":"test-restore-pitr2","apiType":"Sql","creationTime":"2021-01-06T09:23:25Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"7f2f80b7-20ec-47ce-a2eb-f9143781908b","creationTime":"2021-01-06T09:23:25Z"}]}},{"name":"7ccb546f-804d-4fe3-902f-bdb162d2ca51","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/7ccb546f-804d-4fe3-902f-bdb162d2ca51","properties":{"accountName":"virangai-test-pitr-restore-del","apiType":"Sql","creationTime":"2020-12-10T02:06:22Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"fbbdcce1-e4cc-4fb9-8a5c-64f96438e722","creationTime":"2020-12-10T02:06:22Z"}]}},{"name":"26c6c802-2477-422f-b3a0-9da58299b82e","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/26c6c802-2477-422f-b3a0-9da58299b82e","properties":{"accountName":"virangai-test-pitr-restore-del-restore","apiType":"Sql","creationTime":"2021-01-08T00:50:35Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"9eaed152-86f9-4576-b201-2301ea9e9719","creationTime":"2021-01-08T00:50:35Z"}]}},{"name":"e89306b9-137a-4293-b692-263bb3406366","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/e89306b9-137a-4293-b692-263bb3406366","properties":{"accountName":"virangai-test-pitr-restore-del-restore1","apiType":"Sql","creationTime":"2021-01-08T01:07:16Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"2e16165a-c3f1-44c5-99a7-bef5e8a2311f","creationTime":"2021-01-08T01:07:16Z"}]}},{"name":"adc221c8-8826-4d48-8c8d-af48be84b678","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/adc221c8-8826-4d48-8c8d-af48be84b678","properties":{"accountName":"virangai-test-pitr-restore-del-restore2","apiType":"Sql","creationTime":"2021-01-08T01:12:07Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"e6c2237b-56a2-4e27-9ba5-d3da7d136504","creationTime":"2021-01-08T01:12:07Z"}]}},{"name":"b2bcdd92-0b33-4574-ba6e-56f1b3e346e4","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/b2bcdd92-0b33-4574-ba6e-56f1b3e346e4","properties":{"accountName":"virangai-test-pitr-restore-del-restore3","apiType":"Sql","creationTime":"2021-01-08T01:15:26Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"75d75dd1-21da-47d0-bc25-fa01c0e3ed3e","creationTime":"2021-01-08T01:15:26Z"}]}},{"name":"e96a653a-cc5e-49f0-a3ae-36a4d461cf07","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/e96a653a-cc5e-49f0-a3ae-36a4d461cf07","properties":{"accountName":"virangai-test-pitr-restore-del-restore4","apiType":"Sql","creationTime":"2021-01-08T01:36:22Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"e59deecb-9222-4a80-b5d4-09af4a886f55","creationTime":"2021-01-08T01:36:22Z"}]}},{"name":"bb466093-aad0-4e58-8ae5-94c4b48caa3d","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/bb466093-aad0-4e58-8ae5-94c4b48caa3d","properties":{"accountName":"virangai-test-pitr-restore-del1","apiType":"Sql","creationTime":"2021-01-08T20:19:57Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"f14d0c9e-ac38-4809-b5f3-f7c37d712012","creationTime":"2021-01-08T20:19:57Z"}]}},{"name":"86db30d3-1725-4ece-b2f5-591ea37e14f9","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/86db30d3-1725-4ece-b2f5-591ea37e14f9","properties":{"accountName":"virangai-test-pitr-restore-del2","apiType":"Sql","creationTime":"2021-01-08T20:20:20Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"36f57e91-674e-49d0-891a-f4be394b8e3a","creationTime":"2021-01-08T20:20:20Z"}]}},{"name":"baf212fa-867f-4979-a007-4db919a87868","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/baf212fa-867f-4979-a007-4db919a87868","properties":{"accountName":"virangai-test-pitr-restore-del5","apiType":"Sql","creationTime":"2021-01-08T20:23:32Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"76ee28bb-12d9-4829-a473-cb5e29ad9a55","creationTime":"2021-01-08T20:23:32Z"}]}},{"name":"0278f25e-74d3-432c-9bef-8af67bb0d2c0","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/0278f25e-74d3-432c-9bef-8af67bb0d2c0","properties":{"accountName":"clizv5pcgzbsl7a","apiType":"Sql","creationTime":"2021-01-28T22:28:06Z","deletionTime":"2021-01-28T22:29:41Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"4f5f85bb-a229-472f-89dc-33115193e985","creationTime":"2021-01-28T22:28:06Z","deletionTime":"2021-01-28T22:29:41Z"}]}},{"name":"0651d578-4267-432f-9b14-e829f7b55ca8","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/0651d578-4267-432f-9b14-e829f7b55ca8","properties":{"accountName":"cliemi42xntjcpg","apiType":"Sql","creationTime":"2021-01-28T22:55:24Z","deletionTime":"2021-01-28T22:56:59Z","restorableLocations":[]}},{"name":"08f8360d-830d-4e8b-ab58-c4bdefe180a1","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/08f8360d-830d-4e8b-ab58-c4bdefe180a1","properties":{"accountName":"clij264u6pvpgg5","apiType":"Sql","creationTime":"2021-01-28T22:55:23Z","deletionTime":"2021-01-28T22:56:58Z","restorableLocations":[]}},{"name":"1ac1ade1-7f87-4764-81d4-61e2bf271d1c","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/1ac1ade1-7f87-4764-81d4-61e2bf271d1c","properties":{"accountName":"restored-cosmosdb-1212","apiType":"Sql","creationTime":"2021-01-07T02:45:14Z","deletionTime":"2021-01-07T06:37:29Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"8cad4147-b0e8-43d0-bb4c-2562d435daf0","creationTime":"2021-01-07T02:45:14Z","deletionTime":"2021-01-07T06:37:29Z"}]}},{"name":"20e131eb-6e59-403d-afe6-5cd5687b06f3","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/20e131eb-6e59-403d-afe6-5cd5687b06f3","properties":{"accountName":"clicjskuodwwh4y","apiType":"Sql","creationTime":"2021-01-28T22:55:30Z","deletionTime":"2021-01-28T22:56:57Z","restorableLocations":[]}},{"name":"2e57506a-6aa1-4a3a-8a2b-b46d1be47d3a","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/2e57506a-6aa1-4a3a-8a2b-b46d1be47d3a","properties":{"accountName":"clilet52fhyl5fe","apiType":"MongoDB","creationTime":"2021-01-16T01:19:20Z","deletionTime":"2021-01-16T01:20:03Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"3df175b1-d106-42c3-89e6-716bdfab208f","creationTime":"2021-01-16T01:19:21Z","deletionTime":"2021-01-16T01:20:03Z"}]}},{"name":"3183f258-d6c7-42da-9260-0345d7a5775d","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/3183f258-d6c7-42da-9260-0345d7a5775d","properties":{"accountName":"mongo-continuous-1212","apiType":"MongoDB","creationTime":"2021-01-06T22:54:49Z","deletionTime":"2021-01-07T06:37:29Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"baf545cb-b632-4a1b-b9a8-8fec4a019c02","creationTime":"2021-01-06T22:54:49Z","deletionTime":"2021-01-07T06:37:29Z"}]}},{"name":"3325eb2c-3a59-4ebb-882f-27fe519f2253","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/3325eb2c-3a59-4ebb-882f-27fe519f2253","properties":{"accountName":"pitracc","apiType":"Sql","creationTime":"2020-10-15T00:44:16Z","deletionTime":"2021-01-08T05:31:20Z","restorableLocations":[{"locationName":"East - US 2","regionalDatabaseAccountInstanceId":"9b2e4539-1898-4f11-b568-5b72c913eb53","creationTime":"2020-10-15T06:41:52Z","deletionTime":"2021-01-08T05:31:20Z"},{"locationName":"West - US","regionalDatabaseAccountInstanceId":"b7cb54bc-b620-4d34-a004-11bda0dab218","creationTime":"2020-10-15T00:44:17Z","deletionTime":"2021-01-08T05:31:20Z"}]}},{"name":"651acce6-dd9b-4cb0-a236-444fa0760775","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/651acce6-dd9b-4cb0-a236-444fa0760775","properties":{"accountName":"continuous-db2121","apiType":"Sql","creationTime":"2020-08-06T21:04:16Z","deletionTime":"2021-01-07T06:37:29Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"7119a7d0-aab2-4dac-90d2-68880d3fa967","creationTime":"2020-08-06T21:04:17Z","deletionTime":"2021-01-07T06:37:29Z"}]}},{"name":"68592cbb-6b1d-45d5-92c4-5e768127801d","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/68592cbb-6b1d-45d5-92c4-5e768127801d","properties":{"accountName":"cliwgffp7vsxcnn","apiType":"MongoDB","creationTime":"2021-01-16T01:46:25Z","deletionTime":"2021-01-16T01:51:06Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"1ab48938-70a0-4233-9270-266ede1c697f","creationTime":"2021-01-16T01:46:26Z","deletionTime":"2021-01-16T01:51:06Z"}]}},{"name":"6a0b5950-99b7-4684-b296-8e1525b6a38f","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/6a0b5950-99b7-4684-b296-8e1525b6a38f","properties":{"accountName":"sivarv-restored-sdb","apiType":"Sql","creationTime":"2021-01-05T23:29:51Z","deletionTime":"2021-01-06T00:16:23Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"cb909054-6a6f-4e06-811c-363bb5acd7d3","creationTime":"2021-01-05T23:29:51Z","deletionTime":"2021-01-06T00:16:23Z"}]}},{"name":"6f7de73f-d3aa-4b35-9bab-f4359a8415a5","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/6f7de73f-d3aa-4b35-9bab-f4359a8415a5","properties":{"accountName":"vinhpitrrestored1015","apiType":"Sql","creationTime":"2020-10-15T16:08:39Z","deletionTime":"2021-01-08T05:31:30Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"2d731560-b500-49c7-ad88-acba387c072c","creationTime":"2020-10-15T16:08:39Z","deletionTime":"2021-01-08T05:31:30Z"}]}},{"name":"7781ad7c-a95f-4b8a-9a65-5b7e20292263","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/7781ad7c-a95f-4b8a-9a65-5b7e20292263","properties":{"accountName":"clirvbpeuorjlez","apiType":"Sql","creationTime":"2021-01-28T22:28:07Z","deletionTime":"2021-01-28T22:29:42Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"d04575bb-6713-48ed-9e2d-9d5d1d945dc1","creationTime":"2021-01-28T22:28:07Z","deletionTime":"2021-01-28T22:29:42Z"}]}},{"name":"780425ec-5b37-4661-ab56-bdeac3ca2763","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/780425ec-5b37-4661-ab56-bdeac3ca2763","properties":{"accountName":"continuous-db2332","apiType":"Sql","creationTime":"2020-08-06T22:43:01Z","deletionTime":"2021-01-07T06:37:29Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"4d097971-9228-459b-8687-e6016e34599e","creationTime":"2020-08-06T22:43:02Z","deletionTime":"2021-01-07T06:37:29Z"}]}},{"name":"8e9595e6-628e-4583-bbcb-e79b7594be6e","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/8e9595e6-628e-4583-bbcb-e79b7594be6e","properties":{"accountName":"source-sql-r1-all","apiType":"Sql","creationTime":"2021-01-05T23:53:13Z","deletionTime":"2021-01-06T00:12:22Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"0384eed4-096c-425d-b2c1-a081f254cf02","creationTime":"2021-01-05T23:53:13Z","deletionTime":"2021-01-06T00:12:22Z"}]}},{"name":"a18feb1f-15a9-4000-ade0-ffc81a16309c","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/a18feb1f-15a9-4000-ade0-ffc81a16309c","properties":{"accountName":"restored2-cosmosdb-1212-1","apiType":"Sql","creationTime":"2021-01-07T01:55:14Z","deletionTime":"2021-01-07T06:37:29Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"3ab440db-4ae7-4ff2-8da1-dfdad6853a08","creationTime":"2021-01-07T01:55:14Z","deletionTime":"2021-01-07T06:37:29Z"}]}},{"name":"b27cbd07-72f0-4769-9bc7-8cfbe0523d29","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/b27cbd07-72f0-4769-9bc7-8cfbe0523d29","properties":{"accountName":"continuous-db2121-r1","apiType":"Sql","creationTime":"2020-09-03T17:58:34Z","deletionTime":"2021-01-07T06:37:29Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"c800c27e-ec05-4656-9391-6e31f28e3e8b","creationTime":"2020-09-03T17:58:34Z","deletionTime":"2021-01-07T06:37:29Z"}]}},{"name":"bed4f838-b8ea-4998-a373-d71b28ae239d","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/bed4f838-b8ea-4998-a373-d71b28ae239d","properties":{"accountName":"cliwvj2gl4plqwc","apiType":"Sql","creationTime":"2021-01-28T22:28:07Z","deletionTime":"2021-01-28T22:29:42Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"84e00b11-921a-4bee-bfa7-bcabbb63759c","creationTime":"2021-01-28T22:28:07Z","deletionTime":"2021-01-28T22:29:42Z"}]}},{"name":"d412cde0-dcee-4e6c-9e8f-69770224be1a","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/d412cde0-dcee-4e6c-9e8f-69770224be1a","properties":{"accountName":"restored2-continuous-db2121-2","apiType":"Sql","creationTime":"2020-08-07T18:16:30Z","deletionTime":"2021-01-07T06:37:29Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"a52cc373-6f32-4feb-b28b-15c0bb9842c3","creationTime":"2020-08-07T18:16:30Z","deletionTime":"2021-01-07T06:37:29Z"}]}},{"name":"e27e7197-8a10-4082-808f-bdd67fc65d93","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/e27e7197-8a10-4082-808f-bdd67fc65d93","properties":{"accountName":"sivarv-pitr-test","apiType":"Sql","creationTime":"2021-01-05T21:32:38Z","deletionTime":"2021-01-05T22:26:13Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"a948a101-396b-4c50-83a3-73b01d1c52db","creationTime":"2021-01-05T21:32:38Z","deletionTime":"2021-01-05T22:26:13Z"}]}},{"name":"e333d05f-7c78-41cb-842f-a543f2eb9116","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/e333d05f-7c78-41cb-842f-a543f2eb9116","properties":{"accountName":"cosmosdb-1212","apiType":"Sql","creationTime":"2021-01-06T22:26:11Z","deletionTime":"2021-01-07T06:37:29Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"4a41012e-3313-4825-8064-da2a6f6da7fb","creationTime":"2021-01-06T22:26:11Z","deletionTime":"2021-01-07T06:37:29Z"}]}},{"name":"edf13eb4-5bcd-443c-802c-099edcb9b1c7","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/edf13eb4-5bcd-443c-802c-099edcb9b1c7","properties":{"accountName":"cli7qiaf5atxtbg","apiType":"Sql","creationTime":"2021-01-28T22:58:07Z","deletionTime":"2021-01-28T23:02:56Z","restorableLocations":[]}},{"name":"eeb45f7f-4c05-4b52-9f42-6807d8eb8703","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/eeb45f7f-4c05-4b52-9f42-6807d8eb8703","properties":{"accountName":"powershell-restore","apiType":"Sql","creationTime":"2020-08-10T19:20:14Z","deletionTime":"2021-01-07T06:37:29Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"3cd8b081-4b95-47d8-86f5-a17da18e3b88","creationTime":"2020-08-10T19:20:14Z","deletionTime":"2021-01-07T06:37:29Z"}]}},{"name":"f780ef6c-1fea-4a6a-9c33-784bf8a52edd","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/f780ef6c-1fea-4a6a-9c33-784bf8a52edd","properties":{"accountName":"restored-continuous-db2121-1","apiType":"Sql","creationTime":"2020-08-07T17:55:45Z","deletionTime":"2021-01-07T06:37:29Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"ce739365-8e46-4e12-81e5-9ba7f7ee5ff9","creationTime":"2020-08-07T17:55:45Z","deletionTime":"2021-01-07T06:37:29Z"}]}},{"name":"c0291614-213c-4629-a26a-12802ca1b761","location":"West - US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/c0291614-213c-4629-a26a-12802ca1b761","properties":{"accountName":"virangai-test-mongo-pitr","creationTime":"2020-11-24T21:46:06.459782Z","apiType":"MongoDB","restorableLocations":[{"locationName":"West - US 2","creationTime":"2020-11-24T21:46:07.1249476Z","regionalDatabaseAccountInstanceId":"12e12ed9-5da1-4a35-9ecf-09dff1515d58"}]}},{"name":"c484bb25-9a8e-4c3e-9359-df5dd84c7f16","location":"West - US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/c484bb25-9a8e-4c3e-9359-df5dd84c7f16","properties":{"accountName":"virangai-test-pitr-sql","creationTime":"2021-01-16T01:05:59.1231999Z","apiType":"Sql","restorableLocations":[{"locationName":"West - US 2","creationTime":"2021-01-16T01:05:59.7287705Z","regionalDatabaseAccountInstanceId":"2f0ca6dc-a022-438e-9451-384c8ebdf50b"}]}}]}' + string: '{"value":[{"name":"d4b1a4f0-edcb-438d-a137-5defb99c0f07","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/d4b1a4f0-edcb-438d-a137-5defb99c0f07","properties":{"accountName":"cli4rr7r3qwz6rw","apiType":"Sql","creationTime":"2021-02-23T00:47:27Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"dd635420-1570-4c29-9e84-f4c3a6c7147d","creationTime":"2021-02-23T00:47:27Z"}]}},{"name":"ab5d3d1d-0331-4b85-badb-7d7348021b5d","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/ab5d3d1d-0331-4b85-badb-7d7348021b5d","properties":{"accountName":"pkdelpitr","apiType":"Sql","creationTime":"2021-03-22T05:13:59Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"8e4e5a09-8b0b-4c79-b763-0765b4bb9a12","creationTime":"2021-03-22T05:14:00Z"}]}},{"name":"e4936df7-a1e5-4ea9-b31f-39b4d93357a3","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/e4936df7-a1e5-4ea9-b31f-39b4d93357a3","properties":{"accountName":"pkdeletepitrrestore","apiType":"Sql","creationTime":"2021-03-23T12:56:22Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"3437d90b-576a-40d7-aebb-d44b5e8aa4fe","creationTime":"2021-03-23T12:56:22Z"}]}},{"name":"15e70a1e-dfe7-4612-998d-9271dfd2eed7","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/15e70a1e-dfe7-4612-998d-9271dfd2eed7","properties":{"accountName":"pkdeletepitrerestored2","apiType":"Sql","creationTime":"2021-03-23T13:51:57Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"9fb5487c-ba7f-40bd-87df-6e9fbac3ce38","creationTime":"2021-03-23T13:51:57Z"}]}},{"name":"f4b62789-73d5-42d5-acd2-9a3aabfdd708","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/f4b62789-73d5-42d5-acd2-9a3aabfdd708","properties":{"accountName":"pkdelpitrrestored3","apiType":"Sql","creationTime":"2021-03-23T14:55:37Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"ab47956d-ee05-4a49-908c-923b652cc93e","creationTime":"2021-03-23T14:55:37Z"}]}},{"name":"7e9c9bb6-b915-4c5c-a79e-463e20e090b4","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/7e9c9bb6-b915-4c5c-a79e-463e20e090b4","properties":{"accountName":"pkdeleteusermetricstest","apiType":"Sql","creationTime":"2021-03-26T09:44:42Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"9f33930b-b8c6-4dc6-9db6-b817b5b2fee2","creationTime":"2021-03-26T09:44:42Z"}]}},{"name":"77584dc5-71c1-4639-b157-b10d6cf1b613","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/77584dc5-71c1-4639-b157-b10d6cf1b613","properties":{"accountName":"cligrju6mpsuift","apiType":"Sql","creationTime":"2021-05-24T19:03:29Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"1e398a5e-034c-4a6d-a1b6-7d8b433e43fb","creationTime":"2021-05-24T19:03:30Z"}]}},{"name":"ab5ad0f1-b1df-4a3e-aadb-095c7cf6d8b9","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/ab5ad0f1-b1df-4a3e-aadb-095c7cf6d8b9","properties":{"accountName":"cli000003","apiType":"Sql","creationTime":"2021-05-24T19:03:22Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"84ecf0cf-5717-4766-bf46-2dabc58c06de","creationTime":"2021-05-24T19:03:23Z"}]}},{"name":"4887b893-fa01-44c5-88c9-63b8743ccb24","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/4887b893-fa01-44c5-88c9-63b8743ccb24","properties":{"accountName":"clip6nwplzlrhms","apiType":"Sql","creationTime":"2021-05-24T19:03:28Z","deletionTime":"2021-05-24T19:08:06Z","restorableLocations":[]}},{"name":"e1471531-db85-410c-b75b-55fc5b41767e","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/e1471531-db85-410c-b75b-55fc5b41767e","properties":{"accountName":"cli53y73kqpqh2x","apiType":"MongoDB","creationTime":"2021-05-24T19:04:04Z","deletionTime":"2021-05-24T19:08:31Z","restorableLocations":[]}}]}' headers: cache-control: - no-cache content-length: - - '57800' + - '5549' content-type: - application/json; charset=utf-8 date: - - Thu, 28 Jan 2021 23:04:14 GMT + - Mon, 24 May 2021 19:09:13 GMT expires: - '-1' pragma: @@ -1010,6 +869,34 @@ interactions: - '' - '' - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' status: code: 200 message: OK @@ -1017,8 +904,8 @@ interactions: body: '{"location": "West US", "kind": "GlobalDocumentDB", "properties": {"locations": [{"locationName": "westus", "failoverPriority": 0}], "databaseAccountOfferType": "Standard", "apiProperties": {}, "createMode": "Restore", "restoreParameters": - {"restoreMode": "PointInTime", "restoreSource": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/dad19ede-1592-4d87-95ff-4e20c8a09de5", - "restoreTimestampInUtc": "2021-01-28T23:02:06.000Z"}}}' + {"restoreMode": "PointInTime", "restoreSource": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/ab5ad0f1-b1df-4a3e-aadb-095c7cf6d8b9", + "restoreTimestampInUtc": "2021-05-24T19:07:22.000Z"}}}' headers: Accept: - application/json @@ -1035,33 +922,33 @@ interactions: ParameterSetName: - -n -g -a --restore-timestamp --location User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-03-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-01-28T23:04:21.7475946Z"},"properties":{"provisioningState":"Creating","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"instanceId":"d4e35274-db6f-4c2c-8d3b-19de793aef37","createMode":"Restore","databaseAccountOfferType":"Standard","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:09:16.2461204Z"},"properties":{"provisioningState":"Creating","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"584701c6-9e02-43a8-a317-9905c516481a","createMode":"Restore","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000003-westus.documents.azure.com:443/","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000003-westus.documents.azure.com:443/","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000003-westus.documents.azure.com:443/","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-westus","locationName":"West - US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"},"restoreParameters":{"restoreMode":"PointInTime","restoreSource":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/dad19ede-1592-4d87-95ff-4e20c8a09de5","restoreTimestampInUtc":"2021-01-28T23:02:06Z","databasesToRestore":[]}},"identity":{"type":"None"}}' + US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"},"restoreParameters":{"restoreMode":"PointInTime","restoreSource":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/ab5ad0f1-b1df-4a3e-aadb-095c7cf6d8b9","restoreTimestampInUtc":"2021-05-24T19:07:22Z","databasesToRestore":[]},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/753b3374-df17-4dfb-8b59-13c063a84535?api-version=2020-06-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/623ca6d7-897e-45c4-8f4d-abdec84a3c25?api-version=2021-03-01-preview cache-control: - no-store, no-cache content-length: - - '2205' + - '2335' content-type: - application/json date: - - Thu, 28 Jan 2021 23:04:22 GMT + - Mon, 24 May 2021 19:09:18 GMT location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/operationResults/753b3374-df17-4dfb-8b59-13c063a84535?api-version=2020-06-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/operationResults/623ca6d7-897e-45c4-8f4d-abdec84a3c25?api-version=2021-03-01-preview pragma: - no-cache server: @@ -1077,7 +964,101 @@ interactions: x-ms-gatewayversion: - version=2.11.0 x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/623ca6d7-897e-45c4-8f4d-abdec84a3c25?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:09:48 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb restore + Connection: + - keep-alive + ParameterSetName: + - -n -g -a --restore-timestamp --location + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/623ca6d7-897e-45c4-8f4d-abdec84a3c25?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:10:19 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 status: code: 200 message: Ok @@ -1095,10 +1076,10 @@ interactions: ParameterSetName: - -n -g -a --restore-timestamp --location User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/753b3374-df17-4dfb-8b59-13c063a84535?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/623ca6d7-897e-45c4-8f4d-abdec84a3c25?api-version=2021-03-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1110,7 +1091,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:04:53 GMT + - Mon, 24 May 2021 19:10:49 GMT pragma: - no-cache server: @@ -1142,10 +1123,10 @@ interactions: ParameterSetName: - -n -g -a --restore-timestamp --location User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/753b3374-df17-4dfb-8b59-13c063a84535?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/623ca6d7-897e-45c4-8f4d-abdec84a3c25?api-version=2021-03-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1157,7 +1138,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:05:23 GMT + - Mon, 24 May 2021 19:11:19 GMT pragma: - no-cache server: @@ -1189,10 +1170,10 @@ interactions: ParameterSetName: - -n -g -a --restore-timestamp --location User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/753b3374-df17-4dfb-8b59-13c063a84535?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/623ca6d7-897e-45c4-8f4d-abdec84a3c25?api-version=2021-03-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1204,7 +1185,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:05:54 GMT + - Mon, 24 May 2021 19:11:49 GMT pragma: - no-cache server: @@ -1236,10 +1217,10 @@ interactions: ParameterSetName: - -n -g -a --restore-timestamp --location User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/753b3374-df17-4dfb-8b59-13c063a84535?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/623ca6d7-897e-45c4-8f4d-abdec84a3c25?api-version=2021-03-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1251,7 +1232,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:06:24 GMT + - Mon, 24 May 2021 19:12:19 GMT pragma: - no-cache server: @@ -1283,10 +1264,10 @@ interactions: ParameterSetName: - -n -g -a --restore-timestamp --location User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/753b3374-df17-4dfb-8b59-13c063a84535?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/623ca6d7-897e-45c4-8f4d-abdec84a3c25?api-version=2021-03-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1298,7 +1279,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:06:54 GMT + - Mon, 24 May 2021 19:12:49 GMT pragma: - no-cache server: @@ -1330,10 +1311,10 @@ interactions: ParameterSetName: - -n -g -a --restore-timestamp --location User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/753b3374-df17-4dfb-8b59-13c063a84535?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/623ca6d7-897e-45c4-8f4d-abdec84a3c25?api-version=2021-03-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1345,7 +1326,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:07:25 GMT + - Mon, 24 May 2021 19:13:19 GMT pragma: - no-cache server: @@ -1377,10 +1358,10 @@ interactions: ParameterSetName: - -n -g -a --restore-timestamp --location User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/753b3374-df17-4dfb-8b59-13c063a84535?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/623ca6d7-897e-45c4-8f4d-abdec84a3c25?api-version=2021-03-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1392,7 +1373,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:07:55 GMT + - Mon, 24 May 2021 19:13:50 GMT pragma: - no-cache server: @@ -1424,10 +1405,10 @@ interactions: ParameterSetName: - -n -g -a --restore-timestamp --location User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/753b3374-df17-4dfb-8b59-13c063a84535?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/623ca6d7-897e-45c4-8f4d-abdec84a3c25?api-version=2021-03-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1439,7 +1420,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:08:25 GMT + - Mon, 24 May 2021 19:14:19 GMT pragma: - no-cache server: @@ -1471,10 +1452,10 @@ interactions: ParameterSetName: - -n -g -a --restore-timestamp --location User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/753b3374-df17-4dfb-8b59-13c063a84535?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/623ca6d7-897e-45c4-8f4d-abdec84a3c25?api-version=2021-03-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1486,7 +1467,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:08:55 GMT + - Mon, 24 May 2021 19:14:49 GMT pragma: - no-cache server: @@ -1518,10 +1499,10 @@ interactions: ParameterSetName: - -n -g -a --restore-timestamp --location User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/753b3374-df17-4dfb-8b59-13c063a84535?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/623ca6d7-897e-45c4-8f4d-abdec84a3c25?api-version=2021-03-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1533,7 +1514,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:09:26 GMT + - Mon, 24 May 2021 19:15:19 GMT pragma: - no-cache server: @@ -1565,10 +1546,10 @@ interactions: ParameterSetName: - -n -g -a --restore-timestamp --location User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/753b3374-df17-4dfb-8b59-13c063a84535?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/623ca6d7-897e-45c4-8f4d-abdec84a3c25?api-version=2021-03-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1580,7 +1561,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:09:56 GMT + - Mon, 24 May 2021 19:15:50 GMT pragma: - no-cache server: @@ -1612,10 +1593,10 @@ interactions: ParameterSetName: - -n -g -a --restore-timestamp --location User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/753b3374-df17-4dfb-8b59-13c063a84535?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/623ca6d7-897e-45c4-8f4d-abdec84a3c25?api-version=2021-03-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1627,7 +1608,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:10:26 GMT + - Mon, 24 May 2021 19:16:20 GMT pragma: - no-cache server: @@ -1659,10 +1640,10 @@ interactions: ParameterSetName: - -n -g -a --restore-timestamp --location User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/753b3374-df17-4dfb-8b59-13c063a84535?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/623ca6d7-897e-45c4-8f4d-abdec84a3c25?api-version=2021-03-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1674,7 +1655,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:10:56 GMT + - Mon, 24 May 2021 19:16:50 GMT pragma: - no-cache server: @@ -1706,10 +1687,10 @@ interactions: ParameterSetName: - -n -g -a --restore-timestamp --location User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/753b3374-df17-4dfb-8b59-13c063a84535?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/623ca6d7-897e-45c4-8f4d-abdec84a3c25?api-version=2021-03-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1721,7 +1702,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:11:27 GMT + - Mon, 24 May 2021 19:17:20 GMT pragma: - no-cache server: @@ -1753,10 +1734,10 @@ interactions: ParameterSetName: - -n -g -a --restore-timestamp --location User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/753b3374-df17-4dfb-8b59-13c063a84535?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/623ca6d7-897e-45c4-8f4d-abdec84a3c25?api-version=2021-03-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1768,7 +1749,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:11:57 GMT + - Mon, 24 May 2021 19:17:50 GMT pragma: - no-cache server: @@ -1800,10 +1781,10 @@ interactions: ParameterSetName: - -n -g -a --restore-timestamp --location User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/753b3374-df17-4dfb-8b59-13c063a84535?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/623ca6d7-897e-45c4-8f4d-abdec84a3c25?api-version=2021-03-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1815,7 +1796,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:12:27 GMT + - Mon, 24 May 2021 19:18:20 GMT pragma: - no-cache server: @@ -1847,10 +1828,10 @@ interactions: ParameterSetName: - -n -g -a --restore-timestamp --location User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/753b3374-df17-4dfb-8b59-13c063a84535?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/623ca6d7-897e-45c4-8f4d-abdec84a3c25?api-version=2021-03-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1862,7 +1843,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:12:58 GMT + - Mon, 24 May 2021 19:18:50 GMT pragma: - no-cache server: @@ -1894,10 +1875,10 @@ interactions: ParameterSetName: - -n -g -a --restore-timestamp --location User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/753b3374-df17-4dfb-8b59-13c063a84535?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/623ca6d7-897e-45c4-8f4d-abdec84a3c25?api-version=2021-03-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1909,7 +1890,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:13:28 GMT + - Mon, 24 May 2021 19:19:21 GMT pragma: - no-cache server: @@ -1941,10 +1922,10 @@ interactions: ParameterSetName: - -n -g -a --restore-timestamp --location User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/753b3374-df17-4dfb-8b59-13c063a84535?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/623ca6d7-897e-45c4-8f4d-abdec84a3c25?api-version=2021-03-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1956,7 +1937,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:13:58 GMT + - Mon, 24 May 2021 19:19:50 GMT pragma: - no-cache server: @@ -1988,10 +1969,10 @@ interactions: ParameterSetName: - -n -g -a --restore-timestamp --location User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/753b3374-df17-4dfb-8b59-13c063a84535?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/623ca6d7-897e-45c4-8f4d-abdec84a3c25?api-version=2021-03-01-preview response: body: string: '{"status":"Succeeded"}' @@ -2003,7 +1984,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:14:29 GMT + - Mon, 24 May 2021 19:20:20 GMT pragma: - no-cache server: @@ -2035,27 +2016,27 @@ interactions: ParameterSetName: - -n -g -a --restore-timestamp --location User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-03-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-01-28T23:14:23.8553697Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"instanceId":"d4e35274-db6f-4c2c-8d3b-19de793aef37","createMode":"Restore","databaseAccountOfferType":"Standard","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:19:55.9871889Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"584701c6-9e02-43a8-a317-9905c516481a","createMode":"Restore","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-westus","locationName":"West - US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"},"restoreParameters":{"restoreMode":"PointInTime","restoreSource":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/dad19ede-1592-4d87-95ff-4e20c8a09de5","restoreTimestampInUtc":"2021-01-28T23:02:06Z","databasesToRestore":[]}},"identity":{"type":"None"}}' + US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"},"restoreParameters":{"restoreMode":"PointInTime","restoreSource":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/ab5ad0f1-b1df-4a3e-aadb-095c7cf6d8b9","restoreTimestampInUtc":"2021-05-24T19:07:22Z","databasesToRestore":[]},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' headers: cache-control: - no-store, no-cache content-length: - - '2279' + - '2409' content-type: - application/json date: - - Thu, 28 Jan 2021 23:14:29 GMT + - Mon, 24 May 2021 19:20:20 GMT pragma: - no-cache server: @@ -2087,29 +2068,29 @@ interactions: ParameterSetName: - -n -g -a --restore-timestamp --location User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-03-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-01-28T23:14:23.8553697Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"instanceId":"d4e35274-db6f-4c2c-8d3b-19de793aef37","createMode":"Restore","databaseAccountOfferType":"Standard","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:19:55.9871889Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"584701c6-9e02-43a8-a317-9905c516481a","createMode":"Restore","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-westus","locationName":"West - US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"},"restoreParameters":{"restoreMode":"PointInTime","restoreSource":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/dad19ede-1592-4d87-95ff-4e20c8a09de5","restoreTimestampInUtc":"2021-01-28T23:02:06Z","databasesToRestore":[]}},"identity":{"type":"None"}}' + US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"},"restoreParameters":{"restoreMode":"PointInTime","restoreSource":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/ab5ad0f1-b1df-4a3e-aadb-095c7cf6d8b9","restoreTimestampInUtc":"2021-05-24T19:07:22Z","databasesToRestore":[]},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' headers: cache-control: - no-store, no-cache content-length: - - '2279' + - '2409' content-type: - application/json date: - - Thu, 28 Jan 2021 23:14:30 GMT + - Mon, 24 May 2021 19:20:20 GMT pragma: - no-cache server: @@ -2141,29 +2122,29 @@ interactions: ParameterSetName: - -n -g User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-03-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_command000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-01-28T23:14:23.8553697Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"instanceId":"d4e35274-db6f-4c2c-8d3b-19de793aef37","createMode":"Restore","databaseAccountOfferType":"Standard","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:19:55.9871889Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"584701c6-9e02-43a8-a317-9905c516481a","createMode":"Restore","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-westus","locationName":"West - US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"},"restoreParameters":{"restoreMode":"PointInTime","restoreSource":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/dad19ede-1592-4d87-95ff-4e20c8a09de5","restoreTimestampInUtc":"2021-01-28T23:02:06Z","databasesToRestore":[]}},"identity":{"type":"None"}}' + US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"},"restoreParameters":{"restoreMode":"PointInTime","restoreSource":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/ab5ad0f1-b1df-4a3e-aadb-095c7cf6d8b9","restoreTimestampInUtc":"2021-05-24T19:07:22Z","databasesToRestore":[]},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' headers: cache-control: - no-store, no-cache content-length: - - '2279' + - '2409' content-type: - application/json date: - - Thu, 28 Jan 2021 23:14:30 GMT + - Mon, 24 May 2021 19:20:21 GMT pragma: - no-cache server: diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_restore_using_create.yaml b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_restore_using_create.yaml index ce28b37ae7a..9701df6cd05 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_restore_using_create.yaml +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_restore_using_create.yaml @@ -13,15 +13,15 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-resource/12.1.0 Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_cosmosdb_restore_using_create000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001","name":"cli_test_cosmosdb_restore_using_create000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-01-28T22:57:14Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001","name":"cli_test_cosmosdb_restore_using_create000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-05-24T19:01:57Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -30,7 +30,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 28 Jan 2021 22:57:15 GMT + - Mon, 24 May 2021 19:01:59 GMT expires: - '-1' pragma: @@ -65,33 +65,33 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2021-03-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003","name":"cli000003","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-01-28T22:57:19.3879028Z"},"properties":{"provisioningState":"Creating","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"instanceId":"7346d3b4-8657-441b-8661-c1eb1071b700","createMode":"Default","databaseAccountOfferType":"Standard","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:02:02.9080388Z"},"properties":{"provisioningState":"Creating","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"77584dc5-71c1-4639-b157-b10d6cf1b613","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-westus","locationName":"West US","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000003-westus","locationName":"West US","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000003-westus","locationName":"West US","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000003-westus","locationName":"West - US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"}},"identity":{"type":"None"}}' + US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/e3f849c8-2426-4559-a885-678230b87cb9?api-version=2020-06-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/c5e3147b-6d98-4bf7-bd3d-250c93cf3ca5?api-version=2021-03-01-preview cache-control: - no-store, no-cache content-length: - - '1671' + - '1821' content-type: - application/json date: - - Thu, 28 Jan 2021 22:57:20 GMT + - Mon, 24 May 2021 19:02:05 GMT location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/operationResults/e3f849c8-2426-4559-a885-678230b87cb9?api-version=2020-06-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/operationResults/c5e3147b-6d98-4bf7-bd3d-250c93cf3ca5?api-version=2021-03-01-preview pragma: - no-cache server: @@ -107,7 +107,54 @@ interactions: x-ms-gatewayversion: - version=2.11.0 x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1199' + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/c5e3147b-6d98-4bf7-bd3d-250c93cf3ca5?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:02:35 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 status: code: 200 message: Ok @@ -125,10 +172,10 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/e3f849c8-2426-4559-a885-678230b87cb9?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/c5e3147b-6d98-4bf7-bd3d-250c93cf3ca5?api-version=2021-03-01-preview response: body: string: '{"status":"Dequeued"}' @@ -140,7 +187,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 22:57:50 GMT + - Mon, 24 May 2021 19:03:05 GMT pragma: - no-cache server: @@ -172,10 +219,10 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/e3f849c8-2426-4559-a885-678230b87cb9?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/c5e3147b-6d98-4bf7-bd3d-250c93cf3ca5?api-version=2021-03-01-preview response: body: string: '{"status":"Dequeued"}' @@ -187,7 +234,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 22:58:20 GMT + - Mon, 24 May 2021 19:03:35 GMT pragma: - no-cache server: @@ -219,10 +266,10 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/e3f849c8-2426-4559-a885-678230b87cb9?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/c5e3147b-6d98-4bf7-bd3d-250c93cf3ca5?api-version=2021-03-01-preview response: body: string: '{"status":"Succeeded"}' @@ -234,7 +281,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 22:58:50 GMT + - Mon, 24 May 2021 19:04:06 GMT pragma: - no-cache server: @@ -266,27 +313,27 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2021-03-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003","name":"cli000003","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-01-28T22:58:06.9755118Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000003.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"instanceId":"7346d3b4-8657-441b-8661-c1eb1071b700","createMode":"Default","databaseAccountOfferType":"Standard","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:03:28.9412662Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000003.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"77584dc5-71c1-4639-b157-b10d6cf1b613","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-westus","locationName":"West US","documentEndpoint":"https://cli000003-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000003-westus","locationName":"West US","documentEndpoint":"https://cli000003-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000003-westus","locationName":"West US","documentEndpoint":"https://cli000003-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000003-westus","locationName":"West - US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"}},"identity":{"type":"None"}}' + US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' headers: cache-control: - no-store, no-cache content-length: - - '1976' + - '2126' content-type: - application/json date: - - Thu, 28 Jan 2021 22:58:50 GMT + - Mon, 24 May 2021 19:04:06 GMT pragma: - no-cache server: @@ -318,29 +365,29 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2021-03-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003","name":"cli000003","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-01-28T22:58:06.9755118Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000003.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"instanceId":"7346d3b4-8657-441b-8661-c1eb1071b700","createMode":"Default","databaseAccountOfferType":"Standard","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:03:28.9412662Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000003.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"77584dc5-71c1-4639-b157-b10d6cf1b613","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-westus","locationName":"West US","documentEndpoint":"https://cli000003-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000003-westus","locationName":"West US","documentEndpoint":"https://cli000003-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000003-westus","locationName":"West US","documentEndpoint":"https://cli000003-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000003-westus","locationName":"West - US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"}},"identity":{"type":"None"}}' + US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' headers: cache-control: - no-store, no-cache content-length: - - '1976' + - '2126' content-type: - application/json date: - - Thu, 28 Jan 2021 22:58:51 GMT + - Mon, 24 May 2021 19:04:06 GMT pragma: - no-cache server: @@ -372,29 +419,29 @@ interactions: ParameterSetName: - -n -g User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003?api-version=2021-03-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003","name":"cli000003","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-01-28T22:58:06.9755118Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000003.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"instanceId":"7346d3b4-8657-441b-8661-c1eb1071b700","createMode":"Default","databaseAccountOfferType":"Standard","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:03:28.9412662Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000003.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"77584dc5-71c1-4639-b157-b10d6cf1b613","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000003-westus","locationName":"West US","documentEndpoint":"https://cli000003-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000003-westus","locationName":"West US","documentEndpoint":"https://cli000003-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000003-westus","locationName":"West US","documentEndpoint":"https://cli000003-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000003-westus","locationName":"West - US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"}},"identity":{"type":"None"}}' + US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' headers: cache-control: - no-store, no-cache content-length: - - '1976' + - '2126' content-type: - application/json date: - - Thu, 28 Jan 2021 22:58:52 GMT + - Mon, 24 May 2021 19:04:06 GMT pragma: - no-cache server: @@ -426,22 +473,19 @@ interactions: Content-Length: - '70' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - -g -a -n User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/1.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-mgmt-cosmosdb/6.2.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005?api-version=2020-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005?api-version=2021-03-15 response: body: string: '{"status":"Enqueued"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/3d8699c0-9070-4c6b-864d-000c25edda4a?api-version=2020-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/849c67f5-b5fe-4120-86f2-6eeb375ef94b?api-version=2021-03-15 cache-control: - no-store, no-cache content-length: @@ -449,9 +493,9 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 22:58:53 GMT + - Mon, 24 May 2021 19:04:07 GMT location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005/operationResults/3d8699c0-9070-4c6b-864d-000c25edda4a?api-version=2020-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005/operationResults/849c67f5-b5fe-4120-86f2-6eeb375ef94b?api-version=2021-03-15 pragma: - no-cache server: @@ -471,7 +515,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -481,10 +525,9 @@ interactions: ParameterSetName: - -g -a -n User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/1.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 + - AZURECLI/2.23.0 azsdk-python-mgmt-cosmosdb/6.2.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/3d8699c0-9070-4c6b-864d-000c25edda4a?api-version=2020-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/849c67f5-b5fe-4120-86f2-6eeb375ef94b?api-version=2021-03-15 response: body: string: '{"status":"Succeeded"}' @@ -496,7 +539,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 22:59:23 GMT + - Mon, 24 May 2021 19:04:37 GMT pragma: - no-cache server: @@ -518,7 +561,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -528,13 +571,12 @@ interactions: ParameterSetName: - -g -a -n User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/1.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 + - AZURECLI/2.23.0 azsdk-python-mgmt-cosmosdb/6.2.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005?api-version=2020-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005?api-version=2021-03-15 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005","type":"Microsoft.DocumentDB/databaseAccounts/sqlDatabases","name":"cli000005","properties":{"resource":{"id":"cli000005","_rid":"DCdYAA==","_self":"dbs/DCdYAA==/","_etag":"\"00008001-0000-0700-0000-601341b10000\"","_colls":"colls/","_users":"users/","_ts":1611874737}}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005","type":"Microsoft.DocumentDB/databaseAccounts/sqlDatabases","name":"cli000005","properties":{"resource":{"id":"cli000005","_rid":"MIIEAA==","_self":"dbs/MIIEAA==/","_etag":"\"00002700-0000-0700-0000-60abf8ae0000\"","_colls":"colls/","_users":"users/","_ts":1621883054}}}' headers: cache-control: - no-store, no-cache @@ -543,7 +585,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 22:59:24 GMT + - Mon, 24 May 2021 19:04:37 GMT pragma: - no-cache server: @@ -578,22 +620,19 @@ interactions: Content-Length: - '271' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - -g -a -d -n -p User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/1.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-mgmt-cosmosdb/6.2.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005/containers/cli000002?api-version=2020-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005/containers/cli000002?api-version=2021-03-15 response: body: string: '{"status":"Enqueued"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/b553302b-0ace-43f0-acf6-c5a518f61da8?api-version=2020-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/e0a69cb8-cd7e-490d-a45a-f5cdebdea155?api-version=2021-03-15 cache-control: - no-store, no-cache content-length: @@ -601,9 +640,9 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 22:59:25 GMT + - Mon, 24 May 2021 19:04:39 GMT location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005/containers/cli000002/operationResults/b553302b-0ace-43f0-acf6-c5a518f61da8?api-version=2020-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005/containers/cli000002/operationResults/e0a69cb8-cd7e-490d-a45a-f5cdebdea155?api-version=2021-03-15 pragma: - no-cache server: @@ -615,7 +654,7 @@ interactions: x-ms-gatewayversion: - version=2.11.0 x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1199' status: code: 202 message: Accepted @@ -623,7 +662,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -633,10 +672,9 @@ interactions: ParameterSetName: - -g -a -d -n -p User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/1.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 + - AZURECLI/2.23.0 azsdk-python-mgmt-cosmosdb/6.2.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/b553302b-0ace-43f0-acf6-c5a518f61da8?api-version=2020-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/e0a69cb8-cd7e-490d-a45a-f5cdebdea155?api-version=2021-03-15 response: body: string: '{"status":"Succeeded"}' @@ -648,7 +686,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 22:59:55 GMT + - Mon, 24 May 2021 19:05:09 GMT pragma: - no-cache server: @@ -670,7 +708,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -680,13 +718,12 @@ interactions: ParameterSetName: - -g -a -d -n -p User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/1.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 + - AZURECLI/2.23.0 azsdk-python-mgmt-cosmosdb/6.2.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005/containers/cli000002?api-version=2020-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005/containers/cli000002?api-version=2021-03-15 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005/containers/cli000002","type":"Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers","name":"cli000002","properties":{"resource":{"id":"cli000002","indexingPolicy":{"indexingMode":"consistent","automatic":true,"includedPaths":[{"path":"/*"}],"excludedPaths":[{"path":"/\"_etag\"/?"}]},"partitionKey":{"paths":["/pk"],"kind":"Hash"},"uniqueKeyPolicy":{"uniqueKeys":[]},"conflictResolutionPolicy":{"mode":"LastWriterWins","conflictResolutionPath":"/_ts","conflictResolutionProcedure":""},"backupPolicy":{"type":1},"allowMaterializedViews":false,"geospatialConfig":{"type":"Geography"},"_rid":"DCdYALZS+Ko=","_ts":1611874770,"_self":"dbs/DCdYAA==/colls/DCdYALZS+Ko=/","_etag":"\"00008301-0000-0700-0000-601341d20000\"","_docs":"docs/","_sprocs":"sprocs/","_triggers":"triggers/","_udfs":"udfs/","_conflicts":"conflicts/","statistics":[{"id":"0","sizeInKB":0,"documentCount":0,"partitionKeys":[]}]}}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000003/sqlDatabases/cli000005/containers/cli000002","type":"Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers","name":"cli000002","properties":{"resource":{"id":"cli000002","indexingPolicy":{"indexingMode":"consistent","automatic":true,"includedPaths":[{"path":"/*"}],"excludedPaths":[{"path":"/\"_etag\"/?"}]},"partitionKey":{"paths":["/pk"],"kind":"Hash"},"uniqueKeyPolicy":{"uniqueKeys":[]},"conflictResolutionPolicy":{"mode":"LastWriterWins","conflictResolutionPath":"/_ts","conflictResolutionProcedure":""},"backupPolicy":{"type":1},"allowMaterializedViews":false,"geospatialConfig":{"type":"Geography"},"_rid":"MIIEAIojPpE=","_ts":1621883086,"_self":"dbs/MIIEAA==/colls/MIIEAIojPpE=/","_etag":"\"00002a00-0000-0700-0000-60abf8ce0000\"","_docs":"docs/","_sprocs":"sprocs/","_triggers":"triggers/","_udfs":"udfs/","_conflicts":"conflicts/","statistics":[{"id":"0","sizeInKB":0,"documentCount":0,"partitionKeys":[]}]}}}' headers: cache-control: - no-store, no-cache @@ -695,7 +732,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 22:59:56 GMT + - Mon, 24 May 2021 19:05:09 GMT pragma: - no-cache server: @@ -725,221 +762,44 @@ interactions: Connection: - keep-alive User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/restorableDatabaseAccounts?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/restorableDatabaseAccounts?api-version=2021-03-01-preview response: body: - string: '{"value":[{"name":"70f3ea16-d3bc-46f6-98e8-576fc201eabf","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/70f3ea16-d3bc-46f6-98e8-576fc201eabf","properties":{"accountName":"balaksrestorebug","apiType":"Sql","creationTime":"2021-01-09T01:08:25Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"94244165-49de-46f8-bb1a-2e0956694168","creationTime":"2021-01-09T01:08:27Z"}]}},{"name":"5f95bef8-07b9-400b-aac2-4e09efbc47c2","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/5f95bef8-07b9-400b-aac2-4e09efbc47c2","properties":{"accountName":"cli56zv275qols2","apiType":"MongoDB","creationTime":"2021-01-28T22:28:28Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"0eed5071-4e89-480f-ac03-d245d57bd6a0","creationTime":"2021-01-28T22:28:29Z"}]}},{"name":"edf13eb4-5bcd-443c-802c-099edcb9b1c7","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/edf13eb4-5bcd-443c-802c-099edcb9b1c7","properties":{"accountName":"cli7qiaf5atxtbg","apiType":"Sql","creationTime":"2021-01-28T22:58:07Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"fc9b8e20-570c-44ba-927b-22e9e1c3124f","creationTime":"2021-01-28T22:58:08Z"}]}},{"name":"f46ed918-cadc-48cd-9381-386376eceec1","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/f46ed918-cadc-48cd-9381-386376eceec1","properties":{"accountName":"clib5bw3s76u6yq","apiType":"MongoDB","creationTime":"2021-01-28T22:59:22Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"63a7ae8b-329a-492a-8fbf-99ab5a901730","creationTime":"2021-01-28T22:59:23Z"}]}},{"name":"1cea11b1-c170-4ffe-993d-63da1bff9a94","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/1cea11b1-c170-4ffe-993d-63da1bff9a94","properties":{"accountName":"clid4bvkfsumrnr-restore","apiType":"MongoDB","creationTime":"2021-01-08T20:25:49Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"d36f7f5b-7d0f-4e35-8a05-a253eaaad55b","creationTime":"2021-01-08T20:25:49Z"}]}},{"name":"dad19ede-1592-4d87-95ff-4e20c8a09de5","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/dad19ede-1592-4d87-95ff-4e20c8a09de5","properties":{"accountName":"clihzexbhh7tkjz","apiType":"Sql","creationTime":"2021-01-28T22:58:06Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"a2c2b55a-9cda-4aad-b75a-bfd34647818f","creationTime":"2021-01-28T22:58:06Z"}]}},{"name":"16e57fca-6555-4c92-bb57-1afa38d69371","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/16e57fca-6555-4c92-bb57-1afa38d69371","properties":{"accountName":"clikbicro7ly5p2","apiType":"MongoDB","creationTime":"2021-01-16T01:25:45Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"9688f6b2-7410-4ae1-bd8b-1de6a0edcdca","creationTime":"2021-01-16T01:25:46Z"}]}},{"name":"28bc2837-a17f-4038-8569-7ffb33794333","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/28bc2837-a17f-4038-8569-7ffb33794333","properties":{"accountName":"cliweraslfbdxmi","apiType":"MongoDB","creationTime":"2021-01-28T22:55:58Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"8614d5c7-d9bf-4e5b-9d0c-62731c7d45c4","creationTime":"2021-01-28T22:55:59Z"}]}},{"name":"7346d3b4-8657-441b-8661-c1eb1071b700","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/7346d3b4-8657-441b-8661-c1eb1071b700","properties":{"accountName":"cli000003","apiType":"Sql","creationTime":"2021-01-28T22:58:07Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"767353e5-3784-43ee-ba9c-76e7e83db6e7","creationTime":"2021-01-28T22:58:08Z"}]}},{"name":"31869788-6f92-47f9-8f8b-6619582d2381","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/31869788-6f92-47f9-8f8b-6619582d2381","properties":{"accountName":"cosmosdb-1212","apiType":"Sql","creationTime":"2021-01-08T02:05:37Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"62ff38d6-4f2d-4c43-8c9d-17258a38ad81","creationTime":"2021-01-08T02:05:37Z"}]}},{"name":"5c84891d-ee24-4dc7-aa2b-d8968baf7936","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/5c84891d-ee24-4dc7-aa2b-d8968baf7936","properties":{"accountName":"gskcssdemo","apiType":"Sql","creationTime":"2020-12-14T21:53:52Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"21f8bb0a-9b6d-4d79-b305-82f555946c5f","creationTime":"2020-12-14T21:53:53Z"}]}},{"name":"cc9b5676-f21b-4bd4-b3d9-26ded6884aaa","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/cc9b5676-f21b-4bd4-b3d9-26ded6884aaa","properties":{"accountName":"gskcssdemo-r1","apiType":"Sql","creationTime":"2021-01-15T05:24:40Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"11da6634-3b4d-4b81-99ef-04d8b4d7410d","creationTime":"2021-01-15T05:24:40Z"}]}},{"name":"d92d948a-afb9-4bb3-9a4c-d6b8fcf8d204","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/d92d948a-afb9-4bb3-9a4c-d6b8fcf8d204","properties":{"accountName":"kal-continuous","apiType":"Sql","creationTime":"2020-08-05T01:00:25Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"c28cc815-caba-4bd3-9402-6c8ec362efe6","creationTime":"2020-08-05T01:00:26Z"},{"locationName":"East - US","regionalDatabaseAccountInstanceId":"cc0bacf7-91d0-4c4b-95ff-2479327f0866","creationTime":"2020-08-05T01:12:03Z"},{"locationName":"South - Central US","regionalDatabaseAccountInstanceId":"6fc9f211-8f76-4c29-9edc-f82ee8c5211a","creationTime":"2020-08-23T01:34:11Z"}]}},{"name":"11d8ee78-2502-4ad6-becd-291aef9ac258","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/11d8ee78-2502-4ad6-becd-291aef9ac258","properties":{"accountName":"kal-continuous-dedicated-test","apiType":"Sql","creationTime":"2020-10-05T23:45:26Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"543c99f9-7bc2-4b55-9732-9733b981341f","creationTime":"2020-10-05T23:45:27Z"}]}},{"name":"ed1b5536-d225-4af9-bf33-71ff5fc8ef4b","location":"South - Central US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/southcentralus/restorableDatabaseAccounts/ed1b5536-d225-4af9-bf33-71ff5fc8ef4b","properties":{"accountName":"kal-dedicated-test","apiType":"Sql","creationTime":"2020-10-05T23:57:45Z","restorableLocations":[{"locationName":"South - Central US","regionalDatabaseAccountInstanceId":"ff8bf7b0-f9c3-461c-8c13-26e94ac4c2bc","creationTime":"2020-10-05T23:57:46Z"}]}},{"name":"15ba6ca5-a356-4e90-b17e-71b9226d3566","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/15ba6ca5-a356-4e90-b17e-71b9226d3566","properties":{"accountName":"lisarestore1","apiType":"Sql","creationTime":"2021-01-08T22:12:16Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"3e848a1c-29b9-4627-889f-37c12a3c56fd","creationTime":"2021-01-08T22:12:16Z"}]}},{"name":"bbff0620-ef73-4071-9554-15e460f25e84","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/bbff0620-ef73-4071-9554-15e460f25e84","properties":{"accountName":"lisarestore2","apiType":"Sql","creationTime":"2021-01-08T22:23:52Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"8d3f47b6-7337-43c4-aaf3-59b0fa3720fd","creationTime":"2021-01-08T22:23:52Z"}]}},{"name":"47e6f98d-41c0-44f7-b0db-62ec4f1eec01","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/47e6f98d-41c0-44f7-b0db-62ec4f1eec01","properties":{"accountName":"lisarestore3","apiType":"Sql","creationTime":"2021-01-08T22:25:55Z","restorableLocations":[{"locationName":"Australia - Southeast","regionalDatabaseAccountInstanceId":"d62f91a9-8177-4cfb-88bb-647538637100","creationTime":"2021-01-08T22:25:55Z"}]}},{"name":"098565ea-96cc-45f8-a0fb-efecf4517ba0","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/098565ea-96cc-45f8-a0fb-efecf4517ba0","properties":{"accountName":"lisarestore4","apiType":"Sql","creationTime":"2021-01-08T22:30:27Z","restorableLocations":[{"locationName":"East - US","regionalDatabaseAccountInstanceId":"a88f7ab5-2623-4ca5-b962-c22b7027c647","creationTime":"2021-01-08T22:30:27Z"}]}},{"name":"421f2916-5405-47a0-bbb8-398672c8b539","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/421f2916-5405-47a0-bbb8-398672c8b539","properties":{"accountName":"lisarestore5","apiType":"Sql","creationTime":"2021-01-08T22:39:29Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"8989da63-0d67-4fa6-bf5d-caaa4961445b","creationTime":"2021-01-08T22:39:29Z"}]}},{"name":"e24fd3a7-20ed-48ac-a50e-6284402a72b9","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/e24fd3a7-20ed-48ac-a50e-6284402a72b9","properties":{"accountName":"lisarestore6","apiType":"Sql","creationTime":"2021-01-08T22:41:21Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"c2d1bb47-6e39-4ad6-9b82-9717f8feac85","creationTime":"2021-01-08T22:41:21Z"}]}},{"name":"5ed72f8f-00db-484a-8b7a-c90d9874431d","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/5ed72f8f-00db-484a-8b7a-c90d9874431d","properties":{"accountName":"lisarestore7","apiType":"Sql","creationTime":"2021-01-08T22:44:37Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"9e111575-7289-463d-9368-a89d76d9dc6b","creationTime":"2021-01-08T22:44:37Z"}]}},{"name":"90e99bc6-8031-4f65-886e-32628f7af45a","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/90e99bc6-8031-4f65-886e-32628f7af45a","properties":{"accountName":"lisarestore8b","apiType":"Sql","creationTime":"2021-01-08T23:17:40Z","restorableLocations":[{"locationName":"East - US","regionalDatabaseAccountInstanceId":"2ad74ba2-c366-461c-940b-02e0c5017422","creationTime":"2021-01-08T23:17:40Z"}]}},{"name":"1e2bec8e-adcc-4c5a-aa5b-82091d6c8a37","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/1e2bec8e-adcc-4c5a-aa5b-82091d6c8a37","properties":{"accountName":"pitracctdemo2","apiType":"Sql","creationTime":"2020-08-11T02:34:23Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"7419408f-e6af-4596-a76b-c31ca62a54ca","creationTime":"2020-08-11T02:34:24Z"}]}},{"name":"38562595-c786-4560-a297-370226ed1450","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/38562595-c786-4560-a297-370226ed1450","properties":{"accountName":"pitrb-subbanna","apiType":"Sql","creationTime":"2021-01-18T06:12:43Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"0a2f53ac-1920-4f18-aae4-19c496a7e923","creationTime":"2021-01-18T06:12:43Z"}]}},{"name":"7133a59a-d1c0-4645-a699-6e296d6ac865","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/7133a59a-d1c0-4645-a699-6e296d6ac865","properties":{"accountName":"pitrbb-ankshah-ps-1","apiType":"Sql","creationTime":"2021-01-08T23:34:12Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"f02df26b-c0ec-4829-8bef-3482d36e6230","creationTime":"2021-01-08T23:34:12Z"}]}},{"name":"d6f96f0e-4b4e-4823-8a95-e59c688a00e2","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/d6f96f0e-4b4e-4823-8a95-e59c688a00e2","properties":{"accountName":"pitrbb-ankshah-ps-6","apiType":"Sql","creationTime":"2021-01-08T23:58:46Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"6148981d-a65f-45b1-80f9-a26302e5214b","creationTime":"2021-01-08T23:58:46Z"}]}},{"name":"fcade1ce-4758-4d39-bbf8-8be7e9de50b2","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/fcade1ce-4758-4d39-bbf8-8be7e9de50b2","properties":{"accountName":"pitrbb-ankshah-ps-6-fixutc","apiType":"Sql","creationTime":"2021-01-09T00:26:43Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"5ac2a361-da75-47de-a13b-e4d9f0579e0c","creationTime":"2021-01-09T00:26:43Z"}]}},{"name":"0b32523b-4268-474d-a369-6888565ff043","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/0b32523b-4268-474d-a369-6888565ff043","properties":{"accountName":"pitrbb-dech-sql-1","apiType":"Sql","creationTime":"2021-01-08T22:48:20Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"4d5edac2-df25-4a27-9bf4-e75a0b78af86","creationTime":"2021-01-08T22:48:20Z"}]}},{"name":"79659b7d-1049-4c79-9ba4-4fad8110181a","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/79659b7d-1049-4c79-9ba4-4fad8110181a","properties":{"accountName":"pitrbb-dech-sql-2","apiType":"Sql","creationTime":"2021-01-08T23:26:15Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"b5d55b81-59cf-4b14-9717-247a45438d45","creationTime":"2021-01-08T23:26:15Z"}]}},{"name":"5b213b47-99da-4b75-9eb2-4307e54ac28b","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/5b213b47-99da-4b75-9eb2-4307e54ac28b","properties":{"accountName":"pitrbb-dech-sql-3","apiType":"Sql","creationTime":"2021-01-08T23:32:11Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"0187813e-8bf5-43bd-a16f-e344c3d251fd","creationTime":"2021-01-08T23:32:11Z"}]}},{"name":"7a3b8026-9d25-4933-aa8f-726c63a0b9fd","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/7a3b8026-9d25-4933-aa8f-726c63a0b9fd","properties":{"accountName":"pitrbb-dech-sql-4","apiType":"Sql","creationTime":"2021-01-08T23:37:21Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"e57af9d0-1b1f-435f-b2c7-12199949b4a1","creationTime":"2021-01-08T23:37:21Z"}]}},{"name":"fc3ea677-0377-4004-923e-49f7e650cd0f","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/fc3ea677-0377-4004-923e-49f7e650cd0f","properties":{"accountName":"pitrbb-dech-sql-5","apiType":"Sql","creationTime":"2021-01-08T23:43:10Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"ae59cbb3-a365-405e-bd06-906bd01f3e16","creationTime":"2021-01-08T23:43:10Z"}]}},{"name":"3838563c-0364-4951-9728-4bb1a17266f8","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/3838563c-0364-4951-9728-4bb1a17266f8","properties":{"accountName":"pitrbb-dech-sql-6","apiType":"Sql","creationTime":"2021-01-08T23:46:57Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"d75fc007-5da7-4d00-8811-6920ece49a33","creationTime":"2021-01-08T23:46:57Z"}]}},{"name":"7486c373-649e-4627-ad96-2d087ec06be1","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/7486c373-649e-4627-ad96-2d087ec06be1","properties":{"accountName":"pitrbb-dech-sql-7","apiType":"Sql","creationTime":"2021-01-08T23:53:32Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"a9a529c6-5ce1-49e9-9410-57be267c41c6","creationTime":"2021-01-08T23:53:32Z"}]}},{"name":"6fd844b3-71af-4e89-9b9d-f829945272bf","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/6fd844b3-71af-4e89-9b9d-f829945272bf","properties":{"accountName":"pitrdemo1015","apiType":"Sql","creationTime":"2020-10-15T17:28:59Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"af26f717-b6ff-4eac-864c-17e759891ae8","creationTime":"2020-10-15T17:29:00Z"}]}},{"name":"3f392004-9f83-4ae9-ac1c-fa5f6542f245","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/3f392004-9f83-4ae9-ac1c-fa5f6542f245","properties":{"accountName":"pitrdemorestored1015","apiType":"Sql","creationTime":"2020-10-15T17:37:20Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"2f4857ad-25c3-4e2f-883a-abe35c5f5e0c","creationTime":"2020-10-15T17:37:20Z"}]}},{"name":"74ebfb99-1914-4ea9-b802-736b5bda12a7","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/74ebfb99-1914-4ea9-b802-736b5bda12a7","properties":{"accountName":"pitrmongotest","apiType":"MongoDB","creationTime":"2020-10-01T17:27:22Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"73ef95f2-a338-4afc-8bb2-6fc3b0071d58","creationTime":"2020-10-01T17:27:23Z"}]}},{"name":"9905e7ca-6f2d-4b24-a4c5-8e7529036a74","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/9905e7ca-6f2d-4b24-a4c5-8e7529036a74","properties":{"accountName":"pitrmongotest-restore","apiType":"MongoDB","creationTime":"2020-10-01T21:24:45Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"75c41286-d7f2-4594-b9f2-87f6c9843cf8","creationTime":"2020-10-01T21:24:45Z"}]}},{"name":"a081024d-5e38-45c1-b1cb-9c99552d42b3","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/a081024d-5e38-45c1-b1cb-9c99552d42b3","properties":{"accountName":"pitrmongowithsnapshots","apiType":"MongoDB","creationTime":"2021-01-07T19:45:07Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"cef7a5af-c690-49cd-b661-53f9241552bf","creationTime":"2021-01-07T19:45:07Z"}]}},{"name":"b4c688c1-2ea7-477e-b994-4affe5d3ea35","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/b4c688c1-2ea7-477e-b994-4affe5d3ea35","properties":{"accountName":"ptr-target","apiType":"Sql","creationTime":"2021-01-05T22:25:24Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"1f68340e-49a4-45df-9a2a-804cd8ab1795","creationTime":"2021-01-05T22:25:24Z"}]}},{"name":"013b30aa-cf27-451a-b2b7-c8da950167c0","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/013b30aa-cf27-451a-b2b7-c8da950167c0","properties":{"accountName":"restored-cosmosdb-1212","apiType":"Sql","creationTime":"2021-01-08T08:12:56Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"84e252b7-8fe2-4976-bc64-bccc19511e44","creationTime":"2021-01-08T08:12:56Z"}]}},{"name":"eae0599c-2b32-4126-95f2-598dc4bf4ab9","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/eae0599c-2b32-4126-95f2-598dc4bf4ab9","properties":{"accountName":"restoredeleted","apiType":"Sql","creationTime":"2021-01-27T16:25:59Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"f1c5bdbf-77bb-4a9a-a4ff-39938c662029","creationTime":"2021-01-27T16:25:59Z"}]}},{"name":"0034883d-1a13-418f-9eaf-5dbbaabdd901","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/0034883d-1a13-418f-9eaf-5dbbaabdd901","properties":{"accountName":"restoredeletedacct","apiType":"Sql","creationTime":"2021-01-08T22:46:18Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"514f853c-9454-44e7-a568-63823c7d25f0","creationTime":"2021-01-08T22:46:18Z"}]}},{"name":"1e9c8685-1f15-4b3b-ab1c-0ad505f0cd24","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/1e9c8685-1f15-4b3b-ab1c-0ad505f0cd24","properties":{"accountName":"sivarv-test","apiType":"Sql","creationTime":"2021-01-05T23:13:23Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"83791770-489f-4272-9816-4d66377703c5","creationTime":"2021-01-05T23:13:23Z"}]}},{"name":"cc78ddc0-94a1-499d-8820-3b97ead9329d","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/cc78ddc0-94a1-499d-8820-3b97ead9329d","properties":{"accountName":"source-mongo36","apiType":"MongoDB","creationTime":"2021-01-05T21:12:59Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"c253e611-4c39-472e-b5fa-db7a7b5e1f0f","creationTime":"2021-01-05T21:12:59Z"},{"locationName":"North - Europe","regionalDatabaseAccountInstanceId":"1f4747a7-0698-4970-b81d-90257264f650","creationTime":"2021-01-05T22:35:50Z"},{"locationName":"Southeast - Asia","regionalDatabaseAccountInstanceId":"d5fab2ed-1caa-454c-a40a-98baba42f761","creationTime":"2021-01-05T22:49:00Z"}]}},{"name":"f37b13fb-cd2e-44da-929f-7db3ec82472f","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/f37b13fb-cd2e-44da-929f-7db3ec82472f","properties":{"accountName":"source-sql","apiType":"Sql","creationTime":"2021-01-05T21:27:08Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"c43022bd-9262-4421-a550-3566dda0191f","creationTime":"2021-01-05T21:27:09Z"},{"locationName":"Australia - Southeast","regionalDatabaseAccountInstanceId":"45e72c23-3fc3-45fa-8c05-444717f61eed","creationTime":"2021-01-05T22:14:59Z"},{"locationName":"East - US","regionalDatabaseAccountInstanceId":"bc1e9044-6d2f-4943-8a7f-1a0e345913ee","creationTime":"2021-01-05T21:38:36Z","deletionTime":"2021-01-05T22:25:59Z"}]}},{"name":"8ab61be5-bc16-408b-b33b-90a341eb00f8","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/8ab61be5-bc16-408b-b33b-90a341eb00f8","properties":{"accountName":"source-sql-cli0108-r1","apiType":"Sql","creationTime":"2021-01-08T23:00:22Z","restorableLocations":[{"locationName":"Australia - Southeast","regionalDatabaseAccountInstanceId":"18d3b111-3091-4c7b-9494-38d55cf6b591","creationTime":"2021-01-08T23:00:22Z"}]}},{"name":"97aecfb1-60ea-47eb-8ba6-b18a9d63d5ea","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/97aecfb1-60ea-47eb-8ba6-b18a9d63d5ea","properties":{"accountName":"source-sql-cli0108-r4","apiType":"Sql","creationTime":"2021-01-08T23:42:23Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"204031a3-e50f-4357-9e30-e0ed40d2edfe","creationTime":"2021-01-08T23:42:23Z"}]}},{"name":"44fd125a-9c78-43ec-a408-7bde337284d7","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/44fd125a-9c78-43ec-a408-7bde337284d7","properties":{"accountName":"source-sql-cli0108-r5","apiType":"Sql","creationTime":"2021-01-08T23:48:38Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"bcdbe26c-e95e-4d13-8ed2-65ed87835440","creationTime":"2021-01-08T23:48:38Z"}]}},{"name":"28c894c1-564c-4751-a581-0899fe982fb2","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/28c894c1-564c-4751-a581-0899fe982fb2","properties":{"accountName":"source-sql-cli0108-r6","apiType":"Sql","creationTime":"2021-01-09T00:10:01Z","restorableLocations":[{"locationName":"East - US","regionalDatabaseAccountInstanceId":"04fc930f-e6f4-4247-909b-a019fca6d3c3","creationTime":"2021-01-09T00:10:01Z"}]}},{"name":"e5d37ca0-4cad-4f68-8b01-798ab80d4e29","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/e5d37ca0-4cad-4f68-8b01-798ab80d4e29","properties":{"accountName":"source-sql-r1-all-dr1","apiType":"Sql","creationTime":"2021-01-06T00:38:07Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"b025ecf9-c5cb-4dd8-8808-ff91d5a3585d","creationTime":"2021-01-06T00:38:07Z"}]}},{"name":"c2725545-e90d-46e1-b952-3de18e28229d","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/c2725545-e90d-46e1-b952-3de18e28229d","properties":{"accountName":"source-sql-r1-procol1","apiType":"Sql","creationTime":"2021-01-05T22:57:00Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"1a218afa-4d6e-4a9e-8dcb-c50e811b921d","creationTime":"2021-01-05T22:57:00Z"}]}},{"name":"360f37cf-0874-4d58-9cf8-fd5f3fc87d07","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/360f37cf-0874-4d58-9cf8-fd5f3fc87d07","properties":{"accountName":"source-sql-restored-kal-1","apiType":"Sql","creationTime":"2021-01-25T22:47:07Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"6e9003ca-f7f7-482a-8bcc-e7ecb383cce7","creationTime":"2021-01-25T22:47:07Z"}]}},{"name":"23e99a35-cd36-4df4-9614-f767a03b9995","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/23e99a35-cd36-4df4-9614-f767a03b9995","properties":{"accountName":"subbannageeta","apiType":"Sql","creationTime":"2020-08-08T01:04:53Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"30701557-ecf8-43ce-8810-2c8be01dccf9","creationTime":"2020-08-08T01:04:53Z"},{"locationName":"East - US","regionalDatabaseAccountInstanceId":"8283b088-b67d-4975-bfbe-0705e3e7a599","creationTime":"2020-08-08T01:15:44Z"}]}},{"name":"a97044b4-5be9-4f17-acc5-05bd58f0156e","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/a97044b4-5be9-4f17-acc5-05bd58f0156e","properties":{"accountName":"target-mongo36-beforecolla","apiType":"MongoDB","creationTime":"2021-01-06T00:06:55Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"4af906ad-1a4a-4eb7-8453-f6cd8c795e91","creationTime":"2021-01-06T00:06:55Z"}]}},{"name":"1e88cc09-a8d1-4c02-b3bc-45621aa14532","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/1e88cc09-a8d1-4c02-b3bc-45621aa14532","properties":{"accountName":"targetacct","apiType":"Sql","creationTime":"2021-01-27T16:27:39Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"a6b133b0-11d9-49c6-b747-7e81b8ca91d0","creationTime":"2021-01-27T16:27:39Z"}]}},{"name":"2cfb9266-6837-4c5c-b7ae-ec8e72913cd1","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/2cfb9266-6837-4c5c-b7ae-ec8e72913cd1","properties":{"accountName":"test-bk-cont-restore1","apiType":"Sql","creationTime":"2020-10-15T23:55:03Z","restorableLocations":[{"locationName":"South - Central US","regionalDatabaseAccountInstanceId":"a1893351-8aa8-4ff0-8457-47ce4e6c2790","creationTime":"2020-10-15T23:55:03Z"}]}},{"name":"05640131-c5c8-4d30-adec-aa623e28866b","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/05640131-c5c8-4d30-adec-aa623e28866b","properties":{"accountName":"test-cli2loqd5ro7y4w-restore-del","apiType":"Sql","creationTime":"2021-01-08T01:37:39Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"d137f5e4-3154-43fd-9f16-179b6c9bb8fa","creationTime":"2021-01-08T01:37:39Z"}]}},{"name":"c51d3c61-fa49-426f-96d0-77dd6c8592f4","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/c51d3c61-fa49-426f-96d0-77dd6c8592f4","properties":{"accountName":"test-pitr-restore3","apiType":"Sql","creationTime":"2021-01-06T09:26:15Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"a9153da9-30fe-44bf-beaf-6ad266823926","creationTime":"2021-01-06T09:26:15Z"}]}},{"name":"329aedaa-1997-4c0d-b3c9-40e890c3dc08","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/329aedaa-1997-4c0d-b3c9-40e890c3dc08","properties":{"accountName":"test-restore-pitr1","apiType":"Sql","creationTime":"2021-01-06T09:20:17Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"20d74db9-927d-4e1c-9944-5386a9ce1eda","creationTime":"2021-01-06T09:20:17Z"}]}},{"name":"c914554e-5881-4048-b427-240d3c9ffda6","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/c914554e-5881-4048-b427-240d3c9ffda6","properties":{"accountName":"test-restore-pitr2","apiType":"Sql","creationTime":"2021-01-06T09:23:25Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"7f2f80b7-20ec-47ce-a2eb-f9143781908b","creationTime":"2021-01-06T09:23:25Z"}]}},{"name":"7ccb546f-804d-4fe3-902f-bdb162d2ca51","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/7ccb546f-804d-4fe3-902f-bdb162d2ca51","properties":{"accountName":"virangai-test-pitr-restore-del","apiType":"Sql","creationTime":"2020-12-10T02:06:22Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"fbbdcce1-e4cc-4fb9-8a5c-64f96438e722","creationTime":"2020-12-10T02:06:22Z"}]}},{"name":"26c6c802-2477-422f-b3a0-9da58299b82e","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/26c6c802-2477-422f-b3a0-9da58299b82e","properties":{"accountName":"virangai-test-pitr-restore-del-restore","apiType":"Sql","creationTime":"2021-01-08T00:50:35Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"9eaed152-86f9-4576-b201-2301ea9e9719","creationTime":"2021-01-08T00:50:35Z"}]}},{"name":"e89306b9-137a-4293-b692-263bb3406366","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/e89306b9-137a-4293-b692-263bb3406366","properties":{"accountName":"virangai-test-pitr-restore-del-restore1","apiType":"Sql","creationTime":"2021-01-08T01:07:16Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"2e16165a-c3f1-44c5-99a7-bef5e8a2311f","creationTime":"2021-01-08T01:07:16Z"}]}},{"name":"adc221c8-8826-4d48-8c8d-af48be84b678","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/adc221c8-8826-4d48-8c8d-af48be84b678","properties":{"accountName":"virangai-test-pitr-restore-del-restore2","apiType":"Sql","creationTime":"2021-01-08T01:12:07Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"e6c2237b-56a2-4e27-9ba5-d3da7d136504","creationTime":"2021-01-08T01:12:07Z"}]}},{"name":"b2bcdd92-0b33-4574-ba6e-56f1b3e346e4","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/b2bcdd92-0b33-4574-ba6e-56f1b3e346e4","properties":{"accountName":"virangai-test-pitr-restore-del-restore3","apiType":"Sql","creationTime":"2021-01-08T01:15:26Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"75d75dd1-21da-47d0-bc25-fa01c0e3ed3e","creationTime":"2021-01-08T01:15:26Z"}]}},{"name":"e96a653a-cc5e-49f0-a3ae-36a4d461cf07","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/e96a653a-cc5e-49f0-a3ae-36a4d461cf07","properties":{"accountName":"virangai-test-pitr-restore-del-restore4","apiType":"Sql","creationTime":"2021-01-08T01:36:22Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"e59deecb-9222-4a80-b5d4-09af4a886f55","creationTime":"2021-01-08T01:36:22Z"}]}},{"name":"bb466093-aad0-4e58-8ae5-94c4b48caa3d","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/bb466093-aad0-4e58-8ae5-94c4b48caa3d","properties":{"accountName":"virangai-test-pitr-restore-del1","apiType":"Sql","creationTime":"2021-01-08T20:19:57Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"f14d0c9e-ac38-4809-b5f3-f7c37d712012","creationTime":"2021-01-08T20:19:57Z"}]}},{"name":"86db30d3-1725-4ece-b2f5-591ea37e14f9","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/86db30d3-1725-4ece-b2f5-591ea37e14f9","properties":{"accountName":"virangai-test-pitr-restore-del2","apiType":"Sql","creationTime":"2021-01-08T20:20:20Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"36f57e91-674e-49d0-891a-f4be394b8e3a","creationTime":"2021-01-08T20:20:20Z"}]}},{"name":"baf212fa-867f-4979-a007-4db919a87868","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/baf212fa-867f-4979-a007-4db919a87868","properties":{"accountName":"virangai-test-pitr-restore-del5","apiType":"Sql","creationTime":"2021-01-08T20:23:32Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"76ee28bb-12d9-4829-a473-cb5e29ad9a55","creationTime":"2021-01-08T20:23:32Z"}]}},{"name":"0278f25e-74d3-432c-9bef-8af67bb0d2c0","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/0278f25e-74d3-432c-9bef-8af67bb0d2c0","properties":{"accountName":"clizv5pcgzbsl7a","apiType":"Sql","creationTime":"2021-01-28T22:28:06Z","deletionTime":"2021-01-28T22:29:41Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"4f5f85bb-a229-472f-89dc-33115193e985","creationTime":"2021-01-28T22:28:06Z","deletionTime":"2021-01-28T22:29:41Z"}]}},{"name":"0651d578-4267-432f-9b14-e829f7b55ca8","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/0651d578-4267-432f-9b14-e829f7b55ca8","properties":{"accountName":"cliemi42xntjcpg","apiType":"Sql","creationTime":"2021-01-28T22:55:24Z","deletionTime":"2021-01-28T22:56:59Z","restorableLocations":[]}},{"name":"08f8360d-830d-4e8b-ab58-c4bdefe180a1","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/08f8360d-830d-4e8b-ab58-c4bdefe180a1","properties":{"accountName":"clij264u6pvpgg5","apiType":"Sql","creationTime":"2021-01-28T22:55:23Z","deletionTime":"2021-01-28T22:56:58Z","restorableLocations":[]}},{"name":"1ac1ade1-7f87-4764-81d4-61e2bf271d1c","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/1ac1ade1-7f87-4764-81d4-61e2bf271d1c","properties":{"accountName":"restored-cosmosdb-1212","apiType":"Sql","creationTime":"2021-01-07T02:45:14Z","deletionTime":"2021-01-07T06:37:29Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"8cad4147-b0e8-43d0-bb4c-2562d435daf0","creationTime":"2021-01-07T02:45:14Z","deletionTime":"2021-01-07T06:37:29Z"}]}},{"name":"20e131eb-6e59-403d-afe6-5cd5687b06f3","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/20e131eb-6e59-403d-afe6-5cd5687b06f3","properties":{"accountName":"clicjskuodwwh4y","apiType":"Sql","creationTime":"2021-01-28T22:55:30Z","deletionTime":"2021-01-28T22:56:57Z","restorableLocations":[]}},{"name":"2e57506a-6aa1-4a3a-8a2b-b46d1be47d3a","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/2e57506a-6aa1-4a3a-8a2b-b46d1be47d3a","properties":{"accountName":"clilet52fhyl5fe","apiType":"MongoDB","creationTime":"2021-01-16T01:19:20Z","deletionTime":"2021-01-16T01:20:03Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"3df175b1-d106-42c3-89e6-716bdfab208f","creationTime":"2021-01-16T01:19:21Z","deletionTime":"2021-01-16T01:20:03Z"}]}},{"name":"3183f258-d6c7-42da-9260-0345d7a5775d","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/3183f258-d6c7-42da-9260-0345d7a5775d","properties":{"accountName":"mongo-continuous-1212","apiType":"MongoDB","creationTime":"2021-01-06T22:54:49Z","deletionTime":"2021-01-07T06:37:29Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"baf545cb-b632-4a1b-b9a8-8fec4a019c02","creationTime":"2021-01-06T22:54:49Z","deletionTime":"2021-01-07T06:37:29Z"}]}},{"name":"3325eb2c-3a59-4ebb-882f-27fe519f2253","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/3325eb2c-3a59-4ebb-882f-27fe519f2253","properties":{"accountName":"pitracc","apiType":"Sql","creationTime":"2020-10-15T00:44:16Z","deletionTime":"2021-01-08T05:31:20Z","restorableLocations":[{"locationName":"East - US 2","regionalDatabaseAccountInstanceId":"9b2e4539-1898-4f11-b568-5b72c913eb53","creationTime":"2020-10-15T06:41:52Z","deletionTime":"2021-01-08T05:31:20Z"},{"locationName":"West - US","regionalDatabaseAccountInstanceId":"b7cb54bc-b620-4d34-a004-11bda0dab218","creationTime":"2020-10-15T00:44:17Z","deletionTime":"2021-01-08T05:31:20Z"}]}},{"name":"651acce6-dd9b-4cb0-a236-444fa0760775","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/651acce6-dd9b-4cb0-a236-444fa0760775","properties":{"accountName":"continuous-db2121","apiType":"Sql","creationTime":"2020-08-06T21:04:16Z","deletionTime":"2021-01-07T06:37:29Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"7119a7d0-aab2-4dac-90d2-68880d3fa967","creationTime":"2020-08-06T21:04:17Z","deletionTime":"2021-01-07T06:37:29Z"}]}},{"name":"68592cbb-6b1d-45d5-92c4-5e768127801d","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/68592cbb-6b1d-45d5-92c4-5e768127801d","properties":{"accountName":"cliwgffp7vsxcnn","apiType":"MongoDB","creationTime":"2021-01-16T01:46:25Z","deletionTime":"2021-01-16T01:51:06Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"1ab48938-70a0-4233-9270-266ede1c697f","creationTime":"2021-01-16T01:46:26Z","deletionTime":"2021-01-16T01:51:06Z"}]}},{"name":"6a0b5950-99b7-4684-b296-8e1525b6a38f","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/6a0b5950-99b7-4684-b296-8e1525b6a38f","properties":{"accountName":"sivarv-restored-sdb","apiType":"Sql","creationTime":"2021-01-05T23:29:51Z","deletionTime":"2021-01-06T00:16:23Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"cb909054-6a6f-4e06-811c-363bb5acd7d3","creationTime":"2021-01-05T23:29:51Z","deletionTime":"2021-01-06T00:16:23Z"}]}},{"name":"6f7de73f-d3aa-4b35-9bab-f4359a8415a5","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/6f7de73f-d3aa-4b35-9bab-f4359a8415a5","properties":{"accountName":"vinhpitrrestored1015","apiType":"Sql","creationTime":"2020-10-15T16:08:39Z","deletionTime":"2021-01-08T05:31:30Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"2d731560-b500-49c7-ad88-acba387c072c","creationTime":"2020-10-15T16:08:39Z","deletionTime":"2021-01-08T05:31:30Z"}]}},{"name":"7781ad7c-a95f-4b8a-9a65-5b7e20292263","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/7781ad7c-a95f-4b8a-9a65-5b7e20292263","properties":{"accountName":"clirvbpeuorjlez","apiType":"Sql","creationTime":"2021-01-28T22:28:07Z","deletionTime":"2021-01-28T22:29:42Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"d04575bb-6713-48ed-9e2d-9d5d1d945dc1","creationTime":"2021-01-28T22:28:07Z","deletionTime":"2021-01-28T22:29:42Z"}]}},{"name":"780425ec-5b37-4661-ab56-bdeac3ca2763","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/780425ec-5b37-4661-ab56-bdeac3ca2763","properties":{"accountName":"continuous-db2332","apiType":"Sql","creationTime":"2020-08-06T22:43:01Z","deletionTime":"2021-01-07T06:37:29Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"4d097971-9228-459b-8687-e6016e34599e","creationTime":"2020-08-06T22:43:02Z","deletionTime":"2021-01-07T06:37:29Z"}]}},{"name":"8e9595e6-628e-4583-bbcb-e79b7594be6e","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/8e9595e6-628e-4583-bbcb-e79b7594be6e","properties":{"accountName":"source-sql-r1-all","apiType":"Sql","creationTime":"2021-01-05T23:53:13Z","deletionTime":"2021-01-06T00:12:22Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"0384eed4-096c-425d-b2c1-a081f254cf02","creationTime":"2021-01-05T23:53:13Z","deletionTime":"2021-01-06T00:12:22Z"}]}},{"name":"a18feb1f-15a9-4000-ade0-ffc81a16309c","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/a18feb1f-15a9-4000-ade0-ffc81a16309c","properties":{"accountName":"restored2-cosmosdb-1212-1","apiType":"Sql","creationTime":"2021-01-07T01:55:14Z","deletionTime":"2021-01-07T06:37:29Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"3ab440db-4ae7-4ff2-8da1-dfdad6853a08","creationTime":"2021-01-07T01:55:14Z","deletionTime":"2021-01-07T06:37:29Z"}]}},{"name":"b27cbd07-72f0-4769-9bc7-8cfbe0523d29","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/b27cbd07-72f0-4769-9bc7-8cfbe0523d29","properties":{"accountName":"continuous-db2121-r1","apiType":"Sql","creationTime":"2020-09-03T17:58:34Z","deletionTime":"2021-01-07T06:37:29Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"c800c27e-ec05-4656-9391-6e31f28e3e8b","creationTime":"2020-09-03T17:58:34Z","deletionTime":"2021-01-07T06:37:29Z"}]}},{"name":"bed4f838-b8ea-4998-a373-d71b28ae239d","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/bed4f838-b8ea-4998-a373-d71b28ae239d","properties":{"accountName":"cliwvj2gl4plqwc","apiType":"Sql","creationTime":"2021-01-28T22:28:07Z","deletionTime":"2021-01-28T22:29:42Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"84e00b11-921a-4bee-bfa7-bcabbb63759c","creationTime":"2021-01-28T22:28:07Z","deletionTime":"2021-01-28T22:29:42Z"}]}},{"name":"d412cde0-dcee-4e6c-9e8f-69770224be1a","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/d412cde0-dcee-4e6c-9e8f-69770224be1a","properties":{"accountName":"restored2-continuous-db2121-2","apiType":"Sql","creationTime":"2020-08-07T18:16:30Z","deletionTime":"2021-01-07T06:37:29Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"a52cc373-6f32-4feb-b28b-15c0bb9842c3","creationTime":"2020-08-07T18:16:30Z","deletionTime":"2021-01-07T06:37:29Z"}]}},{"name":"e27e7197-8a10-4082-808f-bdd67fc65d93","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/e27e7197-8a10-4082-808f-bdd67fc65d93","properties":{"accountName":"sivarv-pitr-test","apiType":"Sql","creationTime":"2021-01-05T21:32:38Z","deletionTime":"2021-01-05T22:26:13Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"a948a101-396b-4c50-83a3-73b01d1c52db","creationTime":"2021-01-05T21:32:38Z","deletionTime":"2021-01-05T22:26:13Z"}]}},{"name":"e333d05f-7c78-41cb-842f-a543f2eb9116","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/e333d05f-7c78-41cb-842f-a543f2eb9116","properties":{"accountName":"cosmosdb-1212","apiType":"Sql","creationTime":"2021-01-06T22:26:11Z","deletionTime":"2021-01-07T06:37:29Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"4a41012e-3313-4825-8064-da2a6f6da7fb","creationTime":"2021-01-06T22:26:11Z","deletionTime":"2021-01-07T06:37:29Z"}]}},{"name":"eeb45f7f-4c05-4b52-9f42-6807d8eb8703","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/eeb45f7f-4c05-4b52-9f42-6807d8eb8703","properties":{"accountName":"powershell-restore","apiType":"Sql","creationTime":"2020-08-10T19:20:14Z","deletionTime":"2021-01-07T06:37:29Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"3cd8b081-4b95-47d8-86f5-a17da18e3b88","creationTime":"2020-08-10T19:20:14Z","deletionTime":"2021-01-07T06:37:29Z"}]}},{"name":"f780ef6c-1fea-4a6a-9c33-784bf8a52edd","location":"West - US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/f780ef6c-1fea-4a6a-9c33-784bf8a52edd","properties":{"accountName":"restored-continuous-db2121-1","apiType":"Sql","creationTime":"2020-08-07T17:55:45Z","deletionTime":"2021-01-07T06:37:29Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"ce739365-8e46-4e12-81e5-9ba7f7ee5ff9","creationTime":"2020-08-07T17:55:45Z","deletionTime":"2021-01-07T06:37:29Z"}]}},{"name":"c0291614-213c-4629-a26a-12802ca1b761","location":"West - US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/c0291614-213c-4629-a26a-12802ca1b761","properties":{"accountName":"virangai-test-mongo-pitr","creationTime":"2020-11-24T21:46:06.459782Z","apiType":"MongoDB","restorableLocations":[{"locationName":"West - US 2","creationTime":"2020-11-24T21:46:07.1249476Z","regionalDatabaseAccountInstanceId":"12e12ed9-5da1-4a35-9ecf-09dff1515d58"}]}},{"name":"c484bb25-9a8e-4c3e-9359-df5dd84c7f16","location":"West - US 2","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/restorableDatabaseAccounts/c484bb25-9a8e-4c3e-9359-df5dd84c7f16","properties":{"accountName":"virangai-test-pitr-sql","creationTime":"2021-01-16T01:05:59.1231999Z","apiType":"Sql","restorableLocations":[{"locationName":"West - US 2","creationTime":"2021-01-16T01:05:59.7287705Z","regionalDatabaseAccountInstanceId":"2f0ca6dc-a022-438e-9451-384c8ebdf50b"}]}}]}' + string: '{"value":[{"name":"d4b1a4f0-edcb-438d-a137-5defb99c0f07","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/d4b1a4f0-edcb-438d-a137-5defb99c0f07","properties":{"accountName":"cli4rr7r3qwz6rw","apiType":"Sql","creationTime":"2021-02-23T00:47:27Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"dd635420-1570-4c29-9e84-f4c3a6c7147d","creationTime":"2021-02-23T00:47:27Z"}]}},{"name":"ab5d3d1d-0331-4b85-badb-7d7348021b5d","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/ab5d3d1d-0331-4b85-badb-7d7348021b5d","properties":{"accountName":"pkdelpitr","apiType":"Sql","creationTime":"2021-03-22T05:13:59Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"8e4e5a09-8b0b-4c79-b763-0765b4bb9a12","creationTime":"2021-03-22T05:14:00Z"}]}},{"name":"e4936df7-a1e5-4ea9-b31f-39b4d93357a3","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/e4936df7-a1e5-4ea9-b31f-39b4d93357a3","properties":{"accountName":"pkdeletepitrrestore","apiType":"Sql","creationTime":"2021-03-23T12:56:22Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"3437d90b-576a-40d7-aebb-d44b5e8aa4fe","creationTime":"2021-03-23T12:56:22Z"}]}},{"name":"15e70a1e-dfe7-4612-998d-9271dfd2eed7","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/15e70a1e-dfe7-4612-998d-9271dfd2eed7","properties":{"accountName":"pkdeletepitrerestored2","apiType":"Sql","creationTime":"2021-03-23T13:51:57Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"9fb5487c-ba7f-40bd-87df-6e9fbac3ce38","creationTime":"2021-03-23T13:51:57Z"}]}},{"name":"f4b62789-73d5-42d5-acd2-9a3aabfdd708","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/f4b62789-73d5-42d5-acd2-9a3aabfdd708","properties":{"accountName":"pkdelpitrrestored3","apiType":"Sql","creationTime":"2021-03-23T14:55:37Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"ab47956d-ee05-4a49-908c-923b652cc93e","creationTime":"2021-03-23T14:55:37Z"}]}},{"name":"7e9c9bb6-b915-4c5c-a79e-463e20e090b4","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/7e9c9bb6-b915-4c5c-a79e-463e20e090b4","properties":{"accountName":"pkdeleteusermetricstest","apiType":"Sql","creationTime":"2021-03-26T09:44:42Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"9f33930b-b8c6-4dc6-9db6-b817b5b2fee2","creationTime":"2021-03-26T09:44:42Z"}]}},{"name":"4887b893-fa01-44c5-88c9-63b8743ccb24","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/4887b893-fa01-44c5-88c9-63b8743ccb24","properties":{"accountName":"clip6nwplzlrhms","apiType":"Sql","creationTime":"2021-05-24T19:03:28Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"344e6d5d-b509-41bf-8e1b-9fcca0fab48f","creationTime":"2021-05-24T19:03:29Z"}]}},{"name":"77584dc5-71c1-4639-b157-b10d6cf1b613","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/77584dc5-71c1-4639-b157-b10d6cf1b613","properties":{"accountName":"cli000003","apiType":"Sql","creationTime":"2021-05-24T19:03:29Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"1e398a5e-034c-4a6d-a1b6-7d8b433e43fb","creationTime":"2021-05-24T19:03:30Z"}]}},{"name":"e1471531-db85-410c-b75b-55fc5b41767e","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/e1471531-db85-410c-b75b-55fc5b41767e","properties":{"accountName":"cli53y73kqpqh2x","apiType":"MongoDB","creationTime":"2021-05-24T19:04:04Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"12188092-81f5-4d40-8c2a-d95f54ee9c97","creationTime":"2021-05-24T19:04:04Z"}]}},{"name":"ab5ad0f1-b1df-4a3e-aadb-095c7cf6d8b9","location":"West + US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/ab5ad0f1-b1df-4a3e-aadb-095c7cf6d8b9","properties":{"accountName":"cli5kprujhrqrk4","apiType":"Sql","creationTime":"2021-05-24T19:03:22Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"84ecf0cf-5717-4766-bf46-2dabc58c06de","creationTime":"2021-05-24T19:03:23Z"}]}}]}' headers: cache-control: - no-cache content-length: - - '57901' + - '5751' content-type: - application/json; charset=utf-8 date: - - Thu, 28 Jan 2021 23:00:03 GMT + - Mon, 24 May 2021 19:05:12 GMT expires: - '-1' pragma: @@ -959,6 +819,34 @@ interactions: - '' - '' - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' status: code: 200 message: OK @@ -976,15 +864,15 @@ interactions: ParameterSetName: - -n -g --is-restore-request --restore-source --restore-timestamp User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-resource/12.1.0 Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_cosmosdb_restore_using_create000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001","name":"cli_test_cosmosdb_restore_using_create000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-01-28T22:57:14Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001","name":"cli_test_cosmosdb_restore_using_create000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-05-24T19:01:57Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -993,7 +881,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 28 Jan 2021 23:04:03 GMT + - Mon, 24 May 2021 19:09:12 GMT expires: - '-1' pragma: @@ -1011,8 +899,8 @@ interactions: body: '{"location": "westus", "kind": "GlobalDocumentDB", "properties": {"locations": [{"locationName": "westus", "failoverPriority": 0, "isZoneRedundant": false}], "databaseAccountOfferType": "Standard", "apiProperties": {}, "createMode": "Restore", - "restoreParameters": {"restoreMode": "PointInTime", "restoreSource": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/7346d3b4-8657-441b-8661-c1eb1071b700", - "restoreTimestampInUtc": "2021-01-28T23:02:07.000Z"}}}' + "restoreParameters": {"restoreMode": "PointInTime", "restoreSource": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/77584dc5-71c1-4639-b157-b10d6cf1b613", + "restoreTimestampInUtc": "2021-05-24T19:07:29.000Z"}}}' headers: Accept: - application/json @@ -1029,33 +917,33 @@ interactions: ParameterSetName: - -n -g --is-restore-request --restore-source --restore-timestamp User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-03-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-01-28T23:04:08.090751Z"},"properties":{"provisioningState":"Creating","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"instanceId":"67ec7d38-038b-4007-b3ba-f06425510dc6","createMode":"Restore","databaseAccountOfferType":"Standard","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:09:16.0884012Z"},"properties":{"provisioningState":"Creating","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"7cedd476-3366-4c4c-a1ea-56179c674f4e","createMode":"Restore","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000003-westus.documents.azure.com:443/","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000003-westus.documents.azure.com:443/","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000003-westus.documents.azure.com:443/","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-westus","locationName":"West - US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"},"restoreParameters":{"restoreMode":"PointInTime","restoreSource":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/7346d3b4-8657-441b-8661-c1eb1071b700","restoreTimestampInUtc":"2021-01-28T23:02:07Z","databasesToRestore":[]}},"identity":{"type":"None"}}' + US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"},"restoreParameters":{"restoreMode":"PointInTime","restoreSource":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/77584dc5-71c1-4639-b157-b10d6cf1b613","restoreTimestampInUtc":"2021-05-24T19:07:29Z","databasesToRestore":[]},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/d7d73283-7d14-40b4-823d-fd4e4ad6ef88?api-version=2020-06-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/56ef72c9-ebf5-4b79-bb6a-d7cfca2fa6a1?api-version=2021-03-01-preview cache-control: - no-store, no-cache content-length: - - '2204' + - '2335' content-type: - application/json date: - - Thu, 28 Jan 2021 23:04:09 GMT + - Mon, 24 May 2021 19:09:17 GMT location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/operationResults/d7d73283-7d14-40b4-823d-fd4e4ad6ef88?api-version=2020-06-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/operationResults/56ef72c9-ebf5-4b79-bb6a-d7cfca2fa6a1?api-version=2021-03-01-preview pragma: - no-cache server: @@ -1071,7 +959,101 @@ interactions: x-ms-gatewayversion: - version=2.11.0 x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/56ef72c9-ebf5-4b79-bb6a-d7cfca2fa6a1?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:09:47 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --is-restore-request --restore-source --restore-timestamp + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/56ef72c9-ebf5-4b79-bb6a-d7cfca2fa6a1?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:10:17 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 status: code: 200 message: Ok @@ -1089,10 +1071,10 @@ interactions: ParameterSetName: - -n -g --is-restore-request --restore-source --restore-timestamp User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/d7d73283-7d14-40b4-823d-fd4e4ad6ef88?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/56ef72c9-ebf5-4b79-bb6a-d7cfca2fa6a1?api-version=2021-03-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1104,7 +1086,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:04:39 GMT + - Mon, 24 May 2021 19:10:48 GMT pragma: - no-cache server: @@ -1136,10 +1118,10 @@ interactions: ParameterSetName: - -n -g --is-restore-request --restore-source --restore-timestamp User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/d7d73283-7d14-40b4-823d-fd4e4ad6ef88?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/56ef72c9-ebf5-4b79-bb6a-d7cfca2fa6a1?api-version=2021-03-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1151,7 +1133,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:05:09 GMT + - Mon, 24 May 2021 19:11:18 GMT pragma: - no-cache server: @@ -1183,10 +1165,10 @@ interactions: ParameterSetName: - -n -g --is-restore-request --restore-source --restore-timestamp User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/d7d73283-7d14-40b4-823d-fd4e4ad6ef88?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/56ef72c9-ebf5-4b79-bb6a-d7cfca2fa6a1?api-version=2021-03-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1198,7 +1180,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:05:39 GMT + - Mon, 24 May 2021 19:11:48 GMT pragma: - no-cache server: @@ -1230,10 +1212,10 @@ interactions: ParameterSetName: - -n -g --is-restore-request --restore-source --restore-timestamp User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/d7d73283-7d14-40b4-823d-fd4e4ad6ef88?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/56ef72c9-ebf5-4b79-bb6a-d7cfca2fa6a1?api-version=2021-03-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1245,7 +1227,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:06:09 GMT + - Mon, 24 May 2021 19:12:17 GMT pragma: - no-cache server: @@ -1277,10 +1259,10 @@ interactions: ParameterSetName: - -n -g --is-restore-request --restore-source --restore-timestamp User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/d7d73283-7d14-40b4-823d-fd4e4ad6ef88?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/56ef72c9-ebf5-4b79-bb6a-d7cfca2fa6a1?api-version=2021-03-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1292,7 +1274,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:06:41 GMT + - Mon, 24 May 2021 19:12:48 GMT pragma: - no-cache server: @@ -1324,10 +1306,10 @@ interactions: ParameterSetName: - -n -g --is-restore-request --restore-source --restore-timestamp User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/d7d73283-7d14-40b4-823d-fd4e4ad6ef88?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/56ef72c9-ebf5-4b79-bb6a-d7cfca2fa6a1?api-version=2021-03-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1339,7 +1321,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:07:11 GMT + - Mon, 24 May 2021 19:13:18 GMT pragma: - no-cache server: @@ -1371,10 +1353,10 @@ interactions: ParameterSetName: - -n -g --is-restore-request --restore-source --restore-timestamp User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/d7d73283-7d14-40b4-823d-fd4e4ad6ef88?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/56ef72c9-ebf5-4b79-bb6a-d7cfca2fa6a1?api-version=2021-03-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1386,7 +1368,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:07:40 GMT + - Mon, 24 May 2021 19:13:48 GMT pragma: - no-cache server: @@ -1418,10 +1400,10 @@ interactions: ParameterSetName: - -n -g --is-restore-request --restore-source --restore-timestamp User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/d7d73283-7d14-40b4-823d-fd4e4ad6ef88?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/56ef72c9-ebf5-4b79-bb6a-d7cfca2fa6a1?api-version=2021-03-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1433,7 +1415,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:08:11 GMT + - Mon, 24 May 2021 19:14:18 GMT pragma: - no-cache server: @@ -1465,10 +1447,10 @@ interactions: ParameterSetName: - -n -g --is-restore-request --restore-source --restore-timestamp User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/d7d73283-7d14-40b4-823d-fd4e4ad6ef88?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/56ef72c9-ebf5-4b79-bb6a-d7cfca2fa6a1?api-version=2021-03-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1480,7 +1462,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:08:41 GMT + - Mon, 24 May 2021 19:14:48 GMT pragma: - no-cache server: @@ -1512,10 +1494,10 @@ interactions: ParameterSetName: - -n -g --is-restore-request --restore-source --restore-timestamp User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/d7d73283-7d14-40b4-823d-fd4e4ad6ef88?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/56ef72c9-ebf5-4b79-bb6a-d7cfca2fa6a1?api-version=2021-03-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1527,7 +1509,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:09:11 GMT + - Mon, 24 May 2021 19:15:18 GMT pragma: - no-cache server: @@ -1559,10 +1541,10 @@ interactions: ParameterSetName: - -n -g --is-restore-request --restore-source --restore-timestamp User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/d7d73283-7d14-40b4-823d-fd4e4ad6ef88?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/56ef72c9-ebf5-4b79-bb6a-d7cfca2fa6a1?api-version=2021-03-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1574,7 +1556,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:09:42 GMT + - Mon, 24 May 2021 19:15:49 GMT pragma: - no-cache server: @@ -1606,10 +1588,10 @@ interactions: ParameterSetName: - -n -g --is-restore-request --restore-source --restore-timestamp User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/d7d73283-7d14-40b4-823d-fd4e4ad6ef88?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/56ef72c9-ebf5-4b79-bb6a-d7cfca2fa6a1?api-version=2021-03-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1621,7 +1603,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:10:12 GMT + - Mon, 24 May 2021 19:16:19 GMT pragma: - no-cache server: @@ -1653,10 +1635,10 @@ interactions: ParameterSetName: - -n -g --is-restore-request --restore-source --restore-timestamp User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/d7d73283-7d14-40b4-823d-fd4e4ad6ef88?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/56ef72c9-ebf5-4b79-bb6a-d7cfca2fa6a1?api-version=2021-03-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1668,7 +1650,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:10:43 GMT + - Mon, 24 May 2021 19:16:49 GMT pragma: - no-cache server: @@ -1700,10 +1682,10 @@ interactions: ParameterSetName: - -n -g --is-restore-request --restore-source --restore-timestamp User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/d7d73283-7d14-40b4-823d-fd4e4ad6ef88?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/56ef72c9-ebf5-4b79-bb6a-d7cfca2fa6a1?api-version=2021-03-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1715,7 +1697,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:11:13 GMT + - Mon, 24 May 2021 19:17:19 GMT pragma: - no-cache server: @@ -1747,10 +1729,10 @@ interactions: ParameterSetName: - -n -g --is-restore-request --restore-source --restore-timestamp User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/d7d73283-7d14-40b4-823d-fd4e4ad6ef88?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/56ef72c9-ebf5-4b79-bb6a-d7cfca2fa6a1?api-version=2021-03-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1762,7 +1744,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:11:43 GMT + - Mon, 24 May 2021 19:17:49 GMT pragma: - no-cache server: @@ -1794,10 +1776,10 @@ interactions: ParameterSetName: - -n -g --is-restore-request --restore-source --restore-timestamp User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/d7d73283-7d14-40b4-823d-fd4e4ad6ef88?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/56ef72c9-ebf5-4b79-bb6a-d7cfca2fa6a1?api-version=2021-03-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1809,7 +1791,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:12:13 GMT + - Mon, 24 May 2021 19:18:19 GMT pragma: - no-cache server: @@ -1841,10 +1823,10 @@ interactions: ParameterSetName: - -n -g --is-restore-request --restore-source --restore-timestamp User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/d7d73283-7d14-40b4-823d-fd4e4ad6ef88?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/56ef72c9-ebf5-4b79-bb6a-d7cfca2fa6a1?api-version=2021-03-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1856,7 +1838,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:12:43 GMT + - Mon, 24 May 2021 19:18:49 GMT pragma: - no-cache server: @@ -1888,10 +1870,10 @@ interactions: ParameterSetName: - -n -g --is-restore-request --restore-source --restore-timestamp User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/d7d73283-7d14-40b4-823d-fd4e4ad6ef88?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/56ef72c9-ebf5-4b79-bb6a-d7cfca2fa6a1?api-version=2021-03-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1903,7 +1885,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:13:14 GMT + - Mon, 24 May 2021 19:19:19 GMT pragma: - no-cache server: @@ -1935,10 +1917,10 @@ interactions: ParameterSetName: - -n -g --is-restore-request --restore-source --restore-timestamp User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/d7d73283-7d14-40b4-823d-fd4e4ad6ef88?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/56ef72c9-ebf5-4b79-bb6a-d7cfca2fa6a1?api-version=2021-03-01-preview response: body: string: '{"status":"Dequeued"}' @@ -1950,7 +1932,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:13:44 GMT + - Mon, 24 May 2021 19:19:50 GMT pragma: - no-cache server: @@ -1982,10 +1964,10 @@ interactions: ParameterSetName: - -n -g --is-restore-request --restore-source --restore-timestamp User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/d7d73283-7d14-40b4-823d-fd4e4ad6ef88?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/56ef72c9-ebf5-4b79-bb6a-d7cfca2fa6a1?api-version=2021-03-01-preview response: body: string: '{"status":"Succeeded"}' @@ -1997,7 +1979,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:14:14 GMT + - Mon, 24 May 2021 19:20:19 GMT pragma: - no-cache server: @@ -2029,27 +2011,27 @@ interactions: ParameterSetName: - -n -g --is-restore-request --restore-source --restore-timestamp User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-03-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-01-28T23:14:08.1674742Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"instanceId":"67ec7d38-038b-4007-b3ba-f06425510dc6","createMode":"Restore","databaseAccountOfferType":"Standard","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:19:49.0792056Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"7cedd476-3366-4c4c-a1ea-56179c674f4e","createMode":"Restore","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-westus","locationName":"West - US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"},"restoreParameters":{"restoreMode":"PointInTime","restoreSource":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/7346d3b4-8657-441b-8661-c1eb1071b700","restoreTimestampInUtc":"2021-01-28T23:02:07Z","databasesToRestore":[]}},"identity":{"type":"None"}}' + US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"},"restoreParameters":{"restoreMode":"PointInTime","restoreSource":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/77584dc5-71c1-4639-b157-b10d6cf1b613","restoreTimestampInUtc":"2021-05-24T19:07:29Z","databasesToRestore":[]},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' headers: cache-control: - no-store, no-cache content-length: - - '2279' + - '2409' content-type: - application/json date: - - Thu, 28 Jan 2021 23:14:14 GMT + - Mon, 24 May 2021 19:20:20 GMT pragma: - no-cache server: @@ -2081,29 +2063,29 @@ interactions: ParameterSetName: - -n -g --is-restore-request --restore-source --restore-timestamp User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-03-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-01-28T23:14:08.1674742Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"instanceId":"67ec7d38-038b-4007-b3ba-f06425510dc6","createMode":"Restore","databaseAccountOfferType":"Standard","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:19:49.0792056Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"7cedd476-3366-4c4c-a1ea-56179c674f4e","createMode":"Restore","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-westus","locationName":"West - US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"},"restoreParameters":{"restoreMode":"PointInTime","restoreSource":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/7346d3b4-8657-441b-8661-c1eb1071b700","restoreTimestampInUtc":"2021-01-28T23:02:07Z","databasesToRestore":[]}},"identity":{"type":"None"}}' + US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"},"restoreParameters":{"restoreMode":"PointInTime","restoreSource":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/77584dc5-71c1-4639-b157-b10d6cf1b613","restoreTimestampInUtc":"2021-05-24T19:07:29Z","databasesToRestore":[]},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' headers: cache-control: - no-store, no-cache content-length: - - '2279' + - '2409' content-type: - application/json date: - - Thu, 28 Jan 2021 23:14:16 GMT + - Mon, 24 May 2021 19:20:20 GMT pragma: - no-cache server: @@ -2135,29 +2117,29 @@ interactions: ParameterSetName: - -n -g User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-03-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_restore_using_create000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-01-28T23:14:08.1674742Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"instanceId":"67ec7d38-038b-4007-b3ba-f06425510dc6","createMode":"Restore","databaseAccountOfferType":"Standard","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:19:49.0792056Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"7cedd476-3366-4c4c-a1ea-56179c674f4e","createMode":"Restore","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-westus","locationName":"West - US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"},"restoreParameters":{"restoreMode":"PointInTime","restoreSource":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/7346d3b4-8657-441b-8661-c1eb1071b700","restoreTimestampInUtc":"2021-01-28T23:02:07Z","databasesToRestore":[]}},"identity":{"type":"None"}}' + US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"},"restoreParameters":{"restoreMode":"PointInTime","restoreSource":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/77584dc5-71c1-4639-b157-b10d6cf1b613","restoreTimestampInUtc":"2021-05-24T19:07:29Z","databasesToRestore":[]},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' headers: cache-control: - no-store, no-cache content-length: - - '2279' + - '2409' content-type: - application/json date: - - Thu, 28 Jan 2021 23:14:16 GMT + - Mon, 24 May 2021 19:20:20 GMT pragma: - no-cache server: diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_sql_restorable_commands.yaml b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_sql_restorable_commands.yaml index 98d3d82b9be..d6c4b00858e 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_sql_restorable_commands.yaml +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_sql_restorable_commands.yaml @@ -13,15 +13,15 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-resource/12.1.0 Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_cosmosdb_sql_restorable_commands000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001","name":"cli_test_cosmosdb_sql_restorable_commands000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-01-28T22:57:14Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001","name":"cli_test_cosmosdb_sql_restorable_commands000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-05-24T19:01:57Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -30,7 +30,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 28 Jan 2021 22:57:16 GMT + - Mon, 24 May 2021 19:02:00 GMT expires: - '-1' pragma: @@ -65,33 +65,33 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-03-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-01-28T22:57:19.3966779Z"},"properties":{"provisioningState":"Creating","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"instanceId":"edf13eb4-5bcd-443c-802c-099edcb9b1c7","createMode":"Default","databaseAccountOfferType":"Standard","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:02:03.1304335Z"},"properties":{"provisioningState":"Creating","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"4887b893-fa01-44c5-88c9-63b8743ccb24","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-westus","locationName":"West US","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-westus","locationName":"West US","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-westus","locationName":"West US","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-westus","locationName":"West - US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"}},"identity":{"type":"None"}}' + US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/a17a7022-fc36-4fc4-9b73-0627af12db52?api-version=2020-06-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/711e90ab-7d40-4120-8752-6ce3bb70bcbb?api-version=2021-03-01-preview cache-control: - no-store, no-cache content-length: - - '1671' + - '1821' content-type: - application/json date: - - Thu, 28 Jan 2021 22:57:20 GMT + - Mon, 24 May 2021 19:02:04 GMT location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/operationResults/a17a7022-fc36-4fc4-9b73-0627af12db52?api-version=2020-06-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/operationResults/711e90ab-7d40-4120-8752-6ce3bb70bcbb?api-version=2021-03-01-preview pragma: - no-cache server: @@ -125,10 +125,10 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/a17a7022-fc36-4fc4-9b73-0627af12db52?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/711e90ab-7d40-4120-8752-6ce3bb70bcbb?api-version=2021-03-01-preview response: body: string: '{"status":"Dequeued"}' @@ -140,7 +140,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 22:57:50 GMT + - Mon, 24 May 2021 19:02:35 GMT pragma: - no-cache server: @@ -172,10 +172,10 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/a17a7022-fc36-4fc4-9b73-0627af12db52?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/711e90ab-7d40-4120-8752-6ce3bb70bcbb?api-version=2021-03-01-preview response: body: string: '{"status":"Dequeued"}' @@ -187,7 +187,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 22:58:21 GMT + - Mon, 24 May 2021 19:03:05 GMT pragma: - no-cache server: @@ -219,10 +219,57 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/a17a7022-fc36-4fc4-9b73-0627af12db52?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/711e90ab-7d40-4120-8752-6ce3bb70bcbb?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:03:35 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g --backup-policy-type --locations + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/711e90ab-7d40-4120-8752-6ce3bb70bcbb?api-version=2021-03-01-preview response: body: string: '{"status":"Succeeded"}' @@ -234,7 +281,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 22:58:51 GMT + - Mon, 24 May 2021 19:04:05 GMT pragma: - no-cache server: @@ -266,27 +313,27 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-03-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-01-28T22:58:06.6618909Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"instanceId":"edf13eb4-5bcd-443c-802c-099edcb9b1c7","createMode":"Default","databaseAccountOfferType":"Standard","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:03:27.8163027Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"4887b893-fa01-44c5-88c9-63b8743ccb24","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-westus","locationName":"West - US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"}},"identity":{"type":"None"}}' + US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' headers: cache-control: - no-store, no-cache content-length: - - '1976' + - '2126' content-type: - application/json date: - - Thu, 28 Jan 2021 22:58:51 GMT + - Mon, 24 May 2021 19:04:05 GMT pragma: - no-cache server: @@ -318,29 +365,29 @@ interactions: ParameterSetName: - -n -g --backup-policy-type --locations User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-03-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-01-28T22:58:06.6618909Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"instanceId":"edf13eb4-5bcd-443c-802c-099edcb9b1c7","createMode":"Default","databaseAccountOfferType":"Standard","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:03:27.8163027Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"4887b893-fa01-44c5-88c9-63b8743ccb24","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-westus","locationName":"West - US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"}},"identity":{"type":"None"}}' + US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' headers: cache-control: - no-store, no-cache content-length: - - '1976' + - '2126' content-type: - application/json date: - - Thu, 28 Jan 2021 22:58:52 GMT + - Mon, 24 May 2021 19:04:06 GMT pragma: - no-cache server: @@ -372,29 +419,29 @@ interactions: ParameterSetName: - -n -g User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004?api-version=2021-03-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004","name":"cli000004","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-01-28T22:58:06.6618909Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"instanceId":"edf13eb4-5bcd-443c-802c-099edcb9b1c7","createMode":"Default","databaseAccountOfferType":"Standard","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:03:27.8163027Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000004.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"4887b893-fa01-44c5-88c9-63b8743ccb24","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000004-westus","locationName":"West US","documentEndpoint":"https://cli000004-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000004-westus","locationName":"West - US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"}},"identity":{"type":"None"}}' + US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Continuous"},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' headers: cache-control: - no-store, no-cache content-length: - - '1976' + - '2126' content-type: - application/json date: - - Thu, 28 Jan 2021 22:58:52 GMT + - Mon, 24 May 2021 19:04:07 GMT pragma: - no-cache server: @@ -426,22 +473,19 @@ interactions: Content-Length: - '70' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - -g -a -n User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/1.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-mgmt-cosmosdb/6.2.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003?api-version=2020-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003?api-version=2021-03-15 response: body: string: '{"status":"Enqueued"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/f3852243-c797-4685-8ac2-b145559bca2e?api-version=2020-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/41cea9f5-edc0-469b-8d5f-4d64bb4e552d?api-version=2021-03-15 cache-control: - no-store, no-cache content-length: @@ -449,9 +493,9 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 22:58:54 GMT + - Mon, 24 May 2021 19:04:08 GMT location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003/operationResults/f3852243-c797-4685-8ac2-b145559bca2e?api-version=2020-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003/operationResults/41cea9f5-edc0-469b-8d5f-4d64bb4e552d?api-version=2021-03-15 pragma: - no-cache server: @@ -463,7 +507,7 @@ interactions: x-ms-gatewayversion: - version=2.11.0 x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1199' status: code: 202 message: Accepted @@ -471,7 +515,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -481,10 +525,9 @@ interactions: ParameterSetName: - -g -a -n User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/1.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 + - AZURECLI/2.23.0 azsdk-python-mgmt-cosmosdb/6.2.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/f3852243-c797-4685-8ac2-b145559bca2e?api-version=2020-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/41cea9f5-edc0-469b-8d5f-4d64bb4e552d?api-version=2021-03-15 response: body: string: '{"status":"Succeeded"}' @@ -496,7 +539,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 22:59:23 GMT + - Mon, 24 May 2021 19:04:38 GMT pragma: - no-cache server: @@ -518,7 +561,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -528,13 +571,12 @@ interactions: ParameterSetName: - -g -a -n User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/1.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 + - AZURECLI/2.23.0 azsdk-python-mgmt-cosmosdb/6.2.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003?api-version=2020-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003?api-version=2021-03-15 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003","type":"Microsoft.DocumentDB/databaseAccounts/sqlDatabases","name":"cli000003","properties":{"resource":{"id":"cli000003","_rid":"TJFxAA==","_self":"dbs/TJFxAA==/","_etag":"\"0000c500-0000-0700-0000-601341b20000\"","_colls":"colls/","_users":"users/","_ts":1611874738}}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003","type":"Microsoft.DocumentDB/databaseAccounts/sqlDatabases","name":"cli000003","properties":{"resource":{"id":"cli000003","_rid":"ASNBAA==","_self":"dbs/ASNBAA==/","_etag":"\"00000d00-0000-0700-0000-60abf8ae0000\"","_colls":"colls/","_users":"users/","_ts":1621883054}}}' headers: cache-control: - no-store, no-cache @@ -543,7 +585,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 22:59:24 GMT + - Mon, 24 May 2021 19:04:38 GMT pragma: - no-cache server: @@ -578,22 +620,19 @@ interactions: Content-Length: - '271' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - -g -a -d -n -p User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/1.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-mgmt-cosmosdb/6.2.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003/containers/cli000002?api-version=2020-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003/containers/cli000002?api-version=2021-03-15 response: body: string: '{"status":"Enqueued"}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/83c426f8-0adc-47ef-a692-ebd66c4f4c81?api-version=2020-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/8619125a-40a8-4236-ad4c-b0e27ed31e78?api-version=2021-03-15 cache-control: - no-store, no-cache content-length: @@ -601,9 +640,9 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 22:59:26 GMT + - Mon, 24 May 2021 19:04:39 GMT location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003/containers/cli000002/operationResults/83c426f8-0adc-47ef-a692-ebd66c4f4c81?api-version=2020-04-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003/containers/cli000002/operationResults/8619125a-40a8-4236-ad4c-b0e27ed31e78?api-version=2021-03-15 pragma: - no-cache server: @@ -615,7 +654,7 @@ interactions: x-ms-gatewayversion: - version=2.11.0 x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 202 message: Accepted @@ -623,7 +662,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -633,10 +672,9 @@ interactions: ParameterSetName: - -g -a -d -n -p User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/1.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 + - AZURECLI/2.23.0 azsdk-python-mgmt-cosmosdb/6.2.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/83c426f8-0adc-47ef-a692-ebd66c4f4c81?api-version=2020-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/8619125a-40a8-4236-ad4c-b0e27ed31e78?api-version=2021-03-15 response: body: string: '{"status":"Succeeded"}' @@ -648,7 +686,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 22:59:56 GMT + - Mon, 24 May 2021 19:05:09 GMT pragma: - no-cache server: @@ -670,7 +708,7 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: @@ -680,13 +718,12 @@ interactions: ParameterSetName: - -g -a -d -n -p User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/1.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 + - AZURECLI/2.23.0 azsdk-python-mgmt-cosmosdb/6.2.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003/containers/cli000002?api-version=2020-04-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003/containers/cli000002?api-version=2021-03-15 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003/containers/cli000002","type":"Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers","name":"cli000002","properties":{"resource":{"id":"cli000002","indexingPolicy":{"indexingMode":"consistent","automatic":true,"includedPaths":[{"path":"/*"}],"excludedPaths":[{"path":"/\"_etag\"/?"}]},"partitionKey":{"paths":["/pk"],"kind":"Hash"},"uniqueKeyPolicy":{"uniqueKeys":[]},"conflictResolutionPolicy":{"mode":"LastWriterWins","conflictResolutionPath":"/_ts","conflictResolutionProcedure":""},"backupPolicy":{"type":1},"allowMaterializedViews":false,"geospatialConfig":{"type":"Geography"},"_rid":"TJFxALeTxfc=","_ts":1611874770,"_self":"dbs/TJFxAA==/colls/TJFxALeTxfc=/","_etag":"\"0000c800-0000-0700-0000-601341d20000\"","_docs":"docs/","_sprocs":"sprocs/","_triggers":"triggers/","_udfs":"udfs/","_conflicts":"conflicts/","statistics":[{"id":"0","sizeInKB":0,"documentCount":0,"partitionKeys":[]}]}}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_restorable_commands000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000004/sqlDatabases/cli000003/containers/cli000002","type":"Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers","name":"cli000002","properties":{"resource":{"id":"cli000002","indexingPolicy":{"indexingMode":"consistent","automatic":true,"includedPaths":[{"path":"/*"}],"excludedPaths":[{"path":"/\"_etag\"/?"}]},"partitionKey":{"paths":["/pk"],"kind":"Hash"},"uniqueKeyPolicy":{"uniqueKeys":[]},"conflictResolutionPolicy":{"mode":"LastWriterWins","conflictResolutionPath":"/_ts","conflictResolutionProcedure":""},"backupPolicy":{"type":1},"allowMaterializedViews":false,"geospatialConfig":{"type":"Geography"},"_rid":"ASNBAKs48fM=","_ts":1621883086,"_self":"dbs/ASNBAA==/colls/ASNBAKs48fM=/","_etag":"\"00001000-0000-0700-0000-60abf8ce0000\"","_docs":"docs/","_sprocs":"sprocs/","_triggers":"triggers/","_udfs":"udfs/","_conflicts":"conflicts/","statistics":[{"id":"0","sizeInKB":0,"documentCount":0,"partitionKeys":[]}]}}}' headers: cache-control: - no-store, no-cache @@ -695,7 +732,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 22:59:57 GMT + - Mon, 24 May 2021 19:05:09 GMT pragma: - no-cache server: @@ -727,16 +764,16 @@ interactions: ParameterSetName: - --location --instance-id User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/edf13eb4-5bcd-443c-802c-099edcb9b1c7?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/4887b893-fa01-44c5-88c9-63b8743ccb24?api-version=2021-03-01-preview response: body: - string: '{"name":"edf13eb4-5bcd-443c-802c-099edcb9b1c7","location":"West US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/edf13eb4-5bcd-443c-802c-099edcb9b1c7","properties":{"accountName":"cli000004","apiType":"Sql","creationTime":"2021-01-28T22:58:07Z","restorableLocations":[{"locationName":"West - US","regionalDatabaseAccountInstanceId":"fc9b8e20-570c-44ba-927b-22e9e1c3124f","creationTime":"2021-01-28T22:58:08Z"}]}}' + string: '{"name":"4887b893-fa01-44c5-88c9-63b8743ccb24","location":"West US","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts","id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/4887b893-fa01-44c5-88c9-63b8743ccb24","properties":{"accountName":"cli000004","apiType":"Sql","creationTime":"2021-05-24T19:03:28Z","restorableLocations":[{"locationName":"West + US","regionalDatabaseAccountInstanceId":"344e6d5d-b509-41bf-8e1b-9fcca0fab48f","creationTime":"2021-05-24T19:03:29Z"}]}}' headers: cache-control: - no-store, no-cache @@ -745,7 +782,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:00:02 GMT + - Mon, 24 May 2021 19:05:11 GMT pragma: - no-cache server: @@ -777,15 +814,15 @@ interactions: ParameterSetName: - --location --instance-id User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/edf13eb4-5bcd-443c-802c-099edcb9b1c7/restorableSqlDatabases?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/4887b893-fa01-44c5-88c9-63b8743ccb24/restorableSqlDatabases?api-version=2021-03-01-preview response: body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/edf13eb4-5bcd-443c-802c-099edcb9b1c7/restorableSqlDatabases/d804d617-b30b-4ed2-9455-e21a8602ff13","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableSqlDatabases","name":"d804d617-b30b-4ed2-9455-e21a8602ff13","properties":{"resource":{"_rid":"CVlRqwAAAA==","eventTimestamp":"2021-01-28T22:58:58Z","ownerId":"cli000003","ownerResourceId":"TJFxAA==","operationType":"Create","database":{"id":"cli000003","_rid":"TJFxAA==","_self":"dbs/TJFxAA==/","_etag":"\"0000c500-0000-0700-0000-601341b20000\"","_colls":"colls/","_users":"users/"}}}}]}' + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/4887b893-fa01-44c5-88c9-63b8743ccb24/restorableSqlDatabases/e0c55daf-e2c6-4e72-ad48-8eae1a6a9a53","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableSqlDatabases","name":"e0c55daf-e2c6-4e72-ad48-8eae1a6a9a53","properties":{"resource":{"_rid":"1eyO7AAAAA==","eventTimestamp":"2021-05-24T19:04:14Z","ownerId":"cli000003","ownerResourceId":"ASNBAA==","operationType":"Create","database":{"id":"cli000003","_rid":"ASNBAA==","_self":"dbs/ASNBAA==/","_etag":"\"00000d00-0000-0700-0000-60abf8ae0000\"","_colls":"colls/","_users":"users/"}}}}]}' headers: cache-control: - no-store, no-cache @@ -794,7 +831,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:00:08 GMT + - Mon, 24 May 2021 19:05:12 GMT pragma: - no-cache server: @@ -826,15 +863,15 @@ interactions: ParameterSetName: - --location --instance-id --database-rid User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/edf13eb4-5bcd-443c-802c-099edcb9b1c7/restorableSqlContainers?api-version=2020-06-01-preview&restorableSqlDatabaseRid=TJFxAA%3D%3D + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/4887b893-fa01-44c5-88c9-63b8743ccb24/restorableSqlContainers?api-version=2021-03-01-preview&restorableSqlDatabaseRid=ASNBAA%3D%3D response: body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/edf13eb4-5bcd-443c-802c-099edcb9b1c7/restorableSqlContainers/3a9802c8-d934-455a-bb23-9c8b455334b3","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableSqlContainers","name":"3a9802c8-d934-455a-bb23-9c8b455334b3","properties":{"resource":{"_rid":"ARYNvQAAAA==","eventTimestamp":"2021-01-28T22:59:30Z","ownerId":"cli000002","ownerResourceId":"TJFxALeTxfc=","operationType":"Create","container":{"id":"cli000002","indexingPolicy":{"indexingMode":"consistent","automatic":true,"supportSpatialLegacyCoordinates":false,"usePolygonsSmallerThanAHemisphere":false,"includedPaths":[{"path":"/*"},{"path":"/\"_ts\"/?"}],"excludedPaths":[{"path":"/\"_etag\"/?"}]},"partitionKey":{"paths":["/pk"],"kind":"Hash"},"uniqueKeyPolicy":{"uniqueKeys":[]},"internalIndexingProperties":{"enableIndexingFullFidelity":true,"logicalIndexVersion":2,"indexEncodingOptions":65567},"conflictResolutionPolicy":{"mode":"LastWriterWins","conflictResolutionPath":"/_ts","conflictResolutionProcedure":""},"backupPolicy":{"type":1},"allowMaterializedViews":false,"geospatialConfig":{"type":"Geography"},"typeSystemPolicy":{"typeSystem":"CosmosCore"},"uniqueIndexNameEncodingMode":1,"_idxpolicyver":2,"_rid":"TJFxALeTxfc=","_self":"dbs/TJFxAA==/colls/TJFxALeTxfc=/","_etag":"\"0000c800-0000-0700-0000-601341d20000\"","_docs":"docs/","_sprocs":"sprocs/","_triggers":"triggers/","_udfs":"udfs/","_conflicts":"conflicts/"}}}}]}' + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/4887b893-fa01-44c5-88c9-63b8743ccb24/restorableSqlContainers/14e1678d-356a-4174-ba87-c2798b3d9dfb","type":"Microsoft.DocumentDB/locations/restorableDatabaseAccounts/restorableSqlContainers","name":"14e1678d-356a-4174-ba87-c2798b3d9dfb","properties":{"resource":{"_rid":"93WD4wAAAA==","eventTimestamp":"2021-05-24T19:04:46Z","ownerId":"cli000002","ownerResourceId":"ASNBAKs48fM=","operationType":"Create","container":{"id":"cli000002","indexingPolicy":{"indexingMode":"consistent","automatic":true,"supportSpatialLegacyCoordinates":false,"usePolygonsSmallerThanAHemisphere":false,"includedPaths":[{"path":"/*"},{"path":"/\"_ts\"/?"}],"excludedPaths":[{"path":"/\"_etag\"/?"}]},"partitionKey":{"paths":["/pk"],"kind":"Hash"},"uniqueKeyPolicy":{"uniqueKeys":[]},"internalIndexingProperties":{"enableIndexingFullFidelity":true,"logicalIndexVersion":2,"indexEncodingOptions":65567},"conflictResolutionPolicy":{"mode":"LastWriterWins","conflictResolutionPath":"/_ts","conflictResolutionProcedure":""},"backupPolicy":{"type":1},"allowMaterializedViews":false,"geospatialConfig":{"type":"Geography"},"typeSystemPolicy":{"typeSystem":"CosmosCore"},"uniqueIndexNameEncodingMode":1,"_idxpolicyver":2,"_rid":"ASNBAKs48fM=","_self":"dbs/ASNBAA==/colls/ASNBAKs48fM=/","_etag":"\"00001000-0000-0700-0000-60abf8ce0000\"","_docs":"docs/","_sprocs":"sprocs/","_triggers":"triggers/","_udfs":"udfs/","_conflicts":"conflicts/"}}}}]}' headers: cache-control: - no-store, no-cache @@ -843,7 +880,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:00:13 GMT + - Mon, 24 May 2021 19:05:14 GMT pragma: - no-cache server: @@ -875,12 +912,12 @@ interactions: ParameterSetName: - --restore-location -l --instance-id --restore-timestamp User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/edf13eb4-5bcd-443c-802c-099edcb9b1c7/restorableSqlResources?api-version=2020-06-01-preview&restoreLocation=westus&restoreTimestampInUtc=2021-01-28T23%3A00%3A07%2B00%3A00 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/4887b893-fa01-44c5-88c9-63b8743ccb24/restorableSqlResources?api-version=2021-03-01-preview&restoreLocation=westus&restoreTimestampInUtc=2021-05-24T19%3A05%3A28%2B00%3A00 response: body: string: '{"value":[{"databaseName":"cli000003","collectionNames":["cli000002"]}]}' @@ -892,7 +929,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 23:02:17 GMT + - Mon, 24 May 2021 19:07:16 GMT pragma: - no-cache server: diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_sql_role.yaml b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_sql_role.yaml deleted file mode 100644 index 1075673d9a9..00000000000 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_cosmosdb_sql_role.yaml +++ /dev/null @@ -1,2311 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb create - Connection: - - keep-alive - ParameterSetName: - - -n -g --locations - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_cosmosdb_sql_role000001?api-version=2020-10-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001","name":"cli_test_cosmosdb_sql_role000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-02-23T00:47:30Z"},"properties":{"provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '428' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 23 Feb 2021 00:47:31 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: '{"location": "westus", "kind": "GlobalDocumentDB", "properties": {"locations": - [{"locationName": "eastus2", "failoverPriority": 0, "isZoneRedundant": false}], - "databaseAccountOfferType": "Standard", "apiProperties": {}, "createMode": "Default"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb create - Connection: - - keep-alive - Content-Length: - - '245' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - -n -g --locations - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002?api-version=2020-06-01-preview - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002","name":"cli000002","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-02-23T00:47:35.6727791Z"},"properties":{"provisioningState":"Creating","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"instanceId":"5201e091-dfe3-4fdc-94b7-4d83ed315069","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000002-eastus2","locationName":"East - US 2","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000002-eastus2","locationName":"East - US 2","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000002-eastus2","locationName":"East - US 2","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000002-eastus2","locationName":"East - US 2","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Periodic","periodicModeProperties":{"backupIntervalInMinutes":240,"backupRetentionIntervalInHours":8,"backupStorageRedundancy":1}}},"identity":{"type":"None"}}' - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/16a58321-c819-482c-b86d-e17a8b4fd06e?api-version=2020-06-01-preview - cache-control: - - no-store, no-cache - content-length: - - '1854' - content-type: - - application/json - date: - - Tue, 23 Feb 2021 00:47:36 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/operationResults/16a58321-c819-482c-b86d-e17a8b4fd06e?api-version=2020-06-01-preview - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb create - Connection: - - keep-alive - ParameterSetName: - - -n -g --locations - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.19.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/16a58321-c819-482c-b86d-e17a8b4fd06e?api-version=2020-06-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Tue, 23 Feb 2021 00:48:07 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb create - Connection: - - keep-alive - ParameterSetName: - - -n -g --locations - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.19.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/16a58321-c819-482c-b86d-e17a8b4fd06e?api-version=2020-06-01-preview - response: - body: - string: '{"status":"Succeeded"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '22' - content-type: - - application/json - date: - - Tue, 23 Feb 2021 00:48:37 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb create - Connection: - - keep-alive - ParameterSetName: - - -n -g --locations - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.19.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002?api-version=2020-06-01-preview - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002","name":"cli000002","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-02-23T00:48:03.9120579Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000002.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"instanceId":"5201e091-dfe3-4fdc-94b7-4d83ed315069","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000002-eastus2","locationName":"East - US 2","documentEndpoint":"https://cli000002-eastus2.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000002-eastus2","locationName":"East - US 2","documentEndpoint":"https://cli000002-eastus2.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000002-eastus2","locationName":"East - US 2","documentEndpoint":"https://cli000002-eastus2.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000002-eastus2","locationName":"East - US 2","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Periodic","periodicModeProperties":{"backupIntervalInMinutes":240,"backupRetentionIntervalInHours":8,"backupStorageRedundancy":1}}},"identity":{"type":"None"}}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '2162' - content-type: - - application/json - date: - - Tue, 23 Feb 2021 00:48:37 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb create - Connection: - - keep-alive - ParameterSetName: - - -n -g --locations - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002?api-version=2020-06-01-preview - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002","name":"cli000002","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-02-23T00:48:03.9120579Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000002.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"instanceId":"5201e091-dfe3-4fdc-94b7-4d83ed315069","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000002-eastus2","locationName":"East - US 2","documentEndpoint":"https://cli000002-eastus2.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000002-eastus2","locationName":"East - US 2","documentEndpoint":"https://cli000002-eastus2.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000002-eastus2","locationName":"East - US 2","documentEndpoint":"https://cli000002-eastus2.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000002-eastus2","locationName":"East - US 2","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Periodic","periodicModeProperties":{"backupIntervalInMinutes":240,"backupRetentionIntervalInHours":8,"backupStorageRedundancy":1}}},"identity":{"type":"None"}}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '2162' - content-type: - - application/json - date: - - Tue, 23 Feb 2021 00:48:37 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: '{"properties": {"resource": {"id": "cli000003"}, "options": {}}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb sql database create - Connection: - - keep-alive - Content-Length: - - '70' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - -g -a -n - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/1.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlDatabases/cli000003?api-version=2020-04-01 - response: - body: - string: '{"status":"Enqueued"}' - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/d26ff97e-a06a-4938-9119-96d460fc7a78?api-version=2020-04-01 - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Tue, 23 Feb 2021 00:49:03 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlDatabases/cli000003/operationResults/d26ff97e-a06a-4938-9119-96d460fc7a78?api-version=2020-04-01 - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb sql database create - Connection: - - keep-alive - ParameterSetName: - - -g -a -n - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/1.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/d26ff97e-a06a-4938-9119-96d460fc7a78?api-version=2020-04-01 - response: - body: - string: '{"status":"Succeeded"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '22' - content-type: - - application/json - date: - - Tue, 23 Feb 2021 00:49:34 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb sql database create - Connection: - - keep-alive - ParameterSetName: - - -g -a -n - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/1.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlDatabases/cli000003?api-version=2020-04-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlDatabases/cli000003","type":"Microsoft.DocumentDB/databaseAccounts/sqlDatabases","name":"cli000003","properties":{"resource":{"id":"cli000003","_rid":"hf1GAA==","_self":"dbs/hf1GAA==/","_etag":"\"00000d02-0000-0200-0000-603451030000\"","_colls":"colls/","_users":"users/","_ts":1614041347}}}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '526' - content-type: - - application/json - date: - - Tue, 23 Feb 2021 00:49:34 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: '{"properties": {"roleName": "roleName", "type": "CustomRole", "assignableScopes": - ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/"], - "permissions": [{"dataActions": ["Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create", - "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read"]}]}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb sql role definition create - Connection: - - keep-alive - Content-Length: - - '485' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - -g -a -b - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleDefinitions/be79875a-2cc4-40d5-8958-566017875b39?api-version=2020-06-01-preview - response: - body: - string: '{"status":"Enqueued"}' - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/0b81c226-7d46-4663-96e2-1b8cb0163920?api-version=2020-06-01-preview - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Tue, 23 Feb 2021 00:49:37 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleDefinitions/be79875a-2cc4-40d5-8958-566017875b39/operationResults/0b81c226-7d46-4663-96e2-1b8cb0163920?api-version=2020-06-01-preview - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb sql role definition create - Connection: - - keep-alive - ParameterSetName: - - -g -a -b - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.19.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/0b81c226-7d46-4663-96e2-1b8cb0163920?api-version=2020-06-01-preview - response: - body: - string: '{"status":"Succeeded"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '22' - content-type: - - application/json - date: - - Tue, 23 Feb 2021 00:50:07 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb sql role definition create - Connection: - - keep-alive - ParameterSetName: - - -g -a -b - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.19.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleDefinitions/be79875a-2cc4-40d5-8958-566017875b39?api-version=2020-06-01-preview - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleDefinitions/be79875a-2cc4-40d5-8958-566017875b39","name":"be79875a-2cc4-40d5-8958-566017875b39","properties":{"roleName":"roleName","type":1,"assignableScopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002"],"permissions":[{"dataActions":["Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create","Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read"],"notDataActions":[]}]},"type":"Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '865' - content-type: - - application/json - date: - - Tue, 23 Feb 2021 00:50:07 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb sql role definition exists - Connection: - - keep-alive - ParameterSetName: - - -g -a -i - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleDefinitions/be79875a-2cc4-40d5-8958-566017875b39?api-version=2020-06-01-preview - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleDefinitions/be79875a-2cc4-40d5-8958-566017875b39","name":"be79875a-2cc4-40d5-8958-566017875b39","properties":{"roleName":"roleName","type":1,"assignableScopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002"],"permissions":[{"dataActions":["Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create","Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read"],"notDataActions":[]}]},"type":"Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '865' - content-type: - - application/json - date: - - Tue, 23 Feb 2021 00:50:09 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb sql role definition show - Connection: - - keep-alive - ParameterSetName: - - -g -a -i - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleDefinitions/be79875a-2cc4-40d5-8958-566017875b39?api-version=2020-06-01-preview - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleDefinitions/be79875a-2cc4-40d5-8958-566017875b39","name":"be79875a-2cc4-40d5-8958-566017875b39","properties":{"roleName":"roleName","type":1,"assignableScopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002"],"permissions":[{"dataActions":["Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create","Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read"],"notDataActions":[]}]},"type":"Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '865' - content-type: - - application/json - date: - - Tue, 23 Feb 2021 00:50:10 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb sql role definition update - Connection: - - keep-alive - ParameterSetName: - - -g -a -b - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleDefinitions/be79875a-2cc4-40d5-8958-566017875b39?api-version=2020-06-01-preview - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleDefinitions/be79875a-2cc4-40d5-8958-566017875b39","name":"be79875a-2cc4-40d5-8958-566017875b39","properties":{"roleName":"roleName","type":1,"assignableScopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002"],"permissions":[{"dataActions":["Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create","Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read"],"notDataActions":[]}]},"type":"Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '865' - content-type: - - application/json - date: - - Tue, 23 Feb 2021 00:50:11 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: '{"properties": {"roleName": "roleName2", "type": "CustomRole", "assignableScopes": - ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/"], - "permissions": [{"dataActions": ["Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create"]}, - {"dataActions": ["Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read"]}]}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb sql role definition update - Connection: - - keep-alive - Content-Length: - - '505' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - -g -a -b - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleDefinitions/be79875a-2cc4-40d5-8958-566017875b39?api-version=2020-06-01-preview - response: - body: - string: '{"status":"Enqueued"}' - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/295e89eb-6575-4fdf-8b0d-9767e1eef4b9?api-version=2020-06-01-preview - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Tue, 23 Feb 2021 00:50:12 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleDefinitions/be79875a-2cc4-40d5-8958-566017875b39/operationResults/295e89eb-6575-4fdf-8b0d-9767e1eef4b9?api-version=2020-06-01-preview - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb sql role definition update - Connection: - - keep-alive - ParameterSetName: - - -g -a -b - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.19.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/295e89eb-6575-4fdf-8b0d-9767e1eef4b9?api-version=2020-06-01-preview - response: - body: - string: '{"status":"Succeeded"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '22' - content-type: - - application/json - date: - - Tue, 23 Feb 2021 00:50:42 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb sql role definition update - Connection: - - keep-alive - ParameterSetName: - - -g -a -b - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.19.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleDefinitions/be79875a-2cc4-40d5-8958-566017875b39?api-version=2020-06-01-preview - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleDefinitions/be79875a-2cc4-40d5-8958-566017875b39","name":"be79875a-2cc4-40d5-8958-566017875b39","properties":{"roleName":"roleName2","type":1,"assignableScopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002"],"permissions":[{"dataActions":["Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create"],"notDataActions":[]},{"dataActions":["Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read"],"notDataActions":[]}]},"type":"Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '904' - content-type: - - application/json - date: - - Tue, 23 Feb 2021 00:50:43 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: '{"properties": {"roleName": "roleName3", "type": "CustomRole", "assignableScopes": - ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/"], - "permissions": [{"dataActions": ["Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create"]}, - {"dataActions": ["Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read"]}, - {"dataActions": ["Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/replace"]}]}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb sql role definition create - Connection: - - keep-alive - Content-Length: - - '603' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - -g -a -b - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleDefinitions/6328f5f7-dbf7-4244-bba8-fbb9d8066506?api-version=2020-06-01-preview - response: - body: - string: '{"status":"Enqueued"}' - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/80a369af-4c9b-4838-89f8-2b1eb4861f2e?api-version=2020-06-01-preview - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Tue, 23 Feb 2021 00:50:45 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleDefinitions/6328f5f7-dbf7-4244-bba8-fbb9d8066506/operationResults/80a369af-4c9b-4838-89f8-2b1eb4861f2e?api-version=2020-06-01-preview - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb sql role definition create - Connection: - - keep-alive - ParameterSetName: - - -g -a -b - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.19.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/80a369af-4c9b-4838-89f8-2b1eb4861f2e?api-version=2020-06-01-preview - response: - body: - string: '{"status":"Succeeded"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '22' - content-type: - - application/json - date: - - Tue, 23 Feb 2021 00:51:16 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb sql role definition create - Connection: - - keep-alive - ParameterSetName: - - -g -a -b - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.19.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleDefinitions/6328f5f7-dbf7-4244-bba8-fbb9d8066506?api-version=2020-06-01-preview - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleDefinitions/6328f5f7-dbf7-4244-bba8-fbb9d8066506","name":"6328f5f7-dbf7-4244-bba8-fbb9d8066506","properties":{"roleName":"roleName3","type":1,"assignableScopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002"],"permissions":[{"dataActions":["Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create"],"notDataActions":[]},{"dataActions":["Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read"],"notDataActions":[]},{"dataActions":["Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/replace"],"notDataActions":[]}]},"type":"Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '1020' - content-type: - - application/json - date: - - Tue, 23 Feb 2021 00:51:16 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb sql role definition list - Connection: - - keep-alive - ParameterSetName: - - -g -a - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleDefinitions?api-version=2020-06-01-preview - response: - body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleDefinitions/6328f5f7-dbf7-4244-bba8-fbb9d8066506","name":"6328f5f7-dbf7-4244-bba8-fbb9d8066506","properties":{"roleName":"roleName3","type":1,"assignableScopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002"],"permissions":[{"dataActions":["Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create"],"notDataActions":[]},{"dataActions":["Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read"],"notDataActions":[]},{"dataActions":["Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/replace"],"notDataActions":[]}]},"type":"Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleDefinitions/be79875a-2cc4-40d5-8958-566017875b39","name":"be79875a-2cc4-40d5-8958-566017875b39","properties":{"roleName":"roleName2","type":1,"assignableScopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002"],"permissions":[{"dataActions":["Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create"],"notDataActions":[]},{"dataActions":["Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read"],"notDataActions":[]}]},"type":"Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions"}]}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '1937' - content-type: - - application/json - date: - - Tue, 23 Feb 2021 00:51:17 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: '{"properties": {"roleDefinitionId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleDefinitions/be79875a-2cc4-40d5-8958-566017875b39", - "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/dbs/cli000003", - "principalId": "ed4c2395-a18c-4018-afb3-6e521e7534d2"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb sql role assignment create - Connection: - - keep-alive - Content-Length: - - '596' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - -g -a -s -p -d -i - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleAssignments/cb8ed2d7-2371-4e3c-bd31-6cc1560e84f8?api-version=2020-06-01-preview - response: - body: - string: '{"status":"Enqueued"}' - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/a5d63e82-7c70-4b46-96a7-0a6bc3a14367?api-version=2020-06-01-preview - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Tue, 23 Feb 2021 00:51:19 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleAssignments/cb8ed2d7-2371-4e3c-bd31-6cc1560e84f8/operationResults/a5d63e82-7c70-4b46-96a7-0a6bc3a14367?api-version=2020-06-01-preview - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb sql role assignment create - Connection: - - keep-alive - ParameterSetName: - - -g -a -s -p -d -i - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.19.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/a5d63e82-7c70-4b46-96a7-0a6bc3a14367?api-version=2020-06-01-preview - response: - body: - string: '{"status":"Succeeded"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '22' - content-type: - - application/json - date: - - Tue, 23 Feb 2021 00:51:50 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb sql role assignment create - Connection: - - keep-alive - ParameterSetName: - - -g -a -s -p -d -i - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.19.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleAssignments/cb8ed2d7-2371-4e3c-bd31-6cc1560e84f8?api-version=2020-06-01-preview - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleAssignments/cb8ed2d7-2371-4e3c-bd31-6cc1560e84f8","name":"cb8ed2d7-2371-4e3c-bd31-6cc1560e84f8","properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleDefinitions/be79875a-2cc4-40d5-8958-566017875b39","principalId":"ed4c2395-a18c-4018-afb3-6e521e7534d2","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/dbs/cli000003"},"type":"Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '972' - content-type: - - application/json - date: - - Tue, 23 Feb 2021 00:51:50 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb sql role assignment exists - Connection: - - keep-alive - ParameterSetName: - - -g -a -i - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleAssignments/cb8ed2d7-2371-4e3c-bd31-6cc1560e84f8?api-version=2020-06-01-preview - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleAssignments/cb8ed2d7-2371-4e3c-bd31-6cc1560e84f8","name":"cb8ed2d7-2371-4e3c-bd31-6cc1560e84f8","properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleDefinitions/be79875a-2cc4-40d5-8958-566017875b39","principalId":"ed4c2395-a18c-4018-afb3-6e521e7534d2","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/dbs/cli000003"},"type":"Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '972' - content-type: - - application/json - date: - - Tue, 23 Feb 2021 00:51:52 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb sql role assignment show - Connection: - - keep-alive - ParameterSetName: - - -g -a -i - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleAssignments/cb8ed2d7-2371-4e3c-bd31-6cc1560e84f8?api-version=2020-06-01-preview - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleAssignments/cb8ed2d7-2371-4e3c-bd31-6cc1560e84f8","name":"cb8ed2d7-2371-4e3c-bd31-6cc1560e84f8","properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleDefinitions/be79875a-2cc4-40d5-8958-566017875b39","principalId":"ed4c2395-a18c-4018-afb3-6e521e7534d2","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/dbs/cli000003"},"type":"Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '972' - content-type: - - application/json - date: - - Tue, 23 Feb 2021 00:51:53 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb sql role assignment update - Connection: - - keep-alive - ParameterSetName: - - -g -a -d -i - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleAssignments/cb8ed2d7-2371-4e3c-bd31-6cc1560e84f8?api-version=2020-06-01-preview - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleAssignments/cb8ed2d7-2371-4e3c-bd31-6cc1560e84f8","name":"cb8ed2d7-2371-4e3c-bd31-6cc1560e84f8","properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleDefinitions/be79875a-2cc4-40d5-8958-566017875b39","principalId":"ed4c2395-a18c-4018-afb3-6e521e7534d2","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/dbs/cli000003"},"type":"Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '972' - content-type: - - application/json - date: - - Tue, 23 Feb 2021 00:51:54 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: '{"properties": {"roleDefinitionId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleDefinitions/6328f5f7-dbf7-4244-bba8-fbb9d8066506", - "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/dbs/cli000003", - "principalId": "ed4c2395-a18c-4018-afb3-6e521e7534d2"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb sql role assignment update - Connection: - - keep-alive - Content-Length: - - '596' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - -g -a -d -i - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleAssignments/cb8ed2d7-2371-4e3c-bd31-6cc1560e84f8?api-version=2020-06-01-preview - response: - body: - string: '{"status":"Enqueued"}' - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/fb47e204-6f6d-4c67-9eb3-331fbeda2f5a?api-version=2020-06-01-preview - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Tue, 23 Feb 2021 00:51:55 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleAssignments/cb8ed2d7-2371-4e3c-bd31-6cc1560e84f8/operationResults/fb47e204-6f6d-4c67-9eb3-331fbeda2f5a?api-version=2020-06-01-preview - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb sql role assignment update - Connection: - - keep-alive - ParameterSetName: - - -g -a -d -i - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.19.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/fb47e204-6f6d-4c67-9eb3-331fbeda2f5a?api-version=2020-06-01-preview - response: - body: - string: '{"status":"Succeeded"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '22' - content-type: - - application/json - date: - - Tue, 23 Feb 2021 00:52:25 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb sql role assignment update - Connection: - - keep-alive - ParameterSetName: - - -g -a -d -i - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.19.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleAssignments/cb8ed2d7-2371-4e3c-bd31-6cc1560e84f8?api-version=2020-06-01-preview - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleAssignments/cb8ed2d7-2371-4e3c-bd31-6cc1560e84f8","name":"cb8ed2d7-2371-4e3c-bd31-6cc1560e84f8","properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleDefinitions/6328f5f7-dbf7-4244-bba8-fbb9d8066506","principalId":"ed4c2395-a18c-4018-afb3-6e521e7534d2","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/dbs/cli000003"},"type":"Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '972' - content-type: - - application/json - date: - - Tue, 23 Feb 2021 00:52:26 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb sql role assignment create - Connection: - - keep-alive - ParameterSetName: - - -g -a -s -p -n -i - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleDefinitions?api-version=2020-06-01-preview - response: - body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleDefinitions/6328f5f7-dbf7-4244-bba8-fbb9d8066506","name":"6328f5f7-dbf7-4244-bba8-fbb9d8066506","properties":{"roleName":"roleName3","type":1,"assignableScopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002"],"permissions":[{"dataActions":["Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create"],"notDataActions":[]},{"dataActions":["Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read"],"notDataActions":[]},{"dataActions":["Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/replace"],"notDataActions":[]}]},"type":"Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleDefinitions/be79875a-2cc4-40d5-8958-566017875b39","name":"be79875a-2cc4-40d5-8958-566017875b39","properties":{"roleName":"roleName2","type":1,"assignableScopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002"],"permissions":[{"dataActions":["Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create"],"notDataActions":[]},{"dataActions":["Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read"],"notDataActions":[]}]},"type":"Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions"}]}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '1937' - content-type: - - application/json - date: - - Tue, 23 Feb 2021 00:52:28 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: '{"properties": {"roleDefinitionId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleDefinitions/be79875a-2cc4-40d5-8958-566017875b39", - "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/dbs/cli000003", - "principalId": "ed4c2395-a18c-4018-afb3-6e521e7534d2"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb sql role assignment create - Connection: - - keep-alive - Content-Length: - - '596' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - -g -a -s -p -n -i - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleAssignments/09d117e6-ab6a-4a8b-948a-c6c34aa631db?api-version=2020-06-01-preview - response: - body: - string: '{"status":"Enqueued"}' - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/b02f567a-b31a-4534-9b9c-fd74ee3515e7?api-version=2020-06-01-preview - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Tue, 23 Feb 2021 00:52:29 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleAssignments/09d117e6-ab6a-4a8b-948a-c6c34aa631db/operationResults/b02f567a-b31a-4534-9b9c-fd74ee3515e7?api-version=2020-06-01-preview - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb sql role assignment create - Connection: - - keep-alive - ParameterSetName: - - -g -a -s -p -n -i - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.19.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/b02f567a-b31a-4534-9b9c-fd74ee3515e7?api-version=2020-06-01-preview - response: - body: - string: '{"status":"Succeeded"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '22' - content-type: - - application/json - date: - - Tue, 23 Feb 2021 00:52:59 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb sql role assignment create - Connection: - - keep-alive - ParameterSetName: - - -g -a -s -p -n -i - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.19.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleAssignments/09d117e6-ab6a-4a8b-948a-c6c34aa631db?api-version=2020-06-01-preview - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleAssignments/09d117e6-ab6a-4a8b-948a-c6c34aa631db","name":"09d117e6-ab6a-4a8b-948a-c6c34aa631db","properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleDefinitions/be79875a-2cc4-40d5-8958-566017875b39","principalId":"ed4c2395-a18c-4018-afb3-6e521e7534d2","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/dbs/cli000003"},"type":"Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '972' - content-type: - - application/json - date: - - Tue, 23 Feb 2021 00:53:00 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb sql role assignment list - Connection: - - keep-alive - ParameterSetName: - - -g -a - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleAssignments?api-version=2020-06-01-preview - response: - body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleAssignments/cb8ed2d7-2371-4e3c-bd31-6cc1560e84f8","name":"cb8ed2d7-2371-4e3c-bd31-6cc1560e84f8","properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleDefinitions/6328f5f7-dbf7-4244-bba8-fbb9d8066506","principalId":"ed4c2395-a18c-4018-afb3-6e521e7534d2","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/dbs/cli000003"},"type":"Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleAssignments/09d117e6-ab6a-4a8b-948a-c6c34aa631db","name":"09d117e6-ab6a-4a8b-948a-c6c34aa631db","properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleDefinitions/be79875a-2cc4-40d5-8958-566017875b39","principalId":"ed4c2395-a18c-4018-afb3-6e521e7534d2","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/dbs/cli000003"},"type":"Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments"}]}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '1957' - content-type: - - application/json - date: - - Tue, 23 Feb 2021 00:53:01 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb sql role assignment delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - -g -a -i --yes - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleAssignments/cb8ed2d7-2371-4e3c-bd31-6cc1560e84f8?api-version=2020-06-01-preview - response: - body: - string: '{"status":"Enqueued"}' - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/e65de025-9915-4a1c-8978-c4393f8a5fb5?api-version=2020-06-01-preview - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Tue, 23 Feb 2021 00:53:03 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleAssignments/cb8ed2d7-2371-4e3c-bd31-6cc1560e84f8/operationResults/e65de025-9915-4a1c-8978-c4393f8a5fb5?api-version=2020-06-01-preview - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - x-ms-ratelimit-remaining-subscription-deletes: - - '14999' - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb sql role assignment delete - Connection: - - keep-alive - ParameterSetName: - - -g -a -i --yes - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.19.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/e65de025-9915-4a1c-8978-c4393f8a5fb5?api-version=2020-06-01-preview - response: - body: - string: '{"status":"Succeeded"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '22' - content-type: - - application/json - date: - - Tue, 23 Feb 2021 00:53:32 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb sql role assignment delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - -g -a -i --yes - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleAssignments/09d117e6-ab6a-4a8b-948a-c6c34aa631db?api-version=2020-06-01-preview - response: - body: - string: '{"status":"Enqueued"}' - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/a6265f7c-52a5-4be1-85cc-f6aef0371ec6?api-version=2020-06-01-preview - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Tue, 23 Feb 2021 00:53:35 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleAssignments/09d117e6-ab6a-4a8b-948a-c6c34aa631db/operationResults/a6265f7c-52a5-4be1-85cc-f6aef0371ec6?api-version=2020-06-01-preview - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - x-ms-ratelimit-remaining-subscription-deletes: - - '14999' - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb sql role assignment delete - Connection: - - keep-alive - ParameterSetName: - - -g -a -i --yes - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.19.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/a6265f7c-52a5-4be1-85cc-f6aef0371ec6?api-version=2020-06-01-preview - response: - body: - string: '{"status":"Succeeded"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '22' - content-type: - - application/json - date: - - Tue, 23 Feb 2021 00:54:06 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb sql role assignment list - Connection: - - keep-alive - ParameterSetName: - - -g -a - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleAssignments?api-version=2020-06-01-preview - response: - body: - string: '{"value":[]}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '12' - content-type: - - application/json - date: - - Tue, 23 Feb 2021 00:54:08 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb sql role definition delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - -g -a -i --yes - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleDefinitions/be79875a-2cc4-40d5-8958-566017875b39?api-version=2020-06-01-preview - response: - body: - string: '{"status":"Enqueued"}' - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/0b67f01b-8d46-47e8-820c-a554354433c6?api-version=2020-06-01-preview - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Tue, 23 Feb 2021 00:54:09 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleDefinitions/be79875a-2cc4-40d5-8958-566017875b39/operationResults/0b67f01b-8d46-47e8-820c-a554354433c6?api-version=2020-06-01-preview - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - x-ms-ratelimit-remaining-subscription-deletes: - - '14999' - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb sql role definition delete - Connection: - - keep-alive - ParameterSetName: - - -g -a -i --yes - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.19.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/0b67f01b-8d46-47e8-820c-a554354433c6?api-version=2020-06-01-preview - response: - body: - string: '{"status":"Succeeded"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '22' - content-type: - - application/json - date: - - Tue, 23 Feb 2021 00:54:39 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb sql role definition delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - -g -a -i --yes - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleDefinitions/6328f5f7-dbf7-4244-bba8-fbb9d8066506?api-version=2020-06-01-preview - response: - body: - string: '{"status":"Enqueued"}' - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/8933000c-d32b-4d7f-9e4d-322c028a759a?api-version=2020-06-01-preview - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Tue, 23 Feb 2021 00:54:41 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleDefinitions/6328f5f7-dbf7-4244-bba8-fbb9d8066506/operationResults/8933000c-d32b-4d7f-9e4d-322c028a759a?api-version=2020-06-01-preview - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - x-ms-ratelimit-remaining-subscription-deletes: - - '14999' - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb sql role definition delete - Connection: - - keep-alive - ParameterSetName: - - -g -a -i --yes - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.19.1 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/8933000c-d32b-4d7f-9e4d-322c028a759a?api-version=2020-06-01-preview - response: - body: - string: '{"status":"Succeeded"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '22' - content-type: - - application/json - date: - - Tue, 23 Feb 2021 00:55:12 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - cosmosdb sql role definition list - Connection: - - keep-alive - ParameterSetName: - - -g -a - User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc3 Azure-SDK-For-Python AZURECLI/2.19.1 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_cosmosdb_sql_role000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/sqlRoleDefinitions?api-version=2020-06-01-preview - response: - body: - string: '{"value":[]}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '12' - content-type: - - application/json - date: - - Tue, 23 Feb 2021 00:55:14 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -version: 1 diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_managed_cassandra_cluster_without_datacenters.yaml b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_managed_cassandra_cluster_without_datacenters.yaml index b9a28e8993d..95bdc5ee586 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_managed_cassandra_cluster_without_datacenters.yaml +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_managed_cassandra_cluster_without_datacenters.yaml @@ -1,1596 +1,1490 @@ -interactions: -- request: - body: '{"location": "eastus2", "tags": {}, "properties": {"addressSpace": {"addressPrefixes": - ["10.0.0.0/16"]}, "dhcpOptions": {}, "subnets": [{"name": "cli000004", "properties": - {"addressPrefix": "10.0.0.0/24"}}]}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network vnet create - Connection: - - keep-alive - Content-Length: - - '209' - Content-Type: - - application/json - ParameterSetName: - - -g -l -n --subnet-name - User-Agent: - - AZURECLI/2.19.1 (MSI) azsdk-python-azure-mgmt-network/17.0.0 Python/3.8.1 - (Windows-10-10.0.19041-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003?api-version=2020-07-01 - response: - body: - string: "{\r\n \"name\": \"cli000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003\",\r\n - \ \"etag\": \"W/\\\"4b4506cf-4f10-4285-a618-7a0aa3344834\\\"\",\r\n \"type\": - \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus2\",\r\n - \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"resourceGuid\": \"127edb13-244b-483d-9055-8494fdea8d8f\",\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\": \"cli000004\",\r\n \"id\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003/subnets/cli000004\",\r\n - \ \"etag\": \"W/\\\"4b4506cf-4f10-4285-a618-7a0aa3344834\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"addressPrefix\": \"10.0.0.0/24\",\r\n \"delegations\": - [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": - \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n - \ }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": - false\r\n }\r\n}" - headers: - azure-asyncnotification: - - Enabled - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2/operations/2d8bcfe2-970b-45a4-9201-4f4675f0de01?api-version=2020-07-01 - cache-control: - - no-cache - content-length: - - '1425' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 07 Apr 2021 18:02:19 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-arm-service-request-id: - - d18072cf-d981-40e2-9844-bc7e1b64fa66 - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - network vnet create - Connection: - - keep-alive - ParameterSetName: - - -g -l -n --subnet-name - User-Agent: - - AZURECLI/2.19.1 (MSI) azsdk-python-azure-mgmt-network/17.0.0 Python/3.8.1 - (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2/operations/2d8bcfe2-970b-45a4-9201-4f4675f0de01?api-version=2020-07-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: - - Wed, 07 Apr 2021 18:02:26 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 - x-ms-arm-service-request-id: - - 4232f5d2-d312-40d3-868f-57b316a033ce - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - network vnet create - Connection: - - keep-alive - ParameterSetName: - - -g -l -n --subnet-name - User-Agent: - - AZURECLI/2.19.1 (MSI) azsdk-python-azure-mgmt-network/17.0.0 Python/3.8.1 - (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003?api-version=2020-07-01 - response: - body: - string: "{\r\n \"name\": \"cli000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003\",\r\n - \ \"etag\": \"W/\\\"0070ea82-588a-46d5-9b0a-c6b25278b1e4\\\"\",\r\n \"type\": - \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus2\",\r\n - \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"127edb13-244b-483d-9055-8494fdea8d8f\",\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\": \"cli000004\",\r\n \"id\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003/subnets/cli000004\",\r\n - \ \"etag\": \"W/\\\"0070ea82-588a-46d5-9b0a-c6b25278b1e4\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"addressPrefix\": \"10.0.0.0/24\",\r\n \"delegations\": - [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": - \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n - \ }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": - false\r\n }\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '1427' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 07 Apr 2021 18:02:26 GMT - etag: - - W/"0070ea82-588a-46d5-9b0a-c6b25278b1e4" - 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 - x-ms-arm-service-request-id: - - 9f424ea7-148f-4f2a-b32f-0517ca98720a - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network vnet show - Connection: - - keep-alive - ParameterSetName: - - -g -n - User-Agent: - - AZURECLI/2.19.1 (MSI) azsdk-python-azure-mgmt-network/17.0.0 Python/3.8.1 - (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003?api-version=2020-07-01 - response: - body: - string: "{\r\n \"name\": \"cli000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003\",\r\n - \ \"etag\": \"W/\\\"0070ea82-588a-46d5-9b0a-c6b25278b1e4\\\"\",\r\n \"type\": - \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus2\",\r\n - \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"127edb13-244b-483d-9055-8494fdea8d8f\",\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\": \"cli000004\",\r\n \"id\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003/subnets/cli000004\",\r\n - \ \"etag\": \"W/\\\"0070ea82-588a-46d5-9b0a-c6b25278b1e4\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"addressPrefix\": \"10.0.0.0/24\",\r\n \"delegations\": - [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": - \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n - \ }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": - false\r\n }\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '1427' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 07 Apr 2021 18:02:27 GMT - etag: - - W/"0070ea82-588a-46d5-9b0a-c6b25278b1e4" - 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 - x-ms-arm-service-request-id: - - bdb62d9e-54c9-4bca-aed5-5697c1b15c16 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - role assignment create - Connection: - - keep-alive - ParameterSetName: - - --assignee --role --scope - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - accept-language: - - en-US - method: GET - uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/servicePrincipals?$filter=servicePrincipalNames%2Fany%28c%3Ac%20eq%20%27e5007d2c-4b13-4a74-9b6a-605d99f03501%27%29&api-version=1.6 - response: - body: - string: '{"odata.metadata":"https://graph.windows.net/00000000-0000-0000-0000-000000000000/$metadata#directoryObjects","value":[]}' - headers: - access-control-allow-origin: - - '*' - cache-control: - - no-cache - content-length: - - '121' - content-type: - - application/json; odata=minimalmetadata; streaming=true; charset=utf-8 - dataserviceversion: - - 3.0; - date: - - Wed, 07 Apr 2021 18:02:27 GMT - duration: - - '559655' - expires: - - '-1' - ocp-aad-diagnostics-server-name: - - YMOWC8M5wx2DujDWuD8f59PQbgeq5B7Rd7xfZr90h8Y= - ocp-aad-session-key: - - 4BzFLLoUdU-eJqXIqeerNnUhiwFLVlBoxHg4TP-kVDmaSnlku1O28NT5Z3x0XN_4mlhCDR4__Ev3GRIMG_yI9JOJL3cMF_9z1hRl6q4Kzrp7xUu1vM58ieLGyfctzIO6.bEPNNvm18RpxY-R2WZRfLoJzHcFTJauWcoL2OqOnfLw - pragma: - - no-cache - request-id: - - d1f601f8-8dad-43c5-9763-855d46940665 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-aspnet-version: - - 4.0.30319 - x-ms-dirapi-data-contract-version: - - '1.6' - x-ms-resource-unit: - - '1' - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: '{"objectIds": ["e5007d2c-4b13-4a74-9b6a-605d99f03501"], "includeDirectoryObjectReferences": - true}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - role assignment create - Connection: - - keep-alive - Content-Length: - - '97' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - --assignee --role --scope - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - accept-language: - - en-US - method: POST - uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/getObjectsByObjectIds?api-version=1.6 - response: - body: - string: '{"odata.metadata":"https://graph.windows.net/00000000-0000-0000-0000-000000000000/$metadata#directoryObjects","value":[{"odata.type":"Microsoft.DirectoryServices.ServicePrincipal","objectType":"ServicePrincipal","objectId":"e5007d2c-4b13-4a74-9b6a-605d99f03501","deletionTimestamp":null,"accountEnabled":true,"addIns":[],"alternativeNames":[],"appDisplayName":"Azure - Cosmos DB","appId":"a232010e-820c-4083-83bb-3ace5fc29d0b","applicationTemplateId":null,"appOwnerTenantId":"f8cdef31-a31e-4b4a-93e4-5f571e91255a","appRoleAssignmentRequired":false,"appRoles":[],"displayName":"Azure - Cosmos DB","errorUrl":null,"homepage":null,"informationalUrls":{"termsOfService":null,"support":null,"privacy":null,"marketing":null},"keyCredentials":[],"logoutUrl":null,"notificationEmailAddresses":[],"oauth2Permissions":[{"adminConsentDescription":"Allow - the application to access Azure Cosmos DB on behalf of the signed-in user.","adminConsentDisplayName":"Access - Azure Cosmos DB","id":"8741c20d-e8c0-41ff-8adf-b7b9ba168197","isEnabled":true,"type":"User","userConsentDescription":"Allow - the application to access Azure Cosmos DB on your behalf.","userConsentDisplayName":"Access - Azure Cosmos DB as the Signed-in User","value":"user_impersonation"}],"passwordCredentials":[],"preferredSingleSignOnMode":null,"preferredTokenSigningKeyEndDateTime":null,"preferredTokenSigningKeyThumbprint":null,"publisherName":"Microsoft - Services","replyUrls":[],"samlMetadataUrl":null,"samlSingleSignOnSettings":null,"servicePrincipalNames":["a232010e-820c-4083-83bb-3ace5fc29d0b"],"servicePrincipalType":"Application","signInAudience":"AzureADMultipleOrgs","tags":[],"tokenEncryptionKeyId":null}]}' - headers: - access-control-allow-origin: - - '*' - cache-control: - - no-cache - content-length: - - '1666' - content-type: - - application/json; odata=minimalmetadata; streaming=true; charset=utf-8 - dataserviceversion: - - 3.0; - date: - - Wed, 07 Apr 2021 18:02:28 GMT - duration: - - '902292' - expires: - - '-1' - ocp-aad-diagnostics-server-name: - - 8mRHmEy5QZ/xJQR/HSQ0xDFPxIiCzgz9BBSV4wXeErw= - ocp-aad-session-key: - - bNlOm4LxMyocoV_KcMMPR5NoxCLRw0dgWFQPYNlknqb5XKeTFm5jsVezJQ7gK7sAh4lUZc-a8rJiW3KR3dEnDmweDZc07AtPL1qBjHrIp2tkhE-qzdyV0D1YUcLw2Nom.seV2ciP2fIq3QVzRWjFgmF9HLPScQgTdAu0qwnbcfn4 - pragma: - - no-cache - request-id: - - 99d7976d-6828-40f5-93d9-2c94c1957904 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-aspnet-version: - - 4.0.30319 - x-ms-dirapi-data-contract-version: - - '1.6' - x-ms-resource-unit: - - '3' - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: '{"properties": {"roleDefinitionId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7", - "principalId": "e5007d2c-4b13-4a74-9b6a-605d99f03501"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - role assignment create - Connection: - - keep-alive - Content-Length: - - '233' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - --assignee --role --scope - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003/providers/Microsoft.Authorization/roleAssignments/583b5754-8dac-437c-a38a-4cc49fc6de48?api-version=2020-04-01-preview - response: - body: - string: '{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"e5007d2c-4b13-4a74-9b6a-605d99f03501","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003","condition":null,"conditionVersion":null,"createdOn":"2021-04-07T18:02:28.4172657Z","updatedOn":"2021-04-07T18:02:28.7272713Z","createdBy":null,"updatedBy":"93ebe712-cdf4-4897-8b58-c67674f81647","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003/providers/Microsoft.Authorization/roleAssignments/583b5754-8dac-437c-a38a-4cc49fc6de48","type":"Microsoft.Authorization/roleAssignments","name":"583b5754-8dac-437c-a38a-4cc49fc6de48"}' - headers: - cache-control: - - no-cache - content-length: - - '1115' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 07 Apr 2021 18:02:29 GMT - expires: - - '-1' - pragma: - - no-cache - set-cookie: - - x-ms-gateway-slice=Production; path=/; secure; samesite=none; httponly - 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 show - Connection: - - keep-alive - ParameterSetName: - - -g --vnet-name --name - User-Agent: - - AZURECLI/2.19.1 (MSI) azsdk-python-azure-mgmt-network/17.0.0 Python/3.8.1 - (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003/subnets/cli000004?api-version=2020-07-01 - response: - body: - string: "{\r\n \"name\": \"cli000004\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003/subnets/cli000004\",\r\n - \ \"etag\": \"W/\\\"0070ea82-588a-46d5-9b0a-c6b25278b1e4\\\"\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"addressPrefix\": \"10.0.0.0/24\",\r\n - \ \"delegations\": [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n - \ \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n },\r\n \"type\": - \"Microsoft.Network/virtualNetworks/subnets\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '597' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 07 Apr 2021 18:02:29 GMT - etag: - - W/"0070ea82-588a-46d5-9b0a-c6b25278b1e4" - 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 - x-ms-arm-service-request-id: - - 0fd35072-90ed-4ae1-bfd2-6bc3aefa2777 - status: - code: 200 - message: OK -- request: - body: '{"location": "eastus2", "properties": {"delegatedManagementSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003/subnets/cli000004", - "externalGossipCertificates": [{"pem": "-----BEGIN CERTIFICATE-----\r\nMIICLDCCAdKgAwIBAgIBADAKBggqhkjOPQQDAjB9MQswCQYDVQQGEwJCRTEPMA0G\r\nA1UEChMGR251VExTMSUwIwYDVQQLExxHbnVUTFMgY2VydGlmaWNhdGUgYXV0aG9y\r\naXR5MQ8wDQYDVQQIEwZMZXV2ZW4xJTAjBgNVBAMTHEdudVRMUyBjZXJ0aWZpY2F0\r\nZSBhdXRob3JpdHkwHhcNMTEwNTIzMjAzODIxWhcNMTIxMjIyMDc0MTUxWjB9MQsw\r\nCQYDVQQGEwJCRTEPMA0GA1UEChMGR251VExTMSUwIwYDVQQLExxHbnVUTFMgY2Vy\r\ndGlmaWNhdGUgYXV0aG9yaXR5MQ8wDQYDVQQIEwZMZXV2ZW4xJTAjBgNVBAMTHEdu\r\ndVRMUyBjZXJ0aWZpY2F0ZSBhdXRob3JpdHkwWTATBgcqhkjOPQIBBggqhkjOPQMB\r\nBwNCAARS2I0jiuNn14Y2sSALCX3IybqiIJUvxUpj+oNfzngvj/Niyv2394BWnW4X\r\nuQ4RTEiywK87WRcWMGgJB5kX/t2no0MwQTAPBgNVHRMBAf8EBTADAQH/MA8GA1Ud\r\nDwEB/wQFAwMHBgAwHQYDVR0OBBYEFPC0gf6YEr+1KLlkQAPLzB9mTigDMAoGCCqG\r\nSM49BAMCA0gAMEUCIDGuwD1KPyG+hRf88MeyMQcqOFZD0TbVleF+UsAGQ4enAiEA\r\nl4wOuDwKQa+upc8GftXE2C//4mKANBC6It01gUaTIpo=\r\n-----END - CERTIFICATE-----"}], "externalSeedNodes": [{"ipAddress": "127.0.0.1"}, {"ipAddress": - "127.0.0.2"}]}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster create - Connection: - - keep-alive - Content-Length: - - '1266' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - -c -l -g -s -e --external-seed-nodes - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002?api-version=2021-03-01-preview - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002","name":"cli000002","type":"Microsoft.DocumentDB/cassandraClusters","location":"eastus2","tags":{},"properties":{"provisioningState":"Creating","delegatedManagementSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003/subnets/cli000004","clusterNameOverride":"cli000002","authenticationMethod":"Cassandra","hoursBetweenBackups":0,"clientCertificates":[],"externalGossipCertificates":[{"pem":"-----BEGIN - CERTIFICATE-----\r\nMIICLDCCAdKgAwIBAgIBADAKBggqhkjOPQQDAjB9MQswCQYDVQQGEwJCRTEPMA0G\r\nA1UEChMGR251VExTMSUwIwYDVQQLExxHbnVUTFMgY2VydGlmaWNhdGUgYXV0aG9y\r\naXR5MQ8wDQYDVQQIEwZMZXV2ZW4xJTAjBgNVBAMTHEdudVRMUyBjZXJ0aWZpY2F0\r\nZSBhdXRob3JpdHkwHhcNMTEwNTIzMjAzODIxWhcNMTIxMjIyMDc0MTUxWjB9MQsw\r\nCQYDVQQGEwJCRTEPMA0GA1UEChMGR251VExTMSUwIwYDVQQLExxHbnVUTFMgY2Vy\r\ndGlmaWNhdGUgYXV0aG9yaXR5MQ8wDQYDVQQIEwZMZXV2ZW4xJTAjBgNVBAMTHEdu\r\ndVRMUyBjZXJ0aWZpY2F0ZSBhdXRob3JpdHkwWTATBgcqhkjOPQIBBggqhkjOPQMB\r\nBwNCAARS2I0jiuNn14Y2sSALCX3IybqiIJUvxUpj+oNfzngvj/Niyv2394BWnW4X\r\nuQ4RTEiywK87WRcWMGgJB5kX/t2no0MwQTAPBgNVHRMBAf8EBTADAQH/MA8GA1Ud\r\nDwEB/wQFAwMHBgAwHQYDVR0OBBYEFPC0gf6YEr+1KLlkQAPLzB9mTigDMAoGCCqG\r\nSM49BAMCA0gAMEUCIDGuwD1KPyG+hRf88MeyMQcqOFZD0TbVleF+UsAGQ4enAiEA\r\nl4wOuDwKQa+upc8GftXE2C//4mKANBC6It01gUaTIpo=\r\n-----END - CERTIFICATE-----"}],"gossipCertificates":[],"externalSeedNodes":[{"ipAddress":"127.0.0.1"},{"ipAddress":"127.0.0.2"}],"prometheusEndpoint":{},"seedNodes":[]}}' - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/42f9632c-a792-4c5d-b6cc-91ec81ed1b01?api-version=2021-03-01-preview - cache-control: - - no-store, no-cache - content-length: - - '1754' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:02:32 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster create - Connection: - - keep-alive - ParameterSetName: - - -c -l -g -s -e --external-seed-nodes - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/42f9632c-a792-4c5d-b6cc-91ec81ed1b01?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:03:03 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster create - Connection: - - keep-alive - ParameterSetName: - - -c -l -g -s -e --external-seed-nodes - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/42f9632c-a792-4c5d-b6cc-91ec81ed1b01?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:03:32 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster create - Connection: - - keep-alive - ParameterSetName: - - -c -l -g -s -e --external-seed-nodes - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/42f9632c-a792-4c5d-b6cc-91ec81ed1b01?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:04:03 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster create - Connection: - - keep-alive - ParameterSetName: - - -c -l -g -s -e --external-seed-nodes - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/42f9632c-a792-4c5d-b6cc-91ec81ed1b01?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:04:32 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster create - Connection: - - keep-alive - ParameterSetName: - - -c -l -g -s -e --external-seed-nodes - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/42f9632c-a792-4c5d-b6cc-91ec81ed1b01?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:05:03 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster create - Connection: - - keep-alive - ParameterSetName: - - -c -l -g -s -e --external-seed-nodes - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/42f9632c-a792-4c5d-b6cc-91ec81ed1b01?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:05:33 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster create - Connection: - - keep-alive - ParameterSetName: - - -c -l -g -s -e --external-seed-nodes - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/42f9632c-a792-4c5d-b6cc-91ec81ed1b01?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:06:04 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster create - Connection: - - keep-alive - ParameterSetName: - - -c -l -g -s -e --external-seed-nodes - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/42f9632c-a792-4c5d-b6cc-91ec81ed1b01?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:06:34 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster create - Connection: - - keep-alive - ParameterSetName: - - -c -l -g -s -e --external-seed-nodes - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/42f9632c-a792-4c5d-b6cc-91ec81ed1b01?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Succeeded"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '22' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:07:03 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster create - Connection: - - keep-alive - ParameterSetName: - - -c -l -g -s -e --external-seed-nodes - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002?api-version=2021-03-01-preview - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002","name":"cli000002","type":"Microsoft.DocumentDB/cassandraClusters","location":"eastus2","tags":{},"properties":{"provisioningState":"Succeeded","delegatedManagementSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003/subnets/cli000004","clusterNameOverride":"cli000002","authenticationMethod":"Cassandra","hoursBetweenBackups":0,"clientCertificates":[],"externalGossipCertificates":[{"pem":"-----BEGIN - CERTIFICATE-----\r\nMIICLDCCAdKgAwIBAgIBADAKBggqhkjOPQQDAjB9MQswCQYDVQQGEwJCRTEPMA0G\r\nA1UEChMGR251VExTMSUwIwYDVQQLExxHbnVUTFMgY2VydGlmaWNhdGUgYXV0aG9y\r\naXR5MQ8wDQYDVQQIEwZMZXV2ZW4xJTAjBgNVBAMTHEdudVRMUyBjZXJ0aWZpY2F0\r\nZSBhdXRob3JpdHkwHhcNMTEwNTIzMjAzODIxWhcNMTIxMjIyMDc0MTUxWjB9MQsw\r\nCQYDVQQGEwJCRTEPMA0GA1UEChMGR251VExTMSUwIwYDVQQLExxHbnVUTFMgY2Vy\r\ndGlmaWNhdGUgYXV0aG9yaXR5MQ8wDQYDVQQIEwZMZXV2ZW4xJTAjBgNVBAMTHEdu\r\ndVRMUyBjZXJ0aWZpY2F0ZSBhdXRob3JpdHkwWTATBgcqhkjOPQIBBggqhkjOPQMB\r\nBwNCAARS2I0jiuNn14Y2sSALCX3IybqiIJUvxUpj+oNfzngvj/Niyv2394BWnW4X\r\nuQ4RTEiywK87WRcWMGgJB5kX/t2no0MwQTAPBgNVHRMBAf8EBTADAQH/MA8GA1Ud\r\nDwEB/wQFAwMHBgAwHQYDVR0OBBYEFPC0gf6YEr+1KLlkQAPLzB9mTigDMAoGCCqG\r\nSM49BAMCA0gAMEUCIDGuwD1KPyG+hRf88MeyMQcqOFZD0TbVleF+UsAGQ4enAiEA\r\nl4wOuDwKQa+upc8GftXE2C//4mKANBC6It01gUaTIpo=\r\n-----END - CERTIFICATE-----"}],"gossipCertificates":[{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQDXvt6X2CCZZ6UmMbi90YvTANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwNTCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAKplDTmQ9afwVPQelDuu+NkxNJ084CNKnrZ21ABewE+UU4GK\r\nDnwygZdK6agNSMs5UochUEDzz9CpdV5tdPzL14O/GeE2gO5/aUFTUMG9c6neyxk5\r\ntq1WdKsPkitPws6V8MWa5d1L/y4RFhZHUsgxxUySlYlGpNcHhhsyr7EvFecZGA1M\r\nfsitAWVp6hiWANkWKINfRcdt3Z2A23hmMH9MRSGBccHiPuzwrVsSmLwvt3WlRDgO\r\nbJkE40tFYvJ6GXAQiaGHCIWSVObgO3zj6xkdbEFMmJ/zr2Wet5KEcUDtUBhA4dUU\r\noaPVz69u46V56Vscy3lXu1Ylsk84j5lUPLdsAxtultP4OPQoOTpnY8kxWkH6kgO5\r\ngTKE3HRvoVIjU4xJ0JQ746zy/8GdQA36SaNiz4U3u10zFZg2Rkv2dL1Lv58EXL02\r\nr5q5B/nhVH/M1joTvpRvaeEpAJhkIA9NkpvbGEpSdcA0OrtOOeGtrsiOyMBYkjpB\r\n5nw0cJY1QHOr3nIvJ2OnY+OKJbDSrhFqWsk8/1q6Z1WNvONz7te1pAtHerdPi5pC\r\nHeiXCNpv+fadwP0k8czaf2Vs19nYsgWn5uIyLQL8EehdBzCbOKJy9sl86S4Fqe4H\r\nGyAtmqGlaWOsq2A6O/paMi3BSmWTDbgPLCPBbPte/bsuAEF4ajkPEES3GHP9AgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUx7KcfxzjuFrv6WgaqF2UwSZSamgwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAe+G+G2RFdWtYxLIKMR5H/aVNFjNP7Jdeu\r\n+oZaKaIu7U3NidykFr994jSxMBMV768ukJ5/hLSKsuj/SLjmAfwRAZ+w0RGqi/kO\r\nvPYUlBr/sKOwr3tVkg9ccZBebnBVG+DLKTp2Ox0+jYBCPxla5FO252qpk7/6wt8S\r\nZk3diSU12Jm7if/jjkhkGB/e8UdfrKoLytDvqVeiwPA5FPzqKoSqN75byLjsIKJE\r\ndNi07SY45hN/RUnsmIoAf93qlaHR/SJWVRhrWt3JmeoBJ2RDK492zF6TGu1moh4a\r\nE6e00YkwTPWreuwvaLB220vWmtgZPs+DSIb2d9hPBdCJgvcho1c7\r\n-----END - CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQCq+mxcpjxFFB6jvh98dTFzANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMTCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAMedcDrkXufP7pxVm1FHLDNA9IjwHaMoaY8arqqZ4Gff4xyr\r\nRygnavXL7g12MPAx8Q6Dd9hfBzrfWxkF0Br2wIvlvkzW01naNVSkHp+OS3hL3W6n\r\nl/jYvZnVeJXjtsKYcXIf/6WtspcF5awlQ9LZJcjwaH7KoZuK+THpXCMtzD8XNVdm\r\nGW/JI0C/7U/E7evXn9XDio8SYkGSM63aLO5BtLCv092+1d4GGBSQYolRq+7Pd1kR\r\nEkWBPm0ywZ2Vb8GIS5DLrjelEkBnKCyy3B0yQud9dpVsiUeE7F5sY8Me96WVxQcb\r\nOyYdEY/j/9UpDlOG+vA+YgOvBhkKEjiqygVpP8EZoMMijephzg43b5Qi9r5UrvYo\r\no19oR/8pf4HJNDPF0/FJwFVMW8PmCBLGstin3NE1+NeWTkGt0TzpHjgKyfaDP2tO\r\n4bCk1G7pP2kDFT7SYfc8xbgCkFQ2UCEXsaH/f5YmpLn4YPiNFCeeIida7xnfTvc4\r\n7IxyVccHHq1FzGygOqemrxEETKh8hvDR6eBdrBwmCHVgZrnAqnn93JtGyPLi6+cj\r\nWGVGtMZHwzVvX1HvSFG771sskcEjJxiQNQDQRWHEh3NxvNb7kFlAXnVdRkkvhjpR\r\nGchFhTAzqmwltdWhWDEyCMKC2x/mSZvZtlZGY+g37Y72qHzidwtyW7rBetZJAgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUDyBd16FXlduSzyvQx8J3BM5ygHYwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAlFvNh7QgXVLAZSsNR2XRmIn9iS8OHFCBA\r\nWxKJoi8YYQafpMTkMqeuzoL3HWb1pYEipsDkhiMnrpfeYZEA7Lz7yqEEtfgHcEBs\r\nK9KcStQGGZRfmWU07hPXHnFz+5gTXqzCE2PBMlRgVUYJiA25mJPXfB00gDvGhtYa\r\n+mENwM9Bq1B9YYLyLjRtUz8cyGsdyTIG/bBM/Q9jcV8JGqMU/UjAdh1pFyTnnHEl\r\nY59Npi7F87ZqYYJEHJM2LGD+le8VsHjgeWX2CJQko7klXvcizuZvUEDTjHaQcs2J\r\n+kPgfyMIOY1DMJ21NxOJ2xPRC/wAh/hzSBRVtoAnyuxtkZ4VjIOh\r\n-----END - CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQDGrpfM7VmYOGkKAKnqUyFDANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMjCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAOBiO1K6Fk4fHI6t3mJkpg7lxoeUgL8tz9wuI2z0UgY8vFra\r\n3VBo7QznC4K3s9jqKWEyIQY11Le0108bSYa/TK0aioO6itpGiigEG+vH/iqtQXPS\r\nu6D804ri0NFZ1SOP9IzjYuQiK6AWntCqP4WAcZAPtpNrNLPBIyiqmiTDS4dlFg1d\r\nskMuVpT4z0MpgEMmxQnrSZ615rBQ25vnVbBNig04FCsh1V3S8ve5Gzh08oIrL/g5\r\nxq95oRrgEeOBIeiegQpoKrLYyo3R1Tt48HmSJCBYQ52Qc34RgxQdZsLXMUrWuL1J\r\nLAZP6yeo47ySSxKCjhq5/AUWvQBP3N/cP/iJzKKKw23qJ/kkVrE0DSVDiIiXWF0c\r\n9abSGhYl9SPl86IHcIAIzwelJ4SKpHrVbh0/w4YHdFi5QbdAp7O5KxfxBYhQOeHy\r\nis01zkpYn6SqUFGvbK8eZ8y9Aclt8PIUftMG6q5BhdlBZkDDV3n70RlXwYvllzfZ\r\n/nV94l+hYp+GLW7jSmpxZLG/XEz4OXtTtWwLV+IkIOe/EDF79KCazW2SXOIvVInP\r\noi1PqN4TudNv0GyBF5tRC/aBjUqply1YYfeKwgRVs83z5kuiOicmdGZKH9SqU5bn\r\nKse7IlyfZLg6yAxYyTNe7A9acJ3/pGmCIkJ/9dfLUFc4hYb3YyIIYGmqm2/3AgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUAKuR/CFiJpeaqHkbYUGQYKliZ/0wHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAzo/KdmWPPTaYLQW7J5DqxEiBT9QyYGUfe\r\nZd7TR1837H6DSkFa/mGM1kLwi5y9miZKA9k6T9OwTx8CflcvbNO2UkFW0VCldEGH\r\niyx5421+HpRxMQIRjligePtOtRGXwaNOQ7ySWfJhRhKcPKe2PGFHQI7/3n+T3kXQ\r\n/SLu2lk9Qs5YgSJ3VhxBUznYn1KVKJWPE07M55kuUgCquAV0PksZj7EC4nK6e/UV\r\nbPumlj1nyjlxhvNud4WYmr4ntbBev6cSbK78dpI/3cr7P/WJPYJuL0EsO3MgjS3e\r\nDCX7NXp5ylue3TcpQfRU8BL+yZC1wqX98R4ndw7X4qfGaE7SlF7I\r\n-----END - CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT\r\nMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j\r\nb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG\r\n9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI\r\n2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx\r\n1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ\r\nq2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz\r\ntCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ\r\nvIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP\r\nBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV\r\n5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY\r\n1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4\r\nNeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG\r\nFdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91\r\n8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe\r\npLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl\r\nMrY=\r\n-----END - CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQAueRcfuAIek/4tmDg0xQwDANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwNjCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBALVGARl56bx3KBUSGuPc4H5uoNFkFH4e7pvTCxRi4j/+z+Xb\r\nwjEz+5CipDOqjx9/jWjskL5dk7PaQkzItidsAAnDCW1leZBOIi68Lff1bjTeZgMY\r\niwdRd3Y39b/lcGpiuP2d23W95YHkMMT8IlWosYIX0f4kYb62rphyfnAjYb/4Od99\r\nThnhlAxGtfvSbXcBVIKCYfZgqRvV+5lReUnd1aNjRYVzPOoifgSx2fRyy1+pO1Uz\r\naMMNnIOE71bVYW0A1hr19w7kOb0KkJXoALTDDj1ukUEDqQuBfBxReL5mXiu1O7WG\r\n0vltg0VZ/SZzctBsdBlx1BkmWYBW261KZgBivrql5ELTKKd8qgtHcLQA5fl6JB0Q\r\ngs5XDaWehN86Gps5JW8ArjGtjcWAIP+X8CQaWfaCnuRm6Bk/03PQWhgdi84qwA0s\r\nsRfFJwHUPTNSnE8EiGVk2frt0u8PG1pwSQsFuNJfcYIHEv1vOzP7uEOuDydsmCjh\r\nlxuoK2n5/2aVR3BMTu+p4+gl8alXoBycyLmj3J/PUgqD8SL5fTCUegGsdia/Sa60\r\nN2oV7vQ17wjMN+LXa2rjj/b4ZlZgXVojDmAjDwIRdDUujQu0RVsJqFLMzSIHpp2C\r\nZp7mIoLrySay2YYBu7SiNwL95X6He2kS8eefBBHjzwW/9FxGqry57i71c2cDAgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQU1cFnOsKjnfR3UltZEjgp5lVou6UwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQB2oWc93fB8esci/8esixj++N22meiGDjgF\r\n+rA2LUK5IOQOgcUSTGKSqF9lYfAxPjrqPjDCUPHCURv+26ad5P/BYtXtbmtxJWu+\r\ncS5BhMDPPeG3oPZwXRHBJFAkY4O4AF7RIAAUW6EzDflUoDHKv83zOiPfYGcpHc9s\r\nkxAInCedk7QSgXvMARjjOqdakor21DTmNIUotxo8kHv5hwRlGhBJwps6fEVi1Bt0\r\ntrpM/3wYxlr473WSPUFZPgP1j519kLpWOJ8z09wxay+Br29irPcBYv0GMXlHqThy\r\n8y4m/HyTQeI2IMvMrQnwqPpY+rLIXyviI2vLoI+4xKE4Rn38ZZ8m\r\n-----END - CERTIFICATE-----\r\n"}],"externalSeedNodes":[{"ipAddress":"127.0.0.1"},{"ipAddress":"127.0.0.2"}],"prometheusEndpoint":{"ipAddress":"127.0.0.1"},"seedNodes":[]}}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '12108' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:07:04 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster show - Connection: - - keep-alive - ParameterSetName: - - -c -g - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002?api-version=2021-03-01-preview - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002","name":"cli000002","type":"Microsoft.DocumentDB/cassandraClusters","location":"eastus2","tags":{},"properties":{"provisioningState":"Succeeded","delegatedManagementSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003/subnets/cli000004","clusterNameOverride":"cli000002","authenticationMethod":"Cassandra","hoursBetweenBackups":0,"clientCertificates":[],"externalGossipCertificates":[{"pem":"-----BEGIN - CERTIFICATE-----\r\nMIICLDCCAdKgAwIBAgIBADAKBggqhkjOPQQDAjB9MQswCQYDVQQGEwJCRTEPMA0G\r\nA1UEChMGR251VExTMSUwIwYDVQQLExxHbnVUTFMgY2VydGlmaWNhdGUgYXV0aG9y\r\naXR5MQ8wDQYDVQQIEwZMZXV2ZW4xJTAjBgNVBAMTHEdudVRMUyBjZXJ0aWZpY2F0\r\nZSBhdXRob3JpdHkwHhcNMTEwNTIzMjAzODIxWhcNMTIxMjIyMDc0MTUxWjB9MQsw\r\nCQYDVQQGEwJCRTEPMA0GA1UEChMGR251VExTMSUwIwYDVQQLExxHbnVUTFMgY2Vy\r\ndGlmaWNhdGUgYXV0aG9yaXR5MQ8wDQYDVQQIEwZMZXV2ZW4xJTAjBgNVBAMTHEdu\r\ndVRMUyBjZXJ0aWZpY2F0ZSBhdXRob3JpdHkwWTATBgcqhkjOPQIBBggqhkjOPQMB\r\nBwNCAARS2I0jiuNn14Y2sSALCX3IybqiIJUvxUpj+oNfzngvj/Niyv2394BWnW4X\r\nuQ4RTEiywK87WRcWMGgJB5kX/t2no0MwQTAPBgNVHRMBAf8EBTADAQH/MA8GA1Ud\r\nDwEB/wQFAwMHBgAwHQYDVR0OBBYEFPC0gf6YEr+1KLlkQAPLzB9mTigDMAoGCCqG\r\nSM49BAMCA0gAMEUCIDGuwD1KPyG+hRf88MeyMQcqOFZD0TbVleF+UsAGQ4enAiEA\r\nl4wOuDwKQa+upc8GftXE2C//4mKANBC6It01gUaTIpo=\r\n-----END - CERTIFICATE-----"}],"gossipCertificates":[{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQDXvt6X2CCZZ6UmMbi90YvTANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwNTCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAKplDTmQ9afwVPQelDuu+NkxNJ084CNKnrZ21ABewE+UU4GK\r\nDnwygZdK6agNSMs5UochUEDzz9CpdV5tdPzL14O/GeE2gO5/aUFTUMG9c6neyxk5\r\ntq1WdKsPkitPws6V8MWa5d1L/y4RFhZHUsgxxUySlYlGpNcHhhsyr7EvFecZGA1M\r\nfsitAWVp6hiWANkWKINfRcdt3Z2A23hmMH9MRSGBccHiPuzwrVsSmLwvt3WlRDgO\r\nbJkE40tFYvJ6GXAQiaGHCIWSVObgO3zj6xkdbEFMmJ/zr2Wet5KEcUDtUBhA4dUU\r\noaPVz69u46V56Vscy3lXu1Ylsk84j5lUPLdsAxtultP4OPQoOTpnY8kxWkH6kgO5\r\ngTKE3HRvoVIjU4xJ0JQ746zy/8GdQA36SaNiz4U3u10zFZg2Rkv2dL1Lv58EXL02\r\nr5q5B/nhVH/M1joTvpRvaeEpAJhkIA9NkpvbGEpSdcA0OrtOOeGtrsiOyMBYkjpB\r\n5nw0cJY1QHOr3nIvJ2OnY+OKJbDSrhFqWsk8/1q6Z1WNvONz7te1pAtHerdPi5pC\r\nHeiXCNpv+fadwP0k8czaf2Vs19nYsgWn5uIyLQL8EehdBzCbOKJy9sl86S4Fqe4H\r\nGyAtmqGlaWOsq2A6O/paMi3BSmWTDbgPLCPBbPte/bsuAEF4ajkPEES3GHP9AgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUx7KcfxzjuFrv6WgaqF2UwSZSamgwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAe+G+G2RFdWtYxLIKMR5H/aVNFjNP7Jdeu\r\n+oZaKaIu7U3NidykFr994jSxMBMV768ukJ5/hLSKsuj/SLjmAfwRAZ+w0RGqi/kO\r\nvPYUlBr/sKOwr3tVkg9ccZBebnBVG+DLKTp2Ox0+jYBCPxla5FO252qpk7/6wt8S\r\nZk3diSU12Jm7if/jjkhkGB/e8UdfrKoLytDvqVeiwPA5FPzqKoSqN75byLjsIKJE\r\ndNi07SY45hN/RUnsmIoAf93qlaHR/SJWVRhrWt3JmeoBJ2RDK492zF6TGu1moh4a\r\nE6e00YkwTPWreuwvaLB220vWmtgZPs+DSIb2d9hPBdCJgvcho1c7\r\n-----END - CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQCq+mxcpjxFFB6jvh98dTFzANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMTCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAMedcDrkXufP7pxVm1FHLDNA9IjwHaMoaY8arqqZ4Gff4xyr\r\nRygnavXL7g12MPAx8Q6Dd9hfBzrfWxkF0Br2wIvlvkzW01naNVSkHp+OS3hL3W6n\r\nl/jYvZnVeJXjtsKYcXIf/6WtspcF5awlQ9LZJcjwaH7KoZuK+THpXCMtzD8XNVdm\r\nGW/JI0C/7U/E7evXn9XDio8SYkGSM63aLO5BtLCv092+1d4GGBSQYolRq+7Pd1kR\r\nEkWBPm0ywZ2Vb8GIS5DLrjelEkBnKCyy3B0yQud9dpVsiUeE7F5sY8Me96WVxQcb\r\nOyYdEY/j/9UpDlOG+vA+YgOvBhkKEjiqygVpP8EZoMMijephzg43b5Qi9r5UrvYo\r\no19oR/8pf4HJNDPF0/FJwFVMW8PmCBLGstin3NE1+NeWTkGt0TzpHjgKyfaDP2tO\r\n4bCk1G7pP2kDFT7SYfc8xbgCkFQ2UCEXsaH/f5YmpLn4YPiNFCeeIida7xnfTvc4\r\n7IxyVccHHq1FzGygOqemrxEETKh8hvDR6eBdrBwmCHVgZrnAqnn93JtGyPLi6+cj\r\nWGVGtMZHwzVvX1HvSFG771sskcEjJxiQNQDQRWHEh3NxvNb7kFlAXnVdRkkvhjpR\r\nGchFhTAzqmwltdWhWDEyCMKC2x/mSZvZtlZGY+g37Y72qHzidwtyW7rBetZJAgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUDyBd16FXlduSzyvQx8J3BM5ygHYwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAlFvNh7QgXVLAZSsNR2XRmIn9iS8OHFCBA\r\nWxKJoi8YYQafpMTkMqeuzoL3HWb1pYEipsDkhiMnrpfeYZEA7Lz7yqEEtfgHcEBs\r\nK9KcStQGGZRfmWU07hPXHnFz+5gTXqzCE2PBMlRgVUYJiA25mJPXfB00gDvGhtYa\r\n+mENwM9Bq1B9YYLyLjRtUz8cyGsdyTIG/bBM/Q9jcV8JGqMU/UjAdh1pFyTnnHEl\r\nY59Npi7F87ZqYYJEHJM2LGD+le8VsHjgeWX2CJQko7klXvcizuZvUEDTjHaQcs2J\r\n+kPgfyMIOY1DMJ21NxOJ2xPRC/wAh/hzSBRVtoAnyuxtkZ4VjIOh\r\n-----END - CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQDGrpfM7VmYOGkKAKnqUyFDANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMjCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAOBiO1K6Fk4fHI6t3mJkpg7lxoeUgL8tz9wuI2z0UgY8vFra\r\n3VBo7QznC4K3s9jqKWEyIQY11Le0108bSYa/TK0aioO6itpGiigEG+vH/iqtQXPS\r\nu6D804ri0NFZ1SOP9IzjYuQiK6AWntCqP4WAcZAPtpNrNLPBIyiqmiTDS4dlFg1d\r\nskMuVpT4z0MpgEMmxQnrSZ615rBQ25vnVbBNig04FCsh1V3S8ve5Gzh08oIrL/g5\r\nxq95oRrgEeOBIeiegQpoKrLYyo3R1Tt48HmSJCBYQ52Qc34RgxQdZsLXMUrWuL1J\r\nLAZP6yeo47ySSxKCjhq5/AUWvQBP3N/cP/iJzKKKw23qJ/kkVrE0DSVDiIiXWF0c\r\n9abSGhYl9SPl86IHcIAIzwelJ4SKpHrVbh0/w4YHdFi5QbdAp7O5KxfxBYhQOeHy\r\nis01zkpYn6SqUFGvbK8eZ8y9Aclt8PIUftMG6q5BhdlBZkDDV3n70RlXwYvllzfZ\r\n/nV94l+hYp+GLW7jSmpxZLG/XEz4OXtTtWwLV+IkIOe/EDF79KCazW2SXOIvVInP\r\noi1PqN4TudNv0GyBF5tRC/aBjUqply1YYfeKwgRVs83z5kuiOicmdGZKH9SqU5bn\r\nKse7IlyfZLg6yAxYyTNe7A9acJ3/pGmCIkJ/9dfLUFc4hYb3YyIIYGmqm2/3AgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUAKuR/CFiJpeaqHkbYUGQYKliZ/0wHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAzo/KdmWPPTaYLQW7J5DqxEiBT9QyYGUfe\r\nZd7TR1837H6DSkFa/mGM1kLwi5y9miZKA9k6T9OwTx8CflcvbNO2UkFW0VCldEGH\r\niyx5421+HpRxMQIRjligePtOtRGXwaNOQ7ySWfJhRhKcPKe2PGFHQI7/3n+T3kXQ\r\n/SLu2lk9Qs5YgSJ3VhxBUznYn1KVKJWPE07M55kuUgCquAV0PksZj7EC4nK6e/UV\r\nbPumlj1nyjlxhvNud4WYmr4ntbBev6cSbK78dpI/3cr7P/WJPYJuL0EsO3MgjS3e\r\nDCX7NXp5ylue3TcpQfRU8BL+yZC1wqX98R4ndw7X4qfGaE7SlF7I\r\n-----END - CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT\r\nMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j\r\nb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG\r\n9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI\r\n2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx\r\n1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ\r\nq2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz\r\ntCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ\r\nvIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP\r\nBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV\r\n5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY\r\n1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4\r\nNeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG\r\nFdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91\r\n8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe\r\npLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl\r\nMrY=\r\n-----END - CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQAueRcfuAIek/4tmDg0xQwDANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwNjCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBALVGARl56bx3KBUSGuPc4H5uoNFkFH4e7pvTCxRi4j/+z+Xb\r\nwjEz+5CipDOqjx9/jWjskL5dk7PaQkzItidsAAnDCW1leZBOIi68Lff1bjTeZgMY\r\niwdRd3Y39b/lcGpiuP2d23W95YHkMMT8IlWosYIX0f4kYb62rphyfnAjYb/4Od99\r\nThnhlAxGtfvSbXcBVIKCYfZgqRvV+5lReUnd1aNjRYVzPOoifgSx2fRyy1+pO1Uz\r\naMMNnIOE71bVYW0A1hr19w7kOb0KkJXoALTDDj1ukUEDqQuBfBxReL5mXiu1O7WG\r\n0vltg0VZ/SZzctBsdBlx1BkmWYBW261KZgBivrql5ELTKKd8qgtHcLQA5fl6JB0Q\r\ngs5XDaWehN86Gps5JW8ArjGtjcWAIP+X8CQaWfaCnuRm6Bk/03PQWhgdi84qwA0s\r\nsRfFJwHUPTNSnE8EiGVk2frt0u8PG1pwSQsFuNJfcYIHEv1vOzP7uEOuDydsmCjh\r\nlxuoK2n5/2aVR3BMTu+p4+gl8alXoBycyLmj3J/PUgqD8SL5fTCUegGsdia/Sa60\r\nN2oV7vQ17wjMN+LXa2rjj/b4ZlZgXVojDmAjDwIRdDUujQu0RVsJqFLMzSIHpp2C\r\nZp7mIoLrySay2YYBu7SiNwL95X6He2kS8eefBBHjzwW/9FxGqry57i71c2cDAgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQU1cFnOsKjnfR3UltZEjgp5lVou6UwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQB2oWc93fB8esci/8esixj++N22meiGDjgF\r\n+rA2LUK5IOQOgcUSTGKSqF9lYfAxPjrqPjDCUPHCURv+26ad5P/BYtXtbmtxJWu+\r\ncS5BhMDPPeG3oPZwXRHBJFAkY4O4AF7RIAAUW6EzDflUoDHKv83zOiPfYGcpHc9s\r\nkxAInCedk7QSgXvMARjjOqdakor21DTmNIUotxo8kHv5hwRlGhBJwps6fEVi1Bt0\r\ntrpM/3wYxlr473WSPUFZPgP1j519kLpWOJ8z09wxay+Br29irPcBYv0GMXlHqThy\r\n8y4m/HyTQeI2IMvMrQnwqPpY+rLIXyviI2vLoI+4xKE4Rn38ZZ8m\r\n-----END - CERTIFICATE-----\r\n"}],"externalSeedNodes":[{"ipAddress":"127.0.0.1"},{"ipAddress":"127.0.0.2"}],"prometheusEndpoint":{"ipAddress":"127.0.0.1"},"seedNodes":[]}}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '12108' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:07:05 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - -c -g --yes - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - accept-language: - - en-US - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Enqueued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:07:06 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/1ffbf73d-c9eb-4623-a785-835af559b66f?api-version=2021-03-01-preview - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - x-ms-ratelimit-remaining-subscription-deletes: - - '14999' - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/1ffbf73d-c9eb-4623-a785-835af559b66f?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:07:36 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/1ffbf73d-c9eb-4623-a785-835af559b66f?api-version=2021-03-01-preview - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/1ffbf73d-c9eb-4623-a785-835af559b66f?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:08:07 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/1ffbf73d-c9eb-4623-a785-835af559b66f?api-version=2021-03-01-preview - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/1ffbf73d-c9eb-4623-a785-835af559b66f?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:08:37 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/1ffbf73d-c9eb-4623-a785-835af559b66f?api-version=2021-03-01-preview - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/1ffbf73d-c9eb-4623-a785-835af559b66f?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:09:07 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/1ffbf73d-c9eb-4623-a785-835af559b66f?api-version=2021-03-01-preview - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/1ffbf73d-c9eb-4623-a785-835af559b66f?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:09:37 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/1ffbf73d-c9eb-4623-a785-835af559b66f?api-version=2021-03-01-preview - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/1ffbf73d-c9eb-4623-a785-835af559b66f?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:10:08 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/1ffbf73d-c9eb-4623-a785-835af559b66f?api-version=2021-03-01-preview - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/1ffbf73d-c9eb-4623-a785-835af559b66f?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:10:37 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/1ffbf73d-c9eb-4623-a785-835af559b66f?api-version=2021-03-01-preview - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/1ffbf73d-c9eb-4623-a785-835af559b66f?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:11:08 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/1ffbf73d-c9eb-4623-a785-835af559b66f?api-version=2021-03-01-preview - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/1ffbf73d-c9eb-4623-a785-835af559b66f?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:11:38 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/1ffbf73d-c9eb-4623-a785-835af559b66f?api-version=2021-03-01-preview - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/1ffbf73d-c9eb-4623-a785-835af559b66f?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Succeeded"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '22' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:12:08 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -version: 1 +interactions: +- request: + body: '{"location": "eastus2", "tags": {}, "properties": {"addressSpace": {"addressPrefixes": + ["10.0.0.0/16"]}, "dhcpOptions": {}, "subnets": [{"name": "cli000004", "properties": + {"addressPrefix": "10.0.0.0/24"}}]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet create + Connection: + - keep-alive + Content-Length: + - '209' + Content-Type: + - application/json + ParameterSetName: + - -g -l -n --subnet-name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003?api-version=2020-11-01 + response: + body: + string: "{\r\n \"name\": \"cli000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003\",\r\n + \ \"etag\": \"W/\\\"2802f71d-03a5-4fc6-9d47-314d7ed0dfed\\\"\",\r\n \"type\": + \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus2\",\r\n + \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"resourceGuid\": \"428e8e69-b99c-4f56-8baa-52d3e9c4455b\",\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\": \"cli000004\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003/subnets/cli000004\",\r\n + \ \"etag\": \"W/\\\"2802f71d-03a5-4fc6-9d47-314d7ed0dfed\\\"\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"addressPrefix\": \"10.0.0.0/24\",\r\n \"delegations\": + [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": + \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n + \ }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": + false\r\n }\r\n}" + headers: + azure-asyncnotification: + - Enabled + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2/operations/1ed52624-4f60-4dd3-9f06-5aca104c5743?api-version=2020-11-01 + cache-control: + - no-cache + content-length: + - '1425' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 24 May 2021 19:46:16 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-arm-service-request-id: + - de22849a-b665-461b-9220-ca79c1b25003 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet create + Connection: + - keep-alive + ParameterSetName: + - -g -l -n --subnet-name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2/operations/1ed52624-4f60-4dd3-9f06-5aca104c5743?api-version=2020-11-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: + - Mon, 24 May 2021 19:46:19 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 + x-ms-arm-service-request-id: + - 52d1d97e-2482-4f89-9046-5341efbdd249 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet create + Connection: + - keep-alive + ParameterSetName: + - -g -l -n --subnet-name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003?api-version=2020-11-01 + response: + body: + string: "{\r\n \"name\": \"cli000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003\",\r\n + \ \"etag\": \"W/\\\"b0d8ff05-d41c-46db-9bee-14674781c74b\\\"\",\r\n \"type\": + \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus2\",\r\n + \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"resourceGuid\": \"428e8e69-b99c-4f56-8baa-52d3e9c4455b\",\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\": \"cli000004\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003/subnets/cli000004\",\r\n + \ \"etag\": \"W/\\\"b0d8ff05-d41c-46db-9bee-14674781c74b\\\"\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"addressPrefix\": \"10.0.0.0/24\",\r\n \"delegations\": + [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": + \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n + \ }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": + false\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1427' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 24 May 2021 19:46:19 GMT + etag: + - W/"b0d8ff05-d41c-46db-9bee-14674781c74b" + 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 + x-ms-arm-service-request-id: + - d649a4b9-a01d-4f8b-9fdd-25c5bf2097ac + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet show + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003?api-version=2020-11-01 + response: + body: + string: "{\r\n \"name\": \"cli000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003\",\r\n + \ \"etag\": \"W/\\\"b0d8ff05-d41c-46db-9bee-14674781c74b\\\"\",\r\n \"type\": + \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus2\",\r\n + \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"resourceGuid\": \"428e8e69-b99c-4f56-8baa-52d3e9c4455b\",\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\": \"cli000004\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003/subnets/cli000004\",\r\n + \ \"etag\": \"W/\\\"b0d8ff05-d41c-46db-9bee-14674781c74b\\\"\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"addressPrefix\": \"10.0.0.0/24\",\r\n \"delegations\": + [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": + \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n + \ }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": + false\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1427' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 24 May 2021 19:46:19 GMT + etag: + - W/"b0d8ff05-d41c-46db-9bee-14674781c74b" + 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 + x-ms-arm-service-request-id: + - f81f1e8c-9db6-405c-acdf-3c48aed51a92 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - role assignment create + Connection: + - keep-alive + ParameterSetName: + - --assignee --role --scope + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.23.0 + accept-language: + - en-US + method: GET + uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/servicePrincipals?$filter=servicePrincipalNames%2Fany%28c%3Ac%20eq%20%27e5007d2c-4b13-4a74-9b6a-605d99f03501%27%29&api-version=1.6 + response: + body: + string: '{"odata.metadata":"https://graph.windows.net/00000000-0000-0000-0000-000000000000/$metadata#directoryObjects","value":[]}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json; odata=minimalmetadata; streaming=true; charset=utf-8 + dataserviceversion: + - 3.0; + date: + - Mon, 24 May 2021 19:46:21 GMT + duration: + - '792483' + expires: + - '-1' + ocp-aad-diagnostics-server-name: + - whctYICInyOeKkNXegnusBjHYir32MRpF/zVTQ6x/EI= + ocp-aad-session-key: + - oRTZWwVjhrgujVLGI_NMhjFLD_JBf0WjKrPzDk6u5vyXfgCJ9xXVINceLisVtq-CrXFbUXKcGmtN4-48KALiaI8blA7qmBY39bdNkvpYIIbxl1E6aQ6FiTCZ6_VIAocc.li5y0NYJOphOUJxttW6dQWGon-gEoXAcsS1OBiRsqfQ + pragma: + - no-cache + request-id: + - dbfb431e-19fd-4004-8edf-ef55a305c5f3 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-ms-dirapi-data-contract-version: + - '1.6' + x-ms-resource-unit: + - '1' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"objectIds": ["e5007d2c-4b13-4a74-9b6a-605d99f03501"], "includeDirectoryObjectReferences": + true}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - role assignment create + Connection: + - keep-alive + Content-Length: + - '97' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --assignee --role --scope + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.23.0 + accept-language: + - en-US + method: POST + uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/getObjectsByObjectIds?api-version=1.6 + response: + body: + string: '{"odata.metadata":"https://graph.windows.net/00000000-0000-0000-0000-000000000000/$metadata#directoryObjects","value":[{"odata.type":"Microsoft.DirectoryServices.ServicePrincipal","objectType":"ServicePrincipal","objectId":"e5007d2c-4b13-4a74-9b6a-605d99f03501","deletionTimestamp":null,"accountEnabled":true,"addIns":[],"alternativeNames":[],"appDisplayName":"Azure + Cosmos DB","appId":"a232010e-820c-4083-83bb-3ace5fc29d0b","applicationTemplateId":null,"appOwnerTenantId":"f8cdef31-a31e-4b4a-93e4-5f571e91255a","appRoleAssignmentRequired":false,"appRoles":[],"displayName":"Azure + Cosmos DB","errorUrl":null,"homepage":null,"informationalUrls":{"termsOfService":null,"support":null,"privacy":null,"marketing":null},"keyCredentials":[],"logoutUrl":null,"notificationEmailAddresses":[],"oauth2Permissions":[{"adminConsentDescription":"Allow + the application to access Azure Cosmos DB on behalf of the signed-in user.","adminConsentDisplayName":"Access + Azure Cosmos DB","id":"8741c20d-e8c0-41ff-8adf-b7b9ba168197","isEnabled":true,"type":"User","userConsentDescription":"Allow + the application to access Azure Cosmos DB on your behalf.","userConsentDisplayName":"Access + Azure Cosmos DB as the Signed-in User","value":"user_impersonation"}],"passwordCredentials":[],"preferredSingleSignOnMode":null,"preferredTokenSigningKeyEndDateTime":null,"preferredTokenSigningKeyThumbprint":null,"publisherName":"Microsoft + Services","replyUrls":[],"samlMetadataUrl":null,"samlSingleSignOnSettings":null,"servicePrincipalNames":["a232010e-820c-4083-83bb-3ace5fc29d0b"],"servicePrincipalType":"Application","signInAudience":"AzureADMultipleOrgs","tags":[],"tokenEncryptionKeyId":null}]}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '1666' + content-type: + - application/json; odata=minimalmetadata; streaming=true; charset=utf-8 + dataserviceversion: + - 3.0; + date: + - Mon, 24 May 2021 19:46:21 GMT + duration: + - '558129' + expires: + - '-1' + ocp-aad-diagnostics-server-name: + - whctYICInyOeKkNXegnusBjHYir32MRpF/zVTQ6x/EI= + ocp-aad-session-key: + - Q-9YyH-GlJ_lGQSe437RYUZ6B0ARQs3N-IhOV-wBPIti36YdvczL-OnBYRhw9YjJgCWAhhkuVcxHUcyVmpheWiootiJ4vp7qij_nec1SmBXakUSGJBneiygjVVdRx24F.Szg-pZM_avgr6T2flzBrTlLQMYM9PwsBq3tWtIOHjx8 + pragma: + - no-cache + request-id: + - 94d19ec5-8b84-49a4-8b04-4f5ba752d276 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-ms-dirapi-data-contract-version: + - '1.6' + x-ms-resource-unit: + - '3' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"properties": {"roleDefinitionId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7", + "principalId": "e5007d2c-4b13-4a74-9b6a-605d99f03501", "principalType": "ServicePrincipal"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - role assignment create + Connection: + - keep-alive + Content-Length: + - '270' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --assignee --role --scope + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.23.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003/providers/Microsoft.Authorization/roleAssignments/88888888-0000-0000-0000-000000000001?api-version=2020-04-01-preview + response: + body: + string: '{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"e5007d2c-4b13-4a74-9b6a-605d99f03501","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003","condition":null,"conditionVersion":null,"createdOn":"2021-05-24T19:46:22.8596971Z","updatedOn":"2021-05-24T19:46:23.3297171Z","createdBy":null,"updatedBy":"47dc29ad-cbbc-4eda-9746-17f66697f62a","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003/providers/Microsoft.Authorization/roleAssignments/88888888-0000-0000-0000-000000000001","type":"Microsoft.Authorization/roleAssignments","name":"88888888-0000-0000-0000-000000000001"}' + headers: + cache-control: + - no-cache + content-length: + - '1115' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 24 May 2021 19:46:24 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - x-ms-gateway-slice=Production; path=/; secure; samesite=none; httponly + 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: + - network vnet subnet show + Connection: + - keep-alive + ParameterSetName: + - -g --vnet-name --name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003/subnets/cli000004?api-version=2020-11-01 + response: + body: + string: "{\r\n \"name\": \"cli000004\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003/subnets/cli000004\",\r\n + \ \"etag\": \"W/\\\"b0d8ff05-d41c-46db-9bee-14674781c74b\\\"\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Succeeded\",\r\n \"addressPrefix\": \"10.0.0.0/24\",\r\n + \ \"delegations\": [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n + \ \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n },\r\n \"type\": + \"Microsoft.Network/virtualNetworks/subnets\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '597' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 24 May 2021 19:46:25 GMT + etag: + - W/"b0d8ff05-d41c-46db-9bee-14674781c74b" + 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 + x-ms-arm-service-request-id: + - 071b7f6e-19d9-4ff6-acdd-b20cebeaa6fc + status: + code: 200 + message: OK +- request: + body: '{"location": "eastus2", "properties": {"delegatedManagementSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003/subnets/cli000004", + "externalGossipCertificates": [{"pem": "./test.pem"}], "externalSeedNodes": + [{"ipAddress": "127.0.0.1"}, {"ipAddress": "127.0.0.2"}]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster create + Connection: + - keep-alive + Content-Length: + - '424' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -c -l -g -s -e --external-seed-nodes + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002?api-version=2021-03-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002","name":"cli000002","type":"Microsoft.DocumentDB/cassandraClusters","location":"eastus2","tags":{},"identity":null,"properties":{"authenticationMethod":"Cassandra","clientCertificates":[],"clusterNameOverride":"cli000002","delegatedManagementSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003/subnets/cli000004","externalGossipCertificates":[{"pem":"./test.pem"}],"externalSeedNodes":[{"ipAddress":"127.0.0.1"},{"ipAddress":"127.0.0.2"}],"gossipCertificates":[],"hoursBetweenBackups":0,"prometheusEndpoint":{},"provisioningState":"Creating","repairEnabled":true,"seedNodes":[]}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/7e618924-0cd3-40cc-8ff1-c09426f23576?api-version=2021-03-01-preview + cache-control: + - no-store, no-cache + content-length: + - '949' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:46:28 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster create + Connection: + - keep-alive + ParameterSetName: + - -c -l -g -s -e --external-seed-nodes + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/7e618924-0cd3-40cc-8ff1-c09426f23576?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:46:58 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster create + Connection: + - keep-alive + ParameterSetName: + - -c -l -g -s -e --external-seed-nodes + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/7e618924-0cd3-40cc-8ff1-c09426f23576?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:47:28 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster create + Connection: + - keep-alive + ParameterSetName: + - -c -l -g -s -e --external-seed-nodes + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/7e618924-0cd3-40cc-8ff1-c09426f23576?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:47:58 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster create + Connection: + - keep-alive + ParameterSetName: + - -c -l -g -s -e --external-seed-nodes + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/7e618924-0cd3-40cc-8ff1-c09426f23576?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:48:29 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster create + Connection: + - keep-alive + ParameterSetName: + - -c -l -g -s -e --external-seed-nodes + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/7e618924-0cd3-40cc-8ff1-c09426f23576?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:48:59 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster create + Connection: + - keep-alive + ParameterSetName: + - -c -l -g -s -e --external-seed-nodes + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/7e618924-0cd3-40cc-8ff1-c09426f23576?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '22' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:49:29 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster create + Connection: + - keep-alive + ParameterSetName: + - -c -l -g -s -e --external-seed-nodes + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002?api-version=2021-03-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002","name":"cli000002","type":"Microsoft.DocumentDB/cassandraClusters","location":"eastus2","tags":{},"identity":null,"properties":{"authenticationMethod":"Cassandra","clientCertificates":[],"clusterNameOverride":"cli000002","delegatedManagementSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003/subnets/cli000004","externalGossipCertificates":[{"pem":"./test.pem"}],"externalSeedNodes":[{"ipAddress":"127.0.0.1"},{"ipAddress":"127.0.0.2"}],"gossipCertificates":[{"pem":"\r\n-----BEGIN + CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQDXvt6X2CCZZ6UmMbi90YvTANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwNTCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAKplDTmQ9afwVPQelDuu+NkxNJ084CNKnrZ21ABewE+UU4GK\r\nDnwygZdK6agNSMs5UochUEDzz9CpdV5tdPzL14O/GeE2gO5/aUFTUMG9c6neyxk5\r\ntq1WdKsPkitPws6V8MWa5d1L/y4RFhZHUsgxxUySlYlGpNcHhhsyr7EvFecZGA1M\r\nfsitAWVp6hiWANkWKINfRcdt3Z2A23hmMH9MRSGBccHiPuzwrVsSmLwvt3WlRDgO\r\nbJkE40tFYvJ6GXAQiaGHCIWSVObgO3zj6xkdbEFMmJ/zr2Wet5KEcUDtUBhA4dUU\r\noaPVz69u46V56Vscy3lXu1Ylsk84j5lUPLdsAxtultP4OPQoOTpnY8kxWkH6kgO5\r\ngTKE3HRvoVIjU4xJ0JQ746zy/8GdQA36SaNiz4U3u10zFZg2Rkv2dL1Lv58EXL02\r\nr5q5B/nhVH/M1joTvpRvaeEpAJhkIA9NkpvbGEpSdcA0OrtOOeGtrsiOyMBYkjpB\r\n5nw0cJY1QHOr3nIvJ2OnY+OKJbDSrhFqWsk8/1q6Z1WNvONz7te1pAtHerdPi5pC\r\nHeiXCNpv+fadwP0k8czaf2Vs19nYsgWn5uIyLQL8EehdBzCbOKJy9sl86S4Fqe4H\r\nGyAtmqGlaWOsq2A6O/paMi3BSmWTDbgPLCPBbPte/bsuAEF4ajkPEES3GHP9AgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUx7KcfxzjuFrv6WgaqF2UwSZSamgwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAe+G+G2RFdWtYxLIKMR5H/aVNFjNP7Jdeu\r\n+oZaKaIu7U3NidykFr994jSxMBMV768ukJ5/hLSKsuj/SLjmAfwRAZ+w0RGqi/kO\r\nvPYUlBr/sKOwr3tVkg9ccZBebnBVG+DLKTp2Ox0+jYBCPxla5FO252qpk7/6wt8S\r\nZk3diSU12Jm7if/jjkhkGB/e8UdfrKoLytDvqVeiwPA5FPzqKoSqN75byLjsIKJE\r\ndNi07SY45hN/RUnsmIoAf93qlaHR/SJWVRhrWt3JmeoBJ2RDK492zF6TGu1moh4a\r\nE6e00YkwTPWreuwvaLB220vWmtgZPs+DSIb2d9hPBdCJgvcho1c7\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQCq+mxcpjxFFB6jvh98dTFzANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMTCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAMedcDrkXufP7pxVm1FHLDNA9IjwHaMoaY8arqqZ4Gff4xyr\r\nRygnavXL7g12MPAx8Q6Dd9hfBzrfWxkF0Br2wIvlvkzW01naNVSkHp+OS3hL3W6n\r\nl/jYvZnVeJXjtsKYcXIf/6WtspcF5awlQ9LZJcjwaH7KoZuK+THpXCMtzD8XNVdm\r\nGW/JI0C/7U/E7evXn9XDio8SYkGSM63aLO5BtLCv092+1d4GGBSQYolRq+7Pd1kR\r\nEkWBPm0ywZ2Vb8GIS5DLrjelEkBnKCyy3B0yQud9dpVsiUeE7F5sY8Me96WVxQcb\r\nOyYdEY/j/9UpDlOG+vA+YgOvBhkKEjiqygVpP8EZoMMijephzg43b5Qi9r5UrvYo\r\no19oR/8pf4HJNDPF0/FJwFVMW8PmCBLGstin3NE1+NeWTkGt0TzpHjgKyfaDP2tO\r\n4bCk1G7pP2kDFT7SYfc8xbgCkFQ2UCEXsaH/f5YmpLn4YPiNFCeeIida7xnfTvc4\r\n7IxyVccHHq1FzGygOqemrxEETKh8hvDR6eBdrBwmCHVgZrnAqnn93JtGyPLi6+cj\r\nWGVGtMZHwzVvX1HvSFG771sskcEjJxiQNQDQRWHEh3NxvNb7kFlAXnVdRkkvhjpR\r\nGchFhTAzqmwltdWhWDEyCMKC2x/mSZvZtlZGY+g37Y72qHzidwtyW7rBetZJAgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUDyBd16FXlduSzyvQx8J3BM5ygHYwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAlFvNh7QgXVLAZSsNR2XRmIn9iS8OHFCBA\r\nWxKJoi8YYQafpMTkMqeuzoL3HWb1pYEipsDkhiMnrpfeYZEA7Lz7yqEEtfgHcEBs\r\nK9KcStQGGZRfmWU07hPXHnFz+5gTXqzCE2PBMlRgVUYJiA25mJPXfB00gDvGhtYa\r\n+mENwM9Bq1B9YYLyLjRtUz8cyGsdyTIG/bBM/Q9jcV8JGqMU/UjAdh1pFyTnnHEl\r\nY59Npi7F87ZqYYJEHJM2LGD+le8VsHjgeWX2CJQko7klXvcizuZvUEDTjHaQcs2J\r\n+kPgfyMIOY1DMJ21NxOJ2xPRC/wAh/hzSBRVtoAnyuxtkZ4VjIOh\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQDGrpfM7VmYOGkKAKnqUyFDANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMjCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAOBiO1K6Fk4fHI6t3mJkpg7lxoeUgL8tz9wuI2z0UgY8vFra\r\n3VBo7QznC4K3s9jqKWEyIQY11Le0108bSYa/TK0aioO6itpGiigEG+vH/iqtQXPS\r\nu6D804ri0NFZ1SOP9IzjYuQiK6AWntCqP4WAcZAPtpNrNLPBIyiqmiTDS4dlFg1d\r\nskMuVpT4z0MpgEMmxQnrSZ615rBQ25vnVbBNig04FCsh1V3S8ve5Gzh08oIrL/g5\r\nxq95oRrgEeOBIeiegQpoKrLYyo3R1Tt48HmSJCBYQ52Qc34RgxQdZsLXMUrWuL1J\r\nLAZP6yeo47ySSxKCjhq5/AUWvQBP3N/cP/iJzKKKw23qJ/kkVrE0DSVDiIiXWF0c\r\n9abSGhYl9SPl86IHcIAIzwelJ4SKpHrVbh0/w4YHdFi5QbdAp7O5KxfxBYhQOeHy\r\nis01zkpYn6SqUFGvbK8eZ8y9Aclt8PIUftMG6q5BhdlBZkDDV3n70RlXwYvllzfZ\r\n/nV94l+hYp+GLW7jSmpxZLG/XEz4OXtTtWwLV+IkIOe/EDF79KCazW2SXOIvVInP\r\noi1PqN4TudNv0GyBF5tRC/aBjUqply1YYfeKwgRVs83z5kuiOicmdGZKH9SqU5bn\r\nKse7IlyfZLg6yAxYyTNe7A9acJ3/pGmCIkJ/9dfLUFc4hYb3YyIIYGmqm2/3AgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUAKuR/CFiJpeaqHkbYUGQYKliZ/0wHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAzo/KdmWPPTaYLQW7J5DqxEiBT9QyYGUfe\r\nZd7TR1837H6DSkFa/mGM1kLwi5y9miZKA9k6T9OwTx8CflcvbNO2UkFW0VCldEGH\r\niyx5421+HpRxMQIRjligePtOtRGXwaNOQ7ySWfJhRhKcPKe2PGFHQI7/3n+T3kXQ\r\n/SLu2lk9Qs5YgSJ3VhxBUznYn1KVKJWPE07M55kuUgCquAV0PksZj7EC4nK6e/UV\r\nbPumlj1nyjlxhvNud4WYmr4ntbBev6cSbK78dpI/3cr7P/WJPYJuL0EsO3MgjS3e\r\nDCX7NXp5ylue3TcpQfRU8BL+yZC1wqX98R4ndw7X4qfGaE7SlF7I\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT\r\nMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j\r\nb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG\r\n9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI\r\n2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx\r\n1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ\r\nq2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz\r\ntCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ\r\nvIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP\r\nBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV\r\n5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY\r\n1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4\r\nNeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG\r\nFdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91\r\n8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe\r\npLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl\r\nMrY=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQAueRcfuAIek/4tmDg0xQwDANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwNjCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBALVGARl56bx3KBUSGuPc4H5uoNFkFH4e7pvTCxRi4j/+z+Xb\r\nwjEz+5CipDOqjx9/jWjskL5dk7PaQkzItidsAAnDCW1leZBOIi68Lff1bjTeZgMY\r\niwdRd3Y39b/lcGpiuP2d23W95YHkMMT8IlWosYIX0f4kYb62rphyfnAjYb/4Od99\r\nThnhlAxGtfvSbXcBVIKCYfZgqRvV+5lReUnd1aNjRYVzPOoifgSx2fRyy1+pO1Uz\r\naMMNnIOE71bVYW0A1hr19w7kOb0KkJXoALTDDj1ukUEDqQuBfBxReL5mXiu1O7WG\r\n0vltg0VZ/SZzctBsdBlx1BkmWYBW261KZgBivrql5ELTKKd8qgtHcLQA5fl6JB0Q\r\ngs5XDaWehN86Gps5JW8ArjGtjcWAIP+X8CQaWfaCnuRm6Bk/03PQWhgdi84qwA0s\r\nsRfFJwHUPTNSnE8EiGVk2frt0u8PG1pwSQsFuNJfcYIHEv1vOzP7uEOuDydsmCjh\r\nlxuoK2n5/2aVR3BMTu+p4+gl8alXoBycyLmj3J/PUgqD8SL5fTCUegGsdia/Sa60\r\nN2oV7vQ17wjMN+LXa2rjj/b4ZlZgXVojDmAjDwIRdDUujQu0RVsJqFLMzSIHpp2C\r\nZp7mIoLrySay2YYBu7SiNwL95X6He2kS8eefBBHjzwW/9FxGqry57i71c2cDAgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQU1cFnOsKjnfR3UltZEjgp5lVou6UwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQB2oWc93fB8esci/8esixj++N22meiGDjgF\r\n+rA2LUK5IOQOgcUSTGKSqF9lYfAxPjrqPjDCUPHCURv+26ad5P/BYtXtbmtxJWu+\r\ncS5BhMDPPeG3oPZwXRHBJFAkY4O4AF7RIAAUW6EzDflUoDHKv83zOiPfYGcpHc9s\r\nkxAInCedk7QSgXvMARjjOqdakor21DTmNIUotxo8kHv5hwRlGhBJwps6fEVi1Bt0\r\ntrpM/3wYxlr473WSPUFZPgP1j519kLpWOJ8z09wxay+Br29irPcBYv0GMXlHqThy\r\n8y4m/HyTQeI2IMvMrQnwqPpY+rLIXyviI2vLoI+4xKE4Rn38ZZ8m\r\n-----END + CERTIFICATE-----\r\n"}],"hoursBetweenBackups":0,"prometheusEndpoint":{"ipAddress":"127.0.0.1"},"provisioningState":"Succeeded","repairEnabled":true,"seedNodes":[]}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '11303' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:49:29 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster show + Connection: + - keep-alive + ParameterSetName: + - -c -g + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002?api-version=2021-03-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002","name":"cli000002","type":"Microsoft.DocumentDB/cassandraClusters","location":"eastus2","tags":{},"identity":null,"properties":{"authenticationMethod":"Cassandra","clientCertificates":[],"clusterNameOverride":"cli000002","delegatedManagementSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000003/subnets/cli000004","externalGossipCertificates":[{"pem":"./test.pem"}],"externalSeedNodes":[{"ipAddress":"127.0.0.1"},{"ipAddress":"127.0.0.2"}],"gossipCertificates":[{"pem":"\r\n-----BEGIN + CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQDXvt6X2CCZZ6UmMbi90YvTANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwNTCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAKplDTmQ9afwVPQelDuu+NkxNJ084CNKnrZ21ABewE+UU4GK\r\nDnwygZdK6agNSMs5UochUEDzz9CpdV5tdPzL14O/GeE2gO5/aUFTUMG9c6neyxk5\r\ntq1WdKsPkitPws6V8MWa5d1L/y4RFhZHUsgxxUySlYlGpNcHhhsyr7EvFecZGA1M\r\nfsitAWVp6hiWANkWKINfRcdt3Z2A23hmMH9MRSGBccHiPuzwrVsSmLwvt3WlRDgO\r\nbJkE40tFYvJ6GXAQiaGHCIWSVObgO3zj6xkdbEFMmJ/zr2Wet5KEcUDtUBhA4dUU\r\noaPVz69u46V56Vscy3lXu1Ylsk84j5lUPLdsAxtultP4OPQoOTpnY8kxWkH6kgO5\r\ngTKE3HRvoVIjU4xJ0JQ746zy/8GdQA36SaNiz4U3u10zFZg2Rkv2dL1Lv58EXL02\r\nr5q5B/nhVH/M1joTvpRvaeEpAJhkIA9NkpvbGEpSdcA0OrtOOeGtrsiOyMBYkjpB\r\n5nw0cJY1QHOr3nIvJ2OnY+OKJbDSrhFqWsk8/1q6Z1WNvONz7te1pAtHerdPi5pC\r\nHeiXCNpv+fadwP0k8czaf2Vs19nYsgWn5uIyLQL8EehdBzCbOKJy9sl86S4Fqe4H\r\nGyAtmqGlaWOsq2A6O/paMi3BSmWTDbgPLCPBbPte/bsuAEF4ajkPEES3GHP9AgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUx7KcfxzjuFrv6WgaqF2UwSZSamgwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAe+G+G2RFdWtYxLIKMR5H/aVNFjNP7Jdeu\r\n+oZaKaIu7U3NidykFr994jSxMBMV768ukJ5/hLSKsuj/SLjmAfwRAZ+w0RGqi/kO\r\nvPYUlBr/sKOwr3tVkg9ccZBebnBVG+DLKTp2Ox0+jYBCPxla5FO252qpk7/6wt8S\r\nZk3diSU12Jm7if/jjkhkGB/e8UdfrKoLytDvqVeiwPA5FPzqKoSqN75byLjsIKJE\r\ndNi07SY45hN/RUnsmIoAf93qlaHR/SJWVRhrWt3JmeoBJ2RDK492zF6TGu1moh4a\r\nE6e00YkwTPWreuwvaLB220vWmtgZPs+DSIb2d9hPBdCJgvcho1c7\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQCq+mxcpjxFFB6jvh98dTFzANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMTCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAMedcDrkXufP7pxVm1FHLDNA9IjwHaMoaY8arqqZ4Gff4xyr\r\nRygnavXL7g12MPAx8Q6Dd9hfBzrfWxkF0Br2wIvlvkzW01naNVSkHp+OS3hL3W6n\r\nl/jYvZnVeJXjtsKYcXIf/6WtspcF5awlQ9LZJcjwaH7KoZuK+THpXCMtzD8XNVdm\r\nGW/JI0C/7U/E7evXn9XDio8SYkGSM63aLO5BtLCv092+1d4GGBSQYolRq+7Pd1kR\r\nEkWBPm0ywZ2Vb8GIS5DLrjelEkBnKCyy3B0yQud9dpVsiUeE7F5sY8Me96WVxQcb\r\nOyYdEY/j/9UpDlOG+vA+YgOvBhkKEjiqygVpP8EZoMMijephzg43b5Qi9r5UrvYo\r\no19oR/8pf4HJNDPF0/FJwFVMW8PmCBLGstin3NE1+NeWTkGt0TzpHjgKyfaDP2tO\r\n4bCk1G7pP2kDFT7SYfc8xbgCkFQ2UCEXsaH/f5YmpLn4YPiNFCeeIida7xnfTvc4\r\n7IxyVccHHq1FzGygOqemrxEETKh8hvDR6eBdrBwmCHVgZrnAqnn93JtGyPLi6+cj\r\nWGVGtMZHwzVvX1HvSFG771sskcEjJxiQNQDQRWHEh3NxvNb7kFlAXnVdRkkvhjpR\r\nGchFhTAzqmwltdWhWDEyCMKC2x/mSZvZtlZGY+g37Y72qHzidwtyW7rBetZJAgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUDyBd16FXlduSzyvQx8J3BM5ygHYwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAlFvNh7QgXVLAZSsNR2XRmIn9iS8OHFCBA\r\nWxKJoi8YYQafpMTkMqeuzoL3HWb1pYEipsDkhiMnrpfeYZEA7Lz7yqEEtfgHcEBs\r\nK9KcStQGGZRfmWU07hPXHnFz+5gTXqzCE2PBMlRgVUYJiA25mJPXfB00gDvGhtYa\r\n+mENwM9Bq1B9YYLyLjRtUz8cyGsdyTIG/bBM/Q9jcV8JGqMU/UjAdh1pFyTnnHEl\r\nY59Npi7F87ZqYYJEHJM2LGD+le8VsHjgeWX2CJQko7klXvcizuZvUEDTjHaQcs2J\r\n+kPgfyMIOY1DMJ21NxOJ2xPRC/wAh/hzSBRVtoAnyuxtkZ4VjIOh\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQDGrpfM7VmYOGkKAKnqUyFDANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMjCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAOBiO1K6Fk4fHI6t3mJkpg7lxoeUgL8tz9wuI2z0UgY8vFra\r\n3VBo7QznC4K3s9jqKWEyIQY11Le0108bSYa/TK0aioO6itpGiigEG+vH/iqtQXPS\r\nu6D804ri0NFZ1SOP9IzjYuQiK6AWntCqP4WAcZAPtpNrNLPBIyiqmiTDS4dlFg1d\r\nskMuVpT4z0MpgEMmxQnrSZ615rBQ25vnVbBNig04FCsh1V3S8ve5Gzh08oIrL/g5\r\nxq95oRrgEeOBIeiegQpoKrLYyo3R1Tt48HmSJCBYQ52Qc34RgxQdZsLXMUrWuL1J\r\nLAZP6yeo47ySSxKCjhq5/AUWvQBP3N/cP/iJzKKKw23qJ/kkVrE0DSVDiIiXWF0c\r\n9abSGhYl9SPl86IHcIAIzwelJ4SKpHrVbh0/w4YHdFi5QbdAp7O5KxfxBYhQOeHy\r\nis01zkpYn6SqUFGvbK8eZ8y9Aclt8PIUftMG6q5BhdlBZkDDV3n70RlXwYvllzfZ\r\n/nV94l+hYp+GLW7jSmpxZLG/XEz4OXtTtWwLV+IkIOe/EDF79KCazW2SXOIvVInP\r\noi1PqN4TudNv0GyBF5tRC/aBjUqply1YYfeKwgRVs83z5kuiOicmdGZKH9SqU5bn\r\nKse7IlyfZLg6yAxYyTNe7A9acJ3/pGmCIkJ/9dfLUFc4hYb3YyIIYGmqm2/3AgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUAKuR/CFiJpeaqHkbYUGQYKliZ/0wHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAzo/KdmWPPTaYLQW7J5DqxEiBT9QyYGUfe\r\nZd7TR1837H6DSkFa/mGM1kLwi5y9miZKA9k6T9OwTx8CflcvbNO2UkFW0VCldEGH\r\niyx5421+HpRxMQIRjligePtOtRGXwaNOQ7ySWfJhRhKcPKe2PGFHQI7/3n+T3kXQ\r\n/SLu2lk9Qs5YgSJ3VhxBUznYn1KVKJWPE07M55kuUgCquAV0PksZj7EC4nK6e/UV\r\nbPumlj1nyjlxhvNud4WYmr4ntbBev6cSbK78dpI/3cr7P/WJPYJuL0EsO3MgjS3e\r\nDCX7NXp5ylue3TcpQfRU8BL+yZC1wqX98R4ndw7X4qfGaE7SlF7I\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT\r\nMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j\r\nb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG\r\n9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI\r\n2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx\r\n1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ\r\nq2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz\r\ntCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ\r\nvIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP\r\nBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV\r\n5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY\r\n1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4\r\nNeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG\r\nFdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91\r\n8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe\r\npLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl\r\nMrY=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQAueRcfuAIek/4tmDg0xQwDANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwNjCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBALVGARl56bx3KBUSGuPc4H5uoNFkFH4e7pvTCxRi4j/+z+Xb\r\nwjEz+5CipDOqjx9/jWjskL5dk7PaQkzItidsAAnDCW1leZBOIi68Lff1bjTeZgMY\r\niwdRd3Y39b/lcGpiuP2d23W95YHkMMT8IlWosYIX0f4kYb62rphyfnAjYb/4Od99\r\nThnhlAxGtfvSbXcBVIKCYfZgqRvV+5lReUnd1aNjRYVzPOoifgSx2fRyy1+pO1Uz\r\naMMNnIOE71bVYW0A1hr19w7kOb0KkJXoALTDDj1ukUEDqQuBfBxReL5mXiu1O7WG\r\n0vltg0VZ/SZzctBsdBlx1BkmWYBW261KZgBivrql5ELTKKd8qgtHcLQA5fl6JB0Q\r\ngs5XDaWehN86Gps5JW8ArjGtjcWAIP+X8CQaWfaCnuRm6Bk/03PQWhgdi84qwA0s\r\nsRfFJwHUPTNSnE8EiGVk2frt0u8PG1pwSQsFuNJfcYIHEv1vOzP7uEOuDydsmCjh\r\nlxuoK2n5/2aVR3BMTu+p4+gl8alXoBycyLmj3J/PUgqD8SL5fTCUegGsdia/Sa60\r\nN2oV7vQ17wjMN+LXa2rjj/b4ZlZgXVojDmAjDwIRdDUujQu0RVsJqFLMzSIHpp2C\r\nZp7mIoLrySay2YYBu7SiNwL95X6He2kS8eefBBHjzwW/9FxGqry57i71c2cDAgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQU1cFnOsKjnfR3UltZEjgp5lVou6UwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQB2oWc93fB8esci/8esixj++N22meiGDjgF\r\n+rA2LUK5IOQOgcUSTGKSqF9lYfAxPjrqPjDCUPHCURv+26ad5P/BYtXtbmtxJWu+\r\ncS5BhMDPPeG3oPZwXRHBJFAkY4O4AF7RIAAUW6EzDflUoDHKv83zOiPfYGcpHc9s\r\nkxAInCedk7QSgXvMARjjOqdakor21DTmNIUotxo8kHv5hwRlGhBJwps6fEVi1Bt0\r\ntrpM/3wYxlr473WSPUFZPgP1j519kLpWOJ8z09wxay+Br29irPcBYv0GMXlHqThy\r\n8y4m/HyTQeI2IMvMrQnwqPpY+rLIXyviI2vLoI+4xKE4Rn38ZZ8m\r\n-----END + CERTIFICATE-----\r\n"}],"hoursBetweenBackups":0,"prometheusEndpoint":{"ipAddress":"127.0.0.1"},"provisioningState":"Succeeded","repairEnabled":true,"seedNodes":[]}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '11303' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:49:30 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -c -g --yes + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Enqueued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:49:31 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/43c3c9fb-a0a2-44af-9b9b-5098f98cefb4?api-version=2021-03-01-preview + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster delete + Connection: + - keep-alive + ParameterSetName: + - -c -g --yes + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/43c3c9fb-a0a2-44af-9b9b-5098f98cefb4?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:50:01 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/43c3c9fb-a0a2-44af-9b9b-5098f98cefb4?api-version=2021-03-01-preview + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster delete + Connection: + - keep-alive + ParameterSetName: + - -c -g --yes + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/43c3c9fb-a0a2-44af-9b9b-5098f98cefb4?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:50:32 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/43c3c9fb-a0a2-44af-9b9b-5098f98cefb4?api-version=2021-03-01-preview + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster delete + Connection: + - keep-alive + ParameterSetName: + - -c -g --yes + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/43c3c9fb-a0a2-44af-9b9b-5098f98cefb4?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:51:02 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/43c3c9fb-a0a2-44af-9b9b-5098f98cefb4?api-version=2021-03-01-preview + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster delete + Connection: + - keep-alive + ParameterSetName: + - -c -g --yes + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/43c3c9fb-a0a2-44af-9b9b-5098f98cefb4?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:51:32 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/43c3c9fb-a0a2-44af-9b9b-5098f98cefb4?api-version=2021-03-01-preview + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster delete + Connection: + - keep-alive + ParameterSetName: + - -c -g --yes + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/43c3c9fb-a0a2-44af-9b9b-5098f98cefb4?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:52:02 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/43c3c9fb-a0a2-44af-9b9b-5098f98cefb4?api-version=2021-03-01-preview + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster delete + Connection: + - keep-alive + ParameterSetName: + - -c -g --yes + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/43c3c9fb-a0a2-44af-9b9b-5098f98cefb4?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:52:32 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/43c3c9fb-a0a2-44af-9b9b-5098f98cefb4?api-version=2021-03-01-preview + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster delete + Connection: + - keep-alive + ParameterSetName: + - -c -g --yes + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/43c3c9fb-a0a2-44af-9b9b-5098f98cefb4?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:53:03 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/43c3c9fb-a0a2-44af-9b9b-5098f98cefb4?api-version=2021-03-01-preview + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster delete + Connection: + - keep-alive + ParameterSetName: + - -c -g --yes + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/43c3c9fb-a0a2-44af-9b9b-5098f98cefb4?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:53:33 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/43c3c9fb-a0a2-44af-9b9b-5098f98cefb4?api-version=2021-03-01-preview + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster delete + Connection: + - keep-alive + ParameterSetName: + - -c -g --yes + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/43c3c9fb-a0a2-44af-9b9b-5098f98cefb4?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:54:03 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/43c3c9fb-a0a2-44af-9b9b-5098f98cefb4?api-version=2021-03-01-preview + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster delete + Connection: + - keep-alive + ParameterSetName: + - -c -g --yes + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/43c3c9fb-a0a2-44af-9b9b-5098f98cefb4?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:54:33 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/43c3c9fb-a0a2-44af-9b9b-5098f98cefb4?api-version=2021-03-01-preview + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster delete + Connection: + - keep-alive + ParameterSetName: + - -c -g --yes + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/43c3c9fb-a0a2-44af-9b9b-5098f98cefb4?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '22' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:55:04 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 200 + message: Ok +version: 1 diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_managed_cassandra_verify_lists.yaml b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_managed_cassandra_verify_lists.yaml index ad435a3ce3b..bb4d7d8c600 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_managed_cassandra_verify_lists.yaml +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_managed_cassandra_verify_lists.yaml @@ -1,2867 +1,2736 @@ -interactions: -- request: - body: '{"location": "eastus2", "tags": {}, "properties": {"addressSpace": {"addressPrefixes": - ["10.0.0.0/16"]}, "dhcpOptions": {}, "subnets": [{"name": "cli000006", "properties": - {"addressPrefix": "10.0.0.0/24"}}]}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network vnet create - Connection: - - keep-alive - Content-Length: - - '209' - Content-Type: - - application/json - ParameterSetName: - - -g -l -n --subnet-name - User-Agent: - - AZURECLI/2.19.1 (MSI) azsdk-python-azure-mgmt-network/17.0.0 Python/3.8.1 - (Windows-10-10.0.19041-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005?api-version=2020-07-01 - response: - body: - string: "{\r\n \"name\": \"cli000005\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005\",\r\n - \ \"etag\": \"W/\\\"9ab53e99-5d20-4a8f-8967-86880b87ed3f\\\"\",\r\n \"type\": - \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus2\",\r\n - \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"resourceGuid\": \"e1abc931-9442-48f9-a475-87d60bada253\",\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\": \"cli000006\",\r\n \"id\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006\",\r\n - \ \"etag\": \"W/\\\"9ab53e99-5d20-4a8f-8967-86880b87ed3f\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"addressPrefix\": \"10.0.0.0/24\",\r\n \"delegations\": - [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": - \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n - \ }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": - false\r\n }\r\n}" - headers: - azure-asyncnotification: - - Enabled - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2/operations/99287285-02a8-47ff-a44c-41d5627eabfc?api-version=2020-07-01 - cache-control: - - no-cache - content-length: - - '1425' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 07 Apr 2021 18:21:33 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-arm-service-request-id: - - 9ed01a8b-5295-4969-b634-8e0fde7c58b2 - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - network vnet create - Connection: - - keep-alive - ParameterSetName: - - -g -l -n --subnet-name - User-Agent: - - AZURECLI/2.19.1 (MSI) azsdk-python-azure-mgmt-network/17.0.0 Python/3.8.1 - (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2/operations/99287285-02a8-47ff-a44c-41d5627eabfc?api-version=2020-07-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: - - Wed, 07 Apr 2021 18:21:36 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 - x-ms-arm-service-request-id: - - 1c91a23b-6c3d-4455-8110-3e9a17f5e3d5 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - network vnet create - Connection: - - keep-alive - ParameterSetName: - - -g -l -n --subnet-name - User-Agent: - - AZURECLI/2.19.1 (MSI) azsdk-python-azure-mgmt-network/17.0.0 Python/3.8.1 - (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005?api-version=2020-07-01 - response: - body: - string: "{\r\n \"name\": \"cli000005\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005\",\r\n - \ \"etag\": \"W/\\\"2041b817-1f37-42fc-9219-73d13960a8a9\\\"\",\r\n \"type\": - \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus2\",\r\n - \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"e1abc931-9442-48f9-a475-87d60bada253\",\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\": \"cli000006\",\r\n \"id\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006\",\r\n - \ \"etag\": \"W/\\\"2041b817-1f37-42fc-9219-73d13960a8a9\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"addressPrefix\": \"10.0.0.0/24\",\r\n \"delegations\": - [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": - \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n - \ }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": - false\r\n }\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '1427' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 07 Apr 2021 18:21:36 GMT - etag: - - W/"2041b817-1f37-42fc-9219-73d13960a8a9" - 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 - x-ms-arm-service-request-id: - - fe1faaef-a949-4e79-a7ff-0d4c4cb70020 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - network vnet show - Connection: - - keep-alive - ParameterSetName: - - -g -n - User-Agent: - - AZURECLI/2.19.1 (MSI) azsdk-python-azure-mgmt-network/17.0.0 Python/3.8.1 - (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005?api-version=2020-07-01 - response: - body: - string: "{\r\n \"name\": \"cli000005\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005\",\r\n - \ \"etag\": \"W/\\\"2041b817-1f37-42fc-9219-73d13960a8a9\\\"\",\r\n \"type\": - \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus2\",\r\n - \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"e1abc931-9442-48f9-a475-87d60bada253\",\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\": \"cli000006\",\r\n \"id\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006\",\r\n - \ \"etag\": \"W/\\\"2041b817-1f37-42fc-9219-73d13960a8a9\\\"\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"addressPrefix\": \"10.0.0.0/24\",\r\n \"delegations\": - [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": - \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n - \ }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": - false\r\n }\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '1427' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 07 Apr 2021 18:21:37 GMT - etag: - - W/"2041b817-1f37-42fc-9219-73d13960a8a9" - 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 - x-ms-arm-service-request-id: - - ebe0955b-d476-4eba-a985-3f19784434f4 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - role assignment create - Connection: - - keep-alive - ParameterSetName: - - --assignee --role --scope - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - accept-language: - - en-US - method: GET - uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/servicePrincipals?$filter=servicePrincipalNames%2Fany%28c%3Ac%20eq%20%27e5007d2c-4b13-4a74-9b6a-605d99f03501%27%29&api-version=1.6 - response: - body: - string: '{"odata.metadata":"https://graph.windows.net/00000000-0000-0000-0000-000000000000/$metadata#directoryObjects","value":[]}' - headers: - access-control-allow-origin: - - '*' - cache-control: - - no-cache - content-length: - - '121' - content-type: - - application/json; odata=minimalmetadata; streaming=true; charset=utf-8 - dataserviceversion: - - 3.0; - date: - - Wed, 07 Apr 2021 18:21:37 GMT - duration: - - '1323606' - expires: - - '-1' - ocp-aad-diagnostics-server-name: - - zJHih43e18SphjZwCmWnK3HrQI7VUQL2pSmk1LWQ2JQ= - ocp-aad-session-key: - - vtYWnkMj4Bi0xnaAqcTua1nYZy6cRFR1vYnvjhPmjzSyC1iFJAW_9PCZh2NCA_KC0lWE8oq__fWp6hB6kZYe72mbVMWgFNjQ_MrmHP5Z1DWqeKUWEthyOM4ecWepOHQH.jZDgElNqIENRlnZN5v4ccy6pBQpaLqdMMScmiZ56gvA - pragma: - - no-cache - request-id: - - c62c217a-f772-48bc-9ee0-fae15b3a33a5 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-aspnet-version: - - 4.0.30319 - x-ms-dirapi-data-contract-version: - - '1.6' - x-ms-resource-unit: - - '1' - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: '{"objectIds": ["e5007d2c-4b13-4a74-9b6a-605d99f03501"], "includeDirectoryObjectReferences": - true}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - role assignment create - Connection: - - keep-alive - Content-Length: - - '97' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - --assignee --role --scope - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - accept-language: - - en-US - method: POST - uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/getObjectsByObjectIds?api-version=1.6 - response: - body: - string: '{"odata.metadata":"https://graph.windows.net/00000000-0000-0000-0000-000000000000/$metadata#directoryObjects","value":[{"odata.type":"Microsoft.DirectoryServices.ServicePrincipal","objectType":"ServicePrincipal","objectId":"e5007d2c-4b13-4a74-9b6a-605d99f03501","deletionTimestamp":null,"accountEnabled":true,"addIns":[],"alternativeNames":[],"appDisplayName":"Azure - Cosmos DB","appId":"a232010e-820c-4083-83bb-3ace5fc29d0b","applicationTemplateId":null,"appOwnerTenantId":"f8cdef31-a31e-4b4a-93e4-5f571e91255a","appRoleAssignmentRequired":false,"appRoles":[],"displayName":"Azure - Cosmos DB","errorUrl":null,"homepage":null,"informationalUrls":{"termsOfService":null,"support":null,"privacy":null,"marketing":null},"keyCredentials":[],"logoutUrl":null,"notificationEmailAddresses":[],"oauth2Permissions":[{"adminConsentDescription":"Allow - the application to access Azure Cosmos DB on behalf of the signed-in user.","adminConsentDisplayName":"Access - Azure Cosmos DB","id":"8741c20d-e8c0-41ff-8adf-b7b9ba168197","isEnabled":true,"type":"User","userConsentDescription":"Allow - the application to access Azure Cosmos DB on your behalf.","userConsentDisplayName":"Access - Azure Cosmos DB as the Signed-in User","value":"user_impersonation"}],"passwordCredentials":[],"preferredSingleSignOnMode":null,"preferredTokenSigningKeyEndDateTime":null,"preferredTokenSigningKeyThumbprint":null,"publisherName":"Microsoft - Services","replyUrls":[],"samlMetadataUrl":null,"samlSingleSignOnSettings":null,"servicePrincipalNames":["a232010e-820c-4083-83bb-3ace5fc29d0b"],"servicePrincipalType":"Application","signInAudience":"AzureADMultipleOrgs","tags":[],"tokenEncryptionKeyId":null}]}' - headers: - access-control-allow-origin: - - '*' - cache-control: - - no-cache - content-length: - - '1666' - content-type: - - application/json; odata=minimalmetadata; streaming=true; charset=utf-8 - dataserviceversion: - - 3.0; - date: - - Wed, 07 Apr 2021 18:21:37 GMT - duration: - - '1221940' - expires: - - '-1' - ocp-aad-diagnostics-server-name: - - DLbgmtQozOoAV2GcBiW6o5zK6zFC+KQZMsWj7gphBds= - ocp-aad-session-key: - - 0UJKXunDzl4nbRRw2K-qPe88xYsKHVjT_FcFoik8Jxfa7JwIbLTJGvo1h-jdocCTNbTunV9dA_hgOq8OHmbztr48-FEO-Sh4QIiYyArSmMb5cWWdjDV08zYnog6MMPEa.s8tb8eW1IgsRwNuoxOftjZCumvclJmZdUSO5qGxPgvE - pragma: - - no-cache - request-id: - - c14d004f-4673-4879-a976-3f5c677980b5 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-aspnet-version: - - 4.0.30319 - x-ms-dirapi-data-contract-version: - - '1.6' - x-ms-resource-unit: - - '3' - x-powered-by: - - ASP.NET - status: - code: 200 - message: OK -- request: - body: '{"properties": {"roleDefinitionId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7", - "principalId": "e5007d2c-4b13-4a74-9b6a-605d99f03501"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - role assignment create - Connection: - - keep-alive - Content-Length: - - '233' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - --assignee --role --scope - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/providers/Microsoft.Authorization/roleAssignments/42298c4e-a2fe-4fbc-a884-f70a338797a4?api-version=2020-04-01-preview - response: - body: - string: '{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"e5007d2c-4b13-4a74-9b6a-605d99f03501","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005","condition":null,"conditionVersion":null,"createdOn":"2021-04-07T18:21:38.3420770Z","updatedOn":"2021-04-07T18:21:38.6570784Z","createdBy":null,"updatedBy":"93ebe712-cdf4-4897-8b58-c67674f81647","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/providers/Microsoft.Authorization/roleAssignments/42298c4e-a2fe-4fbc-a884-f70a338797a4","type":"Microsoft.Authorization/roleAssignments","name":"42298c4e-a2fe-4fbc-a884-f70a338797a4"}' - headers: - cache-control: - - no-cache - content-length: - - '1115' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 07 Apr 2021 18:21:39 GMT - expires: - - '-1' - pragma: - - no-cache - set-cookie: - - x-ms-gateway-slice=Production; path=/; secure; samesite=none; httponly - 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 show - Connection: - - keep-alive - ParameterSetName: - - -g --vnet-name --name - User-Agent: - - AZURECLI/2.19.1 (MSI) azsdk-python-azure-mgmt-network/17.0.0 Python/3.8.1 - (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006?api-version=2020-07-01 - response: - body: - string: "{\r\n \"name\": \"cli000006\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006\",\r\n - \ \"etag\": \"W/\\\"2041b817-1f37-42fc-9219-73d13960a8a9\\\"\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"addressPrefix\": \"10.0.0.0/24\",\r\n - \ \"delegations\": [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n - \ \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n },\r\n \"type\": - \"Microsoft.Network/virtualNetworks/subnets\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '597' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 07 Apr 2021 18:21:39 GMT - etag: - - W/"2041b817-1f37-42fc-9219-73d13960a8a9" - 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 - x-ms-arm-service-request-id: - - bfc1b744-590b-493e-96e1-febbfc63c7f2 - status: - code: 200 - message: OK -- request: - body: '{"location": "eastus2", "properties": {"delegatedManagementSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006", - "initialCassandraAdminPassword": "password"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster create - Connection: - - keep-alive - Content-Length: - - '335' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - -c -l -g -s -i - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002?api-version=2021-03-01-preview - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002","name":"cli000002","type":"Microsoft.DocumentDB/cassandraClusters","location":"eastus2","tags":{},"properties":{"provisioningState":"Creating","delegatedManagementSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006","clusterNameOverride":"cli000002","authenticationMethod":"Cassandra","hoursBetweenBackups":0,"clientCertificates":[],"externalGossipCertificates":[],"gossipCertificates":[],"prometheusEndpoint":{},"seedNodes":[]}}' - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/c378ee43-5fc7-4f5e-8a7a-328e24285ba5?api-version=2021-03-01-preview - cache-control: - - no-store, no-cache - content-length: - - '818' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:21:42 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster create - Connection: - - keep-alive - ParameterSetName: - - -c -l -g -s -i - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/c378ee43-5fc7-4f5e-8a7a-328e24285ba5?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:22:12 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster create - Connection: - - keep-alive - ParameterSetName: - - -c -l -g -s -i - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/c378ee43-5fc7-4f5e-8a7a-328e24285ba5?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:22:42 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster create - Connection: - - keep-alive - ParameterSetName: - - -c -l -g -s -i - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/c378ee43-5fc7-4f5e-8a7a-328e24285ba5?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:23:13 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster create - Connection: - - keep-alive - ParameterSetName: - - -c -l -g -s -i - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/c378ee43-5fc7-4f5e-8a7a-328e24285ba5?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:23:43 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster create - Connection: - - keep-alive - ParameterSetName: - - -c -l -g -s -i - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/c378ee43-5fc7-4f5e-8a7a-328e24285ba5?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:24:14 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster create - Connection: - - keep-alive - ParameterSetName: - - -c -l -g -s -i - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/c378ee43-5fc7-4f5e-8a7a-328e24285ba5?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:24:44 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster create - Connection: - - keep-alive - ParameterSetName: - - -c -l -g -s -i - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/c378ee43-5fc7-4f5e-8a7a-328e24285ba5?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:25:14 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster create - Connection: - - keep-alive - ParameterSetName: - - -c -l -g -s -i - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/c378ee43-5fc7-4f5e-8a7a-328e24285ba5?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Succeeded"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '22' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:25:45 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster create - Connection: - - keep-alive - ParameterSetName: - - -c -l -g -s -i - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002?api-version=2021-03-01-preview - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002","name":"cli000002","type":"Microsoft.DocumentDB/cassandraClusters","location":"eastus2","tags":{},"properties":{"provisioningState":"Succeeded","delegatedManagementSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006","clusterNameOverride":"cli000002","authenticationMethod":"Cassandra","hoursBetweenBackups":0,"clientCertificates":[],"externalGossipCertificates":[],"gossipCertificates":[{"pem":"\r\n-----BEGIN - CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQDXvt6X2CCZZ6UmMbi90YvTANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwNTCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAKplDTmQ9afwVPQelDuu+NkxNJ084CNKnrZ21ABewE+UU4GK\r\nDnwygZdK6agNSMs5UochUEDzz9CpdV5tdPzL14O/GeE2gO5/aUFTUMG9c6neyxk5\r\ntq1WdKsPkitPws6V8MWa5d1L/y4RFhZHUsgxxUySlYlGpNcHhhsyr7EvFecZGA1M\r\nfsitAWVp6hiWANkWKINfRcdt3Z2A23hmMH9MRSGBccHiPuzwrVsSmLwvt3WlRDgO\r\nbJkE40tFYvJ6GXAQiaGHCIWSVObgO3zj6xkdbEFMmJ/zr2Wet5KEcUDtUBhA4dUU\r\noaPVz69u46V56Vscy3lXu1Ylsk84j5lUPLdsAxtultP4OPQoOTpnY8kxWkH6kgO5\r\ngTKE3HRvoVIjU4xJ0JQ746zy/8GdQA36SaNiz4U3u10zFZg2Rkv2dL1Lv58EXL02\r\nr5q5B/nhVH/M1joTvpRvaeEpAJhkIA9NkpvbGEpSdcA0OrtOOeGtrsiOyMBYkjpB\r\n5nw0cJY1QHOr3nIvJ2OnY+OKJbDSrhFqWsk8/1q6Z1WNvONz7te1pAtHerdPi5pC\r\nHeiXCNpv+fadwP0k8czaf2Vs19nYsgWn5uIyLQL8EehdBzCbOKJy9sl86S4Fqe4H\r\nGyAtmqGlaWOsq2A6O/paMi3BSmWTDbgPLCPBbPte/bsuAEF4ajkPEES3GHP9AgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUx7KcfxzjuFrv6WgaqF2UwSZSamgwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAe+G+G2RFdWtYxLIKMR5H/aVNFjNP7Jdeu\r\n+oZaKaIu7U3NidykFr994jSxMBMV768ukJ5/hLSKsuj/SLjmAfwRAZ+w0RGqi/kO\r\nvPYUlBr/sKOwr3tVkg9ccZBebnBVG+DLKTp2Ox0+jYBCPxla5FO252qpk7/6wt8S\r\nZk3diSU12Jm7if/jjkhkGB/e8UdfrKoLytDvqVeiwPA5FPzqKoSqN75byLjsIKJE\r\ndNi07SY45hN/RUnsmIoAf93qlaHR/SJWVRhrWt3JmeoBJ2RDK492zF6TGu1moh4a\r\nE6e00YkwTPWreuwvaLB220vWmtgZPs+DSIb2d9hPBdCJgvcho1c7\r\n-----END - CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQCq+mxcpjxFFB6jvh98dTFzANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMTCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAMedcDrkXufP7pxVm1FHLDNA9IjwHaMoaY8arqqZ4Gff4xyr\r\nRygnavXL7g12MPAx8Q6Dd9hfBzrfWxkF0Br2wIvlvkzW01naNVSkHp+OS3hL3W6n\r\nl/jYvZnVeJXjtsKYcXIf/6WtspcF5awlQ9LZJcjwaH7KoZuK+THpXCMtzD8XNVdm\r\nGW/JI0C/7U/E7evXn9XDio8SYkGSM63aLO5BtLCv092+1d4GGBSQYolRq+7Pd1kR\r\nEkWBPm0ywZ2Vb8GIS5DLrjelEkBnKCyy3B0yQud9dpVsiUeE7F5sY8Me96WVxQcb\r\nOyYdEY/j/9UpDlOG+vA+YgOvBhkKEjiqygVpP8EZoMMijephzg43b5Qi9r5UrvYo\r\no19oR/8pf4HJNDPF0/FJwFVMW8PmCBLGstin3NE1+NeWTkGt0TzpHjgKyfaDP2tO\r\n4bCk1G7pP2kDFT7SYfc8xbgCkFQ2UCEXsaH/f5YmpLn4YPiNFCeeIida7xnfTvc4\r\n7IxyVccHHq1FzGygOqemrxEETKh8hvDR6eBdrBwmCHVgZrnAqnn93JtGyPLi6+cj\r\nWGVGtMZHwzVvX1HvSFG771sskcEjJxiQNQDQRWHEh3NxvNb7kFlAXnVdRkkvhjpR\r\nGchFhTAzqmwltdWhWDEyCMKC2x/mSZvZtlZGY+g37Y72qHzidwtyW7rBetZJAgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUDyBd16FXlduSzyvQx8J3BM5ygHYwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAlFvNh7QgXVLAZSsNR2XRmIn9iS8OHFCBA\r\nWxKJoi8YYQafpMTkMqeuzoL3HWb1pYEipsDkhiMnrpfeYZEA7Lz7yqEEtfgHcEBs\r\nK9KcStQGGZRfmWU07hPXHnFz+5gTXqzCE2PBMlRgVUYJiA25mJPXfB00gDvGhtYa\r\n+mENwM9Bq1B9YYLyLjRtUz8cyGsdyTIG/bBM/Q9jcV8JGqMU/UjAdh1pFyTnnHEl\r\nY59Npi7F87ZqYYJEHJM2LGD+le8VsHjgeWX2CJQko7klXvcizuZvUEDTjHaQcs2J\r\n+kPgfyMIOY1DMJ21NxOJ2xPRC/wAh/hzSBRVtoAnyuxtkZ4VjIOh\r\n-----END - CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQDGrpfM7VmYOGkKAKnqUyFDANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMjCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAOBiO1K6Fk4fHI6t3mJkpg7lxoeUgL8tz9wuI2z0UgY8vFra\r\n3VBo7QznC4K3s9jqKWEyIQY11Le0108bSYa/TK0aioO6itpGiigEG+vH/iqtQXPS\r\nu6D804ri0NFZ1SOP9IzjYuQiK6AWntCqP4WAcZAPtpNrNLPBIyiqmiTDS4dlFg1d\r\nskMuVpT4z0MpgEMmxQnrSZ615rBQ25vnVbBNig04FCsh1V3S8ve5Gzh08oIrL/g5\r\nxq95oRrgEeOBIeiegQpoKrLYyo3R1Tt48HmSJCBYQ52Qc34RgxQdZsLXMUrWuL1J\r\nLAZP6yeo47ySSxKCjhq5/AUWvQBP3N/cP/iJzKKKw23qJ/kkVrE0DSVDiIiXWF0c\r\n9abSGhYl9SPl86IHcIAIzwelJ4SKpHrVbh0/w4YHdFi5QbdAp7O5KxfxBYhQOeHy\r\nis01zkpYn6SqUFGvbK8eZ8y9Aclt8PIUftMG6q5BhdlBZkDDV3n70RlXwYvllzfZ\r\n/nV94l+hYp+GLW7jSmpxZLG/XEz4OXtTtWwLV+IkIOe/EDF79KCazW2SXOIvVInP\r\noi1PqN4TudNv0GyBF5tRC/aBjUqply1YYfeKwgRVs83z5kuiOicmdGZKH9SqU5bn\r\nKse7IlyfZLg6yAxYyTNe7A9acJ3/pGmCIkJ/9dfLUFc4hYb3YyIIYGmqm2/3AgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUAKuR/CFiJpeaqHkbYUGQYKliZ/0wHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAzo/KdmWPPTaYLQW7J5DqxEiBT9QyYGUfe\r\nZd7TR1837H6DSkFa/mGM1kLwi5y9miZKA9k6T9OwTx8CflcvbNO2UkFW0VCldEGH\r\niyx5421+HpRxMQIRjligePtOtRGXwaNOQ7ySWfJhRhKcPKe2PGFHQI7/3n+T3kXQ\r\n/SLu2lk9Qs5YgSJ3VhxBUznYn1KVKJWPE07M55kuUgCquAV0PksZj7EC4nK6e/UV\r\nbPumlj1nyjlxhvNud4WYmr4ntbBev6cSbK78dpI/3cr7P/WJPYJuL0EsO3MgjS3e\r\nDCX7NXp5ylue3TcpQfRU8BL+yZC1wqX98R4ndw7X4qfGaE7SlF7I\r\n-----END - CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT\r\nMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j\r\nb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG\r\n9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI\r\n2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx\r\n1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ\r\nq2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz\r\ntCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ\r\nvIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP\r\nBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV\r\n5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY\r\n1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4\r\nNeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG\r\nFdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91\r\n8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe\r\npLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl\r\nMrY=\r\n-----END - CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQAueRcfuAIek/4tmDg0xQwDANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwNjCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBALVGARl56bx3KBUSGuPc4H5uoNFkFH4e7pvTCxRi4j/+z+Xb\r\nwjEz+5CipDOqjx9/jWjskL5dk7PaQkzItidsAAnDCW1leZBOIi68Lff1bjTeZgMY\r\niwdRd3Y39b/lcGpiuP2d23W95YHkMMT8IlWosYIX0f4kYb62rphyfnAjYb/4Od99\r\nThnhlAxGtfvSbXcBVIKCYfZgqRvV+5lReUnd1aNjRYVzPOoifgSx2fRyy1+pO1Uz\r\naMMNnIOE71bVYW0A1hr19w7kOb0KkJXoALTDDj1ukUEDqQuBfBxReL5mXiu1O7WG\r\n0vltg0VZ/SZzctBsdBlx1BkmWYBW261KZgBivrql5ELTKKd8qgtHcLQA5fl6JB0Q\r\ngs5XDaWehN86Gps5JW8ArjGtjcWAIP+X8CQaWfaCnuRm6Bk/03PQWhgdi84qwA0s\r\nsRfFJwHUPTNSnE8EiGVk2frt0u8PG1pwSQsFuNJfcYIHEv1vOzP7uEOuDydsmCjh\r\nlxuoK2n5/2aVR3BMTu+p4+gl8alXoBycyLmj3J/PUgqD8SL5fTCUegGsdia/Sa60\r\nN2oV7vQ17wjMN+LXa2rjj/b4ZlZgXVojDmAjDwIRdDUujQu0RVsJqFLMzSIHpp2C\r\nZp7mIoLrySay2YYBu7SiNwL95X6He2kS8eefBBHjzwW/9FxGqry57i71c2cDAgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQU1cFnOsKjnfR3UltZEjgp5lVou6UwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQB2oWc93fB8esci/8esixj++N22meiGDjgF\r\n+rA2LUK5IOQOgcUSTGKSqF9lYfAxPjrqPjDCUPHCURv+26ad5P/BYtXtbmtxJWu+\r\ncS5BhMDPPeG3oPZwXRHBJFAkY4O4AF7RIAAUW6EzDflUoDHKv83zOiPfYGcpHc9s\r\nkxAInCedk7QSgXvMARjjOqdakor21DTmNIUotxo8kHv5hwRlGhBJwps6fEVi1Bt0\r\ntrpM/3wYxlr473WSPUFZPgP1j519kLpWOJ8z09wxay+Br29irPcBYv0GMXlHqThy\r\n8y4m/HyTQeI2IMvMrQnwqPpY+rLIXyviI2vLoI+4xKE4Rn38ZZ8m\r\n-----END - CERTIFICATE-----\r\n"}],"prometheusEndpoint":{"ipAddress":"127.0.0.1"},"seedNodes":[]}}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '11172' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:25:45 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster show - Connection: - - keep-alive - ParameterSetName: - - -c -g - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002?api-version=2021-03-01-preview - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002","name":"cli000002","type":"Microsoft.DocumentDB/cassandraClusters","location":"eastus2","tags":{},"properties":{"provisioningState":"Succeeded","delegatedManagementSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006","clusterNameOverride":"cli000002","authenticationMethod":"Cassandra","hoursBetweenBackups":0,"clientCertificates":[],"externalGossipCertificates":[],"gossipCertificates":[{"pem":"\r\n-----BEGIN - CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQDXvt6X2CCZZ6UmMbi90YvTANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwNTCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAKplDTmQ9afwVPQelDuu+NkxNJ084CNKnrZ21ABewE+UU4GK\r\nDnwygZdK6agNSMs5UochUEDzz9CpdV5tdPzL14O/GeE2gO5/aUFTUMG9c6neyxk5\r\ntq1WdKsPkitPws6V8MWa5d1L/y4RFhZHUsgxxUySlYlGpNcHhhsyr7EvFecZGA1M\r\nfsitAWVp6hiWANkWKINfRcdt3Z2A23hmMH9MRSGBccHiPuzwrVsSmLwvt3WlRDgO\r\nbJkE40tFYvJ6GXAQiaGHCIWSVObgO3zj6xkdbEFMmJ/zr2Wet5KEcUDtUBhA4dUU\r\noaPVz69u46V56Vscy3lXu1Ylsk84j5lUPLdsAxtultP4OPQoOTpnY8kxWkH6kgO5\r\ngTKE3HRvoVIjU4xJ0JQ746zy/8GdQA36SaNiz4U3u10zFZg2Rkv2dL1Lv58EXL02\r\nr5q5B/nhVH/M1joTvpRvaeEpAJhkIA9NkpvbGEpSdcA0OrtOOeGtrsiOyMBYkjpB\r\n5nw0cJY1QHOr3nIvJ2OnY+OKJbDSrhFqWsk8/1q6Z1WNvONz7te1pAtHerdPi5pC\r\nHeiXCNpv+fadwP0k8czaf2Vs19nYsgWn5uIyLQL8EehdBzCbOKJy9sl86S4Fqe4H\r\nGyAtmqGlaWOsq2A6O/paMi3BSmWTDbgPLCPBbPte/bsuAEF4ajkPEES3GHP9AgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUx7KcfxzjuFrv6WgaqF2UwSZSamgwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAe+G+G2RFdWtYxLIKMR5H/aVNFjNP7Jdeu\r\n+oZaKaIu7U3NidykFr994jSxMBMV768ukJ5/hLSKsuj/SLjmAfwRAZ+w0RGqi/kO\r\nvPYUlBr/sKOwr3tVkg9ccZBebnBVG+DLKTp2Ox0+jYBCPxla5FO252qpk7/6wt8S\r\nZk3diSU12Jm7if/jjkhkGB/e8UdfrKoLytDvqVeiwPA5FPzqKoSqN75byLjsIKJE\r\ndNi07SY45hN/RUnsmIoAf93qlaHR/SJWVRhrWt3JmeoBJ2RDK492zF6TGu1moh4a\r\nE6e00YkwTPWreuwvaLB220vWmtgZPs+DSIb2d9hPBdCJgvcho1c7\r\n-----END - CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQCq+mxcpjxFFB6jvh98dTFzANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMTCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAMedcDrkXufP7pxVm1FHLDNA9IjwHaMoaY8arqqZ4Gff4xyr\r\nRygnavXL7g12MPAx8Q6Dd9hfBzrfWxkF0Br2wIvlvkzW01naNVSkHp+OS3hL3W6n\r\nl/jYvZnVeJXjtsKYcXIf/6WtspcF5awlQ9LZJcjwaH7KoZuK+THpXCMtzD8XNVdm\r\nGW/JI0C/7U/E7evXn9XDio8SYkGSM63aLO5BtLCv092+1d4GGBSQYolRq+7Pd1kR\r\nEkWBPm0ywZ2Vb8GIS5DLrjelEkBnKCyy3B0yQud9dpVsiUeE7F5sY8Me96WVxQcb\r\nOyYdEY/j/9UpDlOG+vA+YgOvBhkKEjiqygVpP8EZoMMijephzg43b5Qi9r5UrvYo\r\no19oR/8pf4HJNDPF0/FJwFVMW8PmCBLGstin3NE1+NeWTkGt0TzpHjgKyfaDP2tO\r\n4bCk1G7pP2kDFT7SYfc8xbgCkFQ2UCEXsaH/f5YmpLn4YPiNFCeeIida7xnfTvc4\r\n7IxyVccHHq1FzGygOqemrxEETKh8hvDR6eBdrBwmCHVgZrnAqnn93JtGyPLi6+cj\r\nWGVGtMZHwzVvX1HvSFG771sskcEjJxiQNQDQRWHEh3NxvNb7kFlAXnVdRkkvhjpR\r\nGchFhTAzqmwltdWhWDEyCMKC2x/mSZvZtlZGY+g37Y72qHzidwtyW7rBetZJAgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUDyBd16FXlduSzyvQx8J3BM5ygHYwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAlFvNh7QgXVLAZSsNR2XRmIn9iS8OHFCBA\r\nWxKJoi8YYQafpMTkMqeuzoL3HWb1pYEipsDkhiMnrpfeYZEA7Lz7yqEEtfgHcEBs\r\nK9KcStQGGZRfmWU07hPXHnFz+5gTXqzCE2PBMlRgVUYJiA25mJPXfB00gDvGhtYa\r\n+mENwM9Bq1B9YYLyLjRtUz8cyGsdyTIG/bBM/Q9jcV8JGqMU/UjAdh1pFyTnnHEl\r\nY59Npi7F87ZqYYJEHJM2LGD+le8VsHjgeWX2CJQko7klXvcizuZvUEDTjHaQcs2J\r\n+kPgfyMIOY1DMJ21NxOJ2xPRC/wAh/hzSBRVtoAnyuxtkZ4VjIOh\r\n-----END - CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQDGrpfM7VmYOGkKAKnqUyFDANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMjCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAOBiO1K6Fk4fHI6t3mJkpg7lxoeUgL8tz9wuI2z0UgY8vFra\r\n3VBo7QznC4K3s9jqKWEyIQY11Le0108bSYa/TK0aioO6itpGiigEG+vH/iqtQXPS\r\nu6D804ri0NFZ1SOP9IzjYuQiK6AWntCqP4WAcZAPtpNrNLPBIyiqmiTDS4dlFg1d\r\nskMuVpT4z0MpgEMmxQnrSZ615rBQ25vnVbBNig04FCsh1V3S8ve5Gzh08oIrL/g5\r\nxq95oRrgEeOBIeiegQpoKrLYyo3R1Tt48HmSJCBYQ52Qc34RgxQdZsLXMUrWuL1J\r\nLAZP6yeo47ySSxKCjhq5/AUWvQBP3N/cP/iJzKKKw23qJ/kkVrE0DSVDiIiXWF0c\r\n9abSGhYl9SPl86IHcIAIzwelJ4SKpHrVbh0/w4YHdFi5QbdAp7O5KxfxBYhQOeHy\r\nis01zkpYn6SqUFGvbK8eZ8y9Aclt8PIUftMG6q5BhdlBZkDDV3n70RlXwYvllzfZ\r\n/nV94l+hYp+GLW7jSmpxZLG/XEz4OXtTtWwLV+IkIOe/EDF79KCazW2SXOIvVInP\r\noi1PqN4TudNv0GyBF5tRC/aBjUqply1YYfeKwgRVs83z5kuiOicmdGZKH9SqU5bn\r\nKse7IlyfZLg6yAxYyTNe7A9acJ3/pGmCIkJ/9dfLUFc4hYb3YyIIYGmqm2/3AgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUAKuR/CFiJpeaqHkbYUGQYKliZ/0wHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAzo/KdmWPPTaYLQW7J5DqxEiBT9QyYGUfe\r\nZd7TR1837H6DSkFa/mGM1kLwi5y9miZKA9k6T9OwTx8CflcvbNO2UkFW0VCldEGH\r\niyx5421+HpRxMQIRjligePtOtRGXwaNOQ7ySWfJhRhKcPKe2PGFHQI7/3n+T3kXQ\r\n/SLu2lk9Qs5YgSJ3VhxBUznYn1KVKJWPE07M55kuUgCquAV0PksZj7EC4nK6e/UV\r\nbPumlj1nyjlxhvNud4WYmr4ntbBev6cSbK78dpI/3cr7P/WJPYJuL0EsO3MgjS3e\r\nDCX7NXp5ylue3TcpQfRU8BL+yZC1wqX98R4ndw7X4qfGaE7SlF7I\r\n-----END - CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT\r\nMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j\r\nb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG\r\n9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI\r\n2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx\r\n1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ\r\nq2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz\r\ntCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ\r\nvIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP\r\nBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV\r\n5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY\r\n1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4\r\nNeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG\r\nFdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91\r\n8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe\r\npLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl\r\nMrY=\r\n-----END - CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQAueRcfuAIek/4tmDg0xQwDANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwNjCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBALVGARl56bx3KBUSGuPc4H5uoNFkFH4e7pvTCxRi4j/+z+Xb\r\nwjEz+5CipDOqjx9/jWjskL5dk7PaQkzItidsAAnDCW1leZBOIi68Lff1bjTeZgMY\r\niwdRd3Y39b/lcGpiuP2d23W95YHkMMT8IlWosYIX0f4kYb62rphyfnAjYb/4Od99\r\nThnhlAxGtfvSbXcBVIKCYfZgqRvV+5lReUnd1aNjRYVzPOoifgSx2fRyy1+pO1Uz\r\naMMNnIOE71bVYW0A1hr19w7kOb0KkJXoALTDDj1ukUEDqQuBfBxReL5mXiu1O7WG\r\n0vltg0VZ/SZzctBsdBlx1BkmWYBW261KZgBivrql5ELTKKd8qgtHcLQA5fl6JB0Q\r\ngs5XDaWehN86Gps5JW8ArjGtjcWAIP+X8CQaWfaCnuRm6Bk/03PQWhgdi84qwA0s\r\nsRfFJwHUPTNSnE8EiGVk2frt0u8PG1pwSQsFuNJfcYIHEv1vOzP7uEOuDydsmCjh\r\nlxuoK2n5/2aVR3BMTu+p4+gl8alXoBycyLmj3J/PUgqD8SL5fTCUegGsdia/Sa60\r\nN2oV7vQ17wjMN+LXa2rjj/b4ZlZgXVojDmAjDwIRdDUujQu0RVsJqFLMzSIHpp2C\r\nZp7mIoLrySay2YYBu7SiNwL95X6He2kS8eefBBHjzwW/9FxGqry57i71c2cDAgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQU1cFnOsKjnfR3UltZEjgp5lVou6UwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQB2oWc93fB8esci/8esixj++N22meiGDjgF\r\n+rA2LUK5IOQOgcUSTGKSqF9lYfAxPjrqPjDCUPHCURv+26ad5P/BYtXtbmtxJWu+\r\ncS5BhMDPPeG3oPZwXRHBJFAkY4O4AF7RIAAUW6EzDflUoDHKv83zOiPfYGcpHc9s\r\nkxAInCedk7QSgXvMARjjOqdakor21DTmNIUotxo8kHv5hwRlGhBJwps6fEVi1Bt0\r\ntrpM/3wYxlr473WSPUFZPgP1j519kLpWOJ8z09wxay+Br29irPcBYv0GMXlHqThy\r\n8y4m/HyTQeI2IMvMrQnwqPpY+rLIXyviI2vLoI+4xKE4Rn38ZZ8m\r\n-----END - CERTIFICATE-----\r\n"}],"prometheusEndpoint":{"ipAddress":"127.0.0.1"},"seedNodes":[]}}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '11172' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:25:46 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: '{"properties": {"dataCenterLocation": "eastus2", "delegatedSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006", - "nodeCount": 3}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter create - Connection: - - keep-alive - Content-Length: - - '306' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - -c -d -l -g -n -s - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/dataCenters/cli-dc000004?api-version=2021-03-01-preview - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/dataCenters/cli-dc000004","name":"cli000002/cli-dc000004","type":"Microsoft.DocumentDB/cassandraClusters/dataCenters","properties":{"provisioningState":"Creating","dataCenterLocation":"eastus2","delegatedSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006","nodeCount":3,"seedNodes":[],"base64EncodedCassandraYamlFragment":""}}' - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/ccf5952c-6b96-4166-96b6-a0036c65e8d6?api-version=2021-03-01-preview - cache-control: - - no-store, no-cache - content-length: - - '710' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:25:48 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter create - Connection: - - keep-alive - ParameterSetName: - - -c -d -l -g -n -s - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/ccf5952c-6b96-4166-96b6-a0036c65e8d6?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:26:18 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter create - Connection: - - keep-alive - ParameterSetName: - - -c -d -l -g -n -s - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/ccf5952c-6b96-4166-96b6-a0036c65e8d6?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:26:48 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter create - Connection: - - keep-alive - ParameterSetName: - - -c -d -l -g -n -s - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/ccf5952c-6b96-4166-96b6-a0036c65e8d6?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:27:18 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter create - Connection: - - keep-alive - ParameterSetName: - - -c -d -l -g -n -s - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/ccf5952c-6b96-4166-96b6-a0036c65e8d6?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:27:48 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter create - Connection: - - keep-alive - ParameterSetName: - - -c -d -l -g -n -s - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/ccf5952c-6b96-4166-96b6-a0036c65e8d6?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:28:19 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter create - Connection: - - keep-alive - ParameterSetName: - - -c -d -l -g -n -s - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/ccf5952c-6b96-4166-96b6-a0036c65e8d6?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:28:48 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter create - Connection: - - keep-alive - ParameterSetName: - - -c -d -l -g -n -s - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/ccf5952c-6b96-4166-96b6-a0036c65e8d6?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:29:19 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter create - Connection: - - keep-alive - ParameterSetName: - - -c -d -l -g -n -s - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/ccf5952c-6b96-4166-96b6-a0036c65e8d6?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:29:49 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter create - Connection: - - keep-alive - ParameterSetName: - - -c -d -l -g -n -s - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/ccf5952c-6b96-4166-96b6-a0036c65e8d6?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:30:18 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter create - Connection: - - keep-alive - ParameterSetName: - - -c -d -l -g -n -s - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/ccf5952c-6b96-4166-96b6-a0036c65e8d6?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:30:49 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter create - Connection: - - keep-alive - ParameterSetName: - - -c -d -l -g -n -s - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/ccf5952c-6b96-4166-96b6-a0036c65e8d6?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:31:19 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter create - Connection: - - keep-alive - ParameterSetName: - - -c -d -l -g -n -s - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/ccf5952c-6b96-4166-96b6-a0036c65e8d6?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:31:50 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter create - Connection: - - keep-alive - ParameterSetName: - - -c -d -l -g -n -s - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/ccf5952c-6b96-4166-96b6-a0036c65e8d6?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:32:20 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter create - Connection: - - keep-alive - ParameterSetName: - - -c -d -l -g -n -s - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/ccf5952c-6b96-4166-96b6-a0036c65e8d6?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:32:49 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter create - Connection: - - keep-alive - ParameterSetName: - - -c -d -l -g -n -s - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/ccf5952c-6b96-4166-96b6-a0036c65e8d6?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:33:20 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter create - Connection: - - keep-alive - ParameterSetName: - - -c -d -l -g -n -s - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/ccf5952c-6b96-4166-96b6-a0036c65e8d6?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:33:50 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter create - Connection: - - keep-alive - ParameterSetName: - - -c -d -l -g -n -s - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/ccf5952c-6b96-4166-96b6-a0036c65e8d6?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:34:20 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter create - Connection: - - keep-alive - ParameterSetName: - - -c -d -l -g -n -s - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/ccf5952c-6b96-4166-96b6-a0036c65e8d6?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:34:50 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter create - Connection: - - keep-alive - ParameterSetName: - - -c -d -l -g -n -s - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/ccf5952c-6b96-4166-96b6-a0036c65e8d6?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:35:20 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter create - Connection: - - keep-alive - ParameterSetName: - - -c -d -l -g -n -s - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/ccf5952c-6b96-4166-96b6-a0036c65e8d6?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Succeeded"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '22' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:35:51 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter create - Connection: - - keep-alive - ParameterSetName: - - -c -d -l -g -n -s - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/dataCenters/cli-dc000004?api-version=2021-03-01-preview - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/dataCenters/cli-dc000004","name":"cli000002/cli-dc000004","type":"Microsoft.DocumentDB/cassandraClusters/dataCenters","properties":{"provisioningState":"Succeeded","dataCenterLocation":"eastus2","delegatedSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006","nodeCount":3,"seedNodes":[{"ipAddress":"10.0.0.5"},{"ipAddress":"10.0.0.6"},{"ipAddress":"10.0.0.8"}],"base64EncodedCassandraYamlFragment":""}}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '785' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:35:51 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter show - Connection: - - keep-alive - ParameterSetName: - - -c -d -g - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/dataCenters/cli-dc000004?api-version=2021-03-01-preview - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/dataCenters/cli-dc000004","name":"cli000002/cli-dc000004","type":"Microsoft.DocumentDB/cassandraClusters/dataCenters","properties":{"provisioningState":"Succeeded","dataCenterLocation":"eastus2","delegatedSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006","nodeCount":3,"seedNodes":[{"ipAddress":"10.0.0.5"},{"ipAddress":"10.0.0.6"},{"ipAddress":"10.0.0.8"}],"base64EncodedCassandraYamlFragment":""}}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '785' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:35:52 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra datacenter list - Connection: - - keep-alive - ParameterSetName: - - -c -g - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/dataCenters?api-version=2021-03-01-preview - response: - body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/dataCenters/cli-dc000004","name":"cli000002/cli-dc000004","type":"Microsoft.DocumentDB/cassandraClusters/dataCenters","properties":{"provisioningState":"Succeeded","dataCenterLocation":"eastus2","delegatedSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006","nodeCount":3,"seedNodes":[{"ipAddress":"10.0.0.5"},{"ipAddress":"10.0.0.6"},{"ipAddress":"10.0.0.8"}],"base64EncodedCassandraYamlFragment":""}}]}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '797' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:35:53 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster list - Connection: - - keep-alive - ParameterSetName: - - -g - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters?api-version=2021-03-01-preview - response: - body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002","name":"cli000002","type":"Microsoft.DocumentDB/cassandraClusters","location":"eastus2","tags":{},"properties":{"provisioningState":"Succeeded","delegatedManagementSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006","clusterNameOverride":"cli000002","authenticationMethod":"Cassandra","hoursBetweenBackups":0,"clientCertificates":[],"externalGossipCertificates":[],"gossipCertificates":[{"pem":"\r\n-----BEGIN - CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQDXvt6X2CCZZ6UmMbi90YvTANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwNTCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAKplDTmQ9afwVPQelDuu+NkxNJ084CNKnrZ21ABewE+UU4GK\r\nDnwygZdK6agNSMs5UochUEDzz9CpdV5tdPzL14O/GeE2gO5/aUFTUMG9c6neyxk5\r\ntq1WdKsPkitPws6V8MWa5d1L/y4RFhZHUsgxxUySlYlGpNcHhhsyr7EvFecZGA1M\r\nfsitAWVp6hiWANkWKINfRcdt3Z2A23hmMH9MRSGBccHiPuzwrVsSmLwvt3WlRDgO\r\nbJkE40tFYvJ6GXAQiaGHCIWSVObgO3zj6xkdbEFMmJ/zr2Wet5KEcUDtUBhA4dUU\r\noaPVz69u46V56Vscy3lXu1Ylsk84j5lUPLdsAxtultP4OPQoOTpnY8kxWkH6kgO5\r\ngTKE3HRvoVIjU4xJ0JQ746zy/8GdQA36SaNiz4U3u10zFZg2Rkv2dL1Lv58EXL02\r\nr5q5B/nhVH/M1joTvpRvaeEpAJhkIA9NkpvbGEpSdcA0OrtOOeGtrsiOyMBYkjpB\r\n5nw0cJY1QHOr3nIvJ2OnY+OKJbDSrhFqWsk8/1q6Z1WNvONz7te1pAtHerdPi5pC\r\nHeiXCNpv+fadwP0k8czaf2Vs19nYsgWn5uIyLQL8EehdBzCbOKJy9sl86S4Fqe4H\r\nGyAtmqGlaWOsq2A6O/paMi3BSmWTDbgPLCPBbPte/bsuAEF4ajkPEES3GHP9AgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUx7KcfxzjuFrv6WgaqF2UwSZSamgwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAe+G+G2RFdWtYxLIKMR5H/aVNFjNP7Jdeu\r\n+oZaKaIu7U3NidykFr994jSxMBMV768ukJ5/hLSKsuj/SLjmAfwRAZ+w0RGqi/kO\r\nvPYUlBr/sKOwr3tVkg9ccZBebnBVG+DLKTp2Ox0+jYBCPxla5FO252qpk7/6wt8S\r\nZk3diSU12Jm7if/jjkhkGB/e8UdfrKoLytDvqVeiwPA5FPzqKoSqN75byLjsIKJE\r\ndNi07SY45hN/RUnsmIoAf93qlaHR/SJWVRhrWt3JmeoBJ2RDK492zF6TGu1moh4a\r\nE6e00YkwTPWreuwvaLB220vWmtgZPs+DSIb2d9hPBdCJgvcho1c7\r\n-----END - CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQCq+mxcpjxFFB6jvh98dTFzANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMTCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAMedcDrkXufP7pxVm1FHLDNA9IjwHaMoaY8arqqZ4Gff4xyr\r\nRygnavXL7g12MPAx8Q6Dd9hfBzrfWxkF0Br2wIvlvkzW01naNVSkHp+OS3hL3W6n\r\nl/jYvZnVeJXjtsKYcXIf/6WtspcF5awlQ9LZJcjwaH7KoZuK+THpXCMtzD8XNVdm\r\nGW/JI0C/7U/E7evXn9XDio8SYkGSM63aLO5BtLCv092+1d4GGBSQYolRq+7Pd1kR\r\nEkWBPm0ywZ2Vb8GIS5DLrjelEkBnKCyy3B0yQud9dpVsiUeE7F5sY8Me96WVxQcb\r\nOyYdEY/j/9UpDlOG+vA+YgOvBhkKEjiqygVpP8EZoMMijephzg43b5Qi9r5UrvYo\r\no19oR/8pf4HJNDPF0/FJwFVMW8PmCBLGstin3NE1+NeWTkGt0TzpHjgKyfaDP2tO\r\n4bCk1G7pP2kDFT7SYfc8xbgCkFQ2UCEXsaH/f5YmpLn4YPiNFCeeIida7xnfTvc4\r\n7IxyVccHHq1FzGygOqemrxEETKh8hvDR6eBdrBwmCHVgZrnAqnn93JtGyPLi6+cj\r\nWGVGtMZHwzVvX1HvSFG771sskcEjJxiQNQDQRWHEh3NxvNb7kFlAXnVdRkkvhjpR\r\nGchFhTAzqmwltdWhWDEyCMKC2x/mSZvZtlZGY+g37Y72qHzidwtyW7rBetZJAgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUDyBd16FXlduSzyvQx8J3BM5ygHYwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAlFvNh7QgXVLAZSsNR2XRmIn9iS8OHFCBA\r\nWxKJoi8YYQafpMTkMqeuzoL3HWb1pYEipsDkhiMnrpfeYZEA7Lz7yqEEtfgHcEBs\r\nK9KcStQGGZRfmWU07hPXHnFz+5gTXqzCE2PBMlRgVUYJiA25mJPXfB00gDvGhtYa\r\n+mENwM9Bq1B9YYLyLjRtUz8cyGsdyTIG/bBM/Q9jcV8JGqMU/UjAdh1pFyTnnHEl\r\nY59Npi7F87ZqYYJEHJM2LGD+le8VsHjgeWX2CJQko7klXvcizuZvUEDTjHaQcs2J\r\n+kPgfyMIOY1DMJ21NxOJ2xPRC/wAh/hzSBRVtoAnyuxtkZ4VjIOh\r\n-----END - CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQDGrpfM7VmYOGkKAKnqUyFDANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMjCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAOBiO1K6Fk4fHI6t3mJkpg7lxoeUgL8tz9wuI2z0UgY8vFra\r\n3VBo7QznC4K3s9jqKWEyIQY11Le0108bSYa/TK0aioO6itpGiigEG+vH/iqtQXPS\r\nu6D804ri0NFZ1SOP9IzjYuQiK6AWntCqP4WAcZAPtpNrNLPBIyiqmiTDS4dlFg1d\r\nskMuVpT4z0MpgEMmxQnrSZ615rBQ25vnVbBNig04FCsh1V3S8ve5Gzh08oIrL/g5\r\nxq95oRrgEeOBIeiegQpoKrLYyo3R1Tt48HmSJCBYQ52Qc34RgxQdZsLXMUrWuL1J\r\nLAZP6yeo47ySSxKCjhq5/AUWvQBP3N/cP/iJzKKKw23qJ/kkVrE0DSVDiIiXWF0c\r\n9abSGhYl9SPl86IHcIAIzwelJ4SKpHrVbh0/w4YHdFi5QbdAp7O5KxfxBYhQOeHy\r\nis01zkpYn6SqUFGvbK8eZ8y9Aclt8PIUftMG6q5BhdlBZkDDV3n70RlXwYvllzfZ\r\n/nV94l+hYp+GLW7jSmpxZLG/XEz4OXtTtWwLV+IkIOe/EDF79KCazW2SXOIvVInP\r\noi1PqN4TudNv0GyBF5tRC/aBjUqply1YYfeKwgRVs83z5kuiOicmdGZKH9SqU5bn\r\nKse7IlyfZLg6yAxYyTNe7A9acJ3/pGmCIkJ/9dfLUFc4hYb3YyIIYGmqm2/3AgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUAKuR/CFiJpeaqHkbYUGQYKliZ/0wHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAzo/KdmWPPTaYLQW7J5DqxEiBT9QyYGUfe\r\nZd7TR1837H6DSkFa/mGM1kLwi5y9miZKA9k6T9OwTx8CflcvbNO2UkFW0VCldEGH\r\niyx5421+HpRxMQIRjligePtOtRGXwaNOQ7ySWfJhRhKcPKe2PGFHQI7/3n+T3kXQ\r\n/SLu2lk9Qs5YgSJ3VhxBUznYn1KVKJWPE07M55kuUgCquAV0PksZj7EC4nK6e/UV\r\nbPumlj1nyjlxhvNud4WYmr4ntbBev6cSbK78dpI/3cr7P/WJPYJuL0EsO3MgjS3e\r\nDCX7NXp5ylue3TcpQfRU8BL+yZC1wqX98R4ndw7X4qfGaE7SlF7I\r\n-----END - CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT\r\nMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j\r\nb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG\r\n9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI\r\n2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx\r\n1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ\r\nq2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz\r\ntCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ\r\nvIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP\r\nBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV\r\n5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY\r\n1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4\r\nNeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG\r\nFdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91\r\n8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe\r\npLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl\r\nMrY=\r\n-----END - CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQAueRcfuAIek/4tmDg0xQwDANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwNjCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBALVGARl56bx3KBUSGuPc4H5uoNFkFH4e7pvTCxRi4j/+z+Xb\r\nwjEz+5CipDOqjx9/jWjskL5dk7PaQkzItidsAAnDCW1leZBOIi68Lff1bjTeZgMY\r\niwdRd3Y39b/lcGpiuP2d23W95YHkMMT8IlWosYIX0f4kYb62rphyfnAjYb/4Od99\r\nThnhlAxGtfvSbXcBVIKCYfZgqRvV+5lReUnd1aNjRYVzPOoifgSx2fRyy1+pO1Uz\r\naMMNnIOE71bVYW0A1hr19w7kOb0KkJXoALTDDj1ukUEDqQuBfBxReL5mXiu1O7WG\r\n0vltg0VZ/SZzctBsdBlx1BkmWYBW261KZgBivrql5ELTKKd8qgtHcLQA5fl6JB0Q\r\ngs5XDaWehN86Gps5JW8ArjGtjcWAIP+X8CQaWfaCnuRm6Bk/03PQWhgdi84qwA0s\r\nsRfFJwHUPTNSnE8EiGVk2frt0u8PG1pwSQsFuNJfcYIHEv1vOzP7uEOuDydsmCjh\r\nlxuoK2n5/2aVR3BMTu+p4+gl8alXoBycyLmj3J/PUgqD8SL5fTCUegGsdia/Sa60\r\nN2oV7vQ17wjMN+LXa2rjj/b4ZlZgXVojDmAjDwIRdDUujQu0RVsJqFLMzSIHpp2C\r\nZp7mIoLrySay2YYBu7SiNwL95X6He2kS8eefBBHjzwW/9FxGqry57i71c2cDAgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQU1cFnOsKjnfR3UltZEjgp5lVou6UwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQB2oWc93fB8esci/8esixj++N22meiGDjgF\r\n+rA2LUK5IOQOgcUSTGKSqF9lYfAxPjrqPjDCUPHCURv+26ad5P/BYtXtbmtxJWu+\r\ncS5BhMDPPeG3oPZwXRHBJFAkY4O4AF7RIAAUW6EzDflUoDHKv83zOiPfYGcpHc9s\r\nkxAInCedk7QSgXvMARjjOqdakor21DTmNIUotxo8kHv5hwRlGhBJwps6fEVi1Bt0\r\ntrpM/3wYxlr473WSPUFZPgP1j519kLpWOJ8z09wxay+Br29irPcBYv0GMXlHqThy\r\n8y4m/HyTQeI2IMvMrQnwqPpY+rLIXyviI2vLoI+4xKE4Rn38ZZ8m\r\n-----END - CERTIFICATE-----\r\n"}],"prometheusEndpoint":{"ipAddress":"127.0.0.1"},"seedNodes":[]}}]}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '11184' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:35:53 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster list - Connection: - - keep-alive - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/cassandraClusters?api-version=2021-03-01-preview - response: - body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pall-wcus-mar25-rg/providers/Microsoft.DocumentDB/cassandraClusters/pall-wcus-mar25-cluster-2","name":"pall-wcus-mar25-cluster-2","type":"Microsoft.DocumentDB/cassandraClusters","location":"westcentralus","tags":{},"properties":{"provisioningState":"Succeeded","delegatedManagementSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pall-wcus-mar25-rg/providers/Microsoft.Network/virtualNetworks/pall-wcus-mar25-vnet/subnets/pall-wcus-mar25-subnet","clusterNameOverride":"pall-wcus-mar25-cluster-2","authenticationMethod":"Cassandra","hoursBetweenBackups":0,"clientCertificates":[],"externalGossipCertificates":[],"gossipCertificates":[{"pem":"\r\n-----BEGIN - CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQDXvt6X2CCZZ6UmMbi90YvTANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwNTCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAKplDTmQ9afwVPQelDuu+NkxNJ084CNKnrZ21ABewE+UU4GK\r\nDnwygZdK6agNSMs5UochUEDzz9CpdV5tdPzL14O/GeE2gO5/aUFTUMG9c6neyxk5\r\ntq1WdKsPkitPws6V8MWa5d1L/y4RFhZHUsgxxUySlYlGpNcHhhsyr7EvFecZGA1M\r\nfsitAWVp6hiWANkWKINfRcdt3Z2A23hmMH9MRSGBccHiPuzwrVsSmLwvt3WlRDgO\r\nbJkE40tFYvJ6GXAQiaGHCIWSVObgO3zj6xkdbEFMmJ/zr2Wet5KEcUDtUBhA4dUU\r\noaPVz69u46V56Vscy3lXu1Ylsk84j5lUPLdsAxtultP4OPQoOTpnY8kxWkH6kgO5\r\ngTKE3HRvoVIjU4xJ0JQ746zy/8GdQA36SaNiz4U3u10zFZg2Rkv2dL1Lv58EXL02\r\nr5q5B/nhVH/M1joTvpRvaeEpAJhkIA9NkpvbGEpSdcA0OrtOOeGtrsiOyMBYkjpB\r\n5nw0cJY1QHOr3nIvJ2OnY+OKJbDSrhFqWsk8/1q6Z1WNvONz7te1pAtHerdPi5pC\r\nHeiXCNpv+fadwP0k8czaf2Vs19nYsgWn5uIyLQL8EehdBzCbOKJy9sl86S4Fqe4H\r\nGyAtmqGlaWOsq2A6O/paMi3BSmWTDbgPLCPBbPte/bsuAEF4ajkPEES3GHP9AgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUx7KcfxzjuFrv6WgaqF2UwSZSamgwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAe+G+G2RFdWtYxLIKMR5H/aVNFjNP7Jdeu\r\n+oZaKaIu7U3NidykFr994jSxMBMV768ukJ5/hLSKsuj/SLjmAfwRAZ+w0RGqi/kO\r\nvPYUlBr/sKOwr3tVkg9ccZBebnBVG+DLKTp2Ox0+jYBCPxla5FO252qpk7/6wt8S\r\nZk3diSU12Jm7if/jjkhkGB/e8UdfrKoLytDvqVeiwPA5FPzqKoSqN75byLjsIKJE\r\ndNi07SY45hN/RUnsmIoAf93qlaHR/SJWVRhrWt3JmeoBJ2RDK492zF6TGu1moh4a\r\nE6e00YkwTPWreuwvaLB220vWmtgZPs+DSIb2d9hPBdCJgvcho1c7\r\n-----END - CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQCq+mxcpjxFFB6jvh98dTFzANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMTCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAMedcDrkXufP7pxVm1FHLDNA9IjwHaMoaY8arqqZ4Gff4xyr\r\nRygnavXL7g12MPAx8Q6Dd9hfBzrfWxkF0Br2wIvlvkzW01naNVSkHp+OS3hL3W6n\r\nl/jYvZnVeJXjtsKYcXIf/6WtspcF5awlQ9LZJcjwaH7KoZuK+THpXCMtzD8XNVdm\r\nGW/JI0C/7U/E7evXn9XDio8SYkGSM63aLO5BtLCv092+1d4GGBSQYolRq+7Pd1kR\r\nEkWBPm0ywZ2Vb8GIS5DLrjelEkBnKCyy3B0yQud9dpVsiUeE7F5sY8Me96WVxQcb\r\nOyYdEY/j/9UpDlOG+vA+YgOvBhkKEjiqygVpP8EZoMMijephzg43b5Qi9r5UrvYo\r\no19oR/8pf4HJNDPF0/FJwFVMW8PmCBLGstin3NE1+NeWTkGt0TzpHjgKyfaDP2tO\r\n4bCk1G7pP2kDFT7SYfc8xbgCkFQ2UCEXsaH/f5YmpLn4YPiNFCeeIida7xnfTvc4\r\n7IxyVccHHq1FzGygOqemrxEETKh8hvDR6eBdrBwmCHVgZrnAqnn93JtGyPLi6+cj\r\nWGVGtMZHwzVvX1HvSFG771sskcEjJxiQNQDQRWHEh3NxvNb7kFlAXnVdRkkvhjpR\r\nGchFhTAzqmwltdWhWDEyCMKC2x/mSZvZtlZGY+g37Y72qHzidwtyW7rBetZJAgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUDyBd16FXlduSzyvQx8J3BM5ygHYwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAlFvNh7QgXVLAZSsNR2XRmIn9iS8OHFCBA\r\nWxKJoi8YYQafpMTkMqeuzoL3HWb1pYEipsDkhiMnrpfeYZEA7Lz7yqEEtfgHcEBs\r\nK9KcStQGGZRfmWU07hPXHnFz+5gTXqzCE2PBMlRgVUYJiA25mJPXfB00gDvGhtYa\r\n+mENwM9Bq1B9YYLyLjRtUz8cyGsdyTIG/bBM/Q9jcV8JGqMU/UjAdh1pFyTnnHEl\r\nY59Npi7F87ZqYYJEHJM2LGD+le8VsHjgeWX2CJQko7klXvcizuZvUEDTjHaQcs2J\r\n+kPgfyMIOY1DMJ21NxOJ2xPRC/wAh/hzSBRVtoAnyuxtkZ4VjIOh\r\n-----END - CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQDGrpfM7VmYOGkKAKnqUyFDANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMjCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAOBiO1K6Fk4fHI6t3mJkpg7lxoeUgL8tz9wuI2z0UgY8vFra\r\n3VBo7QznC4K3s9jqKWEyIQY11Le0108bSYa/TK0aioO6itpGiigEG+vH/iqtQXPS\r\nu6D804ri0NFZ1SOP9IzjYuQiK6AWntCqP4WAcZAPtpNrNLPBIyiqmiTDS4dlFg1d\r\nskMuVpT4z0MpgEMmxQnrSZ615rBQ25vnVbBNig04FCsh1V3S8ve5Gzh08oIrL/g5\r\nxq95oRrgEeOBIeiegQpoKrLYyo3R1Tt48HmSJCBYQ52Qc34RgxQdZsLXMUrWuL1J\r\nLAZP6yeo47ySSxKCjhq5/AUWvQBP3N/cP/iJzKKKw23qJ/kkVrE0DSVDiIiXWF0c\r\n9abSGhYl9SPl86IHcIAIzwelJ4SKpHrVbh0/w4YHdFi5QbdAp7O5KxfxBYhQOeHy\r\nis01zkpYn6SqUFGvbK8eZ8y9Aclt8PIUftMG6q5BhdlBZkDDV3n70RlXwYvllzfZ\r\n/nV94l+hYp+GLW7jSmpxZLG/XEz4OXtTtWwLV+IkIOe/EDF79KCazW2SXOIvVInP\r\noi1PqN4TudNv0GyBF5tRC/aBjUqply1YYfeKwgRVs83z5kuiOicmdGZKH9SqU5bn\r\nKse7IlyfZLg6yAxYyTNe7A9acJ3/pGmCIkJ/9dfLUFc4hYb3YyIIYGmqm2/3AgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUAKuR/CFiJpeaqHkbYUGQYKliZ/0wHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAzo/KdmWPPTaYLQW7J5DqxEiBT9QyYGUfe\r\nZd7TR1837H6DSkFa/mGM1kLwi5y9miZKA9k6T9OwTx8CflcvbNO2UkFW0VCldEGH\r\niyx5421+HpRxMQIRjligePtOtRGXwaNOQ7ySWfJhRhKcPKe2PGFHQI7/3n+T3kXQ\r\n/SLu2lk9Qs5YgSJ3VhxBUznYn1KVKJWPE07M55kuUgCquAV0PksZj7EC4nK6e/UV\r\nbPumlj1nyjlxhvNud4WYmr4ntbBev6cSbK78dpI/3cr7P/WJPYJuL0EsO3MgjS3e\r\nDCX7NXp5ylue3TcpQfRU8BL+yZC1wqX98R4ndw7X4qfGaE7SlF7I\r\n-----END - CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT\r\nMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j\r\nb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG\r\n9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI\r\n2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx\r\n1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ\r\nq2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz\r\ntCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ\r\nvIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP\r\nBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV\r\n5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY\r\n1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4\r\nNeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG\r\nFdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91\r\n8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe\r\npLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl\r\nMrY=\r\n-----END - CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQAueRcfuAIek/4tmDg0xQwDANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwNjCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBALVGARl56bx3KBUSGuPc4H5uoNFkFH4e7pvTCxRi4j/+z+Xb\r\nwjEz+5CipDOqjx9/jWjskL5dk7PaQkzItidsAAnDCW1leZBOIi68Lff1bjTeZgMY\r\niwdRd3Y39b/lcGpiuP2d23W95YHkMMT8IlWosYIX0f4kYb62rphyfnAjYb/4Od99\r\nThnhlAxGtfvSbXcBVIKCYfZgqRvV+5lReUnd1aNjRYVzPOoifgSx2fRyy1+pO1Uz\r\naMMNnIOE71bVYW0A1hr19w7kOb0KkJXoALTDDj1ukUEDqQuBfBxReL5mXiu1O7WG\r\n0vltg0VZ/SZzctBsdBlx1BkmWYBW261KZgBivrql5ELTKKd8qgtHcLQA5fl6JB0Q\r\ngs5XDaWehN86Gps5JW8ArjGtjcWAIP+X8CQaWfaCnuRm6Bk/03PQWhgdi84qwA0s\r\nsRfFJwHUPTNSnE8EiGVk2frt0u8PG1pwSQsFuNJfcYIHEv1vOzP7uEOuDydsmCjh\r\nlxuoK2n5/2aVR3BMTu+p4+gl8alXoBycyLmj3J/PUgqD8SL5fTCUegGsdia/Sa60\r\nN2oV7vQ17wjMN+LXa2rjj/b4ZlZgXVojDmAjDwIRdDUujQu0RVsJqFLMzSIHpp2C\r\nZp7mIoLrySay2YYBu7SiNwL95X6He2kS8eefBBHjzwW/9FxGqry57i71c2cDAgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQU1cFnOsKjnfR3UltZEjgp5lVou6UwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQB2oWc93fB8esci/8esixj++N22meiGDjgF\r\n+rA2LUK5IOQOgcUSTGKSqF9lYfAxPjrqPjDCUPHCURv+26ad5P/BYtXtbmtxJWu+\r\ncS5BhMDPPeG3oPZwXRHBJFAkY4O4AF7RIAAUW6EzDflUoDHKv83zOiPfYGcpHc9s\r\nkxAInCedk7QSgXvMARjjOqdakor21DTmNIUotxo8kHv5hwRlGhBJwps6fEVi1Bt0\r\ntrpM/3wYxlr473WSPUFZPgP1j519kLpWOJ8z09wxay+Br29irPcBYv0GMXlHqThy\r\n8y4m/HyTQeI2IMvMrQnwqPpY+rLIXyviI2vLoI+4xKE4Rn38ZZ8m\r\n-----END - CERTIFICATE-----\r\n"}],"prometheusEndpoint":{"ipAddress":"127.0.0.1"},"seedNodes":[]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/visunda-rg/providers/Microsoft.DocumentDB/cassandraClusters/clusterclient-1","name":"clusterclient-1","type":"Microsoft.DocumentDB/cassandraClusters","location":"westus2","tags":{},"properties":{"provisioningState":"Succeeded","delegatedManagementSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/visunda-rg/providers/Microsoft.Network/virtualNetworks/cassandra-vnet/subnets/cassandra-mgmt-subnet","clusterNameOverride":"clusterclient-1","authenticationMethod":"Cassandra","hoursBetweenBackups":0,"clientCertificates":[],"externalGossipCertificates":[],"gossipCertificates":[{"pem":"\r\n-----BEGIN - CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQCq+mxcpjxFFB6jvh98dTFzANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMTCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAMedcDrkXufP7pxVm1FHLDNA9IjwHaMoaY8arqqZ4Gff4xyr\r\nRygnavXL7g12MPAx8Q6Dd9hfBzrfWxkF0Br2wIvlvkzW01naNVSkHp+OS3hL3W6n\r\nl/jYvZnVeJXjtsKYcXIf/6WtspcF5awlQ9LZJcjwaH7KoZuK+THpXCMtzD8XNVdm\r\nGW/JI0C/7U/E7evXn9XDio8SYkGSM63aLO5BtLCv092+1d4GGBSQYolRq+7Pd1kR\r\nEkWBPm0ywZ2Vb8GIS5DLrjelEkBnKCyy3B0yQud9dpVsiUeE7F5sY8Me96WVxQcb\r\nOyYdEY/j/9UpDlOG+vA+YgOvBhkKEjiqygVpP8EZoMMijephzg43b5Qi9r5UrvYo\r\no19oR/8pf4HJNDPF0/FJwFVMW8PmCBLGstin3NE1+NeWTkGt0TzpHjgKyfaDP2tO\r\n4bCk1G7pP2kDFT7SYfc8xbgCkFQ2UCEXsaH/f5YmpLn4YPiNFCeeIida7xnfTvc4\r\n7IxyVccHHq1FzGygOqemrxEETKh8hvDR6eBdrBwmCHVgZrnAqnn93JtGyPLi6+cj\r\nWGVGtMZHwzVvX1HvSFG771sskcEjJxiQNQDQRWHEh3NxvNb7kFlAXnVdRkkvhjpR\r\nGchFhTAzqmwltdWhWDEyCMKC2x/mSZvZtlZGY+g37Y72qHzidwtyW7rBetZJAgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUDyBd16FXlduSzyvQx8J3BM5ygHYwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAlFvNh7QgXVLAZSsNR2XRmIn9iS8OHFCBA\r\nWxKJoi8YYQafpMTkMqeuzoL3HWb1pYEipsDkhiMnrpfeYZEA7Lz7yqEEtfgHcEBs\r\nK9KcStQGGZRfmWU07hPXHnFz+5gTXqzCE2PBMlRgVUYJiA25mJPXfB00gDvGhtYa\r\n+mENwM9Bq1B9YYLyLjRtUz8cyGsdyTIG/bBM/Q9jcV8JGqMU/UjAdh1pFyTnnHEl\r\nY59Npi7F87ZqYYJEHJM2LGD+le8VsHjgeWX2CJQko7klXvcizuZvUEDTjHaQcs2J\r\n+kPgfyMIOY1DMJ21NxOJ2xPRC/wAh/hzSBRVtoAnyuxtkZ4VjIOh\r\n-----END - CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQDGrpfM7VmYOGkKAKnqUyFDANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMjCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAOBiO1K6Fk4fHI6t3mJkpg7lxoeUgL8tz9wuI2z0UgY8vFra\r\n3VBo7QznC4K3s9jqKWEyIQY11Le0108bSYa/TK0aioO6itpGiigEG+vH/iqtQXPS\r\nu6D804ri0NFZ1SOP9IzjYuQiK6AWntCqP4WAcZAPtpNrNLPBIyiqmiTDS4dlFg1d\r\nskMuVpT4z0MpgEMmxQnrSZ615rBQ25vnVbBNig04FCsh1V3S8ve5Gzh08oIrL/g5\r\nxq95oRrgEeOBIeiegQpoKrLYyo3R1Tt48HmSJCBYQ52Qc34RgxQdZsLXMUrWuL1J\r\nLAZP6yeo47ySSxKCjhq5/AUWvQBP3N/cP/iJzKKKw23qJ/kkVrE0DSVDiIiXWF0c\r\n9abSGhYl9SPl86IHcIAIzwelJ4SKpHrVbh0/w4YHdFi5QbdAp7O5KxfxBYhQOeHy\r\nis01zkpYn6SqUFGvbK8eZ8y9Aclt8PIUftMG6q5BhdlBZkDDV3n70RlXwYvllzfZ\r\n/nV94l+hYp+GLW7jSmpxZLG/XEz4OXtTtWwLV+IkIOe/EDF79KCazW2SXOIvVInP\r\noi1PqN4TudNv0GyBF5tRC/aBjUqply1YYfeKwgRVs83z5kuiOicmdGZKH9SqU5bn\r\nKse7IlyfZLg6yAxYyTNe7A9acJ3/pGmCIkJ/9dfLUFc4hYb3YyIIYGmqm2/3AgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUAKuR/CFiJpeaqHkbYUGQYKliZ/0wHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAzo/KdmWPPTaYLQW7J5DqxEiBT9QyYGUfe\r\nZd7TR1837H6DSkFa/mGM1kLwi5y9miZKA9k6T9OwTx8CflcvbNO2UkFW0VCldEGH\r\niyx5421+HpRxMQIRjligePtOtRGXwaNOQ7ySWfJhRhKcPKe2PGFHQI7/3n+T3kXQ\r\n/SLu2lk9Qs5YgSJ3VhxBUznYn1KVKJWPE07M55kuUgCquAV0PksZj7EC4nK6e/UV\r\nbPumlj1nyjlxhvNud4WYmr4ntbBev6cSbK78dpI/3cr7P/WJPYJuL0EsO3MgjS3e\r\nDCX7NXp5ylue3TcpQfRU8BL+yZC1wqX98R4ndw7X4qfGaE7SlF7I\r\n-----END - CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT\r\nMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j\r\nb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG\r\n9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI\r\n2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx\r\n1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ\r\nq2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz\r\ntCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ\r\nvIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP\r\nBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV\r\n5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY\r\n1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4\r\nNeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG\r\nFdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91\r\n8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe\r\npLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl\r\nMrY=\r\n-----END - CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQAueRcfuAIek/4tmDg0xQwDANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwNjCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBALVGARl56bx3KBUSGuPc4H5uoNFkFH4e7pvTCxRi4j/+z+Xb\r\nwjEz+5CipDOqjx9/jWjskL5dk7PaQkzItidsAAnDCW1leZBOIi68Lff1bjTeZgMY\r\niwdRd3Y39b/lcGpiuP2d23W95YHkMMT8IlWosYIX0f4kYb62rphyfnAjYb/4Od99\r\nThnhlAxGtfvSbXcBVIKCYfZgqRvV+5lReUnd1aNjRYVzPOoifgSx2fRyy1+pO1Uz\r\naMMNnIOE71bVYW0A1hr19w7kOb0KkJXoALTDDj1ukUEDqQuBfBxReL5mXiu1O7WG\r\n0vltg0VZ/SZzctBsdBlx1BkmWYBW261KZgBivrql5ELTKKd8qgtHcLQA5fl6JB0Q\r\ngs5XDaWehN86Gps5JW8ArjGtjcWAIP+X8CQaWfaCnuRm6Bk/03PQWhgdi84qwA0s\r\nsRfFJwHUPTNSnE8EiGVk2frt0u8PG1pwSQsFuNJfcYIHEv1vOzP7uEOuDydsmCjh\r\nlxuoK2n5/2aVR3BMTu+p4+gl8alXoBycyLmj3J/PUgqD8SL5fTCUegGsdia/Sa60\r\nN2oV7vQ17wjMN+LXa2rjj/b4ZlZgXVojDmAjDwIRdDUujQu0RVsJqFLMzSIHpp2C\r\nZp7mIoLrySay2YYBu7SiNwL95X6He2kS8eefBBHjzwW/9FxGqry57i71c2cDAgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQU1cFnOsKjnfR3UltZEjgp5lVou6UwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQB2oWc93fB8esci/8esixj++N22meiGDjgF\r\n+rA2LUK5IOQOgcUSTGKSqF9lYfAxPjrqPjDCUPHCURv+26ad5P/BYtXtbmtxJWu+\r\ncS5BhMDPPeG3oPZwXRHBJFAkY4O4AF7RIAAUW6EzDflUoDHKv83zOiPfYGcpHc9s\r\nkxAInCedk7QSgXvMARjjOqdakor21DTmNIUotxo8kHv5hwRlGhBJwps6fEVi1Bt0\r\ntrpM/3wYxlr473WSPUFZPgP1j519kLpWOJ8z09wxay+Br29irPcBYv0GMXlHqThy\r\n8y4m/HyTQeI2IMvMrQnwqPpY+rLIXyviI2vLoI+4xKE4Rn38ZZ8m\r\n-----END - CERTIFICATE-----\r\n"}],"prometheusEndpoint":{"ipAddress":"127.0.0.1"},"seedNodes":[]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nova-teja-rg/providers/Microsoft.DocumentDB/cassandraClusters/novacluster''22","name":"novacluster''22","type":"Microsoft.DocumentDB/cassandraClusters","location":"westus2","tags":{},"properties":{"provisioningState":"Failed","delegatedManagementSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nova-teja-rg/providers/Microsoft.Network/virtualNetworks/nova-test-vnet/subnets/nova-test-subnet","clusterNameOverride":"novacluster''22","authenticationMethod":"Cassandra","hoursBetweenBackups":0,"clientCertificates":[],"externalGossipCertificates":[],"gossipCertificates":[],"prometheusEndpoint":{},"seedNodes":[]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/thvankra-nova-test/providers/Microsoft.DocumentDB/cassandraClusters/cassandra-test-cluster","name":"cassandra-test-cluster","type":"Microsoft.DocumentDB/cassandraClusters","location":"eastus2","tags":{},"properties":{"provisioningState":"Succeeded","delegatedManagementSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/thvankra-nova-test/providers/Microsoft.Network/virtualNetworks/nova-test-vnet/subnets/nova-test-subnet","clusterNameOverride":"cassandra-test-cluster","authenticationMethod":"Cassandra","hoursBetweenBackups":0,"clientCertificates":[],"externalGossipCertificates":[],"gossipCertificates":[{"pem":"\r\n-----BEGIN - CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQCq+mxcpjxFFB6jvh98dTFzANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMTCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAMedcDrkXufP7pxVm1FHLDNA9IjwHaMoaY8arqqZ4Gff4xyr\r\nRygnavXL7g12MPAx8Q6Dd9hfBzrfWxkF0Br2wIvlvkzW01naNVSkHp+OS3hL3W6n\r\nl/jYvZnVeJXjtsKYcXIf/6WtspcF5awlQ9LZJcjwaH7KoZuK+THpXCMtzD8XNVdm\r\nGW/JI0C/7U/E7evXn9XDio8SYkGSM63aLO5BtLCv092+1d4GGBSQYolRq+7Pd1kR\r\nEkWBPm0ywZ2Vb8GIS5DLrjelEkBnKCyy3B0yQud9dpVsiUeE7F5sY8Me96WVxQcb\r\nOyYdEY/j/9UpDlOG+vA+YgOvBhkKEjiqygVpP8EZoMMijephzg43b5Qi9r5UrvYo\r\no19oR/8pf4HJNDPF0/FJwFVMW8PmCBLGstin3NE1+NeWTkGt0TzpHjgKyfaDP2tO\r\n4bCk1G7pP2kDFT7SYfc8xbgCkFQ2UCEXsaH/f5YmpLn4YPiNFCeeIida7xnfTvc4\r\n7IxyVccHHq1FzGygOqemrxEETKh8hvDR6eBdrBwmCHVgZrnAqnn93JtGyPLi6+cj\r\nWGVGtMZHwzVvX1HvSFG771sskcEjJxiQNQDQRWHEh3NxvNb7kFlAXnVdRkkvhjpR\r\nGchFhTAzqmwltdWhWDEyCMKC2x/mSZvZtlZGY+g37Y72qHzidwtyW7rBetZJAgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUDyBd16FXlduSzyvQx8J3BM5ygHYwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAlFvNh7QgXVLAZSsNR2XRmIn9iS8OHFCBA\r\nWxKJoi8YYQafpMTkMqeuzoL3HWb1pYEipsDkhiMnrpfeYZEA7Lz7yqEEtfgHcEBs\r\nK9KcStQGGZRfmWU07hPXHnFz+5gTXqzCE2PBMlRgVUYJiA25mJPXfB00gDvGhtYa\r\n+mENwM9Bq1B9YYLyLjRtUz8cyGsdyTIG/bBM/Q9jcV8JGqMU/UjAdh1pFyTnnHEl\r\nY59Npi7F87ZqYYJEHJM2LGD+le8VsHjgeWX2CJQko7klXvcizuZvUEDTjHaQcs2J\r\n+kPgfyMIOY1DMJ21NxOJ2xPRC/wAh/hzSBRVtoAnyuxtkZ4VjIOh\r\n-----END - CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQDGrpfM7VmYOGkKAKnqUyFDANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMjCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAOBiO1K6Fk4fHI6t3mJkpg7lxoeUgL8tz9wuI2z0UgY8vFra\r\n3VBo7QznC4K3s9jqKWEyIQY11Le0108bSYa/TK0aioO6itpGiigEG+vH/iqtQXPS\r\nu6D804ri0NFZ1SOP9IzjYuQiK6AWntCqP4WAcZAPtpNrNLPBIyiqmiTDS4dlFg1d\r\nskMuVpT4z0MpgEMmxQnrSZ615rBQ25vnVbBNig04FCsh1V3S8ve5Gzh08oIrL/g5\r\nxq95oRrgEeOBIeiegQpoKrLYyo3R1Tt48HmSJCBYQ52Qc34RgxQdZsLXMUrWuL1J\r\nLAZP6yeo47ySSxKCjhq5/AUWvQBP3N/cP/iJzKKKw23qJ/kkVrE0DSVDiIiXWF0c\r\n9abSGhYl9SPl86IHcIAIzwelJ4SKpHrVbh0/w4YHdFi5QbdAp7O5KxfxBYhQOeHy\r\nis01zkpYn6SqUFGvbK8eZ8y9Aclt8PIUftMG6q5BhdlBZkDDV3n70RlXwYvllzfZ\r\n/nV94l+hYp+GLW7jSmpxZLG/XEz4OXtTtWwLV+IkIOe/EDF79KCazW2SXOIvVInP\r\noi1PqN4TudNv0GyBF5tRC/aBjUqply1YYfeKwgRVs83z5kuiOicmdGZKH9SqU5bn\r\nKse7IlyfZLg6yAxYyTNe7A9acJ3/pGmCIkJ/9dfLUFc4hYb3YyIIYGmqm2/3AgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUAKuR/CFiJpeaqHkbYUGQYKliZ/0wHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAzo/KdmWPPTaYLQW7J5DqxEiBT9QyYGUfe\r\nZd7TR1837H6DSkFa/mGM1kLwi5y9miZKA9k6T9OwTx8CflcvbNO2UkFW0VCldEGH\r\niyx5421+HpRxMQIRjligePtOtRGXwaNOQ7ySWfJhRhKcPKe2PGFHQI7/3n+T3kXQ\r\n/SLu2lk9Qs5YgSJ3VhxBUznYn1KVKJWPE07M55kuUgCquAV0PksZj7EC4nK6e/UV\r\nbPumlj1nyjlxhvNud4WYmr4ntbBev6cSbK78dpI/3cr7P/WJPYJuL0EsO3MgjS3e\r\nDCX7NXp5ylue3TcpQfRU8BL+yZC1wqX98R4ndw7X4qfGaE7SlF7I\r\n-----END - CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT\r\nMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j\r\nb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG\r\n9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI\r\n2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx\r\n1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ\r\nq2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz\r\ntCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ\r\nvIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP\r\nBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV\r\n5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY\r\n1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4\r\nNeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG\r\nFdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91\r\n8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe\r\npLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl\r\nMrY=\r\n-----END - CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQAueRcfuAIek/4tmDg0xQwDANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwNjCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBALVGARl56bx3KBUSGuPc4H5uoNFkFH4e7pvTCxRi4j/+z+Xb\r\nwjEz+5CipDOqjx9/jWjskL5dk7PaQkzItidsAAnDCW1leZBOIi68Lff1bjTeZgMY\r\niwdRd3Y39b/lcGpiuP2d23W95YHkMMT8IlWosYIX0f4kYb62rphyfnAjYb/4Od99\r\nThnhlAxGtfvSbXcBVIKCYfZgqRvV+5lReUnd1aNjRYVzPOoifgSx2fRyy1+pO1Uz\r\naMMNnIOE71bVYW0A1hr19w7kOb0KkJXoALTDDj1ukUEDqQuBfBxReL5mXiu1O7WG\r\n0vltg0VZ/SZzctBsdBlx1BkmWYBW261KZgBivrql5ELTKKd8qgtHcLQA5fl6JB0Q\r\ngs5XDaWehN86Gps5JW8ArjGtjcWAIP+X8CQaWfaCnuRm6Bk/03PQWhgdi84qwA0s\r\nsRfFJwHUPTNSnE8EiGVk2frt0u8PG1pwSQsFuNJfcYIHEv1vOzP7uEOuDydsmCjh\r\nlxuoK2n5/2aVR3BMTu+p4+gl8alXoBycyLmj3J/PUgqD8SL5fTCUegGsdia/Sa60\r\nN2oV7vQ17wjMN+LXa2rjj/b4ZlZgXVojDmAjDwIRdDUujQu0RVsJqFLMzSIHpp2C\r\nZp7mIoLrySay2YYBu7SiNwL95X6He2kS8eefBBHjzwW/9FxGqry57i71c2cDAgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQU1cFnOsKjnfR3UltZEjgp5lVou6UwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQB2oWc93fB8esci/8esixj++N22meiGDjgF\r\n+rA2LUK5IOQOgcUSTGKSqF9lYfAxPjrqPjDCUPHCURv+26ad5P/BYtXtbmtxJWu+\r\ncS5BhMDPPeG3oPZwXRHBJFAkY4O4AF7RIAAUW6EzDflUoDHKv83zOiPfYGcpHc9s\r\nkxAInCedk7QSgXvMARjjOqdakor21DTmNIUotxo8kHv5hwRlGhBJwps6fEVi1Bt0\r\ntrpM/3wYxlr473WSPUFZPgP1j519kLpWOJ8z09wxay+Br29irPcBYv0GMXlHqThy\r\n8y4m/HyTQeI2IMvMrQnwqPpY+rLIXyviI2vLoI+4xKE4Rn38ZZ8m\r\n-----END - CERTIFICATE-----\r\n"}],"prometheusEndpoint":{"ipAddress":"127.0.0.1"},"seedNodes":[]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nova-test-rg/providers/Microsoft.DocumentDB/cassandraClusters/guanzhousong-deleteRingInfo","name":"guanzhousong-deleteRingInfo","type":"Microsoft.DocumentDB/cassandraClusters","location":"eastus2","tags":{},"properties":{"provisioningState":"Succeeded","delegatedManagementSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nova-test-rg/providers/Microsoft.Network/virtualNetworks/nova-test-vnet/subnets/nova-test-subnet","clusterNameOverride":"guanzhousong-deleteRingInfo","authenticationMethod":"Cassandra","hoursBetweenBackups":0,"clientCertificates":[],"externalGossipCertificates":[],"gossipCertificates":[{"pem":"\r\n-----BEGIN - CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQCq+mxcpjxFFB6jvh98dTFzANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMTCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAMedcDrkXufP7pxVm1FHLDNA9IjwHaMoaY8arqqZ4Gff4xyr\r\nRygnavXL7g12MPAx8Q6Dd9hfBzrfWxkF0Br2wIvlvkzW01naNVSkHp+OS3hL3W6n\r\nl/jYvZnVeJXjtsKYcXIf/6WtspcF5awlQ9LZJcjwaH7KoZuK+THpXCMtzD8XNVdm\r\nGW/JI0C/7U/E7evXn9XDio8SYkGSM63aLO5BtLCv092+1d4GGBSQYolRq+7Pd1kR\r\nEkWBPm0ywZ2Vb8GIS5DLrjelEkBnKCyy3B0yQud9dpVsiUeE7F5sY8Me96WVxQcb\r\nOyYdEY/j/9UpDlOG+vA+YgOvBhkKEjiqygVpP8EZoMMijephzg43b5Qi9r5UrvYo\r\no19oR/8pf4HJNDPF0/FJwFVMW8PmCBLGstin3NE1+NeWTkGt0TzpHjgKyfaDP2tO\r\n4bCk1G7pP2kDFT7SYfc8xbgCkFQ2UCEXsaH/f5YmpLn4YPiNFCeeIida7xnfTvc4\r\n7IxyVccHHq1FzGygOqemrxEETKh8hvDR6eBdrBwmCHVgZrnAqnn93JtGyPLi6+cj\r\nWGVGtMZHwzVvX1HvSFG771sskcEjJxiQNQDQRWHEh3NxvNb7kFlAXnVdRkkvhjpR\r\nGchFhTAzqmwltdWhWDEyCMKC2x/mSZvZtlZGY+g37Y72qHzidwtyW7rBetZJAgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUDyBd16FXlduSzyvQx8J3BM5ygHYwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAlFvNh7QgXVLAZSsNR2XRmIn9iS8OHFCBA\r\nWxKJoi8YYQafpMTkMqeuzoL3HWb1pYEipsDkhiMnrpfeYZEA7Lz7yqEEtfgHcEBs\r\nK9KcStQGGZRfmWU07hPXHnFz+5gTXqzCE2PBMlRgVUYJiA25mJPXfB00gDvGhtYa\r\n+mENwM9Bq1B9YYLyLjRtUz8cyGsdyTIG/bBM/Q9jcV8JGqMU/UjAdh1pFyTnnHEl\r\nY59Npi7F87ZqYYJEHJM2LGD+le8VsHjgeWX2CJQko7klXvcizuZvUEDTjHaQcs2J\r\n+kPgfyMIOY1DMJ21NxOJ2xPRC/wAh/hzSBRVtoAnyuxtkZ4VjIOh\r\n-----END - CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQDGrpfM7VmYOGkKAKnqUyFDANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMjCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAOBiO1K6Fk4fHI6t3mJkpg7lxoeUgL8tz9wuI2z0UgY8vFra\r\n3VBo7QznC4K3s9jqKWEyIQY11Le0108bSYa/TK0aioO6itpGiigEG+vH/iqtQXPS\r\nu6D804ri0NFZ1SOP9IzjYuQiK6AWntCqP4WAcZAPtpNrNLPBIyiqmiTDS4dlFg1d\r\nskMuVpT4z0MpgEMmxQnrSZ615rBQ25vnVbBNig04FCsh1V3S8ve5Gzh08oIrL/g5\r\nxq95oRrgEeOBIeiegQpoKrLYyo3R1Tt48HmSJCBYQ52Qc34RgxQdZsLXMUrWuL1J\r\nLAZP6yeo47ySSxKCjhq5/AUWvQBP3N/cP/iJzKKKw23qJ/kkVrE0DSVDiIiXWF0c\r\n9abSGhYl9SPl86IHcIAIzwelJ4SKpHrVbh0/w4YHdFi5QbdAp7O5KxfxBYhQOeHy\r\nis01zkpYn6SqUFGvbK8eZ8y9Aclt8PIUftMG6q5BhdlBZkDDV3n70RlXwYvllzfZ\r\n/nV94l+hYp+GLW7jSmpxZLG/XEz4OXtTtWwLV+IkIOe/EDF79KCazW2SXOIvVInP\r\noi1PqN4TudNv0GyBF5tRC/aBjUqply1YYfeKwgRVs83z5kuiOicmdGZKH9SqU5bn\r\nKse7IlyfZLg6yAxYyTNe7A9acJ3/pGmCIkJ/9dfLUFc4hYb3YyIIYGmqm2/3AgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUAKuR/CFiJpeaqHkbYUGQYKliZ/0wHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAzo/KdmWPPTaYLQW7J5DqxEiBT9QyYGUfe\r\nZd7TR1837H6DSkFa/mGM1kLwi5y9miZKA9k6T9OwTx8CflcvbNO2UkFW0VCldEGH\r\niyx5421+HpRxMQIRjligePtOtRGXwaNOQ7ySWfJhRhKcPKe2PGFHQI7/3n+T3kXQ\r\n/SLu2lk9Qs5YgSJ3VhxBUznYn1KVKJWPE07M55kuUgCquAV0PksZj7EC4nK6e/UV\r\nbPumlj1nyjlxhvNud4WYmr4ntbBev6cSbK78dpI/3cr7P/WJPYJuL0EsO3MgjS3e\r\nDCX7NXp5ylue3TcpQfRU8BL+yZC1wqX98R4ndw7X4qfGaE7SlF7I\r\n-----END - CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT\r\nMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j\r\nb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG\r\n9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI\r\n2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx\r\n1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ\r\nq2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz\r\ntCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ\r\nvIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP\r\nBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV\r\n5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY\r\n1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4\r\nNeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG\r\nFdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91\r\n8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe\r\npLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl\r\nMrY=\r\n-----END - CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQAueRcfuAIek/4tmDg0xQwDANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwNjCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBALVGARl56bx3KBUSGuPc4H5uoNFkFH4e7pvTCxRi4j/+z+Xb\r\nwjEz+5CipDOqjx9/jWjskL5dk7PaQkzItidsAAnDCW1leZBOIi68Lff1bjTeZgMY\r\niwdRd3Y39b/lcGpiuP2d23W95YHkMMT8IlWosYIX0f4kYb62rphyfnAjYb/4Od99\r\nThnhlAxGtfvSbXcBVIKCYfZgqRvV+5lReUnd1aNjRYVzPOoifgSx2fRyy1+pO1Uz\r\naMMNnIOE71bVYW0A1hr19w7kOb0KkJXoALTDDj1ukUEDqQuBfBxReL5mXiu1O7WG\r\n0vltg0VZ/SZzctBsdBlx1BkmWYBW261KZgBivrql5ELTKKd8qgtHcLQA5fl6JB0Q\r\ngs5XDaWehN86Gps5JW8ArjGtjcWAIP+X8CQaWfaCnuRm6Bk/03PQWhgdi84qwA0s\r\nsRfFJwHUPTNSnE8EiGVk2frt0u8PG1pwSQsFuNJfcYIHEv1vOzP7uEOuDydsmCjh\r\nlxuoK2n5/2aVR3BMTu+p4+gl8alXoBycyLmj3J/PUgqD8SL5fTCUegGsdia/Sa60\r\nN2oV7vQ17wjMN+LXa2rjj/b4ZlZgXVojDmAjDwIRdDUujQu0RVsJqFLMzSIHpp2C\r\nZp7mIoLrySay2YYBu7SiNwL95X6He2kS8eefBBHjzwW/9FxGqry57i71c2cDAgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQU1cFnOsKjnfR3UltZEjgp5lVou6UwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQB2oWc93fB8esci/8esixj++N22meiGDjgF\r\n+rA2LUK5IOQOgcUSTGKSqF9lYfAxPjrqPjDCUPHCURv+26ad5P/BYtXtbmtxJWu+\r\ncS5BhMDPPeG3oPZwXRHBJFAkY4O4AF7RIAAUW6EzDflUoDHKv83zOiPfYGcpHc9s\r\nkxAInCedk7QSgXvMARjjOqdakor21DTmNIUotxo8kHv5hwRlGhBJwps6fEVi1Bt0\r\ntrpM/3wYxlr473WSPUFZPgP1j519kLpWOJ8z09wxay+Br29irPcBYv0GMXlHqThy\r\n8y4m/HyTQeI2IMvMrQnwqPpY+rLIXyviI2vLoI+4xKE4Rn38ZZ8m\r\n-----END - CERTIFICATE-----\r\n"}],"prometheusEndpoint":{"ipAddress":"127.0.0.1"},"seedNodes":[]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002","name":"cli000002","type":"Microsoft.DocumentDB/cassandraClusters","location":"eastus2","tags":{},"properties":{"provisioningState":"Succeeded","delegatedManagementSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006","clusterNameOverride":"cli000002","authenticationMethod":"Cassandra","hoursBetweenBackups":0,"clientCertificates":[],"externalGossipCertificates":[],"gossipCertificates":[{"pem":"\r\n-----BEGIN - CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQDXvt6X2CCZZ6UmMbi90YvTANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwNTCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAKplDTmQ9afwVPQelDuu+NkxNJ084CNKnrZ21ABewE+UU4GK\r\nDnwygZdK6agNSMs5UochUEDzz9CpdV5tdPzL14O/GeE2gO5/aUFTUMG9c6neyxk5\r\ntq1WdKsPkitPws6V8MWa5d1L/y4RFhZHUsgxxUySlYlGpNcHhhsyr7EvFecZGA1M\r\nfsitAWVp6hiWANkWKINfRcdt3Z2A23hmMH9MRSGBccHiPuzwrVsSmLwvt3WlRDgO\r\nbJkE40tFYvJ6GXAQiaGHCIWSVObgO3zj6xkdbEFMmJ/zr2Wet5KEcUDtUBhA4dUU\r\noaPVz69u46V56Vscy3lXu1Ylsk84j5lUPLdsAxtultP4OPQoOTpnY8kxWkH6kgO5\r\ngTKE3HRvoVIjU4xJ0JQ746zy/8GdQA36SaNiz4U3u10zFZg2Rkv2dL1Lv58EXL02\r\nr5q5B/nhVH/M1joTvpRvaeEpAJhkIA9NkpvbGEpSdcA0OrtOOeGtrsiOyMBYkjpB\r\n5nw0cJY1QHOr3nIvJ2OnY+OKJbDSrhFqWsk8/1q6Z1WNvONz7te1pAtHerdPi5pC\r\nHeiXCNpv+fadwP0k8czaf2Vs19nYsgWn5uIyLQL8EehdBzCbOKJy9sl86S4Fqe4H\r\nGyAtmqGlaWOsq2A6O/paMi3BSmWTDbgPLCPBbPte/bsuAEF4ajkPEES3GHP9AgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUx7KcfxzjuFrv6WgaqF2UwSZSamgwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAe+G+G2RFdWtYxLIKMR5H/aVNFjNP7Jdeu\r\n+oZaKaIu7U3NidykFr994jSxMBMV768ukJ5/hLSKsuj/SLjmAfwRAZ+w0RGqi/kO\r\nvPYUlBr/sKOwr3tVkg9ccZBebnBVG+DLKTp2Ox0+jYBCPxla5FO252qpk7/6wt8S\r\nZk3diSU12Jm7if/jjkhkGB/e8UdfrKoLytDvqVeiwPA5FPzqKoSqN75byLjsIKJE\r\ndNi07SY45hN/RUnsmIoAf93qlaHR/SJWVRhrWt3JmeoBJ2RDK492zF6TGu1moh4a\r\nE6e00YkwTPWreuwvaLB220vWmtgZPs+DSIb2d9hPBdCJgvcho1c7\r\n-----END - CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQCq+mxcpjxFFB6jvh98dTFzANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMTCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAMedcDrkXufP7pxVm1FHLDNA9IjwHaMoaY8arqqZ4Gff4xyr\r\nRygnavXL7g12MPAx8Q6Dd9hfBzrfWxkF0Br2wIvlvkzW01naNVSkHp+OS3hL3W6n\r\nl/jYvZnVeJXjtsKYcXIf/6WtspcF5awlQ9LZJcjwaH7KoZuK+THpXCMtzD8XNVdm\r\nGW/JI0C/7U/E7evXn9XDio8SYkGSM63aLO5BtLCv092+1d4GGBSQYolRq+7Pd1kR\r\nEkWBPm0ywZ2Vb8GIS5DLrjelEkBnKCyy3B0yQud9dpVsiUeE7F5sY8Me96WVxQcb\r\nOyYdEY/j/9UpDlOG+vA+YgOvBhkKEjiqygVpP8EZoMMijephzg43b5Qi9r5UrvYo\r\no19oR/8pf4HJNDPF0/FJwFVMW8PmCBLGstin3NE1+NeWTkGt0TzpHjgKyfaDP2tO\r\n4bCk1G7pP2kDFT7SYfc8xbgCkFQ2UCEXsaH/f5YmpLn4YPiNFCeeIida7xnfTvc4\r\n7IxyVccHHq1FzGygOqemrxEETKh8hvDR6eBdrBwmCHVgZrnAqnn93JtGyPLi6+cj\r\nWGVGtMZHwzVvX1HvSFG771sskcEjJxiQNQDQRWHEh3NxvNb7kFlAXnVdRkkvhjpR\r\nGchFhTAzqmwltdWhWDEyCMKC2x/mSZvZtlZGY+g37Y72qHzidwtyW7rBetZJAgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUDyBd16FXlduSzyvQx8J3BM5ygHYwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAlFvNh7QgXVLAZSsNR2XRmIn9iS8OHFCBA\r\nWxKJoi8YYQafpMTkMqeuzoL3HWb1pYEipsDkhiMnrpfeYZEA7Lz7yqEEtfgHcEBs\r\nK9KcStQGGZRfmWU07hPXHnFz+5gTXqzCE2PBMlRgVUYJiA25mJPXfB00gDvGhtYa\r\n+mENwM9Bq1B9YYLyLjRtUz8cyGsdyTIG/bBM/Q9jcV8JGqMU/UjAdh1pFyTnnHEl\r\nY59Npi7F87ZqYYJEHJM2LGD+le8VsHjgeWX2CJQko7klXvcizuZvUEDTjHaQcs2J\r\n+kPgfyMIOY1DMJ21NxOJ2xPRC/wAh/hzSBRVtoAnyuxtkZ4VjIOh\r\n-----END - CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQDGrpfM7VmYOGkKAKnqUyFDANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMjCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAOBiO1K6Fk4fHI6t3mJkpg7lxoeUgL8tz9wuI2z0UgY8vFra\r\n3VBo7QznC4K3s9jqKWEyIQY11Le0108bSYa/TK0aioO6itpGiigEG+vH/iqtQXPS\r\nu6D804ri0NFZ1SOP9IzjYuQiK6AWntCqP4WAcZAPtpNrNLPBIyiqmiTDS4dlFg1d\r\nskMuVpT4z0MpgEMmxQnrSZ615rBQ25vnVbBNig04FCsh1V3S8ve5Gzh08oIrL/g5\r\nxq95oRrgEeOBIeiegQpoKrLYyo3R1Tt48HmSJCBYQ52Qc34RgxQdZsLXMUrWuL1J\r\nLAZP6yeo47ySSxKCjhq5/AUWvQBP3N/cP/iJzKKKw23qJ/kkVrE0DSVDiIiXWF0c\r\n9abSGhYl9SPl86IHcIAIzwelJ4SKpHrVbh0/w4YHdFi5QbdAp7O5KxfxBYhQOeHy\r\nis01zkpYn6SqUFGvbK8eZ8y9Aclt8PIUftMG6q5BhdlBZkDDV3n70RlXwYvllzfZ\r\n/nV94l+hYp+GLW7jSmpxZLG/XEz4OXtTtWwLV+IkIOe/EDF79KCazW2SXOIvVInP\r\noi1PqN4TudNv0GyBF5tRC/aBjUqply1YYfeKwgRVs83z5kuiOicmdGZKH9SqU5bn\r\nKse7IlyfZLg6yAxYyTNe7A9acJ3/pGmCIkJ/9dfLUFc4hYb3YyIIYGmqm2/3AgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUAKuR/CFiJpeaqHkbYUGQYKliZ/0wHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAzo/KdmWPPTaYLQW7J5DqxEiBT9QyYGUfe\r\nZd7TR1837H6DSkFa/mGM1kLwi5y9miZKA9k6T9OwTx8CflcvbNO2UkFW0VCldEGH\r\niyx5421+HpRxMQIRjligePtOtRGXwaNOQ7ySWfJhRhKcPKe2PGFHQI7/3n+T3kXQ\r\n/SLu2lk9Qs5YgSJ3VhxBUznYn1KVKJWPE07M55kuUgCquAV0PksZj7EC4nK6e/UV\r\nbPumlj1nyjlxhvNud4WYmr4ntbBev6cSbK78dpI/3cr7P/WJPYJuL0EsO3MgjS3e\r\nDCX7NXp5ylue3TcpQfRU8BL+yZC1wqX98R4ndw7X4qfGaE7SlF7I\r\n-----END - CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT\r\nMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j\r\nb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG\r\n9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI\r\n2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx\r\n1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ\r\nq2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz\r\ntCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ\r\nvIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP\r\nBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV\r\n5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY\r\n1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4\r\nNeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG\r\nFdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91\r\n8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe\r\npLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl\r\nMrY=\r\n-----END - CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQAueRcfuAIek/4tmDg0xQwDANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwNjCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBALVGARl56bx3KBUSGuPc4H5uoNFkFH4e7pvTCxRi4j/+z+Xb\r\nwjEz+5CipDOqjx9/jWjskL5dk7PaQkzItidsAAnDCW1leZBOIi68Lff1bjTeZgMY\r\niwdRd3Y39b/lcGpiuP2d23W95YHkMMT8IlWosYIX0f4kYb62rphyfnAjYb/4Od99\r\nThnhlAxGtfvSbXcBVIKCYfZgqRvV+5lReUnd1aNjRYVzPOoifgSx2fRyy1+pO1Uz\r\naMMNnIOE71bVYW0A1hr19w7kOb0KkJXoALTDDj1ukUEDqQuBfBxReL5mXiu1O7WG\r\n0vltg0VZ/SZzctBsdBlx1BkmWYBW261KZgBivrql5ELTKKd8qgtHcLQA5fl6JB0Q\r\ngs5XDaWehN86Gps5JW8ArjGtjcWAIP+X8CQaWfaCnuRm6Bk/03PQWhgdi84qwA0s\r\nsRfFJwHUPTNSnE8EiGVk2frt0u8PG1pwSQsFuNJfcYIHEv1vOzP7uEOuDydsmCjh\r\nlxuoK2n5/2aVR3BMTu+p4+gl8alXoBycyLmj3J/PUgqD8SL5fTCUegGsdia/Sa60\r\nN2oV7vQ17wjMN+LXa2rjj/b4ZlZgXVojDmAjDwIRdDUujQu0RVsJqFLMzSIHpp2C\r\nZp7mIoLrySay2YYBu7SiNwL95X6He2kS8eefBBHjzwW/9FxGqry57i71c2cDAgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQU1cFnOsKjnfR3UltZEjgp5lVou6UwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQB2oWc93fB8esci/8esixj++N22meiGDjgF\r\n+rA2LUK5IOQOgcUSTGKSqF9lYfAxPjrqPjDCUPHCURv+26ad5P/BYtXtbmtxJWu+\r\ncS5BhMDPPeG3oPZwXRHBJFAkY4O4AF7RIAAUW6EzDflUoDHKv83zOiPfYGcpHc9s\r\nkxAInCedk7QSgXvMARjjOqdakor21DTmNIUotxo8kHv5hwRlGhBJwps6fEVi1Bt0\r\ntrpM/3wYxlr473WSPUFZPgP1j519kLpWOJ8z09wxay+Br29irPcBYv0GMXlHqThy\r\n8y4m/HyTQeI2IMvMrQnwqPpY+rLIXyviI2vLoI+4xKE4Rn38ZZ8m\r\n-----END - CERTIFICATE-----\r\n"}],"prometheusEndpoint":{"ipAddress":"127.0.0.1"},"seedNodes":[]}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qbradley-prod-test/providers/Microsoft.DocumentDB/cassandraClusters/qbradley-centralindia-cluster2","name":"qbradley-centralindia-cluster2","type":"Microsoft.DocumentDB/cassandraClusters","location":"centralindia","tags":{},"properties":{"provisioningState":"Succeeded","delegatedManagementSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/qbradley-prod-test/providers/Microsoft.Network/virtualNetworks/qbradley-prod-centralindia-vnet/subnets/default","clusterNameOverride":"qbradley-centralindia-cluster2","authenticationMethod":"Cassandra","hoursBetweenBackups":0,"clientCertificates":[],"externalGossipCertificates":[],"gossipCertificates":[{"pem":"\r\n-----BEGIN - CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQDXvt6X2CCZZ6UmMbi90YvTANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwNTCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAKplDTmQ9afwVPQelDuu+NkxNJ084CNKnrZ21ABewE+UU4GK\r\nDnwygZdK6agNSMs5UochUEDzz9CpdV5tdPzL14O/GeE2gO5/aUFTUMG9c6neyxk5\r\ntq1WdKsPkitPws6V8MWa5d1L/y4RFhZHUsgxxUySlYlGpNcHhhsyr7EvFecZGA1M\r\nfsitAWVp6hiWANkWKINfRcdt3Z2A23hmMH9MRSGBccHiPuzwrVsSmLwvt3WlRDgO\r\nbJkE40tFYvJ6GXAQiaGHCIWSVObgO3zj6xkdbEFMmJ/zr2Wet5KEcUDtUBhA4dUU\r\noaPVz69u46V56Vscy3lXu1Ylsk84j5lUPLdsAxtultP4OPQoOTpnY8kxWkH6kgO5\r\ngTKE3HRvoVIjU4xJ0JQ746zy/8GdQA36SaNiz4U3u10zFZg2Rkv2dL1Lv58EXL02\r\nr5q5B/nhVH/M1joTvpRvaeEpAJhkIA9NkpvbGEpSdcA0OrtOOeGtrsiOyMBYkjpB\r\n5nw0cJY1QHOr3nIvJ2OnY+OKJbDSrhFqWsk8/1q6Z1WNvONz7te1pAtHerdPi5pC\r\nHeiXCNpv+fadwP0k8czaf2Vs19nYsgWn5uIyLQL8EehdBzCbOKJy9sl86S4Fqe4H\r\nGyAtmqGlaWOsq2A6O/paMi3BSmWTDbgPLCPBbPte/bsuAEF4ajkPEES3GHP9AgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUx7KcfxzjuFrv6WgaqF2UwSZSamgwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAe+G+G2RFdWtYxLIKMR5H/aVNFjNP7Jdeu\r\n+oZaKaIu7U3NidykFr994jSxMBMV768ukJ5/hLSKsuj/SLjmAfwRAZ+w0RGqi/kO\r\nvPYUlBr/sKOwr3tVkg9ccZBebnBVG+DLKTp2Ox0+jYBCPxla5FO252qpk7/6wt8S\r\nZk3diSU12Jm7if/jjkhkGB/e8UdfrKoLytDvqVeiwPA5FPzqKoSqN75byLjsIKJE\r\ndNi07SY45hN/RUnsmIoAf93qlaHR/SJWVRhrWt3JmeoBJ2RDK492zF6TGu1moh4a\r\nE6e00YkwTPWreuwvaLB220vWmtgZPs+DSIb2d9hPBdCJgvcho1c7\r\n-----END - CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQCq+mxcpjxFFB6jvh98dTFzANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMTCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAMedcDrkXufP7pxVm1FHLDNA9IjwHaMoaY8arqqZ4Gff4xyr\r\nRygnavXL7g12MPAx8Q6Dd9hfBzrfWxkF0Br2wIvlvkzW01naNVSkHp+OS3hL3W6n\r\nl/jYvZnVeJXjtsKYcXIf/6WtspcF5awlQ9LZJcjwaH7KoZuK+THpXCMtzD8XNVdm\r\nGW/JI0C/7U/E7evXn9XDio8SYkGSM63aLO5BtLCv092+1d4GGBSQYolRq+7Pd1kR\r\nEkWBPm0ywZ2Vb8GIS5DLrjelEkBnKCyy3B0yQud9dpVsiUeE7F5sY8Me96WVxQcb\r\nOyYdEY/j/9UpDlOG+vA+YgOvBhkKEjiqygVpP8EZoMMijephzg43b5Qi9r5UrvYo\r\no19oR/8pf4HJNDPF0/FJwFVMW8PmCBLGstin3NE1+NeWTkGt0TzpHjgKyfaDP2tO\r\n4bCk1G7pP2kDFT7SYfc8xbgCkFQ2UCEXsaH/f5YmpLn4YPiNFCeeIida7xnfTvc4\r\n7IxyVccHHq1FzGygOqemrxEETKh8hvDR6eBdrBwmCHVgZrnAqnn93JtGyPLi6+cj\r\nWGVGtMZHwzVvX1HvSFG771sskcEjJxiQNQDQRWHEh3NxvNb7kFlAXnVdRkkvhjpR\r\nGchFhTAzqmwltdWhWDEyCMKC2x/mSZvZtlZGY+g37Y72qHzidwtyW7rBetZJAgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUDyBd16FXlduSzyvQx8J3BM5ygHYwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAlFvNh7QgXVLAZSsNR2XRmIn9iS8OHFCBA\r\nWxKJoi8YYQafpMTkMqeuzoL3HWb1pYEipsDkhiMnrpfeYZEA7Lz7yqEEtfgHcEBs\r\nK9KcStQGGZRfmWU07hPXHnFz+5gTXqzCE2PBMlRgVUYJiA25mJPXfB00gDvGhtYa\r\n+mENwM9Bq1B9YYLyLjRtUz8cyGsdyTIG/bBM/Q9jcV8JGqMU/UjAdh1pFyTnnHEl\r\nY59Npi7F87ZqYYJEHJM2LGD+le8VsHjgeWX2CJQko7klXvcizuZvUEDTjHaQcs2J\r\n+kPgfyMIOY1DMJ21NxOJ2xPRC/wAh/hzSBRVtoAnyuxtkZ4VjIOh\r\n-----END - CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQDGrpfM7VmYOGkKAKnqUyFDANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMjCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAOBiO1K6Fk4fHI6t3mJkpg7lxoeUgL8tz9wuI2z0UgY8vFra\r\n3VBo7QznC4K3s9jqKWEyIQY11Le0108bSYa/TK0aioO6itpGiigEG+vH/iqtQXPS\r\nu6D804ri0NFZ1SOP9IzjYuQiK6AWntCqP4WAcZAPtpNrNLPBIyiqmiTDS4dlFg1d\r\nskMuVpT4z0MpgEMmxQnrSZ615rBQ25vnVbBNig04FCsh1V3S8ve5Gzh08oIrL/g5\r\nxq95oRrgEeOBIeiegQpoKrLYyo3R1Tt48HmSJCBYQ52Qc34RgxQdZsLXMUrWuL1J\r\nLAZP6yeo47ySSxKCjhq5/AUWvQBP3N/cP/iJzKKKw23qJ/kkVrE0DSVDiIiXWF0c\r\n9abSGhYl9SPl86IHcIAIzwelJ4SKpHrVbh0/w4YHdFi5QbdAp7O5KxfxBYhQOeHy\r\nis01zkpYn6SqUFGvbK8eZ8y9Aclt8PIUftMG6q5BhdlBZkDDV3n70RlXwYvllzfZ\r\n/nV94l+hYp+GLW7jSmpxZLG/XEz4OXtTtWwLV+IkIOe/EDF79KCazW2SXOIvVInP\r\noi1PqN4TudNv0GyBF5tRC/aBjUqply1YYfeKwgRVs83z5kuiOicmdGZKH9SqU5bn\r\nKse7IlyfZLg6yAxYyTNe7A9acJ3/pGmCIkJ/9dfLUFc4hYb3YyIIYGmqm2/3AgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUAKuR/CFiJpeaqHkbYUGQYKliZ/0wHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAzo/KdmWPPTaYLQW7J5DqxEiBT9QyYGUfe\r\nZd7TR1837H6DSkFa/mGM1kLwi5y9miZKA9k6T9OwTx8CflcvbNO2UkFW0VCldEGH\r\niyx5421+HpRxMQIRjligePtOtRGXwaNOQ7ySWfJhRhKcPKe2PGFHQI7/3n+T3kXQ\r\n/SLu2lk9Qs5YgSJ3VhxBUznYn1KVKJWPE07M55kuUgCquAV0PksZj7EC4nK6e/UV\r\nbPumlj1nyjlxhvNud4WYmr4ntbBev6cSbK78dpI/3cr7P/WJPYJuL0EsO3MgjS3e\r\nDCX7NXp5ylue3TcpQfRU8BL+yZC1wqX98R4ndw7X4qfGaE7SlF7I\r\n-----END - CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT\r\nMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j\r\nb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG\r\n9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI\r\n2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx\r\n1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ\r\nq2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz\r\ntCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ\r\nvIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP\r\nBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV\r\n5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY\r\n1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4\r\nNeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG\r\nFdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91\r\n8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe\r\npLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl\r\nMrY=\r\n-----END - CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQAueRcfuAIek/4tmDg0xQwDANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwNjCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBALVGARl56bx3KBUSGuPc4H5uoNFkFH4e7pvTCxRi4j/+z+Xb\r\nwjEz+5CipDOqjx9/jWjskL5dk7PaQkzItidsAAnDCW1leZBOIi68Lff1bjTeZgMY\r\niwdRd3Y39b/lcGpiuP2d23W95YHkMMT8IlWosYIX0f4kYb62rphyfnAjYb/4Od99\r\nThnhlAxGtfvSbXcBVIKCYfZgqRvV+5lReUnd1aNjRYVzPOoifgSx2fRyy1+pO1Uz\r\naMMNnIOE71bVYW0A1hr19w7kOb0KkJXoALTDDj1ukUEDqQuBfBxReL5mXiu1O7WG\r\n0vltg0VZ/SZzctBsdBlx1BkmWYBW261KZgBivrql5ELTKKd8qgtHcLQA5fl6JB0Q\r\ngs5XDaWehN86Gps5JW8ArjGtjcWAIP+X8CQaWfaCnuRm6Bk/03PQWhgdi84qwA0s\r\nsRfFJwHUPTNSnE8EiGVk2frt0u8PG1pwSQsFuNJfcYIHEv1vOzP7uEOuDydsmCjh\r\nlxuoK2n5/2aVR3BMTu+p4+gl8alXoBycyLmj3J/PUgqD8SL5fTCUegGsdia/Sa60\r\nN2oV7vQ17wjMN+LXa2rjj/b4ZlZgXVojDmAjDwIRdDUujQu0RVsJqFLMzSIHpp2C\r\nZp7mIoLrySay2YYBu7SiNwL95X6He2kS8eefBBHjzwW/9FxGqry57i71c2cDAgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQU1cFnOsKjnfR3UltZEjgp5lVou6UwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQB2oWc93fB8esci/8esixj++N22meiGDjgF\r\n+rA2LUK5IOQOgcUSTGKSqF9lYfAxPjrqPjDCUPHCURv+26ad5P/BYtXtbmtxJWu+\r\ncS5BhMDPPeG3oPZwXRHBJFAkY4O4AF7RIAAUW6EzDflUoDHKv83zOiPfYGcpHc9s\r\nkxAInCedk7QSgXvMARjjOqdakor21DTmNIUotxo8kHv5hwRlGhBJwps6fEVi1Bt0\r\ntrpM/3wYxlr473WSPUFZPgP1j519kLpWOJ8z09wxay+Br29irPcBYv0GMXlHqThy\r\n8y4m/HyTQeI2IMvMrQnwqPpY+rLIXyviI2vLoI+4xKE4Rn38ZZ8m\r\n-----END - CERTIFICATE-----\r\n"}],"prometheusEndpoint":{"ipAddress":"127.0.0.1"},"seedNodes":[]}}]}' - headers: - cache-control: - - no-cache - content-length: - - '60740' - content-type: - - application/json; charset=utf-8 - date: - - Wed, 07 Apr 2021 18:35:58 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: - - '' - - '' - - '' - - '' - - '' - - '' - - '' - - '' - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - Content-Length: - - '0' - ParameterSetName: - - -c -g --yes - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - accept-language: - - en-US - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Enqueued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:35:59 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/40d60a5b-0be7-4f70-8334-7deeabc4a34a?api-version=2021-03-01-preview - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - x-ms-ratelimit-remaining-subscription-deletes: - - '14999' - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/40d60a5b-0be7-4f70-8334-7deeabc4a34a?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:36:30 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/40d60a5b-0be7-4f70-8334-7deeabc4a34a?api-version=2021-03-01-preview - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/40d60a5b-0be7-4f70-8334-7deeabc4a34a?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:37:00 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/40d60a5b-0be7-4f70-8334-7deeabc4a34a?api-version=2021-03-01-preview - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/40d60a5b-0be7-4f70-8334-7deeabc4a34a?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:37:30 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/40d60a5b-0be7-4f70-8334-7deeabc4a34a?api-version=2021-03-01-preview - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/40d60a5b-0be7-4f70-8334-7deeabc4a34a?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:38:00 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/40d60a5b-0be7-4f70-8334-7deeabc4a34a?api-version=2021-03-01-preview - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/40d60a5b-0be7-4f70-8334-7deeabc4a34a?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:38:30 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/40d60a5b-0be7-4f70-8334-7deeabc4a34a?api-version=2021-03-01-preview - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/40d60a5b-0be7-4f70-8334-7deeabc4a34a?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:39:01 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/40d60a5b-0be7-4f70-8334-7deeabc4a34a?api-version=2021-03-01-preview - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/40d60a5b-0be7-4f70-8334-7deeabc4a34a?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:39:31 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/40d60a5b-0be7-4f70-8334-7deeabc4a34a?api-version=2021-03-01-preview - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/40d60a5b-0be7-4f70-8334-7deeabc4a34a?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:40:01 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/40d60a5b-0be7-4f70-8334-7deeabc4a34a?api-version=2021-03-01-preview - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/40d60a5b-0be7-4f70-8334-7deeabc4a34a?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:40:31 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/40d60a5b-0be7-4f70-8334-7deeabc4a34a?api-version=2021-03-01-preview - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/40d60a5b-0be7-4f70-8334-7deeabc4a34a?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Dequeued"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '21' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:41:01 GMT - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/40d60a5b-0be7-4f70-8334-7deeabc4a34a?api-version=2021-03-01-preview - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 202 - message: Accepted -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - managed-cassandra cluster delete - Connection: - - keep-alive - ParameterSetName: - - -c -g --yes - User-Agent: - - python/3.8.1 (Windows-10-10.0.19041-SP0) msrest/0.6.18 msrest_azure/0.6.3 - azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (MSI) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/40d60a5b-0be7-4f70-8334-7deeabc4a34a?api-version=2021-03-01-preview - response: - body: - string: '{"status":"Succeeded"}' - headers: - cache-control: - - no-store, no-cache - content-length: - - '22' - content-type: - - application/json - date: - - Wed, 07 Apr 2021 18:41:32 GMT - pragma: - - no-cache - server: - - Microsoft-HTTPAPI/2.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-ms-gatewayversion: - - version=2.11.0 - status: - code: 200 - message: Ok -version: 1 +interactions: +- request: + body: '{"location": "eastus2", "tags": {}, "properties": {"addressSpace": {"addressPrefixes": + ["10.0.0.0/16"]}, "dhcpOptions": {}, "subnets": [{"name": "cli000006", "properties": + {"addressPrefix": "10.0.0.0/24"}}]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet create + Connection: + - keep-alive + Content-Length: + - '209' + Content-Type: + - application/json + ParameterSetName: + - -g -l -n --subnet-name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005?api-version=2020-11-01 + response: + body: + string: "{\r\n \"name\": \"cli000005\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005\",\r\n + \ \"etag\": \"W/\\\"34a23e32-bb29-4e9b-8da4-323df426c462\\\"\",\r\n \"type\": + \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus2\",\r\n + \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"resourceGuid\": \"9f7b37b0-961b-4e1d-80a3-4e78abedc163\",\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\": \"cli000006\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006\",\r\n + \ \"etag\": \"W/\\\"34a23e32-bb29-4e9b-8da4-323df426c462\\\"\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"addressPrefix\": \"10.0.0.0/24\",\r\n \"delegations\": + [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": + \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n + \ }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": + false\r\n }\r\n}" + headers: + azure-asyncnotification: + - Enabled + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2/operations/0d1b8567-5b6a-46d4-a9dc-ed0cfd1045f3?api-version=2020-11-01 + cache-control: + - no-cache + content-length: + - '1425' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 24 May 2021 19:46:16 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-arm-service-request-id: + - 77843709-a4ae-4812-a2eb-6203fb9e4f7a + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet create + Connection: + - keep-alive + ParameterSetName: + - -g -l -n --subnet-name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus2/operations/0d1b8567-5b6a-46d4-a9dc-ed0cfd1045f3?api-version=2020-11-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: + - Mon, 24 May 2021 19:46:19 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 + x-ms-arm-service-request-id: + - 0cc31d80-c526-4242-be06-a33bb44af111 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet create + Connection: + - keep-alive + ParameterSetName: + - -g -l -n --subnet-name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005?api-version=2020-11-01 + response: + body: + string: "{\r\n \"name\": \"cli000005\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005\",\r\n + \ \"etag\": \"W/\\\"46b45661-2832-4988-bea7-16cbb44e559e\\\"\",\r\n \"type\": + \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus2\",\r\n + \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"resourceGuid\": \"9f7b37b0-961b-4e1d-80a3-4e78abedc163\",\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\": \"cli000006\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006\",\r\n + \ \"etag\": \"W/\\\"46b45661-2832-4988-bea7-16cbb44e559e\\\"\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"addressPrefix\": \"10.0.0.0/24\",\r\n \"delegations\": + [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": + \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n + \ }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": + false\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1427' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 24 May 2021 19:46:19 GMT + etag: + - W/"46b45661-2832-4988-bea7-16cbb44e559e" + 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 + x-ms-arm-service-request-id: + - 0fe9b58f-2362-4cf6-bd81-053b5760108f + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet show + Connection: + - keep-alive + ParameterSetName: + - -g -n + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005?api-version=2020-11-01 + response: + body: + string: "{\r\n \"name\": \"cli000005\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005\",\r\n + \ \"etag\": \"W/\\\"46b45661-2832-4988-bea7-16cbb44e559e\\\"\",\r\n \"type\": + \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus2\",\r\n + \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"resourceGuid\": \"9f7b37b0-961b-4e1d-80a3-4e78abedc163\",\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\": \"cli000006\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006\",\r\n + \ \"etag\": \"W/\\\"46b45661-2832-4988-bea7-16cbb44e559e\\\"\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"addressPrefix\": \"10.0.0.0/24\",\r\n \"delegations\": + [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": + \"Enabled\"\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n + \ }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": + false\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1427' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 24 May 2021 19:46:19 GMT + etag: + - W/"46b45661-2832-4988-bea7-16cbb44e559e" + 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 + x-ms-arm-service-request-id: + - 24e95280-b58d-4fd1-80fc-9528c97619c4 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - role assignment create + Connection: + - keep-alive + ParameterSetName: + - --assignee --role --scope + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.23.0 + accept-language: + - en-US + method: GET + uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/servicePrincipals?$filter=servicePrincipalNames%2Fany%28c%3Ac%20eq%20%27e5007d2c-4b13-4a74-9b6a-605d99f03501%27%29&api-version=1.6 + response: + body: + string: '{"odata.metadata":"https://graph.windows.net/00000000-0000-0000-0000-000000000000/$metadata#directoryObjects","value":[]}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json; odata=minimalmetadata; streaming=true; charset=utf-8 + dataserviceversion: + - 3.0; + date: + - Mon, 24 May 2021 19:46:21 GMT + duration: + - '820882' + expires: + - '-1' + ocp-aad-diagnostics-server-name: + - 4/uj4SNby2LkI01RAIQEGEDMQdjkQAzojhpK7ie9UEY= + ocp-aad-session-key: + - A_s0l8HgO13sCtnG8fxY3bT27Cjj4UTlzPEdiuizf9EKlHkun2DG5eyhm1rmg79tX1Gejh7hX1e3fgIRPvvJnurnVyAI1c5SHDU170j8Se3oR4rxOqompyAosTGwYuDZ.RoXdf7nO4a0gyaRgZMvC4k8iN5rYeWFdzye9dpw0gRc + pragma: + - no-cache + request-id: + - 4e315dd3-47e2-4f02-a0e1-cad6c1abcb11 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-ms-dirapi-data-contract-version: + - '1.6' + x-ms-resource-unit: + - '1' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"objectIds": ["e5007d2c-4b13-4a74-9b6a-605d99f03501"], "includeDirectoryObjectReferences": + true}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - role assignment create + Connection: + - keep-alive + Content-Length: + - '97' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --assignee --role --scope + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.23.0 + accept-language: + - en-US + method: POST + uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/getObjectsByObjectIds?api-version=1.6 + response: + body: + string: '{"odata.metadata":"https://graph.windows.net/00000000-0000-0000-0000-000000000000/$metadata#directoryObjects","value":[{"odata.type":"Microsoft.DirectoryServices.ServicePrincipal","objectType":"ServicePrincipal","objectId":"e5007d2c-4b13-4a74-9b6a-605d99f03501","deletionTimestamp":null,"accountEnabled":true,"addIns":[],"alternativeNames":[],"appDisplayName":"Azure + Cosmos DB","appId":"a232010e-820c-4083-83bb-3ace5fc29d0b","applicationTemplateId":null,"appOwnerTenantId":"f8cdef31-a31e-4b4a-93e4-5f571e91255a","appRoleAssignmentRequired":false,"appRoles":[],"displayName":"Azure + Cosmos DB","errorUrl":null,"homepage":null,"informationalUrls":{"termsOfService":null,"support":null,"privacy":null,"marketing":null},"keyCredentials":[],"logoutUrl":null,"notificationEmailAddresses":[],"oauth2Permissions":[{"adminConsentDescription":"Allow + the application to access Azure Cosmos DB on behalf of the signed-in user.","adminConsentDisplayName":"Access + Azure Cosmos DB","id":"8741c20d-e8c0-41ff-8adf-b7b9ba168197","isEnabled":true,"type":"User","userConsentDescription":"Allow + the application to access Azure Cosmos DB on your behalf.","userConsentDisplayName":"Access + Azure Cosmos DB as the Signed-in User","value":"user_impersonation"}],"passwordCredentials":[],"preferredSingleSignOnMode":null,"preferredTokenSigningKeyEndDateTime":null,"preferredTokenSigningKeyThumbprint":null,"publisherName":"Microsoft + Services","replyUrls":[],"samlMetadataUrl":null,"samlSingleSignOnSettings":null,"servicePrincipalNames":["a232010e-820c-4083-83bb-3ace5fc29d0b"],"servicePrincipalType":"Application","signInAudience":"AzureADMultipleOrgs","tags":[],"tokenEncryptionKeyId":null}]}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '1666' + content-type: + - application/json; odata=minimalmetadata; streaming=true; charset=utf-8 + dataserviceversion: + - 3.0; + date: + - Mon, 24 May 2021 19:46:21 GMT + duration: + - '510422' + expires: + - '-1' + ocp-aad-diagnostics-server-name: + - /Huk4TjYJVq8cGQrAQkA/SA2hWt+llQ64ZNTQ5XSPM0= + ocp-aad-session-key: + - -7XYDxMBNGwWf0-0saVqitsX5neVxfEtv2zKSbhsn5RgDsf2r-yp_TkXJ1wwUenD5suU04KNWf1O1Vo0IOLEgdQSQ5rZz2MODSHOEa13wGkSyApG6oa1laKY4X3NVN5R.SvZM3JGktSLCheKx-wgm-XAD3RKWkzcxCXEU1D62x14 + pragma: + - no-cache + request-id: + - 4b1783ac-0337-4e1a-9a8b-baf61beb6975 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-ms-dirapi-data-contract-version: + - '1.6' + x-ms-resource-unit: + - '3' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"properties": {"roleDefinitionId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7", + "principalId": "e5007d2c-4b13-4a74-9b6a-605d99f03501", "principalType": "ServicePrincipal"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - role assignment create + Connection: + - keep-alive + Content-Length: + - '270' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --assignee --role --scope + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.23.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/providers/Microsoft.Authorization/roleAssignments/88888888-0000-0000-0000-000000000001?api-version=2020-04-01-preview + response: + body: + string: '{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4d97b98b-1d4f-4787-a291-c67834d212e7","principalId":"e5007d2c-4b13-4a74-9b6a-605d99f03501","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005","condition":null,"conditionVersion":null,"createdOn":"2021-05-24T19:46:22.8155762Z","updatedOn":"2021-05-24T19:46:23.3155631Z","createdBy":null,"updatedBy":"47dc29ad-cbbc-4eda-9746-17f66697f62a","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/providers/Microsoft.Authorization/roleAssignments/88888888-0000-0000-0000-000000000001","type":"Microsoft.Authorization/roleAssignments","name":"88888888-0000-0000-0000-000000000001"}' + headers: + cache-control: + - no-cache + content-length: + - '1115' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 24 May 2021 19:46:24 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - x-ms-gateway-slice=Production; path=/; secure; samesite=none; httponly + 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: + - network vnet subnet show + Connection: + - keep-alive + ParameterSetName: + - -g --vnet-name --name + User-Agent: + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.4 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006?api-version=2020-11-01 + response: + body: + string: "{\r\n \"name\": \"cli000006\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006\",\r\n + \ \"etag\": \"W/\\\"46b45661-2832-4988-bea7-16cbb44e559e\\\"\",\r\n \"properties\": + {\r\n \"provisioningState\": \"Succeeded\",\r\n \"addressPrefix\": \"10.0.0.0/24\",\r\n + \ \"delegations\": [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n + \ \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n },\r\n \"type\": + \"Microsoft.Network/virtualNetworks/subnets\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '597' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 24 May 2021 19:46:24 GMT + etag: + - W/"46b45661-2832-4988-bea7-16cbb44e559e" + 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 + x-ms-arm-service-request-id: + - c080a108-2147-4f49-91b2-5d33ea898acb + status: + code: 200 + message: OK +- request: + body: '{"location": "eastus2", "properties": {"delegatedManagementSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006", + "initialCassandraAdminPassword": "password"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster create + Connection: + - keep-alive + Content-Length: + - '335' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -c -l -g -s -i + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002?api-version=2021-03-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002","name":"cli000002","type":"Microsoft.DocumentDB/cassandraClusters","location":"eastus2","tags":{},"identity":null,"properties":{"authenticationMethod":"Cassandra","clientCertificates":[],"clusterNameOverride":"cli000002","delegatedManagementSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006","externalGossipCertificates":[],"gossipCertificates":[],"hoursBetweenBackups":0,"prometheusEndpoint":{},"provisioningState":"Creating","repairEnabled":true,"seedNodes":[]}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/854c2d00-68bd-48d8-a3f7-df946d46bd63?api-version=2021-03-01-preview + cache-control: + - no-store, no-cache + content-length: + - '855' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:46:27 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster create + Connection: + - keep-alive + ParameterSetName: + - -c -l -g -s -i + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/854c2d00-68bd-48d8-a3f7-df946d46bd63?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:46:58 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster create + Connection: + - keep-alive + ParameterSetName: + - -c -l -g -s -i + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/854c2d00-68bd-48d8-a3f7-df946d46bd63?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:47:28 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster create + Connection: + - keep-alive + ParameterSetName: + - -c -l -g -s -i + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/854c2d00-68bd-48d8-a3f7-df946d46bd63?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:47:58 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster create + Connection: + - keep-alive + ParameterSetName: + - -c -l -g -s -i + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/854c2d00-68bd-48d8-a3f7-df946d46bd63?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:48:28 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster create + Connection: + - keep-alive + ParameterSetName: + - -c -l -g -s -i + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/854c2d00-68bd-48d8-a3f7-df946d46bd63?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:48:59 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster create + Connection: + - keep-alive + ParameterSetName: + - -c -l -g -s -i + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/854c2d00-68bd-48d8-a3f7-df946d46bd63?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '22' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:49:29 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster create + Connection: + - keep-alive + ParameterSetName: + - -c -l -g -s -i + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002?api-version=2021-03-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002","name":"cli000002","type":"Microsoft.DocumentDB/cassandraClusters","location":"eastus2","tags":{},"identity":null,"properties":{"authenticationMethod":"Cassandra","clientCertificates":[],"clusterNameOverride":"cli000002","delegatedManagementSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006","externalGossipCertificates":[],"gossipCertificates":[{"pem":"\r\n-----BEGIN + CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQDXvt6X2CCZZ6UmMbi90YvTANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwNTCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAKplDTmQ9afwVPQelDuu+NkxNJ084CNKnrZ21ABewE+UU4GK\r\nDnwygZdK6agNSMs5UochUEDzz9CpdV5tdPzL14O/GeE2gO5/aUFTUMG9c6neyxk5\r\ntq1WdKsPkitPws6V8MWa5d1L/y4RFhZHUsgxxUySlYlGpNcHhhsyr7EvFecZGA1M\r\nfsitAWVp6hiWANkWKINfRcdt3Z2A23hmMH9MRSGBccHiPuzwrVsSmLwvt3WlRDgO\r\nbJkE40tFYvJ6GXAQiaGHCIWSVObgO3zj6xkdbEFMmJ/zr2Wet5KEcUDtUBhA4dUU\r\noaPVz69u46V56Vscy3lXu1Ylsk84j5lUPLdsAxtultP4OPQoOTpnY8kxWkH6kgO5\r\ngTKE3HRvoVIjU4xJ0JQ746zy/8GdQA36SaNiz4U3u10zFZg2Rkv2dL1Lv58EXL02\r\nr5q5B/nhVH/M1joTvpRvaeEpAJhkIA9NkpvbGEpSdcA0OrtOOeGtrsiOyMBYkjpB\r\n5nw0cJY1QHOr3nIvJ2OnY+OKJbDSrhFqWsk8/1q6Z1WNvONz7te1pAtHerdPi5pC\r\nHeiXCNpv+fadwP0k8czaf2Vs19nYsgWn5uIyLQL8EehdBzCbOKJy9sl86S4Fqe4H\r\nGyAtmqGlaWOsq2A6O/paMi3BSmWTDbgPLCPBbPte/bsuAEF4ajkPEES3GHP9AgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUx7KcfxzjuFrv6WgaqF2UwSZSamgwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAe+G+G2RFdWtYxLIKMR5H/aVNFjNP7Jdeu\r\n+oZaKaIu7U3NidykFr994jSxMBMV768ukJ5/hLSKsuj/SLjmAfwRAZ+w0RGqi/kO\r\nvPYUlBr/sKOwr3tVkg9ccZBebnBVG+DLKTp2Ox0+jYBCPxla5FO252qpk7/6wt8S\r\nZk3diSU12Jm7if/jjkhkGB/e8UdfrKoLytDvqVeiwPA5FPzqKoSqN75byLjsIKJE\r\ndNi07SY45hN/RUnsmIoAf93qlaHR/SJWVRhrWt3JmeoBJ2RDK492zF6TGu1moh4a\r\nE6e00YkwTPWreuwvaLB220vWmtgZPs+DSIb2d9hPBdCJgvcho1c7\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQCq+mxcpjxFFB6jvh98dTFzANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMTCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAMedcDrkXufP7pxVm1FHLDNA9IjwHaMoaY8arqqZ4Gff4xyr\r\nRygnavXL7g12MPAx8Q6Dd9hfBzrfWxkF0Br2wIvlvkzW01naNVSkHp+OS3hL3W6n\r\nl/jYvZnVeJXjtsKYcXIf/6WtspcF5awlQ9LZJcjwaH7KoZuK+THpXCMtzD8XNVdm\r\nGW/JI0C/7U/E7evXn9XDio8SYkGSM63aLO5BtLCv092+1d4GGBSQYolRq+7Pd1kR\r\nEkWBPm0ywZ2Vb8GIS5DLrjelEkBnKCyy3B0yQud9dpVsiUeE7F5sY8Me96WVxQcb\r\nOyYdEY/j/9UpDlOG+vA+YgOvBhkKEjiqygVpP8EZoMMijephzg43b5Qi9r5UrvYo\r\no19oR/8pf4HJNDPF0/FJwFVMW8PmCBLGstin3NE1+NeWTkGt0TzpHjgKyfaDP2tO\r\n4bCk1G7pP2kDFT7SYfc8xbgCkFQ2UCEXsaH/f5YmpLn4YPiNFCeeIida7xnfTvc4\r\n7IxyVccHHq1FzGygOqemrxEETKh8hvDR6eBdrBwmCHVgZrnAqnn93JtGyPLi6+cj\r\nWGVGtMZHwzVvX1HvSFG771sskcEjJxiQNQDQRWHEh3NxvNb7kFlAXnVdRkkvhjpR\r\nGchFhTAzqmwltdWhWDEyCMKC2x/mSZvZtlZGY+g37Y72qHzidwtyW7rBetZJAgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUDyBd16FXlduSzyvQx8J3BM5ygHYwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAlFvNh7QgXVLAZSsNR2XRmIn9iS8OHFCBA\r\nWxKJoi8YYQafpMTkMqeuzoL3HWb1pYEipsDkhiMnrpfeYZEA7Lz7yqEEtfgHcEBs\r\nK9KcStQGGZRfmWU07hPXHnFz+5gTXqzCE2PBMlRgVUYJiA25mJPXfB00gDvGhtYa\r\n+mENwM9Bq1B9YYLyLjRtUz8cyGsdyTIG/bBM/Q9jcV8JGqMU/UjAdh1pFyTnnHEl\r\nY59Npi7F87ZqYYJEHJM2LGD+le8VsHjgeWX2CJQko7klXvcizuZvUEDTjHaQcs2J\r\n+kPgfyMIOY1DMJ21NxOJ2xPRC/wAh/hzSBRVtoAnyuxtkZ4VjIOh\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQDGrpfM7VmYOGkKAKnqUyFDANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMjCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAOBiO1K6Fk4fHI6t3mJkpg7lxoeUgL8tz9wuI2z0UgY8vFra\r\n3VBo7QznC4K3s9jqKWEyIQY11Le0108bSYa/TK0aioO6itpGiigEG+vH/iqtQXPS\r\nu6D804ri0NFZ1SOP9IzjYuQiK6AWntCqP4WAcZAPtpNrNLPBIyiqmiTDS4dlFg1d\r\nskMuVpT4z0MpgEMmxQnrSZ615rBQ25vnVbBNig04FCsh1V3S8ve5Gzh08oIrL/g5\r\nxq95oRrgEeOBIeiegQpoKrLYyo3R1Tt48HmSJCBYQ52Qc34RgxQdZsLXMUrWuL1J\r\nLAZP6yeo47ySSxKCjhq5/AUWvQBP3N/cP/iJzKKKw23qJ/kkVrE0DSVDiIiXWF0c\r\n9abSGhYl9SPl86IHcIAIzwelJ4SKpHrVbh0/w4YHdFi5QbdAp7O5KxfxBYhQOeHy\r\nis01zkpYn6SqUFGvbK8eZ8y9Aclt8PIUftMG6q5BhdlBZkDDV3n70RlXwYvllzfZ\r\n/nV94l+hYp+GLW7jSmpxZLG/XEz4OXtTtWwLV+IkIOe/EDF79KCazW2SXOIvVInP\r\noi1PqN4TudNv0GyBF5tRC/aBjUqply1YYfeKwgRVs83z5kuiOicmdGZKH9SqU5bn\r\nKse7IlyfZLg6yAxYyTNe7A9acJ3/pGmCIkJ/9dfLUFc4hYb3YyIIYGmqm2/3AgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUAKuR/CFiJpeaqHkbYUGQYKliZ/0wHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAzo/KdmWPPTaYLQW7J5DqxEiBT9QyYGUfe\r\nZd7TR1837H6DSkFa/mGM1kLwi5y9miZKA9k6T9OwTx8CflcvbNO2UkFW0VCldEGH\r\niyx5421+HpRxMQIRjligePtOtRGXwaNOQ7ySWfJhRhKcPKe2PGFHQI7/3n+T3kXQ\r\n/SLu2lk9Qs5YgSJ3VhxBUznYn1KVKJWPE07M55kuUgCquAV0PksZj7EC4nK6e/UV\r\nbPumlj1nyjlxhvNud4WYmr4ntbBev6cSbK78dpI/3cr7P/WJPYJuL0EsO3MgjS3e\r\nDCX7NXp5ylue3TcpQfRU8BL+yZC1wqX98R4ndw7X4qfGaE7SlF7I\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT\r\nMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j\r\nb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG\r\n9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI\r\n2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx\r\n1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ\r\nq2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz\r\ntCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ\r\nvIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP\r\nBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV\r\n5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY\r\n1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4\r\nNeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG\r\nFdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91\r\n8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe\r\npLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl\r\nMrY=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQAueRcfuAIek/4tmDg0xQwDANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwNjCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBALVGARl56bx3KBUSGuPc4H5uoNFkFH4e7pvTCxRi4j/+z+Xb\r\nwjEz+5CipDOqjx9/jWjskL5dk7PaQkzItidsAAnDCW1leZBOIi68Lff1bjTeZgMY\r\niwdRd3Y39b/lcGpiuP2d23W95YHkMMT8IlWosYIX0f4kYb62rphyfnAjYb/4Od99\r\nThnhlAxGtfvSbXcBVIKCYfZgqRvV+5lReUnd1aNjRYVzPOoifgSx2fRyy1+pO1Uz\r\naMMNnIOE71bVYW0A1hr19w7kOb0KkJXoALTDDj1ukUEDqQuBfBxReL5mXiu1O7WG\r\n0vltg0VZ/SZzctBsdBlx1BkmWYBW261KZgBivrql5ELTKKd8qgtHcLQA5fl6JB0Q\r\ngs5XDaWehN86Gps5JW8ArjGtjcWAIP+X8CQaWfaCnuRm6Bk/03PQWhgdi84qwA0s\r\nsRfFJwHUPTNSnE8EiGVk2frt0u8PG1pwSQsFuNJfcYIHEv1vOzP7uEOuDydsmCjh\r\nlxuoK2n5/2aVR3BMTu+p4+gl8alXoBycyLmj3J/PUgqD8SL5fTCUegGsdia/Sa60\r\nN2oV7vQ17wjMN+LXa2rjj/b4ZlZgXVojDmAjDwIRdDUujQu0RVsJqFLMzSIHpp2C\r\nZp7mIoLrySay2YYBu7SiNwL95X6He2kS8eefBBHjzwW/9FxGqry57i71c2cDAgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQU1cFnOsKjnfR3UltZEjgp5lVou6UwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQB2oWc93fB8esci/8esixj++N22meiGDjgF\r\n+rA2LUK5IOQOgcUSTGKSqF9lYfAxPjrqPjDCUPHCURv+26ad5P/BYtXtbmtxJWu+\r\ncS5BhMDPPeG3oPZwXRHBJFAkY4O4AF7RIAAUW6EzDflUoDHKv83zOiPfYGcpHc9s\r\nkxAInCedk7QSgXvMARjjOqdakor21DTmNIUotxo8kHv5hwRlGhBJwps6fEVi1Bt0\r\ntrpM/3wYxlr473WSPUFZPgP1j519kLpWOJ8z09wxay+Br29irPcBYv0GMXlHqThy\r\n8y4m/HyTQeI2IMvMrQnwqPpY+rLIXyviI2vLoI+4xKE4Rn38ZZ8m\r\n-----END + CERTIFICATE-----\r\n"}],"hoursBetweenBackups":0,"prometheusEndpoint":{"ipAddress":"127.0.0.1"},"provisioningState":"Succeeded","repairEnabled":true,"seedNodes":[]}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '11209' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:49:29 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster show + Connection: + - keep-alive + ParameterSetName: + - -c -g + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002?api-version=2021-03-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002","name":"cli000002","type":"Microsoft.DocumentDB/cassandraClusters","location":"eastus2","tags":{},"identity":null,"properties":{"authenticationMethod":"Cassandra","clientCertificates":[],"clusterNameOverride":"cli000002","delegatedManagementSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006","externalGossipCertificates":[],"gossipCertificates":[{"pem":"\r\n-----BEGIN + CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQDXvt6X2CCZZ6UmMbi90YvTANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwNTCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAKplDTmQ9afwVPQelDuu+NkxNJ084CNKnrZ21ABewE+UU4GK\r\nDnwygZdK6agNSMs5UochUEDzz9CpdV5tdPzL14O/GeE2gO5/aUFTUMG9c6neyxk5\r\ntq1WdKsPkitPws6V8MWa5d1L/y4RFhZHUsgxxUySlYlGpNcHhhsyr7EvFecZGA1M\r\nfsitAWVp6hiWANkWKINfRcdt3Z2A23hmMH9MRSGBccHiPuzwrVsSmLwvt3WlRDgO\r\nbJkE40tFYvJ6GXAQiaGHCIWSVObgO3zj6xkdbEFMmJ/zr2Wet5KEcUDtUBhA4dUU\r\noaPVz69u46V56Vscy3lXu1Ylsk84j5lUPLdsAxtultP4OPQoOTpnY8kxWkH6kgO5\r\ngTKE3HRvoVIjU4xJ0JQ746zy/8GdQA36SaNiz4U3u10zFZg2Rkv2dL1Lv58EXL02\r\nr5q5B/nhVH/M1joTvpRvaeEpAJhkIA9NkpvbGEpSdcA0OrtOOeGtrsiOyMBYkjpB\r\n5nw0cJY1QHOr3nIvJ2OnY+OKJbDSrhFqWsk8/1q6Z1WNvONz7te1pAtHerdPi5pC\r\nHeiXCNpv+fadwP0k8czaf2Vs19nYsgWn5uIyLQL8EehdBzCbOKJy9sl86S4Fqe4H\r\nGyAtmqGlaWOsq2A6O/paMi3BSmWTDbgPLCPBbPte/bsuAEF4ajkPEES3GHP9AgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUx7KcfxzjuFrv6WgaqF2UwSZSamgwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAe+G+G2RFdWtYxLIKMR5H/aVNFjNP7Jdeu\r\n+oZaKaIu7U3NidykFr994jSxMBMV768ukJ5/hLSKsuj/SLjmAfwRAZ+w0RGqi/kO\r\nvPYUlBr/sKOwr3tVkg9ccZBebnBVG+DLKTp2Ox0+jYBCPxla5FO252qpk7/6wt8S\r\nZk3diSU12Jm7if/jjkhkGB/e8UdfrKoLytDvqVeiwPA5FPzqKoSqN75byLjsIKJE\r\ndNi07SY45hN/RUnsmIoAf93qlaHR/SJWVRhrWt3JmeoBJ2RDK492zF6TGu1moh4a\r\nE6e00YkwTPWreuwvaLB220vWmtgZPs+DSIb2d9hPBdCJgvcho1c7\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQCq+mxcpjxFFB6jvh98dTFzANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMTCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAMedcDrkXufP7pxVm1FHLDNA9IjwHaMoaY8arqqZ4Gff4xyr\r\nRygnavXL7g12MPAx8Q6Dd9hfBzrfWxkF0Br2wIvlvkzW01naNVSkHp+OS3hL3W6n\r\nl/jYvZnVeJXjtsKYcXIf/6WtspcF5awlQ9LZJcjwaH7KoZuK+THpXCMtzD8XNVdm\r\nGW/JI0C/7U/E7evXn9XDio8SYkGSM63aLO5BtLCv092+1d4GGBSQYolRq+7Pd1kR\r\nEkWBPm0ywZ2Vb8GIS5DLrjelEkBnKCyy3B0yQud9dpVsiUeE7F5sY8Me96WVxQcb\r\nOyYdEY/j/9UpDlOG+vA+YgOvBhkKEjiqygVpP8EZoMMijephzg43b5Qi9r5UrvYo\r\no19oR/8pf4HJNDPF0/FJwFVMW8PmCBLGstin3NE1+NeWTkGt0TzpHjgKyfaDP2tO\r\n4bCk1G7pP2kDFT7SYfc8xbgCkFQ2UCEXsaH/f5YmpLn4YPiNFCeeIida7xnfTvc4\r\n7IxyVccHHq1FzGygOqemrxEETKh8hvDR6eBdrBwmCHVgZrnAqnn93JtGyPLi6+cj\r\nWGVGtMZHwzVvX1HvSFG771sskcEjJxiQNQDQRWHEh3NxvNb7kFlAXnVdRkkvhjpR\r\nGchFhTAzqmwltdWhWDEyCMKC2x/mSZvZtlZGY+g37Y72qHzidwtyW7rBetZJAgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUDyBd16FXlduSzyvQx8J3BM5ygHYwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAlFvNh7QgXVLAZSsNR2XRmIn9iS8OHFCBA\r\nWxKJoi8YYQafpMTkMqeuzoL3HWb1pYEipsDkhiMnrpfeYZEA7Lz7yqEEtfgHcEBs\r\nK9KcStQGGZRfmWU07hPXHnFz+5gTXqzCE2PBMlRgVUYJiA25mJPXfB00gDvGhtYa\r\n+mENwM9Bq1B9YYLyLjRtUz8cyGsdyTIG/bBM/Q9jcV8JGqMU/UjAdh1pFyTnnHEl\r\nY59Npi7F87ZqYYJEHJM2LGD+le8VsHjgeWX2CJQko7klXvcizuZvUEDTjHaQcs2J\r\n+kPgfyMIOY1DMJ21NxOJ2xPRC/wAh/hzSBRVtoAnyuxtkZ4VjIOh\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQDGrpfM7VmYOGkKAKnqUyFDANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMjCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAOBiO1K6Fk4fHI6t3mJkpg7lxoeUgL8tz9wuI2z0UgY8vFra\r\n3VBo7QznC4K3s9jqKWEyIQY11Le0108bSYa/TK0aioO6itpGiigEG+vH/iqtQXPS\r\nu6D804ri0NFZ1SOP9IzjYuQiK6AWntCqP4WAcZAPtpNrNLPBIyiqmiTDS4dlFg1d\r\nskMuVpT4z0MpgEMmxQnrSZ615rBQ25vnVbBNig04FCsh1V3S8ve5Gzh08oIrL/g5\r\nxq95oRrgEeOBIeiegQpoKrLYyo3R1Tt48HmSJCBYQ52Qc34RgxQdZsLXMUrWuL1J\r\nLAZP6yeo47ySSxKCjhq5/AUWvQBP3N/cP/iJzKKKw23qJ/kkVrE0DSVDiIiXWF0c\r\n9abSGhYl9SPl86IHcIAIzwelJ4SKpHrVbh0/w4YHdFi5QbdAp7O5KxfxBYhQOeHy\r\nis01zkpYn6SqUFGvbK8eZ8y9Aclt8PIUftMG6q5BhdlBZkDDV3n70RlXwYvllzfZ\r\n/nV94l+hYp+GLW7jSmpxZLG/XEz4OXtTtWwLV+IkIOe/EDF79KCazW2SXOIvVInP\r\noi1PqN4TudNv0GyBF5tRC/aBjUqply1YYfeKwgRVs83z5kuiOicmdGZKH9SqU5bn\r\nKse7IlyfZLg6yAxYyTNe7A9acJ3/pGmCIkJ/9dfLUFc4hYb3YyIIYGmqm2/3AgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUAKuR/CFiJpeaqHkbYUGQYKliZ/0wHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAzo/KdmWPPTaYLQW7J5DqxEiBT9QyYGUfe\r\nZd7TR1837H6DSkFa/mGM1kLwi5y9miZKA9k6T9OwTx8CflcvbNO2UkFW0VCldEGH\r\niyx5421+HpRxMQIRjligePtOtRGXwaNOQ7ySWfJhRhKcPKe2PGFHQI7/3n+T3kXQ\r\n/SLu2lk9Qs5YgSJ3VhxBUznYn1KVKJWPE07M55kuUgCquAV0PksZj7EC4nK6e/UV\r\nbPumlj1nyjlxhvNud4WYmr4ntbBev6cSbK78dpI/3cr7P/WJPYJuL0EsO3MgjS3e\r\nDCX7NXp5ylue3TcpQfRU8BL+yZC1wqX98R4ndw7X4qfGaE7SlF7I\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT\r\nMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j\r\nb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG\r\n9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI\r\n2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx\r\n1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ\r\nq2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz\r\ntCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ\r\nvIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP\r\nBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV\r\n5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY\r\n1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4\r\nNeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG\r\nFdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91\r\n8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe\r\npLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl\r\nMrY=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQAueRcfuAIek/4tmDg0xQwDANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwNjCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBALVGARl56bx3KBUSGuPc4H5uoNFkFH4e7pvTCxRi4j/+z+Xb\r\nwjEz+5CipDOqjx9/jWjskL5dk7PaQkzItidsAAnDCW1leZBOIi68Lff1bjTeZgMY\r\niwdRd3Y39b/lcGpiuP2d23W95YHkMMT8IlWosYIX0f4kYb62rphyfnAjYb/4Od99\r\nThnhlAxGtfvSbXcBVIKCYfZgqRvV+5lReUnd1aNjRYVzPOoifgSx2fRyy1+pO1Uz\r\naMMNnIOE71bVYW0A1hr19w7kOb0KkJXoALTDDj1ukUEDqQuBfBxReL5mXiu1O7WG\r\n0vltg0VZ/SZzctBsdBlx1BkmWYBW261KZgBivrql5ELTKKd8qgtHcLQA5fl6JB0Q\r\ngs5XDaWehN86Gps5JW8ArjGtjcWAIP+X8CQaWfaCnuRm6Bk/03PQWhgdi84qwA0s\r\nsRfFJwHUPTNSnE8EiGVk2frt0u8PG1pwSQsFuNJfcYIHEv1vOzP7uEOuDydsmCjh\r\nlxuoK2n5/2aVR3BMTu+p4+gl8alXoBycyLmj3J/PUgqD8SL5fTCUegGsdia/Sa60\r\nN2oV7vQ17wjMN+LXa2rjj/b4ZlZgXVojDmAjDwIRdDUujQu0RVsJqFLMzSIHpp2C\r\nZp7mIoLrySay2YYBu7SiNwL95X6He2kS8eefBBHjzwW/9FxGqry57i71c2cDAgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQU1cFnOsKjnfR3UltZEjgp5lVou6UwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQB2oWc93fB8esci/8esixj++N22meiGDjgF\r\n+rA2LUK5IOQOgcUSTGKSqF9lYfAxPjrqPjDCUPHCURv+26ad5P/BYtXtbmtxJWu+\r\ncS5BhMDPPeG3oPZwXRHBJFAkY4O4AF7RIAAUW6EzDflUoDHKv83zOiPfYGcpHc9s\r\nkxAInCedk7QSgXvMARjjOqdakor21DTmNIUotxo8kHv5hwRlGhBJwps6fEVi1Bt0\r\ntrpM/3wYxlr473WSPUFZPgP1j519kLpWOJ8z09wxay+Br29irPcBYv0GMXlHqThy\r\n8y4m/HyTQeI2IMvMrQnwqPpY+rLIXyviI2vLoI+4xKE4Rn38ZZ8m\r\n-----END + CERTIFICATE-----\r\n"}],"hoursBetweenBackups":0,"prometheusEndpoint":{"ipAddress":"127.0.0.1"},"provisioningState":"Succeeded","repairEnabled":true,"seedNodes":[]}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '11209' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:49:30 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 200 + message: Ok +- request: + body: '{"properties": {"dataCenterLocation": "eastus2", "delegatedSubnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006", + "nodeCount": 3}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + Content-Length: + - '306' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/dataCenters/cli-dc000004?api-version=2021-03-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/dataCenters/cli-dc000004","name":"cli-dc000004","type":"Microsoft.DocumentDB/cassandraClusters/dataCenters","properties":{"provisioningState":"Creating","dataCenterLocation":"eastus2","delegatedSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006","nodeCount":3,"seedNodes":[],"base64EncodedCassandraYamlFragment":""}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/50eedc9a-a2e3-4e09-8a12-f69f4ccb7e3a?api-version=2021-03-01-preview + cache-control: + - no-store, no-cache + content-length: + - '699' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:49:31 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/50eedc9a-a2e3-4e09-8a12-f69f4ccb7e3a?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:50:02 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/50eedc9a-a2e3-4e09-8a12-f69f4ccb7e3a?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:50:32 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/50eedc9a-a2e3-4e09-8a12-f69f4ccb7e3a?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:51:02 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/50eedc9a-a2e3-4e09-8a12-f69f4ccb7e3a?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:51:32 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/50eedc9a-a2e3-4e09-8a12-f69f4ccb7e3a?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:52:03 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/50eedc9a-a2e3-4e09-8a12-f69f4ccb7e3a?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:52:33 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/50eedc9a-a2e3-4e09-8a12-f69f4ccb7e3a?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:53:03 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/50eedc9a-a2e3-4e09-8a12-f69f4ccb7e3a?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:53:33 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/50eedc9a-a2e3-4e09-8a12-f69f4ccb7e3a?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:54:03 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/50eedc9a-a2e3-4e09-8a12-f69f4ccb7e3a?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:54:34 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/50eedc9a-a2e3-4e09-8a12-f69f4ccb7e3a?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:55:04 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/50eedc9a-a2e3-4e09-8a12-f69f4ccb7e3a?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:55:34 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/50eedc9a-a2e3-4e09-8a12-f69f4ccb7e3a?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:56:04 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/50eedc9a-a2e3-4e09-8a12-f69f4ccb7e3a?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:56:33 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/50eedc9a-a2e3-4e09-8a12-f69f4ccb7e3a?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:57:06 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/50eedc9a-a2e3-4e09-8a12-f69f4ccb7e3a?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:57:36 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/50eedc9a-a2e3-4e09-8a12-f69f4ccb7e3a?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:58:06 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/50eedc9a-a2e3-4e09-8a12-f69f4ccb7e3a?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:58:36 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/50eedc9a-a2e3-4e09-8a12-f69f4ccb7e3a?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:59:07 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/eastus2/operationsStatus/50eedc9a-a2e3-4e09-8a12-f69f4ccb7e3a?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '22' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:59:37 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter create + Connection: + - keep-alive + ParameterSetName: + - -c -d -l -g -n -s + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/dataCenters/cli-dc000004?api-version=2021-03-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/dataCenters/cli-dc000004","name":"cli-dc000004","type":"Microsoft.DocumentDB/cassandraClusters/dataCenters","properties":{"provisioningState":"Succeeded","dataCenterLocation":"eastus2","delegatedSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006","nodeCount":3,"seedNodes":[{"ipAddress":"10.0.0.5"},{"ipAddress":"10.0.0.7"},{"ipAddress":"10.0.0.9"}],"base64EncodedCassandraYamlFragment":""}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '774' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:59:37 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter show + Connection: + - keep-alive + ParameterSetName: + - -c -d -g + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/dataCenters/cli-dc000004?api-version=2021-03-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/dataCenters/cli-dc000004","name":"cli-dc000004","type":"Microsoft.DocumentDB/cassandraClusters/dataCenters","properties":{"provisioningState":"Succeeded","dataCenterLocation":"eastus2","delegatedSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006","nodeCount":3,"seedNodes":[{"ipAddress":"10.0.0.5"},{"ipAddress":"10.0.0.7"},{"ipAddress":"10.0.0.9"}],"base64EncodedCassandraYamlFragment":""}}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '774' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:59:38 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra datacenter list + Connection: + - keep-alive + ParameterSetName: + - -c -g + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/dataCenters?api-version=2021-03-01-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/dataCenters/cli-dc000004","name":"cli-dc000004","type":"Microsoft.DocumentDB/cassandraClusters/dataCenters","properties":{"provisioningState":"Succeeded","dataCenterLocation":"eastus2","delegatedSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006","nodeCount":3,"seedNodes":[{"ipAddress":"10.0.0.5"},{"ipAddress":"10.0.0.7"},{"ipAddress":"10.0.0.9"}],"base64EncodedCassandraYamlFragment":""}}]}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '786' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:59:39 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster list + Connection: + - keep-alive + ParameterSetName: + - -g + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters?api-version=2021-03-01-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002","name":"cli000002","type":"Microsoft.DocumentDB/cassandraClusters","location":"eastus2","tags":{},"identity":null,"properties":{"authenticationMethod":"Cassandra","clientCertificates":[],"clusterNameOverride":"cli000002","delegatedManagementSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006","externalGossipCertificates":[],"gossipCertificates":[{"pem":"\r\n-----BEGIN + CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQDXvt6X2CCZZ6UmMbi90YvTANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwNTCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAKplDTmQ9afwVPQelDuu+NkxNJ084CNKnrZ21ABewE+UU4GK\r\nDnwygZdK6agNSMs5UochUEDzz9CpdV5tdPzL14O/GeE2gO5/aUFTUMG9c6neyxk5\r\ntq1WdKsPkitPws6V8MWa5d1L/y4RFhZHUsgxxUySlYlGpNcHhhsyr7EvFecZGA1M\r\nfsitAWVp6hiWANkWKINfRcdt3Z2A23hmMH9MRSGBccHiPuzwrVsSmLwvt3WlRDgO\r\nbJkE40tFYvJ6GXAQiaGHCIWSVObgO3zj6xkdbEFMmJ/zr2Wet5KEcUDtUBhA4dUU\r\noaPVz69u46V56Vscy3lXu1Ylsk84j5lUPLdsAxtultP4OPQoOTpnY8kxWkH6kgO5\r\ngTKE3HRvoVIjU4xJ0JQ746zy/8GdQA36SaNiz4U3u10zFZg2Rkv2dL1Lv58EXL02\r\nr5q5B/nhVH/M1joTvpRvaeEpAJhkIA9NkpvbGEpSdcA0OrtOOeGtrsiOyMBYkjpB\r\n5nw0cJY1QHOr3nIvJ2OnY+OKJbDSrhFqWsk8/1q6Z1WNvONz7te1pAtHerdPi5pC\r\nHeiXCNpv+fadwP0k8czaf2Vs19nYsgWn5uIyLQL8EehdBzCbOKJy9sl86S4Fqe4H\r\nGyAtmqGlaWOsq2A6O/paMi3BSmWTDbgPLCPBbPte/bsuAEF4ajkPEES3GHP9AgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUx7KcfxzjuFrv6WgaqF2UwSZSamgwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAe+G+G2RFdWtYxLIKMR5H/aVNFjNP7Jdeu\r\n+oZaKaIu7U3NidykFr994jSxMBMV768ukJ5/hLSKsuj/SLjmAfwRAZ+w0RGqi/kO\r\nvPYUlBr/sKOwr3tVkg9ccZBebnBVG+DLKTp2Ox0+jYBCPxla5FO252qpk7/6wt8S\r\nZk3diSU12Jm7if/jjkhkGB/e8UdfrKoLytDvqVeiwPA5FPzqKoSqN75byLjsIKJE\r\ndNi07SY45hN/RUnsmIoAf93qlaHR/SJWVRhrWt3JmeoBJ2RDK492zF6TGu1moh4a\r\nE6e00YkwTPWreuwvaLB220vWmtgZPs+DSIb2d9hPBdCJgvcho1c7\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQCq+mxcpjxFFB6jvh98dTFzANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMTCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAMedcDrkXufP7pxVm1FHLDNA9IjwHaMoaY8arqqZ4Gff4xyr\r\nRygnavXL7g12MPAx8Q6Dd9hfBzrfWxkF0Br2wIvlvkzW01naNVSkHp+OS3hL3W6n\r\nl/jYvZnVeJXjtsKYcXIf/6WtspcF5awlQ9LZJcjwaH7KoZuK+THpXCMtzD8XNVdm\r\nGW/JI0C/7U/E7evXn9XDio8SYkGSM63aLO5BtLCv092+1d4GGBSQYolRq+7Pd1kR\r\nEkWBPm0ywZ2Vb8GIS5DLrjelEkBnKCyy3B0yQud9dpVsiUeE7F5sY8Me96WVxQcb\r\nOyYdEY/j/9UpDlOG+vA+YgOvBhkKEjiqygVpP8EZoMMijephzg43b5Qi9r5UrvYo\r\no19oR/8pf4HJNDPF0/FJwFVMW8PmCBLGstin3NE1+NeWTkGt0TzpHjgKyfaDP2tO\r\n4bCk1G7pP2kDFT7SYfc8xbgCkFQ2UCEXsaH/f5YmpLn4YPiNFCeeIida7xnfTvc4\r\n7IxyVccHHq1FzGygOqemrxEETKh8hvDR6eBdrBwmCHVgZrnAqnn93JtGyPLi6+cj\r\nWGVGtMZHwzVvX1HvSFG771sskcEjJxiQNQDQRWHEh3NxvNb7kFlAXnVdRkkvhjpR\r\nGchFhTAzqmwltdWhWDEyCMKC2x/mSZvZtlZGY+g37Y72qHzidwtyW7rBetZJAgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUDyBd16FXlduSzyvQx8J3BM5ygHYwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAlFvNh7QgXVLAZSsNR2XRmIn9iS8OHFCBA\r\nWxKJoi8YYQafpMTkMqeuzoL3HWb1pYEipsDkhiMnrpfeYZEA7Lz7yqEEtfgHcEBs\r\nK9KcStQGGZRfmWU07hPXHnFz+5gTXqzCE2PBMlRgVUYJiA25mJPXfB00gDvGhtYa\r\n+mENwM9Bq1B9YYLyLjRtUz8cyGsdyTIG/bBM/Q9jcV8JGqMU/UjAdh1pFyTnnHEl\r\nY59Npi7F87ZqYYJEHJM2LGD+le8VsHjgeWX2CJQko7klXvcizuZvUEDTjHaQcs2J\r\n+kPgfyMIOY1DMJ21NxOJ2xPRC/wAh/hzSBRVtoAnyuxtkZ4VjIOh\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQDGrpfM7VmYOGkKAKnqUyFDANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMjCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAOBiO1K6Fk4fHI6t3mJkpg7lxoeUgL8tz9wuI2z0UgY8vFra\r\n3VBo7QznC4K3s9jqKWEyIQY11Le0108bSYa/TK0aioO6itpGiigEG+vH/iqtQXPS\r\nu6D804ri0NFZ1SOP9IzjYuQiK6AWntCqP4WAcZAPtpNrNLPBIyiqmiTDS4dlFg1d\r\nskMuVpT4z0MpgEMmxQnrSZ615rBQ25vnVbBNig04FCsh1V3S8ve5Gzh08oIrL/g5\r\nxq95oRrgEeOBIeiegQpoKrLYyo3R1Tt48HmSJCBYQ52Qc34RgxQdZsLXMUrWuL1J\r\nLAZP6yeo47ySSxKCjhq5/AUWvQBP3N/cP/iJzKKKw23qJ/kkVrE0DSVDiIiXWF0c\r\n9abSGhYl9SPl86IHcIAIzwelJ4SKpHrVbh0/w4YHdFi5QbdAp7O5KxfxBYhQOeHy\r\nis01zkpYn6SqUFGvbK8eZ8y9Aclt8PIUftMG6q5BhdlBZkDDV3n70RlXwYvllzfZ\r\n/nV94l+hYp+GLW7jSmpxZLG/XEz4OXtTtWwLV+IkIOe/EDF79KCazW2SXOIvVInP\r\noi1PqN4TudNv0GyBF5tRC/aBjUqply1YYfeKwgRVs83z5kuiOicmdGZKH9SqU5bn\r\nKse7IlyfZLg6yAxYyTNe7A9acJ3/pGmCIkJ/9dfLUFc4hYb3YyIIYGmqm2/3AgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUAKuR/CFiJpeaqHkbYUGQYKliZ/0wHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAzo/KdmWPPTaYLQW7J5DqxEiBT9QyYGUfe\r\nZd7TR1837H6DSkFa/mGM1kLwi5y9miZKA9k6T9OwTx8CflcvbNO2UkFW0VCldEGH\r\niyx5421+HpRxMQIRjligePtOtRGXwaNOQ7ySWfJhRhKcPKe2PGFHQI7/3n+T3kXQ\r\n/SLu2lk9Qs5YgSJ3VhxBUznYn1KVKJWPE07M55kuUgCquAV0PksZj7EC4nK6e/UV\r\nbPumlj1nyjlxhvNud4WYmr4ntbBev6cSbK78dpI/3cr7P/WJPYJuL0EsO3MgjS3e\r\nDCX7NXp5ylue3TcpQfRU8BL+yZC1wqX98R4ndw7X4qfGaE7SlF7I\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT\r\nMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j\r\nb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG\r\n9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI\r\n2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx\r\n1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ\r\nq2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz\r\ntCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ\r\nvIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP\r\nBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV\r\n5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY\r\n1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4\r\nNeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG\r\nFdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91\r\n8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe\r\npLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl\r\nMrY=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQAueRcfuAIek/4tmDg0xQwDANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwNjCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBALVGARl56bx3KBUSGuPc4H5uoNFkFH4e7pvTCxRi4j/+z+Xb\r\nwjEz+5CipDOqjx9/jWjskL5dk7PaQkzItidsAAnDCW1leZBOIi68Lff1bjTeZgMY\r\niwdRd3Y39b/lcGpiuP2d23W95YHkMMT8IlWosYIX0f4kYb62rphyfnAjYb/4Od99\r\nThnhlAxGtfvSbXcBVIKCYfZgqRvV+5lReUnd1aNjRYVzPOoifgSx2fRyy1+pO1Uz\r\naMMNnIOE71bVYW0A1hr19w7kOb0KkJXoALTDDj1ukUEDqQuBfBxReL5mXiu1O7WG\r\n0vltg0VZ/SZzctBsdBlx1BkmWYBW261KZgBivrql5ELTKKd8qgtHcLQA5fl6JB0Q\r\ngs5XDaWehN86Gps5JW8ArjGtjcWAIP+X8CQaWfaCnuRm6Bk/03PQWhgdi84qwA0s\r\nsRfFJwHUPTNSnE8EiGVk2frt0u8PG1pwSQsFuNJfcYIHEv1vOzP7uEOuDydsmCjh\r\nlxuoK2n5/2aVR3BMTu+p4+gl8alXoBycyLmj3J/PUgqD8SL5fTCUegGsdia/Sa60\r\nN2oV7vQ17wjMN+LXa2rjj/b4ZlZgXVojDmAjDwIRdDUujQu0RVsJqFLMzSIHpp2C\r\nZp7mIoLrySay2YYBu7SiNwL95X6He2kS8eefBBHjzwW/9FxGqry57i71c2cDAgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQU1cFnOsKjnfR3UltZEjgp5lVou6UwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQB2oWc93fB8esci/8esixj++N22meiGDjgF\r\n+rA2LUK5IOQOgcUSTGKSqF9lYfAxPjrqPjDCUPHCURv+26ad5P/BYtXtbmtxJWu+\r\ncS5BhMDPPeG3oPZwXRHBJFAkY4O4AF7RIAAUW6EzDflUoDHKv83zOiPfYGcpHc9s\r\nkxAInCedk7QSgXvMARjjOqdakor21DTmNIUotxo8kHv5hwRlGhBJwps6fEVi1Bt0\r\ntrpM/3wYxlr473WSPUFZPgP1j519kLpWOJ8z09wxay+Br29irPcBYv0GMXlHqThy\r\n8y4m/HyTQeI2IMvMrQnwqPpY+rLIXyviI2vLoI+4xKE4Rn38ZZ8m\r\n-----END + CERTIFICATE-----\r\n"}],"hoursBetweenBackups":0,"prometheusEndpoint":{"ipAddress":"127.0.0.1"},"provisioningState":"Succeeded","repairEnabled":true,"seedNodes":[]}}]}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '11221' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:59:40 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster list + Connection: + - keep-alive + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/cassandraClusters?api-version=2021-03-01-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002","name":"cli000002","type":"Microsoft.DocumentDB/cassandraClusters","location":"eastus2","tags":{},"identity":null,"properties":{"authenticationMethod":"Cassandra","clientCertificates":[],"clusterNameOverride":"cli000002","delegatedManagementSubnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.Network/virtualNetworks/cli000005/subnets/cli000006","externalGossipCertificates":[],"gossipCertificates":[{"pem":"\r\n-----BEGIN + CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQDXvt6X2CCZZ6UmMbi90YvTANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwNTCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAKplDTmQ9afwVPQelDuu+NkxNJ084CNKnrZ21ABewE+UU4GK\r\nDnwygZdK6agNSMs5UochUEDzz9CpdV5tdPzL14O/GeE2gO5/aUFTUMG9c6neyxk5\r\ntq1WdKsPkitPws6V8MWa5d1L/y4RFhZHUsgxxUySlYlGpNcHhhsyr7EvFecZGA1M\r\nfsitAWVp6hiWANkWKINfRcdt3Z2A23hmMH9MRSGBccHiPuzwrVsSmLwvt3WlRDgO\r\nbJkE40tFYvJ6GXAQiaGHCIWSVObgO3zj6xkdbEFMmJ/zr2Wet5KEcUDtUBhA4dUU\r\noaPVz69u46V56Vscy3lXu1Ylsk84j5lUPLdsAxtultP4OPQoOTpnY8kxWkH6kgO5\r\ngTKE3HRvoVIjU4xJ0JQ746zy/8GdQA36SaNiz4U3u10zFZg2Rkv2dL1Lv58EXL02\r\nr5q5B/nhVH/M1joTvpRvaeEpAJhkIA9NkpvbGEpSdcA0OrtOOeGtrsiOyMBYkjpB\r\n5nw0cJY1QHOr3nIvJ2OnY+OKJbDSrhFqWsk8/1q6Z1WNvONz7te1pAtHerdPi5pC\r\nHeiXCNpv+fadwP0k8czaf2Vs19nYsgWn5uIyLQL8EehdBzCbOKJy9sl86S4Fqe4H\r\nGyAtmqGlaWOsq2A6O/paMi3BSmWTDbgPLCPBbPte/bsuAEF4ajkPEES3GHP9AgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUx7KcfxzjuFrv6WgaqF2UwSZSamgwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAe+G+G2RFdWtYxLIKMR5H/aVNFjNP7Jdeu\r\n+oZaKaIu7U3NidykFr994jSxMBMV768ukJ5/hLSKsuj/SLjmAfwRAZ+w0RGqi/kO\r\nvPYUlBr/sKOwr3tVkg9ccZBebnBVG+DLKTp2Ox0+jYBCPxla5FO252qpk7/6wt8S\r\nZk3diSU12Jm7if/jjkhkGB/e8UdfrKoLytDvqVeiwPA5FPzqKoSqN75byLjsIKJE\r\ndNi07SY45hN/RUnsmIoAf93qlaHR/SJWVRhrWt3JmeoBJ2RDK492zF6TGu1moh4a\r\nE6e00YkwTPWreuwvaLB220vWmtgZPs+DSIb2d9hPBdCJgvcho1c7\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQCq+mxcpjxFFB6jvh98dTFzANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMTCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAMedcDrkXufP7pxVm1FHLDNA9IjwHaMoaY8arqqZ4Gff4xyr\r\nRygnavXL7g12MPAx8Q6Dd9hfBzrfWxkF0Br2wIvlvkzW01naNVSkHp+OS3hL3W6n\r\nl/jYvZnVeJXjtsKYcXIf/6WtspcF5awlQ9LZJcjwaH7KoZuK+THpXCMtzD8XNVdm\r\nGW/JI0C/7U/E7evXn9XDio8SYkGSM63aLO5BtLCv092+1d4GGBSQYolRq+7Pd1kR\r\nEkWBPm0ywZ2Vb8GIS5DLrjelEkBnKCyy3B0yQud9dpVsiUeE7F5sY8Me96WVxQcb\r\nOyYdEY/j/9UpDlOG+vA+YgOvBhkKEjiqygVpP8EZoMMijephzg43b5Qi9r5UrvYo\r\no19oR/8pf4HJNDPF0/FJwFVMW8PmCBLGstin3NE1+NeWTkGt0TzpHjgKyfaDP2tO\r\n4bCk1G7pP2kDFT7SYfc8xbgCkFQ2UCEXsaH/f5YmpLn4YPiNFCeeIida7xnfTvc4\r\n7IxyVccHHq1FzGygOqemrxEETKh8hvDR6eBdrBwmCHVgZrnAqnn93JtGyPLi6+cj\r\nWGVGtMZHwzVvX1HvSFG771sskcEjJxiQNQDQRWHEh3NxvNb7kFlAXnVdRkkvhjpR\r\nGchFhTAzqmwltdWhWDEyCMKC2x/mSZvZtlZGY+g37Y72qHzidwtyW7rBetZJAgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUDyBd16FXlduSzyvQx8J3BM5ygHYwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAlFvNh7QgXVLAZSsNR2XRmIn9iS8OHFCBA\r\nWxKJoi8YYQafpMTkMqeuzoL3HWb1pYEipsDkhiMnrpfeYZEA7Lz7yqEEtfgHcEBs\r\nK9KcStQGGZRfmWU07hPXHnFz+5gTXqzCE2PBMlRgVUYJiA25mJPXfB00gDvGhtYa\r\n+mENwM9Bq1B9YYLyLjRtUz8cyGsdyTIG/bBM/Q9jcV8JGqMU/UjAdh1pFyTnnHEl\r\nY59Npi7F87ZqYYJEHJM2LGD+le8VsHjgeWX2CJQko7klXvcizuZvUEDTjHaQcs2J\r\n+kPgfyMIOY1DMJ21NxOJ2xPRC/wAh/hzSBRVtoAnyuxtkZ4VjIOh\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQDGrpfM7VmYOGkKAKnqUyFDANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwMjCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBAOBiO1K6Fk4fHI6t3mJkpg7lxoeUgL8tz9wuI2z0UgY8vFra\r\n3VBo7QznC4K3s9jqKWEyIQY11Le0108bSYa/TK0aioO6itpGiigEG+vH/iqtQXPS\r\nu6D804ri0NFZ1SOP9IzjYuQiK6AWntCqP4WAcZAPtpNrNLPBIyiqmiTDS4dlFg1d\r\nskMuVpT4z0MpgEMmxQnrSZ615rBQ25vnVbBNig04FCsh1V3S8ve5Gzh08oIrL/g5\r\nxq95oRrgEeOBIeiegQpoKrLYyo3R1Tt48HmSJCBYQ52Qc34RgxQdZsLXMUrWuL1J\r\nLAZP6yeo47ySSxKCjhq5/AUWvQBP3N/cP/iJzKKKw23qJ/kkVrE0DSVDiIiXWF0c\r\n9abSGhYl9SPl86IHcIAIzwelJ4SKpHrVbh0/w4YHdFi5QbdAp7O5KxfxBYhQOeHy\r\nis01zkpYn6SqUFGvbK8eZ8y9Aclt8PIUftMG6q5BhdlBZkDDV3n70RlXwYvllzfZ\r\n/nV94l+hYp+GLW7jSmpxZLG/XEz4OXtTtWwLV+IkIOe/EDF79KCazW2SXOIvVInP\r\noi1PqN4TudNv0GyBF5tRC/aBjUqply1YYfeKwgRVs83z5kuiOicmdGZKH9SqU5bn\r\nKse7IlyfZLg6yAxYyTNe7A9acJ3/pGmCIkJ/9dfLUFc4hYb3YyIIYGmqm2/3AgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQUAKuR/CFiJpeaqHkbYUGQYKliZ/0wHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQAzo/KdmWPPTaYLQW7J5DqxEiBT9QyYGUfe\r\nZd7TR1837H6DSkFa/mGM1kLwi5y9miZKA9k6T9OwTx8CflcvbNO2UkFW0VCldEGH\r\niyx5421+HpRxMQIRjligePtOtRGXwaNOQ7ySWfJhRhKcPKe2PGFHQI7/3n+T3kXQ\r\n/SLu2lk9Qs5YgSJ3VhxBUznYn1KVKJWPE07M55kuUgCquAV0PksZj7EC4nK6e/UV\r\nbPumlj1nyjlxhvNud4WYmr4ntbBev6cSbK78dpI/3cr7P/WJPYJuL0EsO3MgjS3e\r\nDCX7NXp5ylue3TcpQfRU8BL+yZC1wqX98R4ndw7X4qfGaE7SlF7I\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT\r\nMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j\r\nb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG\r\n9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI\r\n2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx\r\n1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ\r\nq2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz\r\ntCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ\r\nvIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP\r\nBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV\r\n5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY\r\n1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4\r\nNeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG\r\nFdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91\r\n8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe\r\npLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl\r\nMrY=\r\n-----END + CERTIFICATE-----\r\n"},{"pem":"\r\n-----BEGIN CERTIFICATE-----\r\nMIIF8zCCBNugAwIBAgIQAueRcfuAIek/4tmDg0xQwDANBgkqhkiG9w0BAQwFADBh\r\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\r\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\r\nMjAeFw0yMDA3MjkxMjMwMDBaFw0yNDA2MjcyMzU5NTlaMFkxCzAJBgNVBAYTAlVT\r\nMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xKjAoBgNVBAMTIU1pY3Jv\r\nc29mdCBBenVyZSBUTFMgSXNzdWluZyBDQSAwNjCCAiIwDQYJKoZIhvcNAQEBBQAD\r\nggIPADCCAgoCggIBALVGARl56bx3KBUSGuPc4H5uoNFkFH4e7pvTCxRi4j/+z+Xb\r\nwjEz+5CipDOqjx9/jWjskL5dk7PaQkzItidsAAnDCW1leZBOIi68Lff1bjTeZgMY\r\niwdRd3Y39b/lcGpiuP2d23W95YHkMMT8IlWosYIX0f4kYb62rphyfnAjYb/4Od99\r\nThnhlAxGtfvSbXcBVIKCYfZgqRvV+5lReUnd1aNjRYVzPOoifgSx2fRyy1+pO1Uz\r\naMMNnIOE71bVYW0A1hr19w7kOb0KkJXoALTDDj1ukUEDqQuBfBxReL5mXiu1O7WG\r\n0vltg0VZ/SZzctBsdBlx1BkmWYBW261KZgBivrql5ELTKKd8qgtHcLQA5fl6JB0Q\r\ngs5XDaWehN86Gps5JW8ArjGtjcWAIP+X8CQaWfaCnuRm6Bk/03PQWhgdi84qwA0s\r\nsRfFJwHUPTNSnE8EiGVk2frt0u8PG1pwSQsFuNJfcYIHEv1vOzP7uEOuDydsmCjh\r\nlxuoK2n5/2aVR3BMTu+p4+gl8alXoBycyLmj3J/PUgqD8SL5fTCUegGsdia/Sa60\r\nN2oV7vQ17wjMN+LXa2rjj/b4ZlZgXVojDmAjDwIRdDUujQu0RVsJqFLMzSIHpp2C\r\nZp7mIoLrySay2YYBu7SiNwL95X6He2kS8eefBBHjzwW/9FxGqry57i71c2cDAgMB\r\nAAGjggGtMIIBqTAdBgNVHQ4EFgQU1cFnOsKjnfR3UltZEjgp5lVou6UwHwYDVR0j\r\nBBgwFoAUTiJUIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1Ud\r\nJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMHYG\r\nCCsGAQUFBwEBBGowaDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQu\r\nY29tMEAGCCsGAQUFBzAChjRodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGln\r\naUNlcnRHbG9iYWxSb290RzIuY3J0MHsGA1UdHwR0MHIwN6A1oDOGMWh0dHA6Ly9j\r\ncmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5jcmwwN6A1oDOG\r\nMWh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEdsb2JhbFJvb3RHMi5j\r\ncmwwHQYDVR0gBBYwFDAIBgZngQwBAgEwCAYGZ4EMAQICMBAGCSsGAQQBgjcVAQQD\r\nAgEAMA0GCSqGSIb3DQEBDAUAA4IBAQB2oWc93fB8esci/8esixj++N22meiGDjgF\r\n+rA2LUK5IOQOgcUSTGKSqF9lYfAxPjrqPjDCUPHCURv+26ad5P/BYtXtbmtxJWu+\r\ncS5BhMDPPeG3oPZwXRHBJFAkY4O4AF7RIAAUW6EzDflUoDHKv83zOiPfYGcpHc9s\r\nkxAInCedk7QSgXvMARjjOqdakor21DTmNIUotxo8kHv5hwRlGhBJwps6fEVi1Bt0\r\ntrpM/3wYxlr473WSPUFZPgP1j519kLpWOJ8z09wxay+Br29irPcBYv0GMXlHqThy\r\n8y4m/HyTQeI2IMvMrQnwqPpY+rLIXyviI2vLoI+4xKE4Rn38ZZ8m\r\n-----END + CERTIFICATE-----\r\n"}],"hoursBetweenBackups":0,"prometheusEndpoint":{"ipAddress":"127.0.0.1"},"provisioningState":"Succeeded","repairEnabled":true,"seedNodes":[]}}]}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '11221' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:59:41 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -c -g --yes + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + accept-language: + - en-US + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Enqueued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:59:42 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/9afdf45c-78fd-4e86-9645-19c57cd8c17e?api-version=2021-03-01-preview + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster delete + Connection: + - keep-alive + ParameterSetName: + - -c -g --yes + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/9afdf45c-78fd-4e86-9645-19c57cd8c17e?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 20:00:12 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/9afdf45c-78fd-4e86-9645-19c57cd8c17e?api-version=2021-03-01-preview + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster delete + Connection: + - keep-alive + ParameterSetName: + - -c -g --yes + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/9afdf45c-78fd-4e86-9645-19c57cd8c17e?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 20:00:42 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/9afdf45c-78fd-4e86-9645-19c57cd8c17e?api-version=2021-03-01-preview + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster delete + Connection: + - keep-alive + ParameterSetName: + - -c -g --yes + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/9afdf45c-78fd-4e86-9645-19c57cd8c17e?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 20:01:12 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/9afdf45c-78fd-4e86-9645-19c57cd8c17e?api-version=2021-03-01-preview + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster delete + Connection: + - keep-alive + ParameterSetName: + - -c -g --yes + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/9afdf45c-78fd-4e86-9645-19c57cd8c17e?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 20:01:42 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/9afdf45c-78fd-4e86-9645-19c57cd8c17e?api-version=2021-03-01-preview + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster delete + Connection: + - keep-alive + ParameterSetName: + - -c -g --yes + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/9afdf45c-78fd-4e86-9645-19c57cd8c17e?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 20:02:14 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/9afdf45c-78fd-4e86-9645-19c57cd8c17e?api-version=2021-03-01-preview + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster delete + Connection: + - keep-alive + ParameterSetName: + - -c -g --yes + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/9afdf45c-78fd-4e86-9645-19c57cd8c17e?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 20:02:44 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/9afdf45c-78fd-4e86-9645-19c57cd8c17e?api-version=2021-03-01-preview + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster delete + Connection: + - keep-alive + ParameterSetName: + - -c -g --yes + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/9afdf45c-78fd-4e86-9645-19c57cd8c17e?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 20:03:14 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/9afdf45c-78fd-4e86-9645-19c57cd8c17e?api-version=2021-03-01-preview + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster delete + Connection: + - keep-alive + ParameterSetName: + - -c -g --yes + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/9afdf45c-78fd-4e86-9645-19c57cd8c17e?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 20:03:44 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/9afdf45c-78fd-4e86-9645-19c57cd8c17e?api-version=2021-03-01-preview + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster delete + Connection: + - keep-alive + ParameterSetName: + - -c -g --yes + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/9afdf45c-78fd-4e86-9645-19c57cd8c17e?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 20:04:14 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/9afdf45c-78fd-4e86-9645-19c57cd8c17e?api-version=2021-03-01-preview + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster delete + Connection: + - keep-alive + ParameterSetName: + - -c -g --yes + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/9afdf45c-78fd-4e86-9645-19c57cd8c17e?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 20:04:44 GMT + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/9afdf45c-78fd-4e86-9645-19c57cd8c17e?api-version=2021-03-01-preview + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - managed-cassandra cluster delete + Connection: + - keep-alive + ParameterSetName: + - -c -g --yes + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_managed_cassandra000001/providers/Microsoft.DocumentDB/cassandraClusters/cli000002/operationResults/9afdf45c-78fd-4e86-9645-19c57cd8c17e?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Succeeded"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '22' + content-type: + - application/json + date: + - Mon, 24 May 2021 20:05:14 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 200 + message: Ok +version: 1 diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_update_backup_policy_database_account.yaml b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_update_backup_policy_database_account.yaml index 3b87c516d26..aaa947292f9 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_update_backup_policy_database_account.yaml +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/recordings/test_update_backup_policy_database_account.yaml @@ -13,15 +13,15 @@ interactions: ParameterSetName: - -n -g User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-resource/12.1.0 Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_update_backup_policy_database_account000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001","name":"cli_update_backup_policy_database_account000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-01-28T22:57:14Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001","name":"cli_update_backup_policy_database_account000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-05-24T19:10:21Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -30,7 +30,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 28 Jan 2021 22:57:16 GMT + - Mon, 24 May 2021 19:10:23 GMT expires: - '-1' pragma: @@ -64,33 +64,33 @@ interactions: ParameterSetName: - -n -g User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002?api-version=2021-03-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002","name":"cli000002","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-01-28T22:57:33.7504177Z"},"properties":{"provisioningState":"Creating","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"instanceId":"732fd2de-994c-4fe5-bc96-de2ca3e08e09","createMode":"Default","databaseAccountOfferType":"Standard","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000002-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:10:26.894697Z"},"properties":{"provisioningState":"Creating","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"5f837669-29c3-4331-ab4e-6f538e7b4cf0","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000002-westus","locationName":"West US","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000002-westus","locationName":"West US","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000002-westus","locationName":"West US","provisioningState":"Creating","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000002-westus","locationName":"West - US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Periodic","periodicModeProperties":{"backupIntervalInMinutes":240,"backupRetentionIntervalInHours":8,"backupStorageRedundancy":1}}},"identity":{"type":"None"}}' + US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Periodic","periodicModeProperties":{"backupIntervalInMinutes":240,"backupRetentionIntervalInHours":8,"backupStorageRedundancy":"Geo"}},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/9a901d60-ac27-411f-9244-255372d4811c?api-version=2020-06-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/df711ecd-52b8-42b8-87dc-53369e847834?api-version=2021-03-01-preview cache-control: - no-store, no-cache content-length: - - '1939' + - '2092' content-type: - application/json date: - - Thu, 28 Jan 2021 22:57:34 GMT + - Mon, 24 May 2021 19:10:29 GMT location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/operationResults/9a901d60-ac27-411f-9244-255372d4811c?api-version=2020-06-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/operationResults/df711ecd-52b8-42b8-87dc-53369e847834?api-version=2021-03-01-preview pragma: - no-cache server: @@ -124,10 +124,10 @@ interactions: ParameterSetName: - -n -g User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/9a901d60-ac27-411f-9244-255372d4811c?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/df711ecd-52b8-42b8-87dc-53369e847834?api-version=2021-03-01-preview response: body: string: '{"status":"Dequeued"}' @@ -139,7 +139,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 22:58:04 GMT + - Mon, 24 May 2021 19:10:59 GMT pragma: - no-cache server: @@ -171,10 +171,57 @@ interactions: ParameterSetName: - -n -g User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/9a901d60-ac27-411f-9244-255372d4811c?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/df711ecd-52b8-42b8-87dc-53369e847834?api-version=2021-03-01-preview + response: + body: + string: '{"status":"Dequeued"}' + headers: + cache-control: + - no-store, no-cache + content-length: + - '21' + content-type: + - application/json + date: + - Mon, 24 May 2021 19:11:29 GMT + pragma: + - no-cache + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-gatewayversion: + - version=2.11.0 + status: + code: 200 + message: Ok +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - cosmosdb create + Connection: + - keep-alive + ParameterSetName: + - -n -g + User-Agent: + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/df711ecd-52b8-42b8-87dc-53369e847834?api-version=2021-03-01-preview response: body: string: '{"status":"Succeeded"}' @@ -186,7 +233,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 22:58:35 GMT + - Mon, 24 May 2021 19:11:59 GMT pragma: - no-cache server: @@ -218,27 +265,27 @@ interactions: ParameterSetName: - -n -g User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002?api-version=2021-03-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002","name":"cli000002","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-01-28T22:58:03.1026316Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000002.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"instanceId":"732fd2de-994c-4fe5-bc96-de2ca3e08e09","createMode":"Default","databaseAccountOfferType":"Standard","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000002-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:11:19.4387279Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000002.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"5f837669-29c3-4331-ab4e-6f538e7b4cf0","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000002-westus","locationName":"West US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000002-westus","locationName":"West US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000002-westus","locationName":"West US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000002-westus","locationName":"West - US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Periodic","periodicModeProperties":{"backupIntervalInMinutes":240,"backupRetentionIntervalInHours":8,"backupStorageRedundancy":1}}},"identity":{"type":"None"}}' + US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Periodic","periodicModeProperties":{"backupIntervalInMinutes":240,"backupRetentionIntervalInHours":8,"backupStorageRedundancy":"Geo"}},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' headers: cache-control: - no-store, no-cache content-length: - - '2344' + - '2498' content-type: - application/json date: - - Thu, 28 Jan 2021 22:58:35 GMT + - Mon, 24 May 2021 19:11:59 GMT pragma: - no-cache server: @@ -270,29 +317,29 @@ interactions: ParameterSetName: - -n -g User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002?api-version=2021-03-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002","name":"cli000002","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-01-28T22:58:03.1026316Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000002.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"instanceId":"732fd2de-994c-4fe5-bc96-de2ca3e08e09","createMode":"Default","databaseAccountOfferType":"Standard","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000002-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:11:19.4387279Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000002.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"5f837669-29c3-4331-ab4e-6f538e7b4cf0","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000002-westus","locationName":"West US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000002-westus","locationName":"West US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000002-westus","locationName":"West US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000002-westus","locationName":"West - US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Periodic","periodicModeProperties":{"backupIntervalInMinutes":240,"backupRetentionIntervalInHours":8,"backupStorageRedundancy":1}}},"identity":{"type":"None"}}' + US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Periodic","periodicModeProperties":{"backupIntervalInMinutes":240,"backupRetentionIntervalInHours":8,"backupStorageRedundancy":"Geo"}},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' headers: cache-control: - no-store, no-cache content-length: - - '2344' + - '2498' content-type: - application/json date: - - Thu, 28 Jan 2021 22:58:35 GMT + - Mon, 24 May 2021 19:11:59 GMT pragma: - no-cache server: @@ -324,29 +371,29 @@ interactions: ParameterSetName: - -n -g User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002?api-version=2021-03-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002","name":"cli000002","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-01-28T22:58:03.1026316Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000002.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"instanceId":"732fd2de-994c-4fe5-bc96-de2ca3e08e09","createMode":"Default","databaseAccountOfferType":"Standard","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000002-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:11:19.4387279Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000002.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"5f837669-29c3-4331-ab4e-6f538e7b4cf0","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000002-westus","locationName":"West US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000002-westus","locationName":"West US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000002-westus","locationName":"West US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000002-westus","locationName":"West - US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Periodic","periodicModeProperties":{"backupIntervalInMinutes":240,"backupRetentionIntervalInHours":8,"backupStorageRedundancy":1}}},"identity":{"type":"None"}}' + US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Periodic","periodicModeProperties":{"backupIntervalInMinutes":240,"backupRetentionIntervalInHours":8,"backupStorageRedundancy":"Geo"}},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' headers: cache-control: - no-store, no-cache content-length: - - '2344' + - '2498' content-type: - application/json date: - - Thu, 28 Jan 2021 22:58:36 GMT + - Mon, 24 May 2021 19:11:59 GMT pragma: - no-cache server: @@ -378,29 +425,29 @@ interactions: ParameterSetName: - -n -g --backup-interval --backup-retention User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002?api-version=2021-03-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002","name":"cli000002","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-01-28T22:58:03.1026316Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000002.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"instanceId":"732fd2de-994c-4fe5-bc96-de2ca3e08e09","createMode":"Default","databaseAccountOfferType":"Standard","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000002-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:11:19.4387279Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000002.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"5f837669-29c3-4331-ab4e-6f538e7b4cf0","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000002-westus","locationName":"West US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000002-westus","locationName":"West US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000002-westus","locationName":"West US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000002-westus","locationName":"West - US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Periodic","periodicModeProperties":{"backupIntervalInMinutes":240,"backupRetentionIntervalInHours":8,"backupStorageRedundancy":1}}},"identity":{"type":"None"}}' + US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Periodic","periodicModeProperties":{"backupIntervalInMinutes":240,"backupRetentionIntervalInHours":8,"backupStorageRedundancy":"Geo"}},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' headers: cache-control: - no-store, no-cache content-length: - - '2344' + - '2498' content-type: - application/json date: - - Thu, 28 Jan 2021 22:58:36 GMT + - Mon, 24 May 2021 19:12:00 GMT pragma: - no-cache server: @@ -437,33 +484,33 @@ interactions: ParameterSetName: - -n -g --backup-interval --backup-retention User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002?api-version=2021-03-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002","name":"cli000002","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-01-28T22:58:03.1026316Z"},"properties":{"provisioningState":"Updating","documentEndpoint":"https://cli000002.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"instanceId":"732fd2de-994c-4fe5-bc96-de2ca3e08e09","createMode":"Default","databaseAccountOfferType":"Standard","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000002-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:11:19.4387279Z"},"properties":{"provisioningState":"Updating","documentEndpoint":"https://cli000002.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"5f837669-29c3-4331-ab4e-6f538e7b4cf0","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000002-westus","locationName":"West US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Updating","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000002-westus","locationName":"West US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Updating","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000002-westus","locationName":"West US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Updating","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000002-westus","locationName":"West - US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Periodic","periodicModeProperties":{"backupIntervalInMinutes":240,"backupRetentionIntervalInHours":8,"backupStorageRedundancy":1}}},"identity":{"type":"None"}}' + US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Periodic","periodicModeProperties":{"backupIntervalInMinutes":240,"backupRetentionIntervalInHours":8,"backupStorageRedundancy":"Geo"}},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/5d378897-d4f2-4ba4-8ad0-d2055a6f71ae?api-version=2020-06-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/23db488f-a091-41ad-be94-b7062d5c784b?api-version=2021-03-01-preview cache-control: - no-store, no-cache content-length: - - '2340' + - '2494' content-type: - application/json date: - - Thu, 28 Jan 2021 22:58:40 GMT + - Mon, 24 May 2021 19:12:02 GMT location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/operationResults/5d378897-d4f2-4ba4-8ad0-d2055a6f71ae?api-version=2020-06-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002/operationResults/23db488f-a091-41ad-be94-b7062d5c784b?api-version=2021-03-01-preview pragma: - no-cache server: @@ -497,10 +544,10 @@ interactions: ParameterSetName: - -n -g --backup-interval --backup-retention User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/5d378897-d4f2-4ba4-8ad0-d2055a6f71ae?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/23db488f-a091-41ad-be94-b7062d5c784b?api-version=2021-03-01-preview response: body: string: '{"status":"Succeeded"}' @@ -512,7 +559,7 @@ interactions: content-type: - application/json date: - - Thu, 28 Jan 2021 22:59:11 GMT + - Mon, 24 May 2021 19:12:33 GMT pragma: - no-cache server: @@ -544,27 +591,27 @@ interactions: ParameterSetName: - -n -g --backup-interval --backup-retention User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002?api-version=2021-03-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002","name":"cli000002","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-01-28T22:58:03.1026316Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000002.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"instanceId":"732fd2de-994c-4fe5-bc96-de2ca3e08e09","createMode":"Default","databaseAccountOfferType":"Standard","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000002-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:11:19.4387279Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000002.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"5f837669-29c3-4331-ab4e-6f538e7b4cf0","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000002-westus","locationName":"West US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000002-westus","locationName":"West US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000002-westus","locationName":"West US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000002-westus","locationName":"West - US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Periodic","periodicModeProperties":{"backupIntervalInMinutes":120,"backupRetentionIntervalInHours":8,"backupStorageRedundancy":1}}},"identity":{"type":"None"}}' + US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Periodic","periodicModeProperties":{"backupIntervalInMinutes":120,"backupRetentionIntervalInHours":8,"backupStorageRedundancy":"Geo"}},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' headers: cache-control: - no-store, no-cache content-length: - - '2344' + - '2498' content-type: - application/json date: - - Thu, 28 Jan 2021 22:59:12 GMT + - Mon, 24 May 2021 19:12:33 GMT pragma: - no-cache server: @@ -596,29 +643,29 @@ interactions: ParameterSetName: - -n -g --backup-interval --backup-retention User-Agent: - - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.20 msrest_azure/0.6.4 - azure-mgmt-cosmosdb/2.0.0rc1 Azure-SDK-For-Python AZURECLI/2.18.0 + - python/3.8.4 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-cosmosdb/4.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002?api-version=2020-06-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002?api-version=2021-03-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_update_backup_policy_database_account000001/providers/Microsoft.DocumentDB/databaseAccounts/cli000002","name":"cli000002","location":"West - US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-01-28T22:58:03.1026316Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000002.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"instanceId":"732fd2de-994c-4fe5-bc96-de2ca3e08e09","createMode":"Default","databaseAccountOfferType":"Standard","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000002-westus","locationName":"West + US","type":"Microsoft.DocumentDB/databaseAccounts","kind":"GlobalDocumentDB","tags":{},"systemData":{"createdAt":"2021-05-24T19:11:19.4387279Z"},"properties":{"provisioningState":"Succeeded","documentEndpoint":"https://cli000002.documents.azure.com:443/","publicNetworkAccess":"Enabled","enableAutomaticFailover":false,"enableMultipleWriteLocations":false,"enablePartitionKeyMonitor":false,"isVirtualNetworkFilterEnabled":false,"virtualNetworkRules":[],"EnabledApiTypes":"Sql","disableKeyBasedMetadataWriteAccess":false,"enableFreeTier":false,"enableAnalyticalStorage":false,"analyticalStorageConfiguration":null,"instanceId":"5f837669-29c3-4331-ab4e-6f538e7b4cf0","createMode":"Default","databaseAccountOfferType":"Standard","enableCassandraConnector":false,"connectorOffer":"","networkAclBypass":"None","consistencyPolicy":{"defaultConsistencyLevel":"Session","maxIntervalInSeconds":5,"maxStalenessPrefix":100},"configurationOverrides":{},"writeLocations":[{"id":"cli000002-westus","locationName":"West US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"readLocations":[{"id":"cli000002-westus","locationName":"West US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"locations":[{"id":"cli000002-westus","locationName":"West US","documentEndpoint":"https://cli000002-westus.documents.azure.com:443/","provisioningState":"Succeeded","failoverPriority":0,"isZoneRedundant":false}],"failoverPolicies":[{"id":"cli000002-westus","locationName":"West - US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Periodic","periodicModeProperties":{"backupIntervalInMinutes":120,"backupRetentionIntervalInHours":8,"backupStorageRedundancy":1}}},"identity":{"type":"None"}}' + US","failoverPriority":0}],"cors":[],"capabilities":[],"ipRules":[],"backupPolicy":{"type":"Periodic","periodicModeProperties":{"backupIntervalInMinutes":120,"backupRetentionIntervalInHours":8,"backupStorageRedundancy":"Geo"}},"networkAclBypassResourceIds":[]},"identity":{"type":"None"}}' headers: cache-control: - no-store, no-cache content-length: - - '2344' + - '2498' content-type: - application/json date: - - Thu, 28 Jan 2021 22:59:12 GMT + - Mon, 24 May 2021 19:12:33 GMT pragma: - no-cache server: diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/test_cosmosdb-cassandrami_scenario.py b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/test_cosmosdb-cassandrami_scenario.py index 1e4aa91cdf4..85b75069f53 100644 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/test_cosmosdb-cassandrami_scenario.py +++ b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/test_cosmosdb-cassandrami_scenario.py @@ -4,7 +4,7 @@ # -------------------------------------------------------------------------------------------- import os -import unittest +import mock from azure_devtools.scenario_tests import AllowLargeResponse from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer) @@ -94,7 +94,8 @@ def create_subnet(self, resource_group): }) # Role Assignment. - vnet_resource = self.cmd('az role assignment create --assignee e5007d2c-4b13-4a74-9b6a-605d99f03501 --role 4d97b98b-1d4f-4787-a291-c67834d212e7 --scope {vnet_id}') + with mock.patch('azure.cli.command_modules.role.custom._gen_guid', side_effect=self.create_guid): + vnet_resource = self.cmd('az role assignment create --assignee e5007d2c-4b13-4a74-9b6a-605d99f03501 --role 4d97b98b-1d4f-4787-a291-c67834d212e7 --scope {vnet_id}') # Get Delegated subnet id. subnet_resource = self.cmd('az network vnet subnet show -g {rg} --vnet-name {vnet} --name {subnet}').get_output_in_json() diff --git a/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/test_cosmosdb-rbac_scenario.py b/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/test_cosmosdb-rbac_scenario.py deleted file mode 100644 index c33c37851a0..00000000000 --- a/src/cosmosdb-preview/azext_cosmosdb_preview/tests/latest/test_cosmosdb-rbac_scenario.py +++ /dev/null @@ -1,123 +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.testsdk import (ScenarioTest, ResourceGroupPreparer) - - -class Cosmosdb_previewRbacScenarioTest(ScenarioTest): - - @ResourceGroupPreparer(name_prefix='cli_test_cosmosdb_sql_role') - def test_cosmosdb_sql_role(self, resource_group): - acc_name = self.create_random_name(prefix='cli', length=15) - db_name = self.create_random_name(prefix='cli', length=15) - - subscription = self.get_subscription_id() - role_def_id = 'be79875a-2cc4-40d5-8958-566017875b39' - role_def_id2 = '6328f5f7-dbf7-4244-bba8-fbb9d8066506' - role_assignment_id = 'cb8ed2d7-2371-4e3c-bd31-6cc1560e84f8' - role_assignment_id2 = '09d117e6-ab6a-4a8b-948a-c6c34aa631db' - role_definition_create_body = ' {{ \\"Id\\": \\"{0}\\", \\"RoleName\\": \\"roleName\\", \\"Type\\": \\"CustomRole\\", \\"AssignableScopes\\": [ \\"/\\" ], \\"DataActions\\": [ \\"Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create\\", \\"Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read\\" ] }} '.format(role_def_id) - role_definition_update_body = ' {{ \\"Id\\": \\"{0}\\", \\"RoleName\\": \\"roleName2\\", \\"Type\\": \\"CustomRole\\", \\"AssignableScopes\\": [ \\"/\\" ], \\"Permissions\\": [ {{ \\"DataActions\\": [ \\"Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create\\" ] }}, {{ \\"DataActions\\": [ \\"Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read\\" ] }} ] }}'.format(role_def_id) - role_definition_create_body2 = ' {{ \\"Id\\": \\"{0}\\", \\"RoleName\\": \\"roleName3\\", \\"Type\\": \\"CustomRole\\", \\"AssignableScopes\\": [ \\"/\\" ], \\"Permissions\\": [ {{ \\"DataActions\\": [ \\"Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/create\\" ] }}, {{ \\"DataActions\\": [ \\"Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read\\" ] }}, {{ \\"DataActions\\": [ \\"Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/replace\\" ] }} ] }}'.format(role_def_id2) - fully_qualified_role_def_id = '/subscriptions/{0}/resourceGroups/{1}/providers/Microsoft.DocumentDB/databaseAccounts/{2}/sqlRoleDefinitions/{3}'.format(subscription, resource_group, acc_name, role_def_id) - fully_qualified_role_def_id2 = '/subscriptions/{0}/resourceGroups/{1}/providers/Microsoft.DocumentDB/databaseAccounts/{2}/sqlRoleDefinitions/{3}'.format(subscription, resource_group, acc_name, role_def_id2) - fully_qualified_role_assignment_id = '/subscriptions/{0}/resourceGroups/{1}/providers/Microsoft.DocumentDB/databaseAccounts/{2}/sqlRoleAssignments/{3}'.format(subscription, resource_group, acc_name, role_assignment_id) - fully_qualified_role_assignment_id2 = '/subscriptions/{0}/resourceGroups/{1}/providers/Microsoft.DocumentDB/databaseAccounts/{2}/sqlRoleAssignments/{3}'.format(subscription, resource_group, acc_name, role_assignment_id2) - assignable_scope = '/subscriptions/{0}/resourceGroups/{1}/providers/Microsoft.DocumentDB/databaseAccounts/{2}'.format(subscription, resource_group, acc_name) - scope = '/subscriptions/{0}/resourceGroups/{1}/providers/Microsoft.DocumentDB/databaseAccounts/{2}/dbs/{3}'.format(subscription, resource_group, acc_name, db_name) - principal_id = 'ed4c2395-a18c-4018-afb3-6e521e7534d2' - - self.kwargs.update({ - 'acc': acc_name, - 'db_name': db_name, - 'create_body': role_definition_create_body, - 'update_body': role_definition_update_body, - 'create_body2': role_definition_create_body2, - 'role_def_id': role_def_id, - 'fully_qualified_role_def_id': fully_qualified_role_def_id, - 'role_def_id2': role_def_id2, - 'fully_qualified_role_def_id2': fully_qualified_role_def_id2, - 'role_assignment_id': role_assignment_id, - 'role_assignment_id2': role_assignment_id2, - 'fully_qualified_role_assignment_id': fully_qualified_role_assignment_id, - 'fully_qualified_role_assignment_id2': fully_qualified_role_assignment_id2, - 'scope': scope, - 'principal_id': principal_id - }) - - self.cmd('az cosmosdb create -n {acc} -g {rg} --locations regionName=eastus2') - self.cmd('az cosmosdb sql database create -g {rg} -a {acc} -n {db_name}') - self.cmd('az cosmosdb sql role definition create -g {rg} -a {acc} -b "{create_body}"', checks=[ - self.check('id', fully_qualified_role_def_id), - self.check('roleName', 'roleName'), - self.check('sqlRoleDefinitionGetResultsType', 'CustomRole'), - self.check('assignableScopes[0]', assignable_scope), - self.check('length(permissions)', 1) - ]) - - assert self.cmd('az cosmosdb sql role definition exists -g {rg} -a {acc} -i {role_def_id}').get_output_in_json() - - self.cmd('az cosmosdb sql role definition show -g {rg} -a {acc} -i {role_def_id}', checks=[ - self.check('roleName', 'roleName') - ]) - - self.cmd('az cosmosdb sql role definition update -g {rg} -a {acc} -b "{update_body}"', checks=[ - self.check('id', fully_qualified_role_def_id), - self.check('roleName', 'roleName2'), - self.check('sqlRoleDefinitionGetResultsType', 'CustomRole'), - self.check('assignableScopes[0]', assignable_scope), - self.check('length(permissions)', 2) - ]) - - self.cmd('az cosmosdb sql role definition create -g {rg} -a {acc} -b "{create_body2}"', checks=[ - self.check('id', fully_qualified_role_def_id2), - self.check('roleName', 'roleName3'), - self.check('sqlRoleDefinitionGetResultsType', 'CustomRole'), - self.check('assignableScopes[0]', assignable_scope), - self.check('length(permissions)', 3) - ]) - - role_definition_list = self.cmd('az cosmosdb sql role definition list -g {rg} -a {acc}').get_output_in_json() - assert len(role_definition_list) == 2 - - self.cmd('az cosmosdb sql role assignment create -g {rg} -a {acc} -s {scope} -p {principal_id} -d {fully_qualified_role_def_id} -i {role_assignment_id}', checks=[ - self.check('id', fully_qualified_role_assignment_id), - self.check('roleDefinitionId', fully_qualified_role_def_id), - self.check('scope', scope), - self.check('principalId', principal_id) - ]) - - assert self.cmd('az cosmosdb sql role assignment exists -g {rg} -a {acc} -i {role_assignment_id}').get_output_in_json() - - self.cmd('az cosmosdb sql role assignment show -g {rg} -a {acc} -i {role_assignment_id}', checks=[ - self.check('id', fully_qualified_role_assignment_id) - ]) - - self.cmd('az cosmosdb sql role assignment update -g {rg} -a {acc} -d {role_def_id2} -i {fully_qualified_role_assignment_id}', checks=[ - self.check('id', fully_qualified_role_assignment_id), - self.check('roleDefinitionId', fully_qualified_role_def_id2), - self.check('scope', scope), - self.check('principalId', principal_id) - ]) - - self.cmd('az cosmosdb sql role assignment create -g {rg} -a {acc} -s {scope} -p {principal_id} -n roleName2 -i {role_assignment_id2}', checks=[ - self.check('id', fully_qualified_role_assignment_id2), - self.check('roleDefinitionId', fully_qualified_role_def_id), - self.check('scope', scope), - self.check('principalId', principal_id) - ]) - - role_assignment_list = self.cmd('az cosmosdb sql role assignment list -g {rg} -a {acc}').get_output_in_json() - assert len(role_assignment_list) == 2 - - self.cmd('az cosmosdb sql role assignment delete -g {rg} -a {acc} -i {role_assignment_id} --yes') - self.cmd('az cosmosdb sql role assignment delete -g {rg} -a {acc} -i {role_assignment_id2} --yes') - role_assignment_list = self.cmd('az cosmosdb sql role assignment list -g {rg} -a {acc}').get_output_in_json() - assert len(role_assignment_list) == 0 - - self.cmd('az cosmosdb sql role definition delete -g {rg} -a {acc} -i {role_def_id} --yes') - self.cmd('az cosmosdb sql role definition delete -g {rg} -a {acc} -i {fully_qualified_role_def_id2} --yes') - role_definition_list = self.cmd('az cosmosdb sql role definition list -g {rg} -a {acc}').get_output_in_json() - assert len(role_definition_list) == 0 diff --git a/src/cosmosdb-preview/setup.py b/src/cosmosdb-preview/setup.py index 6a3cf769468..c9dead72b2d 100644 --- a/src/cosmosdb-preview/setup.py +++ b/src/cosmosdb-preview/setup.py @@ -16,7 +16,7 @@ # TODO: Confirm this is the right version number you want and it matches your # HISTORY.rst entry. -VERSION = '0.6.0' +VERSION = '0.7.0' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers diff --git a/src/service_name.json b/src/service_name.json index 1aca3d20c18..c2abb6ec5ff 100644 --- a/src/service_name.json +++ b/src/service_name.json @@ -229,6 +229,11 @@ "AzureServiceName": "Azure Virtual Machines", "URL": "https://docs.microsoft.com/azure/virtual-machines/maintenance-control-cli" }, + { + "Command": "az cosmosdb", + "AzureServiceName": "Azure Cosmos DB", + "URL": "https://docs.microsoft.com/azure/cosmos-db/" + }, { "Command": "az managed-cassandra", "AzureServiceName": "Azure Cosmos DB", From 93519324761ea5481bff00e80f9b0f7ca19b019b Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Tue, 25 May 2021 17:09:06 +0800 Subject: [PATCH 48/83] [Release] Update index.json for extension [ cosmosdb-preview ] (#3425) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=911079 Last commit: https://github.com/Azure/azure-cli-extensions/commit/e7293f8436442acb96707d03f2d8de5f2a9006d7 --- src/index.json | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/src/index.json b/src/index.json index 40234a6efab..24884384bda 100644 --- a/src/index.json +++ b/src/index.json @@ -7289,6 +7289,49 @@ "version": "0.6.0" }, "sha256Digest": "6132e8c9597e3ab57657b6f3607e19c457e9a08a82a1c1b4825b8ed4ae02c04b" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/cosmosdb_preview-0.7.0-py2.py3-none-any.whl", + "filename": "cosmosdb_preview-0.7.0-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.17.1", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "kakhandr@microsoft.com", + "name": "Kalyan khandrika", + "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": "cosmosdb-preview", + "summary": "Microsoft Azure Command-Line Tools Cosmosdb-preview Extension", + "version": "0.7.0" + }, + "sha256Digest": "c11b611e3c8eeaaf2b6a5ca935ae7e6072834be77a777f1749d7c9c6419ae55a" } ], "costmanagement": [ From 4dd4a094289cd2733733e98233c73bf646aca6a1 Mon Sep 17 00:00:00 2001 From: Zunli Hu Date: Tue, 25 May 2021 17:32:58 +0800 Subject: [PATCH 49/83] {diskpool} Add new module `az disk-pool` (#2882) * add storagepool * refine design * add diskpool * refine help * regenerate * support postional args * support postional args * regenerage * regenerage * upgrade version * refine readme * table transform * regenerate * 0.2.1 * generated with commit 3ae1665 * change deallocate to stop * add manual test * add list-skus * test pass * regenerate * fix style * fix style * fix style * regenerate * add files and fix cred * remove * add option * add codeowner * add service name * remove generated test --- .github/CODEOWNERS | 2 + scripts/ci/credscan/CredScanSuppressions.json | 8 +- src/diskpool/HISTORY.rst | 8 + src/diskpool/README.md | 64 + src/diskpool/azext_diskpool/__init__.py | 53 + src/diskpool/azext_diskpool/_help.py | 20 + src/diskpool/azext_diskpool/action.py | 20 + .../azext_diskpool/azext_metadata.json | 4 + src/diskpool/azext_diskpool/custom.py | 20 + .../azext_diskpool/generated/__init__.py | 12 + .../generated/_client_factory.py | 28 + .../azext_diskpool/generated/_help.py | 263 + .../azext_diskpool/generated/_params.py | 130 + .../azext_diskpool/generated/_validators.py | 9 + .../azext_diskpool/generated/action.py | 249 + .../azext_diskpool/generated/commands.py | 55 + .../azext_diskpool/generated/custom.py | 171 + .../azext_diskpool/manual/__init__.py | 12 + src/diskpool/azext_diskpool/manual/_help.py | 23 + src/diskpool/azext_diskpool/manual/_params.py | 26 + .../azext_diskpool/manual/_transformers.py | 42 + .../azext_diskpool/manual/commands.py | 24 + src/diskpool/azext_diskpool/tests/__init__.py | 116 + .../azext_diskpool/tests/latest/__init__.py | 12 + ...est_diskpool_list_sku_scenario_manual.yaml | 48 + .../test_diskpool_scenario_manual.yaml | 5185 +++++++++++++++++ .../tests/latest/test_disk_scenario_manual.py | 116 + .../latest/test_diskpool_scenario_coverage.md | 2 + .../azext_diskpool/vendored_sdks/__init__.py | 12 + .../vendored_sdks/storagepool/__init__.py | 16 + .../storagepool/_configuration.py | 70 + .../storagepool/_storage_pool_management.py | 85 + .../vendored_sdks/storagepool/aio/__init__.py | 10 + .../storagepool/aio/_configuration.py | 66 + .../aio/_storage_pool_management.py | 79 + .../storagepool/aio/operations/__init__.py | 19 + .../operations/_disk_pool_zones_operations.py | 113 + .../aio/operations/_disk_pools_operations.py | 900 +++ .../operations/_iscsi_targets_operations.py | 568 ++ .../storagepool/aio/operations/_operations.py | 105 + .../storagepool/models/__init__.py | 110 + .../storagepool/models/_models.py | 1079 ++++ .../storagepool/models/_models_py3.py | 1182 ++++ .../models/_storage_pool_management_enums.py | 77 + .../storagepool/operations/__init__.py | 19 + .../operations/_disk_pool_zones_operations.py | 118 + .../operations/_disk_pools_operations.py | 918 +++ .../operations/_iscsi_targets_operations.py | 580 ++ .../storagepool/operations/_operations.py | 110 + .../vendored_sdks/storagepool/py.typed | 1 + src/diskpool/gen.zip | Bin 0 -> 12264 bytes src/diskpool/report.md | 238 + src/diskpool/setup.cfg | 1 + src/diskpool/setup.py | 58 + src/service_name.json | 5 + 55 files changed, 13260 insertions(+), 1 deletion(-) create mode 100644 src/diskpool/HISTORY.rst create mode 100644 src/diskpool/README.md create mode 100644 src/diskpool/azext_diskpool/__init__.py create mode 100644 src/diskpool/azext_diskpool/_help.py create mode 100644 src/diskpool/azext_diskpool/action.py create mode 100644 src/diskpool/azext_diskpool/azext_metadata.json create mode 100644 src/diskpool/azext_diskpool/custom.py create mode 100644 src/diskpool/azext_diskpool/generated/__init__.py create mode 100644 src/diskpool/azext_diskpool/generated/_client_factory.py create mode 100644 src/diskpool/azext_diskpool/generated/_help.py create mode 100644 src/diskpool/azext_diskpool/generated/_params.py create mode 100644 src/diskpool/azext_diskpool/generated/_validators.py create mode 100644 src/diskpool/azext_diskpool/generated/action.py create mode 100644 src/diskpool/azext_diskpool/generated/commands.py create mode 100644 src/diskpool/azext_diskpool/generated/custom.py create mode 100644 src/diskpool/azext_diskpool/manual/__init__.py create mode 100644 src/diskpool/azext_diskpool/manual/_help.py create mode 100644 src/diskpool/azext_diskpool/manual/_params.py create mode 100644 src/diskpool/azext_diskpool/manual/_transformers.py create mode 100644 src/diskpool/azext_diskpool/manual/commands.py create mode 100644 src/diskpool/azext_diskpool/tests/__init__.py create mode 100644 src/diskpool/azext_diskpool/tests/latest/__init__.py create mode 100644 src/diskpool/azext_diskpool/tests/latest/recordings/test_diskpool_list_sku_scenario_manual.yaml create mode 100644 src/diskpool/azext_diskpool/tests/latest/recordings/test_diskpool_scenario_manual.yaml create mode 100644 src/diskpool/azext_diskpool/tests/latest/test_disk_scenario_manual.py create mode 100644 src/diskpool/azext_diskpool/tests/latest/test_diskpool_scenario_coverage.md create mode 100644 src/diskpool/azext_diskpool/vendored_sdks/__init__.py create mode 100644 src/diskpool/azext_diskpool/vendored_sdks/storagepool/__init__.py create mode 100644 src/diskpool/azext_diskpool/vendored_sdks/storagepool/_configuration.py create mode 100644 src/diskpool/azext_diskpool/vendored_sdks/storagepool/_storage_pool_management.py create mode 100644 src/diskpool/azext_diskpool/vendored_sdks/storagepool/aio/__init__.py create mode 100644 src/diskpool/azext_diskpool/vendored_sdks/storagepool/aio/_configuration.py create mode 100644 src/diskpool/azext_diskpool/vendored_sdks/storagepool/aio/_storage_pool_management.py create mode 100644 src/diskpool/azext_diskpool/vendored_sdks/storagepool/aio/operations/__init__.py create mode 100644 src/diskpool/azext_diskpool/vendored_sdks/storagepool/aio/operations/_disk_pool_zones_operations.py create mode 100644 src/diskpool/azext_diskpool/vendored_sdks/storagepool/aio/operations/_disk_pools_operations.py create mode 100644 src/diskpool/azext_diskpool/vendored_sdks/storagepool/aio/operations/_iscsi_targets_operations.py create mode 100644 src/diskpool/azext_diskpool/vendored_sdks/storagepool/aio/operations/_operations.py create mode 100644 src/diskpool/azext_diskpool/vendored_sdks/storagepool/models/__init__.py create mode 100644 src/diskpool/azext_diskpool/vendored_sdks/storagepool/models/_models.py create mode 100644 src/diskpool/azext_diskpool/vendored_sdks/storagepool/models/_models_py3.py create mode 100644 src/diskpool/azext_diskpool/vendored_sdks/storagepool/models/_storage_pool_management_enums.py create mode 100644 src/diskpool/azext_diskpool/vendored_sdks/storagepool/operations/__init__.py create mode 100644 src/diskpool/azext_diskpool/vendored_sdks/storagepool/operations/_disk_pool_zones_operations.py create mode 100644 src/diskpool/azext_diskpool/vendored_sdks/storagepool/operations/_disk_pools_operations.py create mode 100644 src/diskpool/azext_diskpool/vendored_sdks/storagepool/operations/_iscsi_targets_operations.py create mode 100644 src/diskpool/azext_diskpool/vendored_sdks/storagepool/operations/_operations.py create mode 100644 src/diskpool/azext_diskpool/vendored_sdks/storagepool/py.typed create mode 100644 src/diskpool/gen.zip create mode 100644 src/diskpool/report.md create mode 100644 src/diskpool/setup.cfg create mode 100644 src/diskpool/setup.py diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 940c7ae84e9..bda2c789d63 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -193,3 +193,5 @@ /src/webpubsub/ @zackliu /src/connectedvmware/ @sanmishra18 + +/src/diskpool/ @Juliehzl diff --git a/scripts/ci/credscan/CredScanSuppressions.json b/scripts/ci/credscan/CredScanSuppressions.json index 0c3916a440f..7ba3b3ab067 100644 --- a/scripts/ci/credscan/CredScanSuppressions.json +++ b/scripts/ci/credscan/CredScanSuppressions.json @@ -100,11 +100,17 @@ ], "_justification": "dummy passwords for one-off resources" }, - { + { "file": [ "src\\storage-blob-preview\\azext_storage_blob_preview\\tests\\latest\\recordings\\test_storage_blob_incremental_copy.yaml" ], "_justification": "[Storage] response body contains random value recognized as secret in outdated recoding files of storage may remove in the future" + }, + { + "file": [ + "src\\diskpool\\README.md" + ], + "_justification": "Faked password" } ] } diff --git a/src/diskpool/HISTORY.rst b/src/diskpool/HISTORY.rst new file mode 100644 index 00000000000..1c139576ba0 --- /dev/null +++ b/src/diskpool/HISTORY.rst @@ -0,0 +1,8 @@ +.. :changelog: + +Release History +=============== + +0.1.0 +++++++ +* Initial release. diff --git a/src/diskpool/README.md b/src/diskpool/README.md new file mode 100644 index 00000000000..d895aaad5cc --- /dev/null +++ b/src/diskpool/README.md @@ -0,0 +1,64 @@ +# Azure CLI Extension # +This is the extension for diskpool + +### How to use ### +Install this extension using the below CLI command +``` +az extension add -s https://zuhdefault.blob.core.windows.net/cliext/diskpool-0.2.0-py3-none-any.whl +``` + +### Included Features ### +#### disk-pool #### +##### Create ##### +``` +az disk-pool create --name "myDiskPool" --location "westus" --availability-zones "1" \ + --disks id="/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/vm-name_DataDisk_0" \ + --disks id="/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/vm-name_DataDisk_1" \ + --subnet-id "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/mysubnet" \ + --sku name="Standard_ABC" --tags key="value" --resource-group "myResourceGroup" + +az disk-pool wait --created --name "myDiskPool" --resource-group "myResourceGroup" +``` +##### Show ##### +``` +az disk-pool show --name "myDiskPool" --resource-group "myResourceGroup" +``` +##### List ##### +``` +az disk-pool list --resource-group "myResourceGroup" +``` +##### Update ##### +``` +az disk-pool update --name "myDiskPool" --location "westus" --availability-zones "1" \ + --disks id="/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/vm-name_DataDisk_0" \ + --disks id="/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/vm-name_DataDisk_1" \ + --subnet-id "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/mysubnet" \ + --tags key="value" --resource-group "myResourceGroup" +``` +##### Delete ##### +``` +az disk-pool delete --name "myDiskPool" --resource-group "myResourceGroup" +``` +#### disk-pool iscsi-target #### +##### Create ##### +``` +az disk-pool iscsi-target create --disk-pool-name "myDiskPool" --name "myIscsiTarget" \ + --target-iqn "iqn.2005-03.org.iscsi:server1" \ + --tpgs "[{\\"acls\\":[{\\"credentials\\":{\\"password\\":\\"some_pa$$word\\",\\"username\\":\\"some_username\\"},\\"initiatorIqn\\":\\"iqn.2005-03.org.iscsi:client\\",\\"mappedLuns\\":[\\"lun0\\"]}],\\"attributes\\":{\\"authentication\\":true,\\"prodModeWriteProtect\\":false},\\"luns\\":[{\\"name\\":\\"lun0\\",\\"managedDiskAzureResourceId\\":\\"/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/vm-name_DataDisk_1\\"}]}]" \ + --resource-group "myResourceGroup" + +az disk-pool iscsi-target wait --created --name "myIscsiTarget" --resource-group "myResourceGroup" +``` +##### Show ##### +``` +az disk-pool iscsi-target show --disk-pool-name "myDiskPool" --name "myIscsiTarget" --resource-group "myResourceGroup" +``` +##### List ##### +``` +az disk-pool iscsi-target list --disk-pool-name "myDiskPool" --resource-group "myResourceGroup" +``` +##### Delete ##### +``` +az disk-pool iscsi-target delete --disk-pool-name "myDiskPool" --name "myIscsiTarget" \ + --resource-group "myResourceGroup" +``` \ No newline at end of file diff --git a/src/diskpool/azext_diskpool/__init__.py b/src/diskpool/azext_diskpool/__init__.py new file mode 100644 index 00000000000..2b5cb0acbde --- /dev/null +++ b/src/diskpool/azext_diskpool/__init__.py @@ -0,0 +1,53 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=unused-import + +import azext_diskpool._help +from azure.cli.core import AzCommandsLoader + + +class StoragePoolManagementCommandsLoader(AzCommandsLoader): + + def __init__(self, cli_ctx=None): + from azure.cli.core.commands import CliCommandType + from azext_diskpool.generated._client_factory import cf_diskpool_cl + diskpool_custom = CliCommandType( + operations_tmpl='azext_diskpool.custom#{}', + client_factory=cf_diskpool_cl) + parent = super(StoragePoolManagementCommandsLoader, self) + parent.__init__(cli_ctx=cli_ctx, custom_command_type=diskpool_custom) + + def load_command_table(self, args): + from azext_diskpool.generated.commands import load_command_table + load_command_table(self, args) + try: + from azext_diskpool.manual.commands import load_command_table as load_command_table_manual + load_command_table_manual(self, args) + except ImportError as e: + if e.name.endswith('manual.commands'): + pass + else: + raise e + return self.command_table + + def load_arguments(self, command): + from azext_diskpool.generated._params import load_arguments + load_arguments(self, command) + try: + from azext_diskpool.manual._params import load_arguments as load_arguments_manual + load_arguments_manual(self, command) + except ImportError as e: + if e.name.endswith('manual._params'): + pass + else: + raise e + + +COMMAND_LOADER_CLS = StoragePoolManagementCommandsLoader diff --git a/src/diskpool/azext_diskpool/_help.py b/src/diskpool/azext_diskpool/_help.py new file mode 100644 index 00000000000..9b93f87a6e9 --- /dev/null +++ b/src/diskpool/azext_diskpool/_help.py @@ -0,0 +1,20 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=wildcard-import +# pylint: disable=unused-wildcard-import +# pylint: disable=unused-import +from .generated._help import helps # pylint: disable=reimported +try: + from .manual._help import helps # pylint: disable=reimported +except ImportError as e: + if e.name.endswith('manual._help'): + pass + else: + raise e diff --git a/src/diskpool/azext_diskpool/action.py b/src/diskpool/azext_diskpool/action.py new file mode 100644 index 00000000000..9b3d0a8a78c --- /dev/null +++ b/src/diskpool/azext_diskpool/action.py @@ -0,0 +1,20 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=wildcard-import +# pylint: disable=unused-wildcard-import + +from .generated.action import * # noqa: F403 +try: + from .manual.action import * # noqa: F403 +except ImportError as e: + if e.name.endswith('manual.action'): + pass + else: + raise e diff --git a/src/diskpool/azext_diskpool/azext_metadata.json b/src/diskpool/azext_diskpool/azext_metadata.json new file mode 100644 index 00000000000..cfc30c747c7 --- /dev/null +++ b/src/diskpool/azext_diskpool/azext_metadata.json @@ -0,0 +1,4 @@ +{ + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.15.0" +} \ No newline at end of file diff --git a/src/diskpool/azext_diskpool/custom.py b/src/diskpool/azext_diskpool/custom.py new file mode 100644 index 00000000000..885447229d6 --- /dev/null +++ b/src/diskpool/azext_diskpool/custom.py @@ -0,0 +1,20 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=wildcard-import +# pylint: disable=unused-wildcard-import + +from .generated.custom import * # noqa: F403 +try: + from .manual.custom import * # noqa: F403 +except ImportError as e: + if e.name.endswith('manual.custom'): + pass + else: + raise e diff --git a/src/diskpool/azext_diskpool/generated/__init__.py b/src/diskpool/azext_diskpool/generated/__init__.py new file mode 100644 index 00000000000..c9cfdc73e77 --- /dev/null +++ b/src/diskpool/azext_diskpool/generated/__init__.py @@ -0,0 +1,12 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) diff --git a/src/diskpool/azext_diskpool/generated/_client_factory.py b/src/diskpool/azext_diskpool/generated/_client_factory.py new file mode 100644 index 00000000000..cd3bcf51fee --- /dev/null +++ b/src/diskpool/azext_diskpool/generated/_client_factory.py @@ -0,0 +1,28 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + + +def cf_diskpool_cl(cli_ctx, *_): + from azure.cli.core.commands.client_factory import get_mgmt_service_client + from azext_diskpool.vendored_sdks.storagepool import StoragePoolManagement + return get_mgmt_service_client(cli_ctx, + StoragePoolManagement) + + +def cf_disk_pool(cli_ctx, *_): + return cf_diskpool_cl(cli_ctx).disk_pools + + +def cf_disk_pool_zone(cli_ctx, *_): + return cf_diskpool_cl(cli_ctx).disk_pool_zones + + +def cf_iscsi_target(cli_ctx, *_): + return cf_diskpool_cl(cli_ctx).iscsi_targets diff --git a/src/diskpool/azext_diskpool/generated/_help.py b/src/diskpool/azext_diskpool/generated/_help.py new file mode 100644 index 00000000000..3dc6812269f --- /dev/null +++ b/src/diskpool/azext_diskpool/generated/_help.py @@ -0,0 +1,263 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=too-many-lines + +from knack.help_files import helps + + +helps['disk-pool'] = ''' + type: group + short-summary: Manage Storage Pool Management +''' + +helps['disk-pool'] = """ + type: group + short-summary: Manage disk pool with diskpool +""" + +helps['disk-pool list'] = """ + type: command + short-summary: "Gets a list of DiskPools in a resource group. And Gets a list of Disk Pools in a subscription." + examples: + - name: List Disk Pools + text: |- + az disk-pool list --resource-group "myResourceGroup" + - name: List Disk Pools by subscription + text: |- + az disk-pool list +""" + +helps['disk-pool show'] = """ + type: command + short-summary: "Get a Disk pool." + examples: + - name: Get Disk pool + text: |- + az disk-pool show --name "myDiskPool" --resource-group "myResourceGroup" +""" + +helps['disk-pool create'] = """ + type: command + short-summary: "Create Disk pool." + parameters: + - name: --sku + short-summary: "Determines the SKU of the Disk Pool" + long-summary: | + Usage: --sku name=XX tier=XX + + name: Required. Sku name + tier: Sku tier + - name: --disks + short-summary: "List of Azure Managed Disks to attach to a Disk Pool." + long-summary: | + The order of this parameter is specific customized. Usage: --disks id-value + + id: Required. Unique Azure Resource ID of the Managed Disk. + + Multiple actions can be specified by using more than one --disks argument. + examples: + - name: Create or Update Disk pool + text: |- + az disk-pool create --location "westus" --availability-zones "1" --disks "/subscriptions/11111111-1111-1\ +111-1111-111111111111/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/vm-name_DataDisk_0" --disks \ +"/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/v\ +m-name_DataDisk_1" --subnet-id "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/prov\ +iders/Microsoft.Network/virtualNetworks/myvnet/subnets/mysubnet" --sku name="Basic_V0" tier="Basic" --tags key="value" \ +--name "myDiskPool" --resource-group "myResourceGroup" +""" + +helps['disk-pool update'] = """ + type: command + short-summary: "Update a Disk pool." + parameters: + - name: --disks + short-summary: "List of Azure Managed Disks to attach to a Disk Pool." + long-summary: | + The order of this parameter is specific customized. Usage: --disks id-value + + id: Required. Unique Azure Resource ID of the Managed Disk. + + Multiple actions can be specified by using more than one --disks argument. + examples: + - name: Update Disk pool + text: |- + az disk-pool update --name "myDiskPool" --disks "/subscriptions/11111111-1111-1111-1111-111111111111/res\ +ourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/vm-name_DataDisk_0" --disks \ +"/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/v\ +m-name_DataDisk_1" --tags key="value" --resource-group "myResourceGroup" +""" + +helps['disk-pool delete'] = """ + type: command + short-summary: "Delete a Disk pool." + examples: + - name: Delete Disk pool + text: |- + az disk-pool delete --name "myDiskPool" --resource-group "myResourceGroup" +""" + +helps['disk-pool list-skus'] = """ + type: command + short-summary: "Lists available Disk Pool Skus in an Azure location." + examples: + - name: List Disk Pool Skus + text: |- + az disk-pool list-skus --location "eastus" +""" + +helps['disk-pool start'] = """ + type: command + short-summary: "The operation to start a Disk Pool." + examples: + - name: Start Disk Pool + text: |- + az disk-pool start --name "myDiskPool" --resource-group "myResourceGroup" +""" + +helps['disk-pool stop'] = """ + type: command + short-summary: "Shuts down the Disk Pool and releases the compute resources. You are not billed for the compute \ +resources that this Disk Pool uses." + examples: + - name: Deallocate Disk Pool + text: |- + az disk-pool stop --name "myDiskPool" --resource-group "myResourceGroup" +""" + +helps['disk-pool wait'] = """ + type: command + short-summary: Place the CLI in a waiting state until a condition of the disk-pool is met. + examples: + - name: Pause executing next line of CLI script until the disk-pool is successfully created. + text: |- + az disk-pool wait --name "myDiskPool" --resource-group "myResourceGroup" --created + - name: Pause executing next line of CLI script until the disk-pool is successfully updated. + text: |- + az disk-pool wait --name "myDiskPool" --resource-group "myResourceGroup" --updated + - name: Pause executing next line of CLI script until the disk-pool is successfully deleted. + text: |- + az disk-pool wait --name "myDiskPool" --resource-group "myResourceGroup" --deleted +""" + +helps['disk-pool iscsi-target'] = """ + type: group + short-summary: Manage iscsi target with diskpool +""" + +helps['disk-pool iscsi-target list'] = """ + type: command + short-summary: "Get iSCSI Targets in a Disk pool." + examples: + - name: List Disk Pools by Resource Group + text: |- + az disk-pool iscsi-target list --disk-pool-name "myDiskPool" --resource-group "myResourceGroup" +""" + +helps['disk-pool iscsi-target show'] = """ + type: command + short-summary: "Get an iSCSI Target." + examples: + - name: Get iSCSI Target + text: |- + az disk-pool iscsi-target show --disk-pool-name "myDiskPool" --name "myIscsiTarget" --resource-group \ +"myResourceGroup" +""" + +helps['disk-pool iscsi-target create'] = """ + type: command + short-summary: "Create an iSCSI Target." + parameters: + - name: --static-acls + short-summary: "Access Control List (ACL) for an iSCSI Target; defines LUN masking policy" + long-summary: | + Usage: --static-acls initiator-iqn=XX mapped-luns=XX + + initiator-iqn: Required. iSCSI initiator IQN (iSCSI Qualified Name); example: \ +"iqn.2005-03.org.iscsi:client". + mapped-luns: Required. List of LUN names mapped to the ACL. + + Multiple actions can be specified by using more than one --static-acls argument. + - name: --luns + short-summary: "List of LUNs to be exposed through iSCSI Target." + long-summary: | + Usage: --luns name=XX managed-disk-azure-resource-id=XX + + name: Required. User defined name for iSCSI LUN; example: "lun0" + managed-disk-azure-resource-id: Required. Azure Resource ID of the Managed Disk. + + Multiple actions can be specified by using more than one --luns argument. + examples: + - name: Create or Update iSCSI Target + text: |- + az disk-pool iscsi-target create --disk-pool-name "myDiskPool" --acl-mode "Dynamic" --luns name="lun0" \ +managed-disk-azure-resource-id="/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/myResourceGroup/prov\ +iders/Microsoft.Compute/disks/vm-name_DataDisk_1" --target-iqn "iqn.2005-03.org.iscsi:server1" --name "myIscsiTarget" \ +--resource-group "myResourceGroup" +""" + +helps['disk-pool iscsi-target update'] = """ + type: command + short-summary: "Update an iSCSI Target." + parameters: + - name: --static-acls + short-summary: "Access Control List (ACL) for an iSCSI Target; defines LUN masking policy" + long-summary: | + Usage: --static-acls initiator-iqn=XX mapped-luns=XX + + initiator-iqn: Required. iSCSI initiator IQN (iSCSI Qualified Name); example: \ +"iqn.2005-03.org.iscsi:client". + mapped-luns: Required. List of LUN names mapped to the ACL. + + Multiple actions can be specified by using more than one --static-acls argument. + - name: --luns + short-summary: "List of LUNs to be exposed through iSCSI Target." + long-summary: | + Usage: --luns name=XX managed-disk-azure-resource-id=XX + + name: Required. User defined name for iSCSI LUN; example: "lun0" + managed-disk-azure-resource-id: Required. Azure Resource ID of the Managed Disk. + + Multiple actions can be specified by using more than one --luns argument. + examples: + - name: Update iSCSI Target + text: |- + az disk-pool iscsi-target update --disk-pool-name "myDiskPool" --name "myIscsiTarget" --luns \ +name="lun0" managed-disk-azure-resource-id="/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/myResour\ +ceGroup/providers/Microsoft.Compute/disks/vm-name_DataDisk_1" --static-acls initiator-iqn="iqn.2005-03.org.iscsi:client\ +" mapped-luns="lun0" --resource-group "myResourceGroup" +""" + +helps['disk-pool iscsi-target delete'] = """ + type: command + short-summary: "Delete an iSCSI Target." + examples: + - name: Delete iSCSI Target + text: |- + az disk-pool iscsi-target delete --disk-pool-name "myDiskPool" --name "myIscsiTarget" --resource-group \ +"myResourceGroup" +""" + +helps['disk-pool iscsi-target wait'] = """ + type: command + short-summary: Place the CLI in a waiting state until a condition of the disk-pool iscsi-target is met. + examples: + - name: Pause executing next line of CLI script until the disk-pool iscsi-target is successfully created. + text: |- + az disk-pool iscsi-target wait --disk-pool-name "myDiskPool" --name "myIscsiTarget" --resource-group \ +"myResourceGroup" --created + - name: Pause executing next line of CLI script until the disk-pool iscsi-target is successfully updated. + text: |- + az disk-pool iscsi-target wait --disk-pool-name "myDiskPool" --name "myIscsiTarget" --resource-group \ +"myResourceGroup" --updated + - name: Pause executing next line of CLI script until the disk-pool iscsi-target is successfully deleted. + text: |- + az disk-pool iscsi-target wait --disk-pool-name "myDiskPool" --name "myIscsiTarget" --resource-group \ +"myResourceGroup" --deleted +""" diff --git a/src/diskpool/azext_diskpool/generated/_params.py b/src/diskpool/azext_diskpool/generated/_params.py new file mode 100644 index 00000000000..8dd4b8bbe98 --- /dev/null +++ b/src/diskpool/azext_diskpool/generated/_params.py @@ -0,0 +1,130 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=too-many-lines +# pylint: disable=too-many-statements + +from azure.cli.core.commands.parameters import ( + tags_type, + get_enum_type, + resource_group_name_type, + get_location_type +) +from azure.cli.core.commands.validators import get_default_location_from_resource_group +from azext_diskpool.action import ( + AddSku, + AddDiskPoolCreateDisks, + AddDiskPoolUpdateDisks, + AddDiskPoolIscsiTargetCreateStaticAcls, + AddDiskPoolIscsiTargetCreateLuns, + AddDiskPoolIscsiTargetUpdateStaticAcls, + AddDiskPoolIscsiTargetUpdateLuns +) + + +def load_arguments(self, _): + + with self.argument_context('disk-pool list') as c: + c.argument('resource_group_name', resource_group_name_type) + + with self.argument_context('disk-pool show') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('disk_pool_name', options_list=['--name', '-n', '--disk-pool-name'], type=str, help='The name of ' + 'the Disk Pool.', id_part='name') + + with self.argument_context('disk-pool create') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('disk_pool_name', options_list=['--name', '-n', '--disk-pool-name'], type=str, help='The name of ' + 'the Disk Pool.') + c.argument('sku', action=AddSku, nargs='+', help='Determines the SKU of the Disk Pool') + c.argument('tags', tags_type) + c.argument('location', arg_type=get_location_type(self.cli_ctx), required=False, + validator=get_default_location_from_resource_group) + c.argument('availability_zones', nargs='+', help='Logical zone for Disk Pool resource; example: ["1"].') + c.argument('disks', action=AddDiskPoolCreateDisks, nargs='+', help='List of Azure Managed Disks to attach to a ' + 'Disk Pool.') + c.argument('subnet_id', type=str, help='Azure Resource ID of a Subnet for the Disk Pool.') + c.argument('additional_capabilities', options_list=['--additional-capabilities', '-a'], nargs='+', help='List ' + 'of additional capabilities for a Disk Pool.') + + with self.argument_context('disk-pool update') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('disk_pool_name', options_list=['--name', '-n', '--disk-pool-name'], type=str, help='The name of ' + 'the Disk Pool.', id_part='name') + c.argument('tags', tags_type) + c.argument('disks', action=AddDiskPoolUpdateDisks, nargs='+', help='List of Azure Managed Disks to attach to a ' + 'Disk Pool.') + + with self.argument_context('disk-pool delete') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('disk_pool_name', options_list=['--name', '-n', '--disk-pool-name'], type=str, help='The name of ' + 'the Disk Pool.', id_part='name') + + with self.argument_context('disk-pool list-skus') as c: + c.argument('location', arg_type=get_location_type(self.cli_ctx)) + + with self.argument_context('disk-pool start') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('disk_pool_name', options_list=['--name', '-n', '--disk-pool-name'], type=str, help='The name of ' + 'the Disk Pool.', id_part='name') + + with self.argument_context('disk-pool stop') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('disk_pool_name', options_list=['--name', '-n', '--disk-pool-name'], type=str, help='The name of ' + 'the Disk Pool.', id_part='name') + + with self.argument_context('disk-pool wait') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('disk_pool_name', options_list=['--name', '-n', '--disk-pool-name'], type=str, help='The name of ' + 'the Disk Pool.', id_part='name') + + with self.argument_context('disk-pool iscsi-target list') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('disk_pool_name', type=str, help='The name of the Disk Pool.') + + with self.argument_context('disk-pool iscsi-target show') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('disk_pool_name', type=str, help='The name of the Disk Pool.', id_part='name') + c.argument('iscsi_target_name', options_list=['--name', '-n', '--iscsi-target-name'], type=str, help='The name ' + 'of the iSCSI Target.', id_part='child_name_1') + + with self.argument_context('disk-pool iscsi-target create') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('disk_pool_name', type=str, help='The name of the Disk Pool.') + c.argument('iscsi_target_name', options_list=['--name', '-n', '--iscsi-target-name'], type=str, help='The name ' + 'of the iSCSI Target.') + c.argument('acl_mode', arg_type=get_enum_type(['Dynamic', 'Static']), help='Mode for Target connectivity.') + c.argument('target_iqn', type=str, help='iSCSI Target IQN (iSCSI Qualified Name); example: ' + '"iqn.2005-03.org.iscsi:server".') + c.argument('static_acls', action=AddDiskPoolIscsiTargetCreateStaticAcls, nargs='+', help='Access Control List ' + '(ACL) for an iSCSI Target; defines LUN masking policy') + c.argument('luns', action=AddDiskPoolIscsiTargetCreateLuns, nargs='+', help='List of LUNs to be exposed ' + 'through iSCSI Target.') + + with self.argument_context('disk-pool iscsi-target update') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('disk_pool_name', type=str, help='The name of the Disk Pool.', id_part='name') + c.argument('iscsi_target_name', options_list=['--name', '-n', '--iscsi-target-name'], type=str, help='The name ' + 'of the iSCSI Target.', id_part='child_name_1') + c.argument('static_acls', action=AddDiskPoolIscsiTargetUpdateStaticAcls, nargs='+', help='Access Control List ' + '(ACL) for an iSCSI Target; defines LUN masking policy') + c.argument('luns', action=AddDiskPoolIscsiTargetUpdateLuns, nargs='+', help='List of LUNs to be exposed ' + 'through iSCSI Target.') + + with self.argument_context('disk-pool iscsi-target delete') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('disk_pool_name', type=str, help='The name of the Disk Pool.', id_part='name') + c.argument('iscsi_target_name', options_list=['--name', '-n', '--iscsi-target-name'], type=str, help='The name ' + 'of the iSCSI Target.', id_part='child_name_1') + + with self.argument_context('disk-pool iscsi-target wait') as c: + c.argument('resource_group_name', resource_group_name_type) + c.argument('disk_pool_name', type=str, help='The name of the Disk Pool.', id_part='name') + c.argument('iscsi_target_name', options_list=['--name', '-n', '--iscsi-target-name'], type=str, help='The name ' + 'of the iSCSI Target.', id_part='child_name_1') diff --git a/src/diskpool/azext_diskpool/generated/_validators.py b/src/diskpool/azext_diskpool/generated/_validators.py new file mode 100644 index 00000000000..b33a44c1ebf --- /dev/null +++ b/src/diskpool/azext_diskpool/generated/_validators.py @@ -0,0 +1,9 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- diff --git a/src/diskpool/azext_diskpool/generated/action.py b/src/diskpool/azext_diskpool/generated/action.py new file mode 100644 index 00000000000..4e4d509a5c2 --- /dev/null +++ b/src/diskpool/azext_diskpool/generated/action.py @@ -0,0 +1,249 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + + +# pylint: disable=protected-access + +# pylint: disable=no-self-use + + +import argparse +from collections import defaultdict +from knack.util import CLIError + + +class AddDiskPoolUpdateDisks(argparse._AppendAction): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + + for item in action: + super(AddDiskPoolUpdateDisks, self).__call__(parser, namespace, item, option_string) + + def get_action(self, values, option_string=None): + try: + value_chunk_list = [values[x: x + 1] for x in range(0, len(values), 1)] + value_list = [] + for chunk in value_chunk_list: + id = chunk + value_list.append( + { + 'id': id, + } + ) + return value_list + except ValueError: + raise CLIError('usage error: {} NAME METRIC OPERATION VALUE'.format(option_string)) + + +class AddSku(argparse.Action): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + namespace.sku = action + + def get_action(self, values, option_string): + try: + properties = defaultdict(list) + for (k, v) in (x.split('=', 1) for x in values): + properties[k].append(v) + properties = dict(properties) + except ValueError: + raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) + d = {} + for k in properties: + + kl = k.lower() + + v = properties[k] + + if kl == 'name': + + d['name'] = v[0] + + elif kl == 'tier': + + d['tier'] = v[0] + + else: + raise CLIError( + 'Unsupported Key {} is provided for parameter sku. All possible keys are: name, tier'.format(k) + ) + + return d + + +class AddDiskPoolCreateDisks(argparse._AppendAction): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + + for item in action: + super(AddDiskPoolCreateDisks, self).__call__(parser, namespace, item, option_string) + + def get_action(self, values, option_string=None): + try: + value_chunk_list = [values[x: x + 1] for x in range(0, len(values), 1)] + value_list = [] + for chunk in value_chunk_list: + id = chunk + value_list.append( + { + 'id': id, + } + ) + return value_list + except ValueError: + raise CLIError('usage error: {} NAME METRIC OPERATION VALUE'.format(option_string)) + + +class AddDiskPoolIscsiTargetUpdateStaticAcls(argparse._AppendAction): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + super(AddDiskPoolIscsiTargetUpdateStaticAcls, self).__call__(parser, namespace, action, option_string) + + def get_action(self, values, option_string): + try: + properties = defaultdict(list) + for (k, v) in (x.split('=', 1) for x in values): + properties[k].append(v) + properties = dict(properties) + except ValueError: + raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) + d = {} + for k in properties: + + kl = k.lower() + + v = properties[k] + + if kl == 'initiator-iqn': + + d['initiator_iqn'] = v[0] + + elif kl == 'mapped-luns': + + d['mapped_luns'] = v + + else: + raise CLIError( + 'Unsupported Key {} is provided for parameter static-acls. All possible keys are: initiator-iqn,' + ' mapped-luns'.format(k) + ) + + return d + + +class AddDiskPoolIscsiTargetUpdateLuns(argparse._AppendAction): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + super(AddDiskPoolIscsiTargetUpdateLuns, self).__call__(parser, namespace, action, option_string) + + def get_action(self, values, option_string): + try: + properties = defaultdict(list) + for (k, v) in (x.split('=', 1) for x in values): + properties[k].append(v) + properties = dict(properties) + except ValueError: + raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) + d = {} + for k in properties: + + kl = k.lower() + + v = properties[k] + + if kl == 'name': + + d['name'] = v[0] + + elif kl == 'managed-disk-azure-resource-id': + + d['managed_disk_azure_resource_id'] = v[0] + + else: + raise CLIError( + 'Unsupported Key {} is provided for parameter luns. All possible keys are: name,' + ' managed-disk-azure-resource-id'.format(k) + ) + + return d + + +class AddDiskPoolIscsiTargetCreateStaticAcls(argparse._AppendAction): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + super(AddDiskPoolIscsiTargetCreateStaticAcls, self).__call__(parser, namespace, action, option_string) + + def get_action(self, values, option_string): + try: + properties = defaultdict(list) + for (k, v) in (x.split('=', 1) for x in values): + properties[k].append(v) + properties = dict(properties) + except ValueError: + raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) + d = {} + for k in properties: + + kl = k.lower() + + v = properties[k] + + if kl == 'initiator-iqn': + + d['initiator_iqn'] = v[0] + + elif kl == 'mapped-luns': + + d['mapped_luns'] = v + + else: + raise CLIError( + 'Unsupported Key {} is provided for parameter static-acls. All possible keys are: initiator-iqn,' + ' mapped-luns'.format(k) + ) + + return d + + +class AddDiskPoolIscsiTargetCreateLuns(argparse._AppendAction): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + super(AddDiskPoolIscsiTargetCreateLuns, self).__call__(parser, namespace, action, option_string) + + def get_action(self, values, option_string): + try: + properties = defaultdict(list) + for (k, v) in (x.split('=', 1) for x in values): + properties[k].append(v) + properties = dict(properties) + except ValueError: + raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) + d = {} + for k in properties: + + kl = k.lower() + + v = properties[k] + + if kl == 'name': + + d['name'] = v[0] + + elif kl == 'managed-disk-azure-resource-id': + + d['managed_disk_azure_resource_id'] = v[0] + + else: + raise CLIError( + 'Unsupported Key {} is provided for parameter luns. All possible keys are: name,' + ' managed-disk-azure-resource-id'.format(k) + ) + + return d diff --git a/src/diskpool/azext_diskpool/generated/commands.py b/src/diskpool/azext_diskpool/generated/commands.py new file mode 100644 index 00000000000..e66fd811338 --- /dev/null +++ b/src/diskpool/azext_diskpool/generated/commands.py @@ -0,0 +1,55 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=too-many-statements +# pylint: disable=too-many-locals +# pylint: disable=bad-continuation +# pylint: disable=line-too-long + +from azure.cli.core.commands import CliCommandType +from azext_diskpool.generated._client_factory import cf_disk_pool, cf_disk_pool_zone, cf_iscsi_target + + +diskpool_disk_pool = CliCommandType( + operations_tmpl='azext_diskpool.vendored_sdks.storagepool.operations._disk_pools_operations#DiskPoolsOperations.{}', + client_factory=cf_disk_pool, +) + + +diskpool_iscsi_target = CliCommandType( + operations_tmpl=( + 'azext_diskpool.vendored_sdks.storagepool.operations._iscsi_targets_operations#IscsiTargetsOperations.{}' + ), + client_factory=cf_iscsi_target, +) + + +def load_command_table(self, _): + + with self.command_group('disk-pool', diskpool_disk_pool, client_factory=cf_disk_pool) as g: + g.custom_command('list', 'disk_pool_list') + g.custom_show_command('show', 'disk_pool_show') + g.custom_command('create', 'disk_pool_create', supports_no_wait=True) + g.custom_command('update', 'disk_pool_update', supports_no_wait=True) + g.custom_command('delete', 'disk_pool_delete', supports_no_wait=True, confirmation=True) + g.custom_command('list-skus', 'disk_pool_list_skus', client_factory=cf_disk_pool_zone) + g.custom_command('start', 'disk_pool_start', supports_no_wait=True) + g.custom_command('stop', 'disk_pool_stop', supports_no_wait=True) + g.custom_wait_command('wait', 'disk_pool_show') + + with self.command_group('disk-pool iscsi-target', diskpool_iscsi_target, client_factory=cf_iscsi_target) as g: + g.custom_command('list', 'disk_pool_iscsi_target_list') + g.custom_show_command('show', 'disk_pool_iscsi_target_show') + g.custom_command('create', 'disk_pool_iscsi_target_create', supports_no_wait=True) + g.custom_command('update', 'disk_pool_iscsi_target_update', supports_no_wait=True) + g.custom_command('delete', 'disk_pool_iscsi_target_delete', supports_no_wait=True, confirmation=True) + g.custom_wait_command('wait', 'disk_pool_iscsi_target_show') + + with self.command_group('diskpool', is_experimental=True): + pass diff --git a/src/diskpool/azext_diskpool/generated/custom.py b/src/diskpool/azext_diskpool/generated/custom.py new file mode 100644 index 00000000000..811c1c55e08 --- /dev/null +++ b/src/diskpool/azext_diskpool/generated/custom.py @@ -0,0 +1,171 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=too-many-lines + +from azure.cli.core.util import sdk_no_wait + + +def disk_pool_list(client, + resource_group_name=None): + if resource_group_name: + return client.list_by_resource_group(resource_group_name=resource_group_name) + return client.list_by_subscription() + + +def disk_pool_show(client, + resource_group_name, + disk_pool_name): + return client.get(resource_group_name=resource_group_name, + disk_pool_name=disk_pool_name) + + +def disk_pool_create(client, + resource_group_name, + disk_pool_name, + sku, + location, + subnet_id, + tags=None, + availability_zones=None, + disks=None, + additional_capabilities=None, + no_wait=False): + disk_pool_create_payload = {} + disk_pool_create_payload['sku'] = sku + disk_pool_create_payload['tags'] = tags + disk_pool_create_payload['location'] = location + disk_pool_create_payload['availability_zones'] = availability_zones + disk_pool_create_payload['disks'] = disks + disk_pool_create_payload['subnet_id'] = subnet_id + disk_pool_create_payload['additional_capabilities'] = additional_capabilities + return sdk_no_wait(no_wait, + client.begin_create_or_update, + resource_group_name=resource_group_name, + disk_pool_name=disk_pool_name, + disk_pool_create_payload=disk_pool_create_payload) + + +def disk_pool_update(client, + resource_group_name, + disk_pool_name, + tags=None, + disks=None, + no_wait=False): + disk_pool_update_payload = {} + disk_pool_update_payload['tags'] = tags + disk_pool_update_payload['disks'] = disks + return sdk_no_wait(no_wait, + client.begin_update, + resource_group_name=resource_group_name, + disk_pool_name=disk_pool_name, + disk_pool_update_payload=disk_pool_update_payload) + + +def disk_pool_delete(client, + resource_group_name, + disk_pool_name, + no_wait=False): + return sdk_no_wait(no_wait, + client.begin_delete, + resource_group_name=resource_group_name, + disk_pool_name=disk_pool_name) + + +def disk_pool_list_skus(client, + location): + return client.list(location=location) + + +def disk_pool_start(client, + resource_group_name, + disk_pool_name, + no_wait=False): + return sdk_no_wait(no_wait, + client.begin_start, + resource_group_name=resource_group_name, + disk_pool_name=disk_pool_name) + + +def disk_pool_stop(client, + resource_group_name, + disk_pool_name, + no_wait=False): + return sdk_no_wait(no_wait, + client.begin_deallocate, + resource_group_name=resource_group_name, + disk_pool_name=disk_pool_name) + + +def disk_pool_iscsi_target_list(client, + resource_group_name, + disk_pool_name): + return client.list_by_disk_pool(resource_group_name=resource_group_name, + disk_pool_name=disk_pool_name) + + +def disk_pool_iscsi_target_show(client, + resource_group_name, + disk_pool_name, + iscsi_target_name): + return client.get(resource_group_name=resource_group_name, + disk_pool_name=disk_pool_name, + iscsi_target_name=iscsi_target_name) + + +def disk_pool_iscsi_target_create(client, + resource_group_name, + disk_pool_name, + iscsi_target_name, + acl_mode, + target_iqn=None, + static_acls=None, + luns=None, + no_wait=False): + iscsi_target_create_payload = {} + iscsi_target_create_payload['acl_mode'] = acl_mode + iscsi_target_create_payload['target_iqn'] = target_iqn + iscsi_target_create_payload['static_acls'] = static_acls + iscsi_target_create_payload['luns'] = luns + return sdk_no_wait(no_wait, + client.begin_create_or_update, + resource_group_name=resource_group_name, + disk_pool_name=disk_pool_name, + iscsi_target_name=iscsi_target_name, + iscsi_target_create_payload=iscsi_target_create_payload) + + +def disk_pool_iscsi_target_update(client, + resource_group_name, + disk_pool_name, + iscsi_target_name, + static_acls=None, + luns=None, + no_wait=False): + iscsi_target_update_payload = {} + iscsi_target_update_payload['static_acls'] = static_acls + iscsi_target_update_payload['luns'] = luns + return sdk_no_wait(no_wait, + client.begin_update, + resource_group_name=resource_group_name, + disk_pool_name=disk_pool_name, + iscsi_target_name=iscsi_target_name, + iscsi_target_update_payload=iscsi_target_update_payload) + + +def disk_pool_iscsi_target_delete(client, + resource_group_name, + disk_pool_name, + iscsi_target_name, + no_wait=False): + return sdk_no_wait(no_wait, + client.begin_delete, + resource_group_name=resource_group_name, + disk_pool_name=disk_pool_name, + iscsi_target_name=iscsi_target_name) diff --git a/src/diskpool/azext_diskpool/manual/__init__.py b/src/diskpool/azext_diskpool/manual/__init__.py new file mode 100644 index 00000000000..c9cfdc73e77 --- /dev/null +++ b/src/diskpool/azext_diskpool/manual/__init__.py @@ -0,0 +1,12 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) diff --git a/src/diskpool/azext_diskpool/manual/_help.py b/src/diskpool/azext_diskpool/manual/_help.py new file mode 100644 index 00000000000..38fdc57f4da --- /dev/null +++ b/src/diskpool/azext_diskpool/manual/_help.py @@ -0,0 +1,23 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=too-many-lines + +from knack.help_files import helps + + +helps['disk-pool'] = """ + type: group + short-summary: Manage Azure disk pool. +""" + +helps['disk-pool iscsi-target'] = """ + type: group + short-summary: Manage iSCSI target with a Disk Pool. +""" diff --git a/src/diskpool/azext_diskpool/manual/_params.py b/src/diskpool/azext_diskpool/manual/_params.py new file mode 100644 index 00000000000..1d01152d46d --- /dev/null +++ b/src/diskpool/azext_diskpool/manual/_params.py @@ -0,0 +1,26 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +# pylint: disable=too-many-lines +# pylint: disable=too-many-statements + +from azure.cli.core.commands.parameters import ( + get_location_type +) +from azure.cli.core.commands.validators import ( + get_default_location_from_resource_group +) + + +def load_arguments(self, _): + + with self.argument_context('disk-pool') as c: + c.argument('location', arg_type=get_location_type(self.cli_ctx), required=False, + validator=get_default_location_from_resource_group) + c.argument('availability_zones', nargs='+', help='Logical zone for Disk Pool resource.') diff --git a/src/diskpool/azext_diskpool/manual/_transformers.py b/src/diskpool/azext_diskpool/manual/_transformers.py new file mode 100644 index 00000000000..f6262db3cda --- /dev/null +++ b/src/diskpool/azext_diskpool/manual/_transformers.py @@ -0,0 +1,42 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + + +def build_table_output(result, projection): + + if not isinstance(result, list): + result = [result] + + final_list = [] + + from collections import OrderedDict + for item in result: + def _value_from_path(each_item, path): + obj = each_item + try: + for part in path.split('.'): + obj = obj.get(part, None) + except AttributeError: + obj = None + return obj or ' ' + + item_dict = OrderedDict() + for element in projection: + item_dict[element[0]] = _value_from_path(item, element[1]) + final_list.append(item_dict) + + return final_list + + +def transform_disk_pool_list_output(result): + """ Transform to convert SDK output into a form that is more readily + usable by the CLI and tools such as jpterm. """ + return build_table_output(result, [ + ('Name', 'name'), + ('Availability Zones', 'availabilityZones'), + ('Status', 'status'), + ('Location', 'location'), + ('Last Modified', 'systemData.lastModifiedAt') + ]) diff --git a/src/diskpool/azext_diskpool/manual/commands.py b/src/diskpool/azext_diskpool/manual/commands.py new file mode 100644 index 00000000000..d6d1f61f043 --- /dev/null +++ b/src/diskpool/azext_diskpool/manual/commands.py @@ -0,0 +1,24 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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.cli.core.commands import CliCommandType + + +def load_command_table(self, _): + + from azext_diskpool.generated._client_factory import cf_disk_pool, cf_disk_pool_zone + diskpool_disk_pool = CliCommandType( + operations_tmpl='azext_diskpool.vendored_sdks.storagepool.operations._disk_pools_operations#DiskPoolsOperations' + '.{}', + client_factory=cf_disk_pool) + with self.command_group('disk-pool', diskpool_disk_pool, client_factory=cf_disk_pool, is_preview=True) as g: + from ._transformers import transform_disk_pool_list_output + g.custom_command('list', 'disk_pool_list', table_transformer=transform_disk_pool_list_output) diff --git a/src/diskpool/azext_diskpool/tests/__init__.py b/src/diskpool/azext_diskpool/tests/__init__.py new file mode 100644 index 00000000000..70488e93851 --- /dev/null +++ b/src/diskpool/azext_diskpool/tests/__init__.py @@ -0,0 +1,116 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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 inspect +import logging +import os +import sys +import traceback +import datetime as dt + +from azure.core.exceptions import AzureError +from azure.cli.testsdk.exceptions import CliTestError, CliExecutionError, JMESPathCheckAssertionError + + +logger = logging.getLogger('azure.cli.testsdk') +logger.addHandler(logging.StreamHandler()) +__path__ = __import__('pkgutil').extend_path(__path__, __name__) +exceptions = [] +test_map = dict() +SUCCESSED = "successed" +FAILED = "failed" + + +def try_manual(func): + def import_manual_function(origin_func): + from importlib import import_module + decorated_path = inspect.getfile(origin_func).lower() + module_path = __path__[0].lower() + if not decorated_path.startswith(module_path): + raise Exception("Decorator can only be used in submodules!") + manual_path = os.path.join( + decorated_path[module_path.rfind(os.path.sep) + 1:]) + manual_file_path, manual_file_name = os.path.split(manual_path) + module_name, _ = os.path.splitext(manual_file_name) + manual_module = "..manual." + \ + ".".join(manual_file_path.split(os.path.sep) + [module_name, ]) + return getattr(import_module(manual_module, package=__name__), origin_func.__name__) + + def get_func_to_call(): + func_to_call = func + try: + func_to_call = import_manual_function(func) + logger.info("Found manual override for %s(...)", func.__name__) + except (ImportError, AttributeError): + pass + return func_to_call + + def wrapper(*args, **kwargs): + func_to_call = get_func_to_call() + logger.info("running %s()...", func.__name__) + try: + test_map[func.__name__] = dict() + test_map[func.__name__]["result"] = SUCCESSED + test_map[func.__name__]["error_message"] = "" + test_map[func.__name__]["error_stack"] = "" + test_map[func.__name__]["error_normalized"] = "" + test_map[func.__name__]["start_dt"] = dt.datetime.utcnow() + ret = func_to_call(*args, **kwargs) + except (AssertionError, AzureError, CliTestError, CliExecutionError, SystemExit, + JMESPathCheckAssertionError) as e: + use_exception_cache = os.getenv("TEST_EXCEPTION_CACHE") + if use_exception_cache is None or use_exception_cache.lower() != "true": + raise + test_map[func.__name__]["end_dt"] = dt.datetime.utcnow() + test_map[func.__name__]["result"] = FAILED + test_map[func.__name__]["error_message"] = str(e).replace("\r\n", " ").replace("\n", " ")[:500] + test_map[func.__name__]["error_stack"] = traceback.format_exc().replace( + "\r\n", " ").replace("\n", " ")[:500] + logger.info("--------------------------------------") + logger.info("step exception: %s", e) + logger.error("--------------------------------------") + logger.error("step exception in %s: %s", func.__name__, e) + logger.info(traceback.format_exc()) + exceptions.append((func.__name__, sys.exc_info())) + else: + test_map[func.__name__]["end_dt"] = dt.datetime.utcnow() + return ret + + if inspect.isclass(func): + return get_func_to_call() + return wrapper + + +def calc_coverage(filename): + filename = filename.split(".")[0] + coverage_name = filename + "_coverage.md" + with open(coverage_name, "w") as f: + f.write("|Scenario|Result|ErrorMessage|ErrorStack|ErrorNormalized|StartDt|EndDt|\n") + total = len(test_map) + covered = 0 + for k, v in test_map.items(): + if not k.startswith("step_"): + total -= 1 + continue + if v["result"] == SUCCESSED: + covered += 1 + f.write("|{step_name}|{result}|{error_message}|{error_stack}|{error_normalized}|{start_dt}|" + "{end_dt}|\n".format(step_name=k, **v)) + f.write("Coverage: {}/{}\n".format(covered, total)) + print("Create coverage\n", file=sys.stderr) + + +def raise_if(): + if exceptions: + if len(exceptions) <= 1: + raise exceptions[0][1][1] + message = "{}\nFollowed with exceptions in other steps:\n".format(str(exceptions[0][1][1])) + message += "\n".join(["{}: {}".format(h[0], h[1][1]) for h in exceptions[1:]]) + raise exceptions[0][1][0](message).with_traceback(exceptions[0][1][2]) diff --git a/src/diskpool/azext_diskpool/tests/latest/__init__.py b/src/diskpool/azext_diskpool/tests/latest/__init__.py new file mode 100644 index 00000000000..c9cfdc73e77 --- /dev/null +++ b/src/diskpool/azext_diskpool/tests/latest/__init__.py @@ -0,0 +1,12 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) diff --git a/src/diskpool/azext_diskpool/tests/latest/recordings/test_diskpool_list_sku_scenario_manual.yaml b/src/diskpool/azext_diskpool/tests/latest/recordings/test_diskpool_list_sku_scenario_manual.yaml new file mode 100644 index 00000000000..9056cadb6b2 --- /dev/null +++ b/src/diskpool/azext_diskpool/tests/latest/recordings/test_diskpool_list_sku_scenario_manual.yaml @@ -0,0 +1,48 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool list-skus + Connection: + - keep-alive + ParameterSetName: + - -l + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/diskPoolZones?api-version=2021-04-01-preview + response: + body: + string: '{"value":[{"availabilityZones":["3","1","2"],"sku":{"name":"Basic","tier":"Basic"}},{"availabilityZones":["3","1","2"],"sku":{"name":"Standard","tier":"Standard"}},{"availabilityZones":["3","1","2"],"sku":{"name":"Premium","tier":"Premium"}}]}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:06:59 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +version: 1 diff --git a/src/diskpool/azext_diskpool/tests/latest/recordings/test_diskpool_scenario_manual.yaml b/src/diskpool/azext_diskpool/tests/latest/recordings/test_diskpool_scenario_manual.yaml new file mode 100644 index 00000000000..41c85df0a3c --- /dev/null +++ b/src/diskpool/azext_diskpool/tests/latest/recordings/test_diskpool_scenario_manual.yaml @@ -0,0 +1,5185 @@ +interactions: +- request: + body: '{"location": "eastus", "tags": {}, "sku": {"name": "Premium_LRS"}, "zones": + ["3"], "properties": {"hyperVGeneration": "V1", "creationData": {"createOption": + "Empty"}, "diskSizeGB": 256, "maxShares": 2}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - disk create + Connection: + - keep-alive + Content-Length: + - '202' + Content-Type: + - application/json + ParameterSetName: + - --name --resource-group --zone --location --sku --max-shares --size-gb + User-Agent: + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-compute/20.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002?api-version=2020-12-01 + response: + body: + string: "{\r\n \"name\": \"disk000002\",\r\n \"location\": \"eastus\",\r\n + \ \"tags\": {},\r\n \"zones\": [\r\n \"3\"\r\n ],\r\n \"sku\": {\r\n + \ \"name\": \"Premium_LRS\"\r\n },\r\n \"properties\": {\r\n \"hyperVGeneration\": + \"V1\",\r\n \"creationData\": {\r\n \"createOption\": \"Empty\"\r\n + \ },\r\n \"diskSizeGB\": 256,\r\n \"maxShares\": 2,\r\n \"provisioningState\": + \"Updating\",\r\n \"isArmResource\": true\r\n }\r\n}" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/30a753f9-6e55-45b0-8857-263c811f29e2?api-version=2020-12-01 + cache-control: + - no-cache + content-length: + - '370' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 25 May 2021 06:08:26 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/30a753f9-6e55-45b0-8857-263c811f29e2?monitor=true&api-version=2020-12-01 + 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-resource: + - Microsoft.Compute/CreateUpdateDisks3Min;999,Microsoft.Compute/CreateUpdateDisks30Min;7997 + x-ms-ratelimit-remaining-subscription-writes: + - '1197' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk create + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --zone --location --sku --max-shares --size-gb + User-Agent: + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-compute/20.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/30a753f9-6e55-45b0-8857-263c811f29e2?api-version=2020-12-01 + response: + body: + string: "{\r\n \"startTime\": \"2021-05-25T06:08:26.9006099+00:00\",\r\n \"endTime\": + \"2021-05-25T06:08:26.9943243+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"properties\": {\r\n \"output\": {\r\n \"name\": \"disk000002\",\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002\",\r\n + \ \"type\": \"Microsoft.Compute/disks\",\r\n \"location\": \"eastus\",\r\n + \ \"tags\": {},\r\n \"zones\": [\r\n \"3\"\r\n ],\r\n \"sku\": {\r\n + \ \"name\": \"Premium_LRS\",\r\n \"tier\": \"Premium\"\r\n },\r\n \"properties\": + {\r\n \"hyperVGeneration\": \"V1\",\r\n \"creationData\": {\r\n \"createOption\": + \"Empty\"\r\n },\r\n \"diskSizeGB\": 256,\r\n \"diskIOPSReadWrite\": + 1100,\r\n \"diskMBpsReadWrite\": 125,\r\n \"encryption\": {\r\n \"type\": + \"EncryptionAtRestWithPlatformKey\"\r\n },\r\n \"maxShares\": 2,\r\n + \ \"timeCreated\": \"2021-05-25T06:08:26.9006099+00:00\",\r\n \"provisioningState\": + \"Succeeded\",\r\n \"diskState\": \"Unattached\",\r\n \"diskSizeBytes\": + 274877906944,\r\n \"uniqueId\": \"ccfda08f-fe5c-469f-9cad-17bdeb35c041\",\r\n + \ \"networkAccessPolicy\": \"AllowAll\",\r\n \"tier\": \"P15\"\r\n }\r\n}\r\n + \ },\r\n \"name\": \"30a753f9-6e55-45b0-8857-263c811f29e2\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1154' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 25 May 2021 06:08:28 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 + x-ms-ratelimit-remaining-resource: + - Microsoft.Compute/GetOperation3Min;49999,Microsoft.Compute/GetOperation30Min;399980 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk create + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --zone --location --sku --max-shares --size-gb + User-Agent: + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-compute/20.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002?api-version=2020-12-01 + response: + body: + string: "{\r\n \"name\": \"disk000002\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002\",\r\n + \ \"type\": \"Microsoft.Compute/disks\",\r\n \"location\": \"eastus\",\r\n + \ \"tags\": {},\r\n \"zones\": [\r\n \"3\"\r\n ],\r\n \"sku\": {\r\n + \ \"name\": \"Premium_LRS\",\r\n \"tier\": \"Premium\"\r\n },\r\n \"properties\": + {\r\n \"hyperVGeneration\": \"V1\",\r\n \"creationData\": {\r\n \"createOption\": + \"Empty\"\r\n },\r\n \"diskSizeGB\": 256,\r\n \"diskIOPSReadWrite\": + 1100,\r\n \"diskMBpsReadWrite\": 125,\r\n \"encryption\": {\r\n \"type\": + \"EncryptionAtRestWithPlatformKey\"\r\n },\r\n \"maxShares\": 2,\r\n + \ \"timeCreated\": \"2021-05-25T06:08:26.9006099+00:00\",\r\n \"provisioningState\": + \"Succeeded\",\r\n \"diskState\": \"Unattached\",\r\n \"diskSizeBytes\": + 274877906944,\r\n \"uniqueId\": \"ccfda08f-fe5c-469f-9cad-17bdeb35c041\",\r\n + \ \"networkAccessPolicy\": \"AllowAll\",\r\n \"tier\": \"P15\"\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '929' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 25 May 2021 06:08:28 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 + x-ms-ratelimit-remaining-resource: + - Microsoft.Compute/LowCostGet3Min;14995,Microsoft.Compute/LowCostGet30Min;119940 + status: + code: 200 + message: OK +- request: + body: '{"location": "eastus", "tags": {}, "sku": {"name": "Premium_LRS"}, "zones": + ["3"], "properties": {"hyperVGeneration": "V1", "creationData": {"createOption": + "Empty"}, "diskSizeGB": 256, "maxShares": 2}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - disk create + Connection: + - keep-alive + Content-Length: + - '202' + Content-Type: + - application/json + ParameterSetName: + - --name --resource-group --zone --location --sku --max-shares --size-gb + User-Agent: + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-compute/20.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003?api-version=2020-12-01 + response: + body: + string: "{\r\n \"name\": \"disk000003\",\r\n \"location\": \"eastus\",\r\n + \ \"tags\": {},\r\n \"zones\": [\r\n \"3\"\r\n ],\r\n \"sku\": {\r\n + \ \"name\": \"Premium_LRS\"\r\n },\r\n \"properties\": {\r\n \"hyperVGeneration\": + \"V1\",\r\n \"creationData\": {\r\n \"createOption\": \"Empty\"\r\n + \ },\r\n \"diskSizeGB\": 256,\r\n \"maxShares\": 2,\r\n \"provisioningState\": + \"Updating\",\r\n \"isArmResource\": true\r\n }\r\n}" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/2047f61a-e555-4201-9378-13109d688d4f?api-version=2020-12-01 + cache-control: + - no-cache + content-length: + - '370' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 25 May 2021 06:08:35 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/2047f61a-e555-4201-9378-13109d688d4f?monitor=true&api-version=2020-12-01 + 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-resource: + - Microsoft.Compute/CreateUpdateDisks3Min;998,Microsoft.Compute/CreateUpdateDisks30Min;7996 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk create + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --zone --location --sku --max-shares --size-gb + User-Agent: + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-compute/20.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/2047f61a-e555-4201-9378-13109d688d4f?api-version=2020-12-01 + response: + body: + string: "{\r\n \"startTime\": \"2021-05-25T06:08:35.1823818+00:00\",\r\n \"endTime\": + \"2021-05-25T06:08:35.3073615+00:00\",\r\n \"status\": \"Succeeded\",\r\n + \ \"properties\": {\r\n \"output\": {\r\n \"name\": \"disk000003\",\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003\",\r\n + \ \"type\": \"Microsoft.Compute/disks\",\r\n \"location\": \"eastus\",\r\n + \ \"tags\": {},\r\n \"zones\": [\r\n \"3\"\r\n ],\r\n \"sku\": {\r\n + \ \"name\": \"Premium_LRS\",\r\n \"tier\": \"Premium\"\r\n },\r\n \"properties\": + {\r\n \"hyperVGeneration\": \"V1\",\r\n \"creationData\": {\r\n \"createOption\": + \"Empty\"\r\n },\r\n \"diskSizeGB\": 256,\r\n \"diskIOPSReadWrite\": + 1100,\r\n \"diskMBpsReadWrite\": 125,\r\n \"encryption\": {\r\n \"type\": + \"EncryptionAtRestWithPlatformKey\"\r\n },\r\n \"maxShares\": 2,\r\n + \ \"timeCreated\": \"2021-05-25T06:08:35.1979594+00:00\",\r\n \"provisioningState\": + \"Succeeded\",\r\n \"diskState\": \"Unattached\",\r\n \"diskSizeBytes\": + 274877906944,\r\n \"uniqueId\": \"3a5b9e9f-b195-47ab-84b7-8e9028266a51\",\r\n + \ \"networkAccessPolicy\": \"AllowAll\",\r\n \"tier\": \"P15\"\r\n }\r\n}\r\n + \ },\r\n \"name\": \"2047f61a-e555-4201-9378-13109d688d4f\"\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1154' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 25 May 2021 06:08:37 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 + x-ms-ratelimit-remaining-resource: + - Microsoft.Compute/GetOperation3Min;49997,Microsoft.Compute/GetOperation30Min;399978 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk create + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --zone --location --sku --max-shares --size-gb + User-Agent: + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-compute/20.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003?api-version=2020-12-01 + response: + body: + string: "{\r\n \"name\": \"disk000003\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003\",\r\n + \ \"type\": \"Microsoft.Compute/disks\",\r\n \"location\": \"eastus\",\r\n + \ \"tags\": {},\r\n \"zones\": [\r\n \"3\"\r\n ],\r\n \"sku\": {\r\n + \ \"name\": \"Premium_LRS\",\r\n \"tier\": \"Premium\"\r\n },\r\n \"properties\": + {\r\n \"hyperVGeneration\": \"V1\",\r\n \"creationData\": {\r\n \"createOption\": + \"Empty\"\r\n },\r\n \"diskSizeGB\": 256,\r\n \"diskIOPSReadWrite\": + 1100,\r\n \"diskMBpsReadWrite\": 125,\r\n \"encryption\": {\r\n \"type\": + \"EncryptionAtRestWithPlatformKey\"\r\n },\r\n \"maxShares\": 2,\r\n + \ \"timeCreated\": \"2021-05-25T06:08:35.1979594+00:00\",\r\n \"provisioningState\": + \"Succeeded\",\r\n \"diskState\": \"Unattached\",\r\n \"diskSizeBytes\": + 274877906944,\r\n \"uniqueId\": \"3a5b9e9f-b195-47ab-84b7-8e9028266a51\",\r\n + \ \"networkAccessPolicy\": \"AllowAll\",\r\n \"tier\": \"P15\"\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '929' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 25 May 2021 06:08:38 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 + x-ms-ratelimit-remaining-resource: + - Microsoft.Compute/LowCostGet3Min;14992,Microsoft.Compute/LowCostGet30Min;119936 + status: + code: 200 + message: OK +- request: + body: '{"objectIds": ["09f10f07-08cf-4ab7-be0f-e9ae3d72b9ad"], "includeDirectoryObjectReferences": + true}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - role assignment create + Connection: + - keep-alive + Content-Length: + - '97' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --assignee-object-id --role --scope + User-Agent: + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.24.0 + accept-language: + - en-US + method: POST + uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/getObjectsByObjectIds?api-version=1.6 + response: + body: + string: '{"odata.metadata":"https://graph.windows.net/00000000-0000-0000-0000-000000000000/$metadata#directoryObjects","value":[{"odata.type":"Microsoft.DirectoryServices.ServicePrincipal","objectType":"ServicePrincipal","objectId":"09f10f07-08cf-4ab7-be0f-e9ae3d72b9ad","deletionTimestamp":null,"accountEnabled":true,"addIns":[],"alternativeNames":[],"appDisplayName":"StoragePool + Resource Provider","appId":"5741a1ff-751d-4ad7-bcd1-dfe3c998fd11","applicationTemplateId":null,"appOwnerTenantId":"f8cdef31-a31e-4b4a-93e4-5f571e91255a","appRoleAssignmentRequired":false,"appRoles":[],"displayName":"StoragePool + Resource Provider","errorUrl":null,"homepage":null,"informationalUrls":{"termsOfService":null,"support":null,"privacy":null,"marketing":null},"keyCredentials":[],"logoutUrl":null,"notificationEmailAddresses":[],"oauth2Permissions":[],"passwordCredentials":[],"preferredSingleSignOnMode":null,"preferredTokenSigningKeyEndDateTime":null,"preferredTokenSigningKeyThumbprint":null,"publisherName":"Microsoft + Services","replyUrls":[],"samlMetadataUrl":null,"samlSingleSignOnSettings":null,"servicePrincipalNames":["5741a1ff-751d-4ad7-bcd1-dfe3c998fd11"],"servicePrincipalType":"Application","signInAudience":"AzureADMultipleOrgs","tags":[],"tokenEncryptionKeyId":null}]}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '1266' + content-type: + - application/json; odata=minimalmetadata; streaming=true; charset=utf-8 + dataserviceversion: + - 3.0; + date: + - Tue, 25 May 2021 06:08:40 GMT + duration: + - '2547997' + expires: + - '-1' + ocp-aad-diagnostics-server-name: + - vNweFmWUlAwBFr6kToXWyL5o1sOXckBy0R+YSfFsYjM= + ocp-aad-session-key: + - 8NhgzgemA_IMuCD7wzZgVKv683JsHJwCY9D4voYsVQkeOcKla8Ks5TGtURkJGtxtZAWN3trc4Qwjar7MICXXwm00FVc7yk6VEXNLG5jLQsAYqr-pa49PTCUSMTJBevcr.OS9O7c7wp5XVIrkZEjRIN_EFCfsZ89-TTXliolK-gA0 + pragma: + - no-cache + request-id: + - cae29a19-db19-463b-94bb-1131767d9332 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-ms-dirapi-data-contract-version: + - '1.6' + x-ms-resource-unit: + - '3' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - role assignment create + Connection: + - keep-alive + ParameterSetName: + - --assignee-object-id --role --scope + User-Agent: + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.24.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002/providers/Microsoft.Authorization/roleDefinitions?$filter=roleName%20eq%20%27Virtual%20Machine%20Contributor%27&api-version=2018-01-01-preview + response: + body: + string: '{"value":[{"properties":{"roleName":"Virtual Machine Contributor","type":"BuiltInRole","description":"Lets + you manage virtual machines, but not access to them, and not the virtual network + or storage account they''re connected to.","assignableScopes":["/"],"permissions":[{"actions":["Microsoft.Authorization/*/read","Microsoft.Compute/availabilitySets/*","Microsoft.Compute/locations/*","Microsoft.Compute/virtualMachines/*","Microsoft.Compute/virtualMachineScaleSets/*","Microsoft.Compute/disks/write","Microsoft.Compute/disks/read","Microsoft.Compute/disks/delete","Microsoft.DevTestLab/schedules/*","Microsoft.Insights/alertRules/*","Microsoft.Network/applicationGateways/backendAddressPools/join/action","Microsoft.Network/loadBalancers/backendAddressPools/join/action","Microsoft.Network/loadBalancers/inboundNatPools/join/action","Microsoft.Network/loadBalancers/inboundNatRules/join/action","Microsoft.Network/loadBalancers/probes/join/action","Microsoft.Network/loadBalancers/read","Microsoft.Network/locations/*","Microsoft.Network/networkInterfaces/*","Microsoft.Network/networkSecurityGroups/join/action","Microsoft.Network/networkSecurityGroups/read","Microsoft.Network/publicIPAddresses/join/action","Microsoft.Network/publicIPAddresses/read","Microsoft.Network/virtualNetworks/read","Microsoft.Network/virtualNetworks/subnets/join/action","Microsoft.RecoveryServices/locations/*","Microsoft.RecoveryServices/Vaults/backupFabrics/backupProtectionIntent/write","Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/*/read","Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/read","Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/write","Microsoft.RecoveryServices/Vaults/backupPolicies/read","Microsoft.RecoveryServices/Vaults/backupPolicies/write","Microsoft.RecoveryServices/Vaults/read","Microsoft.RecoveryServices/Vaults/usages/read","Microsoft.RecoveryServices/Vaults/write","Microsoft.ResourceHealth/availabilityStatuses/read","Microsoft.Resources/deployments/*","Microsoft.Resources/subscriptions/resourceGroups/read","Microsoft.SqlVirtualMachine/*","Microsoft.Storage/storageAccounts/listKeys/action","Microsoft.Storage/storageAccounts/read","Microsoft.Support/*"],"notActions":[],"dataActions":[],"notDataActions":[]}],"createdOn":"2015-06-02T00:18:27.3542698Z","updatedOn":"2020-02-03T19:38:21.2170228Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c","type":"Microsoft.Authorization/roleDefinitions","name":"9980e02c-c2be-4d73-94e8-173b1dc7cf3c"}]}' + headers: + cache-control: + - no-cache + content-length: + - '2704' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 25 May 2021 06:08:40 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - x-ms-gateway-slice=Production; path=/; secure; samesite=none; httponly + strict-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": {"roleDefinitionId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c", + "principalId": "09f10f07-08cf-4ab7-be0f-e9ae3d72b9ad", "principalType": "ServicePrincipal"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - role assignment create + Connection: + - keep-alive + Content-Length: + - '270' + Content-Type: + - application/json; charset=utf-8 + Cookie: + - x-ms-gateway-slice=Production + ParameterSetName: + - --assignee-object-id --role --scope + User-Agent: + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.24.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002/providers/Microsoft.Authorization/roleAssignments/88888888-0000-0000-0000-000000000001?api-version=2020-04-01-preview + response: + body: + string: '{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c","principalId":"09f10f07-08cf-4ab7-be0f-e9ae3d72b9ad","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002","condition":null,"conditionVersion":null,"createdOn":"2021-05-25T06:08:41.2822213Z","updatedOn":"2021-05-25T06:08:42.1594784Z","createdBy":null,"updatedBy":"21cd756e-e290-4a26-9547-93e8cc1a8923","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002/providers/Microsoft.Authorization/roleAssignments/88888888-0000-0000-0000-000000000001","type":"Microsoft.Authorization/roleAssignments","name":"88888888-0000-0000-0000-000000000001"}' + headers: + cache-control: + - no-cache + content-length: + - '977' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 25 May 2021 06:08:45 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - x-ms-gateway-slice=Production; path=/; secure; samesite=none; httponly + 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: '{"objectIds": ["09f10f07-08cf-4ab7-be0f-e9ae3d72b9ad"], "includeDirectoryObjectReferences": + true}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - role assignment create + Connection: + - keep-alive + Content-Length: + - '97' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - --assignee-object-id --role --scope + User-Agent: + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.24.0 + accept-language: + - en-US + method: POST + uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/getObjectsByObjectIds?api-version=1.6 + response: + body: + string: '{"odata.metadata":"https://graph.windows.net/00000000-0000-0000-0000-000000000000/$metadata#directoryObjects","value":[{"odata.type":"Microsoft.DirectoryServices.ServicePrincipal","objectType":"ServicePrincipal","objectId":"09f10f07-08cf-4ab7-be0f-e9ae3d72b9ad","deletionTimestamp":null,"accountEnabled":true,"addIns":[],"alternativeNames":[],"appDisplayName":"StoragePool + Resource Provider","appId":"5741a1ff-751d-4ad7-bcd1-dfe3c998fd11","applicationTemplateId":null,"appOwnerTenantId":"f8cdef31-a31e-4b4a-93e4-5f571e91255a","appRoleAssignmentRequired":false,"appRoles":[],"displayName":"StoragePool + Resource Provider","errorUrl":null,"homepage":null,"informationalUrls":{"termsOfService":null,"support":null,"privacy":null,"marketing":null},"keyCredentials":[],"logoutUrl":null,"notificationEmailAddresses":[],"oauth2Permissions":[],"passwordCredentials":[],"preferredSingleSignOnMode":null,"preferredTokenSigningKeyEndDateTime":null,"preferredTokenSigningKeyThumbprint":null,"publisherName":"Microsoft + Services","replyUrls":[],"samlMetadataUrl":null,"samlSingleSignOnSettings":null,"servicePrincipalNames":["5741a1ff-751d-4ad7-bcd1-dfe3c998fd11"],"servicePrincipalType":"Application","signInAudience":"AzureADMultipleOrgs","tags":[],"tokenEncryptionKeyId":null}]}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '1266' + content-type: + - application/json; odata=minimalmetadata; streaming=true; charset=utf-8 + dataserviceversion: + - 3.0; + date: + - Tue, 25 May 2021 06:08:46 GMT + duration: + - '2654950' + expires: + - '-1' + ocp-aad-diagnostics-server-name: + - TaL7kANKRnvvbZiSrMqFBAv0pfZbW/BsTOL2yLvuCnU= + ocp-aad-session-key: + - e4rbJc3FnVOoGCnSXOHcobE5ON5bYy3L44qR1uoXle_oH0P38ErF99fcfDGxx_uWv_6mEuBtUR61JzdOb7DixEgszJB-n2hEB4p4_yhV21iawx9ceXlj-MKNhPkDCd_G.eQt8s697mgfofdBQRg2MA91tgnmHELD67qvs57BBQO4 + pragma: + - no-cache + request-id: + - 35361e6b-00ae-4922-9eb7-b446407c45d4 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-ms-dirapi-data-contract-version: + - '1.6' + x-ms-resource-unit: + - '3' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - role assignment create + Connection: + - keep-alive + ParameterSetName: + - --assignee-object-id --role --scope + User-Agent: + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.24.0 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003/providers/Microsoft.Authorization/roleDefinitions?$filter=roleName%20eq%20%27Virtual%20Machine%20Contributor%27&api-version=2018-01-01-preview + response: + body: + string: '{"value":[{"properties":{"roleName":"Virtual Machine Contributor","type":"BuiltInRole","description":"Lets + you manage virtual machines, but not access to them, and not the virtual network + or storage account they''re connected to.","assignableScopes":["/"],"permissions":[{"actions":["Microsoft.Authorization/*/read","Microsoft.Compute/availabilitySets/*","Microsoft.Compute/locations/*","Microsoft.Compute/virtualMachines/*","Microsoft.Compute/virtualMachineScaleSets/*","Microsoft.Compute/disks/write","Microsoft.Compute/disks/read","Microsoft.Compute/disks/delete","Microsoft.DevTestLab/schedules/*","Microsoft.Insights/alertRules/*","Microsoft.Network/applicationGateways/backendAddressPools/join/action","Microsoft.Network/loadBalancers/backendAddressPools/join/action","Microsoft.Network/loadBalancers/inboundNatPools/join/action","Microsoft.Network/loadBalancers/inboundNatRules/join/action","Microsoft.Network/loadBalancers/probes/join/action","Microsoft.Network/loadBalancers/read","Microsoft.Network/locations/*","Microsoft.Network/networkInterfaces/*","Microsoft.Network/networkSecurityGroups/join/action","Microsoft.Network/networkSecurityGroups/read","Microsoft.Network/publicIPAddresses/join/action","Microsoft.Network/publicIPAddresses/read","Microsoft.Network/virtualNetworks/read","Microsoft.Network/virtualNetworks/subnets/join/action","Microsoft.RecoveryServices/locations/*","Microsoft.RecoveryServices/Vaults/backupFabrics/backupProtectionIntent/write","Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/*/read","Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/read","Microsoft.RecoveryServices/Vaults/backupFabrics/protectionContainers/protectedItems/write","Microsoft.RecoveryServices/Vaults/backupPolicies/read","Microsoft.RecoveryServices/Vaults/backupPolicies/write","Microsoft.RecoveryServices/Vaults/read","Microsoft.RecoveryServices/Vaults/usages/read","Microsoft.RecoveryServices/Vaults/write","Microsoft.ResourceHealth/availabilityStatuses/read","Microsoft.Resources/deployments/*","Microsoft.Resources/subscriptions/resourceGroups/read","Microsoft.SqlVirtualMachine/*","Microsoft.Storage/storageAccounts/listKeys/action","Microsoft.Storage/storageAccounts/read","Microsoft.Support/*"],"notActions":[],"dataActions":[],"notDataActions":[]}],"createdOn":"2015-06-02T00:18:27.3542698Z","updatedOn":"2020-02-03T19:38:21.2170228Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c","type":"Microsoft.Authorization/roleDefinitions","name":"9980e02c-c2be-4d73-94e8-173b1dc7cf3c"}]}' + headers: + cache-control: + - no-cache + content-length: + - '2704' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 25 May 2021 06:08:47 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - x-ms-gateway-slice=Production; path=/; secure; samesite=none; httponly + strict-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": {"roleDefinitionId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c", + "principalId": "09f10f07-08cf-4ab7-be0f-e9ae3d72b9ad", "principalType": "ServicePrincipal"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - role assignment create + Connection: + - keep-alive + Content-Length: + - '270' + Content-Type: + - application/json; charset=utf-8 + Cookie: + - x-ms-gateway-slice=Production + ParameterSetName: + - --assignee-object-id --role --scope + User-Agent: + - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-authorization/0.61.0 Azure-SDK-For-Python AZURECLI/2.24.0 + accept-language: + - en-US + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003/providers/Microsoft.Authorization/roleAssignments/88888888-0000-0000-0000-000000000002?api-version=2020-04-01-preview + response: + body: + string: '{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c","principalId":"09f10f07-08cf-4ab7-be0f-e9ae3d72b9ad","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003","condition":null,"conditionVersion":null,"createdOn":"2021-05-25T06:08:47.8367921Z","updatedOn":"2021-05-25T06:08:48.5818008Z","createdBy":null,"updatedBy":"21cd756e-e290-4a26-9547-93e8cc1a8923","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003/providers/Microsoft.Authorization/roleAssignments/88888888-0000-0000-0000-000000000002","type":"Microsoft.Authorization/roleAssignments","name":"88888888-0000-0000-0000-000000000002"}' + headers: + cache-control: + - no-cache + content-length: + - '977' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 25 May 2021 06:08:52 GMT + expires: + - '-1' + pragma: + - no-cache + set-cookie: + - x-ms-gateway-slice=Production; path=/; secure; samesite=none; httponly + 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: '{"location": "eastus", "tags": {}, "properties": {"addressSpace": {"addressPrefixes": + ["10.0.0.0/16"]}, "dhcpOptions": {}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet create + Connection: + - keep-alive + Content-Length: + - '123' + Content-Type: + - application/json + ParameterSetName: + - --name --resource-group --location + User-Agent: + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004?api-version=2021-02-01 + response: + body: + string: "{\r\n \"name\": \"vnet000004\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004\",\r\n + \ \"etag\": \"W/\\\"4c5a22c4-7752-4c34-bc14-89603e70f26c\\\"\",\r\n \"type\": + \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus\",\r\n + \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"resourceGuid\": \"3a8c3d9e-e518-4882-9967-726fcbade9b8\",\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 \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": + false\r\n }\r\n}" + headers: + azure-asyncnotification: + - Enabled + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/615b1d69-b473-4c65-8452-0d39b66ca10d?api-version=2021-02-01 + cache-control: + - no-cache + content-length: + - '683' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 25 May 2021 06:09:01 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-arm-service-request-id: + - 37fdcff9-616d-4a65-b43f-3349e904e0ef + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet create + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --location + User-Agent: + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/615b1d69-b473-4c65-8452-0d39b66ca10d?api-version=2021-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, 25 May 2021 06:09:04 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 + x-ms-arm-service-request-id: + - 323412a6-573a-4468-a0ed-8630d5168af0 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet create + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --location + User-Agent: + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004?api-version=2021-02-01 + response: + body: + string: "{\r\n \"name\": \"vnet000004\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004\",\r\n + \ \"etag\": \"W/\\\"6e90abc6-5ad9-438c-abbc-c5a029a28898\\\"\",\r\n \"type\": + \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus\",\r\n + \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"resourceGuid\": \"3a8c3d9e-e518-4882-9967-726fcbade9b8\",\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 \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": + false\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '684' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 25 May 2021 06:09:06 GMT + etag: + - W/"6e90abc6-5ad9-438c-abbc-c5a029a28898" + 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 + x-ms-arm-service-request-id: + - 92a40150-7377-4767-a24a-d3ba1909e98f + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet subnet create + Connection: + - keep-alive + ParameterSetName: + - --name --vnet-name --resource-group --address-prefixes --delegations + User-Agent: + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004?api-version=2021-02-01 + response: + body: + string: "{\r\n \"name\": \"vnet000004\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004\",\r\n + \ \"etag\": \"W/\\\"6e90abc6-5ad9-438c-abbc-c5a029a28898\\\"\",\r\n \"type\": + \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus\",\r\n + \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"resourceGuid\": \"3a8c3d9e-e518-4882-9967-726fcbade9b8\",\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 \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": + false\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '684' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 25 May 2021 06:09:06 GMT + etag: + - W/"6e90abc6-5ad9-438c-abbc-c5a029a28898" + 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 + x-ms-arm-service-request-id: + - 7b1c142a-0175-4741-9f24-7c91eb2533a3 + status: + code: 200 + message: OK +- request: + body: '{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004", + "location": "eastus", "tags": {}, "properties": {"addressSpace": {"addressPrefixes": + ["10.0.0.0/16"]}, "dhcpOptions": {"dnsServers": []}, "subnets": [{"name": "subnet000005", + "properties": {"addressPrefix": "10.0.0.0/24", "delegations": [{"name": "0", + "properties": {"serviceName": "Microsoft.StoragePool/diskPools"}}], "privateEndpointNetworkPolicies": + "Enabled", "privateLinkServiceNetworkPolicies": "Enabled"}}], "virtualNetworkPeerings": + [], "enableDdosProtection": false}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet subnet create + Connection: + - keep-alive + Content-Length: + - '624' + Content-Type: + - application/json + ParameterSetName: + - --name --vnet-name --resource-group --address-prefixes --delegations + User-Agent: + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004?api-version=2021-02-01 + response: + body: + string: "{\r\n \"name\": \"vnet000004\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004\",\r\n + \ \"etag\": \"W/\\\"8d5ab029-0f8d-460a-bb22-4a2df40d7bdf\\\"\",\r\n \"type\": + \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus\",\r\n + \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"resourceGuid\": \"3a8c3d9e-e518-4882-9967-726fcbade9b8\",\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\": \"subnet000005\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005\",\r\n + \ \"etag\": \"W/\\\"8d5ab029-0f8d-460a-bb22-4a2df40d7bdf\\\"\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n + \ \"addressPrefix\": \"10.0.0.0/24\",\r\n \"delegations\": + [\r\n {\r\n \"name\": \"0\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005/delegations/0\",\r\n + \ \"etag\": \"W/\\\"8d5ab029-0f8d-460a-bb22-4a2df40d7bdf\\\"\",\r\n + \ \"properties\": {\r\n \"provisioningState\": + \"Succeeded\",\r\n \"serviceName\": \"Microsoft.StoragePool/diskPools\",\r\n + \ \"actions\": [\r\n \"Microsoft.Network/virtualNetworks/read\"\r\n + \ ]\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets/delegations\"\r\n + \ }\r\n ],\r\n \"privateEndpointNetworkPolicies\": + \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n + \ },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n + \ }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": + false\r\n }\r\n}" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/e80d1fe9-5422-4182-bbc4-f5a9674851a9?api-version=2021-02-01 + cache-control: + - no-cache + content-length: + - '1996' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 25 May 2021 06:09:08 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 + x-ms-arm-service-request-id: + - 39229ab7-9220-439f-8e3b-2c9bd64b8824 + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet subnet create + Connection: + - keep-alive + ParameterSetName: + - --name --vnet-name --resource-group --address-prefixes --delegations + User-Agent: + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/e80d1fe9-5422-4182-bbc4-f5a9674851a9?api-version=2021-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, 25 May 2021 06:09: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 + x-ms-arm-service-request-id: + - 66b56d13-bd1f-41fb-992b-75f46cc49aef + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - network vnet subnet create + Connection: + - keep-alive + ParameterSetName: + - --name --vnet-name --resource-group --address-prefixes --delegations + User-Agent: + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004?api-version=2021-02-01 + response: + body: + string: "{\r\n \"name\": \"vnet000004\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004\",\r\n + \ \"etag\": \"W/\\\"2d3f7bbf-826b-4c0e-8d7c-60b7c29d8bf2\\\"\",\r\n \"type\": + \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus\",\r\n + \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"resourceGuid\": \"3a8c3d9e-e518-4882-9967-726fcbade9b8\",\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\": \"subnet000005\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005\",\r\n + \ \"etag\": \"W/\\\"2d3f7bbf-826b-4c0e-8d7c-60b7c29d8bf2\\\"\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"addressPrefix\": \"10.0.0.0/24\",\r\n \"delegations\": + [\r\n {\r\n \"name\": \"0\",\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005/delegations/0\",\r\n + \ \"etag\": \"W/\\\"2d3f7bbf-826b-4c0e-8d7c-60b7c29d8bf2\\\"\",\r\n + \ \"properties\": {\r\n \"provisioningState\": + \"Succeeded\",\r\n \"serviceName\": \"Microsoft.StoragePool/diskPools\",\r\n + \ \"actions\": [\r\n \"Microsoft.Network/virtualNetworks/read\"\r\n + \ ]\r\n },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets/delegations\"\r\n + \ }\r\n ],\r\n \"privateEndpointNetworkPolicies\": + \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n + \ },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n + \ }\r\n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": + false\r\n }\r\n}" + headers: + cache-control: + - no-cache + content-length: + - '1998' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 25 May 2021 06:09:12 GMT + etag: + - W/"2d3f7bbf-826b-4c0e-8d7c-60b7c29d8bf2" + 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 + x-ms-arm-service-request-id: + - d32ece12-fab3-432f-8aeb-ac3214b19be8 + status: + code: 200 + message: OK +- request: + body: '{"sku": {"name": "Standard", "tier": "Standard"}, "location": "eastus", + "properties": {"availabilityZones": ["3"], "disks": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"}], + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005"}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool create + Connection: + - keep-alive + Content-Length: + - '439' + Content-Type: + - application/json + ParameterSetName: + - --name --resource-group --location --availability-zones --subnet-id --sku + --disks + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006","name":"diskpool000006","type":"Microsoft.StoragePool/diskPools","location":"eastus","tags":{},"systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-05-25T06:09:17.0897576Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-05-25T06:09:17.0897576Z"},"properties":{"disks":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"}],"availabilityZones":["3"],"subnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005","provisioningState":"Pending","status":"Unknown"},"sku":{"name":"Standard","tier":"Standard"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a?api-version=2021-04-01-preview + cache-control: + - no-cache + content-length: + - '927' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:09:20 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-async-operation-timeout: + - PT1H + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + x-ms-return-client-request-id: + - 'true' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool create + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --location --availability-zones --subnet-id --sku + --disks + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a","name":"87fb07a8-9e0f-4663-8120-21635d5fdc5a","status":"Running","startTime":"2021-05-25T06:09:19Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:09:31 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool create + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --location --availability-zones --subnet-id --sku + --disks + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a","name":"87fb07a8-9e0f-4663-8120-21635d5fdc5a","status":"Running","startTime":"2021-05-25T06:09:19Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:10:01 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool create + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --location --availability-zones --subnet-id --sku + --disks + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a","name":"87fb07a8-9e0f-4663-8120-21635d5fdc5a","status":"Running","startTime":"2021-05-25T06:09:19Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:10:31 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool create + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --location --availability-zones --subnet-id --sku + --disks + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a","name":"87fb07a8-9e0f-4663-8120-21635d5fdc5a","status":"Running","startTime":"2021-05-25T06:09:19Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:11:02 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool create + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --location --availability-zones --subnet-id --sku + --disks + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a","name":"87fb07a8-9e0f-4663-8120-21635d5fdc5a","status":"Running","startTime":"2021-05-25T06:09:19Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:11:32 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool create + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --location --availability-zones --subnet-id --sku + --disks + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a","name":"87fb07a8-9e0f-4663-8120-21635d5fdc5a","status":"Running","startTime":"2021-05-25T06:09:19Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:12:02 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool create + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --location --availability-zones --subnet-id --sku + --disks + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a","name":"87fb07a8-9e0f-4663-8120-21635d5fdc5a","status":"Running","startTime":"2021-05-25T06:09:19Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:12:33 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool create + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --location --availability-zones --subnet-id --sku + --disks + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a","name":"87fb07a8-9e0f-4663-8120-21635d5fdc5a","status":"Running","startTime":"2021-05-25T06:09:19Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:13:04 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool create + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --location --availability-zones --subnet-id --sku + --disks + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a","name":"87fb07a8-9e0f-4663-8120-21635d5fdc5a","status":"Running","startTime":"2021-05-25T06:09:19Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:13:34 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool create + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --location --availability-zones --subnet-id --sku + --disks + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a","name":"87fb07a8-9e0f-4663-8120-21635d5fdc5a","status":"Running","startTime":"2021-05-25T06:09:19Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:14:05 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool create + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --location --availability-zones --subnet-id --sku + --disks + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a","name":"87fb07a8-9e0f-4663-8120-21635d5fdc5a","status":"Running","startTime":"2021-05-25T06:09:19Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:14:38 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool create + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --location --availability-zones --subnet-id --sku + --disks + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a","name":"87fb07a8-9e0f-4663-8120-21635d5fdc5a","status":"Running","startTime":"2021-05-25T06:09:19Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:15:08 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool create + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --location --availability-zones --subnet-id --sku + --disks + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a","name":"87fb07a8-9e0f-4663-8120-21635d5fdc5a","status":"Running","startTime":"2021-05-25T06:09:19Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:15:38 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool create + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --location --availability-zones --subnet-id --sku + --disks + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a","name":"87fb07a8-9e0f-4663-8120-21635d5fdc5a","status":"Running","startTime":"2021-05-25T06:09:19Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:16:09 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool create + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --location --availability-zones --subnet-id --sku + --disks + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a","name":"87fb07a8-9e0f-4663-8120-21635d5fdc5a","status":"Running","startTime":"2021-05-25T06:09:19Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:16:39 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool create + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --location --availability-zones --subnet-id --sku + --disks + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a","name":"87fb07a8-9e0f-4663-8120-21635d5fdc5a","status":"Running","startTime":"2021-05-25T06:09:19Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:17:10 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool create + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --location --availability-zones --subnet-id --sku + --disks + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a","name":"87fb07a8-9e0f-4663-8120-21635d5fdc5a","status":"Running","startTime":"2021-05-25T06:09:19Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:17:41 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool create + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --location --availability-zones --subnet-id --sku + --disks + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a","name":"87fb07a8-9e0f-4663-8120-21635d5fdc5a","status":"Running","startTime":"2021-05-25T06:09:19Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:18:11 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool create + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --location --availability-zones --subnet-id --sku + --disks + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a","name":"87fb07a8-9e0f-4663-8120-21635d5fdc5a","status":"Running","startTime":"2021-05-25T06:09:19Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:18:41 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool create + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --location --availability-zones --subnet-id --sku + --disks + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a","name":"87fb07a8-9e0f-4663-8120-21635d5fdc5a","status":"Running","startTime":"2021-05-25T06:09:19Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:19:11 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool create + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --location --availability-zones --subnet-id --sku + --disks + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a","name":"87fb07a8-9e0f-4663-8120-21635d5fdc5a","status":"Succeeded","startTime":"2021-05-25T06:09:19Z","endTime":"2021-05-25T06:19:34Z","properties":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006","name":"diskpool000006","type":"Microsoft.StoragePool/diskPools","location":"eastus","tags":{},"systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-05-25T06:09:17.0897576Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-05-25T06:09:17.0897576Z"},"properties":{"disks":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"}],"availabilityZones":["3"],"subnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005","provisioningState":"Succeeded","status":"Running"},"sku":{"name":"Standard","tier":"Standard"}}}' + headers: + cache-control: + - no-cache + content-length: + - '1208' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:19:43 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool create + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --location --availability-zones --subnet-id --sku + --disks + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006","name":"diskpool000006","type":"Microsoft.StoragePool/diskPools","location":"eastus","tags":{},"systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-05-25T06:09:17.0897576Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-05-25T06:09:17.0897576Z"},"properties":{"disks":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"}],"availabilityZones":["3"],"subnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005","provisioningState":"Succeeded","status":"Running"},"sku":{"name":"Standard","tier":"Standard"}}' + headers: + cache-control: + - no-cache + content-length: + - '929' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:19:44 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool show + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006","name":"diskpool000006","type":"Microsoft.StoragePool/diskPools","location":"eastus","tags":{},"systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-05-25T06:09:17.0897576Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-05-25T06:09:17.0897576Z"},"properties":{"disks":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"}],"availabilityZones":["3"],"subnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005","provisioningState":"Succeeded","status":"Running"},"sku":{"name":"Standard","tier":"Standard"}}' + headers: + cache-control: + - no-cache + content-length: + - '929' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:19:45 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool list + Connection: + - keep-alive + ParameterSetName: + - --resource-group + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools?api-version=2021-04-01-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006","name":"diskpool000006","type":"Microsoft.StoragePool/diskPools","location":"eastus","tags":{},"systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-05-25T06:09:17.0897576Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-05-25T06:09:17.0897576Z"},"properties":{"disks":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"}],"availabilityZones":["3"],"subnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005","provisioningState":"Succeeded","status":"Running"},"sku":{"name":"Standard","tier":"Standard"}}],"nextLink":null}' + headers: + cache-control: + - no-cache + content-length: + - '957' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:19:46 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"aclMode": "Dynamic", "luns": [{"name": "lun0", "managedDiskAzureResourceId": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"}]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool iscsi-target create + Connection: + - keep-alive + Content-Length: + - '228' + Content-Type: + - application/json + ParameterSetName: + - --name --disk-pool-name --resource-group --acl-mode --luns + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007","name":"iscsi000007","type":"Microsoft.StoragePool/diskPools/iscsiTargets","systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-05-25T06:19:48.0331286Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-05-25T06:19:48.0331286Z"},"properties":{"targetIqn":"iqn.2021-05.com.microsoft:iscsi000007","aclMode":"Dynamic","luns":[{"managedDiskAzureResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002","name":"lun0","lun":0}],"endpoints":["10.0.0.4:3260","10.0.0.5:3260"],"provisioningState":"Pending","status":"Unknown"}}' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/37ec0a36-4121-4691-9344-1420673ea6be?api-version=2021-04-01-preview + cache-control: + - no-cache + content-length: + - '849' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:19:48 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-async-operation-timeout: + - PT1H + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-ms-return-client-request-id: + - 'true' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool iscsi-target create + Connection: + - keep-alive + ParameterSetName: + - --name --disk-pool-name --resource-group --acl-mode --luns + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/37ec0a36-4121-4691-9344-1420673ea6be?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/37ec0a36-4121-4691-9344-1420673ea6be","name":"37ec0a36-4121-4691-9344-1420673ea6be","status":"Running","startTime":"2021-05-25T06:19:49Z"}' + headers: + cache-control: + - no-cache + content-length: + - '230' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:19:59 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool iscsi-target create + Connection: + - keep-alive + ParameterSetName: + - --name --disk-pool-name --resource-group --acl-mode --luns + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/37ec0a36-4121-4691-9344-1420673ea6be?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/37ec0a36-4121-4691-9344-1420673ea6be","name":"37ec0a36-4121-4691-9344-1420673ea6be","status":"Running","startTime":"2021-05-25T06:19:49Z"}' + headers: + cache-control: + - no-cache + content-length: + - '230' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:20:29 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool iscsi-target create + Connection: + - keep-alive + ParameterSetName: + - --name --disk-pool-name --resource-group --acl-mode --luns + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/37ec0a36-4121-4691-9344-1420673ea6be?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/37ec0a36-4121-4691-9344-1420673ea6be","name":"37ec0a36-4121-4691-9344-1420673ea6be","status":"Running","startTime":"2021-05-25T06:19:49Z"}' + headers: + cache-control: + - no-cache + content-length: + - '230' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:21:00 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool iscsi-target create + Connection: + - keep-alive + ParameterSetName: + - --name --disk-pool-name --resource-group --acl-mode --luns + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/37ec0a36-4121-4691-9344-1420673ea6be?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/37ec0a36-4121-4691-9344-1420673ea6be","name":"37ec0a36-4121-4691-9344-1420673ea6be","status":"Succeeded","startTime":"2021-05-25T06:19:49Z","endTime":"2021-05-25T06:21:03Z","properties":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007","name":"iscsi000007","type":"Microsoft.StoragePool/diskPools/iscsiTargets","systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-05-25T06:19:48.0331286Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-05-25T06:19:48.0331286Z"},"properties":{"targetIqn":"iqn.2021-05.com.microsoft:iscsi000007","aclMode":"Dynamic","luns":[{"managedDiskAzureResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002","name":"lun0","lun":0}],"endpoints":["10.0.0.4:3260","10.0.0.5:3260"],"provisioningState":"Succeeded","status":"Healthy"}}}' + headers: + cache-control: + - no-cache + content-length: + - '1130' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:21:31 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool iscsi-target create + Connection: + - keep-alive + ParameterSetName: + - --name --disk-pool-name --resource-group --acl-mode --luns + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007","name":"iscsi000007","type":"Microsoft.StoragePool/diskPools/iscsiTargets","systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-05-25T06:19:48.0331286Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-05-25T06:19:48.0331286Z"},"properties":{"targetIqn":"iqn.2021-05.com.microsoft:iscsi000007","aclMode":"Dynamic","luns":[{"managedDiskAzureResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002","name":"lun0","lun":0}],"endpoints":["10.0.0.4:3260","10.0.0.5:3260"],"provisioningState":"Succeeded","status":"Healthy"}}' + headers: + cache-control: + - no-cache + content-length: + - '851' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:21:31 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool iscsi-target show + Connection: + - keep-alive + ParameterSetName: + - --name --disk-pool-name --resource-group + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007","name":"iscsi000007","type":"Microsoft.StoragePool/diskPools/iscsiTargets","systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-05-25T06:19:48.0331286Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-05-25T06:19:48.0331286Z"},"properties":{"targetIqn":"iqn.2021-05.com.microsoft:iscsi000007","aclMode":"Dynamic","luns":[{"managedDiskAzureResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002","name":"lun0","lun":0}],"endpoints":["10.0.0.4:3260","10.0.0.5:3260"],"provisioningState":"Succeeded","status":"Healthy"}}' + headers: + cache-control: + - no-cache + content-length: + - '851' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:21:32 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool iscsi-target list + Connection: + - keep-alive + ParameterSetName: + - --disk-pool-name --resource-group + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets?api-version=2021-04-01-preview + response: + body: + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007","name":"iscsi000007","type":"Microsoft.StoragePool/diskPools/iscsiTargets","systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-05-25T06:19:48.0331286Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-05-25T06:19:48.0331286Z"},"properties":{"targetIqn":"iqn.2021-05.com.microsoft:iscsi000007","aclMode":"Dynamic","luns":[{"managedDiskAzureResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002","name":"lun0","lun":0}],"endpoints":["10.0.0.4:3260","10.0.0.5:3260"],"provisioningState":"Succeeded","status":"Healthy"}}],"nextLink":null}' + headers: + cache-control: + - no-cache + content-length: + - '879' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:21:34 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"disks": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"}, + {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003"}]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool update + Connection: + - keep-alive + Content-Length: + - '307' + Content-Type: + - application/json + ParameterSetName: + - --name --resource-group --disks + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006?api-version=2021-04-01-preview + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/5aeb37cc-a246-4503-a7dd-7a78433196c6?api-version=2021-04-01-preview + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 25 May 2021 06:21:37 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationresults/5aeb37cc-a246-4503-a7dd-7a78433196c6?api-version=2021-04-01-preview + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-async-operation-timeout: + - PT1H + x-ms-ratelimit-remaining-subscription-writes: + - '1197' + x-ms-return-client-request-id: + - 'true' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool update + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --disks + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/5aeb37cc-a246-4503-a7dd-7a78433196c6?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/5aeb37cc-a246-4503-a7dd-7a78433196c6","name":"5aeb37cc-a246-4503-a7dd-7a78433196c6","status":"Running","startTime":"2021-05-25T06:21:37Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:21:47 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool update + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --disks + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/5aeb37cc-a246-4503-a7dd-7a78433196c6?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/5aeb37cc-a246-4503-a7dd-7a78433196c6","name":"5aeb37cc-a246-4503-a7dd-7a78433196c6","status":"Running","startTime":"2021-05-25T06:21:37Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:22:17 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool update + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --disks + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/5aeb37cc-a246-4503-a7dd-7a78433196c6?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/5aeb37cc-a246-4503-a7dd-7a78433196c6","name":"5aeb37cc-a246-4503-a7dd-7a78433196c6","status":"Running","startTime":"2021-05-25T06:21:37Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:22:47 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool update + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --disks + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/5aeb37cc-a246-4503-a7dd-7a78433196c6?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/5aeb37cc-a246-4503-a7dd-7a78433196c6","name":"5aeb37cc-a246-4503-a7dd-7a78433196c6","status":"Running","startTime":"2021-05-25T06:21:37Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:23:19 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool update + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --disks + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/5aeb37cc-a246-4503-a7dd-7a78433196c6?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/5aeb37cc-a246-4503-a7dd-7a78433196c6","name":"5aeb37cc-a246-4503-a7dd-7a78433196c6","status":"Running","startTime":"2021-05-25T06:21:37Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:23:49 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool update + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --disks + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/5aeb37cc-a246-4503-a7dd-7a78433196c6?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/5aeb37cc-a246-4503-a7dd-7a78433196c6","name":"5aeb37cc-a246-4503-a7dd-7a78433196c6","status":"Succeeded","startTime":"2021-05-25T06:21:37Z","endTime":"2021-05-25T06:23:57Z","properties":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006","name":"diskpool000006","type":"Microsoft.StoragePool/diskPools","location":"eastus","tags":{},"systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-05-25T06:09:17.0897576Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-05-25T06:21:35.5269744Z"},"properties":{"disks":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003"}],"availabilityZones":["3"],"subnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005","provisioningState":"Succeeded","status":"Running"},"sku":{"name":"Standard","tier":"Standard"}}}' + headers: + cache-control: + - no-cache + content-length: + - '1346' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:24:19 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool update + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --disks + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006","name":"diskpool000006","type":"Microsoft.StoragePool/diskPools","location":"eastus","tags":{},"systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-05-25T06:09:17.0897576Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-05-25T06:21:35.5269744Z"},"properties":{"disks":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003"}],"availabilityZones":["3"],"subnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005","provisioningState":"Succeeded","status":"Running"},"sku":{"name":"Standard","tier":"Standard"}}' + headers: + cache-control: + - no-cache + content-length: + - '1067' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:24:19 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"luns": [{"name": "lun0", "managedDiskAzureResourceId": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"}, + {"name": "lun1", "managedDiskAzureResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003"}]}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool iscsi-target update + Connection: + - keep-alive + Content-Length: + - '386' + Content-Type: + - application/json + ParameterSetName: + - --name --disk-pool-name --resource-group --luns --luns + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: PATCH + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007?api-version=2021-04-01-preview + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/f1c94a62-69eb-4515-870d-fbcefcf5e7ff?api-version=2021-04-01-preview + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 25 May 2021 06:24:22 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationresults/f1c94a62-69eb-4515-870d-fbcefcf5e7ff?api-version=2021-04-01-preview + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-async-operation-timeout: + - PT1H + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + x-ms-return-client-request-id: + - 'true' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool iscsi-target update + Connection: + - keep-alive + ParameterSetName: + - --name --disk-pool-name --resource-group --luns --luns + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/f1c94a62-69eb-4515-870d-fbcefcf5e7ff?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/f1c94a62-69eb-4515-870d-fbcefcf5e7ff","name":"f1c94a62-69eb-4515-870d-fbcefcf5e7ff","status":"Running","startTime":"2021-05-25T06:24:22Z"}' + headers: + cache-control: + - no-cache + content-length: + - '230' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:24:32 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool iscsi-target update + Connection: + - keep-alive + ParameterSetName: + - --name --disk-pool-name --resource-group --luns --luns + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/f1c94a62-69eb-4515-870d-fbcefcf5e7ff?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/f1c94a62-69eb-4515-870d-fbcefcf5e7ff","name":"f1c94a62-69eb-4515-870d-fbcefcf5e7ff","status":"Running","startTime":"2021-05-25T06:24:22Z"}' + headers: + cache-control: + - no-cache + content-length: + - '230' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:25:03 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool iscsi-target update + Connection: + - keep-alive + ParameterSetName: + - --name --disk-pool-name --resource-group --luns --luns + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/f1c94a62-69eb-4515-870d-fbcefcf5e7ff?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/f1c94a62-69eb-4515-870d-fbcefcf5e7ff","name":"f1c94a62-69eb-4515-870d-fbcefcf5e7ff","status":"Running","startTime":"2021-05-25T06:24:22Z"}' + headers: + cache-control: + - no-cache + content-length: + - '230' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:25:33 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool iscsi-target update + Connection: + - keep-alive + ParameterSetName: + - --name --disk-pool-name --resource-group --luns --luns + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/f1c94a62-69eb-4515-870d-fbcefcf5e7ff?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/f1c94a62-69eb-4515-870d-fbcefcf5e7ff","name":"f1c94a62-69eb-4515-870d-fbcefcf5e7ff","status":"Succeeded","startTime":"2021-05-25T06:24:22Z","endTime":"2021-05-25T06:25:59Z","properties":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007","name":"iscsi000007","type":"Microsoft.StoragePool/diskPools/iscsiTargets","systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-05-25T06:19:48.0331286Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-05-25T06:24:21.2019994Z"},"properties":{"targetIqn":"iqn.2021-05.com.microsoft:iscsi000007","aclMode":"Dynamic","luns":[{"managedDiskAzureResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002","name":"lun0","lun":0},{"managedDiskAzureResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003","name":"lun1","lun":1}],"endpoints":["10.0.0.4:3260","10.0.0.5:3260"],"provisioningState":"Succeeded","status":"Healthy"}}}' + headers: + cache-control: + - no-cache + content-length: + - '1314' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:26:04 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool iscsi-target update + Connection: + - keep-alive + ParameterSetName: + - --name --disk-pool-name --resource-group --luns --luns + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007","name":"iscsi000007","type":"Microsoft.StoragePool/diskPools/iscsiTargets","systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-05-25T06:19:48.0331286Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-05-25T06:24:21.2019994Z"},"properties":{"targetIqn":"iqn.2021-05.com.microsoft:iscsi000007","aclMode":"Dynamic","luns":[{"managedDiskAzureResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002","name":"lun0","lun":0},{"managedDiskAzureResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003","name":"lun1","lun":1}],"endpoints":["10.0.0.4:3260","10.0.0.5:3260"],"provisioningState":"Succeeded","status":"Healthy"}}' + headers: + cache-control: + - no-cache + content-length: + - '1035' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:26:04 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool stop + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/deallocate?api-version=2021-04-01-preview + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/ba31ec2f-7235-4783-82d7-c3940bccaa3a?api-version=2021-04-01-preview + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 25 May 2021 06:26:06 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationresults/ba31ec2f-7235-4783-82d7-c3940bccaa3a?api-version=2021-04-01-preview + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-ms-return-client-request-id: + - 'true' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool stop + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/ba31ec2f-7235-4783-82d7-c3940bccaa3a?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/ba31ec2f-7235-4783-82d7-c3940bccaa3a","name":"ba31ec2f-7235-4783-82d7-c3940bccaa3a","status":"Running","startTime":"2021-05-25T06:26:06Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:26:17 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool stop + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/ba31ec2f-7235-4783-82d7-c3940bccaa3a?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/ba31ec2f-7235-4783-82d7-c3940bccaa3a","name":"ba31ec2f-7235-4783-82d7-c3940bccaa3a","status":"Running","startTime":"2021-05-25T06:26:06Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:26:47 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool stop + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/ba31ec2f-7235-4783-82d7-c3940bccaa3a?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/ba31ec2f-7235-4783-82d7-c3940bccaa3a","name":"ba31ec2f-7235-4783-82d7-c3940bccaa3a","status":"Running","startTime":"2021-05-25T06:26:06Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:27:17 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool stop + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/ba31ec2f-7235-4783-82d7-c3940bccaa3a?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/ba31ec2f-7235-4783-82d7-c3940bccaa3a","name":"ba31ec2f-7235-4783-82d7-c3940bccaa3a","status":"Running","startTime":"2021-05-25T06:26:06Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:27:47 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool stop + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/ba31ec2f-7235-4783-82d7-c3940bccaa3a?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/ba31ec2f-7235-4783-82d7-c3940bccaa3a","name":"ba31ec2f-7235-4783-82d7-c3940bccaa3a","status":"Running","startTime":"2021-05-25T06:26:06Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:28:18 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool stop + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/ba31ec2f-7235-4783-82d7-c3940bccaa3a?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/ba31ec2f-7235-4783-82d7-c3940bccaa3a","name":"ba31ec2f-7235-4783-82d7-c3940bccaa3a","status":"Running","startTime":"2021-05-25T06:26:06Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:28:48 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool stop + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/ba31ec2f-7235-4783-82d7-c3940bccaa3a?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/ba31ec2f-7235-4783-82d7-c3940bccaa3a","name":"ba31ec2f-7235-4783-82d7-c3940bccaa3a","status":"Running","startTime":"2021-05-25T06:26:06Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:29:20 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool stop + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/ba31ec2f-7235-4783-82d7-c3940bccaa3a?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/ba31ec2f-7235-4783-82d7-c3940bccaa3a","name":"ba31ec2f-7235-4783-82d7-c3940bccaa3a","status":"Running","startTime":"2021-05-25T06:26:06Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:29:50 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool stop + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/ba31ec2f-7235-4783-82d7-c3940bccaa3a?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/ba31ec2f-7235-4783-82d7-c3940bccaa3a","name":"ba31ec2f-7235-4783-82d7-c3940bccaa3a","status":"Running","startTime":"2021-05-25T06:26:06Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:30:20 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool stop + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/ba31ec2f-7235-4783-82d7-c3940bccaa3a?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/ba31ec2f-7235-4783-82d7-c3940bccaa3a","name":"ba31ec2f-7235-4783-82d7-c3940bccaa3a","status":"Running","startTime":"2021-05-25T06:26:06Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:30:50 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool stop + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/ba31ec2f-7235-4783-82d7-c3940bccaa3a?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/ba31ec2f-7235-4783-82d7-c3940bccaa3a","name":"ba31ec2f-7235-4783-82d7-c3940bccaa3a","status":"Succeeded","startTime":"2021-05-25T06:26:06Z","endTime":"2021-05-25T06:31:14Z","properties":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006","name":"diskpool000006","type":"Microsoft.StoragePool/diskPools","location":"eastus","tags":{},"systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-05-25T06:09:17.0897576Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-05-25T06:21:35.5269744Z"},"properties":{"disks":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003"}],"availabilityZones":["3"],"subnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005","provisioningState":"Succeeded","status":"Stopped + (deallocated)"},"sku":{"name":"Standard","tier":"Standard"}}}' + headers: + cache-control: + - no-cache + content-length: + - '1360' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:31:21 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool show + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006","name":"diskpool000006","type":"Microsoft.StoragePool/diskPools","location":"eastus","tags":{},"systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-05-25T06:09:17.0897576Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-05-25T06:21:35.5269744Z"},"properties":{"disks":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003"}],"availabilityZones":["3"],"subnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005","provisioningState":"Succeeded","status":"Stopped + (deallocated)"},"sku":{"name":"Standard","tier":"Standard"}}' + headers: + cache-control: + - no-cache + content-length: + - '1081' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:31:24 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool start + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/start?api-version=2021-04-01-preview + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/e208c283-fc07-4a03-a362-d4a05995fbdc?api-version=2021-04-01-preview + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 25 May 2021 06:31:25 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationresults/e208c283-fc07-4a03-a362-d4a05995fbdc?api-version=2021-04-01-preview + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-ms-return-client-request-id: + - 'true' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool start + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/e208c283-fc07-4a03-a362-d4a05995fbdc?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/e208c283-fc07-4a03-a362-d4a05995fbdc","name":"e208c283-fc07-4a03-a362-d4a05995fbdc","status":"Running","startTime":"2021-05-25T06:31:25Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:31:36 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool start + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/e208c283-fc07-4a03-a362-d4a05995fbdc?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/e208c283-fc07-4a03-a362-d4a05995fbdc","name":"e208c283-fc07-4a03-a362-d4a05995fbdc","status":"Running","startTime":"2021-05-25T06:31:25Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:32:06 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool start + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/e208c283-fc07-4a03-a362-d4a05995fbdc?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/e208c283-fc07-4a03-a362-d4a05995fbdc","name":"e208c283-fc07-4a03-a362-d4a05995fbdc","status":"Running","startTime":"2021-05-25T06:31:25Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:32:37 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool start + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/e208c283-fc07-4a03-a362-d4a05995fbdc?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/e208c283-fc07-4a03-a362-d4a05995fbdc","name":"e208c283-fc07-4a03-a362-d4a05995fbdc","status":"Running","startTime":"2021-05-25T06:31:25Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:33:07 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool start + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/e208c283-fc07-4a03-a362-d4a05995fbdc?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/e208c283-fc07-4a03-a362-d4a05995fbdc","name":"e208c283-fc07-4a03-a362-d4a05995fbdc","status":"Succeeded","startTime":"2021-05-25T06:31:25Z","endTime":"2021-05-25T06:33:24Z","properties":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006","name":"diskpool000006","type":"Microsoft.StoragePool/diskPools","location":"eastus","tags":{},"systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-05-25T06:09:17.0897576Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-05-25T06:21:35.5269744Z"},"properties":{"disks":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003"}],"availabilityZones":["3"],"subnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005","provisioningState":"Succeeded","status":"Running"},"sku":{"name":"Standard","tier":"Standard"}}}' + headers: + cache-control: + - no-cache + content-length: + - '1346' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:33:38 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool show + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006","name":"diskpool000006","type":"Microsoft.StoragePool/diskPools","location":"eastus","tags":{},"systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-05-25T06:09:17.0897576Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-05-25T06:21:35.5269744Z"},"properties":{"disks":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003"}],"availabilityZones":["3"],"subnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005","provisioningState":"Succeeded","status":"Running"},"sku":{"name":"Standard","tier":"Standard"}}' + headers: + cache-control: + - no-cache + content-length: + - '1067' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:33:40 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool iscsi-target delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --name --disk-pool-name --resource-group -y + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007?api-version=2021-04-01-preview + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/d98fd278-4392-4e5d-93ce-9fbaa67cead1?api-version=2021-04-01-preview + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 25 May 2021 06:33:42 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationresults/d98fd278-4392-4e5d-93ce-9fbaa67cead1?api-version=2021-04-01-preview + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-async-operation-timeout: + - PT1H + x-ms-ratelimit-remaining-subscription-deletes: + - '14993' + x-ms-return-client-request-id: + - 'true' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool iscsi-target delete + Connection: + - keep-alive + ParameterSetName: + - --name --disk-pool-name --resource-group -y + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/d98fd278-4392-4e5d-93ce-9fbaa67cead1?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/d98fd278-4392-4e5d-93ce-9fbaa67cead1","name":"d98fd278-4392-4e5d-93ce-9fbaa67cead1","status":"Running","startTime":"2021-05-25T06:33:42Z"}' + headers: + cache-control: + - no-cache + content-length: + - '224' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:33:52 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool iscsi-target delete + Connection: + - keep-alive + ParameterSetName: + - --name --disk-pool-name --resource-group -y + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/d98fd278-4392-4e5d-93ce-9fbaa67cead1?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/d98fd278-4392-4e5d-93ce-9fbaa67cead1","name":"d98fd278-4392-4e5d-93ce-9fbaa67cead1","status":"Succeeded","startTime":"2021-05-25T06:33:42Z"}' + headers: + cache-control: + - no-cache + content-length: + - '232' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:34:22 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool iscsi-target list + Connection: + - keep-alive + ParameterSetName: + - --disk-pool-name --resource-group + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets?api-version=2021-04-01-preview + response: + body: + string: '{"value":[],"nextLink":null}' + headers: + cache-control: + - no-cache + content-length: + - '28' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:34:24 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006?api-version=2021-04-01-preview + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/3604f57a-e231-4563-81e7-c318a2e14878?api-version=2021-04-01-preview + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 25 May 2021 06:34:27 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationresults/3604f57a-e231-4563-81e7-c318a2e14878?api-version=2021-04-01-preview + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-async-operation-timeout: + - PT1H + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-ms-return-client-request-id: + - 'true' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/3604f57a-e231-4563-81e7-c318a2e14878?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/3604f57a-e231-4563-81e7-c318a2e14878","name":"3604f57a-e231-4563-81e7-c318a2e14878","status":"Running","startTime":"2021-05-25T06:34:27Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '237' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:34:37 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/3604f57a-e231-4563-81e7-c318a2e14878?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/3604f57a-e231-4563-81e7-c318a2e14878","name":"3604f57a-e231-4563-81e7-c318a2e14878","status":"Running","startTime":"2021-05-25T06:34:27Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '237' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:35:07 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/3604f57a-e231-4563-81e7-c318a2e14878?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/3604f57a-e231-4563-81e7-c318a2e14878","name":"3604f57a-e231-4563-81e7-c318a2e14878","status":"Running","startTime":"2021-05-25T06:34:27Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '237' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:35:38 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/3604f57a-e231-4563-81e7-c318a2e14878?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/3604f57a-e231-4563-81e7-c318a2e14878","name":"3604f57a-e231-4563-81e7-c318a2e14878","status":"Running","startTime":"2021-05-25T06:34:27Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '237' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:36:09 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/3604f57a-e231-4563-81e7-c318a2e14878?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/3604f57a-e231-4563-81e7-c318a2e14878","name":"3604f57a-e231-4563-81e7-c318a2e14878","status":"Running","startTime":"2021-05-25T06:34:27Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '237' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:36:39 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/3604f57a-e231-4563-81e7-c318a2e14878?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/3604f57a-e231-4563-81e7-c318a2e14878","name":"3604f57a-e231-4563-81e7-c318a2e14878","status":"Running","startTime":"2021-05-25T06:34:27Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '237' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:37:09 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/3604f57a-e231-4563-81e7-c318a2e14878?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/3604f57a-e231-4563-81e7-c318a2e14878","name":"3604f57a-e231-4563-81e7-c318a2e14878","status":"Running","startTime":"2021-05-25T06:34:27Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '237' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:37:40 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/3604f57a-e231-4563-81e7-c318a2e14878?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/3604f57a-e231-4563-81e7-c318a2e14878","name":"3604f57a-e231-4563-81e7-c318a2e14878","status":"Running","startTime":"2021-05-25T06:34:27Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '237' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:38:10 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/3604f57a-e231-4563-81e7-c318a2e14878?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/3604f57a-e231-4563-81e7-c318a2e14878","name":"3604f57a-e231-4563-81e7-c318a2e14878","status":"Running","startTime":"2021-05-25T06:34:27Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '237' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:38:40 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/3604f57a-e231-4563-81e7-c318a2e14878?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/3604f57a-e231-4563-81e7-c318a2e14878","name":"3604f57a-e231-4563-81e7-c318a2e14878","status":"Running","startTime":"2021-05-25T06:34:27Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '237' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:39:11 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/3604f57a-e231-4563-81e7-c318a2e14878?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/3604f57a-e231-4563-81e7-c318a2e14878","name":"3604f57a-e231-4563-81e7-c318a2e14878","status":"Running","startTime":"2021-05-25T06:34:27Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '237' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:39:43 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/3604f57a-e231-4563-81e7-c318a2e14878?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/3604f57a-e231-4563-81e7-c318a2e14878","name":"3604f57a-e231-4563-81e7-c318a2e14878","status":"Running","startTime":"2021-05-25T06:34:27Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '237' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:40:13 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/3604f57a-e231-4563-81e7-c318a2e14878?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/3604f57a-e231-4563-81e7-c318a2e14878","name":"3604f57a-e231-4563-81e7-c318a2e14878","status":"Succeeded","startTime":"2021-05-25T06:34:27Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '245' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:40:43 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool list + Connection: + - keep-alive + ParameterSetName: + - --resource-group + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools?api-version=2021-04-01-preview + response: + body: + string: '{"value":[],"nextLink":null}' + headers: + cache-control: + - no-cache + content-length: + - '28' + content-type: + - application/json + date: + - Tue, 25 May 2021 06:40:45 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +version: 1 diff --git a/src/diskpool/azext_diskpool/tests/latest/test_disk_scenario_manual.py b/src/diskpool/azext_diskpool/tests/latest/test_disk_scenario_manual.py new file mode 100644 index 00000000000..8fb778a7df3 --- /dev/null +++ b/src/diskpool/azext_diskpool/tests/latest/test_disk_scenario_manual.py @@ -0,0 +1,116 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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 mock +from azure.cli.testsdk import ScenarioTest +from azure.cli.testsdk import ResourceGroupPreparer + + +class DiskpoolScenarioTest(ScenarioTest): + @ResourceGroupPreparer(name_prefix='clitest', location='eastus', random_name_length=16) + def test_diskpool_scenario_manual(self, resource_group): + self.kwargs.update({ + 'rg': resource_group, + 'diskName': self.create_random_name(prefix='disk', length=10), + 'diskName2': self.create_random_name(prefix='disk', length=10), + 'vnet': self.create_random_name(prefix='vnet', length=10), + 'subnet': self.create_random_name(prefix='subnet', length=10), + 'subnetPrefix': '10.0.0.0/24', + 'zone': "3", + 'diskPoolName': self.create_random_name(prefix='diskpool', length=16), + 'location': 'eastus', + 'targetName': self.create_random_name(prefix='iscsi', length=10), + 'storagePoolObjectId': '09f10f07-08cf-4ab7-be0f-e9ae3d72b9ad' + }) + result = self.cmd('disk create --name {diskName} --resource-group {rg} --zone {zone} --location {location} ' + '--sku Premium_LRS --max-shares 2 --size-gb 256').get_output_in_json() + self.kwargs['diskId'] = result['id'] + result = self.cmd('disk create --name {diskName2} --resource-group {rg} --zone {zone} --location {location} ' + '--sku Premium_LRS --max-shares 2 --size-gb 256').get_output_in_json() + self.kwargs['diskId2'] = result['id'] + with mock.patch('azure.cli.command_modules.role.custom._gen_guid', side_effect=self.create_guid): + self.cmd('role assignment create --assignee-object-id {storagePoolObjectId} --role "Virtual Machine Contributor" --scope {diskId}') + with mock.patch('azure.cli.command_modules.role.custom._gen_guid', side_effect=self.create_guid): + self.cmd('role assignment create --assignee-object-id {storagePoolObjectId} --role "Virtual Machine Contributor" --scope {diskId2}') + + self.cmd('network vnet create --name {vnet} --resource-group {rg} --location {location}') + result = self.cmd('network vnet subnet create --name {subnet} --vnet-name {vnet} --resource-group {rg} ' + '--address-prefixes {subnetPrefix} --delegations Microsoft.StoragePool/diskPools').get_output_in_json() + self.kwargs['subnetId'] = result['id'] + + # Create a Disk Pool + self.cmd('disk-pool create --name {diskPoolName} --resource-group {rg} --location {location} ' + '--availability-zones {zone} --subnet-id {subnetId} --sku name="Standard" tier="Standard" ' + '--disks {diskId}', checks=[self.check('name', '{diskPoolName}'), + self.check('availabilityZones[0]', '{zone}'), + self.check('disks[0].id', '{diskId}'), + self.check('subnetId', '{subnetId}'), + self.check('tier', 'Standard')]) + self.cmd('disk-pool show --name {diskPoolName} --resource-group {rg}', + checks=[self.check('name', '{diskPoolName}'), + self.check('availabilityZones[0]', '{zone}'), + self.check('disks[0].id', '{diskId}'), + self.check('subnetId', '{subnetId}'), + self.check('tier', 'Standard')]) + self.cmd('disk-pool list --resource-group {rg}', + checks=[self.check('length(@)', 1)]) + + # TODO: Add back when fixed in server + # self.cmd('disk-pool list-outbound-network-dependency-endpoint --name {diskPoolName} --resource-group {rg}', + # checks=[self.check('length(@)', 1)]) + + # Create an ISCSI target + self.cmd('disk-pool iscsi-target create --name {targetName} --disk-pool-name {diskPoolName} ' + '--resource-group {rg} --acl-mode Dynamic --luns name="lun0" managed-disk-azure-resource-id={diskId}', + checks=[self.check('aclMode', 'Dynamic'), + self.check('luns[0].managedDiskAzureResourceId', '{diskId}'), + self.check('luns[0].name', 'lun0')]) + self.cmd('disk-pool iscsi-target show --name {targetName} --disk-pool-name {diskPoolName} --resource-group {rg}', + checks=[self.check('aclMode', 'Dynamic'), + self.check('luns[0].managedDiskAzureResourceId', '{diskId}'), + self.check('luns[0].name', 'lun0')]) + self.cmd('disk-pool iscsi-target list --disk-pool-name {diskPoolName} --resource-group {rg}', + checks=[self.check('length(@)', 1)]) + + # Update Disk Pool + self.cmd('disk-pool update --name {diskPoolName} --resource-group {rg} --disks {diskId} {diskId2}', + checks=[self.check('name', '{diskPoolName}'), + self.check('disks[0].id', '{diskId}'), + self.check('disks[1].id', '{diskId2}')]) + + # Update iSCSI target -- add a LUN + self.cmd('disk-pool iscsi-target update --name {targetName} --disk-pool-name {diskPoolName} ' + '--resource-group {rg} --luns name="lun0" managed-disk-azure-resource-id={diskId} ' + '--luns name="lun1" managed-disk-azure-resource-id={diskId2}', + checks=[self.check('aclMode', 'Dynamic'), + self.check('luns[0].managedDiskAzureResourceId', '{diskId}'), + self.check('luns[0].name', 'lun0'), + self.check('luns[1].managedDiskAzureResourceId', '{diskId2}'), + self.check('luns[1].name', 'lun1')]) + + self.cmd('disk-pool stop --name {diskPoolName} --resource-group {rg}') + self.cmd('disk-pool show --name {diskPoolName} --resource-group {rg}', + checks=[self.check('status', 'Stopped (deallocated)')]) + + self.cmd('disk-pool start --name {diskPoolName} --resource-group {rg}') + self.cmd('disk-pool show --name {diskPoolName} --resource-group {rg}', + checks=[self.check('status', 'Running')]) + + self.cmd('disk-pool iscsi-target delete --name {targetName} --disk-pool-name {diskPoolName} ' + '--resource-group {rg} -y') + self.cmd('disk-pool iscsi-target list --disk-pool-name {diskPoolName} --resource-group {rg}', + checks=[self.check('length(@)', 0)]) + + self.cmd('disk-pool delete --name {diskPoolName} --resource-group {rg} -y') + self.cmd('disk-pool list --resource-group {rg}', + checks=[self.check('length(@)', 0)]) + + def test_diskpool_list_sku_scenario_manual(self): + result = self.cmd('disk-pool list-skus -l eastus ').get_output_in_json() + self.assertIsNotNone(result) diff --git a/src/diskpool/azext_diskpool/tests/latest/test_diskpool_scenario_coverage.md b/src/diskpool/azext_diskpool/tests/latest/test_diskpool_scenario_coverage.md new file mode 100644 index 00000000000..cb712843009 --- /dev/null +++ b/src/diskpool/azext_diskpool/tests/latest/test_diskpool_scenario_coverage.md @@ -0,0 +1,2 @@ +|Scenario|Result|ErrorMessage|ErrorStack|ErrorNormalized|StartDt|EndDt| +Coverage: 0/0 diff --git a/src/diskpool/azext_diskpool/vendored_sdks/__init__.py b/src/diskpool/azext_diskpool/vendored_sdks/__init__.py new file mode 100644 index 00000000000..c9cfdc73e77 --- /dev/null +++ b/src/diskpool/azext_diskpool/vendored_sdks/__init__.py @@ -0,0 +1,12 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +__path__ = __import__('pkgutil').extend_path(__path__, __name__) diff --git a/src/diskpool/azext_diskpool/vendored_sdks/storagepool/__init__.py b/src/diskpool/azext_diskpool/vendored_sdks/storagepool/__init__.py new file mode 100644 index 00000000000..40013efe44d --- /dev/null +++ b/src/diskpool/azext_diskpool/vendored_sdks/storagepool/__init__.py @@ -0,0 +1,16 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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_pool_management import StoragePoolManagement +__all__ = ['StoragePoolManagement'] + +try: + from ._patch import patch_sdk # type: ignore + patch_sdk() +except ImportError: + pass diff --git a/src/diskpool/azext_diskpool/vendored_sdks/storagepool/_configuration.py b/src/diskpool/azext_diskpool/vendored_sdks/storagepool/_configuration.py new file mode 100644 index 00000000000..24c1d0a6d8c --- /dev/null +++ b/src/diskpool/azext_diskpool/vendored_sdks/storagepool/_configuration.py @@ -0,0 +1,70 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies +from azure.mgmt.core.policies import ARMHttpLoggingPolicy + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any + + from azure.core.credentials import TokenCredential + +VERSION = "unknown" + +class StoragePoolManagementConfiguration(Configuration): + """Configuration for StoragePoolManagement. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + """ + + def __init__( + self, + credential, # type: "TokenCredential" + subscription_id, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + super(StoragePoolManagementConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2021-04-01-preview" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'storagepoolmanagement/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs # type: Any + ): + # type: (...) -> None + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = policies.BearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/diskpool/azext_diskpool/vendored_sdks/storagepool/_storage_pool_management.py b/src/diskpool/azext_diskpool/vendored_sdks/storagepool/_storage_pool_management.py new file mode 100644 index 00000000000..d59edd58b34 --- /dev/null +++ b/src/diskpool/azext_diskpool/vendored_sdks/storagepool/_storage_pool_management.py @@ -0,0 +1,85 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import TYPE_CHECKING + +from azure.mgmt.core import ARMPipelineClient +from msrest import Deserializer, Serializer + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Optional + + from azure.core.credentials import TokenCredential + +from ._configuration import StoragePoolManagementConfiguration +from .operations import Operations +from .operations import DiskPoolsOperations +from .operations import DiskPoolZonesOperations +from .operations import IscsiTargetsOperations +from . import models + + +class StoragePoolManagement(object): + """StoragePoolManagement. + + :ivar operations: Operations operations + :vartype operations: storage_pool_management.operations.Operations + :ivar disk_pools: DiskPoolsOperations operations + :vartype disk_pools: storage_pool_management.operations.DiskPoolsOperations + :ivar disk_pool_zones: DiskPoolZonesOperations operations + :vartype disk_pool_zones: storage_pool_management.operations.DiskPoolZonesOperations + :ivar iscsi_targets: IscsiTargetsOperations operations + :vartype iscsi_targets: storage_pool_management.operations.IscsiTargetsOperations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + """ + + def __init__( + self, + credential, # type: "TokenCredential" + subscription_id, # type: str + base_url=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> None + if not base_url: + base_url = 'https://management.azure.com' + self._config = StoragePoolManagementConfiguration(credential, subscription_id, **kwargs) + self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self._serialize = Serializer(client_models) + self._serialize.client_side_validation = False + self._deserialize = Deserializer(client_models) + + self.operations = Operations( + self._client, self._config, self._serialize, self._deserialize) + self.disk_pools = DiskPoolsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.disk_pool_zones = DiskPoolZonesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.iscsi_targets = IscsiTargetsOperations( + self._client, self._config, self._serialize, self._deserialize) + + def close(self): + # type: () -> None + self._client.close() + + def __enter__(self): + # type: () -> StoragePoolManagement + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/src/diskpool/azext_diskpool/vendored_sdks/storagepool/aio/__init__.py b/src/diskpool/azext_diskpool/vendored_sdks/storagepool/aio/__init__.py new file mode 100644 index 00000000000..9eb7de1efa2 --- /dev/null +++ b/src/diskpool/azext_diskpool/vendored_sdks/storagepool/aio/__init__.py @@ -0,0 +1,10 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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_pool_management import StoragePoolManagement +__all__ = ['StoragePoolManagement'] diff --git a/src/diskpool/azext_diskpool/vendored_sdks/storagepool/aio/_configuration.py b/src/diskpool/azext_diskpool/vendored_sdks/storagepool/aio/_configuration.py new file mode 100644 index 00000000000..9ee88b6831b --- /dev/null +++ b/src/diskpool/azext_diskpool/vendored_sdks/storagepool/aio/_configuration.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 typing import Any, TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies +from azure.mgmt.core.policies import ARMHttpLoggingPolicy + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + +VERSION = "unknown" + +class StoragePoolManagementConfiguration(Configuration): + """Configuration for StoragePoolManagement. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + """ + + def __init__( + self, + credential: "AsyncTokenCredential", + subscription_id: str, + **kwargs: Any + ) -> None: + if credential is None: + raise ValueError("Parameter 'credential' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + super(StoragePoolManagementConfiguration, self).__init__(**kwargs) + + self.credential = credential + self.subscription_id = subscription_id + self.api_version = "2021-04-01-preview" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'storagepoolmanagement/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs: Any + ) -> None: + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = policies.AsyncBearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/diskpool/azext_diskpool/vendored_sdks/storagepool/aio/_storage_pool_management.py b/src/diskpool/azext_diskpool/vendored_sdks/storagepool/aio/_storage_pool_management.py new file mode 100644 index 00000000000..e4888cf676b --- /dev/null +++ b/src/diskpool/azext_diskpool/vendored_sdks/storagepool/aio/_storage_pool_management.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 typing import Any, Optional, TYPE_CHECKING + +from azure.mgmt.core import AsyncARMPipelineClient +from msrest import Deserializer, Serializer + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from azure.core.credentials_async import AsyncTokenCredential + +from ._configuration import StoragePoolManagementConfiguration +from .operations import Operations +from .operations import DiskPoolsOperations +from .operations import DiskPoolZonesOperations +from .operations import IscsiTargetsOperations +from .. import models + + +class StoragePoolManagement(object): + """StoragePoolManagement. + + :ivar operations: Operations operations + :vartype operations: storage_pool_management.aio.operations.Operations + :ivar disk_pools: DiskPoolsOperations operations + :vartype disk_pools: storage_pool_management.aio.operations.DiskPoolsOperations + :ivar disk_pool_zones: DiskPoolZonesOperations operations + :vartype disk_pool_zones: storage_pool_management.aio.operations.DiskPoolZonesOperations + :ivar iscsi_targets: IscsiTargetsOperations operations + :vartype iscsi_targets: storage_pool_management.aio.operations.IscsiTargetsOperations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials_async.AsyncTokenCredential + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + """ + + def __init__( + self, + credential: "AsyncTokenCredential", + subscription_id: str, + base_url: Optional[str] = None, + **kwargs: Any + ) -> None: + if not base_url: + base_url = 'https://management.azure.com' + self._config = StoragePoolManagementConfiguration(credential, subscription_id, **kwargs) + self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self._serialize = Serializer(client_models) + self._serialize.client_side_validation = False + self._deserialize = Deserializer(client_models) + + self.operations = Operations( + self._client, self._config, self._serialize, self._deserialize) + self.disk_pools = DiskPoolsOperations( + self._client, self._config, self._serialize, self._deserialize) + self.disk_pool_zones = DiskPoolZonesOperations( + self._client, self._config, self._serialize, self._deserialize) + self.iscsi_targets = IscsiTargetsOperations( + self._client, self._config, self._serialize, self._deserialize) + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "StoragePoolManagement": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/src/diskpool/azext_diskpool/vendored_sdks/storagepool/aio/operations/__init__.py b/src/diskpool/azext_diskpool/vendored_sdks/storagepool/aio/operations/__init__.py new file mode 100644 index 00000000000..1620075f15e --- /dev/null +++ b/src/diskpool/azext_diskpool/vendored_sdks/storagepool/aio/operations/__init__.py @@ -0,0 +1,19 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ._disk_pools_operations import DiskPoolsOperations +from ._disk_pool_zones_operations import DiskPoolZonesOperations +from ._iscsi_targets_operations import IscsiTargetsOperations + +__all__ = [ + 'Operations', + 'DiskPoolsOperations', + 'DiskPoolZonesOperations', + 'IscsiTargetsOperations', +] diff --git a/src/diskpool/azext_diskpool/vendored_sdks/storagepool/aio/operations/_disk_pool_zones_operations.py b/src/diskpool/azext_diskpool/vendored_sdks/storagepool/aio/operations/_disk_pool_zones_operations.py new file mode 100644 index 00000000000..971aede2b68 --- /dev/null +++ b/src/diskpool/azext_diskpool/vendored_sdks/storagepool/aio/operations/_disk_pool_zones_operations.py @@ -0,0 +1,113 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class DiskPoolZonesOperations: + """DiskPoolZonesOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~storage_pool_management.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + location: str, + **kwargs + ) -> AsyncIterable["models.DiskPoolZoneListResult"]: + """Lists available Disk Pool Skus in an Azure location. + + :param location: The location of the resource. + :type location: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either DiskPoolZoneListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~storage_pool_management.models.DiskPoolZoneListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DiskPoolZoneListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + 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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('DiskPoolZoneListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.Error, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.StoragePool/locations/{location}/diskPoolZones'} # type: ignore diff --git a/src/diskpool/azext_diskpool/vendored_sdks/storagepool/aio/operations/_disk_pools_operations.py b/src/diskpool/azext_diskpool/vendored_sdks/storagepool/aio/operations/_disk_pools_operations.py new file mode 100644 index 00000000000..31704317e0b --- /dev/null +++ b/src/diskpool/azext_diskpool/vendored_sdks/storagepool/aio/operations/_disk_pools_operations.py @@ -0,0 +1,900 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class DiskPoolsOperations: + """DiskPoolsOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~storage_pool_management.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_by_subscription( + self, + **kwargs + ) -> AsyncIterable["models.DiskPoolListResult"]: + """Gets a list of Disk Pools in a subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either DiskPoolListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~storage_pool_management.models.DiskPoolListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DiskPoolListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_subscription.metadata['url'] # type: ignore + 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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('DiskPoolListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.Error, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.StoragePool/diskPools'} # type: ignore + + def list_by_resource_group( + self, + resource_group_name: str, + **kwargs + ) -> AsyncIterable["models.DiskPoolListResult"]: + """Gets a list of DiskPools in a resource group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either DiskPoolListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~storage_pool_management.models.DiskPoolListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DiskPoolListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._]*[0-9A-Za-z]$'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('DiskPoolListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.Error, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StoragePool/diskPools'} # type: ignore + + async def _create_or_update_initial( + self, + resource_group_name: str, + disk_pool_name: str, + disk_pool_create_payload: "models.DiskPoolCreate", + **kwargs + ) -> "models.DiskPool": + cls = kwargs.pop('cls', None) # type: ClsType["models.DiskPool"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_or_update_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._]*[0-9A-Za-z]$'), + 'diskPoolName': self._serialize.url("disk_pool_name", disk_pool_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(disk_pool_create_payload, 'DiskPoolCreate') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.Error, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('DiskPool', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('DiskPool', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StoragePool/diskPools/{diskPoolName}'} # type: ignore + + async def begin_create_or_update( + self, + resource_group_name: str, + disk_pool_name: str, + disk_pool_create_payload: "models.DiskPoolCreate", + **kwargs + ) -> AsyncLROPoller["models.DiskPool"]: + """Create or Update Disk pool. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param disk_pool_name: The name of the Disk Pool. + :type disk_pool_name: str + :param disk_pool_create_payload: Request payload for Disk Pool create operation. + :type disk_pool_create_payload: ~storage_pool_management.models.DiskPoolCreate + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either DiskPool or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~storage_pool_management.models.DiskPool] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.DiskPool"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._create_or_update_initial( + resource_group_name=resource_group_name, + disk_pool_name=disk_pool_name, + disk_pool_create_payload=disk_pool_create_payload, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('DiskPool', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._]*[0-9A-Za-z]$'), + 'diskPoolName': self._serialize.url("disk_pool_name", disk_pool_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StoragePool/diskPools/{diskPoolName}'} # type: ignore + + async def _update_initial( + self, + resource_group_name: str, + disk_pool_name: str, + disk_pool_update_payload: "models.DiskPoolUpdate", + **kwargs + ) -> Optional["models.DiskPool"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.DiskPool"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._update_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._]*[0-9A-Za-z]$'), + 'diskPoolName': self._serialize.url("disk_pool_name", disk_pool_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(disk_pool_update_payload, 'DiskPoolUpdate') + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.Error, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('DiskPool', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StoragePool/diskPools/{diskPoolName}'} # type: ignore + + async def begin_update( + self, + resource_group_name: str, + disk_pool_name: str, + disk_pool_update_payload: "models.DiskPoolUpdate", + **kwargs + ) -> AsyncLROPoller["models.DiskPool"]: + """Update a Disk pool. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param disk_pool_name: The name of the Disk Pool. + :type disk_pool_name: str + :param disk_pool_update_payload: Request payload for Disk Pool update operation. + :type disk_pool_update_payload: ~storage_pool_management.models.DiskPoolUpdate + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either DiskPool or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~storage_pool_management.models.DiskPool] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.DiskPool"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._update_initial( + resource_group_name=resource_group_name, + disk_pool_name=disk_pool_name, + disk_pool_update_payload=disk_pool_update_payload, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('DiskPool', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._]*[0-9A-Za-z]$'), + 'diskPoolName': self._serialize.url("disk_pool_name", disk_pool_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StoragePool/diskPools/{diskPoolName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + disk_pool_name: str, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self._delete_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._]*[0-9A-Za-z]$'), + 'diskPoolName': self._serialize.url("disk_pool_name", disk_pool_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.Error, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StoragePool/diskPools/{diskPoolName}'} # type: ignore + + async def begin_delete( + self, + resource_group_name: str, + disk_pool_name: str, + **kwargs + ) -> AsyncLROPoller[None]: + """Delete a Disk pool. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param disk_pool_name: The name of the Disk Pool. + :type disk_pool_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + disk_pool_name=disk_pool_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._]*[0-9A-Za-z]$'), + 'diskPoolName': self._serialize.url("disk_pool_name", disk_pool_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StoragePool/diskPools/{diskPoolName}'} # type: ignore + + async def get( + self, + resource_group_name: str, + disk_pool_name: str, + **kwargs + ) -> "models.DiskPool": + """Get a Disk pool. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param disk_pool_name: The name of the Disk Pool. + :type disk_pool_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DiskPool, or the result of cls(response) + :rtype: ~storage_pool_management.models.DiskPool + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DiskPool"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._]*[0-9A-Za-z]$'), + 'diskPoolName': self._serialize.url("disk_pool_name", disk_pool_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.Error, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('DiskPool', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StoragePool/diskPools/{diskPoolName}'} # type: ignore + + def list_outbound_network_dependencies_endpoints( + self, + resource_group_name: str, + disk_pool_name: str, + **kwargs + ) -> AsyncIterable["models.OutboundEnvironmentEndpointList"]: + """Gets the network endpoints of all outbound dependencies of a Disk Pool. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param disk_pool_name: The name of the Disk Pool. + :type disk_pool_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either OutboundEnvironmentEndpointList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~storage_pool_management.models.OutboundEnvironmentEndpointList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.OutboundEnvironmentEndpointList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_outbound_network_dependencies_endpoints.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._]*[0-9A-Za-z]$'), + 'diskPoolName': self._serialize.url("disk_pool_name", disk_pool_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('OutboundEnvironmentEndpointList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.Error, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_outbound_network_dependencies_endpoints.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StoragePool/diskPools/{diskPoolName}/outboundNetworkDependenciesEndpoints'} # type: ignore + + async def _start_initial( + self, + resource_group_name: str, + disk_pool_name: str, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self._start_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._]*[0-9A-Za-z]$'), + 'diskPoolName': self._serialize.url("disk_pool_name", disk_pool_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.Error, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _start_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StoragePool/diskPools/{diskPoolName}/start'} # type: ignore + + async def begin_start( + self, + resource_group_name: str, + disk_pool_name: str, + **kwargs + ) -> AsyncLROPoller[None]: + """The operation to start a Disk Pool. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param disk_pool_name: The name of the Disk Pool. + :type disk_pool_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._start_initial( + resource_group_name=resource_group_name, + disk_pool_name=disk_pool_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._]*[0-9A-Za-z]$'), + 'diskPoolName': self._serialize.url("disk_pool_name", disk_pool_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_start.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StoragePool/diskPools/{diskPoolName}/start'} # type: ignore + + async def _deallocate_initial( + self, + resource_group_name: str, + disk_pool_name: str, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self._deallocate_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._]*[0-9A-Za-z]$'), + 'diskPoolName': self._serialize.url("disk_pool_name", disk_pool_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.Error, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _deallocate_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StoragePool/diskPools/{diskPoolName}/deallocate'} # type: ignore + + async def begin_deallocate( + self, + resource_group_name: str, + disk_pool_name: str, + **kwargs + ) -> AsyncLROPoller[None]: + """Shuts down the Disk Pool and releases the compute resources. You are not billed for the compute + resources that this Disk Pool uses. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param disk_pool_name: The name of the Disk Pool. + :type disk_pool_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._deallocate_initial( + resource_group_name=resource_group_name, + disk_pool_name=disk_pool_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._]*[0-9A-Za-z]$'), + 'diskPoolName': self._serialize.url("disk_pool_name", disk_pool_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_deallocate.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StoragePool/diskPools/{diskPoolName}/deallocate'} # type: ignore diff --git a/src/diskpool/azext_diskpool/vendored_sdks/storagepool/aio/operations/_iscsi_targets_operations.py b/src/diskpool/azext_diskpool/vendored_sdks/storagepool/aio/operations/_iscsi_targets_operations.py new file mode 100644 index 00000000000..13d1e5d351d --- /dev/null +++ b/src/diskpool/azext_diskpool/vendored_sdks/storagepool/aio/operations/_iscsi_targets_operations.py @@ -0,0 +1,568 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.async_arm_polling import AsyncARMPolling + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class IscsiTargetsOperations: + """IscsiTargetsOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~storage_pool_management.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_by_disk_pool( + self, + resource_group_name: str, + disk_pool_name: str, + **kwargs + ) -> AsyncIterable["models.IscsiTargetList"]: + """Get iSCSI Targets in a Disk pool. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param disk_pool_name: The name of the Disk Pool. + :type disk_pool_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either IscsiTargetList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~storage_pool_management.models.IscsiTargetList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IscsiTargetList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_disk_pool.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._]*[0-9A-Za-z]$'), + 'diskPoolName': self._serialize.url("disk_pool_name", disk_pool_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('IscsiTargetList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.Error, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_by_disk_pool.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StoragePool/diskPools/{diskPoolName}/iscsiTargets'} # type: ignore + + async def _create_or_update_initial( + self, + resource_group_name: str, + disk_pool_name: str, + iscsi_target_name: str, + iscsi_target_create_payload: "models.IscsiTargetCreate", + **kwargs + ) -> "models.IscsiTarget": + cls = kwargs.pop('cls', None) # type: ClsType["models.IscsiTarget"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_or_update_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._]*[0-9A-Za-z]$'), + 'diskPoolName': self._serialize.url("disk_pool_name", disk_pool_name, 'str'), + 'iscsiTargetName': self._serialize.url("iscsi_target_name", iscsi_target_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(iscsi_target_create_payload, 'IscsiTargetCreate') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.Error, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('IscsiTarget', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('IscsiTarget', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StoragePool/diskPools/{diskPoolName}/iscsiTargets/{iscsiTargetName}'} # type: ignore + + async def begin_create_or_update( + self, + resource_group_name: str, + disk_pool_name: str, + iscsi_target_name: str, + iscsi_target_create_payload: "models.IscsiTargetCreate", + **kwargs + ) -> AsyncLROPoller["models.IscsiTarget"]: + """Create or Update an iSCSI Target. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param disk_pool_name: The name of the Disk Pool. + :type disk_pool_name: str + :param iscsi_target_name: The name of the iSCSI Target. + :type iscsi_target_name: str + :param iscsi_target_create_payload: Request payload for iSCSI Target create operation. + :type iscsi_target_create_payload: ~storage_pool_management.models.IscsiTargetCreate + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either IscsiTarget or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~storage_pool_management.models.IscsiTarget] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.IscsiTarget"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._create_or_update_initial( + resource_group_name=resource_group_name, + disk_pool_name=disk_pool_name, + iscsi_target_name=iscsi_target_name, + iscsi_target_create_payload=iscsi_target_create_payload, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('IscsiTarget', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._]*[0-9A-Za-z]$'), + 'diskPoolName': self._serialize.url("disk_pool_name", disk_pool_name, 'str'), + 'iscsiTargetName': self._serialize.url("iscsi_target_name", iscsi_target_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StoragePool/diskPools/{diskPoolName}/iscsiTargets/{iscsiTargetName}'} # type: ignore + + async def _update_initial( + self, + resource_group_name: str, + disk_pool_name: str, + iscsi_target_name: str, + iscsi_target_update_payload: "models.IscsiTargetUpdate", + **kwargs + ) -> Optional["models.IscsiTarget"]: + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.IscsiTarget"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._update_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._]*[0-9A-Za-z]$'), + 'diskPoolName': self._serialize.url("disk_pool_name", disk_pool_name, 'str'), + 'iscsiTargetName': self._serialize.url("iscsi_target_name", iscsi_target_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(iscsi_target_update_payload, 'IscsiTargetUpdate') + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.Error, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('IscsiTarget', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StoragePool/diskPools/{diskPoolName}/iscsiTargets/{iscsiTargetName}'} # type: ignore + + async def begin_update( + self, + resource_group_name: str, + disk_pool_name: str, + iscsi_target_name: str, + iscsi_target_update_payload: "models.IscsiTargetUpdate", + **kwargs + ) -> AsyncLROPoller["models.IscsiTarget"]: + """Update an iSCSI Target. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param disk_pool_name: The name of the Disk Pool. + :type disk_pool_name: str + :param iscsi_target_name: The name of the iSCSI Target. + :type iscsi_target_name: str + :param iscsi_target_update_payload: Request payload for iSCSI Target update operation. + :type iscsi_target_update_payload: ~storage_pool_management.models.IscsiTargetUpdate + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either IscsiTarget or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~storage_pool_management.models.IscsiTarget] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.IscsiTarget"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._update_initial( + resource_group_name=resource_group_name, + disk_pool_name=disk_pool_name, + iscsi_target_name=iscsi_target_name, + iscsi_target_update_payload=iscsi_target_update_payload, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('IscsiTarget', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._]*[0-9A-Za-z]$'), + 'diskPoolName': self._serialize.url("disk_pool_name", disk_pool_name, 'str'), + 'iscsiTargetName': self._serialize.url("iscsi_target_name", iscsi_target_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StoragePool/diskPools/{diskPoolName}/iscsiTargets/{iscsiTargetName}'} # type: ignore + + async def _delete_initial( + self, + resource_group_name: str, + disk_pool_name: str, + iscsi_target_name: str, + **kwargs + ) -> None: + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self._delete_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._]*[0-9A-Za-z]$'), + 'diskPoolName': self._serialize.url("disk_pool_name", disk_pool_name, 'str'), + 'iscsiTargetName': self._serialize.url("iscsi_target_name", iscsi_target_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.Error, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StoragePool/diskPools/{diskPoolName}/iscsiTargets/{iscsiTargetName}'} # type: ignore + + async def begin_delete( + self, + resource_group_name: str, + disk_pool_name: str, + iscsi_target_name: str, + **kwargs + ) -> AsyncLROPoller[None]: + """Delete an iSCSI Target. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param disk_pool_name: The name of the Disk Pool. + :type disk_pool_name: str + :param iscsi_target_name: The name of the iSCSI Target. + :type iscsi_target_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._delete_initial( + resource_group_name=resource_group_name, + disk_pool_name=disk_pool_name, + iscsi_target_name=iscsi_target_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._]*[0-9A-Za-z]$'), + 'diskPoolName': self._serialize.url("disk_pool_name", disk_pool_name, 'str'), + 'iscsiTargetName': self._serialize.url("iscsi_target_name", iscsi_target_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StoragePool/diskPools/{diskPoolName}/iscsiTargets/{iscsiTargetName}'} # type: ignore + + async def get( + self, + resource_group_name: str, + disk_pool_name: str, + iscsi_target_name: str, + **kwargs + ) -> "models.IscsiTarget": + """Get an iSCSI Target. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param disk_pool_name: The name of the Disk Pool. + :type disk_pool_name: str + :param iscsi_target_name: The name of the iSCSI Target. + :type iscsi_target_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IscsiTarget, or the result of cls(response) + :rtype: ~storage_pool_management.models.IscsiTarget + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IscsiTarget"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._]*[0-9A-Za-z]$'), + 'diskPoolName': self._serialize.url("disk_pool_name", disk_pool_name, 'str'), + 'iscsiTargetName': self._serialize.url("iscsi_target_name", iscsi_target_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.Error, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('IscsiTarget', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StoragePool/diskPools/{diskPoolName}/iscsiTargets/{iscsiTargetName}'} # type: ignore diff --git a/src/diskpool/azext_diskpool/vendored_sdks/storagepool/aio/operations/_operations.py b/src/diskpool/azext_diskpool/vendored_sdks/storagepool/aio/operations/_operations.py new file mode 100644 index 00000000000..bf3351fb5c4 --- /dev/null +++ b/src/diskpool/azext_diskpool/vendored_sdks/storagepool/aio/operations/_operations.py @@ -0,0 +1,105 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from azure.mgmt.core.exceptions import ARMErrorFormat + +from ... import models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class Operations: + """Operations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~storage_pool_management.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + **kwargs + ) -> AsyncIterable["models.StoragePoolOperationListResult"]: + """Gets a list of StoragePool operations. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either StoragePoolOperationListResult or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~storage_pool_management.models.StoragePoolOperationListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.StoragePoolOperationListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('StoragePoolOperationListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.Error, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.StoragePool/operations'} # type: ignore diff --git a/src/diskpool/azext_diskpool/vendored_sdks/storagepool/models/__init__.py b/src/diskpool/azext_diskpool/vendored_sdks/storagepool/models/__init__.py new file mode 100644 index 00000000000..93abf141c3e --- /dev/null +++ b/src/diskpool/azext_diskpool/vendored_sdks/storagepool/models/__init__.py @@ -0,0 +1,110 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 ._models_py3 import Acl + from ._models_py3 import Disk + from ._models_py3 import DiskPool + from ._models_py3 import DiskPoolCreate + from ._models_py3 import DiskPoolListResult + from ._models_py3 import DiskPoolUpdate + from ._models_py3 import DiskPoolZoneInfo + from ._models_py3 import DiskPoolZoneListResult + from ._models_py3 import EndpointDependency + from ._models_py3 import EndpointDetail + from ._models_py3 import Error + from ._models_py3 import ErrorAdditionalInfo + from ._models_py3 import ErrorResponse + from ._models_py3 import IscsiLun + from ._models_py3 import IscsiTarget + from ._models_py3 import IscsiTargetCreate + from ._models_py3 import IscsiTargetList + from ._models_py3 import IscsiTargetUpdate + from ._models_py3 import OutboundEnvironmentEndpoint + from ._models_py3 import OutboundEnvironmentEndpointList + from ._models_py3 import ProxyResource + from ._models_py3 import Resource + from ._models_py3 import Sku + from ._models_py3 import StoragePoolOperationDisplay + from ._models_py3 import StoragePoolOperationListResult + from ._models_py3 import StoragePoolRpOperation + from ._models_py3 import SystemMetadata + from ._models_py3 import TrackedResource +except (SyntaxError, ImportError): + from ._models import Acl # type: ignore + from ._models import Disk # type: ignore + from ._models import DiskPool # type: ignore + from ._models import DiskPoolCreate # type: ignore + from ._models import DiskPoolListResult # type: ignore + from ._models import DiskPoolUpdate # type: ignore + from ._models import DiskPoolZoneInfo # type: ignore + from ._models import DiskPoolZoneListResult # type: ignore + from ._models import EndpointDependency # type: ignore + from ._models import EndpointDetail # type: ignore + from ._models import Error # type: ignore + from ._models import ErrorAdditionalInfo # type: ignore + from ._models import ErrorResponse # type: ignore + from ._models import IscsiLun # type: ignore + from ._models import IscsiTarget # type: ignore + from ._models import IscsiTargetCreate # type: ignore + from ._models import IscsiTargetList # type: ignore + from ._models import IscsiTargetUpdate # type: ignore + from ._models import OutboundEnvironmentEndpoint # type: ignore + from ._models import OutboundEnvironmentEndpointList # type: ignore + from ._models import ProxyResource # type: ignore + from ._models import Resource # type: ignore + from ._models import Sku # type: ignore + from ._models import StoragePoolOperationDisplay # type: ignore + from ._models import StoragePoolOperationListResult # type: ignore + from ._models import StoragePoolRpOperation # type: ignore + from ._models import SystemMetadata # type: ignore + from ._models import TrackedResource # type: ignore + +from ._storage_pool_management_enums import ( + CreatedByType, + DiskPoolTier, + IscsiTargetAclMode, + OperationalStatus, + ProvisioningStates, +) + +__all__ = [ + 'Acl', + 'Disk', + 'DiskPool', + 'DiskPoolCreate', + 'DiskPoolListResult', + 'DiskPoolUpdate', + 'DiskPoolZoneInfo', + 'DiskPoolZoneListResult', + 'EndpointDependency', + 'EndpointDetail', + 'Error', + 'ErrorAdditionalInfo', + 'ErrorResponse', + 'IscsiLun', + 'IscsiTarget', + 'IscsiTargetCreate', + 'IscsiTargetList', + 'IscsiTargetUpdate', + 'OutboundEnvironmentEndpoint', + 'OutboundEnvironmentEndpointList', + 'ProxyResource', + 'Resource', + 'Sku', + 'StoragePoolOperationDisplay', + 'StoragePoolOperationListResult', + 'StoragePoolRpOperation', + 'SystemMetadata', + 'TrackedResource', + 'CreatedByType', + 'DiskPoolTier', + 'IscsiTargetAclMode', + 'OperationalStatus', + 'ProvisioningStates', +] diff --git a/src/diskpool/azext_diskpool/vendored_sdks/storagepool/models/_models.py b/src/diskpool/azext_diskpool/vendored_sdks/storagepool/models/_models.py new file mode 100644 index 00000000000..85a85678a8b --- /dev/null +++ b/src/diskpool/azext_diskpool/vendored_sdks/storagepool/models/_models.py @@ -0,0 +1,1079 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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.core.exceptions import HttpResponseError +import msrest.serialization + + +class Acl(msrest.serialization.Model): + """Access Control List (ACL) for an iSCSI Target; defines LUN masking policy. + + All required parameters must be populated in order to send to Azure. + + :param initiator_iqn: Required. iSCSI initiator IQN (iSCSI Qualified Name); example: + "iqn.2005-03.org.iscsi:client". + :type initiator_iqn: str + :param mapped_luns: Required. List of LUN names mapped to the ACL. + :type mapped_luns: list[str] + """ + + _validation = { + 'initiator_iqn': {'required': True}, + 'mapped_luns': {'required': True}, + } + + _attribute_map = { + 'initiator_iqn': {'key': 'initiatorIqn', 'type': 'str'}, + 'mapped_luns': {'key': 'mappedLuns', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(Acl, self).__init__(**kwargs) + self.initiator_iqn = kwargs['initiator_iqn'] + self.mapped_luns = kwargs['mapped_luns'] + + +class Disk(msrest.serialization.Model): + """Azure Managed Disk to attach to the Disk Pool. + + All required parameters must be populated in order to send to Azure. + + :param id: Required. Unique Azure Resource ID of the Managed Disk. + :type id: str + """ + + _validation = { + 'id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(Disk, self).__init__(**kwargs) + self.id = kwargs['id'] + + +class Resource(msrest.serialization.Model): + """ARM resource model definition. + + 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 + + +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: A set of 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, + **kwargs + ): + super(TrackedResource, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + self.location = kwargs['location'] + + +class DiskPool(TrackedResource): + """Response for Disk Pool request. + + 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: A set of tags. Resource tags. + :type tags: dict[str, str] + :param location: Required. The geo-location where the resource lives. + :type location: str + :ivar system_data: Resource metadata required by ARM RPC. + :vartype system_data: ~storage_pool_management.models.SystemMetadata + :ivar provisioning_state: Required. State of the operation on the resource. Possible values + include: "Invalid", "Succeeded", "Failed", "Canceled", "Pending", "Creating", "Updating", + "Deleting". + :vartype provisioning_state: str or ~storage_pool_management.models.ProvisioningStates + :param availability_zones: Required. Logical zone for Disk Pool resource; example: ["1"]. + :type availability_zones: list[str] + :param status: Required. Operational status of the Disk Pool. Possible values include: + "Invalid", "Unknown", "Healthy", "Unhealthy", "Updating", "Running", "Stopped", "Stopped + (deallocated)". + :type status: str or ~storage_pool_management.models.OperationalStatus + :param disks: List of Azure Managed Disks to attach to a Disk Pool. + :type disks: list[~storage_pool_management.models.Disk] + :param subnet_id: Required. Azure Resource ID of a Subnet for the Disk Pool. + :type subnet_id: str + :param additional_capabilities: List of additional capabilities for Disk Pool. + :type additional_capabilities: list[str] + :param name_sku_name: Sku name. + :type name_sku_name: str + :param tier: Sku tier. + :type tier: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'system_data': {'readonly': True}, + 'provisioning_state': {'required': True, 'readonly': True}, + 'availability_zones': {'required': True}, + 'status': {'required': True}, + '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'}, + 'system_data': {'key': 'systemData', 'type': 'SystemMetadata'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'availability_zones': {'key': 'properties.availabilityZones', 'type': '[str]'}, + 'status': {'key': 'properties.status', 'type': 'str'}, + 'disks': {'key': 'properties.disks', 'type': '[Disk]'}, + 'subnet_id': {'key': 'properties.subnetId', 'type': 'str'}, + 'additional_capabilities': {'key': 'properties.additionalCapabilities', 'type': '[str]'}, + 'name_sku_name': {'key': 'sku.name', 'type': 'str'}, + 'tier': {'key': 'sku.tier', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DiskPool, self).__init__(**kwargs) + self.system_data = None + self.provisioning_state = None + self.availability_zones = kwargs['availability_zones'] + self.status = kwargs['status'] + self.disks = kwargs.get('disks', None) + self.subnet_id = kwargs['subnet_id'] + self.additional_capabilities = kwargs.get('additional_capabilities', None) + self.name_sku_name = kwargs.get('name_sku_name', None) + self.tier = kwargs.get('tier', None) + + +class DiskPoolCreate(msrest.serialization.Model): + """Request payload for create or update Disk Pool request. + + 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 sku: Required. Determines the SKU of the Disk Pool. + :type sku: ~storage_pool_management.models.Sku + :param tags: A set of tags. Resource tags. + :type tags: dict[str, str] + :param location: Required. The geo-location where the resource lives. + :type location: str + :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 availability_zones: Logical zone for Disk Pool resource; example: ["1"]. + :type availability_zones: list[str] + :param disks: List of Azure Managed Disks to attach to a Disk Pool. + :type disks: list[~storage_pool_management.models.Disk] + :param subnet_id: Required. Azure Resource ID of a Subnet for the Disk Pool. + :type subnet_id: str + :param additional_capabilities: List of additional capabilities for a Disk Pool. + :type additional_capabilities: list[str] + """ + + _validation = { + 'sku': {'required': True}, + 'location': {'required': True}, + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'subnet_id': {'required': True}, + } + + _attribute_map = { + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'availability_zones': {'key': 'properties.availabilityZones', 'type': '[str]'}, + 'disks': {'key': 'properties.disks', 'type': '[Disk]'}, + 'subnet_id': {'key': 'properties.subnetId', 'type': 'str'}, + 'additional_capabilities': {'key': 'properties.additionalCapabilities', 'type': '[str]'}, + } + + def __init__( + self, + **kwargs + ): + super(DiskPoolCreate, self).__init__(**kwargs) + self.sku = kwargs['sku'] + self.tags = kwargs.get('tags', None) + self.location = kwargs['location'] + self.id = None + self.name = None + self.type = None + self.availability_zones = kwargs.get('availability_zones', None) + self.disks = kwargs.get('disks', None) + self.subnet_id = kwargs['subnet_id'] + self.additional_capabilities = kwargs.get('additional_capabilities', None) + + +class DiskPoolListResult(msrest.serialization.Model): + """List of Disk Pools. + + 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 value: Required. An array of Disk pool objects. + :type value: list[~storage_pool_management.models.DiskPool] + :ivar next_link: URI to fetch the next section of the paginated response. + :vartype next_link: str + """ + + _validation = { + 'value': {'required': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[DiskPool]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DiskPoolListResult, self).__init__(**kwargs) + self.value = kwargs['value'] + self.next_link = None + + +class DiskPoolUpdate(msrest.serialization.Model): + """Request payload for Update Disk Pool request. + + :param tags: A set of tags. Resource tags. + :type tags: dict[str, str] + :param disks: List of Azure Managed Disks to attach to a Disk Pool. + :type disks: list[~storage_pool_management.models.Disk] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + 'disks': {'key': 'properties.disks', 'type': '[Disk]'}, + } + + def __init__( + self, + **kwargs + ): + super(DiskPoolUpdate, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + self.disks = kwargs.get('disks', None) + + +class DiskPoolZoneInfo(msrest.serialization.Model): + """Disk Pool Sku Details. + + :param availability_zones: Logical zone for Disk Pool resource; example: ["1"]. + :type availability_zones: list[str] + :param additional_capabilities: List of additional capabilities for Disk Pool. + :type additional_capabilities: list[str] + :param sku: Determines the SKU of VM deployed for Disk Pool. + :type sku: ~storage_pool_management.models.Sku + """ + + _attribute_map = { + 'availability_zones': {'key': 'availabilityZones', 'type': '[str]'}, + 'additional_capabilities': {'key': 'additionalCapabilities', 'type': '[str]'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + } + + def __init__( + self, + **kwargs + ): + super(DiskPoolZoneInfo, self).__init__(**kwargs) + self.availability_zones = kwargs.get('availability_zones', None) + self.additional_capabilities = kwargs.get('additional_capabilities', None) + self.sku = kwargs.get('sku', None) + + +class DiskPoolZoneListResult(msrest.serialization.Model): + """List Disk Pool skus operation response. + + :param value: The list of Disk Pool Skus. + :type value: list[~storage_pool_management.models.DiskPoolZoneInfo] + :param next_link: URI to fetch the next section of the paginated response. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[DiskPoolZoneInfo]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(DiskPoolZoneListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) + + +class EndpointDependency(msrest.serialization.Model): + """A domain name that a service is reached at, including details of the current connection status. + + :param domain_name: The domain name of the dependency. + :type domain_name: str + :param endpoint_details: The IP Addresses and Ports used when connecting to DomainName. + :type endpoint_details: list[~storage_pool_management.models.EndpointDetail] + """ + + _attribute_map = { + 'domain_name': {'key': 'domainName', 'type': 'str'}, + 'endpoint_details': {'key': 'endpointDetails', 'type': '[EndpointDetail]'}, + } + + def __init__( + self, + **kwargs + ): + super(EndpointDependency, self).__init__(**kwargs) + self.domain_name = kwargs.get('domain_name', None) + self.endpoint_details = kwargs.get('endpoint_details', None) + + +class EndpointDetail(msrest.serialization.Model): + """Current TCP connectivity information from the App Service Environment to a single endpoint. + + :param ip_address: An IP Address that Domain Name currently resolves to. + :type ip_address: str + :param port: The port an endpoint is connected to. + :type port: int + :param latency: The time in milliseconds it takes for a TCP connection to be created from the + App Service Environment to this IpAddress at this Port. + :type latency: float + :param is_accessible: Whether it is possible to create a TCP connection from the App Service + Environment to this IpAddress at this Port. + :type is_accessible: bool + """ + + _attribute_map = { + 'ip_address': {'key': 'ipAddress', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + 'latency': {'key': 'latency', 'type': 'float'}, + 'is_accessible': {'key': 'isAccessible', 'type': 'bool'}, + } + + def __init__( + self, + **kwargs + ): + super(EndpointDetail, self).__init__(**kwargs) + self.ip_address = kwargs.get('ip_address', None) + self.port = kwargs.get('port', None) + self.latency = kwargs.get('latency', None) + self.is_accessible = kwargs.get('is_accessible', None) + + +class Error(msrest.serialization.Model): + """The resource management error response. + + :param error: RP error response. + :type error: ~storage_pool_management.models.ErrorResponse + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorResponse'}, + } + + def __init__( + self, + **kwargs + ): + super(Error, self).__init__(**kwargs) + self.error = kwargs.get('error', None) + + +class ErrorAdditionalInfo(msrest.serialization.Model): + """The resource management error additional info. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar type: The additional info type. + :vartype type: str + :ivar info: The additional info. + :vartype info: object + """ + + _validation = { + 'type': {'readonly': True}, + 'info': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'info': {'key': 'info', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(ErrorAdditionalInfo, self).__init__(**kwargs) + self.type = None + self.info = None + + +class ErrorResponse(msrest.serialization.Model): + """The resource management error response. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar code: The error code. + :vartype code: str + :ivar message: The error message. + :vartype message: str + :ivar target: The error target. + :vartype target: str + :ivar details: The error details. + :vartype details: list[~storage_pool_management.models.ErrorResponse] + :ivar additional_info: The error additional info. + :vartype additional_info: list[~storage_pool_management.models.ErrorAdditionalInfo] + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + 'target': {'readonly': True}, + 'details': {'readonly': True}, + 'additional_info': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ErrorResponse]'}, + 'additional_info': {'key': 'additionalInfo', 'type': '[ErrorAdditionalInfo]'}, + } + + def __init__( + self, + **kwargs + ): + super(ErrorResponse, self).__init__(**kwargs) + self.code = None + self.message = None + self.target = None + self.details = None + self.additional_info = None + + +class IscsiLun(msrest.serialization.Model): + """LUN to expose the Azure Managed Disk. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. User defined name for iSCSI LUN; example: "lun0". + :type name: str + :param managed_disk_azure_resource_id: Required. Azure Resource ID of the Managed Disk. + :type managed_disk_azure_resource_id: str + """ + + _validation = { + 'name': {'required': True}, + 'managed_disk_azure_resource_id': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'managed_disk_azure_resource_id': {'key': 'managedDiskAzureResourceId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(IscsiLun, self).__init__(**kwargs) + self.name = kwargs['name'] + self.managed_disk_azure_resource_id = kwargs['managed_disk_azure_resource_id'] + + +class IscsiTarget(Resource): + """Response for iSCSI Target requests. + + 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 system_data: Resource metadata required by ARM RPC. + :vartype system_data: ~storage_pool_management.models.SystemMetadata + :param acl_mode: Required. Mode for Target connectivity. Possible values include: "Dynamic", + "Static". + :type acl_mode: str or ~storage_pool_management.models.IscsiTargetAclMode + :param static_acls: Access Control List (ACL) for an iSCSI Target; defines LUN masking policy. + :type static_acls: list[~storage_pool_management.models.Acl] + :param luns: List of LUNs to be exposed through iSCSI Target. + :type luns: list[~storage_pool_management.models.IscsiLun] + :param target_iqn: Required. iSCSI Target IQN (iSCSI Qualified Name); example: + "iqn.2005-03.org.iscsi:server". + :type target_iqn: str + :ivar provisioning_state: Required. State of the operation on the resource. Possible values + include: "Invalid", "Succeeded", "Failed", "Canceled", "Pending", "Creating", "Updating", + "Deleting". + :vartype provisioning_state: str or ~storage_pool_management.models.ProvisioningStates + :param status: Required. Operational status of the iSCSI Target. Possible values include: + "Invalid", "Unknown", "Healthy", "Unhealthy", "Updating", "Running", "Stopped", "Stopped + (deallocated)". + :type status: str or ~storage_pool_management.models.OperationalStatus + :param endpoints: List of private IPv4 addresses to connect to the iSCSI Target. + :type endpoints: list[str] + :param port: The port used by iSCSI Target portal group. + :type port: int + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'acl_mode': {'required': True}, + 'target_iqn': {'required': True}, + 'provisioning_state': {'required': True, 'readonly': True}, + 'status': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemMetadata'}, + 'acl_mode': {'key': 'properties.aclMode', 'type': 'str'}, + 'static_acls': {'key': 'properties.staticAcls', 'type': '[Acl]'}, + 'luns': {'key': 'properties.luns', 'type': '[IscsiLun]'}, + 'target_iqn': {'key': 'properties.targetIqn', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'str'}, + 'endpoints': {'key': 'properties.endpoints', 'type': '[str]'}, + 'port': {'key': 'properties.port', 'type': 'int'}, + } + + def __init__( + self, + **kwargs + ): + super(IscsiTarget, self).__init__(**kwargs) + self.system_data = None + self.acl_mode = kwargs['acl_mode'] + self.static_acls = kwargs.get('static_acls', None) + self.luns = kwargs.get('luns', None) + self.target_iqn = kwargs['target_iqn'] + self.provisioning_state = None + self.status = kwargs['status'] + self.endpoints = kwargs.get('endpoints', None) + self.port = kwargs.get('port', None) + + +class IscsiTargetCreate(Resource): + """Payload for iSCSI Target create or update requests. + + 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 acl_mode: Required. Mode for Target connectivity. Possible values include: "Dynamic", + "Static". + :type acl_mode: str or ~storage_pool_management.models.IscsiTargetAclMode + :param target_iqn: iSCSI Target IQN (iSCSI Qualified Name); example: + "iqn.2005-03.org.iscsi:server". + :type target_iqn: str + :param static_acls: Access Control List (ACL) for an iSCSI Target; defines LUN masking policy. + :type static_acls: list[~storage_pool_management.models.Acl] + :param luns: List of LUNs to be exposed through iSCSI Target. + :type luns: list[~storage_pool_management.models.IscsiLun] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'acl_mode': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'acl_mode': {'key': 'properties.aclMode', 'type': 'str'}, + 'target_iqn': {'key': 'properties.targetIqn', 'type': 'str'}, + 'static_acls': {'key': 'properties.staticAcls', 'type': '[Acl]'}, + 'luns': {'key': 'properties.luns', 'type': '[IscsiLun]'}, + } + + def __init__( + self, + **kwargs + ): + super(IscsiTargetCreate, self).__init__(**kwargs) + self.acl_mode = kwargs['acl_mode'] + self.target_iqn = kwargs.get('target_iqn', None) + self.static_acls = kwargs.get('static_acls', None) + self.luns = kwargs.get('luns', None) + + +class IscsiTargetList(msrest.serialization.Model): + """List of iSCSI Targets. + + 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 value: Required. An array of iSCSI Targets in a Disk Pool. + :type value: list[~storage_pool_management.models.IscsiTarget] + :ivar next_link: URI to fetch the next section of the paginated response. + :vartype next_link: str + """ + + _validation = { + 'value': {'required': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[IscsiTarget]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(IscsiTargetList, self).__init__(**kwargs) + self.value = kwargs['value'] + self.next_link = None + + +class IscsiTargetUpdate(Resource): + """Payload for iSCSI Target update requests. + + 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 static_acls: Access Control List (ACL) for an iSCSI Target; defines LUN masking policy. + :type static_acls: list[~storage_pool_management.models.Acl] + :param luns: List of LUNs to be exposed through iSCSI Target. + :type luns: list[~storage_pool_management.models.IscsiLun] + """ + + _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'}, + 'static_acls': {'key': 'properties.staticAcls', 'type': '[Acl]'}, + 'luns': {'key': 'properties.luns', 'type': '[IscsiLun]'}, + } + + def __init__( + self, + **kwargs + ): + super(IscsiTargetUpdate, self).__init__(**kwargs) + self.static_acls = kwargs.get('static_acls', None) + self.luns = kwargs.get('luns', None) + + +class OutboundEnvironmentEndpoint(msrest.serialization.Model): + """Endpoints accessed for a common purpose that the App Service Environment requires outbound network access to. + + :param category: The type of service accessed by the App Service Environment, e.g., Azure + Storage, Azure SQL Database, and Azure Active Directory. + :type category: str + :param endpoints: The endpoints that the App Service Environment reaches the service at. + :type endpoints: list[~storage_pool_management.models.EndpointDependency] + """ + + _attribute_map = { + 'category': {'key': 'category', 'type': 'str'}, + 'endpoints': {'key': 'endpoints', 'type': '[EndpointDependency]'}, + } + + def __init__( + self, + **kwargs + ): + super(OutboundEnvironmentEndpoint, self).__init__(**kwargs) + self.category = kwargs.get('category', None) + self.endpoints = kwargs.get('endpoints', None) + + +class OutboundEnvironmentEndpointList(msrest.serialization.Model): + """Collection of Outbound Environment Endpoints. + + 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 value: Required. Collection of resources. + :type value: list[~storage_pool_management.models.OutboundEnvironmentEndpoint] + :ivar next_link: Link to next page of resources. + :vartype next_link: str + """ + + _validation = { + 'value': {'required': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[OutboundEnvironmentEndpoint]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(OutboundEnvironmentEndpointList, self).__init__(**kwargs) + self.value = kwargs['value'] + self.next_link = None + + +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) + + +class Sku(msrest.serialization.Model): + """Sku for ARM resource. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. Sku name. + :type name: str + :param tier: Sku tier. + :type tier: str + """ + + _validation = { + 'name': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(Sku, self).__init__(**kwargs) + self.name = kwargs['name'] + self.tier = kwargs.get('tier', None) + + +class StoragePoolOperationDisplay(msrest.serialization.Model): + """Metadata about an operation. + + All required parameters must be populated in order to send to Azure. + + :param provider: Required. Localized friendly form of the resource provider name. + :type provider: str + :param resource: Required. Localized friendly form of the resource type related to this + action/operation. + :type resource: str + :param operation: Required. Localized friendly name for the operation, as it should be shown to + the user. + :type operation: str + :param description: Required. Localized friendly description for the operation, as it should be + shown to the user. + :type description: str + """ + + _validation = { + 'provider': {'required': True}, + 'resource': {'required': True}, + 'operation': {'required': True}, + 'description': {'required': 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 + ): + super(StoragePoolOperationDisplay, self).__init__(**kwargs) + self.provider = kwargs['provider'] + self.resource = kwargs['resource'] + self.operation = kwargs['operation'] + self.description = kwargs['description'] + + +class StoragePoolOperationListResult(msrest.serialization.Model): + """List of operations supported by the RP. + + All required parameters must be populated in order to send to Azure. + + :param value: Required. An array of operations supported by the StoragePool RP. + :type value: list[~storage_pool_management.models.StoragePoolRpOperation] + :param next_link: URI to fetch the next section of the paginated response. + :type next_link: str + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[StoragePoolRpOperation]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(StoragePoolOperationListResult, self).__init__(**kwargs) + self.value = kwargs['value'] + self.next_link = kwargs.get('next_link', None) + + +class StoragePoolRpOperation(msrest.serialization.Model): + """Description of a StoragePool RP Operation. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name of the operation being performed on this particular object. + :type name: str + :param is_data_action: Required. Indicates whether the operation applies to data-plane. + :type is_data_action: bool + :param action_type: Indicates the action type. + :type action_type: str + :param display: Required. Additional metadata about RP operation. + :type display: ~storage_pool_management.models.StoragePoolOperationDisplay + :param origin: The intended executor of the operation; governs the display of the operation in + the RBAC UX and the audit logs UX. + :type origin: str + """ + + _validation = { + 'name': {'required': True}, + 'is_data_action': {'required': True}, + 'display': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, + 'action_type': {'key': 'actionType', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'StoragePoolOperationDisplay'}, + 'origin': {'key': 'origin', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(StoragePoolRpOperation, self).__init__(**kwargs) + self.name = kwargs['name'] + self.is_data_action = kwargs['is_data_action'] + self.action_type = kwargs.get('action_type', None) + self.display = kwargs['display'] + self.origin = kwargs.get('origin', None) + + +class SystemMetadata(msrest.serialization.Model): + """Metadata pertaining to creation and last modification of the resource. + + :param created_by: The identity that created the resource. + :type created_by: str + :param created_by_type: The type of identity that created the resource. Possible values + include: "User", "Application", "ManagedIdentity", "Key". + :type created_by_type: str or ~storage_pool_management.models.CreatedByType + :param created_at: The timestamp of resource creation (UTC). + :type created_at: ~datetime.datetime + :param last_modified_by: The identity that last modified the resource. + :type last_modified_by: str + :param last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". + :type last_modified_by_type: str or ~storage_pool_management.models.CreatedByType + :param last_modified_at: The type of identity that last modified the resource. + :type last_modified_at: ~datetime.datetime + """ + + _attribute_map = { + 'created_by': {'key': 'createdBy', 'type': 'str'}, + 'created_by_type': {'key': 'createdByType', 'type': 'str'}, + 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, + 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, + 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, + 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, + } + + def __init__( + self, + **kwargs + ): + super(SystemMetadata, self).__init__(**kwargs) + self.created_by = kwargs.get('created_by', None) + self.created_by_type = kwargs.get('created_by_type', None) + self.created_at = kwargs.get('created_at', None) + self.last_modified_by = kwargs.get('last_modified_by', None) + self.last_modified_by_type = kwargs.get('last_modified_by_type', None) + self.last_modified_at = kwargs.get('last_modified_at', None) diff --git a/src/diskpool/azext_diskpool/vendored_sdks/storagepool/models/_models_py3.py b/src/diskpool/azext_diskpool/vendored_sdks/storagepool/models/_models_py3.py new file mode 100644 index 00000000000..31dd2d7795e --- /dev/null +++ b/src/diskpool/azext_diskpool/vendored_sdks/storagepool/models/_models_py3.py @@ -0,0 +1,1182 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 datetime +from typing import Dict, List, Optional, Union + +from azure.core.exceptions import HttpResponseError +import msrest.serialization + +from ._storage_pool_management_enums import * + + +class Acl(msrest.serialization.Model): + """Access Control List (ACL) for an iSCSI Target; defines LUN masking policy. + + All required parameters must be populated in order to send to Azure. + + :param initiator_iqn: Required. iSCSI initiator IQN (iSCSI Qualified Name); example: + "iqn.2005-03.org.iscsi:client". + :type initiator_iqn: str + :param mapped_luns: Required. List of LUN names mapped to the ACL. + :type mapped_luns: list[str] + """ + + _validation = { + 'initiator_iqn': {'required': True}, + 'mapped_luns': {'required': True}, + } + + _attribute_map = { + 'initiator_iqn': {'key': 'initiatorIqn', 'type': 'str'}, + 'mapped_luns': {'key': 'mappedLuns', 'type': '[str]'}, + } + + def __init__( + self, + *, + initiator_iqn: str, + mapped_luns: List[str], + **kwargs + ): + super(Acl, self).__init__(**kwargs) + self.initiator_iqn = initiator_iqn + self.mapped_luns = mapped_luns + + +class Disk(msrest.serialization.Model): + """Azure Managed Disk to attach to the Disk Pool. + + All required parameters must be populated in order to send to Azure. + + :param id: Required. Unique Azure Resource ID of the Managed Disk. + :type id: str + """ + + _validation = { + 'id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__( + self, + *, + id: str, + **kwargs + ): + super(Disk, self).__init__(**kwargs) + self.id = id + + +class Resource(msrest.serialization.Model): + """ARM resource model definition. + + 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 + + +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: A set of 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: Optional[Dict[str, str]] = None, + **kwargs + ): + super(TrackedResource, self).__init__(**kwargs) + self.tags = tags + self.location = location + + +class DiskPool(TrackedResource): + """Response for Disk Pool request. + + 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: A set of tags. Resource tags. + :type tags: dict[str, str] + :param location: Required. The geo-location where the resource lives. + :type location: str + :ivar system_data: Resource metadata required by ARM RPC. + :vartype system_data: ~storage_pool_management.models.SystemMetadata + :ivar provisioning_state: Required. State of the operation on the resource. Possible values + include: "Invalid", "Succeeded", "Failed", "Canceled", "Pending", "Creating", "Updating", + "Deleting". + :vartype provisioning_state: str or ~storage_pool_management.models.ProvisioningStates + :param availability_zones: Required. Logical zone for Disk Pool resource; example: ["1"]. + :type availability_zones: list[str] + :param status: Required. Operational status of the Disk Pool. Possible values include: + "Invalid", "Unknown", "Healthy", "Unhealthy", "Updating", "Running", "Stopped", "Stopped + (deallocated)". + :type status: str or ~storage_pool_management.models.OperationalStatus + :param disks: List of Azure Managed Disks to attach to a Disk Pool. + :type disks: list[~storage_pool_management.models.Disk] + :param subnet_id: Required. Azure Resource ID of a Subnet for the Disk Pool. + :type subnet_id: str + :param additional_capabilities: List of additional capabilities for Disk Pool. + :type additional_capabilities: list[str] + :param name_sku_name: Sku name. + :type name_sku_name: str + :param tier: Sku tier. + :type tier: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'system_data': {'readonly': True}, + 'provisioning_state': {'required': True, 'readonly': True}, + 'availability_zones': {'required': True}, + 'status': {'required': True}, + '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'}, + 'system_data': {'key': 'systemData', 'type': 'SystemMetadata'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'availability_zones': {'key': 'properties.availabilityZones', 'type': '[str]'}, + 'status': {'key': 'properties.status', 'type': 'str'}, + 'disks': {'key': 'properties.disks', 'type': '[Disk]'}, + 'subnet_id': {'key': 'properties.subnetId', 'type': 'str'}, + 'additional_capabilities': {'key': 'properties.additionalCapabilities', 'type': '[str]'}, + 'name_sku_name': {'key': 'sku.name', 'type': 'str'}, + 'tier': {'key': 'sku.tier', 'type': 'str'}, + } + + def __init__( + self, + *, + location: str, + availability_zones: List[str], + status: Union[str, "OperationalStatus"], + subnet_id: str, + tags: Optional[Dict[str, str]] = None, + disks: Optional[List["Disk"]] = None, + additional_capabilities: Optional[List[str]] = None, + name_sku_name: Optional[str] = None, + tier: Optional[str] = None, + **kwargs + ): + super(DiskPool, self).__init__(tags=tags, location=location, **kwargs) + self.system_data = None + self.provisioning_state = None + self.availability_zones = availability_zones + self.status = status + self.disks = disks + self.subnet_id = subnet_id + self.additional_capabilities = additional_capabilities + self.name_sku_name = name_sku_name + self.tier = tier + + +class DiskPoolCreate(msrest.serialization.Model): + """Request payload for create or update Disk Pool request. + + 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 sku: Required. Determines the SKU of the Disk Pool. + :type sku: ~storage_pool_management.models.Sku + :param tags: A set of tags. Resource tags. + :type tags: dict[str, str] + :param location: Required. The geo-location where the resource lives. + :type location: str + :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 availability_zones: Logical zone for Disk Pool resource; example: ["1"]. + :type availability_zones: list[str] + :param disks: List of Azure Managed Disks to attach to a Disk Pool. + :type disks: list[~storage_pool_management.models.Disk] + :param subnet_id: Required. Azure Resource ID of a Subnet for the Disk Pool. + :type subnet_id: str + :param additional_capabilities: List of additional capabilities for a Disk Pool. + :type additional_capabilities: list[str] + """ + + _validation = { + 'sku': {'required': True}, + 'location': {'required': True}, + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'subnet_id': {'required': True}, + } + + _attribute_map = { + 'sku': {'key': 'sku', 'type': 'Sku'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'location': {'key': 'location', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'availability_zones': {'key': 'properties.availabilityZones', 'type': '[str]'}, + 'disks': {'key': 'properties.disks', 'type': '[Disk]'}, + 'subnet_id': {'key': 'properties.subnetId', 'type': 'str'}, + 'additional_capabilities': {'key': 'properties.additionalCapabilities', 'type': '[str]'}, + } + + def __init__( + self, + *, + sku: "Sku", + location: str, + subnet_id: str, + tags: Optional[Dict[str, str]] = None, + availability_zones: Optional[List[str]] = None, + disks: Optional[List["Disk"]] = None, + additional_capabilities: Optional[List[str]] = None, + **kwargs + ): + super(DiskPoolCreate, self).__init__(**kwargs) + self.sku = sku + self.tags = tags + self.location = location + self.id = None + self.name = None + self.type = None + self.availability_zones = availability_zones + self.disks = disks + self.subnet_id = subnet_id + self.additional_capabilities = additional_capabilities + + +class DiskPoolListResult(msrest.serialization.Model): + """List of Disk Pools. + + 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 value: Required. An array of Disk pool objects. + :type value: list[~storage_pool_management.models.DiskPool] + :ivar next_link: URI to fetch the next section of the paginated response. + :vartype next_link: str + """ + + _validation = { + 'value': {'required': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[DiskPool]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: List["DiskPool"], + **kwargs + ): + super(DiskPoolListResult, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class DiskPoolUpdate(msrest.serialization.Model): + """Request payload for Update Disk Pool request. + + :param tags: A set of tags. Resource tags. + :type tags: dict[str, str] + :param disks: List of Azure Managed Disks to attach to a Disk Pool. + :type disks: list[~storage_pool_management.models.Disk] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + 'disks': {'key': 'properties.disks', 'type': '[Disk]'}, + } + + def __init__( + self, + *, + tags: Optional[Dict[str, str]] = None, + disks: Optional[List["Disk"]] = None, + **kwargs + ): + super(DiskPoolUpdate, self).__init__(**kwargs) + self.tags = tags + self.disks = disks + + +class DiskPoolZoneInfo(msrest.serialization.Model): + """Disk Pool Sku Details. + + :param availability_zones: Logical zone for Disk Pool resource; example: ["1"]. + :type availability_zones: list[str] + :param additional_capabilities: List of additional capabilities for Disk Pool. + :type additional_capabilities: list[str] + :param sku: Determines the SKU of VM deployed for Disk Pool. + :type sku: ~storage_pool_management.models.Sku + """ + + _attribute_map = { + 'availability_zones': {'key': 'availabilityZones', 'type': '[str]'}, + 'additional_capabilities': {'key': 'additionalCapabilities', 'type': '[str]'}, + 'sku': {'key': 'sku', 'type': 'Sku'}, + } + + def __init__( + self, + *, + availability_zones: Optional[List[str]] = None, + additional_capabilities: Optional[List[str]] = None, + sku: Optional["Sku"] = None, + **kwargs + ): + super(DiskPoolZoneInfo, self).__init__(**kwargs) + self.availability_zones = availability_zones + self.additional_capabilities = additional_capabilities + self.sku = sku + + +class DiskPoolZoneListResult(msrest.serialization.Model): + """List Disk Pool skus operation response. + + :param value: The list of Disk Pool Skus. + :type value: list[~storage_pool_management.models.DiskPoolZoneInfo] + :param next_link: URI to fetch the next section of the paginated response. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[DiskPoolZoneInfo]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: Optional[List["DiskPoolZoneInfo"]] = None, + next_link: Optional[str] = None, + **kwargs + ): + super(DiskPoolZoneListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class EndpointDependency(msrest.serialization.Model): + """A domain name that a service is reached at, including details of the current connection status. + + :param domain_name: The domain name of the dependency. + :type domain_name: str + :param endpoint_details: The IP Addresses and Ports used when connecting to DomainName. + :type endpoint_details: list[~storage_pool_management.models.EndpointDetail] + """ + + _attribute_map = { + 'domain_name': {'key': 'domainName', 'type': 'str'}, + 'endpoint_details': {'key': 'endpointDetails', 'type': '[EndpointDetail]'}, + } + + def __init__( + self, + *, + domain_name: Optional[str] = None, + endpoint_details: Optional[List["EndpointDetail"]] = None, + **kwargs + ): + super(EndpointDependency, self).__init__(**kwargs) + self.domain_name = domain_name + self.endpoint_details = endpoint_details + + +class EndpointDetail(msrest.serialization.Model): + """Current TCP connectivity information from the App Service Environment to a single endpoint. + + :param ip_address: An IP Address that Domain Name currently resolves to. + :type ip_address: str + :param port: The port an endpoint is connected to. + :type port: int + :param latency: The time in milliseconds it takes for a TCP connection to be created from the + App Service Environment to this IpAddress at this Port. + :type latency: float + :param is_accessible: Whether it is possible to create a TCP connection from the App Service + Environment to this IpAddress at this Port. + :type is_accessible: bool + """ + + _attribute_map = { + 'ip_address': {'key': 'ipAddress', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + 'latency': {'key': 'latency', 'type': 'float'}, + 'is_accessible': {'key': 'isAccessible', 'type': 'bool'}, + } + + def __init__( + self, + *, + ip_address: Optional[str] = None, + port: Optional[int] = None, + latency: Optional[float] = None, + is_accessible: Optional[bool] = None, + **kwargs + ): + super(EndpointDetail, self).__init__(**kwargs) + self.ip_address = ip_address + self.port = port + self.latency = latency + self.is_accessible = is_accessible + + +class Error(msrest.serialization.Model): + """The resource management error response. + + :param error: RP error response. + :type error: ~storage_pool_management.models.ErrorResponse + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'ErrorResponse'}, + } + + def __init__( + self, + *, + error: Optional["ErrorResponse"] = None, + **kwargs + ): + super(Error, self).__init__(**kwargs) + self.error = error + + +class ErrorAdditionalInfo(msrest.serialization.Model): + """The resource management error additional info. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar type: The additional info type. + :vartype type: str + :ivar info: The additional info. + :vartype info: object + """ + + _validation = { + 'type': {'readonly': True}, + 'info': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'info': {'key': 'info', 'type': 'object'}, + } + + def __init__( + self, + **kwargs + ): + super(ErrorAdditionalInfo, self).__init__(**kwargs) + self.type = None + self.info = None + + +class ErrorResponse(msrest.serialization.Model): + """The resource management error response. + + Variables are only populated by the server, and will be ignored when sending a request. + + :ivar code: The error code. + :vartype code: str + :ivar message: The error message. + :vartype message: str + :ivar target: The error target. + :vartype target: str + :ivar details: The error details. + :vartype details: list[~storage_pool_management.models.ErrorResponse] + :ivar additional_info: The error additional info. + :vartype additional_info: list[~storage_pool_management.models.ErrorAdditionalInfo] + """ + + _validation = { + 'code': {'readonly': True}, + 'message': {'readonly': True}, + 'target': {'readonly': True}, + 'details': {'readonly': True}, + 'additional_info': {'readonly': True}, + } + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ErrorResponse]'}, + 'additional_info': {'key': 'additionalInfo', 'type': '[ErrorAdditionalInfo]'}, + } + + def __init__( + self, + **kwargs + ): + super(ErrorResponse, self).__init__(**kwargs) + self.code = None + self.message = None + self.target = None + self.details = None + self.additional_info = None + + +class IscsiLun(msrest.serialization.Model): + """LUN to expose the Azure Managed Disk. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. User defined name for iSCSI LUN; example: "lun0". + :type name: str + :param managed_disk_azure_resource_id: Required. Azure Resource ID of the Managed Disk. + :type managed_disk_azure_resource_id: str + """ + + _validation = { + 'name': {'required': True}, + 'managed_disk_azure_resource_id': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'managed_disk_azure_resource_id': {'key': 'managedDiskAzureResourceId', 'type': 'str'}, + } + + def __init__( + self, + *, + name: str, + managed_disk_azure_resource_id: str, + **kwargs + ): + super(IscsiLun, self).__init__(**kwargs) + self.name = name + self.managed_disk_azure_resource_id = managed_disk_azure_resource_id + + +class IscsiTarget(Resource): + """Response for iSCSI Target requests. + + 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 system_data: Resource metadata required by ARM RPC. + :vartype system_data: ~storage_pool_management.models.SystemMetadata + :param acl_mode: Required. Mode for Target connectivity. Possible values include: "Dynamic", + "Static". + :type acl_mode: str or ~storage_pool_management.models.IscsiTargetAclMode + :param static_acls: Access Control List (ACL) for an iSCSI Target; defines LUN masking policy. + :type static_acls: list[~storage_pool_management.models.Acl] + :param luns: List of LUNs to be exposed through iSCSI Target. + :type luns: list[~storage_pool_management.models.IscsiLun] + :param target_iqn: Required. iSCSI Target IQN (iSCSI Qualified Name); example: + "iqn.2005-03.org.iscsi:server". + :type target_iqn: str + :ivar provisioning_state: Required. State of the operation on the resource. Possible values + include: "Invalid", "Succeeded", "Failed", "Canceled", "Pending", "Creating", "Updating", + "Deleting". + :vartype provisioning_state: str or ~storage_pool_management.models.ProvisioningStates + :param status: Required. Operational status of the iSCSI Target. Possible values include: + "Invalid", "Unknown", "Healthy", "Unhealthy", "Updating", "Running", "Stopped", "Stopped + (deallocated)". + :type status: str or ~storage_pool_management.models.OperationalStatus + :param endpoints: List of private IPv4 addresses to connect to the iSCSI Target. + :type endpoints: list[str] + :param port: The port used by iSCSI Target portal group. + :type port: int + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + 'acl_mode': {'required': True}, + 'target_iqn': {'required': True}, + 'provisioning_state': {'required': True, 'readonly': True}, + 'status': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemMetadata'}, + 'acl_mode': {'key': 'properties.aclMode', 'type': 'str'}, + 'static_acls': {'key': 'properties.staticAcls', 'type': '[Acl]'}, + 'luns': {'key': 'properties.luns', 'type': '[IscsiLun]'}, + 'target_iqn': {'key': 'properties.targetIqn', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'status': {'key': 'properties.status', 'type': 'str'}, + 'endpoints': {'key': 'properties.endpoints', 'type': '[str]'}, + 'port': {'key': 'properties.port', 'type': 'int'}, + } + + def __init__( + self, + *, + acl_mode: Union[str, "IscsiTargetAclMode"], + target_iqn: str, + status: Union[str, "OperationalStatus"], + static_acls: Optional[List["Acl"]] = None, + luns: Optional[List["IscsiLun"]] = None, + endpoints: Optional[List[str]] = None, + port: Optional[int] = None, + **kwargs + ): + super(IscsiTarget, self).__init__(**kwargs) + self.system_data = None + self.acl_mode = acl_mode + self.static_acls = static_acls + self.luns = luns + self.target_iqn = target_iqn + self.provisioning_state = None + self.status = status + self.endpoints = endpoints + self.port = port + + +class IscsiTargetCreate(Resource): + """Payload for iSCSI Target create or update requests. + + 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 acl_mode: Required. Mode for Target connectivity. Possible values include: "Dynamic", + "Static". + :type acl_mode: str or ~storage_pool_management.models.IscsiTargetAclMode + :param target_iqn: iSCSI Target IQN (iSCSI Qualified Name); example: + "iqn.2005-03.org.iscsi:server". + :type target_iqn: str + :param static_acls: Access Control List (ACL) for an iSCSI Target; defines LUN masking policy. + :type static_acls: list[~storage_pool_management.models.Acl] + :param luns: List of LUNs to be exposed through iSCSI Target. + :type luns: list[~storage_pool_management.models.IscsiLun] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'acl_mode': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'acl_mode': {'key': 'properties.aclMode', 'type': 'str'}, + 'target_iqn': {'key': 'properties.targetIqn', 'type': 'str'}, + 'static_acls': {'key': 'properties.staticAcls', 'type': '[Acl]'}, + 'luns': {'key': 'properties.luns', 'type': '[IscsiLun]'}, + } + + def __init__( + self, + *, + acl_mode: Union[str, "IscsiTargetAclMode"], + target_iqn: Optional[str] = None, + static_acls: Optional[List["Acl"]] = None, + luns: Optional[List["IscsiLun"]] = None, + **kwargs + ): + super(IscsiTargetCreate, self).__init__(**kwargs) + self.acl_mode = acl_mode + self.target_iqn = target_iqn + self.static_acls = static_acls + self.luns = luns + + +class IscsiTargetList(msrest.serialization.Model): + """List of iSCSI Targets. + + 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 value: Required. An array of iSCSI Targets in a Disk Pool. + :type value: list[~storage_pool_management.models.IscsiTarget] + :ivar next_link: URI to fetch the next section of the paginated response. + :vartype next_link: str + """ + + _validation = { + 'value': {'required': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[IscsiTarget]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: List["IscsiTarget"], + **kwargs + ): + super(IscsiTargetList, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +class IscsiTargetUpdate(Resource): + """Payload for iSCSI Target update requests. + + 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 static_acls: Access Control List (ACL) for an iSCSI Target; defines LUN masking policy. + :type static_acls: list[~storage_pool_management.models.Acl] + :param luns: List of LUNs to be exposed through iSCSI Target. + :type luns: list[~storage_pool_management.models.IscsiLun] + """ + + _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'}, + 'static_acls': {'key': 'properties.staticAcls', 'type': '[Acl]'}, + 'luns': {'key': 'properties.luns', 'type': '[IscsiLun]'}, + } + + def __init__( + self, + *, + static_acls: Optional[List["Acl"]] = None, + luns: Optional[List["IscsiLun"]] = None, + **kwargs + ): + super(IscsiTargetUpdate, self).__init__(**kwargs) + self.static_acls = static_acls + self.luns = luns + + +class OutboundEnvironmentEndpoint(msrest.serialization.Model): + """Endpoints accessed for a common purpose that the App Service Environment requires outbound network access to. + + :param category: The type of service accessed by the App Service Environment, e.g., Azure + Storage, Azure SQL Database, and Azure Active Directory. + :type category: str + :param endpoints: The endpoints that the App Service Environment reaches the service at. + :type endpoints: list[~storage_pool_management.models.EndpointDependency] + """ + + _attribute_map = { + 'category': {'key': 'category', 'type': 'str'}, + 'endpoints': {'key': 'endpoints', 'type': '[EndpointDependency]'}, + } + + def __init__( + self, + *, + category: Optional[str] = None, + endpoints: Optional[List["EndpointDependency"]] = None, + **kwargs + ): + super(OutboundEnvironmentEndpoint, self).__init__(**kwargs) + self.category = category + self.endpoints = endpoints + + +class OutboundEnvironmentEndpointList(msrest.serialization.Model): + """Collection of Outbound Environment Endpoints. + + 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 value: Required. Collection of resources. + :type value: list[~storage_pool_management.models.OutboundEnvironmentEndpoint] + :ivar next_link: Link to next page of resources. + :vartype next_link: str + """ + + _validation = { + 'value': {'required': True}, + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[OutboundEnvironmentEndpoint]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: List["OutboundEnvironmentEndpoint"], + **kwargs + ): + super(OutboundEnvironmentEndpointList, self).__init__(**kwargs) + self.value = value + self.next_link = None + + +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) + + +class Sku(msrest.serialization.Model): + """Sku for ARM resource. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. Sku name. + :type name: str + :param tier: Sku tier. + :type tier: str + """ + + _validation = { + 'name': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + } + + def __init__( + self, + *, + name: str, + tier: Optional[str] = None, + **kwargs + ): + super(Sku, self).__init__(**kwargs) + self.name = name + self.tier = tier + + +class StoragePoolOperationDisplay(msrest.serialization.Model): + """Metadata about an operation. + + All required parameters must be populated in order to send to Azure. + + :param provider: Required. Localized friendly form of the resource provider name. + :type provider: str + :param resource: Required. Localized friendly form of the resource type related to this + action/operation. + :type resource: str + :param operation: Required. Localized friendly name for the operation, as it should be shown to + the user. + :type operation: str + :param description: Required. Localized friendly description for the operation, as it should be + shown to the user. + :type description: str + """ + + _validation = { + 'provider': {'required': True}, + 'resource': {'required': True}, + 'operation': {'required': True}, + 'description': {'required': 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, + *, + provider: str, + resource: str, + operation: str, + description: str, + **kwargs + ): + super(StoragePoolOperationDisplay, self).__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description + + +class StoragePoolOperationListResult(msrest.serialization.Model): + """List of operations supported by the RP. + + All required parameters must be populated in order to send to Azure. + + :param value: Required. An array of operations supported by the StoragePool RP. + :type value: list[~storage_pool_management.models.StoragePoolRpOperation] + :param next_link: URI to fetch the next section of the paginated response. + :type next_link: str + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[StoragePoolRpOperation]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__( + self, + *, + value: List["StoragePoolRpOperation"], + next_link: Optional[str] = None, + **kwargs + ): + super(StoragePoolOperationListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link + + +class StoragePoolRpOperation(msrest.serialization.Model): + """Description of a StoragePool RP Operation. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The name of the operation being performed on this particular object. + :type name: str + :param is_data_action: Required. Indicates whether the operation applies to data-plane. + :type is_data_action: bool + :param action_type: Indicates the action type. + :type action_type: str + :param display: Required. Additional metadata about RP operation. + :type display: ~storage_pool_management.models.StoragePoolOperationDisplay + :param origin: The intended executor of the operation; governs the display of the operation in + the RBAC UX and the audit logs UX. + :type origin: str + """ + + _validation = { + 'name': {'required': True}, + 'is_data_action': {'required': True}, + 'display': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'is_data_action': {'key': 'isDataAction', 'type': 'bool'}, + 'action_type': {'key': 'actionType', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'StoragePoolOperationDisplay'}, + 'origin': {'key': 'origin', 'type': 'str'}, + } + + def __init__( + self, + *, + name: str, + is_data_action: bool, + display: "StoragePoolOperationDisplay", + action_type: Optional[str] = None, + origin: Optional[str] = None, + **kwargs + ): + super(StoragePoolRpOperation, self).__init__(**kwargs) + self.name = name + self.is_data_action = is_data_action + self.action_type = action_type + self.display = display + self.origin = origin + + +class SystemMetadata(msrest.serialization.Model): + """Metadata pertaining to creation and last modification of the resource. + + :param created_by: The identity that created the resource. + :type created_by: str + :param created_by_type: The type of identity that created the resource. Possible values + include: "User", "Application", "ManagedIdentity", "Key". + :type created_by_type: str or ~storage_pool_management.models.CreatedByType + :param created_at: The timestamp of resource creation (UTC). + :type created_at: ~datetime.datetime + :param last_modified_by: The identity that last modified the resource. + :type last_modified_by: str + :param last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". + :type last_modified_by_type: str or ~storage_pool_management.models.CreatedByType + :param last_modified_at: The type of identity that last modified the resource. + :type last_modified_at: ~datetime.datetime + """ + + _attribute_map = { + 'created_by': {'key': 'createdBy', 'type': 'str'}, + 'created_by_type': {'key': 'createdByType', 'type': 'str'}, + 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, + 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, + 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, + 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, + } + + def __init__( + self, + *, + created_by: Optional[str] = None, + created_by_type: Optional[Union[str, "CreatedByType"]] = None, + created_at: Optional[datetime.datetime] = None, + last_modified_by: Optional[str] = None, + last_modified_by_type: Optional[Union[str, "CreatedByType"]] = None, + last_modified_at: Optional[datetime.datetime] = None, + **kwargs + ): + super(SystemMetadata, self).__init__(**kwargs) + self.created_by = created_by + self.created_by_type = created_by_type + self.created_at = created_at + self.last_modified_by = last_modified_by + self.last_modified_by_type = last_modified_by_type + self.last_modified_at = last_modified_at diff --git a/src/diskpool/azext_diskpool/vendored_sdks/storagepool/models/_storage_pool_management_enums.py b/src/diskpool/azext_diskpool/vendored_sdks/storagepool/models/_storage_pool_management_enums.py new file mode 100644 index 00000000000..061cbd1e41d --- /dev/null +++ b/src/diskpool/azext_diskpool/vendored_sdks/storagepool/models/_storage_pool_management_enums.py @@ -0,0 +1,77 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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, EnumMeta +from six import with_metaclass + +class _CaseInsensitiveEnumMeta(EnumMeta): + def __getitem__(self, name): + return super().__getitem__(name.upper()) + + def __getattr__(cls, name): + """Return the enum member matching `name` + We use __getattr__ instead of descriptors or inserting into the enum + class' __dict__ in order to support `name` and `value` being both + properties for enum members (which live in the class' __dict__) and + enum members themselves. + """ + try: + return cls._member_map_[name.upper()] + except KeyError: + raise AttributeError(name) + + +class CreatedByType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The type of identity that created the resource. + """ + + USER = "User" + APPLICATION = "Application" + MANAGED_IDENTITY = "ManagedIdentity" + KEY = "Key" + +class DiskPoolTier(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """SKU of the VM host part of the Disk Pool deployment + """ + + BASIC = "Basic" + STANDARD = "Standard" + PREMIUM = "Premium" + +class IscsiTargetAclMode(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """ACL mode for iSCSI Target. + """ + + DYNAMIC = "Dynamic" + STATIC = "Static" + +class OperationalStatus(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Operational status of the resource. + """ + + INVALID = "Invalid" + UNKNOWN = "Unknown" + HEALTHY = "Healthy" + UNHEALTHY = "Unhealthy" + UPDATING = "Updating" + RUNNING = "Running" + STOPPED = "Stopped" + STOPPED_DEALLOCATED__ = "Stopped (deallocated)" + +class ProvisioningStates(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Provisioning state of the iSCSI Target. + """ + + INVALID = "Invalid" + SUCCEEDED = "Succeeded" + FAILED = "Failed" + CANCELED = "Canceled" + PENDING = "Pending" + CREATING = "Creating" + UPDATING = "Updating" + DELETING = "Deleting" diff --git a/src/diskpool/azext_diskpool/vendored_sdks/storagepool/operations/__init__.py b/src/diskpool/azext_diskpool/vendored_sdks/storagepool/operations/__init__.py new file mode 100644 index 00000000000..1620075f15e --- /dev/null +++ b/src/diskpool/azext_diskpool/vendored_sdks/storagepool/operations/__init__.py @@ -0,0 +1,19 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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 ._disk_pools_operations import DiskPoolsOperations +from ._disk_pool_zones_operations import DiskPoolZonesOperations +from ._iscsi_targets_operations import IscsiTargetsOperations + +__all__ = [ + 'Operations', + 'DiskPoolsOperations', + 'DiskPoolZonesOperations', + 'IscsiTargetsOperations', +] diff --git a/src/diskpool/azext_diskpool/vendored_sdks/storagepool/operations/_disk_pool_zones_operations.py b/src/diskpool/azext_diskpool/vendored_sdks/storagepool/operations/_disk_pool_zones_operations.py new file mode 100644 index 00000000000..f3ca01df3c1 --- /dev/null +++ b/src/diskpool/azext_diskpool/vendored_sdks/storagepool/operations/_disk_pool_zones_operations.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 typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class DiskPoolZonesOperations(object): + """DiskPoolZonesOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~storage_pool_management.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + location, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.DiskPoolZoneListResult"] + """Lists available Disk Pool Skus in an Azure location. + + :param location: The location of the resource. + :type location: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either DiskPoolZoneListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~storage_pool_management.models.DiskPoolZoneListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DiskPoolZoneListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + 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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('DiskPoolZoneListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.Error, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.StoragePool/locations/{location}/diskPoolZones'} # type: ignore diff --git a/src/diskpool/azext_diskpool/vendored_sdks/storagepool/operations/_disk_pools_operations.py b/src/diskpool/azext_diskpool/vendored_sdks/storagepool/operations/_disk_pools_operations.py new file mode 100644 index 00000000000..04bc8ff1a46 --- /dev/null +++ b/src/diskpool/azext_diskpool/vendored_sdks/storagepool/operations/_disk_pools_operations.py @@ -0,0 +1,918 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class DiskPoolsOperations(object): + """DiskPoolsOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~storage_pool_management.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_by_subscription( + self, + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.DiskPoolListResult"] + """Gets a list of Disk Pools in a subscription. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either DiskPoolListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~storage_pool_management.models.DiskPoolListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DiskPoolListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_subscription.metadata['url'] # type: ignore + 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 = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('DiskPoolListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.Error, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.StoragePool/diskPools'} # type: ignore + + def list_by_resource_group( + self, + resource_group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.DiskPoolListResult"] + """Gets a list of DiskPools in a resource group. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either DiskPoolListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~storage_pool_management.models.DiskPoolListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DiskPoolListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._]*[0-9A-Za-z]$'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('DiskPoolListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.Error, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StoragePool/diskPools'} # type: ignore + + def _create_or_update_initial( + self, + resource_group_name, # type: str + disk_pool_name, # type: str + disk_pool_create_payload, # type: "models.DiskPoolCreate" + **kwargs # type: Any + ): + # type: (...) -> "models.DiskPool" + cls = kwargs.pop('cls', None) # type: ClsType["models.DiskPool"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_or_update_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._]*[0-9A-Za-z]$'), + 'diskPoolName': self._serialize.url("disk_pool_name", disk_pool_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(disk_pool_create_payload, 'DiskPoolCreate') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.Error, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('DiskPool', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('DiskPool', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StoragePool/diskPools/{diskPoolName}'} # type: ignore + + def begin_create_or_update( + self, + resource_group_name, # type: str + disk_pool_name, # type: str + disk_pool_create_payload, # type: "models.DiskPoolCreate" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["models.DiskPool"] + """Create or Update Disk pool. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param disk_pool_name: The name of the Disk Pool. + :type disk_pool_name: str + :param disk_pool_create_payload: Request payload for Disk Pool create operation. + :type disk_pool_create_payload: ~storage_pool_management.models.DiskPoolCreate + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either DiskPool or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~storage_pool_management.models.DiskPool] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.DiskPool"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + disk_pool_name=disk_pool_name, + disk_pool_create_payload=disk_pool_create_payload, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('DiskPool', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._]*[0-9A-Za-z]$'), + 'diskPoolName': self._serialize.url("disk_pool_name", disk_pool_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StoragePool/diskPools/{diskPoolName}'} # type: ignore + + def _update_initial( + self, + resource_group_name, # type: str + disk_pool_name, # type: str + disk_pool_update_payload, # type: "models.DiskPoolUpdate" + **kwargs # type: Any + ): + # type: (...) -> Optional["models.DiskPool"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.DiskPool"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._update_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._]*[0-9A-Za-z]$'), + 'diskPoolName': self._serialize.url("disk_pool_name", disk_pool_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(disk_pool_update_payload, 'DiskPoolUpdate') + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.Error, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('DiskPool', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StoragePool/diskPools/{diskPoolName}'} # type: ignore + + def begin_update( + self, + resource_group_name, # type: str + disk_pool_name, # type: str + disk_pool_update_payload, # type: "models.DiskPoolUpdate" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["models.DiskPool"] + """Update a Disk pool. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param disk_pool_name: The name of the Disk Pool. + :type disk_pool_name: str + :param disk_pool_update_payload: Request payload for Disk Pool update operation. + :type disk_pool_update_payload: ~storage_pool_management.models.DiskPoolUpdate + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either DiskPool or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~storage_pool_management.models.DiskPool] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.DiskPool"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._update_initial( + resource_group_name=resource_group_name, + disk_pool_name=disk_pool_name, + disk_pool_update_payload=disk_pool_update_payload, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('DiskPool', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._]*[0-9A-Za-z]$'), + 'diskPoolName': self._serialize.url("disk_pool_name", disk_pool_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StoragePool/diskPools/{diskPoolName}'} # type: ignore + + def _delete_initial( + self, + resource_group_name, # type: str + disk_pool_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self._delete_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._]*[0-9A-Za-z]$'), + 'diskPoolName': self._serialize.url("disk_pool_name", disk_pool_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.Error, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StoragePool/diskPools/{diskPoolName}'} # type: ignore + + def begin_delete( + self, + resource_group_name, # type: str + disk_pool_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """Delete a Disk pool. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param disk_pool_name: The name of the Disk Pool. + :type disk_pool_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + disk_pool_name=disk_pool_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._]*[0-9A-Za-z]$'), + 'diskPoolName': self._serialize.url("disk_pool_name", disk_pool_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StoragePool/diskPools/{diskPoolName}'} # type: ignore + + def get( + self, + resource_group_name, # type: str + disk_pool_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.DiskPool" + """Get a Disk pool. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param disk_pool_name: The name of the Disk Pool. + :type disk_pool_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: DiskPool, or the result of cls(response) + :rtype: ~storage_pool_management.models.DiskPool + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.DiskPool"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._]*[0-9A-Za-z]$'), + 'diskPoolName': self._serialize.url("disk_pool_name", disk_pool_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.Error, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('DiskPool', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StoragePool/diskPools/{diskPoolName}'} # type: ignore + + def list_outbound_network_dependencies_endpoints( + self, + resource_group_name, # type: str + disk_pool_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.OutboundEnvironmentEndpointList"] + """Gets the network endpoints of all outbound dependencies of a Disk Pool. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param disk_pool_name: The name of the Disk Pool. + :type disk_pool_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either OutboundEnvironmentEndpointList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~storage_pool_management.models.OutboundEnvironmentEndpointList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.OutboundEnvironmentEndpointList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_outbound_network_dependencies_endpoints.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._]*[0-9A-Za-z]$'), + 'diskPoolName': self._serialize.url("disk_pool_name", disk_pool_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('OutboundEnvironmentEndpointList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.Error, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_outbound_network_dependencies_endpoints.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StoragePool/diskPools/{diskPoolName}/outboundNetworkDependenciesEndpoints'} # type: ignore + + def _start_initial( + self, + resource_group_name, # type: str + disk_pool_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self._start_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._]*[0-9A-Za-z]$'), + 'diskPoolName': self._serialize.url("disk_pool_name", disk_pool_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.Error, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _start_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StoragePool/diskPools/{diskPoolName}/start'} # type: ignore + + def begin_start( + self, + resource_group_name, # type: str + disk_pool_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """The operation to start a Disk Pool. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param disk_pool_name: The name of the Disk Pool. + :type disk_pool_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._start_initial( + resource_group_name=resource_group_name, + disk_pool_name=disk_pool_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._]*[0-9A-Za-z]$'), + 'diskPoolName': self._serialize.url("disk_pool_name", disk_pool_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_start.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StoragePool/diskPools/{diskPoolName}/start'} # type: ignore + + def _deallocate_initial( + self, + resource_group_name, # type: str + disk_pool_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self._deallocate_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._]*[0-9A-Za-z]$'), + 'diskPoolName': self._serialize.url("disk_pool_name", disk_pool_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.Error, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _deallocate_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StoragePool/diskPools/{diskPoolName}/deallocate'} # type: ignore + + def begin_deallocate( + self, + resource_group_name, # type: str + disk_pool_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """Shuts down the Disk Pool and releases the compute resources. You are not billed for the compute + resources that this Disk Pool uses. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param disk_pool_name: The name of the Disk Pool. + :type disk_pool_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._deallocate_initial( + resource_group_name=resource_group_name, + disk_pool_name=disk_pool_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._]*[0-9A-Za-z]$'), + 'diskPoolName': self._serialize.url("disk_pool_name", disk_pool_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_deallocate.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StoragePool/diskPools/{diskPoolName}/deallocate'} # type: ignore diff --git a/src/diskpool/azext_diskpool/vendored_sdks/storagepool/operations/_iscsi_targets_operations.py b/src/diskpool/azext_diskpool/vendored_sdks/storagepool/operations/_iscsi_targets_operations.py new file mode 100644 index 00000000000..82cd68141b2 --- /dev/null +++ b/src/diskpool/azext_diskpool/vendored_sdks/storagepool/operations/_iscsi_targets_operations.py @@ -0,0 +1,580 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.core.polling import LROPoller, NoPolling, PollingMethod +from azure.mgmt.core.exceptions import ARMErrorFormat +from azure.mgmt.core.polling.arm_polling import ARMPolling + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class IscsiTargetsOperations(object): + """IscsiTargetsOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~storage_pool_management.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_by_disk_pool( + self, + resource_group_name, # type: str + disk_pool_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.IscsiTargetList"] + """Get iSCSI Targets in a Disk pool. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param disk_pool_name: The name of the Disk Pool. + :type disk_pool_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either IscsiTargetList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~storage_pool_management.models.IscsiTargetList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IscsiTargetList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_by_disk_pool.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._]*[0-9A-Za-z]$'), + 'diskPoolName': self._serialize.url("disk_pool_name", disk_pool_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('IscsiTargetList', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return deserialized.next_link or None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.Error, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_by_disk_pool.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StoragePool/diskPools/{diskPoolName}/iscsiTargets'} # type: ignore + + def _create_or_update_initial( + self, + resource_group_name, # type: str + disk_pool_name, # type: str + iscsi_target_name, # type: str + iscsi_target_create_payload, # type: "models.IscsiTargetCreate" + **kwargs # type: Any + ): + # type: (...) -> "models.IscsiTarget" + cls = kwargs.pop('cls', None) # type: ClsType["models.IscsiTarget"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._create_or_update_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._]*[0-9A-Za-z]$'), + 'diskPoolName': self._serialize.url("disk_pool_name", disk_pool_name, 'str'), + 'iscsiTargetName': self._serialize.url("iscsi_target_name", iscsi_target_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(iscsi_target_create_payload, 'IscsiTargetCreate') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.Error, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if response.status_code == 200: + deserialized = self._deserialize('IscsiTarget', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('IscsiTarget', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _create_or_update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StoragePool/diskPools/{diskPoolName}/iscsiTargets/{iscsiTargetName}'} # type: ignore + + def begin_create_or_update( + self, + resource_group_name, # type: str + disk_pool_name, # type: str + iscsi_target_name, # type: str + iscsi_target_create_payload, # type: "models.IscsiTargetCreate" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["models.IscsiTarget"] + """Create or Update an iSCSI Target. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param disk_pool_name: The name of the Disk Pool. + :type disk_pool_name: str + :param iscsi_target_name: The name of the iSCSI Target. + :type iscsi_target_name: str + :param iscsi_target_create_payload: Request payload for iSCSI Target create operation. + :type iscsi_target_create_payload: ~storage_pool_management.models.IscsiTargetCreate + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either IscsiTarget or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~storage_pool_management.models.IscsiTarget] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.IscsiTarget"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + disk_pool_name=disk_pool_name, + iscsi_target_name=iscsi_target_name, + iscsi_target_create_payload=iscsi_target_create_payload, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('IscsiTarget', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._]*[0-9A-Za-z]$'), + 'diskPoolName': self._serialize.url("disk_pool_name", disk_pool_name, 'str'), + 'iscsiTargetName': self._serialize.url("iscsi_target_name", iscsi_target_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StoragePool/diskPools/{diskPoolName}/iscsiTargets/{iscsiTargetName}'} # type: ignore + + def _update_initial( + self, + resource_group_name, # type: str + disk_pool_name, # type: str + iscsi_target_name, # type: str + iscsi_target_update_payload, # type: "models.IscsiTargetUpdate" + **kwargs # type: Any + ): + # type: (...) -> Optional["models.IscsiTarget"] + cls = kwargs.pop('cls', None) # type: ClsType[Optional["models.IscsiTarget"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self._update_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._]*[0-9A-Za-z]$'), + 'diskPoolName': self._serialize.url("disk_pool_name", disk_pool_name, 'str'), + 'iscsiTargetName': self._serialize.url("iscsi_target_name", iscsi_target_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(iscsi_target_update_payload, 'IscsiTargetUpdate') + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.Error, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('IscsiTarget', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StoragePool/diskPools/{diskPoolName}/iscsiTargets/{iscsiTargetName}'} # type: ignore + + def begin_update( + self, + resource_group_name, # type: str + disk_pool_name, # type: str + iscsi_target_name, # type: str + iscsi_target_update_payload, # type: "models.IscsiTargetUpdate" + **kwargs # type: Any + ): + # type: (...) -> LROPoller["models.IscsiTarget"] + """Update an iSCSI Target. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param disk_pool_name: The name of the Disk Pool. + :type disk_pool_name: str + :param iscsi_target_name: The name of the iSCSI Target. + :type iscsi_target_name: str + :param iscsi_target_update_payload: Request payload for iSCSI Target update operation. + :type iscsi_target_update_payload: ~storage_pool_management.models.IscsiTargetUpdate + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either IscsiTarget or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~storage_pool_management.models.IscsiTarget] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.IscsiTarget"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._update_initial( + resource_group_name=resource_group_name, + disk_pool_name=disk_pool_name, + iscsi_target_name=iscsi_target_name, + iscsi_target_update_payload=iscsi_target_update_payload, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('IscsiTarget', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._]*[0-9A-Za-z]$'), + 'diskPoolName': self._serialize.url("disk_pool_name", disk_pool_name, 'str'), + 'iscsiTargetName': self._serialize.url("iscsi_target_name", iscsi_target_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StoragePool/diskPools/{diskPoolName}/iscsiTargets/{iscsiTargetName}'} # type: ignore + + def _delete_initial( + self, + resource_group_name, # type: str + disk_pool_name, # type: str + iscsi_target_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self._delete_initial.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._]*[0-9A-Za-z]$'), + 'diskPoolName': self._serialize.url("disk_pool_name", disk_pool_name, 'str'), + 'iscsiTargetName': self._serialize.url("iscsi_target_name", iscsi_target_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202, 204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.Error, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) + + _delete_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StoragePool/diskPools/{diskPoolName}/iscsiTargets/{iscsiTargetName}'} # type: ignore + + def begin_delete( + self, + resource_group_name, # type: str + disk_pool_name, # type: str + iscsi_target_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> LROPoller[None] + """Delete an iSCSI Target. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param disk_pool_name: The name of the Disk Pool. + :type disk_pool_name: str + :param iscsi_target_name: The name of the iSCSI Target. + :type iscsi_target_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either None or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[None] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType[None] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + disk_pool_name=disk_pool_name, + iscsi_target_name=iscsi_target_name, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + if cls: + return cls(pipeline_response, None, {}) + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._]*[0-9A-Za-z]$'), + 'diskPoolName': self._serialize.url("disk_pool_name", disk_pool_name, 'str'), + 'iscsiTargetName': self._serialize.url("iscsi_target_name", iscsi_target_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, lro_options={'final-state-via': 'azure-async-operation'}, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StoragePool/diskPools/{diskPoolName}/iscsiTargets/{iscsiTargetName}'} # type: ignore + + def get( + self, + resource_group_name, # type: str + disk_pool_name, # type: str + iscsi_target_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "models.IscsiTarget" + """Get an iSCSI Target. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param disk_pool_name: The name of the Disk Pool. + :type disk_pool_name: str + :param iscsi_target_name: The name of the iSCSI Target. + :type iscsi_target_name: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IscsiTarget, or the result of cls(response) + :rtype: ~storage_pool_management.models.IscsiTarget + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.IscsiTarget"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + # Construct URL + url = self.get.metadata['url'] # type: ignore + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._]*[0-9A-Za-z]$'), + 'diskPoolName': self._serialize.url("disk_pool_name", disk_pool_name, 'str'), + 'iscsiTargetName': self._serialize.url("iscsi_target_name", iscsi_target_name, 'str'), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize(models.Error, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + deserialized = self._deserialize('IscsiTarget', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StoragePool/diskPools/{diskPoolName}/iscsiTargets/{iscsiTargetName}'} # type: ignore diff --git a/src/diskpool/azext_diskpool/vendored_sdks/storagepool/operations/_operations.py b/src/diskpool/azext_diskpool/vendored_sdks/storagepool/operations/_operations.py new file mode 100644 index 00000000000..71f13daded2 --- /dev/null +++ b/src/diskpool/azext_diskpool/vendored_sdks/storagepool/operations/_operations.py @@ -0,0 +1,110 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat + +from .. import models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class Operations(object): + """Operations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~storage_pool_management.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list( + self, + **kwargs # type: Any + ): + # type: (...) -> Iterable["models.StoragePoolOperationListResult"] + """Gets a list of StoragePool operations. + + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either StoragePoolOperationListResult or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~storage_pool_management.models.StoragePoolOperationListResult] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["models.StoragePoolOperationListResult"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-04-01-preview" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list.metadata['url'] # type: ignore + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('StoragePoolOperationListResult', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize(models.Error, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list.metadata = {'url': '/providers/Microsoft.StoragePool/operations'} # type: ignore diff --git a/src/diskpool/azext_diskpool/vendored_sdks/storagepool/py.typed b/src/diskpool/azext_diskpool/vendored_sdks/storagepool/py.typed new file mode 100644 index 00000000000..e5aff4f83af --- /dev/null +++ b/src/diskpool/azext_diskpool/vendored_sdks/storagepool/py.typed @@ -0,0 +1 @@ +# Marker file for PEP 561. \ No newline at end of file diff --git a/src/diskpool/gen.zip b/src/diskpool/gen.zip new file mode 100644 index 0000000000000000000000000000000000000000..523bb334ba926c6c781478455e186efb40c5afb4 GIT binary patch literal 12264 zcmeHN&2A&P5!U`BSqM4ik{cr*ByZF$?<9)=1_aE+o(znc@fwzQ5WqVi=x$2ly8lA9 zWN91+0dfj*%p(NJJM1Yr2f6JF+o z8~Ay&|IO+DzWx1Qe*U9I1HYfcGxmzlV(JQY8HJ(uRm@eazVaCU)s5^GRSplB6rml> zcZjvIPjiPHgwb4z(Ksd@XO}z|jto^ejN!SALdjwg1~z%*c|;Q_BDvyn%3T}!J`*r3 z#a%K9TrNpG=H&U&S^C%}1J1KXJd244G)*MKuelQw8HO<#h7ve=h7(Xg+c#31J9>C7 zCnFwk7zzlwm=}iFIo&0XCUJNQ`hxKS;S)m`N*vw6m<1!Qh|lK4VH3rHyAw)@qA&QE zO+_dP3tVy~V0ssvcp>l+Lp??Z*$D+~B+tYn*Ny4kYBq%rDvn90nnM}-guR+bZabc^ zwI#ThBq10itA7R)y@eEX5l*DTpU7|$ok$)r$))LIM@dtqd|wC|PndViMEo1obtDN%sXUo_V|Pxe{n{B z^Tn6Phx?>=2v~6fSfP5+B<>wZ4!dGDn`!dpgVqzrp%TXfJ>Z_JAFp|hLJ*MBDPhk} zu>m^O5>f4xia^Aab`^h z06N=nwkMGblkZ$-FOi_FCKt+)B0}7v!fo$s-u8&cwDPL6oAtZ_Bg5YK!J(`c;m^}m z0PgKV%WMV128QC#kCdat8R&t>hP3z~r$+Hw{=?ec+X8wqr}^!p=O@n|FTq*@$oZuP z9)ci15GEH8AB~1O8k-YDcgEbgRQ=;H;0Yo^m|-45kU{XdaZ`E+Xkzf2=P$KYbP z4E0O*-oP={>IoDAz-S3~gStxMvfeZg)2e!cunm+w4Q_COU;t)m@SmGH&8f=?(Qcsi zYo>%lUx0pN!DZjH>$=2jq_jI}O_?|0btK4$i}K!)S{;2-)A;!Zxm!LCoNWEb}7EGy+6h zRS6EF8hcqfcHL~?Q;$Z4YlGs&PvI~k1_y&9Vy+tMbtLdEf`T^jDrD=26D`d$(w3i8 z5Rdd>W=%~p$FqFAm~9=-0r7-W7ma$8KqWyg{0jjt+*-n=q-$wu`i|Ag%v8Ajd!B8o z*0BCr=N9O}1+v8N0@8wC_Jh5>&#k>**r6QRTB-Z``d!xIR^|l?2D9y0ytLA{2IhBN z@vY2gjZKz@^LN}=TMq9_x?U3NzfBsh1j`sfo+dYmL|-JV0c9B2ZxQ-SDo0s0Zs4ve z&(LR$lkgh0T8dEbXs}z4SWEg_8ou6DgKNXW+wBZg3>SHh1#S;gc93NeEDk05hW--Y z0LcL!#OU&(2s|FnzTYxluR3|;O)ngQZi{6p?&hoWxD_Voj&>3j~fmAc5X=mW%=^=37~hW>LRbTpe~=rxS?#7R9H~FyUFS!1|k@F z`~}{7pYq6KPFhN_P^qz4TX7toNj4k`=afUyi3^;{^%aXOB!}_|sHt#y#G#%haOPXlA~7T3Lhyk0o zSg8}wATL*1jzSrMDIMT*AOQtr`qPgWbq7?756hhj0|e?qt4y{ybmYA-pS)(n9RF!5 zK1stPf2`b~1${!=5qM$Z5pqgcBt$U(pPuL!VuDmm#uHOc!@!$UKI0DL7fttM$>1*5cPl+` zpVv!2PnYp!qVr7I5(Wr=PZKbp(Cf~U#aWw4sKCRo2z2T3);!kTVwu~JDTAGY>d)h+dX7VG5c2Os{V zvAh%=jzWdcy$aKdBI@exa{hmS`u9~Ls?~Q@&eg+S&iVXj`O&Z1t9tayd;JM|tr}19 XAb9fh2S3D~AH&bl2aU#`ZEXD?)v&e3 literal 0 HcmV?d00001 diff --git a/src/diskpool/report.md b/src/diskpool/report.md new file mode 100644 index 00000000000..c4ba00c9126 --- /dev/null +++ b/src/diskpool/report.md @@ -0,0 +1,238 @@ +# Azure CLI Module Creation Report + +## EXTENSION +|CLI Extension|Command Groups| +|---------|------------| +|az diskpool|[groups](#CommandGroups) + +## GROUPS +### Command groups in `az diskpool` extension +|CLI Command Group|Group Swagger name|Commands| +|---------|------------|--------| +|az disk-pool|DiskPools|[commands](#CommandsInDiskPools)| +|az disk-pool iscsi-target|IscsiTargets|[commands](#CommandsInIscsiTargets)| + +## COMMANDS +### Commands in `az disk-pool` group +|CLI Command|Operation Swagger name|Parameters|Examples| +|---------|------------|--------|-----------| +|[az disk-pool list](#DiskPoolsListByResourceGroup)|ListByResourceGroup|[Parameters](#ParametersDiskPoolsListByResourceGroup)|[Example](#ExamplesDiskPoolsListByResourceGroup)| +|[az disk-pool list](#DiskPoolsListBySubscription)|ListBySubscription|[Parameters](#ParametersDiskPoolsListBySubscription)|[Example](#ExamplesDiskPoolsListBySubscription)| +|[az disk-pool show](#DiskPoolsGet)|Get|[Parameters](#ParametersDiskPoolsGet)|[Example](#ExamplesDiskPoolsGet)| +|[az disk-pool create](#DiskPoolsCreateOrUpdate#Create)|CreateOrUpdate#Create|[Parameters](#ParametersDiskPoolsCreateOrUpdate#Create)|[Example](#ExamplesDiskPoolsCreateOrUpdate#Create)| +|[az disk-pool update](#DiskPoolsUpdate)|Update|[Parameters](#ParametersDiskPoolsUpdate)|[Example](#ExamplesDiskPoolsUpdate)| +|[az disk-pool delete](#DiskPoolsDelete)|Delete|[Parameters](#ParametersDiskPoolsDelete)|[Example](#ExamplesDiskPoolsDelete)| +|[az disk-pool list-skus](#DiskPoolsList)|List|[Parameters](#ParametersDiskPoolsList)|[Example](#ExamplesDiskPoolsList)| +|[az disk-pool start](#DiskPoolsStart)|Start|[Parameters](#ParametersDiskPoolsStart)|[Example](#ExamplesDiskPoolsStart)| +|[az disk-pool stop](#DiskPoolsDeallocate)|Deallocate|[Parameters](#ParametersDiskPoolsDeallocate)|[Example](#ExamplesDiskPoolsDeallocate)| + +### Commands in `az disk-pool iscsi-target` group +|CLI Command|Operation Swagger name|Parameters|Examples| +|---------|------------|--------|-----------| +|[az disk-pool iscsi-target list](#IscsiTargetsListByDiskPool)|ListByDiskPool|[Parameters](#ParametersIscsiTargetsListByDiskPool)|[Example](#ExamplesIscsiTargetsListByDiskPool)| +|[az disk-pool iscsi-target show](#IscsiTargetsGet)|Get|[Parameters](#ParametersIscsiTargetsGet)|[Example](#ExamplesIscsiTargetsGet)| +|[az disk-pool iscsi-target create](#IscsiTargetsCreateOrUpdate#Create)|CreateOrUpdate#Create|[Parameters](#ParametersIscsiTargetsCreateOrUpdate#Create)|[Example](#ExamplesIscsiTargetsCreateOrUpdate#Create)| +|[az disk-pool iscsi-target update](#IscsiTargetsUpdate)|Update|[Parameters](#ParametersIscsiTargetsUpdate)|[Example](#ExamplesIscsiTargetsUpdate)| +|[az disk-pool iscsi-target delete](#IscsiTargetsDelete)|Delete|[Parameters](#ParametersIscsiTargetsDelete)|[Example](#ExamplesIscsiTargetsDelete)| + + +## COMMAND DETAILS +### group `az disk-pool` +#### Command `az disk-pool list` + +##### Example +``` +az disk-pool list --resource-group "myResourceGroup" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name|resourceGroupName| + +#### Command `az disk-pool list` + +##### Example +``` +az disk-pool list +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| + +#### Command `az disk-pool show` + +##### Example +``` +az disk-pool show --name "myDiskPool" --resource-group "myResourceGroup" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name|resourceGroupName| +|**--disk-pool-name**|string|The name of the Disk Pool.|disk_pool_name|diskPoolName| + +#### Command `az disk-pool create` + +##### Example +``` +az disk-pool create --location "westus" --availability-zones "1" --disks "/subscriptions/11111111-1111-1111-1111-111111\ +111111/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/vm-name_DataDisk_0" --disks \ +"/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/v\ +m-name_DataDisk_1" --subnet-id "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/prov\ +iders/Microsoft.Network/virtualNetworks/myvnet/subnets/mysubnet" --sku name="Basic_V0" tier="Basic" --tags key="value" \ +--name "myDiskPool" --resource-group "myResourceGroup" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name|resourceGroupName| +|**--disk-pool-name**|string|The name of the Disk Pool.|disk_pool_name|diskPoolName| +|**--sku**|object|Determines the SKU of the Disk Pool|sku|sku| +|**--location**|string|The geo-location where the resource lives.|location|location| +|**--subnet-id**|string|Azure Resource ID of a Subnet for the Disk Pool.|subnet_id|subnetId| +|**--tags**|dictionary|Resource tags.|tags|tags| +|**--availability-zones**|array|Logical zone for Disk Pool resource; example: ["1"].|availability_zones|availabilityZones| +|**--disks**|array|List of Azure Managed Disks to attach to a Disk Pool.|disks|disks| +|**--additional-capabilities**|array|List of additional capabilities for a Disk Pool.|additional_capabilities|additionalCapabilities| + +#### Command `az disk-pool update` + +##### Example +``` +az disk-pool update --name "myDiskPool" --disks "/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/myR\ +esourceGroup/providers/Microsoft.Compute/disks/vm-name_DataDisk_0" --disks "/subscriptions/11111111-1111-1111-1111-1111\ +11111111/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/vm-name_DataDisk_1" --tags key="value" \ +--resource-group "myResourceGroup" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name|resourceGroupName| +|**--disk-pool-name**|string|The name of the Disk Pool.|disk_pool_name|diskPoolName| +|**--tags**|dictionary|Resource tags.|tags|tags| +|**--disks**|array|List of Azure Managed Disks to attach to a Disk Pool.|disks|disks| + +#### Command `az disk-pool delete` + +##### Example +``` +az disk-pool delete --name "myDiskPool" --resource-group "myResourceGroup" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name|resourceGroupName| +|**--disk-pool-name**|string|The name of the Disk Pool.|disk_pool_name|diskPoolName| + +#### Command `az disk-pool list-skus` + +##### Example +``` +az disk-pool list-skus --location "eastus" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--location**|string|The location of the resource.|location|location| + +#### Command `az disk-pool start` + +##### Example +``` +az disk-pool start --name "myDiskPool" --resource-group "myResourceGroup" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name|resourceGroupName| +|**--disk-pool-name**|string|The name of the Disk Pool.|disk_pool_name|diskPoolName| + +#### Command `az disk-pool stop` + +##### Example +``` +az disk-pool stop --name "myDiskPool" --resource-group "myResourceGroup" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name|resourceGroupName| +|**--disk-pool-name**|string|The name of the Disk Pool.|disk_pool_name|diskPoolName| + +### group `az disk-pool iscsi-target` +#### Command `az disk-pool iscsi-target list` + +##### Example +``` +az disk-pool iscsi-target list --disk-pool-name "myDiskPool" --resource-group "myResourceGroup" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name|resourceGroupName| +|**--disk-pool-name**|string|The name of the Disk Pool.|disk_pool_name|diskPoolName| + +#### Command `az disk-pool iscsi-target show` + +##### Example +``` +az disk-pool iscsi-target show --disk-pool-name "myDiskPool" --name "myIscsiTarget" --resource-group "myResourceGroup" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name|resourceGroupName| +|**--disk-pool-name**|string|The name of the Disk Pool.|disk_pool_name|diskPoolName| +|**--iscsi-target-name**|string|The name of the iSCSI Target.|iscsi_target_name|iscsiTargetName| + +#### Command `az disk-pool iscsi-target create` + +##### Example +``` +az disk-pool iscsi-target create --disk-pool-name "myDiskPool" --acl-mode "Dynamic" --luns name="lun0" \ +managed-disk-azure-resource-id="/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/myResourceGroup/prov\ +iders/Microsoft.Compute/disks/vm-name_DataDisk_1" --target-iqn "iqn.2005-03.org.iscsi:server1" --name "myIscsiTarget" \ +--resource-group "myResourceGroup" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name|resourceGroupName| +|**--disk-pool-name**|string|The name of the Disk Pool.|disk_pool_name|diskPoolName| +|**--iscsi-target-name**|string|The name of the iSCSI Target.|iscsi_target_name|iscsiTargetName| +|**--acl-mode**|choice|Mode for Target connectivity.|acl_mode|aclMode| +|**--target-iqn**|string|iSCSI Target IQN (iSCSI Qualified Name); example: "iqn.2005-03.org.iscsi:server".|target_iqn|targetIqn| +|**--static-acls**|array|Access Control List (ACL) for an iSCSI Target; defines LUN masking policy|static_acls|staticAcls| +|**--luns**|array|List of LUNs to be exposed through iSCSI Target.|luns|luns| + +#### Command `az disk-pool iscsi-target update` + +##### Example +``` +az disk-pool iscsi-target update --disk-pool-name "myDiskPool" --name "myIscsiTarget" --luns name="lun0" \ +managed-disk-azure-resource-id="/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/myResourceGroup/prov\ +iders/Microsoft.Compute/disks/vm-name_DataDisk_1" --static-acls initiator-iqn="iqn.2005-03.org.iscsi:client" \ +mapped-luns="lun0" --resource-group "myResourceGroup" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name|resourceGroupName| +|**--disk-pool-name**|string|The name of the Disk Pool.|disk_pool_name|diskPoolName| +|**--iscsi-target-name**|string|The name of the iSCSI Target.|iscsi_target_name|iscsiTargetName| +|**--static-acls**|array|Access Control List (ACL) for an iSCSI Target; defines LUN masking policy|static_acls|staticAcls| +|**--luns**|array|List of LUNs to be exposed through iSCSI Target.|luns|luns| + +#### Command `az disk-pool iscsi-target delete` + +##### Example +``` +az disk-pool iscsi-target delete --disk-pool-name "myDiskPool" --name "myIscsiTarget" --resource-group \ +"myResourceGroup" +``` +##### Parameters +|Option|Type|Description|Path (SDK)|Swagger name| +|------|----|-----------|----------|------------| +|**--resource-group-name**|string|The name of the resource group. The name is case insensitive.|resource_group_name|resourceGroupName| +|**--disk-pool-name**|string|The name of the Disk Pool.|disk_pool_name|diskPoolName| +|**--iscsi-target-name**|string|The name of the iSCSI Target.|iscsi_target_name|iscsiTargetName| diff --git a/src/diskpool/setup.cfg b/src/diskpool/setup.cfg new file mode 100644 index 00000000000..2fdd96e5d39 --- /dev/null +++ b/src/diskpool/setup.cfg @@ -0,0 +1 @@ +#setup.cfg \ No newline at end of file diff --git a/src/diskpool/setup.py b/src/diskpool/setup.py new file mode 100644 index 00000000000..d63937f7c2e --- /dev/null +++ b/src/diskpool/setup.py @@ -0,0 +1,58 @@ +#!/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 + +# HISTORY.rst entry. +VERSION = '0.1.0' +try: + from azext_diskpool.manual.version import VERSION +except ImportError: + pass + +# The full list of classifiers is available at +# https://pypi.python.org/pypi?%3Aaction=list_classifiers +CLASSIFIERS = [ + 'Development Status :: 4 - Beta', + 'Intended Audience :: Developers', + 'Intended Audience :: System Administrators', + 'Programming Language :: Python', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', + 'License :: OSI Approved :: MIT License', +] + +DEPENDENCIES = [] + +try: + from azext_diskpool.manual.dependency import DEPENDENCIES +except ImportError: + pass + +with open('README.md', 'r', encoding='utf-8') as f: + README = f.read() +with open('HISTORY.rst', 'r', encoding='utf-8') as f: + HISTORY = f.read() + +setup( + name='diskpool', + version=VERSION, + description='Microsoft Azure Command-Line Tools StoragePoolManagement Extension', + author='Microsoft Corporation', + author_email='azpycli@microsoft.com', + url='https://github.com/Azure/azure-cli-extensions/tree/master/src/diskpool', + long_description=README + '\n\n' + HISTORY, + license='MIT', + classifiers=CLASSIFIERS, + packages=find_packages(), + install_requires=DEPENDENCIES, + package_data={'azext_diskpool': ['azext_metadata.json']}, +) diff --git a/src/service_name.json b/src/service_name.json index c2abb6ec5ff..3e70f4ff537 100644 --- a/src/service_name.json +++ b/src/service_name.json @@ -114,6 +114,11 @@ "AzureServiceName": "Azure Data Share", "URL": "https://docs.microsoft.com/azure/data-share/" }, + { + "Command": "az disk-pool", + "AzureServiceName": "Azure Disk Pool Service", + "URL": "https://docs.microsoft.com/azure/disk-pool/" + }, { "Command": "az dedicated-hsm", "AzureServiceName": "Azure Dedicated HSM", From 7e9bc181502f3a8258dd670c1005c8e4f1a13c1c Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Tue, 25 May 2021 17:33:23 +0800 Subject: [PATCH 50/83] [Release] Update index.json for extension [ rdbms-connect ] (#3423) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=911018 Last commit: https://github.com/Azure/azure-cli-extensions/commit/462e23771d4686a38b0ccd922282fd9bd7a8fe1a --- src/index.json | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/src/index.json b/src/index.json index 24884384bda..4f7bfb2c519 100644 --- a/src/index.json +++ b/src/index.json @@ -14231,6 +14231,59 @@ "version": "0.1.2" }, "sha256Digest": "c738cd82edc1c9ad31ba0250eab982ef344d01e50e11dfec9c5b96ccdd5d1b6b" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/rdbms_connect-0.1.3-py2.py3-none-any.whl", + "filename": "rdbms_connect-0.1.3-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.19.0", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/rdbms-connect" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "rdbms-connect", + "run_requires": [ + { + "requires": [ + "mycli (==1.22.2)", + "pgcli (==3.0.0)", + "setproctitle (==1.2.2)" + ] + } + ], + "summary": "Support for testing connection to Azure Database for MySQL & PostgreSQL servers.", + "version": "0.1.3" + }, + "sha256Digest": "5a6652ecacdc5b5c77dd9225abb30e5fb1160bc491a6ac3083327e81cc60f90e" } ], "redisenterprise": [ From 61723454ff579001fd6395d7b5588556adc44eec Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Tue, 25 May 2021 17:54:22 +0800 Subject: [PATCH 51/83] [Release] Update index.json for extension [ diskpool ] (#3427) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=911147 Last commit: https://github.com/Azure/azure-cli-extensions/commit/4dd4a094289cd2733733e98233c73bf646aca6a1 --- src/index.json | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/src/index.json b/src/index.json index 4f7bfb2c519..961ca85e919 100644 --- a/src/index.json +++ b/src/index.json @@ -9071,6 +9071,51 @@ "sha256Digest": "71041808b27cd9d33fd905c5080c97f61291816f2dddd6dcdb2e66b9fb6ebf59" } ], + "diskpool": [ + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/diskpool-0.1.0-py3-none-any.whl", + "filename": "diskpool-0.1.0-py3-none-any.whl", + "metadata": { + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.15.0", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/diskpool" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "diskpool", + "summary": "Microsoft Azure Command-Line Tools StoragePoolManagement Extension", + "version": "0.1.0" + }, + "sha256Digest": "2afc595664b0fc616e62f8de28cebbca72d8f27dff02a8ed8cfff58dd62d571f" + } + ], "dms-preview": [ { "downloadUrl": "https://azcliorcas.blob.core.windows.net/azclipath/dms_preview-0.11.0-py2.py3-none-any.whl", From 8b2490df8a7ff40f87a3f4663f35aaf36f414cd4 Mon Sep 17 00:00:00 2001 From: yuyue9284 <15863499+yuyue9284@users.noreply.github.com> Date: Tue, 25 May 2021 22:34:24 +0800 Subject: [PATCH 52/83] change amlk8s to amlarc (#42) Co-authored-by: Yue Yu --- src/k8s-extension/HISTORY.rst | 5 +++++ .../partner_extensions/AzureMLKubernetes.py | 6 +++--- src/k8s-extension/setup.py | 2 +- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/k8s-extension/HISTORY.rst b/src/k8s-extension/HISTORY.rst index 75f127f4afd..946f73740cd 100644 --- a/src/k8s-extension/HISTORY.rst +++ b/src/k8s-extension/HISTORY.rst @@ -3,6 +3,11 @@ Release History =============== +0.4.1 +++++++++++++++++++ + +* Change resource tag from 'amlk8s' to 'Azure Arc-enabled ML' in microsoft.azureml.kubernetes + 0.4.0 ++++++++++++++++++ diff --git a/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py b/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py index d907e7d3c63..2646dd681e7 100644 --- a/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py +++ b/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py @@ -30,7 +30,7 @@ logger = get_logger(__name__) -resource_tag = {'created_by': 'amlk8s-extension'} +resource_tag = {'created_by': 'Azure Arc-enabled ML'} class AzureMLKubernetes(PartnerExtensionModel): @@ -271,10 +271,10 @@ def _lock_resource(cmd, lock_scope, lock_level='CanNotDelete'): lock_client: azure.mgmt.resource.locks.ManagementLockClient = get_mgmt_service_client( cmd.cli_ctx, azure.mgmt.resource.locks.ManagementLockClient) # put lock on relay resource - lock_object = ManagementLockObject(level=lock_level, notes='locked by amlk8s.') + lock_object = ManagementLockObject(level=lock_level, notes='locked by amlarc.') try: lock_client.management_locks.create_or_update_by_scope( - scope=lock_scope, lock_name='amlk8s-resource-lock', parameters=lock_object) + scope=lock_scope, lock_name='amlarc-resource-lock', parameters=lock_object) except: # try to lock the resource if user has the owner privilege pass diff --git a/src/k8s-extension/setup.py b/src/k8s-extension/setup.py index 64819fc940a..4cc69f2cbef 100644 --- a/src/k8s-extension/setup.py +++ b/src/k8s-extension/setup.py @@ -32,7 +32,7 @@ # TODO: Add any additional SDK dependencies here DEPENDENCIES = [] -VERSION = "0.4.0" +VERSION = "0.4.1" with open('README.rst', 'r', encoding='utf-8') as f: README = f.read() From 24e1a258350f29259fd617f42b01161f8db142d1 Mon Sep 17 00:00:00 2001 From: Ryan K Date: Tue, 25 May 2021 14:38:08 -0700 Subject: [PATCH 53/83] [IoT] IoT Extension release v0.10.12 (#3429) * Add IoT Hub linter exclusions * Remove legacy 0.9.x versions * Add IoT Extension v0.10.12 to index --- linter_exclusions.yml | 33 +++++++++++++++++--- src/index.json | 71 ++++++------------------------------------- 2 files changed, 38 insertions(+), 66 deletions(-) diff --git a/linter_exclusions.yml b/linter_exclusions.yml index df48ef3e478..8ce15836f65 100644 --- a/linter_exclusions.yml +++ b/linter_exclusions.yml @@ -920,14 +920,39 @@ import-export update: backup_drive_manifest: rule_exclusions: - option_length_too_long -iot pnp capability-model update: +iot hub configuration update: parameters: - repo_endpoint: + auth_type_dataplane: rule_exclusions: - no_parameter_defaults_for_update_commands -iot pnp interface update: +iot hub device-identity update: parameters: - repo_endpoint: + auth_type_dataplane: + rule_exclusions: + - no_parameter_defaults_for_update_commands +iot hub device-twin update: + parameters: + auth_type_dataplane: + rule_exclusions: + - no_parameter_defaults_for_update_commands +iot hub distributed-tracing update: + parameters: + auth_type_dataplane: + rule_exclusions: + - no_parameter_defaults_for_update_commands +iot hub module-identity update: + parameters: + auth_type_dataplane: + rule_exclusions: + - no_parameter_defaults_for_update_commands +iot hub module-twin update: + parameters: + auth_type_dataplane: + rule_exclusions: + - no_parameter_defaults_for_update_commands +iot edge deployment update: + parameters: + auth_type_dataplane: rule_exclusions: - no_parameter_defaults_for_update_commands k8sconfiguration create: diff --git a/src/index.json b/src/index.json index 961ca85e919..06d5ec219ae 100644 --- a/src/index.json +++ b/src/index.json @@ -5130,70 +5130,16 @@ "sha256Digest": "8a7892996403fd5fd6850262acc176605704990db9d0a95c743545f1c0659d83" }, { - "downloadUrl": "https://github.com/Azure/azure-iot-cli-extension/releases/download/v0.9.7/azure_iot-0.9.7-py2.py3-none-any.whl", - "filename": "azure_iot-0.9.7-py2.py3-none-any.whl", + "downloadUrl": "https://github.com/Azure/azure-iot-cli-extension/releases/download/v0.10.12/azure_iot-0.10.12-py3-none-any.whl", + "filename": "azure_iot-0.10.12-py3-none-any.whl", "metadata": { - "azext.minCliCoreVersion": "2.0.70", - "classifiers": [ - "Development Status :: 4 - Beta", - "Intended Audience :: Developers", - "Intended Audience :: System Administrators", - "Programming Language :: Python", - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.5", - "Programming Language :: Python :: 3.6", - "Programming Language :: Python :: 3.7", - "Programming Language :: Python :: 3.8", - "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-iot", - "run_requires": [ - { - "requires": [ - "jsonschema (==3.0.2)", - "paho-mqtt (==1.5.0)", - "setuptools" - ] - } - ], - "summary": "The Azure IoT extension for Azure CLI.", - "version": "0.9.7" - }, - "sha256Digest": "1b4d44540a4feb487bb88aae4bdb4231045f0b23ad84f0e8792e859302183303" - }, - { - "downloadUrl": "https://github.com/Azure/azure-iot-cli-extension/releases/download/v0.9.4/azure_iot-0.9.4-py2.py3-none-any.whl", - "filename": "azure_iot-0.9.4-py2.py3-none-any.whl", - "metadata": { - "azext.minCliCoreVersion": "2.0.70", + "azext.minCliCoreVersion": "2.3.1", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "Programming Language :: Python", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", @@ -5221,19 +5167,20 @@ "license": "MIT", "metadata_version": "2.0", "name": "azure-iot", + "requires_python": ">=3.6,<4", "run_requires": [ { "requires": [ - "jsonschema (==3.0.2)", - "paho-mqtt (==1.5.0)", - "setuptools" + "jsonschema (==3.2.0)", + "packaging", + "paho-mqtt (==1.5.0)" ] } ], "summary": "The Azure IoT extension for Azure CLI.", - "version": "0.9.4" + "version": "0.10.12" }, - "sha256Digest": "bbf330942daac0035bd9bb9a0fdeaf297124ec8cd98e28e46adb2bf34070295b" + "sha256Digest": "3cbb255520adc58ac4437d1f55459afc3c73e17ce187b00cf20c93364a85265e" } ], "baremetal-infrastructure": [ From 0d871764c799856e324d8d1c75ba2cf0fc27acb0 Mon Sep 17 00:00:00 2001 From: Ryan K Date: Tue, 25 May 2021 15:44:01 -0700 Subject: [PATCH 54/83] IoT Extension release v0.10.13 (#3431) --- src/index.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/index.json b/src/index.json index 06d5ec219ae..6f35b2b1d10 100644 --- a/src/index.json +++ b/src/index.json @@ -5130,10 +5130,10 @@ "sha256Digest": "8a7892996403fd5fd6850262acc176605704990db9d0a95c743545f1c0659d83" }, { - "downloadUrl": "https://github.com/Azure/azure-iot-cli-extension/releases/download/v0.10.12/azure_iot-0.10.12-py3-none-any.whl", - "filename": "azure_iot-0.10.12-py3-none-any.whl", + "downloadUrl": "https://github.com/Azure/azure-iot-cli-extension/releases/download/v0.10.13/azure_iot-0.10.13-py3-none-any.whl", + "filename": "azure_iot-0.10.13-py3-none-any.whl", "metadata": { - "azext.minCliCoreVersion": "2.3.1", + "azext.minCliCoreVersion": "2.17.1", "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", @@ -5178,9 +5178,9 @@ } ], "summary": "The Azure IoT extension for Azure CLI.", - "version": "0.10.12" + "version": "0.10.13" }, - "sha256Digest": "3cbb255520adc58ac4437d1f55459afc3c73e17ce187b00cf20c93364a85265e" + "sha256Digest": "a4e684dd021306bc1e48ec22243f59a7679aff55174d37401e861b7b595565f5" } ], "baremetal-infrastructure": [ From b696e5208cd89e484656bc7ef7d8d5c59363aaf2 Mon Sep 17 00:00:00 2001 From: Delora Bradish Date: Tue, 25 May 2021 22:24:39 -0400 Subject: [PATCH 55/83] modified az confluent Azure service node name (#3430) Co-authored-by: Delora Bradish --- src/service_name.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/service_name.json b/src/service_name.json index 3e70f4ff537..55981b29cf8 100644 --- a/src/service_name.json +++ b/src/service_name.json @@ -66,7 +66,7 @@ }, { "Command": "az confluent", - "AzureServiceName": "Third-party service in LiftR", + "AzureServiceName": "Microsoft Partner Services", "URL": "" }, { From 90675e0d23f5386411a88d881891fe75aebc8594 Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Wed, 26 May 2021 10:36:44 +0800 Subject: [PATCH 56/83] [Release] Update index.json for extension [ quantum ] (#3422) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=910874 Last commit: https://github.com/Azure/azure-cli-extensions/commit/da7af92cf17b3f15f4a3ae2ff497aaa4ce2090d8 --- src/index.json | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/src/index.json b/src/index.json index 6f35b2b1d10..d50dc3415c5 100644 --- a/src/index.json +++ b/src/index.json @@ -14062,6 +14062,49 @@ "version": "0.4.0" }, "sha256Digest": "90b537ba647b0eecda70ef8cbe4823d4199429f4ae436808434180d715448769" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/quantum-0.5.0-py3-none-any.whl", + "filename": "quantum-0.5.0-py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.23.0", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "que-contacts@microsoft.com", + "name": "Microsoft Corporation, Quantum Team", + "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": "quantum", + "summary": "Microsoft Azure Command-Line Tools Quantum Extension", + "version": "0.5.0" + }, + "sha256Digest": "257dfba42b6505dfa66721ddba9197da7f769f2e26d7c4bba9bcc729a72e49b7" } ], "rdbms-connect": [ From 6357f87dc4a23c9c973f3c68657bf20c491ff07e Mon Sep 17 00:00:00 2001 From: Menghua Xiao Date: Wed, 26 May 2021 12:40:17 +0800 Subject: [PATCH 57/83] Add support to format log streaming of structured JSON output (#3408) * Add support to format log streaming of structured JSON output * fix: default logging style * Add support to output Spring Boot flavored logger name * fix style and linter issue in new code * fix lint errors and suppress format error logging in common state * adjust the version in setup.py * refactor: use concrete user error for invalid argument --- src/spring-cloud/HISTORY.md | 5 + .../azext_spring_cloud/_params.py | 16 +-- src/spring-cloud/azext_spring_cloud/custom.py | 130 ++++++++++++++++-- src/spring-cloud/setup.py | 2 +- 4 files changed, 135 insertions(+), 18 deletions(-) diff --git a/src/spring-cloud/HISTORY.md b/src/spring-cloud/HISTORY.md index 094631ba8ab..d00ea50bf4a 100644 --- a/src/spring-cloud/HISTORY.md +++ b/src/spring-cloud/HISTORY.md @@ -1,5 +1,10 @@ Release History =============== + +2.4.0 +----- +* Add support to format log streaming of structured JSON output + 2.3.1 ----- * Fix disable-ssl in redis binding. diff --git a/src/spring-cloud/azext_spring_cloud/_params.py b/src/spring-cloud/azext_spring_cloud/_params.py index 05b39dfcb9c..6e441130fb1 100644 --- a/src/spring-cloud/azext_spring_cloud/_params.py +++ b/src/spring-cloud/azext_spring_cloud/_params.py @@ -104,7 +104,8 @@ def load_arguments(self, _): c.argument('scope', help="The scope the managed identity has access to") c.argument('role', help="Role name or id the managed identity will be assigned") - with self.argument_context('spring-cloud app logs') as c: + def prepare_logs_argument(c): + '''`app log tail` is deprecated. `app logs` is the new choice. They share the same command processor.''' c.argument('instance', options_list=['--instance', '-i'], help='Name of an existing instance of the deployment.') c.argument('lines', type=int, help='Number of lines to show. Maximum is 10000', validator=validate_log_lines) c.argument('follow', options_list=['--follow ', '-f'], help='Specify if the logs should be streamed.', action='store_true') @@ -112,15 +113,14 @@ def load_arguments(self, _): c.argument('limit', type=int, help='Maximum kilobytes of logs to return. Ceiling number is 2048.', validator=validate_log_limit) c.argument('deployment', options_list=[ '--deployment', '-d'], help='Name of an existing deployment of the app. Default to the production deployment if not specified.', validator=validate_deployment_name) + c.argument('format_json', nargs='?', const='{timestamp} {level:>5} [{thread:>15.15}] {logger{39}:<40.40}: {message}\n{stackTrace}', + help='Format JSON logs if structured log is enabled') + + with self.argument_context('spring-cloud app logs') as c: + prepare_logs_argument(c) with self.argument_context('spring-cloud app log tail') as c: - c.argument('instance', options_list=['--instance', '-i'], help='Name of an existing instance of the deployment.') - c.argument('lines', type=int, help='Number of lines to show. Maximum is 10000', validator=validate_log_lines) - c.argument('follow', options_list=['--follow ', '-f'], help='Specify if the logs should be streamed.', action='store_true') - c.argument('since', help='Only return logs newer than a relative duration like 5s, 2m, or 1h. Maximum is 1h', validator=validate_log_since) - c.argument('limit', type=int, help='Maximum kilobytes of logs to return. Ceiling number is 2048.', validator=validate_log_limit) - c.argument('deployment', options_list=[ - '--deployment', '-d'], help='Name of an existing deployment of the app. Default to the production deployment if not specified.', validator=validate_deployment_name) + prepare_logs_argument(c) with self.argument_context('spring-cloud app set-deployment') as c: c.argument('deployment', options_list=[ diff --git a/src/spring-cloud/azext_spring_cloud/custom.py b/src/spring-cloud/azext_spring_cloud/custom.py index c7b2197d9d6..974f5af3dda 100644 --- a/src/spring-cloud/azext_spring_cloud/custom.py +++ b/src/spring-cloud/azext_spring_cloud/custom.py @@ -17,9 +17,12 @@ from .vendored_sdks.appplatform.v2020_07_01 import models from .vendored_sdks.appplatform.v2020_11_01_preview import models as models_20201101preview from .vendored_sdks.appplatform.v2020_07_01.models import _app_platform_management_client_enums as AppPlatformEnums -from .vendored_sdks.appplatform.v2020_11_01_preview import AppPlatformManagementClient as AppPlatformManagementClient_20201101preview +from .vendored_sdks.appplatform.v2020_11_01_preview import ( + AppPlatformManagementClient as AppPlatformManagementClient_20201101preview +) from knack.log import get_logger from .azure_storage_file import FileService +from azure.cli.core.azclierror import InvalidArgumentValueError from azure.cli.core.commands.client_factory import get_mgmt_service_client from azure.cli.core.util import sdk_no_wait from azure.cli.core.profiles import ResourceType, get_sdk @@ -32,6 +35,8 @@ from threading import Thread from threading import Timer import sys +import json +from collections import defaultdict logger = get_logger(__name__) DEFAULT_DEPLOYMENT_NAME = "default" @@ -530,7 +535,8 @@ def app_get_build_log(cmd, client, resource_group, service, name, deployment=Non return stream_logs(client.deployments, resource_group, service, name, deployment) -def app_tail_log(cmd, client, resource_group, service, name, deployment=None, instance=None, follow=False, lines=50, since=None, limit=2048): +def app_tail_log(cmd, client, resource_group, service, name, + deployment=None, instance=None, follow=False, lines=50, since=None, limit=2048, format_json=None): if not instance: if deployment is None: deployment = client.apps.get( @@ -574,7 +580,7 @@ def app_tail_log(cmd, client, resource_group, service, name, deployment=None, in exceptions = [] streaming_url += "?{}".format(parse.urlencode(params)) if params else "" t = Thread(target=_get_app_log, args=( - streaming_url, "primary", primary_key, exceptions)) + streaming_url, "primary", primary_key, format_json, exceptions)) t.daemon = True t.start() @@ -1344,18 +1350,124 @@ def get_logs_loop(): resource_group, service, app, name, properties=properties, sku=sku) -def _get_app_log(url, user_name, password, exceptions): +# pylint: disable=bare-except, too-many-statements +def _get_app_log(url, user_name, password, format_json, exceptions): + logger_seg_regex = re.compile(r'([^\.])[^\.]+\.') + + def build_log_shortener(length): + if length <= 0: + raise InvalidArgumentValueError('Logger length in `logger{length}` should be positive') + + def shortener(record): + ''' + Try shorten the logger property to the specified length before feeding it to the formatter. + ''' + logger_name = record.get('logger', None) + if logger_name is None: + return record + + # first, try to shorten the package name to one letter, e.g., + # org.springframework.cloud.netflix.eureka.config.DiscoveryClientOptionalArgsConfiguration + # to: o.s.c.n.e.c.DiscoveryClientOptionalArgsConfiguration + while len(logger_name) > length: + logger_name, count = logger_seg_regex.subn(r'\1.', logger_name, 1) + if count < 1: + break + + # then, cut off the leading packages if necessary + logger_name = logger_name[-length:] + record['logger'] = logger_name + return record + + return shortener + + def build_formatter(): + ''' + Build the log line formatter based on the format_json argument. + ''' + nonlocal format_json + + def identity(o): + return o + + if format_json is None or len(format_json) == 0: + return identity + + logger_regex = re.compile(r'\blogger\{(\d+)\}') + match = logger_regex.search(format_json) + pre_processor = identity + if match: + length = int(match[1]) + pre_processor = build_log_shortener(length) + format_json = logger_regex.sub('logger', format_json, 1) + + first_exception = True + + def format_line(line): + nonlocal first_exception + try: + log_record = json.loads(line) + # Add n=\n so that in Windows CMD it's easy to specify customized format with line ending + # e.g., "{timestamp} {message}{n}" + # (Windows CMD does not escape \n in string literal.) + return format_json.format_map(pre_processor(defaultdict(str, n="\n", **log_record))) + except: + if first_exception: + # enable this format error logging only with --verbose + logger.info("Failed to format log line '{}'".format(line), exc_info=sys.exc_info()) + first_exception = False + return line + + return format_line + + def iter_lines(response, limit=2**20): + ''' + Returns a line iterator from the response content. If no line ending was found and the buffered content size is + larger than the limit, the buffer will be yielded directly. + ''' + buffer = [] + total = 0 + for content in response.iter_content(chunk_size=None): + if not content: + if len(buffer) > 0: + yield b''.join(buffer) + break + + start = 0 + while start < len(content): + line_end = content.find(b'\n', start) + should_print = False + if line_end < 0: + next = (content if start == 0 else content[start:]) + buffer.append(next) + total += len(next) + start = len(content) + should_print = total >= limit + else: + buffer.append(content[start:line_end + 1]) + start = line_end + 1 + should_print = True + + if should_print: + yield b''.join(buffer) + buffer.clear() + total = 0 + with requests.get(url, stream=True, auth=HTTPBasicAuth(user_name, password)) as response: try: if response.status_code != 200: raise CLIError("Failed to connect to the server with status code '{}' and reason '{}'".format( response.status_code, response.reason)) std_encoding = sys.stdout.encoding - for content in response.iter_content(): - if content: - sys.stdout.write(content.decode(encoding='utf-8', errors='replace') - .encode(std_encoding, errors='replace') - .decode(std_encoding, errors='replace')) + + formatter = build_formatter() + + for line in iter_lines(response): + decoded = (line.decode(encoding='utf-8', errors='replace') + .encode(std_encoding, errors='replace') + .decode(std_encoding, errors='replace')) + print(formatter(decoded), end='') + except CLIError as e: exceptions.append(e) diff --git a/src/spring-cloud/setup.py b/src/spring-cloud/setup.py index f3f04212257..70158d028a6 100644 --- a/src/spring-cloud/setup.py +++ b/src/spring-cloud/setup.py @@ -16,7 +16,7 @@ # TODO: Confirm this is the right version number you want and it matches your # HISTORY.rst entry. -VERSION = '2.3.1' +VERSION = '2.4.0' # The full list of classifiers is available at # https://pypi.python.org/pypi?%3Aaction=list_classifiers From 4f95bb61b5dfdbde7b2d2dfcc2a6ef2f5e616316 Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Wed, 26 May 2021 13:10:12 +0800 Subject: [PATCH 58/83] [Release] Update index.json for extension [ spring-cloud ] (#3434) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=913115 Last commit: https://github.com/Azure/azure-cli-extensions/commit/6357f87dc4a23c9c973f3c68657bf20c491ff07e --- src/index.json | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/src/index.json b/src/index.json index d50dc3415c5..8447727fde4 100644 --- a/src/index.json +++ b/src/index.json @@ -16055,6 +16055,49 @@ "version": "2.3.1" }, "sha256Digest": "3597aab72ffc4d9fdc3ee9d02b492bc0b11146b9ae0f4b9f4d6f958c05fdc980" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/spring_cloud-2.4.0-py3-none-any.whl", + "filename": "spring_cloud-2.4.0-py3-none-any.whl", + "metadata": { + "azext.isPreview": false, + "azext.minCliCoreVersion": "2.0.67", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/spring-cloud" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "spring-cloud", + "summary": "Microsoft Azure Command-Line Tools spring-cloud Extension", + "version": "2.4.0" + }, + "sha256Digest": "f4abfe885c9d08e80d48f1983d09082e8340e353ceb861a8eb9ce62f6786b180" } ], "ssh": [ From 9b1417860ccaf69efb395a50377f7034fa66be8e Mon Sep 17 00:00:00 2001 From: FumingZhang <81607949+FumingZhang@users.noreply.github.com> Date: Wed, 26 May 2021 14:15:51 +0800 Subject: [PATCH 59/83] [AKS] fix aks pr check-in test pipeline (#3389) * update test_aks_commands * update az_aks_tool * filter test case & add EXT_TEST_MATRIX var * fix echo bug & add matrix var check * add missing EXT_TEST_MATRIX * add missing var * change file upload in yaml * exclude more test cases --- src/aks-preview/az_aks_tool/main.py | 3 +++ src/aks-preview/az_aks_tool/utils.py | 11 ++++++++++- .../azcli_aks_live_test/ext_matrix_default.json | 10 +++++++--- src/aks-preview/azcli_aks_live_test/test_ext_live.sh | 9 +++++++-- src/aks-preview/azcli_aks_live_test/transcribe_env.sh | 2 ++ .../azcli_aks_live_test/vsts-azcli-aks-live-test.yaml | 2 ++ .../azcli_aks_live_test/vsts-azcli-aks-unit-test.yaml | 2 ++ .../tests/latest/test_aks_commands.py | 2 +- 8 files changed, 34 insertions(+), 7 deletions(-) diff --git a/src/aks-preview/az_aks_tool/main.py b/src/aks-preview/az_aks_tool/main.py index 9864eeaaa72..57b8f77bd75 100644 --- a/src/aks-preview/az_aks_tool/main.py +++ b/src/aks-preview/az_aks_tool/main.py @@ -67,6 +67,9 @@ def main(): print("raw args: {}".format(sys.argv)) args = init_argparse(sys.argv[1:]) + # check directory + utils.create_directory(args.report_path) + # setup logger root_module_name = log.parse_module_name(levels=1) log.setup_logging(root_module_name, os.path.join( diff --git a/src/aks-preview/az_aks_tool/utils.py b/src/aks-preview/az_aks_tool/utils.py index f92117bbf56..6607d026a1b 100644 --- a/src/aks-preview/az_aks_tool/utils.py +++ b/src/aks-preview/az_aks_tool/utils.py @@ -8,12 +8,21 @@ import sys import re import logging +import pathlib -import az_aks_tool.const as const import az_aks_tool.filter as custom_filter logger = logging.getLogger(__name__) +def create_directory(dir_path): + if dir_path: + if not os.path.isdir(dir_path): + print("Directory '{}' not exist, creating...".format(dir_path)) + pathlib.Path(dir_path).mkdir(parents=True, exist_ok=True) + else: + print("Invalid dir path: '{}'".format(dir_path)) + + def check_file_existence(file_path): if file_path is not None and os.path.isfile(file_path): return True diff --git a/src/aks-preview/azcli_aks_live_test/ext_matrix_default.json b/src/aks-preview/azcli_aks_live_test/ext_matrix_default.json index 13d3d7295af..cbbb90d3ca4 100644 --- a/src/aks-preview/azcli_aks_live_test/ext_matrix_default.json +++ b/src/aks-preview/azcli_aks_live_test/ext_matrix_default.json @@ -21,11 +21,15 @@ "test_aks_update_azurekeyvaultsecretsprovider_with_secret_rotation", "test_aks_enable_addon_with_azurekeyvaultsecretsprovider", "test_aks_enable_addon_with_gitops", - "test_aks_create_with_fips" + "test_aks_create_with_fips", + "test_aks_disable_local_accounts", + "test_aks_nodepool_add_with_ossku", + "test_aks_create_with_ossku" ], "unknown": [ "test_aks_create_and_update_with_managed_aad_enable_azure_rbac", - "test_aks_create_with_virtual_node_addon" + "test_aks_create_with_virtual_node_addon", + "test_aks_update_to_msi_cluster_with_addons" ], "code bug": [ "test_aks_create_with_ingress_appgw_addon_with_deprecated_subet_prefix", @@ -36,4 +40,4 @@ "test_aks_create_with_ingress_appgw_addon" ] } -} \ No newline at end of file +} diff --git a/src/aks-preview/azcli_aks_live_test/test_ext_live.sh b/src/aks-preview/azcli_aks_live_test/test_ext_live.sh index af81461ce74..0f7129a3363 100755 --- a/src/aks-preview/azcli_aks_live_test/test_ext_live.sh +++ b/src/aks-preview/azcli_aks_live_test/test_ext_live.sh @@ -14,6 +14,7 @@ set -o xtrace [[ -z "${TEST_MODE}" ]] && (echo "TEST_MODE is empty"; exit 1) [[ -z "${PARALLELISM}" ]] && (echo "PARALLELISM is empty"; exit 1) [[ -z "${TEST_CASES}" ]] && (echo "TEST_CASES is empty") +[[ -z "${EXT_TEST_MATRIX}" ]] && (echo "EXT_TEST_MATRIX is empty") [[ -z "${EXT_TEST_FILTER}" ]] && (echo "EXT_TEST_FILTER is empty") [[ -z "${EXT_TEST_COVERAGE}" ]] && (echo "EXT_TEST_COVERAGE is empty") @@ -55,6 +56,10 @@ fi if [[ -n ${TEST_CASES} ]]; then run_flags+=" -t ${TEST_CASES}" fi +# ext matrix +if [[ -n ${EXT_TEST_MATRIX} ]]; then + run_flags+=" -em ${EXT_TEST_MATRIX}" +fi # ext extra filter if [[ -n ${EXT_TEST_FILTER} ]]; then run_flags+=" -ef ${EXT_TEST_FILTER}" @@ -70,7 +75,7 @@ if [[ ${TEST_MODE} == "record" || ${TEST_MODE} == "all" ]]; then run_flags+=" --json-report-file=ext_report.json" run_flags+=" --xml-file=ext_result.xml" echo "run flags: ${run_flags}" - echo ${run_flags} | xargs python -u az_aks_tool/main.py + echo "${run_flags}" | xargs python -u az_aks_tool/main.py fi # live test @@ -82,5 +87,5 @@ if [[ ${TEST_MODE} == "live" || ${TEST_MODE} == "all" ]]; then run_flags+=" -l --json-report-file=ext_live_report.json" run_flags+=" --xml-file=ext_live_result.xml" echo "run flags: ${run_flags}" - echo ${run_flags} | xargs python -u az_aks_tool/main.py + echo "${run_flags}" | xargs python -u az_aks_tool/main.py fi diff --git a/src/aks-preview/azcli_aks_live_test/transcribe_env.sh b/src/aks-preview/azcli_aks_live_test/transcribe_env.sh index 52b2ae8b2a7..3d256969fda 100755 --- a/src/aks-preview/azcli_aks_live_test/transcribe_env.sh +++ b/src/aks-preview/azcli_aks_live_test/transcribe_env.sh @@ -17,6 +17,7 @@ set -o xtrace [[ -z "${TEST_MODE}" ]] && (echo "TEST_MODE is empty"; exit 1) [[ -z "${PARALLELISM}" ]] && (echo "PARALLELISM is empty"; exit 1) [[ -z "${TEST_CASES}" ]] && (echo "TEST_CASES is empty") +[[ -z "${EXT_TEST_MATRIX}" ]] && (echo "EXT_TEST_MATRIX is empty") [[ -z "${EXT_TEST_FILTER}" ]] && (echo "EXT_TEST_FILTER is empty") [[ -z "${EXT_TEST_COVERAGE}" ]] && (echo "EXT_TEST_COVERAGE is empty") [[ -z "${CLI_REPO}" ]] && (echo "CLI_REPO is empty"; exit 1) @@ -50,6 +51,7 @@ echo "COVERAGE=${COVERAGE}" >> env.list echo "TEST_MODE=${TEST_MODE}" >> env.list echo "PARALLELISM=${PARALLELISM}" >> env.list echo "TEST_CASES=${TEST_CASES}" >> env.list +echo "EXT_TEST_MATRIX=${EXT_TEST_MATRIX}" >> env.list echo "EXT_TEST_FILTER=${EXT_TEST_FILTER}" >> env.list echo "EXT_TEST_COVERAGE=${EXT_TEST_COVERAGE}" >> env.list diff --git a/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-live-test.yaml b/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-live-test.yaml index 3cc0f2fd288..48c9e50acd3 100644 --- a/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-live-test.yaml +++ b/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-live-test.yaml @@ -58,7 +58,9 @@ jobs: inputs: contents: 'reports/**' targetFolder: $(Build.ArtifactStagingDirectory) + condition: succeededOrFailed() - task: PublishBuildArtifacts@1 inputs: pathToPublish: $(Build.ArtifactStagingDirectory) artifactName: 'live test reports' + condition: succeededOrFailed() diff --git a/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-unit-test.yaml b/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-unit-test.yaml index 1363914b93a..80ee11eb468 100644 --- a/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-unit-test.yaml +++ b/src/aks-preview/azcli_aks_live_test/vsts-azcli-aks-unit-test.yaml @@ -58,7 +58,9 @@ jobs: inputs: contents: 'reports/**' targetFolder: $(Build.ArtifactStagingDirectory) + condition: succeededOrFailed() - task: PublishBuildArtifacts@1 inputs: pathToPublish: $(Build.ArtifactStagingDirectory) artifactName: 'unit test reports' + condition: succeededOrFailed() diff --git a/src/aks-preview/azext_aks_preview/tests/latest/test_aks_commands.py b/src/aks-preview/azext_aks_preview/tests/latest/test_aks_commands.py index 823d1b809d2..1432399a755 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/test_aks_commands.py +++ b/src/aks-preview/azext_aks_preview/tests/latest/test_aks_commands.py @@ -1649,7 +1649,7 @@ def test_aks_custom_kubelet_identity(self, resource_group, resource_group_locati @live_only() @AllowLargeResponse() - @ResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') def test_aks_disable_local_accounts(self, resource_group, resource_group_location): aks_name = self.create_random_name('cliakstest', 16) self.kwargs.update({ From 262380a6d318ea387aff91a5b90431efc3a13362 Mon Sep 17 00:00:00 2001 From: Limin Gu <48228819+limingu@users.noreply.github.com> Date: Wed, 26 May 2021 19:03:50 -0700 Subject: [PATCH 60/83] [Datadog] Release CLI for GA (#3428) --- src/datadog/azext_datadog/generated/_help.py | 11 +- .../azext_datadog/generated/_params.py | 3 + .../azext_datadog/generated/commands.py | 4 +- src/datadog/azext_datadog/generated/custom.py | 21 ++- .../tests/latest/recordings/test_datadog.yaml | 144 +++++++++++++++++- .../tests/latest/test_datadog_scenario.py | 101 ++++++------ .../aio/operations/_monitors_operations.py | 102 ++++++++++--- .../vendored_sdks/datadog/models/_models.py | 6 + .../datadog/models/_models_py3.py | 7 + .../operations/_monitors_operations.py | 103 ++++++++++--- 10 files changed, 399 insertions(+), 103 deletions(-) diff --git a/src/datadog/azext_datadog/generated/_help.py b/src/datadog/azext_datadog/generated/_help.py index f5eded6281a..c9c74a07ed0 100644 --- a/src/datadog/azext_datadog/generated/_help.py +++ b/src/datadog/azext_datadog/generated/_help.py @@ -142,8 +142,8 @@ examples: - name: Monitors_Update text: |- - az datadog monitor update --name "myMonitor" --tags Environment="Dev" --resource-group \ -"myResourceGroup" + az datadog monitor update --name "myMonitor" --tags Environment="Dev" --monitoring-status "Disabled" \ +--resource-group "myResourceGroup" """ helps['datadog monitor delete'] = """ @@ -226,6 +226,9 @@ - name: Pause executing next line of CLI script until the datadog monitor is successfully created. text: |- az datadog monitor wait --name "myMonitor" --resource-group "myResourceGroup" --created + - name: Pause executing next line of CLI script until the datadog monitor is successfully updated. + text: |- + az datadog monitor wait --name "myMonitor" --resource-group "myResourceGroup" --updated - name: Pause executing next line of CLI script until the datadog monitor is successfully deleted. text: |- az datadog monitor wait --name "myMonitor" --resource-group "myResourceGroup" --deleted @@ -354,7 +357,7 @@ parameters: - name: --properties long-summary: | - Usage: --properties provisioning-state=XX single-sign-on-state=XX enterprise-app-id=XX + Usage: --properties single-sign-on-state=XX enterprise-app-id=XX single-sign-on-state: Various states of the SSO resource enterprise-app-id: The Id of the Enterprise App used for Single sign-on. @@ -372,7 +375,7 @@ parameters: - name: --properties long-summary: | - Usage: --properties provisioning-state=XX single-sign-on-state=XX enterprise-app-id=XX + Usage: --properties single-sign-on-state=XX enterprise-app-id=XX single-sign-on-state: Various states of the SSO resource enterprise-app-id: The Id of the Enterprise App used for Single sign-on. diff --git a/src/datadog/azext_datadog/generated/_params.py b/src/datadog/azext_datadog/generated/_params.py index 88de549148a..963f1cc3fb1 100644 --- a/src/datadog/azext_datadog/generated/_params.py +++ b/src/datadog/azext_datadog/generated/_params.py @@ -65,6 +65,9 @@ def load_arguments(self, _): c.argument('monitor_name', options_list=['--name', '-n', '--monitor-name'], type=str, help='Monitor resource ' 'name', id_part='name') c.argument('tags', tags_type) + c.argument('monitoring_status', type=str, help='Flag specifying if the resource monitoring is enabled or ' + 'disabled. Allowed values: "Enabled", "Disabled".') + c.argument('sku_name', type=str, help='Name of the SKU.', arg_group='Sku') with self.argument_context('datadog monitor delete') as c: c.argument('resource_group_name', resource_group_name_type) diff --git a/src/datadog/azext_datadog/generated/commands.py b/src/datadog/azext_datadog/generated/commands.py index 4d908a36b1f..b4d1bba3616 100644 --- a/src/datadog/azext_datadog/generated/commands.py +++ b/src/datadog/azext_datadog/generated/commands.py @@ -34,7 +34,7 @@ def load_command_table(self, _): g.custom_command('list', 'datadog_monitor_list') g.custom_show_command('show', 'datadog_monitor_show') g.custom_command('create', 'datadog_monitor_create', supports_no_wait=True) - g.custom_command('update', 'datadog_monitor_update') + g.custom_command('update', 'datadog_monitor_update', supports_no_wait=True) g.custom_command('delete', 'datadog_monitor_delete', supports_no_wait=True, confirmation=True) g.custom_command('get-default-key', 'datadog_monitor_get_default_key') g.custom_command('list-api-key', 'datadog_monitor_list_api_key') @@ -69,5 +69,5 @@ def load_command_table(self, _): custom_func_name='datadog_sso_config_update', supports_no_wait=True) g.custom_wait_command('wait', 'datadog_sso_config_show') - with self.command_group('datadog', is_experimental=True): + with self.command_group('datadog'): pass diff --git a/src/datadog/azext_datadog/generated/custom.py b/src/datadog/azext_datadog/generated/custom.py index 56858a63ac2..02b45eaca87 100644 --- a/src/datadog/azext_datadog/generated/custom.py +++ b/src/datadog/azext_datadog/generated/custom.py @@ -92,14 +92,23 @@ def datadog_monitor_create(cmd, def datadog_monitor_update(client, resource_group_name, monitor_name, - tags=None): + tags=None, + monitoring_status=None, + sku_name=None, + no_wait=False): body = {} body['tags'] = tags - body['properties'] = {} - body['properties']['monitoring_status'] = "Enabled" - return client.update(resource_group_name=resource_group_name, - monitor_name=monitor_name, - body=body) + if monitoring_status is not None: + body['properties'] = {} + body['properties']['monitoring_status'] = monitoring_status + if sku_name is not None: + body['sku'] = {} + body['sku']['name'] = sku_name + return sdk_no_wait(no_wait, + client.begin_update, + resource_group_name=resource_group_name, + monitor_name=monitor_name, + body=body) def datadog_monitor_delete(cmd, diff --git a/src/datadog/azext_datadog/tests/latest/recordings/test_datadog.yaml b/src/datadog/azext_datadog/tests/latest/recordings/test_datadog.yaml index e421d2aaf9b..09f82b235c5 100644 --- a/src/datadog/azext_datadog/tests/latest/recordings/test_datadog.yaml +++ b/src/datadog/azext_datadog/tests/latest/recordings/test_datadog.yaml @@ -2467,6 +2467,148 @@ interactions: status: code: 200 message: OK +- request: + body: '{"objectIds": ["aec1e0fd-9d6b-4885-887b-51eeb838031c", "aba9e85c-2772-4540-9cff-e17797872a4f", + "f38f83c9-1619-4877-92b7-2af0b6685c5b", "f44aacb9-ad0e-446f-bef6-96b8475738a7", + "2a4a86dc-7337-4d70-a757-631ffd93628d", "fdb68281-d99a-4d84-aadc-ad725ebb29d2", + "66497ceb-caf8-4678-812a-fa858cb1b62f", "c053781e-64dd-489b-ae5a-80d7d4ffab7b", + "d9ebd88d-2585-46c3-abcf-4684adbc54e2", "a2807a61-2ec7-408e-b8e4-78cf3d9715ef", + "17ffc090-92d5-4539-8fd4-f1d3190b4db7", "bc53cdc1-5485-4cd2-b094-cba43901c268"], + "includeDirectoryObjectReferences": true}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datadog monitor delete + Connection: + - keep-alive + Content-Length: + - '537' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -y --name --resource-group + User-Agent: + - python/3.7.8 (Windows-10-10.0.19041-SP0) msrest/0.6.19 msrest_azure/0.6.4 + azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.17.1 + accept-language: + - en-US + method: POST + uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/getObjectsByObjectIds?api-version=1.6 + response: + body: + string: '{"odata.metadata":"https://graph.windows.net/00000000-0000-0000-0000-000000000000/$metadata#directoryObjects","value":[{"odata.type":"Microsoft.DirectoryServices.ServicePrincipal","objectType":"ServicePrincipal","objectId":"c053781e-64dd-489b-ae5a-80d7d4ffab7b","deletionTimestamp":null,"accountEnabled":true,"addIns":[],"alternativeNames":["isExplicit=False","/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/datadog-sdk-test-rg5851/providers/Microsoft.Datadog/monitors/test113215"],"appDisplayName":null,"appId":"ddcf38f6-e4f2-42ba-be2d-4f92d125cb87","applicationTemplateId":null,"appOwnerTenantId":null,"appRoleAssignmentRequired":false,"appRoles":[],"displayName":"test113215","errorUrl":null,"homepage":null,"informationalUrls":null,"keyCredentials":[{"customKeyIdentifier":"BC8366C7B239574EE8E542D8A6A93B0CF74A4234","endDate":"2021-04-14T02:29:00Z","keyId":"7fe43784-ac4d-4904-aefa-61b61fe64b3e","startDate":"2021-01-14T02:29:00Z","type":"AsymmetricX509Cert","usage":"Verify","value":null}],"logoutUrl":null,"notificationEmailAddresses":[],"oauth2Permissions":[],"passwordCredentials":[],"preferredSingleSignOnMode":null,"preferredTokenSigningKeyEndDateTime":null,"preferredTokenSigningKeyThumbprint":null,"publisherName":null,"replyUrls":[],"samlMetadataUrl":null,"samlSingleSignOnSettings":null,"servicePrincipalNames":["ddcf38f6-e4f2-42ba-be2d-4f92d125cb87","https://identity.azure.net/2xOSd4H/5Ed0qS3txsA0rVOrggb3pjBiA/87Mq4fae4="],"servicePrincipalType":"ManagedIdentity","signInAudience":null,"tags":[],"tokenEncryptionKeyId":null},{"odata.type":"Microsoft.DirectoryServices.ServicePrincipal","objectType":"ServicePrincipal","objectId":"d9ebd88d-2585-46c3-abcf-4684adbc54e2","deletionTimestamp":null,"accountEnabled":true,"addIns":[],"alternativeNames":["isExplicit=False","/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Datadog/monitors/myMonitor"],"appDisplayName":null,"appId":"d3db9ebb-1111-4e86-bc31-9c277b6e45ce","applicationTemplateId":null,"appOwnerTenantId":null,"appRoleAssignmentRequired":false,"appRoles":[],"displayName":"myMonitor","errorUrl":null,"homepage":null,"informationalUrls":null,"keyCredentials":[{"customKeyIdentifier":"8FDB5DD4C7C0919FFDA544B92B53EBD28FED2A32","endDate":"2021-04-14T03:15:00Z","keyId":"4c6b3112-4706-45cf-a438-0f5fc2763c8f","startDate":"2021-01-14T03:15:00Z","type":"AsymmetricX509Cert","usage":"Verify","value":null}],"logoutUrl":null,"notificationEmailAddresses":[],"oauth2Permissions":[],"passwordCredentials":[],"preferredSingleSignOnMode":null,"preferredTokenSigningKeyEndDateTime":null,"preferredTokenSigningKeyThumbprint":null,"publisherName":null,"replyUrls":[],"samlMetadataUrl":null,"samlSingleSignOnSettings":null,"servicePrincipalNames":["d3db9ebb-1111-4e86-bc31-9c277b6e45ce","https://identity.azure.net/ywUPoYAXlJmogIfzF2EifKFrCRNCZ6rmuOFXM01r5jc="],"servicePrincipalType":"ManagedIdentity","signInAudience":null,"tags":[],"tokenEncryptionKeyId":null}]}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '3056' + content-type: + - application/json; odata=minimalmetadata; streaming=true; charset=utf-8 + dataserviceversion: + - 3.0; + date: + - Thu, 14 Jan 2021 03:22:46 GMT + duration: + - '681452' + expires: + - '-1' + ocp-aad-diagnostics-server-name: + - 59OCHzJHCxhhT7FhpZromaJYcrmR37pzbTf89DrTXxI= + ocp-aad-session-key: + - Vqwkh8Ym7nnraZ2hgwEgbJBWxsgmMRefGsbRcMhDOlhjoawt5KdNrNZrgisysLvqWAlU6ofZQ-kgBrrUHb9O_4USHkAEovgNZ2zQbPIki2Mpdg-bj9hobGb5z1Froswl.KDoLTETTs5xbbJrZvNgBU8HbVlogh8c2CBnzjhvMdFI + pragma: + - no-cache + request-id: + - 862ccf5c-fc4e-4c04-8603-08586582c938 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-ms-dirapi-data-contract-version: + - '1.6' + x-ms-resource-unit: + - '3' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"objectIds": ["aec1e0fd-9d6b-4885-887b-51eeb838031c", "aba9e85c-2772-4540-9cff-e17797872a4f", + "f38f83c9-1619-4877-92b7-2af0b6685c5b", "f44aacb9-ad0e-446f-bef6-96b8475738a7", + "2a4a86dc-7337-4d70-a757-631ffd93628d", "fdb68281-d99a-4d84-aadc-ad725ebb29d2", + "66497ceb-caf8-4678-812a-fa858cb1b62f", "c053781e-64dd-489b-ae5a-80d7d4ffab7b", + "d9ebd88d-2585-46c3-abcf-4684adbc54e2", "a2807a61-2ec7-408e-b8e4-78cf3d9715ef", + "17ffc090-92d5-4539-8fd4-f1d3190b4db7", "bc53cdc1-5485-4cd2-b094-cba43901c268"], + "includeDirectoryObjectReferences": true}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - datadog monitor delete + Connection: + - keep-alive + Content-Length: + - '537' + Content-Type: + - application/json; charset=utf-8 + ParameterSetName: + - -y --name --resource-group + User-Agent: + - python/3.7.8 (Windows-10-10.0.19041-SP0) msrest/0.6.19 msrest_azure/0.6.4 + azure-graphrbac/0.60.0 Azure-SDK-For-Python AZURECLI/2.17.1 + accept-language: + - en-US + method: POST + uri: https://graph.windows.net/00000000-0000-0000-0000-000000000000/getObjectsByObjectIds?api-version=1.6 + response: + body: + string: '{"odata.metadata":"https://graph.windows.net/00000000-0000-0000-0000-000000000000/$metadata#directoryObjects","value":[{"odata.type":"Microsoft.DirectoryServices.ServicePrincipal","objectType":"ServicePrincipal","objectId":"c053781e-64dd-489b-ae5a-80d7d4ffab7b","deletionTimestamp":null,"accountEnabled":true,"addIns":[],"alternativeNames":["isExplicit=False","/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/datadog-sdk-test-rg5851/providers/Microsoft.Datadog/monitors/test113215"],"appDisplayName":null,"appId":"ddcf38f6-e4f2-42ba-be2d-4f92d125cb87","applicationTemplateId":null,"appOwnerTenantId":null,"appRoleAssignmentRequired":false,"appRoles":[],"displayName":"test113215","errorUrl":null,"homepage":null,"informationalUrls":null,"keyCredentials":[{"customKeyIdentifier":"BC8366C7B239574EE8E542D8A6A93B0CF74A4234","endDate":"2021-04-14T02:29:00Z","keyId":"7fe43784-ac4d-4904-aefa-61b61fe64b3e","startDate":"2021-01-14T02:29:00Z","type":"AsymmetricX509Cert","usage":"Verify","value":null}],"logoutUrl":null,"notificationEmailAddresses":[],"oauth2Permissions":[],"passwordCredentials":[],"preferredSingleSignOnMode":null,"preferredTokenSigningKeyEndDateTime":null,"preferredTokenSigningKeyThumbprint":null,"publisherName":null,"replyUrls":[],"samlMetadataUrl":null,"samlSingleSignOnSettings":null,"servicePrincipalNames":["ddcf38f6-e4f2-42ba-be2d-4f92d125cb87","https://identity.azure.net/2xOSd4H/5Ed0qS3txsA0rVOrggb3pjBiA/87Mq4fae4="],"servicePrincipalType":"ManagedIdentity","signInAudience":null,"tags":[],"tokenEncryptionKeyId":null},{"odata.type":"Microsoft.DirectoryServices.ServicePrincipal","objectType":"ServicePrincipal","objectId":"d9ebd88d-2585-46c3-abcf-4684adbc54e2","deletionTimestamp":null,"accountEnabled":true,"addIns":[],"alternativeNames":["isExplicit=False","/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.Datadog/monitors/myMonitor"],"appDisplayName":null,"appId":"d3db9ebb-1111-4e86-bc31-9c277b6e45ce","applicationTemplateId":null,"appOwnerTenantId":null,"appRoleAssignmentRequired":false,"appRoles":[],"displayName":"myMonitor","errorUrl":null,"homepage":null,"informationalUrls":null,"keyCredentials":[{"customKeyIdentifier":"8FDB5DD4C7C0919FFDA544B92B53EBD28FED2A32","endDate":"2021-04-14T03:15:00Z","keyId":"4c6b3112-4706-45cf-a438-0f5fc2763c8f","startDate":"2021-01-14T03:15:00Z","type":"AsymmetricX509Cert","usage":"Verify","value":null}],"logoutUrl":null,"notificationEmailAddresses":[],"oauth2Permissions":[],"passwordCredentials":[],"preferredSingleSignOnMode":null,"preferredTokenSigningKeyEndDateTime":null,"preferredTokenSigningKeyThumbprint":null,"publisherName":null,"replyUrls":[],"samlMetadataUrl":null,"samlSingleSignOnSettings":null,"servicePrincipalNames":["d3db9ebb-1111-4e86-bc31-9c277b6e45ce","https://identity.azure.net/ywUPoYAXlJmogIfzF2EifKFrCRNCZ6rmuOFXM01r5jc="],"servicePrincipalType":"ManagedIdentity","signInAudience":null,"tags":[],"tokenEncryptionKeyId":null}]}' + headers: + access-control-allow-origin: + - '*' + cache-control: + - no-cache + content-length: + - '3056' + content-type: + - application/json; odata=minimalmetadata; streaming=true; charset=utf-8 + dataserviceversion: + - 3.0; + date: + - Thu, 14 Jan 2021 03:22:46 GMT + duration: + - '681452' + expires: + - '-1' + ocp-aad-diagnostics-server-name: + - 59OCHzJHCxhhT7FhpZromaJYcrmR37pzbTf89DrTXxI= + ocp-aad-session-key: + - Vqwkh8Ym7nnraZ2hgwEgbJBWxsgmMRefGsbRcMhDOlhjoawt5KdNrNZrgisysLvqWAlU6ofZQ-kgBrrUHb9O_4USHkAEovgNZ2zQbPIki2Mpdg-bj9hobGb5z1Froswl.KDoLTETTs5xbbJrZvNgBU8HbVlogh8c2CBnzjhvMdFI + pragma: + - no-cache + request-id: + - 862ccf5c-fc4e-4c04-8603-08586582c938 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-ms-dirapi-data-contract-version: + - '1.6' + x-ms-resource-unit: + - '3' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK - request: body: null headers: @@ -2953,4 +3095,4 @@ interactions: status: code: 200 message: OK -version: 1 +version: 1 \ No newline at end of file diff --git a/src/datadog/azext_datadog/tests/latest/test_datadog_scenario.py b/src/datadog/azext_datadog/tests/latest/test_datadog_scenario.py index 8cde69dbc38..f22f4a491fb 100644 --- a/src/datadog/azext_datadog/tests/latest/test_datadog_scenario.py +++ b/src/datadog/azext_datadog/tests/latest/test_datadog_scenario.py @@ -11,22 +11,22 @@ import os import mock from azure.cli.testsdk import ScenarioTest -from .. import try_manual, raise_if, calc_coverage from azure.cli.testsdk import ResourceGroupPreparer from azure_devtools.scenario_tests import AllowLargeResponse +from .. import try_manual, raise_if, calc_coverage TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) @try_manual -def setup(test, rg): +def setup(): pass # EXAMPLE: /Monitors/put/Monitors_Create @try_manual -def step__monitors_put_monitors_create(test, rg): +def step__monitors_put_monitors_create(test): with mock.patch('azure.cli.command_modules.role.custom._gen_guid', side_effect=test.create_guid): test.cmd('az datadog monitor create ' '--name "{myMonitor}" ' @@ -53,7 +53,7 @@ def step__monitors_put_monitors_create(test, rg): # EXAMPLE: /Monitors/get/Monitors_Get @try_manual -def step__monitors_get_monitors_get(test, rg): +def step__monitors_get_monitors_get(test): test.cmd('az datadog monitor show ' '--name "{myMonitor}" ' '--resource-group "{rg}"', @@ -70,7 +70,7 @@ def step__monitors_get_monitors_get(test, rg): # EXAMPLE: /Monitors/get/Monitors_List @try_manual -def step__monitors_get_monitors_list(test, rg): +def step__monitors_get_monitors_list(test): test.cmd('az datadog monitor list ' '-g ""', checks=[ @@ -80,7 +80,7 @@ def step__monitors_get_monitors_list(test, rg): # EXAMPLE: /Monitors/get/Monitors_ListByResourceGroup @try_manual -def step__monitors_get_monitors_listbyresourcegroup(test, rg): +def step__monitors_get_monitors_listbyresourcegroup(test): test.cmd('az datadog monitor list ' '--resource-group "{rg}"', checks=[ @@ -88,9 +88,10 @@ def step__monitors_get_monitors_listbyresourcegroup(test, rg): ]) +# TODO: Add tests for --monitoring-status and --sku-name arguments # EXAMPLE: /Monitors/patch/Monitors_Update @try_manual -def step__monitors_patch_monitors_update(test, rg): +def step__monitors_patch_monitors_update(test): test.cmd('az datadog monitor update ' '--name "{myMonitor}" ' '--tags Environment="Dev2" ' @@ -108,7 +109,7 @@ def step__monitors_patch_monitors_update(test, rg): # EXAMPLE: /ApiKeys/post/ApiKeys_GetDefaultKey @try_manual -def step__apikeys_post_apikeys_getdefaultkey(test, rg): +def step__apikeys_post_apikeys_getdefaultkey(test): test.cmd('az datadog monitor get-default-key ' '--monitor-name "{myMonitor}" ' '--resource-group "{rg}"', @@ -119,7 +120,7 @@ def step__apikeys_post_apikeys_getdefaultkey(test, rg): # EXAMPLE: /ApiKeys/post/ApiKeys_List @try_manual -def step__apikeys_post_apikeys_list(test, rg): +def step__apikeys_post_apikeys_list(test): test.cmd('az datadog monitor list-api-key ' '--monitor-name "{myMonitor}" ' '--resource-group "{rg}"', @@ -130,7 +131,7 @@ def step__apikeys_post_apikeys_list(test, rg): # EXAMPLE: /ApiKeys/post/ApiKeys_SetDefaultKey @try_manual -def step__apikeys_post_apikeys_setdefaultkey(test, rg): +def step__apikeys_post_apikeys_setdefaultkey(test): test.cmd('az datadog monitor set-default-key ' '--monitor-name "{myMonitor}" ' '--key "1111111111111111aaaaaaaaaaaaaaaa" ' @@ -140,7 +141,7 @@ def step__apikeys_post_apikeys_setdefaultkey(test, rg): # EXAMPLE: /Hosts/post/Hosts_List @try_manual -def step__hosts_post_hosts_list(test, rg): +def step__hosts_post_hosts_list(test): test.cmd('az datadog monitor list-host ' '--monitor-name "{myMonitor}" ' '--resource-group "{rg}"', @@ -149,7 +150,7 @@ def step__hosts_post_hosts_list(test, rg): # EXAMPLE: /LinkedResources/post/LinkedResources_List @try_manual -def step__linkedresources_post_linkedresources_list(test, rg): +def step__linkedresources_post_linkedresources_list(test): test.cmd('az datadog monitor list-linked-resource ' '--monitor-name "{myMonitor}" ' '--resource-group "{rg}"', @@ -160,7 +161,7 @@ def step__linkedresources_post_linkedresources_list(test, rg): # EXAMPLE: /MonitoredResources/post/MonitoredResources_List @try_manual -def step__monitoredresources_post(test, rg): +def step__monitoredresources_post(test): test.cmd('az datadog monitor list-monitored-resource ' '--monitor-name "{myMonitor}" ' '--resource-group "{rg}"', @@ -169,7 +170,7 @@ def step__monitoredresources_post(test, rg): # EXAMPLE: /RefreshSetPassword/post/RefreshSetPassword_Get @try_manual -def step__refreshsetpassword_post(test, rg): +def step__refreshsetpassword_post(test): test.cmd('az datadog monitor refresh-set-password-link ' '--monitor-name "{myMonitor}" ' '--resource-group "{rg}"', @@ -180,7 +181,7 @@ def step__refreshsetpassword_post(test, rg): # EXAMPLE: /SingleSignOnConfigurations/put/SingleSignOnConfigurations_CreateOrUpdate @try_manual -def step__singlesignonconfigurations_put(test, rg): +def step__singlesignonconfigurations_put(test): test.cmd('az datadog sso-config create ' '--configuration-name "default" ' '--monitor-name "{myMonitor}" ' @@ -191,7 +192,7 @@ def step__singlesignonconfigurations_put(test, rg): # EXAMPLE: /SingleSignOnConfigurations/get/SingleSignOnConfigurations_Get @try_manual -def step__singlesignonconfigurations_get(test, rg): +def step__singlesignonconfigurations_get(test): test.cmd('az datadog sso-config show ' '--configuration-name "default" ' '--monitor-name "{myMonitor}" ' @@ -204,7 +205,7 @@ def step__singlesignonconfigurations_get(test, rg): # EXAMPLE: /SingleSignOnConfigurations/get/SingleSignOnConfigurations_List @try_manual -def step__singlesignonconfigurations_get2(test, rg): +def step__singlesignonconfigurations_get2(test): test.cmd('az datadog sso-config list ' '--monitor-name "{myMonitor}" ' '--resource-group "{rg}"', @@ -215,7 +216,7 @@ def step__singlesignonconfigurations_get2(test, rg): # EXAMPLE: /TagRules/put/TagRules_CreateOrUpdate @try_manual -def step__tagrules_put_tagrules_createorupdate(test, rg): +def step__tagrules_put_tagrules_createorupdate(test): test.cmd('az datadog tag-rule create ' '--monitor-name "{myMonitor}" ' '--log-rules-filtering-tags name="Environment" action="Include" value="Prod" ' @@ -233,7 +234,7 @@ def step__tagrules_put_tagrules_createorupdate(test, rg): # EXAMPLE: /TagRules/get/TagRules_Get @try_manual -def step__tagrules_get_tagrules_get(test, rg): +def step__tagrules_get_tagrules_get(test): test.cmd('az datadog tag-rule show ' '--monitor-name "{myMonitor}" ' '--resource-group "{rg}" ' @@ -246,7 +247,7 @@ def step__tagrules_get_tagrules_get(test, rg): # EXAMPLE: /TagRules/get/TagRules_List @try_manual -def step__tagrules_get_tagrules_list(test, rg): +def step__tagrules_get_tagrules_list(test): test.cmd('az datadog tag-rule list ' '--monitor-name "{myMonitor}" ' '--resource-group "{rg}"', @@ -257,7 +258,7 @@ def step__tagrules_get_tagrules_list(test, rg): # EXAMPLE: /Monitors/delete/Monitors_Delete @try_manual -def step__monitors_delete_monitors_delete(test, rg): +def step__monitors_delete_monitors_delete(test): test.cmd('az datadog monitor delete -y ' '--name "{myMonitor}" ' '--resource-group "{rg}"', @@ -265,7 +266,7 @@ def step__monitors_delete_monitors_delete(test, rg): @try_manual -def step__terms_list(test, rg): +def step__terms_list(test): test.cmd('az datadog terms list', checks=[ test.check('length(@)', 2) @@ -273,7 +274,7 @@ def step__terms_list(test, rg): @try_manual -def step__monitors_put_monitors_create_link(test, rg): +def step__monitors_put_monitors_create_link(test): with mock.patch('azure.cli.command_modules.role.custom._gen_guid', side_effect=test.create_guid): test.cmd('az datadog monitor create ' '--name "{myMonitor}" ' @@ -302,35 +303,35 @@ def step__monitors_put_monitors_create_link(test, rg): @try_manual -def cleanup(test, rg): +def cleanup(): pass @try_manual -def call_scenario(test, rg): - setup(test, rg) - step__monitors_put_monitors_create(test, rg) - step__monitors_get_monitors_get(test, rg) - step__monitors_get_monitors_list(test, rg) - step__monitors_get_monitors_listbyresourcegroup(test, rg) - step__monitors_patch_monitors_update(test, rg) - step__hosts_post_hosts_list(test, rg) - step__linkedresources_post_linkedresources_list(test, rg) - step__monitoredresources_post(test, rg) - step__refreshsetpassword_post(test, rg) - step__singlesignonconfigurations_put(test, rg) - step__singlesignonconfigurations_get(test, rg) - step__singlesignonconfigurations_get2(test, rg) - step__tagrules_put_tagrules_createorupdate(test, rg) - step__tagrules_get_tagrules_get(test, rg) - step__tagrules_get_tagrules_list(test, rg) - step__apikeys_post_apikeys_list(test, rg) - step__apikeys_post_apikeys_setdefaultkey(test, rg) - step__apikeys_post_apikeys_getdefaultkey(test, rg) - step__monitors_delete_monitors_delete(test, rg) - step__terms_list(test, rg) - step__monitors_put_monitors_create_link(test, rg) - cleanup(test, rg) +def call_scenario(test): + setup() + step__monitors_put_monitors_create(test) + step__monitors_get_monitors_get(test) + step__monitors_get_monitors_list(test) + step__monitors_get_monitors_listbyresourcegroup(test) + step__monitors_patch_monitors_update(test) + step__hosts_post_hosts_list(test) + step__linkedresources_post_linkedresources_list(test) + step__monitoredresources_post(test) + step__refreshsetpassword_post(test) + step__singlesignonconfigurations_put(test) + step__singlesignonconfigurations_get(test) + step__singlesignonconfigurations_get2(test) + step__tagrules_put_tagrules_createorupdate(test) + step__tagrules_get_tagrules_get(test) + step__tagrules_get_tagrules_list(test) + step__apikeys_post_apikeys_list(test) + step__apikeys_post_apikeys_setdefaultkey(test) + step__apikeys_post_apikeys_getdefaultkey(test) + step__monitors_delete_monitors_delete(test) + step__terms_list(test) + step__monitors_put_monitors_create_link(test) + cleanup() @try_manual @@ -338,12 +339,12 @@ class MicrosoftDatadogClientScenarioTest(ScenarioTest): @AllowLargeResponse() @ResourceGroupPreparer(name_prefix='clitestdatadog_myResourceGroup'[:7], key='rg', parameter_name='rg') - def test_datadog(self, rg): + def test_datadog(self): self.kwargs.update({ 'myMonitor': 'myMonitor', }) - call_scenario(self, rg) + call_scenario(self) calc_coverage(__file__) raise_if() diff --git a/src/datadog/azext_datadog/vendored_sdks/datadog/aio/operations/_monitors_operations.py b/src/datadog/azext_datadog/vendored_sdks/datadog/aio/operations/_monitors_operations.py index c485d529446..37d8af8b680 100644 --- a/src/datadog/azext_datadog/vendored_sdks/datadog/aio/operations/_monitors_operations.py +++ b/src/datadog/azext_datadog/vendored_sdks/datadog/aio/operations/_monitors_operations.py @@ -818,28 +818,13 @@ def get_long_running_output(pipeline_response): return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) begin_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Datadog/monitors/{monitorName}'} # type: ignore - async def update( + async def _update_initial( self, resource_group_name: str, monitor_name: str, body: Optional["models.DatadogMonitorResourceUpdateParameters"] = None, **kwargs ) -> "models.DatadogMonitorResource": - """Update a monitor resource. - - Update a monitor resource. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - :type resource_group_name: str - :param monitor_name: Monitor resource name. - :type monitor_name: str - :param body: - :type body: ~microsoft_datadog_client.models.DatadogMonitorResourceUpdateParameters - :keyword callable cls: A custom type or function that will be passed the direct response - :return: DatadogMonitorResource, or the result of cls(response) - :rtype: ~microsoft_datadog_client.models.DatadogMonitorResource - :raises: ~azure.core.exceptions.HttpResponseError - """ cls = kwargs.pop('cls', None) # type: ClsType["models.DatadogMonitorResource"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError @@ -850,7 +835,7 @@ async def update( accept = "application/json" # Construct URL - url = self.update.metadata['url'] # type: ignore + url = self._update_initial.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), @@ -877,18 +862,95 @@ async def update( pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response - if response.status_code not in [200]: + if response.status_code not in [200, 201]: map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize(models.ErrorResponse, response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize('DatadogMonitorResource', pipeline_response) + if response.status_code == 200: + deserialized = self._deserialize('DatadogMonitorResource', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('DatadogMonitorResource', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Datadog/monitors/{monitorName}'} # type: ignore + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Datadog/monitors/{monitorName}'} # type: ignore + + async def begin_update( + self, + resource_group_name: str, + monitor_name: str, + body: Optional["models.DatadogMonitorResourceUpdateParameters"] = None, + **kwargs + ) -> AsyncLROPoller["models.DatadogMonitorResource"]: + """Update a monitor resource. + + Update a monitor resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param monitor_name: Monitor resource name. + :type monitor_name: str + :param body: + :type body: ~microsoft_datadog_client.models.DatadogMonitorResourceUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of AsyncLROPoller that returns either DatadogMonitorResource or the result of cls(response) + :rtype: ~azure.core.polling.AsyncLROPoller[~microsoft_datadog_client.models.DatadogMonitorResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.DatadogMonitorResource"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = await self._update_initial( + resource_group_name=resource_group_name, + monitor_name=monitor_name, + body=body, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('DatadogMonitorResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'monitorName': self._serialize.url("monitor_name", monitor_name, 'str'), + } + + if polling is True: polling_method = AsyncARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = AsyncNoPolling() + else: polling_method = polling + if cont_token: + return AsyncLROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Datadog/monitors/{monitorName}'} # type: ignore async def _delete_initial( self, diff --git a/src/datadog/azext_datadog/vendored_sdks/datadog/models/_models.py b/src/datadog/azext_datadog/vendored_sdks/datadog/models/_models.py index 77500389ed8..f533a74176b 100644 --- a/src/datadog/azext_datadog/vendored_sdks/datadog/models/_models.py +++ b/src/datadog/azext_datadog/vendored_sdks/datadog/models/_models.py @@ -406,11 +406,14 @@ class DatadogMonitorResourceUpdateParameters(msrest.serialization.Model): :type properties: ~microsoft_datadog_client.models.MonitorUpdateProperties :param tags: A set of tags. The new tags of the monitor resource. :type tags: dict[str, str] + :param sku: + :type sku: ~microsoft_datadog_client.models.ResourceSku """ _attribute_map = { 'properties': {'key': 'properties', 'type': 'MonitorUpdateProperties'}, 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'ResourceSku'}, } def __init__( @@ -420,6 +423,7 @@ def __init__( super(DatadogMonitorResourceUpdateParameters, self).__init__(**kwargs) self.properties = kwargs.get('properties', None) self.tags = kwargs.get('tags', None) + self.sku = kwargs.get('sku', None) class DatadogOrganizationProperties(msrest.serialization.Model): @@ -989,6 +993,8 @@ def __init__( class MonitoringTagRulesProperties(msrest.serialization.Model): """Definition of the properties for a TagRules resource. + Variables are only populated by the server, and will be ignored when sending a request. + :ivar provisioning_state: Possible values include: "Accepted", "Creating", "Updating", "Deleting", "Succeeded", "Failed", "Canceled", "Deleted", "NotSpecified". :vartype provisioning_state: str or ~microsoft_datadog_client.models.ProvisioningState diff --git a/src/datadog/azext_datadog/vendored_sdks/datadog/models/_models_py3.py b/src/datadog/azext_datadog/vendored_sdks/datadog/models/_models_py3.py index 403aace93cf..ee88c8f4fa6 100644 --- a/src/datadog/azext_datadog/vendored_sdks/datadog/models/_models_py3.py +++ b/src/datadog/azext_datadog/vendored_sdks/datadog/models/_models_py3.py @@ -460,11 +460,14 @@ class DatadogMonitorResourceUpdateParameters(msrest.serialization.Model): :type properties: ~microsoft_datadog_client.models.MonitorUpdateProperties :param tags: A set of tags. The new tags of the monitor resource. :type tags: dict[str, str] + :param sku: + :type sku: ~microsoft_datadog_client.models.ResourceSku """ _attribute_map = { 'properties': {'key': 'properties', 'type': 'MonitorUpdateProperties'}, 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'ResourceSku'}, } def __init__( @@ -472,11 +475,13 @@ def __init__( *, properties: Optional["MonitorUpdateProperties"] = None, tags: Optional[Dict[str, str]] = None, + sku: Optional["ResourceSku"] = None, **kwargs ): super(DatadogMonitorResourceUpdateParameters, self).__init__(**kwargs) self.properties = properties self.tags = tags + self.sku = sku class DatadogOrganizationProperties(msrest.serialization.Model): @@ -1097,6 +1102,8 @@ def __init__( class MonitoringTagRulesProperties(msrest.serialization.Model): """Definition of the properties for a TagRules resource. + Variables are only populated by the server, and will be ignored when sending a request. + :ivar provisioning_state: Possible values include: "Accepted", "Creating", "Updating", "Deleting", "Succeeded", "Failed", "Canceled", "Deleted", "NotSpecified". :vartype provisioning_state: str or ~microsoft_datadog_client.models.ProvisioningState diff --git a/src/datadog/azext_datadog/vendored_sdks/datadog/operations/_monitors_operations.py b/src/datadog/azext_datadog/vendored_sdks/datadog/operations/_monitors_operations.py index 248c7a30a26..0606c2e954c 100644 --- a/src/datadog/azext_datadog/vendored_sdks/datadog/operations/_monitors_operations.py +++ b/src/datadog/azext_datadog/vendored_sdks/datadog/operations/_monitors_operations.py @@ -833,7 +833,7 @@ def get_long_running_output(pipeline_response): return LROPoller(self._client, raw_result, get_long_running_output, polling_method) begin_create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Datadog/monitors/{monitorName}'} # type: ignore - def update( + def _update_initial( self, resource_group_name, # type: str monitor_name, # type: str @@ -841,21 +841,6 @@ def update( **kwargs # type: Any ): # type: (...) -> "models.DatadogMonitorResource" - """Update a monitor resource. - - Update a monitor resource. - - :param resource_group_name: The name of the resource group. The name is case insensitive. - :type resource_group_name: str - :param monitor_name: Monitor resource name. - :type monitor_name: str - :param body: - :type body: ~microsoft_datadog_client.models.DatadogMonitorResourceUpdateParameters - :keyword callable cls: A custom type or function that will be passed the direct response - :return: DatadogMonitorResource, or the result of cls(response) - :rtype: ~microsoft_datadog_client.models.DatadogMonitorResource - :raises: ~azure.core.exceptions.HttpResponseError - """ cls = kwargs.pop('cls', None) # type: ClsType["models.DatadogMonitorResource"] error_map = { 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError @@ -866,7 +851,7 @@ def update( accept = "application/json" # Construct URL - url = self.update.metadata['url'] # type: ignore + url = self._update_initial.metadata['url'] # type: ignore path_format_arguments = { 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), @@ -893,18 +878,96 @@ def update( pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) response = pipeline_response.http_response - if response.status_code not in [200]: + if response.status_code not in [200, 201]: map_error(status_code=response.status_code, response=response, error_map=error_map) error = self._deserialize(models.ErrorResponse, response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize('DatadogMonitorResource', pipeline_response) + if response.status_code == 200: + deserialized = self._deserialize('DatadogMonitorResource', pipeline_response) + + if response.status_code == 201: + deserialized = self._deserialize('DatadogMonitorResource', pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Datadog/monitors/{monitorName}'} # type: ignore + _update_initial.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Datadog/monitors/{monitorName}'} # type: ignore + + def begin_update( + self, + resource_group_name, # type: str + monitor_name, # type: str + body=None, # type: Optional["models.DatadogMonitorResourceUpdateParameters"] + **kwargs # type: Any + ): + # type: (...) -> LROPoller["models.DatadogMonitorResource"] + """Update a monitor resource. + + Update a monitor resource. + + :param resource_group_name: The name of the resource group. The name is case insensitive. + :type resource_group_name: str + :param monitor_name: Monitor resource name. + :type monitor_name: str + :param body: + :type body: ~microsoft_datadog_client.models.DatadogMonitorResourceUpdateParameters + :keyword callable cls: A custom type or function that will be passed the direct response + :keyword str continuation_token: A continuation token to restart a poller from a saved state. + :keyword polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :paramtype polling: bool or ~azure.core.polling.PollingMethod + :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. + :return: An instance of LROPoller that returns either DatadogMonitorResource or the result of cls(response) + :rtype: ~azure.core.polling.LROPoller[~microsoft_datadog_client.models.DatadogMonitorResource] + :raises ~azure.core.exceptions.HttpResponseError: + """ + polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] + cls = kwargs.pop('cls', None) # type: ClsType["models.DatadogMonitorResource"] + lro_delay = kwargs.pop( + 'polling_interval', + self._config.polling_interval + ) + cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + if cont_token is None: + raw_result = self._update_initial( + resource_group_name=resource_group_name, + monitor_name=monitor_name, + body=body, + cls=lambda x,y,z: x, + **kwargs + ) + + kwargs.pop('error_map', None) + kwargs.pop('content_type', None) + + def get_long_running_output(pipeline_response): + deserialized = self._deserialize('DatadogMonitorResource', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + return deserialized + + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'monitorName': self._serialize.url("monitor_name", monitor_name, 'str'), + } + + if polling is True: polling_method = ARMPolling(lro_delay, path_format_arguments=path_format_arguments, **kwargs) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + if cont_token: + return LROPoller.from_continuation_token( + polling_method=polling_method, + continuation_token=cont_token, + client=self._client, + deserialization_callback=get_long_running_output + ) + else: + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + begin_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Datadog/monitors/{monitorName}'} # type: ignore def _delete_initial( self, From 926e8649de22b63900fcbff882eac56079b35ed2 Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Thu, 27 May 2021 12:24:03 +0800 Subject: [PATCH 61/83] [Release] Update index.json for extension [ datadog ] (#3205) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=814481 Last commit: https://github.com/Azure/azure-cli-extensions/commit/4e70ea72abd865ab2d07a7b22fe8d772236f4d02 --- src/index.json | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/src/index.json b/src/index.json index 8447727fde4..10f9206b0ae 100644 --- a/src/index.json +++ b/src/index.json @@ -8155,6 +8155,51 @@ "sha256Digest": "daf595a051a47dded0fbe18a289e454f221eaaae11d1aadaa3f45612aff1b05f" } ], + "datadog": [ + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/datadog-0.1.0-py3-none-any.whl", + "filename": "datadog-0.1.0-py3-none-any.whl", + "metadata": { + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.17.0", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/datadog" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "datadog", + "summary": "Microsoft Azure Command-Line Tools MicrosoftDatadogClient Extension", + "version": "0.1.0" + }, + "sha256Digest": "9a5e9535e797f59059d07fcfb4dd456541d0813f97dae344180f76e279265086" + } + ], "datafactory": [ { "downloadUrl": "https://azurecliprod.blob.core.windows.net/cli-extensions/datafactory-0.1.0-py3-none-any.whl", From 9100ff5c12affee47e6a0c51ca9e871c4515d381 Mon Sep 17 00:00:00 2001 From: Jonathan Innis Date: Thu, 27 May 2021 10:51:02 -0700 Subject: [PATCH 62/83] Servicebus client model changes (#44) * Servicebus client model changes * Fix testing script * Update history file and pipeline * Update min cli core version for track 2 updates --- k8s-custom-pipelines.yml | 33 +++++++++++-------- src/k8s-extension/HISTORY.rst | 1 + .../azext_k8s_extension/azext_metadata.json | 2 +- .../partner_extensions/AzureMLKubernetes.py | 2 +- 4 files changed, 23 insertions(+), 15 deletions(-) diff --git a/k8s-custom-pipelines.yml b/k8s-custom-pipelines.yml index 7a133da8da4..23857260310 100644 --- a/k8s-custom-pipelines.yml +++ b/k8s-custom-pipelines.yml @@ -27,7 +27,7 @@ stages: - job: K8sExtensionTestSuite displayName: "Run the Test Suite" pool: - vmImage: 'ubuntu-16.04' + vmImage: 'ubuntu-latest' steps: - checkout: self - bash: | @@ -56,15 +56,16 @@ stages: source env/bin/activate # clone azure-cli + git clone -q --single-branch -b dev https://github.com/Azure/azure-cli.git ../azure-cli + pip install --upgrade pip - pip install azdev + pip install -q azdev ls $(CLI_REPO_PATH) azdev --version - azdev setup -r $(CLI_REPO_PATH) -e $(EXTENSION_NAME) + azdev setup -c ../azure-cli -r $(CLI_REPO_PATH) -e $(EXTENSION_NAME) azdev extension build $(EXTENSION_NAME) - workingDirectory: $(CLI_REPO_PATH) displayName: "Setup and Build Extension with azdev" @@ -98,6 +99,10 @@ stages: chmod +x ./kind ./kind create cluster displayName: "Create and Start the Kind cluster" + + - bash: | + curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash + displayName: "Upgrade az to latest version" - task: AzureCLI@2 displayName: Bootstrap @@ -108,7 +113,7 @@ stages: inlineScript: | .\Bootstrap.ps1 -CI workingDirectory: $(TEST_PATH) - + - task: AzureCLI@2 displayName: Run the Test Suite Public Extensions Only inputs: @@ -153,7 +158,7 @@ stages: - job: BuildPublishExtension pool: - vmImage: 'ubuntu-16.04' + vmImage: 'ubuntu-latest' displayName: "Build and Publish the Extension Artifact" variables: CLI_REPO_PATH: $(Agent.BuildDirectory)/s @@ -197,13 +202,15 @@ stages: source env/bin/activate # clone azure-cli + git clone -q --single-branch -b dev https://github.com/Azure/azure-cli.git ../azure-cli + pip install --upgrade pip - pip install azdev + pip install -q azdev ls $(CLI_REPO_PATH) azdev --version - azdev setup -r $(CLI_REPO_PATH) -e $(EXTENSION_NAME) + azdev setup -c ../azure-cli -r $(CLI_REPO_PATH) -e $(EXTENSION_NAME) azdev extension build $(EXTENSION_NAME) workingDirectory: $(CLI_REPO_PATH) displayName: "Setup and Build Extension with azdev" @@ -218,7 +225,7 @@ stages: - job: CheckLicenseHeader displayName: "Check License" pool: - vmImage: 'ubuntu-16.04' + vmImage: 'ubuntu-latest' steps: - task: UsePythonVersion@0 displayName: 'Use Python 3.6' @@ -249,7 +256,7 @@ stages: - job: StaticAnalysis displayName: "Static Analysis" pool: - vmImage: 'ubuntu-16.04' + vmImage: 'ubuntu-latest' steps: - task: UsePythonVersion@0 displayName: 'Use Python 3.6' @@ -263,7 +270,7 @@ stages: - job: IndexVerify displayName: "Verify Extensions Index" pool: - vmImage: 'ubuntu-16.04' + vmImage: 'ubuntu-latest' steps: - task: UsePythonVersion@0 displayName: 'Use Python 3.7' @@ -280,7 +287,7 @@ stages: - job: SourceTests displayName: "Integration Tests, Build Tests" pool: - vmImage: 'ubuntu-16.04' + vmImage: 'ubuntu-latest' strategy: matrix: Python36: @@ -303,7 +310,7 @@ stages: - job: LintModifiedExtensions displayName: "CLI Linter on Modified Extensions" pool: - vmImage: 'ubuntu-16.04' + vmImage: 'ubuntu-latest' steps: - task: UsePythonVersion@0 displayName: 'Use Python 3.6' diff --git a/src/k8s-extension/HISTORY.rst b/src/k8s-extension/HISTORY.rst index 8b09f647058..2fe8a591fb9 100644 --- a/src/k8s-extension/HISTORY.rst +++ b/src/k8s-extension/HISTORY.rst @@ -6,6 +6,7 @@ Release History 0.4.2 ++++++++++++++++++ +* Hotfix servicebus namespace creation for Track 2 changes * Change resource tag from 'amlk8s' to 'Azure Arc-enabled ML' in microsoft.azureml.kubernetes 0.4.1 diff --git a/src/k8s-extension/azext_k8s_extension/azext_metadata.json b/src/k8s-extension/azext_k8s_extension/azext_metadata.json index cf7b8927a07..f5fcee1c14a 100644 --- a/src/k8s-extension/azext_k8s_extension/azext_metadata.json +++ b/src/k8s-extension/azext_k8s_extension/azext_metadata.json @@ -1,4 +1,4 @@ { "azext.isPreview": true, - "azext.minCliCoreVersion": "2.15.0" + "azext.minCliCoreVersion": "2.24.0" } diff --git a/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py b/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py index 2646dd681e7..3a2544a4e3b 100644 --- a/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py +++ b/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py @@ -337,7 +337,7 @@ def _get_service_bus_connection_string(cmd, subscription_id, resource_group_name location=cluster_location, sku=service_bus_sku, tags=resource_tag) - async_poller = service_bus_client.namespaces.create_or_update( + async_poller = service_bus_client.namespaces.begin_create_or_update( resource_group_name, service_bus_namespace_name, service_bus_namespace) while True: async_poller.result(15) From ff7161991f569edc82a1f743ba9896ea82d8b5b3 Mon Sep 17 00:00:00 2001 From: kai ru <69238381+kairu-ms@users.noreply.github.com> Date: Fri, 28 May 2021 11:13:38 +0800 Subject: [PATCH 63/83] [Virtual-wan] support `-o table` output for `az network vhub get-effective-routes` (#3426) * add table transformer for az network vhub get-effective-routes * add table transformer for az network vhub get-effective-routes * bump up version * fix ci issues * update recordings --- src/virtual-wan/HISTORY.rst | 4 + src/virtual-wan/azext_vwan/_format.py | 18 + src/virtual-wan/azext_vwan/commands.py | 3 +- ..._azure_vhub_connection_basic_scenario.yaml | 371 ++++++++---------- ..._azure_vwan_vhub_get_effective_routes.yaml | 6 +- .../latest/test_azure_vwan_vhub_commands.py | 12 +- src/virtual-wan/setup.py | 2 +- 7 files changed, 192 insertions(+), 224 deletions(-) create mode 100644 src/virtual-wan/azext_vwan/_format.py diff --git a/src/virtual-wan/HISTORY.rst b/src/virtual-wan/HISTORY.rst index 8ae93df9fe8..e416fb84583 100644 --- a/src/virtual-wan/HISTORY.rst +++ b/src/virtual-wan/HISTORY.rst @@ -2,6 +2,10 @@ Release History =============== +0.2.6 +++++++ +* `az network vhub get-effective-routes` support `-o table` outputs. + 0.2.5 ++++++ * Migrate to Track2 SDK. diff --git a/src/virtual-wan/azext_vwan/_format.py b/src/virtual-wan/azext_vwan/_format.py new file mode 100644 index 00000000000..ab5e0b3ff7c --- /dev/null +++ b/src/virtual-wan/azext_vwan/_format.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. +# -------------------------------------------------------------------------------------------- + +from collections import OrderedDict + + +def transform_effective_route_table(result): + transformed = [] + for item in result.get('value', []): + transformed.append(OrderedDict([ + ('Address Prefix', ' '.join(item['addressPrefixes'] or [])), + ('Next Hop Type', item['nextHopType']), + ('Next Hop', ' '.join(item['nextHops'] or [])), + ('Route Origin', item['routeOrigin']) + ])) + return transformed diff --git a/src/virtual-wan/azext_vwan/commands.py b/src/virtual-wan/azext_vwan/commands.py index 5c01959037f..573f7e14d14 100644 --- a/src/virtual-wan/azext_vwan/commands.py +++ b/src/virtual-wan/azext_vwan/commands.py @@ -15,6 +15,7 @@ list_network_resource_property, get_network_resource_property_entry ) +from ._format import transform_effective_route_table ROUTE_TABLE_DEPRECATION_INFO = 'network vhub route-table' @@ -109,7 +110,7 @@ def load_command_table(self, _): g.show_command('show') g.custom_command('list', 'list_virtual_hubs') g.generic_update_command('update', custom_func_name='update_virtual_hub', setter_name="begin_create_or_update", setter_arg_name='virtual_hub_parameters', supports_no_wait=True) - g.custom_command('get-effective-routes', 'get_effective_virtual_hub_routes', supports_no_wait=True) + g.custom_command('get-effective-routes', 'get_effective_virtual_hub_routes', supports_no_wait=True, table_transformer=transform_effective_route_table) with self.command_group('network vhub connection', network_vhub_connection_sdk) as g: g.custom_command('create', 'create_hub_vnet_connection', supports_no_wait=True) diff --git a/src/virtual-wan/azext_vwan/tests/latest/recordings/test_azure_vhub_connection_basic_scenario.yaml b/src/virtual-wan/azext_vwan/tests/latest/recordings/test_azure_vhub_connection_basic_scenario.yaml index ba412cce93d..773e15cf861 100644 --- a/src/virtual-wan/azext_vwan/tests/latest/recordings/test_azure_vhub_connection_basic_scenario.yaml +++ b/src/virtual-wan/azext_vwan/tests/latest/recordings/test_azure_vhub_connection_basic_scenario.yaml @@ -13,15 +13,12 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_azure_vhub_connection000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001","name":"cli_test_azure_vhub_connection000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-04-15T09:49:25Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001","name":"cli_test_azure_vhub_connection000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-05-27T09:12:59Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -30,7 +27,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 15 Apr 2021 09:49:31 GMT + - Thu, 27 May 2021 09:13:12 GMT expires: - '-1' pragma: @@ -63,16 +60,16 @@ interactions: ParameterSetName: - -g -n User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualNetworks/clitestvnet2?api-version=2020-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualNetworks/clitestvnet2?api-version=2021-02-01 response: body: string: "{\r\n \"name\": \"clitestvnet2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualNetworks/clitestvnet2\",\r\n - \ \"etag\": \"W/\\\"32b5633a-f3a0-4054-809b-1388cb8eb848\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"c4212fa6-ba03-44cb-8078-6d7131775192\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus\",\r\n \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"resourceGuid\": \"306b3070-3b40-4988-8d9c-696ee8fdd55c\",\r\n \"addressSpace\": + \ \"resourceGuid\": \"c767c842-5274-4e5c-94f1-7096f2b15f1f\",\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 \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": @@ -81,7 +78,7 @@ interactions: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/33b480f0-dd5a-44fb-84a3-1544ac3364fd?api-version=2020-11-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/e2b50e58-2639-49e4-bfdb-087c6e40a59e?api-version=2021-02-01 cache-control: - no-cache content-length: @@ -89,7 +86,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 15 Apr 2021 09:49:39 GMT + - Thu, 27 May 2021 09:13:18 GMT expires: - '-1' pragma: @@ -102,9 +99,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - e2b8659a-c173-4491-88c1-1cccee4222ac + - d9f48e40-16c8-4280-8b41-2c484305492c x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1199' status: code: 201 message: Created @@ -122,9 +119,9 @@ interactions: ParameterSetName: - -g -n User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/33b480f0-dd5a-44fb-84a3-1544ac3364fd?api-version=2020-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/e2b50e58-2639-49e4-bfdb-087c6e40a59e?api-version=2021-02-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -136,7 +133,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 15 Apr 2021 09:49:42 GMT + - Thu, 27 May 2021 09:13:21 GMT expires: - '-1' pragma: @@ -153,7 +150,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 436614f9-bc59-42ca-9fdb-0f066dbdd8dd + - 4fa5c078-fa9c-4eee-b7ab-3cdf9cfbad46 status: code: 200 message: OK @@ -171,16 +168,16 @@ interactions: ParameterSetName: - -g -n User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualNetworks/clitestvnet2?api-version=2020-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualNetworks/clitestvnet2?api-version=2021-02-01 response: body: string: "{\r\n \"name\": \"clitestvnet2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualNetworks/clitestvnet2\",\r\n - \ \"etag\": \"W/\\\"c12a5304-4cc9-4169-ab12-3e9527563f35\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"f5f16849-e210-4d36-b650-c7c277f9ce4d\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus\",\r\n \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"306b3070-3b40-4988-8d9c-696ee8fdd55c\",\r\n \"addressSpace\": + \ \"resourceGuid\": \"c767c842-5274-4e5c-94f1-7096f2b15f1f\",\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 \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": @@ -193,9 +190,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 15 Apr 2021 09:49:42 GMT + - Thu, 27 May 2021 09:13:21 GMT etag: - - W/"c12a5304-4cc9-4169-ab12-3e9527563f35" + - W/"f5f16849-e210-4d36-b650-c7c277f9ce4d" expires: - '-1' pragma: @@ -212,7 +209,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 6af8df42-b336-474a-a309-9a85b5c267a5 + - f82e8db6-5439-4454-a6ba-d8b7ba87ec25 status: code: 200 message: OK @@ -230,15 +227,12 @@ interactions: ParameterSetName: - -n -g --type User-Agent: - - python/3.8.3 (Windows-10-10.0.18362-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 - accept-language: - - en-US + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_azure_vhub_connection000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001","name":"cli_test_azure_vhub_connection000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-04-15T09:49:25Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001","name":"cli_test_azure_vhub_connection000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-05-27T09:12:59Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -247,7 +241,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 15 Apr 2021 09:49:44 GMT + - Thu, 27 May 2021 09:13:24 GMT expires: - '-1' pragma: @@ -279,13 +273,13 @@ interactions: ParameterSetName: - -n -g --type User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualWans/clitestvwan2?api-version=2020-05-01 response: body: string: "{\r\n \"name\": \"clitestvwan2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualWans/clitestvwan2\",\r\n - \ \"etag\": \"W/\\\"ea61f4df-2695-42d4-ad2a-8d32836e75b5\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"d0623350-2071-41ac-b376-9e8d12b24276\\\"\",\r\n \"type\": \"Microsoft.Network/virtualWans\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"disableVpnEncryption\": false,\r\n \"allowBranchToBranchTraffic\": true,\r\n \"office365LocalBreakoutCategory\": @@ -294,7 +288,7 @@ interactions: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f9d65fe4-28ef-4e22-b92f-fbf55be1660c?api-version=2020-05-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8385bdcf-c07f-49aa-8083-5bc118db0048?api-version=2020-05-01 cache-control: - no-cache content-length: @@ -302,7 +296,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 15 Apr 2021 09:49:52 GMT + - Thu, 27 May 2021 09:13:29 GMT expires: - '-1' pragma: @@ -315,9 +309,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - c7414f32-6bc2-4cfa-9969-63e663b6dcbc + - 663392ab-ed31-47c2-b6f5-03ddcc471373 x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' status: code: 201 message: Created @@ -335,9 +329,9 @@ interactions: ParameterSetName: - -n -g --type User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f9d65fe4-28ef-4e22-b92f-fbf55be1660c?api-version=2020-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8385bdcf-c07f-49aa-8083-5bc118db0048?api-version=2020-05-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -349,7 +343,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 15 Apr 2021 09:50:02 GMT + - Thu, 27 May 2021 09:13:39 GMT expires: - '-1' pragma: @@ -366,7 +360,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - a2f87f56-e193-457e-b6f4-6065bc420e7d + - 769d942c-7b72-4cd9-892d-f2bb86c7b986 status: code: 200 message: OK @@ -384,13 +378,13 @@ interactions: ParameterSetName: - -n -g --type User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualWans/clitestvwan2?api-version=2020-05-01 response: body: string: "{\r\n \"name\": \"clitestvwan2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualWans/clitestvwan2\",\r\n - \ \"etag\": \"W/\\\"448550b2-b238-4a55-82a9-584c3d78f9e6\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"272fe14b-ad31-4c11-a572-686daa6f1b6e\\\"\",\r\n \"type\": \"Microsoft.Network/virtualWans\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"disableVpnEncryption\": false,\r\n \"allowBranchToBranchTraffic\": true,\r\n \"office365LocalBreakoutCategory\": @@ -403,9 +397,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 15 Apr 2021 09:50:02 GMT + - Thu, 27 May 2021 09:13:39 GMT etag: - - W/"448550b2-b238-4a55-82a9-584c3d78f9e6" + - W/"272fe14b-ad31-4c11-a572-686daa6f1b6e" expires: - '-1' pragma: @@ -422,7 +416,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - e7279c94-3275-4b78-a959-6a51f01ce99f + - 20ea4a69-60af-414b-9bf2-fe0160165bf8 status: code: 200 message: OK @@ -445,13 +439,13 @@ interactions: ParameterSetName: - -g -n --vwan --address-prefix -l --sku User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub2?api-version=2020-05-01 response: body: string: "{\r\n \"name\": \"clitestvhub2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub2\",\r\n - \ \"etag\": \"W/\\\"8c9f5fee-4f71-403e-ae08-23e5a5ffcce3\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"0e8da33c-0d33-497e-8af6-bf0edce47737\\\"\",\r\n \"type\": \"Microsoft.Network/virtualHubs\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"virtualHubRouteTableV2s\": [],\r\n \"addressPrefix\": \"10.5.0.0/16\",\r\n \"virtualRouterAsn\": @@ -463,7 +457,7 @@ interactions: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2ec472ab-0a4f-4bf6-9b43-af6c103e62b0?api-version=2020-05-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/142d68c6-8929-4213-bdff-bed8398fc345?api-version=2020-05-01 cache-control: - no-cache content-length: @@ -471,7 +465,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 15 Apr 2021 09:50:10 GMT + - Thu, 27 May 2021 09:13:47 GMT expires: - '-1' pragma: @@ -484,9 +478,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - b846c222-027d-4609-9df4-cb680336aa72 + - 88ad1b1b-8508-4b99-b5bd-fbfb61098135 x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1197' status: code: 201 message: Created @@ -504,58 +498,9 @@ interactions: ParameterSetName: - -g -n --vwan --address-prefix -l --sku User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2ec472ab-0a4f-4bf6-9b43-af6c103e62b0?api-version=2020-05-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: - - Thu, 15 Apr 2021 09:50:20 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 - x-ms-arm-service-request-id: - - 64621dfa-04d6-455c-9981-833fa5d62c42 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - network vhub create - Connection: - - keep-alive - ParameterSetName: - - -g -n --vwan --address-prefix -l --sku - User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2ec472ab-0a4f-4bf6-9b43-af6c103e62b0?api-version=2020-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/142d68c6-8929-4213-bdff-bed8398fc345?api-version=2020-05-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -567,7 +512,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 15 Apr 2021 09:50:30 GMT + - Thu, 27 May 2021 09:13:57 GMT expires: - '-1' pragma: @@ -584,7 +529,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - ca1425ec-c1a1-49fc-aa77-77072299e65c + - 7d92c4ae-ca5c-48fc-b12f-bb86cd678cfb status: code: 200 message: OK @@ -602,9 +547,9 @@ interactions: ParameterSetName: - -g -n --vwan --address-prefix -l --sku User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2ec472ab-0a4f-4bf6-9b43-af6c103e62b0?api-version=2020-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/142d68c6-8929-4213-bdff-bed8398fc345?api-version=2020-05-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -616,7 +561,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 15 Apr 2021 09:50:51 GMT + - Thu, 27 May 2021 09:14:07 GMT expires: - '-1' pragma: @@ -633,7 +578,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 161b65ae-3c0b-4986-b2c5-a17382332b99 + - 84161d94-c286-4e33-827e-feb0cee59ede status: code: 200 message: OK @@ -651,9 +596,9 @@ interactions: ParameterSetName: - -g -n --vwan --address-prefix -l --sku User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2ec472ab-0a4f-4bf6-9b43-af6c103e62b0?api-version=2020-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/142d68c6-8929-4213-bdff-bed8398fc345?api-version=2020-05-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -665,7 +610,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 15 Apr 2021 09:51:11 GMT + - Thu, 27 May 2021 09:14:28 GMT expires: - '-1' pragma: @@ -682,7 +627,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 7293ab2a-4b15-452e-a40f-ca1b1d3a49e8 + - d28e50ec-efd6-40d8-8a91-78f369953d1a status: code: 200 message: OK @@ -700,9 +645,9 @@ interactions: ParameterSetName: - -g -n --vwan --address-prefix -l --sku User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2ec472ab-0a4f-4bf6-9b43-af6c103e62b0?api-version=2020-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/142d68c6-8929-4213-bdff-bed8398fc345?api-version=2020-05-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -714,7 +659,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 15 Apr 2021 09:51:52 GMT + - Thu, 27 May 2021 09:14:50 GMT expires: - '-1' pragma: @@ -731,7 +676,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 65dc7e3f-1957-4353-a500-8d82a9120570 + - f518ba9d-c677-4fa0-9606-14f4b77cac15 status: code: 200 message: OK @@ -749,9 +694,9 @@ interactions: ParameterSetName: - -g -n --vwan --address-prefix -l --sku User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2ec472ab-0a4f-4bf6-9b43-af6c103e62b0?api-version=2020-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/142d68c6-8929-4213-bdff-bed8398fc345?api-version=2020-05-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -763,7 +708,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 15 Apr 2021 09:52:32 GMT + - Thu, 27 May 2021 09:15:30 GMT expires: - '-1' pragma: @@ -780,7 +725,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - e7e6a312-01ea-4f07-8905-99f370c4082c + - 347ffdf7-d770-48c5-a802-b4d23e12ee24 status: code: 200 message: OK @@ -798,9 +743,9 @@ interactions: ParameterSetName: - -g -n --vwan --address-prefix -l --sku User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2ec472ab-0a4f-4bf6-9b43-af6c103e62b0?api-version=2020-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/142d68c6-8929-4213-bdff-bed8398fc345?api-version=2020-05-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -812,7 +757,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 15 Apr 2021 09:53:52 GMT + - Thu, 27 May 2021 09:16:10 GMT expires: - '-1' pragma: @@ -829,7 +774,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 86c879dc-bd28-4180-89a0-69961b00599e + - 5e7137ee-8d6a-4acc-8505-c7951cf48688 status: code: 200 message: OK @@ -847,9 +792,9 @@ interactions: ParameterSetName: - -g -n --vwan --address-prefix -l --sku User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2ec472ab-0a4f-4bf6-9b43-af6c103e62b0?api-version=2020-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/142d68c6-8929-4213-bdff-bed8398fc345?api-version=2020-05-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -861,7 +806,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 15 Apr 2021 09:55:33 GMT + - Thu, 27 May 2021 09:17:30 GMT expires: - '-1' pragma: @@ -878,7 +823,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 05461fcd-396e-4d69-91fb-fc2de9e63e9e + - d4060c24-0e84-4ce1-b604-29dd40faf585 status: code: 200 message: OK @@ -896,13 +841,13 @@ interactions: ParameterSetName: - -g -n --vwan --address-prefix -l --sku User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub2?api-version=2020-05-01 response: body: string: "{\r\n \"name\": \"clitestvhub2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub2\",\r\n - \ \"etag\": \"W/\\\"3ace4739-7aa8-4a3b-8ef6-dfe3b29180ed\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"d85dce34-3e7b-4a7d-bfbf-381a52c51d7a\\\"\",\r\n \"type\": \"Microsoft.Network/virtualHubs\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"virtualHubRouteTableV2s\": [],\r\n \"addressPrefix\": \"10.5.0.0/16\",\r\n \"virtualRouterAsn\": @@ -918,7 +863,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 15 Apr 2021 09:55:34 GMT + - Thu, 27 May 2021 09:17:31 GMT expires: - '-1' pragma: @@ -935,7 +880,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 69d6015a-7913-4515-ab91-64c63dca5bc6 + - 1b91e9cf-f638-4e38-a0de-07df91554663 status: code: 200 message: OK @@ -960,15 +905,15 @@ interactions: ParameterSetName: - -g --vhub-name --name --remote-vnet User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub2/hubVirtualNetworkConnections/clitestvhubconnection2?api-version=2020-05-01 response: body: string: "{\r\n \"name\": \"clitestvhubconnection2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub2/hubVirtualNetworkConnections/clitestvhubconnection2\",\r\n - \ \"etag\": \"W/\\\"d91d5a51-42f9-4e27-a8df-4f7ab16f511d\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"378d18c5-c87d-4aef-a3b4-81d61fb965bd\\\"\",\r\n \"type\": \"Microsoft.Network/virtualHubs/hubVirtualNetworkConnections\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Updating\",\r\n \"resourceGuid\": \"1517fcf8-c7b6-4c70-823f-28917bbe8cbe\",\r\n + {\r\n \"provisioningState\": \"Updating\",\r\n \"resourceGuid\": \"6f5e023a-e39c-4240-a414-4bdaa32df05d\",\r\n \ \"routingConfiguration\": {\r\n \"associatedRouteTable\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub2/hubRouteTables/defaultRouteTable\"\r\n \ },\r\n \"propagatedRouteTables\": {\r\n \"labels\": [\r\n @@ -981,7 +926,7 @@ interactions: false,\r\n \"enableInternetSecurity\": true\r\n }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6ea00c25-dff3-44b4-a9b2-0fe0b05fa151?api-version=2020-05-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/4f729f2c-d4a0-4b3e-b728-630c274a27c9?api-version=2020-05-01 cache-control: - no-cache content-length: @@ -989,7 +934,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 15 Apr 2021 09:55:36 GMT + - Thu, 27 May 2021 09:17:33 GMT expires: - '-1' pragma: @@ -1002,9 +947,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 815bf240-3b72-44f7-bcd7-90b7ee5ad7c7 + - 55fbc3d7-f53b-4710-994e-1963c4e35804 x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1199' status: code: 201 message: Created @@ -1022,9 +967,9 @@ interactions: ParameterSetName: - -g --vhub-name --name --remote-vnet User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6ea00c25-dff3-44b4-a9b2-0fe0b05fa151?api-version=2020-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/4f729f2c-d4a0-4b3e-b728-630c274a27c9?api-version=2020-05-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1036,7 +981,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 15 Apr 2021 09:55:46 GMT + - Thu, 27 May 2021 09:17:43 GMT expires: - '-1' pragma: @@ -1053,7 +998,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - c91f1d2d-8121-41d4-b6b5-c86d954e4db2 + - 2aca8888-6b7b-42e9-a102-8d542996457f status: code: 200 message: OK @@ -1071,9 +1016,9 @@ interactions: ParameterSetName: - -g --vhub-name --name --remote-vnet User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6ea00c25-dff3-44b4-a9b2-0fe0b05fa151?api-version=2020-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/4f729f2c-d4a0-4b3e-b728-630c274a27c9?api-version=2020-05-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -1085,7 +1030,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 15 Apr 2021 09:55:57 GMT + - Thu, 27 May 2021 09:17:53 GMT expires: - '-1' pragma: @@ -1102,7 +1047,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 3c57f3e8-ad04-4adb-9e35-93abbd6928a2 + - 4e6c0ae0-9100-426d-a8c0-ab0bcfcd438d status: code: 200 message: OK @@ -1120,15 +1065,15 @@ interactions: ParameterSetName: - -g --vhub-name --name --remote-vnet User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub2/hubVirtualNetworkConnections/clitestvhubconnection2?api-version=2020-05-01 response: body: string: "{\r\n \"name\": \"clitestvhubconnection2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub2/hubVirtualNetworkConnections/clitestvhubconnection2\",\r\n - \ \"etag\": \"W/\\\"d853ace8-3574-4add-8d84-5e9b5f709ee1\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"dbd92364-3f9e-46d1-ae65-a4f0363f9e8d\\\"\",\r\n \"type\": \"Microsoft.Network/virtualHubs/hubVirtualNetworkConnections\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"resourceGuid\": \"1517fcf8-c7b6-4c70-823f-28917bbe8cbe\",\r\n + {\r\n \"provisioningState\": \"Succeeded\",\r\n \"resourceGuid\": \"6f5e023a-e39c-4240-a414-4bdaa32df05d\",\r\n \ \"routingConfiguration\": {\r\n \"associatedRouteTable\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub2/hubRouteTables/defaultRouteTable\"\r\n \ },\r\n \"propagatedRouteTables\": {\r\n \"labels\": [\r\n @@ -1147,9 +1092,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 15 Apr 2021 09:55:57 GMT + - Thu, 27 May 2021 09:17:53 GMT etag: - - W/"d853ace8-3574-4add-8d84-5e9b5f709ee1" + - W/"dbd92364-3f9e-46d1-ae65-a4f0363f9e8d" expires: - '-1' pragma: @@ -1166,7 +1111,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - ab2f00d0-54f1-4699-aca7-3449d64fa884 + - 99859914-ec30-4c9d-8e64-b314e6f53cd1 status: code: 200 message: OK @@ -1184,17 +1129,17 @@ interactions: ParameterSetName: - -g --vhub-name User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub2/hubVirtualNetworkConnections?api-version=2020-05-01 response: body: string: "{\r\n \"value\": [\r\n {\r\n \"name\": \"clitestvhubconnection2\",\r\n \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub2/hubVirtualNetworkConnections/clitestvhubconnection2\",\r\n - \ \"etag\": \"W/\\\"d853ace8-3574-4add-8d84-5e9b5f709ee1\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"dbd92364-3f9e-46d1-ae65-a4f0363f9e8d\\\"\",\r\n \"type\": \"Microsoft.Network/virtualHubs/hubVirtualNetworkConnections\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"resourceGuid\": - \"1517fcf8-c7b6-4c70-823f-28917bbe8cbe\",\r\n \"routingConfiguration\": + \"6f5e023a-e39c-4240-a414-4bdaa32df05d\",\r\n \"routingConfiguration\": {\r\n \"associatedRouteTable\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub2/hubRouteTables/defaultRouteTable\"\r\n \ },\r\n \"propagatedRouteTables\": {\r\n \"labels\": [\r\n \"default\"\r\n ],\r\n \"ids\": [\r\n @@ -1213,7 +1158,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 15 Apr 2021 09:55:59 GMT + - Thu, 27 May 2021 09:17:55 GMT expires: - '-1' pragma: @@ -1230,7 +1175,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - f7cf5f36-45c4-4025-9f31-695554d31f43 + - 9feb4634-5932-40c0-9262-78f24ac28f07 status: code: 200 message: OK @@ -1248,15 +1193,15 @@ interactions: ParameterSetName: - -g --vhub-name --name User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub2/hubVirtualNetworkConnections/clitestvhubconnection2?api-version=2020-05-01 response: body: string: "{\r\n \"name\": \"clitestvhubconnection2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub2/hubVirtualNetworkConnections/clitestvhubconnection2\",\r\n - \ \"etag\": \"W/\\\"d853ace8-3574-4add-8d84-5e9b5f709ee1\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"dbd92364-3f9e-46d1-ae65-a4f0363f9e8d\\\"\",\r\n \"type\": \"Microsoft.Network/virtualHubs/hubVirtualNetworkConnections\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"resourceGuid\": \"1517fcf8-c7b6-4c70-823f-28917bbe8cbe\",\r\n + {\r\n \"provisioningState\": \"Succeeded\",\r\n \"resourceGuid\": \"6f5e023a-e39c-4240-a414-4bdaa32df05d\",\r\n \ \"routingConfiguration\": {\r\n \"associatedRouteTable\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub2/hubRouteTables/defaultRouteTable\"\r\n \ },\r\n \"propagatedRouteTables\": {\r\n \"labels\": [\r\n @@ -1275,9 +1220,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 15 Apr 2021 09:56:00 GMT + - Thu, 27 May 2021 09:17:56 GMT etag: - - W/"d853ace8-3574-4add-8d84-5e9b5f709ee1" + - W/"dbd92364-3f9e-46d1-ae65-a4f0363f9e8d" expires: - '-1' pragma: @@ -1294,7 +1239,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 76eadcd1-b7bf-4c5e-b97a-f85b0cee6de0 + - 3808d98f-663c-4eb0-9bc3-dce83a7572e5 status: code: 200 message: OK @@ -1312,15 +1257,15 @@ interactions: ParameterSetName: - -g --vhub-name --name --labels User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub2/hubVirtualNetworkConnections/clitestvhubconnection2?api-version=2020-05-01 response: body: string: "{\r\n \"name\": \"clitestvhubconnection2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub2/hubVirtualNetworkConnections/clitestvhubconnection2\",\r\n - \ \"etag\": \"W/\\\"d853ace8-3574-4add-8d84-5e9b5f709ee1\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"dbd92364-3f9e-46d1-ae65-a4f0363f9e8d\\\"\",\r\n \"type\": \"Microsoft.Network/virtualHubs/hubVirtualNetworkConnections\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"resourceGuid\": \"1517fcf8-c7b6-4c70-823f-28917bbe8cbe\",\r\n + {\r\n \"provisioningState\": \"Succeeded\",\r\n \"resourceGuid\": \"6f5e023a-e39c-4240-a414-4bdaa32df05d\",\r\n \ \"routingConfiguration\": {\r\n \"associatedRouteTable\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub2/hubRouteTables/defaultRouteTable\"\r\n \ },\r\n \"propagatedRouteTables\": {\r\n \"labels\": [\r\n @@ -1339,9 +1284,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 15 Apr 2021 09:56:01 GMT + - Thu, 27 May 2021 09:17:58 GMT etag: - - W/"d853ace8-3574-4add-8d84-5e9b5f709ee1" + - W/"dbd92364-3f9e-46d1-ae65-a4f0363f9e8d" expires: - '-1' pragma: @@ -1358,7 +1303,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 75b1e329-3a7c-41fc-a9ed-0807a9715a2c + - e658f432-474a-4af6-9e6b-85580e8bc3db status: code: 200 message: OK @@ -1387,15 +1332,15 @@ interactions: ParameterSetName: - -g --vhub-name --name --labels User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub2/hubVirtualNetworkConnections/clitestvhubconnection2?api-version=2020-05-01 response: body: string: "{\r\n \"name\": \"clitestvhubconnection2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub2/hubVirtualNetworkConnections/clitestvhubconnection2\",\r\n - \ \"etag\": \"W/\\\"c19476a6-dc50-4249-994b-aa23e585c6a0\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"aecd5509-f616-4985-9ac3-0789c2c870d0\\\"\",\r\n \"type\": \"Microsoft.Network/virtualHubs/hubVirtualNetworkConnections\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Updating\",\r\n \"resourceGuid\": \"1517fcf8-c7b6-4c70-823f-28917bbe8cbe\",\r\n + {\r\n \"provisioningState\": \"Updating\",\r\n \"resourceGuid\": \"6f5e023a-e39c-4240-a414-4bdaa32df05d\",\r\n \ \"routingConfiguration\": {\r\n \"associatedRouteTable\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub2/hubRouteTables/defaultRouteTable\"\r\n \ },\r\n \"propagatedRouteTables\": {\r\n \"labels\": [\r\n @@ -1408,7 +1353,7 @@ interactions: false,\r\n \"enableInternetSecurity\": true\r\n }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2be83f6b-dda1-4237-88da-7d9b245da3e2?api-version=2020-05-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/758ca9d5-33e4-419e-a01f-f0938998bc74?api-version=2020-05-01 cache-control: - no-cache content-length: @@ -1416,7 +1361,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 15 Apr 2021 09:56:04 GMT + - Thu, 27 May 2021 09:17:58 GMT expires: - '-1' pragma: @@ -1433,9 +1378,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - fd06864e-6524-4791-a145-d9e24add7744 + - 8bf2c229-795c-4b7c-9f83-cf80a80a0849 x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' status: code: 200 message: OK @@ -1453,9 +1398,9 @@ interactions: ParameterSetName: - -g --vhub-name --name --labels User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2be83f6b-dda1-4237-88da-7d9b245da3e2?api-version=2020-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/758ca9d5-33e4-419e-a01f-f0938998bc74?api-version=2020-05-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -1467,7 +1412,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 15 Apr 2021 09:56:14 GMT + - Thu, 27 May 2021 09:18:09 GMT expires: - '-1' pragma: @@ -1484,7 +1429,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - ea6b7725-1bb5-42fa-86ab-84b6437d67e4 + - c76296f9-01ee-4d45-9485-97e813578189 status: code: 200 message: OK @@ -1502,15 +1447,15 @@ interactions: ParameterSetName: - -g --vhub-name --name --labels User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub2/hubVirtualNetworkConnections/clitestvhubconnection2?api-version=2020-05-01 response: body: string: "{\r\n \"name\": \"clitestvhubconnection2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub2/hubVirtualNetworkConnections/clitestvhubconnection2\",\r\n - \ \"etag\": \"W/\\\"8d11c411-d6f7-4fb3-8d90-d69e2cd6f717\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"63398077-74ea-4b86-b3f6-5dee3ab74502\\\"\",\r\n \"type\": \"Microsoft.Network/virtualHubs/hubVirtualNetworkConnections\",\r\n \"properties\": - {\r\n \"provisioningState\": \"Succeeded\",\r\n \"resourceGuid\": \"1517fcf8-c7b6-4c70-823f-28917bbe8cbe\",\r\n + {\r\n \"provisioningState\": \"Succeeded\",\r\n \"resourceGuid\": \"6f5e023a-e39c-4240-a414-4bdaa32df05d\",\r\n \ \"routingConfiguration\": {\r\n \"associatedRouteTable\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub2/hubRouteTables/defaultRouteTable\"\r\n \ },\r\n \"propagatedRouteTables\": {\r\n \"labels\": [\r\n @@ -1529,9 +1474,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 15 Apr 2021 09:56:14 GMT + - Thu, 27 May 2021 09:18:09 GMT etag: - - W/"8d11c411-d6f7-4fb3-8d90-d69e2cd6f717" + - W/"63398077-74ea-4b86-b3f6-5dee3ab74502" expires: - '-1' pragma: @@ -1548,7 +1493,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 5e5657f8-4a62-427b-a4be-a1a4652e8f5b + - 8fe6588f-6f05-4332-b0a5-7ec719de0a26 status: code: 200 message: OK @@ -1568,7 +1513,7 @@ interactions: ParameterSetName: - -g --vhub-name --name -y User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: DELETE uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub2/hubVirtualNetworkConnections/clitestvhubconnection2?api-version=2020-05-01 response: @@ -1576,17 +1521,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/4f828b6a-46d9-4353-a5d8-e2d52ed43620?api-version=2020-05-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/3daa9be7-342a-404b-94da-32e83f1baad6?api-version=2020-05-01 cache-control: - no-cache content-length: - '0' date: - - Thu, 15 Apr 2021 09:56:16 GMT + - Thu, 27 May 2021 09:18:11 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operationResults/4f828b6a-46d9-4353-a5d8-e2d52ed43620?api-version=2020-05-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operationResults/3daa9be7-342a-404b-94da-32e83f1baad6?api-version=2020-05-01 pragma: - no-cache server: @@ -1597,9 +1542,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 022b024e-ba48-4020-a7c0-c80a691fa54e + - 5f24462e-4567-492c-a74d-d595644d6cc3 x-ms-ratelimit-remaining-subscription-deletes: - - '14999' + - '14998' status: code: 202 message: Accepted @@ -1617,9 +1562,9 @@ interactions: ParameterSetName: - -g --vhub-name --name -y User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/4f828b6a-46d9-4353-a5d8-e2d52ed43620?api-version=2020-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/3daa9be7-342a-404b-94da-32e83f1baad6?api-version=2020-05-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1631,7 +1576,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 15 Apr 2021 09:56:27 GMT + - Thu, 27 May 2021 09:18:21 GMT expires: - '-1' pragma: @@ -1648,7 +1593,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 8bb835d5-a49b-4622-838e-90a7f3f99567 + - b62d85aa-c5f4-4737-ae8e-b98c2fcd2fd2 status: code: 200 message: OK @@ -1666,9 +1611,9 @@ interactions: ParameterSetName: - -g --vhub-name --name -y User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/4f828b6a-46d9-4353-a5d8-e2d52ed43620?api-version=2020-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/3daa9be7-342a-404b-94da-32e83f1baad6?api-version=2020-05-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1680,7 +1625,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 15 Apr 2021 09:56:38 GMT + - Thu, 27 May 2021 09:18:31 GMT expires: - '-1' pragma: @@ -1697,7 +1642,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 69b74f4d-dd93-47e3-ab68-8f9dbdb3c5a9 + - 2169f53a-b0c5-4c02-92c9-481d6e236fdf status: code: 200 message: OK @@ -1715,9 +1660,9 @@ interactions: ParameterSetName: - -g --vhub-name --name -y User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/4f828b6a-46d9-4353-a5d8-e2d52ed43620?api-version=2020-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/3daa9be7-342a-404b-94da-32e83f1baad6?api-version=2020-05-01 response: body: string: "{\r\n \"status\": \"InProgress\"\r\n}" @@ -1729,7 +1674,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 15 Apr 2021 09:56:58 GMT + - Thu, 27 May 2021 09:18:51 GMT expires: - '-1' pragma: @@ -1746,7 +1691,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - d89c0926-b9bb-4b48-a30d-6086dab1adfc + - 2692d331-0cce-4d5f-9613-bb6eb3fb425c status: code: 200 message: OK @@ -1764,9 +1709,9 @@ interactions: ParameterSetName: - -g --vhub-name --name -y User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/4f828b6a-46d9-4353-a5d8-e2d52ed43620?api-version=2020-05-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/3daa9be7-342a-404b-94da-32e83f1baad6?api-version=2020-05-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -1778,7 +1723,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 15 Apr 2021 09:57:38 GMT + - Thu, 27 May 2021 09:19:31 GMT expires: - '-1' pragma: @@ -1795,7 +1740,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 211ae98c-7608-4d06-bfe7-423b3c4f9b24 + - 145be535-d417-4133-a135-69972396b963 status: code: 200 message: OK @@ -1813,7 +1758,7 @@ interactions: ParameterSetName: - -g --vhub-name User-Agent: - - AZURECLI/2.21.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.3 (Windows-10-10.0.18362-SP0) + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_azure_vhub_connection000001/providers/Microsoft.Network/virtualHubs/clitestvhub2/hubVirtualNetworkConnections?api-version=2020-05-01 response: @@ -1827,7 +1772,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Thu, 15 Apr 2021 09:57:40 GMT + - Thu, 27 May 2021 09:19:33 GMT expires: - '-1' pragma: @@ -1844,7 +1789,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 089e9843-2cdc-4289-a06b-15bc14242d05 + - 81695514-7993-4510-b964-1ab88a26dba5 status: code: 200 message: OK diff --git a/src/virtual-wan/azext_vwan/tests/latest/recordings/test_azure_vwan_vhub_get_effective_routes.yaml b/src/virtual-wan/azext_vwan/tests/latest/recordings/test_azure_vwan_vhub_get_effective_routes.yaml index d7415796d27..7559c1db1ee 100644 --- a/src/virtual-wan/azext_vwan/tests/latest/recordings/test_azure_vwan_vhub_get_effective_routes.yaml +++ b/src/virtual-wan/azext_vwan/tests/latest/recordings/test_azure_vwan_vhub_get_effective_routes.yaml @@ -16,7 +16,7 @@ interactions: Content-Type: - application/json; charset=utf-8 ParameterSetName: - - -g -n --resource-type --resource-id + - -g -n --resource-type --resource-id -o User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 @@ -70,7 +70,7 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n --resource-type --resource-id + - -g -n --resource-type --resource-id -o User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 @@ -139,7 +139,7 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n --resource-type --resource-id + - -g -n --resource-type --resource-id -o User-Agent: - python/3.7.5 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2 azure-mgmt-network/10.2.0 Azure-SDK-For-Python AZURECLI/2.7.0 diff --git a/src/virtual-wan/azext_vwan/tests/latest/test_azure_vwan_vhub_commands.py b/src/virtual-wan/azext_vwan/tests/latest/test_azure_vwan_vhub_commands.py index 4d896d75f3e..ea435f1b343 100644 --- a/src/virtual-wan/azext_vwan/tests/latest/test_azure_vwan_vhub_commands.py +++ b/src/virtual-wan/azext_vwan/tests/latest/test_azure_vwan_vhub_commands.py @@ -6,7 +6,7 @@ import os from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer, record_only) - +from azure.cli.testsdk.checkers import StringContainCheck from .credential_replacer import VpnClientGeneratedURLReplacer TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) @@ -516,14 +516,14 @@ def test_azure_vwan_vhub_get_effective_routes(self): }) # You need to create a virtual hub and a P2S VPN gateway with connection, then connect them together before running the following command. - self.cmd('network vhub get-effective-routes ' + result = self.cmd('network vhub get-effective-routes ' '-g {rg} ' '-n {vhub} ' '--resource-type {resource_type} ' - '--resource-id {resource_id}', - checks=[ - self.check('length(value)', 5) - ]) + '--resource-id {resource_id} ' + '-o table') + lines = result.output.strip().split('\n') + self.assertTrue(len(lines) == 7) class P2SVpnGatewayVpnClientTestScenario(ScenarioTest): diff --git a/src/virtual-wan/setup.py b/src/virtual-wan/setup.py index c8eb694e17c..31442f4702c 100644 --- a/src/virtual-wan/setup.py +++ b/src/virtual-wan/setup.py @@ -8,7 +8,7 @@ from codecs import open from setuptools import setup, find_packages -VERSION = "0.2.5" +VERSION = "0.2.6" CLASSIFIERS = [ 'Development Status :: 4 - Beta', From ef102a74586ef15ee8d853a23640ffcdfe30723c Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Fri, 28 May 2021 11:59:14 +0800 Subject: [PATCH 64/83] [Release] Update index.json for extension [ virtual-wan ] (#3440) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=917812 Last commit: https://github.com/Azure/azure-cli-extensions/commit/ff7161991f569edc82a1f743ba9896ea82d8b5b3 --- src/index.json | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/src/index.json b/src/index.json index 10f9206b0ae..60497dc1b69 100644 --- a/src/index.json +++ b/src/index.json @@ -18378,6 +18378,51 @@ "version": "0.2.5" }, "sha256Digest": "e16f67e75abfd1d462d16cc00cca97551c63c5d6f9d4bbc838b4f331b2c1072a" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/virtual_wan-0.2.6-py2.py3-none-any.whl", + "filename": "virtual_wan-0.2.6-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.0.67", + "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": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/virtual-wan" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "virtual-wan", + "summary": "Manage virtual WAN, hubs, VPN gateways and VPN sites.", + "version": "0.2.6" + }, + "sha256Digest": "4c695172677a9397b94f335748ca1b10caa87d5dfbefe1975e73aae60bf8b69f" } ], "vm-repair": [ From 3e253a9b07c7949a2a95f03acb4a0a6ab4b785c9 Mon Sep 17 00:00:00 2001 From: Jonathan Innis Date: Thu, 27 May 2021 22:39:42 -0700 Subject: [PATCH 65/83] [k8s-extension] HotFix Broken calls to ServiceBus for Track2 models (#3439) * Create pull.yml * Update pull.yml * Update azure-pipelines.yml * Initial commit of k8s-extension * Update pipelines file * Update CODEOWNERS * Update private preview pipelines * Remove open service mesh from public release * Update pipeline files * Update public extension pipeline * Change condition variable * Add version to public preview/private preview * Update pipelines * Add different testing based on private branch * Add annotations to extension model * Update k8s-custom-pipelines.yml * Update SDKs with Updated Swagger Spec for 2020-07-01-preview (#13) * Update sdks with updated swagger spec * Update version and history rst * Reorder release history timeline * Fix ExtensionInstanceForCreate for import * remove py2 bdist support * Add custom table formatting * Remove unnecessary files * Fix style issues * Fix branch based on comments * Update identity piece manually * Don't handle defaults at the CLI level * Remove defaults from CLI client * Check null target namespace with namespace scope * Update style * Add cassandra operator and location to model * Stage Public Version of k8s-extension 0.2.0 for official release (#15) * Create pull.yml * Update pull.yml * Update azure-pipelines.yml * Initial commit of k8s-extension * Update pipelines file * Update CODEOWNERS * Update private preview pipelines * Remove open service mesh from public release * Update pipeline files * Update public extension pipeline * Change condition variable * Add version to public preview/private preview * Update pipelines * Add different testing based on private branch * Add annotations to extension model * Update k8s-custom-pipelines.yml * Update SDKs with Updated Swagger Spec for 2020-07-01-preview (#13) * Update sdks with updated swagger spec * Update version and history rst * Reorder release history timeline * Fix ExtensionInstanceForCreate for import * remove py2 bdist support * Add custom table formatting * Remove unnecessary files * Fix style issues * Fix branch based on comments * Update identity piece manually * Don't handle defaults at the CLI level * Remove defaults from CLI client * Check null target namespace with namespace scope * Update style * Add cassandra operator and location to model Co-authored-by: action@github.com * Remove custom pipelines file * Update extension description, remove private const * Update pipeline file * Disable refs docs * Update to include better create warning logs and remove update context (#20) * Update to include better create warning logs and remove update context * Remove help text for update * Fix spelling error * Update message * Fix k8s-extension conflict with private version * Fix style errors * Fix filename * add customization for microsoft.azureml.kubernetes (#23) * add customization for microsoft.azureml.kubernetes * Update release history Co-authored-by: Yue Yu Co-authored-by: jonathan-innis * Add E2E Testing from Separate branch into internal code (#26) * Add internal e2e testing * Change to testing folder * Inference CLI validation for Scoring FE (#24) * cli validation starter * added the call to the fe validation function * nodeport validation not required * test fix Co-authored-by: Jonathan Innis * legal warning added (#27) * Remove deprecated method logger.warn * Update k8s-custom-pipelines.yml for Azure Pipelines * Update k8s-custom-pipelines.yml for Azure Pipelines * Add Azure Defender to E2E testing (#28) * Add azure defender testing to e2e * Remove the debug flag * Add configuration testing * Fix pipeline failures * Make test script more intuitive * Remove parameter from testing * Fix wrong location for k8s config whl * Fix pip upgrade issue * Fix pip install upgrade issue * Fix pip install issue * delete resurce in testcase (#29) Co-authored-by: Yue Yu Co-authored-by: Jonathan Innis * Check Provider is Registered with Subscription Before Making Requests (#18) * Add check for KubernetesConfiguration * Disable pylint and rename * Update provider registration link * Update version * Remove extra blank line * Fix bug in import * only validate scoring fe when inference is enabled (#31) * only validate scoring fe when inference is enabled * Fix versioning Co-authored-by: Yue Yu Co-authored-by: jonathan-innis * Provider registration case insensitive * do not validate against scoring fe if inference is not enabled. (#33) * do not validate against scoring fe if inference is not enabled. * add inference enabled scenario * refine * increase sleeping time * fix Co-authored-by: Yue Yu Co-authored-by: Jonathan Innis * Add OSM as Public Preview Extension (#34) * Add OSM as public preview extension * Add osm testing * Add release train to tests * Fix failing osm test * Upgrade pip in integration testing * Remove ununsed import * Fix release train check in update * Parallelize E2E Testing (#36) * Add OSM as public preview extension * Add osm testing * Update test logic to parallelize * Fix test success checking * Parallelize extension testing * Better error checking logic * Fix azureml deletion * Fix private build (#40) * change amlk8s to amlarc (#42) Co-authored-by: Yue Yu * Servicebus client model changes (#44) * Servicebus client model changes * Fix testing script * Update history file and pipeline * Update min cli core version for track 2 updates * remove unneeded files for staging Co-authored-by: action@github.com Co-authored-by: yuyue9284 <15863499+yuyue9284@users.noreply.github.com> Co-authored-by: Yue Yu Co-authored-by: Lia Kazakova <58274127+liakaz@users.noreply.github.com> --- src/k8s-extension/HISTORY.rst | 6 ++++++ src/k8s-extension/azext_k8s_extension/_validators.py | 2 +- src/k8s-extension/azext_k8s_extension/azext_metadata.json | 2 +- src/k8s-extension/azext_k8s_extension/custom.py | 6 ++---- .../partner_extensions/AzureMLKubernetes.py | 8 ++++---- src/k8s-extension/setup.py | 2 +- 6 files changed, 15 insertions(+), 11 deletions(-) diff --git a/src/k8s-extension/HISTORY.rst b/src/k8s-extension/HISTORY.rst index d0e19128855..2fe8a591fb9 100644 --- a/src/k8s-extension/HISTORY.rst +++ b/src/k8s-extension/HISTORY.rst @@ -3,6 +3,12 @@ Release History =============== +0.4.2 +++++++++++++++++++ + +* Hotfix servicebus namespace creation for Track 2 changes +* Change resource tag from 'amlk8s' to 'Azure Arc-enabled ML' in microsoft.azureml.kubernetes + 0.4.1 ++++++++++++++++++ diff --git a/src/k8s-extension/azext_k8s_extension/_validators.py b/src/k8s-extension/azext_k8s_extension/_validators.py index 9941c4a117b..31078a4ddbb 100644 --- a/src/k8s-extension/azext_k8s_extension/_validators.py +++ b/src/k8s-extension/azext_k8s_extension/_validators.py @@ -4,7 +4,7 @@ # -------------------------------------------------------------------------------------------- from knack.log import get_logger -from azext_k8s_extension._client_factory import _resource_providers_client +from ._client_factory import _resource_providers_client from . import consts diff --git a/src/k8s-extension/azext_k8s_extension/azext_metadata.json b/src/k8s-extension/azext_k8s_extension/azext_metadata.json index cf7b8927a07..f5fcee1c14a 100644 --- a/src/k8s-extension/azext_k8s_extension/azext_metadata.json +++ b/src/k8s-extension/azext_k8s_extension/azext_metadata.json @@ -1,4 +1,4 @@ { "azext.isPreview": true, - "azext.minCliCoreVersion": "2.15.0" + "azext.minCliCoreVersion": "2.24.0" } diff --git a/src/k8s-extension/azext_k8s_extension/custom.py b/src/k8s-extension/azext_k8s_extension/custom.py index f2fae3f54d4..d07c0015792 100644 --- a/src/k8s-extension/azext_k8s_extension/custom.py +++ b/src/k8s-extension/azext_k8s_extension/custom.py @@ -13,10 +13,8 @@ from azure.cli.core.azclierror import ResourceNotFoundError, MutuallyExclusiveArgumentError, \ InvalidArgumentValueError, CommandNotFoundError, RequiredArgumentMissingError from azure.cli.core.commands.client_factory import get_subscription_id -from azext_k8s_extension.vendored_sdks.models import ConfigurationIdentity -from azext_k8s_extension.vendored_sdks.models import ErrorResponseException -from azext_k8s_extension.vendored_sdks.models import Scope -from azext_k8s_extension._validators import validate_cc_registration +from .vendored_sdks.models import ConfigurationIdentity, ErrorResponseException, Scope +from ._validators import validate_cc_registration from .partner_extensions.ContainerInsights import ContainerInsights from .partner_extensions.AzureDefender import AzureDefender diff --git a/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py b/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py index d907e7d3c63..3a2544a4e3b 100644 --- a/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py +++ b/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py @@ -30,7 +30,7 @@ logger = get_logger(__name__) -resource_tag = {'created_by': 'amlk8s-extension'} +resource_tag = {'created_by': 'Azure Arc-enabled ML'} class AzureMLKubernetes(PartnerExtensionModel): @@ -271,10 +271,10 @@ def _lock_resource(cmd, lock_scope, lock_level='CanNotDelete'): lock_client: azure.mgmt.resource.locks.ManagementLockClient = get_mgmt_service_client( cmd.cli_ctx, azure.mgmt.resource.locks.ManagementLockClient) # put lock on relay resource - lock_object = ManagementLockObject(level=lock_level, notes='locked by amlk8s.') + lock_object = ManagementLockObject(level=lock_level, notes='locked by amlarc.') try: lock_client.management_locks.create_or_update_by_scope( - scope=lock_scope, lock_name='amlk8s-resource-lock', parameters=lock_object) + scope=lock_scope, lock_name='amlarc-resource-lock', parameters=lock_object) except: # try to lock the resource if user has the owner privilege pass @@ -337,7 +337,7 @@ def _get_service_bus_connection_string(cmd, subscription_id, resource_group_name location=cluster_location, sku=service_bus_sku, tags=resource_tag) - async_poller = service_bus_client.namespaces.create_or_update( + async_poller = service_bus_client.namespaces.begin_create_or_update( resource_group_name, service_bus_namespace_name, service_bus_namespace) while True: async_poller.result(15) diff --git a/src/k8s-extension/setup.py b/src/k8s-extension/setup.py index 4cc69f2cbef..908ecc53009 100644 --- a/src/k8s-extension/setup.py +++ b/src/k8s-extension/setup.py @@ -32,7 +32,7 @@ # TODO: Add any additional SDK dependencies here DEPENDENCIES = [] -VERSION = "0.4.1" +VERSION = "0.4.2" with open('README.rst', 'r', encoding='utf-8') as f: README = f.read() From d5a529007646b6663068172c596525460753673e Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Fri, 28 May 2021 14:15:34 +0800 Subject: [PATCH 66/83] [Release] Update index.json for extension [ k8s-extension ] (#3441) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=918007 Last commit: https://github.com/Azure/azure-cli-extensions/commit/3e253a9b07c7949a2a95f03acb4a0a6ab4b785c9 --- src/index.json | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/src/index.json b/src/index.json index 60497dc1b69..8ad824e20c0 100644 --- a/src/index.json +++ b/src/index.json @@ -11794,6 +11794,49 @@ "version": "0.4.1" }, "sha256Digest": "10d2318f7998c5bfee637141ab89581a974893a0f062d9dc55ae5c2cc9f9b4ab" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/k8s_extension-0.4.2-py3-none-any.whl", + "filename": "k8s_extension-0.4.2-py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.24.0", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "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": "k8s-extension", + "summary": "Microsoft Azure Command-Line Tools K8s-extension Extension", + "version": "0.4.2" + }, + "sha256Digest": "aabdf00aa0cabddb142ef829e487d1b33c716ad498a4eee29389fd889e1f30d1" } ], "k8sconfiguration": [ From 9d1678e91e3e9a09837e7fe9ccf47204a29c53e7 Mon Sep 17 00:00:00 2001 From: Zunli Hu Date: Mon, 31 May 2021 10:03:47 +0800 Subject: [PATCH 67/83] {storage-preview} Add hns soft delete (#2877) * draft for hns * fix style * import pass * show work * draft update * use stable blob SDK * support list deleted and undelete * add readme * update sdk * remove personal info * fxi typo * test pass * remove validator * update SDK * update SDK * resolve SDKissue * resolve SDKissue * add more argument for list * test pass with new SDK * test pass * update help and release note * fiix linter and test * refine code * Apply suggestions from code review Co-authored-by: Yishi Wang Co-authored-by: Yishi Wang --- src/storage-preview/HISTORY.rst | 4 + src/storage-preview/README.md | 65 + .../azext_storage_preview/__init__.py | 11 +- .../azext_storage_preview/_client_factory.py | 31 +- .../azext_storage_preview/_help.py | 42 + .../azext_storage_preview/_params.py | 42 +- .../azext_storage_preview/_transformers.py | 1 + .../azext_storage_preview/_validators.py | 72 +- .../azext_storage_preview/commands.py | 28 +- .../operations/filesystem.py | 61 + .../azext_storage_preview/profiles.py | 2 + .../tests/latest/__init__.py | 3 +- ...storage_account_blob_inventory_policy.yaml | 92 +- .../test_storage_account_network_rules.yaml | 288 +- ...storage_account_resource_access_rules.yaml | 118 +- .../recordings/test_storage_adls_blob.yaml | 283 +- .../test_storage_adls_blob_move.yaml | 178 +- ...est_storage_file_upload_small_file_v2.yaml | 276 +- .../test_storage_fs_soft_delete.yaml | 905 +++++ .../tests/latest/storage_test_util.py | 14 +- .../latest/test_storage_account_scenarios.py | 4 +- .../latest/test_storage_adls_scenarios.py | 64 +- .../azext_storage_preview/track2_util.py | 25 + .../azure_storage_filedatalake/__init__.py | 6 + .../v2020_06_12/__init__.py | 103 + .../_data_lake_directory_client.py | 563 +++ .../v2020_06_12/_data_lake_file_client.py | 777 ++++ .../v2020_06_12/_data_lake_lease.py | 245 ++ .../v2020_06_12/_data_lake_service_client.py | 556 +++ .../v2020_06_12/_deserialize.py | 180 + .../v2020_06_12/_download.py | 59 + .../v2020_06_12/_file_system_client.py | 917 +++++ .../v2020_06_12/_generated/__init__.py | 16 + .../_azure_data_lake_storage_restapi.py | 91 + .../v2020_06_12/_generated/_configuration.py | 59 + .../_generated/_data_lake_storage_client.py | 67 + .../v2020_06_12/_generated/aio/__init__.py | 10 + .../aio/_azure_data_lake_storage_restapi.py | 81 + .../_generated/aio/_configuration.py | 53 + .../_generated/aio/_configuration_async.py | 63 + .../aio/_data_lake_storage_client_async.py | 68 + .../_generated/aio/operations/__init__.py | 17 + .../aio/operations/_file_system_operations.py | 631 +++ .../aio/operations/_path_operations.py | 1773 ++++++++ .../aio/operations/_service_operations.py | 148 + .../aio/operations_async/__init__.py | 20 + .../_file_system_operations_async.py | 580 +++ .../_path_operations_async.py | 1765 ++++++++ .../_service_operations_async.py | 128 + .../v2020_06_12/_generated/models/__init__.py | 83 + .../_azure_data_lake_storage_restapi_enums.py | 81 + .../models/_data_lake_storage_client_enums.py | 79 + .../v2020_06_12/_generated/models/_models.py | 672 ++++ .../_generated/models/_models_py3.py | 779 ++++ .../_generated/operations/__init__.py | 17 + .../operations/_file_system_operations.py | 643 +++ .../_generated/operations/_path_operations.py | 1789 ++++++++ .../operations/_service_operations.py | 153 + .../v2020_06_12/_generated/version.py | 13 + .../v2020_06_12/_list_paths_helper.py | 108 + .../v2020_06_12/_models.py | 1028 +++++ .../v2020_06_12/_path_client.py | 896 +++++ .../v2020_06_12/_quick_query_helper.py | 71 + .../v2020_06_12/_serialize.py | 89 + .../v2020_06_12/_shared/__init__.py | 56 + .../v2020_06_12/_shared/authentication.py | 142 + .../v2020_06_12/_shared/base_client.py | 459 +++ .../v2020_06_12/_shared/base_client_async.py | 183 + .../v2020_06_12/_shared/constants.py | 27 + .../v2020_06_12/_shared/encryption.py | 542 +++ .../v2020_06_12/_shared/models.py | 468 +++ .../v2020_06_12/_shared/parser.py | 20 + .../v2020_06_12/_shared/policies.py | 610 +++ .../v2020_06_12/_shared/policies_async.py | 220 + .../v2020_06_12/_shared/request_handlers.py | 273 ++ .../v2020_06_12/_shared/response_handlers.py | 159 + .../_shared/shared_access_signature.py | 220 + .../v2020_06_12/_shared/uploads.py | 602 +++ .../v2020_06_12/_shared/uploads_async.py | 395 ++ .../v2020_06_12/_shared_access_signature.py | 391 ++ .../v2020_06_12/_upload_helper.py | 104 + .../v2020_06_12/_version.py | 7 + .../v2020_06_12/aio/__init__.py | 24 + .../aio/_data_lake_directory_client_async.py | 551 +++ .../aio/_data_lake_file_client_async.py | 574 +++ .../v2020_06_12/aio/_data_lake_lease_async.py | 243 ++ .../aio/_data_lake_service_client_async.py | 505 +++ .../v2020_06_12/aio/_download_async.py | 59 + .../aio/_file_system_client_async.py | 867 ++++ .../v2020_06_12/aio/_list_paths_helper.py | 111 + .../v2020_06_12/aio/_models.py | 41 + .../v2020_06_12/aio/_path_client_async.py | 727 ++++ .../v2020_06_12/aio/_upload_helper.py | 103 + .../v2020_06_12/py.typed | 0 .../vendored_sdks/azure_storagev2/__init__.py | 7 +- .../vendored_sdks/blob/__init__.py | 229 ++ .../vendored_sdks/blob/_blob_client.py | 3579 +++++++++++++++++ .../blob/_blob_service_client.py | 691 ++++ .../vendored_sdks/blob/_container_client.py | 1448 +++++++ .../vendored_sdks/blob/_deserialize.py | 158 + .../vendored_sdks/blob/_download.py | 580 +++ .../vendored_sdks/blob/_generated/__init__.py | 18 + .../blob/_generated/_azure_blob_storage.py | 83 + .../blob/_generated/_configuration.py | 52 + .../blob/_generated/aio/__init__.py | 13 + .../aio/_azure_blob_storage_async.py | 84 + .../_generated/aio/_configuration_async.py | 53 + .../aio/operations_async/__init__.py | 28 + .../_append_blob_operations_async.py | 694 ++++ .../_blob_operations_async.py | 3067 ++++++++++++++ .../_block_blob_operations_async.py | 833 ++++ .../_container_operations_async.py | 1400 +++++++ .../_directory_operations_async.py | 739 ++++ .../_page_blob_operations_async.py | 1399 +++++++ .../_service_operations_async.py | 664 +++ .../blob/_generated/models/__init__.py | 229 ++ .../models/_azure_blob_storage_enums.py | 343 ++ .../blob/_generated/models/_models.py | 2009 +++++++++ .../blob/_generated/models/_models_py3.py | 2009 +++++++++ .../blob/_generated/operations/__init__.py | 28 + .../operations/_append_blob_operations.py | 694 ++++ .../_generated/operations/_blob_operations.py | 3065 ++++++++++++++ .../operations/_block_blob_operations.py | 833 ++++ .../operations/_container_operations.py | 1400 +++++++ .../operations/_directory_operations.py | 739 ++++ .../operations/_page_blob_operations.py | 1399 +++++++ .../operations/_service_operations.py | 663 +++ .../vendored_sdks/blob/_generated/version.py | 13 + .../vendored_sdks/blob/_lease.py | 331 ++ .../vendored_sdks/blob/_list_blobs_helper.py | 166 + .../vendored_sdks/blob/_models.py | 1173 ++++++ .../vendored_sdks/blob/_quick_query_helper.py | 196 + .../vendored_sdks/blob/_serialize.py | 196 + .../vendored_sdks/blob/_shared/__init__.py | 56 + .../blob/_shared/authentication.py | 142 + .../blob/_shared/avro/__init__.py | 5 + .../blob/_shared/avro/avro_io.py | 464 +++ .../blob/_shared/avro/avro_io_async.py | 448 +++ .../blob/_shared/avro/datafile.py | 266 ++ .../blob/_shared/avro/datafile_async.py | 215 + .../vendored_sdks/blob/_shared/avro/schema.py | 1221 ++++++ .../vendored_sdks/blob/_shared/base_client.py | 443 ++ .../blob/_shared/base_client_async.py | 185 + .../vendored_sdks/blob/_shared/constants.py | 27 + .../vendored_sdks/blob/_shared/encryption.py | 542 +++ .../vendored_sdks/blob/_shared/models.py | 466 +++ .../vendored_sdks/blob/_shared/parser.py | 20 + .../vendored_sdks/blob/_shared/policies.py | 610 +++ .../blob/_shared/policies_async.py | 220 + .../blob/_shared/request_handlers.py | 147 + .../blob/_shared/response_handlers.py | 159 + .../blob/_shared/shared_access_signature.py | 220 + .../vendored_sdks/blob/_shared/uploads.py | 550 +++ .../blob/_shared/uploads_async.py | 350 ++ .../blob/_shared_access_signature.py | 596 +++ .../vendored_sdks/blob/_upload_helpers.py | 296 ++ .../vendored_sdks/blob/_version.py | 7 + .../vendored_sdks/blob/aio/__init__.py | 137 + .../blob/aio/_blob_client_async.py | 2333 +++++++++++ .../blob/aio/_blob_service_client_async.py | 646 +++ .../blob/aio/_container_client_async.py | 1121 ++++++ .../vendored_sdks/blob/aio/_download_async.py | 502 +++ .../vendored_sdks/blob/aio/_lease_async.py | 327 ++ .../blob/aio/_list_blobs_helper.py | 162 + .../vendored_sdks/blob/aio/_models.py | 141 + .../vendored_sdks/blob/aio/_upload_helpers.py | 271 ++ src/storage-preview/setup.py | 4 +- 167 files changed, 70708 insertions(+), 665 deletions(-) create mode 100644 src/storage-preview/azext_storage_preview/operations/filesystem.py create mode 100644 src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_fs_soft_delete.yaml create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/__init__.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/__init__.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_data_lake_directory_client.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_data_lake_file_client.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_data_lake_lease.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_data_lake_service_client.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_deserialize.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_download.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_file_system_client.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/__init__.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/_azure_data_lake_storage_restapi.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/_configuration.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/_data_lake_storage_client.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/aio/__init__.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/aio/_azure_data_lake_storage_restapi.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/aio/_configuration.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/aio/_configuration_async.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/aio/_data_lake_storage_client_async.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/aio/operations/__init__.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/aio/operations/_file_system_operations.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/aio/operations/_path_operations.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/aio/operations/_service_operations.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/aio/operations_async/__init__.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/aio/operations_async/_file_system_operations_async.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/aio/operations_async/_path_operations_async.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/aio/operations_async/_service_operations_async.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/models/__init__.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/models/_azure_data_lake_storage_restapi_enums.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/models/_data_lake_storage_client_enums.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/models/_models.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/models/_models_py3.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/operations/__init__.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/operations/_file_system_operations.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/operations/_path_operations.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/operations/_service_operations.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/version.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_list_paths_helper.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_models.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_path_client.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_quick_query_helper.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_serialize.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/__init__.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/authentication.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/base_client.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/base_client_async.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/constants.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/encryption.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/models.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/parser.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/policies.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/policies_async.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/request_handlers.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/response_handlers.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/shared_access_signature.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/uploads.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/uploads_async.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared_access_signature.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_upload_helper.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_version.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/aio/__init__.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/aio/_data_lake_directory_client_async.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/aio/_data_lake_file_client_async.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/aio/_data_lake_lease_async.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/aio/_data_lake_service_client_async.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/aio/_download_async.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/aio/_file_system_client_async.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/aio/_list_paths_helper.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/aio/_models.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/aio/_path_client_async.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/aio/_upload_helper.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/py.typed create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/__init__.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_blob_client.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_blob_service_client.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_container_client.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_deserialize.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_download.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/__init__.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/_azure_blob_storage.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/_configuration.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/aio/__init__.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/aio/_azure_blob_storage_async.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/aio/_configuration_async.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/aio/operations_async/__init__.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/aio/operations_async/_append_blob_operations_async.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/aio/operations_async/_blob_operations_async.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/aio/operations_async/_block_blob_operations_async.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/aio/operations_async/_container_operations_async.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/aio/operations_async/_directory_operations_async.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/aio/operations_async/_page_blob_operations_async.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/aio/operations_async/_service_operations_async.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/models/__init__.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/models/_azure_blob_storage_enums.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/models/_models.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/models/_models_py3.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/operations/__init__.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/operations/_append_blob_operations.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/operations/_blob_operations.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/operations/_block_blob_operations.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/operations/_container_operations.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/operations/_directory_operations.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/operations/_page_blob_operations.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/operations/_service_operations.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/version.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_lease.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_list_blobs_helper.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_models.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_quick_query_helper.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_serialize.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/__init__.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/authentication.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/avro/__init__.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/avro/avro_io.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/avro/avro_io_async.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/avro/datafile.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/avro/datafile_async.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/avro/schema.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/base_client.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/base_client_async.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/constants.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/encryption.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/models.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/parser.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/policies.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/policies_async.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/request_handlers.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/response_handlers.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/shared_access_signature.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/uploads.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/uploads_async.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared_access_signature.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_upload_helpers.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/_version.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/aio/__init__.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/aio/_blob_client_async.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/aio/_blob_service_client_async.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/aio/_container_client_async.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/aio/_download_async.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/aio/_lease_async.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/aio/_list_blobs_helper.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/aio/_models.py create mode 100644 src/storage-preview/azext_storage_preview/vendored_sdks/blob/aio/_upload_helpers.py diff --git a/src/storage-preview/HISTORY.rst b/src/storage-preview/HISTORY.rst index 14b9b8cbb18..61f37386135 100644 --- a/src/storage-preview/HISTORY.rst +++ b/src/storage-preview/HISTORY.rst @@ -2,6 +2,10 @@ Release History =============== +0.7.3(2021-05-20) +++++++++++++++++++ +* Support soft delete for ADLS Gen2 account + 0.7.2(2021-04-09) ++++++++++++++++++ * Remove `az storage blob service-properties` as it is supported in storage-blob-preview extension and Azure CLI diff --git a/src/storage-preview/README.md b/src/storage-preview/README.md index 45275956394..99a7d21ecc9 100644 --- a/src/storage-preview/README.md +++ b/src/storage-preview/README.md @@ -306,4 +306,69 @@ az storage account file-service-properties update \ -g MyResourceGroup ``` +#### Soft Delete for ADLS Gen2 storage +##### Prepare resource +1. ADLS Gen2 storage account with soft delete support +``` +az storage account create \ + -n myadls \ + -g myresourcegroup \ + --hns +``` +To get connection string, you could use the following command: +``` +az storage account show-connection-string \ + -n myadls \ + -g myresourcegroup +``` +2. Prepare file system in the ADLS Gen2 storage account +``` +az storage fs create \ + -n myfilesystem \ + --connection-string myconnectionstring +``` +##### Enable delete retention +``` +az storage fs service-properties update \ + --delete-retention \ + --delete-retention-period 5 \ + --connection-string myconnectionstring +``` +##### Upload file to file system +``` +az storage fs file upload \ + -s ".\test.txt" \ + -p test \ + -f filesystemcetk2triyptlaa \ + --connection-string $con +``` +##### List deleted path +``` +az storage fs file delete \ + -p test \ + -f filesystemcetk2triyptlaa \ + --connection-string $con +``` +##### List deleted path +``` +az storage fs list-deleted-path \ + -f filesystemcetk2triyptlaa \ + --connection-string $con +``` +##### Undelete deleted path +``` +az storage fs undelete-path \ + -f filesystemcetk2triyptlaa \ + -f filesystemcetk2triyptlaa \ + --deleted-path-name test \ + --deleted-path-version 132549163 \ + --connection-string $con +``` +##### Disable delete retention +``` +az storage fs service-properties update \ + --delete-retention false \ + --connection-string $con +``` + If you have issues, please give feedback by opening an issue at https://github.com/Azure/azure-cli-extensions/issues. \ 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 4bf7c3b14ac..9a732e9a2c5 100644 --- a/src/storage-preview/azext_storage_preview/__init__.py +++ b/src/storage-preview/azext_storage_preview/__init__.py @@ -8,8 +8,8 @@ from azure.cli.core.commands import AzCommandGroup, AzArgumentContext import azext_storage_preview._help # pylint: disable=unused-import -from .profiles import (CUSTOM_DATA_STORAGE, CUSTOM_MGMT_PREVIEW_STORAGE, CUSTOM_DATA_STORAGE_ADLS, - CUSTOM_DATA_STORAGE_FILESHARE) +from .profiles import CUSTOM_DATA_STORAGE, CUSTOM_MGMT_PREVIEW_STORAGE, CUSTOM_DATA_STORAGE_ADLS, \ + CUSTOM_DATA_STORAGE_FILESHARE, CUSTOM_DATA_STORAGE_FILEDATALAKE class StorageCommandsLoader(AzCommandsLoader): @@ -20,6 +20,8 @@ def __init__(self, cli_ctx=None): register_resource_type('latest', CUSTOM_DATA_STORAGE_ADLS, '2019-02-02-preview') register_resource_type('latest', CUSTOM_MGMT_PREVIEW_STORAGE, '2020-08-01-preview') register_resource_type('latest', CUSTOM_DATA_STORAGE_FILESHARE, '2020-02-10') + register_resource_type('latest', CUSTOM_DATA_STORAGE_FILEDATALAKE, '2020-06-12') + storage_custom = CliCommandType(operations_tmpl='azext_storage_preview.custom#{}') super(StorageCommandsLoader, self).__init__(cli_ctx=cli_ctx, @@ -63,8 +65,9 @@ def register_content_settings_argument(self, settings_class, update, arg_group=N self.ignore('content_settings') - # The parameter process_md5 is used to determine whether it is compatible with the process_md5 parameter type of Python SDK - # When the Python SDK is fixed (Issue: https://github.com/Azure/azure-sdk-for-python/issues/15919), + # The parameter process_md5 is used to determine whether it is compatible with the process_md5 parameter + # type of Python SDK When the Python SDK is fixed + # (Issue: https://github.com/Azure/azure-sdk-for-python/issues/15919), # this parameter should not be passed in any more self.extra('content_type', default=None, help='The content MIME type.', arg_group=arg_group, validator=get_content_setting_validator(settings_class, update, guess_from_file=guess_from_file, diff --git a/src/storage-preview/azext_storage_preview/_client_factory.py b/src/storage-preview/azext_storage_preview/_client_factory.py index 98b2c0a3384..fca61a5808c 100644 --- a/src/storage-preview/azext_storage_preview/_client_factory.py +++ b/src/storage-preview/azext_storage_preview/_client_factory.py @@ -8,7 +8,9 @@ from knack.util import CLIError from knack.log import get_logger -from .profiles import CUSTOM_DATA_STORAGE, CUSTOM_MGMT_PREVIEW_STORAGE, CUSTOM_DATA_STORAGE_FILESHARE + +from .profiles import CUSTOM_DATA_STORAGE, CUSTOM_MGMT_PREVIEW_STORAGE, CUSTOM_DATA_STORAGE_FILESHARE, \ + CUSTOM_DATA_STORAGE_FILEDATALAKE MISSING_CREDENTIALS_ERROR_MESSAGE = """ Missing credentials to access storage service. The following variations are accepted: @@ -136,7 +138,6 @@ def cf_mgmt_file_services(cli_ctx, _): def get_account_url(cli_ctx, account_name, service): - from knack.util import CLIError if account_name is None: raise CLIError("Please provide storage account name or connection string.") storage_endpoint = cli_ctx.cloud.suffixes.storage_endpoint @@ -172,3 +173,29 @@ def cf_share_directory_client(cli_ctx, kwargs): def cf_share_file_client(cli_ctx, kwargs): return cf_share_client(cli_ctx, kwargs).get_file_client(file_path=kwargs.pop('file_path')) + + +def cf_adls_service(cli_ctx, kwargs): + client_kwargs = {} + t_adls_service = get_sdk(cli_ctx, CUSTOM_DATA_STORAGE_FILEDATALAKE, + '_data_lake_service_client#DataLakeServiceClient') + connection_string = kwargs.pop('connection_string', None) + account_name = kwargs.pop('account_name', None) + account_key = kwargs.pop('account_key', None) + token_credential = kwargs.pop('token_credential', None) + sas_token = kwargs.pop('sas_token', None) + # Enable NetworkTraceLoggingPolicy which logs all headers (except Authorization) without being redacted + client_kwargs['logging_enable'] = True + if connection_string: + return t_adls_service.from_connection_string(conn_str=connection_string, **client_kwargs) + + account_url = get_account_url(cli_ctx, account_name=account_name, service='dfs') + credential = account_key or sas_token or token_credential + + if account_url and credential: + return t_adls_service(account_url=account_url, credential=credential, **client_kwargs) + return None + + +def cf_adls_file_system(cli_ctx, kwargs): + return cf_adls_service(cli_ctx, kwargs).get_file_system_client(file_system=kwargs.pop('file_system_name')) diff --git a/src/storage-preview/azext_storage_preview/_help.py b/src/storage-preview/azext_storage_preview/_help.py index 1fbca22ffeb..86ae1be7195 100644 --- a/src/storage-preview/azext_storage_preview/_help.py +++ b/src/storage-preview/azext_storage_preview/_help.py @@ -394,3 +394,45 @@ - name: Upload a set of files in a local directory to a storage blob directory. text: az storage blob directory upload -c MyContainer --account-name MyStorageAccount -s "path/to/file*" -d directory --recursive """ + +helps['storage fs list-deleted-path'] = """ +type: command +short-summary: List the deleted (file or directory) paths under the specified file system. +examples: + - name: List the deleted (file or directory) paths under the specified file system.. + text: | + az storage fs list-deleted-path -f myfilesystem --account-name mystorageccount --account-key 00000000 +""" + +helps['storage fs service-properties'] = """ +type: group +short-summary: Manage storage datalake service properties. +""" + +helps['storage fs service-properties show'] = """ +type: command +short-summary: Show the properties of a storage account's datalake service, including Azure Storage Analytics. +examples: + - name: Show the properties of a storage account's datalake service + text: | + az storage fs service-properties show --account-name mystorageccount --account-key 00000000 +""" + +helps['storage fs service-properties update'] = """ +type: command +short-summary: Update the properties of a storage account's datalake service, including Azure Storage Analytics. +examples: + - name: Update the properties of a storage account's datalake service + text: | + az storage fs service-properties update --delete-retention --delete-retention-period 7 --account-name mystorageccount --account-key 00000000 +""" + +helps['storage fs undelete-path'] = """ +type: command +short-summary: Restore soft-deleted path. +long-summary: Operation will only be successful if used within the specified number of days set in the delete retention policy. +examples: + - name: Restore soft-deleted path. + text: | + az storage fs undelete-path -f myfilesystem --deleted-path-name dir --deletion-id 0000 --account-name mystorageccount --account-key 00000000 +""" diff --git a/src/storage-preview/azext_storage_preview/_params.py b/src/storage-preview/azext_storage_preview/_params.py index 652844d7b9c..ed1f98ba5cc 100644 --- a/src/storage-preview/azext_storage_preview/_params.py +++ b/src/storage-preview/azext_storage_preview/_params.py @@ -13,7 +13,7 @@ validate_storage_data_plane_list, process_resource_group, add_upload_progress_callback) -from .profiles import CUSTOM_MGMT_PREVIEW_STORAGE +from .profiles import CUSTOM_MGMT_PREVIEW_STORAGE, CUSTOM_DATA_STORAGE_FILEDATALAKE def load_arguments(self, _): # pylint: disable=too-many-locals, too-many-statements @@ -54,6 +54,9 @@ def load_arguments(self, _): # pylint: disable=too-many-locals, too-many-statem 'e.g."user::rwx,user:john.doe@contoso:rwx,group::r--,other::---,mask::rwx".') progress_type = CLIArgumentType(help='Include this flag to disable progress reporting for the command.', action='store_true', validator=add_upload_progress_callback) + timeout_type = CLIArgumentType( + help='Request timeout in seconds. Applies to each call to the service.', type=int + ) with self.argument_context('storage') as c: c.argument('container_name', container_name_type) @@ -157,15 +160,15 @@ def load_arguments(self, _): # pylint: disable=too-many-locals, too-many-statem 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.') + help='Enable 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.') + help='Enable 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,' + help='Represent 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 azcopy blob upload') as c: @@ -374,3 +377,34 @@ def load_arguments(self, _): # pylint: disable=too-many-locals, too-many-statem c.register_content_settings_argument(t_file_content_settings, update=False, arg_group='Content Settings', process_md5=True) c.extra('no_progress', progress_type) + + with self.argument_context('storage fs service-properties update', resource_type=CUSTOM_DATA_STORAGE_FILEDATALAKE, + min_api='2020-06-12') as c: + c.argument('delete_retention', arg_type=get_three_state_flag(), arg_group='Soft Delete', + help='Enable soft-delete.') + c.argument('delete_retention_period', type=int, arg_group='Soft Delete', + options_list=['--delete-retention-period', '--period'], + help='Number of days that soft-deleted fs will be retained. Must be in range [1,365].') + c.argument('enable_static_website', options_list=['--static-website'], arg_group='Static Website', + arg_type=get_three_state_flag(), + help='Enable static-website.') + c.argument('index_document', help='Represent 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='Represent 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.') + + for item in ['list-deleted-path', 'undelete-path']: + with self.argument_context('storage fs {}'.format(item)) as c: + c.extra('file_system_name', options_list=['--file-system', '-f'], + help="File system name.", required=True) + c.extra('timeout', timeout_type) + + with self.argument_context('storage fs list-deleted-path') as c: + c.argument('path_prefix', help='Filter the results to return only paths under the specified path.') + c.argument('num_results', type=int, help='Specify the maximum number to return.') + c.argument('marker', help='A string value that identifies the portion of the list of containers to be ' + 'returned with the next listing operation. The operation returns the NextMarker value within ' + 'the response body if the listing operation did not return all containers remaining to be listed ' + 'with the current page. If specified, this generator will begin returning results from the point ' + 'where the previous generator stopped.') diff --git a/src/storage-preview/azext_storage_preview/_transformers.py b/src/storage-preview/azext_storage_preview/_transformers.py index 6701d696a39..daeb724b61e 100644 --- a/src/storage-preview/azext_storage_preview/_transformers.py +++ b/src/storage-preview/azext_storage_preview/_transformers.py @@ -122,5 +122,6 @@ def transform_storage_list_output(result): return list(result) +# pylint: disable=unused-argument def transform_file_upload(result): return None diff --git a/src/storage-preview/azext_storage_preview/_validators.py b/src/storage-preview/azext_storage_preview/_validators.py index b42ac0bfb83..440597a2428 100644 --- a/src/storage-preview/azext_storage_preview/_validators.py +++ b/src/storage-preview/azext_storage_preview/_validators.py @@ -76,59 +76,85 @@ def validate_bypass(namespace): namespace.bypass = ', '.join(namespace.bypass) if isinstance(namespace.bypass, list) else namespace.bypass +def get_config_value(cmd, section, key, default): + return cmd.cli_ctx.config.get(section, key, default) + + +def is_storagev2(import_prefix): + return import_prefix.startswith('azure.multiapi.storagev2.') or 'datalake' in import_prefix + + def validate_client_parameters(cmd, namespace): """ Retrieves storage connection parameters from environment variables and parses out connection string into account name and key """ n = namespace - def get_config_value(section, key, default): - return cmd.cli_ctx.config.get(section, key, default) - if hasattr(n, 'auth_mode'): - auth_mode = n.auth_mode or get_config_value('storage', 'auth_mode', None) + auth_mode = n.auth_mode or get_config_value(cmd, 'storage', 'auth_mode', None) del n.auth_mode if not n.account_name: - n.account_name = get_config_value('storage', 'account', None) + n.account_name = get_config_value(cmd, 'storage', 'account', None) if auth_mode == 'login': - n.token_credential = _create_token_credential(cmd.cli_ctx) - - # give warning if there are account key args being ignored - account_key_args = [n.account_key and "--account-key", n.sas_token and "--sas-token", - n.connection_string and "--connection-string"] - account_key_args = [arg for arg in account_key_args if arg] - - if account_key_args: - logger.warning('In "login" auth mode, the following arguments are ignored: %s', - ' ,'.join(account_key_args)) - return + prefix = cmd.command_kwargs['resource_type'].import_prefix + # is_storagv2() is used to distinguish if the command is in track2 SDK + # If yes, we will use get_login_credentials() as token credential + if is_storagev2(prefix): + from azure.cli.core._profile import Profile + profile = Profile(cli_ctx=cmd.cli_ctx) + n.token_credential, _, _ = profile.get_login_credentials(subscription_id=n._subscription) + # Otherwise, we will assume it is in track1 and keep previous token updater + else: + n.token_credential = _create_token_credential(cmd.cli_ctx) + + if hasattr(n, 'token_credential') and n.token_credential: + # give warning if there are account key args being ignored + account_key_args = [n.account_key and "--account-key", n.sas_token and "--sas-token", + n.connection_string and "--connection-string"] + account_key_args = [arg for arg in account_key_args if arg] + + if account_key_args: + logger.warning('In "login" auth mode, the following arguments are ignored: %s', + ' ,'.join(account_key_args)) + return if not n.connection_string: - n.connection_string = get_config_value('storage', 'connection_string', None) + n.connection_string = get_config_value(cmd, 'storage', 'connection_string', None) # if connection string supplied or in environment variables, extract account key and name if n.connection_string: conn_dict = validate_key_value_pairs(n.connection_string) n.account_name = conn_dict.get('AccountName') n.account_key = conn_dict.get('AccountKey') - if not n.account_name or not n.account_key: - raise CLIError('Connection-string: %s, is malformed. Some shell environments require the ' - 'connection string to be surrounded by quotes.' % n.connection_string) + n.sas_token = conn_dict.get('SharedAccessSignature') # otherwise, simply try to retrieve the remaining variables from environment variables if not n.account_name: - n.account_name = get_config_value('storage', 'account', None) + n.account_name = get_config_value(cmd, 'storage', 'account', None) if not n.account_key: - n.account_key = get_config_value('storage', 'key', None) + n.account_key = get_config_value(cmd, 'storage', 'key', None) if not n.sas_token: - n.sas_token = get_config_value('storage', 'sas_token', None) + n.sas_token = get_config_value(cmd, 'storage', 'sas_token', None) # strip the '?' from sas token. the portal and command line are returns sas token in different # forms if n.sas_token: n.sas_token = n.sas_token.lstrip('?') + # account name with secondary + if n.account_name and n.account_name.endswith('-secondary'): + n.location_mode = 'secondary' + n.account_name = n.account_name[:-10] + # if account name is specified but no key, attempt to query if n.account_name and not n.account_key and not n.sas_token: + logger.warning('There are no credentials provided in your command and environment, we will query for the ' + 'account key inside your storage account. \nPlease provide --connection-string, ' + '--account-key or --sas-token as credentials, or use `--auth-mode login` if you ' + 'have required RBAC roles in your command. For more information about RBAC roles ' + 'in storage, visit ' + 'https://docs.microsoft.com/en-us/azure/storage/common/storage-auth-aad-rbac-cli. \n' + 'Setting the corresponding environment variables can avoid inputting credentials in ' + 'your command. Please use --help to get more information.') n.account_key = _query_account_key(cmd.cli_ctx, n.account_name) diff --git a/src/storage-preview/azext_storage_preview/commands.py b/src/storage-preview/azext_storage_preview/commands.py index 5182560d391..d68777fef1c 100644 --- a/src/storage-preview/azext_storage_preview/commands.py +++ b/src/storage-preview/azext_storage_preview/commands.py @@ -7,9 +7,10 @@ from azure.cli.core.commands.arm import show_exception_handler from ._client_factory import (cf_sa, cf_blob_data_gen_update, blob_data_service_factory, adls_blob_data_service_factory, - cf_sa_blob_inventory, cf_mgmt_file_services, cf_share_client, cf_share_file_client) + cf_sa_blob_inventory, cf_mgmt_file_services, cf_share_client, cf_share_file_client, + cf_adls_service, cf_adls_file_system) from .profiles import (CUSTOM_DATA_STORAGE, CUSTOM_DATA_STORAGE_ADLS, CUSTOM_MGMT_PREVIEW_STORAGE, - CUSTOM_DATA_STORAGE_FILESHARE) + CUSTOM_DATA_STORAGE_FILESHARE, CUSTOM_DATA_STORAGE_FILEDATALAKE) def load_command_table(self, _): # pylint: disable=too-many-locals, too-many-statements @@ -205,3 +206,26 @@ def _adls_deprecate_message(self): g.storage_custom_command('upload', 'storage_file_upload', transform=transform_file_upload) g.storage_custom_command('upload-batch', 'storage_file_upload_batch', custom_command_type=get_custom_sdk('file', client_factory=cf_share_client)) + + adls_fs_service_sdk = CliCommandType( + operations_tmpl='azext_storage_preview.vendored_sdks.azure_storage_filedatalake._data_lake_service_client#DataLakeServiceClient.{}', + client_factory=cf_adls_service, + resource_type=CUSTOM_DATA_STORAGE_FILEDATALAKE + ) + + with self.command_group('storage fs service-properties', command_type=adls_fs_service_sdk, + custom_command_type=get_custom_sdk('filesystem', cf_adls_service), + resource_type=CUSTOM_DATA_STORAGE_FILEDATALAKE, min_api='2020-06-12', is_preview=True) as g: + g.storage_command_oauth('show', 'get_service_properties', exception_handler=show_exception_handler) + g.storage_custom_command_oauth('update', 'set_service_properties') + + adls_fs_sdk = CliCommandType( + operations_tmpl='azext_storage_preview.vendored_sdks.azure_storage_filedatalake._file_system_client#FileSystemClient.{}', + client_factory=cf_adls_file_system, + resource_type=CUSTOM_DATA_STORAGE_FILEDATALAKE + ) + with self.command_group('storage fs', command_type=adls_fs_sdk, + custom_command_type=get_custom_sdk('filesystem', cf_adls_file_system), + resource_type=CUSTOM_DATA_STORAGE_FILEDATALAKE, min_api='2020-06-12', is_preview=True) as g: + g.storage_custom_command_oauth('list-deleted-path', 'list_deleted_path') + g.storage_command_oauth('undelete-path', '_undelete_path') diff --git a/src/storage-preview/azext_storage_preview/operations/filesystem.py b/src/storage-preview/azext_storage_preview/operations/filesystem.py new file mode 100644 index 00000000000..39663ca23cd --- /dev/null +++ b/src/storage-preview/azext_storage_preview/operations/filesystem.py @@ -0,0 +1,61 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from knack.util import CLIError +from ..profiles import CUSTOM_DATA_STORAGE_FILEDATALAKE + + +def list_deleted_path(client, marker=None, num_results=None, path_prefix=None, timeout=None, **kwargs): + from ..track2_util import list_generator + + generator = client.list_deleted_paths(path_prefix=path_prefix, timeout=timeout, max_results=num_results, **kwargs) + + pages = generator.by_page(continuation_token=marker) # BlobPropertiesPaged + result = list_generator(pages=pages, num_results=num_results) + + return result + + +def set_service_properties(cmd, client, delete_retention=None, delete_retention_period=None, + enable_static_website=False, index_document=None, error_document_404_path=None): + parameters = client.get_service_properties() + # update + kwargs = {} + delete_retention_policy = cmd.get_models('_models#RetentionPolicy', resource_type=CUSTOM_DATA_STORAGE_FILEDATALAKE)() + if parameters.get('delete_retention_policy', None): + delete_retention_policy = parameters['delete_retention_policy'] + if delete_retention is not None: + delete_retention_policy.enabled = delete_retention + if delete_retention_period is not None: + delete_retention_policy.days = delete_retention_period + delete_retention_policy.allow_permanent_delete = False + + static_website = cmd.get_models('_models#StaticWebsite', resource_type=CUSTOM_DATA_STORAGE_FILEDATALAKE)() + if parameters.get('static_website', None): + static_website = parameters['static_website'] + + if static_website is not None: + static_website.enabled = enable_static_website + if index_document is not None: + static_website.index_document = index_document + if error_document_404_path is not None: + static_website.error_document_404_path = error_document_404_path + + if parameters.get('hour_metrics', None): + kwargs['hour_metrics'] = parameters['hour_metrics'] + if parameters.get('logging', None): + kwargs['logging'] = parameters['logging'] + if parameters.get('minute_metrics', None): + kwargs['minute_metrics'] = parameters['minute_metrics'] + if parameters.get('cors', None): + kwargs['cors'] = parameters['cors'] + + # checks + if delete_retention_policy and delete_retention_policy.enabled and not delete_retention_policy.days: + raise CLIError("must specify days-retained") + + client.set_service_properties(delete_retention_policy=delete_retention_policy, static_website=static_website, + **kwargs) + return client.get_service_properties() diff --git a/src/storage-preview/azext_storage_preview/profiles.py b/src/storage-preview/azext_storage_preview/profiles.py index e6f1fb57d6f..d7d214a190d 100644 --- a/src/storage-preview/azext_storage_preview/profiles.py +++ b/src/storage-preview/azext_storage_preview/profiles.py @@ -12,3 +12,5 @@ 'StorageManagementClient') CUSTOM_DATA_STORAGE_FILESHARE = CustomResourceType('azext_storage_preview.vendored_sdks.azure_storagev2.fileshare', None) +CUSTOM_DATA_STORAGE_FILEDATALAKE = CustomResourceType('azext_storage_preview.vendored_sdks.azure_storage_filedatalake', + None) 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 69793457c2a..4173b34be53 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/__init__.py +++ b/src/storage-preview/azext_storage_preview/tests/latest/__init__.py @@ -4,5 +4,6 @@ # -------------------------------------------------------------------------------------------- from azure.cli.core.profiles import register_resource_type -from ...profiles import CUSTOM_MGMT_PREVIEW_STORAGE +from ...profiles import CUSTOM_MGMT_PREVIEW_STORAGE, CUSTOM_DATA_STORAGE_FILEDATALAKE register_resource_type('latest', CUSTOM_MGMT_PREVIEW_STORAGE, '2020-08-01-preview') +register_resource_type('latest', CUSTOM_DATA_STORAGE_FILEDATALAKE, '2020-06-12') diff --git a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_account_blob_inventory_policy.yaml b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_account_blob_inventory_policy.yaml index 2147aaefda1..ae3b76b687f 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_account_blob_inventory_policy.yaml +++ b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_account_blob_inventory_policy.yaml @@ -15,12 +15,12 @@ interactions: ParameterSetName: - -n -g --query -o User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/17.1.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_blob_inventory000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2021-02-01&$expand=kerb + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_blob_inventory000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2021-04-01&$expand=kerb response: body: - string: '{"keys":[{"creationTime":"2021-04-28T08:46:15.4646357Z","keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"creationTime":"2021-04-28T08:46:15.4646357Z","keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' + string: '{"keys":[{"creationTime":"2021-05-20T06:29:43.9323587Z","keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"creationTime":"2021-05-20T06:29:43.9323587Z","keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' headers: cache-control: - no-cache @@ -29,7 +29,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:46:36 GMT + - Thu, 20 May 2021 06:30:05 GMT expires: - '-1' pragma: @@ -45,7 +45,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' + - '11997' status: code: 200 message: OK @@ -57,9 +57,9 @@ interactions: Content-Length: - '0' User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.7; Windows 10) AZURECLI/2.22.1 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Wed, 28 Apr 2021 08:46:37 GMT + - Thu, 20 May 2021 06:30:06 GMT x-ms-version: - '2018-11-09' method: PUT @@ -71,11 +71,11 @@ interactions: content-length: - '0' date: - - Wed, 28 Apr 2021 08:46:39 GMT + - Thu, 20 May 2021 06:30:08 GMT etag: - - '"0x8D90A222473B17B"' + - '"0x8D91B58B743140F"' last-modified: - - Wed, 28 Apr 2021 08:46:40 GMT + - Thu, 20 May 2021 06:30:09 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -103,21 +103,21 @@ interactions: ParameterSetName: - --account-name -g --policy User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_blob_inventory000001/providers/Microsoft.Storage/storageAccounts/clitest000002/inventoryPolicies/default?api-version=2020-08-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_blob_inventory000001/providers/Microsoft.Storage/storageAccounts/clitest000002/inventoryPolicies/default","name":"DefaultInventoryPolicy","type":"Microsoft.Storage/storageAccounts/inventoryPolicies","properties":{"lastModifiedTime":"2021-04-28T08:46:42.3233993Z","policy":{"enabled":true,"type":"Inventory","destination":"mycontainer","rules":[{"enabled":true,"name":"inventoryPolicyRule1","definition":{"filters":{"blobTypes":["blockBlob"]}}}]}}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_blob_inventory000001/providers/Microsoft.Storage/storageAccounts/clitest000002/inventoryPolicies/default","name":"DefaultInventoryPolicy","type":"Microsoft.Storage/storageAccounts/inventoryPolicies","properties":{"lastModifiedTime":"2021-05-20T06:30:11.3234716Z","policy":{"enabled":true,"type":"Inventory","destination":"mycontainer","rules":[{"enabled":true,"name":"inventoryPolicyRule1","definition":{"filters":{"blobTypes":["blockBlob"],"prefixMatch":[]}}}]}}}' headers: cache-control: - no-cache content-length: - - '587' + - '604' content-type: - application/json date: - - Wed, 28 Apr 2021 08:46:42 GMT + - Thu, 20 May 2021 06:30:11 GMT expires: - '-1' pragma: @@ -133,7 +133,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1197' status: code: 200 message: OK @@ -151,21 +151,21 @@ interactions: ParameterSetName: - --account-name -g User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_blob_inventory000001/providers/Microsoft.Storage/storageAccounts/clitest000002/inventoryPolicies/default?api-version=2020-08-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_blob_inventory000001/providers/Microsoft.Storage/storageAccounts/clitest000002/inventoryPolicies/default","name":"DefaultInventoryPolicy","type":"Microsoft.Storage/storageAccounts/inventoryPolicies","properties":{"lastModifiedTime":"2021-04-28T08:46:42.3233993Z","policy":{"enabled":true,"type":"Inventory","destination":"mycontainer","rules":[{"enabled":true,"name":"inventoryPolicyRule1","definition":{"filters":{"blobTypes":["blockBlob"]}}}]}}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_blob_inventory000001/providers/Microsoft.Storage/storageAccounts/clitest000002/inventoryPolicies/default","name":"DefaultInventoryPolicy","type":"Microsoft.Storage/storageAccounts/inventoryPolicies","properties":{"lastModifiedTime":"2021-05-20T06:30:11.3234716Z","policy":{"enabled":true,"type":"Inventory","destination":"mycontainer","rules":[{"enabled":true,"name":"inventoryPolicyRule1","definition":{"filters":{"blobTypes":["blockBlob"],"prefixMatch":[]}}}]}}}' headers: cache-control: - no-cache content-length: - - '587' + - '604' content-type: - application/json date: - - Wed, 28 Apr 2021 08:46:43 GMT + - Thu, 20 May 2021 06:30:13 GMT expires: - '-1' pragma: @@ -197,9 +197,9 @@ interactions: ParameterSetName: - -n -g --enable-versioning User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/17.1.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_blob_inventory000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2021-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_blob_inventory000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2021-04-01 response: body: string: '{"sku":{"name":"Standard_LRS","tier":"Standard"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_blob_inventory000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices","properties":{"cors":{"corsRules":[]},"deleteRetentionPolicy":{"enabled":false}}}' @@ -211,7 +211,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:46:44 GMT + - Thu, 20 May 2021 06:30:14 GMT expires: - '-1' pragma: @@ -248,9 +248,9 @@ interactions: ParameterSetName: - -n -g --enable-versioning User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/17.1.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_blob_inventory000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2021-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_blob_inventory000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default?api-version=2021-04-01 response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_blob_inventory000001/providers/Microsoft.Storage/storageAccounts/clitest000002/blobServices/default","name":"default","type":"Microsoft.Storage/storageAccounts/blobServices","properties":{"cors":{"corsRules":[]},"deleteRetentionPolicy":{"enabled":false},"isVersioningEnabled":true}}' @@ -262,7 +262,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:46:44 GMT + - Thu, 20 May 2021 06:30:15 GMT expires: - '-1' pragma: @@ -278,7 +278,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1196' status: code: 200 message: OK @@ -304,12 +304,12 @@ interactions: ParameterSetName: - --account-name -g --policy User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_blob_inventory000001/providers/Microsoft.Storage/storageAccounts/clitest000002/inventoryPolicies/default?api-version=2020-08-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_blob_inventory000001/providers/Microsoft.Storage/storageAccounts/clitest000002/inventoryPolicies/default","name":"DefaultInventoryPolicy","type":"Microsoft.Storage/storageAccounts/inventoryPolicies","properties":{"lastModifiedTime":"2021-04-28T08:46:46.2235568Z","policy":{"enabled":true,"type":"Inventory","destination":"mycontainer","rules":[{"enabled":true,"name":"inventoryPolicyRule1","definition":{"filters":{"blobTypes":["blockBlob"],"prefixMatch":["inventoryprefix1","inventoryprefix2"],"includeBlobVersions":true,"includeSnapshots":true}}}]}}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_blob_inventory000001/providers/Microsoft.Storage/storageAccounts/clitest000002/inventoryPolicies/default","name":"DefaultInventoryPolicy","type":"Microsoft.Storage/storageAccounts/inventoryPolicies","properties":{"lastModifiedTime":"2021-05-20T06:30:17.5361977Z","policy":{"enabled":true,"type":"Inventory","destination":"mycontainer","rules":[{"enabled":true,"name":"inventoryPolicyRule1","definition":{"filters":{"blobTypes":["blockBlob"],"prefixMatch":["inventoryprefix1","inventoryprefix2"],"includeBlobVersions":true,"includeSnapshots":true}}}]}}}' headers: cache-control: - no-cache @@ -318,7 +318,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:46:46 GMT + - Thu, 20 May 2021 06:30:17 GMT expires: - '-1' pragma: @@ -352,12 +352,12 @@ interactions: ParameterSetName: - --account-name -g User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_blob_inventory000001/providers/Microsoft.Storage/storageAccounts/clitest000002/inventoryPolicies/default?api-version=2020-08-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_blob_inventory000001/providers/Microsoft.Storage/storageAccounts/clitest000002/inventoryPolicies/default","name":"DefaultInventoryPolicy","type":"Microsoft.Storage/storageAccounts/inventoryPolicies","properties":{"lastModifiedTime":"2021-04-28T08:46:46.2235568Z","policy":{"enabled":true,"type":"Inventory","destination":"mycontainer","rules":[{"enabled":true,"name":"inventoryPolicyRule1","definition":{"filters":{"blobTypes":["blockBlob"],"prefixMatch":["inventoryprefix1","inventoryprefix2"],"includeBlobVersions":true,"includeSnapshots":true}}}]}}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_blob_inventory000001/providers/Microsoft.Storage/storageAccounts/clitest000002/inventoryPolicies/default","name":"DefaultInventoryPolicy","type":"Microsoft.Storage/storageAccounts/inventoryPolicies","properties":{"lastModifiedTime":"2021-05-20T06:30:17.5361977Z","policy":{"enabled":true,"type":"Inventory","destination":"mycontainer","rules":[{"enabled":true,"name":"inventoryPolicyRule1","definition":{"filters":{"blobTypes":["blockBlob"],"prefixMatch":["inventoryprefix1","inventoryprefix2"],"includeBlobVersions":true,"includeSnapshots":true}}}]}}}' headers: cache-control: - no-cache @@ -366,7 +366,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:46:47 GMT + - Thu, 20 May 2021 06:30:18 GMT expires: - '-1' pragma: @@ -398,12 +398,12 @@ interactions: ParameterSetName: - --account-name -g --set User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_blob_inventory000001/providers/Microsoft.Storage/storageAccounts/clitest000002/inventoryPolicies/default?api-version=2020-08-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_blob_inventory000001/providers/Microsoft.Storage/storageAccounts/clitest000002/inventoryPolicies/default","name":"DefaultInventoryPolicy","type":"Microsoft.Storage/storageAccounts/inventoryPolicies","properties":{"lastModifiedTime":"2021-04-28T08:46:46.2235568Z","policy":{"enabled":true,"type":"Inventory","destination":"mycontainer","rules":[{"enabled":true,"name":"inventoryPolicyRule1","definition":{"filters":{"blobTypes":["blockBlob"],"prefixMatch":["inventoryprefix1","inventoryprefix2"],"includeBlobVersions":true,"includeSnapshots":true}}}]}}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_blob_inventory000001/providers/Microsoft.Storage/storageAccounts/clitest000002/inventoryPolicies/default","name":"DefaultInventoryPolicy","type":"Microsoft.Storage/storageAccounts/inventoryPolicies","properties":{"lastModifiedTime":"2021-05-20T06:30:17.5361977Z","policy":{"enabled":true,"type":"Inventory","destination":"mycontainer","rules":[{"enabled":true,"name":"inventoryPolicyRule1","definition":{"filters":{"blobTypes":["blockBlob"],"prefixMatch":["inventoryprefix1","inventoryprefix2"],"includeBlobVersions":true,"includeSnapshots":true}}}]}}}' headers: cache-control: - no-cache @@ -412,7 +412,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:46:48 GMT + - Thu, 20 May 2021 06:30:19 GMT expires: - '-1' pragma: @@ -451,12 +451,12 @@ interactions: ParameterSetName: - --account-name -g --set User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_blob_inventory000001/providers/Microsoft.Storage/storageAccounts/clitest000002/inventoryPolicies/default?api-version=2020-08-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_blob_inventory000001/providers/Microsoft.Storage/storageAccounts/clitest000002/inventoryPolicies/default","name":"DefaultInventoryPolicy","type":"Microsoft.Storage/storageAccounts/inventoryPolicies","properties":{"lastModifiedTime":"2021-04-28T08:46:50.0893480Z","policy":{"enabled":true,"type":"Inventory","destination":"mycontainer","rules":[{"enabled":true,"name":"newname","definition":{"filters":{"blobTypes":["blockBlob"],"prefixMatch":["inventoryprefix1","inventoryprefix2"],"includeBlobVersions":true,"includeSnapshots":true}}}]}}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_blob_inventory000001/providers/Microsoft.Storage/storageAccounts/clitest000002/inventoryPolicies/default","name":"DefaultInventoryPolicy","type":"Microsoft.Storage/storageAccounts/inventoryPolicies","properties":{"lastModifiedTime":"2021-05-20T06:30:21.7466235Z","policy":{"enabled":true,"type":"Inventory","destination":"mycontainer","rules":[{"enabled":true,"name":"newname","definition":{"filters":{"blobTypes":["blockBlob"],"prefixMatch":["inventoryprefix1","inventoryprefix2"],"includeBlobVersions":true,"includeSnapshots":true}}}]}}}' headers: cache-control: - no-cache @@ -465,7 +465,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:46:49 GMT + - Thu, 20 May 2021 06:30:21 GMT expires: - '-1' pragma: @@ -499,12 +499,12 @@ interactions: ParameterSetName: - --account-name -g User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_blob_inventory000001/providers/Microsoft.Storage/storageAccounts/clitest000002/inventoryPolicies/default?api-version=2020-08-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_blob_inventory000001/providers/Microsoft.Storage/storageAccounts/clitest000002/inventoryPolicies/default","name":"DefaultInventoryPolicy","type":"Microsoft.Storage/storageAccounts/inventoryPolicies","properties":{"lastModifiedTime":"2021-04-28T08:46:50.0893480Z","policy":{"enabled":true,"type":"Inventory","destination":"mycontainer","rules":[{"enabled":true,"name":"newname","definition":{"filters":{"blobTypes":["blockBlob"],"prefixMatch":["inventoryprefix1","inventoryprefix2"],"includeBlobVersions":true,"includeSnapshots":true}}}]}}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_blob_inventory000001/providers/Microsoft.Storage/storageAccounts/clitest000002/inventoryPolicies/default","name":"DefaultInventoryPolicy","type":"Microsoft.Storage/storageAccounts/inventoryPolicies","properties":{"lastModifiedTime":"2021-05-20T06:30:21.7466235Z","policy":{"enabled":true,"type":"Inventory","destination":"mycontainer","rules":[{"enabled":true,"name":"newname","definition":{"filters":{"blobTypes":["blockBlob"],"prefixMatch":["inventoryprefix1","inventoryprefix2"],"includeBlobVersions":true,"includeSnapshots":true}}}]}}}' headers: cache-control: - no-cache @@ -513,7 +513,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:46:50 GMT + - Thu, 20 May 2021 06:30:23 GMT expires: - '-1' pragma: @@ -547,7 +547,7 @@ interactions: ParameterSetName: - --account-name -g -y User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: DELETE uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_blob_inventory000001/providers/Microsoft.Storage/storageAccounts/clitest000002/inventoryPolicies/default?api-version=2020-08-01-preview response: @@ -561,7 +561,7 @@ interactions: content-type: - text/plain; charset=utf-8 date: - - Wed, 28 Apr 2021 08:46:51 GMT + - Thu, 20 May 2021 06:30:23 GMT expires: - '-1' pragma: @@ -573,7 +573,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14997' + - '14999' status: code: 200 message: OK @@ -591,7 +591,7 @@ interactions: ParameterSetName: - --account-name -g User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_blob_inventory000001/providers/Microsoft.Storage/storageAccounts/clitest000002/inventoryPolicies/default?api-version=2020-08-01-preview response: @@ -606,7 +606,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:46:53 GMT + - Thu, 20 May 2021 06:30:25 GMT expires: - '-1' pragma: diff --git a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_account_network_rules.yaml b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_account_network_rules.yaml index 5c49f9db0a9..afd4116a212 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_account_network_rules.yaml +++ b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_account_network_rules.yaml @@ -13,15 +13,12 @@ interactions: ParameterSetName: - -g -n --bypass --default-action --https-only User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.1.0 Azure-SDK-For-Python AZURECLI/2.22.1 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-resource/16.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_storage_service_endpoints000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001","name":"cli_test_storage_service_endpoints000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-04-28T08:57:31Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001","name":"cli_test_storage_service_endpoints000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-05-20T08:16:43Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -30,7 +27,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 28 Apr 2021 08:58:01 GMT + - Thu, 20 May 2021 08:17:13 GMT expires: - '-1' pragma: @@ -65,9 +62,9 @@ interactions: ParameterSetName: - -g -n --bypass --default-action --https-only User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/17.1.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003?api-version=2021-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003?api-version=2021-04-01 response: body: string: '' @@ -79,11 +76,11 @@ interactions: content-type: - text/plain; charset=utf-8 date: - - Wed, 28 Apr 2021 08:58:08 GMT + - Thu, 20 May 2021 08:17:19 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/f40cc7b9-4320-47c2-b0d4-e9bb1c532c53?monitor=true&api-version=2021-02-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/f5cd050c-d228-4e7a-be6c-b01d071d2589?monitor=true&api-version=2021-04-01 pragma: - no-cache server: @@ -93,7 +90,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1194' + - '1199' status: code: 202 message: Accepted @@ -111,12 +108,12 @@ interactions: ParameterSetName: - -g -n --bypass --default-action --https-only User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/17.1.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/f40cc7b9-4320-47c2-b0d4-e9bb1c532c53?monitor=true&api-version=2021-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/f5cd050c-d228-4e7a-be6c-b01d071d2589?monitor=true&api-version=2021-04-01 response: body: - string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003","name":"cli000003","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-28T08:58:06.5795218Z","key2":"2021-04-28T08:58:06.5795218Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"Metrics","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Deny"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:58:06.5795218Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:58:06.5795218Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-28T08:58:06.4857581Z","primaryEndpoints":{"dfs":"https://cli000003.dfs.core.windows.net/","web":"https://cli000003.z22.web.core.windows.net/","blob":"https://cli000003.blob.core.windows.net/","queue":"https://cli000003.queue.core.windows.net/","table":"https://cli000003.table.core.windows.net/","file":"https://cli000003.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://cli000003-secondary.dfs.core.windows.net/","web":"https://cli000003-secondary.z22.web.core.windows.net/","blob":"https://cli000003-secondary.blob.core.windows.net/","queue":"https://cli000003-secondary.queue.core.windows.net/","table":"https://cli000003-secondary.table.core.windows.net/"}}}' + string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003","name":"cli000003","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-05-20T08:17:18.6257026Z","key2":"2021-05-20T08:17:18.6257026Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"Metrics","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Deny"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:17:18.6257026Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:17:18.6257026Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-05-20T08:17:18.5632132Z","primaryEndpoints":{"dfs":"https://cli000003.dfs.core.windows.net/","web":"https://cli000003.z22.web.core.windows.net/","blob":"https://cli000003.blob.core.windows.net/","queue":"https://cli000003.queue.core.windows.net/","table":"https://cli000003.table.core.windows.net/","file":"https://cli000003.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://cli000003-secondary.dfs.core.windows.net/","web":"https://cli000003-secondary.z22.web.core.windows.net/","blob":"https://cli000003-secondary.blob.core.windows.net/","queue":"https://cli000003-secondary.queue.core.windows.net/","table":"https://cli000003-secondary.table.core.windows.net/"}}}' headers: cache-control: - no-cache @@ -125,7 +122,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:25 GMT + - Thu, 20 May 2021 08:17:36 GMT expires: - '-1' pragma: @@ -157,12 +154,12 @@ interactions: ParameterSetName: - -g -n --bypass --default-action User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/17.1.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003?api-version=2021-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003?api-version=2021-04-01 response: body: - string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003","name":"cli000003","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-28T08:58:06.5795218Z","key2":"2021-04-28T08:58:06.5795218Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"Metrics","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Deny"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:58:06.5795218Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:58:06.5795218Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-28T08:58:06.4857581Z","primaryEndpoints":{"dfs":"https://cli000003.dfs.core.windows.net/","web":"https://cli000003.z22.web.core.windows.net/","blob":"https://cli000003.blob.core.windows.net/","queue":"https://cli000003.queue.core.windows.net/","table":"https://cli000003.table.core.windows.net/","file":"https://cli000003.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://cli000003-secondary.dfs.core.windows.net/","web":"https://cli000003-secondary.z22.web.core.windows.net/","blob":"https://cli000003-secondary.blob.core.windows.net/","queue":"https://cli000003-secondary.queue.core.windows.net/","table":"https://cli000003-secondary.table.core.windows.net/"}}}' + string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003","name":"cli000003","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-05-20T08:17:18.6257026Z","key2":"2021-05-20T08:17:18.6257026Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"Metrics","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Deny"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:17:18.6257026Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:17:18.6257026Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-05-20T08:17:18.5632132Z","primaryEndpoints":{"dfs":"https://cli000003.dfs.core.windows.net/","web":"https://cli000003.z22.web.core.windows.net/","blob":"https://cli000003.blob.core.windows.net/","queue":"https://cli000003.queue.core.windows.net/","table":"https://cli000003.table.core.windows.net/","file":"https://cli000003.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://cli000003-secondary.dfs.core.windows.net/","web":"https://cli000003-secondary.z22.web.core.windows.net/","blob":"https://cli000003-secondary.blob.core.windows.net/","queue":"https://cli000003-secondary.queue.core.windows.net/","table":"https://cli000003-secondary.table.core.windows.net/"}}}' headers: cache-control: - no-cache @@ -171,7 +168,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:26 GMT + - Thu, 20 May 2021 08:17:39 GMT expires: - '-1' pragma: @@ -211,12 +208,12 @@ interactions: ParameterSetName: - -g -n --bypass --default-action User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/17.1.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003?api-version=2021-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003?api-version=2021-04-01 response: body: - string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003","name":"cli000003","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-28T08:58:06.5795218Z","key2":"2021-04-28T08:58:06.5795218Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:58:06.5795218Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:58:06.5795218Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-28T08:58:06.4857581Z","primaryEndpoints":{"dfs":"https://cli000003.dfs.core.windows.net/","web":"https://cli000003.z22.web.core.windows.net/","blob":"https://cli000003.blob.core.windows.net/","queue":"https://cli000003.queue.core.windows.net/","table":"https://cli000003.table.core.windows.net/","file":"https://cli000003.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://cli000003-secondary.dfs.core.windows.net/","web":"https://cli000003-secondary.z22.web.core.windows.net/","blob":"https://cli000003-secondary.blob.core.windows.net/","queue":"https://cli000003-secondary.queue.core.windows.net/","table":"https://cli000003-secondary.table.core.windows.net/"}}}' + string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003","name":"cli000003","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-05-20T08:17:18.6257026Z","key2":"2021-05-20T08:17:18.6257026Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:17:18.6257026Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:17:18.6257026Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-05-20T08:17:18.5632132Z","primaryEndpoints":{"dfs":"https://cli000003.dfs.core.windows.net/","web":"https://cli000003.z22.web.core.windows.net/","blob":"https://cli000003.blob.core.windows.net/","queue":"https://cli000003.queue.core.windows.net/","table":"https://cli000003.table.core.windows.net/","file":"https://cli000003.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://cli000003-secondary.dfs.core.windows.net/","web":"https://cli000003-secondary.z22.web.core.windows.net/","blob":"https://cli000003-secondary.blob.core.windows.net/","queue":"https://cli000003-secondary.queue.core.windows.net/","table":"https://cli000003-secondary.table.core.windows.net/"}}}' headers: cache-control: - no-cache @@ -225,7 +222,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:28 GMT + - Thu, 20 May 2021 08:17:43 GMT expires: - '-1' pragma: @@ -241,7 +238,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1194' + - '1199' status: code: 200 message: OK @@ -259,12 +256,12 @@ interactions: ParameterSetName: - -g -n --set User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/17.1.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003?api-version=2021-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003?api-version=2021-04-01 response: body: - string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003","name":"cli000003","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-28T08:58:06.5795218Z","key2":"2021-04-28T08:58:06.5795218Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:58:06.5795218Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:58:06.5795218Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-28T08:58:06.4857581Z","primaryEndpoints":{"dfs":"https://cli000003.dfs.core.windows.net/","web":"https://cli000003.z22.web.core.windows.net/","blob":"https://cli000003.blob.core.windows.net/","queue":"https://cli000003.queue.core.windows.net/","table":"https://cli000003.table.core.windows.net/","file":"https://cli000003.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://cli000003-secondary.dfs.core.windows.net/","web":"https://cli000003-secondary.z22.web.core.windows.net/","blob":"https://cli000003-secondary.blob.core.windows.net/","queue":"https://cli000003-secondary.queue.core.windows.net/","table":"https://cli000003-secondary.table.core.windows.net/"}}}' + string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003","name":"cli000003","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-05-20T08:17:18.6257026Z","key2":"2021-05-20T08:17:18.6257026Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:17:18.6257026Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:17:18.6257026Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-05-20T08:17:18.5632132Z","primaryEndpoints":{"dfs":"https://cli000003.dfs.core.windows.net/","web":"https://cli000003.z22.web.core.windows.net/","blob":"https://cli000003.blob.core.windows.net/","queue":"https://cli000003.queue.core.windows.net/","table":"https://cli000003.table.core.windows.net/","file":"https://cli000003.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://cli000003-secondary.dfs.core.windows.net/","web":"https://cli000003-secondary.z22.web.core.windows.net/","blob":"https://cli000003-secondary.blob.core.windows.net/","queue":"https://cli000003-secondary.queue.core.windows.net/","table":"https://cli000003-secondary.table.core.windows.net/"}}}' headers: cache-control: - no-cache @@ -273,7 +270,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:29 GMT + - Thu, 20 May 2021 08:17:45 GMT expires: - '-1' pragma: @@ -313,12 +310,12 @@ interactions: ParameterSetName: - -g -n --set User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/17.1.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: PATCH - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003?api-version=2021-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003?api-version=2021-04-01 response: body: - string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003","name":"cli000003","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-28T08:58:06.5795218Z","key2":"2021-04-28T08:58:06.5795218Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Deny"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:58:06.5795218Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:58:06.5795218Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-28T08:58:06.4857581Z","primaryEndpoints":{"dfs":"https://cli000003.dfs.core.windows.net/","web":"https://cli000003.z22.web.core.windows.net/","blob":"https://cli000003.blob.core.windows.net/","queue":"https://cli000003.queue.core.windows.net/","table":"https://cli000003.table.core.windows.net/","file":"https://cli000003.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://cli000003-secondary.dfs.core.windows.net/","web":"https://cli000003-secondary.z22.web.core.windows.net/","blob":"https://cli000003-secondary.blob.core.windows.net/","queue":"https://cli000003-secondary.queue.core.windows.net/","table":"https://cli000003-secondary.table.core.windows.net/"}}}' + string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003","name":"cli000003","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-05-20T08:17:18.6257026Z","key2":"2021-05-20T08:17:18.6257026Z"},"privateEndpointConnections":[],"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Deny"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:17:18.6257026Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:17:18.6257026Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-05-20T08:17:18.5632132Z","primaryEndpoints":{"dfs":"https://cli000003.dfs.core.windows.net/","web":"https://cli000003.z22.web.core.windows.net/","blob":"https://cli000003.blob.core.windows.net/","queue":"https://cli000003.queue.core.windows.net/","table":"https://cli000003.table.core.windows.net/","file":"https://cli000003.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://cli000003-secondary.dfs.core.windows.net/","web":"https://cli000003-secondary.z22.web.core.windows.net/","blob":"https://cli000003-secondary.blob.core.windows.net/","queue":"https://cli000003-secondary.queue.core.windows.net/","table":"https://cli000003-secondary.table.core.windows.net/"}}}' headers: cache-control: - no-cache @@ -327,7 +324,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:32 GMT + - Thu, 20 May 2021 08:17:49 GMT expires: - '-1' pragma: @@ -343,7 +340,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1193' + - '1198' status: code: 200 message: OK @@ -361,15 +358,12 @@ interactions: ParameterSetName: - -g -n --subnet-name User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.1.0 Azure-SDK-For-Python AZURECLI/2.22.1 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-resource/16.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_storage_service_endpoints000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001","name":"cli_test_storage_service_endpoints000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-04-28T08:57:31Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001","name":"cli_test_storage_service_endpoints000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-05-20T08:16:43Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -378,7 +372,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 28 Apr 2021 08:58:33 GMT + - Thu, 20 May 2021 08:17:51 GMT expires: - '-1' pragma: @@ -395,7 +389,8 @@ interactions: - request: body: '{"location": "westus", "tags": {}, "properties": {"addressSpace": {"addressPrefixes": ["10.0.0.0/16"]}, "dhcpOptions": {}, "subnets": [{"name": "subnet1", "properties": - {"addressPrefix": "10.0.0.0/24"}}]}}' + {"addressPrefix": "10.0.0.0/24", "privateEndpointNetworkPolicies": "Enabled", + "privateLinkServiceNetworkPolicies": "Enabled"}}]}}' headers: Accept: - application/json @@ -406,27 +401,27 @@ interactions: Connection: - keep-alive Content-Length: - - '205' + - '298' Content-Type: - application/json ParameterSetName: - -g -n --subnet-name User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) 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=2020-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Network/virtualNetworks/vnet1?api-version=2021-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/\\\"34e76dfc-b03b-48d5-a2dd-29c54e8f3633\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"428d700e-c45c-4d82-93b3-2c2e2ce197d9\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus\",\r\n \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"resourceGuid\": \"830744c6-bfc9-4f79-868b-2c5ecbbf44c5\",\r\n \"addressSpace\": + \ \"resourceGuid\": \"dc4731c4-ca21-4718-bac9-e97ba9ed8c9e\",\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/\\\"34e76dfc-b03b-48d5-a2dd-29c54e8f3633\\\"\",\r\n + \ \"etag\": \"W/\\\"428d700e-c45c-4d82-93b3-2c2e2ce197d9\\\"\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \ \"addressPrefix\": \"10.0.0.0/24\",\r\n \"delegations\": [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": @@ -437,7 +432,7 @@ interactions: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/a442b174-af75-4d4f-a55a-4545a6c91300?api-version=2020-11-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/e2f965f4-60b0-4297-a1bf-923c43e63d78?api-version=2021-02-01 cache-control: - no-cache content-length: @@ -445,7 +440,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 28 Apr 2021 08:58:39 GMT + - Thu, 20 May 2021 08:17:57 GMT expires: - '-1' pragma: @@ -458,9 +453,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - ed585475-6787-4863-81e5-38bc1d1ce041 + - 517ccb35-fcfa-4e97-8165-630f36c1915a x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1198' status: code: 201 message: Created @@ -478,9 +473,9 @@ interactions: ParameterSetName: - -g -n --subnet-name User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/a442b174-af75-4d4f-a55a-4545a6c91300?api-version=2020-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/e2f965f4-60b0-4297-a1bf-923c43e63d78?api-version=2021-02-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -492,7 +487,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 28 Apr 2021 08:58:42 GMT + - Thu, 20 May 2021 08:18:00 GMT expires: - '-1' pragma: @@ -509,7 +504,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - e1a7ff6d-bb00-4aee-b4f0-2c4f0d260857 + - a2309b38-2c43-4790-89eb-7dd881616486 status: code: 200 message: OK @@ -527,21 +522,21 @@ interactions: ParameterSetName: - -g -n --subnet-name User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) 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=2020-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Network/virtualNetworks/vnet1?api-version=2021-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/\\\"3caca246-35df-4268-8b50-a28e90d33bd3\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"164bfe00-67f4-45d2-8568-5ed59b255b71\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus\",\r\n \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"830744c6-bfc9-4f79-868b-2c5ecbbf44c5\",\r\n \"addressSpace\": + \ \"resourceGuid\": \"dc4731c4-ca21-4718-bac9-e97ba9ed8c9e\",\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/\\\"3caca246-35df-4268-8b50-a28e90d33bd3\\\"\",\r\n + \ \"etag\": \"W/\\\"164bfe00-67f4-45d2-8568-5ed59b255b71\\\"\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \ \"addressPrefix\": \"10.0.0.0/24\",\r\n \"delegations\": [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \"privateLinkServiceNetworkPolicies\": @@ -556,9 +551,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 28 Apr 2021 08:58:43 GMT + - Thu, 20 May 2021 08:18:00 GMT etag: - - W/"3caca246-35df-4268-8b50-a28e90d33bd3" + - W/"164bfe00-67f4-45d2-8568-5ed59b255b71" expires: - '-1' pragma: @@ -575,7 +570,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 647bc434-6a85-46d6-b599-c857dac607a9 + - e04a1f63-f04d-41db-88f1-e52f3ccb579e status: code: 200 message: OK @@ -593,13 +588,13 @@ interactions: ParameterSetName: - -g --vnet-name -n --service-endpoints User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) 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=2020-11-01 + 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=2021-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/\\\"3caca246-35df-4268-8b50-a28e90d33bd3\\\"\",\r\n \"properties\": + \ \"etag\": \"W/\\\"164bfe00-67f4-45d2-8568-5ed59b255b71\\\"\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"addressPrefix\": \"10.0.0.0/24\",\r\n \ \"delegations\": [],\r\n \"privateEndpointNetworkPolicies\": \"Enabled\",\r\n \ \"privateLinkServiceNetworkPolicies\": \"Enabled\"\r\n },\r\n \"type\": @@ -612,9 +607,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 28 Apr 2021 08:58:43 GMT + - Thu, 20 May 2021 08:18:01 GMT etag: - - W/"3caca246-35df-4268-8b50-a28e90d33bd3" + - W/"164bfe00-67f4-45d2-8568-5ed59b255b71" expires: - '-1' pragma: @@ -631,15 +626,16 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - c475c16b-c3e7-470f-9c94-016fb862bed2 + - be87d9f3-7b35-4d57-80d7-27fc2edc8cee status: code: 200 message: OK - request: body: '{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", - "name": "subnet1", "properties": {"addressPrefix": "10.0.0.0/24", "serviceEndpoints": - [{"service": "Microsoft.Storage"}], "delegations": [], "privateEndpointNetworkPolicies": - "Enabled", "privateLinkServiceNetworkPolicies": "Enabled"}}' + "name": "subnet1", "type": "Microsoft.Network/virtualNetworks/subnets", "properties": + {"addressPrefix": "10.0.0.0/24", "serviceEndpoints": [{"service": "Microsoft.Storage"}], + "delegations": [], "privateEndpointNetworkPolicies": "Enabled", "privateLinkServiceNetworkPolicies": + "Enabled"}}' headers: Accept: - application/json @@ -650,19 +646,19 @@ interactions: Connection: - keep-alive Content-Length: - - '453' + - '506' Content-Type: - application/json ParameterSetName: - -g --vnet-name -n --service-endpoints User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) 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=2020-11-01 + 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=2021-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/\\\"3a637d35-fd18-43c6-b2e3-5a9c77a381cf\\\"\",\r\n \"properties\": + \ \"etag\": \"W/\\\"8f6af4f9-435a-4e15-997c-8158a5afc6b2\\\"\",\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 @@ -672,7 +668,7 @@ interactions: \ },\r\n \"type\": \"Microsoft.Network/virtualNetworks/subnets\"\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/a51bf41c-60c2-4436-a514-b7ddfcec5929?api-version=2020-11-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/1dabde99-cee9-4457-8751-d30407e10363?api-version=2021-02-01 cache-control: - no-cache content-length: @@ -680,7 +676,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 28 Apr 2021 08:58:43 GMT + - Thu, 20 May 2021 08:18:02 GMT expires: - '-1' pragma: @@ -697,9 +693,9 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - d7640dc0-d7c2-4762-a0be-e8db4c078b90 + - d0969b21-4b7f-4714-9fbd-0972afeca4f0 x-ms-ratelimit-remaining-subscription-writes: - - '1192' + - '1199' status: code: 200 message: OK @@ -717,9 +713,9 @@ interactions: ParameterSetName: - -g --vnet-name -n --service-endpoints User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/a51bf41c-60c2-4436-a514-b7ddfcec5929?api-version=2020-11-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/1dabde99-cee9-4457-8751-d30407e10363?api-version=2021-02-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -731,7 +727,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 28 Apr 2021 08:58:47 GMT + - Thu, 20 May 2021 08:18:05 GMT expires: - '-1' pragma: @@ -748,7 +744,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 1679ba27-9f50-4125-b8f0-b9d00edd73ea + - 1931ad7d-a1b9-461d-8bd8-cba797ce0125 status: code: 200 message: OK @@ -766,13 +762,13 @@ interactions: ParameterSetName: - -g --vnet-name -n --service-endpoints User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-network/18.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) 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=2020-11-01 + 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=2021-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/\\\"58da0849-9d5e-4210-8e39-04ce32b8cecd\\\"\",\r\n \"properties\": + \ \"etag\": \"W/\\\"90ccc9b8-fed5-4820-8ad3-3c2e6a8181b9\\\"\",\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\": \"Microsoft.Storage\",\r\n \"locations\": [\r\n @@ -788,9 +784,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 28 Apr 2021 08:58:48 GMT + - Thu, 20 May 2021 08:18:06 GMT etag: - - W/"58da0849-9d5e-4210-8e39-04ce32b8cecd" + - W/"90ccc9b8-fed5-4820-8ad3-3c2e6a8181b9" expires: - '-1' pragma: @@ -807,7 +803,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - b29a4da0-25d1-458f-a3bc-babdffd50fcf + - c80e7490-8240-41d3-8119-fa68d7113dfc status: code: 200 message: OK @@ -825,12 +821,12 @@ interactions: ParameterSetName: - -g --account-name --ip-address User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003?api-version=2020-08-01-preview response: body: - string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003","name":"cli000003","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Deny"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:58:06.5795218Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:58:06.5795218Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-28T08:58:06.4857581Z","primaryEndpoints":{"dfs":"https://cli000003.dfs.core.windows.net/","web":"https://cli000003.z22.web.core.windows.net/","blob":"https://cli000003.blob.core.windows.net/","queue":"https://cli000003.queue.core.windows.net/","table":"https://cli000003.table.core.windows.net/","file":"https://cli000003.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://cli000003-secondary.dfs.core.windows.net/","web":"https://cli000003-secondary.z22.web.core.windows.net/","blob":"https://cli000003-secondary.blob.core.windows.net/","queue":"https://cli000003-secondary.queue.core.windows.net/","table":"https://cli000003-secondary.table.core.windows.net/"}}}' + string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003","name":"cli000003","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Deny"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:17:18.6257026Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:17:18.6257026Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-05-20T08:17:18.5632132Z","primaryEndpoints":{"dfs":"https://cli000003.dfs.core.windows.net/","web":"https://cli000003.z22.web.core.windows.net/","blob":"https://cli000003.blob.core.windows.net/","queue":"https://cli000003.queue.core.windows.net/","table":"https://cli000003.table.core.windows.net/","file":"https://cli000003.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://cli000003-secondary.dfs.core.windows.net/","web":"https://cli000003-secondary.z22.web.core.windows.net/","blob":"https://cli000003-secondary.blob.core.windows.net/","queue":"https://cli000003-secondary.queue.core.windows.net/","table":"https://cli000003-secondary.table.core.windows.net/"}}}' headers: cache-control: - no-cache @@ -839,7 +835,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:49 GMT + - Thu, 20 May 2021 08:18:08 GMT expires: - '-1' pragma: @@ -877,12 +873,12 @@ interactions: ParameterSetName: - -g --account-name --ip-address User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: PATCH uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003?api-version=2020-08-01-preview response: body: - string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003","name":"cli000003","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[{"value":"25.1.2.3","action":"Allow"}],"defaultAction":"Deny"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:58:06.5795218Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:58:06.5795218Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-28T08:58:06.4857581Z","primaryEndpoints":{"dfs":"https://cli000003.dfs.core.windows.net/","web":"https://cli000003.z22.web.core.windows.net/","blob":"https://cli000003.blob.core.windows.net/","queue":"https://cli000003.queue.core.windows.net/","table":"https://cli000003.table.core.windows.net/","file":"https://cli000003.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://cli000003-secondary.dfs.core.windows.net/","web":"https://cli000003-secondary.z22.web.core.windows.net/","blob":"https://cli000003-secondary.blob.core.windows.net/","queue":"https://cli000003-secondary.queue.core.windows.net/","table":"https://cli000003-secondary.table.core.windows.net/"}}}' + string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003","name":"cli000003","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[{"value":"25.1.2.3","action":"Allow"}],"defaultAction":"Deny"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:17:18.6257026Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:17:18.6257026Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-05-20T08:17:18.5632132Z","primaryEndpoints":{"dfs":"https://cli000003.dfs.core.windows.net/","web":"https://cli000003.z22.web.core.windows.net/","blob":"https://cli000003.blob.core.windows.net/","queue":"https://cli000003.queue.core.windows.net/","table":"https://cli000003.table.core.windows.net/","file":"https://cli000003.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://cli000003-secondary.dfs.core.windows.net/","web":"https://cli000003-secondary.z22.web.core.windows.net/","blob":"https://cli000003-secondary.blob.core.windows.net/","queue":"https://cli000003-secondary.queue.core.windows.net/","table":"https://cli000003-secondary.table.core.windows.net/"}}}' headers: cache-control: - no-cache @@ -891,7 +887,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:50 GMT + - Thu, 20 May 2021 08:18:09 GMT expires: - '-1' pragma: @@ -907,7 +903,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1198' status: code: 200 message: OK @@ -925,12 +921,12 @@ interactions: ParameterSetName: - -g --account-name --ip-address User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003?api-version=2020-08-01-preview response: body: - string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003","name":"cli000003","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[{"value":"25.1.2.3","action":"Allow"}],"defaultAction":"Deny"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:58:06.5795218Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:58:06.5795218Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-28T08:58:06.4857581Z","primaryEndpoints":{"dfs":"https://cli000003.dfs.core.windows.net/","web":"https://cli000003.z22.web.core.windows.net/","blob":"https://cli000003.blob.core.windows.net/","queue":"https://cli000003.queue.core.windows.net/","table":"https://cli000003.table.core.windows.net/","file":"https://cli000003.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://cli000003-secondary.dfs.core.windows.net/","web":"https://cli000003-secondary.z22.web.core.windows.net/","blob":"https://cli000003-secondary.blob.core.windows.net/","queue":"https://cli000003-secondary.queue.core.windows.net/","table":"https://cli000003-secondary.table.core.windows.net/"}}}' + string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003","name":"cli000003","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[{"value":"25.1.2.3","action":"Allow"}],"defaultAction":"Deny"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:17:18.6257026Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:17:18.6257026Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-05-20T08:17:18.5632132Z","primaryEndpoints":{"dfs":"https://cli000003.dfs.core.windows.net/","web":"https://cli000003.z22.web.core.windows.net/","blob":"https://cli000003.blob.core.windows.net/","queue":"https://cli000003.queue.core.windows.net/","table":"https://cli000003.table.core.windows.net/","file":"https://cli000003.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://cli000003-secondary.dfs.core.windows.net/","web":"https://cli000003-secondary.z22.web.core.windows.net/","blob":"https://cli000003-secondary.blob.core.windows.net/","queue":"https://cli000003-secondary.queue.core.windows.net/","table":"https://cli000003-secondary.table.core.windows.net/"}}}' headers: cache-control: - no-cache @@ -939,7 +935,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:52 GMT + - Thu, 20 May 2021 08:18:10 GMT expires: - '-1' pragma: @@ -977,12 +973,12 @@ interactions: ParameterSetName: - -g --account-name --ip-address User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: PATCH uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003?api-version=2020-08-01-preview response: body: - string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003","name":"cli000003","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[{"value":"25.1.2.3","action":"Allow"}],"defaultAction":"Deny"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:58:06.5795218Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:58:06.5795218Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-28T08:58:06.4857581Z","primaryEndpoints":{"dfs":"https://cli000003.dfs.core.windows.net/","web":"https://cli000003.z22.web.core.windows.net/","blob":"https://cli000003.blob.core.windows.net/","queue":"https://cli000003.queue.core.windows.net/","table":"https://cli000003.table.core.windows.net/","file":"https://cli000003.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://cli000003-secondary.dfs.core.windows.net/","web":"https://cli000003-secondary.z22.web.core.windows.net/","blob":"https://cli000003-secondary.blob.core.windows.net/","queue":"https://cli000003-secondary.queue.core.windows.net/","table":"https://cli000003-secondary.table.core.windows.net/"}}}' + string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003","name":"cli000003","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[{"value":"25.1.2.3","action":"Allow"}],"defaultAction":"Deny"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:17:18.6257026Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:17:18.6257026Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-05-20T08:17:18.5632132Z","primaryEndpoints":{"dfs":"https://cli000003.dfs.core.windows.net/","web":"https://cli000003.z22.web.core.windows.net/","blob":"https://cli000003.blob.core.windows.net/","queue":"https://cli000003.queue.core.windows.net/","table":"https://cli000003.table.core.windows.net/","file":"https://cli000003.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://cli000003-secondary.dfs.core.windows.net/","web":"https://cli000003-secondary.z22.web.core.windows.net/","blob":"https://cli000003-secondary.blob.core.windows.net/","queue":"https://cli000003-secondary.queue.core.windows.net/","table":"https://cli000003-secondary.table.core.windows.net/"}}}' headers: cache-control: - no-cache @@ -991,7 +987,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:52 GMT + - Thu, 20 May 2021 08:18:10 GMT expires: - '-1' pragma: @@ -1007,7 +1003,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1199' status: code: 200 message: OK @@ -1025,12 +1021,12 @@ interactions: ParameterSetName: - -g --account-name --ip-address User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003?api-version=2020-08-01-preview response: body: - string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003","name":"cli000003","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[{"value":"25.1.2.3","action":"Allow"}],"defaultAction":"Deny"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:58:06.5795218Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:58:06.5795218Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-28T08:58:06.4857581Z","primaryEndpoints":{"dfs":"https://cli000003.dfs.core.windows.net/","web":"https://cli000003.z22.web.core.windows.net/","blob":"https://cli000003.blob.core.windows.net/","queue":"https://cli000003.queue.core.windows.net/","table":"https://cli000003.table.core.windows.net/","file":"https://cli000003.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://cli000003-secondary.dfs.core.windows.net/","web":"https://cli000003-secondary.z22.web.core.windows.net/","blob":"https://cli000003-secondary.blob.core.windows.net/","queue":"https://cli000003-secondary.queue.core.windows.net/","table":"https://cli000003-secondary.table.core.windows.net/"}}}' + string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003","name":"cli000003","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[{"value":"25.1.2.3","action":"Allow"}],"defaultAction":"Deny"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:17:18.6257026Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:17:18.6257026Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-05-20T08:17:18.5632132Z","primaryEndpoints":{"dfs":"https://cli000003.dfs.core.windows.net/","web":"https://cli000003.z22.web.core.windows.net/","blob":"https://cli000003.blob.core.windows.net/","queue":"https://cli000003.queue.core.windows.net/","table":"https://cli000003.table.core.windows.net/","file":"https://cli000003.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://cli000003-secondary.dfs.core.windows.net/","web":"https://cli000003-secondary.z22.web.core.windows.net/","blob":"https://cli000003-secondary.blob.core.windows.net/","queue":"https://cli000003-secondary.queue.core.windows.net/","table":"https://cli000003-secondary.table.core.windows.net/"}}}' headers: cache-control: - no-cache @@ -1039,7 +1035,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:52 GMT + - Thu, 20 May 2021 08:18:11 GMT expires: - '-1' pragma: @@ -1077,12 +1073,12 @@ interactions: ParameterSetName: - -g --account-name --ip-address User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: PATCH uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003?api-version=2020-08-01-preview response: body: - string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003","name":"cli000003","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[{"value":"25.1.2.3","action":"Allow"},{"value":"25.2.0.0/24","action":"Allow"}],"defaultAction":"Deny"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:58:06.5795218Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:58:06.5795218Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-28T08:58:06.4857581Z","primaryEndpoints":{"dfs":"https://cli000003.dfs.core.windows.net/","web":"https://cli000003.z22.web.core.windows.net/","blob":"https://cli000003.blob.core.windows.net/","queue":"https://cli000003.queue.core.windows.net/","table":"https://cli000003.table.core.windows.net/","file":"https://cli000003.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://cli000003-secondary.dfs.core.windows.net/","web":"https://cli000003-secondary.z22.web.core.windows.net/","blob":"https://cli000003-secondary.blob.core.windows.net/","queue":"https://cli000003-secondary.queue.core.windows.net/","table":"https://cli000003-secondary.table.core.windows.net/"}}}' + string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003","name":"cli000003","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[{"value":"25.1.2.3","action":"Allow"},{"value":"25.2.0.0/24","action":"Allow"}],"defaultAction":"Deny"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:17:18.6257026Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:17:18.6257026Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-05-20T08:17:18.5632132Z","primaryEndpoints":{"dfs":"https://cli000003.dfs.core.windows.net/","web":"https://cli000003.z22.web.core.windows.net/","blob":"https://cli000003.blob.core.windows.net/","queue":"https://cli000003.queue.core.windows.net/","table":"https://cli000003.table.core.windows.net/","file":"https://cli000003.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://cli000003-secondary.dfs.core.windows.net/","web":"https://cli000003-secondary.z22.web.core.windows.net/","blob":"https://cli000003-secondary.blob.core.windows.net/","queue":"https://cli000003-secondary.queue.core.windows.net/","table":"https://cli000003-secondary.table.core.windows.net/"}}}' headers: cache-control: - no-cache @@ -1091,7 +1087,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:54 GMT + - Thu, 20 May 2021 08:18:12 GMT expires: - '-1' pragma: @@ -1107,7 +1103,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1195' + - '1199' status: code: 200 message: OK @@ -1125,12 +1121,12 @@ interactions: ParameterSetName: - -g --account-name --vnet-name --subnet User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003?api-version=2020-08-01-preview response: body: - string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003","name":"cli000003","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[{"value":"25.1.2.3","action":"Allow"},{"value":"25.2.0.0/24","action":"Allow"}],"defaultAction":"Deny"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:58:06.5795218Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:58:06.5795218Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-28T08:58:06.4857581Z","primaryEndpoints":{"dfs":"https://cli000003.dfs.core.windows.net/","web":"https://cli000003.z22.web.core.windows.net/","blob":"https://cli000003.blob.core.windows.net/","queue":"https://cli000003.queue.core.windows.net/","table":"https://cli000003.table.core.windows.net/","file":"https://cli000003.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://cli000003-secondary.dfs.core.windows.net/","web":"https://cli000003-secondary.z22.web.core.windows.net/","blob":"https://cli000003-secondary.blob.core.windows.net/","queue":"https://cli000003-secondary.queue.core.windows.net/","table":"https://cli000003-secondary.table.core.windows.net/"}}}' + string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003","name":"cli000003","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[{"value":"25.1.2.3","action":"Allow"},{"value":"25.2.0.0/24","action":"Allow"}],"defaultAction":"Deny"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:17:18.6257026Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:17:18.6257026Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-05-20T08:17:18.5632132Z","primaryEndpoints":{"dfs":"https://cli000003.dfs.core.windows.net/","web":"https://cli000003.z22.web.core.windows.net/","blob":"https://cli000003.blob.core.windows.net/","queue":"https://cli000003.queue.core.windows.net/","table":"https://cli000003.table.core.windows.net/","file":"https://cli000003.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://cli000003-secondary.dfs.core.windows.net/","web":"https://cli000003-secondary.z22.web.core.windows.net/","blob":"https://cli000003-secondary.blob.core.windows.net/","queue":"https://cli000003-secondary.queue.core.windows.net/","table":"https://cli000003-secondary.table.core.windows.net/"}}}' headers: cache-control: - no-cache @@ -1139,7 +1135,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:55 GMT + - Thu, 20 May 2021 08:18:13 GMT expires: - '-1' pragma: @@ -1178,12 +1174,12 @@ interactions: ParameterSetName: - -g --account-name --vnet-name --subnet User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: PATCH uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003?api-version=2020-08-01-preview response: body: - string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003","name":"cli000003","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"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"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:58:06.5795218Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:58:06.5795218Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-28T08:58:06.4857581Z","primaryEndpoints":{"dfs":"https://cli000003.dfs.core.windows.net/","web":"https://cli000003.z22.web.core.windows.net/","blob":"https://cli000003.blob.core.windows.net/","queue":"https://cli000003.queue.core.windows.net/","table":"https://cli000003.table.core.windows.net/","file":"https://cli000003.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://cli000003-secondary.dfs.core.windows.net/","web":"https://cli000003-secondary.z22.web.core.windows.net/","blob":"https://cli000003-secondary.blob.core.windows.net/","queue":"https://cli000003-secondary.queue.core.windows.net/","table":"https://cli000003-secondary.table.core.windows.net/"}}}' + string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003","name":"cli000003","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"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"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:17:18.6257026Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:17:18.6257026Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-05-20T08:17:18.5632132Z","primaryEndpoints":{"dfs":"https://cli000003.dfs.core.windows.net/","web":"https://cli000003.z22.web.core.windows.net/","blob":"https://cli000003.blob.core.windows.net/","queue":"https://cli000003.queue.core.windows.net/","table":"https://cli000003.table.core.windows.net/","file":"https://cli000003.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://cli000003-secondary.dfs.core.windows.net/","web":"https://cli000003-secondary.z22.web.core.windows.net/","blob":"https://cli000003-secondary.blob.core.windows.net/","queue":"https://cli000003-secondary.queue.core.windows.net/","table":"https://cli000003-secondary.table.core.windows.net/"}}}' headers: cache-control: - no-cache @@ -1192,7 +1188,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:56 GMT + - Thu, 20 May 2021 08:18:15 GMT expires: - '-1' pragma: @@ -1208,7 +1204,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1198' status: code: 200 message: OK @@ -1226,12 +1222,12 @@ interactions: ParameterSetName: - -g --account-name User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003?api-version=2020-08-01-preview response: body: - string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003","name":"cli000003","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"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"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:58:06.5795218Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:58:06.5795218Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-28T08:58:06.4857581Z","primaryEndpoints":{"dfs":"https://cli000003.dfs.core.windows.net/","web":"https://cli000003.z22.web.core.windows.net/","blob":"https://cli000003.blob.core.windows.net/","queue":"https://cli000003.queue.core.windows.net/","table":"https://cli000003.table.core.windows.net/","file":"https://cli000003.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://cli000003-secondary.dfs.core.windows.net/","web":"https://cli000003-secondary.z22.web.core.windows.net/","blob":"https://cli000003-secondary.blob.core.windows.net/","queue":"https://cli000003-secondary.queue.core.windows.net/","table":"https://cli000003-secondary.table.core.windows.net/"}}}' + string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003","name":"cli000003","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"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"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:17:18.6257026Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:17:18.6257026Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-05-20T08:17:18.5632132Z","primaryEndpoints":{"dfs":"https://cli000003.dfs.core.windows.net/","web":"https://cli000003.z22.web.core.windows.net/","blob":"https://cli000003.blob.core.windows.net/","queue":"https://cli000003.queue.core.windows.net/","table":"https://cli000003.table.core.windows.net/","file":"https://cli000003.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://cli000003-secondary.dfs.core.windows.net/","web":"https://cli000003-secondary.z22.web.core.windows.net/","blob":"https://cli000003-secondary.blob.core.windows.net/","queue":"https://cli000003-secondary.queue.core.windows.net/","table":"https://cli000003-secondary.table.core.windows.net/"}}}' headers: cache-control: - no-cache @@ -1240,7 +1236,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:58 GMT + - Thu, 20 May 2021 08:18:16 GMT expires: - '-1' pragma: @@ -1272,12 +1268,12 @@ interactions: ParameterSetName: - -g --account-name --vnet-name --subnet User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003?api-version=2020-08-01-preview response: body: - string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003","name":"cli000003","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"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"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:58:06.5795218Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:58:06.5795218Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-28T08:58:06.4857581Z","primaryEndpoints":{"dfs":"https://cli000003.dfs.core.windows.net/","web":"https://cli000003.z22.web.core.windows.net/","blob":"https://cli000003.blob.core.windows.net/","queue":"https://cli000003.queue.core.windows.net/","table":"https://cli000003.table.core.windows.net/","file":"https://cli000003.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://cli000003-secondary.dfs.core.windows.net/","web":"https://cli000003-secondary.z22.web.core.windows.net/","blob":"https://cli000003-secondary.blob.core.windows.net/","queue":"https://cli000003-secondary.queue.core.windows.net/","table":"https://cli000003-secondary.table.core.windows.net/"}}}' + string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003","name":"cli000003","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"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"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:17:18.6257026Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:17:18.6257026Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-05-20T08:17:18.5632132Z","primaryEndpoints":{"dfs":"https://cli000003.dfs.core.windows.net/","web":"https://cli000003.z22.web.core.windows.net/","blob":"https://cli000003.blob.core.windows.net/","queue":"https://cli000003.queue.core.windows.net/","table":"https://cli000003.table.core.windows.net/","file":"https://cli000003.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://cli000003-secondary.dfs.core.windows.net/","web":"https://cli000003-secondary.z22.web.core.windows.net/","blob":"https://cli000003-secondary.blob.core.windows.net/","queue":"https://cli000003-secondary.queue.core.windows.net/","table":"https://cli000003-secondary.table.core.windows.net/"}}}' headers: cache-control: - no-cache @@ -1286,7 +1282,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:59 GMT + - Thu, 20 May 2021 08:18:17 GMT expires: - '-1' pragma: @@ -1325,12 +1321,12 @@ interactions: ParameterSetName: - -g --account-name --vnet-name --subnet User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: PATCH uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003?api-version=2020-08-01-preview response: body: - string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003","name":"cli000003","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"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"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:58:06.5795218Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:58:06.5795218Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-28T08:58:06.4857581Z","primaryEndpoints":{"dfs":"https://cli000003.dfs.core.windows.net/","web":"https://cli000003.z22.web.core.windows.net/","blob":"https://cli000003.blob.core.windows.net/","queue":"https://cli000003.queue.core.windows.net/","table":"https://cli000003.table.core.windows.net/","file":"https://cli000003.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://cli000003-secondary.dfs.core.windows.net/","web":"https://cli000003-secondary.z22.web.core.windows.net/","blob":"https://cli000003-secondary.blob.core.windows.net/","queue":"https://cli000003-secondary.queue.core.windows.net/","table":"https://cli000003-secondary.table.core.windows.net/"}}}' + string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003","name":"cli000003","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"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"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:17:18.6257026Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:17:18.6257026Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-05-20T08:17:18.5632132Z","primaryEndpoints":{"dfs":"https://cli000003.dfs.core.windows.net/","web":"https://cli000003.z22.web.core.windows.net/","blob":"https://cli000003.blob.core.windows.net/","queue":"https://cli000003.queue.core.windows.net/","table":"https://cli000003.table.core.windows.net/","file":"https://cli000003.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://cli000003-secondary.dfs.core.windows.net/","web":"https://cli000003-secondary.z22.web.core.windows.net/","blob":"https://cli000003-secondary.blob.core.windows.net/","queue":"https://cli000003-secondary.queue.core.windows.net/","table":"https://cli000003-secondary.table.core.windows.net/"}}}' headers: cache-control: - no-cache @@ -1339,7 +1335,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:59:00 GMT + - Thu, 20 May 2021 08:18:17 GMT expires: - '-1' pragma: @@ -1355,7 +1351,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1195' + - '1199' status: code: 200 message: OK @@ -1373,12 +1369,12 @@ interactions: ParameterSetName: - -g --account-name User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003?api-version=2020-08-01-preview response: body: - string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003","name":"cli000003","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"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"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:58:06.5795218Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:58:06.5795218Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-28T08:58:06.4857581Z","primaryEndpoints":{"dfs":"https://cli000003.dfs.core.windows.net/","web":"https://cli000003.z22.web.core.windows.net/","blob":"https://cli000003.blob.core.windows.net/","queue":"https://cli000003.queue.core.windows.net/","table":"https://cli000003.table.core.windows.net/","file":"https://cli000003.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://cli000003-secondary.dfs.core.windows.net/","web":"https://cli000003-secondary.z22.web.core.windows.net/","blob":"https://cli000003-secondary.blob.core.windows.net/","queue":"https://cli000003-secondary.queue.core.windows.net/","table":"https://cli000003-secondary.table.core.windows.net/"}}}' + string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003","name":"cli000003","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"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"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:17:18.6257026Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:17:18.6257026Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-05-20T08:17:18.5632132Z","primaryEndpoints":{"dfs":"https://cli000003.dfs.core.windows.net/","web":"https://cli000003.z22.web.core.windows.net/","blob":"https://cli000003.blob.core.windows.net/","queue":"https://cli000003.queue.core.windows.net/","table":"https://cli000003.table.core.windows.net/","file":"https://cli000003.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://cli000003-secondary.dfs.core.windows.net/","web":"https://cli000003-secondary.z22.web.core.windows.net/","blob":"https://cli000003-secondary.blob.core.windows.net/","queue":"https://cli000003-secondary.queue.core.windows.net/","table":"https://cli000003-secondary.table.core.windows.net/"}}}' headers: cache-control: - no-cache @@ -1387,7 +1383,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:59:01 GMT + - Thu, 20 May 2021 08:18:20 GMT expires: - '-1' pragma: @@ -1419,12 +1415,12 @@ interactions: ParameterSetName: - -g --account-name --ip-address User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003?api-version=2020-08-01-preview response: body: - string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003","name":"cli000003","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"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"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:58:06.5795218Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:58:06.5795218Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-28T08:58:06.4857581Z","primaryEndpoints":{"dfs":"https://cli000003.dfs.core.windows.net/","web":"https://cli000003.z22.web.core.windows.net/","blob":"https://cli000003.blob.core.windows.net/","queue":"https://cli000003.queue.core.windows.net/","table":"https://cli000003.table.core.windows.net/","file":"https://cli000003.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://cli000003-secondary.dfs.core.windows.net/","web":"https://cli000003-secondary.z22.web.core.windows.net/","blob":"https://cli000003-secondary.blob.core.windows.net/","queue":"https://cli000003-secondary.queue.core.windows.net/","table":"https://cli000003-secondary.table.core.windows.net/"}}}' + string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003","name":"cli000003","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"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"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:17:18.6257026Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:17:18.6257026Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-05-20T08:17:18.5632132Z","primaryEndpoints":{"dfs":"https://cli000003.dfs.core.windows.net/","web":"https://cli000003.z22.web.core.windows.net/","blob":"https://cli000003.blob.core.windows.net/","queue":"https://cli000003.queue.core.windows.net/","table":"https://cli000003.table.core.windows.net/","file":"https://cli000003.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://cli000003-secondary.dfs.core.windows.net/","web":"https://cli000003-secondary.z22.web.core.windows.net/","blob":"https://cli000003-secondary.blob.core.windows.net/","queue":"https://cli000003-secondary.queue.core.windows.net/","table":"https://cli000003-secondary.table.core.windows.net/"}}}' headers: cache-control: - no-cache @@ -1433,7 +1429,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:59:03 GMT + - Thu, 20 May 2021 08:18:20 GMT expires: - '-1' pragma: @@ -1472,12 +1468,12 @@ interactions: ParameterSetName: - -g --account-name --ip-address User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: PATCH uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003?api-version=2020-08-01-preview response: body: - string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003","name":"cli000003","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"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"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:58:06.5795218Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:58:06.5795218Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-28T08:58:06.4857581Z","primaryEndpoints":{"dfs":"https://cli000003.dfs.core.windows.net/","web":"https://cli000003.z22.web.core.windows.net/","blob":"https://cli000003.blob.core.windows.net/","queue":"https://cli000003.queue.core.windows.net/","table":"https://cli000003.table.core.windows.net/","file":"https://cli000003.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://cli000003-secondary.dfs.core.windows.net/","web":"https://cli000003-secondary.z22.web.core.windows.net/","blob":"https://cli000003-secondary.blob.core.windows.net/","queue":"https://cli000003-secondary.queue.core.windows.net/","table":"https://cli000003-secondary.table.core.windows.net/"}}}' + string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003","name":"cli000003","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"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"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:17:18.6257026Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:17:18.6257026Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-05-20T08:17:18.5632132Z","primaryEndpoints":{"dfs":"https://cli000003.dfs.core.windows.net/","web":"https://cli000003.z22.web.core.windows.net/","blob":"https://cli000003.blob.core.windows.net/","queue":"https://cli000003.queue.core.windows.net/","table":"https://cli000003.table.core.windows.net/","file":"https://cli000003.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://cli000003-secondary.dfs.core.windows.net/","web":"https://cli000003-secondary.z22.web.core.windows.net/","blob":"https://cli000003-secondary.blob.core.windows.net/","queue":"https://cli000003-secondary.queue.core.windows.net/","table":"https://cli000003-secondary.table.core.windows.net/"}}}' headers: cache-control: - no-cache @@ -1486,7 +1482,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:59:04 GMT + - Thu, 20 May 2021 08:18:23 GMT expires: - '-1' pragma: @@ -1520,12 +1516,12 @@ interactions: ParameterSetName: - -g --account-name --vnet-name --subnet User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003?api-version=2020-08-01-preview response: body: - string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003","name":"cli000003","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"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"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:58:06.5795218Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:58:06.5795218Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-28T08:58:06.4857581Z","primaryEndpoints":{"dfs":"https://cli000003.dfs.core.windows.net/","web":"https://cli000003.z22.web.core.windows.net/","blob":"https://cli000003.blob.core.windows.net/","queue":"https://cli000003.queue.core.windows.net/","table":"https://cli000003.table.core.windows.net/","file":"https://cli000003.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://cli000003-secondary.dfs.core.windows.net/","web":"https://cli000003-secondary.z22.web.core.windows.net/","blob":"https://cli000003-secondary.blob.core.windows.net/","queue":"https://cli000003-secondary.queue.core.windows.net/","table":"https://cli000003-secondary.table.core.windows.net/"}}}' + string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003","name":"cli000003","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"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"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:17:18.6257026Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:17:18.6257026Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-05-20T08:17:18.5632132Z","primaryEndpoints":{"dfs":"https://cli000003.dfs.core.windows.net/","web":"https://cli000003.z22.web.core.windows.net/","blob":"https://cli000003.blob.core.windows.net/","queue":"https://cli000003.queue.core.windows.net/","table":"https://cli000003.table.core.windows.net/","file":"https://cli000003.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://cli000003-secondary.dfs.core.windows.net/","web":"https://cli000003-secondary.z22.web.core.windows.net/","blob":"https://cli000003-secondary.blob.core.windows.net/","queue":"https://cli000003-secondary.queue.core.windows.net/","table":"https://cli000003-secondary.table.core.windows.net/"}}}' headers: cache-control: - no-cache @@ -1534,7 +1530,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:59:05 GMT + - Thu, 20 May 2021 08:18:24 GMT expires: - '-1' pragma: @@ -1572,12 +1568,12 @@ interactions: ParameterSetName: - -g --account-name --vnet-name --subnet User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: PATCH uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003?api-version=2020-08-01-preview response: body: - string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003","name":"cli000003","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[{"value":"25.2.0.0/24","action":"Allow"}],"defaultAction":"Deny"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:58:06.5795218Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:58:06.5795218Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-28T08:58:06.4857581Z","primaryEndpoints":{"dfs":"https://cli000003.dfs.core.windows.net/","web":"https://cli000003.z22.web.core.windows.net/","blob":"https://cli000003.blob.core.windows.net/","queue":"https://cli000003.queue.core.windows.net/","table":"https://cli000003.table.core.windows.net/","file":"https://cli000003.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://cli000003-secondary.dfs.core.windows.net/","web":"https://cli000003-secondary.z22.web.core.windows.net/","blob":"https://cli000003-secondary.blob.core.windows.net/","queue":"https://cli000003-secondary.queue.core.windows.net/","table":"https://cli000003-secondary.table.core.windows.net/"}}}' + string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003","name":"cli000003","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[{"value":"25.2.0.0/24","action":"Allow"}],"defaultAction":"Deny"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:17:18.6257026Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:17:18.6257026Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-05-20T08:17:18.5632132Z","primaryEndpoints":{"dfs":"https://cli000003.dfs.core.windows.net/","web":"https://cli000003.z22.web.core.windows.net/","blob":"https://cli000003.blob.core.windows.net/","queue":"https://cli000003.queue.core.windows.net/","table":"https://cli000003.table.core.windows.net/","file":"https://cli000003.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://cli000003-secondary.dfs.core.windows.net/","web":"https://cli000003-secondary.z22.web.core.windows.net/","blob":"https://cli000003-secondary.blob.core.windows.net/","queue":"https://cli000003-secondary.queue.core.windows.net/","table":"https://cli000003-secondary.table.core.windows.net/"}}}' headers: cache-control: - no-cache @@ -1586,7 +1582,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:59:06 GMT + - Thu, 20 May 2021 08:18:25 GMT expires: - '-1' pragma: @@ -1602,7 +1598,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1199' status: code: 200 message: OK @@ -1620,12 +1616,12 @@ interactions: ParameterSetName: - -g --account-name User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003?api-version=2020-08-01-preview response: body: - string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003","name":"cli000003","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[{"value":"25.2.0.0/24","action":"Allow"}],"defaultAction":"Deny"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:58:06.5795218Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:58:06.5795218Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-28T08:58:06.4857581Z","primaryEndpoints":{"dfs":"https://cli000003.dfs.core.windows.net/","web":"https://cli000003.z22.web.core.windows.net/","blob":"https://cli000003.blob.core.windows.net/","queue":"https://cli000003.queue.core.windows.net/","table":"https://cli000003.table.core.windows.net/","file":"https://cli000003.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://cli000003-secondary.dfs.core.windows.net/","web":"https://cli000003-secondary.z22.web.core.windows.net/","blob":"https://cli000003-secondary.blob.core.windows.net/","queue":"https://cli000003-secondary.queue.core.windows.net/","table":"https://cli000003-secondary.table.core.windows.net/"}}}' + string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_storage_service_endpoints000001/providers/Microsoft.Storage/storageAccounts/cli000003","name":"cli000003","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"privateEndpointConnections":[],"networkAcls":{"bypass":"Logging","virtualNetworkRules":[],"ipRules":[{"value":"25.2.0.0/24","action":"Allow"}],"defaultAction":"Deny"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:17:18.6257026Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:17:18.6257026Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-05-20T08:17:18.5632132Z","primaryEndpoints":{"dfs":"https://cli000003.dfs.core.windows.net/","web":"https://cli000003.z22.web.core.windows.net/","blob":"https://cli000003.blob.core.windows.net/","queue":"https://cli000003.queue.core.windows.net/","table":"https://cli000003.table.core.windows.net/","file":"https://cli000003.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://cli000003-secondary.dfs.core.windows.net/","web":"https://cli000003-secondary.z22.web.core.windows.net/","blob":"https://cli000003-secondary.blob.core.windows.net/","queue":"https://cli000003-secondary.queue.core.windows.net/","table":"https://cli000003-secondary.table.core.windows.net/"}}}' headers: cache-control: - no-cache @@ -1634,7 +1630,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:59:07 GMT + - Thu, 20 May 2021 08:18:26 GMT expires: - '-1' pragma: diff --git a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_account_resource_access_rules.yaml b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_account_resource_access_rules.yaml index d0b359f7977..9934a1d153d 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_account_resource_access_rules.yaml +++ b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_account_resource_access_rules.yaml @@ -13,12 +13,12 @@ interactions: ParameterSetName: - -g --account-name --resource-id --tenant-id User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) 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=2020-08-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":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:57:39.3448564Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:57:39.3448564Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-28T08:57:39.2510451Z","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"}}' + 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":{"privateEndpointConnections":[],"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:16:53.4692259Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:16:53.4692259Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-05-20T08:16:53.3911452Z","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 @@ -27,7 +27,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:00 GMT + - Thu, 20 May 2021 08:17:14 GMT expires: - '-1' pragma: @@ -65,12 +65,12 @@ interactions: ParameterSetName: - -g --account-name --resource-id --tenant-id User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) 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=2020-08-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":{"privateEndpointConnections":[],"networkAcls":{"resourceAccessRules":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace1"}],"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:57:39.3448564Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:57:39.3448564Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-28T08:57:39.2510451Z","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"}}' + 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":{"privateEndpointConnections":[],"networkAcls":{"resourceAccessRules":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace1"}],"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:16:53.4692259Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:16:53.4692259Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-05-20T08:16:53.3911452Z","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 @@ -79,7 +79,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:00 GMT + - Thu, 20 May 2021 08:17:15 GMT expires: - '-1' pragma: @@ -95,7 +95,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1194' + - '1199' status: code: 200 message: OK @@ -113,12 +113,12 @@ interactions: ParameterSetName: - -g --account-name User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) 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=2020-08-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":{"privateEndpointConnections":[],"networkAcls":{"resourceAccessRules":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace1"}],"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:57:39.3448564Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:57:39.3448564Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-28T08:57:39.2510451Z","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"}}' + 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":{"privateEndpointConnections":[],"networkAcls":{"resourceAccessRules":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace1"}],"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:16:53.4692259Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:16:53.4692259Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-05-20T08:16:53.3911452Z","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 @@ -127,7 +127,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:02 GMT + - Thu, 20 May 2021 08:17:16 GMT expires: - '-1' pragma: @@ -159,12 +159,12 @@ interactions: ParameterSetName: - -g --account-name --resource-id --tenant-id User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) 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=2020-08-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":{"privateEndpointConnections":[],"networkAcls":{"resourceAccessRules":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace1"}],"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:57:39.3448564Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:57:39.3448564Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-28T08:57:39.2510451Z","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"}}' + 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":{"privateEndpointConnections":[],"networkAcls":{"resourceAccessRules":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace1"}],"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:16:53.4692259Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:16:53.4692259Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-05-20T08:16:53.3911452Z","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 @@ -173,7 +173,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:04 GMT + - Thu, 20 May 2021 08:17:17 GMT expires: - '-1' pragma: @@ -211,12 +211,12 @@ interactions: ParameterSetName: - -g --account-name --resource-id --tenant-id User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) 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=2020-08-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":{"privateEndpointConnections":[],"networkAcls":{"resourceAccessRules":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace1"}],"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:57:39.3448564Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:57:39.3448564Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-28T08:57:39.2510451Z","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"}}' + 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":{"privateEndpointConnections":[],"networkAcls":{"resourceAccessRules":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace1"}],"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:16:53.4692259Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:16:53.4692259Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-05-20T08:16:53.3911452Z","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 @@ -225,7 +225,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:04 GMT + - Thu, 20 May 2021 08:17:18 GMT expires: - '-1' pragma: @@ -241,7 +241,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1195' + - '1199' status: code: 200 message: OK @@ -259,12 +259,12 @@ interactions: ParameterSetName: - -g --account-name User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) 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=2020-08-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":{"privateEndpointConnections":[],"networkAcls":{"resourceAccessRules":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace1"}],"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:57:39.3448564Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:57:39.3448564Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-28T08:57:39.2510451Z","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"}}' + 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":{"privateEndpointConnections":[],"networkAcls":{"resourceAccessRules":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace1"}],"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:16:53.4692259Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:16:53.4692259Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-05-20T08:16:53.3911452Z","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 @@ -273,7 +273,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:04 GMT + - Thu, 20 May 2021 08:17:19 GMT expires: - '-1' pragma: @@ -305,12 +305,12 @@ interactions: ParameterSetName: - -g --account-name --resource-id --tenant-id User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) 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=2020-08-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":{"privateEndpointConnections":[],"networkAcls":{"resourceAccessRules":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace1"}],"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:57:39.3448564Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:57:39.3448564Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-28T08:57:39.2510451Z","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"}}' + 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":{"privateEndpointConnections":[],"networkAcls":{"resourceAccessRules":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace1"}],"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:16:53.4692259Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:16:53.4692259Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-05-20T08:16:53.3911452Z","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 @@ -319,7 +319,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:05 GMT + - Thu, 20 May 2021 08:17:20 GMT expires: - '-1' pragma: @@ -358,12 +358,12 @@ interactions: ParameterSetName: - -g --account-name --resource-id --tenant-id User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) 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=2020-08-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":{"privateEndpointConnections":[],"networkAcls":{"resourceAccessRules":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace1"},{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace2"}],"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:57:39.3448564Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:57:39.3448564Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-28T08:57:39.2510451Z","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"}}' + 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":{"privateEndpointConnections":[],"networkAcls":{"resourceAccessRules":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace1"},{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace2"}],"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:16:53.4692259Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:16:53.4692259Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-05-20T08:16:53.3911452Z","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 @@ -372,7 +372,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:06 GMT + - Thu, 20 May 2021 08:17:21 GMT expires: - '-1' pragma: @@ -388,7 +388,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' status: code: 200 message: OK @@ -406,12 +406,12 @@ interactions: ParameterSetName: - -g --account-name User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) 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=2020-08-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":{"privateEndpointConnections":[],"networkAcls":{"resourceAccessRules":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace1"},{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace2"}],"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:57:39.3448564Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:57:39.3448564Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-28T08:57:39.2510451Z","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"}}' + 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":{"privateEndpointConnections":[],"networkAcls":{"resourceAccessRules":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace1"},{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace2"}],"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:16:53.4692259Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:16:53.4692259Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-05-20T08:16:53.3911452Z","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 @@ -420,7 +420,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:07 GMT + - Thu, 20 May 2021 08:17:23 GMT expires: - '-1' pragma: @@ -452,12 +452,12 @@ interactions: ParameterSetName: - -g --account-name --resource-id --tenant-id User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) 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=2020-08-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":{"privateEndpointConnections":[],"networkAcls":{"resourceAccessRules":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace1"},{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace2"}],"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:57:39.3448564Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:57:39.3448564Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-28T08:57:39.2510451Z","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"}}' + 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":{"privateEndpointConnections":[],"networkAcls":{"resourceAccessRules":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace1"},{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace2"}],"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:16:53.4692259Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:16:53.4692259Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-05-20T08:16:53.3911452Z","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 @@ -466,7 +466,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:08 GMT + - Thu, 20 May 2021 08:17:24 GMT expires: - '-1' pragma: @@ -506,12 +506,12 @@ interactions: ParameterSetName: - -g --account-name --resource-id --tenant-id User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) 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=2020-08-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":{"privateEndpointConnections":[],"networkAcls":{"resourceAccessRules":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace1"},{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace2"},{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace3"}],"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:57:39.3448564Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:57:39.3448564Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-28T08:57:39.2510451Z","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"}}' + 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":{"privateEndpointConnections":[],"networkAcls":{"resourceAccessRules":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace1"},{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace2"},{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace3"}],"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:16:53.4692259Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:16:53.4692259Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-05-20T08:16:53.3911452Z","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 @@ -520,7 +520,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:09 GMT + - Thu, 20 May 2021 08:17:25 GMT expires: - '-1' pragma: @@ -536,7 +536,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1199' status: code: 200 message: OK @@ -554,12 +554,12 @@ interactions: ParameterSetName: - -g --account-name User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) 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=2020-08-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":{"privateEndpointConnections":[],"networkAcls":{"resourceAccessRules":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace1"},{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace2"},{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace3"}],"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:57:39.3448564Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:57:39.3448564Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-28T08:57:39.2510451Z","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"}}' + 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":{"privateEndpointConnections":[],"networkAcls":{"resourceAccessRules":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace1"},{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace2"},{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace3"}],"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:16:53.4692259Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:16:53.4692259Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-05-20T08:16:53.3911452Z","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 @@ -568,7 +568,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:10 GMT + - Thu, 20 May 2021 08:17:26 GMT expires: - '-1' pragma: @@ -600,12 +600,12 @@ interactions: ParameterSetName: - -g --account-name --resource-id --tenant-id User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) 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=2020-08-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":{"privateEndpointConnections":[],"networkAcls":{"resourceAccessRules":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace1"},{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace2"},{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace3"}],"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:57:39.3448564Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:57:39.3448564Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-28T08:57:39.2510451Z","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"}}' + 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":{"privateEndpointConnections":[],"networkAcls":{"resourceAccessRules":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace1"},{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace2"},{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace3"}],"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:16:53.4692259Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:16:53.4692259Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-05-20T08:16:53.3911452Z","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 @@ -614,7 +614,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:10 GMT + - Thu, 20 May 2021 08:17:26 GMT expires: - '-1' pragma: @@ -653,12 +653,12 @@ interactions: ParameterSetName: - -g --account-name --resource-id --tenant-id User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) 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=2020-08-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":{"privateEndpointConnections":[],"networkAcls":{"resourceAccessRules":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace2"},{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace3"}],"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:57:39.3448564Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:57:39.3448564Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-28T08:57:39.2510451Z","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"}}' + 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":{"privateEndpointConnections":[],"networkAcls":{"resourceAccessRules":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace2"},{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace3"}],"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:16:53.4692259Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:16:53.4692259Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-05-20T08:16:53.3911452Z","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 @@ -667,7 +667,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:11 GMT + - Thu, 20 May 2021 08:17:26 GMT expires: - '-1' pragma: @@ -683,7 +683,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1193' + - '1199' status: code: 200 message: OK @@ -701,12 +701,12 @@ interactions: ParameterSetName: - -g --account-name User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) 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=2020-08-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":{"privateEndpointConnections":[],"networkAcls":{"resourceAccessRules":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace2"},{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace3"}],"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:57:39.3448564Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:57:39.3448564Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-28T08:57:39.2510451Z","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"}}' + 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":{"privateEndpointConnections":[],"networkAcls":{"resourceAccessRules":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace2"},{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace3"}],"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:16:53.4692259Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:16:53.4692259Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-05-20T08:16:53.3911452Z","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 @@ -715,7 +715,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:12 GMT + - Thu, 20 May 2021 08:17:28 GMT expires: - '-1' pragma: @@ -747,12 +747,12 @@ interactions: ParameterSetName: - -g --account-name --resource-id --tenant-id User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) 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=2020-08-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":{"privateEndpointConnections":[],"networkAcls":{"resourceAccessRules":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace2"},{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace3"}],"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:57:39.3448564Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:57:39.3448564Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-28T08:57:39.2510451Z","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"}}' + 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":{"privateEndpointConnections":[],"networkAcls":{"resourceAccessRules":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace2"},{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace3"}],"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:16:53.4692259Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:16:53.4692259Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-05-20T08:16:53.3911452Z","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 @@ -761,7 +761,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:14 GMT + - Thu, 20 May 2021 08:17:29 GMT expires: - '-1' pragma: @@ -799,12 +799,12 @@ interactions: ParameterSetName: - -g --account-name --resource-id --tenant-id User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) 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=2020-08-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":{"privateEndpointConnections":[],"networkAcls":{"resourceAccessRules":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace3"}],"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:57:39.3448564Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:57:39.3448564Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-28T08:57:39.2510451Z","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"}}' + 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":{"privateEndpointConnections":[],"networkAcls":{"resourceAccessRules":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace3"}],"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:16:53.4692259Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:16:53.4692259Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-05-20T08:16:53.3911452Z","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 @@ -813,7 +813,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:14 GMT + - Thu, 20 May 2021 08:17:30 GMT expires: - '-1' pragma: @@ -847,12 +847,12 @@ interactions: ParameterSetName: - -g --account-name User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/16.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) 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=2020-08-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":{"privateEndpointConnections":[],"networkAcls":{"resourceAccessRules":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace3"}],"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:57:39.3448564Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:57:39.3448564Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-04-28T08:57:39.2510451Z","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"}}' + 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":{"privateEndpointConnections":[],"networkAcls":{"resourceAccessRules":[{"tenantId":"72f988bf-86f1-41af-91ab-2d7cd011db47","resourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/res9407/providers/Microsoft.Synapse/workspaces/testworkspace3"}],"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:16:53.4692259Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T08:16:53.4692259Z"}},"keySource":"Microsoft.Storage"},"provisioningState":"Succeeded","creationTime":"2021-05-20T08:16:53.3911452Z","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 @@ -861,7 +861,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:58:15 GMT + - Thu, 20 May 2021 08:17:32 GMT expires: - '-1' pragma: diff --git a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_adls_blob.yaml b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_adls_blob.yaml index 51a39eab7a5..37c81f783fd 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_adls_blob.yaml +++ b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_adls_blob.yaml @@ -13,15 +13,12 @@ interactions: ParameterSetName: - -n -g --kind --hierarchical-namespace --https-only User-Agent: - - python/3.7.7 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.1.0 Azure-SDK-For-Python AZURECLI/2.22.1 - accept-language: - - en-US + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-resource/16.1.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest.rg000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-04-28T08:46:04Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001","name":"clitest.rg000001","type":"Microsoft.Resources/resourceGroups","location":"westus","tags":{"product":"azurecli","cause":"automation","date":"2021-05-20T06:23:49Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -30,7 +27,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Wed, 28 Apr 2021 08:46:08 GMT + - Thu, 20 May 2021 06:23:54 GMT expires: - '-1' pragma: @@ -64,9 +61,9 @@ interactions: ParameterSetName: - -n -g --kind --hierarchical-namespace --https-only User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/17.1.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitestaldsaccount000002?api-version=2021-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitestaldsaccount000002?api-version=2021-04-01 response: body: string: '' @@ -78,11 +75,11 @@ interactions: content-type: - text/plain; charset=utf-8 date: - - Wed, 28 Apr 2021 08:46:15 GMT + - Thu, 20 May 2021 06:24:00 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/08812eed-30e7-44b2-ab50-9ccd0b2c6259?monitor=true&api-version=2021-02-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/b266b4d6-8b2a-490c-8539-f62f18252b99?monitor=true&api-version=2021-04-01 pragma: - no-cache server: @@ -92,7 +89,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1196' + - '1198' status: code: 202 message: Accepted @@ -110,12 +107,12 @@ interactions: ParameterSetName: - -n -g --kind --hierarchical-namespace --https-only User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/17.1.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/08812eed-30e7-44b2-ab50-9ccd0b2c6259?monitor=true&api-version=2021-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/westus/asyncoperations/b266b4d6-8b2a-490c-8539-f62f18252b99?monitor=true&api-version=2021-04-01 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/clitestaldsaccount000002","name":"clitestaldsaccount000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-28T08:46:13.4098354Z","key2":"2021-04-28T08:46:13.4098354Z"},"privateEndpointConnections":[],"isHnsEnabled":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:46:13.4098354Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:46:13.4098354Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-28T08:46:13.3160854Z","primaryEndpoints":{"dfs":"https://clitestaldsaccount000002.dfs.core.windows.net/","web":"https://clitestaldsaccount000002.z22.web.core.windows.net/","blob":"https://clitestaldsaccount000002.blob.core.windows.net/","queue":"https://clitestaldsaccount000002.queue.core.windows.net/","table":"https://clitestaldsaccount000002.table.core.windows.net/","file":"https://clitestaldsaccount000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://clitestaldsaccount000002-secondary.dfs.core.windows.net/","web":"https://clitestaldsaccount000002-secondary.z22.web.core.windows.net/","blob":"https://clitestaldsaccount000002-secondary.blob.core.windows.net/","queue":"https://clitestaldsaccount000002-secondary.queue.core.windows.net/","table":"https://clitestaldsaccount000002-secondary.table.core.windows.net/"}}}' + string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitestaldsaccount000002","name":"clitestaldsaccount000002","type":"Microsoft.Storage/storageAccounts","location":"westus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-05-20T06:23:59.2005008Z","key2":"2021-05-20T06:23:59.2005008Z"},"privateEndpointConnections":[],"isHnsEnabled":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T06:23:59.2005008Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T06:23:59.2005008Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-05-20T06:23:59.1067665Z","primaryEndpoints":{"dfs":"https://clitestaldsaccount000002.dfs.core.windows.net/","web":"https://clitestaldsaccount000002.z22.web.core.windows.net/","blob":"https://clitestaldsaccount000002.blob.core.windows.net/","queue":"https://clitestaldsaccount000002.queue.core.windows.net/","table":"https://clitestaldsaccount000002.table.core.windows.net/","file":"https://clitestaldsaccount000002.file.core.windows.net/"},"primaryLocation":"westus","statusOfPrimary":"available","secondaryLocation":"eastus","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://clitestaldsaccount000002-secondary.dfs.core.windows.net/","web":"https://clitestaldsaccount000002-secondary.z22.web.core.windows.net/","blob":"https://clitestaldsaccount000002-secondary.blob.core.windows.net/","queue":"https://clitestaldsaccount000002-secondary.queue.core.windows.net/","table":"https://clitestaldsaccount000002-secondary.table.core.windows.net/"}}}' headers: cache-control: - no-cache @@ -124,7 +121,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:46:32 GMT + - Thu, 20 May 2021 06:24:17 GMT expires: - '-1' pragma: @@ -158,12 +155,12 @@ interactions: ParameterSetName: - -n -g --query -o User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/17.1.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitestaldsaccount000002/listKeys?api-version=2021-02-01&$expand=kerb + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitestaldsaccount000002/listKeys?api-version=2021-04-01&$expand=kerb response: body: - string: '{"keys":[{"creationTime":"2021-04-28T08:46:13.4098354Z","keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"creationTime":"2021-04-28T08:46:13.4098354Z","keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' + string: '{"keys":[{"creationTime":"2021-05-20T06:23:59.2005008Z","keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"creationTime":"2021-05-20T06:23:59.2005008Z","keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' headers: cache-control: - no-cache @@ -172,7 +169,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:46:33 GMT + - Thu, 20 May 2021 06:24:18 GMT expires: - '-1' pragma: @@ -200,9 +197,9 @@ interactions: Content-Length: - '0' User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.7; Windows 10) AZURECLI/2.22.1 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Wed, 28 Apr 2021 08:46:34 GMT + - Thu, 20 May 2021 06:24:19 GMT x-ms-version: - '2018-11-09' method: PUT @@ -214,11 +211,11 @@ interactions: content-length: - '0' date: - - Wed, 28 Apr 2021 08:46:35 GMT + - Thu, 20 May 2021 06:24:21 GMT etag: - - '"0x8D90A22216F5300"' + - '"0x8D91B57E8140429"' last-modified: - - Wed, 28 Apr 2021 08:46:35 GMT + - Thu, 20 May 2021 06:24:21 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -232,9 +229,9 @@ interactions: Connection: - keep-alive User-Agent: - - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.7.7; Windows 10) AZURECLI/2.22.1 + - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Wed, 28 Apr 2021 08:46:35 GMT + - Thu, 20 May 2021 06:24:22 GMT x-ms-version: - '2019-02-02' method: HEAD @@ -244,7 +241,7 @@ interactions: string: '' headers: date: - - Wed, 28 Apr 2021 08:46:36 GMT + - Thu, 20 May 2021 06:24:22 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -262,9 +259,9 @@ interactions: Connection: - keep-alive User-Agent: - - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.7.7; Windows 10) AZURECLI/2.22.1 + - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Wed, 28 Apr 2021 08:46:37 GMT + - Thu, 20 May 2021 06:24:23 GMT x-ms-version: - '2019-02-02' method: HEAD @@ -274,7 +271,7 @@ interactions: string: '' headers: date: - - Wed, 28 Apr 2021 08:46:37 GMT + - Thu, 20 May 2021 06:24:24 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -294,9 +291,9 @@ interactions: Content-Length: - '0' User-Agent: - - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.7.7; Windows 10) AZURECLI/2.22.1 + - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Wed, 28 Apr 2021 08:46:38 GMT + - Thu, 20 May 2021 06:24:24 GMT x-ms-umask: - '0027' x-ms-version: @@ -310,11 +307,11 @@ interactions: content-length: - '0' date: - - Wed, 28 Apr 2021 08:46:39 GMT + - Thu, 20 May 2021 06:24:25 GMT etag: - - '"0x8D90A222396D39A"' + - '"0x8D91B57EA7339B4"' last-modified: - - Wed, 28 Apr 2021 08:46:39 GMT + - Thu, 20 May 2021 06:24:25 GMT server: - Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0 x-ms-request-server-encrypted: @@ -330,9 +327,9 @@ interactions: Connection: - keep-alive User-Agent: - - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.7.7; Windows 10) AZURECLI/2.22.1 + - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Wed, 28 Apr 2021 08:46:39 GMT + - Thu, 20 May 2021 06:24:26 GMT x-ms-version: - '2019-02-02' method: HEAD @@ -348,11 +345,11 @@ interactions: content-type: - application/octet-stream date: - - Wed, 28 Apr 2021 08:46:40 GMT + - Thu, 20 May 2021 06:24:26 GMT etag: - - '"0x8D90A222396D39A"' + - '"0x8D91B57EA7339B4"' last-modified: - - Wed, 28 Apr 2021 08:46:39 GMT + - Thu, 20 May 2021 06:24:25 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-access-tier: @@ -362,7 +359,7 @@ interactions: x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Wed, 28 Apr 2021 08:46:39 GMT + - Thu, 20 May 2021 06:24:25 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -390,24 +387,24 @@ interactions: ParameterSetName: - -f --account-name --account-key User-Agent: - - AZURECLI/2.22.1 azsdk-python-storage-dfs/12.3.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-storage-dfs/12.3.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Wed, 28 Apr 2021 08:46:40 GMT + - Thu, 20 May 2021 06:24:27 GMT x-ms-version: - '2020-02-10' method: GET uri: https://clitestaldsaccount000002.dfs.core.windows.net/cont000003?resource=filesystem&recursive=true&maxResults=5000 response: body: - string: '{"paths":[{"contentLength":"0","creationTime":"132640731991888794","etag":"0x8D90A222396D39A","group":"$superuser","isDirectory":"true","lastModified":"Wed, - 28 Apr 2021 08:46:39 GMT","name":"testdirectory","owner":"$superuser","permissions":"rwxr-x---"}]} + string: '{"paths":[{"contentLength":"0","creationTime":"132659654659160500","etag":"0x8D91B57EA7339B4","group":"$superuser","isDirectory":"true","lastModified":"Thu, + 20 May 2021 06:24:25 GMT","name":"testdirectory","owner":"$superuser","permissions":"rwxr-x---"}]} ' headers: content-type: - application/json;charset=utf-8 date: - - Wed, 28 Apr 2021 08:46:40 GMT + - Thu, 20 May 2021 06:24:27 GMT server: - Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -423,9 +420,9 @@ interactions: Connection: - keep-alive User-Agent: - - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.7.7; Windows 10) AZURECLI/2.22.1 + - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Wed, 28 Apr 2021 08:46:41 GMT + - Thu, 20 May 2021 06:24:28 GMT x-ms-version: - '2019-02-02' method: HEAD @@ -441,11 +438,11 @@ interactions: content-type: - application/octet-stream date: - - Wed, 28 Apr 2021 08:46:41 GMT + - Thu, 20 May 2021 06:24:29 GMT etag: - - '"0x8D90A222396D39A"' + - '"0x8D91B57EA7339B4"' last-modified: - - Wed, 28 Apr 2021 08:46:39 GMT + - Thu, 20 May 2021 06:24:25 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-access-tier: @@ -455,7 +452,7 @@ interactions: x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Wed, 28 Apr 2021 08:46:39 GMT + - Thu, 20 May 2021 06:24:25 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -475,9 +472,9 @@ interactions: Connection: - keep-alive User-Agent: - - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.7.7; Windows 10) AZURECLI/2.22.1 + - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Wed, 28 Apr 2021 08:46:42 GMT + - Thu, 20 May 2021 06:24:29 GMT x-ms-version: - '2019-02-02' method: HEAD @@ -487,11 +484,11 @@ interactions: string: '' headers: date: - - Wed, 28 Apr 2021 08:46:42 GMT + - Thu, 20 May 2021 06:24:30 GMT etag: - - '"0x8D90A222396D39A"' + - '"0x8D91B57EA7339B4"' last-modified: - - Wed, 28 Apr 2021 08:46:39 GMT + - Thu, 20 May 2021 06:24:25 GMT server: - Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0 x-ms-acl: @@ -513,9 +510,9 @@ interactions: Connection: - keep-alive User-Agent: - - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.7.7; Windows 10) AZURECLI/2.22.1 + - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Wed, 28 Apr 2021 08:46:43 GMT + - Thu, 20 May 2021 06:24:31 GMT x-ms-version: - '2019-02-02' method: HEAD @@ -531,11 +528,11 @@ interactions: content-type: - application/octet-stream date: - - Wed, 28 Apr 2021 08:46:44 GMT + - Thu, 20 May 2021 06:24:31 GMT etag: - - '"0x8D90A222396D39A"' + - '"0x8D91B57EA7339B4"' last-modified: - - Wed, 28 Apr 2021 08:46:39 GMT + - Thu, 20 May 2021 06:24:25 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-access-tier: @@ -545,7 +542,7 @@ interactions: x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Wed, 28 Apr 2021 08:46:39 GMT + - Thu, 20 May 2021 06:24:25 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -565,9 +562,9 @@ interactions: Connection: - keep-alive User-Agent: - - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.7.7; Windows 10) AZURECLI/2.22.1 + - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Wed, 28 Apr 2021 08:46:45 GMT + - Thu, 20 May 2021 06:24:32 GMT x-ms-version: - '2019-02-02' method: HEAD @@ -577,7 +574,7 @@ interactions: string: '' headers: date: - - Wed, 28 Apr 2021 08:46:45 GMT + - Thu, 20 May 2021 06:24:32 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -597,9 +594,9 @@ interactions: Content-Length: - '0' User-Agent: - - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.7.7; Windows 10) AZURECLI/2.22.1 + - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Wed, 28 Apr 2021 08:46:46 GMT + - Thu, 20 May 2021 06:24:33 GMT x-ms-permissions: - rwxrwxrwx x-ms-umask: @@ -615,11 +612,11 @@ interactions: content-length: - '0' date: - - Wed, 28 Apr 2021 08:46:46 GMT + - Thu, 20 May 2021 06:24:33 GMT etag: - - '"0x8D90A22284ADA05"' + - '"0x8D91B57EF88CE1A"' last-modified: - - Wed, 28 Apr 2021 08:46:47 GMT + - Thu, 20 May 2021 06:24:34 GMT server: - Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0 x-ms-request-server-encrypted: @@ -635,9 +632,9 @@ interactions: Connection: - keep-alive User-Agent: - - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.7.7; Windows 10) AZURECLI/2.22.1 + - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Wed, 28 Apr 2021 08:46:47 GMT + - Thu, 20 May 2021 06:24:34 GMT x-ms-version: - '2019-02-02' method: HEAD @@ -653,11 +650,11 @@ interactions: content-type: - application/octet-stream date: - - Wed, 28 Apr 2021 08:46:47 GMT + - Thu, 20 May 2021 06:24:35 GMT etag: - - '"0x8D90A22284ADA05"' + - '"0x8D91B57EF88CE1A"' last-modified: - - Wed, 28 Apr 2021 08:46:47 GMT + - Thu, 20 May 2021 06:24:34 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-access-tier: @@ -667,7 +664,7 @@ interactions: x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Wed, 28 Apr 2021 08:46:47 GMT + - Thu, 20 May 2021 06:24:34 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -687,9 +684,9 @@ interactions: Connection: - keep-alive User-Agent: - - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.7.7; Windows 10) AZURECLI/2.22.1 + - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Wed, 28 Apr 2021 08:46:48 GMT + - Thu, 20 May 2021 06:24:36 GMT x-ms-version: - '2019-02-02' method: HEAD @@ -699,11 +696,11 @@ interactions: string: '' headers: date: - - Wed, 28 Apr 2021 08:46:49 GMT + - Thu, 20 May 2021 06:24:36 GMT etag: - - '"0x8D90A22284ADA05"' + - '"0x8D91B57EF88CE1A"' last-modified: - - Wed, 28 Apr 2021 08:46:47 GMT + - Thu, 20 May 2021 06:24:34 GMT server: - Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0 x-ms-acl: @@ -727,11 +724,11 @@ interactions: Content-Length: - '131072' User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.7; Windows 10) AZURECLI/2.22.1 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-blob-type: - BlockBlob x-ms-date: - - Wed, 28 Apr 2021 08:46:49 GMT + - Thu, 20 May 2021 06:24:37 GMT x-ms-version: - '2018-11-09' method: PUT @@ -745,11 +742,11 @@ interactions: content-md5: - DfvoqkwgtS4bi/PLbL3xkw== date: - - Wed, 28 Apr 2021 08:46:50 GMT + - Thu, 20 May 2021 06:24:39 GMT etag: - - '"0x8D90A222AE86200"' + - '"0x8D91B57F27329ED"' last-modified: - - Wed, 28 Apr 2021 08:46:51 GMT + - Thu, 20 May 2021 06:24:39 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-request-server-encrypted: @@ -767,11 +764,11 @@ interactions: Content-Length: - '0' User-Agent: - - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.7.7; Windows 10) AZURECLI/2.22.1 + - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-acl: - user::rwx,group::r--,other::--- x-ms-date: - - Wed, 28 Apr 2021 08:46:51 GMT + - Thu, 20 May 2021 06:24:39 GMT x-ms-version: - '2019-02-02' method: PATCH @@ -783,11 +780,11 @@ interactions: content-length: - '0' date: - - Wed, 28 Apr 2021 08:46:52 GMT + - Thu, 20 May 2021 06:24:40 GMT etag: - - '"0x8D90A222AE86200"' + - '"0x8D91B57F27329ED"' last-modified: - - Wed, 28 Apr 2021 08:46:51 GMT + - Thu, 20 May 2021 06:24:39 GMT server: - Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0 x-ms-namespace-enabled: @@ -803,9 +800,9 @@ interactions: Connection: - keep-alive User-Agent: - - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.7.7; Windows 10) AZURECLI/2.22.1 + - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Wed, 28 Apr 2021 08:46:52 GMT + - Thu, 20 May 2021 06:24:40 GMT x-ms-version: - '2019-02-02' method: HEAD @@ -815,11 +812,11 @@ interactions: string: '' headers: date: - - Wed, 28 Apr 2021 08:46:53 GMT + - Thu, 20 May 2021 06:24:40 GMT etag: - - '"0x8D90A222AE86200"' + - '"0x8D91B57F27329ED"' last-modified: - - Wed, 28 Apr 2021 08:46:51 GMT + - Thu, 20 May 2021 06:24:39 GMT server: - Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0 x-ms-acl: @@ -843,9 +840,9 @@ interactions: Content-Length: - '0' User-Agent: - - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.7.7; Windows 10) AZURECLI/2.22.1 + - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Wed, 28 Apr 2021 08:46:53 GMT + - Thu, 20 May 2021 06:24:42 GMT x-ms-permissions: - rwxrwxrwx x-ms-version: @@ -859,11 +856,11 @@ interactions: content-length: - '0' date: - - Wed, 28 Apr 2021 08:46:53 GMT + - Thu, 20 May 2021 06:24:42 GMT etag: - - '"0x8D90A222AE86200"' + - '"0x8D91B57F27329ED"' last-modified: - - Wed, 28 Apr 2021 08:46:51 GMT + - Thu, 20 May 2021 06:24:39 GMT server: - Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0 x-ms-namespace-enabled: @@ -879,9 +876,9 @@ interactions: Connection: - keep-alive User-Agent: - - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.7.7; Windows 10) AZURECLI/2.22.1 + - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Wed, 28 Apr 2021 08:46:55 GMT + - Thu, 20 May 2021 06:24:43 GMT x-ms-version: - '2019-02-02' method: HEAD @@ -891,11 +888,11 @@ interactions: string: '' headers: date: - - Wed, 28 Apr 2021 08:46:55 GMT + - Thu, 20 May 2021 06:24:44 GMT etag: - - '"0x8D90A222AE86200"' + - '"0x8D91B57F27329ED"' last-modified: - - Wed, 28 Apr 2021 08:46:51 GMT + - Thu, 20 May 2021 06:24:39 GMT server: - Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0 x-ms-acl: @@ -919,11 +916,11 @@ interactions: Content-Length: - '0' User-Agent: - - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.7.7; Windows 10) AZURECLI/2.22.1 + - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-acl: - user::rwx,group::r--,other::--- x-ms-date: - - Wed, 28 Apr 2021 08:46:56 GMT + - Thu, 20 May 2021 06:24:44 GMT x-ms-version: - '2019-02-02' method: PATCH @@ -935,11 +932,11 @@ interactions: content-length: - '0' date: - - Wed, 28 Apr 2021 08:46:57 GMT + - Thu, 20 May 2021 06:24:44 GMT etag: - - '"0x8D90A222396D39A"' + - '"0x8D91B57EA7339B4"' last-modified: - - Wed, 28 Apr 2021 08:46:39 GMT + - Thu, 20 May 2021 06:24:25 GMT server: - Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0 x-ms-namespace-enabled: @@ -955,9 +952,9 @@ interactions: Connection: - keep-alive User-Agent: - - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.7.7; Windows 10) AZURECLI/2.22.1 + - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Wed, 28 Apr 2021 08:46:57 GMT + - Thu, 20 May 2021 06:24:45 GMT x-ms-version: - '2019-02-02' method: HEAD @@ -967,11 +964,11 @@ interactions: string: '' headers: date: - - Wed, 28 Apr 2021 08:46:58 GMT + - Thu, 20 May 2021 06:24:46 GMT etag: - - '"0x8D90A222396D39A"' + - '"0x8D91B57EA7339B4"' last-modified: - - Wed, 28 Apr 2021 08:46:39 GMT + - Thu, 20 May 2021 06:24:25 GMT server: - Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0 x-ms-acl: @@ -995,9 +992,9 @@ interactions: Content-Length: - '0' User-Agent: - - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.7.7; Windows 10) AZURECLI/2.22.1 + - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Wed, 28 Apr 2021 08:46:58 GMT + - Thu, 20 May 2021 06:24:47 GMT x-ms-permissions: - rwxrwxrwx x-ms-version: @@ -1011,11 +1008,11 @@ interactions: content-length: - '0' date: - - Wed, 28 Apr 2021 08:46:58 GMT + - Thu, 20 May 2021 06:24:48 GMT etag: - - '"0x8D90A222396D39A"' + - '"0x8D91B57EA7339B4"' last-modified: - - Wed, 28 Apr 2021 08:46:39 GMT + - Thu, 20 May 2021 06:24:25 GMT server: - Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0 x-ms-namespace-enabled: @@ -1031,9 +1028,9 @@ interactions: Connection: - keep-alive User-Agent: - - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.7.7; Windows 10) AZURECLI/2.22.1 + - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Wed, 28 Apr 2021 08:46:59 GMT + - Thu, 20 May 2021 06:24:48 GMT x-ms-version: - '2019-02-02' method: HEAD @@ -1043,11 +1040,11 @@ interactions: string: '' headers: date: - - Wed, 28 Apr 2021 08:47:00 GMT + - Thu, 20 May 2021 06:24:49 GMT etag: - - '"0x8D90A222396D39A"' + - '"0x8D91B57EA7339B4"' last-modified: - - Wed, 28 Apr 2021 08:46:39 GMT + - Thu, 20 May 2021 06:24:25 GMT server: - Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0 x-ms-acl: @@ -1071,9 +1068,9 @@ interactions: Content-Length: - '0' User-Agent: - - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.7.7; Windows 10) AZURECLI/2.22.1 + - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Wed, 28 Apr 2021 08:47:01 GMT + - Thu, 20 May 2021 06:24:49 GMT x-ms-meta-tag1: - value1 x-ms-version: @@ -1087,11 +1084,11 @@ interactions: content-length: - '0' date: - - Wed, 28 Apr 2021 08:47:01 GMT + - Thu, 20 May 2021 06:24:50 GMT etag: - - '"0x8D90A223134AEE8"' + - '"0x8D91B57F9460528"' last-modified: - - Wed, 28 Apr 2021 08:47:02 GMT + - Thu, 20 May 2021 06:24:50 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-request-server-encrypted: @@ -1107,9 +1104,9 @@ interactions: Connection: - keep-alive User-Agent: - - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.7.7; Windows 10) AZURECLI/2.22.1 + - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Wed, 28 Apr 2021 08:47:02 GMT + - Thu, 20 May 2021 06:24:51 GMT x-ms-version: - '2019-02-02' method: GET @@ -1121,11 +1118,11 @@ interactions: content-length: - '0' date: - - Wed, 28 Apr 2021 08:47:02 GMT + - Thu, 20 May 2021 06:24:52 GMT etag: - - '"0x8D90A223134AEE8"' + - '"0x8D91B57F9460528"' last-modified: - - Wed, 28 Apr 2021 08:47:02 GMT + - Thu, 20 May 2021 06:24:50 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-meta-hdi_isfolder: @@ -1145,9 +1142,9 @@ interactions: Content-Length: - '0' User-Agent: - - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.7.7; Windows 10) AZURECLI/2.22.1 + - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Wed, 28 Apr 2021 08:47:03 GMT + - Thu, 20 May 2021 06:24:52 GMT x-ms-version: - '2019-02-02' method: DELETE @@ -1159,7 +1156,7 @@ interactions: content-length: - '0' date: - - Wed, 28 Apr 2021 08:47:03 GMT + - Thu, 20 May 2021 06:24:52 GMT server: - Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -1173,9 +1170,9 @@ interactions: Connection: - keep-alive User-Agent: - - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.7.7; Windows 10) AZURECLI/2.22.1 + - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Wed, 28 Apr 2021 08:47:04 GMT + - Thu, 20 May 2021 06:24:53 GMT x-ms-version: - '2019-02-02' method: HEAD @@ -1185,7 +1182,7 @@ interactions: string: '' headers: date: - - Wed, 28 Apr 2021 08:47:04 GMT + - Thu, 20 May 2021 06:24:54 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: diff --git a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_adls_blob_move.yaml b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_adls_blob_move.yaml index 64249227e55..57dde0a29dd 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_adls_blob_move.yaml +++ b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_adls_blob_move.yaml @@ -19,9 +19,9 @@ interactions: ParameterSetName: - -n -g --kind --hierarchical-namespace -l --https-only User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/17.1.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitestaldsaccount000002?api-version=2021-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitestaldsaccount000002?api-version=2021-04-01 response: body: string: '' @@ -33,11 +33,11 @@ interactions: content-type: - text/plain; charset=utf-8 date: - - Wed, 28 Apr 2021 08:46:19 GMT + - Thu, 20 May 2021 06:24:02 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/centralus/asyncoperations/f4e23635-de3a-4d53-b74c-efba17f457fc?monitor=true&api-version=2021-02-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/centralus/asyncoperations/c622c69b-e7fc-41a2-811d-efa23125de2b?monitor=true&api-version=2021-04-01 pragma: - no-cache server: @@ -47,7 +47,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1198' status: code: 202 message: Accepted @@ -65,12 +65,12 @@ interactions: ParameterSetName: - -n -g --kind --hierarchical-namespace -l --https-only User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/17.1.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/centralus/asyncoperations/f4e23635-de3a-4d53-b74c-efba17f457fc?monitor=true&api-version=2021-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Storage/locations/centralus/asyncoperations/c622c69b-e7fc-41a2-811d-efa23125de2b?monitor=true&api-version=2021-04-01 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/clitestaldsaccount000002","name":"clitestaldsaccount000002","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"keyCreationTime":{"key1":"2021-04-28T08:46:16.7788283Z","key2":"2021-04-28T08:46:16.7788283Z"},"privateEndpointConnections":[],"isHnsEnabled":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:46:16.7788283Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-04-28T08:46:16.7788283Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-04-28T08:46:16.6850246Z","primaryEndpoints":{"dfs":"https://clitestaldsaccount000002.dfs.core.windows.net/","web":"https://clitestaldsaccount000002.z19.web.core.windows.net/","blob":"https://clitestaldsaccount000002.blob.core.windows.net/","queue":"https://clitestaldsaccount000002.queue.core.windows.net/","table":"https://clitestaldsaccount000002.table.core.windows.net/","file":"https://clitestaldsaccount000002.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://clitestaldsaccount000002-secondary.dfs.core.windows.net/","web":"https://clitestaldsaccount000002-secondary.z19.web.core.windows.net/","blob":"https://clitestaldsaccount000002-secondary.blob.core.windows.net/","queue":"https://clitestaldsaccount000002-secondary.queue.core.windows.net/","table":"https://clitestaldsaccount000002-secondary.table.core.windows.net/"}}}' + string: '{"sku":{"name":"Standard_RAGRS","tier":"Standard"},"kind":"StorageV2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitestaldsaccount000002","name":"clitestaldsaccount000002","type":"Microsoft.Storage/storageAccounts","location":"centralus","tags":{},"properties":{"privateEndpointConnections":[],"isHnsEnabled":true,"networkAcls":{"bypass":"AzureServices","virtualNetworkRules":[],"ipRules":[],"defaultAction":"Allow"},"supportsHttpsTrafficOnly":true,"encryption":{"services":{"file":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T06:24:01.0112417Z"},"blob":{"keyType":"Account","enabled":true,"lastEnabledTime":"2021-05-20T06:24:01.0112417Z"}},"keySource":"Microsoft.Storage"},"accessTier":"Hot","provisioningState":"Succeeded","creationTime":"2021-05-20T06:24:00.9174536Z","primaryEndpoints":{"dfs":"https://clitestaldsaccount000002.dfs.core.windows.net/","web":"https://clitestaldsaccount000002.z19.web.core.windows.net/","blob":"https://clitestaldsaccount000002.blob.core.windows.net/","queue":"https://clitestaldsaccount000002.queue.core.windows.net/","table":"https://clitestaldsaccount000002.table.core.windows.net/","file":"https://clitestaldsaccount000002.file.core.windows.net/"},"primaryLocation":"centralus","statusOfPrimary":"available","secondaryLocation":"eastus2","statusOfSecondary":"available","secondaryEndpoints":{"dfs":"https://clitestaldsaccount000002-secondary.dfs.core.windows.net/","web":"https://clitestaldsaccount000002-secondary.z19.web.core.windows.net/","blob":"https://clitestaldsaccount000002-secondary.blob.core.windows.net/","queue":"https://clitestaldsaccount000002-secondary.queue.core.windows.net/","table":"https://clitestaldsaccount000002-secondary.table.core.windows.net/"},"keyCreationTime":{"key1":"2021-05-20T06:24:00.9956054Z","key2":"2021-05-20T06:24:00.9956054Z"}}}' headers: cache-control: - no-cache @@ -79,7 +79,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:46:36 GMT + - Thu, 20 May 2021 06:24:20 GMT expires: - '-1' pragma: @@ -113,12 +113,12 @@ interactions: ParameterSetName: - -n -g --query -o User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/17.1.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitestaldsaccount000002/listKeys?api-version=2021-02-01&$expand=kerb + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitestaldsaccount000002/listKeys?api-version=2021-04-01&$expand=kerb response: body: - string: '{"keys":[{"creationTime":"2021-04-28T08:46:16.7788283Z","keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"creationTime":"2021-04-28T08:46:16.7788283Z","keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' + string: '{"keys":[{"creationTime":"2021-05-20T06:24:00.9956054Z","keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"creationTime":"2021-05-20T06:24:00.9956054Z","keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' headers: cache-control: - no-cache @@ -127,7 +127,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:46:38 GMT + - Thu, 20 May 2021 06:24:22 GMT expires: - '-1' pragma: @@ -143,7 +143,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11999' + - '11998' status: code: 200 message: OK @@ -155,9 +155,9 @@ interactions: Content-Length: - '0' User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.7; Windows 10) AZURECLI/2.22.1 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Wed, 28 Apr 2021 08:46:38 GMT + - Thu, 20 May 2021 06:24:22 GMT x-ms-version: - '2018-11-09' method: PUT @@ -169,11 +169,11 @@ interactions: content-length: - '0' date: - - Wed, 28 Apr 2021 08:46:39 GMT + - Thu, 20 May 2021 06:24:24 GMT etag: - - '"0x8D90A222428493A"' + - '"0x8D91B57EA03837E"' last-modified: - - Wed, 28 Apr 2021 08:46:40 GMT + - Thu, 20 May 2021 06:24:25 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -187,9 +187,9 @@ interactions: Connection: - keep-alive User-Agent: - - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.7.7; Windows 10) AZURECLI/2.22.1 + - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Wed, 28 Apr 2021 08:46:40 GMT + - Thu, 20 May 2021 06:24:25 GMT x-ms-version: - '2019-02-02' method: HEAD @@ -199,7 +199,7 @@ interactions: string: '' headers: date: - - Wed, 28 Apr 2021 08:46:40 GMT + - Thu, 20 May 2021 06:24:26 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -219,9 +219,9 @@ interactions: Content-Length: - '0' User-Agent: - - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.7.7; Windows 10) AZURECLI/2.22.1 + - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Wed, 28 Apr 2021 08:46:41 GMT + - Thu, 20 May 2021 06:24:26 GMT x-ms-umask: - '0027' x-ms-version: @@ -235,13 +235,15 @@ interactions: content-length: - '0' date: - - Wed, 28 Apr 2021 08:46:42 GMT + - Thu, 20 May 2021 06:24:27 GMT etag: - - '"0x8D90A2225BE70DD"' + - '"0x8D91B57EBA82C82"' last-modified: - - Wed, 28 Apr 2021 08:46:42 GMT + - Thu, 20 May 2021 06:24:27 GMT server: - Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0 + x-ms-request-server-encrypted: + - 'true' x-ms-version: - '2019-02-02' status: @@ -255,11 +257,11 @@ interactions: Content-Length: - '131072' User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.7; Windows 10) AZURECLI/2.22.1 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-blob-type: - BlockBlob x-ms-date: - - Wed, 28 Apr 2021 08:46:43 GMT + - Thu, 20 May 2021 06:24:28 GMT x-ms-version: - '2018-11-09' method: PUT @@ -273,11 +275,11 @@ interactions: content-md5: - DfvoqkwgtS4bi/PLbL3xkw== date: - - Wed, 28 Apr 2021 08:46:44 GMT + - Thu, 20 May 2021 06:24:29 GMT etag: - - '"0x8D90A222715C34F"' + - '"0x8D91B57ED1A9054"' last-modified: - - Wed, 28 Apr 2021 08:46:45 GMT + - Thu, 20 May 2021 06:24:30 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-request-server-encrypted: @@ -293,9 +295,9 @@ interactions: Connection: - keep-alive User-Agent: - - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.7.7; Windows 10) AZURECLI/2.22.1 + - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Wed, 28 Apr 2021 08:46:45 GMT + - Thu, 20 May 2021 06:24:30 GMT x-ms-version: - '2019-02-02' method: HEAD @@ -305,7 +307,7 @@ interactions: string: '' headers: date: - - Wed, 28 Apr 2021 08:46:45 GMT + - Thu, 20 May 2021 06:24:31 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -325,9 +327,9 @@ interactions: Content-Length: - '0' User-Agent: - - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.7.7; Windows 10) AZURECLI/2.22.1 + - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Wed, 28 Apr 2021 08:46:46 GMT + - Thu, 20 May 2021 06:24:31 GMT x-ms-umask: - '0027' x-ms-version: @@ -341,13 +343,15 @@ interactions: content-length: - '0' date: - - Wed, 28 Apr 2021 08:46:47 GMT + - Thu, 20 May 2021 06:24:32 GMT etag: - - '"0x8D90A22287CCE04"' + - '"0x8D91B57EE9225ED"' last-modified: - - Wed, 28 Apr 2021 08:46:47 GMT + - Thu, 20 May 2021 06:24:32 GMT server: - Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0 + x-ms-request-server-encrypted: + - 'true' x-ms-version: - '2019-02-02' status: @@ -359,9 +363,9 @@ interactions: Connection: - keep-alive User-Agent: - - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.7.7; Windows 10) AZURECLI/2.22.1 + - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Wed, 28 Apr 2021 08:46:47 GMT + - Thu, 20 May 2021 06:24:33 GMT x-ms-version: - '2019-02-02' method: HEAD @@ -379,11 +383,11 @@ interactions: content-type: - application/octet-stream date: - - Wed, 28 Apr 2021 08:46:48 GMT + - Thu, 20 May 2021 06:24:33 GMT etag: - - '"0x8D90A222715C34F"' + - '"0x8D91B57ED1A9054"' last-modified: - - Wed, 28 Apr 2021 08:46:45 GMT + - Thu, 20 May 2021 06:24:30 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-access-tier: @@ -393,7 +397,7 @@ interactions: x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Wed, 28 Apr 2021 08:46:45 GMT + - Thu, 20 May 2021 06:24:30 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -411,9 +415,9 @@ interactions: Connection: - keep-alive User-Agent: - - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.7.7; Windows 10) AZURECLI/2.22.1 + - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Wed, 28 Apr 2021 08:46:48 GMT + - Thu, 20 May 2021 06:24:34 GMT x-ms-version: - '2019-02-02' method: HEAD @@ -423,7 +427,7 @@ interactions: string: '' headers: date: - - Wed, 28 Apr 2021 08:46:48 GMT + - Thu, 20 May 2021 06:24:33 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -443,11 +447,11 @@ interactions: Content-Length: - '0' User-Agent: - - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.7.7; Windows 10) AZURECLI/2.22.1 + - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Wed, 28 Apr 2021 08:46:48 GMT + - Thu, 20 May 2021 06:24:34 GMT x-ms-rename-source: - - /cont4oivmqb5nxugfeletfpl/dir/blobwa4fgaqx374bnddsjxfw + - /conticd2oqeulfvoudkwkibh/dir/blobh6acri32tk2mpjjauriu x-ms-version: - '2019-02-02' method: PUT @@ -459,7 +463,7 @@ interactions: content-length: - '0' date: - - Wed, 28 Apr 2021 08:46:49 GMT + - Thu, 20 May 2021 06:24:34 GMT server: - Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -473,9 +477,9 @@ interactions: Connection: - keep-alive User-Agent: - - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.7.7; Windows 10) AZURECLI/2.22.1 + - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Wed, 28 Apr 2021 08:46:50 GMT + - Thu, 20 May 2021 06:24:35 GMT x-ms-version: - '2019-02-02' method: GET @@ -484,9 +488,9 @@ interactions: body: string: "\uFEFFdir1/5000dir1/blob000004Wed, - 28 Apr 2021 08:46:45 GMTWed, 28 Apr 2021 08:46:45 - GMT0x8D90A222715C34F131072application/octet-streamdir1/5000dir1/blob000004Thu, + 20 May 2021 06:24:30 GMTThu, 20 May 2021 06:24:30 + GMT0x8D91B57ED1A9054131072application/octet-streamDfvoqkwgtS4bi/PLbL3xkw==BlockBlobHottrueunlockedavailabletrue" @@ -494,7 +498,7 @@ interactions: content-type: - application/xml date: - - Wed, 28 Apr 2021 08:46:50 GMT + - Thu, 20 May 2021 06:24:36 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -510,9 +514,9 @@ interactions: Connection: - keep-alive User-Agent: - - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.7.7; Windows 10) AZURECLI/2.22.1 + - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Wed, 28 Apr 2021 08:46:51 GMT + - Thu, 20 May 2021 06:24:37 GMT x-ms-version: - '2019-02-02' method: GET @@ -527,7 +531,7 @@ interactions: content-type: - application/xml date: - - Wed, 28 Apr 2021 08:46:52 GMT + - Thu, 20 May 2021 06:24:37 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -543,9 +547,9 @@ interactions: Connection: - keep-alive User-Agent: - - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.7.7; Windows 10) AZURECLI/2.22.1 + - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Wed, 28 Apr 2021 08:46:52 GMT + - Thu, 20 May 2021 06:24:38 GMT x-ms-version: - '2019-02-02' method: HEAD @@ -563,11 +567,11 @@ interactions: content-type: - application/octet-stream date: - - Wed, 28 Apr 2021 08:46:52 GMT + - Thu, 20 May 2021 06:24:38 GMT etag: - - '"0x8D90A222715C34F"' + - '"0x8D91B57ED1A9054"' last-modified: - - Wed, 28 Apr 2021 08:46:45 GMT + - Thu, 20 May 2021 06:24:30 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-access-tier: @@ -577,7 +581,7 @@ interactions: x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Wed, 28 Apr 2021 08:46:45 GMT + - Thu, 20 May 2021 06:24:30 GMT x-ms-lease-state: - available x-ms-lease-status: @@ -595,9 +599,9 @@ interactions: Connection: - keep-alive User-Agent: - - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.7.7; Windows 10) AZURECLI/2.22.1 + - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Wed, 28 Apr 2021 08:46:53 GMT + - Thu, 20 May 2021 06:24:39 GMT x-ms-version: - '2019-02-02' method: HEAD @@ -607,7 +611,7 @@ interactions: string: '' headers: date: - - Wed, 28 Apr 2021 08:46:53 GMT + - Thu, 20 May 2021 06:24:39 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -627,11 +631,11 @@ interactions: Content-Length: - '0' User-Agent: - - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.7.7; Windows 10) AZURECLI/2.22.1 + - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Wed, 28 Apr 2021 08:46:54 GMT + - Thu, 20 May 2021 06:24:40 GMT x-ms-rename-source: - - /cont4oivmqb5nxugfeletfpl/dir1/blobwa4fgaqx374bnddsjxfw + - /conticd2oqeulfvoudkwkibh/dir1/blobh6acri32tk2mpjjauriu x-ms-version: - '2019-02-02' method: PUT @@ -643,7 +647,7 @@ interactions: content-length: - '0' date: - - Wed, 28 Apr 2021 08:46:54 GMT + - Thu, 20 May 2021 06:24:40 GMT server: - Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -657,9 +661,9 @@ interactions: Connection: - keep-alive User-Agent: - - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.7.7; Windows 10) AZURECLI/2.22.1 + - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Wed, 28 Apr 2021 08:46:55 GMT + - Thu, 20 May 2021 06:24:41 GMT x-ms-version: - '2019-02-02' method: GET @@ -668,9 +672,9 @@ interactions: body: string: "\uFEFFdir1/5000dir1/blob000005Wed, - 28 Apr 2021 08:46:45 GMTWed, 28 Apr 2021 08:46:45 - GMT0x8D90A222715C34F131072application/octet-streamdir1/5000dir1/blob000005Thu, + 20 May 2021 06:24:30 GMTThu, 20 May 2021 06:24:30 + GMT0x8D91B57ED1A9054131072application/octet-streamDfvoqkwgtS4bi/PLbL3xkw==BlockBlobHottrueunlockedavailabletrue" @@ -678,7 +682,7 @@ interactions: content-type: - application/xml date: - - Wed, 28 Apr 2021 08:46:55 GMT + - Thu, 20 May 2021 06:24:41 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 transfer-encoding: @@ -694,9 +698,9 @@ interactions: Connection: - keep-alive User-Agent: - - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.7.7; Windows 10) AZURECLI/2.22.1 + - Azure-Storage/2.1.0-2.1.0 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Wed, 28 Apr 2021 08:46:56 GMT + - Thu, 20 May 2021 06:24:43 GMT x-ms-version: - '2019-02-02' method: HEAD @@ -712,11 +716,11 @@ interactions: content-type: - application/octet-stream date: - - Wed, 28 Apr 2021 08:46:57 GMT + - Thu, 20 May 2021 06:24:43 GMT etag: - - '"0x8D90A22287CCE04"' + - '"0x8D91B57EE9225ED"' last-modified: - - Wed, 28 Apr 2021 08:46:47 GMT + - Thu, 20 May 2021 06:24:32 GMT server: - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 x-ms-access-tier: @@ -726,7 +730,7 @@ interactions: x-ms-blob-type: - BlockBlob x-ms-creation-time: - - Wed, 28 Apr 2021 08:46:47 GMT + - Thu, 20 May 2021 06:24:32 GMT x-ms-lease-state: - available x-ms-lease-status: diff --git a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_file_upload_small_file_v2.yaml b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_file_upload_small_file_v2.yaml index 38b11f0b890..7cf1e866266 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_file_upload_small_file_v2.yaml +++ b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_file_upload_small_file_v2.yaml @@ -15,12 +15,12 @@ interactions: ParameterSetName: - -n -g --query -o User-Agent: - - AZURECLI/2.22.1 azsdk-python-azure-mgmt-storage/17.1.0 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.23.0 azsdk-python-azure-mgmt-storage/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2021-02-01&$expand=kerb + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2021-04-01&$expand=kerb response: body: - string: '{"keys":[{"creationTime":"2021-04-28T08:46:14.1285706Z","keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"creationTime":"2021-04-28T08:46:14.1285706Z","keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' + string: '{"keys":[{"creationTime":"2021-05-20T06:25:43.5298863Z","keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"creationTime":"2021-05-20T06:25:43.5298863Z","keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' headers: cache-control: - no-cache @@ -29,7 +29,7 @@ interactions: content-type: - application/json date: - - Wed, 28 Apr 2021 08:46:34 GMT + - Thu, 20 May 2021 06:26:03 GMT expires: - '-1' pragma: @@ -45,7 +45,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-resource-requests: - - '11998' + - '11999' status: code: 200 message: OK @@ -57,9 +57,9 @@ interactions: Content-Length: - '0' User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.7; Windows 10) AZURECLI/2.22.1 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Wed, 28 Apr 2021 08:46:35 GMT + - Thu, 20 May 2021 06:26:05 GMT x-ms-version: - '2018-11-09' method: PUT @@ -71,11 +71,11 @@ interactions: content-length: - '0' date: - - Wed, 28 Apr 2021 08:46:35 GMT + - Thu, 20 May 2021 06:26:06 GMT etag: - - '"0x8D90A2221EB8EB6"' + - '"0x8D91B582641DF9B"' last-modified: - - Wed, 28 Apr 2021 08:46:36 GMT + - Thu, 20 May 2021 06:26:06 GMT server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 x-ms-version: @@ -95,7 +95,7 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file-share/12.3.0b1 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-file-share/12.3.0b1 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-cache-control: - no-cache x-ms-content-disposition: @@ -109,7 +109,7 @@ interactions: x-ms-content-type: - multipart/form-data; x-ms-date: - - Wed, 28 Apr 2021 08:46:37 GMT + - Thu, 20 May 2021 06:26:07 GMT x-ms-file-attributes: - none x-ms-file-creation-time: @@ -135,27 +135,27 @@ interactions: content-length: - '0' date: - - Wed, 28 Apr 2021 08:46:37 GMT + - Thu, 20 May 2021 06:26:07 GMT etag: - - '"0x8D90A22230ADBC2"' + - '"0x8D91B58277AC466"' last-modified: - - Wed, 28 Apr 2021 08:46:38 GMT + - Thu, 20 May 2021 06:26:08 GMT server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 x-ms-file-attributes: - Archive x-ms-file-change-time: - - '2021-04-28T08:46:38.2715842Z' + - '2021-05-20T06:26:08.3064934Z' x-ms-file-creation-time: - - '2021-04-28T08:46:38.2715842Z' + - '2021-05-20T06:26:08.3064934Z' x-ms-file-id: - '13835128424026341376' x-ms-file-last-write-time: - - '2021-04-28T08:46:38.2715842Z' + - '2021-05-20T06:26:08.3064934Z' x-ms-file-parent-id: - '0' x-ms-file-permission-key: - - 3551120514346288423*11090383507847605673 + - 4979777615065758298*17130374783272374996 x-ms-request-server-encrypted: - 'true' x-ms-version: @@ -178,9 +178,9 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file-share/12.3.0b1 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-file-share/12.3.0b1 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Wed, 28 Apr 2021 08:46:38 GMT + - Thu, 20 May 2021 06:26:08 GMT x-ms-range: - bytes=0-86 x-ms-version: @@ -198,11 +198,11 @@ interactions: content-md5: - sYGKK8OX+WLKH+2bAe4tSQ== date: - - Wed, 28 Apr 2021 08:46:38 GMT + - Thu, 20 May 2021 06:26:07 GMT etag: - - '"0x8D90A2223312F0E"' + - '"0x8D91B5827A67022"' last-modified: - - Wed, 28 Apr 2021 08:46:38 GMT + - Thu, 20 May 2021 06:26:08 GMT server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 x-ms-request-server-encrypted: @@ -218,9 +218,9 @@ interactions: Connection: - keep-alive User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.7; Windows 10) AZURECLI/2.22.1 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Wed, 28 Apr 2021 08:46:38 GMT + - Thu, 20 May 2021 06:26:08 GMT x-ms-version: - '2018-11-09' method: HEAD @@ -242,11 +242,11 @@ interactions: content-type: - multipart/form-data; date: - - Wed, 28 Apr 2021 08:46:39 GMT + - Thu, 20 May 2021 06:26:09 GMT etag: - - '"0x8D90A2223312F0E"' + - '"0x8D91B5827A67022"' last-modified: - - Wed, 28 Apr 2021 08:46:38 GMT + - Thu, 20 May 2021 06:26:08 GMT server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 x-ms-meta-key: @@ -272,11 +272,11 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file-share/12.3.0b1 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-file-share/12.3.0b1 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-content-length: - '87' x-ms-date: - - Wed, 28 Apr 2021 08:46:40 GMT + - Thu, 20 May 2021 06:26:10 GMT x-ms-file-attributes: - none x-ms-file-creation-time: @@ -294,14 +294,14 @@ interactions: response: body: string: "\uFEFFParentNotFoundThe - specified parent path does not exist.\nRequestId:07d312d1-c01a-0050-100b-3c0738000000\nTime:2021-04-28T08:46:40.9747475Z" + specified parent path does not exist.\nRequestId:1210ced7-a01a-012e-6b41-4df7f1000000\nTime:2021-05-20T06:26:11.4650449Z" headers: content-length: - '224' content-type: - application/xml date: - - Wed, 28 Apr 2021 08:46:40 GMT + - Thu, 20 May 2021 06:26:10 GMT server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 x-ms-error-code: @@ -319,9 +319,9 @@ interactions: Content-Length: - '0' User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.7; Windows 10) AZURECLI/2.22.1 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Wed, 28 Apr 2021 08:46:41 GMT + - Thu, 20 May 2021 06:26:11 GMT x-ms-version: - '2018-11-09' method: PUT @@ -333,11 +333,11 @@ interactions: content-length: - '0' date: - - Wed, 28 Apr 2021 08:46:41 GMT + - Thu, 20 May 2021 06:26:12 GMT etag: - - '"0x8D90A22254C7CB5"' + - '"0x8D91B582A171CBD"' last-modified: - - Wed, 28 Apr 2021 08:46:42 GMT + - Thu, 20 May 2021 06:26:12 GMT server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 x-ms-request-server-encrypted: @@ -359,11 +359,11 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file-share/12.3.0b1 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-file-share/12.3.0b1 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-content-length: - '87' x-ms-date: - - Wed, 28 Apr 2021 08:46:42 GMT + - Thu, 20 May 2021 06:26:12 GMT x-ms-file-attributes: - none x-ms-file-creation-time: @@ -385,27 +385,27 @@ interactions: content-length: - '0' date: - - Wed, 28 Apr 2021 08:46:43 GMT + - Thu, 20 May 2021 06:26:13 GMT etag: - - '"0x8D90A2225FADC23"' + - '"0x8D91B582AD33B73"' last-modified: - - Wed, 28 Apr 2021 08:46:43 GMT + - Thu, 20 May 2021 06:26:13 GMT server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 x-ms-file-attributes: - Archive x-ms-file-change-time: - - '2021-04-28T08:46:43.1999011Z' + - '2021-05-20T06:26:13.9194227Z' x-ms-file-creation-time: - - '2021-04-28T08:46:43.1999011Z' + - '2021-05-20T06:26:13.9194227Z' x-ms-file-id: - '13835075647468208128' x-ms-file-last-write-time: - - '2021-04-28T08:46:43.1999011Z' + - '2021-05-20T06:26:13.9194227Z' x-ms-file-parent-id: - '13835163608398430208' x-ms-file-permission-key: - - 3551120514346288423*11090383507847605673 + - 4979777615065758298*17130374783272374996 x-ms-request-server-encrypted: - 'true' x-ms-version: @@ -428,9 +428,9 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file-share/12.3.0b1 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-file-share/12.3.0b1 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Wed, 28 Apr 2021 08:46:43 GMT + - Thu, 20 May 2021 06:26:14 GMT x-ms-range: - bytes=0-86 x-ms-version: @@ -448,11 +448,11 @@ interactions: content-md5: - sYGKK8OX+WLKH+2bAe4tSQ== date: - - Wed, 28 Apr 2021 08:46:43 GMT + - Thu, 20 May 2021 06:26:13 GMT etag: - - '"0x8D90A222620E14B"' + - '"0x8D91B582AFC75C3"' last-modified: - - Wed, 28 Apr 2021 08:46:43 GMT + - Thu, 20 May 2021 06:26:14 GMT server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 x-ms-request-server-encrypted: @@ -468,9 +468,9 @@ interactions: Connection: - keep-alive User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.7; Windows 10) AZURECLI/2.22.1 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Wed, 28 Apr 2021 08:46:43 GMT + - Thu, 20 May 2021 06:26:14 GMT x-ms-version: - '2018-11-09' method: HEAD @@ -484,11 +484,11 @@ interactions: content-type: - application/octet-stream date: - - Wed, 28 Apr 2021 08:46:44 GMT + - Thu, 20 May 2021 06:26:14 GMT etag: - - '"0x8D90A222620E14B"' + - '"0x8D91B582AFC75C3"' last-modified: - - Wed, 28 Apr 2021 08:46:43 GMT + - Thu, 20 May 2021 06:26:14 GMT server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 x-ms-server-encrypted: @@ -512,11 +512,11 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file-share/12.3.0b1 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-file-share/12.3.0b1 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-content-length: - '87' x-ms-date: - - Wed, 28 Apr 2021 08:46:44 GMT + - Thu, 20 May 2021 06:26:15 GMT x-ms-file-attributes: - none x-ms-file-creation-time: @@ -538,27 +538,27 @@ interactions: content-length: - '0' date: - - Wed, 28 Apr 2021 08:46:45 GMT + - Thu, 20 May 2021 06:26:16 GMT etag: - - '"0x8D90A222781E650"' + - '"0x8D91B582C83D112"' last-modified: - - Wed, 28 Apr 2021 08:46:45 GMT + - Thu, 20 May 2021 06:26:16 GMT server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 x-ms-file-attributes: - Archive x-ms-file-change-time: - - '2021-04-28T08:46:45.7626192Z' + - '2021-05-20T06:26:16.7544082Z' x-ms-file-creation-time: - - '2021-04-28T08:46:45.7626192Z' + - '2021-05-20T06:26:16.7544082Z' x-ms-file-id: - '13835146016212385792' x-ms-file-last-write-time: - - '2021-04-28T08:46:45.7626192Z' + - '2021-05-20T06:26:16.7544082Z' x-ms-file-parent-id: - '0' x-ms-file-permission-key: - - 3551120514346288423*11090383507847605673 + - 4979777615065758298*17130374783272374996 x-ms-request-server-encrypted: - 'true' x-ms-version: @@ -581,9 +581,9 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file-share/12.3.0b1 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-file-share/12.3.0b1 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Wed, 28 Apr 2021 08:46:45 GMT + - Thu, 20 May 2021 06:26:16 GMT x-ms-range: - bytes=0-86 x-ms-version: @@ -601,11 +601,11 @@ interactions: content-md5: - sYGKK8OX+WLKH+2bAe4tSQ== date: - - Wed, 28 Apr 2021 08:46:45 GMT + - Thu, 20 May 2021 06:26:16 GMT etag: - - '"0x8D90A2227A860BE"' + - '"0x8D91B582CAD0B59"' last-modified: - - Wed, 28 Apr 2021 08:46:46 GMT + - Thu, 20 May 2021 06:26:17 GMT server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 x-ms-request-server-encrypted: @@ -621,9 +621,9 @@ interactions: Connection: - keep-alive User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.7; Windows 10) AZURECLI/2.22.1 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Wed, 28 Apr 2021 08:46:46 GMT + - Thu, 20 May 2021 06:26:17 GMT x-ms-version: - '2018-11-09' method: HEAD @@ -637,11 +637,11 @@ interactions: content-type: - application/octet-stream date: - - Wed, 28 Apr 2021 08:46:46 GMT + - Thu, 20 May 2021 06:26:17 GMT etag: - - '"0x8D90A2227A860BE"' + - '"0x8D91B582CAD0B59"' last-modified: - - Wed, 28 Apr 2021 08:46:46 GMT + - Thu, 20 May 2021 06:26:17 GMT server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 x-ms-server-encrypted: @@ -665,11 +665,11 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file-share/12.3.0b1 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-file-share/12.3.0b1 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-content-length: - '87' x-ms-date: - - Wed, 28 Apr 2021 08:46:47 GMT + - Thu, 20 May 2021 06:26:18 GMT x-ms-file-attributes: - none x-ms-file-creation-time: @@ -691,27 +691,27 @@ interactions: content-length: - '0' date: - - Wed, 28 Apr 2021 08:46:47 GMT + - Thu, 20 May 2021 06:26:19 GMT etag: - - '"0x8D90A2228FF793D"' + - '"0x8D91B582E2A52BA"' last-modified: - - Wed, 28 Apr 2021 08:46:48 GMT + - Thu, 20 May 2021 06:26:19 GMT server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 x-ms-file-attributes: - Archive x-ms-file-change-time: - - '2021-04-28T08:46:48.2633021Z' + - '2021-05-20T06:26:19.5233466Z' x-ms-file-creation-time: - - '2021-04-28T08:46:48.2633021Z' + - '2021-05-20T06:26:19.5233466Z' x-ms-file-id: - '13835110831840296960' x-ms-file-last-write-time: - - '2021-04-28T08:46:48.2633021Z' + - '2021-05-20T06:26:19.5233466Z' x-ms-file-parent-id: - '13835163608398430208' x-ms-file-permission-key: - - 3551120514346288423*11090383507847605673 + - 4979777615065758298*17130374783272374996 x-ms-request-server-encrypted: - 'true' x-ms-version: @@ -734,9 +734,9 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file-share/12.3.0b1 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-file-share/12.3.0b1 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Wed, 28 Apr 2021 08:46:48 GMT + - Thu, 20 May 2021 06:26:19 GMT x-ms-range: - bytes=0-86 x-ms-version: @@ -754,11 +754,11 @@ interactions: content-md5: - sYGKK8OX+WLKH+2bAe4tSQ== date: - - Wed, 28 Apr 2021 08:46:47 GMT + - Thu, 20 May 2021 06:26:19 GMT etag: - - '"0x8D90A2229261ABB"' + - '"0x8D91B582E56258E"' last-modified: - - Wed, 28 Apr 2021 08:46:48 GMT + - Thu, 20 May 2021 06:26:19 GMT server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 x-ms-request-server-encrypted: @@ -774,9 +774,9 @@ interactions: Connection: - keep-alive User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.7; Windows 10) AZURECLI/2.22.1 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Wed, 28 Apr 2021 08:46:48 GMT + - Thu, 20 May 2021 06:26:20 GMT x-ms-version: - '2018-11-09' method: HEAD @@ -790,11 +790,11 @@ interactions: content-type: - application/octet-stream date: - - Wed, 28 Apr 2021 08:46:49 GMT + - Thu, 20 May 2021 06:26:20 GMT etag: - - '"0x8D90A2229261ABB"' + - '"0x8D91B582E56258E"' last-modified: - - Wed, 28 Apr 2021 08:46:48 GMT + - Thu, 20 May 2021 06:26:19 GMT server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 x-ms-server-encrypted: @@ -814,9 +814,9 @@ interactions: Content-Length: - '0' User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.7; Windows 10) AZURECLI/2.22.1 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Wed, 28 Apr 2021 08:46:49 GMT + - Thu, 20 May 2021 06:26:21 GMT x-ms-version: - '2018-11-09' method: PUT @@ -828,11 +828,11 @@ interactions: content-length: - '0' date: - - Wed, 28 Apr 2021 08:46:50 GMT + - Thu, 20 May 2021 06:26:22 GMT etag: - - '"0x8D90A222A7A2564"' + - '"0x8D91B582FCF4D87"' last-modified: - - Wed, 28 Apr 2021 08:46:50 GMT + - Thu, 20 May 2021 06:26:22 GMT server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 x-ms-request-server-encrypted: @@ -854,11 +854,11 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file-share/12.3.0b1 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-file-share/12.3.0b1 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-content-length: - '87' x-ms-date: - - Wed, 28 Apr 2021 08:46:50 GMT + - Thu, 20 May 2021 06:26:22 GMT x-ms-file-attributes: - none x-ms-file-creation-time: @@ -880,27 +880,27 @@ interactions: content-length: - '0' date: - - Wed, 28 Apr 2021 08:46:51 GMT + - Thu, 20 May 2021 06:26:22 GMT etag: - - '"0x8D90A222B280F66"' + - '"0x8D91B583098DC53"' last-modified: - - Wed, 28 Apr 2021 08:46:51 GMT + - Thu, 20 May 2021 06:26:23 GMT server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 x-ms-file-attributes: - Archive x-ms-file-change-time: - - '2021-04-28T08:46:51.8847334Z' + - '2021-05-20T06:26:23.6032083Z' x-ms-file-creation-time: - - '2021-04-28T08:46:51.8847334Z' + - '2021-05-20T06:26:23.6032083Z' x-ms-file-id: - '13835066851375185920' x-ms-file-last-write-time: - - '2021-04-28T08:46:51.8847334Z' + - '2021-05-20T06:26:23.6032083Z' x-ms-file-parent-id: - '13835181200584474624' x-ms-file-permission-key: - - 3551120514346288423*11090383507847605673 + - 4979777615065758298*17130374783272374996 x-ms-request-server-encrypted: - 'true' x-ms-version: @@ -923,9 +923,9 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file-share/12.3.0b1 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-file-share/12.3.0b1 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Wed, 28 Apr 2021 08:46:51 GMT + - Thu, 20 May 2021 06:26:23 GMT x-ms-range: - bytes=0-86 x-ms-version: @@ -943,11 +943,11 @@ interactions: content-md5: - sYGKK8OX+WLKH+2bAe4tSQ== date: - - Wed, 28 Apr 2021 08:46:52 GMT + - Thu, 20 May 2021 06:26:22 GMT etag: - - '"0x8D90A222B4F9B68"' + - '"0x8D91B5830C2DA05"' last-modified: - - Wed, 28 Apr 2021 08:46:52 GMT + - Thu, 20 May 2021 06:26:23 GMT server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 x-ms-request-server-encrypted: @@ -963,9 +963,9 @@ interactions: Connection: - keep-alive User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.7; Windows 10) AZURECLI/2.22.1 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Wed, 28 Apr 2021 08:46:52 GMT + - Thu, 20 May 2021 06:26:24 GMT x-ms-version: - '2018-11-09' method: HEAD @@ -979,11 +979,11 @@ interactions: content-type: - application/octet-stream date: - - Wed, 28 Apr 2021 08:46:52 GMT + - Thu, 20 May 2021 06:26:24 GMT etag: - - '"0x8D90A222B4F9B68"' + - '"0x8D91B5830C2DA05"' last-modified: - - Wed, 28 Apr 2021 08:46:52 GMT + - Thu, 20 May 2021 06:26:23 GMT server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 x-ms-server-encrypted: @@ -1007,11 +1007,11 @@ interactions: Content-Length: - '0' User-Agent: - - azsdk-python-storage-file-share/12.3.0b1 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-file-share/12.3.0b1 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-content-length: - '87' x-ms-date: - - Wed, 28 Apr 2021 08:46:53 GMT + - Thu, 20 May 2021 06:26:25 GMT x-ms-file-attributes: - none x-ms-file-creation-time: @@ -1033,27 +1033,27 @@ interactions: content-length: - '0' date: - - Wed, 28 Apr 2021 08:46:53 GMT + - Thu, 20 May 2021 06:26:25 GMT etag: - - '"0x8D90A222CBDE96C"' + - '"0x8D91B58325DE7FC"' last-modified: - - Wed, 28 Apr 2021 08:46:54 GMT + - Thu, 20 May 2021 06:26:26 GMT server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 x-ms-file-attributes: - Archive x-ms-file-change-time: - - '2021-04-28T08:46:54.5445228Z' + - '2021-05-20T06:26:26.5722876Z' x-ms-file-creation-time: - - '2021-04-28T08:46:54.5445228Z' + - '2021-05-20T06:26:26.5722876Z' x-ms-file-id: - '13835137220119363584' x-ms-file-last-write-time: - - '2021-04-28T08:46:54.5445228Z' + - '2021-05-20T06:26:26.5722876Z' x-ms-file-parent-id: - '13835181200584474624' x-ms-file-permission-key: - - 3551120514346288423*11090383507847605673 + - 4979777615065758298*17130374783272374996 x-ms-request-server-encrypted: - 'true' x-ms-version: @@ -1076,9 +1076,9 @@ interactions: Content-Type: - application/octet-stream User-Agent: - - azsdk-python-storage-file-share/12.3.0b1 Python/3.7.7 (Windows-10-10.0.19041-SP0) + - azsdk-python-storage-file-share/12.3.0b1 Python/3.8.3 (Windows-10-10.0.19041-SP0) x-ms-date: - - Wed, 28 Apr 2021 08:46:54 GMT + - Thu, 20 May 2021 06:26:26 GMT x-ms-range: - bytes=0-86 x-ms-version: @@ -1096,11 +1096,11 @@ interactions: content-md5: - sYGKK8OX+WLKH+2bAe4tSQ== date: - - Wed, 28 Apr 2021 08:46:53 GMT + - Thu, 20 May 2021 06:26:26 GMT etag: - - '"0x8D90A222CE5756A"' + - '"0x8D91B58328C7A64"' last-modified: - - Wed, 28 Apr 2021 08:46:54 GMT + - Thu, 20 May 2021 06:26:26 GMT server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 x-ms-request-server-encrypted: @@ -1116,9 +1116,9 @@ interactions: Connection: - keep-alive User-Agent: - - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.7.7; Windows 10) AZURECLI/2.22.1 + - Azure-Storage/2.0.0-2.0.1 (Python CPython 3.8.3; Windows 10) AZURECLI/2.23.0 x-ms-date: - - Wed, 28 Apr 2021 08:46:54 GMT + - Thu, 20 May 2021 06:26:27 GMT x-ms-version: - '2018-11-09' method: HEAD @@ -1132,11 +1132,11 @@ interactions: content-type: - application/octet-stream date: - - Wed, 28 Apr 2021 08:46:55 GMT + - Thu, 20 May 2021 06:26:27 GMT etag: - - '"0x8D90A222CE5756A"' + - '"0x8D91B58328C7A64"' last-modified: - - Wed, 28 Apr 2021 08:46:54 GMT + - Thu, 20 May 2021 06:26:26 GMT server: - Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0 x-ms-server-encrypted: diff --git a/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_fs_soft_delete.yaml b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_fs_soft_delete.yaml new file mode 100644 index 00000000000..2407ecabb11 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/tests/latest/recordings/test_storage_fs_soft_delete.yaml @@ -0,0 +1,905 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage account keys list + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -n -g --query -o + User-Agent: + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-storage/18.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rg000001/providers/Microsoft.Storage/storageAccounts/clitest000002/listKeys?api-version=2021-04-01&$expand=kerb + response: + body: + string: '{"keys":[{"creationTime":"2021-05-28T07:15:56.0507406Z","keyName":"key1","value":"veryFakedStorageAccountKey==","permissions":"FULL"},{"creationTime":"2021-05-28T07:15:56.0507406Z","keyName":"key2","value":"veryFakedStorageAccountKey==","permissions":"FULL"}]}' + headers: + cache-control: + - no-cache + content-length: + - '380' + content-type: + - application/json + date: + - Fri, 28 May 2021 07:16:18 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-resource-requests: + - '11998' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - storage fs create + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -n --account-name --account-key + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storage-dfs/12.3.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + x-ms-date: + - Fri, 28 May 2021 07:16:18 GMT + x-ms-version: + - '2020-02-10' + method: PUT + uri: https://clitest000002.blob.core.windows.net/filesystem000003?restype=container + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Fri, 28 May 2021 07:16:21 GMT + etag: + - '"0x8D921A87EEC99EB"' + last-modified: + - Fri, 28 May 2021 07:16:21 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: + - '2020-02-10' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - storage fs file upload + Connection: + - keep-alive + ParameterSetName: + - -f -s -p --account-name --account-key + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storage-dfs/12.3.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + x-ms-date: + - Fri, 28 May 2021 07:16:21 GMT + x-ms-version: + - '2020-02-10' + method: HEAD + uri: https://clitest000002.blob.core.windows.net/filesystem000003/file000004 + response: + body: + string: '' + headers: + date: + - Fri, 28 May 2021 07:16:23 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-error-code: + - BlobNotFound + x-ms-version: + - '2020-02-10' + status: + code: 404 + message: The specified blob does not exist. +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage fs file upload + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -f -s -p --account-name --account-key + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storage-dfs/12.3.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + x-ms-date: + - Fri, 28 May 2021 07:16:23 GMT + x-ms-properties: + - '' + x-ms-version: + - '2020-02-10' + method: PUT + uri: https://clitest000002.dfs.core.windows.net/filesystem000003/file000004?resource=file + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Fri, 28 May 2021 07:16:24 GMT + etag: + - '"0x8D921A880AD942F"' + last-modified: + - Fri, 28 May 2021 07:16:24 GMT + server: + - Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2020-02-10' + 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\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\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: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage fs file upload + Connection: + - keep-alive + Content-Length: + - '1024' + Content-Type: + - application/json + ParameterSetName: + - -f -s -p --account-name --account-key + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storage-dfs/12.3.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + x-ms-date: + - Fri, 28 May 2021 07:16:24 GMT + x-ms-version: + - '2020-02-10' + method: PATCH + uri: https://clitest000002.dfs.core.windows.net/filesystem000003/file000004?action=append&position=0 + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Fri, 28 May 2021 07:16:24 GMT + server: + - Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2020-02-10' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage fs file upload + Connection: + - keep-alive + Content-Length: + - '0' + If-Match: + - '*' + ParameterSetName: + - -f -s -p --account-name --account-key + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storage-dfs/12.3.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + x-ms-date: + - Fri, 28 May 2021 07:16:25 GMT + x-ms-version: + - '2020-02-10' + method: PATCH + uri: https://clitest000002.dfs.core.windows.net/filesystem000003/file000004?action=flush&position=1024&close=true + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Fri, 28 May 2021 07:16:24 GMT + etag: + - '"0x8D921A8810EBDD7"' + last-modified: + - Fri, 28 May 2021 07:16:25 GMT + server: + - Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0 + x-ms-request-server-encrypted: + - 'false' + x-ms-version: + - '2020-02-10' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage fs file list + Connection: + - keep-alive + ParameterSetName: + - -f --account-name --account-key + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storage-dfs/12.3.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + x-ms-date: + - Fri, 28 May 2021 07:16:25 GMT + x-ms-version: + - '2020-02-10' + method: GET + uri: https://clitest000002.dfs.core.windows.net/filesystem000003?resource=filesystem&recursive=true&maxResults=5000 + response: + body: + string: '{"paths":[{"contentLength":"1024","creationTime":"132666597846717487","etag":"0x8D921A8810EBDD7","group":"$superuser","lastModified":"Fri, + 28 May 2021 07:16:25 GMT","name":"file000004","owner":"$superuser","permissions":"rw-r-----"}]} + + ' + headers: + content-type: + - application/json;charset=utf-8 + date: + - Fri, 28 May 2021 07:16:26 GMT + server: + - Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2020-02-10' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage fs directory create + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -f -n --account-name --account-key + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storage-dfs/12.3.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + x-ms-date: + - Fri, 28 May 2021 07:16:26 GMT + x-ms-properties: + - '' + x-ms-version: + - '2020-02-10' + method: PUT + uri: https://clitest000002.dfs.core.windows.net/filesystem000003/dir?resource=directory + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Fri, 28 May 2021 07:16:27 GMT + etag: + - '"0x8D921A882B9A3B3"' + last-modified: + - Fri, 28 May 2021 07:16:28 GMT + server: + - Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0 + x-ms-request-server-encrypted: + - 'true' + x-ms-version: + - '2020-02-10' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage fs file list + Connection: + - keep-alive + ParameterSetName: + - -f --account-name --account-key + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storage-dfs/12.3.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + x-ms-date: + - Fri, 28 May 2021 07:16:28 GMT + x-ms-version: + - '2020-02-10' + method: GET + uri: https://clitest000002.dfs.core.windows.net/filesystem000003?resource=filesystem&recursive=true&maxResults=5000 + response: + body: + string: '{"paths":[{"contentLength":"0","creationTime":"132666597881062323","etag":"0x8D921A882B9A3B3","group":"$superuser","isDirectory":"true","lastModified":"Fri, + 28 May 2021 07:16:28 GMT","name":"dir","owner":"$superuser","permissions":"rwxr-x---"},{"contentLength":"1024","creationTime":"132666597846717487","etag":"0x8D921A8810EBDD7","group":"$superuser","lastModified":"Fri, + 28 May 2021 07:16:25 GMT","name":"file000004","owner":"$superuser","permissions":"rw-r-----"}]} + + ' + headers: + content-type: + - application/json;charset=utf-8 + date: + - Fri, 28 May 2021 07:16:28 GMT + server: + - Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2020-02-10' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + x-ms-date: + - Fri, 28 May 2021 07:16:30 GMT + x-ms-version: + - '2020-02-10' + method: GET + uri: https://clitest000002.blob.core.windows.net/?restype=service&comp=properties + response: + body: + string: "\uFEFF1.0falsefalsefalsefalse1.0truetruetrue71.0falsefalsefalsefalsefalse" + headers: + content-type: + - application/xml + date: + - Fri, 28 May 2021 07:16:30 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2020-02-10' + status: + code: 200 + message: OK +- request: + body: ' + + 1.0truetruetrue71.0falsefalsetrue2false' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '542' + Content-Type: + - application/xml; charset=utf-8 + User-Agent: + - azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + x-ms-date: + - Fri, 28 May 2021 07:16:31 GMT + x-ms-version: + - '2020-02-10' + method: PUT + uri: https://clitest000002.blob.core.windows.net/?restype=service&comp=properties + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Fri, 28 May 2021 07:16:31 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: + - '2020-02-10' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + x-ms-date: + - Fri, 28 May 2021 07:16:31 GMT + x-ms-version: + - '2020-02-10' + method: GET + uri: https://clitest000002.blob.core.windows.net/?restype=service&comp=properties + response: + body: + string: "\uFEFF1.0falsefalsefalsefalse1.0truetruetrue71.0falsefalsetrue2falsefalse" + headers: + content-type: + - application/xml + date: + - Fri, 28 May 2021 07:16:31 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2020-02-10' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-blob/12.6.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + x-ms-date: + - Fri, 28 May 2021 07:16:32 GMT + x-ms-version: + - '2020-02-10' + method: GET + uri: https://clitest000002.blob.core.windows.net/?restype=service&comp=properties + response: + body: + string: "\uFEFF1.0falsefalsefalsefalse1.0truetruetrue71.0falsefalsetrue2falsefalse" + headers: + content-type: + - application/xml + date: + - Fri, 28 May 2021 07:16:33 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2020-02-10' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage fs file delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -f -p -y --account-name --account-key + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storage-dfs/12.3.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + x-ms-date: + - Fri, 28 May 2021 07:16:43 GMT + x-ms-version: + - '2020-02-10' + method: DELETE + uri: https://clitest000002.dfs.core.windows.net/filesystem000003/file000004?recursive=true + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Fri, 28 May 2021 07:16:44 GMT + server: + - Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: + - '2020-02-10' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage fs directory delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -f -n -y --account-name --account-key + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storage-dfs/12.3.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + x-ms-date: + - Fri, 28 May 2021 07:16:45 GMT + x-ms-version: + - '2020-02-10' + method: DELETE + uri: https://clitest000002.dfs.core.windows.net/filesystem000003/dir?recursive=true + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Fri, 28 May 2021 07:16:46 GMT + server: + - Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0 + x-ms-version: + - '2020-02-10' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage fs file list + Connection: + - keep-alive + ParameterSetName: + - -f --account-name --account-key + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storage-dfs/12.3.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + x-ms-date: + - Fri, 28 May 2021 07:16:46 GMT + x-ms-version: + - '2020-02-10' + method: GET + uri: https://clitest000002.dfs.core.windows.net/filesystem000003?resource=filesystem&recursive=true&maxResults=5000 + response: + body: + string: '{"paths":[]} + + ' + headers: + content-type: + - application/json;charset=utf-8 + date: + - Fri, 28 May 2021 07:16:47 GMT + server: + - Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2020-02-10' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-dfs/12.4.0b1 Python/3.8.3 (Windows-10-10.0.19041-SP0) + x-ms-date: + - Fri, 28 May 2021 07:17:48 GMT + x-ms-version: + - '2020-06-12' + method: GET + uri: https://clitest000002.blob.core.windows.net/filesystem000003?restype=container&comp=list&prefix=dir&showonly=deleted + response: + body: + string: "\uFEFFdirdir132666598065709145trueFri, + 28 May 2021 07:16:28 GMTFri, 28 May 2021 07:16:28 + GMTSun, 30 May 2021 07:16:46 GMT0x8D921A882B9A3B30application/octet-streamAAAAAAAAAAA=BlockBlobHottruetrueFri, + 28 May 2021 07:16:46 GMT1" + headers: + content-type: + - application/xml + date: + - Fri, 28 May 2021 07:17:49 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2020-06-12' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-dfs/12.4.0b1 Python/3.8.3 (Windows-10-10.0.19041-SP0) + x-ms-date: + - Fri, 28 May 2021 07:17:50 GMT + x-ms-version: + - '2020-06-12' + method: GET + uri: https://clitest000002.blob.core.windows.net/filesystem000003?restype=container&comp=list&showonly=deleted + response: + body: + string: "\uFEFFdir132666598065709145trueFri, + 28 May 2021 07:16:28 GMTFri, 28 May 2021 07:16:28 + GMTSun, 30 May 2021 07:16:46 GMT0x8D921A882B9A3B30application/octet-streamAAAAAAAAAAA=BlockBlobHottruetrueFri, + 28 May 2021 07:16:46 GMT1file000004132666598051069022trueFri, + 28 May 2021 07:16:24 GMTFri, 28 May 2021 07:16:25 + GMTSun, 30 May 2021 07:16:44 GMT0x8D921A8810EBDD71024application/octet-streamAAAAAAAAAAA=BlockBlobHottruetrueFri, + 28 May 2021 07:16:45 GMT1" + headers: + content-type: + - application/xml + date: + - Fri, 28 May 2021 07:17:50 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2020-06-12' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-dfs/12.4.0b1 Python/3.8.3 (Windows-10-10.0.19041-SP0) + x-ms-date: + - Fri, 28 May 2021 07:17:51 GMT + x-ms-version: + - '2020-06-12' + method: GET + uri: https://clitest000002.blob.core.windows.net/filesystem000003?restype=container&comp=list&maxResults=1&showonly=deleted + response: + body: + string: "\uFEFF1dir132666598065709145trueFri, + 28 May 2021 07:16:28 GMTFri, 28 May 2021 07:16:28 + GMTSun, 30 May 2021 07:16:46 GMT0x8D921A882B9A3B30application/octet-streamAAAAAAAAAAA=BlockBlobHottruetrueFri, + 28 May 2021 07:16:46 GMT12!364!MDAwMjI4IU1USXhNVGM0T1RReE16Z3hOakU0TVRZeE1qY2dNQ0F2WTJ4cGRHVnpkR1ZtTW5Kc00zRTBNelp4WkRScFpYSXlBVEF4UkRjMU16a3hORVF5TWpBelJEa3ZKSFJ5WVhOb0wyWnBiR1Z6ZVhOMFpXMW9jSEIxYVhCdFpqUnZObTAxZHdFd01VUTNOVE01TVRWRE56VkRSREZHQWk5bWFXeGxkSFptZVRNeWJYRnFiRzFzYkc1a2FYVm1hSElCTWpBeU1TMHdOUzB5T0ZRd056b3hOam8wTlM0eE1EWTVNREl5V2c9PSEwMDAwMjghMjAyMS0wNS0yOFQwNzoxNzo1My42ODM3MDc3WiE-" + headers: + content-type: + - application/xml + date: + - Fri, 28 May 2021 07:17:53 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2020-06-12' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/xml + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + User-Agent: + - azsdk-python-storage-dfs/12.4.0b1 Python/3.8.3 (Windows-10-10.0.19041-SP0) + x-ms-date: + - Fri, 28 May 2021 07:17:53 GMT + x-ms-version: + - '2020-06-12' + method: GET + uri: https://clitest000002.blob.core.windows.net/filesystem000003?restype=container&comp=list&marker=2%21364%21MDAwMjI4IU1USXhNVGM0T1RReE16Z3hOakU0TVRZeE1qY2dNQ0F2WTJ4cGRHVnpkR1ZtTW5Kc00zRTBNelp4WkRScFpYSXlBVEF4UkRjMU16a3hORVF5TWpBelJEa3ZKSFJ5WVhOb0wyWnBiR1Z6ZVhOMFpXMW9jSEIxYVhCdFpqUnZObTAxZHdFd01VUTNOVE01TVRWRE56VkRSREZHQWk5bWFXeGxkSFptZVRNeWJYRnFiRzFzYkc1a2FYVm1hSElCTWpBeU1TMHdOUzB5T0ZRd056b3hOam8wTlM0eE1EWTVNREl5V2c9PSEwMDAwMjghMjAyMS0wNS0yOFQwNzoxNzo1My42ODM3MDc3WiE-&showonly=deleted + response: + body: + string: "\uFEFF2!364!MDAwMjI4IU1USXhNVGM0T1RReE16Z3hOakU0TVRZeE1qY2dNQ0F2WTJ4cGRHVnpkR1ZtTW5Kc00zRTBNelp4WkRScFpYSXlBVEF4UkRjMU16a3hORVF5TWpBelJEa3ZKSFJ5WVhOb0wyWnBiR1Z6ZVhOMFpXMW9jSEIxYVhCdFpqUnZObTAxZHdFd01VUTNOVE01TVRWRE56VkRSREZHQWk5bWFXeGxkSFptZVRNeWJYRnFiRzFzYkc1a2FYVm1hSElCTWpBeU1TMHdOUzB5T0ZRd056b3hOam8wTlM0eE1EWTVNREl5V2c9PSEwMDAwMjghMjAyMS0wNS0yOFQwNzoxNzo1My42ODM3MDc3WiE-file000004132666598051069022trueFri, + 28 May 2021 07:16:24 GMTFri, 28 May 2021 07:16:25 + GMTSun, 30 May 2021 07:16:44 GMT0x8D921A8810EBDD71024application/octet-streamAAAAAAAAAAA=BlockBlobHottruetrueFri, + 28 May 2021 07:16:45 GMT1" + headers: + content-type: + - application/xml + date: + - Fri, 28 May 2021 07:17:55 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2020-06-12' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Content-Length: + - '0' + User-Agent: + - azsdk-python-storage-dfs/12.4.0b1 Python/3.8.3 (Windows-10-10.0.19041-SP0) + x-ms-date: + - Fri, 28 May 2021 07:17:55 GMT + x-ms-undelete-source: + - filetvfy32mqjlmllndiufhr?deletionid=132666598051069022 + x-ms-version: + - '2020-06-12' + method: PUT + uri: https://clitest000002.blob.core.windows.net/filesystem000003/file000004?comp=undelete + response: + body: + string: '' + headers: + content-length: + - '0' + date: + - Fri, 28 May 2021 07:17:56 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-creation-time: + - Fri, 28 May 2021 07:16:24 GMT + x-ms-resource-type: + - file + x-ms-version: + - '2020-06-12' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - storage fs file list + Connection: + - keep-alive + ParameterSetName: + - -f --account-name --account-key + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storage-dfs/12.3.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + x-ms-date: + - Fri, 28 May 2021 07:17:57 GMT + x-ms-version: + - '2020-02-10' + method: GET + uri: https://clitest000002.dfs.core.windows.net/filesystem000003?resource=filesystem&recursive=true&maxResults=5000 + response: + body: + string: '{"paths":[{"contentLength":"1024","creationTime":"132666597846717487","etag":"0x8D921A8810EBDD7","group":"$superuser","lastModified":"Fri, + 28 May 2021 07:16:25 GMT","name":"file000004","owner":"$superuser","permissions":"rw-r-----"}]} + + ' + headers: + content-type: + - application/json;charset=utf-8 + date: + - Fri, 28 May 2021 07:17:58 GMT + server: + - Windows-Azure-HDFS/1.0 Microsoft-HTTPAPI/2.0 + transfer-encoding: + - chunked + x-ms-version: + - '2020-02-10' + status: + code: 200 + message: OK +version: 1 diff --git a/src/storage-preview/azext_storage_preview/tests/latest/storage_test_util.py b/src/storage-preview/azext_storage_preview/tests/latest/storage_test_util.py index 5b308cc470c..e2fd3c49061 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/storage_test_util.py +++ b/src/storage-preview/azext_storage_preview/tests/latest/storage_test_util.py @@ -10,7 +10,7 @@ from azure.cli.testsdk.preparers import AbstractPreparer -class StorageScenarioMixin(object): +class StorageScenarioMixin: profile = None def get_current_profile(self): @@ -30,6 +30,9 @@ def get_account_info(self, group, name): """Returns the storage account name and key in a tuple""" return name, self.get_account_key(group, name) + def oauth_cmd(self, cmd, *args, **kwargs): + return self.cmd(cmd + ' --auth-mode login', *args, **kwargs) + def storage_cmd(self, cmd, account_info, *args): cmd = cmd.format(*args) cmd = '{} --account-name {} --account-key {}'.format(cmd, *account_info) @@ -50,13 +53,18 @@ def create_share(self, account_info, prefix='share', length=24): self.storage_cmd('storage share create -n {}', account_info, share_name) return share_name + def create_file_system(self, account_info, prefix='filesystem', length=24): + filesystem_name = self.create_random_name(prefix=prefix, length=length) + self.storage_cmd('storage fs create -n {}', account_info, filesystem_name) + return filesystem_name + class StorageTestFilesPreparer(AbstractPreparer): def __init__(self, parameter_name='test_dir'): super(StorageTestFilesPreparer, self).__init__(name_prefix='test', name_len=24) self.parameter_name = parameter_name - def create_resource(self, name, **_kwargs): # pylint: disable=unused-argument + def create_resource(self, name, **kwargs): temp_dir = os.path.join(tempfile.gettempdir(), self.random_name) if not os.path.exists(temp_dir): os.mkdir(temp_dir) @@ -78,7 +86,7 @@ def create_resource(self, name, **_kwargs): # pylint: disable=unused-argument setattr(self, '_temp_dir', temp_dir) return {self.parameter_name: temp_dir} - def remove_resource(self, name, **_kwargs): # pylint: disable=unused-argument + def remove_resource(self, name, **kwargs): temp_dir = self.get_temp_dir() if temp_dir: shutil.rmtree(temp_dir, ignore_errors=True) 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 b1d78f398eb..fbf28dec969 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 @@ -148,7 +148,7 @@ def test_storage_account_blob_inventory_policy(self, resource_group, storage_acc JMESPathCheck("policy.rules[0].definition.filters.blobTypes[0]", "blockBlob"), JMESPathCheck("policy.rules[0].definition.filters.includeBlobVersions", None), JMESPathCheck("policy.rules[0].definition.filters.includeSnapshots", None), - JMESPathCheck("policy.rules[0].definition.filters.prefixMatch", None), + JMESPathCheck("policy.rules[0].definition.filters.prefixMatch", []), JMESPathCheck("policy.rules[0].enabled", True), JMESPathCheck("policy.rules[0].name", "inventoryPolicyRule1"), JMESPathCheck("policy.type", "Inventory"), @@ -162,7 +162,7 @@ def test_storage_account_blob_inventory_policy(self, resource_group, storage_acc JMESPathCheck("policy.rules[0].definition.filters.blobTypes[0]", "blockBlob"), JMESPathCheck("policy.rules[0].definition.filters.includeBlobVersions", None), JMESPathCheck("policy.rules[0].definition.filters.includeSnapshots", None), - JMESPathCheck("policy.rules[0].definition.filters.prefixMatch", None), + JMESPathCheck("policy.rules[0].definition.filters.prefixMatch", []), JMESPathCheck("policy.rules[0].enabled", True), JMESPathCheck("policy.rules[0].name", "inventoryPolicyRule1"), JMESPathCheck("policy.type", "Inventory"), diff --git a/src/storage-preview/azext_storage_preview/tests/latest/test_storage_adls_scenarios.py b/src/storage-preview/azext_storage_preview/tests/latest/test_storage_adls_scenarios.py index 9a06e0317b6..e448e6c23ea 100644 --- a/src/storage-preview/azext_storage_preview/tests/latest/test_storage_adls_scenarios.py +++ b/src/storage-preview/azext_storage_preview/tests/latest/test_storage_adls_scenarios.py @@ -5,14 +5,74 @@ import os import unittest +import time from azure.cli.testsdk import (LiveScenarioTest, ResourceGroupPreparer, ScenarioTest, - JMESPathCheck, api_version_constraint) + JMESPathCheck, api_version_constraint, StorageAccountPreparer) from .storage_test_util import StorageScenarioMixin, StorageTestFilesPreparer -from ...profiles import CUSTOM_MGMT_PREVIEW_STORAGE +from ...profiles import CUSTOM_MGMT_PREVIEW_STORAGE, CUSTOM_DATA_STORAGE_FILEDATALAKE class StorageADLSTests(StorageScenarioMixin, ScenarioTest): + @api_version_constraint(CUSTOM_DATA_STORAGE_FILEDATALAKE, min_api='2020-06-12') + @ResourceGroupPreparer() + @StorageAccountPreparer(kind="StorageV2", hns=True, location="eastus2euap") + def test_storage_fs_soft_delete(self, resource_group, storage_account): + account_info = self.get_account_info(resource_group, storage_account) + container = self.create_file_system(account_info) + # Prepare + local_file = self.create_temp_file(1) + file_name = self.create_random_name(prefix='file', length=24) + dir_name = 'dir' + + self.storage_cmd('storage fs file upload -f {} -s "{}" -p {} ', account_info, + container, local_file, file_name) + self.assertEqual(len(self.storage_cmd('storage fs file list -f {}', + account_info, container).get_output_in_json()), 1) + self.storage_cmd('storage fs directory create -f {} -n {} ', account_info, + container, dir_name) + self.assertEqual(len(self.storage_cmd('storage fs file list -f {}', + account_info, container).get_output_in_json()), 2) + + # set delete-policy to enable soft-delete + self.storage_cmd('storage fs service-properties update --delete-retention --delete-retention-period 2', + account_info) + self.storage_cmd('storage fs service-properties show', + account_info).assert_with_checks(JMESPathCheck('delete_retention_policy.enabled', True), + JMESPathCheck('delete_retention_policy.days', 2)) + time.sleep(10) + # soft-delete and check + self.storage_cmd('storage fs file delete -f {} -p {} -y', account_info, container, file_name) + self.storage_cmd('storage fs directory delete -f {} -n {} -y', account_info, container, dir_name) + self.assertEqual(len(self.storage_cmd('storage fs file list -f {}', + account_info, container).get_output_in_json()), 0) + + time.sleep(60) + result = self.storage_cmd('storage fs list-deleted-path -f {} --path-prefix {} ', + account_info, container, dir_name).get_output_in_json() + self.assertEqual(len(result), 1) + + result = self.storage_cmd('storage fs list-deleted-path -f {}', account_info, container)\ + .get_output_in_json() + self.assertEqual(len(result), 2) + + result = self.storage_cmd('storage fs list-deleted-path -f {} --num-results 1', account_info, container)\ + .get_output_in_json() + self.assertEqual(len(result), 2) + marker = result[-1]['nextMarker'] + + result = self.storage_cmd('storage fs list-deleted-path -f {} --marker {}', account_info, container, marker)\ + .get_output_in_json() + self.assertEqual(len(result), 1) + + deleted_version = result[0]["deletionId"] + + # undelete and check + self.storage_cmd('storage fs undelete-path -f {} --deleted-path-name {} --deletion-id {}', + account_info, container, file_name, deleted_version) + self.assertEqual(len(self.storage_cmd('storage fs file list -f {}', + account_info, container).get_output_in_json()), 1) + @api_version_constraint(CUSTOM_MGMT_PREVIEW_STORAGE, min_api='2018-02-01') @ResourceGroupPreparer() def test_storage_adls_blob(self, resource_group): diff --git a/src/storage-preview/azext_storage_preview/track2_util.py b/src/storage-preview/azext_storage_preview/track2_util.py index a2cc329976a..b7e8164f5a4 100644 --- a/src/storage-preview/azext_storage_preview/track2_util.py +++ b/src/storage-preview/azext_storage_preview/track2_util.py @@ -21,3 +21,28 @@ def make_file_url(client, directory_name, file_name, sas_token=None): url += '?' + sas_token return url + + +def list_generator(pages, num_results): + result = [] + + # get first page items + page = list(next(pages)) + result += page + + while True: + if not pages.continuation_token: + break + + # handle num results + if num_results is not None: + if num_results == len(result): + if pages.continuation_token: + next_marker = {"nextMarker": pages.continuation_token} + result.append(next_marker) + break + + page = list(next(pages)) + result += page + + return result diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/__init__.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/__init__.py new file mode 100644 index 00000000000..a5b81f3bde4 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/__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/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/__init__.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/__init__.py new file mode 100644 index 00000000000..459c4c07b44 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/__init__.py @@ -0,0 +1,103 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- + +from ._download import StorageStreamDownloader +from ._data_lake_file_client import DataLakeFileClient +from ._data_lake_directory_client import DataLakeDirectoryClient +from ._file_system_client import FileSystemClient +from ._data_lake_service_client import DataLakeServiceClient +from ._data_lake_lease import DataLakeLeaseClient +from ._models import ( + LocationMode, + ResourceTypes, + FileSystemProperties, + FileSystemPropertiesPaged, + DirectoryProperties, + FileProperties, + PathProperties, + LeaseProperties, + ContentSettings, + AccountSasPermissions, + FileSystemSasPermissions, + DirectorySasPermissions, + FileSasPermissions, + UserDelegationKey, + PublicAccess, + AccessPolicy, + DelimitedTextDialect, + DelimitedJsonDialect, + ArrowDialect, + ArrowType, + DataLakeFileQueryError, + AccessControlChangeResult, + AccessControlChangeCounters, + AccessControlChangeFailure, + AccessControlChanges, + AnalyticsLogging, + Metrics, + RetentionPolicy, + StaticWebsite, + CorsRule, + DeletedPathProperties +) + +from ._shared_access_signature import generate_account_sas, generate_file_system_sas, generate_directory_sas, \ + generate_file_sas + +from ._shared.policies import ExponentialRetry, LinearRetry +from ._shared.models import StorageErrorCode +from ._version import VERSION + +__version__ = VERSION + +__all__ = [ + 'DataLakeServiceClient', + 'FileSystemClient', + 'DataLakeFileClient', + 'DataLakeDirectoryClient', + 'DataLakeLeaseClient', + 'ExponentialRetry', + 'LinearRetry', + 'LocationMode', + 'PublicAccess', + 'AccessPolicy', + 'ResourceTypes', + 'StorageErrorCode', + 'UserDelegationKey', + 'FileSystemProperties', + 'FileSystemPropertiesPaged', + 'DirectoryProperties', + 'FileProperties', + 'PathProperties', + 'LeaseProperties', + 'ContentSettings', + 'AccessControlChangeResult', + 'AccessControlChangeCounters', + 'AccessControlChangeFailure', + 'AccessControlChanges', + 'AccountSasPermissions', + 'FileSystemSasPermissions', + 'DirectorySasPermissions', + 'FileSasPermissions', + 'generate_account_sas', + 'generate_file_system_sas', + 'generate_directory_sas', + 'generate_file_sas', + 'VERSION', + 'StorageStreamDownloader', + 'DelimitedTextDialect', + 'DelimitedJsonDialect', + 'DataLakeFileQueryError', + 'ArrowDialect', + 'ArrowType', + 'DataLakeFileQueryError', + 'AnalyticsLogging', + 'Metrics', + 'RetentionPolicy', + 'StaticWebsite', + 'CorsRule', + 'DeletedPathProperties' +] diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_data_lake_directory_client.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_data_lake_directory_client.py new file mode 100644 index 00000000000..c42391e6071 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_data_lake_directory_client.py @@ -0,0 +1,563 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +from typing import Any + +try: + from urllib.parse import quote, unquote +except ImportError: + from urllib2 import quote, unquote # type: ignore +from azure.core.pipeline import Pipeline +from ._deserialize import deserialize_dir_properties +from ._shared.base_client import TransportWrapper, parse_connection_str +from ._data_lake_file_client import DataLakeFileClient +from ._models import DirectoryProperties, FileProperties +from ._path_client import PathClient + + +class DataLakeDirectoryClient(PathClient): + """A client to interact with the DataLake directory, even if the directory may not yet exist. + + For operations relating to a specific subdirectory or file under the directory, a directory client or file client + can be retrieved using the :func:`~get_sub_directory_client` or :func:`~get_file_client` functions. + + :ivar str url: + The full endpoint URL to the file system, including SAS token if used. + :ivar str primary_endpoint: + The full primary endpoint URL. + :ivar str primary_hostname: + The hostname of the primary endpoint. + :param str account_url: + The URI to the storage account. + :param file_system_name: + The file system for the directory or files. + :type file_system_name: str + :param directory_name: + The whole path of the directory. eg. {directory under file system}/{directory to interact with} + :type directory_name: str + :param credential: + The credentials with which to authenticate. This is optional if the + account URL already has a SAS token. The value can be a SAS token string, + an instance of a AzureSasCredential from azure.core.credentials, and account + shared access key, or an instance of a TokenCredentials class from azure.identity. + If the resource URI already contains a SAS token, this will be ignored in favor of an explicit credential + - except in the case of AzureSasCredential, where the conflicting SAS tokens will raise a ValueError. + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_instantiate_client.py + :start-after: [START instantiate_directory_client_from_conn_str] + :end-before: [END instantiate_directory_client_from_conn_str] + :language: python + :dedent: 4 + :caption: Creating the DataLakeServiceClient from connection string. + """ + def __init__( + self, account_url, # type: str + file_system_name, # type: str + directory_name, # type: str + credential=None, # type: Optional[Any] + **kwargs # type: Any + ): + # type: (...) -> None + super(DataLakeDirectoryClient, self).__init__(account_url, file_system_name, path_name=directory_name, + credential=credential, **kwargs) + + @classmethod + def from_connection_string( + cls, conn_str, # type: str + file_system_name, # type: str + directory_name, # type: str + credential=None, # type: Optional[Any] + **kwargs # type: Any + ): # type: (...) -> DataLakeDirectoryClient + """ + Create DataLakeDirectoryClient from a Connection String. + + :param str conn_str: + A connection string to an Azure Storage account. + :param file_system_name: + The name of file system to interact with. + :type file_system_name: str + :param directory_name: + The name of directory to interact with. The directory is under file system. + :type directory_name: str + :param credential: + The credentials with which to authenticate. This is optional if the + account URL already has a SAS token, or the connection string already has shared + access key values. The value can be a SAS token string, + an instance of a AzureSasCredential from azure.core.credentials, and account shared access + key, or an instance of a TokenCredentials class from azure.identity. + Credentials provided here will take precedence over those in the connection string. + :return a DataLakeDirectoryClient + :rtype ~azure.storage.filedatalake.DataLakeDirectoryClient + """ + account_url, _, credential = parse_connection_str(conn_str, credential, 'dfs') + return cls( + account_url, file_system_name=file_system_name, directory_name=directory_name, + credential=credential, **kwargs) + + def create_directory(self, metadata=None, # type: Optional[Dict[str, str]] + **kwargs): + # type: (...) -> Dict[str, Union[str, datetime]] + """ + Create a new directory. + + :param metadata: + Name-value pairs associated with the file as metadata. + :type metadata: dict(str, str) + :keyword ~azure.storage.filedatalake.ContentSettings content_settings: + ContentSettings object used to set path properties. + :keyword lease: + Required if the file has an active lease. Value can be a DataLakeLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.filedatalake.DataLakeLeaseClient or str + :keyword str umask: + Optional and only valid if Hierarchical Namespace is enabled for the account. + When creating a file or directory and the parent folder does not have a default ACL, + the umask restricts the permissions of the file or directory to be created. + The resulting permission is given by p & ^u, where p is the permission and u is the umask. + For example, if p is 0777 and u is 0057, then the resulting permission is 0720. + The default permission is 0777 for a directory and 0666 for a file. The default umask is 0027. + The umask must be specified in 4-digit octal notation (e.g. 0766). + :keyword str permissions: + Optional and only valid if Hierarchical Namespace + is enabled for the account. Sets POSIX access permissions for the file + owner, the file owning group, and others. Each class may be granted + read, write, or execute permission. The sticky bit is also supported. + Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are + supported. + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: response dict (Etag and last modified). + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_directory.py + :start-after: [START create_directory] + :end-before: [END create_directory] + :language: python + :dedent: 8 + :caption: Create directory. + """ + return self._create('directory', metadata=metadata, **kwargs) + + def delete_directory(self, **kwargs): + # type: (...) -> None + """ + Marks the specified directory for deletion. + + :keyword lease: + Required if the file has an active lease. Value can be a LeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.filedatalake.DataLakeLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: None + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_directory.py + :start-after: [START delete_directory] + :end-before: [END delete_directory] + :language: python + :dedent: 4 + :caption: Delete directory. + """ + return self._delete(recursive=True, **kwargs) + + def get_directory_properties(self, **kwargs): + # type: (**Any) -> DirectoryProperties + """Returns all user-defined metadata, standard HTTP properties, and + system properties for the directory. It does not return the content of the directory. + + :keyword lease: + Required if the directory or file has an active lease. Value can be a DataLakeLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.filedatalake.DataLakeLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :rtype: DirectoryProperties + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_directory.py + :start-after: [START get_directory_properties] + :end-before: [END get_directory_properties] + :language: python + :dedent: 4 + :caption: Getting the properties for a file/directory. + """ + return self._get_path_properties(cls=deserialize_dir_properties, **kwargs) # pylint: disable=protected-access + + def exists(self, **kwargs): + # type: (**Any) -> bool + """ + Returns True if a directory exists and returns False otherwise. + + :kwarg int timeout: + The timeout parameter is expressed in seconds. + :returns: boolean + """ + return self._exists(**kwargs) + + def rename_directory(self, new_name, **kwargs): + # type: (str, **Any) -> DataLakeDirectoryClient + """ + Rename the source directory. + + :param str new_name: + the new directory name the user want to rename to. + The value must have the following format: "{filesystem}/{directory}/{subdirectory}". + :keyword source_lease: + A lease ID for the source path. If specified, + the source path must have an active lease and the leaase ID must + match. + :paramtype source_lease: ~azure.storage.filedatalake.DataLakeLeaseClient or str + :keyword lease: + Required if the file/directory has an active lease. Value can be a LeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.filedatalake.DataLakeLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword ~datetime.datetime source_if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime source_if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str source_etag: + The source ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions source_match_condition: + The source match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: DataLakeDirectoryClient + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_directory.py + :start-after: [START rename_directory] + :end-before: [END rename_directory] + :language: python + :dedent: 4 + :caption: Rename the source directory. + """ + new_name = new_name.strip('/') + new_file_system = new_name.split('/')[0] + new_path_and_token = new_name[len(new_file_system):].strip('/').split('?') + new_path = new_path_and_token[0] + try: + new_dir_sas = new_path_and_token[1] or self._query_str.strip('?') + except IndexError: + if not self._raw_credential and new_file_system != self.file_system_name: + raise ValueError("please provide the sas token for the new file") + if not self._raw_credential and new_file_system == self.file_system_name: + new_dir_sas = self._query_str.strip('?') + + new_directory_client = DataLakeDirectoryClient( + "{}://{}".format(self.scheme, self.primary_hostname), new_file_system, directory_name=new_path, + credential=self._raw_credential or new_dir_sas, + _hosts=self._hosts, _configuration=self._config, _pipeline=self._pipeline, + require_encryption=self.require_encryption, + key_encryption_key=self.key_encryption_key, + key_resolver_function=self.key_resolver_function) + new_directory_client._rename_path( # pylint: disable=protected-access + '/{}/{}{}'.format(quote(unquote(self.file_system_name)), + quote(unquote(self.path_name)), + self._query_str), + **kwargs) + return new_directory_client + + def create_sub_directory(self, sub_directory, # type: Union[DirectoryProperties, str] + metadata=None, # type: Optional[Dict[str, str]] + **kwargs): + # type: (...) -> DataLakeDirectoryClient + """ + Create a subdirectory and return the subdirectory client to be interacted with. + + :param sub_directory: + The directory with which to interact. This can either be the name of the directory, + or an instance of DirectoryProperties. + :type sub_directory: str or ~azure.storage.filedatalake.DirectoryProperties + :param metadata: + Name-value pairs associated with the file as metadata. + :type metadata: dict(str, str) + :keyword ~azure.storage.filedatalake.ContentSettings content_settings: + ContentSettings object used to set path properties. + :keyword lease: + Required if the file has an active lease. Value can be a DataLakeLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.filedatalake.DataLakeLeaseClient or str + :keyword str umask: + Optional and only valid if Hierarchical Namespace is enabled for the account. + When creating a file or directory and the parent folder does not have a default ACL, + the umask restricts the permissions of the file or directory to be created. + The resulting permission is given by p & ^u, where p is the permission and u is the umask. + For example, if p is 0777 and u is 0057, then the resulting permission is 0720. + The default permission is 0777 for a directory and 0666 for a file. The default umask is 0027. + The umask must be specified in 4-digit octal notation (e.g. 0766). + :keyword str permissions: + Optional and only valid if Hierarchical Namespace + is enabled for the account. Sets POSIX access permissions for the file + owner, the file owning group, and others. Each class may be granted + read, write, or execute permission. The sticky bit is also supported. + Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are + supported. + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: DataLakeDirectoryClient for the subdirectory. + """ + subdir = self.get_sub_directory_client(sub_directory) + subdir.create_directory(metadata=metadata, **kwargs) + return subdir + + def delete_sub_directory(self, sub_directory, # type: Union[DirectoryProperties, str] + **kwargs): + # type: (...) -> DataLakeDirectoryClient + """ + Marks the specified subdirectory for deletion. + + :param sub_directory: + The directory with which to interact. This can either be the name of the directory, + or an instance of DirectoryProperties. + :type sub_directory: str or ~azure.storage.filedatalake.DirectoryProperties + :keyword lease: + Required if the file has an active lease. Value can be a LeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.filedatalake.DataLakeLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: DataLakeDirectoryClient for the subdirectory + """ + subdir = self.get_sub_directory_client(sub_directory) + subdir.delete_directory(**kwargs) + return subdir + + def create_file(self, file, # type: Union[FileProperties, str] + **kwargs): + # type: (...) -> DataLakeFileClient + """ + Create a new file and return the file client to be interacted with. + + :param file: + The file with which to interact. This can either be the name of the file, + or an instance of FileProperties. + :type file: str or ~azure.storage.filedatalake.FileProperties + :keyword ~azure.storage.filedatalake.ContentSettings content_settings: + ContentSettings object used to set path properties. + :keyword metadata: + Name-value pairs associated with the file as metadata. + :type metadata: dict(str, str) + :keyword lease: + Required if the file has an active lease. Value can be a DataLakeLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.filedatalake.DataLakeLeaseClient or str + :keyword str umask: + Optional and only valid if Hierarchical Namespace is enabled for the account. + When creating a file or directory and the parent folder does not have a default ACL, + the umask restricts the permissions of the file or directory to be created. + The resulting permission is given by p & ^u, where p is the permission and u is the umask. + For example, if p is 0777 and u is 0057, then the resulting permission is 0720. + The default permission is 0777 for a directory and 0666 for a file. The default umask is 0027. + The umask must be specified in 4-digit octal notation (e.g. 0766). + :keyword str permissions: + Optional and only valid if Hierarchical Namespace + is enabled for the account. Sets POSIX access permissions for the file + owner, the file owning group, and others. Each class may be granted + read, write, or execute permission. The sticky bit is also supported. + Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are + supported. + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: DataLakeFileClient + """ + file_client = self.get_file_client(file) + file_client.create_file(**kwargs) + return file_client + + def get_file_client(self, file # type: Union[FileProperties, str] + ): + # type: (...) -> DataLakeFileClient + """Get a client to interact with the specified file. + + The file need not already exist. + + :param file: + The file with which to interact. This can either be the name of the file, + or an instance of FileProperties. eg. directory/subdirectory/file + :type file: str or ~azure.storage.filedatalake.FileProperties + :returns: A DataLakeFileClient. + :rtype: ~azure.storage.filedatalake.DataLakeFileClient + """ + try: + file_path = file.get('name') + except AttributeError: + file_path = self.path_name + '/' + str(file) + + _pipeline = Pipeline( + transport=TransportWrapper(self._pipeline._transport), # pylint: disable = protected-access + policies=self._pipeline._impl_policies # pylint: disable = protected-access + ) + return DataLakeFileClient( + self.url, self.file_system_name, file_path=file_path, credential=self._raw_credential, + _hosts=self._hosts, _configuration=self._config, _pipeline=self._pipeline, + require_encryption=self.require_encryption, + key_encryption_key=self.key_encryption_key, + key_resolver_function=self.key_resolver_function) + + def get_sub_directory_client(self, sub_directory # type: Union[DirectoryProperties, str] + ): + # type: (...) -> DataLakeDirectoryClient + """Get a client to interact with the specified subdirectory of the current directory. + + The sub subdirectory need not already exist. + + :param sub_directory: + The directory with which to interact. This can either be the name of the directory, + or an instance of DirectoryProperties. + :type sub_directory: str or ~azure.storage.filedatalake.DirectoryProperties + :returns: A DataLakeDirectoryClient. + :rtype: ~azure.storage.filedatalake.DataLakeDirectoryClient + """ + try: + subdir_path = sub_directory.get('name') + except AttributeError: + subdir_path = self.path_name + '/' + str(sub_directory) + + _pipeline = Pipeline( + transport=TransportWrapper(self._pipeline._transport), # pylint: disable = protected-access + policies=self._pipeline._impl_policies # pylint: disable = protected-access + ) + return DataLakeDirectoryClient( + self.url, self.file_system_name, directory_name=subdir_path, credential=self._raw_credential, + _hosts=self._hosts, _configuration=self._config, _pipeline=self._pipeline, + require_encryption=self.require_encryption, + key_encryption_key=self.key_encryption_key, + key_resolver_function=self.key_resolver_function) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_data_lake_file_client.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_data_lake_file_client.py new file mode 100644 index 00000000000..e15842dc3b6 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_data_lake_file_client.py @@ -0,0 +1,777 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +from io import BytesIO +from typing import Any + +try: + from urllib.parse import quote, unquote +except ImportError: + from urllib2 import quote, unquote # type: ignore + +import six + +from azure.core.exceptions import HttpResponseError +from ._quick_query_helper import DataLakeFileQueryReader +from ._shared.base_client import parse_connection_str +from ._shared.request_handlers import get_length, read_length +from ._shared.response_handlers import return_response_headers +from ._shared.uploads import IterStreamer +from ._upload_helper import upload_datalake_file +from ._download import StorageStreamDownloader +from ._path_client import PathClient +from ._serialize import get_mod_conditions, get_path_http_headers, get_access_conditions, add_metadata_headers, \ + convert_datetime_to_rfc1123 +from ._deserialize import process_storage_error, deserialize_file_properties +from ._models import FileProperties, DataLakeFileQueryError + + +class DataLakeFileClient(PathClient): + """A client to interact with the DataLake file, even if the file may not yet exist. + + :ivar str url: + The full endpoint URL to the file system, including SAS token if used. + :ivar str primary_endpoint: + The full primary endpoint URL. + :ivar str primary_hostname: + The hostname of the primary endpoint. + :param str account_url: + The URI to the storage account. + :param file_system_name: + The file system for the directory or files. + :type file_system_name: str + :param file_path: + The whole file path, so that to interact with a specific file. + eg. "{directory}/{subdirectory}/{file}" + :type file_path: str + :param credential: + The credentials with which to authenticate. This is optional if the + account URL already has a SAS token. The value can be a SAS token string, + an instance of a AzureSasCredential from azure.core.credentials, an account + shared access key, or an instance of a TokenCredentials class from azure.identity. + If the resource URI already contains a SAS token, this will be ignored in favor of an explicit credential + - except in the case of AzureSasCredential, where the conflicting SAS tokens will raise a ValueError. + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_instantiate_client.py + :start-after: [START instantiate_file_client_from_conn_str] + :end-before: [END instantiate_file_client_from_conn_str] + :language: python + :dedent: 4 + :caption: Creating the DataLakeServiceClient from connection string. + """ + def __init__( + self, account_url, # type: str + file_system_name, # type: str + file_path, # type: str + credential=None, # type: Optional[Any] + **kwargs # type: Any + ): + # type: (...) -> None + super(DataLakeFileClient, self).__init__(account_url, file_system_name, path_name=file_path, + credential=credential, **kwargs) + + @classmethod + def from_connection_string( + cls, conn_str, # type: str + file_system_name, # type: str + file_path, # type: str + credential=None, # type: Optional[Any] + **kwargs # type: Any + ): # type: (...) -> DataLakeFileClient + """ + Create DataLakeFileClient from a Connection String. + + :param str conn_str: + A connection string to an Azure Storage account. + :param file_system_name: The name of file system to interact with. + :type file_system_name: str + :param directory_name: The name of directory to interact with. The directory is under file system. + :type directory_name: str + :param file_name: The name of file to interact with. The file is under directory. + :type file_name: str + :param credential: + The credentials with which to authenticate. This is optional if the + account URL already has a SAS token, or the connection string already has shared + access key values. The value can be a SAS token string, + an instance of a AzureSasCredential from azure.core.credentials, an account shared access + key, or an instance of a TokenCredentials class from azure.identity. + Credentials provided here will take precedence over those in the connection string. + :return a DataLakeFileClient + :rtype ~azure.storage.filedatalake.DataLakeFileClient + """ + account_url, _, credential = parse_connection_str(conn_str, credential, 'dfs') + return cls( + account_url, file_system_name=file_system_name, file_path=file_path, + credential=credential, **kwargs) + + def create_file(self, content_settings=None, # type: Optional[ContentSettings] + metadata=None, # type: Optional[Dict[str, str]] + **kwargs): + # type: (...) -> Dict[str, Union[str, datetime]] + """ + Create a new file. + + :param ~azure.storage.filedatalake.ContentSettings content_settings: + ContentSettings object used to set path properties. + :param metadata: + Name-value pairs associated with the file as metadata. + :type metadata: dict(str, str) + :keyword lease: + Required if the file has an active lease. Value can be a DataLakeLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.filedatalake.DataLakeLeaseClient or str + :keyword str umask: + Optional and only valid if Hierarchical Namespace is enabled for the account. + When creating a file or directory and the parent folder does not have a default ACL, + the umask restricts the permissions of the file or directory to be created. + The resulting permission is given by p & ^u, where p is the permission and u is the umask. + For example, if p is 0777 and u is 0057, then the resulting permission is 0720. + The default permission is 0777 for a directory and 0666 for a file. The default umask is 0027. + The umask must be specified in 4-digit octal notation (e.g. 0766). + :keyword str permissions: + Optional and only valid if Hierarchical Namespace + is enabled for the account. Sets POSIX access permissions for the file + owner, the file owning group, and others. Each class may be granted + read, write, or execute permission. The sticky bit is also supported. + Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are + supported. + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: response dict (Etag and last modified). + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_upload_download.py + :start-after: [START create_file] + :end-before: [END create_file] + :language: python + :dedent: 4 + :caption: Create file. + """ + return self._create('file', content_settings=content_settings, metadata=metadata, **kwargs) + + def delete_file(self, **kwargs): + # type: (...) -> None + """ + Marks the specified file for deletion. + + :keyword lease: + Required if the file has an active lease. Value can be a LeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.filedatalake.DataLakeLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: None + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_upload_download.py + :start-after: [START delete_file] + :end-before: [END delete_file] + :language: python + :dedent: 4 + :caption: Delete file. + """ + return self._delete(**kwargs) + + def get_file_properties(self, **kwargs): + # type: (**Any) -> FileProperties + """Returns all user-defined metadata, standard HTTP properties, and + system properties for the file. It does not return the content of the file. + + :keyword lease: + Required if the directory or file has an active lease. Value can be a DataLakeLeaseClient object + or the lease ID as a string. + :type lease: ~azure.storage.filedatalake.DataLakeLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :rtype: FileProperties + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_upload_download.py + :start-after: [START get_file_properties] + :end-before: [END get_file_properties] + :language: python + :dedent: 4 + :caption: Getting the properties for a file. + """ + return self._get_path_properties(cls=deserialize_file_properties, **kwargs) # pylint: disable=protected-access + + def set_file_expiry(self, expiry_options, # type: str + expires_on=None, # type: Optional[Union[datetime, int]] + **kwargs): + # type: (str, Optional[Union[datetime, int]], **Any) -> None + """Sets the time a file will expire and be deleted. + + :param str expiry_options: + Required. Indicates mode of the expiry time. + Possible values include: 'NeverExpire', 'RelativeToCreation', 'RelativeToNow', 'Absolute' + :param datetime or int expires_on: + The time to set the file to expiry. + When expiry_options is RelativeTo*, expires_on should be an int in milliseconds. + If the type of expires_on is datetime, it should be in UTC time. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :rtype: None + """ + try: + expires_on = convert_datetime_to_rfc1123(expires_on) + except AttributeError: + expires_on = str(expires_on) + self._datalake_client_for_blob_operation.path \ + .set_expiry(expiry_options, expires_on=expires_on, **kwargs) # pylint: disable=protected-access + + def _upload_options( # pylint:disable=too-many-statements + self, data, # type: Union[Iterable[AnyStr], IO[AnyStr]] + length=None, # type: Optional[int] + **kwargs + ): + # type: (...) -> Dict[str, Any] + + encoding = kwargs.pop('encoding', 'UTF-8') + if isinstance(data, six.text_type): + data = data.encode(encoding) # type: ignore + if length is None: + length = get_length(data) + if isinstance(data, bytes): + data = data[:length] + + if isinstance(data, bytes): + stream = BytesIO(data) + elif hasattr(data, 'read'): + stream = data + elif hasattr(data, '__iter__'): + stream = IterStreamer(data, encoding=encoding) + else: + raise TypeError("Unsupported data type: {}".format(type(data))) + + validate_content = kwargs.pop('validate_content', False) + content_settings = kwargs.pop('content_settings', None) + metadata = kwargs.pop('metadata', None) + max_concurrency = kwargs.pop('max_concurrency', 1) + + kwargs['properties'] = add_metadata_headers(metadata) + kwargs['lease_access_conditions'] = get_access_conditions(kwargs.pop('lease', None)) + kwargs['modified_access_conditions'] = get_mod_conditions(kwargs) + + if content_settings: + kwargs['path_http_headers'] = get_path_http_headers(content_settings) + + kwargs['stream'] = stream + kwargs['length'] = length + kwargs['validate_content'] = validate_content + kwargs['max_concurrency'] = max_concurrency + kwargs['client'] = self._client.path + kwargs['file_settings'] = self._config + + return kwargs + + def upload_data(self, data, # type: Union[AnyStr, Iterable[AnyStr], IO[AnyStr]] + length=None, # type: Optional[int] + overwrite=False, # type: Optional[bool] + **kwargs): + # type: (...) -> Dict[str, Any] + """ + Upload data to a file. + + :param data: Content to be uploaded to file + :param int length: Size of the data in bytes. + :param bool overwrite: to overwrite an existing file or not. + :keyword ~azure.storage.filedatalake.ContentSettings content_settings: + ContentSettings object used to set path properties. + :keyword metadata: + Name-value pairs associated with the blob as metadata. + :paramtype metadata: dict(str, str) + :keyword ~azure.storage.filedatalake.DataLakeLeaseClient or str lease: + Required if the blob has an active lease. Value can be a DataLakeLeaseClient object + or the lease ID as a string. + :keyword str umask: Optional and only valid if Hierarchical Namespace is enabled for the account. + When creating a file or directory and the parent folder does not have a default ACL, + the umask restricts the permissions of the file or directory to be created. + The resulting permission is given by p & ^u, where p is the permission and u is the umask. + For example, if p is 0777 and u is 0057, then the resulting permission is 0720. + The default permission is 0777 for a directory and 0666 for a file. The default umask is 0027. + The umask must be specified in 4-digit octal notation (e.g. 0766). + :keyword str permissions: Optional and only valid if Hierarchical Namespace + is enabled for the account. Sets POSIX access permissions for the file + owner, the file owning group, and others. Each class may be granted + read, write, or execute permission. The sticky bit is also supported. + Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are + supported. + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword bool validate_content: + If true, calculates an MD5 hash for each chunk of the file. The storage + service checks the hash of the content that has arrived with the hash + that was sent. This is primarily valuable for detecting bitflips on + the wire if using http instead of https, as https (the default), will + already validate. Note that this MD5 hash is not stored with the + blob. Also note that if enabled, the memory-efficient upload algorithm + will not be used because computing the MD5 hash requires buffering + entire blocks, and doing so defeats the purpose of the memory-efficient algorithm. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :keyword int chunk_size: + The maximum chunk size for uploading a file in chunks. + Defaults to 100*1024*1024, or 100MB. + :return: response dict (Etag and last modified). + """ + options = self._upload_options( + data, + length=length, + overwrite=overwrite, + **kwargs) + return upload_datalake_file(**options) + + @staticmethod + def _append_data_options(data, offset, length=None, **kwargs): + # type: (Optional[ContentSettings], Optional[Dict[str, str]], **Any) -> Dict[str, Any] + + if isinstance(data, six.text_type): + data = data.encode(kwargs.pop('encoding', 'UTF-8')) # type: ignore + if length is None: + length = get_length(data) + if length is None: + length, data = read_length(data) + if isinstance(data, bytes): + data = data[:length] + + access_conditions = get_access_conditions(kwargs.pop('lease', None)) + + options = { + 'body': data, + 'position': offset, + 'content_length': length, + 'lease_access_conditions': access_conditions, + 'validate_content': kwargs.pop('validate_content', False), + 'timeout': kwargs.pop('timeout', None), + 'cls': return_response_headers} + options.update(kwargs) + return options + + def append_data(self, data, # type: Union[AnyStr, Iterable[AnyStr], IO[AnyStr]] + offset, # type: int + length=None, # type: Optional[int] + **kwargs): + # type: (...) -> Dict[str, Union[str, datetime, int]] + """Append data to the file. + + :param data: Content to be appended to file + :param offset: start position of the data to be appended to. + :param length: Size of the data in bytes. + :keyword bool validate_content: + If true, calculates an MD5 hash of the block content. The storage + service checks the hash of the content that has arrived + with the hash that was sent. This is primarily valuable for detecting + bitflips on the wire if using http instead of https as https (the default) + will already validate. Note that this MD5 hash is not stored with the + file. + :keyword lease: + Required if the file has an active lease. Value can be a DataLakeLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.filedatalake.DataLakeLeaseClient or str + :return: dict of the response header + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_upload_download.py + :start-after: [START append_data] + :end-before: [END append_data] + :language: python + :dedent: 4 + :caption: Append data to the file. + """ + options = self._append_data_options( + data, + offset, + length=length, + **kwargs) + try: + return self._client.path.append_data(**options) + except HttpResponseError as error: + process_storage_error(error) + + @staticmethod + def _flush_data_options(offset, content_settings=None, retain_uncommitted_data=False, **kwargs): + # type: (Optional[ContentSettings], Optional[Dict[str, str]], **Any) -> Dict[str, Any] + + access_conditions = get_access_conditions(kwargs.pop('lease', None)) + mod_conditions = get_mod_conditions(kwargs) + + path_http_headers = None + if content_settings: + path_http_headers = get_path_http_headers(content_settings) + + options = { + 'position': offset, + 'content_length': 0, + 'path_http_headers': path_http_headers, + 'retain_uncommitted_data': retain_uncommitted_data, + 'close': kwargs.pop('close', False), + 'lease_access_conditions': access_conditions, + 'modified_access_conditions': mod_conditions, + 'timeout': kwargs.pop('timeout', None), + 'cls': return_response_headers} + options.update(kwargs) + return options + + def flush_data(self, offset, # type: int + retain_uncommitted_data=False, # type: Optional[bool] + **kwargs): + # type: (...) -> Dict[str, Union[str, datetime]] + """ Commit the previous appended data. + + :param offset: offset is equal to the length of the file after commit the + previous appended data. + :param bool retain_uncommitted_data: Valid only for flush operations. If + "true", uncommitted data is retained after the flush operation + completes; otherwise, the uncommitted data is deleted after the flush + operation. The default is false. Data at offsets less than the + specified position are written to the file when flush succeeds, but + this optional parameter allows data after the flush position to be + retained for a future flush operation. + :keyword ~azure.storage.filedatalake.ContentSettings content_settings: + ContentSettings object used to set path properties. + :keyword bool close: Azure Storage Events allow applications to receive + notifications when files change. When Azure Storage Events are + enabled, a file changed event is raised. This event has a property + indicating whether this is the final change to distinguish the + difference between an intermediate flush to a file stream and the + final close of a file stream. The close query parameter is valid only + when the action is "flush" and change notifications are enabled. If + the value of close is "true" and the flush operation completes + successfully, the service raises a file change notification with a + property indicating that this is the final update (the file stream has + been closed). If "false" a change notification is raised indicating + the file has changed. The default is false. This query parameter is + set to true by the Hadoop ABFS driver to indicate that the file stream + has been closed." + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :return: response header in dict + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_file_system.py + :start-after: [START upload_file_to_file_system] + :end-before: [END upload_file_to_file_system] + :language: python + :dedent: 8 + :caption: Commit the previous appended data. + """ + options = self._flush_data_options( + offset, + retain_uncommitted_data=retain_uncommitted_data, **kwargs) + try: + return self._client.path.flush_data(**options) + except HttpResponseError as error: + process_storage_error(error) + + def download_file(self, offset=None, length=None, **kwargs): + # type: (Optional[int], Optional[int], Any) -> StorageStreamDownloader + """Downloads a file to the StorageStreamDownloader. The readall() method must + be used to read all the content, or readinto() must be used to download the file into + a stream. Using chunks() returns an iterator which allows the user to iterate over the content in chunks. + + :param int offset: + Start of byte range to use for downloading a section of the file. + Must be set if length is provided. + :param int length: + Number of bytes to read from the stream. This is optional, but + should be supplied for optimal performance. + :keyword lease: + If specified, download only succeeds if the file's lease is active + and matches this ID. Required if the file has an active lease. + :paramtype lease: ~azure.storage.filedatalake.DataLakeLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int max_concurrency: + The number of parallel connections with which to download. + :keyword int timeout: + The timeout parameter is expressed in seconds. This method may make + multiple calls to the Azure service and the timeout will apply to + each call individually. + :returns: A streaming object (StorageStreamDownloader) + :rtype: ~azure.storage.filedatalake.StorageStreamDownloader + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_upload_download.py + :start-after: [START read_file] + :end-before: [END read_file] + :language: python + :dedent: 4 + :caption: Return the downloaded data. + """ + downloader = self._blob_client.download_blob(offset=offset, length=length, **kwargs) + return StorageStreamDownloader(downloader) + + def exists(self, **kwargs): + # type: (**Any) -> bool + """ + Returns True if a file exists and returns False otherwise. + + :kwarg int timeout: + The timeout parameter is expressed in seconds. + :returns: boolean + """ + return self._exists(**kwargs) + + def rename_file(self, new_name, **kwargs): + # type: (str, **Any) -> DataLakeFileClient + """ + Rename the source file. + + :param str new_name: the new file name the user want to rename to. + The value must have the following format: "{filesystem}/{directory}/{subdirectory}/{file}". + :keyword ~azure.storage.filedatalake.ContentSettings content_settings: + ContentSettings object used to set path properties. + :keyword source_lease: A lease ID for the source path. If specified, + the source path must have an active lease and the leaase ID must + match. + :paramtype source_lease: ~azure.storage.filedatalake.DataLakeLeaseClient or str + :keyword lease: + Required if the file/directory has an active lease. Value can be a LeaseClient object + or the lease ID as a string. + :type lease: ~azure.storage.filedatalake.DataLakeLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword ~datetime.datetime source_if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime source_if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str source_etag: + The source ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions source_match_condition: + The source match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: the renamed file client + :rtype: DataLakeFileClient + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_upload_download.py + :start-after: [START rename_file] + :end-before: [END rename_file] + :language: python + :dedent: 4 + :caption: Rename the source file. + """ + new_name = new_name.strip('/') + new_file_system = new_name.split('/')[0] + new_path_and_token = new_name[len(new_file_system):].strip('/').split('?') + new_path = new_path_and_token[0] + try: + new_file_sas = new_path_and_token[1] or self._query_str.strip('?') + except IndexError: + if not self._raw_credential and new_file_system != self.file_system_name: + raise ValueError("please provide the sas token for the new file") + if not self._raw_credential and new_file_system == self.file_system_name: + new_file_sas = self._query_str.strip('?') + + new_file_client = DataLakeFileClient( + "{}://{}".format(self.scheme, self.primary_hostname), new_file_system, file_path=new_path, + credential=self._raw_credential or new_file_sas, + _hosts=self._hosts, _configuration=self._config, _pipeline=self._pipeline, + _location_mode=self._location_mode, require_encryption=self.require_encryption, + key_encryption_key=self.key_encryption_key, + key_resolver_function=self.key_resolver_function + ) + new_file_client._rename_path( # pylint: disable=protected-access + '/{}/{}{}'.format(quote(unquote(self.file_system_name)), + quote(unquote(self.path_name)), + self._query_str), + **kwargs) + return new_file_client + + def query_file(self, query_expression, **kwargs): + # type: (str, **Any) -> DataLakeFileQueryReader + """ + Enables users to select/project on datalake file data by providing simple query expressions. + This operations returns a DataLakeFileQueryReader, users need to use readall() or readinto() to get query data. + + :param str query_expression: + Required. a query statement. + eg. Select * from DataLakeStorage + :keyword Callable[~azure.storage.filedatalake.DataLakeFileQueryError] on_error: + A function to be called on any processing errors returned by the service. + :keyword file_format: + Optional. Defines the serialization of the data currently stored in the file. The default is to + treat the file data as CSV data formatted in the default dialect. This can be overridden with + a custom DelimitedTextDialect, or alternatively a DelimitedJsonDialect. + :paramtype file_format: + ~azure.storage.filedatalake.DelimitedTextDialect or ~azure.storage.filedatalake.DelimitedJsonDialect + :keyword output_format: + Optional. Defines the output serialization for the data stream. By default the data will be returned + as it is represented in the file. By providing an output format, the file data will be reformatted + according to that profile. This value can be a DelimitedTextDialect or a DelimitedJsonDialect. + :paramtype output_format: + ~azure.storage.filedatalake.DelimitedTextDialect, ~azure.storage.filedatalake.DelimitedJsonDialect + or list[~azure.storage.filedatalake.ArrowDialect] + :keyword lease: + Required if the file has an active lease. Value can be a DataLakeLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.filedatalake.DataLakeLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: A streaming object (DataLakeFileQueryReader) + :rtype: ~azure.storage.filedatalake.DataLakeFileQueryReader + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_query.py + :start-after: [START query] + :end-before: [END query] + :language: python + :dedent: 4 + :caption: select/project on datalake file data by providing simple query expressions. + """ + query_expression = query_expression.replace("from DataLakeStorage", "from BlobStorage") + blob_quick_query_reader = self._blob_client.query_blob(query_expression, + blob_format=kwargs.pop('file_format', None), + error_cls=DataLakeFileQueryError, + **kwargs) + return DataLakeFileQueryReader(blob_quick_query_reader) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_data_lake_lease.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_data_lake_lease.py new file mode 100644 index 00000000000..ed85b145b54 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_data_lake_lease.py @@ -0,0 +1,245 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- + +import uuid + +from typing import ( # pylint: disable=unused-import + Union, Optional, Any, + TypeVar, TYPE_CHECKING +) +from ...blob import BlobLeaseClient + + +if TYPE_CHECKING: + from datetime import datetime + FileSystemClient = TypeVar("FileSystemClient") + DataLakeDirectoryClient = TypeVar("DataLakeDirectoryClient") + DataLakeFileClient = TypeVar("DataLakeFileClient") + + +class DataLakeLeaseClient(object): + """Creates a new DataLakeLeaseClient. + + This client provides lease operations on a FileSystemClient, DataLakeDirectoryClient or DataLakeFileClient. + + :ivar str id: + The ID of the lease currently being maintained. This will be `None` if no + lease has yet been acquired. + :ivar str etag: + The ETag of the lease currently being maintained. This will be `None` if no + lease has yet been acquired or modified. + :ivar ~datetime.datetime last_modified: + The last modified timestamp of the lease currently being maintained. + This will be `None` if no lease has yet been acquired or modified. + + :param client: + The client of the file system, directory, or file to lease. + :type client: ~azure.storage.filedatalake.FileSystemClient or + ~azure.storage.filedatalake.DataLakeDirectoryClient or ~azure.storage.filedatalake.DataLakeFileClient + :param str lease_id: + A string representing the lease ID of an existing lease. This value does not + need to be specified in order to acquire a new lease, or break one. + """ + def __init__( + self, client, lease_id=None + ): # pylint: disable=missing-client-constructor-parameter-credential,missing-client-constructor-parameter-kwargs + # type: (Union[FileSystemClient, DataLakeDirectoryClient, DataLakeFileClient], Optional[str]) -> None + self.id = lease_id or str(uuid.uuid4()) + self.last_modified = None + self.etag = None + + if hasattr(client, '_blob_client'): + _client = client._blob_client # type: ignore # pylint: disable=protected-access + elif hasattr(client, '_container_client'): + _client = client._container_client # type: ignore # pylint: disable=protected-access + else: + raise TypeError("Lease must use any of FileSystemClient DataLakeDirectoryClient, or DataLakeFileClient.") + + self._blob_lease_client = BlobLeaseClient(_client, lease_id=lease_id) + + def __enter__(self): + return self + + def __exit__(self, *args): + self.release() + + def acquire(self, lease_duration=-1, **kwargs): + # type: (int, Optional[int], **Any) -> None + """Requests a new lease. + + If the file/file system does not have an active lease, the DataLake service creates a + lease on the file/file system and returns a new lease ID. + + :param int lease_duration: + Specifies the duration of the lease, in seconds, or negative one + (-1) for a lease that never expires. A non-infinite lease can be + between 15 and 60 seconds. A lease duration cannot be changed + using renew or change. Default is -1 (infinite lease). + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :rtype: None + """ + self._blob_lease_client.acquire(lease_duration=lease_duration, **kwargs) + self._update_lease_client_attributes() + + def renew(self, **kwargs): + # type: (Any) -> None + """Renews the lease. + + The lease can be renewed if the lease ID specified in the + lease client matches that associated with the file system or file. Note that + the lease may be renewed even if it has expired as long as the file system + or file has not been leased again since the expiration of that lease. When you + renew a lease, the lease duration clock resets. + + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: None + """ + self._blob_lease_client.renew(**kwargs) + self._update_lease_client_attributes() + + def release(self, **kwargs): + # type: (Any) -> None + """Release the lease. + + The lease may be released if the client lease id specified matches + that associated with the file system or file. Releasing the lease allows another client + to immediately acquire the lease for the file system or file as soon as the release is complete. + + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: None + """ + self._blob_lease_client.release(**kwargs) + self._update_lease_client_attributes() + + def change(self, proposed_lease_id, **kwargs): + # type: (str, Any) -> None + """Change the lease ID of an active lease. + + :param str proposed_lease_id: + Proposed lease ID, in a GUID string format. The DataLake service returns 400 + (Invalid request) if the proposed lease ID is not in the correct format. + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: None + """ + self._blob_lease_client.change(proposed_lease_id=proposed_lease_id, **kwargs) + self._update_lease_client_attributes() + + def break_lease(self, lease_break_period=None, **kwargs): + # type: (Optional[int], Any) -> int + """Break the lease, if the file system or file has an active lease. + + Once a lease is broken, it cannot be renewed. Any authorized request can break the lease; + the request is not required to specify a matching lease ID. When a lease + is broken, the lease break period is allowed to elapse, during which time + no lease operation except break and release can be performed on the file system or file. + When a lease is successfully broken, the response indicates the interval + in seconds until a new lease can be acquired. + + :param int lease_break_period: + This is the proposed duration of seconds that the lease + should continue before it is broken, between 0 and 60 seconds. This + break period is only used if it is shorter than the time remaining + on the lease. If longer, the time remaining on the lease is used. + A new lease will not be available before the break period has + expired, but the lease may be held for longer than the break + period. If this header does not appear with a break + operation, a fixed-duration lease breaks after the remaining lease + period elapses, and an infinite lease breaks immediately. + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: Approximate time remaining in the lease period, in seconds. + :rtype: int + """ + self._blob_lease_client.break_lease(lease_break_period=lease_break_period, **kwargs) + + def _update_lease_client_attributes(self): + self.id = self._blob_lease_client.id # type: str + self.last_modified = self._blob_lease_client.last_modified # type: datetime + self.etag = self._blob_lease_client.etag # type: str diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_data_lake_service_client.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_data_lake_service_client.py new file mode 100644 index 00000000000..af66b02a5aa --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_data_lake_service_client.py @@ -0,0 +1,556 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +from typing import Optional, Dict, Any + +try: + from urllib.parse import urlparse +except ImportError: + from urlparse import urlparse # type: ignore + +from azure.core.paging import ItemPaged +from azure.core.pipeline import Pipeline + +from ...blob import BlobServiceClient +from ._shared.base_client import TransportWrapper, StorageAccountHostsMixin, parse_query, parse_connection_str +from ._deserialize import get_datalake_service_properties +from ._file_system_client import FileSystemClient +from ._data_lake_directory_client import DataLakeDirectoryClient +from ._data_lake_file_client import DataLakeFileClient +from ._models import UserDelegationKey, FileSystemPropertiesPaged, LocationMode +from ._serialize import convert_dfs_url_to_blob_url + + +class DataLakeServiceClient(StorageAccountHostsMixin): + """A client to interact with the DataLake Service at the account level. + + This client provides operations to retrieve and configure the account properties + as well as list, create and delete file systems within the account. + For operations relating to a specific file system, directory or file, clients for those entities + can also be retrieved using the `get_client` functions. + + :ivar str url: + The full endpoint URL to the datalake service endpoint. + :ivar str primary_endpoint: + The full primary endpoint URL. + :ivar str primary_hostname: + The hostname of the primary endpoint. + :param str account_url: + The URL to the DataLake storage account. Any other entities included + in the URL path (e.g. file system or file) will be discarded. This URL can be optionally + authenticated with a SAS token. + :param credential: + The credentials with which to authenticate. This is optional if the + account URL already has a SAS token. The value can be a SAS token string, + an instance of a AzureSasCredential from azure.core.credentials, an account + shared access key, or an instance of a TokenCredentials class from azure.identity. + If the resource URI already contains a SAS token, this will be ignored in favor of an explicit credential + - except in the case of AzureSasCredential, where the conflicting SAS tokens will raise a ValueError. + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_service.py + :start-after: [START create_datalake_service_client] + :end-before: [END create_datalake_service_client] + :language: python + :dedent: 8 + :caption: Creating the DataLakeServiceClient from connection string. + + .. literalinclude:: ../samples/datalake_samples_service.py + :start-after: [START create_datalake_service_client_oauth] + :end-before: [END create_datalake_service_client_oauth] + :language: python + :dedent: 8 + :caption: Creating the DataLakeServiceClient with Azure Identity credentials. + """ + + def __init__( + self, account_url, # type: str + credential=None, # type: Optional[Any] + **kwargs # type: Any + ): + # type: (...) -> None + try: + if not account_url.lower().startswith('http'): + account_url = "https://" + account_url + except AttributeError: + raise ValueError("Account URL must be a string.") + parsed_url = urlparse(account_url.rstrip('/')) + if not parsed_url.netloc: + raise ValueError("Invalid URL: {}".format(account_url)) + + blob_account_url = convert_dfs_url_to_blob_url(account_url) + self._blob_account_url = blob_account_url + self._blob_service_client = BlobServiceClient(blob_account_url, credential, **kwargs) + self._blob_service_client._hosts[LocationMode.SECONDARY] = "" #pylint: disable=protected-access + + _, sas_token = parse_query(parsed_url.query) + self._query_str, self._raw_credential = self._format_query_string(sas_token, credential) + + super(DataLakeServiceClient, self).__init__(parsed_url, service='dfs', + credential=self._raw_credential, **kwargs) + # ADLS doesn't support secondary endpoint, make sure it's empty + self._hosts[LocationMode.SECONDARY] = "" + + def __enter__(self): + self._blob_service_client.__enter__() + return self + + def __exit__(self, *args): + self._blob_service_client.close() + + def close(self): + # type: () -> None + """ This method is to close the sockets opened by the client. + It need not be used when using with a context manager. + """ + self._blob_service_client.close() + + def _format_url(self, hostname): + """Format the endpoint URL according to hostname + """ + formated_url = "{}://{}/{}".format(self.scheme, hostname, self._query_str) + return formated_url + + @classmethod + def from_connection_string( + cls, conn_str, # type: str + credential=None, # type: Optional[Any] + **kwargs # type: Any + ): # type: (...) -> DataLakeServiceClient + """ + Create DataLakeServiceClient from a Connection String. + + :param str conn_str: + A connection string to an Azure Storage account. + :param credential: + The credentials with which to authenticate. This is optional if the + account URL already has a SAS token, or the connection string already has shared + access key values. The value can be a SAS token string, + an instance of a AzureSasCredential from azure.core.credentials, an account shared access + key, or an instance of a TokenCredentials class from azure.identity. + Credentials provided here will take precedence over those in the connection string. + :return a DataLakeServiceClient + :rtype ~azure.storage.filedatalake.DataLakeServiceClient + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_file_system.py + :start-after: [START create_data_lake_service_client_from_conn_str] + :end-before: [END create_data_lake_service_client_from_conn_str] + :language: python + :dedent: 8 + :caption: Creating the DataLakeServiceClient from a connection string. + """ + account_url, _, credential = parse_connection_str(conn_str, credential, 'dfs') + return cls(account_url, credential=credential, **kwargs) + + def get_user_delegation_key(self, key_start_time, # type: datetime + key_expiry_time, # type: datetime + **kwargs # type: Any + ): + # type: (...) -> UserDelegationKey + """ + Obtain a user delegation key for the purpose of signing SAS tokens. + A token credential must be present on the service object for this request to succeed. + + :param ~datetime.datetime key_start_time: + A DateTime value. Indicates when the key becomes valid. + :param ~datetime.datetime key_expiry_time: + A DateTime value. Indicates when the key stops being valid. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: The user delegation key. + :rtype: ~azure.storage.filedatalake.UserDelegationKey + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_service.py + :start-after: [START get_user_delegation_key] + :end-before: [END get_user_delegation_key] + :language: python + :dedent: 8 + :caption: Get user delegation key from datalake service client. + """ + delegation_key = self._blob_service_client.get_user_delegation_key(key_start_time=key_start_time, + key_expiry_time=key_expiry_time, + **kwargs) # pylint: disable=protected-access + return UserDelegationKey._from_generated(delegation_key) # pylint: disable=protected-access + + def list_file_systems(self, name_starts_with=None, # type: Optional[str] + include_metadata=None, # type: Optional[bool] + **kwargs): + # type: (...) -> ItemPaged[FileSystemProperties] + """Returns a generator to list the file systems under the specified account. + + The generator will lazily follow the continuation tokens returned by + the service and stop when all file systems have been returned. + + :param str name_starts_with: + Filters the results to return only file systems whose names + begin with the specified prefix. + :param bool include_metadata: + Specifies that file system metadata be returned in the response. + The default value is `False`. + :keyword int results_per_page: + The maximum number of file system names to retrieve per API + call. If the request does not specify the server will return up to 5,000 items per page. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :keyword bool include_deleted: + Specifies that deleted file systems to be returned in the response. This is for file system restore enabled + account. The default value is `False`. + .. versionadded:: 12.3.0 + :returns: An iterable (auto-paging) of FileSystemProperties. + :rtype: ~azure.core.paging.ItemPaged[~azure.storage.filedatalake.FileSystemProperties] + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_service.py + :start-after: [START list_file_systems] + :end-before: [END list_file_systems] + :language: python + :dedent: 8 + :caption: Listing the file systems in the datalake service. + """ + item_paged = self._blob_service_client.list_containers(name_starts_with=name_starts_with, + include_metadata=include_metadata, + **kwargs) # pylint: disable=protected-access + item_paged._page_iterator_class = FileSystemPropertiesPaged # pylint: disable=protected-access + return item_paged + + def create_file_system(self, file_system, # type: Union[FileSystemProperties, str] + metadata=None, # type: Optional[Dict[str, str]] + public_access=None, # type: Optional[PublicAccess] + **kwargs): + # type: (...) -> FileSystemClient + """Creates a new file system under the specified account. + + If the file system with the same name already exists, a ResourceExistsError will + be raised. This method returns a client with which to interact with the newly + created file system. + + :param str file_system: + The name of the file system to create. + :param metadata: + A dict with name-value pairs to associate with the + file system as metadata. Example: `{'Category':'test'}` + :type metadata: dict(str, str) + :param public_access: + Possible values include: file system, file. + :type public_access: ~azure.storage.filedatalake.PublicAccess + :keyword int timeout: + The timeout parameter is expressed in seconds. + :rtype: ~azure.storage.filedatalake.FileSystemClient + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_service.py + :start-after: [START create_file_system_from_service_client] + :end-before: [END create_file_system_from_service_client] + :language: python + :dedent: 8 + :caption: Creating a file system in the datalake service. + """ + file_system_client = self.get_file_system_client(file_system) + file_system_client.create_file_system(metadata=metadata, public_access=public_access, **kwargs) + return file_system_client + + def _rename_file_system(self, name, new_name, **kwargs): + # type: (str, str, **Any) -> FileSystemClient + """Renames a filesystem. + + Operation is successful only if the source filesystem exists. + + :param str name: + The name of the filesystem to rename. + :param str new_name: + The new filesystem name the user wants to rename to. + :keyword lease: + Specify this to perform only if the lease ID given + matches the active lease ID of the source filesystem. + :paramtype lease: ~azure.storage.filedatalake.DataLakeLeaseClient or str + :keyword int timeout: + The timeout parameter is expressed in seconds. + :rtype: ~azure.storage.filedatalake.FileSystemClient + """ + self._blob_service_client._rename_container(name, new_name, **kwargs) # pylint: disable=protected-access + renamed_file_system = self.get_file_system_client(new_name) + return renamed_file_system + + def undelete_file_system(self, name, deleted_version, **kwargs): + # type: (str, str, **Any) -> FileSystemClient + """Restores soft-deleted filesystem. + + Operation will only be successful if used within the specified number of days + set in the delete retention policy. + + .. versionadded:: 12.3.0 + This operation was introduced in API version '2019-12-12'. + + :param str name: + Specifies the name of the deleted filesystem to restore. + :param str deleted_version: + Specifies the version of the deleted filesystem to restore. + :keyword str new_name: + The new name for the deleted filesystem to be restored to. + If not specified "name" will be used as the restored filesystem name. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :rtype: ~azure.storage.filedatalake.FileSystemClient + """ + new_name = kwargs.pop('new_name', None) + file_system = self.get_file_system_client(new_name or name) + self._blob_service_client.undelete_container( + name, deleted_version, new_name=new_name, **kwargs) # pylint: disable=protected-access + return file_system + + def delete_file_system(self, file_system, # type: Union[FileSystemProperties, str] + **kwargs): + # type: (...) -> FileSystemClient + """Marks the specified file system for deletion. + + The file system and any files contained within it are later deleted during garbage collection. + If the file system is not found, a ResourceNotFoundError will be raised. + + :param file_system: + The file system to delete. This can either be the name of the file system, + or an instance of FileSystemProperties. + :type file_system: str or ~azure.storage.filedatalake.FileSystemProperties + :keyword lease: + If specified, delete_file_system only succeeds if the + file system's lease is active and matches this ID. + Required if the file system has an active lease. + :paramtype lease: ~azure.storage.filedatalake.DataLakeLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :rtype: None + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_service.py + :start-after: [START delete_file_system_from_service_client] + :end-before: [END delete_file_system_from_service_client] + :language: python + :dedent: 8 + :caption: Deleting a file system in the datalake service. + """ + file_system_client = self.get_file_system_client(file_system) + file_system_client.delete_file_system(**kwargs) + return file_system_client + + def get_file_system_client(self, file_system # type: Union[FileSystemProperties, str] + ): + # type: (...) -> FileSystemClient + """Get a client to interact with the specified file system. + + The file system need not already exist. + + :param file_system: + The file system. This can either be the name of the file system, + or an instance of FileSystemProperties. + :type file_system: str or ~azure.storage.filedatalake.FileSystemProperties + :returns: A FileSystemClient. + :rtype: ~azure.storage.filedatalake.FileSystemClient + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_file_system.py + :start-after: [START create_file_system_client_from_service] + :end-before: [END create_file_system_client_from_service] + :language: python + :dedent: 8 + :caption: Getting the file system client to interact with a specific file system. + """ + try: + file_system_name = file_system.name + except AttributeError: + file_system_name = file_system + + _pipeline = Pipeline( + transport=TransportWrapper(self._pipeline._transport), # pylint: disable = protected-access + policies=self._pipeline._impl_policies # pylint: disable = protected-access + ) + return FileSystemClient(self.url, file_system_name, credential=self._raw_credential, + _configuration=self._config, + _pipeline=_pipeline, _hosts=self._hosts, + require_encryption=self.require_encryption, key_encryption_key=self.key_encryption_key, + key_resolver_function=self.key_resolver_function) + + def get_directory_client(self, file_system, # type: Union[FileSystemProperties, str] + directory # type: Union[DirectoryProperties, str] + ): + # type: (...) -> DataLakeDirectoryClient + """Get a client to interact with the specified directory. + + The directory need not already exist. + + :param file_system: + The file system that the directory is in. This can either be the name of the file system, + or an instance of FileSystemProperties. + :type file_system: str or ~azure.storage.filedatalake.FileSystemProperties + :param directory: + The directory with which to interact. This can either be the name of the directory, + or an instance of DirectoryProperties. + :type directory: str or ~azure.storage.filedatalake.DirectoryProperties + :returns: A DataLakeDirectoryClient. + :rtype: ~azure.storage.filedatalake.DataLakeDirectoryClient + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_service.py + :start-after: [START get_directory_client_from_service_client] + :end-before: [END get_directory_client_from_service_client] + :language: python + :dedent: 8 + :caption: Getting the directory client to interact with a specific directory. + """ + try: + file_system_name = file_system.name + except AttributeError: + file_system_name = file_system + try: + directory_name = directory.name + except AttributeError: + directory_name = directory + + _pipeline = Pipeline( + transport=TransportWrapper(self._pipeline._transport), # pylint: disable = protected-access + policies=self._pipeline._impl_policies # pylint: disable = protected-access + ) + return DataLakeDirectoryClient(self.url, file_system_name, directory_name=directory_name, + credential=self._raw_credential, + _configuration=self._config, _pipeline=_pipeline, + _hosts=self._hosts, + require_encryption=self.require_encryption, + key_encryption_key=self.key_encryption_key, + key_resolver_function=self.key_resolver_function + ) + + def get_file_client(self, file_system, # type: Union[FileSystemProperties, str] + file_path # type: Union[FileProperties, str] + ): + # type: (...) -> DataLakeFileClient + """Get a client to interact with the specified file. + + The file need not already exist. + + :param file_system: + The file system that the file is in. This can either be the name of the file system, + or an instance of FileSystemProperties. + :type file_system: str or ~azure.storage.filedatalake.FileSystemProperties + :param file_path: + The file with which to interact. This can either be the full path of the file(from the root directory), + or an instance of FileProperties. eg. directory/subdirectory/file + :type file_path: str or ~azure.storage.filedatalake.FileProperties + :returns: A DataLakeFileClient. + :rtype: ~azure.storage.filedatalake.DataLakeFileClient + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_service.py + :start-after: [START get_file_client_from_service_client] + :end-before: [END get_file_client_from_service_client] + :language: python + :dedent: 8 + :caption: Getting the file client to interact with a specific file. + """ + try: + file_system_name = file_system.name + except AttributeError: + file_system_name = file_system + try: + file_path = file_path.name + except AttributeError: + pass + + _pipeline = Pipeline( + transport=TransportWrapper(self._pipeline._transport), # pylint: disable = protected-access + policies=self._pipeline._impl_policies # pylint: disable = protected-access + ) + return DataLakeFileClient( + self.url, file_system_name, file_path=file_path, credential=self._raw_credential, + _hosts=self._hosts, _configuration=self._config, _pipeline=_pipeline, + require_encryption=self.require_encryption, + key_encryption_key=self.key_encryption_key, + key_resolver_function=self.key_resolver_function) + + def set_service_properties(self, **kwargs): + # type: (**Any) -> None + """Sets the properties of a storage account's Datalake service, including + Azure Storage Analytics. + + .. versionadded:: 12.4.0 + This operation was introduced in API version '2020-06-12'. + + If an element (e.g. analytics_logging) is left as None, the + existing settings on the service for that functionality are preserved. + + :keyword analytics_logging: + Groups the Azure Analytics Logging settings. + :type analytics_logging: ~azure.storage.filedatalake.AnalyticsLogging + :keyword hour_metrics: + The hour metrics settings provide a summary of request + statistics grouped by API in hourly aggregates. + :type hour_metrics: ~azure.storage.filedatalake.Metrics + :keyword minute_metrics: + The minute metrics settings provide request statistics + for each minute. + :type minute_metrics: ~azure.storage.filedatalake.Metrics + :keyword 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[~azure.storage.filedatalake.CorsRule] + :keyword str target_version: + Indicates the default version to use for requests if an incoming + request's version is not specified. + :keyword delete_retention_policy: + The delete retention policy specifies whether to retain deleted files/directories. + It also specifies the number of days and versions of file/directory to keep. + :type delete_retention_policy: ~azure.storage.filedatalake.RetentionPolicy + :keyword 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: ~azure.storage.filedatalake.StaticWebsite + :keyword int timeout: + The timeout parameter is expressed in seconds. + :rtype: None + """ + return self._blob_service_client.set_service_properties(**kwargs) # pylint: disable=protected-access + + def get_service_properties(self, **kwargs): + # type: (**Any) -> Dict[str, Any] + """Gets the properties of a storage account's datalake service, including + Azure Storage Analytics. + + .. versionadded:: 12.4.0 + This operation was introduced in API version '2020-06-12'. + + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: An object containing datalake service properties such as + analytics logging, hour/minute metrics, cors rules, etc. + :rtype: Dict[str, Any] + """ + props = self._blob_service_client.get_service_properties(**kwargs) # pylint: disable=protected-access + return get_datalake_service_properties(props) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_deserialize.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_deserialize.py new file mode 100644 index 00000000000..18ec80fd44f --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_deserialize.py @@ -0,0 +1,180 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- + +import logging +from typing import ( # pylint: disable=unused-import + TYPE_CHECKING +) + +from azure.core.pipeline.policies import ContentDecodePolicy +from azure.core.exceptions import HttpResponseError, DecodeError, ResourceModifiedError, ClientAuthenticationError, \ + ResourceNotFoundError, ResourceExistsError +from ._models import FileProperties, DirectoryProperties, LeaseProperties, DeletedPathProperties, StaticWebsite, \ + RetentionPolicy, Metrics, AnalyticsLogging, PathProperties # pylint: disable=protected-access +from ._shared.models import StorageErrorCode + +if TYPE_CHECKING: + pass + +_LOGGER = logging.getLogger(__name__) + + +def deserialize_dir_properties(response, obj, headers): + metadata = deserialize_metadata(response, obj, headers) + dir_properties = DirectoryProperties( + metadata=metadata, + **headers + ) + return dir_properties + + +def deserialize_file_properties(response, obj, headers): + metadata = deserialize_metadata(response, obj, headers) + file_properties = FileProperties( + metadata=metadata, + **headers + ) + if 'Content-Range' in headers: + if 'x-ms-blob-content-md5' in headers: + file_properties.content_settings.content_md5 = headers['x-ms-blob-content-md5'] + else: + file_properties.content_settings.content_md5 = None + return file_properties + + +def deserialize_path_properties(path_list): + return [PathProperties._from_generated(path) for path in path_list] # pylint: disable=protected-access + + +def get_deleted_path_properties_from_generated_code(generated): + deleted_path = DeletedPathProperties() + deleted_path.name = generated.name + deleted_path.deleted_time = generated.properties.deleted_time + deleted_path.remaining_retention_days = generated.properties.remaining_retention_days + deleted_path.deletion_id = generated.deletion_id + return deleted_path + + +def is_file_path(_, __, headers): + if headers['x-ms-resource-type'] == "file": + return True + return False + + +def get_datalake_service_properties(datalake_properties): + datalake_properties["analytics_logging"] = AnalyticsLogging._from_generated( # pylint: disable=protected-access + datalake_properties["analytics_logging"]) + datalake_properties["hour_metrics"] = Metrics._from_generated(datalake_properties["hour_metrics"]) # pylint: disable=protected-access + datalake_properties["minute_metrics"] = Metrics._from_generated( # pylint: disable=protected-access + datalake_properties["minute_metrics"]) + datalake_properties["delete_retention_policy"] = RetentionPolicy._from_generated( # pylint: disable=protected-access + datalake_properties["delete_retention_policy"]) + datalake_properties["static_website"] = StaticWebsite._from_generated( # pylint: disable=protected-access + datalake_properties["static_website"]) + return datalake_properties + + +def from_blob_properties(blob_properties): + file_props = FileProperties() + file_props.name = blob_properties.name + file_props.etag = blob_properties.etag + file_props.deleted = blob_properties.deleted + file_props.metadata = blob_properties.metadata + file_props.lease = blob_properties.lease + file_props.lease.__class__ = LeaseProperties + file_props.last_modified = blob_properties.last_modified + file_props.creation_time = blob_properties.creation_time + file_props.size = blob_properties.size + file_props.deleted_time = blob_properties.deleted_time + file_props.remaining_retention_days = blob_properties.remaining_retention_days + file_props.content_settings = blob_properties.content_settings + return file_props + + +def normalize_headers(headers): + normalized = {} + for key, value in headers.items(): + if key.startswith('x-ms-'): + key = key[5:] + normalized[key.lower().replace('-', '_')] = value + return normalized + + +def deserialize_metadata(response, obj, headers): # pylint: disable=unused-argument + try: + raw_metadata = {k: v for k, v in response.http_response.headers.items() if k.startswith("x-ms-meta-")} + except AttributeError: + raw_metadata = {k: v for k, v in response.headers.items() if k.startswith("x-ms-meta-")} + return {k[10:]: v for k, v in raw_metadata.items()} + + +def process_storage_error(storage_error): + raise_error = HttpResponseError + error_code = storage_error.response.headers.get('x-ms-error-code') + error_message = storage_error.message + additional_data = {} + try: + error_body = ContentDecodePolicy.deserialize_from_http_generics(storage_error.response) + if error_body: + for info in error_body: + if info == 'code': + error_code = error_body[info] + elif info == 'message': + error_message = error_body[info] + else: + additional_data[info] = error_body[info] + except DecodeError: + pass + + try: + if error_code: + error_code = StorageErrorCode(error_code) + if error_code in [StorageErrorCode.condition_not_met]: + raise_error = ResourceModifiedError + if error_code in [StorageErrorCode.invalid_authentication_info, + StorageErrorCode.authentication_failed]: + raise_error = ClientAuthenticationError + if error_code in [StorageErrorCode.resource_not_found, + StorageErrorCode.invalid_property_name, + StorageErrorCode.invalid_source_uri, + StorageErrorCode.source_path_not_found, + StorageErrorCode.lease_name_mismatch, + StorageErrorCode.file_system_not_found, + StorageErrorCode.path_not_found, + StorageErrorCode.parent_not_found, + StorageErrorCode.invalid_destination_path, + StorageErrorCode.invalid_rename_source_path, + StorageErrorCode.lease_is_already_broken, + StorageErrorCode.invalid_source_or_destination_resource_type, + StorageErrorCode.rename_destination_parent_path_not_found]: + raise_error = ResourceNotFoundError + if error_code in [StorageErrorCode.account_already_exists, + StorageErrorCode.account_being_created, + StorageErrorCode.resource_already_exists, + StorageErrorCode.resource_type_mismatch, + StorageErrorCode.source_path_is_being_deleted, + StorageErrorCode.path_already_exists, + StorageErrorCode.destination_path_is_being_deleted, + StorageErrorCode.file_system_already_exists, + StorageErrorCode.file_system_being_deleted, + StorageErrorCode.path_conflict]: + raise_error = ResourceExistsError + except ValueError: + # Got an unknown error code + pass + + try: + error_message += "\nErrorCode:{}".format(error_code.value) + except AttributeError: + error_message += "\nErrorCode:{}".format(error_code) + for name, info in additional_data.items(): + error_message += "\n{}:{}".format(name, info) + + error = raise_error(message=error_message, response=storage_error.response, + continuation_token=storage_error.continuation_token) + error.error_code = error_code + error.additional_info = additional_data + raise error diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_download.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_download.py new file mode 100644 index 00000000000..61716d3cdb5 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_download.py @@ -0,0 +1,59 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +from typing import Iterator + +from ._deserialize import from_blob_properties + + +class StorageStreamDownloader(object): + """A streaming object to download from Azure Storage. + + :ivar str name: + The name of the file being downloaded. + :ivar ~azure.storage.filedatalake.FileProperties properties: + The properties of the file being downloaded. If only a range of the data is being + downloaded, this will be reflected in the properties. + :ivar int size: + The size of the total data in the stream. This will be the byte range if speficied, + otherwise the total size of the file. + """ + + def __init__(self, downloader): + self._downloader = downloader + self.name = self._downloader.name + self.properties = from_blob_properties(self._downloader.properties) # pylint: disable=protected-access + self.size = self._downloader.size + + def __len__(self): + return self.size + + def chunks(self): + # type: () -> Iterator[bytes] + """Iterate over chunks in the download stream. + + :rtype: Iterator[bytes] + """ + return self._downloader.chunks() + + def readall(self): + """Download the contents of this file. + + This operation is blocking until all data is downloaded. + :rtype: bytes or str + """ + return self._downloader.readall() + + def readinto(self, stream): + """Download the contents of this file to a stream. + + :param stream: + The stream to download to. This can be an open file-handle, + or any writable stream. The stream must be seekable if the download + uses more than one parallel connection. + :returns: The number of bytes read. + :rtype: int + """ + return self._downloader.readinto(stream) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_file_system_client.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_file_system_client.py new file mode 100644 index 00000000000..42887fc0815 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_file_system_client.py @@ -0,0 +1,917 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +import functools +from typing import Optional, Any, Union + + +try: + from urllib.parse import urlparse, quote, unquote +except ImportError: + from urlparse import urlparse # type: ignore + from urllib2 import quote, unquote # type: ignore +import six + +from azure.core.pipeline import Pipeline +from azure.core.exceptions import HttpResponseError +from azure.core.paging import ItemPaged +from ...blob import ContainerClient +from ._shared.base_client import TransportWrapper, StorageAccountHostsMixin, parse_query, parse_connection_str +from ._serialize import convert_dfs_url_to_blob_url +from ._list_paths_helper import DeletedPathPropertiesPaged +from ._models import LocationMode, FileSystemProperties, PublicAccess, DeletedPathProperties, FileProperties, \ + DirectoryProperties +from ._data_lake_file_client import DataLakeFileClient +from ._data_lake_directory_client import DataLakeDirectoryClient +from ._data_lake_lease import DataLakeLeaseClient +from ._generated import AzureDataLakeStorageRESTAPI +from ._generated.models import ListBlobsIncludeItem +from ._deserialize import deserialize_path_properties, process_storage_error, is_file_path + + +class FileSystemClient(StorageAccountHostsMixin): + """A client to interact with a specific file system, even if that file system + may not yet exist. + + For operations relating to a specific directory or file within this file system, a directory client or file client + can be retrieved using the :func:`~get_directory_client` or :func:`~get_file_client` functions. + + :ivar str url: + The full endpoint URL to the file system, including SAS token if used. + :ivar str primary_endpoint: + The full primary endpoint URL. + :ivar str primary_hostname: + The hostname of the primary endpoint. + :param str account_url: + The URI to the storage account. + :param file_system_name: + The file system for the directory or files. + :type file_system_name: str + :param credential: + The credentials with which to authenticate. This is optional if the + account URL already has a SAS token. The value can be a SAS token string, + an instance of a AzureSasCredential from azure.core.credentials, an account + shared access key, or an instance of a TokenCredentials class from azure.identity. + If the resource URI already contains a SAS token, this will be ignored in favor of an explicit credential + - except in the case of AzureSasCredential, where the conflicting SAS tokens will raise a ValueError. + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_file_system.py + :start-after: [START create_file_system_client_from_service] + :end-before: [END create_file_system_client_from_service] + :language: python + :dedent: 8 + :caption: Get a FileSystemClient from an existing DataLakeServiceClient. + """ + def __init__( + self, account_url, # type: str + file_system_name, # type: str + credential=None, # type: Optional[Any] + **kwargs # type: Any + ): + # type: (...) -> None + try: + if not account_url.lower().startswith('http'): + account_url = "https://" + account_url + except AttributeError: + raise ValueError("account URL must be a string.") + parsed_url = urlparse(account_url.rstrip('/')) + if not file_system_name: + raise ValueError("Please specify a file system name.") + if not parsed_url.netloc: + raise ValueError("Invalid URL: {}".format(account_url)) + + blob_account_url = convert_dfs_url_to_blob_url(account_url) + # TODO: add self.account_url to base_client and remove _blob_account_url + self._blob_account_url = blob_account_url + + datalake_hosts = kwargs.pop('_hosts', None) + blob_hosts = None + if datalake_hosts: + blob_primary_account_url = convert_dfs_url_to_blob_url(datalake_hosts[LocationMode.PRIMARY]) + blob_hosts = {LocationMode.PRIMARY: blob_primary_account_url, LocationMode.SECONDARY: ""} + self._container_client = ContainerClient(blob_account_url, file_system_name, + credential=credential, _hosts=blob_hosts, **kwargs) + + _, sas_token = parse_query(parsed_url.query) + self.file_system_name = file_system_name + self._query_str, self._raw_credential = self._format_query_string(sas_token, credential) + + super(FileSystemClient, self).__init__(parsed_url, service='dfs', credential=self._raw_credential, + _hosts=datalake_hosts, **kwargs) + # ADLS doesn't support secondary endpoint, make sure it's empty + self._hosts[LocationMode.SECONDARY] = "" + self._client = AzureDataLakeStorageRESTAPI(self.url, file_system=file_system_name, pipeline=self._pipeline) + self._datalake_client_for_blob_operation = AzureDataLakeStorageRESTAPI(self._container_client.url, + file_system=file_system_name, + pipeline=self._pipeline) + + def _format_url(self, hostname): + file_system_name = self.file_system_name + if isinstance(file_system_name, six.text_type): + file_system_name = file_system_name.encode('UTF-8') + return "{}://{}/{}{}".format( + self.scheme, + hostname, + quote(file_system_name), + self._query_str) + + def __exit__(self, *args): + self._container_client.close() + super(FileSystemClient, self).__exit__(*args) + + def close(self): + # type: () -> None + """ This method is to close the sockets opened by the client. + It need not be used when using with a context manager. + """ + self._container_client.close() + self.__exit__() + + @classmethod + def from_connection_string( + cls, conn_str, # type: str + file_system_name, # type: str + credential=None, # type: Optional[Any] + **kwargs # type: Any + ): # type: (...) -> FileSystemClient + """ + Create FileSystemClient from a Connection String. + + :param str conn_str: + A connection string to an Azure Storage account. + :param file_system_name: The name of file system to interact with. + :type file_system_name: str + :param credential: + The credentials with which to authenticate. This is optional if the + account URL already has a SAS token, or the connection string already has shared + access key values. The value can be a SAS token string, + an instance of a AzureSasCredential from azure.core.credentials, an account shared access + key, or an instance of a TokenCredentials class from azure.identity. + Credentials provided here will take precedence over those in the connection string. + :return a FileSystemClient + :rtype ~azure.storage.filedatalake.FileSystemClient + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_file_system.py + :start-after: [START create_file_system_client_from_connection_string] + :end-before: [END create_file_system_client_from_connection_string] + :language: python + :dedent: 8 + :caption: Create FileSystemClient from connection string + """ + account_url, _, credential = parse_connection_str(conn_str, credential, 'dfs') + return cls( + account_url, file_system_name=file_system_name, credential=credential, **kwargs) + + def acquire_lease( + self, lease_duration=-1, # type: int + lease_id=None, # type: Optional[str] + **kwargs + ): + # type: (...) -> DataLakeLeaseClient + """ + Requests a new lease. If the file system does not have an active lease, + the DataLake service creates a lease on the file system and returns a new + lease ID. + + :param int lease_duration: + Specifies the duration of the lease, in seconds, or negative one + (-1) for a lease that never expires. A non-infinite lease can be + between 15 and 60 seconds. A lease duration cannot be changed + using renew or change. Default is -1 (infinite lease). + :param str lease_id: + Proposed lease ID, in a GUID string format. The DataLake service returns + 400 (Invalid request) if the proposed lease ID is not in the correct format. + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: A DataLakeLeaseClient object, that can be run in a context manager. + :rtype: ~azure.storage.filedatalake.DataLakeLeaseClient + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_file_system.py + :start-after: [START acquire_lease_on_file_system] + :end-before: [END acquire_lease_on_file_system] + :language: python + :dedent: 8 + :caption: Acquiring a lease on the file system. + """ + lease = DataLakeLeaseClient(self, lease_id=lease_id) + lease.acquire(lease_duration=lease_duration, **kwargs) + return lease + + def create_file_system(self, metadata=None, # type: Optional[Dict[str, str]] + public_access=None, # type: Optional[PublicAccess] + **kwargs): + # type: (...) -> Dict[str, Union[str, datetime]] + """Creates a new file system under the specified account. + + If the file system with the same name already exists, a ResourceExistsError will + be raised. This method returns a client with which to interact with the newly + created file system. + + :param metadata: + A dict with name-value pairs to associate with the + file system as metadata. Example: `{'Category':'test'}` + :type metadata: dict(str, str) + :param public_access: + To specify whether data in the file system may be accessed publicly and the level of access. + :type public_access: ~azure.storage.filedatalake.PublicAccess + :keyword int timeout: + The timeout parameter is expressed in seconds. + :rtype: ~azure.storage.filedatalake.FileSystemClient + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_file_system.py + :start-after: [START create_file_system] + :end-before: [END create_file_system] + :language: python + :dedent: 12 + :caption: Creating a file system in the datalake service. + """ + return self._container_client.create_container(metadata=metadata, + public_access=public_access, + **kwargs) + + def exists(self, **kwargs): + # type: (**Any) -> bool + """ + Returns True if a file system exists and returns False otherwise. + + :kwarg int timeout: + The timeout parameter is expressed in seconds. + :returns: boolean + """ + return self._container_client.exists(**kwargs) + + def _rename_file_system(self, new_name, **kwargs): + # type: (str, **Any) -> FileSystemClient + """Renames a filesystem. + + Operation is successful only if the source filesystem exists. + + :param str new_name: + The new filesystem name the user wants to rename to. + :keyword lease: + Specify this to perform only if the lease ID given + matches the active lease ID of the source filesystem. + :paramtype lease: ~azure.storage.filedatalake.DataLakeLeaseClient or str + :keyword int timeout: + The timeout parameter is expressed in seconds. + :rtype: ~azure.storage.filedatalake.FileSystemClient + """ + self._container_client._rename_container(new_name, **kwargs) # pylint: disable=protected-access + #TODO: self._raw_credential would not work with SAS tokens + renamed_file_system = FileSystemClient( + "{}://{}".format(self.scheme, self.primary_hostname), file_system_name=new_name, + credential=self._raw_credential, api_version=self.api_version, _configuration=self._config, + _pipeline=self._pipeline, _location_mode=self._location_mode, _hosts=self._hosts, + require_encryption=self.require_encryption, key_encryption_key=self.key_encryption_key, + key_resolver_function=self.key_resolver_function) + return renamed_file_system + + def delete_file_system(self, **kwargs): + # type: (Any) -> None + """Marks the specified file system for deletion. + + The file system and any files contained within it are later deleted during garbage collection. + If the file system is not found, a ResourceNotFoundError will be raised. + + :keyword str or ~azure.storage.filedatalake.DataLakeLeaseClient lease: + If specified, delete_file_system only succeeds if the + file system's lease is active and matches this ID. + Required if the file system has an active lease. + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :rtype: None + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_file_system.py + :start-after: [START delete_file_system] + :end-before: [END delete_file_system] + :language: python + :dedent: 12 + :caption: Deleting a file system in the datalake service. + """ + self._container_client.delete_container(**kwargs) + + def get_file_system_properties(self, **kwargs): + # type: (Any) -> FileSystemProperties + """Returns all user-defined metadata and system properties for the specified + file system. The data returned does not include the file system's list of paths. + + :keyword str or ~azure.storage.filedatalake.DataLakeLeaseClient lease: + If specified, get_file_system_properties only succeeds if the + file system's lease is active and matches this ID. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: Properties for the specified file system within a file system object. + :rtype: ~azure.storage.filedatalake.FileSystemProperties + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_file_system.py + :start-after: [START get_file_system_properties] + :end-before: [END get_file_system_properties] + :language: python + :dedent: 12 + :caption: Getting properties on the file system. + """ + container_properties = self._container_client.get_container_properties(**kwargs) + return FileSystemProperties._convert_from_container_props(container_properties) # pylint: disable=protected-access + + def set_file_system_metadata( # type: ignore + self, metadata, # type: Dict[str, str] + **kwargs + ): + # type: (...) -> Dict[str, Union[str, datetime]] + """Sets one or more user-defined name-value pairs for the specified + file system. Each call to this operation replaces all existing metadata + attached to the file system. To remove all metadata from the file system, + call this operation with no metadata dict. + + :param metadata: + A dict containing name-value pairs to associate with the file system as + metadata. Example: {'category':'test'} + :type metadata: dict[str, str] + :keyword str or ~azure.storage.filedatalake.DataLakeLeaseClient lease: + If specified, set_file_system_metadata only succeeds if the + file system's lease is active and matches this ID. + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: filesystem-updated property dict (Etag and last modified). + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_file_system.py + :start-after: [START set_file_system_metadata] + :end-before: [END set_file_system_metadata] + :language: python + :dedent: 12 + :caption: Setting metadata on the file system. + """ + return self._container_client.set_container_metadata(metadata=metadata, **kwargs) + + def set_file_system_access_policy( + self, signed_identifiers, # type: Dict[str, AccessPolicy] + public_access=None, # type: Optional[Union[str, PublicAccess]] + **kwargs + ): # type: (...) -> Dict[str, Union[str, datetime]] + """Sets the permissions for the specified file system or stored access + policies that may be used with Shared Access Signatures. The permissions + indicate whether files in a file system may be accessed publicly. + + :param signed_identifiers: + A dictionary of access policies to associate with the file system. 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, ~azure.storage.filedatalake.AccessPolicy] + :param ~azure.storage.filedatalake.PublicAccess public_access: + To specify whether data in the file system may be accessed publicly and the level of access. + :keyword lease: + Required if the file system has an active lease. Value can be a DataLakeLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.filedatalake.DataLakeLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A datetime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified date/time. + :keyword ~datetime.datetime if_unmodified_since: + A datetime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: File System-updated property dict (Etag and last modified). + :rtype: dict[str, str or ~datetime.datetime] + """ + return self._container_client.set_container_access_policy(signed_identifiers, + public_access=public_access, **kwargs) + + def get_file_system_access_policy(self, **kwargs): + # type: (Any) -> Dict[str, Any] + """Gets the permissions for the specified file system. + The permissions indicate whether file system data may be accessed publicly. + + :keyword lease: + If specified, the operation only succeeds if the + file system's lease is active and matches this ID. + :paramtype lease: ~azure.storage.filedatalake.DataLakeLeaseClient or str + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: Access policy information in a dict. + :rtype: dict[str, Any] + """ + access_policy = self._container_client.get_container_access_policy(**kwargs) + return { + 'public_access': PublicAccess._from_generated(access_policy['public_access']), # pylint: disable=protected-access + 'signed_identifiers': access_policy['signed_identifiers'] + } + + def get_paths(self, path=None, # type: Optional[str] + recursive=True, # type: Optional[bool] + max_results=None, # type: Optional[int] + **kwargs): + # type: (...) -> ItemPaged[PathProperties] + """Returns a generator to list the paths(could be files or directories) under the specified file system. + The generator will lazily follow the continuation tokens returned by + the service. + + :param str path: + Filters the results to return only paths under the specified path. + :param int max_results: An optional value that specifies the maximum + number of items to return per page. If omitted or greater than 5,000, the + response will include up to 5,000 items per page. + :keyword upn: + Optional. Valid only when Hierarchical Namespace is + enabled for the account. If "true", the user identity values returned + in the x-ms-owner, x-ms-group, and x-ms-acl response headers will be + transformed from Azure Active Directory Object IDs to User Principal + Names. If "false", the values will be returned as Azure Active + Directory Object IDs. The default value is false. Note that group and + application Object IDs are not translated because they do not have + unique friendly names. + :type upn: bool + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: An iterable (auto-paging) response of PathProperties. + :rtype: ~azure.core.paging.ItemPaged[~azure.storage.filedatalake.PathProperties] + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_file_system.py + :start-after: [START get_paths_in_file_system] + :end-before: [END get_paths_in_file_system] + :language: python + :dedent: 8 + :caption: List the paths in the file system. + """ + timeout = kwargs.pop('timeout', None) + return self._client.file_system.list_paths( + recursive=recursive, + max_results=max_results, + path=path, + timeout=timeout, + cls=deserialize_path_properties, + **kwargs) + + def create_directory(self, directory, # type: Union[DirectoryProperties, str] + metadata=None, # type: Optional[Dict[str, str]] + **kwargs): + # type: (...) -> DataLakeDirectoryClient + """ + Create directory + + :param directory: + The directory with which to interact. This can either be the name of the directory, + or an instance of DirectoryProperties. + :type directory: str or ~azure.storage.filedatalake.DirectoryProperties + :param metadata: + Name-value pairs associated with the file as metadata. + :type metadata: dict(str, str) + :keyword ~azure.storage.filedatalake.ContentSettings content_settings: + ContentSettings object used to set path properties. + :keyword lease: + Required if the file has an active lease. Value can be a DataLakeLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.filedatalake.DataLakeLeaseClient or str + :keyword str umask: + Optional and only valid if Hierarchical Namespace is enabled for the account. + When creating a file or directory and the parent folder does not have a default ACL, + the umask restricts the permissions of the file or directory to be created. + The resulting permission is given by p & ^u, where p is the permission and u is the umask. + For example, if p is 0777 and u is 0057, then the resulting permission is 0720. + The default permission is 0777 for a directory and 0666 for a file. The default umask is 0027. + The umask must be specified in 4-digit octal notation (e.g. 0766). + :keyword str permissions: + Optional and only valid if Hierarchical Namespace + is enabled for the account. Sets POSIX access permissions for the file + owner, the file owning group, and others. Each class may be granted + read, write, or execute permission. The sticky bit is also supported. + Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are + supported. + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: DataLakeDirectoryClient + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_file_system.py + :start-after: [START create_directory_from_file_system] + :end-before: [END create_directory_from_file_system] + :language: python + :dedent: 8 + :caption: Create directory in the file system. + """ + directory_client = self.get_directory_client(directory) + directory_client.create_directory(metadata=metadata, **kwargs) + return directory_client + + def delete_directory(self, directory, # type: Union[DirectoryProperties, str] + **kwargs): + # type: (...) -> DataLakeDirectoryClient + """ + Marks the specified path for deletion. + + :param directory: + The directory with which to interact. This can either be the name of the directory, + or an instance of DirectoryProperties. + :type directory: str or ~azure.storage.filedatalake.DirectoryProperties + :keyword lease: + Required if the file has an active lease. Value can be a LeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.filedatalake.DataLakeLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: DataLakeDirectoryClient + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_file_system.py + :start-after: [START delete_directory_from_file_system] + :end-before: [END delete_directory_from_file_system] + :language: python + :dedent: 8 + :caption: Delete directory in the file system. + """ + directory_client = self.get_directory_client(directory) + directory_client.delete_directory(**kwargs) + return directory_client + + def create_file(self, file, # type: Union[FileProperties, str] + **kwargs): + # type: (...) -> DataLakeFileClient + """ + Create file + + :param file: + The file with which to interact. This can either be the name of the file, + or an instance of FileProperties. + :type file: str or ~azure.storage.filedatalake.FileProperties + :param ~azure.storage.filedatalake.ContentSettings content_settings: + ContentSettings object used to set path properties. + :param metadata: + Name-value pairs associated with the file as metadata. + :type metadata: dict(str, str) + :keyword lease: + Required if the file has an active lease. Value can be a DataLakeLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.filedatalake.DataLakeLeaseClient or str + :keyword str umask: + Optional and only valid if Hierarchical Namespace is enabled for the account. + When creating a file or directory and the parent folder does not have a default ACL, + the umask restricts the permissions of the file or directory to be created. + The resulting permission is given by p & ^u, where p is the permission and u is the umask. + For example, if p is 0777 and u is 0057, then the resulting permission is 0720. + The default permission is 0777 for a directory and 0666 for a file. The default umask is 0027. + The umask must be specified in 4-digit octal notation (e.g. 0766). + :keyword str permissions: + Optional and only valid if Hierarchical Namespace + is enabled for the account. Sets POSIX access permissions for the file + owner, the file owning group, and others. Each class may be granted + read, write, or execute permission. The sticky bit is also supported. + Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are + supported. + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: DataLakeFileClient + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_file_system.py + :start-after: [START create_file_from_file_system] + :end-before: [END create_file_from_file_system] + :language: python + :dedent: 8 + :caption: Create file in the file system. + """ + file_client = self.get_file_client(file) + file_client.create_file(**kwargs) + return file_client + + def delete_file(self, file, # type: Union[FileProperties, str] + **kwargs): + # type: (...) -> DataLakeFileClient + """ + Marks the specified file for deletion. + + :param file: + The file with which to interact. This can either be the name of the file, + or an instance of FileProperties. + :type file: str or ~azure.storage.filedatalake.FileProperties + :keyword lease: + Required if the file has an active lease. Value can be a LeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.filedatalake.DataLakeLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: DataLakeFileClient + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_file_system.py + :start-after: [START delete_file_from_file_system] + :end-before: [END delete_file_from_file_system] + :language: python + :dedent: 8 + :caption: Delete file in the file system. + """ + file_client = self.get_file_client(file) + file_client.delete_file(**kwargs) + return file_client + + def _undelete_path_options(self, deleted_path_name, deletion_id): + quoted_path = quote(unquote(deleted_path_name.strip('/'))) + + url_and_token = self.url.replace('.dfs.', '.blob.').split('?') + try: + url = url_and_token[0] + '/' + quoted_path + url_and_token[1] + except IndexError: + url = url_and_token[0] + '/' + quoted_path + + undelete_source = quoted_path + '?deletionid={}'.format(deletion_id) if deletion_id else None + + return quoted_path, url, undelete_source + + def _undelete_path(self, deleted_path_name, deletion_id, **kwargs): + # type: (str, str, **Any) -> Union[DataLakeDirectoryClient, DataLakeFileClient] + """Restores soft-deleted path. + + Operation will only be successful if used within the specified number of days + set in the delete retention policy. + + .. versionadded:: 12.4.0 + This operation was introduced in API version '2020-06-12'. + + :param str deleted_path_name: + Specifies the path (file or directory) to restore. + :param str deletion_id: + Specifies the version of the deleted path to restore. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :rtype: ~azure.storage.file.datalake.DataLakeDirectoryClient or azure.storage.file.datalake.DataLakeFileClient + """ + _, url, undelete_source = self._undelete_path_options(deleted_path_name, deletion_id) + + pipeline = Pipeline( + transport=TransportWrapper(self._pipeline._transport), # pylint: disable = protected-access + policies=self._pipeline._impl_policies # pylint: disable = protected-access + ) + path_client = AzureDataLakeStorageRESTAPI( + url, filesystem=self.file_system_name, path=deleted_path_name, pipeline=pipeline) + try: + is_file = path_client.path.undelete(undelete_source=undelete_source, cls=is_file_path, **kwargs) + if is_file: + return self.get_file_client(deleted_path_name) + return self.get_directory_client(deleted_path_name) + except HttpResponseError as error: + process_storage_error(error) + + def _get_root_directory_client(self): + # type: () -> DataLakeDirectoryClient + """Get a client to interact with the root directory. + + :returns: A DataLakeDirectoryClient. + :rtype: ~azure.storage.filedatalake.DataLakeDirectoryClient + """ + return self.get_directory_client('/') + + def get_directory_client(self, directory # type: Union[DirectoryProperties, str] + ): + # type: (...) -> DataLakeDirectoryClient + """Get a client to interact with the specified directory. + + The directory need not already exist. + + :param directory: + The directory with which to interact. This can either be the name of the directory, + or an instance of DirectoryProperties. + :type directory: str or ~azure.storage.filedatalake.DirectoryProperties + :returns: A DataLakeDirectoryClient. + :rtype: ~azure.storage.filedatalake.DataLakeDirectoryClient + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_file_system.py + :start-after: [START get_directory_client_from_file_system] + :end-before: [END get_directory_client_from_file_system] + :language: python + :dedent: 8 + :caption: Getting the directory client to interact with a specific directory. + """ + try: + directory_name = directory.get('name') + except AttributeError: + directory_name = str(directory) + _pipeline = Pipeline( + transport=TransportWrapper(self._pipeline._transport), # pylint: disable = protected-access + policies=self._pipeline._impl_policies # pylint: disable = protected-access + ) + return DataLakeDirectoryClient(self.url, self.file_system_name, directory_name=directory_name, + credential=self._raw_credential, + _configuration=self._config, _pipeline=_pipeline, + _hosts=self._hosts, + require_encryption=self.require_encryption, + key_encryption_key=self.key_encryption_key, + key_resolver_function=self.key_resolver_function + ) + + def get_file_client(self, file_path # type: Union[FileProperties, str] + ): + # type: (...) -> DataLakeFileClient + """Get a client to interact with the specified file. + + The file need not already exist. + + :param file_path: + The file with which to interact. This can either be the path of the file(from root directory), + or an instance of FileProperties. eg. directory/subdirectory/file + :type file_path: str or ~azure.storage.filedatalake.FileProperties + :returns: A DataLakeFileClient. + :rtype: ~azure.storage.filedatalake.DataLakeFileClient + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_file_system.py + :start-after: [START get_file_client_from_file_system] + :end-before: [END get_file_client_from_file_system] + :language: python + :dedent: 8 + :caption: Getting the file client to interact with a specific file. + """ + try: + file_path = file_path.get('name') + except AttributeError: + file_path = str(file_path) + _pipeline = Pipeline( + transport=TransportWrapper(self._pipeline._transport), # pylint: disable = protected-access + policies=self._pipeline._impl_policies # pylint: disable = protected-access + ) + return DataLakeFileClient( + self.url, self.file_system_name, file_path=file_path, credential=self._raw_credential, + _hosts=self._hosts, _configuration=self._config, _pipeline=_pipeline, + require_encryption=self.require_encryption, + key_encryption_key=self.key_encryption_key, + key_resolver_function=self.key_resolver_function) + + def list_deleted_paths(self, **kwargs): + # type: (Any) -> ItemPaged[DeletedPathProperties] + """Returns a generator to list the deleted (file or directory) paths under the specified file system. + The generator will lazily follow the continuation tokens returned by + the service. + + .. versionadded:: 12.4.0 + This operation was introduced in API version '2020-06-12'. + + :keyword str path_prefix: + Filters the results to return only paths under the specified path. + :keyword int max_results: + An optional value that specifies the maximum number of items to return per page. + If omitted or greater than 5,000, the response will include up to 5,000 items per page. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: An iterable (auto-paging) response of DeletedPathProperties. + :rtype: + ~azure.core.paging.ItemPaged[~azure.storage.filedatalake.DeletedPathProperties] + """ + path_prefix = kwargs.pop('path_prefix', None) + results_per_page = kwargs.pop('max_results', None) + timeout = kwargs.pop('timeout', None) + command = functools.partial( + self._datalake_client_for_blob_operation.file_system.list_blob_hierarchy_segment, + showonly=ListBlobsIncludeItem.deleted, + timeout=timeout, + **kwargs) + return ItemPaged( + command, prefix=path_prefix, page_iterator_class=DeletedPathPropertiesPaged, + results_per_page=results_per_page, **kwargs) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/__init__.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/__init__.py new file mode 100644 index 00000000000..5cd3ae2368b --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/__init__.py @@ -0,0 +1,16 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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_data_lake_storage_restapi import AzureDataLakeStorageRESTAPI +__all__ = ['AzureDataLakeStorageRESTAPI'] + +try: + from ._patch import patch_sdk # type: ignore + patch_sdk() +except ImportError: + pass diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/_azure_data_lake_storage_restapi.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/_azure_data_lake_storage_restapi.py new file mode 100644 index 00000000000..fbd0a7916e6 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/_azure_data_lake_storage_restapi.py @@ -0,0 +1,91 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import TYPE_CHECKING + +from azure.core import PipelineClient +from msrest import Deserializer, Serializer + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any + + from azure.core.pipeline.transport import HttpRequest, HttpResponse + +from ._configuration import AzureDataLakeStorageRESTAPIConfiguration +from .operations import ServiceOperations +from .operations import FileSystemOperations +from .operations import PathOperations +from . import models + + +class AzureDataLakeStorageRESTAPI(object): + """Azure Data Lake Storage provides storage for Hadoop and other big data workloads. + + :ivar service: ServiceOperations operations + :vartype service: azure.storage.filedatalake.operations.ServiceOperations + :ivar file_system: FileSystemOperations operations + :vartype file_system: azure.storage.filedatalake.operations.FileSystemOperations + :ivar path: PathOperations operations + :vartype path: azure.storage.filedatalake.operations.PathOperations + :param url: The URL of the service account, container, or blob that is the targe of the desired operation. + :type url: str + """ + + def __init__( + self, + url, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + base_url = '{url}' + self._config = AzureDataLakeStorageRESTAPIConfiguration(url, **kwargs) + self._client = PipelineClient(base_url=base_url, config=self._config, **kwargs) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self._serialize = Serializer(client_models) + self._serialize.client_side_validation = False + self._deserialize = Deserializer(client_models) + + self.service = ServiceOperations( + self._client, self._config, self._serialize, self._deserialize) + self.file_system = FileSystemOperations( + self._client, self._config, self._serialize, self._deserialize) + self.path = PathOperations( + self._client, self._config, self._serialize, self._deserialize) + + def _send_request(self, http_request, **kwargs): + # type: (HttpRequest, Any) -> HttpResponse + """Runs the network request through the client's chained policies. + + :param http_request: The network request you want to make. Required. + :type http_request: ~azure.core.pipeline.transport.HttpRequest + :keyword bool stream: Whether the response payload will be streamed. Defaults to True. + :return: The response of your network call. Does not do error handling on your response. + :rtype: ~azure.core.pipeline.transport.HttpResponse + """ + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True), + } + http_request.url = self._client.format_url(http_request.url, **path_format_arguments) + stream = kwargs.pop("stream", True) + pipeline_response = self._client._pipeline.run(http_request, stream=stream, **kwargs) + return pipeline_response.http_response + + def close(self): + # type: () -> None + self._client.close() + + def __enter__(self): + # type: () -> AzureDataLakeStorageRESTAPI + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/_configuration.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/_configuration.py new file mode 100644 index 00000000000..3bfff366da7 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/_configuration.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 typing import TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any + +VERSION = "unknown" + +class AzureDataLakeStorageRESTAPIConfiguration(Configuration): + """Configuration for AzureDataLakeStorageRESTAPI. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param url: The URL of the service account, container, or blob that is the targe of the desired operation. + :type url: str + """ + + def __init__( + self, + url, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + if url is None: + raise ValueError("Parameter 'url' must not be None.") + super(AzureDataLakeStorageRESTAPIConfiguration, self).__init__(**kwargs) + + self.url = url + self.resource = "filesystem" + self.version = "2020-06-12" + kwargs.setdefault('sdk_moniker', 'azuredatalakestoragerestapi/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs # type: Any + ): + # type: (...) -> None + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get('http_logging_policy') or policies.HttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/_data_lake_storage_client.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/_data_lake_storage_client.py new file mode 100644 index 00000000000..805cafcbad0 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/_data_lake_storage_client.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 azure.core import PipelineClient +from msrest import Serializer, Deserializer + +from ._configuration import DataLakeStorageClientConfiguration +from azure.core.exceptions import map_error +from .operations import ServiceOperations +from .operations import FileSystemOperations +from .operations import PathOperations +from . import models + + +class DataLakeStorageClient(object): + """Azure Data Lake Storage provides storage for Hadoop and other big data workloads. + + + :ivar service: Service operations + :vartype service: azure.storage.filedatalake.operations.ServiceOperations + :ivar file_system: FileSystem operations + :vartype file_system: azure.storage.filedatalake.operations.FileSystemOperations + :ivar path: Path operations + :vartype path: azure.storage.filedatalake.operations.PathOperations + + :param url: The URL of the service account, container, or blob that is the + targe of the desired operation. + :type url: str + :param file_system: The filesystem identifier. + :type file_system: str + :param path1: The file or directory path. + :type path1: str + """ + + def __init__(self, url, file_system, path1, **kwargs): + + base_url = '{url}' + self._config = DataLakeStorageClientConfiguration(url, file_system, path1, **kwargs) + self._client = PipelineClient(base_url=base_url, config=self._config, **kwargs) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self.api_version = '2020-06-12' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.service = ServiceOperations( + self._client, self._config, self._serialize, self._deserialize) + self.file_system = FileSystemOperations( + self._client, self._config, self._serialize, self._deserialize) + self.path = PathOperations( + self._client, self._config, self._serialize, self._deserialize) + + def close(self): + self._client.close() + def __enter__(self): + self._client.__enter__() + return self + def __exit__(self, *exc_details): + self._client.__exit__(*exc_details) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/aio/__init__.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/aio/__init__.py new file mode 100644 index 00000000000..24daed3d540 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/aio/__init__.py @@ -0,0 +1,10 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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_data_lake_storage_restapi import AzureDataLakeStorageRESTAPI +__all__ = ['AzureDataLakeStorageRESTAPI'] diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/aio/_azure_data_lake_storage_restapi.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/aio/_azure_data_lake_storage_restapi.py new file mode 100644 index 00000000000..efeeeb3b536 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/aio/_azure_data_lake_storage_restapi.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 typing import Any + +from azure.core import AsyncPipelineClient +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest +from msrest import Deserializer, Serializer + +from ._configuration import AzureDataLakeStorageRESTAPIConfiguration +from .operations import ServiceOperations +from .operations import FileSystemOperations +from .operations import PathOperations +from .. import models + + +class AzureDataLakeStorageRESTAPI(object): + """Azure Data Lake Storage provides storage for Hadoop and other big data workloads. + + :ivar service: ServiceOperations operations + :vartype service: azure.storage.filedatalake.aio.operations.ServiceOperations + :ivar file_system: FileSystemOperations operations + :vartype file_system: azure.storage.filedatalake.aio.operations.FileSystemOperations + :ivar path: PathOperations operations + :vartype path: azure.storage.filedatalake.aio.operations.PathOperations + :param url: The URL of the service account, container, or blob that is the targe of the desired operation. + :type url: str + """ + + def __init__( + self, + url: str, + **kwargs: Any + ) -> None: + base_url = '{url}' + self._config = AzureDataLakeStorageRESTAPIConfiguration(url, **kwargs) + self._client = AsyncPipelineClient(base_url=base_url, config=self._config, **kwargs) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self._serialize = Serializer(client_models) + self._serialize.client_side_validation = False + self._deserialize = Deserializer(client_models) + + self.service = ServiceOperations( + self._client, self._config, self._serialize, self._deserialize) + self.file_system = FileSystemOperations( + self._client, self._config, self._serialize, self._deserialize) + self.path = PathOperations( + self._client, self._config, self._serialize, self._deserialize) + + async def _send_request(self, http_request: HttpRequest, **kwargs: Any) -> AsyncHttpResponse: + """Runs the network request through the client's chained policies. + + :param http_request: The network request you want to make. Required. + :type http_request: ~azure.core.pipeline.transport.HttpRequest + :keyword bool stream: Whether the response payload will be streamed. Defaults to True. + :return: The response of your network call. Does not do error handling on your response. + :rtype: ~azure.core.pipeline.transport.AsyncHttpResponse + """ + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True), + } + http_request.url = self._client.format_url(http_request.url, **path_format_arguments) + stream = kwargs.pop("stream", True) + pipeline_response = await self._client._pipeline.run(http_request, stream=stream, **kwargs) + return pipeline_response.http_response + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "AzureDataLakeStorageRESTAPI": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/aio/_configuration.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/aio/_configuration.py new file mode 100644 index 00000000000..82234727a63 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/aio/_configuration.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 typing import Any + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies + +VERSION = "unknown" + +class AzureDataLakeStorageRESTAPIConfiguration(Configuration): + """Configuration for AzureDataLakeStorageRESTAPI. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param url: The URL of the service account, container, or blob that is the targe of the desired operation. + :type url: str + """ + + def __init__( + self, + url: str, + **kwargs: Any + ) -> None: + if url is None: + raise ValueError("Parameter 'url' must not be None.") + super(AzureDataLakeStorageRESTAPIConfiguration, self).__init__(**kwargs) + + self.url = url + self.resource = "filesystem" + self.version = "2020-06-12" + kwargs.setdefault('sdk_moniker', 'azuredatalakestoragerestapi/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs: Any + ) -> None: + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get('http_logging_policy') or policies.HttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/aio/_configuration_async.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/aio/_configuration_async.py new file mode 100644 index 00000000000..8b4b66bbb15 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/aio/_configuration_async.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 azure.core.configuration import Configuration +from azure.core.pipeline import policies + +from ..version import VERSION + + +class DataLakeStorageClientConfiguration(Configuration): + """Configuration for DataLakeStorageClient + Note that all parameters used to create this instance are saved as instance + attributes. + + :param url: The URL of the service account, container, or blob that is the + targe of the desired operation. + :type url: str + :param file_system: The filesystem identifier. + :type file_system: str + :param path1: The file or directory path. + :type path1: str + :ivar resource: The value must be "filesystem" for all filesystem + operations. + :type resource: str + :ivar version: Specifies the version of the operation to use for this + request. + :type version: str + """ + + def __init__(self, url, file_system, path1, **kwargs): + + if url is None: + raise ValueError("Parameter 'url' must not be None.") + + super(DataLakeStorageClientConfiguration, self).__init__(**kwargs) + self._configure(**kwargs) + + self.user_agent_policy.add_user_agent('azsdk-python-datalakestorageclient/{}'.format(VERSION)) + self.generate_client_request_id = True + self.accept_language = None + + self.url = url + self.file_system = file_system + self.path1 = path1 + self.resource = "filesystem" + self.version = "2020-06-12" + + def _configure(self, **kwargs): + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/aio/_data_lake_storage_client_async.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/aio/_data_lake_storage_client_async.py new file mode 100644 index 00000000000..3b5a7a996a0 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/aio/_data_lake_storage_client_async.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 azure.core import AsyncPipelineClient +from msrest import Serializer, Deserializer + +from ._configuration_async import DataLakeStorageClientConfiguration +from azure.core.exceptions import map_error +from .operations_async import ServiceOperations +from .operations_async import FileSystemOperations +from .operations_async import PathOperations +from .. import models + + +class DataLakeStorageClient(object): + """Azure Data Lake Storage provides storage for Hadoop and other big data workloads. + + + :ivar service: Service operations + :vartype service: azure.storage.filedatalake.aio.operations_async.ServiceOperations + :ivar file_system: FileSystem operations + :vartype file_system: azure.storage.filedatalake.aio.operations_async.FileSystemOperations + :ivar path: Path operations + :vartype path: azure.storage.filedatalake.aio.operations_async.PathOperations + + :param url: The URL of the service account, container, or blob that is the + targe of the desired operation. + :type url: str + :param file_system: The filesystem identifier. + :type file_system: str + :param path1: The file or directory path. + :type path1: str + """ + + def __init__( + self, url, file_system, path1, **kwargs): + + base_url = '{url}' + self._config = DataLakeStorageClientConfiguration(url, file_system, path1, **kwargs) + self._client = AsyncPipelineClient(base_url=base_url, config=self._config, **kwargs) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self.api_version = '2020-06-12' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.service = ServiceOperations( + self._client, self._config, self._serialize, self._deserialize) + self.file_system = FileSystemOperations( + self._client, self._config, self._serialize, self._deserialize) + self.path = PathOperations( + self._client, self._config, self._serialize, self._deserialize) + + async def close(self): + await self._client.close() + async def __aenter__(self): + await self._client.__aenter__() + return self + async def __aexit__(self, *exc_details): + await self._client.__aexit__(*exc_details) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/aio/operations/__init__.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/aio/operations/__init__.py new file mode 100644 index 00000000000..0db71e00342 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/aio/operations/__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 ._service_operations import ServiceOperations +from ._file_system_operations import FileSystemOperations +from ._path_operations import PathOperations + +__all__ = [ + 'ServiceOperations', + 'FileSystemOperations', + 'PathOperations', +] diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/aio/operations/_file_system_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/aio/operations/_file_system_operations.py new file mode 100644 index 00000000000..d4e206a6d05 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/aio/operations/_file_system_operations.py @@ -0,0 +1,631 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 datetime +from typing import Any, AsyncIterable, Callable, Dict, Generic, List, Optional, TypeVar, Union +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest + +from ... import models as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class FileSystemOperations: + """FileSystemOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.storage.filedatalake.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def create( + self, + request_id_parameter: Optional[str] = None, + timeout: Optional[int] = None, + properties: Optional[str] = None, + **kwargs + ) -> None: + """Create FileSystem. + + Create a FileSystem rooted at the specified location. If the FileSystem already exists, the + operation fails. This operation does not support conditional HTTP requests. + + :param request_id_parameter: Provides a client-generated, opaque value with a 1 KB character + limit that is recorded in the analytics logs when storage analytics logging is enabled. + :type request_id_parameter: str + :param timeout: The timeout parameter is expressed in seconds. For more information, see + :code:`Setting Timeouts for Blob Service Operations.`. + :type timeout: int + :param properties: Optional. User-defined properties to be stored with the filesystem, in the + format of a comma-separated list of name and value pairs "n1=v1, n2=v2, ...", where each value + is a base64 encoded string. Note that the string may only contain ASCII characters in the + ISO-8859-1 character set. If the filesystem exists, any properties not included in the list + will be removed. All properties are removed if the header is omitted. To merge new and + existing properties, first get all existing properties and the current E-Tag, then make a + conditional request with the E-Tag and include values for all properties. + :type properties: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + accept = "application/json" + + # Construct URL + url = self.create.metadata['url'] # type: ignore + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['resource'] = self._serialize.query("self._config.resource", self._config.resource, 'str') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if request_id_parameter is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if properties is not None: + header_parameters['x-ms-properties'] = self._serialize.header("properties", properties, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.StorageError, response) + raise HttpResponseError(response=response, model=error) + + response_headers = {} + response_headers['Date']=self._deserialize('rfc-1123', response.headers.get('Date')) + response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) + response_headers['Last-Modified']=self._deserialize('rfc-1123', response.headers.get('Last-Modified')) + response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id')) + response_headers['x-ms-version']=self._deserialize('str', response.headers.get('x-ms-version')) + response_headers['x-ms-namespace-enabled']=self._deserialize('str', response.headers.get('x-ms-namespace-enabled')) + + if cls: + return cls(pipeline_response, None, response_headers) + + create.metadata = {'url': '/{filesystem}'} # type: ignore + + async def set_properties( + self, + request_id_parameter: Optional[str] = None, + timeout: Optional[int] = None, + properties: Optional[str] = None, + modified_access_conditions: Optional["_models.ModifiedAccessConditions"] = None, + **kwargs + ) -> None: + """Set FileSystem Properties. + + Set properties for the FileSystem. This operation supports conditional HTTP requests. For + more information, see `Specifying Conditional Headers for Blob Service Operations + `_. + + :param request_id_parameter: Provides a client-generated, opaque value with a 1 KB character + limit that is recorded in the analytics logs when storage analytics logging is enabled. + :type request_id_parameter: str + :param timeout: The timeout parameter is expressed in seconds. For more information, see + :code:`Setting Timeouts for Blob Service Operations.`. + :type timeout: int + :param properties: Optional. User-defined properties to be stored with the filesystem, in the + format of a comma-separated list of name and value pairs "n1=v1, n2=v2, ...", where each value + is a base64 encoded string. Note that the string may only contain ASCII characters in the + ISO-8859-1 character set. If the filesystem exists, any properties not included in the list + will be removed. All properties are removed if the header is omitted. To merge new and + existing properties, first get all existing properties and the current E-Tag, then make a + conditional request with the E-Tag and include values for all properties. + :type properties: str + :param modified_access_conditions: Parameter group. + :type modified_access_conditions: ~azure.storage.filedatalake.models.ModifiedAccessConditions + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + _if_modified_since = None + _if_unmodified_since = None + if modified_access_conditions is not None: + _if_modified_since = modified_access_conditions.if_modified_since + _if_unmodified_since = modified_access_conditions.if_unmodified_since + accept = "application/json" + + # Construct URL + url = self.set_properties.metadata['url'] # type: ignore + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['resource'] = self._serialize.query("self._config.resource", self._config.resource, 'str') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if request_id_parameter is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if properties is not None: + header_parameters['x-ms-properties'] = self._serialize.header("properties", properties, 'str') + if _if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", _if_modified_since, 'rfc-1123') + if _if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", _if_unmodified_since, 'rfc-1123') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.patch(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.StorageError, response) + raise HttpResponseError(response=response, model=error) + + response_headers = {} + response_headers['Date']=self._deserialize('rfc-1123', response.headers.get('Date')) + response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) + response_headers['Last-Modified']=self._deserialize('rfc-1123', response.headers.get('Last-Modified')) + response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id')) + response_headers['x-ms-version']=self._deserialize('str', response.headers.get('x-ms-version')) + + if cls: + return cls(pipeline_response, None, response_headers) + + set_properties.metadata = {'url': '/{filesystem}'} # type: ignore + + async def get_properties( + self, + request_id_parameter: Optional[str] = None, + timeout: Optional[int] = None, + **kwargs + ) -> None: + """Get FileSystem Properties. + + All system and user-defined filesystem properties are specified in the response headers. + + :param request_id_parameter: Provides a client-generated, opaque value with a 1 KB character + limit that is recorded in the analytics logs when storage analytics logging is enabled. + :type request_id_parameter: str + :param timeout: The timeout parameter is expressed in seconds. For more information, see + :code:`Setting Timeouts for Blob Service Operations.`. + :type timeout: int + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + accept = "application/json" + + # Construct URL + url = self.get_properties.metadata['url'] # type: ignore + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['resource'] = self._serialize.query("self._config.resource", self._config.resource, 'str') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if request_id_parameter is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.head(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.StorageError, response) + raise HttpResponseError(response=response, model=error) + + response_headers = {} + response_headers['Date']=self._deserialize('rfc-1123', response.headers.get('Date')) + response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) + response_headers['Last-Modified']=self._deserialize('rfc-1123', response.headers.get('Last-Modified')) + response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id')) + response_headers['x-ms-version']=self._deserialize('str', response.headers.get('x-ms-version')) + response_headers['x-ms-properties']=self._deserialize('str', response.headers.get('x-ms-properties')) + response_headers['x-ms-namespace-enabled']=self._deserialize('str', response.headers.get('x-ms-namespace-enabled')) + + if cls: + return cls(pipeline_response, None, response_headers) + + get_properties.metadata = {'url': '/{filesystem}'} # type: ignore + + async def delete( + self, + request_id_parameter: Optional[str] = None, + timeout: Optional[int] = None, + modified_access_conditions: Optional["_models.ModifiedAccessConditions"] = None, + **kwargs + ) -> None: + """Delete FileSystem. + + Marks the FileSystem for deletion. When a FileSystem is deleted, a FileSystem with the same + identifier cannot be created for at least 30 seconds. While the filesystem is being deleted, + attempts to create a filesystem with the same identifier will fail with status code 409 + (Conflict), with the service returning additional error information indicating that the + filesystem is being deleted. All other operations, including operations on any files or + directories within the filesystem, will fail with status code 404 (Not Found) while the + filesystem is being deleted. This operation supports conditional HTTP requests. For more + information, see `Specifying Conditional Headers for Blob Service Operations + `_. + + :param request_id_parameter: Provides a client-generated, opaque value with a 1 KB character + limit that is recorded in the analytics logs when storage analytics logging is enabled. + :type request_id_parameter: str + :param timeout: The timeout parameter is expressed in seconds. For more information, see + :code:`Setting Timeouts for Blob Service Operations.`. + :type timeout: int + :param modified_access_conditions: Parameter group. + :type modified_access_conditions: ~azure.storage.filedatalake.models.ModifiedAccessConditions + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + _if_modified_since = None + _if_unmodified_since = None + if modified_access_conditions is not None: + _if_modified_since = modified_access_conditions.if_modified_since + _if_unmodified_since = modified_access_conditions.if_unmodified_since + accept = "application/json" + + # Construct URL + url = self.delete.metadata['url'] # type: ignore + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['resource'] = self._serialize.query("self._config.resource", self._config.resource, 'str') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if request_id_parameter is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if _if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", _if_modified_since, 'rfc-1123') + if _if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", _if_unmodified_since, 'rfc-1123') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.StorageError, response) + raise HttpResponseError(response=response, model=error) + + response_headers = {} + response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id')) + response_headers['x-ms-version']=self._deserialize('str', response.headers.get('x-ms-version')) + response_headers['Date']=self._deserialize('rfc-1123', response.headers.get('Date')) + + if cls: + return cls(pipeline_response, None, response_headers) + + delete.metadata = {'url': '/{filesystem}'} # type: ignore + + def list_paths( + self, + recursive: bool, + request_id_parameter: Optional[str] = None, + timeout: Optional[int] = None, + continuation: Optional[str] = None, + path: Optional[str] = None, + max_results: Optional[int] = None, + upn: Optional[bool] = None, + **kwargs + ) -> AsyncIterable["_models.PathList"]: + """List Paths. + + List FileSystem paths and their properties. + + :param recursive: Required. + :type recursive: bool + :param request_id_parameter: Provides a client-generated, opaque value with a 1 KB character + limit that is recorded in the analytics logs when storage analytics logging is enabled. + :type request_id_parameter: str + :param timeout: The timeout parameter is expressed in seconds. For more information, see + :code:`Setting Timeouts for Blob Service Operations.`. + :type timeout: int + :param continuation: Optional. When deleting a directory, the number of paths that are deleted + with each invocation is limited. If the number of paths to be deleted exceeds this limit, a + continuation token is returned in this response header. When a continuation token is returned + in the response, it must be specified in a subsequent invocation of the delete operation to + continue deleting the directory. + :type continuation: str + :param path: Optional. Filters results to paths within the specified directory. An error + occurs if the directory does not exist. + :type path: str + :param max_results: An optional value that specifies the maximum number of items to return. If + omitted or greater than 5,000, the response will include up to 5,000 items. + :type max_results: int + :param upn: Optional. Valid only when Hierarchical Namespace is enabled for the account. If + "true", the user identity values returned in the x-ms-owner, x-ms-group, and x-ms-acl response + headers will be transformed from Azure Active Directory Object IDs to User Principal Names. If + "false", the values will be returned as Azure Active Directory Object IDs. The default value is + false. Note that group and application Object IDs are not translated because they do not have + unique friendly names. + :type upn: bool + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either PathList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.storage.filedatalake.models.PathList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.PathList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + accept = "application/json" + + # TODO: change this once continuation/next_link autorest PR is merged + def prepare_request(next_link=None, cont_token=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if request_id_parameter is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", + request_id_parameter, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, + 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_paths.metadata['url'] # type: ignore + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['resource'] = self._serialize.query("self._config.resource", self._config.resource, + 'str') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + # TODO: change this once continuation/next_link autorest PR is merged + if cont_token is not None: + query_parameters['continuation'] = self._serialize.query("continuation", cont_token, 'str') + if path is not None: + query_parameters['directory'] = self._serialize.query("path", path, 'str') + query_parameters['recursive'] = self._serialize.query("recursive", recursive, 'bool') + if max_results is not None: + query_parameters['maxResults'] = self._serialize.query("max_results", max_results, 'int', minimum=1) + if upn is not None: + query_parameters['upn'] = self._serialize.query("upn", upn, 'bool') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + # TODO: change this once continuation/next_link autorest PR is merged + try: + cont_token = pipeline_response.http_response.headers['x-ms-continuation'] + except KeyError: + cont_token = None + deserialized = self._deserialize('PathList', pipeline_response) + list_of_elem = deserialized.paths + if cls: + list_of_elem = cls(list_of_elem) + return cont_token, AsyncList(list_of_elem) + + # TODO: change this once continuation/next_link autorest PR is merged + async def get_next(cont_token=None): + cont_token = cont_token if not continuation else continuation + request = prepare_request(cont_token=cont_token) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize.failsafe_deserialize(_models.StorageError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_paths.metadata = {'url': '/{filesystem}'} # type: ignore + + async def list_blob_hierarchy_segment( + self, + prefix: Optional[str] = None, + delimiter: Optional[str] = None, + marker: Optional[str] = None, + max_results: Optional[int] = None, + include: Optional[List[Union[str, "_models.ListBlobsIncludeItem"]]] = None, + showonly: Optional[str] = "deleted", + timeout: Optional[int] = None, + request_id_parameter: Optional[str] = None, + **kwargs + ) -> "_models.ListBlobsHierarchySegmentResponse": + """The List Blobs operation returns a list of the blobs under the specified container. + + :param prefix: Filters results to filesystems within the specified prefix. + :type prefix: str + :param delimiter: When the request includes this parameter, the operation returns a BlobPrefix + element in the response body that acts as a placeholder for all blobs whose names begin with + the same substring up to the appearance of the delimiter character. The delimiter may be a + single character or a string. + :type delimiter: str + :param marker: A string value that identifies the portion of the list of containers to be + returned with the next listing operation. The operation returns the NextMarker value within the + response body if the listing operation did not return all containers remaining to be listed + with the current page. The NextMarker value can be used as the value for the marker parameter + in a subsequent call to request the next page of list items. The marker value is opaque to the + client. + :type marker: str + :param max_results: An optional value that specifies the maximum number of items to return. If + omitted or greater than 5,000, the response will include up to 5,000 items. + :type max_results: int + :param include: Include this parameter to specify one or more datasets to include in the + response. + :type include: list[str or ~azure.storage.filedatalake.models.ListBlobsIncludeItem] + :param showonly: Include this parameter to specify one or more datasets to include in the + response. + :type showonly: str + :param timeout: The timeout parameter is expressed in seconds. For more information, see + :code:`Setting Timeouts for Blob Service Operations.`. + :type timeout: int + :param request_id_parameter: Provides a client-generated, opaque value with a 1 KB character + limit that is recorded in the analytics logs when storage analytics logging is enabled. + :type request_id_parameter: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ListBlobsHierarchySegmentResponse, or the result of cls(response) + :rtype: ~azure.storage.filedatalake.models.ListBlobsHierarchySegmentResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ListBlobsHierarchySegmentResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + restype = "container" + comp = "list" + accept = "application/xml" + + # Construct URL + url = self.list_blob_hierarchy_segment.metadata['url'] # type: ignore + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['restype'] = self._serialize.query("restype", restype, 'str') + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + if prefix is not None: + query_parameters['prefix'] = self._serialize.query("prefix", prefix, 'str') + if delimiter is not None: + query_parameters['delimiter'] = self._serialize.query("delimiter", delimiter, 'str') + if marker is not None: + query_parameters['marker'] = self._serialize.query("marker", marker, 'str') + if max_results is not None: + query_parameters['maxResults'] = self._serialize.query("max_results", max_results, 'int', minimum=1) + if include is not None: + query_parameters['include'] = self._serialize.query("include", include, '[str]', div=',') + if showonly is not None: + query_parameters['showonly'] = self._serialize.query("showonly", showonly, 'str') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id_parameter is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.StorageError, response) + raise HttpResponseError(response=response, model=error) + + response_headers = {} + response_headers['Content-Type']=self._deserialize('str', response.headers.get('Content-Type')) + response_headers['x-ms-client-request-id']=self._deserialize('str', response.headers.get('x-ms-client-request-id')) + response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id')) + response_headers['x-ms-version']=self._deserialize('str', response.headers.get('x-ms-version')) + response_headers['Date']=self._deserialize('rfc-1123', response.headers.get('Date')) + deserialized = self._deserialize('ListBlobsHierarchySegmentResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, response_headers) + + return deserialized + list_blob_hierarchy_segment.metadata = {'url': '/{filesystem}'} # type: ignore diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/aio/operations/_path_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/aio/operations/_path_operations.py new file mode 100644 index 00000000000..7cec5890e12 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/aio/operations/_path_operations.py @@ -0,0 +1,1773 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 datetime +from typing import Any, Callable, Dict, Generic, IO, Optional, TypeVar, Union +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest + +from ... import models as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class PathOperations: + """PathOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.storage.filedatalake.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + async def create( + self, + request_id_parameter: Optional[str] = None, + timeout: Optional[int] = None, + resource: Optional[Union[str, "_models.PathResourceType"]] = None, + continuation: Optional[str] = None, + mode: Optional[Union[str, "_models.PathRenameMode"]] = None, + rename_source: Optional[str] = None, + source_lease_id: Optional[str] = None, + properties: Optional[str] = None, + permissions: Optional[str] = None, + umask: Optional[str] = None, + path_http_headers: Optional["_models.PathHTTPHeaders"] = None, + lease_access_conditions: Optional["_models.LeaseAccessConditions"] = None, + modified_access_conditions: Optional["_models.ModifiedAccessConditions"] = None, + source_modified_access_conditions: Optional["_models.SourceModifiedAccessConditions"] = None, + **kwargs + ) -> None: + """Create File | Create Directory | Rename File | Rename Directory. + + Create or rename a file or directory. By default, the destination is overwritten and if the + destination already exists and has a lease the lease is broken. This operation supports + conditional HTTP requests. For more information, see `Specifying Conditional Headers for Blob + Service Operations `_. To fail if the destination already exists, + use a conditional request with If-None-Match: "*". + + :param request_id_parameter: Provides a client-generated, opaque value with a 1 KB character + limit that is recorded in the analytics logs when storage analytics logging is enabled. + :type request_id_parameter: str + :param timeout: The timeout parameter is expressed in seconds. For more information, see + :code:`Setting Timeouts for Blob Service Operations.`. + :type timeout: int + :param resource: Required only for Create File and Create Directory. The value must be "file" + or "directory". + :type resource: str or ~azure.storage.filedatalake.models.PathResourceType + :param continuation: Optional. When deleting a directory, the number of paths that are deleted + with each invocation is limited. If the number of paths to be deleted exceeds this limit, a + continuation token is returned in this response header. When a continuation token is returned + in the response, it must be specified in a subsequent invocation of the delete operation to + continue deleting the directory. + :type continuation: str + :param mode: Optional. Valid only when namespace is enabled. This parameter determines the + behavior of the rename operation. The value must be "legacy" or "posix", and the default value + will be "posix". + :type mode: str or ~azure.storage.filedatalake.models.PathRenameMode + :param rename_source: An optional file or directory to be renamed. The value must have the + following format: "/{filesystem}/{path}". If "x-ms-properties" is specified, the properties + will overwrite the existing properties; otherwise, the existing properties will be preserved. + This value must be a URL percent-encoded string. Note that the string may only contain ASCII + characters in the ISO-8859-1 character set. + :type rename_source: str + :param source_lease_id: A lease ID for the source path. If specified, the source path must have + an active lease and the lease ID must match. + :type source_lease_id: str + :param properties: Optional. User-defined properties to be stored with the filesystem, in the + format of a comma-separated list of name and value pairs "n1=v1, n2=v2, ...", where each value + is a base64 encoded string. Note that the string may only contain ASCII characters in the + ISO-8859-1 character set. If the filesystem exists, any properties not included in the list + will be removed. All properties are removed if the header is omitted. To merge new and + existing properties, first get all existing properties and the current E-Tag, then make a + conditional request with the E-Tag and include values for all properties. + :type properties: str + :param permissions: Optional and only valid if Hierarchical Namespace is enabled for the + account. Sets POSIX access permissions for the file owner, the file owning group, and others. + Each class may be granted read, write, or execute permission. The sticky bit is also + supported. Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are supported. + :type permissions: str + :param umask: Optional and only valid if Hierarchical Namespace is enabled for the account. + When creating a file or directory and the parent folder does not have a default ACL, the umask + restricts the permissions of the file or directory to be created. The resulting permission is + given by p bitwise and not u, where p is the permission and u is the umask. For example, if p + is 0777 and u is 0057, then the resulting permission is 0720. The default permission is 0777 + for a directory and 0666 for a file. The default umask is 0027. The umask must be specified + in 4-digit octal notation (e.g. 0766). + :type umask: str + :param path_http_headers: Parameter group. + :type path_http_headers: ~azure.storage.filedatalake.models.PathHTTPHeaders + :param lease_access_conditions: Parameter group. + :type lease_access_conditions: ~azure.storage.filedatalake.models.LeaseAccessConditions + :param modified_access_conditions: Parameter group. + :type modified_access_conditions: ~azure.storage.filedatalake.models.ModifiedAccessConditions + :param source_modified_access_conditions: Parameter group. + :type source_modified_access_conditions: ~azure.storage.filedatalake.models.SourceModifiedAccessConditions + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + _cache_control = None + _content_encoding = None + _content_language = None + _content_disposition = None + _content_type = None + _lease_id = None + _if_match = None + _if_none_match = None + _if_modified_since = None + _if_unmodified_since = None + _source_if_match = None + _source_if_none_match = None + _source_if_modified_since = None + _source_if_unmodified_since = None + if lease_access_conditions is not None: + _lease_id = lease_access_conditions.lease_id + if modified_access_conditions is not None: + _if_match = modified_access_conditions.if_match + _if_none_match = modified_access_conditions.if_none_match + _if_modified_since = modified_access_conditions.if_modified_since + _if_unmodified_since = modified_access_conditions.if_unmodified_since + if path_http_headers is not None: + _cache_control = path_http_headers.cache_control + _content_encoding = path_http_headers.content_encoding + _content_language = path_http_headers.content_language + _content_disposition = path_http_headers.content_disposition + _content_type = path_http_headers.content_type + if source_modified_access_conditions is not None: + _source_if_match = source_modified_access_conditions.source_if_match + _source_if_none_match = source_modified_access_conditions.source_if_none_match + _source_if_modified_since = source_modified_access_conditions.source_if_modified_since + _source_if_unmodified_since = source_modified_access_conditions.source_if_unmodified_since + accept = "application/json" + + # Construct URL + url = self.create.metadata['url'] # type: ignore + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + if resource is not None: + query_parameters['resource'] = self._serialize.query("resource", resource, 'str') + if continuation is not None: + query_parameters['continuation'] = self._serialize.query("continuation", continuation, 'str') + if mode is not None: + query_parameters['mode'] = self._serialize.query("mode", mode, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if request_id_parameter is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if _cache_control is not None: + header_parameters['x-ms-cache-control'] = self._serialize.header("cache_control", _cache_control, 'str') + if _content_encoding is not None: + header_parameters['x-ms-content-encoding'] = self._serialize.header("content_encoding", _content_encoding, 'str') + if _content_language is not None: + header_parameters['x-ms-content-language'] = self._serialize.header("content_language", _content_language, 'str') + if _content_disposition is not None: + header_parameters['x-ms-content-disposition'] = self._serialize.header("content_disposition", _content_disposition, 'str') + if _content_type is not None: + header_parameters['x-ms-content-type'] = self._serialize.header("content_type", _content_type, 'str') + if rename_source is not None: + header_parameters['x-ms-rename-source'] = self._serialize.header("rename_source", rename_source, 'str') + if _lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", _lease_id, 'str') + if source_lease_id is not None: + header_parameters['x-ms-source-lease-id'] = self._serialize.header("source_lease_id", source_lease_id, 'str') + if properties is not None: + header_parameters['x-ms-properties'] = self._serialize.header("properties", properties, 'str') + if permissions is not None: + header_parameters['x-ms-permissions'] = self._serialize.header("permissions", permissions, 'str') + if umask is not None: + header_parameters['x-ms-umask'] = self._serialize.header("umask", umask, 'str') + if _if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", _if_match, 'str') + if _if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", _if_none_match, 'str') + if _if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", _if_modified_since, 'rfc-1123') + if _if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", _if_unmodified_since, 'rfc-1123') + if _source_if_match is not None: + header_parameters['x-ms-source-if-match'] = self._serialize.header("source_if_match", _source_if_match, 'str') + if _source_if_none_match is not None: + header_parameters['x-ms-source-if-none-match'] = self._serialize.header("source_if_none_match", _source_if_none_match, 'str') + if _source_if_modified_since is not None: + header_parameters['x-ms-source-if-modified-since'] = self._serialize.header("source_if_modified_since", _source_if_modified_since, 'rfc-1123') + if _source_if_unmodified_since is not None: + header_parameters['x-ms-source-if-unmodified-since'] = self._serialize.header("source_if_unmodified_since", _source_if_unmodified_since, 'rfc-1123') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.StorageError, response) + raise HttpResponseError(response=response, model=error) + + response_headers = {} + response_headers['Date']=self._deserialize('rfc-1123', response.headers.get('Date')) + response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) + response_headers['Last-Modified']=self._deserialize('rfc-1123', response.headers.get('Last-Modified')) + response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id')) + response_headers['x-ms-version']=self._deserialize('str', response.headers.get('x-ms-version')) + response_headers['x-ms-continuation']=self._deserialize('str', response.headers.get('x-ms-continuation')) + response_headers['Content-Length']=self._deserialize('long', response.headers.get('Content-Length')) + + if cls: + return cls(pipeline_response, None, response_headers) + + create.metadata = {'url': '/{filesystem}/{path}'} # type: ignore + + async def update( + self, + action: Union[str, "_models.PathUpdateAction"], + mode: Union[str, "_models.PathSetAccessControlRecursiveMode"], + body: IO, + request_id_parameter: Optional[str] = None, + timeout: Optional[int] = None, + max_records: Optional[int] = None, + continuation: Optional[str] = None, + force_flag: Optional[bool] = None, + position: Optional[int] = None, + retain_uncommitted_data: Optional[bool] = None, + close: Optional[bool] = None, + content_length: Optional[int] = None, + properties: Optional[str] = None, + owner: Optional[str] = None, + group: Optional[str] = None, + permissions: Optional[str] = None, + acl: Optional[str] = None, + path_http_headers: Optional["_models.PathHTTPHeaders"] = None, + lease_access_conditions: Optional["_models.LeaseAccessConditions"] = None, + modified_access_conditions: Optional["_models.ModifiedAccessConditions"] = None, + **kwargs + ) -> Optional["_models.SetAccessControlRecursiveResponse"]: + """Append Data | Flush Data | Set Properties | Set Access Control. + + Uploads data to be appended to a file, flushes (writes) previously uploaded data to a file, + sets properties for a file or directory, or sets access control for a file or directory. Data + can only be appended to a file. Concurrent writes to the same file using multiple clients are + not supported. This operation supports conditional HTTP requests. For more information, see + `Specifying Conditional Headers for Blob Service Operations `_. + + :param action: The action must be "append" to upload data to be appended to a file, "flush" to + flush previously uploaded data to a file, "setProperties" to set the properties of a file or + directory, "setAccessControl" to set the owner, group, permissions, or access control list for + a file or directory, or "setAccessControlRecursive" to set the access control list for a + directory recursively. Note that Hierarchical Namespace must be enabled for the account in + order to use access control. Also note that the Access Control List (ACL) includes permissions + for the owner, owning group, and others, so the x-ms-permissions and x-ms-acl request headers + are mutually exclusive. + :type action: str or ~azure.storage.filedatalake.models.PathUpdateAction + :param mode: Mode "set" sets POSIX access control rights on files and directories, "modify" + modifies one or more POSIX access control rights that pre-exist on files and directories, + "remove" removes one or more POSIX access control rights that were present earlier on files + and directories. + :type mode: str or ~azure.storage.filedatalake.models.PathSetAccessControlRecursiveMode + :param body: Initial data. + :type body: IO + :param request_id_parameter: Provides a client-generated, opaque value with a 1 KB character + limit that is recorded in the analytics logs when storage analytics logging is enabled. + :type request_id_parameter: str + :param timeout: The timeout parameter is expressed in seconds. For more information, see + :code:`Setting Timeouts for Blob Service Operations.`. + :type timeout: int + :param max_records: Optional. Valid for "SetAccessControlRecursive" operation. It specifies the + maximum number of files or directories on which the acl change will be applied. If omitted or + greater than 2,000, the request will process up to 2,000 items. + :type max_records: int + :param continuation: Optional. The number of paths processed with each invocation is limited. + If the number of paths to be processed exceeds this limit, a continuation token is returned in + the response header x-ms-continuation. When a continuation token is returned in the response, + it must be percent-encoded and specified in a subsequent invocation of setAcessControlRecursive + operation. + :type continuation: str + :param force_flag: Optional. Valid for "SetAccessControlRecursive" operation. If set to false, + the operation will terminate quickly on encountering user errors (4XX). If true, the operation + will ignore user errors and proceed with the operation on other sub-entities of the directory. + Continuation token will only be returned when forceFlag is true in case of user errors. If not + set the default value is false for this. + :type force_flag: bool + :param position: This parameter allows the caller to upload data in parallel and control the + order in which it is appended to the file. It is required when uploading data to be appended + to the file and when flushing previously uploaded data to the file. The value must be the + position where the data is to be appended. Uploaded data is not immediately flushed, or + written, to the file. To flush, the previously uploaded data must be contiguous, the position + parameter must be specified and equal to the length of the file after all data has been + written, and there must not be a request entity body included with the request. + :type position: long + :param retain_uncommitted_data: Valid only for flush operations. If "true", uncommitted data + is retained after the flush operation completes; otherwise, the uncommitted data is deleted + after the flush operation. The default is false. Data at offsets less than the specified + position are written to the file when flush succeeds, but this optional parameter allows data + after the flush position to be retained for a future flush operation. + :type retain_uncommitted_data: bool + :param close: Azure Storage Events allow applications to receive notifications when files + change. When Azure Storage Events are enabled, a file changed event is raised. This event has a + property indicating whether this is the final change to distinguish the difference between an + intermediate flush to a file stream and the final close of a file stream. The close query + parameter is valid only when the action is "flush" and change notifications are enabled. If the + value of close is "true" and the flush operation completes successfully, the service raises a + file change notification with a property indicating that this is the final update (the file + stream has been closed). If "false" a change notification is raised indicating the file has + changed. The default is false. This query parameter is set to true by the Hadoop ABFS driver to + indicate that the file stream has been closed.". + :type close: bool + :param content_length: Required for "Append Data" and "Flush Data". Must be 0 for "Flush + Data". Must be the length of the request content in bytes for "Append Data". + :type content_length: long + :param properties: Optional. User-defined properties to be stored with the filesystem, in the + format of a comma-separated list of name and value pairs "n1=v1, n2=v2, ...", where each value + is a base64 encoded string. Note that the string may only contain ASCII characters in the + ISO-8859-1 character set. If the filesystem exists, any properties not included in the list + will be removed. All properties are removed if the header is omitted. To merge new and + existing properties, first get all existing properties and the current E-Tag, then make a + conditional request with the E-Tag and include values for all properties. + :type properties: str + :param owner: Optional. The owner of the blob or directory. + :type owner: str + :param group: Optional. The owning group of the blob or directory. + :type group: str + :param permissions: Optional and only valid if Hierarchical Namespace is enabled for the + account. Sets POSIX access permissions for the file owner, the file owning group, and others. + Each class may be granted read, write, or execute permission. The sticky bit is also + supported. Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are supported. + :type permissions: str + :param acl: Sets POSIX access control rights on files and directories. The value is a comma- + separated list of access control entries. Each access control entry (ACE) consists of a scope, + a type, a user or group identifier, and permissions in the format + "[scope:][type]:[id]:[permissions]". + :type acl: str + :param path_http_headers: Parameter group. + :type path_http_headers: ~azure.storage.filedatalake.models.PathHTTPHeaders + :param lease_access_conditions: Parameter group. + :type lease_access_conditions: ~azure.storage.filedatalake.models.LeaseAccessConditions + :param modified_access_conditions: Parameter group. + :type modified_access_conditions: ~azure.storage.filedatalake.models.ModifiedAccessConditions + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SetAccessControlRecursiveResponse, or the result of cls(response) + :rtype: ~azure.storage.filedatalake.models.SetAccessControlRecursiveResponse or None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.SetAccessControlRecursiveResponse"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + _content_md5 = None + _lease_id = None + _cache_control = None + _content_type = None + _content_disposition = None + _content_encoding = None + _content_language = None + _if_match = None + _if_none_match = None + _if_modified_since = None + _if_unmodified_since = None + if lease_access_conditions is not None: + _lease_id = lease_access_conditions.lease_id + if modified_access_conditions is not None: + _if_match = modified_access_conditions.if_match + _if_none_match = modified_access_conditions.if_none_match + _if_modified_since = modified_access_conditions.if_modified_since + _if_unmodified_since = modified_access_conditions.if_unmodified_since + if path_http_headers is not None: + _content_md5 = path_http_headers.content_md5 + _cache_control = path_http_headers.cache_control + _content_type = path_http_headers.content_type + _content_disposition = path_http_headers.content_disposition + _content_encoding = path_http_headers.content_encoding + _content_language = path_http_headers.content_language + content_type = kwargs.pop("content_type", "application/octet-stream") + accept = "application/json" + + # Construct URL + url = self.update.metadata['url'] # type: ignore + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['action'] = self._serialize.query("action", action, 'str') + if max_records is not None: + query_parameters['maxRecords'] = self._serialize.query("max_records", max_records, 'int', minimum=1) + if continuation is not None: + query_parameters['continuation'] = self._serialize.query("continuation", continuation, 'str') + query_parameters['mode'] = self._serialize.query("mode", mode, 'str') + if force_flag is not None: + query_parameters['forceFlag'] = self._serialize.query("force_flag", force_flag, 'bool') + if position is not None: + query_parameters['position'] = self._serialize.query("position", position, 'long') + if retain_uncommitted_data is not None: + query_parameters['retainUncommittedData'] = self._serialize.query("retain_uncommitted_data", retain_uncommitted_data, 'bool') + if close is not None: + query_parameters['close'] = self._serialize.query("close", close, 'bool') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if request_id_parameter is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if content_length is not None: + header_parameters['Content-Length'] = self._serialize.header("content_length", content_length, 'long', minimum=0) + if _content_md5 is not None: + header_parameters['x-ms-content-md5'] = self._serialize.header("content_md5", _content_md5, 'bytearray') + if _lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", _lease_id, 'str') + if _cache_control is not None: + header_parameters['x-ms-cache-control'] = self._serialize.header("cache_control", _cache_control, 'str') + if _content_type is not None: + header_parameters['x-ms-content-type'] = self._serialize.header("content_type", _content_type, 'str') + if _content_disposition is not None: + header_parameters['x-ms-content-disposition'] = self._serialize.header("content_disposition", _content_disposition, 'str') + if _content_encoding is not None: + header_parameters['x-ms-content-encoding'] = self._serialize.header("content_encoding", _content_encoding, 'str') + if _content_language is not None: + header_parameters['x-ms-content-language'] = self._serialize.header("content_language", _content_language, 'str') + if properties is not None: + header_parameters['x-ms-properties'] = self._serialize.header("properties", properties, 'str') + if owner is not None: + header_parameters['x-ms-owner'] = self._serialize.header("owner", owner, 'str') + if group is not None: + header_parameters['x-ms-group'] = self._serialize.header("group", group, 'str') + if permissions is not None: + header_parameters['x-ms-permissions'] = self._serialize.header("permissions", permissions, 'str') + if acl is not None: + header_parameters['x-ms-acl'] = self._serialize.header("acl", acl, 'str') + if _if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", _if_match, 'str') + if _if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", _if_none_match, 'str') + if _if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", _if_modified_since, 'rfc-1123') + if _if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", _if_unmodified_since, 'rfc-1123') + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content_kwargs['stream_content'] = body + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.StorageError, response) + raise HttpResponseError(response=response, model=error) + + response_headers = {} + deserialized = None + if response.status_code == 200: + response_headers['Date']=self._deserialize('rfc-1123', response.headers.get('Date')) + response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) + response_headers['Last-Modified']=self._deserialize('rfc-1123', response.headers.get('Last-Modified')) + response_headers['Accept-Ranges']=self._deserialize('str', response.headers.get('Accept-Ranges')) + response_headers['Cache-Control']=self._deserialize('str', response.headers.get('Cache-Control')) + response_headers['Content-Disposition']=self._deserialize('str', response.headers.get('Content-Disposition')) + response_headers['Content-Encoding']=self._deserialize('str', response.headers.get('Content-Encoding')) + response_headers['Content-Language']=self._deserialize('str', response.headers.get('Content-Language')) + response_headers['Content-Length']=self._deserialize('long', response.headers.get('Content-Length')) + response_headers['Content-Range']=self._deserialize('str', response.headers.get('Content-Range')) + response_headers['Content-Type']=self._deserialize('str', response.headers.get('Content-Type')) + response_headers['Content-MD5']=self._deserialize('str', response.headers.get('Content-MD5')) + response_headers['x-ms-properties']=self._deserialize('str', response.headers.get('x-ms-properties')) + response_headers['x-ms-continuation']=self._deserialize('str', response.headers.get('x-ms-continuation')) + response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id')) + response_headers['x-ms-version']=self._deserialize('str', response.headers.get('x-ms-version')) + deserialized = self._deserialize('SetAccessControlRecursiveResponse', pipeline_response) + + if response.status_code == 202: + response_headers['Content-MD5']=self._deserialize('str', response.headers.get('Content-MD5')) + response_headers['Date']=self._deserialize('rfc-1123', response.headers.get('Date')) + response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id')) + response_headers['x-ms-version']=self._deserialize('str', response.headers.get('x-ms-version')) + + if cls: + return cls(pipeline_response, deserialized, response_headers) + + return deserialized + update.metadata = {'url': '/{filesystem}/{path}'} # type: ignore + + async def lease( + self, + x_ms_lease_action: Union[str, "_models.PathLeaseAction"], + request_id_parameter: Optional[str] = None, + timeout: Optional[int] = None, + x_ms_lease_duration: Optional[int] = None, + x_ms_lease_break_period: Optional[int] = None, + proposed_lease_id: Optional[str] = None, + lease_access_conditions: Optional["_models.LeaseAccessConditions"] = None, + modified_access_conditions: Optional["_models.ModifiedAccessConditions"] = None, + **kwargs + ) -> None: + """Lease Path. + + Create and manage a lease to restrict write and delete access to the path. This operation + supports conditional HTTP requests. For more information, see `Specifying Conditional Headers + for Blob Service Operations `_. + + :param x_ms_lease_action: There are five lease actions: "acquire", "break", "change", "renew", + and "release". Use "acquire" and specify the "x-ms-proposed-lease-id" and "x-ms-lease-duration" + to acquire a new lease. Use "break" to break an existing lease. When a lease is broken, the + lease break period is allowed to elapse, during which time no lease operation except break and + release can be performed on the file. When a lease is successfully broken, the response + indicates the interval in seconds until a new lease can be acquired. Use "change" and specify + the current lease ID in "x-ms-lease-id" and the new lease ID in "x-ms-proposed-lease-id" to + change the lease ID of an active lease. Use "renew" and specify the "x-ms-lease-id" to renew an + existing lease. Use "release" and specify the "x-ms-lease-id" to release a lease. + :type x_ms_lease_action: str or ~azure.storage.filedatalake.models.PathLeaseAction + :param request_id_parameter: Provides a client-generated, opaque value with a 1 KB character + limit that is recorded in the analytics logs when storage analytics logging is enabled. + :type request_id_parameter: str + :param timeout: The timeout parameter is expressed in seconds. For more information, see + :code:`Setting Timeouts for Blob Service Operations.`. + :type timeout: int + :param x_ms_lease_duration: The lease duration is required to acquire a lease, and specifies + the duration of the lease in seconds. The lease duration must be between 15 and 60 seconds or + -1 for infinite lease. + :type x_ms_lease_duration: int + :param x_ms_lease_break_period: The lease break period duration is optional to break a lease, + and specifies the break period of the lease in seconds. The lease break duration must be + between 0 and 60 seconds. + :type x_ms_lease_break_period: int + :param proposed_lease_id: Proposed lease ID, in a GUID string format. The Blob service returns + 400 (Invalid request) if the proposed lease ID is not in the correct format. See Guid + Constructor (String) for a list of valid GUID string formats. + :type proposed_lease_id: str + :param lease_access_conditions: Parameter group. + :type lease_access_conditions: ~azure.storage.filedatalake.models.LeaseAccessConditions + :param modified_access_conditions: Parameter group. + :type modified_access_conditions: ~azure.storage.filedatalake.models.ModifiedAccessConditions + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + _lease_id = None + _if_match = None + _if_none_match = None + _if_modified_since = None + _if_unmodified_since = None + if lease_access_conditions is not None: + _lease_id = lease_access_conditions.lease_id + if modified_access_conditions is not None: + _if_match = modified_access_conditions.if_match + _if_none_match = modified_access_conditions.if_none_match + _if_modified_since = modified_access_conditions.if_modified_since + _if_unmodified_since = modified_access_conditions.if_unmodified_since + accept = "application/json" + + # Construct URL + url = self.lease.metadata['url'] # type: ignore + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if request_id_parameter is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + header_parameters['x-ms-lease-action'] = self._serialize.header("x_ms_lease_action", x_ms_lease_action, 'str') + if x_ms_lease_duration is not None: + header_parameters['x-ms-lease-duration'] = self._serialize.header("x_ms_lease_duration", x_ms_lease_duration, 'int') + if x_ms_lease_break_period is not None: + header_parameters['x-ms-lease-break-period'] = self._serialize.header("x_ms_lease_break_period", x_ms_lease_break_period, 'int') + if _lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", _lease_id, 'str') + if proposed_lease_id is not None: + header_parameters['x-ms-proposed-lease-id'] = self._serialize.header("proposed_lease_id", proposed_lease_id, 'str') + if _if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", _if_match, 'str') + if _if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", _if_none_match, 'str') + if _if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", _if_modified_since, 'rfc-1123') + if _if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", _if_unmodified_since, 'rfc-1123') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.StorageError, response) + raise HttpResponseError(response=response, model=error) + + response_headers = {} + if response.status_code == 200: + response_headers['Date']=self._deserialize('rfc-1123', response.headers.get('Date')) + response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) + response_headers['Last-Modified']=self._deserialize('rfc-1123', response.headers.get('Last-Modified')) + response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id')) + response_headers['x-ms-version']=self._deserialize('str', response.headers.get('x-ms-version')) + response_headers['x-ms-lease-id']=self._deserialize('str', response.headers.get('x-ms-lease-id')) + + if response.status_code == 201: + response_headers['Date']=self._deserialize('rfc-1123', response.headers.get('Date')) + response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) + response_headers['Last-Modified']=self._deserialize('rfc-1123', response.headers.get('Last-Modified')) + response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id')) + response_headers['x-ms-version']=self._deserialize('str', response.headers.get('x-ms-version')) + response_headers['x-ms-lease-id']=self._deserialize('str', response.headers.get('x-ms-lease-id')) + + if response.status_code == 202: + response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) + response_headers['Last-Modified']=self._deserialize('rfc-1123', response.headers.get('Last-Modified')) + response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id')) + response_headers['x-ms-version']=self._deserialize('str', response.headers.get('x-ms-version')) + response_headers['x-ms-lease-time']=self._deserialize('str', response.headers.get('x-ms-lease-time')) + + if cls: + return cls(pipeline_response, None, response_headers) + + lease.metadata = {'url': '/{filesystem}/{path}'} # type: ignore + + async def read( + self, + request_id_parameter: Optional[str] = None, + timeout: Optional[int] = None, + range: Optional[str] = None, + x_ms_range_get_content_md5: Optional[bool] = None, + lease_access_conditions: Optional["_models.LeaseAccessConditions"] = None, + modified_access_conditions: Optional["_models.ModifiedAccessConditions"] = None, + **kwargs + ) -> IO: + """Read File. + + Read the contents of a file. For read operations, range requests are supported. This operation + supports conditional HTTP requests. For more information, see `Specifying Conditional Headers + for Blob Service Operations `_. + + :param request_id_parameter: Provides a client-generated, opaque value with a 1 KB character + limit that is recorded in the analytics logs when storage analytics logging is enabled. + :type request_id_parameter: str + :param timeout: The timeout parameter is expressed in seconds. For more information, see + :code:`Setting Timeouts for Blob Service Operations.`. + :type timeout: int + :param range: The HTTP Range request header specifies one or more byte ranges of the resource + to be retrieved. + :type range: str + :param x_ms_range_get_content_md5: Optional. When this header is set to "true" and specified + together with the Range header, the service returns the MD5 hash for the range, as long as the + range is less than or equal to 4MB in size. If this header is specified without the Range + header, the service returns status code 400 (Bad Request). If this header is set to true when + the range exceeds 4 MB in size, the service returns status code 400 (Bad Request). + :type x_ms_range_get_content_md5: bool + :param lease_access_conditions: Parameter group. + :type lease_access_conditions: ~azure.storage.filedatalake.models.LeaseAccessConditions + :param modified_access_conditions: Parameter group. + :type modified_access_conditions: ~azure.storage.filedatalake.models.ModifiedAccessConditions + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IO, or the result of cls(response) + :rtype: IO + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[IO] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + _lease_id = None + _if_match = None + _if_none_match = None + _if_modified_since = None + _if_unmodified_since = None + if lease_access_conditions is not None: + _lease_id = lease_access_conditions.lease_id + if modified_access_conditions is not None: + _if_match = modified_access_conditions.if_match + _if_none_match = modified_access_conditions.if_none_match + _if_modified_since = modified_access_conditions.if_modified_since + _if_unmodified_since = modified_access_conditions.if_unmodified_since + accept = "application/json" + + # Construct URL + url = self.read.metadata['url'] # type: ignore + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if request_id_parameter is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if range is not None: + header_parameters['Range'] = self._serialize.header("range", range, 'str') + if _lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", _lease_id, 'str') + if x_ms_range_get_content_md5 is not None: + header_parameters['x-ms-range-get-content-md5'] = self._serialize.header("x_ms_range_get_content_md5", x_ms_range_get_content_md5, 'bool') + if _if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", _if_match, 'str') + if _if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", _if_none_match, 'str') + if _if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", _if_modified_since, 'rfc-1123') + if _if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", _if_unmodified_since, 'rfc-1123') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=True, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 206]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.StorageError, response) + raise HttpResponseError(response=response, model=error) + + response_headers = {} + if response.status_code == 200: + response_headers['Accept-Ranges']=self._deserialize('str', response.headers.get('Accept-Ranges')) + response_headers['Cache-Control']=self._deserialize('str', response.headers.get('Cache-Control')) + response_headers['Content-Disposition']=self._deserialize('str', response.headers.get('Content-Disposition')) + response_headers['Content-Encoding']=self._deserialize('str', response.headers.get('Content-Encoding')) + response_headers['Content-Language']=self._deserialize('str', response.headers.get('Content-Language')) + response_headers['Content-Length']=self._deserialize('long', response.headers.get('Content-Length')) + response_headers['Content-Range']=self._deserialize('str', response.headers.get('Content-Range')) + response_headers['Content-Type']=self._deserialize('str', response.headers.get('Content-Type')) + response_headers['Content-MD5']=self._deserialize('str', response.headers.get('Content-MD5')) + response_headers['Date']=self._deserialize('rfc-1123', response.headers.get('Date')) + response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) + response_headers['Last-Modified']=self._deserialize('rfc-1123', response.headers.get('Last-Modified')) + response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id')) + response_headers['x-ms-version']=self._deserialize('str', response.headers.get('x-ms-version')) + response_headers['x-ms-resource-type']=self._deserialize('str', response.headers.get('x-ms-resource-type')) + response_headers['x-ms-properties']=self._deserialize('str', response.headers.get('x-ms-properties')) + response_headers['x-ms-lease-duration']=self._deserialize('str', response.headers.get('x-ms-lease-duration')) + response_headers['x-ms-lease-state']=self._deserialize('str', response.headers.get('x-ms-lease-state')) + response_headers['x-ms-lease-status']=self._deserialize('str', response.headers.get('x-ms-lease-status')) + deserialized = response.stream_download(self._client._pipeline) + + if response.status_code == 206: + response_headers['Accept-Ranges']=self._deserialize('str', response.headers.get('Accept-Ranges')) + response_headers['Cache-Control']=self._deserialize('str', response.headers.get('Cache-Control')) + response_headers['Content-Disposition']=self._deserialize('str', response.headers.get('Content-Disposition')) + response_headers['Content-Encoding']=self._deserialize('str', response.headers.get('Content-Encoding')) + response_headers['Content-Language']=self._deserialize('str', response.headers.get('Content-Language')) + response_headers['Content-Length']=self._deserialize('long', response.headers.get('Content-Length')) + response_headers['Content-Range']=self._deserialize('str', response.headers.get('Content-Range')) + response_headers['Content-Type']=self._deserialize('str', response.headers.get('Content-Type')) + response_headers['Content-MD5']=self._deserialize('str', response.headers.get('Content-MD5')) + response_headers['x-ms-content-md5']=self._deserialize('str', response.headers.get('x-ms-content-md5')) + response_headers['Date']=self._deserialize('rfc-1123', response.headers.get('Date')) + response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) + response_headers['Last-Modified']=self._deserialize('rfc-1123', response.headers.get('Last-Modified')) + response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id')) + response_headers['x-ms-version']=self._deserialize('str', response.headers.get('x-ms-version')) + response_headers['x-ms-resource-type']=self._deserialize('str', response.headers.get('x-ms-resource-type')) + response_headers['x-ms-properties']=self._deserialize('str', response.headers.get('x-ms-properties')) + response_headers['x-ms-lease-duration']=self._deserialize('str', response.headers.get('x-ms-lease-duration')) + response_headers['x-ms-lease-state']=self._deserialize('str', response.headers.get('x-ms-lease-state')) + response_headers['x-ms-lease-status']=self._deserialize('str', response.headers.get('x-ms-lease-status')) + deserialized = response.stream_download(self._client._pipeline) + + if cls: + return cls(pipeline_response, deserialized, response_headers) + + return deserialized + read.metadata = {'url': '/{filesystem}/{path}'} # type: ignore + + async def get_properties( + self, + request_id_parameter: Optional[str] = None, + timeout: Optional[int] = None, + action: Optional[Union[str, "_models.PathGetPropertiesAction"]] = None, + upn: Optional[bool] = None, + lease_access_conditions: Optional["_models.LeaseAccessConditions"] = None, + modified_access_conditions: Optional["_models.ModifiedAccessConditions"] = None, + **kwargs + ) -> None: + """Get Properties | Get Status | Get Access Control List. + + Get Properties returns all system and user defined properties for a path. Get Status returns + all system defined properties for a path. Get Access Control List returns the access control + list for a path. This operation supports conditional HTTP requests. For more information, see + `Specifying Conditional Headers for Blob Service Operations `_. + + :param request_id_parameter: Provides a client-generated, opaque value with a 1 KB character + limit that is recorded in the analytics logs when storage analytics logging is enabled. + :type request_id_parameter: str + :param timeout: The timeout parameter is expressed in seconds. For more information, see + :code:`Setting Timeouts for Blob Service Operations.`. + :type timeout: int + :param action: Optional. If the value is "getStatus" only the system defined properties for the + path are returned. If the value is "getAccessControl" the access control list is returned in + the response headers (Hierarchical Namespace must be enabled for the account), otherwise the + properties are returned. + :type action: str or ~azure.storage.filedatalake.models.PathGetPropertiesAction + :param upn: Optional. Valid only when Hierarchical Namespace is enabled for the account. If + "true", the user identity values returned in the x-ms-owner, x-ms-group, and x-ms-acl response + headers will be transformed from Azure Active Directory Object IDs to User Principal Names. If + "false", the values will be returned as Azure Active Directory Object IDs. The default value is + false. Note that group and application Object IDs are not translated because they do not have + unique friendly names. + :type upn: bool + :param lease_access_conditions: Parameter group. + :type lease_access_conditions: ~azure.storage.filedatalake.models.LeaseAccessConditions + :param modified_access_conditions: Parameter group. + :type modified_access_conditions: ~azure.storage.filedatalake.models.ModifiedAccessConditions + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + _lease_id = None + _if_match = None + _if_none_match = None + _if_modified_since = None + _if_unmodified_since = None + if lease_access_conditions is not None: + _lease_id = lease_access_conditions.lease_id + if modified_access_conditions is not None: + _if_match = modified_access_conditions.if_match + _if_none_match = modified_access_conditions.if_none_match + _if_modified_since = modified_access_conditions.if_modified_since + _if_unmodified_since = modified_access_conditions.if_unmodified_since + accept = "application/json" + + # Construct URL + url = self.get_properties.metadata['url'] # type: ignore + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + if action is not None: + query_parameters['action'] = self._serialize.query("action", action, 'str') + if upn is not None: + query_parameters['upn'] = self._serialize.query("upn", upn, 'bool') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if request_id_parameter is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if _lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", _lease_id, 'str') + if _if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", _if_match, 'str') + if _if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", _if_none_match, 'str') + if _if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", _if_modified_since, 'rfc-1123') + if _if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", _if_unmodified_since, 'rfc-1123') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.head(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.StorageError, response) + raise HttpResponseError(response=response, model=error) + + response_headers = {} + response_headers['Accept-Ranges']=self._deserialize('str', response.headers.get('Accept-Ranges')) + response_headers['Cache-Control']=self._deserialize('str', response.headers.get('Cache-Control')) + response_headers['Content-Disposition']=self._deserialize('str', response.headers.get('Content-Disposition')) + response_headers['Content-Encoding']=self._deserialize('str', response.headers.get('Content-Encoding')) + response_headers['Content-Language']=self._deserialize('str', response.headers.get('Content-Language')) + response_headers['Content-Length']=self._deserialize('long', response.headers.get('Content-Length')) + response_headers['Content-Range']=self._deserialize('str', response.headers.get('Content-Range')) + response_headers['Content-Type']=self._deserialize('str', response.headers.get('Content-Type')) + response_headers['Content-MD5']=self._deserialize('str', response.headers.get('Content-MD5')) + response_headers['Date']=self._deserialize('rfc-1123', response.headers.get('Date')) + response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) + response_headers['Last-Modified']=self._deserialize('rfc-1123', response.headers.get('Last-Modified')) + response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id')) + response_headers['x-ms-version']=self._deserialize('str', response.headers.get('x-ms-version')) + response_headers['x-ms-resource-type']=self._deserialize('str', response.headers.get('x-ms-resource-type')) + response_headers['x-ms-properties']=self._deserialize('str', response.headers.get('x-ms-properties')) + response_headers['x-ms-owner']=self._deserialize('str', response.headers.get('x-ms-owner')) + response_headers['x-ms-group']=self._deserialize('str', response.headers.get('x-ms-group')) + response_headers['x-ms-permissions']=self._deserialize('str', response.headers.get('x-ms-permissions')) + response_headers['x-ms-acl']=self._deserialize('str', response.headers.get('x-ms-acl')) + response_headers['x-ms-lease-duration']=self._deserialize('str', response.headers.get('x-ms-lease-duration')) + response_headers['x-ms-lease-state']=self._deserialize('str', response.headers.get('x-ms-lease-state')) + response_headers['x-ms-lease-status']=self._deserialize('str', response.headers.get('x-ms-lease-status')) + + if cls: + return cls(pipeline_response, None, response_headers) + + get_properties.metadata = {'url': '/{filesystem}/{path}'} # type: ignore + + async def delete( + self, + request_id_parameter: Optional[str] = None, + timeout: Optional[int] = None, + recursive: Optional[bool] = None, + continuation: Optional[str] = None, + lease_access_conditions: Optional["_models.LeaseAccessConditions"] = None, + modified_access_conditions: Optional["_models.ModifiedAccessConditions"] = None, + **kwargs + ) -> None: + """Delete File | Delete Directory. + + Delete the file or directory. This operation supports conditional HTTP requests. For more + information, see `Specifying Conditional Headers for Blob Service Operations + `_. + + :param request_id_parameter: Provides a client-generated, opaque value with a 1 KB character + limit that is recorded in the analytics logs when storage analytics logging is enabled. + :type request_id_parameter: str + :param timeout: The timeout parameter is expressed in seconds. For more information, see + :code:`Setting Timeouts for Blob Service Operations.`. + :type timeout: int + :param recursive: Required. + :type recursive: bool + :param continuation: Optional. When deleting a directory, the number of paths that are deleted + with each invocation is limited. If the number of paths to be deleted exceeds this limit, a + continuation token is returned in this response header. When a continuation token is returned + in the response, it must be specified in a subsequent invocation of the delete operation to + continue deleting the directory. + :type continuation: str + :param lease_access_conditions: Parameter group. + :type lease_access_conditions: ~azure.storage.filedatalake.models.LeaseAccessConditions + :param modified_access_conditions: Parameter group. + :type modified_access_conditions: ~azure.storage.filedatalake.models.ModifiedAccessConditions + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + _lease_id = None + _if_match = None + _if_none_match = None + _if_modified_since = None + _if_unmodified_since = None + if lease_access_conditions is not None: + _lease_id = lease_access_conditions.lease_id + if modified_access_conditions is not None: + _if_match = modified_access_conditions.if_match + _if_none_match = modified_access_conditions.if_none_match + _if_modified_since = modified_access_conditions.if_modified_since + _if_unmodified_since = modified_access_conditions.if_unmodified_since + accept = "application/json" + + # Construct URL + url = self.delete.metadata['url'] # type: ignore + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + if recursive is not None: + query_parameters['recursive'] = self._serialize.query("recursive", recursive, 'bool') + if continuation is not None: + query_parameters['continuation'] = self._serialize.query("continuation", continuation, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if request_id_parameter is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if _lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", _lease_id, 'str') + if _if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", _if_match, 'str') + if _if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", _if_none_match, 'str') + if _if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", _if_modified_since, 'rfc-1123') + if _if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", _if_unmodified_since, 'rfc-1123') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.StorageError, response) + raise HttpResponseError(response=response, model=error) + + response_headers = {} + response_headers['Date']=self._deserialize('rfc-1123', response.headers.get('Date')) + response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id')) + response_headers['x-ms-version']=self._deserialize('str', response.headers.get('x-ms-version')) + response_headers['x-ms-continuation']=self._deserialize('str', response.headers.get('x-ms-continuation')) + response_headers['x-ms-deletion-id']=self._deserialize('str', response.headers.get('x-ms-deletion-id')) + + if cls: + return cls(pipeline_response, None, response_headers) + + delete.metadata = {'url': '/{filesystem}/{path}'} # type: ignore + + async def set_access_control( + self, + timeout: Optional[int] = None, + owner: Optional[str] = None, + group: Optional[str] = None, + permissions: Optional[str] = None, + acl: Optional[str] = None, + request_id_parameter: Optional[str] = None, + lease_access_conditions: Optional["_models.LeaseAccessConditions"] = None, + modified_access_conditions: Optional["_models.ModifiedAccessConditions"] = None, + **kwargs + ) -> None: + """Set the owner, group, permissions, or access control list for a path. + + :param timeout: The timeout parameter is expressed in seconds. For more information, see + :code:`Setting Timeouts for Blob Service Operations.`. + :type timeout: int + :param owner: Optional. The owner of the blob or directory. + :type owner: str + :param group: Optional. The owning group of the blob or directory. + :type group: str + :param permissions: Optional and only valid if Hierarchical Namespace is enabled for the + account. Sets POSIX access permissions for the file owner, the file owning group, and others. + Each class may be granted read, write, or execute permission. The sticky bit is also + supported. Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are supported. + :type permissions: str + :param acl: Sets POSIX access control rights on files and directories. The value is a comma- + separated list of access control entries. Each access control entry (ACE) consists of a scope, + a type, a user or group identifier, and permissions in the format + "[scope:][type]:[id]:[permissions]". + :type acl: str + :param request_id_parameter: Provides a client-generated, opaque value with a 1 KB character + limit that is recorded in the analytics logs when storage analytics logging is enabled. + :type request_id_parameter: str + :param lease_access_conditions: Parameter group. + :type lease_access_conditions: ~azure.storage.filedatalake.models.LeaseAccessConditions + :param modified_access_conditions: Parameter group. + :type modified_access_conditions: ~azure.storage.filedatalake.models.ModifiedAccessConditions + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + _lease_id = None + _if_match = None + _if_none_match = None + _if_modified_since = None + _if_unmodified_since = None + if lease_access_conditions is not None: + _lease_id = lease_access_conditions.lease_id + if modified_access_conditions is not None: + _if_match = modified_access_conditions.if_match + _if_none_match = modified_access_conditions.if_none_match + _if_modified_since = modified_access_conditions.if_modified_since + _if_unmodified_since = modified_access_conditions.if_unmodified_since + action = "setAccessControl" + accept = "application/json" + + # Construct URL + url = self.set_access_control.metadata['url'] # type: ignore + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['action'] = self._serialize.query("action", action, 'str') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if _lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", _lease_id, 'str') + if owner is not None: + header_parameters['x-ms-owner'] = self._serialize.header("owner", owner, 'str') + if group is not None: + header_parameters['x-ms-group'] = self._serialize.header("group", group, 'str') + if permissions is not None: + header_parameters['x-ms-permissions'] = self._serialize.header("permissions", permissions, 'str') + if acl is not None: + header_parameters['x-ms-acl'] = self._serialize.header("acl", acl, 'str') + if _if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", _if_match, 'str') + if _if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", _if_none_match, 'str') + if _if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", _if_modified_since, 'rfc-1123') + if _if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", _if_unmodified_since, 'rfc-1123') + if request_id_parameter is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.patch(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.StorageError, response) + raise HttpResponseError(response=response, model=error) + + response_headers = {} + response_headers['Date']=self._deserialize('rfc-1123', response.headers.get('Date')) + response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) + response_headers['Last-Modified']=self._deserialize('rfc-1123', response.headers.get('Last-Modified')) + response_headers['x-ms-client-request-id']=self._deserialize('str', response.headers.get('x-ms-client-request-id')) + response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id')) + response_headers['x-ms-version']=self._deserialize('str', response.headers.get('x-ms-version')) + + if cls: + return cls(pipeline_response, None, response_headers) + + set_access_control.metadata = {'url': '/{filesystem}/{path}'} # type: ignore + + async def set_access_control_recursive( + self, + mode: Union[str, "_models.PathSetAccessControlRecursiveMode"], + timeout: Optional[int] = None, + continuation: Optional[str] = None, + force_flag: Optional[bool] = None, + max_records: Optional[int] = None, + acl: Optional[str] = None, + request_id_parameter: Optional[str] = None, + **kwargs + ) -> "_models.SetAccessControlRecursiveResponse": + """Set the access control list for a path and subpaths. + + :param mode: Mode "set" sets POSIX access control rights on files and directories, "modify" + modifies one or more POSIX access control rights that pre-exist on files and directories, + "remove" removes one or more POSIX access control rights that were present earlier on files + and directories. + :type mode: str or ~azure.storage.filedatalake.models.PathSetAccessControlRecursiveMode + :param timeout: The timeout parameter is expressed in seconds. For more information, see + :code:`Setting Timeouts for Blob Service Operations.`. + :type timeout: int + :param continuation: Optional. When deleting a directory, the number of paths that are deleted + with each invocation is limited. If the number of paths to be deleted exceeds this limit, a + continuation token is returned in this response header. When a continuation token is returned + in the response, it must be specified in a subsequent invocation of the delete operation to + continue deleting the directory. + :type continuation: str + :param force_flag: Optional. Valid for "SetAccessControlRecursive" operation. If set to false, + the operation will terminate quickly on encountering user errors (4XX). If true, the operation + will ignore user errors and proceed with the operation on other sub-entities of the directory. + Continuation token will only be returned when forceFlag is true in case of user errors. If not + set the default value is false for this. + :type force_flag: bool + :param max_records: Optional. It specifies the maximum number of files or directories on which + the acl change will be applied. If omitted or greater than 2,000, the request will process up + to 2,000 items. + :type max_records: int + :param acl: Sets POSIX access control rights on files and directories. The value is a comma- + separated list of access control entries. Each access control entry (ACE) consists of a scope, + a type, a user or group identifier, and permissions in the format + "[scope:][type]:[id]:[permissions]". + :type acl: str + :param request_id_parameter: Provides a client-generated, opaque value with a 1 KB character + limit that is recorded in the analytics logs when storage analytics logging is enabled. + :type request_id_parameter: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SetAccessControlRecursiveResponse, or the result of cls(response) + :rtype: ~azure.storage.filedatalake.models.SetAccessControlRecursiveResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SetAccessControlRecursiveResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + action = "setAccessControlRecursive" + accept = "application/json" + + # Construct URL + url = self.set_access_control_recursive.metadata['url'] # type: ignore + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['action'] = self._serialize.query("action", action, 'str') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + if continuation is not None: + query_parameters['continuation'] = self._serialize.query("continuation", continuation, 'str') + query_parameters['mode'] = self._serialize.query("mode", mode, 'str') + if force_flag is not None: + query_parameters['forceFlag'] = self._serialize.query("force_flag", force_flag, 'bool') + if max_records is not None: + query_parameters['maxRecords'] = self._serialize.query("max_records", max_records, 'int', minimum=1) + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if acl is not None: + header_parameters['x-ms-acl'] = self._serialize.header("acl", acl, 'str') + if request_id_parameter is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.patch(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.StorageError, response) + raise HttpResponseError(response=response, model=error) + + response_headers = {} + response_headers['Date']=self._deserialize('rfc-1123', response.headers.get('Date')) + response_headers['x-ms-client-request-id']=self._deserialize('str', response.headers.get('x-ms-client-request-id')) + response_headers['x-ms-continuation']=self._deserialize('str', response.headers.get('x-ms-continuation')) + response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id')) + response_headers['x-ms-version']=self._deserialize('str', response.headers.get('x-ms-version')) + deserialized = self._deserialize('SetAccessControlRecursiveResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, response_headers) + + return deserialized + set_access_control_recursive.metadata = {'url': '/{filesystem}/{path}'} # type: ignore + + async def flush_data( + self, + timeout: Optional[int] = None, + position: Optional[int] = None, + retain_uncommitted_data: Optional[bool] = None, + close: Optional[bool] = None, + content_length: Optional[int] = None, + request_id_parameter: Optional[str] = None, + path_http_headers: Optional["_models.PathHTTPHeaders"] = None, + lease_access_conditions: Optional["_models.LeaseAccessConditions"] = None, + modified_access_conditions: Optional["_models.ModifiedAccessConditions"] = None, + **kwargs + ) -> None: + """Set the owner, group, permissions, or access control list for a path. + + :param timeout: The timeout parameter is expressed in seconds. For more information, see + :code:`Setting Timeouts for Blob Service Operations.`. + :type timeout: int + :param position: This parameter allows the caller to upload data in parallel and control the + order in which it is appended to the file. It is required when uploading data to be appended + to the file and when flushing previously uploaded data to the file. The value must be the + position where the data is to be appended. Uploaded data is not immediately flushed, or + written, to the file. To flush, the previously uploaded data must be contiguous, the position + parameter must be specified and equal to the length of the file after all data has been + written, and there must not be a request entity body included with the request. + :type position: long + :param retain_uncommitted_data: Valid only for flush operations. If "true", uncommitted data + is retained after the flush operation completes; otherwise, the uncommitted data is deleted + after the flush operation. The default is false. Data at offsets less than the specified + position are written to the file when flush succeeds, but this optional parameter allows data + after the flush position to be retained for a future flush operation. + :type retain_uncommitted_data: bool + :param close: Azure Storage Events allow applications to receive notifications when files + change. When Azure Storage Events are enabled, a file changed event is raised. This event has a + property indicating whether this is the final change to distinguish the difference between an + intermediate flush to a file stream and the final close of a file stream. The close query + parameter is valid only when the action is "flush" and change notifications are enabled. If the + value of close is "true" and the flush operation completes successfully, the service raises a + file change notification with a property indicating that this is the final update (the file + stream has been closed). If "false" a change notification is raised indicating the file has + changed. The default is false. This query parameter is set to true by the Hadoop ABFS driver to + indicate that the file stream has been closed.". + :type close: bool + :param content_length: Required for "Append Data" and "Flush Data". Must be 0 for "Flush + Data". Must be the length of the request content in bytes for "Append Data". + :type content_length: long + :param request_id_parameter: Provides a client-generated, opaque value with a 1 KB character + limit that is recorded in the analytics logs when storage analytics logging is enabled. + :type request_id_parameter: str + :param path_http_headers: Parameter group. + :type path_http_headers: ~azure.storage.filedatalake.models.PathHTTPHeaders + :param lease_access_conditions: Parameter group. + :type lease_access_conditions: ~azure.storage.filedatalake.models.LeaseAccessConditions + :param modified_access_conditions: Parameter group. + :type modified_access_conditions: ~azure.storage.filedatalake.models.ModifiedAccessConditions + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + _content_md5 = None + _lease_id = None + _cache_control = None + _content_type = None + _content_disposition = None + _content_encoding = None + _content_language = None + _if_match = None + _if_none_match = None + _if_modified_since = None + _if_unmodified_since = None + if lease_access_conditions is not None: + _lease_id = lease_access_conditions.lease_id + if modified_access_conditions is not None: + _if_match = modified_access_conditions.if_match + _if_none_match = modified_access_conditions.if_none_match + _if_modified_since = modified_access_conditions.if_modified_since + _if_unmodified_since = modified_access_conditions.if_unmodified_since + if path_http_headers is not None: + _content_md5 = path_http_headers.content_md5 + _cache_control = path_http_headers.cache_control + _content_type = path_http_headers.content_type + _content_disposition = path_http_headers.content_disposition + _content_encoding = path_http_headers.content_encoding + _content_language = path_http_headers.content_language + action = "flush" + accept = "application/json" + + # Construct URL + url = self.flush_data.metadata['url'] # type: ignore + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['action'] = self._serialize.query("action", action, 'str') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + if position is not None: + query_parameters['position'] = self._serialize.query("position", position, 'long') + if retain_uncommitted_data is not None: + query_parameters['retainUncommittedData'] = self._serialize.query("retain_uncommitted_data", retain_uncommitted_data, 'bool') + if close is not None: + query_parameters['close'] = self._serialize.query("close", close, 'bool') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if content_length is not None: + header_parameters['Content-Length'] = self._serialize.header("content_length", content_length, 'long', minimum=0) + if _content_md5 is not None: + header_parameters['x-ms-content-md5'] = self._serialize.header("content_md5", _content_md5, 'bytearray') + if _lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", _lease_id, 'str') + if _cache_control is not None: + header_parameters['x-ms-cache-control'] = self._serialize.header("cache_control", _cache_control, 'str') + if _content_type is not None: + header_parameters['x-ms-content-type'] = self._serialize.header("content_type", _content_type, 'str') + if _content_disposition is not None: + header_parameters['x-ms-content-disposition'] = self._serialize.header("content_disposition", _content_disposition, 'str') + if _content_encoding is not None: + header_parameters['x-ms-content-encoding'] = self._serialize.header("content_encoding", _content_encoding, 'str') + if _content_language is not None: + header_parameters['x-ms-content-language'] = self._serialize.header("content_language", _content_language, 'str') + if _if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", _if_match, 'str') + if _if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", _if_none_match, 'str') + if _if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", _if_modified_since, 'rfc-1123') + if _if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", _if_unmodified_since, 'rfc-1123') + if request_id_parameter is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.patch(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.StorageError, response) + raise HttpResponseError(response=response, model=error) + + response_headers = {} + response_headers['Date']=self._deserialize('rfc-1123', response.headers.get('Date')) + response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) + response_headers['Last-Modified']=self._deserialize('rfc-1123', response.headers.get('Last-Modified')) + response_headers['Content-Length']=self._deserialize('long', response.headers.get('Content-Length')) + response_headers['x-ms-client-request-id']=self._deserialize('str', response.headers.get('x-ms-client-request-id')) + response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id')) + response_headers['x-ms-version']=self._deserialize('str', response.headers.get('x-ms-version')) + + if cls: + return cls(pipeline_response, None, response_headers) + + flush_data.metadata = {'url': '/{filesystem}/{path}'} # type: ignore + + async def append_data( + self, + body: IO, + position: Optional[int] = None, + timeout: Optional[int] = None, + content_length: Optional[int] = None, + transactional_content_crc64: Optional[bytearray] = None, + request_id_parameter: Optional[str] = None, + path_http_headers: Optional["_models.PathHTTPHeaders"] = None, + lease_access_conditions: Optional["_models.LeaseAccessConditions"] = None, + **kwargs + ) -> None: + """Append data to the file. + + :param body: Initial data. + :type body: IO + :param position: This parameter allows the caller to upload data in parallel and control the + order in which it is appended to the file. It is required when uploading data to be appended + to the file and when flushing previously uploaded data to the file. The value must be the + position where the data is to be appended. Uploaded data is not immediately flushed, or + written, to the file. To flush, the previously uploaded data must be contiguous, the position + parameter must be specified and equal to the length of the file after all data has been + written, and there must not be a request entity body included with the request. + :type position: long + :param timeout: The timeout parameter is expressed in seconds. For more information, see + :code:`Setting Timeouts for Blob Service Operations.`. + :type timeout: int + :param content_length: Required for "Append Data" and "Flush Data". Must be 0 for "Flush + Data". Must be the length of the request content in bytes for "Append Data". + :type content_length: long + :param transactional_content_crc64: Specify the transactional crc64 for the body, to be + validated by the service. + :type transactional_content_crc64: bytearray + :param request_id_parameter: Provides a client-generated, opaque value with a 1 KB character + limit that is recorded in the analytics logs when storage analytics logging is enabled. + :type request_id_parameter: str + :param path_http_headers: Parameter group. + :type path_http_headers: ~azure.storage.filedatalake.models.PathHTTPHeaders + :param lease_access_conditions: Parameter group. + :type lease_access_conditions: ~azure.storage.filedatalake.models.LeaseAccessConditions + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + _transactional_content_hash = None + _lease_id = None + if lease_access_conditions is not None: + _lease_id = lease_access_conditions.lease_id + if path_http_headers is not None: + _transactional_content_hash = path_http_headers.transactional_content_hash + action = "append" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.append_data.metadata['url'] # type: ignore + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['action'] = self._serialize.query("action", action, 'str') + if position is not None: + query_parameters['position'] = self._serialize.query("position", position, 'long') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if content_length is not None: + header_parameters['Content-Length'] = self._serialize.header("content_length", content_length, 'long', minimum=0) + if _transactional_content_hash is not None: + header_parameters['Content-MD5'] = self._serialize.header("transactional_content_hash", _transactional_content_hash, 'bytearray') + if transactional_content_crc64 is not None: + header_parameters['x-ms-content-crc64'] = self._serialize.header("transactional_content_crc64", transactional_content_crc64, 'bytearray') + if _lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", _lease_id, 'str') + if request_id_parameter is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content_kwargs['stream_content'] = body + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.StorageError, response) + raise HttpResponseError(response=response, model=error) + + response_headers = {} + response_headers['Date']=self._deserialize('rfc-1123', response.headers.get('Date')) + response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id')) + response_headers['x-ms-client-request-id']=self._deserialize('str', response.headers.get('x-ms-client-request-id')) + response_headers['x-ms-version']=self._deserialize('str', response.headers.get('x-ms-version')) + response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) + response_headers['Content-MD5']=self._deserialize('bytearray', response.headers.get('Content-MD5')) + response_headers['x-ms-content-crc64']=self._deserialize('bytearray', response.headers.get('x-ms-content-crc64')) + response_headers['x-ms-request-server-encrypted']=self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')) + + if cls: + return cls(pipeline_response, None, response_headers) + + append_data.metadata = {'url': '/{filesystem}/{path}'} # type: ignore + + async def set_expiry( + self, + expiry_options: Union[str, "_models.PathExpiryOptions"], + timeout: Optional[int] = None, + request_id_parameter: Optional[str] = None, + expires_on: Optional[str] = None, + **kwargs + ) -> None: + """Sets the time a blob will expire and be deleted. + + :param expiry_options: Required. Indicates mode of the expiry time. + :type expiry_options: str or ~azure.storage.filedatalake.models.PathExpiryOptions + :param timeout: The timeout parameter is expressed in seconds. For more information, see + :code:`Setting Timeouts for Blob Service Operations.`. + :type timeout: int + :param request_id_parameter: Provides a client-generated, opaque value with a 1 KB character + limit that is recorded in the analytics logs when storage analytics logging is enabled. + :type request_id_parameter: str + :param expires_on: The time to set the blob to expiry. + :type expires_on: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + comp = "expiry" + accept = "application/json" + + # Construct URL + url = self.set_expiry.metadata['url'] # type: ignore + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id_parameter is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str') + header_parameters['x-ms-expiry-option'] = self._serialize.header("expiry_options", expiry_options, 'str') + if expires_on is not None: + header_parameters['x-ms-expiry-time'] = self._serialize.header("expires_on", expires_on, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.StorageError, response) + raise HttpResponseError(response=response, model=error) + + response_headers = {} + response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) + response_headers['Last-Modified']=self._deserialize('rfc-1123', response.headers.get('Last-Modified')) + response_headers['x-ms-client-request-id']=self._deserialize('str', response.headers.get('x-ms-client-request-id')) + response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id')) + response_headers['x-ms-version']=self._deserialize('str', response.headers.get('x-ms-version')) + response_headers['Date']=self._deserialize('rfc-1123', response.headers.get('Date')) + + if cls: + return cls(pipeline_response, None, response_headers) + + set_expiry.metadata = {'url': '/{filesystem}/{path}'} # type: ignore + + async def undelete( + self, + timeout: Optional[int] = None, + undelete_source: Optional[str] = None, + request_id_parameter: Optional[str] = None, + **kwargs + ) -> None: + """Undelete a path that was previously soft deleted. + + :param timeout: The timeout parameter is expressed in seconds. For more information, see + :code:`Setting Timeouts for Blob Service Operations.`. + :type timeout: int + :param undelete_source: Only for hierarchical namespace enabled accounts. Optional. The path of + the soft deleted blob to undelete. + :type undelete_source: str + :param request_id_parameter: Provides a client-generated, opaque value with a 1 KB character + limit that is recorded in the analytics logs when storage analytics logging is enabled. + :type request_id_parameter: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + comp = "undelete" + accept = "application/json" + + # Construct URL + url = self.undelete.metadata['url'] # type: ignore + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if undelete_source is not None: + header_parameters['x-ms-undelete-source'] = self._serialize.header("undelete_source", undelete_source, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id_parameter is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.StorageError, response) + raise HttpResponseError(response=response, model=error) + + response_headers = {} + response_headers['x-ms-client-request-id']=self._deserialize('str', response.headers.get('x-ms-client-request-id')) + response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id')) + response_headers['x-ms-resource-type']=self._deserialize('str', response.headers.get('x-ms-resource-type')) + response_headers['x-ms-version']=self._deserialize('str', response.headers.get('x-ms-version')) + response_headers['Date']=self._deserialize('rfc-1123', response.headers.get('Date')) + + if cls: + return cls(pipeline_response, None, response_headers) + + undelete.metadata = {'url': '/{filesystem}/{path}'} # type: ignore diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/aio/operations/_service_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/aio/operations/_service_operations.py new file mode 100644 index 00000000000..f8ae878a37c --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/aio/operations/_service_operations.py @@ -0,0 +1,148 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, AsyncIterable, Callable, Dict, Generic, Optional, TypeVar +import warnings + +from azure.core.async_paging import AsyncItemPaged, AsyncList +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest + +from ... import models as _models + +T = TypeVar('T') +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + +class ServiceOperations: + """ServiceOperations async operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.storage.filedatalake.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer) -> None: + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_file_systems( + self, + prefix: Optional[str] = None, + continuation: Optional[str] = None, + max_results: Optional[int] = None, + request_id_parameter: Optional[str] = None, + timeout: Optional[int] = None, + **kwargs + ) -> AsyncIterable["_models.FileSystemList"]: + """List FileSystems. + + List filesystems and their properties in given account. + + :param prefix: Filters results to filesystems within the specified prefix. + :type prefix: str + :param continuation: Optional. When deleting a directory, the number of paths that are deleted + with each invocation is limited. If the number of paths to be deleted exceeds this limit, a + continuation token is returned in this response header. When a continuation token is returned + in the response, it must be specified in a subsequent invocation of the delete operation to + continue deleting the directory. + :type continuation: str + :param max_results: An optional value that specifies the maximum number of items to return. If + omitted or greater than 5,000, the response will include up to 5,000 items. + :type max_results: int + :param request_id_parameter: Provides a client-generated, opaque value with a 1 KB character + limit that is recorded in the analytics logs when storage analytics logging is enabled. + :type request_id_parameter: str + :param timeout: The timeout parameter is expressed in seconds. For more information, see + :code:`Setting Timeouts for Blob Service Operations.`. + :type timeout: int + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either FileSystemList or the result of cls(response) + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.storage.filedatalake.models.FileSystemList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.FileSystemList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + resource = "account" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if request_id_parameter is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_file_systems.metadata['url'] # type: ignore + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['resource'] = self._serialize.query("resource", resource, 'str') + if prefix is not None: + query_parameters['prefix'] = self._serialize.query("prefix", prefix, 'str') + if continuation is not None: + query_parameters['continuation'] = self._serialize.query("continuation", continuation, 'str') + if max_results is not None: + query_parameters['maxResults'] = self._serialize.query("max_results", max_results, 'int', minimum=1) + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + request = self._client.get(url, query_parameters, header_parameters) + return request + + async def extract_data(pipeline_response): + deserialized = self._deserialize('FileSystemList', pipeline_response) + list_of_elem = deserialized.filesystems + if cls: + list_of_elem = cls(list_of_elem) + return None, AsyncList(list_of_elem) + + async def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize.failsafe_deserialize(_models.StorageError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return AsyncItemPaged( + get_next, extract_data + ) + list_file_systems.metadata = {'url': '/'} # type: ignore diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/aio/operations_async/__init__.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/aio/operations_async/__init__.py new file mode 100644 index 00000000000..1190e524ea2 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/aio/operations_async/__init__.py @@ -0,0 +1,20 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from ._service_operations_async import ServiceOperations +from ._file_system_operations_async import FileSystemOperations +from ._path_operations_async import PathOperations + +__all__ = [ + 'ServiceOperations', + 'FileSystemOperations', + 'PathOperations', +] diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/aio/operations_async/_file_system_operations_async.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/aio/operations_async/_file_system_operations_async.py new file mode 100644 index 00000000000..715b6a89dfc --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/aio/operations_async/_file_system_operations_async.py @@ -0,0 +1,580 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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.core.exceptions import map_error + +from ... import models + + +class FileSystemOperations: + """FileSystemOperations async operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :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 restype: . Constant value: "container". + :ivar comp: . Constant value: "list". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + + self._config = config + self.restype = "container" + self.comp = "list" + + async def create(self, properties=None, request_id=None, timeout=None, *, cls=None, **kwargs): + """Create FileSystem. + + Create a FileSystem rooted at the specified location. If the FileSystem + already exists, the operation fails. This operation does not support + conditional HTTP requests. + + :param properties: Optional. User-defined properties to be stored with + the filesystem, in the format of a comma-separated list of name and + value pairs "n1=v1, n2=v2, ...", where each value is a base64 encoded + string. Note that the string may only contain ASCII characters in the + ISO-8859-1 character set. If the filesystem exists, any properties + not included in the list will be removed. All properties are removed + if the header is omitted. To merge new and existing properties, first + get all existing properties and the current E-Tag, then make a + conditional request with the E-Tag and include values for all + properties. + :type properties: str + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['resource'] = self._serialize.query("self._config.resource", self._config.resource, 'str') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + + # Construct headers + header_parameters = {} + if properties is not None: + header_parameters['x-ms-properties'] = self._serialize.header("properties", properties, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-namespace-enabled': self._deserialize('str', response.headers.get('x-ms-namespace-enabled')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + create.metadata = {'url': '/{filesystem}'} + + async def set_properties(self, properties=None, request_id=None, timeout=None, modified_access_conditions=None, *, cls=None, **kwargs): + """Set FileSystem Properties. + + Set properties for the FileSystem. This operation supports conditional + HTTP requests. For more information, see [Specifying Conditional + Headers for Blob Service + Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations). + + :param properties: Optional. User-defined properties to be stored with + the filesystem, in the format of a comma-separated list of name and + value pairs "n1=v1, n2=v2, ...", where each value is a base64 encoded + string. Note that the string may only contain ASCII characters in the + ISO-8859-1 character set. If the filesystem exists, any properties + not included in the list will be removed. All properties are removed + if the header is omitted. To merge new and existing properties, first + get all existing properties and the current E-Tag, then make a + conditional request with the E-Tag and include values for all + properties. + :type properties: str + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.filedatalake.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + + # Construct URL + url = self.set_properties.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['resource'] = self._serialize.query("self._config.resource", self._config.resource, 'str') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + + # Construct headers + header_parameters = {} + if properties is not None: + header_parameters['x-ms-properties'] = self._serialize.header("properties", properties, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + set_properties.metadata = {'url': '/{filesystem}'} + + async def get_properties(self, request_id=None, timeout=None, *, cls=None, **kwargs): + """Get FileSystem Properties. + + All system and user-defined filesystem properties are specified in the + response headers. + + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + # Construct URL + url = self.get_properties.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['resource'] = self._serialize.query("self._config.resource", self._config.resource, 'str') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + + # Construct headers + header_parameters = {} + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + + # Construct and send request + request = self._client.head(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-properties': self._deserialize('str', response.headers.get('x-ms-properties')), + 'x-ms-namespace-enabled': self._deserialize('str', response.headers.get('x-ms-namespace-enabled')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + get_properties.metadata = {'url': '/{filesystem}'} + + async def delete(self, request_id=None, timeout=None, modified_access_conditions=None, *, cls=None, **kwargs): + """Delete FileSystem. + + Marks the FileSystem for deletion. When a FileSystem is deleted, a + FileSystem with the same identifier cannot be created for at least 30 + seconds. While the filesystem is being deleted, attempts to create a + filesystem with the same identifier will fail with status code 409 + (Conflict), with the service returning additional error information + indicating that the filesystem is being deleted. All other operations, + including operations on any files or directories within the filesystem, + will fail with status code 404 (Not Found) while the filesystem is + being deleted. This operation supports conditional HTTP requests. For + more information, see [Specifying Conditional Headers for Blob Service + Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations). + + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.filedatalake.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['resource'] = self._serialize.query("self._config.resource", self._config.resource, 'str') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + + # Construct headers + header_parameters = {} + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + delete.metadata = {'url': '/{filesystem}'} + + async def list_paths(self, recursive, continuation=None, path=None, max_results=None, upn=None, request_id=None, timeout=None, *, cls=None, **kwargs): + """List Paths. + + List FileSystem paths and their properties. + + :param recursive: Required + :type recursive: bool + :param continuation: Optional. When deleting a directory, the number + of paths that are deleted with each invocation is limited. If the + number of paths to be deleted exceeds this limit, a continuation token + is returned in this response header. When a continuation token is + returned in the response, it must be specified in a subsequent + invocation of the delete operation to continue deleting the directory. + :type continuation: str + :param path: Optional. Filters results to paths within the specified + directory. An error occurs if the directory does not exist. + :type path: str + :param max_results: An optional value that specifies the maximum + number of items to return. If omitted or greater than 5,000, the + response will include up to 5,000 items. + :type max_results: int + :param upn: Optional. Valid only when Hierarchical Namespace is + enabled for the account. If "true", the user identity values returned + in the x-ms-owner, x-ms-group, and x-ms-acl response headers will be + transformed from Azure Active Directory Object IDs to User Principal + Names. If "false", the values will be returned as Azure Active + Directory Object IDs. The default value is false. Note that group and + application Object IDs are not translated because they do not have + unique friendly names. + :type upn: bool + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param callable cls: A custom type or function that will be passed the + direct response + :return: PathList or the result of cls(response) + :rtype: ~azure.storage.filedatalake.models.PathList + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + # Construct URL + url = self.list_paths.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if continuation is not None: + query_parameters['continuation'] = self._serialize.query("continuation", continuation, 'str') + if path is not None: + query_parameters['directory'] = self._serialize.query("path", path, 'str') + query_parameters['recursive'] = self._serialize.query("recursive", recursive, 'bool') + if max_results is not None: + query_parameters['maxResults'] = self._serialize.query("max_results", max_results, 'int', minimum=1) + if upn is not None: + query_parameters['upn'] = self._serialize.query("upn", upn, 'bool') + query_parameters['resource'] = self._serialize.query("self._config.resource", self._config.resource, 'str') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('PathList', response) + header_dict = { + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-continuation': self._deserialize('str', response.headers.get('x-ms-continuation')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + + if cls: + return cls(response, deserialized, header_dict) + + return deserialized + list_paths.metadata = {'url': '/{filesystem}'} + + async def list_blob_hierarchy_segment(self, delimiter=None, prefix=None, marker=None, max_results=None, include=None, showonly=None, timeout=None, request_id=None, *, cls=None, **kwargs): + """[Update] The List Blobs operation returns a list of the blobs under the + specified container. + + :param delimiter: When the request includes this parameter, the + operation returns a BlobPrefix element in the response body that acts + as a placeholder for all blobs whose names begin with the same + substring up to the appearance of the delimiter character. The + delimiter may be a single character or a string. + :type delimiter: str + :param prefix: Filters results to filesystems within the specified + prefix. + :type prefix: str + :param marker: A string value that identifies the portion of the list + of containers to be returned with the next listing operation. The + operation returns the NextMarker value within the response body if the + listing operation did not return all containers remaining to be listed + with the current page. The NextMarker value can be used as the value + for the marker parameter in a subsequent call to request the next page + of list items. The marker value is opaque to the client. + :type marker: str + :param max_results: An optional value that specifies the maximum + number of items to return. If omitted or greater than 5,000, the + response will include up to 5,000 items. + :type max_results: int + :param include: Include this parameter to specify one or more datasets + to include in the response. + :type include: list[str or + ~azure.storage.filedatalake.models.ListBlobsIncludeItem] + :param showonly: Include this parameter to specify one or more + datasets to include in the response. Possible values include: + 'deleted' + :type showonly: str or + ~azure.storage.filedatalake.models.ListBlobsShowOnly + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param callable cls: A custom type or function that will be passed the + direct response + :return: ListBlobsHierarchySegmentResponse or the result of + cls(response) + :rtype: + ~azure.storage.filedatalake.models.ListBlobsHierarchySegmentResponse + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + # Construct URL + url = self.list_blob_hierarchy_segment.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if prefix is not None: + query_parameters['prefix'] = self._serialize.query("prefix", prefix, 'str') + if delimiter is not None: + query_parameters['delimiter'] = self._serialize.query("delimiter", delimiter, 'str') + if marker is not None: + query_parameters['marker'] = self._serialize.query("marker", marker, 'str') + if max_results is not None: + query_parameters['maxResults'] = self._serialize.query("max_results", max_results, 'int', minimum=1) + if include is not None: + query_parameters['include'] = self._serialize.query("include", include, '[ListBlobsIncludeItem]', div=',') + if showonly is not None: + query_parameters['showonly'] = self._serialize.query("showonly", showonly, 'ListBlobsShowOnly') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['restype'] = self._serialize.query("self.restype", self.restype, 'str') + query_parameters['comp'] = self._serialize.query("self.comp", self.comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ListBlobsHierarchySegmentResponse', response) + header_dict = { + 'Content-Type': self._deserialize('str', response.headers.get('Content-Type')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + + if cls: + return cls(response, deserialized, header_dict) + + return deserialized + list_blob_hierarchy_segment.metadata = {'url': '/{filesystem}'} diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/aio/operations_async/_path_operations_async.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/aio/operations_async/_path_operations_async.py new file mode 100644 index 00000000000..6a26574cd68 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/aio/operations_async/_path_operations_async.py @@ -0,0 +1,1765 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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.core.exceptions import map_error + +from ... import models + + +class PathOperations: + """PathOperations async operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + + self._config = config + + async def create(self, resource=None, continuation=None, mode=None, rename_source=None, source_lease_id=None, properties=None, permissions=None, umask=None, request_id=None, timeout=None, path_http_headers=None, lease_access_conditions=None, modified_access_conditions=None, source_modified_access_conditions=None, *, cls=None, **kwargs): + """Create File | Create Directory | Rename File | Rename Directory. + + Create or rename a file or directory. By default, the destination is + overwritten and if the destination already exists and has a lease the + lease is broken. This operation supports conditional HTTP requests. + For more information, see [Specifying Conditional Headers for Blob + Service + Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations). + To fail if the destination already exists, use a conditional request + with If-None-Match: "*". + + :param resource: Required only for Create File and Create Directory. + The value must be "file" or "directory". Possible values include: + 'directory', 'file' + :type resource: str or + ~azure.storage.filedatalake.models.PathResourceType + :param continuation: Optional. When deleting a directory, the number + of paths that are deleted with each invocation is limited. If the + number of paths to be deleted exceeds this limit, a continuation token + is returned in this response header. When a continuation token is + returned in the response, it must be specified in a subsequent + invocation of the delete operation to continue deleting the directory. + :type continuation: str + :param mode: Optional. Valid only when namespace is enabled. This + parameter determines the behavior of the rename operation. The value + must be "legacy" or "posix", and the default value will be "posix". + Possible values include: 'legacy', 'posix' + :type mode: str or ~azure.storage.filedatalake.models.PathRenameMode + :param rename_source: An optional file or directory to be renamed. + The value must have the following format: "/{filesystem}/{path}". If + "x-ms-properties" is specified, the properties will overwrite the + existing properties; otherwise, the existing properties will be + preserved. This value must be a URL percent-encoded string. Note that + the string may only contain ASCII characters in the ISO-8859-1 + character set. + :type rename_source: str + :param source_lease_id: A lease ID for the source path. If specified, + the source path must have an active lease and the lease ID must match. + :type source_lease_id: str + :param properties: Optional. User-defined properties to be stored with + the filesystem, in the format of a comma-separated list of name and + value pairs "n1=v1, n2=v2, ...", where each value is a base64 encoded + string. Note that the string may only contain ASCII characters in the + ISO-8859-1 character set. If the filesystem exists, any properties + not included in the list will be removed. All properties are removed + if the header is omitted. To merge new and existing properties, first + get all existing properties and the current E-Tag, then make a + conditional request with the E-Tag and include values for all + properties. + :type properties: str + :param permissions: Optional and only valid if Hierarchical Namespace + is enabled for the account. Sets POSIX access permissions for the file + owner, the file owning group, and others. Each class may be granted + read, write, or execute permission. The sticky bit is also supported. + Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are + supported. + :type permissions: str + :param umask: Optional and only valid if Hierarchical Namespace is + enabled for the account. When creating a file or directory and the + parent folder does not have a default ACL, the umask restricts the + permissions of the file or directory to be created. The resulting + permission is given by p bitwise and not u, where p is the permission + and u is the umask. For example, if p is 0777 and u is 0057, then the + resulting permission is 0720. The default permission is 0777 for a + directory and 0666 for a file. The default umask is 0027. The umask + must be specified in 4-digit octal notation (e.g. 0766). + :type umask: str + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param path_http_headers: Additional parameters for the operation + :type path_http_headers: + ~azure.storage.filedatalake.models.PathHTTPHeaders + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.filedatalake.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.filedatalake.models.ModifiedAccessConditions + :param source_modified_access_conditions: Additional parameters for + the operation + :type source_modified_access_conditions: + ~azure.storage.filedatalake.models.SourceModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + cache_control = None + if path_http_headers is not None: + cache_control = path_http_headers.cache_control + content_encoding = None + if path_http_headers is not None: + content_encoding = path_http_headers.content_encoding + content_language = None + if path_http_headers is not None: + content_language = path_http_headers.content_language + content_disposition = None + if path_http_headers is not None: + content_disposition = path_http_headers.content_disposition + content_type = None + if path_http_headers is not None: + content_type = path_http_headers.content_type + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + source_if_match = None + if source_modified_access_conditions is not None: + source_if_match = source_modified_access_conditions.source_if_match + source_if_none_match = None + if source_modified_access_conditions is not None: + source_if_none_match = source_modified_access_conditions.source_if_none_match + source_if_modified_since = None + if source_modified_access_conditions is not None: + source_if_modified_since = source_modified_access_conditions.source_if_modified_since + source_if_unmodified_since = None + if source_modified_access_conditions is not None: + source_if_unmodified_since = source_modified_access_conditions.source_if_unmodified_since + + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if resource is not None: + query_parameters['resource'] = self._serialize.query("resource", resource, 'PathResourceType') + if continuation is not None: + query_parameters['continuation'] = self._serialize.query("continuation", continuation, 'str') + if mode is not None: + query_parameters['mode'] = self._serialize.query("mode", mode, 'PathRenameMode') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + + # Construct headers + header_parameters = {} + if rename_source is not None: + header_parameters['x-ms-rename-source'] = self._serialize.header("rename_source", rename_source, 'str') + if source_lease_id is not None: + header_parameters['x-ms-source-lease-id'] = self._serialize.header("source_lease_id", source_lease_id, 'str') + if properties is not None: + header_parameters['x-ms-properties'] = self._serialize.header("properties", properties, 'str') + if permissions is not None: + header_parameters['x-ms-permissions'] = self._serialize.header("permissions", permissions, 'str') + if umask is not None: + header_parameters['x-ms-umask'] = self._serialize.header("umask", umask, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if cache_control is not None: + header_parameters['x-ms-cache-control'] = self._serialize.header("cache_control", cache_control, 'str') + if content_encoding is not None: + header_parameters['x-ms-content-encoding'] = self._serialize.header("content_encoding", content_encoding, 'str') + if content_language is not None: + header_parameters['x-ms-content-language'] = self._serialize.header("content_language", content_language, 'str') + if content_disposition is not None: + header_parameters['x-ms-content-disposition'] = self._serialize.header("content_disposition", content_disposition, 'str') + if content_type is not None: + header_parameters['x-ms-content-type'] = self._serialize.header("content_type", content_type, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if source_if_match is not None: + header_parameters['x-ms-source-if-match'] = self._serialize.header("source_if_match", source_if_match, 'str') + if source_if_none_match is not None: + header_parameters['x-ms-source-if-none-match'] = self._serialize.header("source_if_none_match", source_if_none_match, 'str') + if source_if_modified_since is not None: + header_parameters['x-ms-source-if-modified-since'] = self._serialize.header("source_if_modified_since", source_if_modified_since, 'rfc-1123') + if source_if_unmodified_since is not None: + header_parameters['x-ms-source-if-unmodified-since'] = self._serialize.header("source_if_unmodified_since", source_if_unmodified_since, 'rfc-1123') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-continuation': self._deserialize('str', response.headers.get('x-ms-continuation')), + 'Content-Length': self._deserialize('long', response.headers.get('Content-Length')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + create.metadata = {'url': '/{filesystem}/{path}'} + + async def update(self, action, mode, body, max_records=None, continuation=None, force_flag=None, position=None, retain_uncommitted_data=None, close=None, content_length=None, properties=None, owner=None, group=None, permissions=None, acl=None, request_id=None, timeout=None, path_http_headers=None, lease_access_conditions=None, modified_access_conditions=None, *, cls=None, **kwargs): + """Append Data | Flush Data | Set Properties | Set Access Control. + + Uploads data to be appended to a file, flushes (writes) previously + uploaded data to a file, sets properties for a file or directory, or + sets access control for a file or directory. Data can only be appended + to a file. This operation supports conditional HTTP requests. For more + information, see [Specifying Conditional Headers for Blob Service + Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations). + + :param action: The action must be "append" to upload data to be + appended to a file, "flush" to flush previously uploaded data to a + file, "setProperties" to set the properties of a file or directory, + "setAccessControl" to set the owner, group, permissions, or access + control list for a file or directory, or "setAccessControlRecursive" + to set the access control list for a directory recursively. Note that + Hierarchical Namespace must be enabled for the account in order to use + access control. Also note that the Access Control List (ACL) includes + permissions for the owner, owning group, and others, so the + x-ms-permissions and x-ms-acl request headers are mutually exclusive. + Possible values include: 'append', 'flush', 'setProperties', + 'setAccessControl', 'setAccessControlRecursive' + :type action: str or + ~azure.storage.filedatalake.models.PathUpdateAction + :param mode: Mode "set" sets POSIX access control rights on files and + directories, "modify" modifies one or more POSIX access control rights + that pre-exist on files and directories, "remove" removes one or more + POSIX access control rights that were present earlier on files and + directories. Possible values include: 'set', 'modify', 'remove' + :type mode: str or + ~azure.storage.filedatalake.models.PathSetAccessControlRecursiveMode + :param body: Initial data + :type body: Generator + :param max_records: Optional. Valid for "SetAccessControlRecursive" + operation. It specifies the maximum number of files or directories on + which the acl change will be applied. If omitted or greater than + 2,000, the request will process up to 2,000 items + :type max_records: int + :param continuation: Optional. The number of paths processed with each + invocation is limited. If the number of paths to be processed exceeds + this limit, a continuation token is returned in the response header + x-ms-continuation. When a continuation token is returned in the + response, it must be percent-encoded and specified in a subsequent + invocation of setAcessControlRecursive operation. + :type continuation: str + :param force_flag: Optional. Valid for "SetAccessControlRecursive" + operation. If set to false, the operation will terminate quickly on + encountering user errors (4XX). If true, the operation will ignore + user errors and proceed with the operation on other sub-entities of + the directory. Continuation token will only be returned when forceFlag + is true in case of user errors. If not set the default value is false + for this. + :type force_flag: bool + :param position: This parameter allows the caller to upload data in + parallel and control the order in which it is appended to the file. + It is required when uploading data to be appended to the file and when + flushing previously uploaded data to the file. The value must be the + position where the data is to be appended. Uploaded data is not + immediately flushed, or written, to the file. To flush, the + previously uploaded data must be contiguous, the position parameter + must be specified and equal to the length of the file after all data + has been written, and there must not be a request entity body included + with the request. + :type position: long + :param retain_uncommitted_data: Valid only for flush operations. If + "true", uncommitted data is retained after the flush operation + completes; otherwise, the uncommitted data is deleted after the flush + operation. The default is false. Data at offsets less than the + specified position are written to the file when flush succeeds, but + this optional parameter allows data after the flush position to be + retained for a future flush operation. + :type retain_uncommitted_data: bool + :param close: Azure Storage Events allow applications to receive + notifications when files change. When Azure Storage Events are + enabled, a file changed event is raised. This event has a property + indicating whether this is the final change to distinguish the + difference between an intermediate flush to a file stream and the + final close of a file stream. The close query parameter is valid only + when the action is "flush" and change notifications are enabled. If + the value of close is "true" and the flush operation completes + successfully, the service raises a file change notification with a + property indicating that this is the final update (the file stream has + been closed). If "false" a change notification is raised indicating + the file has changed. The default is false. This query parameter is + set to true by the Hadoop ABFS driver to indicate that the file stream + has been closed." + :type close: bool + :param content_length: Required for "Append Data" and "Flush Data". + Must be 0 for "Flush Data". Must be the length of the request content + in bytes for "Append Data". + :type content_length: long + :param properties: Optional. User-defined properties to be stored with + the filesystem, in the format of a comma-separated list of name and + value pairs "n1=v1, n2=v2, ...", where each value is a base64 encoded + string. Note that the string may only contain ASCII characters in the + ISO-8859-1 character set. If the filesystem exists, any properties + not included in the list will be removed. All properties are removed + if the header is omitted. To merge new and existing properties, first + get all existing properties and the current E-Tag, then make a + conditional request with the E-Tag and include values for all + properties. + :type properties: str + :param owner: Optional. The owner of the blob or directory. + :type owner: str + :param group: Optional. The owning group of the blob or directory. + :type group: str + :param permissions: Optional and only valid if Hierarchical Namespace + is enabled for the account. Sets POSIX access permissions for the file + owner, the file owning group, and others. Each class may be granted + read, write, or execute permission. The sticky bit is also supported. + Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are + supported. + :type permissions: str + :param acl: Sets POSIX access control rights on files and directories. + The value is a comma-separated list of access control entries. Each + access control entry (ACE) consists of a scope, a type, a user or + group identifier, and permissions in the format + "[scope:][type]:[id]:[permissions]". + :type acl: str + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param path_http_headers: Additional parameters for the operation + :type path_http_headers: + ~azure.storage.filedatalake.models.PathHTTPHeaders + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.filedatalake.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.filedatalake.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: SetAccessControlRecursiveResponse or the result of + cls(response) + :rtype: + ~azure.storage.filedatalake.models.SetAccessControlRecursiveResponse + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + content_md5 = None + if path_http_headers is not None: + content_md5 = path_http_headers.content_md5 + cache_control = None + if path_http_headers is not None: + cache_control = path_http_headers.cache_control + content_type = None + if path_http_headers is not None: + content_type = path_http_headers.content_type + content_disposition = None + if path_http_headers is not None: + content_disposition = path_http_headers.content_disposition + content_encoding = None + if path_http_headers is not None: + content_encoding = path_http_headers.content_encoding + content_language = None + if path_http_headers is not None: + content_language = path_http_headers.content_language + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['action'] = self._serialize.query("action", action, 'PathUpdateAction') + if max_records is not None: + query_parameters['maxRecords'] = self._serialize.query("max_records", max_records, 'int', minimum=1) + if continuation is not None: + query_parameters['continuation'] = self._serialize.query("continuation", continuation, 'str') + query_parameters['mode'] = self._serialize.query("mode", mode, 'PathSetAccessControlRecursiveMode') + if force_flag is not None: + query_parameters['forceFlag'] = self._serialize.query("force_flag", force_flag, 'bool') + if position is not None: + query_parameters['position'] = self._serialize.query("position", position, 'long') + if retain_uncommitted_data is not None: + query_parameters['retainUncommittedData'] = self._serialize.query("retain_uncommitted_data", retain_uncommitted_data, 'bool') + if close is not None: + query_parameters['close'] = self._serialize.query("close", close, 'bool') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + header_parameters['Content-Type'] = 'application/octet-stream' + if content_length is not None: + header_parameters['Content-Length'] = self._serialize.header("content_length", content_length, 'long', minimum=0) + if properties is not None: + header_parameters['x-ms-properties'] = self._serialize.header("properties", properties, 'str') + if owner is not None: + header_parameters['x-ms-owner'] = self._serialize.header("owner", owner, 'str') + if group is not None: + header_parameters['x-ms-group'] = self._serialize.header("group", group, 'str') + if permissions is not None: + header_parameters['x-ms-permissions'] = self._serialize.header("permissions", permissions, 'str') + if acl is not None: + header_parameters['x-ms-acl'] = self._serialize.header("acl", acl, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if content_md5 is not None: + header_parameters['x-ms-content-md5'] = self._serialize.header("content_md5", content_md5, 'bytearray') + if cache_control is not None: + header_parameters['x-ms-cache-control'] = self._serialize.header("cache_control", cache_control, 'str') + if content_type is not None: + header_parameters['x-ms-content-type'] = self._serialize.header("content_type", content_type, 'str') + if content_disposition is not None: + header_parameters['x-ms-content-disposition'] = self._serialize.header("content_disposition", content_disposition, 'str') + if content_encoding is not None: + header_parameters['x-ms-content-encoding'] = self._serialize.header("content_encoding", content_encoding, 'str') + if content_language is not None: + header_parameters['x-ms-content-language'] = self._serialize.header("content_language", content_language, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + + # Construct body + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, stream_content=body) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('SetAccessControlRecursiveResponse', response) + header_dict = { + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'Accept-Ranges': self._deserialize('str', response.headers.get('Accept-Ranges')), + 'Cache-Control': self._deserialize('str', response.headers.get('Cache-Control')), + 'Content-Disposition': self._deserialize('str', response.headers.get('Content-Disposition')), + 'Content-Encoding': self._deserialize('str', response.headers.get('Content-Encoding')), + 'Content-Language': self._deserialize('str', response.headers.get('Content-Language')), + 'Content-Length': self._deserialize('long', response.headers.get('Content-Length')), + 'Content-Range': self._deserialize('str', response.headers.get('Content-Range')), + 'Content-Type': self._deserialize('str', response.headers.get('Content-Type')), + 'Content-MD5': self._deserialize('str', response.headers.get('Content-MD5')), + 'x-ms-properties': self._deserialize('str', response.headers.get('x-ms-properties')), + 'x-ms-continuation': self._deserialize('str', response.headers.get('x-ms-continuation')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + + if cls: + return cls(response, deserialized, header_dict) + + return deserialized + update.metadata = {'url': '/{filesystem}/{path}'} + + async def lease(self, x_ms_lease_action, x_ms_lease_duration=None, x_ms_lease_break_period=None, proposed_lease_id=None, request_id=None, timeout=None, lease_access_conditions=None, modified_access_conditions=None, *, cls=None, **kwargs): + """Lease Path. + + Create and manage a lease to restrict write and delete access to the + path. This operation supports conditional HTTP requests. For more + information, see [Specifying Conditional Headers for Blob Service + Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations). + + :param x_ms_lease_action: There are five lease actions: "acquire", + "break", "change", "renew", and "release". Use "acquire" and specify + the "x-ms-proposed-lease-id" and "x-ms-lease-duration" to acquire a + new lease. Use "break" to break an existing lease. When a lease is + broken, the lease break period is allowed to elapse, during which time + no lease operation except break and release can be performed on the + file. When a lease is successfully broken, the response indicates the + interval in seconds until a new lease can be acquired. Use "change" + and specify the current lease ID in "x-ms-lease-id" and the new lease + ID in "x-ms-proposed-lease-id" to change the lease ID of an active + lease. Use "renew" and specify the "x-ms-lease-id" to renew an + existing lease. Use "release" and specify the "x-ms-lease-id" to + release a lease. Possible values include: 'acquire', 'break', + 'change', 'renew', 'release' + :type x_ms_lease_action: str or + ~azure.storage.filedatalake.models.PathLeaseAction + :param x_ms_lease_duration: The lease duration is required to acquire + a lease, and specifies the duration of the lease in seconds. The + lease duration must be between 15 and 60 seconds or -1 for infinite + lease. + :type x_ms_lease_duration: int + :param x_ms_lease_break_period: The lease break period duration is + optional to break a lease, and specifies the break period of the + lease in seconds. The lease break duration must be between 0 and 60 + seconds. + :type x_ms_lease_break_period: int + :param proposed_lease_id: Proposed lease ID, in a GUID string format. + The Blob service returns 400 (Invalid request) if the proposed lease + ID is not in the correct format. See Guid Constructor (String) for a + list of valid GUID string formats. + :type proposed_lease_id: str + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.filedatalake.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.filedatalake.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + + # Construct URL + url = self.lease.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + + # Construct headers + header_parameters = {} + header_parameters['x-ms-lease-action'] = self._serialize.header("x_ms_lease_action", x_ms_lease_action, 'PathLeaseAction') + if x_ms_lease_duration is not None: + header_parameters['x-ms-lease-duration'] = self._serialize.header("x_ms_lease_duration", x_ms_lease_duration, 'int') + if x_ms_lease_break_period is not None: + header_parameters['x-ms-lease-break-period'] = self._serialize.header("x_ms_lease_break_period", x_ms_lease_break_period, 'int') + if proposed_lease_id is not None: + header_parameters['x-ms-proposed-lease-id'] = self._serialize.header("proposed_lease_id", proposed_lease_id, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-lease-id': self._deserialize('str', response.headers.get('x-ms-lease-id')), + 'x-ms-lease-time': self._deserialize('str', response.headers.get('x-ms-lease-time')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + lease.metadata = {'url': '/{filesystem}/{path}'} + + async def read(self, range=None, x_ms_range_get_content_md5=None, request_id=None, timeout=None, lease_access_conditions=None, modified_access_conditions=None, *, cls=None, **kwargs): + """Read File. + + Read the contents of a file. For read operations, range requests are + supported. This operation supports conditional HTTP requests. For more + information, see [Specifying Conditional Headers for Blob Service + Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations). + + :param range: The HTTP Range request header specifies one or more byte + ranges of the resource to be retrieved. + :type range: str + :param x_ms_range_get_content_md5: Optional. When this header is set + to "true" and specified together with the Range header, the service + returns the MD5 hash for the range, as long as the range is less than + or equal to 4MB in size. If this header is specified without the Range + header, the service returns status code 400 (Bad Request). If this + header is set to true when the range exceeds 4 MB in size, the service + returns status code 400 (Bad Request). + :type x_ms_range_get_content_md5: bool + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.filedatalake.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.filedatalake.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: object or the result of cls(response) + :rtype: Generator + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + + # Construct URL + url = self.read.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if range is not None: + header_parameters['Range'] = self._serialize.header("range", range, 'str') + if x_ms_range_get_content_md5 is not None: + header_parameters['x-ms-range-get-content-md5'] = self._serialize.header("x_ms_range_get_content_md5", x_ms_range_get_content_md5, 'bool') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=True, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 206]: + await response.load_body() + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = response.stream_download(self._client._pipeline) + header_dict = { + 'Accept-Ranges': self._deserialize('str', response.headers.get('Accept-Ranges')), + 'Cache-Control': self._deserialize('str', response.headers.get('Cache-Control')), + 'Content-Disposition': self._deserialize('str', response.headers.get('Content-Disposition')), + 'Content-Encoding': self._deserialize('str', response.headers.get('Content-Encoding')), + 'Content-Language': self._deserialize('str', response.headers.get('Content-Language')), + 'Content-Length': self._deserialize('long', response.headers.get('Content-Length')), + 'Content-Range': self._deserialize('str', response.headers.get('Content-Range')), + 'Content-Type': self._deserialize('str', response.headers.get('Content-Type')), + 'Content-MD5': self._deserialize('str', response.headers.get('Content-MD5')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-resource-type': self._deserialize('str', response.headers.get('x-ms-resource-type')), + 'x-ms-properties': self._deserialize('str', response.headers.get('x-ms-properties')), + 'x-ms-lease-duration': self._deserialize('str', response.headers.get('x-ms-lease-duration')), + 'x-ms-lease-state': self._deserialize('str', response.headers.get('x-ms-lease-state')), + 'x-ms-lease-status': self._deserialize('str', response.headers.get('x-ms-lease-status')), + 'x-ms-content-md5': self._deserialize('str', response.headers.get('x-ms-content-md5')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + if response.status_code == 206: + deserialized = response.stream_download(self._client._pipeline) + header_dict = { + 'Accept-Ranges': self._deserialize('str', response.headers.get('Accept-Ranges')), + 'Cache-Control': self._deserialize('str', response.headers.get('Cache-Control')), + 'Content-Disposition': self._deserialize('str', response.headers.get('Content-Disposition')), + 'Content-Encoding': self._deserialize('str', response.headers.get('Content-Encoding')), + 'Content-Language': self._deserialize('str', response.headers.get('Content-Language')), + 'Content-Length': self._deserialize('long', response.headers.get('Content-Length')), + 'Content-Range': self._deserialize('str', response.headers.get('Content-Range')), + 'Content-Type': self._deserialize('str', response.headers.get('Content-Type')), + 'Content-MD5': self._deserialize('str', response.headers.get('Content-MD5')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-resource-type': self._deserialize('str', response.headers.get('x-ms-resource-type')), + 'x-ms-properties': self._deserialize('str', response.headers.get('x-ms-properties')), + 'x-ms-lease-duration': self._deserialize('str', response.headers.get('x-ms-lease-duration')), + 'x-ms-lease-state': self._deserialize('str', response.headers.get('x-ms-lease-state')), + 'x-ms-lease-status': self._deserialize('str', response.headers.get('x-ms-lease-status')), + 'x-ms-content-md5': self._deserialize('str', response.headers.get('x-ms-content-md5')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + + if cls: + return cls(response, deserialized, header_dict) + + return deserialized + read.metadata = {'url': '/{filesystem}/{path}'} + + async def get_properties(self, action=None, upn=None, request_id=None, timeout=None, lease_access_conditions=None, modified_access_conditions=None, *, cls=None, **kwargs): + """Get Properties | Get Status | Get Access Control List. + + Get Properties returns all system and user defined properties for a + path. Get Status returns all system defined properties for a path. Get + Access Control List returns the access control list for a path. This + operation supports conditional HTTP requests. For more information, + see [Specifying Conditional Headers for Blob Service + Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations). + + :param action: Optional. If the value is "getStatus" only the system + defined properties for the path are returned. If the value is + "getAccessControl" the access control list is returned in the response + headers (Hierarchical Namespace must be enabled for the account), + otherwise the properties are returned. Possible values include: + 'getAccessControl', 'getStatus' + :type action: str or + ~azure.storage.filedatalake.models.PathGetPropertiesAction + :param upn: Optional. Valid only when Hierarchical Namespace is + enabled for the account. If "true", the user identity values returned + in the x-ms-owner, x-ms-group, and x-ms-acl response headers will be + transformed from Azure Active Directory Object IDs to User Principal + Names. If "false", the values will be returned as Azure Active + Directory Object IDs. The default value is false. Note that group and + application Object IDs are not translated because they do not have + unique friendly names. + :type upn: bool + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.filedatalake.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.filedatalake.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + + # Construct URL + url = self.get_properties.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if action is not None: + query_parameters['action'] = self._serialize.query("action", action, 'PathGetPropertiesAction') + if upn is not None: + query_parameters['upn'] = self._serialize.query("upn", upn, 'bool') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + + # Construct headers + header_parameters = {} + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + + # Construct and send request + request = self._client.head(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'Accept-Ranges': self._deserialize('str', response.headers.get('Accept-Ranges')), + 'Cache-Control': self._deserialize('str', response.headers.get('Cache-Control')), + 'Content-Disposition': self._deserialize('str', response.headers.get('Content-Disposition')), + 'Content-Encoding': self._deserialize('str', response.headers.get('Content-Encoding')), + 'Content-Language': self._deserialize('str', response.headers.get('Content-Language')), + 'Content-Length': self._deserialize('long', response.headers.get('Content-Length')), + 'Content-Range': self._deserialize('str', response.headers.get('Content-Range')), + 'Content-Type': self._deserialize('str', response.headers.get('Content-Type')), + 'Content-MD5': self._deserialize('str', response.headers.get('Content-MD5')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-resource-type': self._deserialize('str', response.headers.get('x-ms-resource-type')), + 'x-ms-properties': self._deserialize('str', response.headers.get('x-ms-properties')), + 'x-ms-owner': self._deserialize('str', response.headers.get('x-ms-owner')), + 'x-ms-group': self._deserialize('str', response.headers.get('x-ms-group')), + 'x-ms-permissions': self._deserialize('str', response.headers.get('x-ms-permissions')), + 'x-ms-acl': self._deserialize('str', response.headers.get('x-ms-acl')), + 'x-ms-lease-duration': self._deserialize('str', response.headers.get('x-ms-lease-duration')), + 'x-ms-lease-state': self._deserialize('str', response.headers.get('x-ms-lease-state')), + 'x-ms-lease-status': self._deserialize('str', response.headers.get('x-ms-lease-status')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + get_properties.metadata = {'url': '/{filesystem}/{path}'} + + async def delete(self, recursive=None, continuation=None, request_id=None, timeout=None, lease_access_conditions=None, modified_access_conditions=None, *, cls=None, **kwargs): + """Delete File | Delete Directory. + + Delete the file or directory. This operation supports conditional HTTP + requests. For more information, see [Specifying Conditional Headers + for Blob Service + Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations). + + :param recursive: Required + :type recursive: bool + :param continuation: Optional. When deleting a directory, the number + of paths that are deleted with each invocation is limited. If the + number of paths to be deleted exceeds this limit, a continuation token + is returned in this response header. When a continuation token is + returned in the response, it must be specified in a subsequent + invocation of the delete operation to continue deleting the directory. + :type continuation: str + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.filedatalake.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.filedatalake.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if recursive is not None: + query_parameters['recursive'] = self._serialize.query("recursive", recursive, 'bool') + if continuation is not None: + query_parameters['continuation'] = self._serialize.query("continuation", continuation, 'str') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + + # Construct headers + header_parameters = {} + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-continuation': self._deserialize('str', response.headers.get('x-ms-continuation')), + 'x-ms-deletion-id': self._deserialize('str', response.headers.get('x-ms-deletion-id')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + delete.metadata = {'url': '/{filesystem}/{path}'} + + async def set_access_control(self, timeout=None, owner=None, group=None, permissions=None, acl=None, request_id=None, lease_access_conditions=None, modified_access_conditions=None, *, cls=None, **kwargs): + """Set the owner, group, permissions, or access control list for a path. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param owner: Optional. The owner of the blob or directory. + :type owner: str + :param group: Optional. The owning group of the blob or directory. + :type group: str + :param permissions: Optional and only valid if Hierarchical Namespace + is enabled for the account. Sets POSIX access permissions for the file + owner, the file owning group, and others. Each class may be granted + read, write, or execute permission. The sticky bit is also supported. + Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are + supported. + :type permissions: str + :param acl: Sets POSIX access control rights on files and directories. + The value is a comma-separated list of access control entries. Each + access control entry (ACE) consists of a scope, a type, a user or + group identifier, and permissions in the format + "[scope:][type]:[id]:[permissions]". + :type acl: str + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.filedatalake.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.filedatalake.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + + action = "setAccessControl" + + # Construct URL + url = self.set_access_control.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['action'] = self._serialize.query("action", action, 'str') + + # Construct headers + header_parameters = {} + if owner is not None: + header_parameters['x-ms-owner'] = self._serialize.header("owner", owner, 'str') + if group is not None: + header_parameters['x-ms-group'] = self._serialize.header("group", group, 'str') + if permissions is not None: + header_parameters['x-ms-permissions'] = self._serialize.header("permissions", permissions, 'str') + if acl is not None: + header_parameters['x-ms-acl'] = self._serialize.header("acl", acl, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + } + return cls(response, None, response_headers) + set_access_control.metadata = {'url': '/{filesystem}/{path}'} + + async def set_access_control_recursive(self, mode, timeout=None, continuation=None, force_flag=None, max_records=None, acl=None, request_id=None, *, cls=None, **kwargs): + """Set the access control list for a path and subpaths. + + :param mode: Mode "set" sets POSIX access control rights on files and + directories, "modify" modifies one or more POSIX access control rights + that pre-exist on files and directories, "remove" removes one or more + POSIX access control rights that were present earlier on files and + directories. Possible values include: 'set', 'modify', 'remove' + :type mode: str or + ~azure.storage.filedatalake.models.PathSetAccessControlRecursiveMode + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param continuation: Optional. When deleting a directory, the number + of paths that are deleted with each invocation is limited. If the + number of paths to be deleted exceeds this limit, a continuation token + is returned in this response header. When a continuation token is + returned in the response, it must be specified in a subsequent + invocation of the delete operation to continue deleting the directory. + :type continuation: str + :param force_flag: Optional. Valid for "SetAccessControlRecursive" + operation. If set to false, the operation will terminate quickly on + encountering user errors (4XX). If true, the operation will ignore + user errors and proceed with the operation on other sub-entities of + the directory. Continuation token will only be returned when forceFlag + is true in case of user errors. If not set the default value is false + for this. + :type force_flag: bool + :param max_records: Optional. It specifies the maximum number of files + or directories on which the acl change will be applied. If omitted or + greater than 2,000, the request will process up to 2,000 items + :type max_records: int + :param acl: Sets POSIX access control rights on files and directories. + The value is a comma-separated list of access control entries. Each + access control entry (ACE) consists of a scope, a type, a user or + group identifier, and permissions in the format + "[scope:][type]:[id]:[permissions]". + :type acl: str + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param callable cls: A custom type or function that will be passed the + direct response + :return: SetAccessControlRecursiveResponse or the result of + cls(response) + :rtype: + ~azure.storage.filedatalake.models.SetAccessControlRecursiveResponse + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + action = "setAccessControlRecursive" + + # Construct URL + url = self.set_access_control_recursive.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + if continuation is not None: + query_parameters['continuation'] = self._serialize.query("continuation", continuation, 'str') + query_parameters['mode'] = self._serialize.query("mode", mode, 'PathSetAccessControlRecursiveMode') + if force_flag is not None: + query_parameters['forceFlag'] = self._serialize.query("force_flag", force_flag, 'bool') + if max_records is not None: + query_parameters['maxRecords'] = self._serialize.query("max_records", max_records, 'int', minimum=1) + query_parameters['action'] = self._serialize.query("action", action, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if acl is not None: + header_parameters['x-ms-acl'] = self._serialize.header("acl", acl, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('SetAccessControlRecursiveResponse', response) + header_dict = { + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-continuation': self._deserialize('str', response.headers.get('x-ms-continuation')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + } + + if cls: + return cls(response, deserialized, header_dict) + + return deserialized + set_access_control_recursive.metadata = {'url': '/{filesystem}/{path}'} + + async def flush_data(self, timeout=None, position=None, retain_uncommitted_data=None, close=None, content_length=None, request_id=None, path_http_headers=None, lease_access_conditions=None, modified_access_conditions=None, *, cls=None, **kwargs): + """Set the owner, group, permissions, or access control list for a path. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param position: This parameter allows the caller to upload data in + parallel and control the order in which it is appended to the file. + It is required when uploading data to be appended to the file and when + flushing previously uploaded data to the file. The value must be the + position where the data is to be appended. Uploaded data is not + immediately flushed, or written, to the file. To flush, the + previously uploaded data must be contiguous, the position parameter + must be specified and equal to the length of the file after all data + has been written, and there must not be a request entity body included + with the request. + :type position: long + :param retain_uncommitted_data: Valid only for flush operations. If + "true", uncommitted data is retained after the flush operation + completes; otherwise, the uncommitted data is deleted after the flush + operation. The default is false. Data at offsets less than the + specified position are written to the file when flush succeeds, but + this optional parameter allows data after the flush position to be + retained for a future flush operation. + :type retain_uncommitted_data: bool + :param close: Azure Storage Events allow applications to receive + notifications when files change. When Azure Storage Events are + enabled, a file changed event is raised. This event has a property + indicating whether this is the final change to distinguish the + difference between an intermediate flush to a file stream and the + final close of a file stream. The close query parameter is valid only + when the action is "flush" and change notifications are enabled. If + the value of close is "true" and the flush operation completes + successfully, the service raises a file change notification with a + property indicating that this is the final update (the file stream has + been closed). If "false" a change notification is raised indicating + the file has changed. The default is false. This query parameter is + set to true by the Hadoop ABFS driver to indicate that the file stream + has been closed." + :type close: bool + :param content_length: Required for "Append Data" and "Flush Data". + Must be 0 for "Flush Data". Must be the length of the request content + in bytes for "Append Data". + :type content_length: long + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param path_http_headers: Additional parameters for the operation + :type path_http_headers: + ~azure.storage.filedatalake.models.PathHTTPHeaders + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.filedatalake.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.filedatalake.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + content_md5 = None + if path_http_headers is not None: + content_md5 = path_http_headers.content_md5 + cache_control = None + if path_http_headers is not None: + cache_control = path_http_headers.cache_control + content_type = None + if path_http_headers is not None: + content_type = path_http_headers.content_type + content_disposition = None + if path_http_headers is not None: + content_disposition = path_http_headers.content_disposition + content_encoding = None + if path_http_headers is not None: + content_encoding = path_http_headers.content_encoding + content_language = None + if path_http_headers is not None: + content_language = path_http_headers.content_language + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + + action = "flush" + + # Construct URL + url = self.flush_data.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + if position is not None: + query_parameters['position'] = self._serialize.query("position", position, 'long') + if retain_uncommitted_data is not None: + query_parameters['retainUncommittedData'] = self._serialize.query("retain_uncommitted_data", retain_uncommitted_data, 'bool') + if close is not None: + query_parameters['close'] = self._serialize.query("close", close, 'bool') + query_parameters['action'] = self._serialize.query("action", action, 'str') + + # Construct headers + header_parameters = {} + if content_length is not None: + header_parameters['Content-Length'] = self._serialize.header("content_length", content_length, 'long', minimum=0) + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if content_md5 is not None: + header_parameters['x-ms-content-md5'] = self._serialize.header("content_md5", content_md5, 'bytearray') + if cache_control is not None: + header_parameters['x-ms-cache-control'] = self._serialize.header("cache_control", cache_control, 'str') + if content_type is not None: + header_parameters['x-ms-content-type'] = self._serialize.header("content_type", content_type, 'str') + if content_disposition is not None: + header_parameters['x-ms-content-disposition'] = self._serialize.header("content_disposition", content_disposition, 'str') + if content_encoding is not None: + header_parameters['x-ms-content-encoding'] = self._serialize.header("content_encoding", content_encoding, 'str') + if content_language is not None: + header_parameters['x-ms-content-language'] = self._serialize.header("content_language", content_language, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'Content-Length': self._deserialize('long', response.headers.get('Content-Length')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + } + return cls(response, None, response_headers) + flush_data.metadata = {'url': '/{filesystem}/{path}'} + + async def append_data(self, body, position=None, timeout=None, content_length=None, transactional_content_crc64=None, request_id=None, path_http_headers=None, lease_access_conditions=None, *, cls=None, **kwargs): + """Append data to the file. + + :param body: Initial data + :type body: Generator + :param position: This parameter allows the caller to upload data in + parallel and control the order in which it is appended to the file. + It is required when uploading data to be appended to the file and when + flushing previously uploaded data to the file. The value must be the + position where the data is to be appended. Uploaded data is not + immediately flushed, or written, to the file. To flush, the + previously uploaded data must be contiguous, the position parameter + must be specified and equal to the length of the file after all data + has been written, and there must not be a request entity body included + with the request. + :type position: long + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param content_length: Required for "Append Data" and "Flush Data". + Must be 0 for "Flush Data". Must be the length of the request content + in bytes for "Append Data". + :type content_length: long + :param transactional_content_crc64: Specify the transactional crc64 + for the body, to be validated by the service. + :type transactional_content_crc64: bytearray + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param path_http_headers: Additional parameters for the operation + :type path_http_headers: + ~azure.storage.filedatalake.models.PathHTTPHeaders + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.filedatalake.models.LeaseAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + transactional_content_hash = None + if path_http_headers is not None: + transactional_content_hash = path_http_headers.transactional_content_hash + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + + action = "append" + + # Construct URL + url = self.append_data.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if position is not None: + query_parameters['position'] = self._serialize.query("position", position, 'long') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['action'] = self._serialize.query("action", action, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if content_length is not None: + header_parameters['Content-Length'] = self._serialize.header("content_length", content_length, 'long', minimum=0) + if transactional_content_crc64 is not None: + header_parameters['x-ms-content-crc64'] = self._serialize.header("transactional_content_crc64", transactional_content_crc64, 'bytearray') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if transactional_content_hash is not None: + header_parameters['Content-MD5'] = self._serialize.header("transactional_content_hash", transactional_content_hash, 'bytearray') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + + # Construct body + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, stream_content=body) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'x-ms-content-crc64': self._deserialize('bytearray', response.headers.get('x-ms-content-crc64')), + 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), + } + return cls(response, None, response_headers) + append_data.metadata = {'url': '/{filesystem}/{path}'} + + async def set_expiry(self, expiry_options, timeout=None, request_id=None, expires_on=None, *, cls=None, **kwargs): + """Sets the time a blob will expire and be deleted. + + :param expiry_options: Required. Indicates mode of the expiry time. + Possible values include: 'NeverExpire', 'RelativeToCreation', + 'RelativeToNow', 'Absolute' + :type expiry_options: str or + ~azure.storage.filedatalake.models.PathExpiryOptions + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param expires_on: The time to set the blob to expiry + :type expires_on: str + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + comp = "expiry" + + # Construct URL + url = self.set_expiry.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-expiry-option'] = self._serialize.header("expiry_options", expiry_options, 'str') + if expires_on is not None: + header_parameters['x-ms-expiry-time'] = self._serialize.header("expires_on", expires_on, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + set_expiry.metadata = {'url': '/{filesystem}/{path}'} + + async def undelete(self, timeout=None, undelete_source=None, request_id=None, *, cls=None, **kwargs): + """Undelete a path that was previously soft deleted. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param undelete_source: Only for hierarchical namespace enabled + accounts. Optional. The path of the soft deleted blob to undelete. + :type undelete_source: str + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + comp = "undelete" + + # Construct URL + url = self.undelete.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + if undelete_source is not None: + header_parameters['x-ms-undelete-source'] = self._serialize.header("undelete_source", undelete_source, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + undelete.metadata = {'url': '/{filesystem}/{path}'} diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/aio/operations_async/_service_operations_async.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/aio/operations_async/_service_operations_async.py new file mode 100644 index 00000000000..b4cb9c5a7ee --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/aio/operations_async/_service_operations_async.py @@ -0,0 +1,128 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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.core.exceptions import map_error + +from ... import models + + +class ServiceOperations: + """ServiceOperations async operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :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 resource: The value must be "account" for all account operations. Constant value: "account". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + + self._config = config + self.resource = "account" + + async def list_file_systems(self, prefix=None, continuation=None, max_results=None, request_id=None, timeout=None, *, cls=None, **kwargs): + """List FileSystems. + + List filesystems and their properties in given account. + + :param prefix: Filters results to filesystems within the specified + prefix. + :type prefix: str + :param continuation: Optional. When deleting a directory, the number + of paths that are deleted with each invocation is limited. If the + number of paths to be deleted exceeds this limit, a continuation token + is returned in this response header. When a continuation token is + returned in the response, it must be specified in a subsequent + invocation of the delete operation to continue deleting the directory. + :type continuation: str + :param max_results: An optional value that specifies the maximum + number of items to return. If omitted or greater than 5,000, the + response will include up to 5,000 items. + :type max_results: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param callable cls: A custom type or function that will be passed the + direct response + :return: FileSystemList or the result of cls(response) + :rtype: ~azure.storage.filedatalake.models.FileSystemList + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + # Construct URL + url = self.list_file_systems.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['resource'] = self._serialize.query("self.resource", self.resource, 'str') + if prefix is not None: + query_parameters['prefix'] = self._serialize.query("prefix", prefix, 'str') + if continuation is not None: + query_parameters['continuation'] = self._serialize.query("continuation", continuation, 'str') + if max_results is not None: + query_parameters['maxResults'] = self._serialize.query("max_results", max_results, 'int', minimum=1) + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('FileSystemList', response) + header_dict = { + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-continuation': self._deserialize('str', response.headers.get('x-ms-continuation')), + 'Content-Type': self._deserialize('str', response.headers.get('Content-Type')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + + if cls: + return cls(response, deserialized, header_dict) + + return deserialized + list_file_systems.metadata = {'url': '/'} diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/models/__init__.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/models/__init__.py new file mode 100644 index 00000000000..fc4548f39b1 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/models/__init__.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. +# -------------------------------------------------------------------------- + +try: + from ._models_py3 import AclFailedEntry + from ._models_py3 import BlobHierarchyListSegment + from ._models_py3 import BlobItemInternal + from ._models_py3 import BlobPrefix + from ._models_py3 import BlobPropertiesInternal + from ._models_py3 import FileSystem + from ._models_py3 import FileSystemList + from ._models_py3 import LeaseAccessConditions + from ._models_py3 import ListBlobsHierarchySegmentResponse + from ._models_py3 import ModifiedAccessConditions + from ._models_py3 import Path + from ._models_py3 import PathHTTPHeaders + from ._models_py3 import PathList + from ._models_py3 import SetAccessControlRecursiveResponse + from ._models_py3 import SourceModifiedAccessConditions + from ._models_py3 import StorageError + from ._models_py3 import StorageErrorError +except (SyntaxError, ImportError): + from ._models import AclFailedEntry # type: ignore + from ._models import BlobHierarchyListSegment # type: ignore + from ._models import BlobItemInternal # type: ignore + from ._models import BlobPrefix # type: ignore + from ._models import BlobPropertiesInternal # type: ignore + from ._models import FileSystem # type: ignore + from ._models import FileSystemList # type: ignore + from ._models import LeaseAccessConditions # type: ignore + from ._models import ListBlobsHierarchySegmentResponse # type: ignore + from ._models import ModifiedAccessConditions # type: ignore + from ._models import Path # type: ignore + from ._models import PathHTTPHeaders # type: ignore + from ._models import PathList # type: ignore + from ._models import SetAccessControlRecursiveResponse # type: ignore + from ._models import SourceModifiedAccessConditions # type: ignore + from ._models import StorageError # type: ignore + from ._models import StorageErrorError # type: ignore + +from ._azure_data_lake_storage_restapi_enums import ( + ListBlobsIncludeItem, + PathExpiryOptions, + PathGetPropertiesAction, + PathLeaseAction, + PathRenameMode, + PathResourceType, + PathSetAccessControlRecursiveMode, + PathUpdateAction, +) + +__all__ = [ + 'AclFailedEntry', + 'BlobHierarchyListSegment', + 'BlobItemInternal', + 'BlobPrefix', + 'BlobPropertiesInternal', + 'FileSystem', + 'FileSystemList', + 'LeaseAccessConditions', + 'ListBlobsHierarchySegmentResponse', + 'ModifiedAccessConditions', + 'Path', + 'PathHTTPHeaders', + 'PathList', + 'SetAccessControlRecursiveResponse', + 'SourceModifiedAccessConditions', + 'StorageError', + 'StorageErrorError', + 'ListBlobsIncludeItem', + 'PathExpiryOptions', + 'PathGetPropertiesAction', + 'PathLeaseAction', + 'PathRenameMode', + 'PathResourceType', + 'PathSetAccessControlRecursiveMode', + 'PathUpdateAction', +] diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/models/_azure_data_lake_storage_restapi_enums.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/models/_azure_data_lake_storage_restapi_enums.py new file mode 100644 index 00000000000..804050e9e0d --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/models/_azure_data_lake_storage_restapi_enums.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 enum import Enum, EnumMeta +from six import with_metaclass + +class _CaseInsensitiveEnumMeta(EnumMeta): + def __getitem__(self, name): + return super().__getitem__(name.upper()) + + def __getattr__(cls, name): + """Return the enum member matching `name` + We use __getattr__ instead of descriptors or inserting into the enum + class' __dict__ in order to support `name` and `value` being both + properties for enum members (which live in the class' __dict__) and + enum members themselves. + """ + try: + return cls._member_map_[name.upper()] + except KeyError: + raise AttributeError(name) + + +class ListBlobsIncludeItem(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + COPY = "copy" + DELETED = "deleted" + METADATA = "metadata" + SNAPSHOTS = "snapshots" + UNCOMMITTEDBLOBS = "uncommittedblobs" + VERSIONS = "versions" + TAGS = "tags" + +class PathExpiryOptions(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + NEVER_EXPIRE = "NeverExpire" + RELATIVE_TO_CREATION = "RelativeToCreation" + RELATIVE_TO_NOW = "RelativeToNow" + ABSOLUTE = "Absolute" + +class PathGetPropertiesAction(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + GET_ACCESS_CONTROL = "getAccessControl" + GET_STATUS = "getStatus" + +class PathLeaseAction(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + ACQUIRE = "acquire" + BREAK_ENUM = "break" + CHANGE = "change" + RENEW = "renew" + RELEASE = "release" + +class PathRenameMode(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + LEGACY = "legacy" + POSIX = "posix" + +class PathResourceType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + DIRECTORY = "directory" + FILE = "file" + +class PathSetAccessControlRecursiveMode(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + SET = "set" + MODIFY = "modify" + REMOVE = "remove" + +class PathUpdateAction(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + + APPEND = "append" + FLUSH = "flush" + SET_PROPERTIES = "setProperties" + SET_ACCESS_CONTROL = "setAccessControl" + SET_ACCESS_CONTROL_RECURSIVE = "setAccessControlRecursive" diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/models/_data_lake_storage_client_enums.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/models/_data_lake_storage_client_enums.py new file mode 100644 index 00000000000..5a1f13240c6 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/models/_data_lake_storage_client_enums.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 enum import Enum + + +class PathSetAccessControlRecursiveMode(str, Enum): + + set = "set" + modify = "modify" + remove = "remove" + + +class PathExpiryOptions(str, Enum): + + never_expire = "NeverExpire" + relative_to_creation = "RelativeToCreation" + relative_to_now = "RelativeToNow" + absolute = "Absolute" + + +class ListBlobsIncludeItem(str, Enum): + + copy = "copy" + deleted = "deleted" + metadata = "metadata" + snapshots = "snapshots" + uncommittedblobs = "uncommittedblobs" + versions = "versions" + tags = "tags" + + +class ListBlobsShowOnly(str, Enum): + + deleted = "deleted" + + +class PathResourceType(str, Enum): + + directory = "directory" + file = "file" + + +class PathRenameMode(str, Enum): + + legacy = "legacy" + posix = "posix" + + +class PathUpdateAction(str, Enum): + + append = "append" + flush = "flush" + set_properties = "setProperties" + set_access_control = "setAccessControl" + set_access_control_recursive = "setAccessControlRecursive" + + +class PathLeaseAction(str, Enum): + + acquire = "acquire" + break_enum = "break" + change = "change" + renew = "renew" + release = "release" + + +class PathGetPropertiesAction(str, Enum): + + get_access_control = "getAccessControl" + get_status = "getStatus" diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/models/_models.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/models/_models.py new file mode 100644 index 00000000000..237617a48a1 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/models/_models.py @@ -0,0 +1,672 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license 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.core.exceptions import HttpResponseError +import msrest.serialization + + +class AclFailedEntry(msrest.serialization.Model): + """AclFailedEntry. + + :param name: + :type name: str + :param type: + :type type: str + :param error_message: + :type error_message: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'error_message': {'key': 'errorMessage', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(AclFailedEntry, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.type = kwargs.get('type', None) + self.error_message = kwargs.get('error_message', None) + + +class BlobHierarchyListSegment(msrest.serialization.Model): + """BlobHierarchyListSegment. + + All required parameters must be populated in order to send to Azure. + + :param blob_prefixes: + :type blob_prefixes: list[~azure.storage.filedatalake.models.BlobPrefix] + :param blob_items: Required. + :type blob_items: list[~azure.storage.filedatalake.models.BlobItemInternal] + """ + + _validation = { + 'blob_items': {'required': True}, + } + + _attribute_map = { + 'blob_prefixes': {'key': 'BlobPrefixes', 'type': '[BlobPrefix]'}, + 'blob_items': {'key': 'BlobItems', 'type': '[BlobItemInternal]'}, + } + _xml_map = { + 'name': 'Blobs' + } + + def __init__( + self, + **kwargs + ): + super(BlobHierarchyListSegment, self).__init__(**kwargs) + self.blob_prefixes = kwargs.get('blob_prefixes', None) + self.blob_items = kwargs['blob_items'] + + +class BlobItemInternal(msrest.serialization.Model): + """An Azure Storage blob. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. + :type name: str + :param deleted: Required. + :type deleted: bool + :param snapshot: Required. + :type snapshot: str + :param version_id: + :type version_id: str + :param is_current_version: + :type is_current_version: bool + :param properties: Required. Properties of a blob. + :type properties: ~azure.storage.filedatalake.models.BlobPropertiesInternal + :param deletion_id: + :type deletion_id: str + """ + + _validation = { + 'name': {'required': True}, + 'deleted': {'required': True}, + 'snapshot': {'required': True}, + 'properties': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'Name', 'type': 'str'}, + 'deleted': {'key': 'Deleted', 'type': 'bool'}, + 'snapshot': {'key': 'Snapshot', 'type': 'str'}, + 'version_id': {'key': 'VersionId', 'type': 'str'}, + 'is_current_version': {'key': 'IsCurrentVersion', 'type': 'bool'}, + 'properties': {'key': 'Properties', 'type': 'BlobPropertiesInternal'}, + 'deletion_id': {'key': 'DeletionId', 'type': 'str'}, + } + _xml_map = { + 'name': 'Blob' + } + + def __init__( + self, + **kwargs + ): + super(BlobItemInternal, self).__init__(**kwargs) + self.name = kwargs['name'] + self.deleted = kwargs['deleted'] + self.snapshot = kwargs['snapshot'] + self.version_id = kwargs.get('version_id', None) + self.is_current_version = kwargs.get('is_current_version', None) + self.properties = kwargs['properties'] + self.deletion_id = kwargs.get('deletion_id', None) + + +class BlobPrefix(msrest.serialization.Model): + """BlobPrefix. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. + :type name: str + """ + + _validation = { + 'name': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'Name', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(BlobPrefix, self).__init__(**kwargs) + self.name = kwargs['name'] + + +class BlobPropertiesInternal(msrest.serialization.Model): + """Properties of a blob. + + All required parameters must be populated in order to send to Azure. + + :param creation_time: + :type creation_time: ~datetime.datetime + :param last_modified: Required. + :type last_modified: ~datetime.datetime + :param etag: Required. + :type etag: str + :param content_length: Size in bytes. + :type content_length: long + :param content_type: + :type content_type: str + :param content_encoding: + :type content_encoding: str + :param content_language: + :type content_language: str + :param content_md5: + :type content_md5: bytearray + :param content_disposition: + :type content_disposition: str + :param cache_control: + :type cache_control: str + :param blob_sequence_number: + :type blob_sequence_number: long + :param copy_id: + :type copy_id: str + :param copy_source: + :type copy_source: str + :param copy_progress: + :type copy_progress: str + :param copy_completion_time: + :type copy_completion_time: ~datetime.datetime + :param copy_status_description: + :type copy_status_description: str + :param server_encrypted: + :type server_encrypted: bool + :param incremental_copy: + :type incremental_copy: bool + :param destination_snapshot: + :type destination_snapshot: str + :param deleted_time: + :type deleted_time: ~datetime.datetime + :param remaining_retention_days: + :type remaining_retention_days: int + :param access_tier_inferred: + :type access_tier_inferred: bool + :param customer_provided_key_sha256: + :type customer_provided_key_sha256: str + :param encryption_scope: The name of the encryption scope under which the blob is encrypted. + :type encryption_scope: str + :param access_tier_change_time: + :type access_tier_change_time: ~datetime.datetime + :param tag_count: + :type tag_count: int + :param expires_on: + :type expires_on: ~datetime.datetime + :param is_sealed: + :type is_sealed: bool + :param last_accessed_on: + :type last_accessed_on: ~datetime.datetime + :param delete_time: + :type delete_time: ~datetime.datetime + """ + + _validation = { + 'last_modified': {'required': True}, + 'etag': {'required': True}, + } + + _attribute_map = { + 'creation_time': {'key': 'Creation-Time', 'type': 'rfc-1123'}, + 'last_modified': {'key': 'Last-Modified', 'type': 'rfc-1123'}, + 'etag': {'key': 'Etag', 'type': 'str'}, + 'content_length': {'key': 'Content-Length', 'type': 'long'}, + 'content_type': {'key': 'Content-Type', 'type': 'str'}, + 'content_encoding': {'key': 'Content-Encoding', 'type': 'str'}, + 'content_language': {'key': 'Content-Language', 'type': 'str'}, + 'content_md5': {'key': 'Content-MD5', 'type': 'bytearray'}, + 'content_disposition': {'key': 'Content-Disposition', 'type': 'str'}, + 'cache_control': {'key': 'Cache-Control', 'type': 'str'}, + 'blob_sequence_number': {'key': 'x-ms-blob-sequence-number', 'type': 'long'}, + 'copy_id': {'key': 'CopyId', 'type': 'str'}, + 'copy_source': {'key': 'CopySource', 'type': 'str'}, + 'copy_progress': {'key': 'CopyProgress', 'type': 'str'}, + 'copy_completion_time': {'key': 'CopyCompletionTime', 'type': 'rfc-1123'}, + 'copy_status_description': {'key': 'CopyStatusDescription', 'type': 'str'}, + 'server_encrypted': {'key': 'ServerEncrypted', 'type': 'bool'}, + 'incremental_copy': {'key': 'IncrementalCopy', 'type': 'bool'}, + 'destination_snapshot': {'key': 'DestinationSnapshot', 'type': 'str'}, + 'deleted_time': {'key': 'DeletedTime', 'type': 'rfc-1123'}, + 'remaining_retention_days': {'key': 'RemainingRetentionDays', 'type': 'int'}, + 'access_tier_inferred': {'key': 'AccessTierInferred', 'type': 'bool'}, + 'customer_provided_key_sha256': {'key': 'CustomerProvidedKeySha256', 'type': 'str'}, + 'encryption_scope': {'key': 'EncryptionScope', 'type': 'str'}, + 'access_tier_change_time': {'key': 'AccessTierChangeTime', 'type': 'rfc-1123'}, + 'tag_count': {'key': 'TagCount', 'type': 'int'}, + 'expires_on': {'key': 'Expiry-Time', 'type': 'rfc-1123'}, + 'is_sealed': {'key': 'Sealed', 'type': 'bool'}, + 'last_accessed_on': {'key': 'LastAccessTime', 'type': 'rfc-1123'}, + 'delete_time': {'key': 'DeleteTime', 'type': 'rfc-1123'}, + } + _xml_map = { + 'name': 'Properties' + } + + def __init__( + self, + **kwargs + ): + super(BlobPropertiesInternal, self).__init__(**kwargs) + self.creation_time = kwargs.get('creation_time', None) + self.last_modified = kwargs['last_modified'] + self.etag = kwargs['etag'] + self.content_length = kwargs.get('content_length', None) + self.content_type = kwargs.get('content_type', None) + self.content_encoding = kwargs.get('content_encoding', None) + self.content_language = kwargs.get('content_language', None) + self.content_md5 = kwargs.get('content_md5', None) + self.content_disposition = kwargs.get('content_disposition', None) + self.cache_control = kwargs.get('cache_control', None) + self.blob_sequence_number = kwargs.get('blob_sequence_number', None) + self.copy_id = kwargs.get('copy_id', None) + self.copy_source = kwargs.get('copy_source', None) + self.copy_progress = kwargs.get('copy_progress', None) + self.copy_completion_time = kwargs.get('copy_completion_time', None) + self.copy_status_description = kwargs.get('copy_status_description', None) + self.server_encrypted = kwargs.get('server_encrypted', None) + self.incremental_copy = kwargs.get('incremental_copy', None) + self.destination_snapshot = kwargs.get('destination_snapshot', None) + self.deleted_time = kwargs.get('deleted_time', None) + self.remaining_retention_days = kwargs.get('remaining_retention_days', None) + self.access_tier_inferred = kwargs.get('access_tier_inferred', None) + self.customer_provided_key_sha256 = kwargs.get('customer_provided_key_sha256', None) + self.encryption_scope = kwargs.get('encryption_scope', None) + self.access_tier_change_time = kwargs.get('access_tier_change_time', None) + self.tag_count = kwargs.get('tag_count', None) + self.expires_on = kwargs.get('expires_on', None) + self.is_sealed = kwargs.get('is_sealed', None) + self.last_accessed_on = kwargs.get('last_accessed_on', None) + self.delete_time = kwargs.get('delete_time', None) + + +class FileSystem(msrest.serialization.Model): + """FileSystem. + + :param name: + :type name: str + :param last_modified: + :type last_modified: str + :param e_tag: + :type e_tag: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'last_modified': {'key': 'lastModified', 'type': 'str'}, + 'e_tag': {'key': 'eTag', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(FileSystem, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.last_modified = kwargs.get('last_modified', None) + self.e_tag = kwargs.get('e_tag', None) + + +class FileSystemList(msrest.serialization.Model): + """FileSystemList. + + :param filesystems: + :type filesystems: list[~azure.storage.filedatalake.models.FileSystem] + """ + + _attribute_map = { + 'filesystems': {'key': 'filesystems', 'type': '[FileSystem]'}, + } + + def __init__( + self, + **kwargs + ): + super(FileSystemList, self).__init__(**kwargs) + self.filesystems = kwargs.get('filesystems', None) + + +class LeaseAccessConditions(msrest.serialization.Model): + """Parameter group. + + :param lease_id: If specified, the operation only succeeds if the resource's lease is active + and matches this ID. + :type lease_id: str + """ + + _attribute_map = { + 'lease_id': {'key': 'leaseId', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(LeaseAccessConditions, self).__init__(**kwargs) + self.lease_id = kwargs.get('lease_id', None) + + +class ListBlobsHierarchySegmentResponse(msrest.serialization.Model): + """An enumeration of blobs. + + All required parameters must be populated in order to send to Azure. + + :param service_endpoint: Required. + :type service_endpoint: str + :param container_name: Required. + :type container_name: str + :param prefix: + :type prefix: str + :param marker: + :type marker: str + :param max_results: + :type max_results: int + :param delimiter: + :type delimiter: str + :param segment: Required. + :type segment: ~azure.storage.filedatalake.models.BlobHierarchyListSegment + :param next_marker: + :type next_marker: str + """ + + _validation = { + 'service_endpoint': {'required': True}, + 'container_name': {'required': True}, + 'segment': {'required': True}, + } + + _attribute_map = { + 'service_endpoint': {'key': 'ServiceEndpoint', 'type': 'str', 'xml': {'attr': True}}, + 'container_name': {'key': 'ContainerName', 'type': 'str', 'xml': {'attr': True}}, + 'prefix': {'key': 'Prefix', 'type': 'str'}, + 'marker': {'key': 'Marker', 'type': 'str'}, + 'max_results': {'key': 'MaxResults', 'type': 'int'}, + 'delimiter': {'key': 'Delimiter', 'type': 'str'}, + 'segment': {'key': 'Segment', 'type': 'BlobHierarchyListSegment'}, + 'next_marker': {'key': 'NextMarker', 'type': 'str'}, + } + _xml_map = { + 'name': 'EnumerationResults' + } + + def __init__( + self, + **kwargs + ): + super(ListBlobsHierarchySegmentResponse, self).__init__(**kwargs) + self.service_endpoint = kwargs['service_endpoint'] + self.container_name = kwargs['container_name'] + self.prefix = kwargs.get('prefix', None) + self.marker = kwargs.get('marker', None) + self.max_results = kwargs.get('max_results', None) + self.delimiter = kwargs.get('delimiter', None) + self.segment = kwargs['segment'] + self.next_marker = kwargs.get('next_marker', None) + + +class ModifiedAccessConditions(msrest.serialization.Model): + """Parameter group. + + :param if_modified_since: Specify this header value to operate only on a blob if it has been + modified since the specified date/time. + :type if_modified_since: ~datetime.datetime + :param if_unmodified_since: Specify this header value to operate only on a blob if it has not + been modified since the specified date/time. + :type if_unmodified_since: ~datetime.datetime + :param if_match: Specify an ETag value to operate only on blobs with a matching value. + :type if_match: str + :param if_none_match: Specify an ETag value to operate only on blobs without a matching value. + :type if_none_match: str + """ + + _attribute_map = { + 'if_modified_since': {'key': 'ifModifiedSince', 'type': 'rfc-1123'}, + 'if_unmodified_since': {'key': 'ifUnmodifiedSince', 'type': 'rfc-1123'}, + 'if_match': {'key': 'ifMatch', 'type': 'str'}, + 'if_none_match': {'key': 'ifNoneMatch', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(ModifiedAccessConditions, self).__init__(**kwargs) + self.if_modified_since = kwargs.get('if_modified_since', None) + self.if_unmodified_since = kwargs.get('if_unmodified_since', None) + self.if_match = kwargs.get('if_match', None) + self.if_none_match = kwargs.get('if_none_match', None) + + +class Path(msrest.serialization.Model): + """Path. + + :param name: + :type name: str + :param is_directory: + :type is_directory: bool + :param last_modified: + :type last_modified: str + :param e_tag: + :type e_tag: str + :param content_length: + :type content_length: long + :param owner: + :type owner: str + :param group: + :type group: str + :param permissions: + :type permissions: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'is_directory': {'key': 'isDirectory', 'type': 'bool'}, + 'last_modified': {'key': 'lastModified', 'type': 'str'}, + 'e_tag': {'key': 'eTag', 'type': 'str'}, + 'content_length': {'key': 'contentLength', 'type': 'long'}, + 'owner': {'key': 'owner', 'type': 'str'}, + 'group': {'key': 'group', 'type': 'str'}, + 'permissions': {'key': 'permissions', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(Path, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.is_directory = kwargs.get('is_directory', False) + self.last_modified = kwargs.get('last_modified', None) + self.e_tag = kwargs.get('e_tag', None) + self.content_length = kwargs.get('content_length', None) + self.owner = kwargs.get('owner', None) + self.group = kwargs.get('group', None) + self.permissions = kwargs.get('permissions', None) + + +class PathHTTPHeaders(msrest.serialization.Model): + """Parameter group. + + :param cache_control: Optional. Sets the blob's cache control. If specified, this property is + stored with the blob and returned with a read request. + :type cache_control: str + :param content_encoding: Optional. Sets the blob's content encoding. If specified, this + property is stored with the blob and returned with a read request. + :type content_encoding: str + :param content_language: Optional. Set the blob's content language. If specified, this property + is stored with the blob and returned with a read request. + :type content_language: str + :param content_disposition: Optional. Sets the blob's Content-Disposition header. + :type content_disposition: str + :param content_type: Optional. Sets the blob's content type. If specified, this property is + stored with the blob and returned with a read request. + :type content_type: str + :param content_md5: Specify the transactional md5 for the body, to be validated by the service. + :type content_md5: bytearray + :param transactional_content_hash: Specify the transactional md5 for the body, to be validated + by the service. + :type transactional_content_hash: bytearray + """ + + _attribute_map = { + 'cache_control': {'key': 'cacheControl', 'type': 'str'}, + 'content_encoding': {'key': 'contentEncoding', 'type': 'str'}, + 'content_language': {'key': 'contentLanguage', 'type': 'str'}, + 'content_disposition': {'key': 'contentDisposition', 'type': 'str'}, + 'content_type': {'key': 'contentType', 'type': 'str'}, + 'content_md5': {'key': 'contentMD5', 'type': 'bytearray'}, + 'transactional_content_hash': {'key': 'transactionalContentHash', 'type': 'bytearray'}, + } + + def __init__( + self, + **kwargs + ): + super(PathHTTPHeaders, self).__init__(**kwargs) + self.cache_control = kwargs.get('cache_control', None) + self.content_encoding = kwargs.get('content_encoding', None) + self.content_language = kwargs.get('content_language', None) + self.content_disposition = kwargs.get('content_disposition', None) + self.content_type = kwargs.get('content_type', None) + self.content_md5 = kwargs.get('content_md5', None) + self.transactional_content_hash = kwargs.get('transactional_content_hash', None) + + +class PathList(msrest.serialization.Model): + """PathList. + + :param paths: + :type paths: list[~azure.storage.filedatalake.models.Path] + """ + + _attribute_map = { + 'paths': {'key': 'paths', 'type': '[Path]'}, + } + + def __init__( + self, + **kwargs + ): + super(PathList, self).__init__(**kwargs) + self.paths = kwargs.get('paths', None) + + +class SetAccessControlRecursiveResponse(msrest.serialization.Model): + """SetAccessControlRecursiveResponse. + + :param directories_successful: + :type directories_successful: int + :param files_successful: + :type files_successful: int + :param failure_count: + :type failure_count: int + :param failed_entries: + :type failed_entries: list[~azure.storage.filedatalake.models.AclFailedEntry] + """ + + _attribute_map = { + 'directories_successful': {'key': 'directoriesSuccessful', 'type': 'int'}, + 'files_successful': {'key': 'filesSuccessful', 'type': 'int'}, + 'failure_count': {'key': 'failureCount', 'type': 'int'}, + 'failed_entries': {'key': 'failedEntries', 'type': '[AclFailedEntry]'}, + } + + def __init__( + self, + **kwargs + ): + super(SetAccessControlRecursiveResponse, self).__init__(**kwargs) + self.directories_successful = kwargs.get('directories_successful', None) + self.files_successful = kwargs.get('files_successful', None) + self.failure_count = kwargs.get('failure_count', None) + self.failed_entries = kwargs.get('failed_entries', None) + + +class SourceModifiedAccessConditions(msrest.serialization.Model): + """Parameter group. + + :param source_if_match: Specify an ETag value to operate only on blobs with a matching value. + :type source_if_match: str + :param source_if_none_match: Specify an ETag value to operate only on blobs without a matching + value. + :type source_if_none_match: str + :param source_if_modified_since: Specify this header value to operate only on a blob if it has + been modified since the specified date/time. + :type source_if_modified_since: ~datetime.datetime + :param source_if_unmodified_since: Specify this header value to operate only on a blob if it + has not been modified since the specified date/time. + :type source_if_unmodified_since: ~datetime.datetime + """ + + _attribute_map = { + 'source_if_match': {'key': 'sourceIfMatch', 'type': 'str'}, + 'source_if_none_match': {'key': 'sourceIfNoneMatch', 'type': 'str'}, + 'source_if_modified_since': {'key': 'sourceIfModifiedSince', 'type': 'rfc-1123'}, + 'source_if_unmodified_since': {'key': 'sourceIfUnmodifiedSince', 'type': 'rfc-1123'}, + } + + def __init__( + self, + **kwargs + ): + super(SourceModifiedAccessConditions, self).__init__(**kwargs) + self.source_if_match = kwargs.get('source_if_match', None) + self.source_if_none_match = kwargs.get('source_if_none_match', None) + self.source_if_modified_since = kwargs.get('source_if_modified_since', None) + self.source_if_unmodified_since = kwargs.get('source_if_unmodified_since', None) + + +class StorageError(msrest.serialization.Model): + """StorageError. + + :param error: The service error response object. + :type error: ~azure.storage.filedatalake.models.StorageErrorError + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'StorageErrorError'}, + } + + def __init__( + self, + **kwargs + ): + super(StorageError, self).__init__(**kwargs) + self.error = kwargs.get('error', None) + + +class StorageErrorError(msrest.serialization.Model): + """The service error response object. + + :param code: The service error code. + :type code: str + :param message: The service error message. + :type message: str + """ + + _attribute_map = { + 'code': {'key': 'Code', 'type': 'str'}, + 'message': {'key': 'Message', 'type': 'str'}, + } + + def __init__( + self, + **kwargs + ): + super(StorageErrorError, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/models/_models_py3.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/models/_models_py3.py new file mode 100644 index 00000000000..bbe361c5b9b --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/models/_models_py3.py @@ -0,0 +1,779 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 datetime +from typing import List, Optional + +from azure.core.exceptions import HttpResponseError +import msrest.serialization + + +class AclFailedEntry(msrest.serialization.Model): + """AclFailedEntry. + + :param name: + :type name: str + :param type: + :type type: str + :param error_message: + :type error_message: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'error_message': {'key': 'errorMessage', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + type: Optional[str] = None, + error_message: Optional[str] = None, + **kwargs + ): + super(AclFailedEntry, self).__init__(**kwargs) + self.name = name + self.type = type + self.error_message = error_message + + +class BlobHierarchyListSegment(msrest.serialization.Model): + """BlobHierarchyListSegment. + + All required parameters must be populated in order to send to Azure. + + :param blob_prefixes: + :type blob_prefixes: list[~azure.storage.filedatalake.models.BlobPrefix] + :param blob_items: Required. + :type blob_items: list[~azure.storage.filedatalake.models.BlobItemInternal] + """ + + _validation = { + 'blob_items': {'required': True}, + } + + _attribute_map = { + 'blob_prefixes': {'key': 'BlobPrefixes', 'type': '[BlobPrefix]'}, + 'blob_items': {'key': 'BlobItems', 'type': '[BlobItemInternal]'}, + } + _xml_map = { + 'name': 'Blobs' + } + + def __init__( + self, + *, + blob_items: List["BlobItemInternal"], + blob_prefixes: Optional[List["BlobPrefix"]] = None, + **kwargs + ): + super(BlobHierarchyListSegment, self).__init__(**kwargs) + self.blob_prefixes = blob_prefixes + self.blob_items = blob_items + + +class BlobItemInternal(msrest.serialization.Model): + """An Azure Storage blob. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. + :type name: str + :param deleted: Required. + :type deleted: bool + :param snapshot: Required. + :type snapshot: str + :param version_id: + :type version_id: str + :param is_current_version: + :type is_current_version: bool + :param properties: Required. Properties of a blob. + :type properties: ~azure.storage.filedatalake.models.BlobPropertiesInternal + :param deletion_id: + :type deletion_id: str + """ + + _validation = { + 'name': {'required': True}, + 'deleted': {'required': True}, + 'snapshot': {'required': True}, + 'properties': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'Name', 'type': 'str'}, + 'deleted': {'key': 'Deleted', 'type': 'bool'}, + 'snapshot': {'key': 'Snapshot', 'type': 'str'}, + 'version_id': {'key': 'VersionId', 'type': 'str'}, + 'is_current_version': {'key': 'IsCurrentVersion', 'type': 'bool'}, + 'properties': {'key': 'Properties', 'type': 'BlobPropertiesInternal'}, + 'deletion_id': {'key': 'DeletionId', 'type': 'str'}, + } + _xml_map = { + 'name': 'Blob' + } + + def __init__( + self, + *, + name: str, + deleted: bool, + snapshot: str, + properties: "BlobPropertiesInternal", + version_id: Optional[str] = None, + is_current_version: Optional[bool] = None, + deletion_id: Optional[str] = None, + **kwargs + ): + super(BlobItemInternal, self).__init__(**kwargs) + self.name = name + self.deleted = deleted + self.snapshot = snapshot + self.version_id = version_id + self.is_current_version = is_current_version + self.properties = properties + self.deletion_id = deletion_id + + +class BlobPrefix(msrest.serialization.Model): + """BlobPrefix. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. + :type name: str + """ + + _validation = { + 'name': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'Name', 'type': 'str'}, + } + + def __init__( + self, + *, + name: str, + **kwargs + ): + super(BlobPrefix, self).__init__(**kwargs) + self.name = name + + +class BlobPropertiesInternal(msrest.serialization.Model): + """Properties of a blob. + + All required parameters must be populated in order to send to Azure. + + :param creation_time: + :type creation_time: ~datetime.datetime + :param last_modified: Required. + :type last_modified: ~datetime.datetime + :param etag: Required. + :type etag: str + :param content_length: Size in bytes. + :type content_length: long + :param content_type: + :type content_type: str + :param content_encoding: + :type content_encoding: str + :param content_language: + :type content_language: str + :param content_md5: + :type content_md5: bytearray + :param content_disposition: + :type content_disposition: str + :param cache_control: + :type cache_control: str + :param blob_sequence_number: + :type blob_sequence_number: long + :param copy_id: + :type copy_id: str + :param copy_source: + :type copy_source: str + :param copy_progress: + :type copy_progress: str + :param copy_completion_time: + :type copy_completion_time: ~datetime.datetime + :param copy_status_description: + :type copy_status_description: str + :param server_encrypted: + :type server_encrypted: bool + :param incremental_copy: + :type incremental_copy: bool + :param destination_snapshot: + :type destination_snapshot: str + :param deleted_time: + :type deleted_time: ~datetime.datetime + :param remaining_retention_days: + :type remaining_retention_days: int + :param access_tier_inferred: + :type access_tier_inferred: bool + :param customer_provided_key_sha256: + :type customer_provided_key_sha256: str + :param encryption_scope: The name of the encryption scope under which the blob is encrypted. + :type encryption_scope: str + :param access_tier_change_time: + :type access_tier_change_time: ~datetime.datetime + :param tag_count: + :type tag_count: int + :param expires_on: + :type expires_on: ~datetime.datetime + :param is_sealed: + :type is_sealed: bool + :param last_accessed_on: + :type last_accessed_on: ~datetime.datetime + :param delete_time: + :type delete_time: ~datetime.datetime + """ + + _validation = { + 'last_modified': {'required': True}, + 'etag': {'required': True}, + } + + _attribute_map = { + 'creation_time': {'key': 'Creation-Time', 'type': 'rfc-1123'}, + 'last_modified': {'key': 'Last-Modified', 'type': 'rfc-1123'}, + 'etag': {'key': 'Etag', 'type': 'str'}, + 'content_length': {'key': 'Content-Length', 'type': 'long'}, + 'content_type': {'key': 'Content-Type', 'type': 'str'}, + 'content_encoding': {'key': 'Content-Encoding', 'type': 'str'}, + 'content_language': {'key': 'Content-Language', 'type': 'str'}, + 'content_md5': {'key': 'Content-MD5', 'type': 'bytearray'}, + 'content_disposition': {'key': 'Content-Disposition', 'type': 'str'}, + 'cache_control': {'key': 'Cache-Control', 'type': 'str'}, + 'blob_sequence_number': {'key': 'x-ms-blob-sequence-number', 'type': 'long'}, + 'copy_id': {'key': 'CopyId', 'type': 'str'}, + 'copy_source': {'key': 'CopySource', 'type': 'str'}, + 'copy_progress': {'key': 'CopyProgress', 'type': 'str'}, + 'copy_completion_time': {'key': 'CopyCompletionTime', 'type': 'rfc-1123'}, + 'copy_status_description': {'key': 'CopyStatusDescription', 'type': 'str'}, + 'server_encrypted': {'key': 'ServerEncrypted', 'type': 'bool'}, + 'incremental_copy': {'key': 'IncrementalCopy', 'type': 'bool'}, + 'destination_snapshot': {'key': 'DestinationSnapshot', 'type': 'str'}, + 'deleted_time': {'key': 'DeletedTime', 'type': 'rfc-1123'}, + 'remaining_retention_days': {'key': 'RemainingRetentionDays', 'type': 'int'}, + 'access_tier_inferred': {'key': 'AccessTierInferred', 'type': 'bool'}, + 'customer_provided_key_sha256': {'key': 'CustomerProvidedKeySha256', 'type': 'str'}, + 'encryption_scope': {'key': 'EncryptionScope', 'type': 'str'}, + 'access_tier_change_time': {'key': 'AccessTierChangeTime', 'type': 'rfc-1123'}, + 'tag_count': {'key': 'TagCount', 'type': 'int'}, + 'expires_on': {'key': 'Expiry-Time', 'type': 'rfc-1123'}, + 'is_sealed': {'key': 'Sealed', 'type': 'bool'}, + 'last_accessed_on': {'key': 'LastAccessTime', 'type': 'rfc-1123'}, + 'delete_time': {'key': 'DeleteTime', 'type': 'rfc-1123'}, + } + _xml_map = { + 'name': 'Properties' + } + + def __init__( + self, + *, + last_modified: datetime.datetime, + etag: str, + creation_time: Optional[datetime.datetime] = None, + content_length: Optional[int] = None, + content_type: Optional[str] = None, + content_encoding: Optional[str] = None, + content_language: Optional[str] = None, + content_md5: Optional[bytearray] = None, + content_disposition: Optional[str] = None, + cache_control: Optional[str] = None, + blob_sequence_number: Optional[int] = None, + copy_id: Optional[str] = None, + copy_source: Optional[str] = None, + copy_progress: Optional[str] = None, + copy_completion_time: Optional[datetime.datetime] = None, + copy_status_description: Optional[str] = None, + server_encrypted: Optional[bool] = None, + incremental_copy: Optional[bool] = None, + destination_snapshot: Optional[str] = None, + deleted_time: Optional[datetime.datetime] = None, + remaining_retention_days: Optional[int] = None, + access_tier_inferred: Optional[bool] = None, + customer_provided_key_sha256: Optional[str] = None, + encryption_scope: Optional[str] = None, + access_tier_change_time: Optional[datetime.datetime] = None, + tag_count: Optional[int] = None, + expires_on: Optional[datetime.datetime] = None, + is_sealed: Optional[bool] = None, + last_accessed_on: Optional[datetime.datetime] = None, + delete_time: Optional[datetime.datetime] = None, + **kwargs + ): + super(BlobPropertiesInternal, self).__init__(**kwargs) + self.creation_time = creation_time + self.last_modified = last_modified + self.etag = etag + self.content_length = content_length + self.content_type = content_type + self.content_encoding = content_encoding + self.content_language = content_language + self.content_md5 = content_md5 + self.content_disposition = content_disposition + self.cache_control = cache_control + self.blob_sequence_number = blob_sequence_number + self.copy_id = copy_id + self.copy_source = copy_source + self.copy_progress = copy_progress + self.copy_completion_time = copy_completion_time + self.copy_status_description = copy_status_description + self.server_encrypted = server_encrypted + self.incremental_copy = incremental_copy + self.destination_snapshot = destination_snapshot + self.deleted_time = deleted_time + self.remaining_retention_days = remaining_retention_days + self.access_tier_inferred = access_tier_inferred + self.customer_provided_key_sha256 = customer_provided_key_sha256 + self.encryption_scope = encryption_scope + self.access_tier_change_time = access_tier_change_time + self.tag_count = tag_count + self.expires_on = expires_on + self.is_sealed = is_sealed + self.last_accessed_on = last_accessed_on + self.delete_time = delete_time + + +class FileSystem(msrest.serialization.Model): + """FileSystem. + + :param name: + :type name: str + :param last_modified: + :type last_modified: str + :param e_tag: + :type e_tag: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'last_modified': {'key': 'lastModified', 'type': 'str'}, + 'e_tag': {'key': 'eTag', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + last_modified: Optional[str] = None, + e_tag: Optional[str] = None, + **kwargs + ): + super(FileSystem, self).__init__(**kwargs) + self.name = name + self.last_modified = last_modified + self.e_tag = e_tag + + +class FileSystemList(msrest.serialization.Model): + """FileSystemList. + + :param filesystems: + :type filesystems: list[~azure.storage.filedatalake.models.FileSystem] + """ + + _attribute_map = { + 'filesystems': {'key': 'filesystems', 'type': '[FileSystem]'}, + } + + def __init__( + self, + *, + filesystems: Optional[List["FileSystem"]] = None, + **kwargs + ): + super(FileSystemList, self).__init__(**kwargs) + self.filesystems = filesystems + + +class LeaseAccessConditions(msrest.serialization.Model): + """Parameter group. + + :param lease_id: If specified, the operation only succeeds if the resource's lease is active + and matches this ID. + :type lease_id: str + """ + + _attribute_map = { + 'lease_id': {'key': 'leaseId', 'type': 'str'}, + } + + def __init__( + self, + *, + lease_id: Optional[str] = None, + **kwargs + ): + super(LeaseAccessConditions, self).__init__(**kwargs) + self.lease_id = lease_id + + +class ListBlobsHierarchySegmentResponse(msrest.serialization.Model): + """An enumeration of blobs. + + All required parameters must be populated in order to send to Azure. + + :param service_endpoint: Required. + :type service_endpoint: str + :param container_name: Required. + :type container_name: str + :param prefix: + :type prefix: str + :param marker: + :type marker: str + :param max_results: + :type max_results: int + :param delimiter: + :type delimiter: str + :param segment: Required. + :type segment: ~azure.storage.filedatalake.models.BlobHierarchyListSegment + :param next_marker: + :type next_marker: str + """ + + _validation = { + 'service_endpoint': {'required': True}, + 'container_name': {'required': True}, + 'segment': {'required': True}, + } + + _attribute_map = { + 'service_endpoint': {'key': 'ServiceEndpoint', 'type': 'str', 'xml': {'attr': True}}, + 'container_name': {'key': 'ContainerName', 'type': 'str', 'xml': {'attr': True}}, + 'prefix': {'key': 'Prefix', 'type': 'str'}, + 'marker': {'key': 'Marker', 'type': 'str'}, + 'max_results': {'key': 'MaxResults', 'type': 'int'}, + 'delimiter': {'key': 'Delimiter', 'type': 'str'}, + 'segment': {'key': 'Segment', 'type': 'BlobHierarchyListSegment'}, + 'next_marker': {'key': 'NextMarker', 'type': 'str'}, + } + _xml_map = { + 'name': 'EnumerationResults' + } + + def __init__( + self, + *, + service_endpoint: str, + container_name: str, + segment: "BlobHierarchyListSegment", + prefix: Optional[str] = None, + marker: Optional[str] = None, + max_results: Optional[int] = None, + delimiter: Optional[str] = None, + next_marker: Optional[str] = None, + **kwargs + ): + super(ListBlobsHierarchySegmentResponse, self).__init__(**kwargs) + self.service_endpoint = service_endpoint + self.container_name = container_name + self.prefix = prefix + self.marker = marker + self.max_results = max_results + self.delimiter = delimiter + self.segment = segment + self.next_marker = next_marker + + +class ModifiedAccessConditions(msrest.serialization.Model): + """Parameter group. + + :param if_modified_since: Specify this header value to operate only on a blob if it has been + modified since the specified date/time. + :type if_modified_since: ~datetime.datetime + :param if_unmodified_since: Specify this header value to operate only on a blob if it has not + been modified since the specified date/time. + :type if_unmodified_since: ~datetime.datetime + :param if_match: Specify an ETag value to operate only on blobs with a matching value. + :type if_match: str + :param if_none_match: Specify an ETag value to operate only on blobs without a matching value. + :type if_none_match: str + """ + + _attribute_map = { + 'if_modified_since': {'key': 'ifModifiedSince', 'type': 'rfc-1123'}, + 'if_unmodified_since': {'key': 'ifUnmodifiedSince', 'type': 'rfc-1123'}, + 'if_match': {'key': 'ifMatch', 'type': 'str'}, + 'if_none_match': {'key': 'ifNoneMatch', 'type': 'str'}, + } + + def __init__( + self, + *, + if_modified_since: Optional[datetime.datetime] = None, + if_unmodified_since: Optional[datetime.datetime] = None, + if_match: Optional[str] = None, + if_none_match: Optional[str] = None, + **kwargs + ): + super(ModifiedAccessConditions, self).__init__(**kwargs) + self.if_modified_since = if_modified_since + self.if_unmodified_since = if_unmodified_since + self.if_match = if_match + self.if_none_match = if_none_match + + +class Path(msrest.serialization.Model): + """Path. + + :param name: + :type name: str + :param is_directory: + :type is_directory: bool + :param last_modified: + :type last_modified: str + :param e_tag: + :type e_tag: str + :param content_length: + :type content_length: long + :param owner: + :type owner: str + :param group: + :type group: str + :param permissions: + :type permissions: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'is_directory': {'key': 'isDirectory', 'type': 'bool'}, + 'last_modified': {'key': 'lastModified', 'type': 'str'}, + 'e_tag': {'key': 'eTag', 'type': 'str'}, + 'content_length': {'key': 'contentLength', 'type': 'long'}, + 'owner': {'key': 'owner', 'type': 'str'}, + 'group': {'key': 'group', 'type': 'str'}, + 'permissions': {'key': 'permissions', 'type': 'str'}, + } + + def __init__( + self, + *, + name: Optional[str] = None, + is_directory: Optional[bool] = False, + last_modified: Optional[str] = None, + e_tag: Optional[str] = None, + content_length: Optional[int] = None, + owner: Optional[str] = None, + group: Optional[str] = None, + permissions: Optional[str] = None, + **kwargs + ): + super(Path, self).__init__(**kwargs) + self.name = name + self.is_directory = is_directory + self.last_modified = last_modified + self.e_tag = e_tag + self.content_length = content_length + self.owner = owner + self.group = group + self.permissions = permissions + + +class PathHTTPHeaders(msrest.serialization.Model): + """Parameter group. + + :param cache_control: Optional. Sets the blob's cache control. If specified, this property is + stored with the blob and returned with a read request. + :type cache_control: str + :param content_encoding: Optional. Sets the blob's content encoding. If specified, this + property is stored with the blob and returned with a read request. + :type content_encoding: str + :param content_language: Optional. Set the blob's content language. If specified, this property + is stored with the blob and returned with a read request. + :type content_language: str + :param content_disposition: Optional. Sets the blob's Content-Disposition header. + :type content_disposition: str + :param content_type: Optional. Sets the blob's content type. If specified, this property is + stored with the blob and returned with a read request. + :type content_type: str + :param content_md5: Specify the transactional md5 for the body, to be validated by the service. + :type content_md5: bytearray + :param transactional_content_hash: Specify the transactional md5 for the body, to be validated + by the service. + :type transactional_content_hash: bytearray + """ + + _attribute_map = { + 'cache_control': {'key': 'cacheControl', 'type': 'str'}, + 'content_encoding': {'key': 'contentEncoding', 'type': 'str'}, + 'content_language': {'key': 'contentLanguage', 'type': 'str'}, + 'content_disposition': {'key': 'contentDisposition', 'type': 'str'}, + 'content_type': {'key': 'contentType', 'type': 'str'}, + 'content_md5': {'key': 'contentMD5', 'type': 'bytearray'}, + 'transactional_content_hash': {'key': 'transactionalContentHash', 'type': 'bytearray'}, + } + + def __init__( + self, + *, + cache_control: Optional[str] = None, + content_encoding: Optional[str] = None, + content_language: Optional[str] = None, + content_disposition: Optional[str] = None, + content_type: Optional[str] = None, + content_md5: Optional[bytearray] = None, + transactional_content_hash: Optional[bytearray] = None, + **kwargs + ): + super(PathHTTPHeaders, self).__init__(**kwargs) + self.cache_control = cache_control + self.content_encoding = content_encoding + self.content_language = content_language + self.content_disposition = content_disposition + self.content_type = content_type + self.content_md5 = content_md5 + self.transactional_content_hash = transactional_content_hash + + +class PathList(msrest.serialization.Model): + """PathList. + + :param paths: + :type paths: list[~azure.storage.filedatalake.models.Path] + """ + + _attribute_map = { + 'paths': {'key': 'paths', 'type': '[Path]'}, + } + + def __init__( + self, + *, + paths: Optional[List["Path"]] = None, + **kwargs + ): + super(PathList, self).__init__(**kwargs) + self.paths = paths + + +class SetAccessControlRecursiveResponse(msrest.serialization.Model): + """SetAccessControlRecursiveResponse. + + :param directories_successful: + :type directories_successful: int + :param files_successful: + :type files_successful: int + :param failure_count: + :type failure_count: int + :param failed_entries: + :type failed_entries: list[~azure.storage.filedatalake.models.AclFailedEntry] + """ + + _attribute_map = { + 'directories_successful': {'key': 'directoriesSuccessful', 'type': 'int'}, + 'files_successful': {'key': 'filesSuccessful', 'type': 'int'}, + 'failure_count': {'key': 'failureCount', 'type': 'int'}, + 'failed_entries': {'key': 'failedEntries', 'type': '[AclFailedEntry]'}, + } + + def __init__( + self, + *, + directories_successful: Optional[int] = None, + files_successful: Optional[int] = None, + failure_count: Optional[int] = None, + failed_entries: Optional[List["AclFailedEntry"]] = None, + **kwargs + ): + super(SetAccessControlRecursiveResponse, self).__init__(**kwargs) + self.directories_successful = directories_successful + self.files_successful = files_successful + self.failure_count = failure_count + self.failed_entries = failed_entries + + +class SourceModifiedAccessConditions(msrest.serialization.Model): + """Parameter group. + + :param source_if_match: Specify an ETag value to operate only on blobs with a matching value. + :type source_if_match: str + :param source_if_none_match: Specify an ETag value to operate only on blobs without a matching + value. + :type source_if_none_match: str + :param source_if_modified_since: Specify this header value to operate only on a blob if it has + been modified since the specified date/time. + :type source_if_modified_since: ~datetime.datetime + :param source_if_unmodified_since: Specify this header value to operate only on a blob if it + has not been modified since the specified date/time. + :type source_if_unmodified_since: ~datetime.datetime + """ + + _attribute_map = { + 'source_if_match': {'key': 'sourceIfMatch', 'type': 'str'}, + 'source_if_none_match': {'key': 'sourceIfNoneMatch', 'type': 'str'}, + 'source_if_modified_since': {'key': 'sourceIfModifiedSince', 'type': 'rfc-1123'}, + 'source_if_unmodified_since': {'key': 'sourceIfUnmodifiedSince', 'type': 'rfc-1123'}, + } + + def __init__( + self, + *, + source_if_match: Optional[str] = None, + source_if_none_match: Optional[str] = None, + source_if_modified_since: Optional[datetime.datetime] = None, + source_if_unmodified_since: Optional[datetime.datetime] = None, + **kwargs + ): + super(SourceModifiedAccessConditions, self).__init__(**kwargs) + self.source_if_match = source_if_match + self.source_if_none_match = source_if_none_match + self.source_if_modified_since = source_if_modified_since + self.source_if_unmodified_since = source_if_unmodified_since + + +class StorageError(msrest.serialization.Model): + """StorageError. + + :param error: The service error response object. + :type error: ~azure.storage.filedatalake.models.StorageErrorError + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'StorageErrorError'}, + } + + def __init__( + self, + *, + error: Optional["StorageErrorError"] = None, + **kwargs + ): + super(StorageError, self).__init__(**kwargs) + self.error = error + + +class StorageErrorError(msrest.serialization.Model): + """The service error response object. + + :param code: The service error code. + :type code: str + :param message: The service error message. + :type message: str + """ + + _attribute_map = { + 'code': {'key': 'Code', 'type': 'str'}, + 'message': {'key': 'Message', 'type': 'str'}, + } + + def __init__( + self, + *, + code: Optional[str] = None, + message: Optional[str] = None, + **kwargs + ): + super(StorageErrorError, self).__init__(**kwargs) + self.code = code + self.message = message diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/operations/__init__.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/operations/__init__.py new file mode 100644 index 00000000000..0db71e00342 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/operations/__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 ._service_operations import ServiceOperations +from ._file_system_operations import FileSystemOperations +from ._path_operations import PathOperations + +__all__ = [ + 'ServiceOperations', + 'FileSystemOperations', + 'PathOperations', +] diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/operations/_file_system_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/operations/_file_system_operations.py new file mode 100644 index 00000000000..991890ac4e2 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/operations/_file_system_operations.py @@ -0,0 +1,643 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 datetime +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse + +from .. import models as _models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, List, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class FileSystemOperations(object): + """FileSystemOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.storage.filedatalake.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def create( + self, + request_id_parameter=None, # type: Optional[str] + timeout=None, # type: Optional[int] + properties=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> None + """Create FileSystem. + + Create a FileSystem rooted at the specified location. If the FileSystem already exists, the + operation fails. This operation does not support conditional HTTP requests. + + :param request_id_parameter: Provides a client-generated, opaque value with a 1 KB character + limit that is recorded in the analytics logs when storage analytics logging is enabled. + :type request_id_parameter: str + :param timeout: The timeout parameter is expressed in seconds. For more information, see + :code:`Setting Timeouts for Blob Service Operations.`. + :type timeout: int + :param properties: Optional. User-defined properties to be stored with the filesystem, in the + format of a comma-separated list of name and value pairs "n1=v1, n2=v2, ...", where each value + is a base64 encoded string. Note that the string may only contain ASCII characters in the + ISO-8859-1 character set. If the filesystem exists, any properties not included in the list + will be removed. All properties are removed if the header is omitted. To merge new and + existing properties, first get all existing properties and the current E-Tag, then make a + conditional request with the E-Tag and include values for all properties. + :type properties: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + accept = "application/json" + + # Construct URL + url = self.create.metadata['url'] # type: ignore + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['resource'] = self._serialize.query("self._config.resource", self._config.resource, 'str') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if request_id_parameter is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if properties is not None: + header_parameters['x-ms-properties'] = self._serialize.header("properties", properties, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.StorageError, response) + raise HttpResponseError(response=response, model=error) + + response_headers = {} + response_headers['Date']=self._deserialize('rfc-1123', response.headers.get('Date')) + response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) + response_headers['Last-Modified']=self._deserialize('rfc-1123', response.headers.get('Last-Modified')) + response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id')) + response_headers['x-ms-version']=self._deserialize('str', response.headers.get('x-ms-version')) + response_headers['x-ms-namespace-enabled']=self._deserialize('str', response.headers.get('x-ms-namespace-enabled')) + + if cls: + return cls(pipeline_response, None, response_headers) + + create.metadata = {'url': '/{filesystem}'} # type: ignore + + def set_properties( + self, + request_id_parameter=None, # type: Optional[str] + timeout=None, # type: Optional[int] + properties=None, # type: Optional[str] + modified_access_conditions=None, # type: Optional["_models.ModifiedAccessConditions"] + **kwargs # type: Any + ): + # type: (...) -> None + """Set FileSystem Properties. + + Set properties for the FileSystem. This operation supports conditional HTTP requests. For + more information, see `Specifying Conditional Headers for Blob Service Operations + `_. + + :param request_id_parameter: Provides a client-generated, opaque value with a 1 KB character + limit that is recorded in the analytics logs when storage analytics logging is enabled. + :type request_id_parameter: str + :param timeout: The timeout parameter is expressed in seconds. For more information, see + :code:`Setting Timeouts for Blob Service Operations.`. + :type timeout: int + :param properties: Optional. User-defined properties to be stored with the filesystem, in the + format of a comma-separated list of name and value pairs "n1=v1, n2=v2, ...", where each value + is a base64 encoded string. Note that the string may only contain ASCII characters in the + ISO-8859-1 character set. If the filesystem exists, any properties not included in the list + will be removed. All properties are removed if the header is omitted. To merge new and + existing properties, first get all existing properties and the current E-Tag, then make a + conditional request with the E-Tag and include values for all properties. + :type properties: str + :param modified_access_conditions: Parameter group. + :type modified_access_conditions: ~azure.storage.filedatalake.models.ModifiedAccessConditions + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + _if_modified_since = None + _if_unmodified_since = None + if modified_access_conditions is not None: + _if_modified_since = modified_access_conditions.if_modified_since + _if_unmodified_since = modified_access_conditions.if_unmodified_since + accept = "application/json" + + # Construct URL + url = self.set_properties.metadata['url'] # type: ignore + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['resource'] = self._serialize.query("self._config.resource", self._config.resource, 'str') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if request_id_parameter is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if properties is not None: + header_parameters['x-ms-properties'] = self._serialize.header("properties", properties, 'str') + if _if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", _if_modified_since, 'rfc-1123') + if _if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", _if_unmodified_since, 'rfc-1123') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.patch(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.StorageError, response) + raise HttpResponseError(response=response, model=error) + + response_headers = {} + response_headers['Date']=self._deserialize('rfc-1123', response.headers.get('Date')) + response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) + response_headers['Last-Modified']=self._deserialize('rfc-1123', response.headers.get('Last-Modified')) + response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id')) + response_headers['x-ms-version']=self._deserialize('str', response.headers.get('x-ms-version')) + + if cls: + return cls(pipeline_response, None, response_headers) + + set_properties.metadata = {'url': '/{filesystem}'} # type: ignore + + def get_properties( + self, + request_id_parameter=None, # type: Optional[str] + timeout=None, # type: Optional[int] + **kwargs # type: Any + ): + # type: (...) -> None + """Get FileSystem Properties. + + All system and user-defined filesystem properties are specified in the response headers. + + :param request_id_parameter: Provides a client-generated, opaque value with a 1 KB character + limit that is recorded in the analytics logs when storage analytics logging is enabled. + :type request_id_parameter: str + :param timeout: The timeout parameter is expressed in seconds. For more information, see + :code:`Setting Timeouts for Blob Service Operations.`. + :type timeout: int + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + accept = "application/json" + + # Construct URL + url = self.get_properties.metadata['url'] # type: ignore + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['resource'] = self._serialize.query("self._config.resource", self._config.resource, 'str') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if request_id_parameter is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.head(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.StorageError, response) + raise HttpResponseError(response=response, model=error) + + response_headers = {} + response_headers['Date']=self._deserialize('rfc-1123', response.headers.get('Date')) + response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) + response_headers['Last-Modified']=self._deserialize('rfc-1123', response.headers.get('Last-Modified')) + response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id')) + response_headers['x-ms-version']=self._deserialize('str', response.headers.get('x-ms-version')) + response_headers['x-ms-properties']=self._deserialize('str', response.headers.get('x-ms-properties')) + response_headers['x-ms-namespace-enabled']=self._deserialize('str', response.headers.get('x-ms-namespace-enabled')) + + if cls: + return cls(pipeline_response, None, response_headers) + + get_properties.metadata = {'url': '/{filesystem}'} # type: ignore + + def delete( + self, + request_id_parameter=None, # type: Optional[str] + timeout=None, # type: Optional[int] + modified_access_conditions=None, # type: Optional["_models.ModifiedAccessConditions"] + **kwargs # type: Any + ): + # type: (...) -> None + """Delete FileSystem. + + Marks the FileSystem for deletion. When a FileSystem is deleted, a FileSystem with the same + identifier cannot be created for at least 30 seconds. While the filesystem is being deleted, + attempts to create a filesystem with the same identifier will fail with status code 409 + (Conflict), with the service returning additional error information indicating that the + filesystem is being deleted. All other operations, including operations on any files or + directories within the filesystem, will fail with status code 404 (Not Found) while the + filesystem is being deleted. This operation supports conditional HTTP requests. For more + information, see `Specifying Conditional Headers for Blob Service Operations + `_. + + :param request_id_parameter: Provides a client-generated, opaque value with a 1 KB character + limit that is recorded in the analytics logs when storage analytics logging is enabled. + :type request_id_parameter: str + :param timeout: The timeout parameter is expressed in seconds. For more information, see + :code:`Setting Timeouts for Blob Service Operations.`. + :type timeout: int + :param modified_access_conditions: Parameter group. + :type modified_access_conditions: ~azure.storage.filedatalake.models.ModifiedAccessConditions + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + _if_modified_since = None + _if_unmodified_since = None + if modified_access_conditions is not None: + _if_modified_since = modified_access_conditions.if_modified_since + _if_unmodified_since = modified_access_conditions.if_unmodified_since + accept = "application/json" + + # Construct URL + url = self.delete.metadata['url'] # type: ignore + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['resource'] = self._serialize.query("self._config.resource", self._config.resource, 'str') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if request_id_parameter is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if _if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", _if_modified_since, 'rfc-1123') + if _if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", _if_unmodified_since, 'rfc-1123') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.StorageError, response) + raise HttpResponseError(response=response, model=error) + + response_headers = {} + response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id')) + response_headers['x-ms-version']=self._deserialize('str', response.headers.get('x-ms-version')) + response_headers['Date']=self._deserialize('rfc-1123', response.headers.get('Date')) + + if cls: + return cls(pipeline_response, None, response_headers) + + delete.metadata = {'url': '/{filesystem}'} # type: ignore + + def list_paths( + self, + recursive, # type: bool + request_id_parameter=None, # type: Optional[str] + timeout=None, # type: Optional[int] + continuation=None, # type: Optional[str] + path=None, # type: Optional[str] + max_results=None, # type: Optional[int] + upn=None, # type: Optional[bool] + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.PathList"] + """List Paths. + + List FileSystem paths and their properties. + + :param recursive: Required. + :type recursive: bool + :param request_id_parameter: Provides a client-generated, opaque value with a 1 KB character + limit that is recorded in the analytics logs when storage analytics logging is enabled. + :type request_id_parameter: str + :param timeout: The timeout parameter is expressed in seconds. For more information, see + :code:`Setting Timeouts for Blob Service Operations.`. + :type timeout: int + :param continuation: Optional. When deleting a directory, the number of paths that are deleted + with each invocation is limited. If the number of paths to be deleted exceeds this limit, a + continuation token is returned in this response header. When a continuation token is returned + in the response, it must be specified in a subsequent invocation of the delete operation to + continue deleting the directory. + :type continuation: str + :param path: Optional. Filters results to paths within the specified directory. An error + occurs if the directory does not exist. + :type path: str + :param max_results: An optional value that specifies the maximum number of items to return. If + omitted or greater than 5,000, the response will include up to 5,000 items. + :type max_results: int + :param upn: Optional. Valid only when Hierarchical Namespace is enabled for the account. If + "true", the user identity values returned in the x-ms-owner, x-ms-group, and x-ms-acl response + headers will be transformed from Azure Active Directory Object IDs to User Principal Names. If + "false", the values will be returned as Azure Active Directory Object IDs. The default value is + false. Note that group and application Object IDs are not translated because they do not have + unique friendly names. + :type upn: bool + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either PathList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.storage.filedatalake.models.PathList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.PathList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + accept = "application/json" + + # TODO: change this once continuation/next_link autorest PR is merged + def prepare_request(next_link=None, cont_token=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if request_id_parameter is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", + request_id_parameter, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, + 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_paths.metadata['url'] # type: ignore + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['resource'] = self._serialize.query("self._config.resource", self._config.resource, + 'str') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + # TODO: change this once continuation/next_link autorest PR is merged + if cont_token is not None: + query_parameters['continuation'] = self._serialize.query("continuation", cont_token, 'str') + if path is not None: + query_parameters['directory'] = self._serialize.query("path", path, 'str') + query_parameters['recursive'] = self._serialize.query("recursive", recursive, 'bool') + if max_results is not None: + query_parameters['maxResults'] = self._serialize.query("max_results", max_results, 'int', minimum=1) + if upn is not None: + query_parameters['upn'] = self._serialize.query("upn", upn, 'bool') + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + # TODO: change this once continuation/next_link autorest PR is merged + try: + cont_token = pipeline_response.http_response.headers['x-ms-continuation'] + except KeyError: + cont_token = None + deserialized = self._deserialize('PathList', pipeline_response) + list_of_elem = deserialized.paths + if cls: + list_of_elem = cls(list_of_elem) + # TODO: change this once continuation/next_link autorest PR is merged + return cont_token, iter(list_of_elem) + + # TODO: change this once continuation/next_link autorest PR is merged + def get_next(cont_token=None): + cont_token = cont_token if not continuation else continuation + request = prepare_request(cont_token=cont_token) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize.failsafe_deserialize(_models.StorageError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + + list_paths.metadata = {'url': '/{filesystem}'} # type: ignore + + def list_blob_hierarchy_segment( + self, + prefix=None, # type: Optional[str] + delimiter=None, # type: Optional[str] + marker=None, # type: Optional[str] + max_results=None, # type: Optional[int] + include=None, # type: Optional[List[Union[str, "_models.ListBlobsIncludeItem"]]] + showonly="deleted", # type: Optional[str] + timeout=None, # type: Optional[int] + request_id_parameter=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "_models.ListBlobsHierarchySegmentResponse" + """The List Blobs operation returns a list of the blobs under the specified container. + + :param prefix: Filters results to filesystems within the specified prefix. + :type prefix: str + :param delimiter: When the request includes this parameter, the operation returns a BlobPrefix + element in the response body that acts as a placeholder for all blobs whose names begin with + the same substring up to the appearance of the delimiter character. The delimiter may be a + single character or a string. + :type delimiter: str + :param marker: A string value that identifies the portion of the list of containers to be + returned with the next listing operation. The operation returns the NextMarker value within the + response body if the listing operation did not return all containers remaining to be listed + with the current page. The NextMarker value can be used as the value for the marker parameter + in a subsequent call to request the next page of list items. The marker value is opaque to the + client. + :type marker: str + :param max_results: An optional value that specifies the maximum number of items to return. If + omitted or greater than 5,000, the response will include up to 5,000 items. + :type max_results: int + :param include: Include this parameter to specify one or more datasets to include in the + response. + :type include: list[str or ~azure.storage.filedatalake.models.ListBlobsIncludeItem] + :param showonly: Include this parameter to specify one or more datasets to include in the + response. + :type showonly: str + :param timeout: The timeout parameter is expressed in seconds. For more information, see + :code:`Setting Timeouts for Blob Service Operations.`. + :type timeout: int + :param request_id_parameter: Provides a client-generated, opaque value with a 1 KB character + limit that is recorded in the analytics logs when storage analytics logging is enabled. + :type request_id_parameter: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ListBlobsHierarchySegmentResponse, or the result of cls(response) + :rtype: ~azure.storage.filedatalake.models.ListBlobsHierarchySegmentResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ListBlobsHierarchySegmentResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + restype = "container" + comp = "list" + accept = "application/xml" + + # Construct URL + url = self.list_blob_hierarchy_segment.metadata['url'] # type: ignore + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['restype'] = self._serialize.query("restype", restype, 'str') + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + if prefix is not None: + query_parameters['prefix'] = self._serialize.query("prefix", prefix, 'str') + if delimiter is not None: + query_parameters['delimiter'] = self._serialize.query("delimiter", delimiter, 'str') + if marker is not None: + query_parameters['marker'] = self._serialize.query("marker", marker, 'str') + if max_results is not None: + query_parameters['maxResults'] = self._serialize.query("max_results", max_results, 'int', minimum=1) + if include is not None: + query_parameters['include'] = self._serialize.query("include", include, '[str]', div=',') + if showonly is not None: + query_parameters['showonly'] = self._serialize.query("showonly", showonly, 'str') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id_parameter is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.StorageError, response) + raise HttpResponseError(response=response, model=error) + + response_headers = {} + response_headers['Content-Type']=self._deserialize('str', response.headers.get('Content-Type')) + response_headers['x-ms-client-request-id']=self._deserialize('str', response.headers.get('x-ms-client-request-id')) + response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id')) + response_headers['x-ms-version']=self._deserialize('str', response.headers.get('x-ms-version')) + response_headers['Date']=self._deserialize('rfc-1123', response.headers.get('Date')) + deserialized = self._deserialize('ListBlobsHierarchySegmentResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, response_headers) + + return deserialized + list_blob_hierarchy_segment.metadata = {'url': '/{filesystem}'} # type: ignore diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/operations/_path_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/operations/_path_operations.py new file mode 100644 index 00000000000..5517c96888b --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/operations/_path_operations.py @@ -0,0 +1,1789 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for 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 datetime +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse + +from .. import models as _models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, IO, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class PathOperations(object): + """PathOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.storage.filedatalake.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def create( + self, + request_id_parameter=None, # type: Optional[str] + timeout=None, # type: Optional[int] + resource=None, # type: Optional[Union[str, "_models.PathResourceType"]] + continuation=None, # type: Optional[str] + mode=None, # type: Optional[Union[str, "_models.PathRenameMode"]] + rename_source=None, # type: Optional[str] + source_lease_id=None, # type: Optional[str] + properties=None, # type: Optional[str] + permissions=None, # type: Optional[str] + umask=None, # type: Optional[str] + path_http_headers=None, # type: Optional["_models.PathHTTPHeaders"] + lease_access_conditions=None, # type: Optional["_models.LeaseAccessConditions"] + modified_access_conditions=None, # type: Optional["_models.ModifiedAccessConditions"] + source_modified_access_conditions=None, # type: Optional["_models.SourceModifiedAccessConditions"] + **kwargs # type: Any + ): + # type: (...) -> None + """Create File | Create Directory | Rename File | Rename Directory. + + Create or rename a file or directory. By default, the destination is overwritten and if the + destination already exists and has a lease the lease is broken. This operation supports + conditional HTTP requests. For more information, see `Specifying Conditional Headers for Blob + Service Operations `_. To fail if the destination already exists, + use a conditional request with If-None-Match: "*". + + :param request_id_parameter: Provides a client-generated, opaque value with a 1 KB character + limit that is recorded in the analytics logs when storage analytics logging is enabled. + :type request_id_parameter: str + :param timeout: The timeout parameter is expressed in seconds. For more information, see + :code:`Setting Timeouts for Blob Service Operations.`. + :type timeout: int + :param resource: Required only for Create File and Create Directory. The value must be "file" + or "directory". + :type resource: str or ~azure.storage.filedatalake.models.PathResourceType + :param continuation: Optional. When deleting a directory, the number of paths that are deleted + with each invocation is limited. If the number of paths to be deleted exceeds this limit, a + continuation token is returned in this response header. When a continuation token is returned + in the response, it must be specified in a subsequent invocation of the delete operation to + continue deleting the directory. + :type continuation: str + :param mode: Optional. Valid only when namespace is enabled. This parameter determines the + behavior of the rename operation. The value must be "legacy" or "posix", and the default value + will be "posix". + :type mode: str or ~azure.storage.filedatalake.models.PathRenameMode + :param rename_source: An optional file or directory to be renamed. The value must have the + following format: "/{filesystem}/{path}". If "x-ms-properties" is specified, the properties + will overwrite the existing properties; otherwise, the existing properties will be preserved. + This value must be a URL percent-encoded string. Note that the string may only contain ASCII + characters in the ISO-8859-1 character set. + :type rename_source: str + :param source_lease_id: A lease ID for the source path. If specified, the source path must have + an active lease and the lease ID must match. + :type source_lease_id: str + :param properties: Optional. User-defined properties to be stored with the filesystem, in the + format of a comma-separated list of name and value pairs "n1=v1, n2=v2, ...", where each value + is a base64 encoded string. Note that the string may only contain ASCII characters in the + ISO-8859-1 character set. If the filesystem exists, any properties not included in the list + will be removed. All properties are removed if the header is omitted. To merge new and + existing properties, first get all existing properties and the current E-Tag, then make a + conditional request with the E-Tag and include values for all properties. + :type properties: str + :param permissions: Optional and only valid if Hierarchical Namespace is enabled for the + account. Sets POSIX access permissions for the file owner, the file owning group, and others. + Each class may be granted read, write, or execute permission. The sticky bit is also + supported. Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are supported. + :type permissions: str + :param umask: Optional and only valid if Hierarchical Namespace is enabled for the account. + When creating a file or directory and the parent folder does not have a default ACL, the umask + restricts the permissions of the file or directory to be created. The resulting permission is + given by p bitwise and not u, where p is the permission and u is the umask. For example, if p + is 0777 and u is 0057, then the resulting permission is 0720. The default permission is 0777 + for a directory and 0666 for a file. The default umask is 0027. The umask must be specified + in 4-digit octal notation (e.g. 0766). + :type umask: str + :param path_http_headers: Parameter group. + :type path_http_headers: ~azure.storage.filedatalake.models.PathHTTPHeaders + :param lease_access_conditions: Parameter group. + :type lease_access_conditions: ~azure.storage.filedatalake.models.LeaseAccessConditions + :param modified_access_conditions: Parameter group. + :type modified_access_conditions: ~azure.storage.filedatalake.models.ModifiedAccessConditions + :param source_modified_access_conditions: Parameter group. + :type source_modified_access_conditions: ~azure.storage.filedatalake.models.SourceModifiedAccessConditions + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + _cache_control = None + _content_encoding = None + _content_language = None + _content_disposition = None + _content_type = None + _lease_id = None + _if_match = None + _if_none_match = None + _if_modified_since = None + _if_unmodified_since = None + _source_if_match = None + _source_if_none_match = None + _source_if_modified_since = None + _source_if_unmodified_since = None + if lease_access_conditions is not None: + _lease_id = lease_access_conditions.lease_id + if modified_access_conditions is not None: + _if_match = modified_access_conditions.if_match + _if_none_match = modified_access_conditions.if_none_match + _if_modified_since = modified_access_conditions.if_modified_since + _if_unmodified_since = modified_access_conditions.if_unmodified_since + if path_http_headers is not None: + _cache_control = path_http_headers.cache_control + _content_encoding = path_http_headers.content_encoding + _content_language = path_http_headers.content_language + _content_disposition = path_http_headers.content_disposition + _content_type = path_http_headers.content_type + if source_modified_access_conditions is not None: + _source_if_match = source_modified_access_conditions.source_if_match + _source_if_none_match = source_modified_access_conditions.source_if_none_match + _source_if_modified_since = source_modified_access_conditions.source_if_modified_since + _source_if_unmodified_since = source_modified_access_conditions.source_if_unmodified_since + accept = "application/json" + + # Construct URL + url = self.create.metadata['url'] # type: ignore + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + if resource is not None: + query_parameters['resource'] = self._serialize.query("resource", resource, 'str') + if continuation is not None: + query_parameters['continuation'] = self._serialize.query("continuation", continuation, 'str') + if mode is not None: + query_parameters['mode'] = self._serialize.query("mode", mode, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if request_id_parameter is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if _cache_control is not None: + header_parameters['x-ms-cache-control'] = self._serialize.header("cache_control", _cache_control, 'str') + if _content_encoding is not None: + header_parameters['x-ms-content-encoding'] = self._serialize.header("content_encoding", _content_encoding, 'str') + if _content_language is not None: + header_parameters['x-ms-content-language'] = self._serialize.header("content_language", _content_language, 'str') + if _content_disposition is not None: + header_parameters['x-ms-content-disposition'] = self._serialize.header("content_disposition", _content_disposition, 'str') + if _content_type is not None: + header_parameters['x-ms-content-type'] = self._serialize.header("content_type", _content_type, 'str') + if rename_source is not None: + header_parameters['x-ms-rename-source'] = self._serialize.header("rename_source", rename_source, 'str') + if _lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", _lease_id, 'str') + if source_lease_id is not None: + header_parameters['x-ms-source-lease-id'] = self._serialize.header("source_lease_id", source_lease_id, 'str') + if properties is not None: + header_parameters['x-ms-properties'] = self._serialize.header("properties", properties, 'str') + if permissions is not None: + header_parameters['x-ms-permissions'] = self._serialize.header("permissions", permissions, 'str') + if umask is not None: + header_parameters['x-ms-umask'] = self._serialize.header("umask", umask, 'str') + if _if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", _if_match, 'str') + if _if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", _if_none_match, 'str') + if _if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", _if_modified_since, 'rfc-1123') + if _if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", _if_unmodified_since, 'rfc-1123') + if _source_if_match is not None: + header_parameters['x-ms-source-if-match'] = self._serialize.header("source_if_match", _source_if_match, 'str') + if _source_if_none_match is not None: + header_parameters['x-ms-source-if-none-match'] = self._serialize.header("source_if_none_match", _source_if_none_match, 'str') + if _source_if_modified_since is not None: + header_parameters['x-ms-source-if-modified-since'] = self._serialize.header("source_if_modified_since", _source_if_modified_since, 'rfc-1123') + if _source_if_unmodified_since is not None: + header_parameters['x-ms-source-if-unmodified-since'] = self._serialize.header("source_if_unmodified_since", _source_if_unmodified_since, 'rfc-1123') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.StorageError, response) + raise HttpResponseError(response=response, model=error) + + response_headers = {} + response_headers['Date']=self._deserialize('rfc-1123', response.headers.get('Date')) + response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) + response_headers['Last-Modified']=self._deserialize('rfc-1123', response.headers.get('Last-Modified')) + response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id')) + response_headers['x-ms-version']=self._deserialize('str', response.headers.get('x-ms-version')) + response_headers['x-ms-continuation']=self._deserialize('str', response.headers.get('x-ms-continuation')) + response_headers['Content-Length']=self._deserialize('long', response.headers.get('Content-Length')) + + if cls: + return cls(pipeline_response, None, response_headers) + + create.metadata = {'url': '/{filesystem}/{path}'} # type: ignore + + def update( + self, + action, # type: Union[str, "_models.PathUpdateAction"] + mode, # type: Union[str, "_models.PathSetAccessControlRecursiveMode"] + body, # type: IO + request_id_parameter=None, # type: Optional[str] + timeout=None, # type: Optional[int] + max_records=None, # type: Optional[int] + continuation=None, # type: Optional[str] + force_flag=None, # type: Optional[bool] + position=None, # type: Optional[int] + retain_uncommitted_data=None, # type: Optional[bool] + close=None, # type: Optional[bool] + content_length=None, # type: Optional[int] + properties=None, # type: Optional[str] + owner=None, # type: Optional[str] + group=None, # type: Optional[str] + permissions=None, # type: Optional[str] + acl=None, # type: Optional[str] + path_http_headers=None, # type: Optional["_models.PathHTTPHeaders"] + lease_access_conditions=None, # type: Optional["_models.LeaseAccessConditions"] + modified_access_conditions=None, # type: Optional["_models.ModifiedAccessConditions"] + **kwargs # type: Any + ): + # type: (...) -> Optional["_models.SetAccessControlRecursiveResponse"] + """Append Data | Flush Data | Set Properties | Set Access Control. + + Uploads data to be appended to a file, flushes (writes) previously uploaded data to a file, + sets properties for a file or directory, or sets access control for a file or directory. Data + can only be appended to a file. Concurrent writes to the same file using multiple clients are + not supported. This operation supports conditional HTTP requests. For more information, see + `Specifying Conditional Headers for Blob Service Operations `_. + + :param action: The action must be "append" to upload data to be appended to a file, "flush" to + flush previously uploaded data to a file, "setProperties" to set the properties of a file or + directory, "setAccessControl" to set the owner, group, permissions, or access control list for + a file or directory, or "setAccessControlRecursive" to set the access control list for a + directory recursively. Note that Hierarchical Namespace must be enabled for the account in + order to use access control. Also note that the Access Control List (ACL) includes permissions + for the owner, owning group, and others, so the x-ms-permissions and x-ms-acl request headers + are mutually exclusive. + :type action: str or ~azure.storage.filedatalake.models.PathUpdateAction + :param mode: Mode "set" sets POSIX access control rights on files and directories, "modify" + modifies one or more POSIX access control rights that pre-exist on files and directories, + "remove" removes one or more POSIX access control rights that were present earlier on files + and directories. + :type mode: str or ~azure.storage.filedatalake.models.PathSetAccessControlRecursiveMode + :param body: Initial data. + :type body: IO + :param request_id_parameter: Provides a client-generated, opaque value with a 1 KB character + limit that is recorded in the analytics logs when storage analytics logging is enabled. + :type request_id_parameter: str + :param timeout: The timeout parameter is expressed in seconds. For more information, see + :code:`Setting Timeouts for Blob Service Operations.`. + :type timeout: int + :param max_records: Optional. Valid for "SetAccessControlRecursive" operation. It specifies the + maximum number of files or directories on which the acl change will be applied. If omitted or + greater than 2,000, the request will process up to 2,000 items. + :type max_records: int + :param continuation: Optional. The number of paths processed with each invocation is limited. + If the number of paths to be processed exceeds this limit, a continuation token is returned in + the response header x-ms-continuation. When a continuation token is returned in the response, + it must be percent-encoded and specified in a subsequent invocation of setAcessControlRecursive + operation. + :type continuation: str + :param force_flag: Optional. Valid for "SetAccessControlRecursive" operation. If set to false, + the operation will terminate quickly on encountering user errors (4XX). If true, the operation + will ignore user errors and proceed with the operation on other sub-entities of the directory. + Continuation token will only be returned when forceFlag is true in case of user errors. If not + set the default value is false for this. + :type force_flag: bool + :param position: This parameter allows the caller to upload data in parallel and control the + order in which it is appended to the file. It is required when uploading data to be appended + to the file and when flushing previously uploaded data to the file. The value must be the + position where the data is to be appended. Uploaded data is not immediately flushed, or + written, to the file. To flush, the previously uploaded data must be contiguous, the position + parameter must be specified and equal to the length of the file after all data has been + written, and there must not be a request entity body included with the request. + :type position: long + :param retain_uncommitted_data: Valid only for flush operations. If "true", uncommitted data + is retained after the flush operation completes; otherwise, the uncommitted data is deleted + after the flush operation. The default is false. Data at offsets less than the specified + position are written to the file when flush succeeds, but this optional parameter allows data + after the flush position to be retained for a future flush operation. + :type retain_uncommitted_data: bool + :param close: Azure Storage Events allow applications to receive notifications when files + change. When Azure Storage Events are enabled, a file changed event is raised. This event has a + property indicating whether this is the final change to distinguish the difference between an + intermediate flush to a file stream and the final close of a file stream. The close query + parameter is valid only when the action is "flush" and change notifications are enabled. If the + value of close is "true" and the flush operation completes successfully, the service raises a + file change notification with a property indicating that this is the final update (the file + stream has been closed). If "false" a change notification is raised indicating the file has + changed. The default is false. This query parameter is set to true by the Hadoop ABFS driver to + indicate that the file stream has been closed.". + :type close: bool + :param content_length: Required for "Append Data" and "Flush Data". Must be 0 for "Flush + Data". Must be the length of the request content in bytes for "Append Data". + :type content_length: long + :param properties: Optional. User-defined properties to be stored with the filesystem, in the + format of a comma-separated list of name and value pairs "n1=v1, n2=v2, ...", where each value + is a base64 encoded string. Note that the string may only contain ASCII characters in the + ISO-8859-1 character set. If the filesystem exists, any properties not included in the list + will be removed. All properties are removed if the header is omitted. To merge new and + existing properties, first get all existing properties and the current E-Tag, then make a + conditional request with the E-Tag and include values for all properties. + :type properties: str + :param owner: Optional. The owner of the blob or directory. + :type owner: str + :param group: Optional. The owning group of the blob or directory. + :type group: str + :param permissions: Optional and only valid if Hierarchical Namespace is enabled for the + account. Sets POSIX access permissions for the file owner, the file owning group, and others. + Each class may be granted read, write, or execute permission. The sticky bit is also + supported. Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are supported. + :type permissions: str + :param acl: Sets POSIX access control rights on files and directories. The value is a comma- + separated list of access control entries. Each access control entry (ACE) consists of a scope, + a type, a user or group identifier, and permissions in the format + "[scope:][type]:[id]:[permissions]". + :type acl: str + :param path_http_headers: Parameter group. + :type path_http_headers: ~azure.storage.filedatalake.models.PathHTTPHeaders + :param lease_access_conditions: Parameter group. + :type lease_access_conditions: ~azure.storage.filedatalake.models.LeaseAccessConditions + :param modified_access_conditions: Parameter group. + :type modified_access_conditions: ~azure.storage.filedatalake.models.ModifiedAccessConditions + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SetAccessControlRecursiveResponse, or the result of cls(response) + :rtype: ~azure.storage.filedatalake.models.SetAccessControlRecursiveResponse or None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[Optional["_models.SetAccessControlRecursiveResponse"]] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + _content_md5 = None + _lease_id = None + _cache_control = None + _content_type = None + _content_disposition = None + _content_encoding = None + _content_language = None + _if_match = None + _if_none_match = None + _if_modified_since = None + _if_unmodified_since = None + if lease_access_conditions is not None: + _lease_id = lease_access_conditions.lease_id + if modified_access_conditions is not None: + _if_match = modified_access_conditions.if_match + _if_none_match = modified_access_conditions.if_none_match + _if_modified_since = modified_access_conditions.if_modified_since + _if_unmodified_since = modified_access_conditions.if_unmodified_since + if path_http_headers is not None: + _content_md5 = path_http_headers.content_md5 + _cache_control = path_http_headers.cache_control + _content_type = path_http_headers.content_type + _content_disposition = path_http_headers.content_disposition + _content_encoding = path_http_headers.content_encoding + _content_language = path_http_headers.content_language + content_type = kwargs.pop("content_type", "application/octet-stream") + accept = "application/json" + + # Construct URL + url = self.update.metadata['url'] # type: ignore + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['action'] = self._serialize.query("action", action, 'str') + if max_records is not None: + query_parameters['maxRecords'] = self._serialize.query("max_records", max_records, 'int', minimum=1) + if continuation is not None: + query_parameters['continuation'] = self._serialize.query("continuation", continuation, 'str') + query_parameters['mode'] = self._serialize.query("mode", mode, 'str') + if force_flag is not None: + query_parameters['forceFlag'] = self._serialize.query("force_flag", force_flag, 'bool') + if position is not None: + query_parameters['position'] = self._serialize.query("position", position, 'long') + if retain_uncommitted_data is not None: + query_parameters['retainUncommittedData'] = self._serialize.query("retain_uncommitted_data", retain_uncommitted_data, 'bool') + if close is not None: + query_parameters['close'] = self._serialize.query("close", close, 'bool') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if request_id_parameter is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if content_length is not None: + header_parameters['Content-Length'] = self._serialize.header("content_length", content_length, 'long', minimum=0) + if _content_md5 is not None: + header_parameters['x-ms-content-md5'] = self._serialize.header("content_md5", _content_md5, 'bytearray') + if _lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", _lease_id, 'str') + if _cache_control is not None: + header_parameters['x-ms-cache-control'] = self._serialize.header("cache_control", _cache_control, 'str') + if _content_type is not None: + header_parameters['x-ms-content-type'] = self._serialize.header("content_type", _content_type, 'str') + if _content_disposition is not None: + header_parameters['x-ms-content-disposition'] = self._serialize.header("content_disposition", _content_disposition, 'str') + if _content_encoding is not None: + header_parameters['x-ms-content-encoding'] = self._serialize.header("content_encoding", _content_encoding, 'str') + if _content_language is not None: + header_parameters['x-ms-content-language'] = self._serialize.header("content_language", _content_language, 'str') + if properties is not None: + header_parameters['x-ms-properties'] = self._serialize.header("properties", properties, 'str') + if owner is not None: + header_parameters['x-ms-owner'] = self._serialize.header("owner", owner, 'str') + if group is not None: + header_parameters['x-ms-group'] = self._serialize.header("group", group, 'str') + if permissions is not None: + header_parameters['x-ms-permissions'] = self._serialize.header("permissions", permissions, 'str') + if acl is not None: + header_parameters['x-ms-acl'] = self._serialize.header("acl", acl, 'str') + if _if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", _if_match, 'str') + if _if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", _if_none_match, 'str') + if _if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", _if_modified_since, 'rfc-1123') + if _if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", _if_unmodified_since, 'rfc-1123') + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content_kwargs['stream_content'] = body + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.StorageError, response) + raise HttpResponseError(response=response, model=error) + + response_headers = {} + deserialized = None + if response.status_code == 200: + response_headers['Date']=self._deserialize('rfc-1123', response.headers.get('Date')) + response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) + response_headers['Last-Modified']=self._deserialize('rfc-1123', response.headers.get('Last-Modified')) + response_headers['Accept-Ranges']=self._deserialize('str', response.headers.get('Accept-Ranges')) + response_headers['Cache-Control']=self._deserialize('str', response.headers.get('Cache-Control')) + response_headers['Content-Disposition']=self._deserialize('str', response.headers.get('Content-Disposition')) + response_headers['Content-Encoding']=self._deserialize('str', response.headers.get('Content-Encoding')) + response_headers['Content-Language']=self._deserialize('str', response.headers.get('Content-Language')) + response_headers['Content-Length']=self._deserialize('long', response.headers.get('Content-Length')) + response_headers['Content-Range']=self._deserialize('str', response.headers.get('Content-Range')) + response_headers['Content-Type']=self._deserialize('str', response.headers.get('Content-Type')) + response_headers['Content-MD5']=self._deserialize('str', response.headers.get('Content-MD5')) + response_headers['x-ms-properties']=self._deserialize('str', response.headers.get('x-ms-properties')) + response_headers['x-ms-continuation']=self._deserialize('str', response.headers.get('x-ms-continuation')) + response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id')) + response_headers['x-ms-version']=self._deserialize('str', response.headers.get('x-ms-version')) + deserialized = self._deserialize('SetAccessControlRecursiveResponse', pipeline_response) + + if response.status_code == 202: + response_headers['Content-MD5']=self._deserialize('str', response.headers.get('Content-MD5')) + response_headers['Date']=self._deserialize('rfc-1123', response.headers.get('Date')) + response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id')) + response_headers['x-ms-version']=self._deserialize('str', response.headers.get('x-ms-version')) + + if cls: + return cls(pipeline_response, deserialized, response_headers) + + return deserialized + update.metadata = {'url': '/{filesystem}/{path}'} # type: ignore + + def lease( + self, + x_ms_lease_action, # type: Union[str, "_models.PathLeaseAction"] + request_id_parameter=None, # type: Optional[str] + timeout=None, # type: Optional[int] + x_ms_lease_duration=None, # type: Optional[int] + x_ms_lease_break_period=None, # type: Optional[int] + proposed_lease_id=None, # type: Optional[str] + lease_access_conditions=None, # type: Optional["_models.LeaseAccessConditions"] + modified_access_conditions=None, # type: Optional["_models.ModifiedAccessConditions"] + **kwargs # type: Any + ): + # type: (...) -> None + """Lease Path. + + Create and manage a lease to restrict write and delete access to the path. This operation + supports conditional HTTP requests. For more information, see `Specifying Conditional Headers + for Blob Service Operations `_. + + :param x_ms_lease_action: There are five lease actions: "acquire", "break", "change", "renew", + and "release". Use "acquire" and specify the "x-ms-proposed-lease-id" and "x-ms-lease-duration" + to acquire a new lease. Use "break" to break an existing lease. When a lease is broken, the + lease break period is allowed to elapse, during which time no lease operation except break and + release can be performed on the file. When a lease is successfully broken, the response + indicates the interval in seconds until a new lease can be acquired. Use "change" and specify + the current lease ID in "x-ms-lease-id" and the new lease ID in "x-ms-proposed-lease-id" to + change the lease ID of an active lease. Use "renew" and specify the "x-ms-lease-id" to renew an + existing lease. Use "release" and specify the "x-ms-lease-id" to release a lease. + :type x_ms_lease_action: str or ~azure.storage.filedatalake.models.PathLeaseAction + :param request_id_parameter: Provides a client-generated, opaque value with a 1 KB character + limit that is recorded in the analytics logs when storage analytics logging is enabled. + :type request_id_parameter: str + :param timeout: The timeout parameter is expressed in seconds. For more information, see + :code:`Setting Timeouts for Blob Service Operations.`. + :type timeout: int + :param x_ms_lease_duration: The lease duration is required to acquire a lease, and specifies + the duration of the lease in seconds. The lease duration must be between 15 and 60 seconds or + -1 for infinite lease. + :type x_ms_lease_duration: int + :param x_ms_lease_break_period: The lease break period duration is optional to break a lease, + and specifies the break period of the lease in seconds. The lease break duration must be + between 0 and 60 seconds. + :type x_ms_lease_break_period: int + :param proposed_lease_id: Proposed lease ID, in a GUID string format. The Blob service returns + 400 (Invalid request) if the proposed lease ID is not in the correct format. See Guid + Constructor (String) for a list of valid GUID string formats. + :type proposed_lease_id: str + :param lease_access_conditions: Parameter group. + :type lease_access_conditions: ~azure.storage.filedatalake.models.LeaseAccessConditions + :param modified_access_conditions: Parameter group. + :type modified_access_conditions: ~azure.storage.filedatalake.models.ModifiedAccessConditions + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + _lease_id = None + _if_match = None + _if_none_match = None + _if_modified_since = None + _if_unmodified_since = None + if lease_access_conditions is not None: + _lease_id = lease_access_conditions.lease_id + if modified_access_conditions is not None: + _if_match = modified_access_conditions.if_match + _if_none_match = modified_access_conditions.if_none_match + _if_modified_since = modified_access_conditions.if_modified_since + _if_unmodified_since = modified_access_conditions.if_unmodified_since + accept = "application/json" + + # Construct URL + url = self.lease.metadata['url'] # type: ignore + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if request_id_parameter is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + header_parameters['x-ms-lease-action'] = self._serialize.header("x_ms_lease_action", x_ms_lease_action, 'str') + if x_ms_lease_duration is not None: + header_parameters['x-ms-lease-duration'] = self._serialize.header("x_ms_lease_duration", x_ms_lease_duration, 'int') + if x_ms_lease_break_period is not None: + header_parameters['x-ms-lease-break-period'] = self._serialize.header("x_ms_lease_break_period", x_ms_lease_break_period, 'int') + if _lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", _lease_id, 'str') + if proposed_lease_id is not None: + header_parameters['x-ms-proposed-lease-id'] = self._serialize.header("proposed_lease_id", proposed_lease_id, 'str') + if _if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", _if_match, 'str') + if _if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", _if_none_match, 'str') + if _if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", _if_modified_since, 'rfc-1123') + if _if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", _if_unmodified_since, 'rfc-1123') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.post(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 201, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.StorageError, response) + raise HttpResponseError(response=response, model=error) + + response_headers = {} + if response.status_code == 200: + response_headers['Date']=self._deserialize('rfc-1123', response.headers.get('Date')) + response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) + response_headers['Last-Modified']=self._deserialize('rfc-1123', response.headers.get('Last-Modified')) + response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id')) + response_headers['x-ms-version']=self._deserialize('str', response.headers.get('x-ms-version')) + response_headers['x-ms-lease-id']=self._deserialize('str', response.headers.get('x-ms-lease-id')) + + if response.status_code == 201: + response_headers['Date']=self._deserialize('rfc-1123', response.headers.get('Date')) + response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) + response_headers['Last-Modified']=self._deserialize('rfc-1123', response.headers.get('Last-Modified')) + response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id')) + response_headers['x-ms-version']=self._deserialize('str', response.headers.get('x-ms-version')) + response_headers['x-ms-lease-id']=self._deserialize('str', response.headers.get('x-ms-lease-id')) + + if response.status_code == 202: + response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) + response_headers['Last-Modified']=self._deserialize('rfc-1123', response.headers.get('Last-Modified')) + response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id')) + response_headers['x-ms-version']=self._deserialize('str', response.headers.get('x-ms-version')) + response_headers['x-ms-lease-time']=self._deserialize('str', response.headers.get('x-ms-lease-time')) + + if cls: + return cls(pipeline_response, None, response_headers) + + lease.metadata = {'url': '/{filesystem}/{path}'} # type: ignore + + def read( + self, + request_id_parameter=None, # type: Optional[str] + timeout=None, # type: Optional[int] + range=None, # type: Optional[str] + x_ms_range_get_content_md5=None, # type: Optional[bool] + lease_access_conditions=None, # type: Optional["_models.LeaseAccessConditions"] + modified_access_conditions=None, # type: Optional["_models.ModifiedAccessConditions"] + **kwargs # type: Any + ): + # type: (...) -> IO + """Read File. + + Read the contents of a file. For read operations, range requests are supported. This operation + supports conditional HTTP requests. For more information, see `Specifying Conditional Headers + for Blob Service Operations `_. + + :param request_id_parameter: Provides a client-generated, opaque value with a 1 KB character + limit that is recorded in the analytics logs when storage analytics logging is enabled. + :type request_id_parameter: str + :param timeout: The timeout parameter is expressed in seconds. For more information, see + :code:`Setting Timeouts for Blob Service Operations.`. + :type timeout: int + :param range: The HTTP Range request header specifies one or more byte ranges of the resource + to be retrieved. + :type range: str + :param x_ms_range_get_content_md5: Optional. When this header is set to "true" and specified + together with the Range header, the service returns the MD5 hash for the range, as long as the + range is less than or equal to 4MB in size. If this header is specified without the Range + header, the service returns status code 400 (Bad Request). If this header is set to true when + the range exceeds 4 MB in size, the service returns status code 400 (Bad Request). + :type x_ms_range_get_content_md5: bool + :param lease_access_conditions: Parameter group. + :type lease_access_conditions: ~azure.storage.filedatalake.models.LeaseAccessConditions + :param modified_access_conditions: Parameter group. + :type modified_access_conditions: ~azure.storage.filedatalake.models.ModifiedAccessConditions + :keyword callable cls: A custom type or function that will be passed the direct response + :return: IO, or the result of cls(response) + :rtype: IO + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[IO] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + _lease_id = None + _if_match = None + _if_none_match = None + _if_modified_since = None + _if_unmodified_since = None + if lease_access_conditions is not None: + _lease_id = lease_access_conditions.lease_id + if modified_access_conditions is not None: + _if_match = modified_access_conditions.if_match + _if_none_match = modified_access_conditions.if_none_match + _if_modified_since = modified_access_conditions.if_modified_since + _if_unmodified_since = modified_access_conditions.if_unmodified_since + accept = "application/json" + + # Construct URL + url = self.read.metadata['url'] # type: ignore + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if request_id_parameter is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if range is not None: + header_parameters['Range'] = self._serialize.header("range", range, 'str') + if _lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", _lease_id, 'str') + if x_ms_range_get_content_md5 is not None: + header_parameters['x-ms-range-get-content-md5'] = self._serialize.header("x_ms_range_get_content_md5", x_ms_range_get_content_md5, 'bool') + if _if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", _if_match, 'str') + if _if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", _if_none_match, 'str') + if _if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", _if_modified_since, 'rfc-1123') + if _if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", _if_unmodified_since, 'rfc-1123') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=True, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 206]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.StorageError, response) + raise HttpResponseError(response=response, model=error) + + response_headers = {} + if response.status_code == 200: + response_headers['Accept-Ranges']=self._deserialize('str', response.headers.get('Accept-Ranges')) + response_headers['Cache-Control']=self._deserialize('str', response.headers.get('Cache-Control')) + response_headers['Content-Disposition']=self._deserialize('str', response.headers.get('Content-Disposition')) + response_headers['Content-Encoding']=self._deserialize('str', response.headers.get('Content-Encoding')) + response_headers['Content-Language']=self._deserialize('str', response.headers.get('Content-Language')) + response_headers['Content-Length']=self._deserialize('long', response.headers.get('Content-Length')) + response_headers['Content-Range']=self._deserialize('str', response.headers.get('Content-Range')) + response_headers['Content-Type']=self._deserialize('str', response.headers.get('Content-Type')) + response_headers['Content-MD5']=self._deserialize('str', response.headers.get('Content-MD5')) + response_headers['Date']=self._deserialize('rfc-1123', response.headers.get('Date')) + response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) + response_headers['Last-Modified']=self._deserialize('rfc-1123', response.headers.get('Last-Modified')) + response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id')) + response_headers['x-ms-version']=self._deserialize('str', response.headers.get('x-ms-version')) + response_headers['x-ms-resource-type']=self._deserialize('str', response.headers.get('x-ms-resource-type')) + response_headers['x-ms-properties']=self._deserialize('str', response.headers.get('x-ms-properties')) + response_headers['x-ms-lease-duration']=self._deserialize('str', response.headers.get('x-ms-lease-duration')) + response_headers['x-ms-lease-state']=self._deserialize('str', response.headers.get('x-ms-lease-state')) + response_headers['x-ms-lease-status']=self._deserialize('str', response.headers.get('x-ms-lease-status')) + deserialized = response.stream_download(self._client._pipeline) + + if response.status_code == 206: + response_headers['Accept-Ranges']=self._deserialize('str', response.headers.get('Accept-Ranges')) + response_headers['Cache-Control']=self._deserialize('str', response.headers.get('Cache-Control')) + response_headers['Content-Disposition']=self._deserialize('str', response.headers.get('Content-Disposition')) + response_headers['Content-Encoding']=self._deserialize('str', response.headers.get('Content-Encoding')) + response_headers['Content-Language']=self._deserialize('str', response.headers.get('Content-Language')) + response_headers['Content-Length']=self._deserialize('long', response.headers.get('Content-Length')) + response_headers['Content-Range']=self._deserialize('str', response.headers.get('Content-Range')) + response_headers['Content-Type']=self._deserialize('str', response.headers.get('Content-Type')) + response_headers['Content-MD5']=self._deserialize('str', response.headers.get('Content-MD5')) + response_headers['x-ms-content-md5']=self._deserialize('str', response.headers.get('x-ms-content-md5')) + response_headers['Date']=self._deserialize('rfc-1123', response.headers.get('Date')) + response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) + response_headers['Last-Modified']=self._deserialize('rfc-1123', response.headers.get('Last-Modified')) + response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id')) + response_headers['x-ms-version']=self._deserialize('str', response.headers.get('x-ms-version')) + response_headers['x-ms-resource-type']=self._deserialize('str', response.headers.get('x-ms-resource-type')) + response_headers['x-ms-properties']=self._deserialize('str', response.headers.get('x-ms-properties')) + response_headers['x-ms-lease-duration']=self._deserialize('str', response.headers.get('x-ms-lease-duration')) + response_headers['x-ms-lease-state']=self._deserialize('str', response.headers.get('x-ms-lease-state')) + response_headers['x-ms-lease-status']=self._deserialize('str', response.headers.get('x-ms-lease-status')) + deserialized = response.stream_download(self._client._pipeline) + + if cls: + return cls(pipeline_response, deserialized, response_headers) + + return deserialized + read.metadata = {'url': '/{filesystem}/{path}'} # type: ignore + + def get_properties( + self, + request_id_parameter=None, # type: Optional[str] + timeout=None, # type: Optional[int] + action=None, # type: Optional[Union[str, "_models.PathGetPropertiesAction"]] + upn=None, # type: Optional[bool] + lease_access_conditions=None, # type: Optional["_models.LeaseAccessConditions"] + modified_access_conditions=None, # type: Optional["_models.ModifiedAccessConditions"] + **kwargs # type: Any + ): + # type: (...) -> None + """Get Properties | Get Status | Get Access Control List. + + Get Properties returns all system and user defined properties for a path. Get Status returns + all system defined properties for a path. Get Access Control List returns the access control + list for a path. This operation supports conditional HTTP requests. For more information, see + `Specifying Conditional Headers for Blob Service Operations `_. + + :param request_id_parameter: Provides a client-generated, opaque value with a 1 KB character + limit that is recorded in the analytics logs when storage analytics logging is enabled. + :type request_id_parameter: str + :param timeout: The timeout parameter is expressed in seconds. For more information, see + :code:`Setting Timeouts for Blob Service Operations.`. + :type timeout: int + :param action: Optional. If the value is "getStatus" only the system defined properties for the + path are returned. If the value is "getAccessControl" the access control list is returned in + the response headers (Hierarchical Namespace must be enabled for the account), otherwise the + properties are returned. + :type action: str or ~azure.storage.filedatalake.models.PathGetPropertiesAction + :param upn: Optional. Valid only when Hierarchical Namespace is enabled for the account. If + "true", the user identity values returned in the x-ms-owner, x-ms-group, and x-ms-acl response + headers will be transformed from Azure Active Directory Object IDs to User Principal Names. If + "false", the values will be returned as Azure Active Directory Object IDs. The default value is + false. Note that group and application Object IDs are not translated because they do not have + unique friendly names. + :type upn: bool + :param lease_access_conditions: Parameter group. + :type lease_access_conditions: ~azure.storage.filedatalake.models.LeaseAccessConditions + :param modified_access_conditions: Parameter group. + :type modified_access_conditions: ~azure.storage.filedatalake.models.ModifiedAccessConditions + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + _lease_id = None + _if_match = None + _if_none_match = None + _if_modified_since = None + _if_unmodified_since = None + if lease_access_conditions is not None: + _lease_id = lease_access_conditions.lease_id + if modified_access_conditions is not None: + _if_match = modified_access_conditions.if_match + _if_none_match = modified_access_conditions.if_none_match + _if_modified_since = modified_access_conditions.if_modified_since + _if_unmodified_since = modified_access_conditions.if_unmodified_since + accept = "application/json" + + # Construct URL + url = self.get_properties.metadata['url'] # type: ignore + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + if action is not None: + query_parameters['action'] = self._serialize.query("action", action, 'str') + if upn is not None: + query_parameters['upn'] = self._serialize.query("upn", upn, 'bool') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if request_id_parameter is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if _lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", _lease_id, 'str') + if _if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", _if_match, 'str') + if _if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", _if_none_match, 'str') + if _if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", _if_modified_since, 'rfc-1123') + if _if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", _if_unmodified_since, 'rfc-1123') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.head(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.StorageError, response) + raise HttpResponseError(response=response, model=error) + + response_headers = {} + response_headers['Accept-Ranges']=self._deserialize('str', response.headers.get('Accept-Ranges')) + response_headers['Cache-Control']=self._deserialize('str', response.headers.get('Cache-Control')) + response_headers['Content-Disposition']=self._deserialize('str', response.headers.get('Content-Disposition')) + response_headers['Content-Encoding']=self._deserialize('str', response.headers.get('Content-Encoding')) + response_headers['Content-Language']=self._deserialize('str', response.headers.get('Content-Language')) + response_headers['Content-Length']=self._deserialize('long', response.headers.get('Content-Length')) + response_headers['Content-Range']=self._deserialize('str', response.headers.get('Content-Range')) + response_headers['Content-Type']=self._deserialize('str', response.headers.get('Content-Type')) + response_headers['Content-MD5']=self._deserialize('str', response.headers.get('Content-MD5')) + response_headers['Date']=self._deserialize('rfc-1123', response.headers.get('Date')) + response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) + response_headers['Last-Modified']=self._deserialize('rfc-1123', response.headers.get('Last-Modified')) + response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id')) + response_headers['x-ms-version']=self._deserialize('str', response.headers.get('x-ms-version')) + response_headers['x-ms-resource-type']=self._deserialize('str', response.headers.get('x-ms-resource-type')) + response_headers['x-ms-properties']=self._deserialize('str', response.headers.get('x-ms-properties')) + response_headers['x-ms-owner']=self._deserialize('str', response.headers.get('x-ms-owner')) + response_headers['x-ms-group']=self._deserialize('str', response.headers.get('x-ms-group')) + response_headers['x-ms-permissions']=self._deserialize('str', response.headers.get('x-ms-permissions')) + response_headers['x-ms-acl']=self._deserialize('str', response.headers.get('x-ms-acl')) + response_headers['x-ms-lease-duration']=self._deserialize('str', response.headers.get('x-ms-lease-duration')) + response_headers['x-ms-lease-state']=self._deserialize('str', response.headers.get('x-ms-lease-state')) + response_headers['x-ms-lease-status']=self._deserialize('str', response.headers.get('x-ms-lease-status')) + + if cls: + return cls(pipeline_response, None, response_headers) + + get_properties.metadata = {'url': '/{filesystem}/{path}'} # type: ignore + + def delete( + self, + request_id_parameter=None, # type: Optional[str] + timeout=None, # type: Optional[int] + recursive=None, # type: Optional[bool] + continuation=None, # type: Optional[str] + lease_access_conditions=None, # type: Optional["_models.LeaseAccessConditions"] + modified_access_conditions=None, # type: Optional["_models.ModifiedAccessConditions"] + **kwargs # type: Any + ): + # type: (...) -> None + """Delete File | Delete Directory. + + Delete the file or directory. This operation supports conditional HTTP requests. For more + information, see `Specifying Conditional Headers for Blob Service Operations + `_. + + :param request_id_parameter: Provides a client-generated, opaque value with a 1 KB character + limit that is recorded in the analytics logs when storage analytics logging is enabled. + :type request_id_parameter: str + :param timeout: The timeout parameter is expressed in seconds. For more information, see + :code:`Setting Timeouts for Blob Service Operations.`. + :type timeout: int + :param recursive: Required. + :type recursive: bool + :param continuation: Optional. When deleting a directory, the number of paths that are deleted + with each invocation is limited. If the number of paths to be deleted exceeds this limit, a + continuation token is returned in this response header. When a continuation token is returned + in the response, it must be specified in a subsequent invocation of the delete operation to + continue deleting the directory. + :type continuation: str + :param lease_access_conditions: Parameter group. + :type lease_access_conditions: ~azure.storage.filedatalake.models.LeaseAccessConditions + :param modified_access_conditions: Parameter group. + :type modified_access_conditions: ~azure.storage.filedatalake.models.ModifiedAccessConditions + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + _lease_id = None + _if_match = None + _if_none_match = None + _if_modified_since = None + _if_unmodified_since = None + if lease_access_conditions is not None: + _lease_id = lease_access_conditions.lease_id + if modified_access_conditions is not None: + _if_match = modified_access_conditions.if_match + _if_none_match = modified_access_conditions.if_none_match + _if_modified_since = modified_access_conditions.if_modified_since + _if_unmodified_since = modified_access_conditions.if_unmodified_since + accept = "application/json" + + # Construct URL + url = self.delete.metadata['url'] # type: ignore + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + if recursive is not None: + query_parameters['recursive'] = self._serialize.query("recursive", recursive, 'bool') + if continuation is not None: + query_parameters['continuation'] = self._serialize.query("continuation", continuation, 'str') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if request_id_parameter is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if _lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", _lease_id, 'str') + if _if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", _if_match, 'str') + if _if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", _if_none_match, 'str') + if _if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", _if_modified_since, 'rfc-1123') + if _if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", _if_unmodified_since, 'rfc-1123') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.StorageError, response) + raise HttpResponseError(response=response, model=error) + + response_headers = {} + response_headers['Date']=self._deserialize('rfc-1123', response.headers.get('Date')) + response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id')) + response_headers['x-ms-version']=self._deserialize('str', response.headers.get('x-ms-version')) + response_headers['x-ms-continuation']=self._deserialize('str', response.headers.get('x-ms-continuation')) + response_headers['x-ms-deletion-id']=self._deserialize('str', response.headers.get('x-ms-deletion-id')) + + if cls: + return cls(pipeline_response, None, response_headers) + + delete.metadata = {'url': '/{filesystem}/{path}'} # type: ignore + + def set_access_control( + self, + timeout=None, # type: Optional[int] + owner=None, # type: Optional[str] + group=None, # type: Optional[str] + permissions=None, # type: Optional[str] + acl=None, # type: Optional[str] + request_id_parameter=None, # type: Optional[str] + lease_access_conditions=None, # type: Optional["_models.LeaseAccessConditions"] + modified_access_conditions=None, # type: Optional["_models.ModifiedAccessConditions"] + **kwargs # type: Any + ): + # type: (...) -> None + """Set the owner, group, permissions, or access control list for a path. + + :param timeout: The timeout parameter is expressed in seconds. For more information, see + :code:`Setting Timeouts for Blob Service Operations.`. + :type timeout: int + :param owner: Optional. The owner of the blob or directory. + :type owner: str + :param group: Optional. The owning group of the blob or directory. + :type group: str + :param permissions: Optional and only valid if Hierarchical Namespace is enabled for the + account. Sets POSIX access permissions for the file owner, the file owning group, and others. + Each class may be granted read, write, or execute permission. The sticky bit is also + supported. Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are supported. + :type permissions: str + :param acl: Sets POSIX access control rights on files and directories. The value is a comma- + separated list of access control entries. Each access control entry (ACE) consists of a scope, + a type, a user or group identifier, and permissions in the format + "[scope:][type]:[id]:[permissions]". + :type acl: str + :param request_id_parameter: Provides a client-generated, opaque value with a 1 KB character + limit that is recorded in the analytics logs when storage analytics logging is enabled. + :type request_id_parameter: str + :param lease_access_conditions: Parameter group. + :type lease_access_conditions: ~azure.storage.filedatalake.models.LeaseAccessConditions + :param modified_access_conditions: Parameter group. + :type modified_access_conditions: ~azure.storage.filedatalake.models.ModifiedAccessConditions + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + _lease_id = None + _if_match = None + _if_none_match = None + _if_modified_since = None + _if_unmodified_since = None + if lease_access_conditions is not None: + _lease_id = lease_access_conditions.lease_id + if modified_access_conditions is not None: + _if_match = modified_access_conditions.if_match + _if_none_match = modified_access_conditions.if_none_match + _if_modified_since = modified_access_conditions.if_modified_since + _if_unmodified_since = modified_access_conditions.if_unmodified_since + action = "setAccessControl" + accept = "application/json" + + # Construct URL + url = self.set_access_control.metadata['url'] # type: ignore + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['action'] = self._serialize.query("action", action, 'str') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if _lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", _lease_id, 'str') + if owner is not None: + header_parameters['x-ms-owner'] = self._serialize.header("owner", owner, 'str') + if group is not None: + header_parameters['x-ms-group'] = self._serialize.header("group", group, 'str') + if permissions is not None: + header_parameters['x-ms-permissions'] = self._serialize.header("permissions", permissions, 'str') + if acl is not None: + header_parameters['x-ms-acl'] = self._serialize.header("acl", acl, 'str') + if _if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", _if_match, 'str') + if _if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", _if_none_match, 'str') + if _if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", _if_modified_since, 'rfc-1123') + if _if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", _if_unmodified_since, 'rfc-1123') + if request_id_parameter is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.patch(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.StorageError, response) + raise HttpResponseError(response=response, model=error) + + response_headers = {} + response_headers['Date']=self._deserialize('rfc-1123', response.headers.get('Date')) + response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) + response_headers['Last-Modified']=self._deserialize('rfc-1123', response.headers.get('Last-Modified')) + response_headers['x-ms-client-request-id']=self._deserialize('str', response.headers.get('x-ms-client-request-id')) + response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id')) + response_headers['x-ms-version']=self._deserialize('str', response.headers.get('x-ms-version')) + + if cls: + return cls(pipeline_response, None, response_headers) + + set_access_control.metadata = {'url': '/{filesystem}/{path}'} # type: ignore + + def set_access_control_recursive( + self, + mode, # type: Union[str, "_models.PathSetAccessControlRecursiveMode"] + timeout=None, # type: Optional[int] + continuation=None, # type: Optional[str] + force_flag=None, # type: Optional[bool] + max_records=None, # type: Optional[int] + acl=None, # type: Optional[str] + request_id_parameter=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> "_models.SetAccessControlRecursiveResponse" + """Set the access control list for a path and subpaths. + + :param mode: Mode "set" sets POSIX access control rights on files and directories, "modify" + modifies one or more POSIX access control rights that pre-exist on files and directories, + "remove" removes one or more POSIX access control rights that were present earlier on files + and directories. + :type mode: str or ~azure.storage.filedatalake.models.PathSetAccessControlRecursiveMode + :param timeout: The timeout parameter is expressed in seconds. For more information, see + :code:`Setting Timeouts for Blob Service Operations.`. + :type timeout: int + :param continuation: Optional. When deleting a directory, the number of paths that are deleted + with each invocation is limited. If the number of paths to be deleted exceeds this limit, a + continuation token is returned in this response header. When a continuation token is returned + in the response, it must be specified in a subsequent invocation of the delete operation to + continue deleting the directory. + :type continuation: str + :param force_flag: Optional. Valid for "SetAccessControlRecursive" operation. If set to false, + the operation will terminate quickly on encountering user errors (4XX). If true, the operation + will ignore user errors and proceed with the operation on other sub-entities of the directory. + Continuation token will only be returned when forceFlag is true in case of user errors. If not + set the default value is false for this. + :type force_flag: bool + :param max_records: Optional. It specifies the maximum number of files or directories on which + the acl change will be applied. If omitted or greater than 2,000, the request will process up + to 2,000 items. + :type max_records: int + :param acl: Sets POSIX access control rights on files and directories. The value is a comma- + separated list of access control entries. Each access control entry (ACE) consists of a scope, + a type, a user or group identifier, and permissions in the format + "[scope:][type]:[id]:[permissions]". + :type acl: str + :param request_id_parameter: Provides a client-generated, opaque value with a 1 KB character + limit that is recorded in the analytics logs when storage analytics logging is enabled. + :type request_id_parameter: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: SetAccessControlRecursiveResponse, or the result of cls(response) + :rtype: ~azure.storage.filedatalake.models.SetAccessControlRecursiveResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.SetAccessControlRecursiveResponse"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + action = "setAccessControlRecursive" + accept = "application/json" + + # Construct URL + url = self.set_access_control_recursive.metadata['url'] # type: ignore + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['action'] = self._serialize.query("action", action, 'str') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + if continuation is not None: + query_parameters['continuation'] = self._serialize.query("continuation", continuation, 'str') + query_parameters['mode'] = self._serialize.query("mode", mode, 'str') + if force_flag is not None: + query_parameters['forceFlag'] = self._serialize.query("force_flag", force_flag, 'bool') + if max_records is not None: + query_parameters['maxRecords'] = self._serialize.query("max_records", max_records, 'int', minimum=1) + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if acl is not None: + header_parameters['x-ms-acl'] = self._serialize.header("acl", acl, 'str') + if request_id_parameter is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.patch(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.StorageError, response) + raise HttpResponseError(response=response, model=error) + + response_headers = {} + response_headers['Date']=self._deserialize('rfc-1123', response.headers.get('Date')) + response_headers['x-ms-client-request-id']=self._deserialize('str', response.headers.get('x-ms-client-request-id')) + response_headers['x-ms-continuation']=self._deserialize('str', response.headers.get('x-ms-continuation')) + response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id')) + response_headers['x-ms-version']=self._deserialize('str', response.headers.get('x-ms-version')) + deserialized = self._deserialize('SetAccessControlRecursiveResponse', pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, response_headers) + + return deserialized + set_access_control_recursive.metadata = {'url': '/{filesystem}/{path}'} # type: ignore + + def flush_data( + self, + timeout=None, # type: Optional[int] + position=None, # type: Optional[int] + retain_uncommitted_data=None, # type: Optional[bool] + close=None, # type: Optional[bool] + content_length=None, # type: Optional[int] + request_id_parameter=None, # type: Optional[str] + path_http_headers=None, # type: Optional["_models.PathHTTPHeaders"] + lease_access_conditions=None, # type: Optional["_models.LeaseAccessConditions"] + modified_access_conditions=None, # type: Optional["_models.ModifiedAccessConditions"] + **kwargs # type: Any + ): + # type: (...) -> None + """Set the owner, group, permissions, or access control list for a path. + + :param timeout: The timeout parameter is expressed in seconds. For more information, see + :code:`Setting Timeouts for Blob Service Operations.`. + :type timeout: int + :param position: This parameter allows the caller to upload data in parallel and control the + order in which it is appended to the file. It is required when uploading data to be appended + to the file and when flushing previously uploaded data to the file. The value must be the + position where the data is to be appended. Uploaded data is not immediately flushed, or + written, to the file. To flush, the previously uploaded data must be contiguous, the position + parameter must be specified and equal to the length of the file after all data has been + written, and there must not be a request entity body included with the request. + :type position: long + :param retain_uncommitted_data: Valid only for flush operations. If "true", uncommitted data + is retained after the flush operation completes; otherwise, the uncommitted data is deleted + after the flush operation. The default is false. Data at offsets less than the specified + position are written to the file when flush succeeds, but this optional parameter allows data + after the flush position to be retained for a future flush operation. + :type retain_uncommitted_data: bool + :param close: Azure Storage Events allow applications to receive notifications when files + change. When Azure Storage Events are enabled, a file changed event is raised. This event has a + property indicating whether this is the final change to distinguish the difference between an + intermediate flush to a file stream and the final close of a file stream. The close query + parameter is valid only when the action is "flush" and change notifications are enabled. If the + value of close is "true" and the flush operation completes successfully, the service raises a + file change notification with a property indicating that this is the final update (the file + stream has been closed). If "false" a change notification is raised indicating the file has + changed. The default is false. This query parameter is set to true by the Hadoop ABFS driver to + indicate that the file stream has been closed.". + :type close: bool + :param content_length: Required for "Append Data" and "Flush Data". Must be 0 for "Flush + Data". Must be the length of the request content in bytes for "Append Data". + :type content_length: long + :param request_id_parameter: Provides a client-generated, opaque value with a 1 KB character + limit that is recorded in the analytics logs when storage analytics logging is enabled. + :type request_id_parameter: str + :param path_http_headers: Parameter group. + :type path_http_headers: ~azure.storage.filedatalake.models.PathHTTPHeaders + :param lease_access_conditions: Parameter group. + :type lease_access_conditions: ~azure.storage.filedatalake.models.LeaseAccessConditions + :param modified_access_conditions: Parameter group. + :type modified_access_conditions: ~azure.storage.filedatalake.models.ModifiedAccessConditions + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + _content_md5 = None + _lease_id = None + _cache_control = None + _content_type = None + _content_disposition = None + _content_encoding = None + _content_language = None + _if_match = None + _if_none_match = None + _if_modified_since = None + _if_unmodified_since = None + if lease_access_conditions is not None: + _lease_id = lease_access_conditions.lease_id + if modified_access_conditions is not None: + _if_match = modified_access_conditions.if_match + _if_none_match = modified_access_conditions.if_none_match + _if_modified_since = modified_access_conditions.if_modified_since + _if_unmodified_since = modified_access_conditions.if_unmodified_since + if path_http_headers is not None: + _content_md5 = path_http_headers.content_md5 + _cache_control = path_http_headers.cache_control + _content_type = path_http_headers.content_type + _content_disposition = path_http_headers.content_disposition + _content_encoding = path_http_headers.content_encoding + _content_language = path_http_headers.content_language + action = "flush" + accept = "application/json" + + # Construct URL + url = self.flush_data.metadata['url'] # type: ignore + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['action'] = self._serialize.query("action", action, 'str') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + if position is not None: + query_parameters['position'] = self._serialize.query("position", position, 'long') + if retain_uncommitted_data is not None: + query_parameters['retainUncommittedData'] = self._serialize.query("retain_uncommitted_data", retain_uncommitted_data, 'bool') + if close is not None: + query_parameters['close'] = self._serialize.query("close", close, 'bool') + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if content_length is not None: + header_parameters['Content-Length'] = self._serialize.header("content_length", content_length, 'long', minimum=0) + if _content_md5 is not None: + header_parameters['x-ms-content-md5'] = self._serialize.header("content_md5", _content_md5, 'bytearray') + if _lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", _lease_id, 'str') + if _cache_control is not None: + header_parameters['x-ms-cache-control'] = self._serialize.header("cache_control", _cache_control, 'str') + if _content_type is not None: + header_parameters['x-ms-content-type'] = self._serialize.header("content_type", _content_type, 'str') + if _content_disposition is not None: + header_parameters['x-ms-content-disposition'] = self._serialize.header("content_disposition", _content_disposition, 'str') + if _content_encoding is not None: + header_parameters['x-ms-content-encoding'] = self._serialize.header("content_encoding", _content_encoding, 'str') + if _content_language is not None: + header_parameters['x-ms-content-language'] = self._serialize.header("content_language", _content_language, 'str') + if _if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", _if_match, 'str') + if _if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", _if_none_match, 'str') + if _if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", _if_modified_since, 'rfc-1123') + if _if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", _if_unmodified_since, 'rfc-1123') + if request_id_parameter is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.patch(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.StorageError, response) + raise HttpResponseError(response=response, model=error) + + response_headers = {} + response_headers['Date']=self._deserialize('rfc-1123', response.headers.get('Date')) + response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) + response_headers['Last-Modified']=self._deserialize('rfc-1123', response.headers.get('Last-Modified')) + response_headers['Content-Length']=self._deserialize('long', response.headers.get('Content-Length')) + response_headers['x-ms-client-request-id']=self._deserialize('str', response.headers.get('x-ms-client-request-id')) + response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id')) + response_headers['x-ms-version']=self._deserialize('str', response.headers.get('x-ms-version')) + + if cls: + return cls(pipeline_response, None, response_headers) + + flush_data.metadata = {'url': '/{filesystem}/{path}'} # type: ignore + + def append_data( + self, + body, # type: IO + position=None, # type: Optional[int] + timeout=None, # type: Optional[int] + content_length=None, # type: Optional[int] + transactional_content_crc64=None, # type: Optional[bytearray] + request_id_parameter=None, # type: Optional[str] + path_http_headers=None, # type: Optional["_models.PathHTTPHeaders"] + lease_access_conditions=None, # type: Optional["_models.LeaseAccessConditions"] + **kwargs # type: Any + ): + # type: (...) -> None + """Append data to the file. + + :param body: Initial data. + :type body: IO + :param position: This parameter allows the caller to upload data in parallel and control the + order in which it is appended to the file. It is required when uploading data to be appended + to the file and when flushing previously uploaded data to the file. The value must be the + position where the data is to be appended. Uploaded data is not immediately flushed, or + written, to the file. To flush, the previously uploaded data must be contiguous, the position + parameter must be specified and equal to the length of the file after all data has been + written, and there must not be a request entity body included with the request. + :type position: long + :param timeout: The timeout parameter is expressed in seconds. For more information, see + :code:`Setting Timeouts for Blob Service Operations.`. + :type timeout: int + :param content_length: Required for "Append Data" and "Flush Data". Must be 0 for "Flush + Data". Must be the length of the request content in bytes for "Append Data". + :type content_length: long + :param transactional_content_crc64: Specify the transactional crc64 for the body, to be + validated by the service. + :type transactional_content_crc64: bytearray + :param request_id_parameter: Provides a client-generated, opaque value with a 1 KB character + limit that is recorded in the analytics logs when storage analytics logging is enabled. + :type request_id_parameter: str + :param path_http_headers: Parameter group. + :type path_http_headers: ~azure.storage.filedatalake.models.PathHTTPHeaders + :param lease_access_conditions: Parameter group. + :type lease_access_conditions: ~azure.storage.filedatalake.models.LeaseAccessConditions + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + + _transactional_content_hash = None + _lease_id = None + if lease_access_conditions is not None: + _lease_id = lease_access_conditions.lease_id + if path_http_headers is not None: + _transactional_content_hash = path_http_headers.transactional_content_hash + action = "append" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + + # Construct URL + url = self.append_data.metadata['url'] # type: ignore + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['action'] = self._serialize.query("action", action, 'str') + if position is not None: + query_parameters['position'] = self._serialize.query("position", position, 'long') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if content_length is not None: + header_parameters['Content-Length'] = self._serialize.header("content_length", content_length, 'long', minimum=0) + if _transactional_content_hash is not None: + header_parameters['Content-MD5'] = self._serialize.header("transactional_content_hash", _transactional_content_hash, 'bytearray') + if transactional_content_crc64 is not None: + header_parameters['x-ms-content-crc64'] = self._serialize.header("transactional_content_crc64", transactional_content_crc64, 'bytearray') + if _lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", _lease_id, 'str') + if request_id_parameter is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + body_content_kwargs = {} # type: Dict[str, Any] + body_content_kwargs['stream_content'] = body + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.StorageError, response) + raise HttpResponseError(response=response, model=error) + + response_headers = {} + response_headers['Date']=self._deserialize('rfc-1123', response.headers.get('Date')) + response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id')) + response_headers['x-ms-client-request-id']=self._deserialize('str', response.headers.get('x-ms-client-request-id')) + response_headers['x-ms-version']=self._deserialize('str', response.headers.get('x-ms-version')) + response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) + response_headers['Content-MD5']=self._deserialize('bytearray', response.headers.get('Content-MD5')) + response_headers['x-ms-content-crc64']=self._deserialize('bytearray', response.headers.get('x-ms-content-crc64')) + response_headers['x-ms-request-server-encrypted']=self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')) + + if cls: + return cls(pipeline_response, None, response_headers) + + append_data.metadata = {'url': '/{filesystem}/{path}'} # type: ignore + + def set_expiry( + self, + expiry_options, # type: Union[str, "_models.PathExpiryOptions"] + timeout=None, # type: Optional[int] + request_id_parameter=None, # type: Optional[str] + expires_on=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> None + """Sets the time a blob will expire and be deleted. + + :param expiry_options: Required. Indicates mode of the expiry time. + :type expiry_options: str or ~azure.storage.filedatalake.models.PathExpiryOptions + :param timeout: The timeout parameter is expressed in seconds. For more information, see + :code:`Setting Timeouts for Blob Service Operations.`. + :type timeout: int + :param request_id_parameter: Provides a client-generated, opaque value with a 1 KB character + limit that is recorded in the analytics logs when storage analytics logging is enabled. + :type request_id_parameter: str + :param expires_on: The time to set the blob to expiry. + :type expires_on: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + comp = "expiry" + accept = "application/json" + + # Construct URL + url = self.set_expiry.metadata['url'] # type: ignore + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id_parameter is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str') + header_parameters['x-ms-expiry-option'] = self._serialize.header("expiry_options", expiry_options, 'str') + if expires_on is not None: + header_parameters['x-ms-expiry-time'] = self._serialize.header("expires_on", expires_on, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.StorageError, response) + raise HttpResponseError(response=response, model=error) + + response_headers = {} + response_headers['ETag']=self._deserialize('str', response.headers.get('ETag')) + response_headers['Last-Modified']=self._deserialize('rfc-1123', response.headers.get('Last-Modified')) + response_headers['x-ms-client-request-id']=self._deserialize('str', response.headers.get('x-ms-client-request-id')) + response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id')) + response_headers['x-ms-version']=self._deserialize('str', response.headers.get('x-ms-version')) + response_headers['Date']=self._deserialize('rfc-1123', response.headers.get('Date')) + + if cls: + return cls(pipeline_response, None, response_headers) + + set_expiry.metadata = {'url': '/{filesystem}/{path}'} # type: ignore + + def undelete( + self, + timeout=None, # type: Optional[int] + undelete_source=None, # type: Optional[str] + request_id_parameter=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> None + """Undelete a path that was previously soft deleted. + + :param timeout: The timeout parameter is expressed in seconds. For more information, see + :code:`Setting Timeouts for Blob Service Operations.`. + :type timeout: int + :param undelete_source: Only for hierarchical namespace enabled accounts. Optional. The path of + the soft deleted blob to undelete. + :type undelete_source: str + :param request_id_parameter: Provides a client-generated, opaque value with a 1 KB character + limit that is recorded in the analytics logs when storage analytics logging is enabled. + :type request_id_parameter: str + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + comp = "undelete" + accept = "application/json" + + # Construct URL + url = self.undelete.metadata['url'] # type: ignore + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if undelete_source is not None: + header_parameters['x-ms-undelete-source'] = self._serialize.header("undelete_source", undelete_source, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id_parameter is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.StorageError, response) + raise HttpResponseError(response=response, model=error) + + response_headers = {} + response_headers['x-ms-client-request-id']=self._deserialize('str', response.headers.get('x-ms-client-request-id')) + response_headers['x-ms-request-id']=self._deserialize('str', response.headers.get('x-ms-request-id')) + response_headers['x-ms-resource-type']=self._deserialize('str', response.headers.get('x-ms-resource-type')) + response_headers['x-ms-version']=self._deserialize('str', response.headers.get('x-ms-version')) + response_headers['Date']=self._deserialize('rfc-1123', response.headers.get('Date')) + + if cls: + return cls(pipeline_response, None, response_headers) + + undelete.metadata = {'url': '/{filesystem}/{path}'} # type: ignore diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/operations/_service_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/operations/_service_operations.py new file mode 100644 index 00000000000..2db3801abff --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/operations/_service_operations.py @@ -0,0 +1,153 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings + +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse + +from .. import models as _models + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +class ServiceOperations(object): + """ServiceOperations operations. + + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + + :ivar models: Alias to model classes used in this operation group. + :type models: ~azure.storage.filedatalake.models + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = _models + + def __init__(self, client, config, serializer, deserializer): + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self._config = config + + def list_file_systems( + self, + prefix=None, # type: Optional[str] + continuation=None, # type: Optional[str] + max_results=None, # type: Optional[int] + request_id_parameter=None, # type: Optional[str] + timeout=None, # type: Optional[int] + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.FileSystemList"] + """List FileSystems. + + List filesystems and their properties in given account. + + :param prefix: Filters results to filesystems within the specified prefix. + :type prefix: str + :param continuation: Optional. When deleting a directory, the number of paths that are deleted + with each invocation is limited. If the number of paths to be deleted exceeds this limit, a + continuation token is returned in this response header. When a continuation token is returned + in the response, it must be specified in a subsequent invocation of the delete operation to + continue deleting the directory. + :type continuation: str + :param max_results: An optional value that specifies the maximum number of items to return. If + omitted or greater than 5,000, the response will include up to 5,000 items. + :type max_results: int + :param request_id_parameter: Provides a client-generated, opaque value with a 1 KB character + limit that is recorded in the analytics logs when storage analytics logging is enabled. + :type request_id_parameter: str + :param timeout: The timeout parameter is expressed in seconds. For more information, see + :code:`Setting Timeouts for Blob Service Operations.`. + :type timeout: int + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either FileSystemList or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~azure.storage.filedatalake.models.FileSystemList] + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.FileSystemList"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + resource = "account" + accept = "application/json" + + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + if request_id_parameter is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + + if not next_link: + # Construct URL + url = self.list_file_systems.metadata['url'] # type: ignore + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + # Construct parameters + query_parameters = {} # type: Dict[str, Any] + query_parameters['resource'] = self._serialize.query("resource", resource, 'str') + if prefix is not None: + query_parameters['prefix'] = self._serialize.query("prefix", prefix, 'str') + if continuation is not None: + query_parameters['continuation'] = self._serialize.query("continuation", continuation, 'str') + if max_results is not None: + query_parameters['maxResults'] = self._serialize.query("max_results", max_results, 'int', minimum=1) + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + + request = self._client.get(url, query_parameters, header_parameters) + else: + url = next_link + query_parameters = {} # type: Dict[str, Any] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True), + } + url = self._client.format_url(url, **path_format_arguments) + request = self._client.get(url, query_parameters, header_parameters) + return request + + def extract_data(pipeline_response): + deserialized = self._deserialize('FileSystemList', pipeline_response) + list_of_elem = deserialized.filesystems + if cls: + list_of_elem = cls(list_of_elem) + return None, iter(list_of_elem) + + def get_next(next_link=None): + request = prepare_request(next_link) + + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + error = self._deserialize.failsafe_deserialize(_models.StorageError, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error) + + return pipeline_response + + return ItemPaged( + get_next, extract_data + ) + list_file_systems.metadata = {'url': '/'} # type: ignore diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/version.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/version.py new file mode 100644 index 00000000000..1bb78b965c0 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_generated/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 = "2020-06-12" + diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_list_paths_helper.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_list_paths_helper.py new file mode 100644 index 00000000000..543e1e11578 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_list_paths_helper.py @@ -0,0 +1,108 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- + +from azure.core.paging import PageIterator +from azure.core.exceptions import HttpResponseError +from ._deserialize import process_storage_error, get_deleted_path_properties_from_generated_code +from ._generated.models import BlobItemInternal, BlobPrefix as GenBlobPrefix +from ._shared.models import DictMixin +from ._shared.response_handlers import return_context_and_deserialized + + +class DeletedPathPropertiesPaged(PageIterator): + """An Iterable of deleted path properties. + + :ivar str service_endpoint: The service URL. + :ivar str prefix: A path name prefix being used to filter the list. + :ivar str marker: The continuation token of the current page of results. + :ivar int results_per_page: The maximum number of results retrieved per API call. + :ivar str continuation_token: The continuation token to retrieve the next page of results. + :ivar str location_mode: The location mode being used to list results. The available + options include "primary" and "secondary". + :ivar current_page: The current page of listed results. + :vartype current_page: list(~azure.storage.filedatalake.DeletedPathProperties) + :ivar str container: The container that the paths are listed from. + :ivar str delimiter: A delimiting character used for hierarchy listing. + + :param callable command: Function to retrieve the next page of items. + """ + def __init__( + self, command, + container=None, + prefix=None, + results_per_page=None, + continuation_token=None, + delimiter=None, + location_mode=None): + super(DeletedPathPropertiesPaged, self).__init__( + get_next=self._get_next_cb, + extract_data=self._extract_data_cb, + continuation_token=continuation_token or "" + ) + self._command = command + self.service_endpoint = None + self.prefix = prefix + self.marker = None + self.results_per_page = results_per_page + self.container = container + self.delimiter = delimiter + self.current_page = None + self.location_mode = location_mode + + def _get_next_cb(self, continuation_token): + try: + return self._command( + prefix=self.prefix, + marker=continuation_token or None, + max_results=self.results_per_page, + cls=return_context_and_deserialized, + use_location=self.location_mode) + except HttpResponseError as error: + process_storage_error(error) + + def _extract_data_cb(self, get_next_return): + self.location_mode, self._response = get_next_return + self.service_endpoint = self._response.service_endpoint + self.prefix = self._response.prefix + self.marker = self._response.marker + self.results_per_page = self._response.max_results + self.container = self._response.container_name + self.current_page = self._response.segment.blob_prefixes + self._response.segment.blob_items + self.current_page = [self._build_item(item) for item in self.current_page] + self.delimiter = self._response.delimiter + + return self._response.next_marker or None, self.current_page + + def _build_item(self, item): + if isinstance(item, BlobItemInternal): + file_props = get_deleted_path_properties_from_generated_code(item) + file_props.file_system = self.container + return file_props + if isinstance(item, GenBlobPrefix): + return DirectoryPrefix( + container=self.container, + prefix=item.name, + results_per_page=self.results_per_page, + location_mode=self.location_mode) + return item + + +class DirectoryPrefix(DictMixin): + """Directory prefix. + + :ivar str name: Name of the deleted directory. + :ivar int results_per_page: The maximum number of results retrieved per API call. + :ivar str location_mode: The location mode being used to list results. The available + options include "primary" and "secondary". + :ivar str file_system: The file system that the deleted paths are listed from. + :ivar str delimiter: A delimiting character used for hierarchy listing. + """ + def __init__(self, **kwargs): + self.name = kwargs.get('prefix') + self.results_per_page = kwargs.get('results_per_page') + self.file_system = kwargs.get('container') + self.delimiter = kwargs.get('delimiter') + self.location_mode = kwargs.get('location_mode') diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_models.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_models.py new file mode 100644 index 00000000000..612dc93fe49 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_models.py @@ -0,0 +1,1028 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +# pylint: disable=too-few-public-methods, too-many-instance-attributes +# pylint: disable=super-init-not-called, too-many-lines +from datetime import datetime +from enum import Enum + +from ...blob import LeaseProperties as BlobLeaseProperties +from ...blob import AccountSasPermissions as BlobAccountSasPermissions +from ...blob import ResourceTypes as BlobResourceTypes +from ...blob import UserDelegationKey as BlobUserDelegationKey +from ...blob import ContentSettings as BlobContentSettings +from ...blob import AccessPolicy as BlobAccessPolicy +from ...blob import DelimitedTextDialect as BlobDelimitedTextDialect +from ...blob import DelimitedJsonDialect as BlobDelimitedJSON +from ...blob import ArrowDialect as BlobArrowDialect +from ...blob._models import ContainerPropertiesPaged +from ...blob._generated.models import Logging as GenLogging, Metrics as GenMetrics, \ + RetentionPolicy as GenRetentionPolicy, StaticWebsite as GenStaticWebsite, CorsRule as GenCorsRule +from ._shared.models import DictMixin + + +class FileSystemProperties(object): + """File System properties class. + + :ivar ~datetime.datetime last_modified: + A datetime object representing the last time the file system was modified. + :ivar str etag: + The ETag contains a value that you can use to perform operations + conditionally. + :ivar ~...filedatalake.LeaseProperties lease: + Stores all the lease information for the file system. + :ivar str public_access: Specifies whether data in the file system may be accessed + publicly and the level of access. + :ivar bool has_immutability_policy: + Represents whether the file system has an immutability policy. + :ivar bool has_legal_hold: + Represents whether the file system has a legal hold. + :ivar dict metadata: A dict with name-value pairs to associate with the + file system as metadata. + :ivar bool deleted: + Whether this file system was deleted. + :ivar str deleted_version: + The version of a deleted file system. + + Returned ``FileSystemProperties`` instances expose these values through a + dictionary interface, for example: ``file_system_props["last_modified"]``. + Additionally, the file system name is available as ``file_system_props["name"]``. + """ + + def __init__(self): + self.name = None + self.last_modified = None + self.etag = None + self.lease = None + self.public_access = None + self.has_immutability_policy = None + self.has_legal_hold = None + self.metadata = None + self.deleted = None + self.deleted_version = None + + @classmethod + def _from_generated(cls, generated): + props = cls() + props.name = generated.name + props.last_modified = generated.properties.last_modified + props.deleted = generated.deleted + props.deleted_version = generated.version + props.etag = generated.properties.etag + props.lease = LeaseProperties._from_generated(generated) # pylint: disable=protected-access + props.public_access = PublicAccess._from_generated( # pylint: disable=protected-access + generated.properties.public_access) + props.has_immutability_policy = generated.properties.has_immutability_policy + props.has_legal_hold = generated.properties.has_legal_hold + props.metadata = generated.metadata + return props + + @classmethod + def _convert_from_container_props(cls, container_properties): + container_properties.__class__ = cls + container_properties.public_access = PublicAccess._from_generated( # pylint: disable=protected-access + container_properties.public_access) + container_properties.lease.__class__ = LeaseProperties + return container_properties + + +class FileSystemPropertiesPaged(ContainerPropertiesPaged): + """An Iterable of File System properties. + + :ivar str service_endpoint: The service URL. + :ivar str prefix: A file system name prefix being used to filter the list. + :ivar str marker: The continuation token of the current page of results. + :ivar int results_per_page: The maximum number of results retrieved per API call. + :ivar str continuation_token: The continuation token to retrieve the next page of results. + :ivar str location_mode: The location mode being used to list results. The available + options include "primary" and "secondary". + :ivar current_page: The current page of listed results. + :vartype current_page: list(~...filedatalake.FileSystemProperties) + + :param callable command: Function to retrieve the next page of items. + :param str prefix: Filters the results to return only file systems whose names + begin with the specified prefix. + :param int results_per_page: The maximum number of file system names to retrieve per + call. + :param str continuation_token: An opaque continuation token. + """ + + def __init__(self, *args, **kwargs): + super(FileSystemPropertiesPaged, self).__init__( + *args, + **kwargs + ) + + @staticmethod + def _build_item(item): + return FileSystemProperties._from_generated(item) # pylint: disable=protected-access + + +class DirectoryProperties(DictMixin): + """ + :ivar str name: name of the directory + :ivar str etag: The ETag contains a value that you can use to perform operations + conditionally. + :ivar bool deleted: if the current directory marked as deleted + :ivar dict metadata: Name-value pairs associated with the directory as metadata. + :ivar ~...filedatalake.LeaseProperties lease: + Stores all the lease information for the directory. + :ivar ~datetime.datetime last_modified: + A datetime object representing the last time the directory was modified. + :ivar ~datetime.datetime creation_time: + Indicates when the directory was created, in UTC. + :ivar int remaining_retention_days: The number of days that the directory will be retained + before being permanently deleted by the service. + :var ~...filedatalake.ContentSettings content_settings: + """ + + def __init__(self, **kwargs): + self.name = kwargs.get('name') + self.etag = kwargs.get('ETag') + self.deleted = False + self.metadata = kwargs.get('metadata') + self.lease = LeaseProperties(**kwargs) + self.last_modified = kwargs.get('Last-Modified') + self.creation_time = kwargs.get('x-ms-creation-time') + self.deleted_time = None + self.remaining_retention_days = None + + +class FileProperties(DictMixin): + """ + :ivar str name: name of the file + :ivar str etag: The ETag contains a value that you can use to perform operations + conditionally. + :ivar bool deleted: if the current file marked as deleted + :ivar dict metadata: Name-value pairs associated with the file as metadata. + :ivar ~...filedatalake.LeaseProperties lease: + Stores all the lease information for the file. + :ivar ~datetime.datetime last_modified: + A datetime object representing the last time the file was modified. + :ivar ~datetime.datetime creation_time: + Indicates when the file was created, in UTC. + :ivar int size: size of the file + :ivar int remaining_retention_days: The number of days that the file will be retained + before being permanently deleted by the service. + :var ~...filedatalake.ContentSettings content_settings: + """ + + def __init__(self, **kwargs): + self.name = kwargs.get('name') + self.etag = kwargs.get('ETag') + self.deleted = False + self.metadata = kwargs.get('metadata') + self.lease = LeaseProperties(**kwargs) + self.last_modified = kwargs.get('Last-Modified') + self.creation_time = kwargs.get('x-ms-creation-time') + self.size = kwargs.get('Content-Length') + self.deleted_time = None + self.expiry_time = kwargs.get("x-ms-expiry-time") + self.remaining_retention_days = None + self.content_settings = ContentSettings(**kwargs) + + +class PathProperties(object): + """Path properties listed by get_paths api. + + :ivar str name: the full path for a file or directory. + :ivar str owner: The owner of the file or directory. + :ivar str group: he owning group of the file or directory. + :ivar str permissions: Sets POSIX access permissions for the file + owner, the file owning group, and others. Each class may be granted + read, write, or execute permission. The sticky bit is also supported. + Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are + supported. + :ivar datetime last_modified: A datetime object representing the last time the directory/file was modified. + :ivar bool is_directory: is the path a directory or not. + :ivar str etag: The ETag contains a value that you can use to perform operations + conditionally. + :ivar content_length: the size of file if the path is a file. + """ + + def __init__(self, **kwargs): + self.name = kwargs.pop('name', None) + self.owner = kwargs.get('owner', None) + self.group = kwargs.get('group', None) + self.permissions = kwargs.get('permissions', None) + self.last_modified = kwargs.get('last_modified', None) + self.is_directory = kwargs.get('is_directory', False) + self.etag = kwargs.get('etag', None) + self.content_length = kwargs.get('content_length', None) + + @classmethod + def _from_generated(cls, generated): + path_prop = PathProperties() + path_prop.name = generated.name + path_prop.owner = generated.owner + path_prop.group = generated.group + path_prop.permissions = generated.permissions + path_prop.last_modified = datetime.strptime(generated.last_modified, "%a, %d %b %Y %H:%M:%S %Z") + path_prop.is_directory = bool(generated.is_directory) + path_prop.etag = generated.additional_properties.get('etag') + path_prop.content_length = generated.content_length + return path_prop + + +class LeaseProperties(BlobLeaseProperties): + """DataLake Lease Properties. + + :ivar str status: + The lease status of the file. Possible values: locked|unlocked + :ivar str state: + Lease state of the file. Possible values: available|leased|expired|breaking|broken + :ivar str duration: + When a file is leased, specifies whether the lease is of infinite or fixed duration. + """ + + +class ContentSettings(BlobContentSettings): + """The content settings of a file or directory. + + :ivar str content_type: + The content type specified for the file or directory. If no content type was + specified, the default content type is application/octet-stream. + :ivar str content_encoding: + If the content_encoding has previously been set + for the file, that value is stored. + :ivar str content_language: + If the content_language has previously been set + for the file, that value is stored. + :ivar str content_disposition: + content_disposition conveys additional information about how to + process the response payload, and also can be used to attach + additional metadata. If content_disposition has previously been set + for the file, that value is stored. + :ivar str cache_control: + If the cache_control has previously been set for + the file, that value is stored. + :ivar bytearray content_md5: + If the content_md5 has been set for the file, this response + header is stored so that the client can check for message content + integrity. + :keyword str content_type: + The content type specified for the file or directory. If no content type was + specified, the default content type is application/octet-stream. + :keyword str content_encoding: + If the content_encoding has previously been set + for the file, that value is stored. + :keyword str content_language: + If the content_language has previously been set + for the file, that value is stored. + :keyword str content_disposition: + content_disposition conveys additional information about how to + process the response payload, and also can be used to attach + additional metadata. If content_disposition has previously been set + for the file, that value is stored. + :keyword str cache_control: + If the cache_control has previously been set for + the file, that value is stored. + :keyword bytearray content_md5: + If the content_md5 has been set for the file, this response + header is stored so that the client can check for message content + integrity. + """ + + def __init__( + self, **kwargs): + super(ContentSettings, self).__init__( + **kwargs + ) + + +class AccountSasPermissions(BlobAccountSasPermissions): + def __init__(self, read=False, write=False, delete=False, list=False, # pylint: disable=redefined-builtin + create=False): + super(AccountSasPermissions, self).__init__( + read=read, create=create, write=write, list=list, + delete=delete + ) + + +class FileSystemSasPermissions(object): + """FileSystemSasPermissions class to be used with the + :func:`~...filedatalake.generate_file_system_sas` function. + + :param bool read: + Read the content, properties, metadata etc. + :param bool write: + Create or write content, properties, metadata. Lease the file system. + :param bool delete: + Delete the file system. + :param bool list: + List paths in the file system. + :keyword bool move: + Move any file in the directory to a new location. + Note the move operation can optionally be restricted to the child file or directory owner or + the parent directory owner if the saoid parameter is included in the token and the sticky bit is set + on the parent directory. + :keyword bool execute: + Get the status (system defined properties) and ACL of any file in the directory. + If the caller is the owner, set access control on any file in the directory. + :keyword bool manage_ownership: + Allows the user to set owner, owning group, or act as the owner when renaming or deleting a file or directory + within a folder that has the sticky bit set. + :keyword bool manage_access_control: + Allows the user to set permissions and POSIX ACLs on files and directories. + """ + + def __init__(self, read=False, write=False, delete=False, list=False, # pylint: disable=redefined-builtin + **kwargs): + self.read = read + self.write = write + self.delete = delete + self.list = list + self.move = kwargs.pop('move', None) + self.execute = kwargs.pop('execute', None) + self.manage_ownership = kwargs.pop('manage_ownership', None) + self.manage_access_control = kwargs.pop('manage_access_control', None) + self._str = (('r' if self.read else '') + + ('w' if self.write else '') + + ('d' if self.delete else '') + + ('l' if self.list else '') + + ('m' if self.move else '') + + ('e' if self.execute else '') + + ('o' if self.manage_ownership else '') + + ('p' if self.manage_access_control else '')) + + def __str__(self): + return self._str + + @classmethod + def from_string(cls, permission): + """Create a FileSystemSasPermissions from a string. + + To specify read, write, or delete permissions you need only to + include the first letter of the word in the string. E.g. For read and + write permissions, you would provide a string "rw". + + :param str permission: The string which dictates the read, add, create, + write, or delete permissions. + :return: A FileSystemSasPermissions object + :rtype: ~...fildatalake.FileSystemSasPermissions + """ + p_read = 'r' in permission + p_write = 'w' in permission + p_delete = 'd' in permission + p_list = 'l' in permission + p_move = 'm' in permission + p_execute = 'e' in permission + p_manage_ownership = 'o' in permission + p_manage_access_control = 'p' in permission + + parsed = cls(read=p_read, write=p_write, delete=p_delete, + list=p_list, move=p_move, execute=p_execute, manage_ownership=p_manage_ownership, + manage_access_control=p_manage_access_control) + return parsed + + +class DirectorySasPermissions(object): + """DirectorySasPermissions class to be used with the + :func:`~...filedatalake.generate_directory_sas` function. + + :param bool read: + Read the content, properties, metadata etc. + :param bool create: + Create a new directory + :param bool write: + Create or write content, properties, metadata. Lease the directory. + :param bool delete: + Delete the directory. + :keyword bool list: + List any files in the directory. Implies Execute. + :keyword bool move: + Move any file in the directory to a new location. + Note the move operation can optionally be restricted to the child file or directory owner or + the parent directory owner if the saoid parameter is included in the token and the sticky bit is set + on the parent directory. + :keyword bool execute: + Get the status (system defined properties) and ACL of any file in the directory. + If the caller is the owner, set access control on any file in the directory. + :keyword bool manage_ownership: + Allows the user to set owner, owning group, or act as the owner when renaming or deleting a file or directory + within a folder that has the sticky bit set. + :keyword bool manage_access_control: + Allows the user to set permissions and POSIX ACLs on files and directories. + """ + + def __init__(self, read=False, create=False, write=False, + delete=False, **kwargs): + self.read = read + self.create = create + self.write = write + self.delete = delete + self.list = kwargs.pop('list', None) + self.move = kwargs.pop('move', None) + self.execute = kwargs.pop('execute', None) + self.manage_ownership = kwargs.pop('manage_ownership', None) + self.manage_access_control = kwargs.pop('manage_access_control', None) + self._str = (('r' if self.read else '') + + ('c' if self.create else '') + + ('w' if self.write else '') + + ('d' if self.delete else '') + + ('l' if self.list else '') + + ('m' if self.move else '') + + ('e' if self.execute else '') + + ('o' if self.manage_ownership else '') + + ('p' if self.manage_access_control else '')) + + def __str__(self): + return self._str + + @classmethod + def from_string(cls, permission): + """Create a DirectorySasPermissions from a string. + + To specify read, create, write, or delete permissions you need only to + include the first letter of the word in the string. E.g. For read and + write permissions, you would provide a string "rw". + + :param str permission: The string which dictates the read, add, create, + write, or delete permissions. + :return: A DirectorySasPermissions object + :rtype: ~...filedatalake.DirectorySasPermissions + """ + p_read = 'r' in permission + p_create = 'c' in permission + p_write = 'w' in permission + p_delete = 'd' in permission + p_list = 'l' in permission + p_move = 'm' in permission + p_execute = 'e' in permission + p_manage_ownership = 'o' in permission + p_manage_access_control = 'p' in permission + + parsed = cls(read=p_read, create=p_create, write=p_write, delete=p_delete, + list=p_list, move=p_move, execute=p_execute, manage_ownership=p_manage_ownership, + manage_access_control=p_manage_access_control) + return parsed + + +class FileSasPermissions(object): + """FileSasPermissions class to be used with the + :func:`~...filedatalake.generate_file_sas` function. + + :param bool read: + Read the content, properties, metadata etc. Use the file as + the source of a read operation. + :param bool create: + Write a new file + :param bool write: + Create or write content, properties, metadata. Lease the file. + :param bool delete: + Delete the file. + :keyword bool move: + Move any file in the directory to a new location. + Note the move operation can optionally be restricted to the child file or directory owner or + the parent directory owner if the saoid parameter is included in the token and the sticky bit is set + on the parent directory. + :keyword bool execute: + Get the status (system defined properties) and ACL of any file in the directory. + If the caller is the owner, set access control on any file in the directory. + :keyword bool manage_ownership: + Allows the user to set owner, owning group, or act as the owner when renaming or deleting a file or directory + within a folder that has the sticky bit set. + :keyword bool manage_access_control: + Allows the user to set permissions and POSIX ACLs on files and directories. + """ + + def __init__(self, read=False, create=False, write=False, delete=False, **kwargs): + self.read = read + self.create = create + self.write = write + self.delete = delete + self.list = list + self.move = kwargs.pop('move', None) + self.execute = kwargs.pop('execute', None) + self.manage_ownership = kwargs.pop('manage_ownership', None) + self.manage_access_control = kwargs.pop('manage_access_control', None) + self._str = (('r' if self.read else '') + + ('c' if self.create else '') + + ('w' if self.write else '') + + ('d' if self.delete else '') + + ('m' if self.move else '') + + ('e' if self.execute else '') + + ('o' if self.manage_ownership else '') + + ('p' if self.manage_access_control else '')) + + def __str__(self): + return self._str + + @classmethod + def from_string(cls, permission): + """Create a FileSasPermissions from a string. + + To specify read, write, or delete permissions you need only to + include the first letter of the word in the string. E.g. For read and + write permissions, you would provide a string "rw". + + :param str permission: The string which dictates the read, add, create, + write, or delete permissions. + :return: A FileSasPermissions object + :rtype: ~...fildatalake.FileSasPermissions + """ + p_read = 'r' in permission + p_create = 'c' in permission + p_write = 'w' in permission + p_delete = 'd' in permission + p_move = 'm' in permission + p_execute = 'e' in permission + p_manage_ownership = 'o' in permission + p_manage_access_control = 'p' in permission + + parsed = cls(read=p_read, create=p_create, write=p_write, delete=p_delete, + move=p_move, execute=p_execute, manage_ownership=p_manage_ownership, + manage_access_control=p_manage_access_control) + return parsed + + +class AccessPolicy(BlobAccessPolicy): + """Access Policy class used by the set and get access policy methods in each service. + + A stored access policy can specify the start time, expiry time, and + permissions for the Shared Access Signatures with which it's associated. + Depending on how you want to control access to your resource, you can + specify all of these parameters within the stored access policy, and omit + them from the URL for the Shared Access Signature. Doing so permits you to + modify the associated signature's behavior at any time, as well as to revoke + it. Or you can specify one or more of the access policy parameters within + the stored access policy, and the others on the URL. Finally, you can + specify all of the parameters on the URL. In this case, you can use the + stored access policy to revoke the signature, but not to modify its behavior. + + Together the Shared Access Signature and the stored access policy must + include all fields required to authenticate the signature. If any required + fields are missing, the request will fail. Likewise, if a field is specified + both in the Shared Access Signature URL and in the stored access policy, the + request will fail with status code 400 (Bad Request). + + :param permission: + The permissions associated with the shared access signature. The + user is restricted to operations allowed by the permissions. + Required unless an id is given referencing a stored access policy + which contains this field. This field must be omitted if it has been + specified in an associated stored access policy. + :type permission: str or ~...datalake.FileSystemSasPermissions + :param expiry: + The time at which the shared access signature becomes invalid. + Required unless an id is given referencing a stored access policy + which contains this field. This field must be omitted if it has + been specified in an associated stored access policy. Azure will always + convert values to UTC. If a date is passed in without timezone info, it + is assumed to be UTC. + :type expiry: ~datetime.datetime or str + :keyword start: + The time at which the shared access signature becomes valid. If + omitted, start time for this call is assumed to be the time when the + storage service receives the request. Azure will always convert values + to UTC. If a date is passed in without timezone info, it is assumed to + be UTC. + :paramtype start: ~datetime.datetime or str + """ + + def __init__(self, permission=None, expiry=None, **kwargs): + super(AccessPolicy, self).__init__( + permission=permission, expiry=expiry, start=kwargs.pop('start', None) + ) + + +class ResourceTypes(BlobResourceTypes): + """ + Specifies the resource types that are accessible with the account SAS. + + :param bool service: + Access to service-level APIs (e.g.List File Systems) + :param bool file_system: + Access to file_system-level APIs (e.g., Create/Delete file system, + List Directories/Files) + :param bool object: + Access to object-level APIs for + files(e.g. Create File, etc.) + """ + + def __init__(self, service=False, file_system=False, object=False # pylint: disable=redefined-builtin + ): + super(ResourceTypes, self).__init__(service=service, container=file_system, object=object) + + +class UserDelegationKey(BlobUserDelegationKey): + """ + Represents a user delegation key, provided to the user by Azure Storage + based on their Azure Active Directory access token. + + The fields are saved as simple strings since the user does not have to interact with this object; + to generate an identify SAS, the user can simply pass it to the right API. + + :ivar str signed_oid: + Object ID of this token. + :ivar str signed_tid: + Tenant ID of the tenant that issued this token. + :ivar str signed_start: + The datetime this token becomes valid. + :ivar str signed_expiry: + The datetime this token expires. + :ivar str signed_service: + What service this key is valid for. + :ivar str signed_version: + The version identifier of the REST service that created this token. + :ivar str value: + The user delegation key. + """ + + @classmethod + def _from_generated(cls, generated): + delegation_key = cls() + delegation_key.signed_oid = generated.signed_oid + delegation_key.signed_tid = generated.signed_tid + delegation_key.signed_start = generated.signed_start + delegation_key.signed_expiry = generated.signed_expiry + delegation_key.signed_service = generated.signed_service + delegation_key.signed_version = generated.signed_version + delegation_key.value = generated.value + return delegation_key + + +class PublicAccess(str, Enum): + """ + Specifies whether data in the file system may be accessed publicly and the level of access. + """ + + File = 'blob' + """ + Specifies public read access for files. file data within this file system can be read + via anonymous request, but file system data is not available. Clients cannot enumerate + files within the container via anonymous request. + """ + + FileSystem = 'container' + """ + Specifies full public read access for file system and file data. Clients can enumerate + files within the file system via anonymous request, but cannot enumerate file systems + within the storage account. + """ + + @classmethod + def _from_generated(cls, public_access): + if public_access == "blob": # pylint:disable=no-else-return + return cls.File + elif public_access == "container": + return cls.FileSystem + + return None + + +class LocationMode(object): + """ + Specifies the location the request should be sent to. This mode only applies + for RA-GRS accounts which allow secondary read access. All other account types + must use PRIMARY. + """ + + PRIMARY = 'primary' #: Requests should be sent to the primary location. + SECONDARY = 'secondary' #: Requests should be sent to the secondary location, if possible. + + +class DelimitedJsonDialect(BlobDelimitedJSON): + """Defines the input or output JSON serialization for a datalake query. + + :keyword str delimiter: The line separator character, default value is '\n' + """ + + +class DelimitedTextDialect(BlobDelimitedTextDialect): + """Defines the input or output delimited (CSV) serialization for a datalake query request. + + :keyword str delimiter: + Column separator, defaults to ','. + :keyword str quotechar: + Field quote, defaults to '"'. + :keyword str lineterminator: + Record separator, defaults to '\n'. + :keyword str escapechar: + Escape char, defaults to empty. + :keyword bool has_header: + Whether the blob data includes headers in the first line. The default value is False, meaning that the + data will be returned inclusive of the first line. If set to True, the data will be returned exclusive + of the first line. + """ + + +class ArrowDialect(BlobArrowDialect): + """field of an arrow schema. + + All required parameters must be populated in order to send to Azure. + + :param str type: Required. + :keyword str name: The name of the field. + :keyword int precision: The precision of the field. + :keyword int scale: The scale of the field. + """ + + +class ArrowType(str, Enum): + + INT64 = "int64" + BOOL = "bool" + TIMESTAMP_MS = "timestamp[ms]" + STRING = "string" + DOUBLE = "double" + DECIMAL = 'decimal' + + +class DataLakeFileQueryError(object): + """The error happened during quick query operation. + + :ivar str error: + The name of the error. + :ivar bool is_fatal: + If true, this error prevents further query processing. More result data may be returned, + but there is no guarantee that all of the original data will be processed. + If false, this error does not prevent further query processing. + :ivar str description: + A description of the error. + :ivar int position: + The blob offset at which the error occurred. + """ + + def __init__(self, error=None, is_fatal=False, description=None, position=None): + self.error = error + self.is_fatal = is_fatal + self.description = description + self.position = position + + +class AccessControlChangeCounters(DictMixin): + """ + AccessControlChangeCounters contains counts of operations that change Access Control Lists recursively. + + :ivar int directories_successful: + Number of directories where Access Control List has been updated successfully. + :ivar int files_successful: + Number of files where Access Control List has been updated successfully. + :ivar int failure_count: + Number of paths where Access Control List update has failed. + """ + + def __init__(self, directories_successful, files_successful, failure_count): + self.directories_successful = directories_successful + self.files_successful = files_successful + self.failure_count = failure_count + + +class AccessControlChangeResult(DictMixin): + """ + AccessControlChangeResult contains result of operations that change Access Control Lists recursively. + + :ivar ~...filedatalake.AccessControlChangeCounters counters: + Contains counts of paths changed from start of the operation. + :ivar str continuation: + Optional continuation token. + Value is present when operation is split into multiple batches and can be used to resume progress. + """ + + def __init__(self, counters, continuation): + self.counters = counters + self.continuation = continuation + + +class AccessControlChangeFailure(DictMixin): + """ + Represents an entry that failed to update Access Control List. + + :ivar str name: + Name of the entry. + :ivar bool is_directory: + Indicates whether the entry is a directory. + :ivar str error_message: + Indicates the reason why the entry failed to update. + """ + + def __init__(self, name, is_directory, error_message): + self.name = name + self.is_directory = is_directory + self.error_message = error_message + + +class AccessControlChanges(DictMixin): + """ + AccessControlChanges contains batch and cumulative counts of operations + that change Access Control Lists recursively. + Additionally it exposes path entries that failed to update while these operations progress. + + :ivar ~...filedatalake.AccessControlChangeCounters batch_counters: + Contains counts of paths changed within single batch. + :ivar ~...filedatalake.AccessControlChangeCounters aggregate_counters: + Contains counts of paths changed from start of the operation. + :ivar list(~...filedatalake.AccessControlChangeFailure) batch_failures: + List of path entries that failed to update Access Control List within single batch. + :ivar str continuation: + An opaque continuation token that may be used to resume the operations in case of failures. + """ + + def __init__(self, batch_counters, aggregate_counters, batch_failures, continuation): + self.batch_counters = batch_counters + self.aggregate_counters = aggregate_counters + self.batch_failures = batch_failures + self.continuation = continuation + + +class DeletedPathProperties(DictMixin): + """ + Properties populated for a deleted path. + + :ivar str name: + The name of the file in the path. + :ivar ~datetime.datetime deleted_time: + A datetime object representing the time at which the path was deleted. + :ivar int remaining_retention_days: + The number of days that the path will be retained before being permanently deleted by the service. + :ivar str deletion_id: + The id associated with the deleted path. + """ + def __init__(self, **kwargs): + self.name = kwargs.get('name') + self.deleted_time = None + self.remaining_retention_days = None + self.deletion_id = None + + +class AnalyticsLogging(GenLogging): + """Azure Analytics Logging settings. + + :keyword str version: + The version of Storage Analytics to configure. The default value is 1.0. + :keyword bool delete: + Indicates whether all delete requests should be logged. The default value is `False`. + :keyword bool read: + Indicates whether all read requests should be logged. The default value is `False`. + :keyword bool write: + Indicates whether all write requests should be logged. The default value is `False`. + :keyword ~...filedatalake.RetentionPolicy retention_policy: + Determines how long the associated data should persist. If not specified the retention + policy will be disabled by default. + """ + + def __init__(self, **kwargs): + self.version = kwargs.get('version', u'1.0') + self.delete = kwargs.get('delete', False) + self.read = kwargs.get('read', False) + self.write = kwargs.get('write', False) + self.retention_policy = kwargs.get('retention_policy') or RetentionPolicy() + + @classmethod + def _from_generated(cls, generated): + if not generated: + return cls() + return cls( + version=generated.version, + delete=generated.delete, + read=generated.read, + write=generated.write, + retention_policy=RetentionPolicy._from_generated(generated.retention_policy) # pylint: disable=protected-access + ) + + +class Metrics(GenMetrics): + """A summary of request statistics grouped by API in hour or minute aggregates. + + :keyword str version: + The version of Storage Analytics to configure. The default value is 1.0. + :keyword bool enabled: + Indicates whether metrics are enabled for the Datalake service. + The default value is `False`. + :keyword bool include_apis: + Indicates whether metrics should generate summary statistics for called API operations. + :keyword ~...filedatalake.RetentionPolicy retention_policy: + Determines how long the associated data should persist. If not specified the retention + policy will be disabled by default. + """ + + def __init__(self, **kwargs): + self.version = kwargs.get('version', u'1.0') + self.enabled = kwargs.get('enabled', False) + self.include_apis = kwargs.get('include_apis') + self.retention_policy = kwargs.get('retention_policy') or RetentionPolicy() + + @classmethod + def _from_generated(cls, generated): + if not generated: + return cls() + return cls( + version=generated.version, + enabled=generated.enabled, + include_apis=generated.include_apis, + retention_policy=RetentionPolicy._from_generated(generated.retention_policy) # pylint: disable=protected-access + ) + + +class RetentionPolicy(GenRetentionPolicy): + """The retention policy which determines how long the associated data should + persist. + + :param bool enabled: + Indicates whether a retention policy is enabled for the storage service. + The default value is False. + :param int days: + Indicates the number of days that metrics or logging or + soft-deleted data should be retained. All data older than this value will + be deleted. If enabled=True, the number of days must be specified. + """ + + def __init__(self, enabled=False, days=None): + super(RetentionPolicy, self).__init__(enabled=enabled, days=days, allow_permanent_delete=None) + if self.enabled and (self.days is None): + raise ValueError("If policy is enabled, 'days' must be specified.") + + @classmethod + def _from_generated(cls, generated): + if not generated: + return cls() + return cls( + enabled=generated.enabled, + days=generated.days, + ) + + +class StaticWebsite(GenStaticWebsite): + """The properties that enable an account to host a static website. + + :keyword bool enabled: + Indicates whether this account is hosting a static website. + The default value is `False`. + :keyword str index_document: + The default name of the index page under each directory. + :keyword str error_document404_path: + The absolute path of the custom 404 page. + :keyword str default_index_document_path: + Absolute path of the default index page. + """ + + def __init__(self, **kwargs): + self.enabled = kwargs.get('enabled', False) + if self.enabled: + self.index_document = kwargs.get('index_document') + self.error_document404_path = kwargs.get('error_document404_path') + self.default_index_document_path = kwargs.get('default_index_document_path') + else: + self.index_document = None + self.error_document404_path = None + self.default_index_document_path = None + + @classmethod + def _from_generated(cls, generated): + if not generated: + return cls() + return cls( + enabled=generated.enabled, + index_document=generated.index_document, + error_document404_path=generated.error_document404_path, + default_index_document_path=generated.default_index_document_path + ) + + +class CorsRule(GenCorsRule): + """CORS is an HTTP feature that enables a web application running under one + domain to access resources in another domain. Web browsers implement a + security restriction known as same-origin policy that prevents a web page + from calling APIs in a different domain; CORS provides a secure way to + allow one domain (the origin domain) to call APIs in another domain. + + :param list(str) allowed_origins: + A list of origin domains that will be allowed via CORS, or "*" to allow + all domains. The list of must contain at least one entry. Limited to 64 + origin domains. Each allowed origin can have up to 256 characters. + :param list(str) allowed_methods: + A list of HTTP methods that are allowed to be executed by the origin. + The list of must contain at least one entry. For Azure Storage, + permitted methods are DELETE, GET, HEAD, MERGE, POST, OPTIONS or PUT. + :keyword list(str) allowed_headers: + Defaults to an empty list. A list of headers allowed to be part of + the cross-origin request. Limited to 64 defined headers and 2 prefixed + headers. Each header can be up to 256 characters. + :keyword list(str) exposed_headers: + Defaults to an empty list. A list of response headers to expose to CORS + clients. Limited to 64 defined headers and two prefixed headers. Each + header can be up to 256 characters. + :keyword int max_age_in_seconds: + The number of seconds that the client/browser should cache a + preflight response. + """ + + def __init__(self, allowed_origins, allowed_methods, **kwargs): + self.allowed_origins = ','.join(allowed_origins) + self.allowed_methods = ','.join(allowed_methods) + self.allowed_headers = ','.join(kwargs.get('allowed_headers', [])) + self.exposed_headers = ','.join(kwargs.get('exposed_headers', [])) + self.max_age_in_seconds = kwargs.get('max_age_in_seconds', 0) + + @classmethod + def _from_generated(cls, generated): + return cls( + [generated.allowed_origins], + [generated.allowed_methods], + allowed_headers=[generated.allowed_headers], + exposed_headers=[generated.exposed_headers], + max_age_in_seconds=generated.max_age_in_seconds, + ) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_path_client.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_path_client.py new file mode 100644 index 00000000000..7378ffe9d08 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_path_client.py @@ -0,0 +1,896 @@ +# ------------------------------------------------------------------------- +# 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 typing import Any, Dict, Union + +try: + from urllib.parse import urlparse, quote +except ImportError: + from urlparse import urlparse # type: ignore + from urllib2 import quote # type: ignore + +import six + +from azure.core.exceptions import AzureError, HttpResponseError +from ...blob import BlobClient +from ._data_lake_lease import DataLakeLeaseClient +from ._deserialize import process_storage_error +from ._generated import AzureDataLakeStorageRESTAPI +from ._models import LocationMode, DirectoryProperties, AccessControlChangeResult, AccessControlChanges, \ + AccessControlChangeCounters, AccessControlChangeFailure +from ._serialize import convert_dfs_url_to_blob_url, get_mod_conditions, \ + get_path_http_headers, add_metadata_headers, get_lease_id, get_source_mod_conditions, get_access_conditions +from ._shared.base_client import StorageAccountHostsMixin, parse_query +from ._shared.response_handlers import return_response_headers, return_headers_and_deserialized + +_ERROR_UNSUPPORTED_METHOD_FOR_ENCRYPTION = ( + 'The require_encryption flag is set, but encryption is not supported' + ' for this method.') + + +class PathClient(StorageAccountHostsMixin): + def __init__( + self, account_url, # type: str + file_system_name, # type: str + path_name, # type: str + credential=None, # type: Optional[Any] + **kwargs # type: Any + ): + # type: (...) -> None + + try: + if not account_url.lower().startswith('http'): + account_url = "https://" + account_url + except AttributeError: + raise ValueError("Account URL must be a string.") + parsed_url = urlparse(account_url.rstrip('/')) + + # remove the preceding/trailing delimiter from the path components + file_system_name = file_system_name.strip('/') + + # the name of root directory is / + if path_name != '/': + path_name = path_name.strip('/') + + if not (file_system_name and path_name): + raise ValueError("Please specify a file system name and file path.") + if not parsed_url.netloc: + raise ValueError("Invalid URL: {}".format(account_url)) + + blob_account_url = convert_dfs_url_to_blob_url(account_url) + self._blob_account_url = blob_account_url + + datalake_hosts = kwargs.pop('_hosts', None) + blob_hosts = None + if datalake_hosts: + blob_primary_account_url = convert_dfs_url_to_blob_url(datalake_hosts[LocationMode.PRIMARY]) + blob_hosts = {LocationMode.PRIMARY: blob_primary_account_url, LocationMode.SECONDARY: ""} + self._blob_client = BlobClient(blob_account_url, file_system_name, path_name, + credential=credential, _hosts=blob_hosts, **kwargs) + + _, sas_token = parse_query(parsed_url.query) + self.file_system_name = file_system_name + self.path_name = path_name + + self._query_str, self._raw_credential = self._format_query_string(sas_token, credential) + + super(PathClient, self).__init__(parsed_url, service='dfs', credential=self._raw_credential, + _hosts=datalake_hosts, **kwargs) + # ADLS doesn't support secondary endpoint, make sure it's empty + self._hosts[LocationMode.SECONDARY] = "" + self._client = AzureDataLakeStorageRESTAPI(self.url, file_system=file_system_name, path=path_name, + pipeline=self._pipeline) + self._datalake_client_for_blob_operation = AzureDataLakeStorageRESTAPI( + self._blob_client.url, + file_system=file_system_name, + path=path_name, + pipeline=self._pipeline) + + def __exit__(self, *args): + self._blob_client.close() + super(PathClient, self).__exit__(*args) + + def close(self): + # type: () -> None + """ This method is to close the sockets opened by the client. + It need not be used when using with a context manager. + """ + self._blob_client.close() + self.__exit__() + + def _format_url(self, hostname): + file_system_name = self.file_system_name + if isinstance(file_system_name, six.text_type): + file_system_name = file_system_name.encode('UTF-8') + return "{}://{}/{}/{}{}".format( + self.scheme, + hostname, + quote(file_system_name), + quote(self.path_name, safe='~'), + self._query_str) + + def _create_path_options(self, resource_type, content_settings=None, metadata=None, **kwargs): + # type: (Optional[ContentSettings], Optional[Dict[str, str]], **Any) -> Dict[str, Any] + if self.require_encryption or (self.key_encryption_key is not None): + raise ValueError(_ERROR_UNSUPPORTED_METHOD_FOR_ENCRYPTION) + + access_conditions = get_access_conditions(kwargs.pop('lease', None)) + mod_conditions = get_mod_conditions(kwargs) + + path_http_headers = None + if content_settings: + path_http_headers = get_path_http_headers(content_settings) + + options = { + 'resource': resource_type, + 'properties': add_metadata_headers(metadata), + 'permissions': kwargs.pop('permissions', None), + 'umask': kwargs.pop('umask', None), + 'path_http_headers': path_http_headers, + 'lease_access_conditions': access_conditions, + 'modified_access_conditions': mod_conditions, + 'timeout': kwargs.pop('timeout', None), + 'cls': return_response_headers} + options.update(kwargs) + return options + + def _create(self, resource_type, content_settings=None, metadata=None, **kwargs): + # type: (...) -> Dict[str, Union[str, datetime]] + """ + Create directory or file + + :param resource_type: + Required for Create File and Create Directory. + The value must be "file" or "directory". Possible values include: + 'directory', 'file' + :type resource_type: str + :param ~...filedatalake.ContentSettings content_settings: + ContentSettings object used to set path properties. + :param metadata: + Name-value pairs associated with the file/directory as metadata. + :type metadata: dict(str, str) + :keyword lease: + Required if the file/directory has an active lease. Value can be a LeaseClient object + or the lease ID as a string. + :paramtype lease: ~...filedatalake.DataLakeLeaseClient or str + :keyword str umask: + Optional and only valid if Hierarchical Namespace is enabled for the account. + When creating a file or directory and the parent folder does not have a default ACL, + the umask restricts the permissions of the file or directory to be created. + The resulting permission is given by p & ^u, where p is the permission and u is the umask. + For example, if p is 0777 and u is 0057, then the resulting permission is 0720. + The default permission is 0777 for a directory and 0666 for a file. The default umask is 0027. + The umask must be specified in 4-digit octal notation (e.g. 0766). + :keyword permissions: + Optional and only valid if Hierarchical Namespace + is enabled for the account. Sets POSIX access permissions for the file + owner, the file owning group, and others. Each class may be granted + read, write, or execute permission. The sticky bit is also supported. + Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are + supported. + :type permissions: str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: Dict[str, Union[str, datetime]] + """ + options = self._create_path_options( + resource_type, + content_settings=content_settings, + metadata=metadata, + **kwargs) + try: + return self._client.path.create(**options) + except HttpResponseError as error: + process_storage_error(error) + + @staticmethod + def _delete_path_options(**kwargs): + # type: (Optional[ContentSettings], Optional[Dict[str, str]], **Any) -> Dict[str, Any] + + access_conditions = get_access_conditions(kwargs.pop('lease', None)) + mod_conditions = get_mod_conditions(kwargs) + + options = { + 'lease_access_conditions': access_conditions, + 'modified_access_conditions': mod_conditions, + 'cls': return_response_headers, + 'timeout': kwargs.pop('timeout', None)} + options.update(kwargs) + return options + + def _delete(self, **kwargs): + # type: (**Any) -> Dict[Union[datetime, str]] + """ + Marks the specified path for deletion. + + :keyword lease: + Required if the file/directory has an active lease. Value can be a LeaseClient object + or the lease ID as a string. + :type lease: ~...filedatalake.DataLakeLeaseClient or str + :param ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :param ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :param int timeout: + The timeout parameter is expressed in seconds. + :return: None + """ + options = self._delete_path_options(**kwargs) + try: + return self._client.path.delete(**options) + except HttpResponseError as error: + process_storage_error(error) + + @staticmethod + def _set_access_control_options(owner=None, group=None, permissions=None, acl=None, **kwargs): + # type: (Optional[ContentSettings], Optional[Dict[str, str]], **Any) -> Dict[str, Any] + + access_conditions = get_access_conditions(kwargs.pop('lease', None)) + mod_conditions = get_mod_conditions(kwargs) + + options = { + 'owner': owner, + 'group': group, + 'permissions': permissions, + 'acl': acl, + 'lease_access_conditions': access_conditions, + 'modified_access_conditions': mod_conditions, + 'timeout': kwargs.pop('timeout', None), + 'cls': return_response_headers} + options.update(kwargs) + return options + + def set_access_control(self, owner=None, # type: Optional[str] + group=None, # type: Optional[str] + permissions=None, # type: Optional[str] + acl=None, # type: Optional[str] + **kwargs): + # type: (...) -> Dict[str, Union[str, datetime]] + """ + Set the owner, group, permissions, or access control list for a path. + + :param owner: + Optional. The owner of the file or directory. + :type owner: str + :param group: + Optional. The owning group of the file or directory. + :type group: str + :param permissions: + Optional and only valid if Hierarchical Namespace + is enabled for the account. Sets POSIX access permissions for the file + owner, the file owning group, and others. Each class may be granted + read, write, or execute permission. The sticky bit is also supported. + Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are + supported. + permissions and acl are mutually exclusive. + :type permissions: str + :param acl: + Sets POSIX access control rights on files and directories. + The value is a comma-separated list of access control entries. Each + access control entry (ACE) consists of a scope, a type, a user or + group identifier, and permissions in the format + "[scope:][type]:[id]:[permissions]". + permissions and acl are mutually exclusive. + :type acl: str + :keyword lease: + Required if the file/directory has an active lease. Value can be a LeaseClient object + or the lease ID as a string. + :paramtype lease: ~...filedatalake.DataLakeLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :keyword: response dict (Etag and last modified). + """ + if not any([owner, group, permissions, acl]): + raise ValueError("At least one parameter should be set for set_access_control API") + options = self._set_access_control_options(owner=owner, group=group, permissions=permissions, acl=acl, **kwargs) + try: + return self._client.path.set_access_control(**options) + except HttpResponseError as error: + process_storage_error(error) + + @staticmethod + def _get_access_control_options(upn=None, # type: Optional[bool] + **kwargs): + # type: (...) -> Dict[str, Any] + + access_conditions = get_access_conditions(kwargs.pop('lease', None)) + mod_conditions = get_mod_conditions(kwargs) + + options = { + 'action': 'getAccessControl', + 'upn': upn if upn else False, + 'lease_access_conditions': access_conditions, + 'modified_access_conditions': mod_conditions, + 'timeout': kwargs.pop('timeout', None), + 'cls': return_response_headers} + options.update(kwargs) + return options + + def get_access_control(self, upn=None, # type: Optional[bool] + **kwargs): + # type: (...) -> Dict[str, Any] + """ + :param upn: Optional. + Valid only when Hierarchical Namespace is + enabled for the account. If "true", the user identity values returned + in the x-ms-owner, x-ms-group, and x-ms-acl response headers will be + transformed from Azure Active Directory Object IDs to User Principal + Names. If "false", the values will be returned as Azure Active + Directory Object IDs. The default value is false. Note that group and + application Object IDs are not translated because they do not have + unique friendly names. + :type upn: bool + :keyword lease: + Required if the file/directory has an active lease. Value can be a LeaseClient object + or the lease ID as a string. + :paramtype lease: ~...filedatalake.DataLakeLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :keyword: response dict. + """ + options = self._get_access_control_options(upn=upn, **kwargs) + try: + return self._client.path.get_properties(**options) + except HttpResponseError as error: + process_storage_error(error) + + @staticmethod + def _set_access_control_recursive_options(mode, acl, **kwargs): + # type: (str, str, **Any) -> Dict[str, Any] + + options = { + 'mode': mode, + 'force_flag': kwargs.pop('continue_on_failure', None), + 'timeout': kwargs.pop('timeout', None), + 'continuation': kwargs.pop('continuation_token', None), + 'max_records': kwargs.pop('batch_size', None), + 'acl': acl, + 'cls': return_headers_and_deserialized} + options.update(kwargs) + return options + + def set_access_control_recursive(self, + acl, + **kwargs): + # type: (str, **Any) -> AccessControlChangeResult + """ + Sets the Access Control on a path and sub-paths. + + :param acl: + Sets POSIX access control rights on files and directories. + The value is a comma-separated list of access control entries. Each + access control entry (ACE) consists of a scope, a type, a user or + group identifier, and permissions in the format + "[scope:][type]:[id]:[permissions]". + :type acl: str + :keyword func(~...filedatalake.AccessControlChanges) progress_hook: + Callback where the caller can track progress of the operation + as well as collect paths that failed to change Access Control. + :keyword str continuation_token: + Optional continuation token that can be used to resume previously stopped operation. + :keyword int batch_size: + Optional. If data set size exceeds batch size then operation will be split into multiple + requests so that progress can be tracked. Batch size should be between 1 and 2000. + The default when unspecified is 2000. + :keyword int max_batches: + Optional. Defines maximum number of batches that single change Access Control operation can execute. + If maximum is reached before all sub-paths are processed, + then continuation token can be used to resume operation. + Empty value indicates that maximum number of batches in unbound and operation continues till end. + :keyword bool continue_on_failure: + If set to False, the operation will terminate quickly on encountering user errors (4XX). + If True, the operation will ignore user errors and proceed with the operation on other sub-entities of + the directory. + Continuation token will only be returned when continue_on_failure is True in case of user errors. + If not set the default value is False for this. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: A summary of the recursive operations, including the count of successes and failures, + as well as a continuation token in case the operation was terminated prematurely. + :rtype: :class:`~...filedatalake.AccessControlChangeResult` + :raises ~azure.core.exceptions.AzureError: + User can restart the operation using continuation_token field of AzureError if the token is available. + """ + if not acl: + raise ValueError("The Access Control List must be set for this operation") + + progress_hook = kwargs.pop('progress_hook', None) + max_batches = kwargs.pop('max_batches', None) + options = self._set_access_control_recursive_options(mode='set', acl=acl, **kwargs) + return self._set_access_control_internal(options=options, progress_hook=progress_hook, + max_batches=max_batches) + + def update_access_control_recursive(self, + acl, + **kwargs): + # type: (str, **Any) -> AccessControlChangeResult + """ + Modifies the Access Control on a path and sub-paths. + + :param acl: + Modifies POSIX access control rights on files and directories. + The value is a comma-separated list of access control entries. Each + access control entry (ACE) consists of a scope, a type, a user or + group identifier, and permissions in the format + "[scope:][type]:[id]:[permissions]". + :type acl: str + :keyword func(~...filedatalake.AccessControlChanges) progress_hook: + Callback where the caller can track progress of the operation + as well as collect paths that failed to change Access Control. + :keyword str continuation_token: + Optional continuation token that can be used to resume previously stopped operation. + :keyword int batch_size: + Optional. If data set size exceeds batch size then operation will be split into multiple + requests so that progress can be tracked. Batch size should be between 1 and 2000. + The default when unspecified is 2000. + :keyword int max_batches: + Optional. Defines maximum number of batches that single change Access Control operation can execute. + If maximum is reached before all sub-paths are processed, + then continuation token can be used to resume operation. + Empty value indicates that maximum number of batches in unbound and operation continues till end. + :keyword bool continue_on_failure: + If set to False, the operation will terminate quickly on encountering user errors (4XX). + If True, the operation will ignore user errors and proceed with the operation on other sub-entities of + the directory. + Continuation token will only be returned when continue_on_failure is True in case of user errors. + If not set the default value is False for this. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: A summary of the recursive operations, including the count of successes and failures, + as well as a continuation token in case the operation was terminated prematurely. + :rtype: :class:`~...filedatalake.AccessControlChangeResult` + :raises ~azure.core.exceptions.AzureError: + User can restart the operation using continuation_token field of AzureError if the token is available. + """ + if not acl: + raise ValueError("The Access Control List must be set for this operation") + + progress_hook = kwargs.pop('progress_hook', None) + max_batches = kwargs.pop('max_batches', None) + options = self._set_access_control_recursive_options(mode='modify', acl=acl, **kwargs) + return self._set_access_control_internal(options=options, progress_hook=progress_hook, + max_batches=max_batches) + + def remove_access_control_recursive(self, + acl, + **kwargs): + # type: (str, **Any) -> AccessControlChangeResult + """ + Removes the Access Control on a path and sub-paths. + + :param acl: + Removes POSIX access control rights on files and directories. + The value is a comma-separated list of access control entries. Each + access control entry (ACE) consists of a scope, a type, and a user or + group identifier in the format "[scope:][type]:[id]". + :type acl: str + :keyword func(~...filedatalake.AccessControlChanges) progress_hook: + Callback where the caller can track progress of the operation + as well as collect paths that failed to change Access Control. + :keyword str continuation_token: + Optional continuation token that can be used to resume previously stopped operation. + :keyword int batch_size: + Optional. If data set size exceeds batch size then operation will be split into multiple + requests so that progress can be tracked. Batch size should be between 1 and 2000. + The default when unspecified is 2000. + :keyword int max_batches: + Optional. Defines maximum number of batches that single change Access Control operation can execute. + If maximum is reached before all sub-paths are processed then, + continuation token can be used to resume operation. + Empty value indicates that maximum number of batches in unbound and operation continues till end. + :keyword bool continue_on_failure: + If set to False, the operation will terminate quickly on encountering user errors (4XX). + If True, the operation will ignore user errors and proceed with the operation on other sub-entities of + the directory. + Continuation token will only be returned when continue_on_failure is True in case of user errors. + If not set the default value is False for this. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: A summary of the recursive operations, including the count of successes and failures, + as well as a continuation token in case the operation was terminated prematurely. + :rtype: :class:`~...filedatalake.AccessControlChangeResult` + :raises ~azure.core.exceptions.AzureError: + User can restart the operation using continuation_token field of AzureError if the token is available. + """ + if not acl: + raise ValueError("The Access Control List must be set for this operation") + + progress_hook = kwargs.pop('progress_hook', None) + max_batches = kwargs.pop('max_batches', None) + options = self._set_access_control_recursive_options(mode='remove', acl=acl, **kwargs) + return self._set_access_control_internal(options=options, progress_hook=progress_hook, + max_batches=max_batches) + + def _set_access_control_internal(self, options, progress_hook, max_batches=None): + try: + continue_on_failure = options.get('force_flag') + total_directories_successful = 0 + total_files_success = 0 + total_failure_count = 0 + batch_count = 0 + last_continuation_token = None + current_continuation_token = None + continue_operation = True + while continue_operation: + headers, resp = self._client.path.set_access_control_recursive(**options) + + # make a running tally so that we can report the final results + total_directories_successful += resp.directories_successful + total_files_success += resp.files_successful + total_failure_count += resp.failure_count + batch_count += 1 + current_continuation_token = headers['continuation'] + + if current_continuation_token is not None: + last_continuation_token = current_continuation_token + + if progress_hook is not None: + progress_hook(AccessControlChanges( + batch_counters=AccessControlChangeCounters( + directories_successful=resp.directories_successful, + files_successful=resp.files_successful, + failure_count=resp.failure_count, + ), + aggregate_counters=AccessControlChangeCounters( + directories_successful=total_directories_successful, + files_successful=total_files_success, + failure_count=total_failure_count, + ), + batch_failures=[AccessControlChangeFailure( + name=failure.name, + is_directory=failure.type == 'DIRECTORY', + error_message=failure.error_message) for failure in resp.failed_entries], + continuation=last_continuation_token)) + + # update the continuation token, if there are more operations that cannot be completed in a single call + max_batches_satisfied = (max_batches is not None and batch_count == max_batches) + continue_operation = bool(current_continuation_token) and not max_batches_satisfied + options['continuation'] = current_continuation_token + + # currently the service stops on any failure, so we should send back the last continuation token + # for the user to retry the failed updates + # otherwise we should just return what the service gave us + return AccessControlChangeResult(counters=AccessControlChangeCounters( + directories_successful=total_directories_successful, + files_successful=total_files_success, + failure_count=total_failure_count), + continuation=last_continuation_token + if total_failure_count > 0 and not continue_on_failure else current_continuation_token) + except HttpResponseError as error: + error.continuation_token = last_continuation_token + process_storage_error(error) + except AzureError as error: + error.continuation_token = last_continuation_token + raise error + + def _rename_path_options(self, rename_source, content_settings=None, metadata=None, **kwargs): + # type: (Optional[ContentSettings], Optional[Dict[str, str]], **Any) -> Dict[str, Any] + if self.require_encryption or (self.key_encryption_key is not None): + raise ValueError(_ERROR_UNSUPPORTED_METHOD_FOR_ENCRYPTION) + if metadata or kwargs.pop('permissions', None) or kwargs.pop('umask', None): + raise ValueError("metadata, permissions, umask is not supported for this operation") + + access_conditions = get_access_conditions(kwargs.pop('lease', None)) + source_lease_id = get_lease_id(kwargs.pop('source_lease', None)) + mod_conditions = get_mod_conditions(kwargs) + source_mod_conditions = get_source_mod_conditions(kwargs) + + path_http_headers = None + if content_settings: + path_http_headers = get_path_http_headers(content_settings) + + options = { + 'rename_source': rename_source, + 'path_http_headers': path_http_headers, + 'lease_access_conditions': access_conditions, + 'source_lease_id': source_lease_id, + 'modified_access_conditions': mod_conditions, + 'source_modified_access_conditions': source_mod_conditions, + 'timeout': kwargs.pop('timeout', None), + 'mode': 'legacy', + 'cls': return_response_headers} + options.update(kwargs) + return options + + def _rename_path(self, rename_source, **kwargs): + # type: (str, **Any) -> Dict[str, Any] + """ + Rename directory or file + + :param rename_source: + The value must have the following format: "/{filesystem}/{path}". + :type rename_source: str + :keyword ~...filedatalake.ContentSettings content_settings: + ContentSettings object used to set path properties. + :keyword source_lease: + A lease ID for the source path. If specified, + the source path must have an active lease and the leaase ID must + match. + :paramtype source_lease: ~...filedatalake.DataLakeLeaseClient or str + :keyword lease: + Required if the file/directory has an active lease. Value can be a LeaseClient object + or the lease ID as a string. + :paramtype lease: ~...filedatalake.DataLakeLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword ~datetime.datetime source_if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime source_if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str source_etag: + The source ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions source_match_condition: + The source match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + """ + options = self._rename_path_options( + rename_source, + **kwargs) + try: + return self._client.path.create(**options) + except HttpResponseError as error: + process_storage_error(error) + + def _get_path_properties(self, **kwargs): + # type: (**Any) -> Union[FileProperties, DirectoryProperties] + """Returns all user-defined metadata, standard HTTP properties, and + system properties for the file or directory. It does not return the content of the directory or file. + + :keyword lease: + Required if the directory or file has an active lease. Value can be a DataLakeLeaseClient object + or the lease ID as a string. + :paramtype lease: ~...filedatalake.DataLakeLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :rtype: DirectoryProperties or FileProperties + + .. admonition:: Example: + + .. literalinclude:: ../tests/test_blob_samples_common.py + :start-after: [START get_blob_properties] + :end-before: [END get_blob_properties] + :language: python + :dedent: 8 + :caption: Getting the properties for a file/directory. + """ + path_properties = self._blob_client.get_blob_properties(**kwargs) + return path_properties + + def _exists(self, **kwargs): + # type: (**Any) -> bool + """ + Returns True if a path exists and returns False otherwise. + + :kwarg int timeout: + The timeout parameter is expressed in seconds. + :returns: boolean + """ + return self._blob_client.exists(**kwargs) + + def set_metadata(self, metadata, # type: Dict[str, str] + **kwargs): + # type: (...) -> Dict[str, Union[str, datetime]] + """Sets one or more user-defined name-value pairs for the specified + file system. Each call to this operation replaces all existing metadata + attached to the file system. To remove all metadata from the file system, + call this operation with no metadata dict. + + :param metadata: + A dict containing name-value pairs to associate with the file system as + metadata. Example: {'category':'test'} + :type metadata: dict[str, str] + :keyword lease: + If specified, set_file_system_metadata only succeeds if the + file system's lease is active and matches this ID. + :paramtype lease: ~...filedatalake.DataLakeLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: file system-updated property dict (Etag and last modified). + """ + return self._blob_client.set_blob_metadata(metadata=metadata, **kwargs) + + def set_http_headers(self, content_settings=None, # type: Optional[ContentSettings] + **kwargs): + # type: (...) -> Dict[str, Any] + """Sets system properties on the file or directory. + + If one property is set for the content_settings, all properties will be overriden. + + :param ~...filedatalake.ContentSettings content_settings: + ContentSettings object used to set file/directory properties. + :keyword lease: + If specified, set_file_system_metadata only succeeds if the + file system's lease is active and matches this ID. + :paramtype lease: ~...filedatalake.DataLakeLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: file/directory-updated property dict (Etag and last modified) + :rtype: Dict[str, Any] + """ + return self._blob_client.set_http_headers(content_settings=content_settings, **kwargs) + + def acquire_lease(self, lease_duration=-1, # type: Optional[int] + lease_id=None, # type: Optional[str] + **kwargs): + # type: (...) -> DataLakeLeaseClient + """ + Requests a new lease. If the file or directory does not have an active lease, + the DataLake service creates a lease on the file/directory and returns a new + lease ID. + + :param int lease_duration: + Specifies the duration of the lease, in seconds, or negative one + (-1) for a lease that never expires. A non-infinite lease can be + between 15 and 60 seconds. A lease duration cannot be changed + using renew or change. Default is -1 (infinite lease). + :param str lease_id: + Proposed lease ID, in a GUID string format. The DataLake service returns + 400 (Invalid request) if the proposed lease ID is not in the correct format. + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: A DataLakeLeaseClient object, that can be run in a context manager. + :rtype: ~...filedatalake.DataLakeLeaseClient + """ + lease = DataLakeLeaseClient(self, lease_id=lease_id) # type: ignore + lease.acquire(lease_duration=lease_duration, **kwargs) + return lease diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_quick_query_helper.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_quick_query_helper.py new file mode 100644 index 00000000000..ff67d277a16 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_quick_query_helper.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 typing import Union, Iterable, IO # pylint: disable=unused-import + + +class DataLakeFileQueryReader(object): # pylint: disable=too-many-instance-attributes + """A streaming object to read query results. + + :ivar str name: + The name of the blob being quered. + :ivar str container: + The name of the container where the blob is. + :ivar dict response_headers: + The response_headers of the quick query request. + :ivar bytes record_delimiter: + The delimiter used to separate lines, or records with the data. The `records` + method will return these lines via a generator. + """ + + def __init__( + self, + blob_query_reader + ): + self.name = blob_query_reader.name + self.file_system = blob_query_reader.container + self.response_headers = blob_query_reader.response_headers + self.record_delimiter = blob_query_reader.record_delimiter + self._bytes_processed = 0 + self._blob_query_reader = blob_query_reader + + def __len__(self): + return len(self._blob_query_reader) + + def readall(self): + # type: () -> Union[bytes, str] + """Return all query results. + + This operation is blocking until all data is downloaded. + If encoding has been configured - this will be used to decode individual + records are they are received. + + :rtype: Union[bytes, str] + """ + return self._blob_query_reader.readall() + + def readinto(self, stream): + # type: (IO) -> None + """Download the query result to a stream. + + :param stream: + The stream to download to. This can be an open file-handle, + or any writable stream. + :returns: None + """ + self._blob_query_reader(stream) + + def records(self): + # type: () -> Iterable[Union[bytes, str]] + """Returns a record generator for the query result. + + Records will be returned line by line. + If encoding has been configured - this will be used to decode individual + records are they are received. + + :rtype: Iterable[Union[bytes, str]] + """ + return self._blob_query_reader.records() diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_serialize.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_serialize.py new file mode 100644 index 00000000000..16b6b911caa --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_serialize.py @@ -0,0 +1,89 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +from ...blob._serialize import _get_match_headers # pylint: disable=protected-access +from ._shared import encode_base64 +from ._generated.models import ModifiedAccessConditions, PathHTTPHeaders, \ + SourceModifiedAccessConditions, LeaseAccessConditions + + +def convert_dfs_url_to_blob_url(dfs_account_url): + return dfs_account_url.replace('.dfs.', '.blob.', 1) + + +def convert_datetime_to_rfc1123(date): + weekday = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"][date.weekday()] + month = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", + "Oct", "Nov", "Dec"][date.month - 1] + return "%s, %02d %s %04d %02d:%02d:%02d GMT" % (weekday, date.day, month, + date.year, date.hour, date.minute, date.second) + + +def add_metadata_headers(metadata=None): + # type: (Optional[Dict[str, str]]) -> str + headers = list() + if metadata: + for key, value in metadata.items(): + headers.append(key + '=') + headers.append(encode_base64(value)) + headers.append(',') + + if headers: + del headers[-1] + + return ''.join(headers) + + +def get_mod_conditions(kwargs): + # type: (Dict[str, Any]) -> ModifiedAccessConditions + if_match, if_none_match = _get_match_headers(kwargs, 'match_condition', 'etag') + return ModifiedAccessConditions( + if_modified_since=kwargs.pop('if_modified_since', None), + if_unmodified_since=kwargs.pop('if_unmodified_since', None), + if_match=if_match or kwargs.pop('if_match', None), + if_none_match=if_none_match or kwargs.pop('if_none_match', None) + ) + + +def get_source_mod_conditions(kwargs): + # type: (Dict[str, Any]) -> SourceModifiedAccessConditions + if_match, if_none_match = _get_match_headers(kwargs, 'source_match_condition', 'source_etag') + return SourceModifiedAccessConditions( + source_if_modified_since=kwargs.pop('source_if_modified_since', None), + source_if_unmodified_since=kwargs.pop('source_if_unmodified_since', None), + source_if_match=if_match or kwargs.pop('source_if_match', None), + source_if_none_match=if_none_match or kwargs.pop('source_if_none_match', None) + ) + + +def get_path_http_headers(content_settings): + path_headers = PathHTTPHeaders( + cache_control=content_settings.cache_control, + content_type=content_settings.content_type, + content_md5=bytearray(content_settings.content_md5) if content_settings.content_md5 else None, + content_encoding=content_settings.content_encoding, + content_language=content_settings.content_language, + content_disposition=content_settings.content_disposition + ) + return path_headers + + +def get_access_conditions(lease): + # type: (Optional[Union[BlobLeaseClient, str]]) -> Union[LeaseAccessConditions, None] + try: + lease_id = lease.id # type: ignore + except AttributeError: + lease_id = lease # type: ignore + return LeaseAccessConditions(lease_id=lease_id) if lease_id else None + + +def get_lease_id(lease): + if not lease: + return "" + try: + lease_id = lease.id + except AttributeError: + lease_id = lease + return lease_id diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/__init__.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/__init__.py new file mode 100644 index 00000000000..160f8822382 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/__init__.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. +# -------------------------------------------------------------------------- + +import base64 +import hashlib +import hmac + +try: + from urllib.parse import quote, unquote +except ImportError: + from urllib2 import quote, unquote # type: ignore + +import six + + +def url_quote(url): + return quote(url) + + +def url_unquote(url): + return unquote(url) + + +def encode_base64(data): + if isinstance(data, six.text_type): + data = data.encode('utf-8') + encoded = base64.b64encode(data) + return encoded.decode('utf-8') + + +def decode_base64_to_bytes(data): + if isinstance(data, six.text_type): + data = data.encode('utf-8') + return base64.b64decode(data) + + +def decode_base64_to_text(data): + decoded_bytes = decode_base64_to_bytes(data) + return decoded_bytes.decode('utf-8') + + +def sign_string(key, string_to_sign, key_is_base64=True): + if key_is_base64: + key = decode_base64_to_bytes(key) + else: + if isinstance(key, six.text_type): + key = key.encode('utf-8') + if isinstance(string_to_sign, six.text_type): + string_to_sign = string_to_sign.encode('utf-8') + signed_hmac_sha256 = hmac.HMAC(key, string_to_sign, hashlib.sha256) + digest = signed_hmac_sha256.digest() + encoded_digest = encode_base64(digest) + return encoded_digest diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/authentication.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/authentication.py new file mode 100644 index 00000000000..d04c1e4fb53 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/authentication.py @@ -0,0 +1,142 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- + +import logging +import sys + +try: + from urllib.parse import urlparse, unquote +except ImportError: + from urlparse import urlparse # type: ignore + from urllib2 import unquote # type: ignore + +try: + from yarl import URL +except ImportError: + pass + +try: + from azure.core.pipeline.transport import AioHttpTransport +except ImportError: + AioHttpTransport = None + +from azure.core.exceptions import ClientAuthenticationError +from azure.core.pipeline.policies import SansIOHTTPPolicy + +from . import sign_string + + +logger = logging.getLogger(__name__) + + + +# wraps a given exception with the desired exception type +def _wrap_exception(ex, desired_type): + msg = "" + if ex.args: + msg = ex.args[0] + if sys.version_info >= (3,): + # Automatic chaining in Python 3 means we keep the trace + return desired_type(msg) + # There isn't a good solution in 2 for keeping the stack trace + # in general, or that will not result in an error in 3 + # However, we can keep the previous error type and message + # TODO: In the future we will log the trace + return desired_type('{}: {}'.format(ex.__class__.__name__, msg)) + + +class AzureSigningError(ClientAuthenticationError): + """ + Represents a fatal error when attempting to sign a request. + In general, the cause of this exception is user error. For example, the given account key is not valid. + Please visit https://docs.microsoft.com/en-us/azure/storage/common/storage-create-storage-account for more info. + """ + + +# pylint: disable=no-self-use +class SharedKeyCredentialPolicy(SansIOHTTPPolicy): + + def __init__(self, account_name, account_key): + self.account_name = account_name + self.account_key = account_key + super(SharedKeyCredentialPolicy, self).__init__() + + @staticmethod + def _get_headers(request, headers_to_sign): + headers = dict((name.lower(), value) for name, value in request.http_request.headers.items() if value) + if 'content-length' in headers and headers['content-length'] == '0': + del headers['content-length'] + return '\n'.join(headers.get(x, '') for x in headers_to_sign) + '\n' + + @staticmethod + def _get_verb(request): + return request.http_request.method + '\n' + + def _get_canonicalized_resource(self, request): + uri_path = urlparse(request.http_request.url).path + try: + if isinstance(request.context.transport, AioHttpTransport) or \ + isinstance(getattr(request.context.transport, "_transport", None), AioHttpTransport) or \ + isinstance(getattr(getattr(request.context.transport, "_transport", None), "_transport", None), + AioHttpTransport): + uri_path = URL(uri_path) + return '/' + self.account_name + str(uri_path) + except TypeError: + pass + return '/' + self.account_name + uri_path + + @staticmethod + def _get_canonicalized_headers(request): + string_to_sign = '' + x_ms_headers = [] + for name, value in request.http_request.headers.items(): + if name.startswith('x-ms-'): + x_ms_headers.append((name.lower(), value)) + x_ms_headers.sort() + for name, value in x_ms_headers: + if value is not None: + string_to_sign += ''.join([name, ':', value, '\n']) + return string_to_sign + + @staticmethod + def _get_canonicalized_resource_query(request): + sorted_queries = list(request.http_request.query.items()) + sorted_queries.sort() + + string_to_sign = '' + for name, value in sorted_queries: + if value is not None: + string_to_sign += '\n' + name.lower() + ':' + unquote(value) + + return string_to_sign + + def _add_authorization_header(self, request, string_to_sign): + try: + signature = sign_string(self.account_key, string_to_sign) + auth_string = 'SharedKey ' + self.account_name + ':' + signature + request.http_request.headers['Authorization'] = auth_string + except Exception as ex: + # Wrap any error that occurred as signing error + # Doing so will clarify/locate the source of problem + raise _wrap_exception(ex, AzureSigningError) + + def on_request(self, request): + string_to_sign = \ + self._get_verb(request) + \ + self._get_headers( + request, + [ + 'content-encoding', 'content-language', 'content-length', + 'content-md5', 'content-type', 'date', 'if-modified-since', + 'if-match', 'if-none-match', 'if-unmodified-since', 'byte_range' + ] + ) + \ + self._get_canonicalized_headers(request) + \ + self._get_canonicalized_resource(request) + \ + self._get_canonicalized_resource_query(request) + + self._add_authorization_header(request, string_to_sign) + #logger.debug("String_to_sign=%s", string_to_sign) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/base_client.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/base_client.py new file mode 100644 index 00000000000..5e524b2dc3d --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/base_client.py @@ -0,0 +1,459 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +import logging +import uuid +from typing import ( # pylint: disable=unused-import + Optional, + Any, + Tuple, +) + +try: + from urllib.parse import parse_qs, quote +except ImportError: + from urlparse import parse_qs # type: ignore + from urllib2 import quote # type: ignore + +import six + +from azure.core.configuration import Configuration +from azure.core.credentials import AzureSasCredential +from azure.core.exceptions import HttpResponseError +from azure.core.pipeline import Pipeline +from azure.core.pipeline.transport import RequestsTransport, HttpTransport +from azure.core.pipeline.policies import ( + RedirectPolicy, + ContentDecodePolicy, + BearerTokenCredentialPolicy, + ProxyPolicy, + DistributedTracingPolicy, + HttpLoggingPolicy, + UserAgentPolicy, + AzureSasCredentialPolicy +) + +from .constants import STORAGE_OAUTH_SCOPE, SERVICE_HOST_BASE, CONNECTION_TIMEOUT, READ_TIMEOUT +from .models import LocationMode +from .authentication import SharedKeyCredentialPolicy +from .shared_access_signature import QueryStringConstants +from .request_handlers import serialize_batch_body, _get_batch_request_delimiter +from .policies import ( + StorageHeadersPolicy, + StorageContentValidation, + StorageRequestHook, + StorageResponseHook, + StorageLoggingPolicy, + StorageHosts, + QueueMessagePolicy, + ExponentialRetry, +) +from .._version import VERSION +from .response_handlers import process_storage_error, PartialBatchErrorException + + +_LOGGER = logging.getLogger(__name__) +_SERVICE_PARAMS = { + "blob": {"primary": "BLOBENDPOINT", "secondary": "BLOBSECONDARYENDPOINT"}, + "queue": {"primary": "QUEUEENDPOINT", "secondary": "QUEUESECONDARYENDPOINT"}, + "file": {"primary": "FILEENDPOINT", "secondary": "FILESECONDARYENDPOINT"}, + "dfs": {"primary": "BLOBENDPOINT", "secondary": "BLOBENDPOINT"}, +} + +class StorageAccountHostsMixin(object): # pylint: disable=too-many-instance-attributes + def __init__( + self, + parsed_url, # type: Any + service, # type: str + credential=None, # type: Optional[Any] + **kwargs # type: Any + ): + # type: (...) -> None + self._location_mode = kwargs.get("_location_mode", LocationMode.PRIMARY) + self._hosts = kwargs.get("_hosts") + self.scheme = parsed_url.scheme + + if service not in ["blob", "queue", "file-share", "dfs"]: + raise ValueError("Invalid service: {}".format(service)) + service_name = service.split('-')[0] + account = parsed_url.netloc.split(".{}.core.".format(service_name)) + + self.account_name = account[0] if len(account) > 1 else None + if not self.account_name and parsed_url.netloc.startswith("localhost") \ + or parsed_url.netloc.startswith("127.0.0.1"): + self.account_name = parsed_url.path.strip("/") + + self.credential = _format_shared_key_credential(self.account_name, credential) + if self.scheme.lower() != "https" and hasattr(self.credential, "get_token"): + raise ValueError("Token credential is only supported with HTTPS.") + + secondary_hostname = None + if hasattr(self.credential, "account_name"): + self.account_name = self.credential.account_name + secondary_hostname = "{}-secondary.{}.{}".format( + self.credential.account_name, service_name, SERVICE_HOST_BASE) + + if not self._hosts: + if len(account) > 1: + secondary_hostname = parsed_url.netloc.replace(account[0], account[0] + "-secondary") + if kwargs.get("secondary_hostname"): + secondary_hostname = kwargs["secondary_hostname"] + primary_hostname = (parsed_url.netloc + parsed_url.path).rstrip('/') + self._hosts = {LocationMode.PRIMARY: primary_hostname, LocationMode.SECONDARY: secondary_hostname} + + self.require_encryption = kwargs.get("require_encryption", False) + self.key_encryption_key = kwargs.get("key_encryption_key") + self.key_resolver_function = kwargs.get("key_resolver_function") + self._config, self._pipeline = self._create_pipeline(self.credential, storage_sdk=service, **kwargs) + + def __enter__(self): + self._client.__enter__() + return self + + def __exit__(self, *args): + self._client.__exit__(*args) + + def close(self): + """ This method is to close the sockets opened by the client. + It need not be used when using with a context manager. + """ + self._client.close() + + @property + def url(self): + """The full endpoint URL to this entity, including SAS token if used. + + This could be either the primary endpoint, + or the secondary endpoint depending on the current :func:`location_mode`. + """ + return self._format_url(self._hosts[self._location_mode]) + + @property + def primary_endpoint(self): + """The full primary endpoint URL. + + :type: str + """ + return self._format_url(self._hosts[LocationMode.PRIMARY]) + + @property + def primary_hostname(self): + """The hostname of the primary endpoint. + + :type: str + """ + return self._hosts[LocationMode.PRIMARY] + + @property + def secondary_endpoint(self): + """The full secondary endpoint URL if configured. + + If not available a ValueError will be raised. To explicitly specify a secondary hostname, use the optional + `secondary_hostname` keyword argument on instantiation. + + :type: str + :raise ValueError: + """ + if not self._hosts[LocationMode.SECONDARY]: + raise ValueError("No secondary host configured.") + return self._format_url(self._hosts[LocationMode.SECONDARY]) + + @property + def secondary_hostname(self): + """The hostname of the secondary endpoint. + + If not available this will be None. To explicitly specify a secondary hostname, use the optional + `secondary_hostname` keyword argument on instantiation. + + :type: str or None + """ + return self._hosts[LocationMode.SECONDARY] + + @property + def location_mode(self): + """The location mode that the client is currently using. + + By default this will be "primary". Options include "primary" and "secondary". + + :type: str + """ + + return self._location_mode + + @location_mode.setter + def location_mode(self, value): + if self._hosts.get(value): + self._location_mode = value + self._client._config.url = self.url # pylint: disable=protected-access + else: + raise ValueError("No host URL for location mode: {}".format(value)) + + @property + def api_version(self): + """The version of the Storage API used for requests. + + :type: str + """ + return self._client._config.version # pylint: disable=protected-access + + def _format_query_string(self, sas_token, credential, snapshot=None, share_snapshot=None): + query_str = "?" + if snapshot: + query_str += "snapshot={}&".format(self.snapshot) + if share_snapshot: + query_str += "sharesnapshot={}&".format(self.snapshot) + if sas_token and isinstance(credential, AzureSasCredential): + raise ValueError( + "You cannot use AzureSasCredential when the resource URI also contains a Shared Access Signature.") + if sas_token and not credential: + query_str += sas_token + elif is_credential_sastoken(credential): + query_str += credential.lstrip("?") + credential = None + return query_str.rstrip("?&"), credential + + def _create_pipeline(self, credential, **kwargs): + # type: (Any, **Any) -> Tuple[Configuration, Pipeline] + self._credential_policy = None + if hasattr(credential, "get_token"): + self._credential_policy = BearerTokenCredentialPolicy(credential, STORAGE_OAUTH_SCOPE) + elif isinstance(credential, SharedKeyCredentialPolicy): + self._credential_policy = credential + elif isinstance(credential, AzureSasCredential): + self._credential_policy = AzureSasCredentialPolicy(credential) + elif credential is not None: + raise TypeError("Unsupported credential: {}".format(credential)) + + config = kwargs.get("_configuration") or create_configuration(**kwargs) + if kwargs.get("_pipeline"): + return config, kwargs["_pipeline"] + config.transport = kwargs.get("transport") # type: ignore + kwargs.setdefault("connection_timeout", CONNECTION_TIMEOUT) + kwargs.setdefault("read_timeout", READ_TIMEOUT) + if not config.transport: + config.transport = RequestsTransport(**kwargs) + policies = [ + QueueMessagePolicy(), + config.proxy_policy, + config.user_agent_policy, + StorageContentValidation(), + ContentDecodePolicy(response_encoding="utf-8"), + RedirectPolicy(**kwargs), + StorageHosts(hosts=self._hosts, **kwargs), + config.retry_policy, + config.headers_policy, + StorageRequestHook(**kwargs), + self._credential_policy, + config.logging_policy, + StorageResponseHook(**kwargs), + DistributedTracingPolicy(**kwargs), + HttpLoggingPolicy(**kwargs) + ] + if kwargs.get("_additional_pipeline_policies"): + policies = policies + kwargs.get("_additional_pipeline_policies") + return config, Pipeline(config.transport, policies=policies) + + def _batch_send( + self, + *reqs, # type: HttpRequest + **kwargs + ): + """Given a series of request, do a Storage batch call. + """ + # Pop it here, so requests doesn't feel bad about additional kwarg + raise_on_any_failure = kwargs.pop("raise_on_any_failure", True) + batch_id = str(uuid.uuid1()) + + request = self._client._client.post( # pylint: disable=protected-access + url='{}://{}/{}?{}comp=batch{}{}'.format( + self.scheme, + self.primary_hostname, + kwargs.pop('path', ""), + kwargs.pop('restype', ""), + kwargs.pop('sas', ""), + kwargs.pop('timeout', "") + ), + headers={ + 'x-ms-version': self.api_version, + "Content-Type": "multipart/mixed; boundary=" + _get_batch_request_delimiter(batch_id, False, False) + } + ) + + policies = [StorageHeadersPolicy()] + if self._credential_policy: + policies.append(self._credential_policy) + + request.set_multipart_mixed( + *reqs, + policies=policies, + enforce_https=False + ) + + Pipeline._prepare_multipart_mixed_request(request) # pylint: disable=protected-access + body = serialize_batch_body(request.multipart_mixed_info[0], batch_id) + request.set_bytes_body(body) + + temp = request.multipart_mixed_info + request.multipart_mixed_info = None + pipeline_response = self._pipeline.run( + request, **kwargs + ) + response = pipeline_response.http_response + request.multipart_mixed_info = temp + + try: + if response.status_code not in [202]: + raise HttpResponseError(response=response) + parts = response.parts() + if raise_on_any_failure: + parts = list(response.parts()) + if any(p for p in parts if not 200 <= p.status_code < 300): + error = PartialBatchErrorException( + message="There is a partial failure in the batch operation.", + response=response, parts=parts + ) + raise error + return iter(parts) + return parts + except HttpResponseError as error: + process_storage_error(error) + +class TransportWrapper(HttpTransport): + """Wrapper class that ensures that an inner client created + by a `get_client` method does not close the outer transport for the parent + when used in a context manager. + """ + def __init__(self, transport): + self._transport = transport + + def send(self, request, **kwargs): + return self._transport.send(request, **kwargs) + + def open(self): + pass + + def close(self): + pass + + def __enter__(self): + pass + + def __exit__(self, *args): # pylint: disable=arguments-differ + pass + + +def _format_shared_key_credential(account_name, credential): + if isinstance(credential, six.string_types): + if not account_name: + raise ValueError("Unable to determine account name for shared key credential.") + credential = {"account_name": account_name, "account_key": credential} + if isinstance(credential, dict): + if "account_name" not in credential: + raise ValueError("Shared key credential missing 'account_name") + if "account_key" not in credential: + raise ValueError("Shared key credential missing 'account_key") + return SharedKeyCredentialPolicy(**credential) + return credential + + +def parse_connection_str(conn_str, credential, service): + conn_str = conn_str.rstrip(";") + conn_settings = [s.split("=", 1) for s in conn_str.split(";")] + if any(len(tup) != 2 for tup in conn_settings): + raise ValueError("Connection string is either blank or malformed.") + conn_settings = dict((key.upper(), val) for key, val in conn_settings) + endpoints = _SERVICE_PARAMS[service] + primary = None + secondary = None + if not credential: + try: + credential = {"account_name": conn_settings["ACCOUNTNAME"], "account_key": conn_settings["ACCOUNTKEY"]} + except KeyError: + credential = conn_settings.get("SHAREDACCESSSIGNATURE") + if endpoints["primary"] in conn_settings: + primary = conn_settings[endpoints["primary"]] + if endpoints["secondary"] in conn_settings: + secondary = conn_settings[endpoints["secondary"]] + else: + if endpoints["secondary"] in conn_settings: + raise ValueError("Connection string specifies only secondary endpoint.") + try: + primary = "{}://{}.{}.{}".format( + conn_settings["DEFAULTENDPOINTSPROTOCOL"], + conn_settings["ACCOUNTNAME"], + service, + conn_settings["ENDPOINTSUFFIX"], + ) + secondary = "{}-secondary.{}.{}".format( + conn_settings["ACCOUNTNAME"], service, conn_settings["ENDPOINTSUFFIX"] + ) + except KeyError: + pass + + if not primary: + try: + primary = "https://{}.{}.{}".format( + conn_settings["ACCOUNTNAME"], service, conn_settings.get("ENDPOINTSUFFIX", SERVICE_HOST_BASE) + ) + except KeyError: + raise ValueError("Connection string missing required connection details.") + return primary, secondary, credential + + +def create_configuration(**kwargs): + # type: (**Any) -> Configuration + config = Configuration(**kwargs) + config.headers_policy = StorageHeadersPolicy(**kwargs) + config.user_agent_policy = UserAgentPolicy( + sdk_moniker="storage-{}/{}".format(kwargs.pop('storage_sdk'), VERSION), **kwargs) + config.retry_policy = kwargs.get("retry_policy") or ExponentialRetry(**kwargs) + config.logging_policy = StorageLoggingPolicy(**kwargs) + config.proxy_policy = ProxyPolicy(**kwargs) + + # Storage settings + config.max_single_put_size = kwargs.get("max_single_put_size", 64 * 1024 * 1024) + config.copy_polling_interval = 15 + + # Block blob uploads + config.max_block_size = kwargs.get("max_block_size", 4 * 1024 * 1024) + config.min_large_block_upload_threshold = kwargs.get("min_large_block_upload_threshold", 4 * 1024 * 1024 + 1) + config.use_byte_buffer = kwargs.get("use_byte_buffer", False) + + # Page blob uploads + config.max_page_size = kwargs.get("max_page_size", 4 * 1024 * 1024) + + # Datalake file uploads + config.min_large_chunk_upload_threshold = kwargs.get("min_large_chunk_upload_threshold", 100 * 1024 * 1024 + 1) + + # Blob downloads + config.max_single_get_size = kwargs.get("max_single_get_size", 32 * 1024 * 1024) + config.max_chunk_get_size = kwargs.get("max_chunk_get_size", 4 * 1024 * 1024) + + # File uploads + config.max_range_size = kwargs.get("max_range_size", 4 * 1024 * 1024) + return config + + +def parse_query(query_str): + sas_values = QueryStringConstants.to_list() + parsed_query = {k: v[0] for k, v in parse_qs(query_str).items()} + sas_params = ["{}={}".format(k, quote(v, safe='')) for k, v in parsed_query.items() if k in sas_values] + sas_token = None + if sas_params: + sas_token = "&".join(sas_params) + + snapshot = parsed_query.get("snapshot") or parsed_query.get("sharesnapshot") + return snapshot, sas_token + + +def is_credential_sastoken(credential): + if not credential or not isinstance(credential, six.string_types): + return False + + sas_values = QueryStringConstants.to_list() + parsed_query = parse_qs(credential.lstrip("?")) + if parsed_query and all([k in sas_values for k in parsed_query.keys()]): + return True + return False diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/base_client_async.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/base_client_async.py new file mode 100644 index 00000000000..091c350b489 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/base_client_async.py @@ -0,0 +1,183 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- + +from typing import ( # pylint: disable=unused-import + Union, Optional, Any, Iterable, Dict, List, Type, Tuple, + TYPE_CHECKING +) +import logging + +from azure.core.credentials import AzureSasCredential +from azure.core.pipeline import AsyncPipeline +from azure.core.async_paging import AsyncList +from azure.core.exceptions import HttpResponseError +from azure.core.pipeline.policies import ( + ContentDecodePolicy, + AsyncBearerTokenCredentialPolicy, + AsyncRedirectPolicy, + DistributedTracingPolicy, + HttpLoggingPolicy, + AzureSasCredentialPolicy, +) +from azure.core.pipeline.transport import AsyncHttpTransport + +from .constants import STORAGE_OAUTH_SCOPE, CONNECTION_TIMEOUT, READ_TIMEOUT +from .authentication import SharedKeyCredentialPolicy +from .base_client import create_configuration +from .policies import ( + StorageContentValidation, + StorageRequestHook, + StorageHosts, + StorageHeadersPolicy, + QueueMessagePolicy +) +from .policies_async import AsyncStorageResponseHook + +from .response_handlers import process_storage_error, PartialBatchErrorException + +if TYPE_CHECKING: + from azure.core.pipeline import Pipeline + from azure.core.pipeline.transport import HttpRequest + from azure.core.configuration import Configuration +_LOGGER = logging.getLogger(__name__) + + +class AsyncStorageAccountHostsMixin(object): + + def __enter__(self): + raise TypeError("Async client only supports 'async with'.") + + def __exit__(self, *args): + pass + + async def __aenter__(self): + await self._client.__aenter__() + return self + + async def __aexit__(self, *args): + await self._client.__aexit__(*args) + + async def close(self): + """ This method is to close the sockets opened by the client. + It need not be used when using with a context manager. + """ + await self._client.close() + + def _create_pipeline(self, credential, **kwargs): + # type: (Any, **Any) -> Tuple[Configuration, Pipeline] + self._credential_policy = None + if hasattr(credential, 'get_token'): + self._credential_policy = AsyncBearerTokenCredentialPolicy(credential, STORAGE_OAUTH_SCOPE) + elif isinstance(credential, SharedKeyCredentialPolicy): + self._credential_policy = credential + elif isinstance(credential, AzureSasCredential): + self._credential_policy = AzureSasCredentialPolicy(credential) + elif credential is not None: + raise TypeError("Unsupported credential: {}".format(credential)) + config = kwargs.get('_configuration') or create_configuration(**kwargs) + if kwargs.get('_pipeline'): + return config, kwargs['_pipeline'] + config.transport = kwargs.get('transport') # type: ignore + kwargs.setdefault("connection_timeout", CONNECTION_TIMEOUT) + kwargs.setdefault("read_timeout", READ_TIMEOUT) + if not config.transport: + try: + from azure.core.pipeline.transport import AioHttpTransport + except ImportError: + raise ImportError("Unable to create async transport. Please check aiohttp is installed.") + config.transport = AioHttpTransport(**kwargs) + policies = [ + QueueMessagePolicy(), + config.headers_policy, + config.proxy_policy, + config.user_agent_policy, + StorageContentValidation(), + StorageRequestHook(**kwargs), + self._credential_policy, + ContentDecodePolicy(response_encoding="utf-8"), + AsyncRedirectPolicy(**kwargs), + StorageHosts(hosts=self._hosts, **kwargs), # type: ignore + config.retry_policy, + config.logging_policy, + AsyncStorageResponseHook(**kwargs), + DistributedTracingPolicy(**kwargs), + HttpLoggingPolicy(**kwargs), + ] + if kwargs.get("_additional_pipeline_policies"): + policies = policies + kwargs.get("_additional_pipeline_policies") + return config, AsyncPipeline(config.transport, policies=policies) + + async def _batch_send( + self, *reqs: 'HttpRequest', + **kwargs + ): + """Given a series of request, do a Storage batch call. + """ + # Pop it here, so requests doesn't feel bad about additional kwarg + raise_on_any_failure = kwargs.pop("raise_on_any_failure", True) + request = self._client._client.post( # pylint: disable=protected-access + url='https://{}/?comp=batch'.format(self.primary_hostname), + headers={ + 'x-ms-version': self.api_version + } + ) + + request.set_multipart_mixed( + *reqs, + policies=[ + StorageHeadersPolicy(), + self._credential_policy + ], + enforce_https=False + ) + + pipeline_response = await self._pipeline.run( + request, **kwargs + ) + response = pipeline_response.http_response + + try: + if response.status_code not in [202]: + raise HttpResponseError(response=response) + parts = response.parts() # Return an AsyncIterator + if raise_on_any_failure: + parts_list = [] + async for part in parts: + parts_list.append(part) + if any(p for p in parts_list if not 200 <= p.status_code < 300): + error = PartialBatchErrorException( + message="There is a partial failure in the batch operation.", + response=response, parts=parts_list + ) + raise error + return AsyncList(parts_list) + return parts + except HttpResponseError as error: + process_storage_error(error) + + +class AsyncTransportWrapper(AsyncHttpTransport): + """Wrapper class that ensures that an inner client created + by a `get_client` method does not close the outer transport for the parent + when used in a context manager. + """ + def __init__(self, async_transport): + self._transport = async_transport + + async def send(self, request, **kwargs): + return await self._transport.send(request, **kwargs) + + async def open(self): + pass + + async def close(self): + pass + + async def __aenter__(self): + pass + + async def __aexit__(self, *args): # pylint: disable=arguments-differ + pass diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/constants.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/constants.py new file mode 100644 index 00000000000..a50e8b5a6a7 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/constants.py @@ -0,0 +1,27 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- + +import sys + +from .._generated import AzureDataLakeStorageRESTAPI + + +X_MS_VERSION = AzureDataLakeStorageRESTAPI(url="get_api_version")._config.version # pylint: disable=protected-access + +# Socket timeout in seconds +CONNECTION_TIMEOUT = 20 +READ_TIMEOUT = 20 + +# for python 3.5+, there was a change to the definition of the socket timeout (as far as socket.sendall is concerned) +# The socket timeout is now the maximum total duration to send all data. +if sys.version_info >= (3, 5): + # the timeout to connect is 20 seconds, and the read timeout is 2000 seconds + # the 2000 seconds was calculated with: 100MB (max block size)/ 50KB/s (an arbitrarily chosen minimum upload speed) + READ_TIMEOUT = 2000 + +STORAGE_OAUTH_SCOPE = "https://storage.azure.com/.default" + +SERVICE_HOST_BASE = 'core.windows.net' diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/encryption.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/encryption.py new file mode 100644 index 00000000000..62607cc0cf8 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/encryption.py @@ -0,0 +1,542 @@ +# ------------------------------------------------------------------------- +# 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 os import urandom +from json import ( + dumps, + loads, +) +from collections import OrderedDict + +from cryptography.hazmat.backends import default_backend +from cryptography.hazmat.primitives.ciphers import Cipher +from cryptography.hazmat.primitives.ciphers.algorithms import AES +from cryptography.hazmat.primitives.ciphers.modes import CBC +from cryptography.hazmat.primitives.padding import PKCS7 + +from azure.core.exceptions import HttpResponseError + +from .._version import VERSION +from . import encode_base64, decode_base64_to_bytes + + +_ENCRYPTION_PROTOCOL_V1 = '1.0' +_ERROR_OBJECT_INVALID = \ + '{0} does not define a complete interface. Value of {1} is either missing or invalid.' + + +def _validate_not_none(param_name, param): + if param is None: + raise ValueError('{0} should not be None.'.format(param_name)) + + +def _validate_key_encryption_key_wrap(kek): + # Note that None is not callable and so will fail the second clause of each check. + if not hasattr(kek, 'wrap_key') or not callable(kek.wrap_key): + raise AttributeError(_ERROR_OBJECT_INVALID.format('key encryption key', 'wrap_key')) + if not hasattr(kek, 'get_kid') or not callable(kek.get_kid): + raise AttributeError(_ERROR_OBJECT_INVALID.format('key encryption key', 'get_kid')) + if not hasattr(kek, 'get_key_wrap_algorithm') or not callable(kek.get_key_wrap_algorithm): + raise AttributeError(_ERROR_OBJECT_INVALID.format('key encryption key', 'get_key_wrap_algorithm')) + + +class _EncryptionAlgorithm(object): + ''' + Specifies which client encryption algorithm is used. + ''' + AES_CBC_256 = 'AES_CBC_256' + + +class _WrappedContentKey: + ''' + Represents the envelope key details stored on the service. + ''' + + def __init__(self, algorithm, encrypted_key, key_id): + ''' + :param str algorithm: + The algorithm used for wrapping. + :param bytes encrypted_key: + The encrypted content-encryption-key. + :param str key_id: + The key-encryption-key identifier string. + ''' + + _validate_not_none('algorithm', algorithm) + _validate_not_none('encrypted_key', encrypted_key) + _validate_not_none('key_id', key_id) + + self.algorithm = algorithm + self.encrypted_key = encrypted_key + self.key_id = key_id + + +class _EncryptionAgent: + ''' + Represents the encryption agent stored on the service. + It consists of the encryption protocol version and encryption algorithm used. + ''' + + def __init__(self, encryption_algorithm, protocol): + ''' + :param _EncryptionAlgorithm encryption_algorithm: + The algorithm used for encrypting the message contents. + :param str protocol: + The protocol version used for encryption. + ''' + + _validate_not_none('encryption_algorithm', encryption_algorithm) + _validate_not_none('protocol', protocol) + + self.encryption_algorithm = str(encryption_algorithm) + self.protocol = protocol + + +class _EncryptionData: + ''' + Represents the encryption data that is stored on the service. + ''' + + def __init__(self, content_encryption_IV, encryption_agent, wrapped_content_key, + key_wrapping_metadata): + ''' + :param bytes content_encryption_IV: + The content encryption initialization vector. + :param _EncryptionAgent encryption_agent: + The encryption agent. + :param _WrappedContentKey wrapped_content_key: + An object that stores the wrapping algorithm, the key identifier, + and the encrypted key bytes. + :param dict key_wrapping_metadata: + A dict containing metadata related to the key wrapping. + ''' + + _validate_not_none('content_encryption_IV', content_encryption_IV) + _validate_not_none('encryption_agent', encryption_agent) + _validate_not_none('wrapped_content_key', wrapped_content_key) + + self.content_encryption_IV = content_encryption_IV + self.encryption_agent = encryption_agent + self.wrapped_content_key = wrapped_content_key + self.key_wrapping_metadata = key_wrapping_metadata + + +def _generate_encryption_data_dict(kek, cek, iv): + ''' + Generates and returns the encryption metadata as a dict. + + :param object kek: The key encryption key. See calling functions for more information. + :param bytes cek: The content encryption key. + :param bytes iv: The initialization vector. + :return: A dict containing all the encryption metadata. + :rtype: dict + ''' + # Encrypt the cek. + wrapped_cek = kek.wrap_key(cek) + + # Build the encryption_data dict. + # Use OrderedDict to comply with Java's ordering requirement. + wrapped_content_key = OrderedDict() + wrapped_content_key['KeyId'] = kek.get_kid() + wrapped_content_key['EncryptedKey'] = encode_base64(wrapped_cek) + wrapped_content_key['Algorithm'] = kek.get_key_wrap_algorithm() + + encryption_agent = OrderedDict() + encryption_agent['Protocol'] = _ENCRYPTION_PROTOCOL_V1 + encryption_agent['EncryptionAlgorithm'] = _EncryptionAlgorithm.AES_CBC_256 + + encryption_data_dict = OrderedDict() + encryption_data_dict['WrappedContentKey'] = wrapped_content_key + encryption_data_dict['EncryptionAgent'] = encryption_agent + encryption_data_dict['ContentEncryptionIV'] = encode_base64(iv) + encryption_data_dict['KeyWrappingMetadata'] = {'EncryptionLibrary': 'Python ' + VERSION} + + return encryption_data_dict + + +def _dict_to_encryption_data(encryption_data_dict): + ''' + Converts the specified dictionary to an EncryptionData object for + eventual use in decryption. + + :param dict encryption_data_dict: + The dictionary containing the encryption data. + :return: an _EncryptionData object built from the dictionary. + :rtype: _EncryptionData + ''' + try: + if encryption_data_dict['EncryptionAgent']['Protocol'] != _ENCRYPTION_PROTOCOL_V1: + raise ValueError("Unsupported encryption version.") + except KeyError: + raise ValueError("Unsupported encryption version.") + wrapped_content_key = encryption_data_dict['WrappedContentKey'] + wrapped_content_key = _WrappedContentKey(wrapped_content_key['Algorithm'], + decode_base64_to_bytes(wrapped_content_key['EncryptedKey']), + wrapped_content_key['KeyId']) + + encryption_agent = encryption_data_dict['EncryptionAgent'] + encryption_agent = _EncryptionAgent(encryption_agent['EncryptionAlgorithm'], + encryption_agent['Protocol']) + + if 'KeyWrappingMetadata' in encryption_data_dict: + key_wrapping_metadata = encryption_data_dict['KeyWrappingMetadata'] + else: + key_wrapping_metadata = None + + encryption_data = _EncryptionData(decode_base64_to_bytes(encryption_data_dict['ContentEncryptionIV']), + encryption_agent, + wrapped_content_key, + key_wrapping_metadata) + + return encryption_data + + +def _generate_AES_CBC_cipher(cek, iv): + ''' + Generates and returns an encryption cipher for AES CBC using the given cek and iv. + + :param bytes[] cek: The content encryption key for the cipher. + :param bytes[] iv: The initialization vector for the cipher. + :return: A cipher for encrypting in AES256 CBC. + :rtype: ~cryptography.hazmat.primitives.ciphers.Cipher + ''' + + backend = default_backend() + algorithm = AES(cek) + mode = CBC(iv) + return Cipher(algorithm, mode, backend) + + +def _validate_and_unwrap_cek(encryption_data, key_encryption_key=None, key_resolver=None): + ''' + Extracts and returns the content_encryption_key stored in the encryption_data object + and performs necessary validation on all parameters. + :param _EncryptionData encryption_data: + The encryption metadata of the retrieved value. + :param obj key_encryption_key: + The key_encryption_key used to unwrap the cek. Please refer to high-level service object + instance variables for more details. + :param func key_resolver: + A function used that, given a key_id, will return a key_encryption_key. Please refer + to high-level service object instance variables for more details. + :return: the content_encryption_key stored in the encryption_data object. + :rtype: bytes[] + ''' + + _validate_not_none('content_encryption_IV', encryption_data.content_encryption_IV) + _validate_not_none('encrypted_key', encryption_data.wrapped_content_key.encrypted_key) + + if _ENCRYPTION_PROTOCOL_V1 != encryption_data.encryption_agent.protocol: + raise ValueError('Encryption version is not supported.') + + content_encryption_key = None + + # If the resolver exists, give priority to the key it finds. + if key_resolver is not None: + key_encryption_key = key_resolver(encryption_data.wrapped_content_key.key_id) + + _validate_not_none('key_encryption_key', key_encryption_key) + if not hasattr(key_encryption_key, 'get_kid') or not callable(key_encryption_key.get_kid): + raise AttributeError(_ERROR_OBJECT_INVALID.format('key encryption key', 'get_kid')) + if not hasattr(key_encryption_key, 'unwrap_key') or not callable(key_encryption_key.unwrap_key): + raise AttributeError(_ERROR_OBJECT_INVALID.format('key encryption key', 'unwrap_key')) + if encryption_data.wrapped_content_key.key_id != key_encryption_key.get_kid(): + raise ValueError('Provided or resolved key-encryption-key does not match the id of key used to encrypt.') + # Will throw an exception if the specified algorithm is not supported. + content_encryption_key = key_encryption_key.unwrap_key(encryption_data.wrapped_content_key.encrypted_key, + encryption_data.wrapped_content_key.algorithm) + _validate_not_none('content_encryption_key', content_encryption_key) + + return content_encryption_key + + +def _decrypt_message(message, encryption_data, key_encryption_key=None, resolver=None): + ''' + Decrypts the given ciphertext using AES256 in CBC mode with 128 bit padding. + Unwraps the content-encryption-key using the user-provided or resolved key-encryption-key (kek). + Returns the original plaintex. + + :param str message: + The ciphertext to be decrypted. + :param _EncryptionData encryption_data: + The metadata associated with this ciphertext. + :param object key_encryption_key: + The user-provided key-encryption-key. Must implement the following methods: + unwrap_key(key, algorithm) + - returns the unwrapped form of the specified symmetric key using the string-specified algorithm. + get_kid() + - returns a string key id for this key-encryption-key. + :param function resolver(kid): + The user-provided key resolver. Uses the kid string to return a key-encryption-key + implementing the interface defined above. + :return: The decrypted plaintext. + :rtype: str + ''' + _validate_not_none('message', message) + content_encryption_key = _validate_and_unwrap_cek(encryption_data, key_encryption_key, resolver) + + if _EncryptionAlgorithm.AES_CBC_256 != encryption_data.encryption_agent.encryption_algorithm: + raise ValueError('Specified encryption algorithm is not supported.') + + cipher = _generate_AES_CBC_cipher(content_encryption_key, encryption_data.content_encryption_IV) + + # decrypt data + decrypted_data = message + decryptor = cipher.decryptor() + decrypted_data = (decryptor.update(decrypted_data) + decryptor.finalize()) + + # unpad data + unpadder = PKCS7(128).unpadder() + decrypted_data = (unpadder.update(decrypted_data) + unpadder.finalize()) + + return decrypted_data + + +def encrypt_blob(blob, key_encryption_key): + ''' + Encrypts the given blob using AES256 in CBC mode with 128 bit padding. + Wraps the generated content-encryption-key using the user-provided key-encryption-key (kek). + Returns a json-formatted string containing the encryption metadata. This method should + only be used when a blob is small enough for single shot upload. Encrypting larger blobs + is done as a part of the upload_data_chunks method. + + :param bytes blob: + The blob to be encrypted. + :param object key_encryption_key: + The user-provided key-encryption-key. Must implement the following methods: + wrap_key(key)--wraps the specified key using an algorithm of the user's choice. + get_key_wrap_algorithm()--returns the algorithm used to wrap the specified symmetric key. + get_kid()--returns a string key id for this key-encryption-key. + :return: A tuple of json-formatted string containing the encryption metadata and the encrypted blob data. + :rtype: (str, bytes) + ''' + + _validate_not_none('blob', blob) + _validate_not_none('key_encryption_key', key_encryption_key) + _validate_key_encryption_key_wrap(key_encryption_key) + + # AES256 uses 256 bit (32 byte) keys and always with 16 byte blocks + content_encryption_key = urandom(32) + initialization_vector = urandom(16) + + cipher = _generate_AES_CBC_cipher(content_encryption_key, initialization_vector) + + # PKCS7 with 16 byte blocks ensures compatibility with AES. + padder = PKCS7(128).padder() + padded_data = padder.update(blob) + padder.finalize() + + # Encrypt the data. + encryptor = cipher.encryptor() + encrypted_data = encryptor.update(padded_data) + encryptor.finalize() + encryption_data = _generate_encryption_data_dict(key_encryption_key, content_encryption_key, + initialization_vector) + encryption_data['EncryptionMode'] = 'FullBlob' + + return dumps(encryption_data), encrypted_data + + +def generate_blob_encryption_data(key_encryption_key): + ''' + Generates the encryption_metadata for the blob. + + :param bytes key_encryption_key: + The key-encryption-key used to wrap the cek associate with this blob. + :return: A tuple containing the cek and iv for this blob as well as the + serialized encryption metadata for the blob. + :rtype: (bytes, bytes, str) + ''' + encryption_data = None + content_encryption_key = None + initialization_vector = None + if key_encryption_key: + _validate_key_encryption_key_wrap(key_encryption_key) + content_encryption_key = urandom(32) + initialization_vector = urandom(16) + encryption_data = _generate_encryption_data_dict(key_encryption_key, + content_encryption_key, + initialization_vector) + encryption_data['EncryptionMode'] = 'FullBlob' + encryption_data = dumps(encryption_data) + + return content_encryption_key, initialization_vector, encryption_data + + +def decrypt_blob(require_encryption, key_encryption_key, key_resolver, + content, start_offset, end_offset, response_headers): + ''' + Decrypts the given blob contents and returns only the requested range. + + :param bool require_encryption: + Whether or not the calling blob service requires objects to be decrypted. + :param object key_encryption_key: + The user-provided key-encryption-key. Must implement the following methods: + wrap_key(key)--wraps the specified key using an algorithm of the user's choice. + get_key_wrap_algorithm()--returns the algorithm used to wrap the specified symmetric key. + get_kid()--returns a string key id for this key-encryption-key. + :param key_resolver(kid): + The user-provided key resolver. Uses the kid string to return a key-encryption-key + implementing the interface defined above. + :return: The decrypted blob content. + :rtype: bytes + ''' + try: + encryption_data = _dict_to_encryption_data(loads(response_headers['x-ms-meta-encryptiondata'])) + except: # pylint: disable=bare-except + if require_encryption: + raise ValueError( + 'Encryption required, but received data does not contain appropriate metatadata.' + \ + 'Data was either not encrypted or metadata has been lost.') + + return content + + if encryption_data.encryption_agent.encryption_algorithm != _EncryptionAlgorithm.AES_CBC_256: + raise ValueError('Specified encryption algorithm is not supported.') + + blob_type = response_headers['x-ms-blob-type'] + + iv = None + unpad = False + if 'content-range' in response_headers: + content_range = response_headers['content-range'] + # Format: 'bytes x-y/size' + + # Ignore the word 'bytes' + content_range = content_range.split(' ') + + content_range = content_range[1].split('-') + content_range = content_range[1].split('/') + end_range = int(content_range[0]) + blob_size = int(content_range[1]) + + if start_offset >= 16: + iv = content[:16] + content = content[16:] + start_offset -= 16 + else: + iv = encryption_data.content_encryption_IV + + if end_range == blob_size - 1: + unpad = True + else: + unpad = True + iv = encryption_data.content_encryption_IV + + if blob_type == 'PageBlob': + unpad = False + + content_encryption_key = _validate_and_unwrap_cek(encryption_data, key_encryption_key, key_resolver) + cipher = _generate_AES_CBC_cipher(content_encryption_key, iv) + decryptor = cipher.decryptor() + + content = decryptor.update(content) + decryptor.finalize() + if unpad: + unpadder = PKCS7(128).unpadder() + content = unpadder.update(content) + unpadder.finalize() + + return content[start_offset: len(content) - end_offset] + + +def get_blob_encryptor_and_padder(cek, iv, should_pad): + encryptor = None + padder = None + + if cek is not None and iv is not None: + cipher = _generate_AES_CBC_cipher(cek, iv) + encryptor = cipher.encryptor() + padder = PKCS7(128).padder() if should_pad else None + + return encryptor, padder + + +def encrypt_queue_message(message, key_encryption_key): + ''' + Encrypts the given plain text message using AES256 in CBC mode with 128 bit padding. + Wraps the generated content-encryption-key using the user-provided key-encryption-key (kek). + Returns a json-formatted string containing the encrypted message and the encryption metadata. + + :param object message: + The plain text messge to be encrypted. + :param object key_encryption_key: + The user-provided key-encryption-key. Must implement the following methods: + wrap_key(key)--wraps the specified key using an algorithm of the user's choice. + get_key_wrap_algorithm()--returns the algorithm used to wrap the specified symmetric key. + get_kid()--returns a string key id for this key-encryption-key. + :return: A json-formatted string containing the encrypted message and the encryption metadata. + :rtype: str + ''' + + _validate_not_none('message', message) + _validate_not_none('key_encryption_key', key_encryption_key) + _validate_key_encryption_key_wrap(key_encryption_key) + + # AES256 uses 256 bit (32 byte) keys and always with 16 byte blocks + content_encryption_key = os.urandom(32) + initialization_vector = os.urandom(16) + + # Queue encoding functions all return unicode strings, and encryption should + # operate on binary strings. + message = message.encode('utf-8') + + cipher = _generate_AES_CBC_cipher(content_encryption_key, initialization_vector) + + # PKCS7 with 16 byte blocks ensures compatibility with AES. + padder = PKCS7(128).padder() + padded_data = padder.update(message) + padder.finalize() + + # Encrypt the data. + encryptor = cipher.encryptor() + encrypted_data = encryptor.update(padded_data) + encryptor.finalize() + + # Build the dictionary structure. + queue_message = {'EncryptedMessageContents': encode_base64(encrypted_data), + 'EncryptionData': _generate_encryption_data_dict(key_encryption_key, + content_encryption_key, + initialization_vector)} + + return dumps(queue_message) + + +def decrypt_queue_message(message, response, require_encryption, key_encryption_key, resolver): + ''' + Returns the decrypted message contents from an EncryptedQueueMessage. + If no encryption metadata is present, will return the unaltered message. + :param str message: + The JSON formatted QueueEncryptedMessage contents with all associated metadata. + :param bool require_encryption: + If set, will enforce that the retrieved messages are encrypted and decrypt them. + :param object key_encryption_key: + The user-provided key-encryption-key. Must implement the following methods: + unwrap_key(key, algorithm) + - returns the unwrapped form of the specified symmetric key usingthe string-specified algorithm. + get_kid() + - returns a string key id for this key-encryption-key. + :param function resolver(kid): + The user-provided key resolver. Uses the kid string to return a key-encryption-key + implementing the interface defined above. + :return: The plain text message from the queue message. + :rtype: str + ''' + + try: + message = loads(message) + + encryption_data = _dict_to_encryption_data(message['EncryptionData']) + decoded_data = decode_base64_to_bytes(message['EncryptedMessageContents']) + except (KeyError, ValueError): + # Message was not json formatted and so was not encrypted + # or the user provided a json formatted message. + if require_encryption: + raise ValueError('Message was not encrypted.') + + return message + try: + return _decrypt_message(decoded_data, encryption_data, key_encryption_key, resolver).decode('utf-8') + except Exception as error: + raise HttpResponseError( + message="Decryption failed.", + response=response, + error=error) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/models.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/models.py new file mode 100644 index 00000000000..d911f915901 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/models.py @@ -0,0 +1,468 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +# pylint: disable=too-many-instance-attributes + +from enum import Enum + + +def get_enum_value(value): + if value is None or value in ["None", ""]: + return None + try: + return value.value + except AttributeError: + return value + + +class StorageErrorCode(str, Enum): + + # Generic storage values + account_already_exists = "AccountAlreadyExists" + account_being_created = "AccountBeingCreated" + account_is_disabled = "AccountIsDisabled" + authentication_failed = "AuthenticationFailed" + authorization_failure = "AuthorizationFailure" + no_authentication_information = "NoAuthenticationInformation" + condition_headers_not_supported = "ConditionHeadersNotSupported" + condition_not_met = "ConditionNotMet" + empty_metadata_key = "EmptyMetadataKey" + insufficient_account_permissions = "InsufficientAccountPermissions" + internal_error = "InternalError" + invalid_authentication_info = "InvalidAuthenticationInfo" + invalid_header_value = "InvalidHeaderValue" + invalid_http_verb = "InvalidHttpVerb" + invalid_input = "InvalidInput" + invalid_md5 = "InvalidMd5" + invalid_metadata = "InvalidMetadata" + invalid_query_parameter_value = "InvalidQueryParameterValue" + invalid_range = "InvalidRange" + invalid_resource_name = "InvalidResourceName" + invalid_uri = "InvalidUri" + invalid_xml_document = "InvalidXmlDocument" + invalid_xml_node_value = "InvalidXmlNodeValue" + md5_mismatch = "Md5Mismatch" + metadata_too_large = "MetadataTooLarge" + missing_content_length_header = "MissingContentLengthHeader" + missing_required_query_parameter = "MissingRequiredQueryParameter" + missing_required_header = "MissingRequiredHeader" + missing_required_xml_node = "MissingRequiredXmlNode" + multiple_condition_headers_not_supported = "MultipleConditionHeadersNotSupported" + operation_timed_out = "OperationTimedOut" + out_of_range_input = "OutOfRangeInput" + out_of_range_query_parameter_value = "OutOfRangeQueryParameterValue" + request_body_too_large = "RequestBodyTooLarge" + resource_type_mismatch = "ResourceTypeMismatch" + request_url_failed_to_parse = "RequestUrlFailedToParse" + resource_already_exists = "ResourceAlreadyExists" + resource_not_found = "ResourceNotFound" + server_busy = "ServerBusy" + unsupported_header = "UnsupportedHeader" + unsupported_xml_node = "UnsupportedXmlNode" + unsupported_query_parameter = "UnsupportedQueryParameter" + unsupported_http_verb = "UnsupportedHttpVerb" + + # Blob values + append_position_condition_not_met = "AppendPositionConditionNotMet" + blob_already_exists = "BlobAlreadyExists" + blob_not_found = "BlobNotFound" + blob_overwritten = "BlobOverwritten" + blob_tier_inadequate_for_content_length = "BlobTierInadequateForContentLength" + block_count_exceeds_limit = "BlockCountExceedsLimit" + block_list_too_long = "BlockListTooLong" + cannot_change_to_lower_tier = "CannotChangeToLowerTier" + cannot_verify_copy_source = "CannotVerifyCopySource" + container_already_exists = "ContainerAlreadyExists" + container_being_deleted = "ContainerBeingDeleted" + container_disabled = "ContainerDisabled" + container_not_found = "ContainerNotFound" + content_length_larger_than_tier_limit = "ContentLengthLargerThanTierLimit" + copy_across_accounts_not_supported = "CopyAcrossAccountsNotSupported" + copy_id_mismatch = "CopyIdMismatch" + feature_version_mismatch = "FeatureVersionMismatch" + incremental_copy_blob_mismatch = "IncrementalCopyBlobMismatch" + incremental_copy_of_eralier_version_snapshot_not_allowed = "IncrementalCopyOfEralierVersionSnapshotNotAllowed" + incremental_copy_source_must_be_snapshot = "IncrementalCopySourceMustBeSnapshot" + infinite_lease_duration_required = "InfiniteLeaseDurationRequired" + invalid_blob_or_block = "InvalidBlobOrBlock" + invalid_blob_tier = "InvalidBlobTier" + invalid_blob_type = "InvalidBlobType" + invalid_block_id = "InvalidBlockId" + invalid_block_list = "InvalidBlockList" + invalid_operation = "InvalidOperation" + invalid_page_range = "InvalidPageRange" + invalid_source_blob_type = "InvalidSourceBlobType" + invalid_source_blob_url = "InvalidSourceBlobUrl" + invalid_version_for_page_blob_operation = "InvalidVersionForPageBlobOperation" + lease_already_present = "LeaseAlreadyPresent" + lease_already_broken = "LeaseAlreadyBroken" + lease_id_mismatch_with_blob_operation = "LeaseIdMismatchWithBlobOperation" + lease_id_mismatch_with_container_operation = "LeaseIdMismatchWithContainerOperation" + lease_id_mismatch_with_lease_operation = "LeaseIdMismatchWithLeaseOperation" + lease_id_missing = "LeaseIdMissing" + lease_is_breaking_and_cannot_be_acquired = "LeaseIsBreakingAndCannotBeAcquired" + lease_is_breaking_and_cannot_be_changed = "LeaseIsBreakingAndCannotBeChanged" + lease_is_broken_and_cannot_be_renewed = "LeaseIsBrokenAndCannotBeRenewed" + lease_lost = "LeaseLost" + lease_not_present_with_blob_operation = "LeaseNotPresentWithBlobOperation" + lease_not_present_with_container_operation = "LeaseNotPresentWithContainerOperation" + lease_not_present_with_lease_operation = "LeaseNotPresentWithLeaseOperation" + max_blob_size_condition_not_met = "MaxBlobSizeConditionNotMet" + no_pending_copy_operation = "NoPendingCopyOperation" + operation_not_allowed_on_incremental_copy_blob = "OperationNotAllowedOnIncrementalCopyBlob" + pending_copy_operation = "PendingCopyOperation" + previous_snapshot_cannot_be_newer = "PreviousSnapshotCannotBeNewer" + previous_snapshot_not_found = "PreviousSnapshotNotFound" + previous_snapshot_operation_not_supported = "PreviousSnapshotOperationNotSupported" + sequence_number_condition_not_met = "SequenceNumberConditionNotMet" + sequence_number_increment_too_large = "SequenceNumberIncrementTooLarge" + snapshot_count_exceeded = "SnapshotCountExceeded" + snaphot_operation_rate_exceeded = "SnaphotOperationRateExceeded" + snapshots_present = "SnapshotsPresent" + source_condition_not_met = "SourceConditionNotMet" + system_in_use = "SystemInUse" + target_condition_not_met = "TargetConditionNotMet" + unauthorized_blob_overwrite = "UnauthorizedBlobOverwrite" + blob_being_rehydrated = "BlobBeingRehydrated" + blob_archived = "BlobArchived" + blob_not_archived = "BlobNotArchived" + + # Queue values + invalid_marker = "InvalidMarker" + message_not_found = "MessageNotFound" + message_too_large = "MessageTooLarge" + pop_receipt_mismatch = "PopReceiptMismatch" + queue_already_exists = "QueueAlreadyExists" + queue_being_deleted = "QueueBeingDeleted" + queue_disabled = "QueueDisabled" + queue_not_empty = "QueueNotEmpty" + queue_not_found = "QueueNotFound" + + # File values + cannot_delete_file_or_directory = "CannotDeleteFileOrDirectory" + client_cache_flush_delay = "ClientCacheFlushDelay" + delete_pending = "DeletePending" + directory_not_empty = "DirectoryNotEmpty" + file_lock_conflict = "FileLockConflict" + invalid_file_or_directory_path_name = "InvalidFileOrDirectoryPathName" + parent_not_found = "ParentNotFound" + read_only_attribute = "ReadOnlyAttribute" + share_already_exists = "ShareAlreadyExists" + share_being_deleted = "ShareBeingDeleted" + share_disabled = "ShareDisabled" + share_not_found = "ShareNotFound" + sharing_violation = "SharingViolation" + share_snapshot_in_progress = "ShareSnapshotInProgress" + share_snapshot_count_exceeded = "ShareSnapshotCountExceeded" + share_snapshot_operation_not_supported = "ShareSnapshotOperationNotSupported" + share_has_snapshots = "ShareHasSnapshots" + container_quota_downgrade_not_allowed = "ContainerQuotaDowngradeNotAllowed" + + # DataLake values + content_length_must_be_zero = 'ContentLengthMustBeZero' + path_already_exists = 'PathAlreadyExists' + invalid_flush_position = 'InvalidFlushPosition' + invalid_property_name = 'InvalidPropertyName' + invalid_source_uri = 'InvalidSourceUri' + unsupported_rest_version = 'UnsupportedRestVersion' + file_system_not_found = 'FilesystemNotFound' + path_not_found = 'PathNotFound' + rename_destination_parent_path_not_found = 'RenameDestinationParentPathNotFound' + source_path_not_found = 'SourcePathNotFound' + destination_path_is_being_deleted = 'DestinationPathIsBeingDeleted' + file_system_already_exists = 'FilesystemAlreadyExists' + file_system_being_deleted = 'FilesystemBeingDeleted' + invalid_destination_path = 'InvalidDestinationPath' + invalid_rename_source_path = 'InvalidRenameSourcePath' + invalid_source_or_destination_resource_type = 'InvalidSourceOrDestinationResourceType' + lease_is_already_broken = 'LeaseIsAlreadyBroken' + lease_name_mismatch = 'LeaseNameMismatch' + path_conflict = 'PathConflict' + source_path_is_being_deleted = 'SourcePathIsBeingDeleted' + + +class DictMixin(object): + + def __setitem__(self, key, item): + self.__dict__[key] = item + + def __getitem__(self, key): + return self.__dict__[key] + + def __repr__(self): + return str(self) + + def __len__(self): + return len(self.keys()) + + def __delitem__(self, key): + self.__dict__[key] = None + + def __eq__(self, other): + """Compare objects by comparing all attributes.""" + if isinstance(other, self.__class__): + return self.__dict__ == other.__dict__ + return False + + def __ne__(self, other): + """Compare objects by comparing all attributes.""" + return not self.__eq__(other) + + def __str__(self): + return str({k: v for k, v in self.__dict__.items() if not k.startswith('_')}) + + def has_key(self, k): + return k in self.__dict__ + + def update(self, *args, **kwargs): + return self.__dict__.update(*args, **kwargs) + + def keys(self): + return [k for k in self.__dict__ if not k.startswith('_')] + + def values(self): + return [v for k, v in self.__dict__.items() if not k.startswith('_')] + + def items(self): + return [(k, v) for k, v in self.__dict__.items() if not k.startswith('_')] + + def get(self, key, default=None): + if key in self.__dict__: + return self.__dict__[key] + return default + + +class LocationMode(object): + """ + Specifies the location the request should be sent to. This mode only applies + for RA-GRS accounts which allow secondary read access. All other account types + must use PRIMARY. + """ + + PRIMARY = 'primary' #: Requests should be sent to the primary location. + SECONDARY = 'secondary' #: Requests should be sent to the secondary location, if possible. + + +class ResourceTypes(object): + """ + Specifies the resource types that are accessible with the account SAS. + + :param bool service: + Access to service-level APIs (e.g., Get/Set Service Properties, + Get Service Stats, List Containers/Queues/Shares) + :param bool container: + Access to container-level APIs (e.g., Create/Delete Container, + Create/Delete Queue, Create/Delete Share, + List Blobs/Files and Directories) + :param bool object: + Access to object-level APIs for blobs, queue messages, and + files(e.g. Put Blob, Query Entity, Get Messages, Create File, etc.) + """ + + def __init__(self, service=False, container=False, object=False): # pylint: disable=redefined-builtin + self.service = service + self.container = container + self.object = object + self._str = (('s' if self.service else '') + + ('c' if self.container else '') + + ('o' if self.object else '')) + + def __str__(self): + return self._str + + @classmethod + def from_string(cls, string): + """Create a ResourceTypes from a string. + + To specify service, container, or object you need only to + include the first letter of the word in the string. E.g. service and container, + you would provide a string "sc". + + :param str string: Specify service, container, or object in + in the string with the first letter of the word. + :return: A ResourceTypes object + :rtype: ~...blob.ResourceTypes + """ + res_service = 's' in string + res_container = 'c' in string + res_object = 'o' in string + + parsed = cls(res_service, res_container, res_object) + parsed._str = string # pylint: disable = protected-access + return parsed + + +class AccountSasPermissions(object): + """ + :class:`~ResourceTypes` class to be used with generate_account_sas + function and for the AccessPolicies used with set_*_acl. There are two types of + SAS which may be used to grant resource access. One is to grant access to a + specific resource (resource-specific). Another is to grant access to the + entire service for a specific account and allow certain operations based on + perms found here. + + :param bool read: + Valid for all signed resources types (Service, Container, and Object). + Permits read permissions to the specified resource type. + :param bool write: + Valid for all signed resources types (Service, Container, and Object). + Permits write permissions to the specified resource type. + :param bool delete: + Valid for Container and Object resource types, except for queue messages. + :param bool delete_previous_version: + Delete the previous blob version for the versioning enabled storage account. + :param bool list: + Valid for Service and Container resource types only. + :param bool add: + Valid for the following Object resource types only: queue messages, and append blobs. + :param bool create: + Valid for the following Object resource types only: blobs and files. + Users can create new blobs or files, but may not overwrite existing + blobs or files. + :param bool update: + Valid for the following Object resource types only: queue messages. + :param bool process: + Valid for the following Object resource type only: queue messages. + :keyword bool tag: + To enable set or get tags on the blobs in the container. + :keyword bool filter_by_tags: + To enable get blobs by tags, this should be used together with list permission. + """ + def __init__(self, read=False, write=False, delete=False, + list=False, # pylint: disable=redefined-builtin + add=False, create=False, update=False, process=False, delete_previous_version=False, **kwargs): + self.read = read + self.write = write + self.delete = delete + self.delete_previous_version = delete_previous_version + self.list = list + self.add = add + self.create = create + self.update = update + self.process = process + self.tag = kwargs.pop('tag', False) + self.filter_by_tags = kwargs.pop('filter_by_tags', False) + self._str = (('r' if self.read else '') + + ('w' if self.write else '') + + ('d' if self.delete else '') + + ('x' if self.delete_previous_version else '') + + ('l' if self.list else '') + + ('a' if self.add else '') + + ('c' if self.create else '') + + ('u' if self.update else '') + + ('p' if self.process else '') + + ('f' if self.filter_by_tags else '') + + ('t' if self.tag else '') + ) + + def __str__(self): + return self._str + + @classmethod + def from_string(cls, permission): + """Create AccountSasPermissions from a string. + + To specify read, write, delete, etc. permissions you need only to + include the first letter of the word in the string. E.g. for read and write + permissions you would provide a string "rw". + + :param str permission: Specify permissions in + the string with the first letter of the word. + :return: An AccountSasPermissions object + :rtype: ~azure.storage.filedatalake.AccountSasPermissions + """ + p_read = 'r' in permission + p_write = 'w' in permission + p_delete = 'd' in permission + p_delete_previous_version = 'x' in permission + p_list = 'l' in permission + p_add = 'a' in permission + p_create = 'c' in permission + p_update = 'u' in permission + p_process = 'p' in permission + p_tag = 't' in permission + p_filter_by_tags = 'f' in permission + parsed = cls(read=p_read, write=p_write, delete=p_delete, delete_previous_version=p_delete_previous_version, + list=p_list, add=p_add, create=p_create, update=p_update, process=p_process, tag=p_tag, + filter_by_tags=p_filter_by_tags) + + return parsed + + +class Services(object): + """Specifies the services accessible with the account SAS. + + :param bool blob: + Access for the `~...blob.BlobServiceClient` + :param bool queue: + Access for the `~azure.storage.queue.QueueServiceClient` + :param bool fileshare: + Access for the `~azure.storage.fileshare.ShareServiceClient` + """ + + def __init__(self, blob=False, queue=False, fileshare=False): + self.blob = blob + self.queue = queue + self.fileshare = fileshare + self._str = (('b' if self.blob else '') + + ('q' if self.queue else '') + + ('f' if self.fileshare else '')) + + def __str__(self): + return self._str + + @classmethod + def from_string(cls, string): + """Create Services from a string. + + To specify blob, queue, or file you need only to + include the first letter of the word in the string. E.g. for blob and queue + you would provide a string "bq". + + :param str string: Specify blob, queue, or file in + in the string with the first letter of the word. + :return: A Services object + :rtype: ~...blob.Services + """ + res_blob = 'b' in string + res_queue = 'q' in string + res_file = 'f' in string + + parsed = cls(res_blob, res_queue, res_file) + parsed._str = string # pylint: disable = protected-access + return parsed + + +class UserDelegationKey(object): + """ + Represents a user delegation key, provided to the user by Azure Storage + based on their Azure Active Directory access token. + + The fields are saved as simple strings since the user does not have to interact with this object; + to generate an identify SAS, the user can simply pass it to the right API. + + :ivar str signed_oid: + Object ID of this token. + :ivar str signed_tid: + Tenant ID of the tenant that issued this token. + :ivar str signed_start: + The datetime this token becomes valid. + :ivar str signed_expiry: + The datetime this token expires. + :ivar str signed_service: + What service this key is valid for. + :ivar str signed_version: + The version identifier of the REST service that created this token. + :ivar str value: + The user delegation key. + """ + def __init__(self): + self.signed_oid = None + self.signed_tid = None + self.signed_start = None + self.signed_expiry = None + self.signed_service = None + self.signed_version = None + self.value = None diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/parser.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/parser.py new file mode 100644 index 00000000000..c6feba8a639 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/parser.py @@ -0,0 +1,20 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- + +import sys + +if sys.version_info < (3,): + def _str(value): + if isinstance(value, unicode): # pylint: disable=undefined-variable + return value.encode('utf-8') + + return str(value) +else: + _str = str + + +def _to_utc_datetime(value): + return value.strftime('%Y-%m-%dT%H:%M:%SZ') diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/policies.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/policies.py new file mode 100644 index 00000000000..c9bc798d671 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/policies.py @@ -0,0 +1,610 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- + +import base64 +import hashlib +import re +import random +from time import time +from io import SEEK_SET, UnsupportedOperation +import logging +import uuid +import types +from typing import Any, TYPE_CHECKING +from wsgiref.handlers import format_date_time +try: + from urllib.parse import ( + urlparse, + parse_qsl, + urlunparse, + urlencode, + ) +except ImportError: + from urllib import urlencode # type: ignore + from urlparse import ( # type: ignore + urlparse, + parse_qsl, + urlunparse, + ) + +from azure.core.pipeline.policies import ( + HeadersPolicy, + SansIOHTTPPolicy, + NetworkTraceLoggingPolicy, + HTTPPolicy, + RequestHistory +) +from azure.core.exceptions import AzureError, ServiceRequestError, ServiceResponseError + +from .models import LocationMode + +try: + _unicode_type = unicode # type: ignore +except NameError: + _unicode_type = str + +if TYPE_CHECKING: + from azure.core.pipeline import PipelineRequest, PipelineResponse + + +_LOGGER = logging.getLogger(__name__) + + +def encode_base64(data): + if isinstance(data, _unicode_type): + data = data.encode('utf-8') + encoded = base64.b64encode(data) + return encoded.decode('utf-8') + + +def is_exhausted(settings): + """Are we out of retries?""" + retry_counts = (settings['total'], settings['connect'], settings['read'], settings['status']) + retry_counts = list(filter(None, retry_counts)) + if not retry_counts: + return False + return min(retry_counts) < 0 + + +def retry_hook(settings, **kwargs): + if settings['hook']: + settings['hook'](retry_count=settings['count'] - 1, location_mode=settings['mode'], **kwargs) + + +def is_retry(response, mode): + """Is this method/status code retryable? (Based on whitelists and control + variables such as the number of total retries to allow, whether to + respect the Retry-After header, whether this header is present, and + whether the returned status code is on the list of status codes to + be retried upon on the presence of the aforementioned header) + """ + status = response.http_response.status_code + if 300 <= status < 500: + # An exception occured, but in most cases it was expected. Examples could + # include a 309 Conflict or 412 Precondition Failed. + if status == 404 and mode == LocationMode.SECONDARY: + # Response code 404 should be retried if secondary was used. + return True + if status == 408: + # Response code 408 is a timeout and should be retried. + return True + return False + if status >= 500: + # Response codes above 500 with the exception of 501 Not Implemented and + # 505 Version Not Supported indicate a server issue and should be retried. + if status in [501, 505]: + return False + return True + return False + + +def urljoin(base_url, stub_url): + parsed = urlparse(base_url) + parsed = parsed._replace(path=parsed.path + '/' + stub_url) + return parsed.geturl() + + +class QueueMessagePolicy(SansIOHTTPPolicy): + + def on_request(self, request): + message_id = request.context.options.pop('queue_message_id', None) + if message_id: + request.http_request.url = urljoin( + request.http_request.url, + message_id) + + +class StorageHeadersPolicy(HeadersPolicy): + request_id_header_name = 'x-ms-client-request-id' + + def on_request(self, request): + # type: (PipelineRequest, Any) -> None + super(StorageHeadersPolicy, self).on_request(request) + current_time = format_date_time(time()) + request.http_request.headers['x-ms-date'] = current_time + + custom_id = request.context.options.pop('client_request_id', None) + request.http_request.headers['x-ms-client-request-id'] = custom_id or str(uuid.uuid1()) + + # def on_response(self, request, response): + # # raise exception if the echoed client request id from the service is not identical to the one we sent + # if self.request_id_header_name in response.http_response.headers: + + # client_request_id = request.http_request.headers.get(self.request_id_header_name) + + # if response.http_response.headers[self.request_id_header_name] != client_request_id: + # raise AzureError( + # "Echoed client request ID: {} does not match sent client request ID: {}. " + # "Service request ID: {}".format( + # response.http_response.headers[self.request_id_header_name], client_request_id, + # response.http_response.headers['x-ms-request-id']), + # response=response.http_response + # ) + + +class StorageHosts(SansIOHTTPPolicy): + + def __init__(self, hosts=None, **kwargs): # pylint: disable=unused-argument + self.hosts = hosts + super(StorageHosts, self).__init__() + + def on_request(self, request): + # type: (PipelineRequest, Any) -> None + request.context.options['hosts'] = self.hosts + parsed_url = urlparse(request.http_request.url) + + # Detect what location mode we're currently requesting with + location_mode = LocationMode.PRIMARY + for key, value in self.hosts.items(): + if parsed_url.netloc == value: + location_mode = key + + # See if a specific location mode has been specified, and if so, redirect + use_location = request.context.options.pop('use_location', None) + if use_location: + # Lock retries to the specific location + request.context.options['retry_to_secondary'] = False + if use_location not in self.hosts: + raise ValueError("Attempting to use undefined host location {}".format(use_location)) + if use_location != location_mode: + # Update request URL to use the specified location + updated = parsed_url._replace(netloc=self.hosts[use_location]) + request.http_request.url = updated.geturl() + location_mode = use_location + + request.context.options['location_mode'] = location_mode + + +class StorageLoggingPolicy(NetworkTraceLoggingPolicy): + """A policy that logs HTTP request and response to the DEBUG logger. + + This accepts both global configuration, and per-request level with "enable_http_logger" + """ + + def on_request(self, request): + # type: (PipelineRequest, Any) -> None + http_request = request.http_request + options = request.context.options + if options.pop("logging_enable", self.enable_http_logger): + request.context["logging_enable"] = True + if not _LOGGER.isEnabledFor(logging.DEBUG): + return + + try: + log_url = http_request.url + query_params = http_request.query + if 'sig' in query_params: + log_url = log_url.replace(query_params['sig'], "sig=*****") + _LOGGER.debug("Request URL: %r", log_url) + _LOGGER.debug("Request method: %r", http_request.method) + _LOGGER.debug("Request headers:") + for header, value in http_request.headers.items(): + if header.lower() == 'authorization': + value = '*****' + elif header.lower() == 'x-ms-copy-source' and 'sig' in value: + # take the url apart and scrub away the signed signature + scheme, netloc, path, params, query, fragment = urlparse(value) + parsed_qs = dict(parse_qsl(query)) + parsed_qs['sig'] = '*****' + + # the SAS needs to be put back together + value = urlunparse((scheme, netloc, path, params, urlencode(parsed_qs), fragment)) + + _LOGGER.debug(" %r: %r", header, value) + _LOGGER.debug("Request body:") + + # We don't want to log the binary data of a file upload. + if isinstance(http_request.body, types.GeneratorType): + _LOGGER.debug("File upload") + else: + _LOGGER.debug(str(http_request.body)) + except Exception as err: # pylint: disable=broad-except + _LOGGER.debug("Failed to log request: %r", err) + + def on_response(self, request, response): + # type: (PipelineRequest, PipelineResponse, Any) -> None + if response.context.pop("logging_enable", self.enable_http_logger): + if not _LOGGER.isEnabledFor(logging.DEBUG): + return + + try: + _LOGGER.debug("Response status: %r", response.http_response.status_code) + _LOGGER.debug("Response headers:") + for res_header, value in response.http_response.headers.items(): + _LOGGER.debug(" %r: %r", res_header, value) + + # We don't want to log binary data if the response is a file. + _LOGGER.debug("Response content:") + pattern = re.compile(r'attachment; ?filename=["\w.]+', re.IGNORECASE) + header = response.http_response.headers.get('content-disposition') + + if header and pattern.match(header): + filename = header.partition('=')[2] + _LOGGER.debug("File attachments: %s", filename) + elif response.http_response.headers.get("content-type", "").endswith("octet-stream"): + _LOGGER.debug("Body contains binary data.") + elif response.http_response.headers.get("content-type", "").startswith("image"): + _LOGGER.debug("Body contains image data.") + else: + if response.context.options.get('stream', False): + _LOGGER.debug("Body is streamable") + else: + _LOGGER.debug(response.http_response.text()) + except Exception as err: # pylint: disable=broad-except + _LOGGER.debug("Failed to log response: %s", repr(err)) + + +class StorageRequestHook(SansIOHTTPPolicy): + + def __init__(self, **kwargs): # pylint: disable=unused-argument + self._request_callback = kwargs.get('raw_request_hook') + super(StorageRequestHook, self).__init__() + + def on_request(self, request): + # type: (PipelineRequest, **Any) -> PipelineResponse + request_callback = request.context.options.pop('raw_request_hook', self._request_callback) + if request_callback: + request_callback(request) + + +class StorageResponseHook(HTTPPolicy): + + def __init__(self, **kwargs): # pylint: disable=unused-argument + self._response_callback = kwargs.get('raw_response_hook') + super(StorageResponseHook, self).__init__() + + def send(self, request): + # type: (PipelineRequest) -> PipelineResponse + data_stream_total = request.context.get('data_stream_total') or \ + request.context.options.pop('data_stream_total', None) + download_stream_current = request.context.get('download_stream_current') or \ + request.context.options.pop('download_stream_current', None) + upload_stream_current = request.context.get('upload_stream_current') or \ + request.context.options.pop('upload_stream_current', None) + response_callback = request.context.get('response_callback') or \ + request.context.options.pop('raw_response_hook', self._response_callback) + + response = self.next.send(request) + will_retry = is_retry(response, request.context.options.get('mode')) + if not will_retry and download_stream_current is not None: + download_stream_current += int(response.http_response.headers.get('Content-Length', 0)) + if data_stream_total is None: + content_range = response.http_response.headers.get('Content-Range') + if content_range: + data_stream_total = int(content_range.split(' ', 1)[1].split('/', 1)[1]) + else: + data_stream_total = download_stream_current + elif not will_retry and upload_stream_current is not None: + upload_stream_current += int(response.http_request.headers.get('Content-Length', 0)) + for pipeline_obj in [request, response]: + pipeline_obj.context['data_stream_total'] = data_stream_total + pipeline_obj.context['download_stream_current'] = download_stream_current + pipeline_obj.context['upload_stream_current'] = upload_stream_current + if response_callback: + response_callback(response) + request.context['response_callback'] = response_callback + return response + + +class StorageContentValidation(SansIOHTTPPolicy): + """A simple policy that sends the given headers + with the request. + + This will overwrite any headers already defined in the request. + """ + header_name = 'Content-MD5' + + def __init__(self, **kwargs): # pylint: disable=unused-argument + super(StorageContentValidation, self).__init__() + + @staticmethod + def get_content_md5(data): + md5 = hashlib.md5() # nosec + if isinstance(data, bytes): + md5.update(data) + elif hasattr(data, 'read'): + pos = 0 + try: + pos = data.tell() + except: # pylint: disable=bare-except + pass + for chunk in iter(lambda: data.read(4096), b""): + md5.update(chunk) + try: + data.seek(pos, SEEK_SET) + except (AttributeError, IOError): + raise ValueError("Data should be bytes or a seekable file-like object.") + else: + raise ValueError("Data should be bytes or a seekable file-like object.") + + return md5.digest() + + def on_request(self, request): + # type: (PipelineRequest, Any) -> None + validate_content = request.context.options.pop('validate_content', False) + if validate_content and request.http_request.method != 'GET': + computed_md5 = encode_base64(StorageContentValidation.get_content_md5(request.http_request.data)) + request.http_request.headers[self.header_name] = computed_md5 + request.context['validate_content_md5'] = computed_md5 + request.context['validate_content'] = validate_content + + def on_response(self, request, response): + if response.context.get('validate_content', False) and response.http_response.headers.get('content-md5'): + computed_md5 = request.context.get('validate_content_md5') or \ + encode_base64(StorageContentValidation.get_content_md5(response.http_response.body())) + if response.http_response.headers['content-md5'] != computed_md5: + raise AzureError( + 'MD5 mismatch. Expected value is \'{0}\', computed value is \'{1}\'.'.format( + response.http_response.headers['content-md5'], computed_md5), + response=response.http_response + ) + + +class StorageRetryPolicy(HTTPPolicy): + """ + The base class for Exponential and Linear retries containing shared code. + """ + + def __init__(self, **kwargs): + self.total_retries = kwargs.pop('retry_total', 10) + self.connect_retries = kwargs.pop('retry_connect', 3) + self.read_retries = kwargs.pop('retry_read', 3) + self.status_retries = kwargs.pop('retry_status', 3) + self.retry_to_secondary = kwargs.pop('retry_to_secondary', False) + super(StorageRetryPolicy, self).__init__() + + def _set_next_host_location(self, settings, request): # pylint: disable=no-self-use + """ + A function which sets the next host location on the request, if applicable. + + :param ~azure.storage.models.RetryContext context: + The retry context containing the previous host location and the request + to evaluate and possibly modify. + """ + if settings['hosts'] and all(settings['hosts'].values()): + url = urlparse(request.url) + # If there's more than one possible location, retry to the alternative + if settings['mode'] == LocationMode.PRIMARY: + settings['mode'] = LocationMode.SECONDARY + else: + settings['mode'] = LocationMode.PRIMARY + updated = url._replace(netloc=settings['hosts'].get(settings['mode'])) + request.url = updated.geturl() + + def configure_retries(self, request): # pylint: disable=no-self-use + body_position = None + if hasattr(request.http_request.body, 'read'): + try: + body_position = request.http_request.body.tell() + except (AttributeError, UnsupportedOperation): + # if body position cannot be obtained, then retries will not work + pass + options = request.context.options + return { + 'total': options.pop("retry_total", self.total_retries), + 'connect': options.pop("retry_connect", self.connect_retries), + 'read': options.pop("retry_read", self.read_retries), + 'status': options.pop("retry_status", self.status_retries), + 'retry_secondary': options.pop("retry_to_secondary", self.retry_to_secondary), + 'mode': options.pop("location_mode", LocationMode.PRIMARY), + 'hosts': options.pop("hosts", None), + 'hook': options.pop("retry_hook", None), + 'body_position': body_position, + 'count': 0, + 'history': [] + } + + def get_backoff_time(self, settings): # pylint: disable=unused-argument,no-self-use + """ Formula for computing the current backoff. + Should be calculated by child class. + + :rtype: float + """ + return 0 + + def sleep(self, settings, transport): + backoff = self.get_backoff_time(settings) + if not backoff or backoff < 0: + return + transport.sleep(backoff) + + def increment(self, settings, request, response=None, error=None): + """Increment the retry counters. + + :param response: A pipeline response object. + :param error: An error encountered during the request, or + None if the response was received successfully. + + :return: Whether the retry attempts are exhausted. + """ + settings['total'] -= 1 + + if error and isinstance(error, ServiceRequestError): + # Errors when we're fairly sure that the server did not receive the + # request, so it should be safe to retry. + settings['connect'] -= 1 + settings['history'].append(RequestHistory(request, error=error)) + + elif error and isinstance(error, ServiceResponseError): + # Errors that occur after the request has been started, so we should + # assume that the server began processing it. + settings['read'] -= 1 + settings['history'].append(RequestHistory(request, error=error)) + + else: + # Incrementing because of a server error like a 500 in + # status_forcelist and a the given method is in the whitelist + if response: + settings['status'] -= 1 + settings['history'].append(RequestHistory(request, http_response=response)) + + if not is_exhausted(settings): + if request.method not in ['PUT'] and settings['retry_secondary']: + self._set_next_host_location(settings, request) + + # rewind the request body if it is a stream + if request.body and hasattr(request.body, 'read'): + # no position was saved, then retry would not work + if settings['body_position'] is None: + return False + try: + # attempt to rewind the body to the initial position + request.body.seek(settings['body_position'], SEEK_SET) + except (UnsupportedOperation, ValueError): + # if body is not seekable, then retry would not work + return False + settings['count'] += 1 + return True + return False + + def send(self, request): + retries_remaining = True + response = None + retry_settings = self.configure_retries(request) + while retries_remaining: + try: + response = self.next.send(request) + if is_retry(response, retry_settings['mode']): + retries_remaining = self.increment( + retry_settings, + request=request.http_request, + response=response.http_response) + if retries_remaining: + retry_hook( + retry_settings, + request=request.http_request, + response=response.http_response, + error=None) + self.sleep(retry_settings, request.context.transport) + continue + break + except AzureError as err: + retries_remaining = self.increment( + retry_settings, request=request.http_request, error=err) + if retries_remaining: + retry_hook( + retry_settings, + request=request.http_request, + response=None, + error=err) + self.sleep(retry_settings, request.context.transport) + continue + raise err + if retry_settings['history']: + response.context['history'] = retry_settings['history'] + response.http_response.location_mode = retry_settings['mode'] + return response + + +class ExponentialRetry(StorageRetryPolicy): + """Exponential retry.""" + + def __init__(self, initial_backoff=15, increment_base=3, retry_total=3, + retry_to_secondary=False, random_jitter_range=3, **kwargs): + ''' + Constructs an Exponential retry object. The initial_backoff is used for + the first retry. Subsequent retries are retried after initial_backoff + + increment_power^retry_count seconds. For example, by default the first retry + occurs after 15 seconds, the second after (15+3^1) = 18 seconds, and the + third after (15+3^2) = 24 seconds. + + :param int initial_backoff: + The initial backoff interval, in seconds, for the first retry. + :param int increment_base: + The base, in seconds, to increment the initial_backoff by after the + first retry. + :param int max_attempts: + The maximum number of retry attempts. + :param bool retry_to_secondary: + Whether the request should be retried to secondary, if able. This should + only be enabled of RA-GRS accounts are used and potentially stale data + can be handled. + :param int random_jitter_range: + A number in seconds which indicates a range to jitter/randomize for the back-off interval. + For example, a random_jitter_range of 3 results in the back-off interval x to vary between x+3 and x-3. + ''' + self.initial_backoff = initial_backoff + self.increment_base = increment_base + self.random_jitter_range = random_jitter_range + super(ExponentialRetry, self).__init__( + retry_total=retry_total, retry_to_secondary=retry_to_secondary, **kwargs) + + def get_backoff_time(self, settings): + """ + Calculates how long to sleep before retrying. + + :return: + An integer indicating how long to wait before retrying the request, + or None to indicate no retry should be performed. + :rtype: int or None + """ + random_generator = random.Random() + backoff = self.initial_backoff + (0 if settings['count'] == 0 else pow(self.increment_base, settings['count'])) + random_range_start = backoff - self.random_jitter_range if backoff > self.random_jitter_range else 0 + random_range_end = backoff + self.random_jitter_range + return random_generator.uniform(random_range_start, random_range_end) + + +class LinearRetry(StorageRetryPolicy): + """Linear retry.""" + + def __init__(self, backoff=15, retry_total=3, retry_to_secondary=False, random_jitter_range=3, **kwargs): + """ + Constructs a Linear retry object. + + :param int backoff: + The backoff interval, in seconds, between retries. + :param int max_attempts: + The maximum number of retry attempts. + :param bool retry_to_secondary: + Whether the request should be retried to secondary, if able. This should + only be enabled of RA-GRS accounts are used and potentially stale data + can be handled. + :param int random_jitter_range: + A number in seconds which indicates a range to jitter/randomize for the back-off interval. + For example, a random_jitter_range of 3 results in the back-off interval x to vary between x+3 and x-3. + """ + self.backoff = backoff + self.random_jitter_range = random_jitter_range + super(LinearRetry, self).__init__( + retry_total=retry_total, retry_to_secondary=retry_to_secondary, **kwargs) + + def get_backoff_time(self, settings): + """ + Calculates how long to sleep before retrying. + + :return: + An integer indicating how long to wait before retrying the request, + or None to indicate no retry should be performed. + :rtype: int or None + """ + random_generator = random.Random() + # the backoff interval normally does not change, however there is the possibility + # that it was modified by accessing the property directly after initializing the object + random_range_start = self.backoff - self.random_jitter_range \ + if self.backoff > self.random_jitter_range else 0 + random_range_end = self.backoff + self.random_jitter_range + return random_generator.uniform(random_range_start, random_range_end) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/policies_async.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/policies_async.py new file mode 100644 index 00000000000..e0926b81dbc --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/policies_async.py @@ -0,0 +1,220 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +# pylint: disable=invalid-overridden-method + +import asyncio +import random +import logging +from typing import Any, TYPE_CHECKING + +from azure.core.pipeline.policies import AsyncHTTPPolicy +from azure.core.exceptions import AzureError + +from .policies import is_retry, StorageRetryPolicy + +if TYPE_CHECKING: + from azure.core.pipeline import PipelineRequest, PipelineResponse + + +_LOGGER = logging.getLogger(__name__) + + +async def retry_hook(settings, **kwargs): + if settings['hook']: + if asyncio.iscoroutine(settings['hook']): + await settings['hook']( + retry_count=settings['count'] - 1, + location_mode=settings['mode'], + **kwargs) + else: + settings['hook']( + retry_count=settings['count'] - 1, + location_mode=settings['mode'], + **kwargs) + + +class AsyncStorageResponseHook(AsyncHTTPPolicy): + + def __init__(self, **kwargs): # pylint: disable=unused-argument + self._response_callback = kwargs.get('raw_response_hook') + super(AsyncStorageResponseHook, self).__init__() + + async def send(self, request): + # type: (PipelineRequest) -> PipelineResponse + data_stream_total = request.context.get('data_stream_total') or \ + request.context.options.pop('data_stream_total', None) + download_stream_current = request.context.get('download_stream_current') or \ + request.context.options.pop('download_stream_current', None) + upload_stream_current = request.context.get('upload_stream_current') or \ + request.context.options.pop('upload_stream_current', None) + response_callback = request.context.get('response_callback') or \ + request.context.options.pop('raw_response_hook', self._response_callback) + + response = await self.next.send(request) + await response.http_response.load_body() + + will_retry = is_retry(response, request.context.options.get('mode')) + if not will_retry and download_stream_current is not None: + download_stream_current += int(response.http_response.headers.get('Content-Length', 0)) + if data_stream_total is None: + content_range = response.http_response.headers.get('Content-Range') + if content_range: + data_stream_total = int(content_range.split(' ', 1)[1].split('/', 1)[1]) + else: + data_stream_total = download_stream_current + elif not will_retry and upload_stream_current is not None: + upload_stream_current += int(response.http_request.headers.get('Content-Length', 0)) + for pipeline_obj in [request, response]: + pipeline_obj.context['data_stream_total'] = data_stream_total + pipeline_obj.context['download_stream_current'] = download_stream_current + pipeline_obj.context['upload_stream_current'] = upload_stream_current + if response_callback: + if asyncio.iscoroutine(response_callback): + await response_callback(response) + else: + response_callback(response) + request.context['response_callback'] = response_callback + return response + +class AsyncStorageRetryPolicy(StorageRetryPolicy): + """ + The base class for Exponential and Linear retries containing shared code. + """ + + async def sleep(self, settings, transport): + backoff = self.get_backoff_time(settings) + if not backoff or backoff < 0: + return + await transport.sleep(backoff) + + async def send(self, request): + retries_remaining = True + response = None + retry_settings = self.configure_retries(request) + while retries_remaining: + try: + response = await self.next.send(request) + if is_retry(response, retry_settings['mode']): + retries_remaining = self.increment( + retry_settings, + request=request.http_request, + response=response.http_response) + if retries_remaining: + await retry_hook( + retry_settings, + request=request.http_request, + response=response.http_response, + error=None) + await self.sleep(retry_settings, request.context.transport) + continue + break + except AzureError as err: + retries_remaining = self.increment( + retry_settings, request=request.http_request, error=err) + if retries_remaining: + await retry_hook( + retry_settings, + request=request.http_request, + response=None, + error=err) + await self.sleep(retry_settings, request.context.transport) + continue + raise err + if retry_settings['history']: + response.context['history'] = retry_settings['history'] + response.http_response.location_mode = retry_settings['mode'] + return response + + +class ExponentialRetry(AsyncStorageRetryPolicy): + """Exponential retry.""" + + def __init__(self, initial_backoff=15, increment_base=3, retry_total=3, + retry_to_secondary=False, random_jitter_range=3, **kwargs): + ''' + Constructs an Exponential retry object. The initial_backoff is used for + the first retry. Subsequent retries are retried after initial_backoff + + increment_power^retry_count seconds. For example, by default the first retry + occurs after 15 seconds, the second after (15+3^1) = 18 seconds, and the + third after (15+3^2) = 24 seconds. + + :param int initial_backoff: + The initial backoff interval, in seconds, for the first retry. + :param int increment_base: + The base, in seconds, to increment the initial_backoff by after the + first retry. + :param int max_attempts: + The maximum number of retry attempts. + :param bool retry_to_secondary: + Whether the request should be retried to secondary, if able. This should + only be enabled of RA-GRS accounts are used and potentially stale data + can be handled. + :param int random_jitter_range: + A number in seconds which indicates a range to jitter/randomize for the back-off interval. + For example, a random_jitter_range of 3 results in the back-off interval x to vary between x+3 and x-3. + ''' + self.initial_backoff = initial_backoff + self.increment_base = increment_base + self.random_jitter_range = random_jitter_range + super(ExponentialRetry, self).__init__( + retry_total=retry_total, retry_to_secondary=retry_to_secondary, **kwargs) + + def get_backoff_time(self, settings): + """ + Calculates how long to sleep before retrying. + + :return: + An integer indicating how long to wait before retrying the request, + or None to indicate no retry should be performed. + :rtype: int or None + """ + random_generator = random.Random() + backoff = self.initial_backoff + (0 if settings['count'] == 0 else pow(self.increment_base, settings['count'])) + random_range_start = backoff - self.random_jitter_range if backoff > self.random_jitter_range else 0 + random_range_end = backoff + self.random_jitter_range + return random_generator.uniform(random_range_start, random_range_end) + + +class LinearRetry(AsyncStorageRetryPolicy): + """Linear retry.""" + + def __init__(self, backoff=15, retry_total=3, retry_to_secondary=False, random_jitter_range=3, **kwargs): + """ + Constructs a Linear retry object. + + :param int backoff: + The backoff interval, in seconds, between retries. + :param int max_attempts: + The maximum number of retry attempts. + :param bool retry_to_secondary: + Whether the request should be retried to secondary, if able. This should + only be enabled of RA-GRS accounts are used and potentially stale data + can be handled. + :param int random_jitter_range: + A number in seconds which indicates a range to jitter/randomize for the back-off interval. + For example, a random_jitter_range of 3 results in the back-off interval x to vary between x+3 and x-3. + """ + self.backoff = backoff + self.random_jitter_range = random_jitter_range + super(LinearRetry, self).__init__( + retry_total=retry_total, retry_to_secondary=retry_to_secondary, **kwargs) + + def get_backoff_time(self, settings): + """ + Calculates how long to sleep before retrying. + + :return: + An integer indicating how long to wait before retrying the request, + or None to indicate no retry should be performed. + :rtype: int or None + """ + random_generator = random.Random() + # the backoff interval normally does not change, however there is the possibility + # that it was modified by accessing the property directly after initializing the object + random_range_start = self.backoff - self.random_jitter_range \ + if self.backoff > self.random_jitter_range else 0 + random_range_end = self.backoff + self.random_jitter_range + return random_generator.uniform(random_range_start, random_range_end) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/request_handlers.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/request_handlers.py new file mode 100644 index 00000000000..37354d7907a --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/request_handlers.py @@ -0,0 +1,273 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- + +from typing import ( # pylint: disable=unused-import + Union, Optional, Any, Iterable, Dict, List, Type, Tuple, + TYPE_CHECKING +) + +import logging +from os import fstat +from io import (SEEK_END, SEEK_SET, UnsupportedOperation) + +import isodate + +from azure.core.exceptions import raise_with_traceback + + +_LOGGER = logging.getLogger(__name__) + +_REQUEST_DELIMITER_PREFIX = "batch_" +_HTTP1_1_IDENTIFIER = "HTTP/1.1" +_HTTP_LINE_ENDING = "\r\n" + + +def serialize_iso(attr): + """Serialize Datetime object into ISO-8601 formatted string. + + :param Datetime attr: Object to be serialized. + :rtype: str + :raises: ValueError if format invalid. + """ + if not attr: + return None + if isinstance(attr, str): + attr = isodate.parse_datetime(attr) + try: + utc = attr.utctimetuple() + if utc.tm_year > 9999 or utc.tm_year < 1: + raise OverflowError("Hit max or min date") + + date = "{:04}-{:02}-{:02}T{:02}:{:02}:{:02}".format( + utc.tm_year, utc.tm_mon, utc.tm_mday, + utc.tm_hour, utc.tm_min, utc.tm_sec) + return date + 'Z' + except (ValueError, OverflowError) as err: + msg = "Unable to serialize datetime object." + raise_with_traceback(ValueError, msg, err) + except AttributeError as err: + msg = "ISO-8601 object must be valid Datetime object." + raise_with_traceback(TypeError, msg, err) + + +def get_length(data): + length = None + # Check if object implements the __len__ method, covers most input cases such as bytearray. + try: + length = len(data) + except: # pylint: disable=bare-except + pass + + if not length: + # Check if the stream is a file-like stream object. + # If so, calculate the size using the file descriptor. + try: + fileno = data.fileno() + except (AttributeError, UnsupportedOperation): + pass + else: + try: + return fstat(fileno).st_size + except OSError: + # Not a valid fileno, may be possible requests returned + # a socket number? + pass + + # If the stream is seekable and tell() is implemented, calculate the stream size. + try: + current_position = data.tell() + data.seek(0, SEEK_END) + length = data.tell() - current_position + data.seek(current_position, SEEK_SET) + except (AttributeError, UnsupportedOperation): + pass + + return length + + +def read_length(data): + try: + if hasattr(data, 'read'): + read_data = b'' + for chunk in iter(lambda: data.read(4096), b""): + read_data += chunk + return len(read_data), read_data + if hasattr(data, '__iter__'): + read_data = b'' + for chunk in data: + read_data += chunk + return len(read_data), read_data + except: # pylint: disable=bare-except + pass + raise ValueError("Unable to calculate content length, please specify.") + + +def validate_and_format_range_headers( + start_range, end_range, start_range_required=True, + end_range_required=True, check_content_md5=False, align_to_page=False): + # If end range is provided, start range must be provided + if (start_range_required or end_range is not None) and start_range is None: + raise ValueError("start_range value cannot be None.") + if end_range_required and end_range is None: + raise ValueError("end_range value cannot be None.") + + # Page ranges must be 512 aligned + if align_to_page: + if start_range is not None and start_range % 512 != 0: + raise ValueError("Invalid page blob start_range: {0}. " + "The size must be aligned to a 512-byte boundary.".format(start_range)) + if end_range is not None and end_range % 512 != 511: + raise ValueError("Invalid page blob end_range: {0}. " + "The size must be aligned to a 512-byte boundary.".format(end_range)) + + # Format based on whether end_range is present + range_header = None + if end_range is not None: + range_header = 'bytes={0}-{1}'.format(start_range, end_range) + elif start_range is not None: + range_header = "bytes={0}-".format(start_range) + + # Content MD5 can only be provided for a complete range less than 4MB in size + range_validation = None + if check_content_md5: + if start_range is None or end_range is None: + raise ValueError("Both start and end range requied for MD5 content validation.") + if end_range - start_range > 4 * 1024 * 1024: + raise ValueError("Getting content MD5 for a range greater than 4MB is not supported.") + range_validation = 'true' + + return range_header, range_validation + + +def add_metadata_headers(metadata=None): + # type: (Optional[Dict[str, str]]) -> Dict[str, str] + headers = {} + if metadata: + for key, value in metadata.items(): + headers['x-ms-meta-{}'.format(key.strip())] = value.strip() if value else value + return headers + + +def serialize_batch_body(requests, batch_id): + """ + -- + + -- + (repeated as needed) + ---- + + Serializes the requests in this batch to a single HTTP mixed/multipart body. + + :param list[~azure.core.pipeline.transport.HttpRequest] requests: + a list of sub-request for the batch request + :param str batch_id: + to be embedded in batch sub-request delimiter + :return: The body bytes for this batch. + """ + + if requests is None or len(requests) == 0: + raise ValueError('Please provide sub-request(s) for this batch request') + + delimiter_bytes = (_get_batch_request_delimiter(batch_id, True, False) + _HTTP_LINE_ENDING).encode('utf-8') + newline_bytes = _HTTP_LINE_ENDING.encode('utf-8') + batch_body = list() + + content_index = 0 + for request in requests: + request.headers.update({ + "Content-ID": str(content_index), + "Content-Length": str(0) + }) + batch_body.append(delimiter_bytes) + batch_body.append(_make_body_from_sub_request(request)) + batch_body.append(newline_bytes) + content_index += 1 + + batch_body.append(_get_batch_request_delimiter(batch_id, True, True).encode('utf-8')) + # final line of body MUST have \r\n at the end, or it will not be properly read by the service + batch_body.append(newline_bytes) + + return bytes().join(batch_body) + + +def _get_batch_request_delimiter(batch_id, is_prepend_dashes=False, is_append_dashes=False): + """ + Gets the delimiter used for this batch request's mixed/multipart HTTP format. + + :param str batch_id: + Randomly generated id + :param bool is_prepend_dashes: + Whether to include the starting dashes. Used in the body, but non on defining the delimiter. + :param bool is_append_dashes: + Whether to include the ending dashes. Used in the body on the closing delimiter only. + :return: The delimiter, WITHOUT a trailing newline. + """ + + prepend_dashes = '--' if is_prepend_dashes else '' + append_dashes = '--' if is_append_dashes else '' + + return prepend_dashes + _REQUEST_DELIMITER_PREFIX + batch_id + append_dashes + + +def _make_body_from_sub_request(sub_request): + """ + Content-Type: application/http + Content-ID: + Content-Transfer-Encoding: (if present) + + HTTP/ +
:
(repeated as necessary) + Content-Length: + (newline if content length > 0) + (if content length > 0) + + Serializes an http request. + + :param ~azure.core.pipeline.transport.HttpRequest sub_request: + Request to serialize. + :return: The serialized sub-request in bytes + """ + + # put the sub-request's headers into a list for efficient str concatenation + sub_request_body = list() + + # get headers for ease of manipulation; remove headers as they are used + headers = sub_request.headers + + # append opening headers + sub_request_body.append("Content-Type: application/http") + sub_request_body.append(_HTTP_LINE_ENDING) + + sub_request_body.append("Content-ID: ") + sub_request_body.append(headers.pop("Content-ID", "")) + sub_request_body.append(_HTTP_LINE_ENDING) + + sub_request_body.append("Content-Transfer-Encoding: binary") + sub_request_body.append(_HTTP_LINE_ENDING) + + # append blank line + sub_request_body.append(_HTTP_LINE_ENDING) + + # append HTTP verb and path and query and HTTP version + sub_request_body.append(sub_request.method) + sub_request_body.append(' ') + sub_request_body.append(sub_request.url) + sub_request_body.append(' ') + sub_request_body.append(_HTTP1_1_IDENTIFIER) + sub_request_body.append(_HTTP_LINE_ENDING) + + # append remaining headers (this will set the Content-Length, as it was set on `sub-request`) + for header_name, header_value in headers.items(): + if header_value is not None: + sub_request_body.append(header_name) + sub_request_body.append(": ") + sub_request_body.append(header_value) + sub_request_body.append(_HTTP_LINE_ENDING) + + # append blank line + sub_request_body.append(_HTTP_LINE_ENDING) + + return ''.join(sub_request_body).encode() diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/response_handlers.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/response_handlers.py new file mode 100644 index 00000000000..be60b3878f6 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/response_handlers.py @@ -0,0 +1,159 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- + +from typing import ( # pylint: disable=unused-import + Union, Optional, Any, Iterable, Dict, List, Type, Tuple, + TYPE_CHECKING +) +import logging + +from azure.core.pipeline.policies import ContentDecodePolicy +from azure.core.exceptions import ( + HttpResponseError, + ResourceNotFoundError, + ResourceModifiedError, + ResourceExistsError, + ClientAuthenticationError, + DecodeError) + +from .parser import _to_utc_datetime +from .models import StorageErrorCode, UserDelegationKey, get_enum_value + + +if TYPE_CHECKING: + from datetime import datetime + from azure.core.exceptions import AzureError + + +_LOGGER = logging.getLogger(__name__) + + +class PartialBatchErrorException(HttpResponseError): + """There is a partial failure in batch operations. + + :param str message: The message of the exception. + :param response: Server response to be deserialized. + :param list parts: A list of the parts in multipart response. + """ + + def __init__(self, message, response, parts): + self.parts = parts + super(PartialBatchErrorException, self).__init__(message=message, response=response) + + +def parse_length_from_content_range(content_range): + ''' + Parses the blob length from the content range header: bytes 1-3/65537 + ''' + if content_range is None: + return None + + # First, split in space and take the second half: '1-3/65537' + # Next, split on slash and take the second half: '65537' + # Finally, convert to an int: 65537 + return int(content_range.split(' ', 1)[1].split('/', 1)[1]) + + +def normalize_headers(headers): + normalized = {} + for key, value in headers.items(): + if key.startswith('x-ms-'): + key = key[5:] + normalized[key.lower().replace('-', '_')] = get_enum_value(value) + return normalized + + +def deserialize_metadata(response, obj, headers): # pylint: disable=unused-argument + raw_metadata = {k: v for k, v in response.headers.items() if k.startswith("x-ms-meta-")} + return {k[10:]: v for k, v in raw_metadata.items()} + + +def return_response_headers(response, deserialized, response_headers): # pylint: disable=unused-argument + return normalize_headers(response_headers) + + +def return_headers_and_deserialized(response, deserialized, response_headers): # pylint: disable=unused-argument + return normalize_headers(response_headers), deserialized + + +def return_context_and_deserialized(response, deserialized, response_headers): # pylint: disable=unused-argument + return response.http_response.location_mode, deserialized + + +def process_storage_error(storage_error): + raise_error = HttpResponseError + error_code = storage_error.response.headers.get('x-ms-error-code') + error_message = storage_error.message + additional_data = {} + try: + error_body = ContentDecodePolicy.deserialize_from_http_generics(storage_error.response) + if error_body: + for info in error_body.iter(): + if info.tag.lower() == 'code': + error_code = info.text + elif info.tag.lower() == 'message': + error_message = info.text + else: + additional_data[info.tag] = info.text + except DecodeError: + pass + + try: + if error_code: + error_code = StorageErrorCode(error_code) + if error_code in [StorageErrorCode.condition_not_met, + StorageErrorCode.blob_overwritten]: + raise_error = ResourceModifiedError + if error_code in [StorageErrorCode.invalid_authentication_info, + StorageErrorCode.authentication_failed]: + raise_error = ClientAuthenticationError + if error_code in [StorageErrorCode.resource_not_found, + StorageErrorCode.cannot_verify_copy_source, + StorageErrorCode.blob_not_found, + StorageErrorCode.queue_not_found, + StorageErrorCode.container_not_found, + StorageErrorCode.parent_not_found, + StorageErrorCode.share_not_found]: + raise_error = ResourceNotFoundError + if error_code in [StorageErrorCode.account_already_exists, + StorageErrorCode.account_being_created, + StorageErrorCode.resource_already_exists, + StorageErrorCode.resource_type_mismatch, + StorageErrorCode.blob_already_exists, + StorageErrorCode.queue_already_exists, + StorageErrorCode.container_already_exists, + StorageErrorCode.container_being_deleted, + StorageErrorCode.queue_being_deleted, + StorageErrorCode.share_already_exists, + StorageErrorCode.share_being_deleted]: + raise_error = ResourceExistsError + except ValueError: + # Got an unknown error code + pass + + try: + error_message += "\nErrorCode:{}".format(error_code.value) + except AttributeError: + error_message += "\nErrorCode:{}".format(error_code) + for name, info in additional_data.items(): + error_message += "\n{}:{}".format(name, info) + + error = raise_error(message=error_message, response=storage_error.response) + error.error_code = error_code + error.additional_info = additional_data + error.raise_with_traceback() + + +def parse_to_internal_user_delegation_key(service_user_delegation_key): + internal_user_delegation_key = UserDelegationKey() + internal_user_delegation_key.signed_oid = service_user_delegation_key.signed_oid + internal_user_delegation_key.signed_tid = service_user_delegation_key.signed_tid + internal_user_delegation_key.signed_start = _to_utc_datetime(service_user_delegation_key.signed_start) + internal_user_delegation_key.signed_expiry = _to_utc_datetime(service_user_delegation_key.signed_expiry) + internal_user_delegation_key.signed_service = service_user_delegation_key.signed_service + internal_user_delegation_key.signed_version = service_user_delegation_key.signed_version + internal_user_delegation_key.value = service_user_delegation_key.value + return internal_user_delegation_key diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/shared_access_signature.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/shared_access_signature.py new file mode 100644 index 00000000000..07aad5ffa1c --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/shared_access_signature.py @@ -0,0 +1,220 @@ +# ------------------------------------------------------------------------- +# 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 date + +from .parser import _str, _to_utc_datetime +from .constants import X_MS_VERSION +from . import sign_string, url_quote + + +class QueryStringConstants(object): + SIGNED_SIGNATURE = 'sig' + SIGNED_PERMISSION = 'sp' + SIGNED_START = 'st' + SIGNED_EXPIRY = 'se' + SIGNED_RESOURCE = 'sr' + SIGNED_IDENTIFIER = 'si' + SIGNED_IP = 'sip' + SIGNED_PROTOCOL = 'spr' + SIGNED_VERSION = 'sv' + SIGNED_CACHE_CONTROL = 'rscc' + SIGNED_CONTENT_DISPOSITION = 'rscd' + SIGNED_CONTENT_ENCODING = 'rsce' + SIGNED_CONTENT_LANGUAGE = 'rscl' + SIGNED_CONTENT_TYPE = 'rsct' + START_PK = 'spk' + START_RK = 'srk' + END_PK = 'epk' + END_RK = 'erk' + SIGNED_RESOURCE_TYPES = 'srt' + SIGNED_SERVICES = 'ss' + SIGNED_OID = 'skoid' + SIGNED_TID = 'sktid' + SIGNED_KEY_START = 'skt' + SIGNED_KEY_EXPIRY = 'ske' + SIGNED_KEY_SERVICE = 'sks' + SIGNED_KEY_VERSION = 'skv' + + # for ADLS + SIGNED_AUTHORIZED_OID = 'saoid' + SIGNED_UNAUTHORIZED_OID = 'suoid' + SIGNED_CORRELATION_ID = 'scid' + SIGNED_DIRECTORY_DEPTH = 'sdd' + + @staticmethod + def to_list(): + return [ + QueryStringConstants.SIGNED_SIGNATURE, + QueryStringConstants.SIGNED_PERMISSION, + QueryStringConstants.SIGNED_START, + QueryStringConstants.SIGNED_EXPIRY, + QueryStringConstants.SIGNED_RESOURCE, + QueryStringConstants.SIGNED_IDENTIFIER, + QueryStringConstants.SIGNED_IP, + QueryStringConstants.SIGNED_PROTOCOL, + QueryStringConstants.SIGNED_VERSION, + QueryStringConstants.SIGNED_CACHE_CONTROL, + QueryStringConstants.SIGNED_CONTENT_DISPOSITION, + QueryStringConstants.SIGNED_CONTENT_ENCODING, + QueryStringConstants.SIGNED_CONTENT_LANGUAGE, + QueryStringConstants.SIGNED_CONTENT_TYPE, + QueryStringConstants.START_PK, + QueryStringConstants.START_RK, + QueryStringConstants.END_PK, + QueryStringConstants.END_RK, + QueryStringConstants.SIGNED_RESOURCE_TYPES, + QueryStringConstants.SIGNED_SERVICES, + QueryStringConstants.SIGNED_OID, + QueryStringConstants.SIGNED_TID, + QueryStringConstants.SIGNED_KEY_START, + QueryStringConstants.SIGNED_KEY_EXPIRY, + QueryStringConstants.SIGNED_KEY_SERVICE, + QueryStringConstants.SIGNED_KEY_VERSION, + # for ADLS + QueryStringConstants.SIGNED_AUTHORIZED_OID, + QueryStringConstants.SIGNED_UNAUTHORIZED_OID, + QueryStringConstants.SIGNED_CORRELATION_ID, + QueryStringConstants.SIGNED_DIRECTORY_DEPTH, + ] + + +class SharedAccessSignature(object): + ''' + Provides a factory for creating account access + signature tokens with an account name and account key. Users can either + use the factory or can construct the appropriate service and use the + generate_*_shared_access_signature method directly. + ''' + + def __init__(self, account_name, account_key, x_ms_version=X_MS_VERSION): + ''' + :param str account_name: + The storage account name used to generate the shared access signatures. + :param str account_key: + The access key to generate the shares access signatures. + :param str x_ms_version: + The service version used to generate the shared access signatures. + ''' + self.account_name = account_name + self.account_key = account_key + self.x_ms_version = x_ms_version + + def generate_account(self, services, resource_types, permission, expiry, start=None, + ip=None, protocol=None): + ''' + Generates a shared access signature for the account. + Use the returned signature with the sas_token parameter of the service + or to create a new account object. + + :param ResourceTypes resource_types: + Specifies the resource types that are accessible with the account + SAS. You can combine values to provide access to more than one + resource type. + :param AccountSasPermissions permission: + The permissions associated with the shared access signature. The + user is restricted to operations allowed by the permissions. + Required unless an id is given referencing a stored access policy + which contains this field. This field must be omitted if it has been + specified in an associated stored access policy. You can combine + values to provide more than one permission. + :param expiry: + The time at which the shared access signature becomes invalid. + Required unless an id is given referencing a stored access policy + which contains this field. This field must be omitted if it has + been specified in an associated stored access policy. Azure will always + convert values to UTC. If a date is passed in without timezone info, it + is assumed to be UTC. + :type expiry: datetime or str + :param start: + The time at which the shared access signature becomes valid. If + omitted, start time for this call is assumed to be the time when the + storage service receives the request. Azure will always convert values + to UTC. If a date is passed in without timezone info, it is assumed to + be UTC. + :type start: datetime or str + :param str ip: + Specifies an IP address or a range of IP addresses from which to accept requests. + If the IP address from which the request originates does not match the IP address + or address range specified on the SAS token, the request is not authenticated. + For example, specifying sip=168.1.5.65 or sip=168.1.5.60-168.1.5.70 on the SAS + 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:`~azure.storage.common.models.Protocol` for possible values. + ''' + sas = _SharedAccessHelper() + sas.add_base(permission, expiry, start, ip, protocol, self.x_ms_version) + sas.add_account(services, resource_types) + sas.add_account_signature(self.account_name, self.account_key) + + return sas.get_token() + + +class _SharedAccessHelper(object): + def __init__(self): + self.query_dict = {} + + def _add_query(self, name, val): + if val: + self.query_dict[name] = _str(val) if val is not None else None + + def add_base(self, permission, expiry, start, ip, protocol, x_ms_version): + if isinstance(start, date): + start = _to_utc_datetime(start) + + if isinstance(expiry, date): + expiry = _to_utc_datetime(expiry) + + self._add_query(QueryStringConstants.SIGNED_START, start) + self._add_query(QueryStringConstants.SIGNED_EXPIRY, expiry) + self._add_query(QueryStringConstants.SIGNED_PERMISSION, permission) + self._add_query(QueryStringConstants.SIGNED_IP, ip) + self._add_query(QueryStringConstants.SIGNED_PROTOCOL, protocol) + self._add_query(QueryStringConstants.SIGNED_VERSION, x_ms_version) + + def add_resource(self, resource): + self._add_query(QueryStringConstants.SIGNED_RESOURCE, resource) + + def add_id(self, policy_id): + self._add_query(QueryStringConstants.SIGNED_IDENTIFIER, policy_id) + + def add_account(self, services, resource_types): + self._add_query(QueryStringConstants.SIGNED_SERVICES, services) + self._add_query(QueryStringConstants.SIGNED_RESOURCE_TYPES, resource_types) + + def add_override_response_headers(self, cache_control, + content_disposition, + content_encoding, + content_language, + content_type): + self._add_query(QueryStringConstants.SIGNED_CACHE_CONTROL, cache_control) + self._add_query(QueryStringConstants.SIGNED_CONTENT_DISPOSITION, content_disposition) + self._add_query(QueryStringConstants.SIGNED_CONTENT_ENCODING, content_encoding) + self._add_query(QueryStringConstants.SIGNED_CONTENT_LANGUAGE, content_language) + self._add_query(QueryStringConstants.SIGNED_CONTENT_TYPE, content_type) + + def add_account_signature(self, account_name, account_key): + def get_value_to_append(query): + return_value = self.query_dict.get(query) or '' + return return_value + '\n' + + string_to_sign = \ + (account_name + '\n' + + get_value_to_append(QueryStringConstants.SIGNED_PERMISSION) + + get_value_to_append(QueryStringConstants.SIGNED_SERVICES) + + get_value_to_append(QueryStringConstants.SIGNED_RESOURCE_TYPES) + + get_value_to_append(QueryStringConstants.SIGNED_START) + + get_value_to_append(QueryStringConstants.SIGNED_EXPIRY) + + get_value_to_append(QueryStringConstants.SIGNED_IP) + + get_value_to_append(QueryStringConstants.SIGNED_PROTOCOL) + + get_value_to_append(QueryStringConstants.SIGNED_VERSION)) + + self._add_query(QueryStringConstants.SIGNED_SIGNATURE, + sign_string(account_key, string_to_sign)) + + def get_token(self): + return '&'.join(['{0}={1}'.format(n, url_quote(v)) for n, v in self.query_dict.items() if v is not None]) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/uploads.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/uploads.py new file mode 100644 index 00000000000..1b619dfc3be --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/uploads.py @@ -0,0 +1,602 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +# pylint: disable=no-self-use + +from concurrent import futures +from io import (BytesIO, IOBase, SEEK_CUR, SEEK_END, SEEK_SET, UnsupportedOperation) +from threading import Lock +from itertools import islice +from math import ceil + +import six + +from azure.core.tracing.common import with_current_context + +from . import encode_base64, url_quote +from .request_handlers import get_length +from .response_handlers import return_response_headers +from .encryption import get_blob_encryptor_and_padder + + +_LARGE_BLOB_UPLOAD_MAX_READ_BUFFER_SIZE = 4 * 1024 * 1024 +_ERROR_VALUE_SHOULD_BE_SEEKABLE_STREAM = "{0} should be a seekable file-like/io.IOBase type stream object." + + +def _parallel_uploads(executor, uploader, pending, running): + range_ids = [] + while True: + # Wait for some download to finish before adding a new one + done, running = futures.wait(running, return_when=futures.FIRST_COMPLETED) + range_ids.extend([chunk.result() for chunk in done]) + try: + for _ in range(0, len(done)): + next_chunk = next(pending) + running.add(executor.submit(with_current_context(uploader), next_chunk)) + except StopIteration: + break + + # Wait for the remaining uploads to finish + done, _running = futures.wait(running) + range_ids.extend([chunk.result() for chunk in done]) + return range_ids + + +def upload_data_chunks( + service=None, + uploader_class=None, + total_size=None, + chunk_size=None, + max_concurrency=None, + stream=None, + validate_content=None, + encryption_options=None, + **kwargs): + + if encryption_options: + encryptor, padder = get_blob_encryptor_and_padder( + encryption_options.get('cek'), + encryption_options.get('vector'), + uploader_class is not PageBlobChunkUploader) + kwargs['encryptor'] = encryptor + kwargs['padder'] = padder + + parallel = max_concurrency > 1 + if parallel and 'modified_access_conditions' in kwargs: + # Access conditions do not work with parallelism + kwargs['modified_access_conditions'] = None + + uploader = uploader_class( + service=service, + total_size=total_size, + chunk_size=chunk_size, + stream=stream, + parallel=parallel, + validate_content=validate_content, + **kwargs) + if parallel: + with futures.ThreadPoolExecutor(max_concurrency) as executor: + upload_tasks = uploader.get_chunk_streams() + running_futures = [ + executor.submit(with_current_context(uploader.process_chunk), u) + for u in islice(upload_tasks, 0, max_concurrency) + ] + range_ids = _parallel_uploads(executor, uploader.process_chunk, upload_tasks, running_futures) + else: + range_ids = [uploader.process_chunk(result) for result in uploader.get_chunk_streams()] + if any(range_ids): + return [r[1] for r in sorted(range_ids, key=lambda r: r[0])] + return uploader.response_headers + + +def upload_substream_blocks( + service=None, + uploader_class=None, + total_size=None, + chunk_size=None, + max_concurrency=None, + stream=None, + **kwargs): + parallel = max_concurrency > 1 + if parallel and 'modified_access_conditions' in kwargs: + # Access conditions do not work with parallelism + kwargs['modified_access_conditions'] = None + uploader = uploader_class( + service=service, + total_size=total_size, + chunk_size=chunk_size, + stream=stream, + parallel=parallel, + **kwargs) + + if parallel: + with futures.ThreadPoolExecutor(max_concurrency) as executor: + upload_tasks = uploader.get_substream_blocks() + running_futures = [ + executor.submit(with_current_context(uploader.process_substream_block), u) + for u in islice(upload_tasks, 0, max_concurrency) + ] + range_ids = _parallel_uploads(executor, uploader.process_substream_block, upload_tasks, running_futures) + else: + range_ids = [uploader.process_substream_block(b) for b in uploader.get_substream_blocks()] + if any(range_ids): + return sorted(range_ids) + return [] + + +class _ChunkUploader(object): # pylint: disable=too-many-instance-attributes + + def __init__(self, service, total_size, chunk_size, stream, parallel, encryptor=None, padder=None, **kwargs): + self.service = service + self.total_size = total_size + self.chunk_size = chunk_size + self.stream = stream + self.parallel = parallel + + # Stream management + self.stream_start = stream.tell() if parallel else None + self.stream_lock = Lock() if parallel else None + + # Progress feedback + self.progress_total = 0 + self.progress_lock = Lock() if parallel else None + + # Encryption + self.encryptor = encryptor + self.padder = padder + self.response_headers = None + self.etag = None + self.last_modified = None + self.request_options = kwargs + + def get_chunk_streams(self): + index = 0 + while True: + data = b"" + read_size = self.chunk_size + + # Buffer until we either reach the end of the stream or get a whole chunk. + while True: + if self.total_size: + read_size = min(self.chunk_size - len(data), self.total_size - (index + len(data))) + temp = self.stream.read(read_size) + if not isinstance(temp, six.binary_type): + raise TypeError("Blob data should be of type bytes.") + data += temp or b"" + + # We have read an empty string and so are at the end + # of the buffer or we have read a full chunk. + if temp == b"" or len(data) == self.chunk_size: + break + + if len(data) == self.chunk_size: + if self.padder: + data = self.padder.update(data) + if self.encryptor: + data = self.encryptor.update(data) + yield index, data + else: + if self.padder: + data = self.padder.update(data) + self.padder.finalize() + if self.encryptor: + data = self.encryptor.update(data) + self.encryptor.finalize() + if data: + yield index, data + break + index += len(data) + + def process_chunk(self, chunk_data): + chunk_bytes = chunk_data[1] + chunk_offset = chunk_data[0] + return self._upload_chunk_with_progress(chunk_offset, chunk_bytes) + + def _update_progress(self, length): + if self.progress_lock is not None: + with self.progress_lock: + self.progress_total += length + else: + self.progress_total += length + + def _upload_chunk(self, chunk_offset, chunk_data): + raise NotImplementedError("Must be implemented by child class.") + + def _upload_chunk_with_progress(self, chunk_offset, chunk_data): + range_id = self._upload_chunk(chunk_offset, chunk_data) + self._update_progress(len(chunk_data)) + return range_id + + def get_substream_blocks(self): + assert self.chunk_size is not None + lock = self.stream_lock + blob_length = self.total_size + + if blob_length is None: + blob_length = get_length(self.stream) + if blob_length is None: + raise ValueError("Unable to determine content length of upload data.") + + blocks = int(ceil(blob_length / (self.chunk_size * 1.0))) + last_block_size = self.chunk_size if blob_length % self.chunk_size == 0 else blob_length % self.chunk_size + + for i in range(blocks): + index = i * self.chunk_size + length = last_block_size if i == blocks - 1 else self.chunk_size + yield index, SubStream(self.stream, index, length, lock) + + def process_substream_block(self, block_data): + return self._upload_substream_block_with_progress(block_data[0], block_data[1]) + + def _upload_substream_block(self, index, block_stream): + raise NotImplementedError("Must be implemented by child class.") + + def _upload_substream_block_with_progress(self, index, block_stream): + range_id = self._upload_substream_block(index, block_stream) + self._update_progress(len(block_stream)) + return range_id + + def set_response_properties(self, resp): + self.etag = resp.etag + self.last_modified = resp.last_modified + + +class BlockBlobChunkUploader(_ChunkUploader): + + def __init__(self, *args, **kwargs): + kwargs.pop("modified_access_conditions", None) + super(BlockBlobChunkUploader, self).__init__(*args, **kwargs) + self.current_length = None + + def _upload_chunk(self, chunk_offset, chunk_data): + # TODO: This is incorrect, but works with recording. + index = '{0:032d}'.format(chunk_offset) + block_id = encode_base64(url_quote(encode_base64(index))) + self.service.stage_block( + block_id, + len(chunk_data), + chunk_data, + data_stream_total=self.total_size, + upload_stream_current=self.progress_total, + **self.request_options + ) + return index, block_id + + def _upload_substream_block(self, index, block_stream): + try: + block_id = 'BlockId{}'.format("%05d" % (index/self.chunk_size)) + self.service.stage_block( + block_id, + len(block_stream), + block_stream, + data_stream_total=self.total_size, + upload_stream_current=self.progress_total, + **self.request_options + ) + finally: + block_stream.close() + return block_id + + +class PageBlobChunkUploader(_ChunkUploader): # pylint: disable=abstract-method + + 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 + return not any(bytearray(chunk_data)) + + def _upload_chunk(self, chunk_offset, chunk_data): + # avoid uploading the empty pages + if not self._is_chunk_empty(chunk_data): + chunk_end = chunk_offset + len(chunk_data) - 1 + content_range = "bytes={0}-{1}".format(chunk_offset, chunk_end) + computed_md5 = None + self.response_headers = self.service.upload_pages( + body=chunk_data, + content_length=len(chunk_data), + transactional_content_md5=computed_md5, + range=content_range, + cls=return_response_headers, + data_stream_total=self.total_size, + upload_stream_current=self.progress_total, + **self.request_options + ) + + if not self.parallel and self.request_options.get('modified_access_conditions'): + self.request_options['modified_access_conditions'].if_match = self.response_headers['etag'] + + def _upload_substream_block(self, index, block_stream): + pass + + +class AppendBlobChunkUploader(_ChunkUploader): # pylint: disable=abstract-method + + def __init__(self, *args, **kwargs): + super(AppendBlobChunkUploader, self).__init__(*args, **kwargs) + self.current_length = None + + def _upload_chunk(self, chunk_offset, chunk_data): + if self.current_length is None: + self.response_headers = self.service.append_block( + body=chunk_data, + content_length=len(chunk_data), + cls=return_response_headers, + data_stream_total=self.total_size, + upload_stream_current=self.progress_total, + **self.request_options + ) + self.current_length = int(self.response_headers["blob_append_offset"]) + else: + self.request_options['append_position_access_conditions'].append_position = \ + self.current_length + chunk_offset + self.response_headers = self.service.append_block( + body=chunk_data, + content_length=len(chunk_data), + cls=return_response_headers, + data_stream_total=self.total_size, + upload_stream_current=self.progress_total, + **self.request_options + ) + + def _upload_substream_block(self, index, block_stream): + pass + + +class DataLakeFileChunkUploader(_ChunkUploader): # pylint: disable=abstract-method + + def _upload_chunk(self, chunk_offset, chunk_data): + # avoid uploading the empty pages + self.response_headers = self.service.append_data( + body=chunk_data, + position=chunk_offset, + content_length=len(chunk_data), + cls=return_response_headers, + data_stream_total=self.total_size, + upload_stream_current=self.progress_total, + **self.request_options + ) + + if not self.parallel and self.request_options.get('modified_access_conditions'): + self.request_options['modified_access_conditions'].if_match = self.response_headers['etag'] + + def _upload_substream_block(self, index, block_stream): + try: + self.service.append_data( + body=block_stream, + position=index, + content_length=len(block_stream), + cls=return_response_headers, + data_stream_total=self.total_size, + upload_stream_current=self.progress_total, + **self.request_options + ) + finally: + block_stream.close() + + +class FileChunkUploader(_ChunkUploader): # pylint: disable=abstract-method + + def _upload_chunk(self, chunk_offset, chunk_data): + length = len(chunk_data) + chunk_end = chunk_offset + length - 1 + response = self.service.upload_range( + chunk_data, + chunk_offset, + length, + data_stream_total=self.total_size, + upload_stream_current=self.progress_total, + **self.request_options + ) + return 'bytes={0}-{1}'.format(chunk_offset, chunk_end), response + + # TODO: Implement this method. + def _upload_substream_block(self, index, block_stream): + pass + + +class SubStream(IOBase): + + def __init__(self, wrapped_stream, stream_begin_index, length, lockObj): + # Python 2.7: file-like objects created with open() typically support seek(), but are not + # derivations of io.IOBase and thus do not implement seekable(). + # Python > 3.0: file-like objects created with open() are derived from io.IOBase. + try: + # only the main thread runs this, so there's no need grabbing the lock + wrapped_stream.seek(0, SEEK_CUR) + except: + raise ValueError("Wrapped stream must support seek().") + + self._lock = lockObj + self._wrapped_stream = wrapped_stream + self._position = 0 + self._stream_begin_index = stream_begin_index + self._length = length + self._buffer = BytesIO() + + # we must avoid buffering more than necessary, and also not use up too much memory + # so the max buffer size is capped at 4MB + self._max_buffer_size = ( + length if length < _LARGE_BLOB_UPLOAD_MAX_READ_BUFFER_SIZE else _LARGE_BLOB_UPLOAD_MAX_READ_BUFFER_SIZE + ) + self._current_buffer_start = 0 + self._current_buffer_size = 0 + super(SubStream, self).__init__() + + def __len__(self): + return self._length + + def close(self): + if self._buffer: + self._buffer.close() + self._wrapped_stream = None + IOBase.close(self) + + def fileno(self): + return self._wrapped_stream.fileno() + + def flush(self): + pass + + def read(self, size=None): + if self.closed: # pylint: disable=using-constant-test + raise ValueError("Stream is closed.") + + if size is None: + size = self._length - self._position + + # adjust if out of bounds + if size + self._position >= self._length: + size = self._length - self._position + + # return fast + if size == 0 or self._buffer.closed: + return b"" + + # attempt first read from the read buffer and update position + read_buffer = self._buffer.read(size) + bytes_read = len(read_buffer) + bytes_remaining = size - bytes_read + self._position += bytes_read + + # repopulate the read buffer from the underlying stream to fulfill the request + # ensure the seek and read operations are done atomically (only if a lock is provided) + if bytes_remaining > 0: + with self._buffer: + # either read in the max buffer size specified on the class + # or read in just enough data for the current block/sub stream + current_max_buffer_size = min(self._max_buffer_size, self._length - self._position) + + # lock is only defined if max_concurrency > 1 (parallel uploads) + if self._lock: + with self._lock: + # reposition the underlying stream to match the start of the data to read + absolute_position = self._stream_begin_index + self._position + self._wrapped_stream.seek(absolute_position, SEEK_SET) + # If we can't seek to the right location, our read will be corrupted so fail fast. + if self._wrapped_stream.tell() != absolute_position: + raise IOError("Stream failed to seek to the desired location.") + buffer_from_stream = self._wrapped_stream.read(current_max_buffer_size) + else: + absolute_position = self._stream_begin_index + self._position + # It's possible that there's connection problem during data transfer, + # so when we retry we don't want to read from current position of wrapped stream, + # instead we should seek to where we want to read from. + if self._wrapped_stream.tell() != absolute_position: + self._wrapped_stream.seek(absolute_position, SEEK_SET) + + buffer_from_stream = self._wrapped_stream.read(current_max_buffer_size) + + if buffer_from_stream: + # update the buffer with new data from the wrapped stream + # we need to note down the start position and size of the buffer, in case seek is performed later + self._buffer = BytesIO(buffer_from_stream) + self._current_buffer_start = self._position + self._current_buffer_size = len(buffer_from_stream) + + # read the remaining bytes from the new buffer and update position + second_read_buffer = self._buffer.read(bytes_remaining) + read_buffer += second_read_buffer + self._position += len(second_read_buffer) + + return read_buffer + + def readable(self): + return True + + def readinto(self, b): + raise UnsupportedOperation + + def seek(self, offset, whence=0): + if whence is SEEK_SET: + start_index = 0 + elif whence is SEEK_CUR: + start_index = self._position + elif whence is SEEK_END: + start_index = self._length + offset = -offset + else: + raise ValueError("Invalid argument for the 'whence' parameter.") + + pos = start_index + offset + + if pos > self._length: + pos = self._length + elif pos < 0: + pos = 0 + + # check if buffer is still valid + # if not, drop buffer + if pos < self._current_buffer_start or pos >= self._current_buffer_start + self._current_buffer_size: + self._buffer.close() + self._buffer = BytesIO() + else: # if yes seek to correct position + delta = pos - self._current_buffer_start + self._buffer.seek(delta, SEEK_SET) + + self._position = pos + return pos + + def seekable(self): + return True + + def tell(self): + return self._position + + def write(self): + raise UnsupportedOperation + + def writelines(self): + raise UnsupportedOperation + + def writeable(self): + return False + + +class IterStreamer(object): + """ + File-like streaming iterator. + """ + + def __init__(self, generator, encoding="UTF-8"): + self.generator = generator + self.iterator = iter(generator) + self.leftover = b"" + self.encoding = encoding + + def __len__(self): + return self.generator.__len__() + + def __iter__(self): + return self.iterator + + def seekable(self): + return False + + def __next__(self): + return next(self.iterator) + + next = __next__ # Python 2 compatibility. + + def tell(self, *args, **kwargs): + raise UnsupportedOperation("Data generator does not support tell.") + + def seek(self, *args, **kwargs): + raise UnsupportedOperation("Data generator is unseekable.") + + def read(self, size): + data = self.leftover + count = len(self.leftover) + try: + while count < size: + chunk = self.__next__() + if isinstance(chunk, six.text_type): + chunk = chunk.encode(self.encoding) + data += chunk + count += len(chunk) + except StopIteration: + pass + + if count > size: + self.leftover = data[size:] + + return data[:size] diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/uploads_async.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/uploads_async.py new file mode 100644 index 00000000000..5ed192b3659 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared/uploads_async.py @@ -0,0 +1,395 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +# pylint: disable=no-self-use + +import asyncio +from asyncio import Lock +from itertools import islice +import threading + +from math import ceil + +import six + +from . import encode_base64, url_quote +from .request_handlers import get_length +from .response_handlers import return_response_headers +from .encryption import get_blob_encryptor_and_padder +from .uploads import SubStream, IterStreamer # pylint: disable=unused-import + + +_LARGE_BLOB_UPLOAD_MAX_READ_BUFFER_SIZE = 4 * 1024 * 1024 +_ERROR_VALUE_SHOULD_BE_SEEKABLE_STREAM = '{0} should be a seekable file-like/io.IOBase type stream object.' + + +async def _parallel_uploads(uploader, pending, running): + range_ids = [] + while True: + # Wait for some download to finish before adding a new one + done, running = await asyncio.wait(running, return_when=asyncio.FIRST_COMPLETED) + range_ids.extend([chunk.result() for chunk in done]) + try: + for _ in range(0, len(done)): + next_chunk = next(pending) + running.add(asyncio.ensure_future(uploader(next_chunk))) + except StopIteration: + break + + # Wait for the remaining uploads to finish + if running: + done, _running = await asyncio.wait(running) + range_ids.extend([chunk.result() for chunk in done]) + return range_ids + + +async def upload_data_chunks( + service=None, + uploader_class=None, + total_size=None, + chunk_size=None, + max_concurrency=None, + stream=None, + encryption_options=None, + **kwargs): + + if encryption_options: + encryptor, padder = get_blob_encryptor_and_padder( + encryption_options.get('cek'), + encryption_options.get('vector'), + uploader_class is not PageBlobChunkUploader) + kwargs['encryptor'] = encryptor + kwargs['padder'] = padder + + parallel = max_concurrency > 1 + if parallel and 'modified_access_conditions' in kwargs: + # Access conditions do not work with parallelism + kwargs['modified_access_conditions'] = None + + uploader = uploader_class( + service=service, + total_size=total_size, + chunk_size=chunk_size, + stream=stream, + parallel=parallel, + **kwargs) + + if parallel: + upload_tasks = uploader.get_chunk_streams() + running_futures = [ + asyncio.ensure_future(uploader.process_chunk(u)) + for u in islice(upload_tasks, 0, max_concurrency) + ] + range_ids = await _parallel_uploads(uploader.process_chunk, upload_tasks, running_futures) + else: + range_ids = [] + for chunk in uploader.get_chunk_streams(): + range_ids.append(await uploader.process_chunk(chunk)) + + if any(range_ids): + return [r[1] for r in sorted(range_ids, key=lambda r: r[0])] + return uploader.response_headers + + +async def upload_substream_blocks( + service=None, + uploader_class=None, + total_size=None, + chunk_size=None, + max_concurrency=None, + stream=None, + **kwargs): + parallel = max_concurrency > 1 + if parallel and 'modified_access_conditions' in kwargs: + # Access conditions do not work with parallelism + kwargs['modified_access_conditions'] = None + uploader = uploader_class( + service=service, + total_size=total_size, + chunk_size=chunk_size, + stream=stream, + parallel=parallel, + **kwargs) + + if parallel: + upload_tasks = uploader.get_substream_blocks() + running_futures = [ + asyncio.ensure_future(uploader.process_substream_block(u)) + for u in islice(upload_tasks, 0, max_concurrency) + ] + range_ids = await _parallel_uploads(uploader.process_substream_block, upload_tasks, running_futures) + else: + range_ids = [] + for block in uploader.get_substream_blocks(): + range_ids.append(await uploader.process_substream_block(block)) + if any(range_ids): + return sorted(range_ids) + return + + +class _ChunkUploader(object): # pylint: disable=too-many-instance-attributes + + def __init__(self, service, total_size, chunk_size, stream, parallel, encryptor=None, padder=None, **kwargs): + self.service = service + self.total_size = total_size + self.chunk_size = chunk_size + self.stream = stream + self.parallel = parallel + + # Stream management + self.stream_start = stream.tell() if parallel else None + self.stream_lock = threading.Lock() if parallel else None + + # Progress feedback + self.progress_total = 0 + self.progress_lock = Lock() if parallel else None + + # Encryption + self.encryptor = encryptor + self.padder = padder + self.response_headers = None + self.etag = None + self.last_modified = None + self.request_options = kwargs + + def get_chunk_streams(self): + index = 0 + while True: + data = b'' + read_size = self.chunk_size + + # Buffer until we either reach the end of the stream or get a whole chunk. + while True: + if self.total_size: + read_size = min(self.chunk_size - len(data), self.total_size - (index + len(data))) + temp = self.stream.read(read_size) + if not isinstance(temp, six.binary_type): + raise TypeError('Blob data should be of type bytes.') + data += temp or b"" + + # We have read an empty string and so are at the end + # of the buffer or we have read a full chunk. + if temp == b'' or len(data) == self.chunk_size: + break + + if len(data) == self.chunk_size: + if self.padder: + data = self.padder.update(data) + if self.encryptor: + data = self.encryptor.update(data) + yield index, data + else: + if self.padder: + data = self.padder.update(data) + self.padder.finalize() + if self.encryptor: + data = self.encryptor.update(data) + self.encryptor.finalize() + if data: + yield index, data + break + index += len(data) + + async def process_chunk(self, chunk_data): + chunk_bytes = chunk_data[1] + chunk_offset = chunk_data[0] + return await self._upload_chunk_with_progress(chunk_offset, chunk_bytes) + + async def _update_progress(self, length): + if self.progress_lock is not None: + async with self.progress_lock: + self.progress_total += length + else: + self.progress_total += length + + async def _upload_chunk(self, chunk_offset, chunk_data): + raise NotImplementedError("Must be implemented by child class.") + + async def _upload_chunk_with_progress(self, chunk_offset, chunk_data): + range_id = await self._upload_chunk(chunk_offset, chunk_data) + await self._update_progress(len(chunk_data)) + return range_id + + def get_substream_blocks(self): + assert self.chunk_size is not None + lock = self.stream_lock + blob_length = self.total_size + + if blob_length is None: + blob_length = get_length(self.stream) + if blob_length is None: + raise ValueError("Unable to determine content length of upload data.") + + blocks = int(ceil(blob_length / (self.chunk_size * 1.0))) + last_block_size = self.chunk_size if blob_length % self.chunk_size == 0 else blob_length % self.chunk_size + + for i in range(blocks): + index = i * self.chunk_size + length = last_block_size if i == blocks - 1 else self.chunk_size + yield index, SubStream(self.stream, index, length, lock) + + async def process_substream_block(self, block_data): + return await self._upload_substream_block_with_progress(block_data[0], block_data[1]) + + async def _upload_substream_block(self, index, block_stream): + raise NotImplementedError("Must be implemented by child class.") + + async def _upload_substream_block_with_progress(self, index, block_stream): + range_id = await self._upload_substream_block(index, block_stream) + await self._update_progress(len(block_stream)) + return range_id + + def set_response_properties(self, resp): + self.etag = resp.etag + self.last_modified = resp.last_modified + + +class BlockBlobChunkUploader(_ChunkUploader): + + def __init__(self, *args, **kwargs): + kwargs.pop('modified_access_conditions', None) + super(BlockBlobChunkUploader, self).__init__(*args, **kwargs) + self.current_length = None + + async def _upload_chunk(self, chunk_offset, chunk_data): + # TODO: This is incorrect, but works with recording. + index = '{0:032d}'.format(chunk_offset) + block_id = encode_base64(url_quote(encode_base64(index))) + await self.service.stage_block( + block_id, + len(chunk_data), + body=chunk_data, + data_stream_total=self.total_size, + upload_stream_current=self.progress_total, + **self.request_options) + return index, block_id + + async def _upload_substream_block(self, index, block_stream): + try: + block_id = 'BlockId{}'.format("%05d" % (index/self.chunk_size)) + await self.service.stage_block( + block_id, + len(block_stream), + block_stream, + data_stream_total=self.total_size, + upload_stream_current=self.progress_total, + **self.request_options) + finally: + block_stream.close() + return block_id + + +class PageBlobChunkUploader(_ChunkUploader): # pylint: disable=abstract-method + + 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 not in [0, b'\x00']: + return False + return True + + async def _upload_chunk(self, chunk_offset, chunk_data): + # avoid uploading the empty pages + if not self._is_chunk_empty(chunk_data): + chunk_end = chunk_offset + len(chunk_data) - 1 + content_range = 'bytes={0}-{1}'.format(chunk_offset, chunk_end) + computed_md5 = None + self.response_headers = await self.service.upload_pages( + body=chunk_data, + content_length=len(chunk_data), + transactional_content_md5=computed_md5, + range=content_range, + cls=return_response_headers, + data_stream_total=self.total_size, + upload_stream_current=self.progress_total, + **self.request_options) + + if not self.parallel and self.request_options.get('modified_access_conditions'): + self.request_options['modified_access_conditions'].if_match = self.response_headers['etag'] + + async def _upload_substream_block(self, index, block_stream): + pass + + +class AppendBlobChunkUploader(_ChunkUploader): # pylint: disable=abstract-method + + def __init__(self, *args, **kwargs): + super(AppendBlobChunkUploader, self).__init__(*args, **kwargs) + self.current_length = None + + async def _upload_chunk(self, chunk_offset, chunk_data): + if self.current_length is None: + self.response_headers = await self.service.append_block( + body=chunk_data, + content_length=len(chunk_data), + cls=return_response_headers, + data_stream_total=self.total_size, + upload_stream_current=self.progress_total, + **self.request_options) + self.current_length = int(self.response_headers['blob_append_offset']) + else: + self.request_options['append_position_access_conditions'].append_position = \ + self.current_length + chunk_offset + self.response_headers = await self.service.append_block( + body=chunk_data, + content_length=len(chunk_data), + cls=return_response_headers, + data_stream_total=self.total_size, + upload_stream_current=self.progress_total, + **self.request_options) + + async def _upload_substream_block(self, index, block_stream): + pass + + +class DataLakeFileChunkUploader(_ChunkUploader): # pylint: disable=abstract-method + + async def _upload_chunk(self, chunk_offset, chunk_data): + self.response_headers = await self.service.append_data( + body=chunk_data, + position=chunk_offset, + content_length=len(chunk_data), + cls=return_response_headers, + data_stream_total=self.total_size, + upload_stream_current=self.progress_total, + **self.request_options + ) + + if not self.parallel and self.request_options.get('modified_access_conditions'): + self.request_options['modified_access_conditions'].if_match = self.response_headers['etag'] + + async def _upload_substream_block(self, index, block_stream): + try: + await self.service.append_data( + body=block_stream, + position=index, + content_length=len(block_stream), + cls=return_response_headers, + data_stream_total=self.total_size, + upload_stream_current=self.progress_total, + **self.request_options + ) + finally: + block_stream.close() + + +class FileChunkUploader(_ChunkUploader): # pylint: disable=abstract-method + + async def _upload_chunk(self, chunk_offset, chunk_data): + length = len(chunk_data) + chunk_end = chunk_offset + length - 1 + response = await self.service.upload_range( + chunk_data, + chunk_offset, + length, + data_stream_total=self.total_size, + upload_stream_current=self.progress_total, + **self.request_options + ) + range_id = 'bytes={0}-{1}'.format(chunk_offset, chunk_end) + return range_id, response + + # TODO: Implement this method. + async def _upload_substream_block(self, index, block_stream): + pass diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared_access_signature.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared_access_signature.py new file mode 100644 index 00000000000..4c23b05277f --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_shared_access_signature.py @@ -0,0 +1,391 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING + +from ...blob import generate_account_sas as generate_blob_account_sas +from ...blob import generate_container_sas, generate_blob_sas +if TYPE_CHECKING: + import datetime + from ._models import AccountSasPermissions, FileSystemSasPermissions, FileSasPermissions, ResourceTypes, \ + UserDelegationKey + + +def generate_account_sas( + account_name, # type: str + account_key, # type: str + resource_types, # type: Union[ResourceTypes, str] + permission, # type: Union[AccountSasPermissions, str] + expiry, # type: Optional[Union[datetime, str]] + **kwargs # type: Any + ): # type: (...) -> str + """Generates a shared access signature for the DataLake service. + + Use the returned signature as the credential parameter of any DataLakeServiceClient, + FileSystemClient, DataLakeDirectoryClient or DataLakeFileClient. + + :param str account_name: + The storage account name used to generate the shared access signature. + :param str account_key: + The access key to generate the shared access signature. + :param resource_types: + Specifies the resource types that are accessible with the account SAS. + :type resource_types: str or ~azure.storage.filedatalake.ResourceTypes + :param permission: + The permissions associated with the shared access signature. The + user is restricted to operations allowed by the permissions. + Required unless an id is given referencing a stored access policy + which contains this field. This field must be omitted if it has been + specified in an associated stored access policy. + :type permission: str or ~azure.storage.filedatalake.AccountSasPermissions + :param expiry: + The time at which the shared access signature becomes invalid. + Required unless an id is given referencing a stored access policy + which contains this field. This field must be omitted if it has + been specified in an associated stored access policy. Azure will always + convert values to UTC. If a date is passed in without timezone info, it + is assumed to be UTC. + :type expiry: ~datetime.datetime or str + :keyword start: + The time at which the shared access signature becomes valid. If + omitted, start time for this call is assumed to be the time when the + storage service receives the request. Azure will always convert values + to UTC. If a date is passed in without timezone info, it is assumed to + be UTC. + :paramtype start: ~datetime.datetime or str + :keyword str ip: + Specifies an IP address or a range of IP addresses from which to accept requests. + If the IP address from which the request originates does not match the IP address + or address range specified on the SAS token, the request is not authenticated. + For example, specifying ip=168.1.5.65 or ip=168.1.5.60-168.1.5.70 on the SAS + restricts the request to those IP addresses. + :keyword str protocol: + Specifies the protocol permitted for a request made. The default value is https. + :return: A Shared Access Signature (sas) token. + :rtype: str + """ + return generate_blob_account_sas( + account_name=account_name, + account_key=account_key, + resource_types=resource_types, + permission=permission, + expiry=expiry, + **kwargs + ) + + +def generate_file_system_sas( + account_name, # type: str + file_system_name, # type: str + credential, # type: Union[str, UserDelegationKey] + permission=None, # type: Optional[Union[FileSystemSasPermissions, str]] + expiry=None, # type: Optional[Union[datetime, str]] + **kwargs # type: Any + ): + # type: (...) -> str + """Generates a shared access signature for a file system. + + Use the returned signature with the credential parameter of any DataLakeServiceClient, + FileSystemClient, DataLakeDirectoryClient or DataLakeFileClient. + + :param str account_name: + The storage account name used to generate the shared access signature. + :param str file_system_name: + The name of the file system. + :param str credential: + Credential could be either account key or user delegation key. + If use account key is used as credential, then the credential type should be a str. + Instead of an account key, the user could also pass in a user delegation key. + A user delegation key can be obtained from the service by authenticating with an AAD identity; + this can be accomplished + by calling :func:`~azure.storage.filedatalake.DataLakeServiceClient.get_user_delegation_key`. + When present, the SAS is signed with the user delegation key instead. + :type credential: str or ~azure.storage.filedatalake.UserDelegationKey + :param permission: + The permissions associated with the shared access signature. The + user is restricted to operations allowed by the permissions. + Permissions must be ordered read, write, delete, list. + Required unless an id is given referencing a stored access policy + which contains this field. This field must be omitted if it has been + specified in an associated stored access policy. + :type permission: str or ~azure.storage.filedatalake.FileSystemSasPermissions + :param expiry: + The time at which the shared access signature becomes invalid. + Required unless an id is given referencing a stored access policy + which contains this field. This field must be omitted if it has + been specified in an associated stored access policy. Azure will always + convert values to UTC. If a date is passed in without timezone info, it + is assumed to be UTC. + :type expiry: datetime or str + :keyword start: + The time at which the shared access signature becomes valid. If + omitted, start time for this call is assumed to be the time when the + storage service receives the request. Azure will always convert values + to UTC. If a date is passed in without timezone info, it is assumed to + be UTC. + :paramtype start: datetime or str + :keyword str ip: + Specifies an IP address or a range of IP addresses from which to accept requests. + If the IP address from which the request originates does not match the IP address + or address range specified on the SAS token, the request is not authenticated. + For example, specifying ip=168.1.5.65 or ip=168.1.5.60-168.1.5.70 on the SAS + restricts the request to those IP addresses. + :keyword str protocol: + Specifies the protocol permitted for a request made. The default value is https. + :keyword str cache_control: + Response header value for Cache-Control when resource is accessed + using this shared access signature. + :keyword str content_disposition: + Response header value for Content-Disposition when resource is accessed + using this shared access signature. + :keyword str content_encoding: + Response header value for Content-Encoding when resource is accessed + using this shared access signature. + :keyword str content_language: + Response header value for Content-Language when resource is accessed + using this shared access signature. + :keyword str content_type: + Response header value for Content-Type when resource is accessed + using this shared access signature. + :keyword str preauthorized_agent_object_id: + The AAD object ID of a user assumed to be authorized by the owner of the user delegation key to perform + the action granted by the SAS token. The service will validate the SAS token and ensure that the owner of the + user delegation key has the required permissions before granting access but no additional permission check for + the agent object id will be performed. + :keyword str agent_object_id: + The AAD object ID of a user assumed to be unauthorized by the owner of the user delegation key to + perform the action granted by the SAS token. The service will validate the SAS token and ensure that the owner + of the user delegation key has the required permissions before granting access and the service will perform an + additional POSIX ACL check to determine if this user is authorized to perform the requested operation. + :keyword str correlation_id: + The correlation id to correlate the storage audit logs with the audit logs used by the principal + generating and distributing the SAS. + :return: A Shared Access Signature (sas) token. + :rtype: str + """ + return generate_container_sas( + account_name=account_name, + container_name=file_system_name, + account_key=credential if isinstance(credential, str) else None, + user_delegation_key=credential if not isinstance(credential, str) else None, + permission=permission, + expiry=expiry, + **kwargs) + + +def generate_directory_sas( + account_name, # type: str + file_system_name, # type: str + directory_name, # type: str + credential, # type: Union[str, UserDelegationKey] + permission=None, # type: Optional[Union[FileSasPermissions, str]] + expiry=None, # type: Optional[Union[datetime, str]] + **kwargs # type: Any + ): + # type: (...) -> str + """Generates a shared access signature for a directory. + + Use the returned signature with the credential parameter of any DataLakeServiceClient, + FileSystemClient, DataLakeDirectoryClient or DataLakeFileClient. + + :param str account_name: + The storage account name used to generate the shared access signature. + :param str file_system_name: + The name of the file system. + :param str directory_name: + The name of the directory. + :param str credential: + Credential could be either account key or user delegation key. + If use account key is used as credential, then the credential type should be a str. + Instead of an account key, the user could also pass in a user delegation key. + A user delegation key can be obtained from the service by authenticating with an AAD identity; + this can be accomplished + by calling :func:`~azure.storage.filedatalake.DataLakeServiceClient.get_user_delegation_key`. + When present, the SAS is signed with the user delegation key instead. + :type credential: str or ~azure.storage.filedatalake.UserDelegationKey + :param permission: + The permissions associated with the shared access signature. The + user is restricted to operations allowed by the permissions. + Permissions must be ordered read, write, delete, list. + Required unless an id is given referencing a stored access policy + which contains this field. This field must be omitted if it has been + specified in an associated stored access policy. + :type permission: str or ~azure.storage.filedatalake.FileSasPermissions + :param expiry: + The time at which the shared access signature becomes invalid. + Required unless an id is given referencing a stored access policy + which contains this field. This field must be omitted if it has + been specified in an associated stored access policy. Azure will always + convert values to UTC. If a date is passed in without timezone info, it + is assumed to be UTC. + :type expiry: ~datetime.datetime or str + :keyword start: + The time at which the shared access signature becomes valid. If + omitted, start time for this call is assumed to be the time when the + storage service receives the request. Azure will always convert values + to UTC. If a date is passed in without timezone info, it is assumed to + be UTC. + :paramtype start: ~datetime.datetime or str + :keyword str ip: + Specifies an IP address or a range of IP addresses from which to accept requests. + If the IP address from which the request originates does not match the IP address + or address range specified on the SAS token, the request is not authenticated. + For example, specifying ip=168.1.5.65 or ip=168.1.5.60-168.1.5.70 on the SAS + restricts the request to those IP addresses. + :keyword str protocol: + Specifies the protocol permitted for a request made. The default value is https. + :keyword str cache_control: + Response header value for Cache-Control when resource is accessed + using this shared access signature. + :keyword str content_disposition: + Response header value for Content-Disposition when resource is accessed + using this shared access signature. + :keyword str content_encoding: + Response header value for Content-Encoding when resource is accessed + using this shared access signature. + :keyword str content_language: + Response header value for Content-Language when resource is accessed + using this shared access signature. + :keyword str content_type: + Response header value for Content-Type when resource is accessed + using this shared access signature. + :keyword str preauthorized_agent_object_id: + The AAD object ID of a user assumed to be authorized by the owner of the user delegation key to perform + the action granted by the SAS token. The service will validate the SAS token and ensure that the owner of the + user delegation key has the required permissions before granting access but no additional permission check for + the agent object id will be performed. + :keyword str agent_object_id: + The AAD object ID of a user assumed to be unauthorized by the owner of the user delegation key to + perform the action granted by the SAS token. The service will validate the SAS token and ensure that the owner + of the user delegation key has the required permissions before granting access and the service will perform an + additional POSIX ACL check to determine if this user is authorized to perform the requested operation. + :keyword str correlation_id: + The correlation id to correlate the storage audit logs with the audit logs used by the principal + generating and distributing the SAS. + :return: A Shared Access Signature (sas) token. + :rtype: str + """ + depth = len(directory_name.strip("/").split("/")) + return generate_blob_sas( + account_name=account_name, + container_name=file_system_name, + blob_name=directory_name, + account_key=credential if isinstance(credential, str) else None, + user_delegation_key=credential if not isinstance(credential, str) else None, + permission=permission, + expiry=expiry, + sdd=depth, + is_directory=True, + **kwargs) + + +def generate_file_sas( + account_name, # type: str + file_system_name, # type: str + directory_name, # type: str + file_name, # type: str + credential, # type: Union[str, UserDelegationKey] + permission=None, # type: Optional[Union[FileSasPermissions, str]] + expiry=None, # type: Optional[Union[datetime, str]] + **kwargs # type: Any + ): + # type: (...) -> str + """Generates a shared access signature for a file. + + Use the returned signature with the credential parameter of any BDataLakeServiceClient, + FileSystemClient, DataLakeDirectoryClient or DataLakeFileClient. + + :param str account_name: + The storage account name used to generate the shared access signature. + :param str file_system_name: + The name of the file system. + :param str directory_name: + The name of the directory. + :param str file_name: + The name of the file. + :param str credential: + Credential could be either account key or user delegation key. + If use account key is used as credential, then the credential type should be a str. + Instead of an account key, the user could also pass in a user delegation key. + A user delegation key can be obtained from the service by authenticating with an AAD identity; + this can be accomplished + by calling :func:`~azure.storage.filedatalake.DataLakeServiceClient.get_user_delegation_key`. + When present, the SAS is signed with the user delegation key instead. + :type credential: str or ~azure.storage.filedatalake.UserDelegationKey + :param permission: + The permissions associated with the shared access signature. The + user is restricted to operations allowed by the permissions. + Permissions must be ordered read, write, delete, list. + Required unless an id is given referencing a stored access policy + which contains this field. This field must be omitted if it has been + specified in an associated stored access policy. + :type permission: str or ~azure.storage.filedatalake.FileSasPermissions + :param expiry: + The time at which the shared access signature becomes invalid. + Required unless an id is given referencing a stored access policy + which contains this field. This field must be omitted if it has + been specified in an associated stored access policy. Azure will always + convert values to UTC. If a date is passed in without timezone info, it + is assumed to be UTC. + :type expiry: ~datetime.datetime or str + :keyword start: + The time at which the shared access signature becomes valid. If + omitted, start time for this call is assumed to be the time when the + storage service receives the request. Azure will always convert values + to UTC. If a date is passed in without timezone info, it is assumed to + be UTC. + :paramtype start: ~datetime.datetime or str + :keyword str ip: + Specifies an IP address or a range of IP addresses from which to accept requests. + If the IP address from which the request originates does not match the IP address + or address range specified on the SAS token, the request is not authenticated. + For example, specifying ip=168.1.5.65 or ip=168.1.5.60-168.1.5.70 on the SAS + restricts the request to those IP addresses. + :keyword str protocol: + Specifies the protocol permitted for a request made. The default value is https. + :keyword str cache_control: + Response header value for Cache-Control when resource is accessed + using this shared access signature. + :keyword str content_disposition: + Response header value for Content-Disposition when resource is accessed + using this shared access signature. + :keyword str content_encoding: + Response header value for Content-Encoding when resource is accessed + using this shared access signature. + :keyword str content_language: + Response header value for Content-Language when resource is accessed + using this shared access signature. + :keyword str content_type: + Response header value for Content-Type when resource is accessed + using this shared access signature. + :keyword str preauthorized_agent_object_id: + The AAD object ID of a user assumed to be authorized by the owner of the user delegation key to perform + the action granted by the SAS token. The service will validate the SAS token and ensure that the owner of the + user delegation key has the required permissions before granting access but no additional permission check for + the agent object id will be performed. + :keyword str agent_object_id: + The AAD object ID of a user assumed to be unauthorized by the owner of the user delegation key to + perform the action granted by the SAS token. The service will validate the SAS token and ensure that the owner + of the user delegation key has the required permissions before granting access and the service will perform an + additional POSIX ACL check to determine if this user is authorized to perform the requested operation. + :keyword str correlation_id: + The correlation id to correlate the storage audit logs with the audit logs used by the principal + generating and distributing the SAS. This can only be used when to generate sas with delegation key. + :return: A Shared Access Signature (sas) token. + :rtype: str + """ + if directory_name: + path = directory_name.rstrip('/') + "/" + file_name + else: + path = file_name + return generate_blob_sas( + account_name=account_name, + container_name=file_system_name, + blob_name=path, + account_key=credential if isinstance(credential, str) else None, + user_delegation_key=credential if not isinstance(credential, str) else None, + permission=permission, + expiry=expiry, + **kwargs) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_upload_helper.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_upload_helper.py new file mode 100644 index 00000000000..6d88c32a444 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_upload_helper.py @@ -0,0 +1,104 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +# pylint: disable=no-self-use + +from ._deserialize import ( + process_storage_error) +from ._shared.response_handlers import return_response_headers +from ._shared.uploads import ( + upload_data_chunks, + DataLakeFileChunkUploader, upload_substream_blocks) +from azure.core.exceptions import HttpResponseError + + +def _any_conditions(modified_access_conditions=None, **kwargs): # pylint: disable=unused-argument + return any([ + modified_access_conditions.if_modified_since, + modified_access_conditions.if_unmodified_since, + modified_access_conditions.if_none_match, + modified_access_conditions.if_match + ]) + + +def upload_datalake_file( # pylint: disable=unused-argument + client=None, + stream=None, + length=None, + overwrite=None, + validate_content=None, + max_concurrency=None, + file_settings=None, + **kwargs): + try: + if length == 0: + return {} + properties = kwargs.pop('properties', None) + umask = kwargs.pop('umask', None) + permissions = kwargs.pop('permissions', None) + path_http_headers = kwargs.pop('path_http_headers', None) + modified_access_conditions = kwargs.pop('modified_access_conditions', None) + chunk_size = kwargs.pop('chunk_size', 100 * 1024 * 1024) + + if not overwrite: + # if customers didn't specify access conditions, they cannot flush data to existing file + if not _any_conditions(modified_access_conditions): + modified_access_conditions.if_none_match = '*' + if properties or umask or permissions: + raise ValueError("metadata, umask and permissions can be set only when overwrite is enabled") + + if overwrite: + response = client.create( + resource='file', + path_http_headers=path_http_headers, + properties=properties, + modified_access_conditions=modified_access_conditions, + umask=umask, + permissions=permissions, + cls=return_response_headers, + **kwargs) + + # this modified_access_conditions will be applied to flush_data to make sure + # no other flush between create and the current flush + modified_access_conditions.if_match = response['etag'] + modified_access_conditions.if_none_match = None + modified_access_conditions.if_modified_since = None + modified_access_conditions.if_unmodified_since = None + + use_original_upload_path = file_settings.use_byte_buffer or \ + validate_content or chunk_size < file_settings.min_large_chunk_upload_threshold or \ + hasattr(stream, 'seekable') and not stream.seekable() or \ + not hasattr(stream, 'seek') or not hasattr(stream, 'tell') + + if use_original_upload_path: + upload_data_chunks( + service=client, + uploader_class=DataLakeFileChunkUploader, + total_size=length, + chunk_size=chunk_size, + stream=stream, + max_concurrency=max_concurrency, + validate_content=validate_content, + **kwargs) + else: + upload_substream_blocks( + service=client, + uploader_class=DataLakeFileChunkUploader, + total_size=length, + chunk_size=chunk_size, + max_concurrency=max_concurrency, + stream=stream, + validate_content=validate_content, + **kwargs + ) + + return client.flush_data(position=length, + path_http_headers=path_http_headers, + modified_access_conditions=modified_access_conditions, + close=True, + cls=return_response_headers, + **kwargs) + except HttpResponseError as error: + process_storage_error(error) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_version.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_version.py new file mode 100644 index 00000000000..85a0126d5fa --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/_version.py @@ -0,0 +1,7 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- + +VERSION = "12.4.0b1" diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/aio/__init__.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/aio/__init__.py new file mode 100644 index 00000000000..c24dde8d347 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/aio/__init__.py @@ -0,0 +1,24 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- + +from ._download_async import StorageStreamDownloader +from .._shared.policies_async import ExponentialRetry, LinearRetry +from ._data_lake_file_client_async import DataLakeFileClient +from ._data_lake_directory_client_async import DataLakeDirectoryClient +from ._file_system_client_async import FileSystemClient +from ._data_lake_service_client_async import DataLakeServiceClient +from ._data_lake_lease_async import DataLakeLeaseClient + +__all__ = [ + 'DataLakeServiceClient', + 'FileSystemClient', + 'DataLakeDirectoryClient', + 'DataLakeFileClient', + 'DataLakeLeaseClient', + 'ExponentialRetry', + 'LinearRetry', + 'StorageStreamDownloader' +] diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/aio/_data_lake_directory_client_async.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/aio/_data_lake_directory_client_async.py new file mode 100644 index 00000000000..7d0adefd268 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/aio/_data_lake_directory_client_async.py @@ -0,0 +1,551 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +# pylint: disable=invalid-overridden-method +from typing import Any + +try: + from urllib.parse import quote, unquote +except ImportError: + from urllib2 import quote, unquote # type: ignore +from azure.core.pipeline import AsyncPipeline +from ._data_lake_file_client_async import DataLakeFileClient +from .._data_lake_directory_client import DataLakeDirectoryClient as DataLakeDirectoryClientBase +from .._models import DirectoryProperties, FileProperties +from .._deserialize import deserialize_dir_properties +from ._path_client_async import PathClient +from .._shared.base_client_async import AsyncTransportWrapper + + +class DataLakeDirectoryClient(PathClient, DataLakeDirectoryClientBase): + """A client to interact with the DataLake directory, even if the directory may not yet exist. + + For operations relating to a specific subdirectory or file under the directory, a directory client or file client + can be retrieved using the :func:`~get_sub_directory_client` or :func:`~get_file_client` functions. + + :ivar str url: + The full endpoint URL to the file system, including SAS token if used. + :ivar str primary_endpoint: + The full primary endpoint URL. + :ivar str primary_hostname: + The hostname of the primary endpoint. + :param str account_url: + The URI to the storage account. + :param file_system_name: + The file system for the directory or files. + :type file_system_name: str + :param directory_name: + The whole path of the directory. eg. {directory under file system}/{directory to interact with} + :type directory_name: str + :param credential: + The credentials with which to authenticate. This is optional if the + account URL already has a SAS token. The value can be a SAS token string, + an instance of a AzureSasCredential from azure.core.credentials, an account + shared access key, or an instance of a TokenCredentials class from azure.identity. + If the resource URI already contains a SAS token, this will be ignored in favor of an explicit credential + - except in the case of AzureSasCredential, where the conflicting SAS tokens will raise a ValueError. + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_instantiate_client_async.py + :start-after: [START instantiate_directory_client_from_conn_str] + :end-before: [END instantiate_directory_client_from_conn_str] + :language: python + :dedent: 4 + :caption: Creating the DataLakeServiceClient from connection string. + """ + + def __init__( + self, account_url, # type: str + file_system_name, # type: str + directory_name, # type: str + credential=None, # type: Optional[Any] + **kwargs # type: Any + ): + # type: (...) -> None + super(DataLakeDirectoryClient, self).__init__(account_url, file_system_name, directory_name, # pylint: disable=specify-parameter-names-in-call + credential=credential, **kwargs) + + async def create_directory(self, metadata=None, # type: Optional[Dict[str, str]] + **kwargs): + # type: (...) -> Dict[str, Union[str, datetime]] + """ + Create a new directory. + + :param metadata: + Name-value pairs associated with the directory as metadata. + :type metadata: dict(str, str) + :keyword ~azure.storage.filedatalake.ContentSettings content_settings: + ContentSettings object used to set path properties. + :keyword lease: + Required if the directory has an active lease. Value can be a DataLakeLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.filedatalake.aio.DataLakeLeaseClient or str + :keyword str umask: + Optional and only valid if Hierarchical Namespace is enabled for the account. + When creating a file or directory and the parent folder does not have a default ACL, + the umask restricts the permissions of the file or directory to be created. + The resulting permission is given by p & ^u, where p is the permission and u is the umask. + For example, if p is 0777 and u is 0057, then the resulting permission is 0720. + The default permission is 0777 for a directory and 0666 for a file. The default umask is 0027. + The umask must be specified in 4-digit octal notation (e.g. 0766). + :keyword str permissions: + Optional and only valid if Hierarchical Namespace + is enabled for the account. Sets POSIX access permissions for the file + owner, the file owning group, and others. Each class may be granted + read, write, or execute permission. The sticky bit is also supported. + Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are + supported. + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: response dict (Etag and last modified). + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_directory_async.py + :start-after: [START create_directory] + :end-before: [END create_directory] + :language: python + :dedent: 8 + :caption: Create directory. + """ + return await self._create('directory', metadata=metadata, **kwargs) + + async def exists(self, **kwargs): + # type: (**Any) -> bool + """ + Returns True if a directory exists and returns False otherwise. + + :kwarg int timeout: + The timeout parameter is expressed in seconds. + :returns: boolean + """ + return await self._exists(**kwargs) + + async def delete_directory(self, **kwargs): + # type: (...) -> None + """ + Marks the specified directory for deletion. + + :keyword lease: + Required if the directory has an active lease. Value can be a LeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.filedatalake.aio.DataLakeLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: None + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_directory_async.py + :start-after: [START delete_directory] + :end-before: [END delete_directory] + :language: python + :dedent: 4 + :caption: Delete directory. + """ + return await self._delete(recursive=True, **kwargs) + + async def get_directory_properties(self, **kwargs): + # type: (**Any) -> DirectoryProperties + """Returns all user-defined metadata, standard HTTP properties, and + system properties for the directory. It does not return the content of the directory. + + :keyword lease: + Required if the directory or file has an active lease. Value can be a DataLakeLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.filedatalake.aio.DataLakeLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :rtype: DirectoryProperties + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_directory_async.py + :start-after: [START get_directory_properties] + :end-before: [END get_directory_properties] + :language: python + :dedent: 4 + :caption: Getting the properties for a file/directory. + """ + return await self._get_path_properties(cls=deserialize_dir_properties, **kwargs) # pylint: disable=protected-access + + async def rename_directory(self, new_name, # type: str + **kwargs): + # type: (**Any) -> DataLakeDirectoryClient + """ + Rename the source directory. + + :param str new_name: + the new directory name the user want to rename to. + The value must have the following format: "{filesystem}/{directory}/{subdirectory}". + :keyword source_lease: + A lease ID for the source path. If specified, + the source path must have an active lease and the leaase ID must + match. + :paramtype source_lease: ~azure.storage.filedatalake.aio.DataLakeLeaseClient or str + :keyword lease: + Required if the file/directory has an active lease. Value can be a LeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.filedatalake.aio.DataLakeLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword ~datetime.datetime source_if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime source_if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str source_etag: + The source ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions source_match_condition: + The source match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: DataLakeDirectoryClient + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_directory_async.py + :start-after: [START rename_directory] + :end-before: [END rename_directory] + :language: python + :dedent: 4 + :caption: Rename the source directory. + """ + new_name = new_name.strip('/') + new_file_system = new_name.split('/')[0] + new_path_and_token = new_name[len(new_file_system):].strip('/').split('?') + new_path = new_path_and_token[0] + try: + new_dir_sas = new_path_and_token[1] or self._query_str.strip('?') + except IndexError: + if not self._raw_credential and new_file_system != self.file_system_name: + raise ValueError("please provide the sas token for the new directory") + if not self._raw_credential and new_file_system == self.file_system_name: + new_dir_sas = self._query_str.strip('?') + + new_directory_client = DataLakeDirectoryClient( + "{}://{}".format(self.scheme, self.primary_hostname), new_file_system, directory_name=new_path, + credential=self._raw_credential or new_dir_sas, + _hosts=self._hosts, _configuration=self._config, _pipeline=self._pipeline, + _location_mode=self._location_mode, require_encryption=self.require_encryption, + key_encryption_key=self.key_encryption_key, + key_resolver_function=self.key_resolver_function) + await new_directory_client._rename_path( # pylint: disable=protected-access + '/{}/{}{}'.format(quote(unquote(self.file_system_name)), + quote(unquote(self.path_name)), + self._query_str), + **kwargs) + return new_directory_client + + async def create_sub_directory(self, sub_directory, # type: Union[DirectoryProperties, str] + metadata=None, # type: Optional[Dict[str, str]] + **kwargs): + # type: (...) -> DataLakeDirectoryClient + """ + Create a subdirectory and return the subdirectory client to be interacted with. + + :param sub_directory: + The directory with which to interact. This can either be the name of the directory, + or an instance of DirectoryProperties. + :type sub_directory: str or ~azure.storage.filedatalake.DirectoryProperties + :param metadata: + Name-value pairs associated with the file as metadata. + :type metadata: dict(str, str) + :keyword ~azure.storage.filedatalake.ContentSettings content_settings: + ContentSettings object used to set path properties. + :keyword lease: + Required if the file has an active lease. Value can be a DataLakeLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.filedatalake.aio.DataLakeLeaseClient or str + :keyword str umask: + Optional and only valid if Hierarchical Namespace is enabled for the account. + When creating a file or directory and the parent folder does not have a default ACL, + the umask restricts the permissions of the file or directory to be created. + The resulting permission is given by p & ^u, where p is the permission and u is the umask. + For example, if p is 0777 and u is 0057, then the resulting permission is 0720. + The default permission is 0777 for a directory and 0666 for a file. The default umask is 0027. + The umask must be specified in 4-digit octal notation (e.g. 0766). + :keyword str permissions: + Optional and only valid if Hierarchical Namespace + is enabled for the account. Sets POSIX access permissions for the file + owner, the file owning group, and others. Each class may be granted + read, write, or execute permission. The sticky bit is also supported. + Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are + supported. + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: DataLakeDirectoryClient for the subdirectory. + """ + subdir = self.get_sub_directory_client(sub_directory) + await subdir.create_directory(metadata=metadata, **kwargs) + return subdir + + async def delete_sub_directory(self, sub_directory, # type: Union[DirectoryProperties, str] + **kwargs): + # type: (...) -> DataLakeDirectoryClient + """ + Marks the specified subdirectory for deletion. + + :param sub_directory: + The directory with which to interact. This can either be the name of the directory, + or an instance of DirectoryProperties. + :type sub_directory: str or ~azure.storage.filedatalake.DirectoryProperties + :keyword lease: + Required if the directory has an active lease. Value can be a LeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.filedatalake.aio.DataLakeLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: DataLakeDirectoryClient for the subdirectory + """ + subdir = self.get_sub_directory_client(sub_directory) + await subdir.delete_directory(**kwargs) + return subdir + + async def create_file(self, file, # type: Union[FileProperties, str] + **kwargs): + # type: (...) -> DataLakeFileClient + """ + Create a new file and return the file client to be interacted with. + + :param file: + The file with which to interact. This can either be the name of the file, + or an instance of FileProperties. + :type file: str or ~azure.storage.filedatalake.FileProperties + :keyword ~azure.storage.filedatalake.ContentSettings content_settings: + ContentSettings object used to set path properties. + :keyword metadata: + Name-value pairs associated with the file as metadata. + :type metadata: dict(str, str) + :keyword lease: + Required if the file has an active lease. Value can be a DataLakeLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.filedatalake.aio.DataLakeLeaseClient or str + :keyword str umask: + Optional and only valid if Hierarchical Namespace is enabled for the account. + When creating a file or directory and the parent folder does not have a default ACL, + the umask restricts the permissions of the file or directory to be created. + The resulting permission is given by p & ^u, where p is the permission and u is the umask. + For example, if p is 0777 and u is 0057, then the resulting permission is 0720. + The default permission is 0777 for a directory and 0666 for a file. The default umask is 0027. + The umask must be specified in 4-digit octal notation (e.g. 0766). + :keyword str permissions: + Optional and only valid if Hierarchical Namespace + is enabled for the account. Sets POSIX access permissions for the file + owner, the file owning group, and others. Each class may be granted + read, write, or execute permission. The sticky bit is also supported. + Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are + supported. + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: DataLakeFileClient + """ + file_client = self.get_file_client(file) + await file_client.create_file(**kwargs) + return file_client + + def get_file_client(self, file # type: Union[FileProperties, str] + ): + # type: (...) -> DataLakeFileClient + """Get a client to interact with the specified file. + + The file need not already exist. + + :param file: + The file with which to interact. This can either be the name of the file, + or an instance of FileProperties. eg. directory/subdirectory/file + :type file: str or ~azure.storage.filedatalake.FileProperties + :returns: A DataLakeFileClient. + :rtype: ~azure.storage.filedatalake.aio.DataLakeFileClient + + .. admonition:: Example: + + .. literalinclude:: ../samples/test_datalake_service_samples.py + :start-after: [START bsc_get_file_client] + :end-before: [END bsc_get_file_client] + :language: python + :dedent: 12 + :caption: Getting the file client to interact with a specific file. + """ + try: + file_path = file.get('name') + except AttributeError: + file_path = self.path_name + '/' + str(file) + + _pipeline = AsyncPipeline( + transport=AsyncTransportWrapper(self._pipeline._transport), # pylint: disable = protected-access + policies=self._pipeline._impl_policies # pylint: disable = protected-access + ) + return DataLakeFileClient( + self.url, self.file_system_name, file_path=file_path, credential=self._raw_credential, + _hosts=self._hosts, _configuration=self._config, _pipeline=self._pipeline, + _location_mode=self._location_mode, require_encryption=self.require_encryption, + key_encryption_key=self.key_encryption_key, + key_resolver_function=self.key_resolver_function) + + def get_sub_directory_client(self, sub_directory # type: Union[DirectoryProperties, str] + ): + # type: (...) -> DataLakeDirectoryClient + """Get a client to interact with the specified subdirectory of the current directory. + + The sub subdirectory need not already exist. + + :param sub_directory: + The directory with which to interact. This can either be the name of the directory, + or an instance of DirectoryProperties. + :type sub_directory: str or ~azure.storage.filedatalake.DirectoryProperties + :returns: A DataLakeDirectoryClient. + :rtype: ~azure.storage.filedatalake.aio.DataLakeDirectoryClient + + .. admonition:: Example: + + .. literalinclude:: ../samples/test_datalake_service_samples.py + :start-after: [START bsc_get_directory_client] + :end-before: [END bsc_get_directory_client] + :language: python + :dedent: 12 + :caption: Getting the directory client to interact with a specific directory. + """ + try: + subdir_path = sub_directory.get('name') + except AttributeError: + subdir_path = self.path_name + '/' + str(sub_directory) + + _pipeline = AsyncPipeline( + transport=AsyncTransportWrapper(self._pipeline._transport), # pylint: disable = protected-access + policies=self._pipeline._impl_policies # pylint: disable = protected-access + ) + return DataLakeDirectoryClient( + self.url, self.file_system_name, directory_name=subdir_path, credential=self._raw_credential, + _hosts=self._hosts, _configuration=self._config, _pipeline=self._pipeline, + _location_mode=self._location_mode, require_encryption=self.require_encryption, + key_encryption_key=self.key_encryption_key, + key_resolver_function=self.key_resolver_function) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/aio/_data_lake_file_client_async.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/aio/_data_lake_file_client_async.py new file mode 100644 index 00000000000..df25ecf51f9 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/aio/_data_lake_file_client_async.py @@ -0,0 +1,574 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +# pylint: disable=invalid-overridden-method +from typing import Any +try: + from urllib.parse import quote, unquote +except ImportError: + from urllib2 import quote, unquote # type: ignore + +from azure.core.exceptions import HttpResponseError +from ._download_async import StorageStreamDownloader +from ._path_client_async import PathClient +from .._data_lake_file_client import DataLakeFileClient as DataLakeFileClientBase +from .._serialize import convert_datetime_to_rfc1123 +from .._deserialize import process_storage_error, deserialize_file_properties +from .._models import FileProperties +from ..aio._upload_helper import upload_datalake_file + + +class DataLakeFileClient(PathClient, DataLakeFileClientBase): + """A client to interact with the DataLake file, even if the file may not yet exist. + + :ivar str url: + The full endpoint URL to the file system, including SAS token if used. + :ivar str primary_endpoint: + The full primary endpoint URL. + :ivar str primary_hostname: + The hostname of the primary endpoint. + :param str account_url: + The URI to the storage account. + :param file_system_name: + The file system for the directory or files. + :type file_system_name: str + :param file_path: + The whole file path, so that to interact with a specific file. + eg. "{directory}/{subdirectory}/{file}" + :type file_path: str + :param credential: + The credentials with which to authenticate. This is optional if the + account URL already has a SAS token. The value can be a SAS token string, + an instance of a AzureSasCredential from azure.core.credentials, an account + shared access key, or an instance of a TokenCredentials class from azure.identity. + If the resource URI already contains a SAS token, this will be ignored in favor of an explicit credential + - except in the case of AzureSasCredential, where the conflicting SAS tokens will raise a ValueError. + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_instantiate_client_async.py + :start-after: [START instantiate_file_client_from_conn_str] + :end-before: [END instantiate_file_client_from_conn_str] + :language: python + :dedent: 4 + :caption: Creating the DataLakeServiceClient from connection string. + """ + + def __init__( + self, account_url, # type: str + file_system_name, # type: str + file_path, # type: str + credential=None, # type: Optional[Any] + **kwargs # type: Any + ): + # type: (...) -> None + super(DataLakeFileClient, self).__init__(account_url, file_system_name, path_name=file_path, + credential=credential, **kwargs) + + async def create_file(self, content_settings=None, # type: Optional[ContentSettings] + metadata=None, # type: Optional[Dict[str, str]] + **kwargs): + # type: (...) -> Dict[str, Union[str, datetime]] + """ + Create a new file. + + :param ~azure.storage.filedatalake.ContentSettings content_settings: + ContentSettings object used to set path properties. + :param metadata: + Name-value pairs associated with the file as metadata. + :type metadata: dict(str, str) + :keyword lease: + Required if the file has an active lease. Value can be a DataLakeLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.filedatalake.aio.DataLakeLeaseClient or str + :keyword str umask: + Optional and only valid if Hierarchical Namespace is enabled for the account. + When creating a file or directory and the parent folder does not have a default ACL, + the umask restricts the permissions of the file or directory to be created. + The resulting permission is given by p & ^u, where p is the permission and u is the umask. + For example, if p is 0777 and u is 0057, then the resulting permission is 0720. + The default permission is 0777 for a directory and 0666 for a file. The default umask is 0027. + The umask must be specified in 4-digit octal notation (e.g. 0766). + :keyword str permissions: + Optional and only valid if Hierarchical Namespace + is enabled for the account. Sets POSIX access permissions for the file + owner, the file owning group, and others. Each class may be granted + read, write, or execute permission. The sticky bit is also supported. + Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are + supported. + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: response dict (Etag and last modified). + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_upload_download_async.py + :start-after: [START create_file] + :end-before: [END create_file] + :language: python + :dedent: 4 + :caption: Create file. + """ + return await self._create('file', content_settings=content_settings, metadata=metadata, **kwargs) + + async def exists(self, **kwargs): + # type: (**Any) -> bool + """ + Returns True if a file exists and returns False otherwise. + + :kwarg int timeout: + The timeout parameter is expressed in seconds. + :returns: boolean + """ + return await self._exists(**kwargs) + + async def delete_file(self, **kwargs): + # type: (...) -> None + """ + Marks the specified file for deletion. + + :keyword lease: + Required if the file has an active lease. Value can be a LeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.filedatalake.aio.DataLakeLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: None + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_upload_download_async.py + :start-after: [START delete_file] + :end-before: [END delete_file] + :language: python + :dedent: 4 + :caption: Delete file. + """ + return await self._delete(**kwargs) + + async def get_file_properties(self, **kwargs): + # type: (**Any) -> FileProperties + """Returns all user-defined metadata, standard HTTP properties, and + system properties for the file. It does not return the content of the file. + + :keyword lease: + Required if the directory or file has an active lease. Value can be a DataLakeLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.filedatalake.aio.DataLakeLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :rtype: FileProperties + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_upload_download_async.py + :start-after: [START get_file_properties] + :end-before: [END get_file_properties] + :language: python + :dedent: 4 + :caption: Getting the properties for a file. + """ + return await self._get_path_properties(cls=deserialize_file_properties, **kwargs) # pylint: disable=protected-access + + async def set_file_expiry(self, expiry_options, # type: str + expires_on=None, # type: Optional[Union[datetime, int]] + **kwargs): + # type: (str, Optional[Union[datetime, int]], **Any) -> None + """Sets the time a file will expire and be deleted. + + :param str expiry_options: + Required. Indicates mode of the expiry time. + Possible values include: 'NeverExpire', 'RelativeToCreation', 'RelativeToNow', 'Absolute' + :param datetime or int expires_on: + The time to set the file to expiry. + When expiry_options is RelativeTo*, expires_on should be an int in milliseconds + :keyword int timeout: + The timeout parameter is expressed in seconds. + :rtype: None + """ + try: + expires_on = convert_datetime_to_rfc1123(expires_on) + except AttributeError: + expires_on = str(expires_on) + await self._datalake_client_for_blob_operation.path.set_expiry(expiry_options, expires_on=expires_on, + **kwargs) # pylint: disable=protected-access + + async def upload_data(self, data, # type: Union[AnyStr, Iterable[AnyStr], IO[AnyStr]] + length=None, # type: Optional[int] + overwrite=False, # type: Optional[bool] + **kwargs): + # type: (...) -> Dict[str, Any] + """ + Upload data to a file. + + :param data: Content to be uploaded to file + :param int length: Size of the data in bytes. + :param bool overwrite: to overwrite an existing file or not. + :keyword ~azure.storage.filedatalake.ContentSettings content_settings: + ContentSettings object used to set path properties. + :keyword metadata: + Name-value pairs associated with the blob as metadata. + :paramtype metadata: dict(str, str) + :keyword ~azure.storage.filedatalake.DataLakeLeaseClient or str lease: + Required if the blob has an active lease. Value can be a DataLakeLeaseClient object + or the lease ID as a string. + :keyword str umask: Optional and only valid if Hierarchical Namespace is enabled for the account. + When creating a file or directory and the parent folder does not have a default ACL, + the umask restricts the permissions of the file or directory to be created. + The resulting permission is given by p & ^u, where p is the permission and u is the umask. + For example, if p is 0777 and u is 0057, then the resulting permission is 0720. + The default permission is 0777 for a directory and 0666 for a file. The default umask is 0027. + The umask must be specified in 4-digit octal notation (e.g. 0766). + :keyword str permissions: Optional and only valid if Hierarchical Namespace + is enabled for the account. Sets POSIX access permissions for the file + owner, the file owning group, and others. Each class may be granted + read, write, or execute permission. The sticky bit is also supported. + Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are + supported. + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword bool validate_content: + If true, calculates an MD5 hash for each chunk of the file. The storage + service checks the hash of the content that has arrived with the hash + that was sent. This is primarily valuable for detecting bitflips on + the wire if using http instead of https, as https (the default), will + already validate. Note that this MD5 hash is not stored with the + blob. Also note that if enabled, the memory-efficient upload algorithm + will not be used because computing the MD5 hash requires buffering + entire blocks, and doing so defeats the purpose of the memory-efficient algorithm. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :keyword int chunk_size: + The maximum chunk size for uploading a file in chunks. + Defaults to 100*1024*1024, or 100MB. + :return: response dict (Etag and last modified). + """ + options = self._upload_options( + data, + length=length, + overwrite=overwrite, + **kwargs) + return await upload_datalake_file(**options) + + async def append_data(self, data, # type: Union[AnyStr, Iterable[AnyStr], IO[AnyStr]] + offset, # type: int + length=None, # type: Optional[int] + **kwargs): + # type: (...) -> Dict[str, Union[str, datetime, int]] + """Append data to the file. + + :param data: Content to be appended to file + :param offset: start position of the data to be appended to. + :param length: Size of the data in bytes. + :keyword bool validate_content: + If true, calculates an MD5 hash of the block content. The storage + service checks the hash of the content that has arrived + with the hash that was sent. This is primarily valuable for detecting + bitflips on the wire if using http instead of https as https (the default) + will already validate. Note that this MD5 hash is not stored with the + file. + :keyword lease: + Required if the file has an active lease. Value can be a LeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.filedatalake.aio.DataLakeLeaseClient or str + :return: dict of the response header + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_upload_download_async.py + :start-after: [START append_data] + :end-before: [END append_data] + :language: python + :dedent: 4 + :caption: Append data to the file. + """ + options = self._append_data_options( + data, + offset, + length=length, + **kwargs) + try: + return await self._client.path.append_data(**options) + except HttpResponseError as error: + process_storage_error(error) + + async def flush_data(self, offset, # type: int + retain_uncommitted_data=False, # type: Optional[bool] + **kwargs): + # type: (...) -> Dict[str, Union[str, datetime]] + """ Commit the previous appended data. + + :param offset: offset is equal to the length of the file after commit the + previous appended data. + :param bool retain_uncommitted_data: Valid only for flush operations. If + "true", uncommitted data is retained after the flush operation + completes; otherwise, the uncommitted data is deleted after the flush + operation. The default is false. Data at offsets less than the + specified position are written to the file when flush succeeds, but + this optional parameter allows data after the flush position to be + retained for a future flush operation. + :keyword ~azure.storage.filedatalake.ContentSettings content_settings: + ContentSettings object used to set path properties. + :keyword bool close: Azure Storage Events allow applications to receive + notifications when files change. When Azure Storage Events are + enabled, a file changed event is raised. This event has a property + indicating whether this is the final change to distinguish the + difference between an intermediate flush to a file stream and the + final close of a file stream. The close query parameter is valid only + when the action is "flush" and change notifications are enabled. If + the value of close is "true" and the flush operation completes + successfully, the service raises a file change notification with a + property indicating that this is the final update (the file stream has + been closed). If "false" a change notification is raised indicating + the file has changed. The default is false. This query parameter is + set to true by the Hadoop ABFS driver to indicate that the file stream + has been closed." + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :return: response header in dict + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_file_system_async.py + :start-after: [START upload_file_to_file_system] + :end-before: [END upload_file_to_file_system] + :language: python + :dedent: 12 + :caption: Commit the previous appended data. + """ + options = self._flush_data_options( + offset, + retain_uncommitted_data=retain_uncommitted_data, **kwargs) + try: + return await self._client.path.flush_data(**options) + except HttpResponseError as error: + process_storage_error(error) + + async def download_file(self, offset=None, length=None, **kwargs): + # type: (Optional[int], Optional[int], Any) -> StorageStreamDownloader + """Downloads a file to the StorageStreamDownloader. The readall() method must + be used to read all the content, or readinto() must be used to download the file into + a stream. Using chunks() returns an async iterator which allows the user to iterate over the content in chunks. + + :param int offset: + Start of byte range to use for downloading a section of the file. + Must be set if length is provided. + :param int length: + Number of bytes to read from the stream. This is optional, but + should be supplied for optimal performance. + :keyword lease: + If specified, download only succeeds if the file's lease is active + and matches this ID. Required if the file has an active lease. + :paramtype lease: ~azure.storage.filedatalake.aio.DataLakeLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int max_concurrency: + The number of parallel connections with which to download. + :keyword int timeout: + The timeout parameter is expressed in seconds. This method may make + multiple calls to the Azure service and the timeout will apply to + each call individually. + :returns: A streaming object (StorageStreamDownloader) + :rtype: ~azure.storage.filedatalake.aio.StorageStreamDownloader + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_upload_download_async.py + :start-after: [START read_file] + :end-before: [END read_file] + :language: python + :dedent: 4 + :caption: Return the downloaded data. + """ + downloader = await self._blob_client.download_blob(offset=offset, length=length, **kwargs) + return StorageStreamDownloader(downloader) + + async def rename_file(self, new_name, **kwargs): + # type: (str, **Any) -> DataLakeFileClient + """ + Rename the source file. + + :param str new_name: the new file name the user want to rename to. + The value must have the following format: "{filesystem}/{directory}/{subdirectory}/{file}". + :keyword ~azure.storage.filedatalake.ContentSettings content_settings: + ContentSettings object used to set path properties. + :keyword source_lease: A lease ID for the source path. If specified, + the source path must have an active lease and the leaase ID must + match. + :paramtype source_lease: ~azure.storage.filedatalake.aio.DataLakeLeaseClient or str + :keyword lease: + Required if the file/directory has an active lease. Value can be a LeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.filedatalake.aio.DataLakeLeaseClient or str + :type permissions: str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword ~datetime.datetime source_if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime source_if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str source_etag: + The source ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions source_match_condition: + The source match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: the renamed file client + :rtype: DataLakeFileClient + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_upload_download_async.py + :start-after: [START rename_file] + :end-before: [END rename_file] + :language: python + :dedent: 4 + :caption: Rename the source file. + """ + new_name = new_name.strip('/') + new_file_system = new_name.split('/')[0] + new_path_and_token = new_name[len(new_file_system):].strip('/').split('?') + new_path = new_path_and_token[0] + try: + new_file_sas = new_path_and_token[1] or self._query_str.strip('?') + except IndexError: + if not self._raw_credential and new_file_system != self.file_system_name: + raise ValueError("please provide the sas token for the new file") + if not self._raw_credential and new_file_system == self.file_system_name: + new_file_sas = self._query_str.strip('?') + + new_file_client = DataLakeFileClient( + "{}://{}".format(self.scheme, self.primary_hostname), new_file_system, file_path=new_path, + credential=self._raw_credential or new_file_sas, + _hosts=self._hosts, _configuration=self._config, _pipeline=self._pipeline, + _location_mode=self._location_mode, require_encryption=self.require_encryption, + key_encryption_key=self.key_encryption_key, + key_resolver_function=self.key_resolver_function) + await new_file_client._rename_path( # pylint: disable=protected-access + '/{}/{}{}'.format(quote(unquote(self.file_system_name)), + quote(unquote(self.path_name)), + self._query_str), + **kwargs) + return new_file_client diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/aio/_data_lake_lease_async.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/aio/_data_lake_lease_async.py new file mode 100644 index 00000000000..cb8b79889a0 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/aio/_data_lake_lease_async.py @@ -0,0 +1,243 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +# pylint: disable=invalid-overridden-method + +from typing import ( # pylint: disable=unused-import + Union, Optional, Any, + TypeVar, TYPE_CHECKING +) +from ....blob.aio import BlobLeaseClient +from .._data_lake_lease import DataLakeLeaseClient as DataLakeLeaseClientBase + + +if TYPE_CHECKING: + FileSystemClient = TypeVar("FileSystemClient") + DataLakeDirectoryClient = TypeVar("DataLakeDirectoryClient") + DataLakeFileClient = TypeVar("DataLakeFileClient") + + +class DataLakeLeaseClient(DataLakeLeaseClientBase): + """Creates a new DataLakeLeaseClient. + + This client provides lease operations on a FileSystemClient, DataLakeDirectoryClient or DataLakeFileClient. + + :ivar str id: + The ID of the lease currently being maintained. This will be `None` if no + lease has yet been acquired. + :ivar str etag: + The ETag of the lease currently being maintained. This will be `None` if no + lease has yet been acquired or modified. + :ivar ~datetime.datetime last_modified: + The last modified timestamp of the lease currently being maintained. + This will be `None` if no lease has yet been acquired or modified. + + :param client: + The client of the file system, directory, or file to lease. + :type client: ~azure.storage.filedatalake.aio.FileSystemClient or + ~azure.storage.filedatalake.aio.DataLakeDirectoryClient or ~azure.storage.filedatalake.aio.DataLakeFileClient + :param str lease_id: + A string representing the lease ID of an existing lease. This value does not + need to be specified in order to acquire a new lease, or break one. + """ + def __init__( + self, client, lease_id=None + ): # pylint: disable=missing-client-constructor-parameter-credential,missing-client-constructor-parameter-kwargs + # type: (Union[FileSystemClient, DataLakeDirectoryClient, DataLakeFileClient], Optional[str]) -> None + super(DataLakeLeaseClient, self).__init__(client, lease_id) + + if hasattr(client, '_blob_client'): + _client = client._blob_client # type: ignore # pylint: disable=protected-access + elif hasattr(client, '_container_client'): + _client = client._container_client # type: ignore # pylint: disable=protected-access + else: + raise TypeError("Lease must use any of FileSystemClient DataLakeDirectoryClient, or DataLakeFileClient.") + + self._blob_lease_client = BlobLeaseClient(_client, lease_id=lease_id) + + def __enter__(self): + raise TypeError("Async lease must use 'async with'.") + + def __exit__(self, *args): + self.release() + + async def __aenter__(self): + return self + + async def __aexit__(self, *args): + await self.release() + + async def acquire(self, lease_duration=-1, **kwargs): + # type: (int, Optional[int], **Any) -> None + """Requests a new lease. + + If the file/file system does not have an active lease, the DataLake service creates a + lease on the file/file system and returns a new lease ID. + + :param int lease_duration: + Specifies the duration of the lease, in seconds, or negative one + (-1) for a lease that never expires. A non-infinite lease can be + between 15 and 60 seconds. A lease duration cannot be changed + using renew or change. Default is -1 (infinite lease). + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :rtype: None + """ + await self._blob_lease_client.acquire(lease_duration=lease_duration, **kwargs) + self._update_lease_client_attributes() + + async def renew(self, **kwargs): + # type: (Any) -> None + """Renews the lease. + + The lease can be renewed if the lease ID specified in the + lease client matches that associated with the file system or file. Note that + the lease may be renewed even if it has expired as long as the file system + or file has not been leased again since the expiration of that lease. When you + renew a lease, the lease duration clock resets. + + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: None + """ + await self._blob_lease_client.renew(**kwargs) + self._update_lease_client_attributes() + + async def release(self, **kwargs): + # type: (Any) -> None + """Release the lease. + + The lease may be released if the client lease id specified matches + that associated with the file system or file. Releasing the lease allows another client + to immediately acquire the lease for the file system or file as soon as the release is complete. + + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: None + """ + await self._blob_lease_client.release(**kwargs) + self._update_lease_client_attributes() + + async def change(self, proposed_lease_id, **kwargs): + # type: (str, Any) -> None + """Change the lease ID of an active lease. + + :param str proposed_lease_id: + Proposed lease ID, in a GUID string format. The DataLake service returns 400 + (Invalid request) if the proposed lease ID is not in the correct format. + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: None + """ + await self._blob_lease_client.change(proposed_lease_id=proposed_lease_id, **kwargs) + self._update_lease_client_attributes() + + async def break_lease(self, lease_break_period=None, **kwargs): + # type: (Optional[int], Any) -> int + """Break the lease, if the file system or file has an active lease. + + Once a lease is broken, it cannot be renewed. Any authorized request can break the lease; + the request is not required to specify a matching lease ID. When a lease + is broken, the lease break period is allowed to elapse, during which time + no lease operation except break and release can be performed on the file system or file. + When a lease is successfully broken, the response indicates the interval + in seconds until a new lease can be acquired. + + :param int lease_break_period: + This is the proposed duration of seconds that the lease + should continue before it is broken, between 0 and 60 seconds. This + break period is only used if it is shorter than the time remaining + on the lease. If longer, the time remaining on the lease is used. + A new lease will not be available before the break period has + expired, but the lease may be held for longer than the break + period. If this header does not appear with a break + operation, a fixed-duration lease breaks after the remaining lease + period elapses, and an infinite lease breaks immediately. + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: Approximate time remaining in the lease period, in seconds. + :rtype: int + """ + await self._blob_lease_client.break_lease(lease_break_period=lease_break_period, **kwargs) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/aio/_data_lake_service_client_async.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/aio/_data_lake_service_client_async.py new file mode 100644 index 00000000000..db417b1d4eb --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/aio/_data_lake_service_client_async.py @@ -0,0 +1,505 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +# pylint: disable=invalid-overridden-method +from typing import Optional, Any, Dict + +from azure.core.paging import ItemPaged +from azure.core.pipeline import AsyncPipeline + +from ....blob.aio import BlobServiceClient +from .._generated.aio import AzureDataLakeStorageRESTAPI +from .._deserialize import get_datalake_service_properties +from .._shared.base_client_async import AsyncTransportWrapper, AsyncStorageAccountHostsMixin +from ._file_system_client_async import FileSystemClient +from .._data_lake_service_client import DataLakeServiceClient as DataLakeServiceClientBase +from .._shared.policies_async import ExponentialRetry +from ._data_lake_directory_client_async import DataLakeDirectoryClient +from ._data_lake_file_client_async import DataLakeFileClient +from ._models import FileSystemPropertiesPaged +from .._models import UserDelegationKey, LocationMode + + +class DataLakeServiceClient(AsyncStorageAccountHostsMixin, DataLakeServiceClientBase): + """A client to interact with the DataLake Service at the account level. + + This client provides operations to retrieve and configure the account properties + as well as list, create and delete file systems within the account. + For operations relating to a specific file system, directory or file, clients for those entities + can also be retrieved using the `get_client` functions. + + :ivar str url: + The full endpoint URL to the datalake service endpoint. + :ivar str primary_endpoint: + The full primary endpoint URL. + :ivar str primary_hostname: + The hostname of the primary endpoint. + :param str account_url: + The URL to the DataLake storage account. Any other entities included + in the URL path (e.g. file system or file) will be discarded. This URL can be optionally + authenticated with a SAS token. + :param credential: + The credentials with which to authenticate. This is optional if the + account URL already has a SAS token. The value can be a SAS token string, + an instance of a AzureSasCredential from azure.core.credentials, an account + shared access key, or an instance of a TokenCredentials class from azure.identity. + If the resource URI already contains a SAS token, this will be ignored in favor of an explicit credential + - except in the case of AzureSasCredential, where the conflicting SAS tokens will raise a ValueError. + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_service_async.py + :start-after: [START create_datalake_service_client] + :end-before: [END create_datalake_service_client] + :language: python + :dedent: 4 + :caption: Creating the DataLakeServiceClient from connection string. + + .. literalinclude:: ../samples/datalake_samples_service_async.py + :start-after: [START create_datalake_service_client_oauth] + :end-before: [END create_datalake_service_client_oauth] + :language: python + :dedent: 4 + :caption: Creating the DataLakeServiceClient with Azure Identity credentials. + """ + + def __init__( + self, account_url, # type: str + credential=None, # type: Optional[Any] + **kwargs # type: Any + ): + # type: (...) -> None + kwargs['retry_policy'] = kwargs.get('retry_policy') or ExponentialRetry(**kwargs) + super(DataLakeServiceClient, self).__init__( + account_url, + credential=credential, + **kwargs + ) + self._blob_service_client = BlobServiceClient(self._blob_account_url, credential, **kwargs) + self._blob_service_client._hosts[LocationMode.SECONDARY] = "" #pylint: disable=protected-access + self._client = AzureDataLakeStorageRESTAPI(self.url, pipeline=self._pipeline) + self._loop = kwargs.get('loop', None) + + async def __aenter__(self): + await self._blob_service_client.__aenter__() + return self + + async def __aexit__(self, *args): + await self._blob_service_client.close() + + async def close(self): + # type: () -> None + """ This method is to close the sockets opened by the client. + It need not be used when using with a context manager. + """ + await self._blob_service_client.close() + + async def get_user_delegation_key(self, key_start_time, # type: datetime + key_expiry_time, # type: datetime + **kwargs # type: Any + ): + # type: (...) -> UserDelegationKey + """ + Obtain a user delegation key for the purpose of signing SAS tokens. + A token credential must be present on the service object for this request to succeed. + + :param ~datetime.datetime key_start_time: + A DateTime value. Indicates when the key becomes valid. + :param ~datetime.datetime key_expiry_time: + A DateTime value. Indicates when the key stops being valid. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: The user delegation key. + :rtype: ~azure.storage.filedatalake.UserDelegationKey + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_service_async.py + :start-after: [START get_user_delegation_key] + :end-before: [END get_user_delegation_key] + :language: python + :dedent: 8 + :caption: Get user delegation key from datalake service client. + """ + delegation_key = await self._blob_service_client.get_user_delegation_key( + key_start_time=key_start_time, + key_expiry_time=key_expiry_time, + **kwargs) # pylint: disable=protected-access + return UserDelegationKey._from_generated(delegation_key) # pylint: disable=protected-access + + def list_file_systems(self, name_starts_with=None, # type: Optional[str] + include_metadata=None, # type: Optional[bool] + **kwargs): + # type: (...) -> ItemPaged[FileSystemProperties] + """Returns a generator to list the file systems under the specified account. + + The generator will lazily follow the continuation tokens returned by + the service and stop when all file systems have been returned. + + :param str name_starts_with: + Filters the results to return only file systems whose names + begin with the specified prefix. + :param bool include_metadata: + Specifies that file system metadata be returned in the response. + The default value is `False`. + :keyword int results_per_page: + The maximum number of file system names to retrieve per API + call. If the request does not specify the server will return up to 5,000 items per page. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :keyword bool include_deleted: + Specifies that deleted file systems to be returned in the response. This is for file system restore enabled + account. The default value is `False`. + .. versionadded:: 12.3.0 + :returns: An iterable (auto-paging) of FileSystemProperties. + :rtype: ~azure.core.paging.ItemPaged[~azure.storage.filedatalake.FileSystemProperties] + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_service_async.py + :start-after: [START list_file_systems] + :end-before: [END list_file_systems] + :language: python + :dedent: 8 + :caption: Listing the file systems in the datalake service. + """ + item_paged = self._blob_service_client.list_containers(name_starts_with=name_starts_with, + include_metadata=include_metadata, + **kwargs) # pylint: disable=protected-access + item_paged._page_iterator_class = FileSystemPropertiesPaged # pylint: disable=protected-access + return item_paged + + async def create_file_system(self, file_system, # type: Union[FileSystemProperties, str] + metadata=None, # type: Optional[Dict[str, str]] + public_access=None, # type: Optional[PublicAccess] + **kwargs): + # type: (...) -> FileSystemClient + """Creates a new file system under the specified account. + + If the file system with the same name already exists, a ResourceExistsError will + be raised. This method returns a client with which to interact with the newly + created file system. + + :param str file_system: + The name of the file system to create. + :param metadata: + A dict with name-value pairs to associate with the + file system as metadata. Example: `{'Category':'test'}` + :type metadata: dict(str, str) + :param public_access: + Possible values include: file system, file. + :type public_access: ~azure.storage.filedatalake.PublicAccess + :keyword int timeout: + The timeout parameter is expressed in seconds. + :rtype: ~azure.storage.filedatalake.FileSystemClient + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_service_async.py + :start-after: [START create_file_system_from_service_client] + :end-before: [END create_file_system_from_service_client] + :language: python + :dedent: 8 + :caption: Creating a file system in the datalake service. + """ + file_system_client = self.get_file_system_client(file_system) + await file_system_client.create_file_system(metadata=metadata, public_access=public_access, **kwargs) + return file_system_client + + async def _rename_file_system(self, name, new_name, **kwargs): + # type: (str, str, **Any) -> FileSystemClient + """Renames a filesystem. + + Operation is successful only if the source filesystem exists. + + :param str name: + The name of the filesystem to rename. + :param str new_name: + The new filesystem name the user wants to rename to. + :keyword lease: + Specify this to perform only if the lease ID given + matches the active lease ID of the source filesystem. + :paramtype lease: ~azure.storage.filedatalake.DataLakeLeaseClient or str + :keyword int timeout: + The timeout parameter is expressed in seconds. + :rtype: ~azure.storage.filedatalake.FileSystemClient + """ + await self._blob_service_client._rename_container(name, new_name, **kwargs) # pylint: disable=protected-access + renamed_file_system = self.get_file_system_client(new_name) + return renamed_file_system + + async def undelete_file_system(self, name, deleted_version, **kwargs): + # type: (str, str, **Any) -> FileSystemClient + """Restores soft-deleted filesystem. + + Operation will only be successful if used within the specified number of days + set in the delete retention policy. + + .. versionadded:: 12.3.0 + This operation was introduced in API version '2019-12-12'. + + :param str name: + Specifies the name of the deleted filesystem to restore. + :param str deleted_version: + Specifies the version of the deleted filesystem to restore. + :keyword str new_name: + The new name for the deleted filesystem to be restored to. + If not specified "name" will be used as the restored filesystem name. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :rtype: ~azure.storage.filedatalake.FileSystemClient + """ + new_name = kwargs.pop('new_name', None) + await self._blob_service_client.undelete_container(name, deleted_version, new_name=new_name, **kwargs) # pylint: disable=protected-access + file_system = self.get_file_system_client(new_name or name) + return file_system + + async def delete_file_system(self, file_system, # type: Union[FileSystemProperties, str] + **kwargs): + # type: (...) -> FileSystemClient + """Marks the specified file system for deletion. + + The file system and any files contained within it are later deleted during garbage collection. + If the file system is not found, a ResourceNotFoundError will be raised. + + :param file_system: + The file system to delete. This can either be the name of the file system, + or an instance of FileSystemProperties. + :type file_system: str or ~azure.storage.filedatalake.FileSystemProperties + :keyword lease: + If specified, delete_file_system only succeeds if the + file system's lease is active and matches this ID. + Required if the file system has an active lease. + :paramtype lease: ~azure.storage.filedatalake.aio.DataLakeLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :rtype: None + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_service_async.py + :start-after: [START delete_file_system_from_service_client] + :end-before: [END delete_file_system_from_service_client] + :language: python + :dedent: 8 + :caption: Deleting a file system in the datalake service. + """ + file_system_client = self.get_file_system_client(file_system) + await file_system_client.delete_file_system(**kwargs) + return file_system_client + + def get_file_system_client(self, file_system # type: Union[FileSystemProperties, str] + ): + # type: (...) -> FileSystemClient + """Get a client to interact with the specified file system. + + The file system need not already exist. + + :param file_system: + The file system. This can either be the name of the file system, + or an instance of FileSystemProperties. + :type file_system: str or ~azure.storage.filedatalake.FileSystemProperties + :returns: A FileSystemClient. + :rtype: ~azure.storage.filedatalake.aio.FileSystemClient + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_file_system_async.py + :start-after: [START create_file_system_client_from_service] + :end-before: [END create_file_system_client_from_service] + :language: python + :dedent: 8 + :caption: Getting the file system client to interact with a specific file system. + """ + try: + file_system_name = file_system.name + except AttributeError: + file_system_name = file_system + + _pipeline = AsyncPipeline( + transport=AsyncTransportWrapper(self._pipeline._transport), # pylint: disable = protected-access + policies=self._pipeline._impl_policies # pylint: disable = protected-access + ) + return FileSystemClient(self.url, file_system_name, credential=self._raw_credential, + _configuration=self._config, + _pipeline=self._pipeline, _hosts=self._hosts, + require_encryption=self.require_encryption, key_encryption_key=self.key_encryption_key, + key_resolver_function=self.key_resolver_function) + + def get_directory_client(self, file_system, # type: Union[FileSystemProperties, str] + directory # type: Union[DirectoryProperties, str] + ): + # type: (...) -> DataLakeDirectoryClient + """Get a client to interact with the specified directory. + + The directory need not already exist. + + :param file_system: + The file system that the directory is in. This can either be the name of the file system, + or an instance of FileSystemProperties. + :type file_system: str or ~azure.storage.filedatalake.FileSystemProperties + :param directory: + The directory with which to interact. This can either be the name of the directory, + or an instance of DirectoryProperties. + :type directory: str or ~azure.storage.filedatalake.DirectoryProperties + :returns: A DataLakeDirectoryClient. + :rtype: ~azure.storage.filedatalake.aio.DataLakeDirectoryClient + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_service_async.py + :start-after: [START get_directory_client_from_service_client] + :end-before: [END get_directory_client_from_service_client] + :language: python + :dedent: 8 + :caption: Getting the directory client to interact with a specific directory. + """ + try: + file_system_name = file_system.name + except AttributeError: + file_system_name = file_system + try: + directory_name = directory.name + except AttributeError: + directory_name = directory + + _pipeline = AsyncPipeline( + transport=AsyncTransportWrapper(self._pipeline._transport), # pylint: disable = protected-access + policies=self._pipeline._impl_policies # pylint: disable = protected-access + ) + return DataLakeDirectoryClient(self.url, file_system_name, directory_name=directory_name, + credential=self._raw_credential, + _configuration=self._config, _pipeline=self._pipeline, + _hosts=self._hosts, + require_encryption=self.require_encryption, + key_encryption_key=self.key_encryption_key, + key_resolver_function=self.key_resolver_function + ) + + def get_file_client(self, file_system, # type: Union[FileSystemProperties, str] + file_path # type: Union[FileProperties, str] + ): + # type: (...) -> DataLakeFileClient + """Get a client to interact with the specified file. + + The file need not already exist. + + :param file_system: + The file system that the file is in. This can either be the name of the file system, + or an instance of FileSystemProperties. + :type file_system: str or ~azure.storage.filedatalake.FileSystemProperties + :param file_path: + The file with which to interact. This can either be the full path of the file(from the root directory), + or an instance of FileProperties. eg. directory/subdirectory/file + :type file_path: str or ~azure.storage.filedatalake.FileProperties + :returns: A DataLakeFileClient. + :rtype: ~azure.storage.filedatalake.aio.DataLakeFileClient + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_service_async.py + :start-after: [START get_file_client_from_service_client] + :end-before: [END get_file_client_from_service_client] + :language: python + :dedent: 8 + :caption: Getting the file client to interact with a specific file. + """ + try: + file_system_name = file_system.name + except AttributeError: + file_system_name = file_system + try: + file_path = file_path.name + except AttributeError: + pass + + _pipeline = AsyncPipeline( + transport=AsyncTransportWrapper(self._pipeline._transport), # pylint: disable = protected-access + policies=self._pipeline._impl_policies # pylint: disable = protected-access + ) + return DataLakeFileClient( + self.url, file_system_name, file_path=file_path, credential=self._raw_credential, + _hosts=self._hosts, _configuration=self._config, _pipeline=self._pipeline, + require_encryption=self.require_encryption, + key_encryption_key=self.key_encryption_key, + key_resolver_function=self.key_resolver_function) + + async def set_service_properties(self, **kwargs): + # type: (**Any) -> None + """Sets the properties of a storage account's Datalake service, including + Azure Storage Analytics. + + If an element (e.g. analytics_logging) is left as None, the + existing settings on the service for that functionality are preserved. + + .. versionadded:: 12.4.0 + This operation was introduced in API version '2020-06-12'. + + :keyword analytics_logging: + Groups the Azure Analytics Logging settings. + :type analytics_logging: ~azure.storage.filedatalake.AnalyticsLogging + :keyword hour_metrics: + The hour metrics settings provide a summary of request + statistics grouped by API in hourly aggregates. + :type hour_metrics: ~azure.storage.filedatalake.Metrics + :keyword minute_metrics: + The minute metrics settings provide request statistics + for each minute. + :type minute_metrics: ~azure.storage.filedatalake.Metrics + :keyword 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[~azure.storage.filedatalake.CorsRule] + :keyword str target_version: + Indicates the default version to use for requests if an incoming + request's version is not specified. + :keyword delete_retention_policy: + The delete retention policy specifies whether to retain deleted files/directories. + It also specifies the number of days and versions of file/directory to keep. + :type delete_retention_policy: ~azure.storage.filedatalake.RetentionPolicy + :keyword 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: ~azure.storage.filedatalake.StaticWebsite + :keyword int timeout: + The timeout parameter is expressed in seconds. + :rtype: None + """ + return await self._blob_service_client.set_service_properties(**kwargs) # pylint: disable=protected-access + + async def get_service_properties(self, **kwargs): + # type: (**Any) -> Dict[str, Any] + """Gets the properties of a storage account's datalake service, including + Azure Storage Analytics. + + .. versionadded:: 12.4.0 + This operation was introduced in API version '2020-06-12'. + + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: An object containing datalake service properties such as + analytics logging, hour/minute metrics, cors rules, etc. + :rtype: Dict[str, Any] + """ + props = await self._blob_service_client.get_service_properties(**kwargs) # pylint: disable=protected-access + return get_datalake_service_properties(props) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/aio/_download_async.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/aio/_download_async.py new file mode 100644 index 00000000000..5685478d3e2 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/aio/_download_async.py @@ -0,0 +1,59 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +from typing import AsyncIterator + +from .._deserialize import from_blob_properties + + +class StorageStreamDownloader(object): + """A streaming object to download from Azure Storage. + + :ivar str name: + The name of the file being downloaded. + :ivar ~azure.storage.filedatalake.FileProperties properties: + The properties of the file being downloaded. If only a range of the data is being + downloaded, this will be reflected in the properties. + :ivar int size: + The size of the total data in the stream. This will be the byte range if speficied, + otherwise the total size of the file. + """ + + def __init__(self, downloader): + self._downloader = downloader + self.name = self._downloader.name + self.properties = from_blob_properties(self._downloader.properties) # pylint: disable=protected-access + self.size = self._downloader.size + + def __len__(self): + return self.size + + def chunks(self): + # type: () -> AsyncIterator[bytes] + """Iterate over chunks in the download stream. + + :rtype: AsyncIterator[bytes] + """ + return self._downloader.chunks() + + async def readall(self): + """Download the contents of this file. + + This operation is blocking until all data is downloaded. + :rtype: bytes or str + """ + return await self._downloader.readall() + + async def readinto(self, stream): + """Download the contents of this file to a stream. + + :param stream: + The stream to download to. This can be an open file-handle, + or any writable stream. The stream must be seekable if the download + uses more than one parallel connection. + :returns: The number of bytes read. + :rtype: int + """ + return await self._downloader.readinto(stream) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/aio/_file_system_client_async.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/aio/_file_system_client_async.py new file mode 100644 index 00000000000..dc36203e9a3 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/aio/_file_system_client_async.py @@ -0,0 +1,867 @@ +# pylint: disable=too-many-lines +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +# pylint: disable=invalid-overridden-method +import functools +from typing import ( # pylint: disable=unused-import + Union, Optional, Any, Dict, TYPE_CHECKING +) + +from azure.core.exceptions import HttpResponseError +from azure.core.tracing.decorator import distributed_trace + +from azure.core.pipeline import AsyncPipeline +from azure.core.async_paging import AsyncItemPaged + +from azure.core.tracing.decorator_async import distributed_trace_async +from ....blob.aio import ContainerClient +from .._deserialize import process_storage_error, is_file_path +from .._generated.models import ListBlobsIncludeItem + +from ._data_lake_file_client_async import DataLakeFileClient +from ._data_lake_directory_client_async import DataLakeDirectoryClient +from ._data_lake_lease_async import DataLakeLeaseClient +from .._deserialize import deserialize_path_properties +from .._file_system_client import FileSystemClient as FileSystemClientBase +from .._generated.aio import AzureDataLakeStorageRESTAPI +from .._shared.base_client_async import AsyncTransportWrapper, AsyncStorageAccountHostsMixin +from .._shared.policies_async import ExponentialRetry +from .._models import FileSystemProperties, PublicAccess, DirectoryProperties, FileProperties, DeletedPathProperties +from ._list_paths_helper import DeletedPathPropertiesPaged + + +if TYPE_CHECKING: + from datetime import datetime + from .._models import ( # pylint: disable=unused-import + ContentSettings) + + +class FileSystemClient(AsyncStorageAccountHostsMixin, FileSystemClientBase): + """A client to interact with a specific file system, even if that file system + may not yet exist. + + For operations relating to a specific directory or file within this file system, a directory client or file client + can be retrieved using the :func:`~get_directory_client` or :func:`~get_file_client` functions. + + :ivar str url: + The full endpoint URL to the file system, including SAS token if used. + :ivar str primary_endpoint: + The full primary endpoint URL. + :ivar str primary_hostname: + The hostname of the primary endpoint. + :param str account_url: + The URI to the storage account. + :param file_system_name: + The file system for the directory or files. + :type file_system_name: str + :param credential: + The credentials with which to authenticate. This is optional if the + account URL already has a SAS token. The value can be a SAS token string, + an instance of a AzureSasCredential from azure.core.credentials, an account + shared access key, or an instance of a TokenCredentials class from azure.identity. + If the resource URI already contains a SAS token, this will be ignored in favor of an explicit credential + - except in the case of AzureSasCredential, where the conflicting SAS tokens will raise a ValueError. + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_file_system_async.py + :start-after: [START create_file_system_client_from_service] + :end-before: [END create_file_system_client_from_service] + :language: python + :dedent: 8 + :caption: Get a FileSystemClient from an existing DataLakeServiceClient. + """ + + def __init__( + self, account_url, # type: str + file_system_name, # type: str + credential=None, # type: Optional[Any] + **kwargs # type: Any + ): + # type: (...) -> None + kwargs['retry_policy'] = kwargs.get('retry_policy') or ExponentialRetry(**kwargs) + super(FileSystemClient, self).__init__( + account_url, + file_system_name=file_system_name, + credential=credential, + **kwargs) + # to override the class field _container_client sync version + kwargs.pop('_hosts', None) + self._container_client = ContainerClient(self._blob_account_url, file_system_name, + credential=credential, + _hosts=self._container_client._hosts,# pylint: disable=protected-access + **kwargs) # type: ignore # pylint: disable=protected-access + self._client = AzureDataLakeStorageRESTAPI(self.url, file_system=file_system_name, pipeline=self._pipeline) + self._datalake_client_for_blob_operation = AzureDataLakeStorageRESTAPI(self._container_client.url, + file_system=file_system_name, + pipeline=self._pipeline) + self._loop = kwargs.get('loop', None) + + async def __aexit__(self, *args): + await self._container_client.close() + await super(FileSystemClient, self).__aexit__(*args) + + async def close(self): + # type: () -> None + """ This method is to close the sockets opened by the client. + It need not be used when using with a context manager. + """ + await self._container_client.close() + await self.__aexit__() + + @distributed_trace_async + async def acquire_lease( + self, lease_duration=-1, # type: int + lease_id=None, # type: Optional[str] + **kwargs + ): + # type: (...) -> DataLakeLeaseClient + """ + Requests a new lease. If the file system does not have an active lease, + the DataLake service creates a lease on the file system and returns a new + lease ID. + + :param int lease_duration: + Specifies the duration of the lease, in seconds, or negative one + (-1) for a lease that never expires. A non-infinite lease can be + between 15 and 60 seconds. A lease duration cannot be changed + using renew or change. Default is -1 (infinite lease). + :param str lease_id: + Proposed lease ID, in a GUID string format. The DataLake service returns + 400 (Invalid request) if the proposed lease ID is not in the correct format. + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: A DataLakeLeaseClient object, that can be run in a context manager. + :rtype: ~azure.storage.filedatalake.aio.DataLakeLeaseClient + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_file_system_async.py + :start-after: [START acquire_lease_on_file_system] + :end-before: [END acquire_lease_on_file_system] + :language: python + :dedent: 12 + :caption: Acquiring a lease on the file_system. + """ + lease = DataLakeLeaseClient(self, lease_id=lease_id) + await lease.acquire(lease_duration=lease_duration, **kwargs) + return lease + + @distributed_trace_async + async def create_file_system(self, metadata=None, # type: Optional[Dict[str, str]] + public_access=None, # type: Optional[PublicAccess] + **kwargs): + # type: (...) -> Dict[str, Union[str, datetime]] + """Creates a new file system under the specified account. + + If the file system with the same name already exists, a ResourceExistsError will + be raised. This method returns a client with which to interact with the newly + created file system. + + :param metadata: + A dict with name-value pairs to associate with the + file system as metadata. Example: `{'Category':'test'}` + :type metadata: dict(str, str) + :param public_access: + To specify whether data in the file system may be accessed publicly and the level of access. + :type public_access: ~azure.storage.filedatalake.PublicAccess + :keyword int timeout: + The timeout parameter is expressed in seconds. + :rtype: ~azure.storage.filedatalake.aio.FileSystemClient + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_file_system_async.py + :start-after: [START create_file_system] + :end-before: [END create_file_system] + :language: python + :dedent: 16 + :caption: Creating a file system in the datalake service. + """ + return await self._container_client.create_container(metadata=metadata, + public_access=public_access, + **kwargs) + + @distributed_trace_async + async def exists(self, **kwargs): + # type: (**Any) -> bool + """ + Returns True if a file system exists and returns False otherwise. + + :kwarg int timeout: + The timeout parameter is expressed in seconds. + :returns: boolean + """ + return await self._container_client.exists(**kwargs) + + @distributed_trace_async + async def _rename_file_system(self, new_name, **kwargs): + # type: (str, **Any) -> FileSystemClient + """Renames a filesystem. + + Operation is successful only if the source filesystem exists. + + :param str new_name: + The new filesystem name the user wants to rename to. + :keyword lease: + Specify this to perform only if the lease ID given + matches the active lease ID of the source filesystem. + :paramtype lease: ~azure.storage.filedatalake.DataLakeLeaseClient or str + :keyword int timeout: + The timeout parameter is expressed in seconds. + :rtype: ~azure.storage.filedatalake.FileSystemClient + """ + await self._container_client._rename_container(new_name, **kwargs) # pylint: disable=protected-access + renamed_file_system = FileSystemClient( + "{}://{}".format(self.scheme, self.primary_hostname), file_system_name=new_name, + credential=self._raw_credential, api_version=self.api_version, _configuration=self._config, + _pipeline=self._pipeline, _location_mode=self._location_mode, _hosts=self._hosts, + require_encryption=self.require_encryption, key_encryption_key=self.key_encryption_key, + key_resolver_function=self.key_resolver_function) + return renamed_file_system + + @distributed_trace_async + async def delete_file_system(self, **kwargs): + # type: (Any) -> None + """Marks the specified file system for deletion. + + The file system and any files contained within it are later deleted during garbage collection. + If the file system is not found, a ResourceNotFoundError will be raised. + + :keyword lease: + If specified, delete_file_system only succeeds if the + file system's lease is active and matches this ID. + Required if the file system has an active lease. + :paramtype lease: ~azure.storage.filedatalake.aio.DataLakeLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :rtype: None + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_file_system_async.py + :start-after: [START delete_file_system] + :end-before: [END delete_file_system] + :language: python + :dedent: 16 + :caption: Deleting a file system in the datalake service. + """ + await self._container_client.delete_container(**kwargs) + + @distributed_trace_async + async def get_file_system_properties(self, **kwargs): + # type: (Any) -> FileSystemProperties + """Returns all user-defined metadata and system properties for the specified + file system. The data returned does not include the file system's list of paths. + + :keyword lease: + If specified, get_file_system_properties only succeeds if the + file system's lease is active and matches this ID. + :paramtype lease: ~azure.storage.filedatalake.aio.DataLakeLeaseClient or str + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: Properties for the specified file system within a file system object. + :rtype: ~azure.storage.filedatalake.FileSystemProperties + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_file_system_async.py + :start-after: [START get_file_system_properties] + :end-before: [END get_file_system_properties] + :language: python + :dedent: 16 + :caption: Getting properties on the file system. + """ + container_properties = await self._container_client.get_container_properties(**kwargs) + return FileSystemProperties._convert_from_container_props(container_properties) # pylint: disable=protected-access + + @distributed_trace_async + async def set_file_system_metadata( # type: ignore + self, metadata, # type: Dict[str, str] + **kwargs + ): + # type: (...) -> Dict[str, Union[str, datetime]] + """Sets one or more user-defined name-value pairs for the specified + file system. Each call to this operation replaces all existing metadata + attached to the file system. To remove all metadata from the file system, + call this operation with no metadata dict. + + :param metadata: + A dict containing name-value pairs to associate with the file system as + metadata. Example: {'category':'test'} + :type metadata: dict[str, str] + :keyword lease: + If specified, set_file_system_metadata only succeeds if the + file system's lease is active and matches this ID. + :paramtype lease: ~azure.storage.filedatalake.aio.DataLakeLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: file system-updated property dict (Etag and last modified). + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_file_system_async.py + :start-after: [START set_file_system_metadata] + :end-before: [END set_file_system_metadata] + :language: python + :dedent: 16 + :caption: Setting metadata on the container. + """ + return await self._container_client.set_container_metadata(metadata=metadata, **kwargs) + + @distributed_trace_async + async def set_file_system_access_policy( + self, signed_identifiers, # type: Dict[str, AccessPolicy] + public_access=None, # type: Optional[Union[str, PublicAccess]] + **kwargs + ): # type: (...) -> Dict[str, Union[str, datetime]] + """Sets the permissions for the specified file system or stored access + policies that may be used with Shared Access Signatures. The permissions + indicate whether files in a file system may be accessed publicly. + + :param signed_identifiers: + A dictionary of access policies to associate with the file system. 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, ~azure.storage.filedatalake.AccessPolicy] + :param ~azure.storage.filedatalake.PublicAccess public_access: + To specify whether data in the file system may be accessed publicly and the level of access. + :keyword lease: + Required if the file system has an active lease. Value can be a DataLakeLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.filedatalake.aio.DataLakeLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A datetime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified date/time. + :keyword ~datetime.datetime if_unmodified_since: + A datetime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: filesystem-updated property dict (Etag and last modified). + :rtype: dict[str, str or ~datetime.datetime] + """ + return await self._container_client.set_container_access_policy(signed_identifiers, + public_access=public_access, **kwargs) + + @distributed_trace_async + async def get_file_system_access_policy(self, **kwargs): + # type: (Any) -> Dict[str, Any] + """Gets the permissions for the specified file system. + The permissions indicate whether file system data may be accessed publicly. + + :keyword lease: + If specified, get_file_system_access_policy only succeeds if the + file system's lease is active and matches this ID. + :paramtype lease: ~azure.storage.filedatalake.aio.DataLakeLeaseClient or str + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: Access policy information in a dict. + :rtype: dict[str, Any] + """ + access_policy = await self._container_client.get_container_access_policy(**kwargs) + return { + 'public_access': PublicAccess._from_generated(access_policy['public_access']), # pylint: disable=protected-access + 'signed_identifiers': access_policy['signed_identifiers'] + } + + @distributed_trace + def get_paths(self, path=None, # type: Optional[str] + recursive=True, # type: Optional[bool] + max_results=None, # type: Optional[int] + **kwargs): + # type: (...) -> AsyncItemPaged[PathProperties] + """Returns a generator to list the paths(could be files or directories) under the specified file system. + The generator will lazily follow the continuation tokens returned by + the service. + + :param str path: + Filters the results to return only paths under the specified path. + :param int max_results: + An optional value that specifies the maximum + number of items to return per page. If omitted or greater than 5,000, the + response will include up to 5,000 items per page. + :keyword upn: + Optional. Valid only when Hierarchical Namespace is + enabled for the account. If "true", the user identity values returned + in the x-ms-owner, x-ms-group, and x-ms-acl response headers will be + transformed from Azure Active Directory Object IDs to User Principal + Names. If "false", the values will be returned as Azure Active + Directory Object IDs. The default value is false. Note that group and + application Object IDs are not translated because they do not have + unique friendly names. + :type upn: bool + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: An iterable (auto-paging) response of PathProperties. + :rtype: ~azure.core.paging.ItemPaged[~azure.storage.filedatalake.PathProperties] + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_file_system_async.py + :start-after: [START get_paths_in_file_system] + :end-before: [END get_paths_in_file_system] + :language: python + :dedent: 12 + :caption: List the blobs in the file system. + """ + timeout = kwargs.pop('timeout', None) + return self._client.file_system.list_paths( + recursive=recursive, + max_results=max_results, + path=path, + timeout=timeout, + cls=deserialize_path_properties, + **kwargs) + + @distributed_trace_async + async def create_directory(self, directory, # type: Union[DirectoryProperties, str] + metadata=None, # type: Optional[Dict[str, str]] + **kwargs): + # type: (...) -> DataLakeDirectoryClient + """ + Create directory + + :param directory: + The directory with which to interact. This can either be the name of the directory, + or an instance of DirectoryProperties. + :type directory: str or ~azure.storage.filedatalake.DirectoryProperties + :param metadata: + Name-value pairs associated with the file as metadata. + :type metadata: dict(str, str) + :keyword ~azure.storage.filedatalake.ContentSettings content_settings: + ContentSettings object used to set path properties. + :keyword lease: + Required if the file has an active lease. Value can be a DataLakeLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.filedatalake.aio.DataLakeLeaseClient or str + :keyword str umask: + Optional and only valid if Hierarchical Namespace is enabled for the account. + When creating a file or directory and the parent folder does not have a default ACL, + the umask restricts the permissions of the file or directory to be created. + The resulting permission is given by p & ^u, where p is the permission and u is the umask. + For example, if p is 0777 and u is 0057, then the resulting permission is 0720. + The default permission is 0777 for a directory and 0666 for a file. The default umask is 0027. + The umask must be specified in 4-digit octal notation (e.g. 0766). + :keyword str permissions: + Optional and only valid if Hierarchical Namespace + is enabled for the account. Sets POSIX access permissions for the file + owner, the file owning group, and others. Each class may be granted + read, write, or execute permission. The sticky bit is also supported. + Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are + supported. + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: DataLakeDirectoryClient + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_file_system_async.py + :start-after: [START create_directory_from_file_system] + :end-before: [END create_directory_from_file_system] + :language: python + :dedent: 12 + :caption: Create directory in the file system. + """ + directory_client = self.get_directory_client(directory) + await directory_client.create_directory(metadata=metadata, **kwargs) + return directory_client + + @distributed_trace_async + async def delete_directory(self, directory, # type: Union[DirectoryProperties, str] + **kwargs): + # type: (...) -> DataLakeDirectoryClient + """ + Marks the specified path for deletion. + + :param directory: + The directory with which to interact. This can either be the name of the directory, + or an instance of DirectoryProperties. + :type directory: str or ~azure.storage.filedatalake.DirectoryProperties + :keyword lease: + Required if the file has an active lease. Value can be a LeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.filedatalake.aio.DataLakeLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: DataLakeDirectoryClient + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_file_system_async.py + :start-after: [START delete_directory_from_file_system] + :end-before: [END delete_directory_from_file_system] + :language: python + :dedent: 12 + :caption: Delete directory in the file system. + """ + directory_client = self.get_directory_client(directory) + await directory_client.delete_directory(**kwargs) + return directory_client + + @distributed_trace_async + async def create_file(self, file, # type: Union[FileProperties, str] + **kwargs): + # type: (...) -> DataLakeFileClient + """ + Create file + + :param file: + The file with which to interact. This can either be the name of the file, + or an instance of FileProperties. + :type file: str or ~azure.storage.filedatalake.FileProperties + :param ~azure.storage.filedatalake.ContentSettings content_settings: + ContentSettings object used to set path properties. + :param metadata: + Name-value pairs associated with the file as metadata. + :type metadata: dict(str, str) + :keyword lease: + Required if the file has an active lease. Value can be a DataLakeLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.filedatalake.aio.DataLakeLeaseClient or str + :keyword str umask: + Optional and only valid if Hierarchical Namespace is enabled for the account. + When creating a file or directory and the parent folder does not have a default ACL, + the umask restricts the permissions of the file or directory to be created. + The resulting permission is given by p & ^u, where p is the permission and u is the umask. + For example, if p is 0777 and u is 0057, then the resulting permission is 0720. + The default permission is 0777 for a directory and 0666 for a file. The default umask is 0027. + The umask must be specified in 4-digit octal notation (e.g. 0766). + :keyword str permissions: + Optional and only valid if Hierarchical Namespace + is enabled for the account. Sets POSIX access permissions for the file + owner, the file owning group, and others. Each class may be granted + read, write, or execute permission. The sticky bit is also supported. + Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are + supported. + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: DataLakeFileClient + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_file_system_async.py + :start-after: [START create_file_from_file_system] + :end-before: [END create_file_from_file_system] + :language: python + :dedent: 12 + :caption: Create file in the file system. + """ + file_client = self.get_file_client(file) + await file_client.create_file(**kwargs) + return file_client + + @distributed_trace_async + async def delete_file(self, file, # type: Union[FileProperties, str] + **kwargs): + # type: (...) -> DataLakeFileClient + """ + Marks the specified file for deletion. + + :param file: + The file with which to interact. This can either be the name of the file, + or an instance of FileProperties. + :type file: str or ~azure.storage.filedatalake.FileProperties + :keyword lease: + Required if the file has an active lease. Value can be a LeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.filedatalake.aio.DataLakeLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: DataLakeFileClient + + .. literalinclude:: ../samples/datalake_samples_file_system_async.py + :start-after: [START delete_file_from_file_system] + :end-before: [END delete_file_from_file_system] + :language: python + :dedent: 12 + :caption: Delete file in the file system. + """ + file_client = self.get_file_client(file) + await file_client.delete_file(**kwargs) + return file_client + + @distributed_trace_async + async def _undelete_path(self, deleted_path_name, deletion_id, **kwargs): + # type: (str, str, **Any) -> Union[DataLakeDirectoryClient, DataLakeFileClient] + """Restores soft-deleted path. + + Operation will only be successful if used within the specified number of days + set in the delete retention policy. + + .. versionadded:: 12.4.0 + This operation was introduced in API version '2020-06-12'. + + :param str deleted_path_name: + Specifies the name of the deleted container to restore. + :param str deletion_id: + Specifies the version of the deleted container to restore. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :rtype: ~azure.storage.file.datalake.aio.DataLakeDirectoryClient + or azure.storage.file.datalake.aio.DataLakeFileClient + """ + _, url, undelete_source = self._undelete_path_options(deleted_path_name, deletion_id) + + pipeline = AsyncPipeline( + transport=AsyncTransportWrapper(self._pipeline._transport), # pylint: disable = protected-access + policies=self._pipeline._impl_policies # pylint: disable = protected-access + ) + path_client = AzureDataLakeStorageRESTAPI( + url, filesystem=self.file_system_name, path=deleted_path_name, pipeline=pipeline) + try: + is_file = await path_client.path.undelete(undelete_source=undelete_source, cls=is_file_path, **kwargs) + if is_file: + return self.get_file_client(deleted_path_name) + return self.get_directory_client(deleted_path_name) + except HttpResponseError as error: + process_storage_error(error) + + def _get_root_directory_client(self): + # type: () -> DataLakeDirectoryClient + """Get a client to interact with the root directory. + + :returns: A DataLakeDirectoryClient. + :rtype: ~azure.storage.filedatalake.aio.DataLakeDirectoryClient + """ + return self.get_directory_client('/') + + def get_directory_client(self, directory # type: Union[DirectoryProperties, str] + ): + # type: (...) -> DataLakeDirectoryClient + """Get a client to interact with the specified directory. + + The directory need not already exist. + + :param directory: + The directory with which to interact. This can either be the name of the directory, + or an instance of DirectoryProperties. + :type directory: str or ~azure.storage.filedatalake.DirectoryProperties + :returns: A DataLakeDirectoryClient. + :rtype: ~azure.storage.filedatalake.aio.DataLakeDirectoryClient + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_file_system_async.py + :start-after: [START get_directory_client_from_file_system] + :end-before: [END get_directory_client_from_file_system] + :language: python + :dedent: 12 + :caption: Getting the directory client to interact with a specific directory. + """ + try: + directory_name = directory.get('name') + except AttributeError: + directory_name = str(directory) + _pipeline = AsyncPipeline( + transport=AsyncTransportWrapper(self._pipeline._transport), # pylint: disable = protected-access + policies=self._pipeline._impl_policies # pylint: disable = protected-access + ) + return DataLakeDirectoryClient(self.url, self.file_system_name, directory_name=directory_name, + credential=self._raw_credential, + _configuration=self._config, _pipeline=_pipeline, + _hosts=self._hosts, + require_encryption=self.require_encryption, + key_encryption_key=self.key_encryption_key, + key_resolver_function=self.key_resolver_function, + loop=self._loop + ) + + def get_file_client(self, file_path # type: Union[FileProperties, str] + ): + # type: (...) -> DataLakeFileClient + """Get a client to interact with the specified file. + + The file need not already exist. + + :param file_path: + The file with which to interact. This can either be the path of the file(from root directory), + or an instance of FileProperties. eg. directory/subdirectory/file + :type file_path: str or ~azure.storage.filedatalake.FileProperties + :returns: A DataLakeFileClient. + :rtype: ~azure.storage.filedatalake.aio.DataLakeFileClient + + .. admonition:: Example: + + .. literalinclude:: ../samples/datalake_samples_file_system_async.py + :start-after: [START get_file_client_from_file_system] + :end-before: [END get_file_client_from_file_system] + :language: python + :dedent: 12 + :caption: Getting the file client to interact with a specific file. + """ + try: + file_path = file_path.get('name') + except AttributeError: + file_path = str(file_path) + _pipeline = AsyncPipeline( + transport=AsyncTransportWrapper(self._pipeline._transport), # pylint: disable = protected-access + policies=self._pipeline._impl_policies # pylint: disable = protected-access + ) + return DataLakeFileClient( + self.url, self.file_system_name, file_path=file_path, credential=self._raw_credential, + _hosts=self._hosts, _configuration=self._config, _pipeline=_pipeline, + require_encryption=self.require_encryption, + key_encryption_key=self.key_encryption_key, + key_resolver_function=self.key_resolver_function, loop=self._loop) + + @distributed_trace + def list_deleted_paths(self, **kwargs): + # type: (Any) -> AsyncItemPaged[DeletedPathProperties] + """Returns a generator to list the deleted (file or directory) paths under the specified file system. + The generator will lazily follow the continuation tokens returned by + the service. + + .. versionadded:: 12.4.0 + This operation was introduced in API version '2020-06-12'. + + :keyword str path_prefix: + Filters the results to return only paths under the specified path. + :keyword int max_results: + An optional value that specifies the maximum number of items to return per page. + If omitted or greater than 5,000, the response will include up to 5,000 items per page. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: An iterable (auto-paging) response of DeletedPathProperties. + :rtype: + ~azure.core.paging.AsyncItemPaged[~azure.storage.filedatalake.DeletedPathProperties] + """ + path_prefix = kwargs.pop('path_prefix', None) + results_per_page = kwargs.pop('max_results', None) + timeout = kwargs.pop('timeout', None) + command = functools.partial( + self._datalake_client_for_blob_operation.file_system.list_blob_hierarchy_segment, + showonly=ListBlobsIncludeItem.deleted, + timeout=timeout, + **kwargs) + return AsyncItemPaged( + command, prefix=path_prefix, page_iterator_class=DeletedPathPropertiesPaged, + results_per_page=results_per_page, **kwargs) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/aio/_list_paths_helper.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/aio/_list_paths_helper.py new file mode 100644 index 00000000000..03831a5ecc5 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/aio/_list_paths_helper.py @@ -0,0 +1,111 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +# pylint: disable=too-few-public-methods, too-many-instance-attributes +# pylint: disable=super-init-not-called, too-many-lines +from azure.core.exceptions import HttpResponseError +from azure.core.async_paging import AsyncPageIterator + +from .._deserialize import process_storage_error, get_deleted_path_properties_from_generated_code +from .._generated.models import BlobItemInternal, BlobPrefix as GenBlobPrefix + +from .._shared.models import DictMixin +from .._shared.response_handlers import return_context_and_deserialized + + +class DeletedPathPropertiesPaged(AsyncPageIterator): + """An Iterable of deleted path properties. + + :ivar str service_endpoint: The service URL. + :ivar str prefix: A path name prefix being used to filter the list. + :ivar str marker: The continuation token of the current page of results. + :ivar int results_per_page: The maximum number of results retrieved per API call. + :ivar str continuation_token: The continuation token to retrieve the next page of results. + :ivar str location_mode: The location mode being used to list results. The available + options include "primary" and "secondary". + :ivar current_page: The current page of listed results. + :vartype current_page: list(~azure.storage.filedatalake.DeletedPathProperties) + :ivar str container: The container that the paths are listed from. + :ivar str delimiter: A delimiting character used for hierarchy listing. + + :param callable command: Function to retrieve the next page of items. + """ + def __init__( + self, command, + container=None, + prefix=None, + results_per_page=None, + continuation_token=None, + delimiter=None, + location_mode=None): + super(DeletedPathPropertiesPaged, self).__init__( + get_next=self._get_next_cb, + extract_data=self._extract_data_cb, + continuation_token=continuation_token or "" + ) + self._command = command + self.service_endpoint = None + self.prefix = prefix + self.marker = None + self.results_per_page = results_per_page + self.container = container + self.delimiter = delimiter + self.current_page = None + self.location_mode = location_mode + + async def _get_next_cb(self, continuation_token): + try: + return await self._command( + prefix=self.prefix, + marker=continuation_token or None, + max_results=self.results_per_page, + cls=return_context_and_deserialized, + use_location=self.location_mode) + except HttpResponseError as error: + process_storage_error(error) + + async def _extract_data_cb(self, get_next_return): + self.location_mode, self._response = get_next_return + self.service_endpoint = self._response.service_endpoint + self.prefix = self._response.prefix + self.marker = self._response.marker + self.results_per_page = self._response.max_results + self.container = self._response.container_name + self.current_page = self._response.segment.blob_prefixes + self._response.segment.blob_items + self.current_page = [self._build_item(item) for item in self.current_page] + self.delimiter = self._response.delimiter + + return self._response.next_marker or None, self.current_page + + def _build_item(self, item): + if isinstance(item, BlobItemInternal): + file_props = get_deleted_path_properties_from_generated_code(item) + file_props.file_system = self.container + return file_props + if isinstance(item, GenBlobPrefix): + return DirectoryPrefix( + container=self.container, + prefix=item.name, + results_per_page=self.results_per_page, + location_mode=self.location_mode) + return item + + +class DirectoryPrefix(DictMixin): + """Directory prefix. + + :ivar str name: Name of the deleted directory. + :ivar int results_per_page: The maximum number of results retrieved per API call. + :ivar str location_mode: The location mode being used to list results. The available + options include "primary" and "secondary". + :ivar str file_system: The file system that the deleted paths are listed from. + :ivar str delimiter: A delimiting character used for hierarchy listing. + """ + def __init__(self, **kwargs): + self.name = kwargs.get('prefix') + self.results_per_page = kwargs.get('results_per_page') + self.file_system = kwargs.get('container') + self.delimiter = kwargs.get('delimiter') + self.location_mode = kwargs.get('location_mode') diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/aio/_models.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/aio/_models.py new file mode 100644 index 00000000000..50cc03bda9e --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/aio/_models.py @@ -0,0 +1,41 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +# pylint: disable=too-few-public-methods, too-many-instance-attributes +# pylint: disable=super-init-not-called, too-many-lines +from ....blob.aio._models import ContainerPropertiesPaged +from .._models import FileSystemProperties + + +class FileSystemPropertiesPaged(ContainerPropertiesPaged): + """An Iterable of File System properties. + + :ivar str service_endpoint: The service URL. + :ivar str prefix: A file system name prefix being used to filter the list. + :ivar str marker: The continuation token of the current page of results. + :ivar int results_per_page: The maximum number of results retrieved per API call. + :ivar str continuation_token: The continuation token to retrieve the next page of results. + :ivar str location_mode: The location mode being used to list results. The available + options include "primary" and "secondary". + :ivar current_page: The current page of listed results. + :vartype current_page: list(~azure.storage.filedatalake.FileSystemProperties) + + :param callable command: Function to retrieve the next page of items. + :param str prefix: Filters the results to return only file systems whose names + begin with the specified prefix. + :param int results_per_page: The maximum number of file system names to retrieve per + call. + :param str continuation_token: An opaque continuation token. + """ + + def __init__(self, *args, **kwargs): + super(FileSystemPropertiesPaged, self).__init__( + *args, + **kwargs + ) + + @staticmethod + def _build_item(item): + return FileSystemProperties._from_generated(item) # pylint: disable=protected-access diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/aio/_path_client_async.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/aio/_path_client_async.py new file mode 100644 index 00000000000..f8344007bb5 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/aio/_path_client_async.py @@ -0,0 +1,727 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +# pylint: disable=invalid-overridden-method +from datetime import datetime +from typing import Any, Dict, Union + +from azure.core.exceptions import AzureError, HttpResponseError +from ....blob.aio import BlobClient +from .._shared.base_client_async import AsyncStorageAccountHostsMixin +from .._path_client import PathClient as PathClientBase +from .._models import DirectoryProperties, AccessControlChangeResult, AccessControlChangeFailure, \ + AccessControlChangeCounters, AccessControlChanges +from .._generated.aio import AzureDataLakeStorageRESTAPI +from ._data_lake_lease_async import DataLakeLeaseClient +from .._deserialize import process_storage_error +from .._shared.policies_async import ExponentialRetry + +_ERROR_UNSUPPORTED_METHOD_FOR_ENCRYPTION = ( + 'The require_encryption flag is set, but encryption is not supported' + ' for this method.') + + +class PathClient(AsyncStorageAccountHostsMixin, PathClientBase): + def __init__( + self, account_url, # type: str + file_system_name, # type: str + path_name, # type: str + credential=None, # type: Optional[Any] + **kwargs # type: Any + ): + # type: (...) -> None + kwargs['retry_policy'] = kwargs.get('retry_policy') or ExponentialRetry(**kwargs) + + super(PathClient, self).__init__(account_url, # pylint: disable=specify-parameter-names-in-call + file_system_name, path_name, + credential=credential, + **kwargs) # type: ignore + + kwargs.pop('_hosts', None) + + self._blob_client = BlobClient(account_url=self._blob_account_url, container_name=file_system_name, + blob_name=path_name, + credential=credential, + _hosts=self._blob_client._hosts, # pylint: disable=protected-access + **kwargs) + + self._client = AzureDataLakeStorageRESTAPI(self.url, file_system=file_system_name, path=path_name, + pipeline=self._pipeline) + self._datalake_client_for_blob_operation = AzureDataLakeStorageRESTAPI(self._blob_client.url, + file_system=file_system_name, + path=path_name, + pipeline=self._pipeline) + self._loop = kwargs.get('loop', None) + + async def __aexit__(self, *args): + await self._blob_client.close() + await super(PathClient, self).__aexit__(*args) + + async def close(self): + # type: () -> None + """ This method is to close the sockets opened by the client. + It need not be used when using with a context manager. + """ + await self._blob_client.close() + await self.__aexit__() + + async def _create(self, resource_type, content_settings=None, metadata=None, **kwargs): + # type: (...) -> Dict[str, Union[str, datetime]] + """ + Create directory or file + + :param resource_type: + Required for Create File and Create Directory. + The value must be "file" or "directory". Possible values include: + 'directory', 'file' + :type resource_type: str + :param ~azure.storage.filedatalake.ContentSettings content_settings: + ContentSettings object used to set path properties. + :param metadata: + Name-value pairs associated with the file/directory as metadata. + :type metadata: dict(str, str) + :keyword lease: + Required if the file/directory has an active lease. Value can be a DataLakeLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.filedatalake.aio.DataLakeLeaseClient or str + :keyword str umask: + Optional and only valid if Hierarchical Namespace is enabled for the account. + When creating a file or directory and the parent folder does not have a default ACL, + the umask restricts the permissions of the file or directory to be created. + The resulting permission is given by p & ^u, where p is the permission and u is the umask. + For example, if p is 0777 and u is 0057, then the resulting permission is 0720. + The default permission is 0777 for a directory and 0666 for a file. The default umask is 0027. + The umask must be specified in 4-digit octal notation (e.g. 0766). + :keyword permissions: + Optional and only valid if Hierarchical Namespace + is enabled for the account. Sets POSIX access permissions for the file + owner, the file owning group, and others. Each class may be granted + read, write, or execute permission. The sticky bit is also supported. + Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are + supported. + :type permissions: str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: Dict[str, Union[str, datetime]] + """ + options = self._create_path_options( + resource_type, + content_settings=content_settings, + metadata=metadata, + **kwargs) + try: + return await self._client.path.create(**options) + except HttpResponseError as error: + process_storage_error(error) + + async def _delete(self, **kwargs): + # type: (**Any) -> Dict[Union[datetime, str]] + """ + Marks the specified path for deletion. + + :keyword lease: + Required if the file/directory has an active lease. Value can be a LeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.filedatalake.aio.DataLakeLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: None + """ + options = self._delete_path_options(**kwargs) + try: + return await self._client.path.delete(**options) + except HttpResponseError as error: + process_storage_error(error) + + async def set_access_control(self, owner=None, # type: Optional[str] + group=None, # type: Optional[str] + permissions=None, # type: Optional[str] + acl=None, # type: Optional[str] + **kwargs): + # type: (...) -> Dict[str, Union[str, datetime]] + """ + Set the owner, group, permissions, or access control list for a path. + + :param owner: + Optional. The owner of the file or directory. + :type owner: str + :param group: + Optional. The owning group of the file or directory. + :type group: str + :param permissions: + Optional and only valid if Hierarchical Namespace + is enabled for the account. Sets POSIX access permissions for the file + owner, the file owning group, and others. Each class may be granted + read, write, or execute permission. The sticky bit is also supported. + Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are + supported. + permissions and acl are mutually exclusive. + :type permissions: str + :param acl: + Sets POSIX access control rights on files and directories. + The value is a comma-separated list of access control entries. Each + access control entry (ACE) consists of a scope, a type, a user or + group identifier, and permissions in the format + "[scope:][type]:[id]:[permissions]". + permissions and acl are mutually exclusive. + :type acl: str + :keyword lease: + Required if the file/directory has an active lease. Value can be a LeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.filedatalake.aio.DataLakeLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :keyword: response dict (Etag and last modified). + """ + options = self._set_access_control_options(owner=owner, group=group, permissions=permissions, acl=acl, **kwargs) + try: + return await self._client.path.set_access_control(**options) + except HttpResponseError as error: + process_storage_error(error) + + async def get_access_control(self, upn=None, # type: Optional[bool] + **kwargs): + # type: (...) -> Dict[str, Any] + """ + Get the owner, group, permissions, or access control list for a path. + + :param upn: + Optional. Valid only when Hierarchical Namespace is + enabled for the account. If "true", the user identity values returned + in the x-ms-owner, x-ms-group, and x-ms-acl response headers will be + transformed from Azure Active Directory Object IDs to User Principal + Names. If "false", the values will be returned as Azure Active + Directory Object IDs. The default value is false. Note that group and + application Object IDs are not translated because they do not have + unique friendly names. + :type upn: bool + :keyword lease: + Required if the file/directory has an active lease. Value can be a LeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.filedatalake.aio.DataLakeLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :keyword: response dict. + """ + options = self._get_access_control_options(upn=upn, **kwargs) + try: + return await self._client.path.get_properties(**options) + except HttpResponseError as error: + process_storage_error(error) + + async def set_access_control_recursive(self, + acl, + **kwargs): + # type: (str, **Any) -> AccessControlChangeResult + """ + Sets the Access Control on a path and sub-paths. + + :param acl: + Sets POSIX access control rights on files and directories. + The value is a comma-separated list of access control entries. Each + access control entry (ACE) consists of a scope, a type, a user or + group identifier, and permissions in the format + "[scope:][type]:[id]:[permissions]". + :type acl: str + :keyword func(~azure.storage.filedatalake.AccessControlChanges) progress_hook: + Callback where the caller can track progress of the operation + as well as collect paths that failed to change Access Control. + :keyword str continuation_token: + Optional continuation token that can be used to resume previously stopped operation. + :keyword int batch_size: + Optional. If data set size exceeds batch size then operation will be split into multiple + requests so that progress can be tracked. Batch size should be between 1 and 2000. + The default when unspecified is 2000. + :keyword int max_batches: + Optional. Defines maximum number of batches that single change Access Control operation can execute. + If maximum is reached before all sub-paths are processed, + then continuation token can be used to resume operation. + Empty value indicates that maximum number of batches in unbound and operation continues till end. + :keyword bool continue_on_failure: + If set to False, the operation will terminate quickly on encountering user errors (4XX). + If True, the operation will ignore user errors and proceed with the operation on other sub-entities of + the directory. + Continuation token will only be returned when continue_on_failure is True in case of user errors. + If not set the default value is False for this. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: A summary of the recursive operations, including the count of successes and failures, + as well as a continuation token in case the operation was terminated prematurely. + :rtype: :~azure.storage.filedatalake.AccessControlChangeResult` + :raises ~azure.core.exceptions.AzureError: + User can restart the operation using continuation_token field of AzureError if the token is available. + """ + if not acl: + raise ValueError("The Access Control List must be set for this operation") + + progress_hook = kwargs.pop('progress_hook', None) + max_batches = kwargs.pop('max_batches', None) + options = self._set_access_control_recursive_options(mode='set', acl=acl, **kwargs) + return await self._set_access_control_internal(options=options, progress_hook=progress_hook, + max_batches=max_batches) + + async def update_access_control_recursive(self, acl, **kwargs): + # type: (str, **Any) -> AccessControlChangeResult + """ + Modifies the Access Control on a path and sub-paths. + + :param acl: + Modifies POSIX access control rights on files and directories. + The value is a comma-separated list of access control entries. Each + access control entry (ACE) consists of a scope, a type, a user or + group identifier, and permissions in the format + "[scope:][type]:[id]:[permissions]". + :type acl: str + :keyword func(~azure.storage.filedatalake.AccessControlChanges) progress_hook: + Callback where the caller can track progress of the operation + as well as collect paths that failed to change Access Control. + :keyword str continuation_token: + Optional continuation token that can be used to resume previously stopped operation. + :keyword int batch_size: + Optional. If data set size exceeds batch size then operation will be split into multiple + requests so that progress can be tracked. Batch size should be between 1 and 2000. + The default when unspecified is 2000. + :keyword int max_batches: + Optional. Defines maximum number of batches that single, + change Access Control operation can execute. + If maximum is reached before all sub-paths are processed, + then continuation token can be used to resume operation. + Empty value indicates that maximum number of batches in unbound and operation continues till end. + :keyword bool continue_on_failure: + If set to False, the operation will terminate quickly on encountering user errors (4XX). + If True, the operation will ignore user errors and proceed with the operation on other sub-entities of + the directory. + Continuation token will only be returned when continue_on_failure is True in case of user errors. + If not set the default value is False for this. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: A summary of the recursive operations, including the count of successes and failures, + as well as a continuation token in case the operation was terminated prematurely. + :rtype: :~azure.storage.filedatalake.AccessControlChangeResult` + :raises ~azure.core.exceptions.AzureError: + User can restart the operation using continuation_token field of AzureError if the token is available. + """ + if not acl: + raise ValueError("The Access Control List must be set for this operation") + + progress_hook = kwargs.pop('progress_hook', None) + max_batches = kwargs.pop('max_batches', None) + options = self._set_access_control_recursive_options(mode='modify', acl=acl, **kwargs) + return await self._set_access_control_internal(options=options, progress_hook=progress_hook, + max_batches=max_batches) + + async def remove_access_control_recursive(self, + acl, + **kwargs): + # type: (str, **Any) -> AccessControlChangeResult + """ + Removes the Access Control on a path and sub-paths. + + :param acl: + Removes POSIX access control rights on files and directories. + The value is a comma-separated list of access control entries. Each + access control entry (ACE) consists of a scope, a type, and a user or + group identifier in the format "[scope:][type]:[id]". + :type acl: str + :keyword func(~azure.storage.filedatalake.AccessControlChanges) progress_hook: + Callback where the caller can track progress of the operation + as well as collect paths that failed to change Access Control. + :keyword str continuation_token: + Optional continuation token that can be used to resume previously stopped operation. + :keyword int batch_size: + Optional. If data set size exceeds batch size then operation will be split into multiple + requests so that progress can be tracked. Batch size should be between 1 and 2000. + The default when unspecified is 2000. + :keyword int max_batches: + Optional. Defines maximum number of batches that single change Access Control operation can execute. + If maximum is reached before all sub-paths are processed, + then continuation token can be used to resume operation. + Empty value indicates that maximum number of batches in unbound and operation continues till end. + :keyword bool continue_on_failure: + If set to False, the operation will terminate quickly on encountering user errors (4XX). + If True, the operation will ignore user errors and proceed with the operation on other sub-entities of + the directory. + Continuation token will only be returned when continue_on_failure is True in case of user errors. + If not set the default value is False for this. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: A summary of the recursive operations, including the count of successes and failures, + as well as a continuation token in case the operation was terminated prematurely. + :rtype: :~azure.storage.filedatalake.AccessControlChangeResult` + :raises ~azure.core.exceptions.AzureError: + User can restart the operation using continuation_token field of AzureError if the token is available. + """ + if not acl: + raise ValueError("The Access Control List must be set for this operation") + + progress_hook = kwargs.pop('progress_hook', None) + max_batches = kwargs.pop('max_batches', None) + options = self._set_access_control_recursive_options(mode='remove', acl=acl, **kwargs) + return await self._set_access_control_internal(options=options, progress_hook=progress_hook, + max_batches=max_batches) + + async def _set_access_control_internal(self, options, progress_hook, max_batches=None): + try: + continue_on_failure = options.get('force_flag') + total_directories_successful = 0 + total_files_success = 0 + total_failure_count = 0 + batch_count = 0 + last_continuation_token = None + current_continuation_token = None + continue_operation = True + while continue_operation: + headers, resp = await self._client.path.set_access_control_recursive(**options) + + # make a running tally so that we can report the final results + total_directories_successful += resp.directories_successful + total_files_success += resp.files_successful + total_failure_count += resp.failure_count + batch_count += 1 + current_continuation_token = headers['continuation'] + + if current_continuation_token is not None: + last_continuation_token = current_continuation_token + + if progress_hook is not None: + await progress_hook(AccessControlChanges( + batch_counters=AccessControlChangeCounters( + directories_successful=resp.directories_successful, + files_successful=resp.files_successful, + failure_count=resp.failure_count, + ), + aggregate_counters=AccessControlChangeCounters( + directories_successful=total_directories_successful, + files_successful=total_files_success, + failure_count=total_failure_count, + ), + batch_failures=[AccessControlChangeFailure( + name=failure.name, + is_directory=failure.type == 'DIRECTORY', + error_message=failure.error_message) for failure in resp.failed_entries], + continuation=last_continuation_token)) + + # update the continuation token, if there are more operations that cannot be completed in a single call + max_batches_satisfied = (max_batches is not None and batch_count == max_batches) + continue_operation = bool(current_continuation_token) and not max_batches_satisfied + options['continuation'] = current_continuation_token + + # currently the service stops on any failure, so we should send back the last continuation token + # for the user to retry the failed updates + # otherwise we should just return what the service gave us + return AccessControlChangeResult(counters=AccessControlChangeCounters( + directories_successful=total_directories_successful, + files_successful=total_files_success, + failure_count=total_failure_count), + continuation=last_continuation_token + if total_failure_count > 0 and not continue_on_failure else current_continuation_token) + except HttpResponseError as error: + error.continuation_token = last_continuation_token + process_storage_error(error) + except AzureError as error: + error.continuation_token = last_continuation_token + raise error + + async def _rename_path(self, rename_source, **kwargs): + # type: (str, **Any) -> Dict[str, Any] + """ + Rename directory or file + + :param rename_source: The value must have the following format: "/{filesystem}/{path}". + :type rename_source: str + :keyword ~azure.storage.filedatalake.ContentSettings content_settings: + ContentSettings object used to set path properties. + :keyword source_lease: A lease ID for the source path. If specified, + the source path must have an active lease and the leaase ID must + match. + :paramtype source_lease: ~azure.storage.filedatalake.aio.DataLakeLeaseClient or str + :keyword lease: + Required if the file/directory has an active lease. Value can be a LeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.filedatalake.aio.DataLakeLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword ~datetime.datetime source_if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime source_if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str source_etag: + The source ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions source_match_condition: + The source match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + """ + options = self._rename_path_options( + rename_source, + **kwargs) + try: + return await self._client.path.create(**options) + except HttpResponseError as error: + process_storage_error(error) + + async def _get_path_properties(self, **kwargs): + # type: (**Any) -> Union[FileProperties, DirectoryProperties] + """Returns all user-defined metadata, standard HTTP properties, and + system properties for the file or directory. It does not return the content of the directory or file. + + :keyword lease: + Required if the directory or file has an active lease. Value can be a DataLakeLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.filedatalake.aio.DataLakeLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :rtype: DirectoryProperties or FileProperties + """ + path_properties = await self._blob_client.get_blob_properties(**kwargs) + return path_properties + + async def _exists(self, **kwargs): + # type: (**Any) -> bool + """ + Returns True if a path exists and returns False otherwise. + + :kwarg int timeout: + The timeout parameter is expressed in seconds. + :returns: boolean + """ + return await self._blob_client.exists(**kwargs) + + async def set_metadata(self, metadata, # type: Dict[str, str] + **kwargs): + # type: (...) -> Dict[str, Union[str, datetime]] + """Sets one or more user-defined name-value pairs for the specified + file system. Each call to this operation replaces all existing metadata + attached to the file system. To remove all metadata from the file system, + call this operation with no metadata dict. + + :param metadata: + A dict containing name-value pairs to associate with the file system as + metadata. Example: {'category':'test'} + :type metadata: dict[str, str] + :keyword lease: + If specified, set_file_system_metadata only succeeds if the + file system's lease is active and matches this ID. + :paramtype lease: ~azure.storage.filedatalake.aio.DataLakeLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: file system-updated property dict (Etag and last modified). + """ + return await self._blob_client.set_blob_metadata(metadata=metadata, **kwargs) + + async def set_http_headers(self, content_settings=None, # type: Optional[ContentSettings] + **kwargs): + # type: (...) -> Dict[str, Any] + """Sets system properties on the file or directory. + + If one property is set for the content_settings, all properties will be overriden. + + :param ~azure.storage.filedatalake.ContentSettings content_settings: + ContentSettings object used to set file/directory properties. + :keyword lease: + If specified, set_file_system_metadata only succeeds if the + file system's lease is active and matches this ID. + :paramtype lease: ~azure.storage.filedatalake.aio.DataLakeLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: file/directory-updated property dict (Etag and last modified) + :rtype: Dict[str, Any] + """ + return await self._blob_client.set_http_headers(content_settings=content_settings, **kwargs) + + async def acquire_lease(self, lease_duration=-1, # type: Optional[int] + lease_id=None, # type: Optional[str] + **kwargs): + # type: (...) -> DataLakeLeaseClient + """ + Requests a new lease. If the file or directory does not have an active lease, + the DataLake service creates a lease on the file/directory and returns a new + lease ID. + + :param int lease_duration: + Specifies the duration of the lease, in seconds, or negative one + (-1) for a lease that never expires. A non-infinite lease can be + between 15 and 60 seconds. A lease duration cannot be changed + using renew or change. Default is -1 (infinite lease). + :param str lease_id: + Proposed lease ID, in a GUID string format. The DataLake service returns + 400 (Invalid request) if the proposed lease ID is not in the correct format. + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: A DataLakeLeaseClient object, that can be run in a context manager. + :rtype: ~azure.storage.filedatalake.aio.DataLakeLeaseClient + + .. admonition:: Example: + + .. literalinclude:: ../samples/test_file_system_samples.py + :start-after: [START acquire_lease_on_file_system] + :end-before: [END acquire_lease_on_file_system] + :language: python + :dedent: 8 + :caption: Acquiring a lease on the file_system. + """ + lease = DataLakeLeaseClient(self, lease_id=lease_id) # type: ignore + await lease.acquire(lease_duration=lease_duration, **kwargs) + return lease diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/aio/_upload_helper.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/aio/_upload_helper.py new file mode 100644 index 00000000000..00d5bf1ecfd --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/aio/_upload_helper.py @@ -0,0 +1,103 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +# pylint: disable=no-self-use +from azure.core.exceptions import HttpResponseError +from .._deserialize import ( + process_storage_error) +from .._shared.response_handlers import return_response_headers +from .._shared.uploads_async import ( + upload_data_chunks, + DataLakeFileChunkUploader, upload_substream_blocks) + + +def _any_conditions(modified_access_conditions=None, **kwargs): # pylint: disable=unused-argument + return any([ + modified_access_conditions.if_modified_since, + modified_access_conditions.if_unmodified_since, + modified_access_conditions.if_none_match, + modified_access_conditions.if_match + ]) + + +async def upload_datalake_file( # pylint: disable=unused-argument + client=None, + stream=None, + length=None, + overwrite=None, + validate_content=None, + max_concurrency=None, + file_settings=None, + **kwargs): + try: + if length == 0: + return {} + properties = kwargs.pop('properties', None) + umask = kwargs.pop('umask', None) + permissions = kwargs.pop('permissions', None) + path_http_headers = kwargs.pop('path_http_headers', None) + modified_access_conditions = kwargs.pop('modified_access_conditions', None) + chunk_size = kwargs.pop('chunk_size', 100 * 1024 * 1024) + + if not overwrite: + # if customers didn't specify access conditions, they cannot flush data to existing file + if not _any_conditions(modified_access_conditions): + modified_access_conditions.if_none_match = '*' + if properties or umask or permissions: + raise ValueError("metadata, umask and permissions can be set only when overwrite is enabled") + + if overwrite: + response = await client.create( + resource='file', + path_http_headers=path_http_headers, + properties=properties, + modified_access_conditions=modified_access_conditions, + umask=umask, + permissions=permissions, + cls=return_response_headers, + **kwargs) + + # this modified_access_conditions will be applied to flush_data to make sure + # no other flush between create and the current flush + modified_access_conditions.if_match = response['etag'] + modified_access_conditions.if_none_match = None + modified_access_conditions.if_modified_since = None + modified_access_conditions.if_unmodified_since = None + + use_original_upload_path = file_settings.use_byte_buffer or \ + validate_content or chunk_size < file_settings.min_large_chunk_upload_threshold or \ + hasattr(stream, 'seekable') and not stream.seekable() or \ + not hasattr(stream, 'seek') or not hasattr(stream, 'tell') + + if use_original_upload_path: + await upload_data_chunks( + service=client, + uploader_class=DataLakeFileChunkUploader, + total_size=length, + chunk_size=chunk_size, + stream=stream, + max_concurrency=max_concurrency, + validate_content=validate_content, + **kwargs) + else: + await upload_substream_blocks( + service=client, + uploader_class=DataLakeFileChunkUploader, + total_size=length, + chunk_size=chunk_size, + max_concurrency=max_concurrency, + stream=stream, + validate_content=validate_content, + **kwargs + ) + + return await client.flush_data(position=length, + path_http_headers=path_http_headers, + modified_access_conditions=modified_access_conditions, + close=True, + cls=return_response_headers, + **kwargs) + except HttpResponseError as error: + process_storage_error(error) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/py.typed b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storage_filedatalake/v2020_06_12/py.typed new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storagev2/__init__.py b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storagev2/__init__.py index 56200e1b95c..77845c19798 100644 --- a/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storagev2/__init__.py +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/azure_storagev2/__init__.py @@ -1 +1,6 @@ -__path__ = __import__('pkgutil').extend_path(__path__, __name__) \ No newline at end of file +# -------------------------------------------------------------------------------------------- +# 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/storage-preview/azext_storage_preview/vendored_sdks/blob/__init__.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/__init__.py new file mode 100644 index 00000000000..937d74b5403 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/__init__.py @@ -0,0 +1,229 @@ +# ------------------------------------------------------------------------- +# 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 typing import Union, Iterable, AnyStr, IO, Any, Dict # pylint: disable=unused-import +from ._version import VERSION +from ._blob_client import BlobClient +from ._container_client import ContainerClient +from ._blob_service_client import BlobServiceClient +from ._lease import BlobLeaseClient +from ._download import StorageStreamDownloader +from ._quick_query_helper import BlobQueryReader +from ._shared_access_signature import generate_account_sas, generate_container_sas, generate_blob_sas +from ._shared.policies import ExponentialRetry, LinearRetry +from ._shared.response_handlers import PartialBatchErrorException +from ._shared.models import( + LocationMode, + ResourceTypes, + AccountSasPermissions, + StorageErrorCode, + UserDelegationKey +) +from ._generated.models import ( + RehydratePriority +) +from ._models import ( + BlobType, + BlockState, + StandardBlobTier, + PremiumPageBlobTier, + SequenceNumberAction, + PublicAccess, + BlobAnalyticsLogging, + Metrics, + RetentionPolicy, + StaticWebsite, + CorsRule, + ContainerProperties, + BlobProperties, + FilteredBlob, + LeaseProperties, + ContentSettings, + CopyProperties, + BlobBlock, + PageRange, + AccessPolicy, + ContainerSasPermissions, + BlobSasPermissions, + CustomerProvidedEncryptionKey, + ContainerEncryptionScope, + BlobQueryError, + DelimitedJsonDialect, + DelimitedTextDialect, + ArrowDialect, + ArrowType, + ObjectReplicationPolicy, + ObjectReplicationRule +) +from ._list_blobs_helper import BlobPrefix + +__version__ = VERSION + + +def upload_blob_to_url( + blob_url, # type: str + data, # type: Union[Iterable[AnyStr], IO[AnyStr]] + credential=None, # type: Any + **kwargs): + # type: (...) -> Dict[str, Any] + """Upload data to a given URL + + The data will be uploaded as a block blob. + + :param str blob_url: + The full URI to the blob. This can also include a SAS token. + :param data: + The data to upload. This can be bytes, text, an iterable or a file-like object. + :type data: bytes or str or Iterable + :param credential: + The credentials with which to authenticate. This is optional if the + blob URL already has a SAS token. The value can be a SAS token string, an account + shared access key, or an instance of a TokenCredentials class from azure.identity. + If the URL already has a SAS token, specifying an explicit credential will take priority. + :keyword bool overwrite: + Whether the blob to be uploaded should overwrite the current data. + If True, upload_blob_to_url will overwrite any existing data. If set to False, the + operation will fail with a ResourceExistsError. + :keyword int max_concurrency: + The number of parallel connections with which to download. + :keyword int length: + Number of bytes to read from the stream. This is optional, but + should be supplied for optimal performance. + :keyword dict(str,str) metadata: + Name-value pairs associated with the blob as metadata. + :keyword bool validate_content: + If true, calculates an MD5 hash for each chunk of the blob. The storage + service checks the hash of the content that has arrived with the hash + that was sent. This is primarily valuable for detecting bitflips on + the wire if using http instead of https as https (the default) will + already validate. Note that this MD5 hash is not stored with the + blob. Also note that if enabled, the memory-efficient upload algorithm + will not be used, because computing the MD5 hash requires buffering + entire blocks, and doing so defeats the purpose of the memory-efficient algorithm. + :keyword str encoding: + Encoding to use if text is supplied as input. Defaults to UTF-8. + :returns: Blob-updated property dict (Etag and last modified) + :rtype: dict(str, Any) + """ + with BlobClient.from_blob_url(blob_url, credential=credential) as client: + return client.upload_blob(data=data, blob_type=BlobType.BlockBlob, **kwargs) + + +def _download_to_stream(client, handle, **kwargs): + """Download data to specified open file-handle.""" + stream = client.download_blob(**kwargs) + stream.readinto(handle) + + +def download_blob_from_url( + blob_url, # type: str + output, # type: str + credential=None, # type: Any + **kwargs): + # type: (...) -> None + """Download the contents of a blob to a local file or stream. + + :param str blob_url: + The full URI to the blob. This can also include a SAS token. + :param output: + Where the data should be downloaded to. This could be either a file path to write to, + or an open IO handle to write to. + :type output: str or writable stream. + :param credential: + The credentials with which to authenticate. This is optional if the + blob URL already has a SAS token or the blob is public. The value can be a SAS token string, + an account shared access key, or an instance of a TokenCredentials class from azure.identity. + If the URL already has a SAS token, specifying an explicit credential will take priority. + :keyword bool overwrite: + Whether the local file should be overwritten if it already exists. The default value is + `False` - in which case a ValueError will be raised if the file already exists. If set to + `True`, an attempt will be made to write to the existing file. If a stream handle is passed + in, this value is ignored. + :keyword int max_concurrency: + The number of parallel connections with which to download. + :keyword int offset: + Start of byte range to use for downloading a section of the blob. + Must be set if length is provided. + :keyword int length: + Number of bytes to read from the stream. This is optional, but + should be supplied for optimal performance. + :keyword bool validate_content: + If true, calculates an MD5 hash for each chunk of the blob. The storage + service checks the hash of the content that has arrived with the hash + that was sent. This is primarily valuable for detecting bitflips on + the wire if using http instead of https as https (the default) will + already validate. Note that this MD5 hash is not stored with the + blob. Also note that if enabled, the memory-efficient upload algorithm + will not be used, because computing the MD5 hash requires buffering + entire blocks, and doing so defeats the purpose of the memory-efficient algorithm. + :rtype: None + """ + overwrite = kwargs.pop('overwrite', False) + with BlobClient.from_blob_url(blob_url, credential=credential) as client: + if hasattr(output, 'write'): + _download_to_stream(client, output, **kwargs) + else: + if not overwrite and os.path.isfile(output): + raise ValueError("The file '{}' already exists.".format(output)) + with open(output, 'wb') as file_handle: + _download_to_stream(client, file_handle, **kwargs) + + +__all__ = [ + 'upload_blob_to_url', + 'download_blob_from_url', + 'BlobServiceClient', + 'ContainerClient', + 'BlobClient', + 'BlobType', + 'BlobLeaseClient', + 'StorageErrorCode', + 'UserDelegationKey', + 'ExponentialRetry', + 'LinearRetry', + 'LocationMode', + 'BlockState', + 'StandardBlobTier', + 'PremiumPageBlobTier', + 'SequenceNumberAction', + 'PublicAccess', + 'BlobAnalyticsLogging', + 'Metrics', + 'RetentionPolicy', + 'StaticWebsite', + 'CorsRule', + 'ContainerProperties', + 'BlobProperties', + 'BlobPrefix', + 'FilteredBlob', + 'LeaseProperties', + 'ContentSettings', + 'CopyProperties', + 'BlobBlock', + 'PageRange', + 'AccessPolicy', + 'ContainerSasPermissions', + 'BlobSasPermissions', + 'ResourceTypes', + 'AccountSasPermissions', + 'StorageStreamDownloader', + 'CustomerProvidedEncryptionKey', + 'RehydratePriority', + 'generate_account_sas', + 'generate_container_sas', + 'generate_blob_sas', + 'PartialBatchErrorException', + 'ContainerEncryptionScope', + 'BlobQueryError', + 'DelimitedJsonDialect', + 'DelimitedTextDialect', + 'ArrowDialect', + 'ArrowType', + 'BlobQueryReader', + 'ObjectReplicationPolicy', + 'ObjectReplicationRule' +] diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_blob_client.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_blob_client.py new file mode 100644 index 00000000000..fd3c4a68bed --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_blob_client.py @@ -0,0 +1,3579 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +# pylint: disable=too-many-lines,no-self-use + +from io import BytesIO +from typing import ( # pylint: disable=unused-import + Union, Optional, Any, IO, Iterable, AnyStr, Dict, List, Tuple, + TYPE_CHECKING +) +try: + from urllib.parse import urlparse, quote, unquote +except ImportError: + from urlparse import urlparse # type: ignore + from urllib2 import quote, unquote # type: ignore + +import six +from azure.core.tracing.decorator import distributed_trace +from azure.core.exceptions import ResourceNotFoundError + +from ._shared import encode_base64 +from ._shared.base_client import StorageAccountHostsMixin, parse_connection_str, parse_query +from ._shared.encryption import generate_blob_encryption_data +from ._shared.uploads import IterStreamer +from ._shared.request_handlers import ( + add_metadata_headers, get_length, read_length, + validate_and_format_range_headers) +from ._shared.response_handlers import return_response_headers, process_storage_error, return_headers_and_deserialized +from ._generated import AzureBlobStorage, VERSION +from ._generated.models import ( # pylint: disable=unused-import + DeleteSnapshotsOptionType, + BlobHTTPHeaders, + BlockLookupList, + AppendPositionAccessConditions, + SequenceNumberAccessConditions, + StorageErrorException, + QueryRequest, + CpkInfo) +from ._serialize import ( + get_modify_conditions, + get_source_conditions, + get_cpk_scope_info, + get_api_version, + serialize_blob_tags_header, + serialize_blob_tags, + serialize_query_format, get_access_conditions +) +from ._deserialize import get_page_ranges_result, deserialize_blob_properties, deserialize_blob_stream, parse_tags +from ._quick_query_helper import BlobQueryReader +from ._upload_helpers import ( + upload_block_blob, + upload_append_blob, + upload_page_blob) +from ._models import BlobType, BlobBlock, BlobProperties, BlobQueryError +from ._download import StorageStreamDownloader +from ._lease import BlobLeaseClient + +if TYPE_CHECKING: + from datetime import datetime + from ._generated.models import BlockList + from ._models import ( # pylint: disable=unused-import + ContentSettings, + PremiumPageBlobTier, + StandardBlobTier, + SequenceNumberAction + ) + +_ERROR_UNSUPPORTED_METHOD_FOR_ENCRYPTION = ( + 'The require_encryption flag is set, but encryption is not supported' + ' for this method.') + + +class BlobClient(StorageAccountHostsMixin): # pylint: disable=too-many-public-methods + """A client to interact with a specific blob, although that blob may not yet exist. + + :param str account_url: + The URI to the storage account. In order to create a client given the full URI to the blob, + use the :func:`from_blob_url` classmethod. + :param container_name: The container name for the blob. + :type container_name: str + :param blob_name: The name of the blob with which to interact. If specified, this value will override + a blob value specified in the blob URL. + :type blob_name: str + :param str snapshot: + The optional blob snapshot on which to operate. This can be the snapshot ID string + or the response returned from :func:`create_snapshot`. + :param credential: + The credentials with which to authenticate. This is optional if the + account URL already has a SAS token. The value can be a SAS token string, an account + shared access key, or an instance of a TokenCredentials class from azure.identity. + If the URL already has a SAS token, specifying an explicit credential will take priority. + :keyword str api_version: + The Storage API version to use for requests. Default value is '2019-07-07'. + Setting to an older version may result in reduced feature compatibility. + + .. versionadded:: 12.2.0 + + :keyword str secondary_hostname: + The hostname of the secondary endpoint. + :keyword int max_block_size: The maximum chunk size for uploading a block blob in chunks. + Defaults to 4*1024*1024, or 4MB. + :keyword int max_single_put_size: If the blob size is less than or equal max_single_put_size, then the blob will be + uploaded with only one http PUT request. If the blob size is larger than max_single_put_size, + the blob will be uploaded in chunks. Defaults to 64*1024*1024, or 64MB. + :keyword int min_large_block_upload_threshold: The minimum chunk size required to use the memory efficient + algorithm when uploading a block blob. Defaults to 4*1024*1024+1. + :keyword bool use_byte_buffer: Use a byte buffer for block blob uploads. Defaults to False. + :keyword int max_page_size: The maximum chunk size for uploading a page blob. Defaults to 4*1024*1024, or 4MB. + :keyword int max_single_get_size: The maximum size for a blob to be downloaded in a single call, + the exceeded part will be downloaded in chunks (could be parallel). Defaults to 32*1024*1024, or 32MB. + :keyword int max_chunk_get_size: The maximum chunk size used for downloading a blob. Defaults to 4*1024*1024, + or 4MB. + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_authentication.py + :start-after: [START create_blob_client] + :end-before: [END create_blob_client] + :language: python + :dedent: 8 + :caption: Creating the BlobClient from a URL to a public blob (no auth needed). + + .. literalinclude:: ../samples/blob_samples_authentication.py + :start-after: [START create_blob_client_sas_url] + :end-before: [END create_blob_client_sas_url] + :language: python + :dedent: 8 + :caption: Creating the BlobClient from a SAS URL to a blob. + """ + def __init__( + self, account_url, # type: str + container_name, # type: str + blob_name, # type: str + snapshot=None, # type: Optional[Union[str, Dict[str, Any]]] + credential=None, # type: Optional[Any] + **kwargs # type: Any + ): + # type: (...) -> None + try: + if not account_url.lower().startswith('http'): + account_url = "https://" + account_url + except AttributeError: + raise ValueError("Account URL must be a string.") + parsed_url = urlparse(account_url.rstrip('/')) + + if not (container_name and blob_name): + raise ValueError("Please specify a container name and blob name.") + if not parsed_url.netloc: + raise ValueError("Invalid URL: {}".format(account_url)) + + path_snapshot, sas_token = parse_query(parsed_url.query) + + self.container_name = container_name + self.blob_name = blob_name + try: + self.snapshot = snapshot.snapshot # type: ignore + except AttributeError: + try: + self.snapshot = snapshot['snapshot'] # type: ignore + except TypeError: + self.snapshot = snapshot or path_snapshot + + self._query_str, credential = self._format_query_string(sas_token, credential, snapshot=self.snapshot) + super(BlobClient, self).__init__(parsed_url, service='blob', credential=credential, **kwargs) + self._client = AzureBlobStorage(self.url, pipeline=self._pipeline) + self._client._config.version = get_api_version(kwargs, VERSION) # pylint: disable=protected-access + + def _format_url(self, hostname): + container_name = self.container_name + if isinstance(container_name, six.text_type): + container_name = container_name.encode('UTF-8') + return "{}://{}/{}/{}{}".format( + self.scheme, + hostname, + quote(container_name), + quote(self.blob_name, safe='~/'), + self._query_str) + + def _encode_source_url(self, source_url): + parsed_source_url = urlparse(source_url) + source_scheme = parsed_source_url.scheme + source_hostname = parsed_source_url.netloc.rstrip('/') + source_path = unquote(parsed_source_url.path) + source_query = parsed_source_url.query + result = ["{}://{}{}".format(source_scheme, source_hostname, quote(source_path, safe='~/'))] + if source_query: + result.append(source_query) + return '?'.join(result) + + @classmethod + def from_blob_url(cls, blob_url, credential=None, snapshot=None, **kwargs): + # type: (str, Optional[Any], Optional[Union[str, Dict[str, Any]]], Any) -> BlobClient + """Create BlobClient from a blob url. This doesn't support customized blob url with '/' in blob name. + + :param str blob_url: + The full endpoint URL to the Blob, including SAS token and snapshot if used. This could be + either the primary endpoint, or the secondary endpoint depending on the current `location_mode`. + :type blob_url: str + :param credential: + The credentials with which to authenticate. This is optional if the + account URL already has a SAS token, or the connection string already has shared + access key values. The value can be a SAS token string, an account shared access + key, or an instance of a TokenCredentials class from azure.identity. + Credentials provided here will take precedence over those in the connection string. + :param str snapshot: + The optional blob snapshot on which to operate. This can be the snapshot ID string + or the response returned from :func:`create_snapshot`. If specified, this will override + the snapshot in the url. + :returns: A Blob client. + :rtype: ~azure.storage.blob.BlobClient + """ + try: + if not blob_url.lower().startswith('http'): + blob_url = "https://" + blob_url + except AttributeError: + raise ValueError("Blob URL must be a string.") + parsed_url = urlparse(blob_url.rstrip('/')) + + if not parsed_url.netloc: + raise ValueError("Invalid URL: {}".format(blob_url)) + + account_path = "" + if ".core." in parsed_url.netloc: + # .core. is indicating non-customized url. Blob name with directory info can also be parsed. + path_blob = parsed_url.path.lstrip('/').split('/', 1) + elif "localhost" in parsed_url.netloc or "127.0.0.1" in parsed_url.netloc: + path_blob = parsed_url.path.lstrip('/').split('/', 2) + account_path += path_blob[0] + else: + # for customized url. blob name that has directory info cannot be parsed. + path_blob = parsed_url.path.lstrip('/').split('/') + if len(path_blob) > 2: + account_path = "/" + "/".join(path_blob[:-2]) + account_url = "{}://{}{}?{}".format( + parsed_url.scheme, + parsed_url.netloc.rstrip('/'), + account_path, + parsed_url.query) + container_name, blob_name = unquote(path_blob[-2]), unquote(path_blob[-1]) + if not container_name or not blob_name: + raise ValueError("Invalid URL. Provide a blob_url with a valid blob and container name.") + + path_snapshot, _ = parse_query(parsed_url.query) + if snapshot: + try: + path_snapshot = snapshot.snapshot # type: ignore + except AttributeError: + try: + path_snapshot = snapshot['snapshot'] # type: ignore + except TypeError: + path_snapshot = snapshot + + return cls( + account_url, container_name=container_name, blob_name=blob_name, + snapshot=path_snapshot, credential=credential, **kwargs + ) + + @classmethod + def from_connection_string( + cls, conn_str, # type: str + container_name, # type: str + blob_name, # type: str + snapshot=None, # type: Optional[str] + credential=None, # type: Optional[Any] + **kwargs # type: Any + ): # type: (...) -> BlobClient + """Create BlobClient from a Connection String. + + :param str conn_str: + A connection string to an Azure Storage account. + :param container_name: The container name for the blob. + :type container_name: str + :param blob_name: The name of the blob with which to interact. + :type blob_name: str + :param str snapshot: + The optional blob snapshot on which to operate. This can be the snapshot ID string + or the response returned from :func:`create_snapshot`. + :param credential: + The credentials with which to authenticate. This is optional if the + account URL already has a SAS token, or the connection string already has shared + access key values. The value can be a SAS token string, an account shared access + key, or an instance of a TokenCredentials class from azure.identity. + Credentials provided here will take precedence over those in the connection string. + :returns: A Blob client. + :rtype: ~azure.storage.blob.BlobClient + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_authentication.py + :start-after: [START auth_from_connection_string_blob] + :end-before: [END auth_from_connection_string_blob] + :language: python + :dedent: 8 + :caption: Creating the BlobClient from a connection string. + """ + account_url, secondary, credential = parse_connection_str(conn_str, credential, 'blob') + if 'secondary_hostname' not in kwargs: + kwargs['secondary_hostname'] = secondary + return cls( + account_url, container_name=container_name, blob_name=blob_name, + snapshot=snapshot, credential=credential, **kwargs + ) + + @distributed_trace + def get_account_information(self, **kwargs): + # type: (**Any) -> Dict[str, str] + """Gets information related to the storage account in which the blob resides. + + The information can also be retrieved if the user has a SAS to a container or blob. + The keys in the returned dictionary include 'sku_name' and 'account_kind'. + + :returns: A dict of account information (SKU and account type). + :rtype: dict(str, str) + """ + try: + return self._client.blob.get_account_info(cls=return_response_headers, **kwargs) # type: ignore + except StorageErrorException as error: + process_storage_error(error) + + def _upload_blob_options( # pylint:disable=too-many-statements + self, data, # type: Union[Iterable[AnyStr], IO[AnyStr]] + blob_type=BlobType.BlockBlob, # type: Union[str, BlobType] + length=None, # type: Optional[int] + metadata=None, # type: Optional[Dict[str, str]] + **kwargs + ): + # type: (...) -> Dict[str, Any] + if self.require_encryption and not self.key_encryption_key: + raise ValueError("Encryption required but no key was provided.") + encryption_options = { + 'required': self.require_encryption, + 'key': self.key_encryption_key, + 'resolver': self.key_resolver_function, + } + if self.key_encryption_key is not None: + cek, iv, encryption_data = generate_blob_encryption_data(self.key_encryption_key) + encryption_options['cek'] = cek + encryption_options['vector'] = iv + encryption_options['data'] = encryption_data + + encoding = kwargs.pop('encoding', 'UTF-8') + if isinstance(data, six.text_type): + data = data.encode(encoding) # type: ignore + if length is None: + length = get_length(data) + if isinstance(data, bytes): + data = data[:length] + + if isinstance(data, bytes): + stream = BytesIO(data) + elif hasattr(data, 'read'): + stream = data + elif hasattr(data, '__iter__'): + stream = IterStreamer(data, encoding=encoding) + else: + raise TypeError("Unsupported data type: {}".format(type(data))) + + validate_content = kwargs.pop('validate_content', False) + content_settings = kwargs.pop('content_settings', None) + overwrite = kwargs.pop('overwrite', False) + max_concurrency = kwargs.pop('max_concurrency', 1) + cpk = kwargs.pop('cpk', None) + cpk_info = None + if cpk: + if self.scheme.lower() != 'https': + raise ValueError("Customer provided encryption key must be used over HTTPS.") + cpk_info = CpkInfo(encryption_key=cpk.key_value, encryption_key_sha256=cpk.key_hash, + encryption_algorithm=cpk.algorithm) + kwargs['cpk_info'] = cpk_info + + headers = kwargs.pop('headers', {}) + headers.update(add_metadata_headers(metadata)) + kwargs['lease_access_conditions'] = get_access_conditions(kwargs.pop('lease', None)) + kwargs['modified_access_conditions'] = get_modify_conditions(kwargs) + kwargs['cpk_scope_info'] = get_cpk_scope_info(kwargs) + if content_settings: + kwargs['blob_headers'] = BlobHTTPHeaders( + blob_cache_control=content_settings.cache_control, + blob_content_type=content_settings.content_type, + blob_content_md5=bytearray(content_settings.content_md5) if content_settings.content_md5 else None, + blob_content_encoding=content_settings.content_encoding, + blob_content_language=content_settings.content_language, + blob_content_disposition=content_settings.content_disposition + ) + kwargs['blob_tags_string'] = serialize_blob_tags_header(kwargs.pop('tags', None)) + kwargs['stream'] = stream + kwargs['length'] = length + kwargs['overwrite'] = overwrite + kwargs['headers'] = headers + kwargs['validate_content'] = validate_content + kwargs['blob_settings'] = self._config + kwargs['max_concurrency'] = max_concurrency + kwargs['encryption_options'] = encryption_options + if blob_type == BlobType.BlockBlob: + kwargs['client'] = self._client.block_blob + kwargs['data'] = data + elif blob_type == BlobType.PageBlob: + kwargs['client'] = self._client.page_blob + elif blob_type == BlobType.AppendBlob: + if self.require_encryption or (self.key_encryption_key is not None): + raise ValueError(_ERROR_UNSUPPORTED_METHOD_FOR_ENCRYPTION) + kwargs['client'] = self._client.append_blob + else: + raise ValueError("Unsupported BlobType: {}".format(blob_type)) + return kwargs + + @distributed_trace + def upload_blob( # pylint: disable=too-many-locals + self, data, # type: Union[Iterable[AnyStr], IO[AnyStr]] + blob_type=BlobType.BlockBlob, # type: Union[str, BlobType] + length=None, # type: Optional[int] + metadata=None, # type: Optional[Dict[str, str]] + **kwargs + ): + # type: (...) -> Any + """Creates a new blob from a data source with automatic chunking. + + :param data: The blob data to upload. + :param ~azure.storage.blob.BlobType blob_type: The type of the blob. This can be + either BlockBlob, PageBlob or AppendBlob. The default value is BlockBlob. + :param int length: + Number of bytes to read from the stream. This is optional, but + should be supplied for optimal performance. + :param metadata: + Name-value pairs associated with the blob as metadata. + :type metadata: dict(str, str) + :keyword tags: + Name-value pairs associated with the blob as tag. Tags are case-sensitive. + The tag set may contain at most 10 tags. Tag keys must be between 1 and 128 characters, + and tag values must be between 0 and 256 characters. + Valid tag key and value characters include: lowercase and uppercase letters, digits (0-9), + space (` `), plus (+), minus (-), period (.), solidus (/), colon (:), equals (=), underscore (_) + + .. versionadded:: 12.4.0 + + :paramtype tags: dict(str, str) + :keyword bool overwrite: Whether the blob to be uploaded should overwrite the current data. + If True, upload_blob will overwrite the existing data. If set to False, the + operation will fail with ResourceExistsError. The exception to the above is with Append + blob types: if set to False and the data already exists, an error will not be raised + and the data will be appended to the existing blob. If set overwrite=True, then the existing + append blob will be deleted, and a new one created. Defaults to False. + :keyword ~azure.storage.blob.ContentSettings content_settings: + ContentSettings object used to set blob properties. Used to set content type, encoding, + language, disposition, md5, and cache control. + :keyword bool validate_content: + If true, calculates an MD5 hash for each chunk of the blob. The storage + service checks the hash of the content that has arrived with the hash + that was sent. This is primarily valuable for detecting bitflips on + the wire if using http instead of https, as https (the default), will + already validate. Note that this MD5 hash is not stored with the + blob. Also note that if enabled, the memory-efficient upload algorithm + will not be used because computing the MD5 hash requires buffering + entire blocks, and doing so defeats the purpose of the memory-efficient algorithm. + :keyword lease: + Required if the blob has an active lease. If specified, upload_blob only succeeds if the + blob's lease is active and matches this ID. Value can be a BlobLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.BlobLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword ~azure.storage.blob.PremiumPageBlobTier premium_page_blob_tier: + A page blob tier value to set the blob to. The tier correlates to the size of the + blob and number of allowed IOPS. This is only applicable to page blobs on + premium storage accounts. + :keyword ~azure.storage.blob.StandardBlobTier standard_blob_tier: + A standard blob tier value to set the blob to. For this version of the library, + this is only applicable to block blobs on standard storage accounts. + :keyword int maxsize_condition: + Optional conditional header. The max length in bytes permitted for + the append blob. If the Append Block operation would cause the blob + to exceed that limit or if the blob size is already greater than the + value specified in this header, the request will fail with + MaxBlobSizeConditionNotMet error (HTTP status code 412 - Precondition Failed). + :keyword int max_concurrency: + Maximum number of parallel connections to use when the blob size exceeds + 64MB. + :keyword ~azure.storage.blob.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. + :keyword str encryption_scope: + A predefined encryption scope used to encrypt the data on the service. An encryption + scope can be created using the Management API and referenced here by name. If a default + encryption scope has been defined at the container, this value will override it if the + container-level scope is configured to allow overrides. Otherwise an error will be raised. + + .. versionadded:: 12.2.0 + + :keyword str encoding: + Defaults to UTF-8. + :keyword int timeout: + The timeout parameter is expressed in seconds. This method may make + multiple calls to the Azure service and the timeout will apply to + each call individually. + :returns: Blob-updated property dict (Etag and last modified) + :rtype: dict[str, Any] + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_hello_world.py + :start-after: [START upload_a_blob] + :end-before: [END upload_a_blob] + :language: python + :dedent: 12 + :caption: Upload a blob to the container. + """ + options = self._upload_blob_options( + data, + blob_type=blob_type, + length=length, + metadata=metadata, + **kwargs) + if blob_type == BlobType.BlockBlob: + return upload_block_blob(**options) + if blob_type == BlobType.PageBlob: + return upload_page_blob(**options) + return upload_append_blob(**options) + + def _download_blob_options(self, offset=None, length=None, **kwargs): + # type: (Optional[int], Optional[int], **Any) -> Dict[str, Any] + if self.require_encryption and not self.key_encryption_key: + raise ValueError("Encryption required but no key was provided.") + if length is not None and offset is None: + raise ValueError("Offset value must not be None if length is set.") + if length is not None: + length = offset + length - 1 # Service actually uses an end-range inclusive index + + validate_content = kwargs.pop('validate_content', False) + access_conditions = get_access_conditions(kwargs.pop('lease', None)) + mod_conditions = get_modify_conditions(kwargs) + + cpk = kwargs.pop('cpk', None) + cpk_info = None + if cpk: + if self.scheme.lower() != 'https': + raise ValueError("Customer provided encryption key must be used over HTTPS.") + cpk_info = CpkInfo(encryption_key=cpk.key_value, encryption_key_sha256=cpk.key_hash, + encryption_algorithm=cpk.algorithm) + + options = { + 'clients': self._client, + 'config': self._config, + 'start_range': offset, + 'end_range': length, + 'version_id': kwargs.pop('version_id', None), + 'validate_content': validate_content, + 'encryption_options': { + 'required': self.require_encryption, + 'key': self.key_encryption_key, + 'resolver': self.key_resolver_function}, + 'lease_access_conditions': access_conditions, + 'modified_access_conditions': mod_conditions, + 'cpk_info': cpk_info, + 'cls': kwargs.pop('cls', None) or deserialize_blob_stream, + 'max_concurrency':kwargs.pop('max_concurrency', 1), + 'encoding': kwargs.pop('encoding', None), + 'timeout': kwargs.pop('timeout', None), + 'name': self.blob_name, + 'container': self.container_name} + options.update(kwargs) + return options + + @distributed_trace + def download_blob(self, offset=None, length=None, **kwargs): + # type: (Optional[int], Optional[int], **Any) -> StorageStreamDownloader + """Downloads a blob to the StorageStreamDownloader. The readall() method must + be used to read all the content or readinto() must be used to download the blob into + a stream. + + :param int offset: + Start of byte range to use for downloading a section of the blob. + Must be set if length is provided. + :param int length: + Number of bytes to read from the stream. This is optional, but + should be supplied for optimal performance. + :keyword str version_id: + The version id parameter is an opaque DateTime + value that, when present, specifies the version of the blob to download. + + .. versionadded:: 12.4.0 + This keyword argument was introduced in API version '2019-12-12'. + + :keyword bool validate_content: + If true, calculates an MD5 hash for each chunk of the blob. The storage + service checks the hash of the content that has arrived with the hash + that was sent. This is primarily valuable for detecting bitflips on + the wire if using http instead of https, as https (the default), will + already validate. Note that this MD5 hash is not stored with the + blob. Also note that if enabled, the memory-efficient upload algorithm + will not be used because computing the MD5 hash requires buffering + entire blocks, and doing so defeats the purpose of the memory-efficient algorithm. + :keyword lease: + Required if the blob has an active lease. If specified, download_blob only + succeeds if the blob's lease is active and matches this ID. Value can be a + BlobLeaseClient object or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.BlobLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword ~azure.storage.blob.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. + :keyword int max_concurrency: + The number of parallel connections with which to download. + :keyword str encoding: + Encoding to decode the downloaded bytes. Default is None, i.e. no decoding. + :keyword int timeout: + The timeout parameter is expressed in seconds. This method may make + multiple calls to the Azure service and the timeout will apply to + each call individually. + :returns: A streaming object (StorageStreamDownloader) + :rtype: ~azure.storage.blob.StorageStreamDownloader + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_hello_world.py + :start-after: [START download_a_blob] + :end-before: [END download_a_blob] + :language: python + :dedent: 12 + :caption: Download a blob. + """ + options = self._download_blob_options( + offset=offset, + length=length, + **kwargs) + return StorageStreamDownloader(**options) + + def _quick_query_options(self, query_expression, + **kwargs): + # type: (str, **Any) -> Dict[str, Any] + delimiter = '\n' + input_format = kwargs.pop('blob_format', None) + if input_format: + try: + delimiter = input_format.lineterminator + except AttributeError: + try: + delimiter = input_format.delimiter + except AttributeError: + raise ValueError("The Type of blob_format can only be DelimitedTextDialect or DelimitedJsonDialect") + output_format = kwargs.pop('output_format', None) + if output_format: + try: + delimiter = output_format.lineterminator + except AttributeError: + try: + delimiter = output_format.delimiter + except AttributeError: + pass + else: + output_format = input_format + query_request = QueryRequest( + expression=query_expression, + input_serialization=serialize_query_format(input_format), + output_serialization=serialize_query_format(output_format) + ) + access_conditions = get_access_conditions(kwargs.pop('lease', None)) + mod_conditions = get_modify_conditions(kwargs) + + cpk = kwargs.pop('cpk', None) + cpk_info = None + if cpk: + if self.scheme.lower() != 'https': + raise ValueError("Customer provided encryption key must be used over HTTPS.") + cpk_info = CpkInfo( + encryption_key=cpk.key_value, + encryption_key_sha256=cpk.key_hash, + encryption_algorithm=cpk.algorithm + ) + options = { + 'query_request': query_request, + 'lease_access_conditions': access_conditions, + 'modified_access_conditions': mod_conditions, + 'cpk_info': cpk_info, + 'snapshot': self.snapshot, + 'timeout': kwargs.pop('timeout', None), + 'cls': return_headers_and_deserialized, + } + options.update(kwargs) + return options, delimiter + + @distributed_trace + def query_blob(self, query_expression, **kwargs): + # type: (str, **Any) -> BlobQueryReader + """Enables users to select/project on blob/or blob snapshot data by providing simple query expressions. + This operations returns a BlobQueryReader, users need to use readall() or readinto() to get query data. + + :param str query_expression: + Required. a query statement. + :keyword Callable[~azure.storage.blob.BlobQueryError] on_error: + A function to be called on any processing errors returned by the service. + :keyword blob_format: + Optional. Defines the serialization of the data currently stored in the blob. The default is to + treat the blob data as CSV data formatted in the default dialect. This can be overridden with + a custom DelimitedTextDialect, or alternatively a DelimitedJsonDialect. + :paramtype blob_format: ~azure.storage.blob.DelimitedTextDialect or ~azure.storage.blob.DelimitedJsonDialect + :keyword output_format: + Optional. Defines the output serialization for the data stream. By default the data will be returned + as it is represented in the blob. By providing an output format, the blob data will be reformatted + according to that profile. This value can be a DelimitedTextDialect or a DelimitedJsonDialect. + :paramtype output_format: ~azure.storage.blob.DelimitedTextDialect, ~azure.storage.blob.DelimitedJsonDialect + or list[~azure.storage.blob.ArrowDialect] + :keyword lease: + Required if the blob has an active lease. Value can be a BlobLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.BlobLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword ~azure.storage.blob.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: A streaming object (BlobQueryReader) + :rtype: ~azure.storage.blob.BlobQueryReader + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_query.py + :start-after: [START query] + :end-before: [END query] + :language: python + :dedent: 4 + :caption: select/project on blob/or blob snapshot data by providing simple query expressions. + """ + errors = kwargs.pop("on_error", None) + error_cls = kwargs.pop("error_cls", BlobQueryError) + encoding = kwargs.pop("encoding", None) + options, delimiter = self._quick_query_options(query_expression, **kwargs) + try: + headers, raw_response_body = self._client.blob.query(**options) + except StorageErrorException as error: + process_storage_error(error) + return BlobQueryReader( + name=self.blob_name, + container=self.container_name, + errors=errors, + record_delimiter=delimiter, + encoding=encoding, + headers=headers, + response=raw_response_body, + error_cls=error_cls) + + @staticmethod + def _generic_delete_blob_options(delete_snapshots=False, **kwargs): + # type: (bool, **Any) -> Dict[str, Any] + access_conditions = get_access_conditions(kwargs.pop('lease', None)) + mod_conditions = get_modify_conditions(kwargs) + if delete_snapshots: + delete_snapshots = DeleteSnapshotsOptionType(delete_snapshots) + options = { + 'timeout': kwargs.pop('timeout', None), + 'snapshot': kwargs.pop('snapshot', None), # this is added for delete_blobs + 'delete_snapshots': delete_snapshots or None, + 'lease_access_conditions': access_conditions, + 'modified_access_conditions': mod_conditions} + options.update(kwargs) + return options + + def _delete_blob_options(self, delete_snapshots=False, **kwargs): + # type: (bool, **Any) -> Dict[str, Any] + if self.snapshot and delete_snapshots: + raise ValueError("The delete_snapshots option cannot be used with a specific snapshot.") + options = self._generic_delete_blob_options(delete_snapshots, **kwargs) + options['snapshot'] = self.snapshot + options['version_id'] = kwargs.pop('version_id', None) + return options + + @distributed_trace + def delete_blob(self, delete_snapshots=False, **kwargs): + # type: (str, **Any) -> None + """Marks the specified blob for deletion. + + The blob is later deleted during garbage collection. + Note that in order to delete a blob, you must delete all of its + snapshots. You can delete both at the same time with the delete_blob() + operation. + + If a delete retention policy is enabled for the service, then this operation soft deletes the blob + and retains the blob for a specified number of days. + After the specified number of days, the blob's data is removed from the service during garbage collection. + Soft deleted blob is accessible through :func:`~ContainerClient.list_blobs()` specifying `include=['deleted']` + option. Soft-deleted blob can be restored using :func:`undelete` operation. + + :param str delete_snapshots: + Required if the blob has associated snapshots. Values include: + - "only": Deletes only the blobs snapshots. + - "include": Deletes the blob along with all snapshots. + :keyword str version_id: + The version id parameter is an opaque DateTime + value that, when present, specifies the version of the blob to delete. + + .. versionadded:: 12.4.0 + This keyword argument was introduced in API version '2019-12-12'. + + :keyword lease: + Required if the blob has an active lease. If specified, delete_blob only + succeeds if the blob's lease is active and matches this ID. Value can be a + BlobLeaseClient object or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.BlobLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword int timeout: + The timeout parameter is expressed in seconds. + :rtype: None + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_hello_world.py + :start-after: [START delete_blob] + :end-before: [END delete_blob] + :language: python + :dedent: 12 + :caption: Delete a blob. + """ + options = self._delete_blob_options(delete_snapshots=delete_snapshots, **kwargs) + try: + self._client.blob.delete(**options) + except StorageErrorException as error: + process_storage_error(error) + + @distributed_trace + def undelete_blob(self, **kwargs): + # type: (**Any) -> None + """Restores soft-deleted blobs or snapshots. + + Operation will only be successful if used within the specified number of days + set in the delete retention policy. + + :keyword int timeout: + The timeout parameter is expressed in seconds. + :rtype: None + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_common.py + :start-after: [START undelete_blob] + :end-before: [END undelete_blob] + :language: python + :dedent: 8 + :caption: Undeleting a blob. + """ + try: + self._client.blob.undelete(timeout=kwargs.pop('timeout', None), **kwargs) + except StorageErrorException as error: + process_storage_error(error) + + @distributed_trace() + def exists(self, **kwargs): + # type: (**Any) -> bool + """ + Returns True if a blob exists with the defined parameters, and returns + False otherwise. + + :param str version_id: + The version id parameter is an opaque DateTime + value that, when present, specifies the version of the blob to check if it exists. + :param int timeout: + The timeout parameter is expressed in seconds. + :returns: boolean + """ + try: + self._client.blob.get_properties( + snapshot=self.snapshot, + **kwargs) + return True + except StorageErrorException as error: + try: + process_storage_error(error) + except ResourceNotFoundError: + return False + + @distributed_trace + def get_blob_properties(self, **kwargs): + # type: (**Any) -> BlobProperties + """Returns all user-defined metadata, standard HTTP properties, and + system properties for the blob. It does not return the content of the blob. + + :keyword lease: + Required if the blob has an active lease. Value can be a BlobLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.BlobLeaseClient or str + :keyword str version_id: + The version id parameter is an opaque DateTime + value that, when present, specifies the version of the blob to get properties. + + .. versionadded:: 12.4.0 + This keyword argument was introduced in API version '2019-12-12'. + + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword ~azure.storage.blob.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: BlobProperties + :rtype: ~azure.storage.blob.BlobProperties + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_common.py + :start-after: [START get_blob_properties] + :end-before: [END get_blob_properties] + :language: python + :dedent: 8 + :caption: Getting the properties for a blob. + """ + # TODO: extract this out as _get_blob_properties_options + access_conditions = get_access_conditions(kwargs.pop('lease', None)) + mod_conditions = get_modify_conditions(kwargs) + cpk = kwargs.pop('cpk', None) + cpk_info = None + if cpk: + if self.scheme.lower() != 'https': + raise ValueError("Customer provided encryption key must be used over HTTPS.") + cpk_info = CpkInfo(encryption_key=cpk.key_value, encryption_key_sha256=cpk.key_hash, + encryption_algorithm=cpk.algorithm) + try: + blob_props = self._client.blob.get_properties( + timeout=kwargs.pop('timeout', None), + version_id=kwargs.pop('version_id', None), + snapshot=self.snapshot, + lease_access_conditions=access_conditions, + modified_access_conditions=mod_conditions, + cls=kwargs.pop('cls', None) or deserialize_blob_properties, + cpk_info=cpk_info, + **kwargs) + except StorageErrorException as error: + process_storage_error(error) + blob_props.name = self.blob_name + if isinstance(blob_props, BlobProperties): + blob_props.container = self.container_name + blob_props.snapshot = self.snapshot + return blob_props # type: ignore + + def _set_http_headers_options(self, content_settings=None, **kwargs): + # type: (Optional[ContentSettings], **Any) -> Dict[str, Any] + access_conditions = get_access_conditions(kwargs.pop('lease', None)) + mod_conditions = get_modify_conditions(kwargs) + blob_headers = None + if content_settings: + blob_headers = BlobHTTPHeaders( + blob_cache_control=content_settings.cache_control, + blob_content_type=content_settings.content_type, + blob_content_md5=bytearray(content_settings.content_md5) if content_settings.content_md5 else None, + blob_content_encoding=content_settings.content_encoding, + blob_content_language=content_settings.content_language, + blob_content_disposition=content_settings.content_disposition + ) + options = { + 'timeout': kwargs.pop('timeout', None), + 'blob_http_headers': blob_headers, + 'lease_access_conditions': access_conditions, + 'modified_access_conditions': mod_conditions, + 'cls': return_response_headers} + options.update(kwargs) + return options + + @distributed_trace + def set_http_headers(self, content_settings=None, **kwargs): + # type: (Optional[ContentSettings], **Any) -> None + """Sets system properties on the blob. + + If one property is set for the content_settings, all properties will be overridden. + + :param ~azure.storage.blob.ContentSettings content_settings: + ContentSettings object used to set blob properties. Used to set content type, encoding, + language, disposition, md5, and cache control. + :keyword lease: + Required if the blob has an active lease. Value can be a BlobLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.BlobLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: Blob-updated property dict (Etag and last modified) + :rtype: Dict[str, Any] + """ + options = self._set_http_headers_options(content_settings=content_settings, **kwargs) + try: + return self._client.blob.set_http_headers(**options) # type: ignore + except StorageErrorException as error: + process_storage_error(error) + + def _set_blob_metadata_options(self, metadata=None, **kwargs): + # type: (Optional[Dict[str, str]], **Any) -> Dict[str, Any] + headers = kwargs.pop('headers', {}) + headers.update(add_metadata_headers(metadata)) + access_conditions = get_access_conditions(kwargs.pop('lease', None)) + mod_conditions = get_modify_conditions(kwargs) + cpk_scope_info = get_cpk_scope_info(kwargs) + + cpk = kwargs.pop('cpk', None) + cpk_info = None + if cpk: + if self.scheme.lower() != 'https': + raise ValueError("Customer provided encryption key must be used over HTTPS.") + cpk_info = CpkInfo(encryption_key=cpk.key_value, encryption_key_sha256=cpk.key_hash, + encryption_algorithm=cpk.algorithm) + options = { + 'timeout': kwargs.pop('timeout', None), + 'lease_access_conditions': access_conditions, + 'modified_access_conditions': mod_conditions, + 'cpk_scope_info': cpk_scope_info, + 'cpk_info': cpk_info, + 'cls': return_response_headers, + 'headers': headers} + options.update(kwargs) + return options + + @distributed_trace + def set_blob_metadata(self, metadata=None, **kwargs): + # type: (Optional[Dict[str, str]], **Any) -> Dict[str, Union[str, datetime]] + """Sets user-defined metadata for the blob as one or more name-value pairs. + + :param metadata: + Dict containing name and value pairs. Each call to this operation + replaces all existing metadata attached to the blob. To remove all + metadata from the blob, call this operation with no metadata headers. + :type metadata: dict(str, str) + :keyword lease: + Required if the blob has an active lease. Value can be a BlobLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.BlobLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword ~azure.storage.blob.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. + :keyword str encryption_scope: + A predefined encryption scope used to encrypt the data on the service. An encryption + scope can be created using the Management API and referenced here by name. If a default + encryption scope has been defined at the container, this value will override it if the + container-level scope is configured to allow overrides. Otherwise an error will be raised. + + .. versionadded:: 12.2.0 + + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: Blob-updated property dict (Etag and last modified) + """ + options = self._set_blob_metadata_options(metadata=metadata, **kwargs) + try: + return self._client.blob.set_metadata(**options) # type: ignore + except StorageErrorException as error: + process_storage_error(error) + + def _create_page_blob_options( # type: ignore + self, size, # type: int + content_settings=None, # type: Optional[ContentSettings] + metadata=None, # type: Optional[Dict[str, str]] + premium_page_blob_tier=None, # type: Optional[Union[str, PremiumPageBlobTier]] + **kwargs + ): + # type: (...) -> Dict[str, Any] + if self.require_encryption or (self.key_encryption_key is not None): + raise ValueError(_ERROR_UNSUPPORTED_METHOD_FOR_ENCRYPTION) + headers = kwargs.pop('headers', {}) + headers.update(add_metadata_headers(metadata)) + access_conditions = get_access_conditions(kwargs.pop('lease', None)) + mod_conditions = get_modify_conditions(kwargs) + cpk_scope_info = get_cpk_scope_info(kwargs) + blob_headers = None + if content_settings: + blob_headers = BlobHTTPHeaders( + blob_cache_control=content_settings.cache_control, + blob_content_type=content_settings.content_type, + blob_content_md5=bytearray(content_settings.content_md5) if content_settings.content_md5 else None, + blob_content_encoding=content_settings.content_encoding, + blob_content_language=content_settings.content_language, + blob_content_disposition=content_settings.content_disposition + ) + + sequence_number = kwargs.pop('sequence_number', None) + cpk = kwargs.pop('cpk', None) + cpk_info = None + if cpk: + if self.scheme.lower() != 'https': + raise ValueError("Customer provided encryption key must be used over HTTPS.") + cpk_info = CpkInfo(encryption_key=cpk.key_value, encryption_key_sha256=cpk.key_hash, + encryption_algorithm=cpk.algorithm) + + if premium_page_blob_tier: + try: + headers['x-ms-access-tier'] = premium_page_blob_tier.value # type: ignore + except AttributeError: + headers['x-ms-access-tier'] = premium_page_blob_tier # type: ignore + + blob_tags_string = serialize_blob_tags_header(kwargs.pop('tags', None)) + + options = { + 'content_length': 0, + 'blob_content_length': size, + 'blob_sequence_number': sequence_number, + 'blob_http_headers': blob_headers, + 'timeout': kwargs.pop('timeout', None), + 'lease_access_conditions': access_conditions, + 'modified_access_conditions': mod_conditions, + 'cpk_scope_info': cpk_scope_info, + 'cpk_info': cpk_info, + 'blob_tags_string': blob_tags_string, + 'cls': return_response_headers, + 'headers': headers} + options.update(kwargs) + return options + + @distributed_trace + def create_page_blob( # type: ignore + self, size, # type: int + content_settings=None, # type: Optional[ContentSettings] + metadata=None, # type: Optional[Dict[str, str]] + premium_page_blob_tier=None, # type: Optional[Union[str, PremiumPageBlobTier]] + **kwargs + ): + # type: (...) -> Dict[str, Union[str, datetime]] + """Creates a new Page Blob of the specified size. + + :param int size: + This specifies the maximum size for the page blob, up to 1 TB. + The page blob size must be aligned to a 512-byte boundary. + :param ~azure.storage.blob.ContentSettings content_settings: + ContentSettings object used to set blob properties. Used to set content type, encoding, + language, disposition, md5, and cache control. + :param metadata: + Name-value pairs associated with the blob as metadata. + :type metadata: dict(str, str) + :param ~azure.storage.blob.PremiumPageBlobTier premium_page_blob_tier: + A page blob tier value to set the blob to. The tier correlates to the size of the + blob and number of allowed IOPS. This is only applicable to page blobs on + premium storage accounts. + :keyword tags: + Name-value pairs associated with the blob as tag. Tags are case-sensitive. + The tag set may contain at most 10 tags. Tag keys must be between 1 and 128 characters, + and tag values must be between 0 and 256 characters. + Valid tag key and value characters include: lowercase and uppercase letters, digits (0-9), + space (` `), plus (+), minus (-), period (.), solidus (/), colon (:), equals (=), underscore (_) + + .. versionadded:: 12.4.0 + + :paramtype tags: dict(str, str) + :keyword int sequence_number: + Only for Page blobs. The sequence number is a user-controlled value that you can use to + track requests. The value of the sequence number must be between 0 + and 2^63 - 1.The default value is 0. + :keyword lease: + Required if the blob has an active lease. Value can be a BlobLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.BlobLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword ~azure.storage.blob.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. + :keyword str encryption_scope: + A predefined encryption scope used to encrypt the data on the service. An encryption + scope can be created using the Management API and referenced here by name. If a default + encryption scope has been defined at the container, this value will override it if the + container-level scope is configured to allow overrides. Otherwise an error will be raised. + + .. versionadded:: 12.2.0 + + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: Blob-updated property dict (Etag and last modified). + :rtype: dict[str, Any] + """ + options = self._create_page_blob_options( + size, + content_settings=content_settings, + metadata=metadata, + premium_page_blob_tier=premium_page_blob_tier, + **kwargs) + try: + return self._client.page_blob.create(**options) # type: ignore + except StorageErrorException as error: + process_storage_error(error) + + def _create_append_blob_options(self, content_settings=None, metadata=None, **kwargs): + # type: (Optional[ContentSettings], Optional[Dict[str, str]], **Any) -> Dict[str, Any] + if self.require_encryption or (self.key_encryption_key is not None): + raise ValueError(_ERROR_UNSUPPORTED_METHOD_FOR_ENCRYPTION) + headers = kwargs.pop('headers', {}) + headers.update(add_metadata_headers(metadata)) + access_conditions = get_access_conditions(kwargs.pop('lease', None)) + mod_conditions = get_modify_conditions(kwargs) + cpk_scope_info = get_cpk_scope_info(kwargs) + blob_headers = None + if content_settings: + blob_headers = BlobHTTPHeaders( + blob_cache_control=content_settings.cache_control, + blob_content_type=content_settings.content_type, + blob_content_md5=bytearray(content_settings.content_md5) if content_settings.content_md5 else None, + blob_content_encoding=content_settings.content_encoding, + blob_content_language=content_settings.content_language, + blob_content_disposition=content_settings.content_disposition + ) + + cpk = kwargs.pop('cpk', None) + cpk_info = None + if cpk: + if self.scheme.lower() != 'https': + raise ValueError("Customer provided encryption key must be used over HTTPS.") + cpk_info = CpkInfo(encryption_key=cpk.key_value, encryption_key_sha256=cpk.key_hash, + encryption_algorithm=cpk.algorithm) + blob_tags_string = serialize_blob_tags_header(kwargs.pop('tags', None)) + + options = { + 'content_length': 0, + 'blob_http_headers': blob_headers, + 'timeout': kwargs.pop('timeout', None), + 'lease_access_conditions': access_conditions, + 'modified_access_conditions': mod_conditions, + 'cpk_scope_info': cpk_scope_info, + 'cpk_info': cpk_info, + 'blob_tags_string': blob_tags_string, + 'cls': return_response_headers, + 'headers': headers} + options.update(kwargs) + return options + + @distributed_trace + def create_append_blob(self, content_settings=None, metadata=None, **kwargs): + # type: (Optional[ContentSettings], Optional[Dict[str, str]], **Any) -> Dict[str, Union[str, datetime]] + """Creates a new Append Blob. + + :param ~azure.storage.blob.ContentSettings content_settings: + ContentSettings object used to set blob properties. Used to set content type, encoding, + language, disposition, md5, and cache control. + :param metadata: + Name-value pairs associated with the blob as metadata. + :type metadata: dict(str, str) + :keyword tags: + Name-value pairs associated with the blob as tag. Tags are case-sensitive. + The tag set may contain at most 10 tags. Tag keys must be between 1 and 128 characters, + and tag values must be between 0 and 256 characters. + Valid tag key and value characters include: lowercase and uppercase letters, digits (0-9), + space (` `), plus (+), minus (-), period (.), solidus (/), colon (:), equals (=), underscore (_) + + .. versionadded:: 12.4.0 + + :paramtype tags: dict(str, str) + :keyword lease: + Required if the blob has an active lease. Value can be a BlobLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.BlobLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword ~azure.storage.blob.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. + :keyword str encryption_scope: + A predefined encryption scope used to encrypt the data on the service. An encryption + scope can be created using the Management API and referenced here by name. If a default + encryption scope has been defined at the container, this value will override it if the + container-level scope is configured to allow overrides. Otherwise an error will be raised. + + .. versionadded:: 12.2.0 + + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: Blob-updated property dict (Etag and last modified). + :rtype: dict[str, Any] + """ + options = self._create_append_blob_options( + content_settings=content_settings, + metadata=metadata, + **kwargs) + try: + return self._client.append_blob.create(**options) # type: ignore + except StorageErrorException as error: + process_storage_error(error) + + def _create_snapshot_options(self, metadata=None, **kwargs): + # type: (Optional[Dict[str, str]], **Any) -> Dict[str, Any] + headers = kwargs.pop('headers', {}) + headers.update(add_metadata_headers(metadata)) + access_conditions = get_access_conditions(kwargs.pop('lease', None)) + mod_conditions = get_modify_conditions(kwargs) + cpk_scope_info = get_cpk_scope_info(kwargs) + cpk = kwargs.pop('cpk', None) + cpk_info = None + if cpk: + if self.scheme.lower() != 'https': + raise ValueError("Customer provided encryption key must be used over HTTPS.") + cpk_info = CpkInfo(encryption_key=cpk.key_value, encryption_key_sha256=cpk.key_hash, + encryption_algorithm=cpk.algorithm) + + options = { + 'timeout': kwargs.pop('timeout', None), + 'lease_access_conditions': access_conditions, + 'modified_access_conditions': mod_conditions, + 'cpk_scope_info': cpk_scope_info, + 'cpk_info': cpk_info, + 'cls': return_response_headers, + 'headers': headers} + options.update(kwargs) + return options + + @distributed_trace + def create_snapshot(self, metadata=None, **kwargs): + # type: (Optional[Dict[str, str]], **Any) -> Dict[str, Union[str, datetime]] + """Creates a snapshot of the blob. + + A snapshot is a read-only version of a blob that's taken at a point in time. + It can be read, copied, or deleted, but not modified. Snapshots provide a way + to back up a blob as it appears at a moment in time. + + A snapshot of a blob has the same name as the base blob from which the snapshot + is taken, with a DateTime value appended to indicate the time at which the + snapshot was taken. + + :param metadata: + Name-value pairs associated with the blob as metadata. + :type metadata: dict(str, str) + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on destination blob with a matching value. + + .. versionadded:: 12.4.0 + + :keyword lease: + Required if the blob has an active lease. Value can be a BlobLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.BlobLeaseClient or str + :keyword ~azure.storage.blob.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. + :keyword str encryption_scope: + A predefined encryption scope used to encrypt the data on the service. An encryption + scope can be created using the Management API and referenced here by name. If a default + encryption scope has been defined at the container, this value will override it if the + container-level scope is configured to allow overrides. Otherwise an error will be raised. + + .. versionadded:: 12.2.0 + + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: Blob-updated property dict (Snapshot ID, Etag, and last modified). + :rtype: dict[str, Any] + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_common.py + :start-after: [START create_blob_snapshot] + :end-before: [END create_blob_snapshot] + :language: python + :dedent: 8 + :caption: Create a snapshot of the blob. + """ + options = self._create_snapshot_options(metadata=metadata, **kwargs) + try: + return self._client.blob.create_snapshot(**options) # type: ignore + except StorageErrorException as error: + process_storage_error(error) + + def _start_copy_from_url_options(self, source_url, metadata=None, incremental_copy=False, **kwargs): + # type: (str, Optional[Dict[str, str]], bool, **Any) -> Dict[str, Any] + headers = kwargs.pop('headers', {}) + headers.update(add_metadata_headers(metadata)) + if 'source_lease' in kwargs: + source_lease = kwargs.pop('source_lease') + try: + headers['x-ms-source-lease-id'] = source_lease.id # type: str + except AttributeError: + headers['x-ms-source-lease-id'] = source_lease + + tier = kwargs.pop('premium_page_blob_tier', None) or kwargs.pop('standard_blob_tier', None) + + if kwargs.get('requires_sync'): + headers['x-ms-requires-sync'] = str(kwargs.pop('requires_sync')) + + timeout = kwargs.pop('timeout', None) + dest_mod_conditions = get_modify_conditions(kwargs) + blob_tags_string = serialize_blob_tags_header(kwargs.pop('tags', None)) + + options = { + 'copy_source': source_url, + 'seal_blob': kwargs.pop('seal_destination_blob', None), + 'timeout': timeout, + 'modified_access_conditions': dest_mod_conditions, + 'blob_tags_string': blob_tags_string, + 'headers': headers, + 'cls': return_response_headers, + } + if not incremental_copy: + source_mod_conditions = get_source_conditions(kwargs) + dest_access_conditions = get_access_conditions(kwargs.pop('destination_lease', None)) + options['source_modified_access_conditions'] = source_mod_conditions + options['lease_access_conditions'] = dest_access_conditions + options['tier'] = tier.value if tier else None + options.update(kwargs) + return options + + @distributed_trace + def start_copy_from_url(self, source_url, metadata=None, incremental_copy=False, **kwargs): + # type: (str, Optional[Dict[str, str]], bool, **Any) -> Dict[str, Union[str, datetime]] + """Copies a blob asynchronously. + + This operation returns a copy operation + object that can be used to wait on the completion of the operation, + as well as check status or abort the copy operation. + The Blob service copies blobs on a best-effort basis. + + The source blob for a copy operation may be a block blob, an append blob, + or a page blob. If the destination blob already exists, it must be of the + same blob type as the source blob. Any existing destination blob will be + overwritten. The destination blob cannot be modified while a copy operation + is in progress. + + When copying from a page blob, the Blob service creates a destination page + blob of the source blob's length, initially containing all zeroes. Then + the source page ranges are enumerated, and non-empty ranges are copied. + + For a block blob or an append blob, the Blob service creates a committed + blob of zero length before returning from this operation. When copying + from a block blob, all committed blocks and their block IDs are copied. + Uncommitted blocks are not copied. At the end of the copy operation, the + destination blob will have the same committed block count as the source. + + When copying from an append blob, all committed blocks are copied. At the + end of the copy operation, the destination blob will have the same committed + block count as the source. + + For all blob types, you can call status() on the returned polling object + to check the status of the copy operation, or wait() to block until the + operation is complete. The final blob will be committed when the copy completes. + + :param str source_url: + A URL of up to 2 KB in length that specifies a file or blob. + The value should be URL-encoded as it would appear in a request URI. + If the source is in another account, the source must either be public + or must be authenticated via a shared access signature. If the source + is public, no authentication is required. + Examples: + https://myaccount.blob.core.windows.net/mycontainer/myblob + + https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot= + + https://otheraccount.blob.core.windows.net/mycontainer/myblob?sastoken + :param metadata: + Name-value pairs associated with the blob as metadata. If no name-value + pairs are specified, the operation will copy the metadata from the + source blob or file to the destination blob. If one or more name-value + pairs are specified, the destination blob is created with the specified + metadata, and metadata is not copied from the source blob or file. + :type metadata: dict(str, str) + :param bool incremental_copy: + Copies the snapshot of the source page blob to a destination page blob. + The snapshot is copied such that only the differential changes between + the previously copied snapshot are transferred to the destination. + The copied snapshots are complete copies of the original snapshot and + can be read or copied from as usual. Defaults to False. + :keyword tags: + Name-value pairs associated with the blob as tag. Tags are case-sensitive. + The tag set may contain at most 10 tags. Tag keys must be between 1 and 128 characters, + and tag values must be between 0 and 256 characters. + Valid tag key and value characters include: lowercase and uppercase letters, digits (0-9), + space (` `), plus (+), minus (-), period (.), solidus (/), colon (:), equals (=), underscore (_) + + .. versionadded:: 12.4.0 + + :paramtype tags: dict(str, str) + :keyword ~datetime.datetime source_if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this conditional header to copy the blob only if the source + blob has been modified since the specified date/time. + :keyword ~datetime.datetime source_if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this conditional header to copy the blob only if the source blob + has not been modified since the specified date/time. + :keyword str source_etag: + The source ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions source_match_condition: + The source match condition to use upon the etag. + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this conditional header to copy the blob only + if the destination blob has been modified since the specified date/time. + If the destination blob has not been modified, the Blob service returns + status code 412 (Precondition Failed). + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this conditional header to copy the blob only + if the destination blob has not been modified since the specified + date/time. If the destination blob has been modified, the Blob service + returns status code 412 (Precondition Failed). + :keyword str etag: + The destination ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The destination match condition to use upon the etag. + :keyword destination_lease: + The lease ID specified for this header must match the lease ID of the + destination blob. If the request does not include the lease ID or it is not + valid, the operation fails with status code 412 (Precondition Failed). + :paramtype destination_lease: ~azure.storage.blob.BlobLeaseClient or str + :keyword source_lease: + Specify this to perform the Copy Blob operation only if + the lease ID given matches the active lease ID of the source blob. + :paramtype source_lease: ~azure.storage.blob.BlobLeaseClient or str + :keyword int timeout: + The timeout parameter is expressed in seconds. + :keyword ~azure.storage.blob.PremiumPageBlobTier premium_page_blob_tier: + A page blob tier value to set the blob to. The tier correlates to the size of the + blob and number of allowed IOPS. This is only applicable to page blobs on + premium storage accounts. + :keyword ~azure.storage.blob.StandardBlobTier standard_blob_tier: + A standard blob tier value to set the blob to. For this version of the library, + this is only applicable to block blobs on standard storage accounts. + :keyword ~azure.storage.blob.RehydratePriority rehydrate_priority: + Indicates the priority with which to rehydrate an archived blob + :keyword bool seal_destination_blob: + Seal the destination append blob. This operation is only for append blob. + + .. versionadded:: 12.4.0 + + :keyword bool requires_sync: + Enforces that the service will not return a response until the copy is complete. + :returns: A dictionary of copy properties (etag, last_modified, copy_id, copy_status). + :rtype: dict[str, str or ~datetime.datetime] + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_common.py + :start-after: [START copy_blob_from_url] + :end-before: [END copy_blob_from_url] + :language: python + :dedent: 12 + :caption: Copy a blob from a URL. + """ + options = self._start_copy_from_url_options( + source_url=self._encode_source_url(source_url), + metadata=metadata, + incremental_copy=incremental_copy, + **kwargs) + try: + if incremental_copy: + return self._client.page_blob.copy_incremental(**options) + return self._client.blob.start_copy_from_url(**options) + except StorageErrorException as error: + process_storage_error(error) + + def _abort_copy_options(self, copy_id, **kwargs): + # type: (Union[str, Dict[str, Any], BlobProperties], **Any) -> Dict[str, Any] + access_conditions = get_access_conditions(kwargs.pop('lease', None)) + try: + copy_id = copy_id.copy.id + except AttributeError: + try: + copy_id = copy_id['copy_id'] + except TypeError: + pass + options = { + 'copy_id': copy_id, + 'lease_access_conditions': access_conditions, + 'timeout': kwargs.pop('timeout', None)} + options.update(kwargs) + return options + + @distributed_trace + def abort_copy(self, copy_id, **kwargs): + # type: (Union[str, Dict[str, Any], BlobProperties], **Any) -> None + """Abort an ongoing copy operation. + + This will leave a destination blob with zero length and full metadata. + This will raise an error if the copy operation has already ended. + + :param copy_id: + The copy operation to abort. This can be either an ID string, or an + instance of BlobProperties. + :type copy_id: str or ~azure.storage.blob.BlobProperties + :rtype: None + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_common.py + :start-after: [START abort_copy_blob_from_url] + :end-before: [END abort_copy_blob_from_url] + :language: python + :dedent: 12 + :caption: Abort copying a blob from URL. + """ + options = self._abort_copy_options(copy_id, **kwargs) + try: + self._client.blob.abort_copy_from_url(**options) + except StorageErrorException as error: + process_storage_error(error) + + @distributed_trace + def acquire_lease(self, lease_duration=-1, lease_id=None, **kwargs): + # type: (int, Optional[str], **Any) -> BlobLeaseClient + """Requests a new lease. + + If the blob does not have an active lease, the Blob + Service creates a lease on the blob and returns a new lease. + + :param int lease_duration: + Specifies the duration of the lease, in seconds, or negative one + (-1) for a lease that never expires. A non-infinite lease can be + between 15 and 60 seconds. A lease duration cannot be changed + using renew or change. Default is -1 (infinite lease). + :param str lease_id: + Proposed lease ID, in a GUID string format. The Blob Service + returns 400 (Invalid request) if the proposed lease ID is not + in the correct format. + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: A BlobLeaseClient object. + :rtype: ~azure.storage.blob.BlobLeaseClient + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_common.py + :start-after: [START acquire_lease_on_blob] + :end-before: [END acquire_lease_on_blob] + :language: python + :dedent: 8 + :caption: Acquiring a lease on a blob. + """ + lease = BlobLeaseClient(self, lease_id=lease_id) # type: ignore + lease.acquire(lease_duration=lease_duration, **kwargs) + return lease + + @distributed_trace + def set_standard_blob_tier(self, standard_blob_tier, **kwargs): + # type: (Union[str, StandardBlobTier], Any) -> None + """This operation sets the tier on a block blob. + + A block blob's tier determines Hot/Cool/Archive storage type. + This operation does not update the blob's ETag. + + :param standard_blob_tier: + Indicates the tier to be set on the blob. Options include 'Hot', 'Cool', + 'Archive'. The hot tier is optimized for storing data that is accessed + frequently. The cool storage tier is optimized for storing data that + is infrequently accessed and stored for at least a month. The archive + tier is optimized for storing data that is rarely accessed and stored + for at least six months with flexible latency requirements. + :type standard_blob_tier: str or ~azure.storage.blob.StandardBlobTier + :keyword ~azure.storage.blob.RehydratePriority rehydrate_priority: + Indicates the priority with which to rehydrate an archived blob + :keyword str version_id: + The version id parameter is an opaque DateTime + value that, when present, specifies the version of the blob to download. + + .. versionadded:: 12.4.0 + This keyword argument was introduced in API version '2019-12-12'. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + :keyword int timeout: + The timeout parameter is expressed in seconds. + :keyword lease: + Required if the blob has an active lease. Value can be a BlobLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.BlobLeaseClient or str + :rtype: None + """ + access_conditions = get_access_conditions(kwargs.pop('lease', None)) + mod_conditions = get_modify_conditions(kwargs) + if standard_blob_tier is None: + raise ValueError("A StandardBlobTier must be specified") + if self.snapshot and kwargs.get('version_id'): + raise ValueError("Snapshot and version_id cannot be set at the same time") + try: + self._client.blob.set_tier( + tier=standard_blob_tier, + snapshot=self.snapshot, + timeout=kwargs.pop('timeout', None), + modified_access_conditions=mod_conditions, + lease_access_conditions=access_conditions, + **kwargs) + except StorageErrorException as error: + process_storage_error(error) + + def _stage_block_options( + self, block_id, # type: str + data, # type: Union[Iterable[AnyStr], IO[AnyStr]] + length=None, # type: Optional[int] + **kwargs + ): + # type: (...) -> Dict[str, Any] + if self.require_encryption or (self.key_encryption_key is not None): + raise ValueError(_ERROR_UNSUPPORTED_METHOD_FOR_ENCRYPTION) + block_id = encode_base64(str(block_id)) + if isinstance(data, six.text_type): + data = data.encode(kwargs.pop('encoding', 'UTF-8')) # type: ignore + access_conditions = get_access_conditions(kwargs.pop('lease', None)) + if length is None: + length = get_length(data) + if length is None: + length, data = read_length(data) + if isinstance(data, bytes): + data = data[:length] + + validate_content = kwargs.pop('validate_content', False) + cpk_scope_info = get_cpk_scope_info(kwargs) + cpk = kwargs.pop('cpk', None) + cpk_info = None + if cpk: + if self.scheme.lower() != 'https': + raise ValueError("Customer provided encryption key must be used over HTTPS.") + cpk_info = CpkInfo(encryption_key=cpk.key_value, encryption_key_sha256=cpk.key_hash, + encryption_algorithm=cpk.algorithm) + + options = { + 'block_id': block_id, + 'content_length': length, + 'body': data, + 'transactional_content_md5': None, + 'timeout': kwargs.pop('timeout', None), + 'lease_access_conditions': access_conditions, + 'validate_content': validate_content, + 'cpk_scope_info': cpk_scope_info, + 'cpk_info': cpk_info, + 'cls': return_response_headers, + } + options.update(kwargs) + return options + + @distributed_trace + def stage_block( + self, block_id, # type: str + data, # type: Union[Iterable[AnyStr], IO[AnyStr]] + length=None, # type: Optional[int] + **kwargs + ): + # type: (...) -> Dict[str, Any] + """Creates a new block to be committed as part of a blob. + + :param str block_id: A string value that identifies the block. + The string should be less than or equal to 64 bytes in size. + For a given blob, the block_id must be the same size for each block. + :param data: The blob data. + :param int length: Size of the block. + :keyword bool validate_content: + If true, calculates an MD5 hash for each chunk of the blob. The storage + service checks the hash of the content that has arrived with the hash + that was sent. This is primarily valuable for detecting bitflips on + the wire if using http instead of https, as https (the default), will + already validate. Note that this MD5 hash is not stored with the + blob. Also note that if enabled, the memory-efficient upload algorithm + will not be used because computing the MD5 hash requires buffering + entire blocks, and doing so defeats the purpose of the memory-efficient algorithm. + :keyword lease: + Required if the blob has an active lease. Value can be a BlobLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.BlobLeaseClient or str + :keyword str encoding: + Defaults to UTF-8. + :keyword ~azure.storage.blob.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. + :keyword str encryption_scope: + A predefined encryption scope used to encrypt the data on the service. An encryption + scope can be created using the Management API and referenced here by name. If a default + encryption scope has been defined at the container, this value will override it if the + container-level scope is configured to allow overrides. Otherwise an error will be raised. + + .. versionadded:: 12.2.0 + + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: Blob property dict. + :rtype: dict[str, Any] + """ + options = self._stage_block_options( + block_id, + data, + length=length, + **kwargs) + try: + return self._client.block_blob.stage_block(**options) + except StorageErrorException as error: + process_storage_error(error) + + def _stage_block_from_url_options( + self, block_id, # type: str + source_url, # type: str + source_offset=None, # type: Optional[int] + source_length=None, # type: Optional[int] + source_content_md5=None, # type: Optional[Union[bytes, bytearray]] + **kwargs + ): + # type: (...) -> Dict[str, Any] + if source_length is not None and source_offset is None: + raise ValueError("Source offset value must not be None if length is set.") + if source_length is not None: + source_length = source_offset + source_length - 1 + block_id = encode_base64(str(block_id)) + access_conditions = get_access_conditions(kwargs.pop('lease', None)) + range_header = None + if source_offset is not None: + range_header, _ = validate_and_format_range_headers(source_offset, source_length) + + cpk_scope_info = get_cpk_scope_info(kwargs) + cpk = kwargs.pop('cpk', None) + cpk_info = None + if cpk: + if self.scheme.lower() != 'https': + raise ValueError("Customer provided encryption key must be used over HTTPS.") + cpk_info = CpkInfo(encryption_key=cpk.key_value, encryption_key_sha256=cpk.key_hash, + encryption_algorithm=cpk.algorithm) + options = { + 'block_id': block_id, + 'content_length': 0, + 'source_url': source_url, + 'source_range': range_header, + 'source_content_md5': bytearray(source_content_md5) if source_content_md5 else None, + 'timeout': kwargs.pop('timeout', None), + 'lease_access_conditions': access_conditions, + 'cpk_scope_info': cpk_scope_info, + 'cpk_info': cpk_info, + 'cls': return_response_headers, + } + options.update(kwargs) + return options + + @distributed_trace + def stage_block_from_url( + self, block_id, # type: str + source_url, # type: str + source_offset=None, # type: Optional[int] + source_length=None, # type: Optional[int] + source_content_md5=None, # type: Optional[Union[bytes, bytearray]] + **kwargs + ): + # type: (...) -> Dict[str, Any] + """Creates a new block to be committed as part of a blob where + the contents are read from a URL. + + :param str block_id: A string value that identifies the block. + The string should be less than or equal to 64 bytes in size. + For a given blob, the block_id must be the same size for each block. + :param str source_url: The URL. + :param int source_offset: + Start of byte range to use for the block. + Must be set if source length is provided. + :param int source_length: The size of the block in bytes. + :param bytearray source_content_md5: + Specify the md5 calculated for the range of + bytes that must be read from the copy source. + :keyword lease: + Required if the blob has an active lease. Value can be a BlobLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.BlobLeaseClient or str + :keyword ~azure.storage.blob.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. + :keyword str encryption_scope: + A predefined encryption scope used to encrypt the data on the service. An encryption + scope can be created using the Management API and referenced here by name. If a default + encryption scope has been defined at the container, this value will override it if the + container-level scope is configured to allow overrides. Otherwise an error will be raised. + + .. versionadded:: 12.2.0 + + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: Blob property dict. + :rtype: dict[str, Any] + """ + options = self._stage_block_from_url_options( + block_id, + source_url=self._encode_source_url(source_url), + source_offset=source_offset, + source_length=source_length, + source_content_md5=source_content_md5, + **kwargs) + try: + return self._client.block_blob.stage_block_from_url(**options) + except StorageErrorException as error: + process_storage_error(error) + + def _get_block_list_result(self, blocks): + # type: (BlockList) -> Tuple[List[BlobBlock], List[BlobBlock]] + committed = [] # type: List + uncommitted = [] # type: List + if blocks.committed_blocks: + committed = [BlobBlock._from_generated(b) for b in blocks.committed_blocks] # pylint: disable=protected-access + if blocks.uncommitted_blocks: + uncommitted = [BlobBlock._from_generated(b) for b in blocks.uncommitted_blocks] # pylint: disable=protected-access + return committed, uncommitted + + @distributed_trace + def get_block_list(self, block_list_type="committed", **kwargs): + # type: (Optional[str], **Any) -> Tuple[List[BlobBlock], List[BlobBlock]] + """The Get Block List operation retrieves the list of blocks that have + been uploaded as part of a block blob. + + :param str block_list_type: + Specifies whether to return the list of committed + blocks, the list of uncommitted blocks, or both lists together. + Possible values include: 'committed', 'uncommitted', 'all' + :keyword lease: + Required if the blob has an active lease. Value can be a BlobLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.BlobLeaseClient or str + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on destination blob with a matching value. + + .. versionadded:: 12.4.0 + + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: A tuple of two lists - committed and uncommitted blocks + :rtype: tuple(list(~azure.storage.blob.BlobBlock), list(~azure.storage.blob.BlobBlock)) + """ + access_conditions = get_access_conditions(kwargs.pop('lease', None)) + mod_conditions = get_modify_conditions(kwargs) + try: + blocks = self._client.block_blob.get_block_list( + list_type=block_list_type, + snapshot=self.snapshot, + timeout=kwargs.pop('timeout', None), + lease_access_conditions=access_conditions, + modified_access_conditions=mod_conditions, + **kwargs) + except StorageErrorException as error: + process_storage_error(error) + return self._get_block_list_result(blocks) + + def _commit_block_list_options( # type: ignore + self, block_list, # type: List[BlobBlock] + content_settings=None, # type: Optional[ContentSettings] + metadata=None, # type: Optional[Dict[str, str]] + **kwargs + ): + # type: (...) -> Dict[str, Any] + if self.require_encryption or (self.key_encryption_key is not None): + raise ValueError(_ERROR_UNSUPPORTED_METHOD_FOR_ENCRYPTION) + block_lookup = BlockLookupList(committed=[], uncommitted=[], latest=[]) + for block in block_list: + try: + if block.state.value == 'committed': + block_lookup.committed.append(encode_base64(str(block.id))) + elif block.state.value == 'uncommitted': + block_lookup.uncommitted.append(encode_base64(str(block.id))) + else: + block_lookup.latest.append(encode_base64(str(block.id))) + except AttributeError: + block_lookup.latest.append(encode_base64(str(block))) + headers = kwargs.pop('headers', {}) + headers.update(add_metadata_headers(metadata)) + blob_headers = None + access_conditions = get_access_conditions(kwargs.pop('lease', None)) + mod_conditions = get_modify_conditions(kwargs) + if content_settings: + blob_headers = BlobHTTPHeaders( + blob_cache_control=content_settings.cache_control, + blob_content_type=content_settings.content_type, + blob_content_md5=bytearray(content_settings.content_md5) if content_settings.content_md5 else None, + blob_content_encoding=content_settings.content_encoding, + blob_content_language=content_settings.content_language, + blob_content_disposition=content_settings.content_disposition + ) + + validate_content = kwargs.pop('validate_content', False) + cpk_scope_info = get_cpk_scope_info(kwargs) + cpk = kwargs.pop('cpk', None) + cpk_info = None + if cpk: + if self.scheme.lower() != 'https': + raise ValueError("Customer provided encryption key must be used over HTTPS.") + cpk_info = CpkInfo(encryption_key=cpk.key_value, encryption_key_sha256=cpk.key_hash, + encryption_algorithm=cpk.algorithm) + + tier = kwargs.pop('standard_blob_tier', None) + blob_tags_string = serialize_blob_tags_header(kwargs.pop('tags', None)) + + options = { + 'blocks': block_lookup, + 'blob_http_headers': blob_headers, + 'lease_access_conditions': access_conditions, + 'timeout': kwargs.pop('timeout', None), + 'modified_access_conditions': mod_conditions, + 'cls': return_response_headers, + 'validate_content': validate_content, + 'cpk_scope_info': cpk_scope_info, + 'cpk_info': cpk_info, + 'tier': tier.value if tier else None, + 'blob_tags_string': blob_tags_string, + 'headers': headers + } + options.update(kwargs) + return options + + @distributed_trace + def commit_block_list( # type: ignore + self, block_list, # type: List[BlobBlock] + content_settings=None, # type: Optional[ContentSettings] + metadata=None, # type: Optional[Dict[str, str]] + **kwargs + ): + # type: (...) -> Dict[str, Union[str, datetime]] + """The Commit Block List operation writes a blob by specifying the list of + block IDs that make up the blob. + + :param list block_list: + List of Blockblobs. + :param ~azure.storage.blob.ContentSettings content_settings: + ContentSettings object used to set blob properties. Used to set content type, encoding, + language, disposition, md5, and cache control. + :param metadata: + Name-value pairs associated with the blob as metadata. + :type metadata: dict[str, str] + :keyword tags: + Name-value pairs associated with the blob as tag. Tags are case-sensitive. + The tag set may contain at most 10 tags. Tag keys must be between 1 and 128 characters, + and tag values must be between 0 and 256 characters. + Valid tag key and value characters include: lowercase and uppercase letters, digits (0-9), + space (` `), plus (+), minus (-), period (.), solidus (/), colon (:), equals (=), underscore (_) + + .. versionadded:: 12.4.0 + + :paramtype tags: dict(str, str) + :keyword lease: + Required if the blob has an active lease. Value can be a BlobLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.BlobLeaseClient or str + :keyword bool validate_content: + If true, calculates an MD5 hash of the page content. The storage + service checks the hash of the content that has arrived + with the hash that was sent. This is primarily valuable for detecting + bitflips on the wire if using http instead of https, as https (the default), + will already validate. Note that this MD5 hash is not stored with the + blob. + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on destination blob with a matching value. + + .. versionadded:: 12.4.0 + + :keyword ~azure.storage.blob.StandardBlobTier standard_blob_tier: + A standard blob tier value to set the blob to. For this version of the library, + this is only applicable to block blobs on standard storage accounts. + :keyword ~azure.storage.blob.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. + :keyword str encryption_scope: + A predefined encryption scope used to encrypt the data on the service. An encryption + scope can be created using the Management API and referenced here by name. If a default + encryption scope has been defined at the container, this value will override it if the + container-level scope is configured to allow overrides. Otherwise an error will be raised. + + .. versionadded:: 12.2.0 + + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: Blob-updated property dict (Etag and last modified). + :rtype: dict(str, Any) + """ + options = self._commit_block_list_options( + block_list, + content_settings=content_settings, + metadata=metadata, + **kwargs) + try: + return self._client.block_blob.commit_block_list(**options) # type: ignore + except StorageErrorException as error: + process_storage_error(error) + + @distributed_trace + def set_premium_page_blob_tier(self, premium_page_blob_tier, **kwargs): + # type: (Union[str, PremiumPageBlobTier], **Any) -> None + """Sets the page blob tiers on the blob. This API is only supported for page blobs on premium accounts. + + :param premium_page_blob_tier: + A page blob tier value to set the blob to. The tier correlates to the size of the + blob and number of allowed IOPS. This is only applicable to page blobs on + premium storage accounts. + :type premium_page_blob_tier: ~azure.storage.blob.PremiumPageBlobTier + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword int timeout: + The timeout parameter is expressed in seconds. This method may make + multiple calls to the Azure service and the timeout will apply to + each call individually. + :keyword lease: + Required if the blob has an active lease. Value can be a BlobLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.BlobLeaseClient or str + :rtype: None + """ + access_conditions = get_access_conditions(kwargs.pop('lease', None)) + mod_conditions = get_modify_conditions(kwargs) + if premium_page_blob_tier is None: + raise ValueError("A PremiumPageBlobTier must be specified") + try: + self._client.blob.set_tier( + tier=premium_page_blob_tier, + timeout=kwargs.pop('timeout', None), + lease_access_conditions=access_conditions, + modified_access_conditions=mod_conditions, + **kwargs) + except StorageErrorException as error: + process_storage_error(error) + + def _set_blob_tags_options(self, tags=None, **kwargs): + # type: (Optional[Dict[str, str]], **Any) -> Dict[str, Any] + tags = serialize_blob_tags(tags) + mod_conditions = get_modify_conditions(kwargs) + + options = { + 'tags': tags, + 'modified_access_conditions': mod_conditions, + 'cls': return_response_headers} + options.update(kwargs) + return options + + @distributed_trace + def set_blob_tags(self, tags=None, **kwargs): + # type: (Optional[Dict[str, str]], **Any) -> Dict[str, Any] + """The Set Tags operation enables users to set tags on a blob or specific blob version, but not snapshot. + Each call to this operation replaces all existing tags attached to the blob. To remove all + tags from the blob, call this operation with no tags set. + + .. versionadded:: 12.4.0 + This operation was introduced in API version '2019-12-12'. + + :param tags: + Name-value pairs associated with the blob as tag. Tags are case-sensitive. + The tag set may contain at most 10 tags. Tag keys must be between 1 and 128 characters, + and tag values must be between 0 and 256 characters. + Valid tag key and value characters include: lowercase and uppercase letters, digits (0-9), + space (` `), plus (+), minus (-), period (.), solidus (/), colon (:), equals (=), underscore (_) + :type tags: dict(str, str) + :keyword str version_id: + The version id parameter is an opaque DateTime + value that, when present, specifies the version of the blob to add tags to. + :keyword bool validate_content: + If true, calculates an MD5 hash of the tags content. The storage + service checks the hash of the content that has arrived + with the hash that was sent. This is primarily valuable for detecting + bitflips on the wire if using http instead of https, as https (the default), + will already validate. Note that this MD5 hash is not stored with the + blob. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on destination blob with a matching value. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: Blob-updated property dict (Etag and last modified) + :rtype: Dict[str, Any] + """ + options = self._set_blob_tags_options(tags=tags, **kwargs) + try: + return self._client.blob.set_tags(**options) + except StorageErrorException as error: + process_storage_error(error) + + def _get_blob_tags_options(self, **kwargs): + # type: (**Any) -> Dict[str, str] + mod_conditions = get_modify_conditions(kwargs) + + options = { + 'version_id': kwargs.pop('version_id', None), + 'snapshot': self.snapshot, + 'modified_access_conditions': mod_conditions, + 'timeout': kwargs.pop('timeout', None), + 'cls': return_headers_and_deserialized} + return options + + @distributed_trace + def get_blob_tags(self, **kwargs): + # type: (**Any) -> Dict[str, str] + """The Get Tags operation enables users to get tags on a blob or specific blob version, or snapshot. + + .. versionadded:: 12.4.0 + This operation was introduced in API version '2019-12-12'. + + :keyword str version_id: + The version id parameter is an opaque DateTime + value that, when present, specifies the version of the blob to add tags to. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on destination blob with a matching value. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: Key value pairs of blob tags. + :rtype: Dict[str, str] + """ + options = self._get_blob_tags_options(**kwargs) + try: + _, tags = self._client.blob.get_tags(**options) + return parse_tags(tags) # pylint: disable=protected-access + except StorageErrorException as error: + process_storage_error(error) + + def _get_page_ranges_options( # type: ignore + self, offset=None, # type: Optional[int] + length=None, # type: Optional[int] + previous_snapshot_diff=None, # type: Optional[Union[str, Dict[str, Any]]] + **kwargs + ): + # type: (...) -> Dict[str, Any] + access_conditions = get_access_conditions(kwargs.pop('lease', None)) + mod_conditions = get_modify_conditions(kwargs) + if length is not None and offset is None: + raise ValueError("Offset value must not be None if length is set.") + if length is not None: + length = offset + length - 1 # Reformat to an inclusive range index + page_range, _ = validate_and_format_range_headers( + offset, length, start_range_required=False, end_range_required=False, align_to_page=True + ) + options = { + 'snapshot': self.snapshot, + 'lease_access_conditions': access_conditions, + 'modified_access_conditions': mod_conditions, + 'timeout': kwargs.pop('timeout', None), + 'range': page_range} + if previous_snapshot_diff: + try: + options['prevsnapshot'] = previous_snapshot_diff.snapshot # type: ignore + except AttributeError: + try: + options['prevsnapshot'] = previous_snapshot_diff['snapshot'] # type: ignore + except TypeError: + options['prevsnapshot'] = previous_snapshot_diff + options.update(kwargs) + return options + + @distributed_trace + def get_page_ranges( # type: ignore + self, offset=None, # type: Optional[int] + length=None, # type: Optional[int] + previous_snapshot_diff=None, # type: Optional[Union[str, Dict[str, Any]]] + **kwargs + ): + # type: (...) -> Tuple[List[Dict[str, int]], List[Dict[str, int]]] + """Returns the list of valid page ranges for a Page Blob or snapshot + of a page blob. + + :param int offset: + Start of byte range to use for getting valid page ranges. + If no length is given, all bytes after the offset will be searched. + Pages must be aligned with 512-byte boundaries, the start offset + must be a modulus of 512 and the length must be a modulus of + 512. + :param int length: + Number of bytes to use for getting valid page ranges. + If length is given, offset must be provided. + This range will return valid page ranges from the offset start up to + the specified length. + Pages must be aligned with 512-byte boundaries, the start offset + must be a modulus of 512 and the length must be a modulus of + 512. + :param str previous_snapshot_diff: + The snapshot diff parameter that contains an opaque DateTime value that + specifies a previous blob snapshot to be compared + against a more recent snapshot or the current blob. + :keyword lease: + Required if the blob has an active lease. Value can be a BlobLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.BlobLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: + A tuple of two lists of page ranges as dictionaries with 'start' and 'end' keys. + The first element are filled page ranges, the 2nd element is cleared page ranges. + :rtype: tuple(list(dict(str, str), list(dict(str, str)) + """ + options = self._get_page_ranges_options( + offset=offset, + length=length, + previous_snapshot_diff=previous_snapshot_diff, + **kwargs) + try: + if previous_snapshot_diff: + ranges = self._client.page_blob.get_page_ranges_diff(**options) + else: + ranges = self._client.page_blob.get_page_ranges(**options) + except StorageErrorException as error: + process_storage_error(error) + return get_page_ranges_result(ranges) + + @distributed_trace + def get_page_range_diff_for_managed_disk( + self, previous_snapshot_url, # type: str + offset=None, # type: Optional[int] + length=None, # type: Optional[int] + **kwargs + ): + # type: (...) -> Tuple[List[Dict[str, int]], List[Dict[str, int]]] + """Returns the list of valid page ranges for a managed disk or snapshot. + + .. note:: + This operation is only available for managed disk accounts. + + .. versionadded:: 12.2.0 + This operation was introduced in API version '2019-07-07'. + + :param previous_snapshot_url: + Specifies the URL of a previous snapshot of the managed disk. + The response will only contain pages that were changed between the target blob and + its previous snapshot. + :param int offset: + Start of byte range to use for getting valid page ranges. + If no length is given, all bytes after the offset will be searched. + Pages must be aligned with 512-byte boundaries, the start offset + must be a modulus of 512 and the length must be a modulus of + 512. + :param int length: + Number of bytes to use for getting valid page ranges. + If length is given, offset must be provided. + This range will return valid page ranges from the offset start up to + the specified length. + Pages must be aligned with 512-byte boundaries, the start offset + must be a modulus of 512 and the length must be a modulus of + 512. + :keyword lease: + Required if the blob has an active lease. Value can be a BlobLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.BlobLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: + A tuple of two lists of page ranges as dictionaries with 'start' and 'end' keys. + The first element are filled page ranges, the 2nd element is cleared page ranges. + :rtype: tuple(list(dict(str, str), list(dict(str, str)) + """ + options = self._get_page_ranges_options( + offset=offset, + length=length, + prev_snapshot_url=previous_snapshot_url, + **kwargs) + try: + ranges = self._client.page_blob.get_page_ranges_diff(**options) + except StorageErrorException as error: + process_storage_error(error) + return get_page_ranges_result(ranges) + + def _set_sequence_number_options(self, sequence_number_action, sequence_number=None, **kwargs): + # type: (Union[str, SequenceNumberAction], Optional[str], **Any) -> Dict[str, Any] + access_conditions = get_access_conditions(kwargs.pop('lease', None)) + mod_conditions = get_modify_conditions(kwargs) + if sequence_number_action is None: + raise ValueError("A sequence number action must be specified") + options = { + 'sequence_number_action': sequence_number_action, + 'timeout': kwargs.pop('timeout', None), + 'blob_sequence_number': sequence_number, + 'lease_access_conditions': access_conditions, + 'modified_access_conditions': mod_conditions, + 'cls': return_response_headers} + options.update(kwargs) + return options + + @distributed_trace + def set_sequence_number(self, sequence_number_action, sequence_number=None, **kwargs): + # type: (Union[str, SequenceNumberAction], Optional[str], **Any) -> Dict[str, Union[str, datetime]] + """Sets the blob sequence number. + + :param str sequence_number_action: + This property indicates how the service should modify the blob's sequence + number. See :class:`~azure.storage.blob.SequenceNumberAction` for more information. + :param str sequence_number: + This property sets the blob's sequence number. The sequence number is a + user-controlled property that you can use to track requests and manage + concurrency issues. + :keyword lease: + Required if the blob has an active lease. Value can be a BlobLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.BlobLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: Blob-updated property dict (Etag and last modified). + :rtype: dict(str, Any) + """ + options = self._set_sequence_number_options( + sequence_number_action, sequence_number=sequence_number, **kwargs) + try: + return self._client.page_blob.update_sequence_number(**options) # type: ignore + except StorageErrorException as error: + process_storage_error(error) + + def _resize_blob_options(self, size, **kwargs): + # type: (int, **Any) -> Dict[str, Any] + access_conditions = get_access_conditions(kwargs.pop('lease', None)) + mod_conditions = get_modify_conditions(kwargs) + if size is None: + raise ValueError("A content length must be specified for a Page Blob.") + + cpk = kwargs.pop('cpk', None) + cpk_info = None + if cpk: + if self.scheme.lower() != 'https': + raise ValueError("Customer provided encryption key must be used over HTTPS.") + cpk_info = CpkInfo(encryption_key=cpk.key_value, encryption_key_sha256=cpk.key_hash, + encryption_algorithm=cpk.algorithm) + options = { + 'blob_content_length': size, + 'timeout': kwargs.pop('timeout', None), + 'lease_access_conditions': access_conditions, + 'modified_access_conditions': mod_conditions, + 'cpk_info': cpk_info, + 'cls': return_response_headers} + options.update(kwargs) + return options + + @distributed_trace + def resize_blob(self, size, **kwargs): + # type: (int, **Any) -> Dict[str, Union[str, datetime]] + """Resizes a page blob to the specified size. + + If the specified value is less than the current size of the blob, + then all pages above the specified value are cleared. + + :param int size: + Size used to resize blob. Maximum size for a page blob is up to 1 TB. + The page blob size must be aligned to a 512-byte boundary. + :keyword lease: + Required if the blob has an active lease. Value can be a BlobLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.BlobLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword ~azure.storage.blob.PremiumPageBlobTier premium_page_blob_tier: + A page blob tier value to set the blob to. The tier correlates to the size of the + blob and number of allowed IOPS. This is only applicable to page blobs on + premium storage accounts. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: Blob-updated property dict (Etag and last modified). + :rtype: dict(str, Any) + """ + options = self._resize_blob_options(size, **kwargs) + try: + return self._client.page_blob.resize(**options) # type: ignore + except StorageErrorException as error: + process_storage_error(error) + + def _upload_page_options( # type: ignore + self, page, # type: bytes + offset, # type: int + length, # type: int + **kwargs + ): + # type: (...) -> Dict[str, Any] + if isinstance(page, six.text_type): + page = page.encode(kwargs.pop('encoding', 'UTF-8')) + if self.require_encryption or (self.key_encryption_key is not None): + raise ValueError(_ERROR_UNSUPPORTED_METHOD_FOR_ENCRYPTION) + + if offset is None or offset % 512 != 0: + raise ValueError("offset must be an integer that aligns with 512 page size") + if length is None or length % 512 != 0: + raise ValueError("length must be an integer that aligns with 512 page size") + end_range = offset + length - 1 # Reformat to an inclusive range index + content_range = 'bytes={0}-{1}'.format(offset, end_range) # type: ignore + access_conditions = get_access_conditions(kwargs.pop('lease', None)) + seq_conditions = SequenceNumberAccessConditions( + if_sequence_number_less_than_or_equal_to=kwargs.pop('if_sequence_number_lte', None), + if_sequence_number_less_than=kwargs.pop('if_sequence_number_lt', None), + if_sequence_number_equal_to=kwargs.pop('if_sequence_number_eq', None) + ) + mod_conditions = get_modify_conditions(kwargs) + cpk_scope_info = get_cpk_scope_info(kwargs) + validate_content = kwargs.pop('validate_content', False) + cpk = kwargs.pop('cpk', None) + cpk_info = None + if cpk: + if self.scheme.lower() != 'https': + raise ValueError("Customer provided encryption key must be used over HTTPS.") + cpk_info = CpkInfo(encryption_key=cpk.key_value, encryption_key_sha256=cpk.key_hash, + encryption_algorithm=cpk.algorithm) + options = { + 'body': page[:length], + 'content_length': length, + 'transactional_content_md5': None, + 'timeout': kwargs.pop('timeout', None), + 'range': content_range, + 'lease_access_conditions': access_conditions, + 'sequence_number_access_conditions': seq_conditions, + 'modified_access_conditions': mod_conditions, + 'validate_content': validate_content, + 'cpk_scope_info': cpk_scope_info, + 'cpk_info': cpk_info, + 'cls': return_response_headers} + options.update(kwargs) + return options + + @distributed_trace + def upload_page( # type: ignore + self, page, # type: bytes + offset, # type: int + length, # type: int + **kwargs + ): + # type: (...) -> Dict[str, Union[str, datetime]] + """The Upload Pages operation writes a range of pages to a page blob. + + :param bytes page: + Content of the page. + :param int offset: + Start of byte range to use for writing to a section of the blob. + Pages must be aligned with 512-byte boundaries, the start offset + must be a modulus of 512 and the length must be a modulus of + 512. + :param int length: + Number of bytes to use for writing to a section of the blob. + Pages must be aligned with 512-byte boundaries, the start offset + must be a modulus of 512 and the length must be a modulus of + 512. + :keyword lease: + Required if the blob has an active lease. Value can be a BlobLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.BlobLeaseClient or str + :keyword bool validate_content: + If true, calculates an MD5 hash of the page content. The storage + service checks the hash of the content that has arrived + with the hash that was sent. This is primarily valuable for detecting + bitflips on the wire if using http instead of https, as https (the default), + will already validate. Note that this MD5 hash is not stored with the + blob. + :keyword int if_sequence_number_lte: + If the blob's sequence number is less than or equal to + the specified value, the request proceeds; otherwise it fails. + :keyword int if_sequence_number_lt: + If the blob's sequence number is less than the specified + value, the request proceeds; otherwise it fails. + :keyword int if_sequence_number_eq: + If the blob's sequence number is equal to the specified + value, the request proceeds; otherwise it fails. + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword ~azure.storage.blob.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. + :keyword str encryption_scope: + A predefined encryption scope used to encrypt the data on the service. An encryption + scope can be created using the Management API and referenced here by name. If a default + encryption scope has been defined at the container, this value will override it if the + container-level scope is configured to allow overrides. Otherwise an error will be raised. + + .. versionadded:: 12.2.0 + + :keyword str encoding: + Defaults to UTF-8. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: Blob-updated property dict (Etag and last modified). + :rtype: dict(str, Any) + """ + options = self._upload_page_options( + page=page, + offset=offset, + length=length, + **kwargs) + try: + return self._client.page_blob.upload_pages(**options) # type: ignore + except StorageErrorException as error: + process_storage_error(error) + + def _upload_pages_from_url_options( # type: ignore + self, source_url, # type: str + offset, # type: int + length, # type: int + source_offset, # type: int + **kwargs + ): + # type: (...) -> Dict[str, Any] + if self.require_encryption or (self.key_encryption_key is not None): + raise ValueError(_ERROR_UNSUPPORTED_METHOD_FOR_ENCRYPTION) + + # TODO: extract the code to a method format_range + if offset is None or offset % 512 != 0: + raise ValueError("offset must be an integer that aligns with 512 page size") + if length is None or length % 512 != 0: + raise ValueError("length must be an integer that aligns with 512 page size") + if source_offset is None or offset % 512 != 0: + raise ValueError("source_offset must be an integer that aligns with 512 page size") + + # Format range + end_range = offset + length - 1 + destination_range = 'bytes={0}-{1}'.format(offset, end_range) + source_range = 'bytes={0}-{1}'.format(source_offset, source_offset + length - 1) # should subtract 1 here? + + seq_conditions = SequenceNumberAccessConditions( + if_sequence_number_less_than_or_equal_to=kwargs.pop('if_sequence_number_lte', None), + if_sequence_number_less_than=kwargs.pop('if_sequence_number_lt', None), + if_sequence_number_equal_to=kwargs.pop('if_sequence_number_eq', None) + ) + access_conditions = get_access_conditions(kwargs.pop('lease', None)) + mod_conditions = get_modify_conditions(kwargs) + source_mod_conditions = get_source_conditions(kwargs) + cpk_scope_info = get_cpk_scope_info(kwargs) + source_content_md5 = kwargs.pop('source_content_md5', None) + cpk = kwargs.pop('cpk', None) + cpk_info = None + if cpk: + if self.scheme.lower() != 'https': + raise ValueError("Customer provided encryption key must be used over HTTPS.") + cpk_info = CpkInfo(encryption_key=cpk.key_value, encryption_key_sha256=cpk.key_hash, + encryption_algorithm=cpk.algorithm) + + options = { + 'source_url': source_url, + 'content_length': 0, + 'source_range': source_range, + 'range': destination_range, + 'source_content_md5': bytearray(source_content_md5) if source_content_md5 else None, + 'timeout': kwargs.pop('timeout', None), + 'lease_access_conditions': access_conditions, + 'sequence_number_access_conditions': seq_conditions, + 'modified_access_conditions': mod_conditions, + 'source_modified_access_conditions': source_mod_conditions, + 'cpk_scope_info': cpk_scope_info, + 'cpk_info': cpk_info, + 'cls': return_response_headers} + options.update(kwargs) + return options + + @distributed_trace + def upload_pages_from_url(self, source_url, # type: str + offset, # type: int + length, # type: int + source_offset, # type: int + **kwargs + ): + # type: (...) -> Dict[str, Any] + """ + The Upload Pages operation writes a range of pages to a page blob where + the contents are read from a URL. + + :param str source_url: + The URL of the source data. It can point to any Azure Blob or File, that is either public or has a + shared access signature attached. + :param int offset: + Start of byte range to use for writing to a section of the blob. + Pages must be aligned with 512-byte boundaries, the start offset + must be a modulus of 512 and the length must be a modulus of + 512. + :param int length: + Number of bytes to use for writing to a section of the blob. + Pages must be aligned with 512-byte boundaries, the start offset + must be a modulus of 512 and the length must be a modulus of + 512. + :param int source_offset: + This indicates the start of the range of bytes(inclusive) that has to be taken from the copy source. + The service will read the same number of bytes as the destination range (length-offset). + :keyword bytes source_content_md5: + If given, the service will calculate the MD5 hash of the block content and compare against this value. + :keyword ~datetime.datetime source_if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the source resource has been modified since the specified time. + :keyword ~datetime.datetime source_if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the source resource has not been modified since the specified date/time. + :keyword str source_etag: + The source ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions source_match_condition: + The source match condition to use upon the etag. + :keyword lease: + Required if the blob has an active lease. Value can be a BlobLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.BlobLeaseClient or str + :keyword int if_sequence_number_lte: + If the blob's sequence number is less than or equal to + the specified value, the request proceeds; otherwise it fails. + :keyword int if_sequence_number_lt: + If the blob's sequence number is less than the specified + value, the request proceeds; otherwise it fails. + :keyword int if_sequence_number_eq: + If the blob's sequence number is equal to the specified + value, the request proceeds; otherwise it fails. + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + The destination ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The destination match condition to use upon the etag. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword ~azure.storage.blob.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. + :keyword str encryption_scope: + A predefined encryption scope used to encrypt the data on the service. An encryption + scope can be created using the Management API and referenced here by name. If a default + encryption scope has been defined at the container, this value will override it if the + container-level scope is configured to allow overrides. Otherwise an error will be raised. + + .. versionadded:: 12.2.0 + + :keyword int timeout: + The timeout parameter is expressed in seconds. + """ + options = self._upload_pages_from_url_options( + source_url=self._encode_source_url(source_url), + offset=offset, + length=length, + source_offset=source_offset, + **kwargs + ) + try: + return self._client.page_blob.upload_pages_from_url(**options) # type: ignore + except StorageErrorException as error: + process_storage_error(error) + + def _clear_page_options(self, offset, length, **kwargs): + # type: (int, int, **Any) -> Dict[str, Any] + if self.require_encryption or (self.key_encryption_key is not None): + raise ValueError(_ERROR_UNSUPPORTED_METHOD_FOR_ENCRYPTION) + access_conditions = get_access_conditions(kwargs.pop('lease', None)) + seq_conditions = SequenceNumberAccessConditions( + if_sequence_number_less_than_or_equal_to=kwargs.pop('if_sequence_number_lte', None), + if_sequence_number_less_than=kwargs.pop('if_sequence_number_lt', None), + if_sequence_number_equal_to=kwargs.pop('if_sequence_number_eq', None) + ) + mod_conditions = get_modify_conditions(kwargs) + if offset is None or offset % 512 != 0: + raise ValueError("offset must be an integer that aligns with 512 page size") + if length is None or length % 512 != 0: + raise ValueError("length must be an integer that aligns with 512 page size") + end_range = length + offset - 1 # Reformat to an inclusive range index + content_range = 'bytes={0}-{1}'.format(offset, end_range) + + cpk = kwargs.pop('cpk', None) + cpk_info = None + if cpk: + if self.scheme.lower() != 'https': + raise ValueError("Customer provided encryption key must be used over HTTPS.") + cpk_info = CpkInfo(encryption_key=cpk.key_value, encryption_key_sha256=cpk.key_hash, + encryption_algorithm=cpk.algorithm) + + options = { + 'content_length': 0, + 'timeout': kwargs.pop('timeout', None), + 'range': content_range, + 'lease_access_conditions': access_conditions, + 'sequence_number_access_conditions': seq_conditions, + 'modified_access_conditions': mod_conditions, + 'cpk_info': cpk_info, + 'cls': return_response_headers} + options.update(kwargs) + return options + + @distributed_trace + def clear_page(self, offset, length, **kwargs): + # type: (int, int, **Any) -> Dict[str, Union[str, datetime]] + """Clears a range of pages. + + :param int offset: + Start of byte range to use for writing to a section of the blob. + Pages must be aligned with 512-byte boundaries, the start offset + must be a modulus of 512 and the length must be a modulus of + 512. + :param int length: + Number of bytes to use for writing to a section of the blob. + Pages must be aligned with 512-byte boundaries, the start offset + must be a modulus of 512 and the length must be a modulus of + 512. + :keyword lease: + Required if the blob has an active lease. Value can be a BlobLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.BlobLeaseClient or str + :keyword int if_sequence_number_lte: + If the blob's sequence number is less than or equal to + the specified value, the request proceeds; otherwise it fails. + :keyword int if_sequence_number_lt: + If the blob's sequence number is less than the specified + value, the request proceeds; otherwise it fails. + :keyword int if_sequence_number_eq: + If the blob's sequence number is equal to the specified + value, the request proceeds; otherwise it fails. + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword ~azure.storage.blob.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: Blob-updated property dict (Etag and last modified). + :rtype: dict(str, Any) + """ + options = self._clear_page_options(offset, length, **kwargs) + try: + return self._client.page_blob.clear_pages(**options) # type: ignore + except StorageErrorException as error: + process_storage_error(error) + + def _append_block_options( # type: ignore + self, data, # type: Union[AnyStr, Iterable[AnyStr], IO[AnyStr]] + length=None, # type: Optional[int] + **kwargs + ): + # type: (...) -> Dict[str, Any] + if self.require_encryption or (self.key_encryption_key is not None): + raise ValueError(_ERROR_UNSUPPORTED_METHOD_FOR_ENCRYPTION) + + if isinstance(data, six.text_type): + data = data.encode(kwargs.pop('encoding', 'UTF-8')) # type: ignore + if length is None: + length = get_length(data) + if length is None: + length, data = read_length(data) + if length == 0: + return {} + if isinstance(data, bytes): + data = data[:length] + + appendpos_condition = kwargs.pop('appendpos_condition', None) + maxsize_condition = kwargs.pop('maxsize_condition', None) + validate_content = kwargs.pop('validate_content', False) + append_conditions = None + if maxsize_condition or appendpos_condition is not None: + append_conditions = AppendPositionAccessConditions( + max_size=maxsize_condition, + append_position=appendpos_condition + ) + access_conditions = get_access_conditions(kwargs.pop('lease', None)) + mod_conditions = get_modify_conditions(kwargs) + cpk_scope_info = get_cpk_scope_info(kwargs) + cpk = kwargs.pop('cpk', None) + cpk_info = None + if cpk: + if self.scheme.lower() != 'https': + raise ValueError("Customer provided encryption key must be used over HTTPS.") + cpk_info = CpkInfo(encryption_key=cpk.key_value, encryption_key_sha256=cpk.key_hash, + encryption_algorithm=cpk.algorithm) + options = { + 'body': data, + 'content_length': length, + 'timeout': kwargs.pop('timeout', None), + 'transactional_content_md5': None, + 'lease_access_conditions': access_conditions, + 'append_position_access_conditions': append_conditions, + 'modified_access_conditions': mod_conditions, + 'validate_content': validate_content, + 'cpk_scope_info': cpk_scope_info, + 'cpk_info': cpk_info, + 'cls': return_response_headers} + options.update(kwargs) + return options + + @distributed_trace + def append_block( # type: ignore + self, data, # type: Union[AnyStr, Iterable[AnyStr], IO[AnyStr]] + length=None, # type: Optional[int] + **kwargs + ): + # type: (...) -> Dict[str, Union[str, datetime, int]] + """Commits a new block of data to the end of the existing append blob. + + :param data: + Content of the block. This can be bytes, text, an iterable or a file-like object. + :type data: bytes or str or Iterable + :param int length: + Size of the block in bytes. + :keyword bool validate_content: + If true, calculates an MD5 hash of the block content. The storage + service checks the hash of the content that has arrived + with the hash that was sent. This is primarily valuable for detecting + bitflips on the wire if using http instead of https, as https (the default), + will already validate. Note that this MD5 hash is not stored with the + blob. + :keyword int maxsize_condition: + Optional conditional header. The max length in bytes permitted for + the append blob. If the Append Block operation would cause the blob + to exceed that limit or if the blob size is already greater than the + value specified in this header, the request will fail with + MaxBlobSizeConditionNotMet error (HTTP status code 412 - Precondition Failed). + :keyword int appendpos_condition: + Optional conditional header, used only for the Append Block operation. + A number indicating the byte offset to compare. Append Block will + succeed only if the append position is equal to this number. If it + is not, the request will fail with the AppendPositionConditionNotMet error + (HTTP status code 412 - Precondition Failed). + :keyword lease: + Required if the blob has an active lease. Value can be a BlobLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.BlobLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword str encoding: + Defaults to UTF-8. + :keyword ~azure.storage.blob.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. + :keyword str encryption_scope: + A predefined encryption scope used to encrypt the data on the service. An encryption + scope can be created using the Management API and referenced here by name. If a default + encryption scope has been defined at the container, this value will override it if the + container-level scope is configured to allow overrides. Otherwise an error will be raised. + + .. versionadded:: 12.2.0 + + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: Blob-updated property dict (Etag, last modified, append offset, committed block count). + :rtype: dict(str, Any) + """ + options = self._append_block_options( + data, + length=length, + **kwargs + ) + try: + return self._client.append_blob.append_block(**options) # type: ignore + except StorageErrorException as error: + process_storage_error(error) + + def _append_block_from_url_options( # type: ignore + self, copy_source_url, # type: str + source_offset=None, # type: Optional[int] + source_length=None, # type: Optional[int] + **kwargs + ): + # type: (...) -> Dict[str, Any] + if self.require_encryption or (self.key_encryption_key is not None): + raise ValueError(_ERROR_UNSUPPORTED_METHOD_FOR_ENCRYPTION) + + # If end range is provided, start range must be provided + if source_length is not None and source_offset is None: + raise ValueError("source_offset should also be specified if source_length is specified") + # Format based on whether length is present + source_range = None + if source_length is not None: + end_range = source_offset + source_length - 1 + source_range = 'bytes={0}-{1}'.format(source_offset, end_range) + elif source_offset is not None: + source_range = "bytes={0}-".format(source_offset) + + appendpos_condition = kwargs.pop('appendpos_condition', None) + maxsize_condition = kwargs.pop('maxsize_condition', None) + source_content_md5 = kwargs.pop('source_content_md5', None) + append_conditions = None + if maxsize_condition or appendpos_condition is not None: + append_conditions = AppendPositionAccessConditions( + max_size=maxsize_condition, + append_position=appendpos_condition + ) + access_conditions = get_access_conditions(kwargs.pop('lease', None)) + mod_conditions = get_modify_conditions(kwargs) + source_mod_conditions = get_source_conditions(kwargs) + cpk_scope_info = get_cpk_scope_info(kwargs) + cpk = kwargs.pop('cpk', None) + cpk_info = None + if cpk: + if self.scheme.lower() != 'https': + raise ValueError("Customer provided encryption key must be used over HTTPS.") + cpk_info = CpkInfo(encryption_key=cpk.key_value, encryption_key_sha256=cpk.key_hash, + encryption_algorithm=cpk.algorithm) + + options = { + 'source_url': copy_source_url, + 'content_length': 0, + 'source_range': source_range, + 'source_content_md5': source_content_md5, + 'transactional_content_md5': None, + 'lease_access_conditions': access_conditions, + 'append_position_access_conditions': append_conditions, + 'modified_access_conditions': mod_conditions, + 'source_modified_access_conditions': source_mod_conditions, + 'cpk_scope_info': cpk_scope_info, + 'cpk_info': cpk_info, + 'cls': return_response_headers, + 'timeout': kwargs.pop('timeout', None)} + options.update(kwargs) + return options + + @distributed_trace + def append_block_from_url(self, copy_source_url, # type: str + source_offset=None, # type: Optional[int] + source_length=None, # type: Optional[int] + **kwargs): + # type: (...) -> Dict[str, Union[str, datetime, int]] + """ + Creates a new block to be committed as part of a blob, where the contents are read from a source url. + + :param str copy_source_url: + The URL of the source data. It can point to any Azure Blob or File, that is either public or has a + shared access signature attached. + :param int source_offset: + This indicates the start of the range of bytes (inclusive) that has to be taken from the copy source. + :param int source_length: + This indicates the end of the range of bytes that has to be taken from the copy source. + :keyword bytearray source_content_md5: + If given, the service will calculate the MD5 hash of the block content and compare against this value. + :keyword int maxsize_condition: + Optional conditional header. The max length in bytes permitted for + the append blob. If the Append Block operation would cause the blob + to exceed that limit or if the blob size is already greater than the + value specified in this header, the request will fail with + MaxBlobSizeConditionNotMet error (HTTP status code 412 - Precondition Failed). + :keyword int appendpos_condition: + Optional conditional header, used only for the Append Block operation. + A number indicating the byte offset to compare. Append Block will + succeed only if the append position is equal to this number. If it + is not, the request will fail with the + AppendPositionConditionNotMet error + (HTTP status code 412 - Precondition Failed). + :keyword lease: + Required if the blob has an active lease. Value can be a BlobLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.BlobLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + The destination ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The destination match condition to use upon the etag. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword ~datetime.datetime source_if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the source resource has been modified since the specified time. + :keyword ~datetime.datetime source_if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the source resource has not been modified since the specified date/time. + :keyword str source_etag: + The source ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions source_match_condition: + The source match condition to use upon the etag. + :keyword ~azure.storage.blob.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. + :keyword str encryption_scope: + A predefined encryption scope used to encrypt the data on the service. An encryption + scope can be created using the Management API and referenced here by name. If a default + encryption scope has been defined at the container, this value will override it if the + container-level scope is configured to allow overrides. Otherwise an error will be raised. + + .. versionadded:: 12.2.0 + + :keyword int timeout: + The timeout parameter is expressed in seconds. + """ + options = self._append_block_from_url_options( + copy_source_url=self._encode_source_url(copy_source_url), + source_offset=source_offset, + source_length=source_length, + **kwargs + ) + try: + return self._client.append_blob.append_block_from_url(**options) # type: ignore + except StorageErrorException as error: + process_storage_error(error) + + def _seal_append_blob_options(self, **kwargs): + # type: (...) -> Dict[str, Any] + if self.require_encryption or (self.key_encryption_key is not None): + raise ValueError(_ERROR_UNSUPPORTED_METHOD_FOR_ENCRYPTION) + + appendpos_condition = kwargs.pop('appendpos_condition', None) + append_conditions = None + if appendpos_condition is not None: + append_conditions = AppendPositionAccessConditions( + append_position=appendpos_condition + ) + access_conditions = get_access_conditions(kwargs.pop('lease', None)) + mod_conditions = get_modify_conditions(kwargs) + + options = { + 'timeout': kwargs.pop('timeout', None), + 'lease_access_conditions': access_conditions, + 'append_position_access_conditions': append_conditions, + 'modified_access_conditions': mod_conditions, + 'cls': return_response_headers} + options.update(kwargs) + return options + + @distributed_trace + def seal_append_blob(self, **kwargs): + # type: (...) -> Dict[str, Union[str, datetime, int]] + """The Seal operation seals the Append Blob to make it read-only. + + .. versionadded:: 12.4.0 + + :keyword int appendpos_condition: + Optional conditional header, used only for the Append Block operation. + A number indicating the byte offset to compare. Append Block will + succeed only if the append position is equal to this number. If it + is not, the request will fail with the AppendPositionConditionNotMet error + (HTTP status code 412 - Precondition Failed). + :keyword lease: + Required if the blob has an active lease. Value can be a BlobLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.BlobLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: Blob-updated property dict (Etag, last modified, append offset, committed block count). + :rtype: dict(str, Any) + """ + options = self._seal_append_blob_options(**kwargs) + try: + return self._client.append_blob.seal(**options) # type: ignore + except StorageErrorException as error: + process_storage_error(error) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_blob_service_client.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_blob_service_client.py new file mode 100644 index 00000000000..1ab68c1f0fe --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_blob_service_client.py @@ -0,0 +1,691 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- + +import functools +from typing import ( # pylint: disable=unused-import + Union, Optional, Any, Iterable, Dict, List, + TYPE_CHECKING +) + +try: + from urllib.parse import urlparse +except ImportError: + from urlparse import urlparse # type: ignore + +from azure.core.paging import ItemPaged +from azure.core.pipeline import Pipeline +from azure.core.tracing.decorator import distributed_trace + +from ._shared.models import LocationMode +from ._shared.base_client import StorageAccountHostsMixin, TransportWrapper, parse_connection_str, parse_query +from ._shared.parser import _to_utc_datetime +from ._shared.response_handlers import return_response_headers, process_storage_error, \ + parse_to_internal_user_delegation_key +from ._generated import AzureBlobStorage, VERSION +from ._generated.models import StorageErrorException, StorageServiceProperties, KeyInfo +from ._container_client import ContainerClient +from ._blob_client import BlobClient +from ._models import ContainerPropertiesPaged, FilteredBlobPaged +from ._serialize import get_api_version +from ._deserialize import service_stats_deserialize, service_properties_deserialize + +if TYPE_CHECKING: + from datetime import datetime + from azure.core.pipeline.transport import HttpTransport + from azure.core.pipeline.policies import HTTPPolicy + from ._shared.models import UserDelegationKey + from ._lease import BlobLeaseClient + from ._models import ( + ContainerProperties, + BlobProperties, + PublicAccess, + BlobAnalyticsLogging, + Metrics, + CorsRule, + RetentionPolicy, + StaticWebsite, + ) + + +class BlobServiceClient(StorageAccountHostsMixin): + """A client to interact with the Blob Service at the account level. + + This client provides operations to retrieve and configure the account properties + as well as list, create and delete containers within the account. + For operations relating to a specific container or blob, clients for those entities + can also be retrieved using the `get_client` functions. + + :param str account_url: + The URL to the blob storage account. Any other entities included + in the URL path (e.g. container or blob) will be discarded. This URL can be optionally + authenticated with a SAS token. + :param credential: + The credentials with which to authenticate. This is optional if the + account URL already has a SAS token. The value can be a SAS token string, an account + shared access key, or an instance of a TokenCredentials class from azure.identity. + If the URL already has a SAS token, specifying an explicit credential will take priority. + :keyword str api_version: + The Storage API version to use for requests. Default value is '2019-07-07'. + Setting to an older version may result in reduced feature compatibility. + + .. versionadded:: 12.2.0 + + :keyword str secondary_hostname: + The hostname of the secondary endpoint. + :keyword int max_block_size: The maximum chunk size for uploading a block blob in chunks. + Defaults to 4*1024*1024, or 4MB. + :keyword int max_single_put_size: If the blob size is less than or equal max_single_put_size, then the blob will be + uploaded with only one http PUT request. If the blob size is larger than max_single_put_size, + the blob will be uploaded in chunks. Defaults to 64*1024*1024, or 64MB. + :keyword int min_large_block_upload_threshold: The minimum chunk size required to use the memory efficient + algorithm when uploading a block blob. Defaults to 4*1024*1024+1. + :keyword bool use_byte_buffer: Use a byte buffer for block blob uploads. Defaults to False. + :keyword int max_page_size: The maximum chunk size for uploading a page blob. Defaults to 4*1024*1024, or 4MB. + :keyword int max_single_get_size: The maximum size for a blob to be downloaded in a single call, + the exceeded part will be downloaded in chunks (could be parallel). Defaults to 32*1024*1024, or 32MB. + :keyword int max_chunk_get_size: The maximum chunk size used for downloading a blob. Defaults to 4*1024*1024, + or 4MB. + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_authentication.py + :start-after: [START create_blob_service_client] + :end-before: [END create_blob_service_client] + :language: python + :dedent: 8 + :caption: Creating the BlobServiceClient with account url and credential. + + .. literalinclude:: ../samples/blob_samples_authentication.py + :start-after: [START create_blob_service_client_oauth] + :end-before: [END create_blob_service_client_oauth] + :language: python + :dedent: 8 + :caption: Creating the BlobServiceClient with Azure Identity credentials. + """ + + def __init__( + self, account_url, # type: str + credential=None, # type: Optional[Any] + **kwargs # type: Any + ): + # type: (...) -> None + try: + if not account_url.lower().startswith('http'): + account_url = "https://" + account_url + except AttributeError: + raise ValueError("Account URL must be a string.") + parsed_url = urlparse(account_url.rstrip('/')) + if not parsed_url.netloc: + raise ValueError("Invalid URL: {}".format(account_url)) + + _, sas_token = parse_query(parsed_url.query) + self._query_str, credential = self._format_query_string(sas_token, credential) + super(BlobServiceClient, self).__init__(parsed_url, service='blob', credential=credential, **kwargs) + self._client = AzureBlobStorage(self.url, pipeline=self._pipeline) + self._client._config.version = get_api_version(kwargs, VERSION) # pylint: disable=protected-access + + def _format_url(self, hostname): + """Format the endpoint URL according to the current location + mode hostname. + """ + return "{}://{}/{}".format(self.scheme, hostname, self._query_str) + + @classmethod + def from_connection_string( + cls, conn_str, # type: str + credential=None, # type: Optional[Any] + **kwargs # type: Any + ): # type: (...) -> BlobServiceClient + """Create BlobServiceClient from a Connection String. + + :param str conn_str: + A connection string to an Azure Storage account. + :param credential: + The credentials with which to authenticate. This is optional if the + account URL already has a SAS token, or the connection string already has shared + access key values. The value can be a SAS token string, an account shared access + key, or an instance of a TokenCredentials class from azure.identity. + Credentials provided here will take precedence over those in the connection string. + :returns: A Blob service client. + :rtype: ~azure.storage.blob.BlobServiceClient + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_authentication.py + :start-after: [START auth_from_connection_string] + :end-before: [END auth_from_connection_string] + :language: python + :dedent: 8 + :caption: Creating the BlobServiceClient from a connection string. + """ + account_url, secondary, credential = parse_connection_str(conn_str, credential, 'blob') + if 'secondary_hostname' not in kwargs: + kwargs['secondary_hostname'] = secondary + return cls(account_url, credential=credential, **kwargs) + + @distributed_trace + def get_user_delegation_key(self, key_start_time, # type: datetime + key_expiry_time, # type: datetime + **kwargs # type: Any + ): + # type: (...) -> UserDelegationKey + """ + Obtain a user delegation key for the purpose of signing SAS tokens. + A token credential must be present on the service object for this request to succeed. + + :param ~datetime.datetime key_start_time: + A DateTime value. Indicates when the key becomes valid. + :param ~datetime.datetime key_expiry_time: + A DateTime value. Indicates when the key stops being valid. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: The user delegation key. + :rtype: ~azure.storage.blob.UserDelegationKey + """ + key_info = KeyInfo(start=_to_utc_datetime(key_start_time), expiry=_to_utc_datetime(key_expiry_time)) + timeout = kwargs.pop('timeout', None) + try: + user_delegation_key = self._client.service.get_user_delegation_key(key_info=key_info, + timeout=timeout, + **kwargs) # type: ignore + except StorageErrorException as error: + process_storage_error(error) + + return parse_to_internal_user_delegation_key(user_delegation_key) # type: ignore + + @distributed_trace + def get_account_information(self, **kwargs): + # type: (Any) -> Dict[str, str] + """Gets information related to the storage account. + + The information can also be retrieved if the user has a SAS to a container or blob. + The keys in the returned dictionary include 'sku_name' and 'account_kind'. + + :returns: A dict of account information (SKU and account type). + :rtype: dict(str, str) + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_service.py + :start-after: [START get_blob_service_account_info] + :end-before: [END get_blob_service_account_info] + :language: python + :dedent: 8 + :caption: Getting account information for the blob service. + """ + try: + return self._client.service.get_account_info(cls=return_response_headers, **kwargs) # type: ignore + except StorageErrorException as error: + process_storage_error(error) + + @distributed_trace + def get_service_stats(self, **kwargs): + # type: (**Any) -> Dict[str, Any] + """Retrieves statistics related to replication for the Blob service. + + It is only available when read-access geo-redundant replication is enabled for + the storage account. + + With geo-redundant replication, Azure Storage maintains your data durable + in two locations. In both locations, Azure Storage constantly maintains + multiple healthy replicas of your data. The location where you read, + create, update, or delete data is the primary storage account location. + The primary location exists in the region you choose at the time you + create an account via the Azure Management Azure classic portal, for + example, North Central US. The location to which your data is replicated + is the secondary location. The secondary location is automatically + determined based on the location of the primary; it is in a second data + center that resides in the same region as the primary location. Read-only + access is available from the secondary location, if read-access geo-redundant + replication is enabled for your storage account. + + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: The blob service stats. + :rtype: Dict[str, Any] + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_service.py + :start-after: [START get_blob_service_stats] + :end-before: [END get_blob_service_stats] + :language: python + :dedent: 8 + :caption: Getting service stats for the blob service. + """ + timeout = kwargs.pop('timeout', None) + try: + stats = self._client.service.get_statistics( # type: ignore + timeout=timeout, use_location=LocationMode.SECONDARY, **kwargs) + return service_stats_deserialize(stats) + except StorageErrorException as error: + process_storage_error(error) + + @distributed_trace + def get_service_properties(self, **kwargs): + # type: (Any) -> Dict[str, Any] + """Gets the properties of a storage account's Blob service, including + Azure Storage Analytics. + + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: An object containing blob service properties such as + analytics logging, hour/minute metrics, cors rules, etc. + :rtype: Dict[str, Any] + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_service.py + :start-after: [START get_blob_service_properties] + :end-before: [END get_blob_service_properties] + :language: python + :dedent: 8 + :caption: Getting service properties for the blob service. + """ + timeout = kwargs.pop('timeout', None) + try: + service_props = self._client.service.get_properties(timeout=timeout, **kwargs) + return service_properties_deserialize(service_props) + except StorageErrorException as error: + process_storage_error(error) + + @distributed_trace + def set_service_properties( + self, analytics_logging=None, # type: Optional[BlobAnalyticsLogging] + hour_metrics=None, # type: Optional[Metrics] + minute_metrics=None, # type: Optional[Metrics] + cors=None, # type: Optional[List[CorsRule]] + target_version=None, # type: Optional[str] + delete_retention_policy=None, # type: Optional[RetentionPolicy] + static_website=None, # type: Optional[StaticWebsite] + **kwargs + ): + # type: (...) -> None + """Sets the properties of a storage account's Blob service, including + Azure Storage Analytics. + + If an element (e.g. analytics_logging) is left as None, the + existing settings on the service for that functionality are preserved. + + :param analytics_logging: + Groups the Azure Analytics Logging settings. + :type analytics_logging: ~azure.storage.blob.BlobAnalyticsLogging + :param hour_metrics: + The hour metrics settings provide a summary of request + statistics grouped by API in hourly aggregates for blobs. + :type hour_metrics: ~azure.storage.blob.Metrics + :param minute_metrics: + The minute metrics settings provide request statistics + for each minute for blobs. + :type minute_metrics: ~azure.storage.blob.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[~azure.storage.blob.CorsRule] + :param str target_version: + Indicates the default version to use for requests if an incoming + request's version is not specified. + :param delete_retention_policy: + 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: ~azure.storage.blob.RetentionPolicy + :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: ~azure.storage.blob.StaticWebsite + :keyword int timeout: + The timeout parameter is expressed in seconds. + :rtype: None + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_service.py + :start-after: [START set_blob_service_properties] + :end-before: [END set_blob_service_properties] + :language: python + :dedent: 8 + :caption: Setting service properties for the blob service. + """ + if all(parameter is None for parameter in [ + analytics_logging, hour_metrics, minute_metrics, cors, + target_version, delete_retention_policy, static_website]): + raise ValueError("set_service_properties should be called with at least one parameter") + + props = StorageServiceProperties( + logging=analytics_logging, + hour_metrics=hour_metrics, + minute_metrics=minute_metrics, + cors=cors, + default_service_version=target_version, + delete_retention_policy=delete_retention_policy, + static_website=static_website + ) + timeout = kwargs.pop('timeout', None) + try: + self._client.service.set_properties(props, timeout=timeout, **kwargs) + except StorageErrorException as error: + process_storage_error(error) + + @distributed_trace + def list_containers( + self, name_starts_with=None, # type: Optional[str] + include_metadata=False, # type: Optional[bool] + **kwargs + ): + # type: (...) -> ItemPaged[ContainerProperties] + """Returns a generator to list the containers under the specified account. + + The generator will lazily follow the continuation tokens returned by + the service and stop when all containers have been returned. + + :param str name_starts_with: + Filters the results to return only containers whose names + begin with the specified prefix. + :param bool include_metadata: + Specifies that container metadata to be returned in the response. + The default value is `False`. + :keyword bool include_deleted: + Specifies that deleted containers to be returned in the response. This is for container restore enabled + account. The default value is `False`. + .. versionadded:: 12.4.0 + :keyword int results_per_page: + The maximum number of container names to retrieve per API + call. If the request does not specify the server will return up to 5,000 items. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: An iterable (auto-paging) of ContainerProperties. + :rtype: ~azure.core.paging.ItemPaged[~azure.storage.blob.ContainerProperties] + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_service.py + :start-after: [START bsc_list_containers] + :end-before: [END bsc_list_containers] + :language: python + :dedent: 12 + :caption: Listing the containers in the blob service. + """ + include = ['metadata'] if include_metadata else [] + include_deleted = kwargs.pop('include_deleted', None) + if include_deleted: + include.append("deleted") + + timeout = kwargs.pop('timeout', None) + results_per_page = kwargs.pop('results_per_page', None) + command = functools.partial( + self._client.service.list_containers_segment, + prefix=name_starts_with, + include=include, + timeout=timeout, + **kwargs) + return ItemPaged( + command, + prefix=name_starts_with, + results_per_page=results_per_page, + page_iterator_class=ContainerPropertiesPaged + ) + + @distributed_trace + def find_blobs_by_tags(self, filter_expression, **kwargs): + # type: (str, **Any) -> ItemPaged[FilteredBlob] + """The Filter Blobs operation enables callers to list blobs across all + containers whose tags match a given search expression. Filter blobs + searches across all containers within a storage account but can be + scoped within the expression to a single container. + + :param str filter_expression: + The expression to find blobs whose tags matches the specified condition. + eg. "\"yourtagname\"='firsttag' and \"yourtagname2\"='secondtag'" + To specify a container, eg. "@container='containerName' and \"Name\"='C'" + :keyword int results_per_page: + The max result per page when paginating. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: An iterable (auto-paging) response of BlobProperties. + :rtype: ~azure.core.paging.ItemPaged[~azure.storage.blob.FilteredBlob] + """ + + results_per_page = kwargs.pop('results_per_page', None) + timeout = kwargs.pop('timeout', None) + command = functools.partial( + self._client.service.filter_blobs, + where=filter_expression, + timeout=timeout, + **kwargs) + return ItemPaged( + command, results_per_page=results_per_page, + page_iterator_class=FilteredBlobPaged) + + @distributed_trace + def create_container( + self, name, # type: str + metadata=None, # type: Optional[Dict[str, str]] + public_access=None, # type: Optional[Union[PublicAccess, str]] + **kwargs + ): + # type: (...) -> ContainerClient + """Creates a new container under the specified account. + + If the container with the same name already exists, a ResourceExistsError will + be raised. This method returns a client with which to interact with the newly + created container. + + :param str name: The name of the container to create. + :param metadata: + A dict with name-value pairs to associate with the + container as metadata. Example: `{'Category':'test'}` + :type metadata: dict(str, str) + :param public_access: + Possible values include: 'container', 'blob'. + :type public_access: str or ~azure.storage.blob.PublicAccess + :keyword container_encryption_scope: + Specifies the default encryption scope to set on the container and use for + all future writes. + + .. versionadded:: 12.2.0 + + :paramtype container_encryption_scope: dict or ~azure.storage.blob.ContainerEncryptionScope + :keyword int timeout: + The timeout parameter is expressed in seconds. + :rtype: ~azure.storage.blob.ContainerClient + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_service.py + :start-after: [START bsc_create_container] + :end-before: [END bsc_create_container] + :language: python + :dedent: 12 + :caption: Creating a container in the blob service. + """ + container = self.get_container_client(name) + kwargs.setdefault('merge_span', True) + timeout = kwargs.pop('timeout', None) + container.create_container( + metadata=metadata, public_access=public_access, timeout=timeout, **kwargs) + return container + + @distributed_trace + def delete_container( + self, container, # type: Union[ContainerProperties, str] + lease=None, # type: Optional[Union[BlobLeaseClient, str]] + **kwargs + ): + # type: (...) -> None + """Marks the specified container for deletion. + + The container and any blobs contained within it are later deleted during garbage collection. + If the container is not found, a ResourceNotFoundError will be raised. + + :param container: + The container to delete. This can either be the name of the container, + or an instance of ContainerProperties. + :type container: str or ~azure.storage.blob.ContainerProperties + :param lease: + If specified, delete_container only succeeds if the + container's lease is active and matches this ID. + Required if the container has an active lease. + :paramtype lease: ~azure.storage.blob.BlobLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :rtype: None + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_service.py + :start-after: [START bsc_delete_container] + :end-before: [END bsc_delete_container] + :language: python + :dedent: 12 + :caption: Deleting a container in the blob service. + """ + container = self.get_container_client(container) # type: ignore + kwargs.setdefault('merge_span', True) + timeout = kwargs.pop('timeout', None) + container.delete_container( # type: ignore + lease=lease, + timeout=timeout, + **kwargs) + + @distributed_trace + def undelete_container(self, deleted_container_name, deleted_container_version, **kwargs): + # type: (str, str, str, **Any) -> ContainerClient + """Restores soft-deleted container. + + Operation will only be successful if used within the specified number of days + set in the delete retention policy. + + .. versionadded:: 12.4.0 + This operation was introduced in API version '2019-12-12'. + + :param str deleted_container_name: + Specifies the name of the deleted container to restore. + :param str deleted_container_version: + Specifies the version of the deleted container to restore. + :keyword str new_name: + The new name for the deleted container to be restored to. + If not specified deleted_container_name will be used as the restored container name. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :rtype: ~azure.storage.blob.ContainerClient + """ + new_name = kwargs.pop('new_name', None) + container = self.get_container_client(new_name or deleted_container_name) + try: + container._client.container.restore(deleted_container_name=deleted_container_name, # pylint: disable = protected-access + deleted_container_version=deleted_container_version, + timeout=kwargs.pop('timeout', None), **kwargs) + return container + except StorageErrorException as error: + process_storage_error(error) + + def get_container_client(self, container): + # type: (Union[ContainerProperties, str]) -> ContainerClient + """Get a client to interact with the specified container. + + The container need not already exist. + + :param container: + The container. This can either be the name of the container, + or an instance of ContainerProperties. + :type container: str or ~azure.storage.blob.ContainerProperties + :returns: A ContainerClient. + :rtype: ~azure.storage.blob.ContainerClient + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_service.py + :start-after: [START bsc_get_container_client] + :end-before: [END bsc_get_container_client] + :language: python + :dedent: 8 + :caption: Getting the container client to interact with a specific container. + """ + try: + container_name = container.name + except AttributeError: + container_name = container + _pipeline = Pipeline( + transport=TransportWrapper(self._pipeline._transport), # pylint: disable = protected-access + policies=self._pipeline._impl_policies # pylint: disable = protected-access + ) + return ContainerClient( + self.url, container_name=container_name, + credential=self.credential, api_version=self.api_version, _configuration=self._config, + _pipeline=_pipeline, _location_mode=self._location_mode, _hosts=self._hosts, + require_encryption=self.require_encryption, key_encryption_key=self.key_encryption_key, + key_resolver_function=self.key_resolver_function) + + def get_blob_client( + self, container, # type: Union[ContainerProperties, str] + blob, # type: Union[BlobProperties, str] + snapshot=None # type: Optional[Union[Dict[str, Any], str]] + ): + # type: (...) -> BlobClient + """Get a client to interact with the specified blob. + + The blob need not already exist. + + :param container: + The container that the blob is in. This can either be the name of the container, + or an instance of ContainerProperties. + :type container: str or ~azure.storage.blob.ContainerProperties + :param blob: + The blob with which to interact. This can either be the name of the blob, + or an instance of BlobProperties. + :type blob: str or ~azure.storage.blob.BlobProperties + :param snapshot: + The optional blob snapshot on which to operate. This can either be the ID of the snapshot, + or a dictionary output returned by :func:`~azure.storage.blob.BlobClient.create_snapshot()`. + :type snapshot: str or dict(str, Any) + :returns: A BlobClient. + :rtype: ~azure.storage.blob.BlobClient + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_service.py + :start-after: [START bsc_get_blob_client] + :end-before: [END bsc_get_blob_client] + :language: python + :dedent: 12 + :caption: Getting the blob client to interact with a specific blob. + """ + try: + container_name = container.name + except AttributeError: + container_name = container + try: + blob_name = blob.name + except AttributeError: + blob_name = blob + _pipeline = Pipeline( + transport=TransportWrapper(self._pipeline._transport), # pylint: disable = protected-access + policies=self._pipeline._impl_policies # pylint: disable = protected-access + ) + return BlobClient( # type: ignore + self.url, container_name=container_name, blob_name=blob_name, snapshot=snapshot, + credential=self.credential, api_version=self.api_version, _configuration=self._config, + _pipeline=_pipeline, _location_mode=self._location_mode, _hosts=self._hosts, + require_encryption=self.require_encryption, key_encryption_key=self.key_encryption_key, + key_resolver_function=self.key_resolver_function) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_container_client.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_container_client.py new file mode 100644 index 00000000000..ba327c2498e --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_container_client.py @@ -0,0 +1,1448 @@ +# pylint: disable=too-many-lines +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- + +import functools +from typing import ( # pylint: disable=unused-import + Union, Optional, Any, Iterable, AnyStr, Dict, List, Tuple, IO, Iterator, + TYPE_CHECKING +) + +try: + from urllib.parse import urlparse, quote, unquote +except ImportError: + from urlparse import urlparse # type: ignore + from urllib2 import quote, unquote # type: ignore + +import six + +from azure.core import MatchConditions +from azure.core.paging import ItemPaged +from azure.core.tracing.decorator import distributed_trace +from azure.core.pipeline import Pipeline +from azure.core.pipeline.transport import HttpRequest + +from ._shared.base_client import StorageAccountHostsMixin, TransportWrapper, parse_connection_str, parse_query +from ._shared.request_handlers import add_metadata_headers, serialize_iso +from ._shared.response_handlers import ( + process_storage_error, + return_response_headers, + return_headers_and_deserialized) +from ._generated import AzureBlobStorage, VERSION +from ._generated.models import ( + StorageErrorException, + SignedIdentifier) +from ._deserialize import deserialize_container_properties +from ._serialize import get_modify_conditions, get_container_cpk_scope_info, get_api_version, get_access_conditions +from ._models import ( # pylint: disable=unused-import + ContainerProperties, + BlobProperties, + BlobType) +from ._list_blobs_helper import BlobPrefix, BlobPropertiesPaged +from ._lease import BlobLeaseClient +from ._blob_client import BlobClient + +if TYPE_CHECKING: + from azure.core.pipeline.transport import HttpTransport, HttpResponse # pylint: disable=ungrouped-imports + from azure.core.pipeline.policies import HTTPPolicy # pylint: disable=ungrouped-imports + from datetime import datetime + from ._models import ( # pylint: disable=unused-import + PublicAccess, + AccessPolicy, + ContentSettings, + StandardBlobTier, + PremiumPageBlobTier) + + +def _get_blob_name(blob): + """Return the blob name. + + :param blob: A blob string or BlobProperties + :rtype: str + """ + try: + return blob.get('name') + except AttributeError: + return blob + + +class ContainerClient(StorageAccountHostsMixin): + """A client to interact with a specific container, although that container + may not yet exist. + + For operations relating to a specific blob within this container, a blob client can be + retrieved using the :func:`~get_blob_client` function. + + :param str account_url: + The URI to the storage account. In order to create a client given the full URI to the container, + use the :func:`from_container_url` classmethod. + :param container_name: + The name of the container for the blob. + :type container_name: str + :param credential: + The credentials with which to authenticate. This is optional if the + account URL already has a SAS token. The value can be a SAS token string, an account + shared access key, or an instance of a TokenCredentials class from azure.identity. + If the URL already has a SAS token, specifying an explicit credential will take priority. + :keyword str api_version: + The Storage API version to use for requests. Default value is '2019-07-07'. + Setting to an older version may result in reduced feature compatibility. + + .. versionadded:: 12.2.0 + + :keyword str secondary_hostname: + The hostname of the secondary endpoint. + :keyword int max_block_size: The maximum chunk size for uploading a block blob in chunks. + Defaults to 4*1024*1024, or 4MB. + :keyword int max_single_put_size: If the blob size is less than or equal max_single_put_size, then the blob will be + uploaded with only one http PUT request. If the blob size is larger than max_single_put_size, + the blob will be uploaded in chunks. Defaults to 64*1024*1024, or 64MB. + :keyword int min_large_block_upload_threshold: The minimum chunk size required to use the memory efficient + algorithm when uploading a block blob. Defaults to 4*1024*1024+1. + :keyword bool use_byte_buffer: Use a byte buffer for block blob uploads. Defaults to False. + :keyword int max_page_size: The maximum chunk size for uploading a page blob. Defaults to 4*1024*1024, or 4MB. + :keyword int max_single_get_size: The maximum size for a blob to be downloaded in a single call, + the exceeded part will be downloaded in chunks (could be parallel). Defaults to 32*1024*1024, or 32MB. + :keyword int max_chunk_get_size: The maximum chunk size used for downloading a blob. Defaults to 4*1024*1024, + or 4MB. + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_containers.py + :start-after: [START create_container_client_from_service] + :end-before: [END create_container_client_from_service] + :language: python + :dedent: 8 + :caption: Get a ContainerClient from an existing BlobServiceClient. + + .. literalinclude:: ../samples/blob_samples_containers.py + :start-after: [START create_container_client_sasurl] + :end-before: [END create_container_client_sasurl] + :language: python + :dedent: 8 + :caption: Creating the container client directly. + """ + def __init__( + self, account_url, # type: str + container_name, # type: str + credential=None, # type: Optional[Any] + **kwargs # type: Any + ): + # type: (...) -> None + try: + if not account_url.lower().startswith('http'): + account_url = "https://" + account_url + except AttributeError: + raise ValueError("Container URL must be a string.") + parsed_url = urlparse(account_url.rstrip('/')) + if not container_name: + raise ValueError("Please specify a container name.") + if not parsed_url.netloc: + raise ValueError("Invalid URL: {}".format(account_url)) + + _, sas_token = parse_query(parsed_url.query) + self.container_name = container_name + self._query_str, credential = self._format_query_string(sas_token, credential) + super(ContainerClient, self).__init__(parsed_url, service='blob', credential=credential, **kwargs) + self._client = AzureBlobStorage(self.url, pipeline=self._pipeline) + self._client._config.version = get_api_version(kwargs, VERSION) # pylint: disable=protected-access + + def _format_url(self, hostname): + container_name = self.container_name + if isinstance(container_name, six.text_type): + container_name = container_name.encode('UTF-8') + return "{}://{}/{}{}".format( + self.scheme, + hostname, + quote(container_name), + self._query_str) + + @classmethod + def from_container_url(cls, container_url, credential=None, **kwargs): + # type: (str, Optional[Any], Any) -> ContainerClient + """Create ContainerClient from a container url. + + :param str container_url: + The full endpoint URL to the Container, including SAS token if used. This could be + either the primary endpoint, or the secondary endpoint depending on the current `location_mode`. + :type container_url: str + :param credential: + The credentials with which to authenticate. This is optional if the + account URL already has a SAS token, or the connection string already has shared + access key values. The value can be a SAS token string, an account shared access + key, or an instance of a TokenCredentials class from azure.identity. + Credentials provided here will take precedence over those in the connection string. + :returns: A container client. + :rtype: ~azure.storage.blob.ContainerClient + """ + try: + if not container_url.lower().startswith('http'): + container_url = "https://" + container_url + except AttributeError: + raise ValueError("Container URL must be a string.") + parsed_url = urlparse(container_url.rstrip('/')) + if not parsed_url.netloc: + raise ValueError("Invalid URL: {}".format(container_url)) + + container_path = parsed_url.path.lstrip('/').split('/') + account_path = "" + if len(container_path) > 1: + account_path = "/" + "/".join(container_path[:-1]) + account_url = "{}://{}{}?{}".format( + parsed_url.scheme, + parsed_url.netloc.rstrip('/'), + account_path, + parsed_url.query) + container_name = unquote(container_path[-1]) + if not container_name: + raise ValueError("Invalid URL. Please provide a URL with a valid container name") + return cls(account_url, container_name=container_name, credential=credential, **kwargs) + + @classmethod + def from_connection_string( + cls, conn_str, # type: str + container_name, # type: str + credential=None, # type: Optional[Any] + **kwargs # type: Any + ): # type: (...) -> ContainerClient + """Create ContainerClient from a Connection String. + + :param str conn_str: + A connection string to an Azure Storage account. + :param container_name: + The container name for the blob. + :type container_name: str + :param credential: + The credentials with which to authenticate. This is optional if the + account URL already has a SAS token, or the connection string already has shared + access key values. The value can be a SAS token string, an account shared access + key, or an instance of a TokenCredentials class from azure.identity. + Credentials provided here will take precedence over those in the connection string. + :returns: A container client. + :rtype: ~azure.storage.blob.ContainerClient + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_authentication.py + :start-after: [START auth_from_connection_string_container] + :end-before: [END auth_from_connection_string_container] + :language: python + :dedent: 8 + :caption: Creating the ContainerClient from a connection string. + """ + account_url, secondary, credential = parse_connection_str(conn_str, credential, 'blob') + if 'secondary_hostname' not in kwargs: + kwargs['secondary_hostname'] = secondary + return cls( + account_url, container_name=container_name, credential=credential, **kwargs) + + @distributed_trace + def create_container(self, metadata=None, public_access=None, **kwargs): + # type: (Optional[Dict[str, str]], Optional[Union[PublicAccess, str]], **Any) -> None + """ + Creates a new container under the specified account. If the container + with the same name already exists, the operation fails. + + :param metadata: + A dict with name_value pairs to associate with the + container as metadata. Example:{'Category':'test'} + :type metadata: dict[str, str] + :param ~azure.storage.blob.PublicAccess public_access: + Possible values include: 'container', 'blob'. + :keyword container_encryption_scope: + Specifies the default encryption scope to set on the container and use for + all future writes. + + .. versionadded:: 12.2.0 + + :paramtype container_encryption_scope: dict or ~azure.storage.blob.ContainerEncryptionScope + :keyword int timeout: + The timeout parameter is expressed in seconds. + :rtype: None + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_containers.py + :start-after: [START create_container] + :end-before: [END create_container] + :language: python + :dedent: 12 + :caption: Creating a container to store blobs. + """ + headers = kwargs.pop('headers', {}) + timeout = kwargs.pop('timeout', None) + headers.update(add_metadata_headers(metadata)) # type: ignore + container_cpk_scope_info = get_container_cpk_scope_info(kwargs) + try: + return self._client.container.create( # type: ignore + timeout=timeout, + access=public_access, + container_cpk_scope_info=container_cpk_scope_info, + cls=return_response_headers, + headers=headers, + **kwargs) + except StorageErrorException as error: + process_storage_error(error) + + @distributed_trace + def delete_container( + self, **kwargs): + # type: (Any) -> None + """ + Marks the specified container for deletion. The container and any blobs + contained within it are later deleted during garbage collection. + + :keyword lease: + If specified, delete_container only succeeds if the + container's lease is active and matches this ID. + Required if the container has an active lease. + :paramtype lease: ~azure.storage.blob.BlobLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :rtype: None + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_containers.py + :start-after: [START delete_container] + :end-before: [END delete_container] + :language: python + :dedent: 12 + :caption: Delete a container. + """ + lease = kwargs.pop('lease', None) + access_conditions = get_access_conditions(lease) + mod_conditions = get_modify_conditions(kwargs) + timeout = kwargs.pop('timeout', None) + try: + self._client.container.delete( + timeout=timeout, + lease_access_conditions=access_conditions, + modified_access_conditions=mod_conditions, + **kwargs) + except StorageErrorException as error: + process_storage_error(error) + + @distributed_trace + def acquire_lease( + self, lease_duration=-1, # type: int + lease_id=None, # type: Optional[str] + **kwargs): + # type: (...) -> BlobLeaseClient + """ + Requests a new lease. If the container does not have an active lease, + the Blob service creates a lease on the container and returns a new + lease ID. + + :param int lease_duration: + Specifies the duration of the lease, in seconds, or negative one + (-1) for a lease that never expires. A non-infinite lease can be + between 15 and 60 seconds. A lease duration cannot be changed + using renew or change. Default is -1 (infinite lease). + :param str lease_id: + Proposed lease ID, in a GUID string format. The Blob service returns + 400 (Invalid request) if the proposed lease ID is not in the correct format. + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: A BlobLeaseClient object, that can be run in a context manager. + :rtype: ~azure.storage.blob.BlobLeaseClient + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_containers.py + :start-after: [START acquire_lease_on_container] + :end-before: [END acquire_lease_on_container] + :language: python + :dedent: 8 + :caption: Acquiring a lease on the container. + """ + lease = BlobLeaseClient(self, lease_id=lease_id) # type: ignore + kwargs.setdefault('merge_span', True) + timeout = kwargs.pop('timeout', None) + lease.acquire(lease_duration=lease_duration, timeout=timeout, **kwargs) + return lease + + @distributed_trace + def get_account_information(self, **kwargs): + # type: (**Any) -> Dict[str, str] + """Gets information related to the storage account. + + The information can also be retrieved if the user has a SAS to a container or blob. + The keys in the returned dictionary include 'sku_name' and 'account_kind'. + + :returns: A dict of account information (SKU and account type). + :rtype: dict(str, str) + """ + try: + return self._client.container.get_account_info(cls=return_response_headers, **kwargs) # type: ignore + except StorageErrorException as error: + process_storage_error(error) + + @distributed_trace + def get_container_properties(self, **kwargs): + # type: (Any) -> ContainerProperties + """Returns all user-defined metadata and system properties for the specified + container. The data returned does not include the container's list of blobs. + + :keyword lease: + If specified, get_container_properties only succeeds if the + container's lease is active and matches this ID. + :paramtype lease: ~azure.storage.blob.BlobLeaseClient or str + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: Properties for the specified container within a container object. + :rtype: ~azure.storage.blob.ContainerProperties + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_containers.py + :start-after: [START get_container_properties] + :end-before: [END get_container_properties] + :language: python + :dedent: 12 + :caption: Getting properties on the container. + """ + lease = kwargs.pop('lease', None) + access_conditions = get_access_conditions(lease) + timeout = kwargs.pop('timeout', None) + try: + response = self._client.container.get_properties( + timeout=timeout, + lease_access_conditions=access_conditions, + cls=deserialize_container_properties, + **kwargs) + except StorageErrorException as error: + process_storage_error(error) + response.name = self.container_name + return response # type: ignore + + @distributed_trace + def set_container_metadata( # type: ignore + self, metadata=None, # type: Optional[Dict[str, str]] + **kwargs + ): + # type: (...) -> Dict[str, Union[str, datetime]] + """Sets one or more user-defined name-value pairs for the specified + container. Each call to this operation replaces all existing metadata + attached to the container. To remove all metadata from the container, + call this operation with no metadata dict. + + :param metadata: + A dict containing name-value pairs to associate with the container as + metadata. Example: {'category':'test'} + :type metadata: dict[str, str] + :keyword lease: + If specified, set_container_metadata only succeeds if the + container's lease is active and matches this ID. + :paramtype lease: ~azure.storage.blob.BlobLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: Container-updated property dict (Etag and last modified). + :rtype: dict[str, str or datetime] + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_containers.py + :start-after: [START set_container_metadata] + :end-before: [END set_container_metadata] + :language: python + :dedent: 12 + :caption: Setting metadata on the container. + """ + headers = kwargs.pop('headers', {}) + headers.update(add_metadata_headers(metadata)) + lease = kwargs.pop('lease', None) + access_conditions = get_access_conditions(lease) + mod_conditions = get_modify_conditions(kwargs) + timeout = kwargs.pop('timeout', None) + try: + return self._client.container.set_metadata( # type: ignore + timeout=timeout, + lease_access_conditions=access_conditions, + modified_access_conditions=mod_conditions, + cls=return_response_headers, + headers=headers, + **kwargs) + except StorageErrorException as error: + process_storage_error(error) + + @distributed_trace + def get_container_access_policy(self, **kwargs): + # type: (Any) -> Dict[str, Any] + """Gets the permissions for the specified container. + The permissions indicate whether container data may be accessed publicly. + + :keyword lease: + If specified, get_container_access_policy only succeeds if the + container's lease is active and matches this ID. + :paramtype lease: ~azure.storage.blob.BlobLeaseClient or str + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: Access policy information in a dict. + :rtype: dict[str, Any] + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_containers.py + :start-after: [START get_container_access_policy] + :end-before: [END get_container_access_policy] + :language: python + :dedent: 12 + :caption: Getting the access policy on the container. + """ + lease = kwargs.pop('lease', None) + access_conditions = get_access_conditions(lease) + timeout = kwargs.pop('timeout', None) + try: + response, identifiers = self._client.container.get_access_policy( + timeout=timeout, + lease_access_conditions=access_conditions, + cls=return_headers_and_deserialized, + **kwargs) + except StorageErrorException as error: + process_storage_error(error) + return { + 'public_access': response.get('blob_public_access'), + 'signed_identifiers': identifiers or [] + } + + @distributed_trace + def set_container_access_policy( + self, signed_identifiers, # type: Dict[str, AccessPolicy] + public_access=None, # type: Optional[Union[str, PublicAccess]] + **kwargs + ): # type: (...) -> Dict[str, Union[str, datetime]] + """Sets the permissions for the specified container or stored access + policies that may be used with Shared Access Signatures. The permissions + indicate whether blobs in a container may be accessed publicly. + + :param signed_identifiers: + 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, ~azure.storage.blob.AccessPolicy] + :param ~azure.storage.blob.PublicAccess public_access: + Possible values include: 'container', 'blob'. + :keyword lease: + Required if the container has an active lease. Value can be a BlobLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.BlobLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A datetime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified date/time. + :keyword ~datetime.datetime if_unmodified_since: + A datetime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: Container-updated property dict (Etag and last modified). + :rtype: dict[str, str or ~datetime.datetime] + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_containers.py + :start-after: [START set_container_access_policy] + :end-before: [END set_container_access_policy] + :language: python + :dedent: 12 + :caption: Setting access policy on the container. + """ + if len(signed_identifiers) > 5: + raise ValueError( + 'Too many access policies provided. The server does not support setting ' + 'more than 5 access policies on a single resource.') + identifiers = [] + for key, value in signed_identifiers.items(): + if value: + value.start = serialize_iso(value.start) + value.expiry = serialize_iso(value.expiry) + identifiers.append(SignedIdentifier(id=key, access_policy=value)) # type: ignore + signed_identifiers = identifiers # type: ignore + lease = kwargs.pop('lease', None) + mod_conditions = get_modify_conditions(kwargs) + access_conditions = get_access_conditions(lease) + timeout = kwargs.pop('timeout', None) + try: + return self._client.container.set_access_policy( + container_acl=signed_identifiers or None, + timeout=timeout, + access=public_access, + lease_access_conditions=access_conditions, + modified_access_conditions=mod_conditions, + cls=return_response_headers, + **kwargs) + except StorageErrorException as error: + process_storage_error(error) + + @distributed_trace + def list_blobs(self, name_starts_with=None, include=None, **kwargs): + # type: (Optional[str], Optional[Union[str, List[str]]], **Any) -> ItemPaged[BlobProperties] + """Returns a generator to list the blobs under the specified container. + The generator will lazily follow the continuation tokens returned by + the service. + + :param str name_starts_with: + Filters the results to return only blobs whose names + begin with the specified prefix. + :param list[str] or str include: + Specifies one or more additional datasets to include in the response. + Options include: 'snapshots', 'metadata', 'uncommittedblobs', 'copy', 'deleted', 'tags'. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: An iterable (auto-paging) response of BlobProperties. + :rtype: ~azure.core.paging.ItemPaged[~azure.storage.blob.BlobProperties] + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_containers.py + :start-after: [START list_blobs_in_container] + :end-before: [END list_blobs_in_container] + :language: python + :dedent: 8 + :caption: List the blobs in the container. + """ + if include and not isinstance(include, list): + include = [include] + + results_per_page = kwargs.pop('results_per_page', None) + timeout = kwargs.pop('timeout', None) + command = functools.partial( + self._client.container.list_blob_flat_segment, + include=include, + timeout=timeout, + **kwargs) + return ItemPaged( + command, prefix=name_starts_with, results_per_page=results_per_page, + page_iterator_class=BlobPropertiesPaged) + + @distributed_trace + def walk_blobs( + self, name_starts_with=None, # type: Optional[str] + include=None, # type: Optional[Any] + delimiter="/", # type: str + **kwargs # type: Optional[Any] + ): + # type: (...) -> ItemPaged[BlobProperties] + """Returns a generator to list the blobs under the specified container. + The generator will lazily follow the continuation tokens returned by + the service. This operation will list blobs in accordance with a hierarchy, + as delimited by the specified delimiter character. + + :param str name_starts_with: + Filters the results to return only blobs whose names + begin with the specified prefix. + :param list[str] include: + Specifies one or more additional datasets to include in the response. + Options include: 'snapshots', 'metadata', 'uncommittedblobs', 'copy', 'deleted'. + :param str delimiter: + When the request includes this parameter, the operation returns a BlobPrefix + element in the response body that acts as a placeholder for all blobs whose + names begin with the same substring up to the appearance of the delimiter + character. The delimiter may be a single character or a string. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: An iterable (auto-paging) response of BlobProperties. + :rtype: ~azure.core.paging.ItemPaged[~azure.storage.blob.BlobProperties] + """ + if include and not isinstance(include, list): + include = [include] + + results_per_page = kwargs.pop('results_per_page', None) + timeout = kwargs.pop('timeout', None) + command = functools.partial( + self._client.container.list_blob_hierarchy_segment, + delimiter=delimiter, + include=include, + timeout=timeout, + **kwargs) + return BlobPrefix( + command, + prefix=name_starts_with, + results_per_page=results_per_page, + delimiter=delimiter) + + @distributed_trace + def upload_blob( + self, name, # type: Union[str, BlobProperties] + data, # type: Union[Iterable[AnyStr], IO[AnyStr]] + blob_type=BlobType.BlockBlob, # type: Union[str, BlobType] + length=None, # type: Optional[int] + metadata=None, # type: Optional[Dict[str, str]] + **kwargs + ): + # type: (...) -> BlobClient + """Creates a new blob from a data source with automatic chunking. + + :param name: The blob with which to interact. If specified, this value will override + a blob value specified in the blob URL. + :type name: str or ~azure.storage.blob.BlobProperties + :param data: The blob data to upload. + :param ~azure.storage.blob.BlobType blob_type: The type of the blob. This can be + either BlockBlob, PageBlob or AppendBlob. The default value is BlockBlob. + :param int length: + Number of bytes to read from the stream. This is optional, but + should be supplied for optimal performance. + :param metadata: + Name-value pairs associated with the blob as metadata. + :type metadata: dict(str, str) + :keyword bool overwrite: Whether the blob to be uploaded should overwrite the current data. + If True, upload_blob will overwrite the existing data. If set to False, the + operation will fail with ResourceExistsError. The exception to the above is with Append + blob types: if set to False and the data already exists, an error will not be raised + and the data will be appended to the existing blob. If set overwrite=True, then the existing + append blob will be deleted, and a new one created. Defaults to False. + :keyword ~azure.storage.blob.ContentSettings content_settings: + ContentSettings object used to set blob properties. Used to set content type, encoding, + language, disposition, md5, and cache control. + :keyword bool validate_content: + If true, calculates an MD5 hash for each chunk of the blob. The storage + service checks the hash of the content that has arrived with the hash + that was sent. This is primarily valuable for detecting bitflips on + the wire if using http instead of https, as https (the default), will + already validate. Note that this MD5 hash is not stored with the + blob. Also note that if enabled, the memory-efficient upload algorithm + will not be used, because computing the MD5 hash requires buffering + entire blocks, and doing so defeats the purpose of the memory-efficient algorithm. + :keyword lease: + Required if the container has an active lease. Value can be a BlobLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.BlobLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword int timeout: + The timeout parameter is expressed in seconds. This method may make + multiple calls to the Azure service and the timeout will apply to + each call individually. + :keyword ~azure.storage.blob.PremiumPageBlobTier premium_page_blob_tier: + A page blob tier value to set the blob to. The tier correlates to the size of the + blob and number of allowed IOPS. This is only applicable to page blobs on + premium storage accounts. + :keyword ~azure.storage.blob.StandardBlobTier standard_blob_tier: + A standard blob tier value to set the blob to. For this version of the library, + this is only applicable to block blobs on standard storage accounts. + :keyword int maxsize_condition: + Optional conditional header. The max length in bytes permitted for + the append blob. If the Append Block operation would cause the blob + to exceed that limit or if the blob size is already greater than the + value specified in this header, the request will fail with + MaxBlobSizeConditionNotMet error (HTTP status code 412 - Precondition Failed). + :keyword int max_concurrency: + Maximum number of parallel connections to use when the blob size exceeds + 64MB. + :keyword ~azure.storage.blob.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. + :keyword str encryption_scope: + A predefined encryption scope used to encrypt the data on the service. An encryption + scope can be created using the Management API and referenced here by name. If a default + encryption scope has been defined at the container, this value will override it if the + container-level scope is configured to allow overrides. Otherwise an error will be raised. + + .. versionadded:: 12.2.0 + + :keyword str encoding: + Defaults to UTF-8. + :returns: A BlobClient to interact with the newly uploaded blob. + :rtype: ~azure.storage.blob.BlobClient + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_containers.py + :start-after: [START upload_blob_to_container] + :end-before: [END upload_blob_to_container] + :language: python + :dedent: 8 + :caption: Upload blob to the container. + """ + blob = self.get_blob_client(name) + kwargs.setdefault('merge_span', True) + timeout = kwargs.pop('timeout', None) + encoding = kwargs.pop('encoding', 'UTF-8') + blob.upload_blob( + data, + blob_type=blob_type, + length=length, + metadata=metadata, + timeout=timeout, + encoding=encoding, + **kwargs + ) + return blob + + @distributed_trace + def delete_blob( + self, blob, # type: Union[str, BlobProperties] + delete_snapshots=None, # type: Optional[str] + **kwargs + ): + # type: (...) -> None + """Marks the specified blob or snapshot for deletion. + + The blob is later deleted during garbage collection. + Note that in order to delete a blob, you must delete all of its + snapshots. You can delete both at the same time with the delete_blob + operation. + + If a delete retention policy is enabled for the service, then this operation soft deletes the blob or snapshot + and retains the blob or snapshot for specified number of days. + After specified number of days, blob's data is removed from the service during garbage collection. + Soft deleted blob or snapshot is accessible through :func:`list_blobs()` specifying `include=["deleted"]` + option. Soft-deleted blob or snapshot can be restored using :func:`~BlobClient.undelete()` + + :param blob: The blob with which to interact. If specified, this value will override + a blob value specified in the blob URL. + :type blob: str or ~azure.storage.blob.BlobProperties + :param str delete_snapshots: + Required if the blob has associated snapshots. Values include: + - "only": Deletes only the blobs snapshots. + - "include": Deletes the blob along with all snapshots. + :keyword str version_id: + The version id parameter is an opaque DateTime + value that, when present, specifies the version of the blob to delete. + + .. versionadded:: 12.4.0 + This keyword argument was introduced in API version '2019-12-12'. + + :keyword lease: + Required if the blob has an active lease. Value can be a BlobLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.BlobLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword int timeout: + The timeout parameter is expressed in seconds. + :rtype: None + """ + blob_client = self.get_blob_client(blob) # type: ignore + kwargs.setdefault('merge_span', True) + timeout = kwargs.pop('timeout', None) + blob_client.delete_blob( # type: ignore + delete_snapshots=delete_snapshots, + timeout=timeout, + **kwargs) + + @distributed_trace + def download_blob(self, blob, offset=None, length=None, **kwargs): + # type: (Union[str, BlobProperties], Optional[int], Optional[int], **Any) -> StorageStreamDownloader + """Downloads a blob to the StorageStreamDownloader. The readall() method must + be used to read all the content or readinto() must be used to download the blob into + a stream. + + :param blob: The blob with which to interact. If specified, this value will override + a blob value specified in the blob URL. + :type blob: str or ~azure.storage.blob.BlobProperties + :param int offset: + Start of byte range to use for downloading a section of the blob. + Must be set if length is provided. + :param int length: + Number of bytes to read from the stream. This is optional, but + should be supplied for optimal performance. + :keyword bool validate_content: + If true, calculates an MD5 hash for each chunk of the blob. The storage + service checks the hash of the content that has arrived with the hash + that was sent. This is primarily valuable for detecting bitflips on + the wire if using http instead of https, as https (the default), will + already validate. Note that this MD5 hash is not stored with the + blob. Also note that if enabled, the memory-efficient upload algorithm + will not be used because computing the MD5 hash requires buffering + entire blocks, and doing so defeats the purpose of the memory-efficient algorithm. + :keyword lease: + Required if the blob has an active lease. If specified, download_blob only + succeeds if the blob's lease is active and matches this ID. Value can be a + BlobLeaseClient object or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.BlobLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword ~azure.storage.blob.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. + :keyword int max_concurrency: + The number of parallel connections with which to download. + :keyword str encoding: + Encoding to decode the downloaded bytes. Default is None, i.e. no decoding. + :keyword int timeout: + The timeout parameter is expressed in seconds. This method may make + multiple calls to the Azure service and the timeout will apply to + each call individually. + :returns: A streaming object (StorageStreamDownloader) + :rtype: ~azure.storage.blob.StorageStreamDownloader + """ + blob_client = self.get_blob_client(blob) # type: ignore + kwargs.setdefault('merge_span', True) + return blob_client.download_blob(offset=offset, length=length, **kwargs) + + def _generate_delete_blobs_subrequest_options( + self, snapshot=None, + delete_snapshots=None, + lease_access_conditions=None, + modified_access_conditions=None, + **kwargs + ): + """This code is a copy from _generated. + + Once Autorest is able to provide request preparation this code should be removed. + """ + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + + # Construct parameters + timeout = kwargs.pop('timeout', None) + query_parameters = {} + if snapshot is not None: + query_parameters['snapshot'] = self._client._serialize.query("snapshot", snapshot, 'str') # pylint: disable=protected-access + if timeout is not None: + query_parameters['timeout'] = self._client._serialize.query("timeout", timeout, 'int', minimum=0) # pylint: disable=protected-access + + # Construct headers + header_parameters = {} + if delete_snapshots is not None: + header_parameters['x-ms-delete-snapshots'] = self._client._serialize.header( # pylint: disable=protected-access + "delete_snapshots", delete_snapshots, 'DeleteSnapshotsOptionType') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._client._serialize.header( # pylint: disable=protected-access + "lease_id", lease_id, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._client._serialize.header( # pylint: disable=protected-access + "if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._client._serialize.header( # pylint: disable=protected-access + "if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._client._serialize.header( # pylint: disable=protected-access + "if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._client._serialize.header( # pylint: disable=protected-access + "if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._client._serialize.header("if_tags", if_tags, 'str') # pylint: disable=protected-access + + return query_parameters, header_parameters + + def _generate_delete_blobs_options(self, + *blobs, # type: List[Union[str, BlobProperties, dict]] + **kwargs + ): + timeout = kwargs.pop('timeout', None) + raise_on_any_failure = kwargs.pop('raise_on_any_failure', True) + delete_snapshots = kwargs.pop('delete_snapshots', None) + if_modified_since = kwargs.pop('if_modified_since', None) + if_unmodified_since = kwargs.pop('if_unmodified_since', None) + if_tags_match_condition = kwargs.pop('if_tags_match_condition', None) + kwargs.update({'raise_on_any_failure': raise_on_any_failure, + 'sas': self._query_str.replace('?', '&'), + 'timeout': '&timeout=' + str(timeout) if timeout else "" + }) + + reqs = [] + for blob in blobs: + blob_name = _get_blob_name(blob) + container_name = self.container_name + + try: + options = BlobClient._generic_delete_blob_options( # pylint: disable=protected-access + snapshot=blob.get('snapshot'), + delete_snapshots=delete_snapshots or blob.get('delete_snapshots'), + lease=blob.get('lease_id'), + if_modified_since=if_modified_since or blob.get('if_modified_since'), + if_unmodified_since=if_unmodified_since or blob.get('if_unmodified_since'), + etag=blob.get('etag'), + if_tags_match_condition=if_tags_match_condition or blob.get('if_tags_match_condition'), + match_condition=blob.get('match_condition') or MatchConditions.IfNotModified if blob.get('etag') + else None, + timeout=blob.get('timeout'), + ) + except AttributeError: + options = BlobClient._generic_delete_blob_options( # pylint: disable=protected-access + delete_snapshots=delete_snapshots, + if_modified_since=if_modified_since, + if_unmodified_since=if_unmodified_since, + if_tags_match_condition=if_tags_match_condition + ) + + query_parameters, header_parameters = self._generate_delete_blobs_subrequest_options(**options) + + req = HttpRequest( + "DELETE", + "/{}/{}{}".format(quote(container_name), quote(blob_name, safe='/~'), self._query_str), + headers=header_parameters + ) + req.format_parameters(query_parameters) + reqs.append(req) + + return reqs, kwargs + + @distributed_trace + def delete_blobs(self, *blobs, **kwargs): + # type: (...) -> Iterator[HttpResponse] + """Marks the specified blobs or snapshots for deletion. + + The blobs are later deleted during garbage collection. + Note that in order to delete blobs, you must delete all of their + snapshots. You can delete both at the same time with the delete_blobs operation. + + If a delete retention policy is enabled for the service, then this operation soft deletes the blobs or snapshots + and retains the blobs or snapshots for specified number of days. + After specified number of days, blobs' data is removed from the service during garbage collection. + Soft deleted blobs or snapshots are accessible through :func:`list_blobs()` specifying `include=["deleted"]` + Soft-deleted blobs or snapshots can be restored using :func:`~BlobClient.undelete()` + + :param blobs: + The blobs to delete. This can be a single blob, or multiple values can + be supplied, where each value is either the name of the blob (str) or BlobProperties. + + .. note:: + When the blob type is dict, here's a list of keys, value rules. + + blob name: + key: 'name', value type: str + snapshot you want to delete: + key: 'snapshot', value type: str + whether to delete snapthots when deleting blob: + key: 'delete_snapshots', value: 'include' or 'only' + if the blob modified or not: + key: 'if_modified_since', 'if_unmodified_since', value type: datetime + etag: + key: 'etag', value type: str + match the etag or not: + key: 'match_condition', value type: MatchConditions + tags match condition: + key: 'if_tags_match_condition', value type: str + lease: + key: 'lease_id', value type: Union[str, LeaseClient] + timeout for subrequest: + key: 'timeout', value type: int + + :type blobs: list[str], list[dict], or list[~azure.storage.blob.BlobProperties] + :keyword str delete_snapshots: + Required if a blob has associated snapshots. Values include: + - "only": Deletes only the blobs snapshots. + - "include": Deletes the blob along with all snapshots. + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword bool raise_on_any_failure: + This is a boolean param which defaults to True. When this is set, an exception + is raised even if there is a single operation failure. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: An iterator of responses, one for each blob in order + :rtype: Iterator[~azure.core.pipeline.transport.HttpResponse] + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_common.py + :start-after: [START delete_multiple_blobs] + :end-before: [END delete_multiple_blobs] + :language: python + :dedent: 8 + :caption: Deleting multiple blobs. + """ + if len(blobs) == 0: + return iter(list()) + + reqs, options = self._generate_delete_blobs_options(*blobs, **kwargs) + + return self._batch_send(*reqs, **options) + + def _generate_set_tiers_subrequest_options( + self, tier, snapshot=None, version_id=None, rehydrate_priority=None, lease_access_conditions=None, **kwargs + ): + """This code is a copy from _generated. + + Once Autorest is able to provide request preparation this code should be removed. + """ + if not tier: + raise ValueError("A blob tier must be specified") + if snapshot and version_id: + raise ValueError("Snapshot and version_id cannot be set at the same time") + if_tags = kwargs.pop('if_tags', None) + + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + + comp = "tier" + timeout = kwargs.pop('timeout', None) + # Construct parameters + query_parameters = {} + if snapshot is not None: + query_parameters['snapshot'] = self._client._serialize.query("snapshot", snapshot, 'str') # pylint: disable=protected-access + if version_id is not None: + query_parameters['versionid'] = self._client._serialize.query("version_id", version_id, 'str') # pylint: disable=protected-access + if timeout is not None: + query_parameters['timeout'] = self._client._serialize.query("timeout", timeout, 'int', minimum=0) # pylint: disable=protected-access + query_parameters['comp'] = self._client._serialize.query("comp", comp, 'str') # pylint: disable=protected-access, specify-parameter-names-in-call + + # Construct headers + header_parameters = {} + header_parameters['x-ms-access-tier'] = self._client._serialize.header("tier", tier, 'str') # pylint: disable=protected-access, specify-parameter-names-in-call + if rehydrate_priority is not None: + header_parameters['x-ms-rehydrate-priority'] = self._client._serialize.header( # pylint: disable=protected-access + "rehydrate_priority", rehydrate_priority, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._client._serialize.header("lease_id", lease_id, 'str') # pylint: disable=protected-access + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._client._serialize.header("if_tags", if_tags, 'str') # pylint: disable=protected-access + + return query_parameters, header_parameters + + def _generate_set_tiers_options(self, + blob_tier, # type: Optional[Union[str, StandardBlobTier, PremiumPageBlobTier]] + *blobs, # type: List[Union[str, BlobProperties, dict]] + **kwargs + ): + timeout = kwargs.pop('timeout', None) + raise_on_any_failure = kwargs.pop('raise_on_any_failure', True) + rehydrate_priority = kwargs.pop('rehydrate_priority', None) + if_tags = kwargs.pop('if_tags_match_condition', None) + kwargs.update({'raise_on_any_failure': raise_on_any_failure, + 'sas': self._query_str.replace('?', '&'), + 'timeout': '&timeout=' + str(timeout) if timeout else "" + }) + + reqs = [] + for blob in blobs: + blob_name = _get_blob_name(blob) + container_name = self.container_name + + try: + tier = blob_tier or blob.get('blob_tier') + query_parameters, header_parameters = self._generate_set_tiers_subrequest_options( + tier=tier, + snapshot=blob.get('snapshot'), + version_id=blob.get('version_id'), + rehydrate_priority=rehydrate_priority or blob.get('rehydrate_priority'), + lease_access_conditions=blob.get('lease_id'), + if_tags=if_tags or blob.get('if_tags_match_condition'), + timeout=timeout or blob.get('timeout') + ) + except AttributeError: + query_parameters, header_parameters = self._generate_set_tiers_subrequest_options( + blob_tier, rehydrate_priority=rehydrate_priority, if_tags=if_tags) + + req = HttpRequest( + "PUT", + "/{}/{}{}".format(quote(container_name), quote(blob_name, safe='/~'), self._query_str), + headers=header_parameters + ) + req.format_parameters(query_parameters) + reqs.append(req) + + return reqs, kwargs + + @distributed_trace + def set_standard_blob_tier_blobs( + self, + standard_blob_tier, # type: Optional[Union[str, StandardBlobTier]] + *blobs, # type: List[Union[str, BlobProperties, dict]] + **kwargs + ): + # type: (...) -> Iterator[HttpResponse] + """This operation sets the tier on block blobs. + + A block blob's tier determines Hot/Cool/Archive storage type. + This operation does not update the blob's ETag. + + :param standard_blob_tier: + Indicates the tier to be set on all blobs. Options include 'Hot', 'Cool', + 'Archive'. The hot tier is optimized for storing data that is accessed + frequently. The cool storage tier is optimized for storing data that + is infrequently accessed and stored for at least a month. The archive + tier is optimized for storing data that is rarely accessed and stored + for at least six months with flexible latency requirements. + + .. note:: + If you want to set different tier on different blobs please set this positional parameter to None. + Then the blob tier on every BlobProperties will be taken. + + :type standard_blob_tier: str or ~azure.storage.blob.StandardBlobTier + :param blobs: + The blobs with which to interact. This can be a single blob, or multiple values can + be supplied, where each value is either the name of the blob (str) or BlobProperties. + + .. note:: + When the blob type is dict, here's a list of keys, value rules. + + blob name: + key: 'name', value type: str + standard blob tier: + key: 'blob_tier', value type: StandardBlobTier + rehydrate priority: + key: 'rehydrate_priority', value type: RehydratePriority + lease: + key: 'lease_id', value type: Union[str, LeaseClient] + snapshot: + key: "snapshost", value type: str + version id: + key: "version_id", value type: str + tags match condition: + key: 'if_tags_match_condition', value type: str + timeout for subrequest: + key: 'timeout', value type: int + + :type blobs: list[str], list[dict], or list[~azure.storage.blob.BlobProperties] + :keyword ~azure.storage.blob.RehydratePriority rehydrate_priority: + Indicates the priority with which to rehydrate an archived blob + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword int timeout: + The timeout parameter is expressed in seconds. + :keyword bool raise_on_any_failure: + This is a boolean param which defaults to True. When this is set, an exception + is raised even if there is a single operation failure. + :return: An iterator of responses, one for each blob in order + :rtype: Iterator[~azure.core.pipeline.transport.HttpResponse] + """ + reqs, options = self._generate_set_tiers_options(standard_blob_tier, *blobs, **kwargs) + + return self._batch_send(*reqs, **options) + + @distributed_trace + def set_premium_page_blob_tier_blobs( + self, + premium_page_blob_tier, # type: Optional[Union[str, PremiumPageBlobTier]] + *blobs, # type: List[Union[str, BlobProperties, dict]] + **kwargs + ): + # type: (...) -> Iterator[HttpResponse] + """Sets the page blob tiers on all blobs. This API is only supported for page blobs on premium accounts. + + :param premium_page_blob_tier: + A page blob tier value to set the blob to. The tier correlates to the size of the + blob and number of allowed IOPS. This is only applicable to page blobs on + premium storage accounts. + + .. note:: + If you want to set different tier on different blobs please set this positional parameter to None. + Then the blob tier on every BlobProperties will be taken. + + :type premium_page_blob_tier: ~azure.storage.blob.PremiumPageBlobTier + :param blobs: + The blobs with which to interact. This can be a single blob, or multiple values can + be supplied, where each value is either the name of the blob (str) or BlobProperties. + + .. note:: + When the blob type is dict, here's a list of keys, value rules. + + blob name: + key: 'name', value type: str + premium blob tier: + key: 'blob_tier', value type: PremiumPageBlobTier + lease: + key: 'lease_id', value type: Union[str, LeaseClient] + timeout for subrequest: + key: 'timeout', value type: int + + :type blobs: list[str], list[dict], or list[~azure.storage.blob.BlobProperties] + :keyword int timeout: + The timeout parameter is expressed in seconds. This method may make + multiple calls to the Azure service and the timeout will apply to + each call individually. + :keyword bool raise_on_any_failure: + This is a boolean param which defaults to True. When this is set, an exception + is raised even if there is a single operation failure. + :return: An iterator of responses, one for each blob in order + :rtype: iterator[~azure.core.pipeline.transport.HttpResponse] + """ + reqs, options = self._generate_set_tiers_options(premium_page_blob_tier, *blobs, **kwargs) + + return self._batch_send(*reqs, **options) + + def get_blob_client( + self, blob, # type: Union[str, BlobProperties] + snapshot=None # type: str + ): + # type: (...) -> BlobClient + """Get a client to interact with the specified blob. + + The blob need not already exist. + + :param blob: + The blob with which to interact. + :type blob: str or ~azure.storage.blob.BlobProperties + :param str snapshot: + The optional blob snapshot on which to operate. This can be the snapshot ID string + or the response returned from :func:`~BlobClient.create_snapshot()`. + :returns: A BlobClient. + :rtype: ~azure.storage.blob.BlobClient + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_containers.py + :start-after: [START get_blob_client] + :end-before: [END get_blob_client] + :language: python + :dedent: 8 + :caption: Get the blob client. + """ + blob_name = _get_blob_name(blob) + _pipeline = Pipeline( + transport=TransportWrapper(self._pipeline._transport), # pylint: disable = protected-access + policies=self._pipeline._impl_policies # pylint: disable = protected-access + ) + return BlobClient( + self.url, container_name=self.container_name, blob_name=blob_name, snapshot=snapshot, + credential=self.credential, api_version=self.api_version, _configuration=self._config, + _pipeline=_pipeline, _location_mode=self._location_mode, _hosts=self._hosts, + require_encryption=self.require_encryption, key_encryption_key=self.key_encryption_key, + key_resolver_function=self.key_resolver_function) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_deserialize.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_deserialize.py new file mode 100644 index 00000000000..159e0e676c8 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_deserialize.py @@ -0,0 +1,158 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +# pylint: disable=no-self-use +from typing import ( # pylint: disable=unused-import + Tuple, Dict, List, + TYPE_CHECKING +) + +from ._models import BlobType, CopyProperties, ContentSettings, LeaseProperties, BlobProperties +from ._shared.models import get_enum_value + +from ._shared.response_handlers import deserialize_metadata +from ._models import ContainerProperties, BlobAnalyticsLogging, Metrics, CorsRule, RetentionPolicy, \ + StaticWebsite, ObjectReplicationPolicy, ObjectReplicationRule + +if TYPE_CHECKING: + from ._generated.models import PageList + + +def deserialize_blob_properties(response, obj, headers): + blob_properties = BlobProperties( + metadata=deserialize_metadata(response, obj, headers), + object_replication_source_properties=deserialize_ors_policies(response.headers), + **headers + ) + if 'Content-Range' in headers: + if 'x-ms-blob-content-md5' in headers: + blob_properties.content_settings.content_md5 = headers['x-ms-blob-content-md5'] + else: + blob_properties.content_settings.content_md5 = None + return blob_properties + + +def deserialize_ors_policies(policy_dictionary): + + if policy_dictionary is None: + return None + # For source blobs (blobs that have policy ids and rule ids applied to them), + # the header will be formatted as "x-ms-or-_: {Complete, Failed}". + # The value of this header is the status of the replication. + or_policy_status_headers = {key: val for key, val in policy_dictionary.items() + if 'or-' in key and key != 'x-ms-or-policy-id'} + + parsed_result = {} + + for key, val in or_policy_status_headers.items(): + # list blobs gives or-policy_rule and get blob properties gives x-ms-or-policy_rule + policy_and_rule_ids = key.split('or-')[1].split('_') + policy_id = policy_and_rule_ids[0] + rule_id = policy_and_rule_ids[1] + + # If we are seeing this policy for the first time, create a new list to store rule_id -> result + parsed_result[policy_id] = parsed_result.get(policy_id) or list() + parsed_result[policy_id].append(ObjectReplicationRule(rule_id=rule_id, status=val)) + + result_list = [ObjectReplicationPolicy(policy_id=k, rules=v) for k, v in parsed_result.items()] + + return result_list + + +def deserialize_blob_stream(response, obj, headers): + blob_properties = deserialize_blob_properties(response, obj, headers) + obj.properties = blob_properties + return response.location_mode, obj + + +def deserialize_container_properties(response, obj, headers): + metadata = deserialize_metadata(response, obj, headers) + container_properties = ContainerProperties( + metadata=metadata, + **headers + ) + return container_properties + + +def get_page_ranges_result(ranges): + # type: (PageList) -> Tuple[List[Dict[str, int]], List[Dict[str, int]]] + page_range = [] # type: ignore + clear_range = [] # type: List + if ranges.page_range: + page_range = [{'start': b.start, 'end': b.end} for b in ranges.page_range] # type: ignore + if ranges.clear_range: + clear_range = [{'start': b.start, 'end': b.end} for b in ranges.clear_range] + return page_range, clear_range # type: ignore + + +def service_stats_deserialize(generated): + """Deserialize a ServiceStats objects into a dict. + """ + return { + 'geo_replication': { + 'status': generated.geo_replication.status, + 'last_sync_time': generated.geo_replication.last_sync_time, + } + } + + +def service_properties_deserialize(generated): + """Deserialize a ServiceProperties objects into a dict. + """ + return { + 'analytics_logging': BlobAnalyticsLogging._from_generated(generated.logging), # pylint: disable=protected-access + 'hour_metrics': Metrics._from_generated(generated.hour_metrics), # pylint: disable=protected-access + 'minute_metrics': Metrics._from_generated(generated.minute_metrics), # pylint: disable=protected-access + 'cors': [CorsRule._from_generated(cors) for cors in generated.cors], # pylint: disable=protected-access + 'target_version': generated.default_service_version, # pylint: disable=protected-access + 'delete_retention_policy': RetentionPolicy._from_generated(generated.delete_retention_policy), # pylint: disable=protected-access + 'static_website': StaticWebsite._from_generated(generated.static_website), # pylint: disable=protected-access + } + + +def get_blob_properties_from_generated_code(generated): + blob = BlobProperties() + blob.name = generated.name + blob_type = get_enum_value(generated.properties.blob_type) + blob.blob_type = BlobType(blob_type) if blob_type else None + blob.etag = generated.properties.etag + blob.deleted = generated.deleted + blob.snapshot = generated.snapshot + blob.is_append_blob_sealed = generated.properties.is_sealed + blob.metadata = generated.metadata.additional_properties if generated.metadata else {} + blob.encrypted_metadata = generated.metadata.encrypted if generated.metadata else None + blob.lease = LeaseProperties._from_generated(generated) # pylint: disable=protected-access + blob.copy = CopyProperties._from_generated(generated) # pylint: disable=protected-access + blob.last_modified = generated.properties.last_modified + blob.creation_time = generated.properties.creation_time + blob.content_settings = ContentSettings._from_generated(generated) # pylint: disable=protected-access + blob.size = generated.properties.content_length + blob.page_blob_sequence_number = generated.properties.blob_sequence_number + blob.server_encrypted = generated.properties.server_encrypted + blob.encryption_scope = generated.properties.encryption_scope + blob.deleted_time = generated.properties.deleted_time + blob.remaining_retention_days = generated.properties.remaining_retention_days + blob.blob_tier = generated.properties.access_tier + blob.rehydrate_priority = generated.properties.rehydrate_priority + blob.blob_tier_inferred = generated.properties.access_tier_inferred + blob.archive_status = generated.properties.archive_status + blob.blob_tier_change_time = generated.properties.access_tier_change_time + blob.version_id = generated.version_id + blob.is_current_version = generated.is_current_version + blob.tag_count = generated.properties.tag_count + blob.tags = parse_tags(generated.blob_tags) # pylint: disable=protected-access + blob.object_replication_source_properties = deserialize_ors_policies(generated.object_replication_metadata) + blob.last_accessed_on = generated.properties.last_accessed_on + return blob + + +def parse_tags(generated_tags): + # type: (Optional[List[BlobTag]]) -> Union[Dict[str, str], None] + """Deserialize a list of BlobTag objects into a dict. + """ + if generated_tags: + tag_dict = {t.key: t.value for t in generated_tags.blob_tag_set} + return tag_dict + return None diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_download.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_download.py new file mode 100644 index 00000000000..46e59e5d249 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_download.py @@ -0,0 +1,580 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- + +import sys +import threading +import warnings +from io import BytesIO + +from azure.core.exceptions import HttpResponseError +from azure.core.tracing.common import with_current_context +from ._shared.encryption import decrypt_blob +from ._shared.request_handlers import validate_and_format_range_headers +from ._shared.response_handlers import process_storage_error, parse_length_from_content_range +from ._deserialize import get_page_ranges_result + + +def process_range_and_offset(start_range, end_range, length, encryption): + start_offset, end_offset = 0, 0 + if encryption.get("key") is not None or encryption.get("resolver") is not None: + if start_range is not None: + # Align the start of the range along a 16 byte block + start_offset = start_range % 16 + start_range -= start_offset + + # Include an extra 16 bytes for the IV if necessary + # Because of the previous offsetting, start_range will always + # be a multiple of 16. + if start_range > 0: + start_offset += 16 + start_range -= 16 + + if length is not None: + # Align the end of the range along a 16 byte block + end_offset = 15 - (end_range % 16) + end_range += end_offset + + return (start_range, end_range), (start_offset, end_offset) + + +def process_content(data, start_offset, end_offset, encryption): + if data is None: + raise ValueError("Response cannot be None.") + try: + content = b"".join(list(data)) + except Exception as error: + raise HttpResponseError(message="Download stream interrupted.", response=data.response, error=error) + if content and encryption.get("key") is not None or encryption.get("resolver") is not None: + try: + return decrypt_blob( + encryption.get("required"), + encryption.get("key"), + encryption.get("resolver"), + content, + start_offset, + end_offset, + data.response.headers, + ) + except Exception as error: + raise HttpResponseError(message="Decryption failed.", response=data.response, error=error) + return content + + +class _ChunkDownloader(object): # pylint: disable=too-many-instance-attributes + def __init__( + self, + client=None, + non_empty_ranges=None, + total_size=None, + chunk_size=None, + current_progress=None, + start_range=None, + end_range=None, + stream=None, + parallel=None, + validate_content=None, + encryption_options=None, + **kwargs + ): + self.client = client + self.non_empty_ranges = non_empty_ranges + + # Information on the download range/chunk size + self.chunk_size = chunk_size + self.total_size = total_size + self.start_index = start_range + self.end_index = end_range + + # The destination that we will write to + self.stream = stream + self.stream_lock = threading.Lock() if parallel else None + self.progress_lock = threading.Lock() if parallel else None + + # For a parallel download, the stream is always seekable, so we note down the current position + # in order to seek to the right place when out-of-order chunks come in + self.stream_start = stream.tell() if parallel else None + + # Download progress so far + self.progress_total = current_progress + + # Encryption + self.encryption_options = encryption_options + + # Parameters for each get operation + self.validate_content = validate_content + self.request_options = kwargs + + def _calculate_range(self, chunk_start): + if chunk_start + self.chunk_size > self.end_index: + chunk_end = self.end_index + else: + chunk_end = chunk_start + self.chunk_size + return chunk_start, chunk_end + + def get_chunk_offsets(self): + index = self.start_index + while index < self.end_index: + yield index + index += self.chunk_size + + def process_chunk(self, chunk_start): + chunk_start, chunk_end = self._calculate_range(chunk_start) + chunk_data = self._download_chunk(chunk_start, chunk_end - 1) + length = chunk_end - chunk_start + if length > 0: + self._write_to_stream(chunk_data, chunk_start) + self._update_progress(length) + + def yield_chunk(self, chunk_start): + chunk_start, chunk_end = self._calculate_range(chunk_start) + return self._download_chunk(chunk_start, chunk_end - 1) + + def _update_progress(self, length): + if self.progress_lock: + with self.progress_lock: # pylint: disable=not-context-manager + self.progress_total += length + else: + self.progress_total += length + + def _write_to_stream(self, chunk_data, chunk_start): + if self.stream_lock: + with self.stream_lock: # pylint: disable=not-context-manager + self.stream.seek(self.stream_start + (chunk_start - self.start_index)) + self.stream.write(chunk_data) + else: + self.stream.write(chunk_data) + + def _do_optimize(self, given_range_start, given_range_end): + # If we have no page range list stored, then assume there's data everywhere for that page blob + # or it's a block blob or append blob + if self.non_empty_ranges is None: + return False + + for source_range in self.non_empty_ranges: + # Case 1: As the range list is sorted, if we've reached such a source_range + # we've checked all the appropriate source_range already and haven't found any overlapping. + # so the given range doesn't have any data and download optimization could be applied. + # given range: | | + # source range: | | + if given_range_end < source_range['start']: # pylint:disable=no-else-return + return True + # Case 2: the given range comes after source_range, continue checking. + # given range: | | + # source range: | | + elif source_range['end'] < given_range_start: + pass + # Case 3: source_range and given range overlap somehow, no need to optimize. + else: + return False + # Went through all src_ranges, but nothing overlapped. Optimization will be applied. + return True + + def _download_chunk(self, chunk_start, chunk_end): + download_range, offset = process_range_and_offset( + chunk_start, chunk_end, chunk_end, self.encryption_options + ) + + # No need to download the empty chunk from server if there's no data in the chunk to be downloaded. + # Do optimize and create empty chunk locally if condition is met. + if self._do_optimize(download_range[0], download_range[1]): + chunk_data = b"\x00" * self.chunk_size + else: + range_header, range_validation = validate_and_format_range_headers( + download_range[0], + download_range[1], + check_content_md5=self.validate_content + ) + + try: + _, response = self.client.download( + range=range_header, + range_get_content_md5=range_validation, + validate_content=self.validate_content, + data_stream_total=self.total_size, + download_stream_current=self.progress_total, + **self.request_options + ) + except HttpResponseError as error: + process_storage_error(error) + + chunk_data = process_content(response, offset[0], offset[1], self.encryption_options) + + # This makes sure that if_match is set so that we can validate + # that subsequent downloads are to an unmodified blob + if self.request_options.get("modified_access_conditions"): + self.request_options["modified_access_conditions"].if_match = response.properties.etag + + return chunk_data + + +class _ChunkIterator(object): + """Async iterator for chunks in blob download stream.""" + + def __init__(self, size, content, downloader): + self.size = size + self._current_content = content + self._iter_downloader = downloader + self._iter_chunks = None + self._complete = (size == 0) + + def __len__(self): + return self.size + + def __iter__(self): + return self + + def __next__(self): + """Iterate through responses.""" + if self._complete: + raise StopIteration("Download complete") + if not self._iter_downloader: + # If no iterator was supplied, the download completed with + # the initial GET, so we just return that data + self._complete = True + return self._current_content + + if not self._iter_chunks: + self._iter_chunks = self._iter_downloader.get_chunk_offsets() + else: + chunk = next(self._iter_chunks) + self._current_content = self._iter_downloader.yield_chunk(chunk) + + return self._current_content + + next = __next__ # Python 2 compatibility. + + +class StorageStreamDownloader(object): # pylint: disable=too-many-instance-attributes + """A streaming object to download from Azure Storage. + + :ivar str name: + The name of the blob being downloaded. + :ivar str container: + The name of the container where the blob is. + :ivar ~azure.storage.blob.BlobProperties properties: + The properties of the blob being downloaded. If only a range of the data is being + downloaded, this will be reflected in the properties. + :ivar int size: + The size of the total data in the stream. This will be the byte range if specified, + otherwise the total size of the blob. + """ + + def __init__( + self, + clients=None, + config=None, + start_range=None, + end_range=None, + validate_content=None, + encryption_options=None, + max_concurrency=1, + name=None, + container=None, + encoding=None, + **kwargs + ): + self.name = name + self.container = container + self.properties = None + self.size = None + + self._clients = clients + self._config = config + self._start_range = start_range + self._end_range = end_range + self._max_concurrency = max_concurrency + self._encoding = encoding + self._validate_content = validate_content + self._encryption_options = encryption_options or {} + self._request_options = kwargs + self._location_mode = None + self._download_complete = False + self._current_content = None + self._file_size = None + self._non_empty_ranges = None + self._response = None + + # The service only provides transactional MD5s for chunks under 4MB. + # If validate_content is on, get only self.MAX_CHUNK_GET_SIZE for the first + # chunk so a transactional MD5 can be retrieved. + self._first_get_size = ( + self._config.max_single_get_size if not self._validate_content else self._config.max_chunk_get_size + ) + initial_request_start = self._start_range if self._start_range is not None else 0 + if self._end_range is not None and self._end_range - self._start_range < self._first_get_size: + initial_request_end = self._end_range + else: + initial_request_end = initial_request_start + self._first_get_size - 1 + + self._initial_range, self._initial_offset = process_range_and_offset( + initial_request_start, initial_request_end, self._end_range, self._encryption_options + ) + + self._response = self._initial_request() + self.properties = self._response.properties + self.properties.name = self.name + self.properties.container = self.container + + # Set the content length to the download size instead of the size of + # the last range + self.properties.size = self.size + + # Overwrite the content range to the user requested range + self.properties.content_range = "bytes {0}-{1}/{2}".format( + self._start_range, + self._end_range, + self._file_size + ) + + # Overwrite the content MD5 as it is the MD5 for the last range instead + # of the stored MD5 + # TODO: Set to the stored MD5 when the service returns this + self.properties.content_md5 = None + + if self.size == 0: + self._current_content = b"" + else: + self._current_content = process_content( + self._response, + self._initial_offset[0], + self._initial_offset[1], + self._encryption_options + ) + + def __len__(self): + return self.size + + def _initial_request(self): + range_header, range_validation = validate_and_format_range_headers( + self._initial_range[0], + self._initial_range[1], + start_range_required=False, + end_range_required=False, + check_content_md5=self._validate_content + ) + + try: + location_mode, response = self._clients.blob.download( + range=range_header, + range_get_content_md5=range_validation, + validate_content=self._validate_content, + data_stream_total=None, + download_stream_current=0, + **self._request_options + ) + + # Check the location we read from to ensure we use the same one + # for subsequent requests. + self._location_mode = location_mode + + # Parse the total file size and adjust the download size if ranges + # were specified + self._file_size = parse_length_from_content_range(response.properties.content_range) + if self._end_range is not None: + # Use the end range index unless it is over the end of the file + self.size = min(self._file_size, self._end_range - self._start_range + 1) + elif self._start_range is not None: + self.size = self._file_size - self._start_range + else: + self.size = self._file_size + + except HttpResponseError as error: + if self._start_range is None and error.response.status_code == 416: + # Get range will fail on an empty file. If the user did not + # request a range, do a regular get request in order to get + # any properties. + try: + _, response = self._clients.blob.download( + validate_content=self._validate_content, + data_stream_total=0, + download_stream_current=0, + **self._request_options + ) + except HttpResponseError as error: + process_storage_error(error) + + # Set the download size to empty + self.size = 0 + self._file_size = 0 + else: + process_storage_error(error) + + # get page ranges to optimize downloading sparse page blob + if response.properties.blob_type == 'PageBlob': + try: + page_ranges = self._clients.page_blob.get_page_ranges() + self._non_empty_ranges = get_page_ranges_result(page_ranges)[0] + # according to the REST API documentation: + # in a highly fragmented page blob with a large number of writes, + # a Get Page Ranges request can fail due to an internal server timeout. + # thus, if the page blob is not sparse, it's ok for it to fail + except HttpResponseError: + pass + + # If the file is small, the download is complete at this point. + # If file size is large, download the rest of the file in chunks. + if response.properties.size != self.size: + # Lock on the etag. This can be overriden by the user by specifying '*' + if self._request_options.get("modified_access_conditions"): + if not self._request_options["modified_access_conditions"].if_match: + self._request_options["modified_access_conditions"].if_match = response.properties.etag + else: + self._download_complete = True + return response + + def chunks(self): + if self.size == 0 or self._download_complete: + iter_downloader = None + else: + data_end = self._file_size + if self._end_range is not None: + # Use the end range index unless it is over the end of the file + data_end = min(self._file_size, self._end_range + 1) + iter_downloader = _ChunkDownloader( + client=self._clients.blob, + non_empty_ranges=self._non_empty_ranges, + total_size=self.size, + chunk_size=self._config.max_chunk_get_size, + current_progress=self._first_get_size, + start_range=self._initial_range[1] + 1, # start where the first download ended + end_range=data_end, + stream=None, + parallel=False, + validate_content=self._validate_content, + encryption_options=self._encryption_options, + use_location=self._location_mode, + **self._request_options + ) + return _ChunkIterator( + size=self.size, + content=self._current_content, + downloader=iter_downloader) + + def readall(self): + """Download the contents of this blob. + + This operation is blocking until all data is downloaded. + + :rtype: bytes or str + """ + stream = BytesIO() + self.readinto(stream) + data = stream.getvalue() + if self._encoding: + return data.decode(self._encoding) + return data + + def content_as_bytes(self, max_concurrency=1): + """Download the contents of this file. + + This operation is blocking until all data is downloaded. + + :keyword int max_concurrency: + The number of parallel connections with which to download. + :rtype: bytes + """ + warnings.warn( + "content_as_bytes is deprecated, use readall instead", + DeprecationWarning + ) + self._max_concurrency = max_concurrency + return self.readall() + + def content_as_text(self, max_concurrency=1, encoding="UTF-8"): + """Download the contents of this blob, and decode as text. + + This operation is blocking until all data is downloaded. + + :keyword int max_concurrency: + The number of parallel connections with which to download. + :param str encoding: + Test encoding to decode the downloaded bytes. Default is UTF-8. + :rtype: str + """ + warnings.warn( + "content_as_text is deprecated, use readall instead", + DeprecationWarning + ) + self._max_concurrency = max_concurrency + self._encoding = encoding + return self.readall() + + def readinto(self, stream): + """Download the contents of this file to a stream. + + :param stream: + The stream to download to. This can be an open file-handle, + or any writable stream. The stream must be seekable if the download + uses more than one parallel connection. + :returns: The number of bytes read. + :rtype: int + """ + # The stream must be seekable if parallel download is required + parallel = self._max_concurrency > 1 + if parallel: + error_message = "Target stream handle must be seekable." + if sys.version_info >= (3,) and not stream.seekable(): + raise ValueError(error_message) + + try: + stream.seek(stream.tell()) + except (NotImplementedError, AttributeError): + raise ValueError(error_message) + + # Write the content to the user stream + stream.write(self._current_content) + if self._download_complete: + return self.size + + data_end = self._file_size + if self._end_range is not None: + # Use the length unless it is over the end of the file + data_end = min(self._file_size, self._end_range + 1) + + downloader = _ChunkDownloader( + client=self._clients.blob, + non_empty_ranges=self._non_empty_ranges, + total_size=self.size, + chunk_size=self._config.max_chunk_get_size, + current_progress=self._first_get_size, + start_range=self._initial_range[1] + 1, # Start where the first download ended + end_range=data_end, + stream=stream, + parallel=parallel, + validate_content=self._validate_content, + encryption_options=self._encryption_options, + use_location=self._location_mode, + **self._request_options + ) + if parallel: + import concurrent.futures + executor = concurrent.futures.ThreadPoolExecutor(self._max_concurrency) + list(executor.map( + with_current_context(downloader.process_chunk), + downloader.get_chunk_offsets() + )) + else: + for chunk in downloader.get_chunk_offsets(): + downloader.process_chunk(chunk) + return self.size + + def download_to_stream(self, stream, max_concurrency=1): + """Download the contents of this blob to a stream. + + :param stream: + The stream to download to. This can be an open file-handle, + or any writable stream. The stream must be seekable if the download + uses more than one parallel connection. + :returns: The properties of the downloaded blob. + :rtype: Any + """ + warnings.warn( + "download_to_stream is deprecated, use readinto instead", + DeprecationWarning + ) + self._max_concurrency = max_concurrency + self.readinto(stream) + return self.properties diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/__init__.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/__init__.py new file mode 100644 index 00000000000..f5c8f4a954d --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/__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 ._azure_blob_storage import AzureBlobStorage +__all__ = ['AzureBlobStorage'] + +from .version import VERSION + +__version__ = VERSION + diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/_azure_blob_storage.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/_azure_blob_storage.py new file mode 100644 index 00000000000..831f6ce2033 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/_azure_blob_storage.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 azure.core import PipelineClient +from msrest import Serializer, Deserializer + +from ._configuration import AzureBlobStorageConfiguration +from azure.core.exceptions import map_error +from .operations import ServiceOperations +from .operations import ContainerOperations +from .operations import DirectoryOperations +from .operations import BlobOperations +from .operations import PageBlobOperations +from .operations import AppendBlobOperations +from .operations import BlockBlobOperations +from . import models + + +class AzureBlobStorage(object): + """AzureBlobStorage + + + :ivar service: Service operations + :vartype service: azure.storage.blob.operations.ServiceOperations + :ivar container: Container operations + :vartype container: azure.storage.blob.operations.ContainerOperations + :ivar directory: Directory operations + :vartype directory: azure.storage.blob.operations.DirectoryOperations + :ivar blob: Blob operations + :vartype blob: azure.storage.blob.operations.BlobOperations + :ivar page_blob: PageBlob operations + :vartype page_blob: azure.storage.blob.operations.PageBlobOperations + :ivar append_blob: AppendBlob operations + :vartype append_blob: azure.storage.blob.operations.AppendBlobOperations + :ivar block_blob: BlockBlob operations + :vartype block_blob: azure.storage.blob.operations.BlockBlobOperations + + :param url: The URL of the service account, container, or blob that is the + targe of the desired operation. + :type url: str + """ + + def __init__(self, url, **kwargs): + + base_url = '{url}' + self._config = AzureBlobStorageConfiguration(url, **kwargs) + self._client = PipelineClient(base_url=base_url, config=self._config, **kwargs) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self.api_version = '2020-02-10' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.service = ServiceOperations( + self._client, self._config, self._serialize, self._deserialize) + self.container = ContainerOperations( + self._client, self._config, self._serialize, self._deserialize) + self.directory = DirectoryOperations( + self._client, self._config, self._serialize, self._deserialize) + self.blob = BlobOperations( + self._client, self._config, self._serialize, self._deserialize) + self.page_blob = PageBlobOperations( + self._client, self._config, self._serialize, self._deserialize) + self.append_blob = AppendBlobOperations( + self._client, self._config, self._serialize, self._deserialize) + self.block_blob = BlockBlobOperations( + self._client, self._config, self._serialize, self._deserialize) + + def close(self): + self._client.close() + def __enter__(self): + self._client.__enter__() + return self + def __exit__(self, *exc_details): + self._client.__exit__(*exc_details) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/_configuration.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/_configuration.py new file mode 100644 index 00000000000..c8a1875b6af --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/_configuration.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 azure.core.configuration import Configuration +from azure.core.pipeline import policies + +from .version import VERSION + + +class AzureBlobStorageConfiguration(Configuration): + """Configuration for AzureBlobStorage + Note that all parameters used to create this instance are saved as instance + attributes. + + :param url: The URL of the service account, container, or blob that is the + targe of the desired operation. + :type url: str + :ivar version: Specifies the version of the operation to use for this + request. + :type version: str + """ + + def __init__(self, url, **kwargs): + + if url is None: + raise ValueError("Parameter 'url' must not be None.") + + super(AzureBlobStorageConfiguration, self).__init__(**kwargs) + self._configure(**kwargs) + + self.user_agent_policy.add_user_agent('azsdk-python-azureblobstorage/{}'.format(VERSION)) + self.generate_client_request_id = True + + self.url = url + self.version = "2020-02-10" + + def _configure(self, **kwargs): + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/aio/__init__.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/aio/__init__.py new file mode 100644 index 00000000000..009c9659435 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/aio/__init__.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. +# -------------------------------------------------------------------------- + +from ._azure_blob_storage_async import AzureBlobStorage +__all__ = ['AzureBlobStorage'] diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/aio/_azure_blob_storage_async.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/aio/_azure_blob_storage_async.py new file mode 100644 index 00000000000..367e296ea6f --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/aio/_azure_blob_storage_async.py @@ -0,0 +1,84 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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.core import AsyncPipelineClient +from msrest import Serializer, Deserializer + +from ._configuration_async import AzureBlobStorageConfiguration +from azure.core.exceptions import map_error +from .operations_async import ServiceOperations +from .operations_async import ContainerOperations +from .operations_async import DirectoryOperations +from .operations_async import BlobOperations +from .operations_async import PageBlobOperations +from .operations_async import AppendBlobOperations +from .operations_async import BlockBlobOperations +from .. import models + + +class AzureBlobStorage(object): + """AzureBlobStorage + + + :ivar service: Service operations + :vartype service: azure.storage.blob.aio.operations_async.ServiceOperations + :ivar container: Container operations + :vartype container: azure.storage.blob.aio.operations_async.ContainerOperations + :ivar directory: Directory operations + :vartype directory: azure.storage.blob.aio.operations_async.DirectoryOperations + :ivar blob: Blob operations + :vartype blob: azure.storage.blob.aio.operations_async.BlobOperations + :ivar page_blob: PageBlob operations + :vartype page_blob: azure.storage.blob.aio.operations_async.PageBlobOperations + :ivar append_blob: AppendBlob operations + :vartype append_blob: azure.storage.blob.aio.operations_async.AppendBlobOperations + :ivar block_blob: BlockBlob operations + :vartype block_blob: azure.storage.blob.aio.operations_async.BlockBlobOperations + + :param url: The URL of the service account, container, or blob that is the + targe of the desired operation. + :type url: str + """ + + def __init__( + self, url, **kwargs): + + base_url = '{url}' + self._config = AzureBlobStorageConfiguration(url, **kwargs) + self._client = AsyncPipelineClient(base_url=base_url, config=self._config, **kwargs) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self.api_version = '2020-02-10' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.service = ServiceOperations( + self._client, self._config, self._serialize, self._deserialize) + self.container = ContainerOperations( + self._client, self._config, self._serialize, self._deserialize) + self.directory = DirectoryOperations( + self._client, self._config, self._serialize, self._deserialize) + self.blob = BlobOperations( + self._client, self._config, self._serialize, self._deserialize) + self.page_blob = PageBlobOperations( + self._client, self._config, self._serialize, self._deserialize) + self.append_blob = AppendBlobOperations( + self._client, self._config, self._serialize, self._deserialize) + self.block_blob = BlockBlobOperations( + self._client, self._config, self._serialize, self._deserialize) + + async def close(self): + await self._client.close() + async def __aenter__(self): + await self._client.__aenter__() + return self + async def __aexit__(self, *exc_details): + await self._client.__aexit__(*exc_details) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/aio/_configuration_async.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/aio/_configuration_async.py new file mode 100644 index 00000000000..609cb82ac85 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/aio/_configuration_async.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 azure.core.configuration import Configuration +from azure.core.pipeline import policies + +from ..version import VERSION + + +class AzureBlobStorageConfiguration(Configuration): + """Configuration for AzureBlobStorage + Note that all parameters used to create this instance are saved as instance + attributes. + + :param url: The URL of the service account, container, or blob that is the + targe of the desired operation. + :type url: str + :ivar version: Specifies the version of the operation to use for this + request. + :type version: str + """ + + def __init__(self, url, **kwargs): + + if url is None: + raise ValueError("Parameter 'url' must not be None.") + + super(AzureBlobStorageConfiguration, self).__init__(**kwargs) + self._configure(**kwargs) + + self.user_agent_policy.add_user_agent('azsdk-python-azureblobstorage/{}'.format(VERSION)) + self.generate_client_request_id = True + self.accept_language = None + + self.url = url + self.version = "2020-02-10" + + def _configure(self, **kwargs): + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/aio/operations_async/__init__.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/aio/operations_async/__init__.py new file mode 100644 index 00000000000..dec05192c81 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/aio/operations_async/__init__.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 ._service_operations_async import ServiceOperations +from ._container_operations_async import ContainerOperations +from ._directory_operations_async import DirectoryOperations +from ._blob_operations_async import BlobOperations +from ._page_blob_operations_async import PageBlobOperations +from ._append_blob_operations_async import AppendBlobOperations +from ._block_blob_operations_async import BlockBlobOperations + +__all__ = [ + 'ServiceOperations', + 'ContainerOperations', + 'DirectoryOperations', + 'BlobOperations', + 'PageBlobOperations', + 'AppendBlobOperations', + 'BlockBlobOperations', +] diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/aio/operations_async/_append_blob_operations_async.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/aio/operations_async/_append_blob_operations_async.py new file mode 100644 index 00000000000..ea79827cdbd --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/aio/operations_async/_append_blob_operations_async.py @@ -0,0 +1,694 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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.core.exceptions import map_error + +from ... import models + + +class AppendBlobOperations: + """AppendBlobOperations async operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :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 x_ms_blob_type: Specifies the type of blob to create: block blob, page blob, or append blob. Constant value: "AppendBlob". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + + self._config = config + self.x_ms_blob_type = "AppendBlob" + + async def create(self, content_length, timeout=None, metadata=None, request_id=None, blob_tags_string=None, blob_http_headers=None, lease_access_conditions=None, cpk_info=None, cpk_scope_info=None, modified_access_conditions=None, *, cls=None, **kwargs): + """The Create Append Blob operation creates a new append blob. + + :param content_length: The length of the request. + :type content_length: long + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param metadata: Optional. Specifies a user-defined name-value pair + associated with the blob. If no name-value pairs are specified, the + operation will copy the metadata from the source blob or file to the + destination blob. If one or more name-value pairs are specified, the + destination blob is created with the specified metadata, and metadata + is not copied from the source blob or file. Note that beginning with + version 2009-09-19, metadata names must adhere to the naming rules for + C# identifiers. See Naming and Referencing Containers, Blobs, and + Metadata for more information. + :type metadata: str + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param blob_tags_string: Optional. Used to set blob tags in various + blob operations. + :type blob_tags_string: str + :param blob_http_headers: Additional parameters for the operation + :type blob_http_headers: ~azure.storage.blob.models.BlobHTTPHeaders + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo + :param cpk_scope_info: Additional parameters for the operation + :type cpk_scope_info: ~azure.storage.blob.models.CpkScopeInfo + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + blob_content_type = None + if blob_http_headers is not None: + blob_content_type = blob_http_headers.blob_content_type + blob_content_encoding = None + if blob_http_headers is not None: + blob_content_encoding = blob_http_headers.blob_content_encoding + blob_content_language = None + if blob_http_headers is not None: + blob_content_language = blob_http_headers.blob_content_language + blob_content_md5 = None + if blob_http_headers is not None: + blob_content_md5 = blob_http_headers.blob_content_md5 + blob_cache_control = None + if blob_http_headers is not None: + blob_cache_control = blob_http_headers.blob_cache_control + blob_content_disposition = None + if blob_http_headers is not None: + blob_content_disposition = blob_http_headers.blob_content_disposition + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm + encryption_scope = None + if cpk_scope_info is not None: + encryption_scope = cpk_scope_info.encryption_scope + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + + # Construct headers + header_parameters = {} + header_parameters['Content-Length'] = self._serialize.header("content_length", content_length, 'long') + if metadata is not None: + header_parameters['x-ms-meta'] = self._serialize.header("metadata", metadata, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if blob_tags_string is not None: + header_parameters['x-ms-tags'] = self._serialize.header("blob_tags_string", blob_tags_string, 'str') + header_parameters['x-ms-blob-type'] = self._serialize.header("self.x_ms_blob_type", self.x_ms_blob_type, 'str') + if blob_content_type is not None: + header_parameters['x-ms-blob-content-type'] = self._serialize.header("blob_content_type", blob_content_type, 'str') + if blob_content_encoding is not None: + header_parameters['x-ms-blob-content-encoding'] = self._serialize.header("blob_content_encoding", blob_content_encoding, 'str') + if blob_content_language is not None: + header_parameters['x-ms-blob-content-language'] = self._serialize.header("blob_content_language", blob_content_language, 'str') + if blob_content_md5 is not None: + header_parameters['x-ms-blob-content-md5'] = self._serialize.header("blob_content_md5", blob_content_md5, 'bytearray') + if blob_cache_control is not None: + header_parameters['x-ms-blob-cache-control'] = self._serialize.header("blob_cache_control", blob_cache_control, 'str') + if blob_content_disposition is not None: + header_parameters['x-ms-blob-content-disposition'] = self._serialize.header("blob_content_disposition", blob_content_disposition, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') + if encryption_scope is not None: + header_parameters['x-ms-encryption-scope'] = self._serialize.header("encryption_scope", encryption_scope, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-version-id': self._deserialize('str', response.headers.get('x-ms-version-id')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), + 'x-ms-encryption-scope': self._deserialize('str', response.headers.get('x-ms-encryption-scope')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + create.metadata = {'url': '/{containerName}/{blob}'} + + async def append_block(self, body, content_length, timeout=None, transactional_content_md5=None, transactional_content_crc64=None, request_id=None, lease_access_conditions=None, append_position_access_conditions=None, cpk_info=None, cpk_scope_info=None, modified_access_conditions=None, *, cls=None, **kwargs): + """The Append Block operation commits a new block of data to the end of an + existing append blob. The Append Block operation is permitted only if + the blob was created with x-ms-blob-type set to AppendBlob. Append + Block is supported only on version 2015-02-21 version or later. + + :param body: Initial data + :type body: Generator + :param content_length: The length of the request. + :type content_length: long + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param transactional_content_md5: Specify the transactional md5 for + the body, to be validated by the service. + :type transactional_content_md5: bytearray + :param transactional_content_crc64: Specify the transactional crc64 + for the body, to be validated by the service. + :type transactional_content_crc64: bytearray + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param append_position_access_conditions: Additional parameters for + the operation + :type append_position_access_conditions: + ~azure.storage.blob.models.AppendPositionAccessConditions + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo + :param cpk_scope_info: Additional parameters for the operation + :type cpk_scope_info: ~azure.storage.blob.models.CpkScopeInfo + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + max_size = None + if append_position_access_conditions is not None: + max_size = append_position_access_conditions.max_size + append_position = None + if append_position_access_conditions is not None: + append_position = append_position_access_conditions.append_position + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm + encryption_scope = None + if cpk_scope_info is not None: + encryption_scope = cpk_scope_info.encryption_scope + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + + comp = "appendblock" + + # Construct URL + url = self.append_block.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/octet-stream' + header_parameters['Content-Length'] = self._serialize.header("content_length", content_length, 'long') + if transactional_content_md5 is not None: + header_parameters['Content-MD5'] = self._serialize.header("transactional_content_md5", transactional_content_md5, 'bytearray') + if transactional_content_crc64 is not None: + header_parameters['x-ms-content-crc64'] = self._serialize.header("transactional_content_crc64", transactional_content_crc64, 'bytearray') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if max_size is not None: + header_parameters['x-ms-blob-condition-maxsize'] = self._serialize.header("max_size", max_size, 'long') + if append_position is not None: + header_parameters['x-ms-blob-condition-appendpos'] = self._serialize.header("append_position", append_position, 'long') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') + if encryption_scope is not None: + header_parameters['x-ms-encryption-scope'] = self._serialize.header("encryption_scope", encryption_scope, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + + # Construct body + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, stream_content=body) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'x-ms-content-crc64': self._deserialize('bytearray', response.headers.get('x-ms-content-crc64')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-blob-append-offset': self._deserialize('str', response.headers.get('x-ms-blob-append-offset')), + 'x-ms-blob-committed-block-count': self._deserialize('int', response.headers.get('x-ms-blob-committed-block-count')), + 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), + 'x-ms-encryption-scope': self._deserialize('str', response.headers.get('x-ms-encryption-scope')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + append_block.metadata = {'url': '/{containerName}/{blob}'} + + async def append_block_from_url(self, source_url, content_length, source_range=None, source_content_md5=None, source_contentcrc64=None, timeout=None, transactional_content_md5=None, request_id=None, cpk_info=None, cpk_scope_info=None, lease_access_conditions=None, append_position_access_conditions=None, modified_access_conditions=None, source_modified_access_conditions=None, *, cls=None, **kwargs): + """The Append Block operation commits a new block of data to the end of an + existing append blob where the contents are read from a source url. The + Append Block operation is permitted only if the blob was created with + x-ms-blob-type set to AppendBlob. Append Block is supported only on + version 2015-02-21 version or later. + + :param source_url: Specify a URL to the copy source. + :type source_url: str + :param content_length: The length of the request. + :type content_length: long + :param source_range: Bytes of source data in the specified range. + :type source_range: str + :param source_content_md5: Specify the md5 calculated for the range of + bytes that must be read from the copy source. + :type source_content_md5: bytearray + :param source_contentcrc64: Specify the crc64 calculated for the range + of bytes that must be read from the copy source. + :type source_contentcrc64: bytearray + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param transactional_content_md5: Specify the transactional md5 for + the body, to be validated by the service. + :type transactional_content_md5: bytearray + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo + :param cpk_scope_info: Additional parameters for the operation + :type cpk_scope_info: ~azure.storage.blob.models.CpkScopeInfo + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param append_position_access_conditions: Additional parameters for + the operation + :type append_position_access_conditions: + ~azure.storage.blob.models.AppendPositionAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param source_modified_access_conditions: Additional parameters for + the operation + :type source_modified_access_conditions: + ~azure.storage.blob.models.SourceModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm + encryption_scope = None + if cpk_scope_info is not None: + encryption_scope = cpk_scope_info.encryption_scope + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + max_size = None + if append_position_access_conditions is not None: + max_size = append_position_access_conditions.max_size + append_position = None + if append_position_access_conditions is not None: + append_position = append_position_access_conditions.append_position + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + source_if_modified_since = None + if source_modified_access_conditions is not None: + source_if_modified_since = source_modified_access_conditions.source_if_modified_since + source_if_unmodified_since = None + if source_modified_access_conditions is not None: + source_if_unmodified_since = source_modified_access_conditions.source_if_unmodified_since + source_if_match = None + if source_modified_access_conditions is not None: + source_if_match = source_modified_access_conditions.source_if_match + source_if_none_match = None + if source_modified_access_conditions is not None: + source_if_none_match = source_modified_access_conditions.source_if_none_match + + comp = "appendblock" + + # Construct URL + url = self.append_block_from_url.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-copy-source'] = self._serialize.header("source_url", source_url, 'str') + if source_range is not None: + header_parameters['x-ms-source-range'] = self._serialize.header("source_range", source_range, 'str') + if source_content_md5 is not None: + header_parameters['x-ms-source-content-md5'] = self._serialize.header("source_content_md5", source_content_md5, 'bytearray') + if source_contentcrc64 is not None: + header_parameters['x-ms-source-content-crc64'] = self._serialize.header("source_contentcrc64", source_contentcrc64, 'bytearray') + header_parameters['Content-Length'] = self._serialize.header("content_length", content_length, 'long') + if transactional_content_md5 is not None: + header_parameters['Content-MD5'] = self._serialize.header("transactional_content_md5", transactional_content_md5, 'bytearray') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') + if encryption_scope is not None: + header_parameters['x-ms-encryption-scope'] = self._serialize.header("encryption_scope", encryption_scope, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if max_size is not None: + header_parameters['x-ms-blob-condition-maxsize'] = self._serialize.header("max_size", max_size, 'long') + if append_position is not None: + header_parameters['x-ms-blob-condition-appendpos'] = self._serialize.header("append_position", append_position, 'long') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + if source_if_modified_since is not None: + header_parameters['x-ms-source-if-modified-since'] = self._serialize.header("source_if_modified_since", source_if_modified_since, 'rfc-1123') + if source_if_unmodified_since is not None: + header_parameters['x-ms-source-if-unmodified-since'] = self._serialize.header("source_if_unmodified_since", source_if_unmodified_since, 'rfc-1123') + if source_if_match is not None: + header_parameters['x-ms-source-if-match'] = self._serialize.header("source_if_match", source_if_match, 'str') + if source_if_none_match is not None: + header_parameters['x-ms-source-if-none-match'] = self._serialize.header("source_if_none_match", source_if_none_match, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'x-ms-content-crc64': self._deserialize('bytearray', response.headers.get('x-ms-content-crc64')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-blob-append-offset': self._deserialize('str', response.headers.get('x-ms-blob-append-offset')), + 'x-ms-blob-committed-block-count': self._deserialize('int', response.headers.get('x-ms-blob-committed-block-count')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), + 'x-ms-encryption-scope': self._deserialize('str', response.headers.get('x-ms-encryption-scope')), + 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + append_block_from_url.metadata = {'url': '/{containerName}/{blob}'} + + async def seal(self, timeout=None, request_id=None, lease_access_conditions=None, modified_access_conditions=None, append_position_access_conditions=None, *, cls=None, **kwargs): + """The Seal operation seals the Append Blob to make it read-only. Seal is + supported only on version 2019-12-12 version or later. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param append_position_access_conditions: Additional parameters for + the operation + :type append_position_access_conditions: + ~azure.storage.blob.models.AppendPositionAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + append_position = None + if append_position_access_conditions is not None: + append_position = append_position_access_conditions.append_position + + comp = "seal" + + # Construct URL + url = self.seal.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if append_position is not None: + header_parameters['x-ms-blob-condition-appendpos'] = self._serialize.header("append_position", append_position, 'long') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-blob-sealed': self._deserialize('bool', response.headers.get('x-ms-blob-sealed')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + seal.metadata = {'url': '/{containerName}/{blob}'} diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/aio/operations_async/_blob_operations_async.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/aio/operations_async/_blob_operations_async.py new file mode 100644 index 00000000000..54d6dab2a31 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/aio/operations_async/_blob_operations_async.py @@ -0,0 +1,3067 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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.core.exceptions import map_error + +from ... import models + + +class BlobOperations: + """BlobOperations async operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :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 x_ms_requires_sync: . Constant value: "true". + :ivar x_ms_copy_action: . Constant value: "abort". + :ivar restype: . Constant value: "account". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + + self._config = config + self.x_ms_requires_sync = "true" + self.x_ms_copy_action = "abort" + self.restype = "account" + + async def download(self, snapshot=None, version_id=None, timeout=None, range=None, range_get_content_md5=None, range_get_content_crc64=None, request_id=None, lease_access_conditions=None, cpk_info=None, modified_access_conditions=None, *, cls=None, **kwargs): + """The Download operation reads or downloads a blob from the system, + including its metadata and properties. You can also call Download to + read a snapshot. + + :param snapshot: The snapshot parameter is an opaque DateTime value + that, when present, specifies the blob snapshot to retrieve. For more + information on working with blob snapshots, see Creating + a Snapshot of a Blob. + :type snapshot: str + :param version_id: The version id parameter is an opaque DateTime + value that, when present, specifies the version of the blob to operate + on. It's for service version 2019-10-10 and newer. + :type version_id: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param range: Return only the bytes of the blob in the specified + range. + :type range: str + :param range_get_content_md5: When set to true and specified together + with the Range, the service returns the MD5 hash for the range, as + long as the range is less than or equal to 4 MB in size. + :type range_get_content_md5: bool + :param range_get_content_crc64: When set to true and specified + together with the Range, the service returns the CRC64 hash for the + range, as long as the range is less than or equal to 4 MB in size. + :type range_get_content_crc64: bool + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: object or the result of cls(response) + :rtype: Generator + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + + # Construct URL + url = self.download.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if snapshot is not None: + query_parameters['snapshot'] = self._serialize.query("snapshot", snapshot, 'str') + if version_id is not None: + query_parameters['versionid'] = self._serialize.query("version_id", version_id, 'str') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/xml' + if range is not None: + header_parameters['x-ms-range'] = self._serialize.header("range", range, 'str') + if range_get_content_md5 is not None: + header_parameters['x-ms-range-get-content-md5'] = self._serialize.header("range_get_content_md5", range_get_content_md5, 'bool') + if range_get_content_crc64 is not None: + header_parameters['x-ms-range-get-content-crc64'] = self._serialize.header("range_get_content_crc64", range_get_content_crc64, 'bool') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=True, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 206]: + await response.load_body() + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = response.stream_download(self._client._pipeline) + header_dict = { + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-meta': self._deserialize('{str}', response.headers.get('x-ms-meta')), + 'x-ms-or-policy-id': self._deserialize('str', response.headers.get('x-ms-or-policy-id')), + 'x-ms-or': self._deserialize('{str}', response.headers.get('x-ms-or')), + 'Content-Length': self._deserialize('long', response.headers.get('Content-Length')), + 'Content-Type': self._deserialize('str', response.headers.get('Content-Type')), + 'Content-Range': self._deserialize('str', response.headers.get('Content-Range')), + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'Content-Encoding': self._deserialize('str', response.headers.get('Content-Encoding')), + 'Cache-Control': self._deserialize('str', response.headers.get('Cache-Control')), + 'Content-Disposition': self._deserialize('str', response.headers.get('Content-Disposition')), + 'Content-Language': self._deserialize('str', response.headers.get('Content-Language')), + 'x-ms-blob-sequence-number': self._deserialize('long', response.headers.get('x-ms-blob-sequence-number')), + 'x-ms-blob-type': self._deserialize(models.BlobType, response.headers.get('x-ms-blob-type')), + 'x-ms-copy-completion-time': self._deserialize('rfc-1123', response.headers.get('x-ms-copy-completion-time')), + 'x-ms-copy-status-description': self._deserialize('str', response.headers.get('x-ms-copy-status-description')), + 'x-ms-copy-id': self._deserialize('str', response.headers.get('x-ms-copy-id')), + 'x-ms-copy-progress': self._deserialize('str', response.headers.get('x-ms-copy-progress')), + 'x-ms-copy-source': self._deserialize('str', response.headers.get('x-ms-copy-source')), + 'x-ms-copy-status': self._deserialize(models.CopyStatusType, response.headers.get('x-ms-copy-status')), + 'x-ms-lease-duration': self._deserialize(models.LeaseDurationType, response.headers.get('x-ms-lease-duration')), + 'x-ms-lease-state': self._deserialize(models.LeaseStateType, response.headers.get('x-ms-lease-state')), + 'x-ms-lease-status': self._deserialize(models.LeaseStatusType, response.headers.get('x-ms-lease-status')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-version-id': self._deserialize('str', response.headers.get('x-ms-version-id')), + 'Accept-Ranges': self._deserialize('str', response.headers.get('Accept-Ranges')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-blob-committed-block-count': self._deserialize('int', response.headers.get('x-ms-blob-committed-block-count')), + 'x-ms-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-server-encrypted')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), + 'x-ms-encryption-scope': self._deserialize('str', response.headers.get('x-ms-encryption-scope')), + 'x-ms-blob-content-md5': self._deserialize('bytearray', response.headers.get('x-ms-blob-content-md5')), + 'x-ms-tag-count': self._deserialize('long', response.headers.get('x-ms-tag-count')), + 'x-ms-blob-sealed': self._deserialize('bool', response.headers.get('x-ms-blob-sealed')), + 'x-ms-last-access-time': self._deserialize('rfc-1123', response.headers.get('x-ms-last-access-time')), + 'x-ms-content-crc64': self._deserialize('bytearray', response.headers.get('x-ms-content-crc64')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + if response.status_code == 206: + deserialized = response.stream_download(self._client._pipeline) + header_dict = { + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-meta': self._deserialize('{str}', response.headers.get('x-ms-meta')), + 'x-ms-or-policy-id': self._deserialize('str', response.headers.get('x-ms-or-policy-id')), + 'x-ms-or': self._deserialize('{str}', response.headers.get('x-ms-or')), + 'Content-Length': self._deserialize('long', response.headers.get('Content-Length')), + 'Content-Type': self._deserialize('str', response.headers.get('Content-Type')), + 'Content-Range': self._deserialize('str', response.headers.get('Content-Range')), + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'Content-Encoding': self._deserialize('str', response.headers.get('Content-Encoding')), + 'Cache-Control': self._deserialize('str', response.headers.get('Cache-Control')), + 'Content-Disposition': self._deserialize('str', response.headers.get('Content-Disposition')), + 'Content-Language': self._deserialize('str', response.headers.get('Content-Language')), + 'x-ms-blob-sequence-number': self._deserialize('long', response.headers.get('x-ms-blob-sequence-number')), + 'x-ms-blob-type': self._deserialize(models.BlobType, response.headers.get('x-ms-blob-type')), + 'x-ms-copy-completion-time': self._deserialize('rfc-1123', response.headers.get('x-ms-copy-completion-time')), + 'x-ms-copy-status-description': self._deserialize('str', response.headers.get('x-ms-copy-status-description')), + 'x-ms-copy-id': self._deserialize('str', response.headers.get('x-ms-copy-id')), + 'x-ms-copy-progress': self._deserialize('str', response.headers.get('x-ms-copy-progress')), + 'x-ms-copy-source': self._deserialize('str', response.headers.get('x-ms-copy-source')), + 'x-ms-copy-status': self._deserialize(models.CopyStatusType, response.headers.get('x-ms-copy-status')), + 'x-ms-lease-duration': self._deserialize(models.LeaseDurationType, response.headers.get('x-ms-lease-duration')), + 'x-ms-lease-state': self._deserialize(models.LeaseStateType, response.headers.get('x-ms-lease-state')), + 'x-ms-lease-status': self._deserialize(models.LeaseStatusType, response.headers.get('x-ms-lease-status')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-version-id': self._deserialize('str', response.headers.get('x-ms-version-id')), + 'Accept-Ranges': self._deserialize('str', response.headers.get('Accept-Ranges')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-blob-committed-block-count': self._deserialize('int', response.headers.get('x-ms-blob-committed-block-count')), + 'x-ms-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-server-encrypted')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), + 'x-ms-encryption-scope': self._deserialize('str', response.headers.get('x-ms-encryption-scope')), + 'x-ms-blob-content-md5': self._deserialize('bytearray', response.headers.get('x-ms-blob-content-md5')), + 'x-ms-tag-count': self._deserialize('long', response.headers.get('x-ms-tag-count')), + 'x-ms-blob-sealed': self._deserialize('bool', response.headers.get('x-ms-blob-sealed')), + 'x-ms-last-access-time': self._deserialize('rfc-1123', response.headers.get('x-ms-last-access-time')), + 'x-ms-content-crc64': self._deserialize('bytearray', response.headers.get('x-ms-content-crc64')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + + if cls: + return cls(response, deserialized, header_dict) + + return deserialized + download.metadata = {'url': '/{containerName}/{blob}'} + + async def get_properties(self, snapshot=None, version_id=None, timeout=None, request_id=None, lease_access_conditions=None, cpk_info=None, modified_access_conditions=None, *, cls=None, **kwargs): + """The Get Properties operation returns all user-defined metadata, + standard HTTP properties, and system properties for the blob. It does + not return the content of the blob. + + :param snapshot: The snapshot parameter is an opaque DateTime value + that, when present, specifies the blob snapshot to retrieve. For more + information on working with blob snapshots, see Creating + a Snapshot of a Blob. + :type snapshot: str + :param version_id: The version id parameter is an opaque DateTime + value that, when present, specifies the version of the blob to operate + on. It's for service version 2019-10-10 and newer. + :type version_id: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + + # Construct URL + url = self.get_properties.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if snapshot is not None: + query_parameters['snapshot'] = self._serialize.query("snapshot", snapshot, 'str') + if version_id is not None: + query_parameters['versionid'] = self._serialize.query("version_id", version_id, 'str') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + + # Construct headers + header_parameters = {} + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + + # Construct and send request + request = self._client.head(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-creation-time': self._deserialize('rfc-1123', response.headers.get('x-ms-creation-time')), + 'x-ms-meta': self._deserialize('{str}', response.headers.get('x-ms-meta')), + 'x-ms-or-policy-id': self._deserialize('str', response.headers.get('x-ms-or-policy-id')), + 'x-ms-or': self._deserialize('{str}', response.headers.get('x-ms-or')), + 'x-ms-blob-type': self._deserialize(models.BlobType, response.headers.get('x-ms-blob-type')), + 'x-ms-copy-completion-time': self._deserialize('rfc-1123', response.headers.get('x-ms-copy-completion-time')), + 'x-ms-copy-status-description': self._deserialize('str', response.headers.get('x-ms-copy-status-description')), + 'x-ms-copy-id': self._deserialize('str', response.headers.get('x-ms-copy-id')), + 'x-ms-copy-progress': self._deserialize('str', response.headers.get('x-ms-copy-progress')), + 'x-ms-copy-source': self._deserialize('str', response.headers.get('x-ms-copy-source')), + 'x-ms-copy-status': self._deserialize(models.CopyStatusType, response.headers.get('x-ms-copy-status')), + 'x-ms-incremental-copy': self._deserialize('bool', response.headers.get('x-ms-incremental-copy')), + 'x-ms-copy-destination-snapshot': self._deserialize('str', response.headers.get('x-ms-copy-destination-snapshot')), + 'x-ms-lease-duration': self._deserialize(models.LeaseDurationType, response.headers.get('x-ms-lease-duration')), + 'x-ms-lease-state': self._deserialize(models.LeaseStateType, response.headers.get('x-ms-lease-state')), + 'x-ms-lease-status': self._deserialize(models.LeaseStatusType, response.headers.get('x-ms-lease-status')), + 'Content-Length': self._deserialize('long', response.headers.get('Content-Length')), + 'Content-Type': self._deserialize('str', response.headers.get('Content-Type')), + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'Content-Encoding': self._deserialize('str', response.headers.get('Content-Encoding')), + 'Content-Disposition': self._deserialize('str', response.headers.get('Content-Disposition')), + 'Content-Language': self._deserialize('str', response.headers.get('Content-Language')), + 'Cache-Control': self._deserialize('str', response.headers.get('Cache-Control')), + 'x-ms-blob-sequence-number': self._deserialize('long', response.headers.get('x-ms-blob-sequence-number')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'Accept-Ranges': self._deserialize('str', response.headers.get('Accept-Ranges')), + 'x-ms-blob-committed-block-count': self._deserialize('int', response.headers.get('x-ms-blob-committed-block-count')), + 'x-ms-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-server-encrypted')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), + 'x-ms-encryption-scope': self._deserialize('str', response.headers.get('x-ms-encryption-scope')), + 'x-ms-access-tier': self._deserialize('str', response.headers.get('x-ms-access-tier')), + 'x-ms-access-tier-inferred': self._deserialize('bool', response.headers.get('x-ms-access-tier-inferred')), + 'x-ms-archive-status': self._deserialize('str', response.headers.get('x-ms-archive-status')), + 'x-ms-access-tier-change-time': self._deserialize('rfc-1123', response.headers.get('x-ms-access-tier-change-time')), + 'x-ms-version-id': self._deserialize('str', response.headers.get('x-ms-version-id')), + 'x-ms-is-current-version': self._deserialize('bool', response.headers.get('x-ms-is-current-version')), + 'x-ms-tag-count': self._deserialize('long', response.headers.get('x-ms-tag-count')), + 'x-ms-expiry-time': self._deserialize('rfc-1123', response.headers.get('x-ms-expiry-time')), + 'x-ms-blob-sealed': self._deserialize('bool', response.headers.get('x-ms-blob-sealed')), + 'x-ms-rehydrate-priority': self._deserialize('str', response.headers.get('x-ms-rehydrate-priority')), + 'x-ms-last-access-time': self._deserialize('rfc-1123', response.headers.get('x-ms-last-access-time')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + get_properties.metadata = {'url': '/{containerName}/{blob}'} + + async def delete(self, snapshot=None, version_id=None, timeout=None, delete_snapshots=None, request_id=None, lease_access_conditions=None, modified_access_conditions=None, *, cls=None, **kwargs): + """If the storage account's soft delete feature is disabled then, when a + blob is deleted, it is permanently removed from the storage account. If + the storage account's soft delete feature is enabled, then, when a blob + is deleted, it is marked for deletion and becomes inaccessible + immediately. However, the blob service retains the blob or snapshot for + the number of days specified by the DeleteRetentionPolicy section of + [Storage service properties] (Set-Blob-Service-Properties.md). After + the specified number of days has passed, the blob's data is permanently + removed from the storage account. Note that you continue to be charged + for the soft-deleted blob's storage until it is permanently removed. + Use the List Blobs API and specify the "include=deleted" query + parameter to discover which blobs and snapshots have been soft deleted. + You can then use the Undelete Blob API to restore a soft-deleted blob. + All other operations on a soft-deleted blob or snapshot causes the + service to return an HTTP status code of 404 (ResourceNotFound). + + :param snapshot: The snapshot parameter is an opaque DateTime value + that, when present, specifies the blob snapshot to retrieve. For more + information on working with blob snapshots, see Creating + a Snapshot of a Blob. + :type snapshot: str + :param version_id: The version id parameter is an opaque DateTime + value that, when present, specifies the version of the blob to operate + on. It's for service version 2019-10-10 and newer. + :type version_id: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param delete_snapshots: Required if the blob has associated + snapshots. Specify one of the following two options: include: Delete + the base blob and all of its snapshots. only: Delete only the blob's + snapshots and not the blob itself. Possible values include: 'include', + 'only' + :type delete_snapshots: str or + ~azure.storage.blob.models.DeleteSnapshotsOptionType + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if snapshot is not None: + query_parameters['snapshot'] = self._serialize.query("snapshot", snapshot, 'str') + if version_id is not None: + query_parameters['versionid'] = self._serialize.query("version_id", version_id, 'str') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + + # Construct headers + header_parameters = {} + if delete_snapshots is not None: + header_parameters['x-ms-delete-snapshots'] = self._serialize.header("delete_snapshots", delete_snapshots, 'DeleteSnapshotsOptionType') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + delete.metadata = {'url': '/{containerName}/{blob}'} + + async def set_access_control(self, timeout=None, owner=None, group=None, posix_permissions=None, posix_acl=None, request_id=None, lease_access_conditions=None, modified_access_conditions=None, *, cls=None, **kwargs): + """Set the owner, group, permissions, or access control list for a blob. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param owner: Optional. The owner of the blob or directory. + :type owner: str + :param group: Optional. The owning group of the blob or directory. + :type group: str + :param posix_permissions: Optional and only valid if Hierarchical + Namespace is enabled for the account. Sets POSIX access permissions + for the file owner, the file owning group, and others. Each class may + be granted read, write, or execute permission. The sticky bit is also + supported. Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. + 0766) are supported. + :type posix_permissions: str + :param posix_acl: Sets POSIX access control rights on files and + directories. The value is a comma-separated list of access control + entries. Each access control entry (ACE) consists of a scope, a type, + a user or group identifier, and permissions in the format + "[scope:][type]:[id]:[permissions]". + :type posix_acl: str + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`DataLakeStorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + + action = "setAccessControl" + + # Construct URL + url = self.set_access_control.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['action'] = self._serialize.query("action", action, 'str') + + # Construct headers + header_parameters = {} + if owner is not None: + header_parameters['x-ms-owner'] = self._serialize.header("owner", owner, 'str') + if group is not None: + header_parameters['x-ms-group'] = self._serialize.header("group", group, 'str') + if posix_permissions is not None: + header_parameters['x-ms-permissions'] = self._serialize.header("posix_permissions", posix_permissions, 'str') + if posix_acl is not None: + header_parameters['x-ms-acl'] = self._serialize.header("posix_acl", posix_acl, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.DataLakeStorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + } + return cls(response, None, response_headers) + set_access_control.metadata = {'url': '/{filesystem}/{path}'} + + async def get_access_control(self, timeout=None, upn=None, request_id=None, lease_access_conditions=None, modified_access_conditions=None, *, cls=None, **kwargs): + """Get the owner, group, permissions, or access control list for a blob. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param upn: Optional. Valid only when Hierarchical Namespace is + enabled for the account. If "true", the identity values returned in + the x-ms-owner, x-ms-group, and x-ms-acl response headers will be + transformed from Azure Active Directory Object IDs to User Principal + Names. If "false", the values will be returned as Azure Active + Directory Object IDs. The default value is false. + :type upn: bool + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`DataLakeStorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + + action = "getAccessControl" + + # Construct URL + url = self.get_access_control.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + if upn is not None: + query_parameters['upn'] = self._serialize.query("upn", upn, 'bool') + query_parameters['action'] = self._serialize.query("action", action, 'str') + + # Construct headers + header_parameters = {} + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + + # Construct and send request + request = self._client.head(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.DataLakeStorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-owner': self._deserialize('str', response.headers.get('x-ms-owner')), + 'x-ms-group': self._deserialize('str', response.headers.get('x-ms-group')), + 'x-ms-permissions': self._deserialize('str', response.headers.get('x-ms-permissions')), + 'x-ms-acl': self._deserialize('str', response.headers.get('x-ms-acl')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + } + return cls(response, None, response_headers) + get_access_control.metadata = {'url': '/{filesystem}/{path}'} + + async def rename(self, rename_source, timeout=None, path_rename_mode=None, directory_properties=None, posix_permissions=None, posix_umask=None, source_lease_id=None, request_id=None, directory_http_headers=None, lease_access_conditions=None, modified_access_conditions=None, source_modified_access_conditions=None, *, cls=None, **kwargs): + """Rename a blob/file. By default, the destination is overwritten and if + the destination already exists and has a lease the lease is broken. + This operation supports conditional HTTP requests. For more + information, see [Specifying Conditional Headers for Blob Service + Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations). + To fail if the destination already exists, use a conditional request + with If-None-Match: "*". + + :param rename_source: The file or directory to be renamed. The value + must have the following format: "/{filesysystem}/{path}". If + "x-ms-properties" is specified, the properties will overwrite the + existing properties; otherwise, the existing properties will be + preserved. + :type rename_source: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param path_rename_mode: Determines the behavior of the rename + operation. Possible values include: 'legacy', 'posix' + :type path_rename_mode: str or + ~azure.storage.blob.models.PathRenameMode + :param directory_properties: Optional. User-defined properties to be + stored with the file or directory, in the format of a comma-separated + list of name and value pairs "n1=v1, n2=v2, ...", where each value is + base64 encoded. + :type directory_properties: str + :param posix_permissions: Optional and only valid if Hierarchical + Namespace is enabled for the account. Sets POSIX access permissions + for the file owner, the file owning group, and others. Each class may + be granted read, write, or execute permission. The sticky bit is also + supported. Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. + 0766) are supported. + :type posix_permissions: str + :param posix_umask: Only valid if Hierarchical Namespace is enabled + for the account. This umask restricts permission settings for file and + directory, and will only be applied when default Acl does not exist in + parent directory. If the umask bit has set, it means that the + corresponding permission will be disabled. Otherwise the corresponding + permission will be determined by the permission. A 4-digit octal + notation (e.g. 0022) is supported here. If no umask was specified, a + default umask - 0027 will be used. + :type posix_umask: str + :param source_lease_id: A lease ID for the source path. If specified, + the source path must have an active lease and the lease ID must match. + :type source_lease_id: str + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param directory_http_headers: Additional parameters for the operation + :type directory_http_headers: + ~azure.storage.blob.models.DirectoryHttpHeaders + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param source_modified_access_conditions: Additional parameters for + the operation + :type source_modified_access_conditions: + ~azure.storage.blob.models.SourceModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`DataLakeStorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + cache_control = None + if directory_http_headers is not None: + cache_control = directory_http_headers.cache_control + content_type = None + if directory_http_headers is not None: + content_type = directory_http_headers.content_type + content_encoding = None + if directory_http_headers is not None: + content_encoding = directory_http_headers.content_encoding + content_language = None + if directory_http_headers is not None: + content_language = directory_http_headers.content_language + content_disposition = None + if directory_http_headers is not None: + content_disposition = directory_http_headers.content_disposition + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + source_if_modified_since = None + if source_modified_access_conditions is not None: + source_if_modified_since = source_modified_access_conditions.source_if_modified_since + source_if_unmodified_since = None + if source_modified_access_conditions is not None: + source_if_unmodified_since = source_modified_access_conditions.source_if_unmodified_since + source_if_match = None + if source_modified_access_conditions is not None: + source_if_match = source_modified_access_conditions.source_if_match + source_if_none_match = None + if source_modified_access_conditions is not None: + source_if_none_match = source_modified_access_conditions.source_if_none_match + + # Construct URL + url = self.rename.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + if path_rename_mode is not None: + query_parameters['mode'] = self._serialize.query("path_rename_mode", path_rename_mode, 'PathRenameMode') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-rename-source'] = self._serialize.header("rename_source", rename_source, 'str') + if directory_properties is not None: + header_parameters['x-ms-properties'] = self._serialize.header("directory_properties", directory_properties, 'str') + if posix_permissions is not None: + header_parameters['x-ms-permissions'] = self._serialize.header("posix_permissions", posix_permissions, 'str') + if posix_umask is not None: + header_parameters['x-ms-umask'] = self._serialize.header("posix_umask", posix_umask, 'str') + if source_lease_id is not None: + header_parameters['x-ms-source-lease-id'] = self._serialize.header("source_lease_id", source_lease_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if cache_control is not None: + header_parameters['x-ms-cache-control'] = self._serialize.header("cache_control", cache_control, 'str') + if content_type is not None: + header_parameters['x-ms-content-type'] = self._serialize.header("content_type", content_type, 'str') + if content_encoding is not None: + header_parameters['x-ms-content-encoding'] = self._serialize.header("content_encoding", content_encoding, 'str') + if content_language is not None: + header_parameters['x-ms-content-language'] = self._serialize.header("content_language", content_language, 'str') + if content_disposition is not None: + header_parameters['x-ms-content-disposition'] = self._serialize.header("content_disposition", content_disposition, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if source_if_modified_since is not None: + header_parameters['x-ms-source-if-modified-since'] = self._serialize.header("source_if_modified_since", source_if_modified_since, 'rfc-1123') + if source_if_unmodified_since is not None: + header_parameters['x-ms-source-if-unmodified-since'] = self._serialize.header("source_if_unmodified_since", source_if_unmodified_since, 'rfc-1123') + if source_if_match is not None: + header_parameters['x-ms-source-if-match'] = self._serialize.header("source_if_match", source_if_match, 'str') + if source_if_none_match is not None: + header_parameters['x-ms-source-if-none-match'] = self._serialize.header("source_if_none_match", source_if_none_match, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.DataLakeStorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Content-Length': self._deserialize('long', response.headers.get('Content-Length')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + } + return cls(response, None, response_headers) + rename.metadata = {'url': '/{filesystem}/{path}'} + + async def undelete(self, timeout=None, request_id=None, *, cls=None, **kwargs): + """Undelete a blob that was previously soft deleted. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + comp = "undelete" + + # Construct URL + url = self.undelete.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + undelete.metadata = {'url': '/{containerName}/{blob}'} + + async def set_expiry(self, expiry_options, timeout=None, request_id=None, expires_on=None, *, cls=None, **kwargs): + """Sets the time a blob will expire and be deleted. + + :param expiry_options: Required. Indicates mode of the expiry time. + Possible values include: 'NeverExpire', 'RelativeToCreation', + 'RelativeToNow', 'Absolute' + :type expiry_options: str or + ~azure.storage.blob.models.BlobExpiryOptions + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param expires_on: The time to set the blob to expiry + :type expires_on: str + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + comp = "expiry" + + # Construct URL + url = self.set_expiry.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-expiry-option'] = self._serialize.header("expiry_options", expiry_options, 'str') + if expires_on is not None: + header_parameters['x-ms-expiry-time'] = self._serialize.header("expires_on", expires_on, 'rfc-1123') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + set_expiry.metadata = {'url': '/{containerName}/{blob}'} + + async def set_http_headers(self, timeout=None, request_id=None, blob_http_headers=None, lease_access_conditions=None, modified_access_conditions=None, *, cls=None, **kwargs): + """The Set HTTP Headers operation sets system properties on the blob. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param blob_http_headers: Additional parameters for the operation + :type blob_http_headers: ~azure.storage.blob.models.BlobHTTPHeaders + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + blob_cache_control = None + if blob_http_headers is not None: + blob_cache_control = blob_http_headers.blob_cache_control + blob_content_type = None + if blob_http_headers is not None: + blob_content_type = blob_http_headers.blob_content_type + blob_content_md5 = None + if blob_http_headers is not None: + blob_content_md5 = blob_http_headers.blob_content_md5 + blob_content_encoding = None + if blob_http_headers is not None: + blob_content_encoding = blob_http_headers.blob_content_encoding + blob_content_language = None + if blob_http_headers is not None: + blob_content_language = blob_http_headers.blob_content_language + blob_content_disposition = None + if blob_http_headers is not None: + blob_content_disposition = blob_http_headers.blob_content_disposition + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + + comp = "properties" + + # Construct URL + url = self.set_http_headers.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if blob_cache_control is not None: + header_parameters['x-ms-blob-cache-control'] = self._serialize.header("blob_cache_control", blob_cache_control, 'str') + if blob_content_type is not None: + header_parameters['x-ms-blob-content-type'] = self._serialize.header("blob_content_type", blob_content_type, 'str') + if blob_content_md5 is not None: + header_parameters['x-ms-blob-content-md5'] = self._serialize.header("blob_content_md5", blob_content_md5, 'bytearray') + if blob_content_encoding is not None: + header_parameters['x-ms-blob-content-encoding'] = self._serialize.header("blob_content_encoding", blob_content_encoding, 'str') + if blob_content_language is not None: + header_parameters['x-ms-blob-content-language'] = self._serialize.header("blob_content_language", blob_content_language, 'str') + if blob_content_disposition is not None: + header_parameters['x-ms-blob-content-disposition'] = self._serialize.header("blob_content_disposition", blob_content_disposition, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-blob-sequence-number': self._deserialize('long', response.headers.get('x-ms-blob-sequence-number')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + set_http_headers.metadata = {'url': '/{containerName}/{blob}'} + + async def set_metadata(self, timeout=None, metadata=None, request_id=None, lease_access_conditions=None, cpk_info=None, cpk_scope_info=None, modified_access_conditions=None, *, cls=None, **kwargs): + """The Set Blob Metadata operation sets user-defined metadata for the + specified blob as one or more name-value pairs. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param metadata: Optional. Specifies a user-defined name-value pair + associated with the blob. If no name-value pairs are specified, the + operation will copy the metadata from the source blob or file to the + destination blob. If one or more name-value pairs are specified, the + destination blob is created with the specified metadata, and metadata + is not copied from the source blob or file. Note that beginning with + version 2009-09-19, metadata names must adhere to the naming rules for + C# identifiers. See Naming and Referencing Containers, Blobs, and + Metadata for more information. + :type metadata: str + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo + :param cpk_scope_info: Additional parameters for the operation + :type cpk_scope_info: ~azure.storage.blob.models.CpkScopeInfo + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm + encryption_scope = None + if cpk_scope_info is not None: + encryption_scope = cpk_scope_info.encryption_scope + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + + comp = "metadata" + + # Construct URL + url = self.set_metadata.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + if metadata is not None: + header_parameters['x-ms-meta'] = self._serialize.header("metadata", metadata, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') + if encryption_scope is not None: + header_parameters['x-ms-encryption-scope'] = self._serialize.header("encryption_scope", encryption_scope, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-version-id': self._deserialize('str', response.headers.get('x-ms-version-id')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), + 'x-ms-encryption-scope': self._deserialize('str', response.headers.get('x-ms-encryption-scope')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + set_metadata.metadata = {'url': '/{containerName}/{blob}'} + + async def acquire_lease(self, timeout=None, duration=None, proposed_lease_id=None, request_id=None, modified_access_conditions=None, *, cls=None, **kwargs): + """[Update] The Lease Blob operation establishes and manages a lock on a + blob for write and delete operations. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param duration: Specifies the duration of the lease, in seconds, or + negative one (-1) for a lease that never expires. A non-infinite lease + can be between 15 and 60 seconds. A lease duration cannot be changed + using renew or change. + :type duration: int + :param proposed_lease_id: Proposed lease ID, in a GUID string format. + The Blob service returns 400 (Invalid request) if the proposed lease + ID is not in the correct format. See Guid Constructor (String) for a + list of valid GUID string formats. + :type proposed_lease_id: str + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + + comp = "lease" + action = "acquire" + + # Construct URL + url = self.acquire_lease.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + if duration is not None: + header_parameters['x-ms-lease-duration'] = self._serialize.header("duration", duration, 'int') + if proposed_lease_id is not None: + header_parameters['x-ms-proposed-lease-id'] = self._serialize.header("proposed_lease_id", proposed_lease_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-lease-action'] = self._serialize.header("action", action, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-lease-id': self._deserialize('str', response.headers.get('x-ms-lease-id')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + acquire_lease.metadata = {'url': '/{containerName}/{blob}'} + + async def release_lease(self, lease_id, timeout=None, request_id=None, modified_access_conditions=None, *, cls=None, **kwargs): + """[Update] The Lease Blob operation establishes and manages a lock on a + blob for write and delete operations. + + :param lease_id: Specifies the current lease ID on the resource. + :type lease_id: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + + comp = "lease" + action = "release" + + # Construct URL + url = self.release_lease.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-lease-action'] = self._serialize.header("action", action, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + release_lease.metadata = {'url': '/{containerName}/{blob}'} + + async def renew_lease(self, lease_id, timeout=None, request_id=None, modified_access_conditions=None, *, cls=None, **kwargs): + """[Update] The Lease Blob operation establishes and manages a lock on a + blob for write and delete operations. + + :param lease_id: Specifies the current lease ID on the resource. + :type lease_id: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + + comp = "lease" + action = "renew" + + # Construct URL + url = self.renew_lease.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-lease-action'] = self._serialize.header("action", action, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-lease-id': self._deserialize('str', response.headers.get('x-ms-lease-id')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + renew_lease.metadata = {'url': '/{containerName}/{blob}'} + + async def change_lease(self, lease_id, proposed_lease_id, timeout=None, request_id=None, modified_access_conditions=None, *, cls=None, **kwargs): + """[Update] The Lease Blob operation establishes and manages a lock on a + blob for write and delete operations. + + :param lease_id: Specifies the current lease ID on the resource. + :type lease_id: str + :param proposed_lease_id: Proposed lease ID, in a GUID string format. + The Blob service returns 400 (Invalid request) if the proposed lease + ID is not in the correct format. See Guid Constructor (String) for a + list of valid GUID string formats. + :type proposed_lease_id: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + + comp = "lease" + action = "change" + + # Construct URL + url = self.change_lease.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + header_parameters['x-ms-proposed-lease-id'] = self._serialize.header("proposed_lease_id", proposed_lease_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-lease-action'] = self._serialize.header("action", action, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-lease-id': self._deserialize('str', response.headers.get('x-ms-lease-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + change_lease.metadata = {'url': '/{containerName}/{blob}'} + + async def break_lease(self, timeout=None, break_period=None, request_id=None, modified_access_conditions=None, *, cls=None, **kwargs): + """[Update] The Lease Blob operation establishes and manages a lock on a + blob for write and delete operations. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param break_period: For a break operation, proposed duration the + lease should continue before it is broken, in seconds, between 0 and + 60. This break period is only used if it is shorter than the time + remaining on the lease. If longer, the time remaining on the lease is + used. A new lease will not be available before the break period has + expired, but the lease may be held for longer than the break period. + If this header does not appear with a break operation, a + fixed-duration lease breaks after the remaining lease period elapses, + and an infinite lease breaks immediately. + :type break_period: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + + comp = "lease" + action = "break" + + # Construct URL + url = self.break_lease.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + if break_period is not None: + header_parameters['x-ms-lease-break-period'] = self._serialize.header("break_period", break_period, 'int') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-lease-action'] = self._serialize.header("action", action, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-lease-time': self._deserialize('int', response.headers.get('x-ms-lease-time')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + break_lease.metadata = {'url': '/{containerName}/{blob}'} + + async def create_snapshot(self, timeout=None, metadata=None, request_id=None, cpk_info=None, cpk_scope_info=None, modified_access_conditions=None, lease_access_conditions=None, *, cls=None, **kwargs): + """The Create Snapshot operation creates a read-only snapshot of a blob. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param metadata: Optional. Specifies a user-defined name-value pair + associated with the blob. If no name-value pairs are specified, the + operation will copy the metadata from the source blob or file to the + destination blob. If one or more name-value pairs are specified, the + destination blob is created with the specified metadata, and metadata + is not copied from the source blob or file. Note that beginning with + version 2009-09-19, metadata names must adhere to the naming rules for + C# identifiers. See Naming and Referencing Containers, Blobs, and + Metadata for more information. + :type metadata: str + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo + :param cpk_scope_info: Additional parameters for the operation + :type cpk_scope_info: ~azure.storage.blob.models.CpkScopeInfo + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm + encryption_scope = None + if cpk_scope_info is not None: + encryption_scope = cpk_scope_info.encryption_scope + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + + comp = "snapshot" + + # Construct URL + url = self.create_snapshot.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + if metadata is not None: + header_parameters['x-ms-meta'] = self._serialize.header("metadata", metadata, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') + if encryption_scope is not None: + header_parameters['x-ms-encryption-scope'] = self._serialize.header("encryption_scope", encryption_scope, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'x-ms-snapshot': self._deserialize('str', response.headers.get('x-ms-snapshot')), + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-version-id': self._deserialize('str', response.headers.get('x-ms-version-id')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + create_snapshot.metadata = {'url': '/{containerName}/{blob}'} + + async def start_copy_from_url(self, copy_source, timeout=None, metadata=None, tier=None, rehydrate_priority=None, request_id=None, blob_tags_string=None, seal_blob=None, source_modified_access_conditions=None, modified_access_conditions=None, lease_access_conditions=None, *, cls=None, **kwargs): + """The Start Copy From URL operation copies a blob or an internet resource + to a new blob. + + :param copy_source: Specifies the name of the source page blob + snapshot. This value is a URL of up to 2 KB in length that specifies a + page blob snapshot. The value should be URL-encoded as it would appear + in a request URI. The source blob must either be public or must be + authenticated via a shared access signature. + :type copy_source: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param metadata: Optional. Specifies a user-defined name-value pair + associated with the blob. If no name-value pairs are specified, the + operation will copy the metadata from the source blob or file to the + destination blob. If one or more name-value pairs are specified, the + destination blob is created with the specified metadata, and metadata + is not copied from the source blob or file. Note that beginning with + version 2009-09-19, metadata names must adhere to the naming rules for + C# identifiers. See Naming and Referencing Containers, Blobs, and + Metadata for more information. + :type metadata: str + :param tier: Optional. Indicates the tier to be set on the blob. + Possible values include: 'P4', 'P6', 'P10', 'P15', 'P20', 'P30', + 'P40', 'P50', 'P60', 'P70', 'P80', 'Hot', 'Cool', 'Archive' + :type tier: str or ~azure.storage.blob.models.AccessTierOptional + :param rehydrate_priority: Optional: Indicates the priority with which + to rehydrate an archived blob. Possible values include: 'High', + 'Standard' + :type rehydrate_priority: str or + ~azure.storage.blob.models.RehydratePriority + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param blob_tags_string: Optional. Used to set blob tags in various + blob operations. + :type blob_tags_string: str + :param seal_blob: Overrides the sealed state of the destination blob. + Service version 2019-12-12 and newer. + :type seal_blob: bool + :param source_modified_access_conditions: Additional parameters for + the operation + :type source_modified_access_conditions: + ~azure.storage.blob.models.SourceModifiedAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + source_if_modified_since = None + if source_modified_access_conditions is not None: + source_if_modified_since = source_modified_access_conditions.source_if_modified_since + source_if_unmodified_since = None + if source_modified_access_conditions is not None: + source_if_unmodified_since = source_modified_access_conditions.source_if_unmodified_since + source_if_match = None + if source_modified_access_conditions is not None: + source_if_match = source_modified_access_conditions.source_if_match + source_if_none_match = None + if source_modified_access_conditions is not None: + source_if_none_match = source_modified_access_conditions.source_if_none_match + source_if_tags = None + if source_modified_access_conditions is not None: + source_if_tags = source_modified_access_conditions.source_if_tags + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + + # Construct URL + url = self.start_copy_from_url.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + + # Construct headers + header_parameters = {} + if metadata is not None: + header_parameters['x-ms-meta'] = self._serialize.header("metadata", metadata, 'str') + if tier is not None: + header_parameters['x-ms-access-tier'] = self._serialize.header("tier", tier, 'str') + if rehydrate_priority is not None: + header_parameters['x-ms-rehydrate-priority'] = self._serialize.header("rehydrate_priority", rehydrate_priority, 'str') + header_parameters['x-ms-copy-source'] = self._serialize.header("copy_source", copy_source, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if blob_tags_string is not None: + header_parameters['x-ms-tags'] = self._serialize.header("blob_tags_string", blob_tags_string, 'str') + if seal_blob is not None: + header_parameters['x-ms-seal-blob'] = self._serialize.header("seal_blob", seal_blob, 'bool') + if source_if_modified_since is not None: + header_parameters['x-ms-source-if-modified-since'] = self._serialize.header("source_if_modified_since", source_if_modified_since, 'rfc-1123') + if source_if_unmodified_since is not None: + header_parameters['x-ms-source-if-unmodified-since'] = self._serialize.header("source_if_unmodified_since", source_if_unmodified_since, 'rfc-1123') + if source_if_match is not None: + header_parameters['x-ms-source-if-match'] = self._serialize.header("source_if_match", source_if_match, 'str') + if source_if_none_match is not None: + header_parameters['x-ms-source-if-none-match'] = self._serialize.header("source_if_none_match", source_if_none_match, 'str') + if source_if_tags is not None: + header_parameters['x-ms-source-if-tags'] = self._serialize.header("source_if_tags", source_if_tags, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-version-id': self._deserialize('str', response.headers.get('x-ms-version-id')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-copy-id': self._deserialize('str', response.headers.get('x-ms-copy-id')), + 'x-ms-copy-status': self._deserialize(models.CopyStatusType, response.headers.get('x-ms-copy-status')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + start_copy_from_url.metadata = {'url': '/{containerName}/{blob}'} + + async def copy_from_url(self, copy_source, timeout=None, metadata=None, tier=None, request_id=None, source_content_md5=None, blob_tags_string=None, source_modified_access_conditions=None, modified_access_conditions=None, lease_access_conditions=None, *, cls=None, **kwargs): + """The Copy From URL operation copies a blob or an internet resource to a + new blob. It will not return a response until the copy is complete. + + :param copy_source: Specifies the name of the source page blob + snapshot. This value is a URL of up to 2 KB in length that specifies a + page blob snapshot. The value should be URL-encoded as it would appear + in a request URI. The source blob must either be public or must be + authenticated via a shared access signature. + :type copy_source: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param metadata: Optional. Specifies a user-defined name-value pair + associated with the blob. If no name-value pairs are specified, the + operation will copy the metadata from the source blob or file to the + destination blob. If one or more name-value pairs are specified, the + destination blob is created with the specified metadata, and metadata + is not copied from the source blob or file. Note that beginning with + version 2009-09-19, metadata names must adhere to the naming rules for + C# identifiers. See Naming and Referencing Containers, Blobs, and + Metadata for more information. + :type metadata: str + :param tier: Optional. Indicates the tier to be set on the blob. + Possible values include: 'P4', 'P6', 'P10', 'P15', 'P20', 'P30', + 'P40', 'P50', 'P60', 'P70', 'P80', 'Hot', 'Cool', 'Archive' + :type tier: str or ~azure.storage.blob.models.AccessTierOptional + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param source_content_md5: Specify the md5 calculated for the range of + bytes that must be read from the copy source. + :type source_content_md5: bytearray + :param blob_tags_string: Optional. Used to set blob tags in various + blob operations. + :type blob_tags_string: str + :param source_modified_access_conditions: Additional parameters for + the operation + :type source_modified_access_conditions: + ~azure.storage.blob.models.SourceModifiedAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + source_if_modified_since = None + if source_modified_access_conditions is not None: + source_if_modified_since = source_modified_access_conditions.source_if_modified_since + source_if_unmodified_since = None + if source_modified_access_conditions is not None: + source_if_unmodified_since = source_modified_access_conditions.source_if_unmodified_since + source_if_match = None + if source_modified_access_conditions is not None: + source_if_match = source_modified_access_conditions.source_if_match + source_if_none_match = None + if source_modified_access_conditions is not None: + source_if_none_match = source_modified_access_conditions.source_if_none_match + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + + # Construct URL + url = self.copy_from_url.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + + # Construct headers + header_parameters = {} + if metadata is not None: + header_parameters['x-ms-meta'] = self._serialize.header("metadata", metadata, 'str') + if tier is not None: + header_parameters['x-ms-access-tier'] = self._serialize.header("tier", tier, 'str') + header_parameters['x-ms-copy-source'] = self._serialize.header("copy_source", copy_source, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if source_content_md5 is not None: + header_parameters['x-ms-source-content-md5'] = self._serialize.header("source_content_md5", source_content_md5, 'bytearray') + if blob_tags_string is not None: + header_parameters['x-ms-tags'] = self._serialize.header("blob_tags_string", blob_tags_string, 'str') + header_parameters['x-ms-requires-sync'] = self._serialize.header("self.x_ms_requires_sync", self.x_ms_requires_sync, 'str') + if source_if_modified_since is not None: + header_parameters['x-ms-source-if-modified-since'] = self._serialize.header("source_if_modified_since", source_if_modified_since, 'rfc-1123') + if source_if_unmodified_since is not None: + header_parameters['x-ms-source-if-unmodified-since'] = self._serialize.header("source_if_unmodified_since", source_if_unmodified_since, 'rfc-1123') + if source_if_match is not None: + header_parameters['x-ms-source-if-match'] = self._serialize.header("source_if_match", source_if_match, 'str') + if source_if_none_match is not None: + header_parameters['x-ms-source-if-none-match'] = self._serialize.header("source_if_none_match", source_if_none_match, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-version-id': self._deserialize('str', response.headers.get('x-ms-version-id')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-copy-id': self._deserialize('str', response.headers.get('x-ms-copy-id')), + 'x-ms-copy-status': self._deserialize(models.SyncCopyStatusType, response.headers.get('x-ms-copy-status')), + 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'x-ms-content-crc64': self._deserialize('bytearray', response.headers.get('x-ms-content-crc64')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + copy_from_url.metadata = {'url': '/{containerName}/{blob}'} + + async def abort_copy_from_url(self, copy_id, timeout=None, request_id=None, lease_access_conditions=None, *, cls=None, **kwargs): + """The Abort Copy From URL operation aborts a pending Copy From URL + operation, and leaves a destination blob with zero length and full + metadata. + + :param copy_id: The copy identifier provided in the x-ms-copy-id + header of the original Copy Blob operation. + :type copy_id: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + + comp = "copy" + + # Construct URL + url = self.abort_copy_from_url.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['copyid'] = self._serialize.query("copy_id", copy_id, 'str') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-copy-action'] = self._serialize.header("self.x_ms_copy_action", self.x_ms_copy_action, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + abort_copy_from_url.metadata = {'url': '/{containerName}/{blob}'} + + async def set_tier(self, tier, snapshot=None, version_id=None, timeout=None, rehydrate_priority=None, request_id=None, lease_access_conditions=None, modified_access_conditions=None, *, cls=None, **kwargs): + """The Set Tier operation sets the tier on a blob. The operation is + allowed on a page blob in a premium storage account and on a block blob + in a blob storage account (locally redundant storage only). A premium + page blob's tier determines the allowed size, IOPS, and bandwidth of + the blob. A block blob's tier determines Hot/Cool/Archive storage type. + This operation does not update the blob's ETag. + + :param tier: Indicates the tier to be set on the blob. Possible values + include: 'P4', 'P6', 'P10', 'P15', 'P20', 'P30', 'P40', 'P50', 'P60', + 'P70', 'P80', 'Hot', 'Cool', 'Archive' + :type tier: str or ~azure.storage.blob.models.AccessTierRequired + :param snapshot: The snapshot parameter is an opaque DateTime value + that, when present, specifies the blob snapshot to retrieve. For more + information on working with blob snapshots, see Creating + a Snapshot of a Blob. + :type snapshot: str + :param version_id: The version id parameter is an opaque DateTime + value that, when present, specifies the version of the blob to operate + on. It's for service version 2019-10-10 and newer. + :type version_id: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param rehydrate_priority: Optional: Indicates the priority with which + to rehydrate an archived blob. Possible values include: 'High', + 'Standard' + :type rehydrate_priority: str or + ~azure.storage.blob.models.RehydratePriority + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + + comp = "tier" + + # Construct URL + url = self.set_tier.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if snapshot is not None: + query_parameters['snapshot'] = self._serialize.query("snapshot", snapshot, 'str') + if version_id is not None: + query_parameters['versionid'] = self._serialize.query("version_id", version_id, 'str') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-access-tier'] = self._serialize.header("tier", tier, 'str') + if rehydrate_priority is not None: + header_parameters['x-ms-rehydrate-priority'] = self._serialize.header("rehydrate_priority", rehydrate_priority, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + set_tier.metadata = {'url': '/{containerName}/{blob}'} + + async def get_account_info(self, *, cls=None, **kwargs): + """Returns the sku name and account kind . + + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + comp = "properties" + + # Construct URL + url = self.get_account_info.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['restype'] = self._serialize.query("self.restype", self.restype, 'str') + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-sku-name': self._deserialize(models.SkuName, response.headers.get('x-ms-sku-name')), + 'x-ms-account-kind': self._deserialize(models.AccountKind, response.headers.get('x-ms-account-kind')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + get_account_info.metadata = {'url': '/{containerName}/{blob}'} + + async def query(self, query_request=None, snapshot=None, timeout=None, request_id=None, lease_access_conditions=None, cpk_info=None, modified_access_conditions=None, *, cls=None, **kwargs): + """The Query operation enables users to select/project on blob data by + providing simple query expressions. + + :param query_request: the query request + :type query_request: ~azure.storage.blob.models.QueryRequest + :param snapshot: The snapshot parameter is an opaque DateTime value + that, when present, specifies the blob snapshot to retrieve. For more + information on working with blob snapshots, see Creating + a Snapshot of a Blob. + :type snapshot: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: object or the result of cls(response) + :rtype: Generator + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + + comp = "query" + + # Construct URL + url = self.query.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if snapshot is not None: + query_parameters['snapshot'] = self._serialize.query("snapshot", snapshot, 'str') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/xml' + header_parameters['Content-Type'] = 'application/xml; charset=utf-8' + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + + # Construct body + if query_request is not None: + body_content = self._serialize.body(query_request, 'QueryRequest') + else: + body_content = None + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + pipeline_response = await self._client._pipeline.run(request, stream=True, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 206]: + await response.load_body() + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = response.stream_download(self._client._pipeline) + header_dict = { + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-meta': self._deserialize('{str}', response.headers.get('x-ms-meta')), + 'Content-Length': self._deserialize('long', response.headers.get('Content-Length')), + 'Content-Type': self._deserialize('str', response.headers.get('Content-Type')), + 'Content-Range': self._deserialize('str', response.headers.get('Content-Range')), + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'Content-Encoding': self._deserialize('str', response.headers.get('Content-Encoding')), + 'Cache-Control': self._deserialize('str', response.headers.get('Cache-Control')), + 'Content-Disposition': self._deserialize('str', response.headers.get('Content-Disposition')), + 'Content-Language': self._deserialize('str', response.headers.get('Content-Language')), + 'x-ms-blob-sequence-number': self._deserialize('long', response.headers.get('x-ms-blob-sequence-number')), + 'x-ms-blob-type': self._deserialize(models.BlobType, response.headers.get('x-ms-blob-type')), + 'x-ms-copy-completion-time': self._deserialize('rfc-1123', response.headers.get('x-ms-copy-completion-time')), + 'x-ms-copy-status-description': self._deserialize('str', response.headers.get('x-ms-copy-status-description')), + 'x-ms-copy-id': self._deserialize('str', response.headers.get('x-ms-copy-id')), + 'x-ms-copy-progress': self._deserialize('str', response.headers.get('x-ms-copy-progress')), + 'x-ms-copy-source': self._deserialize('str', response.headers.get('x-ms-copy-source')), + 'x-ms-copy-status': self._deserialize(models.CopyStatusType, response.headers.get('x-ms-copy-status')), + 'x-ms-lease-duration': self._deserialize(models.LeaseDurationType, response.headers.get('x-ms-lease-duration')), + 'x-ms-lease-state': self._deserialize(models.LeaseStateType, response.headers.get('x-ms-lease-state')), + 'x-ms-lease-status': self._deserialize(models.LeaseStatusType, response.headers.get('x-ms-lease-status')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Accept-Ranges': self._deserialize('str', response.headers.get('Accept-Ranges')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-blob-committed-block-count': self._deserialize('int', response.headers.get('x-ms-blob-committed-block-count')), + 'x-ms-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-server-encrypted')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), + 'x-ms-encryption-scope': self._deserialize('str', response.headers.get('x-ms-encryption-scope')), + 'x-ms-blob-content-md5': self._deserialize('bytearray', response.headers.get('x-ms-blob-content-md5')), + 'x-ms-content-crc64': self._deserialize('bytearray', response.headers.get('x-ms-content-crc64')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + if response.status_code == 206: + deserialized = response.stream_download(self._client._pipeline) + header_dict = { + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-meta': self._deserialize('{str}', response.headers.get('x-ms-meta')), + 'Content-Length': self._deserialize('long', response.headers.get('Content-Length')), + 'Content-Type': self._deserialize('str', response.headers.get('Content-Type')), + 'Content-Range': self._deserialize('str', response.headers.get('Content-Range')), + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'Content-Encoding': self._deserialize('str', response.headers.get('Content-Encoding')), + 'Cache-Control': self._deserialize('str', response.headers.get('Cache-Control')), + 'Content-Disposition': self._deserialize('str', response.headers.get('Content-Disposition')), + 'Content-Language': self._deserialize('str', response.headers.get('Content-Language')), + 'x-ms-blob-sequence-number': self._deserialize('long', response.headers.get('x-ms-blob-sequence-number')), + 'x-ms-blob-type': self._deserialize(models.BlobType, response.headers.get('x-ms-blob-type')), + 'x-ms-copy-completion-time': self._deserialize('rfc-1123', response.headers.get('x-ms-copy-completion-time')), + 'x-ms-copy-status-description': self._deserialize('str', response.headers.get('x-ms-copy-status-description')), + 'x-ms-copy-id': self._deserialize('str', response.headers.get('x-ms-copy-id')), + 'x-ms-copy-progress': self._deserialize('str', response.headers.get('x-ms-copy-progress')), + 'x-ms-copy-source': self._deserialize('str', response.headers.get('x-ms-copy-source')), + 'x-ms-copy-status': self._deserialize(models.CopyStatusType, response.headers.get('x-ms-copy-status')), + 'x-ms-lease-duration': self._deserialize(models.LeaseDurationType, response.headers.get('x-ms-lease-duration')), + 'x-ms-lease-state': self._deserialize(models.LeaseStateType, response.headers.get('x-ms-lease-state')), + 'x-ms-lease-status': self._deserialize(models.LeaseStatusType, response.headers.get('x-ms-lease-status')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Accept-Ranges': self._deserialize('str', response.headers.get('Accept-Ranges')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-blob-committed-block-count': self._deserialize('int', response.headers.get('x-ms-blob-committed-block-count')), + 'x-ms-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-server-encrypted')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), + 'x-ms-encryption-scope': self._deserialize('str', response.headers.get('x-ms-encryption-scope')), + 'x-ms-blob-content-md5': self._deserialize('bytearray', response.headers.get('x-ms-blob-content-md5')), + 'x-ms-content-crc64': self._deserialize('bytearray', response.headers.get('x-ms-content-crc64')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + + if cls: + return cls(response, deserialized, header_dict) + + return deserialized + query.metadata = {'url': '/{containerName}/{blob}'} + + async def get_tags(self, timeout=None, request_id=None, snapshot=None, version_id=None, modified_access_conditions=None, *, cls=None, **kwargs): + """The Get Tags operation enables users to get the tags associated with a + blob. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param snapshot: The snapshot parameter is an opaque DateTime value + that, when present, specifies the blob snapshot to retrieve. For more + information on working with blob snapshots, see Creating + a Snapshot of a Blob. + :type snapshot: str + :param version_id: The version id parameter is an opaque DateTime + value that, when present, specifies the version of the blob to operate + on. It's for service version 2019-10-10 and newer. + :type version_id: str + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: BlobTags or the result of cls(response) + :rtype: ~azure.storage.blob.models.BlobTags + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + + comp = "tags" + + # Construct URL + url = self.get_tags.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + if snapshot is not None: + query_parameters['snapshot'] = self._serialize.query("snapshot", snapshot, 'str') + if version_id is not None: + query_parameters['versionid'] = self._serialize.query("version_id", version_id, 'str') + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/xml' + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('BlobTags', response) + header_dict = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + + if cls: + return cls(response, deserialized, header_dict) + + return deserialized + get_tags.metadata = {'url': '/{containerName}/{blob}'} + + async def set_tags(self, timeout=None, version_id=None, transactional_content_md5=None, transactional_content_crc64=None, request_id=None, tags=None, modified_access_conditions=None, *, cls=None, **kwargs): + """The Set Tags operation enables users to set tags on a blob. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param version_id: The version id parameter is an opaque DateTime + value that, when present, specifies the version of the blob to operate + on. It's for service version 2019-10-10 and newer. + :type version_id: str + :param transactional_content_md5: Specify the transactional md5 for + the body, to be validated by the service. + :type transactional_content_md5: bytearray + :param transactional_content_crc64: Specify the transactional crc64 + for the body, to be validated by the service. + :type transactional_content_crc64: bytearray + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param tags: Blob tags + :type tags: ~azure.storage.blob.models.BlobTags + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + + comp = "tags" + + # Construct URL + url = self.set_tags.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + if version_id is not None: + query_parameters['versionid'] = self._serialize.query("version_id", version_id, 'str') + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/xml; charset=utf-8' + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if transactional_content_md5 is not None: + header_parameters['Content-MD5'] = self._serialize.header("transactional_content_md5", transactional_content_md5, 'bytearray') + if transactional_content_crc64 is not None: + header_parameters['x-ms-content-crc64'] = self._serialize.header("transactional_content_crc64", transactional_content_crc64, 'bytearray') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + + # Construct body + if tags is not None: + body_content = self._serialize.body(tags, 'BlobTags') + else: + body_content = None + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + set_tags.metadata = {'url': '/{containerName}/{blob}'} diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/aio/operations_async/_block_blob_operations_async.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/aio/operations_async/_block_blob_operations_async.py new file mode 100644 index 00000000000..e06937056b0 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/aio/operations_async/_block_blob_operations_async.py @@ -0,0 +1,833 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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.core.exceptions import map_error + +from ... import models + + +class BlockBlobOperations: + """BlockBlobOperations async operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :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 x_ms_blob_type: Specifies the type of blob to create: block blob, page blob, or append blob. Constant value: "BlockBlob". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + + self._config = config + self.x_ms_blob_type = "BlockBlob" + + async def upload(self, body, content_length, timeout=None, transactional_content_md5=None, metadata=None, tier=None, request_id=None, blob_tags_string=None, blob_http_headers=None, lease_access_conditions=None, cpk_info=None, cpk_scope_info=None, modified_access_conditions=None, *, cls=None, **kwargs): + """The Upload Block Blob operation updates the content of an existing + block blob. Updating an existing block blob overwrites any existing + metadata on the blob. Partial updates are not supported with Put Blob; + the content of the existing blob is overwritten with the content of the + new blob. To perform a partial update of the content of a block blob, + use the Put Block List operation. + + :param body: Initial data + :type body: Generator + :param content_length: The length of the request. + :type content_length: long + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param transactional_content_md5: Specify the transactional md5 for + the body, to be validated by the service. + :type transactional_content_md5: bytearray + :param metadata: Optional. Specifies a user-defined name-value pair + associated with the blob. If no name-value pairs are specified, the + operation will copy the metadata from the source blob or file to the + destination blob. If one or more name-value pairs are specified, the + destination blob is created with the specified metadata, and metadata + is not copied from the source blob or file. Note that beginning with + version 2009-09-19, metadata names must adhere to the naming rules for + C# identifiers. See Naming and Referencing Containers, Blobs, and + Metadata for more information. + :type metadata: str + :param tier: Optional. Indicates the tier to be set on the blob. + Possible values include: 'P4', 'P6', 'P10', 'P15', 'P20', 'P30', + 'P40', 'P50', 'P60', 'P70', 'P80', 'Hot', 'Cool', 'Archive' + :type tier: str or ~azure.storage.blob.models.AccessTierOptional + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param blob_tags_string: Optional. Used to set blob tags in various + blob operations. + :type blob_tags_string: str + :param blob_http_headers: Additional parameters for the operation + :type blob_http_headers: ~azure.storage.blob.models.BlobHTTPHeaders + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo + :param cpk_scope_info: Additional parameters for the operation + :type cpk_scope_info: ~azure.storage.blob.models.CpkScopeInfo + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + blob_content_type = None + if blob_http_headers is not None: + blob_content_type = blob_http_headers.blob_content_type + blob_content_encoding = None + if blob_http_headers is not None: + blob_content_encoding = blob_http_headers.blob_content_encoding + blob_content_language = None + if blob_http_headers is not None: + blob_content_language = blob_http_headers.blob_content_language + blob_content_md5 = None + if blob_http_headers is not None: + blob_content_md5 = blob_http_headers.blob_content_md5 + blob_cache_control = None + if blob_http_headers is not None: + blob_cache_control = blob_http_headers.blob_cache_control + blob_content_disposition = None + if blob_http_headers is not None: + blob_content_disposition = blob_http_headers.blob_content_disposition + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm + encryption_scope = None + if cpk_scope_info is not None: + encryption_scope = cpk_scope_info.encryption_scope + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + + # Construct URL + url = self.upload.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/octet-stream' + if transactional_content_md5 is not None: + header_parameters['Content-MD5'] = self._serialize.header("transactional_content_md5", transactional_content_md5, 'bytearray') + header_parameters['Content-Length'] = self._serialize.header("content_length", content_length, 'long') + if metadata is not None: + header_parameters['x-ms-meta'] = self._serialize.header("metadata", metadata, 'str') + if tier is not None: + header_parameters['x-ms-access-tier'] = self._serialize.header("tier", tier, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if blob_tags_string is not None: + header_parameters['x-ms-tags'] = self._serialize.header("blob_tags_string", blob_tags_string, 'str') + header_parameters['x-ms-blob-type'] = self._serialize.header("self.x_ms_blob_type", self.x_ms_blob_type, 'str') + if blob_content_type is not None: + header_parameters['x-ms-blob-content-type'] = self._serialize.header("blob_content_type", blob_content_type, 'str') + if blob_content_encoding is not None: + header_parameters['x-ms-blob-content-encoding'] = self._serialize.header("blob_content_encoding", blob_content_encoding, 'str') + if blob_content_language is not None: + header_parameters['x-ms-blob-content-language'] = self._serialize.header("blob_content_language", blob_content_language, 'str') + if blob_content_md5 is not None: + header_parameters['x-ms-blob-content-md5'] = self._serialize.header("blob_content_md5", blob_content_md5, 'bytearray') + if blob_cache_control is not None: + header_parameters['x-ms-blob-cache-control'] = self._serialize.header("blob_cache_control", blob_cache_control, 'str') + if blob_content_disposition is not None: + header_parameters['x-ms-blob-content-disposition'] = self._serialize.header("blob_content_disposition", blob_content_disposition, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') + if encryption_scope is not None: + header_parameters['x-ms-encryption-scope'] = self._serialize.header("encryption_scope", encryption_scope, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + + # Construct body + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, stream_content=body) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-version-id': self._deserialize('str', response.headers.get('x-ms-version-id')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), + 'x-ms-encryption-scope': self._deserialize('str', response.headers.get('x-ms-encryption-scope')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + upload.metadata = {'url': '/{containerName}/{blob}'} + + async def stage_block(self, block_id, content_length, body, transactional_content_md5=None, transactional_content_crc64=None, timeout=None, request_id=None, lease_access_conditions=None, cpk_info=None, cpk_scope_info=None, *, cls=None, **kwargs): + """The Stage Block operation creates a new block to be committed as part + of a blob. + + :param block_id: A valid Base64 string value that identifies the + block. Prior to encoding, the string must be less than or equal to 64 + bytes in size. For a given blob, the length of the value specified for + the blockid parameter must be the same size for each block. + :type block_id: str + :param content_length: The length of the request. + :type content_length: long + :param body: Initial data + :type body: Generator + :param transactional_content_md5: Specify the transactional md5 for + the body, to be validated by the service. + :type transactional_content_md5: bytearray + :param transactional_content_crc64: Specify the transactional crc64 + for the body, to be validated by the service. + :type transactional_content_crc64: bytearray + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo + :param cpk_scope_info: Additional parameters for the operation + :type cpk_scope_info: ~azure.storage.blob.models.CpkScopeInfo + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm + encryption_scope = None + if cpk_scope_info is not None: + encryption_scope = cpk_scope_info.encryption_scope + + comp = "block" + + # Construct URL + url = self.stage_block.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['blockid'] = self._serialize.query("block_id", block_id, 'str') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/octet-stream' + header_parameters['Content-Length'] = self._serialize.header("content_length", content_length, 'long') + if transactional_content_md5 is not None: + header_parameters['Content-MD5'] = self._serialize.header("transactional_content_md5", transactional_content_md5, 'bytearray') + if transactional_content_crc64 is not None: + header_parameters['x-ms-content-crc64'] = self._serialize.header("transactional_content_crc64", transactional_content_crc64, 'bytearray') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') + if encryption_scope is not None: + header_parameters['x-ms-encryption-scope'] = self._serialize.header("encryption_scope", encryption_scope, 'str') + + # Construct body + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, stream_content=body) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-content-crc64': self._deserialize('bytearray', response.headers.get('x-ms-content-crc64')), + 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), + 'x-ms-encryption-scope': self._deserialize('str', response.headers.get('x-ms-encryption-scope')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + stage_block.metadata = {'url': '/{containerName}/{blob}'} + + async def stage_block_from_url(self, block_id, content_length, source_url, source_range=None, source_content_md5=None, source_contentcrc64=None, timeout=None, request_id=None, cpk_info=None, cpk_scope_info=None, lease_access_conditions=None, source_modified_access_conditions=None, *, cls=None, **kwargs): + """The Stage Block operation creates a new block to be committed as part + of a blob where the contents are read from a URL. + + :param block_id: A valid Base64 string value that identifies the + block. Prior to encoding, the string must be less than or equal to 64 + bytes in size. For a given blob, the length of the value specified for + the blockid parameter must be the same size for each block. + :type block_id: str + :param content_length: The length of the request. + :type content_length: long + :param source_url: Specify a URL to the copy source. + :type source_url: str + :param source_range: Bytes of source data in the specified range. + :type source_range: str + :param source_content_md5: Specify the md5 calculated for the range of + bytes that must be read from the copy source. + :type source_content_md5: bytearray + :param source_contentcrc64: Specify the crc64 calculated for the range + of bytes that must be read from the copy source. + :type source_contentcrc64: bytearray + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo + :param cpk_scope_info: Additional parameters for the operation + :type cpk_scope_info: ~azure.storage.blob.models.CpkScopeInfo + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param source_modified_access_conditions: Additional parameters for + the operation + :type source_modified_access_conditions: + ~azure.storage.blob.models.SourceModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm + encryption_scope = None + if cpk_scope_info is not None: + encryption_scope = cpk_scope_info.encryption_scope + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + source_if_modified_since = None + if source_modified_access_conditions is not None: + source_if_modified_since = source_modified_access_conditions.source_if_modified_since + source_if_unmodified_since = None + if source_modified_access_conditions is not None: + source_if_unmodified_since = source_modified_access_conditions.source_if_unmodified_since + source_if_match = None + if source_modified_access_conditions is not None: + source_if_match = source_modified_access_conditions.source_if_match + source_if_none_match = None + if source_modified_access_conditions is not None: + source_if_none_match = source_modified_access_conditions.source_if_none_match + + comp = "block" + + # Construct URL + url = self.stage_block_from_url.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['blockid'] = self._serialize.query("block_id", block_id, 'str') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Length'] = self._serialize.header("content_length", content_length, 'long') + header_parameters['x-ms-copy-source'] = self._serialize.header("source_url", source_url, 'str') + if source_range is not None: + header_parameters['x-ms-source-range'] = self._serialize.header("source_range", source_range, 'str') + if source_content_md5 is not None: + header_parameters['x-ms-source-content-md5'] = self._serialize.header("source_content_md5", source_content_md5, 'bytearray') + if source_contentcrc64 is not None: + header_parameters['x-ms-source-content-crc64'] = self._serialize.header("source_contentcrc64", source_contentcrc64, 'bytearray') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') + if encryption_scope is not None: + header_parameters['x-ms-encryption-scope'] = self._serialize.header("encryption_scope", encryption_scope, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if source_if_modified_since is not None: + header_parameters['x-ms-source-if-modified-since'] = self._serialize.header("source_if_modified_since", source_if_modified_since, 'rfc-1123') + if source_if_unmodified_since is not None: + header_parameters['x-ms-source-if-unmodified-since'] = self._serialize.header("source_if_unmodified_since", source_if_unmodified_since, 'rfc-1123') + if source_if_match is not None: + header_parameters['x-ms-source-if-match'] = self._serialize.header("source_if_match", source_if_match, 'str') + if source_if_none_match is not None: + header_parameters['x-ms-source-if-none-match'] = self._serialize.header("source_if_none_match", source_if_none_match, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'x-ms-content-crc64': self._deserialize('bytearray', response.headers.get('x-ms-content-crc64')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), + 'x-ms-encryption-scope': self._deserialize('str', response.headers.get('x-ms-encryption-scope')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + stage_block_from_url.metadata = {'url': '/{containerName}/{blob}'} + + async def commit_block_list(self, blocks, timeout=None, transactional_content_md5=None, transactional_content_crc64=None, metadata=None, tier=None, request_id=None, blob_tags_string=None, blob_http_headers=None, lease_access_conditions=None, cpk_info=None, cpk_scope_info=None, modified_access_conditions=None, *, cls=None, **kwargs): + """The Commit Block List operation writes a blob by specifying the list of + block IDs that make up the blob. In order to be written as part of a + blob, a block must have been successfully written to the server in a + prior Put Block operation. You can call Put Block List to update a blob + by uploading only those blocks that have changed, then committing the + new and existing blocks together. You can do this by specifying whether + to commit a block from the committed block list or from the uncommitted + block list, or to commit the most recently uploaded version of the + block, whichever list it may belong to. + + :param blocks: + :type blocks: ~azure.storage.blob.models.BlockLookupList + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param transactional_content_md5: Specify the transactional md5 for + the body, to be validated by the service. + :type transactional_content_md5: bytearray + :param transactional_content_crc64: Specify the transactional crc64 + for the body, to be validated by the service. + :type transactional_content_crc64: bytearray + :param metadata: Optional. Specifies a user-defined name-value pair + associated with the blob. If no name-value pairs are specified, the + operation will copy the metadata from the source blob or file to the + destination blob. If one or more name-value pairs are specified, the + destination blob is created with the specified metadata, and metadata + is not copied from the source blob or file. Note that beginning with + version 2009-09-19, metadata names must adhere to the naming rules for + C# identifiers. See Naming and Referencing Containers, Blobs, and + Metadata for more information. + :type metadata: str + :param tier: Optional. Indicates the tier to be set on the blob. + Possible values include: 'P4', 'P6', 'P10', 'P15', 'P20', 'P30', + 'P40', 'P50', 'P60', 'P70', 'P80', 'Hot', 'Cool', 'Archive' + :type tier: str or ~azure.storage.blob.models.AccessTierOptional + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param blob_tags_string: Optional. Used to set blob tags in various + blob operations. + :type blob_tags_string: str + :param blob_http_headers: Additional parameters for the operation + :type blob_http_headers: ~azure.storage.blob.models.BlobHTTPHeaders + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo + :param cpk_scope_info: Additional parameters for the operation + :type cpk_scope_info: ~azure.storage.blob.models.CpkScopeInfo + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + blob_cache_control = None + if blob_http_headers is not None: + blob_cache_control = blob_http_headers.blob_cache_control + blob_content_type = None + if blob_http_headers is not None: + blob_content_type = blob_http_headers.blob_content_type + blob_content_encoding = None + if blob_http_headers is not None: + blob_content_encoding = blob_http_headers.blob_content_encoding + blob_content_language = None + if blob_http_headers is not None: + blob_content_language = blob_http_headers.blob_content_language + blob_content_md5 = None + if blob_http_headers is not None: + blob_content_md5 = blob_http_headers.blob_content_md5 + blob_content_disposition = None + if blob_http_headers is not None: + blob_content_disposition = blob_http_headers.blob_content_disposition + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm + encryption_scope = None + if cpk_scope_info is not None: + encryption_scope = cpk_scope_info.encryption_scope + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + + comp = "blocklist" + + # Construct URL + url = self.commit_block_list.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/xml; charset=utf-8' + if transactional_content_md5 is not None: + header_parameters['Content-MD5'] = self._serialize.header("transactional_content_md5", transactional_content_md5, 'bytearray') + if transactional_content_crc64 is not None: + header_parameters['x-ms-content-crc64'] = self._serialize.header("transactional_content_crc64", transactional_content_crc64, 'bytearray') + if metadata is not None: + header_parameters['x-ms-meta'] = self._serialize.header("metadata", metadata, 'str') + if tier is not None: + header_parameters['x-ms-access-tier'] = self._serialize.header("tier", tier, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if blob_tags_string is not None: + header_parameters['x-ms-tags'] = self._serialize.header("blob_tags_string", blob_tags_string, 'str') + if blob_cache_control is not None: + header_parameters['x-ms-blob-cache-control'] = self._serialize.header("blob_cache_control", blob_cache_control, 'str') + if blob_content_type is not None: + header_parameters['x-ms-blob-content-type'] = self._serialize.header("blob_content_type", blob_content_type, 'str') + if blob_content_encoding is not None: + header_parameters['x-ms-blob-content-encoding'] = self._serialize.header("blob_content_encoding", blob_content_encoding, 'str') + if blob_content_language is not None: + header_parameters['x-ms-blob-content-language'] = self._serialize.header("blob_content_language", blob_content_language, 'str') + if blob_content_md5 is not None: + header_parameters['x-ms-blob-content-md5'] = self._serialize.header("blob_content_md5", blob_content_md5, 'bytearray') + if blob_content_disposition is not None: + header_parameters['x-ms-blob-content-disposition'] = self._serialize.header("blob_content_disposition", blob_content_disposition, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') + if encryption_scope is not None: + header_parameters['x-ms-encryption-scope'] = self._serialize.header("encryption_scope", encryption_scope, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + + # Construct body + body_content = self._serialize.body(blocks, 'BlockLookupList') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'x-ms-content-crc64': self._deserialize('bytearray', response.headers.get('x-ms-content-crc64')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-version-id': self._deserialize('str', response.headers.get('x-ms-version-id')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), + 'x-ms-encryption-scope': self._deserialize('str', response.headers.get('x-ms-encryption-scope')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + commit_block_list.metadata = {'url': '/{containerName}/{blob}'} + + async def get_block_list(self, list_type="committed", snapshot=None, timeout=None, request_id=None, lease_access_conditions=None, modified_access_conditions=None, *, cls=None, **kwargs): + """The Get Block List operation retrieves the list of blocks that have + been uploaded as part of a block blob. + + :param list_type: Specifies whether to return the list of committed + blocks, the list of uncommitted blocks, or both lists together. + Possible values include: 'committed', 'uncommitted', 'all' + :type list_type: str or ~azure.storage.blob.models.BlockListType + :param snapshot: The snapshot parameter is an opaque DateTime value + that, when present, specifies the blob snapshot to retrieve. For more + information on working with blob snapshots, see Creating + a Snapshot of a Blob. + :type snapshot: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: BlockList or the result of cls(response) + :rtype: ~azure.storage.blob.models.BlockList + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + + comp = "blocklist" + + # Construct URL + url = self.get_block_list.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if snapshot is not None: + query_parameters['snapshot'] = self._serialize.query("snapshot", snapshot, 'str') + query_parameters['blocklisttype'] = self._serialize.query("list_type", list_type, 'BlockListType') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/xml' + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('BlockList', response) + header_dict = { + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Content-Type': self._deserialize('str', response.headers.get('Content-Type')), + 'x-ms-blob-content-length': self._deserialize('long', response.headers.get('x-ms-blob-content-length')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + + if cls: + return cls(response, deserialized, header_dict) + + return deserialized + get_block_list.metadata = {'url': '/{containerName}/{blob}'} diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/aio/operations_async/_container_operations_async.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/aio/operations_async/_container_operations_async.py new file mode 100644 index 00000000000..b7e1eb840e7 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/aio/operations_async/_container_operations_async.py @@ -0,0 +1,1400 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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.core.exceptions import map_error + +from ... import models + + +class ContainerOperations: + """ContainerOperations async operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + + self._config = config + + async def create(self, timeout=None, metadata=None, access=None, request_id=None, container_cpk_scope_info=None, *, cls=None, **kwargs): + """creates a new container under the specified account. If the container + with the same name already exists, the operation fails. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param metadata: Optional. Specifies a user-defined name-value pair + associated with the blob. If no name-value pairs are specified, the + operation will copy the metadata from the source blob or file to the + destination blob. If one or more name-value pairs are specified, the + destination blob is created with the specified metadata, and metadata + is not copied from the source blob or file. Note that beginning with + version 2009-09-19, metadata names must adhere to the naming rules for + C# identifiers. See Naming and Referencing Containers, Blobs, and + Metadata for more information. + :type metadata: str + :param access: Specifies whether data in the container may be accessed + publicly and the level of access. Possible values include: + 'container', 'blob' + :type access: str or ~azure.storage.blob.models.PublicAccessType + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param container_cpk_scope_info: Additional parameters for the + operation + :type container_cpk_scope_info: + ~azure.storage.blob.models.ContainerCpkScopeInfo + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + default_encryption_scope = None + if container_cpk_scope_info is not None: + default_encryption_scope = container_cpk_scope_info.default_encryption_scope + prevent_encryption_scope_override = None + if container_cpk_scope_info is not None: + prevent_encryption_scope_override = container_cpk_scope_info.prevent_encryption_scope_override + + restype = "container" + + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['restype'] = self._serialize.query("restype", restype, 'str') + + # Construct headers + header_parameters = {} + if metadata is not None: + header_parameters['x-ms-meta'] = self._serialize.header("metadata", metadata, 'str') + if access is not None: + header_parameters['x-ms-blob-public-access'] = self._serialize.header("access", access, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if default_encryption_scope is not None: + header_parameters['x-ms-default-encryption-scope'] = self._serialize.header("default_encryption_scope", default_encryption_scope, 'str') + if prevent_encryption_scope_override is not None: + header_parameters['x-ms-deny-encryption-scope-override'] = self._serialize.header("prevent_encryption_scope_override", prevent_encryption_scope_override, 'bool') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + create.metadata = {'url': '/{containerName}'} + + async def get_properties(self, timeout=None, request_id=None, lease_access_conditions=None, *, cls=None, **kwargs): + """returns all user-defined metadata and system properties for the + specified container. The data returned does not include the container's + list of blobs. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + + restype = "container" + + # Construct URL + url = self.get_properties.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['restype'] = self._serialize.query("restype", restype, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'x-ms-meta': self._deserialize('{str}', response.headers.get('x-ms-meta')), + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-lease-duration': self._deserialize(models.LeaseDurationType, response.headers.get('x-ms-lease-duration')), + 'x-ms-lease-state': self._deserialize(models.LeaseStateType, response.headers.get('x-ms-lease-state')), + 'x-ms-lease-status': self._deserialize(models.LeaseStatusType, response.headers.get('x-ms-lease-status')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-blob-public-access': self._deserialize('str', response.headers.get('x-ms-blob-public-access')), + 'x-ms-has-immutability-policy': self._deserialize('bool', response.headers.get('x-ms-has-immutability-policy')), + 'x-ms-has-legal-hold': self._deserialize('bool', response.headers.get('x-ms-has-legal-hold')), + 'x-ms-default-encryption-scope': self._deserialize('str', response.headers.get('x-ms-default-encryption-scope')), + 'x-ms-deny-encryption-scope-override': self._deserialize('bool', response.headers.get('x-ms-deny-encryption-scope-override')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + get_properties.metadata = {'url': '/{containerName}'} + + async def delete(self, timeout=None, request_id=None, lease_access_conditions=None, modified_access_conditions=None, *, cls=None, **kwargs): + """operation marks the specified container for deletion. The container and + any blobs contained within it are later deleted during garbage + collection. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + + restype = "container" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['restype'] = self._serialize.query("restype", restype, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + delete.metadata = {'url': '/{containerName}'} + + async def set_metadata(self, timeout=None, metadata=None, request_id=None, lease_access_conditions=None, modified_access_conditions=None, *, cls=None, **kwargs): + """operation sets one or more user-defined name-value pairs for the + specified container. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param metadata: Optional. Specifies a user-defined name-value pair + associated with the blob. If no name-value pairs are specified, the + operation will copy the metadata from the source blob or file to the + destination blob. If one or more name-value pairs are specified, the + destination blob is created with the specified metadata, and metadata + is not copied from the source blob or file. Note that beginning with + version 2009-09-19, metadata names must adhere to the naming rules for + C# identifiers. See Naming and Referencing Containers, Blobs, and + Metadata for more information. + :type metadata: str + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + + restype = "container" + comp = "metadata" + + # Construct URL + url = self.set_metadata.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['restype'] = self._serialize.query("restype", restype, 'str') + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + if metadata is not None: + header_parameters['x-ms-meta'] = self._serialize.header("metadata", metadata, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + set_metadata.metadata = {'url': '/{containerName}'} + + async def get_access_policy(self, timeout=None, request_id=None, lease_access_conditions=None, *, cls=None, **kwargs): + """gets the permissions for the specified container. The permissions + indicate whether container data may be accessed publicly. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: list or the result of cls(response) + :rtype: list[~azure.storage.blob.models.SignedIdentifier] + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + + restype = "container" + comp = "acl" + + # Construct URL + url = self.get_access_policy.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['restype'] = self._serialize.query("restype", restype, 'str') + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/xml' + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('[SignedIdentifier]', response) + header_dict = { + 'x-ms-blob-public-access': self._deserialize('str', response.headers.get('x-ms-blob-public-access')), + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + + if cls: + return cls(response, deserialized, header_dict) + + return deserialized + get_access_policy.metadata = {'url': '/{containerName}'} + + async def set_access_policy(self, container_acl=None, timeout=None, access=None, request_id=None, lease_access_conditions=None, modified_access_conditions=None, *, cls=None, **kwargs): + """sets the permissions for the specified container. The permissions + indicate whether blobs in a container may be accessed publicly. + + :param container_acl: the acls for the container + :type container_acl: list[~azure.storage.blob.models.SignedIdentifier] + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param access: Specifies whether data in the container may be accessed + publicly and the level of access. Possible values include: + 'container', 'blob' + :type access: str or ~azure.storage.blob.models.PublicAccessType + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + + restype = "container" + comp = "acl" + + # Construct URL + url = self.set_access_policy.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['restype'] = self._serialize.query("restype", restype, 'str') + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/xml; charset=utf-8' + if access is not None: + header_parameters['x-ms-blob-public-access'] = self._serialize.header("access", access, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + + # Construct body + serialization_ctxt = {'xml': {'name': 'SignedIdentifiers', 'itemsName': 'SignedIdentifiers', 'wrapped': True}} + if container_acl is not None: + body_content = self._serialize.body(container_acl, '[SignedIdentifier]', serialization_ctxt=serialization_ctxt) + else: + body_content = None + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + set_access_policy.metadata = {'url': '/{containerName}'} + + async def restore(self, timeout=None, request_id=None, deleted_container_name=None, deleted_container_version=None, *, cls=None, **kwargs): + """Restores a previously-deleted container. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param deleted_container_name: Optional. Version 2019-12-12 and + laster. Specifies the name of the deleted container to restore. + :type deleted_container_name: str + :param deleted_container_version: Optional. Version 2019-12-12 and + laster. Specifies the version of the deleted container to restore. + :type deleted_container_version: str + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + restype = "container" + comp = "undelete" + + # Construct URL + url = self.restore.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['restype'] = self._serialize.query("restype", restype, 'str') + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if deleted_container_name is not None: + header_parameters['x-ms-deleted-container-name'] = self._serialize.header("deleted_container_name", deleted_container_name, 'str') + if deleted_container_version is not None: + header_parameters['x-ms-deleted-container-version'] = self._serialize.header("deleted_container_version", deleted_container_version, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + restore.metadata = {'url': '/{containerName}'} + + async def acquire_lease(self, timeout=None, duration=None, proposed_lease_id=None, request_id=None, modified_access_conditions=None, *, cls=None, **kwargs): + """[Update] establishes and manages a lock on a container for delete + operations. The lock duration can be 15 to 60 seconds, or can be + infinite. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param duration: Specifies the duration of the lease, in seconds, or + negative one (-1) for a lease that never expires. A non-infinite lease + can be between 15 and 60 seconds. A lease duration cannot be changed + using renew or change. + :type duration: int + :param proposed_lease_id: Proposed lease ID, in a GUID string format. + The Blob service returns 400 (Invalid request) if the proposed lease + ID is not in the correct format. See Guid Constructor (String) for a + list of valid GUID string formats. + :type proposed_lease_id: str + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + + comp = "lease" + restype = "container" + action = "acquire" + + # Construct URL + url = self.acquire_lease.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + query_parameters['restype'] = self._serialize.query("restype", restype, 'str') + + # Construct headers + header_parameters = {} + if duration is not None: + header_parameters['x-ms-lease-duration'] = self._serialize.header("duration", duration, 'int') + if proposed_lease_id is not None: + header_parameters['x-ms-proposed-lease-id'] = self._serialize.header("proposed_lease_id", proposed_lease_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-lease-action'] = self._serialize.header("action", action, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-lease-id': self._deserialize('str', response.headers.get('x-ms-lease-id')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + acquire_lease.metadata = {'url': '/{containerName}'} + + async def release_lease(self, lease_id, timeout=None, request_id=None, modified_access_conditions=None, *, cls=None, **kwargs): + """[Update] establishes and manages a lock on a container for delete + operations. The lock duration can be 15 to 60 seconds, or can be + infinite. + + :param lease_id: Specifies the current lease ID on the resource. + :type lease_id: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + + comp = "lease" + restype = "container" + action = "release" + + # Construct URL + url = self.release_lease.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + query_parameters['restype'] = self._serialize.query("restype", restype, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-lease-action'] = self._serialize.header("action", action, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + release_lease.metadata = {'url': '/{containerName}'} + + async def renew_lease(self, lease_id, timeout=None, request_id=None, modified_access_conditions=None, *, cls=None, **kwargs): + """[Update] establishes and manages a lock on a container for delete + operations. The lock duration can be 15 to 60 seconds, or can be + infinite. + + :param lease_id: Specifies the current lease ID on the resource. + :type lease_id: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + + comp = "lease" + restype = "container" + action = "renew" + + # Construct URL + url = self.renew_lease.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + query_parameters['restype'] = self._serialize.query("restype", restype, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-lease-action'] = self._serialize.header("action", action, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-lease-id': self._deserialize('str', response.headers.get('x-ms-lease-id')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + renew_lease.metadata = {'url': '/{containerName}'} + + async def break_lease(self, timeout=None, break_period=None, request_id=None, modified_access_conditions=None, *, cls=None, **kwargs): + """[Update] establishes and manages a lock on a container for delete + operations. The lock duration can be 15 to 60 seconds, or can be + infinite. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param break_period: For a break operation, proposed duration the + lease should continue before it is broken, in seconds, between 0 and + 60. This break period is only used if it is shorter than the time + remaining on the lease. If longer, the time remaining on the lease is + used. A new lease will not be available before the break period has + expired, but the lease may be held for longer than the break period. + If this header does not appear with a break operation, a + fixed-duration lease breaks after the remaining lease period elapses, + and an infinite lease breaks immediately. + :type break_period: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + + comp = "lease" + restype = "container" + action = "break" + + # Construct URL + url = self.break_lease.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + query_parameters['restype'] = self._serialize.query("restype", restype, 'str') + + # Construct headers + header_parameters = {} + if break_period is not None: + header_parameters['x-ms-lease-break-period'] = self._serialize.header("break_period", break_period, 'int') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-lease-action'] = self._serialize.header("action", action, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-lease-time': self._deserialize('int', response.headers.get('x-ms-lease-time')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + break_lease.metadata = {'url': '/{containerName}'} + + async def change_lease(self, lease_id, proposed_lease_id, timeout=None, request_id=None, modified_access_conditions=None, *, cls=None, **kwargs): + """[Update] establishes and manages a lock on a container for delete + operations. The lock duration can be 15 to 60 seconds, or can be + infinite. + + :param lease_id: Specifies the current lease ID on the resource. + :type lease_id: str + :param proposed_lease_id: Proposed lease ID, in a GUID string format. + The Blob service returns 400 (Invalid request) if the proposed lease + ID is not in the correct format. See Guid Constructor (String) for a + list of valid GUID string formats. + :type proposed_lease_id: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + + comp = "lease" + restype = "container" + action = "change" + + # Construct URL + url = self.change_lease.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + query_parameters['restype'] = self._serialize.query("restype", restype, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + header_parameters['x-ms-proposed-lease-id'] = self._serialize.header("proposed_lease_id", proposed_lease_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-lease-action'] = self._serialize.header("action", action, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-lease-id': self._deserialize('str', response.headers.get('x-ms-lease-id')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + change_lease.metadata = {'url': '/{containerName}'} + + async def list_blob_flat_segment(self, prefix=None, marker=None, maxresults=None, include=None, timeout=None, request_id=None, *, cls=None, **kwargs): + """[Update] The List Blobs operation returns a list of the blobs under the + specified container. + + :param prefix: Filters the results to return only containers whose + name begins with the specified prefix. + :type prefix: str + :param marker: A string value that identifies the portion of the list + of containers to be returned with the next listing operation. The + operation returns the NextMarker value within the response body if the + listing operation did not return all containers remaining to be listed + with the current page. The NextMarker value can be used as the value + for the marker parameter in a subsequent call to request the next page + of list items. The marker value is opaque to the client. + :type marker: str + :param maxresults: Specifies the maximum number of containers to + return. If the request does not specify maxresults, or specifies a + value greater than 5000, the server will return up to 5000 items. Note + that if the listing operation crosses a partition boundary, then the + service will return a continuation token for retrieving the remainder + of the results. For this reason, it is possible that the service will + return fewer results than specified by maxresults, or than the default + of 5000. + :type maxresults: int + :param include: Include this parameter to specify one or more datasets + to include in the response. + :type include: list[str or + ~azure.storage.blob.models.ListBlobsIncludeItem] + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param callable cls: A custom type or function that will be passed the + direct response + :return: ListBlobsFlatSegmentResponse or the result of cls(response) + :rtype: ~azure.storage.blob.models.ListBlobsFlatSegmentResponse + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + restype = "container" + comp = "list" + + # Construct URL + url = self.list_blob_flat_segment.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if prefix is not None: + query_parameters['prefix'] = self._serialize.query("prefix", prefix, 'str') + if marker is not None: + query_parameters['marker'] = self._serialize.query("marker", marker, 'str') + if maxresults is not None: + query_parameters['maxresults'] = self._serialize.query("maxresults", maxresults, 'int', minimum=1) + if include is not None: + query_parameters['include'] = self._serialize.query("include", include, '[ListBlobsIncludeItem]', div=',') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['restype'] = self._serialize.query("restype", restype, 'str') + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/xml' + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ListBlobsFlatSegmentResponse', response) + header_dict = { + 'Content-Type': self._deserialize('str', response.headers.get('Content-Type')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + + if cls: + return cls(response, deserialized, header_dict) + + return deserialized + list_blob_flat_segment.metadata = {'url': '/{containerName}'} + + async def list_blob_hierarchy_segment(self, delimiter, prefix=None, marker=None, maxresults=None, include=None, timeout=None, request_id=None, *, cls=None, **kwargs): + """[Update] The List Blobs operation returns a list of the blobs under the + specified container. + + :param delimiter: When the request includes this parameter, the + operation returns a BlobPrefix element in the response body that acts + as a placeholder for all blobs whose names begin with the same + substring up to the appearance of the delimiter character. The + delimiter may be a single character or a string. + :type delimiter: str + :param prefix: Filters the results to return only containers whose + name begins with the specified prefix. + :type prefix: str + :param marker: A string value that identifies the portion of the list + of containers to be returned with the next listing operation. The + operation returns the NextMarker value within the response body if the + listing operation did not return all containers remaining to be listed + with the current page. The NextMarker value can be used as the value + for the marker parameter in a subsequent call to request the next page + of list items. The marker value is opaque to the client. + :type marker: str + :param maxresults: Specifies the maximum number of containers to + return. If the request does not specify maxresults, or specifies a + value greater than 5000, the server will return up to 5000 items. Note + that if the listing operation crosses a partition boundary, then the + service will return a continuation token for retrieving the remainder + of the results. For this reason, it is possible that the service will + return fewer results than specified by maxresults, or than the default + of 5000. + :type maxresults: int + :param include: Include this parameter to specify one or more datasets + to include in the response. + :type include: list[str or + ~azure.storage.blob.models.ListBlobsIncludeItem] + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param callable cls: A custom type or function that will be passed the + direct response + :return: ListBlobsHierarchySegmentResponse or the result of + cls(response) + :rtype: ~azure.storage.blob.models.ListBlobsHierarchySegmentResponse + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + restype = "container" + comp = "list" + + # Construct URL + url = self.list_blob_hierarchy_segment.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if prefix is not None: + query_parameters['prefix'] = self._serialize.query("prefix", prefix, 'str') + query_parameters['delimiter'] = self._serialize.query("delimiter", delimiter, 'str') + if marker is not None: + query_parameters['marker'] = self._serialize.query("marker", marker, 'str') + if maxresults is not None: + query_parameters['maxresults'] = self._serialize.query("maxresults", maxresults, 'int', minimum=1) + if include is not None: + query_parameters['include'] = self._serialize.query("include", include, '[ListBlobsIncludeItem]', div=',') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['restype'] = self._serialize.query("restype", restype, 'str') + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/xml' + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ListBlobsHierarchySegmentResponse', response) + header_dict = { + 'Content-Type': self._deserialize('str', response.headers.get('Content-Type')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + + if cls: + return cls(response, deserialized, header_dict) + + return deserialized + list_blob_hierarchy_segment.metadata = {'url': '/{containerName}'} + + async def get_account_info(self, *, cls=None, **kwargs): + """Returns the sku name and account kind . + + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + restype = "account" + comp = "properties" + + # Construct URL + url = self.get_account_info.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['restype'] = self._serialize.query("restype", restype, 'str') + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-sku-name': self._deserialize(models.SkuName, response.headers.get('x-ms-sku-name')), + 'x-ms-account-kind': self._deserialize(models.AccountKind, response.headers.get('x-ms-account-kind')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + get_account_info.metadata = {'url': '/{containerName}'} diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/aio/operations_async/_directory_operations_async.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/aio/operations_async/_directory_operations_async.py new file mode 100644 index 00000000000..590c0f88433 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/aio/operations_async/_directory_operations_async.py @@ -0,0 +1,739 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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.core.exceptions import map_error + +from ... import models + + +class DirectoryOperations: + """DirectoryOperations async operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :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 resource: . Constant value: "directory". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + + self._config = config + self.resource = "directory" + + async def create(self, timeout=None, directory_properties=None, posix_permissions=None, posix_umask=None, request_id=None, directory_http_headers=None, lease_access_conditions=None, modified_access_conditions=None, *, cls=None, **kwargs): + """Create a directory. By default, the destination is overwritten and if + the destination already exists and has a lease the lease is broken. + This operation supports conditional HTTP requests. For more + information, see [Specifying Conditional Headers for Blob Service + Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations). + To fail if the destination already exists, use a conditional request + with If-None-Match: "*". + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param directory_properties: Optional. User-defined properties to be + stored with the file or directory, in the format of a comma-separated + list of name and value pairs "n1=v1, n2=v2, ...", where each value is + base64 encoded. + :type directory_properties: str + :param posix_permissions: Optional and only valid if Hierarchical + Namespace is enabled for the account. Sets POSIX access permissions + for the file owner, the file owning group, and others. Each class may + be granted read, write, or execute permission. The sticky bit is also + supported. Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. + 0766) are supported. + :type posix_permissions: str + :param posix_umask: Only valid if Hierarchical Namespace is enabled + for the account. This umask restricts permission settings for file and + directory, and will only be applied when default Acl does not exist in + parent directory. If the umask bit has set, it means that the + corresponding permission will be disabled. Otherwise the corresponding + permission will be determined by the permission. A 4-digit octal + notation (e.g. 0022) is supported here. If no umask was specified, a + default umask - 0027 will be used. + :type posix_umask: str + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param directory_http_headers: Additional parameters for the operation + :type directory_http_headers: + ~azure.storage.blob.models.DirectoryHttpHeaders + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`DataLakeStorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + cache_control = None + if directory_http_headers is not None: + cache_control = directory_http_headers.cache_control + content_type = None + if directory_http_headers is not None: + content_type = directory_http_headers.content_type + content_encoding = None + if directory_http_headers is not None: + content_encoding = directory_http_headers.content_encoding + content_language = None + if directory_http_headers is not None: + content_language = directory_http_headers.content_language + content_disposition = None + if directory_http_headers is not None: + content_disposition = directory_http_headers.content_disposition + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['resource'] = self._serialize.query("self.resource", self.resource, 'str') + + # Construct headers + header_parameters = {} + if directory_properties is not None: + header_parameters['x-ms-properties'] = self._serialize.header("directory_properties", directory_properties, 'str') + if posix_permissions is not None: + header_parameters['x-ms-permissions'] = self._serialize.header("posix_permissions", posix_permissions, 'str') + if posix_umask is not None: + header_parameters['x-ms-umask'] = self._serialize.header("posix_umask", posix_umask, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if cache_control is not None: + header_parameters['x-ms-cache-control'] = self._serialize.header("cache_control", cache_control, 'str') + if content_type is not None: + header_parameters['x-ms-content-type'] = self._serialize.header("content_type", content_type, 'str') + if content_encoding is not None: + header_parameters['x-ms-content-encoding'] = self._serialize.header("content_encoding", content_encoding, 'str') + if content_language is not None: + header_parameters['x-ms-content-language'] = self._serialize.header("content_language", content_language, 'str') + if content_disposition is not None: + header_parameters['x-ms-content-disposition'] = self._serialize.header("content_disposition", content_disposition, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.DataLakeStorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Content-Length': self._deserialize('long', response.headers.get('Content-Length')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + } + return cls(response, None, response_headers) + create.metadata = {'url': '/{filesystem}/{path}'} + + async def rename(self, rename_source, timeout=None, marker=None, path_rename_mode=None, directory_properties=None, posix_permissions=None, posix_umask=None, source_lease_id=None, request_id=None, directory_http_headers=None, lease_access_conditions=None, modified_access_conditions=None, source_modified_access_conditions=None, *, cls=None, **kwargs): + """Rename a directory. By default, the destination is overwritten and if + the destination already exists and has a lease the lease is broken. + This operation supports conditional HTTP requests. For more + information, see [Specifying Conditional Headers for Blob Service + Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations). + To fail if the destination already exists, use a conditional request + with If-None-Match: "*". + + :param rename_source: The file or directory to be renamed. The value + must have the following format: "/{filesysystem}/{path}". If + "x-ms-properties" is specified, the properties will overwrite the + existing properties; otherwise, the existing properties will be + preserved. + :type rename_source: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param marker: When renaming a directory, the number of paths that are + renamed with each invocation is limited. If the number of paths to be + renamed exceeds this limit, a continuation token is returned in this + response header. When a continuation token is returned in the + response, it must be specified in a subsequent invocation of the + rename operation to continue renaming the directory. + :type marker: str + :param path_rename_mode: Determines the behavior of the rename + operation. Possible values include: 'legacy', 'posix' + :type path_rename_mode: str or + ~azure.storage.blob.models.PathRenameMode + :param directory_properties: Optional. User-defined properties to be + stored with the file or directory, in the format of a comma-separated + list of name and value pairs "n1=v1, n2=v2, ...", where each value is + base64 encoded. + :type directory_properties: str + :param posix_permissions: Optional and only valid if Hierarchical + Namespace is enabled for the account. Sets POSIX access permissions + for the file owner, the file owning group, and others. Each class may + be granted read, write, or execute permission. The sticky bit is also + supported. Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. + 0766) are supported. + :type posix_permissions: str + :param posix_umask: Only valid if Hierarchical Namespace is enabled + for the account. This umask restricts permission settings for file and + directory, and will only be applied when default Acl does not exist in + parent directory. If the umask bit has set, it means that the + corresponding permission will be disabled. Otherwise the corresponding + permission will be determined by the permission. A 4-digit octal + notation (e.g. 0022) is supported here. If no umask was specified, a + default umask - 0027 will be used. + :type posix_umask: str + :param source_lease_id: A lease ID for the source path. If specified, + the source path must have an active lease and the lease ID must match. + :type source_lease_id: str + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param directory_http_headers: Additional parameters for the operation + :type directory_http_headers: + ~azure.storage.blob.models.DirectoryHttpHeaders + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param source_modified_access_conditions: Additional parameters for + the operation + :type source_modified_access_conditions: + ~azure.storage.blob.models.SourceModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`DataLakeStorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + cache_control = None + if directory_http_headers is not None: + cache_control = directory_http_headers.cache_control + content_type = None + if directory_http_headers is not None: + content_type = directory_http_headers.content_type + content_encoding = None + if directory_http_headers is not None: + content_encoding = directory_http_headers.content_encoding + content_language = None + if directory_http_headers is not None: + content_language = directory_http_headers.content_language + content_disposition = None + if directory_http_headers is not None: + content_disposition = directory_http_headers.content_disposition + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + source_if_modified_since = None + if source_modified_access_conditions is not None: + source_if_modified_since = source_modified_access_conditions.source_if_modified_since + source_if_unmodified_since = None + if source_modified_access_conditions is not None: + source_if_unmodified_since = source_modified_access_conditions.source_if_unmodified_since + source_if_match = None + if source_modified_access_conditions is not None: + source_if_match = source_modified_access_conditions.source_if_match + source_if_none_match = None + if source_modified_access_conditions is not None: + source_if_none_match = source_modified_access_conditions.source_if_none_match + + # Construct URL + url = self.rename.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + if marker is not None: + query_parameters['continuation'] = self._serialize.query("marker", marker, 'str') + if path_rename_mode is not None: + query_parameters['mode'] = self._serialize.query("path_rename_mode", path_rename_mode, 'PathRenameMode') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-rename-source'] = self._serialize.header("rename_source", rename_source, 'str') + if directory_properties is not None: + header_parameters['x-ms-properties'] = self._serialize.header("directory_properties", directory_properties, 'str') + if posix_permissions is not None: + header_parameters['x-ms-permissions'] = self._serialize.header("posix_permissions", posix_permissions, 'str') + if posix_umask is not None: + header_parameters['x-ms-umask'] = self._serialize.header("posix_umask", posix_umask, 'str') + if source_lease_id is not None: + header_parameters['x-ms-source-lease-id'] = self._serialize.header("source_lease_id", source_lease_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if cache_control is not None: + header_parameters['x-ms-cache-control'] = self._serialize.header("cache_control", cache_control, 'str') + if content_type is not None: + header_parameters['x-ms-content-type'] = self._serialize.header("content_type", content_type, 'str') + if content_encoding is not None: + header_parameters['x-ms-content-encoding'] = self._serialize.header("content_encoding", content_encoding, 'str') + if content_language is not None: + header_parameters['x-ms-content-language'] = self._serialize.header("content_language", content_language, 'str') + if content_disposition is not None: + header_parameters['x-ms-content-disposition'] = self._serialize.header("content_disposition", content_disposition, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if source_if_modified_since is not None: + header_parameters['x-ms-source-if-modified-since'] = self._serialize.header("source_if_modified_since", source_if_modified_since, 'rfc-1123') + if source_if_unmodified_since is not None: + header_parameters['x-ms-source-if-unmodified-since'] = self._serialize.header("source_if_unmodified_since", source_if_unmodified_since, 'rfc-1123') + if source_if_match is not None: + header_parameters['x-ms-source-if-match'] = self._serialize.header("source_if_match", source_if_match, 'str') + if source_if_none_match is not None: + header_parameters['x-ms-source-if-none-match'] = self._serialize.header("source_if_none_match", source_if_none_match, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.DataLakeStorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'x-ms-continuation': self._deserialize('str', response.headers.get('x-ms-continuation')), + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Content-Length': self._deserialize('long', response.headers.get('Content-Length')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + } + return cls(response, None, response_headers) + rename.metadata = {'url': '/{filesystem}/{path}'} + + async def delete(self, recursive_directory_delete, timeout=None, marker=None, request_id=None, lease_access_conditions=None, modified_access_conditions=None, *, cls=None, **kwargs): + """Deletes the directory. + + :param recursive_directory_delete: If "true", all paths beneath the + directory will be deleted. If "false" and the directory is non-empty, + an error occurs. + :type recursive_directory_delete: bool + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param marker: When renaming a directory, the number of paths that are + renamed with each invocation is limited. If the number of paths to be + renamed exceeds this limit, a continuation token is returned in this + response header. When a continuation token is returned in the + response, it must be specified in a subsequent invocation of the + rename operation to continue renaming the directory. + :type marker: str + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`DataLakeStorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['recursive'] = self._serialize.query("recursive_directory_delete", recursive_directory_delete, 'bool') + if marker is not None: + query_parameters['continuation'] = self._serialize.query("marker", marker, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.DataLakeStorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'x-ms-continuation': self._deserialize('str', response.headers.get('x-ms-continuation')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + } + return cls(response, None, response_headers) + delete.metadata = {'url': '/{filesystem}/{path}'} + + async def set_access_control(self, timeout=None, owner=None, group=None, posix_permissions=None, posix_acl=None, request_id=None, lease_access_conditions=None, modified_access_conditions=None, *, cls=None, **kwargs): + """Set the owner, group, permissions, or access control list for a + directory. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param owner: Optional. The owner of the blob or directory. + :type owner: str + :param group: Optional. The owning group of the blob or directory. + :type group: str + :param posix_permissions: Optional and only valid if Hierarchical + Namespace is enabled for the account. Sets POSIX access permissions + for the file owner, the file owning group, and others. Each class may + be granted read, write, or execute permission. The sticky bit is also + supported. Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. + 0766) are supported. + :type posix_permissions: str + :param posix_acl: Sets POSIX access control rights on files and + directories. The value is a comma-separated list of access control + entries. Each access control entry (ACE) consists of a scope, a type, + a user or group identifier, and permissions in the format + "[scope:][type]:[id]:[permissions]". + :type posix_acl: str + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`DataLakeStorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + + action = "setAccessControl" + + # Construct URL + url = self.set_access_control.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['action'] = self._serialize.query("action", action, 'str') + + # Construct headers + header_parameters = {} + if owner is not None: + header_parameters['x-ms-owner'] = self._serialize.header("owner", owner, 'str') + if group is not None: + header_parameters['x-ms-group'] = self._serialize.header("group", group, 'str') + if posix_permissions is not None: + header_parameters['x-ms-permissions'] = self._serialize.header("posix_permissions", posix_permissions, 'str') + if posix_acl is not None: + header_parameters['x-ms-acl'] = self._serialize.header("posix_acl", posix_acl, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.DataLakeStorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + } + return cls(response, None, response_headers) + set_access_control.metadata = {'url': '/{filesystem}/{path}'} + + async def get_access_control(self, timeout=None, upn=None, request_id=None, lease_access_conditions=None, modified_access_conditions=None, *, cls=None, **kwargs): + """Get the owner, group, permissions, or access control list for a + directory. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param upn: Optional. Valid only when Hierarchical Namespace is + enabled for the account. If "true", the identity values returned in + the x-ms-owner, x-ms-group, and x-ms-acl response headers will be + transformed from Azure Active Directory Object IDs to User Principal + Names. If "false", the values will be returned as Azure Active + Directory Object IDs. The default value is false. + :type upn: bool + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`DataLakeStorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + + action = "getAccessControl" + + # Construct URL + url = self.get_access_control.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + if upn is not None: + query_parameters['upn'] = self._serialize.query("upn", upn, 'bool') + query_parameters['action'] = self._serialize.query("action", action, 'str') + + # Construct headers + header_parameters = {} + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + + # Construct and send request + request = self._client.head(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.DataLakeStorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-owner': self._deserialize('str', response.headers.get('x-ms-owner')), + 'x-ms-group': self._deserialize('str', response.headers.get('x-ms-group')), + 'x-ms-permissions': self._deserialize('str', response.headers.get('x-ms-permissions')), + 'x-ms-acl': self._deserialize('str', response.headers.get('x-ms-acl')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + } + return cls(response, None, response_headers) + get_access_control.metadata = {'url': '/{filesystem}/{path}'} diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/aio/operations_async/_page_blob_operations_async.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/aio/operations_async/_page_blob_operations_async.py new file mode 100644 index 00000000000..c54a27cf8bf --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/aio/operations_async/_page_blob_operations_async.py @@ -0,0 +1,1399 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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.core.exceptions import map_error + +from ... import models + + +class PageBlobOperations: + """PageBlobOperations async operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :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 x_ms_blob_type: Specifies the type of blob to create: block blob, page blob, or append blob. Constant value: "PageBlob". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + + self._config = config + self.x_ms_blob_type = "PageBlob" + + async def create(self, content_length, blob_content_length, timeout=None, tier=None, metadata=None, blob_sequence_number=0, request_id=None, blob_tags_string=None, blob_http_headers=None, lease_access_conditions=None, cpk_info=None, cpk_scope_info=None, modified_access_conditions=None, *, cls=None, **kwargs): + """The Create operation creates a new page blob. + + :param content_length: The length of the request. + :type content_length: long + :param blob_content_length: This header specifies the maximum size for + the page blob, up to 1 TB. The page blob size must be aligned to a + 512-byte boundary. + :type blob_content_length: long + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param tier: Optional. Indicates the tier to be set on the page blob. + Possible values include: 'P4', 'P6', 'P10', 'P15', 'P20', 'P30', + 'P40', 'P50', 'P60', 'P70', 'P80' + :type tier: str or + ~azure.storage.blob.models.PremiumPageBlobAccessTier + :param metadata: Optional. Specifies a user-defined name-value pair + associated with the blob. If no name-value pairs are specified, the + operation will copy the metadata from the source blob or file to the + destination blob. If one or more name-value pairs are specified, the + destination blob is created with the specified metadata, and metadata + is not copied from the source blob or file. Note that beginning with + version 2009-09-19, metadata names must adhere to the naming rules for + C# identifiers. See Naming and Referencing Containers, Blobs, and + Metadata for more information. + :type metadata: str + :param blob_sequence_number: Set for page blobs only. The sequence + number is a user-controlled value that you can use to track requests. + The value of the sequence number must be between 0 and 2^63 - 1. + :type blob_sequence_number: long + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param blob_tags_string: Optional. Used to set blob tags in various + blob operations. + :type blob_tags_string: str + :param blob_http_headers: Additional parameters for the operation + :type blob_http_headers: ~azure.storage.blob.models.BlobHTTPHeaders + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo + :param cpk_scope_info: Additional parameters for the operation + :type cpk_scope_info: ~azure.storage.blob.models.CpkScopeInfo + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + blob_content_type = None + if blob_http_headers is not None: + blob_content_type = blob_http_headers.blob_content_type + blob_content_encoding = None + if blob_http_headers is not None: + blob_content_encoding = blob_http_headers.blob_content_encoding + blob_content_language = None + if blob_http_headers is not None: + blob_content_language = blob_http_headers.blob_content_language + blob_content_md5 = None + if blob_http_headers is not None: + blob_content_md5 = blob_http_headers.blob_content_md5 + blob_cache_control = None + if blob_http_headers is not None: + blob_cache_control = blob_http_headers.blob_cache_control + blob_content_disposition = None + if blob_http_headers is not None: + blob_content_disposition = blob_http_headers.blob_content_disposition + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm + encryption_scope = None + if cpk_scope_info is not None: + encryption_scope = cpk_scope_info.encryption_scope + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + + # Construct headers + header_parameters = {} + header_parameters['Content-Length'] = self._serialize.header("content_length", content_length, 'long') + if tier is not None: + header_parameters['x-ms-access-tier'] = self._serialize.header("tier", tier, 'str') + if metadata is not None: + header_parameters['x-ms-meta'] = self._serialize.header("metadata", metadata, 'str') + header_parameters['x-ms-blob-content-length'] = self._serialize.header("blob_content_length", blob_content_length, 'long') + if blob_sequence_number is not None: + header_parameters['x-ms-blob-sequence-number'] = self._serialize.header("blob_sequence_number", blob_sequence_number, 'long') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if blob_tags_string is not None: + header_parameters['x-ms-tags'] = self._serialize.header("blob_tags_string", blob_tags_string, 'str') + header_parameters['x-ms-blob-type'] = self._serialize.header("self.x_ms_blob_type", self.x_ms_blob_type, 'str') + if blob_content_type is not None: + header_parameters['x-ms-blob-content-type'] = self._serialize.header("blob_content_type", blob_content_type, 'str') + if blob_content_encoding is not None: + header_parameters['x-ms-blob-content-encoding'] = self._serialize.header("blob_content_encoding", blob_content_encoding, 'str') + if blob_content_language is not None: + header_parameters['x-ms-blob-content-language'] = self._serialize.header("blob_content_language", blob_content_language, 'str') + if blob_content_md5 is not None: + header_parameters['x-ms-blob-content-md5'] = self._serialize.header("blob_content_md5", blob_content_md5, 'bytearray') + if blob_cache_control is not None: + header_parameters['x-ms-blob-cache-control'] = self._serialize.header("blob_cache_control", blob_cache_control, 'str') + if blob_content_disposition is not None: + header_parameters['x-ms-blob-content-disposition'] = self._serialize.header("blob_content_disposition", blob_content_disposition, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') + if encryption_scope is not None: + header_parameters['x-ms-encryption-scope'] = self._serialize.header("encryption_scope", encryption_scope, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-version-id': self._deserialize('str', response.headers.get('x-ms-version-id')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), + 'x-ms-encryption-scope': self._deserialize('str', response.headers.get('x-ms-encryption-scope')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + create.metadata = {'url': '/{containerName}/{blob}'} + + async def upload_pages(self, body, content_length, transactional_content_md5=None, transactional_content_crc64=None, timeout=None, range=None, request_id=None, lease_access_conditions=None, cpk_info=None, cpk_scope_info=None, sequence_number_access_conditions=None, modified_access_conditions=None, *, cls=None, **kwargs): + """The Upload Pages operation writes a range of pages to a page blob. + + :param body: Initial data + :type body: Generator + :param content_length: The length of the request. + :type content_length: long + :param transactional_content_md5: Specify the transactional md5 for + the body, to be validated by the service. + :type transactional_content_md5: bytearray + :param transactional_content_crc64: Specify the transactional crc64 + for the body, to be validated by the service. + :type transactional_content_crc64: bytearray + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param range: Return only the bytes of the blob in the specified + range. + :type range: str + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo + :param cpk_scope_info: Additional parameters for the operation + :type cpk_scope_info: ~azure.storage.blob.models.CpkScopeInfo + :param sequence_number_access_conditions: Additional parameters for + the operation + :type sequence_number_access_conditions: + ~azure.storage.blob.models.SequenceNumberAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm + encryption_scope = None + if cpk_scope_info is not None: + encryption_scope = cpk_scope_info.encryption_scope + if_sequence_number_less_than_or_equal_to = None + if sequence_number_access_conditions is not None: + if_sequence_number_less_than_or_equal_to = sequence_number_access_conditions.if_sequence_number_less_than_or_equal_to + if_sequence_number_less_than = None + if sequence_number_access_conditions is not None: + if_sequence_number_less_than = sequence_number_access_conditions.if_sequence_number_less_than + if_sequence_number_equal_to = None + if sequence_number_access_conditions is not None: + if_sequence_number_equal_to = sequence_number_access_conditions.if_sequence_number_equal_to + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + + comp = "page" + page_write = "update" + + # Construct URL + url = self.upload_pages.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/octet-stream' + header_parameters['Content-Length'] = self._serialize.header("content_length", content_length, 'long') + if transactional_content_md5 is not None: + header_parameters['Content-MD5'] = self._serialize.header("transactional_content_md5", transactional_content_md5, 'bytearray') + if transactional_content_crc64 is not None: + header_parameters['x-ms-content-crc64'] = self._serialize.header("transactional_content_crc64", transactional_content_crc64, 'bytearray') + if range is not None: + header_parameters['x-ms-range'] = self._serialize.header("range", range, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-page-write'] = self._serialize.header("page_write", page_write, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') + if encryption_scope is not None: + header_parameters['x-ms-encryption-scope'] = self._serialize.header("encryption_scope", encryption_scope, 'str') + if if_sequence_number_less_than_or_equal_to is not None: + header_parameters['x-ms-if-sequence-number-le'] = self._serialize.header("if_sequence_number_less_than_or_equal_to", if_sequence_number_less_than_or_equal_to, 'long') + if if_sequence_number_less_than is not None: + header_parameters['x-ms-if-sequence-number-lt'] = self._serialize.header("if_sequence_number_less_than", if_sequence_number_less_than, 'long') + if if_sequence_number_equal_to is not None: + header_parameters['x-ms-if-sequence-number-eq'] = self._serialize.header("if_sequence_number_equal_to", if_sequence_number_equal_to, 'long') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + + # Construct body + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, stream_content=body) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'x-ms-content-crc64': self._deserialize('bytearray', response.headers.get('x-ms-content-crc64')), + 'x-ms-blob-sequence-number': self._deserialize('long', response.headers.get('x-ms-blob-sequence-number')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), + 'x-ms-encryption-scope': self._deserialize('str', response.headers.get('x-ms-encryption-scope')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + upload_pages.metadata = {'url': '/{containerName}/{blob}'} + + async def clear_pages(self, content_length, timeout=None, range=None, request_id=None, lease_access_conditions=None, cpk_info=None, cpk_scope_info=None, sequence_number_access_conditions=None, modified_access_conditions=None, *, cls=None, **kwargs): + """The Clear Pages operation clears a set of pages from a page blob. + + :param content_length: The length of the request. + :type content_length: long + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param range: Return only the bytes of the blob in the specified + range. + :type range: str + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo + :param cpk_scope_info: Additional parameters for the operation + :type cpk_scope_info: ~azure.storage.blob.models.CpkScopeInfo + :param sequence_number_access_conditions: Additional parameters for + the operation + :type sequence_number_access_conditions: + ~azure.storage.blob.models.SequenceNumberAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm + encryption_scope = None + if cpk_scope_info is not None: + encryption_scope = cpk_scope_info.encryption_scope + if_sequence_number_less_than_or_equal_to = None + if sequence_number_access_conditions is not None: + if_sequence_number_less_than_or_equal_to = sequence_number_access_conditions.if_sequence_number_less_than_or_equal_to + if_sequence_number_less_than = None + if sequence_number_access_conditions is not None: + if_sequence_number_less_than = sequence_number_access_conditions.if_sequence_number_less_than + if_sequence_number_equal_to = None + if sequence_number_access_conditions is not None: + if_sequence_number_equal_to = sequence_number_access_conditions.if_sequence_number_equal_to + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + + comp = "page" + page_write = "clear" + + # Construct URL + url = self.clear_pages.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Length'] = self._serialize.header("content_length", content_length, 'long') + if range is not None: + header_parameters['x-ms-range'] = self._serialize.header("range", range, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-page-write'] = self._serialize.header("page_write", page_write, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') + if encryption_scope is not None: + header_parameters['x-ms-encryption-scope'] = self._serialize.header("encryption_scope", encryption_scope, 'str') + if if_sequence_number_less_than_or_equal_to is not None: + header_parameters['x-ms-if-sequence-number-le'] = self._serialize.header("if_sequence_number_less_than_or_equal_to", if_sequence_number_less_than_or_equal_to, 'long') + if if_sequence_number_less_than is not None: + header_parameters['x-ms-if-sequence-number-lt'] = self._serialize.header("if_sequence_number_less_than", if_sequence_number_less_than, 'long') + if if_sequence_number_equal_to is not None: + header_parameters['x-ms-if-sequence-number-eq'] = self._serialize.header("if_sequence_number_equal_to", if_sequence_number_equal_to, 'long') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'x-ms-content-crc64': self._deserialize('bytearray', response.headers.get('x-ms-content-crc64')), + 'x-ms-blob-sequence-number': self._deserialize('long', response.headers.get('x-ms-blob-sequence-number')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + clear_pages.metadata = {'url': '/{containerName}/{blob}'} + + async def upload_pages_from_url(self, source_url, source_range, content_length, range, source_content_md5=None, source_contentcrc64=None, timeout=None, request_id=None, cpk_info=None, cpk_scope_info=None, lease_access_conditions=None, sequence_number_access_conditions=None, modified_access_conditions=None, source_modified_access_conditions=None, *, cls=None, **kwargs): + """The Upload Pages operation writes a range of pages to a page blob where + the contents are read from a URL. + + :param source_url: Specify a URL to the copy source. + :type source_url: str + :param source_range: Bytes of source data in the specified range. The + length of this range should match the ContentLength header and + x-ms-range/Range destination range header. + :type source_range: str + :param content_length: The length of the request. + :type content_length: long + :param range: The range of bytes to which the source range would be + written. The range should be 512 aligned and range-end is required. + :type range: str + :param source_content_md5: Specify the md5 calculated for the range of + bytes that must be read from the copy source. + :type source_content_md5: bytearray + :param source_contentcrc64: Specify the crc64 calculated for the range + of bytes that must be read from the copy source. + :type source_contentcrc64: bytearray + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo + :param cpk_scope_info: Additional parameters for the operation + :type cpk_scope_info: ~azure.storage.blob.models.CpkScopeInfo + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param sequence_number_access_conditions: Additional parameters for + the operation + :type sequence_number_access_conditions: + ~azure.storage.blob.models.SequenceNumberAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param source_modified_access_conditions: Additional parameters for + the operation + :type source_modified_access_conditions: + ~azure.storage.blob.models.SourceModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm + encryption_scope = None + if cpk_scope_info is not None: + encryption_scope = cpk_scope_info.encryption_scope + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_sequence_number_less_than_or_equal_to = None + if sequence_number_access_conditions is not None: + if_sequence_number_less_than_or_equal_to = sequence_number_access_conditions.if_sequence_number_less_than_or_equal_to + if_sequence_number_less_than = None + if sequence_number_access_conditions is not None: + if_sequence_number_less_than = sequence_number_access_conditions.if_sequence_number_less_than + if_sequence_number_equal_to = None + if sequence_number_access_conditions is not None: + if_sequence_number_equal_to = sequence_number_access_conditions.if_sequence_number_equal_to + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + source_if_modified_since = None + if source_modified_access_conditions is not None: + source_if_modified_since = source_modified_access_conditions.source_if_modified_since + source_if_unmodified_since = None + if source_modified_access_conditions is not None: + source_if_unmodified_since = source_modified_access_conditions.source_if_unmodified_since + source_if_match = None + if source_modified_access_conditions is not None: + source_if_match = source_modified_access_conditions.source_if_match + source_if_none_match = None + if source_modified_access_conditions is not None: + source_if_none_match = source_modified_access_conditions.source_if_none_match + + comp = "page" + page_write = "update" + + # Construct URL + url = self.upload_pages_from_url.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-copy-source'] = self._serialize.header("source_url", source_url, 'str') + header_parameters['x-ms-source-range'] = self._serialize.header("source_range", source_range, 'str') + if source_content_md5 is not None: + header_parameters['x-ms-source-content-md5'] = self._serialize.header("source_content_md5", source_content_md5, 'bytearray') + if source_contentcrc64 is not None: + header_parameters['x-ms-source-content-crc64'] = self._serialize.header("source_contentcrc64", source_contentcrc64, 'bytearray') + header_parameters['Content-Length'] = self._serialize.header("content_length", content_length, 'long') + header_parameters['x-ms-range'] = self._serialize.header("range", range, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-page-write'] = self._serialize.header("page_write", page_write, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') + if encryption_scope is not None: + header_parameters['x-ms-encryption-scope'] = self._serialize.header("encryption_scope", encryption_scope, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_sequence_number_less_than_or_equal_to is not None: + header_parameters['x-ms-if-sequence-number-le'] = self._serialize.header("if_sequence_number_less_than_or_equal_to", if_sequence_number_less_than_or_equal_to, 'long') + if if_sequence_number_less_than is not None: + header_parameters['x-ms-if-sequence-number-lt'] = self._serialize.header("if_sequence_number_less_than", if_sequence_number_less_than, 'long') + if if_sequence_number_equal_to is not None: + header_parameters['x-ms-if-sequence-number-eq'] = self._serialize.header("if_sequence_number_equal_to", if_sequence_number_equal_to, 'long') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + if source_if_modified_since is not None: + header_parameters['x-ms-source-if-modified-since'] = self._serialize.header("source_if_modified_since", source_if_modified_since, 'rfc-1123') + if source_if_unmodified_since is not None: + header_parameters['x-ms-source-if-unmodified-since'] = self._serialize.header("source_if_unmodified_since", source_if_unmodified_since, 'rfc-1123') + if source_if_match is not None: + header_parameters['x-ms-source-if-match'] = self._serialize.header("source_if_match", source_if_match, 'str') + if source_if_none_match is not None: + header_parameters['x-ms-source-if-none-match'] = self._serialize.header("source_if_none_match", source_if_none_match, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'x-ms-content-crc64': self._deserialize('bytearray', response.headers.get('x-ms-content-crc64')), + 'x-ms-blob-sequence-number': self._deserialize('long', response.headers.get('x-ms-blob-sequence-number')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), + 'x-ms-encryption-scope': self._deserialize('str', response.headers.get('x-ms-encryption-scope')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + upload_pages_from_url.metadata = {'url': '/{containerName}/{blob}'} + + async def get_page_ranges(self, snapshot=None, timeout=None, range=None, request_id=None, lease_access_conditions=None, modified_access_conditions=None, *, cls=None, **kwargs): + """The Get Page Ranges operation returns the list of valid page ranges for + a page blob or snapshot of a page blob. + + :param snapshot: The snapshot parameter is an opaque DateTime value + that, when present, specifies the blob snapshot to retrieve. For more + information on working with blob snapshots, see Creating + a Snapshot of a Blob. + :type snapshot: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param range: Return only the bytes of the blob in the specified + range. + :type range: str + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: PageList or the result of cls(response) + :rtype: ~azure.storage.blob.models.PageList + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + + comp = "pagelist" + + # Construct URL + url = self.get_page_ranges.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if snapshot is not None: + query_parameters['snapshot'] = self._serialize.query("snapshot", snapshot, 'str') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/xml' + if range is not None: + header_parameters['x-ms-range'] = self._serialize.header("range", range, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('PageList', response) + header_dict = { + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'x-ms-blob-content-length': self._deserialize('long', response.headers.get('x-ms-blob-content-length')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + + if cls: + return cls(response, deserialized, header_dict) + + return deserialized + get_page_ranges.metadata = {'url': '/{containerName}/{blob}'} + + async def get_page_ranges_diff(self, snapshot=None, timeout=None, prevsnapshot=None, prev_snapshot_url=None, range=None, request_id=None, lease_access_conditions=None, modified_access_conditions=None, *, cls=None, **kwargs): + """The Get Page Ranges Diff operation returns the list of valid page + ranges for a page blob that were changed between target blob and + previous snapshot. + + :param snapshot: The snapshot parameter is an opaque DateTime value + that, when present, specifies the blob snapshot to retrieve. For more + information on working with blob snapshots, see Creating + a Snapshot of a Blob. + :type snapshot: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param prevsnapshot: Optional in version 2015-07-08 and newer. The + prevsnapshot parameter is a DateTime value that specifies that the + response will contain only pages that were changed between target blob + and previous snapshot. Changed pages include both updated and cleared + pages. The target blob may be a snapshot, as long as the snapshot + specified by prevsnapshot is the older of the two. Note that + incremental snapshots are currently supported only for blobs created + on or after January 1, 2016. + :type prevsnapshot: str + :param prev_snapshot_url: Optional. This header is only supported in + service versions 2019-04-19 and after and specifies the URL of a + previous snapshot of the target blob. The response will only contain + pages that were changed between the target blob and its previous + snapshot. + :type prev_snapshot_url: str + :param range: Return only the bytes of the blob in the specified + range. + :type range: str + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: PageList or the result of cls(response) + :rtype: ~azure.storage.blob.models.PageList + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + + comp = "pagelist" + + # Construct URL + url = self.get_page_ranges_diff.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if snapshot is not None: + query_parameters['snapshot'] = self._serialize.query("snapshot", snapshot, 'str') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + if prevsnapshot is not None: + query_parameters['prevsnapshot'] = self._serialize.query("prevsnapshot", prevsnapshot, 'str') + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/xml' + if prev_snapshot_url is not None: + header_parameters['x-ms-previous-snapshot-url'] = self._serialize.header("prev_snapshot_url", prev_snapshot_url, 'str') + if range is not None: + header_parameters['x-ms-range'] = self._serialize.header("range", range, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('PageList', response) + header_dict = { + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'x-ms-blob-content-length': self._deserialize('long', response.headers.get('x-ms-blob-content-length')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + + if cls: + return cls(response, deserialized, header_dict) + + return deserialized + get_page_ranges_diff.metadata = {'url': '/{containerName}/{blob}'} + + async def resize(self, blob_content_length, timeout=None, request_id=None, lease_access_conditions=None, cpk_info=None, cpk_scope_info=None, modified_access_conditions=None, *, cls=None, **kwargs): + """Resize the Blob. + + :param blob_content_length: This header specifies the maximum size for + the page blob, up to 1 TB. The page blob size must be aligned to a + 512-byte boundary. + :type blob_content_length: long + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo + :param cpk_scope_info: Additional parameters for the operation + :type cpk_scope_info: ~azure.storage.blob.models.CpkScopeInfo + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm + encryption_scope = None + if cpk_scope_info is not None: + encryption_scope = cpk_scope_info.encryption_scope + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + + comp = "properties" + + # Construct URL + url = self.resize.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-blob-content-length'] = self._serialize.header("blob_content_length", blob_content_length, 'long') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') + if encryption_scope is not None: + header_parameters['x-ms-encryption-scope'] = self._serialize.header("encryption_scope", encryption_scope, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-blob-sequence-number': self._deserialize('long', response.headers.get('x-ms-blob-sequence-number')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + resize.metadata = {'url': '/{containerName}/{blob}'} + + async def update_sequence_number(self, sequence_number_action, timeout=None, blob_sequence_number=0, request_id=None, lease_access_conditions=None, modified_access_conditions=None, *, cls=None, **kwargs): + """Update the sequence number of the blob. + + :param sequence_number_action: Required if the + x-ms-blob-sequence-number header is set for the request. This property + applies to page blobs only. This property indicates how the service + should modify the blob's sequence number. Possible values include: + 'max', 'update', 'increment' + :type sequence_number_action: str or + ~azure.storage.blob.models.SequenceNumberActionType + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param blob_sequence_number: Set for page blobs only. The sequence + number is a user-controlled value that you can use to track requests. + The value of the sequence number must be between 0 and 2^63 - 1. + :type blob_sequence_number: long + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + + comp = "properties" + + # Construct URL + url = self.update_sequence_number.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-sequence-number-action'] = self._serialize.header("sequence_number_action", sequence_number_action, 'SequenceNumberActionType') + if blob_sequence_number is not None: + header_parameters['x-ms-blob-sequence-number'] = self._serialize.header("blob_sequence_number", blob_sequence_number, 'long') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-blob-sequence-number': self._deserialize('long', response.headers.get('x-ms-blob-sequence-number')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + update_sequence_number.metadata = {'url': '/{containerName}/{blob}'} + + async def copy_incremental(self, copy_source, timeout=None, request_id=None, modified_access_conditions=None, *, cls=None, **kwargs): + """The Copy Incremental operation copies a snapshot of the source page + blob to a destination page blob. The snapshot is copied such that only + the differential changes between the previously copied snapshot are + transferred to the destination. The copied snapshots are complete + copies of the original snapshot and can be read or copied from as + usual. This API is supported since REST version 2016-05-31. + + :param copy_source: Specifies the name of the source page blob + snapshot. This value is a URL of up to 2 KB in length that specifies a + page blob snapshot. The value should be URL-encoded as it would appear + in a request URI. The source blob must either be public or must be + authenticated via a shared access signature. + :type copy_source: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + + comp = "incrementalcopy" + + # Construct URL + url = self.copy_incremental.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-copy-source'] = self._serialize.header("copy_source", copy_source, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-copy-id': self._deserialize('str', response.headers.get('x-ms-copy-id')), + 'x-ms-copy-status': self._deserialize(models.CopyStatusType, response.headers.get('x-ms-copy-status')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + copy_incremental.metadata = {'url': '/{containerName}/{blob}'} diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/aio/operations_async/_service_operations_async.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/aio/operations_async/_service_operations_async.py new file mode 100644 index 00000000000..e12c2b9bfb5 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/aio/operations_async/_service_operations_async.py @@ -0,0 +1,664 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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.core.exceptions import map_error + +from ... import models + + +class ServiceOperations: + """ServiceOperations async operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer) -> None: + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + + self._config = config + + async def set_properties(self, storage_service_properties, timeout=None, request_id=None, *, cls=None, **kwargs): + """Sets properties for a storage account's Blob service endpoint, + including properties for Storage Analytics and CORS (Cross-Origin + Resource Sharing) rules. + + :param storage_service_properties: The StorageService properties. + :type storage_service_properties: + ~azure.storage.blob.models.StorageServiceProperties + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + restype = "service" + comp = "properties" + + # Construct URL + url = self.set_properties.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['restype'] = self._serialize.query("restype", restype, 'str') + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/xml; charset=utf-8' + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + + # Construct body + body_content = self._serialize.body(storage_service_properties, 'StorageServiceProperties') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + set_properties.metadata = {'url': '/'} + + async def get_properties(self, timeout=None, request_id=None, *, cls=None, **kwargs): + """gets the properties of a storage account's Blob service, including + properties for Storage Analytics and CORS (Cross-Origin Resource + Sharing) rules. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param callable cls: A custom type or function that will be passed the + direct response + :return: StorageServiceProperties or the result of cls(response) + :rtype: ~azure.storage.blob.models.StorageServiceProperties + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + restype = "service" + comp = "properties" + + # Construct URL + url = self.get_properties.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['restype'] = self._serialize.query("restype", restype, 'str') + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/xml' + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('StorageServiceProperties', response) + header_dict = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + + if cls: + return cls(response, deserialized, header_dict) + + return deserialized + get_properties.metadata = {'url': '/'} + + async def get_statistics(self, timeout=None, request_id=None, *, cls=None, **kwargs): + """Retrieves statistics related to replication for the Blob service. It is + only available on the secondary location endpoint when read-access + geo-redundant replication is enabled for the storage account. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param callable cls: A custom type or function that will be passed the + direct response + :return: StorageServiceStats or the result of cls(response) + :rtype: ~azure.storage.blob.models.StorageServiceStats + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + restype = "service" + comp = "stats" + + # Construct URL + url = self.get_statistics.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['restype'] = self._serialize.query("restype", restype, 'str') + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/xml' + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('StorageServiceStats', response) + header_dict = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + + if cls: + return cls(response, deserialized, header_dict) + + return deserialized + get_statistics.metadata = {'url': '/'} + + async def list_containers_segment(self, prefix=None, marker=None, maxresults=None, include=None, timeout=None, request_id=None, *, cls=None, **kwargs): + """The List Containers Segment operation returns a list of the containers + under the specified account. + + :param prefix: Filters the results to return only containers whose + name begins with the specified prefix. + :type prefix: str + :param marker: A string value that identifies the portion of the list + of containers to be returned with the next listing operation. The + operation returns the NextMarker value within the response body if the + listing operation did not return all containers remaining to be listed + with the current page. The NextMarker value can be used as the value + for the marker parameter in a subsequent call to request the next page + of list items. The marker value is opaque to the client. + :type marker: str + :param maxresults: Specifies the maximum number of containers to + return. If the request does not specify maxresults, or specifies a + value greater than 5000, the server will return up to 5000 items. Note + that if the listing operation crosses a partition boundary, then the + service will return a continuation token for retrieving the remainder + of the results. For this reason, it is possible that the service will + return fewer results than specified by maxresults, or than the default + of 5000. + :type maxresults: int + :param include: Include this parameter to specify that the container's + metadata be returned as part of the response body. + :type include: list[str or + ~azure.storage.blob.models.ListContainersIncludeType] + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param callable cls: A custom type or function that will be passed the + direct response + :return: ListContainersSegmentResponse or the result of cls(response) + :rtype: ~azure.storage.blob.models.ListContainersSegmentResponse + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + comp = "list" + + # Construct URL + url = self.list_containers_segment.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if prefix is not None: + query_parameters['prefix'] = self._serialize.query("prefix", prefix, 'str') + if marker is not None: + query_parameters['marker'] = self._serialize.query("marker", marker, 'str') + if maxresults is not None: + query_parameters['maxresults'] = self._serialize.query("maxresults", maxresults, 'int', minimum=1) + if include is not None: + query_parameters['include'] = self._serialize.query("include", include, '[ListContainersIncludeType]', div=',') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/xml' + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ListContainersSegmentResponse', response) + header_dict = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + + if cls: + return cls(response, deserialized, header_dict) + + return deserialized + list_containers_segment.metadata = {'url': '/'} + + async def get_user_delegation_key(self, key_info, timeout=None, request_id=None, *, cls=None, **kwargs): + """Retrieves a user delegation key for the Blob service. This is only a + valid operation when using bearer token authentication. + + :param key_info: + :type key_info: ~azure.storage.blob.models.KeyInfo + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param callable cls: A custom type or function that will be passed the + direct response + :return: UserDelegationKey or the result of cls(response) + :rtype: ~azure.storage.blob.models.UserDelegationKey + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + restype = "service" + comp = "userdelegationkey" + + # Construct URL + url = self.get_user_delegation_key.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['restype'] = self._serialize.query("restype", restype, 'str') + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/xml' + header_parameters['Content-Type'] = 'application/xml; charset=utf-8' + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + + # Construct body + body_content = self._serialize.body(key_info, 'KeyInfo') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('UserDelegationKey', response) + header_dict = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + + if cls: + return cls(response, deserialized, header_dict) + + return deserialized + get_user_delegation_key.metadata = {'url': '/'} + + async def get_account_info(self, *, cls=None, **kwargs): + """Returns the sku name and account kind . + + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + restype = "account" + comp = "properties" + + # Construct URL + url = self.get_account_info.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['restype'] = self._serialize.query("restype", restype, 'str') + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-sku-name': self._deserialize(models.SkuName, response.headers.get('x-ms-sku-name')), + 'x-ms-account-kind': self._deserialize(models.AccountKind, response.headers.get('x-ms-account-kind')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + get_account_info.metadata = {'url': '/'} + + async def submit_batch(self, body, content_length, multipart_content_type, timeout=None, request_id=None, *, cls=None, **kwargs): + """The Batch operation allows multiple API calls to be embedded into a + single HTTP request. + + :param body: Initial data + :type body: Generator + :param content_length: The length of the request. + :type content_length: long + :param multipart_content_type: Required. The value of this header must + be multipart/mixed with a batch boundary. Example header value: + multipart/mixed; boundary=batch_ + :type multipart_content_type: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param callable cls: A custom type or function that will be passed the + direct response + :return: object or the result of cls(response) + :rtype: Generator + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + comp = "batch" + + # Construct URL + url = self.submit_batch.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/xml' + header_parameters['Content-Type'] = 'application/xml; charset=utf-8' + header_parameters['Content-Length'] = self._serialize.header("content_length", content_length, 'long') + header_parameters['Content-Type'] = self._serialize.header("multipart_content_type", multipart_content_type, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + + # Construct body + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, stream_content=body) + pipeline_response = await self._client._pipeline.run(request, stream=True, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + await response.load_body() + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = response.stream_download(self._client._pipeline) + header_dict = { + 'Content-Type': self._deserialize('str', response.headers.get('Content-Type')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + + if cls: + return cls(response, deserialized, header_dict) + + return deserialized + submit_batch.metadata = {'url': '/'} + + async def filter_blobs(self, timeout=None, request_id=None, where=None, marker=None, maxresults=None, *, cls=None, **kwargs): + """The Filter Blobs operation enables callers to list blobs across all + containers whose tags match a given search expression. Filter blobs + searches across all containers within a storage account but can be + scoped within the expression to a single container. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param where: Filters the results to return only to return only blobs + whose tags match the specified expression. + :type where: str + :param marker: A string value that identifies the portion of the list + of containers to be returned with the next listing operation. The + operation returns the NextMarker value within the response body if the + listing operation did not return all containers remaining to be listed + with the current page. The NextMarker value can be used as the value + for the marker parameter in a subsequent call to request the next page + of list items. The marker value is opaque to the client. + :type marker: str + :param maxresults: Specifies the maximum number of containers to + return. If the request does not specify maxresults, or specifies a + value greater than 5000, the server will return up to 5000 items. Note + that if the listing operation crosses a partition boundary, then the + service will return a continuation token for retrieving the remainder + of the results. For this reason, it is possible that the service will + return fewer results than specified by maxresults, or than the default + of 5000. + :type maxresults: int + :param callable cls: A custom type or function that will be passed the + direct response + :return: FilterBlobSegment or the result of cls(response) + :rtype: ~azure.storage.blob.models.FilterBlobSegment + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + comp = "blobs" + + # Construct URL + url = self.filter_blobs.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + if where is not None: + query_parameters['where'] = self._serialize.query("where", where, 'str') + if marker is not None: + query_parameters['marker'] = self._serialize.query("marker", marker, 'str') + if maxresults is not None: + query_parameters['maxresults'] = self._serialize.query("maxresults", maxresults, 'int', minimum=1) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/xml' + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = await self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('FilterBlobSegment', response) + header_dict = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + + if cls: + return cls(response, deserialized, header_dict) + + return deserialized + filter_blobs.metadata = {'url': '/'} diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/models/__init__.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/models/__init__.py new file mode 100644 index 00000000000..3a6f8ed59f7 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/models/__init__.py @@ -0,0 +1,229 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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 ._models_py3 import AccessPolicy + from ._models_py3 import AppendPositionAccessConditions + from ._models_py3 import ArrowConfiguration + from ._models_py3 import ArrowField + from ._models_py3 import BlobFlatListSegment + from ._models_py3 import BlobHierarchyListSegment + from ._models_py3 import BlobHTTPHeaders + from ._models_py3 import BlobItemInternal + from ._models_py3 import BlobMetadata + from ._models_py3 import BlobPrefix + from ._models_py3 import BlobPropertiesInternal + from ._models_py3 import BlobTag + from ._models_py3 import BlobTags + from ._models_py3 import Block + from ._models_py3 import BlockList + from ._models_py3 import BlockLookupList + from ._models_py3 import ClearRange + from ._models_py3 import ContainerCpkScopeInfo + from ._models_py3 import ContainerItem + from ._models_py3 import ContainerProperties + from ._models_py3 import CorsRule + from ._models_py3 import CpkInfo + from ._models_py3 import CpkScopeInfo + from ._models_py3 import DataLakeStorageError, DataLakeStorageErrorException + from ._models_py3 import DataLakeStorageErrorError + from ._models_py3 import DelimitedTextConfiguration + from ._models_py3 import DirectoryHttpHeaders + from ._models_py3 import FilterBlobItem + from ._models_py3 import FilterBlobSegment + from ._models_py3 import GeoReplication + from ._models_py3 import JsonTextConfiguration + from ._models_py3 import KeyInfo + from ._models_py3 import LeaseAccessConditions + from ._models_py3 import ListBlobsFlatSegmentResponse + from ._models_py3 import ListBlobsHierarchySegmentResponse + from ._models_py3 import ListContainersSegmentResponse + from ._models_py3 import Logging + from ._models_py3 import Metrics + from ._models_py3 import ModifiedAccessConditions + from ._models_py3 import PageList + from ._models_py3 import PageRange + from ._models_py3 import QueryFormat + from ._models_py3 import QueryRequest + from ._models_py3 import QuerySerialization + from ._models_py3 import RetentionPolicy + from ._models_py3 import SequenceNumberAccessConditions + from ._models_py3 import SignedIdentifier + from ._models_py3 import SourceModifiedAccessConditions + from ._models_py3 import StaticWebsite + from ._models_py3 import StorageError, StorageErrorException + from ._models_py3 import StorageServiceProperties + from ._models_py3 import StorageServiceStats + from ._models_py3 import UserDelegationKey +except (SyntaxError, ImportError): + from ._models import AccessPolicy + from ._models import AppendPositionAccessConditions + from ._models import ArrowConfiguration + from ._models import ArrowField + from ._models import BlobFlatListSegment + from ._models import BlobHierarchyListSegment + from ._models import BlobHTTPHeaders + from ._models import BlobItemInternal + from ._models import BlobMetadata + from ._models import BlobPrefix + from ._models import BlobPropertiesInternal + from ._models import BlobTag + from ._models import BlobTags + from ._models import Block + from ._models import BlockList + from ._models import BlockLookupList + from ._models import ClearRange + from ._models import ContainerCpkScopeInfo + from ._models import ContainerItem + from ._models import ContainerProperties + from ._models import CorsRule + from ._models import CpkInfo + from ._models import CpkScopeInfo + from ._models import DataLakeStorageError, DataLakeStorageErrorException + from ._models import DataLakeStorageErrorError + from ._models import DelimitedTextConfiguration + from ._models import DirectoryHttpHeaders + from ._models import FilterBlobItem + from ._models import FilterBlobSegment + from ._models import GeoReplication + from ._models import JsonTextConfiguration + from ._models import KeyInfo + from ._models import LeaseAccessConditions + from ._models import ListBlobsFlatSegmentResponse + from ._models import ListBlobsHierarchySegmentResponse + from ._models import ListContainersSegmentResponse + from ._models import Logging + from ._models import Metrics + from ._models import ModifiedAccessConditions + from ._models import PageList + from ._models import PageRange + from ._models import QueryFormat + from ._models import QueryRequest + from ._models import QuerySerialization + from ._models import RetentionPolicy + from ._models import SequenceNumberAccessConditions + from ._models import SignedIdentifier + from ._models import SourceModifiedAccessConditions + from ._models import StaticWebsite + from ._models import StorageError, StorageErrorException + from ._models import StorageServiceProperties + from ._models import StorageServiceStats + from ._models import UserDelegationKey +from ._azure_blob_storage_enums import ( + AccessTier, + AccessTierOptional, + AccessTierRequired, + AccountKind, + ArchiveStatus, + BlobExpiryOptions, + BlobType, + BlockListType, + CopyStatusType, + DeleteSnapshotsOptionType, + EncryptionAlgorithmType, + GeoReplicationStatusType, + LeaseDurationType, + LeaseStateType, + LeaseStatusType, + ListBlobsIncludeItem, + ListContainersIncludeType, + PathRenameMode, + PremiumPageBlobAccessTier, + PublicAccessType, + QueryFormatType, + RehydratePriority, + SequenceNumberActionType, + SkuName, + StorageErrorCode, + SyncCopyStatusType, +) + +__all__ = [ + 'AccessPolicy', + 'AppendPositionAccessConditions', + 'ArrowConfiguration', + 'ArrowField', + 'BlobFlatListSegment', + 'BlobHierarchyListSegment', + 'BlobHTTPHeaders', + 'BlobItemInternal', + 'BlobMetadata', + 'BlobPrefix', + 'BlobPropertiesInternal', + 'BlobTag', + 'BlobTags', + 'Block', + 'BlockList', + 'BlockLookupList', + 'ClearRange', + 'ContainerCpkScopeInfo', + 'ContainerItem', + 'ContainerProperties', + 'CorsRule', + 'CpkInfo', + 'CpkScopeInfo', + 'DataLakeStorageError', 'DataLakeStorageErrorException', + 'DataLakeStorageErrorError', + 'DelimitedTextConfiguration', + 'DirectoryHttpHeaders', + 'FilterBlobItem', + 'FilterBlobSegment', + 'GeoReplication', + 'JsonTextConfiguration', + 'KeyInfo', + 'LeaseAccessConditions', + 'ListBlobsFlatSegmentResponse', + 'ListBlobsHierarchySegmentResponse', + 'ListContainersSegmentResponse', + 'Logging', + 'Metrics', + 'ModifiedAccessConditions', + 'PageList', + 'PageRange', + 'QueryFormat', + 'QueryRequest', + 'QuerySerialization', + 'RetentionPolicy', + 'SequenceNumberAccessConditions', + 'SignedIdentifier', + 'SourceModifiedAccessConditions', + 'StaticWebsite', + 'StorageError', 'StorageErrorException', + 'StorageServiceProperties', + 'StorageServiceStats', + 'UserDelegationKey', + 'PublicAccessType', + 'CopyStatusType', + 'LeaseDurationType', + 'LeaseStateType', + 'LeaseStatusType', + 'AccessTier', + 'ArchiveStatus', + 'BlobType', + 'RehydratePriority', + 'StorageErrorCode', + 'GeoReplicationStatusType', + 'QueryFormatType', + 'AccessTierRequired', + 'AccessTierOptional', + 'PremiumPageBlobAccessTier', + 'BlobExpiryOptions', + 'BlockListType', + 'DeleteSnapshotsOptionType', + 'EncryptionAlgorithmType', + 'ListBlobsIncludeItem', + 'ListContainersIncludeType', + 'PathRenameMode', + 'SequenceNumberActionType', + 'SkuName', + 'AccountKind', + 'SyncCopyStatusType', +] diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/models/_azure_blob_storage_enums.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/models/_azure_blob_storage_enums.py new file mode 100644 index 00000000000..e45eea3f2f3 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/models/_azure_blob_storage_enums.py @@ -0,0 +1,343 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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 PublicAccessType(str, Enum): + + container = "container" + blob = "blob" + + +class CopyStatusType(str, Enum): + + pending = "pending" + success = "success" + aborted = "aborted" + failed = "failed" + + +class LeaseDurationType(str, Enum): + + infinite = "infinite" + fixed = "fixed" + + +class LeaseStateType(str, Enum): + + available = "available" + leased = "leased" + expired = "expired" + breaking = "breaking" + broken = "broken" + + +class LeaseStatusType(str, Enum): + + locked = "locked" + unlocked = "unlocked" + + +class AccessTier(str, Enum): + + p4 = "P4" + p6 = "P6" + p10 = "P10" + p15 = "P15" + p20 = "P20" + p30 = "P30" + p40 = "P40" + p50 = "P50" + p60 = "P60" + p70 = "P70" + p80 = "P80" + hot = "Hot" + cool = "Cool" + archive = "Archive" + + +class ArchiveStatus(str, Enum): + + rehydrate_pending_to_hot = "rehydrate-pending-to-hot" + rehydrate_pending_to_cool = "rehydrate-pending-to-cool" + + +class BlobType(str, Enum): + + block_blob = "BlockBlob" + page_blob = "PageBlob" + append_blob = "AppendBlob" + + +class RehydratePriority(str, Enum): + + high = "High" + standard = "Standard" + + +class StorageErrorCode(str, Enum): + + account_already_exists = "AccountAlreadyExists" + account_being_created = "AccountBeingCreated" + account_is_disabled = "AccountIsDisabled" + authentication_failed = "AuthenticationFailed" + authorization_failure = "AuthorizationFailure" + condition_headers_not_supported = "ConditionHeadersNotSupported" + condition_not_met = "ConditionNotMet" + empty_metadata_key = "EmptyMetadataKey" + insufficient_account_permissions = "InsufficientAccountPermissions" + internal_error = "InternalError" + invalid_authentication_info = "InvalidAuthenticationInfo" + invalid_header_value = "InvalidHeaderValue" + invalid_http_verb = "InvalidHttpVerb" + invalid_input = "InvalidInput" + invalid_md5 = "InvalidMd5" + invalid_metadata = "InvalidMetadata" + invalid_query_parameter_value = "InvalidQueryParameterValue" + invalid_range = "InvalidRange" + invalid_resource_name = "InvalidResourceName" + invalid_uri = "InvalidUri" + invalid_xml_document = "InvalidXmlDocument" + invalid_xml_node_value = "InvalidXmlNodeValue" + md5_mismatch = "Md5Mismatch" + metadata_too_large = "MetadataTooLarge" + missing_content_length_header = "MissingContentLengthHeader" + missing_required_query_parameter = "MissingRequiredQueryParameter" + missing_required_header = "MissingRequiredHeader" + missing_required_xml_node = "MissingRequiredXmlNode" + multiple_condition_headers_not_supported = "MultipleConditionHeadersNotSupported" + operation_timed_out = "OperationTimedOut" + out_of_range_input = "OutOfRangeInput" + out_of_range_query_parameter_value = "OutOfRangeQueryParameterValue" + request_body_too_large = "RequestBodyTooLarge" + resource_type_mismatch = "ResourceTypeMismatch" + request_url_failed_to_parse = "RequestUrlFailedToParse" + resource_already_exists = "ResourceAlreadyExists" + resource_not_found = "ResourceNotFound" + server_busy = "ServerBusy" + unsupported_header = "UnsupportedHeader" + unsupported_xml_node = "UnsupportedXmlNode" + unsupported_query_parameter = "UnsupportedQueryParameter" + unsupported_http_verb = "UnsupportedHttpVerb" + append_position_condition_not_met = "AppendPositionConditionNotMet" + blob_already_exists = "BlobAlreadyExists" + blob_not_found = "BlobNotFound" + blob_overwritten = "BlobOverwritten" + blob_tier_inadequate_for_content_length = "BlobTierInadequateForContentLength" + block_count_exceeds_limit = "BlockCountExceedsLimit" + block_list_too_long = "BlockListTooLong" + cannot_change_to_lower_tier = "CannotChangeToLowerTier" + cannot_verify_copy_source = "CannotVerifyCopySource" + container_already_exists = "ContainerAlreadyExists" + container_being_deleted = "ContainerBeingDeleted" + container_disabled = "ContainerDisabled" + container_not_found = "ContainerNotFound" + content_length_larger_than_tier_limit = "ContentLengthLargerThanTierLimit" + copy_across_accounts_not_supported = "CopyAcrossAccountsNotSupported" + copy_id_mismatch = "CopyIdMismatch" + feature_version_mismatch = "FeatureVersionMismatch" + incremental_copy_blob_mismatch = "IncrementalCopyBlobMismatch" + incremental_copy_of_eralier_version_snapshot_not_allowed = "IncrementalCopyOfEralierVersionSnapshotNotAllowed" + incremental_copy_source_must_be_snapshot = "IncrementalCopySourceMustBeSnapshot" + infinite_lease_duration_required = "InfiniteLeaseDurationRequired" + invalid_blob_or_block = "InvalidBlobOrBlock" + invalid_blob_tier = "InvalidBlobTier" + invalid_blob_type = "InvalidBlobType" + invalid_block_id = "InvalidBlockId" + invalid_block_list = "InvalidBlockList" + invalid_operation = "InvalidOperation" + invalid_page_range = "InvalidPageRange" + invalid_source_blob_type = "InvalidSourceBlobType" + invalid_source_blob_url = "InvalidSourceBlobUrl" + invalid_version_for_page_blob_operation = "InvalidVersionForPageBlobOperation" + lease_already_present = "LeaseAlreadyPresent" + lease_already_broken = "LeaseAlreadyBroken" + lease_id_mismatch_with_blob_operation = "LeaseIdMismatchWithBlobOperation" + lease_id_mismatch_with_container_operation = "LeaseIdMismatchWithContainerOperation" + lease_id_mismatch_with_lease_operation = "LeaseIdMismatchWithLeaseOperation" + lease_id_missing = "LeaseIdMissing" + lease_is_breaking_and_cannot_be_acquired = "LeaseIsBreakingAndCannotBeAcquired" + lease_is_breaking_and_cannot_be_changed = "LeaseIsBreakingAndCannotBeChanged" + lease_is_broken_and_cannot_be_renewed = "LeaseIsBrokenAndCannotBeRenewed" + lease_lost = "LeaseLost" + lease_not_present_with_blob_operation = "LeaseNotPresentWithBlobOperation" + lease_not_present_with_container_operation = "LeaseNotPresentWithContainerOperation" + lease_not_present_with_lease_operation = "LeaseNotPresentWithLeaseOperation" + max_blob_size_condition_not_met = "MaxBlobSizeConditionNotMet" + no_authentication_information = "NoAuthenticationInformation" + no_pending_copy_operation = "NoPendingCopyOperation" + operation_not_allowed_on_incremental_copy_blob = "OperationNotAllowedOnIncrementalCopyBlob" + pending_copy_operation = "PendingCopyOperation" + previous_snapshot_cannot_be_newer = "PreviousSnapshotCannotBeNewer" + previous_snapshot_not_found = "PreviousSnapshotNotFound" + previous_snapshot_operation_not_supported = "PreviousSnapshotOperationNotSupported" + sequence_number_condition_not_met = "SequenceNumberConditionNotMet" + sequence_number_increment_too_large = "SequenceNumberIncrementTooLarge" + snapshot_count_exceeded = "SnapshotCountExceeded" + snaphot_operation_rate_exceeded = "SnaphotOperationRateExceeded" + snapshots_present = "SnapshotsPresent" + source_condition_not_met = "SourceConditionNotMet" + system_in_use = "SystemInUse" + target_condition_not_met = "TargetConditionNotMet" + unauthorized_blob_overwrite = "UnauthorizedBlobOverwrite" + blob_being_rehydrated = "BlobBeingRehydrated" + blob_archived = "BlobArchived" + blob_not_archived = "BlobNotArchived" + authorization_source_ip_mismatch = "AuthorizationSourceIPMismatch" + authorization_protocol_mismatch = "AuthorizationProtocolMismatch" + authorization_permission_mismatch = "AuthorizationPermissionMismatch" + authorization_service_mismatch = "AuthorizationServiceMismatch" + authorization_resource_type_mismatch = "AuthorizationResourceTypeMismatch" + + +class GeoReplicationStatusType(str, Enum): + + live = "live" + bootstrap = "bootstrap" + unavailable = "unavailable" + + +class QueryFormatType(str, Enum): + + delimited = "delimited" + json = "json" + arrow = "arrow" + + +class AccessTierRequired(str, Enum): + + p4 = "P4" + p6 = "P6" + p10 = "P10" + p15 = "P15" + p20 = "P20" + p30 = "P30" + p40 = "P40" + p50 = "P50" + p60 = "P60" + p70 = "P70" + p80 = "P80" + hot = "Hot" + cool = "Cool" + archive = "Archive" + + +class AccessTierOptional(str, Enum): + + p4 = "P4" + p6 = "P6" + p10 = "P10" + p15 = "P15" + p20 = "P20" + p30 = "P30" + p40 = "P40" + p50 = "P50" + p60 = "P60" + p70 = "P70" + p80 = "P80" + hot = "Hot" + cool = "Cool" + archive = "Archive" + + +class PremiumPageBlobAccessTier(str, Enum): + + p4 = "P4" + p6 = "P6" + p10 = "P10" + p15 = "P15" + p20 = "P20" + p30 = "P30" + p40 = "P40" + p50 = "P50" + p60 = "P60" + p70 = "P70" + p80 = "P80" + + +class BlobExpiryOptions(str, Enum): + + never_expire = "NeverExpire" + relative_to_creation = "RelativeToCreation" + relative_to_now = "RelativeToNow" + absolute = "Absolute" + + +class BlockListType(str, Enum): + + committed = "committed" + uncommitted = "uncommitted" + all = "all" + + +class DeleteSnapshotsOptionType(str, Enum): + + include = "include" + only = "only" + + +class EncryptionAlgorithmType(str, Enum): + + aes256 = "AES256" + + +class ListBlobsIncludeItem(str, Enum): + + copy = "copy" + deleted = "deleted" + metadata = "metadata" + snapshots = "snapshots" + uncommittedblobs = "uncommittedblobs" + versions = "versions" + tags = "tags" + + +class ListContainersIncludeType(str, Enum): + + metadata = "metadata" + deleted = "deleted" + + +class PathRenameMode(str, Enum): + + legacy = "legacy" + posix = "posix" + + +class SequenceNumberActionType(str, Enum): + + max = "max" + update = "update" + increment = "increment" + + +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 AccountKind(str, Enum): + + storage = "Storage" + blob_storage = "BlobStorage" + storage_v2 = "StorageV2" + file_storage = "FileStorage" + block_blob_storage = "BlockBlobStorage" + + +class SyncCopyStatusType(str, Enum): + + success = "success" diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/models/_models.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/models/_models.py new file mode 100644 index 00000000000..1fdddbe96a0 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/models/_models.py @@ -0,0 +1,2009 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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 azure.core.exceptions import HttpResponseError + + +class AccessPolicy(Model): + """An Access policy. + + :param start: the date-time the policy is active + :type start: str + :param expiry: the date-time the policy expires + :type expiry: str + :param permission: the permissions for the acl policy + :type permission: str + """ + + _attribute_map = { + 'start': {'key': 'Start', 'type': 'str', 'xml': {'name': 'Start'}}, + 'expiry': {'key': 'Expiry', 'type': 'str', 'xml': {'name': 'Expiry'}}, + 'permission': {'key': 'Permission', 'type': 'str', 'xml': {'name': 'Permission'}}, + } + _xml_map = { + } + + def __init__(self, **kwargs): + super(AccessPolicy, self).__init__(**kwargs) + self.start = kwargs.get('start', None) + self.expiry = kwargs.get('expiry', None) + self.permission = kwargs.get('permission', None) + + +class AppendPositionAccessConditions(Model): + """Additional parameters for a set of operations, such as: + AppendBlob_append_block, AppendBlob_append_block_from_url, AppendBlob_seal. + + :param max_size: Optional conditional header. The max length in bytes + permitted for the append blob. If the Append Block operation would cause + the blob to exceed that limit or if the blob size is already greater than + the value specified in this header, the request will fail with + MaxBlobSizeConditionNotMet error (HTTP status code 412 - Precondition + Failed). + :type max_size: long + :param append_position: Optional conditional header, used only for the + Append Block operation. A number indicating the byte offset to compare. + Append Block will succeed only if the append position is equal to this + number. If it is not, the request will fail with the + AppendPositionConditionNotMet error (HTTP status code 412 - Precondition + Failed). + :type append_position: long + """ + + _attribute_map = { + 'max_size': {'key': '', 'type': 'long', 'xml': {'name': 'max_size'}}, + 'append_position': {'key': '', 'type': 'long', 'xml': {'name': 'append_position'}}, + } + _xml_map = { + } + + def __init__(self, **kwargs): + super(AppendPositionAccessConditions, self).__init__(**kwargs) + self.max_size = kwargs.get('max_size', None) + self.append_position = kwargs.get('append_position', None) + + +class ArrowConfiguration(Model): + """arrow configuration. + + All required parameters must be populated in order to send to Azure. + + :param schema: Required. + :type schema: list[~azure.storage.blob.models.ArrowField] + """ + + _validation = { + 'schema': {'required': True}, + } + + _attribute_map = { + 'schema': {'key': 'Schema', 'type': '[ArrowField]', 'xml': {'name': 'Schema', 'itemsName': 'Schema', 'wrapped': True}}, + } + _xml_map = { + 'name': 'ArrowConfiguration' + } + + def __init__(self, **kwargs): + super(ArrowConfiguration, self).__init__(**kwargs) + self.schema = kwargs.get('schema', None) + + +class ArrowField(Model): + """field of an arrow schema. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. + :type type: str + :param name: + :type name: str + :param precision: + :type precision: int + :param scale: + :type scale: int + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'Type', 'type': 'str', 'xml': {'name': 'Type'}}, + 'name': {'key': 'Name', 'type': 'str', 'xml': {'name': 'Name'}}, + 'precision': {'key': 'Precision', 'type': 'int', 'xml': {'name': 'Precision'}}, + 'scale': {'key': 'Scale', 'type': 'int', 'xml': {'name': 'Scale'}}, + } + _xml_map = { + 'name': 'Field' + } + + def __init__(self, **kwargs): + super(ArrowField, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + self.name = kwargs.get('name', None) + self.precision = kwargs.get('precision', None) + self.scale = kwargs.get('scale', None) + + +class BlobFlatListSegment(Model): + """BlobFlatListSegment. + + All required parameters must be populated in order to send to Azure. + + :param blob_items: Required. + :type blob_items: list[~azure.storage.blob.models.BlobItemInternal] + """ + + _validation = { + 'blob_items': {'required': True}, + } + + _attribute_map = { + 'blob_items': {'key': 'BlobItems', 'type': '[BlobItemInternal]', 'xml': {'name': 'BlobItems', 'itemsName': 'Blob'}}, + } + _xml_map = { + 'name': 'Blobs' + } + + def __init__(self, **kwargs): + super(BlobFlatListSegment, self).__init__(**kwargs) + self.blob_items = kwargs.get('blob_items', None) + + +class BlobHierarchyListSegment(Model): + """BlobHierarchyListSegment. + + All required parameters must be populated in order to send to Azure. + + :param blob_prefixes: + :type blob_prefixes: list[~azure.storage.blob.models.BlobPrefix] + :param blob_items: Required. + :type blob_items: list[~azure.storage.blob.models.BlobItemInternal] + """ + + _validation = { + 'blob_items': {'required': True}, + } + + _attribute_map = { + 'blob_prefixes': {'key': 'BlobPrefixes', 'type': '[BlobPrefix]', 'xml': {'name': 'BlobPrefix', 'itemsName': 'BlobPrefix'}}, + 'blob_items': {'key': 'BlobItems', 'type': '[BlobItemInternal]', 'xml': {'name': 'Blob', 'itemsName': 'Blob'}}, + } + _xml_map = { + 'name': 'Blobs' + } + + def __init__(self, **kwargs): + super(BlobHierarchyListSegment, self).__init__(**kwargs) + self.blob_prefixes = kwargs.get('blob_prefixes', None) + self.blob_items = kwargs.get('blob_items', None) + + +class BlobHTTPHeaders(Model): + """Additional parameters for a set of operations. + + :param blob_cache_control: Optional. Sets the blob's cache control. If + specified, this property is stored with the blob and returned with a read + request. + :type blob_cache_control: str + :param blob_content_type: Optional. Sets the blob's content type. If + specified, this property is stored with the blob and returned with a read + request. + :type blob_content_type: str + :param blob_content_md5: Optional. An MD5 hash of the blob content. Note + that this hash is not validated, as the hashes for the individual blocks + were validated when each was uploaded. + :type blob_content_md5: bytearray + :param blob_content_encoding: Optional. Sets the blob's content encoding. + If specified, this property is stored with the blob and returned with a + read request. + :type blob_content_encoding: str + :param blob_content_language: Optional. Set the blob's content language. + If specified, this property is stored with the blob and returned with a + read request. + :type blob_content_language: str + :param blob_content_disposition: Optional. Sets the blob's + Content-Disposition header. + :type blob_content_disposition: str + """ + + _attribute_map = { + 'blob_cache_control': {'key': '', 'type': 'str', 'xml': {'name': 'blob_cache_control'}}, + 'blob_content_type': {'key': '', 'type': 'str', 'xml': {'name': 'blob_content_type'}}, + 'blob_content_md5': {'key': '', 'type': 'bytearray', 'xml': {'name': 'blob_content_md5'}}, + 'blob_content_encoding': {'key': '', 'type': 'str', 'xml': {'name': 'blob_content_encoding'}}, + 'blob_content_language': {'key': '', 'type': 'str', 'xml': {'name': 'blob_content_language'}}, + 'blob_content_disposition': {'key': '', 'type': 'str', 'xml': {'name': 'blob_content_disposition'}}, + } + _xml_map = { + } + + def __init__(self, **kwargs): + super(BlobHTTPHeaders, self).__init__(**kwargs) + self.blob_cache_control = kwargs.get('blob_cache_control', None) + self.blob_content_type = kwargs.get('blob_content_type', None) + self.blob_content_md5 = kwargs.get('blob_content_md5', None) + self.blob_content_encoding = kwargs.get('blob_content_encoding', None) + self.blob_content_language = kwargs.get('blob_content_language', None) + self.blob_content_disposition = kwargs.get('blob_content_disposition', None) + + +class BlobItemInternal(Model): + """An Azure Storage blob. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. + :type name: str + :param deleted: Required. + :type deleted: bool + :param snapshot: Required. + :type snapshot: str + :param version_id: + :type version_id: str + :param is_current_version: + :type is_current_version: bool + :param properties: Required. + :type properties: ~azure.storage.blob.models.BlobPropertiesInternal + :param metadata: + :type metadata: ~azure.storage.blob.models.BlobMetadata + :param blob_tags: + :type blob_tags: ~azure.storage.blob.models.BlobTags + :param object_replication_metadata: + :type object_replication_metadata: dict[str, str] + """ + + _validation = { + 'name': {'required': True}, + 'deleted': {'required': True}, + 'snapshot': {'required': True}, + 'properties': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'Name', 'type': 'str', 'xml': {'name': 'Name'}}, + 'deleted': {'key': 'Deleted', 'type': 'bool', 'xml': {'name': 'Deleted'}}, + 'snapshot': {'key': 'Snapshot', 'type': 'str', 'xml': {'name': 'Snapshot'}}, + 'version_id': {'key': 'VersionId', 'type': 'str', 'xml': {'name': 'VersionId'}}, + 'is_current_version': {'key': 'IsCurrentVersion', 'type': 'bool', 'xml': {'name': 'IsCurrentVersion'}}, + 'properties': {'key': 'Properties', 'type': 'BlobPropertiesInternal', 'xml': {'name': 'Properties'}}, + 'metadata': {'key': 'Metadata', 'type': 'BlobMetadata', 'xml': {'name': 'Metadata'}}, + 'blob_tags': {'key': 'BlobTags', 'type': 'BlobTags', 'xml': {'name': 'BlobTags'}}, + 'object_replication_metadata': {'key': 'OrMetadata', 'type': '{str}', 'xml': {'name': 'OrMetadata'}}, + } + _xml_map = { + 'name': 'Blob' + } + + def __init__(self, **kwargs): + super(BlobItemInternal, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.deleted = kwargs.get('deleted', None) + self.snapshot = kwargs.get('snapshot', None) + self.version_id = kwargs.get('version_id', None) + self.is_current_version = kwargs.get('is_current_version', None) + self.properties = kwargs.get('properties', None) + self.metadata = kwargs.get('metadata', None) + self.blob_tags = kwargs.get('blob_tags', None) + self.object_replication_metadata = kwargs.get('object_replication_metadata', None) + + +class BlobMetadata(Model): + """BlobMetadata. + + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, str] + :param encrypted: + :type encrypted: str + """ + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{str}', 'xml': {'name': 'additional_properties'}}, + 'encrypted': {'key': 'Encrypted', 'type': 'str', 'xml': {'name': 'Encrypted', 'attr': True}}, + } + _xml_map = { + 'name': 'Metadata' + } + + def __init__(self, **kwargs): + super(BlobMetadata, self).__init__(**kwargs) + self.additional_properties = kwargs.get('additional_properties', None) + self.encrypted = kwargs.get('encrypted', None) + + +class BlobPrefix(Model): + """BlobPrefix. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. + :type name: str + """ + + _validation = { + 'name': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'Name', 'type': 'str', 'xml': {'name': 'Name'}}, + } + _xml_map = { + } + + def __init__(self, **kwargs): + super(BlobPrefix, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + + +class BlobPropertiesInternal(Model): + """Properties of a blob. + + All required parameters must be populated in order to send to Azure. + + :param creation_time: + :type creation_time: datetime + :param last_modified: Required. + :type last_modified: datetime + :param etag: Required. + :type etag: str + :param content_length: Size in bytes + :type content_length: long + :param content_type: + :type content_type: str + :param content_encoding: + :type content_encoding: str + :param content_language: + :type content_language: str + :param content_md5: + :type content_md5: bytearray + :param content_disposition: + :type content_disposition: str + :param cache_control: + :type cache_control: str + :param blob_sequence_number: + :type blob_sequence_number: long + :param blob_type: Possible values include: 'BlockBlob', 'PageBlob', + 'AppendBlob' + :type blob_type: str or ~azure.storage.blob.models.BlobType + :param lease_status: Possible values include: 'locked', 'unlocked' + :type lease_status: str or ~azure.storage.blob.models.LeaseStatusType + :param lease_state: Possible values include: 'available', 'leased', + 'expired', 'breaking', 'broken' + :type lease_state: str or ~azure.storage.blob.models.LeaseStateType + :param lease_duration: Possible values include: 'infinite', 'fixed' + :type lease_duration: str or ~azure.storage.blob.models.LeaseDurationType + :param copy_id: + :type copy_id: str + :param copy_status: Possible values include: 'pending', 'success', + 'aborted', 'failed' + :type copy_status: str or ~azure.storage.blob.models.CopyStatusType + :param copy_source: + :type copy_source: str + :param copy_progress: + :type copy_progress: str + :param copy_completion_time: + :type copy_completion_time: datetime + :param copy_status_description: + :type copy_status_description: str + :param server_encrypted: + :type server_encrypted: bool + :param incremental_copy: + :type incremental_copy: bool + :param destination_snapshot: + :type destination_snapshot: str + :param deleted_time: + :type deleted_time: datetime + :param remaining_retention_days: + :type remaining_retention_days: int + :param access_tier: Possible values include: 'P4', 'P6', 'P10', 'P15', + 'P20', 'P30', 'P40', 'P50', 'P60', 'P70', 'P80', 'Hot', 'Cool', 'Archive' + :type access_tier: str or ~azure.storage.blob.models.AccessTier + :param access_tier_inferred: + :type access_tier_inferred: bool + :param archive_status: Possible values include: + 'rehydrate-pending-to-hot', 'rehydrate-pending-to-cool' + :type archive_status: str or ~azure.storage.blob.models.ArchiveStatus + :param customer_provided_key_sha256: + :type customer_provided_key_sha256: str + :param encryption_scope: The name of the encryption scope under which the + blob is encrypted. + :type encryption_scope: str + :param access_tier_change_time: + :type access_tier_change_time: datetime + :param tag_count: + :type tag_count: int + :param expires_on: + :type expires_on: datetime + :param is_sealed: + :type is_sealed: bool + :param rehydrate_priority: Possible values include: 'High', 'Standard' + :type rehydrate_priority: str or + ~azure.storage.blob.models.RehydratePriority + :param last_accessed_on: + :type last_accessed_on: datetime + """ + + _validation = { + 'last_modified': {'required': True}, + 'etag': {'required': True}, + } + + _attribute_map = { + 'creation_time': {'key': 'Creation-Time', 'type': 'rfc-1123', 'xml': {'name': 'Creation-Time'}}, + 'last_modified': {'key': 'Last-Modified', 'type': 'rfc-1123', 'xml': {'name': 'Last-Modified'}}, + 'etag': {'key': 'Etag', 'type': 'str', 'xml': {'name': 'Etag'}}, + 'content_length': {'key': 'Content-Length', 'type': 'long', 'xml': {'name': 'Content-Length'}}, + 'content_type': {'key': 'Content-Type', 'type': 'str', 'xml': {'name': 'Content-Type'}}, + 'content_encoding': {'key': 'Content-Encoding', 'type': 'str', 'xml': {'name': 'Content-Encoding'}}, + 'content_language': {'key': 'Content-Language', 'type': 'str', 'xml': {'name': 'Content-Language'}}, + 'content_md5': {'key': 'Content-MD5', 'type': 'bytearray', 'xml': {'name': 'Content-MD5'}}, + 'content_disposition': {'key': 'Content-Disposition', 'type': 'str', 'xml': {'name': 'Content-Disposition'}}, + 'cache_control': {'key': 'Cache-Control', 'type': 'str', 'xml': {'name': 'Cache-Control'}}, + 'blob_sequence_number': {'key': 'x-ms-blob-sequence-number', 'type': 'long', 'xml': {'name': 'x-ms-blob-sequence-number'}}, + 'blob_type': {'key': 'BlobType', 'type': 'BlobType', 'xml': {'name': 'BlobType'}}, + 'lease_status': {'key': 'LeaseStatus', 'type': 'LeaseStatusType', 'xml': {'name': 'LeaseStatus'}}, + 'lease_state': {'key': 'LeaseState', 'type': 'LeaseStateType', 'xml': {'name': 'LeaseState'}}, + 'lease_duration': {'key': 'LeaseDuration', 'type': 'LeaseDurationType', 'xml': {'name': 'LeaseDuration'}}, + 'copy_id': {'key': 'CopyId', 'type': 'str', 'xml': {'name': 'CopyId'}}, + 'copy_status': {'key': 'CopyStatus', 'type': 'CopyStatusType', 'xml': {'name': 'CopyStatus'}}, + 'copy_source': {'key': 'CopySource', 'type': 'str', 'xml': {'name': 'CopySource'}}, + 'copy_progress': {'key': 'CopyProgress', 'type': 'str', 'xml': {'name': 'CopyProgress'}}, + 'copy_completion_time': {'key': 'CopyCompletionTime', 'type': 'rfc-1123', 'xml': {'name': 'CopyCompletionTime'}}, + 'copy_status_description': {'key': 'CopyStatusDescription', 'type': 'str', 'xml': {'name': 'CopyStatusDescription'}}, + 'server_encrypted': {'key': 'ServerEncrypted', 'type': 'bool', 'xml': {'name': 'ServerEncrypted'}}, + 'incremental_copy': {'key': 'IncrementalCopy', 'type': 'bool', 'xml': {'name': 'IncrementalCopy'}}, + 'destination_snapshot': {'key': 'DestinationSnapshot', 'type': 'str', 'xml': {'name': 'DestinationSnapshot'}}, + 'deleted_time': {'key': 'DeletedTime', 'type': 'rfc-1123', 'xml': {'name': 'DeletedTime'}}, + 'remaining_retention_days': {'key': 'RemainingRetentionDays', 'type': 'int', 'xml': {'name': 'RemainingRetentionDays'}}, + 'access_tier': {'key': 'AccessTier', 'type': 'str', 'xml': {'name': 'AccessTier'}}, + 'access_tier_inferred': {'key': 'AccessTierInferred', 'type': 'bool', 'xml': {'name': 'AccessTierInferred'}}, + 'archive_status': {'key': 'ArchiveStatus', 'type': 'str', 'xml': {'name': 'ArchiveStatus'}}, + 'customer_provided_key_sha256': {'key': 'CustomerProvidedKeySha256', 'type': 'str', 'xml': {'name': 'CustomerProvidedKeySha256'}}, + 'encryption_scope': {'key': 'EncryptionScope', 'type': 'str', 'xml': {'name': 'EncryptionScope'}}, + 'access_tier_change_time': {'key': 'AccessTierChangeTime', 'type': 'rfc-1123', 'xml': {'name': 'AccessTierChangeTime'}}, + 'tag_count': {'key': 'TagCount', 'type': 'int', 'xml': {'name': 'TagCount'}}, + 'expires_on': {'key': 'Expiry-Time', 'type': 'rfc-1123', 'xml': {'name': 'Expiry-Time'}}, + 'is_sealed': {'key': 'Sealed', 'type': 'bool', 'xml': {'name': 'Sealed'}}, + 'rehydrate_priority': {'key': 'RehydratePriority', 'type': 'str', 'xml': {'name': 'RehydratePriority'}}, + 'last_accessed_on': {'key': 'LastAccessTime', 'type': 'rfc-1123', 'xml': {'name': 'LastAccessTime'}}, + } + _xml_map = { + 'name': 'Properties' + } + + def __init__(self, **kwargs): + super(BlobPropertiesInternal, self).__init__(**kwargs) + self.creation_time = kwargs.get('creation_time', None) + self.last_modified = kwargs.get('last_modified', None) + self.etag = kwargs.get('etag', None) + self.content_length = kwargs.get('content_length', None) + self.content_type = kwargs.get('content_type', None) + self.content_encoding = kwargs.get('content_encoding', None) + self.content_language = kwargs.get('content_language', None) + self.content_md5 = kwargs.get('content_md5', None) + self.content_disposition = kwargs.get('content_disposition', None) + self.cache_control = kwargs.get('cache_control', None) + self.blob_sequence_number = kwargs.get('blob_sequence_number', None) + self.blob_type = kwargs.get('blob_type', None) + self.lease_status = kwargs.get('lease_status', None) + self.lease_state = kwargs.get('lease_state', None) + self.lease_duration = kwargs.get('lease_duration', None) + self.copy_id = kwargs.get('copy_id', None) + self.copy_status = kwargs.get('copy_status', None) + self.copy_source = kwargs.get('copy_source', None) + self.copy_progress = kwargs.get('copy_progress', None) + self.copy_completion_time = kwargs.get('copy_completion_time', None) + self.copy_status_description = kwargs.get('copy_status_description', None) + self.server_encrypted = kwargs.get('server_encrypted', None) + self.incremental_copy = kwargs.get('incremental_copy', None) + self.destination_snapshot = kwargs.get('destination_snapshot', None) + self.deleted_time = kwargs.get('deleted_time', None) + self.remaining_retention_days = kwargs.get('remaining_retention_days', None) + self.access_tier = kwargs.get('access_tier', None) + self.access_tier_inferred = kwargs.get('access_tier_inferred', None) + self.archive_status = kwargs.get('archive_status', None) + self.customer_provided_key_sha256 = kwargs.get('customer_provided_key_sha256', None) + self.encryption_scope = kwargs.get('encryption_scope', None) + self.access_tier_change_time = kwargs.get('access_tier_change_time', None) + self.tag_count = kwargs.get('tag_count', None) + self.expires_on = kwargs.get('expires_on', None) + self.is_sealed = kwargs.get('is_sealed', None) + self.rehydrate_priority = kwargs.get('rehydrate_priority', None) + self.last_accessed_on = kwargs.get('last_accessed_on', None) + + +class BlobTag(Model): + """BlobTag. + + All required parameters must be populated in order to send to Azure. + + :param key: Required. + :type key: str + :param value: Required. + :type value: str + """ + + _validation = { + 'key': {'required': True}, + 'value': {'required': True}, + } + + _attribute_map = { + 'key': {'key': 'Key', 'type': 'str', 'xml': {'name': 'Key'}}, + 'value': {'key': 'Value', 'type': 'str', 'xml': {'name': 'Value'}}, + } + _xml_map = { + 'name': 'Tag' + } + + def __init__(self, **kwargs): + super(BlobTag, self).__init__(**kwargs) + self.key = kwargs.get('key', None) + self.value = kwargs.get('value', None) + + +class BlobTags(Model): + """Blob tags. + + All required parameters must be populated in order to send to Azure. + + :param blob_tag_set: Required. + :type blob_tag_set: list[~azure.storage.blob.models.BlobTag] + """ + + _validation = { + 'blob_tag_set': {'required': True}, + } + + _attribute_map = { + 'blob_tag_set': {'key': 'BlobTagSet', 'type': '[BlobTag]', 'xml': {'name': 'TagSet', 'itemsName': 'TagSet', 'wrapped': True}}, + } + _xml_map = { + 'name': 'Tags' + } + + def __init__(self, **kwargs): + super(BlobTags, self).__init__(**kwargs) + self.blob_tag_set = kwargs.get('blob_tag_set', None) + + +class Block(Model): + """Represents a single block in a block blob. It describes the block's ID and + size. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The base64 encoded block ID. + :type name: str + :param size: Required. The block size in bytes. + :type size: int + """ + + _validation = { + 'name': {'required': True}, + 'size': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'Name', 'type': 'str', 'xml': {'name': 'Name'}}, + 'size': {'key': 'Size', 'type': 'int', 'xml': {'name': 'Size'}}, + } + _xml_map = { + } + + def __init__(self, **kwargs): + super(Block, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.size = kwargs.get('size', None) + + +class BlockList(Model): + """BlockList. + + :param committed_blocks: + :type committed_blocks: list[~azure.storage.blob.models.Block] + :param uncommitted_blocks: + :type uncommitted_blocks: list[~azure.storage.blob.models.Block] + """ + + _attribute_map = { + 'committed_blocks': {'key': 'CommittedBlocks', 'type': '[Block]', 'xml': {'name': 'CommittedBlocks', 'itemsName': 'Block', 'wrapped': True}}, + 'uncommitted_blocks': {'key': 'UncommittedBlocks', 'type': '[Block]', 'xml': {'name': 'UncommittedBlocks', 'itemsName': 'Block', 'wrapped': True}}, + } + _xml_map = { + } + + def __init__(self, **kwargs): + super(BlockList, self).__init__(**kwargs) + self.committed_blocks = kwargs.get('committed_blocks', None) + self.uncommitted_blocks = kwargs.get('uncommitted_blocks', None) + + +class BlockLookupList(Model): + """BlockLookupList. + + :param committed: + :type committed: list[str] + :param uncommitted: + :type uncommitted: list[str] + :param latest: + :type latest: list[str] + """ + + _attribute_map = { + 'committed': {'key': 'Committed', 'type': '[str]', 'xml': {'name': 'Committed', 'itemsName': 'Committed'}}, + 'uncommitted': {'key': 'Uncommitted', 'type': '[str]', 'xml': {'name': 'Uncommitted', 'itemsName': 'Uncommitted'}}, + 'latest': {'key': 'Latest', 'type': '[str]', 'xml': {'name': 'Latest', 'itemsName': 'Latest'}}, + } + _xml_map = { + 'name': 'BlockList' + } + + def __init__(self, **kwargs): + super(BlockLookupList, self).__init__(**kwargs) + self.committed = kwargs.get('committed', None) + self.uncommitted = kwargs.get('uncommitted', None) + self.latest = kwargs.get('latest', None) + + +class ClearRange(Model): + """ClearRange. + + All required parameters must be populated in order to send to Azure. + + :param start: Required. + :type start: long + :param end: Required. + :type end: long + """ + + _validation = { + 'start': {'required': True}, + 'end': {'required': True}, + } + + _attribute_map = { + 'start': {'key': 'Start', 'type': 'long', 'xml': {'name': 'Start'}}, + 'end': {'key': 'End', 'type': 'long', 'xml': {'name': 'End'}}, + } + _xml_map = { + 'name': 'ClearRange' + } + + def __init__(self, **kwargs): + super(ClearRange, self).__init__(**kwargs) + self.start = kwargs.get('start', None) + self.end = kwargs.get('end', None) + + +class ContainerCpkScopeInfo(Model): + """Additional parameters for create operation. + + :param default_encryption_scope: Optional. Version 2019-07-07 and later. + Specifies the default encryption scope to set on the container and use for + all future writes. + :type default_encryption_scope: str + :param prevent_encryption_scope_override: Optional. Version 2019-07-07 + and newer. If true, prevents any request from specifying a different + encryption scope than the scope set on the container. + :type prevent_encryption_scope_override: bool + """ + + _attribute_map = { + 'default_encryption_scope': {'key': '', 'type': 'str', 'xml': {'name': 'default_encryption_scope'}}, + 'prevent_encryption_scope_override': {'key': '', 'type': 'bool', 'xml': {'name': 'prevent_encryption_scope_override'}}, + } + _xml_map = { + } + + def __init__(self, **kwargs): + super(ContainerCpkScopeInfo, self).__init__(**kwargs) + self.default_encryption_scope = kwargs.get('default_encryption_scope', None) + self.prevent_encryption_scope_override = kwargs.get('prevent_encryption_scope_override', None) + + +class ContainerItem(Model): + """An Azure Storage container. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. + :type name: str + :param deleted: + :type deleted: bool + :param version: + :type version: str + :param properties: Required. + :type properties: ~azure.storage.blob.models.ContainerProperties + :param metadata: + :type metadata: dict[str, str] + """ + + _validation = { + 'name': {'required': True}, + 'properties': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'Name', 'type': 'str', 'xml': {'name': 'Name'}}, + 'deleted': {'key': 'Deleted', 'type': 'bool', 'xml': {'name': 'Deleted'}}, + 'version': {'key': 'Version', 'type': 'str', 'xml': {'name': 'Version'}}, + 'properties': {'key': 'Properties', 'type': 'ContainerProperties', 'xml': {'name': 'Properties'}}, + 'metadata': {'key': 'Metadata', 'type': '{str}', 'xml': {'name': 'Metadata'}}, + } + _xml_map = { + 'name': 'Container' + } + + def __init__(self, **kwargs): + super(ContainerItem, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.deleted = kwargs.get('deleted', None) + self.version = kwargs.get('version', None) + self.properties = kwargs.get('properties', None) + self.metadata = kwargs.get('metadata', None) + + +class ContainerProperties(Model): + """Properties of a container. + + All required parameters must be populated in order to send to Azure. + + :param last_modified: Required. + :type last_modified: datetime + :param etag: Required. + :type etag: str + :param lease_status: Possible values include: 'locked', 'unlocked' + :type lease_status: str or ~azure.storage.blob.models.LeaseStatusType + :param lease_state: Possible values include: 'available', 'leased', + 'expired', 'breaking', 'broken' + :type lease_state: str or ~azure.storage.blob.models.LeaseStateType + :param lease_duration: Possible values include: 'infinite', 'fixed' + :type lease_duration: str or ~azure.storage.blob.models.LeaseDurationType + :param public_access: Possible values include: 'container', 'blob' + :type public_access: str or ~azure.storage.blob.models.PublicAccessType + :param has_immutability_policy: + :type has_immutability_policy: bool + :param has_legal_hold: + :type has_legal_hold: bool + :param default_encryption_scope: + :type default_encryption_scope: str + :param prevent_encryption_scope_override: + :type prevent_encryption_scope_override: bool + :param deleted_time: + :type deleted_time: datetime + :param remaining_retention_days: + :type remaining_retention_days: int + """ + + _validation = { + 'last_modified': {'required': True}, + 'etag': {'required': True}, + } + + _attribute_map = { + 'last_modified': {'key': 'Last-Modified', 'type': 'rfc-1123', 'xml': {'name': 'Last-Modified'}}, + 'etag': {'key': 'Etag', 'type': 'str', 'xml': {'name': 'Etag'}}, + 'lease_status': {'key': 'LeaseStatus', 'type': 'LeaseStatusType', 'xml': {'name': 'LeaseStatus'}}, + 'lease_state': {'key': 'LeaseState', 'type': 'LeaseStateType', 'xml': {'name': 'LeaseState'}}, + 'lease_duration': {'key': 'LeaseDuration', 'type': 'LeaseDurationType', 'xml': {'name': 'LeaseDuration'}}, + 'public_access': {'key': 'PublicAccess', 'type': 'str', 'xml': {'name': 'PublicAccess'}}, + 'has_immutability_policy': {'key': 'HasImmutabilityPolicy', 'type': 'bool', 'xml': {'name': 'HasImmutabilityPolicy'}}, + 'has_legal_hold': {'key': 'HasLegalHold', 'type': 'bool', 'xml': {'name': 'HasLegalHold'}}, + 'default_encryption_scope': {'key': 'DefaultEncryptionScope', 'type': 'str', 'xml': {'name': 'DefaultEncryptionScope'}}, + 'prevent_encryption_scope_override': {'key': 'DenyEncryptionScopeOverride', 'type': 'bool', 'xml': {'name': 'DenyEncryptionScopeOverride'}}, + 'deleted_time': {'key': 'DeletedTime', 'type': 'rfc-1123', 'xml': {'name': 'DeletedTime'}}, + 'remaining_retention_days': {'key': 'RemainingRetentionDays', 'type': 'int', 'xml': {'name': 'RemainingRetentionDays'}}, + } + _xml_map = { + } + + def __init__(self, **kwargs): + super(ContainerProperties, self).__init__(**kwargs) + self.last_modified = kwargs.get('last_modified', None) + self.etag = kwargs.get('etag', None) + self.lease_status = kwargs.get('lease_status', None) + self.lease_state = kwargs.get('lease_state', None) + self.lease_duration = kwargs.get('lease_duration', None) + self.public_access = kwargs.get('public_access', None) + self.has_immutability_policy = kwargs.get('has_immutability_policy', None) + self.has_legal_hold = kwargs.get('has_legal_hold', None) + self.default_encryption_scope = kwargs.get('default_encryption_scope', None) + self.prevent_encryption_scope_override = kwargs.get('prevent_encryption_scope_override', None) + self.deleted_time = kwargs.get('deleted_time', None) + self.remaining_retention_days = kwargs.get('remaining_retention_days', None) + + +class CorsRule(Model): + """CORS is an HTTP feature that enables a web application running under one + domain to access resources in another domain. Web browsers implement a + security restriction known as same-origin policy that prevents a web page + from calling APIs in a different domain; CORS provides a secure way to + allow one domain (the origin domain) to call APIs in another domain. + + All required parameters must be populated in order to send to Azure. + + :param allowed_origins: Required. The origin domains that are permitted to + make a request against the storage service via CORS. The origin domain is + the domain from which the request originates. Note that the origin must be + an exact case-sensitive match with the origin that the user age sends to + the service. You can also use the wildcard character '*' to allow all + origin domains to make requests via CORS. + :type allowed_origins: str + :param allowed_methods: Required. The methods (HTTP request verbs) that + the origin domain may use for a CORS request. (comma separated) + :type allowed_methods: str + :param allowed_headers: Required. the request headers that the origin + domain may specify on the CORS request. + :type allowed_headers: str + :param exposed_headers: Required. The response headers that may be sent in + the response to the CORS request and exposed by the browser to the request + issuer + :type exposed_headers: str + :param max_age_in_seconds: Required. The maximum amount time that a + browser should cache the preflight OPTIONS request. + :type max_age_in_seconds: int + """ + + _validation = { + 'allowed_origins': {'required': True}, + 'allowed_methods': {'required': True}, + 'allowed_headers': {'required': True}, + 'exposed_headers': {'required': True}, + 'max_age_in_seconds': {'required': True, 'minimum': 0}, + } + + _attribute_map = { + 'allowed_origins': {'key': 'AllowedOrigins', 'type': 'str', 'xml': {'name': 'AllowedOrigins'}}, + 'allowed_methods': {'key': 'AllowedMethods', 'type': 'str', 'xml': {'name': 'AllowedMethods'}}, + 'allowed_headers': {'key': 'AllowedHeaders', 'type': 'str', 'xml': {'name': 'AllowedHeaders'}}, + 'exposed_headers': {'key': 'ExposedHeaders', 'type': 'str', 'xml': {'name': 'ExposedHeaders'}}, + 'max_age_in_seconds': {'key': 'MaxAgeInSeconds', 'type': 'int', 'xml': {'name': 'MaxAgeInSeconds'}}, + } + _xml_map = { + } + + def __init__(self, **kwargs): + super(CorsRule, self).__init__(**kwargs) + self.allowed_origins = kwargs.get('allowed_origins', None) + self.allowed_methods = kwargs.get('allowed_methods', None) + self.allowed_headers = kwargs.get('allowed_headers', None) + self.exposed_headers = kwargs.get('exposed_headers', None) + self.max_age_in_seconds = kwargs.get('max_age_in_seconds', None) + + +class CpkInfo(Model): + """Additional parameters for a set of operations. + + :param encryption_key: Optional. Specifies the encryption key to use to + encrypt the data provided in the request. If not specified, encryption is + performed with the root account encryption key. For more information, see + Encryption at Rest for Azure Storage Services. + :type encryption_key: str + :param encryption_key_sha256: The SHA-256 hash of the provided encryption + key. Must be provided if the x-ms-encryption-key header is provided. + :type encryption_key_sha256: str + :param encryption_algorithm: The algorithm used to produce the encryption + key hash. Currently, the only accepted value is "AES256". Must be provided + if the x-ms-encryption-key header is provided. Possible values include: + 'AES256' + :type encryption_algorithm: str or + ~azure.storage.blob.models.EncryptionAlgorithmType + """ + + _attribute_map = { + 'encryption_key': {'key': '', 'type': 'str', 'xml': {'name': 'encryption_key'}}, + 'encryption_key_sha256': {'key': '', 'type': 'str', 'xml': {'name': 'encryption_key_sha256'}}, + 'encryption_algorithm': {'key': '', 'type': 'EncryptionAlgorithmType', 'xml': {'name': 'encryption_algorithm'}}, + } + _xml_map = { + } + + def __init__(self, **kwargs): + super(CpkInfo, self).__init__(**kwargs) + self.encryption_key = kwargs.get('encryption_key', None) + self.encryption_key_sha256 = kwargs.get('encryption_key_sha256', None) + self.encryption_algorithm = kwargs.get('encryption_algorithm', None) + + +class CpkScopeInfo(Model): + """Additional parameters for a set of operations. + + :param encryption_scope: Optional. Version 2019-07-07 and later. + Specifies the name of the encryption scope to use to encrypt the data + provided in the request. If not specified, encryption is performed with + the default account encryption scope. For more information, see + Encryption at Rest for Azure Storage Services. + :type encryption_scope: str + """ + + _attribute_map = { + 'encryption_scope': {'key': '', 'type': 'str', 'xml': {'name': 'encryption_scope'}}, + } + _xml_map = { + } + + def __init__(self, **kwargs): + super(CpkScopeInfo, self).__init__(**kwargs) + self.encryption_scope = kwargs.get('encryption_scope', None) + + +class DataLakeStorageError(Model): + """DataLakeStorageError. + + :param data_lake_storage_error_details: The service error response object. + :type data_lake_storage_error_details: + ~azure.storage.blob.models.DataLakeStorageErrorError + """ + + _attribute_map = { + 'data_lake_storage_error_details': {'key': 'error', 'type': 'DataLakeStorageErrorError', 'xml': {'name': 'error'}}, + } + _xml_map = { + } + + def __init__(self, **kwargs): + super(DataLakeStorageError, self).__init__(**kwargs) + self.data_lake_storage_error_details = kwargs.get('data_lake_storage_error_details', None) + + +class DataLakeStorageErrorException(HttpResponseError): + """Server responsed with exception of type: 'DataLakeStorageError'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, response, deserialize, *args): + + model_name = 'DataLakeStorageError' + self.error = deserialize(model_name, response) + if self.error is None: + self.error = deserialize.dependencies[model_name]() + super(DataLakeStorageErrorException, self).__init__(response=response) + + +class DataLakeStorageErrorError(Model): + """The service error response object. + + :param code: The service error code. + :type code: str + :param message: The service error message. + :type message: str + """ + + _attribute_map = { + 'code': {'key': 'Code', 'type': 'str', 'xml': {'name': 'Code'}}, + 'message': {'key': 'Message', 'type': 'str', 'xml': {'name': 'Message'}}, + } + _xml_map = { + } + + def __init__(self, **kwargs): + super(DataLakeStorageErrorError, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + + +class DelimitedTextConfiguration(Model): + """delimited text configuration. + + All required parameters must be populated in order to send to Azure. + + :param column_separator: Required. column separator + :type column_separator: str + :param field_quote: Required. field quote + :type field_quote: str + :param record_separator: Required. record separator + :type record_separator: str + :param escape_char: Required. escape char + :type escape_char: str + :param headers_present: Required. has headers + :type headers_present: bool + """ + + _validation = { + 'column_separator': {'required': True}, + 'field_quote': {'required': True}, + 'record_separator': {'required': True}, + 'escape_char': {'required': True}, + 'headers_present': {'required': True}, + } + + _attribute_map = { + 'column_separator': {'key': 'ColumnSeparator', 'type': 'str', 'xml': {'name': 'ColumnSeparator'}}, + 'field_quote': {'key': 'FieldQuote', 'type': 'str', 'xml': {'name': 'FieldQuote'}}, + 'record_separator': {'key': 'RecordSeparator', 'type': 'str', 'xml': {'name': 'RecordSeparator'}}, + 'escape_char': {'key': 'EscapeChar', 'type': 'str', 'xml': {'name': 'EscapeChar'}}, + 'headers_present': {'key': 'HeadersPresent', 'type': 'bool', 'xml': {'name': 'HasHeaders'}}, + } + _xml_map = { + 'name': 'DelimitedTextConfiguration' + } + + def __init__(self, **kwargs): + super(DelimitedTextConfiguration, self).__init__(**kwargs) + self.column_separator = kwargs.get('column_separator', None) + self.field_quote = kwargs.get('field_quote', None) + self.record_separator = kwargs.get('record_separator', None) + self.escape_char = kwargs.get('escape_char', None) + self.headers_present = kwargs.get('headers_present', None) + + +class DirectoryHttpHeaders(Model): + """Additional parameters for a set of operations, such as: Directory_create, + Directory_rename, Blob_rename. + + :param cache_control: Cache control for given resource + :type cache_control: str + :param content_type: Content type for given resource + :type content_type: str + :param content_encoding: Content encoding for given resource + :type content_encoding: str + :param content_language: Content language for given resource + :type content_language: str + :param content_disposition: Content disposition for given resource + :type content_disposition: str + """ + + _attribute_map = { + 'cache_control': {'key': '', 'type': 'str', 'xml': {'name': 'cache_control'}}, + 'content_type': {'key': '', 'type': 'str', 'xml': {'name': 'content_type'}}, + 'content_encoding': {'key': '', 'type': 'str', 'xml': {'name': 'content_encoding'}}, + 'content_language': {'key': '', 'type': 'str', 'xml': {'name': 'content_language'}}, + 'content_disposition': {'key': '', 'type': 'str', 'xml': {'name': 'content_disposition'}}, + } + _xml_map = { + } + + def __init__(self, **kwargs): + super(DirectoryHttpHeaders, self).__init__(**kwargs) + self.cache_control = kwargs.get('cache_control', None) + self.content_type = kwargs.get('content_type', None) + self.content_encoding = kwargs.get('content_encoding', None) + self.content_language = kwargs.get('content_language', None) + self.content_disposition = kwargs.get('content_disposition', None) + + +class FilterBlobItem(Model): + """Blob info from a Filter Blobs API call. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. + :type name: str + :param container_name: Required. + :type container_name: str + :param tag_value: Required. + :type tag_value: str + """ + + _validation = { + 'name': {'required': True}, + 'container_name': {'required': True}, + 'tag_value': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'Name', 'type': 'str', 'xml': {'name': 'Name'}}, + 'container_name': {'key': 'ContainerName', 'type': 'str', 'xml': {'name': 'ContainerName'}}, + 'tag_value': {'key': 'TagValue', 'type': 'str', 'xml': {'name': 'TagValue'}}, + } + _xml_map = { + 'name': 'Blob' + } + + def __init__(self, **kwargs): + super(FilterBlobItem, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.container_name = kwargs.get('container_name', None) + self.tag_value = kwargs.get('tag_value', None) + + +class FilterBlobSegment(Model): + """The result of a Filter Blobs API call. + + All required parameters must be populated in order to send to Azure. + + :param service_endpoint: Required. + :type service_endpoint: str + :param where: Required. + :type where: str + :param blobs: Required. + :type blobs: list[~azure.storage.blob.models.FilterBlobItem] + :param next_marker: + :type next_marker: str + """ + + _validation = { + 'service_endpoint': {'required': True}, + 'where': {'required': True}, + 'blobs': {'required': True}, + } + + _attribute_map = { + 'service_endpoint': {'key': 'ServiceEndpoint', 'type': 'str', 'xml': {'name': 'ServiceEndpoint', 'attr': True}}, + 'where': {'key': 'Where', 'type': 'str', 'xml': {'name': 'Where'}}, + 'blobs': {'key': 'Blobs', 'type': '[FilterBlobItem]', 'xml': {'name': 'Blobs', 'itemsName': 'Blobs', 'wrapped': True}}, + 'next_marker': {'key': 'NextMarker', 'type': 'str', 'xml': {'name': 'NextMarker'}}, + } + _xml_map = { + 'name': 'EnumerationResults' + } + + def __init__(self, **kwargs): + super(FilterBlobSegment, self).__init__(**kwargs) + self.service_endpoint = kwargs.get('service_endpoint', None) + self.where = kwargs.get('where', None) + self.blobs = kwargs.get('blobs', None) + self.next_marker = kwargs.get('next_marker', None) + + +class GeoReplication(Model): + """Geo-Replication information for the Secondary Storage Service. + + All required parameters must be populated in order to send to Azure. + + :param status: Required. The status of the secondary location. Possible + values include: 'live', 'bootstrap', 'unavailable' + :type status: str or ~azure.storage.blob.models.GeoReplicationStatusType + :param last_sync_time: Required. A GMT date/time value, to the second. All + primary writes preceding this value are guaranteed to be available for + read operations at the secondary. Primary writes after this point in time + may or may not be available for reads. + :type last_sync_time: datetime + """ + + _validation = { + 'status': {'required': True}, + 'last_sync_time': {'required': True}, + } + + _attribute_map = { + 'status': {'key': 'Status', 'type': 'str', 'xml': {'name': 'Status'}}, + 'last_sync_time': {'key': 'LastSyncTime', 'type': 'rfc-1123', 'xml': {'name': 'LastSyncTime'}}, + } + _xml_map = { + } + + def __init__(self, **kwargs): + super(GeoReplication, self).__init__(**kwargs) + self.status = kwargs.get('status', None) + self.last_sync_time = kwargs.get('last_sync_time', None) + + +class JsonTextConfiguration(Model): + """json text configuration. + + All required parameters must be populated in order to send to Azure. + + :param record_separator: Required. record separator + :type record_separator: str + """ + + _validation = { + 'record_separator': {'required': True}, + } + + _attribute_map = { + 'record_separator': {'key': 'RecordSeparator', 'type': 'str', 'xml': {'name': 'RecordSeparator'}}, + } + _xml_map = { + 'name': 'JsonTextConfiguration' + } + + def __init__(self, **kwargs): + super(JsonTextConfiguration, self).__init__(**kwargs) + self.record_separator = kwargs.get('record_separator', None) + + +class KeyInfo(Model): + """Key information. + + All required parameters must be populated in order to send to Azure. + + :param start: Required. The date-time the key is active in ISO 8601 UTC + time + :type start: str + :param expiry: Required. The date-time the key expires in ISO 8601 UTC + time + :type expiry: str + """ + + _validation = { + 'start': {'required': True}, + 'expiry': {'required': True}, + } + + _attribute_map = { + 'start': {'key': 'Start', 'type': 'str', 'xml': {'name': 'Start'}}, + 'expiry': {'key': 'Expiry', 'type': 'str', 'xml': {'name': 'Expiry'}}, + } + _xml_map = { + } + + def __init__(self, **kwargs): + super(KeyInfo, self).__init__(**kwargs) + self.start = kwargs.get('start', None) + self.expiry = kwargs.get('expiry', None) + + +class LeaseAccessConditions(Model): + """Additional parameters for a set of operations. + + :param lease_id: If specified, the operation only succeeds if the + resource's lease is active and matches this ID. + :type lease_id: str + """ + + _attribute_map = { + 'lease_id': {'key': '', 'type': 'str', 'xml': {'name': 'lease_id'}}, + } + _xml_map = { + } + + def __init__(self, **kwargs): + super(LeaseAccessConditions, self).__init__(**kwargs) + self.lease_id = kwargs.get('lease_id', None) + + +class ListBlobsFlatSegmentResponse(Model): + """An enumeration of blobs. + + All required parameters must be populated in order to send to Azure. + + :param service_endpoint: Required. + :type service_endpoint: str + :param container_name: Required. + :type container_name: str + :param prefix: + :type prefix: str + :param marker: + :type marker: str + :param max_results: + :type max_results: int + :param segment: Required. + :type segment: ~azure.storage.blob.models.BlobFlatListSegment + :param next_marker: + :type next_marker: str + """ + + _validation = { + 'service_endpoint': {'required': True}, + 'container_name': {'required': True}, + 'segment': {'required': True}, + } + + _attribute_map = { + 'service_endpoint': {'key': 'ServiceEndpoint', 'type': 'str', 'xml': {'name': 'ServiceEndpoint', 'attr': True}}, + 'container_name': {'key': 'ContainerName', 'type': 'str', 'xml': {'name': 'ContainerName', 'attr': True}}, + 'prefix': {'key': 'Prefix', 'type': 'str', 'xml': {'name': 'Prefix'}}, + 'marker': {'key': 'Marker', 'type': 'str', 'xml': {'name': 'Marker'}}, + 'max_results': {'key': 'MaxResults', 'type': 'int', 'xml': {'name': 'MaxResults'}}, + 'segment': {'key': 'Segment', 'type': 'BlobFlatListSegment', 'xml': {'name': 'Segment'}}, + 'next_marker': {'key': 'NextMarker', 'type': 'str', 'xml': {'name': 'NextMarker'}}, + } + _xml_map = { + 'name': 'EnumerationResults' + } + + def __init__(self, **kwargs): + super(ListBlobsFlatSegmentResponse, self).__init__(**kwargs) + self.service_endpoint = kwargs.get('service_endpoint', None) + self.container_name = kwargs.get('container_name', None) + self.prefix = kwargs.get('prefix', None) + self.marker = kwargs.get('marker', None) + self.max_results = kwargs.get('max_results', None) + self.segment = kwargs.get('segment', None) + self.next_marker = kwargs.get('next_marker', None) + + +class ListBlobsHierarchySegmentResponse(Model): + """An enumeration of blobs. + + All required parameters must be populated in order to send to Azure. + + :param service_endpoint: Required. + :type service_endpoint: str + :param container_name: Required. + :type container_name: str + :param prefix: + :type prefix: str + :param marker: + :type marker: str + :param max_results: + :type max_results: int + :param delimiter: + :type delimiter: str + :param segment: Required. + :type segment: ~azure.storage.blob.models.BlobHierarchyListSegment + :param next_marker: + :type next_marker: str + """ + + _validation = { + 'service_endpoint': {'required': True}, + 'container_name': {'required': True}, + 'segment': {'required': True}, + } + + _attribute_map = { + 'service_endpoint': {'key': 'ServiceEndpoint', 'type': 'str', 'xml': {'name': 'ServiceEndpoint', 'attr': True}}, + 'container_name': {'key': 'ContainerName', 'type': 'str', 'xml': {'name': 'ContainerName', 'attr': True}}, + 'prefix': {'key': 'Prefix', 'type': 'str', 'xml': {'name': 'Prefix'}}, + 'marker': {'key': 'Marker', 'type': 'str', 'xml': {'name': 'Marker'}}, + 'max_results': {'key': 'MaxResults', 'type': 'int', 'xml': {'name': 'MaxResults'}}, + 'delimiter': {'key': 'Delimiter', 'type': 'str', 'xml': {'name': 'Delimiter'}}, + 'segment': {'key': 'Segment', 'type': 'BlobHierarchyListSegment', 'xml': {'name': 'Segment'}}, + 'next_marker': {'key': 'NextMarker', 'type': 'str', 'xml': {'name': 'NextMarker'}}, + } + _xml_map = { + 'name': 'EnumerationResults' + } + + def __init__(self, **kwargs): + super(ListBlobsHierarchySegmentResponse, self).__init__(**kwargs) + self.service_endpoint = kwargs.get('service_endpoint', None) + self.container_name = kwargs.get('container_name', None) + self.prefix = kwargs.get('prefix', None) + self.marker = kwargs.get('marker', None) + self.max_results = kwargs.get('max_results', None) + self.delimiter = kwargs.get('delimiter', None) + self.segment = kwargs.get('segment', None) + self.next_marker = kwargs.get('next_marker', None) + + +class ListContainersSegmentResponse(Model): + """An enumeration of containers. + + All required parameters must be populated in order to send to Azure. + + :param service_endpoint: Required. + :type service_endpoint: str + :param prefix: + :type prefix: str + :param marker: + :type marker: str + :param max_results: + :type max_results: int + :param container_items: Required. + :type container_items: list[~azure.storage.blob.models.ContainerItem] + :param next_marker: + :type next_marker: str + """ + + _validation = { + 'service_endpoint': {'required': True}, + 'container_items': {'required': True}, + } + + _attribute_map = { + 'service_endpoint': {'key': 'ServiceEndpoint', 'type': 'str', 'xml': {'name': 'ServiceEndpoint', 'attr': True}}, + 'prefix': {'key': 'Prefix', 'type': 'str', 'xml': {'name': 'Prefix'}}, + 'marker': {'key': 'Marker', 'type': 'str', 'xml': {'name': 'Marker'}}, + 'max_results': {'key': 'MaxResults', 'type': 'int', 'xml': {'name': 'MaxResults'}}, + 'container_items': {'key': 'ContainerItems', 'type': '[ContainerItem]', 'xml': {'name': 'Containers', 'itemsName': 'Containers', 'wrapped': True}}, + 'next_marker': {'key': 'NextMarker', 'type': 'str', 'xml': {'name': 'NextMarker'}}, + } + _xml_map = { + 'name': 'EnumerationResults' + } + + def __init__(self, **kwargs): + super(ListContainersSegmentResponse, self).__init__(**kwargs) + self.service_endpoint = kwargs.get('service_endpoint', None) + self.prefix = kwargs.get('prefix', None) + self.marker = kwargs.get('marker', None) + self.max_results = kwargs.get('max_results', None) + self.container_items = kwargs.get('container_items', None) + self.next_marker = kwargs.get('next_marker', None) + + +class Logging(Model): + """Azure Analytics Logging settings. + + All required parameters must be populated in order to send to Azure. + + :param version: Required. The version of Storage Analytics to configure. + :type version: str + :param delete: Required. Indicates whether all delete requests should be + logged. + :type delete: bool + :param read: Required. Indicates whether all read requests should be + logged. + :type read: bool + :param write: Required. Indicates whether all write requests should be + logged. + :type write: bool + :param retention_policy: Required. + :type retention_policy: ~azure.storage.blob.models.RetentionPolicy + """ + + _validation = { + 'version': {'required': True}, + 'delete': {'required': True}, + 'read': {'required': True}, + 'write': {'required': True}, + 'retention_policy': {'required': True}, + } + + _attribute_map = { + 'version': {'key': 'Version', 'type': 'str', 'xml': {'name': 'Version'}}, + 'delete': {'key': 'Delete', 'type': 'bool', 'xml': {'name': 'Delete'}}, + 'read': {'key': 'Read', 'type': 'bool', 'xml': {'name': 'Read'}}, + 'write': {'key': 'Write', 'type': 'bool', 'xml': {'name': 'Write'}}, + 'retention_policy': {'key': 'RetentionPolicy', 'type': 'RetentionPolicy', 'xml': {'name': 'RetentionPolicy'}}, + } + _xml_map = { + } + + def __init__(self, **kwargs): + super(Logging, self).__init__(**kwargs) + self.version = kwargs.get('version', None) + self.delete = kwargs.get('delete', None) + self.read = kwargs.get('read', None) + self.write = kwargs.get('write', None) + self.retention_policy = kwargs.get('retention_policy', None) + + +class Metrics(Model): + """a summary of request statistics grouped by API in hour or minute aggregates + for blobs. + + All required parameters must be populated in order to send to Azure. + + :param version: The version of Storage Analytics to configure. + :type version: str + :param enabled: Required. Indicates whether metrics are enabled for the + Blob service. + :type enabled: bool + :param include_apis: Indicates whether metrics should generate summary + statistics for called API operations. + :type include_apis: bool + :param retention_policy: + :type retention_policy: ~azure.storage.blob.models.RetentionPolicy + """ + + _validation = { + 'enabled': {'required': True}, + } + + _attribute_map = { + 'version': {'key': 'Version', 'type': 'str', 'xml': {'name': 'Version'}}, + 'enabled': {'key': 'Enabled', 'type': 'bool', 'xml': {'name': 'Enabled'}}, + 'include_apis': {'key': 'IncludeAPIs', 'type': 'bool', 'xml': {'name': 'IncludeAPIs'}}, + 'retention_policy': {'key': 'RetentionPolicy', 'type': 'RetentionPolicy', 'xml': {'name': 'RetentionPolicy'}}, + } + _xml_map = { + } + + def __init__(self, **kwargs): + super(Metrics, self).__init__(**kwargs) + self.version = kwargs.get('version', None) + self.enabled = kwargs.get('enabled', None) + self.include_apis = kwargs.get('include_apis', None) + self.retention_policy = kwargs.get('retention_policy', None) + + +class ModifiedAccessConditions(Model): + """Additional parameters for a set of operations. + + :param if_modified_since: Specify this header value to operate only on a + blob if it has been modified since the specified date/time. + :type if_modified_since: datetime + :param if_unmodified_since: Specify this header value to operate only on a + blob if it has not been modified since the specified date/time. + :type if_unmodified_since: datetime + :param if_match: Specify an ETag value to operate only on blobs with a + matching value. + :type if_match: str + :param if_none_match: Specify an ETag value to operate only on blobs + without a matching value. + :type if_none_match: str + :param if_tags: Specify a SQL where clause on blob tags to operate only on + blobs with a matching value. + :type if_tags: str + """ + + _attribute_map = { + 'if_modified_since': {'key': '', 'type': 'rfc-1123', 'xml': {'name': 'if_modified_since'}}, + 'if_unmodified_since': {'key': '', 'type': 'rfc-1123', 'xml': {'name': 'if_unmodified_since'}}, + 'if_match': {'key': '', 'type': 'str', 'xml': {'name': 'if_match'}}, + 'if_none_match': {'key': '', 'type': 'str', 'xml': {'name': 'if_none_match'}}, + 'if_tags': {'key': '', 'type': 'str', 'xml': {'name': 'if_tags'}}, + } + _xml_map = { + } + + def __init__(self, **kwargs): + super(ModifiedAccessConditions, self).__init__(**kwargs) + self.if_modified_since = kwargs.get('if_modified_since', None) + self.if_unmodified_since = kwargs.get('if_unmodified_since', None) + self.if_match = kwargs.get('if_match', None) + self.if_none_match = kwargs.get('if_none_match', None) + self.if_tags = kwargs.get('if_tags', None) + + +class PageList(Model): + """the list of pages. + + :param page_range: + :type page_range: list[~azure.storage.blob.models.PageRange] + :param clear_range: + :type clear_range: list[~azure.storage.blob.models.ClearRange] + """ + + _attribute_map = { + 'page_range': {'key': 'PageRange', 'type': '[PageRange]', 'xml': {'name': 'PageRange', 'itemsName': 'PageRange'}}, + 'clear_range': {'key': 'ClearRange', 'type': '[ClearRange]', 'xml': {'name': 'ClearRange', 'itemsName': 'ClearRange'}}, + } + _xml_map = { + } + + def __init__(self, **kwargs): + super(PageList, self).__init__(**kwargs) + self.page_range = kwargs.get('page_range', None) + self.clear_range = kwargs.get('clear_range', None) + + +class PageRange(Model): + """PageRange. + + All required parameters must be populated in order to send to Azure. + + :param start: Required. + :type start: long + :param end: Required. + :type end: long + """ + + _validation = { + 'start': {'required': True}, + 'end': {'required': True}, + } + + _attribute_map = { + 'start': {'key': 'Start', 'type': 'long', 'xml': {'name': 'Start'}}, + 'end': {'key': 'End', 'type': 'long', 'xml': {'name': 'End'}}, + } + _xml_map = { + 'name': 'PageRange' + } + + def __init__(self, **kwargs): + super(PageRange, self).__init__(**kwargs) + self.start = kwargs.get('start', None) + self.end = kwargs.get('end', None) + + +class QueryFormat(Model): + """QueryFormat. + + :param type: Possible values include: 'delimited', 'json', 'arrow' + :type type: str or ~azure.storage.blob.models.QueryFormatType + :param delimited_text_configuration: + :type delimited_text_configuration: + ~azure.storage.blob.models.DelimitedTextConfiguration + :param json_text_configuration: + :type json_text_configuration: + ~azure.storage.blob.models.JsonTextConfiguration + :param arrow_configuration: + :type arrow_configuration: ~azure.storage.blob.models.ArrowConfiguration + """ + + _attribute_map = { + 'type': {'key': 'Type', 'type': 'QueryFormatType', 'xml': {'name': 'Type'}}, + 'delimited_text_configuration': {'key': 'DelimitedTextConfiguration', 'type': 'DelimitedTextConfiguration', 'xml': {'name': 'DelimitedTextConfiguration'}}, + 'json_text_configuration': {'key': 'JsonTextConfiguration', 'type': 'JsonTextConfiguration', 'xml': {'name': 'JsonTextConfiguration'}}, + 'arrow_configuration': {'key': 'ArrowConfiguration', 'type': 'ArrowConfiguration', 'xml': {'name': 'ArrowConfiguration'}}, + } + _xml_map = { + } + + def __init__(self, **kwargs): + super(QueryFormat, self).__init__(**kwargs) + self.type = kwargs.get('type', None) + self.delimited_text_configuration = kwargs.get('delimited_text_configuration', None) + self.json_text_configuration = kwargs.get('json_text_configuration', None) + self.arrow_configuration = kwargs.get('arrow_configuration', None) + + +class QueryRequest(Model): + """the quick query body. + + 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 query_type: Required. the query type. Default value: "SQL" . + :vartype query_type: str + :param expression: Required. a query statement + :type expression: str + :param input_serialization: + :type input_serialization: ~azure.storage.blob.models.QuerySerialization + :param output_serialization: + :type output_serialization: ~azure.storage.blob.models.QuerySerialization + """ + + _validation = { + 'query_type': {'required': True, 'constant': True}, + 'expression': {'required': True}, + } + + _attribute_map = { + 'query_type': {'key': 'QueryType', 'type': 'str', 'xml': {'name': 'QueryType'}}, + 'expression': {'key': 'Expression', 'type': 'str', 'xml': {'name': 'Expression'}}, + 'input_serialization': {'key': 'InputSerialization', 'type': 'QuerySerialization', 'xml': {'name': 'InputSerialization'}}, + 'output_serialization': {'key': 'OutputSerialization', 'type': 'QuerySerialization', 'xml': {'name': 'OutputSerialization'}}, + } + _xml_map = { + 'name': 'QueryRequest' + } + + query_type = "SQL" + + def __init__(self, **kwargs): + super(QueryRequest, self).__init__(**kwargs) + self.expression = kwargs.get('expression', None) + self.input_serialization = kwargs.get('input_serialization', None) + self.output_serialization = kwargs.get('output_serialization', None) + + +class QuerySerialization(Model): + """QuerySerialization. + + All required parameters must be populated in order to send to Azure. + + :param format: Required. + :type format: ~azure.storage.blob.models.QueryFormat + """ + + _validation = { + 'format': {'required': True}, + } + + _attribute_map = { + 'format': {'key': 'Format', 'type': 'QueryFormat', 'xml': {'name': 'Format'}}, + } + _xml_map = { + } + + def __init__(self, **kwargs): + super(QuerySerialization, self).__init__(**kwargs) + self.format = kwargs.get('format', None) + + +class RetentionPolicy(Model): + """the retention policy which determines how long the associated data should + persist. + + All required parameters must be populated in order to send to Azure. + + :param enabled: Required. Indicates whether a retention policy is enabled + for the storage service + :type enabled: bool + :param days: Indicates the number of days that metrics or logging or + soft-deleted data should be retained. All data older than this value will + be deleted + :type days: int + """ + + _validation = { + 'enabled': {'required': True}, + 'days': {'minimum': 1}, + } + + _attribute_map = { + 'enabled': {'key': 'Enabled', 'type': 'bool', 'xml': {'name': 'Enabled'}}, + 'days': {'key': 'Days', 'type': 'int', 'xml': {'name': 'Days'}}, + } + _xml_map = { + } + + def __init__(self, **kwargs): + super(RetentionPolicy, self).__init__(**kwargs) + self.enabled = kwargs.get('enabled', None) + self.days = kwargs.get('days', None) + + +class SequenceNumberAccessConditions(Model): + """Additional parameters for a set of operations, such as: + PageBlob_upload_pages, PageBlob_clear_pages, + PageBlob_upload_pages_from_url. + + :param if_sequence_number_less_than_or_equal_to: Specify this header value + to operate only on a blob if it has a sequence number less than or equal + to the specified. + :type if_sequence_number_less_than_or_equal_to: long + :param if_sequence_number_less_than: Specify this header value to operate + only on a blob if it has a sequence number less than the specified. + :type if_sequence_number_less_than: long + :param if_sequence_number_equal_to: Specify this header value to operate + only on a blob if it has the specified sequence number. + :type if_sequence_number_equal_to: long + """ + + _attribute_map = { + 'if_sequence_number_less_than_or_equal_to': {'key': '', 'type': 'long', 'xml': {'name': 'if_sequence_number_less_than_or_equal_to'}}, + 'if_sequence_number_less_than': {'key': '', 'type': 'long', 'xml': {'name': 'if_sequence_number_less_than'}}, + 'if_sequence_number_equal_to': {'key': '', 'type': 'long', 'xml': {'name': 'if_sequence_number_equal_to'}}, + } + _xml_map = { + } + + def __init__(self, **kwargs): + super(SequenceNumberAccessConditions, self).__init__(**kwargs) + self.if_sequence_number_less_than_or_equal_to = kwargs.get('if_sequence_number_less_than_or_equal_to', None) + self.if_sequence_number_less_than = kwargs.get('if_sequence_number_less_than', None) + self.if_sequence_number_equal_to = kwargs.get('if_sequence_number_equal_to', None) + + +class SignedIdentifier(Model): + """signed identifier. + + All required parameters must be populated in order to send to Azure. + + :param id: Required. a unique id + :type id: str + :param access_policy: + :type access_policy: ~azure.storage.blob.models.AccessPolicy + """ + + _validation = { + 'id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'Id', 'type': 'str', 'xml': {'name': 'Id'}}, + 'access_policy': {'key': 'AccessPolicy', 'type': 'AccessPolicy', 'xml': {'name': 'AccessPolicy'}}, + } + _xml_map = { + 'name': 'SignedIdentifier' + } + + def __init__(self, **kwargs): + super(SignedIdentifier, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.access_policy = kwargs.get('access_policy', None) + + +class SourceModifiedAccessConditions(Model): + """Additional parameters for a set of operations. + + :param source_if_modified_since: Specify this header value to operate only + on a blob if it has been modified since the specified date/time. + :type source_if_modified_since: datetime + :param source_if_unmodified_since: Specify this header value to operate + only on a blob if it has not been modified since the specified date/time. + :type source_if_unmodified_since: datetime + :param source_if_match: Specify an ETag value to operate only on blobs + with a matching value. + :type source_if_match: str + :param source_if_none_match: Specify an ETag value to operate only on + blobs without a matching value. + :type source_if_none_match: str + :param source_if_tags: Specify a SQL where clause on blob tags to operate + only on blobs with a matching value. + :type source_if_tags: str + """ + + _attribute_map = { + 'source_if_modified_since': {'key': '', 'type': 'rfc-1123', 'xml': {'name': 'source_if_modified_since'}}, + 'source_if_unmodified_since': {'key': '', 'type': 'rfc-1123', 'xml': {'name': 'source_if_unmodified_since'}}, + 'source_if_match': {'key': '', 'type': 'str', 'xml': {'name': 'source_if_match'}}, + 'source_if_none_match': {'key': '', 'type': 'str', 'xml': {'name': 'source_if_none_match'}}, + 'source_if_tags': {'key': '', 'type': 'str', 'xml': {'name': 'source_if_tags'}}, + } + _xml_map = { + } + + def __init__(self, **kwargs): + super(SourceModifiedAccessConditions, self).__init__(**kwargs) + self.source_if_modified_since = kwargs.get('source_if_modified_since', None) + self.source_if_unmodified_since = kwargs.get('source_if_unmodified_since', None) + self.source_if_match = kwargs.get('source_if_match', None) + self.source_if_none_match = kwargs.get('source_if_none_match', None) + self.source_if_tags = kwargs.get('source_if_tags', None) + + +class StaticWebsite(Model): + """The properties that enable an account to host a static website. + + All required parameters must be populated in order to send to Azure. + + :param enabled: Required. Indicates whether this account is hosting a + static website + :type enabled: bool + :param index_document: The default name of the index page under each + directory + :type index_document: str + :param error_document404_path: The absolute path of the custom 404 page + :type error_document404_path: str + :param default_index_document_path: Absolute path of the default index + page + :type default_index_document_path: str + """ + + _validation = { + 'enabled': {'required': True}, + } + + _attribute_map = { + 'enabled': {'key': 'Enabled', 'type': 'bool', 'xml': {'name': 'Enabled'}}, + 'index_document': {'key': 'IndexDocument', 'type': 'str', 'xml': {'name': 'IndexDocument'}}, + 'error_document404_path': {'key': 'ErrorDocument404Path', 'type': 'str', 'xml': {'name': 'ErrorDocument404Path'}}, + 'default_index_document_path': {'key': 'DefaultIndexDocumentPath', 'type': 'str', 'xml': {'name': 'DefaultIndexDocumentPath'}}, + } + _xml_map = { + } + + def __init__(self, **kwargs): + super(StaticWebsite, self).__init__(**kwargs) + self.enabled = kwargs.get('enabled', None) + self.index_document = kwargs.get('index_document', None) + self.error_document404_path = kwargs.get('error_document404_path', None) + self.default_index_document_path = kwargs.get('default_index_document_path', None) + + +class StorageError(Model): + """StorageError. + + :param message: + :type message: str + """ + + _attribute_map = { + 'message': {'key': 'Message', 'type': 'str', 'xml': {'name': 'Message'}}, + } + _xml_map = { + } + + def __init__(self, **kwargs): + super(StorageError, self).__init__(**kwargs) + self.message = kwargs.get('message', None) + + +class StorageErrorException(HttpResponseError): + """Server responsed with exception of type: 'StorageError'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, response, deserialize, *args): + + model_name = 'StorageError' + self.error = deserialize(model_name, response) + if self.error is None: + self.error = deserialize.dependencies[model_name]() + super(StorageErrorException, self).__init__(response=response) + + +class StorageServiceProperties(Model): + """Storage Service Properties. + + :param logging: + :type logging: ~azure.storage.blob.models.Logging + :param hour_metrics: + :type hour_metrics: ~azure.storage.blob.models.Metrics + :param minute_metrics: + :type minute_metrics: ~azure.storage.blob.models.Metrics + :param cors: The set of CORS rules. + :type cors: list[~azure.storage.blob.models.CorsRule] + :param default_service_version: The default version to use for requests to + the Blob service if an incoming request's version is not specified. + Possible values include version 2008-10-27 and all more recent versions + :type default_service_version: str + :param delete_retention_policy: + :type delete_retention_policy: ~azure.storage.blob.models.RetentionPolicy + :param static_website: + :type static_website: ~azure.storage.blob.models.StaticWebsite + """ + + _attribute_map = { + 'logging': {'key': 'Logging', 'type': 'Logging', 'xml': {'name': 'Logging'}}, + 'hour_metrics': {'key': 'HourMetrics', 'type': 'Metrics', 'xml': {'name': 'HourMetrics'}}, + 'minute_metrics': {'key': 'MinuteMetrics', 'type': 'Metrics', 'xml': {'name': 'MinuteMetrics'}}, + 'cors': {'key': 'Cors', 'type': '[CorsRule]', 'xml': {'name': 'Cors', 'itemsName': 'CorsRule', 'wrapped': True}}, + 'default_service_version': {'key': 'DefaultServiceVersion', 'type': 'str', 'xml': {'name': 'DefaultServiceVersion'}}, + 'delete_retention_policy': {'key': 'DeleteRetentionPolicy', 'type': 'RetentionPolicy', 'xml': {'name': 'DeleteRetentionPolicy'}}, + 'static_website': {'key': 'StaticWebsite', 'type': 'StaticWebsite', 'xml': {'name': 'StaticWebsite'}}, + } + _xml_map = { + } + + def __init__(self, **kwargs): + super(StorageServiceProperties, self).__init__(**kwargs) + self.logging = kwargs.get('logging', None) + self.hour_metrics = kwargs.get('hour_metrics', None) + self.minute_metrics = kwargs.get('minute_metrics', None) + self.cors = kwargs.get('cors', None) + self.default_service_version = kwargs.get('default_service_version', None) + self.delete_retention_policy = kwargs.get('delete_retention_policy', None) + self.static_website = kwargs.get('static_website', None) + + +class StorageServiceStats(Model): + """Stats for the storage service. + + :param geo_replication: + :type geo_replication: ~azure.storage.blob.models.GeoReplication + """ + + _attribute_map = { + 'geo_replication': {'key': 'GeoReplication', 'type': 'GeoReplication', 'xml': {'name': 'GeoReplication'}}, + } + _xml_map = { + } + + def __init__(self, **kwargs): + super(StorageServiceStats, self).__init__(**kwargs) + self.geo_replication = kwargs.get('geo_replication', None) + + +class UserDelegationKey(Model): + """A user delegation key. + + All required parameters must be populated in order to send to Azure. + + :param signed_oid: Required. The Azure Active Directory object ID in GUID + format. + :type signed_oid: str + :param signed_tid: Required. The Azure Active Directory tenant ID in GUID + format + :type signed_tid: str + :param signed_start: Required. The date-time the key is active + :type signed_start: datetime + :param signed_expiry: Required. The date-time the key expires + :type signed_expiry: datetime + :param signed_service: Required. Abbreviation of the Azure Storage service + that accepts the key + :type signed_service: str + :param signed_version: Required. The service version that created the key + :type signed_version: str + :param value: Required. The key as a base64 string + :type value: str + """ + + _validation = { + 'signed_oid': {'required': True}, + 'signed_tid': {'required': True}, + 'signed_start': {'required': True}, + 'signed_expiry': {'required': True}, + 'signed_service': {'required': True}, + 'signed_version': {'required': True}, + 'value': {'required': True}, + } + + _attribute_map = { + 'signed_oid': {'key': 'SignedOid', 'type': 'str', 'xml': {'name': 'SignedOid'}}, + 'signed_tid': {'key': 'SignedTid', 'type': 'str', 'xml': {'name': 'SignedTid'}}, + 'signed_start': {'key': 'SignedStart', 'type': 'iso-8601', 'xml': {'name': 'SignedStart'}}, + 'signed_expiry': {'key': 'SignedExpiry', 'type': 'iso-8601', 'xml': {'name': 'SignedExpiry'}}, + 'signed_service': {'key': 'SignedService', 'type': 'str', 'xml': {'name': 'SignedService'}}, + 'signed_version': {'key': 'SignedVersion', 'type': 'str', 'xml': {'name': 'SignedVersion'}}, + 'value': {'key': 'Value', 'type': 'str', 'xml': {'name': 'Value'}}, + } + _xml_map = { + } + + def __init__(self, **kwargs): + super(UserDelegationKey, self).__init__(**kwargs) + self.signed_oid = kwargs.get('signed_oid', None) + self.signed_tid = kwargs.get('signed_tid', None) + self.signed_start = kwargs.get('signed_start', None) + self.signed_expiry = kwargs.get('signed_expiry', None) + self.signed_service = kwargs.get('signed_service', None) + self.signed_version = kwargs.get('signed_version', None) + self.value = kwargs.get('value', None) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/models/_models_py3.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/models/_models_py3.py new file mode 100644 index 00000000000..7e5a3fc9136 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/models/_models_py3.py @@ -0,0 +1,2009 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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 azure.core.exceptions import HttpResponseError + + +class AccessPolicy(Model): + """An Access policy. + + :param start: the date-time the policy is active + :type start: str + :param expiry: the date-time the policy expires + :type expiry: str + :param permission: the permissions for the acl policy + :type permission: str + """ + + _attribute_map = { + 'start': {'key': 'Start', 'type': 'str', 'xml': {'name': 'Start'}}, + 'expiry': {'key': 'Expiry', 'type': 'str', 'xml': {'name': 'Expiry'}}, + 'permission': {'key': 'Permission', 'type': 'str', 'xml': {'name': 'Permission'}}, + } + _xml_map = { + } + + def __init__(self, *, start: str=None, expiry: str=None, permission: str=None, **kwargs) -> None: + super(AccessPolicy, self).__init__(**kwargs) + self.start = start + self.expiry = expiry + self.permission = permission + + +class AppendPositionAccessConditions(Model): + """Additional parameters for a set of operations, such as: + AppendBlob_append_block, AppendBlob_append_block_from_url, AppendBlob_seal. + + :param max_size: Optional conditional header. The max length in bytes + permitted for the append blob. If the Append Block operation would cause + the blob to exceed that limit or if the blob size is already greater than + the value specified in this header, the request will fail with + MaxBlobSizeConditionNotMet error (HTTP status code 412 - Precondition + Failed). + :type max_size: long + :param append_position: Optional conditional header, used only for the + Append Block operation. A number indicating the byte offset to compare. + Append Block will succeed only if the append position is equal to this + number. If it is not, the request will fail with the + AppendPositionConditionNotMet error (HTTP status code 412 - Precondition + Failed). + :type append_position: long + """ + + _attribute_map = { + 'max_size': {'key': '', 'type': 'long', 'xml': {'name': 'max_size'}}, + 'append_position': {'key': '', 'type': 'long', 'xml': {'name': 'append_position'}}, + } + _xml_map = { + } + + def __init__(self, *, max_size: int=None, append_position: int=None, **kwargs) -> None: + super(AppendPositionAccessConditions, self).__init__(**kwargs) + self.max_size = max_size + self.append_position = append_position + + +class ArrowConfiguration(Model): + """arrow configuration. + + All required parameters must be populated in order to send to Azure. + + :param schema: Required. + :type schema: list[~azure.storage.blob.models.ArrowField] + """ + + _validation = { + 'schema': {'required': True}, + } + + _attribute_map = { + 'schema': {'key': 'Schema', 'type': '[ArrowField]', 'xml': {'name': 'Schema', 'itemsName': 'Schema', 'wrapped': True}}, + } + _xml_map = { + 'name': 'ArrowConfiguration' + } + + def __init__(self, *, schema, **kwargs) -> None: + super(ArrowConfiguration, self).__init__(**kwargs) + self.schema = schema + + +class ArrowField(Model): + """field of an arrow schema. + + All required parameters must be populated in order to send to Azure. + + :param type: Required. + :type type: str + :param name: + :type name: str + :param precision: + :type precision: int + :param scale: + :type scale: int + """ + + _validation = { + 'type': {'required': True}, + } + + _attribute_map = { + 'type': {'key': 'Type', 'type': 'str', 'xml': {'name': 'Type'}}, + 'name': {'key': 'Name', 'type': 'str', 'xml': {'name': 'Name'}}, + 'precision': {'key': 'Precision', 'type': 'int', 'xml': {'name': 'Precision'}}, + 'scale': {'key': 'Scale', 'type': 'int', 'xml': {'name': 'Scale'}}, + } + _xml_map = { + 'name': 'Field' + } + + def __init__(self, *, type: str, name: str=None, precision: int=None, scale: int=None, **kwargs) -> None: + super(ArrowField, self).__init__(**kwargs) + self.type = type + self.name = name + self.precision = precision + self.scale = scale + + +class BlobFlatListSegment(Model): + """BlobFlatListSegment. + + All required parameters must be populated in order to send to Azure. + + :param blob_items: Required. + :type blob_items: list[~azure.storage.blob.models.BlobItemInternal] + """ + + _validation = { + 'blob_items': {'required': True}, + } + + _attribute_map = { + 'blob_items': {'key': 'BlobItems', 'type': '[BlobItemInternal]', 'xml': {'name': 'BlobItems', 'itemsName': 'Blob'}}, + } + _xml_map = { + 'name': 'Blobs' + } + + def __init__(self, *, blob_items, **kwargs) -> None: + super(BlobFlatListSegment, self).__init__(**kwargs) + self.blob_items = blob_items + + +class BlobHierarchyListSegment(Model): + """BlobHierarchyListSegment. + + All required parameters must be populated in order to send to Azure. + + :param blob_prefixes: + :type blob_prefixes: list[~azure.storage.blob.models.BlobPrefix] + :param blob_items: Required. + :type blob_items: list[~azure.storage.blob.models.BlobItemInternal] + """ + + _validation = { + 'blob_items': {'required': True}, + } + + _attribute_map = { + 'blob_prefixes': {'key': 'BlobPrefixes', 'type': '[BlobPrefix]', 'xml': {'name': 'BlobPrefix', 'itemsName': 'BlobPrefix'}}, + 'blob_items': {'key': 'BlobItems', 'type': '[BlobItemInternal]', 'xml': {'name': 'Blob', 'itemsName': 'Blob'}}, + } + _xml_map = { + 'name': 'Blobs' + } + + def __init__(self, *, blob_items, blob_prefixes=None, **kwargs) -> None: + super(BlobHierarchyListSegment, self).__init__(**kwargs) + self.blob_prefixes = blob_prefixes + self.blob_items = blob_items + + +class BlobHTTPHeaders(Model): + """Additional parameters for a set of operations. + + :param blob_cache_control: Optional. Sets the blob's cache control. If + specified, this property is stored with the blob and returned with a read + request. + :type blob_cache_control: str + :param blob_content_type: Optional. Sets the blob's content type. If + specified, this property is stored with the blob and returned with a read + request. + :type blob_content_type: str + :param blob_content_md5: Optional. An MD5 hash of the blob content. Note + that this hash is not validated, as the hashes for the individual blocks + were validated when each was uploaded. + :type blob_content_md5: bytearray + :param blob_content_encoding: Optional. Sets the blob's content encoding. + If specified, this property is stored with the blob and returned with a + read request. + :type blob_content_encoding: str + :param blob_content_language: Optional. Set the blob's content language. + If specified, this property is stored with the blob and returned with a + read request. + :type blob_content_language: str + :param blob_content_disposition: Optional. Sets the blob's + Content-Disposition header. + :type blob_content_disposition: str + """ + + _attribute_map = { + 'blob_cache_control': {'key': '', 'type': 'str', 'xml': {'name': 'blob_cache_control'}}, + 'blob_content_type': {'key': '', 'type': 'str', 'xml': {'name': 'blob_content_type'}}, + 'blob_content_md5': {'key': '', 'type': 'bytearray', 'xml': {'name': 'blob_content_md5'}}, + 'blob_content_encoding': {'key': '', 'type': 'str', 'xml': {'name': 'blob_content_encoding'}}, + 'blob_content_language': {'key': '', 'type': 'str', 'xml': {'name': 'blob_content_language'}}, + 'blob_content_disposition': {'key': '', 'type': 'str', 'xml': {'name': 'blob_content_disposition'}}, + } + _xml_map = { + } + + def __init__(self, *, blob_cache_control: str=None, blob_content_type: str=None, blob_content_md5: bytearray=None, blob_content_encoding: str=None, blob_content_language: str=None, blob_content_disposition: str=None, **kwargs) -> None: + super(BlobHTTPHeaders, self).__init__(**kwargs) + self.blob_cache_control = blob_cache_control + self.blob_content_type = blob_content_type + self.blob_content_md5 = blob_content_md5 + self.blob_content_encoding = blob_content_encoding + self.blob_content_language = blob_content_language + self.blob_content_disposition = blob_content_disposition + + +class BlobItemInternal(Model): + """An Azure Storage blob. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. + :type name: str + :param deleted: Required. + :type deleted: bool + :param snapshot: Required. + :type snapshot: str + :param version_id: + :type version_id: str + :param is_current_version: + :type is_current_version: bool + :param properties: Required. + :type properties: ~azure.storage.blob.models.BlobPropertiesInternal + :param metadata: + :type metadata: ~azure.storage.blob.models.BlobMetadata + :param blob_tags: + :type blob_tags: ~azure.storage.blob.models.BlobTags + :param object_replication_metadata: + :type object_replication_metadata: dict[str, str] + """ + + _validation = { + 'name': {'required': True}, + 'deleted': {'required': True}, + 'snapshot': {'required': True}, + 'properties': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'Name', 'type': 'str', 'xml': {'name': 'Name'}}, + 'deleted': {'key': 'Deleted', 'type': 'bool', 'xml': {'name': 'Deleted'}}, + 'snapshot': {'key': 'Snapshot', 'type': 'str', 'xml': {'name': 'Snapshot'}}, + 'version_id': {'key': 'VersionId', 'type': 'str', 'xml': {'name': 'VersionId'}}, + 'is_current_version': {'key': 'IsCurrentVersion', 'type': 'bool', 'xml': {'name': 'IsCurrentVersion'}}, + 'properties': {'key': 'Properties', 'type': 'BlobPropertiesInternal', 'xml': {'name': 'Properties'}}, + 'metadata': {'key': 'Metadata', 'type': 'BlobMetadata', 'xml': {'name': 'Metadata'}}, + 'blob_tags': {'key': 'BlobTags', 'type': 'BlobTags', 'xml': {'name': 'BlobTags'}}, + 'object_replication_metadata': {'key': 'OrMetadata', 'type': '{str}', 'xml': {'name': 'OrMetadata'}}, + } + _xml_map = { + 'name': 'Blob' + } + + def __init__(self, *, name: str, deleted: bool, snapshot: str, properties, version_id: str=None, is_current_version: bool=None, metadata=None, blob_tags=None, object_replication_metadata=None, **kwargs) -> None: + super(BlobItemInternal, self).__init__(**kwargs) + self.name = name + self.deleted = deleted + self.snapshot = snapshot + self.version_id = version_id + self.is_current_version = is_current_version + self.properties = properties + self.metadata = metadata + self.blob_tags = blob_tags + self.object_replication_metadata = object_replication_metadata + + +class BlobMetadata(Model): + """BlobMetadata. + + :param additional_properties: Unmatched properties from the message are + deserialized this collection + :type additional_properties: dict[str, str] + :param encrypted: + :type encrypted: str + """ + + _attribute_map = { + 'additional_properties': {'key': '', 'type': '{str}', 'xml': {'name': 'additional_properties'}}, + 'encrypted': {'key': 'Encrypted', 'type': 'str', 'xml': {'name': 'Encrypted', 'attr': True}}, + } + _xml_map = { + 'name': 'Metadata' + } + + def __init__(self, *, additional_properties=None, encrypted: str=None, **kwargs) -> None: + super(BlobMetadata, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.encrypted = encrypted + + +class BlobPrefix(Model): + """BlobPrefix. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. + :type name: str + """ + + _validation = { + 'name': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'Name', 'type': 'str', 'xml': {'name': 'Name'}}, + } + _xml_map = { + } + + def __init__(self, *, name: str, **kwargs) -> None: + super(BlobPrefix, self).__init__(**kwargs) + self.name = name + + +class BlobPropertiesInternal(Model): + """Properties of a blob. + + All required parameters must be populated in order to send to Azure. + + :param creation_time: + :type creation_time: datetime + :param last_modified: Required. + :type last_modified: datetime + :param etag: Required. + :type etag: str + :param content_length: Size in bytes + :type content_length: long + :param content_type: + :type content_type: str + :param content_encoding: + :type content_encoding: str + :param content_language: + :type content_language: str + :param content_md5: + :type content_md5: bytearray + :param content_disposition: + :type content_disposition: str + :param cache_control: + :type cache_control: str + :param blob_sequence_number: + :type blob_sequence_number: long + :param blob_type: Possible values include: 'BlockBlob', 'PageBlob', + 'AppendBlob' + :type blob_type: str or ~azure.storage.blob.models.BlobType + :param lease_status: Possible values include: 'locked', 'unlocked' + :type lease_status: str or ~azure.storage.blob.models.LeaseStatusType + :param lease_state: Possible values include: 'available', 'leased', + 'expired', 'breaking', 'broken' + :type lease_state: str or ~azure.storage.blob.models.LeaseStateType + :param lease_duration: Possible values include: 'infinite', 'fixed' + :type lease_duration: str or ~azure.storage.blob.models.LeaseDurationType + :param copy_id: + :type copy_id: str + :param copy_status: Possible values include: 'pending', 'success', + 'aborted', 'failed' + :type copy_status: str or ~azure.storage.blob.models.CopyStatusType + :param copy_source: + :type copy_source: str + :param copy_progress: + :type copy_progress: str + :param copy_completion_time: + :type copy_completion_time: datetime + :param copy_status_description: + :type copy_status_description: str + :param server_encrypted: + :type server_encrypted: bool + :param incremental_copy: + :type incremental_copy: bool + :param destination_snapshot: + :type destination_snapshot: str + :param deleted_time: + :type deleted_time: datetime + :param remaining_retention_days: + :type remaining_retention_days: int + :param access_tier: Possible values include: 'P4', 'P6', 'P10', 'P15', + 'P20', 'P30', 'P40', 'P50', 'P60', 'P70', 'P80', 'Hot', 'Cool', 'Archive' + :type access_tier: str or ~azure.storage.blob.models.AccessTier + :param access_tier_inferred: + :type access_tier_inferred: bool + :param archive_status: Possible values include: + 'rehydrate-pending-to-hot', 'rehydrate-pending-to-cool' + :type archive_status: str or ~azure.storage.blob.models.ArchiveStatus + :param customer_provided_key_sha256: + :type customer_provided_key_sha256: str + :param encryption_scope: The name of the encryption scope under which the + blob is encrypted. + :type encryption_scope: str + :param access_tier_change_time: + :type access_tier_change_time: datetime + :param tag_count: + :type tag_count: int + :param expires_on: + :type expires_on: datetime + :param is_sealed: + :type is_sealed: bool + :param rehydrate_priority: Possible values include: 'High', 'Standard' + :type rehydrate_priority: str or + ~azure.storage.blob.models.RehydratePriority + :param last_accessed_on: + :type last_accessed_on: datetime + """ + + _validation = { + 'last_modified': {'required': True}, + 'etag': {'required': True}, + } + + _attribute_map = { + 'creation_time': {'key': 'Creation-Time', 'type': 'rfc-1123', 'xml': {'name': 'Creation-Time'}}, + 'last_modified': {'key': 'Last-Modified', 'type': 'rfc-1123', 'xml': {'name': 'Last-Modified'}}, + 'etag': {'key': 'Etag', 'type': 'str', 'xml': {'name': 'Etag'}}, + 'content_length': {'key': 'Content-Length', 'type': 'long', 'xml': {'name': 'Content-Length'}}, + 'content_type': {'key': 'Content-Type', 'type': 'str', 'xml': {'name': 'Content-Type'}}, + 'content_encoding': {'key': 'Content-Encoding', 'type': 'str', 'xml': {'name': 'Content-Encoding'}}, + 'content_language': {'key': 'Content-Language', 'type': 'str', 'xml': {'name': 'Content-Language'}}, + 'content_md5': {'key': 'Content-MD5', 'type': 'bytearray', 'xml': {'name': 'Content-MD5'}}, + 'content_disposition': {'key': 'Content-Disposition', 'type': 'str', 'xml': {'name': 'Content-Disposition'}}, + 'cache_control': {'key': 'Cache-Control', 'type': 'str', 'xml': {'name': 'Cache-Control'}}, + 'blob_sequence_number': {'key': 'x-ms-blob-sequence-number', 'type': 'long', 'xml': {'name': 'x-ms-blob-sequence-number'}}, + 'blob_type': {'key': 'BlobType', 'type': 'BlobType', 'xml': {'name': 'BlobType'}}, + 'lease_status': {'key': 'LeaseStatus', 'type': 'LeaseStatusType', 'xml': {'name': 'LeaseStatus'}}, + 'lease_state': {'key': 'LeaseState', 'type': 'LeaseStateType', 'xml': {'name': 'LeaseState'}}, + 'lease_duration': {'key': 'LeaseDuration', 'type': 'LeaseDurationType', 'xml': {'name': 'LeaseDuration'}}, + 'copy_id': {'key': 'CopyId', 'type': 'str', 'xml': {'name': 'CopyId'}}, + 'copy_status': {'key': 'CopyStatus', 'type': 'CopyStatusType', 'xml': {'name': 'CopyStatus'}}, + 'copy_source': {'key': 'CopySource', 'type': 'str', 'xml': {'name': 'CopySource'}}, + 'copy_progress': {'key': 'CopyProgress', 'type': 'str', 'xml': {'name': 'CopyProgress'}}, + 'copy_completion_time': {'key': 'CopyCompletionTime', 'type': 'rfc-1123', 'xml': {'name': 'CopyCompletionTime'}}, + 'copy_status_description': {'key': 'CopyStatusDescription', 'type': 'str', 'xml': {'name': 'CopyStatusDescription'}}, + 'server_encrypted': {'key': 'ServerEncrypted', 'type': 'bool', 'xml': {'name': 'ServerEncrypted'}}, + 'incremental_copy': {'key': 'IncrementalCopy', 'type': 'bool', 'xml': {'name': 'IncrementalCopy'}}, + 'destination_snapshot': {'key': 'DestinationSnapshot', 'type': 'str', 'xml': {'name': 'DestinationSnapshot'}}, + 'deleted_time': {'key': 'DeletedTime', 'type': 'rfc-1123', 'xml': {'name': 'DeletedTime'}}, + 'remaining_retention_days': {'key': 'RemainingRetentionDays', 'type': 'int', 'xml': {'name': 'RemainingRetentionDays'}}, + 'access_tier': {'key': 'AccessTier', 'type': 'str', 'xml': {'name': 'AccessTier'}}, + 'access_tier_inferred': {'key': 'AccessTierInferred', 'type': 'bool', 'xml': {'name': 'AccessTierInferred'}}, + 'archive_status': {'key': 'ArchiveStatus', 'type': 'str', 'xml': {'name': 'ArchiveStatus'}}, + 'customer_provided_key_sha256': {'key': 'CustomerProvidedKeySha256', 'type': 'str', 'xml': {'name': 'CustomerProvidedKeySha256'}}, + 'encryption_scope': {'key': 'EncryptionScope', 'type': 'str', 'xml': {'name': 'EncryptionScope'}}, + 'access_tier_change_time': {'key': 'AccessTierChangeTime', 'type': 'rfc-1123', 'xml': {'name': 'AccessTierChangeTime'}}, + 'tag_count': {'key': 'TagCount', 'type': 'int', 'xml': {'name': 'TagCount'}}, + 'expires_on': {'key': 'Expiry-Time', 'type': 'rfc-1123', 'xml': {'name': 'Expiry-Time'}}, + 'is_sealed': {'key': 'Sealed', 'type': 'bool', 'xml': {'name': 'Sealed'}}, + 'rehydrate_priority': {'key': 'RehydratePriority', 'type': 'str', 'xml': {'name': 'RehydratePriority'}}, + 'last_accessed_on': {'key': 'LastAccessTime', 'type': 'rfc-1123', 'xml': {'name': 'LastAccessTime'}}, + } + _xml_map = { + 'name': 'Properties' + } + + def __init__(self, *, last_modified, etag: str, creation_time=None, content_length: int=None, content_type: str=None, content_encoding: str=None, content_language: str=None, content_md5: bytearray=None, content_disposition: str=None, cache_control: str=None, blob_sequence_number: int=None, blob_type=None, lease_status=None, lease_state=None, lease_duration=None, copy_id: str=None, copy_status=None, copy_source: str=None, copy_progress: str=None, copy_completion_time=None, copy_status_description: str=None, server_encrypted: bool=None, incremental_copy: bool=None, destination_snapshot: str=None, deleted_time=None, remaining_retention_days: int=None, access_tier=None, access_tier_inferred: bool=None, archive_status=None, customer_provided_key_sha256: str=None, encryption_scope: str=None, access_tier_change_time=None, tag_count: int=None, expires_on=None, is_sealed: bool=None, rehydrate_priority=None, last_accessed_on=None, **kwargs) -> None: + super(BlobPropertiesInternal, self).__init__(**kwargs) + self.creation_time = creation_time + self.last_modified = last_modified + self.etag = etag + self.content_length = content_length + self.content_type = content_type + self.content_encoding = content_encoding + self.content_language = content_language + self.content_md5 = content_md5 + self.content_disposition = content_disposition + self.cache_control = cache_control + self.blob_sequence_number = blob_sequence_number + self.blob_type = blob_type + self.lease_status = lease_status + self.lease_state = lease_state + self.lease_duration = lease_duration + self.copy_id = copy_id + self.copy_status = copy_status + self.copy_source = copy_source + self.copy_progress = copy_progress + self.copy_completion_time = copy_completion_time + self.copy_status_description = copy_status_description + self.server_encrypted = server_encrypted + self.incremental_copy = incremental_copy + self.destination_snapshot = destination_snapshot + self.deleted_time = deleted_time + self.remaining_retention_days = remaining_retention_days + self.access_tier = access_tier + self.access_tier_inferred = access_tier_inferred + self.archive_status = archive_status + self.customer_provided_key_sha256 = customer_provided_key_sha256 + self.encryption_scope = encryption_scope + self.access_tier_change_time = access_tier_change_time + self.tag_count = tag_count + self.expires_on = expires_on + self.is_sealed = is_sealed + self.rehydrate_priority = rehydrate_priority + self.last_accessed_on = last_accessed_on + + +class BlobTag(Model): + """BlobTag. + + All required parameters must be populated in order to send to Azure. + + :param key: Required. + :type key: str + :param value: Required. + :type value: str + """ + + _validation = { + 'key': {'required': True}, + 'value': {'required': True}, + } + + _attribute_map = { + 'key': {'key': 'Key', 'type': 'str', 'xml': {'name': 'Key'}}, + 'value': {'key': 'Value', 'type': 'str', 'xml': {'name': 'Value'}}, + } + _xml_map = { + 'name': 'Tag' + } + + def __init__(self, *, key: str, value: str, **kwargs) -> None: + super(BlobTag, self).__init__(**kwargs) + self.key = key + self.value = value + + +class BlobTags(Model): + """Blob tags. + + All required parameters must be populated in order to send to Azure. + + :param blob_tag_set: Required. + :type blob_tag_set: list[~azure.storage.blob.models.BlobTag] + """ + + _validation = { + 'blob_tag_set': {'required': True}, + } + + _attribute_map = { + 'blob_tag_set': {'key': 'BlobTagSet', 'type': '[BlobTag]', 'xml': {'name': 'TagSet', 'itemsName': 'TagSet', 'wrapped': True}}, + } + _xml_map = { + 'name': 'Tags' + } + + def __init__(self, *, blob_tag_set, **kwargs) -> None: + super(BlobTags, self).__init__(**kwargs) + self.blob_tag_set = blob_tag_set + + +class Block(Model): + """Represents a single block in a block blob. It describes the block's ID and + size. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. The base64 encoded block ID. + :type name: str + :param size: Required. The block size in bytes. + :type size: int + """ + + _validation = { + 'name': {'required': True}, + 'size': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'Name', 'type': 'str', 'xml': {'name': 'Name'}}, + 'size': {'key': 'Size', 'type': 'int', 'xml': {'name': 'Size'}}, + } + _xml_map = { + } + + def __init__(self, *, name: str, size: int, **kwargs) -> None: + super(Block, self).__init__(**kwargs) + self.name = name + self.size = size + + +class BlockList(Model): + """BlockList. + + :param committed_blocks: + :type committed_blocks: list[~azure.storage.blob.models.Block] + :param uncommitted_blocks: + :type uncommitted_blocks: list[~azure.storage.blob.models.Block] + """ + + _attribute_map = { + 'committed_blocks': {'key': 'CommittedBlocks', 'type': '[Block]', 'xml': {'name': 'CommittedBlocks', 'itemsName': 'Block', 'wrapped': True}}, + 'uncommitted_blocks': {'key': 'UncommittedBlocks', 'type': '[Block]', 'xml': {'name': 'UncommittedBlocks', 'itemsName': 'Block', 'wrapped': True}}, + } + _xml_map = { + } + + def __init__(self, *, committed_blocks=None, uncommitted_blocks=None, **kwargs) -> None: + super(BlockList, self).__init__(**kwargs) + self.committed_blocks = committed_blocks + self.uncommitted_blocks = uncommitted_blocks + + +class BlockLookupList(Model): + """BlockLookupList. + + :param committed: + :type committed: list[str] + :param uncommitted: + :type uncommitted: list[str] + :param latest: + :type latest: list[str] + """ + + _attribute_map = { + 'committed': {'key': 'Committed', 'type': '[str]', 'xml': {'name': 'Committed', 'itemsName': 'Committed'}}, + 'uncommitted': {'key': 'Uncommitted', 'type': '[str]', 'xml': {'name': 'Uncommitted', 'itemsName': 'Uncommitted'}}, + 'latest': {'key': 'Latest', 'type': '[str]', 'xml': {'name': 'Latest', 'itemsName': 'Latest'}}, + } + _xml_map = { + 'name': 'BlockList' + } + + def __init__(self, *, committed=None, uncommitted=None, latest=None, **kwargs) -> None: + super(BlockLookupList, self).__init__(**kwargs) + self.committed = committed + self.uncommitted = uncommitted + self.latest = latest + + +class ClearRange(Model): + """ClearRange. + + All required parameters must be populated in order to send to Azure. + + :param start: Required. + :type start: long + :param end: Required. + :type end: long + """ + + _validation = { + 'start': {'required': True}, + 'end': {'required': True}, + } + + _attribute_map = { + 'start': {'key': 'Start', 'type': 'long', 'xml': {'name': 'Start'}}, + 'end': {'key': 'End', 'type': 'long', 'xml': {'name': 'End'}}, + } + _xml_map = { + 'name': 'ClearRange' + } + + def __init__(self, *, start: int, end: int, **kwargs) -> None: + super(ClearRange, self).__init__(**kwargs) + self.start = start + self.end = end + + +class ContainerCpkScopeInfo(Model): + """Additional parameters for create operation. + + :param default_encryption_scope: Optional. Version 2019-07-07 and later. + Specifies the default encryption scope to set on the container and use for + all future writes. + :type default_encryption_scope: str + :param prevent_encryption_scope_override: Optional. Version 2019-07-07 + and newer. If true, prevents any request from specifying a different + encryption scope than the scope set on the container. + :type prevent_encryption_scope_override: bool + """ + + _attribute_map = { + 'default_encryption_scope': {'key': '', 'type': 'str', 'xml': {'name': 'default_encryption_scope'}}, + 'prevent_encryption_scope_override': {'key': '', 'type': 'bool', 'xml': {'name': 'prevent_encryption_scope_override'}}, + } + _xml_map = { + } + + def __init__(self, *, default_encryption_scope: str=None, prevent_encryption_scope_override: bool=None, **kwargs) -> None: + super(ContainerCpkScopeInfo, self).__init__(**kwargs) + self.default_encryption_scope = default_encryption_scope + self.prevent_encryption_scope_override = prevent_encryption_scope_override + + +class ContainerItem(Model): + """An Azure Storage container. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. + :type name: str + :param deleted: + :type deleted: bool + :param version: + :type version: str + :param properties: Required. + :type properties: ~azure.storage.blob.models.ContainerProperties + :param metadata: + :type metadata: dict[str, str] + """ + + _validation = { + 'name': {'required': True}, + 'properties': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'Name', 'type': 'str', 'xml': {'name': 'Name'}}, + 'deleted': {'key': 'Deleted', 'type': 'bool', 'xml': {'name': 'Deleted'}}, + 'version': {'key': 'Version', 'type': 'str', 'xml': {'name': 'Version'}}, + 'properties': {'key': 'Properties', 'type': 'ContainerProperties', 'xml': {'name': 'Properties'}}, + 'metadata': {'key': 'Metadata', 'type': '{str}', 'xml': {'name': 'Metadata'}}, + } + _xml_map = { + 'name': 'Container' + } + + def __init__(self, *, name: str, properties, deleted: bool=None, version: str=None, metadata=None, **kwargs) -> None: + super(ContainerItem, self).__init__(**kwargs) + self.name = name + self.deleted = deleted + self.version = version + self.properties = properties + self.metadata = metadata + + +class ContainerProperties(Model): + """Properties of a container. + + All required parameters must be populated in order to send to Azure. + + :param last_modified: Required. + :type last_modified: datetime + :param etag: Required. + :type etag: str + :param lease_status: Possible values include: 'locked', 'unlocked' + :type lease_status: str or ~azure.storage.blob.models.LeaseStatusType + :param lease_state: Possible values include: 'available', 'leased', + 'expired', 'breaking', 'broken' + :type lease_state: str or ~azure.storage.blob.models.LeaseStateType + :param lease_duration: Possible values include: 'infinite', 'fixed' + :type lease_duration: str or ~azure.storage.blob.models.LeaseDurationType + :param public_access: Possible values include: 'container', 'blob' + :type public_access: str or ~azure.storage.blob.models.PublicAccessType + :param has_immutability_policy: + :type has_immutability_policy: bool + :param has_legal_hold: + :type has_legal_hold: bool + :param default_encryption_scope: + :type default_encryption_scope: str + :param prevent_encryption_scope_override: + :type prevent_encryption_scope_override: bool + :param deleted_time: + :type deleted_time: datetime + :param remaining_retention_days: + :type remaining_retention_days: int + """ + + _validation = { + 'last_modified': {'required': True}, + 'etag': {'required': True}, + } + + _attribute_map = { + 'last_modified': {'key': 'Last-Modified', 'type': 'rfc-1123', 'xml': {'name': 'Last-Modified'}}, + 'etag': {'key': 'Etag', 'type': 'str', 'xml': {'name': 'Etag'}}, + 'lease_status': {'key': 'LeaseStatus', 'type': 'LeaseStatusType', 'xml': {'name': 'LeaseStatus'}}, + 'lease_state': {'key': 'LeaseState', 'type': 'LeaseStateType', 'xml': {'name': 'LeaseState'}}, + 'lease_duration': {'key': 'LeaseDuration', 'type': 'LeaseDurationType', 'xml': {'name': 'LeaseDuration'}}, + 'public_access': {'key': 'PublicAccess', 'type': 'str', 'xml': {'name': 'PublicAccess'}}, + 'has_immutability_policy': {'key': 'HasImmutabilityPolicy', 'type': 'bool', 'xml': {'name': 'HasImmutabilityPolicy'}}, + 'has_legal_hold': {'key': 'HasLegalHold', 'type': 'bool', 'xml': {'name': 'HasLegalHold'}}, + 'default_encryption_scope': {'key': 'DefaultEncryptionScope', 'type': 'str', 'xml': {'name': 'DefaultEncryptionScope'}}, + 'prevent_encryption_scope_override': {'key': 'DenyEncryptionScopeOverride', 'type': 'bool', 'xml': {'name': 'DenyEncryptionScopeOverride'}}, + 'deleted_time': {'key': 'DeletedTime', 'type': 'rfc-1123', 'xml': {'name': 'DeletedTime'}}, + 'remaining_retention_days': {'key': 'RemainingRetentionDays', 'type': 'int', 'xml': {'name': 'RemainingRetentionDays'}}, + } + _xml_map = { + } + + def __init__(self, *, last_modified, etag: str, lease_status=None, lease_state=None, lease_duration=None, public_access=None, has_immutability_policy: bool=None, has_legal_hold: bool=None, default_encryption_scope: str=None, prevent_encryption_scope_override: bool=None, deleted_time=None, remaining_retention_days: int=None, **kwargs) -> None: + super(ContainerProperties, self).__init__(**kwargs) + self.last_modified = last_modified + self.etag = etag + self.lease_status = lease_status + self.lease_state = lease_state + self.lease_duration = lease_duration + self.public_access = public_access + self.has_immutability_policy = has_immutability_policy + self.has_legal_hold = has_legal_hold + self.default_encryption_scope = default_encryption_scope + self.prevent_encryption_scope_override = prevent_encryption_scope_override + self.deleted_time = deleted_time + self.remaining_retention_days = remaining_retention_days + + +class CorsRule(Model): + """CORS is an HTTP feature that enables a web application running under one + domain to access resources in another domain. Web browsers implement a + security restriction known as same-origin policy that prevents a web page + from calling APIs in a different domain; CORS provides a secure way to + allow one domain (the origin domain) to call APIs in another domain. + + All required parameters must be populated in order to send to Azure. + + :param allowed_origins: Required. The origin domains that are permitted to + make a request against the storage service via CORS. The origin domain is + the domain from which the request originates. Note that the origin must be + an exact case-sensitive match with the origin that the user age sends to + the service. You can also use the wildcard character '*' to allow all + origin domains to make requests via CORS. + :type allowed_origins: str + :param allowed_methods: Required. The methods (HTTP request verbs) that + the origin domain may use for a CORS request. (comma separated) + :type allowed_methods: str + :param allowed_headers: Required. the request headers that the origin + domain may specify on the CORS request. + :type allowed_headers: str + :param exposed_headers: Required. The response headers that may be sent in + the response to the CORS request and exposed by the browser to the request + issuer + :type exposed_headers: str + :param max_age_in_seconds: Required. The maximum amount time that a + browser should cache the preflight OPTIONS request. + :type max_age_in_seconds: int + """ + + _validation = { + 'allowed_origins': {'required': True}, + 'allowed_methods': {'required': True}, + 'allowed_headers': {'required': True}, + 'exposed_headers': {'required': True}, + 'max_age_in_seconds': {'required': True, 'minimum': 0}, + } + + _attribute_map = { + 'allowed_origins': {'key': 'AllowedOrigins', 'type': 'str', 'xml': {'name': 'AllowedOrigins'}}, + 'allowed_methods': {'key': 'AllowedMethods', 'type': 'str', 'xml': {'name': 'AllowedMethods'}}, + 'allowed_headers': {'key': 'AllowedHeaders', 'type': 'str', 'xml': {'name': 'AllowedHeaders'}}, + 'exposed_headers': {'key': 'ExposedHeaders', 'type': 'str', 'xml': {'name': 'ExposedHeaders'}}, + 'max_age_in_seconds': {'key': 'MaxAgeInSeconds', 'type': 'int', 'xml': {'name': 'MaxAgeInSeconds'}}, + } + _xml_map = { + } + + def __init__(self, *, allowed_origins: str, allowed_methods: str, allowed_headers: str, exposed_headers: str, max_age_in_seconds: int, **kwargs) -> None: + super(CorsRule, self).__init__(**kwargs) + self.allowed_origins = allowed_origins + self.allowed_methods = allowed_methods + self.allowed_headers = allowed_headers + self.exposed_headers = exposed_headers + self.max_age_in_seconds = max_age_in_seconds + + +class CpkInfo(Model): + """Additional parameters for a set of operations. + + :param encryption_key: Optional. Specifies the encryption key to use to + encrypt the data provided in the request. If not specified, encryption is + performed with the root account encryption key. For more information, see + Encryption at Rest for Azure Storage Services. + :type encryption_key: str + :param encryption_key_sha256: The SHA-256 hash of the provided encryption + key. Must be provided if the x-ms-encryption-key header is provided. + :type encryption_key_sha256: str + :param encryption_algorithm: The algorithm used to produce the encryption + key hash. Currently, the only accepted value is "AES256". Must be provided + if the x-ms-encryption-key header is provided. Possible values include: + 'AES256' + :type encryption_algorithm: str or + ~azure.storage.blob.models.EncryptionAlgorithmType + """ + + _attribute_map = { + 'encryption_key': {'key': '', 'type': 'str', 'xml': {'name': 'encryption_key'}}, + 'encryption_key_sha256': {'key': '', 'type': 'str', 'xml': {'name': 'encryption_key_sha256'}}, + 'encryption_algorithm': {'key': '', 'type': 'EncryptionAlgorithmType', 'xml': {'name': 'encryption_algorithm'}}, + } + _xml_map = { + } + + def __init__(self, *, encryption_key: str=None, encryption_key_sha256: str=None, encryption_algorithm=None, **kwargs) -> None: + super(CpkInfo, self).__init__(**kwargs) + self.encryption_key = encryption_key + self.encryption_key_sha256 = encryption_key_sha256 + self.encryption_algorithm = encryption_algorithm + + +class CpkScopeInfo(Model): + """Additional parameters for a set of operations. + + :param encryption_scope: Optional. Version 2019-07-07 and later. + Specifies the name of the encryption scope to use to encrypt the data + provided in the request. If not specified, encryption is performed with + the default account encryption scope. For more information, see + Encryption at Rest for Azure Storage Services. + :type encryption_scope: str + """ + + _attribute_map = { + 'encryption_scope': {'key': '', 'type': 'str', 'xml': {'name': 'encryption_scope'}}, + } + _xml_map = { + } + + def __init__(self, *, encryption_scope: str=None, **kwargs) -> None: + super(CpkScopeInfo, self).__init__(**kwargs) + self.encryption_scope = encryption_scope + + +class DataLakeStorageError(Model): + """DataLakeStorageError. + + :param data_lake_storage_error_details: The service error response object. + :type data_lake_storage_error_details: + ~azure.storage.blob.models.DataLakeStorageErrorError + """ + + _attribute_map = { + 'data_lake_storage_error_details': {'key': 'error', 'type': 'DataLakeStorageErrorError', 'xml': {'name': 'error'}}, + } + _xml_map = { + } + + def __init__(self, *, data_lake_storage_error_details=None, **kwargs) -> None: + super(DataLakeStorageError, self).__init__(**kwargs) + self.data_lake_storage_error_details = data_lake_storage_error_details + + +class DataLakeStorageErrorException(HttpResponseError): + """Server responsed with exception of type: 'DataLakeStorageError'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, response, deserialize, *args): + + model_name = 'DataLakeStorageError' + self.error = deserialize(model_name, response) + if self.error is None: + self.error = deserialize.dependencies[model_name]() + super(DataLakeStorageErrorException, self).__init__(response=response) + + +class DataLakeStorageErrorError(Model): + """The service error response object. + + :param code: The service error code. + :type code: str + :param message: The service error message. + :type message: str + """ + + _attribute_map = { + 'code': {'key': 'Code', 'type': 'str', 'xml': {'name': 'Code'}}, + 'message': {'key': 'Message', 'type': 'str', 'xml': {'name': 'Message'}}, + } + _xml_map = { + } + + def __init__(self, *, code: str=None, message: str=None, **kwargs) -> None: + super(DataLakeStorageErrorError, self).__init__(**kwargs) + self.code = code + self.message = message + + +class DelimitedTextConfiguration(Model): + """delimited text configuration. + + All required parameters must be populated in order to send to Azure. + + :param column_separator: Required. column separator + :type column_separator: str + :param field_quote: Required. field quote + :type field_quote: str + :param record_separator: Required. record separator + :type record_separator: str + :param escape_char: Required. escape char + :type escape_char: str + :param headers_present: Required. has headers + :type headers_present: bool + """ + + _validation = { + 'column_separator': {'required': True}, + 'field_quote': {'required': True}, + 'record_separator': {'required': True}, + 'escape_char': {'required': True}, + 'headers_present': {'required': True}, + } + + _attribute_map = { + 'column_separator': {'key': 'ColumnSeparator', 'type': 'str', 'xml': {'name': 'ColumnSeparator'}}, + 'field_quote': {'key': 'FieldQuote', 'type': 'str', 'xml': {'name': 'FieldQuote'}}, + 'record_separator': {'key': 'RecordSeparator', 'type': 'str', 'xml': {'name': 'RecordSeparator'}}, + 'escape_char': {'key': 'EscapeChar', 'type': 'str', 'xml': {'name': 'EscapeChar'}}, + 'headers_present': {'key': 'HeadersPresent', 'type': 'bool', 'xml': {'name': 'HasHeaders'}}, + } + _xml_map = { + 'name': 'DelimitedTextConfiguration' + } + + def __init__(self, *, column_separator: str, field_quote: str, record_separator: str, escape_char: str, headers_present: bool, **kwargs) -> None: + super(DelimitedTextConfiguration, self).__init__(**kwargs) + self.column_separator = column_separator + self.field_quote = field_quote + self.record_separator = record_separator + self.escape_char = escape_char + self.headers_present = headers_present + + +class DirectoryHttpHeaders(Model): + """Additional parameters for a set of operations, such as: Directory_create, + Directory_rename, Blob_rename. + + :param cache_control: Cache control for given resource + :type cache_control: str + :param content_type: Content type for given resource + :type content_type: str + :param content_encoding: Content encoding for given resource + :type content_encoding: str + :param content_language: Content language for given resource + :type content_language: str + :param content_disposition: Content disposition for given resource + :type content_disposition: str + """ + + _attribute_map = { + 'cache_control': {'key': '', 'type': 'str', 'xml': {'name': 'cache_control'}}, + 'content_type': {'key': '', 'type': 'str', 'xml': {'name': 'content_type'}}, + 'content_encoding': {'key': '', 'type': 'str', 'xml': {'name': 'content_encoding'}}, + 'content_language': {'key': '', 'type': 'str', 'xml': {'name': 'content_language'}}, + 'content_disposition': {'key': '', 'type': 'str', 'xml': {'name': 'content_disposition'}}, + } + _xml_map = { + } + + def __init__(self, *, cache_control: str=None, content_type: str=None, content_encoding: str=None, content_language: str=None, content_disposition: str=None, **kwargs) -> None: + super(DirectoryHttpHeaders, self).__init__(**kwargs) + self.cache_control = cache_control + self.content_type = content_type + self.content_encoding = content_encoding + self.content_language = content_language + self.content_disposition = content_disposition + + +class FilterBlobItem(Model): + """Blob info from a Filter Blobs API call. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. + :type name: str + :param container_name: Required. + :type container_name: str + :param tag_value: Required. + :type tag_value: str + """ + + _validation = { + 'name': {'required': True}, + 'container_name': {'required': True}, + 'tag_value': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'Name', 'type': 'str', 'xml': {'name': 'Name'}}, + 'container_name': {'key': 'ContainerName', 'type': 'str', 'xml': {'name': 'ContainerName'}}, + 'tag_value': {'key': 'TagValue', 'type': 'str', 'xml': {'name': 'TagValue'}}, + } + _xml_map = { + 'name': 'Blob' + } + + def __init__(self, *, name: str, container_name: str, tag_value: str, **kwargs) -> None: + super(FilterBlobItem, self).__init__(**kwargs) + self.name = name + self.container_name = container_name + self.tag_value = tag_value + + +class FilterBlobSegment(Model): + """The result of a Filter Blobs API call. + + All required parameters must be populated in order to send to Azure. + + :param service_endpoint: Required. + :type service_endpoint: str + :param where: Required. + :type where: str + :param blobs: Required. + :type blobs: list[~azure.storage.blob.models.FilterBlobItem] + :param next_marker: + :type next_marker: str + """ + + _validation = { + 'service_endpoint': {'required': True}, + 'where': {'required': True}, + 'blobs': {'required': True}, + } + + _attribute_map = { + 'service_endpoint': {'key': 'ServiceEndpoint', 'type': 'str', 'xml': {'name': 'ServiceEndpoint', 'attr': True}}, + 'where': {'key': 'Where', 'type': 'str', 'xml': {'name': 'Where'}}, + 'blobs': {'key': 'Blobs', 'type': '[FilterBlobItem]', 'xml': {'name': 'Blobs', 'itemsName': 'Blobs', 'wrapped': True}}, + 'next_marker': {'key': 'NextMarker', 'type': 'str', 'xml': {'name': 'NextMarker'}}, + } + _xml_map = { + 'name': 'EnumerationResults' + } + + def __init__(self, *, service_endpoint: str, where: str, blobs, next_marker: str=None, **kwargs) -> None: + super(FilterBlobSegment, self).__init__(**kwargs) + self.service_endpoint = service_endpoint + self.where = where + self.blobs = blobs + self.next_marker = next_marker + + +class GeoReplication(Model): + """Geo-Replication information for the Secondary Storage Service. + + All required parameters must be populated in order to send to Azure. + + :param status: Required. The status of the secondary location. Possible + values include: 'live', 'bootstrap', 'unavailable' + :type status: str or ~azure.storage.blob.models.GeoReplicationStatusType + :param last_sync_time: Required. A GMT date/time value, to the second. All + primary writes preceding this value are guaranteed to be available for + read operations at the secondary. Primary writes after this point in time + may or may not be available for reads. + :type last_sync_time: datetime + """ + + _validation = { + 'status': {'required': True}, + 'last_sync_time': {'required': True}, + } + + _attribute_map = { + 'status': {'key': 'Status', 'type': 'str', 'xml': {'name': 'Status'}}, + 'last_sync_time': {'key': 'LastSyncTime', 'type': 'rfc-1123', 'xml': {'name': 'LastSyncTime'}}, + } + _xml_map = { + } + + def __init__(self, *, status, last_sync_time, **kwargs) -> None: + super(GeoReplication, self).__init__(**kwargs) + self.status = status + self.last_sync_time = last_sync_time + + +class JsonTextConfiguration(Model): + """json text configuration. + + All required parameters must be populated in order to send to Azure. + + :param record_separator: Required. record separator + :type record_separator: str + """ + + _validation = { + 'record_separator': {'required': True}, + } + + _attribute_map = { + 'record_separator': {'key': 'RecordSeparator', 'type': 'str', 'xml': {'name': 'RecordSeparator'}}, + } + _xml_map = { + 'name': 'JsonTextConfiguration' + } + + def __init__(self, *, record_separator: str, **kwargs) -> None: + super(JsonTextConfiguration, self).__init__(**kwargs) + self.record_separator = record_separator + + +class KeyInfo(Model): + """Key information. + + All required parameters must be populated in order to send to Azure. + + :param start: Required. The date-time the key is active in ISO 8601 UTC + time + :type start: str + :param expiry: Required. The date-time the key expires in ISO 8601 UTC + time + :type expiry: str + """ + + _validation = { + 'start': {'required': True}, + 'expiry': {'required': True}, + } + + _attribute_map = { + 'start': {'key': 'Start', 'type': 'str', 'xml': {'name': 'Start'}}, + 'expiry': {'key': 'Expiry', 'type': 'str', 'xml': {'name': 'Expiry'}}, + } + _xml_map = { + } + + def __init__(self, *, start: str, expiry: str, **kwargs) -> None: + super(KeyInfo, self).__init__(**kwargs) + self.start = start + self.expiry = expiry + + +class LeaseAccessConditions(Model): + """Additional parameters for a set of operations. + + :param lease_id: If specified, the operation only succeeds if the + resource's lease is active and matches this ID. + :type lease_id: str + """ + + _attribute_map = { + 'lease_id': {'key': '', 'type': 'str', 'xml': {'name': 'lease_id'}}, + } + _xml_map = { + } + + def __init__(self, *, lease_id: str=None, **kwargs) -> None: + super(LeaseAccessConditions, self).__init__(**kwargs) + self.lease_id = lease_id + + +class ListBlobsFlatSegmentResponse(Model): + """An enumeration of blobs. + + All required parameters must be populated in order to send to Azure. + + :param service_endpoint: Required. + :type service_endpoint: str + :param container_name: Required. + :type container_name: str + :param prefix: + :type prefix: str + :param marker: + :type marker: str + :param max_results: + :type max_results: int + :param segment: Required. + :type segment: ~azure.storage.blob.models.BlobFlatListSegment + :param next_marker: + :type next_marker: str + """ + + _validation = { + 'service_endpoint': {'required': True}, + 'container_name': {'required': True}, + 'segment': {'required': True}, + } + + _attribute_map = { + 'service_endpoint': {'key': 'ServiceEndpoint', 'type': 'str', 'xml': {'name': 'ServiceEndpoint', 'attr': True}}, + 'container_name': {'key': 'ContainerName', 'type': 'str', 'xml': {'name': 'ContainerName', 'attr': True}}, + 'prefix': {'key': 'Prefix', 'type': 'str', 'xml': {'name': 'Prefix'}}, + 'marker': {'key': 'Marker', 'type': 'str', 'xml': {'name': 'Marker'}}, + 'max_results': {'key': 'MaxResults', 'type': 'int', 'xml': {'name': 'MaxResults'}}, + 'segment': {'key': 'Segment', 'type': 'BlobFlatListSegment', 'xml': {'name': 'Segment'}}, + 'next_marker': {'key': 'NextMarker', 'type': 'str', 'xml': {'name': 'NextMarker'}}, + } + _xml_map = { + 'name': 'EnumerationResults' + } + + def __init__(self, *, service_endpoint: str, container_name: str, segment, prefix: str=None, marker: str=None, max_results: int=None, next_marker: str=None, **kwargs) -> None: + super(ListBlobsFlatSegmentResponse, self).__init__(**kwargs) + self.service_endpoint = service_endpoint + self.container_name = container_name + self.prefix = prefix + self.marker = marker + self.max_results = max_results + self.segment = segment + self.next_marker = next_marker + + +class ListBlobsHierarchySegmentResponse(Model): + """An enumeration of blobs. + + All required parameters must be populated in order to send to Azure. + + :param service_endpoint: Required. + :type service_endpoint: str + :param container_name: Required. + :type container_name: str + :param prefix: + :type prefix: str + :param marker: + :type marker: str + :param max_results: + :type max_results: int + :param delimiter: + :type delimiter: str + :param segment: Required. + :type segment: ~azure.storage.blob.models.BlobHierarchyListSegment + :param next_marker: + :type next_marker: str + """ + + _validation = { + 'service_endpoint': {'required': True}, + 'container_name': {'required': True}, + 'segment': {'required': True}, + } + + _attribute_map = { + 'service_endpoint': {'key': 'ServiceEndpoint', 'type': 'str', 'xml': {'name': 'ServiceEndpoint', 'attr': True}}, + 'container_name': {'key': 'ContainerName', 'type': 'str', 'xml': {'name': 'ContainerName', 'attr': True}}, + 'prefix': {'key': 'Prefix', 'type': 'str', 'xml': {'name': 'Prefix'}}, + 'marker': {'key': 'Marker', 'type': 'str', 'xml': {'name': 'Marker'}}, + 'max_results': {'key': 'MaxResults', 'type': 'int', 'xml': {'name': 'MaxResults'}}, + 'delimiter': {'key': 'Delimiter', 'type': 'str', 'xml': {'name': 'Delimiter'}}, + 'segment': {'key': 'Segment', 'type': 'BlobHierarchyListSegment', 'xml': {'name': 'Segment'}}, + 'next_marker': {'key': 'NextMarker', 'type': 'str', 'xml': {'name': 'NextMarker'}}, + } + _xml_map = { + 'name': 'EnumerationResults' + } + + def __init__(self, *, service_endpoint: str, container_name: str, segment, prefix: str=None, marker: str=None, max_results: int=None, delimiter: str=None, next_marker: str=None, **kwargs) -> None: + super(ListBlobsHierarchySegmentResponse, self).__init__(**kwargs) + self.service_endpoint = service_endpoint + self.container_name = container_name + self.prefix = prefix + self.marker = marker + self.max_results = max_results + self.delimiter = delimiter + self.segment = segment + self.next_marker = next_marker + + +class ListContainersSegmentResponse(Model): + """An enumeration of containers. + + All required parameters must be populated in order to send to Azure. + + :param service_endpoint: Required. + :type service_endpoint: str + :param prefix: + :type prefix: str + :param marker: + :type marker: str + :param max_results: + :type max_results: int + :param container_items: Required. + :type container_items: list[~azure.storage.blob.models.ContainerItem] + :param next_marker: + :type next_marker: str + """ + + _validation = { + 'service_endpoint': {'required': True}, + 'container_items': {'required': True}, + } + + _attribute_map = { + 'service_endpoint': {'key': 'ServiceEndpoint', 'type': 'str', 'xml': {'name': 'ServiceEndpoint', 'attr': True}}, + 'prefix': {'key': 'Prefix', 'type': 'str', 'xml': {'name': 'Prefix'}}, + 'marker': {'key': 'Marker', 'type': 'str', 'xml': {'name': 'Marker'}}, + 'max_results': {'key': 'MaxResults', 'type': 'int', 'xml': {'name': 'MaxResults'}}, + 'container_items': {'key': 'ContainerItems', 'type': '[ContainerItem]', 'xml': {'name': 'Containers', 'itemsName': 'Containers', 'wrapped': True}}, + 'next_marker': {'key': 'NextMarker', 'type': 'str', 'xml': {'name': 'NextMarker'}}, + } + _xml_map = { + 'name': 'EnumerationResults' + } + + def __init__(self, *, service_endpoint: str, container_items, prefix: str=None, marker: str=None, max_results: int=None, next_marker: str=None, **kwargs) -> None: + super(ListContainersSegmentResponse, self).__init__(**kwargs) + self.service_endpoint = service_endpoint + self.prefix = prefix + self.marker = marker + self.max_results = max_results + self.container_items = container_items + self.next_marker = next_marker + + +class Logging(Model): + """Azure Analytics Logging settings. + + All required parameters must be populated in order to send to Azure. + + :param version: Required. The version of Storage Analytics to configure. + :type version: str + :param delete: Required. Indicates whether all delete requests should be + logged. + :type delete: bool + :param read: Required. Indicates whether all read requests should be + logged. + :type read: bool + :param write: Required. Indicates whether all write requests should be + logged. + :type write: bool + :param retention_policy: Required. + :type retention_policy: ~azure.storage.blob.models.RetentionPolicy + """ + + _validation = { + 'version': {'required': True}, + 'delete': {'required': True}, + 'read': {'required': True}, + 'write': {'required': True}, + 'retention_policy': {'required': True}, + } + + _attribute_map = { + 'version': {'key': 'Version', 'type': 'str', 'xml': {'name': 'Version'}}, + 'delete': {'key': 'Delete', 'type': 'bool', 'xml': {'name': 'Delete'}}, + 'read': {'key': 'Read', 'type': 'bool', 'xml': {'name': 'Read'}}, + 'write': {'key': 'Write', 'type': 'bool', 'xml': {'name': 'Write'}}, + 'retention_policy': {'key': 'RetentionPolicy', 'type': 'RetentionPolicy', 'xml': {'name': 'RetentionPolicy'}}, + } + _xml_map = { + } + + def __init__(self, *, version: str, delete: bool, read: bool, write: bool, retention_policy, **kwargs) -> None: + super(Logging, self).__init__(**kwargs) + self.version = version + self.delete = delete + self.read = read + self.write = write + self.retention_policy = retention_policy + + +class Metrics(Model): + """a summary of request statistics grouped by API in hour or minute aggregates + for blobs. + + All required parameters must be populated in order to send to Azure. + + :param version: The version of Storage Analytics to configure. + :type version: str + :param enabled: Required. Indicates whether metrics are enabled for the + Blob service. + :type enabled: bool + :param include_apis: Indicates whether metrics should generate summary + statistics for called API operations. + :type include_apis: bool + :param retention_policy: + :type retention_policy: ~azure.storage.blob.models.RetentionPolicy + """ + + _validation = { + 'enabled': {'required': True}, + } + + _attribute_map = { + 'version': {'key': 'Version', 'type': 'str', 'xml': {'name': 'Version'}}, + 'enabled': {'key': 'Enabled', 'type': 'bool', 'xml': {'name': 'Enabled'}}, + 'include_apis': {'key': 'IncludeAPIs', 'type': 'bool', 'xml': {'name': 'IncludeAPIs'}}, + 'retention_policy': {'key': 'RetentionPolicy', 'type': 'RetentionPolicy', 'xml': {'name': 'RetentionPolicy'}}, + } + _xml_map = { + } + + def __init__(self, *, enabled: bool, version: str=None, include_apis: bool=None, retention_policy=None, **kwargs) -> None: + super(Metrics, self).__init__(**kwargs) + self.version = version + self.enabled = enabled + self.include_apis = include_apis + self.retention_policy = retention_policy + + +class ModifiedAccessConditions(Model): + """Additional parameters for a set of operations. + + :param if_modified_since: Specify this header value to operate only on a + blob if it has been modified since the specified date/time. + :type if_modified_since: datetime + :param if_unmodified_since: Specify this header value to operate only on a + blob if it has not been modified since the specified date/time. + :type if_unmodified_since: datetime + :param if_match: Specify an ETag value to operate only on blobs with a + matching value. + :type if_match: str + :param if_none_match: Specify an ETag value to operate only on blobs + without a matching value. + :type if_none_match: str + :param if_tags: Specify a SQL where clause on blob tags to operate only on + blobs with a matching value. + :type if_tags: str + """ + + _attribute_map = { + 'if_modified_since': {'key': '', 'type': 'rfc-1123', 'xml': {'name': 'if_modified_since'}}, + 'if_unmodified_since': {'key': '', 'type': 'rfc-1123', 'xml': {'name': 'if_unmodified_since'}}, + 'if_match': {'key': '', 'type': 'str', 'xml': {'name': 'if_match'}}, + 'if_none_match': {'key': '', 'type': 'str', 'xml': {'name': 'if_none_match'}}, + 'if_tags': {'key': '', 'type': 'str', 'xml': {'name': 'if_tags'}}, + } + _xml_map = { + } + + def __init__(self, *, if_modified_since=None, if_unmodified_since=None, if_match: str=None, if_none_match: str=None, if_tags: str=None, **kwargs) -> None: + super(ModifiedAccessConditions, self).__init__(**kwargs) + self.if_modified_since = if_modified_since + self.if_unmodified_since = if_unmodified_since + self.if_match = if_match + self.if_none_match = if_none_match + self.if_tags = if_tags + + +class PageList(Model): + """the list of pages. + + :param page_range: + :type page_range: list[~azure.storage.blob.models.PageRange] + :param clear_range: + :type clear_range: list[~azure.storage.blob.models.ClearRange] + """ + + _attribute_map = { + 'page_range': {'key': 'PageRange', 'type': '[PageRange]', 'xml': {'name': 'PageRange', 'itemsName': 'PageRange'}}, + 'clear_range': {'key': 'ClearRange', 'type': '[ClearRange]', 'xml': {'name': 'ClearRange', 'itemsName': 'ClearRange'}}, + } + _xml_map = { + } + + def __init__(self, *, page_range=None, clear_range=None, **kwargs) -> None: + super(PageList, self).__init__(**kwargs) + self.page_range = page_range + self.clear_range = clear_range + + +class PageRange(Model): + """PageRange. + + All required parameters must be populated in order to send to Azure. + + :param start: Required. + :type start: long + :param end: Required. + :type end: long + """ + + _validation = { + 'start': {'required': True}, + 'end': {'required': True}, + } + + _attribute_map = { + 'start': {'key': 'Start', 'type': 'long', 'xml': {'name': 'Start'}}, + 'end': {'key': 'End', 'type': 'long', 'xml': {'name': 'End'}}, + } + _xml_map = { + 'name': 'PageRange' + } + + def __init__(self, *, start: int, end: int, **kwargs) -> None: + super(PageRange, self).__init__(**kwargs) + self.start = start + self.end = end + + +class QueryFormat(Model): + """QueryFormat. + + :param type: Possible values include: 'delimited', 'json', 'arrow' + :type type: str or ~azure.storage.blob.models.QueryFormatType + :param delimited_text_configuration: + :type delimited_text_configuration: + ~azure.storage.blob.models.DelimitedTextConfiguration + :param json_text_configuration: + :type json_text_configuration: + ~azure.storage.blob.models.JsonTextConfiguration + :param arrow_configuration: + :type arrow_configuration: ~azure.storage.blob.models.ArrowConfiguration + """ + + _attribute_map = { + 'type': {'key': 'Type', 'type': 'QueryFormatType', 'xml': {'name': 'Type'}}, + 'delimited_text_configuration': {'key': 'DelimitedTextConfiguration', 'type': 'DelimitedTextConfiguration', 'xml': {'name': 'DelimitedTextConfiguration'}}, + 'json_text_configuration': {'key': 'JsonTextConfiguration', 'type': 'JsonTextConfiguration', 'xml': {'name': 'JsonTextConfiguration'}}, + 'arrow_configuration': {'key': 'ArrowConfiguration', 'type': 'ArrowConfiguration', 'xml': {'name': 'ArrowConfiguration'}}, + } + _xml_map = { + } + + def __init__(self, *, type=None, delimited_text_configuration=None, json_text_configuration=None, arrow_configuration=None, **kwargs) -> None: + super(QueryFormat, self).__init__(**kwargs) + self.type = type + self.delimited_text_configuration = delimited_text_configuration + self.json_text_configuration = json_text_configuration + self.arrow_configuration = arrow_configuration + + +class QueryRequest(Model): + """the quick query body. + + 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 query_type: Required. the query type. Default value: "SQL" . + :vartype query_type: str + :param expression: Required. a query statement + :type expression: str + :param input_serialization: + :type input_serialization: ~azure.storage.blob.models.QuerySerialization + :param output_serialization: + :type output_serialization: ~azure.storage.blob.models.QuerySerialization + """ + + _validation = { + 'query_type': {'required': True, 'constant': True}, + 'expression': {'required': True}, + } + + _attribute_map = { + 'query_type': {'key': 'QueryType', 'type': 'str', 'xml': {'name': 'QueryType'}}, + 'expression': {'key': 'Expression', 'type': 'str', 'xml': {'name': 'Expression'}}, + 'input_serialization': {'key': 'InputSerialization', 'type': 'QuerySerialization', 'xml': {'name': 'InputSerialization'}}, + 'output_serialization': {'key': 'OutputSerialization', 'type': 'QuerySerialization', 'xml': {'name': 'OutputSerialization'}}, + } + _xml_map = { + 'name': 'QueryRequest' + } + + query_type = "SQL" + + def __init__(self, *, expression: str, input_serialization=None, output_serialization=None, **kwargs) -> None: + super(QueryRequest, self).__init__(**kwargs) + self.expression = expression + self.input_serialization = input_serialization + self.output_serialization = output_serialization + + +class QuerySerialization(Model): + """QuerySerialization. + + All required parameters must be populated in order to send to Azure. + + :param format: Required. + :type format: ~azure.storage.blob.models.QueryFormat + """ + + _validation = { + 'format': {'required': True}, + } + + _attribute_map = { + 'format': {'key': 'Format', 'type': 'QueryFormat', 'xml': {'name': 'Format'}}, + } + _xml_map = { + } + + def __init__(self, *, format, **kwargs) -> None: + super(QuerySerialization, self).__init__(**kwargs) + self.format = format + + +class RetentionPolicy(Model): + """the retention policy which determines how long the associated data should + persist. + + All required parameters must be populated in order to send to Azure. + + :param enabled: Required. Indicates whether a retention policy is enabled + for the storage service + :type enabled: bool + :param days: Indicates the number of days that metrics or logging or + soft-deleted data should be retained. All data older than this value will + be deleted + :type days: int + """ + + _validation = { + 'enabled': {'required': True}, + 'days': {'minimum': 1}, + } + + _attribute_map = { + 'enabled': {'key': 'Enabled', 'type': 'bool', 'xml': {'name': 'Enabled'}}, + 'days': {'key': 'Days', 'type': 'int', 'xml': {'name': 'Days'}}, + } + _xml_map = { + } + + def __init__(self, *, enabled: bool, days: int=None, **kwargs) -> None: + super(RetentionPolicy, self).__init__(**kwargs) + self.enabled = enabled + self.days = days + + +class SequenceNumberAccessConditions(Model): + """Additional parameters for a set of operations, such as: + PageBlob_upload_pages, PageBlob_clear_pages, + PageBlob_upload_pages_from_url. + + :param if_sequence_number_less_than_or_equal_to: Specify this header value + to operate only on a blob if it has a sequence number less than or equal + to the specified. + :type if_sequence_number_less_than_or_equal_to: long + :param if_sequence_number_less_than: Specify this header value to operate + only on a blob if it has a sequence number less than the specified. + :type if_sequence_number_less_than: long + :param if_sequence_number_equal_to: Specify this header value to operate + only on a blob if it has the specified sequence number. + :type if_sequence_number_equal_to: long + """ + + _attribute_map = { + 'if_sequence_number_less_than_or_equal_to': {'key': '', 'type': 'long', 'xml': {'name': 'if_sequence_number_less_than_or_equal_to'}}, + 'if_sequence_number_less_than': {'key': '', 'type': 'long', 'xml': {'name': 'if_sequence_number_less_than'}}, + 'if_sequence_number_equal_to': {'key': '', 'type': 'long', 'xml': {'name': 'if_sequence_number_equal_to'}}, + } + _xml_map = { + } + + def __init__(self, *, if_sequence_number_less_than_or_equal_to: int=None, if_sequence_number_less_than: int=None, if_sequence_number_equal_to: int=None, **kwargs) -> None: + super(SequenceNumberAccessConditions, self).__init__(**kwargs) + self.if_sequence_number_less_than_or_equal_to = if_sequence_number_less_than_or_equal_to + self.if_sequence_number_less_than = if_sequence_number_less_than + self.if_sequence_number_equal_to = if_sequence_number_equal_to + + +class SignedIdentifier(Model): + """signed identifier. + + All required parameters must be populated in order to send to Azure. + + :param id: Required. a unique id + :type id: str + :param access_policy: + :type access_policy: ~azure.storage.blob.models.AccessPolicy + """ + + _validation = { + 'id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'Id', 'type': 'str', 'xml': {'name': 'Id'}}, + 'access_policy': {'key': 'AccessPolicy', 'type': 'AccessPolicy', 'xml': {'name': 'AccessPolicy'}}, + } + _xml_map = { + 'name': 'SignedIdentifier' + } + + def __init__(self, *, id: str, access_policy=None, **kwargs) -> None: + super(SignedIdentifier, self).__init__(**kwargs) + self.id = id + self.access_policy = access_policy + + +class SourceModifiedAccessConditions(Model): + """Additional parameters for a set of operations. + + :param source_if_modified_since: Specify this header value to operate only + on a blob if it has been modified since the specified date/time. + :type source_if_modified_since: datetime + :param source_if_unmodified_since: Specify this header value to operate + only on a blob if it has not been modified since the specified date/time. + :type source_if_unmodified_since: datetime + :param source_if_match: Specify an ETag value to operate only on blobs + with a matching value. + :type source_if_match: str + :param source_if_none_match: Specify an ETag value to operate only on + blobs without a matching value. + :type source_if_none_match: str + :param source_if_tags: Specify a SQL where clause on blob tags to operate + only on blobs with a matching value. + :type source_if_tags: str + """ + + _attribute_map = { + 'source_if_modified_since': {'key': '', 'type': 'rfc-1123', 'xml': {'name': 'source_if_modified_since'}}, + 'source_if_unmodified_since': {'key': '', 'type': 'rfc-1123', 'xml': {'name': 'source_if_unmodified_since'}}, + 'source_if_match': {'key': '', 'type': 'str', 'xml': {'name': 'source_if_match'}}, + 'source_if_none_match': {'key': '', 'type': 'str', 'xml': {'name': 'source_if_none_match'}}, + 'source_if_tags': {'key': '', 'type': 'str', 'xml': {'name': 'source_if_tags'}}, + } + _xml_map = { + } + + def __init__(self, *, source_if_modified_since=None, source_if_unmodified_since=None, source_if_match: str=None, source_if_none_match: str=None, source_if_tags: str=None, **kwargs) -> None: + super(SourceModifiedAccessConditions, self).__init__(**kwargs) + self.source_if_modified_since = source_if_modified_since + self.source_if_unmodified_since = source_if_unmodified_since + self.source_if_match = source_if_match + self.source_if_none_match = source_if_none_match + self.source_if_tags = source_if_tags + + +class StaticWebsite(Model): + """The properties that enable an account to host a static website. + + All required parameters must be populated in order to send to Azure. + + :param enabled: Required. Indicates whether this account is hosting a + static website + :type enabled: bool + :param index_document: The default name of the index page under each + directory + :type index_document: str + :param error_document404_path: The absolute path of the custom 404 page + :type error_document404_path: str + :param default_index_document_path: Absolute path of the default index + page + :type default_index_document_path: str + """ + + _validation = { + 'enabled': {'required': True}, + } + + _attribute_map = { + 'enabled': {'key': 'Enabled', 'type': 'bool', 'xml': {'name': 'Enabled'}}, + 'index_document': {'key': 'IndexDocument', 'type': 'str', 'xml': {'name': 'IndexDocument'}}, + 'error_document404_path': {'key': 'ErrorDocument404Path', 'type': 'str', 'xml': {'name': 'ErrorDocument404Path'}}, + 'default_index_document_path': {'key': 'DefaultIndexDocumentPath', 'type': 'str', 'xml': {'name': 'DefaultIndexDocumentPath'}}, + } + _xml_map = { + } + + def __init__(self, *, enabled: bool, index_document: str=None, error_document404_path: str=None, default_index_document_path: str=None, **kwargs) -> None: + super(StaticWebsite, self).__init__(**kwargs) + self.enabled = enabled + self.index_document = index_document + self.error_document404_path = error_document404_path + self.default_index_document_path = default_index_document_path + + +class StorageError(Model): + """StorageError. + + :param message: + :type message: str + """ + + _attribute_map = { + 'message': {'key': 'Message', 'type': 'str', 'xml': {'name': 'Message'}}, + } + _xml_map = { + } + + def __init__(self, *, message: str=None, **kwargs) -> None: + super(StorageError, self).__init__(**kwargs) + self.message = message + + +class StorageErrorException(HttpResponseError): + """Server responsed with exception of type: 'StorageError'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, response, deserialize, *args): + + model_name = 'StorageError' + self.error = deserialize(model_name, response) + if self.error is None: + self.error = deserialize.dependencies[model_name]() + super(StorageErrorException, self).__init__(response=response) + + +class StorageServiceProperties(Model): + """Storage Service Properties. + + :param logging: + :type logging: ~azure.storage.blob.models.Logging + :param hour_metrics: + :type hour_metrics: ~azure.storage.blob.models.Metrics + :param minute_metrics: + :type minute_metrics: ~azure.storage.blob.models.Metrics + :param cors: The set of CORS rules. + :type cors: list[~azure.storage.blob.models.CorsRule] + :param default_service_version: The default version to use for requests to + the Blob service if an incoming request's version is not specified. + Possible values include version 2008-10-27 and all more recent versions + :type default_service_version: str + :param delete_retention_policy: + :type delete_retention_policy: ~azure.storage.blob.models.RetentionPolicy + :param static_website: + :type static_website: ~azure.storage.blob.models.StaticWebsite + """ + + _attribute_map = { + 'logging': {'key': 'Logging', 'type': 'Logging', 'xml': {'name': 'Logging'}}, + 'hour_metrics': {'key': 'HourMetrics', 'type': 'Metrics', 'xml': {'name': 'HourMetrics'}}, + 'minute_metrics': {'key': 'MinuteMetrics', 'type': 'Metrics', 'xml': {'name': 'MinuteMetrics'}}, + 'cors': {'key': 'Cors', 'type': '[CorsRule]', 'xml': {'name': 'Cors', 'itemsName': 'CorsRule', 'wrapped': True}}, + 'default_service_version': {'key': 'DefaultServiceVersion', 'type': 'str', 'xml': {'name': 'DefaultServiceVersion'}}, + 'delete_retention_policy': {'key': 'DeleteRetentionPolicy', 'type': 'RetentionPolicy', 'xml': {'name': 'DeleteRetentionPolicy'}}, + 'static_website': {'key': 'StaticWebsite', 'type': 'StaticWebsite', 'xml': {'name': 'StaticWebsite'}}, + } + _xml_map = { + } + + def __init__(self, *, logging=None, hour_metrics=None, minute_metrics=None, cors=None, default_service_version: str=None, delete_retention_policy=None, static_website=None, **kwargs) -> None: + super(StorageServiceProperties, self).__init__(**kwargs) + self.logging = logging + self.hour_metrics = hour_metrics + self.minute_metrics = minute_metrics + self.cors = cors + self.default_service_version = default_service_version + self.delete_retention_policy = delete_retention_policy + self.static_website = static_website + + +class StorageServiceStats(Model): + """Stats for the storage service. + + :param geo_replication: + :type geo_replication: ~azure.storage.blob.models.GeoReplication + """ + + _attribute_map = { + 'geo_replication': {'key': 'GeoReplication', 'type': 'GeoReplication', 'xml': {'name': 'GeoReplication'}}, + } + _xml_map = { + } + + def __init__(self, *, geo_replication=None, **kwargs) -> None: + super(StorageServiceStats, self).__init__(**kwargs) + self.geo_replication = geo_replication + + +class UserDelegationKey(Model): + """A user delegation key. + + All required parameters must be populated in order to send to Azure. + + :param signed_oid: Required. The Azure Active Directory object ID in GUID + format. + :type signed_oid: str + :param signed_tid: Required. The Azure Active Directory tenant ID in GUID + format + :type signed_tid: str + :param signed_start: Required. The date-time the key is active + :type signed_start: datetime + :param signed_expiry: Required. The date-time the key expires + :type signed_expiry: datetime + :param signed_service: Required. Abbreviation of the Azure Storage service + that accepts the key + :type signed_service: str + :param signed_version: Required. The service version that created the key + :type signed_version: str + :param value: Required. The key as a base64 string + :type value: str + """ + + _validation = { + 'signed_oid': {'required': True}, + 'signed_tid': {'required': True}, + 'signed_start': {'required': True}, + 'signed_expiry': {'required': True}, + 'signed_service': {'required': True}, + 'signed_version': {'required': True}, + 'value': {'required': True}, + } + + _attribute_map = { + 'signed_oid': {'key': 'SignedOid', 'type': 'str', 'xml': {'name': 'SignedOid'}}, + 'signed_tid': {'key': 'SignedTid', 'type': 'str', 'xml': {'name': 'SignedTid'}}, + 'signed_start': {'key': 'SignedStart', 'type': 'iso-8601', 'xml': {'name': 'SignedStart'}}, + 'signed_expiry': {'key': 'SignedExpiry', 'type': 'iso-8601', 'xml': {'name': 'SignedExpiry'}}, + 'signed_service': {'key': 'SignedService', 'type': 'str', 'xml': {'name': 'SignedService'}}, + 'signed_version': {'key': 'SignedVersion', 'type': 'str', 'xml': {'name': 'SignedVersion'}}, + 'value': {'key': 'Value', 'type': 'str', 'xml': {'name': 'Value'}}, + } + _xml_map = { + } + + def __init__(self, *, signed_oid: str, signed_tid: str, signed_start, signed_expiry, signed_service: str, signed_version: str, value: str, **kwargs) -> None: + super(UserDelegationKey, self).__init__(**kwargs) + self.signed_oid = signed_oid + self.signed_tid = signed_tid + self.signed_start = signed_start + self.signed_expiry = signed_expiry + self.signed_service = signed_service + self.signed_version = signed_version + self.value = value diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/operations/__init__.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/operations/__init__.py new file mode 100644 index 00000000000..1ea04533440 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/operations/__init__.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 ._service_operations import ServiceOperations +from ._container_operations import ContainerOperations +from ._directory_operations import DirectoryOperations +from ._blob_operations import BlobOperations +from ._page_blob_operations import PageBlobOperations +from ._append_blob_operations import AppendBlobOperations +from ._block_blob_operations import BlockBlobOperations + +__all__ = [ + 'ServiceOperations', + 'ContainerOperations', + 'DirectoryOperations', + 'BlobOperations', + 'PageBlobOperations', + 'AppendBlobOperations', + 'BlockBlobOperations', +] diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/operations/_append_blob_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/operations/_append_blob_operations.py new file mode 100644 index 00000000000..000810acffe --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/operations/_append_blob_operations.py @@ -0,0 +1,694 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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.core.exceptions import map_error + +from .. import models + + +class AppendBlobOperations(object): + """AppendBlobOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :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 x_ms_blob_type: Specifies the type of blob to create: block blob, page blob, or append blob. Constant value: "AppendBlob". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + + self._config = config + self.x_ms_blob_type = "AppendBlob" + + def create(self, content_length, timeout=None, metadata=None, request_id=None, blob_tags_string=None, blob_http_headers=None, lease_access_conditions=None, cpk_info=None, cpk_scope_info=None, modified_access_conditions=None, cls=None, **kwargs): + """The Create Append Blob operation creates a new append blob. + + :param content_length: The length of the request. + :type content_length: long + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param metadata: Optional. Specifies a user-defined name-value pair + associated with the blob. If no name-value pairs are specified, the + operation will copy the metadata from the source blob or file to the + destination blob. If one or more name-value pairs are specified, the + destination blob is created with the specified metadata, and metadata + is not copied from the source blob or file. Note that beginning with + version 2009-09-19, metadata names must adhere to the naming rules for + C# identifiers. See Naming and Referencing Containers, Blobs, and + Metadata for more information. + :type metadata: str + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param blob_tags_string: Optional. Used to set blob tags in various + blob operations. + :type blob_tags_string: str + :param blob_http_headers: Additional parameters for the operation + :type blob_http_headers: ~azure.storage.blob.models.BlobHTTPHeaders + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo + :param cpk_scope_info: Additional parameters for the operation + :type cpk_scope_info: ~azure.storage.blob.models.CpkScopeInfo + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + blob_content_type = None + if blob_http_headers is not None: + blob_content_type = blob_http_headers.blob_content_type + blob_content_encoding = None + if blob_http_headers is not None: + blob_content_encoding = blob_http_headers.blob_content_encoding + blob_content_language = None + if blob_http_headers is not None: + blob_content_language = blob_http_headers.blob_content_language + blob_content_md5 = None + if blob_http_headers is not None: + blob_content_md5 = blob_http_headers.blob_content_md5 + blob_cache_control = None + if blob_http_headers is not None: + blob_cache_control = blob_http_headers.blob_cache_control + blob_content_disposition = None + if blob_http_headers is not None: + blob_content_disposition = blob_http_headers.blob_content_disposition + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm + encryption_scope = None + if cpk_scope_info is not None: + encryption_scope = cpk_scope_info.encryption_scope + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + + # Construct headers + header_parameters = {} + header_parameters['Content-Length'] = self._serialize.header("content_length", content_length, 'long') + if metadata is not None: + header_parameters['x-ms-meta'] = self._serialize.header("metadata", metadata, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if blob_tags_string is not None: + header_parameters['x-ms-tags'] = self._serialize.header("blob_tags_string", blob_tags_string, 'str') + header_parameters['x-ms-blob-type'] = self._serialize.header("self.x_ms_blob_type", self.x_ms_blob_type, 'str') + if blob_content_type is not None: + header_parameters['x-ms-blob-content-type'] = self._serialize.header("blob_content_type", blob_content_type, 'str') + if blob_content_encoding is not None: + header_parameters['x-ms-blob-content-encoding'] = self._serialize.header("blob_content_encoding", blob_content_encoding, 'str') + if blob_content_language is not None: + header_parameters['x-ms-blob-content-language'] = self._serialize.header("blob_content_language", blob_content_language, 'str') + if blob_content_md5 is not None: + header_parameters['x-ms-blob-content-md5'] = self._serialize.header("blob_content_md5", blob_content_md5, 'bytearray') + if blob_cache_control is not None: + header_parameters['x-ms-blob-cache-control'] = self._serialize.header("blob_cache_control", blob_cache_control, 'str') + if blob_content_disposition is not None: + header_parameters['x-ms-blob-content-disposition'] = self._serialize.header("blob_content_disposition", blob_content_disposition, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') + if encryption_scope is not None: + header_parameters['x-ms-encryption-scope'] = self._serialize.header("encryption_scope", encryption_scope, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-version-id': self._deserialize('str', response.headers.get('x-ms-version-id')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), + 'x-ms-encryption-scope': self._deserialize('str', response.headers.get('x-ms-encryption-scope')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + create.metadata = {'url': '/{containerName}/{blob}'} + + def append_block(self, body, content_length, timeout=None, transactional_content_md5=None, transactional_content_crc64=None, request_id=None, lease_access_conditions=None, append_position_access_conditions=None, cpk_info=None, cpk_scope_info=None, modified_access_conditions=None, cls=None, **kwargs): + """The Append Block operation commits a new block of data to the end of an + existing append blob. The Append Block operation is permitted only if + the blob was created with x-ms-blob-type set to AppendBlob. Append + Block is supported only on version 2015-02-21 version or later. + + :param body: Initial data + :type body: Generator + :param content_length: The length of the request. + :type content_length: long + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param transactional_content_md5: Specify the transactional md5 for + the body, to be validated by the service. + :type transactional_content_md5: bytearray + :param transactional_content_crc64: Specify the transactional crc64 + for the body, to be validated by the service. + :type transactional_content_crc64: bytearray + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param append_position_access_conditions: Additional parameters for + the operation + :type append_position_access_conditions: + ~azure.storage.blob.models.AppendPositionAccessConditions + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo + :param cpk_scope_info: Additional parameters for the operation + :type cpk_scope_info: ~azure.storage.blob.models.CpkScopeInfo + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + max_size = None + if append_position_access_conditions is not None: + max_size = append_position_access_conditions.max_size + append_position = None + if append_position_access_conditions is not None: + append_position = append_position_access_conditions.append_position + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm + encryption_scope = None + if cpk_scope_info is not None: + encryption_scope = cpk_scope_info.encryption_scope + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + + comp = "appendblock" + + # Construct URL + url = self.append_block.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/octet-stream' + header_parameters['Content-Length'] = self._serialize.header("content_length", content_length, 'long') + if transactional_content_md5 is not None: + header_parameters['Content-MD5'] = self._serialize.header("transactional_content_md5", transactional_content_md5, 'bytearray') + if transactional_content_crc64 is not None: + header_parameters['x-ms-content-crc64'] = self._serialize.header("transactional_content_crc64", transactional_content_crc64, 'bytearray') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if max_size is not None: + header_parameters['x-ms-blob-condition-maxsize'] = self._serialize.header("max_size", max_size, 'long') + if append_position is not None: + header_parameters['x-ms-blob-condition-appendpos'] = self._serialize.header("append_position", append_position, 'long') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') + if encryption_scope is not None: + header_parameters['x-ms-encryption-scope'] = self._serialize.header("encryption_scope", encryption_scope, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + + # Construct body + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, stream_content=body) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'x-ms-content-crc64': self._deserialize('bytearray', response.headers.get('x-ms-content-crc64')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-blob-append-offset': self._deserialize('str', response.headers.get('x-ms-blob-append-offset')), + 'x-ms-blob-committed-block-count': self._deserialize('int', response.headers.get('x-ms-blob-committed-block-count')), + 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), + 'x-ms-encryption-scope': self._deserialize('str', response.headers.get('x-ms-encryption-scope')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + append_block.metadata = {'url': '/{containerName}/{blob}'} + + def append_block_from_url(self, source_url, content_length, source_range=None, source_content_md5=None, source_contentcrc64=None, timeout=None, transactional_content_md5=None, request_id=None, cpk_info=None, cpk_scope_info=None, lease_access_conditions=None, append_position_access_conditions=None, modified_access_conditions=None, source_modified_access_conditions=None, cls=None, **kwargs): + """The Append Block operation commits a new block of data to the end of an + existing append blob where the contents are read from a source url. The + Append Block operation is permitted only if the blob was created with + x-ms-blob-type set to AppendBlob. Append Block is supported only on + version 2015-02-21 version or later. + + :param source_url: Specify a URL to the copy source. + :type source_url: str + :param content_length: The length of the request. + :type content_length: long + :param source_range: Bytes of source data in the specified range. + :type source_range: str + :param source_content_md5: Specify the md5 calculated for the range of + bytes that must be read from the copy source. + :type source_content_md5: bytearray + :param source_contentcrc64: Specify the crc64 calculated for the range + of bytes that must be read from the copy source. + :type source_contentcrc64: bytearray + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param transactional_content_md5: Specify the transactional md5 for + the body, to be validated by the service. + :type transactional_content_md5: bytearray + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo + :param cpk_scope_info: Additional parameters for the operation + :type cpk_scope_info: ~azure.storage.blob.models.CpkScopeInfo + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param append_position_access_conditions: Additional parameters for + the operation + :type append_position_access_conditions: + ~azure.storage.blob.models.AppendPositionAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param source_modified_access_conditions: Additional parameters for + the operation + :type source_modified_access_conditions: + ~azure.storage.blob.models.SourceModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm + encryption_scope = None + if cpk_scope_info is not None: + encryption_scope = cpk_scope_info.encryption_scope + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + max_size = None + if append_position_access_conditions is not None: + max_size = append_position_access_conditions.max_size + append_position = None + if append_position_access_conditions is not None: + append_position = append_position_access_conditions.append_position + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + source_if_modified_since = None + if source_modified_access_conditions is not None: + source_if_modified_since = source_modified_access_conditions.source_if_modified_since + source_if_unmodified_since = None + if source_modified_access_conditions is not None: + source_if_unmodified_since = source_modified_access_conditions.source_if_unmodified_since + source_if_match = None + if source_modified_access_conditions is not None: + source_if_match = source_modified_access_conditions.source_if_match + source_if_none_match = None + if source_modified_access_conditions is not None: + source_if_none_match = source_modified_access_conditions.source_if_none_match + + comp = "appendblock" + + # Construct URL + url = self.append_block_from_url.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-copy-source'] = self._serialize.header("source_url", source_url, 'str') + if source_range is not None: + header_parameters['x-ms-source-range'] = self._serialize.header("source_range", source_range, 'str') + if source_content_md5 is not None: + header_parameters['x-ms-source-content-md5'] = self._serialize.header("source_content_md5", source_content_md5, 'bytearray') + if source_contentcrc64 is not None: + header_parameters['x-ms-source-content-crc64'] = self._serialize.header("source_contentcrc64", source_contentcrc64, 'bytearray') + header_parameters['Content-Length'] = self._serialize.header("content_length", content_length, 'long') + if transactional_content_md5 is not None: + header_parameters['Content-MD5'] = self._serialize.header("transactional_content_md5", transactional_content_md5, 'bytearray') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') + if encryption_scope is not None: + header_parameters['x-ms-encryption-scope'] = self._serialize.header("encryption_scope", encryption_scope, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if max_size is not None: + header_parameters['x-ms-blob-condition-maxsize'] = self._serialize.header("max_size", max_size, 'long') + if append_position is not None: + header_parameters['x-ms-blob-condition-appendpos'] = self._serialize.header("append_position", append_position, 'long') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + if source_if_modified_since is not None: + header_parameters['x-ms-source-if-modified-since'] = self._serialize.header("source_if_modified_since", source_if_modified_since, 'rfc-1123') + if source_if_unmodified_since is not None: + header_parameters['x-ms-source-if-unmodified-since'] = self._serialize.header("source_if_unmodified_since", source_if_unmodified_since, 'rfc-1123') + if source_if_match is not None: + header_parameters['x-ms-source-if-match'] = self._serialize.header("source_if_match", source_if_match, 'str') + if source_if_none_match is not None: + header_parameters['x-ms-source-if-none-match'] = self._serialize.header("source_if_none_match", source_if_none_match, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'x-ms-content-crc64': self._deserialize('bytearray', response.headers.get('x-ms-content-crc64')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-blob-append-offset': self._deserialize('str', response.headers.get('x-ms-blob-append-offset')), + 'x-ms-blob-committed-block-count': self._deserialize('int', response.headers.get('x-ms-blob-committed-block-count')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), + 'x-ms-encryption-scope': self._deserialize('str', response.headers.get('x-ms-encryption-scope')), + 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + append_block_from_url.metadata = {'url': '/{containerName}/{blob}'} + + def seal(self, timeout=None, request_id=None, lease_access_conditions=None, modified_access_conditions=None, append_position_access_conditions=None, cls=None, **kwargs): + """The Seal operation seals the Append Blob to make it read-only. Seal is + supported only on version 2019-12-12 version or later. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param append_position_access_conditions: Additional parameters for + the operation + :type append_position_access_conditions: + ~azure.storage.blob.models.AppendPositionAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + append_position = None + if append_position_access_conditions is not None: + append_position = append_position_access_conditions.append_position + + comp = "seal" + + # Construct URL + url = self.seal.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if append_position is not None: + header_parameters['x-ms-blob-condition-appendpos'] = self._serialize.header("append_position", append_position, 'long') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-blob-sealed': self._deserialize('bool', response.headers.get('x-ms-blob-sealed')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + seal.metadata = {'url': '/{containerName}/{blob}'} diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/operations/_blob_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/operations/_blob_operations.py new file mode 100644 index 00000000000..394a519856a --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/operations/_blob_operations.py @@ -0,0 +1,3065 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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.core.exceptions import map_error + +from .. import models + + +class BlobOperations(object): + """BlobOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :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 x_ms_requires_sync: . Constant value: "true". + :ivar x_ms_copy_action: . Constant value: "abort". + :ivar restype: . Constant value: "account". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + + self._config = config + self.x_ms_requires_sync = "true" + self.x_ms_copy_action = "abort" + self.restype = "account" + + def download(self, snapshot=None, version_id=None, timeout=None, range=None, range_get_content_md5=None, range_get_content_crc64=None, request_id=None, lease_access_conditions=None, cpk_info=None, modified_access_conditions=None, cls=None, **kwargs): + """The Download operation reads or downloads a blob from the system, + including its metadata and properties. You can also call Download to + read a snapshot. + + :param snapshot: The snapshot parameter is an opaque DateTime value + that, when present, specifies the blob snapshot to retrieve. For more + information on working with blob snapshots, see Creating + a Snapshot of a Blob. + :type snapshot: str + :param version_id: The version id parameter is an opaque DateTime + value that, when present, specifies the version of the blob to operate + on. It's for service version 2019-10-10 and newer. + :type version_id: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param range: Return only the bytes of the blob in the specified + range. + :type range: str + :param range_get_content_md5: When set to true and specified together + with the Range, the service returns the MD5 hash for the range, as + long as the range is less than or equal to 4 MB in size. + :type range_get_content_md5: bool + :param range_get_content_crc64: When set to true and specified + together with the Range, the service returns the CRC64 hash for the + range, as long as the range is less than or equal to 4 MB in size. + :type range_get_content_crc64: bool + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: object or the result of cls(response) + :rtype: Generator + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + + # Construct URL + url = self.download.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if snapshot is not None: + query_parameters['snapshot'] = self._serialize.query("snapshot", snapshot, 'str') + if version_id is not None: + query_parameters['versionid'] = self._serialize.query("version_id", version_id, 'str') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/xml' + if range is not None: + header_parameters['x-ms-range'] = self._serialize.header("range", range, 'str') + if range_get_content_md5 is not None: + header_parameters['x-ms-range-get-content-md5'] = self._serialize.header("range_get_content_md5", range_get_content_md5, 'bool') + if range_get_content_crc64 is not None: + header_parameters['x-ms-range-get-content-crc64'] = self._serialize.header("range_get_content_crc64", range_get_content_crc64, 'bool') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=True, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 206]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = response.stream_download(self._client._pipeline) + header_dict = { + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-meta': self._deserialize('{str}', response.headers.get('x-ms-meta')), + 'x-ms-or-policy-id': self._deserialize('str', response.headers.get('x-ms-or-policy-id')), + 'x-ms-or': self._deserialize('{str}', response.headers.get('x-ms-or')), + 'Content-Length': self._deserialize('long', response.headers.get('Content-Length')), + 'Content-Type': self._deserialize('str', response.headers.get('Content-Type')), + 'Content-Range': self._deserialize('str', response.headers.get('Content-Range')), + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'Content-Encoding': self._deserialize('str', response.headers.get('Content-Encoding')), + 'Cache-Control': self._deserialize('str', response.headers.get('Cache-Control')), + 'Content-Disposition': self._deserialize('str', response.headers.get('Content-Disposition')), + 'Content-Language': self._deserialize('str', response.headers.get('Content-Language')), + 'x-ms-blob-sequence-number': self._deserialize('long', response.headers.get('x-ms-blob-sequence-number')), + 'x-ms-blob-type': self._deserialize(models.BlobType, response.headers.get('x-ms-blob-type')), + 'x-ms-copy-completion-time': self._deserialize('rfc-1123', response.headers.get('x-ms-copy-completion-time')), + 'x-ms-copy-status-description': self._deserialize('str', response.headers.get('x-ms-copy-status-description')), + 'x-ms-copy-id': self._deserialize('str', response.headers.get('x-ms-copy-id')), + 'x-ms-copy-progress': self._deserialize('str', response.headers.get('x-ms-copy-progress')), + 'x-ms-copy-source': self._deserialize('str', response.headers.get('x-ms-copy-source')), + 'x-ms-copy-status': self._deserialize(models.CopyStatusType, response.headers.get('x-ms-copy-status')), + 'x-ms-lease-duration': self._deserialize(models.LeaseDurationType, response.headers.get('x-ms-lease-duration')), + 'x-ms-lease-state': self._deserialize(models.LeaseStateType, response.headers.get('x-ms-lease-state')), + 'x-ms-lease-status': self._deserialize(models.LeaseStatusType, response.headers.get('x-ms-lease-status')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-version-id': self._deserialize('str', response.headers.get('x-ms-version-id')), + 'Accept-Ranges': self._deserialize('str', response.headers.get('Accept-Ranges')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-blob-committed-block-count': self._deserialize('int', response.headers.get('x-ms-blob-committed-block-count')), + 'x-ms-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-server-encrypted')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), + 'x-ms-encryption-scope': self._deserialize('str', response.headers.get('x-ms-encryption-scope')), + 'x-ms-blob-content-md5': self._deserialize('bytearray', response.headers.get('x-ms-blob-content-md5')), + 'x-ms-tag-count': self._deserialize('long', response.headers.get('x-ms-tag-count')), + 'x-ms-blob-sealed': self._deserialize('bool', response.headers.get('x-ms-blob-sealed')), + 'x-ms-last-access-time': self._deserialize('rfc-1123', response.headers.get('x-ms-last-access-time')), + 'x-ms-content-crc64': self._deserialize('bytearray', response.headers.get('x-ms-content-crc64')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + if response.status_code == 206: + deserialized = response.stream_download(self._client._pipeline) + header_dict = { + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-meta': self._deserialize('{str}', response.headers.get('x-ms-meta')), + 'x-ms-or-policy-id': self._deserialize('str', response.headers.get('x-ms-or-policy-id')), + 'x-ms-or': self._deserialize('{str}', response.headers.get('x-ms-or')), + 'Content-Length': self._deserialize('long', response.headers.get('Content-Length')), + 'Content-Type': self._deserialize('str', response.headers.get('Content-Type')), + 'Content-Range': self._deserialize('str', response.headers.get('Content-Range')), + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'Content-Encoding': self._deserialize('str', response.headers.get('Content-Encoding')), + 'Cache-Control': self._deserialize('str', response.headers.get('Cache-Control')), + 'Content-Disposition': self._deserialize('str', response.headers.get('Content-Disposition')), + 'Content-Language': self._deserialize('str', response.headers.get('Content-Language')), + 'x-ms-blob-sequence-number': self._deserialize('long', response.headers.get('x-ms-blob-sequence-number')), + 'x-ms-blob-type': self._deserialize(models.BlobType, response.headers.get('x-ms-blob-type')), + 'x-ms-copy-completion-time': self._deserialize('rfc-1123', response.headers.get('x-ms-copy-completion-time')), + 'x-ms-copy-status-description': self._deserialize('str', response.headers.get('x-ms-copy-status-description')), + 'x-ms-copy-id': self._deserialize('str', response.headers.get('x-ms-copy-id')), + 'x-ms-copy-progress': self._deserialize('str', response.headers.get('x-ms-copy-progress')), + 'x-ms-copy-source': self._deserialize('str', response.headers.get('x-ms-copy-source')), + 'x-ms-copy-status': self._deserialize(models.CopyStatusType, response.headers.get('x-ms-copy-status')), + 'x-ms-lease-duration': self._deserialize(models.LeaseDurationType, response.headers.get('x-ms-lease-duration')), + 'x-ms-lease-state': self._deserialize(models.LeaseStateType, response.headers.get('x-ms-lease-state')), + 'x-ms-lease-status': self._deserialize(models.LeaseStatusType, response.headers.get('x-ms-lease-status')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-version-id': self._deserialize('str', response.headers.get('x-ms-version-id')), + 'Accept-Ranges': self._deserialize('str', response.headers.get('Accept-Ranges')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-blob-committed-block-count': self._deserialize('int', response.headers.get('x-ms-blob-committed-block-count')), + 'x-ms-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-server-encrypted')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), + 'x-ms-encryption-scope': self._deserialize('str', response.headers.get('x-ms-encryption-scope')), + 'x-ms-blob-content-md5': self._deserialize('bytearray', response.headers.get('x-ms-blob-content-md5')), + 'x-ms-tag-count': self._deserialize('long', response.headers.get('x-ms-tag-count')), + 'x-ms-blob-sealed': self._deserialize('bool', response.headers.get('x-ms-blob-sealed')), + 'x-ms-last-access-time': self._deserialize('rfc-1123', response.headers.get('x-ms-last-access-time')), + 'x-ms-content-crc64': self._deserialize('bytearray', response.headers.get('x-ms-content-crc64')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + + if cls: + return cls(response, deserialized, header_dict) + + return deserialized + download.metadata = {'url': '/{containerName}/{blob}'} + + def get_properties(self, snapshot=None, version_id=None, timeout=None, request_id=None, lease_access_conditions=None, cpk_info=None, modified_access_conditions=None, cls=None, **kwargs): + """The Get Properties operation returns all user-defined metadata, + standard HTTP properties, and system properties for the blob. It does + not return the content of the blob. + + :param snapshot: The snapshot parameter is an opaque DateTime value + that, when present, specifies the blob snapshot to retrieve. For more + information on working with blob snapshots, see Creating + a Snapshot of a Blob. + :type snapshot: str + :param version_id: The version id parameter is an opaque DateTime + value that, when present, specifies the version of the blob to operate + on. It's for service version 2019-10-10 and newer. + :type version_id: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + + # Construct URL + url = self.get_properties.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if snapshot is not None: + query_parameters['snapshot'] = self._serialize.query("snapshot", snapshot, 'str') + if version_id is not None: + query_parameters['versionid'] = self._serialize.query("version_id", version_id, 'str') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + + # Construct headers + header_parameters = {} + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + + # Construct and send request + request = self._client.head(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-creation-time': self._deserialize('rfc-1123', response.headers.get('x-ms-creation-time')), + 'x-ms-meta': self._deserialize('{str}', response.headers.get('x-ms-meta')), + 'x-ms-or-policy-id': self._deserialize('str', response.headers.get('x-ms-or-policy-id')), + 'x-ms-or': self._deserialize('{str}', response.headers.get('x-ms-or')), + 'x-ms-blob-type': self._deserialize(models.BlobType, response.headers.get('x-ms-blob-type')), + 'x-ms-copy-completion-time': self._deserialize('rfc-1123', response.headers.get('x-ms-copy-completion-time')), + 'x-ms-copy-status-description': self._deserialize('str', response.headers.get('x-ms-copy-status-description')), + 'x-ms-copy-id': self._deserialize('str', response.headers.get('x-ms-copy-id')), + 'x-ms-copy-progress': self._deserialize('str', response.headers.get('x-ms-copy-progress')), + 'x-ms-copy-source': self._deserialize('str', response.headers.get('x-ms-copy-source')), + 'x-ms-copy-status': self._deserialize(models.CopyStatusType, response.headers.get('x-ms-copy-status')), + 'x-ms-incremental-copy': self._deserialize('bool', response.headers.get('x-ms-incremental-copy')), + 'x-ms-copy-destination-snapshot': self._deserialize('str', response.headers.get('x-ms-copy-destination-snapshot')), + 'x-ms-lease-duration': self._deserialize(models.LeaseDurationType, response.headers.get('x-ms-lease-duration')), + 'x-ms-lease-state': self._deserialize(models.LeaseStateType, response.headers.get('x-ms-lease-state')), + 'x-ms-lease-status': self._deserialize(models.LeaseStatusType, response.headers.get('x-ms-lease-status')), + 'Content-Length': self._deserialize('long', response.headers.get('Content-Length')), + 'Content-Type': self._deserialize('str', response.headers.get('Content-Type')), + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'Content-Encoding': self._deserialize('str', response.headers.get('Content-Encoding')), + 'Content-Disposition': self._deserialize('str', response.headers.get('Content-Disposition')), + 'Content-Language': self._deserialize('str', response.headers.get('Content-Language')), + 'Cache-Control': self._deserialize('str', response.headers.get('Cache-Control')), + 'x-ms-blob-sequence-number': self._deserialize('long', response.headers.get('x-ms-blob-sequence-number')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'Accept-Ranges': self._deserialize('str', response.headers.get('Accept-Ranges')), + 'x-ms-blob-committed-block-count': self._deserialize('int', response.headers.get('x-ms-blob-committed-block-count')), + 'x-ms-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-server-encrypted')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), + 'x-ms-encryption-scope': self._deserialize('str', response.headers.get('x-ms-encryption-scope')), + 'x-ms-access-tier': self._deserialize('str', response.headers.get('x-ms-access-tier')), + 'x-ms-access-tier-inferred': self._deserialize('bool', response.headers.get('x-ms-access-tier-inferred')), + 'x-ms-archive-status': self._deserialize('str', response.headers.get('x-ms-archive-status')), + 'x-ms-access-tier-change-time': self._deserialize('rfc-1123', response.headers.get('x-ms-access-tier-change-time')), + 'x-ms-version-id': self._deserialize('str', response.headers.get('x-ms-version-id')), + 'x-ms-is-current-version': self._deserialize('bool', response.headers.get('x-ms-is-current-version')), + 'x-ms-tag-count': self._deserialize('long', response.headers.get('x-ms-tag-count')), + 'x-ms-expiry-time': self._deserialize('rfc-1123', response.headers.get('x-ms-expiry-time')), + 'x-ms-blob-sealed': self._deserialize('bool', response.headers.get('x-ms-blob-sealed')), + 'x-ms-rehydrate-priority': self._deserialize('str', response.headers.get('x-ms-rehydrate-priority')), + 'x-ms-last-access-time': self._deserialize('rfc-1123', response.headers.get('x-ms-last-access-time')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + get_properties.metadata = {'url': '/{containerName}/{blob}'} + + def delete(self, snapshot=None, version_id=None, timeout=None, delete_snapshots=None, request_id=None, lease_access_conditions=None, modified_access_conditions=None, cls=None, **kwargs): + """If the storage account's soft delete feature is disabled then, when a + blob is deleted, it is permanently removed from the storage account. If + the storage account's soft delete feature is enabled, then, when a blob + is deleted, it is marked for deletion and becomes inaccessible + immediately. However, the blob service retains the blob or snapshot for + the number of days specified by the DeleteRetentionPolicy section of + [Storage service properties] (Set-Blob-Service-Properties.md). After + the specified number of days has passed, the blob's data is permanently + removed from the storage account. Note that you continue to be charged + for the soft-deleted blob's storage until it is permanently removed. + Use the List Blobs API and specify the "include=deleted" query + parameter to discover which blobs and snapshots have been soft deleted. + You can then use the Undelete Blob API to restore a soft-deleted blob. + All other operations on a soft-deleted blob or snapshot causes the + service to return an HTTP status code of 404 (ResourceNotFound). + + :param snapshot: The snapshot parameter is an opaque DateTime value + that, when present, specifies the blob snapshot to retrieve. For more + information on working with blob snapshots, see Creating + a Snapshot of a Blob. + :type snapshot: str + :param version_id: The version id parameter is an opaque DateTime + value that, when present, specifies the version of the blob to operate + on. It's for service version 2019-10-10 and newer. + :type version_id: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param delete_snapshots: Required if the blob has associated + snapshots. Specify one of the following two options: include: Delete + the base blob and all of its snapshots. only: Delete only the blob's + snapshots and not the blob itself. Possible values include: 'include', + 'only' + :type delete_snapshots: str or + ~azure.storage.blob.models.DeleteSnapshotsOptionType + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if snapshot is not None: + query_parameters['snapshot'] = self._serialize.query("snapshot", snapshot, 'str') + if version_id is not None: + query_parameters['versionid'] = self._serialize.query("version_id", version_id, 'str') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + + # Construct headers + header_parameters = {} + if delete_snapshots is not None: + header_parameters['x-ms-delete-snapshots'] = self._serialize.header("delete_snapshots", delete_snapshots, 'DeleteSnapshotsOptionType') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + delete.metadata = {'url': '/{containerName}/{blob}'} + + def set_access_control(self, timeout=None, owner=None, group=None, posix_permissions=None, posix_acl=None, request_id=None, lease_access_conditions=None, modified_access_conditions=None, cls=None, **kwargs): + """Set the owner, group, permissions, or access control list for a blob. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param owner: Optional. The owner of the blob or directory. + :type owner: str + :param group: Optional. The owning group of the blob or directory. + :type group: str + :param posix_permissions: Optional and only valid if Hierarchical + Namespace is enabled for the account. Sets POSIX access permissions + for the file owner, the file owning group, and others. Each class may + be granted read, write, or execute permission. The sticky bit is also + supported. Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. + 0766) are supported. + :type posix_permissions: str + :param posix_acl: Sets POSIX access control rights on files and + directories. The value is a comma-separated list of access control + entries. Each access control entry (ACE) consists of a scope, a type, + a user or group identifier, and permissions in the format + "[scope:][type]:[id]:[permissions]". + :type posix_acl: str + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`DataLakeStorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + + action = "setAccessControl" + + # Construct URL + url = self.set_access_control.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['action'] = self._serialize.query("action", action, 'str') + + # Construct headers + header_parameters = {} + if owner is not None: + header_parameters['x-ms-owner'] = self._serialize.header("owner", owner, 'str') + if group is not None: + header_parameters['x-ms-group'] = self._serialize.header("group", group, 'str') + if posix_permissions is not None: + header_parameters['x-ms-permissions'] = self._serialize.header("posix_permissions", posix_permissions, 'str') + if posix_acl is not None: + header_parameters['x-ms-acl'] = self._serialize.header("posix_acl", posix_acl, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.DataLakeStorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + } + return cls(response, None, response_headers) + set_access_control.metadata = {'url': '/{filesystem}/{path}'} + + def get_access_control(self, timeout=None, upn=None, request_id=None, lease_access_conditions=None, modified_access_conditions=None, cls=None, **kwargs): + """Get the owner, group, permissions, or access control list for a blob. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param upn: Optional. Valid only when Hierarchical Namespace is + enabled for the account. If "true", the identity values returned in + the x-ms-owner, x-ms-group, and x-ms-acl response headers will be + transformed from Azure Active Directory Object IDs to User Principal + Names. If "false", the values will be returned as Azure Active + Directory Object IDs. The default value is false. + :type upn: bool + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`DataLakeStorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + + action = "getAccessControl" + + # Construct URL + url = self.get_access_control.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + if upn is not None: + query_parameters['upn'] = self._serialize.query("upn", upn, 'bool') + query_parameters['action'] = self._serialize.query("action", action, 'str') + + # Construct headers + header_parameters = {} + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + + # Construct and send request + request = self._client.head(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.DataLakeStorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-owner': self._deserialize('str', response.headers.get('x-ms-owner')), + 'x-ms-group': self._deserialize('str', response.headers.get('x-ms-group')), + 'x-ms-permissions': self._deserialize('str', response.headers.get('x-ms-permissions')), + 'x-ms-acl': self._deserialize('str', response.headers.get('x-ms-acl')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + } + return cls(response, None, response_headers) + get_access_control.metadata = {'url': '/{filesystem}/{path}'} + + def rename(self, rename_source, timeout=None, path_rename_mode=None, directory_properties=None, posix_permissions=None, posix_umask=None, source_lease_id=None, request_id=None, directory_http_headers=None, lease_access_conditions=None, modified_access_conditions=None, source_modified_access_conditions=None, cls=None, **kwargs): + """Rename a blob/file. By default, the destination is overwritten and if + the destination already exists and has a lease the lease is broken. + This operation supports conditional HTTP requests. For more + information, see [Specifying Conditional Headers for Blob Service + Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations). + To fail if the destination already exists, use a conditional request + with If-None-Match: "*". + + :param rename_source: The file or directory to be renamed. The value + must have the following format: "/{filesysystem}/{path}". If + "x-ms-properties" is specified, the properties will overwrite the + existing properties; otherwise, the existing properties will be + preserved. + :type rename_source: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param path_rename_mode: Determines the behavior of the rename + operation. Possible values include: 'legacy', 'posix' + :type path_rename_mode: str or + ~azure.storage.blob.models.PathRenameMode + :param directory_properties: Optional. User-defined properties to be + stored with the file or directory, in the format of a comma-separated + list of name and value pairs "n1=v1, n2=v2, ...", where each value is + base64 encoded. + :type directory_properties: str + :param posix_permissions: Optional and only valid if Hierarchical + Namespace is enabled for the account. Sets POSIX access permissions + for the file owner, the file owning group, and others. Each class may + be granted read, write, or execute permission. The sticky bit is also + supported. Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. + 0766) are supported. + :type posix_permissions: str + :param posix_umask: Only valid if Hierarchical Namespace is enabled + for the account. This umask restricts permission settings for file and + directory, and will only be applied when default Acl does not exist in + parent directory. If the umask bit has set, it means that the + corresponding permission will be disabled. Otherwise the corresponding + permission will be determined by the permission. A 4-digit octal + notation (e.g. 0022) is supported here. If no umask was specified, a + default umask - 0027 will be used. + :type posix_umask: str + :param source_lease_id: A lease ID for the source path. If specified, + the source path must have an active lease and the lease ID must match. + :type source_lease_id: str + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param directory_http_headers: Additional parameters for the operation + :type directory_http_headers: + ~azure.storage.blob.models.DirectoryHttpHeaders + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param source_modified_access_conditions: Additional parameters for + the operation + :type source_modified_access_conditions: + ~azure.storage.blob.models.SourceModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`DataLakeStorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + cache_control = None + if directory_http_headers is not None: + cache_control = directory_http_headers.cache_control + content_type = None + if directory_http_headers is not None: + content_type = directory_http_headers.content_type + content_encoding = None + if directory_http_headers is not None: + content_encoding = directory_http_headers.content_encoding + content_language = None + if directory_http_headers is not None: + content_language = directory_http_headers.content_language + content_disposition = None + if directory_http_headers is not None: + content_disposition = directory_http_headers.content_disposition + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + source_if_modified_since = None + if source_modified_access_conditions is not None: + source_if_modified_since = source_modified_access_conditions.source_if_modified_since + source_if_unmodified_since = None + if source_modified_access_conditions is not None: + source_if_unmodified_since = source_modified_access_conditions.source_if_unmodified_since + source_if_match = None + if source_modified_access_conditions is not None: + source_if_match = source_modified_access_conditions.source_if_match + source_if_none_match = None + if source_modified_access_conditions is not None: + source_if_none_match = source_modified_access_conditions.source_if_none_match + + # Construct URL + url = self.rename.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + if path_rename_mode is not None: + query_parameters['mode'] = self._serialize.query("path_rename_mode", path_rename_mode, 'PathRenameMode') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-rename-source'] = self._serialize.header("rename_source", rename_source, 'str') + if directory_properties is not None: + header_parameters['x-ms-properties'] = self._serialize.header("directory_properties", directory_properties, 'str') + if posix_permissions is not None: + header_parameters['x-ms-permissions'] = self._serialize.header("posix_permissions", posix_permissions, 'str') + if posix_umask is not None: + header_parameters['x-ms-umask'] = self._serialize.header("posix_umask", posix_umask, 'str') + if source_lease_id is not None: + header_parameters['x-ms-source-lease-id'] = self._serialize.header("source_lease_id", source_lease_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if cache_control is not None: + header_parameters['x-ms-cache-control'] = self._serialize.header("cache_control", cache_control, 'str') + if content_type is not None: + header_parameters['x-ms-content-type'] = self._serialize.header("content_type", content_type, 'str') + if content_encoding is not None: + header_parameters['x-ms-content-encoding'] = self._serialize.header("content_encoding", content_encoding, 'str') + if content_language is not None: + header_parameters['x-ms-content-language'] = self._serialize.header("content_language", content_language, 'str') + if content_disposition is not None: + header_parameters['x-ms-content-disposition'] = self._serialize.header("content_disposition", content_disposition, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if source_if_modified_since is not None: + header_parameters['x-ms-source-if-modified-since'] = self._serialize.header("source_if_modified_since", source_if_modified_since, 'rfc-1123') + if source_if_unmodified_since is not None: + header_parameters['x-ms-source-if-unmodified-since'] = self._serialize.header("source_if_unmodified_since", source_if_unmodified_since, 'rfc-1123') + if source_if_match is not None: + header_parameters['x-ms-source-if-match'] = self._serialize.header("source_if_match", source_if_match, 'str') + if source_if_none_match is not None: + header_parameters['x-ms-source-if-none-match'] = self._serialize.header("source_if_none_match", source_if_none_match, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.DataLakeStorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Content-Length': self._deserialize('long', response.headers.get('Content-Length')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + } + return cls(response, None, response_headers) + rename.metadata = {'url': '/{filesystem}/{path}'} + + def undelete(self, timeout=None, request_id=None, cls=None, **kwargs): + """Undelete a blob that was previously soft deleted. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + comp = "undelete" + + # Construct URL + url = self.undelete.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + undelete.metadata = {'url': '/{containerName}/{blob}'} + + def set_expiry(self, expiry_options, timeout=None, request_id=None, expires_on=None, cls=None, **kwargs): + """Sets the time a blob will expire and be deleted. + + :param expiry_options: Required. Indicates mode of the expiry time. + Possible values include: 'NeverExpire', 'RelativeToCreation', + 'RelativeToNow', 'Absolute' + :type expiry_options: str or + ~azure.storage.blob.models.BlobExpiryOptions + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param expires_on: The time to set the blob to expiry + :type expires_on: str + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + comp = "expiry" + + # Construct URL + url = self.set_expiry.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-expiry-option'] = self._serialize.header("expiry_options", expiry_options, 'str') + if expires_on is not None: + header_parameters['x-ms-expiry-time'] = self._serialize.header("expires_on", expires_on, 'rfc-1123') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + set_expiry.metadata = {'url': '/{containerName}/{blob}'} + + def set_http_headers(self, timeout=None, request_id=None, blob_http_headers=None, lease_access_conditions=None, modified_access_conditions=None, cls=None, **kwargs): + """The Set HTTP Headers operation sets system properties on the blob. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param blob_http_headers: Additional parameters for the operation + :type blob_http_headers: ~azure.storage.blob.models.BlobHTTPHeaders + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + blob_cache_control = None + if blob_http_headers is not None: + blob_cache_control = blob_http_headers.blob_cache_control + blob_content_type = None + if blob_http_headers is not None: + blob_content_type = blob_http_headers.blob_content_type + blob_content_md5 = None + if blob_http_headers is not None: + blob_content_md5 = blob_http_headers.blob_content_md5 + blob_content_encoding = None + if blob_http_headers is not None: + blob_content_encoding = blob_http_headers.blob_content_encoding + blob_content_language = None + if blob_http_headers is not None: + blob_content_language = blob_http_headers.blob_content_language + blob_content_disposition = None + if blob_http_headers is not None: + blob_content_disposition = blob_http_headers.blob_content_disposition + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + + comp = "properties" + + # Construct URL + url = self.set_http_headers.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if blob_cache_control is not None: + header_parameters['x-ms-blob-cache-control'] = self._serialize.header("blob_cache_control", blob_cache_control, 'str') + if blob_content_type is not None: + header_parameters['x-ms-blob-content-type'] = self._serialize.header("blob_content_type", blob_content_type, 'str') + if blob_content_md5 is not None: + header_parameters['x-ms-blob-content-md5'] = self._serialize.header("blob_content_md5", blob_content_md5, 'bytearray') + if blob_content_encoding is not None: + header_parameters['x-ms-blob-content-encoding'] = self._serialize.header("blob_content_encoding", blob_content_encoding, 'str') + if blob_content_language is not None: + header_parameters['x-ms-blob-content-language'] = self._serialize.header("blob_content_language", blob_content_language, 'str') + if blob_content_disposition is not None: + header_parameters['x-ms-blob-content-disposition'] = self._serialize.header("blob_content_disposition", blob_content_disposition, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-blob-sequence-number': self._deserialize('long', response.headers.get('x-ms-blob-sequence-number')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + set_http_headers.metadata = {'url': '/{containerName}/{blob}'} + + def set_metadata(self, timeout=None, metadata=None, request_id=None, lease_access_conditions=None, cpk_info=None, cpk_scope_info=None, modified_access_conditions=None, cls=None, **kwargs): + """The Set Blob Metadata operation sets user-defined metadata for the + specified blob as one or more name-value pairs. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param metadata: Optional. Specifies a user-defined name-value pair + associated with the blob. If no name-value pairs are specified, the + operation will copy the metadata from the source blob or file to the + destination blob. If one or more name-value pairs are specified, the + destination blob is created with the specified metadata, and metadata + is not copied from the source blob or file. Note that beginning with + version 2009-09-19, metadata names must adhere to the naming rules for + C# identifiers. See Naming and Referencing Containers, Blobs, and + Metadata for more information. + :type metadata: str + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo + :param cpk_scope_info: Additional parameters for the operation + :type cpk_scope_info: ~azure.storage.blob.models.CpkScopeInfo + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm + encryption_scope = None + if cpk_scope_info is not None: + encryption_scope = cpk_scope_info.encryption_scope + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + + comp = "metadata" + + # Construct URL + url = self.set_metadata.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + if metadata is not None: + header_parameters['x-ms-meta'] = self._serialize.header("metadata", metadata, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') + if encryption_scope is not None: + header_parameters['x-ms-encryption-scope'] = self._serialize.header("encryption_scope", encryption_scope, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-version-id': self._deserialize('str', response.headers.get('x-ms-version-id')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), + 'x-ms-encryption-scope': self._deserialize('str', response.headers.get('x-ms-encryption-scope')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + set_metadata.metadata = {'url': '/{containerName}/{blob}'} + + def acquire_lease(self, timeout=None, duration=None, proposed_lease_id=None, request_id=None, modified_access_conditions=None, cls=None, **kwargs): + """[Update] The Lease Blob operation establishes and manages a lock on a + blob for write and delete operations. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param duration: Specifies the duration of the lease, in seconds, or + negative one (-1) for a lease that never expires. A non-infinite lease + can be between 15 and 60 seconds. A lease duration cannot be changed + using renew or change. + :type duration: int + :param proposed_lease_id: Proposed lease ID, in a GUID string format. + The Blob service returns 400 (Invalid request) if the proposed lease + ID is not in the correct format. See Guid Constructor (String) for a + list of valid GUID string formats. + :type proposed_lease_id: str + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + + comp = "lease" + action = "acquire" + + # Construct URL + url = self.acquire_lease.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + if duration is not None: + header_parameters['x-ms-lease-duration'] = self._serialize.header("duration", duration, 'int') + if proposed_lease_id is not None: + header_parameters['x-ms-proposed-lease-id'] = self._serialize.header("proposed_lease_id", proposed_lease_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-lease-action'] = self._serialize.header("action", action, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-lease-id': self._deserialize('str', response.headers.get('x-ms-lease-id')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + acquire_lease.metadata = {'url': '/{containerName}/{blob}'} + + def release_lease(self, lease_id, timeout=None, request_id=None, modified_access_conditions=None, cls=None, **kwargs): + """[Update] The Lease Blob operation establishes and manages a lock on a + blob for write and delete operations. + + :param lease_id: Specifies the current lease ID on the resource. + :type lease_id: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + + comp = "lease" + action = "release" + + # Construct URL + url = self.release_lease.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-lease-action'] = self._serialize.header("action", action, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + release_lease.metadata = {'url': '/{containerName}/{blob}'} + + def renew_lease(self, lease_id, timeout=None, request_id=None, modified_access_conditions=None, cls=None, **kwargs): + """[Update] The Lease Blob operation establishes and manages a lock on a + blob for write and delete operations. + + :param lease_id: Specifies the current lease ID on the resource. + :type lease_id: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + + comp = "lease" + action = "renew" + + # Construct URL + url = self.renew_lease.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-lease-action'] = self._serialize.header("action", action, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-lease-id': self._deserialize('str', response.headers.get('x-ms-lease-id')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + renew_lease.metadata = {'url': '/{containerName}/{blob}'} + + def change_lease(self, lease_id, proposed_lease_id, timeout=None, request_id=None, modified_access_conditions=None, cls=None, **kwargs): + """[Update] The Lease Blob operation establishes and manages a lock on a + blob for write and delete operations. + + :param lease_id: Specifies the current lease ID on the resource. + :type lease_id: str + :param proposed_lease_id: Proposed lease ID, in a GUID string format. + The Blob service returns 400 (Invalid request) if the proposed lease + ID is not in the correct format. See Guid Constructor (String) for a + list of valid GUID string formats. + :type proposed_lease_id: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + + comp = "lease" + action = "change" + + # Construct URL + url = self.change_lease.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + header_parameters['x-ms-proposed-lease-id'] = self._serialize.header("proposed_lease_id", proposed_lease_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-lease-action'] = self._serialize.header("action", action, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-lease-id': self._deserialize('str', response.headers.get('x-ms-lease-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + change_lease.metadata = {'url': '/{containerName}/{blob}'} + + def break_lease(self, timeout=None, break_period=None, request_id=None, modified_access_conditions=None, cls=None, **kwargs): + """[Update] The Lease Blob operation establishes and manages a lock on a + blob for write and delete operations. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param break_period: For a break operation, proposed duration the + lease should continue before it is broken, in seconds, between 0 and + 60. This break period is only used if it is shorter than the time + remaining on the lease. If longer, the time remaining on the lease is + used. A new lease will not be available before the break period has + expired, but the lease may be held for longer than the break period. + If this header does not appear with a break operation, a + fixed-duration lease breaks after the remaining lease period elapses, + and an infinite lease breaks immediately. + :type break_period: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + + comp = "lease" + action = "break" + + # Construct URL + url = self.break_lease.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + if break_period is not None: + header_parameters['x-ms-lease-break-period'] = self._serialize.header("break_period", break_period, 'int') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-lease-action'] = self._serialize.header("action", action, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-lease-time': self._deserialize('int', response.headers.get('x-ms-lease-time')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + break_lease.metadata = {'url': '/{containerName}/{blob}'} + + def create_snapshot(self, timeout=None, metadata=None, request_id=None, cpk_info=None, cpk_scope_info=None, modified_access_conditions=None, lease_access_conditions=None, cls=None, **kwargs): + """The Create Snapshot operation creates a read-only snapshot of a blob. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param metadata: Optional. Specifies a user-defined name-value pair + associated with the blob. If no name-value pairs are specified, the + operation will copy the metadata from the source blob or file to the + destination blob. If one or more name-value pairs are specified, the + destination blob is created with the specified metadata, and metadata + is not copied from the source blob or file. Note that beginning with + version 2009-09-19, metadata names must adhere to the naming rules for + C# identifiers. See Naming and Referencing Containers, Blobs, and + Metadata for more information. + :type metadata: str + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo + :param cpk_scope_info: Additional parameters for the operation + :type cpk_scope_info: ~azure.storage.blob.models.CpkScopeInfo + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm + encryption_scope = None + if cpk_scope_info is not None: + encryption_scope = cpk_scope_info.encryption_scope + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + + comp = "snapshot" + + # Construct URL + url = self.create_snapshot.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + if metadata is not None: + header_parameters['x-ms-meta'] = self._serialize.header("metadata", metadata, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') + if encryption_scope is not None: + header_parameters['x-ms-encryption-scope'] = self._serialize.header("encryption_scope", encryption_scope, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'x-ms-snapshot': self._deserialize('str', response.headers.get('x-ms-snapshot')), + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-version-id': self._deserialize('str', response.headers.get('x-ms-version-id')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + create_snapshot.metadata = {'url': '/{containerName}/{blob}'} + + def start_copy_from_url(self, copy_source, timeout=None, metadata=None, tier=None, rehydrate_priority=None, request_id=None, blob_tags_string=None, seal_blob=None, source_modified_access_conditions=None, modified_access_conditions=None, lease_access_conditions=None, cls=None, **kwargs): + """The Start Copy From URL operation copies a blob or an internet resource + to a new blob. + + :param copy_source: Specifies the name of the source page blob + snapshot. This value is a URL of up to 2 KB in length that specifies a + page blob snapshot. The value should be URL-encoded as it would appear + in a request URI. The source blob must either be public or must be + authenticated via a shared access signature. + :type copy_source: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param metadata: Optional. Specifies a user-defined name-value pair + associated with the blob. If no name-value pairs are specified, the + operation will copy the metadata from the source blob or file to the + destination blob. If one or more name-value pairs are specified, the + destination blob is created with the specified metadata, and metadata + is not copied from the source blob or file. Note that beginning with + version 2009-09-19, metadata names must adhere to the naming rules for + C# identifiers. See Naming and Referencing Containers, Blobs, and + Metadata for more information. + :type metadata: str + :param tier: Optional. Indicates the tier to be set on the blob. + Possible values include: 'P4', 'P6', 'P10', 'P15', 'P20', 'P30', + 'P40', 'P50', 'P60', 'P70', 'P80', 'Hot', 'Cool', 'Archive' + :type tier: str or ~azure.storage.blob.models.AccessTierOptional + :param rehydrate_priority: Optional: Indicates the priority with which + to rehydrate an archived blob. Possible values include: 'High', + 'Standard' + :type rehydrate_priority: str or + ~azure.storage.blob.models.RehydratePriority + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param blob_tags_string: Optional. Used to set blob tags in various + blob operations. + :type blob_tags_string: str + :param seal_blob: Overrides the sealed state of the destination blob. + Service version 2019-12-12 and newer. + :type seal_blob: bool + :param source_modified_access_conditions: Additional parameters for + the operation + :type source_modified_access_conditions: + ~azure.storage.blob.models.SourceModifiedAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + source_if_modified_since = None + if source_modified_access_conditions is not None: + source_if_modified_since = source_modified_access_conditions.source_if_modified_since + source_if_unmodified_since = None + if source_modified_access_conditions is not None: + source_if_unmodified_since = source_modified_access_conditions.source_if_unmodified_since + source_if_match = None + if source_modified_access_conditions is not None: + source_if_match = source_modified_access_conditions.source_if_match + source_if_none_match = None + if source_modified_access_conditions is not None: + source_if_none_match = source_modified_access_conditions.source_if_none_match + source_if_tags = None + if source_modified_access_conditions is not None: + source_if_tags = source_modified_access_conditions.source_if_tags + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + + # Construct URL + url = self.start_copy_from_url.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + + # Construct headers + header_parameters = {} + if metadata is not None: + header_parameters['x-ms-meta'] = self._serialize.header("metadata", metadata, 'str') + if tier is not None: + header_parameters['x-ms-access-tier'] = self._serialize.header("tier", tier, 'str') + if rehydrate_priority is not None: + header_parameters['x-ms-rehydrate-priority'] = self._serialize.header("rehydrate_priority", rehydrate_priority, 'str') + header_parameters['x-ms-copy-source'] = self._serialize.header("copy_source", copy_source, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if blob_tags_string is not None: + header_parameters['x-ms-tags'] = self._serialize.header("blob_tags_string", blob_tags_string, 'str') + if seal_blob is not None: + header_parameters['x-ms-seal-blob'] = self._serialize.header("seal_blob", seal_blob, 'bool') + if source_if_modified_since is not None: + header_parameters['x-ms-source-if-modified-since'] = self._serialize.header("source_if_modified_since", source_if_modified_since, 'rfc-1123') + if source_if_unmodified_since is not None: + header_parameters['x-ms-source-if-unmodified-since'] = self._serialize.header("source_if_unmodified_since", source_if_unmodified_since, 'rfc-1123') + if source_if_match is not None: + header_parameters['x-ms-source-if-match'] = self._serialize.header("source_if_match", source_if_match, 'str') + if source_if_none_match is not None: + header_parameters['x-ms-source-if-none-match'] = self._serialize.header("source_if_none_match", source_if_none_match, 'str') + if source_if_tags is not None: + header_parameters['x-ms-source-if-tags'] = self._serialize.header("source_if_tags", source_if_tags, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-version-id': self._deserialize('str', response.headers.get('x-ms-version-id')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-copy-id': self._deserialize('str', response.headers.get('x-ms-copy-id')), + 'x-ms-copy-status': self._deserialize(models.CopyStatusType, response.headers.get('x-ms-copy-status')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + start_copy_from_url.metadata = {'url': '/{containerName}/{blob}'} + + def copy_from_url(self, copy_source, timeout=None, metadata=None, tier=None, request_id=None, source_content_md5=None, blob_tags_string=None, source_modified_access_conditions=None, modified_access_conditions=None, lease_access_conditions=None, cls=None, **kwargs): + """The Copy From URL operation copies a blob or an internet resource to a + new blob. It will not return a response until the copy is complete. + + :param copy_source: Specifies the name of the source page blob + snapshot. This value is a URL of up to 2 KB in length that specifies a + page blob snapshot. The value should be URL-encoded as it would appear + in a request URI. The source blob must either be public or must be + authenticated via a shared access signature. + :type copy_source: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param metadata: Optional. Specifies a user-defined name-value pair + associated with the blob. If no name-value pairs are specified, the + operation will copy the metadata from the source blob or file to the + destination blob. If one or more name-value pairs are specified, the + destination blob is created with the specified metadata, and metadata + is not copied from the source blob or file. Note that beginning with + version 2009-09-19, metadata names must adhere to the naming rules for + C# identifiers. See Naming and Referencing Containers, Blobs, and + Metadata for more information. + :type metadata: str + :param tier: Optional. Indicates the tier to be set on the blob. + Possible values include: 'P4', 'P6', 'P10', 'P15', 'P20', 'P30', + 'P40', 'P50', 'P60', 'P70', 'P80', 'Hot', 'Cool', 'Archive' + :type tier: str or ~azure.storage.blob.models.AccessTierOptional + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param source_content_md5: Specify the md5 calculated for the range of + bytes that must be read from the copy source. + :type source_content_md5: bytearray + :param blob_tags_string: Optional. Used to set blob tags in various + blob operations. + :type blob_tags_string: str + :param source_modified_access_conditions: Additional parameters for + the operation + :type source_modified_access_conditions: + ~azure.storage.blob.models.SourceModifiedAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + source_if_modified_since = None + if source_modified_access_conditions is not None: + source_if_modified_since = source_modified_access_conditions.source_if_modified_since + source_if_unmodified_since = None + if source_modified_access_conditions is not None: + source_if_unmodified_since = source_modified_access_conditions.source_if_unmodified_since + source_if_match = None + if source_modified_access_conditions is not None: + source_if_match = source_modified_access_conditions.source_if_match + source_if_none_match = None + if source_modified_access_conditions is not None: + source_if_none_match = source_modified_access_conditions.source_if_none_match + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + + # Construct URL + url = self.copy_from_url.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + + # Construct headers + header_parameters = {} + if metadata is not None: + header_parameters['x-ms-meta'] = self._serialize.header("metadata", metadata, 'str') + if tier is not None: + header_parameters['x-ms-access-tier'] = self._serialize.header("tier", tier, 'str') + header_parameters['x-ms-copy-source'] = self._serialize.header("copy_source", copy_source, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if source_content_md5 is not None: + header_parameters['x-ms-source-content-md5'] = self._serialize.header("source_content_md5", source_content_md5, 'bytearray') + if blob_tags_string is not None: + header_parameters['x-ms-tags'] = self._serialize.header("blob_tags_string", blob_tags_string, 'str') + header_parameters['x-ms-requires-sync'] = self._serialize.header("self.x_ms_requires_sync", self.x_ms_requires_sync, 'str') + if source_if_modified_since is not None: + header_parameters['x-ms-source-if-modified-since'] = self._serialize.header("source_if_modified_since", source_if_modified_since, 'rfc-1123') + if source_if_unmodified_since is not None: + header_parameters['x-ms-source-if-unmodified-since'] = self._serialize.header("source_if_unmodified_since", source_if_unmodified_since, 'rfc-1123') + if source_if_match is not None: + header_parameters['x-ms-source-if-match'] = self._serialize.header("source_if_match", source_if_match, 'str') + if source_if_none_match is not None: + header_parameters['x-ms-source-if-none-match'] = self._serialize.header("source_if_none_match", source_if_none_match, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-version-id': self._deserialize('str', response.headers.get('x-ms-version-id')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-copy-id': self._deserialize('str', response.headers.get('x-ms-copy-id')), + 'x-ms-copy-status': self._deserialize(models.SyncCopyStatusType, response.headers.get('x-ms-copy-status')), + 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'x-ms-content-crc64': self._deserialize('bytearray', response.headers.get('x-ms-content-crc64')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + copy_from_url.metadata = {'url': '/{containerName}/{blob}'} + + def abort_copy_from_url(self, copy_id, timeout=None, request_id=None, lease_access_conditions=None, cls=None, **kwargs): + """The Abort Copy From URL operation aborts a pending Copy From URL + operation, and leaves a destination blob with zero length and full + metadata. + + :param copy_id: The copy identifier provided in the x-ms-copy-id + header of the original Copy Blob operation. + :type copy_id: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + + comp = "copy" + + # Construct URL + url = self.abort_copy_from_url.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['copyid'] = self._serialize.query("copy_id", copy_id, 'str') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-copy-action'] = self._serialize.header("self.x_ms_copy_action", self.x_ms_copy_action, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + abort_copy_from_url.metadata = {'url': '/{containerName}/{blob}'} + + def set_tier(self, tier, snapshot=None, version_id=None, timeout=None, rehydrate_priority=None, request_id=None, lease_access_conditions=None, modified_access_conditions=None, cls=None, **kwargs): + """The Set Tier operation sets the tier on a blob. The operation is + allowed on a page blob in a premium storage account and on a block blob + in a blob storage account (locally redundant storage only). A premium + page blob's tier determines the allowed size, IOPS, and bandwidth of + the blob. A block blob's tier determines Hot/Cool/Archive storage type. + This operation does not update the blob's ETag. + + :param tier: Indicates the tier to be set on the blob. Possible values + include: 'P4', 'P6', 'P10', 'P15', 'P20', 'P30', 'P40', 'P50', 'P60', + 'P70', 'P80', 'Hot', 'Cool', 'Archive' + :type tier: str or ~azure.storage.blob.models.AccessTierRequired + :param snapshot: The snapshot parameter is an opaque DateTime value + that, when present, specifies the blob snapshot to retrieve. For more + information on working with blob snapshots, see Creating + a Snapshot of a Blob. + :type snapshot: str + :param version_id: The version id parameter is an opaque DateTime + value that, when present, specifies the version of the blob to operate + on. It's for service version 2019-10-10 and newer. + :type version_id: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param rehydrate_priority: Optional: Indicates the priority with which + to rehydrate an archived blob. Possible values include: 'High', + 'Standard' + :type rehydrate_priority: str or + ~azure.storage.blob.models.RehydratePriority + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + + comp = "tier" + + # Construct URL + url = self.set_tier.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if snapshot is not None: + query_parameters['snapshot'] = self._serialize.query("snapshot", snapshot, 'str') + if version_id is not None: + query_parameters['versionid'] = self._serialize.query("version_id", version_id, 'str') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-access-tier'] = self._serialize.header("tier", tier, 'str') + if rehydrate_priority is not None: + header_parameters['x-ms-rehydrate-priority'] = self._serialize.header("rehydrate_priority", rehydrate_priority, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + set_tier.metadata = {'url': '/{containerName}/{blob}'} + + def get_account_info(self, cls=None, **kwargs): + """Returns the sku name and account kind . + + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + comp = "properties" + + # Construct URL + url = self.get_account_info.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['restype'] = self._serialize.query("self.restype", self.restype, 'str') + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-sku-name': self._deserialize(models.SkuName, response.headers.get('x-ms-sku-name')), + 'x-ms-account-kind': self._deserialize(models.AccountKind, response.headers.get('x-ms-account-kind')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + get_account_info.metadata = {'url': '/{containerName}/{blob}'} + + def query(self, query_request=None, snapshot=None, timeout=None, request_id=None, lease_access_conditions=None, cpk_info=None, modified_access_conditions=None, cls=None, **kwargs): + """The Query operation enables users to select/project on blob data by + providing simple query expressions. + + :param query_request: the query request + :type query_request: ~azure.storage.blob.models.QueryRequest + :param snapshot: The snapshot parameter is an opaque DateTime value + that, when present, specifies the blob snapshot to retrieve. For more + information on working with blob snapshots, see Creating + a Snapshot of a Blob. + :type snapshot: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: object or the result of cls(response) + :rtype: Generator + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + + comp = "query" + + # Construct URL + url = self.query.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if snapshot is not None: + query_parameters['snapshot'] = self._serialize.query("snapshot", snapshot, 'str') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/xml' + header_parameters['Content-Type'] = 'application/xml; charset=utf-8' + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + + # Construct body + if query_request is not None: + body_content = self._serialize.body(query_request, 'QueryRequest') + else: + body_content = None + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + pipeline_response = self._client._pipeline.run(request, stream=True, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200, 206]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = response.stream_download(self._client._pipeline) + header_dict = { + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-meta': self._deserialize('{str}', response.headers.get('x-ms-meta')), + 'Content-Length': self._deserialize('long', response.headers.get('Content-Length')), + 'Content-Type': self._deserialize('str', response.headers.get('Content-Type')), + 'Content-Range': self._deserialize('str', response.headers.get('Content-Range')), + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'Content-Encoding': self._deserialize('str', response.headers.get('Content-Encoding')), + 'Cache-Control': self._deserialize('str', response.headers.get('Cache-Control')), + 'Content-Disposition': self._deserialize('str', response.headers.get('Content-Disposition')), + 'Content-Language': self._deserialize('str', response.headers.get('Content-Language')), + 'x-ms-blob-sequence-number': self._deserialize('long', response.headers.get('x-ms-blob-sequence-number')), + 'x-ms-blob-type': self._deserialize(models.BlobType, response.headers.get('x-ms-blob-type')), + 'x-ms-copy-completion-time': self._deserialize('rfc-1123', response.headers.get('x-ms-copy-completion-time')), + 'x-ms-copy-status-description': self._deserialize('str', response.headers.get('x-ms-copy-status-description')), + 'x-ms-copy-id': self._deserialize('str', response.headers.get('x-ms-copy-id')), + 'x-ms-copy-progress': self._deserialize('str', response.headers.get('x-ms-copy-progress')), + 'x-ms-copy-source': self._deserialize('str', response.headers.get('x-ms-copy-source')), + 'x-ms-copy-status': self._deserialize(models.CopyStatusType, response.headers.get('x-ms-copy-status')), + 'x-ms-lease-duration': self._deserialize(models.LeaseDurationType, response.headers.get('x-ms-lease-duration')), + 'x-ms-lease-state': self._deserialize(models.LeaseStateType, response.headers.get('x-ms-lease-state')), + 'x-ms-lease-status': self._deserialize(models.LeaseStatusType, response.headers.get('x-ms-lease-status')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Accept-Ranges': self._deserialize('str', response.headers.get('Accept-Ranges')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-blob-committed-block-count': self._deserialize('int', response.headers.get('x-ms-blob-committed-block-count')), + 'x-ms-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-server-encrypted')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), + 'x-ms-encryption-scope': self._deserialize('str', response.headers.get('x-ms-encryption-scope')), + 'x-ms-blob-content-md5': self._deserialize('bytearray', response.headers.get('x-ms-blob-content-md5')), + 'x-ms-content-crc64': self._deserialize('bytearray', response.headers.get('x-ms-content-crc64')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + if response.status_code == 206: + deserialized = response.stream_download(self._client._pipeline) + header_dict = { + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-meta': self._deserialize('{str}', response.headers.get('x-ms-meta')), + 'Content-Length': self._deserialize('long', response.headers.get('Content-Length')), + 'Content-Type': self._deserialize('str', response.headers.get('Content-Type')), + 'Content-Range': self._deserialize('str', response.headers.get('Content-Range')), + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'Content-Encoding': self._deserialize('str', response.headers.get('Content-Encoding')), + 'Cache-Control': self._deserialize('str', response.headers.get('Cache-Control')), + 'Content-Disposition': self._deserialize('str', response.headers.get('Content-Disposition')), + 'Content-Language': self._deserialize('str', response.headers.get('Content-Language')), + 'x-ms-blob-sequence-number': self._deserialize('long', response.headers.get('x-ms-blob-sequence-number')), + 'x-ms-blob-type': self._deserialize(models.BlobType, response.headers.get('x-ms-blob-type')), + 'x-ms-copy-completion-time': self._deserialize('rfc-1123', response.headers.get('x-ms-copy-completion-time')), + 'x-ms-copy-status-description': self._deserialize('str', response.headers.get('x-ms-copy-status-description')), + 'x-ms-copy-id': self._deserialize('str', response.headers.get('x-ms-copy-id')), + 'x-ms-copy-progress': self._deserialize('str', response.headers.get('x-ms-copy-progress')), + 'x-ms-copy-source': self._deserialize('str', response.headers.get('x-ms-copy-source')), + 'x-ms-copy-status': self._deserialize(models.CopyStatusType, response.headers.get('x-ms-copy-status')), + 'x-ms-lease-duration': self._deserialize(models.LeaseDurationType, response.headers.get('x-ms-lease-duration')), + 'x-ms-lease-state': self._deserialize(models.LeaseStateType, response.headers.get('x-ms-lease-state')), + 'x-ms-lease-status': self._deserialize(models.LeaseStatusType, response.headers.get('x-ms-lease-status')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Accept-Ranges': self._deserialize('str', response.headers.get('Accept-Ranges')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-blob-committed-block-count': self._deserialize('int', response.headers.get('x-ms-blob-committed-block-count')), + 'x-ms-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-server-encrypted')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), + 'x-ms-encryption-scope': self._deserialize('str', response.headers.get('x-ms-encryption-scope')), + 'x-ms-blob-content-md5': self._deserialize('bytearray', response.headers.get('x-ms-blob-content-md5')), + 'x-ms-content-crc64': self._deserialize('bytearray', response.headers.get('x-ms-content-crc64')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + + if cls: + return cls(response, deserialized, header_dict) + + return deserialized + query.metadata = {'url': '/{containerName}/{blob}'} + + def get_tags(self, timeout=None, request_id=None, snapshot=None, version_id=None, modified_access_conditions=None, cls=None, **kwargs): + """The Get Tags operation enables users to get the tags associated with a + blob. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param snapshot: The snapshot parameter is an opaque DateTime value + that, when present, specifies the blob snapshot to retrieve. For more + information on working with blob snapshots, see Creating + a Snapshot of a Blob. + :type snapshot: str + :param version_id: The version id parameter is an opaque DateTime + value that, when present, specifies the version of the blob to operate + on. It's for service version 2019-10-10 and newer. + :type version_id: str + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: BlobTags or the result of cls(response) + :rtype: ~azure.storage.blob.models.BlobTags + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + + comp = "tags" + + # Construct URL + url = self.get_tags.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + if snapshot is not None: + query_parameters['snapshot'] = self._serialize.query("snapshot", snapshot, 'str') + if version_id is not None: + query_parameters['versionid'] = self._serialize.query("version_id", version_id, 'str') + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/xml' + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('BlobTags', response) + header_dict = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + + if cls: + return cls(response, deserialized, header_dict) + + return deserialized + get_tags.metadata = {'url': '/{containerName}/{blob}'} + + def set_tags(self, timeout=None, version_id=None, transactional_content_md5=None, transactional_content_crc64=None, request_id=None, tags=None, modified_access_conditions=None, cls=None, **kwargs): + """The Set Tags operation enables users to set tags on a blob. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param version_id: The version id parameter is an opaque DateTime + value that, when present, specifies the version of the blob to operate + on. It's for service version 2019-10-10 and newer. + :type version_id: str + :param transactional_content_md5: Specify the transactional md5 for + the body, to be validated by the service. + :type transactional_content_md5: bytearray + :param transactional_content_crc64: Specify the transactional crc64 + for the body, to be validated by the service. + :type transactional_content_crc64: bytearray + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param tags: Blob tags + :type tags: ~azure.storage.blob.models.BlobTags + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + + comp = "tags" + + # Construct URL + url = self.set_tags.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + if version_id is not None: + query_parameters['versionid'] = self._serialize.query("version_id", version_id, 'str') + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/xml; charset=utf-8' + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if transactional_content_md5 is not None: + header_parameters['Content-MD5'] = self._serialize.header("transactional_content_md5", transactional_content_md5, 'bytearray') + if transactional_content_crc64 is not None: + header_parameters['x-ms-content-crc64'] = self._serialize.header("transactional_content_crc64", transactional_content_crc64, 'bytearray') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + + # Construct body + if tags is not None: + body_content = self._serialize.body(tags, 'BlobTags') + else: + body_content = None + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [204]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + set_tags.metadata = {'url': '/{containerName}/{blob}'} diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/operations/_block_blob_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/operations/_block_blob_operations.py new file mode 100644 index 00000000000..8228c4782b6 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/operations/_block_blob_operations.py @@ -0,0 +1,833 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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.core.exceptions import map_error + +from .. import models + + +class BlockBlobOperations(object): + """BlockBlobOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :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 x_ms_blob_type: Specifies the type of blob to create: block blob, page blob, or append blob. Constant value: "BlockBlob". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + + self._config = config + self.x_ms_blob_type = "BlockBlob" + + def upload(self, body, content_length, timeout=None, transactional_content_md5=None, metadata=None, tier=None, request_id=None, blob_tags_string=None, blob_http_headers=None, lease_access_conditions=None, cpk_info=None, cpk_scope_info=None, modified_access_conditions=None, cls=None, **kwargs): + """The Upload Block Blob operation updates the content of an existing + block blob. Updating an existing block blob overwrites any existing + metadata on the blob. Partial updates are not supported with Put Blob; + the content of the existing blob is overwritten with the content of the + new blob. To perform a partial update of the content of a block blob, + use the Put Block List operation. + + :param body: Initial data + :type body: Generator + :param content_length: The length of the request. + :type content_length: long + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param transactional_content_md5: Specify the transactional md5 for + the body, to be validated by the service. + :type transactional_content_md5: bytearray + :param metadata: Optional. Specifies a user-defined name-value pair + associated with the blob. If no name-value pairs are specified, the + operation will copy the metadata from the source blob or file to the + destination blob. If one or more name-value pairs are specified, the + destination blob is created with the specified metadata, and metadata + is not copied from the source blob or file. Note that beginning with + version 2009-09-19, metadata names must adhere to the naming rules for + C# identifiers. See Naming and Referencing Containers, Blobs, and + Metadata for more information. + :type metadata: str + :param tier: Optional. Indicates the tier to be set on the blob. + Possible values include: 'P4', 'P6', 'P10', 'P15', 'P20', 'P30', + 'P40', 'P50', 'P60', 'P70', 'P80', 'Hot', 'Cool', 'Archive' + :type tier: str or ~azure.storage.blob.models.AccessTierOptional + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param blob_tags_string: Optional. Used to set blob tags in various + blob operations. + :type blob_tags_string: str + :param blob_http_headers: Additional parameters for the operation + :type blob_http_headers: ~azure.storage.blob.models.BlobHTTPHeaders + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo + :param cpk_scope_info: Additional parameters for the operation + :type cpk_scope_info: ~azure.storage.blob.models.CpkScopeInfo + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + blob_content_type = None + if blob_http_headers is not None: + blob_content_type = blob_http_headers.blob_content_type + blob_content_encoding = None + if blob_http_headers is not None: + blob_content_encoding = blob_http_headers.blob_content_encoding + blob_content_language = None + if blob_http_headers is not None: + blob_content_language = blob_http_headers.blob_content_language + blob_content_md5 = None + if blob_http_headers is not None: + blob_content_md5 = blob_http_headers.blob_content_md5 + blob_cache_control = None + if blob_http_headers is not None: + blob_cache_control = blob_http_headers.blob_cache_control + blob_content_disposition = None + if blob_http_headers is not None: + blob_content_disposition = blob_http_headers.blob_content_disposition + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm + encryption_scope = None + if cpk_scope_info is not None: + encryption_scope = cpk_scope_info.encryption_scope + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + + # Construct URL + url = self.upload.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/octet-stream' + if transactional_content_md5 is not None: + header_parameters['Content-MD5'] = self._serialize.header("transactional_content_md5", transactional_content_md5, 'bytearray') + header_parameters['Content-Length'] = self._serialize.header("content_length", content_length, 'long') + if metadata is not None: + header_parameters['x-ms-meta'] = self._serialize.header("metadata", metadata, 'str') + if tier is not None: + header_parameters['x-ms-access-tier'] = self._serialize.header("tier", tier, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if blob_tags_string is not None: + header_parameters['x-ms-tags'] = self._serialize.header("blob_tags_string", blob_tags_string, 'str') + header_parameters['x-ms-blob-type'] = self._serialize.header("self.x_ms_blob_type", self.x_ms_blob_type, 'str') + if blob_content_type is not None: + header_parameters['x-ms-blob-content-type'] = self._serialize.header("blob_content_type", blob_content_type, 'str') + if blob_content_encoding is not None: + header_parameters['x-ms-blob-content-encoding'] = self._serialize.header("blob_content_encoding", blob_content_encoding, 'str') + if blob_content_language is not None: + header_parameters['x-ms-blob-content-language'] = self._serialize.header("blob_content_language", blob_content_language, 'str') + if blob_content_md5 is not None: + header_parameters['x-ms-blob-content-md5'] = self._serialize.header("blob_content_md5", blob_content_md5, 'bytearray') + if blob_cache_control is not None: + header_parameters['x-ms-blob-cache-control'] = self._serialize.header("blob_cache_control", blob_cache_control, 'str') + if blob_content_disposition is not None: + header_parameters['x-ms-blob-content-disposition'] = self._serialize.header("blob_content_disposition", blob_content_disposition, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') + if encryption_scope is not None: + header_parameters['x-ms-encryption-scope'] = self._serialize.header("encryption_scope", encryption_scope, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + + # Construct body + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, stream_content=body) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-version-id': self._deserialize('str', response.headers.get('x-ms-version-id')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), + 'x-ms-encryption-scope': self._deserialize('str', response.headers.get('x-ms-encryption-scope')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + upload.metadata = {'url': '/{containerName}/{blob}'} + + def stage_block(self, block_id, content_length, body, transactional_content_md5=None, transactional_content_crc64=None, timeout=None, request_id=None, lease_access_conditions=None, cpk_info=None, cpk_scope_info=None, cls=None, **kwargs): + """The Stage Block operation creates a new block to be committed as part + of a blob. + + :param block_id: A valid Base64 string value that identifies the + block. Prior to encoding, the string must be less than or equal to 64 + bytes in size. For a given blob, the length of the value specified for + the blockid parameter must be the same size for each block. + :type block_id: str + :param content_length: The length of the request. + :type content_length: long + :param body: Initial data + :type body: Generator + :param transactional_content_md5: Specify the transactional md5 for + the body, to be validated by the service. + :type transactional_content_md5: bytearray + :param transactional_content_crc64: Specify the transactional crc64 + for the body, to be validated by the service. + :type transactional_content_crc64: bytearray + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo + :param cpk_scope_info: Additional parameters for the operation + :type cpk_scope_info: ~azure.storage.blob.models.CpkScopeInfo + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm + encryption_scope = None + if cpk_scope_info is not None: + encryption_scope = cpk_scope_info.encryption_scope + + comp = "block" + + # Construct URL + url = self.stage_block.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['blockid'] = self._serialize.query("block_id", block_id, 'str') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/octet-stream' + header_parameters['Content-Length'] = self._serialize.header("content_length", content_length, 'long') + if transactional_content_md5 is not None: + header_parameters['Content-MD5'] = self._serialize.header("transactional_content_md5", transactional_content_md5, 'bytearray') + if transactional_content_crc64 is not None: + header_parameters['x-ms-content-crc64'] = self._serialize.header("transactional_content_crc64", transactional_content_crc64, 'bytearray') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') + if encryption_scope is not None: + header_parameters['x-ms-encryption-scope'] = self._serialize.header("encryption_scope", encryption_scope, 'str') + + # Construct body + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, stream_content=body) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-content-crc64': self._deserialize('bytearray', response.headers.get('x-ms-content-crc64')), + 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), + 'x-ms-encryption-scope': self._deserialize('str', response.headers.get('x-ms-encryption-scope')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + stage_block.metadata = {'url': '/{containerName}/{blob}'} + + def stage_block_from_url(self, block_id, content_length, source_url, source_range=None, source_content_md5=None, source_contentcrc64=None, timeout=None, request_id=None, cpk_info=None, cpk_scope_info=None, lease_access_conditions=None, source_modified_access_conditions=None, cls=None, **kwargs): + """The Stage Block operation creates a new block to be committed as part + of a blob where the contents are read from a URL. + + :param block_id: A valid Base64 string value that identifies the + block. Prior to encoding, the string must be less than or equal to 64 + bytes in size. For a given blob, the length of the value specified for + the blockid parameter must be the same size for each block. + :type block_id: str + :param content_length: The length of the request. + :type content_length: long + :param source_url: Specify a URL to the copy source. + :type source_url: str + :param source_range: Bytes of source data in the specified range. + :type source_range: str + :param source_content_md5: Specify the md5 calculated for the range of + bytes that must be read from the copy source. + :type source_content_md5: bytearray + :param source_contentcrc64: Specify the crc64 calculated for the range + of bytes that must be read from the copy source. + :type source_contentcrc64: bytearray + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo + :param cpk_scope_info: Additional parameters for the operation + :type cpk_scope_info: ~azure.storage.blob.models.CpkScopeInfo + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param source_modified_access_conditions: Additional parameters for + the operation + :type source_modified_access_conditions: + ~azure.storage.blob.models.SourceModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm + encryption_scope = None + if cpk_scope_info is not None: + encryption_scope = cpk_scope_info.encryption_scope + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + source_if_modified_since = None + if source_modified_access_conditions is not None: + source_if_modified_since = source_modified_access_conditions.source_if_modified_since + source_if_unmodified_since = None + if source_modified_access_conditions is not None: + source_if_unmodified_since = source_modified_access_conditions.source_if_unmodified_since + source_if_match = None + if source_modified_access_conditions is not None: + source_if_match = source_modified_access_conditions.source_if_match + source_if_none_match = None + if source_modified_access_conditions is not None: + source_if_none_match = source_modified_access_conditions.source_if_none_match + + comp = "block" + + # Construct URL + url = self.stage_block_from_url.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['blockid'] = self._serialize.query("block_id", block_id, 'str') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Length'] = self._serialize.header("content_length", content_length, 'long') + header_parameters['x-ms-copy-source'] = self._serialize.header("source_url", source_url, 'str') + if source_range is not None: + header_parameters['x-ms-source-range'] = self._serialize.header("source_range", source_range, 'str') + if source_content_md5 is not None: + header_parameters['x-ms-source-content-md5'] = self._serialize.header("source_content_md5", source_content_md5, 'bytearray') + if source_contentcrc64 is not None: + header_parameters['x-ms-source-content-crc64'] = self._serialize.header("source_contentcrc64", source_contentcrc64, 'bytearray') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') + if encryption_scope is not None: + header_parameters['x-ms-encryption-scope'] = self._serialize.header("encryption_scope", encryption_scope, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if source_if_modified_since is not None: + header_parameters['x-ms-source-if-modified-since'] = self._serialize.header("source_if_modified_since", source_if_modified_since, 'rfc-1123') + if source_if_unmodified_since is not None: + header_parameters['x-ms-source-if-unmodified-since'] = self._serialize.header("source_if_unmodified_since", source_if_unmodified_since, 'rfc-1123') + if source_if_match is not None: + header_parameters['x-ms-source-if-match'] = self._serialize.header("source_if_match", source_if_match, 'str') + if source_if_none_match is not None: + header_parameters['x-ms-source-if-none-match'] = self._serialize.header("source_if_none_match", source_if_none_match, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'x-ms-content-crc64': self._deserialize('bytearray', response.headers.get('x-ms-content-crc64')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), + 'x-ms-encryption-scope': self._deserialize('str', response.headers.get('x-ms-encryption-scope')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + stage_block_from_url.metadata = {'url': '/{containerName}/{blob}'} + + def commit_block_list(self, blocks, timeout=None, transactional_content_md5=None, transactional_content_crc64=None, metadata=None, tier=None, request_id=None, blob_tags_string=None, blob_http_headers=None, lease_access_conditions=None, cpk_info=None, cpk_scope_info=None, modified_access_conditions=None, cls=None, **kwargs): + """The Commit Block List operation writes a blob by specifying the list of + block IDs that make up the blob. In order to be written as part of a + blob, a block must have been successfully written to the server in a + prior Put Block operation. You can call Put Block List to update a blob + by uploading only those blocks that have changed, then committing the + new and existing blocks together. You can do this by specifying whether + to commit a block from the committed block list or from the uncommitted + block list, or to commit the most recently uploaded version of the + block, whichever list it may belong to. + + :param blocks: + :type blocks: ~azure.storage.blob.models.BlockLookupList + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param transactional_content_md5: Specify the transactional md5 for + the body, to be validated by the service. + :type transactional_content_md5: bytearray + :param transactional_content_crc64: Specify the transactional crc64 + for the body, to be validated by the service. + :type transactional_content_crc64: bytearray + :param metadata: Optional. Specifies a user-defined name-value pair + associated with the blob. If no name-value pairs are specified, the + operation will copy the metadata from the source blob or file to the + destination blob. If one or more name-value pairs are specified, the + destination blob is created with the specified metadata, and metadata + is not copied from the source blob or file. Note that beginning with + version 2009-09-19, metadata names must adhere to the naming rules for + C# identifiers. See Naming and Referencing Containers, Blobs, and + Metadata for more information. + :type metadata: str + :param tier: Optional. Indicates the tier to be set on the blob. + Possible values include: 'P4', 'P6', 'P10', 'P15', 'P20', 'P30', + 'P40', 'P50', 'P60', 'P70', 'P80', 'Hot', 'Cool', 'Archive' + :type tier: str or ~azure.storage.blob.models.AccessTierOptional + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param blob_tags_string: Optional. Used to set blob tags in various + blob operations. + :type blob_tags_string: str + :param blob_http_headers: Additional parameters for the operation + :type blob_http_headers: ~azure.storage.blob.models.BlobHTTPHeaders + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo + :param cpk_scope_info: Additional parameters for the operation + :type cpk_scope_info: ~azure.storage.blob.models.CpkScopeInfo + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + blob_cache_control = None + if blob_http_headers is not None: + blob_cache_control = blob_http_headers.blob_cache_control + blob_content_type = None + if blob_http_headers is not None: + blob_content_type = blob_http_headers.blob_content_type + blob_content_encoding = None + if blob_http_headers is not None: + blob_content_encoding = blob_http_headers.blob_content_encoding + blob_content_language = None + if blob_http_headers is not None: + blob_content_language = blob_http_headers.blob_content_language + blob_content_md5 = None + if blob_http_headers is not None: + blob_content_md5 = blob_http_headers.blob_content_md5 + blob_content_disposition = None + if blob_http_headers is not None: + blob_content_disposition = blob_http_headers.blob_content_disposition + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm + encryption_scope = None + if cpk_scope_info is not None: + encryption_scope = cpk_scope_info.encryption_scope + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + + comp = "blocklist" + + # Construct URL + url = self.commit_block_list.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/xml; charset=utf-8' + if transactional_content_md5 is not None: + header_parameters['Content-MD5'] = self._serialize.header("transactional_content_md5", transactional_content_md5, 'bytearray') + if transactional_content_crc64 is not None: + header_parameters['x-ms-content-crc64'] = self._serialize.header("transactional_content_crc64", transactional_content_crc64, 'bytearray') + if metadata is not None: + header_parameters['x-ms-meta'] = self._serialize.header("metadata", metadata, 'str') + if tier is not None: + header_parameters['x-ms-access-tier'] = self._serialize.header("tier", tier, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if blob_tags_string is not None: + header_parameters['x-ms-tags'] = self._serialize.header("blob_tags_string", blob_tags_string, 'str') + if blob_cache_control is not None: + header_parameters['x-ms-blob-cache-control'] = self._serialize.header("blob_cache_control", blob_cache_control, 'str') + if blob_content_type is not None: + header_parameters['x-ms-blob-content-type'] = self._serialize.header("blob_content_type", blob_content_type, 'str') + if blob_content_encoding is not None: + header_parameters['x-ms-blob-content-encoding'] = self._serialize.header("blob_content_encoding", blob_content_encoding, 'str') + if blob_content_language is not None: + header_parameters['x-ms-blob-content-language'] = self._serialize.header("blob_content_language", blob_content_language, 'str') + if blob_content_md5 is not None: + header_parameters['x-ms-blob-content-md5'] = self._serialize.header("blob_content_md5", blob_content_md5, 'bytearray') + if blob_content_disposition is not None: + header_parameters['x-ms-blob-content-disposition'] = self._serialize.header("blob_content_disposition", blob_content_disposition, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') + if encryption_scope is not None: + header_parameters['x-ms-encryption-scope'] = self._serialize.header("encryption_scope", encryption_scope, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + + # Construct body + body_content = self._serialize.body(blocks, 'BlockLookupList') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'x-ms-content-crc64': self._deserialize('bytearray', response.headers.get('x-ms-content-crc64')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-version-id': self._deserialize('str', response.headers.get('x-ms-version-id')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), + 'x-ms-encryption-scope': self._deserialize('str', response.headers.get('x-ms-encryption-scope')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + commit_block_list.metadata = {'url': '/{containerName}/{blob}'} + + def get_block_list(self, list_type="committed", snapshot=None, timeout=None, request_id=None, lease_access_conditions=None, modified_access_conditions=None, cls=None, **kwargs): + """The Get Block List operation retrieves the list of blocks that have + been uploaded as part of a block blob. + + :param list_type: Specifies whether to return the list of committed + blocks, the list of uncommitted blocks, or both lists together. + Possible values include: 'committed', 'uncommitted', 'all' + :type list_type: str or ~azure.storage.blob.models.BlockListType + :param snapshot: The snapshot parameter is an opaque DateTime value + that, when present, specifies the blob snapshot to retrieve. For more + information on working with blob snapshots, see Creating + a Snapshot of a Blob. + :type snapshot: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: BlockList or the result of cls(response) + :rtype: ~azure.storage.blob.models.BlockList + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + + comp = "blocklist" + + # Construct URL + url = self.get_block_list.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if snapshot is not None: + query_parameters['snapshot'] = self._serialize.query("snapshot", snapshot, 'str') + query_parameters['blocklisttype'] = self._serialize.query("list_type", list_type, 'BlockListType') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/xml' + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('BlockList', response) + header_dict = { + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Content-Type': self._deserialize('str', response.headers.get('Content-Type')), + 'x-ms-blob-content-length': self._deserialize('long', response.headers.get('x-ms-blob-content-length')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + + if cls: + return cls(response, deserialized, header_dict) + + return deserialized + get_block_list.metadata = {'url': '/{containerName}/{blob}'} diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/operations/_container_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/operations/_container_operations.py new file mode 100644 index 00000000000..5730483519a --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/operations/_container_operations.py @@ -0,0 +1,1400 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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.core.exceptions import map_error + +from .. import models + + +class ContainerOperations(object): + """ContainerOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + + self._config = config + + def create(self, timeout=None, metadata=None, access=None, request_id=None, container_cpk_scope_info=None, cls=None, **kwargs): + """creates a new container under the specified account. If the container + with the same name already exists, the operation fails. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param metadata: Optional. Specifies a user-defined name-value pair + associated with the blob. If no name-value pairs are specified, the + operation will copy the metadata from the source blob or file to the + destination blob. If one or more name-value pairs are specified, the + destination blob is created with the specified metadata, and metadata + is not copied from the source blob or file. Note that beginning with + version 2009-09-19, metadata names must adhere to the naming rules for + C# identifiers. See Naming and Referencing Containers, Blobs, and + Metadata for more information. + :type metadata: str + :param access: Specifies whether data in the container may be accessed + publicly and the level of access. Possible values include: + 'container', 'blob' + :type access: str or ~azure.storage.blob.models.PublicAccessType + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param container_cpk_scope_info: Additional parameters for the + operation + :type container_cpk_scope_info: + ~azure.storage.blob.models.ContainerCpkScopeInfo + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + default_encryption_scope = None + if container_cpk_scope_info is not None: + default_encryption_scope = container_cpk_scope_info.default_encryption_scope + prevent_encryption_scope_override = None + if container_cpk_scope_info is not None: + prevent_encryption_scope_override = container_cpk_scope_info.prevent_encryption_scope_override + + restype = "container" + + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['restype'] = self._serialize.query("restype", restype, 'str') + + # Construct headers + header_parameters = {} + if metadata is not None: + header_parameters['x-ms-meta'] = self._serialize.header("metadata", metadata, 'str') + if access is not None: + header_parameters['x-ms-blob-public-access'] = self._serialize.header("access", access, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if default_encryption_scope is not None: + header_parameters['x-ms-default-encryption-scope'] = self._serialize.header("default_encryption_scope", default_encryption_scope, 'str') + if prevent_encryption_scope_override is not None: + header_parameters['x-ms-deny-encryption-scope-override'] = self._serialize.header("prevent_encryption_scope_override", prevent_encryption_scope_override, 'bool') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + create.metadata = {'url': '/{containerName}'} + + def get_properties(self, timeout=None, request_id=None, lease_access_conditions=None, cls=None, **kwargs): + """returns all user-defined metadata and system properties for the + specified container. The data returned does not include the container's + list of blobs. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + + restype = "container" + + # Construct URL + url = self.get_properties.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['restype'] = self._serialize.query("restype", restype, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'x-ms-meta': self._deserialize('{str}', response.headers.get('x-ms-meta')), + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-lease-duration': self._deserialize(models.LeaseDurationType, response.headers.get('x-ms-lease-duration')), + 'x-ms-lease-state': self._deserialize(models.LeaseStateType, response.headers.get('x-ms-lease-state')), + 'x-ms-lease-status': self._deserialize(models.LeaseStatusType, response.headers.get('x-ms-lease-status')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-blob-public-access': self._deserialize('str', response.headers.get('x-ms-blob-public-access')), + 'x-ms-has-immutability-policy': self._deserialize('bool', response.headers.get('x-ms-has-immutability-policy')), + 'x-ms-has-legal-hold': self._deserialize('bool', response.headers.get('x-ms-has-legal-hold')), + 'x-ms-default-encryption-scope': self._deserialize('str', response.headers.get('x-ms-default-encryption-scope')), + 'x-ms-deny-encryption-scope-override': self._deserialize('bool', response.headers.get('x-ms-deny-encryption-scope-override')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + get_properties.metadata = {'url': '/{containerName}'} + + def delete(self, timeout=None, request_id=None, lease_access_conditions=None, modified_access_conditions=None, cls=None, **kwargs): + """operation marks the specified container for deletion. The container and + any blobs contained within it are later deleted during garbage + collection. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + + restype = "container" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['restype'] = self._serialize.query("restype", restype, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + delete.metadata = {'url': '/{containerName}'} + + def set_metadata(self, timeout=None, metadata=None, request_id=None, lease_access_conditions=None, modified_access_conditions=None, cls=None, **kwargs): + """operation sets one or more user-defined name-value pairs for the + specified container. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param metadata: Optional. Specifies a user-defined name-value pair + associated with the blob. If no name-value pairs are specified, the + operation will copy the metadata from the source blob or file to the + destination blob. If one or more name-value pairs are specified, the + destination blob is created with the specified metadata, and metadata + is not copied from the source blob or file. Note that beginning with + version 2009-09-19, metadata names must adhere to the naming rules for + C# identifiers. See Naming and Referencing Containers, Blobs, and + Metadata for more information. + :type metadata: str + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + + restype = "container" + comp = "metadata" + + # Construct URL + url = self.set_metadata.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['restype'] = self._serialize.query("restype", restype, 'str') + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + if metadata is not None: + header_parameters['x-ms-meta'] = self._serialize.header("metadata", metadata, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + set_metadata.metadata = {'url': '/{containerName}'} + + def get_access_policy(self, timeout=None, request_id=None, lease_access_conditions=None, cls=None, **kwargs): + """gets the permissions for the specified container. The permissions + indicate whether container data may be accessed publicly. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: list or the result of cls(response) + :rtype: list[~azure.storage.blob.models.SignedIdentifier] + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + + restype = "container" + comp = "acl" + + # Construct URL + url = self.get_access_policy.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['restype'] = self._serialize.query("restype", restype, 'str') + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/xml' + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('[SignedIdentifier]', response) + header_dict = { + 'x-ms-blob-public-access': self._deserialize('str', response.headers.get('x-ms-blob-public-access')), + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + + if cls: + return cls(response, deserialized, header_dict) + + return deserialized + get_access_policy.metadata = {'url': '/{containerName}'} + + def set_access_policy(self, container_acl=None, timeout=None, access=None, request_id=None, lease_access_conditions=None, modified_access_conditions=None, cls=None, **kwargs): + """sets the permissions for the specified container. The permissions + indicate whether blobs in a container may be accessed publicly. + + :param container_acl: the acls for the container + :type container_acl: list[~azure.storage.blob.models.SignedIdentifier] + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param access: Specifies whether data in the container may be accessed + publicly and the level of access. Possible values include: + 'container', 'blob' + :type access: str or ~azure.storage.blob.models.PublicAccessType + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + + restype = "container" + comp = "acl" + + # Construct URL + url = self.set_access_policy.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['restype'] = self._serialize.query("restype", restype, 'str') + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/xml; charset=utf-8' + if access is not None: + header_parameters['x-ms-blob-public-access'] = self._serialize.header("access", access, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + + # Construct body + serialization_ctxt = {'xml': {'name': 'SignedIdentifiers', 'itemsName': 'SignedIdentifiers', 'wrapped': True}} + if container_acl is not None: + body_content = self._serialize.body(container_acl, '[SignedIdentifier]', serialization_ctxt=serialization_ctxt) + else: + body_content = None + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + set_access_policy.metadata = {'url': '/{containerName}'} + + def restore(self, timeout=None, request_id=None, deleted_container_name=None, deleted_container_version=None, cls=None, **kwargs): + """Restores a previously-deleted container. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param deleted_container_name: Optional. Version 2019-12-12 and + laster. Specifies the name of the deleted container to restore. + :type deleted_container_name: str + :param deleted_container_version: Optional. Version 2019-12-12 and + laster. Specifies the version of the deleted container to restore. + :type deleted_container_version: str + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + restype = "container" + comp = "undelete" + + # Construct URL + url = self.restore.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['restype'] = self._serialize.query("restype", restype, 'str') + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if deleted_container_name is not None: + header_parameters['x-ms-deleted-container-name'] = self._serialize.header("deleted_container_name", deleted_container_name, 'str') + if deleted_container_version is not None: + header_parameters['x-ms-deleted-container-version'] = self._serialize.header("deleted_container_version", deleted_container_version, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + restore.metadata = {'url': '/{containerName}'} + + def acquire_lease(self, timeout=None, duration=None, proposed_lease_id=None, request_id=None, modified_access_conditions=None, cls=None, **kwargs): + """[Update] establishes and manages a lock on a container for delete + operations. The lock duration can be 15 to 60 seconds, or can be + infinite. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param duration: Specifies the duration of the lease, in seconds, or + negative one (-1) for a lease that never expires. A non-infinite lease + can be between 15 and 60 seconds. A lease duration cannot be changed + using renew or change. + :type duration: int + :param proposed_lease_id: Proposed lease ID, in a GUID string format. + The Blob service returns 400 (Invalid request) if the proposed lease + ID is not in the correct format. See Guid Constructor (String) for a + list of valid GUID string formats. + :type proposed_lease_id: str + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + + comp = "lease" + restype = "container" + action = "acquire" + + # Construct URL + url = self.acquire_lease.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + query_parameters['restype'] = self._serialize.query("restype", restype, 'str') + + # Construct headers + header_parameters = {} + if duration is not None: + header_parameters['x-ms-lease-duration'] = self._serialize.header("duration", duration, 'int') + if proposed_lease_id is not None: + header_parameters['x-ms-proposed-lease-id'] = self._serialize.header("proposed_lease_id", proposed_lease_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-lease-action'] = self._serialize.header("action", action, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-lease-id': self._deserialize('str', response.headers.get('x-ms-lease-id')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + acquire_lease.metadata = {'url': '/{containerName}'} + + def release_lease(self, lease_id, timeout=None, request_id=None, modified_access_conditions=None, cls=None, **kwargs): + """[Update] establishes and manages a lock on a container for delete + operations. The lock duration can be 15 to 60 seconds, or can be + infinite. + + :param lease_id: Specifies the current lease ID on the resource. + :type lease_id: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + + comp = "lease" + restype = "container" + action = "release" + + # Construct URL + url = self.release_lease.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + query_parameters['restype'] = self._serialize.query("restype", restype, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-lease-action'] = self._serialize.header("action", action, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + release_lease.metadata = {'url': '/{containerName}'} + + def renew_lease(self, lease_id, timeout=None, request_id=None, modified_access_conditions=None, cls=None, **kwargs): + """[Update] establishes and manages a lock on a container for delete + operations. The lock duration can be 15 to 60 seconds, or can be + infinite. + + :param lease_id: Specifies the current lease ID on the resource. + :type lease_id: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + + comp = "lease" + restype = "container" + action = "renew" + + # Construct URL + url = self.renew_lease.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + query_parameters['restype'] = self._serialize.query("restype", restype, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-lease-action'] = self._serialize.header("action", action, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-lease-id': self._deserialize('str', response.headers.get('x-ms-lease-id')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + renew_lease.metadata = {'url': '/{containerName}'} + + def break_lease(self, timeout=None, break_period=None, request_id=None, modified_access_conditions=None, cls=None, **kwargs): + """[Update] establishes and manages a lock on a container for delete + operations. The lock duration can be 15 to 60 seconds, or can be + infinite. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param break_period: For a break operation, proposed duration the + lease should continue before it is broken, in seconds, between 0 and + 60. This break period is only used if it is shorter than the time + remaining on the lease. If longer, the time remaining on the lease is + used. A new lease will not be available before the break period has + expired, but the lease may be held for longer than the break period. + If this header does not appear with a break operation, a + fixed-duration lease breaks after the remaining lease period elapses, + and an infinite lease breaks immediately. + :type break_period: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + + comp = "lease" + restype = "container" + action = "break" + + # Construct URL + url = self.break_lease.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + query_parameters['restype'] = self._serialize.query("restype", restype, 'str') + + # Construct headers + header_parameters = {} + if break_period is not None: + header_parameters['x-ms-lease-break-period'] = self._serialize.header("break_period", break_period, 'int') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-lease-action'] = self._serialize.header("action", action, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-lease-time': self._deserialize('int', response.headers.get('x-ms-lease-time')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + break_lease.metadata = {'url': '/{containerName}'} + + def change_lease(self, lease_id, proposed_lease_id, timeout=None, request_id=None, modified_access_conditions=None, cls=None, **kwargs): + """[Update] establishes and manages a lock on a container for delete + operations. The lock duration can be 15 to 60 seconds, or can be + infinite. + + :param lease_id: Specifies the current lease ID on the resource. + :type lease_id: str + :param proposed_lease_id: Proposed lease ID, in a GUID string format. + The Blob service returns 400 (Invalid request) if the proposed lease + ID is not in the correct format. See Guid Constructor (String) for a + list of valid GUID string formats. + :type proposed_lease_id: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + + comp = "lease" + restype = "container" + action = "change" + + # Construct URL + url = self.change_lease.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + query_parameters['restype'] = self._serialize.query("restype", restype, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + header_parameters['x-ms-proposed-lease-id'] = self._serialize.header("proposed_lease_id", proposed_lease_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-lease-action'] = self._serialize.header("action", action, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-lease-id': self._deserialize('str', response.headers.get('x-ms-lease-id')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + change_lease.metadata = {'url': '/{containerName}'} + + def list_blob_flat_segment(self, prefix=None, marker=None, maxresults=None, include=None, timeout=None, request_id=None, cls=None, **kwargs): + """[Update] The List Blobs operation returns a list of the blobs under the + specified container. + + :param prefix: Filters the results to return only containers whose + name begins with the specified prefix. + :type prefix: str + :param marker: A string value that identifies the portion of the list + of containers to be returned with the next listing operation. The + operation returns the NextMarker value within the response body if the + listing operation did not return all containers remaining to be listed + with the current page. The NextMarker value can be used as the value + for the marker parameter in a subsequent call to request the next page + of list items. The marker value is opaque to the client. + :type marker: str + :param maxresults: Specifies the maximum number of containers to + return. If the request does not specify maxresults, or specifies a + value greater than 5000, the server will return up to 5000 items. Note + that if the listing operation crosses a partition boundary, then the + service will return a continuation token for retrieving the remainder + of the results. For this reason, it is possible that the service will + return fewer results than specified by maxresults, or than the default + of 5000. + :type maxresults: int + :param include: Include this parameter to specify one or more datasets + to include in the response. + :type include: list[str or + ~azure.storage.blob.models.ListBlobsIncludeItem] + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param callable cls: A custom type or function that will be passed the + direct response + :return: ListBlobsFlatSegmentResponse or the result of cls(response) + :rtype: ~azure.storage.blob.models.ListBlobsFlatSegmentResponse + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + restype = "container" + comp = "list" + + # Construct URL + url = self.list_blob_flat_segment.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if prefix is not None: + query_parameters['prefix'] = self._serialize.query("prefix", prefix, 'str') + if marker is not None: + query_parameters['marker'] = self._serialize.query("marker", marker, 'str') + if maxresults is not None: + query_parameters['maxresults'] = self._serialize.query("maxresults", maxresults, 'int', minimum=1) + if include is not None: + query_parameters['include'] = self._serialize.query("include", include, '[ListBlobsIncludeItem]', div=',') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['restype'] = self._serialize.query("restype", restype, 'str') + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/xml' + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ListBlobsFlatSegmentResponse', response) + header_dict = { + 'Content-Type': self._deserialize('str', response.headers.get('Content-Type')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + + if cls: + return cls(response, deserialized, header_dict) + + return deserialized + list_blob_flat_segment.metadata = {'url': '/{containerName}'} + + def list_blob_hierarchy_segment(self, delimiter, prefix=None, marker=None, maxresults=None, include=None, timeout=None, request_id=None, cls=None, **kwargs): + """[Update] The List Blobs operation returns a list of the blobs under the + specified container. + + :param delimiter: When the request includes this parameter, the + operation returns a BlobPrefix element in the response body that acts + as a placeholder for all blobs whose names begin with the same + substring up to the appearance of the delimiter character. The + delimiter may be a single character or a string. + :type delimiter: str + :param prefix: Filters the results to return only containers whose + name begins with the specified prefix. + :type prefix: str + :param marker: A string value that identifies the portion of the list + of containers to be returned with the next listing operation. The + operation returns the NextMarker value within the response body if the + listing operation did not return all containers remaining to be listed + with the current page. The NextMarker value can be used as the value + for the marker parameter in a subsequent call to request the next page + of list items. The marker value is opaque to the client. + :type marker: str + :param maxresults: Specifies the maximum number of containers to + return. If the request does not specify maxresults, or specifies a + value greater than 5000, the server will return up to 5000 items. Note + that if the listing operation crosses a partition boundary, then the + service will return a continuation token for retrieving the remainder + of the results. For this reason, it is possible that the service will + return fewer results than specified by maxresults, or than the default + of 5000. + :type maxresults: int + :param include: Include this parameter to specify one or more datasets + to include in the response. + :type include: list[str or + ~azure.storage.blob.models.ListBlobsIncludeItem] + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param callable cls: A custom type or function that will be passed the + direct response + :return: ListBlobsHierarchySegmentResponse or the result of + cls(response) + :rtype: ~azure.storage.blob.models.ListBlobsHierarchySegmentResponse + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + restype = "container" + comp = "list" + + # Construct URL + url = self.list_blob_hierarchy_segment.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if prefix is not None: + query_parameters['prefix'] = self._serialize.query("prefix", prefix, 'str') + query_parameters['delimiter'] = self._serialize.query("delimiter", delimiter, 'str') + if marker is not None: + query_parameters['marker'] = self._serialize.query("marker", marker, 'str') + if maxresults is not None: + query_parameters['maxresults'] = self._serialize.query("maxresults", maxresults, 'int', minimum=1) + if include is not None: + query_parameters['include'] = self._serialize.query("include", include, '[ListBlobsIncludeItem]', div=',') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['restype'] = self._serialize.query("restype", restype, 'str') + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/xml' + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ListBlobsHierarchySegmentResponse', response) + header_dict = { + 'Content-Type': self._deserialize('str', response.headers.get('Content-Type')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + + if cls: + return cls(response, deserialized, header_dict) + + return deserialized + list_blob_hierarchy_segment.metadata = {'url': '/{containerName}'} + + def get_account_info(self, cls=None, **kwargs): + """Returns the sku name and account kind . + + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + restype = "account" + comp = "properties" + + # Construct URL + url = self.get_account_info.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['restype'] = self._serialize.query("restype", restype, 'str') + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-sku-name': self._deserialize(models.SkuName, response.headers.get('x-ms-sku-name')), + 'x-ms-account-kind': self._deserialize(models.AccountKind, response.headers.get('x-ms-account-kind')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + get_account_info.metadata = {'url': '/{containerName}'} diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/operations/_directory_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/operations/_directory_operations.py new file mode 100644 index 00000000000..c2bf3178b97 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/operations/_directory_operations.py @@ -0,0 +1,739 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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.core.exceptions import map_error + +from .. import models + + +class DirectoryOperations(object): + """DirectoryOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :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 resource: . Constant value: "directory". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + + self._config = config + self.resource = "directory" + + def create(self, timeout=None, directory_properties=None, posix_permissions=None, posix_umask=None, request_id=None, directory_http_headers=None, lease_access_conditions=None, modified_access_conditions=None, cls=None, **kwargs): + """Create a directory. By default, the destination is overwritten and if + the destination already exists and has a lease the lease is broken. + This operation supports conditional HTTP requests. For more + information, see [Specifying Conditional Headers for Blob Service + Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations). + To fail if the destination already exists, use a conditional request + with If-None-Match: "*". + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param directory_properties: Optional. User-defined properties to be + stored with the file or directory, in the format of a comma-separated + list of name and value pairs "n1=v1, n2=v2, ...", where each value is + base64 encoded. + :type directory_properties: str + :param posix_permissions: Optional and only valid if Hierarchical + Namespace is enabled for the account. Sets POSIX access permissions + for the file owner, the file owning group, and others. Each class may + be granted read, write, or execute permission. The sticky bit is also + supported. Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. + 0766) are supported. + :type posix_permissions: str + :param posix_umask: Only valid if Hierarchical Namespace is enabled + for the account. This umask restricts permission settings for file and + directory, and will only be applied when default Acl does not exist in + parent directory. If the umask bit has set, it means that the + corresponding permission will be disabled. Otherwise the corresponding + permission will be determined by the permission. A 4-digit octal + notation (e.g. 0022) is supported here. If no umask was specified, a + default umask - 0027 will be used. + :type posix_umask: str + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param directory_http_headers: Additional parameters for the operation + :type directory_http_headers: + ~azure.storage.blob.models.DirectoryHttpHeaders + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`DataLakeStorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + cache_control = None + if directory_http_headers is not None: + cache_control = directory_http_headers.cache_control + content_type = None + if directory_http_headers is not None: + content_type = directory_http_headers.content_type + content_encoding = None + if directory_http_headers is not None: + content_encoding = directory_http_headers.content_encoding + content_language = None + if directory_http_headers is not None: + content_language = directory_http_headers.content_language + content_disposition = None + if directory_http_headers is not None: + content_disposition = directory_http_headers.content_disposition + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['resource'] = self._serialize.query("self.resource", self.resource, 'str') + + # Construct headers + header_parameters = {} + if directory_properties is not None: + header_parameters['x-ms-properties'] = self._serialize.header("directory_properties", directory_properties, 'str') + if posix_permissions is not None: + header_parameters['x-ms-permissions'] = self._serialize.header("posix_permissions", posix_permissions, 'str') + if posix_umask is not None: + header_parameters['x-ms-umask'] = self._serialize.header("posix_umask", posix_umask, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if cache_control is not None: + header_parameters['x-ms-cache-control'] = self._serialize.header("cache_control", cache_control, 'str') + if content_type is not None: + header_parameters['x-ms-content-type'] = self._serialize.header("content_type", content_type, 'str') + if content_encoding is not None: + header_parameters['x-ms-content-encoding'] = self._serialize.header("content_encoding", content_encoding, 'str') + if content_language is not None: + header_parameters['x-ms-content-language'] = self._serialize.header("content_language", content_language, 'str') + if content_disposition is not None: + header_parameters['x-ms-content-disposition'] = self._serialize.header("content_disposition", content_disposition, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.DataLakeStorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Content-Length': self._deserialize('long', response.headers.get('Content-Length')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + } + return cls(response, None, response_headers) + create.metadata = {'url': '/{filesystem}/{path}'} + + def rename(self, rename_source, timeout=None, marker=None, path_rename_mode=None, directory_properties=None, posix_permissions=None, posix_umask=None, source_lease_id=None, request_id=None, directory_http_headers=None, lease_access_conditions=None, modified_access_conditions=None, source_modified_access_conditions=None, cls=None, **kwargs): + """Rename a directory. By default, the destination is overwritten and if + the destination already exists and has a lease the lease is broken. + This operation supports conditional HTTP requests. For more + information, see [Specifying Conditional Headers for Blob Service + Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations). + To fail if the destination already exists, use a conditional request + with If-None-Match: "*". + + :param rename_source: The file or directory to be renamed. The value + must have the following format: "/{filesysystem}/{path}". If + "x-ms-properties" is specified, the properties will overwrite the + existing properties; otherwise, the existing properties will be + preserved. + :type rename_source: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param marker: When renaming a directory, the number of paths that are + renamed with each invocation is limited. If the number of paths to be + renamed exceeds this limit, a continuation token is returned in this + response header. When a continuation token is returned in the + response, it must be specified in a subsequent invocation of the + rename operation to continue renaming the directory. + :type marker: str + :param path_rename_mode: Determines the behavior of the rename + operation. Possible values include: 'legacy', 'posix' + :type path_rename_mode: str or + ~azure.storage.blob.models.PathRenameMode + :param directory_properties: Optional. User-defined properties to be + stored with the file or directory, in the format of a comma-separated + list of name and value pairs "n1=v1, n2=v2, ...", where each value is + base64 encoded. + :type directory_properties: str + :param posix_permissions: Optional and only valid if Hierarchical + Namespace is enabled for the account. Sets POSIX access permissions + for the file owner, the file owning group, and others. Each class may + be granted read, write, or execute permission. The sticky bit is also + supported. Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. + 0766) are supported. + :type posix_permissions: str + :param posix_umask: Only valid if Hierarchical Namespace is enabled + for the account. This umask restricts permission settings for file and + directory, and will only be applied when default Acl does not exist in + parent directory. If the umask bit has set, it means that the + corresponding permission will be disabled. Otherwise the corresponding + permission will be determined by the permission. A 4-digit octal + notation (e.g. 0022) is supported here. If no umask was specified, a + default umask - 0027 will be used. + :type posix_umask: str + :param source_lease_id: A lease ID for the source path. If specified, + the source path must have an active lease and the lease ID must match. + :type source_lease_id: str + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param directory_http_headers: Additional parameters for the operation + :type directory_http_headers: + ~azure.storage.blob.models.DirectoryHttpHeaders + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param source_modified_access_conditions: Additional parameters for + the operation + :type source_modified_access_conditions: + ~azure.storage.blob.models.SourceModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`DataLakeStorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + cache_control = None + if directory_http_headers is not None: + cache_control = directory_http_headers.cache_control + content_type = None + if directory_http_headers is not None: + content_type = directory_http_headers.content_type + content_encoding = None + if directory_http_headers is not None: + content_encoding = directory_http_headers.content_encoding + content_language = None + if directory_http_headers is not None: + content_language = directory_http_headers.content_language + content_disposition = None + if directory_http_headers is not None: + content_disposition = directory_http_headers.content_disposition + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + source_if_modified_since = None + if source_modified_access_conditions is not None: + source_if_modified_since = source_modified_access_conditions.source_if_modified_since + source_if_unmodified_since = None + if source_modified_access_conditions is not None: + source_if_unmodified_since = source_modified_access_conditions.source_if_unmodified_since + source_if_match = None + if source_modified_access_conditions is not None: + source_if_match = source_modified_access_conditions.source_if_match + source_if_none_match = None + if source_modified_access_conditions is not None: + source_if_none_match = source_modified_access_conditions.source_if_none_match + + # Construct URL + url = self.rename.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + if marker is not None: + query_parameters['continuation'] = self._serialize.query("marker", marker, 'str') + if path_rename_mode is not None: + query_parameters['mode'] = self._serialize.query("path_rename_mode", path_rename_mode, 'PathRenameMode') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-rename-source'] = self._serialize.header("rename_source", rename_source, 'str') + if directory_properties is not None: + header_parameters['x-ms-properties'] = self._serialize.header("directory_properties", directory_properties, 'str') + if posix_permissions is not None: + header_parameters['x-ms-permissions'] = self._serialize.header("posix_permissions", posix_permissions, 'str') + if posix_umask is not None: + header_parameters['x-ms-umask'] = self._serialize.header("posix_umask", posix_umask, 'str') + if source_lease_id is not None: + header_parameters['x-ms-source-lease-id'] = self._serialize.header("source_lease_id", source_lease_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if cache_control is not None: + header_parameters['x-ms-cache-control'] = self._serialize.header("cache_control", cache_control, 'str') + if content_type is not None: + header_parameters['x-ms-content-type'] = self._serialize.header("content_type", content_type, 'str') + if content_encoding is not None: + header_parameters['x-ms-content-encoding'] = self._serialize.header("content_encoding", content_encoding, 'str') + if content_language is not None: + header_parameters['x-ms-content-language'] = self._serialize.header("content_language", content_language, 'str') + if content_disposition is not None: + header_parameters['x-ms-content-disposition'] = self._serialize.header("content_disposition", content_disposition, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if source_if_modified_since is not None: + header_parameters['x-ms-source-if-modified-since'] = self._serialize.header("source_if_modified_since", source_if_modified_since, 'rfc-1123') + if source_if_unmodified_since is not None: + header_parameters['x-ms-source-if-unmodified-since'] = self._serialize.header("source_if_unmodified_since", source_if_unmodified_since, 'rfc-1123') + if source_if_match is not None: + header_parameters['x-ms-source-if-match'] = self._serialize.header("source_if_match", source_if_match, 'str') + if source_if_none_match is not None: + header_parameters['x-ms-source-if-none-match'] = self._serialize.header("source_if_none_match", source_if_none_match, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.DataLakeStorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'x-ms-continuation': self._deserialize('str', response.headers.get('x-ms-continuation')), + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Content-Length': self._deserialize('long', response.headers.get('Content-Length')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + } + return cls(response, None, response_headers) + rename.metadata = {'url': '/{filesystem}/{path}'} + + def delete(self, recursive_directory_delete, timeout=None, marker=None, request_id=None, lease_access_conditions=None, modified_access_conditions=None, cls=None, **kwargs): + """Deletes the directory. + + :param recursive_directory_delete: If "true", all paths beneath the + directory will be deleted. If "false" and the directory is non-empty, + an error occurs. + :type recursive_directory_delete: bool + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param marker: When renaming a directory, the number of paths that are + renamed with each invocation is limited. If the number of paths to be + renamed exceeds this limit, a continuation token is returned in this + response header. When a continuation token is returned in the + response, it must be specified in a subsequent invocation of the + rename operation to continue renaming the directory. + :type marker: str + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`DataLakeStorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['recursive'] = self._serialize.query("recursive_directory_delete", recursive_directory_delete, 'bool') + if marker is not None: + query_parameters['continuation'] = self._serialize.query("marker", marker, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + + # Construct and send request + request = self._client.delete(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.DataLakeStorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'x-ms-continuation': self._deserialize('str', response.headers.get('x-ms-continuation')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + } + return cls(response, None, response_headers) + delete.metadata = {'url': '/{filesystem}/{path}'} + + def set_access_control(self, timeout=None, owner=None, group=None, posix_permissions=None, posix_acl=None, request_id=None, lease_access_conditions=None, modified_access_conditions=None, cls=None, **kwargs): + """Set the owner, group, permissions, or access control list for a + directory. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param owner: Optional. The owner of the blob or directory. + :type owner: str + :param group: Optional. The owning group of the blob or directory. + :type group: str + :param posix_permissions: Optional and only valid if Hierarchical + Namespace is enabled for the account. Sets POSIX access permissions + for the file owner, the file owning group, and others. Each class may + be granted read, write, or execute permission. The sticky bit is also + supported. Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. + 0766) are supported. + :type posix_permissions: str + :param posix_acl: Sets POSIX access control rights on files and + directories. The value is a comma-separated list of access control + entries. Each access control entry (ACE) consists of a scope, a type, + a user or group identifier, and permissions in the format + "[scope:][type]:[id]:[permissions]". + :type posix_acl: str + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`DataLakeStorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + + action = "setAccessControl" + + # Construct URL + url = self.set_access_control.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['action'] = self._serialize.query("action", action, 'str') + + # Construct headers + header_parameters = {} + if owner is not None: + header_parameters['x-ms-owner'] = self._serialize.header("owner", owner, 'str') + if group is not None: + header_parameters['x-ms-group'] = self._serialize.header("group", group, 'str') + if posix_permissions is not None: + header_parameters['x-ms-permissions'] = self._serialize.header("posix_permissions", posix_permissions, 'str') + if posix_acl is not None: + header_parameters['x-ms-acl'] = self._serialize.header("posix_acl", posix_acl, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.DataLakeStorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + } + return cls(response, None, response_headers) + set_access_control.metadata = {'url': '/{filesystem}/{path}'} + + def get_access_control(self, timeout=None, upn=None, request_id=None, lease_access_conditions=None, modified_access_conditions=None, cls=None, **kwargs): + """Get the owner, group, permissions, or access control list for a + directory. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param upn: Optional. Valid only when Hierarchical Namespace is + enabled for the account. If "true", the identity values returned in + the x-ms-owner, x-ms-group, and x-ms-acl response headers will be + transformed from Azure Active Directory Object IDs to User Principal + Names. If "false", the values will be returned as Azure Active + Directory Object IDs. The default value is false. + :type upn: bool + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`DataLakeStorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + + action = "getAccessControl" + + # Construct URL + url = self.get_access_control.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + if upn is not None: + query_parameters['upn'] = self._serialize.query("upn", upn, 'bool') + query_parameters['action'] = self._serialize.query("action", action, 'str') + + # Construct headers + header_parameters = {} + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + + # Construct and send request + request = self._client.head(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.DataLakeStorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-owner': self._deserialize('str', response.headers.get('x-ms-owner')), + 'x-ms-group': self._deserialize('str', response.headers.get('x-ms-group')), + 'x-ms-permissions': self._deserialize('str', response.headers.get('x-ms-permissions')), + 'x-ms-acl': self._deserialize('str', response.headers.get('x-ms-acl')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + } + return cls(response, None, response_headers) + get_access_control.metadata = {'url': '/{filesystem}/{path}'} diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/operations/_page_blob_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/operations/_page_blob_operations.py new file mode 100644 index 00000000000..fedc96c2151 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/operations/_page_blob_operations.py @@ -0,0 +1,1399 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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.core.exceptions import map_error + +from .. import models + + +class PageBlobOperations(object): + """PageBlobOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :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 x_ms_blob_type: Specifies the type of blob to create: block blob, page blob, or append blob. Constant value: "PageBlob". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + + self._config = config + self.x_ms_blob_type = "PageBlob" + + def create(self, content_length, blob_content_length, timeout=None, tier=None, metadata=None, blob_sequence_number=0, request_id=None, blob_tags_string=None, blob_http_headers=None, lease_access_conditions=None, cpk_info=None, cpk_scope_info=None, modified_access_conditions=None, cls=None, **kwargs): + """The Create operation creates a new page blob. + + :param content_length: The length of the request. + :type content_length: long + :param blob_content_length: This header specifies the maximum size for + the page blob, up to 1 TB. The page blob size must be aligned to a + 512-byte boundary. + :type blob_content_length: long + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param tier: Optional. Indicates the tier to be set on the page blob. + Possible values include: 'P4', 'P6', 'P10', 'P15', 'P20', 'P30', + 'P40', 'P50', 'P60', 'P70', 'P80' + :type tier: str or + ~azure.storage.blob.models.PremiumPageBlobAccessTier + :param metadata: Optional. Specifies a user-defined name-value pair + associated with the blob. If no name-value pairs are specified, the + operation will copy the metadata from the source blob or file to the + destination blob. If one or more name-value pairs are specified, the + destination blob is created with the specified metadata, and metadata + is not copied from the source blob or file. Note that beginning with + version 2009-09-19, metadata names must adhere to the naming rules for + C# identifiers. See Naming and Referencing Containers, Blobs, and + Metadata for more information. + :type metadata: str + :param blob_sequence_number: Set for page blobs only. The sequence + number is a user-controlled value that you can use to track requests. + The value of the sequence number must be between 0 and 2^63 - 1. + :type blob_sequence_number: long + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param blob_tags_string: Optional. Used to set blob tags in various + blob operations. + :type blob_tags_string: str + :param blob_http_headers: Additional parameters for the operation + :type blob_http_headers: ~azure.storage.blob.models.BlobHTTPHeaders + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo + :param cpk_scope_info: Additional parameters for the operation + :type cpk_scope_info: ~azure.storage.blob.models.CpkScopeInfo + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + blob_content_type = None + if blob_http_headers is not None: + blob_content_type = blob_http_headers.blob_content_type + blob_content_encoding = None + if blob_http_headers is not None: + blob_content_encoding = blob_http_headers.blob_content_encoding + blob_content_language = None + if blob_http_headers is not None: + blob_content_language = blob_http_headers.blob_content_language + blob_content_md5 = None + if blob_http_headers is not None: + blob_content_md5 = blob_http_headers.blob_content_md5 + blob_cache_control = None + if blob_http_headers is not None: + blob_cache_control = blob_http_headers.blob_cache_control + blob_content_disposition = None + if blob_http_headers is not None: + blob_content_disposition = blob_http_headers.blob_content_disposition + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm + encryption_scope = None + if cpk_scope_info is not None: + encryption_scope = cpk_scope_info.encryption_scope + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + + # Construct headers + header_parameters = {} + header_parameters['Content-Length'] = self._serialize.header("content_length", content_length, 'long') + if tier is not None: + header_parameters['x-ms-access-tier'] = self._serialize.header("tier", tier, 'str') + if metadata is not None: + header_parameters['x-ms-meta'] = self._serialize.header("metadata", metadata, 'str') + header_parameters['x-ms-blob-content-length'] = self._serialize.header("blob_content_length", blob_content_length, 'long') + if blob_sequence_number is not None: + header_parameters['x-ms-blob-sequence-number'] = self._serialize.header("blob_sequence_number", blob_sequence_number, 'long') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if blob_tags_string is not None: + header_parameters['x-ms-tags'] = self._serialize.header("blob_tags_string", blob_tags_string, 'str') + header_parameters['x-ms-blob-type'] = self._serialize.header("self.x_ms_blob_type", self.x_ms_blob_type, 'str') + if blob_content_type is not None: + header_parameters['x-ms-blob-content-type'] = self._serialize.header("blob_content_type", blob_content_type, 'str') + if blob_content_encoding is not None: + header_parameters['x-ms-blob-content-encoding'] = self._serialize.header("blob_content_encoding", blob_content_encoding, 'str') + if blob_content_language is not None: + header_parameters['x-ms-blob-content-language'] = self._serialize.header("blob_content_language", blob_content_language, 'str') + if blob_content_md5 is not None: + header_parameters['x-ms-blob-content-md5'] = self._serialize.header("blob_content_md5", blob_content_md5, 'bytearray') + if blob_cache_control is not None: + header_parameters['x-ms-blob-cache-control'] = self._serialize.header("blob_cache_control", blob_cache_control, 'str') + if blob_content_disposition is not None: + header_parameters['x-ms-blob-content-disposition'] = self._serialize.header("blob_content_disposition", blob_content_disposition, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') + if encryption_scope is not None: + header_parameters['x-ms-encryption-scope'] = self._serialize.header("encryption_scope", encryption_scope, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-version-id': self._deserialize('str', response.headers.get('x-ms-version-id')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), + 'x-ms-encryption-scope': self._deserialize('str', response.headers.get('x-ms-encryption-scope')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + create.metadata = {'url': '/{containerName}/{blob}'} + + def upload_pages(self, body, content_length, transactional_content_md5=None, transactional_content_crc64=None, timeout=None, range=None, request_id=None, lease_access_conditions=None, cpk_info=None, cpk_scope_info=None, sequence_number_access_conditions=None, modified_access_conditions=None, cls=None, **kwargs): + """The Upload Pages operation writes a range of pages to a page blob. + + :param body: Initial data + :type body: Generator + :param content_length: The length of the request. + :type content_length: long + :param transactional_content_md5: Specify the transactional md5 for + the body, to be validated by the service. + :type transactional_content_md5: bytearray + :param transactional_content_crc64: Specify the transactional crc64 + for the body, to be validated by the service. + :type transactional_content_crc64: bytearray + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param range: Return only the bytes of the blob in the specified + range. + :type range: str + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo + :param cpk_scope_info: Additional parameters for the operation + :type cpk_scope_info: ~azure.storage.blob.models.CpkScopeInfo + :param sequence_number_access_conditions: Additional parameters for + the operation + :type sequence_number_access_conditions: + ~azure.storage.blob.models.SequenceNumberAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm + encryption_scope = None + if cpk_scope_info is not None: + encryption_scope = cpk_scope_info.encryption_scope + if_sequence_number_less_than_or_equal_to = None + if sequence_number_access_conditions is not None: + if_sequence_number_less_than_or_equal_to = sequence_number_access_conditions.if_sequence_number_less_than_or_equal_to + if_sequence_number_less_than = None + if sequence_number_access_conditions is not None: + if_sequence_number_less_than = sequence_number_access_conditions.if_sequence_number_less_than + if_sequence_number_equal_to = None + if sequence_number_access_conditions is not None: + if_sequence_number_equal_to = sequence_number_access_conditions.if_sequence_number_equal_to + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + + comp = "page" + page_write = "update" + + # Construct URL + url = self.upload_pages.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/octet-stream' + header_parameters['Content-Length'] = self._serialize.header("content_length", content_length, 'long') + if transactional_content_md5 is not None: + header_parameters['Content-MD5'] = self._serialize.header("transactional_content_md5", transactional_content_md5, 'bytearray') + if transactional_content_crc64 is not None: + header_parameters['x-ms-content-crc64'] = self._serialize.header("transactional_content_crc64", transactional_content_crc64, 'bytearray') + if range is not None: + header_parameters['x-ms-range'] = self._serialize.header("range", range, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-page-write'] = self._serialize.header("page_write", page_write, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') + if encryption_scope is not None: + header_parameters['x-ms-encryption-scope'] = self._serialize.header("encryption_scope", encryption_scope, 'str') + if if_sequence_number_less_than_or_equal_to is not None: + header_parameters['x-ms-if-sequence-number-le'] = self._serialize.header("if_sequence_number_less_than_or_equal_to", if_sequence_number_less_than_or_equal_to, 'long') + if if_sequence_number_less_than is not None: + header_parameters['x-ms-if-sequence-number-lt'] = self._serialize.header("if_sequence_number_less_than", if_sequence_number_less_than, 'long') + if if_sequence_number_equal_to is not None: + header_parameters['x-ms-if-sequence-number-eq'] = self._serialize.header("if_sequence_number_equal_to", if_sequence_number_equal_to, 'long') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + + # Construct body + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, stream_content=body) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'x-ms-content-crc64': self._deserialize('bytearray', response.headers.get('x-ms-content-crc64')), + 'x-ms-blob-sequence-number': self._deserialize('long', response.headers.get('x-ms-blob-sequence-number')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), + 'x-ms-encryption-scope': self._deserialize('str', response.headers.get('x-ms-encryption-scope')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + upload_pages.metadata = {'url': '/{containerName}/{blob}'} + + def clear_pages(self, content_length, timeout=None, range=None, request_id=None, lease_access_conditions=None, cpk_info=None, cpk_scope_info=None, sequence_number_access_conditions=None, modified_access_conditions=None, cls=None, **kwargs): + """The Clear Pages operation clears a set of pages from a page blob. + + :param content_length: The length of the request. + :type content_length: long + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param range: Return only the bytes of the blob in the specified + range. + :type range: str + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo + :param cpk_scope_info: Additional parameters for the operation + :type cpk_scope_info: ~azure.storage.blob.models.CpkScopeInfo + :param sequence_number_access_conditions: Additional parameters for + the operation + :type sequence_number_access_conditions: + ~azure.storage.blob.models.SequenceNumberAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm + encryption_scope = None + if cpk_scope_info is not None: + encryption_scope = cpk_scope_info.encryption_scope + if_sequence_number_less_than_or_equal_to = None + if sequence_number_access_conditions is not None: + if_sequence_number_less_than_or_equal_to = sequence_number_access_conditions.if_sequence_number_less_than_or_equal_to + if_sequence_number_less_than = None + if sequence_number_access_conditions is not None: + if_sequence_number_less_than = sequence_number_access_conditions.if_sequence_number_less_than + if_sequence_number_equal_to = None + if sequence_number_access_conditions is not None: + if_sequence_number_equal_to = sequence_number_access_conditions.if_sequence_number_equal_to + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + + comp = "page" + page_write = "clear" + + # Construct URL + url = self.clear_pages.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Length'] = self._serialize.header("content_length", content_length, 'long') + if range is not None: + header_parameters['x-ms-range'] = self._serialize.header("range", range, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-page-write'] = self._serialize.header("page_write", page_write, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') + if encryption_scope is not None: + header_parameters['x-ms-encryption-scope'] = self._serialize.header("encryption_scope", encryption_scope, 'str') + if if_sequence_number_less_than_or_equal_to is not None: + header_parameters['x-ms-if-sequence-number-le'] = self._serialize.header("if_sequence_number_less_than_or_equal_to", if_sequence_number_less_than_or_equal_to, 'long') + if if_sequence_number_less_than is not None: + header_parameters['x-ms-if-sequence-number-lt'] = self._serialize.header("if_sequence_number_less_than", if_sequence_number_less_than, 'long') + if if_sequence_number_equal_to is not None: + header_parameters['x-ms-if-sequence-number-eq'] = self._serialize.header("if_sequence_number_equal_to", if_sequence_number_equal_to, 'long') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'x-ms-content-crc64': self._deserialize('bytearray', response.headers.get('x-ms-content-crc64')), + 'x-ms-blob-sequence-number': self._deserialize('long', response.headers.get('x-ms-blob-sequence-number')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + clear_pages.metadata = {'url': '/{containerName}/{blob}'} + + def upload_pages_from_url(self, source_url, source_range, content_length, range, source_content_md5=None, source_contentcrc64=None, timeout=None, request_id=None, cpk_info=None, cpk_scope_info=None, lease_access_conditions=None, sequence_number_access_conditions=None, modified_access_conditions=None, source_modified_access_conditions=None, cls=None, **kwargs): + """The Upload Pages operation writes a range of pages to a page blob where + the contents are read from a URL. + + :param source_url: Specify a URL to the copy source. + :type source_url: str + :param source_range: Bytes of source data in the specified range. The + length of this range should match the ContentLength header and + x-ms-range/Range destination range header. + :type source_range: str + :param content_length: The length of the request. + :type content_length: long + :param range: The range of bytes to which the source range would be + written. The range should be 512 aligned and range-end is required. + :type range: str + :param source_content_md5: Specify the md5 calculated for the range of + bytes that must be read from the copy source. + :type source_content_md5: bytearray + :param source_contentcrc64: Specify the crc64 calculated for the range + of bytes that must be read from the copy source. + :type source_contentcrc64: bytearray + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo + :param cpk_scope_info: Additional parameters for the operation + :type cpk_scope_info: ~azure.storage.blob.models.CpkScopeInfo + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param sequence_number_access_conditions: Additional parameters for + the operation + :type sequence_number_access_conditions: + ~azure.storage.blob.models.SequenceNumberAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param source_modified_access_conditions: Additional parameters for + the operation + :type source_modified_access_conditions: + ~azure.storage.blob.models.SourceModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm + encryption_scope = None + if cpk_scope_info is not None: + encryption_scope = cpk_scope_info.encryption_scope + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_sequence_number_less_than_or_equal_to = None + if sequence_number_access_conditions is not None: + if_sequence_number_less_than_or_equal_to = sequence_number_access_conditions.if_sequence_number_less_than_or_equal_to + if_sequence_number_less_than = None + if sequence_number_access_conditions is not None: + if_sequence_number_less_than = sequence_number_access_conditions.if_sequence_number_less_than + if_sequence_number_equal_to = None + if sequence_number_access_conditions is not None: + if_sequence_number_equal_to = sequence_number_access_conditions.if_sequence_number_equal_to + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + source_if_modified_since = None + if source_modified_access_conditions is not None: + source_if_modified_since = source_modified_access_conditions.source_if_modified_since + source_if_unmodified_since = None + if source_modified_access_conditions is not None: + source_if_unmodified_since = source_modified_access_conditions.source_if_unmodified_since + source_if_match = None + if source_modified_access_conditions is not None: + source_if_match = source_modified_access_conditions.source_if_match + source_if_none_match = None + if source_modified_access_conditions is not None: + source_if_none_match = source_modified_access_conditions.source_if_none_match + + comp = "page" + page_write = "update" + + # Construct URL + url = self.upload_pages_from_url.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-copy-source'] = self._serialize.header("source_url", source_url, 'str') + header_parameters['x-ms-source-range'] = self._serialize.header("source_range", source_range, 'str') + if source_content_md5 is not None: + header_parameters['x-ms-source-content-md5'] = self._serialize.header("source_content_md5", source_content_md5, 'bytearray') + if source_contentcrc64 is not None: + header_parameters['x-ms-source-content-crc64'] = self._serialize.header("source_contentcrc64", source_contentcrc64, 'bytearray') + header_parameters['Content-Length'] = self._serialize.header("content_length", content_length, 'long') + header_parameters['x-ms-range'] = self._serialize.header("range", range, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + header_parameters['x-ms-page-write'] = self._serialize.header("page_write", page_write, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') + if encryption_scope is not None: + header_parameters['x-ms-encryption-scope'] = self._serialize.header("encryption_scope", encryption_scope, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_sequence_number_less_than_or_equal_to is not None: + header_parameters['x-ms-if-sequence-number-le'] = self._serialize.header("if_sequence_number_less_than_or_equal_to", if_sequence_number_less_than_or_equal_to, 'long') + if if_sequence_number_less_than is not None: + header_parameters['x-ms-if-sequence-number-lt'] = self._serialize.header("if_sequence_number_less_than", if_sequence_number_less_than, 'long') + if if_sequence_number_equal_to is not None: + header_parameters['x-ms-if-sequence-number-eq'] = self._serialize.header("if_sequence_number_equal_to", if_sequence_number_equal_to, 'long') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + if source_if_modified_since is not None: + header_parameters['x-ms-source-if-modified-since'] = self._serialize.header("source_if_modified_since", source_if_modified_since, 'rfc-1123') + if source_if_unmodified_since is not None: + header_parameters['x-ms-source-if-unmodified-since'] = self._serialize.header("source_if_unmodified_since", source_if_unmodified_since, 'rfc-1123') + if source_if_match is not None: + header_parameters['x-ms-source-if-match'] = self._serialize.header("source_if_match", source_if_match, 'str') + if source_if_none_match is not None: + header_parameters['x-ms-source-if-none-match'] = self._serialize.header("source_if_none_match", source_if_none_match, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [201]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'Content-MD5': self._deserialize('bytearray', response.headers.get('Content-MD5')), + 'x-ms-content-crc64': self._deserialize('bytearray', response.headers.get('x-ms-content-crc64')), + 'x-ms-blob-sequence-number': self._deserialize('long', response.headers.get('x-ms-blob-sequence-number')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-request-server-encrypted': self._deserialize('bool', response.headers.get('x-ms-request-server-encrypted')), + 'x-ms-encryption-key-sha256': self._deserialize('str', response.headers.get('x-ms-encryption-key-sha256')), + 'x-ms-encryption-scope': self._deserialize('str', response.headers.get('x-ms-encryption-scope')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + upload_pages_from_url.metadata = {'url': '/{containerName}/{blob}'} + + def get_page_ranges(self, snapshot=None, timeout=None, range=None, request_id=None, lease_access_conditions=None, modified_access_conditions=None, cls=None, **kwargs): + """The Get Page Ranges operation returns the list of valid page ranges for + a page blob or snapshot of a page blob. + + :param snapshot: The snapshot parameter is an opaque DateTime value + that, when present, specifies the blob snapshot to retrieve. For more + information on working with blob snapshots, see Creating + a Snapshot of a Blob. + :type snapshot: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param range: Return only the bytes of the blob in the specified + range. + :type range: str + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: PageList or the result of cls(response) + :rtype: ~azure.storage.blob.models.PageList + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + + comp = "pagelist" + + # Construct URL + url = self.get_page_ranges.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if snapshot is not None: + query_parameters['snapshot'] = self._serialize.query("snapshot", snapshot, 'str') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/xml' + if range is not None: + header_parameters['x-ms-range'] = self._serialize.header("range", range, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('PageList', response) + header_dict = { + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'x-ms-blob-content-length': self._deserialize('long', response.headers.get('x-ms-blob-content-length')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + + if cls: + return cls(response, deserialized, header_dict) + + return deserialized + get_page_ranges.metadata = {'url': '/{containerName}/{blob}'} + + def get_page_ranges_diff(self, snapshot=None, timeout=None, prevsnapshot=None, prev_snapshot_url=None, range=None, request_id=None, lease_access_conditions=None, modified_access_conditions=None, cls=None, **kwargs): + """The Get Page Ranges Diff operation returns the list of valid page + ranges for a page blob that were changed between target blob and + previous snapshot. + + :param snapshot: The snapshot parameter is an opaque DateTime value + that, when present, specifies the blob snapshot to retrieve. For more + information on working with blob snapshots, see Creating + a Snapshot of a Blob. + :type snapshot: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param prevsnapshot: Optional in version 2015-07-08 and newer. The + prevsnapshot parameter is a DateTime value that specifies that the + response will contain only pages that were changed between target blob + and previous snapshot. Changed pages include both updated and cleared + pages. The target blob may be a snapshot, as long as the snapshot + specified by prevsnapshot is the older of the two. Note that + incremental snapshots are currently supported only for blobs created + on or after January 1, 2016. + :type prevsnapshot: str + :param prev_snapshot_url: Optional. This header is only supported in + service versions 2019-04-19 and after and specifies the URL of a + previous snapshot of the target blob. The response will only contain + pages that were changed between the target blob and its previous + snapshot. + :type prev_snapshot_url: str + :param range: Return only the bytes of the blob in the specified + range. + :type range: str + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: PageList or the result of cls(response) + :rtype: ~azure.storage.blob.models.PageList + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + + comp = "pagelist" + + # Construct URL + url = self.get_page_ranges_diff.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if snapshot is not None: + query_parameters['snapshot'] = self._serialize.query("snapshot", snapshot, 'str') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + if prevsnapshot is not None: + query_parameters['prevsnapshot'] = self._serialize.query("prevsnapshot", prevsnapshot, 'str') + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/xml' + if prev_snapshot_url is not None: + header_parameters['x-ms-previous-snapshot-url'] = self._serialize.header("prev_snapshot_url", prev_snapshot_url, 'str') + if range is not None: + header_parameters['x-ms-range'] = self._serialize.header("range", range, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('PageList', response) + header_dict = { + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'x-ms-blob-content-length': self._deserialize('long', response.headers.get('x-ms-blob-content-length')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + + if cls: + return cls(response, deserialized, header_dict) + + return deserialized + get_page_ranges_diff.metadata = {'url': '/{containerName}/{blob}'} + + def resize(self, blob_content_length, timeout=None, request_id=None, lease_access_conditions=None, cpk_info=None, cpk_scope_info=None, modified_access_conditions=None, cls=None, **kwargs): + """Resize the Blob. + + :param blob_content_length: This header specifies the maximum size for + the page blob, up to 1 TB. The page blob size must be aligned to a + 512-byte boundary. + :type blob_content_length: long + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param cpk_info: Additional parameters for the operation + :type cpk_info: ~azure.storage.blob.models.CpkInfo + :param cpk_scope_info: Additional parameters for the operation + :type cpk_scope_info: ~azure.storage.blob.models.CpkScopeInfo + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + encryption_key = None + if cpk_info is not None: + encryption_key = cpk_info.encryption_key + encryption_key_sha256 = None + if cpk_info is not None: + encryption_key_sha256 = cpk_info.encryption_key_sha256 + encryption_algorithm = None + if cpk_info is not None: + encryption_algorithm = cpk_info.encryption_algorithm + encryption_scope = None + if cpk_scope_info is not None: + encryption_scope = cpk_scope_info.encryption_scope + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + + comp = "properties" + + # Construct URL + url = self.resize.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-blob-content-length'] = self._serialize.header("blob_content_length", blob_content_length, 'long') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if encryption_key is not None: + header_parameters['x-ms-encryption-key'] = self._serialize.header("encryption_key", encryption_key, 'str') + if encryption_key_sha256 is not None: + header_parameters['x-ms-encryption-key-sha256'] = self._serialize.header("encryption_key_sha256", encryption_key_sha256, 'str') + if encryption_algorithm is not None: + header_parameters['x-ms-encryption-algorithm'] = self._serialize.header("encryption_algorithm", encryption_algorithm, 'EncryptionAlgorithmType') + if encryption_scope is not None: + header_parameters['x-ms-encryption-scope'] = self._serialize.header("encryption_scope", encryption_scope, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-blob-sequence-number': self._deserialize('long', response.headers.get('x-ms-blob-sequence-number')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + resize.metadata = {'url': '/{containerName}/{blob}'} + + def update_sequence_number(self, sequence_number_action, timeout=None, blob_sequence_number=0, request_id=None, lease_access_conditions=None, modified_access_conditions=None, cls=None, **kwargs): + """Update the sequence number of the blob. + + :param sequence_number_action: Required if the + x-ms-blob-sequence-number header is set for the request. This property + applies to page blobs only. This property indicates how the service + should modify the blob's sequence number. Possible values include: + 'max', 'update', 'increment' + :type sequence_number_action: str or + ~azure.storage.blob.models.SequenceNumberActionType + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param blob_sequence_number: Set for page blobs only. The sequence + number is a user-controlled value that you can use to track requests. + The value of the sequence number must be between 0 and 2^63 - 1. + :type blob_sequence_number: long + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param lease_access_conditions: Additional parameters for the + operation + :type lease_access_conditions: + ~azure.storage.blob.models.LeaseAccessConditions + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + lease_id = None + if lease_access_conditions is not None: + lease_id = lease_access_conditions.lease_id + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + + comp = "properties" + + # Construct URL + url = self.update_sequence_number.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-sequence-number-action'] = self._serialize.header("sequence_number_action", sequence_number_action, 'SequenceNumberActionType') + if blob_sequence_number is not None: + header_parameters['x-ms-blob-sequence-number'] = self._serialize.header("blob_sequence_number", blob_sequence_number, 'long') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if lease_id is not None: + header_parameters['x-ms-lease-id'] = self._serialize.header("lease_id", lease_id, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-blob-sequence-number': self._deserialize('long', response.headers.get('x-ms-blob-sequence-number')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + update_sequence_number.metadata = {'url': '/{containerName}/{blob}'} + + def copy_incremental(self, copy_source, timeout=None, request_id=None, modified_access_conditions=None, cls=None, **kwargs): + """The Copy Incremental operation copies a snapshot of the source page + blob to a destination page blob. The snapshot is copied such that only + the differential changes between the previously copied snapshot are + transferred to the destination. The copied snapshots are complete + copies of the original snapshot and can be read or copied from as + usual. This API is supported since REST version 2016-05-31. + + :param copy_source: Specifies the name of the source page blob + snapshot. This value is a URL of up to 2 KB in length that specifies a + page blob snapshot. The value should be URL-encoded as it would appear + in a request URI. The source blob must either be public or must be + authenticated via a shared access signature. + :type copy_source: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param modified_access_conditions: Additional parameters for the + operation + :type modified_access_conditions: + ~azure.storage.blob.models.ModifiedAccessConditions + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + if_modified_since = None + if modified_access_conditions is not None: + if_modified_since = modified_access_conditions.if_modified_since + if_unmodified_since = None + if modified_access_conditions is not None: + if_unmodified_since = modified_access_conditions.if_unmodified_since + if_match = None + if modified_access_conditions is not None: + if_match = modified_access_conditions.if_match + if_none_match = None + if modified_access_conditions is not None: + if_none_match = modified_access_conditions.if_none_match + if_tags = None + if modified_access_conditions is not None: + if_tags = modified_access_conditions.if_tags + + comp = "incrementalcopy" + + # Construct URL + url = self.copy_incremental.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-copy-source'] = self._serialize.header("copy_source", copy_source, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + if if_modified_since is not None: + header_parameters['If-Modified-Since'] = self._serialize.header("if_modified_since", if_modified_since, 'rfc-1123') + if if_unmodified_since is not None: + header_parameters['If-Unmodified-Since'] = self._serialize.header("if_unmodified_since", if_unmodified_since, 'rfc-1123') + if if_match is not None: + header_parameters['If-Match'] = self._serialize.header("if_match", if_match, 'str') + if if_none_match is not None: + header_parameters['If-None-Match'] = self._serialize.header("if_none_match", if_none_match, 'str') + if if_tags is not None: + header_parameters['x-ms-if-tags'] = self._serialize.header("if_tags", if_tags, 'str') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'ETag': self._deserialize('str', response.headers.get('ETag')), + 'Last-Modified': self._deserialize('rfc-1123', response.headers.get('Last-Modified')), + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-copy-id': self._deserialize('str', response.headers.get('x-ms-copy-id')), + 'x-ms-copy-status': self._deserialize(models.CopyStatusType, response.headers.get('x-ms-copy-status')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + copy_incremental.metadata = {'url': '/{containerName}/{blob}'} diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/operations/_service_operations.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/operations/_service_operations.py new file mode 100644 index 00000000000..0a49915e1dd --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/operations/_service_operations.py @@ -0,0 +1,663 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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.core.exceptions import map_error + +from .. import models + + +class ServiceOperations(object): + """ServiceOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + + self._config = config + + def set_properties(self, storage_service_properties, timeout=None, request_id=None, cls=None, **kwargs): + """Sets properties for a storage account's Blob service endpoint, + including properties for Storage Analytics and CORS (Cross-Origin + Resource Sharing) rules. + + :param storage_service_properties: The StorageService properties. + :type storage_service_properties: + ~azure.storage.blob.models.StorageServiceProperties + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + restype = "service" + comp = "properties" + + # Construct URL + url = self.set_properties.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['restype'] = self._serialize.query("restype", restype, 'str') + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/xml; charset=utf-8' + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + + # Construct body + body_content = self._serialize.body(storage_service_properties, 'StorageServiceProperties') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [202]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + set_properties.metadata = {'url': '/'} + + def get_properties(self, timeout=None, request_id=None, cls=None, **kwargs): + """gets the properties of a storage account's Blob service, including + properties for Storage Analytics and CORS (Cross-Origin Resource + Sharing) rules. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param callable cls: A custom type or function that will be passed the + direct response + :return: StorageServiceProperties or the result of cls(response) + :rtype: ~azure.storage.blob.models.StorageServiceProperties + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + restype = "service" + comp = "properties" + + # Construct URL + url = self.get_properties.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['restype'] = self._serialize.query("restype", restype, 'str') + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/xml' + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('StorageServiceProperties', response) + header_dict = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + + if cls: + return cls(response, deserialized, header_dict) + + return deserialized + get_properties.metadata = {'url': '/'} + + def get_statistics(self, timeout=None, request_id=None, cls=None, **kwargs): + """Retrieves statistics related to replication for the Blob service. It is + only available on the secondary location endpoint when read-access + geo-redundant replication is enabled for the storage account. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param callable cls: A custom type or function that will be passed the + direct response + :return: StorageServiceStats or the result of cls(response) + :rtype: ~azure.storage.blob.models.StorageServiceStats + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + restype = "service" + comp = "stats" + + # Construct URL + url = self.get_statistics.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['restype'] = self._serialize.query("restype", restype, 'str') + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/xml' + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('StorageServiceStats', response) + header_dict = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + + if cls: + return cls(response, deserialized, header_dict) + + return deserialized + get_statistics.metadata = {'url': '/'} + + def list_containers_segment(self, prefix=None, marker=None, maxresults=None, include=None, timeout=None, request_id=None, cls=None, **kwargs): + """The List Containers Segment operation returns a list of the containers + under the specified account. + + :param prefix: Filters the results to return only containers whose + name begins with the specified prefix. + :type prefix: str + :param marker: A string value that identifies the portion of the list + of containers to be returned with the next listing operation. The + operation returns the NextMarker value within the response body if the + listing operation did not return all containers remaining to be listed + with the current page. The NextMarker value can be used as the value + for the marker parameter in a subsequent call to request the next page + of list items. The marker value is opaque to the client. + :type marker: str + :param maxresults: Specifies the maximum number of containers to + return. If the request does not specify maxresults, or specifies a + value greater than 5000, the server will return up to 5000 items. Note + that if the listing operation crosses a partition boundary, then the + service will return a continuation token for retrieving the remainder + of the results. For this reason, it is possible that the service will + return fewer results than specified by maxresults, or than the default + of 5000. + :type maxresults: int + :param include: Include this parameter to specify that the container's + metadata be returned as part of the response body. + :type include: list[str or + ~azure.storage.blob.models.ListContainersIncludeType] + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param callable cls: A custom type or function that will be passed the + direct response + :return: ListContainersSegmentResponse or the result of cls(response) + :rtype: ~azure.storage.blob.models.ListContainersSegmentResponse + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + comp = "list" + + # Construct URL + url = self.list_containers_segment.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if prefix is not None: + query_parameters['prefix'] = self._serialize.query("prefix", prefix, 'str') + if marker is not None: + query_parameters['marker'] = self._serialize.query("marker", marker, 'str') + if maxresults is not None: + query_parameters['maxresults'] = self._serialize.query("maxresults", maxresults, 'int', minimum=1) + if include is not None: + query_parameters['include'] = self._serialize.query("include", include, '[ListContainersIncludeType]', div=',') + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/xml' + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('ListContainersSegmentResponse', response) + header_dict = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + + if cls: + return cls(response, deserialized, header_dict) + + return deserialized + list_containers_segment.metadata = {'url': '/'} + + def get_user_delegation_key(self, key_info, timeout=None, request_id=None, cls=None, **kwargs): + """Retrieves a user delegation key for the Blob service. This is only a + valid operation when using bearer token authentication. + + :param key_info: + :type key_info: ~azure.storage.blob.models.KeyInfo + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param callable cls: A custom type or function that will be passed the + direct response + :return: UserDelegationKey or the result of cls(response) + :rtype: ~azure.storage.blob.models.UserDelegationKey + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + restype = "service" + comp = "userdelegationkey" + + # Construct URL + url = self.get_user_delegation_key.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['restype'] = self._serialize.query("restype", restype, 'str') + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/xml' + header_parameters['Content-Type'] = 'application/xml; charset=utf-8' + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + + # Construct body + body_content = self._serialize.body(key_info, 'KeyInfo') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('UserDelegationKey', response) + header_dict = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + + if cls: + return cls(response, deserialized, header_dict) + + return deserialized + get_user_delegation_key.metadata = {'url': '/'} + + def get_account_info(self, cls=None, **kwargs): + """Returns the sku name and account kind . + + :param callable cls: A custom type or function that will be passed the + direct response + :return: None or the result of cls(response) + :rtype: None + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + restype = "account" + comp = "properties" + + # Construct URL + url = self.get_account_info.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['restype'] = self._serialize.query("restype", restype, 'str') + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + if cls: + response_headers = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-sku-name': self._deserialize(models.SkuName, response.headers.get('x-ms-sku-name')), + 'x-ms-account-kind': self._deserialize(models.AccountKind, response.headers.get('x-ms-account-kind')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + return cls(response, None, response_headers) + get_account_info.metadata = {'url': '/'} + + def submit_batch(self, body, content_length, multipart_content_type, timeout=None, request_id=None, cls=None, **kwargs): + """The Batch operation allows multiple API calls to be embedded into a + single HTTP request. + + :param body: Initial data + :type body: Generator + :param content_length: The length of the request. + :type content_length: long + :param multipart_content_type: Required. The value of this header must + be multipart/mixed with a batch boundary. Example header value: + multipart/mixed; boundary=batch_ + :type multipart_content_type: str + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param callable cls: A custom type or function that will be passed the + direct response + :return: object or the result of cls(response) + :rtype: Generator + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + comp = "batch" + + # Construct URL + url = self.submit_batch.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/xml' + header_parameters['Content-Type'] = 'application/xml; charset=utf-8' + header_parameters['Content-Length'] = self._serialize.header("content_length", content_length, 'long') + header_parameters['Content-Type'] = self._serialize.header("multipart_content_type", multipart_content_type, 'str') + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + + # Construct body + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, stream_content=body) + pipeline_response = self._client._pipeline.run(request, stream=True, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = response.stream_download(self._client._pipeline) + header_dict = { + 'Content-Type': self._deserialize('str', response.headers.get('Content-Type')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + + if cls: + return cls(response, deserialized, header_dict) + + return deserialized + submit_batch.metadata = {'url': '/'} + + def filter_blobs(self, timeout=None, request_id=None, where=None, marker=None, maxresults=None, cls=None, **kwargs): + """The Filter Blobs operation enables callers to list blobs across all + containers whose tags match a given search expression. Filter blobs + searches across all containers within a storage account but can be + scoped within the expression to a single container. + + :param timeout: The timeout parameter is expressed in seconds. For + more information, see Setting + Timeouts for Blob Service Operations. + :type timeout: int + :param request_id: Provides a client-generated, opaque value with a 1 + KB character limit that is recorded in the analytics logs when storage + analytics logging is enabled. + :type request_id: str + :param where: Filters the results to return only to return only blobs + whose tags match the specified expression. + :type where: str + :param marker: A string value that identifies the portion of the list + of containers to be returned with the next listing operation. The + operation returns the NextMarker value within the response body if the + listing operation did not return all containers remaining to be listed + with the current page. The NextMarker value can be used as the value + for the marker parameter in a subsequent call to request the next page + of list items. The marker value is opaque to the client. + :type marker: str + :param maxresults: Specifies the maximum number of containers to + return. If the request does not specify maxresults, or specifies a + value greater than 5000, the server will return up to 5000 items. Note + that if the listing operation crosses a partition boundary, then the + service will return a continuation token for retrieving the remainder + of the results. For this reason, it is possible that the service will + return fewer results than specified by maxresults, or than the default + of 5000. + :type maxresults: int + :param callable cls: A custom type or function that will be passed the + direct response + :return: FilterBlobSegment or the result of cls(response) + :rtype: ~azure.storage.blob.models.FilterBlobSegment + :raises: + :class:`StorageErrorException` + """ + error_map = kwargs.pop('error_map', None) + comp = "blobs" + + # Construct URL + url = self.filter_blobs.metadata['url'] + path_format_arguments = { + 'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True) + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if timeout is not None: + query_parameters['timeout'] = self._serialize.query("timeout", timeout, 'int', minimum=0) + if where is not None: + query_parameters['where'] = self._serialize.query("where", where, 'str') + if marker is not None: + query_parameters['marker'] = self._serialize.query("marker", marker, 'str') + if maxresults is not None: + query_parameters['maxresults'] = self._serialize.query("maxresults", maxresults, 'int', minimum=1) + query_parameters['comp'] = self._serialize.query("comp", comp, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/xml' + header_parameters['x-ms-version'] = self._serialize.header("self._config.version", self._config.version, 'str') + if request_id is not None: + header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id", request_id, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response + + if response.status_code not in [200]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise models.StorageErrorException(response, self._deserialize) + + header_dict = {} + deserialized = None + if response.status_code == 200: + deserialized = self._deserialize('FilterBlobSegment', response) + header_dict = { + 'x-ms-client-request-id': self._deserialize('str', response.headers.get('x-ms-client-request-id')), + 'x-ms-request-id': self._deserialize('str', response.headers.get('x-ms-request-id')), + 'x-ms-version': self._deserialize('str', response.headers.get('x-ms-version')), + 'Date': self._deserialize('rfc-1123', response.headers.get('Date')), + 'x-ms-error-code': self._deserialize('str', response.headers.get('x-ms-error-code')), + } + + if cls: + return cls(response, deserialized, header_dict) + + return deserialized + filter_blobs.metadata = {'url': '/'} diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/version.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/version.py new file mode 100644 index 00000000000..6ef707dd11c --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_generated/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 = "2020-02-10" + diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_lease.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_lease.py new file mode 100644 index 00000000000..1fd668c0f9b --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_lease.py @@ -0,0 +1,331 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- + +import uuid + +from typing import ( # pylint: disable=unused-import + Union, Optional, Any, TypeVar, TYPE_CHECKING +) + +from azure.core.tracing.decorator import distributed_trace + +from ._shared.response_handlers import return_response_headers, process_storage_error +from ._generated.models import StorageErrorException +from ._serialize import get_modify_conditions + +if TYPE_CHECKING: + from datetime import datetime + + BlobClient = TypeVar("BlobClient") + ContainerClient = TypeVar("ContainerClient") + + +class BlobLeaseClient(object): + """Creates a new BlobLeaseClient. + + This client provides lease operations on a BlobClient or ContainerClient. + + :ivar str id: + The ID of the lease currently being maintained. This will be `None` if no + lease has yet been acquired. + :ivar str etag: + The ETag of the lease currently being maintained. This will be `None` if no + lease has yet been acquired or modified. + :ivar ~datetime.datetime last_modified: + The last modified timestamp of the lease currently being maintained. + This will be `None` if no lease has yet been acquired or modified. + + :param client: + The client of the blob or container to lease. + :type client: ~azure.storage.blob.BlobClient or + ~azure.storage.blob.ContainerClient + :param str lease_id: + A string representing the lease ID of an existing lease. This value does not + need to be specified in order to acquire a new lease, or break one. + """ + def __init__( + self, client, lease_id=None + ): # pylint: disable=missing-client-constructor-parameter-credential,missing-client-constructor-parameter-kwargs + # type: (Union[BlobClient, ContainerClient], Optional[str]) -> None + self.id = lease_id or str(uuid.uuid4()) + self.last_modified = None + self.etag = None + if hasattr(client, 'blob_name'): + self._client = client._client.blob # type: ignore # pylint: disable=protected-access + elif hasattr(client, 'container_name'): + self._client = client._client.container # type: ignore # pylint: disable=protected-access + else: + raise TypeError("Lease must use either BlobClient or ContainerClient.") + + def __enter__(self): + return self + + def __exit__(self, *args): + self.release() + + @distributed_trace + def acquire(self, lease_duration=-1, **kwargs): + # type: (int, **Any) -> None + """Requests a new lease. + + If the container does not have an active lease, the Blob service creates a + lease on the container and returns a new lease ID. + + :param int lease_duration: + Specifies the duration of the lease, in seconds, or negative one + (-1) for a lease that never expires. A non-infinite lease can be + between 15 and 60 seconds. A lease duration cannot be changed + using renew or change. Default is -1 (infinite lease). + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword int timeout: + The timeout parameter is expressed in seconds. + :rtype: None + """ + mod_conditions = get_modify_conditions(kwargs) + try: + response = self._client.acquire_lease( + timeout=kwargs.pop('timeout', None), + duration=lease_duration, + proposed_lease_id=self.id, + modified_access_conditions=mod_conditions, + cls=return_response_headers, + **kwargs) + except StorageErrorException as error: + process_storage_error(error) + self.id = response.get('lease_id') # type: str + self.last_modified = response.get('last_modified') # type: datetime + self.etag = response.get('etag') # type: str + + @distributed_trace + def renew(self, **kwargs): + # type: (Any) -> None + """Renews the lease. + + The lease can be renewed if the lease ID specified in the + lease client matches that associated with the container or blob. Note that + the lease may be renewed even if it has expired as long as the container + or blob has not been leased again since the expiration of that lease. When you + renew a lease, the lease duration clock resets. + + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: None + """ + mod_conditions = get_modify_conditions(kwargs) + try: + response = self._client.renew_lease( + lease_id=self.id, + timeout=kwargs.pop('timeout', None), + modified_access_conditions=mod_conditions, + cls=return_response_headers, + **kwargs) + except StorageErrorException as error: + process_storage_error(error) + self.etag = response.get('etag') # type: str + self.id = response.get('lease_id') # type: str + self.last_modified = response.get('last_modified') # type: datetime + + @distributed_trace + def release(self, **kwargs): + # type: (Any) -> None + """Release the lease. + + The lease may be released if the client lease id specified matches + that associated with the container or blob. Releasing the lease allows another client + to immediately acquire the lease for the container or blob as soon as the release is complete. + + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: None + """ + mod_conditions = get_modify_conditions(kwargs) + try: + response = self._client.release_lease( + lease_id=self.id, + timeout=kwargs.pop('timeout', None), + modified_access_conditions=mod_conditions, + cls=return_response_headers, + **kwargs) + except StorageErrorException as error: + process_storage_error(error) + self.etag = response.get('etag') # type: str + self.id = response.get('lease_id') # type: str + self.last_modified = response.get('last_modified') # type: datetime + + @distributed_trace + def change(self, proposed_lease_id, **kwargs): + # type: (str, Any) -> None + """Change the lease ID of an active lease. + + :param str proposed_lease_id: + Proposed lease ID, in a GUID string format. The Blob service returns 400 + (Invalid request) if the proposed lease ID is not in the correct format. + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: None + """ + mod_conditions = get_modify_conditions(kwargs) + try: + response = self._client.change_lease( + lease_id=self.id, + proposed_lease_id=proposed_lease_id, + timeout=kwargs.pop('timeout', None), + modified_access_conditions=mod_conditions, + cls=return_response_headers, + **kwargs) + except StorageErrorException as error: + process_storage_error(error) + self.etag = response.get('etag') # type: str + self.id = response.get('lease_id') # type: str + self.last_modified = response.get('last_modified') # type: datetime + + @distributed_trace + def break_lease(self, lease_break_period=None, **kwargs): + # type: (Optional[int], Any) -> int + """Break the lease, if the container or blob has an active lease. + + Once a lease is broken, it cannot be renewed. Any authorized request can break the lease; + the request is not required to specify a matching lease ID. When a lease + is broken, the lease break period is allowed to elapse, during which time + no lease operation except break and release can be performed on the container or blob. + When a lease is successfully broken, the response indicates the interval + in seconds until a new lease can be acquired. + + :param int lease_break_period: + This is the proposed duration of seconds that the lease + should continue before it is broken, between 0 and 60 seconds. This + break period is only used if it is shorter than the time remaining + on the lease. If longer, the time remaining on the lease is used. + A new lease will not be available before the break period has + expired, but the lease may be held for longer than the break + period. If this header does not appear with a break + operation, a fixed-duration lease breaks after the remaining lease + period elapses, and an infinite lease breaks immediately. + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: Approximate time remaining in the lease period, in seconds. + :rtype: int + """ + mod_conditions = get_modify_conditions(kwargs) + try: + response = self._client.break_lease( + timeout=kwargs.pop('timeout', None), + break_period=lease_break_period, + modified_access_conditions=mod_conditions, + cls=return_response_headers, + **kwargs) + except StorageErrorException as error: + process_storage_error(error) + return response.get('lease_time') # type: ignore diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_list_blobs_helper.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_list_blobs_helper.py new file mode 100644 index 00000000000..f1dd70f992c --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_list_blobs_helper.py @@ -0,0 +1,166 @@ +# pylint: disable=too-many-lines +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- + +from azure.core.paging import PageIterator, ItemPaged +from ._deserialize import get_blob_properties_from_generated_code +from ._generated.models import StorageErrorException, BlobItemInternal, BlobPrefix as GenBlobPrefix +from ._models import BlobProperties +from ._shared.models import DictMixin +from ._shared.response_handlers import return_context_and_deserialized, process_storage_error + + +class BlobPropertiesPaged(PageIterator): + """An Iterable of Blob properties. + + :ivar str service_endpoint: The service URL. + :ivar str prefix: A blob name prefix being used to filter the list. + :ivar str marker: The continuation token of the current page of results. + :ivar int results_per_page: The maximum number of results retrieved per API call. + :ivar str continuation_token: The continuation token to retrieve the next page of results. + :ivar str location_mode: The location mode being used to list results. The available + options include "primary" and "secondary". + :ivar current_page: The current page of listed results. + :vartype current_page: list(~azure.storage.blob.BlobProperties) + :ivar str container: The container that the blobs are listed from. + :ivar str delimiter: A delimiting character used for hierarchy listing. + + :param callable command: Function to retrieve the next page of items. + :param str container: The name of the container. + :param str prefix: Filters the results to return only blobs whose names + begin with the specified prefix. + :param int results_per_page: The maximum number of blobs to retrieve per + call. + :param str continuation_token: An opaque continuation token. + :param str delimiter: + Used to capture blobs whose names begin with the same substring up to + the appearance of the delimiter character. The delimiter may be a single + character or a string. + :param location_mode: Specifies the location the request should be sent to. + This mode only applies for RA-GRS accounts which allow secondary read access. + Options include 'primary' or 'secondary'. + """ + def __init__( + self, command, + container=None, + prefix=None, + results_per_page=None, + continuation_token=None, + delimiter=None, + location_mode=None): + super(BlobPropertiesPaged, self).__init__( + get_next=self._get_next_cb, + extract_data=self._extract_data_cb, + continuation_token=continuation_token or "" + ) + self._command = command + self.service_endpoint = None + self.prefix = prefix + self.marker = None + self.results_per_page = results_per_page + self.container = container + self.delimiter = delimiter + self.current_page = None + self.location_mode = location_mode + + def _get_next_cb(self, continuation_token): + try: + return self._command( + prefix=self.prefix, + marker=continuation_token or None, + maxresults=self.results_per_page, + cls=return_context_and_deserialized, + use_location=self.location_mode) + except StorageErrorException as error: + process_storage_error(error) + + def _extract_data_cb(self, get_next_return): + self.location_mode, self._response = get_next_return + self.service_endpoint = self._response.service_endpoint + self.prefix = self._response.prefix + self.marker = self._response.marker + self.results_per_page = self._response.max_results + self.container = self._response.container_name + self.current_page = [self._build_item(item) for item in self._response.segment.blob_items] + + return self._response.next_marker or None, self.current_page + + def _build_item(self, item): + if isinstance(item, BlobProperties): + return item + if isinstance(item, BlobItemInternal): + blob = get_blob_properties_from_generated_code(item) # pylint: disable=protected-access + blob.container = self.container + return blob + return item + + +class BlobPrefixPaged(BlobPropertiesPaged): + def __init__(self, *args, **kwargs): + super(BlobPrefixPaged, self).__init__(*args, **kwargs) + self.name = self.prefix + + def _extract_data_cb(self, get_next_return): + continuation_token, _ = super(BlobPrefixPaged, self)._extract_data_cb(get_next_return) + self.current_page = self._response.segment.blob_prefixes + self._response.segment.blob_items + self.current_page = [self._build_item(item) for item in self.current_page] + self.delimiter = self._response.delimiter + + return continuation_token, self.current_page + + def _build_item(self, item): + item = super(BlobPrefixPaged, self)._build_item(item) + if isinstance(item, GenBlobPrefix): + return BlobPrefix( + self._command, + container=self.container, + prefix=item.name, + results_per_page=self.results_per_page, + location_mode=self.location_mode) + return item + + +class BlobPrefix(ItemPaged, DictMixin): + """An Iterable of Blob properties. + + Returned from walk_blobs when a delimiter is used. + Can be thought of as a virtual blob directory. + + :ivar str name: The prefix, or "directory name" of the blob. + :ivar str service_endpoint: The service URL. + :ivar str prefix: A blob name prefix being used to filter the list. + :ivar str marker: The continuation token of the current page of results. + :ivar int results_per_page: The maximum number of results retrieved per API call. + :ivar str next_marker: The continuation token to retrieve the next page of results. + :ivar str location_mode: The location mode being used to list results. The available + options include "primary" and "secondary". + :ivar current_page: The current page of listed results. + :vartype current_page: list(~azure.storage.blob.BlobProperties) + :ivar str container: The container that the blobs are listed from. + :ivar str delimiter: A delimiting character used for hierarchy listing. + + :param callable command: Function to retrieve the next page of items. + :param str prefix: Filters the results to return only blobs whose names + begin with the specified prefix. + :param int results_per_page: The maximum number of blobs to retrieve per + call. + :param str marker: An opaque continuation token. + :param str delimiter: + Used to capture blobs whose names begin with the same substring up to + the appearance of the delimiter character. The delimiter may be a single + character or a string. + :param location_mode: Specifies the location the request should be sent to. + This mode only applies for RA-GRS accounts which allow secondary read access. + Options include 'primary' or 'secondary'. + """ + def __init__(self, *args, **kwargs): + super(BlobPrefix, self).__init__(*args, page_iterator_class=BlobPrefixPaged, **kwargs) + self.name = kwargs.get('prefix') + self.prefix = kwargs.get('prefix') + self.results_per_page = kwargs.get('results_per_page') + self.container = kwargs.get('container') + self.delimiter = kwargs.get('delimiter') + self.location_mode = kwargs.get('location_mode') diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_models.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_models.py new file mode 100644 index 00000000000..a7658cc5e3e --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_models.py @@ -0,0 +1,1173 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +# pylint: disable=too-few-public-methods, too-many-instance-attributes +# pylint: disable=super-init-not-called, too-many-lines + +from enum import Enum + +from azure.core.paging import PageIterator +from ._generated.models import FilterBlobItem, ArrowField + +from ._shared import decode_base64_to_text +from ._shared.response_handlers import return_context_and_deserialized, process_storage_error +from ._shared.models import DictMixin, get_enum_value +from ._generated.models import Logging as GeneratedLogging +from ._generated.models import Metrics as GeneratedMetrics +from ._generated.models import RetentionPolicy as GeneratedRetentionPolicy +from ._generated.models import StaticWebsite as GeneratedStaticWebsite +from ._generated.models import CorsRule as GeneratedCorsRule +from ._generated.models import AccessPolicy as GenAccessPolicy +from ._generated.models import StorageErrorException + + +class BlobType(str, Enum): + + BlockBlob = "BlockBlob" + PageBlob = "PageBlob" + AppendBlob = "AppendBlob" + + +class BlockState(str, Enum): + """Block blob block types.""" + + Committed = 'Committed' #: Committed blocks. + Latest = 'Latest' #: Latest blocks. + Uncommitted = 'Uncommitted' #: Uncommitted blocks. + + +class StandardBlobTier(str, Enum): + """ + Specifies the blob tier to set the blob to. This is only applicable for + block blobs on standard storage accounts. + """ + + Archive = 'Archive' #: Archive + Cool = 'Cool' #: Cool + Hot = 'Hot' #: Hot + + +class PremiumPageBlobTier(str, Enum): + """ + Specifies the page blob tier to set the blob to. This is only applicable to page + blobs on premium storage accounts. Please take a look at: + https://docs.microsoft.com/en-us/azure/storage/storage-premium-storage#scalability-and-performance-targets + for detailed information on the corresponding IOPS and throughput per PageBlobTier. + """ + + P4 = 'P4' #: P4 Tier + P6 = 'P6' #: P6 Tier + P10 = 'P10' #: P10 Tier + P20 = 'P20' #: P20 Tier + P30 = 'P30' #: P30 Tier + P40 = 'P40' #: P40 Tier + P50 = 'P50' #: P50 Tier + P60 = 'P60' #: P60 Tier + + +class SequenceNumberAction(str, Enum): + """Sequence number actions.""" + + Increment = 'increment' + """ + Increments the value of the sequence number by 1. If specifying this option, + do not include the x-ms-blob-sequence-number header. + """ + + Max = 'max' + """ + Sets the sequence number to be the higher of the value included with the + request and the value currently stored for the blob. + """ + + Update = 'update' + """Sets the sequence number to the value included with the request.""" + + +class PublicAccess(str, Enum): + """ + Specifies whether data in the container may be accessed publicly and the level of access. + """ + + OFF = 'off' + """ + Specifies that there is no public read access for both the container and blobs within the container. + Clients cannot enumerate the containers within the storage account as well as the blobs within the container. + """ + + Blob = 'blob' + """ + Specifies public read access for blobs. Blob data within this container can be read + via anonymous request, but container data is not available. Clients cannot enumerate + blobs within the container via anonymous request. + """ + + Container = 'container' + """ + Specifies full public read access for container and blob data. Clients can enumerate + blobs within the container via anonymous request, but cannot enumerate containers + within the storage account. + """ + + +class BlobAnalyticsLogging(GeneratedLogging): + """Azure Analytics Logging settings. + + :keyword str version: + The version of Storage Analytics to configure. The default value is 1.0. + :keyword bool delete: + Indicates whether all delete requests should be logged. The default value is `False`. + :keyword bool read: + Indicates whether all read requests should be logged. The default value is `False`. + :keyword bool write: + Indicates whether all write requests should be logged. The default value is `False`. + :keyword ~azure.storage.blob.RetentionPolicy retention_policy: + Determines how long the associated data should persist. If not specified the retention + policy will be disabled by default. + """ + + def __init__(self, **kwargs): + self.version = kwargs.get('version', u'1.0') + self.delete = kwargs.get('delete', False) + self.read = kwargs.get('read', False) + self.write = kwargs.get('write', False) + self.retention_policy = kwargs.get('retention_policy') or RetentionPolicy() + + @classmethod + def _from_generated(cls, generated): + if not generated: + return cls() + return cls( + version=generated.version, + delete=generated.delete, + read=generated.read, + write=generated.write, + retention_policy=RetentionPolicy._from_generated(generated.retention_policy) # pylint: disable=protected-access + ) + + +class Metrics(GeneratedMetrics): + """A summary of request statistics grouped by API in hour or minute aggregates + for blobs. + + :keyword str version: + The version of Storage Analytics to configure. The default value is 1.0. + :keyword bool enabled: + Indicates whether metrics are enabled for the Blob service. + The default value is `False`. + :keyword bool include_apis: + Indicates whether metrics should generate summary statistics for called API operations. + :keyword ~azure.storage.blob.RetentionPolicy retention_policy: + Determines how long the associated data should persist. If not specified the retention + policy will be disabled by default. + """ + + def __init__(self, **kwargs): + self.version = kwargs.get('version', u'1.0') + self.enabled = kwargs.get('enabled', False) + self.include_apis = kwargs.get('include_apis') + self.retention_policy = kwargs.get('retention_policy') or RetentionPolicy() + + @classmethod + def _from_generated(cls, generated): + if not generated: + return cls() + return cls( + version=generated.version, + enabled=generated.enabled, + include_apis=generated.include_apis, + retention_policy=RetentionPolicy._from_generated(generated.retention_policy) # pylint: disable=protected-access + ) + + +class RetentionPolicy(GeneratedRetentionPolicy): + """The retention policy which determines how long the associated data should + persist. + + :param bool enabled: + Indicates whether a retention policy is enabled for the storage service. + The default value is False. + :param int days: + Indicates the number of days that metrics or logging or + soft-deleted data should be retained. All data older than this value will + be deleted. If enabled=True, the number of days must be specified. + """ + + def __init__(self, enabled=False, days=None): + self.enabled = enabled + self.days = days + if self.enabled and (self.days is None): + raise ValueError("If policy is enabled, 'days' must be specified.") + + @classmethod + def _from_generated(cls, generated): + if not generated: + return cls() + return cls( + enabled=generated.enabled, + days=generated.days, + ) + + +class StaticWebsite(GeneratedStaticWebsite): + """The properties that enable an account to host a static website. + + :keyword bool enabled: + Indicates whether this account is hosting a static website. + The default value is `False`. + :keyword str index_document: + The default name of the index page under each directory. + :keyword str error_document404_path: + The absolute path of the custom 404 page. + :keyword str default_index_document_path: + Absolute path of the default index page. + """ + + def __init__(self, **kwargs): + self.enabled = kwargs.get('enabled', False) + if self.enabled: + self.index_document = kwargs.get('index_document') + self.error_document404_path = kwargs.get('error_document404_path') + self.default_index_document_path = kwargs.get('default_index_document_path') + else: + self.index_document = None + self.error_document404_path = None + self.default_index_document_path = None + + @classmethod + def _from_generated(cls, generated): + if not generated: + return cls() + return cls( + enabled=generated.enabled, + index_document=generated.index_document, + error_document404_path=generated.error_document404_path, + default_index_document_path=generated.default_index_document_path + ) + + +class CorsRule(GeneratedCorsRule): + """CORS is an HTTP feature that enables a web application running under one + domain to access resources in another domain. Web browsers implement a + security restriction known as same-origin policy that prevents a web page + from calling APIs in a different domain; CORS provides a secure way to + allow one domain (the origin domain) to call APIs in another domain. + + :param list(str) allowed_origins: + A list of origin domains that will be allowed via CORS, or "*" to allow + all domains. The list of must contain at least one entry. Limited to 64 + origin domains. Each allowed origin can have up to 256 characters. + :param list(str) allowed_methods: + A list of HTTP methods that are allowed to be executed by the origin. + The list of must contain at least one entry. For Azure Storage, + permitted methods are DELETE, GET, HEAD, MERGE, POST, OPTIONS or PUT. + :keyword list(str) allowed_headers: + Defaults to an empty list. A list of headers allowed to be part of + the cross-origin request. Limited to 64 defined headers and 2 prefixed + headers. Each header can be up to 256 characters. + :keyword list(str) exposed_headers: + Defaults to an empty list. A list of response headers to expose to CORS + clients. Limited to 64 defined headers and two prefixed headers. Each + header can be up to 256 characters. + :keyword int max_age_in_seconds: + The number of seconds that the client/browser should cache a + preflight response. + """ + + def __init__(self, allowed_origins, allowed_methods, **kwargs): + self.allowed_origins = ','.join(allowed_origins) + self.allowed_methods = ','.join(allowed_methods) + self.allowed_headers = ','.join(kwargs.get('allowed_headers', [])) + self.exposed_headers = ','.join(kwargs.get('exposed_headers', [])) + self.max_age_in_seconds = kwargs.get('max_age_in_seconds', 0) + + @classmethod + def _from_generated(cls, generated): + return cls( + [generated.allowed_origins], + [generated.allowed_methods], + allowed_headers=[generated.allowed_headers], + exposed_headers=[generated.exposed_headers], + max_age_in_seconds=generated.max_age_in_seconds, + ) + + +class ContainerProperties(DictMixin): + """Blob container's properties class. + + Returned ``ContainerProperties`` instances expose these values through a + dictionary interface, for example: ``container_props["last_modified"]``. + Additionally, the container name is available as ``container_props["name"]``. + + :ivar ~datetime.datetime last_modified: + A datetime object representing the last time the container was modified. + :ivar str etag: + The ETag contains a value that you can use to perform operations + conditionally. + :ivar ~azure.storage.blob.LeaseProperties lease: + Stores all the lease information for the container. + :ivar str public_access: Specifies whether data in the container may be accessed + publicly and the level of access. + :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. + :ivar dict metadata: A dict with name-value pairs to associate with the + container as metadata. + :ivar ~azure.storage.blob.ContainerEncryptionScope encryption_scope: + The default encryption scope configuration for the container. + """ + + def __init__(self, **kwargs): + self.name = None + self.last_modified = kwargs.get('Last-Modified') + self.etag = kwargs.get('ETag') + self.lease = LeaseProperties(**kwargs) + self.public_access = kwargs.get('x-ms-blob-public-access') + self.has_immutability_policy = kwargs.get('x-ms-has-immutability-policy') + self.deleted = None + self.version = None + self.has_legal_hold = kwargs.get('x-ms-has-legal-hold') + self.metadata = kwargs.get('metadata') + self.encryption_scope = None + default_encryption_scope = kwargs.get('x-ms-default-encryption-scope') + if default_encryption_scope: + self.encryption_scope = ContainerEncryptionScope( + default_encryption_scope=default_encryption_scope, + prevent_encryption_scope_override=kwargs.get('x-ms-deny-encryption-scope-override', False) + ) + + @classmethod + def _from_generated(cls, generated): + props = cls() + props.name = generated.name + props.last_modified = generated.properties.last_modified + props.etag = generated.properties.etag + props.lease = LeaseProperties._from_generated(generated) # pylint: disable=protected-access + props.public_access = generated.properties.public_access + props.has_immutability_policy = generated.properties.has_immutability_policy + props.deleted = generated.deleted + props.version = generated.version + props.has_legal_hold = generated.properties.has_legal_hold + props.metadata = generated.metadata + props.encryption_scope = ContainerEncryptionScope._from_generated(generated) #pylint: disable=protected-access + return props + + +class ContainerPropertiesPaged(PageIterator): + """An Iterable of Container properties. + + :ivar str service_endpoint: The service URL. + :ivar str prefix: A container name prefix being used to filter the list. + :ivar str marker: The continuation token of the current page of results. + :ivar int results_per_page: The maximum number of results retrieved per API call. + :ivar str continuation_token: The continuation token to retrieve the next page of results. + :ivar str location_mode: The location mode being used to list results. The available + options include "primary" and "secondary". + :ivar current_page: The current page of listed results. + :vartype current_page: list(~azure.storage.blob.ContainerProperties) + + :param callable command: Function to retrieve the next page of items. + :param str prefix: Filters the results to return only containers whose names + begin with the specified prefix. + :param int results_per_page: The maximum number of container names to retrieve per + call. + :param str continuation_token: An opaque continuation token. + """ + def __init__(self, command, prefix=None, results_per_page=None, continuation_token=None): + super(ContainerPropertiesPaged, self).__init__( + get_next=self._get_next_cb, + extract_data=self._extract_data_cb, + continuation_token=continuation_token or "" + ) + self._command = command + self.service_endpoint = None + self.prefix = prefix + self.marker = None + self.results_per_page = results_per_page + self.location_mode = None + self.current_page = [] + + def _get_next_cb(self, continuation_token): + try: + return self._command( + marker=continuation_token or None, + maxresults=self.results_per_page, + cls=return_context_and_deserialized, + use_location=self.location_mode) + except StorageErrorException as error: + process_storage_error(error) + + def _extract_data_cb(self, get_next_return): + self.location_mode, self._response = get_next_return + self.service_endpoint = self._response.service_endpoint + self.prefix = self._response.prefix + self.marker = self._response.marker + self.results_per_page = self._response.max_results + self.current_page = [self._build_item(item) for item in self._response.container_items] + + return self._response.next_marker or None, self.current_page + + @staticmethod + def _build_item(item): + return ContainerProperties._from_generated(item) # pylint: disable=protected-access + + +class BlobProperties(DictMixin): + """ + Blob Properties. + + :ivar str name: + The name of the blob. + :ivar str container: + The container in which the blob resides. + :ivar str snapshot: + Datetime value that uniquely identifies the blob snapshot. + :ivar ~azure.blob.storage.BlobType blob_type: + String indicating this blob's type. + :ivar dict metadata: + Name-value pairs associated with the blob as metadata. + :ivar ~datetime.datetime last_modified: + A datetime object representing the last time the blob was modified. + :ivar str etag: + The ETag contains a value that you can use to perform operations + conditionally. + :ivar int size: + The size of the content returned. If the entire blob was requested, + the length of blob in bytes. If a subset of the blob was requested, the + length of the returned subset. + :ivar str content_range: + Indicates the range of bytes returned in the event that the client + requested a subset of the blob. + :ivar int append_blob_committed_block_count: + (For Append Blobs) Number of committed blocks in the blob. + :ivar bool is_append_blob_sealed: + Indicate if the append blob is sealed or not. + + .. versionadded:: 12.4.0 + + :ivar int page_blob_sequence_number: + (For Page Blobs) Sequence number for page blob used for coordinating + concurrent writes. + :ivar bool server_encrypted: + Set to true if the blob is encrypted on the server. + :ivar ~azure.storage.blob.CopyProperties copy: + Stores all the copy properties for the blob. + :ivar ~azure.storage.blob.ContentSettings content_settings: + Stores all the content settings for the blob. + :ivar ~azure.storage.blob.LeaseProperties lease: + Stores all the lease information for the blob. + :ivar ~azure.storage.blob.StandardBlobTier blob_tier: + Indicates the access tier of the blob. The hot tier is optimized + for storing data that is accessed frequently. The cool storage tier + is optimized for storing data that is infrequently accessed and stored + for at least a month. The archive tier is optimized for storing + data that is rarely accessed and stored for at least six months + with flexible latency requirements. + :ivar str rehydrate_priority: + Indicates the priority with which to rehydrate an archived blob + :ivar ~datetime.datetime blob_tier_change_time: + Indicates when the access tier was last changed. + :ivar bool blob_tier_inferred: + Indicates whether the access tier was inferred by the service. + If false, it indicates that the tier was set explicitly. + :ivar bool deleted: + Whether this blob was deleted. + :ivar ~datetime.datetime deleted_time: + 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.datetime creation_time: + Indicates when the blob was created, in UTC. + :ivar str archive_status: + Archive status of blob. + :ivar str encryption_key_sha256: + The SHA-256 hash of the provided encryption key. + :ivar str encryption_scope: + A predefined encryption scope used to encrypt the data on the service. An encryption + scope can be created using the Management API and referenced here by name. If a default + encryption scope has been defined at the container, this value will override it if the + container-level scope is configured to allow overrides. Otherwise an error will be raised. + :ivar bool request_server_encrypted: + Whether this blob is encrypted. + :ivar list(~azure.storage.blob.ObjectReplicationPolicy) object_replication_source_properties: + Only present for blobs that have policy ids and rule ids applied to them. + + .. versionadded:: 12.4.0 + + :ivar str object_replication_destination_policy: + Represents the Object Replication Policy Id that created this blob. + + .. versionadded:: 12.4.0 + + :ivar ~datetime.datetime last_accessed_on: + Indicates when the last Read/Write operation was performed on a Blob. + + .. versionadded:: 12.6.0 + + :ivar int tag_count: + Tags count on this blob. + + .. versionadded:: 12.4.0 + + :ivar dict(str, str) tags: + Key value pair of tags on this blob. + + .. versionadded:: 12.4.0 + + """ + + def __init__(self, **kwargs): + self.name = kwargs.get('name') + self.container = None + self.snapshot = kwargs.get('x-ms-snapshot') + self.version_id = kwargs.get('x-ms-version-id') + self.is_current_version = kwargs.get('x-ms-is-current-version') + self.blob_type = BlobType(kwargs['x-ms-blob-type']) if kwargs.get('x-ms-blob-type') else None + self.metadata = kwargs.get('metadata') + self.encrypted_metadata = kwargs.get('encrypted_metadata') + self.last_modified = kwargs.get('Last-Modified') + self.etag = kwargs.get('ETag') + self.size = kwargs.get('Content-Length') + self.content_range = kwargs.get('Content-Range') + self.append_blob_committed_block_count = kwargs.get('x-ms-blob-committed-block-count') + self.is_append_blob_sealed = kwargs.get('x-ms-blob-sealed') + self.page_blob_sequence_number = kwargs.get('x-ms-blob-sequence-number') + self.server_encrypted = kwargs.get('x-ms-server-encrypted') + self.copy = CopyProperties(**kwargs) + self.content_settings = ContentSettings(**kwargs) + self.lease = LeaseProperties(**kwargs) + self.blob_tier = kwargs.get('x-ms-access-tier') + self.rehydrate_priority = kwargs.get('x-ms-rehydrate-priority') + self.blob_tier_change_time = kwargs.get('x-ms-access-tier-change-time') + self.blob_tier_inferred = kwargs.get('x-ms-access-tier-inferred') + self.deleted = False + self.deleted_time = None + self.remaining_retention_days = None + self.creation_time = kwargs.get('x-ms-creation-time') + self.archive_status = kwargs.get('x-ms-archive-status') + self.encryption_key_sha256 = kwargs.get('x-ms-encryption-key-sha256') + self.encryption_scope = kwargs.get('x-ms-encryption-scope') + self.request_server_encrypted = kwargs.get('x-ms-server-encrypted') + self.object_replication_source_properties = kwargs.get('object_replication_source_properties') + self.object_replication_destination_policy = kwargs.get('x-ms-or-policy-id') + self.last_accessed_on = kwargs.get('x-ms-last-access-time') + self.tag_count = kwargs.get('x-ms-tag-count') + self.tags = None + + +class FilteredBlob(DictMixin): + """Blob info from a Filter Blobs API call. + + :ivar name: Blob name + :type name: str + :ivar container_name: Container name. + :type container_name: str + """ + def __init__(self, **kwargs): + self.name = kwargs.get('name', None) + self.container_name = kwargs.get('container_name', None) + + +class FilteredBlobPaged(PageIterator): + """An Iterable of Blob properties. + + :ivar str service_endpoint: The service URL. + :ivar str prefix: A blob name prefix being used to filter the list. + :ivar str marker: The continuation token of the current page of results. + :ivar int results_per_page: The maximum number of results retrieved per API call. + :ivar str continuation_token: The continuation token to retrieve the next page of results. + :ivar str location_mode: The location mode being used to list results. The available + options include "primary" and "secondary". + :ivar current_page: The current page of listed results. + :vartype current_page: list(~azure.storage.blob.FilteredBlob) + :ivar str container: The container that the blobs are listed from. + + :param callable command: Function to retrieve the next page of items. + :param str container: The name of the container. + :param int results_per_page: The maximum number of blobs to retrieve per + call. + :param str continuation_token: An opaque continuation token. + :param location_mode: Specifies the location the request should be sent to. + This mode only applies for RA-GRS accounts which allow secondary read access. + Options include 'primary' or 'secondary'. + """ + def __init__( + self, command, + container=None, + results_per_page=None, + continuation_token=None, + location_mode=None): + super(FilteredBlobPaged, self).__init__( + get_next=self._get_next_cb, + extract_data=self._extract_data_cb, + continuation_token=continuation_token or "" + ) + self._command = command + self.service_endpoint = None + self.marker = continuation_token + self.results_per_page = results_per_page + self.container = container + self.current_page = None + self.location_mode = location_mode + + def _get_next_cb(self, continuation_token): + try: + return self._command( + marker=continuation_token or None, + maxresults=self.results_per_page, + cls=return_context_and_deserialized, + use_location=self.location_mode) + except StorageErrorException as error: + process_storage_error(error) + + def _extract_data_cb(self, get_next_return): + self.location_mode, self._response = get_next_return + self.service_endpoint = self._response.service_endpoint + self.marker = self._response.next_marker + self.current_page = [self._build_item(item) for item in self._response.blobs] + + return self._response.next_marker or None, self.current_page + + @staticmethod + def _build_item(item): + if isinstance(item, FilterBlobItem): + blob = FilteredBlob(name=item.name, container_name=item.container_name) # pylint: disable=protected-access + return blob + return item + + +class LeaseProperties(DictMixin): + """Blob Lease Properties. + + :ivar str status: + The lease status of the blob. Possible values: locked|unlocked + :ivar str state: + Lease state of the blob. Possible values: available|leased|expired|breaking|broken + :ivar str duration: + When a blob is leased, specifies whether the lease is of infinite or fixed duration. + """ + + def __init__(self, **kwargs): + self.status = get_enum_value(kwargs.get('x-ms-lease-status')) + self.state = get_enum_value(kwargs.get('x-ms-lease-state')) + self.duration = get_enum_value(kwargs.get('x-ms-lease-duration')) + + @classmethod + def _from_generated(cls, generated): + lease = cls() + lease.status = get_enum_value(generated.properties.lease_status) + lease.state = get_enum_value(generated.properties.lease_state) + lease.duration = get_enum_value(generated.properties.lease_duration) + return lease + + +class ContentSettings(DictMixin): + """The content settings of a blob. + + :param str content_type: + The content type specified for the blob. If no content type was + specified, the default content type is application/octet-stream. + :param str content_encoding: + If the content_encoding has previously been set + for the blob, that value is stored. + :param str content_language: + If the content_language has previously been set + for the blob, that value is stored. + :param str content_disposition: + content_disposition conveys additional information about how to + process the response payload, and also can be used to attach + additional metadata. If content_disposition has previously been set + for the blob, that value is stored. + :param str cache_control: + If the cache_control has previously been set for + the blob, that value is stored. + :param str content_md5: + If the content_md5 has been set for the blob, this response + header is stored so that the client can check for message content + integrity. + """ + + def __init__( + self, content_type=None, content_encoding=None, + content_language=None, content_disposition=None, + cache_control=None, content_md5=None, **kwargs): + + self.content_type = content_type or kwargs.get('Content-Type') + self.content_encoding = content_encoding or kwargs.get('Content-Encoding') + self.content_language = content_language or kwargs.get('Content-Language') + self.content_md5 = content_md5 or kwargs.get('Content-MD5') + self.content_disposition = content_disposition or kwargs.get('Content-Disposition') + self.cache_control = cache_control or kwargs.get('Cache-Control') + + @classmethod + def _from_generated(cls, generated): + settings = cls() + settings.content_type = generated.properties.content_type or None + settings.content_encoding = generated.properties.content_encoding or None + settings.content_language = generated.properties.content_language or None + settings.content_md5 = generated.properties.content_md5 or None + settings.content_disposition = generated.properties.content_disposition or None + settings.cache_control = generated.properties.cache_control or None + return settings + + +class CopyProperties(DictMixin): + """Blob Copy Properties. + + These properties will be `None` if this blob has never been the destination + in a Copy Blob operation, or if this blob has been modified after a concluded + Copy Blob operation, for example, using Set Blob Properties, Upload Blob, or Commit Block List. + + :ivar str id: + String identifier for the last attempted Copy Blob operation where this blob + was the destination blob. + :ivar str source: + URL up to 2 KB in length that specifies the source blob used in the last attempted + Copy Blob operation where this blob was the destination blob. + :ivar str status: + State of the copy operation identified by Copy ID, with these values: + success: + Copy completed successfully. + pending: + Copy is in progress. Check copy_status_description if intermittent, + non-fatal errors impede copy progress but don't cause failure. + aborted: + Copy was ended by Abort Copy Blob. + failed: + Copy failed. See copy_status_description for failure details. + :ivar str progress: + Contains the number of bytes copied and the total bytes in the source in the last + attempted Copy Blob operation where this blob was the destination blob. Can show + between 0 and Content-Length bytes copied. + :ivar ~datetime.datetime completion_time: + Conclusion time of the last attempted Copy Blob operation where this blob was the + destination blob. This value can specify the time of a completed, aborted, or + failed copy attempt. + :ivar str status_description: + Only appears when x-ms-copy-status is failed or pending. Describes cause of fatal + or non-fatal copy operation failure. + :ivar bool incremental_copy: + Copies the snapshot of the source page blob to a destination page blob. + The snapshot is copied such that only the differential changes between + the previously copied snapshot are transferred to the destination + :ivar ~datetime.datetime destination_snapshot: + Included if the blob is incremental copy blob or incremental copy snapshot, + if x-ms-copy-status is success. Snapshot time of the last successful + incremental copy snapshot for this blob. + """ + + def __init__(self, **kwargs): + self.id = kwargs.get('x-ms-copy-id') + self.source = kwargs.get('x-ms-copy-source') + self.status = get_enum_value(kwargs.get('x-ms-copy-status')) + self.progress = kwargs.get('x-ms-copy-progress') + self.completion_time = kwargs.get('x-ms-copy-completion_time') + self.status_description = kwargs.get('x-ms-copy-status-description') + self.incremental_copy = kwargs.get('x-ms-incremental-copy') + self.destination_snapshot = kwargs.get('x-ms-copy-destination-snapshot') + + @classmethod + def _from_generated(cls, generated): + copy = cls() + copy.id = generated.properties.copy_id or None + copy.status = get_enum_value(generated.properties.copy_status) or None + copy.source = generated.properties.copy_source or None + copy.progress = generated.properties.copy_progress or None + copy.completion_time = generated.properties.copy_completion_time or None + copy.status_description = generated.properties.copy_status_description or None + copy.incremental_copy = generated.properties.incremental_copy or None + copy.destination_snapshot = generated.properties.destination_snapshot or None + return copy + + +class BlobBlock(DictMixin): + """BlockBlob Block class. + + :param str block_id: + Block id. + :param str state: + Block state. Possible values: committed|uncommitted + :ivar int size: + Block size in bytes. + """ + + def __init__(self, block_id, state=BlockState.Latest): + self.id = block_id + self.state = state + self.size = None + + @classmethod + def _from_generated(cls, generated): + block = cls(decode_base64_to_text(generated.name)) + block.size = generated.size + return block + + +class PageRange(DictMixin): + """Page Range for page blob. + + :param int start: + Start of page range in bytes. + :param int end: + End of page range in bytes. + """ + + def __init__(self, start=None, end=None): + self.start = start + self.end = end + + +class AccessPolicy(GenAccessPolicy): + """Access Policy class used by the set and get access policy methods in each service. + + A stored access policy can specify the start time, expiry time, and + permissions for the Shared Access Signatures with which it's associated. + Depending on how you want to control access to your resource, you can + specify all of these parameters within the stored access policy, and omit + them from the URL for the Shared Access Signature. Doing so permits you to + modify the associated signature's behavior at any time, as well as to revoke + it. Or you can specify one or more of the access policy parameters within + the stored access policy, and the others on the URL. Finally, you can + specify all of the parameters on the URL. In this case, you can use the + stored access policy to revoke the signature, but not to modify its behavior. + + Together the Shared Access Signature and the stored access policy must + include all fields required to authenticate the signature. If any required + fields are missing, the request will fail. Likewise, if a field is specified + both in the Shared Access Signature URL and in the stored access policy, the + request will fail with status code 400 (Bad Request). + + :param permission: + The permissions associated with the shared access signature. The + user is restricted to operations allowed by the permissions. + Required unless an id is given referencing a stored access policy + which contains this field. This field must be omitted if it has been + specified in an associated stored access policy. + :type permission: str or ~azure.storage.blob.ContainerSasPermissions + :param expiry: + The time at which the shared access signature becomes invalid. + Required unless an id is given referencing a stored access policy + which contains this field. This field must be omitted if it has + been specified in an associated stored access policy. Azure will always + convert values to UTC. If a date is passed in without timezone info, it + is assumed to be UTC. + :type expiry: ~datetime.datetime or str + :param start: + The time at which the shared access signature becomes valid. If + omitted, start time for this call is assumed to be the time when the + storage service receives the request. Azure will always convert values + to UTC. If a date is passed in without timezone info, it is assumed to + be UTC. + :type start: ~datetime.datetime or str + """ + def __init__(self, permission=None, expiry=None, start=None): + self.start = start + self.expiry = expiry + self.permission = permission + + +class ContainerSasPermissions(object): + """ContainerSasPermissions class to be used with the + :func:`~azure.storage.blob.generate_container_sas` function and + for the AccessPolicies used with + :func:`~azure.storage.blob.ContainerClient.set_container_access_policy`. + + :param bool read: + Read the content, properties, metadata or block list of any blob in the + container. Use any blob in the container as the source of a copy operation. + :param bool write: + For any blob in the container, create or write content, properties, + metadata, or block list. Snapshot or lease the blob. Resize the blob + (page blob only). Use the blob as the destination of a copy operation + within the same account. Note: You cannot grant permissions to read or + write container properties or metadata, nor to lease a container, with + a container SAS. Use an account SAS instead. + :param bool delete: + Delete any blob in the container. Note: You cannot grant permissions to + delete a container with a container SAS. Use an account SAS instead. + :param bool delete_previous_version: + Delete the previous blob version for the versioning enabled storage account. + :param bool list: + List blobs in the container. + :param bool tag: + Set or get tags on the blobs in the container. + """ + def __init__(self, read=False, write=False, delete=False, list=False, delete_previous_version=False, tag=False): # pylint: disable=redefined-builtin + self.read = read + self.write = write + self.delete = delete + self.list = list + self.delete_previous_version = delete_previous_version + self.tag = tag + self._str = (('r' if self.read else '') + + ('w' if self.write else '') + + ('d' if self.delete else '') + + ('x' if self.delete_previous_version else '') + + ('l' if self.list else '') + + ('t' if self.tag else '')) + + def __str__(self): + return self._str + + @classmethod + def from_string(cls, permission): + """Create a ContainerSasPermissions from a string. + + To specify read, write, delete, or list permissions you need only to + include the first letter of the word in the string. E.g. For read and + write permissions, you would provide a string "rw". + + :param str permission: The string which dictates the read, write, delete, + and list permissions. + :return: A ContainerSasPermissions object + :rtype: ~azure.storage.blob.ContainerSasPermissions + """ + p_read = 'r' in permission + p_write = 'w' in permission + p_delete = 'd' in permission + p_list = 'l' in permission + p_delete_previous_version = 'x' in permission + p_tag = 't' in permission + parsed = cls(read=p_read, write=p_write, delete=p_delete, list=p_list, + delete_previous_version=p_delete_previous_version, tag=p_tag) + + return parsed + + +class BlobSasPermissions(object): + """BlobSasPermissions class to be used with the + :func:`~azure.storage.blob.generate_blob_sas` function. + + :param bool read: + Read the content, properties, metadata and block list. Use the blob as + the source of a copy operation. + :param bool add: + Add a block to an append blob. + :param bool create: + Write a new blob, snapshot a blob, or copy a blob to a new blob. + :param bool write: + Create or write content, properties, metadata, or block list. Snapshot + or lease the blob. Resize the blob (page blob only). Use the blob as the + destination of a copy operation within the same account. + :param bool delete: + Delete the blob. + :param bool delete_previous_version: + Delete the previous blob version for the versioning enabled storage account. + :param bool tag: + Set or get tags on the blob. + """ + def __init__(self, read=False, add=False, create=False, write=False, + delete=False, delete_previous_version=False, tag=True): + self.read = read + self.add = add + self.create = create + self.write = write + self.delete = delete + self.delete_previous_version = delete_previous_version + self.tag = tag + self._str = (('r' if self.read else '') + + ('a' if self.add else '') + + ('c' if self.create else '') + + ('w' if self.write else '') + + ('d' if self.delete else '') + + ('x' if self.delete_previous_version else '') + + ('t' if self.tag else '')) + + def __str__(self): + return self._str + + @classmethod + def from_string(cls, permission): + """Create a BlobSasPermissions from a string. + + To specify read, add, create, write, or delete permissions you need only to + include the first letter of the word in the string. E.g. For read and + write permissions, you would provide a string "rw". + + :param str permission: The string which dictates the read, add, create, + write, or delete permissions. + :return: A BlobSasPermissions object + :rtype: ~azure.storage.blob.BlobSasPermissions + """ + p_read = 'r' in permission + p_add = 'a' in permission + p_create = 'c' in permission + p_write = 'w' in permission + p_delete = 'd' in permission + p_delete_previous_version = 'x' in permission + p_tag = 't' in permission + + parsed = cls(read=p_read, add=p_add, create=p_create, write=p_write, delete=p_delete, + delete_previous_version=p_delete_previous_version, tag=p_tag) + + return parsed + + +class CustomerProvidedEncryptionKey(object): + """ + All data in Azure Storage is encrypted at-rest using an account-level encryption key. + In versions 2018-06-17 and newer, you can manage the key used to encrypt blob contents + and application metadata per-blob by providing an AES-256 encryption key in requests to the storage service. + + When you use a customer-provided key, Azure Storage does not manage or persist your key. + When writing data to a blob, the provided key is used to encrypt your data before writing it to disk. + A SHA-256 hash of the encryption key is written alongside the blob contents, + and is used to verify that all subsequent operations against the blob use the same encryption key. + This hash cannot be used to retrieve the encryption key or decrypt the contents of the blob. + When reading a blob, the provided key is used to decrypt your data after reading it from disk. + In both cases, the provided encryption key is securely discarded + as soon as the encryption or decryption process completes. + + :param str key_value: + Base64-encoded AES-256 encryption key value. + :param str key_hash: + Base64-encoded SHA256 of the encryption key. + :ivar str algorithm: + Specifies the algorithm to use when encrypting data using the given key. Must be AES256. + """ + def __init__(self, key_value, key_hash): + self.key_value = key_value + self.key_hash = key_hash + self.algorithm = 'AES256' + + +class ContainerEncryptionScope(object): + """The default encryption scope configuration for a container. + + This scope is used implicitly for all future writes within the container, + but can be overridden per blob operation. + + .. versionadded:: 12.2.0 + + :param str default_encryption_scope: + Specifies the default encryption scope to set on the container and use for + all future writes. + :param bool prevent_encryption_scope_override: + If true, prevents any request from specifying a different encryption scope than the scope + set on the container. Default value is false. + """ + + def __init__(self, default_encryption_scope, **kwargs): + self.default_encryption_scope = default_encryption_scope + self.prevent_encryption_scope_override = kwargs.get('prevent_encryption_scope_override', False) + + @classmethod + def _from_generated(cls, generated): + if generated.properties.default_encryption_scope: + scope = cls( + generated.properties.default_encryption_scope, + prevent_encryption_scope_override=generated.properties.prevent_encryption_scope_override or False + ) + return scope + return None + + +class DelimitedJsonDialect(object): + """Defines the input or output JSON serialization for a blob data query. + + :keyword str delimiter: The line separator character, default value is '\n' + """ + + def __init__(self, **kwargs): + self.delimiter = kwargs.pop('delimiter', '\n') + + +class DelimitedTextDialect(object): + """Defines the input or output delimited (CSV) serialization for a blob query request. + + :keyword str delimiter: + Column separator, defaults to ','. + :keyword str quotechar: + Field quote, defaults to '"'. + :keyword str lineterminator: + Record separator, defaults to '\n'. + :keyword str escapechar: + Escape char, defaults to empty. + :keyword bool has_header: + Whether the blob data includes headers in the first line. The default value is False, meaning that the + data will be returned inclusive of the first line. If set to True, the data will be returned exclusive + of the first line. + """ + def __init__(self, **kwargs): + self.delimiter = kwargs.pop('delimiter', ',') + self.quotechar = kwargs.pop('quotechar', '"') + self.lineterminator = kwargs.pop('lineterminator', '\n') + self.escapechar = kwargs.pop('escapechar', "") + self.has_header = kwargs.pop('has_header', False) + + +class ArrowDialect(ArrowField): + """field of an arrow schema. + + All required parameters must be populated in order to send to Azure. + + :param ~azure.storage.blob.ArrowType type: Arrow field type. + :keyword str name: The name of the field. + :keyword int precision: The precision of the field. + :keyword int scale: The scale of the field. + """ + def __init__(self, type, **kwargs): # pylint: disable=redefined-builtin + super(ArrowDialect, self).__init__(type=type, **kwargs) + + +class ArrowType(str, Enum): + + INT64 = "int64" + BOOL = "bool" + TIMESTAMP_MS = "timestamp[ms]" + STRING = "string" + DOUBLE = "double" + DECIMAL = 'decimal' + + +class ObjectReplicationPolicy(DictMixin): + """Policy id and rule ids applied to a blob. + + :ivar str policy_id: + Policy id for the blob. A replication policy gets created (policy id) when creating a source/destination pair. + :ivar list(~azure.storage.blob.ObjectReplicationRule) rules: + Within each policy there may be multiple replication rules. + e.g. rule 1= src/container/.pdf to dst/container2/; rule2 = src/container1/.jpg to dst/container3 + """ + + def __init__(self, **kwargs): + self.policy_id = kwargs.pop('policy_id', None) + self.rules = kwargs.pop('rules', None) + + +class ObjectReplicationRule(DictMixin): + """Policy id and rule ids applied to a blob. + + :ivar str rule_id: + Rule id. + :ivar str status: + The status of the rule. It could be "Complete" or "Failed" + """ + + def __init__(self, **kwargs): + self.rule_id = kwargs.pop('rule_id', None) + self.status = kwargs.pop('status', None) + + +class BlobQueryError(object): + """The error happened during quick query operation. + + :ivar str error: + The name of the error. + :ivar bool is_fatal: + If true, this error prevents further query processing. More result data may be returned, + but there is no guarantee that all of the original data will be processed. + If false, this error does not prevent further query processing. + :ivar str description: + A description of the error. + :ivar int position: + The blob offset at which the error occurred. + """ + def __init__(self, error=None, is_fatal=False, description=None, position=None): + self.error = error + self.is_fatal = is_fatal + self.description = description + self.position = position diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_quick_query_helper.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_quick_query_helper.py new file mode 100644 index 00000000000..eb51d987b9a --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_quick_query_helper.py @@ -0,0 +1,196 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- + +from io import BytesIO +from typing import Union, Iterable, IO # pylint: disable=unused-import + +from ._shared.avro.datafile import DataFileReader +from ._shared.avro.avro_io import DatumReader + + +class BlobQueryReader(object): # pylint: disable=too-many-instance-attributes + """A streaming object to read query results. + + :ivar str name: + The name of the blob being quered. + :ivar str container: + The name of the container where the blob is. + :ivar dict response_headers: + The response_headers of the quick query request. + :ivar bytes record_delimiter: + The delimiter used to separate lines, or records with the data. The `records` + method will return these lines via a generator. + """ + + def __init__( + self, + name=None, + container=None, + errors=None, + record_delimiter='\n', + encoding=None, + headers=None, + response=None, + error_cls=None, + ): + self.name = name + self.container = container + self.response_headers = headers + self.record_delimiter = record_delimiter + self._size = 0 + self._bytes_processed = 0 + self._errors = errors + self._encoding = encoding + self._parsed_results = DataFileReader(QuickQueryStreamer(response), DatumReader()) + self._first_result = self._process_record(next(self._parsed_results)) + self._error_cls = error_cls + + def __len__(self): + return self._size + + def _process_record(self, result): + self._size = result.get('totalBytes', self._size) + self._bytes_processed = result.get('bytesScanned', self._bytes_processed) + if 'data' in result: + return result.get('data') + if 'fatal' in result: + error = self._error_cls( + error=result['name'], + is_fatal=result['fatal'], + description=result['description'], + position=result['position'] + ) + if self._errors: + self._errors(error) + return None + + def _iter_stream(self): + if self._first_result is not None: + yield self._first_result + for next_result in self._parsed_results: + processed_result = self._process_record(next_result) + if processed_result is not None: + yield processed_result + + def readall(self): + # type: () -> Union[bytes, str] + """Return all query results. + + This operation is blocking until all data is downloaded. + If encoding has been configured - this will be used to decode individual + records are they are received. + + :rtype: Union[bytes, str] + """ + stream = BytesIO() + self.readinto(stream) + data = stream.getvalue() + if self._encoding: + return data.decode(self._encoding) + return data + + def readinto(self, stream): + # type: (IO) -> None + """Download the query result to a stream. + + :param stream: + The stream to download to. This can be an open file-handle, + or any writable stream. + :returns: None + """ + for record in self._iter_stream(): + stream.write(record) + + def records(self): + # type: () -> Iterable[Union[bytes, str]] + """Returns a record generator for the query result. + + Records will be returned line by line. + If encoding has been configured - this will be used to decode individual + records are they are received. + + :rtype: Iterable[Union[bytes, str]] + """ + delimiter = self.record_delimiter.encode('utf-8') + for record_chunk in self._iter_stream(): + for record in record_chunk.split(delimiter): + if self._encoding: + yield record.decode(self._encoding) + else: + yield record + + + +class QuickQueryStreamer(object): + """ + File-like streaming iterator. + """ + + def __init__(self, generator): + self.generator = generator + self.iterator = iter(generator) + self._buf = b"" + self._point = 0 + self._download_offset = 0 + self._buf_start = 0 + self.file_length = None + + def __len__(self): + return self.file_length + + def __iter__(self): + return self.iterator + + @staticmethod + def seekable(): + return True + + def __next__(self): + next_part = next(self.iterator) + self._download_offset += len(next_part) + return next_part + + next = __next__ # Python 2 compatibility. + + def tell(self): + return self._point + + def seek(self, offset, whence=0): + if whence == 0: + self._point = offset + elif whence == 1: + self._point += offset + else: + raise ValueError("whence must be 0, or 1") + if self._point < 0: + self._point = 0 # XXX is this right? + + def read(self, size): + try: + # keep reading from the generator until the buffer of this stream has enough data to read + while self._point + size > self._download_offset: + self._buf += self.__next__() + except StopIteration: + self.file_length = self._download_offset + + start_point = self._point + + # EOF + self._point = min(self._point + size, self._download_offset) + + relative_start = start_point - self._buf_start + if relative_start < 0: + raise ValueError("Buffer has dumped too much data") + relative_end = relative_start + size + data = self._buf[relative_start: relative_end] + + # dump the extra data in buffer + # buffer start--------------------16bytes----current read position + dumped_size = max(relative_end - 16 - relative_start, 0) + self._buf_start += dumped_size + self._buf = self._buf[dumped_size:] + + return data diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_serialize.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_serialize.py new file mode 100644 index 00000000000..a4b13dad938 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_serialize.py @@ -0,0 +1,196 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +# pylint: disable=no-self-use +try: + from urllib.parse import quote +except ImportError: + from urllib2 import quote # type: ignore + +from azure.core import MatchConditions + +from ._models import ( + ContainerEncryptionScope, + DelimitedJsonDialect) +from ._generated.models import ( + ModifiedAccessConditions, + SourceModifiedAccessConditions, + CpkScopeInfo, + ContainerCpkScopeInfo, + QueryFormat, + QuerySerialization, + DelimitedTextConfiguration, + JsonTextConfiguration, + ArrowConfiguration, + QueryFormatType, + BlobTag, + BlobTags, LeaseAccessConditions +) + + +_SUPPORTED_API_VERSIONS = [ + '2019-02-02', + '2019-07-07', + '2019-10-10', + '2019-12-12', + '2020-02-10', +] + + +def _get_match_headers(kwargs, match_param, etag_param): + # type: (str) -> Tuple(Dict[str, Any], Optional[str], Optional[str]) + if_match = None + if_none_match = None + match_condition = kwargs.pop(match_param, None) + if match_condition == MatchConditions.IfNotModified: + if_match = kwargs.pop(etag_param, None) + if not if_match: + raise ValueError("'{}' specified without '{}'.".format(match_param, etag_param)) + elif match_condition == MatchConditions.IfPresent: + if_match = '*' + elif match_condition == MatchConditions.IfModified: + if_none_match = kwargs.pop(etag_param, None) + if not if_none_match: + raise ValueError("'{}' specified without '{}'.".format(match_param, etag_param)) + elif match_condition == MatchConditions.IfMissing: + if_none_match = '*' + elif match_condition is None: + if kwargs.get(etag_param): + raise ValueError("'{}' specified without '{}'.".format(etag_param, match_param)) + else: + raise TypeError("Invalid match condition: {}".format(match_condition)) + return if_match, if_none_match + + +def get_access_conditions(lease): + # type: (Optional[Union[BlobLeaseClient, str]]) -> Union[LeaseAccessConditions, None] + try: + lease_id = lease.id # type: ignore + except AttributeError: + lease_id = lease # type: ignore + return LeaseAccessConditions(lease_id=lease_id) if lease_id else None + + +def get_modify_conditions(kwargs): + # type: (Dict[str, Any]) -> ModifiedAccessConditions + if_match, if_none_match = _get_match_headers(kwargs, 'match_condition', 'etag') + return ModifiedAccessConditions( + if_modified_since=kwargs.pop('if_modified_since', None), + if_unmodified_since=kwargs.pop('if_unmodified_since', None), + if_match=if_match or kwargs.pop('if_match', None), + if_none_match=if_none_match or kwargs.pop('if_none_match', None), + if_tags=kwargs.pop('if_tags_match_condition', None) + ) + + +def get_source_conditions(kwargs): + # type: (Dict[str, Any]) -> SourceModifiedAccessConditions + if_match, if_none_match = _get_match_headers(kwargs, 'source_match_condition', 'source_etag') + return SourceModifiedAccessConditions( + source_if_modified_since=kwargs.pop('source_if_modified_since', None), + source_if_unmodified_since=kwargs.pop('source_if_unmodified_since', None), + source_if_match=if_match or kwargs.pop('source_if_match', None), + source_if_none_match=if_none_match or kwargs.pop('source_if_none_match', None), + source_if_tags=kwargs.pop('source_if_tags_match_condition', None) + ) + + +def get_cpk_scope_info(kwargs): + # type: (Dict[str, Any]) -> CpkScopeInfo + if 'encryption_scope' in kwargs: + return CpkScopeInfo(encryption_scope=kwargs.pop('encryption_scope')) + return None + + +def get_container_cpk_scope_info(kwargs): + # type: (Dict[str, Any]) -> ContainerCpkScopeInfo + encryption_scope = kwargs.pop('container_encryption_scope', None) + if encryption_scope: + if isinstance(encryption_scope, ContainerEncryptionScope): + return ContainerCpkScopeInfo( + default_encryption_scope=encryption_scope.default_encryption_scope, + prevent_encryption_scope_override=encryption_scope.prevent_encryption_scope_override + ) + if isinstance(encryption_scope, dict): + return ContainerCpkScopeInfo( + default_encryption_scope=encryption_scope['default_encryption_scope'], + prevent_encryption_scope_override=encryption_scope.get('prevent_encryption_scope_override') + ) + raise TypeError("Container encryption scope must be dict or type ContainerEncryptionScope.") + return None + + +def get_api_version(kwargs, default): + # type: (Dict[str, Any]) -> str + api_version = kwargs.pop('api_version', None) + if api_version and api_version not in _SUPPORTED_API_VERSIONS: + versions = '\n'.join(_SUPPORTED_API_VERSIONS) + raise ValueError("Unsupported API version '{}'. Please select from:\n{}".format(api_version, versions)) + return api_version or default + + +def serialize_blob_tags_header(tags=None): + # type: (Optional[Dict[str, str]]) -> str + if tags is None: + return None + + components = list() + if tags: + for key, value in tags.items(): + components.append(quote(key, safe='.-')) + components.append('=') + components.append(quote(value, safe='.-')) + components.append('&') + + if components: + del components[-1] + + return ''.join(components) + + +def serialize_blob_tags(tags=None): + # type: (Optional[Dict[str, str]]) -> Union[BlobTags, None] + tag_list = list() + if tags: + tag_list = [BlobTag(key=k, value=v) for k, v in tags.items()] + return BlobTags(blob_tag_set=tag_list) + + +def serialize_query_format(formater): + if isinstance(formater, DelimitedJsonDialect): + serialization_settings = JsonTextConfiguration( + record_separator=formater.delimiter + ) + qq_format = QueryFormat( + type=QueryFormatType.json, + json_text_configuration=serialization_settings) + elif hasattr(formater, 'quotechar'): # This supports a csv.Dialect as well + try: + headers = formater.has_header + except AttributeError: + headers = False + serialization_settings = DelimitedTextConfiguration( + column_separator=formater.delimiter, + field_quote=formater.quotechar, + record_separator=formater.lineterminator, + escape_char=formater.escapechar, + headers_present=headers + ) + qq_format = QueryFormat( + type=QueryFormatType.delimited, + delimited_text_configuration=serialization_settings + ) + elif isinstance(formater, list): + serialization_settings = ArrowConfiguration( + schema=formater + ) + qq_format = QueryFormat( + type=QueryFormatType.arrow, + arrow_configuration=serialization_settings) + elif not formater: + return None + else: + raise TypeError("Format must be DelimitedTextDialect or DelimitedJsonDialect.") + return QuerySerialization(format=qq_format) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/__init__.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/__init__.py new file mode 100644 index 00000000000..160f8822382 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/__init__.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. +# -------------------------------------------------------------------------- + +import base64 +import hashlib +import hmac + +try: + from urllib.parse import quote, unquote +except ImportError: + from urllib2 import quote, unquote # type: ignore + +import six + + +def url_quote(url): + return quote(url) + + +def url_unquote(url): + return unquote(url) + + +def encode_base64(data): + if isinstance(data, six.text_type): + data = data.encode('utf-8') + encoded = base64.b64encode(data) + return encoded.decode('utf-8') + + +def decode_base64_to_bytes(data): + if isinstance(data, six.text_type): + data = data.encode('utf-8') + return base64.b64decode(data) + + +def decode_base64_to_text(data): + decoded_bytes = decode_base64_to_bytes(data) + return decoded_bytes.decode('utf-8') + + +def sign_string(key, string_to_sign, key_is_base64=True): + if key_is_base64: + key = decode_base64_to_bytes(key) + else: + if isinstance(key, six.text_type): + key = key.encode('utf-8') + if isinstance(string_to_sign, six.text_type): + string_to_sign = string_to_sign.encode('utf-8') + signed_hmac_sha256 = hmac.HMAC(key, string_to_sign, hashlib.sha256) + digest = signed_hmac_sha256.digest() + encoded_digest = encode_base64(digest) + return encoded_digest diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/authentication.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/authentication.py new file mode 100644 index 00000000000..d04c1e4fb53 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/authentication.py @@ -0,0 +1,142 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- + +import logging +import sys + +try: + from urllib.parse import urlparse, unquote +except ImportError: + from urlparse import urlparse # type: ignore + from urllib2 import unquote # type: ignore + +try: + from yarl import URL +except ImportError: + pass + +try: + from azure.core.pipeline.transport import AioHttpTransport +except ImportError: + AioHttpTransport = None + +from azure.core.exceptions import ClientAuthenticationError +from azure.core.pipeline.policies import SansIOHTTPPolicy + +from . import sign_string + + +logger = logging.getLogger(__name__) + + + +# wraps a given exception with the desired exception type +def _wrap_exception(ex, desired_type): + msg = "" + if ex.args: + msg = ex.args[0] + if sys.version_info >= (3,): + # Automatic chaining in Python 3 means we keep the trace + return desired_type(msg) + # There isn't a good solution in 2 for keeping the stack trace + # in general, or that will not result in an error in 3 + # However, we can keep the previous error type and message + # TODO: In the future we will log the trace + return desired_type('{}: {}'.format(ex.__class__.__name__, msg)) + + +class AzureSigningError(ClientAuthenticationError): + """ + Represents a fatal error when attempting to sign a request. + In general, the cause of this exception is user error. For example, the given account key is not valid. + Please visit https://docs.microsoft.com/en-us/azure/storage/common/storage-create-storage-account for more info. + """ + + +# pylint: disable=no-self-use +class SharedKeyCredentialPolicy(SansIOHTTPPolicy): + + def __init__(self, account_name, account_key): + self.account_name = account_name + self.account_key = account_key + super(SharedKeyCredentialPolicy, self).__init__() + + @staticmethod + def _get_headers(request, headers_to_sign): + headers = dict((name.lower(), value) for name, value in request.http_request.headers.items() if value) + if 'content-length' in headers and headers['content-length'] == '0': + del headers['content-length'] + return '\n'.join(headers.get(x, '') for x in headers_to_sign) + '\n' + + @staticmethod + def _get_verb(request): + return request.http_request.method + '\n' + + def _get_canonicalized_resource(self, request): + uri_path = urlparse(request.http_request.url).path + try: + if isinstance(request.context.transport, AioHttpTransport) or \ + isinstance(getattr(request.context.transport, "_transport", None), AioHttpTransport) or \ + isinstance(getattr(getattr(request.context.transport, "_transport", None), "_transport", None), + AioHttpTransport): + uri_path = URL(uri_path) + return '/' + self.account_name + str(uri_path) + except TypeError: + pass + return '/' + self.account_name + uri_path + + @staticmethod + def _get_canonicalized_headers(request): + string_to_sign = '' + x_ms_headers = [] + for name, value in request.http_request.headers.items(): + if name.startswith('x-ms-'): + x_ms_headers.append((name.lower(), value)) + x_ms_headers.sort() + for name, value in x_ms_headers: + if value is not None: + string_to_sign += ''.join([name, ':', value, '\n']) + return string_to_sign + + @staticmethod + def _get_canonicalized_resource_query(request): + sorted_queries = list(request.http_request.query.items()) + sorted_queries.sort() + + string_to_sign = '' + for name, value in sorted_queries: + if value is not None: + string_to_sign += '\n' + name.lower() + ':' + unquote(value) + + return string_to_sign + + def _add_authorization_header(self, request, string_to_sign): + try: + signature = sign_string(self.account_key, string_to_sign) + auth_string = 'SharedKey ' + self.account_name + ':' + signature + request.http_request.headers['Authorization'] = auth_string + except Exception as ex: + # Wrap any error that occurred as signing error + # Doing so will clarify/locate the source of problem + raise _wrap_exception(ex, AzureSigningError) + + def on_request(self, request): + string_to_sign = \ + self._get_verb(request) + \ + self._get_headers( + request, + [ + 'content-encoding', 'content-language', 'content-length', + 'content-md5', 'content-type', 'date', 'if-modified-since', + 'if-match', 'if-none-match', 'if-unmodified-since', 'byte_range' + ] + ) + \ + self._get_canonicalized_headers(request) + \ + self._get_canonicalized_resource(request) + \ + self._get_canonicalized_resource_query(request) + + self._add_authorization_header(request, string_to_sign) + #logger.debug("String_to_sign=%s", string_to_sign) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/avro/__init__.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/avro/__init__.py new file mode 100644 index 00000000000..5b396cd202e --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/avro/__init__.py @@ -0,0 +1,5 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/avro/avro_io.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/avro/avro_io.py new file mode 100644 index 00000000000..93a5c134849 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/avro/avro_io.py @@ -0,0 +1,464 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- + +"""Input/output utilities. + +Includes: + - i/o-specific constants + - i/o-specific exceptions + - schema validation + - leaf value encoding and decoding + - datum reader/writer stuff (?) + +Also includes a generic representation for data, which uses the +following mapping: + - Schema records are implemented as dict. + - Schema arrays are implemented as list. + - Schema maps are implemented as dict. + - Schema strings are implemented as unicode. + - Schema bytes are implemented as str. + - Schema ints are implemented as int. + - Schema longs are implemented as long. + - Schema floats are implemented as float. + - Schema doubles are implemented as float. + - Schema booleans are implemented as bool. +""" + +import json +import logging +import struct +import sys + +from ..avro import schema + +PY3 = sys.version_info[0] == 3 + +logger = logging.getLogger(__name__) + +# ------------------------------------------------------------------------------ +# Constants + +STRUCT_FLOAT = struct.Struct('= 0), n + input_bytes = self.reader.read(n) + if n > 0 and not input_bytes: + raise StopIteration + assert (len(input_bytes) == n), input_bytes + return input_bytes + + @staticmethod + def read_null(): + """ + null is written as zero bytes + """ + return None + + def read_boolean(self): + """ + a boolean is written as a single byte + whose value is either 0 (false) or 1 (true). + """ + b = ord(self.read(1)) + if b == 1: + return True + if b == 0: + return False + fail_msg = "Invalid value for boolean: %s" % b + raise schema.AvroException(fail_msg) + + def read_int(self): + """ + int and long values are written using variable-length, zig-zag coding. + """ + return self.read_long() + + def read_long(self): + """ + int and long values are written using variable-length, zig-zag coding. + """ + b = ord(self.read(1)) + n = b & 0x7F + shift = 7 + while (b & 0x80) != 0: + b = ord(self.read(1)) + n |= (b & 0x7F) << shift + shift += 7 + datum = (n >> 1) ^ -(n & 1) + return datum + + def read_float(self): + """ + A float is written as 4 bytes. + The float is converted into a 32-bit integer using a method equivalent to + Java's floatToIntBits and then encoded in little-endian format. + """ + return STRUCT_FLOAT.unpack(self.read(4))[0] + + def read_double(self): + """ + A double is written as 8 bytes. + The double is converted into a 64-bit integer using a method equivalent to + Java's doubleToLongBits and then encoded in little-endian format. + """ + return STRUCT_DOUBLE.unpack(self.read(8))[0] + + def read_bytes(self): + """ + Bytes are encoded as a long followed by that many bytes of data. + """ + nbytes = self.read_long() + assert (nbytes >= 0), nbytes + return self.read(nbytes) + + def read_utf8(self): + """ + A string is encoded as a long followed by + that many bytes of UTF-8 encoded character data. + """ + input_bytes = self.read_bytes() + if PY3: + try: + return input_bytes.decode('utf-8') + except UnicodeDecodeError as exn: + logger.error('Invalid UTF-8 input bytes: %r', input_bytes) + raise exn + else: + # PY2 + return unicode(input_bytes, "utf-8") # pylint: disable=undefined-variable + + def skip_null(self): + pass + + def skip_boolean(self): + self.skip(1) + + def skip_int(self): + self.skip_long() + + def skip_long(self): + b = ord(self.read(1)) + while (b & 0x80) != 0: + b = ord(self.read(1)) + + def skip_float(self): + self.skip(4) + + def skip_double(self): + self.skip(8) + + def skip_bytes(self): + self.skip(self.read_long()) + + def skip_utf8(self): + self.skip_bytes() + + def skip(self, n): + self.reader.seek(self.reader.tell() + n) + + +# ------------------------------------------------------------------------------ +# DatumReader + + +class DatumReader(object): + """Deserialize Avro-encoded data into a Python data structure.""" + + def __init__(self, writer_schema=None): + """ + As defined in the Avro specification, we call the schema encoded + in the data the "writer's schema". + """ + self._writer_schema = writer_schema + + # read/write properties + def set_writer_schema(self, writer_schema): + self._writer_schema = writer_schema + + writer_schema = property(lambda self: self._writer_schema, + set_writer_schema) + + def read(self, decoder): + return self.read_data(self.writer_schema, decoder) + + def read_data(self, writer_schema, decoder): + # function dispatch for reading data based on type of writer's schema + if writer_schema.type == 'null': + result = decoder.read_null() + elif writer_schema.type == 'boolean': + result = decoder.read_boolean() + elif writer_schema.type == 'string': + result = decoder.read_utf8() + elif writer_schema.type == 'int': + result = decoder.read_int() + elif writer_schema.type == 'long': + result = decoder.read_long() + elif writer_schema.type == 'float': + result = decoder.read_float() + elif writer_schema.type == 'double': + result = decoder.read_double() + elif writer_schema.type == 'bytes': + result = decoder.read_bytes() + elif writer_schema.type == 'fixed': + result = self.read_fixed(writer_schema, decoder) + elif writer_schema.type == 'enum': + result = self.read_enum(writer_schema, decoder) + elif writer_schema.type == 'array': + result = self.read_array(writer_schema, decoder) + elif writer_schema.type == 'map': + result = self.read_map(writer_schema, decoder) + elif writer_schema.type in ['union', 'error_union']: + result = self.read_union(writer_schema, decoder) + elif writer_schema.type in ['record', 'error', 'request']: + result = self.read_record(writer_schema, decoder) + else: + fail_msg = "Cannot read unknown schema type: %s" % writer_schema.type + raise schema.AvroException(fail_msg) + return result + + def skip_data(self, writer_schema, decoder): + if writer_schema.type == 'null': + result = decoder.skip_null() + elif writer_schema.type == 'boolean': + result = decoder.skip_boolean() + elif writer_schema.type == 'string': + result = decoder.skip_utf8() + elif writer_schema.type == 'int': + result = decoder.skip_int() + elif writer_schema.type == 'long': + result = decoder.skip_long() + elif writer_schema.type == 'float': + result = decoder.skip_float() + elif writer_schema.type == 'double': + result = decoder.skip_double() + elif writer_schema.type == 'bytes': + result = decoder.skip_bytes() + elif writer_schema.type == 'fixed': + result = self.skip_fixed(writer_schema, decoder) + elif writer_schema.type == 'enum': + result = self.skip_enum(decoder) + elif writer_schema.type == 'array': + self.skip_array(writer_schema, decoder) + result = None + elif writer_schema.type == 'map': + self.skip_map(writer_schema, decoder) + result = None + elif writer_schema.type in ['union', 'error_union']: + result = self.skip_union(writer_schema, decoder) + elif writer_schema.type in ['record', 'error', 'request']: + self.skip_record(writer_schema, decoder) + result = None + else: + fail_msg = "Unknown schema type: %s" % writer_schema.type + raise schema.AvroException(fail_msg) + return result + + @staticmethod + def read_fixed(writer_schema, decoder): + """ + Fixed instances are encoded using the number of bytes declared + in the schema. + """ + return decoder.read(writer_schema.size) + + @staticmethod + def skip_fixed(writer_schema, decoder): + return decoder.skip(writer_schema.size) + + @staticmethod + def read_enum(writer_schema, decoder): + """ + An enum is encoded by a int, representing the zero-based position + of the symbol in the schema. + """ + # read data + index_of_symbol = decoder.read_int() + if index_of_symbol >= len(writer_schema.symbols): + fail_msg = "Can't access enum index %d for enum with %d symbols" \ + % (index_of_symbol, len(writer_schema.symbols)) + raise SchemaResolutionException(fail_msg, writer_schema) + read_symbol = writer_schema.symbols[index_of_symbol] + return read_symbol + + @staticmethod + def skip_enum(decoder): + return decoder.skip_int() + + def read_array(self, writer_schema, decoder): + """ + Arrays are encoded as a series of blocks. + + Each block consists of a long count value, + followed by that many array items. + A block with count zero indicates the end of the array. + Each item is encoded per the array's item schema. + + If a block's count is negative, + then the count is followed immediately by a long block size, + indicating the number of bytes in the block. + The actual count in this case + is the absolute value of the count written. + """ + read_items = [] + block_count = decoder.read_long() + while block_count != 0: + if block_count < 0: + block_count = -block_count + decoder.read_long() + for _ in range(block_count): + read_items.append(self.read_data(writer_schema.items, decoder)) + block_count = decoder.read_long() + return read_items + + def skip_array(self, writer_schema, decoder): + block_count = decoder.read_long() + while block_count != 0: + if block_count < 0: + block_size = decoder.read_long() + decoder.skip(block_size) + else: + for _ in range(block_count): + self.skip_data(writer_schema.items, decoder) + block_count = decoder.read_long() + + def read_map(self, writer_schema, decoder): + """ + Maps are encoded as a series of blocks. + + Each block consists of a long count value, + followed by that many key/value pairs. + A block with count zero indicates the end of the map. + Each item is encoded per the map's value schema. + + If a block's count is negative, + then the count is followed immediately by a long block size, + indicating the number of bytes in the block. + The actual count in this case + is the absolute value of the count written. + """ + read_items = {} + block_count = decoder.read_long() + while block_count != 0: + if block_count < 0: + block_count = -block_count + decoder.read_long() + for _ in range(block_count): + key = decoder.read_utf8() + read_items[key] = self.read_data(writer_schema.values, decoder) + block_count = decoder.read_long() + return read_items + + def skip_map(self, writer_schema, decoder): + block_count = decoder.read_long() + while block_count != 0: + if block_count < 0: + block_size = decoder.read_long() + decoder.skip(block_size) + else: + for _ in range(block_count): + decoder.skip_utf8() + self.skip_data(writer_schema.values, decoder) + block_count = decoder.read_long() + + def read_union(self, writer_schema, decoder): + """ + A union is encoded by first writing a long value indicating + the zero-based position within the union of the schema of its value. + The value is then encoded per the indicated schema within the union. + """ + # schema resolution + index_of_schema = int(decoder.read_long()) + if index_of_schema >= len(writer_schema.schemas): + fail_msg = "Can't access branch index %d for union with %d branches" \ + % (index_of_schema, len(writer_schema.schemas)) + raise SchemaResolutionException(fail_msg, writer_schema) + selected_writer_schema = writer_schema.schemas[index_of_schema] + + # read data + return self.read_data(selected_writer_schema, decoder) + + def skip_union(self, writer_schema, decoder): + index_of_schema = int(decoder.read_long()) + if index_of_schema >= len(writer_schema.schemas): + fail_msg = "Can't access branch index %d for union with %d branches" \ + % (index_of_schema, len(writer_schema.schemas)) + raise SchemaResolutionException(fail_msg, writer_schema) + return self.skip_data(writer_schema.schemas[index_of_schema], decoder) + + def read_record(self, writer_schema, decoder): + """ + A record is encoded by encoding the values of its fields + in the order that they are declared. In other words, a record + is encoded as just the concatenation of the encodings of its fields. + Field values are encoded per their schema. + + Schema Resolution: + * the ordering of fields may be different: fields are matched by name. + * schemas for fields with the same name in both records are resolved + recursively. + * if the writer's record contains a field with a name not present in the + reader's record, the writer's value for that field is ignored. + * if the reader's record schema has a field that contains a default value, + and writer's schema does not have a field with the same name, then the + reader should use the default value from its field. + * if the reader's record schema has a field with no default value, and + writer's schema does not have a field with the same name, then the + field's value is unset. + """ + # schema resolution + read_record = {} + for field in writer_schema.fields: + field_val = self.read_data(field.type, decoder) + read_record[field.name] = field_val + return read_record + + def skip_record(self, writer_schema, decoder): + for field in writer_schema.fields: + self.skip_data(field.type, decoder) + + +# ------------------------------------------------------------------------------ + +if __name__ == '__main__': + raise Exception('Not a standalone module') diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/avro/avro_io_async.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/avro/avro_io_async.py new file mode 100644 index 00000000000..e9812163795 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/avro/avro_io_async.py @@ -0,0 +1,448 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- + +"""Input/output utilities. + +Includes: + - i/o-specific constants + - i/o-specific exceptions + - schema validation + - leaf value encoding and decoding + - datum reader/writer stuff (?) + +Also includes a generic representation for data, which uses the +following mapping: + - Schema records are implemented as dict. + - Schema arrays are implemented as list. + - Schema maps are implemented as dict. + - Schema strings are implemented as unicode. + - Schema bytes are implemented as str. + - Schema ints are implemented as int. + - Schema longs are implemented as long. + - Schema floats are implemented as float. + - Schema doubles are implemented as float. + - Schema booleans are implemented as bool. +""" + +import logging +import sys + +from ..avro import schema + +from .avro_io import STRUCT_FLOAT, STRUCT_DOUBLE, SchemaResolutionException + +PY3 = sys.version_info[0] == 3 + +logger = logging.getLogger(__name__) + +# ------------------------------------------------------------------------------ +# Decoder + + +class AsyncBinaryDecoder(object): + """Read leaf values.""" + + def __init__(self, reader): + """ + reader is a Python object on which we can call read, seek, and tell. + """ + self._reader = reader + + @property + def reader(self): + """Reports the reader used by this decoder.""" + return self._reader + + async def read(self, n): + """Read n bytes. + + Args: + n: Number of bytes to read. + Returns: + The next n bytes from the input. + """ + assert (n >= 0), n + input_bytes = await self.reader.read(n) + if n > 0 and not input_bytes: + raise StopAsyncIteration + assert (len(input_bytes) == n), input_bytes + return input_bytes + + @staticmethod + def read_null(): + """ + null is written as zero bytes + """ + return None + + async def read_boolean(self): + """ + a boolean is written as a single byte + whose value is either 0 (false) or 1 (true). + """ + b = ord(await self.read(1)) + if b == 1: + return True + if b == 0: + return False + fail_msg = "Invalid value for boolean: %s" % b + raise schema.AvroException(fail_msg) + + async def read_int(self): + """ + int and long values are written using variable-length, zig-zag coding. + """ + return await self.read_long() + + async def read_long(self): + """ + int and long values are written using variable-length, zig-zag coding. + """ + b = ord(await self.read(1)) + n = b & 0x7F + shift = 7 + while (b & 0x80) != 0: + b = ord(await self.read(1)) + n |= (b & 0x7F) << shift + shift += 7 + datum = (n >> 1) ^ -(n & 1) + return datum + + async def read_float(self): + """ + A float is written as 4 bytes. + The float is converted into a 32-bit integer using a method equivalent to + Java's floatToIntBits and then encoded in little-endian format. + """ + return STRUCT_FLOAT.unpack(await self.read(4))[0] + + async def read_double(self): + """ + A double is written as 8 bytes. + The double is converted into a 64-bit integer using a method equivalent to + Java's doubleToLongBits and then encoded in little-endian format. + """ + return STRUCT_DOUBLE.unpack(await self.read(8))[0] + + async def read_bytes(self): + """ + Bytes are encoded as a long followed by that many bytes of data. + """ + nbytes = await self.read_long() + assert (nbytes >= 0), nbytes + return await self.read(nbytes) + + async def read_utf8(self): + """ + A string is encoded as a long followed by + that many bytes of UTF-8 encoded character data. + """ + input_bytes = await self.read_bytes() + if PY3: + try: + return input_bytes.decode('utf-8') + except UnicodeDecodeError as exn: + logger.error('Invalid UTF-8 input bytes: %r', input_bytes) + raise exn + else: + # PY2 + return unicode(input_bytes, "utf-8") # pylint: disable=undefined-variable + + def skip_null(self): + pass + + async def skip_boolean(self): + await self.skip(1) + + async def skip_int(self): + await self.skip_long() + + async def skip_long(self): + b = ord(await self.read(1)) + while (b & 0x80) != 0: + b = ord(await self.read(1)) + + async def skip_float(self): + await self.skip(4) + + async def skip_double(self): + await self.skip(8) + + async def skip_bytes(self): + await self.skip(await self.read_long()) + + async def skip_utf8(self): + await self.skip_bytes() + + async def skip(self, n): + await self.reader.seek(await self.reader.tell() + n) + + +# ------------------------------------------------------------------------------ +# DatumReader + + +class AsyncDatumReader(object): + """Deserialize Avro-encoded data into a Python data structure.""" + + def __init__(self, writer_schema=None): + """ + As defined in the Avro specification, we call the schema encoded + in the data the "writer's schema", and the schema expected by the + reader the "reader's schema". + """ + self._writer_schema = writer_schema + + # read/write properties + def set_writer_schema(self, writer_schema): + self._writer_schema = writer_schema + + writer_schema = property(lambda self: self._writer_schema, + set_writer_schema) + + async def read(self, decoder): + return await self.read_data(self.writer_schema, decoder) + + async def read_data(self, writer_schema, decoder): + # function dispatch for reading data based on type of writer's schema + if writer_schema.type == 'null': + result = decoder.read_null() + elif writer_schema.type == 'boolean': + result = await decoder.read_boolean() + elif writer_schema.type == 'string': + result = await decoder.read_utf8() + elif writer_schema.type == 'int': + result = await decoder.read_int() + elif writer_schema.type == 'long': + result = await decoder.read_long() + elif writer_schema.type == 'float': + result = await decoder.read_float() + elif writer_schema.type == 'double': + result = await decoder.read_double() + elif writer_schema.type == 'bytes': + result = await decoder.read_bytes() + elif writer_schema.type == 'fixed': + result = await self.read_fixed(writer_schema, decoder) + elif writer_schema.type == 'enum': + result = await self.read_enum(writer_schema, decoder) + elif writer_schema.type == 'array': + result = await self.read_array(writer_schema, decoder) + elif writer_schema.type == 'map': + result = await self.read_map(writer_schema, decoder) + elif writer_schema.type in ['union', 'error_union']: + result = await self.read_union(writer_schema, decoder) + elif writer_schema.type in ['record', 'error', 'request']: + result = await self.read_record(writer_schema, decoder) + else: + fail_msg = "Cannot read unknown schema type: %s" % writer_schema.type + raise schema.AvroException(fail_msg) + return result + + async def skip_data(self, writer_schema, decoder): + if writer_schema.type == 'null': + result = decoder.skip_null() + elif writer_schema.type == 'boolean': + result = await decoder.skip_boolean() + elif writer_schema.type == 'string': + result = await decoder.skip_utf8() + elif writer_schema.type == 'int': + result = await decoder.skip_int() + elif writer_schema.type == 'long': + result = await decoder.skip_long() + elif writer_schema.type == 'float': + result = await decoder.skip_float() + elif writer_schema.type == 'double': + result = await decoder.skip_double() + elif writer_schema.type == 'bytes': + result = await decoder.skip_bytes() + elif writer_schema.type == 'fixed': + result = await self.skip_fixed(writer_schema, decoder) + elif writer_schema.type == 'enum': + result = await self.skip_enum(decoder) + elif writer_schema.type == 'array': + await self.skip_array(writer_schema, decoder) + result = None + elif writer_schema.type == 'map': + await self.skip_map(writer_schema, decoder) + result = None + elif writer_schema.type in ['union', 'error_union']: + result = await self.skip_union(writer_schema, decoder) + elif writer_schema.type in ['record', 'error', 'request']: + await self.skip_record(writer_schema, decoder) + result = None + else: + fail_msg = "Unknown schema type: %s" % writer_schema.type + raise schema.AvroException(fail_msg) + return result + + @staticmethod + async def read_fixed(writer_schema, decoder): + """ + Fixed instances are encoded using the number of bytes declared + in the schema. + """ + return await decoder.read(writer_schema.size) + + @staticmethod + async def skip_fixed(writer_schema, decoder): + return await decoder.skip(writer_schema.size) + + @staticmethod + async def read_enum(writer_schema, decoder): + """ + An enum is encoded by a int, representing the zero-based position + of the symbol in the schema. + """ + # read data + index_of_symbol = await decoder.read_int() + if index_of_symbol >= len(writer_schema.symbols): + fail_msg = "Can't access enum index %d for enum with %d symbols" \ + % (index_of_symbol, len(writer_schema.symbols)) + raise SchemaResolutionException(fail_msg, writer_schema) + read_symbol = writer_schema.symbols[index_of_symbol] + return read_symbol + + @staticmethod + async def skip_enum(decoder): + return await decoder.skip_int() + + async def read_array(self, writer_schema, decoder): + """ + Arrays are encoded as a series of blocks. + + Each block consists of a long count value, + followed by that many array items. + A block with count zero indicates the end of the array. + Each item is encoded per the array's item schema. + + If a block's count is negative, + then the count is followed immediately by a long block size, + indicating the number of bytes in the block. + The actual count in this case + is the absolute value of the count written. + """ + read_items = [] + block_count = await decoder.read_long() + while block_count != 0: + if block_count < 0: + block_count = -block_count + await decoder.read_long() + for _ in range(block_count): + read_items.append(await self.read_data(writer_schema.items, decoder)) + block_count = await decoder.read_long() + return read_items + + async def skip_array(self, writer_schema, decoder): + block_count = await decoder.read_long() + while block_count != 0: + if block_count < 0: + block_size = await decoder.read_long() + await decoder.skip(block_size) + else: + for _ in range(block_count): + await self.skip_data(writer_schema.items, decoder) + block_count = await decoder.read_long() + + async def read_map(self, writer_schema, decoder): + """ + Maps are encoded as a series of blocks. + + Each block consists of a long count value, + followed by that many key/value pairs. + A block with count zero indicates the end of the map. + Each item is encoded per the map's value schema. + + If a block's count is negative, + then the count is followed immediately by a long block size, + indicating the number of bytes in the block. + The actual count in this case + is the absolute value of the count written. + """ + read_items = {} + block_count = await decoder.read_long() + while block_count != 0: + if block_count < 0: + block_count = -block_count + await decoder.read_long() + for _ in range(block_count): + key = await decoder.read_utf8() + read_items[key] = await self.read_data(writer_schema.values, decoder) + block_count = await decoder.read_long() + return read_items + + async def skip_map(self, writer_schema, decoder): + block_count = await decoder.read_long() + while block_count != 0: + if block_count < 0: + block_size = await decoder.read_long() + await decoder.skip(block_size) + else: + for _ in range(block_count): + await decoder.skip_utf8() + await self.skip_data(writer_schema.values, decoder) + block_count = await decoder.read_long() + + async def read_union(self, writer_schema, decoder): + """ + A union is encoded by first writing a long value indicating + the zero-based position within the union of the schema of its value. + The value is then encoded per the indicated schema within the union. + """ + # schema resolution + index_of_schema = int(await decoder.read_long()) + if index_of_schema >= len(writer_schema.schemas): + fail_msg = "Can't access branch index %d for union with %d branches" \ + % (index_of_schema, len(writer_schema.schemas)) + raise SchemaResolutionException(fail_msg, writer_schema) + selected_writer_schema = writer_schema.schemas[index_of_schema] + + # read data + return await self.read_data(selected_writer_schema, decoder) + + async def skip_union(self, writer_schema, decoder): + index_of_schema = int(await decoder.read_long()) + if index_of_schema >= len(writer_schema.schemas): + fail_msg = "Can't access branch index %d for union with %d branches" \ + % (index_of_schema, len(writer_schema.schemas)) + raise SchemaResolutionException(fail_msg, writer_schema) + return await self.skip_data(writer_schema.schemas[index_of_schema], decoder) + + async def read_record(self, writer_schema, decoder): + """ + A record is encoded by encoding the values of its fields + in the order that they are declared. In other words, a record + is encoded as just the concatenation of the encodings of its fields. + Field values are encoded per their schema. + + Schema Resolution: + * the ordering of fields may be different: fields are matched by name. + * schemas for fields with the same name in both records are resolved + recursively. + * if the writer's record contains a field with a name not present in the + reader's record, the writer's value for that field is ignored. + * if the reader's record schema has a field that contains a default value, + and writer's schema does not have a field with the same name, then the + reader should use the default value from its field. + * if the reader's record schema has a field with no default value, and + writer's schema does not have a field with the same name, then the + field's value is unset. + """ + # schema resolution + read_record = {} + for field in writer_schema.fields: + field_val = await self.read_data(field.type, decoder) + read_record[field.name] = field_val + return read_record + + async def skip_record(self, writer_schema, decoder): + for field in writer_schema.fields: + await self.skip_data(field.type, decoder) + + +# ------------------------------------------------------------------------------ + +if __name__ == '__main__': + raise Exception('Not a standalone module') diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/avro/datafile.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/avro/datafile.py new file mode 100644 index 00000000000..df06fe0cfe7 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/avro/datafile.py @@ -0,0 +1,266 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- + +"""Read/Write Avro File Object Containers.""" + +import io +import logging +import sys +import zlib + +from ..avro import avro_io +from ..avro import schema + +PY3 = sys.version_info[0] == 3 + +logger = logging.getLogger(__name__) + +# ------------------------------------------------------------------------------ +# Constants + +# Version of the container file: +VERSION = 1 + +if PY3: + MAGIC = b'Obj' + bytes([VERSION]) + MAGIC_SIZE = len(MAGIC) +else: + MAGIC = 'Obj' + chr(VERSION) + MAGIC_SIZE = len(MAGIC) + +# Size of the synchronization marker, in number of bytes: +SYNC_SIZE = 16 + +# Schema of the container header: +META_SCHEMA = schema.parse(""" +{ + "type": "record", "name": "org.apache.avro.file.Header", + "fields": [{ + "name": "magic", + "type": {"type": "fixed", "name": "magic", "size": %(magic_size)d} + }, { + "name": "meta", + "type": {"type": "map", "values": "bytes"} + }, { + "name": "sync", + "type": {"type": "fixed", "name": "sync", "size": %(sync_size)d} + }] +} +""" % { + 'magic_size': MAGIC_SIZE, + 'sync_size': SYNC_SIZE, +}) + +# Codecs supported by container files: +VALID_CODECS = frozenset(['null', 'deflate']) + +# Metadata key associated to the schema: +SCHEMA_KEY = "avro.schema" + + +# ------------------------------------------------------------------------------ +# Exceptions + + +class DataFileException(schema.AvroException): + """Problem reading or writing file object containers.""" + +# ------------------------------------------------------------------------------ + + +class DataFileReader(object): # pylint: disable=too-many-instance-attributes + """Read files written by DataFileWriter.""" + + def __init__(self, reader, datum_reader, **kwargs): + """Initializes a new data file reader. + + Args: + reader: Open file to read from. + datum_reader: Avro datum reader. + """ + self._reader = reader + self._raw_decoder = avro_io.BinaryDecoder(reader) + self._header_reader = kwargs.pop('header_reader', None) + self._header_decoder = None if self._header_reader is None else avro_io.BinaryDecoder(self._header_reader) + self._datum_decoder = None # Maybe reset at every block. + self._datum_reader = datum_reader + + # In case self._reader only has partial content(without header). + # seek(0, 0) to make sure read the (partial)content from beginning. + self._reader.seek(0, 0) + + # read the header: magic, meta, sync + self._read_header() + + # ensure codec is valid + avro_codec_raw = self.get_meta('avro.codec') + if avro_codec_raw is None: + self.codec = "null" + else: + self.codec = avro_codec_raw.decode('utf-8') + if self.codec not in VALID_CODECS: + raise DataFileException('Unknown codec: %s.' % self.codec) + + # get ready to read + self._block_count = 0 + + # object_position is to support reading from current position in the future read, + # no need to downloading from the beginning of avro. + if hasattr(self._reader, 'object_position'): + self.reader.track_object_position() + + self._cur_object_index = 0 + # header_reader indicates reader only has partial content. The reader doesn't have block header, + # so we read use the block count stored last time. + # Also ChangeFeed only has codec==null, so use _raw_decoder is good. + if self._header_reader is not None: + self._datum_decoder = self._raw_decoder + + self.datum_reader.writer_schema = ( + schema.parse(self.get_meta(SCHEMA_KEY).decode('utf-8'))) + + def __enter__(self): + return self + + def __exit__(self, data_type, value, traceback): + # Perform a close if there's no exception + if data_type is None: + self.close() + + def __iter__(self): + return self + + # read-only properties + @property + def reader(self): + return self._reader + + @property + def raw_decoder(self): + return self._raw_decoder + + @property + def datum_decoder(self): + return self._datum_decoder + + @property + def datum_reader(self): + return self._datum_reader + + @property + def sync_marker(self): + return self._sync_marker + + @property + def meta(self): + return self._meta + + # read/write properties + @property + def block_count(self): + return self._block_count + + def get_meta(self, key): + """Reports the value of a given metadata key. + + Args: + key: Metadata key (string) to report the value of. + Returns: + Value associated to the metadata key, as bytes. + """ + return self._meta.get(key) + + def _read_header(self): + header_reader = self._header_reader if self._header_reader else self._reader + header_decoder = self._header_decoder if self._header_decoder else self._raw_decoder + + # seek to the beginning of the file to get magic block + header_reader.seek(0, 0) + + # read header into a dict + header = self.datum_reader.read_data(META_SCHEMA, header_decoder) + + # check magic number + if header.get('magic') != MAGIC: + fail_msg = "Not an Avro data file: %s doesn't match %s." \ + % (header.get('magic'), MAGIC) + raise schema.AvroException(fail_msg) + + # set metadata + self._meta = header['meta'] + + # set sync marker + self._sync_marker = header['sync'] + + def _read_block_header(self): + self._block_count = self.raw_decoder.read_long() + if self.codec == "null": + # Skip a long; we don't need to use the length. + self.raw_decoder.skip_long() + self._datum_decoder = self._raw_decoder + elif self.codec == 'deflate': + # Compressed data is stored as (length, data), which + # corresponds to how the "bytes" type is encoded. + data = self.raw_decoder.read_bytes() + # -15 is the log of the window size; negative indicates + # "raw" (no zlib headers) decompression. See zlib.h. + uncompressed = zlib.decompress(data, -15) + self._datum_decoder = avro_io.BinaryDecoder(io.BytesIO(uncompressed)) + else: + raise DataFileException("Unknown codec: %r" % self.codec) + + def _skip_sync(self): + """ + Read the length of the sync marker; if it matches the sync marker, + return True. Otherwise, seek back to where we started and return False. + """ + proposed_sync_marker = self.reader.read(SYNC_SIZE) + if SYNC_SIZE > 0 and not proposed_sync_marker: + raise StopIteration + if proposed_sync_marker != self.sync_marker: + self.reader.seek(-SYNC_SIZE, 1) + + def __next__(self): + """Return the next datum in the file.""" + if self.block_count == 0: + self._skip_sync() + + # object_position is to support reading from current position in the future read, + # no need to downloading from the beginning of avro file with this attr. + if hasattr(self._reader, 'object_position'): + self.reader.track_object_position() + self._cur_object_index = 0 + + self._read_block_header() + + datum = self.datum_reader.read(self.datum_decoder) + self._block_count -= 1 + self._cur_object_index += 1 + + # object_position is to support reading from current position in the future read, + # This will track the index of the next item to be read. + # This will also track the offset before the next sync marker. + if hasattr(self._reader, 'object_position'): + if self.block_count == 0: + # the next event to be read is at index 0 in the new chunk of blocks, + self.reader.track_object_position() + self.reader.set_object_index(0) + else: + self.reader.set_object_index(self._cur_object_index) + + return datum + + # PY2 + def next(self): + return self.__next__() + + def close(self): + """Close this reader.""" + self.reader.close() + + +if __name__ == '__main__': + raise Exception('Not a standalone module') diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/avro/datafile_async.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/avro/datafile_async.py new file mode 100644 index 00000000000..1e9d018228d --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/avro/datafile_async.py @@ -0,0 +1,215 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- + +"""Read/Write Avro File Object Containers.""" + +import logging +import sys + +from ..avro import avro_io_async +from ..avro import schema +from .datafile import DataFileException +from .datafile import MAGIC, SYNC_SIZE, META_SCHEMA, SCHEMA_KEY + + +PY3 = sys.version_info[0] == 3 + +logger = logging.getLogger(__name__) + +# ------------------------------------------------------------------------------ +# Constants + +# Codecs supported by container files: +VALID_CODECS = frozenset(['null']) + + +class AsyncDataFileReader(object): # pylint: disable=too-many-instance-attributes + """Read files written by DataFileWriter.""" + + def __init__(self, reader, datum_reader, **kwargs): + """Initializes a new data file reader. + + Args: + reader: Open file to read from. + datum_reader: Avro datum reader. + """ + self._reader = reader + self._raw_decoder = avro_io_async.AsyncBinaryDecoder(reader) + self._header_reader = kwargs.pop('header_reader', None) + self._header_decoder = None if self._header_reader is None else \ + avro_io_async.AsyncBinaryDecoder(self._header_reader) + self._datum_decoder = None # Maybe reset at every block. + self._datum_reader = datum_reader + self.codec = "null" + self._block_count = 0 + self._cur_object_index = 0 + self._meta = None + self._sync_marker = None + + async def init(self): + # In case self._reader only has partial content(without header). + # seek(0, 0) to make sure read the (partial)content from beginning. + await self._reader.seek(0, 0) + + # read the header: magic, meta, sync + await self._read_header() + + # ensure codec is valid + avro_codec_raw = self.get_meta('avro.codec') + if avro_codec_raw is None: + self.codec = "null" + else: + self.codec = avro_codec_raw.decode('utf-8') + if self.codec not in VALID_CODECS: + raise DataFileException('Unknown codec: %s.' % self.codec) + + # get ready to read + self._block_count = 0 + + # object_position is to support reading from current position in the future read, + # no need to downloading from the beginning of avro. + if hasattr(self._reader, 'object_position'): + self.reader.track_object_position() + + # header_reader indicates reader only has partial content. The reader doesn't have block header, + # so we read use the block count stored last time. + # Also ChangeFeed only has codec==null, so use _raw_decoder is good. + if self._header_reader is not None: + self._datum_decoder = self._raw_decoder + self.datum_reader.writer_schema = ( + schema.parse(self.get_meta(SCHEMA_KEY).decode('utf-8'))) + return self + + async def __aenter__(self): + return self + + async def __aexit__(self, data_type, value, traceback): + # Perform a close if there's no exception + if data_type is None: + self.close() + + def __aiter__(self): + return self + + # read-only properties + @property + def reader(self): + return self._reader + + @property + def raw_decoder(self): + return self._raw_decoder + + @property + def datum_decoder(self): + return self._datum_decoder + + @property + def datum_reader(self): + return self._datum_reader + + @property + def sync_marker(self): + return self._sync_marker + + @property + def meta(self): + return self._meta + + # read/write properties + @property + def block_count(self): + return self._block_count + + def get_meta(self, key): + """Reports the value of a given metadata key. + + Args: + key: Metadata key (string) to report the value of. + Returns: + Value associated to the metadata key, as bytes. + """ + return self._meta.get(key) + + async def _read_header(self): + header_reader = self._header_reader if self._header_reader else self._reader + header_decoder = self._header_decoder if self._header_decoder else self._raw_decoder + + # seek to the beginning of the file to get magic block + await header_reader.seek(0, 0) + + # read header into a dict + header = await self.datum_reader.read_data(META_SCHEMA, header_decoder) + + # check magic number + if header.get('magic') != MAGIC: + fail_msg = "Not an Avro data file: %s doesn't match %s." \ + % (header.get('magic'), MAGIC) + raise schema.AvroException(fail_msg) + + # set metadata + self._meta = header['meta'] + + # set sync marker + self._sync_marker = header['sync'] + + async def _read_block_header(self): + self._block_count = await self.raw_decoder.read_long() + if self.codec == "null": + # Skip a long; we don't need to use the length. + await self.raw_decoder.skip_long() + self._datum_decoder = self._raw_decoder + else: + raise DataFileException("Unknown codec: %r" % self.codec) + + async def _skip_sync(self): + """ + Read the length of the sync marker; if it matches the sync marker, + return True. Otherwise, seek back to where we started and return False. + """ + proposed_sync_marker = await self.reader.read(SYNC_SIZE) + if SYNC_SIZE > 0 and not proposed_sync_marker: + raise StopAsyncIteration + if proposed_sync_marker != self.sync_marker: + await self.reader.seek(-SYNC_SIZE, 1) + + async def __anext__(self): + """Return the next datum in the file.""" + if self.block_count == 0: + await self._skip_sync() + + # object_position is to support reading from current position in the future read, + # no need to downloading from the beginning of avro file with this attr. + if hasattr(self._reader, 'object_position'): + await self.reader.track_object_position() + self._cur_object_index = 0 + + await self._read_block_header() + + datum = await self.datum_reader.read(self.datum_decoder) + self._block_count -= 1 + self._cur_object_index += 1 + + # object_position is to support reading from current position in the future read, + # This will track the index of the next item to be read. + # This will also track the offset before the next sync marker. + if hasattr(self._reader, 'object_position'): + if self.block_count == 0: + # the next event to be read is at index 0 in the new chunk of blocks, + await self.reader.track_object_position() + await self.reader.set_object_index(0) + else: + await self.reader.set_object_index(self._cur_object_index) + + return datum + + def close(self): + """Close this reader.""" + self.reader.close() + + +if __name__ == '__main__': + raise Exception('Not a standalone module') diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/avro/schema.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/avro/schema.py new file mode 100644 index 00000000000..ffe28530167 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/avro/schema.py @@ -0,0 +1,1221 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +# pylint: disable=too-many-lines + +"""Representation of Avro schemas. + +A schema may be one of: + - A record, mapping field names to field value data; + - An error, equivalent to a record; + - An enum, containing one of a small set of symbols; + - An array of values, all of the same schema; + - A map containing string/value pairs, each of a declared schema; + - A union of other schemas; + - A fixed sized binary object; + - A unicode string; + - A sequence of bytes; + - A 32-bit signed int; + - A 64-bit signed long; + - A 32-bit floating-point float; + - A 64-bit floating-point double; + - A boolean; + - Null. +""" + +import abc +import json +import logging +import re +import sys +from six import with_metaclass + +PY2 = sys.version_info[0] == 2 + +if PY2: + _str = unicode # pylint: disable=undefined-variable +else: + _str = str + +logger = logging.getLogger(__name__) + +# ------------------------------------------------------------------------------ +# Constants + +# Log level more verbose than DEBUG=10, INFO=20, etc. +DEBUG_VERBOSE = 5 + +NULL = 'null' +BOOLEAN = 'boolean' +STRING = 'string' +BYTES = 'bytes' +INT = 'int' +LONG = 'long' +FLOAT = 'float' +DOUBLE = 'double' +FIXED = 'fixed' +ENUM = 'enum' +RECORD = 'record' +ERROR = 'error' +ARRAY = 'array' +MAP = 'map' +UNION = 'union' + +# Request and error unions are part of Avro protocols: +REQUEST = 'request' +ERROR_UNION = 'error_union' + +PRIMITIVE_TYPES = frozenset([ + NULL, + BOOLEAN, + STRING, + BYTES, + INT, + LONG, + FLOAT, + DOUBLE, +]) + +NAMED_TYPES = frozenset([ + FIXED, + ENUM, + RECORD, + ERROR, +]) + +VALID_TYPES = frozenset.union( + PRIMITIVE_TYPES, + NAMED_TYPES, + [ + ARRAY, + MAP, + UNION, + REQUEST, + ERROR_UNION, + ], +) + +SCHEMA_RESERVED_PROPS = frozenset([ + 'type', + 'name', + 'namespace', + 'fields', # Record + 'items', # Array + 'size', # Fixed + 'symbols', # Enum + 'values', # Map + 'doc', +]) + +FIELD_RESERVED_PROPS = frozenset([ + 'default', + 'name', + 'doc', + 'order', + 'type', +]) + +VALID_FIELD_SORT_ORDERS = frozenset([ + 'ascending', + 'descending', + 'ignore', +]) + + +# ------------------------------------------------------------------------------ +# Exceptions + + +class Error(Exception): + """Base class for errors in this module.""" + + +class AvroException(Error): + """Generic Avro schema error.""" + + +class SchemaParseException(AvroException): + """Error while parsing a JSON schema descriptor.""" + + +class Schema(with_metaclass(abc.ABCMeta, object)): + """Abstract base class for all Schema classes.""" + + def __init__(self, data_type, other_props=None): + """Initializes a new schema object. + + Args: + data_type: Type of the schema to initialize. + other_props: Optional dictionary of additional properties. + """ + if data_type not in VALID_TYPES: + raise SchemaParseException('%r is not a valid Avro type.' % data_type) + + # All properties of this schema, as a map: property name -> property value + self._props = {} + + self._props['type'] = data_type + self._type = data_type + + if other_props: + self._props.update(other_props) + + @property + def namespace(self): + """Returns: the namespace this schema belongs to, if any, or None.""" + return self._props.get('namespace', None) + + @property + def type(self): + """Returns: the type of this schema.""" + return self._type + + @property + def doc(self): + """Returns: the documentation associated to this schema, if any, or None.""" + return self._props.get('doc', None) + + @property + def props(self): + """Reports all the properties of this schema. + + Includes all properties, reserved and non reserved. + JSON properties of this schema are directly generated from this dict. + + Returns: + A dictionary of properties associated to this schema. + """ + return self._props + + @property + def other_props(self): + """Returns: the dictionary of non-reserved properties.""" + return dict(filter_keys_out(items=self._props, keys=SCHEMA_RESERVED_PROPS)) + + def __str__(self): + """Returns: the JSON representation of this schema.""" + return json.dumps(self.to_json(names=None)) + + @abc.abstractmethod + def to_json(self, names): + """Converts the schema object into its AVRO specification representation. + + Schema types that have names (records, enums, and fixed) must + be aware of not re-defining schemas that are already listed + in the parameter names. + """ + raise Exception('Cannot run abstract method.') + + +# ------------------------------------------------------------------------------ + + +_RE_NAME = re.compile(r'[A-Za-z_][A-Za-z0-9_]*') + +_RE_FULL_NAME = re.compile( + r'^' + r'[.]?(?:[A-Za-z_][A-Za-z0-9_]*[.])*' # optional namespace + r'([A-Za-z_][A-Za-z0-9_]*)' # name + r'$' +) + + +class Name(object): + """Representation of an Avro name.""" + + def __init__(self, name, namespace=None): + """Parses an Avro name. + + Args: + name: Avro name to parse (relative or absolute). + namespace: Optional explicit namespace if the name is relative. + """ + # Normalize: namespace is always defined as a string, possibly empty. + if namespace is None: + namespace = '' + + if '.' in name: + # name is absolute, namespace is ignored: + self._fullname = name + + match = _RE_FULL_NAME.match(self._fullname) + if match is None: + raise SchemaParseException( + 'Invalid absolute schema name: %r.' % self._fullname) + + self._name = match.group(1) + self._namespace = self._fullname[:-(len(self._name) + 1)] + + else: + # name is relative, combine with explicit namespace: + self._name = name + self._namespace = namespace + self._fullname = (self._name + if (not self._namespace) else + '%s.%s' % (self._namespace, self._name)) + + # Validate the fullname: + if _RE_FULL_NAME.match(self._fullname) is None: + raise SchemaParseException( + 'Invalid schema name %r infered from name %r and namespace %r.' + % (self._fullname, self._name, self._namespace)) + + def __eq__(self, other): + if not isinstance(other, Name): + return NotImplemented + return self.fullname == other.fullname + + @property + def simple_name(self): + """Returns: the simple name part of this name.""" + return self._name + + @property + def namespace(self): + """Returns: this name's namespace, possible the empty string.""" + return self._namespace + + @property + def fullname(self): + """Returns: the full name.""" + return self._fullname + + +# ------------------------------------------------------------------------------ + + +class Names(object): + """Tracks Avro named schemas and default namespace during parsing.""" + + def __init__(self, default_namespace=None, names=None): + """Initializes a new name tracker. + + Args: + default_namespace: Optional default namespace. + names: Optional initial mapping of known named schemas. + """ + if names is None: + names = {} + self._names = names + self._default_namespace = default_namespace + + @property + def names(self): + """Returns: the mapping of known named schemas.""" + return self._names + + @property + def default_namespace(self): + """Returns: the default namespace, if any, or None.""" + return self._default_namespace + + def new_with_default_namespace(self, namespace): + """Creates a new name tracker from this tracker, but with a new default ns. + + Args: + namespace: New default namespace to use. + Returns: + New name tracker with the specified default namespace. + """ + return Names(names=self._names, default_namespace=namespace) + + def get_name(self, name, namespace=None): + """Resolves the Avro name according to this name tracker's state. + + Args: + name: Name to resolve (absolute or relative). + namespace: Optional explicit namespace. + Returns: + The specified name, resolved according to this tracker. + """ + if namespace is None: + namespace = self._default_namespace + return Name(name=name, namespace=namespace) + + def get_schema(self, name, namespace=None): + """Resolves an Avro schema by name. + + Args: + name: Name (relative or absolute) of the Avro schema to look up. + namespace: Optional explicit namespace. + Returns: + The schema with the specified name, if any, or None. + """ + avro_name = self.get_name(name=name, namespace=namespace) + return self._names.get(avro_name.fullname, None) + + def prune_namespace(self, properties): + """given a properties, return properties with namespace removed if + it matches the own default namespace + """ + if self.default_namespace is None: + # I have no default -- no change + return properties + if 'namespace' not in properties: + # he has no namespace - no change + return properties + if properties['namespace'] != self.default_namespace: + # we're different - leave his stuff alone + return properties + # we each have a namespace and it's redundant. delete his. + prunable = properties.copy() + del prunable['namespace'] + return prunable + + def register(self, schema): + """Registers a new named schema in this tracker. + + Args: + schema: Named Avro schema to register in this tracker. + """ + if schema.fullname in VALID_TYPES: + raise SchemaParseException( + '%s is a reserved type name.' % schema.fullname) + if schema.fullname in self.names: + raise SchemaParseException( + 'Avro name %r already exists.' % schema.fullname) + + logger.log(DEBUG_VERBOSE, 'Register new name for %r', schema.fullname) + self._names[schema.fullname] = schema + + +# ------------------------------------------------------------------------------ + + +class NamedSchema(Schema): + """Abstract base class for named schemas. + + Named schemas are enumerated in NAMED_TYPES. + """ + + def __init__( + self, + data_type, + name=None, + namespace=None, + names=None, + other_props=None, + ): + """Initializes a new named schema object. + + Args: + data_type: Type of the named schema. + name: Name (absolute or relative) of the schema. + namespace: Optional explicit namespace if name is relative. + names: Tracker to resolve and register Avro names. + other_props: Optional map of additional properties of the schema. + """ + assert (data_type in NAMED_TYPES), ('Invalid named type: %r' % data_type) + self._avro_name = names.get_name(name=name, namespace=namespace) + + super(NamedSchema, self).__init__(data_type, other_props) + + names.register(self) + + self._props['name'] = self.name + if self.namespace: + self._props['namespace'] = self.namespace + + @property + def avro_name(self): + """Returns: the Name object describing this schema's name.""" + return self._avro_name + + @property + def name(self): + return self._avro_name.simple_name + + @property + def namespace(self): + return self._avro_name.namespace + + @property + def fullname(self): + return self._avro_name.fullname + + def name_ref(self, names): + """Reports this schema name relative to the specified name tracker. + + Args: + names: Avro name tracker to relativise this schema name against. + Returns: + This schema name, relativised against the specified name tracker. + """ + if self.namespace == names.default_namespace: + return self.name + return self.fullname + + @abc.abstractmethod + def to_json(self, names): + """Converts the schema object into its AVRO specification representation. + + Schema types that have names (records, enums, and fixed) must + be aware of not re-defining schemas that are already listed + in the parameter names. + """ + raise Exception('Cannot run abstract method.') + +# ------------------------------------------------------------------------------ + + +_NO_DEFAULT = object() + + +class Field(object): + """Representation of the schema of a field in a record.""" + + def __init__( + self, + data_type, + name, + index, + has_default, + default=_NO_DEFAULT, + order=None, + doc=None, + other_props=None + ): + """Initializes a new Field object. + + Args: + data_type: Avro schema of the field. + name: Name of the field. + index: 0-based position of the field. + has_default: + default: + order: + doc: + other_props: + """ + if (not isinstance(name, _str)) or (not name): + raise SchemaParseException('Invalid record field name: %r.' % name) + if (order is not None) and (order not in VALID_FIELD_SORT_ORDERS): + raise SchemaParseException('Invalid record field order: %r.' % order) + + # All properties of this record field: + self._props = {} + + self._has_default = has_default + if other_props: + self._props.update(other_props) + + self._index = index + self._type = self._props['type'] = data_type + self._name = self._props['name'] = name + + if has_default: + self._props['default'] = default + + if order is not None: + self._props['order'] = order + + if doc is not None: + self._props['doc'] = doc + + @property + def type(self): + """Returns: the schema of this field.""" + return self._type + + @property + def name(self): + """Returns: this field name.""" + return self._name + + @property + def index(self): + """Returns: the 0-based index of this field in the record.""" + return self._index + + @property + def default(self): + return self._props['default'] + + @property + def has_default(self): + return self._has_default + + @property + def order(self): + return self._props.get('order', None) + + @property + def doc(self): + return self._props.get('doc', None) + + @property + def props(self): + return self._props + + @property + def other_props(self): + return filter_keys_out(items=self._props, keys=FIELD_RESERVED_PROPS) + + def __str__(self): + return json.dumps(self.to_json()) + + def to_json(self, names=None): + if names is None: + names = Names() + to_dump = self.props.copy() + to_dump['type'] = self.type.to_json(names) + return to_dump + + def __eq__(self, that): + to_cmp = json.loads(_str(self)) + return to_cmp == json.loads(_str(that)) + + +# ------------------------------------------------------------------------------ +# Primitive Types + + +class PrimitiveSchema(Schema): + """Schema of a primitive Avro type. + + Valid primitive types are defined in PRIMITIVE_TYPES. + """ + + def __init__(self, data_type, other_props=None): + """Initializes a new schema object for the specified primitive type. + + Args: + data_type: Type of the schema to construct. Must be primitive. + """ + if data_type not in PRIMITIVE_TYPES: + raise AvroException('%r is not a valid primitive type.' % data_type) + super(PrimitiveSchema, self).__init__(data_type, other_props=other_props) + + @property + def name(self): + """Returns: the simple name of this schema.""" + # The name of a primitive type is the type itself. + return self.type + + @property + def fullname(self): + """Returns: the fully qualified name of this schema.""" + # The full name is the simple name for primitive schema. + return self.name + + def to_json(self, names=None): + if len(self.props) == 1: + return self.fullname + return self.props + + def __eq__(self, that): + return self.props == that.props + + +# ------------------------------------------------------------------------------ +# Complex Types (non-recursive) + + +class FixedSchema(NamedSchema): + def __init__( + self, + name, + namespace, + size, + names=None, + other_props=None, + ): + # Ensure valid ctor args + if not isinstance(size, int): + fail_msg = 'Fixed Schema requires a valid integer for size property.' + raise AvroException(fail_msg) + + super(FixedSchema, self).__init__( + data_type=FIXED, + name=name, + namespace=namespace, + names=names, + other_props=other_props, + ) + self._props['size'] = size + + @property + def size(self): + """Returns: the size of this fixed schema, in bytes.""" + return self._props['size'] + + def to_json(self, names=None): + if names is None: + names = Names() + if self.fullname in names.names: + return self.name_ref(names) + names.names[self.fullname] = self + return names.prune_namespace(self.props) + + def __eq__(self, that): + return self.props == that.props + + +# ------------------------------------------------------------------------------ + + +class EnumSchema(NamedSchema): + def __init__( + self, + name, + namespace, + symbols, + names=None, + doc=None, + other_props=None, + ): + """Initializes a new enumeration schema object. + + Args: + name: Simple name of this enumeration. + namespace: Optional namespace. + symbols: Ordered list of symbols defined in this enumeration. + names: + doc: + other_props: + """ + symbols = tuple(symbols) + symbol_set = frozenset(symbols) + if (len(symbol_set) != len(symbols) + or not all(map(lambda symbol: isinstance(symbol, _str), symbols))): + raise AvroException( + 'Invalid symbols for enum schema: %r.' % (symbols,)) + + super(EnumSchema, self).__init__( + data_type=ENUM, + name=name, + namespace=namespace, + names=names, + other_props=other_props, + ) + + self._props['symbols'] = symbols + if doc is not None: + self._props['doc'] = doc + + @property + def symbols(self): + """Returns: the symbols defined in this enum.""" + return self._props['symbols'] + + def to_json(self, names=None): + if names is None: + names = Names() + if self.fullname in names.names: + return self.name_ref(names) + names.names[self.fullname] = self + return names.prune_namespace(self.props) + + def __eq__(self, that): + return self.props == that.props + + +# ------------------------------------------------------------------------------ +# Complex Types (recursive) + + +class ArraySchema(Schema): + """Schema of an array.""" + + def __init__(self, items, other_props=None): + """Initializes a new array schema object. + + Args: + items: Avro schema of the array items. + other_props: + """ + super(ArraySchema, self).__init__( + data_type=ARRAY, + other_props=other_props, + ) + self._items_schema = items + self._props['items'] = items + + @property + def items(self): + """Returns: the schema of the items in this array.""" + return self._items_schema + + def to_json(self, names=None): + if names is None: + names = Names() + to_dump = self.props.copy() + item_schema = self.items + to_dump['items'] = item_schema.to_json(names) + return to_dump + + def __eq__(self, that): + to_cmp = json.loads(_str(self)) + return to_cmp == json.loads(_str(that)) + + +# ------------------------------------------------------------------------------ + + +class MapSchema(Schema): + """Schema of a map.""" + + def __init__(self, values, other_props=None): + """Initializes a new map schema object. + + Args: + values: Avro schema of the map values. + other_props: + """ + super(MapSchema, self).__init__( + data_type=MAP, + other_props=other_props, + ) + self._values_schema = values + self._props['values'] = values + + @property + def values(self): + """Returns: the schema of the values in this map.""" + return self._values_schema + + def to_json(self, names=None): + if names is None: + names = Names() + to_dump = self.props.copy() + to_dump['values'] = self.values.to_json(names) + return to_dump + + def __eq__(self, that): + to_cmp = json.loads(_str(self)) + return to_cmp == json.loads(_str(that)) + + +# ------------------------------------------------------------------------------ + + +class UnionSchema(Schema): + """Schema of a union.""" + + def __init__(self, schemas): + """Initializes a new union schema object. + + Args: + schemas: Ordered collection of schema branches in the union. + """ + super(UnionSchema, self).__init__(data_type=UNION) + self._schemas = tuple(schemas) + + # Validate the schema branches: + + # All named schema names are unique: + named_branches = tuple( + filter(lambda schema: schema.type in NAMED_TYPES, self._schemas)) + unique_names = frozenset(map(lambda schema: schema.fullname, named_branches)) + if len(unique_names) != len(named_branches): + raise AvroException( + 'Invalid union branches with duplicate schema name:%s' + % ''.join(map(lambda schema: ('\n\t - %s' % schema), self._schemas))) + + # Types are unique within unnamed schemas, and union is not allowed: + unnamed_branches = tuple( + filter(lambda schema: schema.type not in NAMED_TYPES, self._schemas)) + unique_types = frozenset(map(lambda schema: schema.type, unnamed_branches)) + if UNION in unique_types: + raise AvroException( + 'Invalid union branches contain other unions:%s' + % ''.join(map(lambda schema: ('\n\t - %s' % schema), self._schemas))) + if len(unique_types) != len(unnamed_branches): + raise AvroException( + 'Invalid union branches with duplicate type:%s' + % ''.join(map(lambda schema: ('\n\t - %s' % schema), self._schemas))) + + @property + def schemas(self): + """Returns: the ordered list of schema branches in the union.""" + return self._schemas + + def to_json(self, names=None): + if names is None: + names = Names() + to_dump = [] + for schema in self.schemas: + to_dump.append(schema.to_json(names)) + return to_dump + + def __eq__(self, that): + to_cmp = json.loads(_str(self)) + return to_cmp == json.loads(_str(that)) + + +# ------------------------------------------------------------------------------ + + +class ErrorUnionSchema(UnionSchema): + """Schema representing the declared errors of a protocol message.""" + + def __init__(self, schemas): + """Initializes an error-union schema. + + Args: + schema: collection of error schema. + """ + # Prepend "string" to handle system errors + schemas = [PrimitiveSchema(data_type=STRING)] + list(schemas) + super(ErrorUnionSchema, self).__init__(schemas=schemas) + + def to_json(self, names=None): + if names is None: + names = Names() + to_dump = [] + for schema in self.schemas: + # Don't print the system error schema + if schema.type == STRING: + continue + to_dump.append(schema.to_json(names)) + return to_dump + + +# ------------------------------------------------------------------------------ + + +class RecordSchema(NamedSchema): + """Schema of a record.""" + + @staticmethod + def _make_field(index, field_desc, names): + """Builds field schemas from a list of field JSON descriptors. + + Args: + index: 0-based index of the field in the record. + field_desc: JSON descriptors of a record field. + Return: + The field schema. + """ + field_schema = schema_from_json_data( + json_data=field_desc['type'], + names=names, + ) + other_props = ( + dict(filter_keys_out(items=field_desc, keys=FIELD_RESERVED_PROPS))) + return Field( + data_type=field_schema, + name=field_desc['name'], + index=index, + has_default=('default' in field_desc), + default=field_desc.get('default', _NO_DEFAULT), + order=field_desc.get('order', None), + doc=field_desc.get('doc', None), + other_props=other_props, + ) + + @staticmethod + def make_field_list(field_desc_list, names): + """Builds field schemas from a list of field JSON descriptors. + + Guarantees field name unicity. + + Args: + field_desc_list: collection of field JSON descriptors. + names: Avro schema tracker. + Yields + Field schemas. + """ + for index, field_desc in enumerate(field_desc_list): + yield RecordSchema._make_field(index, field_desc, names) + + @staticmethod + def _make_field_map(fields): + """Builds the field map. + + Guarantees field name unicity. + + Args: + fields: iterable of field schema. + Returns: + A map of field schemas, indexed by name. + """ + field_map = {} + for field in fields: + if field.name in field_map: + raise SchemaParseException( + 'Duplicate record field name %r.' % field.name) + field_map[field.name] = field + return field_map + + def __init__( + self, + name, + namespace, + fields=None, + make_fields=None, + names=None, + record_type=RECORD, + doc=None, + other_props=None + ): + """Initializes a new record schema object. + + Args: + name: Name of the record (absolute or relative). + namespace: Optional namespace the record belongs to, if name is relative. + fields: collection of fields to add to this record. + Exactly one of fields or make_fields must be specified. + make_fields: function creating the fields that belong to the record. + The function signature is: make_fields(names) -> ordered field list. + Exactly one of fields or make_fields must be specified. + names: + record_type: Type of the record: one of RECORD, ERROR or REQUEST. + Protocol requests are not named. + doc: + other_props: + """ + if record_type == REQUEST: + # Protocol requests are not named: + super(RecordSchema, self).__init__( + data_type=REQUEST, + other_props=other_props, + ) + elif record_type in [RECORD, ERROR]: + # Register this record name in the tracker: + super(RecordSchema, self).__init__( + data_type=record_type, + name=name, + namespace=namespace, + names=names, + other_props=other_props, + ) + else: + raise SchemaParseException( + 'Invalid record type: %r.' % record_type) + + if record_type in [RECORD, ERROR]: + avro_name = names.get_name(name=name, namespace=namespace) + nested_names = names.new_with_default_namespace(namespace=avro_name.namespace) + elif record_type == REQUEST: + # Protocol request has no name: no need to change default namespace: + nested_names = names + + if fields is None: + fields = make_fields(names=nested_names) + else: + assert make_fields is None + self._fields = tuple(fields) + + self._field_map = RecordSchema._make_field_map(self._fields) + + self._props['fields'] = fields + if doc is not None: + self._props['doc'] = doc + + @property + def fields(self): + """Returns: the field schemas, as an ordered tuple.""" + return self._fields + + @property + def field_map(self): + """Returns: a read-only map of the field schemas index by field names.""" + return self._field_map + + def to_json(self, names=None): + if names is None: + names = Names() + # Request records don't have names + if self.type == REQUEST: + return [f.to_json(names) for f in self.fields] + + if self.fullname in names.names: + return self.name_ref(names) + names.names[self.fullname] = self + + to_dump = names.prune_namespace(self.props.copy()) + to_dump['fields'] = [f.to_json(names) for f in self.fields] + return to_dump + + def __eq__(self, that): + to_cmp = json.loads(_str(self)) + return to_cmp == json.loads(_str(that)) + + +# ------------------------------------------------------------------------------ +# Module functions + + +def filter_keys_out(items, keys): + """Filters a collection of (key, value) items. + + Exclude any item whose key belongs to keys. + + Args: + items: Dictionary of items to filter the keys out of. + keys: Keys to filter out. + Yields: + Filtered items. + """ + for key, value in items.items(): + if key in keys: + continue + yield key, value + + +# ------------------------------------------------------------------------------ + + +def _schema_from_json_string(json_string, names): + if json_string in PRIMITIVE_TYPES: + return PrimitiveSchema(data_type=json_string) + + # Look for a known named schema: + schema = names.get_schema(name=json_string) + if schema is None: + raise SchemaParseException( + 'Unknown named schema %r, known names: %r.' + % (json_string, sorted(names.names))) + return schema + + +def _schema_from_json_array(json_array, names): + def MakeSchema(desc): + return schema_from_json_data(json_data=desc, names=names) + + return UnionSchema(map(MakeSchema, json_array)) + + +def _schema_from_json_object(json_object, names): + data_type = json_object.get('type') + if data_type is None: + raise SchemaParseException( + 'Avro schema JSON descriptor has no "type" property: %r' % json_object) + + other_props = dict( + filter_keys_out(items=json_object, keys=SCHEMA_RESERVED_PROPS)) + + if data_type in PRIMITIVE_TYPES: + # FIXME should not ignore other properties + result = PrimitiveSchema(data_type, other_props=other_props) + + elif data_type in NAMED_TYPES: + name = json_object.get('name') + namespace = json_object.get('namespace', names.default_namespace) + if data_type == FIXED: + size = json_object.get('size') + result = FixedSchema(name, namespace, size, names, other_props) + elif data_type == ENUM: + symbols = json_object.get('symbols') + doc = json_object.get('doc') + result = EnumSchema(name, namespace, symbols, names, doc, other_props) + + elif data_type in [RECORD, ERROR]: + field_desc_list = json_object.get('fields', ()) + + def MakeFields(names): + return tuple(RecordSchema.make_field_list(field_desc_list, names)) + + result = RecordSchema( + name=name, + namespace=namespace, + make_fields=MakeFields, + names=names, + record_type=data_type, + doc=json_object.get('doc'), + other_props=other_props, + ) + else: + raise Exception('Internal error: unknown type %r.' % data_type) + + elif data_type in VALID_TYPES: + # Unnamed, non-primitive Avro type: + + if data_type == ARRAY: + items_desc = json_object.get('items') + if items_desc is None: + raise SchemaParseException( + 'Invalid array schema descriptor with no "items" : %r.' + % json_object) + result = ArraySchema( + items=schema_from_json_data(items_desc, names), + other_props=other_props, + ) + + elif data_type == MAP: + values_desc = json_object.get('values') + if values_desc is None: + raise SchemaParseException( + 'Invalid map schema descriptor with no "values" : %r.' + % json_object) + result = MapSchema( + values=schema_from_json_data(values_desc, names=names), + other_props=other_props, + ) + + elif data_type == ERROR_UNION: + error_desc_list = json_object.get('declared_errors') + assert error_desc_list is not None + error_schemas = map( + lambda desc: schema_from_json_data(desc, names=names), + error_desc_list) + result = ErrorUnionSchema(schemas=error_schemas) + + else: + raise Exception('Internal error: unknown type %r.' % data_type) + else: + raise SchemaParseException( + 'Invalid JSON descriptor for an Avro schema: %r' % json_object) + return result + + +# Parsers for the JSON data types: +_JSONDataParserTypeMap = { + _str: _schema_from_json_string, + list: _schema_from_json_array, + dict: _schema_from_json_object, +} + + +def schema_from_json_data(json_data, names=None): + """Builds an Avro Schema from its JSON descriptor. + + Args: + json_data: JSON data representing the descriptor of the Avro schema. + names: Optional tracker for Avro named schemas. + Returns: + The Avro schema parsed from the JSON descriptor. + Raises: + SchemaParseException: if the descriptor is invalid. + """ + if names is None: + names = Names() + + # Select the appropriate parser based on the JSON data type: + parser = _JSONDataParserTypeMap.get(type(json_data)) + if parser is None: + raise SchemaParseException( + 'Invalid JSON descriptor for an Avro schema: %r.' % json_data) + return parser(json_data, names=names) + + +# ------------------------------------------------------------------------------ + + +def parse(json_string): + """Constructs a Schema from its JSON descriptor in text form. + + Args: + json_string: String representation of the JSON descriptor of the schema. + Returns: + The parsed schema. + Raises: + SchemaParseException: on JSON parsing error, + or if the JSON descriptor is invalid. + """ + try: + json_data = json.loads(json_string) + except Exception as exn: + raise SchemaParseException( + 'Error parsing schema from JSON: %r. ' + 'Error message: %r.' + % (json_string, exn)) + + # Initialize the names object + names = Names() + + # construct the Avro Schema object + return schema_from_json_data(json_data, names) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/base_client.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/base_client.py new file mode 100644 index 00000000000..fae8bd74b8b --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/base_client.py @@ -0,0 +1,443 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- + +from typing import ( # pylint: disable=unused-import + Union, + Optional, + Any, + Iterable, + Dict, + List, + Type, + Tuple, + TYPE_CHECKING, +) +import logging + +try: + from urllib.parse import parse_qs, quote +except ImportError: + from urlparse import parse_qs # type: ignore + from urllib2 import quote # type: ignore + +import six + +from azure.core.configuration import Configuration +from azure.core.exceptions import HttpResponseError +from azure.core.pipeline import Pipeline +from azure.core.pipeline.transport import RequestsTransport, HttpTransport +from azure.core.pipeline.policies import ( + RedirectPolicy, + ContentDecodePolicy, + BearerTokenCredentialPolicy, + ProxyPolicy, + DistributedTracingPolicy, + HttpLoggingPolicy, + UserAgentPolicy +) + +from .constants import STORAGE_OAUTH_SCOPE, SERVICE_HOST_BASE, CONNECTION_TIMEOUT, READ_TIMEOUT +from .models import LocationMode +from .authentication import SharedKeyCredentialPolicy +from .shared_access_signature import QueryStringConstants +from .policies import ( + StorageHeadersPolicy, + StorageContentValidation, + StorageRequestHook, + StorageResponseHook, + StorageLoggingPolicy, + StorageHosts, + QueueMessagePolicy, + ExponentialRetry, +) +from .._version import VERSION +from .._generated.models import StorageErrorException +from .response_handlers import process_storage_error, PartialBatchErrorException + + +_LOGGER = logging.getLogger(__name__) +_SERVICE_PARAMS = { + "blob": {"primary": "BlobEndpoint", "secondary": "BlobSecondaryEndpoint"}, + "queue": {"primary": "QueueEndpoint", "secondary": "QueueSecondaryEndpoint"}, + "file": {"primary": "FileEndpoint", "secondary": "FileSecondaryEndpoint"}, + "dfs": {"primary": "BlobEndpoint", "secondary": "BlobEndpoint"}, +} + + +class StorageAccountHostsMixin(object): # pylint: disable=too-many-instance-attributes + def __init__( + self, + parsed_url, # type: Any + service, # type: str + credential=None, # type: Optional[Any] + **kwargs # type: Any + ): + # type: (...) -> None + self._location_mode = kwargs.get("_location_mode", LocationMode.PRIMARY) + self._hosts = kwargs.get("_hosts") + self.scheme = parsed_url.scheme + + if service not in ["blob", "queue", "file-share", "dfs"]: + raise ValueError("Invalid service: {}".format(service)) + service_name = service.split('-')[0] + account = parsed_url.netloc.split(".{}.core.".format(service_name)) + + self.account_name = account[0] if len(account) > 1 else None + if not self.account_name and parsed_url.netloc.startswith("localhost") \ + or parsed_url.netloc.startswith("127.0.0.1"): + self.account_name = parsed_url.path.strip("/") + + self.credential = _format_shared_key_credential(self.account_name, credential) + if self.scheme.lower() != "https" and hasattr(self.credential, "get_token"): + raise ValueError("Token credential is only supported with HTTPS.") + + secondary_hostname = None + if hasattr(self.credential, "account_name"): + self.account_name = self.credential.account_name + secondary_hostname = "{}-secondary.{}.{}".format( + self.credential.account_name, service_name, SERVICE_HOST_BASE) + + if not self._hosts: + if len(account) > 1: + secondary_hostname = parsed_url.netloc.replace(account[0], account[0] + "-secondary") + if kwargs.get("secondary_hostname"): + secondary_hostname = kwargs["secondary_hostname"] + primary_hostname = (parsed_url.netloc + parsed_url.path).rstrip('/') + self._hosts = {LocationMode.PRIMARY: primary_hostname, LocationMode.SECONDARY: secondary_hostname} + + self.require_encryption = kwargs.get("require_encryption", False) + self.key_encryption_key = kwargs.get("key_encryption_key") + self.key_resolver_function = kwargs.get("key_resolver_function") + self._config, self._pipeline = self._create_pipeline(self.credential, storage_sdk=service, **kwargs) + + def __enter__(self): + self._client.__enter__() + return self + + def __exit__(self, *args): + self._client.__exit__(*args) + + def close(self): + """ This method is to close the sockets opened by the client. + It need not be used when using with a context manager. + """ + self._client.close() + + @property + def url(self): + """The full endpoint URL to this entity, including SAS token if used. + + This could be either the primary endpoint, + or the secondary endpoint depending on the current :func:`location_mode`. + """ + return self._format_url(self._hosts[self._location_mode]) + + @property + def primary_endpoint(self): + """The full primary endpoint URL. + + :type: str + """ + return self._format_url(self._hosts[LocationMode.PRIMARY]) + + @property + def primary_hostname(self): + """The hostname of the primary endpoint. + + :type: str + """ + return self._hosts[LocationMode.PRIMARY] + + @property + def secondary_endpoint(self): + """The full secondary endpoint URL if configured. + + If not available a ValueError will be raised. To explicitly specify a secondary hostname, use the optional + `secondary_hostname` keyword argument on instantiation. + + :type: str + :raise ValueError: + """ + if not self._hosts[LocationMode.SECONDARY]: + raise ValueError("No secondary host configured.") + return self._format_url(self._hosts[LocationMode.SECONDARY]) + + @property + def secondary_hostname(self): + """The hostname of the secondary endpoint. + + If not available this will be None. To explicitly specify a secondary hostname, use the optional + `secondary_hostname` keyword argument on instantiation. + + :type: str or None + """ + return self._hosts[LocationMode.SECONDARY] + + @property + def location_mode(self): + """The location mode that the client is currently using. + + By default this will be "primary". Options include "primary" and "secondary". + + :type: str + """ + + return self._location_mode + + @location_mode.setter + def location_mode(self, value): + if self._hosts.get(value): + self._location_mode = value + self._client._config.url = self.url # pylint: disable=protected-access + else: + raise ValueError("No host URL for location mode: {}".format(value)) + + @property + def api_version(self): + """The version of the Storage API used for requests. + + :type: str + """ + return self._client._config.version # pylint: disable=protected-access + + def _format_query_string(self, sas_token, credential, snapshot=None, share_snapshot=None): + query_str = "?" + if snapshot: + query_str += "snapshot={}&".format(self.snapshot) + if share_snapshot: + query_str += "sharesnapshot={}&".format(self.snapshot) + if sas_token and not credential: + query_str += sas_token + elif is_credential_sastoken(credential): + query_str += credential.lstrip("?") + credential = None + return query_str.rstrip("?&"), credential + + def _create_pipeline(self, credential, **kwargs): + # type: (Any, **Any) -> Tuple[Configuration, Pipeline] + self._credential_policy = None + if hasattr(credential, "get_token"): + self._credential_policy = BearerTokenCredentialPolicy(credential, STORAGE_OAUTH_SCOPE) + elif isinstance(credential, SharedKeyCredentialPolicy): + self._credential_policy = credential + elif credential is not None: + raise TypeError("Unsupported credential: {}".format(credential)) + + config = kwargs.get("_configuration") or create_configuration(**kwargs) + if kwargs.get("_pipeline"): + return config, kwargs["_pipeline"] + config.transport = kwargs.get("transport") # type: ignore + kwargs.setdefault("connection_timeout", CONNECTION_TIMEOUT) + kwargs.setdefault("read_timeout", READ_TIMEOUT) + if not config.transport: + config.transport = RequestsTransport(**kwargs) + policies = [ + QueueMessagePolicy(), + config.proxy_policy, + config.user_agent_policy, + StorageContentValidation(), + ContentDecodePolicy(response_encoding="utf-8"), + RedirectPolicy(**kwargs), + StorageHosts(hosts=self._hosts, **kwargs), + config.retry_policy, + config.headers_policy, + StorageRequestHook(**kwargs), + self._credential_policy, + config.logging_policy, + StorageResponseHook(**kwargs), + DistributedTracingPolicy(**kwargs), + HttpLoggingPolicy(**kwargs) + ] + if kwargs.get("_additional_pipeline_policies"): + policies = policies + kwargs.get("_additional_pipeline_policies") + return config, Pipeline(config.transport, policies=policies) + + def _batch_send( + self, *reqs, # type: HttpRequest + **kwargs + ): + """Given a series of request, do a Storage batch call. + """ + # Pop it here, so requests doesn't feel bad about additional kwarg + raise_on_any_failure = kwargs.pop("raise_on_any_failure", True) + request = self._client._client.post( # pylint: disable=protected-access + url='{}://{}/?comp=batch{}{}'.format( + self.scheme, + self.primary_hostname, + kwargs.pop('sas', ""), + kwargs.pop('timeout', "") + ), + headers={ + 'x-ms-version': self.api_version + } + ) + + policies = [StorageHeadersPolicy()] + if self._credential_policy: + policies.append(self._credential_policy) + + request.set_multipart_mixed( + *reqs, + policies=policies, + enforce_https=False + ) + + pipeline_response = self._pipeline.run( + request, **kwargs + ) + response = pipeline_response.http_response + + try: + if response.status_code not in [202]: + raise HttpResponseError(response=response) + parts = response.parts() + if raise_on_any_failure: + parts = list(response.parts()) + if any(p for p in parts if not 200 <= p.status_code < 300): + error = PartialBatchErrorException( + message="There is a partial failure in the batch operation.", + response=response, parts=parts + ) + raise error + return iter(parts) + return parts + except StorageErrorException as error: + process_storage_error(error) + +class TransportWrapper(HttpTransport): + """Wrapper class that ensures that an inner client created + by a `get_client` method does not close the outer transport for the parent + when used in a context manager. + """ + def __init__(self, transport): + self._transport = transport + + def send(self, request, **kwargs): + return self._transport.send(request, **kwargs) + + def open(self): + pass + + def close(self): + pass + + def __enter__(self): + pass + + def __exit__(self, *args): # pylint: disable=arguments-differ + pass + + +def _format_shared_key_credential(account_name, credential): + if isinstance(credential, six.string_types): + if not account_name: + raise ValueError("Unable to determine account name for shared key credential.") + credential = {"account_name": account_name, "account_key": credential} + if isinstance(credential, dict): + if "account_name" not in credential: + raise ValueError("Shared key credential missing 'account_name") + if "account_key" not in credential: + raise ValueError("Shared key credential missing 'account_key") + return SharedKeyCredentialPolicy(**credential) + return credential + + +def parse_connection_str(conn_str, credential, service): + conn_str = conn_str.rstrip(";") + conn_settings = [s.split("=", 1) for s in conn_str.split(";")] + if any(len(tup) != 2 for tup in conn_settings): + raise ValueError("Connection string is either blank or malformed.") + conn_settings = dict(conn_settings) + endpoints = _SERVICE_PARAMS[service] + primary = None + secondary = None + if not credential: + try: + credential = {"account_name": conn_settings["AccountName"], "account_key": conn_settings["AccountKey"]} + except KeyError: + credential = conn_settings.get("SharedAccessSignature") + if endpoints["primary"] in conn_settings: + primary = conn_settings[endpoints["primary"]] + if endpoints["secondary"] in conn_settings: + secondary = conn_settings[endpoints["secondary"]] + else: + if endpoints["secondary"] in conn_settings: + raise ValueError("Connection string specifies only secondary endpoint.") + try: + primary = "{}://{}.{}.{}".format( + conn_settings["DefaultEndpointsProtocol"], + conn_settings["AccountName"], + service, + conn_settings["EndpointSuffix"], + ) + secondary = "{}-secondary.{}.{}".format( + conn_settings["AccountName"], service, conn_settings["EndpointSuffix"] + ) + except KeyError: + pass + + if not primary: + try: + primary = "https://{}.{}.{}".format( + conn_settings["AccountName"], service, conn_settings.get("EndpointSuffix", SERVICE_HOST_BASE) + ) + except KeyError: + raise ValueError("Connection string missing required connection details.") + return primary, secondary, credential + + +def create_configuration(**kwargs): + # type: (**Any) -> Configuration + config = Configuration(**kwargs) + config.headers_policy = StorageHeadersPolicy(**kwargs) + config.user_agent_policy = UserAgentPolicy( + sdk_moniker="storage-{}/{}".format(kwargs.pop('storage_sdk'), VERSION), **kwargs) + config.retry_policy = kwargs.get("retry_policy") or ExponentialRetry(**kwargs) + config.logging_policy = StorageLoggingPolicy(**kwargs) + config.proxy_policy = ProxyPolicy(**kwargs) + + # Storage settings + config.max_single_put_size = kwargs.get("max_single_put_size", 64 * 1024 * 1024) + config.copy_polling_interval = 15 + + # Block blob uploads + config.max_block_size = kwargs.get("max_block_size", 4 * 1024 * 1024) + config.min_large_block_upload_threshold = kwargs.get("min_large_block_upload_threshold", 4 * 1024 * 1024 + 1) + config.use_byte_buffer = kwargs.get("use_byte_buffer", False) + + # Page blob uploads + config.max_page_size = kwargs.get("max_page_size", 4 * 1024 * 1024) + + # Blob downloads + config.max_single_get_size = kwargs.get("max_single_get_size", 32 * 1024 * 1024) + config.max_chunk_get_size = kwargs.get("max_chunk_get_size", 4 * 1024 * 1024) + + # File uploads + config.max_range_size = kwargs.get("max_range_size", 4 * 1024 * 1024) + return config + + +def parse_query(query_str): + sas_values = QueryStringConstants.to_list() + parsed_query = {k: v[0] for k, v in parse_qs(query_str).items()} + sas_params = ["{}={}".format(k, quote(v, safe='')) for k, v in parsed_query.items() if k in sas_values] + sas_token = None + if sas_params: + sas_token = "&".join(sas_params) + + snapshot = parsed_query.get("snapshot") or parsed_query.get("sharesnapshot") + return snapshot, sas_token + + +def is_credential_sastoken(credential): + if not credential or not isinstance(credential, six.string_types): + return False + + sas_values = QueryStringConstants.to_list() + parsed_query = parse_qs(credential.lstrip("?")) + if parsed_query and all([k in sas_values for k in parsed_query.keys()]): + return True + return False diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/base_client_async.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/base_client_async.py new file mode 100644 index 00000000000..1fec883b506 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/base_client_async.py @@ -0,0 +1,185 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- + +from typing import ( # pylint: disable=unused-import + Union, Optional, Any, Iterable, Dict, List, Type, Tuple, + TYPE_CHECKING +) +import logging +from azure.core.pipeline import AsyncPipeline +from azure.core.async_paging import AsyncList +from azure.core.exceptions import HttpResponseError +from azure.core.pipeline.policies import ( + ContentDecodePolicy, + AsyncBearerTokenCredentialPolicy, + AsyncRedirectPolicy, + DistributedTracingPolicy, + HttpLoggingPolicy, +) +from azure.core.pipeline.transport import AsyncHttpTransport + +from .constants import STORAGE_OAUTH_SCOPE, CONNECTION_TIMEOUT, READ_TIMEOUT +from .authentication import SharedKeyCredentialPolicy +from .base_client import create_configuration +from .policies import ( + StorageContentValidation, + StorageRequestHook, + StorageHosts, + StorageHeadersPolicy, + QueueMessagePolicy +) +from .policies_async import AsyncStorageResponseHook + +from .._generated.models import StorageErrorException +from .response_handlers import process_storage_error, PartialBatchErrorException + +if TYPE_CHECKING: + from azure.core.pipeline import Pipeline + from azure.core.pipeline.transport import HttpRequest + from azure.core.configuration import Configuration +_LOGGER = logging.getLogger(__name__) + + +class AsyncStorageAccountHostsMixin(object): + + def __enter__(self): + raise TypeError("Async client only supports 'async with'.") + + def __exit__(self, *args): + pass + + async def __aenter__(self): + await self._client.__aenter__() + return self + + async def __aexit__(self, *args): + await self._client.__aexit__(*args) + + async def close(self): + """ This method is to close the sockets opened by the client. + It need not be used when using with a context manager. + """ + await self._client.close() + + def _create_pipeline(self, credential, **kwargs): + # type: (Any, **Any) -> Tuple[Configuration, Pipeline] + self._credential_policy = None + if hasattr(credential, 'get_token'): + self._credential_policy = AsyncBearerTokenCredentialPolicy(credential, STORAGE_OAUTH_SCOPE) + elif isinstance(credential, SharedKeyCredentialPolicy): + self._credential_policy = credential + elif credential is not None: + raise TypeError("Unsupported credential: {}".format(credential)) + config = kwargs.get('_configuration') or create_configuration(**kwargs) + if kwargs.get('_pipeline'): + return config, kwargs['_pipeline'] + config.transport = kwargs.get('transport') # type: ignore + kwargs.setdefault("connection_timeout", CONNECTION_TIMEOUT) + kwargs.setdefault("read_timeout", READ_TIMEOUT) + if not config.transport: + try: + from azure.core.pipeline.transport import AioHttpTransport + except ImportError: + raise ImportError("Unable to create async transport. Please check aiohttp is installed.") + config.transport = AioHttpTransport(**kwargs) + policies = [ + QueueMessagePolicy(), + config.headers_policy, + config.proxy_policy, + config.user_agent_policy, + StorageContentValidation(), + StorageRequestHook(**kwargs), + self._credential_policy, + ContentDecodePolicy(response_encoding="utf-8"), + AsyncRedirectPolicy(**kwargs), + StorageHosts(hosts=self._hosts, **kwargs), # type: ignore + config.retry_policy, + config.logging_policy, + AsyncStorageResponseHook(**kwargs), + DistributedTracingPolicy(**kwargs), + HttpLoggingPolicy(**kwargs), + ] + if kwargs.get("_additional_pipeline_policies"): + policies = policies + kwargs.get("_additional_pipeline_policies") + return config, AsyncPipeline(config.transport, policies=policies) + + async def _batch_send( + self, *reqs: 'HttpRequest', + **kwargs + ): + """Given a series of request, do a Storage batch call. + """ + # Pop it here, so requests doesn't feel bad about additional kwarg + raise_on_any_failure = kwargs.pop("raise_on_any_failure", True) + request = self._client._client.post( # pylint: disable=protected-access + url='{}://{}/?comp=batch{}{}'.format( + self.scheme, + self.primary_hostname, + kwargs.pop('sas', None), + kwargs.pop('timeout', None) + ), + headers={ + 'x-ms-version': self.api_version + } + ) + + policies = [StorageHeadersPolicy()] + if self._credential_policy: + policies.append(self._credential_policy) + + request.set_multipart_mixed( + *reqs, + policies=policies, + enforce_https=False + ) + + pipeline_response = await self._pipeline.run( + request, **kwargs + ) + response = pipeline_response.http_response + + try: + if response.status_code not in [202]: + raise HttpResponseError(response=response) + parts = response.parts() # Return an AsyncIterator + if raise_on_any_failure: + parts_list = [] + async for part in parts: + parts_list.append(part) + if any(p for p in parts_list if not 200 <= p.status_code < 300): + error = PartialBatchErrorException( + message="There is a partial failure in the batch operation.", + response=response, parts=parts_list + ) + raise error + return AsyncList(parts_list) + return parts + except StorageErrorException as error: + process_storage_error(error) + + +class AsyncTransportWrapper(AsyncHttpTransport): + """Wrapper class that ensures that an inner client created + by a `get_client` method does not close the outer transport for the parent + when used in a context manager. + """ + def __init__(self, async_transport): + self._transport = async_transport + + async def send(self, request, **kwargs): + return await self._transport.send(request, **kwargs) + + async def open(self): + pass + + async def close(self): + pass + + async def __aenter__(self): + pass + + async def __aexit__(self, *args): # pylint: disable=arguments-differ + pass diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/constants.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/constants.py new file mode 100644 index 00000000000..f67ea29cc13 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/constants.py @@ -0,0 +1,27 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- + +import sys +from .._generated.version import VERSION + + +X_MS_VERSION = VERSION + +# Socket timeout in seconds +CONNECTION_TIMEOUT = 20 +READ_TIMEOUT = 20 + +# for python 3.5+, there was a change to the definition of the socket timeout (as far as socket.sendall is concerned) +# The socket timeout is now the maximum total duration to send all data. +if sys.version_info >= (3, 5): + # the timeout to connect is 20 seconds, and the read timeout is 80000 seconds + # the 80000 seconds was calculated with: + # 4000MB (max block size)/ 50KB/s (an arbitrarily chosen minimum upload speed) + READ_TIMEOUT = 80000 + +STORAGE_OAUTH_SCOPE = "https://storage.azure.com/.default" + +SERVICE_HOST_BASE = 'core.windows.net' diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/encryption.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/encryption.py new file mode 100644 index 00000000000..62607cc0cf8 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/encryption.py @@ -0,0 +1,542 @@ +# ------------------------------------------------------------------------- +# 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 os import urandom +from json import ( + dumps, + loads, +) +from collections import OrderedDict + +from cryptography.hazmat.backends import default_backend +from cryptography.hazmat.primitives.ciphers import Cipher +from cryptography.hazmat.primitives.ciphers.algorithms import AES +from cryptography.hazmat.primitives.ciphers.modes import CBC +from cryptography.hazmat.primitives.padding import PKCS7 + +from azure.core.exceptions import HttpResponseError + +from .._version import VERSION +from . import encode_base64, decode_base64_to_bytes + + +_ENCRYPTION_PROTOCOL_V1 = '1.0' +_ERROR_OBJECT_INVALID = \ + '{0} does not define a complete interface. Value of {1} is either missing or invalid.' + + +def _validate_not_none(param_name, param): + if param is None: + raise ValueError('{0} should not be None.'.format(param_name)) + + +def _validate_key_encryption_key_wrap(kek): + # Note that None is not callable and so will fail the second clause of each check. + if not hasattr(kek, 'wrap_key') or not callable(kek.wrap_key): + raise AttributeError(_ERROR_OBJECT_INVALID.format('key encryption key', 'wrap_key')) + if not hasattr(kek, 'get_kid') or not callable(kek.get_kid): + raise AttributeError(_ERROR_OBJECT_INVALID.format('key encryption key', 'get_kid')) + if not hasattr(kek, 'get_key_wrap_algorithm') or not callable(kek.get_key_wrap_algorithm): + raise AttributeError(_ERROR_OBJECT_INVALID.format('key encryption key', 'get_key_wrap_algorithm')) + + +class _EncryptionAlgorithm(object): + ''' + Specifies which client encryption algorithm is used. + ''' + AES_CBC_256 = 'AES_CBC_256' + + +class _WrappedContentKey: + ''' + Represents the envelope key details stored on the service. + ''' + + def __init__(self, algorithm, encrypted_key, key_id): + ''' + :param str algorithm: + The algorithm used for wrapping. + :param bytes encrypted_key: + The encrypted content-encryption-key. + :param str key_id: + The key-encryption-key identifier string. + ''' + + _validate_not_none('algorithm', algorithm) + _validate_not_none('encrypted_key', encrypted_key) + _validate_not_none('key_id', key_id) + + self.algorithm = algorithm + self.encrypted_key = encrypted_key + self.key_id = key_id + + +class _EncryptionAgent: + ''' + Represents the encryption agent stored on the service. + It consists of the encryption protocol version and encryption algorithm used. + ''' + + def __init__(self, encryption_algorithm, protocol): + ''' + :param _EncryptionAlgorithm encryption_algorithm: + The algorithm used for encrypting the message contents. + :param str protocol: + The protocol version used for encryption. + ''' + + _validate_not_none('encryption_algorithm', encryption_algorithm) + _validate_not_none('protocol', protocol) + + self.encryption_algorithm = str(encryption_algorithm) + self.protocol = protocol + + +class _EncryptionData: + ''' + Represents the encryption data that is stored on the service. + ''' + + def __init__(self, content_encryption_IV, encryption_agent, wrapped_content_key, + key_wrapping_metadata): + ''' + :param bytes content_encryption_IV: + The content encryption initialization vector. + :param _EncryptionAgent encryption_agent: + The encryption agent. + :param _WrappedContentKey wrapped_content_key: + An object that stores the wrapping algorithm, the key identifier, + and the encrypted key bytes. + :param dict key_wrapping_metadata: + A dict containing metadata related to the key wrapping. + ''' + + _validate_not_none('content_encryption_IV', content_encryption_IV) + _validate_not_none('encryption_agent', encryption_agent) + _validate_not_none('wrapped_content_key', wrapped_content_key) + + self.content_encryption_IV = content_encryption_IV + self.encryption_agent = encryption_agent + self.wrapped_content_key = wrapped_content_key + self.key_wrapping_metadata = key_wrapping_metadata + + +def _generate_encryption_data_dict(kek, cek, iv): + ''' + Generates and returns the encryption metadata as a dict. + + :param object kek: The key encryption key. See calling functions for more information. + :param bytes cek: The content encryption key. + :param bytes iv: The initialization vector. + :return: A dict containing all the encryption metadata. + :rtype: dict + ''' + # Encrypt the cek. + wrapped_cek = kek.wrap_key(cek) + + # Build the encryption_data dict. + # Use OrderedDict to comply with Java's ordering requirement. + wrapped_content_key = OrderedDict() + wrapped_content_key['KeyId'] = kek.get_kid() + wrapped_content_key['EncryptedKey'] = encode_base64(wrapped_cek) + wrapped_content_key['Algorithm'] = kek.get_key_wrap_algorithm() + + encryption_agent = OrderedDict() + encryption_agent['Protocol'] = _ENCRYPTION_PROTOCOL_V1 + encryption_agent['EncryptionAlgorithm'] = _EncryptionAlgorithm.AES_CBC_256 + + encryption_data_dict = OrderedDict() + encryption_data_dict['WrappedContentKey'] = wrapped_content_key + encryption_data_dict['EncryptionAgent'] = encryption_agent + encryption_data_dict['ContentEncryptionIV'] = encode_base64(iv) + encryption_data_dict['KeyWrappingMetadata'] = {'EncryptionLibrary': 'Python ' + VERSION} + + return encryption_data_dict + + +def _dict_to_encryption_data(encryption_data_dict): + ''' + Converts the specified dictionary to an EncryptionData object for + eventual use in decryption. + + :param dict encryption_data_dict: + The dictionary containing the encryption data. + :return: an _EncryptionData object built from the dictionary. + :rtype: _EncryptionData + ''' + try: + if encryption_data_dict['EncryptionAgent']['Protocol'] != _ENCRYPTION_PROTOCOL_V1: + raise ValueError("Unsupported encryption version.") + except KeyError: + raise ValueError("Unsupported encryption version.") + wrapped_content_key = encryption_data_dict['WrappedContentKey'] + wrapped_content_key = _WrappedContentKey(wrapped_content_key['Algorithm'], + decode_base64_to_bytes(wrapped_content_key['EncryptedKey']), + wrapped_content_key['KeyId']) + + encryption_agent = encryption_data_dict['EncryptionAgent'] + encryption_agent = _EncryptionAgent(encryption_agent['EncryptionAlgorithm'], + encryption_agent['Protocol']) + + if 'KeyWrappingMetadata' in encryption_data_dict: + key_wrapping_metadata = encryption_data_dict['KeyWrappingMetadata'] + else: + key_wrapping_metadata = None + + encryption_data = _EncryptionData(decode_base64_to_bytes(encryption_data_dict['ContentEncryptionIV']), + encryption_agent, + wrapped_content_key, + key_wrapping_metadata) + + return encryption_data + + +def _generate_AES_CBC_cipher(cek, iv): + ''' + Generates and returns an encryption cipher for AES CBC using the given cek and iv. + + :param bytes[] cek: The content encryption key for the cipher. + :param bytes[] iv: The initialization vector for the cipher. + :return: A cipher for encrypting in AES256 CBC. + :rtype: ~cryptography.hazmat.primitives.ciphers.Cipher + ''' + + backend = default_backend() + algorithm = AES(cek) + mode = CBC(iv) + return Cipher(algorithm, mode, backend) + + +def _validate_and_unwrap_cek(encryption_data, key_encryption_key=None, key_resolver=None): + ''' + Extracts and returns the content_encryption_key stored in the encryption_data object + and performs necessary validation on all parameters. + :param _EncryptionData encryption_data: + The encryption metadata of the retrieved value. + :param obj key_encryption_key: + The key_encryption_key used to unwrap the cek. Please refer to high-level service object + instance variables for more details. + :param func key_resolver: + A function used that, given a key_id, will return a key_encryption_key. Please refer + to high-level service object instance variables for more details. + :return: the content_encryption_key stored in the encryption_data object. + :rtype: bytes[] + ''' + + _validate_not_none('content_encryption_IV', encryption_data.content_encryption_IV) + _validate_not_none('encrypted_key', encryption_data.wrapped_content_key.encrypted_key) + + if _ENCRYPTION_PROTOCOL_V1 != encryption_data.encryption_agent.protocol: + raise ValueError('Encryption version is not supported.') + + content_encryption_key = None + + # If the resolver exists, give priority to the key it finds. + if key_resolver is not None: + key_encryption_key = key_resolver(encryption_data.wrapped_content_key.key_id) + + _validate_not_none('key_encryption_key', key_encryption_key) + if not hasattr(key_encryption_key, 'get_kid') or not callable(key_encryption_key.get_kid): + raise AttributeError(_ERROR_OBJECT_INVALID.format('key encryption key', 'get_kid')) + if not hasattr(key_encryption_key, 'unwrap_key') or not callable(key_encryption_key.unwrap_key): + raise AttributeError(_ERROR_OBJECT_INVALID.format('key encryption key', 'unwrap_key')) + if encryption_data.wrapped_content_key.key_id != key_encryption_key.get_kid(): + raise ValueError('Provided or resolved key-encryption-key does not match the id of key used to encrypt.') + # Will throw an exception if the specified algorithm is not supported. + content_encryption_key = key_encryption_key.unwrap_key(encryption_data.wrapped_content_key.encrypted_key, + encryption_data.wrapped_content_key.algorithm) + _validate_not_none('content_encryption_key', content_encryption_key) + + return content_encryption_key + + +def _decrypt_message(message, encryption_data, key_encryption_key=None, resolver=None): + ''' + Decrypts the given ciphertext using AES256 in CBC mode with 128 bit padding. + Unwraps the content-encryption-key using the user-provided or resolved key-encryption-key (kek). + Returns the original plaintex. + + :param str message: + The ciphertext to be decrypted. + :param _EncryptionData encryption_data: + The metadata associated with this ciphertext. + :param object key_encryption_key: + The user-provided key-encryption-key. Must implement the following methods: + unwrap_key(key, algorithm) + - returns the unwrapped form of the specified symmetric key using the string-specified algorithm. + get_kid() + - returns a string key id for this key-encryption-key. + :param function resolver(kid): + The user-provided key resolver. Uses the kid string to return a key-encryption-key + implementing the interface defined above. + :return: The decrypted plaintext. + :rtype: str + ''' + _validate_not_none('message', message) + content_encryption_key = _validate_and_unwrap_cek(encryption_data, key_encryption_key, resolver) + + if _EncryptionAlgorithm.AES_CBC_256 != encryption_data.encryption_agent.encryption_algorithm: + raise ValueError('Specified encryption algorithm is not supported.') + + cipher = _generate_AES_CBC_cipher(content_encryption_key, encryption_data.content_encryption_IV) + + # decrypt data + decrypted_data = message + decryptor = cipher.decryptor() + decrypted_data = (decryptor.update(decrypted_data) + decryptor.finalize()) + + # unpad data + unpadder = PKCS7(128).unpadder() + decrypted_data = (unpadder.update(decrypted_data) + unpadder.finalize()) + + return decrypted_data + + +def encrypt_blob(blob, key_encryption_key): + ''' + Encrypts the given blob using AES256 in CBC mode with 128 bit padding. + Wraps the generated content-encryption-key using the user-provided key-encryption-key (kek). + Returns a json-formatted string containing the encryption metadata. This method should + only be used when a blob is small enough for single shot upload. Encrypting larger blobs + is done as a part of the upload_data_chunks method. + + :param bytes blob: + The blob to be encrypted. + :param object key_encryption_key: + The user-provided key-encryption-key. Must implement the following methods: + wrap_key(key)--wraps the specified key using an algorithm of the user's choice. + get_key_wrap_algorithm()--returns the algorithm used to wrap the specified symmetric key. + get_kid()--returns a string key id for this key-encryption-key. + :return: A tuple of json-formatted string containing the encryption metadata and the encrypted blob data. + :rtype: (str, bytes) + ''' + + _validate_not_none('blob', blob) + _validate_not_none('key_encryption_key', key_encryption_key) + _validate_key_encryption_key_wrap(key_encryption_key) + + # AES256 uses 256 bit (32 byte) keys and always with 16 byte blocks + content_encryption_key = urandom(32) + initialization_vector = urandom(16) + + cipher = _generate_AES_CBC_cipher(content_encryption_key, initialization_vector) + + # PKCS7 with 16 byte blocks ensures compatibility with AES. + padder = PKCS7(128).padder() + padded_data = padder.update(blob) + padder.finalize() + + # Encrypt the data. + encryptor = cipher.encryptor() + encrypted_data = encryptor.update(padded_data) + encryptor.finalize() + encryption_data = _generate_encryption_data_dict(key_encryption_key, content_encryption_key, + initialization_vector) + encryption_data['EncryptionMode'] = 'FullBlob' + + return dumps(encryption_data), encrypted_data + + +def generate_blob_encryption_data(key_encryption_key): + ''' + Generates the encryption_metadata for the blob. + + :param bytes key_encryption_key: + The key-encryption-key used to wrap the cek associate with this blob. + :return: A tuple containing the cek and iv for this blob as well as the + serialized encryption metadata for the blob. + :rtype: (bytes, bytes, str) + ''' + encryption_data = None + content_encryption_key = None + initialization_vector = None + if key_encryption_key: + _validate_key_encryption_key_wrap(key_encryption_key) + content_encryption_key = urandom(32) + initialization_vector = urandom(16) + encryption_data = _generate_encryption_data_dict(key_encryption_key, + content_encryption_key, + initialization_vector) + encryption_data['EncryptionMode'] = 'FullBlob' + encryption_data = dumps(encryption_data) + + return content_encryption_key, initialization_vector, encryption_data + + +def decrypt_blob(require_encryption, key_encryption_key, key_resolver, + content, start_offset, end_offset, response_headers): + ''' + Decrypts the given blob contents and returns only the requested range. + + :param bool require_encryption: + Whether or not the calling blob service requires objects to be decrypted. + :param object key_encryption_key: + The user-provided key-encryption-key. Must implement the following methods: + wrap_key(key)--wraps the specified key using an algorithm of the user's choice. + get_key_wrap_algorithm()--returns the algorithm used to wrap the specified symmetric key. + get_kid()--returns a string key id for this key-encryption-key. + :param key_resolver(kid): + The user-provided key resolver. Uses the kid string to return a key-encryption-key + implementing the interface defined above. + :return: The decrypted blob content. + :rtype: bytes + ''' + try: + encryption_data = _dict_to_encryption_data(loads(response_headers['x-ms-meta-encryptiondata'])) + except: # pylint: disable=bare-except + if require_encryption: + raise ValueError( + 'Encryption required, but received data does not contain appropriate metatadata.' + \ + 'Data was either not encrypted or metadata has been lost.') + + return content + + if encryption_data.encryption_agent.encryption_algorithm != _EncryptionAlgorithm.AES_CBC_256: + raise ValueError('Specified encryption algorithm is not supported.') + + blob_type = response_headers['x-ms-blob-type'] + + iv = None + unpad = False + if 'content-range' in response_headers: + content_range = response_headers['content-range'] + # Format: 'bytes x-y/size' + + # Ignore the word 'bytes' + content_range = content_range.split(' ') + + content_range = content_range[1].split('-') + content_range = content_range[1].split('/') + end_range = int(content_range[0]) + blob_size = int(content_range[1]) + + if start_offset >= 16: + iv = content[:16] + content = content[16:] + start_offset -= 16 + else: + iv = encryption_data.content_encryption_IV + + if end_range == blob_size - 1: + unpad = True + else: + unpad = True + iv = encryption_data.content_encryption_IV + + if blob_type == 'PageBlob': + unpad = False + + content_encryption_key = _validate_and_unwrap_cek(encryption_data, key_encryption_key, key_resolver) + cipher = _generate_AES_CBC_cipher(content_encryption_key, iv) + decryptor = cipher.decryptor() + + content = decryptor.update(content) + decryptor.finalize() + if unpad: + unpadder = PKCS7(128).unpadder() + content = unpadder.update(content) + unpadder.finalize() + + return content[start_offset: len(content) - end_offset] + + +def get_blob_encryptor_and_padder(cek, iv, should_pad): + encryptor = None + padder = None + + if cek is not None and iv is not None: + cipher = _generate_AES_CBC_cipher(cek, iv) + encryptor = cipher.encryptor() + padder = PKCS7(128).padder() if should_pad else None + + return encryptor, padder + + +def encrypt_queue_message(message, key_encryption_key): + ''' + Encrypts the given plain text message using AES256 in CBC mode with 128 bit padding. + Wraps the generated content-encryption-key using the user-provided key-encryption-key (kek). + Returns a json-formatted string containing the encrypted message and the encryption metadata. + + :param object message: + The plain text messge to be encrypted. + :param object key_encryption_key: + The user-provided key-encryption-key. Must implement the following methods: + wrap_key(key)--wraps the specified key using an algorithm of the user's choice. + get_key_wrap_algorithm()--returns the algorithm used to wrap the specified symmetric key. + get_kid()--returns a string key id for this key-encryption-key. + :return: A json-formatted string containing the encrypted message and the encryption metadata. + :rtype: str + ''' + + _validate_not_none('message', message) + _validate_not_none('key_encryption_key', key_encryption_key) + _validate_key_encryption_key_wrap(key_encryption_key) + + # AES256 uses 256 bit (32 byte) keys and always with 16 byte blocks + content_encryption_key = os.urandom(32) + initialization_vector = os.urandom(16) + + # Queue encoding functions all return unicode strings, and encryption should + # operate on binary strings. + message = message.encode('utf-8') + + cipher = _generate_AES_CBC_cipher(content_encryption_key, initialization_vector) + + # PKCS7 with 16 byte blocks ensures compatibility with AES. + padder = PKCS7(128).padder() + padded_data = padder.update(message) + padder.finalize() + + # Encrypt the data. + encryptor = cipher.encryptor() + encrypted_data = encryptor.update(padded_data) + encryptor.finalize() + + # Build the dictionary structure. + queue_message = {'EncryptedMessageContents': encode_base64(encrypted_data), + 'EncryptionData': _generate_encryption_data_dict(key_encryption_key, + content_encryption_key, + initialization_vector)} + + return dumps(queue_message) + + +def decrypt_queue_message(message, response, require_encryption, key_encryption_key, resolver): + ''' + Returns the decrypted message contents from an EncryptedQueueMessage. + If no encryption metadata is present, will return the unaltered message. + :param str message: + The JSON formatted QueueEncryptedMessage contents with all associated metadata. + :param bool require_encryption: + If set, will enforce that the retrieved messages are encrypted and decrypt them. + :param object key_encryption_key: + The user-provided key-encryption-key. Must implement the following methods: + unwrap_key(key, algorithm) + - returns the unwrapped form of the specified symmetric key usingthe string-specified algorithm. + get_kid() + - returns a string key id for this key-encryption-key. + :param function resolver(kid): + The user-provided key resolver. Uses the kid string to return a key-encryption-key + implementing the interface defined above. + :return: The plain text message from the queue message. + :rtype: str + ''' + + try: + message = loads(message) + + encryption_data = _dict_to_encryption_data(message['EncryptionData']) + decoded_data = decode_base64_to_bytes(message['EncryptedMessageContents']) + except (KeyError, ValueError): + # Message was not json formatted and so was not encrypted + # or the user provided a json formatted message. + if require_encryption: + raise ValueError('Message was not encrypted.') + + return message + try: + return _decrypt_message(decoded_data, encryption_data, key_encryption_key, resolver).decode('utf-8') + except Exception as error: + raise HttpResponseError( + message="Decryption failed.", + response=response, + error=error) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/models.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/models.py new file mode 100644 index 00000000000..c51356bd885 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/models.py @@ -0,0 +1,466 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +# pylint: disable=too-many-instance-attributes +from enum import Enum + + +def get_enum_value(value): + if value is None or value in ["None", ""]: + return None + try: + return value.value + except AttributeError: + return value + + +class StorageErrorCode(str, Enum): + + # Generic storage values + account_already_exists = "AccountAlreadyExists" + account_being_created = "AccountBeingCreated" + account_is_disabled = "AccountIsDisabled" + authentication_failed = "AuthenticationFailed" + authorization_failure = "AuthorizationFailure" + no_authentication_information = "NoAuthenticationInformation" + condition_headers_not_supported = "ConditionHeadersNotSupported" + condition_not_met = "ConditionNotMet" + empty_metadata_key = "EmptyMetadataKey" + insufficient_account_permissions = "InsufficientAccountPermissions" + internal_error = "InternalError" + invalid_authentication_info = "InvalidAuthenticationInfo" + invalid_header_value = "InvalidHeaderValue" + invalid_http_verb = "InvalidHttpVerb" + invalid_input = "InvalidInput" + invalid_md5 = "InvalidMd5" + invalid_metadata = "InvalidMetadata" + invalid_query_parameter_value = "InvalidQueryParameterValue" + invalid_range = "InvalidRange" + invalid_resource_name = "InvalidResourceName" + invalid_uri = "InvalidUri" + invalid_xml_document = "InvalidXmlDocument" + invalid_xml_node_value = "InvalidXmlNodeValue" + md5_mismatch = "Md5Mismatch" + metadata_too_large = "MetadataTooLarge" + missing_content_length_header = "MissingContentLengthHeader" + missing_required_query_parameter = "MissingRequiredQueryParameter" + missing_required_header = "MissingRequiredHeader" + missing_required_xml_node = "MissingRequiredXmlNode" + multiple_condition_headers_not_supported = "MultipleConditionHeadersNotSupported" + operation_timed_out = "OperationTimedOut" + out_of_range_input = "OutOfRangeInput" + out_of_range_query_parameter_value = "OutOfRangeQueryParameterValue" + request_body_too_large = "RequestBodyTooLarge" + resource_type_mismatch = "ResourceTypeMismatch" + request_url_failed_to_parse = "RequestUrlFailedToParse" + resource_already_exists = "ResourceAlreadyExists" + resource_not_found = "ResourceNotFound" + server_busy = "ServerBusy" + unsupported_header = "UnsupportedHeader" + unsupported_xml_node = "UnsupportedXmlNode" + unsupported_query_parameter = "UnsupportedQueryParameter" + unsupported_http_verb = "UnsupportedHttpVerb" + + # Blob values + append_position_condition_not_met = "AppendPositionConditionNotMet" + blob_already_exists = "BlobAlreadyExists" + blob_not_found = "BlobNotFound" + blob_overwritten = "BlobOverwritten" + blob_tier_inadequate_for_content_length = "BlobTierInadequateForContentLength" + block_count_exceeds_limit = "BlockCountExceedsLimit" + block_list_too_long = "BlockListTooLong" + cannot_change_to_lower_tier = "CannotChangeToLowerTier" + cannot_verify_copy_source = "CannotVerifyCopySource" + container_already_exists = "ContainerAlreadyExists" + container_being_deleted = "ContainerBeingDeleted" + container_disabled = "ContainerDisabled" + container_not_found = "ContainerNotFound" + content_length_larger_than_tier_limit = "ContentLengthLargerThanTierLimit" + copy_across_accounts_not_supported = "CopyAcrossAccountsNotSupported" + copy_id_mismatch = "CopyIdMismatch" + feature_version_mismatch = "FeatureVersionMismatch" + incremental_copy_blob_mismatch = "IncrementalCopyBlobMismatch" + incremental_copy_of_eralier_version_snapshot_not_allowed = "IncrementalCopyOfEralierVersionSnapshotNotAllowed" + incremental_copy_source_must_be_snapshot = "IncrementalCopySourceMustBeSnapshot" + infinite_lease_duration_required = "InfiniteLeaseDurationRequired" + invalid_blob_or_block = "InvalidBlobOrBlock" + invalid_blob_tier = "InvalidBlobTier" + invalid_blob_type = "InvalidBlobType" + invalid_block_id = "InvalidBlockId" + invalid_block_list = "InvalidBlockList" + invalid_operation = "InvalidOperation" + invalid_page_range = "InvalidPageRange" + invalid_source_blob_type = "InvalidSourceBlobType" + invalid_source_blob_url = "InvalidSourceBlobUrl" + invalid_version_for_page_blob_operation = "InvalidVersionForPageBlobOperation" + lease_already_present = "LeaseAlreadyPresent" + lease_already_broken = "LeaseAlreadyBroken" + lease_id_mismatch_with_blob_operation = "LeaseIdMismatchWithBlobOperation" + lease_id_mismatch_with_container_operation = "LeaseIdMismatchWithContainerOperation" + lease_id_mismatch_with_lease_operation = "LeaseIdMismatchWithLeaseOperation" + lease_id_missing = "LeaseIdMissing" + lease_is_breaking_and_cannot_be_acquired = "LeaseIsBreakingAndCannotBeAcquired" + lease_is_breaking_and_cannot_be_changed = "LeaseIsBreakingAndCannotBeChanged" + lease_is_broken_and_cannot_be_renewed = "LeaseIsBrokenAndCannotBeRenewed" + lease_lost = "LeaseLost" + lease_not_present_with_blob_operation = "LeaseNotPresentWithBlobOperation" + lease_not_present_with_container_operation = "LeaseNotPresentWithContainerOperation" + lease_not_present_with_lease_operation = "LeaseNotPresentWithLeaseOperation" + max_blob_size_condition_not_met = "MaxBlobSizeConditionNotMet" + no_pending_copy_operation = "NoPendingCopyOperation" + operation_not_allowed_on_incremental_copy_blob = "OperationNotAllowedOnIncrementalCopyBlob" + pending_copy_operation = "PendingCopyOperation" + previous_snapshot_cannot_be_newer = "PreviousSnapshotCannotBeNewer" + previous_snapshot_not_found = "PreviousSnapshotNotFound" + previous_snapshot_operation_not_supported = "PreviousSnapshotOperationNotSupported" + sequence_number_condition_not_met = "SequenceNumberConditionNotMet" + sequence_number_increment_too_large = "SequenceNumberIncrementTooLarge" + snapshot_count_exceeded = "SnapshotCountExceeded" + snaphot_operation_rate_exceeded = "SnaphotOperationRateExceeded" + snapshots_present = "SnapshotsPresent" + source_condition_not_met = "SourceConditionNotMet" + system_in_use = "SystemInUse" + target_condition_not_met = "TargetConditionNotMet" + unauthorized_blob_overwrite = "UnauthorizedBlobOverwrite" + blob_being_rehydrated = "BlobBeingRehydrated" + blob_archived = "BlobArchived" + blob_not_archived = "BlobNotArchived" + + # Queue values + invalid_marker = "InvalidMarker" + message_not_found = "MessageNotFound" + message_too_large = "MessageTooLarge" + pop_receipt_mismatch = "PopReceiptMismatch" + queue_already_exists = "QueueAlreadyExists" + queue_being_deleted = "QueueBeingDeleted" + queue_disabled = "QueueDisabled" + queue_not_empty = "QueueNotEmpty" + queue_not_found = "QueueNotFound" + + # File values + cannot_delete_file_or_directory = "CannotDeleteFileOrDirectory" + client_cache_flush_delay = "ClientCacheFlushDelay" + delete_pending = "DeletePending" + directory_not_empty = "DirectoryNotEmpty" + file_lock_conflict = "FileLockConflict" + invalid_file_or_directory_path_name = "InvalidFileOrDirectoryPathName" + parent_not_found = "ParentNotFound" + read_only_attribute = "ReadOnlyAttribute" + share_already_exists = "ShareAlreadyExists" + share_being_deleted = "ShareBeingDeleted" + share_disabled = "ShareDisabled" + share_not_found = "ShareNotFound" + sharing_violation = "SharingViolation" + share_snapshot_in_progress = "ShareSnapshotInProgress" + share_snapshot_count_exceeded = "ShareSnapshotCountExceeded" + share_snapshot_operation_not_supported = "ShareSnapshotOperationNotSupported" + share_has_snapshots = "ShareHasSnapshots" + container_quota_downgrade_not_allowed = "ContainerQuotaDowngradeNotAllowed" + + # DataLake values + content_length_must_be_zero = 'ContentLengthMustBeZero' + path_already_exists = 'PathAlreadyExists' + invalid_flush_position = 'InvalidFlushPosition' + invalid_property_name = 'InvalidPropertyName' + invalid_source_uri = 'InvalidSourceUri' + unsupported_rest_version = 'UnsupportedRestVersion' + file_system_not_found = 'FilesystemNotFound' + path_not_found = 'PathNotFound' + rename_destination_parent_path_not_found = 'RenameDestinationParentPathNotFound' + source_path_not_found = 'SourcePathNotFound' + destination_path_is_being_deleted = 'DestinationPathIsBeingDeleted' + file_system_already_exists = 'FilesystemAlreadyExists' + file_system_being_deleted = 'FilesystemBeingDeleted' + invalid_destination_path = 'InvalidDestinationPath' + invalid_rename_source_path = 'InvalidRenameSourcePath' + invalid_source_or_destination_resource_type = 'InvalidSourceOrDestinationResourceType' + lease_is_already_broken = 'LeaseIsAlreadyBroken' + lease_name_mismatch = 'LeaseNameMismatch' + path_conflict = 'PathConflict' + source_path_is_being_deleted = 'SourcePathIsBeingDeleted' + + +class DictMixin(object): + + def __setitem__(self, key, item): + self.__dict__[key] = item + + def __getitem__(self, key): + return self.__dict__[key] + + def __repr__(self): + return str(self) + + def __len__(self): + return len(self.keys()) + + def __delitem__(self, key): + self.__dict__[key] = None + + def __eq__(self, other): + """Compare objects by comparing all attributes.""" + if isinstance(other, self.__class__): + return self.__dict__ == other.__dict__ + return False + + def __ne__(self, other): + """Compare objects by comparing all attributes.""" + return not self.__eq__(other) + + def __str__(self): + return str({k: v for k, v in self.__dict__.items() if not k.startswith('_')}) + + def has_key(self, k): + return k in self.__dict__ + + def update(self, *args, **kwargs): + return self.__dict__.update(*args, **kwargs) + + def keys(self): + return [k for k in self.__dict__ if not k.startswith('_')] + + def values(self): + return [v for k, v in self.__dict__.items() if not k.startswith('_')] + + def items(self): + return [(k, v) for k, v in self.__dict__.items() if not k.startswith('_')] + + def get(self, key, default=None): + if key in self.__dict__: + return self.__dict__[key] + return default + + +class LocationMode(object): + """ + Specifies the location the request should be sent to. This mode only applies + for RA-GRS accounts which allow secondary read access. All other account types + must use PRIMARY. + """ + + PRIMARY = 'primary' #: Requests should be sent to the primary location. + SECONDARY = 'secondary' #: Requests should be sent to the secondary location, if possible. + + +class ResourceTypes(object): + """ + Specifies the resource types that are accessible with the account SAS. + + :param bool service: + Access to service-level APIs (e.g., Get/Set Service Properties, + Get Service Stats, List Containers/Queues/Shares) + :param bool container: + Access to container-level APIs (e.g., Create/Delete Container, + Create/Delete Queue, Create/Delete Share, + List Blobs/Files and Directories) + :param bool object: + Access to object-level APIs for blobs, queue messages, and + files(e.g. Put Blob, Query Entity, Get Messages, Create File, etc.) + """ + + def __init__(self, service=False, container=False, object=False): # pylint: disable=redefined-builtin + self.service = service + self.container = container + self.object = object + self._str = (('s' if self.service else '') + + ('c' if self.container else '') + + ('o' if self.object else '')) + + def __str__(self): + return self._str + + @classmethod + def from_string(cls, string): + """Create a ResourceTypes from a string. + + To specify service, container, or object you need only to + include the first letter of the word in the string. E.g. service and container, + you would provide a string "sc". + + :param str string: Specify service, container, or object in + in the string with the first letter of the word. + :return: A ResourceTypes object + :rtype: ~azure.storage.blob.ResourceTypes + """ + res_service = 's' in string + res_container = 'c' in string + res_object = 'o' in string + + parsed = cls(res_service, res_container, res_object) + parsed._str = string # pylint: disable = protected-access + return parsed + + +class AccountSasPermissions(object): + """ + :class:`~ResourceTypes` class to be used with generate_account_sas + function and for the AccessPolicies used with set_*_acl. There are two types of + SAS which may be used to grant resource access. One is to grant access to a + specific resource (resource-specific). Another is to grant access to the + entire service for a specific account and allow certain operations based on + perms found here. + + :param bool read: + Valid for all signed resources types (Service, Container, and Object). + Permits read permissions to the specified resource type. + :param bool write: + Valid for all signed resources types (Service, Container, and Object). + Permits write permissions to the specified resource type. + :param bool delete: + Valid for Container and Object resource types, except for queue messages. + :param bool delete_previous_version: + Delete the previous blob version for the versioning enabled storage account. + :param bool list: + Valid for Service and Container resource types only. + :param bool add: + Valid for the following Object resource types only: queue messages, and append blobs. + :param bool create: + Valid for the following Object resource types only: blobs and files. + Users can create new blobs or files, but may not overwrite existing + blobs or files. + :param bool update: + Valid for the following Object resource types only: queue messages. + :param bool process: + Valid for the following Object resource type only: queue messages. + :keyword bool tag: + To enable set or get tags on the blobs in the container. + :keyword bool filter_by_tags: + To enable get blobs by tags, this should be used together with list permission. + """ + def __init__(self, read=False, write=False, delete=False, + list=False, # pylint: disable=redefined-builtin + add=False, create=False, update=False, process=False, delete_previous_version=False, **kwargs): + self.read = read + self.write = write + self.delete = delete + self.delete_previous_version = delete_previous_version + self.list = list + self.add = add + self.create = create + self.update = update + self.process = process + self.tag = kwargs.pop('tag', False) + self.filter_by_tags = kwargs.pop('filter_by_tags', False) + self._str = (('r' if self.read else '') + + ('w' if self.write else '') + + ('d' if self.delete else '') + + ('x' if self.delete_previous_version else '') + + ('l' if self.list else '') + + ('a' if self.add else '') + + ('c' if self.create else '') + + ('u' if self.update else '') + + ('p' if self.process else '') + + ('f' if self.filter_by_tags else '') + + ('t' if self.tag else '') + ) + + def __str__(self): + return self._str + + @classmethod + def from_string(cls, permission): + """Create AccountSasPermissions from a string. + + To specify read, write, delete, etc. permissions you need only to + include the first letter of the word in the string. E.g. for read and write + permissions you would provide a string "rw". + + :param str permission: Specify permissions in + the string with the first letter of the word. + :return: An AccountSasPermissions object + :rtype: ~azure.storage.blob.AccountSasPermissions + """ + p_read = 'r' in permission + p_write = 'w' in permission + p_delete = 'd' in permission + p_delete_previous_version = 'x' in permission + p_list = 'l' in permission + p_add = 'a' in permission + p_create = 'c' in permission + p_update = 'u' in permission + p_process = 'p' in permission + p_tag = 't' in permission + p_filter_by_tags = 'f' in permission + parsed = cls(read=p_read, write=p_write, delete=p_delete, delete_previous_version=p_delete_previous_version, + list=p_list, add=p_add, create=p_create, update=p_update, process=p_process, tag=p_tag, + filter_by_tags=p_filter_by_tags) + + return parsed + +class Services(object): + """Specifies the services accessible with the account SAS. + + :param bool blob: + Access for the `~azure.storage.blob.BlobServiceClient` + :param bool queue: + Access for the `~azure.storage.queue.QueueServiceClient` + :param bool fileshare: + Access for the `~azure.storage.fileshare.ShareServiceClient` + """ + + def __init__(self, blob=False, queue=False, fileshare=False): + self.blob = blob + self.queue = queue + self.fileshare = fileshare + self._str = (('b' if self.blob else '') + + ('q' if self.queue else '') + + ('f' if self.fileshare else '')) + + def __str__(self): + return self._str + + @classmethod + def from_string(cls, string): + """Create Services from a string. + + To specify blob, queue, or file you need only to + include the first letter of the word in the string. E.g. for blob and queue + you would provide a string "bq". + + :param str string: Specify blob, queue, or file in + in the string with the first letter of the word. + :return: A Services object + :rtype: ~azure.storage.blob.Services + """ + res_blob = 'b' in string + res_queue = 'q' in string + res_file = 'f' in string + + parsed = cls(res_blob, res_queue, res_file) + parsed._str = string # pylint: disable = protected-access + return parsed + + +class UserDelegationKey(object): + """ + Represents a user delegation key, provided to the user by Azure Storage + based on their Azure Active Directory access token. + + The fields are saved as simple strings since the user does not have to interact with this object; + to generate an identify SAS, the user can simply pass it to the right API. + + :ivar str signed_oid: + Object ID of this token. + :ivar str signed_tid: + Tenant ID of the tenant that issued this token. + :ivar str signed_start: + The datetime this token becomes valid. + :ivar str signed_expiry: + The datetime this token expires. + :ivar str signed_service: + What service this key is valid for. + :ivar str signed_version: + The version identifier of the REST service that created this token. + :ivar str value: + The user delegation key. + """ + def __init__(self): + self.signed_oid = None + self.signed_tid = None + self.signed_start = None + self.signed_expiry = None + self.signed_service = None + self.signed_version = None + self.value = None diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/parser.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/parser.py new file mode 100644 index 00000000000..c6feba8a639 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/parser.py @@ -0,0 +1,20 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- + +import sys + +if sys.version_info < (3,): + def _str(value): + if isinstance(value, unicode): # pylint: disable=undefined-variable + return value.encode('utf-8') + + return str(value) +else: + _str = str + + +def _to_utc_datetime(value): + return value.strftime('%Y-%m-%dT%H:%M:%SZ') diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/policies.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/policies.py new file mode 100644 index 00000000000..c9bc798d671 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/policies.py @@ -0,0 +1,610 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- + +import base64 +import hashlib +import re +import random +from time import time +from io import SEEK_SET, UnsupportedOperation +import logging +import uuid +import types +from typing import Any, TYPE_CHECKING +from wsgiref.handlers import format_date_time +try: + from urllib.parse import ( + urlparse, + parse_qsl, + urlunparse, + urlencode, + ) +except ImportError: + from urllib import urlencode # type: ignore + from urlparse import ( # type: ignore + urlparse, + parse_qsl, + urlunparse, + ) + +from azure.core.pipeline.policies import ( + HeadersPolicy, + SansIOHTTPPolicy, + NetworkTraceLoggingPolicy, + HTTPPolicy, + RequestHistory +) +from azure.core.exceptions import AzureError, ServiceRequestError, ServiceResponseError + +from .models import LocationMode + +try: + _unicode_type = unicode # type: ignore +except NameError: + _unicode_type = str + +if TYPE_CHECKING: + from azure.core.pipeline import PipelineRequest, PipelineResponse + + +_LOGGER = logging.getLogger(__name__) + + +def encode_base64(data): + if isinstance(data, _unicode_type): + data = data.encode('utf-8') + encoded = base64.b64encode(data) + return encoded.decode('utf-8') + + +def is_exhausted(settings): + """Are we out of retries?""" + retry_counts = (settings['total'], settings['connect'], settings['read'], settings['status']) + retry_counts = list(filter(None, retry_counts)) + if not retry_counts: + return False + return min(retry_counts) < 0 + + +def retry_hook(settings, **kwargs): + if settings['hook']: + settings['hook'](retry_count=settings['count'] - 1, location_mode=settings['mode'], **kwargs) + + +def is_retry(response, mode): + """Is this method/status code retryable? (Based on whitelists and control + variables such as the number of total retries to allow, whether to + respect the Retry-After header, whether this header is present, and + whether the returned status code is on the list of status codes to + be retried upon on the presence of the aforementioned header) + """ + status = response.http_response.status_code + if 300 <= status < 500: + # An exception occured, but in most cases it was expected. Examples could + # include a 309 Conflict or 412 Precondition Failed. + if status == 404 and mode == LocationMode.SECONDARY: + # Response code 404 should be retried if secondary was used. + return True + if status == 408: + # Response code 408 is a timeout and should be retried. + return True + return False + if status >= 500: + # Response codes above 500 with the exception of 501 Not Implemented and + # 505 Version Not Supported indicate a server issue and should be retried. + if status in [501, 505]: + return False + return True + return False + + +def urljoin(base_url, stub_url): + parsed = urlparse(base_url) + parsed = parsed._replace(path=parsed.path + '/' + stub_url) + return parsed.geturl() + + +class QueueMessagePolicy(SansIOHTTPPolicy): + + def on_request(self, request): + message_id = request.context.options.pop('queue_message_id', None) + if message_id: + request.http_request.url = urljoin( + request.http_request.url, + message_id) + + +class StorageHeadersPolicy(HeadersPolicy): + request_id_header_name = 'x-ms-client-request-id' + + def on_request(self, request): + # type: (PipelineRequest, Any) -> None + super(StorageHeadersPolicy, self).on_request(request) + current_time = format_date_time(time()) + request.http_request.headers['x-ms-date'] = current_time + + custom_id = request.context.options.pop('client_request_id', None) + request.http_request.headers['x-ms-client-request-id'] = custom_id or str(uuid.uuid1()) + + # def on_response(self, request, response): + # # raise exception if the echoed client request id from the service is not identical to the one we sent + # if self.request_id_header_name in response.http_response.headers: + + # client_request_id = request.http_request.headers.get(self.request_id_header_name) + + # if response.http_response.headers[self.request_id_header_name] != client_request_id: + # raise AzureError( + # "Echoed client request ID: {} does not match sent client request ID: {}. " + # "Service request ID: {}".format( + # response.http_response.headers[self.request_id_header_name], client_request_id, + # response.http_response.headers['x-ms-request-id']), + # response=response.http_response + # ) + + +class StorageHosts(SansIOHTTPPolicy): + + def __init__(self, hosts=None, **kwargs): # pylint: disable=unused-argument + self.hosts = hosts + super(StorageHosts, self).__init__() + + def on_request(self, request): + # type: (PipelineRequest, Any) -> None + request.context.options['hosts'] = self.hosts + parsed_url = urlparse(request.http_request.url) + + # Detect what location mode we're currently requesting with + location_mode = LocationMode.PRIMARY + for key, value in self.hosts.items(): + if parsed_url.netloc == value: + location_mode = key + + # See if a specific location mode has been specified, and if so, redirect + use_location = request.context.options.pop('use_location', None) + if use_location: + # Lock retries to the specific location + request.context.options['retry_to_secondary'] = False + if use_location not in self.hosts: + raise ValueError("Attempting to use undefined host location {}".format(use_location)) + if use_location != location_mode: + # Update request URL to use the specified location + updated = parsed_url._replace(netloc=self.hosts[use_location]) + request.http_request.url = updated.geturl() + location_mode = use_location + + request.context.options['location_mode'] = location_mode + + +class StorageLoggingPolicy(NetworkTraceLoggingPolicy): + """A policy that logs HTTP request and response to the DEBUG logger. + + This accepts both global configuration, and per-request level with "enable_http_logger" + """ + + def on_request(self, request): + # type: (PipelineRequest, Any) -> None + http_request = request.http_request + options = request.context.options + if options.pop("logging_enable", self.enable_http_logger): + request.context["logging_enable"] = True + if not _LOGGER.isEnabledFor(logging.DEBUG): + return + + try: + log_url = http_request.url + query_params = http_request.query + if 'sig' in query_params: + log_url = log_url.replace(query_params['sig'], "sig=*****") + _LOGGER.debug("Request URL: %r", log_url) + _LOGGER.debug("Request method: %r", http_request.method) + _LOGGER.debug("Request headers:") + for header, value in http_request.headers.items(): + if header.lower() == 'authorization': + value = '*****' + elif header.lower() == 'x-ms-copy-source' and 'sig' in value: + # take the url apart and scrub away the signed signature + scheme, netloc, path, params, query, fragment = urlparse(value) + parsed_qs = dict(parse_qsl(query)) + parsed_qs['sig'] = '*****' + + # the SAS needs to be put back together + value = urlunparse((scheme, netloc, path, params, urlencode(parsed_qs), fragment)) + + _LOGGER.debug(" %r: %r", header, value) + _LOGGER.debug("Request body:") + + # We don't want to log the binary data of a file upload. + if isinstance(http_request.body, types.GeneratorType): + _LOGGER.debug("File upload") + else: + _LOGGER.debug(str(http_request.body)) + except Exception as err: # pylint: disable=broad-except + _LOGGER.debug("Failed to log request: %r", err) + + def on_response(self, request, response): + # type: (PipelineRequest, PipelineResponse, Any) -> None + if response.context.pop("logging_enable", self.enable_http_logger): + if not _LOGGER.isEnabledFor(logging.DEBUG): + return + + try: + _LOGGER.debug("Response status: %r", response.http_response.status_code) + _LOGGER.debug("Response headers:") + for res_header, value in response.http_response.headers.items(): + _LOGGER.debug(" %r: %r", res_header, value) + + # We don't want to log binary data if the response is a file. + _LOGGER.debug("Response content:") + pattern = re.compile(r'attachment; ?filename=["\w.]+', re.IGNORECASE) + header = response.http_response.headers.get('content-disposition') + + if header and pattern.match(header): + filename = header.partition('=')[2] + _LOGGER.debug("File attachments: %s", filename) + elif response.http_response.headers.get("content-type", "").endswith("octet-stream"): + _LOGGER.debug("Body contains binary data.") + elif response.http_response.headers.get("content-type", "").startswith("image"): + _LOGGER.debug("Body contains image data.") + else: + if response.context.options.get('stream', False): + _LOGGER.debug("Body is streamable") + else: + _LOGGER.debug(response.http_response.text()) + except Exception as err: # pylint: disable=broad-except + _LOGGER.debug("Failed to log response: %s", repr(err)) + + +class StorageRequestHook(SansIOHTTPPolicy): + + def __init__(self, **kwargs): # pylint: disable=unused-argument + self._request_callback = kwargs.get('raw_request_hook') + super(StorageRequestHook, self).__init__() + + def on_request(self, request): + # type: (PipelineRequest, **Any) -> PipelineResponse + request_callback = request.context.options.pop('raw_request_hook', self._request_callback) + if request_callback: + request_callback(request) + + +class StorageResponseHook(HTTPPolicy): + + def __init__(self, **kwargs): # pylint: disable=unused-argument + self._response_callback = kwargs.get('raw_response_hook') + super(StorageResponseHook, self).__init__() + + def send(self, request): + # type: (PipelineRequest) -> PipelineResponse + data_stream_total = request.context.get('data_stream_total') or \ + request.context.options.pop('data_stream_total', None) + download_stream_current = request.context.get('download_stream_current') or \ + request.context.options.pop('download_stream_current', None) + upload_stream_current = request.context.get('upload_stream_current') or \ + request.context.options.pop('upload_stream_current', None) + response_callback = request.context.get('response_callback') or \ + request.context.options.pop('raw_response_hook', self._response_callback) + + response = self.next.send(request) + will_retry = is_retry(response, request.context.options.get('mode')) + if not will_retry and download_stream_current is not None: + download_stream_current += int(response.http_response.headers.get('Content-Length', 0)) + if data_stream_total is None: + content_range = response.http_response.headers.get('Content-Range') + if content_range: + data_stream_total = int(content_range.split(' ', 1)[1].split('/', 1)[1]) + else: + data_stream_total = download_stream_current + elif not will_retry and upload_stream_current is not None: + upload_stream_current += int(response.http_request.headers.get('Content-Length', 0)) + for pipeline_obj in [request, response]: + pipeline_obj.context['data_stream_total'] = data_stream_total + pipeline_obj.context['download_stream_current'] = download_stream_current + pipeline_obj.context['upload_stream_current'] = upload_stream_current + if response_callback: + response_callback(response) + request.context['response_callback'] = response_callback + return response + + +class StorageContentValidation(SansIOHTTPPolicy): + """A simple policy that sends the given headers + with the request. + + This will overwrite any headers already defined in the request. + """ + header_name = 'Content-MD5' + + def __init__(self, **kwargs): # pylint: disable=unused-argument + super(StorageContentValidation, self).__init__() + + @staticmethod + def get_content_md5(data): + md5 = hashlib.md5() # nosec + if isinstance(data, bytes): + md5.update(data) + elif hasattr(data, 'read'): + pos = 0 + try: + pos = data.tell() + except: # pylint: disable=bare-except + pass + for chunk in iter(lambda: data.read(4096), b""): + md5.update(chunk) + try: + data.seek(pos, SEEK_SET) + except (AttributeError, IOError): + raise ValueError("Data should be bytes or a seekable file-like object.") + else: + raise ValueError("Data should be bytes or a seekable file-like object.") + + return md5.digest() + + def on_request(self, request): + # type: (PipelineRequest, Any) -> None + validate_content = request.context.options.pop('validate_content', False) + if validate_content and request.http_request.method != 'GET': + computed_md5 = encode_base64(StorageContentValidation.get_content_md5(request.http_request.data)) + request.http_request.headers[self.header_name] = computed_md5 + request.context['validate_content_md5'] = computed_md5 + request.context['validate_content'] = validate_content + + def on_response(self, request, response): + if response.context.get('validate_content', False) and response.http_response.headers.get('content-md5'): + computed_md5 = request.context.get('validate_content_md5') or \ + encode_base64(StorageContentValidation.get_content_md5(response.http_response.body())) + if response.http_response.headers['content-md5'] != computed_md5: + raise AzureError( + 'MD5 mismatch. Expected value is \'{0}\', computed value is \'{1}\'.'.format( + response.http_response.headers['content-md5'], computed_md5), + response=response.http_response + ) + + +class StorageRetryPolicy(HTTPPolicy): + """ + The base class for Exponential and Linear retries containing shared code. + """ + + def __init__(self, **kwargs): + self.total_retries = kwargs.pop('retry_total', 10) + self.connect_retries = kwargs.pop('retry_connect', 3) + self.read_retries = kwargs.pop('retry_read', 3) + self.status_retries = kwargs.pop('retry_status', 3) + self.retry_to_secondary = kwargs.pop('retry_to_secondary', False) + super(StorageRetryPolicy, self).__init__() + + def _set_next_host_location(self, settings, request): # pylint: disable=no-self-use + """ + A function which sets the next host location on the request, if applicable. + + :param ~azure.storage.models.RetryContext context: + The retry context containing the previous host location and the request + to evaluate and possibly modify. + """ + if settings['hosts'] and all(settings['hosts'].values()): + url = urlparse(request.url) + # If there's more than one possible location, retry to the alternative + if settings['mode'] == LocationMode.PRIMARY: + settings['mode'] = LocationMode.SECONDARY + else: + settings['mode'] = LocationMode.PRIMARY + updated = url._replace(netloc=settings['hosts'].get(settings['mode'])) + request.url = updated.geturl() + + def configure_retries(self, request): # pylint: disable=no-self-use + body_position = None + if hasattr(request.http_request.body, 'read'): + try: + body_position = request.http_request.body.tell() + except (AttributeError, UnsupportedOperation): + # if body position cannot be obtained, then retries will not work + pass + options = request.context.options + return { + 'total': options.pop("retry_total", self.total_retries), + 'connect': options.pop("retry_connect", self.connect_retries), + 'read': options.pop("retry_read", self.read_retries), + 'status': options.pop("retry_status", self.status_retries), + 'retry_secondary': options.pop("retry_to_secondary", self.retry_to_secondary), + 'mode': options.pop("location_mode", LocationMode.PRIMARY), + 'hosts': options.pop("hosts", None), + 'hook': options.pop("retry_hook", None), + 'body_position': body_position, + 'count': 0, + 'history': [] + } + + def get_backoff_time(self, settings): # pylint: disable=unused-argument,no-self-use + """ Formula for computing the current backoff. + Should be calculated by child class. + + :rtype: float + """ + return 0 + + def sleep(self, settings, transport): + backoff = self.get_backoff_time(settings) + if not backoff or backoff < 0: + return + transport.sleep(backoff) + + def increment(self, settings, request, response=None, error=None): + """Increment the retry counters. + + :param response: A pipeline response object. + :param error: An error encountered during the request, or + None if the response was received successfully. + + :return: Whether the retry attempts are exhausted. + """ + settings['total'] -= 1 + + if error and isinstance(error, ServiceRequestError): + # Errors when we're fairly sure that the server did not receive the + # request, so it should be safe to retry. + settings['connect'] -= 1 + settings['history'].append(RequestHistory(request, error=error)) + + elif error and isinstance(error, ServiceResponseError): + # Errors that occur after the request has been started, so we should + # assume that the server began processing it. + settings['read'] -= 1 + settings['history'].append(RequestHistory(request, error=error)) + + else: + # Incrementing because of a server error like a 500 in + # status_forcelist and a the given method is in the whitelist + if response: + settings['status'] -= 1 + settings['history'].append(RequestHistory(request, http_response=response)) + + if not is_exhausted(settings): + if request.method not in ['PUT'] and settings['retry_secondary']: + self._set_next_host_location(settings, request) + + # rewind the request body if it is a stream + if request.body and hasattr(request.body, 'read'): + # no position was saved, then retry would not work + if settings['body_position'] is None: + return False + try: + # attempt to rewind the body to the initial position + request.body.seek(settings['body_position'], SEEK_SET) + except (UnsupportedOperation, ValueError): + # if body is not seekable, then retry would not work + return False + settings['count'] += 1 + return True + return False + + def send(self, request): + retries_remaining = True + response = None + retry_settings = self.configure_retries(request) + while retries_remaining: + try: + response = self.next.send(request) + if is_retry(response, retry_settings['mode']): + retries_remaining = self.increment( + retry_settings, + request=request.http_request, + response=response.http_response) + if retries_remaining: + retry_hook( + retry_settings, + request=request.http_request, + response=response.http_response, + error=None) + self.sleep(retry_settings, request.context.transport) + continue + break + except AzureError as err: + retries_remaining = self.increment( + retry_settings, request=request.http_request, error=err) + if retries_remaining: + retry_hook( + retry_settings, + request=request.http_request, + response=None, + error=err) + self.sleep(retry_settings, request.context.transport) + continue + raise err + if retry_settings['history']: + response.context['history'] = retry_settings['history'] + response.http_response.location_mode = retry_settings['mode'] + return response + + +class ExponentialRetry(StorageRetryPolicy): + """Exponential retry.""" + + def __init__(self, initial_backoff=15, increment_base=3, retry_total=3, + retry_to_secondary=False, random_jitter_range=3, **kwargs): + ''' + Constructs an Exponential retry object. The initial_backoff is used for + the first retry. Subsequent retries are retried after initial_backoff + + increment_power^retry_count seconds. For example, by default the first retry + occurs after 15 seconds, the second after (15+3^1) = 18 seconds, and the + third after (15+3^2) = 24 seconds. + + :param int initial_backoff: + The initial backoff interval, in seconds, for the first retry. + :param int increment_base: + The base, in seconds, to increment the initial_backoff by after the + first retry. + :param int max_attempts: + The maximum number of retry attempts. + :param bool retry_to_secondary: + Whether the request should be retried to secondary, if able. This should + only be enabled of RA-GRS accounts are used and potentially stale data + can be handled. + :param int random_jitter_range: + A number in seconds which indicates a range to jitter/randomize for the back-off interval. + For example, a random_jitter_range of 3 results in the back-off interval x to vary between x+3 and x-3. + ''' + self.initial_backoff = initial_backoff + self.increment_base = increment_base + self.random_jitter_range = random_jitter_range + super(ExponentialRetry, self).__init__( + retry_total=retry_total, retry_to_secondary=retry_to_secondary, **kwargs) + + def get_backoff_time(self, settings): + """ + Calculates how long to sleep before retrying. + + :return: + An integer indicating how long to wait before retrying the request, + or None to indicate no retry should be performed. + :rtype: int or None + """ + random_generator = random.Random() + backoff = self.initial_backoff + (0 if settings['count'] == 0 else pow(self.increment_base, settings['count'])) + random_range_start = backoff - self.random_jitter_range if backoff > self.random_jitter_range else 0 + random_range_end = backoff + self.random_jitter_range + return random_generator.uniform(random_range_start, random_range_end) + + +class LinearRetry(StorageRetryPolicy): + """Linear retry.""" + + def __init__(self, backoff=15, retry_total=3, retry_to_secondary=False, random_jitter_range=3, **kwargs): + """ + Constructs a Linear retry object. + + :param int backoff: + The backoff interval, in seconds, between retries. + :param int max_attempts: + The maximum number of retry attempts. + :param bool retry_to_secondary: + Whether the request should be retried to secondary, if able. This should + only be enabled of RA-GRS accounts are used and potentially stale data + can be handled. + :param int random_jitter_range: + A number in seconds which indicates a range to jitter/randomize for the back-off interval. + For example, a random_jitter_range of 3 results in the back-off interval x to vary between x+3 and x-3. + """ + self.backoff = backoff + self.random_jitter_range = random_jitter_range + super(LinearRetry, self).__init__( + retry_total=retry_total, retry_to_secondary=retry_to_secondary, **kwargs) + + def get_backoff_time(self, settings): + """ + Calculates how long to sleep before retrying. + + :return: + An integer indicating how long to wait before retrying the request, + or None to indicate no retry should be performed. + :rtype: int or None + """ + random_generator = random.Random() + # the backoff interval normally does not change, however there is the possibility + # that it was modified by accessing the property directly after initializing the object + random_range_start = self.backoff - self.random_jitter_range \ + if self.backoff > self.random_jitter_range else 0 + random_range_end = self.backoff + self.random_jitter_range + return random_generator.uniform(random_range_start, random_range_end) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/policies_async.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/policies_async.py new file mode 100644 index 00000000000..e0926b81dbc --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/policies_async.py @@ -0,0 +1,220 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +# pylint: disable=invalid-overridden-method + +import asyncio +import random +import logging +from typing import Any, TYPE_CHECKING + +from azure.core.pipeline.policies import AsyncHTTPPolicy +from azure.core.exceptions import AzureError + +from .policies import is_retry, StorageRetryPolicy + +if TYPE_CHECKING: + from azure.core.pipeline import PipelineRequest, PipelineResponse + + +_LOGGER = logging.getLogger(__name__) + + +async def retry_hook(settings, **kwargs): + if settings['hook']: + if asyncio.iscoroutine(settings['hook']): + await settings['hook']( + retry_count=settings['count'] - 1, + location_mode=settings['mode'], + **kwargs) + else: + settings['hook']( + retry_count=settings['count'] - 1, + location_mode=settings['mode'], + **kwargs) + + +class AsyncStorageResponseHook(AsyncHTTPPolicy): + + def __init__(self, **kwargs): # pylint: disable=unused-argument + self._response_callback = kwargs.get('raw_response_hook') + super(AsyncStorageResponseHook, self).__init__() + + async def send(self, request): + # type: (PipelineRequest) -> PipelineResponse + data_stream_total = request.context.get('data_stream_total') or \ + request.context.options.pop('data_stream_total', None) + download_stream_current = request.context.get('download_stream_current') or \ + request.context.options.pop('download_stream_current', None) + upload_stream_current = request.context.get('upload_stream_current') or \ + request.context.options.pop('upload_stream_current', None) + response_callback = request.context.get('response_callback') or \ + request.context.options.pop('raw_response_hook', self._response_callback) + + response = await self.next.send(request) + await response.http_response.load_body() + + will_retry = is_retry(response, request.context.options.get('mode')) + if not will_retry and download_stream_current is not None: + download_stream_current += int(response.http_response.headers.get('Content-Length', 0)) + if data_stream_total is None: + content_range = response.http_response.headers.get('Content-Range') + if content_range: + data_stream_total = int(content_range.split(' ', 1)[1].split('/', 1)[1]) + else: + data_stream_total = download_stream_current + elif not will_retry and upload_stream_current is not None: + upload_stream_current += int(response.http_request.headers.get('Content-Length', 0)) + for pipeline_obj in [request, response]: + pipeline_obj.context['data_stream_total'] = data_stream_total + pipeline_obj.context['download_stream_current'] = download_stream_current + pipeline_obj.context['upload_stream_current'] = upload_stream_current + if response_callback: + if asyncio.iscoroutine(response_callback): + await response_callback(response) + else: + response_callback(response) + request.context['response_callback'] = response_callback + return response + +class AsyncStorageRetryPolicy(StorageRetryPolicy): + """ + The base class for Exponential and Linear retries containing shared code. + """ + + async def sleep(self, settings, transport): + backoff = self.get_backoff_time(settings) + if not backoff or backoff < 0: + return + await transport.sleep(backoff) + + async def send(self, request): + retries_remaining = True + response = None + retry_settings = self.configure_retries(request) + while retries_remaining: + try: + response = await self.next.send(request) + if is_retry(response, retry_settings['mode']): + retries_remaining = self.increment( + retry_settings, + request=request.http_request, + response=response.http_response) + if retries_remaining: + await retry_hook( + retry_settings, + request=request.http_request, + response=response.http_response, + error=None) + await self.sleep(retry_settings, request.context.transport) + continue + break + except AzureError as err: + retries_remaining = self.increment( + retry_settings, request=request.http_request, error=err) + if retries_remaining: + await retry_hook( + retry_settings, + request=request.http_request, + response=None, + error=err) + await self.sleep(retry_settings, request.context.transport) + continue + raise err + if retry_settings['history']: + response.context['history'] = retry_settings['history'] + response.http_response.location_mode = retry_settings['mode'] + return response + + +class ExponentialRetry(AsyncStorageRetryPolicy): + """Exponential retry.""" + + def __init__(self, initial_backoff=15, increment_base=3, retry_total=3, + retry_to_secondary=False, random_jitter_range=3, **kwargs): + ''' + Constructs an Exponential retry object. The initial_backoff is used for + the first retry. Subsequent retries are retried after initial_backoff + + increment_power^retry_count seconds. For example, by default the first retry + occurs after 15 seconds, the second after (15+3^1) = 18 seconds, and the + third after (15+3^2) = 24 seconds. + + :param int initial_backoff: + The initial backoff interval, in seconds, for the first retry. + :param int increment_base: + The base, in seconds, to increment the initial_backoff by after the + first retry. + :param int max_attempts: + The maximum number of retry attempts. + :param bool retry_to_secondary: + Whether the request should be retried to secondary, if able. This should + only be enabled of RA-GRS accounts are used and potentially stale data + can be handled. + :param int random_jitter_range: + A number in seconds which indicates a range to jitter/randomize for the back-off interval. + For example, a random_jitter_range of 3 results in the back-off interval x to vary between x+3 and x-3. + ''' + self.initial_backoff = initial_backoff + self.increment_base = increment_base + self.random_jitter_range = random_jitter_range + super(ExponentialRetry, self).__init__( + retry_total=retry_total, retry_to_secondary=retry_to_secondary, **kwargs) + + def get_backoff_time(self, settings): + """ + Calculates how long to sleep before retrying. + + :return: + An integer indicating how long to wait before retrying the request, + or None to indicate no retry should be performed. + :rtype: int or None + """ + random_generator = random.Random() + backoff = self.initial_backoff + (0 if settings['count'] == 0 else pow(self.increment_base, settings['count'])) + random_range_start = backoff - self.random_jitter_range if backoff > self.random_jitter_range else 0 + random_range_end = backoff + self.random_jitter_range + return random_generator.uniform(random_range_start, random_range_end) + + +class LinearRetry(AsyncStorageRetryPolicy): + """Linear retry.""" + + def __init__(self, backoff=15, retry_total=3, retry_to_secondary=False, random_jitter_range=3, **kwargs): + """ + Constructs a Linear retry object. + + :param int backoff: + The backoff interval, in seconds, between retries. + :param int max_attempts: + The maximum number of retry attempts. + :param bool retry_to_secondary: + Whether the request should be retried to secondary, if able. This should + only be enabled of RA-GRS accounts are used and potentially stale data + can be handled. + :param int random_jitter_range: + A number in seconds which indicates a range to jitter/randomize for the back-off interval. + For example, a random_jitter_range of 3 results in the back-off interval x to vary between x+3 and x-3. + """ + self.backoff = backoff + self.random_jitter_range = random_jitter_range + super(LinearRetry, self).__init__( + retry_total=retry_total, retry_to_secondary=retry_to_secondary, **kwargs) + + def get_backoff_time(self, settings): + """ + Calculates how long to sleep before retrying. + + :return: + An integer indicating how long to wait before retrying the request, + or None to indicate no retry should be performed. + :rtype: int or None + """ + random_generator = random.Random() + # the backoff interval normally does not change, however there is the possibility + # that it was modified by accessing the property directly after initializing the object + random_range_start = self.backoff - self.random_jitter_range \ + if self.backoff > self.random_jitter_range else 0 + random_range_end = self.backoff + self.random_jitter_range + return random_generator.uniform(random_range_start, random_range_end) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/request_handlers.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/request_handlers.py new file mode 100644 index 00000000000..4f15b65a4b6 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/request_handlers.py @@ -0,0 +1,147 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- + +from typing import ( # pylint: disable=unused-import + Union, Optional, Any, Iterable, Dict, List, Type, Tuple, + TYPE_CHECKING +) + +import logging +from os import fstat +from io import (SEEK_END, SEEK_SET, UnsupportedOperation) + +import isodate + +from azure.core.exceptions import raise_with_traceback + + +_LOGGER = logging.getLogger(__name__) + + +def serialize_iso(attr): + """Serialize Datetime object into ISO-8601 formatted string. + + :param Datetime attr: Object to be serialized. + :rtype: str + :raises: ValueError if format invalid. + """ + if not attr: + return None + if isinstance(attr, str): + attr = isodate.parse_datetime(attr) + try: + utc = attr.utctimetuple() + if utc.tm_year > 9999 or utc.tm_year < 1: + raise OverflowError("Hit max or min date") + + date = "{:04}-{:02}-{:02}T{:02}:{:02}:{:02}".format( + utc.tm_year, utc.tm_mon, utc.tm_mday, + utc.tm_hour, utc.tm_min, utc.tm_sec) + return date + 'Z' + except (ValueError, OverflowError) as err: + msg = "Unable to serialize datetime object." + raise_with_traceback(ValueError, msg, err) + except AttributeError as err: + msg = "ISO-8601 object must be valid Datetime object." + raise_with_traceback(TypeError, msg, err) + + +def get_length(data): + length = None + # Check if object implements the __len__ method, covers most input cases such as bytearray. + try: + length = len(data) + except: # pylint: disable=bare-except + pass + + if not length: + # Check if the stream is a file-like stream object. + # If so, calculate the size using the file descriptor. + try: + fileno = data.fileno() + except (AttributeError, UnsupportedOperation): + pass + else: + try: + return fstat(fileno).st_size + except OSError: + # Not a valid fileno, may be possible requests returned + # a socket number? + pass + + # If the stream is seekable and tell() is implemented, calculate the stream size. + try: + current_position = data.tell() + data.seek(0, SEEK_END) + length = data.tell() - current_position + data.seek(current_position, SEEK_SET) + except (AttributeError, UnsupportedOperation): + pass + + return length + + +def read_length(data): + try: + if hasattr(data, 'read'): + read_data = b'' + for chunk in iter(lambda: data.read(4096), b""): + read_data += chunk + return len(read_data), read_data + if hasattr(data, '__iter__'): + read_data = b'' + for chunk in data: + read_data += chunk + return len(read_data), read_data + except: # pylint: disable=bare-except + pass + raise ValueError("Unable to calculate content length, please specify.") + + +def validate_and_format_range_headers( + start_range, end_range, start_range_required=True, + end_range_required=True, check_content_md5=False, align_to_page=False): + # If end range is provided, start range must be provided + if (start_range_required or end_range is not None) and start_range is None: + raise ValueError("start_range value cannot be None.") + if end_range_required and end_range is None: + raise ValueError("end_range value cannot be None.") + + # Page ranges must be 512 aligned + if align_to_page: + if start_range is not None and start_range % 512 != 0: + raise ValueError("Invalid page blob start_range: {0}. " + "The size must be aligned to a 512-byte boundary.".format(start_range)) + if end_range is not None and end_range % 512 != 511: + raise ValueError("Invalid page blob end_range: {0}. " + "The size must be aligned to a 512-byte boundary.".format(end_range)) + + # Format based on whether end_range is present + range_header = None + if end_range is not None: + range_header = 'bytes={0}-{1}'.format(start_range, end_range) + elif start_range is not None: + range_header = "bytes={0}-".format(start_range) + + # Content MD5 can only be provided for a complete range less than 4MB in size + range_validation = None + if check_content_md5: + if start_range is None or end_range is None: + raise ValueError("Both start and end range requied for MD5 content validation.") + if end_range - start_range > 4 * 1024 * 1024: + raise ValueError("Getting content MD5 for a range greater than 4MB is not supported.") + range_validation = 'true' + + return range_header, range_validation + + +def add_metadata_headers(metadata=None): + # type: (Optional[Dict[str, str]]) -> Dict[str, str] + headers = {} + if metadata: + for key, value in metadata.items(): + headers['x-ms-meta-{}'.format(key.strip())] = value.strip() if value else value + return headers diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/response_handlers.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/response_handlers.py new file mode 100644 index 00000000000..ac526e59416 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/response_handlers.py @@ -0,0 +1,159 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- + +from typing import ( # pylint: disable=unused-import + Union, Optional, Any, Iterable, Dict, List, Type, Tuple, + TYPE_CHECKING +) +import logging + +from azure.core.pipeline.policies import ContentDecodePolicy +from azure.core.exceptions import ( + HttpResponseError, + ResourceNotFoundError, + ResourceModifiedError, + ResourceExistsError, + ClientAuthenticationError, + DecodeError) + +from .parser import _to_utc_datetime +from .models import StorageErrorCode, UserDelegationKey, get_enum_value + + +if TYPE_CHECKING: + from datetime import datetime + from azure.core.exceptions import AzureError + + +_LOGGER = logging.getLogger(__name__) + + +class PartialBatchErrorException(HttpResponseError): + """There is a partial failure in batch operations. + + :param str message: The message of the exception. + :param response: Server response to be deserialized. + :param list parts: A list of the parts in multipart response. + """ + + def __init__(self, message, response, parts): + self.parts = parts + super(PartialBatchErrorException, self).__init__(message=message, response=response) + + +def parse_length_from_content_range(content_range): + ''' + Parses the blob length from the content range header: bytes 1-3/65537 + ''' + if content_range is None: + return None + + # First, split in space and take the second half: '1-3/65537' + # Next, split on slash and take the second half: '65537' + # Finally, convert to an int: 65537 + return int(content_range.split(' ', 1)[1].split('/', 1)[1]) + + +def normalize_headers(headers): + normalized = {} + for key, value in headers.items(): + if key.startswith('x-ms-'): + key = key[5:] + normalized[key.lower().replace('-', '_')] = get_enum_value(value) + return normalized + + +def deserialize_metadata(response, obj, headers): # pylint: disable=unused-argument + raw_metadata = {k: v for k, v in response.headers.items() if k.startswith("x-ms-meta-")} + return {k[10:]: v for k, v in raw_metadata.items()} + + +def return_response_headers(response, deserialized, response_headers): # pylint: disable=unused-argument + return normalize_headers(response_headers) + + +def return_headers_and_deserialized(response, deserialized, response_headers): # pylint: disable=unused-argument + return normalize_headers(response_headers), deserialized + + +def return_context_and_deserialized(response, deserialized, response_headers): # pylint: disable=unused-argument + return response.location_mode, deserialized + + +def process_storage_error(storage_error): + raise_error = HttpResponseError + error_code = storage_error.response.headers.get('x-ms-error-code') + error_message = storage_error.message + additional_data = {} + try: + error_body = ContentDecodePolicy.deserialize_from_http_generics(storage_error.response) + if error_body: + for info in error_body.iter(): + if info.tag.lower() == 'code': + error_code = info.text + elif info.tag.lower() == 'message': + error_message = info.text + else: + additional_data[info.tag] = info.text + except DecodeError: + pass + + try: + if error_code: + error_code = StorageErrorCode(error_code) + if error_code in [StorageErrorCode.condition_not_met, + StorageErrorCode.blob_overwritten]: + raise_error = ResourceModifiedError + if error_code in [StorageErrorCode.invalid_authentication_info, + StorageErrorCode.authentication_failed]: + raise_error = ClientAuthenticationError + if error_code in [StorageErrorCode.resource_not_found, + StorageErrorCode.cannot_verify_copy_source, + StorageErrorCode.blob_not_found, + StorageErrorCode.queue_not_found, + StorageErrorCode.container_not_found, + StorageErrorCode.parent_not_found, + StorageErrorCode.share_not_found]: + raise_error = ResourceNotFoundError + if error_code in [StorageErrorCode.account_already_exists, + StorageErrorCode.account_being_created, + StorageErrorCode.resource_already_exists, + StorageErrorCode.resource_type_mismatch, + StorageErrorCode.blob_already_exists, + StorageErrorCode.queue_already_exists, + StorageErrorCode.container_already_exists, + StorageErrorCode.container_being_deleted, + StorageErrorCode.queue_being_deleted, + StorageErrorCode.share_already_exists, + StorageErrorCode.share_being_deleted]: + raise_error = ResourceExistsError + except ValueError: + # Got an unknown error code + pass + + try: + error_message += "\nErrorCode:{}".format(error_code.value) + except AttributeError: + error_message += "\nErrorCode:{}".format(error_code) + for name, info in additional_data.items(): + error_message += "\n{}:{}".format(name, info) + + error = raise_error(message=error_message, response=storage_error.response) + error.error_code = error_code + error.additional_info = additional_data + raise error + + +def parse_to_internal_user_delegation_key(service_user_delegation_key): + internal_user_delegation_key = UserDelegationKey() + internal_user_delegation_key.signed_oid = service_user_delegation_key.signed_oid + internal_user_delegation_key.signed_tid = service_user_delegation_key.signed_tid + internal_user_delegation_key.signed_start = _to_utc_datetime(service_user_delegation_key.signed_start) + internal_user_delegation_key.signed_expiry = _to_utc_datetime(service_user_delegation_key.signed_expiry) + internal_user_delegation_key.signed_service = service_user_delegation_key.signed_service + internal_user_delegation_key.signed_version = service_user_delegation_key.signed_version + internal_user_delegation_key.value = service_user_delegation_key.value + return internal_user_delegation_key diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/shared_access_signature.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/shared_access_signature.py new file mode 100644 index 00000000000..07aad5ffa1c --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/shared_access_signature.py @@ -0,0 +1,220 @@ +# ------------------------------------------------------------------------- +# 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 date + +from .parser import _str, _to_utc_datetime +from .constants import X_MS_VERSION +from . import sign_string, url_quote + + +class QueryStringConstants(object): + SIGNED_SIGNATURE = 'sig' + SIGNED_PERMISSION = 'sp' + SIGNED_START = 'st' + SIGNED_EXPIRY = 'se' + SIGNED_RESOURCE = 'sr' + SIGNED_IDENTIFIER = 'si' + SIGNED_IP = 'sip' + SIGNED_PROTOCOL = 'spr' + SIGNED_VERSION = 'sv' + SIGNED_CACHE_CONTROL = 'rscc' + SIGNED_CONTENT_DISPOSITION = 'rscd' + SIGNED_CONTENT_ENCODING = 'rsce' + SIGNED_CONTENT_LANGUAGE = 'rscl' + SIGNED_CONTENT_TYPE = 'rsct' + START_PK = 'spk' + START_RK = 'srk' + END_PK = 'epk' + END_RK = 'erk' + SIGNED_RESOURCE_TYPES = 'srt' + SIGNED_SERVICES = 'ss' + SIGNED_OID = 'skoid' + SIGNED_TID = 'sktid' + SIGNED_KEY_START = 'skt' + SIGNED_KEY_EXPIRY = 'ske' + SIGNED_KEY_SERVICE = 'sks' + SIGNED_KEY_VERSION = 'skv' + + # for ADLS + SIGNED_AUTHORIZED_OID = 'saoid' + SIGNED_UNAUTHORIZED_OID = 'suoid' + SIGNED_CORRELATION_ID = 'scid' + SIGNED_DIRECTORY_DEPTH = 'sdd' + + @staticmethod + def to_list(): + return [ + QueryStringConstants.SIGNED_SIGNATURE, + QueryStringConstants.SIGNED_PERMISSION, + QueryStringConstants.SIGNED_START, + QueryStringConstants.SIGNED_EXPIRY, + QueryStringConstants.SIGNED_RESOURCE, + QueryStringConstants.SIGNED_IDENTIFIER, + QueryStringConstants.SIGNED_IP, + QueryStringConstants.SIGNED_PROTOCOL, + QueryStringConstants.SIGNED_VERSION, + QueryStringConstants.SIGNED_CACHE_CONTROL, + QueryStringConstants.SIGNED_CONTENT_DISPOSITION, + QueryStringConstants.SIGNED_CONTENT_ENCODING, + QueryStringConstants.SIGNED_CONTENT_LANGUAGE, + QueryStringConstants.SIGNED_CONTENT_TYPE, + QueryStringConstants.START_PK, + QueryStringConstants.START_RK, + QueryStringConstants.END_PK, + QueryStringConstants.END_RK, + QueryStringConstants.SIGNED_RESOURCE_TYPES, + QueryStringConstants.SIGNED_SERVICES, + QueryStringConstants.SIGNED_OID, + QueryStringConstants.SIGNED_TID, + QueryStringConstants.SIGNED_KEY_START, + QueryStringConstants.SIGNED_KEY_EXPIRY, + QueryStringConstants.SIGNED_KEY_SERVICE, + QueryStringConstants.SIGNED_KEY_VERSION, + # for ADLS + QueryStringConstants.SIGNED_AUTHORIZED_OID, + QueryStringConstants.SIGNED_UNAUTHORIZED_OID, + QueryStringConstants.SIGNED_CORRELATION_ID, + QueryStringConstants.SIGNED_DIRECTORY_DEPTH, + ] + + +class SharedAccessSignature(object): + ''' + Provides a factory for creating account access + signature tokens with an account name and account key. Users can either + use the factory or can construct the appropriate service and use the + generate_*_shared_access_signature method directly. + ''' + + def __init__(self, account_name, account_key, x_ms_version=X_MS_VERSION): + ''' + :param str account_name: + The storage account name used to generate the shared access signatures. + :param str account_key: + The access key to generate the shares access signatures. + :param str x_ms_version: + The service version used to generate the shared access signatures. + ''' + self.account_name = account_name + self.account_key = account_key + self.x_ms_version = x_ms_version + + def generate_account(self, services, resource_types, permission, expiry, start=None, + ip=None, protocol=None): + ''' + Generates a shared access signature for the account. + Use the returned signature with the sas_token parameter of the service + or to create a new account object. + + :param ResourceTypes resource_types: + Specifies the resource types that are accessible with the account + SAS. You can combine values to provide access to more than one + resource type. + :param AccountSasPermissions permission: + The permissions associated with the shared access signature. The + user is restricted to operations allowed by the permissions. + Required unless an id is given referencing a stored access policy + which contains this field. This field must be omitted if it has been + specified in an associated stored access policy. You can combine + values to provide more than one permission. + :param expiry: + The time at which the shared access signature becomes invalid. + Required unless an id is given referencing a stored access policy + which contains this field. This field must be omitted if it has + been specified in an associated stored access policy. Azure will always + convert values to UTC. If a date is passed in without timezone info, it + is assumed to be UTC. + :type expiry: datetime or str + :param start: + The time at which the shared access signature becomes valid. If + omitted, start time for this call is assumed to be the time when the + storage service receives the request. Azure will always convert values + to UTC. If a date is passed in without timezone info, it is assumed to + be UTC. + :type start: datetime or str + :param str ip: + Specifies an IP address or a range of IP addresses from which to accept requests. + If the IP address from which the request originates does not match the IP address + or address range specified on the SAS token, the request is not authenticated. + For example, specifying sip=168.1.5.65 or sip=168.1.5.60-168.1.5.70 on the SAS + 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:`~azure.storage.common.models.Protocol` for possible values. + ''' + sas = _SharedAccessHelper() + sas.add_base(permission, expiry, start, ip, protocol, self.x_ms_version) + sas.add_account(services, resource_types) + sas.add_account_signature(self.account_name, self.account_key) + + return sas.get_token() + + +class _SharedAccessHelper(object): + def __init__(self): + self.query_dict = {} + + def _add_query(self, name, val): + if val: + self.query_dict[name] = _str(val) if val is not None else None + + def add_base(self, permission, expiry, start, ip, protocol, x_ms_version): + if isinstance(start, date): + start = _to_utc_datetime(start) + + if isinstance(expiry, date): + expiry = _to_utc_datetime(expiry) + + self._add_query(QueryStringConstants.SIGNED_START, start) + self._add_query(QueryStringConstants.SIGNED_EXPIRY, expiry) + self._add_query(QueryStringConstants.SIGNED_PERMISSION, permission) + self._add_query(QueryStringConstants.SIGNED_IP, ip) + self._add_query(QueryStringConstants.SIGNED_PROTOCOL, protocol) + self._add_query(QueryStringConstants.SIGNED_VERSION, x_ms_version) + + def add_resource(self, resource): + self._add_query(QueryStringConstants.SIGNED_RESOURCE, resource) + + def add_id(self, policy_id): + self._add_query(QueryStringConstants.SIGNED_IDENTIFIER, policy_id) + + def add_account(self, services, resource_types): + self._add_query(QueryStringConstants.SIGNED_SERVICES, services) + self._add_query(QueryStringConstants.SIGNED_RESOURCE_TYPES, resource_types) + + def add_override_response_headers(self, cache_control, + content_disposition, + content_encoding, + content_language, + content_type): + self._add_query(QueryStringConstants.SIGNED_CACHE_CONTROL, cache_control) + self._add_query(QueryStringConstants.SIGNED_CONTENT_DISPOSITION, content_disposition) + self._add_query(QueryStringConstants.SIGNED_CONTENT_ENCODING, content_encoding) + self._add_query(QueryStringConstants.SIGNED_CONTENT_LANGUAGE, content_language) + self._add_query(QueryStringConstants.SIGNED_CONTENT_TYPE, content_type) + + def add_account_signature(self, account_name, account_key): + def get_value_to_append(query): + return_value = self.query_dict.get(query) or '' + return return_value + '\n' + + string_to_sign = \ + (account_name + '\n' + + get_value_to_append(QueryStringConstants.SIGNED_PERMISSION) + + get_value_to_append(QueryStringConstants.SIGNED_SERVICES) + + get_value_to_append(QueryStringConstants.SIGNED_RESOURCE_TYPES) + + get_value_to_append(QueryStringConstants.SIGNED_START) + + get_value_to_append(QueryStringConstants.SIGNED_EXPIRY) + + get_value_to_append(QueryStringConstants.SIGNED_IP) + + get_value_to_append(QueryStringConstants.SIGNED_PROTOCOL) + + get_value_to_append(QueryStringConstants.SIGNED_VERSION)) + + self._add_query(QueryStringConstants.SIGNED_SIGNATURE, + sign_string(account_key, string_to_sign)) + + def get_token(self): + return '&'.join(['{0}={1}'.format(n, url_quote(v)) for n, v in self.query_dict.items() if v is not None]) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/uploads.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/uploads.py new file mode 100644 index 00000000000..abf3fb2ce00 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/uploads.py @@ -0,0 +1,550 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +# pylint: disable=no-self-use + +from concurrent import futures +from io import (BytesIO, IOBase, SEEK_CUR, SEEK_END, SEEK_SET, UnsupportedOperation) +from threading import Lock +from itertools import islice +from math import ceil + +import six + +from azure.core.tracing.common import with_current_context + +from . import encode_base64, url_quote +from .request_handlers import get_length +from .response_handlers import return_response_headers +from .encryption import get_blob_encryptor_and_padder + + +_LARGE_BLOB_UPLOAD_MAX_READ_BUFFER_SIZE = 4 * 1024 * 1024 +_ERROR_VALUE_SHOULD_BE_SEEKABLE_STREAM = "{0} should be a seekable file-like/io.IOBase type stream object." + + +def _parallel_uploads(executor, uploader, pending, running): + range_ids = [] + while True: + # Wait for some download to finish before adding a new one + done, running = futures.wait(running, return_when=futures.FIRST_COMPLETED) + range_ids.extend([chunk.result() for chunk in done]) + try: + for _ in range(0, len(done)): + next_chunk = next(pending) + running.add(executor.submit(with_current_context(uploader), next_chunk)) + except StopIteration: + break + + # Wait for the remaining uploads to finish + done, _running = futures.wait(running) + range_ids.extend([chunk.result() for chunk in done]) + return range_ids + + +def upload_data_chunks( + service=None, + uploader_class=None, + total_size=None, + chunk_size=None, + max_concurrency=None, + stream=None, + validate_content=None, + encryption_options=None, + **kwargs): + + if encryption_options: + encryptor, padder = get_blob_encryptor_and_padder( + encryption_options.get('cek'), + encryption_options.get('vector'), + uploader_class is not PageBlobChunkUploader) + kwargs['encryptor'] = encryptor + kwargs['padder'] = padder + + parallel = max_concurrency > 1 + if parallel and 'modified_access_conditions' in kwargs: + # Access conditions do not work with parallelism + kwargs['modified_access_conditions'] = None + + uploader = uploader_class( + service=service, + total_size=total_size, + chunk_size=chunk_size, + stream=stream, + parallel=parallel, + validate_content=validate_content, + **kwargs) + if parallel: + executor = futures.ThreadPoolExecutor(max_concurrency) + upload_tasks = uploader.get_chunk_streams() + running_futures = [ + executor.submit(with_current_context(uploader.process_chunk), u) + for u in islice(upload_tasks, 0, max_concurrency) + ] + range_ids = _parallel_uploads(executor, uploader.process_chunk, upload_tasks, running_futures) + else: + range_ids = [uploader.process_chunk(result) for result in uploader.get_chunk_streams()] + if any(range_ids): + return [r[1] for r in sorted(range_ids, key=lambda r: r[0])] + return uploader.response_headers + + +def upload_substream_blocks( + service=None, + uploader_class=None, + total_size=None, + chunk_size=None, + max_concurrency=None, + stream=None, + **kwargs): + parallel = max_concurrency > 1 + if parallel and 'modified_access_conditions' in kwargs: + # Access conditions do not work with parallelism + kwargs['modified_access_conditions'] = None + uploader = uploader_class( + service=service, + total_size=total_size, + chunk_size=chunk_size, + stream=stream, + parallel=parallel, + **kwargs) + + if parallel: + executor = futures.ThreadPoolExecutor(max_concurrency) + upload_tasks = uploader.get_substream_blocks() + running_futures = [ + executor.submit(with_current_context(uploader.process_substream_block), u) + for u in islice(upload_tasks, 0, max_concurrency) + ] + range_ids = _parallel_uploads(executor, uploader.process_substream_block, upload_tasks, running_futures) + else: + range_ids = [uploader.process_substream_block(b) for b in uploader.get_substream_blocks()] + return sorted(range_ids) + + +class _ChunkUploader(object): # pylint: disable=too-many-instance-attributes + + def __init__(self, service, total_size, chunk_size, stream, parallel, encryptor=None, padder=None, **kwargs): + self.service = service + self.total_size = total_size + self.chunk_size = chunk_size + self.stream = stream + self.parallel = parallel + + # Stream management + self.stream_start = stream.tell() if parallel else None + self.stream_lock = Lock() if parallel else None + + # Progress feedback + self.progress_total = 0 + self.progress_lock = Lock() if parallel else None + + # Encryption + self.encryptor = encryptor + self.padder = padder + self.response_headers = None + self.etag = None + self.last_modified = None + self.request_options = kwargs + + def get_chunk_streams(self): + index = 0 + while True: + data = b"" + read_size = self.chunk_size + + # Buffer until we either reach the end of the stream or get a whole chunk. + while True: + if self.total_size: + read_size = min(self.chunk_size - len(data), self.total_size - (index + len(data))) + temp = self.stream.read(read_size) + if not isinstance(temp, six.binary_type): + raise TypeError("Blob data should be of type bytes.") + data += temp or b"" + + # We have read an empty string and so are at the end + # of the buffer or we have read a full chunk. + if temp == b"" or len(data) == self.chunk_size: + break + + if len(data) == self.chunk_size: + if self.padder: + data = self.padder.update(data) + if self.encryptor: + data = self.encryptor.update(data) + yield index, data + else: + if self.padder: + data = self.padder.update(data) + self.padder.finalize() + if self.encryptor: + data = self.encryptor.update(data) + self.encryptor.finalize() + if data: + yield index, data + break + index += len(data) + + def process_chunk(self, chunk_data): + chunk_bytes = chunk_data[1] + chunk_offset = chunk_data[0] + return self._upload_chunk_with_progress(chunk_offset, chunk_bytes) + + def _update_progress(self, length): + if self.progress_lock is not None: + with self.progress_lock: + self.progress_total += length + else: + self.progress_total += length + + def _upload_chunk(self, chunk_offset, chunk_data): + raise NotImplementedError("Must be implemented by child class.") + + def _upload_chunk_with_progress(self, chunk_offset, chunk_data): + range_id = self._upload_chunk(chunk_offset, chunk_data) + self._update_progress(len(chunk_data)) + return range_id + + def get_substream_blocks(self): + assert self.chunk_size is not None + lock = self.stream_lock + blob_length = self.total_size + + if blob_length is None: + blob_length = get_length(self.stream) + if blob_length is None: + raise ValueError("Unable to determine content length of upload data.") + + blocks = int(ceil(blob_length / (self.chunk_size * 1.0))) + last_block_size = self.chunk_size if blob_length % self.chunk_size == 0 else blob_length % self.chunk_size + + for i in range(blocks): + index = i * self.chunk_size + length = last_block_size if i == blocks - 1 else self.chunk_size + yield ('BlockId{}'.format("%05d" % i), SubStream(self.stream, index, length, lock)) + + def process_substream_block(self, block_data): + return self._upload_substream_block_with_progress(block_data[0], block_data[1]) + + def _upload_substream_block(self, block_id, block_stream): + raise NotImplementedError("Must be implemented by child class.") + + def _upload_substream_block_with_progress(self, block_id, block_stream): + range_id = self._upload_substream_block(block_id, block_stream) + self._update_progress(len(block_stream)) + return range_id + + def set_response_properties(self, resp): + self.etag = resp.etag + self.last_modified = resp.last_modified + + +class BlockBlobChunkUploader(_ChunkUploader): + + def __init__(self, *args, **kwargs): + kwargs.pop("modified_access_conditions", None) + super(BlockBlobChunkUploader, self).__init__(*args, **kwargs) + self.current_length = None + + def _upload_chunk(self, chunk_offset, chunk_data): + # TODO: This is incorrect, but works with recording. + index = '{0:032d}'.format(chunk_offset) + block_id = encode_base64(url_quote(encode_base64(index))) + self.service.stage_block( + block_id, + len(chunk_data), + chunk_data, + data_stream_total=self.total_size, + upload_stream_current=self.progress_total, + **self.request_options + ) + return index, block_id + + def _upload_substream_block(self, block_id, block_stream): + try: + self.service.stage_block( + block_id, + len(block_stream), + block_stream, + data_stream_total=self.total_size, + upload_stream_current=self.progress_total, + **self.request_options + ) + finally: + block_stream.close() + return block_id + + +class PageBlobChunkUploader(_ChunkUploader): # pylint: disable=abstract-method + + 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 + return not any(bytearray(chunk_data)) + + def _upload_chunk(self, chunk_offset, chunk_data): + # avoid uploading the empty pages + if not self._is_chunk_empty(chunk_data): + chunk_end = chunk_offset + len(chunk_data) - 1 + content_range = "bytes={0}-{1}".format(chunk_offset, chunk_end) + computed_md5 = None + self.response_headers = self.service.upload_pages( + chunk_data, + content_length=len(chunk_data), + transactional_content_md5=computed_md5, + range=content_range, + cls=return_response_headers, + data_stream_total=self.total_size, + upload_stream_current=self.progress_total, + **self.request_options + ) + + if not self.parallel and self.request_options.get('modified_access_conditions'): + self.request_options['modified_access_conditions'].if_match = self.response_headers['etag'] + + +class AppendBlobChunkUploader(_ChunkUploader): # pylint: disable=abstract-method + + def __init__(self, *args, **kwargs): + super(AppendBlobChunkUploader, self).__init__(*args, **kwargs) + self.current_length = None + + def _upload_chunk(self, chunk_offset, chunk_data): + if self.current_length is None: + self.response_headers = self.service.append_block( + chunk_data, + content_length=len(chunk_data), + cls=return_response_headers, + data_stream_total=self.total_size, + upload_stream_current=self.progress_total, + **self.request_options + ) + self.current_length = int(self.response_headers["blob_append_offset"]) + else: + self.request_options['append_position_access_conditions'].append_position = \ + self.current_length + chunk_offset + self.response_headers = self.service.append_block( + chunk_data, + content_length=len(chunk_data), + cls=return_response_headers, + data_stream_total=self.total_size, + upload_stream_current=self.progress_total, + **self.request_options + ) + + +class FileChunkUploader(_ChunkUploader): # pylint: disable=abstract-method + + def _upload_chunk(self, chunk_offset, chunk_data): + length = len(chunk_data) + chunk_end = chunk_offset + length - 1 + response = self.service.upload_range( + chunk_data, + chunk_offset, + length, + data_stream_total=self.total_size, + upload_stream_current=self.progress_total, + **self.request_options + ) + return 'bytes={0}-{1}'.format(chunk_offset, chunk_end), response + + +class SubStream(IOBase): + + def __init__(self, wrapped_stream, stream_begin_index, length, lockObj): + # Python 2.7: file-like objects created with open() typically support seek(), but are not + # derivations of io.IOBase and thus do not implement seekable(). + # Python > 3.0: file-like objects created with open() are derived from io.IOBase. + try: + # only the main thread runs this, so there's no need grabbing the lock + wrapped_stream.seek(0, SEEK_CUR) + except: + raise ValueError("Wrapped stream must support seek().") + + self._lock = lockObj + self._wrapped_stream = wrapped_stream + self._position = 0 + self._stream_begin_index = stream_begin_index + self._length = length + self._buffer = BytesIO() + + # we must avoid buffering more than necessary, and also not use up too much memory + # so the max buffer size is capped at 4MB + self._max_buffer_size = ( + length if length < _LARGE_BLOB_UPLOAD_MAX_READ_BUFFER_SIZE else _LARGE_BLOB_UPLOAD_MAX_READ_BUFFER_SIZE + ) + self._current_buffer_start = 0 + self._current_buffer_size = 0 + super(SubStream, self).__init__() + + def __len__(self): + return self._length + + def close(self): + if self._buffer: + self._buffer.close() + self._wrapped_stream = None + IOBase.close(self) + + def fileno(self): + return self._wrapped_stream.fileno() + + def flush(self): + pass + + def read(self, size=None): + if self.closed: # pylint: disable=using-constant-test + raise ValueError("Stream is closed.") + + if size is None: + size = self._length - self._position + + # adjust if out of bounds + if size + self._position >= self._length: + size = self._length - self._position + + # return fast + if size == 0 or self._buffer.closed: + return b"" + + # attempt first read from the read buffer and update position + read_buffer = self._buffer.read(size) + bytes_read = len(read_buffer) + bytes_remaining = size - bytes_read + self._position += bytes_read + + # repopulate the read buffer from the underlying stream to fulfill the request + # ensure the seek and read operations are done atomically (only if a lock is provided) + if bytes_remaining > 0: + with self._buffer: + # either read in the max buffer size specified on the class + # or read in just enough data for the current block/sub stream + current_max_buffer_size = min(self._max_buffer_size, self._length - self._position) + + # lock is only defined if max_concurrency > 1 (parallel uploads) + if self._lock: + with self._lock: + # reposition the underlying stream to match the start of the data to read + absolute_position = self._stream_begin_index + self._position + self._wrapped_stream.seek(absolute_position, SEEK_SET) + # If we can't seek to the right location, our read will be corrupted so fail fast. + if self._wrapped_stream.tell() != absolute_position: + raise IOError("Stream failed to seek to the desired location.") + buffer_from_stream = self._wrapped_stream.read(current_max_buffer_size) + else: + buffer_from_stream = self._wrapped_stream.read(current_max_buffer_size) + + if buffer_from_stream: + # update the buffer with new data from the wrapped stream + # we need to note down the start position and size of the buffer, in case seek is performed later + self._buffer = BytesIO(buffer_from_stream) + self._current_buffer_start = self._position + self._current_buffer_size = len(buffer_from_stream) + + # read the remaining bytes from the new buffer and update position + second_read_buffer = self._buffer.read(bytes_remaining) + read_buffer += second_read_buffer + self._position += len(second_read_buffer) + + return read_buffer + + def readable(self): + return True + + def readinto(self, b): + raise UnsupportedOperation + + def seek(self, offset, whence=0): + if whence is SEEK_SET: + start_index = 0 + elif whence is SEEK_CUR: + start_index = self._position + elif whence is SEEK_END: + start_index = self._length + offset = -offset + else: + raise ValueError("Invalid argument for the 'whence' parameter.") + + pos = start_index + offset + + if pos > self._length: + pos = self._length + elif pos < 0: + pos = 0 + + # check if buffer is still valid + # if not, drop buffer + if pos < self._current_buffer_start or pos >= self._current_buffer_start + self._current_buffer_size: + self._buffer.close() + self._buffer = BytesIO() + else: # if yes seek to correct position + delta = pos - self._current_buffer_start + self._buffer.seek(delta, SEEK_SET) + + self._position = pos + return pos + + def seekable(self): + return True + + def tell(self): + return self._position + + def write(self): + raise UnsupportedOperation + + def writelines(self): + raise UnsupportedOperation + + def writeable(self): + return False + + +class IterStreamer(object): + """ + File-like streaming iterator. + """ + + def __init__(self, generator, encoding="UTF-8"): + self.generator = generator + self.iterator = iter(generator) + self.leftover = b"" + self.encoding = encoding + + def __len__(self): + return self.generator.__len__() + + def __iter__(self): + return self.iterator + + def seekable(self): + return False + + def __next__(self): + return next(self.iterator) + + next = __next__ # Python 2 compatibility. + + def tell(self, *args, **kwargs): + raise UnsupportedOperation("Data generator does not support tell.") + + def seek(self, *args, **kwargs): + raise UnsupportedOperation("Data generator is unseekable.") + + def read(self, size): + data = self.leftover + count = len(self.leftover) + try: + while count < size: + chunk = self.__next__() + if isinstance(chunk, six.text_type): + chunk = chunk.encode(self.encoding) + data += chunk + count += len(chunk) + except StopIteration: + pass + + if count > size: + self.leftover = data[size:] + + return data[:size] diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/uploads_async.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/uploads_async.py new file mode 100644 index 00000000000..fe68a2b5533 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared/uploads_async.py @@ -0,0 +1,350 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +# pylint: disable=no-self-use + +import asyncio +from asyncio import Lock +from itertools import islice +import threading + +from math import ceil + +import six + +from . import encode_base64, url_quote +from .request_handlers import get_length +from .response_handlers import return_response_headers +from .encryption import get_blob_encryptor_and_padder +from .uploads import SubStream, IterStreamer # pylint: disable=unused-import + + +_LARGE_BLOB_UPLOAD_MAX_READ_BUFFER_SIZE = 4 * 1024 * 1024 +_ERROR_VALUE_SHOULD_BE_SEEKABLE_STREAM = '{0} should be a seekable file-like/io.IOBase type stream object.' + + +async def _parallel_uploads(uploader, pending, running): + range_ids = [] + while True: + # Wait for some download to finish before adding a new one + done, running = await asyncio.wait(running, return_when=asyncio.FIRST_COMPLETED) + range_ids.extend([chunk.result() for chunk in done]) + try: + for _ in range(0, len(done)): + next_chunk = next(pending) + running.add(asyncio.ensure_future(uploader(next_chunk))) + except StopIteration: + break + + # Wait for the remaining uploads to finish + if running: + done, _running = await asyncio.wait(running) + range_ids.extend([chunk.result() for chunk in done]) + return range_ids + + +async def upload_data_chunks( + service=None, + uploader_class=None, + total_size=None, + chunk_size=None, + max_concurrency=None, + stream=None, + encryption_options=None, + **kwargs): + + if encryption_options: + encryptor, padder = get_blob_encryptor_and_padder( + encryption_options.get('cek'), + encryption_options.get('vector'), + uploader_class is not PageBlobChunkUploader) + kwargs['encryptor'] = encryptor + kwargs['padder'] = padder + + parallel = max_concurrency > 1 + if parallel and 'modified_access_conditions' in kwargs: + # Access conditions do not work with parallelism + kwargs['modified_access_conditions'] = None + + uploader = uploader_class( + service=service, + total_size=total_size, + chunk_size=chunk_size, + stream=stream, + parallel=parallel, + **kwargs) + + if parallel: + upload_tasks = uploader.get_chunk_streams() + running_futures = [ + asyncio.ensure_future(uploader.process_chunk(u)) + for u in islice(upload_tasks, 0, max_concurrency) + ] + range_ids = await _parallel_uploads(uploader.process_chunk, upload_tasks, running_futures) + else: + range_ids = [] + for chunk in uploader.get_chunk_streams(): + range_ids.append(await uploader.process_chunk(chunk)) + + if any(range_ids): + return [r[1] for r in sorted(range_ids, key=lambda r: r[0])] + return uploader.response_headers + + +async def upload_substream_blocks( + service=None, + uploader_class=None, + total_size=None, + chunk_size=None, + max_concurrency=None, + stream=None, + **kwargs): + parallel = max_concurrency > 1 + if parallel and 'modified_access_conditions' in kwargs: + # Access conditions do not work with parallelism + kwargs['modified_access_conditions'] = None + uploader = uploader_class( + service=service, + total_size=total_size, + chunk_size=chunk_size, + stream=stream, + parallel=parallel, + **kwargs) + + if parallel: + upload_tasks = uploader.get_substream_blocks() + running_futures = [ + asyncio.ensure_future(uploader.process_substream_block(u)) + for u in islice(upload_tasks, 0, max_concurrency) + ] + range_ids = await _parallel_uploads(uploader.process_substream_block, upload_tasks, running_futures) + else: + range_ids = [] + for block in uploader.get_substream_blocks(): + range_ids.append(await uploader.process_substream_block(block)) + return sorted(range_ids) + + +class _ChunkUploader(object): # pylint: disable=too-many-instance-attributes + + def __init__(self, service, total_size, chunk_size, stream, parallel, encryptor=None, padder=None, **kwargs): + self.service = service + self.total_size = total_size + self.chunk_size = chunk_size + self.stream = stream + self.parallel = parallel + + # Stream management + self.stream_start = stream.tell() if parallel else None + self.stream_lock = threading.Lock() if parallel else None + + # Progress feedback + self.progress_total = 0 + self.progress_lock = Lock() if parallel else None + + # Encryption + self.encryptor = encryptor + self.padder = padder + self.response_headers = None + self.etag = None + self.last_modified = None + self.request_options = kwargs + + def get_chunk_streams(self): + index = 0 + while True: + data = b'' + read_size = self.chunk_size + + # Buffer until we either reach the end of the stream or get a whole chunk. + while True: + if self.total_size: + read_size = min(self.chunk_size - len(data), self.total_size - (index + len(data))) + temp = self.stream.read(read_size) + if not isinstance(temp, six.binary_type): + raise TypeError('Blob data should be of type bytes.') + data += temp or b"" + + # We have read an empty string and so are at the end + # of the buffer or we have read a full chunk. + if temp == b'' or len(data) == self.chunk_size: + break + + if len(data) == self.chunk_size: + if self.padder: + data = self.padder.update(data) + if self.encryptor: + data = self.encryptor.update(data) + yield index, data + else: + if self.padder: + data = self.padder.update(data) + self.padder.finalize() + if self.encryptor: + data = self.encryptor.update(data) + self.encryptor.finalize() + if data: + yield index, data + break + index += len(data) + + async def process_chunk(self, chunk_data): + chunk_bytes = chunk_data[1] + chunk_offset = chunk_data[0] + return await self._upload_chunk_with_progress(chunk_offset, chunk_bytes) + + async def _update_progress(self, length): + if self.progress_lock is not None: + async with self.progress_lock: + self.progress_total += length + else: + self.progress_total += length + + async def _upload_chunk(self, chunk_offset, chunk_data): + raise NotImplementedError("Must be implemented by child class.") + + async def _upload_chunk_with_progress(self, chunk_offset, chunk_data): + range_id = await self._upload_chunk(chunk_offset, chunk_data) + await self._update_progress(len(chunk_data)) + return range_id + + def get_substream_blocks(self): + assert self.chunk_size is not None + lock = self.stream_lock + blob_length = self.total_size + + if blob_length is None: + blob_length = get_length(self.stream) + if blob_length is None: + raise ValueError("Unable to determine content length of upload data.") + + blocks = int(ceil(blob_length / (self.chunk_size * 1.0))) + last_block_size = self.chunk_size if blob_length % self.chunk_size == 0 else blob_length % self.chunk_size + + for i in range(blocks): + index = i * self.chunk_size + length = last_block_size if i == blocks - 1 else self.chunk_size + yield ('BlockId{}'.format("%05d" % i), SubStream(self.stream, index, length, lock)) + + async def process_substream_block(self, block_data): + return await self._upload_substream_block_with_progress(block_data[0], block_data[1]) + + async def _upload_substream_block(self, block_id, block_stream): + raise NotImplementedError("Must be implemented by child class.") + + async def _upload_substream_block_with_progress(self, block_id, block_stream): + range_id = await self._upload_substream_block(block_id, block_stream) + await self._update_progress(len(block_stream)) + return range_id + + def set_response_properties(self, resp): + self.etag = resp.etag + self.last_modified = resp.last_modified + + +class BlockBlobChunkUploader(_ChunkUploader): + + def __init__(self, *args, **kwargs): + kwargs.pop('modified_access_conditions', None) + super(BlockBlobChunkUploader, self).__init__(*args, **kwargs) + self.current_length = None + + async def _upload_chunk(self, chunk_offset, chunk_data): + # TODO: This is incorrect, but works with recording. + index = '{0:032d}'.format(chunk_offset) + block_id = encode_base64(url_quote(encode_base64(index))) + await self.service.stage_block( + block_id, + len(chunk_data), + chunk_data, + data_stream_total=self.total_size, + upload_stream_current=self.progress_total, + **self.request_options) + return index, block_id + + async def _upload_substream_block(self, block_id, block_stream): + try: + await self.service.stage_block( + block_id, + len(block_stream), + block_stream, + data_stream_total=self.total_size, + upload_stream_current=self.progress_total, + **self.request_options) + finally: + block_stream.close() + return block_id + + +class PageBlobChunkUploader(_ChunkUploader): # pylint: disable=abstract-method + + 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 not in [0, b'\x00']: + return False + return True + + async def _upload_chunk(self, chunk_offset, chunk_data): + # avoid uploading the empty pages + if not self._is_chunk_empty(chunk_data): + chunk_end = chunk_offset + len(chunk_data) - 1 + content_range = 'bytes={0}-{1}'.format(chunk_offset, chunk_end) + computed_md5 = None + self.response_headers = await self.service.upload_pages( + chunk_data, + content_length=len(chunk_data), + transactional_content_md5=computed_md5, + range=content_range, + cls=return_response_headers, + data_stream_total=self.total_size, + upload_stream_current=self.progress_total, + **self.request_options) + + if not self.parallel and self.request_options.get('modified_access_conditions'): + self.request_options['modified_access_conditions'].if_match = self.response_headers['etag'] + + +class AppendBlobChunkUploader(_ChunkUploader): # pylint: disable=abstract-method + + def __init__(self, *args, **kwargs): + super(AppendBlobChunkUploader, self).__init__(*args, **kwargs) + self.current_length = None + + async def _upload_chunk(self, chunk_offset, chunk_data): + if self.current_length is None: + self.response_headers = await self.service.append_block( + chunk_data, + content_length=len(chunk_data), + cls=return_response_headers, + data_stream_total=self.total_size, + upload_stream_current=self.progress_total, + **self.request_options) + self.current_length = int(self.response_headers['blob_append_offset']) + else: + self.request_options['append_position_access_conditions'].append_position = \ + self.current_length + chunk_offset + self.response_headers = await self.service.append_block( + chunk_data, + content_length=len(chunk_data), + cls=return_response_headers, + data_stream_total=self.total_size, + upload_stream_current=self.progress_total, + **self.request_options) + + +class FileChunkUploader(_ChunkUploader): # pylint: disable=abstract-method + + async def _upload_chunk(self, chunk_offset, chunk_data): + chunk_end = chunk_offset + len(chunk_data) - 1 + response = await self.service.upload_range( + chunk_data, + chunk_offset, + chunk_end, + data_stream_total=self.total_size, + upload_stream_current=self.progress_total, + **self.request_options + ) + range_id = 'bytes={0}-{1}'.format(chunk_offset, chunk_end) + return range_id, response diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared_access_signature.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared_access_signature.py new file mode 100644 index 00000000000..16126da8d06 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_shared_access_signature.py @@ -0,0 +1,596 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- + +from typing import ( # pylint: disable=unused-import + Union, Optional, Any, TYPE_CHECKING +) + +from ._shared import sign_string, url_quote +from ._shared.constants import X_MS_VERSION +from ._shared.models import Services +from ._shared.shared_access_signature import SharedAccessSignature, _SharedAccessHelper, \ + QueryStringConstants + +if TYPE_CHECKING: + from datetime import datetime + from . import ( + ResourceTypes, + AccountSasPermissions, + UserDelegationKey, + ContainerSasPermissions, + BlobSasPermissions + ) + + +class BlobQueryStringConstants(object): + SIGNED_TIMESTAMP = 'snapshot' + + +class BlobSharedAccessSignature(SharedAccessSignature): + ''' + Provides a factory for creating blob and container access + signature tokens with a common account name and account key. Users can either + use the factory or can construct the appropriate service and use the + generate_*_shared_access_signature method directly. + ''' + + def __init__(self, account_name, account_key=None, user_delegation_key=None): + ''' + :param str account_name: + The storage account name used to generate the shared access signatures. + :param str account_key: + The access key to generate the shares access signatures. + :param ~.models.UserDelegationKey user_delegation_key: + Instead of an account key, the user could pass in a user delegation key. + A user delegation key can be obtained from the service by authenticating with an AAD identity; + this can be accomplished by calling get_user_delegation_key on any Blob service object. + ''' + super(BlobSharedAccessSignature, self).__init__(account_name, account_key, x_ms_version=X_MS_VERSION) + self.user_delegation_key = user_delegation_key + + def generate_blob(self, container_name, blob_name, snapshot=None, version_id=None, permission=None, + expiry=None, start=None, policy_id=None, ip=None, protocol=None, + cache_control=None, content_disposition=None, + content_encoding=None, content_language=None, + content_type=None, **kwargs): + ''' + Generates a shared access signature for the blob or one of its snapshots. + Use the returned signature with the sas_token parameter of any BlobService. + + :param str container_name: + Name of container. + :param str blob_name: + Name of blob. + :param str snapshot: + The snapshot parameter is an opaque DateTime value that, + when present, specifies the blob snapshot to grant permission. + :param BlobSasPermissions permission: + The permissions associated with the shared access signature. The + user is restricted to operations allowed by the permissions. + Permissions must be ordered read, write, delete, list. + Required unless an id is given referencing a stored access policy + which contains this field. This field must be omitted if it has been + specified in an associated stored access policy. + :param expiry: + The time at which the shared access signature becomes invalid. + Required unless an id is given referencing a stored access policy + which contains this field. This field must be omitted if it has + been specified in an associated stored access policy. Azure will always + convert values to UTC. If a date is passed in without timezone info, it + is assumed to be UTC. + :type expiry: datetime or str + :param start: + The time at which the shared access signature becomes valid. If + omitted, start time for this call is assumed to be the time when the + storage service receives the request. Azure will always convert values + to UTC. If a date is passed in without timezone info, it is assumed to + be UTC. + :type start: datetime or str + :param str policy_id: + A unique value up to 64 characters in length that correlates to a + stored access policy. To create a stored access policy, use + set_blob_service_properties. + :param str ip: + Specifies an IP address or a range of IP addresses from which to accept requests. + If the IP address from which the request originates does not match the IP address + or address range specified on the SAS token, the request is not authenticated. + For example, specifying sip=168.1.5.65 or sip=168.1.5.60-168.1.5.70 on the SAS + 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:`~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. + :param str content_disposition: + Response header value for Content-Disposition when resource is accessed + using this shared access signature. + :param str content_encoding: + Response header value for Content-Encoding when resource is accessed + using this shared access signature. + :param str content_language: + Response header value for Content-Language when resource is accessed + using this shared access signature. + :param str content_type: + Response header value for Content-Type when resource is accessed + using this shared access signature. + ''' + resource_path = container_name + '/' + blob_name + + sas = _BlobSharedAccessHelper() + sas.add_base(permission, expiry, start, ip, protocol, self.x_ms_version) + sas.add_id(policy_id) + + resource = 'bs' if snapshot else 'b' + resource = 'bv' if version_id else resource + resource = 'd' if kwargs.pop("is_directory", None) else resource + sas.add_resource(resource) + + sas.add_timestamp(snapshot or version_id) + sas.add_override_response_headers(cache_control, content_disposition, + content_encoding, content_language, + content_type) + sas.add_info_for_hns_account(**kwargs) + sas.add_resource_signature(self.account_name, self.account_key, resource_path, + user_delegation_key=self.user_delegation_key) + + return sas.get_token() + + def generate_container(self, container_name, permission=None, expiry=None, + start=None, policy_id=None, ip=None, protocol=None, + cache_control=None, content_disposition=None, + content_encoding=None, content_language=None, + content_type=None, **kwargs): + ''' + Generates a shared access signature for the container. + Use the returned signature with the sas_token parameter of any BlobService. + + :param str container_name: + Name of container. + :param ContainerSasPermissions permission: + The permissions associated with the shared access signature. The + user is restricted to operations allowed by the permissions. + Permissions must be ordered read, write, delete, list. + Required unless an id is given referencing a stored access policy + which contains this field. This field must be omitted if it has been + specified in an associated stored access policy. + :param expiry: + The time at which the shared access signature becomes invalid. + Required unless an id is given referencing a stored access policy + which contains this field. This field must be omitted if it has + been specified in an associated stored access policy. Azure will always + convert values to UTC. If a date is passed in without timezone info, it + is assumed to be UTC. + :type expiry: datetime or str + :param start: + The time at which the shared access signature becomes valid. If + omitted, start time for this call is assumed to be the time when the + storage service receives the request. Azure will always convert values + to UTC. If a date is passed in without timezone info, it is assumed to + be UTC. + :type start: datetime or str + :param str policy_id: + A unique value up to 64 characters in length that correlates to a + stored access policy. To create a stored access policy, use + set_blob_service_properties. + :param str ip: + Specifies an IP address or a range of IP addresses from which to accept requests. + If the IP address from which the request originates does not match the IP address + or address range specified on the SAS token, the request is not authenticated. + For example, specifying sip=168.1.5.65 or sip=168.1.5.60-168.1.5.70 on the SAS + 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:`~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. + :param str content_disposition: + Response header value for Content-Disposition when resource is accessed + using this shared access signature. + :param str content_encoding: + Response header value for Content-Encoding when resource is accessed + using this shared access signature. + :param str content_language: + Response header value for Content-Language when resource is accessed + using this shared access signature. + :param str content_type: + Response header value for Content-Type when resource is accessed + using this shared access signature. + ''' + sas = _BlobSharedAccessHelper() + sas.add_base(permission, expiry, start, ip, protocol, self.x_ms_version) + sas.add_id(policy_id) + sas.add_resource('c') + sas.add_override_response_headers(cache_control, content_disposition, + content_encoding, content_language, + content_type) + sas.add_info_for_hns_account(**kwargs) + sas.add_resource_signature(self.account_name, self.account_key, container_name, + user_delegation_key=self.user_delegation_key) + return sas.get_token() + + +class _BlobSharedAccessHelper(_SharedAccessHelper): + + def add_timestamp(self, timestamp): + self._add_query(BlobQueryStringConstants.SIGNED_TIMESTAMP, timestamp) + + def add_info_for_hns_account(self, **kwargs): + self._add_query(QueryStringConstants.SIGNED_DIRECTORY_DEPTH, kwargs.pop('sdd', None)) + self._add_query(QueryStringConstants.SIGNED_AUTHORIZED_OID, kwargs.pop('preauthorized_agent_object_id', None)) + self._add_query(QueryStringConstants.SIGNED_UNAUTHORIZED_OID, kwargs.pop('agent_object_id', None)) + self._add_query(QueryStringConstants.SIGNED_CORRELATION_ID, kwargs.pop('correlation_id', None)) + + def get_value_to_append(self, query): + return_value = self.query_dict.get(query) or '' + return return_value + '\n' + + def add_resource_signature(self, account_name, account_key, path, user_delegation_key=None): + # pylint: disable = no-member + if path[0] != '/': + path = '/' + path + + canonicalized_resource = '/blob/' + account_name + path + '\n' + + # Form the string to sign from shared_access_policy and canonicalized + # resource. The order of values is important. + string_to_sign = \ + (self.get_value_to_append(QueryStringConstants.SIGNED_PERMISSION) + + self.get_value_to_append(QueryStringConstants.SIGNED_START) + + self.get_value_to_append(QueryStringConstants.SIGNED_EXPIRY) + + canonicalized_resource) + + if user_delegation_key is not None: + self._add_query(QueryStringConstants.SIGNED_OID, user_delegation_key.signed_oid) + self._add_query(QueryStringConstants.SIGNED_TID, user_delegation_key.signed_tid) + self._add_query(QueryStringConstants.SIGNED_KEY_START, user_delegation_key.signed_start) + self._add_query(QueryStringConstants.SIGNED_KEY_EXPIRY, user_delegation_key.signed_expiry) + self._add_query(QueryStringConstants.SIGNED_KEY_SERVICE, user_delegation_key.signed_service) + self._add_query(QueryStringConstants.SIGNED_KEY_VERSION, user_delegation_key.signed_version) + + string_to_sign += \ + (self.get_value_to_append(QueryStringConstants.SIGNED_OID) + + self.get_value_to_append(QueryStringConstants.SIGNED_TID) + + self.get_value_to_append(QueryStringConstants.SIGNED_KEY_START) + + self.get_value_to_append(QueryStringConstants.SIGNED_KEY_EXPIRY) + + self.get_value_to_append(QueryStringConstants.SIGNED_KEY_SERVICE) + + self.get_value_to_append(QueryStringConstants.SIGNED_KEY_VERSION) + + self.get_value_to_append(QueryStringConstants.SIGNED_AUTHORIZED_OID) + + self.get_value_to_append(QueryStringConstants.SIGNED_UNAUTHORIZED_OID) + + self.get_value_to_append(QueryStringConstants.SIGNED_CORRELATION_ID)) + else: + string_to_sign += self.get_value_to_append(QueryStringConstants.SIGNED_IDENTIFIER) + + string_to_sign += \ + (self.get_value_to_append(QueryStringConstants.SIGNED_IP) + + self.get_value_to_append(QueryStringConstants.SIGNED_PROTOCOL) + + self.get_value_to_append(QueryStringConstants.SIGNED_VERSION) + + self.get_value_to_append(QueryStringConstants.SIGNED_RESOURCE) + + self.get_value_to_append(BlobQueryStringConstants.SIGNED_TIMESTAMP) + + self.get_value_to_append(QueryStringConstants.SIGNED_CACHE_CONTROL) + + self.get_value_to_append(QueryStringConstants.SIGNED_CONTENT_DISPOSITION) + + self.get_value_to_append(QueryStringConstants.SIGNED_CONTENT_ENCODING) + + self.get_value_to_append(QueryStringConstants.SIGNED_CONTENT_LANGUAGE) + + self.get_value_to_append(QueryStringConstants.SIGNED_CONTENT_TYPE)) + + # remove the trailing newline + if string_to_sign[-1] == '\n': + string_to_sign = string_to_sign[:-1] + + self._add_query(QueryStringConstants.SIGNED_SIGNATURE, + sign_string(account_key if user_delegation_key is None else user_delegation_key.value, + string_to_sign)) + + def get_token(self): + # a conscious decision was made to exclude the timestamp in the generated token + # this is to avoid having two snapshot ids in the query parameters when the user appends the snapshot timestamp + exclude = [BlobQueryStringConstants.SIGNED_TIMESTAMP] + return '&'.join(['{0}={1}'.format(n, url_quote(v)) + for n, v in self.query_dict.items() if v is not None and n not in exclude]) + + +def generate_account_sas( + account_name, # type: str + account_key, # type: str + resource_types, # type: Union[ResourceTypes, str] + permission, # type: Union[AccountSasPermissions, str] + expiry, # type: Optional[Union[datetime, str]] + start=None, # type: Optional[Union[datetime, str]] + ip=None, # type: Optional[str] + **kwargs # type: Any + ): # type: (...) -> str + """Generates a shared access signature for the blob service. + + Use the returned signature with the credential parameter of any BlobServiceClient, + ContainerClient or BlobClient. + + :param str account_name: + The storage account name used to generate the shared access signature. + :param str account_key: + The account key, also called shared key or access key, to generate the shared access signature. + :param resource_types: + Specifies the resource types that are accessible with the account SAS. + :type resource_types: str or ~.ResourceTypes + :param permission: + The permissions associated with the shared access signature. The + user is restricted to operations allowed by the permissions. + Required unless an id is given referencing a stored access policy + which contains this field. This field must be omitted if it has been + specified in an associated stored access policy. + :type permission: str or ~.AccountSasPermissions + :param expiry: + The time at which the shared access signature becomes invalid. + Required unless an id is given referencing a stored access policy + which contains this field. This field must be omitted if it has + been specified in an associated stored access policy. Azure will always + convert values to UTC. If a date is passed in without timezone info, it + is assumed to be UTC. + :type expiry: ~datetime.datetime or str + :param start: + The time at which the shared access signature becomes valid. If + omitted, start time for this call is assumed to be the time when the + storage service receives the request. Azure will always convert values + to UTC. If a date is passed in without timezone info, it is assumed to + be UTC. + :type start: ~datetime.datetime or str + :param str ip: + Specifies an IP address or a range of IP addresses from which to accept requests. + If the IP address from which the request originates does not match the IP address + or address range specified on the SAS token, the request is not authenticated. + For example, specifying ip=168.1.5.65 or ip=168.1.5.60-168.1.5.70 on the SAS + restricts the request to those IP addresses. + :keyword str protocol: + Specifies the protocol permitted for a request made. The default value is https. + :return: A Shared Access Signature (sas) token. + :rtype: str + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_authentication.py + :start-after: [START create_sas_token] + :end-before: [END create_sas_token] + :language: python + :dedent: 8 + :caption: Generating a shared access signature. + """ + sas = SharedAccessSignature(account_name, account_key) + return sas.generate_account( + services=Services(blob=True), + resource_types=resource_types, + permission=permission, + expiry=expiry, + start=start, + ip=ip, + **kwargs + ) # type: ignore + + +def generate_container_sas( + account_name, # type: str + container_name, # type: str + account_key=None, # type: Optional[str] + user_delegation_key=None, # type: Optional[UserDelegationKey] + permission=None, # type: Optional[Union[ContainerSasPermissions, str]] + expiry=None, # type: Optional[Union[datetime, str]] + start=None, # type: Optional[Union[datetime, str]] + policy_id=None, # type: Optional[str] + ip=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> Any + """Generates a shared access signature for a container. + + Use the returned signature with the credential parameter of any BlobServiceClient, + ContainerClient or BlobClient. + + :param str account_name: + The storage account name used to generate the shared access signature. + :param str container_name: + The name of the container. + :param str account_key: + The account key, also called shared key or access key, to generate the shared access signature. + Either `account_key` or `user_delegation_key` must be specified. + :param ~.UserDelegationKey user_delegation_key: + Instead of an account shared key, the user could pass in a user delegation key. + A user delegation key can be obtained from the service by authenticating with an AAD identity; + this can be accomplished by calling :func:`~.BlobServiceClient.get_user_delegation_key`. + When present, the SAS is signed with the user delegation key instead. + :param permission: + The permissions associated with the shared access signature. The + user is restricted to operations allowed by the permissions. + Permissions must be ordered read, write, delete, list. + Required unless an id is given referencing a stored access policy + which contains this field. This field must be omitted if it has been + specified in an associated stored access policy. + :type permission: str or ~.ContainerSasPermissions + :param expiry: + The time at which the shared access signature becomes invalid. + Required unless an id is given referencing a stored access policy + which contains this field. This field must be omitted if it has + been specified in an associated stored access policy. Azure will always + convert values to UTC. If a date is passed in without timezone info, it + is assumed to be UTC. + :type expiry: ~datetime.datetime or str + :param start: + The time at which the shared access signature becomes valid. If + omitted, start time for this call is assumed to be the time when the + storage service receives the request. Azure will always convert values + to UTC. If a date is passed in without timezone info, it is assumed to + be UTC. + :type start: ~datetime.datetime or str + :param str policy_id: + A unique value up to 64 characters in length that correlates to a + stored access policy. To create a stored access policy, use + :func:`~.ContainerClient.set_container_access_policy`. + :param str ip: + Specifies an IP address or a range of IP addresses from which to accept requests. + If the IP address from which the request originates does not match the IP address + or address range specified on the SAS token, the request is not authenticated. + For example, specifying ip=168.1.5.65 or ip=168.1.5.60-168.1.5.70 on the SAS + restricts the request to those IP addresses. + :keyword str protocol: + Specifies the protocol permitted for a request made. The default value is https. + :keyword str cache_control: + Response header value for Cache-Control when resource is accessed + using this shared access signature. + :keyword str content_disposition: + Response header value for Content-Disposition when resource is accessed + using this shared access signature. + :keyword str content_encoding: + Response header value for Content-Encoding when resource is accessed + using this shared access signature. + :keyword str content_language: + Response header value for Content-Language when resource is accessed + using this shared access signature. + :keyword str content_type: + Response header value for Content-Type when resource is accessed + using this shared access signature. + :return: A Shared Access Signature (sas) token. + :rtype: str + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_containers.py + :start-after: [START generate_sas_token] + :end-before: [END generate_sas_token] + :language: python + :dedent: 12 + :caption: Generating a sas token. + """ + if not user_delegation_key and not account_key: + raise ValueError("Either user_delegation_key or account_key must be provided.") + + if user_delegation_key: + sas = BlobSharedAccessSignature(account_name, user_delegation_key=user_delegation_key) + else: + sas = BlobSharedAccessSignature(account_name, account_key=account_key) + return sas.generate_container( + container_name, + permission=permission, + expiry=expiry, + start=start, + policy_id=policy_id, + ip=ip, + **kwargs + ) + + +def generate_blob_sas( + account_name, # type: str + container_name, # type: str + blob_name, # type: str + snapshot=None, # type: Optional[str] + account_key=None, # type: Optional[str] + user_delegation_key=None, # type: Optional[UserDelegationKey] + permission=None, # type: Optional[Union[BlobSasPermissions, str]] + expiry=None, # type: Optional[Union[datetime, str]] + start=None, # type: Optional[Union[datetime, str]] + policy_id=None, # type: Optional[str] + ip=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> Any + """Generates a shared access signature for a blob. + + Use the returned signature with the credential parameter of any BlobServiceClient, + ContainerClient or BlobClient. + + :param str account_name: + The storage account name used to generate the shared access signature. + :param str container_name: + The name of the container. + :param str blob_name: + The name of the blob. + :param str snapshot: + An optional blob snapshot ID. + :param str account_key: + The account key, also called shared key or access key, to generate the shared access signature. + Either `account_key` or `user_delegation_key` must be specified. + :param ~.UserDelegationKey user_delegation_key: + Instead of an account shared key, the user could pass in a user delegation key. + A user delegation key can be obtained from the service by authenticating with an AAD identity; + this can be accomplished by calling :func:`~.BlobServiceClient.get_user_delegation_key`. + When present, the SAS is signed with the user delegation key instead. + :param permission: + The permissions associated with the shared access signature. The + user is restricted to operations allowed by the permissions. + Permissions must be ordered read, write, delete, list. + Required unless an id is given referencing a stored access policy + which contains this field. This field must be omitted if it has been + specified in an associated stored access policy. + :type permission: str or ~.BlobSasPermissions + :param expiry: + The time at which the shared access signature becomes invalid. + Required unless an id is given referencing a stored access policy + which contains this field. This field must be omitted if it has + been specified in an associated stored access policy. Azure will always + convert values to UTC. If a date is passed in without timezone info, it + is assumed to be UTC. + :type expiry: ~datetime.datetime or str + :param start: + The time at which the shared access signature becomes valid. If + omitted, start time for this call is assumed to be the time when the + storage service receives the request. Azure will always convert values + to UTC. If a date is passed in without timezone info, it is assumed to + be UTC. + :type start: ~datetime.datetime or str + :param str policy_id: + A unique value up to 64 characters in length that correlates to a + stored access policy. To create a stored access policy, use + :func:`~.ContainerClient.set_container_access_policy()`. + :param str ip: + Specifies an IP address or a range of IP addresses from which to accept requests. + If the IP address from which the request originates does not match the IP address + or address range specified on the SAS token, the request is not authenticated. + For example, specifying ip=168.1.5.65 or ip=168.1.5.60-168.1.5.70 on the SAS + restricts the request to those IP addresses. + :keyword str version_id: + An optional blob version ID. This parameter is only for versioning enabled account + + .. versionadded:: 12.4.0 + This keyword argument was introduced in API version '2019-12-12'. + :keyword str protocol: + Specifies the protocol permitted for a request made. The default value is https. + :keyword str cache_control: + Response header value for Cache-Control when resource is accessed + using this shared access signature. + :keyword str content_disposition: + Response header value for Content-Disposition when resource is accessed + using this shared access signature. + :keyword str content_encoding: + Response header value for Content-Encoding when resource is accessed + using this shared access signature. + :keyword str content_language: + Response header value for Content-Language when resource is accessed + using this shared access signature. + :keyword str content_type: + Response header value for Content-Type when resource is accessed + using this shared access signature. + :return: A Shared Access Signature (sas) token. + :rtype: str + """ + if not user_delegation_key and not account_key: + raise ValueError("Either user_delegation_key or account_key must be provided.") + version_id = kwargs.pop('version_id', None) + if version_id and snapshot: + raise ValueError("snapshot and version_id cannot be set at the same time.") + if user_delegation_key: + sas = BlobSharedAccessSignature(account_name, user_delegation_key=user_delegation_key) + else: + sas = BlobSharedAccessSignature(account_name, account_key=account_key) + return sas.generate_blob( + container_name, + blob_name, + snapshot=snapshot, + version_id=version_id, + permission=permission, + expiry=expiry, + start=start, + policy_id=policy_id, + ip=ip, + **kwargs + ) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_upload_helpers.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_upload_helpers.py new file mode 100644 index 00000000000..e8b02936696 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_upload_helpers.py @@ -0,0 +1,296 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +# pylint: disable=no-self-use + +from io import SEEK_SET, UnsupportedOperation +from typing import Optional, Union, Any, TypeVar, TYPE_CHECKING # pylint: disable=unused-import + +import six +from azure.core.exceptions import ResourceExistsError, ResourceModifiedError + +from ._shared.response_handlers import ( + process_storage_error, + return_response_headers) +from ._shared.models import StorageErrorCode +from ._shared.uploads import ( + upload_data_chunks, + upload_substream_blocks, + BlockBlobChunkUploader, + PageBlobChunkUploader, + AppendBlobChunkUploader) +from ._shared.encryption import generate_blob_encryption_data, encrypt_blob +from ._generated.models import ( + StorageErrorException, + BlockLookupList, + AppendPositionAccessConditions, + ModifiedAccessConditions, +) + +if TYPE_CHECKING: + from datetime import datetime # pylint: disable=unused-import + BlobLeaseClient = TypeVar("BlobLeaseClient") + +_LARGE_BLOB_UPLOAD_MAX_READ_BUFFER_SIZE = 4 * 1024 * 1024 +_ERROR_VALUE_SHOULD_BE_SEEKABLE_STREAM = '{0} should be a seekable file-like/io.IOBase type stream object.' + + +def _convert_mod_error(error): + message = error.message.replace( + "The condition specified using HTTP conditional header(s) is not met.", + "The specified blob already exists.") + message = message.replace("ConditionNotMet", "BlobAlreadyExists") + overwrite_error = ResourceExistsError( + message=message, + response=error.response, + error=error) + overwrite_error.error_code = StorageErrorCode.blob_already_exists + raise overwrite_error + + +def _any_conditions(modified_access_conditions=None, **kwargs): # pylint: disable=unused-argument + return any([ + modified_access_conditions.if_modified_since, + modified_access_conditions.if_unmodified_since, + modified_access_conditions.if_none_match, + modified_access_conditions.if_match + ]) + + +def upload_block_blob( # pylint: disable=too-many-locals + client=None, + data=None, + stream=None, + length=None, + overwrite=None, + headers=None, + validate_content=None, + max_concurrency=None, + blob_settings=None, + encryption_options=None, + **kwargs): + try: + if not overwrite and not _any_conditions(**kwargs): + kwargs['modified_access_conditions'].if_none_match = '*' + adjusted_count = length + if (encryption_options.get('key') is not None) and (adjusted_count is not None): + adjusted_count += (16 - (length % 16)) + blob_headers = kwargs.pop('blob_headers', None) + tier = kwargs.pop('standard_blob_tier', None) + blob_tags_string = kwargs.pop('blob_tags_string', None) + + # Do single put if the size is smaller than or equal config.max_single_put_size + if adjusted_count is not None and (adjusted_count <= blob_settings.max_single_put_size): + try: + data = data.read(length) + if not isinstance(data, six.binary_type): + raise TypeError('Blob data should be of type bytes.') + except AttributeError: + pass + if encryption_options.get('key'): + encryption_data, data = encrypt_blob(data, encryption_options['key']) + headers['x-ms-meta-encryptiondata'] = encryption_data + return client.upload( + data, + content_length=adjusted_count, + blob_http_headers=blob_headers, + headers=headers, + cls=return_response_headers, + validate_content=validate_content, + data_stream_total=adjusted_count, + upload_stream_current=0, + tier=tier.value if tier else None, + blob_tags_string=blob_tags_string, + **kwargs) + + use_original_upload_path = blob_settings.use_byte_buffer or \ + validate_content or encryption_options.get('required') or \ + blob_settings.max_block_size < blob_settings.min_large_block_upload_threshold or \ + hasattr(stream, 'seekable') and not stream.seekable() or \ + not hasattr(stream, 'seek') or not hasattr(stream, 'tell') + + if use_original_upload_path: + if encryption_options.get('key'): + cek, iv, encryption_data = generate_blob_encryption_data(encryption_options['key']) + headers['x-ms-meta-encryptiondata'] = encryption_data + encryption_options['cek'] = cek + encryption_options['vector'] = iv + block_ids = upload_data_chunks( + service=client, + uploader_class=BlockBlobChunkUploader, + total_size=length, + chunk_size=blob_settings.max_block_size, + max_concurrency=max_concurrency, + stream=stream, + validate_content=validate_content, + encryption_options=encryption_options, + headers=headers, + **kwargs + ) + else: + block_ids = upload_substream_blocks( + service=client, + uploader_class=BlockBlobChunkUploader, + total_size=length, + chunk_size=blob_settings.max_block_size, + max_concurrency=max_concurrency, + stream=stream, + validate_content=validate_content, + headers=headers, + **kwargs + ) + + block_lookup = BlockLookupList(committed=[], uncommitted=[], latest=[]) + block_lookup.latest = block_ids + return client.commit_block_list( + block_lookup, + blob_http_headers=blob_headers, + cls=return_response_headers, + validate_content=validate_content, + headers=headers, + tier=tier.value if tier else None, + blob_tags_string=blob_tags_string, + **kwargs) + except StorageErrorException as error: + try: + process_storage_error(error) + except ResourceModifiedError as mod_error: + if not overwrite: + _convert_mod_error(mod_error) + raise + + +def upload_page_blob( + client=None, + stream=None, + length=None, + overwrite=None, + headers=None, + validate_content=None, + max_concurrency=None, + blob_settings=None, + encryption_options=None, + **kwargs): + try: + if not overwrite and not _any_conditions(**kwargs): + kwargs['modified_access_conditions'].if_none_match = '*' + if length is None or length < 0: + raise ValueError("A content length must be specified for a Page Blob.") + if length % 512 != 0: + raise ValueError("Invalid page blob size: {0}. " + "The size must be aligned to a 512-byte boundary.".format(length)) + if kwargs.get('premium_page_blob_tier'): + premium_page_blob_tier = kwargs.pop('premium_page_blob_tier') + try: + headers['x-ms-access-tier'] = premium_page_blob_tier.value + except AttributeError: + headers['x-ms-access-tier'] = premium_page_blob_tier + if encryption_options and encryption_options.get('data'): + headers['x-ms-meta-encryptiondata'] = encryption_options['data'] + blob_tags_string = kwargs.pop('blob_tags_string', None) + + response = client.create( + content_length=0, + blob_content_length=length, + blob_sequence_number=None, + blob_http_headers=kwargs.pop('blob_headers', None), + blob_tags_string=blob_tags_string, + cls=return_response_headers, + headers=headers, + **kwargs) + if length == 0: + return response + + kwargs['modified_access_conditions'] = ModifiedAccessConditions(if_match=response['etag']) + return upload_data_chunks( + service=client, + uploader_class=PageBlobChunkUploader, + total_size=length, + chunk_size=blob_settings.max_page_size, + stream=stream, + max_concurrency=max_concurrency, + validate_content=validate_content, + encryption_options=encryption_options, + headers=headers, + **kwargs) + + except StorageErrorException as error: + try: + process_storage_error(error) + except ResourceModifiedError as mod_error: + if not overwrite: + _convert_mod_error(mod_error) + raise + + +def upload_append_blob( # pylint: disable=unused-argument + client=None, + stream=None, + length=None, + overwrite=None, + headers=None, + validate_content=None, + max_concurrency=None, + blob_settings=None, + encryption_options=None, + **kwargs): + try: + if length == 0: + return {} + blob_headers = kwargs.pop('blob_headers', None) + append_conditions = AppendPositionAccessConditions( + max_size=kwargs.pop('maxsize_condition', None), + append_position=None) + blob_tags_string = kwargs.pop('blob_tags_string', None) + + try: + if overwrite: + client.create( + content_length=0, + blob_http_headers=blob_headers, + headers=headers, + blob_tags_string=blob_tags_string, + **kwargs) + return upload_data_chunks( + service=client, + uploader_class=AppendBlobChunkUploader, + total_size=length, + chunk_size=blob_settings.max_block_size, + stream=stream, + max_concurrency=max_concurrency, + validate_content=validate_content, + append_position_access_conditions=append_conditions, + headers=headers, + **kwargs) + except StorageErrorException as error: + if error.response.status_code != 404: + raise + # rewind the request body if it is a stream + if hasattr(stream, 'read'): + try: + # attempt to rewind the body to the initial position + stream.seek(0, SEEK_SET) + except UnsupportedOperation: + # if body is not seekable, then retry would not work + raise error + client.create( + content_length=0, + blob_http_headers=blob_headers, + headers=headers, + blob_tags_string=blob_tags_string, + **kwargs) + return upload_data_chunks( + service=client, + uploader_class=AppendBlobChunkUploader, + total_size=length, + chunk_size=blob_settings.max_block_size, + stream=stream, + max_concurrency=max_concurrency, + validate_content=validate_content, + append_position_access_conditions=append_conditions, + headers=headers, + **kwargs) + except StorageErrorException as error: + process_storage_error(error) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_version.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_version.py new file mode 100644 index 00000000000..c9d0e600320 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/_version.py @@ -0,0 +1,7 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- + +VERSION = "12.6.0" diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/aio/__init__.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/aio/__init__.py new file mode 100644 index 00000000000..247f39e1ffd --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/aio/__init__.py @@ -0,0 +1,137 @@ +# ------------------------------------------------------------------------- +# 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 .._models import BlobType +from .._shared.policies_async import ExponentialRetry, LinearRetry +from ._blob_client_async import BlobClient +from ._container_client_async import ContainerClient +from ._blob_service_client_async import BlobServiceClient +from ._lease_async import BlobLeaseClient +from ._download_async import StorageStreamDownloader + + +async def upload_blob_to_url( + blob_url, # type: str + data, # type: Union[Iterable[AnyStr], IO[AnyStr]] + credential=None, # type: Any + **kwargs): + # type: (...) -> dict[str, Any] + """Upload data to a given URL + + The data will be uploaded as a block blob. + + :param str blob_url: + The full URI to the blob. This can also include a SAS token. + :param data: + The data to upload. This can be bytes, text, an iterable or a file-like object. + :type data: bytes or str or Iterable + :param credential: + The credentials with which to authenticate. This is optional if the + blob URL already has a SAS token. The value can be a SAS token string, an account + shared access key, or an instance of a TokenCredentials class from azure.identity. + If the URL already has a SAS token, specifying an explicit credential will take priority. + :keyword bool overwrite: + Whether the blob to be uploaded should overwrite the current data. + If True, upload_blob_to_url will overwrite any existing data. If set to False, the + operation will fail with a ResourceExistsError. + :keyword int max_concurrency: + The number of parallel connections with which to download. + :keyword int length: + Number of bytes to read from the stream. This is optional, but + should be supplied for optimal performance. + :keyword dict(str,str) metadata: + Name-value pairs associated with the blob as metadata. + :keyword bool validate_content: + If true, calculates an MD5 hash for each chunk of the blob. The storage + service checks the hash of the content that has arrived with the hash + that was sent. This is primarily valuable for detecting bitflips on + the wire if using http instead of https as https (the default) will + already validate. Note that this MD5 hash is not stored with the + blob. Also note that if enabled, the memory-efficient upload algorithm + will not be used, because computing the MD5 hash requires buffering + entire blocks, and doing so defeats the purpose of the memory-efficient algorithm. + :keyword str encoding: + Encoding to use if text is supplied as input. Defaults to UTF-8. + :returns: Blob-updated property dict (Etag and last modified) + :rtype: dict(str, Any) + """ + async with BlobClient.from_blob_url(blob_url, credential=credential) as client: + return await client.upload_blob(data=data, blob_type=BlobType.BlockBlob, **kwargs) + + +async def _download_to_stream(client, handle, **kwargs): + """Download data to specified open file-handle.""" + stream = await client.download_blob(**kwargs) + await stream.readinto(handle) + + +async def download_blob_from_url( + blob_url, # type: str + output, # type: str + credential=None, # type: Any + **kwargs): + # type: (...) -> None + """Download the contents of a blob to a local file or stream. + + :param str blob_url: + The full URI to the blob. This can also include a SAS token. + :param output: + Where the data should be downloaded to. This could be either a file path to write to, + or an open IO handle to write to. + :type output: str or writable stream + :param credential: + The credentials with which to authenticate. This is optional if the + blob URL already has a SAS token or the blob is public. The value can be a SAS token string, + an account shared access key, or an instance of a TokenCredentials class from azure.identity. + If the URL already has a SAS token, specifying an explicit credential will take priority. + :keyword bool overwrite: + Whether the local file should be overwritten if it already exists. The default value is + `False` - in which case a ValueError will be raised if the file already exists. If set to + `True`, an attempt will be made to write to the existing file. If a stream handle is passed + in, this value is ignored. + :keyword int max_concurrency: + The number of parallel connections with which to download. + :keyword int offset: + Start of byte range to use for downloading a section of the blob. + Must be set if length is provided. + :keyword int length: + Number of bytes to read from the stream. This is optional, but + should be supplied for optimal performance. + :keyword bool validate_content: + If true, calculates an MD5 hash for each chunk of the blob. The storage + service checks the hash of the content that has arrived with the hash + that was sent. This is primarily valuable for detecting bitflips on + the wire if using http instead of https as https (the default) will + already validate. Note that this MD5 hash is not stored with the + blob. Also note that if enabled, the memory-efficient upload algorithm + will not be used, because computing the MD5 hash requires buffering + entire blocks, and doing so defeats the purpose of the memory-efficient algorithm. + :rtype: None + """ + overwrite = kwargs.pop('overwrite', False) + async with BlobClient.from_blob_url(blob_url, credential=credential) as client: + if hasattr(output, 'write'): + await _download_to_stream(client, output, **kwargs) + else: + if not overwrite and os.path.isfile(output): + raise ValueError("The file '{}' already exists.".format(output)) + with open(output, 'wb') as file_handle: + await _download_to_stream(client, file_handle, **kwargs) + + +__all__ = [ + 'upload_blob_to_url', + 'download_blob_from_url', + 'BlobServiceClient', + 'ContainerClient', + 'BlobClient', + 'BlobLeaseClient', + 'ExponentialRetry', + 'LinearRetry', + 'StorageStreamDownloader' +] diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/aio/_blob_client_async.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/aio/_blob_client_async.py new file mode 100644 index 00000000000..6b08edcd2fe --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/aio/_blob_client_async.py @@ -0,0 +1,2333 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +# pylint: disable=too-many-lines, invalid-overridden-method + +from typing import ( # pylint: disable=unused-import + Union, Optional, Any, IO, Iterable, AnyStr, Dict, List, Tuple, + TYPE_CHECKING +) + +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.core.exceptions import ResourceNotFoundError + +from .._shared.base_client_async import AsyncStorageAccountHostsMixin +from .._shared.policies_async import ExponentialRetry +from .._shared.response_handlers import return_response_headers, process_storage_error +from .._deserialize import get_page_ranges_result, parse_tags +from .._serialize import get_modify_conditions, get_api_version, get_access_conditions +from .._generated import VERSION +from .._generated.aio import AzureBlobStorage +from .._generated.models import StorageErrorException, CpkInfo +from .._deserialize import deserialize_blob_properties +from .._blob_client import BlobClient as BlobClientBase +from ._upload_helpers import ( + upload_block_blob, + upload_append_blob, + upload_page_blob) +from .._models import BlobType, BlobBlock, BlobProperties +from ._lease_async import BlobLeaseClient +from ._download_async import StorageStreamDownloader + + +if TYPE_CHECKING: + from datetime import datetime + from .._models import ( # pylint: disable=unused-import + ContentSettings, + PremiumPageBlobTier, + StandardBlobTier, + SequenceNumberAction + ) + + +class BlobClient(AsyncStorageAccountHostsMixin, BlobClientBase): # pylint: disable=too-many-public-methods + """A client to interact with a specific blob, although that blob may not yet exist. + + :param str account_url: + The URI to the storage account. In order to create a client given the full URI to the blob, + use the :func:`from_blob_url` classmethod. + :param container_name: The container name for the blob. + :type container_name: str + :param blob_name: The name of the blob with which to interact. If specified, this value will override + a blob value specified in the blob URL. + :type blob_name: str + :param str snapshot: + The optional blob snapshot on which to operate. This can be the snapshot ID string + or the response returned from :func:`create_snapshot`. + :param credential: + The credentials with which to authenticate. This is optional if the + account URL already has a SAS token. The value can be a SAS token string, an account + shared access key, or an instance of a TokenCredentials class from azure.identity. + If the URL already has a SAS token, specifying an explicit credential will take priority. + :keyword str api_version: + The Storage API version to use for requests. Default value is '2019-07-07'. + Setting to an older version may result in reduced feature compatibility. + + .. versionadded:: 12.2.0 + + :keyword str secondary_hostname: + The hostname of the secondary endpoint. + :keyword int max_block_size: The maximum chunk size for uploading a block blob in chunks. + Defaults to 4*1024*1024, or 4MB. + :keyword int max_single_put_size: If the blob size is less than or equal max_single_put_size, then the blob will be + uploaded with only one http PUT request. If the blob size is larger than max_single_put_size, + the blob will be uploaded in chunks. Defaults to 64*1024*1024, or 64MB. + :keyword int min_large_block_upload_threshold: The minimum chunk size required to use the memory efficient + algorithm when uploading a block blob. Defaults to 4*1024*1024+1. + :keyword bool use_byte_buffer: Use a byte buffer for block blob uploads. Defaults to False. + :keyword int max_page_size: The maximum chunk size for uploading a page blob. Defaults to 4*1024*1024, or 4MB. + :keyword int max_single_get_size: The maximum size for a blob to be downloaded in a single call, + the exceeded part will be downloaded in chunks (could be parallel). Defaults to 32*1024*1024, or 32MB. + :keyword int max_chunk_get_size: The maximum chunk size used for downloading a blob. Defaults to 4*1024*1024, + or 4MB. + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_authentication_async.py + :start-after: [START create_blob_client] + :end-before: [END create_blob_client] + :language: python + :dedent: 8 + :caption: Creating the BlobClient from a URL to a public blob (no auth needed). + + .. literalinclude:: ../samples/blob_samples_authentication_async.py + :start-after: [START create_blob_client_sas_url] + :end-before: [END create_blob_client_sas_url] + :language: python + :dedent: 8 + :caption: Creating the BlobClient from a SAS URL to a blob. + """ + def __init__( + self, account_url, # type: str + container_name, # type: str + blob_name, # type: str + snapshot=None, # type: Optional[Union[str, Dict[str, Any]]] + credential=None, # type: Optional[Any] + **kwargs # type: Any + ): + # type: (...) -> None + kwargs['retry_policy'] = kwargs.get('retry_policy') or ExponentialRetry(**kwargs) + super(BlobClient, self).__init__( + account_url, + container_name=container_name, + blob_name=blob_name, + snapshot=snapshot, + credential=credential, + **kwargs) + self._client = AzureBlobStorage(url=self.url, pipeline=self._pipeline) + self._client._config.version = get_api_version(kwargs, VERSION) # pylint: disable=protected-access + self._loop = kwargs.get('loop', None) + + @distributed_trace_async + async def get_account_information(self, **kwargs): # type: ignore + # type: (Optional[int]) -> Dict[str, str] + """Gets information related to the storage account in which the blob resides. + + The information can also be retrieved if the user has a SAS to a container or blob. + The keys in the returned dictionary include 'sku_name' and 'account_kind'. + + :returns: A dict of account information (SKU and account type). + :rtype: dict(str, str) + """ + try: + return await self._client.blob.get_account_info(cls=return_response_headers, **kwargs) # type: ignore + except StorageErrorException as error: + process_storage_error(error) + + @distributed_trace_async + async def upload_blob( + self, data, # type: Union[Iterable[AnyStr], IO[AnyStr]] + blob_type=BlobType.BlockBlob, # type: Union[str, BlobType] + length=None, # type: Optional[int] + metadata=None, # type: Optional[Dict[str, str]] + **kwargs + ): + # type: (...) -> Any + """Creates a new blob from a data source with automatic chunking. + + :param data: The blob data to upload. + :param ~azure.storage.blob.BlobType blob_type: The type of the blob. This can be + either BlockBlob, PageBlob or AppendBlob. The default value is BlockBlob. + :param int length: + Number of bytes to read from the stream. This is optional, but + should be supplied for optimal performance. + :param metadata: + Name-value pairs associated with the blob as metadata. + :type metadata: dict(str, str) + :keyword tags: + Name-value pairs associated with the blob as tag. Tags are case-sensitive. + The tag set may contain at most 10 tags. Tag keys must be between 1 and 128 characters, + and tag values must be between 0 and 256 characters. + Valid tag key and value characters include: lowercase and uppercase letters, digits (0-9), + space (` `), plus (+), minus (-), period (.), solidus (/), colon (:), equals (=), underscore (_) + + .. versionadded:: 12.4.0 + + :paramtype tags: dict(str, str) + :keyword bool overwrite: Whether the blob to be uploaded should overwrite the current data. + If True, upload_blob will overwrite the existing data. If set to False, the + operation will fail with ResourceExistsError. The exception to the above is with Append + blob types: if set to False and the data already exists, an error will not be raised + and the data will be appended to the existing blob. If set overwrite=True, then the existing + append blob will be deleted, and a new one created. Defaults to False. + :keyword ~azure.storage.blob.ContentSettings content_settings: + ContentSettings object used to set blob properties. Used to set content type, encoding, + language, disposition, md5, and cache control. + :keyword bool validate_content: + If true, calculates an MD5 hash for each chunk of the blob. The storage + service checks the hash of the content that has arrived with the hash + that was sent. This is primarily valuable for detecting bitflips on + the wire if using http instead of https, as https (the default), will + already validate. Note that this MD5 hash is not stored with the + blob. Also note that if enabled, the memory-efficient upload algorithm + will not be used because computing the MD5 hash requires buffering + entire blocks, and doing so defeats the purpose of the memory-efficient algorithm. + :keyword lease: + If specified, upload_blob only succeeds if the + blob's lease is active and matches this ID. + Required if the blob has an active lease. + :paramtype: ~azure.storage.blob.aio.BlobLeaseClient + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword ~azure.storage.blob.PremiumPageBlobTier premium_page_blob_tier: + A page blob tier value to set the blob to. The tier correlates to the size of the + blob and number of allowed IOPS. This is only applicable to page blobs on + premium storage accounts. + :keyword ~azure.storage.blob.StandardBlobTier standard_blob_tier: + A standard blob tier value to set the blob to. For this version of the library, + this is only applicable to block blobs on standard storage accounts. + :keyword int maxsize_condition: + Optional conditional header. The max length in bytes permitted for + the append blob. If the Append Block operation would cause the blob + to exceed that limit or if the blob size is already greater than the + value specified in this header, the request will fail with + MaxBlobSizeConditionNotMet error (HTTP status code 412 - Precondition Failed). + :keyword int max_concurrency: + Maximum number of parallel connections to use when the blob size exceeds + 64MB. + :keyword ~azure.storage.blob.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. + :keyword str encryption_scope: + A predefined encryption scope used to encrypt the data on the service. An encryption + scope can be created using the Management API and referenced here by name. If a default + encryption scope has been defined at the container, this value will override it if the + container-level scope is configured to allow overrides. Otherwise an error will be raised. + + .. versionadded:: 12.2.0 + + :keyword str encoding: + Defaults to UTF-8. + :keyword int timeout: + The timeout parameter is expressed in seconds. This method may make + multiple calls to the Azure service and the timeout will apply to + each call individually. + :returns: Blob-updated property dict (Etag and last modified) + :rtype: dict[str, Any] + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_hello_world_async.py + :start-after: [START upload_a_blob] + :end-before: [END upload_a_blob] + :language: python + :dedent: 16 + :caption: Upload a blob to the container. + """ + options = self._upload_blob_options( + data, + blob_type=blob_type, + length=length, + metadata=metadata, + **kwargs) + if blob_type == BlobType.BlockBlob: + return await upload_block_blob(**options) + if blob_type == BlobType.PageBlob: + return await upload_page_blob(**options) + return await upload_append_blob(**options) + + @distributed_trace_async + async def download_blob(self, offset=None, length=None, **kwargs): + # type: (Optional[int], Optional[int], Any) -> StorageStreamDownloader + """Downloads a blob to the StorageStreamDownloader. The readall() method must + be used to read all the content or readinto() must be used to download the blob into + a stream. + + :param int offset: + Start of byte range to use for downloading a section of the blob. + Must be set if length is provided. + :param int length: + Number of bytes to read from the stream. This is optional, but + should be supplied for optimal performance. + :keyword str version_id: + The version id parameter is an opaque DateTime + value that, when present, specifies the version of the blob to download. + + .. versionadded:: 12.4.0 + This keyword argument was introduced in API version '2019-12-12'. + + :keyword bool validate_content: + If true, calculates an MD5 hash for each chunk of the blob. The storage + service checks the hash of the content that has arrived with the hash + that was sent. This is primarily valuable for detecting bitflips on + the wire if using http instead of https, as https (the default), will + already validate. Note that this MD5 hash is not stored with the + blob. Also note that if enabled, the memory-efficient upload algorithm + will not be used because computing the MD5 hash requires buffering + entire blocks, and doing so defeats the purpose of the memory-efficient algorithm. + :keyword lease: + Required if the blob has an active lease. If specified, download_blob only + succeeds if the blob's lease is active and matches this ID. Value can be a + BlobLeaseClient object or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.aio.BlobLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword ~azure.storage.blob.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. + :keyword int max_concurrency: + The number of parallel connections with which to download. + :keyword str encoding: + Encoding to decode the downloaded bytes. Default is None, i.e. no decoding. + :keyword int timeout: + The timeout parameter is expressed in seconds. This method may make + multiple calls to the Azure service and the timeout will apply to + each call individually. + :returns: A streaming object (StorageStreamDownloader) + :rtype: ~azure.storage.blob.aio.StorageStreamDownloader + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_hello_world_async.py + :start-after: [START download_a_blob] + :end-before: [END download_a_blob] + :language: python + :dedent: 16 + :caption: Download a blob. + """ + options = self._download_blob_options( + offset=offset, + length=length, + **kwargs) + downloader = StorageStreamDownloader(**options) + await downloader._setup() # pylint: disable=protected-access + return downloader + + @distributed_trace_async + async def delete_blob(self, delete_snapshots=False, **kwargs): + # type: (str, Any) -> None + """Marks the specified blob for deletion. + + The blob is later deleted during garbage collection. + Note that in order to delete a blob, you must delete all of its + snapshots. You can delete both at the same time with the delete_blob() + operation. + + If a delete retention policy is enabled for the service, then this operation soft deletes the blob + and retains the blob for a specified number of days. + After the specified number of days, the blob's data is removed from the service during garbage collection. + Soft deleted blob is accessible through :func:`~ContainerClient.list_blobs()` specifying `include=['deleted']` + option. Soft-deleted blob can be restored using :func:`undelete` operation. + + :param str delete_snapshots: + Required if the blob has associated snapshots. Values include: + - "only": Deletes only the blobs snapshots. + - "include": Deletes the blob along with all snapshots. + :keyword str version_id: + The version id parameter is an opaque DateTime + value that, when present, specifies the version of the blob to delete. + + .. versionadded:: 12.4.0 + This keyword argument was introduced in API version '2019-12-12'. + + :keyword lease: + Required if the blob has an active lease. If specified, delete_blob only + succeeds if the blob's lease is active and matches this ID. Value can be a + BlobLeaseClient object or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.BlobLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword int timeout: + The timeout parameter is expressed in seconds. + :rtype: None + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_hello_world_async.py + :start-after: [START delete_blob] + :end-before: [END delete_blob] + :language: python + :dedent: 16 + :caption: Delete a blob. + """ + options = self._delete_blob_options(delete_snapshots=delete_snapshots, **kwargs) + try: + await self._client.blob.delete(**options) + except StorageErrorException as error: + process_storage_error(error) + + @distributed_trace_async + async def undelete_blob(self, **kwargs): + # type: (Any) -> None + """Restores soft-deleted blobs or snapshots. + + Operation will only be successful if used within the specified number of days + set in the delete retention policy. + + :keyword int timeout: + The timeout parameter is expressed in seconds. + :rtype: None + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_common_async.py + :start-after: [START undelete_blob] + :end-before: [END undelete_blob] + :language: python + :dedent: 12 + :caption: Undeleting a blob. + """ + try: + await self._client.blob.undelete(timeout=kwargs.pop('timeout', None), **kwargs) + except StorageErrorException as error: + process_storage_error(error) + + @distributed_trace_async + async def exists(self, **kwargs): + # type: (**Any) -> bool + """ + Returns True if a blob exists with the defined parameters, and returns + False otherwise. + + :param str version_id: + The version id parameter is an opaque DateTime + value that, when present, specifies the version of the blob to check if it exists. + :param int timeout: + The timeout parameter is expressed in seconds. + :returns: boolean + """ + try: + await self._client.blob.get_properties( + snapshot=self.snapshot, + **kwargs) + return True + except StorageErrorException as error: + try: + process_storage_error(error) + except ResourceNotFoundError: + return False + + @distributed_trace_async + async def get_blob_properties(self, **kwargs): + # type: (Any) -> BlobProperties + """Returns all user-defined metadata, standard HTTP properties, and + system properties for the blob. It does not return the content of the blob. + + :keyword lease: + Required if the blob has an active lease. Value can be a BlobLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.aio.BlobLeaseClient or str + :keyword str version_id: + The version id parameter is an opaque DateTime + value that, when present, specifies the version of the blob to get properties. + + .. versionadded:: 12.4.0 + This keyword argument was introduced in API version '2019-12-12'. + + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword ~azure.storage.blob.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: BlobProperties + :rtype: ~azure.storage.blob.BlobProperties + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_common_async.py + :start-after: [START get_blob_properties] + :end-before: [END get_blob_properties] + :language: python + :dedent: 12 + :caption: Getting the properties for a blob. + """ + access_conditions = get_access_conditions(kwargs.pop('lease', None)) + mod_conditions = get_modify_conditions(kwargs) + cpk = kwargs.pop('cpk', None) + cpk_info = None + if cpk: + if self.scheme.lower() != 'https': + raise ValueError("Customer provided encryption key must be used over HTTPS.") + cpk_info = CpkInfo(encryption_key=cpk.key_value, encryption_key_sha256=cpk.key_hash, + encryption_algorithm=cpk.algorithm) + try: + blob_props = await self._client.blob.get_properties( + timeout=kwargs.pop('timeout', None), + version_id=kwargs.pop('version_id', None), + snapshot=self.snapshot, + lease_access_conditions=access_conditions, + modified_access_conditions=mod_conditions, + cls=kwargs.pop('cls', None) or deserialize_blob_properties, + cpk_info=cpk_info, + **kwargs) + except StorageErrorException as error: + process_storage_error(error) + blob_props.name = self.blob_name + if isinstance(blob_props, BlobProperties): + blob_props.container = self.container_name + blob_props.snapshot = self.snapshot + return blob_props # type: ignore + + @distributed_trace_async + async def set_http_headers(self, content_settings=None, **kwargs): + # type: (Optional[ContentSettings], Any) -> None + """Sets system properties on the blob. + + If one property is set for the content_settings, all properties will be overridden. + + :param ~azure.storage.blob.ContentSettings content_settings: + ContentSettings object used to set blob properties. Used to set content type, encoding, + language, disposition, md5, and cache control. + :keyword lease: + Required if the blob has an active lease. Value can be a BlobLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.aio.BlobLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: Blob-updated property dict (Etag and last modified) + :rtype: Dict[str, Any] + """ + options = self._set_http_headers_options(content_settings=content_settings, **kwargs) + try: + return await self._client.blob.set_http_headers(**options) # type: ignore + except StorageErrorException as error: + process_storage_error(error) + + @distributed_trace_async + async def set_blob_metadata(self, metadata=None, **kwargs): + # type: (Optional[Dict[str, str]], Any) -> Dict[str, Union[str, datetime]] + """Sets user-defined metadata for the blob as one or more name-value pairs. + + :param metadata: + Dict containing name and value pairs. Each call to this operation + replaces all existing metadata attached to the blob. To remove all + metadata from the blob, call this operation with no metadata headers. + :type metadata: dict(str, str) + :keyword lease: + Required if the blob has an active lease. Value can be a BlobLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.aio.BlobLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword ~azure.storage.blob.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. + :keyword str encryption_scope: + A predefined encryption scope used to encrypt the data on the service. An encryption + scope can be created using the Management API and referenced here by name. If a default + encryption scope has been defined at the container, this value will override it if the + container-level scope is configured to allow overrides. Otherwise an error will be raised. + + .. versionadded:: 12.2.0 + + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: Blob-updated property dict (Etag and last modified) + """ + options = self._set_blob_metadata_options(metadata=metadata, **kwargs) + try: + return await self._client.blob.set_metadata(**options) # type: ignore + except StorageErrorException as error: + process_storage_error(error) + + @distributed_trace_async + async def create_page_blob( # type: ignore + self, size, # type: int + content_settings=None, # type: Optional[ContentSettings] + metadata=None, # type: Optional[Dict[str, str]] + premium_page_blob_tier=None, # type: Optional[Union[str, PremiumPageBlobTier]] + **kwargs + ): + # type: (...) -> Dict[str, Union[str, datetime]] + """Creates a new Page Blob of the specified size. + + :param int size: + This specifies the maximum size for the page blob, up to 1 TB. + The page blob size must be aligned to a 512-byte boundary. + :param ~azure.storage.blob.ContentSettings content_settings: + ContentSettings object used to set blob properties. Used to set content type, encoding, + language, disposition, md5, and cache control. + :param metadata: + Name-value pairs associated with the blob as metadata. + :type metadata: dict(str, str) + :param ~azure.storage.blob.PremiumPageBlobTier premium_page_blob_tier: + A page blob tier value to set the blob to. The tier correlates to the size of the + blob and number of allowed IOPS. This is only applicable to page blobs on + premium storage accounts. + :keyword tags: + Name-value pairs associated with the blob as tag. Tags are case-sensitive. + The tag set may contain at most 10 tags. Tag keys must be between 1 and 128 characters, + and tag values must be between 0 and 256 characters. + Valid tag key and value characters include: lowercase and uppercase letters, digits (0-9), + space (` `), plus (+), minus (-), period (.), solidus (/), colon (:), equals (=), underscore (_) + + .. versionadded:: 12.4.0 + + :paramtype tags: dict(str, str) + :keyword int sequence_number: + Only for Page blobs. The sequence number is a user-controlled value that you can use to + track requests. The value of the sequence number must be between 0 + and 2^63 - 1.The default value is 0. + :keyword lease: + Required if the blob has an active lease. Value can be a BlobLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.aio.BlobLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword ~azure.storage.blob.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. + :keyword str encryption_scope: + A predefined encryption scope used to encrypt the data on the service. An encryption + scope can be created using the Management API and referenced here by name. If a default + encryption scope has been defined at the container, this value will override it if the + container-level scope is configured to allow overrides. Otherwise an error will be raised. + + .. versionadded:: 12.2.0 + + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: Blob-updated property dict (Etag and last modified). + :rtype: dict[str, Any] + """ + options = self._create_page_blob_options( + size, + content_settings=content_settings, + metadata=metadata, + premium_page_blob_tier=premium_page_blob_tier, + **kwargs) + try: + return await self._client.page_blob.create(**options) # type: ignore + except StorageErrorException as error: + process_storage_error(error) + + @distributed_trace_async + async def create_append_blob(self, content_settings=None, metadata=None, **kwargs): + # type: (Optional[ContentSettings], Optional[Dict[str, str]], Any) -> Dict[str, Union[str, datetime]] + """Creates a new Append Blob. + + :param ~azure.storage.blob.ContentSettings content_settings: + ContentSettings object used to set blob properties. Used to set content type, encoding, + language, disposition, md5, and cache control. + :param metadata: + Name-value pairs associated with the blob as metadata. + :type metadata: dict(str, str) + :keyword tags: + Name-value pairs associated with the blob as tag. Tags are case-sensitive. + The tag set may contain at most 10 tags. Tag keys must be between 1 and 128 characters, + and tag values must be between 0 and 256 characters. + Valid tag key and value characters include: lowercase and uppercase letters, digits (0-9), + space (` `), plus (+), minus (-), period (.), solidus (/), colon (:), equals (=), underscore (_) + + .. versionadded:: 12.4.0 + + :paramtype tags: dict(str, str) + :keyword lease: + Required if the blob has an active lease. Value can be a BlobLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.aio.BlobLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword ~azure.storage.blob.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. + :keyword str encryption_scope: + A predefined encryption scope used to encrypt the data on the service. An encryption + scope can be created using the Management API and referenced here by name. If a default + encryption scope has been defined at the container, this value will override it if the + container-level scope is configured to allow overrides. Otherwise an error will be raised. + + .. versionadded:: 12.2.0 + + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: Blob-updated property dict (Etag and last modified). + :rtype: dict[str, Any] + """ + options = self._create_append_blob_options( + content_settings=content_settings, + metadata=metadata, + **kwargs) + try: + return await self._client.append_blob.create(**options) # type: ignore + except StorageErrorException as error: + process_storage_error(error) + + @distributed_trace_async + async def create_snapshot(self, metadata=None, **kwargs): + # type: (Optional[Dict[str, str]], Any) -> Dict[str, Union[str, datetime]] + """Creates a snapshot of the blob. + + A snapshot is a read-only version of a blob that's taken at a point in time. + It can be read, copied, or deleted, but not modified. Snapshots provide a way + to back up a blob as it appears at a moment in time. + + A snapshot of a blob has the same name as the base blob from which the snapshot + is taken, with a DateTime value appended to indicate the time at which the + snapshot was taken. + + :param metadata: + Name-value pairs associated with the blob as metadata. + :type metadata: dict(str, str) + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword lease: + Required if the blob has an active lease. Value can be a BlobLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.aio.BlobLeaseClient or str + :keyword ~azure.storage.blob.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. + :keyword str encryption_scope: + A predefined encryption scope used to encrypt the data on the service. An encryption + scope can be created using the Management API and referenced here by name. If a default + encryption scope has been defined at the container, this value will override it if the + container-level scope is configured to allow overrides. Otherwise an error will be raised. + + .. versionadded:: 12.2.0 + + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: Blob-updated property dict (Snapshot ID, Etag, and last modified). + :rtype: dict[str, Any] + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_common_async.py + :start-after: [START create_blob_snapshot] + :end-before: [END create_blob_snapshot] + :language: python + :dedent: 12 + :caption: Create a snapshot of the blob. + """ + options = self._create_snapshot_options(metadata=metadata, **kwargs) + try: + return await self._client.blob.create_snapshot(**options) # type: ignore + except StorageErrorException as error: + process_storage_error(error) + + @distributed_trace_async + async def start_copy_from_url(self, source_url, metadata=None, incremental_copy=False, **kwargs): + # type: (str, Optional[Dict[str, str]], bool, Any) -> Any + """Copies a blob asynchronously. + + This operation returns a copy operation + object that can be used to wait on the completion of the operation, + as well as check status or abort the copy operation. + The Blob service copies blobs on a best-effort basis. + + The source blob for a copy operation may be a block blob, an append blob, + or a page blob. If the destination blob already exists, it must be of the + same blob type as the source blob. Any existing destination blob will be + overwritten. The destination blob cannot be modified while a copy operation + is in progress. + + When copying from a page blob, the Blob service creates a destination page + blob of the source blob's length, initially containing all zeroes. Then + the source page ranges are enumerated, and non-empty ranges are copied. + + For a block blob or an append blob, the Blob service creates a committed + blob of zero length before returning from this operation. When copying + from a block blob, all committed blocks and their block IDs are copied. + Uncommitted blocks are not copied. At the end of the copy operation, the + destination blob will have the same committed block count as the source. + + When copying from an append blob, all committed blocks are copied. At the + end of the copy operation, the destination blob will have the same committed + block count as the source. + + For all blob types, you can call status() on the returned polling object + to check the status of the copy operation, or wait() to block until the + operation is complete. The final blob will be committed when the copy completes. + + :param str source_url: + A URL of up to 2 KB in length that specifies a file or blob. + The value should be URL-encoded as it would appear in a request URI. + If the source is in another account, the source must either be public + or must be authenticated via a shared access signature. If the source + is public, no authentication is required. + Examples: + https://myaccount.blob.core.windows.net/mycontainer/myblob + + https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot= + + https://otheraccount.blob.core.windows.net/mycontainer/myblob?sastoken + :param metadata: + Name-value pairs associated with the blob as metadata. If no name-value + pairs are specified, the operation will copy the metadata from the + source blob or file to the destination blob. If one or more name-value + pairs are specified, the destination blob is created with the specified + metadata, and metadata is not copied from the source blob or file. + :type metadata: dict(str, str) + :param bool incremental_copy: + Copies the snapshot of the source page blob to a destination page blob. + The snapshot is copied such that only the differential changes between + the previously copied snapshot are transferred to the destination. + The copied snapshots are complete copies of the original snapshot and + can be read or copied from as usual. Defaults to False. + :keyword tags: + Name-value pairs associated with the blob as tag. Tags are case-sensitive. + The tag set may contain at most 10 tags. Tag keys must be between 1 and 128 characters, + and tag values must be between 0 and 256 characters. + Valid tag key and value characters include: lowercase and uppercase letters, digits (0-9), + space (` `), plus (+), minus (-), period (.), solidus (/), colon (:), equals (=), underscore (_) + + .. versionadded:: 12.4.0 + + :paramtype tags: dict(str, str) + :keyword ~datetime.datetime source_if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this conditional header to copy the blob only if the source + blob has been modified since the specified date/time. + :keyword ~datetime.datetime source_if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this conditional header to copy the blob only if the source blob + has not been modified since the specified date/time. + :keyword str source_etag: + The source ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions source_match_condition: + The source match condition to use upon the etag. + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this conditional header to copy the blob only + if the destination blob has been modified since the specified date/time. + If the destination blob has not been modified, the Blob service returns + status code 412 (Precondition Failed). + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this conditional header to copy the blob only + if the destination blob has not been modified since the specified + date/time. If the destination blob has been modified, the Blob service + returns status code 412 (Precondition Failed). + :keyword str etag: + The destination ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The destination match condition to use upon the etag. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword destination_lease: + The lease ID specified for this header must match the lease ID of the + destination blob. If the request does not include the lease ID or it is not + valid, the operation fails with status code 412 (Precondition Failed). + :paramtype destination_lease: ~azure.storage.blob.aio.BlobLeaseClient or str + :keyword source_lease: + Specify this to perform the Copy Blob operation only if + the lease ID given matches the active lease ID of the source blob. + :paramtype source_lease: ~azure.storage.blob.aio.BlobLeaseClient or str + :keyword int timeout: + The timeout parameter is expressed in seconds. + :keyword ~azure.storage.blob.PremiumPageBlobTier premium_page_blob_tier: + A page blob tier value to set the blob to. The tier correlates to the size of the + blob and number of allowed IOPS. This is only applicable to page blobs on + premium storage accounts. + :keyword ~azure.storage.blob.StandardBlobTier standard_blob_tier: + A standard blob tier value to set the blob to. For this version of the library, + this is only applicable to block blobs on standard storage accounts. + :keyword ~azure.storage.blob.RehydratePriority rehydrate_priority: + Indicates the priority with which to rehydrate an archived blob + :keyword bool seal_destination_blob: + Seal the destination append blob. This operation is only for append blob. + + .. versionadded:: 12.4.0 + + :keyword bool requires_sync: + Enforces that the service will not return a response until the copy is complete. + :returns: A dictionary of copy properties (etag, last_modified, copy_id, copy_status). + :rtype: dict[str, str or ~datetime.datetime] + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_common_async.py + :start-after: [START copy_blob_from_url] + :end-before: [END copy_blob_from_url] + :language: python + :dedent: 16 + :caption: Copy a blob from a URL. + """ + options = self._start_copy_from_url_options( + source_url=self._encode_source_url(source_url), + metadata=metadata, + incremental_copy=incremental_copy, + **kwargs) + try: + if incremental_copy: + return await self._client.page_blob.copy_incremental(**options) + return await self._client.blob.start_copy_from_url(**options) + except StorageErrorException as error: + process_storage_error(error) + + @distributed_trace_async + async def abort_copy(self, copy_id, **kwargs): + # type: (Union[str, Dict[str, Any], BlobProperties], Any) -> None + """Abort an ongoing copy operation. + + This will leave a destination blob with zero length and full metadata. + This will raise an error if the copy operation has already ended. + + :param copy_id: + The copy operation to abort. This can be either an ID, or an + instance of BlobProperties. + :type copy_id: str or ~azure.storage.blob.BlobProperties + :rtype: None + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_common_async.py + :start-after: [START abort_copy_blob_from_url] + :end-before: [END abort_copy_blob_from_url] + :language: python + :dedent: 16 + :caption: Abort copying a blob from URL. + """ + options = self._abort_copy_options(copy_id, **kwargs) + try: + await self._client.blob.abort_copy_from_url(**options) + except StorageErrorException as error: + process_storage_error(error) + + @distributed_trace_async + async def acquire_lease(self, lease_duration=-1, lease_id=None, **kwargs): + # type: (int, Optional[str], Any) -> BlobLeaseClient + """Requests a new lease. + + If the blob does not have an active lease, the Blob + Service creates a lease on the blob and returns a new lease. + + :param int lease_duration: + Specifies the duration of the lease, in seconds, or negative one + (-1) for a lease that never expires. A non-infinite lease can be + between 15 and 60 seconds. A lease duration cannot be changed + using renew or change. Default is -1 (infinite lease). + :param str lease_id: + Proposed lease ID, in a GUID string format. The Blob Service + returns 400 (Invalid request) if the proposed lease ID is not + in the correct format. + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: A BlobLeaseClient object. + :rtype: ~azure.storage.blob.aio.BlobLeaseClient + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_common_async.py + :start-after: [START acquire_lease_on_blob] + :end-before: [END acquire_lease_on_blob] + :language: python + :dedent: 12 + :caption: Acquiring a lease on a blob. + """ + lease = BlobLeaseClient(self, lease_id=lease_id) # type: ignore + await lease.acquire(lease_duration=lease_duration, **kwargs) + return lease + + @distributed_trace_async + async def set_standard_blob_tier(self, standard_blob_tier, **kwargs): + # type: (Union[str, StandardBlobTier], Any) -> None + """This operation sets the tier on a block blob. + + A block blob's tier determines Hot/Cool/Archive storage type. + This operation does not update the blob's ETag. + + :param standard_blob_tier: + Indicates the tier to be set on the blob. Options include 'Hot', 'Cool', + 'Archive'. The hot tier is optimized for storing data that is accessed + frequently. The cool storage tier is optimized for storing data that + is infrequently accessed and stored for at least a month. The archive + tier is optimized for storing data that is rarely accessed and stored + for at least six months with flexible latency requirements. + :type standard_blob_tier: str or ~azure.storage.blob.StandardBlobTier + :keyword ~azure.storage.blob.RehydratePriority rehydrate_priority: + Indicates the priority with which to rehydrate an archived blob + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword int timeout: + The timeout parameter is expressed in seconds. + :keyword lease: + Required if the blob has an active lease. Value can be a BlobLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.aio.BlobLeaseClient or str + :rtype: None + """ + access_conditions = get_access_conditions(kwargs.pop('lease', None)) + mod_conditions = get_modify_conditions(kwargs) + if standard_blob_tier is None: + raise ValueError("A StandardBlobTier must be specified") + try: + await self._client.blob.set_tier( + tier=standard_blob_tier, + timeout=kwargs.pop('timeout', None), + modified_access_conditions=mod_conditions, + lease_access_conditions=access_conditions, + **kwargs) + except StorageErrorException as error: + process_storage_error(error) + + @distributed_trace_async + async def stage_block( + self, block_id, # type: str + data, # type: Union[Iterable[AnyStr], IO[AnyStr]] + length=None, # type: Optional[int] + **kwargs + ): + # type: (...) -> None + """Creates a new block to be committed as part of a blob. + + :param str block_id: A string value that identifies the block. + The string should be less than or equal to 64 bytes in size. + For a given blob, the block_id must be the same size for each block. + :param data: The blob data. + :param int length: Size of the block. + :keyword bool validate_content: + If true, calculates an MD5 hash for each chunk of the blob. The storage + service checks the hash of the content that has arrived with the hash + that was sent. This is primarily valuable for detecting bitflips on + the wire if using http instead of https, as https (the default), will + already validate. Note that this MD5 hash is not stored with the + blob. Also note that if enabled, the memory-efficient upload algorithm + will not be used because computing the MD5 hash requires buffering + entire blocks, and doing so defeats the purpose of the memory-efficient algorithm. + :keyword lease: + Required if the blob has an active lease. Value can be a BlobLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.aio.BlobLeaseClient or str + :keyword str encoding: + Defaults to UTF-8. + :keyword ~azure.storage.blob.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. + :keyword str encryption_scope: + A predefined encryption scope used to encrypt the data on the service. An encryption + scope can be created using the Management API and referenced here by name. If a default + encryption scope has been defined at the container, this value will override it if the + container-level scope is configured to allow overrides. Otherwise an error will be raised. + + .. versionadded:: 12.2.0 + + :keyword int timeout: + The timeout parameter is expressed in seconds. + :rtype: None + """ + options = self._stage_block_options( + block_id, + data, + length=length, + **kwargs) + try: + return await self._client.block_blob.stage_block(**options) + except StorageErrorException as error: + process_storage_error(error) + + @distributed_trace_async + async def stage_block_from_url( + self, block_id, # type: str + source_url, # type: str + source_offset=None, # type: Optional[int] + source_length=None, # type: Optional[int] + source_content_md5=None, # type: Optional[Union[bytes, bytearray]] + **kwargs + ): + # type: (...) -> None + """Creates a new block to be committed as part of a blob where + the contents are read from a URL. + + :param str block_id: A string value that identifies the block. + The string should be less than or equal to 64 bytes in size. + For a given blob, the block_id must be the same size for each block. + :param str source_url: The URL. + :param int source_offset: + Start of byte range to use for the block. + Must be set if source length is provided. + :param int source_length: The size of the block in bytes. + :param bytearray source_content_md5: + Specify the md5 calculated for the range of + bytes that must be read from the copy source. + :keyword lease: + Required if the blob has an active lease. Value can be a BlobLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.aio.BlobLeaseClient or str + :keyword ~azure.storage.blob.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. + :keyword str encryption_scope: + A predefined encryption scope used to encrypt the data on the service. An encryption + scope can be created using the Management API and referenced here by name. If a default + encryption scope has been defined at the container, this value will override it if the + container-level scope is configured to allow overrides. Otherwise an error will be raised. + + .. versionadded:: 12.2.0 + + :keyword int timeout: + The timeout parameter is expressed in seconds. + :rtype: None + """ + options = self._stage_block_from_url_options( + block_id, + source_url=self._encode_source_url(source_url), + source_offset=source_offset, + source_length=source_length, + source_content_md5=source_content_md5, + **kwargs) + try: + return await self._client.block_blob.stage_block_from_url(**options) + except StorageErrorException as error: + process_storage_error(error) + + @distributed_trace_async + async def get_block_list(self, block_list_type="committed", **kwargs): + # type: (Optional[str], Any) -> Tuple[List[BlobBlock], List[BlobBlock]] + """The Get Block List operation retrieves the list of blocks that have + been uploaded as part of a block blob. + + :param str block_list_type: + Specifies whether to return the list of committed + blocks, the list of uncommitted blocks, or both lists together. + Possible values include: 'committed', 'uncommitted', 'all' + :keyword lease: + Required if the blob has an active lease. Value can be a BlobLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.aio.BlobLeaseClient or str + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: A tuple of two lists - committed and uncommitted blocks + :rtype: tuple(list(~azure.storage.blob.BlobBlock), list(~azure.storage.blob.BlobBlock)) + """ + access_conditions = get_access_conditions(kwargs.pop('kease', None)) + mod_conditions = get_modify_conditions(kwargs) + try: + blocks = await self._client.block_blob.get_block_list( + list_type=block_list_type, + snapshot=self.snapshot, + timeout=kwargs.pop('timeout', None), + lease_access_conditions=access_conditions, + modified_access_conditions=mod_conditions, + **kwargs) + except StorageErrorException as error: + process_storage_error(error) + return self._get_block_list_result(blocks) + + @distributed_trace_async + async def commit_block_list( # type: ignore + self, block_list, # type: List[BlobBlock] + content_settings=None, # type: Optional[ContentSettings] + metadata=None, # type: Optional[Dict[str, str]] + **kwargs + ): + # type: (...) -> Dict[str, Union[str, datetime]] + """The Commit Block List operation writes a blob by specifying the list of + block IDs that make up the blob. + + :param list block_list: + List of Blockblobs. + :param ~azure.storage.blob.ContentSettings content_settings: + ContentSettings object used to set blob properties. Used to set content type, encoding, + language, disposition, md5, and cache control. + :param metadata: + Name-value pairs associated with the blob as metadata. + :type metadata: dict[str, str] + :keyword tags: + Name-value pairs associated with the blob as tag. Tags are case-sensitive. + The tag set may contain at most 10 tags. Tag keys must be between 1 and 128 characters, + and tag values must be between 0 and 256 characters. + Valid tag key and value characters include: lowercase and uppercase letters, digits (0-9), + space (` `), plus (+), minus (-), period (.), solidus (/), colon (:), equals (=), underscore (_) + + .. versionadded:: 12.4.0 + + :paramtype tags: dict(str, str) + :keyword lease: + Required if the blob has an active lease. Value can be a BlobLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.aio.BlobLeaseClient or str + :keyword bool validate_content: + If true, calculates an MD5 hash of the page content. The storage + service checks the hash of the content that has arrived + with the hash that was sent. This is primarily valuable for detecting + bitflips on the wire if using http instead of https, as https (the default), + will already validate. Note that this MD5 hash is not stored with the + blob. + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword ~azure.storage.blob.StandardBlobTier standard_blob_tier: + A standard blob tier value to set the blob to. For this version of the library, + this is only applicable to block blobs on standard storage accounts. + :keyword ~azure.storage.blob.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. + :keyword str encryption_scope: + A predefined encryption scope used to encrypt the data on the service. An encryption + scope can be created using the Management API and referenced here by name. If a default + encryption scope has been defined at the container, this value will override it if the + container-level scope is configured to allow overrides. Otherwise an error will be raised. + + .. versionadded:: 12.2.0 + + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: Blob-updated property dict (Etag and last modified). + :rtype: dict(str, Any) + """ + options = self._commit_block_list_options( + block_list, + content_settings=content_settings, + metadata=metadata, + **kwargs) + try: + return await self._client.block_blob.commit_block_list(**options) # type: ignore + except StorageErrorException as error: + process_storage_error(error) + + @distributed_trace_async + async def set_premium_page_blob_tier(self, premium_page_blob_tier, **kwargs): + # type: (Union[str, PremiumPageBlobTier], **Any) -> None + """Sets the page blob tiers on the blob. This API is only supported for page blobs on premium accounts. + + :param premium_page_blob_tier: + A page blob tier value to set the blob to. The tier correlates to the size of the + blob and number of allowed IOPS. This is only applicable to page blobs on + premium storage accounts. + :type premium_page_blob_tier: ~azure.storage.blob.PremiumPageBlobTier + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword int timeout: + The timeout parameter is expressed in seconds. This method may make + multiple calls to the Azure service and the timeout will apply to + each call individually. + :keyword lease: + Required if the blob has an active lease. Value can be a BlobLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.aio.BlobLeaseClient or str + :rtype: None + """ + access_conditions = get_access_conditions(kwargs.pop('lease', None)) + mod_conditions = get_modify_conditions(kwargs) + if premium_page_blob_tier is None: + raise ValueError("A PremiumPageBlobTiermust be specified") + try: + await self._client.blob.set_tier( + tier=premium_page_blob_tier, + timeout=kwargs.pop('timeout', None), + lease_access_conditions=access_conditions, + modified_access_conditions=mod_conditions, + **kwargs) + except StorageErrorException as error: + process_storage_error(error) + + @distributed_trace_async + async def set_blob_tags(self, tags=None, **kwargs): + # type: (Optional[Dict[str, str]], **Any) -> Dict[str, Any] + """The Set Tags operation enables users to set tags on a blob or specific blob version, but not snapshot. + Each call to this operation replaces all existing tags attached to the blob. To remove all + tags from the blob, call this operation with no tags set. + + .. versionadded:: 12.4.0 + This operation was introduced in API version '2019-12-12'. + + :param tags: + Name-value pairs associated with the blob as tag. Tags are case-sensitive. + The tag set may contain at most 10 tags. Tag keys must be between 1 and 128 characters, + and tag values must be between 0 and 256 characters. + Valid tag key and value characters include: lowercase and uppercase letters, digits (0-9), + space (` `), plus (+), minus (-), period (.), solidus (/), colon (:), equals (=), underscore (_) + :type tags: dict(str, str) + :keyword str version_id: + The version id parameter is an opaque DateTime + value that, when present, specifies the version of the blob to delete. + :keyword bool validate_content: + If true, calculates an MD5 hash of the tags content. The storage + service checks the hash of the content that has arrived + with the hash that was sent. This is primarily valuable for detecting + bitflips on the wire if using http instead of https, as https (the default), + will already validate. Note that this MD5 hash is not stored with the + blob. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: Blob-updated property dict (Etag and last modified) + :rtype: Dict[str, Any] + """ + options = self._set_blob_tags_options(tags=tags, **kwargs) + try: + return await self._client.blob.set_tags(**options) + except StorageErrorException as error: + process_storage_error(error) + + @distributed_trace_async + async def get_blob_tags(self, **kwargs): + # type: (**Any) -> Dict[str, str] + """The Get Tags operation enables users to get tags on a blob or specific blob version, but not snapshot. + + .. versionadded:: 12.4.0 + This operation was introduced in API version '2019-12-12'. + + :keyword str version_id: + The version id parameter is an opaque DateTime + value that, when present, specifies the version of the blob to add tags to. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: Key value pairs of blob tags. + :rtype: Dict[str, str] + """ + options = self._get_blob_tags_options(**kwargs) + try: + _, tags = await self._client.blob.get_tags(**options) + return parse_tags(tags) # pylint: disable=protected-access + except StorageErrorException as error: + process_storage_error(error) + + @distributed_trace_async + async def get_page_ranges( # type: ignore + self, offset=None, # type: Optional[int] + length=None, # type: Optional[int] + previous_snapshot_diff=None, # type: Optional[Union[str, Dict[str, Any]]] + **kwargs + ): + # type: (...) -> Tuple[List[Dict[str, int]], List[Dict[str, int]]] + """Returns the list of valid page ranges for a Page Blob or snapshot + of a page blob. + + :param int offset: + Start of byte range to use for getting valid page ranges. + If no length is given, all bytes after the offset will be searched. + Pages must be aligned with 512-byte boundaries, the start offset + must be a modulus of 512 and the length must be a modulus of + 512. + :param int length: + Number of bytes to use for getting valid page ranges. + If length is given, offset must be provided. + This range will return valid page ranges from the offset start up to + the specified length. + Pages must be aligned with 512-byte boundaries, the start offset + must be a modulus of 512 and the length must be a modulus of + 512. + :param str previous_snapshot_diff: + The snapshot diff parameter that contains an opaque DateTime value that + specifies a previous blob snapshot to be compared + against a more recent snapshot or the current blob. + :keyword lease: + Required if the blob has an active lease. Value can be a BlobLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.aio.BlobLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: + A tuple of two lists of page ranges as dictionaries with 'start' and 'end' keys. + The first element are filled page ranges, the 2nd element is cleared page ranges. + :rtype: tuple(list(dict(str, str), list(dict(str, str)) + """ + options = self._get_page_ranges_options( + offset=offset, + length=length, + previous_snapshot_diff=previous_snapshot_diff, + **kwargs) + try: + if previous_snapshot_diff: + ranges = await self._client.page_blob.get_page_ranges_diff(**options) + else: + ranges = await self._client.page_blob.get_page_ranges(**options) + except StorageErrorException as error: + process_storage_error(error) + return get_page_ranges_result(ranges) + + @distributed_trace_async + async def get_page_range_diff_for_managed_disk( + self, previous_snapshot_url, # type: str + offset=None, # type: Optional[int] + length=None, # type: Optional[int] + **kwargs + ): + # type: (...) -> Tuple[List[Dict[str, int]], List[Dict[str, int]]] + """Returns the list of valid page ranges for a managed disk or snapshot. + + .. note:: + This operation is only available for managed disk accounts. + + .. versionadded:: 12.2.0 + This operation was introduced in API version '2019-07-07'. + + :param previous_snapshot_url: + Specifies the URL of a previous snapshot of the managed disk. + The response will only contain pages that were changed between the target blob and + its previous snapshot. + :param int offset: + Start of byte range to use for getting valid page ranges. + If no length is given, all bytes after the offset will be searched. + Pages must be aligned with 512-byte boundaries, the start offset + must be a modulus of 512 and the length must be a modulus of + 512. + :param int length: + Number of bytes to use for getting valid page ranges. + If length is given, offset must be provided. + This range will return valid page ranges from the offset start up to + the specified length. + Pages must be aligned with 512-byte boundaries, the start offset + must be a modulus of 512 and the length must be a modulus of + 512. + :keyword lease: + Required if the blob has an active lease. Value can be a BlobLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.aio.BlobLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: + A tuple of two lists of page ranges as dictionaries with 'start' and 'end' keys. + The first element are filled page ranges, the 2nd element is cleared page ranges. + :rtype: tuple(list(dict(str, str), list(dict(str, str)) + """ + options = self._get_page_ranges_options( + offset=offset, + length=length, + prev_snapshot_url=previous_snapshot_url, + **kwargs) + try: + ranges = await self._client.page_blob.get_page_ranges_diff(**options) + except StorageErrorException as error: + process_storage_error(error) + return get_page_ranges_result(ranges) + + @distributed_trace_async + async def set_sequence_number( # type: ignore + self, sequence_number_action, # type: Union[str, SequenceNumberAction] + sequence_number=None, # type: Optional[str] + **kwargs + ): + # type: (...) -> Dict[str, Union[str, datetime]] + """Sets the blob sequence number. + + :param str sequence_number_action: + This property indicates how the service should modify the blob's sequence + number. See :class:`~azure.storage.blob.SequenceNumberAction` for more information. + :param str sequence_number: + This property sets the blob's sequence number. The sequence number is a + user-controlled property that you can use to track requests and manage + concurrency issues. + :keyword lease: + Required if the blob has an active lease. Value can be a BlobLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.aio.BlobLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: Blob-updated property dict (Etag and last modified). + :rtype: dict(str, Any) + """ + options = self._set_sequence_number_options( + sequence_number_action, sequence_number=sequence_number, **kwargs) + try: + return await self._client.page_blob.update_sequence_number(**options) # type: ignore + except StorageErrorException as error: + process_storage_error(error) + + @distributed_trace_async + async def resize_blob(self, size, **kwargs): + # type: (int, Any) -> Dict[str, Union[str, datetime]] + """Resizes a page blob to the specified size. + + If the specified value is less than the current size of the blob, + then all pages above the specified value are cleared. + + :param int size: + Size used to resize blob. Maximum size for a page blob is up to 1 TB. + The page blob size must be aligned to a 512-byte boundary. + :keyword lease: + Required if the blob has an active lease. Value can be a BlobLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.aio.BlobLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword ~azure.storage.blob.PremiumPageBlobTier premium_page_blob_tier: + A page blob tier value to set the blob to. The tier correlates to the size of the + blob and number of allowed IOPS. This is only applicable to page blobs on + premium storage accounts. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: Blob-updated property dict (Etag and last modified). + :rtype: dict(str, Any) + """ + options = self._resize_blob_options(size, **kwargs) + try: + return await self._client.page_blob.resize(**options) # type: ignore + except StorageErrorException as error: + process_storage_error(error) + + @distributed_trace_async + async def upload_page( # type: ignore + self, page, # type: bytes + offset, # type: int + length, # type: int + **kwargs + ): + # type: (...) -> Dict[str, Union[str, datetime]] + """The Upload Pages operation writes a range of pages to a page blob. + + :param bytes page: + Content of the page. + :param int offset: + Start of byte range to use for writing to a section of the blob. + Pages must be aligned with 512-byte boundaries, the start offset + must be a modulus of 512 and the length must be a modulus of + 512. + :param int length: + Number of bytes to use for writing to a section of the blob. + Pages must be aligned with 512-byte boundaries, the start offset + must be a modulus of 512 and the length must be a modulus of + 512. + :keyword lease: + Required if the blob has an active lease. Value can be a BlobLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.aio.BlobLeaseClient or str + :keyword bool validate_content: + If true, calculates an MD5 hash of the page content. The storage + service checks the hash of the content that has arrived + with the hash that was sent. This is primarily valuable for detecting + bitflips on the wire if using http instead of https, as https (the default), + will already validate. Note that this MD5 hash is not stored with the + blob. + :keyword int if_sequence_number_lte: + If the blob's sequence number is less than or equal to + the specified value, the request proceeds; otherwise it fails. + :keyword int if_sequence_number_lt: + If the blob's sequence number is less than the specified + value, the request proceeds; otherwise it fails. + :keyword int if_sequence_number_eq: + If the blob's sequence number is equal to the specified + value, the request proceeds; otherwise it fails. + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword ~azure.storage.blob.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. + :keyword str encryption_scope: + A predefined encryption scope used to encrypt the data on the service. An encryption + scope can be created using the Management API and referenced here by name. If a default + encryption scope has been defined at the container, this value will override it if the + container-level scope is configured to allow overrides. Otherwise an error will be raised. + + .. versionadded:: 12.2.0 + + :keyword str encoding: + Defaults to UTF-8. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: Blob-updated property dict (Etag and last modified). + :rtype: dict(str, Any) + """ + options = self._upload_page_options( + page=page, + offset=offset, + length=length, + **kwargs) + try: + return await self._client.page_blob.upload_pages(**options) # type: ignore + except StorageErrorException as error: + process_storage_error(error) + + @distributed_trace_async + async def upload_pages_from_url(self, source_url, # type: str + offset, # type: int + length, # type: int + source_offset, # type: int + **kwargs + ): + # type: (...) -> Dict[str, Any] + """ + The Upload Pages operation writes a range of pages to a page blob where + the contents are read from a URL. + + :param str source_url: + The URL of the source data. It can point to any Azure Blob or File, that is either public or has a + shared access signature attached. + :param int offset: + Start of byte range to use for writing to a section of the blob. + Pages must be aligned with 512-byte boundaries, the start offset + must be a modulus of 512 and the length must be a modulus of + 512. + :param int length: + Number of bytes to use for writing to a section of the blob. + Pages must be aligned with 512-byte boundaries, the start offset + must be a modulus of 512 and the length must be a modulus of + 512. + :param int source_offset: + This indicates the start of the range of bytes(inclusive) that has to be taken from the copy source. + The service will read the same number of bytes as the destination range (length-offset). + :keyword bytes source_content_md5: + If given, the service will calculate the MD5 hash of the block content and compare against this value. + :keyword ~datetime.datetime source_if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the source resource has been modified since the specified time. + :keyword ~datetime.datetime source_if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the source resource has not been modified since the specified date/time. + :keyword str source_etag: + The source ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions source_match_condition: + The source match condition to use upon the etag. + :keyword lease: + Required if the blob has an active lease. Value can be a BlobLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.aio.BlobLeaseClient or str + :keyword int if_sequence_number_lte: + If the blob's sequence number is less than or equal to + the specified value, the request proceeds; otherwise it fails. + :keyword int if_sequence_number_lt: + If the blob's sequence number is less than the specified + value, the request proceeds; otherwise it fails. + :keyword int if_sequence_number_eq: + If the blob's sequence number is equal to the specified + value, the request proceeds; otherwise it fails. + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + The destination ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The destination match condition to use upon the etag. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword ~azure.storage.blob.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. + :keyword str encryption_scope: + A predefined encryption scope used to encrypt the data on the service. An encryption + scope can be created using the Management API and referenced here by name. If a default + encryption scope has been defined at the container, this value will override it if the + container-level scope is configured to allow overrides. Otherwise an error will be raised. + + .. versionadded:: 12.2.0 + + :keyword int timeout: + The timeout parameter is expressed in seconds. + """ + + options = self._upload_pages_from_url_options( + source_url=self._encode_source_url(source_url), + offset=offset, + length=length, + source_offset=source_offset, + **kwargs + ) + try: + return await self._client.page_blob.upload_pages_from_url(**options) # type: ignore + except StorageErrorException as error: + process_storage_error(error) + + @distributed_trace_async + async def clear_page(self, offset, length, **kwargs): + # type: (int, int, Any) -> Dict[str, Union[str, datetime]] + """Clears a range of pages. + + :param int offset: + Start of byte range to use for writing to a section of the blob. + Pages must be aligned with 512-byte boundaries, the start offset + must be a modulus of 512 and the length must be a modulus of + 512. + :param int length: + Number of bytes to use for writing to a section of the blob. + Pages must be aligned with 512-byte boundaries, the start offset + must be a modulus of 512 and the length must be a modulus of + 512. + :keyword lease: + Required if the blob has an active lease. Value can be a BlobLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.aio.BlobLeaseClient or str + :keyword int if_sequence_number_lte: + If the blob's sequence number is less than or equal to + the specified value, the request proceeds; otherwise it fails. + :keyword int if_sequence_number_lt: + If the blob's sequence number is less than the specified + value, the request proceeds; otherwise it fails. + :keyword int if_sequence_number_eq: + If the blob's sequence number is equal to the specified + value, the request proceeds; otherwise it fails. + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword ~azure.storage.blob.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: Blob-updated property dict (Etag and last modified). + :rtype: dict(str, Any) + """ + options = self._clear_page_options(offset, length, **kwargs) + try: + return await self._client.page_blob.clear_pages(**options) # type: ignore + except StorageErrorException as error: + process_storage_error(error) + + @distributed_trace_async + async def append_block( # type: ignore + self, data, # type: Union[AnyStr, Iterable[AnyStr], IO[AnyStr]] + length=None, # type: Optional[int] + **kwargs + ): + # type: (...) -> Dict[str, Union[str, datetime, int]] + """Commits a new block of data to the end of the existing append blob. + + :param data: + Content of the block. + :param int length: + Size of the block in bytes. + :keyword bool validate_content: + If true, calculates an MD5 hash of the block content. The storage + service checks the hash of the content that has arrived + with the hash that was sent. This is primarily valuable for detecting + bitflips on the wire if using http instead of https, as https (the default), + will already validate. Note that this MD5 hash is not stored with the + blob. + :keyword int maxsize_condition: + Optional conditional header. The max length in bytes permitted for + the append blob. If the Append Block operation would cause the blob + to exceed that limit or if the blob size is already greater than the + value specified in this header, the request will fail with + MaxBlobSizeConditionNotMet error (HTTP status code 412 - Precondition Failed). + :keyword int appendpos_condition: + Optional conditional header, used only for the Append Block operation. + A number indicating the byte offset to compare. Append Block will + succeed only if the append position is equal to this number. If it + is not, the request will fail with the AppendPositionConditionNotMet error + (HTTP status code 412 - Precondition Failed). + :keyword lease: + Required if the blob has an active lease. Value can be a BlobLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.aio.BlobLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword str encoding: + Defaults to UTF-8. + :keyword ~azure.storage.blob.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. + :keyword str encryption_scope: + A predefined encryption scope used to encrypt the data on the service. An encryption + scope can be created using the Management API and referenced here by name. If a default + encryption scope has been defined at the container, this value will override it if the + container-level scope is configured to allow overrides. Otherwise an error will be raised. + + .. versionadded:: 12.2.0 + + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: Blob-updated property dict (Etag, last modified, append offset, committed block count). + :rtype: dict(str, Any) + """ + options = self._append_block_options( + data, + length=length, + **kwargs + ) + try: + return await self._client.append_blob.append_block(**options) # type: ignore + except StorageErrorException as error: + process_storage_error(error) + + @distributed_trace_async() + async def append_block_from_url(self, copy_source_url, # type: str + source_offset=None, # type: Optional[int] + source_length=None, # type: Optional[int] + **kwargs): + # type: (...) -> Dict[str, Union[str, datetime, int]] + """ + Creates a new block to be committed as part of a blob, where the contents are read from a source url. + + :param str copy_source_url: + The URL of the source data. It can point to any Azure Blob or File, that is either public or has a + shared access signature attached. + :param int source_offset: + This indicates the start of the range of bytes(inclusive) that has to be taken from the copy source. + :param int source_length: + This indicates the end of the range of bytes that has to be taken from the copy source. + :keyword bytearray source_content_md5: + If given, the service will calculate the MD5 hash of the block content and compare against this value. + :keyword int maxsize_condition: + Optional conditional header. The max length in bytes permitted for + the append blob. If the Append Block operation would cause the blob + to exceed that limit or if the blob size is already greater than the + value specified in this header, the request will fail with + MaxBlobSizeConditionNotMet error (HTTP status code 412 - Precondition Failed). + :keyword int appendpos_condition: + Optional conditional header, used only for the Append Block operation. + A number indicating the byte offset to compare. Append Block will + succeed only if the append position is equal to this number. If it + is not, the request will fail with the + AppendPositionConditionNotMet error + (HTTP status code 412 - Precondition Failed). + :keyword lease: + Required if the blob has an active lease. Value can be a BlobLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.aio.BlobLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + The destination ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The destination match condition to use upon the etag. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword ~datetime.datetime source_if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the source resource has been modified since the specified time. + :keyword ~datetime.datetime source_if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the source resource has not been modified since the specified date/time. + :keyword str source_etag: + The source ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions source_match_condition: + The source match condition to use upon the etag. + :keyword ~azure.storage.blob.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. + :keyword str encryption_scope: + A predefined encryption scope used to encrypt the data on the service. An encryption + scope can be created using the Management API and referenced here by name. If a default + encryption scope has been defined at the container, this value will override it if the + container-level scope is configured to allow overrides. Otherwise an error will be raised. + + .. versionadded:: 12.2.0 + + :keyword int timeout: + The timeout parameter is expressed in seconds. + """ + options = self._append_block_from_url_options( + copy_source_url=self._encode_source_url(copy_source_url), + source_offset=source_offset, + source_length=source_length, + **kwargs + ) + try: + return await self._client.append_blob.append_block_from_url(**options) # type: ignore + except StorageErrorException as error: + process_storage_error(error) + + @distributed_trace_async() + async def seal_append_blob(self, **kwargs): + # type: (...) -> Dict[str, Union[str, datetime, int]] + """The Seal operation seals the Append Blob to make it read-only. + + .. versionadded:: 12.4.0 + + :keyword int appendpos_condition: + Optional conditional header, used only for the Append Block operation. + A number indicating the byte offset to compare. Append Block will + succeed only if the append position is equal to this number. If it + is not, the request will fail with the AppendPositionConditionNotMet error + (HTTP status code 412 - Precondition Failed). + :keyword lease: + Required if the blob has an active lease. Value can be a BlobLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.BlobLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: Blob-updated property dict (Etag, last modified, append offset, committed block count). + :rtype: dict(str, Any) + """ + options = self._seal_append_blob_options(**kwargs) + try: + return await self._client.append_blob.seal(**options) # type: ignore + except StorageErrorException as error: + process_storage_error(error) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/aio/_blob_service_client_async.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/aio/_blob_service_client_async.py new file mode 100644 index 00000000000..5d55df945ec --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/aio/_blob_service_client_async.py @@ -0,0 +1,646 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +# pylint: disable=invalid-overridden-method +import functools +from typing import ( # pylint: disable=unused-import + Union, Optional, Any, Iterable, Dict, List, + TYPE_CHECKING +) + +from azure.core.tracing.decorator import distributed_trace +from azure.core.pipeline import AsyncPipeline +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.core.async_paging import AsyncItemPaged + +from .._shared.models import LocationMode +from .._shared.policies_async import ExponentialRetry +from .._shared.base_client_async import AsyncStorageAccountHostsMixin, AsyncTransportWrapper +from .._shared.response_handlers import return_response_headers, process_storage_error +from .._shared.parser import _to_utc_datetime +from .._shared.response_handlers import parse_to_internal_user_delegation_key +from .._generated import VERSION +from .._generated.aio import AzureBlobStorage +from .._generated.models import StorageErrorException, StorageServiceProperties, KeyInfo +from .._blob_service_client import BlobServiceClient as BlobServiceClientBase +from ._container_client_async import ContainerClient +from ._blob_client_async import BlobClient +from .._models import ContainerProperties +from .._deserialize import service_stats_deserialize, service_properties_deserialize +from .._serialize import get_api_version +from ._models import ContainerPropertiesPaged, FilteredBlobPaged + +if TYPE_CHECKING: + from datetime import datetime + from azure.core.pipeline.transport import HttpTransport + from azure.core.pipeline.policies import HTTPPolicy + from .._shared.models import AccountSasPermissions, ResourceTypes, UserDelegationKey + from ._lease_async import BlobLeaseClient + from .._models import ( + BlobProperties, + PublicAccess, + BlobAnalyticsLogging, + Metrics, + CorsRule, + RetentionPolicy, + StaticWebsite, + ) + + +class BlobServiceClient(AsyncStorageAccountHostsMixin, BlobServiceClientBase): + """A client to interact with the Blob Service at the account level. + + This client provides operations to retrieve and configure the account properties + as well as list, create and delete containers within the account. + For operations relating to a specific container or blob, clients for those entities + can also be retrieved using the `get_client` functions. + + :param str account_url: + The URL to the blob storage account. Any other entities included + in the URL path (e.g. container or blob) will be discarded. This URL can be optionally + authenticated with a SAS token. + :param credential: + The credentials with which to authenticate. This is optional if the + account URL already has a SAS token. The value can be a SAS token string, an account + shared access key, or an instance of a TokenCredentials class from azure.identity. + If the URL already has a SAS token, specifying an explicit credential will take priority. + :keyword str api_version: + The Storage API version to use for requests. Default value is '2019-07-07'. + Setting to an older version may result in reduced feature compatibility. + + .. versionadded:: 12.2.0 + + :keyword str secondary_hostname: + The hostname of the secondary endpoint. + :keyword int max_block_size: The maximum chunk size for uploading a block blob in chunks. + Defaults to 4*1024*1024, or 4MB. + :keyword int max_single_put_size: If the blob size is less than or equal max_single_put_size, then the blob will be + uploaded with only one http PUT request. If the blob size is larger than max_single_put_size, + the blob will be uploaded in chunks. Defaults to 64*1024*1024, or 64MB. + :keyword int min_large_block_upload_threshold: The minimum chunk size required to use the memory efficient + algorithm when uploading a block blob. Defaults to 4*1024*1024+1. + :keyword bool use_byte_buffer: Use a byte buffer for block blob uploads. Defaults to False. + :keyword int max_page_size: The maximum chunk size for uploading a page blob. Defaults to 4*1024*1024, or 4MB. + :keyword int max_single_get_size: The maximum size for a blob to be downloaded in a single call, + the exceeded part will be downloaded in chunks (could be parallel). Defaults to 32*1024*1024, or 32MB. + :keyword int max_chunk_get_size: The maximum chunk size used for downloading a blob. Defaults to 4*1024*1024, + or 4MB. + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_authentication_async.py + :start-after: [START create_blob_service_client] + :end-before: [END create_blob_service_client] + :language: python + :dedent: 8 + :caption: Creating the BlobServiceClient with account url and credential. + + .. literalinclude:: ../samples/blob_samples_authentication_async.py + :start-after: [START create_blob_service_client_oauth] + :end-before: [END create_blob_service_client_oauth] + :language: python + :dedent: 8 + :caption: Creating the BlobServiceClient with Azure Identity credentials. + """ + + def __init__( + self, account_url, # type: str + credential=None, # type: Optional[Any] + **kwargs # type: Any + ): + # type: (...) -> None + kwargs['retry_policy'] = kwargs.get('retry_policy') or ExponentialRetry(**kwargs) + super(BlobServiceClient, self).__init__( + account_url, + credential=credential, + **kwargs) + self._client = AzureBlobStorage(url=self.url, pipeline=self._pipeline) + self._client._config.version = get_api_version(kwargs, VERSION) # pylint: disable=protected-access + self._loop = kwargs.get('loop', None) + + @distributed_trace_async + async def get_user_delegation_key(self, key_start_time, # type: datetime + key_expiry_time, # type: datetime + **kwargs # type: Any + ): + # type: (...) -> UserDelegationKey + """ + Obtain a user delegation key for the purpose of signing SAS tokens. + A token credential must be present on the service object for this request to succeed. + + :param ~datetime.datetime key_start_time: + A DateTime value. Indicates when the key becomes valid. + :param ~datetime.datetime key_expiry_time: + A DateTime value. Indicates when the key stops being valid. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: The user delegation key. + :rtype: ~azure.storage.blob.UserDelegationKey + """ + key_info = KeyInfo(start=_to_utc_datetime(key_start_time), expiry=_to_utc_datetime(key_expiry_time)) + timeout = kwargs.pop('timeout', None) + try: + user_delegation_key = await self._client.service.get_user_delegation_key(key_info=key_info, + timeout=timeout, + **kwargs) # type: ignore + except StorageErrorException as error: + process_storage_error(error) + + return parse_to_internal_user_delegation_key(user_delegation_key) # type: ignore + + @distributed_trace_async + async def get_account_information(self, **kwargs): + # type: (Any) -> Dict[str, str] + """Gets information related to the storage account. + + The information can also be retrieved if the user has a SAS to a container or blob. + The keys in the returned dictionary include 'sku_name' and 'account_kind'. + + :returns: A dict of account information (SKU and account type). + :rtype: dict(str, str) + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_service_async.py + :start-after: [START get_blob_service_account_info] + :end-before: [END get_blob_service_account_info] + :language: python + :dedent: 12 + :caption: Getting account information for the blob service. + """ + try: + return await self._client.service.get_account_info(cls=return_response_headers, **kwargs) # type: ignore + except StorageErrorException as error: + process_storage_error(error) + + @distributed_trace_async + async def get_service_stats(self, **kwargs): + # type: (Any) -> Dict[str, Any] + """Retrieves statistics related to replication for the Blob service. + + It is only available when read-access geo-redundant replication is enabled for + the storage account. + + With geo-redundant replication, Azure Storage maintains your data durable + in two locations. In both locations, Azure Storage constantly maintains + multiple healthy replicas of your data. The location where you read, + create, update, or delete data is the primary storage account location. + The primary location exists in the region you choose at the time you + create an account via the Azure Management Azure classic portal, for + example, North Central US. The location to which your data is replicated + is the secondary location. The secondary location is automatically + determined based on the location of the primary; it is in a second data + center that resides in the same region as the primary location. Read-only + access is available from the secondary location, if read-access geo-redundant + replication is enabled for your storage account. + + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: The blob service stats. + :rtype: Dict[str, Any] + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_service_async.py + :start-after: [START get_blob_service_stats] + :end-before: [END get_blob_service_stats] + :language: python + :dedent: 12 + :caption: Getting service stats for the blob service. + """ + timeout = kwargs.pop('timeout', None) + try: + stats = await self._client.service.get_statistics( # type: ignore + timeout=timeout, use_location=LocationMode.SECONDARY, **kwargs) + return service_stats_deserialize(stats) + except StorageErrorException as error: + process_storage_error(error) + + @distributed_trace_async + async def get_service_properties(self, **kwargs): + # type: (Any) -> Dict[str, Any] + """Gets the properties of a storage account's Blob service, including + Azure Storage Analytics. + + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: An object containing blob service properties such as + analytics logging, hour/minute metrics, cors rules, etc. + :rtype: Dict[str, Any] + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_service_async.py + :start-after: [START get_blob_service_properties] + :end-before: [END get_blob_service_properties] + :language: python + :dedent: 12 + :caption: Getting service properties for the blob service. + """ + timeout = kwargs.pop('timeout', None) + try: + service_props = await self._client.service.get_properties(timeout=timeout, **kwargs) + return service_properties_deserialize(service_props) + except StorageErrorException as error: + process_storage_error(error) + + @distributed_trace_async + async def set_service_properties( + self, analytics_logging=None, # type: Optional[BlobAnalyticsLogging] + hour_metrics=None, # type: Optional[Metrics] + minute_metrics=None, # type: Optional[Metrics] + cors=None, # type: Optional[List[CorsRule]] + target_version=None, # type: Optional[str] + delete_retention_policy=None, # type: Optional[RetentionPolicy] + static_website=None, # type: Optional[StaticWebsite] + **kwargs + ): + # type: (...) -> None + """Sets the properties of a storage account's Blob service, including + Azure Storage Analytics. + + If an element (e.g. analytics_logging) is left as None, the + existing settings on the service for that functionality are preserved. + + :param analytics_logging: + Groups the Azure Analytics Logging settings. + :type analytics_logging: ~azure.storage.blob.BlobAnalyticsLogging + :param hour_metrics: + The hour metrics settings provide a summary of request + statistics grouped by API in hourly aggregates for blobs. + :type hour_metrics: ~azure.storage.blob.Metrics + :param minute_metrics: + The minute metrics settings provide request statistics + for each minute for blobs. + :type minute_metrics: ~azure.storage.blob.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[~azure.storage.blob.CorsRule] + :param str target_version: + Indicates the default version to use for requests if an incoming + request's version is not specified. + :param delete_retention_policy: + 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: ~azure.storage.blob.RetentionPolicy + :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: ~azure.storage.blob.StaticWebsite + :keyword int timeout: + The timeout parameter is expressed in seconds. + :rtype: None + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_service_async.py + :start-after: [START set_blob_service_properties] + :end-before: [END set_blob_service_properties] + :language: python + :dedent: 12 + :caption: Setting service properties for the blob service. + """ + if all(parameter is None for parameter in [ + analytics_logging, hour_metrics, minute_metrics, cors, + target_version, delete_retention_policy, static_website]): + raise ValueError("set_service_properties should be called with at least one parameter") + + props = StorageServiceProperties( + logging=analytics_logging, + hour_metrics=hour_metrics, + minute_metrics=minute_metrics, + cors=cors, + default_service_version=target_version, + delete_retention_policy=delete_retention_policy, + static_website=static_website + ) + timeout = kwargs.pop('timeout', None) + try: + await self._client.service.set_properties(props, timeout=timeout, **kwargs) + except StorageErrorException as error: + process_storage_error(error) + + @distributed_trace + def list_containers( + self, name_starts_with=None, # type: Optional[str] + include_metadata=False, # type: Optional[bool] + **kwargs + ): + # type: (...) -> AsyncItemPaged[ContainerProperties] + """Returns a generator to list the containers under the specified account. + + The generator will lazily follow the continuation tokens returned by + the service and stop when all containers have been returned. + + :param str name_starts_with: + Filters the results to return only containers whose names + begin with the specified prefix. + :param bool include_metadata: + Specifies that container metadata to be returned in the response. + The default value is `False`. + :keyword bool include_deleted: + Specifies that deleted containers to be returned in the response. This is for container restore enabled + account. The default value is `False`. + .. versionadded:: 12.4.0 + :keyword int results_per_page: + The maximum number of container names to retrieve per API + call. If the request does not specify the server will return up to 5,000 items. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: An iterable (auto-paging) of ContainerProperties. + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.storage.blob.ContainerProperties] + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_service_async.py + :start-after: [START bsc_list_containers] + :end-before: [END bsc_list_containers] + :language: python + :dedent: 16 + :caption: Listing the containers in the blob service. + """ + include = ['metadata'] if include_metadata else [] + include_deleted = kwargs.pop('include_deleted', None) + if include_deleted: + include.append("deleted") + timeout = kwargs.pop('timeout', None) + results_per_page = kwargs.pop('results_per_page', None) + command = functools.partial( + self._client.service.list_containers_segment, + prefix=name_starts_with, + include=include, + timeout=timeout, + **kwargs) + return AsyncItemPaged( + command, + prefix=name_starts_with, + results_per_page=results_per_page, + page_iterator_class=ContainerPropertiesPaged + ) + + @distributed_trace + def find_blobs_by_tags(self, filter_expression, **kwargs): + # type: (str, **Any) -> AsyncItemPaged[FilteredBlob] + """The Filter Blobs operation enables callers to list blobs across all + containers whose tags match a given search expression. Filter blobs + searches across all containers within a storage account but can be + scoped within the expression to a single container. + + :param str filter_expression: + The expression to find blobs whose tags matches the specified condition. + eg. "\"yourtagname\"='firsttag' and \"yourtagname2\"='secondtag'" + To specify a container, eg. "@container='containerName' and \"Name\"='C'" + :keyword int results_per_page: + The max result per page when paginating. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: An iterable (auto-paging) response of BlobProperties. + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.storage.blob.FilteredBlob] + """ + + results_per_page = kwargs.pop('results_per_page', None) + timeout = kwargs.pop('timeout', None) + command = functools.partial( + self._client.service.filter_blobs, + where=filter_expression, + timeout=timeout, + **kwargs) + return AsyncItemPaged( + command, results_per_page=results_per_page, + page_iterator_class=FilteredBlobPaged) + + @distributed_trace_async + async def create_container( + self, name, # type: str + metadata=None, # type: Optional[Dict[str, str]] + public_access=None, # type: Optional[Union[PublicAccess, str]] + **kwargs + ): + # type: (...) -> ContainerClient + """Creates a new container under the specified account. + + If the container with the same name already exists, a ResourceExistsError will + be raised. This method returns a client with which to interact with the newly + created container. + + :param str name: The name of the container to create. + :param metadata: + A dict with name-value pairs to associate with the + container as metadata. Example: `{'Category':'test'}` + :type metadata: dict(str, str) + :param public_access: + Possible values include: 'container', 'blob'. + :type public_access: str or ~azure.storage.blob.PublicAccess + :keyword container_encryption_scope: + Specifies the default encryption scope to set on the container and use for + all future writes. + + .. versionadded:: 12.2.0 + + :paramtype container_encryption_scope: dict or ~azure.storage.blob.ContainerEncryptionScope + :keyword int timeout: + The timeout parameter is expressed in seconds. + :rtype: ~azure.storage.blob.aio.ContainerClient + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_service_async.py + :start-after: [START bsc_create_container] + :end-before: [END bsc_create_container] + :language: python + :dedent: 16 + :caption: Creating a container in the blob service. + """ + container = self.get_container_client(name) + timeout = kwargs.pop('timeout', None) + kwargs.setdefault('merge_span', True) + await container.create_container( + metadata=metadata, public_access=public_access, timeout=timeout, **kwargs) + return container + + @distributed_trace_async + async def delete_container( + self, container, # type: Union[ContainerProperties, str] + lease=None, # type: Optional[Union[BlobLeaseClient, str]] + **kwargs + ): + # type: (...) -> None + """Marks the specified container for deletion. + + The container and any blobs contained within it are later deleted during garbage collection. + If the container is not found, a ResourceNotFoundError will be raised. + + :param container: + The container to delete. This can either be the name of the container, + or an instance of ContainerProperties. + :type container: str or ~azure.storage.blob.ContainerProperties + :param lease: + If specified, delete_container only succeeds if the + container's lease is active and matches this ID. + Required if the container has an active lease. + :paramtype lease: ~azure.storage.blob.aio.BlobLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :rtype: None + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_service_async.py + :start-after: [START bsc_delete_container] + :end-before: [END bsc_delete_container] + :language: python + :dedent: 16 + :caption: Deleting a container in the blob service. + """ + container = self.get_container_client(container) # type: ignore + kwargs.setdefault('merge_span', True) + timeout = kwargs.pop('timeout', None) + await container.delete_container( # type: ignore + lease=lease, + timeout=timeout, + **kwargs) + + @distributed_trace_async + async def undelete_container(self, deleted_container_name, deleted_container_version, **kwargs): + # type: (str, str, str, **Any) -> ContainerClient + """Restores soft-deleted container. + + Operation will only be successful if used within the specified number of days + set in the delete retention policy. + + .. versionadded:: 12.4.0 + This operation was introduced in API version '2019-12-12'. + + :param str deleted_container_name: + Specifies the name of the deleted container to restore. + :param str deleted_container_version: + Specifies the version of the deleted container to restore. + :keyword str new_name: + The new name for the deleted container to be restored to. + If not specified deleted_container_name will be used as the restored container name. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :rtype: ~azure.storage.blob.aio.ContainerClient + """ + new_name = kwargs.pop('new_name', None) + container = self.get_container_client(new_name or deleted_container_name) + try: + await container._client.container.restore(deleted_container_name=deleted_container_name, # pylint: disable = protected-access + deleted_container_version=deleted_container_version, + timeout=kwargs.pop('timeout', None), **kwargs) + return container + except StorageErrorException as error: + process_storage_error(error) + + def get_container_client(self, container): + # type: (Union[ContainerProperties, str]) -> ContainerClient + """Get a client to interact with the specified container. + + The container need not already exist. + + :param container: + The container. This can either be the name of the container, + or an instance of ContainerProperties. + :type container: str or ~azure.storage.blob.ContainerProperties + :returns: A ContainerClient. + :rtype: ~azure.storage.blob.aio.ContainerClient + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_service_async.py + :start-after: [START bsc_get_container_client] + :end-before: [END bsc_get_container_client] + :language: python + :dedent: 12 + :caption: Getting the container client to interact with a specific container. + """ + try: + container_name = container.name + except AttributeError: + container_name = container + _pipeline = AsyncPipeline( + transport=AsyncTransportWrapper(self._pipeline._transport), # pylint: disable = protected-access + policies=self._pipeline._impl_policies # pylint: disable = protected-access + ) + return ContainerClient( + self.url, container_name=container_name, + credential=self.credential, api_version=self.api_version, _configuration=self._config, + _pipeline=_pipeline, _location_mode=self._location_mode, _hosts=self._hosts, + require_encryption=self.require_encryption, key_encryption_key=self.key_encryption_key, + key_resolver_function=self.key_resolver_function, loop=self._loop) + + def get_blob_client( + self, container, # type: Union[ContainerProperties, str] + blob, # type: Union[BlobProperties, str] + snapshot=None # type: Optional[Union[Dict[str, Any], str]] + ): + # type: (...) -> BlobClient + """Get a client to interact with the specified blob. + + The blob need not already exist. + + :param container: + The container that the blob is in. This can either be the name of the container, + or an instance of ContainerProperties. + :type container: str or ~azure.storage.blob.ContainerProperties + :param blob: + The blob with which to interact. This can either be the name of the blob, + or an instance of BlobProperties. + :type blob: str or ~azure.storage.blob.BlobProperties + :param snapshot: + The optional blob snapshot on which to operate. This can either be the ID of the snapshot, + or a dictionary output returned by + :func:`~azure.storage.blob.aio.BlobClient.create_snapshot()`. + :type snapshot: str or dict(str, Any) + :returns: A BlobClient. + :rtype: ~azure.storage.blob.aio.BlobClient + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_service_async.py + :start-after: [START bsc_get_blob_client] + :end-before: [END bsc_get_blob_client] + :language: python + :dedent: 16 + :caption: Getting the blob client to interact with a specific blob. + """ + try: + container_name = container.name + except AttributeError: + container_name = container + + try: + blob_name = blob.name + except AttributeError: + blob_name = blob + _pipeline = AsyncPipeline( + transport=AsyncTransportWrapper(self._pipeline._transport), # pylint: disable = protected-access + policies=self._pipeline._impl_policies # pylint: disable = protected-access + ) + return BlobClient( # type: ignore + self.url, container_name=container_name, blob_name=blob_name, snapshot=snapshot, + credential=self.credential, api_version=self.api_version, _configuration=self._config, + _pipeline=_pipeline, _location_mode=self._location_mode, _hosts=self._hosts, + require_encryption=self.require_encryption, key_encryption_key=self.key_encryption_key, + key_resolver_function=self.key_resolver_function, loop=self._loop) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/aio/_container_client_async.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/aio/_container_client_async.py new file mode 100644 index 00000000000..730a1fd201b --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/aio/_container_client_async.py @@ -0,0 +1,1121 @@ +# pylint: disable=too-many-lines +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +# pylint: disable=invalid-overridden-method +import functools +from typing import ( # pylint: disable=unused-import + Union, Optional, Any, Iterable, AnyStr, Dict, List, IO, AsyncIterator, + TYPE_CHECKING +) + +from azure.core.tracing.decorator import distributed_trace +from azure.core.tracing.decorator_async import distributed_trace_async +from azure.core.async_paging import AsyncItemPaged +from azure.core.pipeline import AsyncPipeline +from azure.core.pipeline.transport import AsyncHttpResponse + +from .._shared.base_client_async import AsyncStorageAccountHostsMixin, AsyncTransportWrapper +from .._shared.policies_async import ExponentialRetry +from .._shared.request_handlers import add_metadata_headers, serialize_iso +from .._shared.response_handlers import ( + process_storage_error, + return_response_headers, + return_headers_and_deserialized) +from .._generated import VERSION +from .._generated.aio import AzureBlobStorage +from .._generated.models import ( + StorageErrorException, + SignedIdentifier) +from .._deserialize import deserialize_container_properties +from .._serialize import get_modify_conditions, get_container_cpk_scope_info, get_api_version, get_access_conditions +from .._container_client import ContainerClient as ContainerClientBase, _get_blob_name +from .._models import ContainerProperties, BlobType, BlobProperties # pylint: disable=unused-import +from ._list_blobs_helper import BlobPropertiesPaged, BlobPrefix +from ._lease_async import BlobLeaseClient +from ._blob_client_async import BlobClient + +if TYPE_CHECKING: + from .._models import PublicAccess + from ._download_async import StorageStreamDownloader + from datetime import datetime + from .._models import ( # pylint: disable=unused-import + AccessPolicy, + StandardBlobTier, + PremiumPageBlobTier) + + +class ContainerClient(AsyncStorageAccountHostsMixin, ContainerClientBase): + """A client to interact with a specific container, although that container + may not yet exist. + + For operations relating to a specific blob within this container, a blob client can be + retrieved using the :func:`~get_blob_client` function. + + :param str account_url: + The URI to the storage account. In order to create a client given the full URI to the container, + use the :func:`from_container_url` classmethod. + :param container_name: + The name of the container for the blob. + :type container_name: str + :param credential: + The credentials with which to authenticate. This is optional if the + account URL already has a SAS token. The value can be a SAS token string, an account + shared access key, or an instance of a TokenCredentials class from azure.identity. + If the URL already has a SAS token, specifying an explicit credential will take priority. + :keyword str api_version: + The Storage API version to use for requests. Default value is '2019-07-07'. + Setting to an older version may result in reduced feature compatibility. + + .. versionadded:: 12.2.0 + + :keyword str secondary_hostname: + The hostname of the secondary endpoint. + :keyword int max_block_size: The maximum chunk size for uploading a block blob in chunks. + Defaults to 4*1024*1024, or 4MB. + :keyword int max_single_put_size: If the blob size is less than or equal max_single_put_size, then the blob will be + uploaded with only one http PUT request. If the blob size is larger than max_single_put_size, + the blob will be uploaded in chunks. Defaults to 64*1024*1024, or 64MB. + :keyword int min_large_block_upload_threshold: The minimum chunk size required to use the memory efficient + algorithm when uploading a block blob. Defaults to 4*1024*1024+1. + :keyword bool use_byte_buffer: Use a byte buffer for block blob uploads. Defaults to False. + :keyword int max_page_size: The maximum chunk size for uploading a page blob. Defaults to 4*1024*1024, or 4MB. + :keyword int max_single_get_size: The maximum size for a blob to be downloaded in a single call, + the exceeded part will be downloaded in chunks (could be parallel). Defaults to 32*1024*1024, or 32MB. + :keyword int max_chunk_get_size: The maximum chunk size used for downloading a blob. Defaults to 4*1024*1024, + or 4MB. + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_containers_async.py + :start-after: [START create_container_client_from_service] + :end-before: [END create_container_client_from_service] + :language: python + :dedent: 8 + :caption: Get a ContainerClient from an existing BlobServiceClient. + + .. literalinclude:: ../samples/blob_samples_containers_async.py + :start-after: [START create_container_client_sasurl] + :end-before: [END create_container_client_sasurl] + :language: python + :dedent: 12 + :caption: Creating the container client directly. + """ + def __init__( + self, account_url, # type: str + container_name, # type: str + credential=None, # type: Optional[Any] + **kwargs # type: Any + ): + # type: (...) -> None + kwargs['retry_policy'] = kwargs.get('retry_policy') or ExponentialRetry(**kwargs) + super(ContainerClient, self).__init__( + account_url, + container_name=container_name, + credential=credential, + **kwargs) + self._client = AzureBlobStorage(url=self.url, pipeline=self._pipeline) + self._client._config.version = get_api_version(kwargs, VERSION) # pylint: disable=protected-access + self._loop = kwargs.get('loop', None) + + @distributed_trace_async + async def create_container(self, metadata=None, public_access=None, **kwargs): + # type: (Optional[Dict[str, str]], Optional[Union[PublicAccess, str]], **Any) -> None + """ + Creates a new container under the specified account. If the container + with the same name already exists, the operation fails. + + :param metadata: + A dict with name_value pairs to associate with the + container as metadata. Example:{'Category':'test'} + :type metadata: dict[str, str] + :param ~azure.storage.blob.PublicAccess public_access: + Possible values include: 'container', 'blob'. + :keyword container_encryption_scope: + Specifies the default encryption scope to set on the container and use for + all future writes. + + .. versionadded:: 12.2.0 + + :paramtype container_encryption_scope: dict or ~azure.storage.blob.ContainerEncryptionScope + :keyword int timeout: + The timeout parameter is expressed in seconds. + :rtype: None + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_containers_async.py + :start-after: [START create_container] + :end-before: [END create_container] + :language: python + :dedent: 16 + :caption: Creating a container to store blobs. + """ + headers = kwargs.pop('headers', {}) + headers.update(add_metadata_headers(metadata)) # type: ignore + timeout = kwargs.pop('timeout', None) + container_cpk_scope_info = get_container_cpk_scope_info(kwargs) + try: + return await self._client.container.create( # type: ignore + timeout=timeout, + access=public_access, + container_cpk_scope_info=container_cpk_scope_info, + cls=return_response_headers, + headers=headers, + **kwargs) + except StorageErrorException as error: + process_storage_error(error) + + @distributed_trace_async + async def delete_container( + self, **kwargs): + # type: (Any) -> None + """ + Marks the specified container for deletion. The container and any blobs + contained within it are later deleted during garbage collection. + + :keyword lease: + If specified, delete_container only succeeds if the + container's lease is active and matches this ID. + Required if the container has an active lease. + :paramtype lease: ~azure.storage.blob.aio.BlobLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :rtype: None + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_containers_async.py + :start-after: [START delete_container] + :end-before: [END delete_container] + :language: python + :dedent: 16 + :caption: Delete a container. + """ + lease = kwargs.pop('lease', None) + access_conditions = get_access_conditions(lease) + mod_conditions = get_modify_conditions(kwargs) + timeout = kwargs.pop('timeout', None) + try: + await self._client.container.delete( + timeout=timeout, + lease_access_conditions=access_conditions, + modified_access_conditions=mod_conditions, + **kwargs) + except StorageErrorException as error: + process_storage_error(error) + + @distributed_trace_async + async def acquire_lease( + self, lease_duration=-1, # type: int + lease_id=None, # type: Optional[str] + **kwargs): + # type: (...) -> BlobLeaseClient + """ + Requests a new lease. If the container does not have an active lease, + the Blob service creates a lease on the container and returns a new + lease ID. + + :param int lease_duration: + Specifies the duration of the lease, in seconds, or negative one + (-1) for a lease that never expires. A non-infinite lease can be + between 15 and 60 seconds. A lease duration cannot be changed + using renew or change. Default is -1 (infinite lease). + :param str lease_id: + Proposed lease ID, in a GUID string format. The Blob service returns + 400 (Invalid request) if the proposed lease ID is not in the correct format. + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: A BlobLeaseClient object, that can be run in a context manager. + :rtype: ~azure.storage.blob.aio.BlobLeaseClient + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_containers_async.py + :start-after: [START acquire_lease_on_container] + :end-before: [END acquire_lease_on_container] + :language: python + :dedent: 12 + :caption: Acquiring a lease on the container. + """ + lease = BlobLeaseClient(self, lease_id=lease_id) # type: ignore + kwargs.setdefault('merge_span', True) + timeout = kwargs.pop('timeout', None) + await lease.acquire(lease_duration=lease_duration, timeout=timeout, **kwargs) + return lease + + @distributed_trace_async + async def get_account_information(self, **kwargs): + # type: (**Any) -> Dict[str, str] + """Gets information related to the storage account. + + The information can also be retrieved if the user has a SAS to a container or blob. + The keys in the returned dictionary include 'sku_name' and 'account_kind'. + + :returns: A dict of account information (SKU and account type). + :rtype: dict(str, str) + """ + try: + return await self._client.container.get_account_info(cls=return_response_headers, **kwargs) # type: ignore + except StorageErrorException as error: + process_storage_error(error) + + @distributed_trace_async + async def get_container_properties(self, **kwargs): + # type: (**Any) -> ContainerProperties + """Returns all user-defined metadata and system properties for the specified + container. The data returned does not include the container's list of blobs. + + :keyword lease: + If specified, get_container_properties only succeeds if the + container's lease is active and matches this ID. + :paramtype lease: ~azure.storage.blob.aio.BlobLeaseClient or str + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: Properties for the specified container within a container object. + :rtype: ~azure.storage.blob.ContainerProperties + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_containers_async.py + :start-after: [START get_container_properties] + :end-before: [END get_container_properties] + :language: python + :dedent: 16 + :caption: Getting properties on the container. + """ + lease = kwargs.pop('lease', None) + access_conditions = get_access_conditions(lease) + timeout = kwargs.pop('timeout', None) + try: + response = await self._client.container.get_properties( + timeout=timeout, + lease_access_conditions=access_conditions, + cls=deserialize_container_properties, + **kwargs) + except StorageErrorException as error: + process_storage_error(error) + response.name = self.container_name + return response # type: ignore + + @distributed_trace_async + async def set_container_metadata( # type: ignore + self, metadata=None, # type: Optional[Dict[str, str]] + **kwargs + ): + # type: (...) -> Dict[str, Union[str, datetime]] + """Sets one or more user-defined name-value pairs for the specified + container. Each call to this operation replaces all existing metadata + attached to the container. To remove all metadata from the container, + call this operation with no metadata dict. + + :param metadata: + A dict containing name-value pairs to associate with the container as + metadata. Example: {'category':'test'} + :type metadata: dict[str, str] + :keyword lease: + If specified, set_container_metadata only succeeds if the + container's lease is active and matches this ID. + :paramtype lease: ~azure.storage.blob.aio.BlobLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: Container-updated property dict (Etag and last modified). + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_containers_async.py + :start-after: [START set_container_metadata] + :end-before: [END set_container_metadata] + :language: python + :dedent: 16 + :caption: Setting metadata on the container. + """ + headers = kwargs.pop('headers', {}) + headers.update(add_metadata_headers(metadata)) + lease = kwargs.pop('lease', None) + access_conditions = get_access_conditions(lease) + mod_conditions = get_modify_conditions(kwargs) + timeout = kwargs.pop('timeout', None) + try: + return await self._client.container.set_metadata( # type: ignore + timeout=timeout, + lease_access_conditions=access_conditions, + modified_access_conditions=mod_conditions, + cls=return_response_headers, + headers=headers, + **kwargs) + except StorageErrorException as error: + process_storage_error(error) + + @distributed_trace_async + async def get_container_access_policy(self, **kwargs): + # type: (Any) -> Dict[str, Any] + """Gets the permissions for the specified container. + The permissions indicate whether container data may be accessed publicly. + + :keyword lease: + If specified, get_container_access_policy only succeeds if the + container's lease is active and matches this ID. + :paramtype lease: ~azure.storage.blob.aio.BlobLeaseClient or str + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: Access policy information in a dict. + :rtype: dict[str, Any] + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_containers_async.py + :start-after: [START get_container_access_policy] + :end-before: [END get_container_access_policy] + :language: python + :dedent: 16 + :caption: Getting the access policy on the container. + """ + lease = kwargs.pop('lease', None) + access_conditions = get_access_conditions(lease) + timeout = kwargs.pop('timeout', None) + try: + response, identifiers = await self._client.container.get_access_policy( + timeout=timeout, + lease_access_conditions=access_conditions, + cls=return_headers_and_deserialized, + **kwargs) + except StorageErrorException as error: + process_storage_error(error) + return { + 'public_access': response.get('blob_public_access'), + 'signed_identifiers': identifiers or [] + } + + @distributed_trace_async + async def set_container_access_policy( + self, signed_identifiers, # type: Dict[str, AccessPolicy] + public_access=None, # type: Optional[Union[str, PublicAccess]] + **kwargs # type: Any + ): # type: (...) -> Dict[str, Union[str, datetime]] + """Sets the permissions for the specified container or stored access + policies that may be used with Shared Access Signatures. The permissions + indicate whether blobs in a container may be accessed publicly. + + :param signed_identifiers: + 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, ~azure.storage.blob.AccessPolicy] + :param ~azure.storage.blob.PublicAccess public_access: + Possible values include: 'container', 'blob'. + :keyword lease: + Required if the container has an active lease. Value can be a BlobLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.aio.BlobLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A datetime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified date/time. + :keyword ~datetime.datetime if_unmodified_since: + A datetime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: Container-updated property dict (Etag and last modified). + :rtype: dict[str, str or ~datetime.datetime] + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_containers_async.py + :start-after: [START set_container_access_policy] + :end-before: [END set_container_access_policy] + :language: python + :dedent: 16 + :caption: Setting access policy on the container. + """ + timeout = kwargs.pop('timeout', None) + lease = kwargs.pop('lease', None) + if len(signed_identifiers) > 5: + raise ValueError( + 'Too many access policies provided. The server does not support setting ' + 'more than 5 access policies on a single resource.') + identifiers = [] + for key, value in signed_identifiers.items(): + if value: + value.start = serialize_iso(value.start) + value.expiry = serialize_iso(value.expiry) + identifiers.append(SignedIdentifier(id=key, access_policy=value)) # type: ignore + signed_identifiers = identifiers # type: ignore + + mod_conditions = get_modify_conditions(kwargs) + access_conditions = get_access_conditions(lease) + try: + return await self._client.container.set_access_policy( + container_acl=signed_identifiers or None, + timeout=timeout, + access=public_access, + lease_access_conditions=access_conditions, + modified_access_conditions=mod_conditions, + cls=return_response_headers, + **kwargs) + except StorageErrorException as error: + process_storage_error(error) + + @distributed_trace + def list_blobs(self, name_starts_with=None, include=None, **kwargs): + # type: (Optional[str], Optional[Union[str, List[str]]], **Any) -> AsyncItemPaged[BlobProperties] + """Returns a generator to list the blobs under the specified container. + The generator will lazily follow the continuation tokens returned by + the service. + + :param str name_starts_with: + Filters the results to return only blobs whose names + begin with the specified prefix. + :param list[str] or str include: + Specifies one or more additional datasets to include in the response. + Options include: 'snapshots', 'metadata', 'uncommittedblobs', 'copy', 'deleted', 'tags'. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: An iterable (auto-paging) response of BlobProperties. + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.storage.blob.BlobProperties] + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_containers_async.py + :start-after: [START list_blobs_in_container] + :end-before: [END list_blobs_in_container] + :language: python + :dedent: 12 + :caption: List the blobs in the container. + """ + if include and not isinstance(include, list): + include = [include] + + results_per_page = kwargs.pop('results_per_page', None) + timeout = kwargs.pop('timeout', None) + command = functools.partial( + self._client.container.list_blob_flat_segment, + include=include, + timeout=timeout, + **kwargs) + return AsyncItemPaged( + command, + prefix=name_starts_with, + results_per_page=results_per_page, + page_iterator_class=BlobPropertiesPaged + ) + + @distributed_trace + def walk_blobs( + self, name_starts_with=None, # type: Optional[str] + include=None, # type: Optional[Any] + delimiter="/", # type: str + **kwargs # type: Optional[Any] + ): + # type: (...) -> AsyncItemPaged[BlobProperties] + """Returns a generator to list the blobs under the specified container. + The generator will lazily follow the continuation tokens returned by + the service. This operation will list blobs in accordance with a hierarchy, + as delimited by the specified delimiter character. + + :param str name_starts_with: + Filters the results to return only blobs whose names + begin with the specified prefix. + :param list[str] include: + Specifies one or more additional datasets to include in the response. + Options include: 'snapshots', 'metadata', 'uncommittedblobs', 'copy', 'deleted'. + :param str delimiter: + When the request includes this parameter, the operation returns a BlobPrefix + element in the response body that acts as a placeholder for all blobs whose + names begin with the same substring up to the appearance of the delimiter + character. The delimiter may be a single character or a string. + :keyword int timeout: + The timeout parameter is expressed in seconds. + :returns: An iterable (auto-paging) response of BlobProperties. + :rtype: ~azure.core.async_paging.AsyncItemPaged[~azure.storage.blob.BlobProperties] + """ + if include and not isinstance(include, list): + include = [include] + + results_per_page = kwargs.pop('results_per_page', None) + timeout = kwargs.pop('timeout', None) + command = functools.partial( + self._client.container.list_blob_hierarchy_segment, + delimiter=delimiter, + include=include, + timeout=timeout, + **kwargs) + return BlobPrefix( + command, + prefix=name_starts_with, + results_per_page=results_per_page, + delimiter=delimiter) + + @distributed_trace_async + async def upload_blob( + self, name, # type: Union[str, BlobProperties] + data, # type: Union[Iterable[AnyStr], IO[AnyStr]] + blob_type=BlobType.BlockBlob, # type: Union[str, BlobType] + length=None, # type: Optional[int] + metadata=None, # type: Optional[Dict[str, str]] + **kwargs + ): + # type: (...) -> BlobClient + """Creates a new blob from a data source with automatic chunking. + + :param name: The blob with which to interact. If specified, this value will override + a blob value specified in the blob URL. + :type name: str or ~azure.storage.blob.BlobProperties + :param data: The blob data to upload. + :param ~azure.storage.blob.BlobType blob_type: The type of the blob. This can be + either BlockBlob, PageBlob or AppendBlob. The default value is BlockBlob. + :param int length: + Number of bytes to read from the stream. This is optional, but + should be supplied for optimal performance. + :param metadata: + Name-value pairs associated with the blob as metadata. + :type metadata: dict(str, str) + :keyword bool overwrite: Whether the blob to be uploaded should overwrite the current data. + If True, upload_blob will overwrite the existing data. If set to False, the + operation will fail with ResourceExistsError. The exception to the above is with Append + blob types: if set to False and the data already exists, an error will not be raised + and the data will be appended to the existing blob. If set overwrite=True, then the existing + append blob will be deleted, and a new one created. Defaults to False. + :keyword ~azure.storage.blob.ContentSettings content_settings: + ContentSettings object used to set blob properties. Used to set content type, encoding, + language, disposition, md5, and cache control. + :keyword bool validate_content: + If true, calculates an MD5 hash for each chunk of the blob. The storage + service checks the hash of the content that has arrived with the hash + that was sent. This is primarily valuable for detecting bitflips on + the wire if using http instead of https, as https (the default), will + already validate. Note that this MD5 hash is not stored with the + blob. Also note that if enabled, the memory-efficient upload algorithm + will not be used, because computing the MD5 hash requires buffering + entire blocks, and doing so defeats the purpose of the memory-efficient algorithm. + :keyword lease: + Required if the container has an active lease. Value can be a BlobLeaseClient object + or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.aio.BlobLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword int timeout: + The timeout parameter is expressed in seconds. This method may make + multiple calls to the Azure service and the timeout will apply to + each call individually. + :keyword ~azure.storage.blob.PremiumPageBlobTier premium_page_blob_tier: + A page blob tier value to set the blob to. The tier correlates to the size of the + blob and number of allowed IOPS. This is only applicable to page blobs on + premium storage accounts. + :keyword ~azure.storage.blob.StandardBlobTier standard_blob_tier: + A standard blob tier value to set the blob to. For this version of the library, + this is only applicable to block blobs on standard storage accounts. + :keyword int maxsize_condition: + Optional conditional header. The max length in bytes permitted for + the append blob. If the Append Block operation would cause the blob + to exceed that limit or if the blob size is already greater than the + value specified in this header, the request will fail with + MaxBlobSizeConditionNotMet error (HTTP status code 412 - Precondition Failed). + :keyword int max_concurrency: + Maximum number of parallel connections to use when the blob size exceeds + 64MB. + :keyword ~azure.storage.blob.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. + :keyword str encryption_scope: + A predefined encryption scope used to encrypt the data on the service. An encryption + scope can be created using the Management API and referenced here by name. If a default + encryption scope has been defined at the container, this value will override it if the + container-level scope is configured to allow overrides. Otherwise an error will be raised. + + .. versionadded:: 12.2.0 + + :keyword str encoding: + Defaults to UTF-8. + :returns: A BlobClient to interact with the newly uploaded blob. + :rtype: ~azure.storage.blob.aio.BlobClient + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_containers_async.py + :start-after: [START upload_blob_to_container] + :end-before: [END upload_blob_to_container] + :language: python + :dedent: 12 + :caption: Upload blob to the container. + """ + blob = self.get_blob_client(name) + kwargs.setdefault('merge_span', True) + timeout = kwargs.pop('timeout', None) + encoding = kwargs.pop('encoding', 'UTF-8') + await blob.upload_blob( + data, + blob_type=blob_type, + length=length, + metadata=metadata, + timeout=timeout, + encoding=encoding, + **kwargs + ) + return blob + + @distributed_trace_async + async def delete_blob( + self, blob, # type: Union[str, BlobProperties] + delete_snapshots=None, # type: Optional[str] + **kwargs + ): + # type: (...) -> None + """Marks the specified blob or snapshot for deletion. + + The blob is later deleted during garbage collection. + Note that in order to delete a blob, you must delete all of its + snapshots. You can delete both at the same time with the delete_blob + operation. + + If a delete retention policy is enabled for the service, then this operation soft deletes the blob or snapshot + and retains the blob or snapshot for specified number of days. + After specified number of days, blob's data is removed from the service during garbage collection. + Soft deleted blob or snapshot is accessible through :func:`list_blobs()` specifying `include=["deleted"]` + option. Soft-deleted blob or snapshot can be restored using :func:`~BlobClient.undelete()` + + :param blob: The blob with which to interact. If specified, this value will override + a blob value specified in the blob URL. + :type blob: str or ~azure.storage.blob.BlobProperties + :param str delete_snapshots: + Required if the blob has associated snapshots. Values include: + - "only": Deletes only the blobs snapshots. + - "include": Deletes the blob along with all snapshots. + :keyword str version_id: + The version id parameter is an opaque DateTime + value that, when present, specifies the version of the blob to delete. + + .. versionadded:: 12.4.0 + This keyword argument was introduced in API version '2019-12-12'. + + :keyword lease: + Required if the blob has an active lease. Value can be a Lease object + or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.aio.BlobLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword int timeout: + The timeout parameter is expressed in seconds. + :rtype: None + """ + blob = self.get_blob_client(blob) # type: ignore + kwargs.setdefault('merge_span', True) + timeout = kwargs.pop('timeout', None) + await blob.delete_blob( # type: ignore + delete_snapshots=delete_snapshots, + timeout=timeout, + **kwargs) + + @distributed_trace_async + async def download_blob(self, blob, offset=None, length=None, **kwargs): + # type: (Union[str, BlobProperties], Optional[int], Optional[int], Any) -> StorageStreamDownloader + """Downloads a blob to the StorageStreamDownloader. The readall() method must + be used to read all the content or readinto() must be used to download the blob into + a stream. + + :param blob: The blob with which to interact. If specified, this value will override + a blob value specified in the blob URL. + :type blob: str or ~azure.storage.blob.BlobProperties + :param int offset: + Start of byte range to use for downloading a section of the blob. + Must be set if length is provided. + :param int length: + Number of bytes to read from the stream. This is optional, but + should be supplied for optimal performance. + :keyword bool validate_content: + If true, calculates an MD5 hash for each chunk of the blob. The storage + service checks the hash of the content that has arrived with the hash + that was sent. This is primarily valuable for detecting bitflips on + the wire if using http instead of https, as https (the default), will + already validate. Note that this MD5 hash is not stored with the + blob. Also note that if enabled, the memory-efficient upload algorithm + will not be used because computing the MD5 hash requires buffering + entire blocks, and doing so defeats the purpose of the memory-efficient algorithm. + :keyword lease: + Required if the blob has an active lease. If specified, download_blob only + succeeds if the blob's lease is active and matches this ID. Value can be a + BlobLeaseClient object or the lease ID as a string. + :paramtype lease: ~azure.storage.blob.aio.BlobLeaseClient or str + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword ~azure.storage.blob.CustomerProvidedEncryptionKey cpk: + Encrypts the data on the service-side with the given key. + Use of customer-provided keys must be done over HTTPS. + As the encryption key itself is provided in the request, + a secure connection must be established to transfer the key. + :keyword int max_concurrency: + The number of parallel connections with which to download. + :keyword str encoding: + Encoding to decode the downloaded bytes. Default is None, i.e. no decoding. + :keyword int timeout: + The timeout parameter is expressed in seconds. This method may make + multiple calls to the Azure service and the timeout will apply to + each call individually. + :returns: A streaming object. (StorageStreamDownloader) + :rtype: ~azure.storage.blob.aio.StorageStreamDownloader + """ + blob_client = self.get_blob_client(blob) # type: ignore + kwargs.setdefault('merge_span', True) + return await blob_client.download_blob( + offset=offset, + length=length, + **kwargs) + + @distributed_trace_async + async def delete_blobs( # pylint: disable=arguments-differ + self, *blobs: List[Union[str, BlobProperties, dict]], + **kwargs + ) -> AsyncIterator[AsyncHttpResponse]: + """Marks the specified blobs or snapshots for deletion. + + The blobs are later deleted during garbage collection. + Note that in order to delete blobs, you must delete all of their + snapshots. You can delete both at the same time with the delete_blobs operation. + + If a delete retention policy is enabled for the service, then this operation soft deletes the blobs or snapshots + and retains the blobs or snapshots for specified number of days. + After specified number of days, blobs' data is removed from the service during garbage collection. + Soft deleted blobs or snapshots are accessible through :func:`list_blobs()` specifying `include=["deleted"]` + Soft-deleted blobs or snapshots can be restored using :func:`~BlobClient.undelete()` + + :param blobs: + The blobs to delete. This can be a single blob, or multiple values can + be supplied, where each value is either the name of the blob (str) or BlobProperties. + + .. note:: + When the blob type is dict, here's a list of keys, value rules. + + blob name: + key: 'name', value type: str + snapshot you want to delete: + key: 'snapshot', value type: str + whether to delete snapthots when deleting blob: + key: 'delete_snapshots', value: 'include' or 'only' + if the blob modified or not: + key: 'if_modified_since', 'if_unmodified_since', value type: datetime + etag: + key: 'etag', value type: str + match the etag or not: + key: 'match_condition', value type: MatchConditions + tags match condition: + key: 'if_tags_match_condition', value type: str + lease: + key: 'lease_id', value type: Union[str, LeaseClient] + timeout for subrequest: + key: 'timeout', value type: int + + :type blobs: list[str], list[dict], or list[~azure.storage.blob.BlobProperties] + :keyword str delete_snapshots: + Required if a blob has associated snapshots. Values include: + - "only": Deletes only the blobs snapshots. + - "include": Deletes the blob along with all snapshots. + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword bool raise_on_any_failure: + This is a boolean param which defaults to True. When this is set, an exception + is raised even if there is a single operation failure. For optimal performance, + this should be set to False + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: An async iterator of responses, one for each blob in order + :rtype: asynciterator[~azure.core.pipeline.transport.AsyncHttpResponse] + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_common_async.py + :start-after: [START delete_multiple_blobs] + :end-before: [END delete_multiple_blobs] + :language: python + :dedent: 12 + :caption: Deleting multiple blobs. + """ + if len(blobs) == 0: + return iter(list()) + + reqs, options = self._generate_delete_blobs_options(*blobs, **kwargs) + + return await self._batch_send(*reqs, **options) + + @distributed_trace + async def set_standard_blob_tier_blobs( + self, + standard_blob_tier: Union[str, 'StandardBlobTier'], + *blobs: List[Union[str, BlobProperties, dict]], + **kwargs + ) -> AsyncIterator[AsyncHttpResponse]: + """This operation sets the tier on block blobs. + + A block blob's tier determines Hot/Cool/Archive storage type. + This operation does not update the blob's ETag. + + :param standard_blob_tier: + Indicates the tier to be set on all blobs. Options include 'Hot', 'Cool', + 'Archive'. The hot tier is optimized for storing data that is accessed + frequently. The cool storage tier is optimized for storing data that + is infrequently accessed and stored for at least a month. The archive + tier is optimized for storing data that is rarely accessed and stored + for at least six months with flexible latency requirements. + + .. note:: + If you want to set different tier on different blobs please set this positional parameter to None. + Then the blob tier on every BlobProperties will be taken. + + :type standard_blob_tier: str or ~azure.storage.blob.StandardBlobTier + :param blobs: + The blobs with which to interact. This can be a single blob, or multiple values can + be supplied, where each value is either the name of the blob (str) or BlobProperties. + + .. note:: + When the blob type is dict, here's a list of keys, value rules. + blob name: + key: 'name', value type: str + standard blob tier: + key: 'blob_tier', value type: StandardBlobTier + rehydrate priority: + key: 'rehydrate_priority', value type: RehydratePriority + lease: + key: 'lease_id', value type: Union[str, LeaseClient] + tags match condition: + key: 'if_tags_match_condition', value type: str + timeout for subrequest: + key: 'timeout', value type: int + + :type blobs: list[str], list[dict], or list[~azure.storage.blob.BlobProperties] + :keyword ~azure.storage.blob.RehydratePriority rehydrate_priority: + Indicates the priority with which to rehydrate an archived blob + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword int timeout: + The timeout parameter is expressed in seconds. + :keyword bool raise_on_any_failure: + This is a boolean param which defaults to True. When this is set, an exception + is raised even if there is a single operation failure. For optimal performance, + this should be set to False. + :return: An async iterator of responses, one for each blob in order + :rtype: asynciterator[~azure.core.pipeline.transport.AsyncHttpResponse] + """ + reqs, options = self._generate_set_tiers_options(standard_blob_tier, *blobs, **kwargs) + + return await self._batch_send(*reqs, **options) + + @distributed_trace + async def set_premium_page_blob_tier_blobs( + self, + premium_page_blob_tier: Union[str, 'PremiumPageBlobTier'], + *blobs: List[Union[str, BlobProperties, dict]], + **kwargs + ) -> AsyncIterator[AsyncHttpResponse]: + """Sets the page blob tiers on the blobs. This API is only supported for page blobs on premium accounts. + + :param premium_page_blob_tier: + A page blob tier value to set on all blobs to. The tier correlates to the size of the + blob and number of allowed IOPS. This is only applicable to page blobs on + premium storage accounts. + + .. note:: + If you want to set different tier on different blobs please set this positional parameter to None. + Then the blob tier on every BlobProperties will be taken. + + :type premium_page_blob_tier: ~azure.storage.blob.PremiumPageBlobTier + :param blobs: The blobs with which to interact. This can be a single blob, or multiple values can + be supplied, where each value is either the name of the blob (str) or BlobProperties. + + .. note:: + When the blob type is dict, here's a list of keys, value rules. + + blob name: + key: 'name', value type: str + premium blob tier: + key: 'blob_tier', value type: PremiumPageBlobTier + lease: + key: 'lease_id', value type: Union[str, LeaseClient] + timeout for subrequest: + key: 'timeout', value type: int + + :type blobs: list[str], list[dict], or list[~azure.storage.blob.BlobProperties] + :keyword int timeout: + The timeout parameter is expressed in seconds. This method may make + multiple calls to the Azure service and the timeout will apply to + each call individually. + :keyword bool raise_on_any_failure: + This is a boolean param which defaults to True. When this is set, an exception + is raised even if there is a single operation failure. For optimal performance, + this should be set to False. + :return: An async iterator of responses, one for each blob in order + :rtype: asynciterator[~azure.core.pipeline.transport.AsyncHttpResponse] + """ + reqs, options = self._generate_set_tiers_options(premium_page_blob_tier, *blobs, **kwargs) + + return await self._batch_send(*reqs, **options) + + def get_blob_client( + self, blob, # type: Union[BlobProperties, str] + snapshot=None # type: str + ): + # type: (...) -> BlobClient + """Get a client to interact with the specified blob. + + The blob need not already exist. + + :param blob: + The blob with which to interact. + :type blob: str or ~azure.storage.blob.BlobProperties + :param str snapshot: + The optional blob snapshot on which to operate. This can be the snapshot ID string + or the response returned from :func:`~BlobClient.create_snapshot()`. + :returns: A BlobClient. + :rtype: ~azure.storage.blob.aio.BlobClient + + .. admonition:: Example: + + .. literalinclude:: ../samples/blob_samples_containers_async.py + :start-after: [START get_blob_client] + :end-before: [END get_blob_client] + :language: python + :dedent: 12 + :caption: Get the blob client. + """ + blob_name = _get_blob_name(blob) + _pipeline = AsyncPipeline( + transport=AsyncTransportWrapper(self._pipeline._transport), # pylint: disable = protected-access + policies=self._pipeline._impl_policies # pylint: disable = protected-access + ) + return BlobClient( + self.url, container_name=self.container_name, blob_name=blob_name, snapshot=snapshot, + credential=self.credential, api_version=self.api_version, _configuration=self._config, + _pipeline=_pipeline, _location_mode=self._location_mode, _hosts=self._hosts, + require_encryption=self.require_encryption, key_encryption_key=self.key_encryption_key, + key_resolver_function=self.key_resolver_function, loop=self._loop) diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/aio/_download_async.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/aio/_download_async.py new file mode 100644 index 00000000000..44ba51d272d --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/aio/_download_async.py @@ -0,0 +1,502 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +# pylint: disable=invalid-overridden-method + +import asyncio +import sys +from io import BytesIO +from itertools import islice +import warnings + +from azure.core.exceptions import HttpResponseError +from .._shared.encryption import decrypt_blob +from .._shared.request_handlers import validate_and_format_range_headers +from .._shared.response_handlers import process_storage_error, parse_length_from_content_range +from .._deserialize import get_page_ranges_result +from .._download import process_range_and_offset, _ChunkDownloader + +async def process_content(data, start_offset, end_offset, encryption): + if data is None: + raise ValueError("Response cannot be None.") + try: + content = data.response.body() + except Exception as error: + raise HttpResponseError(message="Download stream interrupted.", response=data.response, error=error) + if encryption.get('key') is not None or encryption.get('resolver') is not None: + try: + return decrypt_blob( + encryption.get('required'), + encryption.get('key'), + encryption.get('resolver'), + content, + start_offset, + end_offset, + data.response.headers) + except Exception as error: + raise HttpResponseError( + message="Decryption failed.", + response=data.response, + error=error) + return content + + +class _AsyncChunkDownloader(_ChunkDownloader): + def __init__(self, **kwargs): + super(_AsyncChunkDownloader, self).__init__(**kwargs) + self.stream_lock = asyncio.Lock() if kwargs.get('parallel') else None + self.progress_lock = asyncio.Lock() if kwargs.get('parallel') else None + + async def process_chunk(self, chunk_start): + chunk_start, chunk_end = self._calculate_range(chunk_start) + chunk_data = await self._download_chunk(chunk_start, chunk_end - 1) + length = chunk_end - chunk_start + if length > 0: + await self._write_to_stream(chunk_data, chunk_start) + await self._update_progress(length) + + async def yield_chunk(self, chunk_start): + chunk_start, chunk_end = self._calculate_range(chunk_start) + return await self._download_chunk(chunk_start, chunk_end - 1) + + async def _update_progress(self, length): + if self.progress_lock: + async with self.progress_lock: # pylint: disable=not-async-context-manager + self.progress_total += length + else: + self.progress_total += length + + async def _write_to_stream(self, chunk_data, chunk_start): + if self.stream_lock: + async with self.stream_lock: # pylint: disable=not-async-context-manager + self.stream.seek(self.stream_start + (chunk_start - self.start_index)) + self.stream.write(chunk_data) + else: + self.stream.write(chunk_data) + + async def _download_chunk(self, chunk_start, chunk_end): + download_range, offset = process_range_and_offset( + chunk_start, chunk_end, chunk_end, self.encryption_options) + + # No need to download the empty chunk from server if there's no data in the chunk to be downloaded. + # Do optimize and create empty chunk locally if condition is met. + if self._do_optimize(download_range[0], download_range[1]): + chunk_data = b"\x00" * self.chunk_size + else: + range_header, range_validation = validate_and_format_range_headers( + download_range[0], + download_range[1], + check_content_md5=self.validate_content + ) + try: + _, response = await self.client.download( + range=range_header, + range_get_content_md5=range_validation, + validate_content=self.validate_content, + data_stream_total=self.total_size, + download_stream_current=self.progress_total, + **self.request_options + ) + except HttpResponseError as error: + process_storage_error(error) + + chunk_data = await process_content(response, offset[0], offset[1], self.encryption_options) + + # This makes sure that if_match is set so that we can validate + # that subsequent downloads are to an unmodified blob + if self.request_options.get('modified_access_conditions'): + self.request_options['modified_access_conditions'].if_match = response.properties.etag + + return chunk_data + + +class _AsyncChunkIterator(object): + """Async iterator for chunks in blob download stream.""" + + def __init__(self, size, content, downloader): + self.size = size + self._current_content = content + self._iter_downloader = downloader + self._iter_chunks = None + self._complete = (size == 0) + + def __len__(self): + return self.size + + def __iter__(self): + raise TypeError("Async stream must be iterated asynchronously.") + + def __aiter__(self): + return self + + async def __anext__(self): + """Iterate through responses.""" + if self._complete: + raise StopAsyncIteration("Download complete") + if not self._iter_downloader: + # If no iterator was supplied, the download completed with + # the initial GET, so we just return that data + self._complete = True + return self._current_content + + if not self._iter_chunks: + self._iter_chunks = self._iter_downloader.get_chunk_offsets() + else: + try: + chunk = next(self._iter_chunks) + except StopIteration: + raise StopAsyncIteration("Download complete") + self._current_content = await self._iter_downloader.yield_chunk(chunk) + + return self._current_content + + +class StorageStreamDownloader(object): # pylint: disable=too-many-instance-attributes + """A streaming object to download from Azure Storage. + + :ivar str name: + The name of the blob being downloaded. + :ivar str container: + The name of the container where the blob is. + :ivar ~azure.storage.blob.BlobProperties properties: + The properties of the blob being downloaded. If only a range of the data is being + downloaded, this will be reflected in the properties. + :ivar int size: + The size of the total data in the stream. This will be the byte range if speficied, + otherwise the total size of the blob. + """ + + def __init__( + self, + clients=None, + config=None, + start_range=None, + end_range=None, + validate_content=None, + encryption_options=None, + max_concurrency=1, + name=None, + container=None, + encoding=None, + **kwargs + ): + self.name = name + self.container = container + self.properties = None + self.size = None + + self._clients = clients + self._config = config + self._start_range = start_range + self._end_range = end_range + self._max_concurrency = max_concurrency + self._encoding = encoding + self._validate_content = validate_content + self._encryption_options = encryption_options or {} + self._request_options = kwargs + self._location_mode = None + self._download_complete = False + self._current_content = None + self._file_size = None + self._non_empty_ranges = None + self._response = None + + # The service only provides transactional MD5s for chunks under 4MB. + # If validate_content is on, get only self.MAX_CHUNK_GET_SIZE for the first + # chunk so a transactional MD5 can be retrieved. + self._first_get_size = self._config.max_single_get_size if not self._validate_content \ + else self._config.max_chunk_get_size + initial_request_start = self._start_range if self._start_range is not None else 0 + if self._end_range is not None and self._end_range - self._start_range < self._first_get_size: + initial_request_end = self._end_range + else: + initial_request_end = initial_request_start + self._first_get_size - 1 + + self._initial_range, self._initial_offset = process_range_and_offset( + initial_request_start, initial_request_end, self._end_range, self._encryption_options + ) + + def __len__(self): + return self.size + + async def _setup(self): + self._response = await self._initial_request() + self.properties = self._response.properties + self.properties.name = self.name + self.properties.container = self.container + + # Set the content length to the download size instead of the size of + # the last range + self.properties.size = self.size + + # Overwrite the content range to the user requested range + self.properties.content_range = 'bytes {0}-{1}/{2}'.format( + self._start_range, + self._end_range, + self._file_size + ) + + # Overwrite the content MD5 as it is the MD5 for the last range instead + # of the stored MD5 + # TODO: Set to the stored MD5 when the service returns this + self.properties.content_md5 = None + + if self.size == 0: + self._current_content = b"" + else: + self._current_content = await process_content( + self._response, + self._initial_offset[0], + self._initial_offset[1], + self._encryption_options + ) + + async def _initial_request(self): + range_header, range_validation = validate_and_format_range_headers( + self._initial_range[0], + self._initial_range[1], + start_range_required=False, + end_range_required=False, + check_content_md5=self._validate_content) + + try: + location_mode, response = await self._clients.blob.download( + range=range_header, + range_get_content_md5=range_validation, + validate_content=self._validate_content, + data_stream_total=None, + download_stream_current=0, + **self._request_options) + + # Check the location we read from to ensure we use the same one + # for subsequent requests. + self._location_mode = location_mode + + # Parse the total file size and adjust the download size if ranges + # were specified + self._file_size = parse_length_from_content_range(response.properties.content_range) + if self._end_range is not None: + # Use the length unless it is over the end of the file + self.size = min(self._file_size, self._end_range - self._start_range + 1) + elif self._start_range is not None: + self.size = self._file_size - self._start_range + else: + self.size = self._file_size + + except HttpResponseError as error: + if self._start_range is None and error.response.status_code == 416: + # Get range will fail on an empty file. If the user did not + # request a range, do a regular get request in order to get + # any properties. + try: + _, response = await self._clients.blob.download( + validate_content=self._validate_content, + data_stream_total=0, + download_stream_current=0, + **self._request_options) + except HttpResponseError as error: + process_storage_error(error) + + # Set the download size to empty + self.size = 0 + self._file_size = 0 + else: + process_storage_error(error) + + # get page ranges to optimize downloading sparse page blob + if response.properties.blob_type == 'PageBlob': + try: + page_ranges = await self._clients.page_blob.get_page_ranges() + self._non_empty_ranges = get_page_ranges_result(page_ranges)[0] + except HttpResponseError: + pass + + # If the file is small, the download is complete at this point. + # If file size is large, download the rest of the file in chunks. + if response.properties.size != self.size: + # Lock on the etag. This can be overriden by the user by specifying '*' + if self._request_options.get('modified_access_conditions'): + if not self._request_options['modified_access_conditions'].if_match: + self._request_options['modified_access_conditions'].if_match = response.properties.etag + else: + self._download_complete = True + return response + + def chunks(self): + """Iterate over chunks in the download stream. + + :rtype: Iterable[bytes] + """ + if self.size == 0 or self._download_complete: + iter_downloader = None + else: + data_end = self._file_size + if self._end_range is not None: + # Use the length unless it is over the end of the file + data_end = min(self._file_size, self._end_range + 1) + iter_downloader = _AsyncChunkDownloader( + client=self._clients.blob, + non_empty_ranges=self._non_empty_ranges, + total_size=self.size, + chunk_size=self._config.max_chunk_get_size, + current_progress=self._first_get_size, + start_range=self._initial_range[1] + 1, # Start where the first download ended + end_range=data_end, + stream=None, + parallel=False, + validate_content=self._validate_content, + encryption_options=self._encryption_options, + use_location=self._location_mode, + **self._request_options) + return _AsyncChunkIterator( + size=self.size, + content=self._current_content, + downloader=iter_downloader) + + async def readall(self): + """Download the contents of this blob. + + This operation is blocking until all data is downloaded. + :rtype: bytes or str + """ + stream = BytesIO() + await self.readinto(stream) + data = stream.getvalue() + if self._encoding: + return data.decode(self._encoding) + return data + + async def content_as_bytes(self, max_concurrency=1): + """Download the contents of this file. + + This operation is blocking until all data is downloaded. + + :keyword int max_concurrency: + The number of parallel connections with which to download. + :rtype: bytes + """ + warnings.warn( + "content_as_bytes is deprecated, use readall instead", + DeprecationWarning + ) + self._max_concurrency = max_concurrency + return await self.readall() + + async def content_as_text(self, max_concurrency=1, encoding="UTF-8"): + """Download the contents of this blob, and decode as text. + + This operation is blocking until all data is downloaded. + + :param int max_concurrency: + The number of parallel connections with which to download. + :param str encoding: + Test encoding to decode the downloaded bytes. Default is UTF-8. + :rtype: str + """ + warnings.warn( + "content_as_text is deprecated, use readall instead", + DeprecationWarning + ) + self._max_concurrency = max_concurrency + self._encoding = encoding + return await self.readall() + + async def readinto(self, stream): + """Download the contents of this blob to a stream. + + :param stream: + The stream to download to. This can be an open file-handle, + or any writable stream. The stream must be seekable if the download + uses more than one parallel connection. + :returns: The number of bytes read. + :rtype: int + """ + # the stream must be seekable if parallel download is required + parallel = self._max_concurrency > 1 + if parallel: + error_message = "Target stream handle must be seekable." + if sys.version_info >= (3,) and not stream.seekable(): + raise ValueError(error_message) + + try: + stream.seek(stream.tell()) + except (NotImplementedError, AttributeError): + raise ValueError(error_message) + + # Write the content to the user stream + stream.write(self._current_content) + if self._download_complete: + return self.size + + data_end = self._file_size + if self._end_range is not None: + # Use the length unless it is over the end of the file + data_end = min(self._file_size, self._end_range + 1) + + downloader = _AsyncChunkDownloader( + client=self._clients.blob, + non_empty_ranges=self._non_empty_ranges, + total_size=self.size, + chunk_size=self._config.max_chunk_get_size, + current_progress=self._first_get_size, + start_range=self._initial_range[1] + 1, # start where the first download ended + end_range=data_end, + stream=stream, + parallel=parallel, + validate_content=self._validate_content, + encryption_options=self._encryption_options, + use_location=self._location_mode, + **self._request_options) + + dl_tasks = downloader.get_chunk_offsets() + running_futures = [ + asyncio.ensure_future(downloader.process_chunk(d)) + for d in islice(dl_tasks, 0, self._max_concurrency) + ] + while running_futures: + # Wait for some download to finish before adding a new one + done, running_futures = await asyncio.wait( + running_futures, return_when=asyncio.FIRST_COMPLETED) + try: + for task in done: + task.result() + except HttpResponseError as error: + process_storage_error(error) + try: + next_chunk = next(dl_tasks) + except StopIteration: + break + else: + running_futures.add(asyncio.ensure_future(downloader.process_chunk(next_chunk))) + + if running_futures: + # Wait for the remaining downloads to finish + done, _running_futures = await asyncio.wait(running_futures) + try: + for task in done: + task.result() + except HttpResponseError as error: + process_storage_error(error) + return self.size + + async def download_to_stream(self, stream, max_concurrency=1): + """Download the contents of this blob to a stream. + + :param stream: + The stream to download to. This can be an open file-handle, + or any writable stream. The stream must be seekable if the download + uses more than one parallel connection. + :param int max_concurrency: + The number of parallel connections with which to download. + :returns: The properties of the downloaded blob. + :rtype: Any + """ + warnings.warn( + "download_to_stream is deprecated, use readinto instead", + DeprecationWarning + ) + self._max_concurrency = max_concurrency + await self.readinto(stream) + return self.properties diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/aio/_lease_async.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/aio/_lease_async.py new file mode 100644 index 00000000000..91bf93d0489 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/aio/_lease_async.py @@ -0,0 +1,327 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +# pylint: disable=invalid-overridden-method + +from typing import ( # pylint: disable=unused-import + Union, Optional, Any, IO, Iterable, AnyStr, Dict, List, Tuple, + TypeVar, TYPE_CHECKING +) + +from azure.core.tracing.decorator_async import distributed_trace_async + +from .._shared.response_handlers import return_response_headers, process_storage_error +from .._generated.models import ( + StorageErrorException, + LeaseAccessConditions) +from .._serialize import get_modify_conditions +from .._lease import BlobLeaseClient as LeaseClientBase + +if TYPE_CHECKING: + from datetime import datetime + from .._generated.operations import BlobOperations, ContainerOperations + BlobClient = TypeVar("BlobClient") + ContainerClient = TypeVar("ContainerClient") + + +class BlobLeaseClient(LeaseClientBase): + """Creates a new BlobLeaseClient. + + This client provides lease operations on a BlobClient or ContainerClient. + + :ivar str id: + The ID of the lease currently being maintained. This will be `None` if no + lease has yet been acquired. + :ivar str etag: + The ETag of the lease currently being maintained. This will be `None` if no + lease has yet been acquired or modified. + :ivar ~datetime.datetime last_modified: + The last modified timestamp of the lease currently being maintained. + This will be `None` if no lease has yet been acquired or modified. + + :param client: + The client of the blob or container to lease. + :type client: ~azure.storage.blob.aio.BlobClient or + ~azure.storage.blob.aio.ContainerClient + :param str lease_id: + A string representing the lease ID of an existing lease. This value does not + need to be specified in order to acquire a new lease, or break one. + """ + + def __enter__(self): + raise TypeError("Async lease must use 'async with'.") + + def __exit__(self, *args): + self.release() + + async def __aenter__(self): + return self + + async def __aexit__(self, *args): + await self.release() + + @distributed_trace_async + async def acquire(self, lease_duration=-1, **kwargs): + # type: (int, Any) -> None + """Requests a new lease. + + If the container does not have an active lease, the Blob service creates a + lease on the container and returns a new lease ID. + + :param int lease_duration: + Specifies the duration of the lease, in seconds, or negative one + (-1) for a lease that never expires. A non-infinite lease can be + between 15 and 60 seconds. A lease duration cannot be changed + using renew or change. Default is -1 (infinite lease). + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword int timeout: + The timeout parameter is expressed in seconds. + :rtype: None + """ + mod_conditions = get_modify_conditions(kwargs) + try: + response = await self._client.acquire_lease( + timeout=kwargs.pop('timeout', None), + duration=lease_duration, + proposed_lease_id=self.id, + modified_access_conditions=mod_conditions, + cls=return_response_headers, + **kwargs) + except StorageErrorException as error: + process_storage_error(error) + self.id = response.get('lease_id') # type: str + self.last_modified = response.get('last_modified') # type: datetime + self.etag = response.get('etag') # type: str + + @distributed_trace_async + async def renew(self, **kwargs): + # type: (Any) -> None + """Renews the lease. + + The lease can be renewed if the lease ID specified in the + lease client matches that associated with the container or blob. Note that + the lease may be renewed even if it has expired as long as the container + or blob has not been leased again since the expiration of that lease. When you + renew a lease, the lease duration clock resets. + + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: None + """ + mod_conditions = get_modify_conditions(kwargs) + try: + response = await self._client.renew_lease( + lease_id=self.id, + timeout=kwargs.pop('timeout', None), + modified_access_conditions=mod_conditions, + cls=return_response_headers, + **kwargs) + except StorageErrorException as error: + process_storage_error(error) + self.etag = response.get('etag') # type: str + self.id = response.get('lease_id') # type: str + self.last_modified = response.get('last_modified') # type: datetime + + @distributed_trace_async + async def release(self, **kwargs): + # type: (Any) -> None + """Release the lease. + + The lease may be released if the client lease id specified matches + that associated with the container or blob. Releasing the lease allows another client + to immediately acquire the lease for the container or blob as soon as the release is complete. + + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: None + """ + mod_conditions = get_modify_conditions(kwargs) + try: + response = await self._client.release_lease( + lease_id=self.id, + timeout=kwargs.pop('timeout', None), + modified_access_conditions=mod_conditions, + cls=return_response_headers, + **kwargs) + except StorageErrorException as error: + process_storage_error(error) + self.etag = response.get('etag') # type: str + self.id = response.get('lease_id') # type: str + self.last_modified = response.get('last_modified') # type: datetime + + @distributed_trace_async + async def change(self, proposed_lease_id, **kwargs): + # type: (str, Any) -> None + """Change the lease ID of an active lease. + + :param str proposed_lease_id: + Proposed lease ID, in a GUID string format. The Blob service returns 400 + (Invalid request) if the proposed lease ID is not in the correct format. + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str etag: + An ETag value, or the wildcard character (*). Used to check if the resource has changed, + and act according to the condition specified by the `match_condition` parameter. + :keyword ~azure.core.MatchConditions match_condition: + The match condition to use upon the etag. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: None + """ + mod_conditions = get_modify_conditions(kwargs) + try: + response = await self._client.change_lease( + lease_id=self.id, + proposed_lease_id=proposed_lease_id, + timeout=kwargs.pop('timeout', None), + modified_access_conditions=mod_conditions, + cls=return_response_headers, + **kwargs) + except StorageErrorException as error: + process_storage_error(error) + self.etag = response.get('etag') # type: str + self.id = response.get('lease_id') # type: str + self.last_modified = response.get('last_modified') # type: datetime + + @distributed_trace_async + async def break_lease(self, lease_break_period=None, **kwargs): + # type: (Optional[int], Any) -> int + """Break the lease, if the container or blob has an active lease. + + Once a lease is broken, it cannot be renewed. Any authorized request can break the lease; + the request is not required to specify a matching lease ID. When a lease + is broken, the lease break period is allowed to elapse, during which time + no lease operation except break and release can be performed on the container or blob. + When a lease is successfully broken, the response indicates the interval + in seconds until a new lease can be acquired. + + :param int lease_break_period: + This is the proposed duration of seconds that the lease + should continue before it is broken, between 0 and 60 seconds. This + break period is only used if it is shorter than the time remaining + on the lease. If longer, the time remaining on the lease is used. + A new lease will not be available before the break period has + expired, but the lease may be held for longer than the break + period. If this header does not appear with a break + operation, a fixed-duration lease breaks after the remaining lease + period elapses, and an infinite lease breaks immediately. + :keyword ~datetime.datetime if_modified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only + if the resource has been modified since the specified time. + :keyword ~datetime.datetime if_unmodified_since: + A DateTime value. Azure expects the date value passed in to be UTC. + If timezone is included, any non-UTC datetimes will be converted to UTC. + If a date is passed in without timezone info, it is assumed to be UTC. + Specify this header to perform the operation only if + the resource has not been modified since the specified date/time. + :keyword str if_tags_match_condition: + Specify a SQL where clause on blob tags to operate only on blob with a matching value. + eg. "\"tagname\"='my tag'" + + .. versionadded:: 12.4.0 + + :keyword int timeout: + The timeout parameter is expressed in seconds. + :return: Approximate time remaining in the lease period, in seconds. + :rtype: int + """ + mod_conditions = get_modify_conditions(kwargs) + try: + response = await self._client.break_lease( + timeout=kwargs.pop('timeout', None), + break_period=lease_break_period, + modified_access_conditions=mod_conditions, + cls=return_response_headers, + **kwargs) + except StorageErrorException as error: + process_storage_error(error) + return response.get('lease_time') # type: ignore diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/aio/_list_blobs_helper.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/aio/_list_blobs_helper.py new file mode 100644 index 00000000000..dc098465940 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/aio/_list_blobs_helper.py @@ -0,0 +1,162 @@ +# pylint: disable=too-many-lines +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- + +from azure.core.async_paging import AsyncPageIterator, AsyncItemPaged +from .._deserialize import get_blob_properties_from_generated_code +from .._models import BlobProperties +from .._generated.models import StorageErrorException, BlobItemInternal, BlobPrefix as GenBlobPrefix +from .._shared.models import DictMixin +from .._shared.response_handlers import return_context_and_deserialized, process_storage_error + + +class BlobPropertiesPaged(AsyncPageIterator): + """An Iterable of Blob properties. + + :ivar str service_endpoint: The service URL. + :ivar str prefix: A blob name prefix being used to filter the list. + :ivar str marker: The continuation token of the current page of results. + :ivar int results_per_page: The maximum number of results retrieved per API call. + :ivar str location_mode: The location mode being used to list results. The available + options include "primary" and "secondary". + :ivar current_page: The current page of listed results. + :vartype current_page: list(~azure.storage.blob.models.BlobProperties) + :ivar str container: The container that the blobs are listed from. + :ivar str delimiter: A delimiting character used for hierarchy listing. + + :param callable command: Function to retrieve the next page of items. + :param str container: The container that the blobs are listed from. + :param str prefix: Filters the results to return only blobs whose names + begin with the specified prefix. + :param int results_per_page: The maximum number of blobs to retrieve per + call. + :param str continuation_token: An opaque continuation token. + :param str delimiter: + Used to capture blobs whose names begin with the same substring up to + the appearance of the delimiter character. The delimiter may be a single + character or a string. + :param location_mode: Specifies the location the request should be sent to. + This mode only applies for RA-GRS accounts which allow secondary read access. + Options include 'primary' or 'secondary'. + """ + def __init__( + self, command, + container=None, + prefix=None, + results_per_page=None, + continuation_token=None, + delimiter=None, + location_mode=None): + super(BlobPropertiesPaged, self).__init__( + get_next=self._get_next_cb, + extract_data=self._extract_data_cb, + continuation_token=continuation_token or "" + ) + self._command = command + self.service_endpoint = None + self.prefix = prefix + self.marker = None + self.results_per_page = results_per_page + self.container = container + self.delimiter = delimiter + self.current_page = None + self.location_mode = location_mode + + async def _get_next_cb(self, continuation_token): + try: + return await self._command( + prefix=self.prefix, + marker=continuation_token or None, + maxresults=self.results_per_page, + cls=return_context_and_deserialized, + use_location=self.location_mode) + except StorageErrorException as error: + process_storage_error(error) + + async def _extract_data_cb(self, get_next_return): + self.location_mode, self._response = get_next_return + self.service_endpoint = self._response.service_endpoint + self.prefix = self._response.prefix + self.marker = self._response.marker + self.results_per_page = self._response.max_results + self.container = self._response.container_name + self.current_page = [self._build_item(item) for item in self._response.segment.blob_items] + + return self._response.next_marker or None, self.current_page + + def _build_item(self, item): + if isinstance(item, BlobProperties): + return item + if isinstance(item, BlobItemInternal): + blob = get_blob_properties_from_generated_code(item) # pylint: disable=protected-access + blob.container = self.container + return blob + return item + + +class BlobPrefix(AsyncItemPaged, DictMixin): + """An Iterable of Blob properties. + + Returned from walk_blobs when a delimiter is used. + Can be thought of as a virtual blob directory. + + :ivar str name: The prefix, or "directory name" of the blob. + :ivar str prefix: A blob name prefix being used to filter the list. + :ivar int results_per_page: The maximum number of results retrieved per API call. + :ivar str marker: The continuation token of the current page of results. + :ivar str location_mode: The location mode being used to list results. The available + options include "primary" and "secondary". + :ivar current_page: The current page of listed results. + :vartype current_page: list(~azure.storage.blob.models.BlobProperties) + :ivar str container: The container that the blobs are listed from. + :ivar str delimiter: A delimiting character used for hierarchy listing. + :param callable command: Function to retrieve the next page of items. + :param str prefix: Filters the results to return only blobs whose names + begin with the specified prefix. + :param int results_per_page: The maximum number of blobs to retrieve per + call. + :param str marker: An opaque continuation token. + :param str delimiter: + Used to capture blobs whose names begin with the same substring up to + the appearance of the delimiter character. The delimiter may be a single + character or a string. + :param location_mode: Specifies the location the request should be sent to. + This mode only applies for RA-GRS accounts which allow secondary read access. + Options include 'primary' or 'secondary'. + """ + def __init__(self, *args, **kwargs): + super(BlobPrefix, self).__init__(*args, page_iterator_class=BlobPrefixPaged, **kwargs) + self.name = kwargs.get('prefix') + self.prefix = kwargs.get('prefix') + self.results_per_page = kwargs.get('results_per_page') + self.container = kwargs.get('container') + self.delimiter = kwargs.get('delimiter') + self.location_mode = kwargs.get('location_mode') + + +class BlobPrefixPaged(BlobPropertiesPaged): + def __init__(self, *args, **kwargs): + super(BlobPrefixPaged, self).__init__(*args, **kwargs) + self.name = self.prefix + + async def _extract_data_cb(self, get_next_return): + continuation_token, _ = await super(BlobPrefixPaged, self)._extract_data_cb(get_next_return) + self.current_page = self._response.segment.blob_prefixes + self._response.segment.blob_items + self.current_page = [self._build_item(item) for item in self.current_page] + self.delimiter = self._response.delimiter + + return continuation_token, self.current_page + + def _build_item(self, item): + item = super(BlobPrefixPaged, self)._build_item(item) + if isinstance(item, GenBlobPrefix): + return BlobPrefix( + self._command, + container=self.container, + prefix=item.name, + results_per_page=self.results_per_page, + location_mode=self.location_mode) + return item diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/aio/_models.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/aio/_models.py new file mode 100644 index 00000000000..44d5d6314a2 --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/aio/_models.py @@ -0,0 +1,141 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +# pylint: disable=too-few-public-methods, too-many-instance-attributes +# pylint: disable=super-init-not-called, too-many-lines + +from azure.core.async_paging import AsyncPageIterator + +from .._models import ContainerProperties, FilteredBlob +from .._shared.response_handlers import return_context_and_deserialized, process_storage_error + +from .._generated.models import StorageErrorException +from .._generated.models import FilterBlobItem + + +class ContainerPropertiesPaged(AsyncPageIterator): + """An Iterable of Container properties. + + :ivar str service_endpoint: The service URL. + :ivar str prefix: A container name prefix being used to filter the list. + :ivar str marker: The continuation token of the current page of results. + :ivar int results_per_page: The maximum number of results retrieved per API call. + :ivar str location_mode: The location mode being used to list results. The available + options include "primary" and "secondary". + :ivar current_page: The current page of listed results. + :vartype current_page: list(~azure.storage.blob.models.ContainerProperties) + + :param callable command: Function to retrieve the next page of items. + :param str prefix: Filters the results to return only containers whose names + begin with the specified prefix. + :param int results_per_page: The maximum number of container names to retrieve per + call. + :param str continuation_token: An opaque continuation token. + """ + def __init__(self, command, prefix=None, results_per_page=None, continuation_token=None): + super(ContainerPropertiesPaged, self).__init__( + get_next=self._get_next_cb, + extract_data=self._extract_data_cb, + continuation_token=continuation_token or "" + ) + self._command = command + self.service_endpoint = None + self.prefix = prefix + self.marker = None + self.results_per_page = results_per_page + self.location_mode = None + self.current_page = [] + + async def _get_next_cb(self, continuation_token): + try: + return await self._command( + marker=continuation_token or None, + maxresults=self.results_per_page, + cls=return_context_and_deserialized, + use_location=self.location_mode) + except StorageErrorException as error: + process_storage_error(error) + + async def _extract_data_cb(self, get_next_return): + self.location_mode, self._response = get_next_return + self.service_endpoint = self._response.service_endpoint + self.prefix = self._response.prefix + self.marker = self._response.marker + self.results_per_page = self._response.max_results + self.current_page = [self._build_item(item) for item in self._response.container_items] + + return self._response.next_marker or None, self.current_page + + @staticmethod + def _build_item(item): + return ContainerProperties._from_generated(item) # pylint: disable=protected-access + + +class FilteredBlobPaged(AsyncPageIterator): + """An Iterable of Blob properties. + + :ivar str service_endpoint: The service URL. + :ivar str prefix: A blob name prefix being used to filter the list. + :ivar str marker: The continuation token of the current page of results. + :ivar int results_per_page: The maximum number of results retrieved per API call. + :ivar str continuation_token: The continuation token to retrieve the next page of results. + :ivar str location_mode: The location mode being used to list results. The available + options include "primary" and "secondary". + :ivar current_page: The current page of listed results. + :vartype current_page: list(~azure.storage.blob.BlobProperties) + :ivar str container: The container that the blobs are listed from. + + :param callable command: Function to retrieve the next page of items. + :param str container: The name of the container. + :param int results_per_page: The maximum number of blobs to retrieve per + call. + :param str continuation_token: An opaque continuation token. + :param location_mode: Specifies the location the request should be sent to. + This mode only applies for RA-GRS accounts which allow secondary read access. + Options include 'primary' or 'secondary'. + """ + def __init__( + self, command, + container=None, + results_per_page=None, + continuation_token=None, + location_mode=None): + super(FilteredBlobPaged, self).__init__( + get_next=self._get_next_cb, + extract_data=self._extract_data_cb, + continuation_token=continuation_token or "" + ) + self._command = command + self.service_endpoint = None + self.marker = continuation_token + self.results_per_page = results_per_page + self.container = container + self.current_page = None + self.location_mode = location_mode + + async def _get_next_cb(self, continuation_token): + try: + return await self._command( + marker=continuation_token or None, + maxresults=self.results_per_page, + cls=return_context_and_deserialized, + use_location=self.location_mode) + except StorageErrorException as error: + process_storage_error(error) + + async def _extract_data_cb(self, get_next_return): + self.location_mode, self._response = get_next_return + self.service_endpoint = self._response.service_endpoint + self.marker = self._response.next_marker + self.current_page = [self._build_item(item) for item in self._response.blobs] + + return self._response.next_marker or None, self.current_page + + @staticmethod + def _build_item(item): + if isinstance(item, FilterBlobItem): + blob = FilteredBlob(name=item.name, container_name=item.container_name, tag_value=item.tag_value) # pylint: disable=protected-access + return blob + return item diff --git a/src/storage-preview/azext_storage_preview/vendored_sdks/blob/aio/_upload_helpers.py b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/aio/_upload_helpers.py new file mode 100644 index 00000000000..dcefb7d357a --- /dev/null +++ b/src/storage-preview/azext_storage_preview/vendored_sdks/blob/aio/_upload_helpers.py @@ -0,0 +1,271 @@ +# ------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# -------------------------------------------------------------------------- +# pylint: disable=no-self-use + +from io import SEEK_SET, UnsupportedOperation +from typing import Optional, Union, Any, TypeVar, TYPE_CHECKING # pylint: disable=unused-import + +import six +from azure.core.exceptions import ResourceModifiedError + +from .._shared.response_handlers import ( + process_storage_error, + return_response_headers) +from .._shared.uploads_async import ( + upload_data_chunks, + upload_substream_blocks, + BlockBlobChunkUploader, + PageBlobChunkUploader, + AppendBlobChunkUploader) +from .._shared.encryption import generate_blob_encryption_data, encrypt_blob +from .._generated.models import ( + StorageErrorException, + BlockLookupList, + AppendPositionAccessConditions, + ModifiedAccessConditions, +) +from .._upload_helpers import _convert_mod_error, _any_conditions + +if TYPE_CHECKING: + from datetime import datetime # pylint: disable=unused-import + BlobLeaseClient = TypeVar("BlobLeaseClient") + + +async def upload_block_blob( # pylint: disable=too-many-locals + client=None, + data=None, + stream=None, + length=None, + overwrite=None, + headers=None, + validate_content=None, + max_concurrency=None, + blob_settings=None, + encryption_options=None, + **kwargs): + try: + if not overwrite and not _any_conditions(**kwargs): + kwargs['modified_access_conditions'].if_none_match = '*' + adjusted_count = length + if (encryption_options.get('key') is not None) and (adjusted_count is not None): + adjusted_count += (16 - (length % 16)) + blob_headers = kwargs.pop('blob_headers', None) + tier = kwargs.pop('standard_blob_tier', None) + blob_tags_string = kwargs.pop('blob_tags_string', None) + + # Do single put if the size is smaller than config.max_single_put_size + if adjusted_count is not None and (adjusted_count <= blob_settings.max_single_put_size): + try: + data = data.read(length) + if not isinstance(data, six.binary_type): + raise TypeError('Blob data should be of type bytes.') + except AttributeError: + pass + if encryption_options.get('key'): + encryption_data, data = encrypt_blob(data, encryption_options['key']) + headers['x-ms-meta-encryptiondata'] = encryption_data + return await client.upload( + data, + content_length=adjusted_count, + blob_http_headers=blob_headers, + headers=headers, + cls=return_response_headers, + validate_content=validate_content, + data_stream_total=adjusted_count, + upload_stream_current=0, + tier=tier.value if tier else None, + blob_tags_string=blob_tags_string, + **kwargs) + + use_original_upload_path = blob_settings.use_byte_buffer or \ + validate_content or encryption_options.get('required') or \ + blob_settings.max_block_size < blob_settings.min_large_block_upload_threshold or \ + hasattr(stream, 'seekable') and not stream.seekable() or \ + not hasattr(stream, 'seek') or not hasattr(stream, 'tell') + + if use_original_upload_path: + if encryption_options.get('key'): + cek, iv, encryption_data = generate_blob_encryption_data(encryption_options['key']) + headers['x-ms-meta-encryptiondata'] = encryption_data + encryption_options['cek'] = cek + encryption_options['vector'] = iv + block_ids = await upload_data_chunks( + service=client, + uploader_class=BlockBlobChunkUploader, + total_size=length, + chunk_size=blob_settings.max_block_size, + max_concurrency=max_concurrency, + stream=stream, + validate_content=validate_content, + encryption_options=encryption_options, + headers=headers, + **kwargs + ) + else: + block_ids = await upload_substream_blocks( + service=client, + uploader_class=BlockBlobChunkUploader, + total_size=length, + chunk_size=blob_settings.max_block_size, + max_concurrency=max_concurrency, + stream=stream, + validate_content=validate_content, + headers=headers, + **kwargs + ) + + block_lookup = BlockLookupList(committed=[], uncommitted=[], latest=[]) + block_lookup.latest = block_ids + return await client.commit_block_list( + block_lookup, + blob_http_headers=blob_headers, + cls=return_response_headers, + validate_content=validate_content, + headers=headers, + tier=tier.value if tier else None, + blob_tags_string=blob_tags_string, + **kwargs) + except StorageErrorException as error: + try: + process_storage_error(error) + except ResourceModifiedError as mod_error: + if not overwrite: + _convert_mod_error(mod_error) + raise + + +async def upload_page_blob( + client=None, + stream=None, + length=None, + overwrite=None, + headers=None, + validate_content=None, + max_concurrency=None, + blob_settings=None, + encryption_options=None, + **kwargs): + try: + if not overwrite and not _any_conditions(**kwargs): + kwargs['modified_access_conditions'].if_none_match = '*' + if length is None or length < 0: + raise ValueError("A content length must be specified for a Page Blob.") + if length % 512 != 0: + raise ValueError("Invalid page blob size: {0}. " + "The size must be aligned to a 512-byte boundary.".format(length)) + if kwargs.get('premium_page_blob_tier'): + premium_page_blob_tier = kwargs.pop('premium_page_blob_tier') + try: + headers['x-ms-access-tier'] = premium_page_blob_tier.value + except AttributeError: + headers['x-ms-access-tier'] = premium_page_blob_tier + if encryption_options and encryption_options.get('data'): + headers['x-ms-meta-encryptiondata'] = encryption_options['data'] + blob_tags_string = kwargs.pop('blob_tags_string', None) + + response = await client.create( + content_length=0, + blob_content_length=length, + blob_sequence_number=None, + blob_http_headers=kwargs.pop('blob_headers', None), + blob_tags_string=blob_tags_string, + cls=return_response_headers, + headers=headers, + **kwargs) + if length == 0: + return response + + kwargs['modified_access_conditions'] = ModifiedAccessConditions(if_match=response['etag']) + return await upload_data_chunks( + service=client, + uploader_class=PageBlobChunkUploader, + total_size=length, + chunk_size=blob_settings.max_page_size, + stream=stream, + max_concurrency=max_concurrency, + validate_content=validate_content, + encryption_options=encryption_options, + headers=headers, + **kwargs) + + except StorageErrorException as error: + try: + process_storage_error(error) + except ResourceModifiedError as mod_error: + if not overwrite: + _convert_mod_error(mod_error) + raise + + +async def upload_append_blob( # pylint: disable=unused-argument + client=None, + stream=None, + length=None, + overwrite=None, + headers=None, + validate_content=None, + max_concurrency=None, + blob_settings=None, + encryption_options=None, + **kwargs): + try: + if length == 0: + return {} + blob_headers = kwargs.pop('blob_headers', None) + append_conditions = AppendPositionAccessConditions( + max_size=kwargs.pop('maxsize_condition', None), + append_position=None) + blob_tags_string = kwargs.pop('blob_tags_string', None) + + try: + if overwrite: + await client.create( + content_length=0, + blob_http_headers=blob_headers, + headers=headers, + blob_tags_string=blob_tags_string, + **kwargs) + return await upload_data_chunks( + service=client, + uploader_class=AppendBlobChunkUploader, + total_size=length, + chunk_size=blob_settings.max_block_size, + stream=stream, + max_concurrency=max_concurrency, + validate_content=validate_content, + append_position_access_conditions=append_conditions, + headers=headers, + **kwargs) + except StorageErrorException as error: + if error.response.status_code != 404: + raise + # rewind the request body if it is a stream + if hasattr(stream, 'read'): + try: + # attempt to rewind the body to the initial position + stream.seek(0, SEEK_SET) + except UnsupportedOperation: + # if body is not seekable, then retry would not work + raise error + await client.create( + content_length=0, + blob_http_headers=blob_headers, + headers=headers, + blob_tags_string=blob_tags_string, + **kwargs) + return await upload_data_chunks( + service=client, + uploader_class=AppendBlobChunkUploader, + total_size=length, + chunk_size=blob_settings.max_block_size, + stream=stream, + max_concurrency=max_concurrency, + validate_content=validate_content, + append_position_access_conditions=append_conditions, + headers=headers, + **kwargs) + except StorageErrorException as error: + process_storage_error(error) diff --git a/src/storage-preview/setup.py b/src/storage-preview/setup.py index 2da68a6fac7..264d07437d8 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.7.2" +VERSION = "0.7.3" CLASSIFIERS = [ 'Development Status :: 4 - Beta', @@ -24,7 +24,7 @@ 'License :: OSI Approved :: MIT License', ] -DEPENDENCIES = [] +DEPENDENCIES = ['azure-core'] setup( name='storage-preview', From 436a0cde0c2c9ae17bf58ccaeee30ab8194dec3f Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Mon, 31 May 2021 10:23:08 +0800 Subject: [PATCH 68/83] [Release] Update index.json for extension [ storage-preview ] (#3446) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=919948 Last commit: https://github.com/Azure/azure-cli-extensions/commit/9d1678e91e3e9a09837e7fe9ccf47204a29c53e7 --- src/index.json | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/src/index.json b/src/index.json index 8ad824e20c0..40570525b5d 100644 --- a/src/index.json +++ b/src/index.json @@ -17361,6 +17361,59 @@ "version": "0.7.2" }, "sha256Digest": "768aecf13a62b06fd26b9d15078da74c38541a2793208b8c434afc55b39c2c64" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/storage_preview-0.7.3-py2.py3-none-any.whl", + "filename": "storage_preview-0.7.3-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.21.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" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/storage-preview" + } + } + }, + "extras": [], + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "storage-preview", + "run_requires": [ + { + "requires": [ + "azure-core" + ] + } + ], + "summary": "Provides a preview for upcoming storage features.", + "version": "0.7.3" + }, + "sha256Digest": "ec0e700f8ba51eca45198d5907d056780946e0b5ffa593d264598679e949dcb1" } ], "storagesync": [ From 5ed250ace48c2516c70686da9102eee9073ae5d0 Mon Sep 17 00:00:00 2001 From: kai ru <69238381+kairu-ms@users.noreply.github.com> Date: Mon, 31 May 2021 16:13:17 +0800 Subject: [PATCH 69/83] [Scheduled-Query] update api version (#3399) * Update venderSDK * support new parameters * support new parameters * fix linter issue * Update HISTORY.rst * use auto-mitigate instead of disable-auto-mitigate * update tests * update tests * update tests --- src/scheduled-query/HISTORY.rst | 3 + .../azext_scheduled_query/_client_factory.py | 4 +- .../azext_scheduled_query/_params.py | 6 +- .../azext_scheduled_query/custom.py | 26 +- .../recordings/test_scheduled_query.yaml | 1341 ++++------------- .../latest/test_scheduled_query_scenario.py | 26 +- .../azure_mgmt_scheduled_query/__init__.py | 21 +- .../_configuration.py | 80 +- .../_monitor_client.py | 49 - .../_monitor_management_client.py | 88 ++ .../models/__init__.py | 66 +- .../models/_models.py | 647 ++++---- .../models/_models_py3.py | 706 +++++---- .../models/_monitor_client_enums.py | 36 - .../_monitor_management_client_enums.py | 81 + .../models/_paged_models.py | 27 - .../operations/__init__.py | 7 +- .../_scheduled_query_rules_operations.py | 538 +++---- .../azure_mgmt_scheduled_query/version.py | 13 - 19 files changed, 1687 insertions(+), 2078 deletions(-) delete mode 100644 src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/_monitor_client.py create mode 100644 src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/_monitor_management_client.py delete mode 100644 src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/models/_monitor_client_enums.py create mode 100644 src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/models/_monitor_management_client_enums.py delete mode 100644 src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/models/_paged_models.py delete mode 100644 src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/version.py diff --git a/src/scheduled-query/HISTORY.rst b/src/scheduled-query/HISTORY.rst index a6fbcfb0a83..57fc16e0718 100644 --- a/src/scheduled-query/HISTORY.rst +++ b/src/scheduled-query/HISTORY.rst @@ -6,6 +6,9 @@ Release History ++++++ * Support query placeholder for `--condition` parameter. * Add `--condition-query` parameter to support query placeholder. +* Add `--skip-query-validation` parameter +* Add `--check-ws-alerts-storage` parameter +* [Breaking Change] the default value of `--mute-actions-duration` is changed to None, as alert `--auto-mitigate` is supported 0.2.2 ++++++ diff --git a/src/scheduled-query/azext_scheduled_query/_client_factory.py b/src/scheduled-query/azext_scheduled_query/_client_factory.py index 736646ac843..9063ba9edc9 100644 --- a/src/scheduled-query/azext_scheduled_query/_client_factory.py +++ b/src/scheduled-query/azext_scheduled_query/_client_factory.py @@ -6,5 +6,5 @@ def cf_scheduled_query(cli_ctx, *_): from azure.cli.core.commands.client_factory import get_mgmt_service_client - from .vendored_sdks.azure_mgmt_scheduled_query._monitor_client import MonitorClient - return get_mgmt_service_client(cli_ctx, MonitorClient).scheduled_query_rules + from .vendored_sdks.azure_mgmt_scheduled_query._monitor_management_client import MonitorManagementClient + return get_mgmt_service_client(cli_ctx, MonitorManagementClient).scheduled_query_rules diff --git a/src/scheduled-query/azext_scheduled_query/_params.py b/src/scheduled-query/azext_scheduled_query/_params.py index 6ac9b1c3d79..3d091a1ff3b 100644 --- a/src/scheduled-query/azext_scheduled_query/_params.py +++ b/src/scheduled-query/azext_scheduled_query/_params.py @@ -4,7 +4,7 @@ # -------------------------------------------------------------------------------------------- # pylint: disable=line-too-long -from azure.cli.core.commands.parameters import tags_type, get_three_state_flag +from azure.cli.core.commands.parameters import tags_type, get_three_state_flag, get_enum_type from azure.cli.command_modules.monitor.actions import get_period_type from azure.cli.command_modules.monitor.validators import get_action_group_validator from knack.arguments import CLIArgumentType @@ -23,6 +23,7 @@ def load_arguments(self, _): c.argument('severity', type=int, help='Severity of the alert from 0 (critical) to 4 (verbose).') c.argument('window_size', type=get_period_type(), help='Time over which to aggregate metrics in "##h##m##s" format.') c.argument('evaluation_frequency', type=get_period_type(), help='Frequency with which to evaluate the rule in "##h##m##s" format.') + c.argument('display_name', help='The display name of the alert rule') c.argument('condition', options_list=['--condition'], action=ScheduleQueryConditionAction, nargs='+') c.argument('condition_query', options_list=['--condition-query'], nargs='+', action=ScheduleQueryConditionQueryAction, help='Query deteils to replace the placeholders in `--condition` argument.') c.argument('description', help='Free-text description of the rule.') @@ -36,3 +37,6 @@ def load_arguments(self, _): options_list=['--mute-actions-duration', '--mad'], help='Mute actions for the chosen period of time (in ISO 8601 duration format) after the alert is fired.') c.argument('actions', options_list=['--action', '-a'], action=ScheduleQueryAddAction, nargs='+', validator=get_action_group_validator('actions')) + c.argument('auto_mitigate', arg_type=get_three_state_flag(), help='The flag that indicates whether the alert should be automatically resolved or not. The default is true.') + c.argument('skip_query_validation', arg_type=get_three_state_flag(), help='The flag which indicates whether the provided query should be validated or not.') + c.argument('check_workspace_alerts_storage', options_list=['--check-ws-alerts-storage', '--cwas'], arg_type=get_three_state_flag(), help="The flag which indicates whether this scheduled query rule should be stored in the customer's storage.") diff --git a/src/scheduled-query/azext_scheduled_query/custom.py b/src/scheduled-query/azext_scheduled_query/custom.py index 105eaaa40a1..6957d12401e 100644 --- a/src/scheduled-query/azext_scheduled_query/custom.py +++ b/src/scheduled-query/azext_scheduled_query/custom.py @@ -26,12 +26,14 @@ def _build_criteria(condition, condition_query): def create_scheduled_query(client, resource_group_name, rule_name, scopes, condition, condition_query=None, - disabled=False, description=None, tags=None, location=None, + disabled=False, description=None, tags=None, location=None, display_name=None, + auto_mitigate=True, skip_query_validation=False, check_workspace_alerts_storage=False, actions=None, severity=2, window_size='5m', evaluation_frequency='5m', - target_resource_type=None, mute_actions_duration='PT30M'): + target_resource_type=None, mute_actions_duration=None): from .vendored_sdks.azure_mgmt_scheduled_query.models import ScheduledQueryRuleResource criteria = _build_criteria(condition, condition_query) kwargs = { + 'display_name': display_name, 'description': description, 'severity': severity, 'enabled': not disabled, @@ -43,7 +45,10 @@ def create_scheduled_query(client, resource_group_name, rule_name, scopes, condi 'actions': actions, 'tags': tags, 'location': location, - 'mute_actions_duration': mute_actions_duration + 'mute_actions_duration': mute_actions_duration, + 'check_workspace_alerts_storage_configured': check_workspace_alerts_storage, + 'skip_query_validation': skip_query_validation, + 'auto_mitigate': auto_mitigate, } return client.create_or_update(resource_group_name, rule_name, ScheduledQueryRuleResource(**kwargs)) @@ -54,12 +59,19 @@ def list_scheduled_query(client, resource_group_name=None): return client.list_by_subscription() -def update_scheduled_query(cmd, instance, tags=None, disabled=False, condition=None, condition_query=None, - description=None, actions=None, severity=None, window_size=None, - evaluation_frequency=None, mute_actions_duration=None): +def update_scheduled_query(cmd, instance, tags=None, disabled=None, condition=None, condition_query=None, + description=None, actions=None, severity=None, window_size=None, display_name=None, + auto_mitigate=None, evaluation_frequency=None, mute_actions_duration=None, + skip_query_validation=None, check_workspace_alerts_storage=None): with cmd.update_context(instance) as c: c.set_param('tags', tags) - c.set_param('enabled', not disabled) + c.set_param('display_name', display_name) + if disabled is not None: + c.set_param('enabled', not disabled) + if auto_mitigate is not None: + c.set_param('auto_mitigate', auto_mitigate) + c.set_param('skip_query_validation', skip_query_validation) + c.set_param('check_workspace_alerts_storage_configured', check_workspace_alerts_storage) c.set_param('description', description) c.set_param('actions', actions) c.set_param('severity', severity) diff --git a/src/scheduled-query/azext_scheduled_query/tests/latest/recordings/test_scheduled_query.yaml b/src/scheduled-query/azext_scheduled_query/tests/latest/recordings/test_scheduled_query.yaml index be1245d07f1..0aeea247cd8 100644 --- a/src/scheduled-query/azext_scheduled_query/tests/latest/recordings/test_scheduled_query.yaml +++ b/src/scheduled-query/azext_scheduled_query/tests/latest/recordings/test_scheduled_query.yaml @@ -11,17 +11,14 @@ interactions: Connection: - keep-alive ParameterSetName: - - -n -g --image --nsg-rule --workspace --generate-ssh-keys + - -n -g --image --admin-username --generate-ssh-keys User-Agent: - - python/3.8.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.1.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001","name":"cli_test_scheduled_query000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"product":"azurecli","cause":"automation","date":"2021-05-11T08:22:37Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001","name":"cli_test_scheduled_query000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"product":"azurecli","cause":"automation","date":"2021-05-31T07:15:05Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -30,7 +27,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 11 May 2021 08:22:52 GMT + - Mon, 31 May 2021 07:15:21 GMT expires: - '-1' pragma: @@ -54,7 +51,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.22.0 + - python-requests/2.25.1 method: GET uri: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/arm-compute/quickstart-templates/aliases.json response: @@ -109,13 +106,13 @@ interactions: content-type: - text/plain; charset=utf-8 date: - - Tue, 11 May 2021 08:22:54 GMT + - Mon, 31 May 2021 07:15:21 GMT etag: - W/"540044b4084c3c314537f1baa1770f248628b2bc9ba0328f1004c33862e049da" expires: - - Tue, 11 May 2021 08:27:54 GMT + - Mon, 31 May 2021 07:20:21 GMT source-age: - - '238' + - '78' strict-transport-security: - max-age=31536000 vary: @@ -129,15 +126,15 @@ interactions: x-content-type-options: - nosniff x-fastly-request-id: - - 8a9546ec894cdb2b259b3f6562c06f0b7542e75e + - 3988df4b57a6a19c38be4d70d0f19d636f1dddad x-frame-options: - deny x-github-request-id: - - B36A:7C88:62E02:9064D:6099A780 + - 364C:7761:41B2CB:4E68E1:60B4418E x-served-by: - - cache-qpg1235-QPG + - cache-qpg1254-QPG x-timer: - - S1620721374.047238,VS0,VE1 + - S1622445322.722691,VS0,VE1 x-xss-protection: - 1; mode=block status: @@ -155,9 +152,9 @@ interactions: Connection: - keep-alive ParameterSetName: - - -n -g --image --nsg-rule --workspace --generate-ssh-keys + - -n -g --image --admin-username --generate-ssh-keys User-Agent: - - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.8 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/virtualNetworks?api-version=2018-01-01 response: @@ -171,7 +168,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 11 May 2021 08:22:54 GMT + - Mon, 31 May 2021 07:15:21 GMT expires: - '-1' pragma: @@ -186,765 +183,39 @@ interactions: code: 200 message: OK - request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - vm create - Connection: - - keep-alive - ParameterSetName: - - -n -g --image --nsg-rule --workspace --generate-ssh-keys - User-Agent: - - AZURECLI/2.23.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.8.8 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002?api-version=2020-08-01 - response: - body: - string: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.OperationalInsights/workspaces/clitest000002'' - under resource group ''cli_test_scheduled_query000001'' was not found. For - more details please go to https://aka.ms/ARMResourceNotFoundFix"}}' - headers: - cache-control: - - no-cache - content-length: - - '308' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 11 May 2021 08:22:55 GMT - expires: - - '-1' - pragma: - - no-cache - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-failure-cause: - - gateway - status: - code: 404 - message: Not Found -- request: - body: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - vm create - Connection: - - keep-alive - ParameterSetName: - - -n -g --image --nsg-rule --workspace --generate-ssh-keys - User-Agent: - - python/3.8.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.1.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001?api-version=2020-10-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001","name":"cli_test_scheduled_query000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"product":"azurecli","cause":"automation","date":"2021-05-11T08:22:37Z"},"properties":{"provisioningState":"Succeeded"}}' - headers: - cache-control: - - no-cache - content-length: - - '428' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 11 May 2021 08:22:56 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: '{"location": "eastus", "properties": {"sku": {"name": "PerGB2018"}, "retentionInDays": - 30, "publicNetworkAccessForIngestion": "Enabled", "publicNetworkAccessForQuery": - "Enabled"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - vm create - Connection: - - keep-alive - Content-Length: - - '179' - Content-Type: - - application/json - ParameterSetName: - - -n -g --image --nsg-rule --workspace --generate-ssh-keys - User-Agent: - - AZURECLI/2.23.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.8.8 (Windows-10-10.0.19041-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002?api-version=2020-08-01 - response: - body: - string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": - \"a3b4d136-26e9-4259-97fa-8c62b94586ee\",\r\n \"provisioningState\": \"Creating\",\r\n - \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"lastSkuUpdate\": - \"Tue, 11 May 2021 08:23:05 GMT\"\r\n },\r\n \"retentionInDays\": 30,\r\n - \ \"features\": {\r\n \"legacy\": 0,\r\n \"searchVersion\": 1,\r\n - \ \"enableLogAccessUsingOnlyResourcePermissions\": true\r\n },\r\n - \ \"workspaceCapping\": {\r\n \"dailyQuotaGb\": -1.0,\r\n \"quotaNextResetTime\": - \"Wed, 12 May 2021 04:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n - \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": - \"Enabled\",\r\n \"createdDate\": \"Tue, 11 May 2021 08:23:05 GMT\",\r\n - \ \"modifiedDate\": \"Tue, 11 May 2021 08:23:05 GMT\"\r\n },\r\n \"id\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/microsoft.operationalinsights/workspaces/clitest000002\",\r\n - \ \"name\": \"clitest000002\",\r\n \"type\": \"Microsoft.OperationalInsights/workspaces\",\r\n - \ \"location\": \"eastus\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '1133' - content-type: - - application/json - date: - - Tue, 11 May 2021 08:23:06 GMT - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - x-content-type-options: - - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1199' - x-powered-by: - - ASP.NET - - ASP.NET - status: - code: 201 - message: Created -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - CommandName: - - vm create - Connection: - - keep-alive - ParameterSetName: - - -n -g --image --nsg-rule --workspace --generate-ssh-keys - User-Agent: - - AZURECLI/2.23.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.8.8 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002?api-version=2020-08-01 - response: - body: - string: "{\r\n \"properties\": {\r\n \"source\": \"Azure\",\r\n \"customerId\": - \"a3b4d136-26e9-4259-97fa-8c62b94586ee\",\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"sku\": {\r\n \"name\": \"pergb2018\",\r\n \"lastSkuUpdate\": - \"Tue, 11 May 2021 08:23:05 GMT\"\r\n },\r\n \"retentionInDays\": 30,\r\n - \ \"features\": {\r\n \"legacy\": 0,\r\n \"searchVersion\": 1,\r\n - \ \"enableLogAccessUsingOnlyResourcePermissions\": true\r\n },\r\n - \ \"workspaceCapping\": {\r\n \"dailyQuotaGb\": -1.0,\r\n \"quotaNextResetTime\": - \"Wed, 12 May 2021 04:00:00 GMT\",\r\n \"dataIngestionStatus\": \"RespectQuota\"\r\n - \ },\r\n \"publicNetworkAccessForIngestion\": \"Enabled\",\r\n \"publicNetworkAccessForQuery\": - \"Enabled\",\r\n \"createdDate\": \"Tue, 11 May 2021 08:23:05 GMT\",\r\n - \ \"modifiedDate\": \"Tue, 11 May 2021 08:23:06 GMT\"\r\n },\r\n \"id\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/microsoft.operationalinsights/workspaces/clitest000002\",\r\n - \ \"name\": \"clitest000002\",\r\n \"type\": \"Microsoft.OperationalInsights/workspaces\",\r\n - \ \"location\": \"eastus\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '1134' - content-type: - - application/json - date: - - Tue, 11 May 2021 08:23:38 GMT - pragma: - - no-cache - server: - - Microsoft-IIS/10.0 - - Microsoft-IIS/10.0 - strict-transport-security: - - max-age=31536000; includeSubDomains - transfer-encoding: - - chunked - vary: - - Accept-Encoding - x-content-type-options: - - nosniff - x-powered-by: - - ASP.NET - - ASP.NET - status: - code: 200 - message: OK -- request: - body: '{"properties": {"template": {"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", "parameters": {"workspaceId": {"type": "securestring", - "metadata": {"description": "Secure workspaceId"}}}, "variables": {}, "resources": - [{"name": "myvm1VNET", "type": "Microsoft.Network/virtualNetworks", "location": - "eastus", "apiVersion": "2015-06-15", "dependsOn": [], "tags": {}, "properties": - {"addressSpace": {"addressPrefixes": ["10.0.0.0/16"]}, "subnets": [{"name": - "myvm1Subnet", "properties": {"addressPrefix": "10.0.0.0/24"}}]}}, {"type": - "Microsoft.Network/networkSecurityGroups", "name": "myvm1NSG", "apiVersion": - "2015-06-15", "location": "eastus", "tags": {}, "dependsOn": []}, {"apiVersion": - "2018-01-01", "type": "Microsoft.Network/publicIPAddresses", "name": "myvm1PublicIP", - "location": "eastus", "tags": {}, "dependsOn": [], "properties": {"publicIPAllocationMethod": - null}}, {"apiVersion": "2015-06-15", "type": "Microsoft.Network/networkInterfaces", - "name": "myvm1VMNic", "location": "eastus", "tags": {}, "dependsOn": ["Microsoft.Network/virtualNetworks/myvm1VNET", - "Microsoft.Network/networkSecurityGroups/myvm1NSG", "Microsoft.Network/publicIpAddresses/myvm1PublicIP"], - "properties": {"ipConfigurations": [{"name": "ipconfigmyvm1", "properties": - {"privateIPAllocationMethod": "Dynamic", "subnet": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/virtualNetworks/myvm1VNET/subnets/myvm1Subnet"}, - "publicIPAddress": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/publicIPAddresses/myvm1PublicIP"}}}], - "networkSecurityGroup": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkSecurityGroups/myvm1NSG"}}}, - {"type": "Microsoft.Compute/virtualMachines/extensions", "apiVersion": "2018-10-01", - "properties": {"publisher": "Microsoft.EnterpriseCloud.Monitoring", "type": - "OmsAgentForLinux", "typeHandlerVersion": "1.0", "autoUpgradeMinorVersion": - "true", "settings": {"workspaceId": "[reference(parameters(''workspaceId''), - ''2015-11-01-preview'').customerId]", "stopOnMultipleConnections": "true"}, - "protectedSettings": {"workspaceKey": "[listKeys(parameters(''workspaceId''), - ''2015-11-01-preview'').primarySharedKey]"}}, "name": "myvm1/OmsAgentForLinux", - "location": "eastus", "dependsOn": ["Microsoft.Compute/virtualMachines/myvm1"]}, - {"apiVersion": "2020-12-01", "type": "Microsoft.Compute/virtualMachines", "name": - "myvm1", "location": "eastus", "tags": {}, "dependsOn": ["Microsoft.Network/networkInterfaces/myvm1VMNic"], - "properties": {"hardwareProfile": {"vmSize": "Standard_DS1_v2"}, "networkProfile": - {"networkInterfaces": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic"}]}, - "storageProfile": {"osDisk": {"createOption": "fromImage", "name": null, "caching": - "ReadWrite", "managedDisk": {"storageAccountType": null}}, "imageReference": - {"publisher": "Canonical", "offer": "UbuntuServer", "sku": "18.04-LTS", "version": - "latest"}}, "osProfile": {"computerName": "myvm1", "adminUsername": "kairu", - "linuxConfiguration": {"disablePasswordAuthentication": true, "ssh": {"publicKeys": - [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC/+4SveJW8Wn+vIMzgKgDIauOhF2XRwqR4RJSrjQX8qodZntJ49dQSuaPT0AweyDVPS9TPXCXeGZMN+H+Y54Xj0Mgriau+Y4jPi2mUMKW0R93T5/Y1285JdE1YuXtnv27Xgc1g1lIfHJ5luWOi3sfC47j3AZvhE1NE69alemjIcQCIWlU0SyoZM1K+5hO3mBmZhR4BwuMJO9ruWITXx1t1GAvJgu+xtJNcVXW1ryTt6PvYk1OU5pNyIyNEFxD1Hhw8qOJ/R/jNcZ9wcjnykSqOI/NzNczz3GG2tLdu8gWEBZrpXy4vu9FoSamu3k+ADE6ArH06RM40FaSCNSegivEI4Y6HAjy3svPEU6Y+WvuGUfr0Lphefi7tFHZaEW08U0e6ERmwpFLtfMRWfdhn30ZRtiFDF/Gi4psXuTNPQrGyqc+KgmwCxEIVue8a3TAAVTaoK1JZXA/08IcUGNdhl6INAfHxXbaS15ptTXkqhO3rVL2ambJt8GxU3UTTymq3P20= - kairu@microsoft.com\n", "path": "/home/kairu/.ssh/authorized_keys"}]}}}}}], - "outputs": {}}, "parameters": {"workspaceId": {"value": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/microsoft.operationalinsights/workspaces/clitest000002"}}, - "mode": "Incremental"}}' - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - vm create - Connection: - - keep-alive - Content-Length: - - '4555' - Content-Type: - - application/json; charset=utf-8 - ParameterSetName: - - -n -g --image --nsg-rule --workspace --generate-ssh-keys - User-Agent: - - python/3.8.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.1.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/mock-deployment?api-version=2020-10-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/vm_deploy_YB7PavudCAHaQ6DvCYcHzVAIelLgYtMs","name":"vm_deploy_YB7PavudCAHaQ6DvCYcHzVAIelLgYtMs","type":"Microsoft.Resources/deployments","properties":{"templateHash":"7403772704604296647","parameters":{"workspaceId":{"type":"SecureString"}},"mode":"Incremental","provisioningState":"Accepted","timestamp":"2021-05-11T08:23:44.0250583Z","duration":"PT2.9709929S","correlationId":"68c990f2-4fa9-468c-a451-44a37a292b2b","providers":[{"namespace":"Microsoft.Network","resourceTypes":[{"resourceType":"virtualNetworks","locations":["eastus"]},{"resourceType":"networkSecurityGroups","locations":["eastus"]},{"resourceType":"publicIPAddresses","locations":["eastus"]},{"resourceType":"networkInterfaces","locations":["eastus"]}]},{"namespace":"Microsoft.Compute","resourceTypes":[{"resourceType":"virtualMachines/extensions","locations":["eastus"]},{"resourceType":"virtualMachines","locations":["eastus"]}]}],"dependencies":[{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/virtualNetworks/myvm1VNET","resourceType":"Microsoft.Network/virtualNetworks","resourceName":"myvm1VNET"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkSecurityGroups/myvm1NSG","resourceType":"Microsoft.Network/networkSecurityGroups","resourceName":"myvm1NSG"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/publicIPAddresses/myvm1PublicIP","resourceType":"Microsoft.Network/publicIPAddresses","resourceName":"myvm1PublicIP"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic","resourceType":"Microsoft.Network/networkInterfaces","resourceName":"myvm1VMNic"},{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1","resourceType":"Microsoft.Compute/virtualMachines","resourceName":"myvm1"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.operationalinsights/workspaces/clitest000002","resourceType":"microsoft.operationalinsights/workspaces","resourceName":"clitest000002","apiVersion":"2015-11-01-preview"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.operationalinsights/workspaces/clitest000002","resourceType":"microsoft.operationalinsights/workspaces","resourceName":"clitest000002","actionName":"listKeys","apiVersion":"2015-11-01-preview"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1/extensions/OmsAgentForLinux","resourceType":"Microsoft.Compute/virtualMachines/extensions","resourceName":"myvm1/OmsAgentForLinux"},{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic","resourceType":"Microsoft.Network/networkInterfaces","resourceName":"myvm1VMNic"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1","resourceType":"Microsoft.Compute/virtualMachines","resourceName":"myvm1"}]}}' - headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/vm_deploy_YB7PavudCAHaQ6DvCYcHzVAIelLgYtMs/operationStatuses/08585808854644235736?api-version=2020-10-01 - cache-control: - - no-cache - content-length: - - '4226' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 11 May 2021 08:23:45 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: null - headers: - Accept: - - application/json - Accept-Encoding: - - gzip, deflate - CommandName: - - vm create - Connection: - - keep-alive - ParameterSetName: - - -n -g --image --nsg-rule --workspace --generate-ssh-keys - User-Agent: - - python/3.8.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.1.0 Azure-SDK-For-Python AZURECLI/2.23.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585808854644235736?api-version=2020-10-01 - response: - body: - string: '{"status":"Running"}' - headers: - cache-control: - - no-cache - content-length: - - '20' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 11 May 2021 08:24:16 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: - - vm create - Connection: - - keep-alive - ParameterSetName: - - -n -g --image --nsg-rule --workspace --generate-ssh-keys - User-Agent: - - python/3.8.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.1.0 Azure-SDK-For-Python AZURECLI/2.23.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585808854644235736?api-version=2020-10-01 - response: - body: - string: '{"status":"Running"}' - headers: - cache-control: - - no-cache - content-length: - - '20' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 11 May 2021 08:24:47 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: - - vm create - Connection: - - keep-alive - ParameterSetName: - - -n -g --image --nsg-rule --workspace --generate-ssh-keys - User-Agent: - - python/3.8.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.1.0 Azure-SDK-For-Python AZURECLI/2.23.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585808854644235736?api-version=2020-10-01 - response: - body: - string: '{"status":"Running"}' - headers: - cache-control: - - no-cache - content-length: - - '20' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 11 May 2021 08:25:18 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: - - vm create - Connection: - - keep-alive - ParameterSetName: - - -n -g --image --nsg-rule --workspace --generate-ssh-keys - User-Agent: - - python/3.8.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.1.0 Azure-SDK-For-Python AZURECLI/2.23.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585808854644235736?api-version=2020-10-01 - response: - body: - string: '{"status":"Succeeded"}' - headers: - cache-control: - - no-cache - content-length: - - '22' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 11 May 2021 08:25:48 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: - - vm create - Connection: - - keep-alive - ParameterSetName: - - -n -g --image --nsg-rule --workspace --generate-ssh-keys - User-Agent: - - python/3.8.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.1.0 Azure-SDK-For-Python AZURECLI/2.23.0 - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/mock-deployment?api-version=2020-10-01 - response: - body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/vm_deploy_YB7PavudCAHaQ6DvCYcHzVAIelLgYtMs","name":"vm_deploy_YB7PavudCAHaQ6DvCYcHzVAIelLgYtMs","type":"Microsoft.Resources/deployments","properties":{"templateHash":"7403772704604296647","parameters":{"workspaceId":{"type":"SecureString"}},"mode":"Incremental","provisioningState":"Succeeded","timestamp":"2021-05-11T08:25:22.7571793Z","duration":"PT1M41.7031139S","correlationId":"68c990f2-4fa9-468c-a451-44a37a292b2b","providers":[{"namespace":"Microsoft.Network","resourceTypes":[{"resourceType":"virtualNetworks","locations":["eastus"]},{"resourceType":"networkSecurityGroups","locations":["eastus"]},{"resourceType":"publicIPAddresses","locations":["eastus"]},{"resourceType":"networkInterfaces","locations":["eastus"]}]},{"namespace":"Microsoft.Compute","resourceTypes":[{"resourceType":"virtualMachines/extensions","locations":["eastus"]},{"resourceType":"virtualMachines","locations":["eastus"]}]}],"dependencies":[{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/virtualNetworks/myvm1VNET","resourceType":"Microsoft.Network/virtualNetworks","resourceName":"myvm1VNET"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkSecurityGroups/myvm1NSG","resourceType":"Microsoft.Network/networkSecurityGroups","resourceName":"myvm1NSG"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/publicIPAddresses/myvm1PublicIP","resourceType":"Microsoft.Network/publicIPAddresses","resourceName":"myvm1PublicIP"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic","resourceType":"Microsoft.Network/networkInterfaces","resourceName":"myvm1VMNic"},{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1","resourceType":"Microsoft.Compute/virtualMachines","resourceName":"myvm1"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.operationalinsights/workspaces/clitest000002","resourceType":"microsoft.operationalinsights/workspaces","resourceName":"clitest000002","apiVersion":"2015-11-01-preview"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.operationalinsights/workspaces/clitest000002","resourceType":"microsoft.operationalinsights/workspaces","resourceName":"clitest000002","actionName":"listKeys","apiVersion":"2015-11-01-preview"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1/extensions/OmsAgentForLinux","resourceType":"Microsoft.Compute/virtualMachines/extensions","resourceName":"myvm1/OmsAgentForLinux"},{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic","resourceType":"Microsoft.Network/networkInterfaces","resourceName":"myvm1VMNic"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1","resourceType":"Microsoft.Compute/virtualMachines","resourceName":"myvm1"}],"outputs":{},"outputResources":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1/extensions/OmsAgentForLinux"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkSecurityGroups/myvm1NSG"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/publicIPAddresses/myvm1PublicIP"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/virtualNetworks/myvm1VNET"}]}}' - headers: - cache-control: - - no-cache - content-length: - - '5533' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 11 May 2021 08:25:49 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: - - vm create - Connection: - - keep-alive - ParameterSetName: - - -n -g --image --nsg-rule --workspace --generate-ssh-keys - User-Agent: - - AZURECLI/2.23.0 azsdk-python-azure-mgmt-compute/20.0.0 Python/3.8.8 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1?$expand=instanceView&api-version=2020-12-01 - response: - body: - string: "{\r\n \"name\": \"myvm1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1\",\r\n - \ \"type\": \"Microsoft.Compute/virtualMachines\",\r\n \"location\": \"eastus\",\r\n - \ \"tags\": {},\r\n \"properties\": {\r\n \"vmId\": \"e2544358-9c51-4f16-ba16-d82dbd1f2dbe\",\r\n - \ \"hardwareProfile\": {\r\n \"vmSize\": \"Standard_DS1_v2\"\r\n },\r\n - \ \"storageProfile\": {\r\n \"imageReference\": {\r\n \"publisher\": - \"Canonical\",\r\n \"offer\": \"UbuntuServer\",\r\n \"sku\": - \"18.04-LTS\",\r\n \"version\": \"latest\",\r\n \"exactVersion\": - \"18.04.202105080\"\r\n },\r\n \"osDisk\": {\r\n \"osType\": - \"Linux\",\r\n \"name\": \"myvm1_disk1_b97161f5cd574af3841bc5972fba3184\",\r\n - \ \"createOption\": \"FromImage\",\r\n \"caching\": \"ReadWrite\",\r\n - \ \"managedDisk\": {\r\n \"storageAccountType\": \"Premium_LRS\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/disks/myvm1_disk1_b97161f5cd574af3841bc5972fba3184\"\r\n - \ },\r\n \"diskSizeGB\": 30\r\n },\r\n \"dataDisks\": - []\r\n },\r\n \"osProfile\": {\r\n \"computerName\": \"myvm1\",\r\n - \ \"adminUsername\": \"kairu\",\r\n \"linuxConfiguration\": {\r\n - \ \"disablePasswordAuthentication\": true,\r\n \"ssh\": {\r\n - \ \"publicKeys\": [\r\n {\r\n \"path\": \"/home/kairu/.ssh/authorized_keys\",\r\n - \ \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC/+4SveJW8Wn+vIMzgKgDIauOhF2XRwqR4RJSrjQX8qodZntJ49dQSuaPT0AweyDVPS9TPXCXeGZMN+H+Y54Xj0Mgriau+Y4jPi2mUMKW0R93T5/Y1285JdE1YuXtnv27Xgc1g1lIfHJ5luWOi3sfC47j3AZvhE1NE69alemjIcQCIWlU0SyoZM1K+5hO3mBmZhR4BwuMJO9ruWITXx1t1GAvJgu+xtJNcVXW1ryTt6PvYk1OU5pNyIyNEFxD1Hhw8qOJ/R/jNcZ9wcjnykSqOI/NzNczz3GG2tLdu8gWEBZrpXy4vu9FoSamu3k+ADE6ArH06RM40FaSCNSegivEI4Y6HAjy3svPEU6Y+WvuGUfr0Lphefi7tFHZaEW08U0e6ERmwpFLtfMRWfdhn30ZRtiFDF/Gi4psXuTNPQrGyqc+KgmwCxEIVue8a3TAAVTaoK1JZXA/08IcUGNdhl6INAfHxXbaS15ptTXkqhO3rVL2ambJt8GxU3UTTymq3P20= - kairu@microsoft.com\\n\"\r\n }\r\n ]\r\n },\r\n - \ \"provisionVMAgent\": true,\r\n \"patchSettings\": {\r\n \"patchMode\": - \"ImageDefault\"\r\n }\r\n },\r\n \"secrets\": [],\r\n \"allowExtensionOperations\": - true,\r\n \"requireGuestProvisionSignal\": true\r\n },\r\n \"networkProfile\": - {\"networkInterfaces\":[{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic\"}]},\r\n - \ \"provisioningState\": \"Succeeded\",\r\n \"instanceView\": {\r\n \"computerName\": - \"myvm1\",\r\n \"osName\": \"ubuntu\",\r\n \"osVersion\": \"18.04\",\r\n - \ \"vmAgent\": {\r\n \"vmAgentVersion\": \"2.2.54.2\",\r\n \"statuses\": - [\r\n {\r\n \"code\": \"ProvisioningState/succeeded\",\r\n - \ \"level\": \"Info\",\r\n \"displayStatus\": \"Ready\",\r\n - \ \"message\": \"Guest Agent is running\",\r\n \"time\": - \"2021-05-11T08:25:49+00:00\"\r\n }\r\n ],\r\n \"extensionHandlers\": - [\r\n {\r\n \"type\": \"Microsoft.EnterpriseCloud.Monitoring.OmsAgentForLinux\",\r\n - \ \"typeHandlerVersion\": \"1.13.35\",\r\n \"status\": - {\r\n \"code\": \"ProvisioningState/succeeded\",\r\n \"level\": - \"Info\",\r\n \"displayStatus\": \"Ready\",\r\n \"message\": - \"Plugin enabled\"\r\n }\r\n }\r\n ]\r\n },\r\n - \ \"disks\": [\r\n {\r\n \"name\": \"myvm1_disk1_b97161f5cd574af3841bc5972fba3184\",\r\n - \ \"statuses\": [\r\n {\r\n \"code\": \"ProvisioningState/succeeded\",\r\n - \ \"level\": \"Info\",\r\n \"displayStatus\": \"Provisioning - succeeded\",\r\n \"time\": \"2021-05-11T08:24:07.6521115+00:00\"\r\n - \ }\r\n ]\r\n }\r\n ],\r\n \"extensions\": - [\r\n {\r\n \"name\": \"OmsAgentForLinux\",\r\n \"type\": - \"Microsoft.EnterpriseCloud.Monitoring.OmsAgentForLinux\",\r\n \"typeHandlerVersion\": - \"1.13.35\",\r\n \"statuses\": [\r\n {\r\n \"code\": - \"ProvisioningState/succeeded\",\r\n \"level\": \"Info\",\r\n - \ \"displayStatus\": \"Provisioning succeeded\",\r\n \"message\": - \"Enable succeeded\"\r\n }\r\n ]\r\n }\r\n ],\r\n - \ \"hyperVGeneration\": \"V1\",\r\n \"statuses\": [\r\n {\r\n - \ \"code\": \"ProvisioningState/succeeded\",\r\n \"level\": - \"Info\",\r\n \"displayStatus\": \"Provisioning succeeded\",\r\n - \ \"time\": \"2021-05-11T08:25:21.0113494+00:00\"\r\n },\r\n - \ {\r\n \"code\": \"PowerState/running\",\r\n \"level\": - \"Info\",\r\n \"displayStatus\": \"VM running\"\r\n }\r\n - \ ]\r\n }\r\n },\r\n \"resources\": [\r\n {\r\n \"name\": - \"OmsAgentForLinux\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1/extensions/OmsAgentForLinux\",\r\n - \ \"type\": \"Microsoft.Compute/virtualMachines/extensions\",\r\n \"location\": - \"eastus\",\r\n \"properties\": {\r\n \"autoUpgradeMinorVersion\": - true,\r\n \"provisioningState\": \"Succeeded\",\r\n \"publisher\": - \"Microsoft.EnterpriseCloud.Monitoring\",\r\n \"type\": \"OmsAgentForLinux\",\r\n - \ \"typeHandlerVersion\": \"1.0\",\r\n \"settings\": {\"workspaceId\":\"a3b4d136-26e9-4259-97fa-8c62b94586ee\",\"stopOnMultipleConnections\":\"true\"}\r\n - \ }\r\n }\r\n ]\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '5634' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 11 May 2021 08:25:50 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 - x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/LowCostGet3Min;3995,Microsoft.Compute/LowCostGet30Min;31995 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json, text/json - Accept-Encoding: - - gzip, deflate - CommandName: - - vm create - Connection: - - keep-alive - ParameterSetName: - - -n -g --image --nsg-rule --workspace --generate-ssh-keys - User-Agent: - - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.8 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic?api-version=2018-01-01 - response: - body: - string: "{\r\n \"name\": \"myvm1VMNic\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic\",\r\n - \ \"etag\": \"W/\\\"8ff6255d-7194-40fa-b680-c304c93327d5\\\"\",\r\n \"location\": - \"eastus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": - \"Succeeded\",\r\n \"resourceGuid\": \"73cd813d-dd52-486b-835f-f62537837c34\",\r\n - \ \"ipConfigurations\": [\r\n {\r\n \"name\": \"ipconfigmyvm1\",\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic/ipConfigurations/ipconfigmyvm1\",\r\n - \ \"etag\": \"W/\\\"8ff6255d-7194-40fa-b680-c304c93327d5\\\"\",\r\n - \ \"type\": \"Microsoft.Network/networkInterfaces/ipConfigurations\",\r\n - \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"privateIPAddress\": \"10.0.0.4\",\r\n \"privateIPAllocationMethod\": - \"Dynamic\",\r\n \"publicIPAddress\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/publicIPAddresses/myvm1PublicIP\"\r\n - \ },\r\n \"subnet\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/virtualNetworks/myvm1VNET/subnets/myvm1Subnet\"\r\n - \ },\r\n \"primary\": true,\r\n \"privateIPAddressVersion\": - \"IPv4\"\r\n }\r\n }\r\n ],\r\n \"dnsSettings\": {\r\n \"dnsServers\": - [],\r\n \"appliedDnsServers\": [],\r\n \"internalDomainNameSuffix\": - \"qudiicxamczexntbijrp0ycxjh.bx.internal.cloudapp.net\"\r\n },\r\n \"macAddress\": - \"00-22-48-21-3B-CF\",\r\n \"enableAcceleratedNetworking\": false,\r\n - \ \"enableIPForwarding\": false,\r\n \"networkSecurityGroup\": {\r\n - \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkSecurityGroups/myvm1NSG\"\r\n - \ },\r\n \"primary\": true,\r\n \"virtualMachine\": {\r\n \"id\": - \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1\"\r\n - \ }\r\n },\r\n \"type\": \"Microsoft.Network/networkInterfaces\"\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '2588' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 11 May 2021 08:25:51 GMT - etag: - - W/"8ff6255d-7194-40fa-b680-c304c93327d5" - 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 - x-ms-arm-service-request-id: - - 94755616-8135-4bc0-a743-2c9503e22abd - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - application/json, text/json - Accept-Encoding: - - gzip, deflate - CommandName: - - vm create - Connection: - - keep-alive - ParameterSetName: - - -n -g --image --nsg-rule --workspace --generate-ssh-keys - User-Agent: - - AZURECLI/2.23.0 azsdk-python-azure-mgmt-network/18.0.0 Python/3.8.8 (Windows-10-10.0.19041-SP0) - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/publicIPAddresses/myvm1PublicIP?api-version=2018-01-01 - response: - body: - string: "{\r\n \"name\": \"myvm1PublicIP\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/publicIPAddresses/myvm1PublicIP\",\r\n - \ \"etag\": \"W/\\\"dcec2c10-9b82-4b07-b05b-8bd24697a210\\\"\",\r\n \"location\": - \"eastus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": - \"Succeeded\",\r\n \"resourceGuid\": \"6663cff5-3d8b-4199-86b1-554d61c8e011\",\r\n - \ \"ipAddress\": \"52.188.169.108\",\r\n \"publicIPAddressVersion\": - \"IPv4\",\r\n \"publicIPAllocationMethod\": \"Dynamic\",\r\n \"idleTimeoutInMinutes\": - 4,\r\n \"ipTags\": [],\r\n \"ipConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic/ipConfigurations/ipconfigmyvm1\"\r\n - \ }\r\n },\r\n \"type\": \"Microsoft.Network/publicIPAddresses\",\r\n - \ \"sku\": {\r\n \"name\": \"Basic\"\r\n }\r\n}" - headers: - cache-control: - - no-cache - content-length: - - '1006' - content-type: - - application/json; charset=utf-8 - date: - - Tue, 11 May 2021 08:25:52 GMT - etag: - - W/"dcec2c10-9b82-4b07-b05b-8bd24697a210" - 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 - x-ms-arm-service-request-id: - - f386e9d7-f288-43d1-a33b-56d88311be30 - status: - code: 200 - message: OK -- request: - body: '{"properties": {"state": "Enabled"}, "kind": "LinuxPerformanceCollection"}' + body: '{"properties": {"template": {"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", "parameters": {}, "variables": {}, "resources": + [{"name": "myvm1VNET", "type": "Microsoft.Network/virtualNetworks", "location": + "eastus", "apiVersion": "2015-06-15", "dependsOn": [], "tags": {}, "properties": + {"addressSpace": {"addressPrefixes": ["10.0.0.0/16"]}, "subnets": [{"name": + "myvm1Subnet", "properties": {"addressPrefix": "10.0.0.0/24"}}]}}, {"type": + "Microsoft.Network/networkSecurityGroups", "name": "myvm1NSG", "apiVersion": + "2015-06-15", "location": "eastus", "tags": {}, "dependsOn": [], "properties": + {"securityRules": [{"name": "default-allow-ssh", "properties": {"protocol": + "Tcp", "sourcePortRange": "*", "destinationPortRange": "22", "sourceAddressPrefix": + "*", "destinationAddressPrefix": "*", "access": "Allow", "priority": 1000, "direction": + "Inbound"}}]}}, {"apiVersion": "2018-01-01", "type": "Microsoft.Network/publicIPAddresses", + "name": "myvm1PublicIP", "location": "eastus", "tags": {}, "dependsOn": [], + "properties": {"publicIPAllocationMethod": null}}, {"apiVersion": "2015-06-15", + "type": "Microsoft.Network/networkInterfaces", "name": "myvm1VMNic", "location": + "eastus", "tags": {}, "dependsOn": ["Microsoft.Network/virtualNetworks/myvm1VNET", + "Microsoft.Network/networkSecurityGroups/myvm1NSG", "Microsoft.Network/publicIpAddresses/myvm1PublicIP"], + "properties": {"ipConfigurations": [{"name": "ipconfigmyvm1", "properties": + {"privateIPAllocationMethod": "Dynamic", "subnet": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/virtualNetworks/myvm1VNET/subnets/myvm1Subnet"}, + "publicIPAddress": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/publicIPAddresses/myvm1PublicIP"}}}], + "networkSecurityGroup": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkSecurityGroups/myvm1NSG"}}}, + {"apiVersion": "2021-03-01", "type": "Microsoft.Compute/virtualMachines", "name": + "myvm1", "location": "eastus", "tags": {}, "dependsOn": ["Microsoft.Network/networkInterfaces/myvm1VMNic"], + "properties": {"hardwareProfile": {"vmSize": "Standard_DS1_v2"}, "networkProfile": + {"networkInterfaces": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic"}]}, + "storageProfile": {"osDisk": {"createOption": "fromImage", "name": null, "caching": + "ReadWrite", "managedDisk": {"storageAccountType": null}}, "imageReference": + {"publisher": "Canonical", "offer": "UbuntuServer", "sku": "18.04-LTS", "version": + "latest"}}, "osProfile": {"computerName": "myvm1", "adminUsername": "clitest000002", + "linuxConfiguration": {"disablePasswordAuthentication": true, "ssh": {"publicKeys": + [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDPMuHNzSd64J+szP6o1PrORXVyLcT0rnY1jkPNXt2taPECh5LJ1GFUbV/T8NphlT+jkgd6Q8DokO3x/IZ7gIVIO9CFsLUWAcvB0IGSRnIEK4MXIYFrHh45STacrSO+K1trflLXb2S8a4CNyZOuRja2w5+ggt+jSluGmoT19Os5pVv7Slh/Z536r60i/mA2MJhhwLWe9njCfhxCUAffOMD0tQgFCrieAB/fwNEYqmWNX4VWSbpO+1qfJzTl6SwRoFv9Z/v3szgexwHazlsUqlD1ALAcf6qnQcSh9VvqUZJpLW9vfOPkMGMKQdHTK0MbsrivLu41hg4yWyhC9yDmkNhGJAFgaYAJMdYuHH3GSX2xofP9HrN0PG4V+oVxL89St2mXrKlbNryZCtoOnw05ugEPiLmDCav8vZyRfz4/OQLq2yHUrkavU5R2PRFSfoBNrk894+5Cvr3eW7IEbl014ikiFMLhtRairBBeZhrdGbaMAsgaa5e6AfA5m2820Hf8sf8= + kairu@microsoft.com\n", "path": "/home/clitest000002/.ssh/authorized_keys"}]}}}}}], + "outputs": {}}, "parameters": {}, "mode": "incremental"}}' headers: Accept: - application/json @@ -955,229 +226,170 @@ interactions: Connection: - keep-alive Content-Length: - - '74' + - '3909' Content-Type: - application/json ParameterSetName: - - -n -g --image --nsg-rule --workspace --generate-ssh-keys + - -n -g --image --admin-username --generate-ssh-keys User-Agent: - - AZURECLI/2.23.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.8.8 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002/dataSources/DataSource_LinuxPerformanceCollection_88888888-0000-0000-0000-000000000001?api-version=2020-08-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/mock-deployment?api-version=2020-10-01 response: body: - string: '{"kind":"LinuxPerformanceCollection","properties":{"state":"Enabled"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002/datasources/DataSource_LinuxPerformanceCollection_88888888-0000-0000-0000-000000000001","etag":"W/\"datetime''2021-05-11T08%3A25%3A54.2329188Z''\"","name":"DataSource_LinuxPerformanceCollection_88888888-0000-0000-0000-000000000001","type":"Microsoft.OperationalInsights/workspaces/datasources"}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/vm_deploy_e5CrJHr9gvsCUqV265EIUHSdWtgXBgob","name":"vm_deploy_e5CrJHr9gvsCUqV265EIUHSdWtgXBgob","type":"Microsoft.Resources/deployments","properties":{"templateHash":"2144961586233669823","parameters":{},"mode":"Incremental","provisioningState":"Accepted","timestamp":"2021-05-31T07:15:27.6592981Z","duration":"PT2.9322305S","correlationId":"3661e5bb-6c6f-4548-ad03-8602c3bd7f1b","providers":[{"namespace":"Microsoft.Network","resourceTypes":[{"resourceType":"virtualNetworks","locations":["eastus"]},{"resourceType":"networkSecurityGroups","locations":["eastus"]},{"resourceType":"publicIPAddresses","locations":["eastus"]},{"resourceType":"networkInterfaces","locations":["eastus"]}]},{"namespace":"Microsoft.Compute","resourceTypes":[{"resourceType":"virtualMachines","locations":["eastus"]}]}],"dependencies":[{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/virtualNetworks/myvm1VNET","resourceType":"Microsoft.Network/virtualNetworks","resourceName":"myvm1VNET"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkSecurityGroups/myvm1NSG","resourceType":"Microsoft.Network/networkSecurityGroups","resourceName":"myvm1NSG"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/publicIPAddresses/myvm1PublicIP","resourceType":"Microsoft.Network/publicIPAddresses","resourceName":"myvm1PublicIP"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic","resourceType":"Microsoft.Network/networkInterfaces","resourceName":"myvm1VMNic"},{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic","resourceType":"Microsoft.Network/networkInterfaces","resourceName":"myvm1VMNic"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1","resourceType":"Microsoft.Compute/virtualMachines","resourceName":"myvm1"}]}}' headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/vm_deploy_e5CrJHr9gvsCUqV265EIUHSdWtgXBgob/operationStatuses/08585791615607505574?api-version=2020-10-01 cache-control: - no-cache content-length: - - '583' + - '2766' content-type: - application/json; charset=utf-8 date: - - Tue, 11 May 2021 08:25:53 GMT + - Mon, 31 May 2021 07:15:28 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-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - '1199' - x-powered-by: - - ASP.NET status: - code: 200 - message: OK + code: 201 + message: Created - request: - body: '{"properties": {"instanceName": "*", "intervalSeconds": 10, "objectName": - "Memory", "performanceCounters": [{"counterName": "Available MBytes Memory"}, - {"counterName": "% Used Memory"}, {"counterName": "% Used Swap Space"}]}, "kind": - "LinuxPerformanceObject"}' + body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - vm create Connection: - keep-alive - Content-Length: - - '259' - Content-Type: - - application/json ParameterSetName: - - -n -g --image --nsg-rule --workspace --generate-ssh-keys + - -n -g --image --admin-username --generate-ssh-keys User-Agent: - - AZURECLI/2.23.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.8.8 (Windows-10-10.0.19041-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002/dataSources/DataSource_LinuxPerformanceObject_88888888-0000-0000-0000-000000000002?api-version=2020-08-01 + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585791615607505574?api-version=2020-10-01 response: body: - string: '{"kind":"LinuxPerformanceObject","properties":{"instanceName":"*","intervalSeconds":10,"objectName":"Memory","performanceCounters":[{"counterName":"Available - MBytes Memory"},{"counterName":"% Used Memory"},{"counterName":"% Used Swap - Space"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002/datasources/DataSource_LinuxPerformanceObject_88888888-0000-0000-0000-000000000002","etag":"W/\"datetime''2021-05-11T08%3A25%3A55.0106101Z''\"","name":"DataSource_LinuxPerformanceObject_88888888-0000-0000-0000-000000000002","type":"Microsoft.OperationalInsights/workspaces/datasources"}' + string: '{"status":"Running"}' headers: cache-control: - no-cache content-length: - - '749' + - '20' content-type: - application/json; charset=utf-8 date: - - Tue, 11 May 2021 08:25:54 GMT + - Mon, 31 May 2021 07:15:58 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-content-type-options: - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1198' - x-powered-by: - - ASP.NET status: code: 200 message: OK - request: - body: '{"properties": {"instanceName": "*", "intervalSeconds": 10, "objectName": - "Processor", "performanceCounters": [{"counterName": "% Processor Time"}, {"counterName": - "% Privileged Time"}]}, "kind": "LinuxPerformanceObject"}' + body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - vm create Connection: - keep-alive - Content-Length: - - '221' - Content-Type: - - application/json ParameterSetName: - - -n -g --image --nsg-rule --workspace --generate-ssh-keys + - -n -g --image --admin-username --generate-ssh-keys User-Agent: - - AZURECLI/2.23.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.8.8 (Windows-10-10.0.19041-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002/dataSources/DataSource_LinuxPerformanceObject_88888888-0000-0000-0000-000000000003?api-version=2020-08-01 + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/mock-deployment/operationStatuses/08585791615607505574?api-version=2020-10-01 response: body: - string: '{"kind":"LinuxPerformanceObject","properties":{"instanceName":"*","intervalSeconds":10,"objectName":"Processor","performanceCounters":[{"counterName":"% - Processor Time"},{"counterName":"% Privileged Time"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002/datasources/DataSource_LinuxPerformanceObject_88888888-0000-0000-0000-000000000003","etag":"W/\"datetime''2021-05-11T08%3A25%3A55.6678848Z''\"","name":"DataSource_LinuxPerformanceObject_88888888-0000-0000-0000-000000000003","type":"Microsoft.OperationalInsights/workspaces/datasources"}' + string: '{"status":"Succeeded"}' headers: cache-control: - no-cache content-length: - - '713' + - '22' content-type: - application/json; charset=utf-8 date: - - Tue, 11 May 2021 08:25:55 GMT + - Mon, 31 May 2021 07:16:30 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-content-type-options: - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1197' - x-powered-by: - - ASP.NET status: code: 200 message: OK - request: - body: '{"properties": {"instanceName": "*", "intervalSeconds": 10, "objectName": - "Logical Disk", "performanceCounters": [{"counterName": "% Used Inodes"}, {"counterName": - "Free Megabytes"}, {"counterName": "% Used Space"}, {"counterName": "Disk Transfers/sec"}, - {"counterName": "Disk Reads/sec"}, {"counterName": "Disk Writes/sec"}]}, "kind": - "LinuxPerformanceObject"}' + body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - vm create Connection: - keep-alive - Content-Length: - - '361' - Content-Type: - - application/json ParameterSetName: - - -n -g --image --nsg-rule --workspace --generate-ssh-keys + - -n -g --image --admin-username --generate-ssh-keys User-Agent: - - AZURECLI/2.23.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.8.8 (Windows-10-10.0.19041-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002/dataSources/DataSource_LinuxPerformanceObject_88888888-0000-0000-0000-000000000004?api-version=2020-08-01 + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/mock-deployment?api-version=2020-10-01 response: body: - string: '{"kind":"LinuxPerformanceObject","properties":{"instanceName":"*","intervalSeconds":10,"objectName":"Logical - Disk","performanceCounters":[{"counterName":"% Used Inodes"},{"counterName":"Free - Megabytes"},{"counterName":"% Used Space"},{"counterName":"Disk Transfers/sec"},{"counterName":"Disk - Reads/sec"},{"counterName":"Disk Writes/sec"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002/datasources/DataSource_LinuxPerformanceObject_88888888-0000-0000-0000-000000000004","etag":"W/\"datetime''2021-05-11T08%3A25%3A56.4015756Z''\"","name":"DataSource_LinuxPerformanceObject_88888888-0000-0000-0000-000000000004","type":"Microsoft.OperationalInsights/workspaces/datasources"}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Resources/deployments/vm_deploy_e5CrJHr9gvsCUqV265EIUHSdWtgXBgob","name":"vm_deploy_e5CrJHr9gvsCUqV265EIUHSdWtgXBgob","type":"Microsoft.Resources/deployments","properties":{"templateHash":"2144961586233669823","parameters":{},"mode":"Incremental","provisioningState":"Succeeded","timestamp":"2021-05-31T07:16:07.8767825Z","duration":"PT43.1497149S","correlationId":"3661e5bb-6c6f-4548-ad03-8602c3bd7f1b","providers":[{"namespace":"Microsoft.Network","resourceTypes":[{"resourceType":"virtualNetworks","locations":["eastus"]},{"resourceType":"networkSecurityGroups","locations":["eastus"]},{"resourceType":"publicIPAddresses","locations":["eastus"]},{"resourceType":"networkInterfaces","locations":["eastus"]}]},{"namespace":"Microsoft.Compute","resourceTypes":[{"resourceType":"virtualMachines","locations":["eastus"]}]}],"dependencies":[{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/virtualNetworks/myvm1VNET","resourceType":"Microsoft.Network/virtualNetworks","resourceName":"myvm1VNET"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkSecurityGroups/myvm1NSG","resourceType":"Microsoft.Network/networkSecurityGroups","resourceName":"myvm1NSG"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/publicIPAddresses/myvm1PublicIP","resourceType":"Microsoft.Network/publicIPAddresses","resourceName":"myvm1PublicIP"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic","resourceType":"Microsoft.Network/networkInterfaces","resourceName":"myvm1VMNic"},{"dependsOn":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic","resourceType":"Microsoft.Network/networkInterfaces","resourceName":"myvm1VMNic"}],"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1","resourceType":"Microsoft.Compute/virtualMachines","resourceName":"myvm1"}],"outputs":{},"outputResources":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkSecurityGroups/myvm1NSG"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/publicIPAddresses/myvm1PublicIP"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/virtualNetworks/myvm1VNET"}]}}' headers: cache-control: - no-cache content-length: - - '845' + - '3841' content-type: - application/json; charset=utf-8 date: - - Tue, 11 May 2021 08:25:55 GMT + - Mon, 31 May 2021 07:16:30 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-content-type-options: - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1196' - x-powered-by: - - ASP.NET status: code: 200 message: OK - request: - body: '{"properties": {"instanceName": "*", "intervalSeconds": 10, "objectName": - "Network", "performanceCounters": [{"counterName": "Total Bytes Transmitted"}, - {"counterName": "Total Bytes Received"}]}, "kind": "LinuxPerformanceObject"}' + body: null headers: Accept: - application/json @@ -1187,35 +399,73 @@ interactions: - vm create Connection: - keep-alive - Content-Length: - - '229' - Content-Type: - - application/json ParameterSetName: - - -n -g --image --nsg-rule --workspace --generate-ssh-keys + - -n -g --image --admin-username --generate-ssh-keys User-Agent: - - AZURECLI/2.23.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.8.8 (Windows-10-10.0.19041-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002/dataSources/DataSource_LinuxPerformanceObject_88888888-0000-0000-0000-000000000005?api-version=2020-08-01 + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1?$expand=instanceView&api-version=2021-03-01 response: body: - string: '{"kind":"LinuxPerformanceObject","properties":{"instanceName":"*","intervalSeconds":10,"objectName":"Network","performanceCounters":[{"counterName":"Total - Bytes Transmitted"},{"counterName":"Total Bytes Received"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002/datasources/DataSource_LinuxPerformanceObject_88888888-0000-0000-0000-000000000005","etag":"W/\"datetime''2021-05-11T08%3A25%3A57.1616528Z''\"","name":"DataSource_LinuxPerformanceObject_88888888-0000-0000-0000-000000000005","type":"Microsoft.OperationalInsights/workspaces/datasources"}' + string: "{\r\n \"name\": \"myvm1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1\",\r\n + \ \"type\": \"Microsoft.Compute/virtualMachines\",\r\n \"location\": \"eastus\",\r\n + \ \"tags\": {},\r\n \"properties\": {\r\n \"vmId\": \"5b0d93be-28ae-4cda-a281-cab5451fbe65\",\r\n + \ \"hardwareProfile\": {\r\n \"vmSize\": \"Standard_DS1_v2\"\r\n },\r\n + \ \"storageProfile\": {\r\n \"imageReference\": {\r\n \"publisher\": + \"Canonical\",\r\n \"offer\": \"UbuntuServer\",\r\n \"sku\": + \"18.04-LTS\",\r\n \"version\": \"latest\",\r\n \"exactVersion\": + \"18.04.202105120\"\r\n },\r\n \"osDisk\": {\r\n \"osType\": + \"Linux\",\r\n \"name\": \"myvm1_disk1_11dcc83dd64243d3a96b4266b33ee5db\",\r\n + \ \"createOption\": \"FromImage\",\r\n \"caching\": \"ReadWrite\",\r\n + \ \"managedDisk\": {\r\n \"storageAccountType\": \"Premium_LRS\",\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/disks/myvm1_disk1_11dcc83dd64243d3a96b4266b33ee5db\"\r\n + \ },\r\n \"diskSizeGB\": 30,\r\n \"deleteOption\": \"Detach\"\r\n + \ },\r\n \"dataDisks\": []\r\n },\r\n \"osProfile\": {\r\n + \ \"computerName\": \"myvm1\",\r\n \"adminUsername\": \"clitest000002\",\r\n + \ \"linuxConfiguration\": {\r\n \"disablePasswordAuthentication\": + true,\r\n \"ssh\": {\r\n \"publicKeys\": [\r\n {\r\n + \ \"path\": \"/home/clitest000002/.ssh/authorized_keys\",\r\n + \ \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDPMuHNzSd64J+szP6o1PrORXVyLcT0rnY1jkPNXt2taPECh5LJ1GFUbV/T8NphlT+jkgd6Q8DokO3x/IZ7gIVIO9CFsLUWAcvB0IGSRnIEK4MXIYFrHh45STacrSO+K1trflLXb2S8a4CNyZOuRja2w5+ggt+jSluGmoT19Os5pVv7Slh/Z536r60i/mA2MJhhwLWe9njCfhxCUAffOMD0tQgFCrieAB/fwNEYqmWNX4VWSbpO+1qfJzTl6SwRoFv9Z/v3szgexwHazlsUqlD1ALAcf6qnQcSh9VvqUZJpLW9vfOPkMGMKQdHTK0MbsrivLu41hg4yWyhC9yDmkNhGJAFgaYAJMdYuHH3GSX2xofP9HrN0PG4V+oVxL89St2mXrKlbNryZCtoOnw05ugEPiLmDCav8vZyRfz4/OQLq2yHUrkavU5R2PRFSfoBNrk894+5Cvr3eW7IEbl014ikiFMLhtRairBBeZhrdGbaMAsgaa5e6AfA5m2820Hf8sf8= + kairu@microsoft.com\\n\"\r\n }\r\n ]\r\n },\r\n + \ \"provisionVMAgent\": true,\r\n \"patchSettings\": {\r\n \"patchMode\": + \"ImageDefault\",\r\n \"assessmentMode\": \"ImageDefault\"\r\n }\r\n + \ },\r\n \"secrets\": [],\r\n \"allowExtensionOperations\": + true,\r\n \"requireGuestProvisionSignal\": true\r\n },\r\n \"networkProfile\": + {\"networkInterfaces\":[{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic\"}]},\r\n + \ \"provisioningState\": \"Succeeded\",\r\n \"instanceView\": {\r\n \"computerName\": + \"myvm1\",\r\n \"osName\": \"ubuntu\",\r\n \"osVersion\": \"18.04\",\r\n + \ \"vmAgent\": {\r\n \"vmAgentVersion\": \"2.2.54.2\",\r\n \"statuses\": + [\r\n {\r\n \"code\": \"ProvisioningState/succeeded\",\r\n + \ \"level\": \"Info\",\r\n \"displayStatus\": \"Ready\",\r\n + \ \"message\": \"Guest Agent is running\",\r\n \"time\": + \"2021-05-31T07:16:18+00:00\"\r\n }\r\n ],\r\n \"extensionHandlers\": + []\r\n },\r\n \"disks\": [\r\n {\r\n \"name\": \"myvm1_disk1_11dcc83dd64243d3a96b4266b33ee5db\",\r\n + \ \"statuses\": [\r\n {\r\n \"code\": \"ProvisioningState/succeeded\",\r\n + \ \"level\": \"Info\",\r\n \"displayStatus\": \"Provisioning + succeeded\",\r\n \"time\": \"2021-05-31T07:15:51.124142+00:00\"\r\n + \ }\r\n ]\r\n }\r\n ],\r\n \"hyperVGeneration\": + \"V1\",\r\n \"statuses\": [\r\n {\r\n \"code\": \"ProvisioningState/succeeded\",\r\n + \ \"level\": \"Info\",\r\n \"displayStatus\": \"Provisioning + succeeded\",\r\n \"time\": \"2021-05-31T07:16:06.8880256+00:00\"\r\n + \ },\r\n {\r\n \"code\": \"PowerState/running\",\r\n + \ \"level\": \"Info\",\r\n \"displayStatus\": \"VM running\"\r\n + \ }\r\n ]\r\n }\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '721' + - '4135' content-type: - application/json; charset=utf-8 date: - - Tue, 11 May 2021 08:25:56 GMT + - Mon, 31 May 2021 07:16:31 GMT expires: - '-1' pragma: - no-cache server: - - Microsoft-IIS/10.0 + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: @@ -1224,52 +474,70 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1195' - x-powered-by: - - ASP.NET + x-ms-ratelimit-remaining-resource: + - Microsoft.Compute/LowCostGet3Min;3993,Microsoft.Compute/LowCostGet30Min;31993 status: code: 200 message: OK - request: - body: '{"properties": {"state": "Enabled"}, "kind": "LinuxSyslogCollection"}' + body: null headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate CommandName: - vm create Connection: - keep-alive - Content-Length: - - '69' - Content-Type: - - application/json ParameterSetName: - - -n -g --image --nsg-rule --workspace --generate-ssh-keys + - -n -g --image --admin-username --generate-ssh-keys User-Agent: - - AZURECLI/2.23.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.8.8 (Windows-10-10.0.19041-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002/dataSources/DataSource_LinuxSyslogCollection_88888888-0000-0000-0000-000000000006?api-version=2020-08-01 + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic?api-version=2018-01-01 response: body: - string: '{"kind":"LinuxSyslogCollection","properties":{"state":"Enabled"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002/datasources/DataSource_LinuxSyslogCollection_88888888-0000-0000-0000-000000000006","etag":"W/\"datetime''2021-05-11T08%3A25%3A57.9219912Z''\"","name":"DataSource_LinuxSyslogCollection_88888888-0000-0000-0000-000000000006","type":"Microsoft.OperationalInsights/workspaces/datasources"}' + string: "{\r\n \"name\": \"myvm1VMNic\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic\",\r\n + \ \"etag\": \"W/\\\"d43fbfae-3433-4b8b-b81a-9fcb92d3b35e\\\"\",\r\n \"location\": + \"eastus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": + \"Succeeded\",\r\n \"resourceGuid\": \"49b6cca7-3ad1-4329-83d5-a036c0efe2c7\",\r\n + \ \"ipConfigurations\": [\r\n {\r\n \"name\": \"ipconfigmyvm1\",\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic/ipConfigurations/ipconfigmyvm1\",\r\n + \ \"etag\": \"W/\\\"d43fbfae-3433-4b8b-b81a-9fcb92d3b35e\\\"\",\r\n + \ \"type\": \"Microsoft.Network/networkInterfaces/ipConfigurations\",\r\n + \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n + \ \"privateIPAddress\": \"10.0.0.4\",\r\n \"privateIPAllocationMethod\": + \"Dynamic\",\r\n \"publicIPAddress\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/publicIPAddresses/myvm1PublicIP\"\r\n + \ },\r\n \"subnet\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/virtualNetworks/myvm1VNET/subnets/myvm1Subnet\"\r\n + \ },\r\n \"primary\": true,\r\n \"privateIPAddressVersion\": + \"IPv4\"\r\n }\r\n }\r\n ],\r\n \"dnsSettings\": {\r\n \"dnsServers\": + [],\r\n \"appliedDnsServers\": [],\r\n \"internalDomainNameSuffix\": + \"qldl2rgjocdupolrmukv2znftc.bx.internal.cloudapp.net\"\r\n },\r\n \"macAddress\": + \"00-0D-3A-16-4E-AE\",\r\n \"enableAcceleratedNetworking\": false,\r\n + \ \"enableIPForwarding\": false,\r\n \"networkSecurityGroup\": {\r\n + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkSecurityGroups/myvm1NSG\"\r\n + \ },\r\n \"primary\": true,\r\n \"virtualMachine\": {\r\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1\"\r\n + \ }\r\n },\r\n \"type\": \"Microsoft.Network/networkInterfaces\"\r\n}" headers: cache-control: - no-cache content-length: - - '568' + - '2588' content-type: - application/json; charset=utf-8 date: - - Tue, 11 May 2021 08:25:57 GMT + - Mon, 31 May 2021 07:16:32 GMT + etag: + - W/"d43fbfae-3433-4b8b-b81a-9fcb92d3b35e" expires: - '-1' pragma: - no-cache server: - - Microsoft-IIS/10.0 + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: @@ -1278,53 +546,57 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1194' - x-powered-by: - - ASP.NET + x-ms-arm-service-request-id: + - e5f2aa8c-0df8-43f8-8d97-825fdd88642b status: code: 200 message: OK - request: - body: '{"properties": {"syslogName": "syslog", "syslogSeverities": [{"severity": - "notice"}, {"severity": "info"}, {"severity": "debug"}]}, "kind": "LinuxSyslog"}' + body: null headers: Accept: - - application/json + - application/json, text/json Accept-Encoding: - gzip, deflate CommandName: - vm create Connection: - keep-alive - Content-Length: - - '154' - Content-Type: - - application/json ParameterSetName: - - -n -g --image --nsg-rule --workspace --generate-ssh-keys + - -n -g --image --admin-username --generate-ssh-keys User-Agent: - - AZURECLI/2.23.0 azsdk-python-mgmt-loganalytics/8.0.0 Python/3.8.8 (Windows-10-10.0.19041-SP0) - method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002/dataSources/DataSource_LinuxSyslog_88888888-0000-0000-0000-000000000007?api-version=2020-08-01 + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/publicIPAddresses/myvm1PublicIP?api-version=2018-01-01 response: body: - string: '{"kind":"LinuxSyslog","properties":{"syslogName":"syslog","syslogSeverities":[{"severity":"notice"},{"severity":"info"},{"severity":"debug"}]},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.OperationalInsights/workspaces/clitest000002/datasources/DataSource_LinuxSyslog_88888888-0000-0000-0000-000000000007","etag":"W/\"datetime''2021-05-11T08%3A25%3A58.6788337Z''\"","name":"DataSource_LinuxSyslog_88888888-0000-0000-0000-000000000007","type":"Microsoft.OperationalInsights/workspaces/datasources"}' + string: "{\r\n \"name\": \"myvm1PublicIP\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/publicIPAddresses/myvm1PublicIP\",\r\n + \ \"etag\": \"W/\\\"699030e3-9190-4735-9647-2f5278fde227\\\"\",\r\n \"location\": + \"eastus\",\r\n \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": + \"Succeeded\",\r\n \"resourceGuid\": \"db71bbaa-ebbc-4b90-b06f-88598b4c7656\",\r\n + \ \"ipAddress\": \"52.186.121.232\",\r\n \"publicIPAddressVersion\": + \"IPv4\",\r\n \"publicIPAllocationMethod\": \"Dynamic\",\r\n \"idleTimeoutInMinutes\": + 4,\r\n \"ipTags\": [],\r\n \"ipConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Network/networkInterfaces/myvm1VMNic/ipConfigurations/ipconfigmyvm1\"\r\n + \ }\r\n },\r\n \"type\": \"Microsoft.Network/publicIPAddresses\",\r\n + \ \"sku\": {\r\n \"name\": \"Basic\"\r\n }\r\n}" headers: cache-control: - no-cache content-length: - - '626' + - '1006' content-type: - application/json; charset=utf-8 date: - - Tue, 11 May 2021 08:25:58 GMT + - Mon, 31 May 2021 07:16:32 GMT + etag: + - W/"699030e3-9190-4735-9647-2f5278fde227" expires: - '-1' pragma: - no-cache server: - - Microsoft-IIS/10.0 + - Microsoft-HTTPAPI/2.0 + - Microsoft-HTTPAPI/2.0 strict-transport-security: - max-age=31536000; includeSubDomains transfer-encoding: @@ -1333,10 +605,8 @@ interactions: - Accept-Encoding x-content-type-options: - nosniff - x-ms-ratelimit-remaining-subscription-writes: - - '1193' - x-powered-by: - - ASP.NET + x-ms-arm-service-request-id: + - 9e7596f8-ab05-4aab-a3c1-016457b91089 status: code: 200 message: OK @@ -1354,15 +624,12 @@ interactions: ParameterSetName: - -g -n --scopes --condition --condition-query --description User-Agent: - - python/3.8.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.1.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001","name":"cli_test_scheduled_query000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"product":"azurecli","cause":"automation","date":"2021-05-11T08:22:37Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001","name":"cli_test_scheduled_query000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"product":"azurecli","cause":"automation","date":"2021-05-31T07:15:05Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -1371,7 +638,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 11 May 2021 08:29:00 GMT + - Mon, 31 May 2021 07:16:35 GMT expires: - '-1' pragma: @@ -1390,9 +657,9 @@ interactions: 2, "enabled": true, "scopes": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1"], "evaluationFrequency": "PT5M", "windowSize": "PT5M", "criteria": {"allOf": [{"query": "union Event, Syslog | where TimeGenerated > ago(1h)", "timeAggregation": "Count", - "dimensions": [], "operator": "GreaterThan", "threshold": 360, "failingPeriods": - {"numberOfEvaluationPeriods": 1, "minFailingPeriodsToAlert": 1}}]}, "muteActionsDuration": - "PT30M"}}' + "dimensions": [], "operator": "GreaterThan", "threshold": 360.0, "failingPeriods": + {"numberOfEvaluationPeriods": 1, "minFailingPeriodsToAlert": 1}}]}, "checkWorkspaceAlertsStorageConfigured": + false, "skipQueryValidation": false, "autoMitigate": true}}' headers: Accept: - application/json @@ -1403,32 +670,29 @@ interactions: Connection: - keep-alive Content-Length: - - '656' + - '726' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - -g -n --scopes --condition --condition-query --description User-Agent: - - python/3.8.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-monitor/2020-05-01-preview Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.24.0 azsdk-python-mgmt-monitor/unknown Python/3.8.10 (Windows-10-10.0.19043-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Insights/scheduledQueryRules/sq01?api-version=2020-05-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Insights/scheduledQueryRules/sq01?api-version=2021-02-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.insights/scheduledqueryrules/sq01","name":"sq01","type":"microsoft.insights/scheduledqueryrules","location":"eastus","properties":{"description":"Test rule","severity":2,"enabled":true,"evaluationFrequency":"PT5M","scopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1"],"windowSize":"PT5M","criteria":{"allOf":[{"query":"union - Event, Syslog | where TimeGenerated > ago(1h)","timeAggregation":"Count","dimensions":[],"operator":"GreaterThan","threshold":360.0,"failingPeriods":{"numberOfEvaluationPeriods":1,"minFailingPeriodsToAlert":1}}]},"muteActionsDuration":"PT30M"}}' + Event, Syslog | where TimeGenerated > ago(1h)","timeAggregation":"Count","dimensions":[],"operator":"GreaterThan","threshold":360.0,"failingPeriods":{"numberOfEvaluationPeriods":1,"minFailingPeriodsToAlert":1}}]},"autoMitigate":true,"checkWorkspaceAlertsStorageConfigured":false,"skipQueryValidation":false}}' headers: cache-control: - no-cache content-length: - - '891' + - '955' content-type: - application/json; charset=utf-8 date: - - Tue, 11 May 2021 08:29:14 GMT + - Mon, 31 May 2021 07:16:47 GMT expires: - '-1' pragma: @@ -1440,7 +704,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1199' status: code: 201 message: Created @@ -1452,36 +716,40 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - monitor scheduled-query create + - monitor scheduled-query update Connection: - keep-alive ParameterSetName: - - -g -n --scopes --condition --description + - -g -n --condition --condition-query --description --severity --disabled --evaluation-frequency + --window-size User-Agent: - - python/3.8.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-resource/12.1.0 Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.24.0 azsdk-python-mgmt-monitor/unknown Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/cli_test_scheduled_query000001?api-version=2020-10-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Insights/scheduledQueryRules/sq01?api-version=2021-02-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001","name":"cli_test_scheduled_query000001","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"product":"azurecli","cause":"automation","date":"2021-05-11T08:22:37Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.insights/scheduledqueryrules/sq01","name":"sq01","type":"microsoft.insights/scheduledqueryrules","location":"eastus","properties":{"description":"Test + rule","severity":2,"enabled":true,"evaluationFrequency":"PT5M","scopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1"],"windowSize":"PT5M","criteria":{"allOf":[{"query":"union + Event, Syslog | where TimeGenerated > ago(1h)","timeAggregation":"Count","dimensions":[],"operator":"GreaterThan","threshold":360.0,"failingPeriods":{"numberOfEvaluationPeriods":1,"minFailingPeriodsToAlert":1}}]},"autoMitigate":true,"checkWorkspaceAlertsStorageConfigured":false,"skipQueryValidation":false}}' headers: cache-control: - no-cache content-length: - - '428' + - '955' content-type: - application/json; charset=utf-8 date: - - Tue, 11 May 2021 08:29:15 GMT + - Mon, 31 May 2021 07:16:49 GMT expires: - '-1' pragma: - no-cache + server: + - Kestrel strict-transport-security: - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked vary: - Accept-Encoding x-content-type-options: @@ -1490,49 +758,48 @@ interactions: code: 200 message: OK - request: - body: '{"location": "eastus", "properties": {"description": "Test rule", "severity": - 2, "enabled": true, "scopes": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001"], - "evaluationFrequency": "PT5M", "windowSize": "PT5M", "criteria": {"allOf": [{"query": - "union Event, Syslog | where TimeGenerated > ago(1h)", "timeAggregation": "Count", - "resourceIdColumn": "_ResourceId", "dimensions": [], "operator": "GreaterThan", - "threshold": 360, "failingPeriods": {"numberOfEvaluationPeriods": 1, "minFailingPeriodsToAlert": - 1}}]}, "muteActionsDuration": "PT30M"}}' + body: '{"location": "eastus", "properties": {"description": "Test rule 2", "severity": + 4, "enabled": false, "scopes": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1"], + "evaluationFrequency": "PT10M", "windowSize": "PT10M", "criteria": {"allOf": + [{"query": "union Event | where TimeGenerated > ago(2h)", "timeAggregation": + "Count", "resourceIdColumn": "_ResourceId", "dimensions": [], "operator": "LessThan", + "threshold": 260.0, "failingPeriods": {"numberOfEvaluationPeriods": 3, "minFailingPeriodsToAlert": + 2}}]}, "checkWorkspaceAlertsStorageConfigured": false, "skipQueryValidation": + false, "autoMitigate": true}}' headers: Accept: - application/json Accept-Encoding: - gzip, deflate CommandName: - - monitor scheduled-query create + - monitor scheduled-query update Connection: - keep-alive Content-Length: - - '641' + - '755' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - - -g -n --scopes --condition --description + - -g -n --condition --condition-query --description --severity --disabled --evaluation-frequency + --window-size User-Agent: - - python/3.8.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-monitor/2020-05-01-preview Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.24.0 azsdk-python-mgmt-monitor/unknown Python/3.8.10 (Windows-10-10.0.19043-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Insights/scheduledQueryRules/sq02?api-version=2020-05-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Insights/scheduledQueryRules/sq01?api-version=2021-02-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.insights/scheduledqueryrules/sq02","name":"sq02","type":"microsoft.insights/scheduledqueryrules","location":"eastus","properties":{"description":"Test - rule","severity":2,"enabled":true,"evaluationFrequency":"PT5M","scopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001"],"windowSize":"PT5M","criteria":{"allOf":[{"query":"union - Event, Syslog | where TimeGenerated > ago(1h)","timeAggregation":"Count","dimensions":[],"resourceIdColumn":"_ResourceId","operator":"GreaterThan","threshold":360.0,"failingPeriods":{"numberOfEvaluationPeriods":1,"minFailingPeriodsToAlert":1}}]},"muteActionsDuration":"PT30M"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.insights/scheduledqueryrules/sq01","name":"sq01","type":"microsoft.insights/scheduledqueryrules","location":"eastus","properties":{"description":"Test + rule 2","severity":4,"enabled":false,"evaluationFrequency":"PT10M","scopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1"],"windowSize":"PT10M","criteria":{"allOf":[{"query":"union + Event | where TimeGenerated > ago(2h)","timeAggregation":"Count","dimensions":[],"resourceIdColumn":"_ResourceId","operator":"LessThan","threshold":260.0,"failingPeriods":{"numberOfEvaluationPeriods":3,"minFailingPeriodsToAlert":2}}]},"autoMitigate":true,"checkWorkspaceAlertsStorageConfigured":false,"skipQueryValidation":false}}' headers: cache-control: - no-cache content-length: - - '874' + - '982' content-type: - application/json; charset=utf-8 date: - - Tue, 11 May 2021 08:29:23 GMT + - Mon, 31 May 2021 07:16:52 GMT expires: - '-1' pragma: @@ -1541,13 +808,17 @@ interactions: - Kestrel 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' + - '1195' status: - code: 201 - message: Created + code: 200 + message: OK - request: body: null headers: @@ -1560,29 +831,25 @@ interactions: Connection: - keep-alive ParameterSetName: - - -g -n --condition --condition-query --description --severity --disabled --evaluation-frequency - --window-size + - -g -n --mad --auto-mitigate User-Agent: - - python/3.8.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-monitor/2020-05-01-preview Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.24.0 azsdk-python-mgmt-monitor/unknown Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Insights/scheduledQueryRules/sq01?api-version=2020-05-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Insights/scheduledQueryRules/sq01?api-version=2021-02-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.insights/scheduledqueryrules/sq01","name":"sq01","type":"microsoft.insights/scheduledqueryrules","location":"eastus","properties":{"description":"Test - rule","severity":2,"enabled":true,"evaluationFrequency":"PT5M","scopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1"],"windowSize":"PT5M","criteria":{"allOf":[{"query":"union - Event, Syslog | where TimeGenerated > ago(1h)","timeAggregation":"Count","dimensions":[],"operator":"GreaterThan","threshold":360.0,"failingPeriods":{"numberOfEvaluationPeriods":1,"minFailingPeriodsToAlert":1}}]},"muteActionsDuration":"PT30M"}}' + rule 2","severity":4,"enabled":false,"evaluationFrequency":"PT10M","scopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1"],"windowSize":"PT10M","criteria":{"allOf":[{"query":"union + Event | where TimeGenerated > ago(2h)","timeAggregation":"Count","dimensions":[],"resourceIdColumn":"_ResourceId","operator":"LessThan","threshold":260.0,"failingPeriods":{"numberOfEvaluationPeriods":3,"minFailingPeriodsToAlert":2}}]},"autoMitigate":true,"checkWorkspaceAlertsStorageConfigured":false,"skipQueryValidation":false}}' headers: cache-control: - no-cache content-length: - - '891' + - '982' content-type: - application/json; charset=utf-8 date: - - Tue, 11 May 2021 08:29:24 GMT + - Mon, 31 May 2021 07:16:53 GMT expires: - '-1' pragma: @@ -1606,8 +873,9 @@ interactions: "evaluationFrequency": "PT10M", "windowSize": "PT10M", "criteria": {"allOf": [{"query": "union Event | where TimeGenerated > ago(2h)", "timeAggregation": "Count", "resourceIdColumn": "_ResourceId", "dimensions": [], "operator": "LessThan", - "threshold": 260, "failingPeriods": {"numberOfEvaluationPeriods": 3, "minFailingPeriodsToAlert": - 2}}]}, "muteActionsDuration": "PT30M"}}' + "threshold": 260.0, "failingPeriods": {"numberOfEvaluationPeriods": 3, "minFailingPeriodsToAlert": + 2}}]}, "muteActionsDuration": "PT30M", "checkWorkspaceAlertsStorageConfigured": + false, "skipQueryValidation": false, "autoMitigate": false}}' headers: Accept: - application/json @@ -1618,33 +886,29 @@ interactions: Connection: - keep-alive Content-Length: - - '685' + - '788' Content-Type: - - application/json; charset=utf-8 + - application/json ParameterSetName: - - -g -n --condition --condition-query --description --severity --disabled --evaluation-frequency - --window-size + - -g -n --mad --auto-mitigate User-Agent: - - python/3.8.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-monitor/2020-05-01-preview Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.24.0 azsdk-python-mgmt-monitor/unknown Python/3.8.10 (Windows-10-10.0.19043-SP0) method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Insights/scheduledQueryRules/sq01?api-version=2020-05-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Insights/scheduledQueryRules/sq01?api-version=2021-02-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.insights/scheduledqueryrules/sq01","name":"sq01","type":"microsoft.insights/scheduledqueryrules","location":"eastus","properties":{"description":"Test rule 2","severity":4,"enabled":false,"evaluationFrequency":"PT10M","scopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1"],"windowSize":"PT10M","criteria":{"allOf":[{"query":"union - Event | where TimeGenerated > ago(2h)","timeAggregation":"Count","dimensions":[],"resourceIdColumn":"_ResourceId","operator":"LessThan","threshold":260.0,"failingPeriods":{"numberOfEvaluationPeriods":3,"minFailingPeriodsToAlert":2}}]},"muteActionsDuration":"PT30M"}}' + Event | where TimeGenerated > ago(2h)","timeAggregation":"Count","dimensions":[],"resourceIdColumn":"_ResourceId","operator":"LessThan","threshold":260.0,"failingPeriods":{"numberOfEvaluationPeriods":3,"minFailingPeriodsToAlert":2}}]},"autoMitigate":false,"muteActionsDuration":"PT30M","checkWorkspaceAlertsStorageConfigured":false,"skipQueryValidation":false}}' headers: cache-control: - no-cache content-length: - - '918' + - '1013' content-type: - application/json; charset=utf-8 date: - - Tue, 11 May 2021 08:29:30 GMT + - Mon, 31 May 2021 07:16:56 GMT expires: - '-1' pragma: @@ -1678,26 +942,23 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.8.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-monitor/2020-05-01-preview Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.24.0 azsdk-python-mgmt-monitor/unknown Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Insights/scheduledQueryRules/sq01?api-version=2020-05-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Insights/scheduledQueryRules/sq01?api-version=2021-02-01-preview response: body: string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.insights/scheduledqueryrules/sq01","name":"sq01","type":"microsoft.insights/scheduledqueryrules","location":"eastus","properties":{"description":"Test rule 2","severity":4,"enabled":false,"evaluationFrequency":"PT10M","scopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1"],"windowSize":"PT10M","criteria":{"allOf":[{"query":"union - Event | where TimeGenerated > ago(2h)","timeAggregation":"Count","dimensions":[],"resourceIdColumn":"_ResourceId","operator":"LessThan","threshold":260.0,"failingPeriods":{"numberOfEvaluationPeriods":3,"minFailingPeriodsToAlert":2}}]},"muteActionsDuration":"PT30M"}}' + Event | where TimeGenerated > ago(2h)","timeAggregation":"Count","dimensions":[],"resourceIdColumn":"_ResourceId","operator":"LessThan","threshold":260.0,"failingPeriods":{"numberOfEvaluationPeriods":3,"minFailingPeriodsToAlert":2}}]},"autoMitigate":false,"muteActionsDuration":"PT30M","checkWorkspaceAlertsStorageConfigured":false,"skipQueryValidation":false}}' headers: cache-control: - no-cache content-length: - - '918' + - '1013' content-type: - application/json; charset=utf-8 date: - - Tue, 11 May 2021 08:29:30 GMT + - Mon, 31 May 2021 07:16:56 GMT expires: - '-1' pragma: @@ -1729,28 +990,23 @@ interactions: ParameterSetName: - -g User-Agent: - - python/3.8.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-monitor/2020-05-01-preview Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.24.0 azsdk-python-mgmt-monitor/unknown Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Insights/scheduledQueryRules?api-version=2020-05-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Insights/scheduledQueryRules?api-version=2021-02-01-preview response: body: string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.insights/scheduledqueryrules/sq01","name":"sq01","type":"microsoft.insights/scheduledqueryrules","location":"eastus","properties":{"description":"Test rule 2","severity":4,"enabled":false,"evaluationFrequency":"PT10M","scopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1"],"windowSize":"PT10M","criteria":{"allOf":[{"query":"union - Event | where TimeGenerated > ago(2h)","timeAggregation":"Count","dimensions":[],"resourceIdColumn":"_ResourceId","operator":"LessThan","threshold":260.0,"failingPeriods":{"numberOfEvaluationPeriods":3,"minFailingPeriodsToAlert":2}}]},"muteActionsDuration":"PT30M"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.insights/scheduledqueryrules/sq02","name":"sq02","type":"microsoft.insights/scheduledqueryrules","location":"eastus","properties":{"description":"Test - rule","severity":2,"enabled":true,"evaluationFrequency":"PT5M","scopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001"],"windowSize":"PT5M","criteria":{"allOf":[{"query":"union - Event, Syslog | where TimeGenerated > ago(1h)","timeAggregation":"Count","dimensions":[],"resourceIdColumn":"_ResourceId","operator":"GreaterThan","threshold":360.0,"failingPeriods":{"numberOfEvaluationPeriods":1,"minFailingPeriodsToAlert":1}}]},"muteActionsDuration":"PT30M"}}]}' + Event | where TimeGenerated > ago(2h)","timeAggregation":"Count","dimensions":[],"resourceIdColumn":"_ResourceId","operator":"LessThan","threshold":260.0,"failingPeriods":{"numberOfEvaluationPeriods":3,"minFailingPeriodsToAlert":2}}]},"autoMitigate":false,"muteActionsDuration":"PT30M","checkWorkspaceAlertsStorageConfigured":false,"skipQueryValidation":false}}]}' headers: cache-control: - no-cache content-length: - - '1805' + - '1025' content-type: - application/json; charset=utf-8 date: - - Tue, 11 May 2021 08:29:32 GMT + - Mon, 31 May 2021 07:16:58 GMT expires: - '-1' pragma: @@ -1780,29 +1036,24 @@ interactions: Connection: - keep-alive User-Agent: - - python/3.8.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-monitor/2020-05-01-preview Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.24.0 azsdk-python-mgmt-monitor/unknown Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Insights/scheduledQueryRules?api-version=2020-05-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Insights/scheduledQueryRules?api-version=2021-02-01-preview response: body: string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.insights/scheduledqueryrules/sq01","name":"sq01","type":"microsoft.insights/scheduledqueryrules","location":"eastus","properties":{"description":"Test rule 2","severity":4,"enabled":false,"evaluationFrequency":"PT10M","scopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Compute/virtualMachines/myvm1"],"windowSize":"PT10M","criteria":{"allOf":[{"query":"union - Event | where TimeGenerated > ago(2h)","timeAggregation":"Count","dimensions":[],"resourceIdColumn":"_ResourceId","operator":"LessThan","threshold":260.0,"failingPeriods":{"numberOfEvaluationPeriods":3,"minFailingPeriodsToAlert":2}}]},"muteActionsDuration":"PT30M"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/microsoft.insights/scheduledqueryrules/sq02","name":"sq02","type":"microsoft.insights/scheduledqueryrules","location":"eastus","properties":{"description":"Test - rule","severity":2,"enabled":true,"evaluationFrequency":"PT5M","scopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001"],"windowSize":"PT5M","criteria":{"allOf":[{"query":"union - Event, Syslog | where TimeGenerated > ago(1h)","timeAggregation":"Count","dimensions":[],"resourceIdColumn":"_ResourceId","operator":"GreaterThan","threshold":360.0,"failingPeriods":{"numberOfEvaluationPeriods":1,"minFailingPeriodsToAlert":1}}]},"muteActionsDuration":"PT30M"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhoxing-test/providers/microsoft.insights/scheduledqueryrules/zhoxing-test","name":"zhoxing-test","type":"microsoft.insights/scheduledqueryrules","location":"centralus","tags":{"hidden-link:/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testece/providers/Microsoft.OperationalInsights/workspaces/mmeum-analytics-workspace-testece":""},"properties":{"displayName":"zhoxing-test","description":"","severity":3,"enabled":false,"evaluationFrequency":"PT5M","scopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhoxing-test/providers/microsoft.insights/components/zhoxing-test"],"windowSize":"PT5M","criteria":{"allOf":[{"query":"requests + Event | where TimeGenerated > ago(2h)","timeAggregation":"Count","dimensions":[],"resourceIdColumn":"_ResourceId","operator":"LessThan","threshold":260.0,"failingPeriods":{"numberOfEvaluationPeriods":3,"minFailingPeriodsToAlert":2}}]},"autoMitigate":false,"muteActionsDuration":"PT30M","checkWorkspaceAlertsStorageConfigured":false,"skipQueryValidation":false}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhoxing-test/providers/microsoft.insights/scheduledqueryrules/zhoxing-test","name":"zhoxing-test","type":"microsoft.insights/scheduledqueryrules","location":"centralus","tags":{"hidden-link:/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testece/providers/Microsoft.OperationalInsights/workspaces/mmeum-analytics-workspace-testece":""},"properties":{"displayName":"zhoxing-test","description":"","severity":3,"enabled":false,"evaluationFrequency":"PT5M","scopes":["/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zhoxing-test/providers/microsoft.insights/components/zhoxing-test"],"windowSize":"PT5M","criteria":{"allOf":[{"query":"requests | where resultCode == \"500\"","timeAggregation":"Count","metricMeasureColumn":"","operator":"GreaterThan","threshold":5.0,"failingPeriods":{"numberOfEvaluationPeriods":1,"minFailingPeriodsToAlert":1}}]},"actions":[{"actionGroupId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/default-activitylogalerts/providers/microsoft.insights/actiongroups/zhoxing-test"}]}}]}' headers: cache-control: - no-cache content-length: - - '2944' + - '2164' content-type: - application/json; charset=utf-8 date: - - Tue, 11 May 2021 08:29:34 GMT + - Mon, 31 May 2021 07:16:59 GMT expires: - '-1' pragma: @@ -1836,12 +1087,9 @@ interactions: ParameterSetName: - -g -n -y User-Agent: - - python/3.8.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-monitor/2020-05-01-preview Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.24.0 azsdk-python-mgmt-monitor/unknown Python/3.8.10 (Windows-10-10.0.19043-SP0) method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Insights/scheduledQueryRules/sq01?api-version=2020-05-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Insights/scheduledQueryRules/sq01?api-version=2021-02-01-preview response: body: string: '' @@ -1851,7 +1099,7 @@ interactions: content-length: - '0' date: - - Tue, 11 May 2021 08:29:47 GMT + - Mon, 31 May 2021 07:17:10 GMT expires: - '-1' pragma: @@ -1881,12 +1129,9 @@ interactions: ParameterSetName: - -g -n User-Agent: - - python/3.8.8 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-monitor/2020-05-01-preview Azure-SDK-For-Python AZURECLI/2.23.0 - accept-language: - - en-US + - AZURECLI/2.24.0 azsdk-python-mgmt-monitor/unknown Python/3.8.10 (Windows-10-10.0.19043-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Insights/scheduledQueryRules/sq01?api-version=2020-05-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_scheduled_query000001/providers/Microsoft.Insights/scheduledQueryRules/sq01?api-version=2021-02-01-preview response: body: string: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.Insights/scheduledqueryrules/sq01'' @@ -1900,7 +1145,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 11 May 2021 08:29:47 GMT + - Mon, 31 May 2021 07:17:10 GMT expires: - '-1' pragma: diff --git a/src/scheduled-query/azext_scheduled_query/tests/latest/test_scheduled_query_scenario.py b/src/scheduled-query/azext_scheduled_query/tests/latest/test_scheduled_query_scenario.py index de247fe28e1..290867d0ee5 100644 --- a/src/scheduled-query/azext_scheduled_query/tests/latest/test_scheduled_query_scenario.py +++ b/src/scheduled-query/azext_scheduled_query/tests/latest/test_scheduled_query_scenario.py @@ -17,17 +17,13 @@ class Scheduled_queryScenarioTest(ScenarioTest): @ResourceGroupPreparer(name_prefix='cli_test_scheduled_query', location='eastus') def test_scheduled_query(self, resource_group): from azure.mgmt.core.tools import resource_id - import time - import mock self.kwargs.update({ 'name1': 'sq01', - 'name2': 'sq02', 'rg': resource_group, 'vm': 'myvm1', 'ws': self.create_random_name('clitest', 20) }) - with mock.patch('azure.cli.command_modules.vm.custom._gen_guid', side_effect=self.create_guid): - vm = self.cmd('vm create -n {vm} -g {rg} --image UbuntuLTS --nsg-rule None --workspace {ws} --generate-ssh-keys').get_output_in_json() + vm = self.cmd('vm create -n {vm} -g {rg} --image UbuntuLTS --admin-username {ws} --generate-ssh-keys').get_output_in_json() self.kwargs.update({ 'vm_id': vm['id'], 'rg_id': resource_id(subscription=self.get_subscription_id(), @@ -35,7 +31,6 @@ def test_scheduled_query(self, resource_group): 'sub_id': resource_id(subscription=self.get_subscription_id(), resource_group=resource_group), }) - time.sleep(180) self.cmd('monitor scheduled-query create -g {rg} -n {name1} --scopes {vm_id} --condition "count \'placeholder_1\' > 360" --condition-query placeholder_1="union Event, Syslog | where TimeGenerated > ago(1h)" --description "Test rule"', checks=[ self.check('name', '{name1}'), @@ -46,13 +41,10 @@ def test_scheduled_query(self, resource_group): self.check('criteria.allOf[0].timeAggregation', 'Count'), self.check('criteria.allOf[0].operator', 'GreaterThan'), self.check('criteria.allOf[0].failingPeriods.minFailingPeriodsToAlert', 1), - self.check('criteria.allOf[0].failingPeriods.numberOfEvaluationPeriods', 1) - ]) - self.cmd('monitor scheduled-query create -g {rg} -n {name2} --scopes {rg_id} --condition "count \'union Event, Syslog | where TimeGenerated > ago(1h)\' > 360 resource id _ResourceId" --description "Test rule"', - checks=[ - self.check('name', '{name2}'), - self.check('scopes[0]', '{rg_id}'), - self.check('severity', 2) + self.check('criteria.allOf[0].failingPeriods.numberOfEvaluationPeriods', 1), + self.check('autoMitigate', True), + self.check('skipQueryValidation', False), + self.check('checkWorkspaceAlertsStorageConfigured', False) ]) self.cmd('monitor scheduled-query update -g {rg} -n {name1} --condition "count \'placeholder_1\' < 260 resource id _ResourceId at least 2 violations out of 3 aggregated points" --condition-query placeholder_1="union Event | where TimeGenerated > ago(2h)" --description "Test rule 2" --severity 4 --disabled --evaluation-frequency 10m --window-size 10m', checks=[ @@ -68,13 +60,17 @@ def test_scheduled_query(self, resource_group): self.check('criteria.allOf[0].failingPeriods.minFailingPeriodsToAlert', 2), self.check('criteria.allOf[0].failingPeriods.numberOfEvaluationPeriods', 3) ]) + self.cmd('monitor scheduled-query update -g {rg} -n {name1} --mad PT30M --auto-mitigate false', checks=[ + self.check('muteActionsDuration', '0:30:00'), + self.check('autoMitigate', False) + ]) self.cmd('monitor scheduled-query show -g {rg} -n {name1}', checks=[ self.check('name', '{name1}') ]) self.cmd('monitor scheduled-query list -g {rg}', checks=[ - self.check('length(@)', 2) + self.check('length(@)', 1) ]) self.cmd('monitor scheduled-query list', checks=[ @@ -84,7 +80,7 @@ def test_scheduled_query(self, resource_group): self.cmd('monitor scheduled-query show -g {rg} -n {name1}') -class ScheduledQueryCondtionTest(unittest.TestCase): +class ScheduledQueryConditionTest(unittest.TestCase): def _build_namespace(self, name_or_id=None, resource_group=None, provider_namespace=None, parent=None, resource_type=None): diff --git a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/__init__.py b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/__init__.py index 940dc046983..ccbeb512b0c 100644 --- a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/__init__.py +++ b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/__init__.py @@ -1,19 +1,16 @@ # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# +# Licensed under the MIT License. See License.txt in the project root for license information. # Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from ._configuration import MonitorClientConfiguration -from ._monitor_client import MonitorClient -__all__ = ['MonitorClient', 'MonitorClientConfiguration'] - -from .version import VERSION - -__version__ = VERSION +from ._monitor_management_client import MonitorManagementClient +__all__ = ['MonitorManagementClient'] +try: + from ._patch import patch_sdk # type: ignore + patch_sdk() +except ImportError: + pass diff --git a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/_configuration.py b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/_configuration.py index b3de8cc8b8f..feca4f041b5 100644 --- a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/_configuration.py +++ b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/_configuration.py @@ -1,48 +1,70 @@ # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# +# Licensed under the MIT License. See License.txt in the project root for license information. # Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from msrestazure import AzureConfiguration -from .version import VERSION +from typing import TYPE_CHECKING +from azure.core.configuration import Configuration +from azure.core.pipeline import policies +from azure.mgmt.core.policies import ARMHttpLoggingPolicy + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any + + from azure.core.credentials import TokenCredential + +VERSION = "unknown" + +class MonitorManagementClientConfiguration(Configuration): + """Configuration for MonitorManagementClient. -class MonitorClientConfiguration(AzureConfiguration): - """Configuration for MonitorClient 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 Azure subscription Id. + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential + :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.") + self, + credential, # type: "TokenCredential" + subscription_id, # type: str + **kwargs # type: Any + ): + # type: (...) -> None + if credential is None: + raise ValueError("Parameter 'credential' 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(MonitorManagementClientConfiguration, self).__init__(**kwargs) - super(MonitorClientConfiguration, self).__init__(base_url) - - # Starting Autorest.Python 4.0.64, make connection pool activated by default - self.keep_alive = True - - self.add_user_agent('azure-mgmt-monitor/{}'.format(VERSION)) - self.add_user_agent('Azure-SDK-For-Python') - - self.credentials = credentials + self.credential = credential self.subscription_id = subscription_id + self.api_version = "2021-02-01-preview" + self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) + kwargs.setdefault('sdk_moniker', 'mgmt-monitor/{}'.format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, + **kwargs # type: Any + ): + # type: (...) -> None + self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get('authentication_policy') + if self.credential and not self.authentication_policy: + self.authentication_policy = policies.BearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) diff --git a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/_monitor_client.py b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/_monitor_client.py deleted file mode 100644 index 9126e1c0d2c..00000000000 --- a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/_monitor_client.py +++ /dev/null @@ -1,49 +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.service_client import SDKClient -from msrest import Serializer, Deserializer - -from ._configuration import MonitorClientConfiguration -from .operations import ScheduledQueryRulesOperations -from . import models - - -class MonitorClient(SDKClient): - """Monitor Management Client - - :ivar config: Configuration for client. - :vartype config: MonitorClientConfiguration - - :ivar scheduled_query_rules: ScheduledQueryRules operations - :vartype scheduled_query_rules: azure.mgmt.monitor.v2020_05_01_preview.operations.ScheduledQueryRulesOperations - - :param credentials: Credentials needed for the client to connect to Azure. - :type credentials: :mod:`A msrestazure Credentials - object` - :param subscription_id: The Azure subscription Id. - :type subscription_id: str - :param str base_url: Service URL - """ - - def __init__( - self, credentials, subscription_id, base_url=None): - - self.config = MonitorClientConfiguration(credentials, subscription_id, base_url) - super(MonitorClient, 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 = '2020-05-01-preview' - self._serialize = Serializer(client_models) - self._deserialize = Deserializer(client_models) - - self.scheduled_query_rules = ScheduledQueryRulesOperations( - self._client, self.config, self._serialize, self._deserialize) diff --git a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/_monitor_management_client.py b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/_monitor_management_client.py new file mode 100644 index 00000000000..45f59183835 --- /dev/null +++ b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/_monitor_management_client.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 typing import TYPE_CHECKING + +from azure.mgmt.core import ARMPipelineClient +from msrest import Deserializer, Serializer + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Optional + + from azure.core.credentials import TokenCredential + from azure.core.pipeline.transport import HttpRequest, HttpResponse + +from ._configuration import MonitorManagementClientConfiguration +from .operations import ScheduledQueryRulesOperations +from . import models + + +class MonitorManagementClient(object): + """Monitor Management Client. + + :ivar scheduled_query_rules: ScheduledQueryRulesOperations operations + :vartype scheduled_query_rules: $(python-base-namespace).v2021_02_01_preview.operations.ScheduledQueryRulesOperations + :param credential: Credential needed for the client to connect to Azure. + :type credential: ~azure.core.credentials.TokenCredential + :param subscription_id: The ID of the target subscription. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, + credential, # type: "TokenCredential" + subscription_id, # type: str + base_url=None, # type: Optional[str] + **kwargs # type: Any + ): + # type: (...) -> None + if not base_url: + base_url = 'https://management.azure.com' + self._config = MonitorManagementClientConfiguration(credential, subscription_id, **kwargs) + self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self._serialize = Serializer(client_models) + self._serialize.client_side_validation = False + self._deserialize = Deserializer(client_models) + + self.scheduled_query_rules = ScheduledQueryRulesOperations( + self._client, self._config, self._serialize, self._deserialize) + + def _send_request(self, http_request, **kwargs): + # type: (HttpRequest, Any) -> HttpResponse + """Runs the network request through the client's chained policies. + + :param http_request: The network request you want to make. Required. + :type http_request: ~azure.core.pipeline.transport.HttpRequest + :keyword bool stream: Whether the response payload will be streamed. Defaults to True. + :return: The response of your network call. Does not do error handling on your response. + :rtype: ~azure.core.pipeline.transport.HttpResponse + """ + path_format_arguments = { + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + } + http_request.url = self._client.format_url(http_request.url, **path_format_arguments) + stream = kwargs.pop("stream", True) + pipeline_response = self._client._pipeline.run(http_request, stream=stream, **kwargs) + return pipeline_response.http_response + + def close(self): + # type: () -> None + self._client.close() + + def __enter__(self): + # type: () -> MonitorManagementClient + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/models/__init__.py b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/models/__init__.py index cfb55074177..b7bb79bb497 100644 --- a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/models/__init__.py +++ b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/models/__init__.py @@ -1,68 +1,70 @@ # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# +# Licensed under the MIT License. See License.txt in the project root for license information. # Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- try: from ._models_py3 import Action - from ._models_py3 import AzureEntityResource from ._models_py3 import Condition from ._models_py3 import ConditionFailingPeriods from ._models_py3 import Dimension from ._models_py3 import ErrorAdditionalInfo - from ._models_py3 import ErrorContract, ErrorContractException + from ._models_py3 import ErrorContract from ._models_py3 import ErrorResponse - from ._models_py3 import ProxyResource from ._models_py3 import Resource from ._models_py3 import ScheduledQueryRuleCriteria from ._models_py3 import ScheduledQueryRuleResource + from ._models_py3 import ScheduledQueryRuleResourceCollection from ._models_py3 import ScheduledQueryRuleResourcePatch + from ._models_py3 import SystemData from ._models_py3 import TrackedResource except (SyntaxError, ImportError): - from ._models import Action - from ._models import AzureEntityResource - from ._models import Condition - from ._models import ConditionFailingPeriods - from ._models import Dimension - from ._models import ErrorAdditionalInfo - from ._models import ErrorContract, ErrorContractException - from ._models import ErrorResponse - from ._models import ProxyResource - from ._models import Resource - from ._models import ScheduledQueryRuleCriteria - from ._models import ScheduledQueryRuleResource - from ._models import ScheduledQueryRuleResourcePatch - from ._models import TrackedResource -from ._paged_models import ScheduledQueryRuleResourcePaged -from ._monitor_client_enums import ( - TimeAggregation, - DimensionOperator, + from ._models import Action # type: ignore + from ._models import Condition # type: ignore + from ._models import ConditionFailingPeriods # type: ignore + from ._models import Dimension # type: ignore + from ._models import ErrorAdditionalInfo # type: ignore + from ._models import ErrorContract # type: ignore + from ._models import ErrorResponse # type: ignore + from ._models import Resource # type: ignore + from ._models import ScheduledQueryRuleCriteria # type: ignore + from ._models import ScheduledQueryRuleResource # type: ignore + from ._models import ScheduledQueryRuleResourceCollection # type: ignore + from ._models import ScheduledQueryRuleResourcePatch # type: ignore + from ._models import SystemData # type: ignore + from ._models import TrackedResource # type: ignore + +from ._monitor_management_client_enums import ( + AlertSeverity, ConditionOperator, + CreatedByType, + DimensionOperator, + Kind, + TimeAggregation, ) __all__ = [ 'Action', - 'AzureEntityResource', 'Condition', 'ConditionFailingPeriods', 'Dimension', 'ErrorAdditionalInfo', - 'ErrorContract', 'ErrorContractException', + 'ErrorContract', 'ErrorResponse', - 'ProxyResource', 'Resource', 'ScheduledQueryRuleCriteria', 'ScheduledQueryRuleResource', + 'ScheduledQueryRuleResourceCollection', 'ScheduledQueryRuleResourcePatch', + 'SystemData', 'TrackedResource', - 'ScheduledQueryRuleResourcePaged', - 'TimeAggregation', - 'DimensionOperator', + 'AlertSeverity', 'ConditionOperator', + 'CreatedByType', + 'DimensionOperator', + 'Kind', + 'TimeAggregation', ] diff --git a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/models/_models.py b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/models/_models.py index c5e78eef7c5..d453278c3a5 100644 --- a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/models/_models.py +++ b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/models/_models.py @@ -1,23 +1,19 @@ # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# +# Licensed under the MIT License. See License.txt in the project root for license information. # Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from msrest.serialization import Model -from msrest.exceptions import HttpOperationError +from azure.core.exceptions import HttpResponseError +import msrest.serialization -class Action(Model): +class Action(msrest.serialization.Model): """Actions to invoke when the alert fires. - :param action_group_id: Action Group resource Id to invoke when the alert - fires. + :param action_group_id: Action Group resource Id to invoke when the alert fires. :type action_group_id: str :param web_hook_properties: The properties of a webhook object. :type web_hook_properties: dict[str, str] @@ -28,125 +24,48 @@ class Action(Model): 'web_hook_properties': {'key': 'webHookProperties', 'type': '{str}'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(Action, self).__init__(**kwargs) self.action_group_id = kwargs.get('action_group_id', None) self.web_hook_properties = kwargs.get('web_hook_properties', None) -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 - - -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): - super(AzureEntityResource, self).__init__(**kwargs) - self.etag = None - - -class CloudError(Model): - """CloudError. - """ - - _attribute_map = { - } - - -class Condition(Model): +class Condition(msrest.serialization.Model): """A condition of the scheduled query rule. All required parameters must be populated in order to send to Azure. - :param query: Log query alert + :param query: Log query alert. :type query: str - :param time_aggregation: Required. Aggregation type. Possible values - include: 'Count', 'Average', 'Minimum', 'Maximum', 'Total' + :param time_aggregation: Required. Aggregation type. Relevant and required only for rules of + the kind LogAlert. Possible values include: "Count", "Average", "Minimum", "Maximum", "Total". :type time_aggregation: str or - ~azure.mgmt.monitor.v2020_05_01_preview.models.TimeAggregation - :param metric_measure_column: The column containing the metric measure - number. + ~$(python-base-namespace).v2021_02_01_preview.models.TimeAggregation + :param metric_measure_column: The column containing the metric measure number. Relevant only + for rules of the kind LogAlert. :type metric_measure_column: str - :param resource_id_column: The column containing the resource id. The - content of the column must be a uri formatted as resource id + :param resource_id_column: The column containing the resource id. The content of the column + must be a uri formatted as resource id. Relevant only for rules of the kind LogAlert. :type resource_id_column: str - :param dimensions: List of Dimensions conditions - :type dimensions: - list[~azure.mgmt.monitor.v2020_05_01_preview.models.Dimension] - :param operator: Required. The criteria operator. Possible values include: - 'Equals', 'GreaterThan', 'GreaterThanOrEqual', 'LessThan', - 'LessThanOrEqual' - :type operator: str or - ~azure.mgmt.monitor.v2020_05_01_preview.models.ConditionOperator - :param threshold: Required. the criteria threshold value that activates - the alert. - :type threshold: int - :param failing_periods: The minimum number of violations required within - the selected lookback time window required to raise an alert. + :param dimensions: List of Dimensions conditions. + :type dimensions: list[~$(python-base-namespace).v2021_02_01_preview.models.Dimension] + :param operator: Required. The criteria operator. Relevant and required only for rules of the + kind LogAlert. Possible values include: "Equals", "GreaterThan", "GreaterThanOrEqual", + "LessThan", "LessThanOrEqual". + :type operator: str or ~$(python-base-namespace).v2021_02_01_preview.models.ConditionOperator + :param threshold: Required. the criteria threshold value that activates the alert. Relevant and + required only for rules of the kind LogAlert. + :type threshold: float + :param failing_periods: The minimum number of violations required within the selected lookback + time window required to raise an alert. Relevant only for rules of the kind LogAlert. :type failing_periods: - ~azure.mgmt.monitor.v2020_05_01_preview.models.ConditionFailingPeriods + ~$(python-base-namespace).v2021_02_01_preview.models.ConditionFailingPeriods + :param metric_name: The name of the metric to be sent. Relevant and required only for rules of + the kind LogToMetric. + :type metric_name: str """ _validation = { @@ -162,60 +81,64 @@ class Condition(Model): 'resource_id_column': {'key': 'resourceIdColumn', 'type': 'str'}, 'dimensions': {'key': 'dimensions', 'type': '[Dimension]'}, 'operator': {'key': 'operator', 'type': 'str'}, - 'threshold': {'key': 'threshold', 'type': 'int'}, + 'threshold': {'key': 'threshold', 'type': 'float'}, 'failing_periods': {'key': 'failingPeriods', 'type': 'ConditionFailingPeriods'}, + 'metric_name': {'key': 'metricName', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(Condition, self).__init__(**kwargs) self.query = kwargs.get('query', None) - self.time_aggregation = kwargs.get('time_aggregation', None) + self.time_aggregation = kwargs['time_aggregation'] self.metric_measure_column = kwargs.get('metric_measure_column', None) self.resource_id_column = kwargs.get('resource_id_column', None) self.dimensions = kwargs.get('dimensions', None) - self.operator = kwargs.get('operator', None) - self.threshold = kwargs.get('threshold', None) + self.operator = kwargs['operator'] + self.threshold = kwargs['threshold'] self.failing_periods = kwargs.get('failing_periods', None) + self.metric_name = kwargs.get('metric_name', None) -class ConditionFailingPeriods(Model): - """The minimum number of violations required within the selected lookback time - window required to raise an alert. +class ConditionFailingPeriods(msrest.serialization.Model): + """The minimum number of violations required within the selected lookback time window required to raise an alert. Relevant only for rules of the kind LogAlert. - :param number_of_evaluation_periods: The number of aggregated lookback - points. The lookback time window is calculated based on the aggregation - granularity (windowSize) and the selected number of aggregated points. - Default value is 1 - :type number_of_evaluation_periods: int - :param min_failing_periods_to_alert: The number of violations to trigger - an alert. Should be smaller or equal to numberOfEvaluationPeriods. Default - value is 1 - :type min_failing_periods_to_alert: int + :param number_of_evaluation_periods: The number of aggregated lookback points. The lookback + time window is calculated based on the aggregation granularity (windowSize) and the selected + number of aggregated points. Default value is 1. + :type number_of_evaluation_periods: long + :param min_failing_periods_to_alert: The number of violations to trigger an alert. Should be + smaller or equal to numberOfEvaluationPeriods. Default value is 1. + :type min_failing_periods_to_alert: long """ _attribute_map = { - 'number_of_evaluation_periods': {'key': 'numberOfEvaluationPeriods', 'type': 'int'}, - 'min_failing_periods_to_alert': {'key': 'minFailingPeriodsToAlert', 'type': 'int'}, + 'number_of_evaluation_periods': {'key': 'numberOfEvaluationPeriods', 'type': 'long'}, + 'min_failing_periods_to_alert': {'key': 'minFailingPeriodsToAlert', 'type': 'long'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ConditionFailingPeriods, self).__init__(**kwargs) - self.number_of_evaluation_periods = kwargs.get('number_of_evaluation_periods', None) - self.min_failing_periods_to_alert = kwargs.get('min_failing_periods_to_alert', None) + self.number_of_evaluation_periods = kwargs.get('number_of_evaluation_periods', 1) + self.min_failing_periods_to_alert = kwargs.get('min_failing_periods_to_alert', 1) -class Dimension(Model): +class Dimension(msrest.serialization.Model): """Dimension splitting and filtering definition. All required parameters must be populated in order to send to Azure. - :param name: Required. Name of the dimension + :param name: Required. Name of the dimension. :type name: str - :param operator: Required. Operator for dimension values. Possible values - include: 'Include', 'Exclude' - :type operator: str or - ~azure.mgmt.monitor.v2020_05_01_preview.models.DimensionOperator - :param values: Required. List of dimension values + :param operator: Required. Operator for dimension values. Possible values include: "Include", + "Exclude". + :type operator: str or ~$(python-base-namespace).v2021_02_01_preview.models.DimensionOperator + :param values: Required. List of dimension values. :type values: list[str] """ @@ -231,23 +154,25 @@ class Dimension(Model): 'values': {'key': 'values', 'type': '[str]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(Dimension, self).__init__(**kwargs) - self.name = kwargs.get('name', None) - self.operator = kwargs.get('operator', None) - self.values = kwargs.get('values', None) + self.name = kwargs['name'] + self.operator = kwargs['operator'] + self.values = kwargs['values'] -class ErrorAdditionalInfo(Model): +class ErrorAdditionalInfo(msrest.serialization.Model): """The resource management error additional info. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar type: The additional info type. :vartype type: str :ivar info: The additional info. - :vartype info: object + :vartype info: str """ _validation = { @@ -257,48 +182,41 @@ class ErrorAdditionalInfo(Model): _attribute_map = { 'type': {'key': 'type', 'type': 'str'}, - 'info': {'key': 'info', 'type': 'object'}, + 'info': {'key': 'info', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ErrorAdditionalInfo, self).__init__(**kwargs) self.type = None self.info = None -class ErrorContract(Model): +class ErrorContract(msrest.serialization.Model): """Describes the format of Error response. :param error: The error details. - :type error: ~azure.mgmt.monitor.v2020_05_01_preview.models.ErrorResponse + :type error: ~$(python-base-namespace).v2021_02_01_preview.models.ErrorResponse """ _attribute_map = { 'error': {'key': 'error', 'type': 'ErrorResponse'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ErrorContract, self).__init__(**kwargs) self.error = kwargs.get('error', None) -class ErrorContractException(HttpOperationError): - """Server responsed with exception of type: 'ErrorContract'. - - :param deserialize: A deserializer - :param response: Server response to be deserialized. - """ - - def __init__(self, deserialize, response, *args): - - super(ErrorContractException, self).__init__(deserialize, response, 'ErrorContract', *args) - +class ErrorResponse(msrest.serialization.Model): + """Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.). -class ErrorResponse(Model): - """The resource management error response. - - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar code: The error code. :vartype code: str @@ -307,11 +225,10 @@ class ErrorResponse(Model): :ivar target: The error target. :vartype target: str :ivar details: The error details. - :vartype details: - list[~azure.mgmt.monitor.v2020_05_01_preview.models.ErrorResponse] + :vartype details: list[~$(python-base-namespace).v2021_02_01_preview.models.ErrorResponse] :ivar additional_info: The error additional info. :vartype additional_info: - list[~azure.mgmt.monitor.v2020_05_01_preview.models.ErrorAdditionalInfo] + list[~$(python-base-namespace).v2021_02_01_preview.models.ErrorAdditionalInfo] """ _validation = { @@ -330,7 +247,10 @@ class ErrorResponse(Model): 'additional_info': {'key': 'additionalInfo', 'type': '[ErrorAdditionalInfo]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ErrorResponse, self).__init__(**kwargs) self.code = None self.message = None @@ -339,20 +259,18 @@ def __init__(self, **kwargs): self.additional_info = None -class ProxyResource(Resource): - """The resource model definition for a ARM proxy resource. It will have - everything other than required location and tags. +class Resource(msrest.serialization.Model): + """Common fields that are returned in the response for all Azure Resource Manager resources. - Variables are only populated by the server, and will be ignored when - sending a request. + 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} + :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 + :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. + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". :vartype type: str """ @@ -368,47 +286,53 @@ class ProxyResource(Resource): 'type': {'key': 'type', 'type': 'str'}, } - def __init__(self, **kwargs): - super(ProxyResource, self).__init__(**kwargs) + def __init__( + self, + **kwargs + ): + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None -class ScheduledQueryRuleCriteria(Model): +class ScheduledQueryRuleCriteria(msrest.serialization.Model): """The rule criteria that defines the conditions of the scheduled query rule. - :param all_of: A list of conditions to evaluate against the specified - scopes - :type all_of: - list[~azure.mgmt.monitor.v2020_05_01_preview.models.Condition] + :param all_of: A list of conditions to evaluate against the specified scopes. + :type all_of: list[~$(python-base-namespace).v2021_02_01_preview.models.Condition] """ _attribute_map = { 'all_of': {'key': 'allOf', 'type': '[Condition]'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ScheduledQueryRuleCriteria, self).__init__(**kwargs) self.all_of = kwargs.get('all_of', None) class TrackedResource(Resource): - """The resource model definition for a ARM tracked top level resource. + """The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location'. - Variables are only populated by the server, and will be ignored when - sending a request. + 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} + :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 + :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. + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". :vartype type: str - :param tags: Resource tags. + :param tags: A set of tags. Resource tags. :type tags: dict[str, str] - :param location: Required. The geo-location where the resource lives + :param location: Required. The geo-location where the resource lives. :type location: str """ @@ -427,65 +351,97 @@ class TrackedResource(Resource): 'location': {'key': 'location', 'type': 'str'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(TrackedResource, self).__init__(**kwargs) self.tags = kwargs.get('tags', None) - self.location = kwargs.get('location', None) + self.location = kwargs['location'] class ScheduledQueryRuleResource(TrackedResource): """The scheduled query rule resource. - Variables are only populated by the server, and will be ignored when - sending a request. + 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} + :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 + :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. + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". :vartype type: str - :param tags: Resource tags. + :param tags: A set of tags. Resource tags. :type tags: dict[str, str] - :param location: Required. The geo-location where the resource lives + :param location: Required. The geo-location where the resource lives. :type location: str + :param kind: Indicates the type of scheduled query rule. The default is LogAlert. Possible + values include: "LogAlert", "LogToMetric". + :type kind: str or ~$(python-base-namespace).v2021_02_01_preview.models.Kind + :ivar etag: The etag field is *not* required. If it is provided in the response body, it must + also be provided as a header per the normal etag convention. Entity tags are used for + comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in + the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range + (section 14.27) header fields. + :vartype etag: str + :ivar system_data: SystemData of ScheduledQueryRule. + :vartype system_data: ~$(python-base-namespace).v2021_02_01_preview.models.SystemData + :ivar created_with_api_version: The api-version used when creating this alert rule. + :vartype created_with_api_version: str + :ivar is_legacy_log_analytics_rule: True if alert rule is legacy Log Analytic rule. + :vartype is_legacy_log_analytics_rule: bool :param description: The description of the scheduled query rule. :type description: str - :param severity: Severity of the alert. Should be an integer between - [0-4]. Value of 0 is severest - :type severity: int - :param enabled: The flag which indicates whether this scheduled query rule - is enabled. Value should be true or false + :param display_name: The display name of the alert rule. + :type display_name: str + :param severity: Severity of the alert. Should be an integer between [0-4]. Value of 0 is + severest. Relevant and required only for rules of the kind LogAlert. Possible values include: + 0, 1, 2, 3, 4. + :type severity: str or ~$(python-base-namespace).v2021_02_01_preview.models.AlertSeverity + :param enabled: The flag which indicates whether this scheduled query rule is enabled. Value + should be true or false. :type enabled: bool - :param scopes: The list of resource id's that this scheduled query rule is - scoped to. + :param scopes: The list of resource id's that this scheduled query rule is scoped to. :type scopes: list[str] - :param evaluation_frequency: How often the scheduled query rule is - evaluated represented in ISO 8601 duration format. - :type evaluation_frequency: timedelta - :param window_size: The period of time (in ISO 8601 duration format) on - which the Alert query will be executed (bin size). - :type window_size: timedelta - :param target_resource_types: List of resource type of the target - resource(s) on which the alert is created/updated. For example if the - scope is a resource group and targetResourceTypes is - Microsoft.Compute/virtualMachines, then a different alert will be fired - for each virtual machine in the resource group which meet the alert - criteria + :param evaluation_frequency: How often the scheduled query rule is evaluated represented in ISO + 8601 duration format. Relevant and required only for rules of the kind LogAlert. + :type evaluation_frequency: ~datetime.timedelta + :param window_size: The period of time (in ISO 8601 duration format) on which the Alert query + will be executed (bin size). Relevant and required only for rules of the kind LogAlert. + :type window_size: ~datetime.timedelta + :param override_query_time_range: If specified then overrides the query time range (default is + WindowSize*NumberOfEvaluationPeriods). Relevant only for rules of the kind LogAlert. + :type override_query_time_range: ~datetime.timedelta + :param target_resource_types: List of resource type of the target resource(s) on which the + alert is created/updated. For example if the scope is a resource group and targetResourceTypes + is Microsoft.Compute/virtualMachines, then a different alert will be fired for each virtual + machine in the resource group which meet the alert criteria. Relevant only for rules of the + kind LogAlert. :type target_resource_types: list[str] - :param criteria: The rule criteria that defines the conditions of the - scheduled query rule. - :type criteria: - ~azure.mgmt.monitor.v2020_05_01_preview.models.ScheduledQueryRuleCriteria - :param mute_actions_duration: Mute actions for the chosen period of time - (in ISO 8601 duration format) after the alert is fired. - :type mute_actions_duration: timedelta - :param actions: - :type actions: list[~azure.mgmt.monitor.v2020_05_01_preview.models.Action] + :param criteria: The rule criteria that defines the conditions of the scheduled query rule. + :type criteria: ~$(python-base-namespace).v2021_02_01_preview.models.ScheduledQueryRuleCriteria + :param mute_actions_duration: Mute actions for the chosen period of time (in ISO 8601 duration + format) after the alert is fired. Relevant only for rules of the kind LogAlert. + :type mute_actions_duration: ~datetime.timedelta + :param actions: Actions to invoke when the alert fires. + :type actions: list[~$(python-base-namespace).v2021_02_01_preview.models.Action] + :ivar is_workspace_alerts_storage_configured: The flag which indicates whether this scheduled + query rule has been configured to be stored in the customer's storage. The default is false. + :vartype is_workspace_alerts_storage_configured: bool + :param check_workspace_alerts_storage_configured: The flag which indicates whether this + scheduled query rule should be stored in the customer's storage. The default is false. Relevant + only for rules of the kind LogAlert. + :type check_workspace_alerts_storage_configured: bool + :param skip_query_validation: The flag which indicates whether the provided query should be + validated or not. The default is false. Relevant only for rules of the kind LogAlert. + :type skip_query_validation: bool + :param auto_mitigate: The flag that indicates whether the alert should be automatically + resolved or not. The default is true. Relevant only for rules of the kind LogAlert. + :type auto_mitigate: bool """ _validation = { @@ -493,6 +449,11 @@ class ScheduledQueryRuleResource(TrackedResource): 'name': {'readonly': True}, 'type': {'readonly': True}, 'location': {'required': True}, + 'etag': {'readonly': True}, + 'system_data': {'readonly': True}, + 'created_with_api_version': {'readonly': True}, + 'is_legacy_log_analytics_rule': {'readonly': True}, + 'is_workspace_alerts_storage_configured': {'readonly': True}, } _attribute_map = { @@ -501,96 +462,230 @@ class ScheduledQueryRuleResource(TrackedResource): 'type': {'key': 'type', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, 'location': {'key': 'location', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'created_with_api_version': {'key': 'properties.createdWithApiVersion', 'type': 'str'}, + 'is_legacy_log_analytics_rule': {'key': 'properties.isLegacyLogAnalyticsRule', 'type': 'bool'}, 'description': {'key': 'properties.description', 'type': 'str'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, 'severity': {'key': 'properties.severity', 'type': 'int'}, 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, 'scopes': {'key': 'properties.scopes', 'type': '[str]'}, 'evaluation_frequency': {'key': 'properties.evaluationFrequency', 'type': 'duration'}, 'window_size': {'key': 'properties.windowSize', 'type': 'duration'}, + 'override_query_time_range': {'key': 'properties.overrideQueryTimeRange', 'type': 'duration'}, 'target_resource_types': {'key': 'properties.targetResourceTypes', 'type': '[str]'}, 'criteria': {'key': 'properties.criteria', 'type': 'ScheduledQueryRuleCriteria'}, 'mute_actions_duration': {'key': 'properties.muteActionsDuration', 'type': 'duration'}, 'actions': {'key': 'properties.actions', 'type': '[Action]'}, + 'is_workspace_alerts_storage_configured': {'key': 'properties.isWorkspaceAlertsStorageConfigured', 'type': 'bool'}, + 'check_workspace_alerts_storage_configured': {'key': 'properties.checkWorkspaceAlertsStorageConfigured', 'type': 'bool'}, + 'skip_query_validation': {'key': 'properties.skipQueryValidation', 'type': 'bool'}, + 'auto_mitigate': {'key': 'properties.autoMitigate', 'type': 'bool'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ScheduledQueryRuleResource, self).__init__(**kwargs) + self.kind = kwargs.get('kind', None) + self.etag = None + self.system_data = None + self.created_with_api_version = None + self.is_legacy_log_analytics_rule = None self.description = kwargs.get('description', None) + self.display_name = kwargs.get('display_name', None) self.severity = kwargs.get('severity', None) self.enabled = kwargs.get('enabled', None) self.scopes = kwargs.get('scopes', None) self.evaluation_frequency = kwargs.get('evaluation_frequency', None) self.window_size = kwargs.get('window_size', None) + self.override_query_time_range = kwargs.get('override_query_time_range', None) self.target_resource_types = kwargs.get('target_resource_types', None) self.criteria = kwargs.get('criteria', None) self.mute_actions_duration = kwargs.get('mute_actions_duration', None) self.actions = kwargs.get('actions', None) + self.is_workspace_alerts_storage_configured = None + self.check_workspace_alerts_storage_configured = kwargs.get('check_workspace_alerts_storage_configured', None) + self.skip_query_validation = kwargs.get('skip_query_validation', None) + self.auto_mitigate = kwargs.get('auto_mitigate', None) + + +class ScheduledQueryRuleResourceCollection(msrest.serialization.Model): + """Represents a collection of scheduled query rule resources. + + :param value: The values for the scheduled query rule resources. + :type value: + list[~$(python-base-namespace).v2021_02_01_preview.models.ScheduledQueryRuleResource] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ScheduledQueryRuleResource]'}, + } + def __init__( + self, + **kwargs + ): + super(ScheduledQueryRuleResourceCollection, self).__init__(**kwargs) + self.value = kwargs.get('value', None) -class ScheduledQueryRuleResourcePatch(Model): + +class ScheduledQueryRuleResourcePatch(msrest.serialization.Model): """The scheduled query rule resource for patch operations. - :param tags: Resource tags + Variables are only populated by the server, and will be ignored when sending a request. + + :param tags: A set of tags. Resource tags. :type tags: dict[str, str] + :ivar created_with_api_version: The api-version used when creating this alert rule. + :vartype created_with_api_version: str + :ivar is_legacy_log_analytics_rule: True if alert rule is legacy Log Analytic rule. + :vartype is_legacy_log_analytics_rule: bool :param description: The description of the scheduled query rule. :type description: str - :param severity: Severity of the alert. Should be an integer between - [0-4]. Value of 0 is severest - :type severity: int - :param enabled: The flag which indicates whether this scheduled query rule - is enabled. Value should be true or false + :param display_name: The display name of the alert rule. + :type display_name: str + :param severity: Severity of the alert. Should be an integer between [0-4]. Value of 0 is + severest. Relevant and required only for rules of the kind LogAlert. Possible values include: + 0, 1, 2, 3, 4. + :type severity: str or ~$(python-base-namespace).v2021_02_01_preview.models.AlertSeverity + :param enabled: The flag which indicates whether this scheduled query rule is enabled. Value + should be true or false. :type enabled: bool - :param scopes: The list of resource id's that this scheduled query rule is - scoped to. + :param scopes: The list of resource id's that this scheduled query rule is scoped to. :type scopes: list[str] - :param evaluation_frequency: How often the scheduled query rule is - evaluated represented in ISO 8601 duration format. - :type evaluation_frequency: timedelta - :param window_size: The period of time (in ISO 8601 duration format) on - which the Alert query will be executed (bin size). - :type window_size: timedelta - :param target_resource_types: List of resource type of the target - resource(s) on which the alert is created/updated. For example if the - scope is a resource group and targetResourceTypes is - Microsoft.Compute/virtualMachines, then a different alert will be fired - for each virtual machine in the resource group which meet the alert - criteria + :param evaluation_frequency: How often the scheduled query rule is evaluated represented in ISO + 8601 duration format. Relevant and required only for rules of the kind LogAlert. + :type evaluation_frequency: ~datetime.timedelta + :param window_size: The period of time (in ISO 8601 duration format) on which the Alert query + will be executed (bin size). Relevant and required only for rules of the kind LogAlert. + :type window_size: ~datetime.timedelta + :param override_query_time_range: If specified then overrides the query time range (default is + WindowSize*NumberOfEvaluationPeriods). Relevant only for rules of the kind LogAlert. + :type override_query_time_range: ~datetime.timedelta + :param target_resource_types: List of resource type of the target resource(s) on which the + alert is created/updated. For example if the scope is a resource group and targetResourceTypes + is Microsoft.Compute/virtualMachines, then a different alert will be fired for each virtual + machine in the resource group which meet the alert criteria. Relevant only for rules of the + kind LogAlert. :type target_resource_types: list[str] - :param criteria: The rule criteria that defines the conditions of the - scheduled query rule. - :type criteria: - ~azure.mgmt.monitor.v2020_05_01_preview.models.ScheduledQueryRuleCriteria - :param mute_actions_duration: Mute actions for the chosen period of time - (in ISO 8601 duration format) after the alert is fired. - :type mute_actions_duration: timedelta - :param actions: - :type actions: list[~azure.mgmt.monitor.v2020_05_01_preview.models.Action] + :param criteria: The rule criteria that defines the conditions of the scheduled query rule. + :type criteria: ~$(python-base-namespace).v2021_02_01_preview.models.ScheduledQueryRuleCriteria + :param mute_actions_duration: Mute actions for the chosen period of time (in ISO 8601 duration + format) after the alert is fired. Relevant only for rules of the kind LogAlert. + :type mute_actions_duration: ~datetime.timedelta + :param actions: Actions to invoke when the alert fires. + :type actions: list[~$(python-base-namespace).v2021_02_01_preview.models.Action] + :ivar is_workspace_alerts_storage_configured: The flag which indicates whether this scheduled + query rule has been configured to be stored in the customer's storage. The default is false. + :vartype is_workspace_alerts_storage_configured: bool + :param check_workspace_alerts_storage_configured: The flag which indicates whether this + scheduled query rule should be stored in the customer's storage. The default is false. Relevant + only for rules of the kind LogAlert. + :type check_workspace_alerts_storage_configured: bool + :param skip_query_validation: The flag which indicates whether the provided query should be + validated or not. The default is false. Relevant only for rules of the kind LogAlert. + :type skip_query_validation: bool + :param auto_mitigate: The flag that indicates whether the alert should be automatically + resolved or not. The default is true. Relevant only for rules of the kind LogAlert. + :type auto_mitigate: bool """ + _validation = { + 'created_with_api_version': {'readonly': True}, + 'is_legacy_log_analytics_rule': {'readonly': True}, + 'is_workspace_alerts_storage_configured': {'readonly': True}, + } + _attribute_map = { 'tags': {'key': 'tags', 'type': '{str}'}, + 'created_with_api_version': {'key': 'properties.createdWithApiVersion', 'type': 'str'}, + 'is_legacy_log_analytics_rule': {'key': 'properties.isLegacyLogAnalyticsRule', 'type': 'bool'}, 'description': {'key': 'properties.description', 'type': 'str'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, 'severity': {'key': 'properties.severity', 'type': 'int'}, 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, 'scopes': {'key': 'properties.scopes', 'type': '[str]'}, 'evaluation_frequency': {'key': 'properties.evaluationFrequency', 'type': 'duration'}, 'window_size': {'key': 'properties.windowSize', 'type': 'duration'}, + 'override_query_time_range': {'key': 'properties.overrideQueryTimeRange', 'type': 'duration'}, 'target_resource_types': {'key': 'properties.targetResourceTypes', 'type': '[str]'}, 'criteria': {'key': 'properties.criteria', 'type': 'ScheduledQueryRuleCriteria'}, 'mute_actions_duration': {'key': 'properties.muteActionsDuration', 'type': 'duration'}, 'actions': {'key': 'properties.actions', 'type': '[Action]'}, + 'is_workspace_alerts_storage_configured': {'key': 'properties.isWorkspaceAlertsStorageConfigured', 'type': 'bool'}, + 'check_workspace_alerts_storage_configured': {'key': 'properties.checkWorkspaceAlertsStorageConfigured', 'type': 'bool'}, + 'skip_query_validation': {'key': 'properties.skipQueryValidation', 'type': 'bool'}, + 'auto_mitigate': {'key': 'properties.autoMitigate', 'type': 'bool'}, } - def __init__(self, **kwargs): + def __init__( + self, + **kwargs + ): super(ScheduledQueryRuleResourcePatch, self).__init__(**kwargs) self.tags = kwargs.get('tags', None) + self.created_with_api_version = None + self.is_legacy_log_analytics_rule = None self.description = kwargs.get('description', None) + self.display_name = kwargs.get('display_name', None) self.severity = kwargs.get('severity', None) self.enabled = kwargs.get('enabled', None) self.scopes = kwargs.get('scopes', None) self.evaluation_frequency = kwargs.get('evaluation_frequency', None) self.window_size = kwargs.get('window_size', None) + self.override_query_time_range = kwargs.get('override_query_time_range', None) self.target_resource_types = kwargs.get('target_resource_types', None) self.criteria = kwargs.get('criteria', None) self.mute_actions_duration = kwargs.get('mute_actions_duration', None) self.actions = kwargs.get('actions', None) + self.is_workspace_alerts_storage_configured = None + self.check_workspace_alerts_storage_configured = kwargs.get('check_workspace_alerts_storage_configured', None) + self.skip_query_validation = kwargs.get('skip_query_validation', None) + self.auto_mitigate = kwargs.get('auto_mitigate', None) + + +class SystemData(msrest.serialization.Model): + """Metadata pertaining to creation and last modification of the resource. + + :param created_by: The identity that created the resource. + :type created_by: str + :param created_by_type: The type of identity that created the resource. Possible values + include: "User", "Application", "ManagedIdentity", "Key". + :type created_by_type: str or + ~$(python-base-namespace).v2021_02_01_preview.models.CreatedByType + :param created_at: The timestamp of resource creation (UTC). + :type created_at: ~datetime.datetime + :param last_modified_by: The identity that last modified the resource. + :type last_modified_by: str + :param last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". + :type last_modified_by_type: str or + ~$(python-base-namespace).v2021_02_01_preview.models.CreatedByType + :param last_modified_at: The timestamp of resource last modification (UTC). + :type last_modified_at: ~datetime.datetime + """ + + _attribute_map = { + 'created_by': {'key': 'createdBy', 'type': 'str'}, + 'created_by_type': {'key': 'createdByType', 'type': 'str'}, + 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, + 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, + 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, + 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, + } + + def __init__( + self, + **kwargs + ): + super(SystemData, self).__init__(**kwargs) + self.created_by = kwargs.get('created_by', None) + self.created_by_type = kwargs.get('created_by_type', None) + self.created_at = kwargs.get('created_at', None) + self.last_modified_by = kwargs.get('last_modified_by', None) + self.last_modified_by_type = kwargs.get('last_modified_by_type', None) + self.last_modified_at = kwargs.get('last_modified_at', None) diff --git a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/models/_models_py3.py b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/models/_models_py3.py index e9d2d107998..7cb8fd39ad4 100644 --- a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/models/_models_py3.py +++ b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/models/_models_py3.py @@ -1,23 +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. -# +# Licensed under the MIT License. See License.txt in the project root for license information. # Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from msrest.serialization import Model -from msrest.exceptions import HttpOperationError +import datetime +from typing import Dict, List, Optional, Union +from azure.core.exceptions import HttpResponseError +import msrest.serialization -class Action(Model): +from ._monitor_management_client_enums import * + + +class Action(msrest.serialization.Model): """Actions to invoke when the alert fires. - :param action_group_id: Action Group resource Id to invoke when the alert - fires. + :param action_group_id: Action Group resource Id to invoke when the alert fires. :type action_group_id: str :param web_hook_properties: The properties of a webhook object. :type web_hook_properties: dict[str, str] @@ -28,125 +29,51 @@ class Action(Model): 'web_hook_properties': {'key': 'webHookProperties', 'type': '{str}'}, } - def __init__(self, *, action_group_id: str=None, web_hook_properties=None, **kwargs) -> None: + def __init__( + self, + *, + action_group_id: Optional[str] = None, + web_hook_properties: Optional[Dict[str, str]] = None, + **kwargs + ): super(Action, self).__init__(**kwargs) self.action_group_id = action_group_id self.web_hook_properties = web_hook_properties -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) -> None: - super(Resource, self).__init__(**kwargs) - self.id = None - self.name = None - self.type = None - - -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 - - -class CloudError(Model): - """CloudError. - """ - - _attribute_map = { - } - - -class Condition(Model): +class Condition(msrest.serialization.Model): """A condition of the scheduled query rule. All required parameters must be populated in order to send to Azure. - :param query: Log query alert + :param query: Log query alert. :type query: str - :param time_aggregation: Required. Aggregation type. Possible values - include: 'Count', 'Average', 'Minimum', 'Maximum', 'Total' + :param time_aggregation: Required. Aggregation type. Relevant and required only for rules of + the kind LogAlert. Possible values include: "Count", "Average", "Minimum", "Maximum", "Total". :type time_aggregation: str or - ~azure.mgmt.monitor.v2020_05_01_preview.models.TimeAggregation - :param metric_measure_column: The column containing the metric measure - number. + ~$(python-base-namespace).v2021_02_01_preview.models.TimeAggregation + :param metric_measure_column: The column containing the metric measure number. Relevant only + for rules of the kind LogAlert. :type metric_measure_column: str - :param resource_id_column: The column containing the resource id. The - content of the column must be a uri formatted as resource id + :param resource_id_column: The column containing the resource id. The content of the column + must be a uri formatted as resource id. Relevant only for rules of the kind LogAlert. :type resource_id_column: str - :param dimensions: List of Dimensions conditions - :type dimensions: - list[~azure.mgmt.monitor.v2020_05_01_preview.models.Dimension] - :param operator: Required. The criteria operator. Possible values include: - 'Equals', 'GreaterThan', 'GreaterThanOrEqual', 'LessThan', - 'LessThanOrEqual' - :type operator: str or - ~azure.mgmt.monitor.v2020_05_01_preview.models.ConditionOperator - :param threshold: Required. the criteria threshold value that activates - the alert. - :type threshold: int - :param failing_periods: The minimum number of violations required within - the selected lookback time window required to raise an alert. + :param dimensions: List of Dimensions conditions. + :type dimensions: list[~$(python-base-namespace).v2021_02_01_preview.models.Dimension] + :param operator: Required. The criteria operator. Relevant and required only for rules of the + kind LogAlert. Possible values include: "Equals", "GreaterThan", "GreaterThanOrEqual", + "LessThan", "LessThanOrEqual". + :type operator: str or ~$(python-base-namespace).v2021_02_01_preview.models.ConditionOperator + :param threshold: Required. the criteria threshold value that activates the alert. Relevant and + required only for rules of the kind LogAlert. + :type threshold: float + :param failing_periods: The minimum number of violations required within the selected lookback + time window required to raise an alert. Relevant only for rules of the kind LogAlert. :type failing_periods: - ~azure.mgmt.monitor.v2020_05_01_preview.models.ConditionFailingPeriods + ~$(python-base-namespace).v2021_02_01_preview.models.ConditionFailingPeriods + :param metric_name: The name of the metric to be sent. Relevant and required only for rules of + the kind LogToMetric. + :type metric_name: str """ _validation = { @@ -162,11 +89,25 @@ class Condition(Model): 'resource_id_column': {'key': 'resourceIdColumn', 'type': 'str'}, 'dimensions': {'key': 'dimensions', 'type': '[Dimension]'}, 'operator': {'key': 'operator', 'type': 'str'}, - 'threshold': {'key': 'threshold', 'type': 'int'}, + 'threshold': {'key': 'threshold', 'type': 'float'}, 'failing_periods': {'key': 'failingPeriods', 'type': 'ConditionFailingPeriods'}, + 'metric_name': {'key': 'metricName', 'type': 'str'}, } - def __init__(self, *, time_aggregation, operator, threshold: int, query: str=None, metric_measure_column: str=None, resource_id_column: str=None, dimensions=None, failing_periods=None, **kwargs) -> None: + def __init__( + self, + *, + time_aggregation: Union[str, "TimeAggregation"], + operator: Union[str, "ConditionOperator"], + threshold: float, + query: Optional[str] = None, + metric_measure_column: Optional[str] = None, + resource_id_column: Optional[str] = None, + dimensions: Optional[List["Dimension"]] = None, + failing_periods: Optional["ConditionFailingPeriods"] = None, + metric_name: Optional[str] = None, + **kwargs + ): super(Condition, self).__init__(**kwargs) self.query = query self.time_aggregation = time_aggregation @@ -176,46 +117,49 @@ def __init__(self, *, time_aggregation, operator, threshold: int, query: str=Non self.operator = operator self.threshold = threshold self.failing_periods = failing_periods + self.metric_name = metric_name -class ConditionFailingPeriods(Model): - """The minimum number of violations required within the selected lookback time - window required to raise an alert. +class ConditionFailingPeriods(msrest.serialization.Model): + """The minimum number of violations required within the selected lookback time window required to raise an alert. Relevant only for rules of the kind LogAlert. - :param number_of_evaluation_periods: The number of aggregated lookback - points. The lookback time window is calculated based on the aggregation - granularity (windowSize) and the selected number of aggregated points. - Default value is 1 - :type number_of_evaluation_periods: int - :param min_failing_periods_to_alert: The number of violations to trigger - an alert. Should be smaller or equal to numberOfEvaluationPeriods. Default - value is 1 - :type min_failing_periods_to_alert: int + :param number_of_evaluation_periods: The number of aggregated lookback points. The lookback + time window is calculated based on the aggregation granularity (windowSize) and the selected + number of aggregated points. Default value is 1. + :type number_of_evaluation_periods: long + :param min_failing_periods_to_alert: The number of violations to trigger an alert. Should be + smaller or equal to numberOfEvaluationPeriods. Default value is 1. + :type min_failing_periods_to_alert: long """ _attribute_map = { - 'number_of_evaluation_periods': {'key': 'numberOfEvaluationPeriods', 'type': 'int'}, - 'min_failing_periods_to_alert': {'key': 'minFailingPeriodsToAlert', 'type': 'int'}, + 'number_of_evaluation_periods': {'key': 'numberOfEvaluationPeriods', 'type': 'long'}, + 'min_failing_periods_to_alert': {'key': 'minFailingPeriodsToAlert', 'type': 'long'}, } - def __init__(self, *, number_of_evaluation_periods: int=None, min_failing_periods_to_alert: int=None, **kwargs) -> None: + def __init__( + self, + *, + number_of_evaluation_periods: Optional[int] = 1, + min_failing_periods_to_alert: Optional[int] = 1, + **kwargs + ): super(ConditionFailingPeriods, self).__init__(**kwargs) self.number_of_evaluation_periods = number_of_evaluation_periods self.min_failing_periods_to_alert = min_failing_periods_to_alert -class Dimension(Model): +class Dimension(msrest.serialization.Model): """Dimension splitting and filtering definition. All required parameters must be populated in order to send to Azure. - :param name: Required. Name of the dimension + :param name: Required. Name of the dimension. :type name: str - :param operator: Required. Operator for dimension values. Possible values - include: 'Include', 'Exclude' - :type operator: str or - ~azure.mgmt.monitor.v2020_05_01_preview.models.DimensionOperator - :param values: Required. List of dimension values + :param operator: Required. Operator for dimension values. Possible values include: "Include", + "Exclude". + :type operator: str or ~$(python-base-namespace).v2021_02_01_preview.models.DimensionOperator + :param values: Required. List of dimension values. :type values: list[str] """ @@ -231,23 +175,29 @@ class Dimension(Model): 'values': {'key': 'values', 'type': '[str]'}, } - def __init__(self, *, name: str, operator, values, **kwargs) -> None: + def __init__( + self, + *, + name: str, + operator: Union[str, "DimensionOperator"], + values: List[str], + **kwargs + ): super(Dimension, self).__init__(**kwargs) self.name = name self.operator = operator self.values = values -class ErrorAdditionalInfo(Model): +class ErrorAdditionalInfo(msrest.serialization.Model): """The resource management error additional info. - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar type: The additional info type. :vartype type: str :ivar info: The additional info. - :vartype info: object + :vartype info: str """ _validation = { @@ -257,48 +207,43 @@ class ErrorAdditionalInfo(Model): _attribute_map = { 'type': {'key': 'type', 'type': 'str'}, - 'info': {'key': 'info', 'type': 'object'}, + 'info': {'key': 'info', 'type': 'str'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(ErrorAdditionalInfo, self).__init__(**kwargs) self.type = None self.info = None -class ErrorContract(Model): +class ErrorContract(msrest.serialization.Model): """Describes the format of Error response. :param error: The error details. - :type error: ~azure.mgmt.monitor.v2020_05_01_preview.models.ErrorResponse + :type error: ~$(python-base-namespace).v2021_02_01_preview.models.ErrorResponse """ _attribute_map = { 'error': {'key': 'error', 'type': 'ErrorResponse'}, } - def __init__(self, *, error=None, **kwargs) -> None: + def __init__( + self, + *, + error: Optional["ErrorResponse"] = None, + **kwargs + ): super(ErrorContract, self).__init__(**kwargs) self.error = error -class ErrorContractException(HttpOperationError): - """Server responsed with exception of type: 'ErrorContract'. - - :param deserialize: A deserializer - :param response: Server response to be deserialized. - """ - - def __init__(self, deserialize, response, *args): - - super(ErrorContractException, self).__init__(deserialize, response, 'ErrorContract', *args) +class ErrorResponse(msrest.serialization.Model): + """Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.). - -class ErrorResponse(Model): - """The resource management error response. - - Variables are only populated by the server, and will be ignored when - sending a request. + Variables are only populated by the server, and will be ignored when sending a request. :ivar code: The error code. :vartype code: str @@ -307,11 +252,10 @@ class ErrorResponse(Model): :ivar target: The error target. :vartype target: str :ivar details: The error details. - :vartype details: - list[~azure.mgmt.monitor.v2020_05_01_preview.models.ErrorResponse] + :vartype details: list[~$(python-base-namespace).v2021_02_01_preview.models.ErrorResponse] :ivar additional_info: The error additional info. :vartype additional_info: - list[~azure.mgmt.monitor.v2020_05_01_preview.models.ErrorAdditionalInfo] + list[~$(python-base-namespace).v2021_02_01_preview.models.ErrorAdditionalInfo] """ _validation = { @@ -330,7 +274,10 @@ class ErrorResponse(Model): 'additional_info': {'key': 'additionalInfo', 'type': '[ErrorAdditionalInfo]'}, } - def __init__(self, **kwargs) -> None: + def __init__( + self, + **kwargs + ): super(ErrorResponse, self).__init__(**kwargs) self.code = None self.message = None @@ -339,20 +286,18 @@ def __init__(self, **kwargs) -> None: self.additional_info = None -class ProxyResource(Resource): - """The resource model definition for a ARM proxy resource. It will have - everything other than required location and tags. +class Resource(msrest.serialization.Model): + """Common fields that are returned in the response for all Azure Resource Manager resources. - Variables are only populated by the server, and will be ignored when - sending a request. + 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} + :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 + :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. + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". :vartype type: str """ @@ -368,47 +313,55 @@ class ProxyResource(Resource): 'type': {'key': 'type', 'type': 'str'}, } - def __init__(self, **kwargs) -> None: - super(ProxyResource, self).__init__(**kwargs) + def __init__( + self, + **kwargs + ): + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None -class ScheduledQueryRuleCriteria(Model): +class ScheduledQueryRuleCriteria(msrest.serialization.Model): """The rule criteria that defines the conditions of the scheduled query rule. - :param all_of: A list of conditions to evaluate against the specified - scopes - :type all_of: - list[~azure.mgmt.monitor.v2020_05_01_preview.models.Condition] + :param all_of: A list of conditions to evaluate against the specified scopes. + :type all_of: list[~$(python-base-namespace).v2021_02_01_preview.models.Condition] """ _attribute_map = { 'all_of': {'key': 'allOf', 'type': '[Condition]'}, } - def __init__(self, *, all_of=None, **kwargs) -> None: + def __init__( + self, + *, + all_of: Optional[List["Condition"]] = None, + **kwargs + ): super(ScheduledQueryRuleCriteria, self).__init__(**kwargs) self.all_of = all_of class TrackedResource(Resource): - """The resource model definition for a ARM tracked top level resource. + """The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location'. - Variables are only populated by the server, and will be ignored when - sending a request. + 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} + :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 + :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. + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". :vartype type: str - :param tags: Resource tags. + :param tags: A set of tags. Resource tags. :type tags: dict[str, str] - :param location: Required. The geo-location where the resource lives + :param location: Required. The geo-location where the resource lives. :type location: str """ @@ -427,7 +380,13 @@ class TrackedResource(Resource): 'location': {'key': 'location', 'type': 'str'}, } - def __init__(self, *, location: str, tags=None, **kwargs) -> None: + def __init__( + self, + *, + location: str, + tags: Optional[Dict[str, str]] = None, + **kwargs + ): super(TrackedResource, self).__init__(**kwargs) self.tags = tags self.location = location @@ -436,56 +395,85 @@ def __init__(self, *, location: str, tags=None, **kwargs) -> None: class ScheduledQueryRuleResource(TrackedResource): """The scheduled query rule resource. - Variables are only populated by the server, and will be ignored when - sending a request. + 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} + :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 + :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. + :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or + "Microsoft.Storage/storageAccounts". :vartype type: str - :param tags: Resource tags. + :param tags: A set of tags. Resource tags. :type tags: dict[str, str] - :param location: Required. The geo-location where the resource lives + :param location: Required. The geo-location where the resource lives. :type location: str + :param kind: Indicates the type of scheduled query rule. The default is LogAlert. Possible + values include: "LogAlert", "LogToMetric". + :type kind: str or ~$(python-base-namespace).v2021_02_01_preview.models.Kind + :ivar etag: The etag field is *not* required. If it is provided in the response body, it must + also be provided as a header per the normal etag convention. Entity tags are used for + comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in + the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range + (section 14.27) header fields. + :vartype etag: str + :ivar system_data: SystemData of ScheduledQueryRule. + :vartype system_data: ~$(python-base-namespace).v2021_02_01_preview.models.SystemData + :ivar created_with_api_version: The api-version used when creating this alert rule. + :vartype created_with_api_version: str + :ivar is_legacy_log_analytics_rule: True if alert rule is legacy Log Analytic rule. + :vartype is_legacy_log_analytics_rule: bool :param description: The description of the scheduled query rule. :type description: str - :param severity: Severity of the alert. Should be an integer between - [0-4]. Value of 0 is severest - :type severity: int - :param enabled: The flag which indicates whether this scheduled query rule - is enabled. Value should be true or false + :param display_name: The display name of the alert rule. + :type display_name: str + :param severity: Severity of the alert. Should be an integer between [0-4]. Value of 0 is + severest. Relevant and required only for rules of the kind LogAlert. Possible values include: + 0, 1, 2, 3, 4. + :type severity: str or ~$(python-base-namespace).v2021_02_01_preview.models.AlertSeverity + :param enabled: The flag which indicates whether this scheduled query rule is enabled. Value + should be true or false. :type enabled: bool - :param scopes: The list of resource id's that this scheduled query rule is - scoped to. + :param scopes: The list of resource id's that this scheduled query rule is scoped to. :type scopes: list[str] - :param evaluation_frequency: How often the scheduled query rule is - evaluated represented in ISO 8601 duration format. - :type evaluation_frequency: timedelta - :param window_size: The period of time (in ISO 8601 duration format) on - which the Alert query will be executed (bin size). - :type window_size: timedelta - :param target_resource_types: List of resource type of the target - resource(s) on which the alert is created/updated. For example if the - scope is a resource group and targetResourceTypes is - Microsoft.Compute/virtualMachines, then a different alert will be fired - for each virtual machine in the resource group which meet the alert - criteria + :param evaluation_frequency: How often the scheduled query rule is evaluated represented in ISO + 8601 duration format. Relevant and required only for rules of the kind LogAlert. + :type evaluation_frequency: ~datetime.timedelta + :param window_size: The period of time (in ISO 8601 duration format) on which the Alert query + will be executed (bin size). Relevant and required only for rules of the kind LogAlert. + :type window_size: ~datetime.timedelta + :param override_query_time_range: If specified then overrides the query time range (default is + WindowSize*NumberOfEvaluationPeriods). Relevant only for rules of the kind LogAlert. + :type override_query_time_range: ~datetime.timedelta + :param target_resource_types: List of resource type of the target resource(s) on which the + alert is created/updated. For example if the scope is a resource group and targetResourceTypes + is Microsoft.Compute/virtualMachines, then a different alert will be fired for each virtual + machine in the resource group which meet the alert criteria. Relevant only for rules of the + kind LogAlert. :type target_resource_types: list[str] - :param criteria: The rule criteria that defines the conditions of the - scheduled query rule. - :type criteria: - ~azure.mgmt.monitor.v2020_05_01_preview.models.ScheduledQueryRuleCriteria - :param mute_actions_duration: Mute actions for the chosen period of time - (in ISO 8601 duration format) after the alert is fired. - :type mute_actions_duration: timedelta - :param actions: - :type actions: list[~azure.mgmt.monitor.v2020_05_01_preview.models.Action] + :param criteria: The rule criteria that defines the conditions of the scheduled query rule. + :type criteria: ~$(python-base-namespace).v2021_02_01_preview.models.ScheduledQueryRuleCriteria + :param mute_actions_duration: Mute actions for the chosen period of time (in ISO 8601 duration + format) after the alert is fired. Relevant only for rules of the kind LogAlert. + :type mute_actions_duration: ~datetime.timedelta + :param actions: Actions to invoke when the alert fires. + :type actions: list[~$(python-base-namespace).v2021_02_01_preview.models.Action] + :ivar is_workspace_alerts_storage_configured: The flag which indicates whether this scheduled + query rule has been configured to be stored in the customer's storage. The default is false. + :vartype is_workspace_alerts_storage_configured: bool + :param check_workspace_alerts_storage_configured: The flag which indicates whether this + scheduled query rule should be stored in the customer's storage. The default is false. Relevant + only for rules of the kind LogAlert. + :type check_workspace_alerts_storage_configured: bool + :param skip_query_validation: The flag which indicates whether the provided query should be + validated or not. The default is false. Relevant only for rules of the kind LogAlert. + :type skip_query_validation: bool + :param auto_mitigate: The flag that indicates whether the alert should be automatically + resolved or not. The default is true. Relevant only for rules of the kind LogAlert. + :type auto_mitigate: bool """ _validation = { @@ -493,6 +481,11 @@ class ScheduledQueryRuleResource(TrackedResource): 'name': {'readonly': True}, 'type': {'readonly': True}, 'location': {'required': True}, + 'etag': {'readonly': True}, + 'system_data': {'readonly': True}, + 'created_with_api_version': {'readonly': True}, + 'is_legacy_log_analytics_rule': {'readonly': True}, + 'is_workspace_alerts_storage_configured': {'readonly': True}, } _attribute_map = { @@ -501,96 +494,275 @@ class ScheduledQueryRuleResource(TrackedResource): 'type': {'key': 'type', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, 'location': {'key': 'location', 'type': 'str'}, + 'kind': {'key': 'kind', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'created_with_api_version': {'key': 'properties.createdWithApiVersion', 'type': 'str'}, + 'is_legacy_log_analytics_rule': {'key': 'properties.isLegacyLogAnalyticsRule', 'type': 'bool'}, 'description': {'key': 'properties.description', 'type': 'str'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, 'severity': {'key': 'properties.severity', 'type': 'int'}, 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, 'scopes': {'key': 'properties.scopes', 'type': '[str]'}, 'evaluation_frequency': {'key': 'properties.evaluationFrequency', 'type': 'duration'}, 'window_size': {'key': 'properties.windowSize', 'type': 'duration'}, + 'override_query_time_range': {'key': 'properties.overrideQueryTimeRange', 'type': 'duration'}, 'target_resource_types': {'key': 'properties.targetResourceTypes', 'type': '[str]'}, 'criteria': {'key': 'properties.criteria', 'type': 'ScheduledQueryRuleCriteria'}, 'mute_actions_duration': {'key': 'properties.muteActionsDuration', 'type': 'duration'}, 'actions': {'key': 'properties.actions', 'type': '[Action]'}, + 'is_workspace_alerts_storage_configured': {'key': 'properties.isWorkspaceAlertsStorageConfigured', 'type': 'bool'}, + 'check_workspace_alerts_storage_configured': {'key': 'properties.checkWorkspaceAlertsStorageConfigured', 'type': 'bool'}, + 'skip_query_validation': {'key': 'properties.skipQueryValidation', 'type': 'bool'}, + 'auto_mitigate': {'key': 'properties.autoMitigate', 'type': 'bool'}, } - def __init__(self, *, location: str, tags=None, description: str=None, severity: int=None, enabled: bool=None, scopes=None, evaluation_frequency=None, window_size=None, target_resource_types=None, criteria=None, mute_actions_duration=None, actions=None, **kwargs) -> None: + def __init__( + self, + *, + location: str, + tags: Optional[Dict[str, str]] = None, + kind: Optional[Union[str, "Kind"]] = None, + description: Optional[str] = None, + display_name: Optional[str] = None, + severity: Optional[Union[float, "AlertSeverity"]] = None, + enabled: Optional[bool] = None, + scopes: Optional[List[str]] = None, + evaluation_frequency: Optional[datetime.timedelta] = None, + window_size: Optional[datetime.timedelta] = None, + override_query_time_range: Optional[datetime.timedelta] = None, + target_resource_types: Optional[List[str]] = None, + criteria: Optional["ScheduledQueryRuleCriteria"] = None, + mute_actions_duration: Optional[datetime.timedelta] = None, + actions: Optional[List["Action"]] = None, + check_workspace_alerts_storage_configured: Optional[bool] = None, + skip_query_validation: Optional[bool] = None, + auto_mitigate: Optional[bool] = None, + **kwargs + ): super(ScheduledQueryRuleResource, self).__init__(tags=tags, location=location, **kwargs) + self.kind = kind + self.etag = None + self.system_data = None + self.created_with_api_version = None + self.is_legacy_log_analytics_rule = None self.description = description + self.display_name = display_name self.severity = severity self.enabled = enabled self.scopes = scopes self.evaluation_frequency = evaluation_frequency self.window_size = window_size + self.override_query_time_range = override_query_time_range self.target_resource_types = target_resource_types self.criteria = criteria self.mute_actions_duration = mute_actions_duration self.actions = actions + self.is_workspace_alerts_storage_configured = None + self.check_workspace_alerts_storage_configured = check_workspace_alerts_storage_configured + self.skip_query_validation = skip_query_validation + self.auto_mitigate = auto_mitigate + + +class ScheduledQueryRuleResourceCollection(msrest.serialization.Model): + """Represents a collection of scheduled query rule resources. + + :param value: The values for the scheduled query rule resources. + :type value: + list[~$(python-base-namespace).v2021_02_01_preview.models.ScheduledQueryRuleResource] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ScheduledQueryRuleResource]'}, + } + + def __init__( + self, + *, + value: Optional[List["ScheduledQueryRuleResource"]] = None, + **kwargs + ): + super(ScheduledQueryRuleResourceCollection, self).__init__(**kwargs) + self.value = value -class ScheduledQueryRuleResourcePatch(Model): +class ScheduledQueryRuleResourcePatch(msrest.serialization.Model): """The scheduled query rule resource for patch operations. - :param tags: Resource tags + Variables are only populated by the server, and will be ignored when sending a request. + + :param tags: A set of tags. Resource tags. :type tags: dict[str, str] + :ivar created_with_api_version: The api-version used when creating this alert rule. + :vartype created_with_api_version: str + :ivar is_legacy_log_analytics_rule: True if alert rule is legacy Log Analytic rule. + :vartype is_legacy_log_analytics_rule: bool :param description: The description of the scheduled query rule. :type description: str - :param severity: Severity of the alert. Should be an integer between - [0-4]. Value of 0 is severest - :type severity: int - :param enabled: The flag which indicates whether this scheduled query rule - is enabled. Value should be true or false + :param display_name: The display name of the alert rule. + :type display_name: str + :param severity: Severity of the alert. Should be an integer between [0-4]. Value of 0 is + severest. Relevant and required only for rules of the kind LogAlert. Possible values include: + 0, 1, 2, 3, 4. + :type severity: str or ~$(python-base-namespace).v2021_02_01_preview.models.AlertSeverity + :param enabled: The flag which indicates whether this scheduled query rule is enabled. Value + should be true or false. :type enabled: bool - :param scopes: The list of resource id's that this scheduled query rule is - scoped to. + :param scopes: The list of resource id's that this scheduled query rule is scoped to. :type scopes: list[str] - :param evaluation_frequency: How often the scheduled query rule is - evaluated represented in ISO 8601 duration format. - :type evaluation_frequency: timedelta - :param window_size: The period of time (in ISO 8601 duration format) on - which the Alert query will be executed (bin size). - :type window_size: timedelta - :param target_resource_types: List of resource type of the target - resource(s) on which the alert is created/updated. For example if the - scope is a resource group and targetResourceTypes is - Microsoft.Compute/virtualMachines, then a different alert will be fired - for each virtual machine in the resource group which meet the alert - criteria + :param evaluation_frequency: How often the scheduled query rule is evaluated represented in ISO + 8601 duration format. Relevant and required only for rules of the kind LogAlert. + :type evaluation_frequency: ~datetime.timedelta + :param window_size: The period of time (in ISO 8601 duration format) on which the Alert query + will be executed (bin size). Relevant and required only for rules of the kind LogAlert. + :type window_size: ~datetime.timedelta + :param override_query_time_range: If specified then overrides the query time range (default is + WindowSize*NumberOfEvaluationPeriods). Relevant only for rules of the kind LogAlert. + :type override_query_time_range: ~datetime.timedelta + :param target_resource_types: List of resource type of the target resource(s) on which the + alert is created/updated. For example if the scope is a resource group and targetResourceTypes + is Microsoft.Compute/virtualMachines, then a different alert will be fired for each virtual + machine in the resource group which meet the alert criteria. Relevant only for rules of the + kind LogAlert. :type target_resource_types: list[str] - :param criteria: The rule criteria that defines the conditions of the - scheduled query rule. - :type criteria: - ~azure.mgmt.monitor.v2020_05_01_preview.models.ScheduledQueryRuleCriteria - :param mute_actions_duration: Mute actions for the chosen period of time - (in ISO 8601 duration format) after the alert is fired. - :type mute_actions_duration: timedelta - :param actions: - :type actions: list[~azure.mgmt.monitor.v2020_05_01_preview.models.Action] + :param criteria: The rule criteria that defines the conditions of the scheduled query rule. + :type criteria: ~$(python-base-namespace).v2021_02_01_preview.models.ScheduledQueryRuleCriteria + :param mute_actions_duration: Mute actions for the chosen period of time (in ISO 8601 duration + format) after the alert is fired. Relevant only for rules of the kind LogAlert. + :type mute_actions_duration: ~datetime.timedelta + :param actions: Actions to invoke when the alert fires. + :type actions: list[~$(python-base-namespace).v2021_02_01_preview.models.Action] + :ivar is_workspace_alerts_storage_configured: The flag which indicates whether this scheduled + query rule has been configured to be stored in the customer's storage. The default is false. + :vartype is_workspace_alerts_storage_configured: bool + :param check_workspace_alerts_storage_configured: The flag which indicates whether this + scheduled query rule should be stored in the customer's storage. The default is false. Relevant + only for rules of the kind LogAlert. + :type check_workspace_alerts_storage_configured: bool + :param skip_query_validation: The flag which indicates whether the provided query should be + validated or not. The default is false. Relevant only for rules of the kind LogAlert. + :type skip_query_validation: bool + :param auto_mitigate: The flag that indicates whether the alert should be automatically + resolved or not. The default is true. Relevant only for rules of the kind LogAlert. + :type auto_mitigate: bool """ + _validation = { + 'created_with_api_version': {'readonly': True}, + 'is_legacy_log_analytics_rule': {'readonly': True}, + 'is_workspace_alerts_storage_configured': {'readonly': True}, + } + _attribute_map = { 'tags': {'key': 'tags', 'type': '{str}'}, + 'created_with_api_version': {'key': 'properties.createdWithApiVersion', 'type': 'str'}, + 'is_legacy_log_analytics_rule': {'key': 'properties.isLegacyLogAnalyticsRule', 'type': 'bool'}, 'description': {'key': 'properties.description', 'type': 'str'}, + 'display_name': {'key': 'properties.displayName', 'type': 'str'}, 'severity': {'key': 'properties.severity', 'type': 'int'}, 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, 'scopes': {'key': 'properties.scopes', 'type': '[str]'}, 'evaluation_frequency': {'key': 'properties.evaluationFrequency', 'type': 'duration'}, 'window_size': {'key': 'properties.windowSize', 'type': 'duration'}, + 'override_query_time_range': {'key': 'properties.overrideQueryTimeRange', 'type': 'duration'}, 'target_resource_types': {'key': 'properties.targetResourceTypes', 'type': '[str]'}, 'criteria': {'key': 'properties.criteria', 'type': 'ScheduledQueryRuleCriteria'}, 'mute_actions_duration': {'key': 'properties.muteActionsDuration', 'type': 'duration'}, 'actions': {'key': 'properties.actions', 'type': '[Action]'}, + 'is_workspace_alerts_storage_configured': {'key': 'properties.isWorkspaceAlertsStorageConfigured', 'type': 'bool'}, + 'check_workspace_alerts_storage_configured': {'key': 'properties.checkWorkspaceAlertsStorageConfigured', 'type': 'bool'}, + 'skip_query_validation': {'key': 'properties.skipQueryValidation', 'type': 'bool'}, + 'auto_mitigate': {'key': 'properties.autoMitigate', 'type': 'bool'}, } - def __init__(self, *, tags=None, description: str=None, severity: int=None, enabled: bool=None, scopes=None, evaluation_frequency=None, window_size=None, target_resource_types=None, criteria=None, mute_actions_duration=None, actions=None, **kwargs) -> None: + def __init__( + self, + *, + tags: Optional[Dict[str, str]] = None, + description: Optional[str] = None, + display_name: Optional[str] = None, + severity: Optional[Union[float, "AlertSeverity"]] = None, + enabled: Optional[bool] = None, + scopes: Optional[List[str]] = None, + evaluation_frequency: Optional[datetime.timedelta] = None, + window_size: Optional[datetime.timedelta] = None, + override_query_time_range: Optional[datetime.timedelta] = None, + target_resource_types: Optional[List[str]] = None, + criteria: Optional["ScheduledQueryRuleCriteria"] = None, + mute_actions_duration: Optional[datetime.timedelta] = None, + actions: Optional[List["Action"]] = None, + check_workspace_alerts_storage_configured: Optional[bool] = None, + skip_query_validation: Optional[bool] = None, + auto_mitigate: Optional[bool] = None, + **kwargs + ): super(ScheduledQueryRuleResourcePatch, self).__init__(**kwargs) self.tags = tags + self.created_with_api_version = None + self.is_legacy_log_analytics_rule = None self.description = description + self.display_name = display_name self.severity = severity self.enabled = enabled self.scopes = scopes self.evaluation_frequency = evaluation_frequency self.window_size = window_size + self.override_query_time_range = override_query_time_range self.target_resource_types = target_resource_types self.criteria = criteria self.mute_actions_duration = mute_actions_duration self.actions = actions + self.is_workspace_alerts_storage_configured = None + self.check_workspace_alerts_storage_configured = check_workspace_alerts_storage_configured + self.skip_query_validation = skip_query_validation + self.auto_mitigate = auto_mitigate + + +class SystemData(msrest.serialization.Model): + """Metadata pertaining to creation and last modification of the resource. + + :param created_by: The identity that created the resource. + :type created_by: str + :param created_by_type: The type of identity that created the resource. Possible values + include: "User", "Application", "ManagedIdentity", "Key". + :type created_by_type: str or + ~$(python-base-namespace).v2021_02_01_preview.models.CreatedByType + :param created_at: The timestamp of resource creation (UTC). + :type created_at: ~datetime.datetime + :param last_modified_by: The identity that last modified the resource. + :type last_modified_by: str + :param last_modified_by_type: The type of identity that last modified the resource. Possible + values include: "User", "Application", "ManagedIdentity", "Key". + :type last_modified_by_type: str or + ~$(python-base-namespace).v2021_02_01_preview.models.CreatedByType + :param last_modified_at: The timestamp of resource last modification (UTC). + :type last_modified_at: ~datetime.datetime + """ + + _attribute_map = { + 'created_by': {'key': 'createdBy', 'type': 'str'}, + 'created_by_type': {'key': 'createdByType', 'type': 'str'}, + 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, + 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, + 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, + 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, + } + + def __init__( + self, + *, + created_by: Optional[str] = None, + created_by_type: Optional[Union[str, "CreatedByType"]] = None, + created_at: Optional[datetime.datetime] = None, + last_modified_by: Optional[str] = None, + last_modified_by_type: Optional[Union[str, "CreatedByType"]] = None, + last_modified_at: Optional[datetime.datetime] = None, + **kwargs + ): + super(SystemData, self).__init__(**kwargs) + self.created_by = created_by + self.created_by_type = created_by_type + self.created_at = created_at + self.last_modified_by = last_modified_by + self.last_modified_by_type = last_modified_by_type + self.last_modified_at = last_modified_at diff --git a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/models/_monitor_client_enums.py b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/models/_monitor_client_enums.py deleted file mode 100644 index 93fa54eb856..00000000000 --- a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/models/_monitor_client_enums.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 enum import Enum - - -class TimeAggregation(str, Enum): - - count = "Count" - average = "Average" - minimum = "Minimum" - maximum = "Maximum" - total = "Total" - - -class DimensionOperator(str, Enum): - - include = "Include" - exclude = "Exclude" - - -class ConditionOperator(str, Enum): - - equals = "Equals" - greater_than = "GreaterThan" - greater_than_or_equal = "GreaterThanOrEqual" - less_than = "LessThan" - less_than_or_equal = "LessThanOrEqual" diff --git a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/models/_monitor_management_client_enums.py b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/models/_monitor_management_client_enums.py new file mode 100644 index 00000000000..161a4ad83b7 --- /dev/null +++ b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/models/_monitor_management_client_enums.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 enum import Enum, EnumMeta +from six import with_metaclass + +class _CaseInsensitiveEnumMeta(EnumMeta): + def __getitem__(self, name): + return super().__getitem__(name.upper()) + + def __getattr__(cls, name): + """Return the enum member matching `name` + We use __getattr__ instead of descriptors or inserting into the enum + class' __dict__ in order to support `name` and `value` being both + properties for enum members (which live in the class' __dict__) and + enum members themselves. + """ + try: + return cls._member_map_[name.upper()] + except KeyError: + raise AttributeError(name) + + +class AlertSeverity(with_metaclass(_CaseInsensitiveEnumMeta, float, Enum)): + """Severity of the alert. Should be an integer between [0-4]. Value of 0 is severest. Relevant and + required only for rules of the kind LogAlert. + """ + + ZERO = 0 + ONE = 1 + TWO = 2 + THREE = 3 + FOUR = 4 + +class ConditionOperator(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The criteria operator. Relevant and required only for rules of the kind LogAlert. + """ + + EQUALS = "Equals" + GREATER_THAN = "GreaterThan" + GREATER_THAN_OR_EQUAL = "GreaterThanOrEqual" + LESS_THAN = "LessThan" + LESS_THAN_OR_EQUAL = "LessThanOrEqual" + +class CreatedByType(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """The type of identity that created the resource. + """ + + USER = "User" + APPLICATION = "Application" + MANAGED_IDENTITY = "ManagedIdentity" + KEY = "Key" + +class DimensionOperator(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Operator for dimension values + """ + + INCLUDE = "Include" + EXCLUDE = "Exclude" + +class Kind(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Indicates the type of scheduled query rule. The default is LogAlert. + """ + + LOG_ALERT = "LogAlert" + LOG_TO_METRIC = "LogToMetric" + +class TimeAggregation(with_metaclass(_CaseInsensitiveEnumMeta, str, Enum)): + """Aggregation type. Relevant and required only for rules of the kind LogAlert. + """ + + COUNT = "Count" + AVERAGE = "Average" + MINIMUM = "Minimum" + MAXIMUM = "Maximum" + TOTAL = "Total" diff --git a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/models/_paged_models.py b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/models/_paged_models.py deleted file mode 100644 index f84d254075a..00000000000 --- a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/models/_paged_models.py +++ /dev/null @@ -1,27 +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.paging import Paged - - -class ScheduledQueryRuleResourcePaged(Paged): - """ - A paging container for iterating over a list of :class:`ScheduledQueryRuleResource ` object - """ - - _attribute_map = { - 'next_link': {'key': 'nextLink', 'type': 'str'}, - 'current_page': {'key': 'value', 'type': '[ScheduledQueryRuleResource]'} - } - - def __init__(self, *args, **kwargs): - - super(ScheduledQueryRuleResourcePaged, self).__init__(*args, **kwargs) diff --git a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/operations/__init__.py b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/operations/__init__.py index c8cedc13e4d..f677702ed3d 100644 --- a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/operations/__init__.py +++ b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/operations/__init__.py @@ -1,12 +1,9 @@ # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# +# Licensed under the MIT License. See License.txt in the project root for license information. # Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- from ._scheduled_query_rules_operations import ScheduledQueryRulesOperations diff --git a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/operations/_scheduled_query_rules_operations.py b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/operations/_scheduled_query_rules_operations.py index 448838fbdc5..0a62242f6c8 100644 --- a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/operations/_scheduled_query_rules_operations.py +++ b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/operations/_scheduled_query_rules_operations.py @@ -1,423 +1,443 @@ # coding=utf-8 # -------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for -# license information. -# +# Licensed under the MIT License. See License.txt in the project root for license information. # Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is -# regenerated. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +from typing import TYPE_CHECKING +import warnings -import uuid -from msrest.pipeline import ClientRawResponse +from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.paging import ItemPaged +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpRequest, HttpResponse +from azure.mgmt.core.exceptions import ARMErrorFormat -from .. import models +from .. import models as _models +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, Generic, Iterable, Optional, TypeVar, Union + + T = TypeVar('T') + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] class ScheduledQueryRulesOperations(object): """ScheduledQueryRulesOperations operations. - You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + You should not instantiate this class directly. Instead, you should create a Client instance that + instantiates it for you and attaches it as an attribute. + :ivar models: Alias to model classes used in this operation group. + :type models: ~$(python-base-namespace).v2021_02_01_preview.models :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: Client Api Version. Constant value: "2020-05-01-preview". """ - models = models + models = _models def __init__(self, client, config, serializer, deserializer): - self._client = client self._serialize = serializer self._deserialize = deserializer - self.api_version = "2020-05-01-preview" - - self.config = config + self._config = config def list_by_subscription( - self, custom_headers=None, raw=False, **operation_config): + self, + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.ScheduledQueryRuleResourceCollection"] """Retrieve a scheduled query rule definitions 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 ScheduledQueryRuleResource - :rtype: - ~azure.mgmt.monitor.v2020_05_01_preview.models.ScheduledQueryRuleResourcePaged[~azure.mgmt.monitor.v2020_05_01_preview.models.ScheduledQueryRuleResource] - :raises: - :class:`ErrorContractException` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ScheduledQueryRuleResourceCollection or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~$(python-base-namespace).v2021_02_01_preview.models.ScheduledQueryRuleResourceCollection] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ScheduledQueryRuleResourceCollection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-02-01-preview" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list_by_subscription.metadata['url'] + url = self.list_by_subscription.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, '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') + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_parameters) else: url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, header_parameters) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('ScheduledQueryRuleResourceCollection', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, iter(list_of_elem) + + def get_next(next_link=None): request = prepare_request(next_link) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - raise models.ErrorContractException(self._deserialize, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorContract, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - return response + return pipeline_response - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ScheduledQueryRuleResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Insights/scheduledQueryRules'} + return ItemPaged( + get_next, extract_data + ) + list_by_subscription.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Insights/scheduledQueryRules'} # type: ignore def list_by_resource_group( - self, resource_group_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> Iterable["_models.ScheduledQueryRuleResourceCollection"] """Retrieve scheduled query rule definitions in a resource group. - :param resource_group_name: The name of the resource group. + :param resource_group_name: The name of the resource group. 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 ScheduledQueryRuleResource - :rtype: - ~azure.mgmt.monitor.v2020_05_01_preview.models.ScheduledQueryRuleResourcePaged[~azure.mgmt.monitor.v2020_05_01_preview.models.ScheduledQueryRuleResource] - :raises: - :class:`ErrorContractException` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: An iterator like instance of either ScheduledQueryRuleResourceCollection or the result of cls(response) + :rtype: ~azure.core.paging.ItemPaged[~$(python-base-namespace).v2021_02_01_preview.models.ScheduledQueryRuleResourceCollection] + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ScheduledQueryRuleResourceCollection"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-02-01-preview" + accept = "application/json" + def prepare_request(next_link=None): + # Construct headers + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + if not next_link: # Construct URL - url = self.list_by_resource_group.metadata['url'] + url = self.list_by_resource_group.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str') + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), } 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') + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + request = self._client.get(url, query_parameters, header_parameters) else: url = next_link - query_parameters = {} - - # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, header_parameters) + query_parameters = {} # type: Dict[str, Any] + request = self._client.get(url, query_parameters, header_parameters) return request - def internal_paging(next_link=None): + def extract_data(pipeline_response): + deserialized = self._deserialize('ScheduledQueryRuleResourceCollection', pipeline_response) + list_of_elem = deserialized.value + if cls: + list_of_elem = cls(list_of_elem) + return None, iter(list_of_elem) + + def get_next(next_link=None): request = prepare_request(next_link) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - raise models.ErrorContractException(self._deserialize, response) + error = self._deserialize.failsafe_deserialize(_models.ErrorContract, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - return response + return pipeline_response - # Deserialize response - header_dict = None - if raw: - header_dict = {} - deserialized = models.ScheduledQueryRuleResourcePaged(internal_paging, self._deserialize.dependencies, header_dict) - - return deserialized - list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/scheduledQueryRules'} + return ItemPaged( + get_next, extract_data + ) + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/scheduledQueryRules'} # type: ignore def get( - self, resource_group_name, rule_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + rule_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> "_models.ScheduledQueryRuleResource" """Retrieve an scheduled query rule definition. - :param resource_group_name: The name of the resource group. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param rule_name: The name of the rule. :type 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: ScheduledQueryRuleResource or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.monitor.v2020_05_01_preview.models.ScheduledQueryRuleResource - or ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorContractException` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ScheduledQueryRuleResource, or the result of cls(response) + :rtype: ~$(python-base-namespace).v2021_02_01_preview.models.ScheduledQueryRuleResource + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ScheduledQueryRuleResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-02-01-preview" + accept = "application/json" + # Construct URL - url = self.get.metadata['url'] + url = self.get.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'ruleName': self._serialize.url("rule_name", rule_name, 'str') + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'ruleName': self._serialize.url("rule_name", 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') + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.get(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - raise models.ErrorContractException(self._deserialize, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorContract, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('ScheduledQueryRuleResource', response) + deserialized = self._deserialize('ScheduledQueryRuleResource', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/scheduledQueryRules/{ruleName}'} + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/scheduledQueryRules/{ruleName}'} # type: ignore def create_or_update( - self, resource_group_name, rule_name, parameters, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + rule_name, # type: str + parameters, # type: "_models.ScheduledQueryRuleResource" + **kwargs # type: Any + ): + # type: (...) -> "_models.ScheduledQueryRuleResource" """Creates or updates a scheduled query rule. - :param resource_group_name: The name of the resource group. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param rule_name: The name of the rule. :type rule_name: str :param parameters: The parameters of the rule to create or update. - :type parameters: - ~azure.mgmt.monitor.v2020_05_01_preview.models.ScheduledQueryRuleResource - :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: ScheduledQueryRuleResource or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.monitor.v2020_05_01_preview.models.ScheduledQueryRuleResource - or ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorContractException` + :type parameters: ~$(python-base-namespace).v2021_02_01_preview.models.ScheduledQueryRuleResource + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ScheduledQueryRuleResource, or the result of cls(response) + :rtype: ~$(python-base-namespace).v2021_02_01_preview.models.ScheduledQueryRuleResource + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ScheduledQueryRuleResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-02-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + # Construct URL - url = self.create_or_update.metadata['url'] + url = self.create_or_update.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'ruleName': self._serialize.url("rule_name", rule_name, 'str') + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'ruleName': self._serialize.url("rule_name", 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') + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'ScheduledQueryRuleResource') + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request - request = self._client.put(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(parameters, 'ScheduledQueryRuleResource') + body_content_kwargs['content'] = body_content + request = self._client.put(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200, 201]: - raise models.ErrorContractException(self._deserialize, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorContract, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = None if response.status_code == 200: - deserialized = self._deserialize('ScheduledQueryRuleResource', response) + deserialized = self._deserialize('ScheduledQueryRuleResource', pipeline_response) + if response.status_code == 201: - deserialized = self._deserialize('ScheduledQueryRuleResource', response) + deserialized = self._deserialize('ScheduledQueryRuleResource', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/scheduledQueryRules/{ruleName}'} + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/scheduledQueryRules/{ruleName}'} # type: ignore def update( - self, resource_group_name, rule_name, parameters, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + rule_name, # type: str + parameters, # type: "_models.ScheduledQueryRuleResourcePatch" + **kwargs # type: Any + ): + # type: (...) -> "_models.ScheduledQueryRuleResource" """Update a scheduled query rule. - :param resource_group_name: The name of the resource group. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param rule_name: The name of the rule. :type rule_name: str :param parameters: The parameters of the rule to update. - :type parameters: - ~azure.mgmt.monitor.v2020_05_01_preview.models.ScheduledQueryRuleResourcePatch - :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: ScheduledQueryRuleResource or ClientRawResponse if raw=true - :rtype: - ~azure.mgmt.monitor.v2020_05_01_preview.models.ScheduledQueryRuleResource - or ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorContractException` + :type parameters: ~$(python-base-namespace).v2021_02_01_preview.models.ScheduledQueryRuleResourcePatch + :keyword callable cls: A custom type or function that will be passed the direct response + :return: ScheduledQueryRuleResource, or the result of cls(response) + :rtype: ~$(python-base-namespace).v2021_02_01_preview.models.ScheduledQueryRuleResource + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType["_models.ScheduledQueryRuleResource"] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-02-01-preview" + content_type = kwargs.pop("content_type", "application/json") + accept = "application/json" + # Construct URL - url = self.update.metadata['url'] + url = self.update.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'ruleName': self._serialize.url("rule_name", rule_name, 'str') + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'ruleName': self._serialize.url("rule_name", 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') + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers - header_parameters = {} - header_parameters['Accept'] = 'application/json' - 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, 'ScheduledQueryRuleResourcePatch') + header_parameters = {} # type: Dict[str, Any] + header_parameters['Content-Type'] = self._serialize.header("content_type", content_type, 'str') + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') - # Construct and send request - request = self._client.patch(url, query_parameters, header_parameters, body_content) - response = self._client.send(request, stream=False, **operation_config) + body_content_kwargs = {} # type: Dict[str, Any] + body_content = self._serialize.body(parameters, 'ScheduledQueryRuleResourcePatch') + body_content_kwargs['content'] = body_content + request = self._client.patch(url, query_parameters, header_parameters, **body_content_kwargs) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200]: - raise models.ErrorContractException(self._deserialize, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorContract, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = None - if response.status_code == 200: - deserialized = self._deserialize('ScheduledQueryRuleResource', response) + deserialized = self._deserialize('ScheduledQueryRuleResource', pipeline_response) - if raw: - client_raw_response = ClientRawResponse(deserialized, response) - return client_raw_response + if cls: + return cls(pipeline_response, deserialized, {}) return deserialized - update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/scheduledQueryRules/{ruleName}'} + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/scheduledQueryRules/{ruleName}'} # type: ignore def delete( - self, resource_group_name, rule_name, custom_headers=None, raw=False, **operation_config): + self, + resource_group_name, # type: str + rule_name, # type: str + **kwargs # type: Any + ): + # type: (...) -> None """Deletes a scheduled query rule. - :param resource_group_name: The name of the resource group. + :param resource_group_name: The name of the resource group. The name is case insensitive. :type resource_group_name: str :param rule_name: The name of the rule. :type 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: None or ClientRawResponse if raw=true - :rtype: None or ~msrest.pipeline.ClientRawResponse - :raises: - :class:`ErrorContractException` + :keyword callable cls: A custom type or function that will be passed the direct response + :return: None, or the result of cls(response) + :rtype: None + :raises: ~azure.core.exceptions.HttpResponseError """ + cls = kwargs.pop('cls', None) # type: ClsType[None] + error_map = { + 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError + } + error_map.update(kwargs.pop('error_map', {})) + api_version = "2021-02-01-preview" + accept = "application/json" + # Construct URL - url = self.delete.metadata['url'] + url = self.delete.metadata['url'] # type: ignore path_format_arguments = { - 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), - 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), - 'ruleName': self._serialize.url("rule_name", rule_name, 'str') + 'subscriptionId': self._serialize.url("self._config.subscription_id", self._config.subscription_id, 'str', min_length=1), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', max_length=90, min_length=1, pattern=r'^[-\w\._\(\)]+$'), + 'ruleName': self._serialize.url("rule_name", 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') + query_parameters = {} # type: Dict[str, Any] + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') # Construct headers - header_parameters = {} - 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 + header_parameters = {} # type: Dict[str, Any] + header_parameters['Accept'] = self._serialize.header("accept", accept, 'str') + request = self._client.delete(url, query_parameters, header_parameters) - response = self._client.send(request, stream=False, **operation_config) + pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs) + response = pipeline_response.http_response if response.status_code not in [200, 204]: - raise models.ErrorContractException(self._deserialize, response) + map_error(status_code=response.status_code, response=response, error_map=error_map) + error = self._deserialize.failsafe_deserialize(_models.ErrorContract, response) + raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) + + if cls: + return cls(pipeline_response, None, {}) - if raw: - client_raw_response = ClientRawResponse(None, response) - return client_raw_response - delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/scheduledQueryRules/{ruleName}'} + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/scheduledQueryRules/{ruleName}'} # type: ignore diff --git a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/version.py b/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/version.py deleted file mode 100644 index fc729cd3194..00000000000 --- a/src/scheduled-query/azext_scheduled_query/vendored_sdks/azure_mgmt_scheduled_query/version.py +++ /dev/null @@ -1,13 +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. -# -------------------------------------------------------------------------- - -VERSION = "2020-05-01-preview" - From 4f21314b2346dc08f6b9dcd6921186187c01bf40 Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Mon, 31 May 2021 16:43:00 +0800 Subject: [PATCH 70/83] [Release] Update index.json for extension [ scheduled-query ] (#3447) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=920281 Last commit: https://github.com/Azure/azure-cli-extensions/commit/5ed250ace48c2516c70686da9102eee9073ae5d0 --- src/index.json | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/src/index.json b/src/index.json index 40570525b5d..c1cb3393f87 100644 --- a/src/index.json +++ b/src/index.json @@ -14898,6 +14898,49 @@ "version": "0.2.2" }, "sha256Digest": "17f2dfaa317f735eee708b4365e107a29b3fb796f8d6a9505388ec30c73bf930" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/scheduled_query-0.3.0-py2.py3-none-any.whl", + "filename": "scheduled_query-0.3.0-py2.py3-none-any.whl", + "metadata": { + "azext.isPreview": true, + "azext.minCliCoreVersion": "2.20.0", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "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": "scheduled-query", + "summary": "Microsoft Azure Command-Line Tools Scheduled_query Extension", + "version": "0.3.0" + }, + "sha256Digest": "ec2220289b5715676e169baeb457322cceade980a36c9034eb58206371703892" } ], "sentinel": [ From f3e9c169acad20e4b57d2359618b0d3e46c215cc Mon Sep 17 00:00:00 2001 From: Zunli Hu Date: Wed, 2 Jun 2021 10:19:32 +0800 Subject: [PATCH 71/83] {Diskpool} Fix issue for generation issue (#3450) * refine help * test pass * fix style * fix style --- src/diskpool/HISTORY.rst | 4 + src/diskpool/azext_diskpool/__init__.py | 21 +- src/diskpool/azext_diskpool/action.py | 7 +- src/diskpool/azext_diskpool/custom.py | 7 +- .../generated/_client_factory.py | 4 - .../azext_diskpool/generated/_help.py | 5 - .../azext_diskpool/generated/action.py | 152 +- .../azext_diskpool/generated/commands.py | 29 +- .../azext_diskpool/manual/_client_factory.py | 14 + src/diskpool/azext_diskpool/manual/_help.py | 31 + .../azext_diskpool/manual/commands.py | 4 +- ...est_diskpool_list_sku_scenario_manual.yaml | 2 +- .../test_diskpool_scenario_manual.yaml | 1936 +++++++++++++---- .../storagepool/models/_models.py | 7 + .../storagepool/models/_models_py3.py | 7 + src/diskpool/gen.zip | Bin 12264 -> 15090 bytes src/diskpool/report.md | 2 +- src/diskpool/setup.py | 2 +- 18 files changed, 1661 insertions(+), 573 deletions(-) create mode 100644 src/diskpool/azext_diskpool/manual/_client_factory.py diff --git a/src/diskpool/HISTORY.rst b/src/diskpool/HISTORY.rst index 1c139576ba0..edbb6c31f6a 100644 --- a/src/diskpool/HISTORY.rst +++ b/src/diskpool/HISTORY.rst @@ -3,6 +3,10 @@ Release History =============== +0.1.1 +++++++ +* Fix generation issue. + 0.1.0 ++++++ * Initial release. diff --git a/src/diskpool/azext_diskpool/__init__.py b/src/diskpool/azext_diskpool/__init__.py index 2b5cb0acbde..cbe2830075c 100644 --- a/src/diskpool/azext_diskpool/__init__.py +++ b/src/diskpool/azext_diskpool/__init__.py @@ -7,10 +7,13 @@ # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- -# pylint: disable=unused-import -import azext_diskpool._help from azure.cli.core import AzCommandsLoader +from azext_diskpool.generated._help import helps # pylint: disable=unused-import +try: + from azext_diskpool.manual._help import helps # pylint: disable=reimported +except ImportError: + pass class StoragePoolManagementCommandsLoader(AzCommandsLoader): @@ -30,11 +33,8 @@ def load_command_table(self, args): try: from azext_diskpool.manual.commands import load_command_table as load_command_table_manual load_command_table_manual(self, args) - except ImportError as e: - if e.name.endswith('manual.commands'): - pass - else: - raise e + except ImportError: + pass return self.command_table def load_arguments(self, command): @@ -43,11 +43,8 @@ def load_arguments(self, command): try: from azext_diskpool.manual._params import load_arguments as load_arguments_manual load_arguments_manual(self, command) - except ImportError as e: - if e.name.endswith('manual._params'): - pass - else: - raise e + except ImportError: + pass COMMAND_LOADER_CLS = StoragePoolManagementCommandsLoader diff --git a/src/diskpool/azext_diskpool/action.py b/src/diskpool/azext_diskpool/action.py index 9b3d0a8a78c..d95d53bf711 100644 --- a/src/diskpool/azext_diskpool/action.py +++ b/src/diskpool/azext_diskpool/action.py @@ -13,8 +13,5 @@ from .generated.action import * # noqa: F403 try: from .manual.action import * # noqa: F403 -except ImportError as e: - if e.name.endswith('manual.action'): - pass - else: - raise e +except ImportError: + pass diff --git a/src/diskpool/azext_diskpool/custom.py b/src/diskpool/azext_diskpool/custom.py index 885447229d6..dbe9d5f9742 100644 --- a/src/diskpool/azext_diskpool/custom.py +++ b/src/diskpool/azext_diskpool/custom.py @@ -13,8 +13,5 @@ from .generated.custom import * # noqa: F403 try: from .manual.custom import * # noqa: F403 -except ImportError as e: - if e.name.endswith('manual.custom'): - pass - else: - raise e +except ImportError: + pass diff --git a/src/diskpool/azext_diskpool/generated/_client_factory.py b/src/diskpool/azext_diskpool/generated/_client_factory.py index cd3bcf51fee..16ba3e4f5bc 100644 --- a/src/diskpool/azext_diskpool/generated/_client_factory.py +++ b/src/diskpool/azext_diskpool/generated/_client_factory.py @@ -20,9 +20,5 @@ def cf_disk_pool(cli_ctx, *_): return cf_diskpool_cl(cli_ctx).disk_pools -def cf_disk_pool_zone(cli_ctx, *_): - return cf_diskpool_cl(cli_ctx).disk_pool_zones - - def cf_iscsi_target(cli_ctx, *_): return cf_diskpool_cl(cli_ctx).iscsi_targets diff --git a/src/diskpool/azext_diskpool/generated/_help.py b/src/diskpool/azext_diskpool/generated/_help.py index 3dc6812269f..0c0f40fb142 100644 --- a/src/diskpool/azext_diskpool/generated/_help.py +++ b/src/diskpool/azext_diskpool/generated/_help.py @@ -12,11 +12,6 @@ from knack.help_files import helps -helps['disk-pool'] = ''' - type: group - short-summary: Manage Storage Pool Management -''' - helps['disk-pool'] = """ type: group short-summary: Manage disk pool with diskpool diff --git a/src/diskpool/azext_diskpool/generated/action.py b/src/diskpool/azext_diskpool/generated/action.py index 4e4d509a5c2..62b0d509d18 100644 --- a/src/diskpool/azext_diskpool/generated/action.py +++ b/src/diskpool/azext_diskpool/generated/action.py @@ -7,47 +7,19 @@ # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- - - # pylint: disable=protected-access -# pylint: disable=no-self-use - - import argparse from collections import defaultdict from knack.util import CLIError -class AddDiskPoolUpdateDisks(argparse._AppendAction): - def __call__(self, parser, namespace, values, option_string=None): - action = self.get_action(values, option_string) - - for item in action: - super(AddDiskPoolUpdateDisks, self).__call__(parser, namespace, item, option_string) - - def get_action(self, values, option_string=None): - try: - value_chunk_list = [values[x: x + 1] for x in range(0, len(values), 1)] - value_list = [] - for chunk in value_chunk_list: - id = chunk - value_list.append( - { - 'id': id, - } - ) - return value_list - except ValueError: - raise CLIError('usage error: {} NAME METRIC OPERATION VALUE'.format(option_string)) - - class AddSku(argparse.Action): def __call__(self, parser, namespace, values, option_string=None): action = self.get_action(values, option_string) namespace.sku = action - def get_action(self, values, option_string): + def get_action(self, values, option_string): # pylint: disable=no-self-use try: properties = defaultdict(list) for (k, v) in (x.split('=', 1) for x in values): @@ -57,43 +29,33 @@ def get_action(self, values, option_string): raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) d = {} for k in properties: - kl = k.lower() - v = properties[k] - if kl == 'name': - d['name'] = v[0] - elif kl == 'tier': - d['tier'] = v[0] - else: - raise CLIError( - 'Unsupported Key {} is provided for parameter sku. All possible keys are: name, tier'.format(k) - ) - + raise CLIError('Unsupported Key {} is provided for parameter sku. All possible keys are: name, tier'. + format(k)) return d class AddDiskPoolCreateDisks(argparse._AppendAction): def __call__(self, parser, namespace, values, option_string=None): action = self.get_action(values, option_string) - for item in action: super(AddDiskPoolCreateDisks, self).__call__(parser, namespace, item, option_string) def get_action(self, values, option_string=None): try: - value_chunk_list = [values[x: x + 1] for x in range(0, len(values), 1)] + value_chunk_list = [values[x:x + 1] for x in range(0, len(values), 1)] value_list = [] for chunk in value_chunk_list: - id = chunk + id, = chunk value_list.append( { - 'id': id, + 'id': id } ) return value_list @@ -101,12 +63,34 @@ def get_action(self, values, option_string=None): raise CLIError('usage error: {} NAME METRIC OPERATION VALUE'.format(option_string)) -class AddDiskPoolIscsiTargetUpdateStaticAcls(argparse._AppendAction): +class AddDiskPoolUpdateDisks(argparse._AppendAction): def __call__(self, parser, namespace, values, option_string=None): action = self.get_action(values, option_string) - super(AddDiskPoolIscsiTargetUpdateStaticAcls, self).__call__(parser, namespace, action, option_string) + for item in action: + super(AddDiskPoolUpdateDisks, self).__call__(parser, namespace, item, option_string) - def get_action(self, values, option_string): + def get_action(self, values, option_string=None): + try: + value_chunk_list = [values[x:x + 1] for x in range(0, len(values), 1)] + value_list = [] + for chunk in value_chunk_list: + id, = chunk + value_list.append( + { + 'id': id + } + ) + return value_list + except ValueError: + raise CLIError('usage error: {} NAME METRIC OPERATION VALUE'.format(option_string)) + + +class AddDiskPoolIscsiTargetCreateStaticAcls(argparse._AppendAction): + def __call__(self, parser, namespace, values, option_string=None): + action = self.get_action(values, option_string) + super(AddDiskPoolIscsiTargetCreateStaticAcls, self).__call__(parser, namespace, action, option_string) + + def get_action(self, values, option_string): # pylint: disable=no-self-use try: properties = defaultdict(list) for (k, v) in (x.split('=', 1) for x in values): @@ -116,34 +100,24 @@ def get_action(self, values, option_string): raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) d = {} for k in properties: - kl = k.lower() - v = properties[k] - if kl == 'initiator-iqn': - d['initiator_iqn'] = v[0] - elif kl == 'mapped-luns': - d['mapped_luns'] = v - else: - raise CLIError( - 'Unsupported Key {} is provided for parameter static-acls. All possible keys are: initiator-iqn,' - ' mapped-luns'.format(k) - ) - + raise CLIError('Unsupported Key {} is provided for parameter static_acls. All possible keys are: ' + 'initiator-iqn, mapped-luns'.format(k)) return d -class AddDiskPoolIscsiTargetUpdateLuns(argparse._AppendAction): +class AddDiskPoolIscsiTargetCreateLuns(argparse._AppendAction): def __call__(self, parser, namespace, values, option_string=None): action = self.get_action(values, option_string) - super(AddDiskPoolIscsiTargetUpdateLuns, self).__call__(parser, namespace, action, option_string) + super(AddDiskPoolIscsiTargetCreateLuns, self).__call__(parser, namespace, action, option_string) - def get_action(self, values, option_string): + def get_action(self, values, option_string): # pylint: disable=no-self-use try: properties = defaultdict(list) for (k, v) in (x.split('=', 1) for x in values): @@ -153,34 +127,24 @@ def get_action(self, values, option_string): raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) d = {} for k in properties: - kl = k.lower() - v = properties[k] - if kl == 'name': - d['name'] = v[0] - elif kl == 'managed-disk-azure-resource-id': - d['managed_disk_azure_resource_id'] = v[0] - else: - raise CLIError( - 'Unsupported Key {} is provided for parameter luns. All possible keys are: name,' - ' managed-disk-azure-resource-id'.format(k) - ) - + raise CLIError('Unsupported Key {} is provided for parameter luns. All possible keys are: name, ' + 'managed-disk-azure-resource-id'.format(k)) return d -class AddDiskPoolIscsiTargetCreateStaticAcls(argparse._AppendAction): +class AddDiskPoolIscsiTargetUpdateStaticAcls(argparse._AppendAction): def __call__(self, parser, namespace, values, option_string=None): action = self.get_action(values, option_string) - super(AddDiskPoolIscsiTargetCreateStaticAcls, self).__call__(parser, namespace, action, option_string) + super(AddDiskPoolIscsiTargetUpdateStaticAcls, self).__call__(parser, namespace, action, option_string) - def get_action(self, values, option_string): + def get_action(self, values, option_string): # pylint: disable=no-self-use try: properties = defaultdict(list) for (k, v) in (x.split('=', 1) for x in values): @@ -190,34 +154,24 @@ def get_action(self, values, option_string): raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) d = {} for k in properties: - kl = k.lower() - v = properties[k] - if kl == 'initiator-iqn': - d['initiator_iqn'] = v[0] - elif kl == 'mapped-luns': - d['mapped_luns'] = v - else: - raise CLIError( - 'Unsupported Key {} is provided for parameter static-acls. All possible keys are: initiator-iqn,' - ' mapped-luns'.format(k) - ) - + raise CLIError('Unsupported Key {} is provided for parameter static_acls. All possible keys are: ' + 'initiator-iqn, mapped-luns'.format(k)) return d -class AddDiskPoolIscsiTargetCreateLuns(argparse._AppendAction): +class AddDiskPoolIscsiTargetUpdateLuns(argparse._AppendAction): def __call__(self, parser, namespace, values, option_string=None): action = self.get_action(values, option_string) - super(AddDiskPoolIscsiTargetCreateLuns, self).__call__(parser, namespace, action, option_string) + super(AddDiskPoolIscsiTargetUpdateLuns, self).__call__(parser, namespace, action, option_string) - def get_action(self, values, option_string): + def get_action(self, values, option_string): # pylint: disable=no-self-use try: properties = defaultdict(list) for (k, v) in (x.split('=', 1) for x in values): @@ -227,23 +181,13 @@ def get_action(self, values, option_string): raise CLIError('usage error: {} [KEY=VALUE ...]'.format(option_string)) d = {} for k in properties: - kl = k.lower() - v = properties[k] - if kl == 'name': - d['name'] = v[0] - elif kl == 'managed-disk-azure-resource-id': - d['managed_disk_azure_resource_id'] = v[0] - else: - raise CLIError( - 'Unsupported Key {} is provided for parameter luns. All possible keys are: name,' - ' managed-disk-azure-resource-id'.format(k) - ) - + raise CLIError('Unsupported Key {} is provided for parameter luns. All possible keys are: name, ' + 'managed-disk-azure-resource-id'.format(k)) return d diff --git a/src/diskpool/azext_diskpool/generated/commands.py b/src/diskpool/azext_diskpool/generated/commands.py index e66fd811338..8e50bd24d4d 100644 --- a/src/diskpool/azext_diskpool/generated/commands.py +++ b/src/diskpool/azext_diskpool/generated/commands.py @@ -9,40 +9,33 @@ # -------------------------------------------------------------------------- # pylint: disable=too-many-statements # pylint: disable=too-many-locals -# pylint: disable=bad-continuation -# pylint: disable=line-too-long from azure.cli.core.commands import CliCommandType -from azext_diskpool.generated._client_factory import cf_disk_pool, cf_disk_pool_zone, cf_iscsi_target - - -diskpool_disk_pool = CliCommandType( - operations_tmpl='azext_diskpool.vendored_sdks.storagepool.operations._disk_pools_operations#DiskPoolsOperations.{}', - client_factory=cf_disk_pool, -) - - -diskpool_iscsi_target = CliCommandType( - operations_tmpl=( - 'azext_diskpool.vendored_sdks.storagepool.operations._iscsi_targets_operations#IscsiTargetsOperations.{}' - ), - client_factory=cf_iscsi_target, -) def load_command_table(self, _): + from azext_diskpool.generated._client_factory import cf_disk_pool + diskpool_disk_pool = CliCommandType( + operations_tmpl='azext_diskpool.vendored_sdks.storagepool.operations._disk_pools_operations#DiskPoolsOperations' + '.{}', + client_factory=cf_disk_pool) with self.command_group('disk-pool', diskpool_disk_pool, client_factory=cf_disk_pool) as g: g.custom_command('list', 'disk_pool_list') g.custom_show_command('show', 'disk_pool_show') g.custom_command('create', 'disk_pool_create', supports_no_wait=True) g.custom_command('update', 'disk_pool_update', supports_no_wait=True) g.custom_command('delete', 'disk_pool_delete', supports_no_wait=True, confirmation=True) - g.custom_command('list-skus', 'disk_pool_list_skus', client_factory=cf_disk_pool_zone) + g.custom_command('list-skus', 'disk_pool_list_skus') g.custom_command('start', 'disk_pool_start', supports_no_wait=True) g.custom_command('stop', 'disk_pool_stop', supports_no_wait=True) g.custom_wait_command('wait', 'disk_pool_show') + from azext_diskpool.generated._client_factory import cf_iscsi_target + diskpool_iscsi_target = CliCommandType( + operations_tmpl='azext_diskpool.vendored_sdks.storagepool.operations._iscsi_targets_operations#IscsiTargetsOper' + 'ations.{}', + client_factory=cf_iscsi_target) with self.command_group('disk-pool iscsi-target', diskpool_iscsi_target, client_factory=cf_iscsi_target) as g: g.custom_command('list', 'disk_pool_iscsi_target_list') g.custom_show_command('show', 'disk_pool_iscsi_target_show') diff --git a/src/diskpool/azext_diskpool/manual/_client_factory.py b/src/diskpool/azext_diskpool/manual/_client_factory.py new file mode 100644 index 00000000000..87b1e3ddba7 --- /dev/null +++ b/src/diskpool/azext_diskpool/manual/_client_factory.py @@ -0,0 +1,14 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- +from ..generated._client_factory import cf_diskpool_cl + + +def cf_disk_pool_zone(cli_ctx, *_): + return cf_diskpool_cl(cli_ctx).disk_pool_zones diff --git a/src/diskpool/azext_diskpool/manual/_help.py b/src/diskpool/azext_diskpool/manual/_help.py index 38fdc57f4da..ebedaeab6f4 100644 --- a/src/diskpool/azext_diskpool/manual/_help.py +++ b/src/diskpool/azext_diskpool/manual/_help.py @@ -21,3 +21,34 @@ type: group short-summary: Manage iSCSI target with a Disk Pool. """ + +helps['disk-pool iscsi-target update'] = """ + type: command + short-summary: "Update an iSCSI Target." + parameters: + - name: --static-acls + short-summary: "Access Control List (ACL) for an iSCSI Target; defines LUN masking policy" + long-summary: | + Usage: --static-acls initiator-iqn=XX mapped-luns=XX + + initiator-iqn: Required. iSCSI initiator IQN (iSCSI Qualified Name); example: \ +"iqn.2005-03.org.iscsi:client". + mapped-luns: Required. List of LUN names mapped to the ACL. + + Multiple actions can be specified by using more than one --static-acls argument. + - name: --luns + short-summary: "List of LUNs to be exposed through iSCSI Target." + long-summary: | + Usage: --luns name=XX managed-disk-azure-resource-id=XX + + name: Required. User defined name for iSCSI LUN; example: "lun0" + managed-disk-azure-resource-id: Required. Azure Resource ID of the Managed Disk. + + Multiple actions can be specified by using more than one --luns argument. + examples: + - name: Update iSCSI Target + text: |- + az disk-pool iscsi-target update --disk-pool-name "myDiskPool" --name "myIscsiTarget" --luns \ +name="lun0" managed-disk-azure-resource-id="/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/myResour\ +ceGroup/providers/Microsoft.Compute/disks/vm-name_DataDisk_1" +""" diff --git a/src/diskpool/azext_diskpool/manual/commands.py b/src/diskpool/azext_diskpool/manual/commands.py index d6d1f61f043..b8d9a139915 100644 --- a/src/diskpool/azext_diskpool/manual/commands.py +++ b/src/diskpool/azext_diskpool/manual/commands.py @@ -14,7 +14,8 @@ def load_command_table(self, _): - from azext_diskpool.generated._client_factory import cf_disk_pool, cf_disk_pool_zone + from azext_diskpool.generated._client_factory import cf_disk_pool + from azext_diskpool.manual._client_factory import cf_disk_pool_zone diskpool_disk_pool = CliCommandType( operations_tmpl='azext_diskpool.vendored_sdks.storagepool.operations._disk_pools_operations#DiskPoolsOperations' '.{}', @@ -22,3 +23,4 @@ def load_command_table(self, _): with self.command_group('disk-pool', diskpool_disk_pool, client_factory=cf_disk_pool, is_preview=True) as g: from ._transformers import transform_disk_pool_list_output g.custom_command('list', 'disk_pool_list', table_transformer=transform_disk_pool_list_output) + g.custom_command('list-skus', 'disk_pool_list_skus', client_factory=cf_disk_pool_zone) diff --git a/src/diskpool/azext_diskpool/tests/latest/recordings/test_diskpool_list_sku_scenario_manual.yaml b/src/diskpool/azext_diskpool/tests/latest/recordings/test_diskpool_list_sku_scenario_manual.yaml index 9056cadb6b2..99a6467c94e 100644 --- a/src/diskpool/azext_diskpool/tests/latest/recordings/test_diskpool_list_sku_scenario_manual.yaml +++ b/src/diskpool/azext_diskpool/tests/latest/recordings/test_diskpool_list_sku_scenario_manual.yaml @@ -27,7 +27,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:06:59 GMT + - Tue, 01 Jun 2021 10:36:03 GMT expires: - '-1' pragma: diff --git a/src/diskpool/azext_diskpool/tests/latest/recordings/test_diskpool_scenario_manual.yaml b/src/diskpool/azext_diskpool/tests/latest/recordings/test_diskpool_scenario_manual.yaml index 41c85df0a3c..a32e83957a8 100644 --- a/src/diskpool/azext_diskpool/tests/latest/recordings/test_diskpool_scenario_manual.yaml +++ b/src/diskpool/azext_diskpool/tests/latest/recordings/test_diskpool_scenario_manual.yaml @@ -19,7 +19,7 @@ interactions: ParameterSetName: - --name --resource-group --zone --location --sku --max-shares --size-gb User-Agent: - - AZURECLI/2.24.0 azsdk-python-azure-mgmt-compute/20.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002?api-version=2020-12-01 response: @@ -32,7 +32,7 @@ interactions: \"Updating\",\r\n \"isArmResource\": true\r\n }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/30a753f9-6e55-45b0-8857-263c811f29e2?api-version=2020-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/5d336f6f-1ae6-46d4-bae5-6c8fd6c03697?api-version=2020-12-01 cache-control: - no-cache content-length: @@ -40,11 +40,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 06:08:26 GMT + - Tue, 01 Jun 2021 08:59:21 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/30a753f9-6e55-45b0-8857-263c811f29e2?monitor=true&api-version=2020-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/5d336f6f-1ae6-46d4-bae5-6c8fd6c03697?monitor=true&api-version=2020-12-01 pragma: - no-cache server: @@ -55,9 +55,9 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/CreateUpdateDisks3Min;999,Microsoft.Compute/CreateUpdateDisks30Min;7997 + - Microsoft.Compute/CreateUpdateDisks3Min;999,Microsoft.Compute/CreateUpdateDisks30Min;7999 x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1198' status: code: 202 message: Accepted @@ -75,13 +75,13 @@ interactions: ParameterSetName: - --name --resource-group --zone --location --sku --max-shares --size-gb User-Agent: - - AZURECLI/2.24.0 azsdk-python-azure-mgmt-compute/20.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/30a753f9-6e55-45b0-8857-263c811f29e2?api-version=2020-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/5d336f6f-1ae6-46d4-bae5-6c8fd6c03697?api-version=2020-12-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T06:08:26.9006099+00:00\",\r\n \"endTime\": - \"2021-05-25T06:08:26.9943243+00:00\",\r\n \"status\": \"Succeeded\",\r\n + string: "{\r\n \"startTime\": \"2021-06-01T08:59:21.7454367+00:00\",\r\n \"endTime\": + \"2021-06-01T08:59:21.8235646+00:00\",\r\n \"status\": \"Succeeded\",\r\n \ \"properties\": {\r\n \"output\": {\r\n \"name\": \"disk000002\",\r\n \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002\",\r\n \ \"type\": \"Microsoft.Compute/disks\",\r\n \"location\": \"eastus\",\r\n @@ -91,11 +91,11 @@ interactions: \"Empty\"\r\n },\r\n \"diskSizeGB\": 256,\r\n \"diskIOPSReadWrite\": 1100,\r\n \"diskMBpsReadWrite\": 125,\r\n \"encryption\": {\r\n \"type\": \"EncryptionAtRestWithPlatformKey\"\r\n },\r\n \"maxShares\": 2,\r\n - \ \"timeCreated\": \"2021-05-25T06:08:26.9006099+00:00\",\r\n \"provisioningState\": + \ \"timeCreated\": \"2021-06-01T08:59:21.7454367+00:00\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"diskState\": \"Unattached\",\r\n \"diskSizeBytes\": - 274877906944,\r\n \"uniqueId\": \"ccfda08f-fe5c-469f-9cad-17bdeb35c041\",\r\n + 274877906944,\r\n \"uniqueId\": \"1c6c0c9d-f14c-4e8b-a768-b7b73d8bd9ba\",\r\n \ \"networkAccessPolicy\": \"AllowAll\",\r\n \"tier\": \"P15\"\r\n }\r\n}\r\n - \ },\r\n \"name\": \"30a753f9-6e55-45b0-8857-263c811f29e2\"\r\n}" + \ },\r\n \"name\": \"5d336f6f-1ae6-46d4-bae5-6c8fd6c03697\"\r\n}" headers: cache-control: - no-cache @@ -104,7 +104,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 06:08:28 GMT + - Tue, 01 Jun 2021 08:59:24 GMT expires: - '-1' pragma: @@ -121,7 +121,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;49999,Microsoft.Compute/GetOperation30Min;399980 + - Microsoft.Compute/GetOperation3Min;49999,Microsoft.Compute/GetOperation30Min;399995 status: code: 200 message: OK @@ -139,7 +139,7 @@ interactions: ParameterSetName: - --name --resource-group --zone --location --sku --max-shares --size-gb User-Agent: - - AZURECLI/2.24.0 azsdk-python-azure-mgmt-compute/20.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002?api-version=2020-12-01 response: @@ -152,9 +152,9 @@ interactions: \"Empty\"\r\n },\r\n \"diskSizeGB\": 256,\r\n \"diskIOPSReadWrite\": 1100,\r\n \"diskMBpsReadWrite\": 125,\r\n \"encryption\": {\r\n \"type\": \"EncryptionAtRestWithPlatformKey\"\r\n },\r\n \"maxShares\": 2,\r\n - \ \"timeCreated\": \"2021-05-25T06:08:26.9006099+00:00\",\r\n \"provisioningState\": + \ \"timeCreated\": \"2021-06-01T08:59:21.7454367+00:00\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"diskState\": \"Unattached\",\r\n \"diskSizeBytes\": - 274877906944,\r\n \"uniqueId\": \"ccfda08f-fe5c-469f-9cad-17bdeb35c041\",\r\n + 274877906944,\r\n \"uniqueId\": \"1c6c0c9d-f14c-4e8b-a768-b7b73d8bd9ba\",\r\n \ \"networkAccessPolicy\": \"AllowAll\",\r\n \"tier\": \"P15\"\r\n }\r\n}" headers: cache-control: @@ -164,7 +164,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 06:08:28 GMT + - Tue, 01 Jun 2021 08:59:24 GMT expires: - '-1' pragma: @@ -181,7 +181,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/LowCostGet3Min;14995,Microsoft.Compute/LowCostGet30Min;119940 + - Microsoft.Compute/LowCostGet3Min;14999,Microsoft.Compute/LowCostGet30Min;119986 status: code: 200 message: OK @@ -205,7 +205,7 @@ interactions: ParameterSetName: - --name --resource-group --zone --location --sku --max-shares --size-gb User-Agent: - - AZURECLI/2.24.0 azsdk-python-azure-mgmt-compute/20.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: PUT uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003?api-version=2020-12-01 response: @@ -218,7 +218,7 @@ interactions: \"Updating\",\r\n \"isArmResource\": true\r\n }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/2047f61a-e555-4201-9378-13109d688d4f?api-version=2020-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/828f2c4e-3c24-4d0a-9009-6ea7ad78fc63?api-version=2020-12-01 cache-control: - no-cache content-length: @@ -226,11 +226,11 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 06:08:35 GMT + - Tue, 01 Jun 2021 08:59:29 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/2047f61a-e555-4201-9378-13109d688d4f?monitor=true&api-version=2020-12-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/828f2c4e-3c24-4d0a-9009-6ea7ad78fc63?monitor=true&api-version=2020-12-01 pragma: - no-cache server: @@ -241,7 +241,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/CreateUpdateDisks3Min;998,Microsoft.Compute/CreateUpdateDisks30Min;7996 + - Microsoft.Compute/CreateUpdateDisks3Min;998,Microsoft.Compute/CreateUpdateDisks30Min;7998 x-ms-ratelimit-remaining-subscription-writes: - '1199' status: @@ -261,13 +261,13 @@ interactions: ParameterSetName: - --name --resource-group --zone --location --sku --max-shares --size-gb User-Agent: - - AZURECLI/2.24.0 azsdk-python-azure-mgmt-compute/20.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/2047f61a-e555-4201-9378-13109d688d4f?api-version=2020-12-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Compute/locations/eastus/DiskOperations/828f2c4e-3c24-4d0a-9009-6ea7ad78fc63?api-version=2020-12-01 response: body: - string: "{\r\n \"startTime\": \"2021-05-25T06:08:35.1823818+00:00\",\r\n \"endTime\": - \"2021-05-25T06:08:35.3073615+00:00\",\r\n \"status\": \"Succeeded\",\r\n + string: "{\r\n \"startTime\": \"2021-06-01T08:59:30.3861179+00:00\",\r\n \"endTime\": + \"2021-06-01T08:59:30.479939+00:00\",\r\n \"status\": \"Succeeded\",\r\n \ \"properties\": {\r\n \"output\": {\r\n \"name\": \"disk000003\",\r\n \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003\",\r\n \ \"type\": \"Microsoft.Compute/disks\",\r\n \"location\": \"eastus\",\r\n @@ -277,20 +277,20 @@ interactions: \"Empty\"\r\n },\r\n \"diskSizeGB\": 256,\r\n \"diskIOPSReadWrite\": 1100,\r\n \"diskMBpsReadWrite\": 125,\r\n \"encryption\": {\r\n \"type\": \"EncryptionAtRestWithPlatformKey\"\r\n },\r\n \"maxShares\": 2,\r\n - \ \"timeCreated\": \"2021-05-25T06:08:35.1979594+00:00\",\r\n \"provisioningState\": + \ \"timeCreated\": \"2021-06-01T08:59:30.4017667+00:00\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"diskState\": \"Unattached\",\r\n \"diskSizeBytes\": - 274877906944,\r\n \"uniqueId\": \"3a5b9e9f-b195-47ab-84b7-8e9028266a51\",\r\n + 274877906944,\r\n \"uniqueId\": \"e84c4ad6-4bc2-4699-bd89-710672c11bf9\",\r\n \ \"networkAccessPolicy\": \"AllowAll\",\r\n \"tier\": \"P15\"\r\n }\r\n}\r\n - \ },\r\n \"name\": \"2047f61a-e555-4201-9378-13109d688d4f\"\r\n}" + \ },\r\n \"name\": \"828f2c4e-3c24-4d0a-9009-6ea7ad78fc63\"\r\n}" headers: cache-control: - no-cache content-length: - - '1154' + - '1153' content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 06:08:37 GMT + - Tue, 01 Jun 2021 08:59:32 GMT expires: - '-1' pragma: @@ -307,7 +307,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/GetOperation3Min;49997,Microsoft.Compute/GetOperation30Min;399978 + - Microsoft.Compute/GetOperation3Min;49997,Microsoft.Compute/GetOperation30Min;399993 status: code: 200 message: OK @@ -325,7 +325,7 @@ interactions: ParameterSetName: - --name --resource-group --zone --location --sku --max-shares --size-gb User-Agent: - - AZURECLI/2.24.0 azsdk-python-azure-mgmt-compute/20.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) + - AZURECLI/2.24.0 azsdk-python-azure-mgmt-compute/21.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003?api-version=2020-12-01 response: @@ -338,9 +338,9 @@ interactions: \"Empty\"\r\n },\r\n \"diskSizeGB\": 256,\r\n \"diskIOPSReadWrite\": 1100,\r\n \"diskMBpsReadWrite\": 125,\r\n \"encryption\": {\r\n \"type\": \"EncryptionAtRestWithPlatformKey\"\r\n },\r\n \"maxShares\": 2,\r\n - \ \"timeCreated\": \"2021-05-25T06:08:35.1979594+00:00\",\r\n \"provisioningState\": + \ \"timeCreated\": \"2021-06-01T08:59:30.4017667+00:00\",\r\n \"provisioningState\": \"Succeeded\",\r\n \"diskState\": \"Unattached\",\r\n \"diskSizeBytes\": - 274877906944,\r\n \"uniqueId\": \"3a5b9e9f-b195-47ab-84b7-8e9028266a51\",\r\n + 274877906944,\r\n \"uniqueId\": \"e84c4ad6-4bc2-4699-bd89-710672c11bf9\",\r\n \ \"networkAccessPolicy\": \"AllowAll\",\r\n \"tier\": \"P15\"\r\n }\r\n}" headers: cache-control: @@ -350,7 +350,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 06:08:38 GMT + - Tue, 01 Jun 2021 08:59:32 GMT expires: - '-1' pragma: @@ -367,7 +367,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-resource: - - Microsoft.Compute/LowCostGet3Min;14992,Microsoft.Compute/LowCostGet30Min;119936 + - Microsoft.Compute/LowCostGet3Min;14996,Microsoft.Compute/LowCostGet30Min;119983 status: code: 200 message: OK @@ -414,19 +414,19 @@ interactions: dataserviceversion: - 3.0; date: - - Tue, 25 May 2021 06:08:40 GMT + - Tue, 01 Jun 2021 08:59:36 GMT duration: - - '2547997' + - '2666773' expires: - '-1' ocp-aad-diagnostics-server-name: - - vNweFmWUlAwBFr6kToXWyL5o1sOXckBy0R+YSfFsYjM= + - sJ1Buv2k4RK8W31iECo8mAj5SrrAnlmawQNaa8bAJAI= ocp-aad-session-key: - - 8NhgzgemA_IMuCD7wzZgVKv683JsHJwCY9D4voYsVQkeOcKla8Ks5TGtURkJGtxtZAWN3trc4Qwjar7MICXXwm00FVc7yk6VEXNLG5jLQsAYqr-pa49PTCUSMTJBevcr.OS9O7c7wp5XVIrkZEjRIN_EFCfsZ89-TTXliolK-gA0 + - Exa7ZPitjR3lRM6jYHcZMqA-I9R4KiLMeRiNwTcoax8H1vMgtcspiqPQJ6PYfuMm9H3fmlFJgZFIPFYhE-QQdypSS9Q4sPas_yhVSpPJhsYHH1i_dABK32hXWADbkXZf.p1LhtqwPsRxbhfqK2x3nfAd78cIQnxBg0cYvh1du2Iw pragma: - no-cache request-id: - - cae29a19-db19-463b-94bb-1131767d9332 + - c99b0b8c-5e48-41d1-8bc5-02be0c507131 strict-transport-security: - max-age=31536000; includeSubDomains x-aspnet-version: @@ -473,7 +473,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 06:08:40 GMT + - Tue, 01 Jun 2021 08:59:36 GMT expires: - '-1' pragma: @@ -520,7 +520,7 @@ interactions: uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002/providers/Microsoft.Authorization/roleAssignments/88888888-0000-0000-0000-000000000001?api-version=2020-04-01-preview response: body: - string: '{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c","principalId":"09f10f07-08cf-4ab7-be0f-e9ae3d72b9ad","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002","condition":null,"conditionVersion":null,"createdOn":"2021-05-25T06:08:41.2822213Z","updatedOn":"2021-05-25T06:08:42.1594784Z","createdBy":null,"updatedBy":"21cd756e-e290-4a26-9547-93e8cc1a8923","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002/providers/Microsoft.Authorization/roleAssignments/88888888-0000-0000-0000-000000000001","type":"Microsoft.Authorization/roleAssignments","name":"88888888-0000-0000-0000-000000000001"}' + string: '{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c","principalId":"09f10f07-08cf-4ab7-be0f-e9ae3d72b9ad","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002","condition":null,"conditionVersion":null,"createdOn":"2021-06-01T08:59:37.8026727Z","updatedOn":"2021-06-01T08:59:38.1777103Z","createdBy":null,"updatedBy":"21cd756e-e290-4a26-9547-93e8cc1a8923","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002/providers/Microsoft.Authorization/roleAssignments/88888888-0000-0000-0000-000000000001","type":"Microsoft.Authorization/roleAssignments","name":"88888888-0000-0000-0000-000000000001"}' headers: cache-control: - no-cache @@ -529,7 +529,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 06:08:45 GMT + - Tue, 01 Jun 2021 08:59:42 GMT expires: - '-1' pragma: @@ -541,7 +541,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 201 message: Created @@ -588,19 +588,19 @@ interactions: dataserviceversion: - 3.0; date: - - Tue, 25 May 2021 06:08:46 GMT + - Tue, 01 Jun 2021 08:59:44 GMT duration: - - '2654950' + - '2480742' expires: - '-1' ocp-aad-diagnostics-server-name: - - TaL7kANKRnvvbZiSrMqFBAv0pfZbW/BsTOL2yLvuCnU= + - DqETTaqUTreHbk0szh3bcZ2YEgz8IAn6DGjrEmb+Htk= ocp-aad-session-key: - - e4rbJc3FnVOoGCnSXOHcobE5ON5bYy3L44qR1uoXle_oH0P38ErF99fcfDGxx_uWv_6mEuBtUR61JzdOb7DixEgszJB-n2hEB4p4_yhV21iawx9ceXlj-MKNhPkDCd_G.eQt8s697mgfofdBQRg2MA91tgnmHELD67qvs57BBQO4 + - L3-ho_W-UdUVDiI_f6rVelwZvaj_7rdYK5OQ-T1xM97Tp-XxSw_PNochOeiEp76kZhVGUYS6M0or3ESChU8hj3Vv--EOIRwO2XhBAXj7-DoUIZHTJWOtYLvLmd6BMpJq.7xYemrbDAV4i0IZxNEM2om8k0bq1zcmvPICFVV_uYYE pragma: - no-cache request-id: - - 35361e6b-00ae-4922-9eb7-b446407c45d4 + - 310babc6-08ef-4204-9564-5271d7f6f97e strict-transport-security: - max-age=31536000; includeSubDomains x-aspnet-version: @@ -647,7 +647,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 06:08:47 GMT + - Tue, 01 Jun 2021 08:59:44 GMT expires: - '-1' pragma: @@ -694,7 +694,7 @@ interactions: uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003/providers/Microsoft.Authorization/roleAssignments/88888888-0000-0000-0000-000000000002?api-version=2020-04-01-preview response: body: - string: '{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c","principalId":"09f10f07-08cf-4ab7-be0f-e9ae3d72b9ad","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003","condition":null,"conditionVersion":null,"createdOn":"2021-05-25T06:08:47.8367921Z","updatedOn":"2021-05-25T06:08:48.5818008Z","createdBy":null,"updatedBy":"21cd756e-e290-4a26-9547-93e8cc1a8923","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003/providers/Microsoft.Authorization/roleAssignments/88888888-0000-0000-0000-000000000002","type":"Microsoft.Authorization/roleAssignments","name":"88888888-0000-0000-0000-000000000002"}' + string: '{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/9980e02c-c2be-4d73-94e8-173b1dc7cf3c","principalId":"09f10f07-08cf-4ab7-be0f-e9ae3d72b9ad","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003","condition":null,"conditionVersion":null,"createdOn":"2021-06-01T08:59:44.9844494Z","updatedOn":"2021-06-01T08:59:45.7944471Z","createdBy":null,"updatedBy":"21cd756e-e290-4a26-9547-93e8cc1a8923","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003/providers/Microsoft.Authorization/roleAssignments/88888888-0000-0000-0000-000000000002","type":"Microsoft.Authorization/roleAssignments","name":"88888888-0000-0000-0000-000000000002"}' headers: cache-control: - no-cache @@ -703,7 +703,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 06:08:52 GMT + - Tue, 01 Jun 2021 08:59:50 GMT expires: - '-1' pragma: @@ -715,7 +715,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1198' + - '1199' status: code: 201 message: Created @@ -744,10 +744,10 @@ interactions: response: body: string: "{\r\n \"name\": \"vnet000004\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004\",\r\n - \ \"etag\": \"W/\\\"4c5a22c4-7752-4c34-bc14-89603e70f26c\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"0302efc7-dc48-4884-97c8-7b991b16c6e5\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus\",\r\n \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"resourceGuid\": \"3a8c3d9e-e518-4882-9967-726fcbade9b8\",\r\n \"addressSpace\": + \ \"resourceGuid\": \"4cfb515a-450e-44b6-8d63-45ff749b6237\",\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 \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": @@ -756,7 +756,7 @@ interactions: azure-asyncnotification: - Enabled azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/615b1d69-b473-4c65-8452-0d39b66ca10d?api-version=2021-02-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/7c77e994-87b9-41d4-aadb-9702a0599958?api-version=2021-02-01 cache-control: - no-cache content-length: @@ -764,7 +764,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 06:09:01 GMT + - Tue, 01 Jun 2021 08:59:59 GMT expires: - '-1' pragma: @@ -777,7 +777,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 37fdcff9-616d-4a65-b43f-3349e904e0ef + - eeb4be06-889e-42a5-aac2-66fb2188315c x-ms-ratelimit-remaining-subscription-writes: - '1199' status: @@ -799,7 +799,7 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/615b1d69-b473-4c65-8452-0d39b66ca10d?api-version=2021-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/7c77e994-87b9-41d4-aadb-9702a0599958?api-version=2021-02-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -811,7 +811,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 06:09:04 GMT + - Tue, 01 Jun 2021 09:00:03 GMT expires: - '-1' pragma: @@ -828,7 +828,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 323412a6-573a-4468-a0ed-8630d5168af0 + - a931f5f0-c01e-4d03-ab4d-4d55a44b3882 status: code: 200 message: OK @@ -852,10 +852,10 @@ interactions: response: body: string: "{\r\n \"name\": \"vnet000004\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004\",\r\n - \ \"etag\": \"W/\\\"6e90abc6-5ad9-438c-abbc-c5a029a28898\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"39ba8031-02b5-40c5-81cd-c496262362ce\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus\",\r\n \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"3a8c3d9e-e518-4882-9967-726fcbade9b8\",\r\n \"addressSpace\": + \ \"resourceGuid\": \"4cfb515a-450e-44b6-8d63-45ff749b6237\",\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 \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": @@ -868,9 +868,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 06:09:06 GMT + - Tue, 01 Jun 2021 09:00:03 GMT etag: - - W/"6e90abc6-5ad9-438c-abbc-c5a029a28898" + - W/"39ba8031-02b5-40c5-81cd-c496262362ce" expires: - '-1' pragma: @@ -887,7 +887,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 92a40150-7377-4767-a24a-d3ba1909e98f + - b0332ae7-27cf-45f3-8cea-227095d0bb61 status: code: 200 message: OK @@ -911,10 +911,10 @@ interactions: response: body: string: "{\r\n \"name\": \"vnet000004\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004\",\r\n - \ \"etag\": \"W/\\\"6e90abc6-5ad9-438c-abbc-c5a029a28898\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"39ba8031-02b5-40c5-81cd-c496262362ce\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus\",\r\n \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"3a8c3d9e-e518-4882-9967-726fcbade9b8\",\r\n \"addressSpace\": + \ \"resourceGuid\": \"4cfb515a-450e-44b6-8d63-45ff749b6237\",\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 \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": @@ -927,9 +927,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 06:09:06 GMT + - Tue, 01 Jun 2021 09:00:04 GMT etag: - - W/"6e90abc6-5ad9-438c-abbc-c5a029a28898" + - W/"39ba8031-02b5-40c5-81cd-c496262362ce" expires: - '-1' pragma: @@ -946,7 +946,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 7b1c142a-0175-4741-9f24-7c91eb2533a3 + - ad509267-3f60-4e17-81d8-513ce00bb4ee status: code: 200 message: OK @@ -980,20 +980,20 @@ interactions: response: body: string: "{\r\n \"name\": \"vnet000004\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004\",\r\n - \ \"etag\": \"W/\\\"8d5ab029-0f8d-460a-bb22-4a2df40d7bdf\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"e682a02d-2d21-420e-8e18-07e5f7ebb664\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus\",\r\n \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n - \ \"resourceGuid\": \"3a8c3d9e-e518-4882-9967-726fcbade9b8\",\r\n \"addressSpace\": + \ \"resourceGuid\": \"4cfb515a-450e-44b6-8d63-45ff749b6237\",\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\": \"subnet000005\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005\",\r\n - \ \"etag\": \"W/\\\"8d5ab029-0f8d-460a-bb22-4a2df40d7bdf\\\"\",\r\n + \ \"etag\": \"W/\\\"e682a02d-2d21-420e-8e18-07e5f7ebb664\\\"\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \ \"addressPrefix\": \"10.0.0.0/24\",\r\n \"delegations\": [\r\n {\r\n \"name\": \"0\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005/delegations/0\",\r\n - \ \"etag\": \"W/\\\"8d5ab029-0f8d-460a-bb22-4a2df40d7bdf\\\"\",\r\n + \ \"etag\": \"W/\\\"e682a02d-2d21-420e-8e18-07e5f7ebb664\\\"\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"serviceName\": \"Microsoft.StoragePool/diskPools\",\r\n \ \"actions\": [\r\n \"Microsoft.Network/virtualNetworks/read\"\r\n @@ -1005,7 +1005,7 @@ interactions: false\r\n }\r\n}" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/e80d1fe9-5422-4182-bbc4-f5a9674851a9?api-version=2021-02-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/36cbc5cb-29ae-435a-a912-9854bc987b07?api-version=2021-02-01 cache-control: - no-cache content-length: @@ -1013,7 +1013,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 06:09:08 GMT + - Tue, 01 Jun 2021 09:00:06 GMT expires: - '-1' pragma: @@ -1030,7 +1030,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 39229ab7-9220-439f-8e3b-2c9bd64b8824 + - c88b1c28-de99-43ef-9cfa-15f661733548 x-ms-ratelimit-remaining-subscription-writes: - '1199' status: @@ -1052,7 +1052,7 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-azure-mgmt-network/19.0.0 Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/e80d1fe9-5422-4182-bbc4-f5a9674851a9?api-version=2021-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/eastus/operations/36cbc5cb-29ae-435a-a912-9854bc987b07?api-version=2021-02-01 response: body: string: "{\r\n \"status\": \"Succeeded\"\r\n}" @@ -1064,7 +1064,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 06:09:11 GMT + - Tue, 01 Jun 2021 09:00:10 GMT expires: - '-1' pragma: @@ -1081,7 +1081,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - 66b56d13-bd1f-41fb-992b-75f46cc49aef + - 62011316-252e-48ff-945a-b0d13a5cec7f status: code: 200 message: OK @@ -1105,20 +1105,20 @@ interactions: response: body: string: "{\r\n \"name\": \"vnet000004\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004\",\r\n - \ \"etag\": \"W/\\\"2d3f7bbf-826b-4c0e-8d7c-60b7c29d8bf2\\\"\",\r\n \"type\": + \ \"etag\": \"W/\\\"dd613d95-d8fd-41dc-9719-825543b96525\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"eastus\",\r\n \ \"tags\": {},\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n - \ \"resourceGuid\": \"3a8c3d9e-e518-4882-9967-726fcbade9b8\",\r\n \"addressSpace\": + \ \"resourceGuid\": \"4cfb515a-450e-44b6-8d63-45ff749b6237\",\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\": \"subnet000005\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005\",\r\n - \ \"etag\": \"W/\\\"2d3f7bbf-826b-4c0e-8d7c-60b7c29d8bf2\\\"\",\r\n + \ \"etag\": \"W/\\\"dd613d95-d8fd-41dc-9719-825543b96525\\\"\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \ \"addressPrefix\": \"10.0.0.0/24\",\r\n \"delegations\": [\r\n {\r\n \"name\": \"0\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005/delegations/0\",\r\n - \ \"etag\": \"W/\\\"2d3f7bbf-826b-4c0e-8d7c-60b7c29d8bf2\\\"\",\r\n + \ \"etag\": \"W/\\\"dd613d95-d8fd-41dc-9719-825543b96525\\\"\",\r\n \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"serviceName\": \"Microsoft.StoragePool/diskPools\",\r\n \ \"actions\": [\r\n \"Microsoft.Network/virtualNetworks/read\"\r\n @@ -1136,9 +1136,9 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Tue, 25 May 2021 06:09:12 GMT + - Tue, 01 Jun 2021 09:00:10 GMT etag: - - W/"2d3f7bbf-826b-4c0e-8d7c-60b7c29d8bf2" + - W/"dd613d95-d8fd-41dc-9719-825543b96525" expires: - '-1' pragma: @@ -1155,7 +1155,7 @@ interactions: x-content-type-options: - nosniff x-ms-arm-service-request-id: - - d32ece12-fab3-432f-8aeb-ac3214b19be8 + - 66b5a4c6-0223-45b9-adcc-f332a36a6538 status: code: 200 message: OK @@ -1185,10 +1185,10 @@ interactions: uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006","name":"diskpool000006","type":"Microsoft.StoragePool/diskPools","location":"eastus","tags":{},"systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-05-25T06:09:17.0897576Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-05-25T06:09:17.0897576Z"},"properties":{"disks":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"}],"availabilityZones":["3"],"subnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005","provisioningState":"Pending","status":"Unknown"},"sku":{"name":"Standard","tier":"Standard"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006","name":"diskpool000006","type":"Microsoft.StoragePool/diskPools","location":"eastus","tags":{},"systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-06-01T09:02:04.8070554Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-01T09:02:04.8070554Z"},"properties":{"disks":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"}],"availabilityZones":["3"],"subnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005","provisioningState":"Pending","status":"Unknown"},"sku":{"name":"Standard","tier":"Standard"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a?api-version=2021-04-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27?api-version=2021-04-01-preview cache-control: - no-cache content-length: @@ -1196,7 +1196,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:09:20 GMT + - Tue, 01 Jun 2021 09:02:08 GMT expires: - '-1' pragma: @@ -1231,10 +1231,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a","name":"87fb07a8-9e0f-4663-8120-21635d5fdc5a","status":"Running","startTime":"2021-05-25T06:09:19Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27","name":"9ae6ff31-afa7-4e9f-acd5-f408ec222a27","status":"Running","startTime":"2021-06-01T09:02:07Z","endTime":""}' headers: cache-control: - no-cache @@ -1243,7 +1243,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:09:31 GMT + - Tue, 01 Jun 2021 09:02:18 GMT expires: - '-1' pragma: @@ -1278,10 +1278,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a","name":"87fb07a8-9e0f-4663-8120-21635d5fdc5a","status":"Running","startTime":"2021-05-25T06:09:19Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27","name":"9ae6ff31-afa7-4e9f-acd5-f408ec222a27","status":"Running","startTime":"2021-06-01T09:02:07Z","endTime":""}' headers: cache-control: - no-cache @@ -1290,7 +1290,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:10:01 GMT + - Tue, 01 Jun 2021 09:02:48 GMT expires: - '-1' pragma: @@ -1325,10 +1325,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a","name":"87fb07a8-9e0f-4663-8120-21635d5fdc5a","status":"Running","startTime":"2021-05-25T06:09:19Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27","name":"9ae6ff31-afa7-4e9f-acd5-f408ec222a27","status":"Running","startTime":"2021-06-01T09:02:07Z","endTime":""}' headers: cache-control: - no-cache @@ -1337,7 +1337,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:10:31 GMT + - Tue, 01 Jun 2021 09:03:19 GMT expires: - '-1' pragma: @@ -1372,10 +1372,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a","name":"87fb07a8-9e0f-4663-8120-21635d5fdc5a","status":"Running","startTime":"2021-05-25T06:09:19Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27","name":"9ae6ff31-afa7-4e9f-acd5-f408ec222a27","status":"Running","startTime":"2021-06-01T09:02:07Z","endTime":""}' headers: cache-control: - no-cache @@ -1384,7 +1384,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:11:02 GMT + - Tue, 01 Jun 2021 09:03:49 GMT expires: - '-1' pragma: @@ -1419,10 +1419,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a","name":"87fb07a8-9e0f-4663-8120-21635d5fdc5a","status":"Running","startTime":"2021-05-25T06:09:19Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27","name":"9ae6ff31-afa7-4e9f-acd5-f408ec222a27","status":"Running","startTime":"2021-06-01T09:02:07Z","endTime":""}' headers: cache-control: - no-cache @@ -1431,7 +1431,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:11:32 GMT + - Tue, 01 Jun 2021 09:04:19 GMT expires: - '-1' pragma: @@ -1466,10 +1466,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a","name":"87fb07a8-9e0f-4663-8120-21635d5fdc5a","status":"Running","startTime":"2021-05-25T06:09:19Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27","name":"9ae6ff31-afa7-4e9f-acd5-f408ec222a27","status":"Running","startTime":"2021-06-01T09:02:07Z","endTime":""}' headers: cache-control: - no-cache @@ -1478,7 +1478,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:12:02 GMT + - Tue, 01 Jun 2021 09:04:51 GMT expires: - '-1' pragma: @@ -1513,10 +1513,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a","name":"87fb07a8-9e0f-4663-8120-21635d5fdc5a","status":"Running","startTime":"2021-05-25T06:09:19Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27","name":"9ae6ff31-afa7-4e9f-acd5-f408ec222a27","status":"Running","startTime":"2021-06-01T09:02:07Z","endTime":""}' headers: cache-control: - no-cache @@ -1525,7 +1525,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:12:33 GMT + - Tue, 01 Jun 2021 09:05:21 GMT expires: - '-1' pragma: @@ -1560,10 +1560,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a","name":"87fb07a8-9e0f-4663-8120-21635d5fdc5a","status":"Running","startTime":"2021-05-25T06:09:19Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27","name":"9ae6ff31-afa7-4e9f-acd5-f408ec222a27","status":"Running","startTime":"2021-06-01T09:02:07Z","endTime":""}' headers: cache-control: - no-cache @@ -1572,7 +1572,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:13:04 GMT + - Tue, 01 Jun 2021 09:05:51 GMT expires: - '-1' pragma: @@ -1607,10 +1607,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a","name":"87fb07a8-9e0f-4663-8120-21635d5fdc5a","status":"Running","startTime":"2021-05-25T06:09:19Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27","name":"9ae6ff31-afa7-4e9f-acd5-f408ec222a27","status":"Running","startTime":"2021-06-01T09:02:07Z","endTime":""}' headers: cache-control: - no-cache @@ -1619,7 +1619,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:13:34 GMT + - Tue, 01 Jun 2021 09:06:22 GMT expires: - '-1' pragma: @@ -1654,10 +1654,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a","name":"87fb07a8-9e0f-4663-8120-21635d5fdc5a","status":"Running","startTime":"2021-05-25T06:09:19Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27","name":"9ae6ff31-afa7-4e9f-acd5-f408ec222a27","status":"Running","startTime":"2021-06-01T09:02:07Z","endTime":""}' headers: cache-control: - no-cache @@ -1666,7 +1666,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:14:05 GMT + - Tue, 01 Jun 2021 09:06:53 GMT expires: - '-1' pragma: @@ -1701,10 +1701,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a","name":"87fb07a8-9e0f-4663-8120-21635d5fdc5a","status":"Running","startTime":"2021-05-25T06:09:19Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27","name":"9ae6ff31-afa7-4e9f-acd5-f408ec222a27","status":"Running","startTime":"2021-06-01T09:02:07Z","endTime":""}' headers: cache-control: - no-cache @@ -1713,7 +1713,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:14:38 GMT + - Tue, 01 Jun 2021 09:07:23 GMT expires: - '-1' pragma: @@ -1748,10 +1748,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a","name":"87fb07a8-9e0f-4663-8120-21635d5fdc5a","status":"Running","startTime":"2021-05-25T06:09:19Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27","name":"9ae6ff31-afa7-4e9f-acd5-f408ec222a27","status":"Running","startTime":"2021-06-01T09:02:07Z","endTime":""}' headers: cache-control: - no-cache @@ -1760,7 +1760,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:15:08 GMT + - Tue, 01 Jun 2021 09:07:54 GMT expires: - '-1' pragma: @@ -1795,10 +1795,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a","name":"87fb07a8-9e0f-4663-8120-21635d5fdc5a","status":"Running","startTime":"2021-05-25T06:09:19Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27","name":"9ae6ff31-afa7-4e9f-acd5-f408ec222a27","status":"Running","startTime":"2021-06-01T09:02:07Z","endTime":""}' headers: cache-control: - no-cache @@ -1807,7 +1807,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:15:38 GMT + - Tue, 01 Jun 2021 09:08:25 GMT expires: - '-1' pragma: @@ -1842,10 +1842,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a","name":"87fb07a8-9e0f-4663-8120-21635d5fdc5a","status":"Running","startTime":"2021-05-25T06:09:19Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27","name":"9ae6ff31-afa7-4e9f-acd5-f408ec222a27","status":"Running","startTime":"2021-06-01T09:02:07Z","endTime":""}' headers: cache-control: - no-cache @@ -1854,7 +1854,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:16:09 GMT + - Tue, 01 Jun 2021 09:08:55 GMT expires: - '-1' pragma: @@ -1889,10 +1889,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a","name":"87fb07a8-9e0f-4663-8120-21635d5fdc5a","status":"Running","startTime":"2021-05-25T06:09:19Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27","name":"9ae6ff31-afa7-4e9f-acd5-f408ec222a27","status":"Running","startTime":"2021-06-01T09:02:07Z","endTime":""}' headers: cache-control: - no-cache @@ -1901,7 +1901,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:16:39 GMT + - Tue, 01 Jun 2021 09:09:25 GMT expires: - '-1' pragma: @@ -1936,10 +1936,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a","name":"87fb07a8-9e0f-4663-8120-21635d5fdc5a","status":"Running","startTime":"2021-05-25T06:09:19Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27","name":"9ae6ff31-afa7-4e9f-acd5-f408ec222a27","status":"Running","startTime":"2021-06-01T09:02:07Z","endTime":""}' headers: cache-control: - no-cache @@ -1948,7 +1948,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:17:10 GMT + - Tue, 01 Jun 2021 09:09:56 GMT expires: - '-1' pragma: @@ -1983,10 +1983,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a","name":"87fb07a8-9e0f-4663-8120-21635d5fdc5a","status":"Running","startTime":"2021-05-25T06:09:19Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27","name":"9ae6ff31-afa7-4e9f-acd5-f408ec222a27","status":"Running","startTime":"2021-06-01T09:02:07Z","endTime":""}' headers: cache-control: - no-cache @@ -1995,7 +1995,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:17:41 GMT + - Tue, 01 Jun 2021 09:10:26 GMT expires: - '-1' pragma: @@ -2030,10 +2030,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a","name":"87fb07a8-9e0f-4663-8120-21635d5fdc5a","status":"Running","startTime":"2021-05-25T06:09:19Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27","name":"9ae6ff31-afa7-4e9f-acd5-f408ec222a27","status":"Running","startTime":"2021-06-01T09:02:07Z","endTime":""}' headers: cache-control: - no-cache @@ -2042,7 +2042,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:18:11 GMT + - Tue, 01 Jun 2021 09:10:56 GMT expires: - '-1' pragma: @@ -2077,10 +2077,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a","name":"87fb07a8-9e0f-4663-8120-21635d5fdc5a","status":"Running","startTime":"2021-05-25T06:09:19Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27","name":"9ae6ff31-afa7-4e9f-acd5-f408ec222a27","status":"Running","startTime":"2021-06-01T09:02:07Z","endTime":""}' headers: cache-control: - no-cache @@ -2089,7 +2089,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:18:41 GMT + - Tue, 01 Jun 2021 09:11:28 GMT expires: - '-1' pragma: @@ -2124,10 +2124,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a","name":"87fb07a8-9e0f-4663-8120-21635d5fdc5a","status":"Running","startTime":"2021-05-25T06:09:19Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27","name":"9ae6ff31-afa7-4e9f-acd5-f408ec222a27","status":"Running","startTime":"2021-06-01T09:02:07Z","endTime":""}' headers: cache-control: - no-cache @@ -2136,7 +2136,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:19:11 GMT + - Tue, 01 Jun 2021 09:11:59 GMT expires: - '-1' pragma: @@ -2171,10 +2171,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/87fb07a8-9e0f-4663-8120-21635d5fdc5a","name":"87fb07a8-9e0f-4663-8120-21635d5fdc5a","status":"Succeeded","startTime":"2021-05-25T06:09:19Z","endTime":"2021-05-25T06:19:34Z","properties":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006","name":"diskpool000006","type":"Microsoft.StoragePool/diskPools","location":"eastus","tags":{},"systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-05-25T06:09:17.0897576Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-05-25T06:09:17.0897576Z"},"properties":{"disks":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"}],"availabilityZones":["3"],"subnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005","provisioningState":"Succeeded","status":"Running"},"sku":{"name":"Standard","tier":"Standard"}}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/9ae6ff31-afa7-4e9f-acd5-f408ec222a27","name":"9ae6ff31-afa7-4e9f-acd5-f408ec222a27","status":"Succeeded","startTime":"2021-06-01T09:02:07Z","endTime":"2021-06-01T09:12:04Z","properties":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006","name":"diskpool000006","type":"Microsoft.StoragePool/diskPools","location":"eastus","tags":{},"systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-06-01T09:02:04.8070554Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-01T09:02:04.8070554Z"},"properties":{"disks":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"}],"availabilityZones":["3"],"subnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005","provisioningState":"Succeeded","status":"Running"},"sku":{"name":"Standard","tier":"Standard"}}}' headers: cache-control: - no-cache @@ -2183,7 +2183,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:19:43 GMT + - Tue, 01 Jun 2021 09:12:31 GMT expires: - '-1' pragma: @@ -2221,7 +2221,7 @@ interactions: uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006","name":"diskpool000006","type":"Microsoft.StoragePool/diskPools","location":"eastus","tags":{},"systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-05-25T06:09:17.0897576Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-05-25T06:09:17.0897576Z"},"properties":{"disks":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"}],"availabilityZones":["3"],"subnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005","provisioningState":"Succeeded","status":"Running"},"sku":{"name":"Standard","tier":"Standard"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006","name":"diskpool000006","type":"Microsoft.StoragePool/diskPools","location":"eastus","tags":{},"systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-06-01T09:02:04.8070554Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-01T09:02:04.8070554Z"},"properties":{"disks":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"}],"availabilityZones":["3"],"subnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005","provisioningState":"Succeeded","status":"Running"},"sku":{"name":"Standard","tier":"Standard"}}' headers: cache-control: - no-cache @@ -2230,7 +2230,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:19:44 GMT + - Tue, 01 Jun 2021 09:12:31 GMT expires: - '-1' pragma: @@ -2267,7 +2267,7 @@ interactions: uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006","name":"diskpool000006","type":"Microsoft.StoragePool/diskPools","location":"eastus","tags":{},"systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-05-25T06:09:17.0897576Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-05-25T06:09:17.0897576Z"},"properties":{"disks":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"}],"availabilityZones":["3"],"subnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005","provisioningState":"Succeeded","status":"Running"},"sku":{"name":"Standard","tier":"Standard"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006","name":"diskpool000006","type":"Microsoft.StoragePool/diskPools","location":"eastus","tags":{},"systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-06-01T09:02:04.8070554Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-01T09:02:04.8070554Z"},"properties":{"disks":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"}],"availabilityZones":["3"],"subnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005","provisioningState":"Succeeded","status":"Running"},"sku":{"name":"Standard","tier":"Standard"}}' headers: cache-control: - no-cache @@ -2276,7 +2276,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:19:45 GMT + - Tue, 01 Jun 2021 09:12:33 GMT expires: - '-1' pragma: @@ -2313,7 +2313,7 @@ interactions: uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools?api-version=2021-04-01-preview response: body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006","name":"diskpool000006","type":"Microsoft.StoragePool/diskPools","location":"eastus","tags":{},"systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-05-25T06:09:17.0897576Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-05-25T06:09:17.0897576Z"},"properties":{"disks":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"}],"availabilityZones":["3"],"subnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005","provisioningState":"Succeeded","status":"Running"},"sku":{"name":"Standard","tier":"Standard"}}],"nextLink":null}' + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006","name":"diskpool000006","type":"Microsoft.StoragePool/diskPools","location":"eastus","tags":{},"systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-06-01T09:02:04.8070554Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-01T09:02:04.8070554Z"},"properties":{"disks":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"}],"availabilityZones":["3"],"subnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005","provisioningState":"Succeeded","status":"Running"},"sku":{"name":"Standard","tier":"Standard"}}],"nextLink":null}' headers: cache-control: - no-cache @@ -2322,7 +2322,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:19:46 GMT + - Tue, 01 Jun 2021 09:12:35 GMT expires: - '-1' pragma: @@ -2364,10 +2364,10 @@ interactions: uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007","name":"iscsi000007","type":"Microsoft.StoragePool/diskPools/iscsiTargets","systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-05-25T06:19:48.0331286Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-05-25T06:19:48.0331286Z"},"properties":{"targetIqn":"iqn.2021-05.com.microsoft:iscsi000007","aclMode":"Dynamic","luns":[{"managedDiskAzureResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002","name":"lun0","lun":0}],"endpoints":["10.0.0.4:3260","10.0.0.5:3260"],"provisioningState":"Pending","status":"Unknown"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007","name":"iscsi000007","type":"Microsoft.StoragePool/diskPools/iscsiTargets","systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-06-01T09:12:36.0392232Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-01T09:12:36.0392232Z"},"properties":{"targetIqn":"iqn.2021-06.com.microsoft:iscsi000007","aclMode":"Dynamic","luns":[{"managedDiskAzureResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002","name":"lun0","lun":0}],"endpoints":["10.0.0.5:3260","10.0.0.4:3260"],"provisioningState":"Pending","status":"Unknown"}}' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/37ec0a36-4121-4691-9344-1420673ea6be?api-version=2021-04-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/925e3cbd-817b-488a-8318-5c74a2173d86?api-version=2021-04-01-preview cache-control: - no-cache content-length: @@ -2375,7 +2375,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:19:48 GMT + - Tue, 01 Jun 2021 09:12:36 GMT expires: - '-1' pragma: @@ -2387,7 +2387,7 @@ interactions: x-ms-async-operation-timeout: - PT1H x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' x-ms-return-client-request-id: - 'true' status: @@ -2409,10 +2409,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/37ec0a36-4121-4691-9344-1420673ea6be?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/925e3cbd-817b-488a-8318-5c74a2173d86?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/37ec0a36-4121-4691-9344-1420673ea6be","name":"37ec0a36-4121-4691-9344-1420673ea6be","status":"Running","startTime":"2021-05-25T06:19:49Z"}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/925e3cbd-817b-488a-8318-5c74a2173d86","name":"925e3cbd-817b-488a-8318-5c74a2173d86","status":"Running","startTime":"2021-06-01T09:12:37Z"}' headers: cache-control: - no-cache @@ -2421,7 +2421,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:19:59 GMT + - Tue, 01 Jun 2021 09:12:47 GMT expires: - '-1' pragma: @@ -2455,10 +2455,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/37ec0a36-4121-4691-9344-1420673ea6be?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/925e3cbd-817b-488a-8318-5c74a2173d86?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/37ec0a36-4121-4691-9344-1420673ea6be","name":"37ec0a36-4121-4691-9344-1420673ea6be","status":"Running","startTime":"2021-05-25T06:19:49Z"}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/925e3cbd-817b-488a-8318-5c74a2173d86","name":"925e3cbd-817b-488a-8318-5c74a2173d86","status":"Running","startTime":"2021-06-01T09:12:37Z"}' headers: cache-control: - no-cache @@ -2467,7 +2467,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:20:29 GMT + - Tue, 01 Jun 2021 09:13:17 GMT expires: - '-1' pragma: @@ -2501,10 +2501,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/37ec0a36-4121-4691-9344-1420673ea6be?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/925e3cbd-817b-488a-8318-5c74a2173d86?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/37ec0a36-4121-4691-9344-1420673ea6be","name":"37ec0a36-4121-4691-9344-1420673ea6be","status":"Running","startTime":"2021-05-25T06:19:49Z"}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/925e3cbd-817b-488a-8318-5c74a2173d86","name":"925e3cbd-817b-488a-8318-5c74a2173d86","status":"Running","startTime":"2021-06-01T09:12:37Z"}' headers: cache-control: - no-cache @@ -2513,7 +2513,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:21:00 GMT + - Tue, 01 Jun 2021 09:13:48 GMT expires: - '-1' pragma: @@ -2547,10 +2547,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/37ec0a36-4121-4691-9344-1420673ea6be?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/925e3cbd-817b-488a-8318-5c74a2173d86?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/37ec0a36-4121-4691-9344-1420673ea6be","name":"37ec0a36-4121-4691-9344-1420673ea6be","status":"Succeeded","startTime":"2021-05-25T06:19:49Z","endTime":"2021-05-25T06:21:03Z","properties":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007","name":"iscsi000007","type":"Microsoft.StoragePool/diskPools/iscsiTargets","systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-05-25T06:19:48.0331286Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-05-25T06:19:48.0331286Z"},"properties":{"targetIqn":"iqn.2021-05.com.microsoft:iscsi000007","aclMode":"Dynamic","luns":[{"managedDiskAzureResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002","name":"lun0","lun":0}],"endpoints":["10.0.0.4:3260","10.0.0.5:3260"],"provisioningState":"Succeeded","status":"Healthy"}}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/925e3cbd-817b-488a-8318-5c74a2173d86","name":"925e3cbd-817b-488a-8318-5c74a2173d86","status":"Succeeded","startTime":"2021-06-01T09:12:37Z","endTime":"2021-06-01T09:14:13Z","properties":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007","name":"iscsi000007","type":"Microsoft.StoragePool/diskPools/iscsiTargets","systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-06-01T09:12:36.0392232Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-01T09:12:36.0392232Z"},"properties":{"targetIqn":"iqn.2021-06.com.microsoft:iscsi000007","aclMode":"Dynamic","luns":[{"managedDiskAzureResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002","name":"lun0","lun":0}],"endpoints":["10.0.0.5:3260","10.0.0.4:3260"],"provisioningState":"Succeeded","status":"Healthy"}}}' headers: cache-control: - no-cache @@ -2559,7 +2559,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:21:31 GMT + - Tue, 01 Jun 2021 09:14:18 GMT expires: - '-1' pragma: @@ -2596,7 +2596,7 @@ interactions: uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007","name":"iscsi000007","type":"Microsoft.StoragePool/diskPools/iscsiTargets","systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-05-25T06:19:48.0331286Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-05-25T06:19:48.0331286Z"},"properties":{"targetIqn":"iqn.2021-05.com.microsoft:iscsi000007","aclMode":"Dynamic","luns":[{"managedDiskAzureResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002","name":"lun0","lun":0}],"endpoints":["10.0.0.4:3260","10.0.0.5:3260"],"provisioningState":"Succeeded","status":"Healthy"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007","name":"iscsi000007","type":"Microsoft.StoragePool/diskPools/iscsiTargets","systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-06-01T09:12:36.0392232Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-01T09:12:36.0392232Z"},"properties":{"targetIqn":"iqn.2021-06.com.microsoft:iscsi000007","aclMode":"Dynamic","luns":[{"managedDiskAzureResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002","name":"lun0","lun":0}],"endpoints":["10.0.0.5:3260","10.0.0.4:3260"],"provisioningState":"Succeeded","status":"Healthy"}}' headers: cache-control: - no-cache @@ -2605,7 +2605,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:21:31 GMT + - Tue, 01 Jun 2021 09:14:19 GMT expires: - '-1' pragma: @@ -2642,7 +2642,7 @@ interactions: uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007","name":"iscsi000007","type":"Microsoft.StoragePool/diskPools/iscsiTargets","systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-05-25T06:19:48.0331286Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-05-25T06:19:48.0331286Z"},"properties":{"targetIqn":"iqn.2021-05.com.microsoft:iscsi000007","aclMode":"Dynamic","luns":[{"managedDiskAzureResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002","name":"lun0","lun":0}],"endpoints":["10.0.0.4:3260","10.0.0.5:3260"],"provisioningState":"Succeeded","status":"Healthy"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007","name":"iscsi000007","type":"Microsoft.StoragePool/diskPools/iscsiTargets","systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-06-01T09:12:36.0392232Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-01T09:12:36.0392232Z"},"properties":{"targetIqn":"iqn.2021-06.com.microsoft:iscsi000007","aclMode":"Dynamic","luns":[{"managedDiskAzureResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002","name":"lun0","lun":0}],"endpoints":["10.0.0.5:3260","10.0.0.4:3260"],"provisioningState":"Succeeded","status":"Healthy"}}' headers: cache-control: - no-cache @@ -2651,7 +2651,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:21:32 GMT + - Tue, 01 Jun 2021 09:14:21 GMT expires: - '-1' pragma: @@ -2688,7 +2688,7 @@ interactions: uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets?api-version=2021-04-01-preview response: body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007","name":"iscsi000007","type":"Microsoft.StoragePool/diskPools/iscsiTargets","systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-05-25T06:19:48.0331286Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-05-25T06:19:48.0331286Z"},"properties":{"targetIqn":"iqn.2021-05.com.microsoft:iscsi000007","aclMode":"Dynamic","luns":[{"managedDiskAzureResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002","name":"lun0","lun":0}],"endpoints":["10.0.0.4:3260","10.0.0.5:3260"],"provisioningState":"Succeeded","status":"Healthy"}}],"nextLink":null}' + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007","name":"iscsi000007","type":"Microsoft.StoragePool/diskPools/iscsiTargets","systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-06-01T09:12:36.0392232Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-01T09:12:36.0392232Z"},"properties":{"targetIqn":"iqn.2021-06.com.microsoft:iscsi000007","aclMode":"Dynamic","luns":[{"managedDiskAzureResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002","name":"lun0","lun":0}],"endpoints":["10.0.0.5:3260","10.0.0.4:3260"],"provisioningState":"Succeeded","status":"Healthy"}}],"nextLink":null}' headers: cache-control: - no-cache @@ -2697,7 +2697,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:21:34 GMT + - Tue, 01 Jun 2021 09:14:22 GMT expires: - '-1' pragma: @@ -2742,17 +2742,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/5aeb37cc-a246-4503-a7dd-7a78433196c6?api-version=2021-04-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/0c8854c3-7e54-4b5d-b062-986c10050662?api-version=2021-04-01-preview cache-control: - no-cache content-length: - '0' date: - - Tue, 25 May 2021 06:21:37 GMT + - Tue, 01 Jun 2021 09:21:51 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationresults/5aeb37cc-a246-4503-a7dd-7a78433196c6?api-version=2021-04-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationresults/0c8854c3-7e54-4b5d-b062-986c10050662?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: @@ -2762,7 +2762,7 @@ interactions: x-ms-async-operation-timeout: - PT1H x-ms-ratelimit-remaining-subscription-writes: - - '1197' + - '1199' x-ms-return-client-request-id: - 'true' status: @@ -2784,10 +2784,102 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/5aeb37cc-a246-4503-a7dd-7a78433196c6?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/0c8854c3-7e54-4b5d-b062-986c10050662?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/0c8854c3-7e54-4b5d-b062-986c10050662","name":"0c8854c3-7e54-4b5d-b062-986c10050662","status":"Running","startTime":"2021-06-01T09:21:52Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json + date: + - Tue, 01 Jun 2021 09:22:02 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool update + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --disks + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/0c8854c3-7e54-4b5d-b062-986c10050662?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/0c8854c3-7e54-4b5d-b062-986c10050662","name":"0c8854c3-7e54-4b5d-b062-986c10050662","status":"Running","startTime":"2021-06-01T09:21:52Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json + date: + - Tue, 01 Jun 2021 09:22:32 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool update + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group --disks + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/0c8854c3-7e54-4b5d-b062-986c10050662?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/5aeb37cc-a246-4503-a7dd-7a78433196c6","name":"5aeb37cc-a246-4503-a7dd-7a78433196c6","status":"Running","startTime":"2021-05-25T06:21:37Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/0c8854c3-7e54-4b5d-b062-986c10050662","name":"0c8854c3-7e54-4b5d-b062-986c10050662","status":"Running","startTime":"2021-06-01T09:21:52Z","endTime":""}' headers: cache-control: - no-cache @@ -2796,7 +2888,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:21:47 GMT + - Tue, 01 Jun 2021 09:23:02 GMT expires: - '-1' pragma: @@ -2830,10 +2922,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/5aeb37cc-a246-4503-a7dd-7a78433196c6?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/0c8854c3-7e54-4b5d-b062-986c10050662?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/5aeb37cc-a246-4503-a7dd-7a78433196c6","name":"5aeb37cc-a246-4503-a7dd-7a78433196c6","status":"Running","startTime":"2021-05-25T06:21:37Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/0c8854c3-7e54-4b5d-b062-986c10050662","name":"0c8854c3-7e54-4b5d-b062-986c10050662","status":"Running","startTime":"2021-06-01T09:21:52Z","endTime":""}' headers: cache-control: - no-cache @@ -2842,7 +2934,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:22:17 GMT + - Tue, 01 Jun 2021 09:23:33 GMT expires: - '-1' pragma: @@ -2876,10 +2968,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/5aeb37cc-a246-4503-a7dd-7a78433196c6?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/0c8854c3-7e54-4b5d-b062-986c10050662?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/5aeb37cc-a246-4503-a7dd-7a78433196c6","name":"5aeb37cc-a246-4503-a7dd-7a78433196c6","status":"Running","startTime":"2021-05-25T06:21:37Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/0c8854c3-7e54-4b5d-b062-986c10050662","name":"0c8854c3-7e54-4b5d-b062-986c10050662","status":"Running","startTime":"2021-06-01T09:21:52Z","endTime":""}' headers: cache-control: - no-cache @@ -2888,7 +2980,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:22:47 GMT + - Tue, 01 Jun 2021 09:24:04 GMT expires: - '-1' pragma: @@ -2922,10 +3014,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/5aeb37cc-a246-4503-a7dd-7a78433196c6?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/0c8854c3-7e54-4b5d-b062-986c10050662?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/5aeb37cc-a246-4503-a7dd-7a78433196c6","name":"5aeb37cc-a246-4503-a7dd-7a78433196c6","status":"Running","startTime":"2021-05-25T06:21:37Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/0c8854c3-7e54-4b5d-b062-986c10050662","name":"0c8854c3-7e54-4b5d-b062-986c10050662","status":"Running","startTime":"2021-06-01T09:21:52Z","endTime":""}' headers: cache-control: - no-cache @@ -2934,7 +3026,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:23:19 GMT + - Tue, 01 Jun 2021 09:24:35 GMT expires: - '-1' pragma: @@ -2968,10 +3060,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/5aeb37cc-a246-4503-a7dd-7a78433196c6?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/0c8854c3-7e54-4b5d-b062-986c10050662?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/5aeb37cc-a246-4503-a7dd-7a78433196c6","name":"5aeb37cc-a246-4503-a7dd-7a78433196c6","status":"Running","startTime":"2021-05-25T06:21:37Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/0c8854c3-7e54-4b5d-b062-986c10050662","name":"0c8854c3-7e54-4b5d-b062-986c10050662","status":"Running","startTime":"2021-06-01T09:21:52Z","endTime":""}' headers: cache-control: - no-cache @@ -2980,7 +3072,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:23:49 GMT + - Tue, 01 Jun 2021 09:25:05 GMT expires: - '-1' pragma: @@ -3014,10 +3106,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/5aeb37cc-a246-4503-a7dd-7a78433196c6?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/0c8854c3-7e54-4b5d-b062-986c10050662?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/5aeb37cc-a246-4503-a7dd-7a78433196c6","name":"5aeb37cc-a246-4503-a7dd-7a78433196c6","status":"Succeeded","startTime":"2021-05-25T06:21:37Z","endTime":"2021-05-25T06:23:57Z","properties":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006","name":"diskpool000006","type":"Microsoft.StoragePool/diskPools","location":"eastus","tags":{},"systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-05-25T06:09:17.0897576Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-05-25T06:21:35.5269744Z"},"properties":{"disks":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003"}],"availabilityZones":["3"],"subnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005","provisioningState":"Succeeded","status":"Running"},"sku":{"name":"Standard","tier":"Standard"}}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/0c8854c3-7e54-4b5d-b062-986c10050662","name":"0c8854c3-7e54-4b5d-b062-986c10050662","status":"Succeeded","startTime":"2021-06-01T09:21:52Z","endTime":"2021-06-01T09:25:28Z","properties":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006","name":"diskpool000006","type":"Microsoft.StoragePool/diskPools","location":"eastus","tags":{},"systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-06-01T09:02:04.8070554Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-01T09:21:50.5834578Z"},"properties":{"disks":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003"}],"availabilityZones":["3"],"subnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005","provisioningState":"Succeeded","status":"Running"},"sku":{"name":"Standard","tier":"Standard"}}}' headers: cache-control: - no-cache @@ -3026,7 +3118,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:24:19 GMT + - Tue, 01 Jun 2021 09:25:35 GMT expires: - '-1' pragma: @@ -3063,7 +3155,7 @@ interactions: uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006","name":"diskpool000006","type":"Microsoft.StoragePool/diskPools","location":"eastus","tags":{},"systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-05-25T06:09:17.0897576Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-05-25T06:21:35.5269744Z"},"properties":{"disks":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003"}],"availabilityZones":["3"],"subnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005","provisioningState":"Succeeded","status":"Running"},"sku":{"name":"Standard","tier":"Standard"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006","name":"diskpool000006","type":"Microsoft.StoragePool/diskPools","location":"eastus","tags":{},"systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-06-01T09:02:04.8070554Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-01T09:21:50.5834578Z"},"properties":{"disks":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003"}],"availabilityZones":["3"],"subnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005","provisioningState":"Succeeded","status":"Running"},"sku":{"name":"Standard","tier":"Standard"}}' headers: cache-control: - no-cache @@ -3072,7 +3164,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:24:19 GMT + - Tue, 01 Jun 2021 09:25:36 GMT expires: - '-1' pragma: @@ -3118,17 +3210,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/f1c94a62-69eb-4515-870d-fbcefcf5e7ff?api-version=2021-04-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/fc8ed4c9-05b5-4c79-8e85-68cdcb20e47e?api-version=2021-04-01-preview cache-control: - no-cache content-length: - '0' date: - - Tue, 25 May 2021 06:24:22 GMT + - Tue, 01 Jun 2021 09:25:38 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationresults/f1c94a62-69eb-4515-870d-fbcefcf5e7ff?api-version=2021-04-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationresults/fc8ed4c9-05b5-4c79-8e85-68cdcb20e47e?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: @@ -3160,10 +3252,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/f1c94a62-69eb-4515-870d-fbcefcf5e7ff?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/fc8ed4c9-05b5-4c79-8e85-68cdcb20e47e?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/f1c94a62-69eb-4515-870d-fbcefcf5e7ff","name":"f1c94a62-69eb-4515-870d-fbcefcf5e7ff","status":"Running","startTime":"2021-05-25T06:24:22Z"}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/fc8ed4c9-05b5-4c79-8e85-68cdcb20e47e","name":"fc8ed4c9-05b5-4c79-8e85-68cdcb20e47e","status":"Running","startTime":"2021-06-01T09:25:38Z"}' headers: cache-control: - no-cache @@ -3172,7 +3264,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:24:32 GMT + - Tue, 01 Jun 2021 09:25:49 GMT expires: - '-1' pragma: @@ -3206,10 +3298,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/f1c94a62-69eb-4515-870d-fbcefcf5e7ff?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/fc8ed4c9-05b5-4c79-8e85-68cdcb20e47e?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/f1c94a62-69eb-4515-870d-fbcefcf5e7ff","name":"f1c94a62-69eb-4515-870d-fbcefcf5e7ff","status":"Running","startTime":"2021-05-25T06:24:22Z"}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/fc8ed4c9-05b5-4c79-8e85-68cdcb20e47e","name":"fc8ed4c9-05b5-4c79-8e85-68cdcb20e47e","status":"Running","startTime":"2021-06-01T09:25:38Z"}' headers: cache-control: - no-cache @@ -3218,7 +3310,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:25:03 GMT + - Tue, 01 Jun 2021 09:26:19 GMT expires: - '-1' pragma: @@ -3252,10 +3344,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/f1c94a62-69eb-4515-870d-fbcefcf5e7ff?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/fc8ed4c9-05b5-4c79-8e85-68cdcb20e47e?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/f1c94a62-69eb-4515-870d-fbcefcf5e7ff","name":"f1c94a62-69eb-4515-870d-fbcefcf5e7ff","status":"Running","startTime":"2021-05-25T06:24:22Z"}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/fc8ed4c9-05b5-4c79-8e85-68cdcb20e47e","name":"fc8ed4c9-05b5-4c79-8e85-68cdcb20e47e","status":"Running","startTime":"2021-06-01T09:25:38Z"}' headers: cache-control: - no-cache @@ -3264,7 +3356,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:25:33 GMT + - Tue, 01 Jun 2021 09:26:50 GMT expires: - '-1' pragma: @@ -3298,10 +3390,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/f1c94a62-69eb-4515-870d-fbcefcf5e7ff?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/fc8ed4c9-05b5-4c79-8e85-68cdcb20e47e?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/f1c94a62-69eb-4515-870d-fbcefcf5e7ff","name":"f1c94a62-69eb-4515-870d-fbcefcf5e7ff","status":"Succeeded","startTime":"2021-05-25T06:24:22Z","endTime":"2021-05-25T06:25:59Z","properties":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007","name":"iscsi000007","type":"Microsoft.StoragePool/diskPools/iscsiTargets","systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-05-25T06:19:48.0331286Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-05-25T06:24:21.2019994Z"},"properties":{"targetIqn":"iqn.2021-05.com.microsoft:iscsi000007","aclMode":"Dynamic","luns":[{"managedDiskAzureResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002","name":"lun0","lun":0},{"managedDiskAzureResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003","name":"lun1","lun":1}],"endpoints":["10.0.0.4:3260","10.0.0.5:3260"],"provisioningState":"Succeeded","status":"Healthy"}}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/fc8ed4c9-05b5-4c79-8e85-68cdcb20e47e","name":"fc8ed4c9-05b5-4c79-8e85-68cdcb20e47e","status":"Succeeded","startTime":"2021-06-01T09:25:38Z","endTime":"2021-06-01T09:27:13Z","properties":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007","name":"iscsi000007","type":"Microsoft.StoragePool/diskPools/iscsiTargets","systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-06-01T09:12:36.0392232Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-01T09:25:37.7054006Z"},"properties":{"targetIqn":"iqn.2021-06.com.microsoft:iscsi000007","aclMode":"Dynamic","luns":[{"managedDiskAzureResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002","name":"lun0","lun":0},{"managedDiskAzureResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003","name":"lun1","lun":1}],"endpoints":["10.0.0.5:3260","10.0.0.4:3260"],"provisioningState":"Succeeded","status":"Healthy"}}}' headers: cache-control: - no-cache @@ -3310,7 +3402,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:26:04 GMT + - Tue, 01 Jun 2021 09:27:20 GMT expires: - '-1' pragma: @@ -3347,7 +3439,7 @@ interactions: uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007","name":"iscsi000007","type":"Microsoft.StoragePool/diskPools/iscsiTargets","systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-05-25T06:19:48.0331286Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-05-25T06:24:21.2019994Z"},"properties":{"targetIqn":"iqn.2021-05.com.microsoft:iscsi000007","aclMode":"Dynamic","luns":[{"managedDiskAzureResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002","name":"lun0","lun":0},{"managedDiskAzureResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003","name":"lun1","lun":1}],"endpoints":["10.0.0.4:3260","10.0.0.5:3260"],"provisioningState":"Succeeded","status":"Healthy"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007","name":"iscsi000007","type":"Microsoft.StoragePool/diskPools/iscsiTargets","systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-06-01T09:12:36.0392232Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-01T09:25:37.7054006Z"},"properties":{"targetIqn":"iqn.2021-06.com.microsoft:iscsi000007","aclMode":"Dynamic","luns":[{"managedDiskAzureResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002","name":"lun0","lun":0},{"managedDiskAzureResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003","name":"lun1","lun":1}],"endpoints":["10.0.0.5:3260","10.0.0.4:3260"],"provisioningState":"Succeeded","status":"Healthy"}}' headers: cache-control: - no-cache @@ -3356,7 +3448,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:26:04 GMT + - Tue, 01 Jun 2021 09:27:20 GMT expires: - '-1' pragma: @@ -3398,17 +3490,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/ba31ec2f-7235-4783-82d7-c3940bccaa3a?api-version=2021-04-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714?api-version=2021-04-01-preview cache-control: - no-cache content-length: - '0' date: - - Tue, 25 May 2021 06:26:06 GMT + - Tue, 01 Jun 2021 09:27:23 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationresults/ba31ec2f-7235-4783-82d7-c3940bccaa3a?api-version=2021-04-01-preview + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationresults/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: @@ -3438,10 +3530,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/ba31ec2f-7235-4783-82d7-c3940bccaa3a?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/ba31ec2f-7235-4783-82d7-c3940bccaa3a","name":"ba31ec2f-7235-4783-82d7-c3940bccaa3a","status":"Running","startTime":"2021-05-25T06:26:06Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","name":"a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","status":"Running","startTime":"2021-06-01T09:27:23Z","endTime":""}' headers: cache-control: - no-cache @@ -3450,7 +3542,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:26:17 GMT + - Tue, 01 Jun 2021 09:27:33 GMT expires: - '-1' pragma: @@ -3484,10 +3576,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/ba31ec2f-7235-4783-82d7-c3940bccaa3a?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/ba31ec2f-7235-4783-82d7-c3940bccaa3a","name":"ba31ec2f-7235-4783-82d7-c3940bccaa3a","status":"Running","startTime":"2021-05-25T06:26:06Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","name":"a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","status":"Running","startTime":"2021-06-01T09:27:23Z","endTime":""}' headers: cache-control: - no-cache @@ -3496,7 +3588,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:26:47 GMT + - Tue, 01 Jun 2021 09:28:04 GMT expires: - '-1' pragma: @@ -3530,10 +3622,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/ba31ec2f-7235-4783-82d7-c3940bccaa3a?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/ba31ec2f-7235-4783-82d7-c3940bccaa3a","name":"ba31ec2f-7235-4783-82d7-c3940bccaa3a","status":"Running","startTime":"2021-05-25T06:26:06Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","name":"a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","status":"Running","startTime":"2021-06-01T09:27:23Z","endTime":""}' headers: cache-control: - no-cache @@ -3542,7 +3634,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:27:17 GMT + - Tue, 01 Jun 2021 09:28:34 GMT expires: - '-1' pragma: @@ -3576,10 +3668,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/ba31ec2f-7235-4783-82d7-c3940bccaa3a?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/ba31ec2f-7235-4783-82d7-c3940bccaa3a","name":"ba31ec2f-7235-4783-82d7-c3940bccaa3a","status":"Running","startTime":"2021-05-25T06:26:06Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","name":"a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","status":"Running","startTime":"2021-06-01T09:27:23Z","endTime":""}' headers: cache-control: - no-cache @@ -3588,7 +3680,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:27:47 GMT + - Tue, 01 Jun 2021 09:29:05 GMT expires: - '-1' pragma: @@ -3622,10 +3714,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/ba31ec2f-7235-4783-82d7-c3940bccaa3a?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/ba31ec2f-7235-4783-82d7-c3940bccaa3a","name":"ba31ec2f-7235-4783-82d7-c3940bccaa3a","status":"Running","startTime":"2021-05-25T06:26:06Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","name":"a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","status":"Running","startTime":"2021-06-01T09:27:23Z","endTime":""}' headers: cache-control: - no-cache @@ -3634,7 +3726,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:28:18 GMT + - Tue, 01 Jun 2021 09:29:36 GMT expires: - '-1' pragma: @@ -3668,10 +3760,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/ba31ec2f-7235-4783-82d7-c3940bccaa3a?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/ba31ec2f-7235-4783-82d7-c3940bccaa3a","name":"ba31ec2f-7235-4783-82d7-c3940bccaa3a","status":"Running","startTime":"2021-05-25T06:26:06Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","name":"a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","status":"Running","startTime":"2021-06-01T09:27:23Z","endTime":""}' headers: cache-control: - no-cache @@ -3680,7 +3772,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:28:48 GMT + - Tue, 01 Jun 2021 09:30:06 GMT expires: - '-1' pragma: @@ -3714,10 +3806,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/ba31ec2f-7235-4783-82d7-c3940bccaa3a?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/ba31ec2f-7235-4783-82d7-c3940bccaa3a","name":"ba31ec2f-7235-4783-82d7-c3940bccaa3a","status":"Running","startTime":"2021-05-25T06:26:06Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","name":"a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","status":"Running","startTime":"2021-06-01T09:27:23Z","endTime":""}' headers: cache-control: - no-cache @@ -3726,7 +3818,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:29:20 GMT + - Tue, 01 Jun 2021 09:30:37 GMT expires: - '-1' pragma: @@ -3760,10 +3852,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/ba31ec2f-7235-4783-82d7-c3940bccaa3a?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/ba31ec2f-7235-4783-82d7-c3940bccaa3a","name":"ba31ec2f-7235-4783-82d7-c3940bccaa3a","status":"Running","startTime":"2021-05-25T06:26:06Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","name":"a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","status":"Running","startTime":"2021-06-01T09:27:23Z","endTime":""}' headers: cache-control: - no-cache @@ -3772,7 +3864,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:29:50 GMT + - Tue, 01 Jun 2021 09:31:07 GMT expires: - '-1' pragma: @@ -3806,10 +3898,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/ba31ec2f-7235-4783-82d7-c3940bccaa3a?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/ba31ec2f-7235-4783-82d7-c3940bccaa3a","name":"ba31ec2f-7235-4783-82d7-c3940bccaa3a","status":"Running","startTime":"2021-05-25T06:26:06Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","name":"a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","status":"Running","startTime":"2021-06-01T09:27:23Z","endTime":""}' headers: cache-control: - no-cache @@ -3818,7 +3910,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:30:20 GMT + - Tue, 01 Jun 2021 09:31:38 GMT expires: - '-1' pragma: @@ -3852,10 +3944,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/ba31ec2f-7235-4783-82d7-c3940bccaa3a?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/ba31ec2f-7235-4783-82d7-c3940bccaa3a","name":"ba31ec2f-7235-4783-82d7-c3940bccaa3a","status":"Running","startTime":"2021-05-25T06:26:06Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","name":"a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","status":"Running","startTime":"2021-06-01T09:27:23Z","endTime":""}' headers: cache-control: - no-cache @@ -3864,7 +3956,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:30:50 GMT + - Tue, 01 Jun 2021 09:32:09 GMT expires: - '-1' pragma: @@ -3898,20 +3990,19 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/ba31ec2f-7235-4783-82d7-c3940bccaa3a?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/ba31ec2f-7235-4783-82d7-c3940bccaa3a","name":"ba31ec2f-7235-4783-82d7-c3940bccaa3a","status":"Succeeded","startTime":"2021-05-25T06:26:06Z","endTime":"2021-05-25T06:31:14Z","properties":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006","name":"diskpool000006","type":"Microsoft.StoragePool/diskPools","location":"eastus","tags":{},"systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-05-25T06:09:17.0897576Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-05-25T06:21:35.5269744Z"},"properties":{"disks":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003"}],"availabilityZones":["3"],"subnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005","provisioningState":"Succeeded","status":"Stopped - (deallocated)"},"sku":{"name":"Standard","tier":"Standard"}}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","name":"a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","status":"Running","startTime":"2021-06-01T09:27:23Z","endTime":""}' headers: cache-control: - no-cache content-length: - - '1360' + - '243' content-type: - application/json date: - - Tue, 25 May 2021 06:31:21 GMT + - Tue, 01 Jun 2021 09:32:39 GMT expires: - '-1' pragma: @@ -3933,11 +4024,11 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - disk-pool show + - disk-pool stop Connection: - keep-alive ParameterSetName: @@ -3945,20 +4036,19 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006","name":"diskpool000006","type":"Microsoft.StoragePool/diskPools","location":"eastus","tags":{},"systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-05-25T06:09:17.0897576Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-05-25T06:21:35.5269744Z"},"properties":{"disks":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003"}],"availabilityZones":["3"],"subnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005","provisioningState":"Succeeded","status":"Stopped - (deallocated)"},"sku":{"name":"Standard","tier":"Standard"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","name":"a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","status":"Running","startTime":"2021-06-01T09:27:23Z","endTime":""}' headers: cache-control: - no-cache content-length: - - '1081' + - '243' content-type: - application/json date: - - Tue, 25 May 2021 06:31:24 GMT + - Tue, 01 Jun 2021 09:33:10 GMT expires: - '-1' pragma: @@ -3980,50 +4070,48 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - disk-pool start + - disk-pool stop Connection: - keep-alive - Content-Length: - - '0' ParameterSetName: - --name --resource-group User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) - method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/start?api-version=2021-04-01-preview + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714?api-version=2021-04-01-preview response: body: - string: '' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","name":"a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","status":"Running","startTime":"2021-06-01T09:27:23Z","endTime":""}' headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/e208c283-fc07-4a03-a362-d4a05995fbdc?api-version=2021-04-01-preview cache-control: - no-cache content-length: - - '0' + - '243' + content-type: + - application/json date: - - Tue, 25 May 2021 06:31:25 GMT + - Tue, 01 Jun 2021 09:33:41 GMT expires: - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationresults/e208c283-fc07-4a03-a362-d4a05995fbdc?api-version=2021-04-01-preview pragma: - no-cache 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' x-ms-return-client-request-id: - 'true' status: - code: 202 - message: Accepted + code: 200 + message: OK - request: body: null headers: @@ -4032,7 +4120,7 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool start + - disk-pool stop Connection: - keep-alive ParameterSetName: @@ -4040,10 +4128,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/e208c283-fc07-4a03-a362-d4a05995fbdc?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/e208c283-fc07-4a03-a362-d4a05995fbdc","name":"e208c283-fc07-4a03-a362-d4a05995fbdc","status":"Running","startTime":"2021-05-25T06:31:25Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","name":"a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","status":"Running","startTime":"2021-06-01T09:27:23Z","endTime":""}' headers: cache-control: - no-cache @@ -4052,7 +4140,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:31:36 GMT + - Tue, 01 Jun 2021 09:34:11 GMT expires: - '-1' pragma: @@ -4078,7 +4166,7 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool start + - disk-pool stop Connection: - keep-alive ParameterSetName: @@ -4086,10 +4174,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/e208c283-fc07-4a03-a362-d4a05995fbdc?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/e208c283-fc07-4a03-a362-d4a05995fbdc","name":"e208c283-fc07-4a03-a362-d4a05995fbdc","status":"Running","startTime":"2021-05-25T06:31:25Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","name":"a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","status":"Running","startTime":"2021-06-01T09:27:23Z","endTime":""}' headers: cache-control: - no-cache @@ -4098,7 +4186,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:32:06 GMT + - Tue, 01 Jun 2021 09:34:41 GMT expires: - '-1' pragma: @@ -4124,7 +4212,7 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool start + - disk-pool stop Connection: - keep-alive ParameterSetName: @@ -4132,10 +4220,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/e208c283-fc07-4a03-a362-d4a05995fbdc?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/e208c283-fc07-4a03-a362-d4a05995fbdc","name":"e208c283-fc07-4a03-a362-d4a05995fbdc","status":"Running","startTime":"2021-05-25T06:31:25Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","name":"a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","status":"Running","startTime":"2021-06-01T09:27:23Z","endTime":""}' headers: cache-control: - no-cache @@ -4144,7 +4232,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:32:37 GMT + - Tue, 01 Jun 2021 09:35:12 GMT expires: - '-1' pragma: @@ -4170,7 +4258,7 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool start + - disk-pool stop Connection: - keep-alive ParameterSetName: @@ -4178,10 +4266,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/e208c283-fc07-4a03-a362-d4a05995fbdc?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/e208c283-fc07-4a03-a362-d4a05995fbdc","name":"e208c283-fc07-4a03-a362-d4a05995fbdc","status":"Running","startTime":"2021-05-25T06:31:25Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","name":"a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","status":"Running","startTime":"2021-06-01T09:27:23Z","endTime":""}' headers: cache-control: - no-cache @@ -4190,7 +4278,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:33:07 GMT + - Tue, 01 Jun 2021 09:35:43 GMT expires: - '-1' pragma: @@ -4216,7 +4304,7 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool start + - disk-pool stop Connection: - keep-alive ParameterSetName: @@ -4224,19 +4312,19 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/e208c283-fc07-4a03-a362-d4a05995fbdc?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/e208c283-fc07-4a03-a362-d4a05995fbdc","name":"e208c283-fc07-4a03-a362-d4a05995fbdc","status":"Succeeded","startTime":"2021-05-25T06:31:25Z","endTime":"2021-05-25T06:33:24Z","properties":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006","name":"diskpool000006","type":"Microsoft.StoragePool/diskPools","location":"eastus","tags":{},"systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-05-25T06:09:17.0897576Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-05-25T06:21:35.5269744Z"},"properties":{"disks":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003"}],"availabilityZones":["3"],"subnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005","provisioningState":"Succeeded","status":"Running"},"sku":{"name":"Standard","tier":"Standard"}}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","name":"a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","status":"Running","startTime":"2021-06-01T09:27:23Z","endTime":""}' headers: cache-control: - no-cache content-length: - - '1346' + - '243' content-type: - application/json date: - - Tue, 25 May 2021 06:33:38 GMT + - Tue, 01 Jun 2021 09:36:13 GMT expires: - '-1' pragma: @@ -4258,11 +4346,11 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - disk-pool show + - disk-pool stop Connection: - keep-alive ParameterSetName: @@ -4270,19 +4358,19 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006","name":"diskpool000006","type":"Microsoft.StoragePool/diskPools","location":"eastus","tags":{},"systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-05-25T06:09:17.0897576Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-05-25T06:21:35.5269744Z"},"properties":{"disks":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003"}],"availabilityZones":["3"],"subnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005","provisioningState":"Succeeded","status":"Running"},"sku":{"name":"Standard","tier":"Standard"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","name":"a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","status":"Running","startTime":"2021-06-01T09:27:23Z","endTime":""}' headers: cache-control: - no-cache content-length: - - '1067' + - '243' content-type: - application/json date: - - Tue, 25 May 2021 06:33:40 GMT + - Tue, 01 Jun 2021 09:36:44 GMT expires: - '-1' pragma: @@ -4304,52 +4392,48 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - disk-pool iscsi-target delete + - disk-pool stop Connection: - keep-alive - Content-Length: - - '0' ParameterSetName: - - --name --disk-pool-name --resource-group -y + - --name --resource-group User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007?api-version=2021-04-01-preview + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714?api-version=2021-04-01-preview response: body: - string: '' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","name":"a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","status":"Running","startTime":"2021-06-01T09:27:23Z","endTime":""}' headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/d98fd278-4392-4e5d-93ce-9fbaa67cead1?api-version=2021-04-01-preview cache-control: - no-cache content-length: - - '0' + - '243' + content-type: + - application/json date: - - Tue, 25 May 2021 06:33:42 GMT + - Tue, 01 Jun 2021 09:37:15 GMT expires: - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationresults/d98fd278-4392-4e5d-93ce-9fbaa67cead1?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding x-content-type-options: - nosniff - x-ms-async-operation-timeout: - - PT1H - x-ms-ratelimit-remaining-subscription-deletes: - - '14993' x-ms-return-client-request-id: - 'true' status: - code: 202 - message: Accepted + code: 200 + message: OK - request: body: null headers: @@ -4358,27 +4442,27 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool iscsi-target delete + - disk-pool stop Connection: - keep-alive ParameterSetName: - - --name --disk-pool-name --resource-group -y + - --name --resource-group User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/d98fd278-4392-4e5d-93ce-9fbaa67cead1?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/d98fd278-4392-4e5d-93ce-9fbaa67cead1","name":"d98fd278-4392-4e5d-93ce-9fbaa67cead1","status":"Running","startTime":"2021-05-25T06:33:42Z"}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","name":"a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","status":"Running","startTime":"2021-06-01T09:27:23Z","endTime":""}' headers: cache-control: - no-cache content-length: - - '224' + - '243' content-type: - application/json date: - - Tue, 25 May 2021 06:33:52 GMT + - Tue, 01 Jun 2021 09:37:45 GMT expires: - '-1' pragma: @@ -4404,27 +4488,27 @@ interactions: Accept-Encoding: - gzip, deflate CommandName: - - disk-pool iscsi-target delete + - disk-pool stop Connection: - keep-alive ParameterSetName: - - --name --disk-pool-name --resource-group -y + - --name --resource-group User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/d98fd278-4392-4e5d-93ce-9fbaa67cead1?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/d98fd278-4392-4e5d-93ce-9fbaa67cead1","name":"d98fd278-4392-4e5d-93ce-9fbaa67cead1","status":"Succeeded","startTime":"2021-05-25T06:33:42Z"}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","name":"a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","status":"Running","startTime":"2021-06-01T09:27:23Z","endTime":""}' headers: cache-control: - no-cache content-length: - - '232' + - '243' content-type: - application/json date: - - Tue, 25 May 2021 06:34:22 GMT + - Tue, 01 Jun 2021 09:38:16 GMT expires: - '-1' pragma: @@ -4446,31 +4530,31 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - disk-pool iscsi-target list + - disk-pool stop Connection: - keep-alive ParameterSetName: - - --disk-pool-name --resource-group + - --name --resource-group User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714?api-version=2021-04-01-preview response: body: - string: '{"value":[],"nextLink":null}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","name":"a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","status":"Running","startTime":"2021-06-01T09:27:23Z","endTime":""}' headers: cache-control: - no-cache content-length: - - '28' + - '243' content-type: - application/json date: - - Tue, 25 May 2021 06:34:24 GMT + - Tue, 01 Jun 2021 09:38:46 GMT expires: - '-1' pragma: @@ -4492,52 +4576,1072 @@ interactions: body: null headers: Accept: - - application/json + - '*/*' Accept-Encoding: - gzip, deflate CommandName: - - disk-pool delete + - disk-pool stop Connection: - keep-alive - Content-Length: - - '0' ParameterSetName: - - --name --resource-group -y + - --name --resource-group User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) - method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006?api-version=2021-04-01-preview + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714?api-version=2021-04-01-preview response: body: - string: '' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","name":"a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","status":"Running","startTime":"2021-06-01T09:27:23Z","endTime":""}' headers: - azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/3604f57a-e231-4563-81e7-c318a2e14878?api-version=2021-04-01-preview cache-control: - no-cache content-length: - - '0' + - '243' + content-type: + - application/json date: - - Tue, 25 May 2021 06:34:27 GMT + - Tue, 01 Jun 2021 09:39:17 GMT expires: - '-1' - location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationresults/3604f57a-e231-4563-81e7-c318a2e14878?api-version=2021-04-01-preview pragma: - no-cache strict-transport-security: - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding x-content-type-options: - nosniff - x-ms-async-operation-timeout: - - PT1H - x-ms-ratelimit-remaining-subscription-deletes: - - '14999' x-ms-return-client-request-id: - 'true' status: - code: 202 - message: Accepted + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool stop + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","name":"a10e08d3-29e8-44b8-8ee5-3d5d4dc7f714","status":"Succeeded","startTime":"2021-06-01T09:27:23Z","endTime":"2021-06-01T09:39:34Z","properties":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006","name":"diskpool000006","type":"Microsoft.StoragePool/diskPools","location":"eastus","tags":{},"systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-06-01T09:02:04.8070554Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-01T09:21:50.5834578Z"},"properties":{"disks":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003"}],"availabilityZones":["3"],"subnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005","provisioningState":"Succeeded","status":"Stopped + (deallocated)"},"sku":{"name":"Standard","tier":"Standard"}}}' + headers: + cache-control: + - no-cache + content-length: + - '1360' + content-type: + - application/json + date: + - Tue, 01 Jun 2021 09:39:47 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool show + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006","name":"diskpool000006","type":"Microsoft.StoragePool/diskPools","location":"eastus","tags":{},"systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-06-01T09:02:04.8070554Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-01T09:21:50.5834578Z"},"properties":{"disks":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003"}],"availabilityZones":["3"],"subnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005","provisioningState":"Succeeded","status":"Stopped + (deallocated)"},"sku":{"name":"Standard","tier":"Standard"}}' + headers: + cache-control: + - no-cache + content-length: + - '1081' + content-type: + - application/json + date: + - Tue, 01 Jun 2021 09:39:50 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool start + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/start?api-version=2021-04-01-preview + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/84dcd3d9-03cc-49b7-9cef-da87a936e86a?api-version=2021-04-01-preview + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 01 Jun 2021 09:39:51 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationresults/84dcd3d9-03cc-49b7-9cef-da87a936e86a?api-version=2021-04-01-preview + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + x-ms-return-client-request-id: + - 'true' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool start + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/84dcd3d9-03cc-49b7-9cef-da87a936e86a?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/84dcd3d9-03cc-49b7-9cef-da87a936e86a","name":"84dcd3d9-03cc-49b7-9cef-da87a936e86a","status":"Running","startTime":"2021-06-01T09:39:51Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json + date: + - Tue, 01 Jun 2021 09:40:02 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool start + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/84dcd3d9-03cc-49b7-9cef-da87a936e86a?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/84dcd3d9-03cc-49b7-9cef-da87a936e86a","name":"84dcd3d9-03cc-49b7-9cef-da87a936e86a","status":"Running","startTime":"2021-06-01T09:39:51Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json + date: + - Tue, 01 Jun 2021 09:40:32 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool start + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/84dcd3d9-03cc-49b7-9cef-da87a936e86a?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/84dcd3d9-03cc-49b7-9cef-da87a936e86a","name":"84dcd3d9-03cc-49b7-9cef-da87a936e86a","status":"Running","startTime":"2021-06-01T09:39:51Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json + date: + - Tue, 01 Jun 2021 09:41:03 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool start + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/84dcd3d9-03cc-49b7-9cef-da87a936e86a?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/84dcd3d9-03cc-49b7-9cef-da87a936e86a","name":"84dcd3d9-03cc-49b7-9cef-da87a936e86a","status":"Running","startTime":"2021-06-01T09:39:51Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json + date: + - Tue, 01 Jun 2021 09:41:33 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool start + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/84dcd3d9-03cc-49b7-9cef-da87a936e86a?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/84dcd3d9-03cc-49b7-9cef-da87a936e86a","name":"84dcd3d9-03cc-49b7-9cef-da87a936e86a","status":"Running","startTime":"2021-06-01T09:39:51Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json + date: + - Tue, 01 Jun 2021 09:42:03 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool start + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/84dcd3d9-03cc-49b7-9cef-da87a936e86a?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/84dcd3d9-03cc-49b7-9cef-da87a936e86a","name":"84dcd3d9-03cc-49b7-9cef-da87a936e86a","status":"Running","startTime":"2021-06-01T09:39:51Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '243' + content-type: + - application/json + date: + - Tue, 01 Jun 2021 09:42:35 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool start + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/84dcd3d9-03cc-49b7-9cef-da87a936e86a?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/84dcd3d9-03cc-49b7-9cef-da87a936e86a","name":"84dcd3d9-03cc-49b7-9cef-da87a936e86a","status":"Succeeded","startTime":"2021-06-01T09:39:51Z","endTime":"2021-06-01T09:42:48Z","properties":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006","name":"diskpool000006","type":"Microsoft.StoragePool/diskPools","location":"eastus","tags":{},"systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-06-01T09:02:04.8070554Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-01T09:21:50.5834578Z"},"properties":{"disks":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003"}],"availabilityZones":["3"],"subnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005","provisioningState":"Succeeded","status":"Running"},"sku":{"name":"Standard","tier":"Standard"}}}' + headers: + cache-control: + - no-cache + content-length: + - '1346' + content-type: + - application/json + date: + - Tue, 01 Jun 2021 09:43:05 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool show + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006","name":"diskpool000006","type":"Microsoft.StoragePool/diskPools","location":"eastus","tags":{},"systemData":{"createdBy":"zuh@microsoft.com","createdByType":"User","createdAt":"2021-06-01T09:02:04.8070554Z","lastModifiedBy":"zuh@microsoft.com","lastModifiedByType":"User","lastModifiedAt":"2021-06-01T09:21:50.5834578Z"},"properties":{"disks":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000002"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Compute/disks/disk000003"}],"availabilityZones":["3"],"subnetId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Network/virtualNetworks/vnet000004/subnets/subnet000005","provisioningState":"Succeeded","status":"Running"},"sku":{"name":"Standard","tier":"Standard"}}' + headers: + cache-control: + - no-cache + content-length: + - '1067' + content-type: + - application/json + date: + - Tue, 01 Jun 2021 09:43:07 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool iscsi-target delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --name --disk-pool-name --resource-group -y + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets/iscsi000007?api-version=2021-04-01-preview + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/9432929d-460f-4d2f-b917-5b4ec1ab3039?api-version=2021-04-01-preview + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 01 Jun 2021 09:43:08 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationresults/9432929d-460f-4d2f-b917-5b4ec1ab3039?api-version=2021-04-01-preview + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-async-operation-timeout: + - PT1H + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-ms-return-client-request-id: + - 'true' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool iscsi-target delete + Connection: + - keep-alive + ParameterSetName: + - --name --disk-pool-name --resource-group -y + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/9432929d-460f-4d2f-b917-5b4ec1ab3039?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/9432929d-460f-4d2f-b917-5b4ec1ab3039","name":"9432929d-460f-4d2f-b917-5b4ec1ab3039","status":"Running","startTime":"2021-06-01T09:43:09Z"}' + headers: + cache-control: + - no-cache + content-length: + - '224' + content-type: + - application/json + date: + - Tue, 01 Jun 2021 09:43:19 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool iscsi-target delete + Connection: + - keep-alive + ParameterSetName: + - --name --disk-pool-name --resource-group -y + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/9432929d-460f-4d2f-b917-5b4ec1ab3039?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/9432929d-460f-4d2f-b917-5b4ec1ab3039","name":"9432929d-460f-4d2f-b917-5b4ec1ab3039","status":"Running","startTime":"2021-06-01T09:43:09Z"}' + headers: + cache-control: + - no-cache + content-length: + - '224' + content-type: + - application/json + date: + - Tue, 01 Jun 2021 09:43:49 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool iscsi-target delete + Connection: + - keep-alive + ParameterSetName: + - --name --disk-pool-name --resource-group -y + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/9432929d-460f-4d2f-b917-5b4ec1ab3039?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/9432929d-460f-4d2f-b917-5b4ec1ab3039","name":"9432929d-460f-4d2f-b917-5b4ec1ab3039","status":"Running","startTime":"2021-06-01T09:43:09Z"}' + headers: + cache-control: + - no-cache + content-length: + - '224' + content-type: + - application/json + date: + - Tue, 01 Jun 2021 09:44:21 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool iscsi-target delete + Connection: + - keep-alive + ParameterSetName: + - --name --disk-pool-name --resource-group -y + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/9432929d-460f-4d2f-b917-5b4ec1ab3039?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/9432929d-460f-4d2f-b917-5b4ec1ab3039","name":"9432929d-460f-4d2f-b917-5b4ec1ab3039","status":"Succeeded","startTime":"2021-06-01T09:43:09Z"}' + headers: + cache-control: + - no-cache + content-length: + - '232' + content-type: + - application/json + date: + - Tue, 01 Jun 2021 09:44:51 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool iscsi-target list + Connection: + - keep-alive + ParameterSetName: + - --disk-pool-name --resource-group + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006/iscsiTargets?api-version=2021-04-01-preview + response: + body: + string: '{"value":[],"nextLink":null}' + headers: + cache-control: + - no-cache + content-length: + - '28' + content-type: + - application/json + date: + - Tue, 01 Jun 2021 09:44:52 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.StoragePool/diskPools/diskpool000006?api-version=2021-04-01-preview + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/bf861c30-d207-4735-b28f-e808bd0c899b?api-version=2021-04-01-preview + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 01 Jun 2021 09:44:55 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationresults/bf861c30-d207-4735-b28f-e808bd0c899b?api-version=2021-04-01-preview + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-async-operation-timeout: + - PT1H + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-ms-return-client-request-id: + - 'true' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/bf861c30-d207-4735-b28f-e808bd0c899b?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/bf861c30-d207-4735-b28f-e808bd0c899b","name":"bf861c30-d207-4735-b28f-e808bd0c899b","status":"Running","startTime":"2021-06-01T09:44:55Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '237' + content-type: + - application/json + date: + - Tue, 01 Jun 2021 09:45:05 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/bf861c30-d207-4735-b28f-e808bd0c899b?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/bf861c30-d207-4735-b28f-e808bd0c899b","name":"bf861c30-d207-4735-b28f-e808bd0c899b","status":"Running","startTime":"2021-06-01T09:44:55Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '237' + content-type: + - application/json + date: + - Tue, 01 Jun 2021 09:45:35 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/bf861c30-d207-4735-b28f-e808bd0c899b?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/bf861c30-d207-4735-b28f-e808bd0c899b","name":"bf861c30-d207-4735-b28f-e808bd0c899b","status":"Running","startTime":"2021-06-01T09:44:55Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '237' + content-type: + - application/json + date: + - Tue, 01 Jun 2021 09:46:06 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - disk-pool delete + Connection: + - keep-alive + ParameterSetName: + - --name --resource-group -y + User-Agent: + - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/bf861c30-d207-4735-b28f-e808bd0c899b?api-version=2021-04-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/bf861c30-d207-4735-b28f-e808bd0c899b","name":"bf861c30-d207-4735-b28f-e808bd0c899b","status":"Running","startTime":"2021-06-01T09:44:55Z","endTime":""}' + headers: + cache-control: + - no-cache + content-length: + - '237' + content-type: + - application/json + date: + - Tue, 01 Jun 2021 09:46:36 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-return-client-request-id: + - 'true' + status: + code: 200 + message: OK - request: body: null headers: @@ -4554,10 +5658,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/3604f57a-e231-4563-81e7-c318a2e14878?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/bf861c30-d207-4735-b28f-e808bd0c899b?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/3604f57a-e231-4563-81e7-c318a2e14878","name":"3604f57a-e231-4563-81e7-c318a2e14878","status":"Running","startTime":"2021-05-25T06:34:27Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/bf861c30-d207-4735-b28f-e808bd0c899b","name":"bf861c30-d207-4735-b28f-e808bd0c899b","status":"Running","startTime":"2021-06-01T09:44:55Z","endTime":""}' headers: cache-control: - no-cache @@ -4566,7 +5670,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:34:37 GMT + - Tue, 01 Jun 2021 09:47:06 GMT expires: - '-1' pragma: @@ -4600,10 +5704,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/3604f57a-e231-4563-81e7-c318a2e14878?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/bf861c30-d207-4735-b28f-e808bd0c899b?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/3604f57a-e231-4563-81e7-c318a2e14878","name":"3604f57a-e231-4563-81e7-c318a2e14878","status":"Running","startTime":"2021-05-25T06:34:27Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/bf861c30-d207-4735-b28f-e808bd0c899b","name":"bf861c30-d207-4735-b28f-e808bd0c899b","status":"Running","startTime":"2021-06-01T09:44:55Z","endTime":""}' headers: cache-control: - no-cache @@ -4612,7 +5716,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:35:07 GMT + - Tue, 01 Jun 2021 09:47:37 GMT expires: - '-1' pragma: @@ -4646,10 +5750,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/3604f57a-e231-4563-81e7-c318a2e14878?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/bf861c30-d207-4735-b28f-e808bd0c899b?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/3604f57a-e231-4563-81e7-c318a2e14878","name":"3604f57a-e231-4563-81e7-c318a2e14878","status":"Running","startTime":"2021-05-25T06:34:27Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/bf861c30-d207-4735-b28f-e808bd0c899b","name":"bf861c30-d207-4735-b28f-e808bd0c899b","status":"Running","startTime":"2021-06-01T09:44:55Z","endTime":""}' headers: cache-control: - no-cache @@ -4658,7 +5762,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:35:38 GMT + - Tue, 01 Jun 2021 09:48:08 GMT expires: - '-1' pragma: @@ -4692,10 +5796,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/3604f57a-e231-4563-81e7-c318a2e14878?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/bf861c30-d207-4735-b28f-e808bd0c899b?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/3604f57a-e231-4563-81e7-c318a2e14878","name":"3604f57a-e231-4563-81e7-c318a2e14878","status":"Running","startTime":"2021-05-25T06:34:27Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/bf861c30-d207-4735-b28f-e808bd0c899b","name":"bf861c30-d207-4735-b28f-e808bd0c899b","status":"Running","startTime":"2021-06-01T09:44:55Z","endTime":""}' headers: cache-control: - no-cache @@ -4704,7 +5808,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:36:09 GMT + - Tue, 01 Jun 2021 09:48:39 GMT expires: - '-1' pragma: @@ -4738,10 +5842,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/3604f57a-e231-4563-81e7-c318a2e14878?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/bf861c30-d207-4735-b28f-e808bd0c899b?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/3604f57a-e231-4563-81e7-c318a2e14878","name":"3604f57a-e231-4563-81e7-c318a2e14878","status":"Running","startTime":"2021-05-25T06:34:27Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/bf861c30-d207-4735-b28f-e808bd0c899b","name":"bf861c30-d207-4735-b28f-e808bd0c899b","status":"Running","startTime":"2021-06-01T09:44:55Z","endTime":""}' headers: cache-control: - no-cache @@ -4750,7 +5854,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:36:39 GMT + - Tue, 01 Jun 2021 09:49:09 GMT expires: - '-1' pragma: @@ -4784,10 +5888,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/3604f57a-e231-4563-81e7-c318a2e14878?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/bf861c30-d207-4735-b28f-e808bd0c899b?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/3604f57a-e231-4563-81e7-c318a2e14878","name":"3604f57a-e231-4563-81e7-c318a2e14878","status":"Running","startTime":"2021-05-25T06:34:27Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/bf861c30-d207-4735-b28f-e808bd0c899b","name":"bf861c30-d207-4735-b28f-e808bd0c899b","status":"Running","startTime":"2021-06-01T09:44:55Z","endTime":""}' headers: cache-control: - no-cache @@ -4796,7 +5900,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:37:09 GMT + - Tue, 01 Jun 2021 09:49:40 GMT expires: - '-1' pragma: @@ -4830,10 +5934,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/3604f57a-e231-4563-81e7-c318a2e14878?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/bf861c30-d207-4735-b28f-e808bd0c899b?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/3604f57a-e231-4563-81e7-c318a2e14878","name":"3604f57a-e231-4563-81e7-c318a2e14878","status":"Running","startTime":"2021-05-25T06:34:27Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/bf861c30-d207-4735-b28f-e808bd0c899b","name":"bf861c30-d207-4735-b28f-e808bd0c899b","status":"Running","startTime":"2021-06-01T09:44:55Z","endTime":""}' headers: cache-control: - no-cache @@ -4842,7 +5946,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:37:40 GMT + - Tue, 01 Jun 2021 09:50:10 GMT expires: - '-1' pragma: @@ -4876,10 +5980,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/3604f57a-e231-4563-81e7-c318a2e14878?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/bf861c30-d207-4735-b28f-e808bd0c899b?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/3604f57a-e231-4563-81e7-c318a2e14878","name":"3604f57a-e231-4563-81e7-c318a2e14878","status":"Running","startTime":"2021-05-25T06:34:27Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/bf861c30-d207-4735-b28f-e808bd0c899b","name":"bf861c30-d207-4735-b28f-e808bd0c899b","status":"Running","startTime":"2021-06-01T09:44:55Z","endTime":""}' headers: cache-control: - no-cache @@ -4888,7 +5992,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:38:10 GMT + - Tue, 01 Jun 2021 09:50:41 GMT expires: - '-1' pragma: @@ -4922,10 +6026,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/3604f57a-e231-4563-81e7-c318a2e14878?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/bf861c30-d207-4735-b28f-e808bd0c899b?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/3604f57a-e231-4563-81e7-c318a2e14878","name":"3604f57a-e231-4563-81e7-c318a2e14878","status":"Running","startTime":"2021-05-25T06:34:27Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/bf861c30-d207-4735-b28f-e808bd0c899b","name":"bf861c30-d207-4735-b28f-e808bd0c899b","status":"Running","startTime":"2021-06-01T09:44:55Z","endTime":""}' headers: cache-control: - no-cache @@ -4934,7 +6038,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:38:40 GMT + - Tue, 01 Jun 2021 09:51:11 GMT expires: - '-1' pragma: @@ -4968,10 +6072,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/3604f57a-e231-4563-81e7-c318a2e14878?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/bf861c30-d207-4735-b28f-e808bd0c899b?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/3604f57a-e231-4563-81e7-c318a2e14878","name":"3604f57a-e231-4563-81e7-c318a2e14878","status":"Running","startTime":"2021-05-25T06:34:27Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/bf861c30-d207-4735-b28f-e808bd0c899b","name":"bf861c30-d207-4735-b28f-e808bd0c899b","status":"Running","startTime":"2021-06-01T09:44:55Z","endTime":""}' headers: cache-control: - no-cache @@ -4980,7 +6084,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:39:11 GMT + - Tue, 01 Jun 2021 09:51:43 GMT expires: - '-1' pragma: @@ -5014,10 +6118,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/3604f57a-e231-4563-81e7-c318a2e14878?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/bf861c30-d207-4735-b28f-e808bd0c899b?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/3604f57a-e231-4563-81e7-c318a2e14878","name":"3604f57a-e231-4563-81e7-c318a2e14878","status":"Running","startTime":"2021-05-25T06:34:27Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/bf861c30-d207-4735-b28f-e808bd0c899b","name":"bf861c30-d207-4735-b28f-e808bd0c899b","status":"Running","startTime":"2021-06-01T09:44:55Z","endTime":""}' headers: cache-control: - no-cache @@ -5026,7 +6130,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:39:43 GMT + - Tue, 01 Jun 2021 09:52:13 GMT expires: - '-1' pragma: @@ -5060,10 +6164,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/3604f57a-e231-4563-81e7-c318a2e14878?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/bf861c30-d207-4735-b28f-e808bd0c899b?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/3604f57a-e231-4563-81e7-c318a2e14878","name":"3604f57a-e231-4563-81e7-c318a2e14878","status":"Running","startTime":"2021-05-25T06:34:27Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations//operationStatus/bf861c30-d207-4735-b28f-e808bd0c899b","name":"bf861c30-d207-4735-b28f-e808bd0c899b","status":"Running","startTime":"2021-06-01T09:44:55Z","endTime":""}' headers: cache-control: - no-cache @@ -5072,7 +6176,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:40:13 GMT + - Tue, 01 Jun 2021 09:52:43 GMT expires: - '-1' pragma: @@ -5106,10 +6210,10 @@ interactions: User-Agent: - AZURECLI/2.24.0 azsdk-python-storagepoolmanagement/unknown Python/3.8.3 (Windows-10-10.0.19041-SP0) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/3604f57a-e231-4563-81e7-c318a2e14878?api-version=2021-04-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.StoragePool/locations/eastus/operationsStatus/bf861c30-d207-4735-b28f-e808bd0c899b?api-version=2021-04-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/3604f57a-e231-4563-81e7-c318a2e14878","name":"3604f57a-e231-4563-81e7-c318a2e14878","status":"Succeeded","startTime":"2021-05-25T06:34:27Z","endTime":""}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus/operationStatus/bf861c30-d207-4735-b28f-e808bd0c899b","name":"bf861c30-d207-4735-b28f-e808bd0c899b","status":"Succeeded","startTime":"2021-06-01T09:44:55Z","endTime":""}' headers: cache-control: - no-cache @@ -5118,7 +6222,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:40:43 GMT + - Tue, 01 Jun 2021 09:53:14 GMT expires: - '-1' pragma: @@ -5164,7 +6268,7 @@ interactions: content-type: - application/json date: - - Tue, 25 May 2021 06:40:45 GMT + - Tue, 01 Jun 2021 09:53:16 GMT expires: - '-1' pragma: diff --git a/src/diskpool/azext_diskpool/vendored_sdks/storagepool/models/_models.py b/src/diskpool/azext_diskpool/vendored_sdks/storagepool/models/_models.py index 85a85678a8b..f6b154078c6 100644 --- a/src/diskpool/azext_diskpool/vendored_sdks/storagepool/models/_models.py +++ b/src/diskpool/azext_diskpool/vendored_sdks/storagepool/models/_models.py @@ -564,22 +564,28 @@ def __init__( class IscsiLun(msrest.serialization.Model): """LUN to expose the Azure Managed Disk. + 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. User defined name for iSCSI LUN; example: "lun0". :type name: str :param managed_disk_azure_resource_id: Required. Azure Resource ID of the Managed Disk. :type managed_disk_azure_resource_id: str + :ivar lun: Specifies the Logical Unit Number of the iSCSI LUN. + :vartype lun: int """ _validation = { 'name': {'required': True}, 'managed_disk_azure_resource_id': {'required': True}, + 'lun': {'readonly': True}, } _attribute_map = { 'name': {'key': 'name', 'type': 'str'}, 'managed_disk_azure_resource_id': {'key': 'managedDiskAzureResourceId', 'type': 'str'}, + 'lun': {'key': 'lun', 'type': 'int'}, } def __init__( @@ -589,6 +595,7 @@ def __init__( super(IscsiLun, self).__init__(**kwargs) self.name = kwargs['name'] self.managed_disk_azure_resource_id = kwargs['managed_disk_azure_resource_id'] + self.lun = None class IscsiTarget(Resource): diff --git a/src/diskpool/azext_diskpool/vendored_sdks/storagepool/models/_models_py3.py b/src/diskpool/azext_diskpool/vendored_sdks/storagepool/models/_models_py3.py index 31dd2d7795e..7c8c983c456 100644 --- a/src/diskpool/azext_diskpool/vendored_sdks/storagepool/models/_models_py3.py +++ b/src/diskpool/azext_diskpool/vendored_sdks/storagepool/models/_models_py3.py @@ -617,22 +617,28 @@ def __init__( class IscsiLun(msrest.serialization.Model): """LUN to expose the Azure Managed Disk. + 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. User defined name for iSCSI LUN; example: "lun0". :type name: str :param managed_disk_azure_resource_id: Required. Azure Resource ID of the Managed Disk. :type managed_disk_azure_resource_id: str + :ivar lun: Specifies the Logical Unit Number of the iSCSI LUN. + :vartype lun: int """ _validation = { 'name': {'required': True}, 'managed_disk_azure_resource_id': {'required': True}, + 'lun': {'readonly': True}, } _attribute_map = { 'name': {'key': 'name', 'type': 'str'}, 'managed_disk_azure_resource_id': {'key': 'managedDiskAzureResourceId', 'type': 'str'}, + 'lun': {'key': 'lun', 'type': 'int'}, } def __init__( @@ -645,6 +651,7 @@ def __init__( super(IscsiLun, self).__init__(**kwargs) self.name = name self.managed_disk_azure_resource_id = managed_disk_azure_resource_id + self.lun = None class IscsiTarget(Resource): diff --git a/src/diskpool/gen.zip b/src/diskpool/gen.zip index 523bb334ba926c6c781478455e186efb40c5afb4..5cc78ecaf40497964458f748eb6bae90ceaacb9f 100644 GIT binary patch literal 15090 zcmeGjO>f)C)%($+D-NhapZvtjHL4%3p% zBeTF`g2ZQxJUuu`AKT=ZvFs+kj0q1EOeDf@nHv)khA|n30xKcS9kN^eH=| za~=vp1CLyASl%fkeh7H@Sk2KzbX)=&!7}oQbz{7@IvqX*7RMx%ov{d~gua>yX1hMO zl_YrQBmp>1cK-wxx&jn<5zd6m9*J-k9SRmv!Gs=TN6D>B@jmAwo>Bi9i!VZPUV&zp zbQ<~0kui(15qRUcg284aNSndrS$MG$$mcS4f9}nk%h{^V@nr=j;%rLn= zgOx17RRw6ohG*TSlI@c8^w;JEtnss1R}q!hl)qJTE*#_R&49RP%srQ*7Yan}49vk+ zPy1aur`)Hf+~@J)k72;%i=CI<0qNd_UpP-kf+^rJpR>`|)R$~qZ(kLSoSgKabyF<| zXy(B+l7@N6A?z=m`SE&-2zSc3u)erE z2xkDvWC~Azawd8{3nrj-?r--7o#Pz{p!?4rrSn1bj)-fheeJ>o@FW!Ljr_L(+hmOMo9y?B7GJiZEU%)Yt z@aK#33;Zu}6Y)^WS;R!&gnIx^ra#`cGgMV1nPNaVTVu8pIk?JRB9UIjjq2?x+%`rY zl~;Z3mEfpr@P_d(UaLvueh*;p74CAU4-vtef@091#RoYwl2`Qa8w1!rsu~C4*D=2w z^&mn<^_J#Moav%8sP|&`tCs_E&K9Gdn1E@97#N1fOgM-}J=6=oZw`Q0QJaJ3SR^tJ zfJo}AIune%os_yJgi?Z2&J#MREG06NMH9%jvR|)-3IMYGDTPG+EUd}irvVgfZ|AU- zfcosKUwr=8Uv6#TXRsmxRf@!K^G+X9-YH3HWN~;Q-c=#-A09kCeDZLY4AbaF4x?E- z+*5fU0-E#pDuF`qH9<953r&{>n9m@5Otd0o+jP_kxi*5&bxf^Jfr>^U$ba!tNj9Dz z+nsv-9(_gd>|02gXjh8#GU>;$q-R-v=&C#->0ZFdnd};1ib1XQ3Zq&KXbpf!58iDo zV%-a;z)?0-c!%?;r4-zLbrm$G$YW>c9h{SqPdco&xVJ%Gm7{wV$5;6T*~^Bw-msUD zZ6wMNbbm`Fcb(_J-Iy~m()T7-$8;i^tR@DYnw=>@Z=zfrA#B;Fa8Jb{#g z<_Tts$T4QSYdJ;4KyO*W zss!i{$d^J=p&?Y^$9u;IL}w_?eB$*I?OW!WqG;*#Tyq?Qx=DpPDn?lCVnVjqnqv1t zmMk`Gj6Vxx;snFL-~dAb7V4{>rKqV!1S=C)?u}kE@~QgihT2_2B(y>eVIAFqRQ9TT zwqfa+MJNc(waKH;*8k?ddTFQIJMNpDq1mJtD9B;zzOQ*!Zor){@vp(RU-z866**|h z<%(mBp5jqb>n5smr-h0_C;lcC6w)&sr*+xB&Z%m_&5|d&rr_R)XIc{7MmKd`F18ll z_gm3}UlDWH0+R+EXi#I}G!6yo{ZT_56G{Uth|!!y5m+-^{iv%gT-6p?xq)k;;9H2I zE>3~JiXBm8O<8QJY;DwgEy<#$NUX&M4s~mBeDl-45AG1AQLuFf8J+SQpD)Qp-w1z~ zu{2{*x_~$KIWmzf*Le2+`S942-Wu2q9b)XNa4wQEtJ06?Ic&cof^cp*ucFy{Kk9jch*>g;OAF;@%ZrW5_>shXM z89xh81RamLd&Hpq+5=4GPUAWX!Jyp}S_(ZDG3YE0+(p_k3NEVS&8E|Z1DYO6#=2VH zP{wU0JRpVzB_*kPMZa8H!c0l3#tOyWu9$Qyd3=P#I&gOmoi}wPs1eedb~mYM+h$M! zZR+7vm9HJ$bT+#8YXiz!uYs8}wQhsLRG^YwBbJw*Rcipu)p6rXD9x3&qtH#DI|$eU zK!5?+($(WS?*OX)uso|$SJ%1cp^?CETYt?#(No?2AkWa20*xf#@&qnRJ3N5F z8YZ1#E^*MtjQA^i<3j_k69)dmVVBH>5~CiTY#FrbPQA(q)t6wT{vzGRmkG}^W(#PT z76G|R0e00?u5-Q$Hiee$H{fe(N~=!VJI&WrA04aa;#AA^-<}@Q4bQ%lh@|Q|Y0x%x z0U9k+S-OxbTkEYQ@b&Z8QhAlx_=74f1Eb+g7@lTFYQ*-~v4JGS~6-n-jfq7b#}Rm^KvOxVk&^_pP^Krgl)UOyD@tq?TZcquF& ziat&DE>o+CX@dPrd62Xu)b@09o0U>3*|64oW!mc3*{s9IAAS7!R`ZuKArvZHuk{tp zDv4^_U5@`x@J-NVB&tn#Rm|03FUQQFzb_5_ila=SUq0&3FlyO+ihqbh;u@gf z=O3cr<{#?kVx^$(l3AP`ke{DZtY1)CqVHUknpl!rQBlFApr9~WfK7UHCqEOj;AQ8X zK@De4MNgJwU;tqqpt16k9jpX4pBA!bnmkz{WOI_JI1@*8acNRsYDw|r1(Kqhr-=73 z0;NJHS4tiQDVaP?Y6h5YlU@O#Wx7E0<_uW@kQrfu%|$x8ynLtuGI_0K xr~-y(z##`C>ewgmx0D0=O@Command `az disk-pool list` @@ -58,7 +59,6 @@ az disk-pool list ##### Parameters |Option|Type|Description|Path (SDK)|Swagger name| |------|----|-----------|----------|------------| - #### Command `az disk-pool show` ##### Example diff --git a/src/diskpool/setup.py b/src/diskpool/setup.py index d63937f7c2e..8bfa1256ec9 100644 --- a/src/diskpool/setup.py +++ b/src/diskpool/setup.py @@ -10,7 +10,7 @@ from setuptools import setup, find_packages # HISTORY.rst entry. -VERSION = '0.1.0' +VERSION = '0.1.1' try: from azext_diskpool.manual.version import VERSION except ImportError: From 1e0105c434d4af6bce69fb3d2bd242806f83a0bb Mon Sep 17 00:00:00 2001 From: Azure CLI Bot Date: Wed, 2 Jun 2021 11:07:21 +0800 Subject: [PATCH 72/83] [Release] Update index.json for extension [ diskpool ] (#3452) Triggered by Azure CLI Extensions Release Pipeline - ADO_BUILD_ID=922949 Last commit: https://github.com/Azure/azure-cli-extensions/commit/f3e9c169acad20e4b57d2359618b0d3e46c215cc --- src/index.json | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/src/index.json b/src/index.json index c1cb3393f87..577906f1697 100644 --- a/src/index.json +++ b/src/index.json @@ -9106,6 +9106,49 @@ "version": "0.1.0" }, "sha256Digest": "2afc595664b0fc616e62f8de28cebbca72d8f27dff02a8ed8cfff58dd62d571f" + }, + { + "downloadUrl": "https://azcliprod.blob.core.windows.net/cli-extensions/diskpool-0.1.1-py3-none-any.whl", + "filename": "diskpool-0.1.1-py3-none-any.whl", + "metadata": { + "azext.isExperimental": true, + "azext.minCliCoreVersion": "2.15.0", + "classifiers": [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: System Administrators", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: MIT License" + ], + "extensions": { + "python.details": { + "contacts": [ + { + "email": "azpycli@microsoft.com", + "name": "Microsoft Corporation", + "role": "author" + } + ], + "document_names": { + "description": "DESCRIPTION.rst" + }, + "project_urls": { + "Home": "https://github.com/Azure/azure-cli-extensions/tree/master/src/diskpool" + } + } + }, + "generator": "bdist_wheel (0.30.0)", + "license": "MIT", + "metadata_version": "2.0", + "name": "diskpool", + "summary": "Microsoft Azure Command-Line Tools StoragePoolManagement Extension", + "version": "0.1.1" + }, + "sha256Digest": "d65e6f09c39461b78f052eec22eaf239b1d988aa63f3927470b74d28d0b2f95b" } ], "dms-preview": [ From dcd69291431ceb9b762d6a6ae5103cb529d3006e Mon Sep 17 00:00:00 2001 From: Super Date: Wed, 2 Jun 2021 16:08:03 +0800 Subject: [PATCH 73/83] vendor 2021-05-01 sdk (#3453) Co-authored-by: Li Ma --- src/aks-preview/HISTORY.md | 4 + src/aks-preview/azext_aks_preview/__init__.py | 2 +- src/aks-preview/azext_aks_preview/_helpers.py | 2 +- .../azext_aks_preview/_loadbalancer.py | 10 +- .../azext_aks_preview/_validators.py | 2 +- src/aks-preview/azext_aks_preview/custom.py | 2 +- ...ks_byo_appgw_with_ingress_appgw_addon.yaml | 4 +- ...s_byo_subnet_with_ingress_appgw_addon.yaml | 4 +- ...tsecretsprovider_with_secret_rotation.yaml | 4 +- ...te_with_managed_aad_enable_azure_rbac.yaml | 16 +- .../test_aks_create_fqdn_subdomain.yaml | 4 +- ...test_aks_create_none_private_dns_zone.yaml | 4 +- ...ng_azurecni_with_pod_identity_enabled.yaml | 34 +- .../recordings/test_aks_create_with_ahub.yaml | 20 +- ..._aks_create_with_auto_upgrade_channel.yaml | 10 +- ...th_azurekeyvaultsecretsprovider_addon.yaml | 4 +- .../test_aks_create_with_confcom_addon.yaml | 4 +- ...ate_with_confcom_addon_helper_enabled.yaml | 4 +- .../test_aks_create_with_ephemeral_disk.yaml | 4 +- .../recordings/test_aks_create_with_fips.yaml | 10 +- ...t_aks_create_with_ingress_appgw_addon.yaml | 4 +- ...gw_addon_with_deprecated_subet_prefix.yaml | 4 +- .../test_aks_create_with_managed_disk.yaml | 4 +- .../test_aks_create_with_node_config.yaml | 12 +- ...aks_create_with_openservicemesh_addon.yaml | 4 +- .../test_aks_create_with_ossku.yaml | 4 +- ..._aks_create_with_pod_identity_enabled.yaml | 34 +- ...st_aks_create_with_virtual_node_addon.yaml | 4 +- .../test_aks_create_with_windows.yaml | 20 +- .../test_aks_custom_kubelet_identity.yaml | 8 +- ...est_aks_disable_addon_openservicemesh.yaml | 10 +- ...test_aks_disable_addons_confcom_addon.yaml | 10 +- .../test_aks_disable_local_accounts.yaml | 12 +- ...don_with_azurekeyvaultsecretsprovider.yaml | 22 +- ...aks_enable_addon_with_openservicemesh.yaml | 10 +- .../test_aks_enable_addons_confcom_addon.yaml | 10 +- .../test_aks_nodepool_add_with_ossku.yaml | 10 +- .../test_aks_nodepool_get_upgrades.yaml | 190 +- .../test_aks_pod_identity_usage.yaml | 26 +- .../recordings/test_aks_run_command.yaml | 16 +- ...tsecretsprovider_with_secret_rotation.yaml | 16 +- ...test_aks_update_with_windows_password.yaml | 20 +- ...t_aks_upgrade_node_image_only_cluster.yaml | 10 +- ..._aks_upgrade_node_image_only_nodepool.yaml | 8 +- .../tests/latest/test_aks_commands.py | 2 +- .../container_service_client.py | 19 + .../azure_mgmt_preview_aks/models.py | 3 +- .../v2021_05_01/__init__.py | 19 + .../v2021_05_01/_configuration.py | 50 + .../v2021_05_01/_container_service_client.py | 81 + .../v2021_05_01/models/__init__.py | 299 ++ .../models/_container_service_client_enums.py | 378 ++ .../v2021_05_01/models/_models.py | 3300 +++++++++++++++++ .../v2021_05_01/models/_models_py3.py | 3300 +++++++++++++++++ .../v2021_05_01/models/_paged_models.py | 79 + .../v2021_05_01/operations/__init__.py | 28 + .../operations/_agent_pools_operations.py | 610 +++ .../_maintenance_configurations_operations.py | 387 ++ .../_managed_clusters_operations.py | 1616 ++++++++ .../v2021_05_01/operations/_operations.py | 102 + ...private_endpoint_connections_operations.py | 348 ++ .../_private_link_resources_operations.py | 106 + ...olve_private_link_service_id_operations.py | 112 + .../v2021_05_01/version.py | 13 + src/aks-preview/setup.py | 2 +- 65 files changed, 11162 insertions(+), 308 deletions(-) create mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/__init__.py create mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/_configuration.py create mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/_container_service_client.py create mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/models/__init__.py create mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/models/_container_service_client_enums.py create mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/models/_models.py create mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/models/_models_py3.py create mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/models/_paged_models.py create mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/__init__.py create mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_agent_pools_operations.py create mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_maintenance_configurations_operations.py create mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_managed_clusters_operations.py create mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_operations.py create mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_private_endpoint_connections_operations.py create mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_private_link_resources_operations.py create mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_resolve_private_link_service_id_operations.py create mode 100644 src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/version.py diff --git a/src/aks-preview/HISTORY.md b/src/aks-preview/HISTORY.md index 876af37b71c..27bdb57a9a0 100644 --- a/src/aks-preview/HISTORY.md +++ b/src/aks-preview/HISTORY.md @@ -3,6 +3,10 @@ Release History =============== +0.5.15 ++++++ +* Update to use 2021-05-01 api-version + 0.5.14 +++++ * Add os-sku argument for cluster and nodepool creation diff --git a/src/aks-preview/azext_aks_preview/__init__.py b/src/aks-preview/azext_aks_preview/__init__.py index b646b5a6113..1f8e4dffc7a 100644 --- a/src/aks-preview/azext_aks_preview/__init__.py +++ b/src/aks-preview/azext_aks_preview/__init__.py @@ -16,7 +16,7 @@ class ContainerServiceCommandsLoader(AzCommandsLoader): def __init__(self, cli_ctx=None): from azure.cli.core.commands import CliCommandType - register_resource_type('latest', CUSTOM_MGMT_AKS_PREVIEW, '2021-03-01') + register_resource_type('latest', CUSTOM_MGMT_AKS_PREVIEW, '2021-05-01') acs_custom = CliCommandType(operations_tmpl='azext_aks_preview.custom#{}') super(ContainerServiceCommandsLoader, self).__init__(cli_ctx=cli_ctx, diff --git a/src/aks-preview/azext_aks_preview/_helpers.py b/src/aks-preview/azext_aks_preview/_helpers.py index 38d6ebd9c76..015ea80c929 100644 --- a/src/aks-preview/azext_aks_preview/_helpers.py +++ b/src/aks-preview/azext_aks_preview/_helpers.py @@ -8,7 +8,7 @@ from knack.util import CLIError # pylint: disable=no-name-in-module,import-error -from .vendored_sdks.azure_mgmt_preview_aks.v2021_03_01.models import ManagedClusterAPIServerAccessProfile +from .vendored_sdks.azure_mgmt_preview_aks.v2021_05_01.models import ManagedClusterAPIServerAccessProfile from ._consts import CONST_CONTAINER_NAME_MAX_LENGTH from ._consts import CONST_OUTBOUND_TYPE_LOAD_BALANCER, CONST_OUTBOUND_TYPE_USER_DEFINED_ROUTING diff --git a/src/aks-preview/azext_aks_preview/_loadbalancer.py b/src/aks-preview/azext_aks_preview/_loadbalancer.py index 430ba7aff5f..51fd014e6f2 100644 --- a/src/aks-preview/azext_aks_preview/_loadbalancer.py +++ b/src/aks-preview/azext_aks_preview/_loadbalancer.py @@ -6,11 +6,11 @@ from distutils.version import StrictVersion # pylint: disable=no-name-in-module,import-error from knack.log import get_logger -from .vendored_sdks.azure_mgmt_preview_aks.v2021_03_01.models import ManagedClusterLoadBalancerProfile -from .vendored_sdks.azure_mgmt_preview_aks.v2021_03_01.models import ManagedClusterLoadBalancerProfileManagedOutboundIPs -from .vendored_sdks.azure_mgmt_preview_aks.v2021_03_01.models import ManagedClusterLoadBalancerProfileOutboundIPPrefixes -from .vendored_sdks.azure_mgmt_preview_aks.v2021_03_01.models import ManagedClusterLoadBalancerProfileOutboundIPs -from .vendored_sdks.azure_mgmt_preview_aks.v2021_03_01.models import ResourceReference +from .vendored_sdks.azure_mgmt_preview_aks.v2021_05_01.models import ManagedClusterLoadBalancerProfile +from .vendored_sdks.azure_mgmt_preview_aks.v2021_05_01.models import ManagedClusterLoadBalancerProfileManagedOutboundIPs +from .vendored_sdks.azure_mgmt_preview_aks.v2021_05_01.models import ManagedClusterLoadBalancerProfileOutboundIPPrefixes +from .vendored_sdks.azure_mgmt_preview_aks.v2021_05_01.models import ManagedClusterLoadBalancerProfileOutboundIPs +from .vendored_sdks.azure_mgmt_preview_aks.v2021_05_01.models import ResourceReference logger = get_logger(__name__) diff --git a/src/aks-preview/azext_aks_preview/_validators.py b/src/aks-preview/azext_aks_preview/_validators.py index 0aaeae27bd0..1d1fe076283 100644 --- a/src/aks-preview/azext_aks_preview/_validators.py +++ b/src/aks-preview/azext_aks_preview/_validators.py @@ -16,7 +16,7 @@ from azure.cli.core.util import CLIError import azure.cli.core.keys as keys -from .vendored_sdks.azure_mgmt_preview_aks.v2021_03_01.models import ManagedClusterPropertiesAutoScalerProfile +from .vendored_sdks.azure_mgmt_preview_aks.v2021_05_01.models import ManagedClusterPropertiesAutoScalerProfile from ._helpers import (_fuzzy_match) diff --git a/src/aks-preview/azext_aks_preview/custom.py b/src/aks-preview/azext_aks_preview/custom.py index 5b48084279e..64aff0b8467 100644 --- a/src/aks-preview/azext_aks_preview/custom.py +++ b/src/aks-preview/azext_aks_preview/custom.py @@ -53,7 +53,7 @@ KeyCredential, ServicePrincipalCreateParameters, GetObjectsParameters) -from .vendored_sdks.azure_mgmt_preview_aks.v2021_03_01.models import (ContainerServiceLinuxProfile, +from .vendored_sdks.azure_mgmt_preview_aks.v2021_05_01.models import (ContainerServiceLinuxProfile, ManagedClusterWindowsProfile, ContainerServiceNetworkProfile, ManagedClusterServicePrincipalProfile, diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_byo_appgw_with_ingress_appgw_addon.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_byo_appgw_with_ingress_appgw_addon.yaml index c96e6c5316c..ba2018239c1 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_byo_appgw_with_ingress_appgw_addon.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_byo_appgw_with_ingress_appgw_addon.yaml @@ -3465,7 +3465,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ @@ -3898,7 +3898,7 @@ interactions: msrest/0.6.18 msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.16.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_byo_subnet_with_ingress_appgw_addon.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_byo_subnet_with_ingress_appgw_addon.yaml index baad67d29e4..4018b0c75a9 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_byo_subnet_with_ingress_appgw_addon.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_byo_subnet_with_ingress_appgw_addon.yaml @@ -2498,7 +2498,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ @@ -2881,7 +2881,7 @@ interactions: msrest/0.6.18 msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.16.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_addon_with_azurekeyvaultsecretsprovider_with_secret_rotation.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_addon_with_azurekeyvaultsecretsprovider_with_secret_rotation.yaml index 8c8c4d73717..49847dba6ae 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_addon_with_azurekeyvaultsecretsprovider_with_secret_rotation.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_addon_with_azurekeyvaultsecretsprovider_with_secret_rotation.yaml @@ -77,7 +77,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -500,7 +500,7 @@ interactions: msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_and_update_with_managed_aad_enable_azure_rbac.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_and_update_with_managed_aad_enable_azure_rbac.yaml index 1b8d38af0a0..d97cece899f 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_and_update_with_managed_aad_enable_azure_rbac.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_and_update_with_managed_aad_enable_azure_rbac.yaml @@ -81,7 +81,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -455,7 +455,7 @@ interactions: - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -538,7 +538,7 @@ interactions: accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -645,7 +645,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -827,7 +827,7 @@ interactions: - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -910,7 +910,7 @@ interactions: accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -1017,7 +1017,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -1247,7 +1247,7 @@ interactions: - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_fqdn_subdomain.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_fqdn_subdomain.yaml index 028f98b1531..4a4dbbef9d2 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_fqdn_subdomain.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_fqdn_subdomain.yaml @@ -441,7 +441,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\"\ @@ -1029,7 +1029,7 @@ interactions: - python/3.6.10 (Linux-4.9.125-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.16.0 (DOCKER) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\"\ diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_none_private_dns_zone.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_none_private_dns_zone.yaml index 90c6e7edc7e..bc85304fff1 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_none_private_dns_zone.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_none_private_dns_zone.yaml @@ -79,7 +79,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\",\n @@ -662,7 +662,7 @@ interactions: msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\",\n diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_using_azurecni_with_pod_identity_enabled.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_using_azurecni_with_pod_identity_enabled.yaml index b87c193e318..1a29dfdb293 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_using_azurecni_with_pod_identity_enabled.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_using_azurecni_with_pod_identity_enabled.yaml @@ -77,7 +77,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -458,7 +458,7 @@ interactions: msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -542,7 +542,7 @@ interactions: accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -649,7 +649,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -834,7 +834,7 @@ interactions: msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -918,7 +918,7 @@ interactions: accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -1026,7 +1026,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -1211,7 +1211,7 @@ interactions: msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -1295,7 +1295,7 @@ interactions: accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -1403,7 +1403,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -1590,7 +1590,7 @@ interactions: msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -1676,7 +1676,7 @@ interactions: accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -1786,7 +1786,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -1974,7 +1974,7 @@ interactions: msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -2061,7 +2061,7 @@ interactions: accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -2171,7 +2171,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -2405,7 +2405,7 @@ interactions: msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_ahub.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_ahub.yaml index 1fd4f48d1d4..377ec38136c 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_ahub.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_ahub.yaml @@ -79,7 +79,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\",\n @@ -465,7 +465,7 @@ interactions: msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\",\n @@ -547,7 +547,7 @@ interactions: accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools?api-version=2021-05-01 response: body: string: "{\n \"value\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/nodepool1\",\n @@ -614,7 +614,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin\",\n @@ -1358,7 +1358,7 @@ interactions: msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin\",\n @@ -1417,7 +1417,7 @@ interactions: accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\",\n @@ -1534,7 +1534,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\",\n @@ -3097,7 +3097,7 @@ interactions: msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\",\n @@ -3187,7 +3187,7 @@ interactions: accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools?api-version=2021-05-01 response: body: string: "{\n \"value\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/nodepool1\",\n @@ -3259,7 +3259,7 @@ interactions: accept-language: - en-US method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin?api-version=2021-05-01 response: body: string: '' diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_auto_upgrade_channel.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_auto_upgrade_channel.yaml index 43340d1448b..815afcb4288 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_auto_upgrade_channel.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_auto_upgrade_channel.yaml @@ -78,7 +78,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -458,7 +458,7 @@ interactions: msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -542,7 +542,7 @@ interactions: accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -648,7 +648,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -833,7 +833,7 @@ interactions: msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_azurekeyvaultsecretsprovider_addon.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_azurekeyvaultsecretsprovider_addon.yaml index 1b4f58c62a8..37cba1bb4b1 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_azurekeyvaultsecretsprovider_addon.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_azurekeyvaultsecretsprovider_addon.yaml @@ -77,7 +77,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -451,7 +451,7 @@ interactions: msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_confcom_addon.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_confcom_addon.yaml index 2a4fa0e7956..213ec7c0ef1 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_confcom_addon.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_confcom_addon.yaml @@ -77,7 +77,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ @@ -494,7 +494,7 @@ interactions: - python/3.6.10 (Linux-4.19.121-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 (DOCKER) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_confcom_addon_helper_enabled.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_confcom_addon_helper_enabled.yaml index 5f605fb067f..1e373095808 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_confcom_addon_helper_enabled.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_confcom_addon_helper_enabled.yaml @@ -79,7 +79,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ @@ -602,7 +602,7 @@ interactions: - python/3.6.10 (Linux-4.19.121-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 (DOCKER) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_ephemeral_disk.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_ephemeral_disk.yaml index 7ce42a89e7f..f7ac350444d 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_ephemeral_disk.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_ephemeral_disk.yaml @@ -81,7 +81,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ @@ -451,7 +451,7 @@ interactions: - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_fips.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_fips.yaml index 1f3daec182d..d2d7f508fb1 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_fips.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_fips.yaml @@ -76,7 +76,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\"\ @@ -491,7 +491,7 @@ interactions: - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\"\ @@ -577,7 +577,7 @@ interactions: accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools?api-version=2021-05-01 response: body: string: "{\n \"value\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/nodepool1\"\ @@ -643,7 +643,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/np2?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/np2?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/np2\"\ @@ -1085,7 +1085,7 @@ interactions: - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/np2?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/np2?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/np2\"\ diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_ingress_appgw_addon.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_ingress_appgw_addon.yaml index 091736b349a..fffc26d4ab1 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_ingress_appgw_addon.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_ingress_appgw_addon.yaml @@ -83,7 +83,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ @@ -466,7 +466,7 @@ interactions: msrest/0.6.18 msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.16.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_ingress_appgw_addon_with_deprecated_subet_prefix.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_ingress_appgw_addon_with_deprecated_subet_prefix.yaml index 1a9010cd7aa..1e0f9658745 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_ingress_appgw_addon_with_deprecated_subet_prefix.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_ingress_appgw_addon_with_deprecated_subet_prefix.yaml @@ -80,7 +80,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ @@ -504,7 +504,7 @@ interactions: - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_managed_disk.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_managed_disk.yaml index a076f7e2f18..6c2c1c54a3c 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_managed_disk.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_managed_disk.yaml @@ -313,7 +313,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ @@ -676,7 +676,7 @@ interactions: - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_node_config.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_node_config.yaml index 38671c6b91b..905e4433368 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_node_config.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_node_config.yaml @@ -326,7 +326,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"code\": \"ServicePrincipalNotFound\",\n \"message\": \"Service\ @@ -400,7 +400,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ @@ -779,7 +779,7 @@ interactions: - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ @@ -867,7 +867,7 @@ interactions: accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools?api-version=2021-05-01 response: body: string: "{\n \"value\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/nodepool1\"\ @@ -949,7 +949,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/nodepool2?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/nodepool2?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/nodepool2\"\ @@ -1848,7 +1848,7 @@ interactions: - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/nodepool2?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/nodepool2?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/nodepool2\"\ diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_openservicemesh_addon.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_openservicemesh_addon.yaml index fee4b8be092..9bb11c961aa 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_openservicemesh_addon.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_openservicemesh_addon.yaml @@ -78,7 +78,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ @@ -636,7 +636,7 @@ interactions: - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_ossku.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_ossku.yaml index b483501cb05..f5c0581d6ca 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_ossku.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_ossku.yaml @@ -77,7 +77,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -1283,7 +1283,7 @@ interactions: msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0.post20210514155800 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_pod_identity_enabled.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_pod_identity_enabled.yaml index e15bc2f306f..71f53a300fb 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_pod_identity_enabled.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_pod_identity_enabled.yaml @@ -79,7 +79,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -509,7 +509,7 @@ interactions: msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -593,7 +593,7 @@ interactions: accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -699,7 +699,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -884,7 +884,7 @@ interactions: msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -968,7 +968,7 @@ interactions: accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -1075,7 +1075,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -1407,7 +1407,7 @@ interactions: msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -1491,7 +1491,7 @@ interactions: accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -1598,7 +1598,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -1786,7 +1786,7 @@ interactions: msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -1873,7 +1873,7 @@ interactions: accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -1983,7 +1983,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -2171,7 +2171,7 @@ interactions: msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -2258,7 +2258,7 @@ interactions: accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -2367,7 +2367,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -2552,7 +2552,7 @@ interactions: msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_virtual_node_addon.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_virtual_node_addon.yaml index 9107af58ed6..8f6d689914c 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_virtual_node_addon.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_virtual_node_addon.yaml @@ -820,7 +820,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -1241,7 +1241,7 @@ interactions: - python/3.8.3 (Windows-10-10.0.19041-SP0) msrest/0.6.19 msrest_azure/0.6.4 azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.16.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_windows.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_windows.yaml index c912ab5e4e5..2de801fa599 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_windows.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_with_windows.yaml @@ -79,7 +79,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\",\n @@ -465,7 +465,7 @@ interactions: msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\",\n @@ -547,7 +547,7 @@ interactions: accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools?api-version=2021-05-01 response: body: string: "{\n \"value\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/nodepool1\",\n @@ -614,7 +614,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin\",\n @@ -1358,7 +1358,7 @@ interactions: msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin\",\n @@ -1417,7 +1417,7 @@ interactions: accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\",\n @@ -1534,7 +1534,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\",\n @@ -2852,7 +2852,7 @@ interactions: msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\",\n @@ -2942,7 +2942,7 @@ interactions: accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools?api-version=2021-05-01 response: body: string: "{\n \"value\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/nodepool1\",\n @@ -3014,7 +3014,7 @@ interactions: accept-language: - en-US method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin?api-version=2021-05-01 response: body: string: '' diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_custom_kubelet_identity.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_custom_kubelet_identity.yaml index a51f5b83ad6..e0772a8585f 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_custom_kubelet_identity.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_custom_kubelet_identity.yaml @@ -360,7 +360,7 @@ interactions: uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000004/providers/Microsoft.Authorization/roleAssignments?$filter=atScope%28%29&api-version=2020-04-01-preview response: body: - string: '{"value":[{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/","condition":null,"conditionVersion":null,"createdOn":"2018-02-27T19:19:50.2663941Z","updatedOn":"2018-02-27T19:19:50.2663941Z","createdBy":null,"updatedBy":null,"delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Authorization/roleAssignments/3e883d24-b106-42ff-ad13-d7bf271b964d","type":"Microsoft.Authorization/roleAssignments","name":"3e883d24-b106-42ff-ad13-d7bf271b964d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-07-18T02:26:14.1665946Z","updatedOn":"2020-07-18T02:26:14.1665946Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/cfd7632d-7c5a-4531-82ce-890df8b4be96","type":"Microsoft.Authorization/roleAssignments","name":"cfd7632d-7c5a-4531-82ce-890df8b4be96"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-07-24T20:02:31.6333946Z","updatedOn":"2020-07-24T20:02:31.6333946Z","createdBy":"53bb8815-874d-4b05-9953-1158e05aa080","updatedBy":"53bb8815-874d-4b05-9953-1158e05aa080","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/fe8f6b65-9c14-4f43-bfe0-9c4e0778be5d","type":"Microsoft.Authorization/roleAssignments","name":"fe8f6b65-9c14-4f43-bfe0-9c4e0778be5d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4abbcc35-e782-43d8-92c5-2d3f1bd2253f","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-08-03T15:06:36.3777307Z","updatedOn":"2020-08-03T15:06:36.3777307Z","createdBy":"a5cae52f-366a-417b-b718-e73d17746c35","updatedBy":"a5cae52f-366a-417b-b718-e73d17746c35","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/71b88381-621b-464e-b17a-6cd9433ad5a3","type":"Microsoft.Authorization/roleAssignments","name":"71b88381-621b-464e-b17a-6cd9433ad5a3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-08-21T16:23:57.9905009Z","updatedOn":"2020-08-21T16:23:57.9905009Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/17d7954a-d32a-4181-b887-1de9a8a0c05a","type":"Microsoft.Authorization/roleAssignments","name":"17d7954a-d32a-4181-b887-1de9a8a0c05a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-08-21T16:23:58.0549229Z","updatedOn":"2020-08-21T16:23:58.0549229Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/9a853af7-252b-4315-9ee3-0b243e595f80","type":"Microsoft.Authorization/roleAssignments","name":"9a853af7-252b-4315-9ee3-0b243e595f80"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"Group","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-08-21T16:23:58.6582166Z","updatedOn":"2020-08-21T16:23:58.6582166Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/8ab72fbd-e5fe-4a7d-ae20-baad615d688d","type":"Microsoft.Authorization/roleAssignments","name":"8ab72fbd-e5fe-4a7d-ae20-baad615d688d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-08-21T16:23:59.5326945Z","updatedOn":"2020-08-21T16:23:59.5326945Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4ed77f1d-82a2-4a02-b48e-fa5776870280","type":"Microsoft.Authorization/roleAssignments","name":"4ed77f1d-82a2-4a02-b48e-fa5776870280"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-09-01T06:59:31.4619017Z","updatedOn":"2020-09-01T06:59:31.4619017Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/3c8813ac-e50e-4868-9e41-910258f3c33a","type":"Microsoft.Authorization/roleAssignments","name":"3c8813ac-e50e-4868-9e41-910258f3c33a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-09-02T01:52:45.8299382Z","updatedOn":"2020-09-02T01:52:45.8299382Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/3e21284b-6bd7-431a-81ae-ccaf56267ab5","type":"Microsoft.Authorization/roleAssignments","name":"3e21284b-6bd7-431a-81ae-ccaf56267ab5"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-09-07T09:44:47.3865537Z","updatedOn":"2020-09-07T09:44:47.3865537Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/79357f85-973d-4621-b1bd-d1ecb645e146","type":"Microsoft.Authorization/roleAssignments","name":"79357f85-973d-4621-b1bd-d1ecb645e146"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-09-15T09:02:04.9171272Z","updatedOn":"2020-09-15T09:02:04.9171272Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/3a2ff825-a078-475d-aa68-80640a14daa2","type":"Microsoft.Authorization/roleAssignments","name":"3a2ff825-a078-475d-aa68-80640a14daa2"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-09-23T13:13:35.8201314Z","updatedOn":"2020-09-23T13:13:35.8201314Z","createdBy":"a5cae52f-366a-417b-b718-e73d17746c35","updatedBy":"a5cae52f-366a-417b-b718-e73d17746c35","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d2ac0456-208f-4492-aecf-24bbcf14f246","type":"Microsoft.Authorization/roleAssignments","name":"d2ac0456-208f-4492-aecf-24bbcf14f246"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-09-24T00:04:10.5243862Z","updatedOn":"2020-09-24T00:04:10.5243862Z","createdBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","updatedBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/78586b2c-fdf9-11ea-9e5e-8851fb3f4911","type":"Microsoft.Authorization/roleAssignments","name":"78586b2c-fdf9-11ea-9e5e-8851fb3f4911"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-09-28T21:00:48.4819948Z","updatedOn":"2020-09-28T21:00:48.4819948Z","createdBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","updatedBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c3f148f0-1373-48ba-ba19-cd15cd8bf7a6","type":"Microsoft.Authorization/roleAssignments","name":"c3f148f0-1373-48ba-ba19-cd15cd8bf7a6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-09-29T10:55:39.3762731Z","updatedOn":"2020-09-29T10:55:39.3762731Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/41e159ac-411a-4eed-b319-5b92571d2950","type":"Microsoft.Authorization/roleAssignments","name":"41e159ac-411a-4eed-b319-5b92571d2950"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-09-30T10:01:31.6109834Z","updatedOn":"2020-09-30T10:01:31.6109834Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/728fd3ed-0a93-4cad-96b6-ca2b85b98308","type":"Microsoft.Authorization/roleAssignments","name":"728fd3ed-0a93-4cad-96b6-ca2b85b98308"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-05T23:00:10.5454113Z","updatedOn":"2020-10-05T23:00:10.5454113Z","createdBy":"9404195a-2cde-4a10-b88c-e7b41572bf31","updatedBy":"9404195a-2cde-4a10-b88c-e7b41572bf31","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f1bf27f9-8b8f-46f0-8b54-3d0b5a10455d","type":"Microsoft.Authorization/roleAssignments","name":"f1bf27f9-8b8f-46f0-8b54-3d0b5a10455d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-06T00:33:22.8792900Z","updatedOn":"2020-10-06T00:33:22.8792900Z","createdBy":"e29d79eb-7dfc-4583-b360-d45d39625c97","updatedBy":"e29d79eb-7dfc-4583-b360-d45d39625c97","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/24d0c5e6-0763-11eb-82a0-d636039e345c","type":"Microsoft.Authorization/roleAssignments","name":"24d0c5e6-0763-11eb-82a0-d636039e345c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-06T07:31:31.4976753Z","updatedOn":"2020-10-06T07:31:31.4976753Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/8166f5c5-5401-43da-8e43-553f34ba5c1f","type":"Microsoft.Authorization/roleAssignments","name":"8166f5c5-5401-43da-8e43-553f34ba5c1f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-08T00:00:18.1887050Z","updatedOn":"2020-10-08T00:00:18.1887050Z","createdBy":"09914860-7ec9-4151-8431-31797899a359","updatedBy":"09914860-7ec9-4151-8431-31797899a359","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/1e5c915f-e276-400d-a6f0-9b8f202aee98","type":"Microsoft.Authorization/roleAssignments","name":"1e5c915f-e276-400d-a6f0-9b8f202aee98"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-12T23:56:24.2246134Z","updatedOn":"2020-10-12T23:56:24.2246134Z","createdBy":"8ff738a5-abcd-4864-a162-6c18f7c9cbd9","updatedBy":"8ff738a5-abcd-4864-a162-6c18f7c9cbd9","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/dc3b4af3-e20c-4662-90fc-c3879a6c521c","type":"Microsoft.Authorization/roleAssignments","name":"dc3b4af3-e20c-4662-90fc-c3879a6c521c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-14T00:29:42.9981174Z","updatedOn":"2020-10-14T00:29:42.9981174Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c6af4ef5-80f6-4303-a641-45689a1646dc","type":"Microsoft.Authorization/roleAssignments","name":"c6af4ef5-80f6-4303-a641-45689a1646dc"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-15T03:35:43.8283383Z","updatedOn":"2020-10-15T03:35:43.8283383Z","createdBy":"2fda9054-fc12-457c-bb93-614f1f13426b","updatedBy":"2fda9054-fc12-457c-bb93-614f1f13426b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/64d06112-fceb-476a-b426-6843c25208ae","type":"Microsoft.Authorization/roleAssignments","name":"64d06112-fceb-476a-b426-6843c25208ae"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-16T16:42:17.7175670Z","updatedOn":"2020-10-16T16:42:17.7175670Z","createdBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","updatedBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/5854c7a2-cf00-46f9-9cc1-d977f34324df","type":"Microsoft.Authorization/roleAssignments","name":"5854c7a2-cf00-46f9-9cc1-d977f34324df"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-19T03:59:55.8915203Z","updatedOn":"2020-10-19T03:59:55.8915203Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6d449bc1-f3b3-4d07-94e5-9c78a799099f","type":"Microsoft.Authorization/roleAssignments","name":"6d449bc1-f3b3-4d07-94e5-9c78a799099f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-20T10:18:15.8804322Z","updatedOn":"2020-10-20T10:18:15.8804322Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/06a0e1fb-af3e-4fa2-815f-848a6d176225","type":"Microsoft.Authorization/roleAssignments","name":"06a0e1fb-af3e-4fa2-815f-848a6d176225"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-22T06:46:57.6492498Z","updatedOn":"2020-10-22T06:46:57.6492498Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/fc3170b4-3674-455d-b7af-8b3056ffd4bd","type":"Microsoft.Authorization/roleAssignments","name":"fc3170b4-3674-455d-b7af-8b3056ffd4bd"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-26T09:32:54.3608737Z","updatedOn":"2020-10-26T09:32:54.3608737Z","createdBy":"f058371f-0c0e-46bb-a5d4-f8aec637a467","updatedBy":"f058371f-0c0e-46bb-a5d4-f8aec637a467","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/209640f3-25d8-4e30-b857-d64304235a61","type":"Microsoft.Authorization/roleAssignments","name":"209640f3-25d8-4e30-b857-d64304235a61"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-29T18:40:28.9870114Z","updatedOn":"2020-10-29T18:40:28.9870114Z","createdBy":"febf609b-90d8-4d63-bffb-c12ccb094696","updatedBy":"febf609b-90d8-4d63-bffb-c12ccb094696","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/62a8bb96-2a77-4216-bd60-17b4b6e0a4c4","type":"Microsoft.Authorization/roleAssignments","name":"62a8bb96-2a77-4216-bd60-17b4b6e0a4c4"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-02T09:02:29.2637630Z","updatedOn":"2020-11-02T09:02:29.2637630Z","createdBy":"a5c919a9-89c9-45fb-880a-5e3e0b4fcb84","updatedBy":"a5c919a9-89c9-45fb-880a-5e3e0b4fcb84","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0ad1faa8-8680-4dec-a768-050e8349af33","type":"Microsoft.Authorization/roleAssignments","name":"0ad1faa8-8680-4dec-a768-050e8349af33"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-03T21:58:18.9397159Z","updatedOn":"2020-11-03T21:58:18.9397159Z","createdBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","updatedBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/fbba25e5-561b-4364-8755-515a24434085","type":"Microsoft.Authorization/roleAssignments","name":"fbba25e5-561b-4364-8755-515a24434085"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-03T22:00:44.4523883Z","updatedOn":"2020-11-03T22:00:44.4523883Z","createdBy":"478fdd79-cb11-45ed-8725-382321c0f7fd","updatedBy":"478fdd79-cb11-45ed-8725-382321c0f7fd","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/908aa5ac-22a2-413a-9333-fcb0a1ba2c59","type":"Microsoft.Authorization/roleAssignments","name":"908aa5ac-22a2-413a-9333-fcb0a1ba2c59"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-09T14:00:59.0347294Z","updatedOn":"2020-11-09T14:00:59.0347294Z","createdBy":"09914860-7ec9-4151-8431-31797899a359","updatedBy":"09914860-7ec9-4151-8431-31797899a359","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e9541f93-ea4a-4b1b-98bf-839fecfcaa22","type":"Microsoft.Authorization/roleAssignments","name":"e9541f93-ea4a-4b1b-98bf-839fecfcaa22"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-10T00:12:49.4151006Z","updatedOn":"2020-11-10T00:12:49.4151006Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c13e8fa1-ee9a-460a-910e-eaecab956199","type":"Microsoft.Authorization/roleAssignments","name":"c13e8fa1-ee9a-460a-910e-eaecab956199"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-10T00:15:19.8671906Z","updatedOn":"2020-11-10T00:15:19.8671906Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2246ec23-fc97-4e82-b67c-04743087f63d","type":"Microsoft.Authorization/roleAssignments","name":"2246ec23-fc97-4e82-b67c-04743087f63d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-10T12:48:43.1056692Z","updatedOn":"2020-11-10T12:48:43.1056692Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/dc924d22-cbb3-4f1d-a3c5-e803c30b8428","type":"Microsoft.Authorization/roleAssignments","name":"dc924d22-cbb3-4f1d-a3c5-e803c30b8428"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-18T00:19:23.7906492Z","updatedOn":"2020-11-18T00:19:23.7906492Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2e9f22fc-e6c1-4376-a65d-4553c0daee64","type":"Microsoft.Authorization/roleAssignments","name":"2e9f22fc-e6c1-4376-a65d-4553c0daee64"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-19T12:24:03.7391153Z","updatedOn":"2020-11-19T12:24:03.7391153Z","createdBy":"09914860-7ec9-4151-8431-31797899a359","updatedBy":"09914860-7ec9-4151-8431-31797899a359","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a29c25cf-6027-4031-8c68-12c812d4e4d7","type":"Microsoft.Authorization/roleAssignments","name":"a29c25cf-6027-4031-8c68-12c812d4e4d7"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-20T01:41:11.3355841Z","updatedOn":"2020-11-20T01:41:11.3355841Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e19e243a-0497-4c83-a9e1-b6d622c5cadf","type":"Microsoft.Authorization/roleAssignments","name":"e19e243a-0497-4c83-a9e1-b6d622c5cadf"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-24T06:03:13.0460581Z","updatedOn":"2020-11-24T06:03:13.0460581Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/bdd0bce4-39a5-47f7-836c-6295639cc0e1","type":"Microsoft.Authorization/roleAssignments","name":"bdd0bce4-39a5-47f7-836c-6295639cc0e1"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-26T03:01:44.6247690Z","updatedOn":"2020-11-26T03:01:44.6247690Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/7a3cddac-b7c4-4e13-ad0d-25a1f8db0394","type":"Microsoft.Authorization/roleAssignments","name":"7a3cddac-b7c4-4e13-ad0d-25a1f8db0394"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-12-02T07:09:05.7656072Z","updatedOn":"2020-12-02T07:09:05.7656072Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/62cb656e-c531-4da8-9837-fc956269c6e0","type":"Microsoft.Authorization/roleAssignments","name":"62cb656e-c531-4da8-9837-fc956269c6e0"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-12-04T03:28:35.2284735Z","updatedOn":"2020-12-04T03:28:35.2284735Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/9bc8c2c0-90e6-4346-a844-f9f401472a4d","type":"Microsoft.Authorization/roleAssignments","name":"9bc8c2c0-90e6-4346-a844-f9f401472a4d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-12-04T06:53:38.6367823Z","updatedOn":"2020-12-04T06:53:38.6367823Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/22700fef-7289-4005-937a-e4d08881da8c","type":"Microsoft.Authorization/roleAssignments","name":"22700fef-7289-4005-937a-e4d08881da8c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-12-04T08:16:05.6118991Z","updatedOn":"2020-12-04T08:16:05.6118991Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/15dbe638-db5c-45ad-9e4e-3bee28587281","type":"Microsoft.Authorization/roleAssignments","name":"15dbe638-db5c-45ad-9e4e-3bee28587281"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-12-07T12:37:13.7841746Z","updatedOn":"2020-12-07T12:37:13.7841746Z","createdBy":"a5c919a9-89c9-45fb-880a-5e3e0b4fcb84","updatedBy":"a5c919a9-89c9-45fb-880a-5e3e0b4fcb84","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c7eecba5-f37b-4db4-8818-a650f8b5b8de","type":"Microsoft.Authorization/roleAssignments","name":"c7eecba5-f37b-4db4-8818-a650f8b5b8de"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-12-18T08:00:24.9874024Z","updatedOn":"2020-12-18T08:00:24.9874024Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/7f60817e-27b5-486b-bbdb-b748bcb752d4","type":"Microsoft.Authorization/roleAssignments","name":"7f60817e-27b5-486b-bbdb-b748bcb752d4"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-12-24T11:54:27.7394442Z","updatedOn":"2020-12-24T11:54:27.7394442Z","createdBy":"e073490c-1bbd-4bac-9bd1-5584fec82ff0","updatedBy":"e073490c-1bbd-4bac-9bd1-5584fec82ff0","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/90534c90-22d5-4e15-ae4c-009340273136","type":"Microsoft.Authorization/roleAssignments","name":"90534c90-22d5-4e15-ae4c-009340273136"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-12-30T11:06:51.2887287Z","updatedOn":"2020-12-30T11:06:51.2887287Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/1cbe1756-4a8f-11eb-b753-720008210d90","type":"Microsoft.Authorization/roleAssignments","name":"1cbe1756-4a8f-11eb-b753-720008210d90"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-01-13T06:12:19.1847916Z","updatedOn":"2021-01-13T06:12:19.1847916Z","createdBy":"241cd743-2c33-4860-bd3a-1df659c06eef","updatedBy":"241cd743-2c33-4860-bd3a-1df659c06eef","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/498bf4f6-5566-11eb-a35b-acde48001122","type":"Microsoft.Authorization/roleAssignments","name":"498bf4f6-5566-11eb-a35b-acde48001122"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-01-13T21:55:46.0921361Z","updatedOn":"2021-01-13T21:55:46.0921361Z","createdBy":"478fdd79-cb11-45ed-8725-382321c0f7fd","updatedBy":"478fdd79-cb11-45ed-8725-382321c0f7fd","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d900b70f-235d-4d37-bf50-ca514e3001a1","type":"Microsoft.Authorization/roleAssignments","name":"d900b70f-235d-4d37-bf50-ca514e3001a1"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-01-26T20:35:14.0496305Z","updatedOn":"2021-01-26T20:35:14.0496305Z","createdBy":"febf609b-90d8-4d63-bffb-c12ccb094696","updatedBy":"febf609b-90d8-4d63-bffb-c12ccb094696","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/be76f04c-520c-4d95-b6b3-e7fce3f55948","type":"Microsoft.Authorization/roleAssignments","name":"be76f04c-520c-4d95-b6b3-e7fce3f55948"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-04T05:54:29.9691652Z","updatedOn":"2021-02-04T05:54:29.9691652Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4710c459-25c6-45b9-a906-3687060df1a2","type":"Microsoft.Authorization/roleAssignments","name":"4710c459-25c6-45b9-a906-3687060df1a2"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-04T06:52:05.2038586Z","updatedOn":"2021-02-04T06:52:05.2038586Z","createdBy":"8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9","updatedBy":"8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/fdf6a314-3605-4944-96c1-08b7364dba54","type":"Microsoft.Authorization/roleAssignments","name":"fdf6a314-3605-4944-96c1-08b7364dba54"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-05T01:06:29.5543610Z","updatedOn":"2021-02-05T01:06:29.5543610Z","createdBy":"53bb8815-874d-4b05-9953-1158e05aa080","updatedBy":"53bb8815-874d-4b05-9953-1158e05aa080","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f2caf434-97c9-440f-9ad3-541ae6bd9528","type":"Microsoft.Authorization/roleAssignments","name":"f2caf434-97c9-440f-9ad3-541ae6bd9528"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-11T22:26:14.1444510Z","updatedOn":"2021-02-11T22:26:14.1444510Z","createdBy":"4aed2078-2d27-4c18-95f7-fef3c0fe91ca","updatedBy":"4aed2078-2d27-4c18-95f7-fef3c0fe91ca","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a8602643-a0c2-45c4-980c-dc2b618d13b8","type":"Microsoft.Authorization/roleAssignments","name":"a8602643-a0c2-45c4-980c-dc2b618d13b8"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-16T19:18:13.7025371Z","updatedOn":"2021-02-16T19:18:13.7025371Z","createdBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","updatedBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b2d72c2f-d4c0-4c45-9908-90fda72c868d","type":"Microsoft.Authorization/roleAssignments","name":"b2d72c2f-d4c0-4c45-9908-90fda72c868d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-16T22:20:01.8102926Z","updatedOn":"2021-02-16T22:20:01.8102926Z","createdBy":"53bb8815-874d-4b05-9953-1158e05aa080","updatedBy":"53bb8815-874d-4b05-9953-1158e05aa080","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b7aa1f69-60a8-4bb9-a624-857052576335","type":"Microsoft.Authorization/roleAssignments","name":"b7aa1f69-60a8-4bb9-a624-857052576335"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-17T00:37:53.4699042Z","updatedOn":"2021-02-17T00:37:53.4699042Z","createdBy":"e5ad6d43-d6ac-4061-84cc-f7cb826200a0","updatedBy":"e5ad6d43-d6ac-4061-84cc-f7cb826200a0","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c06abb18-9697-41f9-9410-ff0ee9b13ab9","type":"Microsoft.Authorization/roleAssignments","name":"c06abb18-9697-41f9-9410-ff0ee9b13ab9"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-17T01:26:55.0758483Z","updatedOn":"2021-02-17T01:26:55.0758483Z","createdBy":"df7de5cc-1fc8-462d-be1d-bcbc2576454a","updatedBy":"df7de5cc-1fc8-462d-be1d-bcbc2576454a","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/9812b416-33c9-4b88-bcdb-6b8406dd319f","type":"Microsoft.Authorization/roleAssignments","name":"9812b416-33c9-4b88-bcdb-6b8406dd319f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-17T01:38:17.8125104Z","updatedOn":"2021-02-17T01:38:17.8125104Z","createdBy":"478fdd79-cb11-45ed-8725-382321c0f7fd","updatedBy":"478fdd79-cb11-45ed-8725-382321c0f7fd","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/82e0c83f-b7dd-49f6-b501-ff05951db69d","type":"Microsoft.Authorization/roleAssignments","name":"82e0c83f-b7dd-49f6-b501-ff05951db69d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-17T01:57:59.0655876Z","updatedOn":"2021-02-17T01:57:59.0655876Z","createdBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","updatedBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c9f0c587-7611-45ba-afb2-200499c8d4e0","type":"Microsoft.Authorization/roleAssignments","name":"c9f0c587-7611-45ba-afb2-200499c8d4e0"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-19T01:25:51.9967288Z","updatedOn":"2021-02-19T01:25:51.9967288Z","createdBy":"9404195a-2cde-4a10-b88c-e7b41572bf31","updatedBy":"9404195a-2cde-4a10-b88c-e7b41572bf31","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2e4ab306-7ae7-4867-8e22-90215bdbeb9a","type":"Microsoft.Authorization/roleAssignments","name":"2e4ab306-7ae7-4867-8e22-90215bdbeb9a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-25T05:50:56.3200305Z","updatedOn":"2021-02-25T05:50:56.3200305Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/5f5c2b9b-b76d-442c-8442-cdca92ea4450","type":"Microsoft.Authorization/roleAssignments","name":"5f5c2b9b-b76d-442c-8442-cdca92ea4450"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-25T06:10:47.8694922Z","updatedOn":"2021-02-25T06:10:47.8694922Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ded78aee-c6bf-4c93-a2c6-4c3388c55936","type":"Microsoft.Authorization/roleAssignments","name":"ded78aee-c6bf-4c93-a2c6-4c3388c55936"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-01T19:36:24.0325431Z","updatedOn":"2021-03-01T19:36:24.0325431Z","createdBy":"5ecb1531-0d8c-4a89-93cb-1b48b2224358","updatedBy":"5ecb1531-0d8c-4a89-93cb-1b48b2224358","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a11a3823-3c3c-4a0a-ab63-e809248b39d6","type":"Microsoft.Authorization/roleAssignments","name":"a11a3823-3c3c-4a0a-ab63-e809248b39d6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-01T21:51:55.4255791Z","updatedOn":"2021-03-01T21:51:55.4255791Z","createdBy":"ad232e99-5e1b-414e-aa53-96ae40d39f3e","updatedBy":"ad232e99-5e1b-414e-aa53-96ae40d39f3e","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/36175f2d-f556-464e-a509-19cbb3f45909","type":"Microsoft.Authorization/roleAssignments","name":"36175f2d-f556-464e-a509-19cbb3f45909"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-28T18:57:43.7674845Z","updatedOn":"2020-04-28T18:57:43.7674845Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/89ef5a42-558f-4dc2-a21d-61f47f87c5aa","type":"Microsoft.Authorization/roleAssignments","name":"89ef5a42-558f-4dc2-a21d-61f47f87c5aa"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-28T17:11:43.4784066Z","updatedOn":"2020-04-28T17:11:43.4784066Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c7a17f89-6fda-4d7f-9024-279fe7c46b9e","type":"Microsoft.Authorization/roleAssignments","name":"c7a17f89-6fda-4d7f-9024-279fe7c46b9e"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-28T17:15:20.6839476Z","updatedOn":"2020-04-28T17:15:20.6839476Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b677c994-5d2c-4d21-8772-4a770c383a69","type":"Microsoft.Authorization/roleAssignments","name":"b677c994-5d2c-4d21-8772-4a770c383a69"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-29T03:41:37.0700725Z","updatedOn":"2020-04-29T03:41:37.0700725Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f2790ff5-c68c-4783-bfbe-0c7210b1320d","type":"Microsoft.Authorization/roleAssignments","name":"f2790ff5-c68c-4783-bfbe-0c7210b1320d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-29T03:43:26.9737395Z","updatedOn":"2020-04-29T03:43:26.9737395Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/64ded23e-c648-452f-a53e-2bb0b1947293","type":"Microsoft.Authorization/roleAssignments","name":"64ded23e-c648-452f-a53e-2bb0b1947293"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-28T17:14:00.0562525Z","updatedOn":"2020-04-28T17:14:00.0562525Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/eaece071-786c-479c-a0b0-5c41d876600c","type":"Microsoft.Authorization/roleAssignments","name":"eaece071-786c-479c-a0b0-5c41d876600c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-01T17:17:32.8545165Z","updatedOn":"2020-05-01T17:17:32.8545165Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/5b13726e-0868-475f-9d6f-e19ed5886a5e","type":"Microsoft.Authorization/roleAssignments","name":"5b13726e-0868-475f-9d6f-e19ed5886a5e"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-01T17:22:00.3902257Z","updatedOn":"2020-05-01T17:22:00.3902257Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/aa99e113-3d5e-4fb5-ac2a-f34b0bf0aa32","type":"Microsoft.Authorization/roleAssignments","name":"aa99e113-3d5e-4fb5-ac2a-f34b0bf0aa32"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-29T00:04:19.0452651Z","updatedOn":"2020-04-29T00:04:19.0452651Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/593f0b85-3d78-43c8-a842-abfb4eab0a9b","type":"Microsoft.Authorization/roleAssignments","name":"593f0b85-3d78-43c8-a842-abfb4eab0a9b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2018-05-03T20:35:52.7357152Z","updatedOn":"2018-05-03T20:35:52.7357152Z","createdBy":"b87c5c16-4f0e-4af2-9b2e-20f25d6b5a3f","updatedBy":"b87c5c16-4f0e-4af2-9b2e-20f25d6b5a3f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4665dbd4-b405-4cc3-9321-1bee27e6101c","type":"Microsoft.Authorization/roleAssignments","name":"4665dbd4-b405-4cc3-9321-1bee27e6101c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-11T13:25:07.0669336Z","updatedOn":"2020-02-11T13:25:07.0669336Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b8056eb0-60e9-433c-85f9-f2c9289fc1a2","type":"Microsoft.Authorization/roleAssignments","name":"b8056eb0-60e9-433c-85f9-f2c9289fc1a2"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-04-22T06:41:53.1813823Z","updatedOn":"2019-04-22T06:41:53.1813823Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6b620efc-0123-402f-8462-1f1b47168729","type":"Microsoft.Authorization/roleAssignments","name":"6b620efc-0123-402f-8462-1f1b47168729"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-21T03:42:13.8891609Z","updatedOn":"2020-02-21T03:42:13.8891609Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c41b0416-12e4-49bb-9e35-411e4f409102","type":"Microsoft.Authorization/roleAssignments","name":"c41b0416-12e4-49bb-9e35-411e4f409102"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-27T17:05:13.7273840Z","updatedOn":"2020-04-27T17:05:13.7273840Z","createdBy":"ef34ad48-5675-4480-8fe7-a6cc394b97c4","updatedBy":"ef34ad48-5675-4480-8fe7-a6cc394b97c4","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/9e06e920-0fc3-47a8-867a-ce7804818059","type":"Microsoft.Authorization/roleAssignments","name":"9e06e920-0fc3-47a8-867a-ce7804818059"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-22T07:53:45.7192431Z","updatedOn":"2020-04-22T07:53:45.7192431Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0d01cbd3-f3e3-4712-95c6-cf07a0224887","type":"Microsoft.Authorization/roleAssignments","name":"0d01cbd3-f3e3-4712-95c6-cf07a0224887"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-10-25T03:10:56.6742842Z","updatedOn":"2019-10-25T03:10:56.6742842Z","createdBy":"09914860-7ec9-4151-8431-31797899a359","updatedBy":"09914860-7ec9-4151-8431-31797899a359","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c94cb5f8-6d0c-4405-be47-b599a43f2bde","type":"Microsoft.Authorization/roleAssignments","name":"c94cb5f8-6d0c-4405-be47-b599a43f2bde"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-08T22:51:35.8836739Z","updatedOn":"2020-04-08T22:51:35.8836739Z","createdBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","updatedBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e35806bd-ef22-4a25-80d9-9429df6254c6","type":"Microsoft.Authorization/roleAssignments","name":"e35806bd-ef22-4a25-80d9-9429df6254c6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2017-06-16T23:32:44.3548155Z","updatedOn":"2017-06-16T23:32:44.3548155Z","createdBy":"f115a02a-6f42-4297-aabb-f0f6022ee60b","updatedBy":"f115a02a-6f42-4297-aabb-f0f6022ee60b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c2330a8b-4550-4dcf-841a-88553080079b","type":"Microsoft.Authorization/roleAssignments","name":"c2330a8b-4550-4dcf-841a-88553080079b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-03-25T08:26:29.8675330Z","updatedOn":"2020-03-25T08:26:29.8675330Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d00f7f11-a22d-4bb3-a016-07d2ba2b13c0","type":"Microsoft.Authorization/roleAssignments","name":"d00f7f11-a22d-4bb3-a016-07d2ba2b13c0"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-09-14T02:15:59.1199760Z","updatedOn":"2019-09-14T02:15:59.1199760Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/593989ab-0941-462b-aeba-5aba52f8755b","type":"Microsoft.Authorization/roleAssignments","name":"593989ab-0941-462b-aeba-5aba52f8755b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-14T21:19:25.3668580Z","updatedOn":"2020-05-14T21:19:25.3668580Z","createdBy":"82f25a3e-d28d-4c27-90d6-d92c79d98936","updatedBy":"82f25a3e-d28d-4c27-90d6-d92c79d98936","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/668f3f0e-bbb7-42d3-9ab1-1482922c06a7","type":"Microsoft.Authorization/roleAssignments","name":"668f3f0e-bbb7-42d3-9ab1-1482922c06a7"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-07T00:35:48.4591165Z","updatedOn":"2020-05-07T00:35:48.4591165Z","createdBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","updatedBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ff740118-1a0b-4bf5-8f2a-c555e9923ea3","type":"Microsoft.Authorization/roleAssignments","name":"ff740118-1a0b-4bf5-8f2a-c555e9923ea3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-10-10T19:44:02.6434834Z","updatedOn":"2019-10-10T19:44:02.6434834Z","createdBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","updatedBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ecd71fb9-414b-496d-ba90-8be383086b97","type":"Microsoft.Authorization/roleAssignments","name":"ecd71fb9-414b-496d-ba90-8be383086b97"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-09-23T02:06:16.8281713Z","updatedOn":"2019-09-23T02:06:16.8281713Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a301a171-6505-42c5-a8b2-bcf09674b59c","type":"Microsoft.Authorization/roleAssignments","name":"a301a171-6505-42c5-a8b2-bcf09674b59c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-05T05:29:51.2703674Z","updatedOn":"2020-02-05T05:29:51.2703674Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/382ca8aa-eaac-49fb-8a33-ad06c08ae449","type":"Microsoft.Authorization/roleAssignments","name":"382ca8aa-eaac-49fb-8a33-ad06c08ae449"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-01-08T12:55:39.9212416Z","updatedOn":"2020-01-08T12:55:39.9212416Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/081427e9-c895-4903-8573-77da86dcdae1","type":"Microsoft.Authorization/roleAssignments","name":"081427e9-c895-4903-8573-77da86dcdae1"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-20T22:22:14.0297869Z","updatedOn":"2020-04-20T22:22:14.0297869Z","createdBy":"53bb8815-874d-4b05-9953-1158e05aa080","updatedBy":"53bb8815-874d-4b05-9953-1158e05aa080","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/966ec633-e653-441f-910c-8536f7899f69","type":"Microsoft.Authorization/roleAssignments","name":"966ec633-e653-441f-910c-8536f7899f69"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-30T06:27:35.9310363Z","updatedOn":"2020-04-30T06:27:35.9310363Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6a1327e4-100e-43ee-b04e-1403969b805b","type":"Microsoft.Authorization/roleAssignments","name":"6a1327e4-100e-43ee-b04e-1403969b805b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-06-13T06:44:49.9960198Z","updatedOn":"2019-06-13T06:44:49.9960198Z","createdBy":"f058371f-0c0e-46bb-a5d4-f8aec637a467","updatedBy":"f058371f-0c0e-46bb-a5d4-f8aec637a467","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/33958269-41a0-400a-91a1-6303d954c8f0","type":"Microsoft.Authorization/roleAssignments","name":"33958269-41a0-400a-91a1-6303d954c8f0"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-01-27T19:05:00.2764645Z","updatedOn":"2020-01-27T19:05:00.2764645Z","createdBy":"4744d4c9-1026-421b-87ce-b102213af921","updatedBy":"4744d4c9-1026-421b-87ce-b102213af921","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f0575c6a-aabc-4a2e-b169-379b64f33f8a","type":"Microsoft.Authorization/roleAssignments","name":"f0575c6a-aabc-4a2e-b169-379b64f33f8a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-26T16:21:06.7365340Z","updatedOn":"2020-05-26T16:21:06.7365340Z","createdBy":"ef34ad48-5675-4480-8fe7-a6cc394b97c4","updatedBy":"ef34ad48-5675-4480-8fe7-a6cc394b97c4","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/19a3bbc1-fca8-4ec6-b0e9-7d6861207524","type":"Microsoft.Authorization/roleAssignments","name":"19a3bbc1-fca8-4ec6-b0e9-7d6861207524"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-10-26T00:57:22.8153925Z","updatedOn":"2019-10-26T00:57:22.8153925Z","createdBy":"2fda9054-fc12-457c-bb93-614f1f13426b","updatedBy":"2fda9054-fc12-457c-bb93-614f1f13426b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/8722a1fb-4828-4f43-aa59-0385179b3a05","type":"Microsoft.Authorization/roleAssignments","name":"8722a1fb-4828-4f43-aa59-0385179b3a05"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-30T06:27:35.9911337Z","updatedOn":"2020-04-30T06:27:35.9911337Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/85726f1f-9e4c-415a-b56f-d8e799aaa96d","type":"Microsoft.Authorization/roleAssignments","name":"85726f1f-9e4c-415a-b56f-d8e799aaa96d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-27T21:08:14.8085926Z","updatedOn":"2020-02-27T21:08:14.8085926Z","createdBy":"ef34ad48-5675-4480-8fe7-a6cc394b97c4","updatedBy":"ef34ad48-5675-4480-8fe7-a6cc394b97c4","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/742a0f1a-fbf1-46f1-929d-de8871fc1193","type":"Microsoft.Authorization/roleAssignments","name":"742a0f1a-fbf1-46f1-929d-de8871fc1193"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-01T23:19:45.4260771Z","updatedOn":"2020-05-01T23:19:45.4260771Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/90e2b70f-7104-4f75-b6a5-e7226e497378","type":"Microsoft.Authorization/roleAssignments","name":"90e2b70f-7104-4f75-b6a5-e7226e497378"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-04-16T02:04:22.4782415Z","updatedOn":"2019-04-16T02:04:22.4782415Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/bacdb283-653c-47eb-a578-11743d7898f8","type":"Microsoft.Authorization/roleAssignments","name":"bacdb283-653c-47eb-a578-11743d7898f8"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-04T02:07:58.4393297Z","updatedOn":"2020-02-04T02:07:58.4393297Z","createdBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","updatedBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e46a2f7d-e088-47e2-952f-a0a4818b3825","type":"Microsoft.Authorization/roleAssignments","name":"e46a2f7d-e088-47e2-952f-a0a4818b3825"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-03-26T08:05:19.1222694Z","updatedOn":"2020-03-26T08:05:19.1222694Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/1f46adf6-1c16-4743-b3ac-35cd30452c6b","type":"Microsoft.Authorization/roleAssignments","name":"1f46adf6-1c16-4743-b3ac-35cd30452c6b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-07T00:35:48.6619455Z","updatedOn":"2020-05-07T00:35:48.6619455Z","createdBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","updatedBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/052d4514-701f-41dd-8171-4e8cfab148a6","type":"Microsoft.Authorization/roleAssignments","name":"052d4514-701f-41dd-8171-4e8cfab148a6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-03-27T09:09:33.7347978Z","updatedOn":"2020-03-27T09:09:33.7347978Z","createdBy":"09914860-7ec9-4151-8431-31797899a359","updatedBy":"09914860-7ec9-4151-8431-31797899a359","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6d355b17-e9d6-47b7-9181-b54ad0083793","type":"Microsoft.Authorization/roleAssignments","name":"6d355b17-e9d6-47b7-9181-b54ad0083793"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-03-19T02:50:30.0038186Z","updatedOn":"2019-03-19T02:50:30.0038186Z","createdBy":"b47f071a-d6c9-4297-954e-83151fff489b","updatedBy":"b47f071a-d6c9-4297-954e-83151fff489b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/26adec15-a0e4-4b2e-a437-9b545b9723fc","type":"Microsoft.Authorization/roleAssignments","name":"26adec15-a0e4-4b2e-a437-9b545b9723fc"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-04-17T00:50:00.2288905Z","updatedOn":"2019-04-17T00:50:00.2288905Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0e873fd7-4bdb-4df5-a510-c15f3ce99cd6","type":"Microsoft.Authorization/roleAssignments","name":"0e873fd7-4bdb-4df5-a510-c15f3ce99cd6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-23T03:53:49.9358521Z","updatedOn":"2020-06-23T03:53:49.9358521Z","createdBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","updatedBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/02a0e839-adb0-448c-84f0-3a3f82ef8430","type":"Microsoft.Authorization/roleAssignments","name":"02a0e839-adb0-448c-84f0-3a3f82ef8430"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-08T07:40:31.7235048Z","updatedOn":"2020-05-08T07:40:31.7235048Z","createdBy":"09914860-7ec9-4151-8431-31797899a359","updatedBy":"09914860-7ec9-4151-8431-31797899a359","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/cbfa0c0c-2653-4fb8-b9e5-d41bd96053a7","type":"Microsoft.Authorization/roleAssignments","name":"cbfa0c0c-2653-4fb8-b9e5-d41bd96053a7"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-02T17:06:57.1466814Z","updatedOn":"2020-06-02T17:06:57.1466814Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ab903dde-d229-446d-b429-c1618b8aef5e","type":"Microsoft.Authorization/roleAssignments","name":"ab903dde-d229-446d-b429-c1618b8aef5e"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-29T03:34:09.1452976Z","updatedOn":"2020-04-29T03:34:09.1452976Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/feb76a5e-7bed-4bc8-b481-14bbb109bc33","type":"Microsoft.Authorization/roleAssignments","name":"feb76a5e-7bed-4bc8-b481-14bbb109bc33"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-15T10:16:20.3297126Z","updatedOn":"2020-04-15T10:16:20.3297126Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0db6da93-ca6a-4b5a-8c44-7a3f2003d03c","type":"Microsoft.Authorization/roleAssignments","name":"0db6da93-ca6a-4b5a-8c44-7a3f2003d03c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-01-13T05:17:20.7354482Z","updatedOn":"2020-01-13T05:17:20.7354482Z","createdBy":"09914860-7ec9-4151-8431-31797899a359","updatedBy":"09914860-7ec9-4151-8431-31797899a359","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e5a79ae7-7137-416f-a2cd-4b273ca62d5f","type":"Microsoft.Authorization/roleAssignments","name":"e5a79ae7-7137-416f-a2cd-4b273ca62d5f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-24T19:37:33.7189313Z","updatedOn":"2020-02-24T19:37:33.7189313Z","createdBy":"f31399da-e7ed-4fe4-a825-a9dff4f53481","updatedBy":"f31399da-e7ed-4fe4-a825-a9dff4f53481","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d1964993-fb9d-4be1-982f-fcd6ca7cd493","type":"Microsoft.Authorization/roleAssignments","name":"d1964993-fb9d-4be1-982f-fcd6ca7cd493"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2017-05-22T23:26:54.3208785Z","updatedOn":"2017-05-22T23:26:54.3208785Z","createdBy":"b09a0928-3846-4efb-a579-8540fb78b0a3","updatedBy":"b09a0928-3846-4efb-a579-8540fb78b0a3","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2d149cfb-bc18-48f8-b769-8a0cafd11bee","type":"Microsoft.Authorization/roleAssignments","name":"2d149cfb-bc18-48f8-b769-8a0cafd11bee"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-07T02:09:11.3539299Z","updatedOn":"2020-05-07T02:09:11.3539299Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/5124598f-5127-4efc-9b15-9276948fe202","type":"Microsoft.Authorization/roleAssignments","name":"5124598f-5127-4efc-9b15-9276948fe202"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-18T23:40:26.3271411Z","updatedOn":"2020-02-18T23:40:26.3271411Z","createdBy":"f31399da-e7ed-4fe4-a825-a9dff4f53481","updatedBy":"f31399da-e7ed-4fe4-a825-a9dff4f53481","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/27f9c0cd-fbc1-4810-a9f9-804efad4beec","type":"Microsoft.Authorization/roleAssignments","name":"27f9c0cd-fbc1-4810-a9f9-804efad4beec"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-02T10:52:21.7337863Z","updatedOn":"2020-04-02T10:52:21.7337863Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/54ff849a-1ced-4a28-b675-6bca70a82033","type":"Microsoft.Authorization/roleAssignments","name":"54ff849a-1ced-4a28-b675-6bca70a82033"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-16T07:25:52.5298801Z","updatedOn":"2020-04-16T07:25:52.5298801Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/65fd85a7-3057-4f7f-86bd-0c36a612f483","type":"Microsoft.Authorization/roleAssignments","name":"65fd85a7-3057-4f7f-86bd-0c36a612f483"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-22T21:44:38.6097605Z","updatedOn":"2020-05-22T21:44:38.6097605Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0a2d331c-57c6-48be-9d5f-f49da541fc7e","type":"Microsoft.Authorization/roleAssignments","name":"0a2d331c-57c6-48be-9d5f-f49da541fc7e"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-04T21:30:10.6978339Z","updatedOn":"2020-02-04T21:30:10.6978339Z","createdBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","updatedBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/91ea4b88-79c1-4163-bf5c-760b8add6d79","type":"Microsoft.Authorization/roleAssignments","name":"91ea4b88-79c1-4163-bf5c-760b8add6d79"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-03T05:33:46.3567584Z","updatedOn":"2020-04-03T05:33:46.3567584Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4f9fed67-4a0b-4f9d-870e-66a508cb73eb","type":"Microsoft.Authorization/roleAssignments","name":"4f9fed67-4a0b-4f9d-870e-66a508cb73eb"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-01-24T16:54:45.9590630Z","updatedOn":"2020-01-24T16:54:45.9590630Z","createdBy":"b87c5c16-4f0e-4af2-9b2e-20f25d6b5a3f","updatedBy":"b87c5c16-4f0e-4af2-9b2e-20f25d6b5a3f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/04741a9e-7efb-41cc-b79c-8c725cc7563b","type":"Microsoft.Authorization/roleAssignments","name":"04741a9e-7efb-41cc-b79c-8c725cc7563b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-08-02T07:18:21.5783958Z","updatedOn":"2019-08-02T07:18:21.5783958Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f4afc41d-352f-4bce-84f1-fad9f832f274","type":"Microsoft.Authorization/roleAssignments","name":"f4afc41d-352f-4bce-84f1-fad9f832f274"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-03T17:48:07.2484442Z","updatedOn":"2020-02-03T17:48:07.2484442Z","createdBy":"ef34ad48-5675-4480-8fe7-a6cc394b97c4","updatedBy":"ef34ad48-5675-4480-8fe7-a6cc394b97c4","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/31005f88-9e70-483d-acc8-0f9cc8066b13","type":"Microsoft.Authorization/roleAssignments","name":"31005f88-9e70-483d-acc8-0f9cc8066b13"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-04T21:07:59.9113196Z","updatedOn":"2020-02-04T21:07:59.9113196Z","createdBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","updatedBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ea60c465-aef4-4494-9478-636615243841","type":"Microsoft.Authorization/roleAssignments","name":"ea60c465-aef4-4494-9478-636615243841"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-11-02T00:40:13.2696018Z","updatedOn":"2019-11-02T00:40:13.2696018Z","createdBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","updatedBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/1c0ee413-025e-422c-a8d0-2b8dd410b9b8","type":"Microsoft.Authorization/roleAssignments","name":"1c0ee413-025e-422c-a8d0-2b8dd410b9b8"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-04T21:37:15.2971418Z","updatedOn":"2020-02-04T21:37:15.2971418Z","createdBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","updatedBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/39e99cf2-95c7-4585-8703-998450cafea0","type":"Microsoft.Authorization/roleAssignments","name":"39e99cf2-95c7-4585-8703-998450cafea0"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2018-11-15T22:27:15.6601349Z","updatedOn":"2018-11-15T22:27:15.6601349Z","createdBy":"38d88515-7eb8-4c96-804f-4edcc95b9dff","updatedBy":"38d88515-7eb8-4c96-804f-4edcc95b9dff","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/418847ec-df97-4b29-9711-fc833817e5d6","type":"Microsoft.Authorization/roleAssignments","name":"418847ec-df97-4b29-9711-fc833817e5d6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-08-28T14:20:52.7506898Z","updatedOn":"2019-08-28T14:20:52.7506898Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/715fd118-93b8-4b09-822d-48de5afb21e3","type":"Microsoft.Authorization/roleAssignments","name":"715fd118-93b8-4b09-822d-48de5afb21e3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-01-06T05:22:04.7673784Z","updatedOn":"2019-01-06T05:22:04.7673784Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ba5c8600-8cc9-4778-9735-c3d57d26e50d","type":"Microsoft.Authorization/roleAssignments","name":"ba5c8600-8cc9-4778-9735-c3d57d26e50d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-02T16:21:28.6789246Z","updatedOn":"2020-06-02T16:21:28.6789246Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/bd6bf5d5-fc1c-4fcd-81f3-0d11d3ff9f42","type":"Microsoft.Authorization/roleAssignments","name":"bd6bf5d5-fc1c-4fcd-81f3-0d11d3ff9f42"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-12-13T02:01:30.4183889Z","updatedOn":"2019-12-13T02:01:30.4183889Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4623d907-e6fa-4e2a-ad82-18e34456d655","type":"Microsoft.Authorization/roleAssignments","name":"4623d907-e6fa-4e2a-ad82-18e34456d655"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-03-25T08:37:49.6357044Z","updatedOn":"2020-03-25T08:37:49.6357044Z","createdBy":"471feb6d-5a83-439e-af7b-311f4eee2d0c","updatedBy":"471feb6d-5a83-439e-af7b-311f4eee2d0c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b332ab7b-a956-4e37-acc1-e4df2e9eedfa","type":"Microsoft.Authorization/roleAssignments","name":"b332ab7b-a956-4e37-acc1-e4df2e9eedfa"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-21T03:52:37.6293834Z","updatedOn":"2020-02-21T03:52:37.6293834Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2402af90-d517-4d1d-9ca1-7b85dfc17099","type":"Microsoft.Authorization/roleAssignments","name":"2402af90-d517-4d1d-9ca1-7b85dfc17099"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-28T01:00:41.8419503Z","updatedOn":"2020-04-28T01:00:41.8419503Z","createdBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","updatedBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4da426ac-99d3-442d-b868-532f3582429b","type":"Microsoft.Authorization/roleAssignments","name":"4da426ac-99d3-442d-b868-532f3582429b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-12-04T03:17:07.6866234Z","updatedOn":"2019-12-04T03:17:07.6866234Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b76e5f32-b37f-482c-a7a4-98ef34ecea8a","type":"Microsoft.Authorization/roleAssignments","name":"b76e5f32-b37f-482c-a7a4-98ef34ecea8a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-27T23:12:42.6196328Z","updatedOn":"2020-04-27T23:12:42.6196328Z","createdBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","updatedBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/bb61d9e5-3664-42b4-b41c-bc3e34701de6","type":"Microsoft.Authorization/roleAssignments","name":"bb61d9e5-3664-42b4-b41c-bc3e34701de6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-03-02T20:50:25.6909226Z","updatedOn":"2020-03-02T20:50:25.6909226Z","createdBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","updatedBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/95a9d3e8-db32-4a7f-ad9c-46054677ff39","type":"Microsoft.Authorization/roleAssignments","name":"95a9d3e8-db32-4a7f-ad9c-46054677ff39"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-16T20:48:38.9374068Z","updatedOn":"2020-04-16T20:48:38.9374068Z","createdBy":"c66b4485-d88a-4007-b687-4867ca3c076f","updatedBy":"c66b4485-d88a-4007-b687-4867ca3c076f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/45d89866-af64-4364-b886-7f5ec154c3d4","type":"Microsoft.Authorization/roleAssignments","name":"45d89866-af64-4364-b886-7f5ec154c3d4"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-20T08:42:00.9560545Z","updatedOn":"2020-04-20T08:42:00.9560545Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/7a41b62f-97d4-4f4c-8bfc-4a8dd708e00f","type":"Microsoft.Authorization/roleAssignments","name":"7a41b62f-97d4-4f4c-8bfc-4a8dd708e00f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-19T00:23:10.4351839Z","updatedOn":"2020-06-19T00:23:10.4351839Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c1eb6cee-ee7a-4ed5-a683-846f01688ab9","type":"Microsoft.Authorization/roleAssignments","name":"c1eb6cee-ee7a-4ed5-a683-846f01688ab9"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-07T01:58:45.6145522Z","updatedOn":"2020-05-07T01:58:45.6145522Z","createdBy":"4b5234ab-8f8d-429e-9e1c-ea5799b66ffa","updatedBy":"4b5234ab-8f8d-429e-9e1c-ea5799b66ffa","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/9d42f5af-b9f8-4cf4-b017-612fdbb4f8a7","type":"Microsoft.Authorization/roleAssignments","name":"9d42f5af-b9f8-4cf4-b017-612fdbb4f8a7"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-01-13T21:41:39.4063114Z","updatedOn":"2020-01-13T21:41:39.4063114Z","createdBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","updatedBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2226a2aa-7a47-4546-82ed-4e9e4536bc7b","type":"Microsoft.Authorization/roleAssignments","name":"2226a2aa-7a47-4546-82ed-4e9e4536bc7b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-23T03:10:28.2381030Z","updatedOn":"2020-04-23T03:10:28.2381030Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f98d1512-e634-4663-a219-24be2e6bfe1c","type":"Microsoft.Authorization/roleAssignments","name":"f98d1512-e634-4663-a219-24be2e6bfe1c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-01-30T22:50:20.7914421Z","updatedOn":"2019-01-30T22:50:20.7914421Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0bee5f49-7099-4a3c-9eef-b40697f6f371","type":"Microsoft.Authorization/roleAssignments","name":"0bee5f49-7099-4a3c-9eef-b40697f6f371"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-04T06:37:19.1237954Z","updatedOn":"2020-04-04T06:37:19.1237954Z","createdBy":"ed4707f4-8b58-42fe-9afd-0045d7a9b262","updatedBy":"ed4707f4-8b58-42fe-9afd-0045d7a9b262","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d2d2ec3b-f7e6-4dbb-b281-0ceb5f243d01","type":"Microsoft.Authorization/roleAssignments","name":"d2d2ec3b-f7e6-4dbb-b281-0ceb5f243d01"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-15T02:06:03.3308352Z","updatedOn":"2020-04-15T02:06:03.3308352Z","createdBy":"c212dea8-d0da-4832-bdb1-d9e2b7672c76","updatedBy":"c212dea8-d0da-4832-bdb1-d9e2b7672c76","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6142150e-c404-48e6-a731-fffb36357051","type":"Microsoft.Authorization/roleAssignments","name":"6142150e-c404-48e6-a731-fffb36357051"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-20T20:29:38.5194580Z","updatedOn":"2020-04-20T20:29:38.5194580Z","createdBy":"c66b4485-d88a-4007-b687-4867ca3c076f","updatedBy":"c66b4485-d88a-4007-b687-4867ca3c076f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/7682e420-ebd8-4c39-be01-8c1fc953f250","type":"Microsoft.Authorization/roleAssignments","name":"7682e420-ebd8-4c39-be01-8c1fc953f250"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2018-11-16T23:46:13.9660279Z","updatedOn":"2018-11-16T23:46:13.9660279Z","createdBy":"38d88515-7eb8-4c96-804f-4edcc95b9dff","updatedBy":"38d88515-7eb8-4c96-804f-4edcc95b9dff","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2b66b1ea-89dd-4bc6-8d89-96298648eb40","type":"Microsoft.Authorization/roleAssignments","name":"2b66b1ea-89dd-4bc6-8d89-96298648eb40"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-01-31T01:55:23.5911140Z","updatedOn":"2019-01-31T01:55:23.5911140Z","createdBy":"b47f071a-d6c9-4297-954e-83151fff489b","updatedBy":"b47f071a-d6c9-4297-954e-83151fff489b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/3359123d-b5f7-48d6-a1e7-ad77b7ef6b7f","type":"Microsoft.Authorization/roleAssignments","name":"3359123d-b5f7-48d6-a1e7-ad77b7ef6b7f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"Group","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2018-10-27T00:03:26.2878499Z","updatedOn":"2018-10-27T00:03:26.2878499Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ea920230-1aba-4f80-9eef-3fed8216f594","type":"Microsoft.Authorization/roleAssignments","name":"ea920230-1aba-4f80-9eef-3fed8216f594"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-03-25T08:25:35.9118633Z","updatedOn":"2020-03-25T08:25:35.9118633Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6559da2d-7b8e-4dfe-ba1d-dfedbd7c73a1","type":"Microsoft.Authorization/roleAssignments","name":"6559da2d-7b8e-4dfe-ba1d-dfedbd7c73a1"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-04T02:21:24.1380483Z","updatedOn":"2020-06-04T02:21:24.1380483Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f70af6d6-4511-4e74-b25f-9c15978d4859","type":"Microsoft.Authorization/roleAssignments","name":"f70af6d6-4511-4e74-b25f-9c15978d4859"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-10-26T01:25:12.5585896Z","updatedOn":"2019-10-26T01:25:12.5585896Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e5e4c17a-2a72-4b0e-8518-53afddc60b04","type":"Microsoft.Authorization/roleAssignments","name":"e5e4c17a-2a72-4b0e-8518-53afddc60b04"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-20T22:24:43.1326207Z","updatedOn":"2020-04-20T22:24:43.1326207Z","createdBy":"5ecb1531-0d8c-4a89-93cb-1b48b2224358","updatedBy":"5ecb1531-0d8c-4a89-93cb-1b48b2224358","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d54b05eb-b1d1-4845-8ac5-48c5bb4c50b6","type":"Microsoft.Authorization/roleAssignments","name":"d54b05eb-b1d1-4845-8ac5-48c5bb4c50b6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-03T09:55:40.2829720Z","updatedOn":"2020-04-03T09:55:40.2829720Z","createdBy":"0276227b-f99f-4db3-b016-9eebbdfe5dd9","updatedBy":"0276227b-f99f-4db3-b016-9eebbdfe5dd9","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c9c2a551-11aa-4b0a-8816-f8511cd46a32","type":"Microsoft.Authorization/roleAssignments","name":"c9c2a551-11aa-4b0a-8816-f8511cd46a32"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-29T03:57:30.1921503Z","updatedOn":"2020-04-29T03:57:30.1921503Z","createdBy":"a5cae52f-366a-417b-b718-e73d17746c35","updatedBy":"a5cae52f-366a-417b-b718-e73d17746c35","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b4a5f74f-d5b2-4fc7-bfa1-893cc5b9ad88","type":"Microsoft.Authorization/roleAssignments","name":"b4a5f74f-d5b2-4fc7-bfa1-893cc5b9ad88"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-21T06:59:06.6904070Z","updatedOn":"2020-04-21T06:59:06.6904070Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/8273f6ee-b861-42a0-8dec-475eb3215463","type":"Microsoft.Authorization/roleAssignments","name":"8273f6ee-b861-42a0-8dec-475eb3215463"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-29T17:47:02.9492136Z","updatedOn":"2020-06-29T17:47:02.9492136Z","createdBy":"c66b4485-d88a-4007-b687-4867ca3c076f","updatedBy":"c66b4485-d88a-4007-b687-4867ca3c076f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/5cae5324-e7eb-4c13-ba0d-80c801c2b744","type":"Microsoft.Authorization/roleAssignments","name":"5cae5324-e7eb-4c13-ba0d-80c801c2b744"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-29T15:40:03.6815875Z","updatedOn":"2020-04-29T15:40:03.6815875Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/09778426-699f-4faa-8016-5e6029e7313d","type":"Microsoft.Authorization/roleAssignments","name":"09778426-699f-4faa-8016-5e6029e7313d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-27T23:43:20.3428422Z","updatedOn":"2020-04-27T23:43:20.3428422Z","createdBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","updatedBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/271e5b8d-8684-4668-98b9-c3dc25f4b437","type":"Microsoft.Authorization/roleAssignments","name":"271e5b8d-8684-4668-98b9-c3dc25f4b437"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-03-26T21:10:42.2124416Z","updatedOn":"2020-03-26T21:10:42.2124416Z","createdBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","updatedBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d394da6c-4def-47de-8689-791727331c5b","type":"Microsoft.Authorization/roleAssignments","name":"d394da6c-4def-47de-8689-791727331c5b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-21T07:34:50.7125622Z","updatedOn":"2020-04-21T07:34:50.7125622Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ddeb2255-2bb6-458a-a891-532e96ae5483","type":"Microsoft.Authorization/roleAssignments","name":"ddeb2255-2bb6-458a-a891-532e96ae5483"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-23T04:07:45.3308845Z","updatedOn":"2020-06-23T04:07:45.3308845Z","createdBy":"9404195a-2cde-4a10-b88c-e7b41572bf31","updatedBy":"9404195a-2cde-4a10-b88c-e7b41572bf31","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/15d1dab1-b507-11ea-819c-a28e10bedef6","type":"Microsoft.Authorization/roleAssignments","name":"15d1dab1-b507-11ea-819c-a28e10bedef6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-13T00:09:08.8179220Z","updatedOn":"2020-05-13T00:09:08.8179220Z","createdBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","updatedBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/08a578f0-4875-47d0-8775-946b3a0f2b06","type":"Microsoft.Authorization/roleAssignments","name":"08a578f0-4875-47d0-8775-946b3a0f2b06"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-10T23:15:46.8549700Z","updatedOn":"2020-05-10T23:15:46.8549700Z","createdBy":"c1acf319-6d96-4dfe-b194-c27640869947","updatedBy":"c1acf319-6d96-4dfe-b194-c27640869947","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/22d3da65-7681-445e-9080-e748e494676f","type":"Microsoft.Authorization/roleAssignments","name":"22d3da65-7681-445e-9080-e748e494676f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-08-29T13:30:14.1177711Z","updatedOn":"2019-08-29T13:30:14.1177711Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4a2c1014-c1ba-4ae9-a632-90967c28429d","type":"Microsoft.Authorization/roleAssignments","name":"4a2c1014-c1ba-4ae9-a632-90967c28429d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-27T01:26:21.7189691Z","updatedOn":"2020-02-27T01:26:21.7189691Z","createdBy":"c1acf319-6d96-4dfe-b194-c27640869947","updatedBy":"c1acf319-6d96-4dfe-b194-c27640869947","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/28808064-5900-11ea-81c8-acde48001122","type":"Microsoft.Authorization/roleAssignments","name":"28808064-5900-11ea-81c8-acde48001122"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-10-31T20:08:15.8705805Z","updatedOn":"2019-10-31T20:08:15.8705805Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e47c861f-a9eb-46c0-b2e2-102033a5c009","type":"Microsoft.Authorization/roleAssignments","name":"e47c861f-a9eb-46c0-b2e2-102033a5c009"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-28T00:17:14.5340823Z","updatedOn":"2020-04-28T00:17:14.5340823Z","createdBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","updatedBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f7e6b175-9796-4292-bf64-1683aa14312f","type":"Microsoft.Authorization/roleAssignments","name":"f7e6b175-9796-4292-bf64-1683aa14312f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-20T08:30:00.0256525Z","updatedOn":"2020-04-20T08:30:00.0256525Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a91f5ef0-1d9b-453e-8f90-43826c3652dd","type":"Microsoft.Authorization/roleAssignments","name":"a91f5ef0-1d9b-453e-8f90-43826c3652dd"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-14T00:22:19.2644898Z","updatedOn":"2020-04-14T00:22:19.2644898Z","createdBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","updatedBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/420714ce-6b24-4ce2-b7ee-51554de01de7","type":"Microsoft.Authorization/roleAssignments","name":"420714ce-6b24-4ce2-b7ee-51554de01de7"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-28T00:53:44.9077172Z","updatedOn":"2020-04-28T00:53:44.9077172Z","createdBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","updatedBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2940c5e2-5742-42aa-9569-e68c698a01d6","type":"Microsoft.Authorization/roleAssignments","name":"2940c5e2-5742-42aa-9569-e68c698a01d6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"Group","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-01-30T19:30:49.2769608Z","updatedOn":"2019-01-30T19:30:49.2769608Z","createdBy":"b47f071a-d6c9-4297-954e-83151fff489b","updatedBy":"b47f071a-d6c9-4297-954e-83151fff489b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/310957e5-5722-42e0-95b6-5bc6c6b67f16","type":"Microsoft.Authorization/roleAssignments","name":"310957e5-5722-42e0-95b6-5bc6c6b67f16"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-07-03T01:05:25.8863198Z","updatedOn":"2020-07-03T01:05:25.8863198Z","createdBy":"7ac4ca6d-46a3-4e71-a705-858af50eea7b","updatedBy":"7ac4ca6d-46a3-4e71-a705-858af50eea7b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/46877403-bcc9-11ea-924f-00155d871f03","type":"Microsoft.Authorization/roleAssignments","name":"46877403-bcc9-11ea-924f-00155d871f03"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-02T16:19:56.1932050Z","updatedOn":"2020-06-02T16:19:56.1932050Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/de7bdfed-5cc5-47e2-9008-327939dc8379","type":"Microsoft.Authorization/roleAssignments","name":"de7bdfed-5cc5-47e2-9008-327939dc8379"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-03-28T19:57:23.3708745Z","updatedOn":"2019-03-28T19:57:23.3708745Z","createdBy":"66cb050e-bae1-4005-8c4c-0f6dd9b34978","updatedBy":"66cb050e-bae1-4005-8c4c-0f6dd9b34978","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/cc796cab-2f6b-4099-b9a3-7500f5516153","type":"Microsoft.Authorization/roleAssignments","name":"cc796cab-2f6b-4099-b9a3-7500f5516153"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-24T02:12:40.2606628Z","updatedOn":"2020-04-24T02:12:40.2606628Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6a375386-4cb0-47fd-952c-92465f6d679d","type":"Microsoft.Authorization/roleAssignments","name":"6a375386-4cb0-47fd-952c-92465f6d679d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-03-30T22:56:44.9793119Z","updatedOn":"2020-03-30T22:56:44.9793119Z","createdBy":"53bb8815-874d-4b05-9953-1158e05aa080","updatedBy":"53bb8815-874d-4b05-9953-1158e05aa080","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/000ea275-41c4-40ce-943f-98a8849a56bc","type":"Microsoft.Authorization/roleAssignments","name":"000ea275-41c4-40ce-943f-98a8849a56bc"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-12-13T02:01:31.6182075Z","updatedOn":"2019-12-13T02:01:31.6182075Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d3ea741e-fdf8-4780-a73f-bbc0efbd141c","type":"Microsoft.Authorization/roleAssignments","name":"d3ea741e-fdf8-4780-a73f-bbc0efbd141c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-23T05:07:17.2382220Z","updatedOn":"2020-06-23T05:07:17.2382220Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4202823d-7518-46d1-b5ff-b6c7cb7b9dd3","type":"Microsoft.Authorization/roleAssignments","name":"4202823d-7518-46d1-b5ff-b6c7cb7b9dd3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-18T12:01:15.4801397Z","updatedOn":"2020-05-18T12:01:15.4801397Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4c04d5e5-df60-47b9-abde-aa9641425c64","type":"Microsoft.Authorization/roleAssignments","name":"4c04d5e5-df60-47b9-abde-aa9641425c64"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-10T01:13:53.0806696Z","updatedOn":"2020-06-10T01:13:53.0806696Z","createdBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","updatedBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a584fad9-aab7-11ea-b7e7-00155d4b0124","type":"Microsoft.Authorization/roleAssignments","name":"a584fad9-aab7-11ea-b7e7-00155d4b0124"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-07-03T07:48:19.4504494Z","updatedOn":"2020-07-03T07:48:19.4504494Z","createdBy":"471feb6d-5a83-439e-af7b-311f4eee2d0c","updatedBy":"471feb6d-5a83-439e-af7b-311f4eee2d0c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/28dd25b5-e359-4d3d-9632-bcd15c3fa296","type":"Microsoft.Authorization/roleAssignments","name":"28dd25b5-e359-4d3d-9632-bcd15c3fa296"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-09T00:52:51.5057560Z","updatedOn":"2020-06-09T00:52:51.5057560Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6d91fd42-bd38-4380-8f63-993e49f83833","type":"Microsoft.Authorization/roleAssignments","name":"6d91fd42-bd38-4380-8f63-993e49f83833"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-09-20T20:32:24.1155446Z","updatedOn":"2019-09-20T20:32:24.1155446Z","createdBy":"66cb050e-bae1-4005-8c4c-0f6dd9b34978","updatedBy":"66cb050e-bae1-4005-8c4c-0f6dd9b34978","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c1a9a09e-eafe-4c97-b589-a8261ee04099","type":"Microsoft.Authorization/roleAssignments","name":"c1a9a09e-eafe-4c97-b589-a8261ee04099"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-12T00:23:23.9037436Z","updatedOn":"2020-05-12T00:23:23.9037436Z","createdBy":"c1acf319-6d96-4dfe-b194-c27640869947","updatedBy":"c1acf319-6d96-4dfe-b194-c27640869947","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6ff95229-981f-40d7-889f-97bc90b8f387","type":"Microsoft.Authorization/roleAssignments","name":"6ff95229-981f-40d7-889f-97bc90b8f387"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-09T00:52:52.1315983Z","updatedOn":"2020-06-09T00:52:52.1315983Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/7512dec1-86e5-400d-8bc9-f24f181127f3","type":"Microsoft.Authorization/roleAssignments","name":"7512dec1-86e5-400d-8bc9-f24f181127f3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-12-30T03:12:58.1455315Z","updatedOn":"2019-12-30T03:12:58.1455315Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/091713ce-9ee7-445d-beaf-708ee254b129","type":"Microsoft.Authorization/roleAssignments","name":"091713ce-9ee7-445d-beaf-708ee254b129"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-04-19T04:20:34.3557776Z","updatedOn":"2019-04-19T04:20:34.3557776Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/092a238c-94af-4fca-bd4a-bb4995ea58db","type":"Microsoft.Authorization/roleAssignments","name":"092a238c-94af-4fca-bd4a-bb4995ea58db"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-14T04:03:23.9185561Z","updatedOn":"2020-04-14T04:03:23.9185561Z","createdBy":"c212dea8-d0da-4832-bdb1-d9e2b7672c76","updatedBy":"c212dea8-d0da-4832-bdb1-d9e2b7672c76","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0f0f495d-0356-4239-b966-3f47f5f1054a","type":"Microsoft.Authorization/roleAssignments","name":"0f0f495d-0356-4239-b966-3f47f5f1054a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-20T20:29:38.4023513Z","updatedOn":"2020-04-20T20:29:38.4023513Z","createdBy":"c66b4485-d88a-4007-b687-4867ca3c076f","updatedBy":"c66b4485-d88a-4007-b687-4867ca3c076f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b3276191-98a8-472b-b650-21c8d24b7464","type":"Microsoft.Authorization/roleAssignments","name":"b3276191-98a8-472b-b650-21c8d24b7464"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-16T02:06:59.0490140Z","updatedOn":"2020-05-16T02:06:59.0490140Z","createdBy":"53bb8815-874d-4b05-9953-1158e05aa080","updatedBy":"53bb8815-874d-4b05-9953-1158e05aa080","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2cf7ea7b-3bdd-44ea-966b-b4eb4e7813fa","type":"Microsoft.Authorization/roleAssignments","name":"2cf7ea7b-3bdd-44ea-966b-b4eb4e7813fa"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-13T22:32:47.4470861Z","updatedOn":"2020-04-13T22:32:47.4470861Z","createdBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","updatedBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/93ce765f-2d72-454b-816b-ba287754fe5a","type":"Microsoft.Authorization/roleAssignments","name":"93ce765f-2d72-454b-816b-ba287754fe5a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-14T00:42:59.8868253Z","updatedOn":"2020-05-14T00:42:59.8868253Z","createdBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","updatedBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6b3c8d44-237c-410c-a095-52ded7f5cd26","type":"Microsoft.Authorization/roleAssignments","name":"6b3c8d44-237c-410c-a095-52ded7f5cd26"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-11T13:26:01.9493491Z","updatedOn":"2020-02-11T13:26:01.9493491Z","createdBy":"0276227b-f99f-4db3-b016-9eebbdfe5dd9","updatedBy":"0276227b-f99f-4db3-b016-9eebbdfe5dd9","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/8fab1ba3-53c2-4b21-9d32-dc89fd061811","type":"Microsoft.Authorization/roleAssignments","name":"8fab1ba3-53c2-4b21-9d32-dc89fd061811"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-04-19T22:53:47.5902917Z","updatedOn":"2019-04-19T22:53:47.5902917Z","createdBy":"66cb050e-bae1-4005-8c4c-0f6dd9b34978","updatedBy":"66cb050e-bae1-4005-8c4c-0f6dd9b34978","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/1f9d617d-8ab5-4f63-8c85-445f6c30632f","type":"Microsoft.Authorization/roleAssignments","name":"1f9d617d-8ab5-4f63-8c85-445f6c30632f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-03T05:34:39.2163770Z","updatedOn":"2020-04-03T05:34:39.2163770Z","createdBy":"ed4707f4-8b58-42fe-9afd-0045d7a9b262","updatedBy":"ed4707f4-8b58-42fe-9afd-0045d7a9b262","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/8e4edc2a-dd1f-469b-9a44-f0693866b843","type":"Microsoft.Authorization/roleAssignments","name":"8e4edc2a-dd1f-469b-9a44-f0693866b843"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-12T21:48:57.3001992Z","updatedOn":"2020-05-12T21:48:57.3001992Z","createdBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","updatedBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/dcc102ec-9c04-4c7c-976e-94c72db42b49","type":"Microsoft.Authorization/roleAssignments","name":"dcc102ec-9c04-4c7c-976e-94c72db42b49"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-06-26T06:44:38.5656650Z","updatedOn":"2019-06-26T06:44:38.5656650Z","createdBy":"f058371f-0c0e-46bb-a5d4-f8aec637a467","updatedBy":"f058371f-0c0e-46bb-a5d4-f8aec637a467","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a2cc1fcf-6ce5-4bd8-94c9-e0e6aa788a1d","type":"Microsoft.Authorization/roleAssignments","name":"a2cc1fcf-6ce5-4bd8-94c9-e0e6aa788a1d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-20T19:40:09.1141460Z","updatedOn":"2020-02-20T19:40:09.1141460Z","createdBy":"c1acf319-6d96-4dfe-b194-c27640869947","updatedBy":"c1acf319-6d96-4dfe-b194-c27640869947","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d4673bf4-97da-4102-9284-2a7315b88a34","type":"Microsoft.Authorization/roleAssignments","name":"d4673bf4-97da-4102-9284-2a7315b88a34"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-23T05:07:14.6947730Z","updatedOn":"2020-06-23T05:07:14.6947730Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/bec06514-2b3f-4a1f-92f2-cbb30828f447","type":"Microsoft.Authorization/roleAssignments","name":"bec06514-2b3f-4a1f-92f2-cbb30828f447"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-21T07:19:44.2488168Z","updatedOn":"2020-04-21T07:19:44.2488168Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/fadbe071-d757-48fc-b82a-4784249ded10","type":"Microsoft.Authorization/roleAssignments","name":"fadbe071-d757-48fc-b82a-4784249ded10"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-12-13T02:01:31.7381957Z","updatedOn":"2019-12-13T02:01:31.7381957Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6e035090-e3f8-4bb2-b117-fac2fba706b2","type":"Microsoft.Authorization/roleAssignments","name":"6e035090-e3f8-4bb2-b117-fac2fba706b2"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-03-12T17:29:23.0437979Z","updatedOn":"2019-03-12T17:29:23.0437979Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a7e76154-c2a7-4419-b73f-e8c6010318c9","type":"Microsoft.Authorization/roleAssignments","name":"a7e76154-c2a7-4419-b73f-e8c6010318c9"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-26T19:29:06.9092628Z","updatedOn":"2020-05-26T19:29:06.9092628Z","createdBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","updatedBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c0b0f01a-d6f2-4c1f-879d-10bdc2f1aee5","type":"Microsoft.Authorization/roleAssignments","name":"c0b0f01a-d6f2-4c1f-879d-10bdc2f1aee5"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-21T07:40:03.0117061Z","updatedOn":"2020-02-21T07:40:03.0117061Z","createdBy":"0276227b-f99f-4db3-b016-9eebbdfe5dd9","updatedBy":"0276227b-f99f-4db3-b016-9eebbdfe5dd9","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e5c1eb24-09ad-487a-8286-8bb2841d311d","type":"Microsoft.Authorization/roleAssignments","name":"e5c1eb24-09ad-487a-8286-8bb2841d311d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-17T00:59:53.8734172Z","updatedOn":"2020-06-17T00:59:53.8734172Z","createdBy":"82e11ed5-c720-4c8d-b396-a2fcd9e4291f","updatedBy":"82e11ed5-c720-4c8d-b396-a2fcd9e4291f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d7f69b6b-b035-11ea-a6dd-000d3aa35713","type":"Microsoft.Authorization/roleAssignments","name":"d7f69b6b-b035-11ea-a6dd-000d3aa35713"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-23T14:27:52.3922162Z","updatedOn":"2020-04-23T14:27:52.3922162Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/9acabd34-856e-11ea-98ae-acbc329aaf8b","type":"Microsoft.Authorization/roleAssignments","name":"9acabd34-856e-11ea-98ae-acbc329aaf8b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-20T20:29:38.3267905Z","updatedOn":"2020-04-20T20:29:38.3267905Z","createdBy":"c66b4485-d88a-4007-b687-4867ca3c076f","updatedBy":"c66b4485-d88a-4007-b687-4867ca3c076f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ac979adb-819c-4fae-98bc-6a6c81bc76b1","type":"Microsoft.Authorization/roleAssignments","name":"ac979adb-819c-4fae-98bc-6a6c81bc76b1"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2018-02-06T23:56:15.2220285Z","updatedOn":"2018-02-06T23:56:15.2220285Z","createdBy":"b87c5c16-4f0e-4af2-9b2e-20f25d6b5a3f","updatedBy":"b87c5c16-4f0e-4af2-9b2e-20f25d6b5a3f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f54c2ddd-8858-4c40-bdec-25546c985154","type":"Microsoft.Authorization/roleAssignments","name":"f54c2ddd-8858-4c40-bdec-25546c985154"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-20T20:29:38.3023490Z","updatedOn":"2020-04-20T20:29:38.3023490Z","createdBy":"c66b4485-d88a-4007-b687-4867ca3c076f","updatedBy":"c66b4485-d88a-4007-b687-4867ca3c076f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/bf46ff50-6187-4a95-afd4-b811c1a8b239","type":"Microsoft.Authorization/roleAssignments","name":"bf46ff50-6187-4a95-afd4-b811c1a8b239"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-02-02T04:47:03.2856858Z","updatedOn":"2019-02-02T04:47:03.2856858Z","createdBy":"66cb050e-bae1-4005-8c4c-0f6dd9b34978","updatedBy":"66cb050e-bae1-4005-8c4c-0f6dd9b34978","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/11737a1b-2cf4-4fca-8c36-4ef79e0df5b0","type":"Microsoft.Authorization/roleAssignments","name":"11737a1b-2cf4-4fca-8c36-4ef79e0df5b0"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-02T23:56:53.9541160Z","updatedOn":"2020-04-02T23:56:53.9541160Z","createdBy":"53bb8815-874d-4b05-9953-1158e05aa080","updatedBy":"53bb8815-874d-4b05-9953-1158e05aa080","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/700e8068-ae0c-4176-8e70-8958a82a4aa1","type":"Microsoft.Authorization/roleAssignments","name":"700e8068-ae0c-4176-8e70-8958a82a4aa1"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-08-02T07:21:13.1302112Z","updatedOn":"2019-08-02T07:21:13.1302112Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/98328e7b-c22c-4a4b-bcae-25953d0c52f3","type":"Microsoft.Authorization/roleAssignments","name":"98328e7b-c22c-4a4b-bcae-25953d0c52f3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-28T03:13:08.9833014Z","updatedOn":"2020-04-28T03:13:08.9833014Z","createdBy":"547f6960-a967-417a-a9a4-0f35fbdca11c","updatedBy":"547f6960-a967-417a-a9a4-0f35fbdca11c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/5479cc1b-0762-40bd-862d-7369aa1ff685","type":"Microsoft.Authorization/roleAssignments","name":"5479cc1b-0762-40bd-862d-7369aa1ff685"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-04T02:11:30.6140935Z","updatedOn":"2020-02-04T02:11:30.6140935Z","createdBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","updatedBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/495c765c-e6e2-4582-9ab6-ad9abf7e5064","type":"Microsoft.Authorization/roleAssignments","name":"495c765c-e6e2-4582-9ab6-ad9abf7e5064"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-08-06T03:04:23.5398083Z","updatedOn":"2019-08-06T03:04:23.5398083Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/958e790f-1635-4dd3-b718-5403a1342a66","type":"Microsoft.Authorization/roleAssignments","name":"958e790f-1635-4dd3-b718-5403a1342a66"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-01-10T01:23:31.4432043Z","updatedOn":"2020-01-10T01:23:31.4432043Z","createdBy":"09914860-7ec9-4151-8431-31797899a359","updatedBy":"09914860-7ec9-4151-8431-31797899a359","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/151d14b1-b26a-47b9-be10-255bf562d592","type":"Microsoft.Authorization/roleAssignments","name":"151d14b1-b26a-47b9-be10-255bf562d592"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-12-13T02:02:28.2288268Z","updatedOn":"2019-12-13T02:02:28.2288268Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/11ddfea7-616f-499f-9975-e8513b60eb3c","type":"Microsoft.Authorization/roleAssignments","name":"11ddfea7-616f-499f-9975-e8513b60eb3c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-03-16T23:29:48.3209681Z","updatedOn":"2020-03-16T23:29:48.3209681Z","createdBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","updatedBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/3eb4155b-2965-456b-8f00-bca8a13b1684","type":"Microsoft.Authorization/roleAssignments","name":"3eb4155b-2965-456b-8f00-bca8a13b1684"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-05T14:05:58.2716050Z","updatedOn":"2021-04-05T14:05:58.2716050Z","createdBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","updatedBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0a9b0e6a-9618-11eb-879a-88e9fe77e044","type":"Microsoft.Authorization/roleAssignments","name":"0a9b0e6a-9618-11eb-879a-88e9fe77e044"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-05T17:37:43.7040494Z","updatedOn":"2021-04-05T17:37:43.7040494Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a04b0948-9635-11eb-b395-acde48001122","type":"Microsoft.Authorization/roleAssignments","name":"a04b0948-9635-11eb-b395-acde48001122"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-05T23:56:38.0963501Z","updatedOn":"2021-04-05T23:56:38.0963501Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/80ef7746-a500-41bc-9154-bf710a740c8f","type":"Microsoft.Authorization/roleAssignments","name":"80ef7746-a500-41bc-9154-bf710a740c8f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-06T02:08:10.5378297Z","updatedOn":"2021-04-06T02:08:10.5378297Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/627cf393-9c97-4b8d-8e68-3188a44d3347","type":"Microsoft.Authorization/roleAssignments","name":"627cf393-9c97-4b8d-8e68-3188a44d3347"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-06T02:24:11.2891190Z","updatedOn":"2021-04-06T02:24:11.2891190Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2845ac64-e36c-43b7-8958-033805cafe86","type":"Microsoft.Authorization/roleAssignments","name":"2845ac64-e36c-43b7-8958-033805cafe86"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-06T02:24:39.3826587Z","updatedOn":"2021-04-06T02:24:39.3826587Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6c21611b-a840-4166-b9f4-8cec90c17841","type":"Microsoft.Authorization/roleAssignments","name":"6c21611b-a840-4166-b9f4-8cec90c17841"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-06T02:24:39.4154930Z","updatedOn":"2021-04-06T02:24:39.4154930Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/925d4876-8fde-4334-8f84-4ce52ca7108e","type":"Microsoft.Authorization/roleAssignments","name":"925d4876-8fde-4334-8f84-4ce52ca7108e"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-06T04:46:32.1029699Z","updatedOn":"2021-04-06T04:46:32.1029699Z","createdBy":"9404195a-2cde-4a10-b88c-e7b41572bf31","updatedBy":"9404195a-2cde-4a10-b88c-e7b41572bf31","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0dfdb837-9693-11eb-b629-b6178ece78ec","type":"Microsoft.Authorization/roleAssignments","name":"0dfdb837-9693-11eb-b629-b6178ece78ec"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"Group","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-06T11:25:43.5702772Z","updatedOn":"2021-04-06T11:25:43.5702772Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/958a1320-4346-46fb-9722-828af239eb03","type":"Microsoft.Authorization/roleAssignments","name":"958a1320-4346-46fb-9722-828af239eb03"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-06T20:54:21.5921112Z","updatedOn":"2021-04-06T20:54:21.5921112Z","createdBy":"f5d11ebc-8494-4b5f-a0fc-5fbbfd56f7bb","updatedBy":"f5d11ebc-8494-4b5f-a0fc-5fbbfd56f7bb","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/42ad5638-971a-11eb-abf6-00155d3a4c00","type":"Microsoft.Authorization/roleAssignments","name":"42ad5638-971a-11eb-abf6-00155d3a4c00"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-06T23:22:50.4425724Z","updatedOn":"2021-04-06T23:22:50.4425724Z","createdBy":"ad232e99-5e1b-414e-aa53-96ae40d39f3e","updatedBy":"ad232e99-5e1b-414e-aa53-96ae40d39f3e","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/00a90f2a-972f-11eb-9121-acde48001122","type":"Microsoft.Authorization/roleAssignments","name":"00a90f2a-972f-11eb-9121-acde48001122"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-06T23:57:47.7182520Z","updatedOn":"2021-04-06T23:57:47.7182520Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/fb99837b-1f81-4e7c-afdf-5a5da79bc3e3","type":"Microsoft.Authorization/roleAssignments","name":"fb99837b-1f81-4e7c-afdf-5a5da79bc3e3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-07T00:26:49.7250016Z","updatedOn":"2021-04-07T00:26:49.7250016Z","createdBy":"88f18750-8181-4579-8eff-eb44f510655c","updatedBy":"88f18750-8181-4579-8eff-eb44f510655c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/dca2df37-fdd1-49dc-a1de-31a70d62e098","type":"Microsoft.Authorization/roleAssignments","name":"dca2df37-fdd1-49dc-a1de-31a70d62e098"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-07T09:10:47.4905668Z","updatedOn":"2021-04-07T09:10:47.4905668Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/8a5dbdef-0896-48cd-a325-318e807ea133","type":"Microsoft.Authorization/roleAssignments","name":"8a5dbdef-0896-48cd-a325-318e807ea133"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-07T09:44:09.4148366Z","updatedOn":"2021-04-07T09:44:09.4148366Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/19eb9977-62b0-4571-8d91-9342f2580a32","type":"Microsoft.Authorization/roleAssignments","name":"19eb9977-62b0-4571-8d91-9342f2580a32"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-07T19:55:01.1984055Z","updatedOn":"2021-04-07T19:55:01.1984055Z","createdBy":"1b081df7-da49-42b3-a427-9cb93114bf07","updatedBy":"1b081df7-da49-42b3-a427-9cb93114bf07","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2301d942-97db-11eb-8bf8-acde48001122","type":"Microsoft.Authorization/roleAssignments","name":"2301d942-97db-11eb-8bf8-acde48001122"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-07T22:36:06.7954601Z","updatedOn":"2021-04-07T22:36:06.7954601Z","createdBy":"f31399da-e7ed-4fe4-a825-a9dff4f53481","updatedBy":"f31399da-e7ed-4fe4-a825-a9dff4f53481","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6070c7de-7571-4d55-8b2f-85285b7d9675","type":"Microsoft.Authorization/roleAssignments","name":"6070c7de-7571-4d55-8b2f-85285b7d9675"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-09T01:23:36.6710425Z","updatedOn":"2021-04-09T01:23:36.6710425Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/8f1c810a-91db-403c-8c1b-e36ef5e3f2ae","type":"Microsoft.Authorization/roleAssignments","name":"8f1c810a-91db-403c-8c1b-e36ef5e3f2ae"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-09T08:31:55.6753945Z","updatedOn":"2021-04-09T08:31:55.6753945Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/cb17ef81-685c-44f9-b679-244ff9cecfca","type":"Microsoft.Authorization/roleAssignments","name":"cb17ef81-685c-44f9-b679-244ff9cecfca"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-07-13T08:23:22.5067480Z","updatedOn":"2020-07-13T08:23:22.5067480Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d620bc90-9de4-4ae7-b69a-0b2489f91897","type":"Microsoft.Authorization/roleAssignments","name":"d620bc90-9de4-4ae7-b69a-0b2489f91897"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-07-17T03:14:37.5069272Z","updatedOn":"2020-07-17T03:14:37.5069272Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0d5c6698-a390-411c-a028-5ef6510a7db3","type":"Microsoft.Authorization/roleAssignments","name":"0d5c6698-a390-411c-a028-5ef6510a7db3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-08T10:10:14.5504056Z","updatedOn":"2021-03-08T10:10:14.5504056Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/067c1708-f33d-4c8c-9962-1115d573b010","type":"Microsoft.Authorization/roleAssignments","name":"067c1708-f33d-4c8c-9962-1115d573b010"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-12T17:41:39.7941619Z","updatedOn":"2021-03-12T17:41:39.7941619Z","createdBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","updatedBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d4625aa1-611e-448a-bf3e-f37f2bc878a3","type":"Microsoft.Authorization/roleAssignments","name":"d4625aa1-611e-448a-bf3e-f37f2bc878a3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-13T00:16:30.5211415Z","updatedOn":"2021-03-13T00:16:30.5211415Z","createdBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","updatedBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6bb77919-c820-434e-8b05-534269176a2c","type":"Microsoft.Authorization/roleAssignments","name":"6bb77919-c820-434e-8b05-534269176a2c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-13T10:12:45.2534236Z","updatedOn":"2021-03-13T10:12:45.2534236Z","createdBy":"8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9","updatedBy":"8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e975bb7b-054a-46af-9bb3-cac6dceabf4c","type":"Microsoft.Authorization/roleAssignments","name":"e975bb7b-054a-46af-9bb3-cac6dceabf4c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-16T23:49:03.3523073Z","updatedOn":"2021-03-16T23:49:03.3523073Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f33005f1-10be-43e3-a87f-9e2f954fb2db","type":"Microsoft.Authorization/roleAssignments","name":"f33005f1-10be-43e3-a87f-9e2f954fb2db"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-17T00:39:07.7760935Z","updatedOn":"2021-03-17T00:39:07.7760935Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a747debe-4a66-476a-9577-0b1a640750ef","type":"Microsoft.Authorization/roleAssignments","name":"a747debe-4a66-476a-9577-0b1a640750ef"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-22T03:25:46.9853541Z","updatedOn":"2021-03-22T03:25:46.9853541Z","createdBy":"09914860-7ec9-4151-8431-31797899a359","updatedBy":"09914860-7ec9-4151-8431-31797899a359","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/815c5875-b3b0-4595-ba0f-5f3ab8b57871","type":"Microsoft.Authorization/roleAssignments","name":"815c5875-b3b0-4595-ba0f-5f3ab8b57871"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-25T00:58:10.6501184Z","updatedOn":"2021-03-25T00:58:10.6501184Z","createdBy":"243a3958-b8d3-4c74-ad3f-77b916846d93","updatedBy":"243a3958-b8d3-4c74-ad3f-77b916846d93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2aca810c-8d05-11eb-bd25-000d3a4359fa","type":"Microsoft.Authorization/roleAssignments","name":"2aca810c-8d05-11eb-bd25-000d3a4359fa"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-26T10:13:53.8091651Z","updatedOn":"2021-03-26T10:13:53.8091651Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d850ab91-9de8-4c27-8667-99ba5677c4c2","type":"Microsoft.Authorization/roleAssignments","name":"d850ab91-9de8-4c27-8667-99ba5677c4c2"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-26T10:24:43.4077585Z","updatedOn":"2021-03-26T10:24:43.4077585Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/779ad30e-8e1d-11eb-8aa9-000d3ac754e3","type":"Microsoft.Authorization/roleAssignments","name":"779ad30e-8e1d-11eb-8aa9-000d3ac754e3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-26T15:24:46.1413686Z","updatedOn":"2021-03-26T15:24:46.1413686Z","createdBy":"547f6960-a967-417a-a9a4-0f35fbdca11c","updatedBy":"547f6960-a967-417a-a9a4-0f35fbdca11c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/9a54bdb6-bda6-470e-935c-bfa23f846e98","type":"Microsoft.Authorization/roleAssignments","name":"9a54bdb6-bda6-470e-935c-bfa23f846e98"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-31T01:48:40.0937142Z","updatedOn":"2021-03-31T01:48:40.0937142Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/cd309898-e4ed-438e-b8f9-66fbb4d776bc","type":"Microsoft.Authorization/roleAssignments","name":"cd309898-e4ed-438e-b8f9-66fbb4d776bc"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-07-07T21:38:16.9089220Z","updatedOn":"2020-07-07T21:38:16.9089220Z","createdBy":"67f96a40-adf7-4f43-888f-33526c5cfa95","updatedBy":"67f96a40-adf7-4f43-888f-33526c5cfa95","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2d34e25a-c09a-11ea-893f-eefa4c05adfb","type":"Microsoft.Authorization/roleAssignments","name":"2d34e25a-c09a-11ea-893f-eefa4c05adfb"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-07-07T23:59:03.3157569Z","updatedOn":"2020-07-07T23:59:03.3157569Z","createdBy":"1ec25b73-94d5-4bf9-a56f-ca7d9bd4164c","updatedBy":"1ec25b73-94d5-4bf9-a56f-ca7d9bd4164c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/718cdad6-cc40-415b-aae3-f356df943d39","type":"Microsoft.Authorization/roleAssignments","name":"718cdad6-cc40-415b-aae3-f356df943d39"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/c92f8fe1-e3cb-47e8-a01d-0771814c0dad","condition":null,"conditionVersion":null,"createdOn":"2019-03-26T22:01:02.8423155Z","updatedOn":"2019-03-26T22:01:02.8423155Z","createdBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818","updatedBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/c92f8fe1-e3cb-47e8-a01d-0771814c0dad/providers/Microsoft.Authorization/roleAssignments/3d069c98-e792-47bd-b58a-399e2d42dbab","type":"Microsoft.Authorization/roleAssignments","name":"3d069c98-e792-47bd-b58a-399e2d42dbab"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/f25e0fa2-a7c8-4377-a976-54943a77a395","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/c92f8fe1-e3cb-47e8-a01d-0771814c0dad","condition":null,"conditionVersion":null,"createdOn":"2021-04-09T18:15:49.7063250Z","updatedOn":"2021-04-09T18:15:49.7063250Z","createdBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","updatedBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/c92f8fe1-e3cb-47e8-a01d-0771814c0dad/providers/Microsoft.Authorization/roleAssignments/a6b435df-80e6-4a7b-b109-2af5f373d238","type":"Microsoft.Authorization/roleAssignments","name":"a6b435df-80e6-4a7b-b109-2af5f373d238"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod","condition":null,"conditionVersion":null,"createdOn":"2019-03-26T22:01:02.9176787Z","updatedOn":"2019-03-26T22:01:02.9176787Z","createdBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818","updatedBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod/providers/Microsoft.Authorization/roleAssignments/4b771ea9-81de-4fc4-aa28-a3a0b9b4a320","type":"Microsoft.Authorization/roleAssignments","name":"4b771ea9-81de-4fc4-aa28-a3a0b9b4a320"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/36243c78-bf99-498c-9df9-86d9f8d28608","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod","condition":null,"conditionVersion":null,"createdOn":"2019-03-27T00:49:37.3000523Z","updatedOn":"2019-03-27T00:49:37.3000523Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod/providers/Microsoft.Authorization/roleAssignments/e6e1fffd-83f7-40c7-9f33-e56e2cf75b29","type":"Microsoft.Authorization/roleAssignments","name":"e6e1fffd-83f7-40c7-9f33-e56e2cf75b29"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/5d58bcaf-24a5-4b20-bdb6-eed9f69fbe4c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod","condition":null,"conditionVersion":null,"createdOn":"2019-03-27T00:50:08.3039053Z","updatedOn":"2019-03-27T00:50:08.3039053Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod/providers/Microsoft.Authorization/roleAssignments/3d01f56e-ee3a-41ed-a775-0e067546cb12","type":"Microsoft.Authorization/roleAssignments","name":"3d01f56e-ee3a-41ed-a775-0e067546cb12"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/72f988bf-86f1-41af-91ab-2d7cd011db47","condition":null,"conditionVersion":null,"createdOn":"2020-03-12T20:43:06.5941189Z","updatedOn":"2020-03-12T20:43:06.5941189Z","createdBy":"606f48c8-d219-4875-991d-ae6befaf0756","updatedBy":"606f48c8-d219-4875-991d-ae6befaf0756","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/72f988bf-86f1-41af-91ab-2d7cd011db47/providers/Microsoft.Authorization/roleAssignments/ad9e2cd7-0ff7-4931-9b17-656c8f17934b","type":"Microsoft.Authorization/roleAssignments","name":"ad9e2cd7-0ff7-4931-9b17-656c8f17934b"}]}' + string: '{"value":[{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/","condition":null,"conditionVersion":null,"createdOn":"2018-02-27T19:19:50.2663941Z","updatedOn":"2018-02-27T19:19:50.2663941Z","createdBy":null,"updatedBy":null,"delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Authorization/roleAssignments/3e883d24-b106-42ff-ad13-d7bf271b964d","type":"Microsoft.Authorization/roleAssignments","name":"3e883d24-b106-42ff-ad13-d7bf271b964d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-07-18T02:26:14.1665946Z","updatedOn":"2020-07-18T02:26:14.1665946Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/cfd7632d-7c5a-4531-82ce-890df8b4be96","type":"Microsoft.Authorization/roleAssignments","name":"cfd7632d-7c5a-4531-82ce-890df8b4be96"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-07-24T20:02:31.6333946Z","updatedOn":"2020-07-24T20:02:31.6333946Z","createdBy":"53bb8815-874d-4b05-9953-1158e05aa080","updatedBy":"53bb8815-874d-4b05-9953-1158e05aa080","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/fe8f6b65-9c14-4f43-bfe0-9c4e0778be5d","type":"Microsoft.Authorization/roleAssignments","name":"fe8f6b65-9c14-4f43-bfe0-9c4e0778be5d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4abbcc35-e782-43d8-92c5-2d3f1bd2253f","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-08-03T15:06:36.3777307Z","updatedOn":"2020-08-03T15:06:36.3777307Z","createdBy":"a5cae52f-366a-417b-b718-e73d17746c35","updatedBy":"a5cae52f-366a-417b-b718-e73d17746c35","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/71b88381-621b-464e-b17a-6cd9433ad5a3","type":"Microsoft.Authorization/roleAssignments","name":"71b88381-621b-464e-b17a-6cd9433ad5a3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-08-21T16:23:57.9905009Z","updatedOn":"2020-08-21T16:23:57.9905009Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/17d7954a-d32a-4181-b887-1de9a8a0c05a","type":"Microsoft.Authorization/roleAssignments","name":"17d7954a-d32a-4181-b887-1de9a8a0c05a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-08-21T16:23:58.0549229Z","updatedOn":"2020-08-21T16:23:58.0549229Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/9a853af7-252b-4315-9ee3-0b243e595f80","type":"Microsoft.Authorization/roleAssignments","name":"9a853af7-252b-4315-9ee3-0b243e595f80"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"Group","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-08-21T16:23:58.6582166Z","updatedOn":"2020-08-21T16:23:58.6582166Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/8ab72fbd-e5fe-4a7d-ae20-baad615d688d","type":"Microsoft.Authorization/roleAssignments","name":"8ab72fbd-e5fe-4a7d-ae20-baad615d688d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-08-21T16:23:59.5326945Z","updatedOn":"2020-08-21T16:23:59.5326945Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4ed77f1d-82a2-4a02-b48e-fa5776870280","type":"Microsoft.Authorization/roleAssignments","name":"4ed77f1d-82a2-4a02-b48e-fa5776870280"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-09-01T06:59:31.4619017Z","updatedOn":"2020-09-01T06:59:31.4619017Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/3c8813ac-e50e-4868-9e41-910258f3c33a","type":"Microsoft.Authorization/roleAssignments","name":"3c8813ac-e50e-4868-9e41-910258f3c33a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-09-02T01:52:45.8299382Z","updatedOn":"2020-09-02T01:52:45.8299382Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/3e21284b-6bd7-431a-81ae-ccaf56267ab5","type":"Microsoft.Authorization/roleAssignments","name":"3e21284b-6bd7-431a-81ae-ccaf56267ab5"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-09-07T09:44:47.3865537Z","updatedOn":"2020-09-07T09:44:47.3865537Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/79357f85-973d-4621-b1bd-d1ecb645e146","type":"Microsoft.Authorization/roleAssignments","name":"79357f85-973d-4621-b1bd-d1ecb645e146"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-09-15T09:02:04.9171272Z","updatedOn":"2020-09-15T09:02:04.9171272Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/3a2ff825-a078-475d-aa68-80640a14daa2","type":"Microsoft.Authorization/roleAssignments","name":"3a2ff825-a078-475d-aa68-80640a14daa2"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-09-23T13:13:35.8201314Z","updatedOn":"2020-09-23T13:13:35.8201314Z","createdBy":"a5cae52f-366a-417b-b718-e73d17746c35","updatedBy":"a5cae52f-366a-417b-b718-e73d17746c35","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d2ac0456-208f-4492-aecf-24bbcf14f246","type":"Microsoft.Authorization/roleAssignments","name":"d2ac0456-208f-4492-aecf-24bbcf14f246"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-09-24T00:04:10.5243862Z","updatedOn":"2020-09-24T00:04:10.5243862Z","createdBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","updatedBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/78586b2c-fdf9-11ea-9e5e-8851fb3f4911","type":"Microsoft.Authorization/roleAssignments","name":"78586b2c-fdf9-11ea-9e5e-8851fb3f4911"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-09-28T21:00:48.4819948Z","updatedOn":"2020-09-28T21:00:48.4819948Z","createdBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","updatedBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c3f148f0-1373-48ba-ba19-cd15cd8bf7a6","type":"Microsoft.Authorization/roleAssignments","name":"c3f148f0-1373-48ba-ba19-cd15cd8bf7a6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-09-29T10:55:39.3762731Z","updatedOn":"2020-09-29T10:55:39.3762731Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/41e159ac-411a-4eed-b319-5b92571d2950","type":"Microsoft.Authorization/roleAssignments","name":"41e159ac-411a-4eed-b319-5b92571d2950"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-09-30T10:01:31.6109834Z","updatedOn":"2020-09-30T10:01:31.6109834Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/728fd3ed-0a93-4cad-96b6-ca2b85b98308","type":"Microsoft.Authorization/roleAssignments","name":"728fd3ed-0a93-4cad-96b6-ca2b85b98308"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-05T23:00:10.5454113Z","updatedOn":"2020-10-05T23:00:10.5454113Z","createdBy":"9404195a-2cde-4a10-b88c-e7b41572bf31","updatedBy":"9404195a-2cde-4a10-b88c-e7b41572bf31","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f1bf27f9-8b8f-46f0-8b54-3d0b5a10455d","type":"Microsoft.Authorization/roleAssignments","name":"f1bf27f9-8b8f-46f0-8b54-3d0b5a10455d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-06T00:33:22.8792900Z","updatedOn":"2020-10-06T00:33:22.8792900Z","createdBy":"e29d79eb-7dfc-4583-b360-d45d39625c97","updatedBy":"e29d79eb-7dfc-4583-b360-d45d39625c97","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/24d0c5e6-0763-11eb-82a0-d636039e345c","type":"Microsoft.Authorization/roleAssignments","name":"24d0c5e6-0763-11eb-82a0-d636039e345c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-06T07:31:31.4976753Z","updatedOn":"2020-10-06T07:31:31.4976753Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/8166f5c5-5401-43da-8e43-553f34ba5c1f","type":"Microsoft.Authorization/roleAssignments","name":"8166f5c5-5401-43da-8e43-553f34ba5c1f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-08T00:00:18.1887050Z","updatedOn":"2020-10-08T00:00:18.1887050Z","createdBy":"09914860-7ec9-4151-8431-31797899a359","updatedBy":"09914860-7ec9-4151-8431-31797899a359","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/1e5c915f-e276-400d-a6f0-9b8f202aee98","type":"Microsoft.Authorization/roleAssignments","name":"1e5c915f-e276-400d-a6f0-9b8f202aee98"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-12T23:56:24.2246134Z","updatedOn":"2020-10-12T23:56:24.2246134Z","createdBy":"8ff738a5-abcd-4864-a162-6c18f7c9cbd9","updatedBy":"8ff738a5-abcd-4864-a162-6c18f7c9cbd9","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/dc3b4af3-e20c-4662-90fc-c3879a6c521c","type":"Microsoft.Authorization/roleAssignments","name":"dc3b4af3-e20c-4662-90fc-c3879a6c521c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-14T00:29:42.9981174Z","updatedOn":"2020-10-14T00:29:42.9981174Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c6af4ef5-80f6-4303-a641-45689a1646dc","type":"Microsoft.Authorization/roleAssignments","name":"c6af4ef5-80f6-4303-a641-45689a1646dc"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-15T03:35:43.8283383Z","updatedOn":"2020-10-15T03:35:43.8283383Z","createdBy":"2fda9054-fc12-457c-bb93-614f1f13426b","updatedBy":"2fda9054-fc12-457c-bb93-614f1f13426b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/64d06112-fceb-476a-b426-6843c25208ae","type":"Microsoft.Authorization/roleAssignments","name":"64d06112-fceb-476a-b426-6843c25208ae"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-16T16:42:17.7175670Z","updatedOn":"2020-10-16T16:42:17.7175670Z","createdBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","updatedBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/5854c7a2-cf00-46f9-9cc1-d977f34324df","type":"Microsoft.Authorization/roleAssignments","name":"5854c7a2-cf00-46f9-9cc1-d977f34324df"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-19T03:59:55.8915203Z","updatedOn":"2020-10-19T03:59:55.8915203Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6d449bc1-f3b3-4d07-94e5-9c78a799099f","type":"Microsoft.Authorization/roleAssignments","name":"6d449bc1-f3b3-4d07-94e5-9c78a799099f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-20T10:18:15.8804322Z","updatedOn":"2020-10-20T10:18:15.8804322Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/06a0e1fb-af3e-4fa2-815f-848a6d176225","type":"Microsoft.Authorization/roleAssignments","name":"06a0e1fb-af3e-4fa2-815f-848a6d176225"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-22T06:46:57.6492498Z","updatedOn":"2020-10-22T06:46:57.6492498Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/fc3170b4-3674-455d-b7af-8b3056ffd4bd","type":"Microsoft.Authorization/roleAssignments","name":"fc3170b4-3674-455d-b7af-8b3056ffd4bd"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-26T09:32:54.3608737Z","updatedOn":"2020-10-26T09:32:54.3608737Z","createdBy":"f058371f-0c0e-46bb-a5d4-f8aec637a467","updatedBy":"f058371f-0c0e-46bb-a5d4-f8aec637a467","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/209640f3-25d8-4e30-b857-d64304235a61","type":"Microsoft.Authorization/roleAssignments","name":"209640f3-25d8-4e30-b857-d64304235a61"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-29T18:40:28.9870114Z","updatedOn":"2020-10-29T18:40:28.9870114Z","createdBy":"febf609b-90d8-4d63-bffb-c12ccb094696","updatedBy":"febf609b-90d8-4d63-bffb-c12ccb094696","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/62a8bb96-2a77-4216-bd60-17b4b6e0a4c4","type":"Microsoft.Authorization/roleAssignments","name":"62a8bb96-2a77-4216-bd60-17b4b6e0a4c4"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-02T09:02:29.2637630Z","updatedOn":"2020-11-02T09:02:29.2637630Z","createdBy":"a5c919a9-89c9-45fb-880a-5e3e0b4fcb84","updatedBy":"a5c919a9-89c9-45fb-880a-5e3e0b4fcb84","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0ad1faa8-8680-4dec-a768-050e8349af33","type":"Microsoft.Authorization/roleAssignments","name":"0ad1faa8-8680-4dec-a768-050e8349af33"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-03T21:58:18.9397159Z","updatedOn":"2020-11-03T21:58:18.9397159Z","createdBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","updatedBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/fbba25e5-561b-4364-8755-515a24434085","type":"Microsoft.Authorization/roleAssignments","name":"fbba25e5-561b-4364-8755-515a24434085"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-03T22:00:44.4523883Z","updatedOn":"2020-11-03T22:00:44.4523883Z","createdBy":"478fdd79-cb11-45ed-8725-382321c0f7fd","updatedBy":"478fdd79-cb11-45ed-8725-382321c0f7fd","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/908aa5ac-22a2-413a-9333-fcb0a1ba2c59","type":"Microsoft.Authorization/roleAssignments","name":"908aa5ac-22a2-413a-9333-fcb0a1ba2c59"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-09T14:00:59.0347294Z","updatedOn":"2020-11-09T14:00:59.0347294Z","createdBy":"09914860-7ec9-4151-8431-31797899a359","updatedBy":"09914860-7ec9-4151-8431-31797899a359","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e9541f93-ea4a-4b1b-98bf-839fecfcaa22","type":"Microsoft.Authorization/roleAssignments","name":"e9541f93-ea4a-4b1b-98bf-839fecfcaa22"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-10T00:12:49.4151006Z","updatedOn":"2020-11-10T00:12:49.4151006Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c13e8fa1-ee9a-460a-910e-eaecab956199","type":"Microsoft.Authorization/roleAssignments","name":"c13e8fa1-ee9a-460a-910e-eaecab956199"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-10T00:15:19.8671906Z","updatedOn":"2020-11-10T00:15:19.8671906Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2246ec23-fc97-4e82-b67c-04743087f63d","type":"Microsoft.Authorization/roleAssignments","name":"2246ec23-fc97-4e82-b67c-04743087f63d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-10T12:48:43.1056692Z","updatedOn":"2020-11-10T12:48:43.1056692Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/dc924d22-cbb3-4f1d-a3c5-e803c30b8428","type":"Microsoft.Authorization/roleAssignments","name":"dc924d22-cbb3-4f1d-a3c5-e803c30b8428"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-18T00:19:23.7906492Z","updatedOn":"2020-11-18T00:19:23.7906492Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2e9f22fc-e6c1-4376-a65d-4553c0daee64","type":"Microsoft.Authorization/roleAssignments","name":"2e9f22fc-e6c1-4376-a65d-4553c0daee64"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-19T12:24:03.7391153Z","updatedOn":"2020-11-19T12:24:03.7391153Z","createdBy":"09914860-7ec9-4151-8431-31797899a359","updatedBy":"09914860-7ec9-4151-8431-31797899a359","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a29c25cf-6027-4031-8c68-12c812d4e4d7","type":"Microsoft.Authorization/roleAssignments","name":"a29c25cf-6027-4031-8c68-12c812d4e4d7"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-20T01:41:11.3355841Z","updatedOn":"2020-11-20T01:41:11.3355841Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e19e243a-0497-4c83-a9e1-b6d622c5cadf","type":"Microsoft.Authorization/roleAssignments","name":"e19e243a-0497-4c83-a9e1-b6d622c5cadf"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-24T06:03:13.0460581Z","updatedOn":"2020-11-24T06:03:13.0460581Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/bdd0bce4-39a5-47f7-836c-6295639cc0e1","type":"Microsoft.Authorization/roleAssignments","name":"bdd0bce4-39a5-47f7-836c-6295639cc0e1"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-26T03:01:44.6247690Z","updatedOn":"2020-11-26T03:01:44.6247690Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/7a3cddac-b7c4-4e13-ad0d-25a1f8db0394","type":"Microsoft.Authorization/roleAssignments","name":"7a3cddac-b7c4-4e13-ad0d-25a1f8db0394"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-12-02T07:09:05.7656072Z","updatedOn":"2020-12-02T07:09:05.7656072Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/62cb656e-c531-4da8-9837-fc956269c6e0","type":"Microsoft.Authorization/roleAssignments","name":"62cb656e-c531-4da8-9837-fc956269c6e0"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-12-04T03:28:35.2284735Z","updatedOn":"2020-12-04T03:28:35.2284735Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/9bc8c2c0-90e6-4346-a844-f9f401472a4d","type":"Microsoft.Authorization/roleAssignments","name":"9bc8c2c0-90e6-4346-a844-f9f401472a4d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-12-04T06:53:38.6367823Z","updatedOn":"2020-12-04T06:53:38.6367823Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/22700fef-7289-4005-937a-e4d08881da8c","type":"Microsoft.Authorization/roleAssignments","name":"22700fef-7289-4005-937a-e4d08881da8c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-12-04T08:16:05.6118991Z","updatedOn":"2020-12-04T08:16:05.6118991Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/15dbe638-db5c-45ad-9e4e-3bee28587281","type":"Microsoft.Authorization/roleAssignments","name":"15dbe638-db5c-45ad-9e4e-3bee28587281"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-12-07T12:37:13.7841746Z","updatedOn":"2020-12-07T12:37:13.7841746Z","createdBy":"a5c919a9-89c9-45fb-880a-5e3e0b4fcb84","updatedBy":"a5c919a9-89c9-45fb-880a-5e3e0b4fcb84","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c7eecba5-f37b-4db4-8818-a650f8b5b8de","type":"Microsoft.Authorization/roleAssignments","name":"c7eecba5-f37b-4db4-8818-a650f8b5b8de"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-12-18T08:00:24.9874024Z","updatedOn":"2020-12-18T08:00:24.9874024Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/7f60817e-27b5-486b-bbdb-b748bcb752d4","type":"Microsoft.Authorization/roleAssignments","name":"7f60817e-27b5-486b-bbdb-b748bcb752d4"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-12-24T11:54:27.7394442Z","updatedOn":"2020-12-24T11:54:27.7394442Z","createdBy":"e073490c-1bbd-4bac-9bd1-5584fec82ff0","updatedBy":"e073490c-1bbd-4bac-9bd1-5584fec82ff0","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/90534c90-22d5-4e15-ae4c-009340273136","type":"Microsoft.Authorization/roleAssignments","name":"90534c90-22d5-4e15-ae4c-009340273136"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-12-30T11:06:51.2887287Z","updatedOn":"2020-12-30T11:06:51.2887287Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/1cbe1756-4a8f-11eb-b753-720008210d90","type":"Microsoft.Authorization/roleAssignments","name":"1cbe1756-4a8f-11eb-b753-720008210d90"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-01-13T06:12:19.1847916Z","updatedOn":"2021-01-13T06:12:19.1847916Z","createdBy":"241cd743-2c33-4860-bd3a-1df659c06eef","updatedBy":"241cd743-2c33-4860-bd3a-1df659c06eef","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/498bf4f6-5566-11eb-a35b-acde48001122","type":"Microsoft.Authorization/roleAssignments","name":"498bf4f6-5566-11eb-a35b-acde48001122"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-01-13T21:55:46.0921361Z","updatedOn":"2021-01-13T21:55:46.0921361Z","createdBy":"478fdd79-cb11-45ed-8725-382321c0f7fd","updatedBy":"478fdd79-cb11-45ed-8725-382321c0f7fd","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d900b70f-235d-4d37-bf50-ca514e3001a1","type":"Microsoft.Authorization/roleAssignments","name":"d900b70f-235d-4d37-bf50-ca514e3001a1"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-01-26T20:35:14.0496305Z","updatedOn":"2021-01-26T20:35:14.0496305Z","createdBy":"febf609b-90d8-4d63-bffb-c12ccb094696","updatedBy":"febf609b-90d8-4d63-bffb-c12ccb094696","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/be76f04c-520c-4d95-b6b3-e7fce3f55948","type":"Microsoft.Authorization/roleAssignments","name":"be76f04c-520c-4d95-b6b3-e7fce3f55948"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-04T05:54:29.9691652Z","updatedOn":"2021-02-04T05:54:29.9691652Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4710c459-25c6-45b9-a906-3687060df1a2","type":"Microsoft.Authorization/roleAssignments","name":"4710c459-25c6-45b9-a906-3687060df1a2"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-04T06:52:05.2038586Z","updatedOn":"2021-02-04T06:52:05.2038586Z","createdBy":"8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9","updatedBy":"8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/fdf6a314-3605-4944-96c1-08b7364dba54","type":"Microsoft.Authorization/roleAssignments","name":"fdf6a314-3605-4944-96c1-08b7364dba54"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-05T01:06:29.5543610Z","updatedOn":"2021-02-05T01:06:29.5543610Z","createdBy":"53bb8815-874d-4b05-9953-1158e05aa080","updatedBy":"53bb8815-874d-4b05-9953-1158e05aa080","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f2caf434-97c9-440f-9ad3-541ae6bd9528","type":"Microsoft.Authorization/roleAssignments","name":"f2caf434-97c9-440f-9ad3-541ae6bd9528"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-11T22:26:14.1444510Z","updatedOn":"2021-02-11T22:26:14.1444510Z","createdBy":"4aed2078-2d27-4c18-95f7-fef3c0fe91ca","updatedBy":"4aed2078-2d27-4c18-95f7-fef3c0fe91ca","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a8602643-a0c2-45c4-980c-dc2b618d13b8","type":"Microsoft.Authorization/roleAssignments","name":"a8602643-a0c2-45c4-980c-dc2b618d13b8"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-16T19:18:13.7025371Z","updatedOn":"2021-02-16T19:18:13.7025371Z","createdBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","updatedBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b2d72c2f-d4c0-4c45-9908-90fda72c868d","type":"Microsoft.Authorization/roleAssignments","name":"b2d72c2f-d4c0-4c45-9908-90fda72c868d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-16T22:20:01.8102926Z","updatedOn":"2021-02-16T22:20:01.8102926Z","createdBy":"53bb8815-874d-4b05-9953-1158e05aa080","updatedBy":"53bb8815-874d-4b05-9953-1158e05aa080","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b7aa1f69-60a8-4bb9-a624-857052576335","type":"Microsoft.Authorization/roleAssignments","name":"b7aa1f69-60a8-4bb9-a624-857052576335"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-17T00:37:53.4699042Z","updatedOn":"2021-02-17T00:37:53.4699042Z","createdBy":"e5ad6d43-d6ac-4061-84cc-f7cb826200a0","updatedBy":"e5ad6d43-d6ac-4061-84cc-f7cb826200a0","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c06abb18-9697-41f9-9410-ff0ee9b13ab9","type":"Microsoft.Authorization/roleAssignments","name":"c06abb18-9697-41f9-9410-ff0ee9b13ab9"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-17T01:26:55.0758483Z","updatedOn":"2021-02-17T01:26:55.0758483Z","createdBy":"df7de5cc-1fc8-462d-be1d-bcbc2576454a","updatedBy":"df7de5cc-1fc8-462d-be1d-bcbc2576454a","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/9812b416-33c9-4b88-bcdb-6b8406dd319f","type":"Microsoft.Authorization/roleAssignments","name":"9812b416-33c9-4b88-bcdb-6b8406dd319f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-17T01:38:17.8125104Z","updatedOn":"2021-02-17T01:38:17.8125104Z","createdBy":"478fdd79-cb11-45ed-8725-382321c0f7fd","updatedBy":"478fdd79-cb11-45ed-8725-382321c0f7fd","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/82e0c83f-b7dd-49f6-b501-ff05951db69d","type":"Microsoft.Authorization/roleAssignments","name":"82e0c83f-b7dd-49f6-b501-ff05951db69d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-17T01:57:59.0655876Z","updatedOn":"2021-02-17T01:57:59.0655876Z","createdBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","updatedBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c9f0c587-7611-45ba-afb2-200499c8d4e0","type":"Microsoft.Authorization/roleAssignments","name":"c9f0c587-7611-45ba-afb2-200499c8d4e0"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-19T01:25:51.9967288Z","updatedOn":"2021-02-19T01:25:51.9967288Z","createdBy":"9404195a-2cde-4a10-b88c-e7b41572bf31","updatedBy":"9404195a-2cde-4a10-b88c-e7b41572bf31","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2e4ab306-7ae7-4867-8e22-90215bdbeb9a","type":"Microsoft.Authorization/roleAssignments","name":"2e4ab306-7ae7-4867-8e22-90215bdbeb9a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-25T05:50:56.3200305Z","updatedOn":"2021-02-25T05:50:56.3200305Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/5f5c2b9b-b76d-442c-8442-cdca92ea4450","type":"Microsoft.Authorization/roleAssignments","name":"5f5c2b9b-b76d-442c-8442-cdca92ea4450"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-25T06:10:47.8694922Z","updatedOn":"2021-02-25T06:10:47.8694922Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ded78aee-c6bf-4c93-a2c6-4c3388c55936","type":"Microsoft.Authorization/roleAssignments","name":"ded78aee-c6bf-4c93-a2c6-4c3388c55936"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-05-01T19:36:24.0325431Z","updatedOn":"2021-05-01T19:36:24.0325431Z","createdBy":"5ecb1531-0d8c-4a89-93cb-1b48b2224358","updatedBy":"5ecb1531-0d8c-4a89-93cb-1b48b2224358","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a11a3823-3c3c-4a0a-ab63-e809248b39d6","type":"Microsoft.Authorization/roleAssignments","name":"a11a3823-3c3c-4a0a-ab63-e809248b39d6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-05-01T21:51:55.4255791Z","updatedOn":"2021-05-01T21:51:55.4255791Z","createdBy":"ad232e99-5e1b-414e-aa53-96ae40d39f3e","updatedBy":"ad232e99-5e1b-414e-aa53-96ae40d39f3e","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/36175f2d-f556-464e-a509-19cbb3f45909","type":"Microsoft.Authorization/roleAssignments","name":"36175f2d-f556-464e-a509-19cbb3f45909"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-28T18:57:43.7674845Z","updatedOn":"2020-04-28T18:57:43.7674845Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/89ef5a42-558f-4dc2-a21d-61f47f87c5aa","type":"Microsoft.Authorization/roleAssignments","name":"89ef5a42-558f-4dc2-a21d-61f47f87c5aa"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-28T17:11:43.4784066Z","updatedOn":"2020-04-28T17:11:43.4784066Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c7a17f89-6fda-4d7f-9024-279fe7c46b9e","type":"Microsoft.Authorization/roleAssignments","name":"c7a17f89-6fda-4d7f-9024-279fe7c46b9e"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-28T17:15:20.6839476Z","updatedOn":"2020-04-28T17:15:20.6839476Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b677c994-5d2c-4d21-8772-4a770c383a69","type":"Microsoft.Authorization/roleAssignments","name":"b677c994-5d2c-4d21-8772-4a770c383a69"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-29T03:41:37.0700725Z","updatedOn":"2020-04-29T03:41:37.0700725Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f2790ff5-c68c-4783-bfbe-0c7210b1320d","type":"Microsoft.Authorization/roleAssignments","name":"f2790ff5-c68c-4783-bfbe-0c7210b1320d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-29T03:43:26.9737395Z","updatedOn":"2020-04-29T03:43:26.9737395Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/64ded23e-c648-452f-a53e-2bb0b1947293","type":"Microsoft.Authorization/roleAssignments","name":"64ded23e-c648-452f-a53e-2bb0b1947293"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-28T17:14:00.0562525Z","updatedOn":"2020-04-28T17:14:00.0562525Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/eaece071-786c-479c-a0b0-5c41d876600c","type":"Microsoft.Authorization/roleAssignments","name":"eaece071-786c-479c-a0b0-5c41d876600c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-01T17:17:32.8545165Z","updatedOn":"2020-05-01T17:17:32.8545165Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/5b13726e-0868-475f-9d6f-e19ed5886a5e","type":"Microsoft.Authorization/roleAssignments","name":"5b13726e-0868-475f-9d6f-e19ed5886a5e"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-01T17:22:00.3902257Z","updatedOn":"2020-05-01T17:22:00.3902257Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/aa99e113-3d5e-4fb5-ac2a-f34b0bf0aa32","type":"Microsoft.Authorization/roleAssignments","name":"aa99e113-3d5e-4fb5-ac2a-f34b0bf0aa32"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-29T00:04:19.0452651Z","updatedOn":"2020-04-29T00:04:19.0452651Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/593f0b85-3d78-43c8-a842-abfb4eab0a9b","type":"Microsoft.Authorization/roleAssignments","name":"593f0b85-3d78-43c8-a842-abfb4eab0a9b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2018-05-03T20:35:52.7357152Z","updatedOn":"2018-05-03T20:35:52.7357152Z","createdBy":"b87c5c16-4f0e-4af2-9b2e-20f25d6b5a3f","updatedBy":"b87c5c16-4f0e-4af2-9b2e-20f25d6b5a3f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4665dbd4-b405-4cc3-9321-1bee27e6101c","type":"Microsoft.Authorization/roleAssignments","name":"4665dbd4-b405-4cc3-9321-1bee27e6101c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-11T13:25:07.0669336Z","updatedOn":"2020-02-11T13:25:07.0669336Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b8056eb0-60e9-433c-85f9-f2c9289fc1a2","type":"Microsoft.Authorization/roleAssignments","name":"b8056eb0-60e9-433c-85f9-f2c9289fc1a2"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-04-22T06:41:53.1813823Z","updatedOn":"2019-04-22T06:41:53.1813823Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6b620efc-0123-402f-8462-1f1b47168729","type":"Microsoft.Authorization/roleAssignments","name":"6b620efc-0123-402f-8462-1f1b47168729"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-21T03:42:13.8891609Z","updatedOn":"2020-02-21T03:42:13.8891609Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c41b0416-12e4-49bb-9e35-411e4f409102","type":"Microsoft.Authorization/roleAssignments","name":"c41b0416-12e4-49bb-9e35-411e4f409102"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-27T17:05:13.7273840Z","updatedOn":"2020-04-27T17:05:13.7273840Z","createdBy":"ef34ad48-5675-4480-8fe7-a6cc394b97c4","updatedBy":"ef34ad48-5675-4480-8fe7-a6cc394b97c4","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/9e06e920-0fc3-47a8-867a-ce7804818059","type":"Microsoft.Authorization/roleAssignments","name":"9e06e920-0fc3-47a8-867a-ce7804818059"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-22T07:53:45.7192431Z","updatedOn":"2020-04-22T07:53:45.7192431Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0d01cbd3-f3e3-4712-95c6-cf07a0224887","type":"Microsoft.Authorization/roleAssignments","name":"0d01cbd3-f3e3-4712-95c6-cf07a0224887"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-10-25T03:10:56.6742842Z","updatedOn":"2019-10-25T03:10:56.6742842Z","createdBy":"09914860-7ec9-4151-8431-31797899a359","updatedBy":"09914860-7ec9-4151-8431-31797899a359","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c94cb5f8-6d0c-4405-be47-b599a43f2bde","type":"Microsoft.Authorization/roleAssignments","name":"c94cb5f8-6d0c-4405-be47-b599a43f2bde"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-08T22:51:35.8836739Z","updatedOn":"2020-04-08T22:51:35.8836739Z","createdBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","updatedBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e35806bd-ef22-4a25-80d9-9429df6254c6","type":"Microsoft.Authorization/roleAssignments","name":"e35806bd-ef22-4a25-80d9-9429df6254c6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2017-06-16T23:32:44.3548155Z","updatedOn":"2017-06-16T23:32:44.3548155Z","createdBy":"f115a02a-6f42-4297-aabb-f0f6022ee60b","updatedBy":"f115a02a-6f42-4297-aabb-f0f6022ee60b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c2330a8b-4550-4dcf-841a-88553080079b","type":"Microsoft.Authorization/roleAssignments","name":"c2330a8b-4550-4dcf-841a-88553080079b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-03-25T08:26:29.8675330Z","updatedOn":"2020-03-25T08:26:29.8675330Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d00f7f11-a22d-4bb3-a016-07d2ba2b13c0","type":"Microsoft.Authorization/roleAssignments","name":"d00f7f11-a22d-4bb3-a016-07d2ba2b13c0"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-09-14T02:15:59.1199760Z","updatedOn":"2019-09-14T02:15:59.1199760Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/593989ab-0941-462b-aeba-5aba52f8755b","type":"Microsoft.Authorization/roleAssignments","name":"593989ab-0941-462b-aeba-5aba52f8755b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-14T21:19:25.3668580Z","updatedOn":"2020-05-14T21:19:25.3668580Z","createdBy":"82f25a3e-d28d-4c27-90d6-d92c79d98936","updatedBy":"82f25a3e-d28d-4c27-90d6-d92c79d98936","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/668f3f0e-bbb7-42d3-9ab1-1482922c06a7","type":"Microsoft.Authorization/roleAssignments","name":"668f3f0e-bbb7-42d3-9ab1-1482922c06a7"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-07T00:35:48.4591165Z","updatedOn":"2020-05-07T00:35:48.4591165Z","createdBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","updatedBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ff740118-1a0b-4bf5-8f2a-c555e9923ea3","type":"Microsoft.Authorization/roleAssignments","name":"ff740118-1a0b-4bf5-8f2a-c555e9923ea3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-10-10T19:44:02.6434834Z","updatedOn":"2019-10-10T19:44:02.6434834Z","createdBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","updatedBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ecd71fb9-414b-496d-ba90-8be383086b97","type":"Microsoft.Authorization/roleAssignments","name":"ecd71fb9-414b-496d-ba90-8be383086b97"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-09-23T02:06:16.8281713Z","updatedOn":"2019-09-23T02:06:16.8281713Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a301a171-6505-42c5-a8b2-bcf09674b59c","type":"Microsoft.Authorization/roleAssignments","name":"a301a171-6505-42c5-a8b2-bcf09674b59c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-05T05:29:51.2703674Z","updatedOn":"2020-02-05T05:29:51.2703674Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/382ca8aa-eaac-49fb-8a33-ad06c08ae449","type":"Microsoft.Authorization/roleAssignments","name":"382ca8aa-eaac-49fb-8a33-ad06c08ae449"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-01-08T12:55:39.9212416Z","updatedOn":"2020-01-08T12:55:39.9212416Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/081427e9-c895-4903-8573-77da86dcdae1","type":"Microsoft.Authorization/roleAssignments","name":"081427e9-c895-4903-8573-77da86dcdae1"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-20T22:22:14.0297869Z","updatedOn":"2020-04-20T22:22:14.0297869Z","createdBy":"53bb8815-874d-4b05-9953-1158e05aa080","updatedBy":"53bb8815-874d-4b05-9953-1158e05aa080","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/966ec633-e653-441f-910c-8536f7899f69","type":"Microsoft.Authorization/roleAssignments","name":"966ec633-e653-441f-910c-8536f7899f69"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-30T06:27:35.9310363Z","updatedOn":"2020-04-30T06:27:35.9310363Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6a1327e4-100e-43ee-b04e-1403969b805b","type":"Microsoft.Authorization/roleAssignments","name":"6a1327e4-100e-43ee-b04e-1403969b805b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-06-13T06:44:49.9960198Z","updatedOn":"2019-06-13T06:44:49.9960198Z","createdBy":"f058371f-0c0e-46bb-a5d4-f8aec637a467","updatedBy":"f058371f-0c0e-46bb-a5d4-f8aec637a467","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/33958269-41a0-400a-91a1-6303d954c8f0","type":"Microsoft.Authorization/roleAssignments","name":"33958269-41a0-400a-91a1-6303d954c8f0"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-01-27T19:05:00.2764645Z","updatedOn":"2020-01-27T19:05:00.2764645Z","createdBy":"4744d4c9-1026-421b-87ce-b102213af921","updatedBy":"4744d4c9-1026-421b-87ce-b102213af921","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f0575c6a-aabc-4a2e-b169-379b64f33f8a","type":"Microsoft.Authorization/roleAssignments","name":"f0575c6a-aabc-4a2e-b169-379b64f33f8a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-26T16:21:06.7365340Z","updatedOn":"2020-05-26T16:21:06.7365340Z","createdBy":"ef34ad48-5675-4480-8fe7-a6cc394b97c4","updatedBy":"ef34ad48-5675-4480-8fe7-a6cc394b97c4","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/19a3bbc1-fca8-4ec6-b0e9-7d6861207524","type":"Microsoft.Authorization/roleAssignments","name":"19a3bbc1-fca8-4ec6-b0e9-7d6861207524"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-10-26T00:57:22.8153925Z","updatedOn":"2019-10-26T00:57:22.8153925Z","createdBy":"2fda9054-fc12-457c-bb93-614f1f13426b","updatedBy":"2fda9054-fc12-457c-bb93-614f1f13426b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/8722a1fb-4828-4f43-aa59-0385179b3a05","type":"Microsoft.Authorization/roleAssignments","name":"8722a1fb-4828-4f43-aa59-0385179b3a05"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-30T06:27:35.9911337Z","updatedOn":"2020-04-30T06:27:35.9911337Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/85726f1f-9e4c-415a-b56f-d8e799aaa96d","type":"Microsoft.Authorization/roleAssignments","name":"85726f1f-9e4c-415a-b56f-d8e799aaa96d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-27T21:08:14.8085926Z","updatedOn":"2020-02-27T21:08:14.8085926Z","createdBy":"ef34ad48-5675-4480-8fe7-a6cc394b97c4","updatedBy":"ef34ad48-5675-4480-8fe7-a6cc394b97c4","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/742a0f1a-fbf1-46f1-929d-de8871fc1193","type":"Microsoft.Authorization/roleAssignments","name":"742a0f1a-fbf1-46f1-929d-de8871fc1193"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-01T23:19:45.4260771Z","updatedOn":"2020-05-01T23:19:45.4260771Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/90e2b70f-7104-4f75-b6a5-e7226e497378","type":"Microsoft.Authorization/roleAssignments","name":"90e2b70f-7104-4f75-b6a5-e7226e497378"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-04-16T02:04:22.4782415Z","updatedOn":"2019-04-16T02:04:22.4782415Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/bacdb283-653c-47eb-a578-11743d7898f8","type":"Microsoft.Authorization/roleAssignments","name":"bacdb283-653c-47eb-a578-11743d7898f8"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-04T02:07:58.4393297Z","updatedOn":"2020-02-04T02:07:58.4393297Z","createdBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","updatedBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e46a2f7d-e088-47e2-952f-a0a4818b3825","type":"Microsoft.Authorization/roleAssignments","name":"e46a2f7d-e088-47e2-952f-a0a4818b3825"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-03-26T08:05:19.1222694Z","updatedOn":"2020-03-26T08:05:19.1222694Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/1f46adf6-1c16-4743-b3ac-35cd30452c6b","type":"Microsoft.Authorization/roleAssignments","name":"1f46adf6-1c16-4743-b3ac-35cd30452c6b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-07T00:35:48.6619455Z","updatedOn":"2020-05-07T00:35:48.6619455Z","createdBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","updatedBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/052d4514-701f-41dd-8171-4e8cfab148a6","type":"Microsoft.Authorization/roleAssignments","name":"052d4514-701f-41dd-8171-4e8cfab148a6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-03-27T09:09:33.7347978Z","updatedOn":"2020-03-27T09:09:33.7347978Z","createdBy":"09914860-7ec9-4151-8431-31797899a359","updatedBy":"09914860-7ec9-4151-8431-31797899a359","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6d355b17-e9d6-47b7-9181-b54ad0083793","type":"Microsoft.Authorization/roleAssignments","name":"6d355b17-e9d6-47b7-9181-b54ad0083793"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-03-19T02:50:30.0038186Z","updatedOn":"2019-03-19T02:50:30.0038186Z","createdBy":"b47f071a-d6c9-4297-954e-83151fff489b","updatedBy":"b47f071a-d6c9-4297-954e-83151fff489b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/26adec15-a0e4-4b2e-a437-9b545b9723fc","type":"Microsoft.Authorization/roleAssignments","name":"26adec15-a0e4-4b2e-a437-9b545b9723fc"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-04-17T00:50:00.2288905Z","updatedOn":"2019-04-17T00:50:00.2288905Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0e873fd7-4bdb-4df5-a510-c15f3ce99cd6","type":"Microsoft.Authorization/roleAssignments","name":"0e873fd7-4bdb-4df5-a510-c15f3ce99cd6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-23T03:53:49.9358521Z","updatedOn":"2020-06-23T03:53:49.9358521Z","createdBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","updatedBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/02a0e839-adb0-448c-84f0-3a3f82ef8430","type":"Microsoft.Authorization/roleAssignments","name":"02a0e839-adb0-448c-84f0-3a3f82ef8430"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-08T07:40:31.7235048Z","updatedOn":"2020-05-08T07:40:31.7235048Z","createdBy":"09914860-7ec9-4151-8431-31797899a359","updatedBy":"09914860-7ec9-4151-8431-31797899a359","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/cbfa0c0c-2653-4fb8-b9e5-d41bd96053a7","type":"Microsoft.Authorization/roleAssignments","name":"cbfa0c0c-2653-4fb8-b9e5-d41bd96053a7"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-02T17:06:57.1466814Z","updatedOn":"2020-06-02T17:06:57.1466814Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ab903dde-d229-446d-b429-c1618b8aef5e","type":"Microsoft.Authorization/roleAssignments","name":"ab903dde-d229-446d-b429-c1618b8aef5e"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-29T03:34:09.1452976Z","updatedOn":"2020-04-29T03:34:09.1452976Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/feb76a5e-7bed-4bc8-b481-14bbb109bc33","type":"Microsoft.Authorization/roleAssignments","name":"feb76a5e-7bed-4bc8-b481-14bbb109bc33"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-15T10:16:20.3297126Z","updatedOn":"2020-04-15T10:16:20.3297126Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0db6da93-ca6a-4b5a-8c44-7a3f2003d03c","type":"Microsoft.Authorization/roleAssignments","name":"0db6da93-ca6a-4b5a-8c44-7a3f2003d03c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-01-13T05:17:20.7354482Z","updatedOn":"2020-01-13T05:17:20.7354482Z","createdBy":"09914860-7ec9-4151-8431-31797899a359","updatedBy":"09914860-7ec9-4151-8431-31797899a359","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e5a79ae7-7137-416f-a2cd-4b273ca62d5f","type":"Microsoft.Authorization/roleAssignments","name":"e5a79ae7-7137-416f-a2cd-4b273ca62d5f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-24T19:37:33.7189313Z","updatedOn":"2020-02-24T19:37:33.7189313Z","createdBy":"f31399da-e7ed-4fe4-a825-a9dff4f53481","updatedBy":"f31399da-e7ed-4fe4-a825-a9dff4f53481","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d1964993-fb9d-4be1-982f-fcd6ca7cd493","type":"Microsoft.Authorization/roleAssignments","name":"d1964993-fb9d-4be1-982f-fcd6ca7cd493"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2017-05-22T23:26:54.3208785Z","updatedOn":"2017-05-22T23:26:54.3208785Z","createdBy":"b09a0928-3846-4efb-a579-8540fb78b0a3","updatedBy":"b09a0928-3846-4efb-a579-8540fb78b0a3","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2d149cfb-bc18-48f8-b769-8a0cafd11bee","type":"Microsoft.Authorization/roleAssignments","name":"2d149cfb-bc18-48f8-b769-8a0cafd11bee"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-07T02:09:11.3539299Z","updatedOn":"2020-05-07T02:09:11.3539299Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/5124598f-5127-4efc-9b15-9276948fe202","type":"Microsoft.Authorization/roleAssignments","name":"5124598f-5127-4efc-9b15-9276948fe202"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-18T23:40:26.3271411Z","updatedOn":"2020-02-18T23:40:26.3271411Z","createdBy":"f31399da-e7ed-4fe4-a825-a9dff4f53481","updatedBy":"f31399da-e7ed-4fe4-a825-a9dff4f53481","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/27f9c0cd-fbc1-4810-a9f9-804efad4beec","type":"Microsoft.Authorization/roleAssignments","name":"27f9c0cd-fbc1-4810-a9f9-804efad4beec"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-02T10:52:21.7337863Z","updatedOn":"2020-04-02T10:52:21.7337863Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/54ff849a-1ced-4a28-b675-6bca70a82033","type":"Microsoft.Authorization/roleAssignments","name":"54ff849a-1ced-4a28-b675-6bca70a82033"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-16T07:25:52.5298801Z","updatedOn":"2020-04-16T07:25:52.5298801Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/65fd85a7-3057-4f7f-86bd-0c36a612f483","type":"Microsoft.Authorization/roleAssignments","name":"65fd85a7-3057-4f7f-86bd-0c36a612f483"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-22T21:44:38.6097605Z","updatedOn":"2020-05-22T21:44:38.6097605Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0a2d331c-57c6-48be-9d5f-f49da541fc7e","type":"Microsoft.Authorization/roleAssignments","name":"0a2d331c-57c6-48be-9d5f-f49da541fc7e"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-04T21:30:10.6978339Z","updatedOn":"2020-02-04T21:30:10.6978339Z","createdBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","updatedBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/91ea4b88-79c1-4163-bf5c-760b8add6d79","type":"Microsoft.Authorization/roleAssignments","name":"91ea4b88-79c1-4163-bf5c-760b8add6d79"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-03T05:33:46.3567584Z","updatedOn":"2020-04-03T05:33:46.3567584Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4f9fed67-4a0b-4f9d-870e-66a508cb73eb","type":"Microsoft.Authorization/roleAssignments","name":"4f9fed67-4a0b-4f9d-870e-66a508cb73eb"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-01-24T16:54:45.9590630Z","updatedOn":"2020-01-24T16:54:45.9590630Z","createdBy":"b87c5c16-4f0e-4af2-9b2e-20f25d6b5a3f","updatedBy":"b87c5c16-4f0e-4af2-9b2e-20f25d6b5a3f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/04741a9e-7efb-41cc-b79c-8c725cc7563b","type":"Microsoft.Authorization/roleAssignments","name":"04741a9e-7efb-41cc-b79c-8c725cc7563b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-08-02T07:18:21.5783958Z","updatedOn":"2019-08-02T07:18:21.5783958Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f4afc41d-352f-4bce-84f1-fad9f832f274","type":"Microsoft.Authorization/roleAssignments","name":"f4afc41d-352f-4bce-84f1-fad9f832f274"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-03T17:48:07.2484442Z","updatedOn":"2020-02-03T17:48:07.2484442Z","createdBy":"ef34ad48-5675-4480-8fe7-a6cc394b97c4","updatedBy":"ef34ad48-5675-4480-8fe7-a6cc394b97c4","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/31005f88-9e70-483d-acc8-0f9cc8066b13","type":"Microsoft.Authorization/roleAssignments","name":"31005f88-9e70-483d-acc8-0f9cc8066b13"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-04T21:07:59.9113196Z","updatedOn":"2020-02-04T21:07:59.9113196Z","createdBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","updatedBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ea60c465-aef4-4494-9478-636615243841","type":"Microsoft.Authorization/roleAssignments","name":"ea60c465-aef4-4494-9478-636615243841"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-11-02T00:40:13.2696018Z","updatedOn":"2019-11-02T00:40:13.2696018Z","createdBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","updatedBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/1c0ee413-025e-422c-a8d0-2b8dd410b9b8","type":"Microsoft.Authorization/roleAssignments","name":"1c0ee413-025e-422c-a8d0-2b8dd410b9b8"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-04T21:37:15.2971418Z","updatedOn":"2020-02-04T21:37:15.2971418Z","createdBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","updatedBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/39e99cf2-95c7-4585-8703-998450cafea0","type":"Microsoft.Authorization/roleAssignments","name":"39e99cf2-95c7-4585-8703-998450cafea0"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2018-11-15T22:27:15.6601349Z","updatedOn":"2018-11-15T22:27:15.6601349Z","createdBy":"38d88515-7eb8-4c96-804f-4edcc95b9dff","updatedBy":"38d88515-7eb8-4c96-804f-4edcc95b9dff","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/418847ec-df97-4b29-9711-fc833817e5d6","type":"Microsoft.Authorization/roleAssignments","name":"418847ec-df97-4b29-9711-fc833817e5d6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-08-28T14:20:52.7506898Z","updatedOn":"2019-08-28T14:20:52.7506898Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/715fd118-93b8-4b09-822d-48de5afb21e3","type":"Microsoft.Authorization/roleAssignments","name":"715fd118-93b8-4b09-822d-48de5afb21e3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-01-06T05:22:04.7673784Z","updatedOn":"2019-01-06T05:22:04.7673784Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ba5c8600-8cc9-4778-9735-c3d57d26e50d","type":"Microsoft.Authorization/roleAssignments","name":"ba5c8600-8cc9-4778-9735-c3d57d26e50d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-02T16:21:28.6789246Z","updatedOn":"2020-06-02T16:21:28.6789246Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/bd6bf5d5-fc1c-4fcd-81f3-0d11d3ff9f42","type":"Microsoft.Authorization/roleAssignments","name":"bd6bf5d5-fc1c-4fcd-81f3-0d11d3ff9f42"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-12-13T02:01:30.4183889Z","updatedOn":"2019-12-13T02:01:30.4183889Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4623d907-e6fa-4e2a-ad82-18e34456d655","type":"Microsoft.Authorization/roleAssignments","name":"4623d907-e6fa-4e2a-ad82-18e34456d655"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-03-25T08:37:49.6357044Z","updatedOn":"2020-03-25T08:37:49.6357044Z","createdBy":"471feb6d-5a83-439e-af7b-311f4eee2d0c","updatedBy":"471feb6d-5a83-439e-af7b-311f4eee2d0c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b332ab7b-a956-4e37-acc1-e4df2e9eedfa","type":"Microsoft.Authorization/roleAssignments","name":"b332ab7b-a956-4e37-acc1-e4df2e9eedfa"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-21T03:52:37.6293834Z","updatedOn":"2020-02-21T03:52:37.6293834Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2402af90-d517-4d1d-9ca1-7b85dfc17099","type":"Microsoft.Authorization/roleAssignments","name":"2402af90-d517-4d1d-9ca1-7b85dfc17099"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-28T01:00:41.8419503Z","updatedOn":"2020-04-28T01:00:41.8419503Z","createdBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","updatedBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4da426ac-99d3-442d-b868-532f3582429b","type":"Microsoft.Authorization/roleAssignments","name":"4da426ac-99d3-442d-b868-532f3582429b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-12-04T03:17:07.6866234Z","updatedOn":"2019-12-04T03:17:07.6866234Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b76e5f32-b37f-482c-a7a4-98ef34ecea8a","type":"Microsoft.Authorization/roleAssignments","name":"b76e5f32-b37f-482c-a7a4-98ef34ecea8a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-27T23:12:42.6196328Z","updatedOn":"2020-04-27T23:12:42.6196328Z","createdBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","updatedBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/bb61d9e5-3664-42b4-b41c-bc3e34701de6","type":"Microsoft.Authorization/roleAssignments","name":"bb61d9e5-3664-42b4-b41c-bc3e34701de6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-03-02T20:50:25.6909226Z","updatedOn":"2020-03-02T20:50:25.6909226Z","createdBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","updatedBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/95a9d3e8-db32-4a7f-ad9c-46054677ff39","type":"Microsoft.Authorization/roleAssignments","name":"95a9d3e8-db32-4a7f-ad9c-46054677ff39"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-16T20:48:38.9374068Z","updatedOn":"2020-04-16T20:48:38.9374068Z","createdBy":"c66b4485-d88a-4007-b687-4867ca3c076f","updatedBy":"c66b4485-d88a-4007-b687-4867ca3c076f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/45d89866-af64-4364-b886-7f5ec154c3d4","type":"Microsoft.Authorization/roleAssignments","name":"45d89866-af64-4364-b886-7f5ec154c3d4"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-20T08:42:00.9560545Z","updatedOn":"2020-04-20T08:42:00.9560545Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/7a41b62f-97d4-4f4c-8bfc-4a8dd708e00f","type":"Microsoft.Authorization/roleAssignments","name":"7a41b62f-97d4-4f4c-8bfc-4a8dd708e00f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-19T00:23:10.4351839Z","updatedOn":"2020-06-19T00:23:10.4351839Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c1eb6cee-ee7a-4ed5-a683-846f01688ab9","type":"Microsoft.Authorization/roleAssignments","name":"c1eb6cee-ee7a-4ed5-a683-846f01688ab9"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-07T01:58:45.6145522Z","updatedOn":"2020-05-07T01:58:45.6145522Z","createdBy":"4b5234ab-8f8d-429e-9e1c-ea5799b66ffa","updatedBy":"4b5234ab-8f8d-429e-9e1c-ea5799b66ffa","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/9d42f5af-b9f8-4cf4-b017-612fdbb4f8a7","type":"Microsoft.Authorization/roleAssignments","name":"9d42f5af-b9f8-4cf4-b017-612fdbb4f8a7"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-01-13T21:41:39.4063114Z","updatedOn":"2020-01-13T21:41:39.4063114Z","createdBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","updatedBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2226a2aa-7a47-4546-82ed-4e9e4536bc7b","type":"Microsoft.Authorization/roleAssignments","name":"2226a2aa-7a47-4546-82ed-4e9e4536bc7b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-23T03:10:28.2381030Z","updatedOn":"2020-04-23T03:10:28.2381030Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f98d1512-e634-4663-a219-24be2e6bfe1c","type":"Microsoft.Authorization/roleAssignments","name":"f98d1512-e634-4663-a219-24be2e6bfe1c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-01-30T22:50:20.7914421Z","updatedOn":"2019-01-30T22:50:20.7914421Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0bee5f49-7099-4a3c-9eef-b40697f6f371","type":"Microsoft.Authorization/roleAssignments","name":"0bee5f49-7099-4a3c-9eef-b40697f6f371"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-04T06:37:19.1237954Z","updatedOn":"2020-04-04T06:37:19.1237954Z","createdBy":"ed4707f4-8b58-42fe-9afd-0045d7a9b262","updatedBy":"ed4707f4-8b58-42fe-9afd-0045d7a9b262","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d2d2ec3b-f7e6-4dbb-b281-0ceb5f243d01","type":"Microsoft.Authorization/roleAssignments","name":"d2d2ec3b-f7e6-4dbb-b281-0ceb5f243d01"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-15T02:06:03.3308352Z","updatedOn":"2020-04-15T02:06:03.3308352Z","createdBy":"c212dea8-d0da-4832-bdb1-d9e2b7672c76","updatedBy":"c212dea8-d0da-4832-bdb1-d9e2b7672c76","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6142150e-c404-48e6-a731-fffb36357051","type":"Microsoft.Authorization/roleAssignments","name":"6142150e-c404-48e6-a731-fffb36357051"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-20T20:29:38.5194580Z","updatedOn":"2020-04-20T20:29:38.5194580Z","createdBy":"c66b4485-d88a-4007-b687-4867ca3c076f","updatedBy":"c66b4485-d88a-4007-b687-4867ca3c076f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/7682e420-ebd8-4c39-be01-8c1fc953f250","type":"Microsoft.Authorization/roleAssignments","name":"7682e420-ebd8-4c39-be01-8c1fc953f250"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2018-11-16T23:46:13.9660279Z","updatedOn":"2018-11-16T23:46:13.9660279Z","createdBy":"38d88515-7eb8-4c96-804f-4edcc95b9dff","updatedBy":"38d88515-7eb8-4c96-804f-4edcc95b9dff","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2b66b1ea-89dd-4bc6-8d89-96298648eb40","type":"Microsoft.Authorization/roleAssignments","name":"2b66b1ea-89dd-4bc6-8d89-96298648eb40"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-01-31T01:55:23.5911140Z","updatedOn":"2019-01-31T01:55:23.5911140Z","createdBy":"b47f071a-d6c9-4297-954e-83151fff489b","updatedBy":"b47f071a-d6c9-4297-954e-83151fff489b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/3359123d-b5f7-48d6-a1e7-ad77b7ef6b7f","type":"Microsoft.Authorization/roleAssignments","name":"3359123d-b5f7-48d6-a1e7-ad77b7ef6b7f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"Group","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2018-10-27T00:03:26.2878499Z","updatedOn":"2018-10-27T00:03:26.2878499Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ea920230-1aba-4f80-9eef-3fed8216f594","type":"Microsoft.Authorization/roleAssignments","name":"ea920230-1aba-4f80-9eef-3fed8216f594"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-03-25T08:25:35.9118633Z","updatedOn":"2020-03-25T08:25:35.9118633Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6559da2d-7b8e-4dfe-ba1d-dfedbd7c73a1","type":"Microsoft.Authorization/roleAssignments","name":"6559da2d-7b8e-4dfe-ba1d-dfedbd7c73a1"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-04T02:21:24.1380483Z","updatedOn":"2020-06-04T02:21:24.1380483Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f70af6d6-4511-4e74-b25f-9c15978d4859","type":"Microsoft.Authorization/roleAssignments","name":"f70af6d6-4511-4e74-b25f-9c15978d4859"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-10-26T01:25:12.5585896Z","updatedOn":"2019-10-26T01:25:12.5585896Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e5e4c17a-2a72-4b0e-8518-53afddc60b04","type":"Microsoft.Authorization/roleAssignments","name":"e5e4c17a-2a72-4b0e-8518-53afddc60b04"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-20T22:24:43.1326207Z","updatedOn":"2020-04-20T22:24:43.1326207Z","createdBy":"5ecb1531-0d8c-4a89-93cb-1b48b2224358","updatedBy":"5ecb1531-0d8c-4a89-93cb-1b48b2224358","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d54b05eb-b1d1-4845-8ac5-48c5bb4c50b6","type":"Microsoft.Authorization/roleAssignments","name":"d54b05eb-b1d1-4845-8ac5-48c5bb4c50b6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-03T09:55:40.2829720Z","updatedOn":"2020-04-03T09:55:40.2829720Z","createdBy":"0276227b-f99f-4db3-b016-9eebbdfe5dd9","updatedBy":"0276227b-f99f-4db3-b016-9eebbdfe5dd9","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c9c2a551-11aa-4b0a-8816-f8511cd46a32","type":"Microsoft.Authorization/roleAssignments","name":"c9c2a551-11aa-4b0a-8816-f8511cd46a32"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-29T03:57:30.1921503Z","updatedOn":"2020-04-29T03:57:30.1921503Z","createdBy":"a5cae52f-366a-417b-b718-e73d17746c35","updatedBy":"a5cae52f-366a-417b-b718-e73d17746c35","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b4a5f74f-d5b2-4fc7-bfa1-893cc5b9ad88","type":"Microsoft.Authorization/roleAssignments","name":"b4a5f74f-d5b2-4fc7-bfa1-893cc5b9ad88"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-21T06:59:06.6904070Z","updatedOn":"2020-04-21T06:59:06.6904070Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/8273f6ee-b861-42a0-8dec-475eb3215463","type":"Microsoft.Authorization/roleAssignments","name":"8273f6ee-b861-42a0-8dec-475eb3215463"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-29T17:47:02.9492136Z","updatedOn":"2020-06-29T17:47:02.9492136Z","createdBy":"c66b4485-d88a-4007-b687-4867ca3c076f","updatedBy":"c66b4485-d88a-4007-b687-4867ca3c076f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/5cae5324-e7eb-4c13-ba0d-80c801c2b744","type":"Microsoft.Authorization/roleAssignments","name":"5cae5324-e7eb-4c13-ba0d-80c801c2b744"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-29T15:40:03.6815875Z","updatedOn":"2020-04-29T15:40:03.6815875Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/09778426-699f-4faa-8016-5e6029e7313d","type":"Microsoft.Authorization/roleAssignments","name":"09778426-699f-4faa-8016-5e6029e7313d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-27T23:43:20.3428422Z","updatedOn":"2020-04-27T23:43:20.3428422Z","createdBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","updatedBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/271e5b8d-8684-4668-98b9-c3dc25f4b437","type":"Microsoft.Authorization/roleAssignments","name":"271e5b8d-8684-4668-98b9-c3dc25f4b437"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-03-26T21:10:42.2124416Z","updatedOn":"2020-03-26T21:10:42.2124416Z","createdBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","updatedBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d394da6c-4def-47de-8689-791727331c5b","type":"Microsoft.Authorization/roleAssignments","name":"d394da6c-4def-47de-8689-791727331c5b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-21T07:34:50.7125622Z","updatedOn":"2020-04-21T07:34:50.7125622Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ddeb2255-2bb6-458a-a891-532e96ae5483","type":"Microsoft.Authorization/roleAssignments","name":"ddeb2255-2bb6-458a-a891-532e96ae5483"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-23T04:07:45.3308845Z","updatedOn":"2020-06-23T04:07:45.3308845Z","createdBy":"9404195a-2cde-4a10-b88c-e7b41572bf31","updatedBy":"9404195a-2cde-4a10-b88c-e7b41572bf31","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/15d1dab1-b507-11ea-819c-a28e10bedef6","type":"Microsoft.Authorization/roleAssignments","name":"15d1dab1-b507-11ea-819c-a28e10bedef6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-13T00:09:08.8179220Z","updatedOn":"2020-05-13T00:09:08.8179220Z","createdBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","updatedBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/08a578f0-4875-47d0-8775-946b3a0f2b06","type":"Microsoft.Authorization/roleAssignments","name":"08a578f0-4875-47d0-8775-946b3a0f2b06"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-10T23:15:46.8549700Z","updatedOn":"2020-05-10T23:15:46.8549700Z","createdBy":"c1acf319-6d96-4dfe-b194-c27640869947","updatedBy":"c1acf319-6d96-4dfe-b194-c27640869947","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/22d3da65-7681-445e-9080-e748e494676f","type":"Microsoft.Authorization/roleAssignments","name":"22d3da65-7681-445e-9080-e748e494676f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-08-29T13:30:14.1177711Z","updatedOn":"2019-08-29T13:30:14.1177711Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4a2c1014-c1ba-4ae9-a632-90967c28429d","type":"Microsoft.Authorization/roleAssignments","name":"4a2c1014-c1ba-4ae9-a632-90967c28429d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-27T01:26:21.7189691Z","updatedOn":"2020-02-27T01:26:21.7189691Z","createdBy":"c1acf319-6d96-4dfe-b194-c27640869947","updatedBy":"c1acf319-6d96-4dfe-b194-c27640869947","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/28808064-5900-11ea-81c8-acde48001122","type":"Microsoft.Authorization/roleAssignments","name":"28808064-5900-11ea-81c8-acde48001122"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-10-31T20:08:15.8705805Z","updatedOn":"2019-10-31T20:08:15.8705805Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e47c861f-a9eb-46c0-b2e2-102033a5c009","type":"Microsoft.Authorization/roleAssignments","name":"e47c861f-a9eb-46c0-b2e2-102033a5c009"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-28T00:17:14.5340823Z","updatedOn":"2020-04-28T00:17:14.5340823Z","createdBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","updatedBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f7e6b175-9796-4292-bf64-1683aa14312f","type":"Microsoft.Authorization/roleAssignments","name":"f7e6b175-9796-4292-bf64-1683aa14312f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-20T08:30:00.0256525Z","updatedOn":"2020-04-20T08:30:00.0256525Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a91f5ef0-1d9b-453e-8f90-43826c3652dd","type":"Microsoft.Authorization/roleAssignments","name":"a91f5ef0-1d9b-453e-8f90-43826c3652dd"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-14T00:22:19.2644898Z","updatedOn":"2020-04-14T00:22:19.2644898Z","createdBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","updatedBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/420714ce-6b24-4ce2-b7ee-51554de01de7","type":"Microsoft.Authorization/roleAssignments","name":"420714ce-6b24-4ce2-b7ee-51554de01de7"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-28T00:53:44.9077172Z","updatedOn":"2020-04-28T00:53:44.9077172Z","createdBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","updatedBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2940c5e2-5742-42aa-9569-e68c698a01d6","type":"Microsoft.Authorization/roleAssignments","name":"2940c5e2-5742-42aa-9569-e68c698a01d6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"Group","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-01-30T19:30:49.2769608Z","updatedOn":"2019-01-30T19:30:49.2769608Z","createdBy":"b47f071a-d6c9-4297-954e-83151fff489b","updatedBy":"b47f071a-d6c9-4297-954e-83151fff489b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/310957e5-5722-42e0-95b6-5bc6c6b67f16","type":"Microsoft.Authorization/roleAssignments","name":"310957e5-5722-42e0-95b6-5bc6c6b67f16"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-07-03T01:05:25.8863198Z","updatedOn":"2020-07-03T01:05:25.8863198Z","createdBy":"7ac4ca6d-46a3-4e71-a705-858af50eea7b","updatedBy":"7ac4ca6d-46a3-4e71-a705-858af50eea7b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/46877403-bcc9-11ea-924f-00155d871f03","type":"Microsoft.Authorization/roleAssignments","name":"46877403-bcc9-11ea-924f-00155d871f03"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-02T16:19:56.1932050Z","updatedOn":"2020-06-02T16:19:56.1932050Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/de7bdfed-5cc5-47e2-9008-327939dc8379","type":"Microsoft.Authorization/roleAssignments","name":"de7bdfed-5cc5-47e2-9008-327939dc8379"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-03-28T19:57:23.3708745Z","updatedOn":"2019-03-28T19:57:23.3708745Z","createdBy":"66cb050e-bae1-4005-8c4c-0f6dd9b34978","updatedBy":"66cb050e-bae1-4005-8c4c-0f6dd9b34978","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/cc796cab-2f6b-4099-b9a3-7500f5516153","type":"Microsoft.Authorization/roleAssignments","name":"cc796cab-2f6b-4099-b9a3-7500f5516153"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-24T02:12:40.2606628Z","updatedOn":"2020-04-24T02:12:40.2606628Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6a375386-4cb0-47fd-952c-92465f6d679d","type":"Microsoft.Authorization/roleAssignments","name":"6a375386-4cb0-47fd-952c-92465f6d679d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-03-30T22:56:44.9793119Z","updatedOn":"2020-03-30T22:56:44.9793119Z","createdBy":"53bb8815-874d-4b05-9953-1158e05aa080","updatedBy":"53bb8815-874d-4b05-9953-1158e05aa080","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/000ea275-41c4-40ce-943f-98a8849a56bc","type":"Microsoft.Authorization/roleAssignments","name":"000ea275-41c4-40ce-943f-98a8849a56bc"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-12-13T02:01:31.6182075Z","updatedOn":"2019-12-13T02:01:31.6182075Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d3ea741e-fdf8-4780-a73f-bbc0efbd141c","type":"Microsoft.Authorization/roleAssignments","name":"d3ea741e-fdf8-4780-a73f-bbc0efbd141c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-23T05:07:17.2382220Z","updatedOn":"2020-06-23T05:07:17.2382220Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4202823d-7518-46d1-b5ff-b6c7cb7b9dd3","type":"Microsoft.Authorization/roleAssignments","name":"4202823d-7518-46d1-b5ff-b6c7cb7b9dd3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-18T12:01:15.4801397Z","updatedOn":"2020-05-18T12:01:15.4801397Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4c04d5e5-df60-47b9-abde-aa9641425c64","type":"Microsoft.Authorization/roleAssignments","name":"4c04d5e5-df60-47b9-abde-aa9641425c64"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-10T01:13:53.0806696Z","updatedOn":"2020-06-10T01:13:53.0806696Z","createdBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","updatedBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a584fad9-aab7-11ea-b7e7-00155d4b0124","type":"Microsoft.Authorization/roleAssignments","name":"a584fad9-aab7-11ea-b7e7-00155d4b0124"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-07-03T07:48:19.4504494Z","updatedOn":"2020-07-03T07:48:19.4504494Z","createdBy":"471feb6d-5a83-439e-af7b-311f4eee2d0c","updatedBy":"471feb6d-5a83-439e-af7b-311f4eee2d0c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/28dd25b5-e359-4d3d-9632-bcd15c3fa296","type":"Microsoft.Authorization/roleAssignments","name":"28dd25b5-e359-4d3d-9632-bcd15c3fa296"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-09T00:52:51.5057560Z","updatedOn":"2020-06-09T00:52:51.5057560Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6d91fd42-bd38-4380-8f63-993e49f83833","type":"Microsoft.Authorization/roleAssignments","name":"6d91fd42-bd38-4380-8f63-993e49f83833"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-09-20T20:32:24.1155446Z","updatedOn":"2019-09-20T20:32:24.1155446Z","createdBy":"66cb050e-bae1-4005-8c4c-0f6dd9b34978","updatedBy":"66cb050e-bae1-4005-8c4c-0f6dd9b34978","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c1a9a09e-eafe-4c97-b589-a8261ee04099","type":"Microsoft.Authorization/roleAssignments","name":"c1a9a09e-eafe-4c97-b589-a8261ee04099"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-12T00:23:23.9037436Z","updatedOn":"2020-05-12T00:23:23.9037436Z","createdBy":"c1acf319-6d96-4dfe-b194-c27640869947","updatedBy":"c1acf319-6d96-4dfe-b194-c27640869947","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6ff95229-981f-40d7-889f-97bc90b8f387","type":"Microsoft.Authorization/roleAssignments","name":"6ff95229-981f-40d7-889f-97bc90b8f387"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-09T00:52:52.1315983Z","updatedOn":"2020-06-09T00:52:52.1315983Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/7512dec1-86e5-400d-8bc9-f24f181127f3","type":"Microsoft.Authorization/roleAssignments","name":"7512dec1-86e5-400d-8bc9-f24f181127f3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-12-30T03:12:58.1455315Z","updatedOn":"2019-12-30T03:12:58.1455315Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/091713ce-9ee7-445d-beaf-708ee254b129","type":"Microsoft.Authorization/roleAssignments","name":"091713ce-9ee7-445d-beaf-708ee254b129"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-04-19T04:20:34.3557776Z","updatedOn":"2019-04-19T04:20:34.3557776Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/092a238c-94af-4fca-bd4a-bb4995ea58db","type":"Microsoft.Authorization/roleAssignments","name":"092a238c-94af-4fca-bd4a-bb4995ea58db"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-14T04:03:23.9185561Z","updatedOn":"2020-04-14T04:03:23.9185561Z","createdBy":"c212dea8-d0da-4832-bdb1-d9e2b7672c76","updatedBy":"c212dea8-d0da-4832-bdb1-d9e2b7672c76","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0f0f495d-0356-4239-b966-3f47f5f1054a","type":"Microsoft.Authorization/roleAssignments","name":"0f0f495d-0356-4239-b966-3f47f5f1054a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-20T20:29:38.4023513Z","updatedOn":"2020-04-20T20:29:38.4023513Z","createdBy":"c66b4485-d88a-4007-b687-4867ca3c076f","updatedBy":"c66b4485-d88a-4007-b687-4867ca3c076f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b3276191-98a8-472b-b650-21c8d24b7464","type":"Microsoft.Authorization/roleAssignments","name":"b3276191-98a8-472b-b650-21c8d24b7464"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-16T02:06:59.0490140Z","updatedOn":"2020-05-16T02:06:59.0490140Z","createdBy":"53bb8815-874d-4b05-9953-1158e05aa080","updatedBy":"53bb8815-874d-4b05-9953-1158e05aa080","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2cf7ea7b-3bdd-44ea-966b-b4eb4e7813fa","type":"Microsoft.Authorization/roleAssignments","name":"2cf7ea7b-3bdd-44ea-966b-b4eb4e7813fa"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-13T22:32:47.4470861Z","updatedOn":"2020-04-13T22:32:47.4470861Z","createdBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","updatedBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/93ce765f-2d72-454b-816b-ba287754fe5a","type":"Microsoft.Authorization/roleAssignments","name":"93ce765f-2d72-454b-816b-ba287754fe5a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-14T00:42:59.8868253Z","updatedOn":"2020-05-14T00:42:59.8868253Z","createdBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","updatedBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6b3c8d44-237c-410c-a095-52ded7f5cd26","type":"Microsoft.Authorization/roleAssignments","name":"6b3c8d44-237c-410c-a095-52ded7f5cd26"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-11T13:26:01.9493491Z","updatedOn":"2020-02-11T13:26:01.9493491Z","createdBy":"0276227b-f99f-4db3-b016-9eebbdfe5dd9","updatedBy":"0276227b-f99f-4db3-b016-9eebbdfe5dd9","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/8fab1ba3-53c2-4b21-9d32-dc89fd061811","type":"Microsoft.Authorization/roleAssignments","name":"8fab1ba3-53c2-4b21-9d32-dc89fd061811"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-04-19T22:53:47.5902917Z","updatedOn":"2019-04-19T22:53:47.5902917Z","createdBy":"66cb050e-bae1-4005-8c4c-0f6dd9b34978","updatedBy":"66cb050e-bae1-4005-8c4c-0f6dd9b34978","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/1f9d617d-8ab5-4f63-8c85-445f6c30632f","type":"Microsoft.Authorization/roleAssignments","name":"1f9d617d-8ab5-4f63-8c85-445f6c30632f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-03T05:34:39.2163770Z","updatedOn":"2020-04-03T05:34:39.2163770Z","createdBy":"ed4707f4-8b58-42fe-9afd-0045d7a9b262","updatedBy":"ed4707f4-8b58-42fe-9afd-0045d7a9b262","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/8e4edc2a-dd1f-469b-9a44-f0693866b843","type":"Microsoft.Authorization/roleAssignments","name":"8e4edc2a-dd1f-469b-9a44-f0693866b843"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-12T21:48:57.3001992Z","updatedOn":"2020-05-12T21:48:57.3001992Z","createdBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","updatedBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/dcc102ec-9c04-4c7c-976e-94c72db42b49","type":"Microsoft.Authorization/roleAssignments","name":"dcc102ec-9c04-4c7c-976e-94c72db42b49"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-06-26T06:44:38.5656650Z","updatedOn":"2019-06-26T06:44:38.5656650Z","createdBy":"f058371f-0c0e-46bb-a5d4-f8aec637a467","updatedBy":"f058371f-0c0e-46bb-a5d4-f8aec637a467","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a2cc1fcf-6ce5-4bd8-94c9-e0e6aa788a1d","type":"Microsoft.Authorization/roleAssignments","name":"a2cc1fcf-6ce5-4bd8-94c9-e0e6aa788a1d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-20T19:40:09.1141460Z","updatedOn":"2020-02-20T19:40:09.1141460Z","createdBy":"c1acf319-6d96-4dfe-b194-c27640869947","updatedBy":"c1acf319-6d96-4dfe-b194-c27640869947","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d4673bf4-97da-4102-9284-2a7315b88a34","type":"Microsoft.Authorization/roleAssignments","name":"d4673bf4-97da-4102-9284-2a7315b88a34"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-23T05:07:14.6947730Z","updatedOn":"2020-06-23T05:07:14.6947730Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/bec06514-2b3f-4a1f-92f2-cbb30828f447","type":"Microsoft.Authorization/roleAssignments","name":"bec06514-2b3f-4a1f-92f2-cbb30828f447"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-21T07:19:44.2488168Z","updatedOn":"2020-04-21T07:19:44.2488168Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/fadbe071-d757-48fc-b82a-4784249ded10","type":"Microsoft.Authorization/roleAssignments","name":"fadbe071-d757-48fc-b82a-4784249ded10"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-12-13T02:01:31.7381957Z","updatedOn":"2019-12-13T02:01:31.7381957Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6e035090-e3f8-4bb2-b117-fac2fba706b2","type":"Microsoft.Authorization/roleAssignments","name":"6e035090-e3f8-4bb2-b117-fac2fba706b2"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-03-12T17:29:23.0437979Z","updatedOn":"2019-03-12T17:29:23.0437979Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a7e76154-c2a7-4419-b73f-e8c6010318c9","type":"Microsoft.Authorization/roleAssignments","name":"a7e76154-c2a7-4419-b73f-e8c6010318c9"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-26T19:29:06.9092628Z","updatedOn":"2020-05-26T19:29:06.9092628Z","createdBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","updatedBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c0b0f01a-d6f2-4c1f-879d-10bdc2f1aee5","type":"Microsoft.Authorization/roleAssignments","name":"c0b0f01a-d6f2-4c1f-879d-10bdc2f1aee5"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-21T07:40:03.0117061Z","updatedOn":"2020-02-21T07:40:03.0117061Z","createdBy":"0276227b-f99f-4db3-b016-9eebbdfe5dd9","updatedBy":"0276227b-f99f-4db3-b016-9eebbdfe5dd9","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e5c1eb24-09ad-487a-8286-8bb2841d311d","type":"Microsoft.Authorization/roleAssignments","name":"e5c1eb24-09ad-487a-8286-8bb2841d311d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-17T00:59:53.8734172Z","updatedOn":"2020-06-17T00:59:53.8734172Z","createdBy":"82e11ed5-c720-4c8d-b396-a2fcd9e4291f","updatedBy":"82e11ed5-c720-4c8d-b396-a2fcd9e4291f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d7f69b6b-b035-11ea-a6dd-000d3aa35713","type":"Microsoft.Authorization/roleAssignments","name":"d7f69b6b-b035-11ea-a6dd-000d3aa35713"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-23T14:27:52.3922162Z","updatedOn":"2020-04-23T14:27:52.3922162Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/9acabd34-856e-11ea-98ae-acbc329aaf8b","type":"Microsoft.Authorization/roleAssignments","name":"9acabd34-856e-11ea-98ae-acbc329aaf8b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-20T20:29:38.3267905Z","updatedOn":"2020-04-20T20:29:38.3267905Z","createdBy":"c66b4485-d88a-4007-b687-4867ca3c076f","updatedBy":"c66b4485-d88a-4007-b687-4867ca3c076f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ac979adb-819c-4fae-98bc-6a6c81bc76b1","type":"Microsoft.Authorization/roleAssignments","name":"ac979adb-819c-4fae-98bc-6a6c81bc76b1"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2018-02-06T23:56:15.2220285Z","updatedOn":"2018-02-06T23:56:15.2220285Z","createdBy":"b87c5c16-4f0e-4af2-9b2e-20f25d6b5a3f","updatedBy":"b87c5c16-4f0e-4af2-9b2e-20f25d6b5a3f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f54c2ddd-8858-4c40-bdec-25546c985154","type":"Microsoft.Authorization/roleAssignments","name":"f54c2ddd-8858-4c40-bdec-25546c985154"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-20T20:29:38.3023490Z","updatedOn":"2020-04-20T20:29:38.3023490Z","createdBy":"c66b4485-d88a-4007-b687-4867ca3c076f","updatedBy":"c66b4485-d88a-4007-b687-4867ca3c076f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/bf46ff50-6187-4a95-afd4-b811c1a8b239","type":"Microsoft.Authorization/roleAssignments","name":"bf46ff50-6187-4a95-afd4-b811c1a8b239"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-02-02T04:47:03.2856858Z","updatedOn":"2019-02-02T04:47:03.2856858Z","createdBy":"66cb050e-bae1-4005-8c4c-0f6dd9b34978","updatedBy":"66cb050e-bae1-4005-8c4c-0f6dd9b34978","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/11737a1b-2cf4-4fca-8c36-4ef79e0df5b0","type":"Microsoft.Authorization/roleAssignments","name":"11737a1b-2cf4-4fca-8c36-4ef79e0df5b0"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-02T23:56:53.9541160Z","updatedOn":"2020-04-02T23:56:53.9541160Z","createdBy":"53bb8815-874d-4b05-9953-1158e05aa080","updatedBy":"53bb8815-874d-4b05-9953-1158e05aa080","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/700e8068-ae0c-4176-8e70-8958a82a4aa1","type":"Microsoft.Authorization/roleAssignments","name":"700e8068-ae0c-4176-8e70-8958a82a4aa1"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-08-02T07:21:13.1302112Z","updatedOn":"2019-08-02T07:21:13.1302112Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/98328e7b-c22c-4a4b-bcae-25953d0c52f3","type":"Microsoft.Authorization/roleAssignments","name":"98328e7b-c22c-4a4b-bcae-25953d0c52f3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-28T03:13:08.9833014Z","updatedOn":"2020-04-28T03:13:08.9833014Z","createdBy":"547f6960-a967-417a-a9a4-0f35fbdca11c","updatedBy":"547f6960-a967-417a-a9a4-0f35fbdca11c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/5479cc1b-0762-40bd-862d-7369aa1ff685","type":"Microsoft.Authorization/roleAssignments","name":"5479cc1b-0762-40bd-862d-7369aa1ff685"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-04T02:11:30.6140935Z","updatedOn":"2020-02-04T02:11:30.6140935Z","createdBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","updatedBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/495c765c-e6e2-4582-9ab6-ad9abf7e5064","type":"Microsoft.Authorization/roleAssignments","name":"495c765c-e6e2-4582-9ab6-ad9abf7e5064"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-08-06T03:04:23.5398083Z","updatedOn":"2019-08-06T03:04:23.5398083Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/958e790f-1635-4dd3-b718-5403a1342a66","type":"Microsoft.Authorization/roleAssignments","name":"958e790f-1635-4dd3-b718-5403a1342a66"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-01-10T01:23:31.4432043Z","updatedOn":"2020-01-10T01:23:31.4432043Z","createdBy":"09914860-7ec9-4151-8431-31797899a359","updatedBy":"09914860-7ec9-4151-8431-31797899a359","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/151d14b1-b26a-47b9-be10-255bf562d592","type":"Microsoft.Authorization/roleAssignments","name":"151d14b1-b26a-47b9-be10-255bf562d592"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-12-13T02:02:28.2288268Z","updatedOn":"2019-12-13T02:02:28.2288268Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/11ddfea7-616f-499f-9975-e8513b60eb3c","type":"Microsoft.Authorization/roleAssignments","name":"11ddfea7-616f-499f-9975-e8513b60eb3c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-03-16T23:29:48.3209681Z","updatedOn":"2020-03-16T23:29:48.3209681Z","createdBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","updatedBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/3eb4155b-2965-456b-8f00-bca8a13b1684","type":"Microsoft.Authorization/roleAssignments","name":"3eb4155b-2965-456b-8f00-bca8a13b1684"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-05T14:05:58.2716050Z","updatedOn":"2021-04-05T14:05:58.2716050Z","createdBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","updatedBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0a9b0e6a-9618-11eb-879a-88e9fe77e044","type":"Microsoft.Authorization/roleAssignments","name":"0a9b0e6a-9618-11eb-879a-88e9fe77e044"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-05T17:37:43.7040494Z","updatedOn":"2021-04-05T17:37:43.7040494Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a04b0948-9635-11eb-b395-acde48001122","type":"Microsoft.Authorization/roleAssignments","name":"a04b0948-9635-11eb-b395-acde48001122"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-05T23:56:38.0963501Z","updatedOn":"2021-04-05T23:56:38.0963501Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/80ef7746-a500-41bc-9154-bf710a740c8f","type":"Microsoft.Authorization/roleAssignments","name":"80ef7746-a500-41bc-9154-bf710a740c8f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-06T02:08:10.5378297Z","updatedOn":"2021-04-06T02:08:10.5378297Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/627cf393-9c97-4b8d-8e68-3188a44d3347","type":"Microsoft.Authorization/roleAssignments","name":"627cf393-9c97-4b8d-8e68-3188a44d3347"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-06T02:24:11.2891190Z","updatedOn":"2021-04-06T02:24:11.2891190Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2845ac64-e36c-43b7-8958-033805cafe86","type":"Microsoft.Authorization/roleAssignments","name":"2845ac64-e36c-43b7-8958-033805cafe86"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-06T02:24:39.3826587Z","updatedOn":"2021-04-06T02:24:39.3826587Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6c21611b-a840-4166-b9f4-8cec90c17841","type":"Microsoft.Authorization/roleAssignments","name":"6c21611b-a840-4166-b9f4-8cec90c17841"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-06T02:24:39.4154930Z","updatedOn":"2021-04-06T02:24:39.4154930Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/925d4876-8fde-4334-8f84-4ce52ca7108e","type":"Microsoft.Authorization/roleAssignments","name":"925d4876-8fde-4334-8f84-4ce52ca7108e"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-06T04:46:32.1029699Z","updatedOn":"2021-04-06T04:46:32.1029699Z","createdBy":"9404195a-2cde-4a10-b88c-e7b41572bf31","updatedBy":"9404195a-2cde-4a10-b88c-e7b41572bf31","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0dfdb837-9693-11eb-b629-b6178ece78ec","type":"Microsoft.Authorization/roleAssignments","name":"0dfdb837-9693-11eb-b629-b6178ece78ec"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"Group","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-06T11:25:43.5702772Z","updatedOn":"2021-04-06T11:25:43.5702772Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/958a1320-4346-46fb-9722-828af239eb03","type":"Microsoft.Authorization/roleAssignments","name":"958a1320-4346-46fb-9722-828af239eb03"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-06T20:54:21.5921112Z","updatedOn":"2021-04-06T20:54:21.5921112Z","createdBy":"f5d11ebc-8494-4b5f-a0fc-5fbbfd56f7bb","updatedBy":"f5d11ebc-8494-4b5f-a0fc-5fbbfd56f7bb","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/42ad5638-971a-11eb-abf6-00155d3a4c00","type":"Microsoft.Authorization/roleAssignments","name":"42ad5638-971a-11eb-abf6-00155d3a4c00"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-06T23:22:50.4425724Z","updatedOn":"2021-04-06T23:22:50.4425724Z","createdBy":"ad232e99-5e1b-414e-aa53-96ae40d39f3e","updatedBy":"ad232e99-5e1b-414e-aa53-96ae40d39f3e","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/00a90f2a-972f-11eb-9121-acde48001122","type":"Microsoft.Authorization/roleAssignments","name":"00a90f2a-972f-11eb-9121-acde48001122"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-06T23:57:47.7182520Z","updatedOn":"2021-04-06T23:57:47.7182520Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/fb99837b-1f81-4e7c-afdf-5a5da79bc3e3","type":"Microsoft.Authorization/roleAssignments","name":"fb99837b-1f81-4e7c-afdf-5a5da79bc3e3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-07T00:26:49.7250016Z","updatedOn":"2021-04-07T00:26:49.7250016Z","createdBy":"88f18750-8181-4579-8eff-eb44f510655c","updatedBy":"88f18750-8181-4579-8eff-eb44f510655c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/dca2df37-fdd1-49dc-a1de-31a70d62e098","type":"Microsoft.Authorization/roleAssignments","name":"dca2df37-fdd1-49dc-a1de-31a70d62e098"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-07T09:10:47.4905668Z","updatedOn":"2021-04-07T09:10:47.4905668Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/8a5dbdef-0896-48cd-a325-318e807ea133","type":"Microsoft.Authorization/roleAssignments","name":"8a5dbdef-0896-48cd-a325-318e807ea133"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-07T09:44:09.4148366Z","updatedOn":"2021-04-07T09:44:09.4148366Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/19eb9977-62b0-4571-8d91-9342f2580a32","type":"Microsoft.Authorization/roleAssignments","name":"19eb9977-62b0-4571-8d91-9342f2580a32"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-07T19:55:01.1984055Z","updatedOn":"2021-04-07T19:55:01.1984055Z","createdBy":"1b081df7-da49-42b3-a427-9cb93114bf07","updatedBy":"1b081df7-da49-42b3-a427-9cb93114bf07","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2301d942-97db-11eb-8bf8-acde48001122","type":"Microsoft.Authorization/roleAssignments","name":"2301d942-97db-11eb-8bf8-acde48001122"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-07T22:36:06.7954601Z","updatedOn":"2021-04-07T22:36:06.7954601Z","createdBy":"f31399da-e7ed-4fe4-a825-a9dff4f53481","updatedBy":"f31399da-e7ed-4fe4-a825-a9dff4f53481","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6070c7de-7571-4d55-8b2f-85285b7d9675","type":"Microsoft.Authorization/roleAssignments","name":"6070c7de-7571-4d55-8b2f-85285b7d9675"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-09T01:23:36.6710425Z","updatedOn":"2021-04-09T01:23:36.6710425Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/8f1c810a-91db-403c-8c1b-e36ef5e3f2ae","type":"Microsoft.Authorization/roleAssignments","name":"8f1c810a-91db-403c-8c1b-e36ef5e3f2ae"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-09T08:31:55.6753945Z","updatedOn":"2021-04-09T08:31:55.6753945Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/cb17ef81-685c-44f9-b679-244ff9cecfca","type":"Microsoft.Authorization/roleAssignments","name":"cb17ef81-685c-44f9-b679-244ff9cecfca"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-07-13T08:23:22.5067480Z","updatedOn":"2020-07-13T08:23:22.5067480Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d620bc90-9de4-4ae7-b69a-0b2489f91897","type":"Microsoft.Authorization/roleAssignments","name":"d620bc90-9de4-4ae7-b69a-0b2489f91897"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-07-17T03:14:37.5069272Z","updatedOn":"2020-07-17T03:14:37.5069272Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0d5c6698-a390-411c-a028-5ef6510a7db3","type":"Microsoft.Authorization/roleAssignments","name":"0d5c6698-a390-411c-a028-5ef6510a7db3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-08T10:10:14.5504056Z","updatedOn":"2021-03-08T10:10:14.5504056Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/067c1708-f33d-4c8c-9962-1115d573b010","type":"Microsoft.Authorization/roleAssignments","name":"067c1708-f33d-4c8c-9962-1115d573b010"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-12T17:41:39.7941619Z","updatedOn":"2021-03-12T17:41:39.7941619Z","createdBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","updatedBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d4625aa1-611e-448a-bf3e-f37f2bc878a3","type":"Microsoft.Authorization/roleAssignments","name":"d4625aa1-611e-448a-bf3e-f37f2bc878a3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-13T00:16:30.5211415Z","updatedOn":"2021-03-13T00:16:30.5211415Z","createdBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","updatedBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6bb77919-c820-434e-8b05-534269176a2c","type":"Microsoft.Authorization/roleAssignments","name":"6bb77919-c820-434e-8b05-534269176a2c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-13T10:12:45.2534236Z","updatedOn":"2021-03-13T10:12:45.2534236Z","createdBy":"8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9","updatedBy":"8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e975bb7b-054a-46af-9bb3-cac6dceabf4c","type":"Microsoft.Authorization/roleAssignments","name":"e975bb7b-054a-46af-9bb3-cac6dceabf4c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-16T23:49:03.3523073Z","updatedOn":"2021-03-16T23:49:03.3523073Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f33005f1-10be-43e3-a87f-9e2f954fb2db","type":"Microsoft.Authorization/roleAssignments","name":"f33005f1-10be-43e3-a87f-9e2f954fb2db"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-17T00:39:07.7760935Z","updatedOn":"2021-03-17T00:39:07.7760935Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a747debe-4a66-476a-9577-0b1a640750ef","type":"Microsoft.Authorization/roleAssignments","name":"a747debe-4a66-476a-9577-0b1a640750ef"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-22T03:25:46.9853541Z","updatedOn":"2021-03-22T03:25:46.9853541Z","createdBy":"09914860-7ec9-4151-8431-31797899a359","updatedBy":"09914860-7ec9-4151-8431-31797899a359","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/815c5875-b3b0-4595-ba0f-5f3ab8b57871","type":"Microsoft.Authorization/roleAssignments","name":"815c5875-b3b0-4595-ba0f-5f3ab8b57871"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-25T00:58:10.6501184Z","updatedOn":"2021-03-25T00:58:10.6501184Z","createdBy":"243a3958-b8d3-4c74-ad3f-77b916846d93","updatedBy":"243a3958-b8d3-4c74-ad3f-77b916846d93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2aca810c-8d05-11eb-bd25-000d3a4359fa","type":"Microsoft.Authorization/roleAssignments","name":"2aca810c-8d05-11eb-bd25-000d3a4359fa"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-26T10:13:53.8091651Z","updatedOn":"2021-03-26T10:13:53.8091651Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d850ab91-9de8-4c27-8667-99ba5677c4c2","type":"Microsoft.Authorization/roleAssignments","name":"d850ab91-9de8-4c27-8667-99ba5677c4c2"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-26T10:24:43.4077585Z","updatedOn":"2021-03-26T10:24:43.4077585Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/779ad30e-8e1d-11eb-8aa9-000d3ac754e3","type":"Microsoft.Authorization/roleAssignments","name":"779ad30e-8e1d-11eb-8aa9-000d3ac754e3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-26T15:24:46.1413686Z","updatedOn":"2021-03-26T15:24:46.1413686Z","createdBy":"547f6960-a967-417a-a9a4-0f35fbdca11c","updatedBy":"547f6960-a967-417a-a9a4-0f35fbdca11c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/9a54bdb6-bda6-470e-935c-bfa23f846e98","type":"Microsoft.Authorization/roleAssignments","name":"9a54bdb6-bda6-470e-935c-bfa23f846e98"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-31T01:48:40.0937142Z","updatedOn":"2021-03-31T01:48:40.0937142Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/cd309898-e4ed-438e-b8f9-66fbb4d776bc","type":"Microsoft.Authorization/roleAssignments","name":"cd309898-e4ed-438e-b8f9-66fbb4d776bc"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-07-07T21:38:16.9089220Z","updatedOn":"2020-07-07T21:38:16.9089220Z","createdBy":"67f96a40-adf7-4f43-888f-33526c5cfa95","updatedBy":"67f96a40-adf7-4f43-888f-33526c5cfa95","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2d34e25a-c09a-11ea-893f-eefa4c05adfb","type":"Microsoft.Authorization/roleAssignments","name":"2d34e25a-c09a-11ea-893f-eefa4c05adfb"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-07-07T23:59:03.3157569Z","updatedOn":"2020-07-07T23:59:03.3157569Z","createdBy":"1ec25b73-94d5-4bf9-a56f-ca7d9bd4164c","updatedBy":"1ec25b73-94d5-4bf9-a56f-ca7d9bd4164c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/718cdad6-cc40-415b-aae3-f356df943d39","type":"Microsoft.Authorization/roleAssignments","name":"718cdad6-cc40-415b-aae3-f356df943d39"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/c92f8fe1-e3cb-47e8-a01d-0771814c0dad","condition":null,"conditionVersion":null,"createdOn":"2019-03-26T22:01:02.8423155Z","updatedOn":"2019-03-26T22:01:02.8423155Z","createdBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818","updatedBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/c92f8fe1-e3cb-47e8-a01d-0771814c0dad/providers/Microsoft.Authorization/roleAssignments/3d069c98-e792-47bd-b58a-399e2d42dbab","type":"Microsoft.Authorization/roleAssignments","name":"3d069c98-e792-47bd-b58a-399e2d42dbab"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/f25e0fa2-a7c8-4377-a976-54943a77a395","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/c92f8fe1-e3cb-47e8-a01d-0771814c0dad","condition":null,"conditionVersion":null,"createdOn":"2021-04-09T18:15:49.7063250Z","updatedOn":"2021-04-09T18:15:49.7063250Z","createdBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","updatedBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/c92f8fe1-e3cb-47e8-a01d-0771814c0dad/providers/Microsoft.Authorization/roleAssignments/a6b435df-80e6-4a7b-b109-2af5f373d238","type":"Microsoft.Authorization/roleAssignments","name":"a6b435df-80e6-4a7b-b109-2af5f373d238"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod","condition":null,"conditionVersion":null,"createdOn":"2019-03-26T22:01:02.9176787Z","updatedOn":"2019-03-26T22:01:02.9176787Z","createdBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818","updatedBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod/providers/Microsoft.Authorization/roleAssignments/4b771ea9-81de-4fc4-aa28-a3a0b9b4a320","type":"Microsoft.Authorization/roleAssignments","name":"4b771ea9-81de-4fc4-aa28-a3a0b9b4a320"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/36243c78-bf99-498c-9df9-86d9f8d28608","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod","condition":null,"conditionVersion":null,"createdOn":"2019-03-27T00:49:37.3000523Z","updatedOn":"2019-03-27T00:49:37.3000523Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod/providers/Microsoft.Authorization/roleAssignments/e6e1fffd-83f7-40c7-9f33-e56e2cf75b29","type":"Microsoft.Authorization/roleAssignments","name":"e6e1fffd-83f7-40c7-9f33-e56e2cf75b29"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/5d58bcaf-24a5-4b20-bdb6-eed9f69fbe4c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod","condition":null,"conditionVersion":null,"createdOn":"2019-03-27T00:50:08.3039053Z","updatedOn":"2019-03-27T00:50:08.3039053Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod/providers/Microsoft.Authorization/roleAssignments/3d01f56e-ee3a-41ed-a775-0e067546cb12","type":"Microsoft.Authorization/roleAssignments","name":"3d01f56e-ee3a-41ed-a775-0e067546cb12"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/72f988bf-86f1-41af-91ab-2d7cd011db47","condition":null,"conditionVersion":null,"createdOn":"2020-03-12T20:43:06.5941189Z","updatedOn":"2020-03-12T20:43:06.5941189Z","createdBy":"606f48c8-d219-4875-991d-ae6befaf0756","updatedBy":"606f48c8-d219-4875-991d-ae6befaf0756","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/72f988bf-86f1-41af-91ab-2d7cd011db47/providers/Microsoft.Authorization/roleAssignments/ad9e2cd7-0ff7-4931-9b17-656c8f17934b","type":"Microsoft.Authorization/roleAssignments","name":"ad9e2cd7-0ff7-4931-9b17-656c8f17934b"}]}' headers: cache-control: - no-cache @@ -959,7 +959,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ @@ -1396,7 +1396,7 @@ interactions: msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ @@ -1487,7 +1487,7 @@ interactions: accept-language: - en-US method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 response: body: string: '' diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_disable_addon_openservicemesh.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_disable_addon_openservicemesh.yaml index 34f352dcc98..42234bffdf2 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_disable_addon_openservicemesh.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_disable_addon_openservicemesh.yaml @@ -80,7 +80,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ @@ -502,7 +502,7 @@ interactions: - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ @@ -592,7 +592,7 @@ interactions: accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ @@ -702,7 +702,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ @@ -933,7 +933,7 @@ interactions: - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_disable_addons_confcom_addon.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_disable_addons_confcom_addon.yaml index b36307b79cc..f31a4461797 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_disable_addons_confcom_addon.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_disable_addons_confcom_addon.yaml @@ -77,7 +77,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ @@ -1118,7 +1118,7 @@ interactions: - python/3.6.10 (Linux-4.19.121-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 (DOCKER) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ @@ -1208,7 +1208,7 @@ interactions: accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ @@ -1318,7 +1318,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ @@ -1551,7 +1551,7 @@ interactions: - python/3.6.10 (Linux-4.19.121-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 (DOCKER) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_disable_local_accounts.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_disable_local_accounts.yaml index 3d8e89253a3..2e80bb54b83 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_disable_local_accounts.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_disable_local_accounts.yaml @@ -78,7 +78,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ @@ -795,7 +795,7 @@ interactions: msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.22.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ @@ -882,7 +882,7 @@ interactions: accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ @@ -992,7 +992,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ @@ -1131,7 +1131,7 @@ interactions: msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.22.1 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ @@ -1220,7 +1220,7 @@ interactions: accept-language: - en-US method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 response: body: string: '' diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_enable_addon_with_azurekeyvaultsecretsprovider.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_enable_addon_with_azurekeyvaultsecretsprovider.yaml index e156d1b1426..d6dec4f89b3 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_enable_addon_with_azurekeyvaultsecretsprovider.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_enable_addon_with_azurekeyvaultsecretsprovider.yaml @@ -76,7 +76,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -497,7 +497,7 @@ interactions: msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -580,7 +580,7 @@ interactions: accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -685,7 +685,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -871,7 +871,7 @@ interactions: msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -958,7 +958,7 @@ interactions: accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -1066,7 +1066,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -1300,7 +1300,7 @@ interactions: msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -1384,7 +1384,7 @@ interactions: accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -1490,7 +1490,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -1725,7 +1725,7 @@ interactions: msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_enable_addon_with_openservicemesh.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_enable_addon_with_openservicemesh.yaml index 9bd0521b336..311cb89df09 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_enable_addon_with_openservicemesh.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_enable_addon_with_openservicemesh.yaml @@ -79,7 +79,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ @@ -451,7 +451,7 @@ interactions: - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ @@ -537,7 +537,7 @@ interactions: accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ @@ -643,7 +643,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ @@ -874,7 +874,7 @@ interactions: - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_enable_addons_confcom_addon.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_enable_addons_confcom_addon.yaml index 768645e3990..3165e4f6479 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_enable_addons_confcom_addon.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_enable_addons_confcom_addon.yaml @@ -76,7 +76,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ @@ -491,7 +491,7 @@ interactions: - python/3.6.10 (Linux-4.19.121-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 (DOCKER) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ @@ -576,7 +576,7 @@ interactions: accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ @@ -682,7 +682,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ @@ -916,7 +916,7 @@ interactions: - python/3.6.10 (Linux-4.19.121-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.18.0 (DOCKER) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_nodepool_add_with_ossku.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_nodepool_add_with_ossku.yaml index 99916904cb8..5836a3cd71d 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_nodepool_add_with_ossku.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_nodepool_add_with_ossku.yaml @@ -77,7 +77,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -499,7 +499,7 @@ interactions: msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0.post20210514155800 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -583,7 +583,7 @@ interactions: accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools?api-version=2021-05-01 response: body: string: "{\n \"value\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000003\",\n @@ -650,7 +650,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000004?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000004?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000004\",\n @@ -1492,7 +1492,7 @@ interactions: msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0.post20210514155800 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000004?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000004?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000004\",\n diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_nodepool_get_upgrades.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_nodepool_get_upgrades.yaml index 66b650a542b..2c8a2c8bd64 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_nodepool_get_upgrades.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_nodepool_get_upgrades.yaml @@ -13,13 +13,15 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c User-Agent: - - AZURECLI/2.23.0 (DOCKER) azsdk-python-azure-mgmt-resource/16.1.0 Python/3.6.10 - (Linux-5.10.25-linuxkit-x86_64-with) + - python/3.8.9 (Linux-4.9.125-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-resource/12.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 (DOCKER) + accept-language: + - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2020-10-01 response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"product":"azurecli","cause":"automation","date":"2021-05-14T09:26:56Z"},"properties":{"provisioningState":"Succeeded"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"product":"azurecli","cause":"automation","date":"2021-06-02T06:38:31Z"},"properties":{"provisioningState":"Succeeded"}}' headers: cache-control: - no-cache @@ -28,7 +30,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Fri, 14 May 2021 09:27:02 GMT + - Wed, 02 Jun 2021 06:38:48 GMT expires: - '-1' pragma: @@ -44,12 +46,12 @@ interactions: message: OK - request: body: '{"location": "westus2", "properties": {"kubernetesVersion": "", "dnsPrefix": - "cliakstest-clitestoiva7pski-c10894", "agentPoolProfiles": [{"count": 1, "vmSize": + "cliakstest-clitests3zkb4ds4-8ecadf", "agentPoolProfiles": [{"count": 1, "vmSize": "Standard_DS2_v2", "osType": "Linux", "type": "VirtualMachineScaleSets", "mode": "System", "enableNodePublicIP": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": "Delete", "enableEncryptionAtHost": false, "enableFIPS": false, "name": "c000003"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDhSzGqT9yOjxYAge38/y9Z//u0JQ+FEQu1GO7d9sVuzspsjSgCwE7qMNzNDrPHOiUMIs74OooUJvv2nq/k+CMddvSc3cfTxHgKNqwWjgkHEpwGpEuJtQjjNybcusPU9JMDa6dch9vZIdSmOtVLn3Y5cfVuRaLASNLUg1iXLmBaEH0muWXQcp8/x6ZHS1QSrzr6u07+UP2ykbX9EiD60Aq72wJY41wnsR0AEcY7b9lljbIUodaxaTzrKonMODxe2zDunmlH6rPs+iAVvOtHRnhrcYhxZePWYR516Dr+nnCbmUcIFRjZOz3N5zGGQnj2WTd76kZqxNCLNU6bfXvTKksd"}]}}, + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDfxkIikpMJYMj7L/jPfLizU5h8dhwfSTaywooaiRKc6LXEqrX7pLPGpfNCHyRVImKC55+ajCN8jP46PBESCc2XV1x06Cc9Jh9Dv5J/sQpUS9ZytlD3oKkq9/Ylmc/tbcDqT7Fj0WeXjIV3ER2uinM6vPrLssm4GKYjswQIqHWVrRnFgKCABYejsLrVjduJoPxRfDa88RSK8NF1uLTXFcBCGCiycC5GAtw4rTkTAx6+tYKbQblYd3qmaXEwIDcQoSwPISEKLVUQf7iPYd6tBvr+m1nv9Qgbqoz57l1B0hi4N2g2fSLmXYb3v4JmWEUg/trMxPnVKDPPiMrad0A+taXt"}]}}, "addonProfiles": {}, "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": "kubenet", "podCidr": "10.244.0.0/16", "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", "dockerBridgeCidr": "172.17.0.1/16", "outboundType": @@ -71,33 +73,33 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c User-Agent: - - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) + - python/3.8.9 (Linux-4.9.125-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 (DOCKER) accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ ,\n \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\"\ : \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \ \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\"\ - : \"Running\"\n },\n \"kubernetesVersion\": \"1.19.9\",\n \"dnsPrefix\"\ - : \"cliakstest-clitestoiva7pski-c10894\",\n \"fqdn\": \"cliakstest-clitestoiva7pski-c10894-7c32fd11.hcp.westus2.azmk8s.io\"\ - ,\n \"azurePortalFQDN\": \"cliakstest-clitestoiva7pski-c10894-7c32fd11.portal.hcp.westus2.azmk8s.io\"\ + : \"Running\"\n },\n \"kubernetesVersion\": \"1.19.11\",\n \"dnsPrefix\"\ + : \"cliakstest-clitests3zkb4ds4-8ecadf\",\n \"fqdn\": \"cliakstest-clitests3zkb4ds4-8ecadf-afa9c567.hcp.westus2.azmk8s.io\"\ + ,\n \"azurePortalFQDN\": \"cliakstest-clitests3zkb4ds4-8ecadf-afa9c567.portal.hcp.westus2.azmk8s.io\"\ ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"c000003\",\n \"\ count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ : 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\"\ ,\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n \ \ \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"\ - code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.19.9\",\n\ + code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.19.11\",\n\ \ \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \"mode\"\ : \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\": \"\ - Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\"\ + Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.05.19\"\ ,\n \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"\ adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n\ - \ {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDhSzGqT9yOjxYAge38/y9Z//u0JQ+FEQu1GO7d9sVuzspsjSgCwE7qMNzNDrPHOiUMIs74OooUJvv2nq/k+CMddvSc3cfTxHgKNqwWjgkHEpwGpEuJtQjjNybcusPU9JMDa6dch9vZIdSmOtVLn3Y5cfVuRaLASNLUg1iXLmBaEH0muWXQcp8/x6ZHS1QSrzr6u07+UP2ykbX9EiD60Aq72wJY41wnsR0AEcY7b9lljbIUodaxaTzrKonMODxe2zDunmlH6rPs+iAVvOtHRnhrcYhxZePWYR516Dr+nnCbmUcIFRjZOz3N5zGGQnj2WTd76kZqxNCLNU6bfXvTKksd\"\ + \ {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDfxkIikpMJYMj7L/jPfLizU5h8dhwfSTaywooaiRKc6LXEqrX7pLPGpfNCHyRVImKC55+ajCN8jP46PBESCc2XV1x06Cc9Jh9Dv5J/sQpUS9ZytlD3oKkq9/Ylmc/tbcDqT7Fj0WeXjIV3ER2uinM6vPrLssm4GKYjswQIqHWVrRnFgKCABYejsLrVjduJoPxRfDa88RSK8NF1uLTXFcBCGCiycC5GAtw4rTkTAx6+tYKbQblYd3qmaXEwIDcQoSwPISEKLVUQf7iPYd6tBvr+m1nv9Qgbqoz57l1B0hi4N2g2fSLmXYb3v4JmWEUg/trMxPnVKDPPiMrad0A+taXt\"\ \n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"\ clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\"\ : \"MC_clitest000001_cliakstest000002_westus2\",\n \"enableRBAC\": true,\n\ @@ -113,15 +115,15 @@ interactions: : {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/40349003-ff14-4345-8791-7373e331bc9c?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6dd4fd69-9eff-406d-990b-7e3ba3dba13d?api-version=2016-03-30 cache-control: - no-cache content-length: - - '2657' + - '2659' content-type: - application/json date: - - Fri, 14 May 2021 09:27:10 GMT + - Wed, 02 Jun 2021 06:39:01 GMT expires: - '-1' pragma: @@ -133,7 +135,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-writes: - - '1199' + - '1198' status: code: 201 message: Created @@ -151,23 +153,23 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c User-Agent: - - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) + - python/3.8.9 (Linux-4.9.125-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 (DOCKER) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/40349003-ff14-4345-8791-7373e331bc9c?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6dd4fd69-9eff-406d-990b-7e3ba3dba13d?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"03903440-14ff-4543-8791-7373e331bc9c\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-05-14T09:27:10.4Z\"\n }" + string: "{\n \"name\": \"69fdd46d-ff9e-6d40-990b-7e3ba3dba13d\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2021-06-02T06:39:01.0333333Z\"\n }" headers: cache-control: - no-cache content-length: - - '120' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 09:27:40 GMT + - Wed, 02 Jun 2021 06:39:33 GMT expires: - '-1' pragma: @@ -199,23 +201,23 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c User-Agent: - - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) + - python/3.8.9 (Linux-4.9.125-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 (DOCKER) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/40349003-ff14-4345-8791-7373e331bc9c?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6dd4fd69-9eff-406d-990b-7e3ba3dba13d?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"03903440-14ff-4543-8791-7373e331bc9c\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-05-14T09:27:10.4Z\"\n }" + string: "{\n \"name\": \"69fdd46d-ff9e-6d40-990b-7e3ba3dba13d\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2021-06-02T06:39:01.0333333Z\"\n }" headers: cache-control: - no-cache content-length: - - '120' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 09:28:11 GMT + - Wed, 02 Jun 2021 06:40:05 GMT expires: - '-1' pragma: @@ -247,23 +249,23 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c User-Agent: - - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) + - python/3.8.9 (Linux-4.9.125-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 (DOCKER) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/40349003-ff14-4345-8791-7373e331bc9c?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6dd4fd69-9eff-406d-990b-7e3ba3dba13d?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"03903440-14ff-4543-8791-7373e331bc9c\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-05-14T09:27:10.4Z\"\n }" + string: "{\n \"name\": \"69fdd46d-ff9e-6d40-990b-7e3ba3dba13d\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2021-06-02T06:39:01.0333333Z\"\n }" headers: cache-control: - no-cache content-length: - - '120' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 09:28:42 GMT + - Wed, 02 Jun 2021 06:40:36 GMT expires: - '-1' pragma: @@ -295,23 +297,23 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c User-Agent: - - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) + - python/3.8.9 (Linux-4.9.125-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 (DOCKER) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/40349003-ff14-4345-8791-7373e331bc9c?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6dd4fd69-9eff-406d-990b-7e3ba3dba13d?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"03903440-14ff-4543-8791-7373e331bc9c\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-05-14T09:27:10.4Z\"\n }" + string: "{\n \"name\": \"69fdd46d-ff9e-6d40-990b-7e3ba3dba13d\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2021-06-02T06:39:01.0333333Z\"\n }" headers: cache-control: - no-cache content-length: - - '120' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 09:29:12 GMT + - Wed, 02 Jun 2021 06:41:08 GMT expires: - '-1' pragma: @@ -343,23 +345,23 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c User-Agent: - - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) + - python/3.8.9 (Linux-4.9.125-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 (DOCKER) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/40349003-ff14-4345-8791-7373e331bc9c?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6dd4fd69-9eff-406d-990b-7e3ba3dba13d?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"03903440-14ff-4543-8791-7373e331bc9c\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-05-14T09:27:10.4Z\"\n }" + string: "{\n \"name\": \"69fdd46d-ff9e-6d40-990b-7e3ba3dba13d\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2021-06-02T06:39:01.0333333Z\"\n }" headers: cache-control: - no-cache content-length: - - '120' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 09:29:42 GMT + - Wed, 02 Jun 2021 06:41:39 GMT expires: - '-1' pragma: @@ -391,23 +393,23 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c User-Agent: - - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) + - python/3.8.9 (Linux-4.9.125-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 (DOCKER) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/40349003-ff14-4345-8791-7373e331bc9c?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6dd4fd69-9eff-406d-990b-7e3ba3dba13d?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"03903440-14ff-4543-8791-7373e331bc9c\",\n \"status\"\ - : \"InProgress\",\n \"startTime\": \"2021-05-14T09:27:10.4Z\"\n }" + string: "{\n \"name\": \"69fdd46d-ff9e-6d40-990b-7e3ba3dba13d\",\n \"status\"\ + : \"InProgress\",\n \"startTime\": \"2021-06-02T06:39:01.0333333Z\"\n }" headers: cache-control: - no-cache content-length: - - '120' + - '126' content-type: - application/json date: - - Fri, 14 May 2021 09:30:13 GMT + - Wed, 02 Jun 2021 06:42:10 GMT expires: - '-1' pragma: @@ -439,24 +441,24 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c User-Agent: - - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) + - python/3.8.9 (Linux-4.9.125-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 (DOCKER) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/40349003-ff14-4345-8791-7373e331bc9c?api-version=2016-03-30 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/6dd4fd69-9eff-406d-990b-7e3ba3dba13d?api-version=2016-03-30 response: body: - string: "{\n \"name\": \"03903440-14ff-4543-8791-7373e331bc9c\",\n \"status\"\ - : \"Succeeded\",\n \"startTime\": \"2021-05-14T09:27:10.4Z\",\n \"endTime\"\ - : \"2021-05-14T09:30:27.499497Z\"\n }" + string: "{\n \"name\": \"69fdd46d-ff9e-6d40-990b-7e3ba3dba13d\",\n \"status\"\ + : \"Succeeded\",\n \"startTime\": \"2021-06-02T06:39:01.0333333Z\",\n \"\ + endTime\": \"2021-06-02T06:42:18.4617536Z\"\n }" headers: cache-control: - no-cache content-length: - - '163' + - '170' content-type: - application/json date: - - Fri, 14 May 2021 09:30:44 GMT + - Wed, 02 Jun 2021 06:42:41 GMT expires: - '-1' pragma: @@ -488,31 +490,31 @@ interactions: ParameterSetName: - --resource-group --name --nodepool-name -c User-Agent: - - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) + - python/3.8.9 (Linux-4.9.125-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 (DOCKER) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ ,\n \"location\": \"westus2\",\n \"name\": \"cliakstest000002\",\n \"type\"\ : \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \ \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\"\ - : \"Running\"\n },\n \"kubernetesVersion\": \"1.19.9\",\n \"dnsPrefix\"\ - : \"cliakstest-clitestoiva7pski-c10894\",\n \"fqdn\": \"cliakstest-clitestoiva7pski-c10894-7c32fd11.hcp.westus2.azmk8s.io\"\ - ,\n \"azurePortalFQDN\": \"cliakstest-clitestoiva7pski-c10894-7c32fd11.portal.hcp.westus2.azmk8s.io\"\ + : \"Running\"\n },\n \"kubernetesVersion\": \"1.19.11\",\n \"dnsPrefix\"\ + : \"cliakstest-clitests3zkb4ds4-8ecadf\",\n \"fqdn\": \"cliakstest-clitests3zkb4ds4-8ecadf-afa9c567.hcp.westus2.azmk8s.io\"\ + ,\n \"azurePortalFQDN\": \"cliakstest-clitests3zkb4ds4-8ecadf-afa9c567.portal.hcp.westus2.azmk8s.io\"\ ,\n \"agentPoolProfiles\": [\n {\n \"name\": \"c000003\",\n \"\ count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\"\ : 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\"\ ,\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n \ \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \ - \ \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.19.9\"\ + \ \"code\": \"Running\"\n },\n \"orchestratorVersion\": \"1.19.11\"\ ,\n \"enableNodePublicIP\": false,\n \"nodeLabels\": {},\n \"\ mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n \"osType\"\ - : \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\"\ + : \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.05.19\"\ ,\n \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"\ adminUsername\": \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n\ - \ {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDhSzGqT9yOjxYAge38/y9Z//u0JQ+FEQu1GO7d9sVuzspsjSgCwE7qMNzNDrPHOiUMIs74OooUJvv2nq/k+CMddvSc3cfTxHgKNqwWjgkHEpwGpEuJtQjjNybcusPU9JMDa6dch9vZIdSmOtVLn3Y5cfVuRaLASNLUg1iXLmBaEH0muWXQcp8/x6ZHS1QSrzr6u07+UP2ykbX9EiD60Aq72wJY41wnsR0AEcY7b9lljbIUodaxaTzrKonMODxe2zDunmlH6rPs+iAVvOtHRnhrcYhxZePWYR516Dr+nnCbmUcIFRjZOz3N5zGGQnj2WTd76kZqxNCLNU6bfXvTKksd\"\ + \ {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDfxkIikpMJYMj7L/jPfLizU5h8dhwfSTaywooaiRKc6LXEqrX7pLPGpfNCHyRVImKC55+ajCN8jP46PBESCc2XV1x06Cc9Jh9Dv5J/sQpUS9ZytlD3oKkq9/Ylmc/tbcDqT7Fj0WeXjIV3ER2uinM6vPrLssm4GKYjswQIqHWVrRnFgKCABYejsLrVjduJoPxRfDa88RSK8NF1uLTXFcBCGCiycC5GAtw4rTkTAx6+tYKbQblYd3qmaXEwIDcQoSwPISEKLVUQf7iPYd6tBvr+m1nv9Qgbqoz57l1B0hi4N2g2fSLmXYb3v4JmWEUg/trMxPnVKDPPiMrad0A+taXt\"\ \n }\n ]\n }\n },\n \"servicePrincipalProfile\": {\n \"\ clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\"\ : \"MC_clitest000001_cliakstest000002_westus2\",\n \"enableRBAC\": true,\n\ @@ -520,7 +522,7 @@ interactions: networkPlugin\": \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \ \ \"loadBalancerProfile\": {\n \"managedOutboundIPs\": {\n \"count\"\ : 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": \"\ - /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/c418a57b-27e3-45fc-afef-dd0c8f25b555\"\ + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_westus2/providers/Microsoft.Network/publicIPAddresses/77097647-b6bc-4b33-9f85-8471bf40999c\"\ \n }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\"\ : \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\"\ : \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\"\n },\n \"\ @@ -536,11 +538,11 @@ interactions: cache-control: - no-cache content-length: - - '3320' + - '3322' content-type: - application/json date: - - Fri, 14 May 2021 09:30:45 GMT + - Wed, 02 Jun 2021 06:42:42 GMT expires: - '-1' pragma: @@ -572,28 +574,28 @@ interactions: ParameterSetName: - --resource-group --cluster-name --nodepool-name User-Agent: - - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) + - python/3.8.9 (Linux-4.9.125-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.21.0 (DOCKER) accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000003/upgradeProfiles/default?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000003/upgradeProfiles/default?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000003/upgradeProfiles/default\"\ ,\n \"name\": \"default\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles\"\ - ,\n \"properties\": {\n \"kubernetesVersion\": \"1.19.9\",\n \"osType\"\ - : \"Linux\",\n \"latestNodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.04.27\"\ + ,\n \"properties\": {\n \"kubernetesVersion\": \"1.19.11\",\n \"osType\"\ + : \"Linux\",\n \"latestNodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2021.05.19\"\ \n }\n }" headers: cache-control: - no-cache content-length: - - '465' + - '466' content-type: - application/json date: - - Fri, 14 May 2021 09:30:46 GMT + - Wed, 02 Jun 2021 06:42:46 GMT expires: - '-1' pragma: @@ -627,8 +629,8 @@ interactions: ParameterSetName: - -g -n --yes --no-wait User-Agent: - - python/3.6.10 (Linux-5.10.25-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 - azure-mgmt-containerservice/11.2.0 Azure-SDK-For-Python AZURECLI/2.23.0 (DOCKER) + - python/3.8.9 (Linux-4.9.125-linuxkit-x86_64-with) msrest/0.6.21 msrest_azure/0.6.3 + azure-mgmt-containerservice/11.1.0 Azure-SDK-For-Python AZURECLI/2.21.0 (DOCKER) accept-language: - en-US method: DELETE @@ -638,17 +640,17 @@ interactions: string: '' headers: azure-asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/640f4659-faef-44c6-9b63-3b56c0c12861?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operations/5c29c646-b3ad-42bb-9ec4-39fe1df7cba5?api-version=2016-03-30 cache-control: - no-cache content-length: - '0' date: - - Fri, 14 May 2021 09:30:48 GMT + - Wed, 02 Jun 2021 06:42:52 GMT expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/640f4659-faef-44c6-9b63-3b56c0c12861?api-version=2016-03-30 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/westus2/operationresults/5c29c646-b3ad-42bb-9ec4-39fe1df7cba5?api-version=2016-03-30 pragma: - no-cache server: @@ -658,7 +660,7 @@ interactions: x-content-type-options: - nosniff x-ms-ratelimit-remaining-subscription-deletes: - - '14999' + - '14997' status: code: 202 message: Accepted diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_pod_identity_usage.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_pod_identity_usage.yaml index f65bf1405aa..e56440560c4 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_pod_identity_usage.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_pod_identity_usage.yaml @@ -131,7 +131,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ @@ -557,7 +557,7 @@ interactions: - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) msrest/0.6.18 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.14.2 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ @@ -645,7 +645,7 @@ interactions: accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ @@ -785,7 +785,7 @@ interactions: uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id000003/providers/Microsoft.Authorization/roleAssignments?$filter=atScope%28%29&api-version=2020-04-01-preview response: body: - string: '{"value":[{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/","condition":null,"conditionVersion":null,"createdOn":"2018-02-27T19:19:50.2663941Z","updatedOn":"2018-02-27T19:19:50.2663941Z","createdBy":null,"updatedBy":null,"delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Authorization/roleAssignments/3e883d24-b106-42ff-ad13-d7bf271b964d","type":"Microsoft.Authorization/roleAssignments","name":"3e883d24-b106-42ff-ad13-d7bf271b964d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-07-18T02:26:14.1665946Z","updatedOn":"2020-07-18T02:26:14.1665946Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/cfd7632d-7c5a-4531-82ce-890df8b4be96","type":"Microsoft.Authorization/roleAssignments","name":"cfd7632d-7c5a-4531-82ce-890df8b4be96"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-07-24T20:02:31.6333946Z","updatedOn":"2020-07-24T20:02:31.6333946Z","createdBy":"53bb8815-874d-4b05-9953-1158e05aa080","updatedBy":"53bb8815-874d-4b05-9953-1158e05aa080","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/fe8f6b65-9c14-4f43-bfe0-9c4e0778be5d","type":"Microsoft.Authorization/roleAssignments","name":"fe8f6b65-9c14-4f43-bfe0-9c4e0778be5d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4abbcc35-e782-43d8-92c5-2d3f1bd2253f","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-08-03T15:06:36.3777307Z","updatedOn":"2020-08-03T15:06:36.3777307Z","createdBy":"a5cae52f-366a-417b-b718-e73d17746c35","updatedBy":"a5cae52f-366a-417b-b718-e73d17746c35","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/71b88381-621b-464e-b17a-6cd9433ad5a3","type":"Microsoft.Authorization/roleAssignments","name":"71b88381-621b-464e-b17a-6cd9433ad5a3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-08-21T16:23:57.9905009Z","updatedOn":"2020-08-21T16:23:57.9905009Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/17d7954a-d32a-4181-b887-1de9a8a0c05a","type":"Microsoft.Authorization/roleAssignments","name":"17d7954a-d32a-4181-b887-1de9a8a0c05a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-08-21T16:23:58.0549229Z","updatedOn":"2020-08-21T16:23:58.0549229Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/9a853af7-252b-4315-9ee3-0b243e595f80","type":"Microsoft.Authorization/roleAssignments","name":"9a853af7-252b-4315-9ee3-0b243e595f80"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"Group","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-08-21T16:23:58.6582166Z","updatedOn":"2020-08-21T16:23:58.6582166Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/8ab72fbd-e5fe-4a7d-ae20-baad615d688d","type":"Microsoft.Authorization/roleAssignments","name":"8ab72fbd-e5fe-4a7d-ae20-baad615d688d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-08-21T16:23:59.5326945Z","updatedOn":"2020-08-21T16:23:59.5326945Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4ed77f1d-82a2-4a02-b48e-fa5776870280","type":"Microsoft.Authorization/roleAssignments","name":"4ed77f1d-82a2-4a02-b48e-fa5776870280"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-09-01T06:59:31.4619017Z","updatedOn":"2020-09-01T06:59:31.4619017Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/3c8813ac-e50e-4868-9e41-910258f3c33a","type":"Microsoft.Authorization/roleAssignments","name":"3c8813ac-e50e-4868-9e41-910258f3c33a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-09-02T01:52:45.8299382Z","updatedOn":"2020-09-02T01:52:45.8299382Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/3e21284b-6bd7-431a-81ae-ccaf56267ab5","type":"Microsoft.Authorization/roleAssignments","name":"3e21284b-6bd7-431a-81ae-ccaf56267ab5"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-09-07T09:44:47.3865537Z","updatedOn":"2020-09-07T09:44:47.3865537Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/79357f85-973d-4621-b1bd-d1ecb645e146","type":"Microsoft.Authorization/roleAssignments","name":"79357f85-973d-4621-b1bd-d1ecb645e146"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-09-15T09:02:04.9171272Z","updatedOn":"2020-09-15T09:02:04.9171272Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/3a2ff825-a078-475d-aa68-80640a14daa2","type":"Microsoft.Authorization/roleAssignments","name":"3a2ff825-a078-475d-aa68-80640a14daa2"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-09-23T13:13:35.8201314Z","updatedOn":"2020-09-23T13:13:35.8201314Z","createdBy":"a5cae52f-366a-417b-b718-e73d17746c35","updatedBy":"a5cae52f-366a-417b-b718-e73d17746c35","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d2ac0456-208f-4492-aecf-24bbcf14f246","type":"Microsoft.Authorization/roleAssignments","name":"d2ac0456-208f-4492-aecf-24bbcf14f246"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-09-24T00:04:10.5243862Z","updatedOn":"2020-09-24T00:04:10.5243862Z","createdBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","updatedBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/78586b2c-fdf9-11ea-9e5e-8851fb3f4911","type":"Microsoft.Authorization/roleAssignments","name":"78586b2c-fdf9-11ea-9e5e-8851fb3f4911"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-09-28T21:00:48.4819948Z","updatedOn":"2020-09-28T21:00:48.4819948Z","createdBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","updatedBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c3f148f0-1373-48ba-ba19-cd15cd8bf7a6","type":"Microsoft.Authorization/roleAssignments","name":"c3f148f0-1373-48ba-ba19-cd15cd8bf7a6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-09-29T10:55:39.3762731Z","updatedOn":"2020-09-29T10:55:39.3762731Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/41e159ac-411a-4eed-b319-5b92571d2950","type":"Microsoft.Authorization/roleAssignments","name":"41e159ac-411a-4eed-b319-5b92571d2950"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-09-30T10:01:31.6109834Z","updatedOn":"2020-09-30T10:01:31.6109834Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/728fd3ed-0a93-4cad-96b6-ca2b85b98308","type":"Microsoft.Authorization/roleAssignments","name":"728fd3ed-0a93-4cad-96b6-ca2b85b98308"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-05T23:00:10.5454113Z","updatedOn":"2020-10-05T23:00:10.5454113Z","createdBy":"9404195a-2cde-4a10-b88c-e7b41572bf31","updatedBy":"9404195a-2cde-4a10-b88c-e7b41572bf31","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f1bf27f9-8b8f-46f0-8b54-3d0b5a10455d","type":"Microsoft.Authorization/roleAssignments","name":"f1bf27f9-8b8f-46f0-8b54-3d0b5a10455d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-06T00:33:22.8792900Z","updatedOn":"2020-10-06T00:33:22.8792900Z","createdBy":"e29d79eb-7dfc-4583-b360-d45d39625c97","updatedBy":"e29d79eb-7dfc-4583-b360-d45d39625c97","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/24d0c5e6-0763-11eb-82a0-d636039e345c","type":"Microsoft.Authorization/roleAssignments","name":"24d0c5e6-0763-11eb-82a0-d636039e345c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-06T07:31:31.4976753Z","updatedOn":"2020-10-06T07:31:31.4976753Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/8166f5c5-5401-43da-8e43-553f34ba5c1f","type":"Microsoft.Authorization/roleAssignments","name":"8166f5c5-5401-43da-8e43-553f34ba5c1f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-08T00:00:18.1887050Z","updatedOn":"2020-10-08T00:00:18.1887050Z","createdBy":"09914860-7ec9-4151-8431-31797899a359","updatedBy":"09914860-7ec9-4151-8431-31797899a359","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/1e5c915f-e276-400d-a6f0-9b8f202aee98","type":"Microsoft.Authorization/roleAssignments","name":"1e5c915f-e276-400d-a6f0-9b8f202aee98"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-12T23:56:24.2246134Z","updatedOn":"2020-10-12T23:56:24.2246134Z","createdBy":"8ff738a5-abcd-4864-a162-6c18f7c9cbd9","updatedBy":"8ff738a5-abcd-4864-a162-6c18f7c9cbd9","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/dc3b4af3-e20c-4662-90fc-c3879a6c521c","type":"Microsoft.Authorization/roleAssignments","name":"dc3b4af3-e20c-4662-90fc-c3879a6c521c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-14T00:29:42.9981174Z","updatedOn":"2020-10-14T00:29:42.9981174Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c6af4ef5-80f6-4303-a641-45689a1646dc","type":"Microsoft.Authorization/roleAssignments","name":"c6af4ef5-80f6-4303-a641-45689a1646dc"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-15T03:35:43.8283383Z","updatedOn":"2020-10-15T03:35:43.8283383Z","createdBy":"2fda9054-fc12-457c-bb93-614f1f13426b","updatedBy":"2fda9054-fc12-457c-bb93-614f1f13426b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/64d06112-fceb-476a-b426-6843c25208ae","type":"Microsoft.Authorization/roleAssignments","name":"64d06112-fceb-476a-b426-6843c25208ae"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-16T16:42:17.7175670Z","updatedOn":"2020-10-16T16:42:17.7175670Z","createdBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","updatedBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/5854c7a2-cf00-46f9-9cc1-d977f34324df","type":"Microsoft.Authorization/roleAssignments","name":"5854c7a2-cf00-46f9-9cc1-d977f34324df"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-19T03:59:55.8915203Z","updatedOn":"2020-10-19T03:59:55.8915203Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6d449bc1-f3b3-4d07-94e5-9c78a799099f","type":"Microsoft.Authorization/roleAssignments","name":"6d449bc1-f3b3-4d07-94e5-9c78a799099f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-20T10:18:15.8804322Z","updatedOn":"2020-10-20T10:18:15.8804322Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/06a0e1fb-af3e-4fa2-815f-848a6d176225","type":"Microsoft.Authorization/roleAssignments","name":"06a0e1fb-af3e-4fa2-815f-848a6d176225"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-22T06:46:57.6492498Z","updatedOn":"2020-10-22T06:46:57.6492498Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/fc3170b4-3674-455d-b7af-8b3056ffd4bd","type":"Microsoft.Authorization/roleAssignments","name":"fc3170b4-3674-455d-b7af-8b3056ffd4bd"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-26T09:32:54.3608737Z","updatedOn":"2020-10-26T09:32:54.3608737Z","createdBy":"f058371f-0c0e-46bb-a5d4-f8aec637a467","updatedBy":"f058371f-0c0e-46bb-a5d4-f8aec637a467","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/209640f3-25d8-4e30-b857-d64304235a61","type":"Microsoft.Authorization/roleAssignments","name":"209640f3-25d8-4e30-b857-d64304235a61"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-29T18:40:28.9870114Z","updatedOn":"2020-10-29T18:40:28.9870114Z","createdBy":"febf609b-90d8-4d63-bffb-c12ccb094696","updatedBy":"febf609b-90d8-4d63-bffb-c12ccb094696","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/62a8bb96-2a77-4216-bd60-17b4b6e0a4c4","type":"Microsoft.Authorization/roleAssignments","name":"62a8bb96-2a77-4216-bd60-17b4b6e0a4c4"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-02T09:02:29.2637630Z","updatedOn":"2020-11-02T09:02:29.2637630Z","createdBy":"a5c919a9-89c9-45fb-880a-5e3e0b4fcb84","updatedBy":"a5c919a9-89c9-45fb-880a-5e3e0b4fcb84","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0ad1faa8-8680-4dec-a768-050e8349af33","type":"Microsoft.Authorization/roleAssignments","name":"0ad1faa8-8680-4dec-a768-050e8349af33"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-03T21:58:18.9397159Z","updatedOn":"2020-11-03T21:58:18.9397159Z","createdBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","updatedBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/fbba25e5-561b-4364-8755-515a24434085","type":"Microsoft.Authorization/roleAssignments","name":"fbba25e5-561b-4364-8755-515a24434085"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-03T22:00:44.4523883Z","updatedOn":"2020-11-03T22:00:44.4523883Z","createdBy":"478fdd79-cb11-45ed-8725-382321c0f7fd","updatedBy":"478fdd79-cb11-45ed-8725-382321c0f7fd","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/908aa5ac-22a2-413a-9333-fcb0a1ba2c59","type":"Microsoft.Authorization/roleAssignments","name":"908aa5ac-22a2-413a-9333-fcb0a1ba2c59"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-09T14:00:59.0347294Z","updatedOn":"2020-11-09T14:00:59.0347294Z","createdBy":"09914860-7ec9-4151-8431-31797899a359","updatedBy":"09914860-7ec9-4151-8431-31797899a359","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e9541f93-ea4a-4b1b-98bf-839fecfcaa22","type":"Microsoft.Authorization/roleAssignments","name":"e9541f93-ea4a-4b1b-98bf-839fecfcaa22"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-10T00:12:49.4151006Z","updatedOn":"2020-11-10T00:12:49.4151006Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c13e8fa1-ee9a-460a-910e-eaecab956199","type":"Microsoft.Authorization/roleAssignments","name":"c13e8fa1-ee9a-460a-910e-eaecab956199"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-10T00:15:19.8671906Z","updatedOn":"2020-11-10T00:15:19.8671906Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2246ec23-fc97-4e82-b67c-04743087f63d","type":"Microsoft.Authorization/roleAssignments","name":"2246ec23-fc97-4e82-b67c-04743087f63d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-10T12:48:43.1056692Z","updatedOn":"2020-11-10T12:48:43.1056692Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/dc924d22-cbb3-4f1d-a3c5-e803c30b8428","type":"Microsoft.Authorization/roleAssignments","name":"dc924d22-cbb3-4f1d-a3c5-e803c30b8428"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-18T00:19:23.7906492Z","updatedOn":"2020-11-18T00:19:23.7906492Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2e9f22fc-e6c1-4376-a65d-4553c0daee64","type":"Microsoft.Authorization/roleAssignments","name":"2e9f22fc-e6c1-4376-a65d-4553c0daee64"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-19T12:24:03.7391153Z","updatedOn":"2020-11-19T12:24:03.7391153Z","createdBy":"09914860-7ec9-4151-8431-31797899a359","updatedBy":"09914860-7ec9-4151-8431-31797899a359","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a29c25cf-6027-4031-8c68-12c812d4e4d7","type":"Microsoft.Authorization/roleAssignments","name":"a29c25cf-6027-4031-8c68-12c812d4e4d7"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-20T01:41:11.3355841Z","updatedOn":"2020-11-20T01:41:11.3355841Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e19e243a-0497-4c83-a9e1-b6d622c5cadf","type":"Microsoft.Authorization/roleAssignments","name":"e19e243a-0497-4c83-a9e1-b6d622c5cadf"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-24T06:03:13.0460581Z","updatedOn":"2020-11-24T06:03:13.0460581Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/bdd0bce4-39a5-47f7-836c-6295639cc0e1","type":"Microsoft.Authorization/roleAssignments","name":"bdd0bce4-39a5-47f7-836c-6295639cc0e1"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-26T03:01:44.6247690Z","updatedOn":"2020-11-26T03:01:44.6247690Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/7a3cddac-b7c4-4e13-ad0d-25a1f8db0394","type":"Microsoft.Authorization/roleAssignments","name":"7a3cddac-b7c4-4e13-ad0d-25a1f8db0394"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-12-02T07:09:05.7656072Z","updatedOn":"2020-12-02T07:09:05.7656072Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/62cb656e-c531-4da8-9837-fc956269c6e0","type":"Microsoft.Authorization/roleAssignments","name":"62cb656e-c531-4da8-9837-fc956269c6e0"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-12-04T03:28:35.2284735Z","updatedOn":"2020-12-04T03:28:35.2284735Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/9bc8c2c0-90e6-4346-a844-f9f401472a4d","type":"Microsoft.Authorization/roleAssignments","name":"9bc8c2c0-90e6-4346-a844-f9f401472a4d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-12-04T06:53:38.6367823Z","updatedOn":"2020-12-04T06:53:38.6367823Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/22700fef-7289-4005-937a-e4d08881da8c","type":"Microsoft.Authorization/roleAssignments","name":"22700fef-7289-4005-937a-e4d08881da8c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-12-04T08:16:05.6118991Z","updatedOn":"2020-12-04T08:16:05.6118991Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/15dbe638-db5c-45ad-9e4e-3bee28587281","type":"Microsoft.Authorization/roleAssignments","name":"15dbe638-db5c-45ad-9e4e-3bee28587281"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-12-07T12:37:13.7841746Z","updatedOn":"2020-12-07T12:37:13.7841746Z","createdBy":"a5c919a9-89c9-45fb-880a-5e3e0b4fcb84","updatedBy":"a5c919a9-89c9-45fb-880a-5e3e0b4fcb84","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c7eecba5-f37b-4db4-8818-a650f8b5b8de","type":"Microsoft.Authorization/roleAssignments","name":"c7eecba5-f37b-4db4-8818-a650f8b5b8de"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-12-18T08:00:24.9874024Z","updatedOn":"2020-12-18T08:00:24.9874024Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/7f60817e-27b5-486b-bbdb-b748bcb752d4","type":"Microsoft.Authorization/roleAssignments","name":"7f60817e-27b5-486b-bbdb-b748bcb752d4"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-12-24T11:54:27.7394442Z","updatedOn":"2020-12-24T11:54:27.7394442Z","createdBy":"e073490c-1bbd-4bac-9bd1-5584fec82ff0","updatedBy":"e073490c-1bbd-4bac-9bd1-5584fec82ff0","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/90534c90-22d5-4e15-ae4c-009340273136","type":"Microsoft.Authorization/roleAssignments","name":"90534c90-22d5-4e15-ae4c-009340273136"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-12-30T11:06:51.2887287Z","updatedOn":"2020-12-30T11:06:51.2887287Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/1cbe1756-4a8f-11eb-b753-720008210d90","type":"Microsoft.Authorization/roleAssignments","name":"1cbe1756-4a8f-11eb-b753-720008210d90"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-01-13T06:12:19.1847916Z","updatedOn":"2021-01-13T06:12:19.1847916Z","createdBy":"241cd743-2c33-4860-bd3a-1df659c06eef","updatedBy":"241cd743-2c33-4860-bd3a-1df659c06eef","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/498bf4f6-5566-11eb-a35b-acde48001122","type":"Microsoft.Authorization/roleAssignments","name":"498bf4f6-5566-11eb-a35b-acde48001122"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-01-13T21:55:46.0921361Z","updatedOn":"2021-01-13T21:55:46.0921361Z","createdBy":"478fdd79-cb11-45ed-8725-382321c0f7fd","updatedBy":"478fdd79-cb11-45ed-8725-382321c0f7fd","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d900b70f-235d-4d37-bf50-ca514e3001a1","type":"Microsoft.Authorization/roleAssignments","name":"d900b70f-235d-4d37-bf50-ca514e3001a1"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-01-26T20:35:14.0496305Z","updatedOn":"2021-01-26T20:35:14.0496305Z","createdBy":"febf609b-90d8-4d63-bffb-c12ccb094696","updatedBy":"febf609b-90d8-4d63-bffb-c12ccb094696","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/be76f04c-520c-4d95-b6b3-e7fce3f55948","type":"Microsoft.Authorization/roleAssignments","name":"be76f04c-520c-4d95-b6b3-e7fce3f55948"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-04T05:54:29.9691652Z","updatedOn":"2021-02-04T05:54:29.9691652Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4710c459-25c6-45b9-a906-3687060df1a2","type":"Microsoft.Authorization/roleAssignments","name":"4710c459-25c6-45b9-a906-3687060df1a2"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-04T06:52:05.2038586Z","updatedOn":"2021-02-04T06:52:05.2038586Z","createdBy":"8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9","updatedBy":"8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/fdf6a314-3605-4944-96c1-08b7364dba54","type":"Microsoft.Authorization/roleAssignments","name":"fdf6a314-3605-4944-96c1-08b7364dba54"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-05T01:06:29.5543610Z","updatedOn":"2021-02-05T01:06:29.5543610Z","createdBy":"53bb8815-874d-4b05-9953-1158e05aa080","updatedBy":"53bb8815-874d-4b05-9953-1158e05aa080","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f2caf434-97c9-440f-9ad3-541ae6bd9528","type":"Microsoft.Authorization/roleAssignments","name":"f2caf434-97c9-440f-9ad3-541ae6bd9528"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-11T22:26:14.1444510Z","updatedOn":"2021-02-11T22:26:14.1444510Z","createdBy":"4aed2078-2d27-4c18-95f7-fef3c0fe91ca","updatedBy":"4aed2078-2d27-4c18-95f7-fef3c0fe91ca","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a8602643-a0c2-45c4-980c-dc2b618d13b8","type":"Microsoft.Authorization/roleAssignments","name":"a8602643-a0c2-45c4-980c-dc2b618d13b8"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-16T19:18:13.7025371Z","updatedOn":"2021-02-16T19:18:13.7025371Z","createdBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","updatedBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b2d72c2f-d4c0-4c45-9908-90fda72c868d","type":"Microsoft.Authorization/roleAssignments","name":"b2d72c2f-d4c0-4c45-9908-90fda72c868d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-16T22:20:01.8102926Z","updatedOn":"2021-02-16T22:20:01.8102926Z","createdBy":"53bb8815-874d-4b05-9953-1158e05aa080","updatedBy":"53bb8815-874d-4b05-9953-1158e05aa080","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b7aa1f69-60a8-4bb9-a624-857052576335","type":"Microsoft.Authorization/roleAssignments","name":"b7aa1f69-60a8-4bb9-a624-857052576335"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-17T00:37:53.4699042Z","updatedOn":"2021-02-17T00:37:53.4699042Z","createdBy":"e5ad6d43-d6ac-4061-84cc-f7cb826200a0","updatedBy":"e5ad6d43-d6ac-4061-84cc-f7cb826200a0","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c06abb18-9697-41f9-9410-ff0ee9b13ab9","type":"Microsoft.Authorization/roleAssignments","name":"c06abb18-9697-41f9-9410-ff0ee9b13ab9"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-17T01:26:55.0758483Z","updatedOn":"2021-02-17T01:26:55.0758483Z","createdBy":"df7de5cc-1fc8-462d-be1d-bcbc2576454a","updatedBy":"df7de5cc-1fc8-462d-be1d-bcbc2576454a","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/9812b416-33c9-4b88-bcdb-6b8406dd319f","type":"Microsoft.Authorization/roleAssignments","name":"9812b416-33c9-4b88-bcdb-6b8406dd319f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-17T01:38:17.8125104Z","updatedOn":"2021-02-17T01:38:17.8125104Z","createdBy":"478fdd79-cb11-45ed-8725-382321c0f7fd","updatedBy":"478fdd79-cb11-45ed-8725-382321c0f7fd","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/82e0c83f-b7dd-49f6-b501-ff05951db69d","type":"Microsoft.Authorization/roleAssignments","name":"82e0c83f-b7dd-49f6-b501-ff05951db69d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-17T01:57:59.0655876Z","updatedOn":"2021-02-17T01:57:59.0655876Z","createdBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","updatedBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c9f0c587-7611-45ba-afb2-200499c8d4e0","type":"Microsoft.Authorization/roleAssignments","name":"c9f0c587-7611-45ba-afb2-200499c8d4e0"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-19T01:25:51.9967288Z","updatedOn":"2021-02-19T01:25:51.9967288Z","createdBy":"9404195a-2cde-4a10-b88c-e7b41572bf31","updatedBy":"9404195a-2cde-4a10-b88c-e7b41572bf31","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2e4ab306-7ae7-4867-8e22-90215bdbeb9a","type":"Microsoft.Authorization/roleAssignments","name":"2e4ab306-7ae7-4867-8e22-90215bdbeb9a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-25T05:50:56.3200305Z","updatedOn":"2021-02-25T05:50:56.3200305Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/5f5c2b9b-b76d-442c-8442-cdca92ea4450","type":"Microsoft.Authorization/roleAssignments","name":"5f5c2b9b-b76d-442c-8442-cdca92ea4450"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-25T06:10:47.8694922Z","updatedOn":"2021-02-25T06:10:47.8694922Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ded78aee-c6bf-4c93-a2c6-4c3388c55936","type":"Microsoft.Authorization/roleAssignments","name":"ded78aee-c6bf-4c93-a2c6-4c3388c55936"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-01T19:36:24.0325431Z","updatedOn":"2021-03-01T19:36:24.0325431Z","createdBy":"5ecb1531-0d8c-4a89-93cb-1b48b2224358","updatedBy":"5ecb1531-0d8c-4a89-93cb-1b48b2224358","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a11a3823-3c3c-4a0a-ab63-e809248b39d6","type":"Microsoft.Authorization/roleAssignments","name":"a11a3823-3c3c-4a0a-ab63-e809248b39d6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-01T21:51:55.4255791Z","updatedOn":"2021-03-01T21:51:55.4255791Z","createdBy":"ad232e99-5e1b-414e-aa53-96ae40d39f3e","updatedBy":"ad232e99-5e1b-414e-aa53-96ae40d39f3e","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/36175f2d-f556-464e-a509-19cbb3f45909","type":"Microsoft.Authorization/roleAssignments","name":"36175f2d-f556-464e-a509-19cbb3f45909"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-28T18:57:43.7674845Z","updatedOn":"2020-04-28T18:57:43.7674845Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/89ef5a42-558f-4dc2-a21d-61f47f87c5aa","type":"Microsoft.Authorization/roleAssignments","name":"89ef5a42-558f-4dc2-a21d-61f47f87c5aa"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-28T17:11:43.4784066Z","updatedOn":"2020-04-28T17:11:43.4784066Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c7a17f89-6fda-4d7f-9024-279fe7c46b9e","type":"Microsoft.Authorization/roleAssignments","name":"c7a17f89-6fda-4d7f-9024-279fe7c46b9e"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-28T17:15:20.6839476Z","updatedOn":"2020-04-28T17:15:20.6839476Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b677c994-5d2c-4d21-8772-4a770c383a69","type":"Microsoft.Authorization/roleAssignments","name":"b677c994-5d2c-4d21-8772-4a770c383a69"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-29T03:41:37.0700725Z","updatedOn":"2020-04-29T03:41:37.0700725Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f2790ff5-c68c-4783-bfbe-0c7210b1320d","type":"Microsoft.Authorization/roleAssignments","name":"f2790ff5-c68c-4783-bfbe-0c7210b1320d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-29T03:43:26.9737395Z","updatedOn":"2020-04-29T03:43:26.9737395Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/64ded23e-c648-452f-a53e-2bb0b1947293","type":"Microsoft.Authorization/roleAssignments","name":"64ded23e-c648-452f-a53e-2bb0b1947293"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-28T17:14:00.0562525Z","updatedOn":"2020-04-28T17:14:00.0562525Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/eaece071-786c-479c-a0b0-5c41d876600c","type":"Microsoft.Authorization/roleAssignments","name":"eaece071-786c-479c-a0b0-5c41d876600c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-01T17:17:32.8545165Z","updatedOn":"2020-05-01T17:17:32.8545165Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/5b13726e-0868-475f-9d6f-e19ed5886a5e","type":"Microsoft.Authorization/roleAssignments","name":"5b13726e-0868-475f-9d6f-e19ed5886a5e"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-01T17:22:00.3902257Z","updatedOn":"2020-05-01T17:22:00.3902257Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/aa99e113-3d5e-4fb5-ac2a-f34b0bf0aa32","type":"Microsoft.Authorization/roleAssignments","name":"aa99e113-3d5e-4fb5-ac2a-f34b0bf0aa32"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-29T00:04:19.0452651Z","updatedOn":"2020-04-29T00:04:19.0452651Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/593f0b85-3d78-43c8-a842-abfb4eab0a9b","type":"Microsoft.Authorization/roleAssignments","name":"593f0b85-3d78-43c8-a842-abfb4eab0a9b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2018-05-03T20:35:52.7357152Z","updatedOn":"2018-05-03T20:35:52.7357152Z","createdBy":"b87c5c16-4f0e-4af2-9b2e-20f25d6b5a3f","updatedBy":"b87c5c16-4f0e-4af2-9b2e-20f25d6b5a3f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4665dbd4-b405-4cc3-9321-1bee27e6101c","type":"Microsoft.Authorization/roleAssignments","name":"4665dbd4-b405-4cc3-9321-1bee27e6101c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-11T13:25:07.0669336Z","updatedOn":"2020-02-11T13:25:07.0669336Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b8056eb0-60e9-433c-85f9-f2c9289fc1a2","type":"Microsoft.Authorization/roleAssignments","name":"b8056eb0-60e9-433c-85f9-f2c9289fc1a2"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-04-22T06:41:53.1813823Z","updatedOn":"2019-04-22T06:41:53.1813823Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6b620efc-0123-402f-8462-1f1b47168729","type":"Microsoft.Authorization/roleAssignments","name":"6b620efc-0123-402f-8462-1f1b47168729"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-21T03:42:13.8891609Z","updatedOn":"2020-02-21T03:42:13.8891609Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c41b0416-12e4-49bb-9e35-411e4f409102","type":"Microsoft.Authorization/roleAssignments","name":"c41b0416-12e4-49bb-9e35-411e4f409102"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-27T17:05:13.7273840Z","updatedOn":"2020-04-27T17:05:13.7273840Z","createdBy":"ef34ad48-5675-4480-8fe7-a6cc394b97c4","updatedBy":"ef34ad48-5675-4480-8fe7-a6cc394b97c4","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/9e06e920-0fc3-47a8-867a-ce7804818059","type":"Microsoft.Authorization/roleAssignments","name":"9e06e920-0fc3-47a8-867a-ce7804818059"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-22T07:53:45.7192431Z","updatedOn":"2020-04-22T07:53:45.7192431Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0d01cbd3-f3e3-4712-95c6-cf07a0224887","type":"Microsoft.Authorization/roleAssignments","name":"0d01cbd3-f3e3-4712-95c6-cf07a0224887"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-10-25T03:10:56.6742842Z","updatedOn":"2019-10-25T03:10:56.6742842Z","createdBy":"09914860-7ec9-4151-8431-31797899a359","updatedBy":"09914860-7ec9-4151-8431-31797899a359","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c94cb5f8-6d0c-4405-be47-b599a43f2bde","type":"Microsoft.Authorization/roleAssignments","name":"c94cb5f8-6d0c-4405-be47-b599a43f2bde"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-08T22:51:35.8836739Z","updatedOn":"2020-04-08T22:51:35.8836739Z","createdBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","updatedBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e35806bd-ef22-4a25-80d9-9429df6254c6","type":"Microsoft.Authorization/roleAssignments","name":"e35806bd-ef22-4a25-80d9-9429df6254c6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2017-06-16T23:32:44.3548155Z","updatedOn":"2017-06-16T23:32:44.3548155Z","createdBy":"f115a02a-6f42-4297-aabb-f0f6022ee60b","updatedBy":"f115a02a-6f42-4297-aabb-f0f6022ee60b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c2330a8b-4550-4dcf-841a-88553080079b","type":"Microsoft.Authorization/roleAssignments","name":"c2330a8b-4550-4dcf-841a-88553080079b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-03-25T08:26:29.8675330Z","updatedOn":"2020-03-25T08:26:29.8675330Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d00f7f11-a22d-4bb3-a016-07d2ba2b13c0","type":"Microsoft.Authorization/roleAssignments","name":"d00f7f11-a22d-4bb3-a016-07d2ba2b13c0"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-09-14T02:15:59.1199760Z","updatedOn":"2019-09-14T02:15:59.1199760Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/593989ab-0941-462b-aeba-5aba52f8755b","type":"Microsoft.Authorization/roleAssignments","name":"593989ab-0941-462b-aeba-5aba52f8755b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-14T21:19:25.3668580Z","updatedOn":"2020-05-14T21:19:25.3668580Z","createdBy":"82f25a3e-d28d-4c27-90d6-d92c79d98936","updatedBy":"82f25a3e-d28d-4c27-90d6-d92c79d98936","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/668f3f0e-bbb7-42d3-9ab1-1482922c06a7","type":"Microsoft.Authorization/roleAssignments","name":"668f3f0e-bbb7-42d3-9ab1-1482922c06a7"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-07T00:35:48.4591165Z","updatedOn":"2020-05-07T00:35:48.4591165Z","createdBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","updatedBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ff740118-1a0b-4bf5-8f2a-c555e9923ea3","type":"Microsoft.Authorization/roleAssignments","name":"ff740118-1a0b-4bf5-8f2a-c555e9923ea3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-10-10T19:44:02.6434834Z","updatedOn":"2019-10-10T19:44:02.6434834Z","createdBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","updatedBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ecd71fb9-414b-496d-ba90-8be383086b97","type":"Microsoft.Authorization/roleAssignments","name":"ecd71fb9-414b-496d-ba90-8be383086b97"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-09-23T02:06:16.8281713Z","updatedOn":"2019-09-23T02:06:16.8281713Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a301a171-6505-42c5-a8b2-bcf09674b59c","type":"Microsoft.Authorization/roleAssignments","name":"a301a171-6505-42c5-a8b2-bcf09674b59c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-05T05:29:51.2703674Z","updatedOn":"2020-02-05T05:29:51.2703674Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/382ca8aa-eaac-49fb-8a33-ad06c08ae449","type":"Microsoft.Authorization/roleAssignments","name":"382ca8aa-eaac-49fb-8a33-ad06c08ae449"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-01-08T12:55:39.9212416Z","updatedOn":"2020-01-08T12:55:39.9212416Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/081427e9-c895-4903-8573-77da86dcdae1","type":"Microsoft.Authorization/roleAssignments","name":"081427e9-c895-4903-8573-77da86dcdae1"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-20T22:22:14.0297869Z","updatedOn":"2020-04-20T22:22:14.0297869Z","createdBy":"53bb8815-874d-4b05-9953-1158e05aa080","updatedBy":"53bb8815-874d-4b05-9953-1158e05aa080","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/966ec633-e653-441f-910c-8536f7899f69","type":"Microsoft.Authorization/roleAssignments","name":"966ec633-e653-441f-910c-8536f7899f69"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-30T06:27:35.9310363Z","updatedOn":"2020-04-30T06:27:35.9310363Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6a1327e4-100e-43ee-b04e-1403969b805b","type":"Microsoft.Authorization/roleAssignments","name":"6a1327e4-100e-43ee-b04e-1403969b805b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-06-13T06:44:49.9960198Z","updatedOn":"2019-06-13T06:44:49.9960198Z","createdBy":"f058371f-0c0e-46bb-a5d4-f8aec637a467","updatedBy":"f058371f-0c0e-46bb-a5d4-f8aec637a467","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/33958269-41a0-400a-91a1-6303d954c8f0","type":"Microsoft.Authorization/roleAssignments","name":"33958269-41a0-400a-91a1-6303d954c8f0"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-01-27T19:05:00.2764645Z","updatedOn":"2020-01-27T19:05:00.2764645Z","createdBy":"4744d4c9-1026-421b-87ce-b102213af921","updatedBy":"4744d4c9-1026-421b-87ce-b102213af921","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f0575c6a-aabc-4a2e-b169-379b64f33f8a","type":"Microsoft.Authorization/roleAssignments","name":"f0575c6a-aabc-4a2e-b169-379b64f33f8a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-26T16:21:06.7365340Z","updatedOn":"2020-05-26T16:21:06.7365340Z","createdBy":"ef34ad48-5675-4480-8fe7-a6cc394b97c4","updatedBy":"ef34ad48-5675-4480-8fe7-a6cc394b97c4","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/19a3bbc1-fca8-4ec6-b0e9-7d6861207524","type":"Microsoft.Authorization/roleAssignments","name":"19a3bbc1-fca8-4ec6-b0e9-7d6861207524"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-10-26T00:57:22.8153925Z","updatedOn":"2019-10-26T00:57:22.8153925Z","createdBy":"2fda9054-fc12-457c-bb93-614f1f13426b","updatedBy":"2fda9054-fc12-457c-bb93-614f1f13426b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/8722a1fb-4828-4f43-aa59-0385179b3a05","type":"Microsoft.Authorization/roleAssignments","name":"8722a1fb-4828-4f43-aa59-0385179b3a05"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-30T06:27:35.9911337Z","updatedOn":"2020-04-30T06:27:35.9911337Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/85726f1f-9e4c-415a-b56f-d8e799aaa96d","type":"Microsoft.Authorization/roleAssignments","name":"85726f1f-9e4c-415a-b56f-d8e799aaa96d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-27T21:08:14.8085926Z","updatedOn":"2020-02-27T21:08:14.8085926Z","createdBy":"ef34ad48-5675-4480-8fe7-a6cc394b97c4","updatedBy":"ef34ad48-5675-4480-8fe7-a6cc394b97c4","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/742a0f1a-fbf1-46f1-929d-de8871fc1193","type":"Microsoft.Authorization/roleAssignments","name":"742a0f1a-fbf1-46f1-929d-de8871fc1193"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-01T23:19:45.4260771Z","updatedOn":"2020-05-01T23:19:45.4260771Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/90e2b70f-7104-4f75-b6a5-e7226e497378","type":"Microsoft.Authorization/roleAssignments","name":"90e2b70f-7104-4f75-b6a5-e7226e497378"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-04-16T02:04:22.4782415Z","updatedOn":"2019-04-16T02:04:22.4782415Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/bacdb283-653c-47eb-a578-11743d7898f8","type":"Microsoft.Authorization/roleAssignments","name":"bacdb283-653c-47eb-a578-11743d7898f8"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-04T02:07:58.4393297Z","updatedOn":"2020-02-04T02:07:58.4393297Z","createdBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","updatedBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e46a2f7d-e088-47e2-952f-a0a4818b3825","type":"Microsoft.Authorization/roleAssignments","name":"e46a2f7d-e088-47e2-952f-a0a4818b3825"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-03-26T08:05:19.1222694Z","updatedOn":"2020-03-26T08:05:19.1222694Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/1f46adf6-1c16-4743-b3ac-35cd30452c6b","type":"Microsoft.Authorization/roleAssignments","name":"1f46adf6-1c16-4743-b3ac-35cd30452c6b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-07T00:35:48.6619455Z","updatedOn":"2020-05-07T00:35:48.6619455Z","createdBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","updatedBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/052d4514-701f-41dd-8171-4e8cfab148a6","type":"Microsoft.Authorization/roleAssignments","name":"052d4514-701f-41dd-8171-4e8cfab148a6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-03-27T09:09:33.7347978Z","updatedOn":"2020-03-27T09:09:33.7347978Z","createdBy":"09914860-7ec9-4151-8431-31797899a359","updatedBy":"09914860-7ec9-4151-8431-31797899a359","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6d355b17-e9d6-47b7-9181-b54ad0083793","type":"Microsoft.Authorization/roleAssignments","name":"6d355b17-e9d6-47b7-9181-b54ad0083793"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-03-19T02:50:30.0038186Z","updatedOn":"2019-03-19T02:50:30.0038186Z","createdBy":"b47f071a-d6c9-4297-954e-83151fff489b","updatedBy":"b47f071a-d6c9-4297-954e-83151fff489b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/26adec15-a0e4-4b2e-a437-9b545b9723fc","type":"Microsoft.Authorization/roleAssignments","name":"26adec15-a0e4-4b2e-a437-9b545b9723fc"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-04-17T00:50:00.2288905Z","updatedOn":"2019-04-17T00:50:00.2288905Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0e873fd7-4bdb-4df5-a510-c15f3ce99cd6","type":"Microsoft.Authorization/roleAssignments","name":"0e873fd7-4bdb-4df5-a510-c15f3ce99cd6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-23T03:53:49.9358521Z","updatedOn":"2020-06-23T03:53:49.9358521Z","createdBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","updatedBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/02a0e839-adb0-448c-84f0-3a3f82ef8430","type":"Microsoft.Authorization/roleAssignments","name":"02a0e839-adb0-448c-84f0-3a3f82ef8430"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-08T07:40:31.7235048Z","updatedOn":"2020-05-08T07:40:31.7235048Z","createdBy":"09914860-7ec9-4151-8431-31797899a359","updatedBy":"09914860-7ec9-4151-8431-31797899a359","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/cbfa0c0c-2653-4fb8-b9e5-d41bd96053a7","type":"Microsoft.Authorization/roleAssignments","name":"cbfa0c0c-2653-4fb8-b9e5-d41bd96053a7"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-02T17:06:57.1466814Z","updatedOn":"2020-06-02T17:06:57.1466814Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ab903dde-d229-446d-b429-c1618b8aef5e","type":"Microsoft.Authorization/roleAssignments","name":"ab903dde-d229-446d-b429-c1618b8aef5e"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-29T03:34:09.1452976Z","updatedOn":"2020-04-29T03:34:09.1452976Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/feb76a5e-7bed-4bc8-b481-14bbb109bc33","type":"Microsoft.Authorization/roleAssignments","name":"feb76a5e-7bed-4bc8-b481-14bbb109bc33"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-15T10:16:20.3297126Z","updatedOn":"2020-04-15T10:16:20.3297126Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0db6da93-ca6a-4b5a-8c44-7a3f2003d03c","type":"Microsoft.Authorization/roleAssignments","name":"0db6da93-ca6a-4b5a-8c44-7a3f2003d03c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-01-13T05:17:20.7354482Z","updatedOn":"2020-01-13T05:17:20.7354482Z","createdBy":"09914860-7ec9-4151-8431-31797899a359","updatedBy":"09914860-7ec9-4151-8431-31797899a359","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e5a79ae7-7137-416f-a2cd-4b273ca62d5f","type":"Microsoft.Authorization/roleAssignments","name":"e5a79ae7-7137-416f-a2cd-4b273ca62d5f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-24T19:37:33.7189313Z","updatedOn":"2020-02-24T19:37:33.7189313Z","createdBy":"f31399da-e7ed-4fe4-a825-a9dff4f53481","updatedBy":"f31399da-e7ed-4fe4-a825-a9dff4f53481","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d1964993-fb9d-4be1-982f-fcd6ca7cd493","type":"Microsoft.Authorization/roleAssignments","name":"d1964993-fb9d-4be1-982f-fcd6ca7cd493"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2017-05-22T23:26:54.3208785Z","updatedOn":"2017-05-22T23:26:54.3208785Z","createdBy":"b09a0928-3846-4efb-a579-8540fb78b0a3","updatedBy":"b09a0928-3846-4efb-a579-8540fb78b0a3","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2d149cfb-bc18-48f8-b769-8a0cafd11bee","type":"Microsoft.Authorization/roleAssignments","name":"2d149cfb-bc18-48f8-b769-8a0cafd11bee"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-07T02:09:11.3539299Z","updatedOn":"2020-05-07T02:09:11.3539299Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/5124598f-5127-4efc-9b15-9276948fe202","type":"Microsoft.Authorization/roleAssignments","name":"5124598f-5127-4efc-9b15-9276948fe202"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-18T23:40:26.3271411Z","updatedOn":"2020-02-18T23:40:26.3271411Z","createdBy":"f31399da-e7ed-4fe4-a825-a9dff4f53481","updatedBy":"f31399da-e7ed-4fe4-a825-a9dff4f53481","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/27f9c0cd-fbc1-4810-a9f9-804efad4beec","type":"Microsoft.Authorization/roleAssignments","name":"27f9c0cd-fbc1-4810-a9f9-804efad4beec"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-02T10:52:21.7337863Z","updatedOn":"2020-04-02T10:52:21.7337863Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/54ff849a-1ced-4a28-b675-6bca70a82033","type":"Microsoft.Authorization/roleAssignments","name":"54ff849a-1ced-4a28-b675-6bca70a82033"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-16T07:25:52.5298801Z","updatedOn":"2020-04-16T07:25:52.5298801Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/65fd85a7-3057-4f7f-86bd-0c36a612f483","type":"Microsoft.Authorization/roleAssignments","name":"65fd85a7-3057-4f7f-86bd-0c36a612f483"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-22T21:44:38.6097605Z","updatedOn":"2020-05-22T21:44:38.6097605Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0a2d331c-57c6-48be-9d5f-f49da541fc7e","type":"Microsoft.Authorization/roleAssignments","name":"0a2d331c-57c6-48be-9d5f-f49da541fc7e"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-04T21:30:10.6978339Z","updatedOn":"2020-02-04T21:30:10.6978339Z","createdBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","updatedBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/91ea4b88-79c1-4163-bf5c-760b8add6d79","type":"Microsoft.Authorization/roleAssignments","name":"91ea4b88-79c1-4163-bf5c-760b8add6d79"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-03T05:33:46.3567584Z","updatedOn":"2020-04-03T05:33:46.3567584Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4f9fed67-4a0b-4f9d-870e-66a508cb73eb","type":"Microsoft.Authorization/roleAssignments","name":"4f9fed67-4a0b-4f9d-870e-66a508cb73eb"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-01-24T16:54:45.9590630Z","updatedOn":"2020-01-24T16:54:45.9590630Z","createdBy":"b87c5c16-4f0e-4af2-9b2e-20f25d6b5a3f","updatedBy":"b87c5c16-4f0e-4af2-9b2e-20f25d6b5a3f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/04741a9e-7efb-41cc-b79c-8c725cc7563b","type":"Microsoft.Authorization/roleAssignments","name":"04741a9e-7efb-41cc-b79c-8c725cc7563b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-08-02T07:18:21.5783958Z","updatedOn":"2019-08-02T07:18:21.5783958Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f4afc41d-352f-4bce-84f1-fad9f832f274","type":"Microsoft.Authorization/roleAssignments","name":"f4afc41d-352f-4bce-84f1-fad9f832f274"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-03T17:48:07.2484442Z","updatedOn":"2020-02-03T17:48:07.2484442Z","createdBy":"ef34ad48-5675-4480-8fe7-a6cc394b97c4","updatedBy":"ef34ad48-5675-4480-8fe7-a6cc394b97c4","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/31005f88-9e70-483d-acc8-0f9cc8066b13","type":"Microsoft.Authorization/roleAssignments","name":"31005f88-9e70-483d-acc8-0f9cc8066b13"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-04T21:07:59.9113196Z","updatedOn":"2020-02-04T21:07:59.9113196Z","createdBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","updatedBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ea60c465-aef4-4494-9478-636615243841","type":"Microsoft.Authorization/roleAssignments","name":"ea60c465-aef4-4494-9478-636615243841"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-11-02T00:40:13.2696018Z","updatedOn":"2019-11-02T00:40:13.2696018Z","createdBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","updatedBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/1c0ee413-025e-422c-a8d0-2b8dd410b9b8","type":"Microsoft.Authorization/roleAssignments","name":"1c0ee413-025e-422c-a8d0-2b8dd410b9b8"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-04T21:37:15.2971418Z","updatedOn":"2020-02-04T21:37:15.2971418Z","createdBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","updatedBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/39e99cf2-95c7-4585-8703-998450cafea0","type":"Microsoft.Authorization/roleAssignments","name":"39e99cf2-95c7-4585-8703-998450cafea0"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2018-11-15T22:27:15.6601349Z","updatedOn":"2018-11-15T22:27:15.6601349Z","createdBy":"38d88515-7eb8-4c96-804f-4edcc95b9dff","updatedBy":"38d88515-7eb8-4c96-804f-4edcc95b9dff","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/418847ec-df97-4b29-9711-fc833817e5d6","type":"Microsoft.Authorization/roleAssignments","name":"418847ec-df97-4b29-9711-fc833817e5d6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-08-28T14:20:52.7506898Z","updatedOn":"2019-08-28T14:20:52.7506898Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/715fd118-93b8-4b09-822d-48de5afb21e3","type":"Microsoft.Authorization/roleAssignments","name":"715fd118-93b8-4b09-822d-48de5afb21e3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-01-06T05:22:04.7673784Z","updatedOn":"2019-01-06T05:22:04.7673784Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ba5c8600-8cc9-4778-9735-c3d57d26e50d","type":"Microsoft.Authorization/roleAssignments","name":"ba5c8600-8cc9-4778-9735-c3d57d26e50d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-02T16:21:28.6789246Z","updatedOn":"2020-06-02T16:21:28.6789246Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/bd6bf5d5-fc1c-4fcd-81f3-0d11d3ff9f42","type":"Microsoft.Authorization/roleAssignments","name":"bd6bf5d5-fc1c-4fcd-81f3-0d11d3ff9f42"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-12-13T02:01:30.4183889Z","updatedOn":"2019-12-13T02:01:30.4183889Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4623d907-e6fa-4e2a-ad82-18e34456d655","type":"Microsoft.Authorization/roleAssignments","name":"4623d907-e6fa-4e2a-ad82-18e34456d655"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-03-25T08:37:49.6357044Z","updatedOn":"2020-03-25T08:37:49.6357044Z","createdBy":"471feb6d-5a83-439e-af7b-311f4eee2d0c","updatedBy":"471feb6d-5a83-439e-af7b-311f4eee2d0c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b332ab7b-a956-4e37-acc1-e4df2e9eedfa","type":"Microsoft.Authorization/roleAssignments","name":"b332ab7b-a956-4e37-acc1-e4df2e9eedfa"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-21T03:52:37.6293834Z","updatedOn":"2020-02-21T03:52:37.6293834Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2402af90-d517-4d1d-9ca1-7b85dfc17099","type":"Microsoft.Authorization/roleAssignments","name":"2402af90-d517-4d1d-9ca1-7b85dfc17099"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-28T01:00:41.8419503Z","updatedOn":"2020-04-28T01:00:41.8419503Z","createdBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","updatedBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4da426ac-99d3-442d-b868-532f3582429b","type":"Microsoft.Authorization/roleAssignments","name":"4da426ac-99d3-442d-b868-532f3582429b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-12-04T03:17:07.6866234Z","updatedOn":"2019-12-04T03:17:07.6866234Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b76e5f32-b37f-482c-a7a4-98ef34ecea8a","type":"Microsoft.Authorization/roleAssignments","name":"b76e5f32-b37f-482c-a7a4-98ef34ecea8a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-27T23:12:42.6196328Z","updatedOn":"2020-04-27T23:12:42.6196328Z","createdBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","updatedBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/bb61d9e5-3664-42b4-b41c-bc3e34701de6","type":"Microsoft.Authorization/roleAssignments","name":"bb61d9e5-3664-42b4-b41c-bc3e34701de6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-03-02T20:50:25.6909226Z","updatedOn":"2020-03-02T20:50:25.6909226Z","createdBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","updatedBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/95a9d3e8-db32-4a7f-ad9c-46054677ff39","type":"Microsoft.Authorization/roleAssignments","name":"95a9d3e8-db32-4a7f-ad9c-46054677ff39"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-16T20:48:38.9374068Z","updatedOn":"2020-04-16T20:48:38.9374068Z","createdBy":"c66b4485-d88a-4007-b687-4867ca3c076f","updatedBy":"c66b4485-d88a-4007-b687-4867ca3c076f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/45d89866-af64-4364-b886-7f5ec154c3d4","type":"Microsoft.Authorization/roleAssignments","name":"45d89866-af64-4364-b886-7f5ec154c3d4"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-20T08:42:00.9560545Z","updatedOn":"2020-04-20T08:42:00.9560545Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/7a41b62f-97d4-4f4c-8bfc-4a8dd708e00f","type":"Microsoft.Authorization/roleAssignments","name":"7a41b62f-97d4-4f4c-8bfc-4a8dd708e00f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-19T00:23:10.4351839Z","updatedOn":"2020-06-19T00:23:10.4351839Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c1eb6cee-ee7a-4ed5-a683-846f01688ab9","type":"Microsoft.Authorization/roleAssignments","name":"c1eb6cee-ee7a-4ed5-a683-846f01688ab9"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-07T01:58:45.6145522Z","updatedOn":"2020-05-07T01:58:45.6145522Z","createdBy":"4b5234ab-8f8d-429e-9e1c-ea5799b66ffa","updatedBy":"4b5234ab-8f8d-429e-9e1c-ea5799b66ffa","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/9d42f5af-b9f8-4cf4-b017-612fdbb4f8a7","type":"Microsoft.Authorization/roleAssignments","name":"9d42f5af-b9f8-4cf4-b017-612fdbb4f8a7"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-01-13T21:41:39.4063114Z","updatedOn":"2020-01-13T21:41:39.4063114Z","createdBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","updatedBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2226a2aa-7a47-4546-82ed-4e9e4536bc7b","type":"Microsoft.Authorization/roleAssignments","name":"2226a2aa-7a47-4546-82ed-4e9e4536bc7b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-23T03:10:28.2381030Z","updatedOn":"2020-04-23T03:10:28.2381030Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f98d1512-e634-4663-a219-24be2e6bfe1c","type":"Microsoft.Authorization/roleAssignments","name":"f98d1512-e634-4663-a219-24be2e6bfe1c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-01-30T22:50:20.7914421Z","updatedOn":"2019-01-30T22:50:20.7914421Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0bee5f49-7099-4a3c-9eef-b40697f6f371","type":"Microsoft.Authorization/roleAssignments","name":"0bee5f49-7099-4a3c-9eef-b40697f6f371"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-04T06:37:19.1237954Z","updatedOn":"2020-04-04T06:37:19.1237954Z","createdBy":"ed4707f4-8b58-42fe-9afd-0045d7a9b262","updatedBy":"ed4707f4-8b58-42fe-9afd-0045d7a9b262","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d2d2ec3b-f7e6-4dbb-b281-0ceb5f243d01","type":"Microsoft.Authorization/roleAssignments","name":"d2d2ec3b-f7e6-4dbb-b281-0ceb5f243d01"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-15T02:06:03.3308352Z","updatedOn":"2020-04-15T02:06:03.3308352Z","createdBy":"c212dea8-d0da-4832-bdb1-d9e2b7672c76","updatedBy":"c212dea8-d0da-4832-bdb1-d9e2b7672c76","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6142150e-c404-48e6-a731-fffb36357051","type":"Microsoft.Authorization/roleAssignments","name":"6142150e-c404-48e6-a731-fffb36357051"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-20T20:29:38.5194580Z","updatedOn":"2020-04-20T20:29:38.5194580Z","createdBy":"c66b4485-d88a-4007-b687-4867ca3c076f","updatedBy":"c66b4485-d88a-4007-b687-4867ca3c076f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/7682e420-ebd8-4c39-be01-8c1fc953f250","type":"Microsoft.Authorization/roleAssignments","name":"7682e420-ebd8-4c39-be01-8c1fc953f250"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2018-11-16T23:46:13.9660279Z","updatedOn":"2018-11-16T23:46:13.9660279Z","createdBy":"38d88515-7eb8-4c96-804f-4edcc95b9dff","updatedBy":"38d88515-7eb8-4c96-804f-4edcc95b9dff","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2b66b1ea-89dd-4bc6-8d89-96298648eb40","type":"Microsoft.Authorization/roleAssignments","name":"2b66b1ea-89dd-4bc6-8d89-96298648eb40"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-01-31T01:55:23.5911140Z","updatedOn":"2019-01-31T01:55:23.5911140Z","createdBy":"b47f071a-d6c9-4297-954e-83151fff489b","updatedBy":"b47f071a-d6c9-4297-954e-83151fff489b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/3359123d-b5f7-48d6-a1e7-ad77b7ef6b7f","type":"Microsoft.Authorization/roleAssignments","name":"3359123d-b5f7-48d6-a1e7-ad77b7ef6b7f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"Group","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2018-10-27T00:03:26.2878499Z","updatedOn":"2018-10-27T00:03:26.2878499Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ea920230-1aba-4f80-9eef-3fed8216f594","type":"Microsoft.Authorization/roleAssignments","name":"ea920230-1aba-4f80-9eef-3fed8216f594"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-03-25T08:25:35.9118633Z","updatedOn":"2020-03-25T08:25:35.9118633Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6559da2d-7b8e-4dfe-ba1d-dfedbd7c73a1","type":"Microsoft.Authorization/roleAssignments","name":"6559da2d-7b8e-4dfe-ba1d-dfedbd7c73a1"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-04T02:21:24.1380483Z","updatedOn":"2020-06-04T02:21:24.1380483Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f70af6d6-4511-4e74-b25f-9c15978d4859","type":"Microsoft.Authorization/roleAssignments","name":"f70af6d6-4511-4e74-b25f-9c15978d4859"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-10-26T01:25:12.5585896Z","updatedOn":"2019-10-26T01:25:12.5585896Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e5e4c17a-2a72-4b0e-8518-53afddc60b04","type":"Microsoft.Authorization/roleAssignments","name":"e5e4c17a-2a72-4b0e-8518-53afddc60b04"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-20T22:24:43.1326207Z","updatedOn":"2020-04-20T22:24:43.1326207Z","createdBy":"5ecb1531-0d8c-4a89-93cb-1b48b2224358","updatedBy":"5ecb1531-0d8c-4a89-93cb-1b48b2224358","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d54b05eb-b1d1-4845-8ac5-48c5bb4c50b6","type":"Microsoft.Authorization/roleAssignments","name":"d54b05eb-b1d1-4845-8ac5-48c5bb4c50b6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-03T09:55:40.2829720Z","updatedOn":"2020-04-03T09:55:40.2829720Z","createdBy":"0276227b-f99f-4db3-b016-9eebbdfe5dd9","updatedBy":"0276227b-f99f-4db3-b016-9eebbdfe5dd9","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c9c2a551-11aa-4b0a-8816-f8511cd46a32","type":"Microsoft.Authorization/roleAssignments","name":"c9c2a551-11aa-4b0a-8816-f8511cd46a32"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-29T03:57:30.1921503Z","updatedOn":"2020-04-29T03:57:30.1921503Z","createdBy":"a5cae52f-366a-417b-b718-e73d17746c35","updatedBy":"a5cae52f-366a-417b-b718-e73d17746c35","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b4a5f74f-d5b2-4fc7-bfa1-893cc5b9ad88","type":"Microsoft.Authorization/roleAssignments","name":"b4a5f74f-d5b2-4fc7-bfa1-893cc5b9ad88"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-21T06:59:06.6904070Z","updatedOn":"2020-04-21T06:59:06.6904070Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/8273f6ee-b861-42a0-8dec-475eb3215463","type":"Microsoft.Authorization/roleAssignments","name":"8273f6ee-b861-42a0-8dec-475eb3215463"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-29T17:47:02.9492136Z","updatedOn":"2020-06-29T17:47:02.9492136Z","createdBy":"c66b4485-d88a-4007-b687-4867ca3c076f","updatedBy":"c66b4485-d88a-4007-b687-4867ca3c076f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/5cae5324-e7eb-4c13-ba0d-80c801c2b744","type":"Microsoft.Authorization/roleAssignments","name":"5cae5324-e7eb-4c13-ba0d-80c801c2b744"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-29T15:40:03.6815875Z","updatedOn":"2020-04-29T15:40:03.6815875Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/09778426-699f-4faa-8016-5e6029e7313d","type":"Microsoft.Authorization/roleAssignments","name":"09778426-699f-4faa-8016-5e6029e7313d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-27T23:43:20.3428422Z","updatedOn":"2020-04-27T23:43:20.3428422Z","createdBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","updatedBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/271e5b8d-8684-4668-98b9-c3dc25f4b437","type":"Microsoft.Authorization/roleAssignments","name":"271e5b8d-8684-4668-98b9-c3dc25f4b437"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-03-26T21:10:42.2124416Z","updatedOn":"2020-03-26T21:10:42.2124416Z","createdBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","updatedBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d394da6c-4def-47de-8689-791727331c5b","type":"Microsoft.Authorization/roleAssignments","name":"d394da6c-4def-47de-8689-791727331c5b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-21T07:34:50.7125622Z","updatedOn":"2020-04-21T07:34:50.7125622Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ddeb2255-2bb6-458a-a891-532e96ae5483","type":"Microsoft.Authorization/roleAssignments","name":"ddeb2255-2bb6-458a-a891-532e96ae5483"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-23T04:07:45.3308845Z","updatedOn":"2020-06-23T04:07:45.3308845Z","createdBy":"9404195a-2cde-4a10-b88c-e7b41572bf31","updatedBy":"9404195a-2cde-4a10-b88c-e7b41572bf31","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/15d1dab1-b507-11ea-819c-a28e10bedef6","type":"Microsoft.Authorization/roleAssignments","name":"15d1dab1-b507-11ea-819c-a28e10bedef6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-13T00:09:08.8179220Z","updatedOn":"2020-05-13T00:09:08.8179220Z","createdBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","updatedBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/08a578f0-4875-47d0-8775-946b3a0f2b06","type":"Microsoft.Authorization/roleAssignments","name":"08a578f0-4875-47d0-8775-946b3a0f2b06"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-10T23:15:46.8549700Z","updatedOn":"2020-05-10T23:15:46.8549700Z","createdBy":"c1acf319-6d96-4dfe-b194-c27640869947","updatedBy":"c1acf319-6d96-4dfe-b194-c27640869947","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/22d3da65-7681-445e-9080-e748e494676f","type":"Microsoft.Authorization/roleAssignments","name":"22d3da65-7681-445e-9080-e748e494676f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-08-29T13:30:14.1177711Z","updatedOn":"2019-08-29T13:30:14.1177711Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4a2c1014-c1ba-4ae9-a632-90967c28429d","type":"Microsoft.Authorization/roleAssignments","name":"4a2c1014-c1ba-4ae9-a632-90967c28429d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-27T01:26:21.7189691Z","updatedOn":"2020-02-27T01:26:21.7189691Z","createdBy":"c1acf319-6d96-4dfe-b194-c27640869947","updatedBy":"c1acf319-6d96-4dfe-b194-c27640869947","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/28808064-5900-11ea-81c8-acde48001122","type":"Microsoft.Authorization/roleAssignments","name":"28808064-5900-11ea-81c8-acde48001122"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-10-31T20:08:15.8705805Z","updatedOn":"2019-10-31T20:08:15.8705805Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e47c861f-a9eb-46c0-b2e2-102033a5c009","type":"Microsoft.Authorization/roleAssignments","name":"e47c861f-a9eb-46c0-b2e2-102033a5c009"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-28T00:17:14.5340823Z","updatedOn":"2020-04-28T00:17:14.5340823Z","createdBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","updatedBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f7e6b175-9796-4292-bf64-1683aa14312f","type":"Microsoft.Authorization/roleAssignments","name":"f7e6b175-9796-4292-bf64-1683aa14312f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-20T08:30:00.0256525Z","updatedOn":"2020-04-20T08:30:00.0256525Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a91f5ef0-1d9b-453e-8f90-43826c3652dd","type":"Microsoft.Authorization/roleAssignments","name":"a91f5ef0-1d9b-453e-8f90-43826c3652dd"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-14T00:22:19.2644898Z","updatedOn":"2020-04-14T00:22:19.2644898Z","createdBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","updatedBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/420714ce-6b24-4ce2-b7ee-51554de01de7","type":"Microsoft.Authorization/roleAssignments","name":"420714ce-6b24-4ce2-b7ee-51554de01de7"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-28T00:53:44.9077172Z","updatedOn":"2020-04-28T00:53:44.9077172Z","createdBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","updatedBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2940c5e2-5742-42aa-9569-e68c698a01d6","type":"Microsoft.Authorization/roleAssignments","name":"2940c5e2-5742-42aa-9569-e68c698a01d6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"Group","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-01-30T19:30:49.2769608Z","updatedOn":"2019-01-30T19:30:49.2769608Z","createdBy":"b47f071a-d6c9-4297-954e-83151fff489b","updatedBy":"b47f071a-d6c9-4297-954e-83151fff489b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/310957e5-5722-42e0-95b6-5bc6c6b67f16","type":"Microsoft.Authorization/roleAssignments","name":"310957e5-5722-42e0-95b6-5bc6c6b67f16"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-07-03T01:05:25.8863198Z","updatedOn":"2020-07-03T01:05:25.8863198Z","createdBy":"7ac4ca6d-46a3-4e71-a705-858af50eea7b","updatedBy":"7ac4ca6d-46a3-4e71-a705-858af50eea7b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/46877403-bcc9-11ea-924f-00155d871f03","type":"Microsoft.Authorization/roleAssignments","name":"46877403-bcc9-11ea-924f-00155d871f03"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-02T16:19:56.1932050Z","updatedOn":"2020-06-02T16:19:56.1932050Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/de7bdfed-5cc5-47e2-9008-327939dc8379","type":"Microsoft.Authorization/roleAssignments","name":"de7bdfed-5cc5-47e2-9008-327939dc8379"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-03-28T19:57:23.3708745Z","updatedOn":"2019-03-28T19:57:23.3708745Z","createdBy":"66cb050e-bae1-4005-8c4c-0f6dd9b34978","updatedBy":"66cb050e-bae1-4005-8c4c-0f6dd9b34978","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/cc796cab-2f6b-4099-b9a3-7500f5516153","type":"Microsoft.Authorization/roleAssignments","name":"cc796cab-2f6b-4099-b9a3-7500f5516153"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-24T02:12:40.2606628Z","updatedOn":"2020-04-24T02:12:40.2606628Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6a375386-4cb0-47fd-952c-92465f6d679d","type":"Microsoft.Authorization/roleAssignments","name":"6a375386-4cb0-47fd-952c-92465f6d679d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-03-30T22:56:44.9793119Z","updatedOn":"2020-03-30T22:56:44.9793119Z","createdBy":"53bb8815-874d-4b05-9953-1158e05aa080","updatedBy":"53bb8815-874d-4b05-9953-1158e05aa080","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/000ea275-41c4-40ce-943f-98a8849a56bc","type":"Microsoft.Authorization/roleAssignments","name":"000ea275-41c4-40ce-943f-98a8849a56bc"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-12-13T02:01:31.6182075Z","updatedOn":"2019-12-13T02:01:31.6182075Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d3ea741e-fdf8-4780-a73f-bbc0efbd141c","type":"Microsoft.Authorization/roleAssignments","name":"d3ea741e-fdf8-4780-a73f-bbc0efbd141c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-23T05:07:17.2382220Z","updatedOn":"2020-06-23T05:07:17.2382220Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4202823d-7518-46d1-b5ff-b6c7cb7b9dd3","type":"Microsoft.Authorization/roleAssignments","name":"4202823d-7518-46d1-b5ff-b6c7cb7b9dd3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-18T12:01:15.4801397Z","updatedOn":"2020-05-18T12:01:15.4801397Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4c04d5e5-df60-47b9-abde-aa9641425c64","type":"Microsoft.Authorization/roleAssignments","name":"4c04d5e5-df60-47b9-abde-aa9641425c64"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-10T01:13:53.0806696Z","updatedOn":"2020-06-10T01:13:53.0806696Z","createdBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","updatedBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a584fad9-aab7-11ea-b7e7-00155d4b0124","type":"Microsoft.Authorization/roleAssignments","name":"a584fad9-aab7-11ea-b7e7-00155d4b0124"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-07-03T07:48:19.4504494Z","updatedOn":"2020-07-03T07:48:19.4504494Z","createdBy":"471feb6d-5a83-439e-af7b-311f4eee2d0c","updatedBy":"471feb6d-5a83-439e-af7b-311f4eee2d0c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/28dd25b5-e359-4d3d-9632-bcd15c3fa296","type":"Microsoft.Authorization/roleAssignments","name":"28dd25b5-e359-4d3d-9632-bcd15c3fa296"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-09T00:52:51.5057560Z","updatedOn":"2020-06-09T00:52:51.5057560Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6d91fd42-bd38-4380-8f63-993e49f83833","type":"Microsoft.Authorization/roleAssignments","name":"6d91fd42-bd38-4380-8f63-993e49f83833"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-09-20T20:32:24.1155446Z","updatedOn":"2019-09-20T20:32:24.1155446Z","createdBy":"66cb050e-bae1-4005-8c4c-0f6dd9b34978","updatedBy":"66cb050e-bae1-4005-8c4c-0f6dd9b34978","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c1a9a09e-eafe-4c97-b589-a8261ee04099","type":"Microsoft.Authorization/roleAssignments","name":"c1a9a09e-eafe-4c97-b589-a8261ee04099"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-12T00:23:23.9037436Z","updatedOn":"2020-05-12T00:23:23.9037436Z","createdBy":"c1acf319-6d96-4dfe-b194-c27640869947","updatedBy":"c1acf319-6d96-4dfe-b194-c27640869947","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6ff95229-981f-40d7-889f-97bc90b8f387","type":"Microsoft.Authorization/roleAssignments","name":"6ff95229-981f-40d7-889f-97bc90b8f387"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-09T00:52:52.1315983Z","updatedOn":"2020-06-09T00:52:52.1315983Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/7512dec1-86e5-400d-8bc9-f24f181127f3","type":"Microsoft.Authorization/roleAssignments","name":"7512dec1-86e5-400d-8bc9-f24f181127f3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-12-30T03:12:58.1455315Z","updatedOn":"2019-12-30T03:12:58.1455315Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/091713ce-9ee7-445d-beaf-708ee254b129","type":"Microsoft.Authorization/roleAssignments","name":"091713ce-9ee7-445d-beaf-708ee254b129"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-04-19T04:20:34.3557776Z","updatedOn":"2019-04-19T04:20:34.3557776Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/092a238c-94af-4fca-bd4a-bb4995ea58db","type":"Microsoft.Authorization/roleAssignments","name":"092a238c-94af-4fca-bd4a-bb4995ea58db"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-14T04:03:23.9185561Z","updatedOn":"2020-04-14T04:03:23.9185561Z","createdBy":"c212dea8-d0da-4832-bdb1-d9e2b7672c76","updatedBy":"c212dea8-d0da-4832-bdb1-d9e2b7672c76","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0f0f495d-0356-4239-b966-3f47f5f1054a","type":"Microsoft.Authorization/roleAssignments","name":"0f0f495d-0356-4239-b966-3f47f5f1054a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-20T20:29:38.4023513Z","updatedOn":"2020-04-20T20:29:38.4023513Z","createdBy":"c66b4485-d88a-4007-b687-4867ca3c076f","updatedBy":"c66b4485-d88a-4007-b687-4867ca3c076f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b3276191-98a8-472b-b650-21c8d24b7464","type":"Microsoft.Authorization/roleAssignments","name":"b3276191-98a8-472b-b650-21c8d24b7464"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-16T02:06:59.0490140Z","updatedOn":"2020-05-16T02:06:59.0490140Z","createdBy":"53bb8815-874d-4b05-9953-1158e05aa080","updatedBy":"53bb8815-874d-4b05-9953-1158e05aa080","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2cf7ea7b-3bdd-44ea-966b-b4eb4e7813fa","type":"Microsoft.Authorization/roleAssignments","name":"2cf7ea7b-3bdd-44ea-966b-b4eb4e7813fa"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-13T22:32:47.4470861Z","updatedOn":"2020-04-13T22:32:47.4470861Z","createdBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","updatedBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/93ce765f-2d72-454b-816b-ba287754fe5a","type":"Microsoft.Authorization/roleAssignments","name":"93ce765f-2d72-454b-816b-ba287754fe5a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-14T00:42:59.8868253Z","updatedOn":"2020-05-14T00:42:59.8868253Z","createdBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","updatedBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6b3c8d44-237c-410c-a095-52ded7f5cd26","type":"Microsoft.Authorization/roleAssignments","name":"6b3c8d44-237c-410c-a095-52ded7f5cd26"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-11T13:26:01.9493491Z","updatedOn":"2020-02-11T13:26:01.9493491Z","createdBy":"0276227b-f99f-4db3-b016-9eebbdfe5dd9","updatedBy":"0276227b-f99f-4db3-b016-9eebbdfe5dd9","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/8fab1ba3-53c2-4b21-9d32-dc89fd061811","type":"Microsoft.Authorization/roleAssignments","name":"8fab1ba3-53c2-4b21-9d32-dc89fd061811"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-04-19T22:53:47.5902917Z","updatedOn":"2019-04-19T22:53:47.5902917Z","createdBy":"66cb050e-bae1-4005-8c4c-0f6dd9b34978","updatedBy":"66cb050e-bae1-4005-8c4c-0f6dd9b34978","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/1f9d617d-8ab5-4f63-8c85-445f6c30632f","type":"Microsoft.Authorization/roleAssignments","name":"1f9d617d-8ab5-4f63-8c85-445f6c30632f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-03T05:34:39.2163770Z","updatedOn":"2020-04-03T05:34:39.2163770Z","createdBy":"ed4707f4-8b58-42fe-9afd-0045d7a9b262","updatedBy":"ed4707f4-8b58-42fe-9afd-0045d7a9b262","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/8e4edc2a-dd1f-469b-9a44-f0693866b843","type":"Microsoft.Authorization/roleAssignments","name":"8e4edc2a-dd1f-469b-9a44-f0693866b843"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-12T21:48:57.3001992Z","updatedOn":"2020-05-12T21:48:57.3001992Z","createdBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","updatedBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/dcc102ec-9c04-4c7c-976e-94c72db42b49","type":"Microsoft.Authorization/roleAssignments","name":"dcc102ec-9c04-4c7c-976e-94c72db42b49"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-06-26T06:44:38.5656650Z","updatedOn":"2019-06-26T06:44:38.5656650Z","createdBy":"f058371f-0c0e-46bb-a5d4-f8aec637a467","updatedBy":"f058371f-0c0e-46bb-a5d4-f8aec637a467","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a2cc1fcf-6ce5-4bd8-94c9-e0e6aa788a1d","type":"Microsoft.Authorization/roleAssignments","name":"a2cc1fcf-6ce5-4bd8-94c9-e0e6aa788a1d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-20T19:40:09.1141460Z","updatedOn":"2020-02-20T19:40:09.1141460Z","createdBy":"c1acf319-6d96-4dfe-b194-c27640869947","updatedBy":"c1acf319-6d96-4dfe-b194-c27640869947","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d4673bf4-97da-4102-9284-2a7315b88a34","type":"Microsoft.Authorization/roleAssignments","name":"d4673bf4-97da-4102-9284-2a7315b88a34"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-23T05:07:14.6947730Z","updatedOn":"2020-06-23T05:07:14.6947730Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/bec06514-2b3f-4a1f-92f2-cbb30828f447","type":"Microsoft.Authorization/roleAssignments","name":"bec06514-2b3f-4a1f-92f2-cbb30828f447"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-21T07:19:44.2488168Z","updatedOn":"2020-04-21T07:19:44.2488168Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/fadbe071-d757-48fc-b82a-4784249ded10","type":"Microsoft.Authorization/roleAssignments","name":"fadbe071-d757-48fc-b82a-4784249ded10"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-12-13T02:01:31.7381957Z","updatedOn":"2019-12-13T02:01:31.7381957Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6e035090-e3f8-4bb2-b117-fac2fba706b2","type":"Microsoft.Authorization/roleAssignments","name":"6e035090-e3f8-4bb2-b117-fac2fba706b2"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-03-12T17:29:23.0437979Z","updatedOn":"2019-03-12T17:29:23.0437979Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a7e76154-c2a7-4419-b73f-e8c6010318c9","type":"Microsoft.Authorization/roleAssignments","name":"a7e76154-c2a7-4419-b73f-e8c6010318c9"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-26T19:29:06.9092628Z","updatedOn":"2020-05-26T19:29:06.9092628Z","createdBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","updatedBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c0b0f01a-d6f2-4c1f-879d-10bdc2f1aee5","type":"Microsoft.Authorization/roleAssignments","name":"c0b0f01a-d6f2-4c1f-879d-10bdc2f1aee5"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-21T07:40:03.0117061Z","updatedOn":"2020-02-21T07:40:03.0117061Z","createdBy":"0276227b-f99f-4db3-b016-9eebbdfe5dd9","updatedBy":"0276227b-f99f-4db3-b016-9eebbdfe5dd9","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e5c1eb24-09ad-487a-8286-8bb2841d311d","type":"Microsoft.Authorization/roleAssignments","name":"e5c1eb24-09ad-487a-8286-8bb2841d311d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-17T00:59:53.8734172Z","updatedOn":"2020-06-17T00:59:53.8734172Z","createdBy":"82e11ed5-c720-4c8d-b396-a2fcd9e4291f","updatedBy":"82e11ed5-c720-4c8d-b396-a2fcd9e4291f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d7f69b6b-b035-11ea-a6dd-000d3aa35713","type":"Microsoft.Authorization/roleAssignments","name":"d7f69b6b-b035-11ea-a6dd-000d3aa35713"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-23T14:27:52.3922162Z","updatedOn":"2020-04-23T14:27:52.3922162Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/9acabd34-856e-11ea-98ae-acbc329aaf8b","type":"Microsoft.Authorization/roleAssignments","name":"9acabd34-856e-11ea-98ae-acbc329aaf8b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-20T20:29:38.3267905Z","updatedOn":"2020-04-20T20:29:38.3267905Z","createdBy":"c66b4485-d88a-4007-b687-4867ca3c076f","updatedBy":"c66b4485-d88a-4007-b687-4867ca3c076f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ac979adb-819c-4fae-98bc-6a6c81bc76b1","type":"Microsoft.Authorization/roleAssignments","name":"ac979adb-819c-4fae-98bc-6a6c81bc76b1"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2018-02-06T23:56:15.2220285Z","updatedOn":"2018-02-06T23:56:15.2220285Z","createdBy":"b87c5c16-4f0e-4af2-9b2e-20f25d6b5a3f","updatedBy":"b87c5c16-4f0e-4af2-9b2e-20f25d6b5a3f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f54c2ddd-8858-4c40-bdec-25546c985154","type":"Microsoft.Authorization/roleAssignments","name":"f54c2ddd-8858-4c40-bdec-25546c985154"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-20T20:29:38.3023490Z","updatedOn":"2020-04-20T20:29:38.3023490Z","createdBy":"c66b4485-d88a-4007-b687-4867ca3c076f","updatedBy":"c66b4485-d88a-4007-b687-4867ca3c076f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/bf46ff50-6187-4a95-afd4-b811c1a8b239","type":"Microsoft.Authorization/roleAssignments","name":"bf46ff50-6187-4a95-afd4-b811c1a8b239"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-02-02T04:47:03.2856858Z","updatedOn":"2019-02-02T04:47:03.2856858Z","createdBy":"66cb050e-bae1-4005-8c4c-0f6dd9b34978","updatedBy":"66cb050e-bae1-4005-8c4c-0f6dd9b34978","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/11737a1b-2cf4-4fca-8c36-4ef79e0df5b0","type":"Microsoft.Authorization/roleAssignments","name":"11737a1b-2cf4-4fca-8c36-4ef79e0df5b0"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-02T23:56:53.9541160Z","updatedOn":"2020-04-02T23:56:53.9541160Z","createdBy":"53bb8815-874d-4b05-9953-1158e05aa080","updatedBy":"53bb8815-874d-4b05-9953-1158e05aa080","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/700e8068-ae0c-4176-8e70-8958a82a4aa1","type":"Microsoft.Authorization/roleAssignments","name":"700e8068-ae0c-4176-8e70-8958a82a4aa1"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-08-02T07:21:13.1302112Z","updatedOn":"2019-08-02T07:21:13.1302112Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/98328e7b-c22c-4a4b-bcae-25953d0c52f3","type":"Microsoft.Authorization/roleAssignments","name":"98328e7b-c22c-4a4b-bcae-25953d0c52f3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-28T03:13:08.9833014Z","updatedOn":"2020-04-28T03:13:08.9833014Z","createdBy":"547f6960-a967-417a-a9a4-0f35fbdca11c","updatedBy":"547f6960-a967-417a-a9a4-0f35fbdca11c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/5479cc1b-0762-40bd-862d-7369aa1ff685","type":"Microsoft.Authorization/roleAssignments","name":"5479cc1b-0762-40bd-862d-7369aa1ff685"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-04T02:11:30.6140935Z","updatedOn":"2020-02-04T02:11:30.6140935Z","createdBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","updatedBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/495c765c-e6e2-4582-9ab6-ad9abf7e5064","type":"Microsoft.Authorization/roleAssignments","name":"495c765c-e6e2-4582-9ab6-ad9abf7e5064"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-08-06T03:04:23.5398083Z","updatedOn":"2019-08-06T03:04:23.5398083Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/958e790f-1635-4dd3-b718-5403a1342a66","type":"Microsoft.Authorization/roleAssignments","name":"958e790f-1635-4dd3-b718-5403a1342a66"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-01-10T01:23:31.4432043Z","updatedOn":"2020-01-10T01:23:31.4432043Z","createdBy":"09914860-7ec9-4151-8431-31797899a359","updatedBy":"09914860-7ec9-4151-8431-31797899a359","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/151d14b1-b26a-47b9-be10-255bf562d592","type":"Microsoft.Authorization/roleAssignments","name":"151d14b1-b26a-47b9-be10-255bf562d592"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-12-13T02:02:28.2288268Z","updatedOn":"2019-12-13T02:02:28.2288268Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/11ddfea7-616f-499f-9975-e8513b60eb3c","type":"Microsoft.Authorization/roleAssignments","name":"11ddfea7-616f-499f-9975-e8513b60eb3c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-03-16T23:29:48.3209681Z","updatedOn":"2020-03-16T23:29:48.3209681Z","createdBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","updatedBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/3eb4155b-2965-456b-8f00-bca8a13b1684","type":"Microsoft.Authorization/roleAssignments","name":"3eb4155b-2965-456b-8f00-bca8a13b1684"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-05T14:05:58.2716050Z","updatedOn":"2021-04-05T14:05:58.2716050Z","createdBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","updatedBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0a9b0e6a-9618-11eb-879a-88e9fe77e044","type":"Microsoft.Authorization/roleAssignments","name":"0a9b0e6a-9618-11eb-879a-88e9fe77e044"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-05T17:37:43.7040494Z","updatedOn":"2021-04-05T17:37:43.7040494Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a04b0948-9635-11eb-b395-acde48001122","type":"Microsoft.Authorization/roleAssignments","name":"a04b0948-9635-11eb-b395-acde48001122"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-05T23:56:38.0963501Z","updatedOn":"2021-04-05T23:56:38.0963501Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/80ef7746-a500-41bc-9154-bf710a740c8f","type":"Microsoft.Authorization/roleAssignments","name":"80ef7746-a500-41bc-9154-bf710a740c8f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-06T02:08:10.5378297Z","updatedOn":"2021-04-06T02:08:10.5378297Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/627cf393-9c97-4b8d-8e68-3188a44d3347","type":"Microsoft.Authorization/roleAssignments","name":"627cf393-9c97-4b8d-8e68-3188a44d3347"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-06T02:24:11.2891190Z","updatedOn":"2021-04-06T02:24:11.2891190Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2845ac64-e36c-43b7-8958-033805cafe86","type":"Microsoft.Authorization/roleAssignments","name":"2845ac64-e36c-43b7-8958-033805cafe86"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-06T02:24:39.3826587Z","updatedOn":"2021-04-06T02:24:39.3826587Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6c21611b-a840-4166-b9f4-8cec90c17841","type":"Microsoft.Authorization/roleAssignments","name":"6c21611b-a840-4166-b9f4-8cec90c17841"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-06T02:24:39.4154930Z","updatedOn":"2021-04-06T02:24:39.4154930Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/925d4876-8fde-4334-8f84-4ce52ca7108e","type":"Microsoft.Authorization/roleAssignments","name":"925d4876-8fde-4334-8f84-4ce52ca7108e"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-06T04:46:32.1029699Z","updatedOn":"2021-04-06T04:46:32.1029699Z","createdBy":"9404195a-2cde-4a10-b88c-e7b41572bf31","updatedBy":"9404195a-2cde-4a10-b88c-e7b41572bf31","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0dfdb837-9693-11eb-b629-b6178ece78ec","type":"Microsoft.Authorization/roleAssignments","name":"0dfdb837-9693-11eb-b629-b6178ece78ec"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"Group","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-06T11:25:43.5702772Z","updatedOn":"2021-04-06T11:25:43.5702772Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/958a1320-4346-46fb-9722-828af239eb03","type":"Microsoft.Authorization/roleAssignments","name":"958a1320-4346-46fb-9722-828af239eb03"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-06T20:54:21.5921112Z","updatedOn":"2021-04-06T20:54:21.5921112Z","createdBy":"f5d11ebc-8494-4b5f-a0fc-5fbbfd56f7bb","updatedBy":"f5d11ebc-8494-4b5f-a0fc-5fbbfd56f7bb","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/42ad5638-971a-11eb-abf6-00155d3a4c00","type":"Microsoft.Authorization/roleAssignments","name":"42ad5638-971a-11eb-abf6-00155d3a4c00"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-06T23:22:50.4425724Z","updatedOn":"2021-04-06T23:22:50.4425724Z","createdBy":"ad232e99-5e1b-414e-aa53-96ae40d39f3e","updatedBy":"ad232e99-5e1b-414e-aa53-96ae40d39f3e","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/00a90f2a-972f-11eb-9121-acde48001122","type":"Microsoft.Authorization/roleAssignments","name":"00a90f2a-972f-11eb-9121-acde48001122"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-06T23:57:47.7182520Z","updatedOn":"2021-04-06T23:57:47.7182520Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/fb99837b-1f81-4e7c-afdf-5a5da79bc3e3","type":"Microsoft.Authorization/roleAssignments","name":"fb99837b-1f81-4e7c-afdf-5a5da79bc3e3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-07T00:26:49.7250016Z","updatedOn":"2021-04-07T00:26:49.7250016Z","createdBy":"88f18750-8181-4579-8eff-eb44f510655c","updatedBy":"88f18750-8181-4579-8eff-eb44f510655c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/dca2df37-fdd1-49dc-a1de-31a70d62e098","type":"Microsoft.Authorization/roleAssignments","name":"dca2df37-fdd1-49dc-a1de-31a70d62e098"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-07T09:10:47.4905668Z","updatedOn":"2021-04-07T09:10:47.4905668Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/8a5dbdef-0896-48cd-a325-318e807ea133","type":"Microsoft.Authorization/roleAssignments","name":"8a5dbdef-0896-48cd-a325-318e807ea133"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-07T09:44:09.4148366Z","updatedOn":"2021-04-07T09:44:09.4148366Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/19eb9977-62b0-4571-8d91-9342f2580a32","type":"Microsoft.Authorization/roleAssignments","name":"19eb9977-62b0-4571-8d91-9342f2580a32"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-07T19:55:01.1984055Z","updatedOn":"2021-04-07T19:55:01.1984055Z","createdBy":"1b081df7-da49-42b3-a427-9cb93114bf07","updatedBy":"1b081df7-da49-42b3-a427-9cb93114bf07","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2301d942-97db-11eb-8bf8-acde48001122","type":"Microsoft.Authorization/roleAssignments","name":"2301d942-97db-11eb-8bf8-acde48001122"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-07T22:36:06.7954601Z","updatedOn":"2021-04-07T22:36:06.7954601Z","createdBy":"f31399da-e7ed-4fe4-a825-a9dff4f53481","updatedBy":"f31399da-e7ed-4fe4-a825-a9dff4f53481","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6070c7de-7571-4d55-8b2f-85285b7d9675","type":"Microsoft.Authorization/roleAssignments","name":"6070c7de-7571-4d55-8b2f-85285b7d9675"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-09T01:23:36.6710425Z","updatedOn":"2021-04-09T01:23:36.6710425Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/8f1c810a-91db-403c-8c1b-e36ef5e3f2ae","type":"Microsoft.Authorization/roleAssignments","name":"8f1c810a-91db-403c-8c1b-e36ef5e3f2ae"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-09T08:31:55.6753945Z","updatedOn":"2021-04-09T08:31:55.6753945Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/cb17ef81-685c-44f9-b679-244ff9cecfca","type":"Microsoft.Authorization/roleAssignments","name":"cb17ef81-685c-44f9-b679-244ff9cecfca"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-07-13T08:23:22.5067480Z","updatedOn":"2020-07-13T08:23:22.5067480Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d620bc90-9de4-4ae7-b69a-0b2489f91897","type":"Microsoft.Authorization/roleAssignments","name":"d620bc90-9de4-4ae7-b69a-0b2489f91897"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-07-17T03:14:37.5069272Z","updatedOn":"2020-07-17T03:14:37.5069272Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0d5c6698-a390-411c-a028-5ef6510a7db3","type":"Microsoft.Authorization/roleAssignments","name":"0d5c6698-a390-411c-a028-5ef6510a7db3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-08T10:10:14.5504056Z","updatedOn":"2021-03-08T10:10:14.5504056Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/067c1708-f33d-4c8c-9962-1115d573b010","type":"Microsoft.Authorization/roleAssignments","name":"067c1708-f33d-4c8c-9962-1115d573b010"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-12T17:41:39.7941619Z","updatedOn":"2021-03-12T17:41:39.7941619Z","createdBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","updatedBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d4625aa1-611e-448a-bf3e-f37f2bc878a3","type":"Microsoft.Authorization/roleAssignments","name":"d4625aa1-611e-448a-bf3e-f37f2bc878a3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-13T00:16:30.5211415Z","updatedOn":"2021-03-13T00:16:30.5211415Z","createdBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","updatedBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6bb77919-c820-434e-8b05-534269176a2c","type":"Microsoft.Authorization/roleAssignments","name":"6bb77919-c820-434e-8b05-534269176a2c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-13T10:12:45.2534236Z","updatedOn":"2021-03-13T10:12:45.2534236Z","createdBy":"8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9","updatedBy":"8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e975bb7b-054a-46af-9bb3-cac6dceabf4c","type":"Microsoft.Authorization/roleAssignments","name":"e975bb7b-054a-46af-9bb3-cac6dceabf4c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-16T23:49:03.3523073Z","updatedOn":"2021-03-16T23:49:03.3523073Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f33005f1-10be-43e3-a87f-9e2f954fb2db","type":"Microsoft.Authorization/roleAssignments","name":"f33005f1-10be-43e3-a87f-9e2f954fb2db"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-17T00:39:07.7760935Z","updatedOn":"2021-03-17T00:39:07.7760935Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a747debe-4a66-476a-9577-0b1a640750ef","type":"Microsoft.Authorization/roleAssignments","name":"a747debe-4a66-476a-9577-0b1a640750ef"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-22T03:25:46.9853541Z","updatedOn":"2021-03-22T03:25:46.9853541Z","createdBy":"09914860-7ec9-4151-8431-31797899a359","updatedBy":"09914860-7ec9-4151-8431-31797899a359","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/815c5875-b3b0-4595-ba0f-5f3ab8b57871","type":"Microsoft.Authorization/roleAssignments","name":"815c5875-b3b0-4595-ba0f-5f3ab8b57871"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-25T00:58:10.6501184Z","updatedOn":"2021-03-25T00:58:10.6501184Z","createdBy":"243a3958-b8d3-4c74-ad3f-77b916846d93","updatedBy":"243a3958-b8d3-4c74-ad3f-77b916846d93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2aca810c-8d05-11eb-bd25-000d3a4359fa","type":"Microsoft.Authorization/roleAssignments","name":"2aca810c-8d05-11eb-bd25-000d3a4359fa"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-26T10:13:53.8091651Z","updatedOn":"2021-03-26T10:13:53.8091651Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d850ab91-9de8-4c27-8667-99ba5677c4c2","type":"Microsoft.Authorization/roleAssignments","name":"d850ab91-9de8-4c27-8667-99ba5677c4c2"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-26T10:24:43.4077585Z","updatedOn":"2021-03-26T10:24:43.4077585Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/779ad30e-8e1d-11eb-8aa9-000d3ac754e3","type":"Microsoft.Authorization/roleAssignments","name":"779ad30e-8e1d-11eb-8aa9-000d3ac754e3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-26T15:24:46.1413686Z","updatedOn":"2021-03-26T15:24:46.1413686Z","createdBy":"547f6960-a967-417a-a9a4-0f35fbdca11c","updatedBy":"547f6960-a967-417a-a9a4-0f35fbdca11c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/9a54bdb6-bda6-470e-935c-bfa23f846e98","type":"Microsoft.Authorization/roleAssignments","name":"9a54bdb6-bda6-470e-935c-bfa23f846e98"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-31T01:48:40.0937142Z","updatedOn":"2021-03-31T01:48:40.0937142Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/cd309898-e4ed-438e-b8f9-66fbb4d776bc","type":"Microsoft.Authorization/roleAssignments","name":"cd309898-e4ed-438e-b8f9-66fbb4d776bc"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-07-07T21:38:16.9089220Z","updatedOn":"2020-07-07T21:38:16.9089220Z","createdBy":"67f96a40-adf7-4f43-888f-33526c5cfa95","updatedBy":"67f96a40-adf7-4f43-888f-33526c5cfa95","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2d34e25a-c09a-11ea-893f-eefa4c05adfb","type":"Microsoft.Authorization/roleAssignments","name":"2d34e25a-c09a-11ea-893f-eefa4c05adfb"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-07-07T23:59:03.3157569Z","updatedOn":"2020-07-07T23:59:03.3157569Z","createdBy":"1ec25b73-94d5-4bf9-a56f-ca7d9bd4164c","updatedBy":"1ec25b73-94d5-4bf9-a56f-ca7d9bd4164c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/718cdad6-cc40-415b-aae3-f356df943d39","type":"Microsoft.Authorization/roleAssignments","name":"718cdad6-cc40-415b-aae3-f356df943d39"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/c92f8fe1-e3cb-47e8-a01d-0771814c0dad","condition":null,"conditionVersion":null,"createdOn":"2019-03-26T22:01:02.8423155Z","updatedOn":"2019-03-26T22:01:02.8423155Z","createdBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818","updatedBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/c92f8fe1-e3cb-47e8-a01d-0771814c0dad/providers/Microsoft.Authorization/roleAssignments/3d069c98-e792-47bd-b58a-399e2d42dbab","type":"Microsoft.Authorization/roleAssignments","name":"3d069c98-e792-47bd-b58a-399e2d42dbab"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/f25e0fa2-a7c8-4377-a976-54943a77a395","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/c92f8fe1-e3cb-47e8-a01d-0771814c0dad","condition":null,"conditionVersion":null,"createdOn":"2021-04-09T18:15:49.7063250Z","updatedOn":"2021-04-09T18:15:49.7063250Z","createdBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","updatedBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/c92f8fe1-e3cb-47e8-a01d-0771814c0dad/providers/Microsoft.Authorization/roleAssignments/a6b435df-80e6-4a7b-b109-2af5f373d238","type":"Microsoft.Authorization/roleAssignments","name":"a6b435df-80e6-4a7b-b109-2af5f373d238"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod","condition":null,"conditionVersion":null,"createdOn":"2019-03-26T22:01:02.9176787Z","updatedOn":"2019-03-26T22:01:02.9176787Z","createdBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818","updatedBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod/providers/Microsoft.Authorization/roleAssignments/4b771ea9-81de-4fc4-aa28-a3a0b9b4a320","type":"Microsoft.Authorization/roleAssignments","name":"4b771ea9-81de-4fc4-aa28-a3a0b9b4a320"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/36243c78-bf99-498c-9df9-86d9f8d28608","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod","condition":null,"conditionVersion":null,"createdOn":"2019-03-27T00:49:37.3000523Z","updatedOn":"2019-03-27T00:49:37.3000523Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod/providers/Microsoft.Authorization/roleAssignments/e6e1fffd-83f7-40c7-9f33-e56e2cf75b29","type":"Microsoft.Authorization/roleAssignments","name":"e6e1fffd-83f7-40c7-9f33-e56e2cf75b29"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/5d58bcaf-24a5-4b20-bdb6-eed9f69fbe4c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod","condition":null,"conditionVersion":null,"createdOn":"2019-03-27T00:50:08.3039053Z","updatedOn":"2019-03-27T00:50:08.3039053Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod/providers/Microsoft.Authorization/roleAssignments/3d01f56e-ee3a-41ed-a775-0e067546cb12","type":"Microsoft.Authorization/roleAssignments","name":"3d01f56e-ee3a-41ed-a775-0e067546cb12"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/72f988bf-86f1-41af-91ab-2d7cd011db47","condition":null,"conditionVersion":null,"createdOn":"2020-03-12T20:43:06.5941189Z","updatedOn":"2020-03-12T20:43:06.5941189Z","createdBy":"606f48c8-d219-4875-991d-ae6befaf0756","updatedBy":"606f48c8-d219-4875-991d-ae6befaf0756","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/72f988bf-86f1-41af-91ab-2d7cd011db47/providers/Microsoft.Authorization/roleAssignments/ad9e2cd7-0ff7-4931-9b17-656c8f17934b","type":"Microsoft.Authorization/roleAssignments","name":"ad9e2cd7-0ff7-4931-9b17-656c8f17934b"}]}' + string: '{"value":[{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/","condition":null,"conditionVersion":null,"createdOn":"2018-02-27T19:19:50.2663941Z","updatedOn":"2018-02-27T19:19:50.2663941Z","createdBy":null,"updatedBy":null,"delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Authorization/roleAssignments/3e883d24-b106-42ff-ad13-d7bf271b964d","type":"Microsoft.Authorization/roleAssignments","name":"3e883d24-b106-42ff-ad13-d7bf271b964d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-07-18T02:26:14.1665946Z","updatedOn":"2020-07-18T02:26:14.1665946Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/cfd7632d-7c5a-4531-82ce-890df8b4be96","type":"Microsoft.Authorization/roleAssignments","name":"cfd7632d-7c5a-4531-82ce-890df8b4be96"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-07-24T20:02:31.6333946Z","updatedOn":"2020-07-24T20:02:31.6333946Z","createdBy":"53bb8815-874d-4b05-9953-1158e05aa080","updatedBy":"53bb8815-874d-4b05-9953-1158e05aa080","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/fe8f6b65-9c14-4f43-bfe0-9c4e0778be5d","type":"Microsoft.Authorization/roleAssignments","name":"fe8f6b65-9c14-4f43-bfe0-9c4e0778be5d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4abbcc35-e782-43d8-92c5-2d3f1bd2253f","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-08-03T15:06:36.3777307Z","updatedOn":"2020-08-03T15:06:36.3777307Z","createdBy":"a5cae52f-366a-417b-b718-e73d17746c35","updatedBy":"a5cae52f-366a-417b-b718-e73d17746c35","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/71b88381-621b-464e-b17a-6cd9433ad5a3","type":"Microsoft.Authorization/roleAssignments","name":"71b88381-621b-464e-b17a-6cd9433ad5a3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-08-21T16:23:57.9905009Z","updatedOn":"2020-08-21T16:23:57.9905009Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/17d7954a-d32a-4181-b887-1de9a8a0c05a","type":"Microsoft.Authorization/roleAssignments","name":"17d7954a-d32a-4181-b887-1de9a8a0c05a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-08-21T16:23:58.0549229Z","updatedOn":"2020-08-21T16:23:58.0549229Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/9a853af7-252b-4315-9ee3-0b243e595f80","type":"Microsoft.Authorization/roleAssignments","name":"9a853af7-252b-4315-9ee3-0b243e595f80"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"Group","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-08-21T16:23:58.6582166Z","updatedOn":"2020-08-21T16:23:58.6582166Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/8ab72fbd-e5fe-4a7d-ae20-baad615d688d","type":"Microsoft.Authorization/roleAssignments","name":"8ab72fbd-e5fe-4a7d-ae20-baad615d688d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-08-21T16:23:59.5326945Z","updatedOn":"2020-08-21T16:23:59.5326945Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4ed77f1d-82a2-4a02-b48e-fa5776870280","type":"Microsoft.Authorization/roleAssignments","name":"4ed77f1d-82a2-4a02-b48e-fa5776870280"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-09-01T06:59:31.4619017Z","updatedOn":"2020-09-01T06:59:31.4619017Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/3c8813ac-e50e-4868-9e41-910258f3c33a","type":"Microsoft.Authorization/roleAssignments","name":"3c8813ac-e50e-4868-9e41-910258f3c33a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-09-02T01:52:45.8299382Z","updatedOn":"2020-09-02T01:52:45.8299382Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/3e21284b-6bd7-431a-81ae-ccaf56267ab5","type":"Microsoft.Authorization/roleAssignments","name":"3e21284b-6bd7-431a-81ae-ccaf56267ab5"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-09-07T09:44:47.3865537Z","updatedOn":"2020-09-07T09:44:47.3865537Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/79357f85-973d-4621-b1bd-d1ecb645e146","type":"Microsoft.Authorization/roleAssignments","name":"79357f85-973d-4621-b1bd-d1ecb645e146"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-09-15T09:02:04.9171272Z","updatedOn":"2020-09-15T09:02:04.9171272Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/3a2ff825-a078-475d-aa68-80640a14daa2","type":"Microsoft.Authorization/roleAssignments","name":"3a2ff825-a078-475d-aa68-80640a14daa2"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-09-23T13:13:35.8201314Z","updatedOn":"2020-09-23T13:13:35.8201314Z","createdBy":"a5cae52f-366a-417b-b718-e73d17746c35","updatedBy":"a5cae52f-366a-417b-b718-e73d17746c35","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d2ac0456-208f-4492-aecf-24bbcf14f246","type":"Microsoft.Authorization/roleAssignments","name":"d2ac0456-208f-4492-aecf-24bbcf14f246"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-09-24T00:04:10.5243862Z","updatedOn":"2020-09-24T00:04:10.5243862Z","createdBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","updatedBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/78586b2c-fdf9-11ea-9e5e-8851fb3f4911","type":"Microsoft.Authorization/roleAssignments","name":"78586b2c-fdf9-11ea-9e5e-8851fb3f4911"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-09-28T21:00:48.4819948Z","updatedOn":"2020-09-28T21:00:48.4819948Z","createdBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","updatedBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c3f148f0-1373-48ba-ba19-cd15cd8bf7a6","type":"Microsoft.Authorization/roleAssignments","name":"c3f148f0-1373-48ba-ba19-cd15cd8bf7a6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-09-29T10:55:39.3762731Z","updatedOn":"2020-09-29T10:55:39.3762731Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/41e159ac-411a-4eed-b319-5b92571d2950","type":"Microsoft.Authorization/roleAssignments","name":"41e159ac-411a-4eed-b319-5b92571d2950"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-09-30T10:01:31.6109834Z","updatedOn":"2020-09-30T10:01:31.6109834Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/728fd3ed-0a93-4cad-96b6-ca2b85b98308","type":"Microsoft.Authorization/roleAssignments","name":"728fd3ed-0a93-4cad-96b6-ca2b85b98308"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-05T23:00:10.5454113Z","updatedOn":"2020-10-05T23:00:10.5454113Z","createdBy":"9404195a-2cde-4a10-b88c-e7b41572bf31","updatedBy":"9404195a-2cde-4a10-b88c-e7b41572bf31","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f1bf27f9-8b8f-46f0-8b54-3d0b5a10455d","type":"Microsoft.Authorization/roleAssignments","name":"f1bf27f9-8b8f-46f0-8b54-3d0b5a10455d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-06T00:33:22.8792900Z","updatedOn":"2020-10-06T00:33:22.8792900Z","createdBy":"e29d79eb-7dfc-4583-b360-d45d39625c97","updatedBy":"e29d79eb-7dfc-4583-b360-d45d39625c97","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/24d0c5e6-0763-11eb-82a0-d636039e345c","type":"Microsoft.Authorization/roleAssignments","name":"24d0c5e6-0763-11eb-82a0-d636039e345c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-06T07:31:31.4976753Z","updatedOn":"2020-10-06T07:31:31.4976753Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/8166f5c5-5401-43da-8e43-553f34ba5c1f","type":"Microsoft.Authorization/roleAssignments","name":"8166f5c5-5401-43da-8e43-553f34ba5c1f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-08T00:00:18.1887050Z","updatedOn":"2020-10-08T00:00:18.1887050Z","createdBy":"09914860-7ec9-4151-8431-31797899a359","updatedBy":"09914860-7ec9-4151-8431-31797899a359","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/1e5c915f-e276-400d-a6f0-9b8f202aee98","type":"Microsoft.Authorization/roleAssignments","name":"1e5c915f-e276-400d-a6f0-9b8f202aee98"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-12T23:56:24.2246134Z","updatedOn":"2020-10-12T23:56:24.2246134Z","createdBy":"8ff738a5-abcd-4864-a162-6c18f7c9cbd9","updatedBy":"8ff738a5-abcd-4864-a162-6c18f7c9cbd9","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/dc3b4af3-e20c-4662-90fc-c3879a6c521c","type":"Microsoft.Authorization/roleAssignments","name":"dc3b4af3-e20c-4662-90fc-c3879a6c521c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-14T00:29:42.9981174Z","updatedOn":"2020-10-14T00:29:42.9981174Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c6af4ef5-80f6-4303-a641-45689a1646dc","type":"Microsoft.Authorization/roleAssignments","name":"c6af4ef5-80f6-4303-a641-45689a1646dc"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-15T03:35:43.8283383Z","updatedOn":"2020-10-15T03:35:43.8283383Z","createdBy":"2fda9054-fc12-457c-bb93-614f1f13426b","updatedBy":"2fda9054-fc12-457c-bb93-614f1f13426b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/64d06112-fceb-476a-b426-6843c25208ae","type":"Microsoft.Authorization/roleAssignments","name":"64d06112-fceb-476a-b426-6843c25208ae"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-16T16:42:17.7175670Z","updatedOn":"2020-10-16T16:42:17.7175670Z","createdBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","updatedBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/5854c7a2-cf00-46f9-9cc1-d977f34324df","type":"Microsoft.Authorization/roleAssignments","name":"5854c7a2-cf00-46f9-9cc1-d977f34324df"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-19T03:59:55.8915203Z","updatedOn":"2020-10-19T03:59:55.8915203Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6d449bc1-f3b3-4d07-94e5-9c78a799099f","type":"Microsoft.Authorization/roleAssignments","name":"6d449bc1-f3b3-4d07-94e5-9c78a799099f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-20T10:18:15.8804322Z","updatedOn":"2020-10-20T10:18:15.8804322Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/06a0e1fb-af3e-4fa2-815f-848a6d176225","type":"Microsoft.Authorization/roleAssignments","name":"06a0e1fb-af3e-4fa2-815f-848a6d176225"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-22T06:46:57.6492498Z","updatedOn":"2020-10-22T06:46:57.6492498Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/fc3170b4-3674-455d-b7af-8b3056ffd4bd","type":"Microsoft.Authorization/roleAssignments","name":"fc3170b4-3674-455d-b7af-8b3056ffd4bd"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-26T09:32:54.3608737Z","updatedOn":"2020-10-26T09:32:54.3608737Z","createdBy":"f058371f-0c0e-46bb-a5d4-f8aec637a467","updatedBy":"f058371f-0c0e-46bb-a5d4-f8aec637a467","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/209640f3-25d8-4e30-b857-d64304235a61","type":"Microsoft.Authorization/roleAssignments","name":"209640f3-25d8-4e30-b857-d64304235a61"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-29T18:40:28.9870114Z","updatedOn":"2020-10-29T18:40:28.9870114Z","createdBy":"febf609b-90d8-4d63-bffb-c12ccb094696","updatedBy":"febf609b-90d8-4d63-bffb-c12ccb094696","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/62a8bb96-2a77-4216-bd60-17b4b6e0a4c4","type":"Microsoft.Authorization/roleAssignments","name":"62a8bb96-2a77-4216-bd60-17b4b6e0a4c4"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-02T09:02:29.2637630Z","updatedOn":"2020-11-02T09:02:29.2637630Z","createdBy":"a5c919a9-89c9-45fb-880a-5e3e0b4fcb84","updatedBy":"a5c919a9-89c9-45fb-880a-5e3e0b4fcb84","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0ad1faa8-8680-4dec-a768-050e8349af33","type":"Microsoft.Authorization/roleAssignments","name":"0ad1faa8-8680-4dec-a768-050e8349af33"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-03T21:58:18.9397159Z","updatedOn":"2020-11-03T21:58:18.9397159Z","createdBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","updatedBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/fbba25e5-561b-4364-8755-515a24434085","type":"Microsoft.Authorization/roleAssignments","name":"fbba25e5-561b-4364-8755-515a24434085"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-03T22:00:44.4523883Z","updatedOn":"2020-11-03T22:00:44.4523883Z","createdBy":"478fdd79-cb11-45ed-8725-382321c0f7fd","updatedBy":"478fdd79-cb11-45ed-8725-382321c0f7fd","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/908aa5ac-22a2-413a-9333-fcb0a1ba2c59","type":"Microsoft.Authorization/roleAssignments","name":"908aa5ac-22a2-413a-9333-fcb0a1ba2c59"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-09T14:00:59.0347294Z","updatedOn":"2020-11-09T14:00:59.0347294Z","createdBy":"09914860-7ec9-4151-8431-31797899a359","updatedBy":"09914860-7ec9-4151-8431-31797899a359","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e9541f93-ea4a-4b1b-98bf-839fecfcaa22","type":"Microsoft.Authorization/roleAssignments","name":"e9541f93-ea4a-4b1b-98bf-839fecfcaa22"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-10T00:12:49.4151006Z","updatedOn":"2020-11-10T00:12:49.4151006Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c13e8fa1-ee9a-460a-910e-eaecab956199","type":"Microsoft.Authorization/roleAssignments","name":"c13e8fa1-ee9a-460a-910e-eaecab956199"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-10T00:15:19.8671906Z","updatedOn":"2020-11-10T00:15:19.8671906Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2246ec23-fc97-4e82-b67c-04743087f63d","type":"Microsoft.Authorization/roleAssignments","name":"2246ec23-fc97-4e82-b67c-04743087f63d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-10T12:48:43.1056692Z","updatedOn":"2020-11-10T12:48:43.1056692Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/dc924d22-cbb3-4f1d-a3c5-e803c30b8428","type":"Microsoft.Authorization/roleAssignments","name":"dc924d22-cbb3-4f1d-a3c5-e803c30b8428"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-18T00:19:23.7906492Z","updatedOn":"2020-11-18T00:19:23.7906492Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2e9f22fc-e6c1-4376-a65d-4553c0daee64","type":"Microsoft.Authorization/roleAssignments","name":"2e9f22fc-e6c1-4376-a65d-4553c0daee64"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-19T12:24:03.7391153Z","updatedOn":"2020-11-19T12:24:03.7391153Z","createdBy":"09914860-7ec9-4151-8431-31797899a359","updatedBy":"09914860-7ec9-4151-8431-31797899a359","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a29c25cf-6027-4031-8c68-12c812d4e4d7","type":"Microsoft.Authorization/roleAssignments","name":"a29c25cf-6027-4031-8c68-12c812d4e4d7"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-20T01:41:11.3355841Z","updatedOn":"2020-11-20T01:41:11.3355841Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e19e243a-0497-4c83-a9e1-b6d622c5cadf","type":"Microsoft.Authorization/roleAssignments","name":"e19e243a-0497-4c83-a9e1-b6d622c5cadf"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-24T06:03:13.0460581Z","updatedOn":"2020-11-24T06:03:13.0460581Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/bdd0bce4-39a5-47f7-836c-6295639cc0e1","type":"Microsoft.Authorization/roleAssignments","name":"bdd0bce4-39a5-47f7-836c-6295639cc0e1"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-26T03:01:44.6247690Z","updatedOn":"2020-11-26T03:01:44.6247690Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/7a3cddac-b7c4-4e13-ad0d-25a1f8db0394","type":"Microsoft.Authorization/roleAssignments","name":"7a3cddac-b7c4-4e13-ad0d-25a1f8db0394"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-12-02T07:09:05.7656072Z","updatedOn":"2020-12-02T07:09:05.7656072Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/62cb656e-c531-4da8-9837-fc956269c6e0","type":"Microsoft.Authorization/roleAssignments","name":"62cb656e-c531-4da8-9837-fc956269c6e0"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-12-04T03:28:35.2284735Z","updatedOn":"2020-12-04T03:28:35.2284735Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/9bc8c2c0-90e6-4346-a844-f9f401472a4d","type":"Microsoft.Authorization/roleAssignments","name":"9bc8c2c0-90e6-4346-a844-f9f401472a4d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-12-04T06:53:38.6367823Z","updatedOn":"2020-12-04T06:53:38.6367823Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/22700fef-7289-4005-937a-e4d08881da8c","type":"Microsoft.Authorization/roleAssignments","name":"22700fef-7289-4005-937a-e4d08881da8c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-12-04T08:16:05.6118991Z","updatedOn":"2020-12-04T08:16:05.6118991Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/15dbe638-db5c-45ad-9e4e-3bee28587281","type":"Microsoft.Authorization/roleAssignments","name":"15dbe638-db5c-45ad-9e4e-3bee28587281"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-12-07T12:37:13.7841746Z","updatedOn":"2020-12-07T12:37:13.7841746Z","createdBy":"a5c919a9-89c9-45fb-880a-5e3e0b4fcb84","updatedBy":"a5c919a9-89c9-45fb-880a-5e3e0b4fcb84","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c7eecba5-f37b-4db4-8818-a650f8b5b8de","type":"Microsoft.Authorization/roleAssignments","name":"c7eecba5-f37b-4db4-8818-a650f8b5b8de"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-12-18T08:00:24.9874024Z","updatedOn":"2020-12-18T08:00:24.9874024Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/7f60817e-27b5-486b-bbdb-b748bcb752d4","type":"Microsoft.Authorization/roleAssignments","name":"7f60817e-27b5-486b-bbdb-b748bcb752d4"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-12-24T11:54:27.7394442Z","updatedOn":"2020-12-24T11:54:27.7394442Z","createdBy":"e073490c-1bbd-4bac-9bd1-5584fec82ff0","updatedBy":"e073490c-1bbd-4bac-9bd1-5584fec82ff0","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/90534c90-22d5-4e15-ae4c-009340273136","type":"Microsoft.Authorization/roleAssignments","name":"90534c90-22d5-4e15-ae4c-009340273136"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-12-30T11:06:51.2887287Z","updatedOn":"2020-12-30T11:06:51.2887287Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/1cbe1756-4a8f-11eb-b753-720008210d90","type":"Microsoft.Authorization/roleAssignments","name":"1cbe1756-4a8f-11eb-b753-720008210d90"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-01-13T06:12:19.1847916Z","updatedOn":"2021-01-13T06:12:19.1847916Z","createdBy":"241cd743-2c33-4860-bd3a-1df659c06eef","updatedBy":"241cd743-2c33-4860-bd3a-1df659c06eef","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/498bf4f6-5566-11eb-a35b-acde48001122","type":"Microsoft.Authorization/roleAssignments","name":"498bf4f6-5566-11eb-a35b-acde48001122"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-01-13T21:55:46.0921361Z","updatedOn":"2021-01-13T21:55:46.0921361Z","createdBy":"478fdd79-cb11-45ed-8725-382321c0f7fd","updatedBy":"478fdd79-cb11-45ed-8725-382321c0f7fd","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d900b70f-235d-4d37-bf50-ca514e3001a1","type":"Microsoft.Authorization/roleAssignments","name":"d900b70f-235d-4d37-bf50-ca514e3001a1"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-01-26T20:35:14.0496305Z","updatedOn":"2021-01-26T20:35:14.0496305Z","createdBy":"febf609b-90d8-4d63-bffb-c12ccb094696","updatedBy":"febf609b-90d8-4d63-bffb-c12ccb094696","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/be76f04c-520c-4d95-b6b3-e7fce3f55948","type":"Microsoft.Authorization/roleAssignments","name":"be76f04c-520c-4d95-b6b3-e7fce3f55948"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-04T05:54:29.9691652Z","updatedOn":"2021-02-04T05:54:29.9691652Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4710c459-25c6-45b9-a906-3687060df1a2","type":"Microsoft.Authorization/roleAssignments","name":"4710c459-25c6-45b9-a906-3687060df1a2"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-04T06:52:05.2038586Z","updatedOn":"2021-02-04T06:52:05.2038586Z","createdBy":"8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9","updatedBy":"8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/fdf6a314-3605-4944-96c1-08b7364dba54","type":"Microsoft.Authorization/roleAssignments","name":"fdf6a314-3605-4944-96c1-08b7364dba54"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-05T01:06:29.5543610Z","updatedOn":"2021-02-05T01:06:29.5543610Z","createdBy":"53bb8815-874d-4b05-9953-1158e05aa080","updatedBy":"53bb8815-874d-4b05-9953-1158e05aa080","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f2caf434-97c9-440f-9ad3-541ae6bd9528","type":"Microsoft.Authorization/roleAssignments","name":"f2caf434-97c9-440f-9ad3-541ae6bd9528"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-11T22:26:14.1444510Z","updatedOn":"2021-02-11T22:26:14.1444510Z","createdBy":"4aed2078-2d27-4c18-95f7-fef3c0fe91ca","updatedBy":"4aed2078-2d27-4c18-95f7-fef3c0fe91ca","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a8602643-a0c2-45c4-980c-dc2b618d13b8","type":"Microsoft.Authorization/roleAssignments","name":"a8602643-a0c2-45c4-980c-dc2b618d13b8"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-16T19:18:13.7025371Z","updatedOn":"2021-02-16T19:18:13.7025371Z","createdBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","updatedBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b2d72c2f-d4c0-4c45-9908-90fda72c868d","type":"Microsoft.Authorization/roleAssignments","name":"b2d72c2f-d4c0-4c45-9908-90fda72c868d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-16T22:20:01.8102926Z","updatedOn":"2021-02-16T22:20:01.8102926Z","createdBy":"53bb8815-874d-4b05-9953-1158e05aa080","updatedBy":"53bb8815-874d-4b05-9953-1158e05aa080","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b7aa1f69-60a8-4bb9-a624-857052576335","type":"Microsoft.Authorization/roleAssignments","name":"b7aa1f69-60a8-4bb9-a624-857052576335"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-17T00:37:53.4699042Z","updatedOn":"2021-02-17T00:37:53.4699042Z","createdBy":"e5ad6d43-d6ac-4061-84cc-f7cb826200a0","updatedBy":"e5ad6d43-d6ac-4061-84cc-f7cb826200a0","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c06abb18-9697-41f9-9410-ff0ee9b13ab9","type":"Microsoft.Authorization/roleAssignments","name":"c06abb18-9697-41f9-9410-ff0ee9b13ab9"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-17T01:26:55.0758483Z","updatedOn":"2021-02-17T01:26:55.0758483Z","createdBy":"df7de5cc-1fc8-462d-be1d-bcbc2576454a","updatedBy":"df7de5cc-1fc8-462d-be1d-bcbc2576454a","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/9812b416-33c9-4b88-bcdb-6b8406dd319f","type":"Microsoft.Authorization/roleAssignments","name":"9812b416-33c9-4b88-bcdb-6b8406dd319f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-17T01:38:17.8125104Z","updatedOn":"2021-02-17T01:38:17.8125104Z","createdBy":"478fdd79-cb11-45ed-8725-382321c0f7fd","updatedBy":"478fdd79-cb11-45ed-8725-382321c0f7fd","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/82e0c83f-b7dd-49f6-b501-ff05951db69d","type":"Microsoft.Authorization/roleAssignments","name":"82e0c83f-b7dd-49f6-b501-ff05951db69d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-17T01:57:59.0655876Z","updatedOn":"2021-02-17T01:57:59.0655876Z","createdBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","updatedBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c9f0c587-7611-45ba-afb2-200499c8d4e0","type":"Microsoft.Authorization/roleAssignments","name":"c9f0c587-7611-45ba-afb2-200499c8d4e0"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-19T01:25:51.9967288Z","updatedOn":"2021-02-19T01:25:51.9967288Z","createdBy":"9404195a-2cde-4a10-b88c-e7b41572bf31","updatedBy":"9404195a-2cde-4a10-b88c-e7b41572bf31","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2e4ab306-7ae7-4867-8e22-90215bdbeb9a","type":"Microsoft.Authorization/roleAssignments","name":"2e4ab306-7ae7-4867-8e22-90215bdbeb9a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-25T05:50:56.3200305Z","updatedOn":"2021-02-25T05:50:56.3200305Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/5f5c2b9b-b76d-442c-8442-cdca92ea4450","type":"Microsoft.Authorization/roleAssignments","name":"5f5c2b9b-b76d-442c-8442-cdca92ea4450"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-25T06:10:47.8694922Z","updatedOn":"2021-02-25T06:10:47.8694922Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ded78aee-c6bf-4c93-a2c6-4c3388c55936","type":"Microsoft.Authorization/roleAssignments","name":"ded78aee-c6bf-4c93-a2c6-4c3388c55936"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-05-01T19:36:24.0325431Z","updatedOn":"2021-05-01T19:36:24.0325431Z","createdBy":"5ecb1531-0d8c-4a89-93cb-1b48b2224358","updatedBy":"5ecb1531-0d8c-4a89-93cb-1b48b2224358","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a11a3823-3c3c-4a0a-ab63-e809248b39d6","type":"Microsoft.Authorization/roleAssignments","name":"a11a3823-3c3c-4a0a-ab63-e809248b39d6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-05-01T21:51:55.4255791Z","updatedOn":"2021-05-01T21:51:55.4255791Z","createdBy":"ad232e99-5e1b-414e-aa53-96ae40d39f3e","updatedBy":"ad232e99-5e1b-414e-aa53-96ae40d39f3e","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/36175f2d-f556-464e-a509-19cbb3f45909","type":"Microsoft.Authorization/roleAssignments","name":"36175f2d-f556-464e-a509-19cbb3f45909"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-28T18:57:43.7674845Z","updatedOn":"2020-04-28T18:57:43.7674845Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/89ef5a42-558f-4dc2-a21d-61f47f87c5aa","type":"Microsoft.Authorization/roleAssignments","name":"89ef5a42-558f-4dc2-a21d-61f47f87c5aa"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-28T17:11:43.4784066Z","updatedOn":"2020-04-28T17:11:43.4784066Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c7a17f89-6fda-4d7f-9024-279fe7c46b9e","type":"Microsoft.Authorization/roleAssignments","name":"c7a17f89-6fda-4d7f-9024-279fe7c46b9e"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-28T17:15:20.6839476Z","updatedOn":"2020-04-28T17:15:20.6839476Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b677c994-5d2c-4d21-8772-4a770c383a69","type":"Microsoft.Authorization/roleAssignments","name":"b677c994-5d2c-4d21-8772-4a770c383a69"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-29T03:41:37.0700725Z","updatedOn":"2020-04-29T03:41:37.0700725Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f2790ff5-c68c-4783-bfbe-0c7210b1320d","type":"Microsoft.Authorization/roleAssignments","name":"f2790ff5-c68c-4783-bfbe-0c7210b1320d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-29T03:43:26.9737395Z","updatedOn":"2020-04-29T03:43:26.9737395Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/64ded23e-c648-452f-a53e-2bb0b1947293","type":"Microsoft.Authorization/roleAssignments","name":"64ded23e-c648-452f-a53e-2bb0b1947293"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-28T17:14:00.0562525Z","updatedOn":"2020-04-28T17:14:00.0562525Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/eaece071-786c-479c-a0b0-5c41d876600c","type":"Microsoft.Authorization/roleAssignments","name":"eaece071-786c-479c-a0b0-5c41d876600c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-01T17:17:32.8545165Z","updatedOn":"2020-05-01T17:17:32.8545165Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/5b13726e-0868-475f-9d6f-e19ed5886a5e","type":"Microsoft.Authorization/roleAssignments","name":"5b13726e-0868-475f-9d6f-e19ed5886a5e"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-01T17:22:00.3902257Z","updatedOn":"2020-05-01T17:22:00.3902257Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/aa99e113-3d5e-4fb5-ac2a-f34b0bf0aa32","type":"Microsoft.Authorization/roleAssignments","name":"aa99e113-3d5e-4fb5-ac2a-f34b0bf0aa32"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-29T00:04:19.0452651Z","updatedOn":"2020-04-29T00:04:19.0452651Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/593f0b85-3d78-43c8-a842-abfb4eab0a9b","type":"Microsoft.Authorization/roleAssignments","name":"593f0b85-3d78-43c8-a842-abfb4eab0a9b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2018-05-03T20:35:52.7357152Z","updatedOn":"2018-05-03T20:35:52.7357152Z","createdBy":"b87c5c16-4f0e-4af2-9b2e-20f25d6b5a3f","updatedBy":"b87c5c16-4f0e-4af2-9b2e-20f25d6b5a3f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4665dbd4-b405-4cc3-9321-1bee27e6101c","type":"Microsoft.Authorization/roleAssignments","name":"4665dbd4-b405-4cc3-9321-1bee27e6101c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-11T13:25:07.0669336Z","updatedOn":"2020-02-11T13:25:07.0669336Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b8056eb0-60e9-433c-85f9-f2c9289fc1a2","type":"Microsoft.Authorization/roleAssignments","name":"b8056eb0-60e9-433c-85f9-f2c9289fc1a2"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-04-22T06:41:53.1813823Z","updatedOn":"2019-04-22T06:41:53.1813823Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6b620efc-0123-402f-8462-1f1b47168729","type":"Microsoft.Authorization/roleAssignments","name":"6b620efc-0123-402f-8462-1f1b47168729"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-21T03:42:13.8891609Z","updatedOn":"2020-02-21T03:42:13.8891609Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c41b0416-12e4-49bb-9e35-411e4f409102","type":"Microsoft.Authorization/roleAssignments","name":"c41b0416-12e4-49bb-9e35-411e4f409102"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-27T17:05:13.7273840Z","updatedOn":"2020-04-27T17:05:13.7273840Z","createdBy":"ef34ad48-5675-4480-8fe7-a6cc394b97c4","updatedBy":"ef34ad48-5675-4480-8fe7-a6cc394b97c4","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/9e06e920-0fc3-47a8-867a-ce7804818059","type":"Microsoft.Authorization/roleAssignments","name":"9e06e920-0fc3-47a8-867a-ce7804818059"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-22T07:53:45.7192431Z","updatedOn":"2020-04-22T07:53:45.7192431Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0d01cbd3-f3e3-4712-95c6-cf07a0224887","type":"Microsoft.Authorization/roleAssignments","name":"0d01cbd3-f3e3-4712-95c6-cf07a0224887"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-10-25T03:10:56.6742842Z","updatedOn":"2019-10-25T03:10:56.6742842Z","createdBy":"09914860-7ec9-4151-8431-31797899a359","updatedBy":"09914860-7ec9-4151-8431-31797899a359","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c94cb5f8-6d0c-4405-be47-b599a43f2bde","type":"Microsoft.Authorization/roleAssignments","name":"c94cb5f8-6d0c-4405-be47-b599a43f2bde"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-08T22:51:35.8836739Z","updatedOn":"2020-04-08T22:51:35.8836739Z","createdBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","updatedBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e35806bd-ef22-4a25-80d9-9429df6254c6","type":"Microsoft.Authorization/roleAssignments","name":"e35806bd-ef22-4a25-80d9-9429df6254c6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2017-06-16T23:32:44.3548155Z","updatedOn":"2017-06-16T23:32:44.3548155Z","createdBy":"f115a02a-6f42-4297-aabb-f0f6022ee60b","updatedBy":"f115a02a-6f42-4297-aabb-f0f6022ee60b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c2330a8b-4550-4dcf-841a-88553080079b","type":"Microsoft.Authorization/roleAssignments","name":"c2330a8b-4550-4dcf-841a-88553080079b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-03-25T08:26:29.8675330Z","updatedOn":"2020-03-25T08:26:29.8675330Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d00f7f11-a22d-4bb3-a016-07d2ba2b13c0","type":"Microsoft.Authorization/roleAssignments","name":"d00f7f11-a22d-4bb3-a016-07d2ba2b13c0"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-09-14T02:15:59.1199760Z","updatedOn":"2019-09-14T02:15:59.1199760Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/593989ab-0941-462b-aeba-5aba52f8755b","type":"Microsoft.Authorization/roleAssignments","name":"593989ab-0941-462b-aeba-5aba52f8755b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-14T21:19:25.3668580Z","updatedOn":"2020-05-14T21:19:25.3668580Z","createdBy":"82f25a3e-d28d-4c27-90d6-d92c79d98936","updatedBy":"82f25a3e-d28d-4c27-90d6-d92c79d98936","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/668f3f0e-bbb7-42d3-9ab1-1482922c06a7","type":"Microsoft.Authorization/roleAssignments","name":"668f3f0e-bbb7-42d3-9ab1-1482922c06a7"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-07T00:35:48.4591165Z","updatedOn":"2020-05-07T00:35:48.4591165Z","createdBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","updatedBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ff740118-1a0b-4bf5-8f2a-c555e9923ea3","type":"Microsoft.Authorization/roleAssignments","name":"ff740118-1a0b-4bf5-8f2a-c555e9923ea3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-10-10T19:44:02.6434834Z","updatedOn":"2019-10-10T19:44:02.6434834Z","createdBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","updatedBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ecd71fb9-414b-496d-ba90-8be383086b97","type":"Microsoft.Authorization/roleAssignments","name":"ecd71fb9-414b-496d-ba90-8be383086b97"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-09-23T02:06:16.8281713Z","updatedOn":"2019-09-23T02:06:16.8281713Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a301a171-6505-42c5-a8b2-bcf09674b59c","type":"Microsoft.Authorization/roleAssignments","name":"a301a171-6505-42c5-a8b2-bcf09674b59c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-05T05:29:51.2703674Z","updatedOn":"2020-02-05T05:29:51.2703674Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/382ca8aa-eaac-49fb-8a33-ad06c08ae449","type":"Microsoft.Authorization/roleAssignments","name":"382ca8aa-eaac-49fb-8a33-ad06c08ae449"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-01-08T12:55:39.9212416Z","updatedOn":"2020-01-08T12:55:39.9212416Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/081427e9-c895-4903-8573-77da86dcdae1","type":"Microsoft.Authorization/roleAssignments","name":"081427e9-c895-4903-8573-77da86dcdae1"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-20T22:22:14.0297869Z","updatedOn":"2020-04-20T22:22:14.0297869Z","createdBy":"53bb8815-874d-4b05-9953-1158e05aa080","updatedBy":"53bb8815-874d-4b05-9953-1158e05aa080","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/966ec633-e653-441f-910c-8536f7899f69","type":"Microsoft.Authorization/roleAssignments","name":"966ec633-e653-441f-910c-8536f7899f69"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-30T06:27:35.9310363Z","updatedOn":"2020-04-30T06:27:35.9310363Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6a1327e4-100e-43ee-b04e-1403969b805b","type":"Microsoft.Authorization/roleAssignments","name":"6a1327e4-100e-43ee-b04e-1403969b805b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-06-13T06:44:49.9960198Z","updatedOn":"2019-06-13T06:44:49.9960198Z","createdBy":"f058371f-0c0e-46bb-a5d4-f8aec637a467","updatedBy":"f058371f-0c0e-46bb-a5d4-f8aec637a467","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/33958269-41a0-400a-91a1-6303d954c8f0","type":"Microsoft.Authorization/roleAssignments","name":"33958269-41a0-400a-91a1-6303d954c8f0"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-01-27T19:05:00.2764645Z","updatedOn":"2020-01-27T19:05:00.2764645Z","createdBy":"4744d4c9-1026-421b-87ce-b102213af921","updatedBy":"4744d4c9-1026-421b-87ce-b102213af921","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f0575c6a-aabc-4a2e-b169-379b64f33f8a","type":"Microsoft.Authorization/roleAssignments","name":"f0575c6a-aabc-4a2e-b169-379b64f33f8a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-26T16:21:06.7365340Z","updatedOn":"2020-05-26T16:21:06.7365340Z","createdBy":"ef34ad48-5675-4480-8fe7-a6cc394b97c4","updatedBy":"ef34ad48-5675-4480-8fe7-a6cc394b97c4","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/19a3bbc1-fca8-4ec6-b0e9-7d6861207524","type":"Microsoft.Authorization/roleAssignments","name":"19a3bbc1-fca8-4ec6-b0e9-7d6861207524"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-10-26T00:57:22.8153925Z","updatedOn":"2019-10-26T00:57:22.8153925Z","createdBy":"2fda9054-fc12-457c-bb93-614f1f13426b","updatedBy":"2fda9054-fc12-457c-bb93-614f1f13426b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/8722a1fb-4828-4f43-aa59-0385179b3a05","type":"Microsoft.Authorization/roleAssignments","name":"8722a1fb-4828-4f43-aa59-0385179b3a05"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-30T06:27:35.9911337Z","updatedOn":"2020-04-30T06:27:35.9911337Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/85726f1f-9e4c-415a-b56f-d8e799aaa96d","type":"Microsoft.Authorization/roleAssignments","name":"85726f1f-9e4c-415a-b56f-d8e799aaa96d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-27T21:08:14.8085926Z","updatedOn":"2020-02-27T21:08:14.8085926Z","createdBy":"ef34ad48-5675-4480-8fe7-a6cc394b97c4","updatedBy":"ef34ad48-5675-4480-8fe7-a6cc394b97c4","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/742a0f1a-fbf1-46f1-929d-de8871fc1193","type":"Microsoft.Authorization/roleAssignments","name":"742a0f1a-fbf1-46f1-929d-de8871fc1193"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-01T23:19:45.4260771Z","updatedOn":"2020-05-01T23:19:45.4260771Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/90e2b70f-7104-4f75-b6a5-e7226e497378","type":"Microsoft.Authorization/roleAssignments","name":"90e2b70f-7104-4f75-b6a5-e7226e497378"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-04-16T02:04:22.4782415Z","updatedOn":"2019-04-16T02:04:22.4782415Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/bacdb283-653c-47eb-a578-11743d7898f8","type":"Microsoft.Authorization/roleAssignments","name":"bacdb283-653c-47eb-a578-11743d7898f8"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-04T02:07:58.4393297Z","updatedOn":"2020-02-04T02:07:58.4393297Z","createdBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","updatedBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e46a2f7d-e088-47e2-952f-a0a4818b3825","type":"Microsoft.Authorization/roleAssignments","name":"e46a2f7d-e088-47e2-952f-a0a4818b3825"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-03-26T08:05:19.1222694Z","updatedOn":"2020-03-26T08:05:19.1222694Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/1f46adf6-1c16-4743-b3ac-35cd30452c6b","type":"Microsoft.Authorization/roleAssignments","name":"1f46adf6-1c16-4743-b3ac-35cd30452c6b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-07T00:35:48.6619455Z","updatedOn":"2020-05-07T00:35:48.6619455Z","createdBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","updatedBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/052d4514-701f-41dd-8171-4e8cfab148a6","type":"Microsoft.Authorization/roleAssignments","name":"052d4514-701f-41dd-8171-4e8cfab148a6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-03-27T09:09:33.7347978Z","updatedOn":"2020-03-27T09:09:33.7347978Z","createdBy":"09914860-7ec9-4151-8431-31797899a359","updatedBy":"09914860-7ec9-4151-8431-31797899a359","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6d355b17-e9d6-47b7-9181-b54ad0083793","type":"Microsoft.Authorization/roleAssignments","name":"6d355b17-e9d6-47b7-9181-b54ad0083793"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-03-19T02:50:30.0038186Z","updatedOn":"2019-03-19T02:50:30.0038186Z","createdBy":"b47f071a-d6c9-4297-954e-83151fff489b","updatedBy":"b47f071a-d6c9-4297-954e-83151fff489b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/26adec15-a0e4-4b2e-a437-9b545b9723fc","type":"Microsoft.Authorization/roleAssignments","name":"26adec15-a0e4-4b2e-a437-9b545b9723fc"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-04-17T00:50:00.2288905Z","updatedOn":"2019-04-17T00:50:00.2288905Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0e873fd7-4bdb-4df5-a510-c15f3ce99cd6","type":"Microsoft.Authorization/roleAssignments","name":"0e873fd7-4bdb-4df5-a510-c15f3ce99cd6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-23T03:53:49.9358521Z","updatedOn":"2020-06-23T03:53:49.9358521Z","createdBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","updatedBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/02a0e839-adb0-448c-84f0-3a3f82ef8430","type":"Microsoft.Authorization/roleAssignments","name":"02a0e839-adb0-448c-84f0-3a3f82ef8430"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-08T07:40:31.7235048Z","updatedOn":"2020-05-08T07:40:31.7235048Z","createdBy":"09914860-7ec9-4151-8431-31797899a359","updatedBy":"09914860-7ec9-4151-8431-31797899a359","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/cbfa0c0c-2653-4fb8-b9e5-d41bd96053a7","type":"Microsoft.Authorization/roleAssignments","name":"cbfa0c0c-2653-4fb8-b9e5-d41bd96053a7"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-02T17:06:57.1466814Z","updatedOn":"2020-06-02T17:06:57.1466814Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ab903dde-d229-446d-b429-c1618b8aef5e","type":"Microsoft.Authorization/roleAssignments","name":"ab903dde-d229-446d-b429-c1618b8aef5e"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-29T03:34:09.1452976Z","updatedOn":"2020-04-29T03:34:09.1452976Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/feb76a5e-7bed-4bc8-b481-14bbb109bc33","type":"Microsoft.Authorization/roleAssignments","name":"feb76a5e-7bed-4bc8-b481-14bbb109bc33"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-15T10:16:20.3297126Z","updatedOn":"2020-04-15T10:16:20.3297126Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0db6da93-ca6a-4b5a-8c44-7a3f2003d03c","type":"Microsoft.Authorization/roleAssignments","name":"0db6da93-ca6a-4b5a-8c44-7a3f2003d03c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-01-13T05:17:20.7354482Z","updatedOn":"2020-01-13T05:17:20.7354482Z","createdBy":"09914860-7ec9-4151-8431-31797899a359","updatedBy":"09914860-7ec9-4151-8431-31797899a359","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e5a79ae7-7137-416f-a2cd-4b273ca62d5f","type":"Microsoft.Authorization/roleAssignments","name":"e5a79ae7-7137-416f-a2cd-4b273ca62d5f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-24T19:37:33.7189313Z","updatedOn":"2020-02-24T19:37:33.7189313Z","createdBy":"f31399da-e7ed-4fe4-a825-a9dff4f53481","updatedBy":"f31399da-e7ed-4fe4-a825-a9dff4f53481","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d1964993-fb9d-4be1-982f-fcd6ca7cd493","type":"Microsoft.Authorization/roleAssignments","name":"d1964993-fb9d-4be1-982f-fcd6ca7cd493"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2017-05-22T23:26:54.3208785Z","updatedOn":"2017-05-22T23:26:54.3208785Z","createdBy":"b09a0928-3846-4efb-a579-8540fb78b0a3","updatedBy":"b09a0928-3846-4efb-a579-8540fb78b0a3","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2d149cfb-bc18-48f8-b769-8a0cafd11bee","type":"Microsoft.Authorization/roleAssignments","name":"2d149cfb-bc18-48f8-b769-8a0cafd11bee"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-07T02:09:11.3539299Z","updatedOn":"2020-05-07T02:09:11.3539299Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/5124598f-5127-4efc-9b15-9276948fe202","type":"Microsoft.Authorization/roleAssignments","name":"5124598f-5127-4efc-9b15-9276948fe202"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-18T23:40:26.3271411Z","updatedOn":"2020-02-18T23:40:26.3271411Z","createdBy":"f31399da-e7ed-4fe4-a825-a9dff4f53481","updatedBy":"f31399da-e7ed-4fe4-a825-a9dff4f53481","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/27f9c0cd-fbc1-4810-a9f9-804efad4beec","type":"Microsoft.Authorization/roleAssignments","name":"27f9c0cd-fbc1-4810-a9f9-804efad4beec"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-02T10:52:21.7337863Z","updatedOn":"2020-04-02T10:52:21.7337863Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/54ff849a-1ced-4a28-b675-6bca70a82033","type":"Microsoft.Authorization/roleAssignments","name":"54ff849a-1ced-4a28-b675-6bca70a82033"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-16T07:25:52.5298801Z","updatedOn":"2020-04-16T07:25:52.5298801Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/65fd85a7-3057-4f7f-86bd-0c36a612f483","type":"Microsoft.Authorization/roleAssignments","name":"65fd85a7-3057-4f7f-86bd-0c36a612f483"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-22T21:44:38.6097605Z","updatedOn":"2020-05-22T21:44:38.6097605Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0a2d331c-57c6-48be-9d5f-f49da541fc7e","type":"Microsoft.Authorization/roleAssignments","name":"0a2d331c-57c6-48be-9d5f-f49da541fc7e"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-04T21:30:10.6978339Z","updatedOn":"2020-02-04T21:30:10.6978339Z","createdBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","updatedBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/91ea4b88-79c1-4163-bf5c-760b8add6d79","type":"Microsoft.Authorization/roleAssignments","name":"91ea4b88-79c1-4163-bf5c-760b8add6d79"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-03T05:33:46.3567584Z","updatedOn":"2020-04-03T05:33:46.3567584Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4f9fed67-4a0b-4f9d-870e-66a508cb73eb","type":"Microsoft.Authorization/roleAssignments","name":"4f9fed67-4a0b-4f9d-870e-66a508cb73eb"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-01-24T16:54:45.9590630Z","updatedOn":"2020-01-24T16:54:45.9590630Z","createdBy":"b87c5c16-4f0e-4af2-9b2e-20f25d6b5a3f","updatedBy":"b87c5c16-4f0e-4af2-9b2e-20f25d6b5a3f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/04741a9e-7efb-41cc-b79c-8c725cc7563b","type":"Microsoft.Authorization/roleAssignments","name":"04741a9e-7efb-41cc-b79c-8c725cc7563b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-08-02T07:18:21.5783958Z","updatedOn":"2019-08-02T07:18:21.5783958Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f4afc41d-352f-4bce-84f1-fad9f832f274","type":"Microsoft.Authorization/roleAssignments","name":"f4afc41d-352f-4bce-84f1-fad9f832f274"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-03T17:48:07.2484442Z","updatedOn":"2020-02-03T17:48:07.2484442Z","createdBy":"ef34ad48-5675-4480-8fe7-a6cc394b97c4","updatedBy":"ef34ad48-5675-4480-8fe7-a6cc394b97c4","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/31005f88-9e70-483d-acc8-0f9cc8066b13","type":"Microsoft.Authorization/roleAssignments","name":"31005f88-9e70-483d-acc8-0f9cc8066b13"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-04T21:07:59.9113196Z","updatedOn":"2020-02-04T21:07:59.9113196Z","createdBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","updatedBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ea60c465-aef4-4494-9478-636615243841","type":"Microsoft.Authorization/roleAssignments","name":"ea60c465-aef4-4494-9478-636615243841"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-11-02T00:40:13.2696018Z","updatedOn":"2019-11-02T00:40:13.2696018Z","createdBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","updatedBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/1c0ee413-025e-422c-a8d0-2b8dd410b9b8","type":"Microsoft.Authorization/roleAssignments","name":"1c0ee413-025e-422c-a8d0-2b8dd410b9b8"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-04T21:37:15.2971418Z","updatedOn":"2020-02-04T21:37:15.2971418Z","createdBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","updatedBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/39e99cf2-95c7-4585-8703-998450cafea0","type":"Microsoft.Authorization/roleAssignments","name":"39e99cf2-95c7-4585-8703-998450cafea0"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2018-11-15T22:27:15.6601349Z","updatedOn":"2018-11-15T22:27:15.6601349Z","createdBy":"38d88515-7eb8-4c96-804f-4edcc95b9dff","updatedBy":"38d88515-7eb8-4c96-804f-4edcc95b9dff","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/418847ec-df97-4b29-9711-fc833817e5d6","type":"Microsoft.Authorization/roleAssignments","name":"418847ec-df97-4b29-9711-fc833817e5d6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-08-28T14:20:52.7506898Z","updatedOn":"2019-08-28T14:20:52.7506898Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/715fd118-93b8-4b09-822d-48de5afb21e3","type":"Microsoft.Authorization/roleAssignments","name":"715fd118-93b8-4b09-822d-48de5afb21e3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-01-06T05:22:04.7673784Z","updatedOn":"2019-01-06T05:22:04.7673784Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ba5c8600-8cc9-4778-9735-c3d57d26e50d","type":"Microsoft.Authorization/roleAssignments","name":"ba5c8600-8cc9-4778-9735-c3d57d26e50d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-02T16:21:28.6789246Z","updatedOn":"2020-06-02T16:21:28.6789246Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/bd6bf5d5-fc1c-4fcd-81f3-0d11d3ff9f42","type":"Microsoft.Authorization/roleAssignments","name":"bd6bf5d5-fc1c-4fcd-81f3-0d11d3ff9f42"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-12-13T02:01:30.4183889Z","updatedOn":"2019-12-13T02:01:30.4183889Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4623d907-e6fa-4e2a-ad82-18e34456d655","type":"Microsoft.Authorization/roleAssignments","name":"4623d907-e6fa-4e2a-ad82-18e34456d655"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-03-25T08:37:49.6357044Z","updatedOn":"2020-03-25T08:37:49.6357044Z","createdBy":"471feb6d-5a83-439e-af7b-311f4eee2d0c","updatedBy":"471feb6d-5a83-439e-af7b-311f4eee2d0c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b332ab7b-a956-4e37-acc1-e4df2e9eedfa","type":"Microsoft.Authorization/roleAssignments","name":"b332ab7b-a956-4e37-acc1-e4df2e9eedfa"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-21T03:52:37.6293834Z","updatedOn":"2020-02-21T03:52:37.6293834Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2402af90-d517-4d1d-9ca1-7b85dfc17099","type":"Microsoft.Authorization/roleAssignments","name":"2402af90-d517-4d1d-9ca1-7b85dfc17099"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-28T01:00:41.8419503Z","updatedOn":"2020-04-28T01:00:41.8419503Z","createdBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","updatedBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4da426ac-99d3-442d-b868-532f3582429b","type":"Microsoft.Authorization/roleAssignments","name":"4da426ac-99d3-442d-b868-532f3582429b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-12-04T03:17:07.6866234Z","updatedOn":"2019-12-04T03:17:07.6866234Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b76e5f32-b37f-482c-a7a4-98ef34ecea8a","type":"Microsoft.Authorization/roleAssignments","name":"b76e5f32-b37f-482c-a7a4-98ef34ecea8a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-27T23:12:42.6196328Z","updatedOn":"2020-04-27T23:12:42.6196328Z","createdBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","updatedBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/bb61d9e5-3664-42b4-b41c-bc3e34701de6","type":"Microsoft.Authorization/roleAssignments","name":"bb61d9e5-3664-42b4-b41c-bc3e34701de6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-03-02T20:50:25.6909226Z","updatedOn":"2020-03-02T20:50:25.6909226Z","createdBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","updatedBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/95a9d3e8-db32-4a7f-ad9c-46054677ff39","type":"Microsoft.Authorization/roleAssignments","name":"95a9d3e8-db32-4a7f-ad9c-46054677ff39"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-16T20:48:38.9374068Z","updatedOn":"2020-04-16T20:48:38.9374068Z","createdBy":"c66b4485-d88a-4007-b687-4867ca3c076f","updatedBy":"c66b4485-d88a-4007-b687-4867ca3c076f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/45d89866-af64-4364-b886-7f5ec154c3d4","type":"Microsoft.Authorization/roleAssignments","name":"45d89866-af64-4364-b886-7f5ec154c3d4"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-20T08:42:00.9560545Z","updatedOn":"2020-04-20T08:42:00.9560545Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/7a41b62f-97d4-4f4c-8bfc-4a8dd708e00f","type":"Microsoft.Authorization/roleAssignments","name":"7a41b62f-97d4-4f4c-8bfc-4a8dd708e00f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-19T00:23:10.4351839Z","updatedOn":"2020-06-19T00:23:10.4351839Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c1eb6cee-ee7a-4ed5-a683-846f01688ab9","type":"Microsoft.Authorization/roleAssignments","name":"c1eb6cee-ee7a-4ed5-a683-846f01688ab9"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-07T01:58:45.6145522Z","updatedOn":"2020-05-07T01:58:45.6145522Z","createdBy":"4b5234ab-8f8d-429e-9e1c-ea5799b66ffa","updatedBy":"4b5234ab-8f8d-429e-9e1c-ea5799b66ffa","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/9d42f5af-b9f8-4cf4-b017-612fdbb4f8a7","type":"Microsoft.Authorization/roleAssignments","name":"9d42f5af-b9f8-4cf4-b017-612fdbb4f8a7"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-01-13T21:41:39.4063114Z","updatedOn":"2020-01-13T21:41:39.4063114Z","createdBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","updatedBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2226a2aa-7a47-4546-82ed-4e9e4536bc7b","type":"Microsoft.Authorization/roleAssignments","name":"2226a2aa-7a47-4546-82ed-4e9e4536bc7b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-23T03:10:28.2381030Z","updatedOn":"2020-04-23T03:10:28.2381030Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f98d1512-e634-4663-a219-24be2e6bfe1c","type":"Microsoft.Authorization/roleAssignments","name":"f98d1512-e634-4663-a219-24be2e6bfe1c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-01-30T22:50:20.7914421Z","updatedOn":"2019-01-30T22:50:20.7914421Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0bee5f49-7099-4a3c-9eef-b40697f6f371","type":"Microsoft.Authorization/roleAssignments","name":"0bee5f49-7099-4a3c-9eef-b40697f6f371"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-04T06:37:19.1237954Z","updatedOn":"2020-04-04T06:37:19.1237954Z","createdBy":"ed4707f4-8b58-42fe-9afd-0045d7a9b262","updatedBy":"ed4707f4-8b58-42fe-9afd-0045d7a9b262","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d2d2ec3b-f7e6-4dbb-b281-0ceb5f243d01","type":"Microsoft.Authorization/roleAssignments","name":"d2d2ec3b-f7e6-4dbb-b281-0ceb5f243d01"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-15T02:06:03.3308352Z","updatedOn":"2020-04-15T02:06:03.3308352Z","createdBy":"c212dea8-d0da-4832-bdb1-d9e2b7672c76","updatedBy":"c212dea8-d0da-4832-bdb1-d9e2b7672c76","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6142150e-c404-48e6-a731-fffb36357051","type":"Microsoft.Authorization/roleAssignments","name":"6142150e-c404-48e6-a731-fffb36357051"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-20T20:29:38.5194580Z","updatedOn":"2020-04-20T20:29:38.5194580Z","createdBy":"c66b4485-d88a-4007-b687-4867ca3c076f","updatedBy":"c66b4485-d88a-4007-b687-4867ca3c076f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/7682e420-ebd8-4c39-be01-8c1fc953f250","type":"Microsoft.Authorization/roleAssignments","name":"7682e420-ebd8-4c39-be01-8c1fc953f250"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2018-11-16T23:46:13.9660279Z","updatedOn":"2018-11-16T23:46:13.9660279Z","createdBy":"38d88515-7eb8-4c96-804f-4edcc95b9dff","updatedBy":"38d88515-7eb8-4c96-804f-4edcc95b9dff","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2b66b1ea-89dd-4bc6-8d89-96298648eb40","type":"Microsoft.Authorization/roleAssignments","name":"2b66b1ea-89dd-4bc6-8d89-96298648eb40"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-01-31T01:55:23.5911140Z","updatedOn":"2019-01-31T01:55:23.5911140Z","createdBy":"b47f071a-d6c9-4297-954e-83151fff489b","updatedBy":"b47f071a-d6c9-4297-954e-83151fff489b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/3359123d-b5f7-48d6-a1e7-ad77b7ef6b7f","type":"Microsoft.Authorization/roleAssignments","name":"3359123d-b5f7-48d6-a1e7-ad77b7ef6b7f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"Group","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2018-10-27T00:03:26.2878499Z","updatedOn":"2018-10-27T00:03:26.2878499Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ea920230-1aba-4f80-9eef-3fed8216f594","type":"Microsoft.Authorization/roleAssignments","name":"ea920230-1aba-4f80-9eef-3fed8216f594"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-03-25T08:25:35.9118633Z","updatedOn":"2020-03-25T08:25:35.9118633Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6559da2d-7b8e-4dfe-ba1d-dfedbd7c73a1","type":"Microsoft.Authorization/roleAssignments","name":"6559da2d-7b8e-4dfe-ba1d-dfedbd7c73a1"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-04T02:21:24.1380483Z","updatedOn":"2020-06-04T02:21:24.1380483Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f70af6d6-4511-4e74-b25f-9c15978d4859","type":"Microsoft.Authorization/roleAssignments","name":"f70af6d6-4511-4e74-b25f-9c15978d4859"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-10-26T01:25:12.5585896Z","updatedOn":"2019-10-26T01:25:12.5585896Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e5e4c17a-2a72-4b0e-8518-53afddc60b04","type":"Microsoft.Authorization/roleAssignments","name":"e5e4c17a-2a72-4b0e-8518-53afddc60b04"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-20T22:24:43.1326207Z","updatedOn":"2020-04-20T22:24:43.1326207Z","createdBy":"5ecb1531-0d8c-4a89-93cb-1b48b2224358","updatedBy":"5ecb1531-0d8c-4a89-93cb-1b48b2224358","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d54b05eb-b1d1-4845-8ac5-48c5bb4c50b6","type":"Microsoft.Authorization/roleAssignments","name":"d54b05eb-b1d1-4845-8ac5-48c5bb4c50b6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-03T09:55:40.2829720Z","updatedOn":"2020-04-03T09:55:40.2829720Z","createdBy":"0276227b-f99f-4db3-b016-9eebbdfe5dd9","updatedBy":"0276227b-f99f-4db3-b016-9eebbdfe5dd9","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c9c2a551-11aa-4b0a-8816-f8511cd46a32","type":"Microsoft.Authorization/roleAssignments","name":"c9c2a551-11aa-4b0a-8816-f8511cd46a32"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-29T03:57:30.1921503Z","updatedOn":"2020-04-29T03:57:30.1921503Z","createdBy":"a5cae52f-366a-417b-b718-e73d17746c35","updatedBy":"a5cae52f-366a-417b-b718-e73d17746c35","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b4a5f74f-d5b2-4fc7-bfa1-893cc5b9ad88","type":"Microsoft.Authorization/roleAssignments","name":"b4a5f74f-d5b2-4fc7-bfa1-893cc5b9ad88"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-21T06:59:06.6904070Z","updatedOn":"2020-04-21T06:59:06.6904070Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/8273f6ee-b861-42a0-8dec-475eb3215463","type":"Microsoft.Authorization/roleAssignments","name":"8273f6ee-b861-42a0-8dec-475eb3215463"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-29T17:47:02.9492136Z","updatedOn":"2020-06-29T17:47:02.9492136Z","createdBy":"c66b4485-d88a-4007-b687-4867ca3c076f","updatedBy":"c66b4485-d88a-4007-b687-4867ca3c076f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/5cae5324-e7eb-4c13-ba0d-80c801c2b744","type":"Microsoft.Authorization/roleAssignments","name":"5cae5324-e7eb-4c13-ba0d-80c801c2b744"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-29T15:40:03.6815875Z","updatedOn":"2020-04-29T15:40:03.6815875Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/09778426-699f-4faa-8016-5e6029e7313d","type":"Microsoft.Authorization/roleAssignments","name":"09778426-699f-4faa-8016-5e6029e7313d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-27T23:43:20.3428422Z","updatedOn":"2020-04-27T23:43:20.3428422Z","createdBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","updatedBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/271e5b8d-8684-4668-98b9-c3dc25f4b437","type":"Microsoft.Authorization/roleAssignments","name":"271e5b8d-8684-4668-98b9-c3dc25f4b437"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-03-26T21:10:42.2124416Z","updatedOn":"2020-03-26T21:10:42.2124416Z","createdBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","updatedBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d394da6c-4def-47de-8689-791727331c5b","type":"Microsoft.Authorization/roleAssignments","name":"d394da6c-4def-47de-8689-791727331c5b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-21T07:34:50.7125622Z","updatedOn":"2020-04-21T07:34:50.7125622Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ddeb2255-2bb6-458a-a891-532e96ae5483","type":"Microsoft.Authorization/roleAssignments","name":"ddeb2255-2bb6-458a-a891-532e96ae5483"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-23T04:07:45.3308845Z","updatedOn":"2020-06-23T04:07:45.3308845Z","createdBy":"9404195a-2cde-4a10-b88c-e7b41572bf31","updatedBy":"9404195a-2cde-4a10-b88c-e7b41572bf31","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/15d1dab1-b507-11ea-819c-a28e10bedef6","type":"Microsoft.Authorization/roleAssignments","name":"15d1dab1-b507-11ea-819c-a28e10bedef6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-13T00:09:08.8179220Z","updatedOn":"2020-05-13T00:09:08.8179220Z","createdBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","updatedBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/08a578f0-4875-47d0-8775-946b3a0f2b06","type":"Microsoft.Authorization/roleAssignments","name":"08a578f0-4875-47d0-8775-946b3a0f2b06"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-10T23:15:46.8549700Z","updatedOn":"2020-05-10T23:15:46.8549700Z","createdBy":"c1acf319-6d96-4dfe-b194-c27640869947","updatedBy":"c1acf319-6d96-4dfe-b194-c27640869947","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/22d3da65-7681-445e-9080-e748e494676f","type":"Microsoft.Authorization/roleAssignments","name":"22d3da65-7681-445e-9080-e748e494676f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-08-29T13:30:14.1177711Z","updatedOn":"2019-08-29T13:30:14.1177711Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4a2c1014-c1ba-4ae9-a632-90967c28429d","type":"Microsoft.Authorization/roleAssignments","name":"4a2c1014-c1ba-4ae9-a632-90967c28429d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-27T01:26:21.7189691Z","updatedOn":"2020-02-27T01:26:21.7189691Z","createdBy":"c1acf319-6d96-4dfe-b194-c27640869947","updatedBy":"c1acf319-6d96-4dfe-b194-c27640869947","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/28808064-5900-11ea-81c8-acde48001122","type":"Microsoft.Authorization/roleAssignments","name":"28808064-5900-11ea-81c8-acde48001122"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-10-31T20:08:15.8705805Z","updatedOn":"2019-10-31T20:08:15.8705805Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e47c861f-a9eb-46c0-b2e2-102033a5c009","type":"Microsoft.Authorization/roleAssignments","name":"e47c861f-a9eb-46c0-b2e2-102033a5c009"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-28T00:17:14.5340823Z","updatedOn":"2020-04-28T00:17:14.5340823Z","createdBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","updatedBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f7e6b175-9796-4292-bf64-1683aa14312f","type":"Microsoft.Authorization/roleAssignments","name":"f7e6b175-9796-4292-bf64-1683aa14312f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-20T08:30:00.0256525Z","updatedOn":"2020-04-20T08:30:00.0256525Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a91f5ef0-1d9b-453e-8f90-43826c3652dd","type":"Microsoft.Authorization/roleAssignments","name":"a91f5ef0-1d9b-453e-8f90-43826c3652dd"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-14T00:22:19.2644898Z","updatedOn":"2020-04-14T00:22:19.2644898Z","createdBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","updatedBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/420714ce-6b24-4ce2-b7ee-51554de01de7","type":"Microsoft.Authorization/roleAssignments","name":"420714ce-6b24-4ce2-b7ee-51554de01de7"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-28T00:53:44.9077172Z","updatedOn":"2020-04-28T00:53:44.9077172Z","createdBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","updatedBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2940c5e2-5742-42aa-9569-e68c698a01d6","type":"Microsoft.Authorization/roleAssignments","name":"2940c5e2-5742-42aa-9569-e68c698a01d6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"Group","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-01-30T19:30:49.2769608Z","updatedOn":"2019-01-30T19:30:49.2769608Z","createdBy":"b47f071a-d6c9-4297-954e-83151fff489b","updatedBy":"b47f071a-d6c9-4297-954e-83151fff489b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/310957e5-5722-42e0-95b6-5bc6c6b67f16","type":"Microsoft.Authorization/roleAssignments","name":"310957e5-5722-42e0-95b6-5bc6c6b67f16"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-07-03T01:05:25.8863198Z","updatedOn":"2020-07-03T01:05:25.8863198Z","createdBy":"7ac4ca6d-46a3-4e71-a705-858af50eea7b","updatedBy":"7ac4ca6d-46a3-4e71-a705-858af50eea7b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/46877403-bcc9-11ea-924f-00155d871f03","type":"Microsoft.Authorization/roleAssignments","name":"46877403-bcc9-11ea-924f-00155d871f03"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-02T16:19:56.1932050Z","updatedOn":"2020-06-02T16:19:56.1932050Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/de7bdfed-5cc5-47e2-9008-327939dc8379","type":"Microsoft.Authorization/roleAssignments","name":"de7bdfed-5cc5-47e2-9008-327939dc8379"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-03-28T19:57:23.3708745Z","updatedOn":"2019-03-28T19:57:23.3708745Z","createdBy":"66cb050e-bae1-4005-8c4c-0f6dd9b34978","updatedBy":"66cb050e-bae1-4005-8c4c-0f6dd9b34978","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/cc796cab-2f6b-4099-b9a3-7500f5516153","type":"Microsoft.Authorization/roleAssignments","name":"cc796cab-2f6b-4099-b9a3-7500f5516153"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-24T02:12:40.2606628Z","updatedOn":"2020-04-24T02:12:40.2606628Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6a375386-4cb0-47fd-952c-92465f6d679d","type":"Microsoft.Authorization/roleAssignments","name":"6a375386-4cb0-47fd-952c-92465f6d679d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-03-30T22:56:44.9793119Z","updatedOn":"2020-03-30T22:56:44.9793119Z","createdBy":"53bb8815-874d-4b05-9953-1158e05aa080","updatedBy":"53bb8815-874d-4b05-9953-1158e05aa080","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/000ea275-41c4-40ce-943f-98a8849a56bc","type":"Microsoft.Authorization/roleAssignments","name":"000ea275-41c4-40ce-943f-98a8849a56bc"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-12-13T02:01:31.6182075Z","updatedOn":"2019-12-13T02:01:31.6182075Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d3ea741e-fdf8-4780-a73f-bbc0efbd141c","type":"Microsoft.Authorization/roleAssignments","name":"d3ea741e-fdf8-4780-a73f-bbc0efbd141c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-23T05:07:17.2382220Z","updatedOn":"2020-06-23T05:07:17.2382220Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4202823d-7518-46d1-b5ff-b6c7cb7b9dd3","type":"Microsoft.Authorization/roleAssignments","name":"4202823d-7518-46d1-b5ff-b6c7cb7b9dd3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-18T12:01:15.4801397Z","updatedOn":"2020-05-18T12:01:15.4801397Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4c04d5e5-df60-47b9-abde-aa9641425c64","type":"Microsoft.Authorization/roleAssignments","name":"4c04d5e5-df60-47b9-abde-aa9641425c64"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-10T01:13:53.0806696Z","updatedOn":"2020-06-10T01:13:53.0806696Z","createdBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","updatedBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a584fad9-aab7-11ea-b7e7-00155d4b0124","type":"Microsoft.Authorization/roleAssignments","name":"a584fad9-aab7-11ea-b7e7-00155d4b0124"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-07-03T07:48:19.4504494Z","updatedOn":"2020-07-03T07:48:19.4504494Z","createdBy":"471feb6d-5a83-439e-af7b-311f4eee2d0c","updatedBy":"471feb6d-5a83-439e-af7b-311f4eee2d0c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/28dd25b5-e359-4d3d-9632-bcd15c3fa296","type":"Microsoft.Authorization/roleAssignments","name":"28dd25b5-e359-4d3d-9632-bcd15c3fa296"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-09T00:52:51.5057560Z","updatedOn":"2020-06-09T00:52:51.5057560Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6d91fd42-bd38-4380-8f63-993e49f83833","type":"Microsoft.Authorization/roleAssignments","name":"6d91fd42-bd38-4380-8f63-993e49f83833"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-09-20T20:32:24.1155446Z","updatedOn":"2019-09-20T20:32:24.1155446Z","createdBy":"66cb050e-bae1-4005-8c4c-0f6dd9b34978","updatedBy":"66cb050e-bae1-4005-8c4c-0f6dd9b34978","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c1a9a09e-eafe-4c97-b589-a8261ee04099","type":"Microsoft.Authorization/roleAssignments","name":"c1a9a09e-eafe-4c97-b589-a8261ee04099"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-12T00:23:23.9037436Z","updatedOn":"2020-05-12T00:23:23.9037436Z","createdBy":"c1acf319-6d96-4dfe-b194-c27640869947","updatedBy":"c1acf319-6d96-4dfe-b194-c27640869947","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6ff95229-981f-40d7-889f-97bc90b8f387","type":"Microsoft.Authorization/roleAssignments","name":"6ff95229-981f-40d7-889f-97bc90b8f387"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-09T00:52:52.1315983Z","updatedOn":"2020-06-09T00:52:52.1315983Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/7512dec1-86e5-400d-8bc9-f24f181127f3","type":"Microsoft.Authorization/roleAssignments","name":"7512dec1-86e5-400d-8bc9-f24f181127f3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-12-30T03:12:58.1455315Z","updatedOn":"2019-12-30T03:12:58.1455315Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/091713ce-9ee7-445d-beaf-708ee254b129","type":"Microsoft.Authorization/roleAssignments","name":"091713ce-9ee7-445d-beaf-708ee254b129"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-04-19T04:20:34.3557776Z","updatedOn":"2019-04-19T04:20:34.3557776Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/092a238c-94af-4fca-bd4a-bb4995ea58db","type":"Microsoft.Authorization/roleAssignments","name":"092a238c-94af-4fca-bd4a-bb4995ea58db"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-14T04:03:23.9185561Z","updatedOn":"2020-04-14T04:03:23.9185561Z","createdBy":"c212dea8-d0da-4832-bdb1-d9e2b7672c76","updatedBy":"c212dea8-d0da-4832-bdb1-d9e2b7672c76","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0f0f495d-0356-4239-b966-3f47f5f1054a","type":"Microsoft.Authorization/roleAssignments","name":"0f0f495d-0356-4239-b966-3f47f5f1054a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-20T20:29:38.4023513Z","updatedOn":"2020-04-20T20:29:38.4023513Z","createdBy":"c66b4485-d88a-4007-b687-4867ca3c076f","updatedBy":"c66b4485-d88a-4007-b687-4867ca3c076f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b3276191-98a8-472b-b650-21c8d24b7464","type":"Microsoft.Authorization/roleAssignments","name":"b3276191-98a8-472b-b650-21c8d24b7464"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-16T02:06:59.0490140Z","updatedOn":"2020-05-16T02:06:59.0490140Z","createdBy":"53bb8815-874d-4b05-9953-1158e05aa080","updatedBy":"53bb8815-874d-4b05-9953-1158e05aa080","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2cf7ea7b-3bdd-44ea-966b-b4eb4e7813fa","type":"Microsoft.Authorization/roleAssignments","name":"2cf7ea7b-3bdd-44ea-966b-b4eb4e7813fa"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-13T22:32:47.4470861Z","updatedOn":"2020-04-13T22:32:47.4470861Z","createdBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","updatedBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/93ce765f-2d72-454b-816b-ba287754fe5a","type":"Microsoft.Authorization/roleAssignments","name":"93ce765f-2d72-454b-816b-ba287754fe5a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-14T00:42:59.8868253Z","updatedOn":"2020-05-14T00:42:59.8868253Z","createdBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","updatedBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6b3c8d44-237c-410c-a095-52ded7f5cd26","type":"Microsoft.Authorization/roleAssignments","name":"6b3c8d44-237c-410c-a095-52ded7f5cd26"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-11T13:26:01.9493491Z","updatedOn":"2020-02-11T13:26:01.9493491Z","createdBy":"0276227b-f99f-4db3-b016-9eebbdfe5dd9","updatedBy":"0276227b-f99f-4db3-b016-9eebbdfe5dd9","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/8fab1ba3-53c2-4b21-9d32-dc89fd061811","type":"Microsoft.Authorization/roleAssignments","name":"8fab1ba3-53c2-4b21-9d32-dc89fd061811"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-04-19T22:53:47.5902917Z","updatedOn":"2019-04-19T22:53:47.5902917Z","createdBy":"66cb050e-bae1-4005-8c4c-0f6dd9b34978","updatedBy":"66cb050e-bae1-4005-8c4c-0f6dd9b34978","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/1f9d617d-8ab5-4f63-8c85-445f6c30632f","type":"Microsoft.Authorization/roleAssignments","name":"1f9d617d-8ab5-4f63-8c85-445f6c30632f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-03T05:34:39.2163770Z","updatedOn":"2020-04-03T05:34:39.2163770Z","createdBy":"ed4707f4-8b58-42fe-9afd-0045d7a9b262","updatedBy":"ed4707f4-8b58-42fe-9afd-0045d7a9b262","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/8e4edc2a-dd1f-469b-9a44-f0693866b843","type":"Microsoft.Authorization/roleAssignments","name":"8e4edc2a-dd1f-469b-9a44-f0693866b843"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-12T21:48:57.3001992Z","updatedOn":"2020-05-12T21:48:57.3001992Z","createdBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","updatedBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/dcc102ec-9c04-4c7c-976e-94c72db42b49","type":"Microsoft.Authorization/roleAssignments","name":"dcc102ec-9c04-4c7c-976e-94c72db42b49"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-06-26T06:44:38.5656650Z","updatedOn":"2019-06-26T06:44:38.5656650Z","createdBy":"f058371f-0c0e-46bb-a5d4-f8aec637a467","updatedBy":"f058371f-0c0e-46bb-a5d4-f8aec637a467","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a2cc1fcf-6ce5-4bd8-94c9-e0e6aa788a1d","type":"Microsoft.Authorization/roleAssignments","name":"a2cc1fcf-6ce5-4bd8-94c9-e0e6aa788a1d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-20T19:40:09.1141460Z","updatedOn":"2020-02-20T19:40:09.1141460Z","createdBy":"c1acf319-6d96-4dfe-b194-c27640869947","updatedBy":"c1acf319-6d96-4dfe-b194-c27640869947","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d4673bf4-97da-4102-9284-2a7315b88a34","type":"Microsoft.Authorization/roleAssignments","name":"d4673bf4-97da-4102-9284-2a7315b88a34"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-23T05:07:14.6947730Z","updatedOn":"2020-06-23T05:07:14.6947730Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/bec06514-2b3f-4a1f-92f2-cbb30828f447","type":"Microsoft.Authorization/roleAssignments","name":"bec06514-2b3f-4a1f-92f2-cbb30828f447"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-21T07:19:44.2488168Z","updatedOn":"2020-04-21T07:19:44.2488168Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/fadbe071-d757-48fc-b82a-4784249ded10","type":"Microsoft.Authorization/roleAssignments","name":"fadbe071-d757-48fc-b82a-4784249ded10"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-12-13T02:01:31.7381957Z","updatedOn":"2019-12-13T02:01:31.7381957Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6e035090-e3f8-4bb2-b117-fac2fba706b2","type":"Microsoft.Authorization/roleAssignments","name":"6e035090-e3f8-4bb2-b117-fac2fba706b2"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-03-12T17:29:23.0437979Z","updatedOn":"2019-03-12T17:29:23.0437979Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a7e76154-c2a7-4419-b73f-e8c6010318c9","type":"Microsoft.Authorization/roleAssignments","name":"a7e76154-c2a7-4419-b73f-e8c6010318c9"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-26T19:29:06.9092628Z","updatedOn":"2020-05-26T19:29:06.9092628Z","createdBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","updatedBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c0b0f01a-d6f2-4c1f-879d-10bdc2f1aee5","type":"Microsoft.Authorization/roleAssignments","name":"c0b0f01a-d6f2-4c1f-879d-10bdc2f1aee5"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-21T07:40:03.0117061Z","updatedOn":"2020-02-21T07:40:03.0117061Z","createdBy":"0276227b-f99f-4db3-b016-9eebbdfe5dd9","updatedBy":"0276227b-f99f-4db3-b016-9eebbdfe5dd9","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e5c1eb24-09ad-487a-8286-8bb2841d311d","type":"Microsoft.Authorization/roleAssignments","name":"e5c1eb24-09ad-487a-8286-8bb2841d311d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-17T00:59:53.8734172Z","updatedOn":"2020-06-17T00:59:53.8734172Z","createdBy":"82e11ed5-c720-4c8d-b396-a2fcd9e4291f","updatedBy":"82e11ed5-c720-4c8d-b396-a2fcd9e4291f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d7f69b6b-b035-11ea-a6dd-000d3aa35713","type":"Microsoft.Authorization/roleAssignments","name":"d7f69b6b-b035-11ea-a6dd-000d3aa35713"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-23T14:27:52.3922162Z","updatedOn":"2020-04-23T14:27:52.3922162Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/9acabd34-856e-11ea-98ae-acbc329aaf8b","type":"Microsoft.Authorization/roleAssignments","name":"9acabd34-856e-11ea-98ae-acbc329aaf8b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-20T20:29:38.3267905Z","updatedOn":"2020-04-20T20:29:38.3267905Z","createdBy":"c66b4485-d88a-4007-b687-4867ca3c076f","updatedBy":"c66b4485-d88a-4007-b687-4867ca3c076f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ac979adb-819c-4fae-98bc-6a6c81bc76b1","type":"Microsoft.Authorization/roleAssignments","name":"ac979adb-819c-4fae-98bc-6a6c81bc76b1"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2018-02-06T23:56:15.2220285Z","updatedOn":"2018-02-06T23:56:15.2220285Z","createdBy":"b87c5c16-4f0e-4af2-9b2e-20f25d6b5a3f","updatedBy":"b87c5c16-4f0e-4af2-9b2e-20f25d6b5a3f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f54c2ddd-8858-4c40-bdec-25546c985154","type":"Microsoft.Authorization/roleAssignments","name":"f54c2ddd-8858-4c40-bdec-25546c985154"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-20T20:29:38.3023490Z","updatedOn":"2020-04-20T20:29:38.3023490Z","createdBy":"c66b4485-d88a-4007-b687-4867ca3c076f","updatedBy":"c66b4485-d88a-4007-b687-4867ca3c076f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/bf46ff50-6187-4a95-afd4-b811c1a8b239","type":"Microsoft.Authorization/roleAssignments","name":"bf46ff50-6187-4a95-afd4-b811c1a8b239"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-02-02T04:47:03.2856858Z","updatedOn":"2019-02-02T04:47:03.2856858Z","createdBy":"66cb050e-bae1-4005-8c4c-0f6dd9b34978","updatedBy":"66cb050e-bae1-4005-8c4c-0f6dd9b34978","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/11737a1b-2cf4-4fca-8c36-4ef79e0df5b0","type":"Microsoft.Authorization/roleAssignments","name":"11737a1b-2cf4-4fca-8c36-4ef79e0df5b0"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-02T23:56:53.9541160Z","updatedOn":"2020-04-02T23:56:53.9541160Z","createdBy":"53bb8815-874d-4b05-9953-1158e05aa080","updatedBy":"53bb8815-874d-4b05-9953-1158e05aa080","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/700e8068-ae0c-4176-8e70-8958a82a4aa1","type":"Microsoft.Authorization/roleAssignments","name":"700e8068-ae0c-4176-8e70-8958a82a4aa1"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-08-02T07:21:13.1302112Z","updatedOn":"2019-08-02T07:21:13.1302112Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/98328e7b-c22c-4a4b-bcae-25953d0c52f3","type":"Microsoft.Authorization/roleAssignments","name":"98328e7b-c22c-4a4b-bcae-25953d0c52f3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-28T03:13:08.9833014Z","updatedOn":"2020-04-28T03:13:08.9833014Z","createdBy":"547f6960-a967-417a-a9a4-0f35fbdca11c","updatedBy":"547f6960-a967-417a-a9a4-0f35fbdca11c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/5479cc1b-0762-40bd-862d-7369aa1ff685","type":"Microsoft.Authorization/roleAssignments","name":"5479cc1b-0762-40bd-862d-7369aa1ff685"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-04T02:11:30.6140935Z","updatedOn":"2020-02-04T02:11:30.6140935Z","createdBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","updatedBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/495c765c-e6e2-4582-9ab6-ad9abf7e5064","type":"Microsoft.Authorization/roleAssignments","name":"495c765c-e6e2-4582-9ab6-ad9abf7e5064"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-08-06T03:04:23.5398083Z","updatedOn":"2019-08-06T03:04:23.5398083Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/958e790f-1635-4dd3-b718-5403a1342a66","type":"Microsoft.Authorization/roleAssignments","name":"958e790f-1635-4dd3-b718-5403a1342a66"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-01-10T01:23:31.4432043Z","updatedOn":"2020-01-10T01:23:31.4432043Z","createdBy":"09914860-7ec9-4151-8431-31797899a359","updatedBy":"09914860-7ec9-4151-8431-31797899a359","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/151d14b1-b26a-47b9-be10-255bf562d592","type":"Microsoft.Authorization/roleAssignments","name":"151d14b1-b26a-47b9-be10-255bf562d592"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-12-13T02:02:28.2288268Z","updatedOn":"2019-12-13T02:02:28.2288268Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/11ddfea7-616f-499f-9975-e8513b60eb3c","type":"Microsoft.Authorization/roleAssignments","name":"11ddfea7-616f-499f-9975-e8513b60eb3c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-03-16T23:29:48.3209681Z","updatedOn":"2020-03-16T23:29:48.3209681Z","createdBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","updatedBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/3eb4155b-2965-456b-8f00-bca8a13b1684","type":"Microsoft.Authorization/roleAssignments","name":"3eb4155b-2965-456b-8f00-bca8a13b1684"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-05T14:05:58.2716050Z","updatedOn":"2021-04-05T14:05:58.2716050Z","createdBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","updatedBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0a9b0e6a-9618-11eb-879a-88e9fe77e044","type":"Microsoft.Authorization/roleAssignments","name":"0a9b0e6a-9618-11eb-879a-88e9fe77e044"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-05T17:37:43.7040494Z","updatedOn":"2021-04-05T17:37:43.7040494Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a04b0948-9635-11eb-b395-acde48001122","type":"Microsoft.Authorization/roleAssignments","name":"a04b0948-9635-11eb-b395-acde48001122"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-05T23:56:38.0963501Z","updatedOn":"2021-04-05T23:56:38.0963501Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/80ef7746-a500-41bc-9154-bf710a740c8f","type":"Microsoft.Authorization/roleAssignments","name":"80ef7746-a500-41bc-9154-bf710a740c8f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-06T02:08:10.5378297Z","updatedOn":"2021-04-06T02:08:10.5378297Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/627cf393-9c97-4b8d-8e68-3188a44d3347","type":"Microsoft.Authorization/roleAssignments","name":"627cf393-9c97-4b8d-8e68-3188a44d3347"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-06T02:24:11.2891190Z","updatedOn":"2021-04-06T02:24:11.2891190Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2845ac64-e36c-43b7-8958-033805cafe86","type":"Microsoft.Authorization/roleAssignments","name":"2845ac64-e36c-43b7-8958-033805cafe86"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-06T02:24:39.3826587Z","updatedOn":"2021-04-06T02:24:39.3826587Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6c21611b-a840-4166-b9f4-8cec90c17841","type":"Microsoft.Authorization/roleAssignments","name":"6c21611b-a840-4166-b9f4-8cec90c17841"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-06T02:24:39.4154930Z","updatedOn":"2021-04-06T02:24:39.4154930Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/925d4876-8fde-4334-8f84-4ce52ca7108e","type":"Microsoft.Authorization/roleAssignments","name":"925d4876-8fde-4334-8f84-4ce52ca7108e"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-06T04:46:32.1029699Z","updatedOn":"2021-04-06T04:46:32.1029699Z","createdBy":"9404195a-2cde-4a10-b88c-e7b41572bf31","updatedBy":"9404195a-2cde-4a10-b88c-e7b41572bf31","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0dfdb837-9693-11eb-b629-b6178ece78ec","type":"Microsoft.Authorization/roleAssignments","name":"0dfdb837-9693-11eb-b629-b6178ece78ec"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"Group","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-06T11:25:43.5702772Z","updatedOn":"2021-04-06T11:25:43.5702772Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/958a1320-4346-46fb-9722-828af239eb03","type":"Microsoft.Authorization/roleAssignments","name":"958a1320-4346-46fb-9722-828af239eb03"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-06T20:54:21.5921112Z","updatedOn":"2021-04-06T20:54:21.5921112Z","createdBy":"f5d11ebc-8494-4b5f-a0fc-5fbbfd56f7bb","updatedBy":"f5d11ebc-8494-4b5f-a0fc-5fbbfd56f7bb","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/42ad5638-971a-11eb-abf6-00155d3a4c00","type":"Microsoft.Authorization/roleAssignments","name":"42ad5638-971a-11eb-abf6-00155d3a4c00"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-06T23:22:50.4425724Z","updatedOn":"2021-04-06T23:22:50.4425724Z","createdBy":"ad232e99-5e1b-414e-aa53-96ae40d39f3e","updatedBy":"ad232e99-5e1b-414e-aa53-96ae40d39f3e","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/00a90f2a-972f-11eb-9121-acde48001122","type":"Microsoft.Authorization/roleAssignments","name":"00a90f2a-972f-11eb-9121-acde48001122"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-06T23:57:47.7182520Z","updatedOn":"2021-04-06T23:57:47.7182520Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/fb99837b-1f81-4e7c-afdf-5a5da79bc3e3","type":"Microsoft.Authorization/roleAssignments","name":"fb99837b-1f81-4e7c-afdf-5a5da79bc3e3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-07T00:26:49.7250016Z","updatedOn":"2021-04-07T00:26:49.7250016Z","createdBy":"88f18750-8181-4579-8eff-eb44f510655c","updatedBy":"88f18750-8181-4579-8eff-eb44f510655c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/dca2df37-fdd1-49dc-a1de-31a70d62e098","type":"Microsoft.Authorization/roleAssignments","name":"dca2df37-fdd1-49dc-a1de-31a70d62e098"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-07T09:10:47.4905668Z","updatedOn":"2021-04-07T09:10:47.4905668Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/8a5dbdef-0896-48cd-a325-318e807ea133","type":"Microsoft.Authorization/roleAssignments","name":"8a5dbdef-0896-48cd-a325-318e807ea133"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-07T09:44:09.4148366Z","updatedOn":"2021-04-07T09:44:09.4148366Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/19eb9977-62b0-4571-8d91-9342f2580a32","type":"Microsoft.Authorization/roleAssignments","name":"19eb9977-62b0-4571-8d91-9342f2580a32"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-07T19:55:01.1984055Z","updatedOn":"2021-04-07T19:55:01.1984055Z","createdBy":"1b081df7-da49-42b3-a427-9cb93114bf07","updatedBy":"1b081df7-da49-42b3-a427-9cb93114bf07","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2301d942-97db-11eb-8bf8-acde48001122","type":"Microsoft.Authorization/roleAssignments","name":"2301d942-97db-11eb-8bf8-acde48001122"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-07T22:36:06.7954601Z","updatedOn":"2021-04-07T22:36:06.7954601Z","createdBy":"f31399da-e7ed-4fe4-a825-a9dff4f53481","updatedBy":"f31399da-e7ed-4fe4-a825-a9dff4f53481","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6070c7de-7571-4d55-8b2f-85285b7d9675","type":"Microsoft.Authorization/roleAssignments","name":"6070c7de-7571-4d55-8b2f-85285b7d9675"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-09T01:23:36.6710425Z","updatedOn":"2021-04-09T01:23:36.6710425Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/8f1c810a-91db-403c-8c1b-e36ef5e3f2ae","type":"Microsoft.Authorization/roleAssignments","name":"8f1c810a-91db-403c-8c1b-e36ef5e3f2ae"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-09T08:31:55.6753945Z","updatedOn":"2021-04-09T08:31:55.6753945Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/cb17ef81-685c-44f9-b679-244ff9cecfca","type":"Microsoft.Authorization/roleAssignments","name":"cb17ef81-685c-44f9-b679-244ff9cecfca"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-07-13T08:23:22.5067480Z","updatedOn":"2020-07-13T08:23:22.5067480Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d620bc90-9de4-4ae7-b69a-0b2489f91897","type":"Microsoft.Authorization/roleAssignments","name":"d620bc90-9de4-4ae7-b69a-0b2489f91897"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-07-17T03:14:37.5069272Z","updatedOn":"2020-07-17T03:14:37.5069272Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0d5c6698-a390-411c-a028-5ef6510a7db3","type":"Microsoft.Authorization/roleAssignments","name":"0d5c6698-a390-411c-a028-5ef6510a7db3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-08T10:10:14.5504056Z","updatedOn":"2021-03-08T10:10:14.5504056Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/067c1708-f33d-4c8c-9962-1115d573b010","type":"Microsoft.Authorization/roleAssignments","name":"067c1708-f33d-4c8c-9962-1115d573b010"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-12T17:41:39.7941619Z","updatedOn":"2021-03-12T17:41:39.7941619Z","createdBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","updatedBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d4625aa1-611e-448a-bf3e-f37f2bc878a3","type":"Microsoft.Authorization/roleAssignments","name":"d4625aa1-611e-448a-bf3e-f37f2bc878a3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-13T00:16:30.5211415Z","updatedOn":"2021-03-13T00:16:30.5211415Z","createdBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","updatedBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6bb77919-c820-434e-8b05-534269176a2c","type":"Microsoft.Authorization/roleAssignments","name":"6bb77919-c820-434e-8b05-534269176a2c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-13T10:12:45.2534236Z","updatedOn":"2021-03-13T10:12:45.2534236Z","createdBy":"8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9","updatedBy":"8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e975bb7b-054a-46af-9bb3-cac6dceabf4c","type":"Microsoft.Authorization/roleAssignments","name":"e975bb7b-054a-46af-9bb3-cac6dceabf4c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-16T23:49:03.3523073Z","updatedOn":"2021-03-16T23:49:03.3523073Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f33005f1-10be-43e3-a87f-9e2f954fb2db","type":"Microsoft.Authorization/roleAssignments","name":"f33005f1-10be-43e3-a87f-9e2f954fb2db"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-17T00:39:07.7760935Z","updatedOn":"2021-03-17T00:39:07.7760935Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a747debe-4a66-476a-9577-0b1a640750ef","type":"Microsoft.Authorization/roleAssignments","name":"a747debe-4a66-476a-9577-0b1a640750ef"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-22T03:25:46.9853541Z","updatedOn":"2021-03-22T03:25:46.9853541Z","createdBy":"09914860-7ec9-4151-8431-31797899a359","updatedBy":"09914860-7ec9-4151-8431-31797899a359","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/815c5875-b3b0-4595-ba0f-5f3ab8b57871","type":"Microsoft.Authorization/roleAssignments","name":"815c5875-b3b0-4595-ba0f-5f3ab8b57871"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-25T00:58:10.6501184Z","updatedOn":"2021-03-25T00:58:10.6501184Z","createdBy":"243a3958-b8d3-4c74-ad3f-77b916846d93","updatedBy":"243a3958-b8d3-4c74-ad3f-77b916846d93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2aca810c-8d05-11eb-bd25-000d3a4359fa","type":"Microsoft.Authorization/roleAssignments","name":"2aca810c-8d05-11eb-bd25-000d3a4359fa"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-26T10:13:53.8091651Z","updatedOn":"2021-03-26T10:13:53.8091651Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d850ab91-9de8-4c27-8667-99ba5677c4c2","type":"Microsoft.Authorization/roleAssignments","name":"d850ab91-9de8-4c27-8667-99ba5677c4c2"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-26T10:24:43.4077585Z","updatedOn":"2021-03-26T10:24:43.4077585Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/779ad30e-8e1d-11eb-8aa9-000d3ac754e3","type":"Microsoft.Authorization/roleAssignments","name":"779ad30e-8e1d-11eb-8aa9-000d3ac754e3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-26T15:24:46.1413686Z","updatedOn":"2021-03-26T15:24:46.1413686Z","createdBy":"547f6960-a967-417a-a9a4-0f35fbdca11c","updatedBy":"547f6960-a967-417a-a9a4-0f35fbdca11c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/9a54bdb6-bda6-470e-935c-bfa23f846e98","type":"Microsoft.Authorization/roleAssignments","name":"9a54bdb6-bda6-470e-935c-bfa23f846e98"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-31T01:48:40.0937142Z","updatedOn":"2021-03-31T01:48:40.0937142Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/cd309898-e4ed-438e-b8f9-66fbb4d776bc","type":"Microsoft.Authorization/roleAssignments","name":"cd309898-e4ed-438e-b8f9-66fbb4d776bc"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-07-07T21:38:16.9089220Z","updatedOn":"2020-07-07T21:38:16.9089220Z","createdBy":"67f96a40-adf7-4f43-888f-33526c5cfa95","updatedBy":"67f96a40-adf7-4f43-888f-33526c5cfa95","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2d34e25a-c09a-11ea-893f-eefa4c05adfb","type":"Microsoft.Authorization/roleAssignments","name":"2d34e25a-c09a-11ea-893f-eefa4c05adfb"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-07-07T23:59:03.3157569Z","updatedOn":"2020-07-07T23:59:03.3157569Z","createdBy":"1ec25b73-94d5-4bf9-a56f-ca7d9bd4164c","updatedBy":"1ec25b73-94d5-4bf9-a56f-ca7d9bd4164c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/718cdad6-cc40-415b-aae3-f356df943d39","type":"Microsoft.Authorization/roleAssignments","name":"718cdad6-cc40-415b-aae3-f356df943d39"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/c92f8fe1-e3cb-47e8-a01d-0771814c0dad","condition":null,"conditionVersion":null,"createdOn":"2019-03-26T22:01:02.8423155Z","updatedOn":"2019-03-26T22:01:02.8423155Z","createdBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818","updatedBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/c92f8fe1-e3cb-47e8-a01d-0771814c0dad/providers/Microsoft.Authorization/roleAssignments/3d069c98-e792-47bd-b58a-399e2d42dbab","type":"Microsoft.Authorization/roleAssignments","name":"3d069c98-e792-47bd-b58a-399e2d42dbab"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/f25e0fa2-a7c8-4377-a976-54943a77a395","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/c92f8fe1-e3cb-47e8-a01d-0771814c0dad","condition":null,"conditionVersion":null,"createdOn":"2021-04-09T18:15:49.7063250Z","updatedOn":"2021-04-09T18:15:49.7063250Z","createdBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","updatedBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/c92f8fe1-e3cb-47e8-a01d-0771814c0dad/providers/Microsoft.Authorization/roleAssignments/a6b435df-80e6-4a7b-b109-2af5f373d238","type":"Microsoft.Authorization/roleAssignments","name":"a6b435df-80e6-4a7b-b109-2af5f373d238"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod","condition":null,"conditionVersion":null,"createdOn":"2019-03-26T22:01:02.9176787Z","updatedOn":"2019-03-26T22:01:02.9176787Z","createdBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818","updatedBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod/providers/Microsoft.Authorization/roleAssignments/4b771ea9-81de-4fc4-aa28-a3a0b9b4a320","type":"Microsoft.Authorization/roleAssignments","name":"4b771ea9-81de-4fc4-aa28-a3a0b9b4a320"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/36243c78-bf99-498c-9df9-86d9f8d28608","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod","condition":null,"conditionVersion":null,"createdOn":"2019-03-27T00:49:37.3000523Z","updatedOn":"2019-03-27T00:49:37.3000523Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod/providers/Microsoft.Authorization/roleAssignments/e6e1fffd-83f7-40c7-9f33-e56e2cf75b29","type":"Microsoft.Authorization/roleAssignments","name":"e6e1fffd-83f7-40c7-9f33-e56e2cf75b29"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/5d58bcaf-24a5-4b20-bdb6-eed9f69fbe4c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod","condition":null,"conditionVersion":null,"createdOn":"2019-03-27T00:50:08.3039053Z","updatedOn":"2019-03-27T00:50:08.3039053Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod/providers/Microsoft.Authorization/roleAssignments/3d01f56e-ee3a-41ed-a775-0e067546cb12","type":"Microsoft.Authorization/roleAssignments","name":"3d01f56e-ee3a-41ed-a775-0e067546cb12"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/72f988bf-86f1-41af-91ab-2d7cd011db47","condition":null,"conditionVersion":null,"createdOn":"2020-03-12T20:43:06.5941189Z","updatedOn":"2020-03-12T20:43:06.5941189Z","createdBy":"606f48c8-d219-4875-991d-ae6befaf0756","updatedBy":"606f48c8-d219-4875-991d-ae6befaf0756","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/72f988bf-86f1-41af-91ab-2d7cd011db47/providers/Microsoft.Authorization/roleAssignments/ad9e2cd7-0ff7-4931-9b17-656c8f17934b","type":"Microsoft.Authorization/roleAssignments","name":"ad9e2cd7-0ff7-4931-9b17-656c8f17934b"}]}' headers: cache-control: - no-cache @@ -961,7 +961,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ @@ -1153,7 +1153,7 @@ interactions: - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) msrest/0.6.18 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.14.2 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ @@ -1246,7 +1246,7 @@ interactions: accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ @@ -1362,7 +1362,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ @@ -1554,7 +1554,7 @@ interactions: - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) msrest/0.6.18 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.14.2 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ @@ -1643,7 +1643,7 @@ interactions: accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ @@ -1785,7 +1785,7 @@ interactions: uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id000003/providers/Microsoft.Authorization/roleAssignments?$filter=atScope%28%29&api-version=2020-04-01-preview response: body: - string: '{"value":[{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/","condition":null,"conditionVersion":null,"createdOn":"2018-02-27T19:19:50.2663941Z","updatedOn":"2018-02-27T19:19:50.2663941Z","createdBy":null,"updatedBy":null,"delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Authorization/roleAssignments/3e883d24-b106-42ff-ad13-d7bf271b964d","type":"Microsoft.Authorization/roleAssignments","name":"3e883d24-b106-42ff-ad13-d7bf271b964d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-07-18T02:26:14.1665946Z","updatedOn":"2020-07-18T02:26:14.1665946Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/cfd7632d-7c5a-4531-82ce-890df8b4be96","type":"Microsoft.Authorization/roleAssignments","name":"cfd7632d-7c5a-4531-82ce-890df8b4be96"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-07-24T20:02:31.6333946Z","updatedOn":"2020-07-24T20:02:31.6333946Z","createdBy":"53bb8815-874d-4b05-9953-1158e05aa080","updatedBy":"53bb8815-874d-4b05-9953-1158e05aa080","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/fe8f6b65-9c14-4f43-bfe0-9c4e0778be5d","type":"Microsoft.Authorization/roleAssignments","name":"fe8f6b65-9c14-4f43-bfe0-9c4e0778be5d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4abbcc35-e782-43d8-92c5-2d3f1bd2253f","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-08-03T15:06:36.3777307Z","updatedOn":"2020-08-03T15:06:36.3777307Z","createdBy":"a5cae52f-366a-417b-b718-e73d17746c35","updatedBy":"a5cae52f-366a-417b-b718-e73d17746c35","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/71b88381-621b-464e-b17a-6cd9433ad5a3","type":"Microsoft.Authorization/roleAssignments","name":"71b88381-621b-464e-b17a-6cd9433ad5a3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-08-21T16:23:57.9905009Z","updatedOn":"2020-08-21T16:23:57.9905009Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/17d7954a-d32a-4181-b887-1de9a8a0c05a","type":"Microsoft.Authorization/roleAssignments","name":"17d7954a-d32a-4181-b887-1de9a8a0c05a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-08-21T16:23:58.0549229Z","updatedOn":"2020-08-21T16:23:58.0549229Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/9a853af7-252b-4315-9ee3-0b243e595f80","type":"Microsoft.Authorization/roleAssignments","name":"9a853af7-252b-4315-9ee3-0b243e595f80"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"Group","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-08-21T16:23:58.6582166Z","updatedOn":"2020-08-21T16:23:58.6582166Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/8ab72fbd-e5fe-4a7d-ae20-baad615d688d","type":"Microsoft.Authorization/roleAssignments","name":"8ab72fbd-e5fe-4a7d-ae20-baad615d688d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-08-21T16:23:59.5326945Z","updatedOn":"2020-08-21T16:23:59.5326945Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4ed77f1d-82a2-4a02-b48e-fa5776870280","type":"Microsoft.Authorization/roleAssignments","name":"4ed77f1d-82a2-4a02-b48e-fa5776870280"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-09-01T06:59:31.4619017Z","updatedOn":"2020-09-01T06:59:31.4619017Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/3c8813ac-e50e-4868-9e41-910258f3c33a","type":"Microsoft.Authorization/roleAssignments","name":"3c8813ac-e50e-4868-9e41-910258f3c33a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-09-02T01:52:45.8299382Z","updatedOn":"2020-09-02T01:52:45.8299382Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/3e21284b-6bd7-431a-81ae-ccaf56267ab5","type":"Microsoft.Authorization/roleAssignments","name":"3e21284b-6bd7-431a-81ae-ccaf56267ab5"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-09-07T09:44:47.3865537Z","updatedOn":"2020-09-07T09:44:47.3865537Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/79357f85-973d-4621-b1bd-d1ecb645e146","type":"Microsoft.Authorization/roleAssignments","name":"79357f85-973d-4621-b1bd-d1ecb645e146"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-09-15T09:02:04.9171272Z","updatedOn":"2020-09-15T09:02:04.9171272Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/3a2ff825-a078-475d-aa68-80640a14daa2","type":"Microsoft.Authorization/roleAssignments","name":"3a2ff825-a078-475d-aa68-80640a14daa2"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-09-23T13:13:35.8201314Z","updatedOn":"2020-09-23T13:13:35.8201314Z","createdBy":"a5cae52f-366a-417b-b718-e73d17746c35","updatedBy":"a5cae52f-366a-417b-b718-e73d17746c35","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d2ac0456-208f-4492-aecf-24bbcf14f246","type":"Microsoft.Authorization/roleAssignments","name":"d2ac0456-208f-4492-aecf-24bbcf14f246"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-09-24T00:04:10.5243862Z","updatedOn":"2020-09-24T00:04:10.5243862Z","createdBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","updatedBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/78586b2c-fdf9-11ea-9e5e-8851fb3f4911","type":"Microsoft.Authorization/roleAssignments","name":"78586b2c-fdf9-11ea-9e5e-8851fb3f4911"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-09-28T21:00:48.4819948Z","updatedOn":"2020-09-28T21:00:48.4819948Z","createdBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","updatedBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c3f148f0-1373-48ba-ba19-cd15cd8bf7a6","type":"Microsoft.Authorization/roleAssignments","name":"c3f148f0-1373-48ba-ba19-cd15cd8bf7a6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-09-29T10:55:39.3762731Z","updatedOn":"2020-09-29T10:55:39.3762731Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/41e159ac-411a-4eed-b319-5b92571d2950","type":"Microsoft.Authorization/roleAssignments","name":"41e159ac-411a-4eed-b319-5b92571d2950"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-09-30T10:01:31.6109834Z","updatedOn":"2020-09-30T10:01:31.6109834Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/728fd3ed-0a93-4cad-96b6-ca2b85b98308","type":"Microsoft.Authorization/roleAssignments","name":"728fd3ed-0a93-4cad-96b6-ca2b85b98308"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-05T23:00:10.5454113Z","updatedOn":"2020-10-05T23:00:10.5454113Z","createdBy":"9404195a-2cde-4a10-b88c-e7b41572bf31","updatedBy":"9404195a-2cde-4a10-b88c-e7b41572bf31","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f1bf27f9-8b8f-46f0-8b54-3d0b5a10455d","type":"Microsoft.Authorization/roleAssignments","name":"f1bf27f9-8b8f-46f0-8b54-3d0b5a10455d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-06T00:33:22.8792900Z","updatedOn":"2020-10-06T00:33:22.8792900Z","createdBy":"e29d79eb-7dfc-4583-b360-d45d39625c97","updatedBy":"e29d79eb-7dfc-4583-b360-d45d39625c97","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/24d0c5e6-0763-11eb-82a0-d636039e345c","type":"Microsoft.Authorization/roleAssignments","name":"24d0c5e6-0763-11eb-82a0-d636039e345c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-06T07:31:31.4976753Z","updatedOn":"2020-10-06T07:31:31.4976753Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/8166f5c5-5401-43da-8e43-553f34ba5c1f","type":"Microsoft.Authorization/roleAssignments","name":"8166f5c5-5401-43da-8e43-553f34ba5c1f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-08T00:00:18.1887050Z","updatedOn":"2020-10-08T00:00:18.1887050Z","createdBy":"09914860-7ec9-4151-8431-31797899a359","updatedBy":"09914860-7ec9-4151-8431-31797899a359","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/1e5c915f-e276-400d-a6f0-9b8f202aee98","type":"Microsoft.Authorization/roleAssignments","name":"1e5c915f-e276-400d-a6f0-9b8f202aee98"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-12T23:56:24.2246134Z","updatedOn":"2020-10-12T23:56:24.2246134Z","createdBy":"8ff738a5-abcd-4864-a162-6c18f7c9cbd9","updatedBy":"8ff738a5-abcd-4864-a162-6c18f7c9cbd9","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/dc3b4af3-e20c-4662-90fc-c3879a6c521c","type":"Microsoft.Authorization/roleAssignments","name":"dc3b4af3-e20c-4662-90fc-c3879a6c521c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-14T00:29:42.9981174Z","updatedOn":"2020-10-14T00:29:42.9981174Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c6af4ef5-80f6-4303-a641-45689a1646dc","type":"Microsoft.Authorization/roleAssignments","name":"c6af4ef5-80f6-4303-a641-45689a1646dc"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-15T03:35:43.8283383Z","updatedOn":"2020-10-15T03:35:43.8283383Z","createdBy":"2fda9054-fc12-457c-bb93-614f1f13426b","updatedBy":"2fda9054-fc12-457c-bb93-614f1f13426b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/64d06112-fceb-476a-b426-6843c25208ae","type":"Microsoft.Authorization/roleAssignments","name":"64d06112-fceb-476a-b426-6843c25208ae"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-16T16:42:17.7175670Z","updatedOn":"2020-10-16T16:42:17.7175670Z","createdBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","updatedBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/5854c7a2-cf00-46f9-9cc1-d977f34324df","type":"Microsoft.Authorization/roleAssignments","name":"5854c7a2-cf00-46f9-9cc1-d977f34324df"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-19T03:59:55.8915203Z","updatedOn":"2020-10-19T03:59:55.8915203Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6d449bc1-f3b3-4d07-94e5-9c78a799099f","type":"Microsoft.Authorization/roleAssignments","name":"6d449bc1-f3b3-4d07-94e5-9c78a799099f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-20T10:18:15.8804322Z","updatedOn":"2020-10-20T10:18:15.8804322Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/06a0e1fb-af3e-4fa2-815f-848a6d176225","type":"Microsoft.Authorization/roleAssignments","name":"06a0e1fb-af3e-4fa2-815f-848a6d176225"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-22T06:46:57.6492498Z","updatedOn":"2020-10-22T06:46:57.6492498Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/fc3170b4-3674-455d-b7af-8b3056ffd4bd","type":"Microsoft.Authorization/roleAssignments","name":"fc3170b4-3674-455d-b7af-8b3056ffd4bd"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-26T09:32:54.3608737Z","updatedOn":"2020-10-26T09:32:54.3608737Z","createdBy":"f058371f-0c0e-46bb-a5d4-f8aec637a467","updatedBy":"f058371f-0c0e-46bb-a5d4-f8aec637a467","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/209640f3-25d8-4e30-b857-d64304235a61","type":"Microsoft.Authorization/roleAssignments","name":"209640f3-25d8-4e30-b857-d64304235a61"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-29T18:40:28.9870114Z","updatedOn":"2020-10-29T18:40:28.9870114Z","createdBy":"febf609b-90d8-4d63-bffb-c12ccb094696","updatedBy":"febf609b-90d8-4d63-bffb-c12ccb094696","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/62a8bb96-2a77-4216-bd60-17b4b6e0a4c4","type":"Microsoft.Authorization/roleAssignments","name":"62a8bb96-2a77-4216-bd60-17b4b6e0a4c4"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-02T09:02:29.2637630Z","updatedOn":"2020-11-02T09:02:29.2637630Z","createdBy":"a5c919a9-89c9-45fb-880a-5e3e0b4fcb84","updatedBy":"a5c919a9-89c9-45fb-880a-5e3e0b4fcb84","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0ad1faa8-8680-4dec-a768-050e8349af33","type":"Microsoft.Authorization/roleAssignments","name":"0ad1faa8-8680-4dec-a768-050e8349af33"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-03T21:58:18.9397159Z","updatedOn":"2020-11-03T21:58:18.9397159Z","createdBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","updatedBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/fbba25e5-561b-4364-8755-515a24434085","type":"Microsoft.Authorization/roleAssignments","name":"fbba25e5-561b-4364-8755-515a24434085"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-03T22:00:44.4523883Z","updatedOn":"2020-11-03T22:00:44.4523883Z","createdBy":"478fdd79-cb11-45ed-8725-382321c0f7fd","updatedBy":"478fdd79-cb11-45ed-8725-382321c0f7fd","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/908aa5ac-22a2-413a-9333-fcb0a1ba2c59","type":"Microsoft.Authorization/roleAssignments","name":"908aa5ac-22a2-413a-9333-fcb0a1ba2c59"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-09T14:00:59.0347294Z","updatedOn":"2020-11-09T14:00:59.0347294Z","createdBy":"09914860-7ec9-4151-8431-31797899a359","updatedBy":"09914860-7ec9-4151-8431-31797899a359","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e9541f93-ea4a-4b1b-98bf-839fecfcaa22","type":"Microsoft.Authorization/roleAssignments","name":"e9541f93-ea4a-4b1b-98bf-839fecfcaa22"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-10T00:12:49.4151006Z","updatedOn":"2020-11-10T00:12:49.4151006Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c13e8fa1-ee9a-460a-910e-eaecab956199","type":"Microsoft.Authorization/roleAssignments","name":"c13e8fa1-ee9a-460a-910e-eaecab956199"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-10T00:15:19.8671906Z","updatedOn":"2020-11-10T00:15:19.8671906Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2246ec23-fc97-4e82-b67c-04743087f63d","type":"Microsoft.Authorization/roleAssignments","name":"2246ec23-fc97-4e82-b67c-04743087f63d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-10T12:48:43.1056692Z","updatedOn":"2020-11-10T12:48:43.1056692Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/dc924d22-cbb3-4f1d-a3c5-e803c30b8428","type":"Microsoft.Authorization/roleAssignments","name":"dc924d22-cbb3-4f1d-a3c5-e803c30b8428"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-18T00:19:23.7906492Z","updatedOn":"2020-11-18T00:19:23.7906492Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2e9f22fc-e6c1-4376-a65d-4553c0daee64","type":"Microsoft.Authorization/roleAssignments","name":"2e9f22fc-e6c1-4376-a65d-4553c0daee64"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-19T12:24:03.7391153Z","updatedOn":"2020-11-19T12:24:03.7391153Z","createdBy":"09914860-7ec9-4151-8431-31797899a359","updatedBy":"09914860-7ec9-4151-8431-31797899a359","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a29c25cf-6027-4031-8c68-12c812d4e4d7","type":"Microsoft.Authorization/roleAssignments","name":"a29c25cf-6027-4031-8c68-12c812d4e4d7"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-20T01:41:11.3355841Z","updatedOn":"2020-11-20T01:41:11.3355841Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e19e243a-0497-4c83-a9e1-b6d622c5cadf","type":"Microsoft.Authorization/roleAssignments","name":"e19e243a-0497-4c83-a9e1-b6d622c5cadf"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-24T06:03:13.0460581Z","updatedOn":"2020-11-24T06:03:13.0460581Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/bdd0bce4-39a5-47f7-836c-6295639cc0e1","type":"Microsoft.Authorization/roleAssignments","name":"bdd0bce4-39a5-47f7-836c-6295639cc0e1"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-26T03:01:44.6247690Z","updatedOn":"2020-11-26T03:01:44.6247690Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/7a3cddac-b7c4-4e13-ad0d-25a1f8db0394","type":"Microsoft.Authorization/roleAssignments","name":"7a3cddac-b7c4-4e13-ad0d-25a1f8db0394"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-12-02T07:09:05.7656072Z","updatedOn":"2020-12-02T07:09:05.7656072Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/62cb656e-c531-4da8-9837-fc956269c6e0","type":"Microsoft.Authorization/roleAssignments","name":"62cb656e-c531-4da8-9837-fc956269c6e0"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-12-04T03:28:35.2284735Z","updatedOn":"2020-12-04T03:28:35.2284735Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/9bc8c2c0-90e6-4346-a844-f9f401472a4d","type":"Microsoft.Authorization/roleAssignments","name":"9bc8c2c0-90e6-4346-a844-f9f401472a4d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-12-04T06:53:38.6367823Z","updatedOn":"2020-12-04T06:53:38.6367823Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/22700fef-7289-4005-937a-e4d08881da8c","type":"Microsoft.Authorization/roleAssignments","name":"22700fef-7289-4005-937a-e4d08881da8c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-12-04T08:16:05.6118991Z","updatedOn":"2020-12-04T08:16:05.6118991Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/15dbe638-db5c-45ad-9e4e-3bee28587281","type":"Microsoft.Authorization/roleAssignments","name":"15dbe638-db5c-45ad-9e4e-3bee28587281"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-12-07T12:37:13.7841746Z","updatedOn":"2020-12-07T12:37:13.7841746Z","createdBy":"a5c919a9-89c9-45fb-880a-5e3e0b4fcb84","updatedBy":"a5c919a9-89c9-45fb-880a-5e3e0b4fcb84","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c7eecba5-f37b-4db4-8818-a650f8b5b8de","type":"Microsoft.Authorization/roleAssignments","name":"c7eecba5-f37b-4db4-8818-a650f8b5b8de"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-12-18T08:00:24.9874024Z","updatedOn":"2020-12-18T08:00:24.9874024Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/7f60817e-27b5-486b-bbdb-b748bcb752d4","type":"Microsoft.Authorization/roleAssignments","name":"7f60817e-27b5-486b-bbdb-b748bcb752d4"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-12-24T11:54:27.7394442Z","updatedOn":"2020-12-24T11:54:27.7394442Z","createdBy":"e073490c-1bbd-4bac-9bd1-5584fec82ff0","updatedBy":"e073490c-1bbd-4bac-9bd1-5584fec82ff0","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/90534c90-22d5-4e15-ae4c-009340273136","type":"Microsoft.Authorization/roleAssignments","name":"90534c90-22d5-4e15-ae4c-009340273136"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-12-30T11:06:51.2887287Z","updatedOn":"2020-12-30T11:06:51.2887287Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/1cbe1756-4a8f-11eb-b753-720008210d90","type":"Microsoft.Authorization/roleAssignments","name":"1cbe1756-4a8f-11eb-b753-720008210d90"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-01-13T06:12:19.1847916Z","updatedOn":"2021-01-13T06:12:19.1847916Z","createdBy":"241cd743-2c33-4860-bd3a-1df659c06eef","updatedBy":"241cd743-2c33-4860-bd3a-1df659c06eef","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/498bf4f6-5566-11eb-a35b-acde48001122","type":"Microsoft.Authorization/roleAssignments","name":"498bf4f6-5566-11eb-a35b-acde48001122"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-01-13T21:55:46.0921361Z","updatedOn":"2021-01-13T21:55:46.0921361Z","createdBy":"478fdd79-cb11-45ed-8725-382321c0f7fd","updatedBy":"478fdd79-cb11-45ed-8725-382321c0f7fd","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d900b70f-235d-4d37-bf50-ca514e3001a1","type":"Microsoft.Authorization/roleAssignments","name":"d900b70f-235d-4d37-bf50-ca514e3001a1"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-01-26T20:35:14.0496305Z","updatedOn":"2021-01-26T20:35:14.0496305Z","createdBy":"febf609b-90d8-4d63-bffb-c12ccb094696","updatedBy":"febf609b-90d8-4d63-bffb-c12ccb094696","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/be76f04c-520c-4d95-b6b3-e7fce3f55948","type":"Microsoft.Authorization/roleAssignments","name":"be76f04c-520c-4d95-b6b3-e7fce3f55948"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-04T05:54:29.9691652Z","updatedOn":"2021-02-04T05:54:29.9691652Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4710c459-25c6-45b9-a906-3687060df1a2","type":"Microsoft.Authorization/roleAssignments","name":"4710c459-25c6-45b9-a906-3687060df1a2"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-04T06:52:05.2038586Z","updatedOn":"2021-02-04T06:52:05.2038586Z","createdBy":"8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9","updatedBy":"8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/fdf6a314-3605-4944-96c1-08b7364dba54","type":"Microsoft.Authorization/roleAssignments","name":"fdf6a314-3605-4944-96c1-08b7364dba54"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-05T01:06:29.5543610Z","updatedOn":"2021-02-05T01:06:29.5543610Z","createdBy":"53bb8815-874d-4b05-9953-1158e05aa080","updatedBy":"53bb8815-874d-4b05-9953-1158e05aa080","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f2caf434-97c9-440f-9ad3-541ae6bd9528","type":"Microsoft.Authorization/roleAssignments","name":"f2caf434-97c9-440f-9ad3-541ae6bd9528"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-11T22:26:14.1444510Z","updatedOn":"2021-02-11T22:26:14.1444510Z","createdBy":"4aed2078-2d27-4c18-95f7-fef3c0fe91ca","updatedBy":"4aed2078-2d27-4c18-95f7-fef3c0fe91ca","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a8602643-a0c2-45c4-980c-dc2b618d13b8","type":"Microsoft.Authorization/roleAssignments","name":"a8602643-a0c2-45c4-980c-dc2b618d13b8"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-16T19:18:13.7025371Z","updatedOn":"2021-02-16T19:18:13.7025371Z","createdBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","updatedBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b2d72c2f-d4c0-4c45-9908-90fda72c868d","type":"Microsoft.Authorization/roleAssignments","name":"b2d72c2f-d4c0-4c45-9908-90fda72c868d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-16T22:20:01.8102926Z","updatedOn":"2021-02-16T22:20:01.8102926Z","createdBy":"53bb8815-874d-4b05-9953-1158e05aa080","updatedBy":"53bb8815-874d-4b05-9953-1158e05aa080","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b7aa1f69-60a8-4bb9-a624-857052576335","type":"Microsoft.Authorization/roleAssignments","name":"b7aa1f69-60a8-4bb9-a624-857052576335"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-17T00:37:53.4699042Z","updatedOn":"2021-02-17T00:37:53.4699042Z","createdBy":"e5ad6d43-d6ac-4061-84cc-f7cb826200a0","updatedBy":"e5ad6d43-d6ac-4061-84cc-f7cb826200a0","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c06abb18-9697-41f9-9410-ff0ee9b13ab9","type":"Microsoft.Authorization/roleAssignments","name":"c06abb18-9697-41f9-9410-ff0ee9b13ab9"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-17T01:26:55.0758483Z","updatedOn":"2021-02-17T01:26:55.0758483Z","createdBy":"df7de5cc-1fc8-462d-be1d-bcbc2576454a","updatedBy":"df7de5cc-1fc8-462d-be1d-bcbc2576454a","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/9812b416-33c9-4b88-bcdb-6b8406dd319f","type":"Microsoft.Authorization/roleAssignments","name":"9812b416-33c9-4b88-bcdb-6b8406dd319f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-17T01:38:17.8125104Z","updatedOn":"2021-02-17T01:38:17.8125104Z","createdBy":"478fdd79-cb11-45ed-8725-382321c0f7fd","updatedBy":"478fdd79-cb11-45ed-8725-382321c0f7fd","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/82e0c83f-b7dd-49f6-b501-ff05951db69d","type":"Microsoft.Authorization/roleAssignments","name":"82e0c83f-b7dd-49f6-b501-ff05951db69d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-17T01:57:59.0655876Z","updatedOn":"2021-02-17T01:57:59.0655876Z","createdBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","updatedBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c9f0c587-7611-45ba-afb2-200499c8d4e0","type":"Microsoft.Authorization/roleAssignments","name":"c9f0c587-7611-45ba-afb2-200499c8d4e0"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-19T01:25:51.9967288Z","updatedOn":"2021-02-19T01:25:51.9967288Z","createdBy":"9404195a-2cde-4a10-b88c-e7b41572bf31","updatedBy":"9404195a-2cde-4a10-b88c-e7b41572bf31","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2e4ab306-7ae7-4867-8e22-90215bdbeb9a","type":"Microsoft.Authorization/roleAssignments","name":"2e4ab306-7ae7-4867-8e22-90215bdbeb9a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-25T05:50:56.3200305Z","updatedOn":"2021-02-25T05:50:56.3200305Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/5f5c2b9b-b76d-442c-8442-cdca92ea4450","type":"Microsoft.Authorization/roleAssignments","name":"5f5c2b9b-b76d-442c-8442-cdca92ea4450"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-25T06:10:47.8694922Z","updatedOn":"2021-02-25T06:10:47.8694922Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ded78aee-c6bf-4c93-a2c6-4c3388c55936","type":"Microsoft.Authorization/roleAssignments","name":"ded78aee-c6bf-4c93-a2c6-4c3388c55936"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-01T19:36:24.0325431Z","updatedOn":"2021-03-01T19:36:24.0325431Z","createdBy":"5ecb1531-0d8c-4a89-93cb-1b48b2224358","updatedBy":"5ecb1531-0d8c-4a89-93cb-1b48b2224358","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a11a3823-3c3c-4a0a-ab63-e809248b39d6","type":"Microsoft.Authorization/roleAssignments","name":"a11a3823-3c3c-4a0a-ab63-e809248b39d6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-01T21:51:55.4255791Z","updatedOn":"2021-03-01T21:51:55.4255791Z","createdBy":"ad232e99-5e1b-414e-aa53-96ae40d39f3e","updatedBy":"ad232e99-5e1b-414e-aa53-96ae40d39f3e","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/36175f2d-f556-464e-a509-19cbb3f45909","type":"Microsoft.Authorization/roleAssignments","name":"36175f2d-f556-464e-a509-19cbb3f45909"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-28T18:57:43.7674845Z","updatedOn":"2020-04-28T18:57:43.7674845Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/89ef5a42-558f-4dc2-a21d-61f47f87c5aa","type":"Microsoft.Authorization/roleAssignments","name":"89ef5a42-558f-4dc2-a21d-61f47f87c5aa"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-28T17:11:43.4784066Z","updatedOn":"2020-04-28T17:11:43.4784066Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c7a17f89-6fda-4d7f-9024-279fe7c46b9e","type":"Microsoft.Authorization/roleAssignments","name":"c7a17f89-6fda-4d7f-9024-279fe7c46b9e"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-28T17:15:20.6839476Z","updatedOn":"2020-04-28T17:15:20.6839476Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b677c994-5d2c-4d21-8772-4a770c383a69","type":"Microsoft.Authorization/roleAssignments","name":"b677c994-5d2c-4d21-8772-4a770c383a69"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-29T03:41:37.0700725Z","updatedOn":"2020-04-29T03:41:37.0700725Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f2790ff5-c68c-4783-bfbe-0c7210b1320d","type":"Microsoft.Authorization/roleAssignments","name":"f2790ff5-c68c-4783-bfbe-0c7210b1320d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-29T03:43:26.9737395Z","updatedOn":"2020-04-29T03:43:26.9737395Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/64ded23e-c648-452f-a53e-2bb0b1947293","type":"Microsoft.Authorization/roleAssignments","name":"64ded23e-c648-452f-a53e-2bb0b1947293"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-28T17:14:00.0562525Z","updatedOn":"2020-04-28T17:14:00.0562525Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/eaece071-786c-479c-a0b0-5c41d876600c","type":"Microsoft.Authorization/roleAssignments","name":"eaece071-786c-479c-a0b0-5c41d876600c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-01T17:17:32.8545165Z","updatedOn":"2020-05-01T17:17:32.8545165Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/5b13726e-0868-475f-9d6f-e19ed5886a5e","type":"Microsoft.Authorization/roleAssignments","name":"5b13726e-0868-475f-9d6f-e19ed5886a5e"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-01T17:22:00.3902257Z","updatedOn":"2020-05-01T17:22:00.3902257Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/aa99e113-3d5e-4fb5-ac2a-f34b0bf0aa32","type":"Microsoft.Authorization/roleAssignments","name":"aa99e113-3d5e-4fb5-ac2a-f34b0bf0aa32"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-29T00:04:19.0452651Z","updatedOn":"2020-04-29T00:04:19.0452651Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/593f0b85-3d78-43c8-a842-abfb4eab0a9b","type":"Microsoft.Authorization/roleAssignments","name":"593f0b85-3d78-43c8-a842-abfb4eab0a9b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2018-05-03T20:35:52.7357152Z","updatedOn":"2018-05-03T20:35:52.7357152Z","createdBy":"b87c5c16-4f0e-4af2-9b2e-20f25d6b5a3f","updatedBy":"b87c5c16-4f0e-4af2-9b2e-20f25d6b5a3f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4665dbd4-b405-4cc3-9321-1bee27e6101c","type":"Microsoft.Authorization/roleAssignments","name":"4665dbd4-b405-4cc3-9321-1bee27e6101c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-11T13:25:07.0669336Z","updatedOn":"2020-02-11T13:25:07.0669336Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b8056eb0-60e9-433c-85f9-f2c9289fc1a2","type":"Microsoft.Authorization/roleAssignments","name":"b8056eb0-60e9-433c-85f9-f2c9289fc1a2"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-04-22T06:41:53.1813823Z","updatedOn":"2019-04-22T06:41:53.1813823Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6b620efc-0123-402f-8462-1f1b47168729","type":"Microsoft.Authorization/roleAssignments","name":"6b620efc-0123-402f-8462-1f1b47168729"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-21T03:42:13.8891609Z","updatedOn":"2020-02-21T03:42:13.8891609Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c41b0416-12e4-49bb-9e35-411e4f409102","type":"Microsoft.Authorization/roleAssignments","name":"c41b0416-12e4-49bb-9e35-411e4f409102"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-27T17:05:13.7273840Z","updatedOn":"2020-04-27T17:05:13.7273840Z","createdBy":"ef34ad48-5675-4480-8fe7-a6cc394b97c4","updatedBy":"ef34ad48-5675-4480-8fe7-a6cc394b97c4","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/9e06e920-0fc3-47a8-867a-ce7804818059","type":"Microsoft.Authorization/roleAssignments","name":"9e06e920-0fc3-47a8-867a-ce7804818059"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-22T07:53:45.7192431Z","updatedOn":"2020-04-22T07:53:45.7192431Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0d01cbd3-f3e3-4712-95c6-cf07a0224887","type":"Microsoft.Authorization/roleAssignments","name":"0d01cbd3-f3e3-4712-95c6-cf07a0224887"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-10-25T03:10:56.6742842Z","updatedOn":"2019-10-25T03:10:56.6742842Z","createdBy":"09914860-7ec9-4151-8431-31797899a359","updatedBy":"09914860-7ec9-4151-8431-31797899a359","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c94cb5f8-6d0c-4405-be47-b599a43f2bde","type":"Microsoft.Authorization/roleAssignments","name":"c94cb5f8-6d0c-4405-be47-b599a43f2bde"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-08T22:51:35.8836739Z","updatedOn":"2020-04-08T22:51:35.8836739Z","createdBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","updatedBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e35806bd-ef22-4a25-80d9-9429df6254c6","type":"Microsoft.Authorization/roleAssignments","name":"e35806bd-ef22-4a25-80d9-9429df6254c6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2017-06-16T23:32:44.3548155Z","updatedOn":"2017-06-16T23:32:44.3548155Z","createdBy":"f115a02a-6f42-4297-aabb-f0f6022ee60b","updatedBy":"f115a02a-6f42-4297-aabb-f0f6022ee60b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c2330a8b-4550-4dcf-841a-88553080079b","type":"Microsoft.Authorization/roleAssignments","name":"c2330a8b-4550-4dcf-841a-88553080079b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-03-25T08:26:29.8675330Z","updatedOn":"2020-03-25T08:26:29.8675330Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d00f7f11-a22d-4bb3-a016-07d2ba2b13c0","type":"Microsoft.Authorization/roleAssignments","name":"d00f7f11-a22d-4bb3-a016-07d2ba2b13c0"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-09-14T02:15:59.1199760Z","updatedOn":"2019-09-14T02:15:59.1199760Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/593989ab-0941-462b-aeba-5aba52f8755b","type":"Microsoft.Authorization/roleAssignments","name":"593989ab-0941-462b-aeba-5aba52f8755b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-14T21:19:25.3668580Z","updatedOn":"2020-05-14T21:19:25.3668580Z","createdBy":"82f25a3e-d28d-4c27-90d6-d92c79d98936","updatedBy":"82f25a3e-d28d-4c27-90d6-d92c79d98936","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/668f3f0e-bbb7-42d3-9ab1-1482922c06a7","type":"Microsoft.Authorization/roleAssignments","name":"668f3f0e-bbb7-42d3-9ab1-1482922c06a7"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-07T00:35:48.4591165Z","updatedOn":"2020-05-07T00:35:48.4591165Z","createdBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","updatedBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ff740118-1a0b-4bf5-8f2a-c555e9923ea3","type":"Microsoft.Authorization/roleAssignments","name":"ff740118-1a0b-4bf5-8f2a-c555e9923ea3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-10-10T19:44:02.6434834Z","updatedOn":"2019-10-10T19:44:02.6434834Z","createdBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","updatedBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ecd71fb9-414b-496d-ba90-8be383086b97","type":"Microsoft.Authorization/roleAssignments","name":"ecd71fb9-414b-496d-ba90-8be383086b97"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-09-23T02:06:16.8281713Z","updatedOn":"2019-09-23T02:06:16.8281713Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a301a171-6505-42c5-a8b2-bcf09674b59c","type":"Microsoft.Authorization/roleAssignments","name":"a301a171-6505-42c5-a8b2-bcf09674b59c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-05T05:29:51.2703674Z","updatedOn":"2020-02-05T05:29:51.2703674Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/382ca8aa-eaac-49fb-8a33-ad06c08ae449","type":"Microsoft.Authorization/roleAssignments","name":"382ca8aa-eaac-49fb-8a33-ad06c08ae449"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-01-08T12:55:39.9212416Z","updatedOn":"2020-01-08T12:55:39.9212416Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/081427e9-c895-4903-8573-77da86dcdae1","type":"Microsoft.Authorization/roleAssignments","name":"081427e9-c895-4903-8573-77da86dcdae1"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-20T22:22:14.0297869Z","updatedOn":"2020-04-20T22:22:14.0297869Z","createdBy":"53bb8815-874d-4b05-9953-1158e05aa080","updatedBy":"53bb8815-874d-4b05-9953-1158e05aa080","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/966ec633-e653-441f-910c-8536f7899f69","type":"Microsoft.Authorization/roleAssignments","name":"966ec633-e653-441f-910c-8536f7899f69"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-30T06:27:35.9310363Z","updatedOn":"2020-04-30T06:27:35.9310363Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6a1327e4-100e-43ee-b04e-1403969b805b","type":"Microsoft.Authorization/roleAssignments","name":"6a1327e4-100e-43ee-b04e-1403969b805b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-06-13T06:44:49.9960198Z","updatedOn":"2019-06-13T06:44:49.9960198Z","createdBy":"f058371f-0c0e-46bb-a5d4-f8aec637a467","updatedBy":"f058371f-0c0e-46bb-a5d4-f8aec637a467","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/33958269-41a0-400a-91a1-6303d954c8f0","type":"Microsoft.Authorization/roleAssignments","name":"33958269-41a0-400a-91a1-6303d954c8f0"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-01-27T19:05:00.2764645Z","updatedOn":"2020-01-27T19:05:00.2764645Z","createdBy":"4744d4c9-1026-421b-87ce-b102213af921","updatedBy":"4744d4c9-1026-421b-87ce-b102213af921","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f0575c6a-aabc-4a2e-b169-379b64f33f8a","type":"Microsoft.Authorization/roleAssignments","name":"f0575c6a-aabc-4a2e-b169-379b64f33f8a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-26T16:21:06.7365340Z","updatedOn":"2020-05-26T16:21:06.7365340Z","createdBy":"ef34ad48-5675-4480-8fe7-a6cc394b97c4","updatedBy":"ef34ad48-5675-4480-8fe7-a6cc394b97c4","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/19a3bbc1-fca8-4ec6-b0e9-7d6861207524","type":"Microsoft.Authorization/roleAssignments","name":"19a3bbc1-fca8-4ec6-b0e9-7d6861207524"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-10-26T00:57:22.8153925Z","updatedOn":"2019-10-26T00:57:22.8153925Z","createdBy":"2fda9054-fc12-457c-bb93-614f1f13426b","updatedBy":"2fda9054-fc12-457c-bb93-614f1f13426b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/8722a1fb-4828-4f43-aa59-0385179b3a05","type":"Microsoft.Authorization/roleAssignments","name":"8722a1fb-4828-4f43-aa59-0385179b3a05"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-30T06:27:35.9911337Z","updatedOn":"2020-04-30T06:27:35.9911337Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/85726f1f-9e4c-415a-b56f-d8e799aaa96d","type":"Microsoft.Authorization/roleAssignments","name":"85726f1f-9e4c-415a-b56f-d8e799aaa96d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-27T21:08:14.8085926Z","updatedOn":"2020-02-27T21:08:14.8085926Z","createdBy":"ef34ad48-5675-4480-8fe7-a6cc394b97c4","updatedBy":"ef34ad48-5675-4480-8fe7-a6cc394b97c4","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/742a0f1a-fbf1-46f1-929d-de8871fc1193","type":"Microsoft.Authorization/roleAssignments","name":"742a0f1a-fbf1-46f1-929d-de8871fc1193"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-01T23:19:45.4260771Z","updatedOn":"2020-05-01T23:19:45.4260771Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/90e2b70f-7104-4f75-b6a5-e7226e497378","type":"Microsoft.Authorization/roleAssignments","name":"90e2b70f-7104-4f75-b6a5-e7226e497378"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-04-16T02:04:22.4782415Z","updatedOn":"2019-04-16T02:04:22.4782415Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/bacdb283-653c-47eb-a578-11743d7898f8","type":"Microsoft.Authorization/roleAssignments","name":"bacdb283-653c-47eb-a578-11743d7898f8"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-04T02:07:58.4393297Z","updatedOn":"2020-02-04T02:07:58.4393297Z","createdBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","updatedBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e46a2f7d-e088-47e2-952f-a0a4818b3825","type":"Microsoft.Authorization/roleAssignments","name":"e46a2f7d-e088-47e2-952f-a0a4818b3825"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-03-26T08:05:19.1222694Z","updatedOn":"2020-03-26T08:05:19.1222694Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/1f46adf6-1c16-4743-b3ac-35cd30452c6b","type":"Microsoft.Authorization/roleAssignments","name":"1f46adf6-1c16-4743-b3ac-35cd30452c6b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-07T00:35:48.6619455Z","updatedOn":"2020-05-07T00:35:48.6619455Z","createdBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","updatedBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/052d4514-701f-41dd-8171-4e8cfab148a6","type":"Microsoft.Authorization/roleAssignments","name":"052d4514-701f-41dd-8171-4e8cfab148a6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-03-27T09:09:33.7347978Z","updatedOn":"2020-03-27T09:09:33.7347978Z","createdBy":"09914860-7ec9-4151-8431-31797899a359","updatedBy":"09914860-7ec9-4151-8431-31797899a359","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6d355b17-e9d6-47b7-9181-b54ad0083793","type":"Microsoft.Authorization/roleAssignments","name":"6d355b17-e9d6-47b7-9181-b54ad0083793"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-03-19T02:50:30.0038186Z","updatedOn":"2019-03-19T02:50:30.0038186Z","createdBy":"b47f071a-d6c9-4297-954e-83151fff489b","updatedBy":"b47f071a-d6c9-4297-954e-83151fff489b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/26adec15-a0e4-4b2e-a437-9b545b9723fc","type":"Microsoft.Authorization/roleAssignments","name":"26adec15-a0e4-4b2e-a437-9b545b9723fc"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-04-17T00:50:00.2288905Z","updatedOn":"2019-04-17T00:50:00.2288905Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0e873fd7-4bdb-4df5-a510-c15f3ce99cd6","type":"Microsoft.Authorization/roleAssignments","name":"0e873fd7-4bdb-4df5-a510-c15f3ce99cd6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-23T03:53:49.9358521Z","updatedOn":"2020-06-23T03:53:49.9358521Z","createdBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","updatedBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/02a0e839-adb0-448c-84f0-3a3f82ef8430","type":"Microsoft.Authorization/roleAssignments","name":"02a0e839-adb0-448c-84f0-3a3f82ef8430"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-08T07:40:31.7235048Z","updatedOn":"2020-05-08T07:40:31.7235048Z","createdBy":"09914860-7ec9-4151-8431-31797899a359","updatedBy":"09914860-7ec9-4151-8431-31797899a359","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/cbfa0c0c-2653-4fb8-b9e5-d41bd96053a7","type":"Microsoft.Authorization/roleAssignments","name":"cbfa0c0c-2653-4fb8-b9e5-d41bd96053a7"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-02T17:06:57.1466814Z","updatedOn":"2020-06-02T17:06:57.1466814Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ab903dde-d229-446d-b429-c1618b8aef5e","type":"Microsoft.Authorization/roleAssignments","name":"ab903dde-d229-446d-b429-c1618b8aef5e"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-29T03:34:09.1452976Z","updatedOn":"2020-04-29T03:34:09.1452976Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/feb76a5e-7bed-4bc8-b481-14bbb109bc33","type":"Microsoft.Authorization/roleAssignments","name":"feb76a5e-7bed-4bc8-b481-14bbb109bc33"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-15T10:16:20.3297126Z","updatedOn":"2020-04-15T10:16:20.3297126Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0db6da93-ca6a-4b5a-8c44-7a3f2003d03c","type":"Microsoft.Authorization/roleAssignments","name":"0db6da93-ca6a-4b5a-8c44-7a3f2003d03c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-01-13T05:17:20.7354482Z","updatedOn":"2020-01-13T05:17:20.7354482Z","createdBy":"09914860-7ec9-4151-8431-31797899a359","updatedBy":"09914860-7ec9-4151-8431-31797899a359","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e5a79ae7-7137-416f-a2cd-4b273ca62d5f","type":"Microsoft.Authorization/roleAssignments","name":"e5a79ae7-7137-416f-a2cd-4b273ca62d5f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-24T19:37:33.7189313Z","updatedOn":"2020-02-24T19:37:33.7189313Z","createdBy":"f31399da-e7ed-4fe4-a825-a9dff4f53481","updatedBy":"f31399da-e7ed-4fe4-a825-a9dff4f53481","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d1964993-fb9d-4be1-982f-fcd6ca7cd493","type":"Microsoft.Authorization/roleAssignments","name":"d1964993-fb9d-4be1-982f-fcd6ca7cd493"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2017-05-22T23:26:54.3208785Z","updatedOn":"2017-05-22T23:26:54.3208785Z","createdBy":"b09a0928-3846-4efb-a579-8540fb78b0a3","updatedBy":"b09a0928-3846-4efb-a579-8540fb78b0a3","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2d149cfb-bc18-48f8-b769-8a0cafd11bee","type":"Microsoft.Authorization/roleAssignments","name":"2d149cfb-bc18-48f8-b769-8a0cafd11bee"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-07T02:09:11.3539299Z","updatedOn":"2020-05-07T02:09:11.3539299Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/5124598f-5127-4efc-9b15-9276948fe202","type":"Microsoft.Authorization/roleAssignments","name":"5124598f-5127-4efc-9b15-9276948fe202"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-18T23:40:26.3271411Z","updatedOn":"2020-02-18T23:40:26.3271411Z","createdBy":"f31399da-e7ed-4fe4-a825-a9dff4f53481","updatedBy":"f31399da-e7ed-4fe4-a825-a9dff4f53481","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/27f9c0cd-fbc1-4810-a9f9-804efad4beec","type":"Microsoft.Authorization/roleAssignments","name":"27f9c0cd-fbc1-4810-a9f9-804efad4beec"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-02T10:52:21.7337863Z","updatedOn":"2020-04-02T10:52:21.7337863Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/54ff849a-1ced-4a28-b675-6bca70a82033","type":"Microsoft.Authorization/roleAssignments","name":"54ff849a-1ced-4a28-b675-6bca70a82033"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-16T07:25:52.5298801Z","updatedOn":"2020-04-16T07:25:52.5298801Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/65fd85a7-3057-4f7f-86bd-0c36a612f483","type":"Microsoft.Authorization/roleAssignments","name":"65fd85a7-3057-4f7f-86bd-0c36a612f483"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-22T21:44:38.6097605Z","updatedOn":"2020-05-22T21:44:38.6097605Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0a2d331c-57c6-48be-9d5f-f49da541fc7e","type":"Microsoft.Authorization/roleAssignments","name":"0a2d331c-57c6-48be-9d5f-f49da541fc7e"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-04T21:30:10.6978339Z","updatedOn":"2020-02-04T21:30:10.6978339Z","createdBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","updatedBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/91ea4b88-79c1-4163-bf5c-760b8add6d79","type":"Microsoft.Authorization/roleAssignments","name":"91ea4b88-79c1-4163-bf5c-760b8add6d79"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-03T05:33:46.3567584Z","updatedOn":"2020-04-03T05:33:46.3567584Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4f9fed67-4a0b-4f9d-870e-66a508cb73eb","type":"Microsoft.Authorization/roleAssignments","name":"4f9fed67-4a0b-4f9d-870e-66a508cb73eb"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-01-24T16:54:45.9590630Z","updatedOn":"2020-01-24T16:54:45.9590630Z","createdBy":"b87c5c16-4f0e-4af2-9b2e-20f25d6b5a3f","updatedBy":"b87c5c16-4f0e-4af2-9b2e-20f25d6b5a3f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/04741a9e-7efb-41cc-b79c-8c725cc7563b","type":"Microsoft.Authorization/roleAssignments","name":"04741a9e-7efb-41cc-b79c-8c725cc7563b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-08-02T07:18:21.5783958Z","updatedOn":"2019-08-02T07:18:21.5783958Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f4afc41d-352f-4bce-84f1-fad9f832f274","type":"Microsoft.Authorization/roleAssignments","name":"f4afc41d-352f-4bce-84f1-fad9f832f274"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-03T17:48:07.2484442Z","updatedOn":"2020-02-03T17:48:07.2484442Z","createdBy":"ef34ad48-5675-4480-8fe7-a6cc394b97c4","updatedBy":"ef34ad48-5675-4480-8fe7-a6cc394b97c4","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/31005f88-9e70-483d-acc8-0f9cc8066b13","type":"Microsoft.Authorization/roleAssignments","name":"31005f88-9e70-483d-acc8-0f9cc8066b13"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-04T21:07:59.9113196Z","updatedOn":"2020-02-04T21:07:59.9113196Z","createdBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","updatedBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ea60c465-aef4-4494-9478-636615243841","type":"Microsoft.Authorization/roleAssignments","name":"ea60c465-aef4-4494-9478-636615243841"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-11-02T00:40:13.2696018Z","updatedOn":"2019-11-02T00:40:13.2696018Z","createdBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","updatedBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/1c0ee413-025e-422c-a8d0-2b8dd410b9b8","type":"Microsoft.Authorization/roleAssignments","name":"1c0ee413-025e-422c-a8d0-2b8dd410b9b8"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-04T21:37:15.2971418Z","updatedOn":"2020-02-04T21:37:15.2971418Z","createdBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","updatedBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/39e99cf2-95c7-4585-8703-998450cafea0","type":"Microsoft.Authorization/roleAssignments","name":"39e99cf2-95c7-4585-8703-998450cafea0"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2018-11-15T22:27:15.6601349Z","updatedOn":"2018-11-15T22:27:15.6601349Z","createdBy":"38d88515-7eb8-4c96-804f-4edcc95b9dff","updatedBy":"38d88515-7eb8-4c96-804f-4edcc95b9dff","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/418847ec-df97-4b29-9711-fc833817e5d6","type":"Microsoft.Authorization/roleAssignments","name":"418847ec-df97-4b29-9711-fc833817e5d6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-08-28T14:20:52.7506898Z","updatedOn":"2019-08-28T14:20:52.7506898Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/715fd118-93b8-4b09-822d-48de5afb21e3","type":"Microsoft.Authorization/roleAssignments","name":"715fd118-93b8-4b09-822d-48de5afb21e3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-01-06T05:22:04.7673784Z","updatedOn":"2019-01-06T05:22:04.7673784Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ba5c8600-8cc9-4778-9735-c3d57d26e50d","type":"Microsoft.Authorization/roleAssignments","name":"ba5c8600-8cc9-4778-9735-c3d57d26e50d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-02T16:21:28.6789246Z","updatedOn":"2020-06-02T16:21:28.6789246Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/bd6bf5d5-fc1c-4fcd-81f3-0d11d3ff9f42","type":"Microsoft.Authorization/roleAssignments","name":"bd6bf5d5-fc1c-4fcd-81f3-0d11d3ff9f42"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-12-13T02:01:30.4183889Z","updatedOn":"2019-12-13T02:01:30.4183889Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4623d907-e6fa-4e2a-ad82-18e34456d655","type":"Microsoft.Authorization/roleAssignments","name":"4623d907-e6fa-4e2a-ad82-18e34456d655"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-03-25T08:37:49.6357044Z","updatedOn":"2020-03-25T08:37:49.6357044Z","createdBy":"471feb6d-5a83-439e-af7b-311f4eee2d0c","updatedBy":"471feb6d-5a83-439e-af7b-311f4eee2d0c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b332ab7b-a956-4e37-acc1-e4df2e9eedfa","type":"Microsoft.Authorization/roleAssignments","name":"b332ab7b-a956-4e37-acc1-e4df2e9eedfa"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-21T03:52:37.6293834Z","updatedOn":"2020-02-21T03:52:37.6293834Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2402af90-d517-4d1d-9ca1-7b85dfc17099","type":"Microsoft.Authorization/roleAssignments","name":"2402af90-d517-4d1d-9ca1-7b85dfc17099"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-28T01:00:41.8419503Z","updatedOn":"2020-04-28T01:00:41.8419503Z","createdBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","updatedBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4da426ac-99d3-442d-b868-532f3582429b","type":"Microsoft.Authorization/roleAssignments","name":"4da426ac-99d3-442d-b868-532f3582429b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-12-04T03:17:07.6866234Z","updatedOn":"2019-12-04T03:17:07.6866234Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b76e5f32-b37f-482c-a7a4-98ef34ecea8a","type":"Microsoft.Authorization/roleAssignments","name":"b76e5f32-b37f-482c-a7a4-98ef34ecea8a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-27T23:12:42.6196328Z","updatedOn":"2020-04-27T23:12:42.6196328Z","createdBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","updatedBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/bb61d9e5-3664-42b4-b41c-bc3e34701de6","type":"Microsoft.Authorization/roleAssignments","name":"bb61d9e5-3664-42b4-b41c-bc3e34701de6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-03-02T20:50:25.6909226Z","updatedOn":"2020-03-02T20:50:25.6909226Z","createdBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","updatedBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/95a9d3e8-db32-4a7f-ad9c-46054677ff39","type":"Microsoft.Authorization/roleAssignments","name":"95a9d3e8-db32-4a7f-ad9c-46054677ff39"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-16T20:48:38.9374068Z","updatedOn":"2020-04-16T20:48:38.9374068Z","createdBy":"c66b4485-d88a-4007-b687-4867ca3c076f","updatedBy":"c66b4485-d88a-4007-b687-4867ca3c076f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/45d89866-af64-4364-b886-7f5ec154c3d4","type":"Microsoft.Authorization/roleAssignments","name":"45d89866-af64-4364-b886-7f5ec154c3d4"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-20T08:42:00.9560545Z","updatedOn":"2020-04-20T08:42:00.9560545Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/7a41b62f-97d4-4f4c-8bfc-4a8dd708e00f","type":"Microsoft.Authorization/roleAssignments","name":"7a41b62f-97d4-4f4c-8bfc-4a8dd708e00f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-19T00:23:10.4351839Z","updatedOn":"2020-06-19T00:23:10.4351839Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c1eb6cee-ee7a-4ed5-a683-846f01688ab9","type":"Microsoft.Authorization/roleAssignments","name":"c1eb6cee-ee7a-4ed5-a683-846f01688ab9"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-07T01:58:45.6145522Z","updatedOn":"2020-05-07T01:58:45.6145522Z","createdBy":"4b5234ab-8f8d-429e-9e1c-ea5799b66ffa","updatedBy":"4b5234ab-8f8d-429e-9e1c-ea5799b66ffa","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/9d42f5af-b9f8-4cf4-b017-612fdbb4f8a7","type":"Microsoft.Authorization/roleAssignments","name":"9d42f5af-b9f8-4cf4-b017-612fdbb4f8a7"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-01-13T21:41:39.4063114Z","updatedOn":"2020-01-13T21:41:39.4063114Z","createdBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","updatedBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2226a2aa-7a47-4546-82ed-4e9e4536bc7b","type":"Microsoft.Authorization/roleAssignments","name":"2226a2aa-7a47-4546-82ed-4e9e4536bc7b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-23T03:10:28.2381030Z","updatedOn":"2020-04-23T03:10:28.2381030Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f98d1512-e634-4663-a219-24be2e6bfe1c","type":"Microsoft.Authorization/roleAssignments","name":"f98d1512-e634-4663-a219-24be2e6bfe1c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-01-30T22:50:20.7914421Z","updatedOn":"2019-01-30T22:50:20.7914421Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0bee5f49-7099-4a3c-9eef-b40697f6f371","type":"Microsoft.Authorization/roleAssignments","name":"0bee5f49-7099-4a3c-9eef-b40697f6f371"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-04T06:37:19.1237954Z","updatedOn":"2020-04-04T06:37:19.1237954Z","createdBy":"ed4707f4-8b58-42fe-9afd-0045d7a9b262","updatedBy":"ed4707f4-8b58-42fe-9afd-0045d7a9b262","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d2d2ec3b-f7e6-4dbb-b281-0ceb5f243d01","type":"Microsoft.Authorization/roleAssignments","name":"d2d2ec3b-f7e6-4dbb-b281-0ceb5f243d01"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-15T02:06:03.3308352Z","updatedOn":"2020-04-15T02:06:03.3308352Z","createdBy":"c212dea8-d0da-4832-bdb1-d9e2b7672c76","updatedBy":"c212dea8-d0da-4832-bdb1-d9e2b7672c76","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6142150e-c404-48e6-a731-fffb36357051","type":"Microsoft.Authorization/roleAssignments","name":"6142150e-c404-48e6-a731-fffb36357051"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-20T20:29:38.5194580Z","updatedOn":"2020-04-20T20:29:38.5194580Z","createdBy":"c66b4485-d88a-4007-b687-4867ca3c076f","updatedBy":"c66b4485-d88a-4007-b687-4867ca3c076f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/7682e420-ebd8-4c39-be01-8c1fc953f250","type":"Microsoft.Authorization/roleAssignments","name":"7682e420-ebd8-4c39-be01-8c1fc953f250"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2018-11-16T23:46:13.9660279Z","updatedOn":"2018-11-16T23:46:13.9660279Z","createdBy":"38d88515-7eb8-4c96-804f-4edcc95b9dff","updatedBy":"38d88515-7eb8-4c96-804f-4edcc95b9dff","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2b66b1ea-89dd-4bc6-8d89-96298648eb40","type":"Microsoft.Authorization/roleAssignments","name":"2b66b1ea-89dd-4bc6-8d89-96298648eb40"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-01-31T01:55:23.5911140Z","updatedOn":"2019-01-31T01:55:23.5911140Z","createdBy":"b47f071a-d6c9-4297-954e-83151fff489b","updatedBy":"b47f071a-d6c9-4297-954e-83151fff489b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/3359123d-b5f7-48d6-a1e7-ad77b7ef6b7f","type":"Microsoft.Authorization/roleAssignments","name":"3359123d-b5f7-48d6-a1e7-ad77b7ef6b7f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"Group","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2018-10-27T00:03:26.2878499Z","updatedOn":"2018-10-27T00:03:26.2878499Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ea920230-1aba-4f80-9eef-3fed8216f594","type":"Microsoft.Authorization/roleAssignments","name":"ea920230-1aba-4f80-9eef-3fed8216f594"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-03-25T08:25:35.9118633Z","updatedOn":"2020-03-25T08:25:35.9118633Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6559da2d-7b8e-4dfe-ba1d-dfedbd7c73a1","type":"Microsoft.Authorization/roleAssignments","name":"6559da2d-7b8e-4dfe-ba1d-dfedbd7c73a1"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-04T02:21:24.1380483Z","updatedOn":"2020-06-04T02:21:24.1380483Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f70af6d6-4511-4e74-b25f-9c15978d4859","type":"Microsoft.Authorization/roleAssignments","name":"f70af6d6-4511-4e74-b25f-9c15978d4859"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-10-26T01:25:12.5585896Z","updatedOn":"2019-10-26T01:25:12.5585896Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e5e4c17a-2a72-4b0e-8518-53afddc60b04","type":"Microsoft.Authorization/roleAssignments","name":"e5e4c17a-2a72-4b0e-8518-53afddc60b04"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-20T22:24:43.1326207Z","updatedOn":"2020-04-20T22:24:43.1326207Z","createdBy":"5ecb1531-0d8c-4a89-93cb-1b48b2224358","updatedBy":"5ecb1531-0d8c-4a89-93cb-1b48b2224358","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d54b05eb-b1d1-4845-8ac5-48c5bb4c50b6","type":"Microsoft.Authorization/roleAssignments","name":"d54b05eb-b1d1-4845-8ac5-48c5bb4c50b6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-03T09:55:40.2829720Z","updatedOn":"2020-04-03T09:55:40.2829720Z","createdBy":"0276227b-f99f-4db3-b016-9eebbdfe5dd9","updatedBy":"0276227b-f99f-4db3-b016-9eebbdfe5dd9","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c9c2a551-11aa-4b0a-8816-f8511cd46a32","type":"Microsoft.Authorization/roleAssignments","name":"c9c2a551-11aa-4b0a-8816-f8511cd46a32"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-29T03:57:30.1921503Z","updatedOn":"2020-04-29T03:57:30.1921503Z","createdBy":"a5cae52f-366a-417b-b718-e73d17746c35","updatedBy":"a5cae52f-366a-417b-b718-e73d17746c35","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b4a5f74f-d5b2-4fc7-bfa1-893cc5b9ad88","type":"Microsoft.Authorization/roleAssignments","name":"b4a5f74f-d5b2-4fc7-bfa1-893cc5b9ad88"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-21T06:59:06.6904070Z","updatedOn":"2020-04-21T06:59:06.6904070Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/8273f6ee-b861-42a0-8dec-475eb3215463","type":"Microsoft.Authorization/roleAssignments","name":"8273f6ee-b861-42a0-8dec-475eb3215463"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-29T17:47:02.9492136Z","updatedOn":"2020-06-29T17:47:02.9492136Z","createdBy":"c66b4485-d88a-4007-b687-4867ca3c076f","updatedBy":"c66b4485-d88a-4007-b687-4867ca3c076f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/5cae5324-e7eb-4c13-ba0d-80c801c2b744","type":"Microsoft.Authorization/roleAssignments","name":"5cae5324-e7eb-4c13-ba0d-80c801c2b744"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-29T15:40:03.6815875Z","updatedOn":"2020-04-29T15:40:03.6815875Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/09778426-699f-4faa-8016-5e6029e7313d","type":"Microsoft.Authorization/roleAssignments","name":"09778426-699f-4faa-8016-5e6029e7313d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-27T23:43:20.3428422Z","updatedOn":"2020-04-27T23:43:20.3428422Z","createdBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","updatedBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/271e5b8d-8684-4668-98b9-c3dc25f4b437","type":"Microsoft.Authorization/roleAssignments","name":"271e5b8d-8684-4668-98b9-c3dc25f4b437"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-03-26T21:10:42.2124416Z","updatedOn":"2020-03-26T21:10:42.2124416Z","createdBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","updatedBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d394da6c-4def-47de-8689-791727331c5b","type":"Microsoft.Authorization/roleAssignments","name":"d394da6c-4def-47de-8689-791727331c5b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-21T07:34:50.7125622Z","updatedOn":"2020-04-21T07:34:50.7125622Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ddeb2255-2bb6-458a-a891-532e96ae5483","type":"Microsoft.Authorization/roleAssignments","name":"ddeb2255-2bb6-458a-a891-532e96ae5483"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-23T04:07:45.3308845Z","updatedOn":"2020-06-23T04:07:45.3308845Z","createdBy":"9404195a-2cde-4a10-b88c-e7b41572bf31","updatedBy":"9404195a-2cde-4a10-b88c-e7b41572bf31","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/15d1dab1-b507-11ea-819c-a28e10bedef6","type":"Microsoft.Authorization/roleAssignments","name":"15d1dab1-b507-11ea-819c-a28e10bedef6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-13T00:09:08.8179220Z","updatedOn":"2020-05-13T00:09:08.8179220Z","createdBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","updatedBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/08a578f0-4875-47d0-8775-946b3a0f2b06","type":"Microsoft.Authorization/roleAssignments","name":"08a578f0-4875-47d0-8775-946b3a0f2b06"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-10T23:15:46.8549700Z","updatedOn":"2020-05-10T23:15:46.8549700Z","createdBy":"c1acf319-6d96-4dfe-b194-c27640869947","updatedBy":"c1acf319-6d96-4dfe-b194-c27640869947","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/22d3da65-7681-445e-9080-e748e494676f","type":"Microsoft.Authorization/roleAssignments","name":"22d3da65-7681-445e-9080-e748e494676f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-08-29T13:30:14.1177711Z","updatedOn":"2019-08-29T13:30:14.1177711Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4a2c1014-c1ba-4ae9-a632-90967c28429d","type":"Microsoft.Authorization/roleAssignments","name":"4a2c1014-c1ba-4ae9-a632-90967c28429d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-27T01:26:21.7189691Z","updatedOn":"2020-02-27T01:26:21.7189691Z","createdBy":"c1acf319-6d96-4dfe-b194-c27640869947","updatedBy":"c1acf319-6d96-4dfe-b194-c27640869947","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/28808064-5900-11ea-81c8-acde48001122","type":"Microsoft.Authorization/roleAssignments","name":"28808064-5900-11ea-81c8-acde48001122"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-10-31T20:08:15.8705805Z","updatedOn":"2019-10-31T20:08:15.8705805Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e47c861f-a9eb-46c0-b2e2-102033a5c009","type":"Microsoft.Authorization/roleAssignments","name":"e47c861f-a9eb-46c0-b2e2-102033a5c009"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-28T00:17:14.5340823Z","updatedOn":"2020-04-28T00:17:14.5340823Z","createdBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","updatedBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f7e6b175-9796-4292-bf64-1683aa14312f","type":"Microsoft.Authorization/roleAssignments","name":"f7e6b175-9796-4292-bf64-1683aa14312f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-20T08:30:00.0256525Z","updatedOn":"2020-04-20T08:30:00.0256525Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a91f5ef0-1d9b-453e-8f90-43826c3652dd","type":"Microsoft.Authorization/roleAssignments","name":"a91f5ef0-1d9b-453e-8f90-43826c3652dd"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-14T00:22:19.2644898Z","updatedOn":"2020-04-14T00:22:19.2644898Z","createdBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","updatedBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/420714ce-6b24-4ce2-b7ee-51554de01de7","type":"Microsoft.Authorization/roleAssignments","name":"420714ce-6b24-4ce2-b7ee-51554de01de7"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-28T00:53:44.9077172Z","updatedOn":"2020-04-28T00:53:44.9077172Z","createdBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","updatedBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2940c5e2-5742-42aa-9569-e68c698a01d6","type":"Microsoft.Authorization/roleAssignments","name":"2940c5e2-5742-42aa-9569-e68c698a01d6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"Group","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-01-30T19:30:49.2769608Z","updatedOn":"2019-01-30T19:30:49.2769608Z","createdBy":"b47f071a-d6c9-4297-954e-83151fff489b","updatedBy":"b47f071a-d6c9-4297-954e-83151fff489b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/310957e5-5722-42e0-95b6-5bc6c6b67f16","type":"Microsoft.Authorization/roleAssignments","name":"310957e5-5722-42e0-95b6-5bc6c6b67f16"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-07-03T01:05:25.8863198Z","updatedOn":"2020-07-03T01:05:25.8863198Z","createdBy":"7ac4ca6d-46a3-4e71-a705-858af50eea7b","updatedBy":"7ac4ca6d-46a3-4e71-a705-858af50eea7b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/46877403-bcc9-11ea-924f-00155d871f03","type":"Microsoft.Authorization/roleAssignments","name":"46877403-bcc9-11ea-924f-00155d871f03"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-02T16:19:56.1932050Z","updatedOn":"2020-06-02T16:19:56.1932050Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/de7bdfed-5cc5-47e2-9008-327939dc8379","type":"Microsoft.Authorization/roleAssignments","name":"de7bdfed-5cc5-47e2-9008-327939dc8379"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-03-28T19:57:23.3708745Z","updatedOn":"2019-03-28T19:57:23.3708745Z","createdBy":"66cb050e-bae1-4005-8c4c-0f6dd9b34978","updatedBy":"66cb050e-bae1-4005-8c4c-0f6dd9b34978","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/cc796cab-2f6b-4099-b9a3-7500f5516153","type":"Microsoft.Authorization/roleAssignments","name":"cc796cab-2f6b-4099-b9a3-7500f5516153"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-24T02:12:40.2606628Z","updatedOn":"2020-04-24T02:12:40.2606628Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6a375386-4cb0-47fd-952c-92465f6d679d","type":"Microsoft.Authorization/roleAssignments","name":"6a375386-4cb0-47fd-952c-92465f6d679d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-03-30T22:56:44.9793119Z","updatedOn":"2020-03-30T22:56:44.9793119Z","createdBy":"53bb8815-874d-4b05-9953-1158e05aa080","updatedBy":"53bb8815-874d-4b05-9953-1158e05aa080","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/000ea275-41c4-40ce-943f-98a8849a56bc","type":"Microsoft.Authorization/roleAssignments","name":"000ea275-41c4-40ce-943f-98a8849a56bc"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-12-13T02:01:31.6182075Z","updatedOn":"2019-12-13T02:01:31.6182075Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d3ea741e-fdf8-4780-a73f-bbc0efbd141c","type":"Microsoft.Authorization/roleAssignments","name":"d3ea741e-fdf8-4780-a73f-bbc0efbd141c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-23T05:07:17.2382220Z","updatedOn":"2020-06-23T05:07:17.2382220Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4202823d-7518-46d1-b5ff-b6c7cb7b9dd3","type":"Microsoft.Authorization/roleAssignments","name":"4202823d-7518-46d1-b5ff-b6c7cb7b9dd3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-18T12:01:15.4801397Z","updatedOn":"2020-05-18T12:01:15.4801397Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4c04d5e5-df60-47b9-abde-aa9641425c64","type":"Microsoft.Authorization/roleAssignments","name":"4c04d5e5-df60-47b9-abde-aa9641425c64"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-10T01:13:53.0806696Z","updatedOn":"2020-06-10T01:13:53.0806696Z","createdBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","updatedBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a584fad9-aab7-11ea-b7e7-00155d4b0124","type":"Microsoft.Authorization/roleAssignments","name":"a584fad9-aab7-11ea-b7e7-00155d4b0124"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-07-03T07:48:19.4504494Z","updatedOn":"2020-07-03T07:48:19.4504494Z","createdBy":"471feb6d-5a83-439e-af7b-311f4eee2d0c","updatedBy":"471feb6d-5a83-439e-af7b-311f4eee2d0c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/28dd25b5-e359-4d3d-9632-bcd15c3fa296","type":"Microsoft.Authorization/roleAssignments","name":"28dd25b5-e359-4d3d-9632-bcd15c3fa296"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-09T00:52:51.5057560Z","updatedOn":"2020-06-09T00:52:51.5057560Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6d91fd42-bd38-4380-8f63-993e49f83833","type":"Microsoft.Authorization/roleAssignments","name":"6d91fd42-bd38-4380-8f63-993e49f83833"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-09-20T20:32:24.1155446Z","updatedOn":"2019-09-20T20:32:24.1155446Z","createdBy":"66cb050e-bae1-4005-8c4c-0f6dd9b34978","updatedBy":"66cb050e-bae1-4005-8c4c-0f6dd9b34978","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c1a9a09e-eafe-4c97-b589-a8261ee04099","type":"Microsoft.Authorization/roleAssignments","name":"c1a9a09e-eafe-4c97-b589-a8261ee04099"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-12T00:23:23.9037436Z","updatedOn":"2020-05-12T00:23:23.9037436Z","createdBy":"c1acf319-6d96-4dfe-b194-c27640869947","updatedBy":"c1acf319-6d96-4dfe-b194-c27640869947","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6ff95229-981f-40d7-889f-97bc90b8f387","type":"Microsoft.Authorization/roleAssignments","name":"6ff95229-981f-40d7-889f-97bc90b8f387"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-09T00:52:52.1315983Z","updatedOn":"2020-06-09T00:52:52.1315983Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/7512dec1-86e5-400d-8bc9-f24f181127f3","type":"Microsoft.Authorization/roleAssignments","name":"7512dec1-86e5-400d-8bc9-f24f181127f3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-12-30T03:12:58.1455315Z","updatedOn":"2019-12-30T03:12:58.1455315Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/091713ce-9ee7-445d-beaf-708ee254b129","type":"Microsoft.Authorization/roleAssignments","name":"091713ce-9ee7-445d-beaf-708ee254b129"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-04-19T04:20:34.3557776Z","updatedOn":"2019-04-19T04:20:34.3557776Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/092a238c-94af-4fca-bd4a-bb4995ea58db","type":"Microsoft.Authorization/roleAssignments","name":"092a238c-94af-4fca-bd4a-bb4995ea58db"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-14T04:03:23.9185561Z","updatedOn":"2020-04-14T04:03:23.9185561Z","createdBy":"c212dea8-d0da-4832-bdb1-d9e2b7672c76","updatedBy":"c212dea8-d0da-4832-bdb1-d9e2b7672c76","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0f0f495d-0356-4239-b966-3f47f5f1054a","type":"Microsoft.Authorization/roleAssignments","name":"0f0f495d-0356-4239-b966-3f47f5f1054a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-20T20:29:38.4023513Z","updatedOn":"2020-04-20T20:29:38.4023513Z","createdBy":"c66b4485-d88a-4007-b687-4867ca3c076f","updatedBy":"c66b4485-d88a-4007-b687-4867ca3c076f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b3276191-98a8-472b-b650-21c8d24b7464","type":"Microsoft.Authorization/roleAssignments","name":"b3276191-98a8-472b-b650-21c8d24b7464"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-16T02:06:59.0490140Z","updatedOn":"2020-05-16T02:06:59.0490140Z","createdBy":"53bb8815-874d-4b05-9953-1158e05aa080","updatedBy":"53bb8815-874d-4b05-9953-1158e05aa080","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2cf7ea7b-3bdd-44ea-966b-b4eb4e7813fa","type":"Microsoft.Authorization/roleAssignments","name":"2cf7ea7b-3bdd-44ea-966b-b4eb4e7813fa"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-13T22:32:47.4470861Z","updatedOn":"2020-04-13T22:32:47.4470861Z","createdBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","updatedBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/93ce765f-2d72-454b-816b-ba287754fe5a","type":"Microsoft.Authorization/roleAssignments","name":"93ce765f-2d72-454b-816b-ba287754fe5a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-14T00:42:59.8868253Z","updatedOn":"2020-05-14T00:42:59.8868253Z","createdBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","updatedBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6b3c8d44-237c-410c-a095-52ded7f5cd26","type":"Microsoft.Authorization/roleAssignments","name":"6b3c8d44-237c-410c-a095-52ded7f5cd26"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-11T13:26:01.9493491Z","updatedOn":"2020-02-11T13:26:01.9493491Z","createdBy":"0276227b-f99f-4db3-b016-9eebbdfe5dd9","updatedBy":"0276227b-f99f-4db3-b016-9eebbdfe5dd9","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/8fab1ba3-53c2-4b21-9d32-dc89fd061811","type":"Microsoft.Authorization/roleAssignments","name":"8fab1ba3-53c2-4b21-9d32-dc89fd061811"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-04-19T22:53:47.5902917Z","updatedOn":"2019-04-19T22:53:47.5902917Z","createdBy":"66cb050e-bae1-4005-8c4c-0f6dd9b34978","updatedBy":"66cb050e-bae1-4005-8c4c-0f6dd9b34978","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/1f9d617d-8ab5-4f63-8c85-445f6c30632f","type":"Microsoft.Authorization/roleAssignments","name":"1f9d617d-8ab5-4f63-8c85-445f6c30632f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-03T05:34:39.2163770Z","updatedOn":"2020-04-03T05:34:39.2163770Z","createdBy":"ed4707f4-8b58-42fe-9afd-0045d7a9b262","updatedBy":"ed4707f4-8b58-42fe-9afd-0045d7a9b262","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/8e4edc2a-dd1f-469b-9a44-f0693866b843","type":"Microsoft.Authorization/roleAssignments","name":"8e4edc2a-dd1f-469b-9a44-f0693866b843"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-12T21:48:57.3001992Z","updatedOn":"2020-05-12T21:48:57.3001992Z","createdBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","updatedBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/dcc102ec-9c04-4c7c-976e-94c72db42b49","type":"Microsoft.Authorization/roleAssignments","name":"dcc102ec-9c04-4c7c-976e-94c72db42b49"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-06-26T06:44:38.5656650Z","updatedOn":"2019-06-26T06:44:38.5656650Z","createdBy":"f058371f-0c0e-46bb-a5d4-f8aec637a467","updatedBy":"f058371f-0c0e-46bb-a5d4-f8aec637a467","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a2cc1fcf-6ce5-4bd8-94c9-e0e6aa788a1d","type":"Microsoft.Authorization/roleAssignments","name":"a2cc1fcf-6ce5-4bd8-94c9-e0e6aa788a1d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-20T19:40:09.1141460Z","updatedOn":"2020-02-20T19:40:09.1141460Z","createdBy":"c1acf319-6d96-4dfe-b194-c27640869947","updatedBy":"c1acf319-6d96-4dfe-b194-c27640869947","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d4673bf4-97da-4102-9284-2a7315b88a34","type":"Microsoft.Authorization/roleAssignments","name":"d4673bf4-97da-4102-9284-2a7315b88a34"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-23T05:07:14.6947730Z","updatedOn":"2020-06-23T05:07:14.6947730Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/bec06514-2b3f-4a1f-92f2-cbb30828f447","type":"Microsoft.Authorization/roleAssignments","name":"bec06514-2b3f-4a1f-92f2-cbb30828f447"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-21T07:19:44.2488168Z","updatedOn":"2020-04-21T07:19:44.2488168Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/fadbe071-d757-48fc-b82a-4784249ded10","type":"Microsoft.Authorization/roleAssignments","name":"fadbe071-d757-48fc-b82a-4784249ded10"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-12-13T02:01:31.7381957Z","updatedOn":"2019-12-13T02:01:31.7381957Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6e035090-e3f8-4bb2-b117-fac2fba706b2","type":"Microsoft.Authorization/roleAssignments","name":"6e035090-e3f8-4bb2-b117-fac2fba706b2"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-03-12T17:29:23.0437979Z","updatedOn":"2019-03-12T17:29:23.0437979Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a7e76154-c2a7-4419-b73f-e8c6010318c9","type":"Microsoft.Authorization/roleAssignments","name":"a7e76154-c2a7-4419-b73f-e8c6010318c9"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-26T19:29:06.9092628Z","updatedOn":"2020-05-26T19:29:06.9092628Z","createdBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","updatedBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c0b0f01a-d6f2-4c1f-879d-10bdc2f1aee5","type":"Microsoft.Authorization/roleAssignments","name":"c0b0f01a-d6f2-4c1f-879d-10bdc2f1aee5"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-21T07:40:03.0117061Z","updatedOn":"2020-02-21T07:40:03.0117061Z","createdBy":"0276227b-f99f-4db3-b016-9eebbdfe5dd9","updatedBy":"0276227b-f99f-4db3-b016-9eebbdfe5dd9","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e5c1eb24-09ad-487a-8286-8bb2841d311d","type":"Microsoft.Authorization/roleAssignments","name":"e5c1eb24-09ad-487a-8286-8bb2841d311d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-17T00:59:53.8734172Z","updatedOn":"2020-06-17T00:59:53.8734172Z","createdBy":"82e11ed5-c720-4c8d-b396-a2fcd9e4291f","updatedBy":"82e11ed5-c720-4c8d-b396-a2fcd9e4291f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d7f69b6b-b035-11ea-a6dd-000d3aa35713","type":"Microsoft.Authorization/roleAssignments","name":"d7f69b6b-b035-11ea-a6dd-000d3aa35713"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-23T14:27:52.3922162Z","updatedOn":"2020-04-23T14:27:52.3922162Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/9acabd34-856e-11ea-98ae-acbc329aaf8b","type":"Microsoft.Authorization/roleAssignments","name":"9acabd34-856e-11ea-98ae-acbc329aaf8b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-20T20:29:38.3267905Z","updatedOn":"2020-04-20T20:29:38.3267905Z","createdBy":"c66b4485-d88a-4007-b687-4867ca3c076f","updatedBy":"c66b4485-d88a-4007-b687-4867ca3c076f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ac979adb-819c-4fae-98bc-6a6c81bc76b1","type":"Microsoft.Authorization/roleAssignments","name":"ac979adb-819c-4fae-98bc-6a6c81bc76b1"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2018-02-06T23:56:15.2220285Z","updatedOn":"2018-02-06T23:56:15.2220285Z","createdBy":"b87c5c16-4f0e-4af2-9b2e-20f25d6b5a3f","updatedBy":"b87c5c16-4f0e-4af2-9b2e-20f25d6b5a3f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f54c2ddd-8858-4c40-bdec-25546c985154","type":"Microsoft.Authorization/roleAssignments","name":"f54c2ddd-8858-4c40-bdec-25546c985154"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-20T20:29:38.3023490Z","updatedOn":"2020-04-20T20:29:38.3023490Z","createdBy":"c66b4485-d88a-4007-b687-4867ca3c076f","updatedBy":"c66b4485-d88a-4007-b687-4867ca3c076f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/bf46ff50-6187-4a95-afd4-b811c1a8b239","type":"Microsoft.Authorization/roleAssignments","name":"bf46ff50-6187-4a95-afd4-b811c1a8b239"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-02-02T04:47:03.2856858Z","updatedOn":"2019-02-02T04:47:03.2856858Z","createdBy":"66cb050e-bae1-4005-8c4c-0f6dd9b34978","updatedBy":"66cb050e-bae1-4005-8c4c-0f6dd9b34978","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/11737a1b-2cf4-4fca-8c36-4ef79e0df5b0","type":"Microsoft.Authorization/roleAssignments","name":"11737a1b-2cf4-4fca-8c36-4ef79e0df5b0"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-02T23:56:53.9541160Z","updatedOn":"2020-04-02T23:56:53.9541160Z","createdBy":"53bb8815-874d-4b05-9953-1158e05aa080","updatedBy":"53bb8815-874d-4b05-9953-1158e05aa080","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/700e8068-ae0c-4176-8e70-8958a82a4aa1","type":"Microsoft.Authorization/roleAssignments","name":"700e8068-ae0c-4176-8e70-8958a82a4aa1"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-08-02T07:21:13.1302112Z","updatedOn":"2019-08-02T07:21:13.1302112Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/98328e7b-c22c-4a4b-bcae-25953d0c52f3","type":"Microsoft.Authorization/roleAssignments","name":"98328e7b-c22c-4a4b-bcae-25953d0c52f3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-28T03:13:08.9833014Z","updatedOn":"2020-04-28T03:13:08.9833014Z","createdBy":"547f6960-a967-417a-a9a4-0f35fbdca11c","updatedBy":"547f6960-a967-417a-a9a4-0f35fbdca11c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/5479cc1b-0762-40bd-862d-7369aa1ff685","type":"Microsoft.Authorization/roleAssignments","name":"5479cc1b-0762-40bd-862d-7369aa1ff685"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-04T02:11:30.6140935Z","updatedOn":"2020-02-04T02:11:30.6140935Z","createdBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","updatedBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/495c765c-e6e2-4582-9ab6-ad9abf7e5064","type":"Microsoft.Authorization/roleAssignments","name":"495c765c-e6e2-4582-9ab6-ad9abf7e5064"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-08-06T03:04:23.5398083Z","updatedOn":"2019-08-06T03:04:23.5398083Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/958e790f-1635-4dd3-b718-5403a1342a66","type":"Microsoft.Authorization/roleAssignments","name":"958e790f-1635-4dd3-b718-5403a1342a66"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-01-10T01:23:31.4432043Z","updatedOn":"2020-01-10T01:23:31.4432043Z","createdBy":"09914860-7ec9-4151-8431-31797899a359","updatedBy":"09914860-7ec9-4151-8431-31797899a359","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/151d14b1-b26a-47b9-be10-255bf562d592","type":"Microsoft.Authorization/roleAssignments","name":"151d14b1-b26a-47b9-be10-255bf562d592"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-12-13T02:02:28.2288268Z","updatedOn":"2019-12-13T02:02:28.2288268Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/11ddfea7-616f-499f-9975-e8513b60eb3c","type":"Microsoft.Authorization/roleAssignments","name":"11ddfea7-616f-499f-9975-e8513b60eb3c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-03-16T23:29:48.3209681Z","updatedOn":"2020-03-16T23:29:48.3209681Z","createdBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","updatedBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/3eb4155b-2965-456b-8f00-bca8a13b1684","type":"Microsoft.Authorization/roleAssignments","name":"3eb4155b-2965-456b-8f00-bca8a13b1684"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-05T14:05:58.2716050Z","updatedOn":"2021-04-05T14:05:58.2716050Z","createdBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","updatedBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0a9b0e6a-9618-11eb-879a-88e9fe77e044","type":"Microsoft.Authorization/roleAssignments","name":"0a9b0e6a-9618-11eb-879a-88e9fe77e044"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-05T17:37:43.7040494Z","updatedOn":"2021-04-05T17:37:43.7040494Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a04b0948-9635-11eb-b395-acde48001122","type":"Microsoft.Authorization/roleAssignments","name":"a04b0948-9635-11eb-b395-acde48001122"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-05T23:56:38.0963501Z","updatedOn":"2021-04-05T23:56:38.0963501Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/80ef7746-a500-41bc-9154-bf710a740c8f","type":"Microsoft.Authorization/roleAssignments","name":"80ef7746-a500-41bc-9154-bf710a740c8f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-06T02:08:10.5378297Z","updatedOn":"2021-04-06T02:08:10.5378297Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/627cf393-9c97-4b8d-8e68-3188a44d3347","type":"Microsoft.Authorization/roleAssignments","name":"627cf393-9c97-4b8d-8e68-3188a44d3347"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-06T02:24:11.2891190Z","updatedOn":"2021-04-06T02:24:11.2891190Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2845ac64-e36c-43b7-8958-033805cafe86","type":"Microsoft.Authorization/roleAssignments","name":"2845ac64-e36c-43b7-8958-033805cafe86"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-06T02:24:39.3826587Z","updatedOn":"2021-04-06T02:24:39.3826587Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6c21611b-a840-4166-b9f4-8cec90c17841","type":"Microsoft.Authorization/roleAssignments","name":"6c21611b-a840-4166-b9f4-8cec90c17841"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-06T02:24:39.4154930Z","updatedOn":"2021-04-06T02:24:39.4154930Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/925d4876-8fde-4334-8f84-4ce52ca7108e","type":"Microsoft.Authorization/roleAssignments","name":"925d4876-8fde-4334-8f84-4ce52ca7108e"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-06T04:46:32.1029699Z","updatedOn":"2021-04-06T04:46:32.1029699Z","createdBy":"9404195a-2cde-4a10-b88c-e7b41572bf31","updatedBy":"9404195a-2cde-4a10-b88c-e7b41572bf31","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0dfdb837-9693-11eb-b629-b6178ece78ec","type":"Microsoft.Authorization/roleAssignments","name":"0dfdb837-9693-11eb-b629-b6178ece78ec"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"Group","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-06T11:25:43.5702772Z","updatedOn":"2021-04-06T11:25:43.5702772Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/958a1320-4346-46fb-9722-828af239eb03","type":"Microsoft.Authorization/roleAssignments","name":"958a1320-4346-46fb-9722-828af239eb03"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-06T20:54:21.5921112Z","updatedOn":"2021-04-06T20:54:21.5921112Z","createdBy":"f5d11ebc-8494-4b5f-a0fc-5fbbfd56f7bb","updatedBy":"f5d11ebc-8494-4b5f-a0fc-5fbbfd56f7bb","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/42ad5638-971a-11eb-abf6-00155d3a4c00","type":"Microsoft.Authorization/roleAssignments","name":"42ad5638-971a-11eb-abf6-00155d3a4c00"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-06T23:22:50.4425724Z","updatedOn":"2021-04-06T23:22:50.4425724Z","createdBy":"ad232e99-5e1b-414e-aa53-96ae40d39f3e","updatedBy":"ad232e99-5e1b-414e-aa53-96ae40d39f3e","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/00a90f2a-972f-11eb-9121-acde48001122","type":"Microsoft.Authorization/roleAssignments","name":"00a90f2a-972f-11eb-9121-acde48001122"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-06T23:57:47.7182520Z","updatedOn":"2021-04-06T23:57:47.7182520Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/fb99837b-1f81-4e7c-afdf-5a5da79bc3e3","type":"Microsoft.Authorization/roleAssignments","name":"fb99837b-1f81-4e7c-afdf-5a5da79bc3e3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-07T00:26:49.7250016Z","updatedOn":"2021-04-07T00:26:49.7250016Z","createdBy":"88f18750-8181-4579-8eff-eb44f510655c","updatedBy":"88f18750-8181-4579-8eff-eb44f510655c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/dca2df37-fdd1-49dc-a1de-31a70d62e098","type":"Microsoft.Authorization/roleAssignments","name":"dca2df37-fdd1-49dc-a1de-31a70d62e098"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-07T09:10:47.4905668Z","updatedOn":"2021-04-07T09:10:47.4905668Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/8a5dbdef-0896-48cd-a325-318e807ea133","type":"Microsoft.Authorization/roleAssignments","name":"8a5dbdef-0896-48cd-a325-318e807ea133"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-07T09:44:09.4148366Z","updatedOn":"2021-04-07T09:44:09.4148366Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/19eb9977-62b0-4571-8d91-9342f2580a32","type":"Microsoft.Authorization/roleAssignments","name":"19eb9977-62b0-4571-8d91-9342f2580a32"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-07T19:55:01.1984055Z","updatedOn":"2021-04-07T19:55:01.1984055Z","createdBy":"1b081df7-da49-42b3-a427-9cb93114bf07","updatedBy":"1b081df7-da49-42b3-a427-9cb93114bf07","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2301d942-97db-11eb-8bf8-acde48001122","type":"Microsoft.Authorization/roleAssignments","name":"2301d942-97db-11eb-8bf8-acde48001122"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-07T22:36:06.7954601Z","updatedOn":"2021-04-07T22:36:06.7954601Z","createdBy":"f31399da-e7ed-4fe4-a825-a9dff4f53481","updatedBy":"f31399da-e7ed-4fe4-a825-a9dff4f53481","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6070c7de-7571-4d55-8b2f-85285b7d9675","type":"Microsoft.Authorization/roleAssignments","name":"6070c7de-7571-4d55-8b2f-85285b7d9675"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-09T01:23:36.6710425Z","updatedOn":"2021-04-09T01:23:36.6710425Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/8f1c810a-91db-403c-8c1b-e36ef5e3f2ae","type":"Microsoft.Authorization/roleAssignments","name":"8f1c810a-91db-403c-8c1b-e36ef5e3f2ae"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-09T08:31:55.6753945Z","updatedOn":"2021-04-09T08:31:55.6753945Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/cb17ef81-685c-44f9-b679-244ff9cecfca","type":"Microsoft.Authorization/roleAssignments","name":"cb17ef81-685c-44f9-b679-244ff9cecfca"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/f1a07417-d97a-45cb-824c-7a7467783830","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id000003","condition":null,"conditionVersion":null,"createdOn":"2021-04-12T09:16:31.0103789Z","updatedOn":"2021-04-12T09:16:31.0103789Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id000003/providers/Microsoft.Authorization/roleAssignments/f5cab8fa-9b44-429c-bb4e-4280176197a2","type":"Microsoft.Authorization/roleAssignments","name":"f5cab8fa-9b44-429c-bb4e-4280176197a2"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-07-13T08:23:22.5067480Z","updatedOn":"2020-07-13T08:23:22.5067480Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d620bc90-9de4-4ae7-b69a-0b2489f91897","type":"Microsoft.Authorization/roleAssignments","name":"d620bc90-9de4-4ae7-b69a-0b2489f91897"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-07-17T03:14:37.5069272Z","updatedOn":"2020-07-17T03:14:37.5069272Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0d5c6698-a390-411c-a028-5ef6510a7db3","type":"Microsoft.Authorization/roleAssignments","name":"0d5c6698-a390-411c-a028-5ef6510a7db3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-08T10:10:14.5504056Z","updatedOn":"2021-03-08T10:10:14.5504056Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/067c1708-f33d-4c8c-9962-1115d573b010","type":"Microsoft.Authorization/roleAssignments","name":"067c1708-f33d-4c8c-9962-1115d573b010"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-12T17:41:39.7941619Z","updatedOn":"2021-03-12T17:41:39.7941619Z","createdBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","updatedBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d4625aa1-611e-448a-bf3e-f37f2bc878a3","type":"Microsoft.Authorization/roleAssignments","name":"d4625aa1-611e-448a-bf3e-f37f2bc878a3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-13T00:16:30.5211415Z","updatedOn":"2021-03-13T00:16:30.5211415Z","createdBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","updatedBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6bb77919-c820-434e-8b05-534269176a2c","type":"Microsoft.Authorization/roleAssignments","name":"6bb77919-c820-434e-8b05-534269176a2c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-13T10:12:45.2534236Z","updatedOn":"2021-03-13T10:12:45.2534236Z","createdBy":"8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9","updatedBy":"8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e975bb7b-054a-46af-9bb3-cac6dceabf4c","type":"Microsoft.Authorization/roleAssignments","name":"e975bb7b-054a-46af-9bb3-cac6dceabf4c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-16T23:49:03.3523073Z","updatedOn":"2021-03-16T23:49:03.3523073Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f33005f1-10be-43e3-a87f-9e2f954fb2db","type":"Microsoft.Authorization/roleAssignments","name":"f33005f1-10be-43e3-a87f-9e2f954fb2db"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-17T00:39:07.7760935Z","updatedOn":"2021-03-17T00:39:07.7760935Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a747debe-4a66-476a-9577-0b1a640750ef","type":"Microsoft.Authorization/roleAssignments","name":"a747debe-4a66-476a-9577-0b1a640750ef"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-22T03:25:46.9853541Z","updatedOn":"2021-03-22T03:25:46.9853541Z","createdBy":"09914860-7ec9-4151-8431-31797899a359","updatedBy":"09914860-7ec9-4151-8431-31797899a359","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/815c5875-b3b0-4595-ba0f-5f3ab8b57871","type":"Microsoft.Authorization/roleAssignments","name":"815c5875-b3b0-4595-ba0f-5f3ab8b57871"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-25T00:58:10.6501184Z","updatedOn":"2021-03-25T00:58:10.6501184Z","createdBy":"243a3958-b8d3-4c74-ad3f-77b916846d93","updatedBy":"243a3958-b8d3-4c74-ad3f-77b916846d93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2aca810c-8d05-11eb-bd25-000d3a4359fa","type":"Microsoft.Authorization/roleAssignments","name":"2aca810c-8d05-11eb-bd25-000d3a4359fa"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-26T10:13:53.8091651Z","updatedOn":"2021-03-26T10:13:53.8091651Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d850ab91-9de8-4c27-8667-99ba5677c4c2","type":"Microsoft.Authorization/roleAssignments","name":"d850ab91-9de8-4c27-8667-99ba5677c4c2"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-26T10:24:43.4077585Z","updatedOn":"2021-03-26T10:24:43.4077585Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/779ad30e-8e1d-11eb-8aa9-000d3ac754e3","type":"Microsoft.Authorization/roleAssignments","name":"779ad30e-8e1d-11eb-8aa9-000d3ac754e3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-26T15:24:46.1413686Z","updatedOn":"2021-03-26T15:24:46.1413686Z","createdBy":"547f6960-a967-417a-a9a4-0f35fbdca11c","updatedBy":"547f6960-a967-417a-a9a4-0f35fbdca11c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/9a54bdb6-bda6-470e-935c-bfa23f846e98","type":"Microsoft.Authorization/roleAssignments","name":"9a54bdb6-bda6-470e-935c-bfa23f846e98"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-31T01:48:40.0937142Z","updatedOn":"2021-03-31T01:48:40.0937142Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/cd309898-e4ed-438e-b8f9-66fbb4d776bc","type":"Microsoft.Authorization/roleAssignments","name":"cd309898-e4ed-438e-b8f9-66fbb4d776bc"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-07-07T21:38:16.9089220Z","updatedOn":"2020-07-07T21:38:16.9089220Z","createdBy":"67f96a40-adf7-4f43-888f-33526c5cfa95","updatedBy":"67f96a40-adf7-4f43-888f-33526c5cfa95","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2d34e25a-c09a-11ea-893f-eefa4c05adfb","type":"Microsoft.Authorization/roleAssignments","name":"2d34e25a-c09a-11ea-893f-eefa4c05adfb"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-07-07T23:59:03.3157569Z","updatedOn":"2020-07-07T23:59:03.3157569Z","createdBy":"1ec25b73-94d5-4bf9-a56f-ca7d9bd4164c","updatedBy":"1ec25b73-94d5-4bf9-a56f-ca7d9bd4164c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/718cdad6-cc40-415b-aae3-f356df943d39","type":"Microsoft.Authorization/roleAssignments","name":"718cdad6-cc40-415b-aae3-f356df943d39"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/c92f8fe1-e3cb-47e8-a01d-0771814c0dad","condition":null,"conditionVersion":null,"createdOn":"2019-03-26T22:01:02.8423155Z","updatedOn":"2019-03-26T22:01:02.8423155Z","createdBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818","updatedBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/c92f8fe1-e3cb-47e8-a01d-0771814c0dad/providers/Microsoft.Authorization/roleAssignments/3d069c98-e792-47bd-b58a-399e2d42dbab","type":"Microsoft.Authorization/roleAssignments","name":"3d069c98-e792-47bd-b58a-399e2d42dbab"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/f25e0fa2-a7c8-4377-a976-54943a77a395","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/c92f8fe1-e3cb-47e8-a01d-0771814c0dad","condition":null,"conditionVersion":null,"createdOn":"2021-04-09T18:15:49.7063250Z","updatedOn":"2021-04-09T18:15:49.7063250Z","createdBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","updatedBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/c92f8fe1-e3cb-47e8-a01d-0771814c0dad/providers/Microsoft.Authorization/roleAssignments/a6b435df-80e6-4a7b-b109-2af5f373d238","type":"Microsoft.Authorization/roleAssignments","name":"a6b435df-80e6-4a7b-b109-2af5f373d238"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod","condition":null,"conditionVersion":null,"createdOn":"2019-03-26T22:01:02.9176787Z","updatedOn":"2019-03-26T22:01:02.9176787Z","createdBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818","updatedBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod/providers/Microsoft.Authorization/roleAssignments/4b771ea9-81de-4fc4-aa28-a3a0b9b4a320","type":"Microsoft.Authorization/roleAssignments","name":"4b771ea9-81de-4fc4-aa28-a3a0b9b4a320"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/36243c78-bf99-498c-9df9-86d9f8d28608","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod","condition":null,"conditionVersion":null,"createdOn":"2019-03-27T00:49:37.3000523Z","updatedOn":"2019-03-27T00:49:37.3000523Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod/providers/Microsoft.Authorization/roleAssignments/e6e1fffd-83f7-40c7-9f33-e56e2cf75b29","type":"Microsoft.Authorization/roleAssignments","name":"e6e1fffd-83f7-40c7-9f33-e56e2cf75b29"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/5d58bcaf-24a5-4b20-bdb6-eed9f69fbe4c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod","condition":null,"conditionVersion":null,"createdOn":"2019-03-27T00:50:08.3039053Z","updatedOn":"2019-03-27T00:50:08.3039053Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod/providers/Microsoft.Authorization/roleAssignments/3d01f56e-ee3a-41ed-a775-0e067546cb12","type":"Microsoft.Authorization/roleAssignments","name":"3d01f56e-ee3a-41ed-a775-0e067546cb12"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/72f988bf-86f1-41af-91ab-2d7cd011db47","condition":null,"conditionVersion":null,"createdOn":"2020-03-12T20:43:06.5941189Z","updatedOn":"2020-03-12T20:43:06.5941189Z","createdBy":"606f48c8-d219-4875-991d-ae6befaf0756","updatedBy":"606f48c8-d219-4875-991d-ae6befaf0756","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/72f988bf-86f1-41af-91ab-2d7cd011db47/providers/Microsoft.Authorization/roleAssignments/ad9e2cd7-0ff7-4931-9b17-656c8f17934b","type":"Microsoft.Authorization/roleAssignments","name":"ad9e2cd7-0ff7-4931-9b17-656c8f17934b"}]}' + string: '{"value":[{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/","condition":null,"conditionVersion":null,"createdOn":"2018-02-27T19:19:50.2663941Z","updatedOn":"2018-02-27T19:19:50.2663941Z","createdBy":null,"updatedBy":null,"delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Authorization/roleAssignments/3e883d24-b106-42ff-ad13-d7bf271b964d","type":"Microsoft.Authorization/roleAssignments","name":"3e883d24-b106-42ff-ad13-d7bf271b964d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-07-18T02:26:14.1665946Z","updatedOn":"2020-07-18T02:26:14.1665946Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/cfd7632d-7c5a-4531-82ce-890df8b4be96","type":"Microsoft.Authorization/roleAssignments","name":"cfd7632d-7c5a-4531-82ce-890df8b4be96"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-07-24T20:02:31.6333946Z","updatedOn":"2020-07-24T20:02:31.6333946Z","createdBy":"53bb8815-874d-4b05-9953-1158e05aa080","updatedBy":"53bb8815-874d-4b05-9953-1158e05aa080","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/fe8f6b65-9c14-4f43-bfe0-9c4e0778be5d","type":"Microsoft.Authorization/roleAssignments","name":"fe8f6b65-9c14-4f43-bfe0-9c4e0778be5d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/4abbcc35-e782-43d8-92c5-2d3f1bd2253f","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-08-03T15:06:36.3777307Z","updatedOn":"2020-08-03T15:06:36.3777307Z","createdBy":"a5cae52f-366a-417b-b718-e73d17746c35","updatedBy":"a5cae52f-366a-417b-b718-e73d17746c35","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/71b88381-621b-464e-b17a-6cd9433ad5a3","type":"Microsoft.Authorization/roleAssignments","name":"71b88381-621b-464e-b17a-6cd9433ad5a3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-08-21T16:23:57.9905009Z","updatedOn":"2020-08-21T16:23:57.9905009Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/17d7954a-d32a-4181-b887-1de9a8a0c05a","type":"Microsoft.Authorization/roleAssignments","name":"17d7954a-d32a-4181-b887-1de9a8a0c05a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-08-21T16:23:58.0549229Z","updatedOn":"2020-08-21T16:23:58.0549229Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/9a853af7-252b-4315-9ee3-0b243e595f80","type":"Microsoft.Authorization/roleAssignments","name":"9a853af7-252b-4315-9ee3-0b243e595f80"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"Group","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-08-21T16:23:58.6582166Z","updatedOn":"2020-08-21T16:23:58.6582166Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/8ab72fbd-e5fe-4a7d-ae20-baad615d688d","type":"Microsoft.Authorization/roleAssignments","name":"8ab72fbd-e5fe-4a7d-ae20-baad615d688d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-08-21T16:23:59.5326945Z","updatedOn":"2020-08-21T16:23:59.5326945Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4ed77f1d-82a2-4a02-b48e-fa5776870280","type":"Microsoft.Authorization/roleAssignments","name":"4ed77f1d-82a2-4a02-b48e-fa5776870280"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-09-01T06:59:31.4619017Z","updatedOn":"2020-09-01T06:59:31.4619017Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/3c8813ac-e50e-4868-9e41-910258f3c33a","type":"Microsoft.Authorization/roleAssignments","name":"3c8813ac-e50e-4868-9e41-910258f3c33a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-09-02T01:52:45.8299382Z","updatedOn":"2020-09-02T01:52:45.8299382Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/3e21284b-6bd7-431a-81ae-ccaf56267ab5","type":"Microsoft.Authorization/roleAssignments","name":"3e21284b-6bd7-431a-81ae-ccaf56267ab5"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-09-07T09:44:47.3865537Z","updatedOn":"2020-09-07T09:44:47.3865537Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/79357f85-973d-4621-b1bd-d1ecb645e146","type":"Microsoft.Authorization/roleAssignments","name":"79357f85-973d-4621-b1bd-d1ecb645e146"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-09-15T09:02:04.9171272Z","updatedOn":"2020-09-15T09:02:04.9171272Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/3a2ff825-a078-475d-aa68-80640a14daa2","type":"Microsoft.Authorization/roleAssignments","name":"3a2ff825-a078-475d-aa68-80640a14daa2"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-09-23T13:13:35.8201314Z","updatedOn":"2020-09-23T13:13:35.8201314Z","createdBy":"a5cae52f-366a-417b-b718-e73d17746c35","updatedBy":"a5cae52f-366a-417b-b718-e73d17746c35","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d2ac0456-208f-4492-aecf-24bbcf14f246","type":"Microsoft.Authorization/roleAssignments","name":"d2ac0456-208f-4492-aecf-24bbcf14f246"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-09-24T00:04:10.5243862Z","updatedOn":"2020-09-24T00:04:10.5243862Z","createdBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","updatedBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/78586b2c-fdf9-11ea-9e5e-8851fb3f4911","type":"Microsoft.Authorization/roleAssignments","name":"78586b2c-fdf9-11ea-9e5e-8851fb3f4911"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-09-28T21:00:48.4819948Z","updatedOn":"2020-09-28T21:00:48.4819948Z","createdBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","updatedBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c3f148f0-1373-48ba-ba19-cd15cd8bf7a6","type":"Microsoft.Authorization/roleAssignments","name":"c3f148f0-1373-48ba-ba19-cd15cd8bf7a6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-09-29T10:55:39.3762731Z","updatedOn":"2020-09-29T10:55:39.3762731Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/41e159ac-411a-4eed-b319-5b92571d2950","type":"Microsoft.Authorization/roleAssignments","name":"41e159ac-411a-4eed-b319-5b92571d2950"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-09-30T10:01:31.6109834Z","updatedOn":"2020-09-30T10:01:31.6109834Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/728fd3ed-0a93-4cad-96b6-ca2b85b98308","type":"Microsoft.Authorization/roleAssignments","name":"728fd3ed-0a93-4cad-96b6-ca2b85b98308"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-05T23:00:10.5454113Z","updatedOn":"2020-10-05T23:00:10.5454113Z","createdBy":"9404195a-2cde-4a10-b88c-e7b41572bf31","updatedBy":"9404195a-2cde-4a10-b88c-e7b41572bf31","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f1bf27f9-8b8f-46f0-8b54-3d0b5a10455d","type":"Microsoft.Authorization/roleAssignments","name":"f1bf27f9-8b8f-46f0-8b54-3d0b5a10455d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-06T00:33:22.8792900Z","updatedOn":"2020-10-06T00:33:22.8792900Z","createdBy":"e29d79eb-7dfc-4583-b360-d45d39625c97","updatedBy":"e29d79eb-7dfc-4583-b360-d45d39625c97","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/24d0c5e6-0763-11eb-82a0-d636039e345c","type":"Microsoft.Authorization/roleAssignments","name":"24d0c5e6-0763-11eb-82a0-d636039e345c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-06T07:31:31.4976753Z","updatedOn":"2020-10-06T07:31:31.4976753Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/8166f5c5-5401-43da-8e43-553f34ba5c1f","type":"Microsoft.Authorization/roleAssignments","name":"8166f5c5-5401-43da-8e43-553f34ba5c1f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-08T00:00:18.1887050Z","updatedOn":"2020-10-08T00:00:18.1887050Z","createdBy":"09914860-7ec9-4151-8431-31797899a359","updatedBy":"09914860-7ec9-4151-8431-31797899a359","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/1e5c915f-e276-400d-a6f0-9b8f202aee98","type":"Microsoft.Authorization/roleAssignments","name":"1e5c915f-e276-400d-a6f0-9b8f202aee98"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-12T23:56:24.2246134Z","updatedOn":"2020-10-12T23:56:24.2246134Z","createdBy":"8ff738a5-abcd-4864-a162-6c18f7c9cbd9","updatedBy":"8ff738a5-abcd-4864-a162-6c18f7c9cbd9","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/dc3b4af3-e20c-4662-90fc-c3879a6c521c","type":"Microsoft.Authorization/roleAssignments","name":"dc3b4af3-e20c-4662-90fc-c3879a6c521c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-14T00:29:42.9981174Z","updatedOn":"2020-10-14T00:29:42.9981174Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c6af4ef5-80f6-4303-a641-45689a1646dc","type":"Microsoft.Authorization/roleAssignments","name":"c6af4ef5-80f6-4303-a641-45689a1646dc"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-15T03:35:43.8283383Z","updatedOn":"2020-10-15T03:35:43.8283383Z","createdBy":"2fda9054-fc12-457c-bb93-614f1f13426b","updatedBy":"2fda9054-fc12-457c-bb93-614f1f13426b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/64d06112-fceb-476a-b426-6843c25208ae","type":"Microsoft.Authorization/roleAssignments","name":"64d06112-fceb-476a-b426-6843c25208ae"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-16T16:42:17.7175670Z","updatedOn":"2020-10-16T16:42:17.7175670Z","createdBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","updatedBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/5854c7a2-cf00-46f9-9cc1-d977f34324df","type":"Microsoft.Authorization/roleAssignments","name":"5854c7a2-cf00-46f9-9cc1-d977f34324df"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-19T03:59:55.8915203Z","updatedOn":"2020-10-19T03:59:55.8915203Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6d449bc1-f3b3-4d07-94e5-9c78a799099f","type":"Microsoft.Authorization/roleAssignments","name":"6d449bc1-f3b3-4d07-94e5-9c78a799099f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-20T10:18:15.8804322Z","updatedOn":"2020-10-20T10:18:15.8804322Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/06a0e1fb-af3e-4fa2-815f-848a6d176225","type":"Microsoft.Authorization/roleAssignments","name":"06a0e1fb-af3e-4fa2-815f-848a6d176225"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-22T06:46:57.6492498Z","updatedOn":"2020-10-22T06:46:57.6492498Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/fc3170b4-3674-455d-b7af-8b3056ffd4bd","type":"Microsoft.Authorization/roleAssignments","name":"fc3170b4-3674-455d-b7af-8b3056ffd4bd"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-26T09:32:54.3608737Z","updatedOn":"2020-10-26T09:32:54.3608737Z","createdBy":"f058371f-0c0e-46bb-a5d4-f8aec637a467","updatedBy":"f058371f-0c0e-46bb-a5d4-f8aec637a467","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/209640f3-25d8-4e30-b857-d64304235a61","type":"Microsoft.Authorization/roleAssignments","name":"209640f3-25d8-4e30-b857-d64304235a61"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-10-29T18:40:28.9870114Z","updatedOn":"2020-10-29T18:40:28.9870114Z","createdBy":"febf609b-90d8-4d63-bffb-c12ccb094696","updatedBy":"febf609b-90d8-4d63-bffb-c12ccb094696","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/62a8bb96-2a77-4216-bd60-17b4b6e0a4c4","type":"Microsoft.Authorization/roleAssignments","name":"62a8bb96-2a77-4216-bd60-17b4b6e0a4c4"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-02T09:02:29.2637630Z","updatedOn":"2020-11-02T09:02:29.2637630Z","createdBy":"a5c919a9-89c9-45fb-880a-5e3e0b4fcb84","updatedBy":"a5c919a9-89c9-45fb-880a-5e3e0b4fcb84","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0ad1faa8-8680-4dec-a768-050e8349af33","type":"Microsoft.Authorization/roleAssignments","name":"0ad1faa8-8680-4dec-a768-050e8349af33"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-03T21:58:18.9397159Z","updatedOn":"2020-11-03T21:58:18.9397159Z","createdBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","updatedBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/fbba25e5-561b-4364-8755-515a24434085","type":"Microsoft.Authorization/roleAssignments","name":"fbba25e5-561b-4364-8755-515a24434085"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-03T22:00:44.4523883Z","updatedOn":"2020-11-03T22:00:44.4523883Z","createdBy":"478fdd79-cb11-45ed-8725-382321c0f7fd","updatedBy":"478fdd79-cb11-45ed-8725-382321c0f7fd","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/908aa5ac-22a2-413a-9333-fcb0a1ba2c59","type":"Microsoft.Authorization/roleAssignments","name":"908aa5ac-22a2-413a-9333-fcb0a1ba2c59"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-09T14:00:59.0347294Z","updatedOn":"2020-11-09T14:00:59.0347294Z","createdBy":"09914860-7ec9-4151-8431-31797899a359","updatedBy":"09914860-7ec9-4151-8431-31797899a359","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e9541f93-ea4a-4b1b-98bf-839fecfcaa22","type":"Microsoft.Authorization/roleAssignments","name":"e9541f93-ea4a-4b1b-98bf-839fecfcaa22"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-10T00:12:49.4151006Z","updatedOn":"2020-11-10T00:12:49.4151006Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c13e8fa1-ee9a-460a-910e-eaecab956199","type":"Microsoft.Authorization/roleAssignments","name":"c13e8fa1-ee9a-460a-910e-eaecab956199"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-10T00:15:19.8671906Z","updatedOn":"2020-11-10T00:15:19.8671906Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2246ec23-fc97-4e82-b67c-04743087f63d","type":"Microsoft.Authorization/roleAssignments","name":"2246ec23-fc97-4e82-b67c-04743087f63d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-10T12:48:43.1056692Z","updatedOn":"2020-11-10T12:48:43.1056692Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/dc924d22-cbb3-4f1d-a3c5-e803c30b8428","type":"Microsoft.Authorization/roleAssignments","name":"dc924d22-cbb3-4f1d-a3c5-e803c30b8428"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-18T00:19:23.7906492Z","updatedOn":"2020-11-18T00:19:23.7906492Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2e9f22fc-e6c1-4376-a65d-4553c0daee64","type":"Microsoft.Authorization/roleAssignments","name":"2e9f22fc-e6c1-4376-a65d-4553c0daee64"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-19T12:24:03.7391153Z","updatedOn":"2020-11-19T12:24:03.7391153Z","createdBy":"09914860-7ec9-4151-8431-31797899a359","updatedBy":"09914860-7ec9-4151-8431-31797899a359","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a29c25cf-6027-4031-8c68-12c812d4e4d7","type":"Microsoft.Authorization/roleAssignments","name":"a29c25cf-6027-4031-8c68-12c812d4e4d7"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-20T01:41:11.3355841Z","updatedOn":"2020-11-20T01:41:11.3355841Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e19e243a-0497-4c83-a9e1-b6d622c5cadf","type":"Microsoft.Authorization/roleAssignments","name":"e19e243a-0497-4c83-a9e1-b6d622c5cadf"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-24T06:03:13.0460581Z","updatedOn":"2020-11-24T06:03:13.0460581Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/bdd0bce4-39a5-47f7-836c-6295639cc0e1","type":"Microsoft.Authorization/roleAssignments","name":"bdd0bce4-39a5-47f7-836c-6295639cc0e1"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-11-26T03:01:44.6247690Z","updatedOn":"2020-11-26T03:01:44.6247690Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/7a3cddac-b7c4-4e13-ad0d-25a1f8db0394","type":"Microsoft.Authorization/roleAssignments","name":"7a3cddac-b7c4-4e13-ad0d-25a1f8db0394"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-12-02T07:09:05.7656072Z","updatedOn":"2020-12-02T07:09:05.7656072Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/62cb656e-c531-4da8-9837-fc956269c6e0","type":"Microsoft.Authorization/roleAssignments","name":"62cb656e-c531-4da8-9837-fc956269c6e0"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-12-04T03:28:35.2284735Z","updatedOn":"2020-12-04T03:28:35.2284735Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/9bc8c2c0-90e6-4346-a844-f9f401472a4d","type":"Microsoft.Authorization/roleAssignments","name":"9bc8c2c0-90e6-4346-a844-f9f401472a4d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-12-04T06:53:38.6367823Z","updatedOn":"2020-12-04T06:53:38.6367823Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/22700fef-7289-4005-937a-e4d08881da8c","type":"Microsoft.Authorization/roleAssignments","name":"22700fef-7289-4005-937a-e4d08881da8c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-12-04T08:16:05.6118991Z","updatedOn":"2020-12-04T08:16:05.6118991Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/15dbe638-db5c-45ad-9e4e-3bee28587281","type":"Microsoft.Authorization/roleAssignments","name":"15dbe638-db5c-45ad-9e4e-3bee28587281"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-12-07T12:37:13.7841746Z","updatedOn":"2020-12-07T12:37:13.7841746Z","createdBy":"a5c919a9-89c9-45fb-880a-5e3e0b4fcb84","updatedBy":"a5c919a9-89c9-45fb-880a-5e3e0b4fcb84","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c7eecba5-f37b-4db4-8818-a650f8b5b8de","type":"Microsoft.Authorization/roleAssignments","name":"c7eecba5-f37b-4db4-8818-a650f8b5b8de"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-12-18T08:00:24.9874024Z","updatedOn":"2020-12-18T08:00:24.9874024Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/7f60817e-27b5-486b-bbdb-b748bcb752d4","type":"Microsoft.Authorization/roleAssignments","name":"7f60817e-27b5-486b-bbdb-b748bcb752d4"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-12-24T11:54:27.7394442Z","updatedOn":"2020-12-24T11:54:27.7394442Z","createdBy":"e073490c-1bbd-4bac-9bd1-5584fec82ff0","updatedBy":"e073490c-1bbd-4bac-9bd1-5584fec82ff0","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/90534c90-22d5-4e15-ae4c-009340273136","type":"Microsoft.Authorization/roleAssignments","name":"90534c90-22d5-4e15-ae4c-009340273136"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-12-30T11:06:51.2887287Z","updatedOn":"2020-12-30T11:06:51.2887287Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/1cbe1756-4a8f-11eb-b753-720008210d90","type":"Microsoft.Authorization/roleAssignments","name":"1cbe1756-4a8f-11eb-b753-720008210d90"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-01-13T06:12:19.1847916Z","updatedOn":"2021-01-13T06:12:19.1847916Z","createdBy":"241cd743-2c33-4860-bd3a-1df659c06eef","updatedBy":"241cd743-2c33-4860-bd3a-1df659c06eef","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/498bf4f6-5566-11eb-a35b-acde48001122","type":"Microsoft.Authorization/roleAssignments","name":"498bf4f6-5566-11eb-a35b-acde48001122"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-01-13T21:55:46.0921361Z","updatedOn":"2021-01-13T21:55:46.0921361Z","createdBy":"478fdd79-cb11-45ed-8725-382321c0f7fd","updatedBy":"478fdd79-cb11-45ed-8725-382321c0f7fd","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d900b70f-235d-4d37-bf50-ca514e3001a1","type":"Microsoft.Authorization/roleAssignments","name":"d900b70f-235d-4d37-bf50-ca514e3001a1"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-01-26T20:35:14.0496305Z","updatedOn":"2021-01-26T20:35:14.0496305Z","createdBy":"febf609b-90d8-4d63-bffb-c12ccb094696","updatedBy":"febf609b-90d8-4d63-bffb-c12ccb094696","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/be76f04c-520c-4d95-b6b3-e7fce3f55948","type":"Microsoft.Authorization/roleAssignments","name":"be76f04c-520c-4d95-b6b3-e7fce3f55948"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-04T05:54:29.9691652Z","updatedOn":"2021-02-04T05:54:29.9691652Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4710c459-25c6-45b9-a906-3687060df1a2","type":"Microsoft.Authorization/roleAssignments","name":"4710c459-25c6-45b9-a906-3687060df1a2"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-04T06:52:05.2038586Z","updatedOn":"2021-02-04T06:52:05.2038586Z","createdBy":"8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9","updatedBy":"8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/fdf6a314-3605-4944-96c1-08b7364dba54","type":"Microsoft.Authorization/roleAssignments","name":"fdf6a314-3605-4944-96c1-08b7364dba54"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-05T01:06:29.5543610Z","updatedOn":"2021-02-05T01:06:29.5543610Z","createdBy":"53bb8815-874d-4b05-9953-1158e05aa080","updatedBy":"53bb8815-874d-4b05-9953-1158e05aa080","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f2caf434-97c9-440f-9ad3-541ae6bd9528","type":"Microsoft.Authorization/roleAssignments","name":"f2caf434-97c9-440f-9ad3-541ae6bd9528"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-11T22:26:14.1444510Z","updatedOn":"2021-02-11T22:26:14.1444510Z","createdBy":"4aed2078-2d27-4c18-95f7-fef3c0fe91ca","updatedBy":"4aed2078-2d27-4c18-95f7-fef3c0fe91ca","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a8602643-a0c2-45c4-980c-dc2b618d13b8","type":"Microsoft.Authorization/roleAssignments","name":"a8602643-a0c2-45c4-980c-dc2b618d13b8"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-16T19:18:13.7025371Z","updatedOn":"2021-02-16T19:18:13.7025371Z","createdBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","updatedBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b2d72c2f-d4c0-4c45-9908-90fda72c868d","type":"Microsoft.Authorization/roleAssignments","name":"b2d72c2f-d4c0-4c45-9908-90fda72c868d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-16T22:20:01.8102926Z","updatedOn":"2021-02-16T22:20:01.8102926Z","createdBy":"53bb8815-874d-4b05-9953-1158e05aa080","updatedBy":"53bb8815-874d-4b05-9953-1158e05aa080","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b7aa1f69-60a8-4bb9-a624-857052576335","type":"Microsoft.Authorization/roleAssignments","name":"b7aa1f69-60a8-4bb9-a624-857052576335"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-17T00:37:53.4699042Z","updatedOn":"2021-02-17T00:37:53.4699042Z","createdBy":"e5ad6d43-d6ac-4061-84cc-f7cb826200a0","updatedBy":"e5ad6d43-d6ac-4061-84cc-f7cb826200a0","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c06abb18-9697-41f9-9410-ff0ee9b13ab9","type":"Microsoft.Authorization/roleAssignments","name":"c06abb18-9697-41f9-9410-ff0ee9b13ab9"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-17T01:26:55.0758483Z","updatedOn":"2021-02-17T01:26:55.0758483Z","createdBy":"df7de5cc-1fc8-462d-be1d-bcbc2576454a","updatedBy":"df7de5cc-1fc8-462d-be1d-bcbc2576454a","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/9812b416-33c9-4b88-bcdb-6b8406dd319f","type":"Microsoft.Authorization/roleAssignments","name":"9812b416-33c9-4b88-bcdb-6b8406dd319f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-17T01:38:17.8125104Z","updatedOn":"2021-02-17T01:38:17.8125104Z","createdBy":"478fdd79-cb11-45ed-8725-382321c0f7fd","updatedBy":"478fdd79-cb11-45ed-8725-382321c0f7fd","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/82e0c83f-b7dd-49f6-b501-ff05951db69d","type":"Microsoft.Authorization/roleAssignments","name":"82e0c83f-b7dd-49f6-b501-ff05951db69d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-17T01:57:59.0655876Z","updatedOn":"2021-02-17T01:57:59.0655876Z","createdBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","updatedBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c9f0c587-7611-45ba-afb2-200499c8d4e0","type":"Microsoft.Authorization/roleAssignments","name":"c9f0c587-7611-45ba-afb2-200499c8d4e0"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-19T01:25:51.9967288Z","updatedOn":"2021-02-19T01:25:51.9967288Z","createdBy":"9404195a-2cde-4a10-b88c-e7b41572bf31","updatedBy":"9404195a-2cde-4a10-b88c-e7b41572bf31","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2e4ab306-7ae7-4867-8e22-90215bdbeb9a","type":"Microsoft.Authorization/roleAssignments","name":"2e4ab306-7ae7-4867-8e22-90215bdbeb9a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-25T05:50:56.3200305Z","updatedOn":"2021-02-25T05:50:56.3200305Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/5f5c2b9b-b76d-442c-8442-cdca92ea4450","type":"Microsoft.Authorization/roleAssignments","name":"5f5c2b9b-b76d-442c-8442-cdca92ea4450"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-02-25T06:10:47.8694922Z","updatedOn":"2021-02-25T06:10:47.8694922Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ded78aee-c6bf-4c93-a2c6-4c3388c55936","type":"Microsoft.Authorization/roleAssignments","name":"ded78aee-c6bf-4c93-a2c6-4c3388c55936"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-05-01T19:36:24.0325431Z","updatedOn":"2021-05-01T19:36:24.0325431Z","createdBy":"5ecb1531-0d8c-4a89-93cb-1b48b2224358","updatedBy":"5ecb1531-0d8c-4a89-93cb-1b48b2224358","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a11a3823-3c3c-4a0a-ab63-e809248b39d6","type":"Microsoft.Authorization/roleAssignments","name":"a11a3823-3c3c-4a0a-ab63-e809248b39d6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-05-01T21:51:55.4255791Z","updatedOn":"2021-05-01T21:51:55.4255791Z","createdBy":"ad232e99-5e1b-414e-aa53-96ae40d39f3e","updatedBy":"ad232e99-5e1b-414e-aa53-96ae40d39f3e","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/36175f2d-f556-464e-a509-19cbb3f45909","type":"Microsoft.Authorization/roleAssignments","name":"36175f2d-f556-464e-a509-19cbb3f45909"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-28T18:57:43.7674845Z","updatedOn":"2020-04-28T18:57:43.7674845Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/89ef5a42-558f-4dc2-a21d-61f47f87c5aa","type":"Microsoft.Authorization/roleAssignments","name":"89ef5a42-558f-4dc2-a21d-61f47f87c5aa"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-28T17:11:43.4784066Z","updatedOn":"2020-04-28T17:11:43.4784066Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c7a17f89-6fda-4d7f-9024-279fe7c46b9e","type":"Microsoft.Authorization/roleAssignments","name":"c7a17f89-6fda-4d7f-9024-279fe7c46b9e"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-28T17:15:20.6839476Z","updatedOn":"2020-04-28T17:15:20.6839476Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b677c994-5d2c-4d21-8772-4a770c383a69","type":"Microsoft.Authorization/roleAssignments","name":"b677c994-5d2c-4d21-8772-4a770c383a69"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-29T03:41:37.0700725Z","updatedOn":"2020-04-29T03:41:37.0700725Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f2790ff5-c68c-4783-bfbe-0c7210b1320d","type":"Microsoft.Authorization/roleAssignments","name":"f2790ff5-c68c-4783-bfbe-0c7210b1320d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-29T03:43:26.9737395Z","updatedOn":"2020-04-29T03:43:26.9737395Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/64ded23e-c648-452f-a53e-2bb0b1947293","type":"Microsoft.Authorization/roleAssignments","name":"64ded23e-c648-452f-a53e-2bb0b1947293"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-28T17:14:00.0562525Z","updatedOn":"2020-04-28T17:14:00.0562525Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/eaece071-786c-479c-a0b0-5c41d876600c","type":"Microsoft.Authorization/roleAssignments","name":"eaece071-786c-479c-a0b0-5c41d876600c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-01T17:17:32.8545165Z","updatedOn":"2020-05-01T17:17:32.8545165Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/5b13726e-0868-475f-9d6f-e19ed5886a5e","type":"Microsoft.Authorization/roleAssignments","name":"5b13726e-0868-475f-9d6f-e19ed5886a5e"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-01T17:22:00.3902257Z","updatedOn":"2020-05-01T17:22:00.3902257Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/aa99e113-3d5e-4fb5-ac2a-f34b0bf0aa32","type":"Microsoft.Authorization/roleAssignments","name":"aa99e113-3d5e-4fb5-ac2a-f34b0bf0aa32"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-29T00:04:19.0452651Z","updatedOn":"2020-04-29T00:04:19.0452651Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/593f0b85-3d78-43c8-a842-abfb4eab0a9b","type":"Microsoft.Authorization/roleAssignments","name":"593f0b85-3d78-43c8-a842-abfb4eab0a9b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2018-05-03T20:35:52.7357152Z","updatedOn":"2018-05-03T20:35:52.7357152Z","createdBy":"b87c5c16-4f0e-4af2-9b2e-20f25d6b5a3f","updatedBy":"b87c5c16-4f0e-4af2-9b2e-20f25d6b5a3f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4665dbd4-b405-4cc3-9321-1bee27e6101c","type":"Microsoft.Authorization/roleAssignments","name":"4665dbd4-b405-4cc3-9321-1bee27e6101c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-11T13:25:07.0669336Z","updatedOn":"2020-02-11T13:25:07.0669336Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b8056eb0-60e9-433c-85f9-f2c9289fc1a2","type":"Microsoft.Authorization/roleAssignments","name":"b8056eb0-60e9-433c-85f9-f2c9289fc1a2"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-04-22T06:41:53.1813823Z","updatedOn":"2019-04-22T06:41:53.1813823Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6b620efc-0123-402f-8462-1f1b47168729","type":"Microsoft.Authorization/roleAssignments","name":"6b620efc-0123-402f-8462-1f1b47168729"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-21T03:42:13.8891609Z","updatedOn":"2020-02-21T03:42:13.8891609Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c41b0416-12e4-49bb-9e35-411e4f409102","type":"Microsoft.Authorization/roleAssignments","name":"c41b0416-12e4-49bb-9e35-411e4f409102"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-27T17:05:13.7273840Z","updatedOn":"2020-04-27T17:05:13.7273840Z","createdBy":"ef34ad48-5675-4480-8fe7-a6cc394b97c4","updatedBy":"ef34ad48-5675-4480-8fe7-a6cc394b97c4","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/9e06e920-0fc3-47a8-867a-ce7804818059","type":"Microsoft.Authorization/roleAssignments","name":"9e06e920-0fc3-47a8-867a-ce7804818059"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-22T07:53:45.7192431Z","updatedOn":"2020-04-22T07:53:45.7192431Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0d01cbd3-f3e3-4712-95c6-cf07a0224887","type":"Microsoft.Authorization/roleAssignments","name":"0d01cbd3-f3e3-4712-95c6-cf07a0224887"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-10-25T03:10:56.6742842Z","updatedOn":"2019-10-25T03:10:56.6742842Z","createdBy":"09914860-7ec9-4151-8431-31797899a359","updatedBy":"09914860-7ec9-4151-8431-31797899a359","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c94cb5f8-6d0c-4405-be47-b599a43f2bde","type":"Microsoft.Authorization/roleAssignments","name":"c94cb5f8-6d0c-4405-be47-b599a43f2bde"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-08T22:51:35.8836739Z","updatedOn":"2020-04-08T22:51:35.8836739Z","createdBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","updatedBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e35806bd-ef22-4a25-80d9-9429df6254c6","type":"Microsoft.Authorization/roleAssignments","name":"e35806bd-ef22-4a25-80d9-9429df6254c6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2017-06-16T23:32:44.3548155Z","updatedOn":"2017-06-16T23:32:44.3548155Z","createdBy":"f115a02a-6f42-4297-aabb-f0f6022ee60b","updatedBy":"f115a02a-6f42-4297-aabb-f0f6022ee60b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c2330a8b-4550-4dcf-841a-88553080079b","type":"Microsoft.Authorization/roleAssignments","name":"c2330a8b-4550-4dcf-841a-88553080079b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-03-25T08:26:29.8675330Z","updatedOn":"2020-03-25T08:26:29.8675330Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d00f7f11-a22d-4bb3-a016-07d2ba2b13c0","type":"Microsoft.Authorization/roleAssignments","name":"d00f7f11-a22d-4bb3-a016-07d2ba2b13c0"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-09-14T02:15:59.1199760Z","updatedOn":"2019-09-14T02:15:59.1199760Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/593989ab-0941-462b-aeba-5aba52f8755b","type":"Microsoft.Authorization/roleAssignments","name":"593989ab-0941-462b-aeba-5aba52f8755b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-14T21:19:25.3668580Z","updatedOn":"2020-05-14T21:19:25.3668580Z","createdBy":"82f25a3e-d28d-4c27-90d6-d92c79d98936","updatedBy":"82f25a3e-d28d-4c27-90d6-d92c79d98936","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/668f3f0e-bbb7-42d3-9ab1-1482922c06a7","type":"Microsoft.Authorization/roleAssignments","name":"668f3f0e-bbb7-42d3-9ab1-1482922c06a7"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-07T00:35:48.4591165Z","updatedOn":"2020-05-07T00:35:48.4591165Z","createdBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","updatedBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ff740118-1a0b-4bf5-8f2a-c555e9923ea3","type":"Microsoft.Authorization/roleAssignments","name":"ff740118-1a0b-4bf5-8f2a-c555e9923ea3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-10-10T19:44:02.6434834Z","updatedOn":"2019-10-10T19:44:02.6434834Z","createdBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","updatedBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ecd71fb9-414b-496d-ba90-8be383086b97","type":"Microsoft.Authorization/roleAssignments","name":"ecd71fb9-414b-496d-ba90-8be383086b97"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-09-23T02:06:16.8281713Z","updatedOn":"2019-09-23T02:06:16.8281713Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a301a171-6505-42c5-a8b2-bcf09674b59c","type":"Microsoft.Authorization/roleAssignments","name":"a301a171-6505-42c5-a8b2-bcf09674b59c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-05T05:29:51.2703674Z","updatedOn":"2020-02-05T05:29:51.2703674Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/382ca8aa-eaac-49fb-8a33-ad06c08ae449","type":"Microsoft.Authorization/roleAssignments","name":"382ca8aa-eaac-49fb-8a33-ad06c08ae449"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-01-08T12:55:39.9212416Z","updatedOn":"2020-01-08T12:55:39.9212416Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/081427e9-c895-4903-8573-77da86dcdae1","type":"Microsoft.Authorization/roleAssignments","name":"081427e9-c895-4903-8573-77da86dcdae1"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-20T22:22:14.0297869Z","updatedOn":"2020-04-20T22:22:14.0297869Z","createdBy":"53bb8815-874d-4b05-9953-1158e05aa080","updatedBy":"53bb8815-874d-4b05-9953-1158e05aa080","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/966ec633-e653-441f-910c-8536f7899f69","type":"Microsoft.Authorization/roleAssignments","name":"966ec633-e653-441f-910c-8536f7899f69"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-30T06:27:35.9310363Z","updatedOn":"2020-04-30T06:27:35.9310363Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6a1327e4-100e-43ee-b04e-1403969b805b","type":"Microsoft.Authorization/roleAssignments","name":"6a1327e4-100e-43ee-b04e-1403969b805b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-06-13T06:44:49.9960198Z","updatedOn":"2019-06-13T06:44:49.9960198Z","createdBy":"f058371f-0c0e-46bb-a5d4-f8aec637a467","updatedBy":"f058371f-0c0e-46bb-a5d4-f8aec637a467","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/33958269-41a0-400a-91a1-6303d954c8f0","type":"Microsoft.Authorization/roleAssignments","name":"33958269-41a0-400a-91a1-6303d954c8f0"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-01-27T19:05:00.2764645Z","updatedOn":"2020-01-27T19:05:00.2764645Z","createdBy":"4744d4c9-1026-421b-87ce-b102213af921","updatedBy":"4744d4c9-1026-421b-87ce-b102213af921","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f0575c6a-aabc-4a2e-b169-379b64f33f8a","type":"Microsoft.Authorization/roleAssignments","name":"f0575c6a-aabc-4a2e-b169-379b64f33f8a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-26T16:21:06.7365340Z","updatedOn":"2020-05-26T16:21:06.7365340Z","createdBy":"ef34ad48-5675-4480-8fe7-a6cc394b97c4","updatedBy":"ef34ad48-5675-4480-8fe7-a6cc394b97c4","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/19a3bbc1-fca8-4ec6-b0e9-7d6861207524","type":"Microsoft.Authorization/roleAssignments","name":"19a3bbc1-fca8-4ec6-b0e9-7d6861207524"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-10-26T00:57:22.8153925Z","updatedOn":"2019-10-26T00:57:22.8153925Z","createdBy":"2fda9054-fc12-457c-bb93-614f1f13426b","updatedBy":"2fda9054-fc12-457c-bb93-614f1f13426b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/8722a1fb-4828-4f43-aa59-0385179b3a05","type":"Microsoft.Authorization/roleAssignments","name":"8722a1fb-4828-4f43-aa59-0385179b3a05"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-30T06:27:35.9911337Z","updatedOn":"2020-04-30T06:27:35.9911337Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/85726f1f-9e4c-415a-b56f-d8e799aaa96d","type":"Microsoft.Authorization/roleAssignments","name":"85726f1f-9e4c-415a-b56f-d8e799aaa96d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-27T21:08:14.8085926Z","updatedOn":"2020-02-27T21:08:14.8085926Z","createdBy":"ef34ad48-5675-4480-8fe7-a6cc394b97c4","updatedBy":"ef34ad48-5675-4480-8fe7-a6cc394b97c4","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/742a0f1a-fbf1-46f1-929d-de8871fc1193","type":"Microsoft.Authorization/roleAssignments","name":"742a0f1a-fbf1-46f1-929d-de8871fc1193"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-01T23:19:45.4260771Z","updatedOn":"2020-05-01T23:19:45.4260771Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/90e2b70f-7104-4f75-b6a5-e7226e497378","type":"Microsoft.Authorization/roleAssignments","name":"90e2b70f-7104-4f75-b6a5-e7226e497378"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-04-16T02:04:22.4782415Z","updatedOn":"2019-04-16T02:04:22.4782415Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/bacdb283-653c-47eb-a578-11743d7898f8","type":"Microsoft.Authorization/roleAssignments","name":"bacdb283-653c-47eb-a578-11743d7898f8"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-04T02:07:58.4393297Z","updatedOn":"2020-02-04T02:07:58.4393297Z","createdBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","updatedBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e46a2f7d-e088-47e2-952f-a0a4818b3825","type":"Microsoft.Authorization/roleAssignments","name":"e46a2f7d-e088-47e2-952f-a0a4818b3825"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-03-26T08:05:19.1222694Z","updatedOn":"2020-03-26T08:05:19.1222694Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/1f46adf6-1c16-4743-b3ac-35cd30452c6b","type":"Microsoft.Authorization/roleAssignments","name":"1f46adf6-1c16-4743-b3ac-35cd30452c6b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-07T00:35:48.6619455Z","updatedOn":"2020-05-07T00:35:48.6619455Z","createdBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","updatedBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/052d4514-701f-41dd-8171-4e8cfab148a6","type":"Microsoft.Authorization/roleAssignments","name":"052d4514-701f-41dd-8171-4e8cfab148a6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-03-27T09:09:33.7347978Z","updatedOn":"2020-03-27T09:09:33.7347978Z","createdBy":"09914860-7ec9-4151-8431-31797899a359","updatedBy":"09914860-7ec9-4151-8431-31797899a359","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6d355b17-e9d6-47b7-9181-b54ad0083793","type":"Microsoft.Authorization/roleAssignments","name":"6d355b17-e9d6-47b7-9181-b54ad0083793"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-03-19T02:50:30.0038186Z","updatedOn":"2019-03-19T02:50:30.0038186Z","createdBy":"b47f071a-d6c9-4297-954e-83151fff489b","updatedBy":"b47f071a-d6c9-4297-954e-83151fff489b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/26adec15-a0e4-4b2e-a437-9b545b9723fc","type":"Microsoft.Authorization/roleAssignments","name":"26adec15-a0e4-4b2e-a437-9b545b9723fc"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-04-17T00:50:00.2288905Z","updatedOn":"2019-04-17T00:50:00.2288905Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0e873fd7-4bdb-4df5-a510-c15f3ce99cd6","type":"Microsoft.Authorization/roleAssignments","name":"0e873fd7-4bdb-4df5-a510-c15f3ce99cd6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-23T03:53:49.9358521Z","updatedOn":"2020-06-23T03:53:49.9358521Z","createdBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","updatedBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/02a0e839-adb0-448c-84f0-3a3f82ef8430","type":"Microsoft.Authorization/roleAssignments","name":"02a0e839-adb0-448c-84f0-3a3f82ef8430"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-08T07:40:31.7235048Z","updatedOn":"2020-05-08T07:40:31.7235048Z","createdBy":"09914860-7ec9-4151-8431-31797899a359","updatedBy":"09914860-7ec9-4151-8431-31797899a359","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/cbfa0c0c-2653-4fb8-b9e5-d41bd96053a7","type":"Microsoft.Authorization/roleAssignments","name":"cbfa0c0c-2653-4fb8-b9e5-d41bd96053a7"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-02T17:06:57.1466814Z","updatedOn":"2020-06-02T17:06:57.1466814Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ab903dde-d229-446d-b429-c1618b8aef5e","type":"Microsoft.Authorization/roleAssignments","name":"ab903dde-d229-446d-b429-c1618b8aef5e"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-29T03:34:09.1452976Z","updatedOn":"2020-04-29T03:34:09.1452976Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/feb76a5e-7bed-4bc8-b481-14bbb109bc33","type":"Microsoft.Authorization/roleAssignments","name":"feb76a5e-7bed-4bc8-b481-14bbb109bc33"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-15T10:16:20.3297126Z","updatedOn":"2020-04-15T10:16:20.3297126Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0db6da93-ca6a-4b5a-8c44-7a3f2003d03c","type":"Microsoft.Authorization/roleAssignments","name":"0db6da93-ca6a-4b5a-8c44-7a3f2003d03c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-01-13T05:17:20.7354482Z","updatedOn":"2020-01-13T05:17:20.7354482Z","createdBy":"09914860-7ec9-4151-8431-31797899a359","updatedBy":"09914860-7ec9-4151-8431-31797899a359","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e5a79ae7-7137-416f-a2cd-4b273ca62d5f","type":"Microsoft.Authorization/roleAssignments","name":"e5a79ae7-7137-416f-a2cd-4b273ca62d5f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-24T19:37:33.7189313Z","updatedOn":"2020-02-24T19:37:33.7189313Z","createdBy":"f31399da-e7ed-4fe4-a825-a9dff4f53481","updatedBy":"f31399da-e7ed-4fe4-a825-a9dff4f53481","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d1964993-fb9d-4be1-982f-fcd6ca7cd493","type":"Microsoft.Authorization/roleAssignments","name":"d1964993-fb9d-4be1-982f-fcd6ca7cd493"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2017-05-22T23:26:54.3208785Z","updatedOn":"2017-05-22T23:26:54.3208785Z","createdBy":"b09a0928-3846-4efb-a579-8540fb78b0a3","updatedBy":"b09a0928-3846-4efb-a579-8540fb78b0a3","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2d149cfb-bc18-48f8-b769-8a0cafd11bee","type":"Microsoft.Authorization/roleAssignments","name":"2d149cfb-bc18-48f8-b769-8a0cafd11bee"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-07T02:09:11.3539299Z","updatedOn":"2020-05-07T02:09:11.3539299Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/5124598f-5127-4efc-9b15-9276948fe202","type":"Microsoft.Authorization/roleAssignments","name":"5124598f-5127-4efc-9b15-9276948fe202"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-18T23:40:26.3271411Z","updatedOn":"2020-02-18T23:40:26.3271411Z","createdBy":"f31399da-e7ed-4fe4-a825-a9dff4f53481","updatedBy":"f31399da-e7ed-4fe4-a825-a9dff4f53481","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/27f9c0cd-fbc1-4810-a9f9-804efad4beec","type":"Microsoft.Authorization/roleAssignments","name":"27f9c0cd-fbc1-4810-a9f9-804efad4beec"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-02T10:52:21.7337863Z","updatedOn":"2020-04-02T10:52:21.7337863Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/54ff849a-1ced-4a28-b675-6bca70a82033","type":"Microsoft.Authorization/roleAssignments","name":"54ff849a-1ced-4a28-b675-6bca70a82033"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-16T07:25:52.5298801Z","updatedOn":"2020-04-16T07:25:52.5298801Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/65fd85a7-3057-4f7f-86bd-0c36a612f483","type":"Microsoft.Authorization/roleAssignments","name":"65fd85a7-3057-4f7f-86bd-0c36a612f483"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-22T21:44:38.6097605Z","updatedOn":"2020-05-22T21:44:38.6097605Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0a2d331c-57c6-48be-9d5f-f49da541fc7e","type":"Microsoft.Authorization/roleAssignments","name":"0a2d331c-57c6-48be-9d5f-f49da541fc7e"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-04T21:30:10.6978339Z","updatedOn":"2020-02-04T21:30:10.6978339Z","createdBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","updatedBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/91ea4b88-79c1-4163-bf5c-760b8add6d79","type":"Microsoft.Authorization/roleAssignments","name":"91ea4b88-79c1-4163-bf5c-760b8add6d79"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-03T05:33:46.3567584Z","updatedOn":"2020-04-03T05:33:46.3567584Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4f9fed67-4a0b-4f9d-870e-66a508cb73eb","type":"Microsoft.Authorization/roleAssignments","name":"4f9fed67-4a0b-4f9d-870e-66a508cb73eb"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-01-24T16:54:45.9590630Z","updatedOn":"2020-01-24T16:54:45.9590630Z","createdBy":"b87c5c16-4f0e-4af2-9b2e-20f25d6b5a3f","updatedBy":"b87c5c16-4f0e-4af2-9b2e-20f25d6b5a3f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/04741a9e-7efb-41cc-b79c-8c725cc7563b","type":"Microsoft.Authorization/roleAssignments","name":"04741a9e-7efb-41cc-b79c-8c725cc7563b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-08-02T07:18:21.5783958Z","updatedOn":"2019-08-02T07:18:21.5783958Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f4afc41d-352f-4bce-84f1-fad9f832f274","type":"Microsoft.Authorization/roleAssignments","name":"f4afc41d-352f-4bce-84f1-fad9f832f274"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-03T17:48:07.2484442Z","updatedOn":"2020-02-03T17:48:07.2484442Z","createdBy":"ef34ad48-5675-4480-8fe7-a6cc394b97c4","updatedBy":"ef34ad48-5675-4480-8fe7-a6cc394b97c4","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/31005f88-9e70-483d-acc8-0f9cc8066b13","type":"Microsoft.Authorization/roleAssignments","name":"31005f88-9e70-483d-acc8-0f9cc8066b13"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-04T21:07:59.9113196Z","updatedOn":"2020-02-04T21:07:59.9113196Z","createdBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","updatedBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ea60c465-aef4-4494-9478-636615243841","type":"Microsoft.Authorization/roleAssignments","name":"ea60c465-aef4-4494-9478-636615243841"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-11-02T00:40:13.2696018Z","updatedOn":"2019-11-02T00:40:13.2696018Z","createdBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","updatedBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/1c0ee413-025e-422c-a8d0-2b8dd410b9b8","type":"Microsoft.Authorization/roleAssignments","name":"1c0ee413-025e-422c-a8d0-2b8dd410b9b8"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-04T21:37:15.2971418Z","updatedOn":"2020-02-04T21:37:15.2971418Z","createdBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","updatedBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/39e99cf2-95c7-4585-8703-998450cafea0","type":"Microsoft.Authorization/roleAssignments","name":"39e99cf2-95c7-4585-8703-998450cafea0"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2018-11-15T22:27:15.6601349Z","updatedOn":"2018-11-15T22:27:15.6601349Z","createdBy":"38d88515-7eb8-4c96-804f-4edcc95b9dff","updatedBy":"38d88515-7eb8-4c96-804f-4edcc95b9dff","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/418847ec-df97-4b29-9711-fc833817e5d6","type":"Microsoft.Authorization/roleAssignments","name":"418847ec-df97-4b29-9711-fc833817e5d6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-08-28T14:20:52.7506898Z","updatedOn":"2019-08-28T14:20:52.7506898Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/715fd118-93b8-4b09-822d-48de5afb21e3","type":"Microsoft.Authorization/roleAssignments","name":"715fd118-93b8-4b09-822d-48de5afb21e3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-01-06T05:22:04.7673784Z","updatedOn":"2019-01-06T05:22:04.7673784Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ba5c8600-8cc9-4778-9735-c3d57d26e50d","type":"Microsoft.Authorization/roleAssignments","name":"ba5c8600-8cc9-4778-9735-c3d57d26e50d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-02T16:21:28.6789246Z","updatedOn":"2020-06-02T16:21:28.6789246Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/bd6bf5d5-fc1c-4fcd-81f3-0d11d3ff9f42","type":"Microsoft.Authorization/roleAssignments","name":"bd6bf5d5-fc1c-4fcd-81f3-0d11d3ff9f42"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-12-13T02:01:30.4183889Z","updatedOn":"2019-12-13T02:01:30.4183889Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4623d907-e6fa-4e2a-ad82-18e34456d655","type":"Microsoft.Authorization/roleAssignments","name":"4623d907-e6fa-4e2a-ad82-18e34456d655"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-03-25T08:37:49.6357044Z","updatedOn":"2020-03-25T08:37:49.6357044Z","createdBy":"471feb6d-5a83-439e-af7b-311f4eee2d0c","updatedBy":"471feb6d-5a83-439e-af7b-311f4eee2d0c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b332ab7b-a956-4e37-acc1-e4df2e9eedfa","type":"Microsoft.Authorization/roleAssignments","name":"b332ab7b-a956-4e37-acc1-e4df2e9eedfa"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-21T03:52:37.6293834Z","updatedOn":"2020-02-21T03:52:37.6293834Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2402af90-d517-4d1d-9ca1-7b85dfc17099","type":"Microsoft.Authorization/roleAssignments","name":"2402af90-d517-4d1d-9ca1-7b85dfc17099"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-28T01:00:41.8419503Z","updatedOn":"2020-04-28T01:00:41.8419503Z","createdBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","updatedBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4da426ac-99d3-442d-b868-532f3582429b","type":"Microsoft.Authorization/roleAssignments","name":"4da426ac-99d3-442d-b868-532f3582429b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-12-04T03:17:07.6866234Z","updatedOn":"2019-12-04T03:17:07.6866234Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b76e5f32-b37f-482c-a7a4-98ef34ecea8a","type":"Microsoft.Authorization/roleAssignments","name":"b76e5f32-b37f-482c-a7a4-98ef34ecea8a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-27T23:12:42.6196328Z","updatedOn":"2020-04-27T23:12:42.6196328Z","createdBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","updatedBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/bb61d9e5-3664-42b4-b41c-bc3e34701de6","type":"Microsoft.Authorization/roleAssignments","name":"bb61d9e5-3664-42b4-b41c-bc3e34701de6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-03-02T20:50:25.6909226Z","updatedOn":"2020-03-02T20:50:25.6909226Z","createdBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","updatedBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/95a9d3e8-db32-4a7f-ad9c-46054677ff39","type":"Microsoft.Authorization/roleAssignments","name":"95a9d3e8-db32-4a7f-ad9c-46054677ff39"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-16T20:48:38.9374068Z","updatedOn":"2020-04-16T20:48:38.9374068Z","createdBy":"c66b4485-d88a-4007-b687-4867ca3c076f","updatedBy":"c66b4485-d88a-4007-b687-4867ca3c076f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/45d89866-af64-4364-b886-7f5ec154c3d4","type":"Microsoft.Authorization/roleAssignments","name":"45d89866-af64-4364-b886-7f5ec154c3d4"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-20T08:42:00.9560545Z","updatedOn":"2020-04-20T08:42:00.9560545Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/7a41b62f-97d4-4f4c-8bfc-4a8dd708e00f","type":"Microsoft.Authorization/roleAssignments","name":"7a41b62f-97d4-4f4c-8bfc-4a8dd708e00f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-19T00:23:10.4351839Z","updatedOn":"2020-06-19T00:23:10.4351839Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c1eb6cee-ee7a-4ed5-a683-846f01688ab9","type":"Microsoft.Authorization/roleAssignments","name":"c1eb6cee-ee7a-4ed5-a683-846f01688ab9"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-07T01:58:45.6145522Z","updatedOn":"2020-05-07T01:58:45.6145522Z","createdBy":"4b5234ab-8f8d-429e-9e1c-ea5799b66ffa","updatedBy":"4b5234ab-8f8d-429e-9e1c-ea5799b66ffa","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/9d42f5af-b9f8-4cf4-b017-612fdbb4f8a7","type":"Microsoft.Authorization/roleAssignments","name":"9d42f5af-b9f8-4cf4-b017-612fdbb4f8a7"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-01-13T21:41:39.4063114Z","updatedOn":"2020-01-13T21:41:39.4063114Z","createdBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","updatedBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2226a2aa-7a47-4546-82ed-4e9e4536bc7b","type":"Microsoft.Authorization/roleAssignments","name":"2226a2aa-7a47-4546-82ed-4e9e4536bc7b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-23T03:10:28.2381030Z","updatedOn":"2020-04-23T03:10:28.2381030Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f98d1512-e634-4663-a219-24be2e6bfe1c","type":"Microsoft.Authorization/roleAssignments","name":"f98d1512-e634-4663-a219-24be2e6bfe1c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-01-30T22:50:20.7914421Z","updatedOn":"2019-01-30T22:50:20.7914421Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0bee5f49-7099-4a3c-9eef-b40697f6f371","type":"Microsoft.Authorization/roleAssignments","name":"0bee5f49-7099-4a3c-9eef-b40697f6f371"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-04T06:37:19.1237954Z","updatedOn":"2020-04-04T06:37:19.1237954Z","createdBy":"ed4707f4-8b58-42fe-9afd-0045d7a9b262","updatedBy":"ed4707f4-8b58-42fe-9afd-0045d7a9b262","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d2d2ec3b-f7e6-4dbb-b281-0ceb5f243d01","type":"Microsoft.Authorization/roleAssignments","name":"d2d2ec3b-f7e6-4dbb-b281-0ceb5f243d01"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-15T02:06:03.3308352Z","updatedOn":"2020-04-15T02:06:03.3308352Z","createdBy":"c212dea8-d0da-4832-bdb1-d9e2b7672c76","updatedBy":"c212dea8-d0da-4832-bdb1-d9e2b7672c76","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6142150e-c404-48e6-a731-fffb36357051","type":"Microsoft.Authorization/roleAssignments","name":"6142150e-c404-48e6-a731-fffb36357051"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-20T20:29:38.5194580Z","updatedOn":"2020-04-20T20:29:38.5194580Z","createdBy":"c66b4485-d88a-4007-b687-4867ca3c076f","updatedBy":"c66b4485-d88a-4007-b687-4867ca3c076f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/7682e420-ebd8-4c39-be01-8c1fc953f250","type":"Microsoft.Authorization/roleAssignments","name":"7682e420-ebd8-4c39-be01-8c1fc953f250"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2018-11-16T23:46:13.9660279Z","updatedOn":"2018-11-16T23:46:13.9660279Z","createdBy":"38d88515-7eb8-4c96-804f-4edcc95b9dff","updatedBy":"38d88515-7eb8-4c96-804f-4edcc95b9dff","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2b66b1ea-89dd-4bc6-8d89-96298648eb40","type":"Microsoft.Authorization/roleAssignments","name":"2b66b1ea-89dd-4bc6-8d89-96298648eb40"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-01-31T01:55:23.5911140Z","updatedOn":"2019-01-31T01:55:23.5911140Z","createdBy":"b47f071a-d6c9-4297-954e-83151fff489b","updatedBy":"b47f071a-d6c9-4297-954e-83151fff489b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/3359123d-b5f7-48d6-a1e7-ad77b7ef6b7f","type":"Microsoft.Authorization/roleAssignments","name":"3359123d-b5f7-48d6-a1e7-ad77b7ef6b7f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"Group","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2018-10-27T00:03:26.2878499Z","updatedOn":"2018-10-27T00:03:26.2878499Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ea920230-1aba-4f80-9eef-3fed8216f594","type":"Microsoft.Authorization/roleAssignments","name":"ea920230-1aba-4f80-9eef-3fed8216f594"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-03-25T08:25:35.9118633Z","updatedOn":"2020-03-25T08:25:35.9118633Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6559da2d-7b8e-4dfe-ba1d-dfedbd7c73a1","type":"Microsoft.Authorization/roleAssignments","name":"6559da2d-7b8e-4dfe-ba1d-dfedbd7c73a1"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-04T02:21:24.1380483Z","updatedOn":"2020-06-04T02:21:24.1380483Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f70af6d6-4511-4e74-b25f-9c15978d4859","type":"Microsoft.Authorization/roleAssignments","name":"f70af6d6-4511-4e74-b25f-9c15978d4859"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-10-26T01:25:12.5585896Z","updatedOn":"2019-10-26T01:25:12.5585896Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e5e4c17a-2a72-4b0e-8518-53afddc60b04","type":"Microsoft.Authorization/roleAssignments","name":"e5e4c17a-2a72-4b0e-8518-53afddc60b04"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-20T22:24:43.1326207Z","updatedOn":"2020-04-20T22:24:43.1326207Z","createdBy":"5ecb1531-0d8c-4a89-93cb-1b48b2224358","updatedBy":"5ecb1531-0d8c-4a89-93cb-1b48b2224358","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d54b05eb-b1d1-4845-8ac5-48c5bb4c50b6","type":"Microsoft.Authorization/roleAssignments","name":"d54b05eb-b1d1-4845-8ac5-48c5bb4c50b6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-03T09:55:40.2829720Z","updatedOn":"2020-04-03T09:55:40.2829720Z","createdBy":"0276227b-f99f-4db3-b016-9eebbdfe5dd9","updatedBy":"0276227b-f99f-4db3-b016-9eebbdfe5dd9","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c9c2a551-11aa-4b0a-8816-f8511cd46a32","type":"Microsoft.Authorization/roleAssignments","name":"c9c2a551-11aa-4b0a-8816-f8511cd46a32"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-29T03:57:30.1921503Z","updatedOn":"2020-04-29T03:57:30.1921503Z","createdBy":"a5cae52f-366a-417b-b718-e73d17746c35","updatedBy":"a5cae52f-366a-417b-b718-e73d17746c35","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b4a5f74f-d5b2-4fc7-bfa1-893cc5b9ad88","type":"Microsoft.Authorization/roleAssignments","name":"b4a5f74f-d5b2-4fc7-bfa1-893cc5b9ad88"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-21T06:59:06.6904070Z","updatedOn":"2020-04-21T06:59:06.6904070Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/8273f6ee-b861-42a0-8dec-475eb3215463","type":"Microsoft.Authorization/roleAssignments","name":"8273f6ee-b861-42a0-8dec-475eb3215463"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-29T17:47:02.9492136Z","updatedOn":"2020-06-29T17:47:02.9492136Z","createdBy":"c66b4485-d88a-4007-b687-4867ca3c076f","updatedBy":"c66b4485-d88a-4007-b687-4867ca3c076f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/5cae5324-e7eb-4c13-ba0d-80c801c2b744","type":"Microsoft.Authorization/roleAssignments","name":"5cae5324-e7eb-4c13-ba0d-80c801c2b744"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-29T15:40:03.6815875Z","updatedOn":"2020-04-29T15:40:03.6815875Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/09778426-699f-4faa-8016-5e6029e7313d","type":"Microsoft.Authorization/roleAssignments","name":"09778426-699f-4faa-8016-5e6029e7313d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-27T23:43:20.3428422Z","updatedOn":"2020-04-27T23:43:20.3428422Z","createdBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","updatedBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/271e5b8d-8684-4668-98b9-c3dc25f4b437","type":"Microsoft.Authorization/roleAssignments","name":"271e5b8d-8684-4668-98b9-c3dc25f4b437"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-03-26T21:10:42.2124416Z","updatedOn":"2020-03-26T21:10:42.2124416Z","createdBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","updatedBy":"50ee185f-0eb1-4577-ae14-4ecf59cfa8f7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d394da6c-4def-47de-8689-791727331c5b","type":"Microsoft.Authorization/roleAssignments","name":"d394da6c-4def-47de-8689-791727331c5b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-21T07:34:50.7125622Z","updatedOn":"2020-04-21T07:34:50.7125622Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ddeb2255-2bb6-458a-a891-532e96ae5483","type":"Microsoft.Authorization/roleAssignments","name":"ddeb2255-2bb6-458a-a891-532e96ae5483"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-23T04:07:45.3308845Z","updatedOn":"2020-06-23T04:07:45.3308845Z","createdBy":"9404195a-2cde-4a10-b88c-e7b41572bf31","updatedBy":"9404195a-2cde-4a10-b88c-e7b41572bf31","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/15d1dab1-b507-11ea-819c-a28e10bedef6","type":"Microsoft.Authorization/roleAssignments","name":"15d1dab1-b507-11ea-819c-a28e10bedef6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-13T00:09:08.8179220Z","updatedOn":"2020-05-13T00:09:08.8179220Z","createdBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","updatedBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/08a578f0-4875-47d0-8775-946b3a0f2b06","type":"Microsoft.Authorization/roleAssignments","name":"08a578f0-4875-47d0-8775-946b3a0f2b06"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-10T23:15:46.8549700Z","updatedOn":"2020-05-10T23:15:46.8549700Z","createdBy":"c1acf319-6d96-4dfe-b194-c27640869947","updatedBy":"c1acf319-6d96-4dfe-b194-c27640869947","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/22d3da65-7681-445e-9080-e748e494676f","type":"Microsoft.Authorization/roleAssignments","name":"22d3da65-7681-445e-9080-e748e494676f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-08-29T13:30:14.1177711Z","updatedOn":"2019-08-29T13:30:14.1177711Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4a2c1014-c1ba-4ae9-a632-90967c28429d","type":"Microsoft.Authorization/roleAssignments","name":"4a2c1014-c1ba-4ae9-a632-90967c28429d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-27T01:26:21.7189691Z","updatedOn":"2020-02-27T01:26:21.7189691Z","createdBy":"c1acf319-6d96-4dfe-b194-c27640869947","updatedBy":"c1acf319-6d96-4dfe-b194-c27640869947","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/28808064-5900-11ea-81c8-acde48001122","type":"Microsoft.Authorization/roleAssignments","name":"28808064-5900-11ea-81c8-acde48001122"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-10-31T20:08:15.8705805Z","updatedOn":"2019-10-31T20:08:15.8705805Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e47c861f-a9eb-46c0-b2e2-102033a5c009","type":"Microsoft.Authorization/roleAssignments","name":"e47c861f-a9eb-46c0-b2e2-102033a5c009"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-28T00:17:14.5340823Z","updatedOn":"2020-04-28T00:17:14.5340823Z","createdBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","updatedBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f7e6b175-9796-4292-bf64-1683aa14312f","type":"Microsoft.Authorization/roleAssignments","name":"f7e6b175-9796-4292-bf64-1683aa14312f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-20T08:30:00.0256525Z","updatedOn":"2020-04-20T08:30:00.0256525Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a91f5ef0-1d9b-453e-8f90-43826c3652dd","type":"Microsoft.Authorization/roleAssignments","name":"a91f5ef0-1d9b-453e-8f90-43826c3652dd"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-14T00:22:19.2644898Z","updatedOn":"2020-04-14T00:22:19.2644898Z","createdBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","updatedBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/420714ce-6b24-4ce2-b7ee-51554de01de7","type":"Microsoft.Authorization/roleAssignments","name":"420714ce-6b24-4ce2-b7ee-51554de01de7"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-28T00:53:44.9077172Z","updatedOn":"2020-04-28T00:53:44.9077172Z","createdBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","updatedBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2940c5e2-5742-42aa-9569-e68c698a01d6","type":"Microsoft.Authorization/roleAssignments","name":"2940c5e2-5742-42aa-9569-e68c698a01d6"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"Group","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-01-30T19:30:49.2769608Z","updatedOn":"2019-01-30T19:30:49.2769608Z","createdBy":"b47f071a-d6c9-4297-954e-83151fff489b","updatedBy":"b47f071a-d6c9-4297-954e-83151fff489b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/310957e5-5722-42e0-95b6-5bc6c6b67f16","type":"Microsoft.Authorization/roleAssignments","name":"310957e5-5722-42e0-95b6-5bc6c6b67f16"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-07-03T01:05:25.8863198Z","updatedOn":"2020-07-03T01:05:25.8863198Z","createdBy":"7ac4ca6d-46a3-4e71-a705-858af50eea7b","updatedBy":"7ac4ca6d-46a3-4e71-a705-858af50eea7b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/46877403-bcc9-11ea-924f-00155d871f03","type":"Microsoft.Authorization/roleAssignments","name":"46877403-bcc9-11ea-924f-00155d871f03"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-02T16:19:56.1932050Z","updatedOn":"2020-06-02T16:19:56.1932050Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/de7bdfed-5cc5-47e2-9008-327939dc8379","type":"Microsoft.Authorization/roleAssignments","name":"de7bdfed-5cc5-47e2-9008-327939dc8379"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-03-28T19:57:23.3708745Z","updatedOn":"2019-03-28T19:57:23.3708745Z","createdBy":"66cb050e-bae1-4005-8c4c-0f6dd9b34978","updatedBy":"66cb050e-bae1-4005-8c4c-0f6dd9b34978","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/cc796cab-2f6b-4099-b9a3-7500f5516153","type":"Microsoft.Authorization/roleAssignments","name":"cc796cab-2f6b-4099-b9a3-7500f5516153"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-24T02:12:40.2606628Z","updatedOn":"2020-04-24T02:12:40.2606628Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6a375386-4cb0-47fd-952c-92465f6d679d","type":"Microsoft.Authorization/roleAssignments","name":"6a375386-4cb0-47fd-952c-92465f6d679d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-03-30T22:56:44.9793119Z","updatedOn":"2020-03-30T22:56:44.9793119Z","createdBy":"53bb8815-874d-4b05-9953-1158e05aa080","updatedBy":"53bb8815-874d-4b05-9953-1158e05aa080","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/000ea275-41c4-40ce-943f-98a8849a56bc","type":"Microsoft.Authorization/roleAssignments","name":"000ea275-41c4-40ce-943f-98a8849a56bc"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-12-13T02:01:31.6182075Z","updatedOn":"2019-12-13T02:01:31.6182075Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d3ea741e-fdf8-4780-a73f-bbc0efbd141c","type":"Microsoft.Authorization/roleAssignments","name":"d3ea741e-fdf8-4780-a73f-bbc0efbd141c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-23T05:07:17.2382220Z","updatedOn":"2020-06-23T05:07:17.2382220Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4202823d-7518-46d1-b5ff-b6c7cb7b9dd3","type":"Microsoft.Authorization/roleAssignments","name":"4202823d-7518-46d1-b5ff-b6c7cb7b9dd3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-18T12:01:15.4801397Z","updatedOn":"2020-05-18T12:01:15.4801397Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/4c04d5e5-df60-47b9-abde-aa9641425c64","type":"Microsoft.Authorization/roleAssignments","name":"4c04d5e5-df60-47b9-abde-aa9641425c64"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-10T01:13:53.0806696Z","updatedOn":"2020-06-10T01:13:53.0806696Z","createdBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","updatedBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a584fad9-aab7-11ea-b7e7-00155d4b0124","type":"Microsoft.Authorization/roleAssignments","name":"a584fad9-aab7-11ea-b7e7-00155d4b0124"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-07-03T07:48:19.4504494Z","updatedOn":"2020-07-03T07:48:19.4504494Z","createdBy":"471feb6d-5a83-439e-af7b-311f4eee2d0c","updatedBy":"471feb6d-5a83-439e-af7b-311f4eee2d0c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/28dd25b5-e359-4d3d-9632-bcd15c3fa296","type":"Microsoft.Authorization/roleAssignments","name":"28dd25b5-e359-4d3d-9632-bcd15c3fa296"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-09T00:52:51.5057560Z","updatedOn":"2020-06-09T00:52:51.5057560Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6d91fd42-bd38-4380-8f63-993e49f83833","type":"Microsoft.Authorization/roleAssignments","name":"6d91fd42-bd38-4380-8f63-993e49f83833"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-09-20T20:32:24.1155446Z","updatedOn":"2019-09-20T20:32:24.1155446Z","createdBy":"66cb050e-bae1-4005-8c4c-0f6dd9b34978","updatedBy":"66cb050e-bae1-4005-8c4c-0f6dd9b34978","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c1a9a09e-eafe-4c97-b589-a8261ee04099","type":"Microsoft.Authorization/roleAssignments","name":"c1a9a09e-eafe-4c97-b589-a8261ee04099"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-12T00:23:23.9037436Z","updatedOn":"2020-05-12T00:23:23.9037436Z","createdBy":"c1acf319-6d96-4dfe-b194-c27640869947","updatedBy":"c1acf319-6d96-4dfe-b194-c27640869947","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6ff95229-981f-40d7-889f-97bc90b8f387","type":"Microsoft.Authorization/roleAssignments","name":"6ff95229-981f-40d7-889f-97bc90b8f387"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-09T00:52:52.1315983Z","updatedOn":"2020-06-09T00:52:52.1315983Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/7512dec1-86e5-400d-8bc9-f24f181127f3","type":"Microsoft.Authorization/roleAssignments","name":"7512dec1-86e5-400d-8bc9-f24f181127f3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-12-30T03:12:58.1455315Z","updatedOn":"2019-12-30T03:12:58.1455315Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/091713ce-9ee7-445d-beaf-708ee254b129","type":"Microsoft.Authorization/roleAssignments","name":"091713ce-9ee7-445d-beaf-708ee254b129"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-04-19T04:20:34.3557776Z","updatedOn":"2019-04-19T04:20:34.3557776Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/092a238c-94af-4fca-bd4a-bb4995ea58db","type":"Microsoft.Authorization/roleAssignments","name":"092a238c-94af-4fca-bd4a-bb4995ea58db"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-14T04:03:23.9185561Z","updatedOn":"2020-04-14T04:03:23.9185561Z","createdBy":"c212dea8-d0da-4832-bdb1-d9e2b7672c76","updatedBy":"c212dea8-d0da-4832-bdb1-d9e2b7672c76","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0f0f495d-0356-4239-b966-3f47f5f1054a","type":"Microsoft.Authorization/roleAssignments","name":"0f0f495d-0356-4239-b966-3f47f5f1054a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-20T20:29:38.4023513Z","updatedOn":"2020-04-20T20:29:38.4023513Z","createdBy":"c66b4485-d88a-4007-b687-4867ca3c076f","updatedBy":"c66b4485-d88a-4007-b687-4867ca3c076f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/b3276191-98a8-472b-b650-21c8d24b7464","type":"Microsoft.Authorization/roleAssignments","name":"b3276191-98a8-472b-b650-21c8d24b7464"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-16T02:06:59.0490140Z","updatedOn":"2020-05-16T02:06:59.0490140Z","createdBy":"53bb8815-874d-4b05-9953-1158e05aa080","updatedBy":"53bb8815-874d-4b05-9953-1158e05aa080","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2cf7ea7b-3bdd-44ea-966b-b4eb4e7813fa","type":"Microsoft.Authorization/roleAssignments","name":"2cf7ea7b-3bdd-44ea-966b-b4eb4e7813fa"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-13T22:32:47.4470861Z","updatedOn":"2020-04-13T22:32:47.4470861Z","createdBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","updatedBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/93ce765f-2d72-454b-816b-ba287754fe5a","type":"Microsoft.Authorization/roleAssignments","name":"93ce765f-2d72-454b-816b-ba287754fe5a"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-14T00:42:59.8868253Z","updatedOn":"2020-05-14T00:42:59.8868253Z","createdBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","updatedBy":"33312ea3-4fb4-44c9-8323-c387b5e8b6a7","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6b3c8d44-237c-410c-a095-52ded7f5cd26","type":"Microsoft.Authorization/roleAssignments","name":"6b3c8d44-237c-410c-a095-52ded7f5cd26"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-11T13:26:01.9493491Z","updatedOn":"2020-02-11T13:26:01.9493491Z","createdBy":"0276227b-f99f-4db3-b016-9eebbdfe5dd9","updatedBy":"0276227b-f99f-4db3-b016-9eebbdfe5dd9","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/8fab1ba3-53c2-4b21-9d32-dc89fd061811","type":"Microsoft.Authorization/roleAssignments","name":"8fab1ba3-53c2-4b21-9d32-dc89fd061811"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-04-19T22:53:47.5902917Z","updatedOn":"2019-04-19T22:53:47.5902917Z","createdBy":"66cb050e-bae1-4005-8c4c-0f6dd9b34978","updatedBy":"66cb050e-bae1-4005-8c4c-0f6dd9b34978","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/1f9d617d-8ab5-4f63-8c85-445f6c30632f","type":"Microsoft.Authorization/roleAssignments","name":"1f9d617d-8ab5-4f63-8c85-445f6c30632f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-03T05:34:39.2163770Z","updatedOn":"2020-04-03T05:34:39.2163770Z","createdBy":"ed4707f4-8b58-42fe-9afd-0045d7a9b262","updatedBy":"ed4707f4-8b58-42fe-9afd-0045d7a9b262","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/8e4edc2a-dd1f-469b-9a44-f0693866b843","type":"Microsoft.Authorization/roleAssignments","name":"8e4edc2a-dd1f-469b-9a44-f0693866b843"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-12T21:48:57.3001992Z","updatedOn":"2020-05-12T21:48:57.3001992Z","createdBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","updatedBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/dcc102ec-9c04-4c7c-976e-94c72db42b49","type":"Microsoft.Authorization/roleAssignments","name":"dcc102ec-9c04-4c7c-976e-94c72db42b49"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-06-26T06:44:38.5656650Z","updatedOn":"2019-06-26T06:44:38.5656650Z","createdBy":"f058371f-0c0e-46bb-a5d4-f8aec637a467","updatedBy":"f058371f-0c0e-46bb-a5d4-f8aec637a467","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a2cc1fcf-6ce5-4bd8-94c9-e0e6aa788a1d","type":"Microsoft.Authorization/roleAssignments","name":"a2cc1fcf-6ce5-4bd8-94c9-e0e6aa788a1d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-20T19:40:09.1141460Z","updatedOn":"2020-02-20T19:40:09.1141460Z","createdBy":"c1acf319-6d96-4dfe-b194-c27640869947","updatedBy":"c1acf319-6d96-4dfe-b194-c27640869947","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d4673bf4-97da-4102-9284-2a7315b88a34","type":"Microsoft.Authorization/roleAssignments","name":"d4673bf4-97da-4102-9284-2a7315b88a34"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-23T05:07:14.6947730Z","updatedOn":"2020-06-23T05:07:14.6947730Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/bec06514-2b3f-4a1f-92f2-cbb30828f447","type":"Microsoft.Authorization/roleAssignments","name":"bec06514-2b3f-4a1f-92f2-cbb30828f447"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-21T07:19:44.2488168Z","updatedOn":"2020-04-21T07:19:44.2488168Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/fadbe071-d757-48fc-b82a-4784249ded10","type":"Microsoft.Authorization/roleAssignments","name":"fadbe071-d757-48fc-b82a-4784249ded10"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-12-13T02:01:31.7381957Z","updatedOn":"2019-12-13T02:01:31.7381957Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6e035090-e3f8-4bb2-b117-fac2fba706b2","type":"Microsoft.Authorization/roleAssignments","name":"6e035090-e3f8-4bb2-b117-fac2fba706b2"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-03-12T17:29:23.0437979Z","updatedOn":"2019-03-12T17:29:23.0437979Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a7e76154-c2a7-4419-b73f-e8c6010318c9","type":"Microsoft.Authorization/roleAssignments","name":"a7e76154-c2a7-4419-b73f-e8c6010318c9"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-05-26T19:29:06.9092628Z","updatedOn":"2020-05-26T19:29:06.9092628Z","createdBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","updatedBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/c0b0f01a-d6f2-4c1f-879d-10bdc2f1aee5","type":"Microsoft.Authorization/roleAssignments","name":"c0b0f01a-d6f2-4c1f-879d-10bdc2f1aee5"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-21T07:40:03.0117061Z","updatedOn":"2020-02-21T07:40:03.0117061Z","createdBy":"0276227b-f99f-4db3-b016-9eebbdfe5dd9","updatedBy":"0276227b-f99f-4db3-b016-9eebbdfe5dd9","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e5c1eb24-09ad-487a-8286-8bb2841d311d","type":"Microsoft.Authorization/roleAssignments","name":"e5c1eb24-09ad-487a-8286-8bb2841d311d"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-06-17T00:59:53.8734172Z","updatedOn":"2020-06-17T00:59:53.8734172Z","createdBy":"82e11ed5-c720-4c8d-b396-a2fcd9e4291f","updatedBy":"82e11ed5-c720-4c8d-b396-a2fcd9e4291f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d7f69b6b-b035-11ea-a6dd-000d3aa35713","type":"Microsoft.Authorization/roleAssignments","name":"d7f69b6b-b035-11ea-a6dd-000d3aa35713"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-23T14:27:52.3922162Z","updatedOn":"2020-04-23T14:27:52.3922162Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/9acabd34-856e-11ea-98ae-acbc329aaf8b","type":"Microsoft.Authorization/roleAssignments","name":"9acabd34-856e-11ea-98ae-acbc329aaf8b"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-20T20:29:38.3267905Z","updatedOn":"2020-04-20T20:29:38.3267905Z","createdBy":"c66b4485-d88a-4007-b687-4867ca3c076f","updatedBy":"c66b4485-d88a-4007-b687-4867ca3c076f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/ac979adb-819c-4fae-98bc-6a6c81bc76b1","type":"Microsoft.Authorization/roleAssignments","name":"ac979adb-819c-4fae-98bc-6a6c81bc76b1"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2018-02-06T23:56:15.2220285Z","updatedOn":"2018-02-06T23:56:15.2220285Z","createdBy":"b87c5c16-4f0e-4af2-9b2e-20f25d6b5a3f","updatedBy":"b87c5c16-4f0e-4af2-9b2e-20f25d6b5a3f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f54c2ddd-8858-4c40-bdec-25546c985154","type":"Microsoft.Authorization/roleAssignments","name":"f54c2ddd-8858-4c40-bdec-25546c985154"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-20T20:29:38.3023490Z","updatedOn":"2020-04-20T20:29:38.3023490Z","createdBy":"c66b4485-d88a-4007-b687-4867ca3c076f","updatedBy":"c66b4485-d88a-4007-b687-4867ca3c076f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/bf46ff50-6187-4a95-afd4-b811c1a8b239","type":"Microsoft.Authorization/roleAssignments","name":"bf46ff50-6187-4a95-afd4-b811c1a8b239"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-02-02T04:47:03.2856858Z","updatedOn":"2019-02-02T04:47:03.2856858Z","createdBy":"66cb050e-bae1-4005-8c4c-0f6dd9b34978","updatedBy":"66cb050e-bae1-4005-8c4c-0f6dd9b34978","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/11737a1b-2cf4-4fca-8c36-4ef79e0df5b0","type":"Microsoft.Authorization/roleAssignments","name":"11737a1b-2cf4-4fca-8c36-4ef79e0df5b0"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-02T23:56:53.9541160Z","updatedOn":"2020-04-02T23:56:53.9541160Z","createdBy":"53bb8815-874d-4b05-9953-1158e05aa080","updatedBy":"53bb8815-874d-4b05-9953-1158e05aa080","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/700e8068-ae0c-4176-8e70-8958a82a4aa1","type":"Microsoft.Authorization/roleAssignments","name":"700e8068-ae0c-4176-8e70-8958a82a4aa1"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-08-02T07:21:13.1302112Z","updatedOn":"2019-08-02T07:21:13.1302112Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/98328e7b-c22c-4a4b-bcae-25953d0c52f3","type":"Microsoft.Authorization/roleAssignments","name":"98328e7b-c22c-4a4b-bcae-25953d0c52f3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-04-28T03:13:08.9833014Z","updatedOn":"2020-04-28T03:13:08.9833014Z","createdBy":"547f6960-a967-417a-a9a4-0f35fbdca11c","updatedBy":"547f6960-a967-417a-a9a4-0f35fbdca11c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/5479cc1b-0762-40bd-862d-7369aa1ff685","type":"Microsoft.Authorization/roleAssignments","name":"5479cc1b-0762-40bd-862d-7369aa1ff685"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-02-04T02:11:30.6140935Z","updatedOn":"2020-02-04T02:11:30.6140935Z","createdBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","updatedBy":"80a6e936-2bdc-4927-b49e-2a7a19943b90","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/495c765c-e6e2-4582-9ab6-ad9abf7e5064","type":"Microsoft.Authorization/roleAssignments","name":"495c765c-e6e2-4582-9ab6-ad9abf7e5064"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-08-06T03:04:23.5398083Z","updatedOn":"2019-08-06T03:04:23.5398083Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/958e790f-1635-4dd3-b718-5403a1342a66","type":"Microsoft.Authorization/roleAssignments","name":"958e790f-1635-4dd3-b718-5403a1342a66"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-01-10T01:23:31.4432043Z","updatedOn":"2020-01-10T01:23:31.4432043Z","createdBy":"09914860-7ec9-4151-8431-31797899a359","updatedBy":"09914860-7ec9-4151-8431-31797899a359","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/151d14b1-b26a-47b9-be10-255bf562d592","type":"Microsoft.Authorization/roleAssignments","name":"151d14b1-b26a-47b9-be10-255bf562d592"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2019-12-13T02:02:28.2288268Z","updatedOn":"2019-12-13T02:02:28.2288268Z","createdBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","updatedBy":"01e2b341-56ec-43fb-9f53-f6332d30df93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/11ddfea7-616f-499f-9975-e8513b60eb3c","type":"Microsoft.Authorization/roleAssignments","name":"11ddfea7-616f-499f-9975-e8513b60eb3c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-03-16T23:29:48.3209681Z","updatedOn":"2020-03-16T23:29:48.3209681Z","createdBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","updatedBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/3eb4155b-2965-456b-8f00-bca8a13b1684","type":"Microsoft.Authorization/roleAssignments","name":"3eb4155b-2965-456b-8f00-bca8a13b1684"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-05T14:05:58.2716050Z","updatedOn":"2021-04-05T14:05:58.2716050Z","createdBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","updatedBy":"7a69ab46-a41e-4e40-873c-bd130b5badd8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0a9b0e6a-9618-11eb-879a-88e9fe77e044","type":"Microsoft.Authorization/roleAssignments","name":"0a9b0e6a-9618-11eb-879a-88e9fe77e044"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-05T17:37:43.7040494Z","updatedOn":"2021-04-05T17:37:43.7040494Z","createdBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","updatedBy":"766b85aa-d8b7-4b5e-911d-c111e86dc72b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a04b0948-9635-11eb-b395-acde48001122","type":"Microsoft.Authorization/roleAssignments","name":"a04b0948-9635-11eb-b395-acde48001122"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-05T23:56:38.0963501Z","updatedOn":"2021-04-05T23:56:38.0963501Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/80ef7746-a500-41bc-9154-bf710a740c8f","type":"Microsoft.Authorization/roleAssignments","name":"80ef7746-a500-41bc-9154-bf710a740c8f"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-06T02:08:10.5378297Z","updatedOn":"2021-04-06T02:08:10.5378297Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/627cf393-9c97-4b8d-8e68-3188a44d3347","type":"Microsoft.Authorization/roleAssignments","name":"627cf393-9c97-4b8d-8e68-3188a44d3347"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-06T02:24:11.2891190Z","updatedOn":"2021-04-06T02:24:11.2891190Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2845ac64-e36c-43b7-8958-033805cafe86","type":"Microsoft.Authorization/roleAssignments","name":"2845ac64-e36c-43b7-8958-033805cafe86"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-06T02:24:39.3826587Z","updatedOn":"2021-04-06T02:24:39.3826587Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6c21611b-a840-4166-b9f4-8cec90c17841","type":"Microsoft.Authorization/roleAssignments","name":"6c21611b-a840-4166-b9f4-8cec90c17841"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-06T02:24:39.4154930Z","updatedOn":"2021-04-06T02:24:39.4154930Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/925d4876-8fde-4334-8f84-4ce52ca7108e","type":"Microsoft.Authorization/roleAssignments","name":"925d4876-8fde-4334-8f84-4ce52ca7108e"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-06T04:46:32.1029699Z","updatedOn":"2021-04-06T04:46:32.1029699Z","createdBy":"9404195a-2cde-4a10-b88c-e7b41572bf31","updatedBy":"9404195a-2cde-4a10-b88c-e7b41572bf31","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0dfdb837-9693-11eb-b629-b6178ece78ec","type":"Microsoft.Authorization/roleAssignments","name":"0dfdb837-9693-11eb-b629-b6178ece78ec"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"Group","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-06T11:25:43.5702772Z","updatedOn":"2021-04-06T11:25:43.5702772Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/958a1320-4346-46fb-9722-828af239eb03","type":"Microsoft.Authorization/roleAssignments","name":"958a1320-4346-46fb-9722-828af239eb03"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-06T20:54:21.5921112Z","updatedOn":"2021-04-06T20:54:21.5921112Z","createdBy":"f5d11ebc-8494-4b5f-a0fc-5fbbfd56f7bb","updatedBy":"f5d11ebc-8494-4b5f-a0fc-5fbbfd56f7bb","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/42ad5638-971a-11eb-abf6-00155d3a4c00","type":"Microsoft.Authorization/roleAssignments","name":"42ad5638-971a-11eb-abf6-00155d3a4c00"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-06T23:22:50.4425724Z","updatedOn":"2021-04-06T23:22:50.4425724Z","createdBy":"ad232e99-5e1b-414e-aa53-96ae40d39f3e","updatedBy":"ad232e99-5e1b-414e-aa53-96ae40d39f3e","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/00a90f2a-972f-11eb-9121-acde48001122","type":"Microsoft.Authorization/roleAssignments","name":"00a90f2a-972f-11eb-9121-acde48001122"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-06T23:57:47.7182520Z","updatedOn":"2021-04-06T23:57:47.7182520Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/fb99837b-1f81-4e7c-afdf-5a5da79bc3e3","type":"Microsoft.Authorization/roleAssignments","name":"fb99837b-1f81-4e7c-afdf-5a5da79bc3e3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-07T00:26:49.7250016Z","updatedOn":"2021-04-07T00:26:49.7250016Z","createdBy":"88f18750-8181-4579-8eff-eb44f510655c","updatedBy":"88f18750-8181-4579-8eff-eb44f510655c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/dca2df37-fdd1-49dc-a1de-31a70d62e098","type":"Microsoft.Authorization/roleAssignments","name":"dca2df37-fdd1-49dc-a1de-31a70d62e098"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-07T09:10:47.4905668Z","updatedOn":"2021-04-07T09:10:47.4905668Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/8a5dbdef-0896-48cd-a325-318e807ea133","type":"Microsoft.Authorization/roleAssignments","name":"8a5dbdef-0896-48cd-a325-318e807ea133"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-07T09:44:09.4148366Z","updatedOn":"2021-04-07T09:44:09.4148366Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/19eb9977-62b0-4571-8d91-9342f2580a32","type":"Microsoft.Authorization/roleAssignments","name":"19eb9977-62b0-4571-8d91-9342f2580a32"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-07T19:55:01.1984055Z","updatedOn":"2021-04-07T19:55:01.1984055Z","createdBy":"1b081df7-da49-42b3-a427-9cb93114bf07","updatedBy":"1b081df7-da49-42b3-a427-9cb93114bf07","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2301d942-97db-11eb-8bf8-acde48001122","type":"Microsoft.Authorization/roleAssignments","name":"2301d942-97db-11eb-8bf8-acde48001122"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-07T22:36:06.7954601Z","updatedOn":"2021-04-07T22:36:06.7954601Z","createdBy":"f31399da-e7ed-4fe4-a825-a9dff4f53481","updatedBy":"f31399da-e7ed-4fe4-a825-a9dff4f53481","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6070c7de-7571-4d55-8b2f-85285b7d9675","type":"Microsoft.Authorization/roleAssignments","name":"6070c7de-7571-4d55-8b2f-85285b7d9675"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-09T01:23:36.6710425Z","updatedOn":"2021-04-09T01:23:36.6710425Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/8f1c810a-91db-403c-8c1b-e36ef5e3f2ae","type":"Microsoft.Authorization/roleAssignments","name":"8f1c810a-91db-403c-8c1b-e36ef5e3f2ae"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-04-09T08:31:55.6753945Z","updatedOn":"2021-04-09T08:31:55.6753945Z","createdBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","updatedBy":"a70eb664-13f1-42a8-8cfc-86a61770d75f","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/cb17ef81-685c-44f9-b679-244ff9cecfca","type":"Microsoft.Authorization/roleAssignments","name":"cb17ef81-685c-44f9-b679-244ff9cecfca"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/f1a07417-d97a-45cb-824c-7a7467783830","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id000003","condition":null,"conditionVersion":null,"createdOn":"2021-04-12T09:16:31.0103789Z","updatedOn":"2021-04-12T09:16:31.0103789Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id000003/providers/Microsoft.Authorization/roleAssignments/f5cab8fa-9b44-429c-bb4e-4280176197a2","type":"Microsoft.Authorization/roleAssignments","name":"f5cab8fa-9b44-429c-bb4e-4280176197a2"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-07-13T08:23:22.5067480Z","updatedOn":"2020-07-13T08:23:22.5067480Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d620bc90-9de4-4ae7-b69a-0b2489f91897","type":"Microsoft.Authorization/roleAssignments","name":"d620bc90-9de4-4ae7-b69a-0b2489f91897"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-07-17T03:14:37.5069272Z","updatedOn":"2020-07-17T03:14:37.5069272Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/0d5c6698-a390-411c-a028-5ef6510a7db3","type":"Microsoft.Authorization/roleAssignments","name":"0d5c6698-a390-411c-a028-5ef6510a7db3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-08T10:10:14.5504056Z","updatedOn":"2021-03-08T10:10:14.5504056Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/067c1708-f33d-4c8c-9962-1115d573b010","type":"Microsoft.Authorization/roleAssignments","name":"067c1708-f33d-4c8c-9962-1115d573b010"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-12T17:41:39.7941619Z","updatedOn":"2021-03-12T17:41:39.7941619Z","createdBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","updatedBy":"b1e54977-a96f-4b97-b7ac-a911bef78f5e","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d4625aa1-611e-448a-bf3e-f37f2bc878a3","type":"Microsoft.Authorization/roleAssignments","name":"d4625aa1-611e-448a-bf3e-f37f2bc878a3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-13T00:16:30.5211415Z","updatedOn":"2021-03-13T00:16:30.5211415Z","createdBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","updatedBy":"d69d1d49-5dc8-4c8e-afb6-325d83ddcee8","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/6bb77919-c820-434e-8b05-534269176a2c","type":"Microsoft.Authorization/roleAssignments","name":"6bb77919-c820-434e-8b05-534269176a2c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-13T10:12:45.2534236Z","updatedOn":"2021-03-13T10:12:45.2534236Z","createdBy":"8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9","updatedBy":"8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/e975bb7b-054a-46af-9bb3-cac6dceabf4c","type":"Microsoft.Authorization/roleAssignments","name":"e975bb7b-054a-46af-9bb3-cac6dceabf4c"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-16T23:49:03.3523073Z","updatedOn":"2021-03-16T23:49:03.3523073Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/f33005f1-10be-43e3-a87f-9e2f954fb2db","type":"Microsoft.Authorization/roleAssignments","name":"f33005f1-10be-43e3-a87f-9e2f954fb2db"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-17T00:39:07.7760935Z","updatedOn":"2021-03-17T00:39:07.7760935Z","createdBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","updatedBy":"1950a39c-ef6a-4e9d-b00e-9a99d027ddb2","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/a747debe-4a66-476a-9577-0b1a640750ef","type":"Microsoft.Authorization/roleAssignments","name":"a747debe-4a66-476a-9577-0b1a640750ef"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-22T03:25:46.9853541Z","updatedOn":"2021-03-22T03:25:46.9853541Z","createdBy":"09914860-7ec9-4151-8431-31797899a359","updatedBy":"09914860-7ec9-4151-8431-31797899a359","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/815c5875-b3b0-4595-ba0f-5f3ab8b57871","type":"Microsoft.Authorization/roleAssignments","name":"815c5875-b3b0-4595-ba0f-5f3ab8b57871"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-25T00:58:10.6501184Z","updatedOn":"2021-03-25T00:58:10.6501184Z","createdBy":"243a3958-b8d3-4c74-ad3f-77b916846d93","updatedBy":"243a3958-b8d3-4c74-ad3f-77b916846d93","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2aca810c-8d05-11eb-bd25-000d3a4359fa","type":"Microsoft.Authorization/roleAssignments","name":"2aca810c-8d05-11eb-bd25-000d3a4359fa"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-26T10:13:53.8091651Z","updatedOn":"2021-03-26T10:13:53.8091651Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/d850ab91-9de8-4c27-8667-99ba5677c4c2","type":"Microsoft.Authorization/roleAssignments","name":"d850ab91-9de8-4c27-8667-99ba5677c4c2"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-26T10:24:43.4077585Z","updatedOn":"2021-03-26T10:24:43.4077585Z","createdBy":"a75ea823-3748-4855-a4df-f4ba5383d006","updatedBy":"a75ea823-3748-4855-a4df-f4ba5383d006","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/779ad30e-8e1d-11eb-8aa9-000d3ac754e3","type":"Microsoft.Authorization/roleAssignments","name":"779ad30e-8e1d-11eb-8aa9-000d3ac754e3"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-26T15:24:46.1413686Z","updatedOn":"2021-03-26T15:24:46.1413686Z","createdBy":"547f6960-a967-417a-a9a4-0f35fbdca11c","updatedBy":"547f6960-a967-417a-a9a4-0f35fbdca11c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/9a54bdb6-bda6-470e-935c-bfa23f846e98","type":"Microsoft.Authorization/roleAssignments","name":"9a54bdb6-bda6-470e-935c-bfa23f846e98"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/8e3af657-a8ff-443c-a75c-2fe8c4bcb635","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2021-03-31T01:48:40.0937142Z","updatedOn":"2021-03-31T01:48:40.0937142Z","createdBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","updatedBy":"7e9cc714-bfe4-4eea-acb2-d53ced88ab8b","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/cd309898-e4ed-438e-b8f9-66fbb4d776bc","type":"Microsoft.Authorization/roleAssignments","name":"cd309898-e4ed-438e-b8f9-66fbb4d776bc"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-07-07T21:38:16.9089220Z","updatedOn":"2020-07-07T21:38:16.9089220Z","createdBy":"67f96a40-adf7-4f43-888f-33526c5cfa95","updatedBy":"67f96a40-adf7-4f43-888f-33526c5cfa95","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/2d34e25a-c09a-11ea-893f-eefa4c05adfb","type":"Microsoft.Authorization/roleAssignments","name":"2d34e25a-c09a-11ea-893f-eefa4c05adfb"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"User","scope":"/subscriptions/00000000-0000-0000-0000-000000000000","condition":null,"conditionVersion":null,"createdOn":"2020-07-07T23:59:03.3157569Z","updatedOn":"2020-07-07T23:59:03.3157569Z","createdBy":"1ec25b73-94d5-4bf9-a56f-ca7d9bd4164c","updatedBy":"1ec25b73-94d5-4bf9-a56f-ca7d9bd4164c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/718cdad6-cc40-415b-aae3-f356df943d39","type":"Microsoft.Authorization/roleAssignments","name":"718cdad6-cc40-415b-aae3-f356df943d39"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/c92f8fe1-e3cb-47e8-a01d-0771814c0dad","condition":null,"conditionVersion":null,"createdOn":"2019-03-26T22:01:02.8423155Z","updatedOn":"2019-03-26T22:01:02.8423155Z","createdBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818","updatedBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/c92f8fe1-e3cb-47e8-a01d-0771814c0dad/providers/Microsoft.Authorization/roleAssignments/3d069c98-e792-47bd-b58a-399e2d42dbab","type":"Microsoft.Authorization/roleAssignments","name":"3d069c98-e792-47bd-b58a-399e2d42dbab"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/f25e0fa2-a7c8-4377-a976-54943a77a395","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/c92f8fe1-e3cb-47e8-a01d-0771814c0dad","condition":null,"conditionVersion":null,"createdOn":"2021-04-09T18:15:49.7063250Z","updatedOn":"2021-04-09T18:15:49.7063250Z","createdBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","updatedBy":"2ffe2392-0a52-4093-b041-66b10ebc8317","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/c92f8fe1-e3cb-47e8-a01d-0771814c0dad/providers/Microsoft.Authorization/roleAssignments/a6b435df-80e6-4a7b-b109-2af5f373d238","type":"Microsoft.Authorization/roleAssignments","name":"a6b435df-80e6-4a7b-b109-2af5f373d238"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/18d7d88d-d35e-4fb5-a5c3-7773c20a72d9","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod","condition":null,"conditionVersion":null,"createdOn":"2019-03-26T22:01:02.9176787Z","updatedOn":"2019-03-26T22:01:02.9176787Z","createdBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818","updatedBy":"8701e34d-d7c2-459c-b2d7-f3a9c5204818","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod/providers/Microsoft.Authorization/roleAssignments/4b771ea9-81de-4fc4-aa28-a3a0b9b4a320","type":"Microsoft.Authorization/roleAssignments","name":"4b771ea9-81de-4fc4-aa28-a3a0b9b4a320"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/36243c78-bf99-498c-9df9-86d9f8d28608","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod","condition":null,"conditionVersion":null,"createdOn":"2019-03-27T00:49:37.3000523Z","updatedOn":"2019-03-27T00:49:37.3000523Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod/providers/Microsoft.Authorization/roleAssignments/e6e1fffd-83f7-40c7-9f33-e56e2cf75b29","type":"Microsoft.Authorization/roleAssignments","name":"e6e1fffd-83f7-40c7-9f33-e56e2cf75b29"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/5d58bcaf-24a5-4b20-bdb6-eed9f69fbe4c","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod","condition":null,"conditionVersion":null,"createdOn":"2019-03-27T00:50:08.3039053Z","updatedOn":"2019-03-27T00:50:08.3039053Z","createdBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","updatedBy":"820ba717-9ea7-4147-bc13-1e35af4cc27c","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/CnAIOrchestrationServicePublicCorpprod/providers/Microsoft.Authorization/roleAssignments/3d01f56e-ee3a-41ed-a775-0e067546cb12","type":"Microsoft.Authorization/roleAssignments","name":"3d01f56e-ee3a-41ed-a775-0e067546cb12"},{"properties":{"roleDefinitionId":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/acdd72a7-3385-48ef-bd42-f606fba81ae7","principalId":"00000000-0000-0000-0000-000000000001","principalType":"ServicePrincipal","scope":"/providers/Microsoft.Management/managementGroups/72f988bf-86f1-41af-91ab-2d7cd011db47","condition":null,"conditionVersion":null,"createdOn":"2020-03-12T20:43:06.5941189Z","updatedOn":"2020-03-12T20:43:06.5941189Z","createdBy":"606f48c8-d219-4875-991d-ae6befaf0756","updatedBy":"606f48c8-d219-4875-991d-ae6befaf0756","delegatedManagedIdentityResourceId":null,"description":null},"id":"/providers/Microsoft.Management/managementGroups/72f988bf-86f1-41af-91ab-2d7cd011db47/providers/Microsoft.Authorization/roleAssignments/ad9e2cd7-0ff7-4931-9b17-656c8f17934b","type":"Microsoft.Authorization/roleAssignments","name":"ad9e2cd7-0ff7-4931-9b17-656c8f17934b"}]}' headers: cache-control: - no-cache @@ -1858,7 +1858,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ @@ -2054,7 +2054,7 @@ interactions: - python/3.8.6 (macOS-10.16-x86_64-i386-64bit) msrest/0.6.18 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.14.2 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_run_command.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_run_command.yaml index 417814793a2..341c3528201 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_run_command.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_run_command.yaml @@ -78,7 +78,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cmdtest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cmdtest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cmdtest000002\"\ @@ -600,7 +600,7 @@ interactions: - python/3.6.10 (Linux-4.19.121-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (DOCKER) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cmdtest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cmdtest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cmdtest000002\"\ @@ -686,7 +686,7 @@ interactions: accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cmdtest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cmdtest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cmdtest000002\"\ @@ -776,7 +776,7 @@ interactions: accept-language: - en-US method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cmdtest000002/runCommand?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cmdtest000002/runCommand?api-version=2021-05-01 response: body: string: '' @@ -790,7 +790,7 @@ interactions: expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedclusters/cmdtest000002/commandResults/d7782fecf9384217aeb09c2448264e3b?api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedclusters/cmdtest000002/commandResults/d7782fecf9384217aeb09c2448264e3b?api-version=2021-05-01 pragma: - no-cache server: @@ -821,7 +821,7 @@ interactions: - python/3.6.10 (Linux-4.19.121-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (DOCKER) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedclusters/cmdtest000002/commandResults/d7782fecf9384217aeb09c2448264e3b?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedclusters/cmdtest000002/commandResults/d7782fecf9384217aeb09c2448264e3b?api-version=2021-05-01 response: body: string: "{\n \"id\": \"d7782fecf9384217aeb09c2448264e3b\",\n \"properties\"\ @@ -838,7 +838,7 @@ interactions: expires: - '-1' location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedclusters/cmdtest000002/commandResults/d7782fecf9384217aeb09c2448264e3b?api-version=2021-03-01 + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedclusters/cmdtest000002/commandResults/d7782fecf9384217aeb09c2448264e3b?api-version=2021-05-01 pragma: - no-cache server: @@ -867,7 +867,7 @@ interactions: - python/3.6.10 (Linux-4.19.121-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.19.1 (DOCKER) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedclusters/cmdtest000002/commandResults/d7782fecf9384217aeb09c2448264e3b?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedclusters/cmdtest000002/commandResults/d7782fecf9384217aeb09c2448264e3b?api-version=2021-05-01 response: body: string: "{\n \"id\": \"d7782fecf9384217aeb09c2448264e3b\",\n \"properties\"\ diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_update_azurekeyvaultsecretsprovider_with_secret_rotation.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_update_azurekeyvaultsecretsprovider_with_secret_rotation.yaml index b58a093729f..7151b936b4f 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_update_azurekeyvaultsecretsprovider_with_secret_rotation.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_update_azurekeyvaultsecretsprovider_with_secret_rotation.yaml @@ -77,7 +77,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -500,7 +500,7 @@ interactions: msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -587,7 +587,7 @@ interactions: accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -697,7 +697,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -883,7 +883,7 @@ interactions: msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -970,7 +970,7 @@ interactions: accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -1080,7 +1080,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n @@ -1266,7 +1266,7 @@ interactions: msrest/0.6.21 msrest_azure/0.6.3 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.23.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_update_with_windows_password.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_update_with_windows_password.yaml index 4d794c700e8..6c1bb6b85c5 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_update_with_windows_password.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_update_with_windows_password.yaml @@ -81,7 +81,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\"\ @@ -522,7 +522,7 @@ interactions: msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.22.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\"\ @@ -609,7 +609,7 @@ interactions: accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools?api-version=2021-05-01 response: body: string: "{\n \"value\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/nodepool1\"\ @@ -676,7 +676,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin\"\ @@ -1322,7 +1322,7 @@ interactions: msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.22.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin\"\ @@ -1381,7 +1381,7 @@ interactions: accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\"\ @@ -1503,7 +1503,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\"\ @@ -3022,7 +3022,7 @@ interactions: msrest_azure/0.6.4 azure-mgmt-containerservice/11.0.0 Azure-SDK-For-Python AZURECLI/2.22.0 method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\"\ @@ -3117,7 +3117,7 @@ interactions: accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools?api-version=2021-05-01 response: body: string: "{\n \"value\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/nodepool1\"\ @@ -3189,7 +3189,7 @@ interactions: accept-language: - en-US method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin?api-version=2021-05-01 response: body: string: '' diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_upgrade_node_image_only_cluster.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_upgrade_node_image_only_cluster.yaml index 2fa6c164d0c..6a963a950fc 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_upgrade_node_image_only_cluster.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_upgrade_node_image_only_cluster.yaml @@ -80,7 +80,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ @@ -450,7 +450,7 @@ interactions: - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ @@ -528,7 +528,7 @@ interactions: accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ @@ -608,7 +608,7 @@ interactions: accept-language: - en-US method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000003/upgradeNodeImageVersion?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000003/upgradeNodeImageVersion?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000003\"\ @@ -668,7 +668,7 @@ interactions: accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_upgrade_node_image_only_nodepool.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_upgrade_node_image_only_nodepool.yaml index 0e325d5d5d7..fe5d14cd0a2 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_upgrade_node_image_only_nodepool.yaml +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_upgrade_node_image_only_nodepool.yaml @@ -80,7 +80,7 @@ interactions: accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ @@ -401,7 +401,7 @@ interactions: - python/3.6.10 (Linux-4.19.76-linuxkit-x86_64-with) msrest/0.6.18 msrest_azure/0.6.3 azure-mgmt-containerservice/4.4.6 Azure-SDK-For-Python AZURECLI/2.15.0 (DOCKER) method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\"\ @@ -481,7 +481,7 @@ interactions: accept-language: - en-US method: POST - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000003/upgradeNodeImageVersion?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000003/upgradeNodeImageVersion?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000003\"\ @@ -541,7 +541,7 @@ interactions: accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000003?api-version=2021-03-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000003?api-version=2021-05-01 response: body: string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/agentPools/c000003\"\ diff --git a/src/aks-preview/azext_aks_preview/tests/latest/test_aks_commands.py b/src/aks-preview/azext_aks_preview/tests/latest/test_aks_commands.py index 1432399a755..5305a785b11 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/test_aks_commands.py +++ b/src/aks-preview/azext_aks_preview/tests/latest/test_aks_commands.py @@ -823,7 +823,7 @@ def test_aks_nodepool_get_upgrades(self, resource_group, resource_group_location checks=[ # if rerun the recording, please update latestNodeImageVersion to the latest value self.check('latestNodeImageVersion', - 'AKSUbuntu-1804gen2containerd-2021.04.27'), + 'AKSUbuntu-1804gen2containerd-2021.05.19'), self.check( 'type', "Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles") ]) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/container_service_client.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/container_service_client.py index e89f0ae5e5c..938e16974b7 100644 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/container_service_client.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/container_service_client.py @@ -121,6 +121,7 @@ def models(cls, api_version=DEFAULT_API_VERSION): * 2020-12-01: :mod:`v2020_12_01_.models` * 2021-02-01: :mod:`v2021_02_01_.models` * 2021-03-01: :mod:`v2021_03_01_.models` + * 2021-05-01: :mod:`v2021_05_01_.models` """ if api_version == '2017-07-01': from .v2017_07_01 import models @@ -176,6 +177,9 @@ def models(cls, api_version=DEFAULT_API_VERSION): elif api_version == '2021-03-01': from .v2021_03_01 import models return models + elif api_version == '2021-05-01': + from .v2021_05_01 import models + return models raise NotImplementedError("APIVersion {} is not available".format(api_version)) @property @@ -185,6 +189,7 @@ def maintenance_configurations(self): * 2020-12-01: :class:`MaintenanceConfigurationsOperations` * 2021-02-01: :class:`MaintenanceConfigurationsOperations` * 2021-03-01: :class:`MaintenanceConfigurationsOperations` + * 2021-05-01: :class:`MaintenanceConfigurationsOperations` """ api_version = self._get_api_version('maintenance_configurations') if api_version == '2020-12-01': @@ -193,6 +198,8 @@ def maintenance_configurations(self): from .v2021_02_01.operations import MaintenanceConfigurationsOperations as OperationClass elif api_version == '2021-03-01': from .v2021_03_01.operations import MaintenanceConfigurationsOperations as OperationClass + elif api_version == '2021-05-01': + from .v2021_05_01.operations import MaintenanceConfigurationsOperations 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))) @@ -215,6 +222,7 @@ def agent_pools(self): * 2020-12-01: :class:`AgentPoolsOperations` * 2021-02-01: :class:`AgentPoolsOperations` * 2021-03-01: :class:`AgentPoolsOperations` + * 2021-05-01: :class:`AgentPoolsOperations` """ api_version = self._get_api_version('agent_pools') if api_version == '2019-02-01': @@ -245,6 +253,8 @@ def agent_pools(self): from .v2021_02_01.operations import AgentPoolsOperations as OperationClass elif api_version == '2021-03-01': from .v2021_03_01.operations import AgentPoolsOperations as OperationClass + elif api_version == '2021-05-01': + from .v2021_05_01.operations import AgentPoolsOperations 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))) @@ -296,6 +306,9 @@ def container_services(self): elif api_version == '2021-03-01': from .v2019_04_01.operations import ContainerServicesOperations as OperationClass api_version = "2019-04-01" #2021-03-01 generated Python SDK contains no list_orchestrator op + elif api_version == '2021-05-01': + from .v2019_04_01.operations import ContainerServicesOperations as OperationClass + api_version = "2019-04-01" #2021-05-01 generated Python SDK contains no list_orchestrator op 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))) @@ -320,6 +333,7 @@ def managed_clusters(self): * 2020-12-01: :class:`ManagedClustersOperations` * 2021-02-01: :class:`ManagedClustersOperations` * 2021-03-01: :class:`ManagedClustersOperations` + * 2021-05-01: :class:`ManagedClustersOperations` """ api_version = self._get_api_version('managed_clusters') if api_version == '2018-03-31': @@ -354,6 +368,8 @@ def managed_clusters(self): from .v2021_02_01.operations import ManagedClustersOperations as OperationClass elif api_version == '2021-03-01': from .v2021_03_01.operations import ManagedClustersOperations as OperationClass + elif api_version == '2021-05-01': + from .v2021_05_01.operations import ManagedClustersOperations 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))) @@ -391,6 +407,7 @@ def operations(self): * 2020-12-01: :class:`Operations` * 2021-02-01: :class:`Operations` * 2021-03-01: :class:`Operations` + * 2021-05-01: :class:`Operations` """ api_version = self._get_api_version('operations') if api_version == '2018-03-31': @@ -425,6 +442,8 @@ def operations(self): from .v2021_02_01.operations import Operations as OperationClass elif api_version == '2021-03-01': from .v2021_03_01.operations import Operations as OperationClass + elif api_version == '2021-05-01': + from .v2021_05_01.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))) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/models.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/models.py index d5b1e2a4ac4..c7e9658fe5e 100644 --- a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/models.py +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/models.py @@ -26,4 +26,5 @@ from .v2020_11_01.models import * from .v2020_12_01.models import * from .v2021_02_01.models import * -from .v2021_03_01.models import * \ No newline at end of file +from .v2021_03_01.models import * +from .v2021_05_01.models import * \ No newline at end of file diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/__init__.py new file mode 100644 index 00000000000..b7cb9d01cb1 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/__init__.py @@ -0,0 +1,19 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from ._configuration import ContainerServiceClientConfiguration +from ._container_service_client import ContainerServiceClient +__all__ = ['ContainerServiceClient', 'ContainerServiceClientConfiguration'] + +from .version import VERSION + +__version__ = VERSION + diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/_configuration.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/_configuration.py new file mode 100644 index 00000000000..e94fbc7005d --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/_configuration.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 msrestazure import AzureConfiguration + +from .version import VERSION + + +class ContainerServiceClientConfiguration(AzureConfiguration): + """Configuration for ContainerServiceClient + 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: 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 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(ContainerServiceClientConfiguration, self).__init__(base_url) + + # Starting Autorest.Python 4.0.64, make connection pool activated by default + self.keep_alive = True + + self.add_user_agent('azure-mgmt-containerservice/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/_container_service_client.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/_container_service_client.py new file mode 100644 index 00000000000..19799dc92a8 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/_container_service_client.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.service_client import SDKClient +from msrest import Serializer, Deserializer + +from ._configuration import ContainerServiceClientConfiguration +from .operations import Operations +from .operations import ManagedClustersOperations +from .operations import MaintenanceConfigurationsOperations +from .operations import AgentPoolsOperations +from .operations import PrivateEndpointConnectionsOperations +from .operations import PrivateLinkResourcesOperations +from .operations import ResolvePrivateLinkServiceIdOperations +from . import models + + +class ContainerServiceClient(SDKClient): + """The Container Service Client. + + :ivar config: Configuration for client. + :vartype config: ContainerServiceClientConfiguration + + :ivar operations: Operations operations + :vartype operations: azure.mgmt.containerservice.v2021_05_01.operations.Operations + :ivar managed_clusters: ManagedClusters operations + :vartype managed_clusters: azure.mgmt.containerservice.v2021_05_01.operations.ManagedClustersOperations + :ivar maintenance_configurations: MaintenanceConfigurations operations + :vartype maintenance_configurations: azure.mgmt.containerservice.v2021_05_01.operations.MaintenanceConfigurationsOperations + :ivar agent_pools: AgentPools operations + :vartype agent_pools: azure.mgmt.containerservice.v2021_05_01.operations.AgentPoolsOperations + :ivar private_endpoint_connections: PrivateEndpointConnections operations + :vartype private_endpoint_connections: azure.mgmt.containerservice.v2021_05_01.operations.PrivateEndpointConnectionsOperations + :ivar private_link_resources: PrivateLinkResources operations + :vartype private_link_resources: azure.mgmt.containerservice.v2021_05_01.operations.PrivateLinkResourcesOperations + :ivar resolve_private_link_service_id: ResolvePrivateLinkServiceId operations + :vartype resolve_private_link_service_id: azure.mgmt.containerservice.v2021_05_01.operations.ResolvePrivateLinkServiceIdOperations + + :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 base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + self.config = ContainerServiceClientConfiguration(credentials, subscription_id, base_url) + super(ContainerServiceClient, 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 = '2021-05-01' + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.operations = Operations( + self._client, self.config, self._serialize, self._deserialize) + self.managed_clusters = ManagedClustersOperations( + self._client, self.config, self._serialize, self._deserialize) + self.maintenance_configurations = MaintenanceConfigurationsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.agent_pools = AgentPoolsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.private_endpoint_connections = PrivateEndpointConnectionsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.private_link_resources = PrivateLinkResourcesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.resolve_private_link_service_id = ResolvePrivateLinkServiceIdOperations( + self._client, self.config, self._serialize, self._deserialize) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/models/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/models/__init__.py new file mode 100644 index 00000000000..f8893541ba3 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/models/__init__.py @@ -0,0 +1,299 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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 ._models_py3 import AgentPool + from ._models_py3 import AgentPoolAvailableVersions + from ._models_py3 import AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem + from ._models_py3 import AgentPoolUpgradeProfile + from ._models_py3 import AgentPoolUpgradeProfilePropertiesUpgradesItem + from ._models_py3 import AgentPoolUpgradeSettings + from ._models_py3 import ContainerServiceDiagnosticsProfile + from ._models_py3 import ContainerServiceLinuxProfile + from ._models_py3 import ContainerServiceMasterProfile + from ._models_py3 import ContainerServiceNetworkProfile + from ._models_py3 import ContainerServiceSshConfiguration + from ._models_py3 import ContainerServiceSshPublicKey + from ._models_py3 import ContainerServiceVMDiagnostics + from ._models_py3 import CredentialResult + from ._models_py3 import CredentialResults + from ._models_py3 import EndpointDependency + from ._models_py3 import EndpointDetail + from ._models_py3 import ExtendedLocation + from ._models_py3 import KubeletConfig + from ._models_py3 import LinuxOSConfig + from ._models_py3 import MaintenanceConfiguration + from ._models_py3 import ManagedCluster + from ._models_py3 import ManagedClusterAADProfile + from ._models_py3 import ManagedClusterAccessProfile + from ._models_py3 import ManagedClusterAddonProfile + from ._models_py3 import ManagedClusterAddonProfileIdentity + from ._models_py3 import ManagedClusterAgentPoolProfile + from ._models_py3 import ManagedClusterAgentPoolProfileProperties + from ._models_py3 import ManagedClusterAPIServerAccessProfile + from ._models_py3 import ManagedClusterAutoUpgradeProfile + from ._models_py3 import ManagedClusterHTTPProxyConfig + from ._models_py3 import ManagedClusterIdentity + from ._models_py3 import ManagedClusterIdentityUserAssignedIdentitiesValue + from ._models_py3 import ManagedClusterLoadBalancerProfile + from ._models_py3 import ManagedClusterLoadBalancerProfileManagedOutboundIPs + from ._models_py3 import ManagedClusterLoadBalancerProfileOutboundIPPrefixes + from ._models_py3 import ManagedClusterLoadBalancerProfileOutboundIPs + from ._models_py3 import ManagedClusterPodIdentity + from ._models_py3 import ManagedClusterPodIdentityException + from ._models_py3 import ManagedClusterPodIdentityProfile + from ._models_py3 import ManagedClusterPodIdentityProvisioningInfo + from ._models_py3 import ManagedClusterPoolUpgradeProfile + from ._models_py3 import ManagedClusterPoolUpgradeProfileUpgradesItem + from ._models_py3 import ManagedClusterPropertiesAutoScalerProfile + from ._models_py3 import ManagedClusterPropertiesIdentityProfileValue + from ._models_py3 import ManagedClusterServicePrincipalProfile + from ._models_py3 import ManagedClusterSKU + from ._models_py3 import ManagedClusterUpgradeProfile + from ._models_py3 import ManagedClusterWindowsProfile + from ._models_py3 import OperationValue + from ._models_py3 import OSOptionProfile + from ._models_py3 import OSOptionProperty + from ._models_py3 import OutboundEnvironmentEndpoint + from ._models_py3 import PowerState + from ._models_py3 import PrivateEndpoint + from ._models_py3 import PrivateEndpointConnection + from ._models_py3 import PrivateEndpointConnectionListResult + from ._models_py3 import PrivateLinkResource + from ._models_py3 import PrivateLinkResourcesListResult + from ._models_py3 import PrivateLinkServiceConnectionState + from ._models_py3 import Resource + from ._models_py3 import ResourceReference + from ._models_py3 import RunCommandRequest + from ._models_py3 import RunCommandResult + from ._models_py3 import SubResource + from ._models_py3 import SysctlConfig + from ._models_py3 import SystemData + from ._models_py3 import TagsObject + from ._models_py3 import TimeInWeek + from ._models_py3 import TimeSpan + from ._models_py3 import UserAssignedIdentity +except (SyntaxError, ImportError): + from ._models import AgentPool + from ._models import AgentPoolAvailableVersions + from ._models import AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem + from ._models import AgentPoolUpgradeProfile + from ._models import AgentPoolUpgradeProfilePropertiesUpgradesItem + from ._models import AgentPoolUpgradeSettings + from ._models import ContainerServiceDiagnosticsProfile + from ._models import ContainerServiceLinuxProfile + from ._models import ContainerServiceMasterProfile + from ._models import ContainerServiceNetworkProfile + from ._models import ContainerServiceSshConfiguration + from ._models import ContainerServiceSshPublicKey + from ._models import ContainerServiceVMDiagnostics + from ._models import CredentialResult + from ._models import CredentialResults + from ._models import EndpointDependency + from ._models import EndpointDetail + from ._models import ExtendedLocation + from ._models import KubeletConfig + from ._models import LinuxOSConfig + from ._models import MaintenanceConfiguration + from ._models import ManagedCluster + from ._models import ManagedClusterAADProfile + from ._models import ManagedClusterAccessProfile + from ._models import ManagedClusterAddonProfile + from ._models import ManagedClusterAddonProfileIdentity + from ._models import ManagedClusterAgentPoolProfile + from ._models import ManagedClusterAgentPoolProfileProperties + from ._models import ManagedClusterAPIServerAccessProfile + from ._models import ManagedClusterAutoUpgradeProfile + from ._models import ManagedClusterHTTPProxyConfig + from ._models import ManagedClusterIdentity + from ._models import ManagedClusterIdentityUserAssignedIdentitiesValue + from ._models import ManagedClusterLoadBalancerProfile + from ._models import ManagedClusterLoadBalancerProfileManagedOutboundIPs + from ._models import ManagedClusterLoadBalancerProfileOutboundIPPrefixes + from ._models import ManagedClusterLoadBalancerProfileOutboundIPs + from ._models import ManagedClusterPodIdentity + from ._models import ManagedClusterPodIdentityException + from ._models import ManagedClusterPodIdentityProfile + from ._models import ManagedClusterPodIdentityProvisioningInfo + from ._models import ManagedClusterPoolUpgradeProfile + from ._models import ManagedClusterPoolUpgradeProfileUpgradesItem + from ._models import ManagedClusterPropertiesAutoScalerProfile + from ._models import ManagedClusterPropertiesIdentityProfileValue + from ._models import ManagedClusterServicePrincipalProfile + from ._models import ManagedClusterSKU + from ._models import ManagedClusterUpgradeProfile + from ._models import ManagedClusterWindowsProfile + from ._models import OperationValue + from ._models import OSOptionProfile + from ._models import OSOptionProperty + from ._models import OutboundEnvironmentEndpoint + from ._models import PowerState + from ._models import PrivateEndpoint + from ._models import PrivateEndpointConnection + from ._models import PrivateEndpointConnectionListResult + from ._models import PrivateLinkResource + from ._models import PrivateLinkResourcesListResult + from ._models import PrivateLinkServiceConnectionState + from ._models import Resource + from ._models import ResourceReference + from ._models import RunCommandRequest + from ._models import RunCommandResult + from ._models import SubResource + from ._models import SysctlConfig + from ._models import SystemData + from ._models import TagsObject + from ._models import TimeInWeek + from ._models import TimeSpan + from ._models import UserAssignedIdentity +from ._paged_models import AgentPoolPaged +from ._paged_models import MaintenanceConfigurationPaged +from ._paged_models import ManagedClusterPaged +from ._paged_models import OperationValuePaged +from ._paged_models import OutboundEnvironmentEndpointPaged +from ._container_service_client_enums import ( + ContainerServiceStorageProfileTypes, + ContainerServiceVMSizeTypes, + OSDiskType, + KubeletDiskType, + OSType, + OSSKU, + AgentPoolType, + AgentPoolMode, + Code, + ScaleSetPriority, + ScaleSetEvictionPolicy, + GPUInstanceProfile, + LicenseType, + NetworkPlugin, + NetworkPolicy, + NetworkMode, + OutboundType, + LoadBalancerSku, + CreatedByType, + WeekDay, + ManagedClusterPodIdentityProvisioningState, + UpgradeChannel, + Expander, + ResourceIdentityType, + ManagedClusterSKUName, + ManagedClusterSKUTier, + ExtendedLocationTypes, + PrivateEndpointConnectionProvisioningState, + ConnectionStatus, +) + +__all__ = [ + 'AgentPool', + 'AgentPoolAvailableVersions', + 'AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem', + 'AgentPoolUpgradeProfile', + 'AgentPoolUpgradeProfilePropertiesUpgradesItem', + 'AgentPoolUpgradeSettings', + 'ContainerServiceDiagnosticsProfile', + 'ContainerServiceLinuxProfile', + 'ContainerServiceMasterProfile', + 'ContainerServiceNetworkProfile', + 'ContainerServiceSshConfiguration', + 'ContainerServiceSshPublicKey', + 'ContainerServiceVMDiagnostics', + 'CredentialResult', + 'CredentialResults', + 'EndpointDependency', + 'EndpointDetail', + 'ExtendedLocation', + 'KubeletConfig', + 'LinuxOSConfig', + 'MaintenanceConfiguration', + 'ManagedCluster', + 'ManagedClusterAADProfile', + 'ManagedClusterAccessProfile', + 'ManagedClusterAddonProfile', + 'ManagedClusterAddonProfileIdentity', + 'ManagedClusterAgentPoolProfile', + 'ManagedClusterAgentPoolProfileProperties', + 'ManagedClusterAPIServerAccessProfile', + 'ManagedClusterAutoUpgradeProfile', + 'ManagedClusterHTTPProxyConfig', + 'ManagedClusterIdentity', + 'ManagedClusterIdentityUserAssignedIdentitiesValue', + 'ManagedClusterLoadBalancerProfile', + 'ManagedClusterLoadBalancerProfileManagedOutboundIPs', + 'ManagedClusterLoadBalancerProfileOutboundIPPrefixes', + 'ManagedClusterLoadBalancerProfileOutboundIPs', + 'ManagedClusterPodIdentity', + 'ManagedClusterPodIdentityException', + 'ManagedClusterPodIdentityProfile', + 'ManagedClusterPodIdentityProvisioningInfo', + 'ManagedClusterPoolUpgradeProfile', + 'ManagedClusterPoolUpgradeProfileUpgradesItem', + 'ManagedClusterPropertiesAutoScalerProfile', + 'ManagedClusterPropertiesIdentityProfileValue', + 'ManagedClusterServicePrincipalProfile', + 'ManagedClusterSKU', + 'ManagedClusterUpgradeProfile', + 'ManagedClusterWindowsProfile', + 'OperationValue', + 'OSOptionProfile', + 'OSOptionProperty', + 'OutboundEnvironmentEndpoint', + 'PowerState', + 'PrivateEndpoint', + 'PrivateEndpointConnection', + 'PrivateEndpointConnectionListResult', + 'PrivateLinkResource', + 'PrivateLinkResourcesListResult', + 'PrivateLinkServiceConnectionState', + 'Resource', + 'ResourceReference', + 'RunCommandRequest', + 'RunCommandResult', + 'SubResource', + 'SysctlConfig', + 'SystemData', + 'TagsObject', + 'TimeInWeek', + 'TimeSpan', + 'UserAssignedIdentity', + 'OperationValuePaged', + 'ManagedClusterPaged', + 'OutboundEnvironmentEndpointPaged', + 'MaintenanceConfigurationPaged', + 'AgentPoolPaged', + 'ContainerServiceStorageProfileTypes', + 'ContainerServiceVMSizeTypes', + 'OSDiskType', + 'KubeletDiskType', + 'OSType', + 'OSSKU', + 'AgentPoolType', + 'AgentPoolMode', + 'Code', + 'ScaleSetPriority', + 'ScaleSetEvictionPolicy', + 'GPUInstanceProfile', + 'LicenseType', + 'NetworkPlugin', + 'NetworkPolicy', + 'NetworkMode', + 'OutboundType', + 'LoadBalancerSku', + 'CreatedByType', + 'WeekDay', + 'ManagedClusterPodIdentityProvisioningState', + 'UpgradeChannel', + 'Expander', + 'ResourceIdentityType', + 'ManagedClusterSKUName', + 'ManagedClusterSKUTier', + 'ExtendedLocationTypes', + 'PrivateEndpointConnectionProvisioningState', + 'ConnectionStatus', +] diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/models/_container_service_client_enums.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/models/_container_service_client_enums.py new file mode 100644 index 00000000000..07d226f1f08 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/models/_container_service_client_enums.py @@ -0,0 +1,378 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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 ContainerServiceStorageProfileTypes(str, Enum): + + storage_account = "StorageAccount" + managed_disks = "ManagedDisks" + + +class ContainerServiceVMSizeTypes(str, Enum): + + standard_a1 = "Standard_A1" + standard_a10 = "Standard_A10" + standard_a11 = "Standard_A11" + standard_a1_v2 = "Standard_A1_v2" + standard_a2 = "Standard_A2" + standard_a2_v2 = "Standard_A2_v2" + standard_a2m_v2 = "Standard_A2m_v2" + standard_a3 = "Standard_A3" + standard_a4 = "Standard_A4" + standard_a4_v2 = "Standard_A4_v2" + standard_a4m_v2 = "Standard_A4m_v2" + standard_a5 = "Standard_A5" + standard_a6 = "Standard_A6" + standard_a7 = "Standard_A7" + standard_a8 = "Standard_A8" + standard_a8_v2 = "Standard_A8_v2" + standard_a8m_v2 = "Standard_A8m_v2" + standard_a9 = "Standard_A9" + standard_b2ms = "Standard_B2ms" + standard_b2s = "Standard_B2s" + standard_b4ms = "Standard_B4ms" + standard_b8ms = "Standard_B8ms" + standard_d1 = "Standard_D1" + standard_d11 = "Standard_D11" + standard_d11_v2 = "Standard_D11_v2" + standard_d11_v2_promo = "Standard_D11_v2_Promo" + standard_d12 = "Standard_D12" + standard_d12_v2 = "Standard_D12_v2" + standard_d12_v2_promo = "Standard_D12_v2_Promo" + standard_d13 = "Standard_D13" + standard_d13_v2 = "Standard_D13_v2" + standard_d13_v2_promo = "Standard_D13_v2_Promo" + standard_d14 = "Standard_D14" + standard_d14_v2 = "Standard_D14_v2" + standard_d14_v2_promo = "Standard_D14_v2_Promo" + standard_d15_v2 = "Standard_D15_v2" + standard_d16_v3 = "Standard_D16_v3" + standard_d16s_v3 = "Standard_D16s_v3" + standard_d1_v2 = "Standard_D1_v2" + standard_d2 = "Standard_D2" + standard_d2_v2 = "Standard_D2_v2" + standard_d2_v2_promo = "Standard_D2_v2_Promo" + standard_d2_v3 = "Standard_D2_v3" + standard_d2s_v3 = "Standard_D2s_v3" + standard_d3 = "Standard_D3" + standard_d32_v3 = "Standard_D32_v3" + standard_d32s_v3 = "Standard_D32s_v3" + standard_d3_v2 = "Standard_D3_v2" + standard_d3_v2_promo = "Standard_D3_v2_Promo" + standard_d4 = "Standard_D4" + standard_d4_v2 = "Standard_D4_v2" + standard_d4_v2_promo = "Standard_D4_v2_Promo" + standard_d4_v3 = "Standard_D4_v3" + standard_d4s_v3 = "Standard_D4s_v3" + standard_d5_v2 = "Standard_D5_v2" + standard_d5_v2_promo = "Standard_D5_v2_Promo" + standard_d64_v3 = "Standard_D64_v3" + standard_d64s_v3 = "Standard_D64s_v3" + standard_d8_v3 = "Standard_D8_v3" + standard_d8s_v3 = "Standard_D8s_v3" + standard_ds1 = "Standard_DS1" + standard_ds11 = "Standard_DS11" + standard_ds11_v2 = "Standard_DS11_v2" + standard_ds11_v2_promo = "Standard_DS11_v2_Promo" + standard_ds12 = "Standard_DS12" + standard_ds12_v2 = "Standard_DS12_v2" + standard_ds12_v2_promo = "Standard_DS12_v2_Promo" + standard_ds13 = "Standard_DS13" + standard_ds13_2_v2 = "Standard_DS13-2_v2" + standard_ds13_4_v2 = "Standard_DS13-4_v2" + standard_ds13_v2 = "Standard_DS13_v2" + standard_ds13_v2_promo = "Standard_DS13_v2_Promo" + standard_ds14 = "Standard_DS14" + standard_ds14_4_v2 = "Standard_DS14-4_v2" + standard_ds14_8_v2 = "Standard_DS14-8_v2" + standard_ds14_v2 = "Standard_DS14_v2" + standard_ds14_v2_promo = "Standard_DS14_v2_Promo" + standard_ds15_v2 = "Standard_DS15_v2" + standard_ds1_v2 = "Standard_DS1_v2" + standard_ds2 = "Standard_DS2" + standard_ds2_v2 = "Standard_DS2_v2" + standard_ds2_v2_promo = "Standard_DS2_v2_Promo" + standard_ds3 = "Standard_DS3" + standard_ds3_v2 = "Standard_DS3_v2" + standard_ds3_v2_promo = "Standard_DS3_v2_Promo" + standard_ds4 = "Standard_DS4" + standard_ds4_v2 = "Standard_DS4_v2" + standard_ds4_v2_promo = "Standard_DS4_v2_Promo" + standard_ds5_v2 = "Standard_DS5_v2" + standard_ds5_v2_promo = "Standard_DS5_v2_Promo" + standard_e16_v3 = "Standard_E16_v3" + standard_e16s_v3 = "Standard_E16s_v3" + standard_e2_v3 = "Standard_E2_v3" + standard_e2s_v3 = "Standard_E2s_v3" + standard_e32_16s_v3 = "Standard_E32-16s_v3" + standard_e32_8s_v3 = "Standard_E32-8s_v3" + standard_e32_v3 = "Standard_E32_v3" + standard_e32s_v3 = "Standard_E32s_v3" + standard_e4_v3 = "Standard_E4_v3" + standard_e4s_v3 = "Standard_E4s_v3" + standard_e64_16s_v3 = "Standard_E64-16s_v3" + standard_e64_32s_v3 = "Standard_E64-32s_v3" + standard_e64_v3 = "Standard_E64_v3" + standard_e64s_v3 = "Standard_E64s_v3" + standard_e8_v3 = "Standard_E8_v3" + standard_e8s_v3 = "Standard_E8s_v3" + standard_f1 = "Standard_F1" + standard_f16 = "Standard_F16" + standard_f16s = "Standard_F16s" + standard_f16s_v2 = "Standard_F16s_v2" + standard_f1s = "Standard_F1s" + standard_f2 = "Standard_F2" + standard_f2s = "Standard_F2s" + standard_f2s_v2 = "Standard_F2s_v2" + standard_f32s_v2 = "Standard_F32s_v2" + standard_f4 = "Standard_F4" + standard_f4s = "Standard_F4s" + standard_f4s_v2 = "Standard_F4s_v2" + standard_f64s_v2 = "Standard_F64s_v2" + standard_f72s_v2 = "Standard_F72s_v2" + standard_f8 = "Standard_F8" + standard_f8s = "Standard_F8s" + standard_f8s_v2 = "Standard_F8s_v2" + standard_g1 = "Standard_G1" + standard_g2 = "Standard_G2" + standard_g3 = "Standard_G3" + standard_g4 = "Standard_G4" + standard_g5 = "Standard_G5" + standard_gs1 = "Standard_GS1" + standard_gs2 = "Standard_GS2" + standard_gs3 = "Standard_GS3" + standard_gs4 = "Standard_GS4" + standard_gs4_4 = "Standard_GS4-4" + standard_gs4_8 = "Standard_GS4-8" + standard_gs5 = "Standard_GS5" + standard_gs5_16 = "Standard_GS5-16" + standard_gs5_8 = "Standard_GS5-8" + standard_h16 = "Standard_H16" + standard_h16m = "Standard_H16m" + standard_h16mr = "Standard_H16mr" + standard_h16r = "Standard_H16r" + standard_h8 = "Standard_H8" + standard_h8m = "Standard_H8m" + standard_l16s = "Standard_L16s" + standard_l32s = "Standard_L32s" + standard_l4s = "Standard_L4s" + standard_l8s = "Standard_L8s" + standard_m128_32ms = "Standard_M128-32ms" + standard_m128_64ms = "Standard_M128-64ms" + standard_m128ms = "Standard_M128ms" + standard_m128s = "Standard_M128s" + standard_m64_16ms = "Standard_M64-16ms" + standard_m64_32ms = "Standard_M64-32ms" + standard_m64ms = "Standard_M64ms" + standard_m64s = "Standard_M64s" + standard_nc12 = "Standard_NC12" + standard_nc12s_v2 = "Standard_NC12s_v2" + standard_nc12s_v3 = "Standard_NC12s_v3" + standard_nc24 = "Standard_NC24" + standard_nc24r = "Standard_NC24r" + standard_nc24rs_v2 = "Standard_NC24rs_v2" + standard_nc24rs_v3 = "Standard_NC24rs_v3" + standard_nc24s_v2 = "Standard_NC24s_v2" + standard_nc24s_v3 = "Standard_NC24s_v3" + standard_nc6 = "Standard_NC6" + standard_nc6s_v2 = "Standard_NC6s_v2" + standard_nc6s_v3 = "Standard_NC6s_v3" + standard_nd12s = "Standard_ND12s" + standard_nd24rs = "Standard_ND24rs" + standard_nd24s = "Standard_ND24s" + standard_nd6s = "Standard_ND6s" + standard_nv12 = "Standard_NV12" + standard_nv24 = "Standard_NV24" + standard_nv6 = "Standard_NV6" + + +class OSDiskType(str, Enum): + + managed = "Managed" + ephemeral = "Ephemeral" + + +class KubeletDiskType(str, Enum): + + os = "OS" + temporary = "Temporary" + + +class OSType(str, Enum): + + linux = "Linux" + windows = "Windows" + + +class OSSKU(str, Enum): + + ubuntu = "Ubuntu" + cbl_mariner = "CBLMariner" + + +class AgentPoolType(str, Enum): + + virtual_machine_scale_sets = "VirtualMachineScaleSets" + availability_set = "AvailabilitySet" + + +class AgentPoolMode(str, Enum): + + system = "System" + user = "User" + + +class Code(str, Enum): + + running = "Running" + stopped = "Stopped" + + +class ScaleSetPriority(str, Enum): + + spot = "Spot" + regular = "Regular" + + +class ScaleSetEvictionPolicy(str, Enum): + + delete = "Delete" + deallocate = "Deallocate" + + +class GPUInstanceProfile(str, Enum): + + mig1g = "MIG1g" + mig2g = "MIG2g" + mig3g = "MIG3g" + mig4g = "MIG4g" + mig7g = "MIG7g" + + +class LicenseType(str, Enum): + + none = "None" + windows_server = "Windows_Server" + + +class NetworkPlugin(str, Enum): + + azure = "azure" + kubenet = "kubenet" + + +class NetworkPolicy(str, Enum): + + calico = "calico" + azure = "azure" + + +class NetworkMode(str, Enum): + + transparent = "transparent" + bridge = "bridge" + + +class OutboundType(str, Enum): + + load_balancer = "loadBalancer" + user_defined_routing = "userDefinedRouting" + + +class LoadBalancerSku(str, Enum): + + standard = "standard" + basic = "basic" + + +class CreatedByType(str, Enum): + + user = "User" + application = "Application" + managed_identity = "ManagedIdentity" + key = "Key" + + +class WeekDay(str, Enum): + + sunday = "Sunday" + monday = "Monday" + tuesday = "Tuesday" + wednesday = "Wednesday" + thursday = "Thursday" + friday = "Friday" + saturday = "Saturday" + + +class ManagedClusterPodIdentityProvisioningState(str, Enum): + + assigned = "Assigned" + updating = "Updating" + deleting = "Deleting" + failed = "Failed" + + +class UpgradeChannel(str, Enum): + + rapid = "rapid" + stable = "stable" + patch = "patch" + node_image = "node-image" + none = "none" + + +class Expander(str, Enum): + + least_waste = "least-waste" + most_pods = "most-pods" + priority = "priority" + random = "random" + + +class ResourceIdentityType(str, Enum): + + system_assigned = "SystemAssigned" + user_assigned = "UserAssigned" + none = "None" + + +class ManagedClusterSKUName(str, Enum): + + basic = "Basic" + + +class ManagedClusterSKUTier(str, Enum): + + paid = "Paid" + free = "Free" + + +class ExtendedLocationTypes(str, Enum): + + edge_zone = "EdgeZone" + + +class PrivateEndpointConnectionProvisioningState(str, Enum): + + succeeded = "Succeeded" + creating = "Creating" + deleting = "Deleting" + failed = "Failed" + + +class ConnectionStatus(str, Enum): + + pending = "Pending" + approved = "Approved" + rejected = "Rejected" + disconnected = "Disconnected" diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/models/_models.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/models/_models.py new file mode 100644 index 00000000000..fb6135bb98b --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/models/_models.py @@ -0,0 +1,3300 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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 SubResource(Model): + """Reference to another subresource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :vartype name: str + :ivar type: Resource type + :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(SubResource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + + +class AgentPool(SubResource): + """Agent Pool. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param count: Number of agents (VMs) to host docker containers. Allowed + values must be in the range of 0 to 1000 (inclusive) for user pools and in + the range of 1 to 1000 (inclusive) for system pools. The default value is + 1. + :type count: int + :param vm_size: Size of agent VMs. + :type vm_size: str + :param os_disk_size_gb: OS Disk Size in GB to be used to specify the disk + size for every machine in this master/agent pool. If you specify 0, it + will apply the default osDisk size according to the vmSize specified. + :type os_disk_size_gb: int + :param os_disk_type: OS disk type to be used for machines in a given agent + pool. Allowed values are 'Ephemeral' and 'Managed'. If unspecified, + defaults to 'Ephemeral' when the VM supports ephemeral OS and has a cache + disk larger than the requested OSDiskSizeGB. Otherwise, defaults to + 'Managed'. May not be changed after creation. Possible values include: + 'Managed', 'Ephemeral' + :type os_disk_type: str or + ~azure.mgmt.containerservice.v2021_05_01.models.OSDiskType + :param kubelet_disk_type: KubeletDiskType determines the placement of + emptyDir volumes, container runtime data root, and Kubelet ephemeral + storage. Currently allows one value, OS, resulting in Kubelet using the OS + disk for data. Possible values include: 'OS', 'Temporary' + :type kubelet_disk_type: str or + ~azure.mgmt.containerservice.v2021_05_01.models.KubeletDiskType + :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet + identifier for nodes and maybe pods + :type vnet_subnet_id: str + :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier + for pods. + :type pod_subnet_id: str + :param max_pods: Maximum number of pods that can run on a node. + :type max_pods: int + :param os_type: OsType to be used to specify os type. Choose from Linux + and Windows. Default to Linux. Possible values include: 'Linux', + 'Windows'. Default value: "Linux" . + :type os_type: str or + ~azure.mgmt.containerservice.v2021_05_01.models.OSType + :param os_sku: OsSKU to be used to specify os sku. Choose from + Ubuntu(default) and CBLMariner for Linux OSType. Not applicable to Windows + OSType. Possible values include: 'Ubuntu', 'CBLMariner' + :type os_sku: str or ~azure.mgmt.containerservice.v2021_05_01.models.OSSKU + :param max_count: Maximum number of nodes for auto-scaling + :type max_count: int + :param min_count: Minimum number of nodes for auto-scaling + :type min_count: int + :param enable_auto_scaling: Whether to enable auto-scaler + :type enable_auto_scaling: bool + :param agent_pool_type: AgentPoolType represents types of an agent pool. + Possible values include: 'VirtualMachineScaleSets', 'AvailabilitySet' + :type agent_pool_type: str or + ~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolType + :param mode: AgentPoolMode represents mode of an agent pool. Possible + values include: 'System', 'User' + :type mode: str or + ~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolMode + :param orchestrator_version: Version of orchestrator specified when + creating the managed cluster. + :type orchestrator_version: str + :ivar node_image_version: Version of node image + :vartype node_image_version: str + :param upgrade_settings: Settings for upgrading the agentpool + :type upgrade_settings: + ~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolUpgradeSettings + :ivar provisioning_state: The current deployment or provisioning state, + which only appears in the response. + :vartype provisioning_state: str + :ivar power_state: Describes whether the Agent Pool is Running or Stopped + :vartype power_state: + ~azure.mgmt.containerservice.v2021_05_01.models.PowerState + :param availability_zones: Availability zones for nodes. Must use + VirtualMachineScaleSets AgentPoolType. + :type availability_zones: list[str] + :param enable_node_public_ip: Enable public IP for nodes + :type enable_node_public_ip: bool + :param node_public_ip_prefix_id: Public IP Prefix ID. VM nodes use IPs + assigned from this Public IP Prefix. + :type node_public_ip_prefix_id: str + :param scale_set_priority: ScaleSetPriority to be used to specify virtual + machine scale set priority. Default to regular. Possible values include: + 'Spot', 'Regular'. Default value: "Regular" . + :type scale_set_priority: str or + ~azure.mgmt.containerservice.v2021_05_01.models.ScaleSetPriority + :param scale_set_eviction_policy: ScaleSetEvictionPolicy to be used to + specify eviction policy for Spot virtual machine scale set. Default to + Delete. Possible values include: 'Delete', 'Deallocate'. Default value: + "Delete" . + :type scale_set_eviction_policy: str or + ~azure.mgmt.containerservice.v2021_05_01.models.ScaleSetEvictionPolicy + :param spot_max_price: SpotMaxPrice to be used to specify the maximum + price you are willing to pay in US Dollars. Possible values are any + decimal value greater than zero or -1 which indicates default price to be + up-to on-demand. + :type spot_max_price: float + :param tags: Agent pool tags to be persisted on the agent pool virtual + machine scale set. + :type tags: dict[str, str] + :param node_labels: Agent pool node labels to be persisted across all + nodes in agent pool. + :type node_labels: dict[str, str] + :param node_taints: Taints added to new nodes during node pool create and + scale. For example, key=value:NoSchedule. + :type node_taints: list[str] + :param proximity_placement_group_id: The ID for Proximity Placement Group. + :type proximity_placement_group_id: str + :param kubelet_config: KubeletConfig specifies the configuration of + kubelet on agent nodes. + :type kubelet_config: + ~azure.mgmt.containerservice.v2021_05_01.models.KubeletConfig + :param linux_os_config: LinuxOSConfig specifies the OS configuration of + linux agent nodes. + :type linux_os_config: + ~azure.mgmt.containerservice.v2021_05_01.models.LinuxOSConfig + :param enable_encryption_at_host: Whether to enable EncryptionAtHost + :type enable_encryption_at_host: bool + :param enable_ultra_ssd: Whether to enable UltraSSD + :type enable_ultra_ssd: bool + :param enable_fips: Whether to use FIPS enabled OS + :type enable_fips: bool + :param gpu_instance_profile: GPUInstanceProfile to be used to specify GPU + MIG instance profile for supported GPU VM SKU. Supported values are MIG1g, + MIG2g, MIG3g, MIG4g and MIG7g. Possible values include: 'MIG1g', 'MIG2g', + 'MIG3g', 'MIG4g', 'MIG7g' + :type gpu_instance_profile: str or + ~azure.mgmt.containerservice.v2021_05_01.models.GPUInstanceProfile + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'node_image_version': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'power_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'count': {'key': 'properties.count', 'type': 'int'}, + 'vm_size': {'key': 'properties.vmSize', 'type': 'str'}, + 'os_disk_size_gb': {'key': 'properties.osDiskSizeGB', 'type': 'int'}, + 'os_disk_type': {'key': 'properties.osDiskType', 'type': 'str'}, + 'kubelet_disk_type': {'key': 'properties.kubeletDiskType', 'type': 'str'}, + 'vnet_subnet_id': {'key': 'properties.vnetSubnetID', 'type': 'str'}, + 'pod_subnet_id': {'key': 'properties.podSubnetID', 'type': 'str'}, + 'max_pods': {'key': 'properties.maxPods', 'type': 'int'}, + 'os_type': {'key': 'properties.osType', 'type': 'str'}, + 'os_sku': {'key': 'properties.osSKU', 'type': 'str'}, + 'max_count': {'key': 'properties.maxCount', 'type': 'int'}, + 'min_count': {'key': 'properties.minCount', 'type': 'int'}, + 'enable_auto_scaling': {'key': 'properties.enableAutoScaling', 'type': 'bool'}, + 'agent_pool_type': {'key': 'properties.type', 'type': 'str'}, + 'mode': {'key': 'properties.mode', 'type': 'str'}, + 'orchestrator_version': {'key': 'properties.orchestratorVersion', 'type': 'str'}, + 'node_image_version': {'key': 'properties.nodeImageVersion', 'type': 'str'}, + 'upgrade_settings': {'key': 'properties.upgradeSettings', 'type': 'AgentPoolUpgradeSettings'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'power_state': {'key': 'properties.powerState', 'type': 'PowerState'}, + 'availability_zones': {'key': 'properties.availabilityZones', 'type': '[str]'}, + 'enable_node_public_ip': {'key': 'properties.enableNodePublicIP', 'type': 'bool'}, + 'node_public_ip_prefix_id': {'key': 'properties.nodePublicIPPrefixID', 'type': 'str'}, + 'scale_set_priority': {'key': 'properties.scaleSetPriority', 'type': 'str'}, + 'scale_set_eviction_policy': {'key': 'properties.scaleSetEvictionPolicy', 'type': 'str'}, + 'spot_max_price': {'key': 'properties.spotMaxPrice', 'type': 'float'}, + 'tags': {'key': 'properties.tags', 'type': '{str}'}, + 'node_labels': {'key': 'properties.nodeLabels', 'type': '{str}'}, + 'node_taints': {'key': 'properties.nodeTaints', 'type': '[str]'}, + 'proximity_placement_group_id': {'key': 'properties.proximityPlacementGroupID', 'type': 'str'}, + 'kubelet_config': {'key': 'properties.kubeletConfig', 'type': 'KubeletConfig'}, + 'linux_os_config': {'key': 'properties.linuxOSConfig', 'type': 'LinuxOSConfig'}, + 'enable_encryption_at_host': {'key': 'properties.enableEncryptionAtHost', 'type': 'bool'}, + 'enable_ultra_ssd': {'key': 'properties.enableUltraSSD', 'type': 'bool'}, + 'enable_fips': {'key': 'properties.enableFIPS', 'type': 'bool'}, + 'gpu_instance_profile': {'key': 'properties.gpuInstanceProfile', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AgentPool, self).__init__(**kwargs) + self.count = kwargs.get('count', None) + self.vm_size = kwargs.get('vm_size', None) + self.os_disk_size_gb = kwargs.get('os_disk_size_gb', None) + self.os_disk_type = kwargs.get('os_disk_type', None) + self.kubelet_disk_type = kwargs.get('kubelet_disk_type', None) + self.vnet_subnet_id = kwargs.get('vnet_subnet_id', None) + self.pod_subnet_id = kwargs.get('pod_subnet_id', None) + self.max_pods = kwargs.get('max_pods', None) + self.os_type = kwargs.get('os_type', "Linux") + self.os_sku = kwargs.get('os_sku', None) + self.max_count = kwargs.get('max_count', None) + self.min_count = kwargs.get('min_count', None) + self.enable_auto_scaling = kwargs.get('enable_auto_scaling', None) + self.agent_pool_type = kwargs.get('agent_pool_type', None) + self.mode = kwargs.get('mode', None) + self.orchestrator_version = kwargs.get('orchestrator_version', None) + self.node_image_version = None + self.upgrade_settings = kwargs.get('upgrade_settings', None) + self.provisioning_state = None + self.power_state = None + self.availability_zones = kwargs.get('availability_zones', None) + self.enable_node_public_ip = kwargs.get('enable_node_public_ip', None) + self.node_public_ip_prefix_id = kwargs.get('node_public_ip_prefix_id', None) + self.scale_set_priority = kwargs.get('scale_set_priority', "Regular") + self.scale_set_eviction_policy = kwargs.get('scale_set_eviction_policy', "Delete") + self.spot_max_price = kwargs.get('spot_max_price', None) + self.tags = kwargs.get('tags', None) + self.node_labels = kwargs.get('node_labels', None) + self.node_taints = kwargs.get('node_taints', None) + self.proximity_placement_group_id = kwargs.get('proximity_placement_group_id', None) + self.kubelet_config = kwargs.get('kubelet_config', None) + self.linux_os_config = kwargs.get('linux_os_config', None) + self.enable_encryption_at_host = kwargs.get('enable_encryption_at_host', None) + self.enable_ultra_ssd = kwargs.get('enable_ultra_ssd', None) + self.enable_fips = kwargs.get('enable_fips', None) + self.gpu_instance_profile = kwargs.get('gpu_instance_profile', None) + + +class AgentPoolAvailableVersions(Model): + """The list of available versions for an agent pool. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Id of the agent pool available versions. + :vartype id: str + :ivar name: Name of the agent pool available versions. + :vartype name: str + :ivar type: Type of the agent pool available versions. + :vartype type: str + :param agent_pool_versions: List of versions available for agent pool. + :type agent_pool_versions: + list[~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem] + """ + + _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'}, + 'agent_pool_versions': {'key': 'properties.agentPoolVersions', 'type': '[AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem]'}, + } + + def __init__(self, **kwargs): + super(AgentPoolAvailableVersions, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.agent_pool_versions = kwargs.get('agent_pool_versions', None) + + +class AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem(Model): + """AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem. + + :param default: Whether this version is the default agent pool version. + :type default: bool + :param kubernetes_version: Kubernetes version (major, minor, patch). + :type kubernetes_version: str + :param is_preview: Whether Kubernetes version is currently in preview. + :type is_preview: bool + """ + + _attribute_map = { + 'default': {'key': 'default', 'type': 'bool'}, + 'kubernetes_version': {'key': 'kubernetesVersion', 'type': 'str'}, + 'is_preview': {'key': 'isPreview', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem, self).__init__(**kwargs) + self.default = kwargs.get('default', None) + self.kubernetes_version = kwargs.get('kubernetes_version', None) + self.is_preview = kwargs.get('is_preview', None) + + +class AgentPoolUpgradeProfile(Model): + """The list of available upgrades for an agent pool. + + 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: Id of the agent pool upgrade profile. + :vartype id: str + :ivar name: Name of the agent pool upgrade profile. + :vartype name: str + :ivar type: Type of the agent pool upgrade profile. + :vartype type: str + :param kubernetes_version: Required. Kubernetes version (major, minor, + patch). + :type kubernetes_version: str + :param os_type: Required. OsType to be used to specify os type. Choose + from Linux and Windows. Default to Linux. Possible values include: + 'Linux', 'Windows'. Default value: "Linux" . + :type os_type: str or + ~azure.mgmt.containerservice.v2021_05_01.models.OSType + :param upgrades: List of orchestrator types and versions available for + upgrade. + :type upgrades: + list[~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolUpgradeProfilePropertiesUpgradesItem] + :param latest_node_image_version: LatestNodeImageVersion is the latest AKS + supported node image version. + :type latest_node_image_version: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kubernetes_version': {'required': True}, + 'os_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kubernetes_version': {'key': 'properties.kubernetesVersion', 'type': 'str'}, + 'os_type': {'key': 'properties.osType', 'type': 'str'}, + 'upgrades': {'key': 'properties.upgrades', 'type': '[AgentPoolUpgradeProfilePropertiesUpgradesItem]'}, + 'latest_node_image_version': {'key': 'properties.latestNodeImageVersion', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AgentPoolUpgradeProfile, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.kubernetes_version = kwargs.get('kubernetes_version', None) + self.os_type = kwargs.get('os_type', "Linux") + self.upgrades = kwargs.get('upgrades', None) + self.latest_node_image_version = kwargs.get('latest_node_image_version', None) + + +class AgentPoolUpgradeProfilePropertiesUpgradesItem(Model): + """AgentPoolUpgradeProfilePropertiesUpgradesItem. + + :param kubernetes_version: Kubernetes version (major, minor, patch). + :type kubernetes_version: str + :param is_preview: Whether Kubernetes version is currently in preview. + :type is_preview: bool + """ + + _attribute_map = { + 'kubernetes_version': {'key': 'kubernetesVersion', 'type': 'str'}, + 'is_preview': {'key': 'isPreview', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(AgentPoolUpgradeProfilePropertiesUpgradesItem, self).__init__(**kwargs) + self.kubernetes_version = kwargs.get('kubernetes_version', None) + self.is_preview = kwargs.get('is_preview', None) + + +class AgentPoolUpgradeSettings(Model): + """Settings for upgrading an agentpool. + + :param max_surge: Count or percentage of additional nodes to be added + during upgrade. If empty uses AKS default + :type max_surge: str + """ + + _attribute_map = { + 'max_surge': {'key': 'maxSurge', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AgentPoolUpgradeSettings, self).__init__(**kwargs) + self.max_surge = kwargs.get('max_surge', None) + + +class CloudError(Model): + """An error response from the Container service. + + :param error: Details about the error. + :type error: + ~azure.mgmt.containerservice.v2021_05_01.models.CloudErrorBody + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'CloudErrorBody'}, + } + + def __init__(self, **kwargs): + super(CloudError, self).__init__(**kwargs) + self.error = kwargs.get('error', None) + + +class CloudErrorException(HttpOperationError): + """Server responsed with exception of type: 'CloudError'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(CloudErrorException, self).__init__(deserialize, response, 'CloudError', *args) + + +class CloudErrorBody(Model): + """An error response from the Container service. + + :param code: An identifier for the error. Codes are invariant and are + intended to be consumed programmatically. + :type code: str + :param message: A message describing the error, intended to be suitable + for display in a user interface. + :type message: str + :param target: The target of the particular error. For example, the name + of the property in error. + :type target: str + :param details: A list of additional details about the error. + :type details: + list[~azure.mgmt.containerservice.v2021_05_01.models.CloudErrorBody] + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[CloudErrorBody]'}, + } + + def __init__(self, **kwargs): + super(CloudErrorBody, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + self.target = kwargs.get('target', None) + self.details = kwargs.get('details', None) + + +class ContainerServiceDiagnosticsProfile(Model): + """Profile for diagnostics on the container service cluster. + + All required parameters must be populated in order to send to Azure. + + :param vm_diagnostics: Required. Profile for diagnostics on the container + service VMs. + :type vm_diagnostics: + ~azure.mgmt.containerservice.v2021_05_01.models.ContainerServiceVMDiagnostics + """ + + _validation = { + 'vm_diagnostics': {'required': True}, + } + + _attribute_map = { + 'vm_diagnostics': {'key': 'vmDiagnostics', 'type': 'ContainerServiceVMDiagnostics'}, + } + + def __init__(self, **kwargs): + super(ContainerServiceDiagnosticsProfile, self).__init__(**kwargs) + self.vm_diagnostics = kwargs.get('vm_diagnostics', None) + + +class ContainerServiceLinuxProfile(Model): + """Profile for Linux VMs in the container service cluster. + + All required parameters must be populated in order to send to Azure. + + :param admin_username: Required. The administrator username to use for + Linux VMs. + :type admin_username: str + :param ssh: Required. SSH configuration for Linux-based VMs running on + Azure. + :type ssh: + ~azure.mgmt.containerservice.v2021_05_01.models.ContainerServiceSshConfiguration + """ + + _validation = { + 'admin_username': {'required': True, 'pattern': r'^[A-Za-z][-A-Za-z0-9_]*$'}, + 'ssh': {'required': True}, + } + + _attribute_map = { + 'admin_username': {'key': 'adminUsername', 'type': 'str'}, + 'ssh': {'key': 'ssh', 'type': 'ContainerServiceSshConfiguration'}, + } + + def __init__(self, **kwargs): + super(ContainerServiceLinuxProfile, self).__init__(**kwargs) + self.admin_username = kwargs.get('admin_username', None) + self.ssh = kwargs.get('ssh', None) + + +class ContainerServiceMasterProfile(Model): + """Profile for the container service master. + + 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 count: Number of masters (VMs) in the container service cluster. + Allowed values are 1, 3, and 5. The default value is 1. Default value: 1 . + :type count: int + :param dns_prefix: Required. DNS prefix to be used to create the FQDN for + the master pool. + :type dns_prefix: str + :param vm_size: Required. Size of agent VMs. Possible values include: + 'Standard_A1', 'Standard_A10', 'Standard_A11', 'Standard_A1_v2', + 'Standard_A2', 'Standard_A2_v2', 'Standard_A2m_v2', 'Standard_A3', + 'Standard_A4', 'Standard_A4_v2', 'Standard_A4m_v2', 'Standard_A5', + 'Standard_A6', 'Standard_A7', 'Standard_A8', 'Standard_A8_v2', + 'Standard_A8m_v2', 'Standard_A9', 'Standard_B2ms', 'Standard_B2s', + 'Standard_B4ms', 'Standard_B8ms', 'Standard_D1', 'Standard_D11', + 'Standard_D11_v2', 'Standard_D11_v2_Promo', 'Standard_D12', + 'Standard_D12_v2', 'Standard_D12_v2_Promo', 'Standard_D13', + 'Standard_D13_v2', 'Standard_D13_v2_Promo', 'Standard_D14', + 'Standard_D14_v2', 'Standard_D14_v2_Promo', 'Standard_D15_v2', + 'Standard_D16_v3', 'Standard_D16s_v3', 'Standard_D1_v2', 'Standard_D2', + 'Standard_D2_v2', 'Standard_D2_v2_Promo', 'Standard_D2_v3', + 'Standard_D2s_v3', 'Standard_D3', 'Standard_D32_v3', 'Standard_D32s_v3', + 'Standard_D3_v2', 'Standard_D3_v2_Promo', 'Standard_D4', 'Standard_D4_v2', + 'Standard_D4_v2_Promo', 'Standard_D4_v3', 'Standard_D4s_v3', + 'Standard_D5_v2', 'Standard_D5_v2_Promo', 'Standard_D64_v3', + 'Standard_D64s_v3', 'Standard_D8_v3', 'Standard_D8s_v3', 'Standard_DS1', + 'Standard_DS11', 'Standard_DS11_v2', 'Standard_DS11_v2_Promo', + 'Standard_DS12', 'Standard_DS12_v2', 'Standard_DS12_v2_Promo', + 'Standard_DS13', 'Standard_DS13-2_v2', 'Standard_DS13-4_v2', + 'Standard_DS13_v2', 'Standard_DS13_v2_Promo', 'Standard_DS14', + 'Standard_DS14-4_v2', 'Standard_DS14-8_v2', 'Standard_DS14_v2', + 'Standard_DS14_v2_Promo', 'Standard_DS15_v2', 'Standard_DS1_v2', + 'Standard_DS2', 'Standard_DS2_v2', 'Standard_DS2_v2_Promo', + 'Standard_DS3', 'Standard_DS3_v2', 'Standard_DS3_v2_Promo', + 'Standard_DS4', 'Standard_DS4_v2', 'Standard_DS4_v2_Promo', + 'Standard_DS5_v2', 'Standard_DS5_v2_Promo', 'Standard_E16_v3', + 'Standard_E16s_v3', 'Standard_E2_v3', 'Standard_E2s_v3', + 'Standard_E32-16s_v3', 'Standard_E32-8s_v3', 'Standard_E32_v3', + 'Standard_E32s_v3', 'Standard_E4_v3', 'Standard_E4s_v3', + 'Standard_E64-16s_v3', 'Standard_E64-32s_v3', 'Standard_E64_v3', + 'Standard_E64s_v3', 'Standard_E8_v3', 'Standard_E8s_v3', 'Standard_F1', + 'Standard_F16', 'Standard_F16s', 'Standard_F16s_v2', 'Standard_F1s', + 'Standard_F2', 'Standard_F2s', 'Standard_F2s_v2', 'Standard_F32s_v2', + 'Standard_F4', 'Standard_F4s', 'Standard_F4s_v2', 'Standard_F64s_v2', + 'Standard_F72s_v2', 'Standard_F8', 'Standard_F8s', 'Standard_F8s_v2', + 'Standard_G1', 'Standard_G2', 'Standard_G3', 'Standard_G4', 'Standard_G5', + 'Standard_GS1', 'Standard_GS2', 'Standard_GS3', 'Standard_GS4', + 'Standard_GS4-4', 'Standard_GS4-8', 'Standard_GS5', 'Standard_GS5-16', + 'Standard_GS5-8', 'Standard_H16', 'Standard_H16m', 'Standard_H16mr', + 'Standard_H16r', 'Standard_H8', 'Standard_H8m', 'Standard_L16s', + 'Standard_L32s', 'Standard_L4s', 'Standard_L8s', 'Standard_M128-32ms', + 'Standard_M128-64ms', 'Standard_M128ms', 'Standard_M128s', + 'Standard_M64-16ms', 'Standard_M64-32ms', 'Standard_M64ms', + 'Standard_M64s', 'Standard_NC12', 'Standard_NC12s_v2', + 'Standard_NC12s_v3', 'Standard_NC24', 'Standard_NC24r', + 'Standard_NC24rs_v2', 'Standard_NC24rs_v3', 'Standard_NC24s_v2', + 'Standard_NC24s_v3', 'Standard_NC6', 'Standard_NC6s_v2', + 'Standard_NC6s_v3', 'Standard_ND12s', 'Standard_ND24rs', 'Standard_ND24s', + 'Standard_ND6s', 'Standard_NV12', 'Standard_NV24', 'Standard_NV6' + :type vm_size: str or + ~azure.mgmt.containerservice.v2021_05_01.models.ContainerServiceVMSizeTypes + :param os_disk_size_gb: OS Disk Size in GB to be used to specify the disk + size for every machine in this master/agent pool. If you specify 0, it + will apply the default osDisk size according to the vmSize specified. + :type os_disk_size_gb: int + :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet + identifier. + :type vnet_subnet_id: str + :param first_consecutive_static_ip: FirstConsecutiveStaticIP used to + specify the first static ip of masters. Default value: "10.240.255.5" . + :type first_consecutive_static_ip: str + :param storage_profile: Storage profile specifies what kind of storage + used. Choose from StorageAccount and ManagedDisks. Leave it empty, we will + choose for you based on the orchestrator choice. Possible values include: + 'StorageAccount', 'ManagedDisks' + :type storage_profile: str or + ~azure.mgmt.containerservice.v2021_05_01.models.ContainerServiceStorageProfileTypes + :ivar fqdn: FQDN for the master pool. + :vartype fqdn: str + """ + + _validation = { + 'dns_prefix': {'required': True}, + 'vm_size': {'required': True}, + 'fqdn': {'readonly': True}, + } + + _attribute_map = { + 'count': {'key': 'count', 'type': 'int'}, + 'dns_prefix': {'key': 'dnsPrefix', 'type': 'str'}, + 'vm_size': {'key': 'vmSize', 'type': 'str'}, + 'os_disk_size_gb': {'key': 'osDiskSizeGB', 'type': 'int'}, + 'vnet_subnet_id': {'key': 'vnetSubnetID', 'type': 'str'}, + 'first_consecutive_static_ip': {'key': 'firstConsecutiveStaticIP', 'type': 'str'}, + 'storage_profile': {'key': 'storageProfile', 'type': 'str'}, + 'fqdn': {'key': 'fqdn', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ContainerServiceMasterProfile, self).__init__(**kwargs) + self.count = kwargs.get('count', 1) + self.dns_prefix = kwargs.get('dns_prefix', None) + self.vm_size = kwargs.get('vm_size', None) + self.os_disk_size_gb = kwargs.get('os_disk_size_gb', None) + self.vnet_subnet_id = kwargs.get('vnet_subnet_id', None) + self.first_consecutive_static_ip = kwargs.get('first_consecutive_static_ip', "10.240.255.5") + self.storage_profile = kwargs.get('storage_profile', None) + self.fqdn = None + + +class ContainerServiceNetworkProfile(Model): + """Profile of network configuration. + + :param network_plugin: Network plugin used for building Kubernetes + network. Possible values include: 'azure', 'kubenet'. Default value: + "kubenet" . + :type network_plugin: str or + ~azure.mgmt.containerservice.v2021_05_01.models.NetworkPlugin + :param network_policy: Network policy used for building Kubernetes + network. Possible values include: 'calico', 'azure' + :type network_policy: str or + ~azure.mgmt.containerservice.v2021_05_01.models.NetworkPolicy + :param network_mode: Network mode used for building Kubernetes network. + Possible values include: 'transparent', 'bridge' + :type network_mode: str or + ~azure.mgmt.containerservice.v2021_05_01.models.NetworkMode + :param pod_cidr: A CIDR notation IP range from which to assign pod IPs + when kubenet is used. Default value: "10.244.0.0/16" . + :type pod_cidr: str + :param service_cidr: A CIDR notation IP range from which to assign service + cluster IPs. It must not overlap with any Subnet IP ranges. Default value: + "10.0.0.0/16" . + :type service_cidr: str + :param dns_service_ip: An IP address assigned to the Kubernetes DNS + service. It must be within the Kubernetes service address range specified + in serviceCidr. Default value: "10.0.0.10" . + :type dns_service_ip: str + :param docker_bridge_cidr: A CIDR notation IP range assigned to the Docker + bridge network. It must not overlap with any Subnet IP ranges or the + Kubernetes service address range. Default value: "172.17.0.1/16" . + :type docker_bridge_cidr: str + :param outbound_type: The outbound (egress) routing method. Possible + values include: 'loadBalancer', 'userDefinedRouting'. Default value: + "loadBalancer" . + :type outbound_type: str or + ~azure.mgmt.containerservice.v2021_05_01.models.OutboundType + :param load_balancer_sku: The load balancer sku for the managed cluster. + Possible values include: 'standard', 'basic' + :type load_balancer_sku: str or + ~azure.mgmt.containerservice.v2021_05_01.models.LoadBalancerSku + :param load_balancer_profile: Profile of the cluster load balancer. + :type load_balancer_profile: + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterLoadBalancerProfile + """ + + _validation = { + 'pod_cidr': {'pattern': r'^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$'}, + 'service_cidr': {'pattern': r'^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$'}, + 'dns_service_ip': {'pattern': r'^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$'}, + 'docker_bridge_cidr': {'pattern': r'^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$'}, + } + + _attribute_map = { + 'network_plugin': {'key': 'networkPlugin', 'type': 'str'}, + 'network_policy': {'key': 'networkPolicy', 'type': 'str'}, + 'network_mode': {'key': 'networkMode', 'type': 'str'}, + 'pod_cidr': {'key': 'podCidr', 'type': 'str'}, + 'service_cidr': {'key': 'serviceCidr', 'type': 'str'}, + 'dns_service_ip': {'key': 'dnsServiceIP', 'type': 'str'}, + 'docker_bridge_cidr': {'key': 'dockerBridgeCidr', 'type': 'str'}, + 'outbound_type': {'key': 'outboundType', 'type': 'str'}, + 'load_balancer_sku': {'key': 'loadBalancerSku', 'type': 'str'}, + 'load_balancer_profile': {'key': 'loadBalancerProfile', 'type': 'ManagedClusterLoadBalancerProfile'}, + } + + def __init__(self, **kwargs): + super(ContainerServiceNetworkProfile, self).__init__(**kwargs) + self.network_plugin = kwargs.get('network_plugin', "kubenet") + self.network_policy = kwargs.get('network_policy', None) + self.network_mode = kwargs.get('network_mode', None) + self.pod_cidr = kwargs.get('pod_cidr', "10.244.0.0/16") + self.service_cidr = kwargs.get('service_cidr', "10.0.0.0/16") + self.dns_service_ip = kwargs.get('dns_service_ip', "10.0.0.10") + self.docker_bridge_cidr = kwargs.get('docker_bridge_cidr', "172.17.0.1/16") + self.outbound_type = kwargs.get('outbound_type', "loadBalancer") + self.load_balancer_sku = kwargs.get('load_balancer_sku', None) + self.load_balancer_profile = kwargs.get('load_balancer_profile', None) + + +class ContainerServiceSshConfiguration(Model): + """SSH configuration for Linux-based VMs running on Azure. + + All required parameters must be populated in order to send to Azure. + + :param public_keys: Required. The list of SSH public keys used to + authenticate with Linux-based VMs. Only expect one key specified. + :type public_keys: + list[~azure.mgmt.containerservice.v2021_05_01.models.ContainerServiceSshPublicKey] + """ + + _validation = { + 'public_keys': {'required': True}, + } + + _attribute_map = { + 'public_keys': {'key': 'publicKeys', 'type': '[ContainerServiceSshPublicKey]'}, + } + + def __init__(self, **kwargs): + super(ContainerServiceSshConfiguration, self).__init__(**kwargs) + self.public_keys = kwargs.get('public_keys', None) + + +class ContainerServiceSshPublicKey(Model): + """Contains information about SSH certificate public key data. + + All required parameters must be populated in order to send to Azure. + + :param key_data: Required. Certificate public key used to authenticate + with VMs through SSH. The certificate must be in PEM format with or + without headers. + :type key_data: str + """ + + _validation = { + 'key_data': {'required': True}, + } + + _attribute_map = { + 'key_data': {'key': 'keyData', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ContainerServiceSshPublicKey, self).__init__(**kwargs) + self.key_data = kwargs.get('key_data', None) + + +class ContainerServiceVMDiagnostics(Model): + """Profile for diagnostics on the container service VMs. + + 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 enabled: Required. Whether the VM diagnostic agent is provisioned + on the VM. + :type enabled: bool + :ivar storage_uri: The URI of the storage account where diagnostics are + stored. + :vartype storage_uri: str + """ + + _validation = { + 'enabled': {'required': True}, + 'storage_uri': {'readonly': True}, + } + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'storage_uri': {'key': 'storageUri', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ContainerServiceVMDiagnostics, self).__init__(**kwargs) + self.enabled = kwargs.get('enabled', None) + self.storage_uri = None + + +class CredentialResult(Model): + """The credential result response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: The name of the credential. + :vartype name: str + :ivar value: Base64-encoded Kubernetes configuration file. + :vartype value: bytearray + """ + + _validation = { + 'name': {'readonly': True}, + 'value': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'bytearray'}, + } + + def __init__(self, **kwargs): + super(CredentialResult, self).__init__(**kwargs) + self.name = None + self.value = None + + +class CredentialResults(Model): + """The list of credential result response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar kubeconfigs: Base64-encoded Kubernetes configuration file. + :vartype kubeconfigs: + list[~azure.mgmt.containerservice.v2021_05_01.models.CredentialResult] + """ + + _validation = { + 'kubeconfigs': {'readonly': True}, + } + + _attribute_map = { + 'kubeconfigs': {'key': 'kubeconfigs', 'type': '[CredentialResult]'}, + } + + def __init__(self, **kwargs): + super(CredentialResults, self).__init__(**kwargs) + self.kubeconfigs = None + + +class EndpointDependency(Model): + """A domain name that AKS agent nodes are reaching at. + + :param domain_name: The domain name of the dependency. + :type domain_name: str + :param endpoint_details: The Ports and Protocols used when connecting to + domainName. + :type endpoint_details: + list[~azure.mgmt.containerservice.v2021_05_01.models.EndpointDetail] + """ + + _attribute_map = { + 'domain_name': {'key': 'domainName', 'type': 'str'}, + 'endpoint_details': {'key': 'endpointDetails', 'type': '[EndpointDetail]'}, + } + + def __init__(self, **kwargs): + super(EndpointDependency, self).__init__(**kwargs) + self.domain_name = kwargs.get('domain_name', None) + self.endpoint_details = kwargs.get('endpoint_details', None) + + +class EndpointDetail(Model): + """connect information from the AKS agent nodes to a single endpoint. + + :param ip_address: An IP Address that Domain Name currently resolves to. + :type ip_address: str + :param port: The port an endpoint is connected to. + :type port: int + :param protocol: The protocol used for connection + :type protocol: str + :param description: Description of the detail + :type description: str + """ + + _attribute_map = { + 'ip_address': {'key': 'ipAddress', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(EndpointDetail, self).__init__(**kwargs) + self.ip_address = kwargs.get('ip_address', None) + self.port = kwargs.get('port', None) + self.protocol = kwargs.get('protocol', None) + self.description = kwargs.get('description', None) + + +class ExtendedLocation(Model): + """The complex type of the extended location. + + :param name: The name of the extended location. + :type name: str + :param type: The type of the extended location. Possible values include: + 'EdgeZone' + :type type: str or + ~azure.mgmt.containerservice.v2021_05_01.models.ExtendedLocationTypes + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExtendedLocation, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.type = kwargs.get('type', None) + + +class KubeletConfig(Model): + """Kubelet configurations of agent nodes. + + :param cpu_manager_policy: CPU Manager policy to use. + :type cpu_manager_policy: str + :param cpu_cfs_quota: Enable CPU CFS quota enforcement for containers that + specify CPU limits. + :type cpu_cfs_quota: bool + :param cpu_cfs_quota_period: Sets CPU CFS quota period value. + :type cpu_cfs_quota_period: str + :param image_gc_high_threshold: The percent of disk usage after which + image garbage collection is always run. + :type image_gc_high_threshold: int + :param image_gc_low_threshold: The percent of disk usage before which + image garbage collection is never run. + :type image_gc_low_threshold: int + :param topology_manager_policy: Topology Manager policy to use. + :type topology_manager_policy: str + :param allowed_unsafe_sysctls: Allowlist of unsafe sysctls or unsafe + sysctl patterns (ending in `*`). + :type allowed_unsafe_sysctls: list[str] + :param fail_swap_on: If set to true it will make the Kubelet fail to start + if swap is enabled on the node. + :type fail_swap_on: bool + :param container_log_max_size_mb: The maximum size (e.g. 10Mi) of + container log file before it is rotated. + :type container_log_max_size_mb: int + :param container_log_max_files: The maximum number of container log files + that can be present for a container. The number must be ≥ 2. + :type container_log_max_files: int + :param pod_max_pids: The maximum number of processes per pod. + :type pod_max_pids: int + """ + + _validation = { + 'container_log_max_files': {'minimum': 2}, + } + + _attribute_map = { + 'cpu_manager_policy': {'key': 'cpuManagerPolicy', 'type': 'str'}, + 'cpu_cfs_quota': {'key': 'cpuCfsQuota', 'type': 'bool'}, + 'cpu_cfs_quota_period': {'key': 'cpuCfsQuotaPeriod', 'type': 'str'}, + 'image_gc_high_threshold': {'key': 'imageGcHighThreshold', 'type': 'int'}, + 'image_gc_low_threshold': {'key': 'imageGcLowThreshold', 'type': 'int'}, + 'topology_manager_policy': {'key': 'topologyManagerPolicy', 'type': 'str'}, + 'allowed_unsafe_sysctls': {'key': 'allowedUnsafeSysctls', 'type': '[str]'}, + 'fail_swap_on': {'key': 'failSwapOn', 'type': 'bool'}, + 'container_log_max_size_mb': {'key': 'containerLogMaxSizeMB', 'type': 'int'}, + 'container_log_max_files': {'key': 'containerLogMaxFiles', 'type': 'int'}, + 'pod_max_pids': {'key': 'podMaxPids', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(KubeletConfig, self).__init__(**kwargs) + self.cpu_manager_policy = kwargs.get('cpu_manager_policy', None) + self.cpu_cfs_quota = kwargs.get('cpu_cfs_quota', None) + self.cpu_cfs_quota_period = kwargs.get('cpu_cfs_quota_period', None) + self.image_gc_high_threshold = kwargs.get('image_gc_high_threshold', None) + self.image_gc_low_threshold = kwargs.get('image_gc_low_threshold', None) + self.topology_manager_policy = kwargs.get('topology_manager_policy', None) + self.allowed_unsafe_sysctls = kwargs.get('allowed_unsafe_sysctls', None) + self.fail_swap_on = kwargs.get('fail_swap_on', None) + self.container_log_max_size_mb = kwargs.get('container_log_max_size_mb', None) + self.container_log_max_files = kwargs.get('container_log_max_files', None) + self.pod_max_pids = kwargs.get('pod_max_pids', None) + + +class LinuxOSConfig(Model): + """OS configurations of Linux agent nodes. + + :param sysctls: Sysctl settings for Linux agent nodes. + :type sysctls: + ~azure.mgmt.containerservice.v2021_05_01.models.SysctlConfig + :param transparent_huge_page_enabled: Transparent Huge Page enabled + configuration. + :type transparent_huge_page_enabled: str + :param transparent_huge_page_defrag: Transparent Huge Page defrag + configuration. + :type transparent_huge_page_defrag: str + :param swap_file_size_mb: SwapFileSizeMB specifies size in MB of a swap + file will be created on each node. + :type swap_file_size_mb: int + """ + + _attribute_map = { + 'sysctls': {'key': 'sysctls', 'type': 'SysctlConfig'}, + 'transparent_huge_page_enabled': {'key': 'transparentHugePageEnabled', 'type': 'str'}, + 'transparent_huge_page_defrag': {'key': 'transparentHugePageDefrag', 'type': 'str'}, + 'swap_file_size_mb': {'key': 'swapFileSizeMB', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(LinuxOSConfig, self).__init__(**kwargs) + self.sysctls = kwargs.get('sysctls', None) + self.transparent_huge_page_enabled = kwargs.get('transparent_huge_page_enabled', None) + self.transparent_huge_page_defrag = kwargs.get('transparent_huge_page_defrag', None) + self.swap_file_size_mb = kwargs.get('swap_file_size_mb', None) + + +class MaintenanceConfiguration(SubResource): + """maintenance 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: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :vartype name: str + :ivar type: Resource type + :vartype type: str + :ivar system_data: The system meta data relating to this resource. + :vartype system_data: + ~azure.mgmt.containerservice.v2021_05_01.models.SystemData + :param time_in_week: Weekday time slots allowed to upgrade. + :type time_in_week: + list[~azure.mgmt.containerservice.v2021_05_01.models.TimeInWeek] + :param not_allowed_time: Time slots on which upgrade is not allowed. + :type not_allowed_time: + list[~azure.mgmt.containerservice.v2021_05_01.models.TimeSpan] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'time_in_week': {'key': 'properties.timeInWeek', 'type': '[TimeInWeek]'}, + 'not_allowed_time': {'key': 'properties.notAllowedTime', 'type': '[TimeSpan]'}, + } + + def __init__(self, **kwargs): + super(MaintenanceConfiguration, self).__init__(**kwargs) + self.system_data = None + self.time_in_week = kwargs.get('time_in_week', None) + self.not_allowed_time = kwargs.get('not_allowed_time', None) + + +class Resource(Model): + """The Resource model definition. + + 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. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, 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'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = kwargs.get('location', None) + self.tags = kwargs.get('tags', None) + + +class ManagedCluster(Resource): + """Managed cluster. + + 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. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :ivar provisioning_state: The current deployment or provisioning state, + which only appears in the response. + :vartype provisioning_state: str + :ivar power_state: Represents the Power State of the cluster + :vartype power_state: + ~azure.mgmt.containerservice.v2021_05_01.models.PowerState + :ivar max_agent_pools: The max number of agent pools for the managed + cluster. + :vartype max_agent_pools: int + :param kubernetes_version: Version of Kubernetes specified when creating + the managed cluster. + :type kubernetes_version: str + :param dns_prefix: DNS prefix specified when creating the managed cluster. + :type dns_prefix: str + :param fqdn_subdomain: FQDN subdomain specified when creating private + cluster with custom private dns zone. + :type fqdn_subdomain: str + :ivar fqdn: FQDN for the master pool. + :vartype fqdn: str + :ivar private_fqdn: FQDN of private cluster. + :vartype private_fqdn: str + :ivar azure_portal_fqdn: FQDN for the master pool which used by proxy + config. + :vartype azure_portal_fqdn: str + :param agent_pool_profiles: Properties of the agent pool. + :type agent_pool_profiles: + list[~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterAgentPoolProfile] + :param linux_profile: Profile for Linux VMs in the container service + cluster. + :type linux_profile: + ~azure.mgmt.containerservice.v2021_05_01.models.ContainerServiceLinuxProfile + :param windows_profile: Profile for Windows VMs in the container service + cluster. + :type windows_profile: + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterWindowsProfile + :param service_principal_profile: Information about a service principal + identity for the cluster to use for manipulating Azure APIs. + :type service_principal_profile: + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterServicePrincipalProfile + :param addon_profiles: Profile of managed cluster add-on. + :type addon_profiles: dict[str, + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterAddonProfile] + :param pod_identity_profile: Profile of managed cluster pod identity. + :type pod_identity_profile: + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterPodIdentityProfile + :param node_resource_group: Name of the resource group containing agent + pool nodes. + :type node_resource_group: str + :param enable_rbac: Whether to enable Kubernetes Role-Based Access + Control. + :type enable_rbac: bool + :param enable_pod_security_policy: (DEPRECATING) Whether to enable + Kubernetes pod security policy (preview). This feature is set for removal + on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy. + :type enable_pod_security_policy: bool + :param network_profile: Profile of network configuration. + :type network_profile: + ~azure.mgmt.containerservice.v2021_05_01.models.ContainerServiceNetworkProfile + :param aad_profile: Profile of Azure Active Directory configuration. + :type aad_profile: + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterAADProfile + :param auto_upgrade_profile: Profile of auto upgrade configuration. + :type auto_upgrade_profile: + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterAutoUpgradeProfile + :param auto_scaler_profile: Parameters to be applied to the + cluster-autoscaler when enabled + :type auto_scaler_profile: + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterPropertiesAutoScalerProfile + :param api_server_access_profile: Access profile for managed cluster API + server. + :type api_server_access_profile: + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterAPIServerAccessProfile + :param disk_encryption_set_id: ResourceId of the disk encryption set to + use for enabling encryption at rest. + :type disk_encryption_set_id: str + :param identity_profile: Identities associated with the cluster. + :type identity_profile: dict[str, + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterPropertiesIdentityProfileValue] + :param private_link_resources: Private link resources associated with the + cluster. + :type private_link_resources: + list[~azure.mgmt.containerservice.v2021_05_01.models.PrivateLinkResource] + :param disable_local_accounts: If set to true, getting static credential + will be disabled for this cluster. Expected to only be used for AAD + clusters. + :type disable_local_accounts: bool + :param http_proxy_config: Configurations for provisioning the cluster with + HTTP proxy servers. + :type http_proxy_config: + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterHTTPProxyConfig + :param identity: The identity of the managed cluster, if configured. + :type identity: + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterIdentity + :param sku: The managed cluster SKU. + :type sku: + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterSKU + :param extended_location: The extended location of the Virtual Machine. + :type extended_location: + ~azure.mgmt.containerservice.v2021_05_01.models.ExtendedLocation + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'power_state': {'readonly': True}, + 'max_agent_pools': {'readonly': True}, + 'fqdn': {'readonly': True}, + 'private_fqdn': {'readonly': True}, + 'azure_portal_fqdn': {'readonly': 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}'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'power_state': {'key': 'properties.powerState', 'type': 'PowerState'}, + 'max_agent_pools': {'key': 'properties.maxAgentPools', 'type': 'int'}, + 'kubernetes_version': {'key': 'properties.kubernetesVersion', 'type': 'str'}, + 'dns_prefix': {'key': 'properties.dnsPrefix', 'type': 'str'}, + 'fqdn_subdomain': {'key': 'properties.fqdnSubdomain', 'type': 'str'}, + 'fqdn': {'key': 'properties.fqdn', 'type': 'str'}, + 'private_fqdn': {'key': 'properties.privateFQDN', 'type': 'str'}, + 'azure_portal_fqdn': {'key': 'properties.azurePortalFQDN', 'type': 'str'}, + 'agent_pool_profiles': {'key': 'properties.agentPoolProfiles', 'type': '[ManagedClusterAgentPoolProfile]'}, + 'linux_profile': {'key': 'properties.linuxProfile', 'type': 'ContainerServiceLinuxProfile'}, + 'windows_profile': {'key': 'properties.windowsProfile', 'type': 'ManagedClusterWindowsProfile'}, + 'service_principal_profile': {'key': 'properties.servicePrincipalProfile', 'type': 'ManagedClusterServicePrincipalProfile'}, + 'addon_profiles': {'key': 'properties.addonProfiles', 'type': '{ManagedClusterAddonProfile}'}, + 'pod_identity_profile': {'key': 'properties.podIdentityProfile', 'type': 'ManagedClusterPodIdentityProfile'}, + 'node_resource_group': {'key': 'properties.nodeResourceGroup', 'type': 'str'}, + 'enable_rbac': {'key': 'properties.enableRBAC', 'type': 'bool'}, + 'enable_pod_security_policy': {'key': 'properties.enablePodSecurityPolicy', 'type': 'bool'}, + 'network_profile': {'key': 'properties.networkProfile', 'type': 'ContainerServiceNetworkProfile'}, + 'aad_profile': {'key': 'properties.aadProfile', 'type': 'ManagedClusterAADProfile'}, + 'auto_upgrade_profile': {'key': 'properties.autoUpgradeProfile', 'type': 'ManagedClusterAutoUpgradeProfile'}, + 'auto_scaler_profile': {'key': 'properties.autoScalerProfile', 'type': 'ManagedClusterPropertiesAutoScalerProfile'}, + 'api_server_access_profile': {'key': 'properties.apiServerAccessProfile', 'type': 'ManagedClusterAPIServerAccessProfile'}, + 'disk_encryption_set_id': {'key': 'properties.diskEncryptionSetID', 'type': 'str'}, + 'identity_profile': {'key': 'properties.identityProfile', 'type': '{ManagedClusterPropertiesIdentityProfileValue}'}, + 'private_link_resources': {'key': 'properties.privateLinkResources', 'type': '[PrivateLinkResource]'}, + 'disable_local_accounts': {'key': 'properties.disableLocalAccounts', 'type': 'bool'}, + 'http_proxy_config': {'key': 'properties.httpProxyConfig', 'type': 'ManagedClusterHTTPProxyConfig'}, + 'identity': {'key': 'identity', 'type': 'ManagedClusterIdentity'}, + 'sku': {'key': 'sku', 'type': 'ManagedClusterSKU'}, + 'extended_location': {'key': 'extendedLocation', 'type': 'ExtendedLocation'}, + } + + def __init__(self, **kwargs): + super(ManagedCluster, self).__init__(**kwargs) + self.provisioning_state = None + self.power_state = None + self.max_agent_pools = None + self.kubernetes_version = kwargs.get('kubernetes_version', None) + self.dns_prefix = kwargs.get('dns_prefix', None) + self.fqdn_subdomain = kwargs.get('fqdn_subdomain', None) + self.fqdn = None + self.private_fqdn = None + self.azure_portal_fqdn = None + self.agent_pool_profiles = kwargs.get('agent_pool_profiles', None) + self.linux_profile = kwargs.get('linux_profile', None) + self.windows_profile = kwargs.get('windows_profile', None) + self.service_principal_profile = kwargs.get('service_principal_profile', None) + self.addon_profiles = kwargs.get('addon_profiles', None) + self.pod_identity_profile = kwargs.get('pod_identity_profile', None) + self.node_resource_group = kwargs.get('node_resource_group', None) + self.enable_rbac = kwargs.get('enable_rbac', None) + self.enable_pod_security_policy = kwargs.get('enable_pod_security_policy', None) + self.network_profile = kwargs.get('network_profile', None) + self.aad_profile = kwargs.get('aad_profile', None) + self.auto_upgrade_profile = kwargs.get('auto_upgrade_profile', None) + self.auto_scaler_profile = kwargs.get('auto_scaler_profile', None) + self.api_server_access_profile = kwargs.get('api_server_access_profile', None) + self.disk_encryption_set_id = kwargs.get('disk_encryption_set_id', None) + self.identity_profile = kwargs.get('identity_profile', None) + self.private_link_resources = kwargs.get('private_link_resources', None) + self.disable_local_accounts = kwargs.get('disable_local_accounts', None) + self.http_proxy_config = kwargs.get('http_proxy_config', None) + self.identity = kwargs.get('identity', None) + self.sku = kwargs.get('sku', None) + self.extended_location = kwargs.get('extended_location', None) + + +class ManagedClusterAADProfile(Model): + """AADProfile specifies attributes for Azure Active Directory integration. + + :param managed: Whether to enable managed AAD. + :type managed: bool + :param enable_azure_rbac: Whether to enable Azure RBAC for Kubernetes + authorization. + :type enable_azure_rbac: bool + :param admin_group_object_ids: AAD group object IDs that will have admin + role of the cluster. + :type admin_group_object_ids: list[str] + :param client_app_id: The client AAD application ID. + :type client_app_id: str + :param server_app_id: The server AAD application ID. + :type server_app_id: str + :param server_app_secret: The server AAD application secret. + :type server_app_secret: str + :param tenant_id: The AAD tenant ID to use for authentication. If not + specified, will use the tenant of the deployment subscription. + :type tenant_id: str + """ + + _attribute_map = { + 'managed': {'key': 'managed', 'type': 'bool'}, + 'enable_azure_rbac': {'key': 'enableAzureRBAC', 'type': 'bool'}, + 'admin_group_object_ids': {'key': 'adminGroupObjectIDs', 'type': '[str]'}, + 'client_app_id': {'key': 'clientAppID', 'type': 'str'}, + 'server_app_id': {'key': 'serverAppID', 'type': 'str'}, + 'server_app_secret': {'key': 'serverAppSecret', 'type': 'str'}, + 'tenant_id': {'key': 'tenantID', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ManagedClusterAADProfile, self).__init__(**kwargs) + self.managed = kwargs.get('managed', None) + self.enable_azure_rbac = kwargs.get('enable_azure_rbac', None) + self.admin_group_object_ids = kwargs.get('admin_group_object_ids', None) + self.client_app_id = kwargs.get('client_app_id', None) + self.server_app_id = kwargs.get('server_app_id', None) + self.server_app_secret = kwargs.get('server_app_secret', None) + self.tenant_id = kwargs.get('tenant_id', None) + + +class ManagedClusterAccessProfile(Resource): + """Managed cluster Access Profile. + + 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. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param kube_config: Base64-encoded Kubernetes configuration file. + :type kube_config: bytearray + """ + + _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}'}, + 'kube_config': {'key': 'properties.kubeConfig', 'type': 'bytearray'}, + } + + def __init__(self, **kwargs): + super(ManagedClusterAccessProfile, self).__init__(**kwargs) + self.kube_config = kwargs.get('kube_config', None) + + +class ManagedClusterAddonProfile(Model): + """A Kubernetes add-on profile for a managed cluster. + + 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 enabled: Required. Whether the add-on is enabled or not. + :type enabled: bool + :param config: Key-value pairs for configuring an add-on. + :type config: dict[str, str] + :ivar identity: Information of user assigned identity used by this add-on. + :vartype identity: + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterAddonProfileIdentity + """ + + _validation = { + 'enabled': {'required': True}, + 'identity': {'readonly': True}, + } + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'config': {'key': 'config', 'type': '{str}'}, + 'identity': {'key': 'identity', 'type': 'ManagedClusterAddonProfileIdentity'}, + } + + def __init__(self, **kwargs): + super(ManagedClusterAddonProfile, self).__init__(**kwargs) + self.enabled = kwargs.get('enabled', None) + self.config = kwargs.get('config', None) + self.identity = None + + +class UserAssignedIdentity(Model): + """UserAssignedIdentity. + + :param resource_id: The resource id of the user assigned identity. + :type resource_id: str + :param client_id: The client id of the user assigned identity. + :type client_id: str + :param object_id: The object id of the user assigned identity. + :type object_id: str + """ + + _attribute_map = { + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'client_id': {'key': 'clientId', 'type': 'str'}, + 'object_id': {'key': 'objectId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(UserAssignedIdentity, self).__init__(**kwargs) + self.resource_id = kwargs.get('resource_id', None) + self.client_id = kwargs.get('client_id', None) + self.object_id = kwargs.get('object_id', None) + + +class ManagedClusterAddonProfileIdentity(UserAssignedIdentity): + """Information of user assigned identity used by this add-on. + + :param resource_id: The resource id of the user assigned identity. + :type resource_id: str + :param client_id: The client id of the user assigned identity. + :type client_id: str + :param object_id: The object id of the user assigned identity. + :type object_id: str + """ + + _attribute_map = { + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'client_id': {'key': 'clientId', 'type': 'str'}, + 'object_id': {'key': 'objectId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ManagedClusterAddonProfileIdentity, self).__init__(**kwargs) + + +class ManagedClusterAgentPoolProfileProperties(Model): + """Properties for the container service agent pool profile. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param count: Number of agents (VMs) to host docker containers. Allowed + values must be in the range of 0 to 1000 (inclusive) for user pools and in + the range of 1 to 1000 (inclusive) for system pools. The default value is + 1. + :type count: int + :param vm_size: Size of agent VMs. + :type vm_size: str + :param os_disk_size_gb: OS Disk Size in GB to be used to specify the disk + size for every machine in this master/agent pool. If you specify 0, it + will apply the default osDisk size according to the vmSize specified. + :type os_disk_size_gb: int + :param os_disk_type: OS disk type to be used for machines in a given agent + pool. Allowed values are 'Ephemeral' and 'Managed'. If unspecified, + defaults to 'Ephemeral' when the VM supports ephemeral OS and has a cache + disk larger than the requested OSDiskSizeGB. Otherwise, defaults to + 'Managed'. May not be changed after creation. Possible values include: + 'Managed', 'Ephemeral' + :type os_disk_type: str or + ~azure.mgmt.containerservice.v2021_05_01.models.OSDiskType + :param kubelet_disk_type: KubeletDiskType determines the placement of + emptyDir volumes, container runtime data root, and Kubelet ephemeral + storage. Currently allows one value, OS, resulting in Kubelet using the OS + disk for data. Possible values include: 'OS', 'Temporary' + :type kubelet_disk_type: str or + ~azure.mgmt.containerservice.v2021_05_01.models.KubeletDiskType + :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet + identifier for nodes and maybe pods + :type vnet_subnet_id: str + :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier + for pods. + :type pod_subnet_id: str + :param max_pods: Maximum number of pods that can run on a node. + :type max_pods: int + :param os_type: OsType to be used to specify os type. Choose from Linux + and Windows. Default to Linux. Possible values include: 'Linux', + 'Windows'. Default value: "Linux" . + :type os_type: str or + ~azure.mgmt.containerservice.v2021_05_01.models.OSType + :param os_sku: OsSKU to be used to specify os sku. Choose from + Ubuntu(default) and CBLMariner for Linux OSType. Not applicable to Windows + OSType. Possible values include: 'Ubuntu', 'CBLMariner' + :type os_sku: str or ~azure.mgmt.containerservice.v2021_05_01.models.OSSKU + :param max_count: Maximum number of nodes for auto-scaling + :type max_count: int + :param min_count: Minimum number of nodes for auto-scaling + :type min_count: int + :param enable_auto_scaling: Whether to enable auto-scaler + :type enable_auto_scaling: bool + :param type: AgentPoolType represents types of an agent pool. Possible + values include: 'VirtualMachineScaleSets', 'AvailabilitySet' + :type type: str or + ~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolType + :param mode: AgentPoolMode represents mode of an agent pool. Possible + values include: 'System', 'User' + :type mode: str or + ~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolMode + :param orchestrator_version: Version of orchestrator specified when + creating the managed cluster. + :type orchestrator_version: str + :ivar node_image_version: Version of node image + :vartype node_image_version: str + :param upgrade_settings: Settings for upgrading the agentpool + :type upgrade_settings: + ~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolUpgradeSettings + :ivar provisioning_state: The current deployment or provisioning state, + which only appears in the response. + :vartype provisioning_state: str + :ivar power_state: Describes whether the Agent Pool is Running or Stopped + :vartype power_state: + ~azure.mgmt.containerservice.v2021_05_01.models.PowerState + :param availability_zones: Availability zones for nodes. Must use + VirtualMachineScaleSets AgentPoolType. + :type availability_zones: list[str] + :param enable_node_public_ip: Enable public IP for nodes + :type enable_node_public_ip: bool + :param node_public_ip_prefix_id: Public IP Prefix ID. VM nodes use IPs + assigned from this Public IP Prefix. + :type node_public_ip_prefix_id: str + :param scale_set_priority: ScaleSetPriority to be used to specify virtual + machine scale set priority. Default to regular. Possible values include: + 'Spot', 'Regular'. Default value: "Regular" . + :type scale_set_priority: str or + ~azure.mgmt.containerservice.v2021_05_01.models.ScaleSetPriority + :param scale_set_eviction_policy: ScaleSetEvictionPolicy to be used to + specify eviction policy for Spot virtual machine scale set. Default to + Delete. Possible values include: 'Delete', 'Deallocate'. Default value: + "Delete" . + :type scale_set_eviction_policy: str or + ~azure.mgmt.containerservice.v2021_05_01.models.ScaleSetEvictionPolicy + :param spot_max_price: SpotMaxPrice to be used to specify the maximum + price you are willing to pay in US Dollars. Possible values are any + decimal value greater than zero or -1 which indicates default price to be + up-to on-demand. + :type spot_max_price: float + :param tags: Agent pool tags to be persisted on the agent pool virtual + machine scale set. + :type tags: dict[str, str] + :param node_labels: Agent pool node labels to be persisted across all + nodes in agent pool. + :type node_labels: dict[str, str] + :param node_taints: Taints added to new nodes during node pool create and + scale. For example, key=value:NoSchedule. + :type node_taints: list[str] + :param proximity_placement_group_id: The ID for Proximity Placement Group. + :type proximity_placement_group_id: str + :param kubelet_config: KubeletConfig specifies the configuration of + kubelet on agent nodes. + :type kubelet_config: + ~azure.mgmt.containerservice.v2021_05_01.models.KubeletConfig + :param linux_os_config: LinuxOSConfig specifies the OS configuration of + linux agent nodes. + :type linux_os_config: + ~azure.mgmt.containerservice.v2021_05_01.models.LinuxOSConfig + :param enable_encryption_at_host: Whether to enable EncryptionAtHost + :type enable_encryption_at_host: bool + :param enable_ultra_ssd: Whether to enable UltraSSD + :type enable_ultra_ssd: bool + :param enable_fips: Whether to use FIPS enabled OS + :type enable_fips: bool + :param gpu_instance_profile: GPUInstanceProfile to be used to specify GPU + MIG instance profile for supported GPU VM SKU. Supported values are MIG1g, + MIG2g, MIG3g, MIG4g and MIG7g. Possible values include: 'MIG1g', 'MIG2g', + 'MIG3g', 'MIG4g', 'MIG7g' + :type gpu_instance_profile: str or + ~azure.mgmt.containerservice.v2021_05_01.models.GPUInstanceProfile + """ + + _validation = { + 'node_image_version': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'power_state': {'readonly': True}, + } + + _attribute_map = { + 'count': {'key': 'count', 'type': 'int'}, + 'vm_size': {'key': 'vmSize', 'type': 'str'}, + 'os_disk_size_gb': {'key': 'osDiskSizeGB', 'type': 'int'}, + 'os_disk_type': {'key': 'osDiskType', 'type': 'str'}, + 'kubelet_disk_type': {'key': 'kubeletDiskType', 'type': 'str'}, + 'vnet_subnet_id': {'key': 'vnetSubnetID', 'type': 'str'}, + 'pod_subnet_id': {'key': 'podSubnetID', 'type': 'str'}, + 'max_pods': {'key': 'maxPods', 'type': 'int'}, + 'os_type': {'key': 'osType', 'type': 'str'}, + 'os_sku': {'key': 'osSKU', 'type': 'str'}, + 'max_count': {'key': 'maxCount', 'type': 'int'}, + 'min_count': {'key': 'minCount', 'type': 'int'}, + 'enable_auto_scaling': {'key': 'enableAutoScaling', 'type': 'bool'}, + 'type': {'key': 'type', 'type': 'str'}, + 'mode': {'key': 'mode', 'type': 'str'}, + 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, + 'node_image_version': {'key': 'nodeImageVersion', 'type': 'str'}, + 'upgrade_settings': {'key': 'upgradeSettings', 'type': 'AgentPoolUpgradeSettings'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'power_state': {'key': 'powerState', 'type': 'PowerState'}, + 'availability_zones': {'key': 'availabilityZones', 'type': '[str]'}, + 'enable_node_public_ip': {'key': 'enableNodePublicIP', 'type': 'bool'}, + 'node_public_ip_prefix_id': {'key': 'nodePublicIPPrefixID', 'type': 'str'}, + 'scale_set_priority': {'key': 'scaleSetPriority', 'type': 'str'}, + 'scale_set_eviction_policy': {'key': 'scaleSetEvictionPolicy', 'type': 'str'}, + 'spot_max_price': {'key': 'spotMaxPrice', 'type': 'float'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'node_labels': {'key': 'nodeLabels', 'type': '{str}'}, + 'node_taints': {'key': 'nodeTaints', 'type': '[str]'}, + 'proximity_placement_group_id': {'key': 'proximityPlacementGroupID', 'type': 'str'}, + 'kubelet_config': {'key': 'kubeletConfig', 'type': 'KubeletConfig'}, + 'linux_os_config': {'key': 'linuxOSConfig', 'type': 'LinuxOSConfig'}, + 'enable_encryption_at_host': {'key': 'enableEncryptionAtHost', 'type': 'bool'}, + 'enable_ultra_ssd': {'key': 'enableUltraSSD', 'type': 'bool'}, + 'enable_fips': {'key': 'enableFIPS', 'type': 'bool'}, + 'gpu_instance_profile': {'key': 'gpuInstanceProfile', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ManagedClusterAgentPoolProfileProperties, self).__init__(**kwargs) + self.count = kwargs.get('count', None) + self.vm_size = kwargs.get('vm_size', None) + self.os_disk_size_gb = kwargs.get('os_disk_size_gb', None) + self.os_disk_type = kwargs.get('os_disk_type', None) + self.kubelet_disk_type = kwargs.get('kubelet_disk_type', None) + self.vnet_subnet_id = kwargs.get('vnet_subnet_id', None) + self.pod_subnet_id = kwargs.get('pod_subnet_id', None) + self.max_pods = kwargs.get('max_pods', None) + self.os_type = kwargs.get('os_type', "Linux") + self.os_sku = kwargs.get('os_sku', None) + self.max_count = kwargs.get('max_count', None) + self.min_count = kwargs.get('min_count', None) + self.enable_auto_scaling = kwargs.get('enable_auto_scaling', None) + self.type = kwargs.get('type', None) + self.mode = kwargs.get('mode', None) + self.orchestrator_version = kwargs.get('orchestrator_version', None) + self.node_image_version = None + self.upgrade_settings = kwargs.get('upgrade_settings', None) + self.provisioning_state = None + self.power_state = None + self.availability_zones = kwargs.get('availability_zones', None) + self.enable_node_public_ip = kwargs.get('enable_node_public_ip', None) + self.node_public_ip_prefix_id = kwargs.get('node_public_ip_prefix_id', None) + self.scale_set_priority = kwargs.get('scale_set_priority', "Regular") + self.scale_set_eviction_policy = kwargs.get('scale_set_eviction_policy', "Delete") + self.spot_max_price = kwargs.get('spot_max_price', None) + self.tags = kwargs.get('tags', None) + self.node_labels = kwargs.get('node_labels', None) + self.node_taints = kwargs.get('node_taints', None) + self.proximity_placement_group_id = kwargs.get('proximity_placement_group_id', None) + self.kubelet_config = kwargs.get('kubelet_config', None) + self.linux_os_config = kwargs.get('linux_os_config', None) + self.enable_encryption_at_host = kwargs.get('enable_encryption_at_host', None) + self.enable_ultra_ssd = kwargs.get('enable_ultra_ssd', None) + self.enable_fips = kwargs.get('enable_fips', None) + self.gpu_instance_profile = kwargs.get('gpu_instance_profile', None) + + +class ManagedClusterAgentPoolProfile(ManagedClusterAgentPoolProfileProperties): + """Profile for the container service agent pool. + + 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 count: Number of agents (VMs) to host docker containers. Allowed + values must be in the range of 0 to 1000 (inclusive) for user pools and in + the range of 1 to 1000 (inclusive) for system pools. The default value is + 1. + :type count: int + :param vm_size: Size of agent VMs. + :type vm_size: str + :param os_disk_size_gb: OS Disk Size in GB to be used to specify the disk + size for every machine in this master/agent pool. If you specify 0, it + will apply the default osDisk size according to the vmSize specified. + :type os_disk_size_gb: int + :param os_disk_type: OS disk type to be used for machines in a given agent + pool. Allowed values are 'Ephemeral' and 'Managed'. If unspecified, + defaults to 'Ephemeral' when the VM supports ephemeral OS and has a cache + disk larger than the requested OSDiskSizeGB. Otherwise, defaults to + 'Managed'. May not be changed after creation. Possible values include: + 'Managed', 'Ephemeral' + :type os_disk_type: str or + ~azure.mgmt.containerservice.v2021_05_01.models.OSDiskType + :param kubelet_disk_type: KubeletDiskType determines the placement of + emptyDir volumes, container runtime data root, and Kubelet ephemeral + storage. Currently allows one value, OS, resulting in Kubelet using the OS + disk for data. Possible values include: 'OS', 'Temporary' + :type kubelet_disk_type: str or + ~azure.mgmt.containerservice.v2021_05_01.models.KubeletDiskType + :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet + identifier for nodes and maybe pods + :type vnet_subnet_id: str + :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier + for pods. + :type pod_subnet_id: str + :param max_pods: Maximum number of pods that can run on a node. + :type max_pods: int + :param os_type: OsType to be used to specify os type. Choose from Linux + and Windows. Default to Linux. Possible values include: 'Linux', + 'Windows'. Default value: "Linux" . + :type os_type: str or + ~azure.mgmt.containerservice.v2021_05_01.models.OSType + :param os_sku: OsSKU to be used to specify os sku. Choose from + Ubuntu(default) and CBLMariner for Linux OSType. Not applicable to Windows + OSType. Possible values include: 'Ubuntu', 'CBLMariner' + :type os_sku: str or ~azure.mgmt.containerservice.v2021_05_01.models.OSSKU + :param max_count: Maximum number of nodes for auto-scaling + :type max_count: int + :param min_count: Minimum number of nodes for auto-scaling + :type min_count: int + :param enable_auto_scaling: Whether to enable auto-scaler + :type enable_auto_scaling: bool + :param type: AgentPoolType represents types of an agent pool. Possible + values include: 'VirtualMachineScaleSets', 'AvailabilitySet' + :type type: str or + ~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolType + :param mode: AgentPoolMode represents mode of an agent pool. Possible + values include: 'System', 'User' + :type mode: str or + ~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolMode + :param orchestrator_version: Version of orchestrator specified when + creating the managed cluster. + :type orchestrator_version: str + :ivar node_image_version: Version of node image + :vartype node_image_version: str + :param upgrade_settings: Settings for upgrading the agentpool + :type upgrade_settings: + ~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolUpgradeSettings + :ivar provisioning_state: The current deployment or provisioning state, + which only appears in the response. + :vartype provisioning_state: str + :ivar power_state: Describes whether the Agent Pool is Running or Stopped + :vartype power_state: + ~azure.mgmt.containerservice.v2021_05_01.models.PowerState + :param availability_zones: Availability zones for nodes. Must use + VirtualMachineScaleSets AgentPoolType. + :type availability_zones: list[str] + :param enable_node_public_ip: Enable public IP for nodes + :type enable_node_public_ip: bool + :param node_public_ip_prefix_id: Public IP Prefix ID. VM nodes use IPs + assigned from this Public IP Prefix. + :type node_public_ip_prefix_id: str + :param scale_set_priority: ScaleSetPriority to be used to specify virtual + machine scale set priority. Default to regular. Possible values include: + 'Spot', 'Regular'. Default value: "Regular" . + :type scale_set_priority: str or + ~azure.mgmt.containerservice.v2021_05_01.models.ScaleSetPriority + :param scale_set_eviction_policy: ScaleSetEvictionPolicy to be used to + specify eviction policy for Spot virtual machine scale set. Default to + Delete. Possible values include: 'Delete', 'Deallocate'. Default value: + "Delete" . + :type scale_set_eviction_policy: str or + ~azure.mgmt.containerservice.v2021_05_01.models.ScaleSetEvictionPolicy + :param spot_max_price: SpotMaxPrice to be used to specify the maximum + price you are willing to pay in US Dollars. Possible values are any + decimal value greater than zero or -1 which indicates default price to be + up-to on-demand. + :type spot_max_price: float + :param tags: Agent pool tags to be persisted on the agent pool virtual + machine scale set. + :type tags: dict[str, str] + :param node_labels: Agent pool node labels to be persisted across all + nodes in agent pool. + :type node_labels: dict[str, str] + :param node_taints: Taints added to new nodes during node pool create and + scale. For example, key=value:NoSchedule. + :type node_taints: list[str] + :param proximity_placement_group_id: The ID for Proximity Placement Group. + :type proximity_placement_group_id: str + :param kubelet_config: KubeletConfig specifies the configuration of + kubelet on agent nodes. + :type kubelet_config: + ~azure.mgmt.containerservice.v2021_05_01.models.KubeletConfig + :param linux_os_config: LinuxOSConfig specifies the OS configuration of + linux agent nodes. + :type linux_os_config: + ~azure.mgmt.containerservice.v2021_05_01.models.LinuxOSConfig + :param enable_encryption_at_host: Whether to enable EncryptionAtHost + :type enable_encryption_at_host: bool + :param enable_ultra_ssd: Whether to enable UltraSSD + :type enable_ultra_ssd: bool + :param enable_fips: Whether to use FIPS enabled OS + :type enable_fips: bool + :param gpu_instance_profile: GPUInstanceProfile to be used to specify GPU + MIG instance profile for supported GPU VM SKU. Supported values are MIG1g, + MIG2g, MIG3g, MIG4g and MIG7g. Possible values include: 'MIG1g', 'MIG2g', + 'MIG3g', 'MIG4g', 'MIG7g' + :type gpu_instance_profile: str or + ~azure.mgmt.containerservice.v2021_05_01.models.GPUInstanceProfile + :param name: Required. Unique name of the agent pool profile in the + context of the subscription and resource group. + :type name: str + """ + + _validation = { + 'node_image_version': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'power_state': {'readonly': True}, + 'name': {'required': True, 'pattern': r'^[a-z][a-z0-9]{0,11}$'}, + } + + _attribute_map = { + 'count': {'key': 'count', 'type': 'int'}, + 'vm_size': {'key': 'vmSize', 'type': 'str'}, + 'os_disk_size_gb': {'key': 'osDiskSizeGB', 'type': 'int'}, + 'os_disk_type': {'key': 'osDiskType', 'type': 'str'}, + 'kubelet_disk_type': {'key': 'kubeletDiskType', 'type': 'str'}, + 'vnet_subnet_id': {'key': 'vnetSubnetID', 'type': 'str'}, + 'pod_subnet_id': {'key': 'podSubnetID', 'type': 'str'}, + 'max_pods': {'key': 'maxPods', 'type': 'int'}, + 'os_type': {'key': 'osType', 'type': 'str'}, + 'os_sku': {'key': 'osSKU', 'type': 'str'}, + 'max_count': {'key': 'maxCount', 'type': 'int'}, + 'min_count': {'key': 'minCount', 'type': 'int'}, + 'enable_auto_scaling': {'key': 'enableAutoScaling', 'type': 'bool'}, + 'type': {'key': 'type', 'type': 'str'}, + 'mode': {'key': 'mode', 'type': 'str'}, + 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, + 'node_image_version': {'key': 'nodeImageVersion', 'type': 'str'}, + 'upgrade_settings': {'key': 'upgradeSettings', 'type': 'AgentPoolUpgradeSettings'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'power_state': {'key': 'powerState', 'type': 'PowerState'}, + 'availability_zones': {'key': 'availabilityZones', 'type': '[str]'}, + 'enable_node_public_ip': {'key': 'enableNodePublicIP', 'type': 'bool'}, + 'node_public_ip_prefix_id': {'key': 'nodePublicIPPrefixID', 'type': 'str'}, + 'scale_set_priority': {'key': 'scaleSetPriority', 'type': 'str'}, + 'scale_set_eviction_policy': {'key': 'scaleSetEvictionPolicy', 'type': 'str'}, + 'spot_max_price': {'key': 'spotMaxPrice', 'type': 'float'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'node_labels': {'key': 'nodeLabels', 'type': '{str}'}, + 'node_taints': {'key': 'nodeTaints', 'type': '[str]'}, + 'proximity_placement_group_id': {'key': 'proximityPlacementGroupID', 'type': 'str'}, + 'kubelet_config': {'key': 'kubeletConfig', 'type': 'KubeletConfig'}, + 'linux_os_config': {'key': 'linuxOSConfig', 'type': 'LinuxOSConfig'}, + 'enable_encryption_at_host': {'key': 'enableEncryptionAtHost', 'type': 'bool'}, + 'enable_ultra_ssd': {'key': 'enableUltraSSD', 'type': 'bool'}, + 'enable_fips': {'key': 'enableFIPS', 'type': 'bool'}, + 'gpu_instance_profile': {'key': 'gpuInstanceProfile', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ManagedClusterAgentPoolProfile, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + + +class ManagedClusterAPIServerAccessProfile(Model): + """Access profile for managed cluster API server. + + :param authorized_ip_ranges: Authorized IP Ranges to kubernetes API + server. + :type authorized_ip_ranges: list[str] + :param enable_private_cluster: Whether to create the cluster as a private + cluster or not. + :type enable_private_cluster: bool + :param private_dns_zone: Private dns zone mode for private cluster. + :type private_dns_zone: str + :param enable_private_cluster_public_fqdn: Whether to create additional + public FQDN for private cluster or not. + :type enable_private_cluster_public_fqdn: bool + """ + + _attribute_map = { + 'authorized_ip_ranges': {'key': 'authorizedIPRanges', 'type': '[str]'}, + 'enable_private_cluster': {'key': 'enablePrivateCluster', 'type': 'bool'}, + 'private_dns_zone': {'key': 'privateDNSZone', 'type': 'str'}, + 'enable_private_cluster_public_fqdn': {'key': 'enablePrivateClusterPublicFQDN', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(ManagedClusterAPIServerAccessProfile, self).__init__(**kwargs) + self.authorized_ip_ranges = kwargs.get('authorized_ip_ranges', None) + self.enable_private_cluster = kwargs.get('enable_private_cluster', None) + self.private_dns_zone = kwargs.get('private_dns_zone', None) + self.enable_private_cluster_public_fqdn = kwargs.get('enable_private_cluster_public_fqdn', None) + + +class ManagedClusterAutoUpgradeProfile(Model): + """Auto upgrade profile for a managed cluster. + + :param upgrade_channel: upgrade channel for auto upgrade. Possible values + include: 'rapid', 'stable', 'patch', 'node-image', 'none' + :type upgrade_channel: str or + ~azure.mgmt.containerservice.v2021_05_01.models.UpgradeChannel + """ + + _attribute_map = { + 'upgrade_channel': {'key': 'upgradeChannel', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ManagedClusterAutoUpgradeProfile, self).__init__(**kwargs) + self.upgrade_channel = kwargs.get('upgrade_channel', None) + + +class ManagedClusterHTTPProxyConfig(Model): + """Configurations for provisioning the cluster with HTTP proxy servers. + + :param http_proxy: HTTP proxy server endpoint to use. + :type http_proxy: str + :param https_proxy: HTTPS proxy server endpoint to use. + :type https_proxy: str + :param no_proxy: Endpoints that should not go through proxy. + :type no_proxy: list[str] + :param trusted_ca: Alternative CA cert to use for connecting to proxy + servers. + :type trusted_ca: str + """ + + _attribute_map = { + 'http_proxy': {'key': 'httpProxy', 'type': 'str'}, + 'https_proxy': {'key': 'httpsProxy', 'type': 'str'}, + 'no_proxy': {'key': 'noProxy', 'type': '[str]'}, + 'trusted_ca': {'key': 'trustedCa', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ManagedClusterHTTPProxyConfig, self).__init__(**kwargs) + self.http_proxy = kwargs.get('http_proxy', None) + self.https_proxy = kwargs.get('https_proxy', None) + self.no_proxy = kwargs.get('no_proxy', None) + self.trusted_ca = kwargs.get('trusted_ca', None) + + +class ManagedClusterIdentity(Model): + """Identity for the managed cluster. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar principal_id: The principal id of the system assigned identity which + is used by master components. + :vartype principal_id: str + :ivar tenant_id: The tenant id of the system assigned identity which is + used by master components. + :vartype tenant_id: str + :param type: The type of identity used for the managed cluster. Type + 'SystemAssigned' will use an implicitly created identity in master + components and an auto-created user assigned identity in MC_ resource + group in agent nodes. Type 'None' will not use MSI for the managed + cluster, service principal will be used instead. Possible values include: + 'SystemAssigned', 'UserAssigned', 'None' + :type type: str or + ~azure.mgmt.containerservice.v2021_05_01.models.ResourceIdentityType + :param user_assigned_identities: The user identity associated with the + managed cluster. This identity will be used in control plane and only one + user assigned identity is allowed. The user identity dictionary key + references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + :type user_assigned_identities: dict[str, + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterIdentityUserAssignedIdentitiesValue] + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'ResourceIdentityType'}, + 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{ManagedClusterIdentityUserAssignedIdentitiesValue}'}, + } + + def __init__(self, **kwargs): + super(ManagedClusterIdentity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = kwargs.get('type', None) + self.user_assigned_identities = kwargs.get('user_assigned_identities', None) + + +class ManagedClusterIdentityUserAssignedIdentitiesValue(Model): + """ManagedClusterIdentityUserAssignedIdentitiesValue. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar principal_id: The principal id of user assigned identity. + :vartype principal_id: str + :ivar client_id: The client id of user assigned identity. + :vartype client_id: str + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'client_id': {'readonly': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'client_id': {'key': 'clientId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ManagedClusterIdentityUserAssignedIdentitiesValue, self).__init__(**kwargs) + self.principal_id = None + self.client_id = None + + +class ManagedClusterLoadBalancerProfile(Model): + """Profile of the managed cluster load balancer. + + :param managed_outbound_ips: Desired managed outbound IPs for the cluster + load balancer. + :type managed_outbound_ips: + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterLoadBalancerProfileManagedOutboundIPs + :param outbound_ip_prefixes: Desired outbound IP Prefix resources for the + cluster load balancer. + :type outbound_ip_prefixes: + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterLoadBalancerProfileOutboundIPPrefixes + :param outbound_ips: Desired outbound IP resources for the cluster load + balancer. + :type outbound_ips: + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterLoadBalancerProfileOutboundIPs + :param effective_outbound_ips: The effective outbound IP resources of the + cluster load balancer. + :type effective_outbound_ips: + list[~azure.mgmt.containerservice.v2021_05_01.models.ResourceReference] + :param allocated_outbound_ports: Desired number of allocated SNAT ports + per VM. Allowed values must be in the range of 0 to 64000 (inclusive). The + default value is 0 which results in Azure dynamically allocating ports. + Default value: 0 . + :type allocated_outbound_ports: int + :param idle_timeout_in_minutes: Desired outbound flow idle timeout in + minutes. Allowed values must be in the range of 4 to 120 (inclusive). The + default value is 30 minutes. Default value: 30 . + :type idle_timeout_in_minutes: int + """ + + _validation = { + 'allocated_outbound_ports': {'maximum': 64000, 'minimum': 0}, + 'idle_timeout_in_minutes': {'maximum': 120, 'minimum': 4}, + } + + _attribute_map = { + 'managed_outbound_ips': {'key': 'managedOutboundIPs', 'type': 'ManagedClusterLoadBalancerProfileManagedOutboundIPs'}, + 'outbound_ip_prefixes': {'key': 'outboundIPPrefixes', 'type': 'ManagedClusterLoadBalancerProfileOutboundIPPrefixes'}, + 'outbound_ips': {'key': 'outboundIPs', 'type': 'ManagedClusterLoadBalancerProfileOutboundIPs'}, + 'effective_outbound_ips': {'key': 'effectiveOutboundIPs', 'type': '[ResourceReference]'}, + 'allocated_outbound_ports': {'key': 'allocatedOutboundPorts', 'type': 'int'}, + 'idle_timeout_in_minutes': {'key': 'idleTimeoutInMinutes', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ManagedClusterLoadBalancerProfile, self).__init__(**kwargs) + self.managed_outbound_ips = kwargs.get('managed_outbound_ips', None) + self.outbound_ip_prefixes = kwargs.get('outbound_ip_prefixes', None) + self.outbound_ips = kwargs.get('outbound_ips', None) + self.effective_outbound_ips = kwargs.get('effective_outbound_ips', None) + self.allocated_outbound_ports = kwargs.get('allocated_outbound_ports', 0) + self.idle_timeout_in_minutes = kwargs.get('idle_timeout_in_minutes', 30) + + +class ManagedClusterLoadBalancerProfileManagedOutboundIPs(Model): + """Desired managed outbound IPs for the cluster load balancer. + + :param count: Desired number of outbound IP created/managed by Azure for + the cluster load balancer. Allowed values must be in the range of 1 to 100 + (inclusive). The default value is 1. . Default value: 1 . + :type count: int + """ + + _validation = { + 'count': {'maximum': 100, 'minimum': 1}, + } + + _attribute_map = { + 'count': {'key': 'count', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ManagedClusterLoadBalancerProfileManagedOutboundIPs, self).__init__(**kwargs) + self.count = kwargs.get('count', 1) + + +class ManagedClusterLoadBalancerProfileOutboundIPPrefixes(Model): + """Desired outbound IP Prefix resources for the cluster load balancer. + + :param public_ip_prefixes: A list of public IP prefix resources. + :type public_ip_prefixes: + list[~azure.mgmt.containerservice.v2021_05_01.models.ResourceReference] + """ + + _attribute_map = { + 'public_ip_prefixes': {'key': 'publicIPPrefixes', 'type': '[ResourceReference]'}, + } + + def __init__(self, **kwargs): + super(ManagedClusterLoadBalancerProfileOutboundIPPrefixes, self).__init__(**kwargs) + self.public_ip_prefixes = kwargs.get('public_ip_prefixes', None) + + +class ManagedClusterLoadBalancerProfileOutboundIPs(Model): + """Desired outbound IP resources for the cluster load balancer. + + :param public_ips: A list of public IP resources. + :type public_ips: + list[~azure.mgmt.containerservice.v2021_05_01.models.ResourceReference] + """ + + _attribute_map = { + 'public_ips': {'key': 'publicIPs', 'type': '[ResourceReference]'}, + } + + def __init__(self, **kwargs): + super(ManagedClusterLoadBalancerProfileOutboundIPs, self).__init__(**kwargs) + self.public_ips = kwargs.get('public_ips', None) + + +class ManagedClusterPodIdentity(Model): + """ManagedClusterPodIdentity. + + 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. Name of the pod identity. + :type name: str + :param namespace: Required. Namespace of the pod identity. + :type namespace: str + :param binding_selector: Binding selector to use for the + AzureIdentityBinding resource. + :type binding_selector: str + :param identity: Required. Information of the user assigned identity. + :type identity: + ~azure.mgmt.containerservice.v2021_05_01.models.UserAssignedIdentity + :ivar provisioning_state: The current provisioning state of the pod + identity. Possible values include: 'Assigned', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterPodIdentityProvisioningState + :ivar provisioning_info: + :vartype provisioning_info: + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterPodIdentityProvisioningInfo + """ + + _validation = { + 'name': {'required': True}, + 'namespace': {'required': True}, + 'identity': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'provisioning_info': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'namespace': {'key': 'namespace', 'type': 'str'}, + 'binding_selector': {'key': 'bindingSelector', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'UserAssignedIdentity'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'provisioning_info': {'key': 'provisioningInfo', 'type': 'ManagedClusterPodIdentityProvisioningInfo'}, + } + + def __init__(self, **kwargs): + super(ManagedClusterPodIdentity, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.namespace = kwargs.get('namespace', None) + self.binding_selector = kwargs.get('binding_selector', None) + self.identity = kwargs.get('identity', None) + self.provisioning_state = None + self.provisioning_info = None + + +class ManagedClusterPodIdentityException(Model): + """ManagedClusterPodIdentityException. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. Name of the pod identity exception. + :type name: str + :param namespace: Required. Namespace of the pod identity exception. + :type namespace: str + :param pod_labels: Required. Pod labels to match. + :type pod_labels: dict[str, str] + """ + + _validation = { + 'name': {'required': True}, + 'namespace': {'required': True}, + 'pod_labels': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'namespace': {'key': 'namespace', 'type': 'str'}, + 'pod_labels': {'key': 'podLabels', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(ManagedClusterPodIdentityException, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.namespace = kwargs.get('namespace', None) + self.pod_labels = kwargs.get('pod_labels', None) + + +class ManagedClusterPodIdentityProfile(Model): + """ManagedClusterPodIdentityProfile. + + :param enabled: Whether the pod identity addon is enabled. + :type enabled: bool + :param allow_network_plugin_kubenet: Customer consent for enabling AAD pod + identity addon in cluster using Kubenet network plugin. + :type allow_network_plugin_kubenet: bool + :param user_assigned_identities: User assigned pod identity settings. + :type user_assigned_identities: + list[~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterPodIdentity] + :param user_assigned_identity_exceptions: User assigned pod identity + exception settings. + :type user_assigned_identity_exceptions: + list[~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterPodIdentityException] + """ + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'allow_network_plugin_kubenet': {'key': 'allowNetworkPluginKubenet', 'type': 'bool'}, + 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '[ManagedClusterPodIdentity]'}, + 'user_assigned_identity_exceptions': {'key': 'userAssignedIdentityExceptions', 'type': '[ManagedClusterPodIdentityException]'}, + } + + def __init__(self, **kwargs): + super(ManagedClusterPodIdentityProfile, self).__init__(**kwargs) + self.enabled = kwargs.get('enabled', None) + self.allow_network_plugin_kubenet = kwargs.get('allow_network_plugin_kubenet', None) + self.user_assigned_identities = kwargs.get('user_assigned_identities', None) + self.user_assigned_identity_exceptions = kwargs.get('user_assigned_identity_exceptions', None) + + +class ManagedClusterPodIdentityProvisioningInfo(Model): + """ManagedClusterPodIdentityProvisioningInfo. + + :param error: Pod identity assignment error (if any). + :type error: ~azure.mgmt.containerservice.v2021_05_01.models.CloudError + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'CloudError'}, + } + + def __init__(self, **kwargs): + super(ManagedClusterPodIdentityProvisioningInfo, self).__init__(**kwargs) + self.error = kwargs.get('error', None) + + +class ManagedClusterPoolUpgradeProfile(Model): + """The list of available upgrade versions. + + All required parameters must be populated in order to send to Azure. + + :param kubernetes_version: Required. Kubernetes version (major, minor, + patch). + :type kubernetes_version: str + :param name: Pool name. + :type name: str + :param os_type: Required. OsType to be used to specify os type. Choose + from Linux and Windows. Default to Linux. Possible values include: + 'Linux', 'Windows'. Default value: "Linux" . + :type os_type: str or + ~azure.mgmt.containerservice.v2021_05_01.models.OSType + :param upgrades: List of orchestrator types and versions available for + upgrade. + :type upgrades: + list[~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterPoolUpgradeProfileUpgradesItem] + """ + + _validation = { + 'kubernetes_version': {'required': True}, + 'os_type': {'required': True}, + } + + _attribute_map = { + 'kubernetes_version': {'key': 'kubernetesVersion', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'os_type': {'key': 'osType', 'type': 'str'}, + 'upgrades': {'key': 'upgrades', 'type': '[ManagedClusterPoolUpgradeProfileUpgradesItem]'}, + } + + def __init__(self, **kwargs): + super(ManagedClusterPoolUpgradeProfile, self).__init__(**kwargs) + self.kubernetes_version = kwargs.get('kubernetes_version', None) + self.name = kwargs.get('name', None) + self.os_type = kwargs.get('os_type', "Linux") + self.upgrades = kwargs.get('upgrades', None) + + +class ManagedClusterPoolUpgradeProfileUpgradesItem(Model): + """ManagedClusterPoolUpgradeProfileUpgradesItem. + + :param kubernetes_version: Kubernetes version (major, minor, patch). + :type kubernetes_version: str + :param is_preview: Whether Kubernetes version is currently in preview. + :type is_preview: bool + """ + + _attribute_map = { + 'kubernetes_version': {'key': 'kubernetesVersion', 'type': 'str'}, + 'is_preview': {'key': 'isPreview', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(ManagedClusterPoolUpgradeProfileUpgradesItem, self).__init__(**kwargs) + self.kubernetes_version = kwargs.get('kubernetes_version', None) + self.is_preview = kwargs.get('is_preview', None) + + +class ManagedClusterPropertiesAutoScalerProfile(Model): + """Parameters to be applied to the cluster-autoscaler when enabled. + + :param balance_similar_node_groups: + :type balance_similar_node_groups: str + :param expander: Possible values include: 'least-waste', 'most-pods', + 'priority', 'random' + :type expander: str or + ~azure.mgmt.containerservice.v2021_05_01.models.Expander + :param max_empty_bulk_delete: + :type max_empty_bulk_delete: str + :param max_graceful_termination_sec: + :type max_graceful_termination_sec: str + :param max_node_provision_time: + :type max_node_provision_time: str + :param max_total_unready_percentage: + :type max_total_unready_percentage: str + :param new_pod_scale_up_delay: + :type new_pod_scale_up_delay: str + :param ok_total_unready_count: + :type ok_total_unready_count: str + :param scan_interval: + :type scan_interval: str + :param scale_down_delay_after_add: + :type scale_down_delay_after_add: str + :param scale_down_delay_after_delete: + :type scale_down_delay_after_delete: str + :param scale_down_delay_after_failure: + :type scale_down_delay_after_failure: str + :param scale_down_unneeded_time: + :type scale_down_unneeded_time: str + :param scale_down_unready_time: + :type scale_down_unready_time: str + :param scale_down_utilization_threshold: + :type scale_down_utilization_threshold: str + :param skip_nodes_with_local_storage: + :type skip_nodes_with_local_storage: str + :param skip_nodes_with_system_pods: + :type skip_nodes_with_system_pods: str + """ + + _attribute_map = { + 'balance_similar_node_groups': {'key': 'balance-similar-node-groups', 'type': 'str'}, + 'expander': {'key': 'expander', 'type': 'str'}, + 'max_empty_bulk_delete': {'key': 'max-empty-bulk-delete', 'type': 'str'}, + 'max_graceful_termination_sec': {'key': 'max-graceful-termination-sec', 'type': 'str'}, + 'max_node_provision_time': {'key': 'max-node-provision-time', 'type': 'str'}, + 'max_total_unready_percentage': {'key': 'max-total-unready-percentage', 'type': 'str'}, + 'new_pod_scale_up_delay': {'key': 'new-pod-scale-up-delay', 'type': 'str'}, + 'ok_total_unready_count': {'key': 'ok-total-unready-count', 'type': 'str'}, + 'scan_interval': {'key': 'scan-interval', 'type': 'str'}, + 'scale_down_delay_after_add': {'key': 'scale-down-delay-after-add', 'type': 'str'}, + 'scale_down_delay_after_delete': {'key': 'scale-down-delay-after-delete', 'type': 'str'}, + 'scale_down_delay_after_failure': {'key': 'scale-down-delay-after-failure', 'type': 'str'}, + 'scale_down_unneeded_time': {'key': 'scale-down-unneeded-time', 'type': 'str'}, + 'scale_down_unready_time': {'key': 'scale-down-unready-time', 'type': 'str'}, + 'scale_down_utilization_threshold': {'key': 'scale-down-utilization-threshold', 'type': 'str'}, + 'skip_nodes_with_local_storage': {'key': 'skip-nodes-with-local-storage', 'type': 'str'}, + 'skip_nodes_with_system_pods': {'key': 'skip-nodes-with-system-pods', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ManagedClusterPropertiesAutoScalerProfile, self).__init__(**kwargs) + self.balance_similar_node_groups = kwargs.get('balance_similar_node_groups', None) + self.expander = kwargs.get('expander', None) + self.max_empty_bulk_delete = kwargs.get('max_empty_bulk_delete', None) + self.max_graceful_termination_sec = kwargs.get('max_graceful_termination_sec', None) + self.max_node_provision_time = kwargs.get('max_node_provision_time', None) + self.max_total_unready_percentage = kwargs.get('max_total_unready_percentage', None) + self.new_pod_scale_up_delay = kwargs.get('new_pod_scale_up_delay', None) + self.ok_total_unready_count = kwargs.get('ok_total_unready_count', None) + self.scan_interval = kwargs.get('scan_interval', None) + self.scale_down_delay_after_add = kwargs.get('scale_down_delay_after_add', None) + self.scale_down_delay_after_delete = kwargs.get('scale_down_delay_after_delete', None) + self.scale_down_delay_after_failure = kwargs.get('scale_down_delay_after_failure', None) + self.scale_down_unneeded_time = kwargs.get('scale_down_unneeded_time', None) + self.scale_down_unready_time = kwargs.get('scale_down_unready_time', None) + self.scale_down_utilization_threshold = kwargs.get('scale_down_utilization_threshold', None) + self.skip_nodes_with_local_storage = kwargs.get('skip_nodes_with_local_storage', None) + self.skip_nodes_with_system_pods = kwargs.get('skip_nodes_with_system_pods', None) + + +class ManagedClusterPropertiesIdentityProfileValue(UserAssignedIdentity): + """ManagedClusterPropertiesIdentityProfileValue. + + :param resource_id: The resource id of the user assigned identity. + :type resource_id: str + :param client_id: The client id of the user assigned identity. + :type client_id: str + :param object_id: The object id of the user assigned identity. + :type object_id: str + """ + + _attribute_map = { + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'client_id': {'key': 'clientId', 'type': 'str'}, + 'object_id': {'key': 'objectId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ManagedClusterPropertiesIdentityProfileValue, self).__init__(**kwargs) + + +class ManagedClusterServicePrincipalProfile(Model): + """Information about a service principal identity for the cluster to use for + manipulating Azure APIs. + + All required parameters must be populated in order to send to Azure. + + :param client_id: Required. The ID for the service principal. + :type client_id: str + :param secret: The secret password associated with the service principal + in plain text. + :type secret: str + """ + + _validation = { + 'client_id': {'required': True}, + } + + _attribute_map = { + 'client_id': {'key': 'clientId', 'type': 'str'}, + 'secret': {'key': 'secret', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ManagedClusterServicePrincipalProfile, self).__init__(**kwargs) + self.client_id = kwargs.get('client_id', None) + self.secret = kwargs.get('secret', None) + + +class ManagedClusterSKU(Model): + """ManagedClusterSKU. + + :param name: Name of a managed cluster SKU. Possible values include: + 'Basic' + :type name: str or + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterSKUName + :param tier: Tier of a managed cluster SKU. Possible values include: + 'Paid', 'Free' + :type tier: str or + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterSKUTier + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ManagedClusterSKU, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.tier = kwargs.get('tier', None) + + +class ManagedClusterUpgradeProfile(Model): + """The list of available upgrades for compute pools. + + 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: Id of upgrade profile. + :vartype id: str + :ivar name: Name of upgrade profile. + :vartype name: str + :ivar type: Type of upgrade profile. + :vartype type: str + :param control_plane_profile: Required. The list of available upgrade + versions for the control plane. + :type control_plane_profile: + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterPoolUpgradeProfile + :param agent_pool_profiles: Required. The list of available upgrade + versions for agent pools. + :type agent_pool_profiles: + list[~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterPoolUpgradeProfile] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'control_plane_profile': {'required': True}, + 'agent_pool_profiles': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'control_plane_profile': {'key': 'properties.controlPlaneProfile', 'type': 'ManagedClusterPoolUpgradeProfile'}, + 'agent_pool_profiles': {'key': 'properties.agentPoolProfiles', 'type': '[ManagedClusterPoolUpgradeProfile]'}, + } + + def __init__(self, **kwargs): + super(ManagedClusterUpgradeProfile, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.control_plane_profile = kwargs.get('control_plane_profile', None) + self.agent_pool_profiles = kwargs.get('agent_pool_profiles', None) + + +class ManagedClusterWindowsProfile(Model): + """Profile for Windows VMs in the container service cluster. + + All required parameters must be populated in order to send to Azure. + + :param admin_username: Required. Specifies the name of the administrator + account.

**restriction:** Cannot end in "."

**Disallowed + values:** "administrator", "admin", "user", "user1", "test", "user2", + "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", + "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", + "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", + "user4", "user5".

**Minimum-length:** 1 character

+ **Max-length:** 20 characters + :type admin_username: str + :param admin_password: Specifies the password of the administrator + account.

**Minimum-length:** 8 characters

+ **Max-length:** 123 characters

**Complexity requirements:** 3 out + of 4 conditions below need to be fulfilled
Has lower characters +
Has upper characters
Has a digit
Has a special character + (Regex match [\\W_])

**Disallowed values:** "abc@123", + "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", + "Password!", "Password1", "Password22", "iloveyou!" + :type admin_password: str + :param license_type: The licenseType to use for Windows VMs. + Windows_Server is used to enable Azure Hybrid User Benefits for Windows + VMs. Possible values include: 'None', 'Windows_Server' + :type license_type: str or + ~azure.mgmt.containerservice.v2021_05_01.models.LicenseType + :param enable_csi_proxy: Whether to enable CSI proxy. + :type enable_csi_proxy: bool + """ + + _validation = { + 'admin_username': {'required': True}, + } + + _attribute_map = { + 'admin_username': {'key': 'adminUsername', 'type': 'str'}, + 'admin_password': {'key': 'adminPassword', 'type': 'str'}, + 'license_type': {'key': 'licenseType', 'type': 'str'}, + 'enable_csi_proxy': {'key': 'enableCSIProxy', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(ManagedClusterWindowsProfile, self).__init__(**kwargs) + self.admin_username = kwargs.get('admin_username', None) + self.admin_password = kwargs.get('admin_password', None) + self.license_type = kwargs.get('license_type', None) + self.enable_csi_proxy = kwargs.get('enable_csi_proxy', None) + + +class OperationValue(Model): + """Describes the properties of a Compute Operation value. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar origin: The origin of the compute operation. + :vartype origin: str + :ivar name: The name of the compute operation. + :vartype name: str + :ivar operation: The display name of the compute operation. + :vartype operation: str + :ivar resource: The display name of the resource the operation applies to. + :vartype resource: str + :ivar description: The description of the operation. + :vartype description: str + :ivar provider: The resource provider for the operation. + :vartype provider: str + """ + + _validation = { + 'origin': {'readonly': True}, + 'name': {'readonly': True}, + 'operation': {'readonly': True}, + 'resource': {'readonly': True}, + 'description': {'readonly': True}, + 'provider': {'readonly': True}, + } + + _attribute_map = { + 'origin': {'key': 'origin', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'operation': {'key': 'display.operation', 'type': 'str'}, + 'resource': {'key': 'display.resource', 'type': 'str'}, + 'description': {'key': 'display.description', 'type': 'str'}, + 'provider': {'key': 'display.provider', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(OperationValue, self).__init__(**kwargs) + self.origin = None + self.name = None + self.operation = None + self.resource = None + self.description = None + self.provider = None + + +class OSOptionProfile(Model): + """The OS option profile. + + 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: Id of the OS option profile. + :vartype id: str + :ivar name: Name of the OS option profile. + :vartype name: str + :ivar type: Type of the OS option profile. + :vartype type: str + :param os_option_property_list: Required. The list of OS option + properties. + :type os_option_property_list: + list[~azure.mgmt.containerservice.v2021_05_01.models.OSOptionProperty] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'os_option_property_list': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'os_option_property_list': {'key': 'properties.osOptionPropertyList', 'type': '[OSOptionProperty]'}, + } + + def __init__(self, **kwargs): + super(OSOptionProfile, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.os_option_property_list = kwargs.get('os_option_property_list', None) + + +class OSOptionProperty(Model): + """OS option property. + + All required parameters must be populated in order to send to Azure. + + :param os_type: Required. OS type. + :type os_type: str + :param enable_fips_image: Required. Whether FIPS image is enabled. + :type enable_fips_image: bool + """ + + _validation = { + 'os_type': {'required': True}, + 'enable_fips_image': {'required': True}, + } + + _attribute_map = { + 'os_type': {'key': 'os-type', 'type': 'str'}, + 'enable_fips_image': {'key': 'enable-fips-image', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(OSOptionProperty, self).__init__(**kwargs) + self.os_type = kwargs.get('os_type', None) + self.enable_fips_image = kwargs.get('enable_fips_image', None) + + +class OutboundEnvironmentEndpoint(Model): + """Egress endpoints which AKS agent nodes connect to for common purpose. + + :param category: The category of endpoints accessed by the AKS agent node, + e.g. azure-resource-management, apiserver, etc. + :type category: str + :param endpoints: The endpoints that AKS agent nodes connect to + :type endpoints: + list[~azure.mgmt.containerservice.v2021_05_01.models.EndpointDependency] + """ + + _attribute_map = { + 'category': {'key': 'category', 'type': 'str'}, + 'endpoints': {'key': 'endpoints', 'type': '[EndpointDependency]'}, + } + + def __init__(self, **kwargs): + super(OutboundEnvironmentEndpoint, self).__init__(**kwargs) + self.category = kwargs.get('category', None) + self.endpoints = kwargs.get('endpoints', None) + + +class PowerState(Model): + """Describes the Power State of the cluster. + + :param code: Tells whether the cluster is Running or Stopped. Possible + values include: 'Running', 'Stopped' + :type code: str or ~azure.mgmt.containerservice.v2021_05_01.models.Code + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PowerState, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + + +class PrivateEndpoint(Model): + """Private endpoint which a connection belongs to. + + :param id: The resource Id for private endpoint + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PrivateEndpoint, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + + +class PrivateEndpointConnection(Model): + """A private endpoint connection. + + 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: The ID of the private endpoint connection. + :vartype id: str + :ivar name: The name of the private endpoint connection. + :vartype name: str + :ivar type: The resource type. + :vartype type: str + :ivar provisioning_state: The current provisioning state. Possible values + include: 'Succeeded', 'Creating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.containerservice.v2021_05_01.models.PrivateEndpointConnectionProvisioningState + :param private_endpoint: The resource of private endpoint. + :type private_endpoint: + ~azure.mgmt.containerservice.v2021_05_01.models.PrivateEndpoint + :param private_link_service_connection_state: Required. A collection of + information about the state of the connection between service consumer and + provider. + :type private_link_service_connection_state: + ~azure.mgmt.containerservice.v2021_05_01.models.PrivateLinkServiceConnectionState + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'private_link_service_connection_state': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'private_endpoint': {'key': 'properties.privateEndpoint', 'type': 'PrivateEndpoint'}, + 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'}, + } + + def __init__(self, **kwargs): + super(PrivateEndpointConnection, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.provisioning_state = None + self.private_endpoint = kwargs.get('private_endpoint', None) + self.private_link_service_connection_state = kwargs.get('private_link_service_connection_state', None) + + +class PrivateEndpointConnectionListResult(Model): + """A list of private endpoint connections. + + :param value: The collection value. + :type value: + list[~azure.mgmt.containerservice.v2021_05_01.models.PrivateEndpointConnection] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PrivateEndpointConnection]'}, + } + + def __init__(self, **kwargs): + super(PrivateEndpointConnectionListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class PrivateLinkResource(Model): + """A private link resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: The ID of the private link resource. + :type id: str + :param name: The name of the private link resource. + :type name: str + :param type: The resource type. + :type type: str + :param group_id: The group ID of the resource. + :type group_id: str + :param required_members: RequiredMembers of the resource + :type required_members: list[str] + :ivar private_link_service_id: The private link service ID of the + resource, this field is exposed only to NRP internally. + :vartype private_link_service_id: str + """ + + _validation = { + 'private_link_service_id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'group_id': {'key': 'groupId', 'type': 'str'}, + 'required_members': {'key': 'requiredMembers', 'type': '[str]'}, + 'private_link_service_id': {'key': 'privateLinkServiceID', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PrivateLinkResource, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.name = kwargs.get('name', None) + self.type = kwargs.get('type', None) + self.group_id = kwargs.get('group_id', None) + self.required_members = kwargs.get('required_members', None) + self.private_link_service_id = None + + +class PrivateLinkResourcesListResult(Model): + """A list of private link resources. + + :param value: The collection value. + :type value: + list[~azure.mgmt.containerservice.v2021_05_01.models.PrivateLinkResource] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PrivateLinkResource]'}, + } + + def __init__(self, **kwargs): + super(PrivateLinkResourcesListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + + +class PrivateLinkServiceConnectionState(Model): + """The state of a private link service connection. + + :param status: The private link service connection status. Possible values + include: 'Pending', 'Approved', 'Rejected', 'Disconnected' + :type status: str or + ~azure.mgmt.containerservice.v2021_05_01.models.ConnectionStatus + :param description: The private link service connection description. + :type description: str + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PrivateLinkServiceConnectionState, self).__init__(**kwargs) + self.status = kwargs.get('status', None) + self.description = kwargs.get('description', None) + + +class ResourceReference(Model): + """A reference to an Azure resource. + + :param id: The fully qualified Azure resource id. + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceReference, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + + +class RunCommandRequest(Model): + """run command request. + + All required parameters must be populated in order to send to Azure. + + :param command: Required. command to run. + :type command: str + :param context: base64 encoded zip file, contains files required by the + command + :type context: str + :param cluster_token: AuthToken issued for AKS AAD Server App. + :type cluster_token: str + """ + + _validation = { + 'command': {'required': True}, + } + + _attribute_map = { + 'command': {'key': 'command', 'type': 'str'}, + 'context': {'key': 'context', 'type': 'str'}, + 'cluster_token': {'key': 'clusterToken', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(RunCommandRequest, self).__init__(**kwargs) + self.command = kwargs.get('command', None) + self.context = kwargs.get('context', None) + self.cluster_token = kwargs.get('cluster_token', None) + + +class RunCommandResult(Model): + """run command result. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: command id. + :vartype id: str + :ivar provisioning_state: provisioning State + :vartype provisioning_state: str + :ivar exit_code: exit code of the command + :vartype exit_code: int + :ivar started_at: time when the command started. + :vartype started_at: datetime + :ivar finished_at: time when the command finished. + :vartype finished_at: datetime + :ivar logs: command output. + :vartype logs: str + :ivar reason: explain why provisioningState is set to failed (if so). + :vartype reason: str + """ + + _validation = { + 'id': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'exit_code': {'readonly': True}, + 'started_at': {'readonly': True}, + 'finished_at': {'readonly': True}, + 'logs': {'readonly': True}, + 'reason': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'exit_code': {'key': 'properties.exitCode', 'type': 'int'}, + 'started_at': {'key': 'properties.startedAt', 'type': 'iso-8601'}, + 'finished_at': {'key': 'properties.finishedAt', 'type': 'iso-8601'}, + 'logs': {'key': 'properties.logs', 'type': 'str'}, + 'reason': {'key': 'properties.reason', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(RunCommandResult, self).__init__(**kwargs) + self.id = None + self.provisioning_state = None + self.exit_code = None + self.started_at = None + self.finished_at = None + self.logs = None + self.reason = None + + +class SysctlConfig(Model): + """Sysctl settings for Linux agent nodes. + + :param net_core_somaxconn: Sysctl setting net.core.somaxconn. + :type net_core_somaxconn: int + :param net_core_netdev_max_backlog: Sysctl setting + net.core.netdev_max_backlog. + :type net_core_netdev_max_backlog: int + :param net_core_rmem_default: Sysctl setting net.core.rmem_default. + :type net_core_rmem_default: int + :param net_core_rmem_max: Sysctl setting net.core.rmem_max. + :type net_core_rmem_max: int + :param net_core_wmem_default: Sysctl setting net.core.wmem_default. + :type net_core_wmem_default: int + :param net_core_wmem_max: Sysctl setting net.core.wmem_max. + :type net_core_wmem_max: int + :param net_core_optmem_max: Sysctl setting net.core.optmem_max. + :type net_core_optmem_max: int + :param net_ipv4_tcp_max_syn_backlog: Sysctl setting + net.ipv4.tcp_max_syn_backlog. + :type net_ipv4_tcp_max_syn_backlog: int + :param net_ipv4_tcp_max_tw_buckets: Sysctl setting + net.ipv4.tcp_max_tw_buckets. + :type net_ipv4_tcp_max_tw_buckets: int + :param net_ipv4_tcp_fin_timeout: Sysctl setting net.ipv4.tcp_fin_timeout. + :type net_ipv4_tcp_fin_timeout: int + :param net_ipv4_tcp_keepalive_time: Sysctl setting + net.ipv4.tcp_keepalive_time. + :type net_ipv4_tcp_keepalive_time: int + :param net_ipv4_tcp_keepalive_probes: Sysctl setting + net.ipv4.tcp_keepalive_probes. + :type net_ipv4_tcp_keepalive_probes: int + :param net_ipv4_tcpkeepalive_intvl: Sysctl setting + net.ipv4.tcp_keepalive_intvl. + :type net_ipv4_tcpkeepalive_intvl: int + :param net_ipv4_tcp_tw_reuse: Sysctl setting net.ipv4.tcp_tw_reuse. + :type net_ipv4_tcp_tw_reuse: bool + :param net_ipv4_ip_local_port_range: Sysctl setting + net.ipv4.ip_local_port_range. + :type net_ipv4_ip_local_port_range: str + :param net_ipv4_neigh_default_gc_thresh1: Sysctl setting + net.ipv4.neigh.default.gc_thresh1. + :type net_ipv4_neigh_default_gc_thresh1: int + :param net_ipv4_neigh_default_gc_thresh2: Sysctl setting + net.ipv4.neigh.default.gc_thresh2. + :type net_ipv4_neigh_default_gc_thresh2: int + :param net_ipv4_neigh_default_gc_thresh3: Sysctl setting + net.ipv4.neigh.default.gc_thresh3. + :type net_ipv4_neigh_default_gc_thresh3: int + :param net_netfilter_nf_conntrack_max: Sysctl setting + net.netfilter.nf_conntrack_max. + :type net_netfilter_nf_conntrack_max: int + :param net_netfilter_nf_conntrack_buckets: Sysctl setting + net.netfilter.nf_conntrack_buckets. + :type net_netfilter_nf_conntrack_buckets: int + :param fs_inotify_max_user_watches: Sysctl setting + fs.inotify.max_user_watches. + :type fs_inotify_max_user_watches: int + :param fs_file_max: Sysctl setting fs.file-max. + :type fs_file_max: int + :param fs_aio_max_nr: Sysctl setting fs.aio-max-nr. + :type fs_aio_max_nr: int + :param fs_nr_open: Sysctl setting fs.nr_open. + :type fs_nr_open: int + :param kernel_threads_max: Sysctl setting kernel.threads-max. + :type kernel_threads_max: int + :param vm_max_map_count: Sysctl setting vm.max_map_count. + :type vm_max_map_count: int + :param vm_swappiness: Sysctl setting vm.swappiness. + :type vm_swappiness: int + :param vm_vfs_cache_pressure: Sysctl setting vm.vfs_cache_pressure. + :type vm_vfs_cache_pressure: int + """ + + _attribute_map = { + 'net_core_somaxconn': {'key': 'netCoreSomaxconn', 'type': 'int'}, + 'net_core_netdev_max_backlog': {'key': 'netCoreNetdevMaxBacklog', 'type': 'int'}, + 'net_core_rmem_default': {'key': 'netCoreRmemDefault', 'type': 'int'}, + 'net_core_rmem_max': {'key': 'netCoreRmemMax', 'type': 'int'}, + 'net_core_wmem_default': {'key': 'netCoreWmemDefault', 'type': 'int'}, + 'net_core_wmem_max': {'key': 'netCoreWmemMax', 'type': 'int'}, + 'net_core_optmem_max': {'key': 'netCoreOptmemMax', 'type': 'int'}, + 'net_ipv4_tcp_max_syn_backlog': {'key': 'netIpv4TcpMaxSynBacklog', 'type': 'int'}, + 'net_ipv4_tcp_max_tw_buckets': {'key': 'netIpv4TcpMaxTwBuckets', 'type': 'int'}, + 'net_ipv4_tcp_fin_timeout': {'key': 'netIpv4TcpFinTimeout', 'type': 'int'}, + 'net_ipv4_tcp_keepalive_time': {'key': 'netIpv4TcpKeepaliveTime', 'type': 'int'}, + 'net_ipv4_tcp_keepalive_probes': {'key': 'netIpv4TcpKeepaliveProbes', 'type': 'int'}, + 'net_ipv4_tcpkeepalive_intvl': {'key': 'netIpv4TcpkeepaliveIntvl', 'type': 'int'}, + 'net_ipv4_tcp_tw_reuse': {'key': 'netIpv4TcpTwReuse', 'type': 'bool'}, + 'net_ipv4_ip_local_port_range': {'key': 'netIpv4IpLocalPortRange', 'type': 'str'}, + 'net_ipv4_neigh_default_gc_thresh1': {'key': 'netIpv4NeighDefaultGcThresh1', 'type': 'int'}, + 'net_ipv4_neigh_default_gc_thresh2': {'key': 'netIpv4NeighDefaultGcThresh2', 'type': 'int'}, + 'net_ipv4_neigh_default_gc_thresh3': {'key': 'netIpv4NeighDefaultGcThresh3', 'type': 'int'}, + 'net_netfilter_nf_conntrack_max': {'key': 'netNetfilterNfConntrackMax', 'type': 'int'}, + 'net_netfilter_nf_conntrack_buckets': {'key': 'netNetfilterNfConntrackBuckets', 'type': 'int'}, + 'fs_inotify_max_user_watches': {'key': 'fsInotifyMaxUserWatches', 'type': 'int'}, + 'fs_file_max': {'key': 'fsFileMax', 'type': 'int'}, + 'fs_aio_max_nr': {'key': 'fsAioMaxNr', 'type': 'int'}, + 'fs_nr_open': {'key': 'fsNrOpen', 'type': 'int'}, + 'kernel_threads_max': {'key': 'kernelThreadsMax', 'type': 'int'}, + 'vm_max_map_count': {'key': 'vmMaxMapCount', 'type': 'int'}, + 'vm_swappiness': {'key': 'vmSwappiness', 'type': 'int'}, + 'vm_vfs_cache_pressure': {'key': 'vmVfsCachePressure', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(SysctlConfig, self).__init__(**kwargs) + self.net_core_somaxconn = kwargs.get('net_core_somaxconn', None) + self.net_core_netdev_max_backlog = kwargs.get('net_core_netdev_max_backlog', None) + self.net_core_rmem_default = kwargs.get('net_core_rmem_default', None) + self.net_core_rmem_max = kwargs.get('net_core_rmem_max', None) + self.net_core_wmem_default = kwargs.get('net_core_wmem_default', None) + self.net_core_wmem_max = kwargs.get('net_core_wmem_max', None) + self.net_core_optmem_max = kwargs.get('net_core_optmem_max', None) + self.net_ipv4_tcp_max_syn_backlog = kwargs.get('net_ipv4_tcp_max_syn_backlog', None) + self.net_ipv4_tcp_max_tw_buckets = kwargs.get('net_ipv4_tcp_max_tw_buckets', None) + self.net_ipv4_tcp_fin_timeout = kwargs.get('net_ipv4_tcp_fin_timeout', None) + self.net_ipv4_tcp_keepalive_time = kwargs.get('net_ipv4_tcp_keepalive_time', None) + self.net_ipv4_tcp_keepalive_probes = kwargs.get('net_ipv4_tcp_keepalive_probes', None) + self.net_ipv4_tcpkeepalive_intvl = kwargs.get('net_ipv4_tcpkeepalive_intvl', None) + self.net_ipv4_tcp_tw_reuse = kwargs.get('net_ipv4_tcp_tw_reuse', None) + self.net_ipv4_ip_local_port_range = kwargs.get('net_ipv4_ip_local_port_range', None) + self.net_ipv4_neigh_default_gc_thresh1 = kwargs.get('net_ipv4_neigh_default_gc_thresh1', None) + self.net_ipv4_neigh_default_gc_thresh2 = kwargs.get('net_ipv4_neigh_default_gc_thresh2', None) + self.net_ipv4_neigh_default_gc_thresh3 = kwargs.get('net_ipv4_neigh_default_gc_thresh3', None) + self.net_netfilter_nf_conntrack_max = kwargs.get('net_netfilter_nf_conntrack_max', None) + self.net_netfilter_nf_conntrack_buckets = kwargs.get('net_netfilter_nf_conntrack_buckets', None) + self.fs_inotify_max_user_watches = kwargs.get('fs_inotify_max_user_watches', None) + self.fs_file_max = kwargs.get('fs_file_max', None) + self.fs_aio_max_nr = kwargs.get('fs_aio_max_nr', None) + self.fs_nr_open = kwargs.get('fs_nr_open', None) + self.kernel_threads_max = kwargs.get('kernel_threads_max', None) + self.vm_max_map_count = kwargs.get('vm_max_map_count', None) + self.vm_swappiness = kwargs.get('vm_swappiness', None) + self.vm_vfs_cache_pressure = kwargs.get('vm_vfs_cache_pressure', None) + + +class SystemData(Model): + """Metadata pertaining to creation and last modification of the resource. + + :param created_by: The identity that created the resource. + :type created_by: str + :param created_by_type: The type of identity that created the resource. + Possible values include: 'User', 'Application', 'ManagedIdentity', 'Key' + :type created_by_type: str or + ~azure.mgmt.containerservice.v2021_05_01.models.CreatedByType + :param created_at: The timestamp of resource creation (UTC). + :type created_at: datetime + :param last_modified_by: The identity that last modified the resource. + :type last_modified_by: str + :param last_modified_by_type: The type of identity that last modified the + resource. Possible values include: 'User', 'Application', + 'ManagedIdentity', 'Key' + :type last_modified_by_type: str or + ~azure.mgmt.containerservice.v2021_05_01.models.CreatedByType + :param last_modified_at: The type of identity that last modified the + resource. + :type last_modified_at: datetime + """ + + _attribute_map = { + 'created_by': {'key': 'createdBy', 'type': 'str'}, + 'created_by_type': {'key': 'createdByType', 'type': 'str'}, + 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, + 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, + 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, + 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, + } + + def __init__(self, **kwargs): + super(SystemData, self).__init__(**kwargs) + self.created_by = kwargs.get('created_by', None) + self.created_by_type = kwargs.get('created_by_type', None) + self.created_at = kwargs.get('created_at', None) + self.last_modified_by = kwargs.get('last_modified_by', None) + self.last_modified_by_type = kwargs.get('last_modified_by_type', None) + self.last_modified_at = kwargs.get('last_modified_at', None) + + +class TagsObject(Model): + """Tags object for patch operations. + + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(TagsObject, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) + + +class TimeInWeek(Model): + """Time in a week. + + :param day: A day in a week. Possible values include: 'Sunday', 'Monday', + 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday' + :type day: str or ~azure.mgmt.containerservice.v2021_05_01.models.WeekDay + :param hour_slots: hour slots in a day. + :type hour_slots: list[int] + """ + + _attribute_map = { + 'day': {'key': 'day', 'type': 'str'}, + 'hour_slots': {'key': 'hourSlots', 'type': '[int]'}, + } + + def __init__(self, **kwargs): + super(TimeInWeek, self).__init__(**kwargs) + self.day = kwargs.get('day', None) + self.hour_slots = kwargs.get('hour_slots', None) + + +class TimeSpan(Model): + """The time span with start and end properties. + + :param start: The start of a time span + :type start: datetime + :param end: The end of a time span + :type end: datetime + """ + + _attribute_map = { + 'start': {'key': 'start', 'type': 'iso-8601'}, + 'end': {'key': 'end', 'type': 'iso-8601'}, + } + + def __init__(self, **kwargs): + super(TimeSpan, self).__init__(**kwargs) + self.start = kwargs.get('start', None) + self.end = kwargs.get('end', None) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/models/_models_py3.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/models/_models_py3.py new file mode 100644 index 00000000000..aeaae816e3e --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/models/_models_py3.py @@ -0,0 +1,3300 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license 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 SubResource(Model): + """Reference to another subresource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :vartype name: str + :ivar type: Resource type + :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(SubResource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + + +class AgentPool(SubResource): + """Agent Pool. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :vartype name: str + :ivar type: Resource type + :vartype type: str + :param count: Number of agents (VMs) to host docker containers. Allowed + values must be in the range of 0 to 1000 (inclusive) for user pools and in + the range of 1 to 1000 (inclusive) for system pools. The default value is + 1. + :type count: int + :param vm_size: Size of agent VMs. + :type vm_size: str + :param os_disk_size_gb: OS Disk Size in GB to be used to specify the disk + size for every machine in this master/agent pool. If you specify 0, it + will apply the default osDisk size according to the vmSize specified. + :type os_disk_size_gb: int + :param os_disk_type: OS disk type to be used for machines in a given agent + pool. Allowed values are 'Ephemeral' and 'Managed'. If unspecified, + defaults to 'Ephemeral' when the VM supports ephemeral OS and has a cache + disk larger than the requested OSDiskSizeGB. Otherwise, defaults to + 'Managed'. May not be changed after creation. Possible values include: + 'Managed', 'Ephemeral' + :type os_disk_type: str or + ~azure.mgmt.containerservice.v2021_05_01.models.OSDiskType + :param kubelet_disk_type: KubeletDiskType determines the placement of + emptyDir volumes, container runtime data root, and Kubelet ephemeral + storage. Currently allows one value, OS, resulting in Kubelet using the OS + disk for data. Possible values include: 'OS', 'Temporary' + :type kubelet_disk_type: str or + ~azure.mgmt.containerservice.v2021_05_01.models.KubeletDiskType + :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet + identifier for nodes and maybe pods + :type vnet_subnet_id: str + :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier + for pods. + :type pod_subnet_id: str + :param max_pods: Maximum number of pods that can run on a node. + :type max_pods: int + :param os_type: OsType to be used to specify os type. Choose from Linux + and Windows. Default to Linux. Possible values include: 'Linux', + 'Windows'. Default value: "Linux" . + :type os_type: str or + ~azure.mgmt.containerservice.v2021_05_01.models.OSType + :param os_sku: OsSKU to be used to specify os sku. Choose from + Ubuntu(default) and CBLMariner for Linux OSType. Not applicable to Windows + OSType. Possible values include: 'Ubuntu', 'CBLMariner' + :type os_sku: str or ~azure.mgmt.containerservice.v2021_05_01.models.OSSKU + :param max_count: Maximum number of nodes for auto-scaling + :type max_count: int + :param min_count: Minimum number of nodes for auto-scaling + :type min_count: int + :param enable_auto_scaling: Whether to enable auto-scaler + :type enable_auto_scaling: bool + :param agent_pool_type: AgentPoolType represents types of an agent pool. + Possible values include: 'VirtualMachineScaleSets', 'AvailabilitySet' + :type agent_pool_type: str or + ~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolType + :param mode: AgentPoolMode represents mode of an agent pool. Possible + values include: 'System', 'User' + :type mode: str or + ~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolMode + :param orchestrator_version: Version of orchestrator specified when + creating the managed cluster. + :type orchestrator_version: str + :ivar node_image_version: Version of node image + :vartype node_image_version: str + :param upgrade_settings: Settings for upgrading the agentpool + :type upgrade_settings: + ~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolUpgradeSettings + :ivar provisioning_state: The current deployment or provisioning state, + which only appears in the response. + :vartype provisioning_state: str + :ivar power_state: Describes whether the Agent Pool is Running or Stopped + :vartype power_state: + ~azure.mgmt.containerservice.v2021_05_01.models.PowerState + :param availability_zones: Availability zones for nodes. Must use + VirtualMachineScaleSets AgentPoolType. + :type availability_zones: list[str] + :param enable_node_public_ip: Enable public IP for nodes + :type enable_node_public_ip: bool + :param node_public_ip_prefix_id: Public IP Prefix ID. VM nodes use IPs + assigned from this Public IP Prefix. + :type node_public_ip_prefix_id: str + :param scale_set_priority: ScaleSetPriority to be used to specify virtual + machine scale set priority. Default to regular. Possible values include: + 'Spot', 'Regular'. Default value: "Regular" . + :type scale_set_priority: str or + ~azure.mgmt.containerservice.v2021_05_01.models.ScaleSetPriority + :param scale_set_eviction_policy: ScaleSetEvictionPolicy to be used to + specify eviction policy for Spot virtual machine scale set. Default to + Delete. Possible values include: 'Delete', 'Deallocate'. Default value: + "Delete" . + :type scale_set_eviction_policy: str or + ~azure.mgmt.containerservice.v2021_05_01.models.ScaleSetEvictionPolicy + :param spot_max_price: SpotMaxPrice to be used to specify the maximum + price you are willing to pay in US Dollars. Possible values are any + decimal value greater than zero or -1 which indicates default price to be + up-to on-demand. + :type spot_max_price: float + :param tags: Agent pool tags to be persisted on the agent pool virtual + machine scale set. + :type tags: dict[str, str] + :param node_labels: Agent pool node labels to be persisted across all + nodes in agent pool. + :type node_labels: dict[str, str] + :param node_taints: Taints added to new nodes during node pool create and + scale. For example, key=value:NoSchedule. + :type node_taints: list[str] + :param proximity_placement_group_id: The ID for Proximity Placement Group. + :type proximity_placement_group_id: str + :param kubelet_config: KubeletConfig specifies the configuration of + kubelet on agent nodes. + :type kubelet_config: + ~azure.mgmt.containerservice.v2021_05_01.models.KubeletConfig + :param linux_os_config: LinuxOSConfig specifies the OS configuration of + linux agent nodes. + :type linux_os_config: + ~azure.mgmt.containerservice.v2021_05_01.models.LinuxOSConfig + :param enable_encryption_at_host: Whether to enable EncryptionAtHost + :type enable_encryption_at_host: bool + :param enable_ultra_ssd: Whether to enable UltraSSD + :type enable_ultra_ssd: bool + :param enable_fips: Whether to use FIPS enabled OS + :type enable_fips: bool + :param gpu_instance_profile: GPUInstanceProfile to be used to specify GPU + MIG instance profile for supported GPU VM SKU. Supported values are MIG1g, + MIG2g, MIG3g, MIG4g and MIG7g. Possible values include: 'MIG1g', 'MIG2g', + 'MIG3g', 'MIG4g', 'MIG7g' + :type gpu_instance_profile: str or + ~azure.mgmt.containerservice.v2021_05_01.models.GPUInstanceProfile + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'node_image_version': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'power_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'count': {'key': 'properties.count', 'type': 'int'}, + 'vm_size': {'key': 'properties.vmSize', 'type': 'str'}, + 'os_disk_size_gb': {'key': 'properties.osDiskSizeGB', 'type': 'int'}, + 'os_disk_type': {'key': 'properties.osDiskType', 'type': 'str'}, + 'kubelet_disk_type': {'key': 'properties.kubeletDiskType', 'type': 'str'}, + 'vnet_subnet_id': {'key': 'properties.vnetSubnetID', 'type': 'str'}, + 'pod_subnet_id': {'key': 'properties.podSubnetID', 'type': 'str'}, + 'max_pods': {'key': 'properties.maxPods', 'type': 'int'}, + 'os_type': {'key': 'properties.osType', 'type': 'str'}, + 'os_sku': {'key': 'properties.osSKU', 'type': 'str'}, + 'max_count': {'key': 'properties.maxCount', 'type': 'int'}, + 'min_count': {'key': 'properties.minCount', 'type': 'int'}, + 'enable_auto_scaling': {'key': 'properties.enableAutoScaling', 'type': 'bool'}, + 'agent_pool_type': {'key': 'properties.type', 'type': 'str'}, + 'mode': {'key': 'properties.mode', 'type': 'str'}, + 'orchestrator_version': {'key': 'properties.orchestratorVersion', 'type': 'str'}, + 'node_image_version': {'key': 'properties.nodeImageVersion', 'type': 'str'}, + 'upgrade_settings': {'key': 'properties.upgradeSettings', 'type': 'AgentPoolUpgradeSettings'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'power_state': {'key': 'properties.powerState', 'type': 'PowerState'}, + 'availability_zones': {'key': 'properties.availabilityZones', 'type': '[str]'}, + 'enable_node_public_ip': {'key': 'properties.enableNodePublicIP', 'type': 'bool'}, + 'node_public_ip_prefix_id': {'key': 'properties.nodePublicIPPrefixID', 'type': 'str'}, + 'scale_set_priority': {'key': 'properties.scaleSetPriority', 'type': 'str'}, + 'scale_set_eviction_policy': {'key': 'properties.scaleSetEvictionPolicy', 'type': 'str'}, + 'spot_max_price': {'key': 'properties.spotMaxPrice', 'type': 'float'}, + 'tags': {'key': 'properties.tags', 'type': '{str}'}, + 'node_labels': {'key': 'properties.nodeLabels', 'type': '{str}'}, + 'node_taints': {'key': 'properties.nodeTaints', 'type': '[str]'}, + 'proximity_placement_group_id': {'key': 'properties.proximityPlacementGroupID', 'type': 'str'}, + 'kubelet_config': {'key': 'properties.kubeletConfig', 'type': 'KubeletConfig'}, + 'linux_os_config': {'key': 'properties.linuxOSConfig', 'type': 'LinuxOSConfig'}, + 'enable_encryption_at_host': {'key': 'properties.enableEncryptionAtHost', 'type': 'bool'}, + 'enable_ultra_ssd': {'key': 'properties.enableUltraSSD', 'type': 'bool'}, + 'enable_fips': {'key': 'properties.enableFIPS', 'type': 'bool'}, + 'gpu_instance_profile': {'key': 'properties.gpuInstanceProfile', 'type': 'str'}, + } + + def __init__(self, *, count: int=None, vm_size: str=None, os_disk_size_gb: int=None, os_disk_type=None, kubelet_disk_type=None, vnet_subnet_id: str=None, pod_subnet_id: str=None, max_pods: int=None, os_type="Linux", os_sku=None, max_count: int=None, min_count: int=None, enable_auto_scaling: bool=None, agent_pool_type=None, mode=None, orchestrator_version: str=None, upgrade_settings=None, availability_zones=None, enable_node_public_ip: bool=None, node_public_ip_prefix_id: str=None, scale_set_priority="Regular", scale_set_eviction_policy="Delete", spot_max_price: float=None, tags=None, node_labels=None, node_taints=None, proximity_placement_group_id: str=None, kubelet_config=None, linux_os_config=None, enable_encryption_at_host: bool=None, enable_ultra_ssd: bool=None, enable_fips: bool=None, gpu_instance_profile=None, **kwargs) -> None: + super(AgentPool, self).__init__(**kwargs) + self.count = count + self.vm_size = vm_size + self.os_disk_size_gb = os_disk_size_gb + self.os_disk_type = os_disk_type + self.kubelet_disk_type = kubelet_disk_type + self.vnet_subnet_id = vnet_subnet_id + self.pod_subnet_id = pod_subnet_id + self.max_pods = max_pods + self.os_type = os_type + self.os_sku = os_sku + self.max_count = max_count + self.min_count = min_count + self.enable_auto_scaling = enable_auto_scaling + self.agent_pool_type = agent_pool_type + self.mode = mode + self.orchestrator_version = orchestrator_version + self.node_image_version = None + self.upgrade_settings = upgrade_settings + self.provisioning_state = None + self.power_state = None + self.availability_zones = availability_zones + self.enable_node_public_ip = enable_node_public_ip + self.node_public_ip_prefix_id = node_public_ip_prefix_id + self.scale_set_priority = scale_set_priority + self.scale_set_eviction_policy = scale_set_eviction_policy + self.spot_max_price = spot_max_price + self.tags = tags + self.node_labels = node_labels + self.node_taints = node_taints + self.proximity_placement_group_id = proximity_placement_group_id + self.kubelet_config = kubelet_config + self.linux_os_config = linux_os_config + self.enable_encryption_at_host = enable_encryption_at_host + self.enable_ultra_ssd = enable_ultra_ssd + self.enable_fips = enable_fips + self.gpu_instance_profile = gpu_instance_profile + + +class AgentPoolAvailableVersions(Model): + """The list of available versions for an agent pool. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Id of the agent pool available versions. + :vartype id: str + :ivar name: Name of the agent pool available versions. + :vartype name: str + :ivar type: Type of the agent pool available versions. + :vartype type: str + :param agent_pool_versions: List of versions available for agent pool. + :type agent_pool_versions: + list[~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem] + """ + + _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'}, + 'agent_pool_versions': {'key': 'properties.agentPoolVersions', 'type': '[AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem]'}, + } + + def __init__(self, *, agent_pool_versions=None, **kwargs) -> None: + super(AgentPoolAvailableVersions, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.agent_pool_versions = agent_pool_versions + + +class AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem(Model): + """AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem. + + :param default: Whether this version is the default agent pool version. + :type default: bool + :param kubernetes_version: Kubernetes version (major, minor, patch). + :type kubernetes_version: str + :param is_preview: Whether Kubernetes version is currently in preview. + :type is_preview: bool + """ + + _attribute_map = { + 'default': {'key': 'default', 'type': 'bool'}, + 'kubernetes_version': {'key': 'kubernetesVersion', 'type': 'str'}, + 'is_preview': {'key': 'isPreview', 'type': 'bool'}, + } + + def __init__(self, *, default: bool=None, kubernetes_version: str=None, is_preview: bool=None, **kwargs) -> None: + super(AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem, self).__init__(**kwargs) + self.default = default + self.kubernetes_version = kubernetes_version + self.is_preview = is_preview + + +class AgentPoolUpgradeProfile(Model): + """The list of available upgrades for an agent pool. + + 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: Id of the agent pool upgrade profile. + :vartype id: str + :ivar name: Name of the agent pool upgrade profile. + :vartype name: str + :ivar type: Type of the agent pool upgrade profile. + :vartype type: str + :param kubernetes_version: Required. Kubernetes version (major, minor, + patch). + :type kubernetes_version: str + :param os_type: Required. OsType to be used to specify os type. Choose + from Linux and Windows. Default to Linux. Possible values include: + 'Linux', 'Windows'. Default value: "Linux" . + :type os_type: str or + ~azure.mgmt.containerservice.v2021_05_01.models.OSType + :param upgrades: List of orchestrator types and versions available for + upgrade. + :type upgrades: + list[~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolUpgradeProfilePropertiesUpgradesItem] + :param latest_node_image_version: LatestNodeImageVersion is the latest AKS + supported node image version. + :type latest_node_image_version: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'kubernetes_version': {'required': True}, + 'os_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'kubernetes_version': {'key': 'properties.kubernetesVersion', 'type': 'str'}, + 'os_type': {'key': 'properties.osType', 'type': 'str'}, + 'upgrades': {'key': 'properties.upgrades', 'type': '[AgentPoolUpgradeProfilePropertiesUpgradesItem]'}, + 'latest_node_image_version': {'key': 'properties.latestNodeImageVersion', 'type': 'str'}, + } + + def __init__(self, *, kubernetes_version: str, os_type="Linux", upgrades=None, latest_node_image_version: str=None, **kwargs) -> None: + super(AgentPoolUpgradeProfile, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.kubernetes_version = kubernetes_version + self.os_type = os_type + self.upgrades = upgrades + self.latest_node_image_version = latest_node_image_version + + +class AgentPoolUpgradeProfilePropertiesUpgradesItem(Model): + """AgentPoolUpgradeProfilePropertiesUpgradesItem. + + :param kubernetes_version: Kubernetes version (major, minor, patch). + :type kubernetes_version: str + :param is_preview: Whether Kubernetes version is currently in preview. + :type is_preview: bool + """ + + _attribute_map = { + 'kubernetes_version': {'key': 'kubernetesVersion', 'type': 'str'}, + 'is_preview': {'key': 'isPreview', 'type': 'bool'}, + } + + def __init__(self, *, kubernetes_version: str=None, is_preview: bool=None, **kwargs) -> None: + super(AgentPoolUpgradeProfilePropertiesUpgradesItem, self).__init__(**kwargs) + self.kubernetes_version = kubernetes_version + self.is_preview = is_preview + + +class AgentPoolUpgradeSettings(Model): + """Settings for upgrading an agentpool. + + :param max_surge: Count or percentage of additional nodes to be added + during upgrade. If empty uses AKS default + :type max_surge: str + """ + + _attribute_map = { + 'max_surge': {'key': 'maxSurge', 'type': 'str'}, + } + + def __init__(self, *, max_surge: str=None, **kwargs) -> None: + super(AgentPoolUpgradeSettings, self).__init__(**kwargs) + self.max_surge = max_surge + + +class CloudError(Model): + """An error response from the Container service. + + :param error: Details about the error. + :type error: + ~azure.mgmt.containerservice.v2021_05_01.models.CloudErrorBody + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'CloudErrorBody'}, + } + + def __init__(self, *, error=None, **kwargs) -> None: + super(CloudError, self).__init__(**kwargs) + self.error = error + + +class CloudErrorException(HttpOperationError): + """Server responsed with exception of type: 'CloudError'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(CloudErrorException, self).__init__(deserialize, response, 'CloudError', *args) + + +class CloudErrorBody(Model): + """An error response from the Container service. + + :param code: An identifier for the error. Codes are invariant and are + intended to be consumed programmatically. + :type code: str + :param message: A message describing the error, intended to be suitable + for display in a user interface. + :type message: str + :param target: The target of the particular error. For example, the name + of the property in error. + :type target: str + :param details: A list of additional details about the error. + :type details: + list[~azure.mgmt.containerservice.v2021_05_01.models.CloudErrorBody] + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[CloudErrorBody]'}, + } + + def __init__(self, *, code: str=None, message: str=None, target: str=None, details=None, **kwargs) -> None: + super(CloudErrorBody, self).__init__(**kwargs) + self.code = code + self.message = message + self.target = target + self.details = details + + +class ContainerServiceDiagnosticsProfile(Model): + """Profile for diagnostics on the container service cluster. + + All required parameters must be populated in order to send to Azure. + + :param vm_diagnostics: Required. Profile for diagnostics on the container + service VMs. + :type vm_diagnostics: + ~azure.mgmt.containerservice.v2021_05_01.models.ContainerServiceVMDiagnostics + """ + + _validation = { + 'vm_diagnostics': {'required': True}, + } + + _attribute_map = { + 'vm_diagnostics': {'key': 'vmDiagnostics', 'type': 'ContainerServiceVMDiagnostics'}, + } + + def __init__(self, *, vm_diagnostics, **kwargs) -> None: + super(ContainerServiceDiagnosticsProfile, self).__init__(**kwargs) + self.vm_diagnostics = vm_diagnostics + + +class ContainerServiceLinuxProfile(Model): + """Profile for Linux VMs in the container service cluster. + + All required parameters must be populated in order to send to Azure. + + :param admin_username: Required. The administrator username to use for + Linux VMs. + :type admin_username: str + :param ssh: Required. SSH configuration for Linux-based VMs running on + Azure. + :type ssh: + ~azure.mgmt.containerservice.v2021_05_01.models.ContainerServiceSshConfiguration + """ + + _validation = { + 'admin_username': {'required': True, 'pattern': r'^[A-Za-z][-A-Za-z0-9_]*$'}, + 'ssh': {'required': True}, + } + + _attribute_map = { + 'admin_username': {'key': 'adminUsername', 'type': 'str'}, + 'ssh': {'key': 'ssh', 'type': 'ContainerServiceSshConfiguration'}, + } + + def __init__(self, *, admin_username: str, ssh, **kwargs) -> None: + super(ContainerServiceLinuxProfile, self).__init__(**kwargs) + self.admin_username = admin_username + self.ssh = ssh + + +class ContainerServiceMasterProfile(Model): + """Profile for the container service master. + + 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 count: Number of masters (VMs) in the container service cluster. + Allowed values are 1, 3, and 5. The default value is 1. Default value: 1 . + :type count: int + :param dns_prefix: Required. DNS prefix to be used to create the FQDN for + the master pool. + :type dns_prefix: str + :param vm_size: Required. Size of agent VMs. Possible values include: + 'Standard_A1', 'Standard_A10', 'Standard_A11', 'Standard_A1_v2', + 'Standard_A2', 'Standard_A2_v2', 'Standard_A2m_v2', 'Standard_A3', + 'Standard_A4', 'Standard_A4_v2', 'Standard_A4m_v2', 'Standard_A5', + 'Standard_A6', 'Standard_A7', 'Standard_A8', 'Standard_A8_v2', + 'Standard_A8m_v2', 'Standard_A9', 'Standard_B2ms', 'Standard_B2s', + 'Standard_B4ms', 'Standard_B8ms', 'Standard_D1', 'Standard_D11', + 'Standard_D11_v2', 'Standard_D11_v2_Promo', 'Standard_D12', + 'Standard_D12_v2', 'Standard_D12_v2_Promo', 'Standard_D13', + 'Standard_D13_v2', 'Standard_D13_v2_Promo', 'Standard_D14', + 'Standard_D14_v2', 'Standard_D14_v2_Promo', 'Standard_D15_v2', + 'Standard_D16_v3', 'Standard_D16s_v3', 'Standard_D1_v2', 'Standard_D2', + 'Standard_D2_v2', 'Standard_D2_v2_Promo', 'Standard_D2_v3', + 'Standard_D2s_v3', 'Standard_D3', 'Standard_D32_v3', 'Standard_D32s_v3', + 'Standard_D3_v2', 'Standard_D3_v2_Promo', 'Standard_D4', 'Standard_D4_v2', + 'Standard_D4_v2_Promo', 'Standard_D4_v3', 'Standard_D4s_v3', + 'Standard_D5_v2', 'Standard_D5_v2_Promo', 'Standard_D64_v3', + 'Standard_D64s_v3', 'Standard_D8_v3', 'Standard_D8s_v3', 'Standard_DS1', + 'Standard_DS11', 'Standard_DS11_v2', 'Standard_DS11_v2_Promo', + 'Standard_DS12', 'Standard_DS12_v2', 'Standard_DS12_v2_Promo', + 'Standard_DS13', 'Standard_DS13-2_v2', 'Standard_DS13-4_v2', + 'Standard_DS13_v2', 'Standard_DS13_v2_Promo', 'Standard_DS14', + 'Standard_DS14-4_v2', 'Standard_DS14-8_v2', 'Standard_DS14_v2', + 'Standard_DS14_v2_Promo', 'Standard_DS15_v2', 'Standard_DS1_v2', + 'Standard_DS2', 'Standard_DS2_v2', 'Standard_DS2_v2_Promo', + 'Standard_DS3', 'Standard_DS3_v2', 'Standard_DS3_v2_Promo', + 'Standard_DS4', 'Standard_DS4_v2', 'Standard_DS4_v2_Promo', + 'Standard_DS5_v2', 'Standard_DS5_v2_Promo', 'Standard_E16_v3', + 'Standard_E16s_v3', 'Standard_E2_v3', 'Standard_E2s_v3', + 'Standard_E32-16s_v3', 'Standard_E32-8s_v3', 'Standard_E32_v3', + 'Standard_E32s_v3', 'Standard_E4_v3', 'Standard_E4s_v3', + 'Standard_E64-16s_v3', 'Standard_E64-32s_v3', 'Standard_E64_v3', + 'Standard_E64s_v3', 'Standard_E8_v3', 'Standard_E8s_v3', 'Standard_F1', + 'Standard_F16', 'Standard_F16s', 'Standard_F16s_v2', 'Standard_F1s', + 'Standard_F2', 'Standard_F2s', 'Standard_F2s_v2', 'Standard_F32s_v2', + 'Standard_F4', 'Standard_F4s', 'Standard_F4s_v2', 'Standard_F64s_v2', + 'Standard_F72s_v2', 'Standard_F8', 'Standard_F8s', 'Standard_F8s_v2', + 'Standard_G1', 'Standard_G2', 'Standard_G3', 'Standard_G4', 'Standard_G5', + 'Standard_GS1', 'Standard_GS2', 'Standard_GS3', 'Standard_GS4', + 'Standard_GS4-4', 'Standard_GS4-8', 'Standard_GS5', 'Standard_GS5-16', + 'Standard_GS5-8', 'Standard_H16', 'Standard_H16m', 'Standard_H16mr', + 'Standard_H16r', 'Standard_H8', 'Standard_H8m', 'Standard_L16s', + 'Standard_L32s', 'Standard_L4s', 'Standard_L8s', 'Standard_M128-32ms', + 'Standard_M128-64ms', 'Standard_M128ms', 'Standard_M128s', + 'Standard_M64-16ms', 'Standard_M64-32ms', 'Standard_M64ms', + 'Standard_M64s', 'Standard_NC12', 'Standard_NC12s_v2', + 'Standard_NC12s_v3', 'Standard_NC24', 'Standard_NC24r', + 'Standard_NC24rs_v2', 'Standard_NC24rs_v3', 'Standard_NC24s_v2', + 'Standard_NC24s_v3', 'Standard_NC6', 'Standard_NC6s_v2', + 'Standard_NC6s_v3', 'Standard_ND12s', 'Standard_ND24rs', 'Standard_ND24s', + 'Standard_ND6s', 'Standard_NV12', 'Standard_NV24', 'Standard_NV6' + :type vm_size: str or + ~azure.mgmt.containerservice.v2021_05_01.models.ContainerServiceVMSizeTypes + :param os_disk_size_gb: OS Disk Size in GB to be used to specify the disk + size for every machine in this master/agent pool. If you specify 0, it + will apply the default osDisk size according to the vmSize specified. + :type os_disk_size_gb: int + :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet + identifier. + :type vnet_subnet_id: str + :param first_consecutive_static_ip: FirstConsecutiveStaticIP used to + specify the first static ip of masters. Default value: "10.240.255.5" . + :type first_consecutive_static_ip: str + :param storage_profile: Storage profile specifies what kind of storage + used. Choose from StorageAccount and ManagedDisks. Leave it empty, we will + choose for you based on the orchestrator choice. Possible values include: + 'StorageAccount', 'ManagedDisks' + :type storage_profile: str or + ~azure.mgmt.containerservice.v2021_05_01.models.ContainerServiceStorageProfileTypes + :ivar fqdn: FQDN for the master pool. + :vartype fqdn: str + """ + + _validation = { + 'dns_prefix': {'required': True}, + 'vm_size': {'required': True}, + 'fqdn': {'readonly': True}, + } + + _attribute_map = { + 'count': {'key': 'count', 'type': 'int'}, + 'dns_prefix': {'key': 'dnsPrefix', 'type': 'str'}, + 'vm_size': {'key': 'vmSize', 'type': 'str'}, + 'os_disk_size_gb': {'key': 'osDiskSizeGB', 'type': 'int'}, + 'vnet_subnet_id': {'key': 'vnetSubnetID', 'type': 'str'}, + 'first_consecutive_static_ip': {'key': 'firstConsecutiveStaticIP', 'type': 'str'}, + 'storage_profile': {'key': 'storageProfile', 'type': 'str'}, + 'fqdn': {'key': 'fqdn', 'type': 'str'}, + } + + def __init__(self, *, dns_prefix: str, vm_size, count: int=1, os_disk_size_gb: int=None, vnet_subnet_id: str=None, first_consecutive_static_ip: str="10.240.255.5", storage_profile=None, **kwargs) -> None: + super(ContainerServiceMasterProfile, self).__init__(**kwargs) + self.count = count + self.dns_prefix = dns_prefix + self.vm_size = vm_size + self.os_disk_size_gb = os_disk_size_gb + self.vnet_subnet_id = vnet_subnet_id + self.first_consecutive_static_ip = first_consecutive_static_ip + self.storage_profile = storage_profile + self.fqdn = None + + +class ContainerServiceNetworkProfile(Model): + """Profile of network configuration. + + :param network_plugin: Network plugin used for building Kubernetes + network. Possible values include: 'azure', 'kubenet'. Default value: + "kubenet" . + :type network_plugin: str or + ~azure.mgmt.containerservice.v2021_05_01.models.NetworkPlugin + :param network_policy: Network policy used for building Kubernetes + network. Possible values include: 'calico', 'azure' + :type network_policy: str or + ~azure.mgmt.containerservice.v2021_05_01.models.NetworkPolicy + :param network_mode: Network mode used for building Kubernetes network. + Possible values include: 'transparent', 'bridge' + :type network_mode: str or + ~azure.mgmt.containerservice.v2021_05_01.models.NetworkMode + :param pod_cidr: A CIDR notation IP range from which to assign pod IPs + when kubenet is used. Default value: "10.244.0.0/16" . + :type pod_cidr: str + :param service_cidr: A CIDR notation IP range from which to assign service + cluster IPs. It must not overlap with any Subnet IP ranges. Default value: + "10.0.0.0/16" . + :type service_cidr: str + :param dns_service_ip: An IP address assigned to the Kubernetes DNS + service. It must be within the Kubernetes service address range specified + in serviceCidr. Default value: "10.0.0.10" . + :type dns_service_ip: str + :param docker_bridge_cidr: A CIDR notation IP range assigned to the Docker + bridge network. It must not overlap with any Subnet IP ranges or the + Kubernetes service address range. Default value: "172.17.0.1/16" . + :type docker_bridge_cidr: str + :param outbound_type: The outbound (egress) routing method. Possible + values include: 'loadBalancer', 'userDefinedRouting'. Default value: + "loadBalancer" . + :type outbound_type: str or + ~azure.mgmt.containerservice.v2021_05_01.models.OutboundType + :param load_balancer_sku: The load balancer sku for the managed cluster. + Possible values include: 'standard', 'basic' + :type load_balancer_sku: str or + ~azure.mgmt.containerservice.v2021_05_01.models.LoadBalancerSku + :param load_balancer_profile: Profile of the cluster load balancer. + :type load_balancer_profile: + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterLoadBalancerProfile + """ + + _validation = { + 'pod_cidr': {'pattern': r'^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$'}, + 'service_cidr': {'pattern': r'^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$'}, + 'dns_service_ip': {'pattern': r'^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$'}, + 'docker_bridge_cidr': {'pattern': r'^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$'}, + } + + _attribute_map = { + 'network_plugin': {'key': 'networkPlugin', 'type': 'str'}, + 'network_policy': {'key': 'networkPolicy', 'type': 'str'}, + 'network_mode': {'key': 'networkMode', 'type': 'str'}, + 'pod_cidr': {'key': 'podCidr', 'type': 'str'}, + 'service_cidr': {'key': 'serviceCidr', 'type': 'str'}, + 'dns_service_ip': {'key': 'dnsServiceIP', 'type': 'str'}, + 'docker_bridge_cidr': {'key': 'dockerBridgeCidr', 'type': 'str'}, + 'outbound_type': {'key': 'outboundType', 'type': 'str'}, + 'load_balancer_sku': {'key': 'loadBalancerSku', 'type': 'str'}, + 'load_balancer_profile': {'key': 'loadBalancerProfile', 'type': 'ManagedClusterLoadBalancerProfile'}, + } + + def __init__(self, *, network_plugin="kubenet", network_policy=None, network_mode=None, pod_cidr: str="10.244.0.0/16", service_cidr: str="10.0.0.0/16", dns_service_ip: str="10.0.0.10", docker_bridge_cidr: str="172.17.0.1/16", outbound_type="loadBalancer", load_balancer_sku=None, load_balancer_profile=None, **kwargs) -> None: + super(ContainerServiceNetworkProfile, self).__init__(**kwargs) + self.network_plugin = network_plugin + self.network_policy = network_policy + self.network_mode = network_mode + self.pod_cidr = pod_cidr + self.service_cidr = service_cidr + self.dns_service_ip = dns_service_ip + self.docker_bridge_cidr = docker_bridge_cidr + self.outbound_type = outbound_type + self.load_balancer_sku = load_balancer_sku + self.load_balancer_profile = load_balancer_profile + + +class ContainerServiceSshConfiguration(Model): + """SSH configuration for Linux-based VMs running on Azure. + + All required parameters must be populated in order to send to Azure. + + :param public_keys: Required. The list of SSH public keys used to + authenticate with Linux-based VMs. Only expect one key specified. + :type public_keys: + list[~azure.mgmt.containerservice.v2021_05_01.models.ContainerServiceSshPublicKey] + """ + + _validation = { + 'public_keys': {'required': True}, + } + + _attribute_map = { + 'public_keys': {'key': 'publicKeys', 'type': '[ContainerServiceSshPublicKey]'}, + } + + def __init__(self, *, public_keys, **kwargs) -> None: + super(ContainerServiceSshConfiguration, self).__init__(**kwargs) + self.public_keys = public_keys + + +class ContainerServiceSshPublicKey(Model): + """Contains information about SSH certificate public key data. + + All required parameters must be populated in order to send to Azure. + + :param key_data: Required. Certificate public key used to authenticate + with VMs through SSH. The certificate must be in PEM format with or + without headers. + :type key_data: str + """ + + _validation = { + 'key_data': {'required': True}, + } + + _attribute_map = { + 'key_data': {'key': 'keyData', 'type': 'str'}, + } + + def __init__(self, *, key_data: str, **kwargs) -> None: + super(ContainerServiceSshPublicKey, self).__init__(**kwargs) + self.key_data = key_data + + +class ContainerServiceVMDiagnostics(Model): + """Profile for diagnostics on the container service VMs. + + 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 enabled: Required. Whether the VM diagnostic agent is provisioned + on the VM. + :type enabled: bool + :ivar storage_uri: The URI of the storage account where diagnostics are + stored. + :vartype storage_uri: str + """ + + _validation = { + 'enabled': {'required': True}, + 'storage_uri': {'readonly': True}, + } + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'storage_uri': {'key': 'storageUri', 'type': 'str'}, + } + + def __init__(self, *, enabled: bool, **kwargs) -> None: + super(ContainerServiceVMDiagnostics, self).__init__(**kwargs) + self.enabled = enabled + self.storage_uri = None + + +class CredentialResult(Model): + """The credential result response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar name: The name of the credential. + :vartype name: str + :ivar value: Base64-encoded Kubernetes configuration file. + :vartype value: bytearray + """ + + _validation = { + 'name': {'readonly': True}, + 'value': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'bytearray'}, + } + + def __init__(self, **kwargs) -> None: + super(CredentialResult, self).__init__(**kwargs) + self.name = None + self.value = None + + +class CredentialResults(Model): + """The list of credential result response. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar kubeconfigs: Base64-encoded Kubernetes configuration file. + :vartype kubeconfigs: + list[~azure.mgmt.containerservice.v2021_05_01.models.CredentialResult] + """ + + _validation = { + 'kubeconfigs': {'readonly': True}, + } + + _attribute_map = { + 'kubeconfigs': {'key': 'kubeconfigs', 'type': '[CredentialResult]'}, + } + + def __init__(self, **kwargs) -> None: + super(CredentialResults, self).__init__(**kwargs) + self.kubeconfigs = None + + +class EndpointDependency(Model): + """A domain name that AKS agent nodes are reaching at. + + :param domain_name: The domain name of the dependency. + :type domain_name: str + :param endpoint_details: The Ports and Protocols used when connecting to + domainName. + :type endpoint_details: + list[~azure.mgmt.containerservice.v2021_05_01.models.EndpointDetail] + """ + + _attribute_map = { + 'domain_name': {'key': 'domainName', 'type': 'str'}, + 'endpoint_details': {'key': 'endpointDetails', 'type': '[EndpointDetail]'}, + } + + def __init__(self, *, domain_name: str=None, endpoint_details=None, **kwargs) -> None: + super(EndpointDependency, self).__init__(**kwargs) + self.domain_name = domain_name + self.endpoint_details = endpoint_details + + +class EndpointDetail(Model): + """connect information from the AKS agent nodes to a single endpoint. + + :param ip_address: An IP Address that Domain Name currently resolves to. + :type ip_address: str + :param port: The port an endpoint is connected to. + :type port: int + :param protocol: The protocol used for connection + :type protocol: str + :param description: Description of the detail + :type description: str + """ + + _attribute_map = { + 'ip_address': {'key': 'ipAddress', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, *, ip_address: str=None, port: int=None, protocol: str=None, description: str=None, **kwargs) -> None: + super(EndpointDetail, self).__init__(**kwargs) + self.ip_address = ip_address + self.port = port + self.protocol = protocol + self.description = description + + +class ExtendedLocation(Model): + """The complex type of the extended location. + + :param name: The name of the extended location. + :type name: str + :param type: The type of the extended location. Possible values include: + 'EdgeZone' + :type type: str or + ~azure.mgmt.containerservice.v2021_05_01.models.ExtendedLocationTypes + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, type=None, **kwargs) -> None: + super(ExtendedLocation, self).__init__(**kwargs) + self.name = name + self.type = type + + +class KubeletConfig(Model): + """Kubelet configurations of agent nodes. + + :param cpu_manager_policy: CPU Manager policy to use. + :type cpu_manager_policy: str + :param cpu_cfs_quota: Enable CPU CFS quota enforcement for containers that + specify CPU limits. + :type cpu_cfs_quota: bool + :param cpu_cfs_quota_period: Sets CPU CFS quota period value. + :type cpu_cfs_quota_period: str + :param image_gc_high_threshold: The percent of disk usage after which + image garbage collection is always run. + :type image_gc_high_threshold: int + :param image_gc_low_threshold: The percent of disk usage before which + image garbage collection is never run. + :type image_gc_low_threshold: int + :param topology_manager_policy: Topology Manager policy to use. + :type topology_manager_policy: str + :param allowed_unsafe_sysctls: Allowlist of unsafe sysctls or unsafe + sysctl patterns (ending in `*`). + :type allowed_unsafe_sysctls: list[str] + :param fail_swap_on: If set to true it will make the Kubelet fail to start + if swap is enabled on the node. + :type fail_swap_on: bool + :param container_log_max_size_mb: The maximum size (e.g. 10Mi) of + container log file before it is rotated. + :type container_log_max_size_mb: int + :param container_log_max_files: The maximum number of container log files + that can be present for a container. The number must be ≥ 2. + :type container_log_max_files: int + :param pod_max_pids: The maximum number of processes per pod. + :type pod_max_pids: int + """ + + _validation = { + 'container_log_max_files': {'minimum': 2}, + } + + _attribute_map = { + 'cpu_manager_policy': {'key': 'cpuManagerPolicy', 'type': 'str'}, + 'cpu_cfs_quota': {'key': 'cpuCfsQuota', 'type': 'bool'}, + 'cpu_cfs_quota_period': {'key': 'cpuCfsQuotaPeriod', 'type': 'str'}, + 'image_gc_high_threshold': {'key': 'imageGcHighThreshold', 'type': 'int'}, + 'image_gc_low_threshold': {'key': 'imageGcLowThreshold', 'type': 'int'}, + 'topology_manager_policy': {'key': 'topologyManagerPolicy', 'type': 'str'}, + 'allowed_unsafe_sysctls': {'key': 'allowedUnsafeSysctls', 'type': '[str]'}, + 'fail_swap_on': {'key': 'failSwapOn', 'type': 'bool'}, + 'container_log_max_size_mb': {'key': 'containerLogMaxSizeMB', 'type': 'int'}, + 'container_log_max_files': {'key': 'containerLogMaxFiles', 'type': 'int'}, + 'pod_max_pids': {'key': 'podMaxPids', 'type': 'int'}, + } + + def __init__(self, *, cpu_manager_policy: str=None, cpu_cfs_quota: bool=None, cpu_cfs_quota_period: str=None, image_gc_high_threshold: int=None, image_gc_low_threshold: int=None, topology_manager_policy: str=None, allowed_unsafe_sysctls=None, fail_swap_on: bool=None, container_log_max_size_mb: int=None, container_log_max_files: int=None, pod_max_pids: int=None, **kwargs) -> None: + super(KubeletConfig, self).__init__(**kwargs) + self.cpu_manager_policy = cpu_manager_policy + self.cpu_cfs_quota = cpu_cfs_quota + self.cpu_cfs_quota_period = cpu_cfs_quota_period + self.image_gc_high_threshold = image_gc_high_threshold + self.image_gc_low_threshold = image_gc_low_threshold + self.topology_manager_policy = topology_manager_policy + self.allowed_unsafe_sysctls = allowed_unsafe_sysctls + self.fail_swap_on = fail_swap_on + self.container_log_max_size_mb = container_log_max_size_mb + self.container_log_max_files = container_log_max_files + self.pod_max_pids = pod_max_pids + + +class LinuxOSConfig(Model): + """OS configurations of Linux agent nodes. + + :param sysctls: Sysctl settings for Linux agent nodes. + :type sysctls: + ~azure.mgmt.containerservice.v2021_05_01.models.SysctlConfig + :param transparent_huge_page_enabled: Transparent Huge Page enabled + configuration. + :type transparent_huge_page_enabled: str + :param transparent_huge_page_defrag: Transparent Huge Page defrag + configuration. + :type transparent_huge_page_defrag: str + :param swap_file_size_mb: SwapFileSizeMB specifies size in MB of a swap + file will be created on each node. + :type swap_file_size_mb: int + """ + + _attribute_map = { + 'sysctls': {'key': 'sysctls', 'type': 'SysctlConfig'}, + 'transparent_huge_page_enabled': {'key': 'transparentHugePageEnabled', 'type': 'str'}, + 'transparent_huge_page_defrag': {'key': 'transparentHugePageDefrag', 'type': 'str'}, + 'swap_file_size_mb': {'key': 'swapFileSizeMB', 'type': 'int'}, + } + + def __init__(self, *, sysctls=None, transparent_huge_page_enabled: str=None, transparent_huge_page_defrag: str=None, swap_file_size_mb: int=None, **kwargs) -> None: + super(LinuxOSConfig, self).__init__(**kwargs) + self.sysctls = sysctls + self.transparent_huge_page_enabled = transparent_huge_page_enabled + self.transparent_huge_page_defrag = transparent_huge_page_defrag + self.swap_file_size_mb = swap_file_size_mb + + +class MaintenanceConfiguration(SubResource): + """maintenance 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: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :vartype name: str + :ivar type: Resource type + :vartype type: str + :ivar system_data: The system meta data relating to this resource. + :vartype system_data: + ~azure.mgmt.containerservice.v2021_05_01.models.SystemData + :param time_in_week: Weekday time slots allowed to upgrade. + :type time_in_week: + list[~azure.mgmt.containerservice.v2021_05_01.models.TimeInWeek] + :param not_allowed_time: Time slots on which upgrade is not allowed. + :type not_allowed_time: + list[~azure.mgmt.containerservice.v2021_05_01.models.TimeSpan] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'system_data': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'system_data': {'key': 'systemData', 'type': 'SystemData'}, + 'time_in_week': {'key': 'properties.timeInWeek', 'type': '[TimeInWeek]'}, + 'not_allowed_time': {'key': 'properties.notAllowedTime', 'type': '[TimeSpan]'}, + } + + def __init__(self, *, time_in_week=None, not_allowed_time=None, **kwargs) -> None: + super(MaintenanceConfiguration, self).__init__(**kwargs) + self.system_data = None + self.time_in_week = time_in_week + self.not_allowed_time = not_allowed_time + + +class Resource(Model): + """The Resource model definition. + + 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. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, 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'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, location: str, tags=None, **kwargs) -> None: + super(Resource, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = location + self.tags = tags + + +class ManagedCluster(Resource): + """Managed cluster. + + 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. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :ivar provisioning_state: The current deployment or provisioning state, + which only appears in the response. + :vartype provisioning_state: str + :ivar power_state: Represents the Power State of the cluster + :vartype power_state: + ~azure.mgmt.containerservice.v2021_05_01.models.PowerState + :ivar max_agent_pools: The max number of agent pools for the managed + cluster. + :vartype max_agent_pools: int + :param kubernetes_version: Version of Kubernetes specified when creating + the managed cluster. + :type kubernetes_version: str + :param dns_prefix: DNS prefix specified when creating the managed cluster. + :type dns_prefix: str + :param fqdn_subdomain: FQDN subdomain specified when creating private + cluster with custom private dns zone. + :type fqdn_subdomain: str + :ivar fqdn: FQDN for the master pool. + :vartype fqdn: str + :ivar private_fqdn: FQDN of private cluster. + :vartype private_fqdn: str + :ivar azure_portal_fqdn: FQDN for the master pool which used by proxy + config. + :vartype azure_portal_fqdn: str + :param agent_pool_profiles: Properties of the agent pool. + :type agent_pool_profiles: + list[~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterAgentPoolProfile] + :param linux_profile: Profile for Linux VMs in the container service + cluster. + :type linux_profile: + ~azure.mgmt.containerservice.v2021_05_01.models.ContainerServiceLinuxProfile + :param windows_profile: Profile for Windows VMs in the container service + cluster. + :type windows_profile: + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterWindowsProfile + :param service_principal_profile: Information about a service principal + identity for the cluster to use for manipulating Azure APIs. + :type service_principal_profile: + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterServicePrincipalProfile + :param addon_profiles: Profile of managed cluster add-on. + :type addon_profiles: dict[str, + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterAddonProfile] + :param pod_identity_profile: Profile of managed cluster pod identity. + :type pod_identity_profile: + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterPodIdentityProfile + :param node_resource_group: Name of the resource group containing agent + pool nodes. + :type node_resource_group: str + :param enable_rbac: Whether to enable Kubernetes Role-Based Access + Control. + :type enable_rbac: bool + :param enable_pod_security_policy: (DEPRECATING) Whether to enable + Kubernetes pod security policy (preview). This feature is set for removal + on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy. + :type enable_pod_security_policy: bool + :param network_profile: Profile of network configuration. + :type network_profile: + ~azure.mgmt.containerservice.v2021_05_01.models.ContainerServiceNetworkProfile + :param aad_profile: Profile of Azure Active Directory configuration. + :type aad_profile: + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterAADProfile + :param auto_upgrade_profile: Profile of auto upgrade configuration. + :type auto_upgrade_profile: + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterAutoUpgradeProfile + :param auto_scaler_profile: Parameters to be applied to the + cluster-autoscaler when enabled + :type auto_scaler_profile: + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterPropertiesAutoScalerProfile + :param api_server_access_profile: Access profile for managed cluster API + server. + :type api_server_access_profile: + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterAPIServerAccessProfile + :param disk_encryption_set_id: ResourceId of the disk encryption set to + use for enabling encryption at rest. + :type disk_encryption_set_id: str + :param identity_profile: Identities associated with the cluster. + :type identity_profile: dict[str, + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterPropertiesIdentityProfileValue] + :param private_link_resources: Private link resources associated with the + cluster. + :type private_link_resources: + list[~azure.mgmt.containerservice.v2021_05_01.models.PrivateLinkResource] + :param disable_local_accounts: If set to true, getting static credential + will be disabled for this cluster. Expected to only be used for AAD + clusters. + :type disable_local_accounts: bool + :param http_proxy_config: Configurations for provisioning the cluster with + HTTP proxy servers. + :type http_proxy_config: + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterHTTPProxyConfig + :param identity: The identity of the managed cluster, if configured. + :type identity: + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterIdentity + :param sku: The managed cluster SKU. + :type sku: + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterSKU + :param extended_location: The extended location of the Virtual Machine. + :type extended_location: + ~azure.mgmt.containerservice.v2021_05_01.models.ExtendedLocation + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'location': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'power_state': {'readonly': True}, + 'max_agent_pools': {'readonly': True}, + 'fqdn': {'readonly': True}, + 'private_fqdn': {'readonly': True}, + 'azure_portal_fqdn': {'readonly': 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}'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'power_state': {'key': 'properties.powerState', 'type': 'PowerState'}, + 'max_agent_pools': {'key': 'properties.maxAgentPools', 'type': 'int'}, + 'kubernetes_version': {'key': 'properties.kubernetesVersion', 'type': 'str'}, + 'dns_prefix': {'key': 'properties.dnsPrefix', 'type': 'str'}, + 'fqdn_subdomain': {'key': 'properties.fqdnSubdomain', 'type': 'str'}, + 'fqdn': {'key': 'properties.fqdn', 'type': 'str'}, + 'private_fqdn': {'key': 'properties.privateFQDN', 'type': 'str'}, + 'azure_portal_fqdn': {'key': 'properties.azurePortalFQDN', 'type': 'str'}, + 'agent_pool_profiles': {'key': 'properties.agentPoolProfiles', 'type': '[ManagedClusterAgentPoolProfile]'}, + 'linux_profile': {'key': 'properties.linuxProfile', 'type': 'ContainerServiceLinuxProfile'}, + 'windows_profile': {'key': 'properties.windowsProfile', 'type': 'ManagedClusterWindowsProfile'}, + 'service_principal_profile': {'key': 'properties.servicePrincipalProfile', 'type': 'ManagedClusterServicePrincipalProfile'}, + 'addon_profiles': {'key': 'properties.addonProfiles', 'type': '{ManagedClusterAddonProfile}'}, + 'pod_identity_profile': {'key': 'properties.podIdentityProfile', 'type': 'ManagedClusterPodIdentityProfile'}, + 'node_resource_group': {'key': 'properties.nodeResourceGroup', 'type': 'str'}, + 'enable_rbac': {'key': 'properties.enableRBAC', 'type': 'bool'}, + 'enable_pod_security_policy': {'key': 'properties.enablePodSecurityPolicy', 'type': 'bool'}, + 'network_profile': {'key': 'properties.networkProfile', 'type': 'ContainerServiceNetworkProfile'}, + 'aad_profile': {'key': 'properties.aadProfile', 'type': 'ManagedClusterAADProfile'}, + 'auto_upgrade_profile': {'key': 'properties.autoUpgradeProfile', 'type': 'ManagedClusterAutoUpgradeProfile'}, + 'auto_scaler_profile': {'key': 'properties.autoScalerProfile', 'type': 'ManagedClusterPropertiesAutoScalerProfile'}, + 'api_server_access_profile': {'key': 'properties.apiServerAccessProfile', 'type': 'ManagedClusterAPIServerAccessProfile'}, + 'disk_encryption_set_id': {'key': 'properties.diskEncryptionSetID', 'type': 'str'}, + 'identity_profile': {'key': 'properties.identityProfile', 'type': '{ManagedClusterPropertiesIdentityProfileValue}'}, + 'private_link_resources': {'key': 'properties.privateLinkResources', 'type': '[PrivateLinkResource]'}, + 'disable_local_accounts': {'key': 'properties.disableLocalAccounts', 'type': 'bool'}, + 'http_proxy_config': {'key': 'properties.httpProxyConfig', 'type': 'ManagedClusterHTTPProxyConfig'}, + 'identity': {'key': 'identity', 'type': 'ManagedClusterIdentity'}, + 'sku': {'key': 'sku', 'type': 'ManagedClusterSKU'}, + 'extended_location': {'key': 'extendedLocation', 'type': 'ExtendedLocation'}, + } + + def __init__(self, *, location: str, tags=None, kubernetes_version: str=None, dns_prefix: str=None, fqdn_subdomain: str=None, agent_pool_profiles=None, linux_profile=None, windows_profile=None, service_principal_profile=None, addon_profiles=None, pod_identity_profile=None, node_resource_group: str=None, enable_rbac: bool=None, enable_pod_security_policy: bool=None, network_profile=None, aad_profile=None, auto_upgrade_profile=None, auto_scaler_profile=None, api_server_access_profile=None, disk_encryption_set_id: str=None, identity_profile=None, private_link_resources=None, disable_local_accounts: bool=None, http_proxy_config=None, identity=None, sku=None, extended_location=None, **kwargs) -> None: + super(ManagedCluster, self).__init__(location=location, tags=tags, **kwargs) + self.provisioning_state = None + self.power_state = None + self.max_agent_pools = None + self.kubernetes_version = kubernetes_version + self.dns_prefix = dns_prefix + self.fqdn_subdomain = fqdn_subdomain + self.fqdn = None + self.private_fqdn = None + self.azure_portal_fqdn = None + self.agent_pool_profiles = agent_pool_profiles + self.linux_profile = linux_profile + self.windows_profile = windows_profile + self.service_principal_profile = service_principal_profile + self.addon_profiles = addon_profiles + self.pod_identity_profile = pod_identity_profile + self.node_resource_group = node_resource_group + self.enable_rbac = enable_rbac + self.enable_pod_security_policy = enable_pod_security_policy + self.network_profile = network_profile + self.aad_profile = aad_profile + self.auto_upgrade_profile = auto_upgrade_profile + self.auto_scaler_profile = auto_scaler_profile + self.api_server_access_profile = api_server_access_profile + self.disk_encryption_set_id = disk_encryption_set_id + self.identity_profile = identity_profile + self.private_link_resources = private_link_resources + self.disable_local_accounts = disable_local_accounts + self.http_proxy_config = http_proxy_config + self.identity = identity + self.sku = sku + self.extended_location = extended_location + + +class ManagedClusterAADProfile(Model): + """AADProfile specifies attributes for Azure Active Directory integration. + + :param managed: Whether to enable managed AAD. + :type managed: bool + :param enable_azure_rbac: Whether to enable Azure RBAC for Kubernetes + authorization. + :type enable_azure_rbac: bool + :param admin_group_object_ids: AAD group object IDs that will have admin + role of the cluster. + :type admin_group_object_ids: list[str] + :param client_app_id: The client AAD application ID. + :type client_app_id: str + :param server_app_id: The server AAD application ID. + :type server_app_id: str + :param server_app_secret: The server AAD application secret. + :type server_app_secret: str + :param tenant_id: The AAD tenant ID to use for authentication. If not + specified, will use the tenant of the deployment subscription. + :type tenant_id: str + """ + + _attribute_map = { + 'managed': {'key': 'managed', 'type': 'bool'}, + 'enable_azure_rbac': {'key': 'enableAzureRBAC', 'type': 'bool'}, + 'admin_group_object_ids': {'key': 'adminGroupObjectIDs', 'type': '[str]'}, + 'client_app_id': {'key': 'clientAppID', 'type': 'str'}, + 'server_app_id': {'key': 'serverAppID', 'type': 'str'}, + 'server_app_secret': {'key': 'serverAppSecret', 'type': 'str'}, + 'tenant_id': {'key': 'tenantID', 'type': 'str'}, + } + + def __init__(self, *, managed: bool=None, enable_azure_rbac: bool=None, admin_group_object_ids=None, client_app_id: str=None, server_app_id: str=None, server_app_secret: str=None, tenant_id: str=None, **kwargs) -> None: + super(ManagedClusterAADProfile, self).__init__(**kwargs) + self.managed = managed + self.enable_azure_rbac = enable_azure_rbac + self.admin_group_object_ids = admin_group_object_ids + self.client_app_id = client_app_id + self.server_app_id = server_app_id + self.server_app_secret = server_app_secret + self.tenant_id = tenant_id + + +class ManagedClusterAccessProfile(Resource): + """Managed cluster Access Profile. + + 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. Resource location + :type location: str + :param tags: Resource tags + :type tags: dict[str, str] + :param kube_config: Base64-encoded Kubernetes configuration file. + :type kube_config: bytearray + """ + + _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}'}, + 'kube_config': {'key': 'properties.kubeConfig', 'type': 'bytearray'}, + } + + def __init__(self, *, location: str, tags=None, kube_config: bytearray=None, **kwargs) -> None: + super(ManagedClusterAccessProfile, self).__init__(location=location, tags=tags, **kwargs) + self.kube_config = kube_config + + +class ManagedClusterAddonProfile(Model): + """A Kubernetes add-on profile for a managed cluster. + + 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 enabled: Required. Whether the add-on is enabled or not. + :type enabled: bool + :param config: Key-value pairs for configuring an add-on. + :type config: dict[str, str] + :ivar identity: Information of user assigned identity used by this add-on. + :vartype identity: + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterAddonProfileIdentity + """ + + _validation = { + 'enabled': {'required': True}, + 'identity': {'readonly': True}, + } + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'config': {'key': 'config', 'type': '{str}'}, + 'identity': {'key': 'identity', 'type': 'ManagedClusterAddonProfileIdentity'}, + } + + def __init__(self, *, enabled: bool, config=None, **kwargs) -> None: + super(ManagedClusterAddonProfile, self).__init__(**kwargs) + self.enabled = enabled + self.config = config + self.identity = None + + +class UserAssignedIdentity(Model): + """UserAssignedIdentity. + + :param resource_id: The resource id of the user assigned identity. + :type resource_id: str + :param client_id: The client id of the user assigned identity. + :type client_id: str + :param object_id: The object id of the user assigned identity. + :type object_id: str + """ + + _attribute_map = { + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'client_id': {'key': 'clientId', 'type': 'str'}, + 'object_id': {'key': 'objectId', 'type': 'str'}, + } + + def __init__(self, *, resource_id: str=None, client_id: str=None, object_id: str=None, **kwargs) -> None: + super(UserAssignedIdentity, self).__init__(**kwargs) + self.resource_id = resource_id + self.client_id = client_id + self.object_id = object_id + + +class ManagedClusterAddonProfileIdentity(UserAssignedIdentity): + """Information of user assigned identity used by this add-on. + + :param resource_id: The resource id of the user assigned identity. + :type resource_id: str + :param client_id: The client id of the user assigned identity. + :type client_id: str + :param object_id: The object id of the user assigned identity. + :type object_id: str + """ + + _attribute_map = { + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'client_id': {'key': 'clientId', 'type': 'str'}, + 'object_id': {'key': 'objectId', 'type': 'str'}, + } + + def __init__(self, *, resource_id: str=None, client_id: str=None, object_id: str=None, **kwargs) -> None: + super(ManagedClusterAddonProfileIdentity, self).__init__(resource_id=resource_id, client_id=client_id, object_id=object_id, **kwargs) + + +class ManagedClusterAgentPoolProfileProperties(Model): + """Properties for the container service agent pool profile. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param count: Number of agents (VMs) to host docker containers. Allowed + values must be in the range of 0 to 1000 (inclusive) for user pools and in + the range of 1 to 1000 (inclusive) for system pools. The default value is + 1. + :type count: int + :param vm_size: Size of agent VMs. + :type vm_size: str + :param os_disk_size_gb: OS Disk Size in GB to be used to specify the disk + size for every machine in this master/agent pool. If you specify 0, it + will apply the default osDisk size according to the vmSize specified. + :type os_disk_size_gb: int + :param os_disk_type: OS disk type to be used for machines in a given agent + pool. Allowed values are 'Ephemeral' and 'Managed'. If unspecified, + defaults to 'Ephemeral' when the VM supports ephemeral OS and has a cache + disk larger than the requested OSDiskSizeGB. Otherwise, defaults to + 'Managed'. May not be changed after creation. Possible values include: + 'Managed', 'Ephemeral' + :type os_disk_type: str or + ~azure.mgmt.containerservice.v2021_05_01.models.OSDiskType + :param kubelet_disk_type: KubeletDiskType determines the placement of + emptyDir volumes, container runtime data root, and Kubelet ephemeral + storage. Currently allows one value, OS, resulting in Kubelet using the OS + disk for data. Possible values include: 'OS', 'Temporary' + :type kubelet_disk_type: str or + ~azure.mgmt.containerservice.v2021_05_01.models.KubeletDiskType + :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet + identifier for nodes and maybe pods + :type vnet_subnet_id: str + :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier + for pods. + :type pod_subnet_id: str + :param max_pods: Maximum number of pods that can run on a node. + :type max_pods: int + :param os_type: OsType to be used to specify os type. Choose from Linux + and Windows. Default to Linux. Possible values include: 'Linux', + 'Windows'. Default value: "Linux" . + :type os_type: str or + ~azure.mgmt.containerservice.v2021_05_01.models.OSType + :param os_sku: OsSKU to be used to specify os sku. Choose from + Ubuntu(default) and CBLMariner for Linux OSType. Not applicable to Windows + OSType. Possible values include: 'Ubuntu', 'CBLMariner' + :type os_sku: str or ~azure.mgmt.containerservice.v2021_05_01.models.OSSKU + :param max_count: Maximum number of nodes for auto-scaling + :type max_count: int + :param min_count: Minimum number of nodes for auto-scaling + :type min_count: int + :param enable_auto_scaling: Whether to enable auto-scaler + :type enable_auto_scaling: bool + :param type: AgentPoolType represents types of an agent pool. Possible + values include: 'VirtualMachineScaleSets', 'AvailabilitySet' + :type type: str or + ~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolType + :param mode: AgentPoolMode represents mode of an agent pool. Possible + values include: 'System', 'User' + :type mode: str or + ~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolMode + :param orchestrator_version: Version of orchestrator specified when + creating the managed cluster. + :type orchestrator_version: str + :ivar node_image_version: Version of node image + :vartype node_image_version: str + :param upgrade_settings: Settings for upgrading the agentpool + :type upgrade_settings: + ~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolUpgradeSettings + :ivar provisioning_state: The current deployment or provisioning state, + which only appears in the response. + :vartype provisioning_state: str + :ivar power_state: Describes whether the Agent Pool is Running or Stopped + :vartype power_state: + ~azure.mgmt.containerservice.v2021_05_01.models.PowerState + :param availability_zones: Availability zones for nodes. Must use + VirtualMachineScaleSets AgentPoolType. + :type availability_zones: list[str] + :param enable_node_public_ip: Enable public IP for nodes + :type enable_node_public_ip: bool + :param node_public_ip_prefix_id: Public IP Prefix ID. VM nodes use IPs + assigned from this Public IP Prefix. + :type node_public_ip_prefix_id: str + :param scale_set_priority: ScaleSetPriority to be used to specify virtual + machine scale set priority. Default to regular. Possible values include: + 'Spot', 'Regular'. Default value: "Regular" . + :type scale_set_priority: str or + ~azure.mgmt.containerservice.v2021_05_01.models.ScaleSetPriority + :param scale_set_eviction_policy: ScaleSetEvictionPolicy to be used to + specify eviction policy for Spot virtual machine scale set. Default to + Delete. Possible values include: 'Delete', 'Deallocate'. Default value: + "Delete" . + :type scale_set_eviction_policy: str or + ~azure.mgmt.containerservice.v2021_05_01.models.ScaleSetEvictionPolicy + :param spot_max_price: SpotMaxPrice to be used to specify the maximum + price you are willing to pay in US Dollars. Possible values are any + decimal value greater than zero or -1 which indicates default price to be + up-to on-demand. + :type spot_max_price: float + :param tags: Agent pool tags to be persisted on the agent pool virtual + machine scale set. + :type tags: dict[str, str] + :param node_labels: Agent pool node labels to be persisted across all + nodes in agent pool. + :type node_labels: dict[str, str] + :param node_taints: Taints added to new nodes during node pool create and + scale. For example, key=value:NoSchedule. + :type node_taints: list[str] + :param proximity_placement_group_id: The ID for Proximity Placement Group. + :type proximity_placement_group_id: str + :param kubelet_config: KubeletConfig specifies the configuration of + kubelet on agent nodes. + :type kubelet_config: + ~azure.mgmt.containerservice.v2021_05_01.models.KubeletConfig + :param linux_os_config: LinuxOSConfig specifies the OS configuration of + linux agent nodes. + :type linux_os_config: + ~azure.mgmt.containerservice.v2021_05_01.models.LinuxOSConfig + :param enable_encryption_at_host: Whether to enable EncryptionAtHost + :type enable_encryption_at_host: bool + :param enable_ultra_ssd: Whether to enable UltraSSD + :type enable_ultra_ssd: bool + :param enable_fips: Whether to use FIPS enabled OS + :type enable_fips: bool + :param gpu_instance_profile: GPUInstanceProfile to be used to specify GPU + MIG instance profile for supported GPU VM SKU. Supported values are MIG1g, + MIG2g, MIG3g, MIG4g and MIG7g. Possible values include: 'MIG1g', 'MIG2g', + 'MIG3g', 'MIG4g', 'MIG7g' + :type gpu_instance_profile: str or + ~azure.mgmt.containerservice.v2021_05_01.models.GPUInstanceProfile + """ + + _validation = { + 'node_image_version': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'power_state': {'readonly': True}, + } + + _attribute_map = { + 'count': {'key': 'count', 'type': 'int'}, + 'vm_size': {'key': 'vmSize', 'type': 'str'}, + 'os_disk_size_gb': {'key': 'osDiskSizeGB', 'type': 'int'}, + 'os_disk_type': {'key': 'osDiskType', 'type': 'str'}, + 'kubelet_disk_type': {'key': 'kubeletDiskType', 'type': 'str'}, + 'vnet_subnet_id': {'key': 'vnetSubnetID', 'type': 'str'}, + 'pod_subnet_id': {'key': 'podSubnetID', 'type': 'str'}, + 'max_pods': {'key': 'maxPods', 'type': 'int'}, + 'os_type': {'key': 'osType', 'type': 'str'}, + 'os_sku': {'key': 'osSKU', 'type': 'str'}, + 'max_count': {'key': 'maxCount', 'type': 'int'}, + 'min_count': {'key': 'minCount', 'type': 'int'}, + 'enable_auto_scaling': {'key': 'enableAutoScaling', 'type': 'bool'}, + 'type': {'key': 'type', 'type': 'str'}, + 'mode': {'key': 'mode', 'type': 'str'}, + 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, + 'node_image_version': {'key': 'nodeImageVersion', 'type': 'str'}, + 'upgrade_settings': {'key': 'upgradeSettings', 'type': 'AgentPoolUpgradeSettings'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'power_state': {'key': 'powerState', 'type': 'PowerState'}, + 'availability_zones': {'key': 'availabilityZones', 'type': '[str]'}, + 'enable_node_public_ip': {'key': 'enableNodePublicIP', 'type': 'bool'}, + 'node_public_ip_prefix_id': {'key': 'nodePublicIPPrefixID', 'type': 'str'}, + 'scale_set_priority': {'key': 'scaleSetPriority', 'type': 'str'}, + 'scale_set_eviction_policy': {'key': 'scaleSetEvictionPolicy', 'type': 'str'}, + 'spot_max_price': {'key': 'spotMaxPrice', 'type': 'float'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'node_labels': {'key': 'nodeLabels', 'type': '{str}'}, + 'node_taints': {'key': 'nodeTaints', 'type': '[str]'}, + 'proximity_placement_group_id': {'key': 'proximityPlacementGroupID', 'type': 'str'}, + 'kubelet_config': {'key': 'kubeletConfig', 'type': 'KubeletConfig'}, + 'linux_os_config': {'key': 'linuxOSConfig', 'type': 'LinuxOSConfig'}, + 'enable_encryption_at_host': {'key': 'enableEncryptionAtHost', 'type': 'bool'}, + 'enable_ultra_ssd': {'key': 'enableUltraSSD', 'type': 'bool'}, + 'enable_fips': {'key': 'enableFIPS', 'type': 'bool'}, + 'gpu_instance_profile': {'key': 'gpuInstanceProfile', 'type': 'str'}, + } + + def __init__(self, *, count: int=None, vm_size: str=None, os_disk_size_gb: int=None, os_disk_type=None, kubelet_disk_type=None, vnet_subnet_id: str=None, pod_subnet_id: str=None, max_pods: int=None, os_type="Linux", os_sku=None, max_count: int=None, min_count: int=None, enable_auto_scaling: bool=None, type=None, mode=None, orchestrator_version: str=None, upgrade_settings=None, availability_zones=None, enable_node_public_ip: bool=None, node_public_ip_prefix_id: str=None, scale_set_priority="Regular", scale_set_eviction_policy="Delete", spot_max_price: float=None, tags=None, node_labels=None, node_taints=None, proximity_placement_group_id: str=None, kubelet_config=None, linux_os_config=None, enable_encryption_at_host: bool=None, enable_ultra_ssd: bool=None, enable_fips: bool=None, gpu_instance_profile=None, **kwargs) -> None: + super(ManagedClusterAgentPoolProfileProperties, self).__init__(**kwargs) + self.count = count + self.vm_size = vm_size + self.os_disk_size_gb = os_disk_size_gb + self.os_disk_type = os_disk_type + self.kubelet_disk_type = kubelet_disk_type + self.vnet_subnet_id = vnet_subnet_id + self.pod_subnet_id = pod_subnet_id + self.max_pods = max_pods + self.os_type = os_type + self.os_sku = os_sku + self.max_count = max_count + self.min_count = min_count + self.enable_auto_scaling = enable_auto_scaling + self.type = type + self.mode = mode + self.orchestrator_version = orchestrator_version + self.node_image_version = None + self.upgrade_settings = upgrade_settings + self.provisioning_state = None + self.power_state = None + self.availability_zones = availability_zones + self.enable_node_public_ip = enable_node_public_ip + self.node_public_ip_prefix_id = node_public_ip_prefix_id + self.scale_set_priority = scale_set_priority + self.scale_set_eviction_policy = scale_set_eviction_policy + self.spot_max_price = spot_max_price + self.tags = tags + self.node_labels = node_labels + self.node_taints = node_taints + self.proximity_placement_group_id = proximity_placement_group_id + self.kubelet_config = kubelet_config + self.linux_os_config = linux_os_config + self.enable_encryption_at_host = enable_encryption_at_host + self.enable_ultra_ssd = enable_ultra_ssd + self.enable_fips = enable_fips + self.gpu_instance_profile = gpu_instance_profile + + +class ManagedClusterAgentPoolProfile(ManagedClusterAgentPoolProfileProperties): + """Profile for the container service agent pool. + + 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 count: Number of agents (VMs) to host docker containers. Allowed + values must be in the range of 0 to 1000 (inclusive) for user pools and in + the range of 1 to 1000 (inclusive) for system pools. The default value is + 1. + :type count: int + :param vm_size: Size of agent VMs. + :type vm_size: str + :param os_disk_size_gb: OS Disk Size in GB to be used to specify the disk + size for every machine in this master/agent pool. If you specify 0, it + will apply the default osDisk size according to the vmSize specified. + :type os_disk_size_gb: int + :param os_disk_type: OS disk type to be used for machines in a given agent + pool. Allowed values are 'Ephemeral' and 'Managed'. If unspecified, + defaults to 'Ephemeral' when the VM supports ephemeral OS and has a cache + disk larger than the requested OSDiskSizeGB. Otherwise, defaults to + 'Managed'. May not be changed after creation. Possible values include: + 'Managed', 'Ephemeral' + :type os_disk_type: str or + ~azure.mgmt.containerservice.v2021_05_01.models.OSDiskType + :param kubelet_disk_type: KubeletDiskType determines the placement of + emptyDir volumes, container runtime data root, and Kubelet ephemeral + storage. Currently allows one value, OS, resulting in Kubelet using the OS + disk for data. Possible values include: 'OS', 'Temporary' + :type kubelet_disk_type: str or + ~azure.mgmt.containerservice.v2021_05_01.models.KubeletDiskType + :param vnet_subnet_id: VNet SubnetID specifies the VNet's subnet + identifier for nodes and maybe pods + :type vnet_subnet_id: str + :param pod_subnet_id: Pod SubnetID specifies the VNet's subnet identifier + for pods. + :type pod_subnet_id: str + :param max_pods: Maximum number of pods that can run on a node. + :type max_pods: int + :param os_type: OsType to be used to specify os type. Choose from Linux + and Windows. Default to Linux. Possible values include: 'Linux', + 'Windows'. Default value: "Linux" . + :type os_type: str or + ~azure.mgmt.containerservice.v2021_05_01.models.OSType + :param os_sku: OsSKU to be used to specify os sku. Choose from + Ubuntu(default) and CBLMariner for Linux OSType. Not applicable to Windows + OSType. Possible values include: 'Ubuntu', 'CBLMariner' + :type os_sku: str or ~azure.mgmt.containerservice.v2021_05_01.models.OSSKU + :param max_count: Maximum number of nodes for auto-scaling + :type max_count: int + :param min_count: Minimum number of nodes for auto-scaling + :type min_count: int + :param enable_auto_scaling: Whether to enable auto-scaler + :type enable_auto_scaling: bool + :param type: AgentPoolType represents types of an agent pool. Possible + values include: 'VirtualMachineScaleSets', 'AvailabilitySet' + :type type: str or + ~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolType + :param mode: AgentPoolMode represents mode of an agent pool. Possible + values include: 'System', 'User' + :type mode: str or + ~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolMode + :param orchestrator_version: Version of orchestrator specified when + creating the managed cluster. + :type orchestrator_version: str + :ivar node_image_version: Version of node image + :vartype node_image_version: str + :param upgrade_settings: Settings for upgrading the agentpool + :type upgrade_settings: + ~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolUpgradeSettings + :ivar provisioning_state: The current deployment or provisioning state, + which only appears in the response. + :vartype provisioning_state: str + :ivar power_state: Describes whether the Agent Pool is Running or Stopped + :vartype power_state: + ~azure.mgmt.containerservice.v2021_05_01.models.PowerState + :param availability_zones: Availability zones for nodes. Must use + VirtualMachineScaleSets AgentPoolType. + :type availability_zones: list[str] + :param enable_node_public_ip: Enable public IP for nodes + :type enable_node_public_ip: bool + :param node_public_ip_prefix_id: Public IP Prefix ID. VM nodes use IPs + assigned from this Public IP Prefix. + :type node_public_ip_prefix_id: str + :param scale_set_priority: ScaleSetPriority to be used to specify virtual + machine scale set priority. Default to regular. Possible values include: + 'Spot', 'Regular'. Default value: "Regular" . + :type scale_set_priority: str or + ~azure.mgmt.containerservice.v2021_05_01.models.ScaleSetPriority + :param scale_set_eviction_policy: ScaleSetEvictionPolicy to be used to + specify eviction policy for Spot virtual machine scale set. Default to + Delete. Possible values include: 'Delete', 'Deallocate'. Default value: + "Delete" . + :type scale_set_eviction_policy: str or + ~azure.mgmt.containerservice.v2021_05_01.models.ScaleSetEvictionPolicy + :param spot_max_price: SpotMaxPrice to be used to specify the maximum + price you are willing to pay in US Dollars. Possible values are any + decimal value greater than zero or -1 which indicates default price to be + up-to on-demand. + :type spot_max_price: float + :param tags: Agent pool tags to be persisted on the agent pool virtual + machine scale set. + :type tags: dict[str, str] + :param node_labels: Agent pool node labels to be persisted across all + nodes in agent pool. + :type node_labels: dict[str, str] + :param node_taints: Taints added to new nodes during node pool create and + scale. For example, key=value:NoSchedule. + :type node_taints: list[str] + :param proximity_placement_group_id: The ID for Proximity Placement Group. + :type proximity_placement_group_id: str + :param kubelet_config: KubeletConfig specifies the configuration of + kubelet on agent nodes. + :type kubelet_config: + ~azure.mgmt.containerservice.v2021_05_01.models.KubeletConfig + :param linux_os_config: LinuxOSConfig specifies the OS configuration of + linux agent nodes. + :type linux_os_config: + ~azure.mgmt.containerservice.v2021_05_01.models.LinuxOSConfig + :param enable_encryption_at_host: Whether to enable EncryptionAtHost + :type enable_encryption_at_host: bool + :param enable_ultra_ssd: Whether to enable UltraSSD + :type enable_ultra_ssd: bool + :param enable_fips: Whether to use FIPS enabled OS + :type enable_fips: bool + :param gpu_instance_profile: GPUInstanceProfile to be used to specify GPU + MIG instance profile for supported GPU VM SKU. Supported values are MIG1g, + MIG2g, MIG3g, MIG4g and MIG7g. Possible values include: 'MIG1g', 'MIG2g', + 'MIG3g', 'MIG4g', 'MIG7g' + :type gpu_instance_profile: str or + ~azure.mgmt.containerservice.v2021_05_01.models.GPUInstanceProfile + :param name: Required. Unique name of the agent pool profile in the + context of the subscription and resource group. + :type name: str + """ + + _validation = { + 'node_image_version': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'power_state': {'readonly': True}, + 'name': {'required': True, 'pattern': r'^[a-z][a-z0-9]{0,11}$'}, + } + + _attribute_map = { + 'count': {'key': 'count', 'type': 'int'}, + 'vm_size': {'key': 'vmSize', 'type': 'str'}, + 'os_disk_size_gb': {'key': 'osDiskSizeGB', 'type': 'int'}, + 'os_disk_type': {'key': 'osDiskType', 'type': 'str'}, + 'kubelet_disk_type': {'key': 'kubeletDiskType', 'type': 'str'}, + 'vnet_subnet_id': {'key': 'vnetSubnetID', 'type': 'str'}, + 'pod_subnet_id': {'key': 'podSubnetID', 'type': 'str'}, + 'max_pods': {'key': 'maxPods', 'type': 'int'}, + 'os_type': {'key': 'osType', 'type': 'str'}, + 'os_sku': {'key': 'osSKU', 'type': 'str'}, + 'max_count': {'key': 'maxCount', 'type': 'int'}, + 'min_count': {'key': 'minCount', 'type': 'int'}, + 'enable_auto_scaling': {'key': 'enableAutoScaling', 'type': 'bool'}, + 'type': {'key': 'type', 'type': 'str'}, + 'mode': {'key': 'mode', 'type': 'str'}, + 'orchestrator_version': {'key': 'orchestratorVersion', 'type': 'str'}, + 'node_image_version': {'key': 'nodeImageVersion', 'type': 'str'}, + 'upgrade_settings': {'key': 'upgradeSettings', 'type': 'AgentPoolUpgradeSettings'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'power_state': {'key': 'powerState', 'type': 'PowerState'}, + 'availability_zones': {'key': 'availabilityZones', 'type': '[str]'}, + 'enable_node_public_ip': {'key': 'enableNodePublicIP', 'type': 'bool'}, + 'node_public_ip_prefix_id': {'key': 'nodePublicIPPrefixID', 'type': 'str'}, + 'scale_set_priority': {'key': 'scaleSetPriority', 'type': 'str'}, + 'scale_set_eviction_policy': {'key': 'scaleSetEvictionPolicy', 'type': 'str'}, + 'spot_max_price': {'key': 'spotMaxPrice', 'type': 'float'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'node_labels': {'key': 'nodeLabels', 'type': '{str}'}, + 'node_taints': {'key': 'nodeTaints', 'type': '[str]'}, + 'proximity_placement_group_id': {'key': 'proximityPlacementGroupID', 'type': 'str'}, + 'kubelet_config': {'key': 'kubeletConfig', 'type': 'KubeletConfig'}, + 'linux_os_config': {'key': 'linuxOSConfig', 'type': 'LinuxOSConfig'}, + 'enable_encryption_at_host': {'key': 'enableEncryptionAtHost', 'type': 'bool'}, + 'enable_ultra_ssd': {'key': 'enableUltraSSD', 'type': 'bool'}, + 'enable_fips': {'key': 'enableFIPS', 'type': 'bool'}, + 'gpu_instance_profile': {'key': 'gpuInstanceProfile', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, *, name: str, count: int=None, vm_size: str=None, os_disk_size_gb: int=None, os_disk_type=None, kubelet_disk_type=None, vnet_subnet_id: str=None, pod_subnet_id: str=None, max_pods: int=None, os_type="Linux", os_sku=None, max_count: int=None, min_count: int=None, enable_auto_scaling: bool=None, type=None, mode=None, orchestrator_version: str=None, upgrade_settings=None, availability_zones=None, enable_node_public_ip: bool=None, node_public_ip_prefix_id: str=None, scale_set_priority="Regular", scale_set_eviction_policy="Delete", spot_max_price: float=None, tags=None, node_labels=None, node_taints=None, proximity_placement_group_id: str=None, kubelet_config=None, linux_os_config=None, enable_encryption_at_host: bool=None, enable_ultra_ssd: bool=None, enable_fips: bool=None, gpu_instance_profile=None, **kwargs) -> None: + super(ManagedClusterAgentPoolProfile, self).__init__(count=count, vm_size=vm_size, os_disk_size_gb=os_disk_size_gb, os_disk_type=os_disk_type, kubelet_disk_type=kubelet_disk_type, vnet_subnet_id=vnet_subnet_id, pod_subnet_id=pod_subnet_id, max_pods=max_pods, os_type=os_type, os_sku=os_sku, max_count=max_count, min_count=min_count, enable_auto_scaling=enable_auto_scaling, type=type, mode=mode, orchestrator_version=orchestrator_version, upgrade_settings=upgrade_settings, availability_zones=availability_zones, enable_node_public_ip=enable_node_public_ip, node_public_ip_prefix_id=node_public_ip_prefix_id, scale_set_priority=scale_set_priority, scale_set_eviction_policy=scale_set_eviction_policy, spot_max_price=spot_max_price, tags=tags, node_labels=node_labels, node_taints=node_taints, proximity_placement_group_id=proximity_placement_group_id, kubelet_config=kubelet_config, linux_os_config=linux_os_config, enable_encryption_at_host=enable_encryption_at_host, enable_ultra_ssd=enable_ultra_ssd, enable_fips=enable_fips, gpu_instance_profile=gpu_instance_profile, **kwargs) + self.name = name + + +class ManagedClusterAPIServerAccessProfile(Model): + """Access profile for managed cluster API server. + + :param authorized_ip_ranges: Authorized IP Ranges to kubernetes API + server. + :type authorized_ip_ranges: list[str] + :param enable_private_cluster: Whether to create the cluster as a private + cluster or not. + :type enable_private_cluster: bool + :param private_dns_zone: Private dns zone mode for private cluster. + :type private_dns_zone: str + :param enable_private_cluster_public_fqdn: Whether to create additional + public FQDN for private cluster or not. + :type enable_private_cluster_public_fqdn: bool + """ + + _attribute_map = { + 'authorized_ip_ranges': {'key': 'authorizedIPRanges', 'type': '[str]'}, + 'enable_private_cluster': {'key': 'enablePrivateCluster', 'type': 'bool'}, + 'private_dns_zone': {'key': 'privateDNSZone', 'type': 'str'}, + 'enable_private_cluster_public_fqdn': {'key': 'enablePrivateClusterPublicFQDN', 'type': 'bool'}, + } + + def __init__(self, *, authorized_ip_ranges=None, enable_private_cluster: bool=None, private_dns_zone: str=None, enable_private_cluster_public_fqdn: bool=None, **kwargs) -> None: + super(ManagedClusterAPIServerAccessProfile, self).__init__(**kwargs) + self.authorized_ip_ranges = authorized_ip_ranges + self.enable_private_cluster = enable_private_cluster + self.private_dns_zone = private_dns_zone + self.enable_private_cluster_public_fqdn = enable_private_cluster_public_fqdn + + +class ManagedClusterAutoUpgradeProfile(Model): + """Auto upgrade profile for a managed cluster. + + :param upgrade_channel: upgrade channel for auto upgrade. Possible values + include: 'rapid', 'stable', 'patch', 'node-image', 'none' + :type upgrade_channel: str or + ~azure.mgmt.containerservice.v2021_05_01.models.UpgradeChannel + """ + + _attribute_map = { + 'upgrade_channel': {'key': 'upgradeChannel', 'type': 'str'}, + } + + def __init__(self, *, upgrade_channel=None, **kwargs) -> None: + super(ManagedClusterAutoUpgradeProfile, self).__init__(**kwargs) + self.upgrade_channel = upgrade_channel + + +class ManagedClusterHTTPProxyConfig(Model): + """Configurations for provisioning the cluster with HTTP proxy servers. + + :param http_proxy: HTTP proxy server endpoint to use. + :type http_proxy: str + :param https_proxy: HTTPS proxy server endpoint to use. + :type https_proxy: str + :param no_proxy: Endpoints that should not go through proxy. + :type no_proxy: list[str] + :param trusted_ca: Alternative CA cert to use for connecting to proxy + servers. + :type trusted_ca: str + """ + + _attribute_map = { + 'http_proxy': {'key': 'httpProxy', 'type': 'str'}, + 'https_proxy': {'key': 'httpsProxy', 'type': 'str'}, + 'no_proxy': {'key': 'noProxy', 'type': '[str]'}, + 'trusted_ca': {'key': 'trustedCa', 'type': 'str'}, + } + + def __init__(self, *, http_proxy: str=None, https_proxy: str=None, no_proxy=None, trusted_ca: str=None, **kwargs) -> None: + super(ManagedClusterHTTPProxyConfig, self).__init__(**kwargs) + self.http_proxy = http_proxy + self.https_proxy = https_proxy + self.no_proxy = no_proxy + self.trusted_ca = trusted_ca + + +class ManagedClusterIdentity(Model): + """Identity for the managed cluster. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar principal_id: The principal id of the system assigned identity which + is used by master components. + :vartype principal_id: str + :ivar tenant_id: The tenant id of the system assigned identity which is + used by master components. + :vartype tenant_id: str + :param type: The type of identity used for the managed cluster. Type + 'SystemAssigned' will use an implicitly created identity in master + components and an auto-created user assigned identity in MC_ resource + group in agent nodes. Type 'None' will not use MSI for the managed + cluster, service principal will be used instead. Possible values include: + 'SystemAssigned', 'UserAssigned', 'None' + :type type: str or + ~azure.mgmt.containerservice.v2021_05_01.models.ResourceIdentityType + :param user_assigned_identities: The user identity associated with the + managed cluster. This identity will be used in control plane and only one + user assigned identity is allowed. The user identity dictionary key + references will be ARM resource ids in the form: + '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + :type user_assigned_identities: dict[str, + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterIdentityUserAssignedIdentitiesValue] + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'tenant_id': {'readonly': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'tenant_id': {'key': 'tenantId', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'ResourceIdentityType'}, + 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{ManagedClusterIdentityUserAssignedIdentitiesValue}'}, + } + + def __init__(self, *, type=None, user_assigned_identities=None, **kwargs) -> None: + super(ManagedClusterIdentity, self).__init__(**kwargs) + self.principal_id = None + self.tenant_id = None + self.type = type + self.user_assigned_identities = user_assigned_identities + + +class ManagedClusterIdentityUserAssignedIdentitiesValue(Model): + """ManagedClusterIdentityUserAssignedIdentitiesValue. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar principal_id: The principal id of user assigned identity. + :vartype principal_id: str + :ivar client_id: The client id of user assigned identity. + :vartype client_id: str + """ + + _validation = { + 'principal_id': {'readonly': True}, + 'client_id': {'readonly': True}, + } + + _attribute_map = { + 'principal_id': {'key': 'principalId', 'type': 'str'}, + 'client_id': {'key': 'clientId', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(ManagedClusterIdentityUserAssignedIdentitiesValue, self).__init__(**kwargs) + self.principal_id = None + self.client_id = None + + +class ManagedClusterLoadBalancerProfile(Model): + """Profile of the managed cluster load balancer. + + :param managed_outbound_ips: Desired managed outbound IPs for the cluster + load balancer. + :type managed_outbound_ips: + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterLoadBalancerProfileManagedOutboundIPs + :param outbound_ip_prefixes: Desired outbound IP Prefix resources for the + cluster load balancer. + :type outbound_ip_prefixes: + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterLoadBalancerProfileOutboundIPPrefixes + :param outbound_ips: Desired outbound IP resources for the cluster load + balancer. + :type outbound_ips: + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterLoadBalancerProfileOutboundIPs + :param effective_outbound_ips: The effective outbound IP resources of the + cluster load balancer. + :type effective_outbound_ips: + list[~azure.mgmt.containerservice.v2021_05_01.models.ResourceReference] + :param allocated_outbound_ports: Desired number of allocated SNAT ports + per VM. Allowed values must be in the range of 0 to 64000 (inclusive). The + default value is 0 which results in Azure dynamically allocating ports. + Default value: 0 . + :type allocated_outbound_ports: int + :param idle_timeout_in_minutes: Desired outbound flow idle timeout in + minutes. Allowed values must be in the range of 4 to 120 (inclusive). The + default value is 30 minutes. Default value: 30 . + :type idle_timeout_in_minutes: int + """ + + _validation = { + 'allocated_outbound_ports': {'maximum': 64000, 'minimum': 0}, + 'idle_timeout_in_minutes': {'maximum': 120, 'minimum': 4}, + } + + _attribute_map = { + 'managed_outbound_ips': {'key': 'managedOutboundIPs', 'type': 'ManagedClusterLoadBalancerProfileManagedOutboundIPs'}, + 'outbound_ip_prefixes': {'key': 'outboundIPPrefixes', 'type': 'ManagedClusterLoadBalancerProfileOutboundIPPrefixes'}, + 'outbound_ips': {'key': 'outboundIPs', 'type': 'ManagedClusterLoadBalancerProfileOutboundIPs'}, + 'effective_outbound_ips': {'key': 'effectiveOutboundIPs', 'type': '[ResourceReference]'}, + 'allocated_outbound_ports': {'key': 'allocatedOutboundPorts', 'type': 'int'}, + 'idle_timeout_in_minutes': {'key': 'idleTimeoutInMinutes', 'type': 'int'}, + } + + def __init__(self, *, managed_outbound_ips=None, outbound_ip_prefixes=None, outbound_ips=None, effective_outbound_ips=None, allocated_outbound_ports: int=0, idle_timeout_in_minutes: int=30, **kwargs) -> None: + super(ManagedClusterLoadBalancerProfile, self).__init__(**kwargs) + self.managed_outbound_ips = managed_outbound_ips + self.outbound_ip_prefixes = outbound_ip_prefixes + self.outbound_ips = outbound_ips + self.effective_outbound_ips = effective_outbound_ips + self.allocated_outbound_ports = allocated_outbound_ports + self.idle_timeout_in_minutes = idle_timeout_in_minutes + + +class ManagedClusterLoadBalancerProfileManagedOutboundIPs(Model): + """Desired managed outbound IPs for the cluster load balancer. + + :param count: Desired number of outbound IP created/managed by Azure for + the cluster load balancer. Allowed values must be in the range of 1 to 100 + (inclusive). The default value is 1. . Default value: 1 . + :type count: int + """ + + _validation = { + 'count': {'maximum': 100, 'minimum': 1}, + } + + _attribute_map = { + 'count': {'key': 'count', 'type': 'int'}, + } + + def __init__(self, *, count: int=1, **kwargs) -> None: + super(ManagedClusterLoadBalancerProfileManagedOutboundIPs, self).__init__(**kwargs) + self.count = count + + +class ManagedClusterLoadBalancerProfileOutboundIPPrefixes(Model): + """Desired outbound IP Prefix resources for the cluster load balancer. + + :param public_ip_prefixes: A list of public IP prefix resources. + :type public_ip_prefixes: + list[~azure.mgmt.containerservice.v2021_05_01.models.ResourceReference] + """ + + _attribute_map = { + 'public_ip_prefixes': {'key': 'publicIPPrefixes', 'type': '[ResourceReference]'}, + } + + def __init__(self, *, public_ip_prefixes=None, **kwargs) -> None: + super(ManagedClusterLoadBalancerProfileOutboundIPPrefixes, self).__init__(**kwargs) + self.public_ip_prefixes = public_ip_prefixes + + +class ManagedClusterLoadBalancerProfileOutboundIPs(Model): + """Desired outbound IP resources for the cluster load balancer. + + :param public_ips: A list of public IP resources. + :type public_ips: + list[~azure.mgmt.containerservice.v2021_05_01.models.ResourceReference] + """ + + _attribute_map = { + 'public_ips': {'key': 'publicIPs', 'type': '[ResourceReference]'}, + } + + def __init__(self, *, public_ips=None, **kwargs) -> None: + super(ManagedClusterLoadBalancerProfileOutboundIPs, self).__init__(**kwargs) + self.public_ips = public_ips + + +class ManagedClusterPodIdentity(Model): + """ManagedClusterPodIdentity. + + 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. Name of the pod identity. + :type name: str + :param namespace: Required. Namespace of the pod identity. + :type namespace: str + :param binding_selector: Binding selector to use for the + AzureIdentityBinding resource. + :type binding_selector: str + :param identity: Required. Information of the user assigned identity. + :type identity: + ~azure.mgmt.containerservice.v2021_05_01.models.UserAssignedIdentity + :ivar provisioning_state: The current provisioning state of the pod + identity. Possible values include: 'Assigned', 'Updating', 'Deleting', + 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterPodIdentityProvisioningState + :ivar provisioning_info: + :vartype provisioning_info: + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterPodIdentityProvisioningInfo + """ + + _validation = { + 'name': {'required': True}, + 'namespace': {'required': True}, + 'identity': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'provisioning_info': {'readonly': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'namespace': {'key': 'namespace', 'type': 'str'}, + 'binding_selector': {'key': 'bindingSelector', 'type': 'str'}, + 'identity': {'key': 'identity', 'type': 'UserAssignedIdentity'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + 'provisioning_info': {'key': 'provisioningInfo', 'type': 'ManagedClusterPodIdentityProvisioningInfo'}, + } + + def __init__(self, *, name: str, namespace: str, identity, binding_selector: str=None, **kwargs) -> None: + super(ManagedClusterPodIdentity, self).__init__(**kwargs) + self.name = name + self.namespace = namespace + self.binding_selector = binding_selector + self.identity = identity + self.provisioning_state = None + self.provisioning_info = None + + +class ManagedClusterPodIdentityException(Model): + """ManagedClusterPodIdentityException. + + All required parameters must be populated in order to send to Azure. + + :param name: Required. Name of the pod identity exception. + :type name: str + :param namespace: Required. Namespace of the pod identity exception. + :type namespace: str + :param pod_labels: Required. Pod labels to match. + :type pod_labels: dict[str, str] + """ + + _validation = { + 'name': {'required': True}, + 'namespace': {'required': True}, + 'pod_labels': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'namespace': {'key': 'namespace', 'type': 'str'}, + 'pod_labels': {'key': 'podLabels', 'type': '{str}'}, + } + + def __init__(self, *, name: str, namespace: str, pod_labels, **kwargs) -> None: + super(ManagedClusterPodIdentityException, self).__init__(**kwargs) + self.name = name + self.namespace = namespace + self.pod_labels = pod_labels + + +class ManagedClusterPodIdentityProfile(Model): + """ManagedClusterPodIdentityProfile. + + :param enabled: Whether the pod identity addon is enabled. + :type enabled: bool + :param allow_network_plugin_kubenet: Customer consent for enabling AAD pod + identity addon in cluster using Kubenet network plugin. + :type allow_network_plugin_kubenet: bool + :param user_assigned_identities: User assigned pod identity settings. + :type user_assigned_identities: + list[~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterPodIdentity] + :param user_assigned_identity_exceptions: User assigned pod identity + exception settings. + :type user_assigned_identity_exceptions: + list[~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterPodIdentityException] + """ + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'allow_network_plugin_kubenet': {'key': 'allowNetworkPluginKubenet', 'type': 'bool'}, + 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '[ManagedClusterPodIdentity]'}, + 'user_assigned_identity_exceptions': {'key': 'userAssignedIdentityExceptions', 'type': '[ManagedClusterPodIdentityException]'}, + } + + def __init__(self, *, enabled: bool=None, allow_network_plugin_kubenet: bool=None, user_assigned_identities=None, user_assigned_identity_exceptions=None, **kwargs) -> None: + super(ManagedClusterPodIdentityProfile, self).__init__(**kwargs) + self.enabled = enabled + self.allow_network_plugin_kubenet = allow_network_plugin_kubenet + self.user_assigned_identities = user_assigned_identities + self.user_assigned_identity_exceptions = user_assigned_identity_exceptions + + +class ManagedClusterPodIdentityProvisioningInfo(Model): + """ManagedClusterPodIdentityProvisioningInfo. + + :param error: Pod identity assignment error (if any). + :type error: ~azure.mgmt.containerservice.v2021_05_01.models.CloudError + """ + + _attribute_map = { + 'error': {'key': 'error', 'type': 'CloudError'}, + } + + def __init__(self, *, error=None, **kwargs) -> None: + super(ManagedClusterPodIdentityProvisioningInfo, self).__init__(**kwargs) + self.error = error + + +class ManagedClusterPoolUpgradeProfile(Model): + """The list of available upgrade versions. + + All required parameters must be populated in order to send to Azure. + + :param kubernetes_version: Required. Kubernetes version (major, minor, + patch). + :type kubernetes_version: str + :param name: Pool name. + :type name: str + :param os_type: Required. OsType to be used to specify os type. Choose + from Linux and Windows. Default to Linux. Possible values include: + 'Linux', 'Windows'. Default value: "Linux" . + :type os_type: str or + ~azure.mgmt.containerservice.v2021_05_01.models.OSType + :param upgrades: List of orchestrator types and versions available for + upgrade. + :type upgrades: + list[~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterPoolUpgradeProfileUpgradesItem] + """ + + _validation = { + 'kubernetes_version': {'required': True}, + 'os_type': {'required': True}, + } + + _attribute_map = { + 'kubernetes_version': {'key': 'kubernetesVersion', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'os_type': {'key': 'osType', 'type': 'str'}, + 'upgrades': {'key': 'upgrades', 'type': '[ManagedClusterPoolUpgradeProfileUpgradesItem]'}, + } + + def __init__(self, *, kubernetes_version: str, name: str=None, os_type="Linux", upgrades=None, **kwargs) -> None: + super(ManagedClusterPoolUpgradeProfile, self).__init__(**kwargs) + self.kubernetes_version = kubernetes_version + self.name = name + self.os_type = os_type + self.upgrades = upgrades + + +class ManagedClusterPoolUpgradeProfileUpgradesItem(Model): + """ManagedClusterPoolUpgradeProfileUpgradesItem. + + :param kubernetes_version: Kubernetes version (major, minor, patch). + :type kubernetes_version: str + :param is_preview: Whether Kubernetes version is currently in preview. + :type is_preview: bool + """ + + _attribute_map = { + 'kubernetes_version': {'key': 'kubernetesVersion', 'type': 'str'}, + 'is_preview': {'key': 'isPreview', 'type': 'bool'}, + } + + def __init__(self, *, kubernetes_version: str=None, is_preview: bool=None, **kwargs) -> None: + super(ManagedClusterPoolUpgradeProfileUpgradesItem, self).__init__(**kwargs) + self.kubernetes_version = kubernetes_version + self.is_preview = is_preview + + +class ManagedClusterPropertiesAutoScalerProfile(Model): + """Parameters to be applied to the cluster-autoscaler when enabled. + + :param balance_similar_node_groups: + :type balance_similar_node_groups: str + :param expander: Possible values include: 'least-waste', 'most-pods', + 'priority', 'random' + :type expander: str or + ~azure.mgmt.containerservice.v2021_05_01.models.Expander + :param max_empty_bulk_delete: + :type max_empty_bulk_delete: str + :param max_graceful_termination_sec: + :type max_graceful_termination_sec: str + :param max_node_provision_time: + :type max_node_provision_time: str + :param max_total_unready_percentage: + :type max_total_unready_percentage: str + :param new_pod_scale_up_delay: + :type new_pod_scale_up_delay: str + :param ok_total_unready_count: + :type ok_total_unready_count: str + :param scan_interval: + :type scan_interval: str + :param scale_down_delay_after_add: + :type scale_down_delay_after_add: str + :param scale_down_delay_after_delete: + :type scale_down_delay_after_delete: str + :param scale_down_delay_after_failure: + :type scale_down_delay_after_failure: str + :param scale_down_unneeded_time: + :type scale_down_unneeded_time: str + :param scale_down_unready_time: + :type scale_down_unready_time: str + :param scale_down_utilization_threshold: + :type scale_down_utilization_threshold: str + :param skip_nodes_with_local_storage: + :type skip_nodes_with_local_storage: str + :param skip_nodes_with_system_pods: + :type skip_nodes_with_system_pods: str + """ + + _attribute_map = { + 'balance_similar_node_groups': {'key': 'balance-similar-node-groups', 'type': 'str'}, + 'expander': {'key': 'expander', 'type': 'str'}, + 'max_empty_bulk_delete': {'key': 'max-empty-bulk-delete', 'type': 'str'}, + 'max_graceful_termination_sec': {'key': 'max-graceful-termination-sec', 'type': 'str'}, + 'max_node_provision_time': {'key': 'max-node-provision-time', 'type': 'str'}, + 'max_total_unready_percentage': {'key': 'max-total-unready-percentage', 'type': 'str'}, + 'new_pod_scale_up_delay': {'key': 'new-pod-scale-up-delay', 'type': 'str'}, + 'ok_total_unready_count': {'key': 'ok-total-unready-count', 'type': 'str'}, + 'scan_interval': {'key': 'scan-interval', 'type': 'str'}, + 'scale_down_delay_after_add': {'key': 'scale-down-delay-after-add', 'type': 'str'}, + 'scale_down_delay_after_delete': {'key': 'scale-down-delay-after-delete', 'type': 'str'}, + 'scale_down_delay_after_failure': {'key': 'scale-down-delay-after-failure', 'type': 'str'}, + 'scale_down_unneeded_time': {'key': 'scale-down-unneeded-time', 'type': 'str'}, + 'scale_down_unready_time': {'key': 'scale-down-unready-time', 'type': 'str'}, + 'scale_down_utilization_threshold': {'key': 'scale-down-utilization-threshold', 'type': 'str'}, + 'skip_nodes_with_local_storage': {'key': 'skip-nodes-with-local-storage', 'type': 'str'}, + 'skip_nodes_with_system_pods': {'key': 'skip-nodes-with-system-pods', 'type': 'str'}, + } + + def __init__(self, *, balance_similar_node_groups: str=None, expander=None, max_empty_bulk_delete: str=None, max_graceful_termination_sec: str=None, max_node_provision_time: str=None, max_total_unready_percentage: str=None, new_pod_scale_up_delay: str=None, ok_total_unready_count: str=None, scan_interval: str=None, scale_down_delay_after_add: str=None, scale_down_delay_after_delete: str=None, scale_down_delay_after_failure: str=None, scale_down_unneeded_time: str=None, scale_down_unready_time: str=None, scale_down_utilization_threshold: str=None, skip_nodes_with_local_storage: str=None, skip_nodes_with_system_pods: str=None, **kwargs) -> None: + super(ManagedClusterPropertiesAutoScalerProfile, self).__init__(**kwargs) + self.balance_similar_node_groups = balance_similar_node_groups + self.expander = expander + self.max_empty_bulk_delete = max_empty_bulk_delete + self.max_graceful_termination_sec = max_graceful_termination_sec + self.max_node_provision_time = max_node_provision_time + self.max_total_unready_percentage = max_total_unready_percentage + self.new_pod_scale_up_delay = new_pod_scale_up_delay + self.ok_total_unready_count = ok_total_unready_count + self.scan_interval = scan_interval + self.scale_down_delay_after_add = scale_down_delay_after_add + self.scale_down_delay_after_delete = scale_down_delay_after_delete + self.scale_down_delay_after_failure = scale_down_delay_after_failure + self.scale_down_unneeded_time = scale_down_unneeded_time + self.scale_down_unready_time = scale_down_unready_time + self.scale_down_utilization_threshold = scale_down_utilization_threshold + self.skip_nodes_with_local_storage = skip_nodes_with_local_storage + self.skip_nodes_with_system_pods = skip_nodes_with_system_pods + + +class ManagedClusterPropertiesIdentityProfileValue(UserAssignedIdentity): + """ManagedClusterPropertiesIdentityProfileValue. + + :param resource_id: The resource id of the user assigned identity. + :type resource_id: str + :param client_id: The client id of the user assigned identity. + :type client_id: str + :param object_id: The object id of the user assigned identity. + :type object_id: str + """ + + _attribute_map = { + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'client_id': {'key': 'clientId', 'type': 'str'}, + 'object_id': {'key': 'objectId', 'type': 'str'}, + } + + def __init__(self, *, resource_id: str=None, client_id: str=None, object_id: str=None, **kwargs) -> None: + super(ManagedClusterPropertiesIdentityProfileValue, self).__init__(resource_id=resource_id, client_id=client_id, object_id=object_id, **kwargs) + + +class ManagedClusterServicePrincipalProfile(Model): + """Information about a service principal identity for the cluster to use for + manipulating Azure APIs. + + All required parameters must be populated in order to send to Azure. + + :param client_id: Required. The ID for the service principal. + :type client_id: str + :param secret: The secret password associated with the service principal + in plain text. + :type secret: str + """ + + _validation = { + 'client_id': {'required': True}, + } + + _attribute_map = { + 'client_id': {'key': 'clientId', 'type': 'str'}, + 'secret': {'key': 'secret', 'type': 'str'}, + } + + def __init__(self, *, client_id: str, secret: str=None, **kwargs) -> None: + super(ManagedClusterServicePrincipalProfile, self).__init__(**kwargs) + self.client_id = client_id + self.secret = secret + + +class ManagedClusterSKU(Model): + """ManagedClusterSKU. + + :param name: Name of a managed cluster SKU. Possible values include: + 'Basic' + :type name: str or + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterSKUName + :param tier: Tier of a managed cluster SKU. Possible values include: + 'Paid', 'Free' + :type tier: str or + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterSKUTier + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + } + + def __init__(self, *, name=None, tier=None, **kwargs) -> None: + super(ManagedClusterSKU, self).__init__(**kwargs) + self.name = name + self.tier = tier + + +class ManagedClusterUpgradeProfile(Model): + """The list of available upgrades for compute pools. + + 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: Id of upgrade profile. + :vartype id: str + :ivar name: Name of upgrade profile. + :vartype name: str + :ivar type: Type of upgrade profile. + :vartype type: str + :param control_plane_profile: Required. The list of available upgrade + versions for the control plane. + :type control_plane_profile: + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterPoolUpgradeProfile + :param agent_pool_profiles: Required. The list of available upgrade + versions for agent pools. + :type agent_pool_profiles: + list[~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterPoolUpgradeProfile] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'control_plane_profile': {'required': True}, + 'agent_pool_profiles': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'control_plane_profile': {'key': 'properties.controlPlaneProfile', 'type': 'ManagedClusterPoolUpgradeProfile'}, + 'agent_pool_profiles': {'key': 'properties.agentPoolProfiles', 'type': '[ManagedClusterPoolUpgradeProfile]'}, + } + + def __init__(self, *, control_plane_profile, agent_pool_profiles, **kwargs) -> None: + super(ManagedClusterUpgradeProfile, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.control_plane_profile = control_plane_profile + self.agent_pool_profiles = agent_pool_profiles + + +class ManagedClusterWindowsProfile(Model): + """Profile for Windows VMs in the container service cluster. + + All required parameters must be populated in order to send to Azure. + + :param admin_username: Required. Specifies the name of the administrator + account.

**restriction:** Cannot end in "."

**Disallowed + values:** "administrator", "admin", "user", "user1", "test", "user2", + "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", + "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", + "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", + "user4", "user5".

**Minimum-length:** 1 character

+ **Max-length:** 20 characters + :type admin_username: str + :param admin_password: Specifies the password of the administrator + account.

**Minimum-length:** 8 characters

+ **Max-length:** 123 characters

**Complexity requirements:** 3 out + of 4 conditions below need to be fulfilled
Has lower characters +
Has upper characters
Has a digit
Has a special character + (Regex match [\\W_])

**Disallowed values:** "abc@123", + "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", + "Password!", "Password1", "Password22", "iloveyou!" + :type admin_password: str + :param license_type: The licenseType to use for Windows VMs. + Windows_Server is used to enable Azure Hybrid User Benefits for Windows + VMs. Possible values include: 'None', 'Windows_Server' + :type license_type: str or + ~azure.mgmt.containerservice.v2021_05_01.models.LicenseType + :param enable_csi_proxy: Whether to enable CSI proxy. + :type enable_csi_proxy: bool + """ + + _validation = { + 'admin_username': {'required': True}, + } + + _attribute_map = { + 'admin_username': {'key': 'adminUsername', 'type': 'str'}, + 'admin_password': {'key': 'adminPassword', 'type': 'str'}, + 'license_type': {'key': 'licenseType', 'type': 'str'}, + 'enable_csi_proxy': {'key': 'enableCSIProxy', 'type': 'bool'}, + } + + def __init__(self, *, admin_username: str, admin_password: str=None, license_type=None, enable_csi_proxy: bool=None, **kwargs) -> None: + super(ManagedClusterWindowsProfile, self).__init__(**kwargs) + self.admin_username = admin_username + self.admin_password = admin_password + self.license_type = license_type + self.enable_csi_proxy = enable_csi_proxy + + +class OperationValue(Model): + """Describes the properties of a Compute Operation value. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar origin: The origin of the compute operation. + :vartype origin: str + :ivar name: The name of the compute operation. + :vartype name: str + :ivar operation: The display name of the compute operation. + :vartype operation: str + :ivar resource: The display name of the resource the operation applies to. + :vartype resource: str + :ivar description: The description of the operation. + :vartype description: str + :ivar provider: The resource provider for the operation. + :vartype provider: str + """ + + _validation = { + 'origin': {'readonly': True}, + 'name': {'readonly': True}, + 'operation': {'readonly': True}, + 'resource': {'readonly': True}, + 'description': {'readonly': True}, + 'provider': {'readonly': True}, + } + + _attribute_map = { + 'origin': {'key': 'origin', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'operation': {'key': 'display.operation', 'type': 'str'}, + 'resource': {'key': 'display.resource', 'type': 'str'}, + 'description': {'key': 'display.description', 'type': 'str'}, + 'provider': {'key': 'display.provider', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(OperationValue, self).__init__(**kwargs) + self.origin = None + self.name = None + self.operation = None + self.resource = None + self.description = None + self.provider = None + + +class OSOptionProfile(Model): + """The OS option profile. + + 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: Id of the OS option profile. + :vartype id: str + :ivar name: Name of the OS option profile. + :vartype name: str + :ivar type: Type of the OS option profile. + :vartype type: str + :param os_option_property_list: Required. The list of OS option + properties. + :type os_option_property_list: + list[~azure.mgmt.containerservice.v2021_05_01.models.OSOptionProperty] + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'os_option_property_list': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'os_option_property_list': {'key': 'properties.osOptionPropertyList', 'type': '[OSOptionProperty]'}, + } + + def __init__(self, *, os_option_property_list, **kwargs) -> None: + super(OSOptionProfile, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.os_option_property_list = os_option_property_list + + +class OSOptionProperty(Model): + """OS option property. + + All required parameters must be populated in order to send to Azure. + + :param os_type: Required. OS type. + :type os_type: str + :param enable_fips_image: Required. Whether FIPS image is enabled. + :type enable_fips_image: bool + """ + + _validation = { + 'os_type': {'required': True}, + 'enable_fips_image': {'required': True}, + } + + _attribute_map = { + 'os_type': {'key': 'os-type', 'type': 'str'}, + 'enable_fips_image': {'key': 'enable-fips-image', 'type': 'bool'}, + } + + def __init__(self, *, os_type: str, enable_fips_image: bool, **kwargs) -> None: + super(OSOptionProperty, self).__init__(**kwargs) + self.os_type = os_type + self.enable_fips_image = enable_fips_image + + +class OutboundEnvironmentEndpoint(Model): + """Egress endpoints which AKS agent nodes connect to for common purpose. + + :param category: The category of endpoints accessed by the AKS agent node, + e.g. azure-resource-management, apiserver, etc. + :type category: str + :param endpoints: The endpoints that AKS agent nodes connect to + :type endpoints: + list[~azure.mgmt.containerservice.v2021_05_01.models.EndpointDependency] + """ + + _attribute_map = { + 'category': {'key': 'category', 'type': 'str'}, + 'endpoints': {'key': 'endpoints', 'type': '[EndpointDependency]'}, + } + + def __init__(self, *, category: str=None, endpoints=None, **kwargs) -> None: + super(OutboundEnvironmentEndpoint, self).__init__(**kwargs) + self.category = category + self.endpoints = endpoints + + +class PowerState(Model): + """Describes the Power State of the cluster. + + :param code: Tells whether the cluster is Running or Stopped. Possible + values include: 'Running', 'Stopped' + :type code: str or ~azure.mgmt.containerservice.v2021_05_01.models.Code + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + } + + def __init__(self, *, code=None, **kwargs) -> None: + super(PowerState, self).__init__(**kwargs) + self.code = code + + +class PrivateEndpoint(Model): + """Private endpoint which a connection belongs to. + + :param id: The resource Id for private endpoint + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, **kwargs) -> None: + super(PrivateEndpoint, self).__init__(**kwargs) + self.id = id + + +class PrivateEndpointConnection(Model): + """A private endpoint connection. + + 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: The ID of the private endpoint connection. + :vartype id: str + :ivar name: The name of the private endpoint connection. + :vartype name: str + :ivar type: The resource type. + :vartype type: str + :ivar provisioning_state: The current provisioning state. Possible values + include: 'Succeeded', 'Creating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.containerservice.v2021_05_01.models.PrivateEndpointConnectionProvisioningState + :param private_endpoint: The resource of private endpoint. + :type private_endpoint: + ~azure.mgmt.containerservice.v2021_05_01.models.PrivateEndpoint + :param private_link_service_connection_state: Required. A collection of + information about the state of the connection between service consumer and + provider. + :type private_link_service_connection_state: + ~azure.mgmt.containerservice.v2021_05_01.models.PrivateLinkServiceConnectionState + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'private_link_service_connection_state': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'private_endpoint': {'key': 'properties.privateEndpoint', 'type': 'PrivateEndpoint'}, + 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'}, + } + + def __init__(self, *, private_link_service_connection_state, private_endpoint=None, **kwargs) -> None: + super(PrivateEndpointConnection, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.provisioning_state = None + self.private_endpoint = private_endpoint + self.private_link_service_connection_state = private_link_service_connection_state + + +class PrivateEndpointConnectionListResult(Model): + """A list of private endpoint connections. + + :param value: The collection value. + :type value: + list[~azure.mgmt.containerservice.v2021_05_01.models.PrivateEndpointConnection] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PrivateEndpointConnection]'}, + } + + def __init__(self, *, value=None, **kwargs) -> None: + super(PrivateEndpointConnectionListResult, self).__init__(**kwargs) + self.value = value + + +class PrivateLinkResource(Model): + """A private link resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: The ID of the private link resource. + :type id: str + :param name: The name of the private link resource. + :type name: str + :param type: The resource type. + :type type: str + :param group_id: The group ID of the resource. + :type group_id: str + :param required_members: RequiredMembers of the resource + :type required_members: list[str] + :ivar private_link_service_id: The private link service ID of the + resource, this field is exposed only to NRP internally. + :vartype private_link_service_id: str + """ + + _validation = { + 'private_link_service_id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'group_id': {'key': 'groupId', 'type': 'str'}, + 'required_members': {'key': 'requiredMembers', 'type': '[str]'}, + 'private_link_service_id': {'key': 'privateLinkServiceID', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, name: str=None, type: str=None, group_id: str=None, required_members=None, **kwargs) -> None: + super(PrivateLinkResource, self).__init__(**kwargs) + self.id = id + self.name = name + self.type = type + self.group_id = group_id + self.required_members = required_members + self.private_link_service_id = None + + +class PrivateLinkResourcesListResult(Model): + """A list of private link resources. + + :param value: The collection value. + :type value: + list[~azure.mgmt.containerservice.v2021_05_01.models.PrivateLinkResource] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[PrivateLinkResource]'}, + } + + def __init__(self, *, value=None, **kwargs) -> None: + super(PrivateLinkResourcesListResult, self).__init__(**kwargs) + self.value = value + + +class PrivateLinkServiceConnectionState(Model): + """The state of a private link service connection. + + :param status: The private link service connection status. Possible values + include: 'Pending', 'Approved', 'Rejected', 'Disconnected' + :type status: str or + ~azure.mgmt.containerservice.v2021_05_01.models.ConnectionStatus + :param description: The private link service connection description. + :type description: str + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, *, status=None, description: str=None, **kwargs) -> None: + super(PrivateLinkServiceConnectionState, self).__init__(**kwargs) + self.status = status + self.description = description + + +class ResourceReference(Model): + """A reference to an Azure resource. + + :param id: The fully qualified Azure resource id. + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, **kwargs) -> None: + super(ResourceReference, self).__init__(**kwargs) + self.id = id + + +class RunCommandRequest(Model): + """run command request. + + All required parameters must be populated in order to send to Azure. + + :param command: Required. command to run. + :type command: str + :param context: base64 encoded zip file, contains files required by the + command + :type context: str + :param cluster_token: AuthToken issued for AKS AAD Server App. + :type cluster_token: str + """ + + _validation = { + 'command': {'required': True}, + } + + _attribute_map = { + 'command': {'key': 'command', 'type': 'str'}, + 'context': {'key': 'context', 'type': 'str'}, + 'cluster_token': {'key': 'clusterToken', 'type': 'str'}, + } + + def __init__(self, *, command: str, context: str=None, cluster_token: str=None, **kwargs) -> None: + super(RunCommandRequest, self).__init__(**kwargs) + self.command = command + self.context = context + self.cluster_token = cluster_token + + +class RunCommandResult(Model): + """run command result. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: command id. + :vartype id: str + :ivar provisioning_state: provisioning State + :vartype provisioning_state: str + :ivar exit_code: exit code of the command + :vartype exit_code: int + :ivar started_at: time when the command started. + :vartype started_at: datetime + :ivar finished_at: time when the command finished. + :vartype finished_at: datetime + :ivar logs: command output. + :vartype logs: str + :ivar reason: explain why provisioningState is set to failed (if so). + :vartype reason: str + """ + + _validation = { + 'id': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'exit_code': {'readonly': True}, + 'started_at': {'readonly': True}, + 'finished_at': {'readonly': True}, + 'logs': {'readonly': True}, + 'reason': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'exit_code': {'key': 'properties.exitCode', 'type': 'int'}, + 'started_at': {'key': 'properties.startedAt', 'type': 'iso-8601'}, + 'finished_at': {'key': 'properties.finishedAt', 'type': 'iso-8601'}, + 'logs': {'key': 'properties.logs', 'type': 'str'}, + 'reason': {'key': 'properties.reason', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(RunCommandResult, self).__init__(**kwargs) + self.id = None + self.provisioning_state = None + self.exit_code = None + self.started_at = None + self.finished_at = None + self.logs = None + self.reason = None + + +class SysctlConfig(Model): + """Sysctl settings for Linux agent nodes. + + :param net_core_somaxconn: Sysctl setting net.core.somaxconn. + :type net_core_somaxconn: int + :param net_core_netdev_max_backlog: Sysctl setting + net.core.netdev_max_backlog. + :type net_core_netdev_max_backlog: int + :param net_core_rmem_default: Sysctl setting net.core.rmem_default. + :type net_core_rmem_default: int + :param net_core_rmem_max: Sysctl setting net.core.rmem_max. + :type net_core_rmem_max: int + :param net_core_wmem_default: Sysctl setting net.core.wmem_default. + :type net_core_wmem_default: int + :param net_core_wmem_max: Sysctl setting net.core.wmem_max. + :type net_core_wmem_max: int + :param net_core_optmem_max: Sysctl setting net.core.optmem_max. + :type net_core_optmem_max: int + :param net_ipv4_tcp_max_syn_backlog: Sysctl setting + net.ipv4.tcp_max_syn_backlog. + :type net_ipv4_tcp_max_syn_backlog: int + :param net_ipv4_tcp_max_tw_buckets: Sysctl setting + net.ipv4.tcp_max_tw_buckets. + :type net_ipv4_tcp_max_tw_buckets: int + :param net_ipv4_tcp_fin_timeout: Sysctl setting net.ipv4.tcp_fin_timeout. + :type net_ipv4_tcp_fin_timeout: int + :param net_ipv4_tcp_keepalive_time: Sysctl setting + net.ipv4.tcp_keepalive_time. + :type net_ipv4_tcp_keepalive_time: int + :param net_ipv4_tcp_keepalive_probes: Sysctl setting + net.ipv4.tcp_keepalive_probes. + :type net_ipv4_tcp_keepalive_probes: int + :param net_ipv4_tcpkeepalive_intvl: Sysctl setting + net.ipv4.tcp_keepalive_intvl. + :type net_ipv4_tcpkeepalive_intvl: int + :param net_ipv4_tcp_tw_reuse: Sysctl setting net.ipv4.tcp_tw_reuse. + :type net_ipv4_tcp_tw_reuse: bool + :param net_ipv4_ip_local_port_range: Sysctl setting + net.ipv4.ip_local_port_range. + :type net_ipv4_ip_local_port_range: str + :param net_ipv4_neigh_default_gc_thresh1: Sysctl setting + net.ipv4.neigh.default.gc_thresh1. + :type net_ipv4_neigh_default_gc_thresh1: int + :param net_ipv4_neigh_default_gc_thresh2: Sysctl setting + net.ipv4.neigh.default.gc_thresh2. + :type net_ipv4_neigh_default_gc_thresh2: int + :param net_ipv4_neigh_default_gc_thresh3: Sysctl setting + net.ipv4.neigh.default.gc_thresh3. + :type net_ipv4_neigh_default_gc_thresh3: int + :param net_netfilter_nf_conntrack_max: Sysctl setting + net.netfilter.nf_conntrack_max. + :type net_netfilter_nf_conntrack_max: int + :param net_netfilter_nf_conntrack_buckets: Sysctl setting + net.netfilter.nf_conntrack_buckets. + :type net_netfilter_nf_conntrack_buckets: int + :param fs_inotify_max_user_watches: Sysctl setting + fs.inotify.max_user_watches. + :type fs_inotify_max_user_watches: int + :param fs_file_max: Sysctl setting fs.file-max. + :type fs_file_max: int + :param fs_aio_max_nr: Sysctl setting fs.aio-max-nr. + :type fs_aio_max_nr: int + :param fs_nr_open: Sysctl setting fs.nr_open. + :type fs_nr_open: int + :param kernel_threads_max: Sysctl setting kernel.threads-max. + :type kernel_threads_max: int + :param vm_max_map_count: Sysctl setting vm.max_map_count. + :type vm_max_map_count: int + :param vm_swappiness: Sysctl setting vm.swappiness. + :type vm_swappiness: int + :param vm_vfs_cache_pressure: Sysctl setting vm.vfs_cache_pressure. + :type vm_vfs_cache_pressure: int + """ + + _attribute_map = { + 'net_core_somaxconn': {'key': 'netCoreSomaxconn', 'type': 'int'}, + 'net_core_netdev_max_backlog': {'key': 'netCoreNetdevMaxBacklog', 'type': 'int'}, + 'net_core_rmem_default': {'key': 'netCoreRmemDefault', 'type': 'int'}, + 'net_core_rmem_max': {'key': 'netCoreRmemMax', 'type': 'int'}, + 'net_core_wmem_default': {'key': 'netCoreWmemDefault', 'type': 'int'}, + 'net_core_wmem_max': {'key': 'netCoreWmemMax', 'type': 'int'}, + 'net_core_optmem_max': {'key': 'netCoreOptmemMax', 'type': 'int'}, + 'net_ipv4_tcp_max_syn_backlog': {'key': 'netIpv4TcpMaxSynBacklog', 'type': 'int'}, + 'net_ipv4_tcp_max_tw_buckets': {'key': 'netIpv4TcpMaxTwBuckets', 'type': 'int'}, + 'net_ipv4_tcp_fin_timeout': {'key': 'netIpv4TcpFinTimeout', 'type': 'int'}, + 'net_ipv4_tcp_keepalive_time': {'key': 'netIpv4TcpKeepaliveTime', 'type': 'int'}, + 'net_ipv4_tcp_keepalive_probes': {'key': 'netIpv4TcpKeepaliveProbes', 'type': 'int'}, + 'net_ipv4_tcpkeepalive_intvl': {'key': 'netIpv4TcpkeepaliveIntvl', 'type': 'int'}, + 'net_ipv4_tcp_tw_reuse': {'key': 'netIpv4TcpTwReuse', 'type': 'bool'}, + 'net_ipv4_ip_local_port_range': {'key': 'netIpv4IpLocalPortRange', 'type': 'str'}, + 'net_ipv4_neigh_default_gc_thresh1': {'key': 'netIpv4NeighDefaultGcThresh1', 'type': 'int'}, + 'net_ipv4_neigh_default_gc_thresh2': {'key': 'netIpv4NeighDefaultGcThresh2', 'type': 'int'}, + 'net_ipv4_neigh_default_gc_thresh3': {'key': 'netIpv4NeighDefaultGcThresh3', 'type': 'int'}, + 'net_netfilter_nf_conntrack_max': {'key': 'netNetfilterNfConntrackMax', 'type': 'int'}, + 'net_netfilter_nf_conntrack_buckets': {'key': 'netNetfilterNfConntrackBuckets', 'type': 'int'}, + 'fs_inotify_max_user_watches': {'key': 'fsInotifyMaxUserWatches', 'type': 'int'}, + 'fs_file_max': {'key': 'fsFileMax', 'type': 'int'}, + 'fs_aio_max_nr': {'key': 'fsAioMaxNr', 'type': 'int'}, + 'fs_nr_open': {'key': 'fsNrOpen', 'type': 'int'}, + 'kernel_threads_max': {'key': 'kernelThreadsMax', 'type': 'int'}, + 'vm_max_map_count': {'key': 'vmMaxMapCount', 'type': 'int'}, + 'vm_swappiness': {'key': 'vmSwappiness', 'type': 'int'}, + 'vm_vfs_cache_pressure': {'key': 'vmVfsCachePressure', 'type': 'int'}, + } + + def __init__(self, *, net_core_somaxconn: int=None, net_core_netdev_max_backlog: int=None, net_core_rmem_default: int=None, net_core_rmem_max: int=None, net_core_wmem_default: int=None, net_core_wmem_max: int=None, net_core_optmem_max: int=None, net_ipv4_tcp_max_syn_backlog: int=None, net_ipv4_tcp_max_tw_buckets: int=None, net_ipv4_tcp_fin_timeout: int=None, net_ipv4_tcp_keepalive_time: int=None, net_ipv4_tcp_keepalive_probes: int=None, net_ipv4_tcpkeepalive_intvl: int=None, net_ipv4_tcp_tw_reuse: bool=None, net_ipv4_ip_local_port_range: str=None, net_ipv4_neigh_default_gc_thresh1: int=None, net_ipv4_neigh_default_gc_thresh2: int=None, net_ipv4_neigh_default_gc_thresh3: int=None, net_netfilter_nf_conntrack_max: int=None, net_netfilter_nf_conntrack_buckets: int=None, fs_inotify_max_user_watches: int=None, fs_file_max: int=None, fs_aio_max_nr: int=None, fs_nr_open: int=None, kernel_threads_max: int=None, vm_max_map_count: int=None, vm_swappiness: int=None, vm_vfs_cache_pressure: int=None, **kwargs) -> None: + super(SysctlConfig, self).__init__(**kwargs) + self.net_core_somaxconn = net_core_somaxconn + self.net_core_netdev_max_backlog = net_core_netdev_max_backlog + self.net_core_rmem_default = net_core_rmem_default + self.net_core_rmem_max = net_core_rmem_max + self.net_core_wmem_default = net_core_wmem_default + self.net_core_wmem_max = net_core_wmem_max + self.net_core_optmem_max = net_core_optmem_max + self.net_ipv4_tcp_max_syn_backlog = net_ipv4_tcp_max_syn_backlog + self.net_ipv4_tcp_max_tw_buckets = net_ipv4_tcp_max_tw_buckets + self.net_ipv4_tcp_fin_timeout = net_ipv4_tcp_fin_timeout + self.net_ipv4_tcp_keepalive_time = net_ipv4_tcp_keepalive_time + self.net_ipv4_tcp_keepalive_probes = net_ipv4_tcp_keepalive_probes + self.net_ipv4_tcpkeepalive_intvl = net_ipv4_tcpkeepalive_intvl + self.net_ipv4_tcp_tw_reuse = net_ipv4_tcp_tw_reuse + self.net_ipv4_ip_local_port_range = net_ipv4_ip_local_port_range + self.net_ipv4_neigh_default_gc_thresh1 = net_ipv4_neigh_default_gc_thresh1 + self.net_ipv4_neigh_default_gc_thresh2 = net_ipv4_neigh_default_gc_thresh2 + self.net_ipv4_neigh_default_gc_thresh3 = net_ipv4_neigh_default_gc_thresh3 + self.net_netfilter_nf_conntrack_max = net_netfilter_nf_conntrack_max + self.net_netfilter_nf_conntrack_buckets = net_netfilter_nf_conntrack_buckets + self.fs_inotify_max_user_watches = fs_inotify_max_user_watches + self.fs_file_max = fs_file_max + self.fs_aio_max_nr = fs_aio_max_nr + self.fs_nr_open = fs_nr_open + self.kernel_threads_max = kernel_threads_max + self.vm_max_map_count = vm_max_map_count + self.vm_swappiness = vm_swappiness + self.vm_vfs_cache_pressure = vm_vfs_cache_pressure + + +class SystemData(Model): + """Metadata pertaining to creation and last modification of the resource. + + :param created_by: The identity that created the resource. + :type created_by: str + :param created_by_type: The type of identity that created the resource. + Possible values include: 'User', 'Application', 'ManagedIdentity', 'Key' + :type created_by_type: str or + ~azure.mgmt.containerservice.v2021_05_01.models.CreatedByType + :param created_at: The timestamp of resource creation (UTC). + :type created_at: datetime + :param last_modified_by: The identity that last modified the resource. + :type last_modified_by: str + :param last_modified_by_type: The type of identity that last modified the + resource. Possible values include: 'User', 'Application', + 'ManagedIdentity', 'Key' + :type last_modified_by_type: str or + ~azure.mgmt.containerservice.v2021_05_01.models.CreatedByType + :param last_modified_at: The type of identity that last modified the + resource. + :type last_modified_at: datetime + """ + + _attribute_map = { + 'created_by': {'key': 'createdBy', 'type': 'str'}, + 'created_by_type': {'key': 'createdByType', 'type': 'str'}, + 'created_at': {'key': 'createdAt', 'type': 'iso-8601'}, + 'last_modified_by': {'key': 'lastModifiedBy', 'type': 'str'}, + 'last_modified_by_type': {'key': 'lastModifiedByType', 'type': 'str'}, + 'last_modified_at': {'key': 'lastModifiedAt', 'type': 'iso-8601'}, + } + + def __init__(self, *, created_by: str=None, created_by_type=None, created_at=None, last_modified_by: str=None, last_modified_by_type=None, last_modified_at=None, **kwargs) -> None: + super(SystemData, self).__init__(**kwargs) + self.created_by = created_by + self.created_by_type = created_by_type + self.created_at = created_at + self.last_modified_by = last_modified_by + self.last_modified_by_type = last_modified_by_type + self.last_modified_at = last_modified_at + + +class TagsObject(Model): + """Tags object for patch operations. + + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, tags=None, **kwargs) -> None: + super(TagsObject, self).__init__(**kwargs) + self.tags = tags + + +class TimeInWeek(Model): + """Time in a week. + + :param day: A day in a week. Possible values include: 'Sunday', 'Monday', + 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday' + :type day: str or ~azure.mgmt.containerservice.v2021_05_01.models.WeekDay + :param hour_slots: hour slots in a day. + :type hour_slots: list[int] + """ + + _attribute_map = { + 'day': {'key': 'day', 'type': 'str'}, + 'hour_slots': {'key': 'hourSlots', 'type': '[int]'}, + } + + def __init__(self, *, day=None, hour_slots=None, **kwargs) -> None: + super(TimeInWeek, self).__init__(**kwargs) + self.day = day + self.hour_slots = hour_slots + + +class TimeSpan(Model): + """The time span with start and end properties. + + :param start: The start of a time span + :type start: datetime + :param end: The end of a time span + :type end: datetime + """ + + _attribute_map = { + 'start': {'key': 'start', 'type': 'iso-8601'}, + 'end': {'key': 'end', 'type': 'iso-8601'}, + } + + def __init__(self, *, start=None, end=None, **kwargs) -> None: + super(TimeSpan, self).__init__(**kwargs) + self.start = start + self.end = end diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/models/_paged_models.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/models/_paged_models.py new file mode 100644 index 00000000000..8908e2e503c --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/models/_paged_models.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.paging import Paged + + +class OperationValuePaged(Paged): + """ + A paging container for iterating over a list of :class:`OperationValue ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[OperationValue]'} + } + + def __init__(self, *args, **kwargs): + + super(OperationValuePaged, self).__init__(*args, **kwargs) +class ManagedClusterPaged(Paged): + """ + A paging container for iterating over a list of :class:`ManagedCluster ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ManagedCluster]'} + } + + def __init__(self, *args, **kwargs): + + super(ManagedClusterPaged, self).__init__(*args, **kwargs) +class OutboundEnvironmentEndpointPaged(Paged): + """ + A paging container for iterating over a list of :class:`OutboundEnvironmentEndpoint ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[OutboundEnvironmentEndpoint]'} + } + + def __init__(self, *args, **kwargs): + + super(OutboundEnvironmentEndpointPaged, self).__init__(*args, **kwargs) +class MaintenanceConfigurationPaged(Paged): + """ + A paging container for iterating over a list of :class:`MaintenanceConfiguration ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[MaintenanceConfiguration]'} + } + + def __init__(self, *args, **kwargs): + + super(MaintenanceConfigurationPaged, self).__init__(*args, **kwargs) +class AgentPoolPaged(Paged): + """ + A paging container for iterating over a list of :class:`AgentPool ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[AgentPool]'} + } + + def __init__(self, *args, **kwargs): + + super(AgentPoolPaged, self).__init__(*args, **kwargs) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/__init__.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/__init__.py new file mode 100644 index 00000000000..d7bfa3f00fe --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/__init__.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 ._operations import Operations +from ._managed_clusters_operations import ManagedClustersOperations +from ._maintenance_configurations_operations import MaintenanceConfigurationsOperations +from ._agent_pools_operations import AgentPoolsOperations +from ._private_endpoint_connections_operations import PrivateEndpointConnectionsOperations +from ._private_link_resources_operations import PrivateLinkResourcesOperations +from ._resolve_private_link_service_id_operations import ResolvePrivateLinkServiceIdOperations + +__all__ = [ + 'Operations', + 'ManagedClustersOperations', + 'MaintenanceConfigurationsOperations', + 'AgentPoolsOperations', + 'PrivateEndpointConnectionsOperations', + 'PrivateLinkResourcesOperations', + 'ResolvePrivateLinkServiceIdOperations', +] diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_agent_pools_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_agent_pools_operations.py new file mode 100644 index 00000000000..9e9dbfdb01d --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_agent_pools_operations.py @@ -0,0 +1,610 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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 AgentPoolsOperations(object): + """AgentPoolsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :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: Client Api Version. Constant value: "2021-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2021-05-01" + + self.config = config + + def list( + self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + """Gets a list of agent pools in the specified managed cluster. + + Gets a list of agent pools in the specified managed cluster. The + operation returns properties of each agent pool. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the managed cluster 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 AgentPool + :rtype: + ~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolPaged[~azure.mgmt.containerservice.v2021_05_01.models.AgentPool] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + 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'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$') + } + 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['Accept'] = 'application/json' + 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, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.AgentPoolPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools'} + + def get( + self, resource_group_name, resource_name, agent_pool_name, custom_headers=None, raw=False, **operation_config): + """Gets the agent pool. + + Gets the details of the agent pool by managed cluster and resource + group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. + :type resource_name: str + :param agent_pool_name: The name of the agent pool. + :type agent_pool_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: AgentPool or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.containerservice.v2021_05_01.models.AgentPool or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$'), + 'agentPoolName': self._serialize.url("agent_pool_name", agent_pool_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['Accept'] = 'application/json' + 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, header_parameters) + response = self._client.send(request, 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('AgentPool', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} + + + def _create_or_update_initial( + self, resource_group_name, resource_name, agent_pool_name, parameters, 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'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$'), + 'agentPoolName': self._serialize.url("agent_pool_name", agent_pool_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['Accept'] = 'application/json' + 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, 'AgentPool') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('AgentPool', response) + if response.status_code == 201: + deserialized = self._deserialize('AgentPool', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, resource_name, agent_pool_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates an agent pool. + + Creates or updates an agent pool in the specified managed cluster. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. + :type resource_name: str + :param agent_pool_name: The name of the agent pool. + :type agent_pool_name: str + :param parameters: Parameters supplied to the Create or Update an + agent pool operation. + :type parameters: + ~azure.mgmt.containerservice.v2021_05_01.models.AgentPool + :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 AgentPool or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.containerservice.v2021_05_01.models.AgentPool] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2021_05_01.models.AgentPool]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + agent_pool_name=agent_pool_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('AgentPool', 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_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} + + + def _delete_initial( + self, resource_group_name, resource_name, agent_pool_name, 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'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$'), + 'agentPoolName': self._serialize.url("agent_pool_name", agent_pool_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 = {} + 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, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [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, resource_name, agent_pool_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes an agent pool. + + Deletes the agent pool in the specified managed cluster. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. + :type resource_name: str + :param agent_pool_name: The name of the agent pool. + :type agent_pool_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 + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + agent_pool_name=agent_pool_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + 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) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}'} + + def get_upgrade_profile( + self, resource_group_name, resource_name, agent_pool_name, custom_headers=None, raw=False, **operation_config): + """Gets upgrade profile for an agent pool. + + Gets the details of the upgrade profile for an agent pool with a + specified resource group and managed cluster name. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. + :type resource_name: str + :param agent_pool_name: The name of the agent pool. + :type agent_pool_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: AgentPoolUpgradeProfile or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolUpgradeProfile + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_upgrade_profile.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$'), + 'agentPoolName': self._serialize.url("agent_pool_name", agent_pool_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['Accept'] = 'application/json' + 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, header_parameters) + response = self._client.send(request, 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('AgentPoolUpgradeProfile', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_upgrade_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeProfiles/default'} + + def get_available_agent_pool_versions( + self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + """Gets a list of supported versions for the specified agent pool. + + Gets a list of supported versions for the specified agent pool. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the managed cluster 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: AgentPoolAvailableVersions or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.containerservice.v2021_05_01.models.AgentPoolAvailableVersions + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_available_agent_pool_versions.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$') + } + 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['Accept'] = 'application/json' + 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, header_parameters) + response = self._client.send(request, 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('AgentPoolAvailableVersions', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_available_agent_pool_versions.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/availableAgentPoolVersions'} + + + def _upgrade_node_image_version_initial( + self, resource_group_name, resource_name, agent_pool_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.upgrade_node_image_version.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$'), + 'agentPoolName': self._serialize.url("agent_pool_name", agent_pool_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['Accept'] = 'application/json' + 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, header_parameters) + response = self._client.send(request, 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 == 202: + deserialized = self._deserialize('AgentPool', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def upgrade_node_image_version( + self, resource_group_name, resource_name, agent_pool_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Upgrade node image version of an agent pool to the latest. + + Upgrade node image version of an agent pool to the latest. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. + :type resource_name: str + :param agent_pool_name: The name of the agent pool. + :type agent_pool_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 AgentPool or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.containerservice.v2021_05_01.models.AgentPool] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2021_05_01.models.AgentPool]] + :raises: :class:`CloudError` + """ + raw_result = self._upgrade_node_image_version_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + agent_pool_name=agent_pool_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('AgentPool', 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) + upgrade_node_image_version.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeNodeImageVersion'} diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_maintenance_configurations_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_maintenance_configurations_operations.py new file mode 100644 index 00000000000..9a2f30f5508 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_maintenance_configurations_operations.py @@ -0,0 +1,387 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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 MaintenanceConfigurationsOperations(object): + """MaintenanceConfigurationsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :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: Client Api Version. Constant value: "2021-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2021-05-01" + + self.config = config + + def list_by_managed_cluster( + self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + """Gets a list of maintenance configurations in the specified managed + cluster. + + Gets a list of maintenance configurations in the specified managed + cluster. The operation returns properties of each maintenance + configuration. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the managed cluster 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 MaintenanceConfiguration + :rtype: + ~azure.mgmt.containerservice.v2021_05_01.models.MaintenanceConfigurationPaged[~azure.mgmt.containerservice.v2021_05_01.models.MaintenanceConfiguration] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_by_managed_cluster.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$') + } + 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['Accept'] = 'application/json' + 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, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.MaintenanceConfigurationPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_managed_cluster.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations'} + + def get( + self, resource_group_name, resource_name, config_name, custom_headers=None, raw=False, **operation_config): + """Gets the maintenance configuration. + + Gets the details of maintenance configurations by managed cluster and + resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. + :type resource_name: str + :param config_name: The name of the maintenance configuration. + :type config_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: MaintenanceConfiguration or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.containerservice.v2021_05_01.models.MaintenanceConfiguration + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$'), + 'configName': self._serialize.url("config_name", config_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['Accept'] = 'application/json' + 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, header_parameters) + response = self._client.send(request, 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('MaintenanceConfiguration', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName}'} + + + def _create_or_update_initial( + self, resource_group_name, resource_name, config_name, time_in_week=None, not_allowed_time=None, custom_headers=None, raw=False, **operation_config): + parameters = models.MaintenanceConfiguration(time_in_week=time_in_week, not_allowed_time=not_allowed_time) + + # 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'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$'), + 'configName': self._serialize.url("config_name", config_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['Accept'] = 'application/json' + 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, 'MaintenanceConfiguration') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, 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('MaintenanceConfiguration', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, resource_name, config_name, time_in_week=None, not_allowed_time=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a maintenance configurations. + + Creates or updates a maintenance configuration in the specified managed + cluster. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. + :type resource_name: str + :param config_name: The name of the maintenance configuration. + :type config_name: str + :param time_in_week: Weekday time slots allowed to upgrade. + :type time_in_week: + list[~azure.mgmt.containerservice.v2021_05_01.models.TimeInWeek] + :param not_allowed_time: Time slots on which upgrade is not allowed. + :type not_allowed_time: + list[~azure.mgmt.containerservice.v2021_05_01.models.TimeSpan] + :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 + MaintenanceConfiguration or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.containerservice.v2021_05_01.models.MaintenanceConfiguration] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2021_05_01.models.MaintenanceConfiguration]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + config_name=config_name, + time_in_week=time_in_week, + not_allowed_time=not_allowed_time, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('MaintenanceConfiguration', 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_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName}'} + + + def _delete_initial( + self, resource_group_name, resource_name, config_name, 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'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$'), + 'configName': self._serialize.url("config_name", config_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 = {} + 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, header_parameters) + response = self._client.send(request, 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 + + def delete( + self, resource_group_name, resource_name, config_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a maintenance configuration. + + Deletes the maintenance configuration in the specified managed cluster. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. + :type resource_name: str + :param config_name: The name of the maintenance configuration. + :type config_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 + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + config_name=config_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + 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) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName}'} diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_managed_clusters_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_managed_clusters_operations.py new file mode 100644 index 00000000000..84257ab8263 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_managed_clusters_operations.py @@ -0,0 +1,1616 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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 ManagedClustersOperations(object): + """ManagedClustersOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :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: Client Api Version. Constant value: "2021-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2021-05-01" + + self.config = config + + def get_os_options( + self, location, resource_type=None, custom_headers=None, raw=False, **operation_config): + """Gets supported OS options in the specified subscription. + + Gets supported OS options in the specified subscription. + + :param location: The name of a supported Azure region. + :type location: str + :param resource_type: resource type for which the OS options needs to + be returned + :type resource_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: OSOptionProfile or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.containerservice.v2021_05_01.models.OSOptionProfile or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_os_options.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') + if resource_type is not None: + query_parameters['resource-type'] = self._serialize.query("resource_type", resource_type, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, header_parameters) + response = self._client.send(request, 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('OSOptionProfile', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_os_options.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/osOptions/default'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Gets a list of managed clusters in the specified subscription. + + Gets a list of managed clusters in the specified subscription. The + operation returns properties of each managed cluster. + + :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 ManagedCluster + :rtype: + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterPaged[~azure.mgmt.containerservice.v2021_05_01.models.ManagedCluster] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + 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['Accept'] = 'application/json' + 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, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.ManagedClusterPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedClusters'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Lists managed clusters in the specified subscription and resource + group. + + Lists managed clusters in the specified subscription and resource + group. The operation returns properties of each managed cluster. + + :param resource_group_name: The name of the resource group. + :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 ManagedCluster + :rtype: + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterPaged[~azure.mgmt.containerservice.v2021_05_01.models.ManagedCluster] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + 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'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, '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') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + 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, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.ManagedClusterPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters'} + + def get_upgrade_profile( + self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + """Gets upgrade profile for a managed cluster. + + Gets the details of the upgrade profile for a managed cluster with a + specified resource group and name. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the managed cluster 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: ManagedClusterUpgradeProfile or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterUpgradeProfile + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_upgrade_profile.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$') + } + 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['Accept'] = 'application/json' + 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, header_parameters) + response = self._client.send(request, 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('ManagedClusterUpgradeProfile', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_upgrade_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/upgradeProfiles/default'} + + def get_access_profile( + self, resource_group_name, resource_name, role_name, custom_headers=None, raw=False, **operation_config): + """Gets an access profile of a managed cluster. + + Gets the accessProfile for the specified role name of the managed + cluster with a specified resource group and name. **WARNING**: This API + will be deprecated. Instead use + [ListClusterUserCredentials](https://docs.microsoft.com/en-us/rest/api/aks/managedclusters/listclusterusercredentials) + or + [ListClusterAdminCredentials](https://docs.microsoft.com/en-us/rest/api/aks/managedclusters/listclusteradmincredentials) + . + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. + :type resource_name: str + :param role_name: The name of the role for managed cluster + accessProfile resource. + :type role_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: ManagedClusterAccessProfile or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterAccessProfile + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_access_profile.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$'), + 'roleName': self._serialize.url("role_name", role_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['Accept'] = 'application/json' + 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, header_parameters) + response = self._client.send(request, 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('ManagedClusterAccessProfile', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_access_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}/listCredential'} + + def list_cluster_admin_credentials( + self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + """Gets cluster admin credential of a managed cluster. + + Gets cluster admin credential of the managed cluster with a specified + resource group and name. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the managed cluster 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: CredentialResults or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.containerservice.v2021_05_01.models.CredentialResults or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_cluster_admin_credentials.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$') + } + 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['Accept'] = 'application/json' + 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, header_parameters) + response = self._client.send(request, 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('CredentialResults', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_cluster_admin_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterAdminCredential'} + + def list_cluster_user_credentials( + self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + """Gets cluster user credential of a managed cluster. + + Gets cluster user credential of the managed cluster with a specified + resource group and name. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the managed cluster 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: CredentialResults or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.containerservice.v2021_05_01.models.CredentialResults or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_cluster_user_credentials.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$') + } + 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['Accept'] = 'application/json' + 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, header_parameters) + response = self._client.send(request, 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('CredentialResults', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_cluster_user_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterUserCredential'} + + def list_cluster_monitoring_user_credentials( + self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + """Gets cluster monitoring user credential of a managed cluster. + + Gets cluster monitoring user credential of the managed cluster with a + specified resource group and name. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the managed cluster 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: CredentialResults or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.containerservice.v2021_05_01.models.CredentialResults or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_cluster_monitoring_user_credentials.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$') + } + 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['Accept'] = 'application/json' + 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, header_parameters) + response = self._client.send(request, 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('CredentialResults', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_cluster_monitoring_user_credentials.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterMonitoringUserCredential'} + + def get( + self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + """Gets a managed cluster. + + Gets the details of the managed cluster with a specified resource group + and name. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the managed cluster 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: ManagedCluster or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.containerservice.v2021_05_01.models.ManagedCluster + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$') + } + 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['Accept'] = 'application/json' + 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, header_parameters) + response = self._client.send(request, 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('ManagedCluster', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} + + + def _create_or_update_initial( + self, resource_group_name, resource_name, parameters, 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'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$') + } + 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['Accept'] = 'application/json' + 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, 'ManagedCluster') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('ManagedCluster', response) + if response.status_code == 201: + deserialized = self._deserialize('ManagedCluster', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, resource_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a managed cluster. + + Creates or updates a managed cluster with the specified configuration + for agents and Kubernetes version. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. + :type resource_name: str + :param parameters: Parameters supplied to the Create or Update a + Managed Cluster operation. + :type parameters: + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedCluster + :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 ManagedCluster or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.containerservice.v2021_05_01.models.ManagedCluster] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2021_05_01.models.ManagedCluster]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ManagedCluster', 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_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} + + + def _update_tags_initial( + self, resource_group_name, resource_name, tags=None, custom_headers=None, raw=False, **operation_config): + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$') + } + 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['Accept'] = 'application/json' + 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, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, 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('ManagedCluster', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update_tags( + self, resource_group_name, resource_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates tags on a managed cluster. + + Updates a managed cluster with the specified tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. + :type resource_name: str + :param tags: Resource tags. + :type tags: dict[str, 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 ManagedCluster or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.containerservice.v2021_05_01.models.ManagedCluster] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2021_05_01.models.ManagedCluster]] + :raises: :class:`CloudError` + """ + raw_result = self._update_tags_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + tags=tags, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ManagedCluster', 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) + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} + + + def _delete_initial( + self, resource_group_name, resource_name, 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'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$') + } + 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 = {} + 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, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [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, resource_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a managed cluster. + + Deletes the managed cluster with a specified resource group and name. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. + :type resource_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 + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + 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) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}'} + + + def _reset_service_principal_profile_initial( + self, resource_group_name, resource_name, client_id, secret=None, custom_headers=None, raw=False, **operation_config): + parameters = models.ManagedClusterServicePrincipalProfile(client_id=client_id, secret=secret) + + # Construct URL + url = self.reset_service_principal_profile.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$') + } + 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, 'ManagedClusterServicePrincipalProfile') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, 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 + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def reset_service_principal_profile( + self, resource_group_name, resource_name, client_id, secret=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Reset Service Principal Profile of a managed cluster. + + Update the service principal Profile for a managed cluster. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. + :type resource_name: str + :param client_id: The ID for the service principal. + :type client_id: str + :param secret: The secret password associated with the service + principal in plain text. + :type secret: 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 + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._reset_service_principal_profile_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + client_id=client_id, + secret=secret, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + 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) + reset_service_principal_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetServicePrincipalProfile'} + + + def _reset_aad_profile_initial( + self, resource_group_name, resource_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.reset_aad_profile.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$') + } + 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, 'ManagedClusterAADProfile') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, 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 + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def reset_aad_profile( + self, resource_group_name, resource_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Reset AAD Profile of a managed cluster. + + Update the AAD Profile for a managed cluster. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. + :type resource_name: str + :param parameters: Parameters supplied to the Reset AAD Profile + operation for a Managed Cluster. + :type parameters: + ~azure.mgmt.containerservice.v2021_05_01.models.ManagedClusterAADProfile + :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 + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._reset_aad_profile_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + 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) + reset_aad_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetAADProfile'} + + + def _rotate_cluster_certificates_initial( + self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.rotate_cluster_certificates.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$') + } + 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 = {} + 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, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [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 rotate_cluster_certificates( + self, resource_group_name, resource_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Rotate certificates of a managed cluster. + + Rotate certificates of a managed cluster. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. + :type resource_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 + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._rotate_cluster_certificates_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + 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) + rotate_cluster_certificates.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rotateClusterCertificates'} + + + def _stop_initial( + self, resource_group_name, resource_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'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$') + } + 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 = {} + 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, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [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 stop( + self, resource_group_name, resource_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Stop Managed Cluster. + + Stops a Running Managed Cluster. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. + :type resource_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 + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._stop_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + 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) + stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/stop'} + + + def _start_initial( + self, resource_group_name, resource_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'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$') + } + 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 = {} + 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, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [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 start( + self, resource_group_name, resource_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Start Managed Cluster. + + Starts a Stopped Managed Cluster. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. + :type resource_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 + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._start_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + 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) + start.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/start'} + + + def _run_command_initial( + self, resource_group_name, resource_name, request_payload, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.run_command.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$') + } + 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['Accept'] = 'application/json' + 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(request_payload, 'RunCommandRequest') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, 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('RunCommandResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def run_command( + self, resource_group_name, resource_name, request_payload, custom_headers=None, raw=False, polling=True, **operation_config): + """Run Command against Managed Kubernetes Service. + + Submit a command to run against managed kubernetes service, it will + create a pod to run the command. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. + :type resource_name: str + :param request_payload: Parameters supplied to the RunCommand + operation. + :type request_payload: + ~azure.mgmt.containerservice.v2021_05_01.models.RunCommandRequest + :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 RunCommandResult or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.containerservice.v2021_05_01.models.RunCommandResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.containerservice.v2021_05_01.models.RunCommandResult]] + :raises: :class:`CloudError` + """ + raw_result = self._run_command_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + request_payload=request_payload, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('RunCommandResult', 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) + run_command.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/runCommand'} + + def get_command_result( + self, resource_group_name, resource_name, command_id, custom_headers=None, raw=False, **operation_config): + """Get command result. + + Get command result from previous runCommand invoke. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. + :type resource_name: str + :param command_id: Id of the command request. + :type command_id: 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: RunCommandResult or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.containerservice.v2021_05_01.models.RunCommandResult or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_command_result.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$'), + 'commandId': self._serialize.url("command_id", command_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['Accept'] = 'application/json' + 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, header_parameters) + response = self._client.send(request, 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('RunCommandResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_command_result.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/commandResults/{commandId}'} + + def list_outbound_network_dependencies_endpoints( + self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + """Gets a list of egress endpoints (network endpoints of all outbound + dependencies) in the specified managed cluster. + + Gets a list of egress endpoints (network endpoints of all outbound + dependencies) in the specified managed cluster. The operation returns + properties of each egress endpoint. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the managed cluster 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 OutboundEnvironmentEndpoint + :rtype: + ~azure.mgmt.containerservice.v2021_05_01.models.OutboundEnvironmentEndpointPaged[~azure.mgmt.containerservice.v2021_05_01.models.OutboundEnvironmentEndpoint] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + if not next_link: + # Construct URL + url = self.list_outbound_network_dependencies_endpoints.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$') + } + 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['Accept'] = 'application/json' + 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, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.OutboundEnvironmentEndpointPaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list_outbound_network_dependencies_endpoints.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/outboundNetworkDependenciesEndpoints'} diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_operations.py new file mode 100644 index 00000000000..a0767bb9e9c --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_operations.py @@ -0,0 +1,102 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :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: Client Api Version. Constant value: "2021-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2021-05-01" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Gets a list of compute 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 OperationValue + :rtype: + ~azure.mgmt.containerservice.v2021_05_01.models.OperationValuePaged[~azure.mgmt.containerservice.v2021_05_01.models.OperationValue] + :raises: :class:`CloudError` + """ + def prepare_request(next_link=None): + 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['Accept'] = 'application/json' + 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, header_parameters) + return request + + def internal_paging(next_link=None): + request = prepare_request(next_link) + + response = self._client.send(request, 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 + header_dict = None + if raw: + header_dict = {} + deserialized = models.OperationValuePaged(internal_paging, self._deserialize.dependencies, header_dict) + + return deserialized + list.metadata = {'url': '/providers/Microsoft.ContainerService/operations'} diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_private_endpoint_connections_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_private_endpoint_connections_operations.py new file mode 100644 index 00000000000..45f43e5e70f --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_private_endpoint_connections_operations.py @@ -0,0 +1,348 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# 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 PrivateEndpointConnectionsOperations(object): + """PrivateEndpointConnectionsOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :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: Client Api Version. Constant value: "2021-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2021-05-01" + + self.config = config + + def list( + self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + """Gets a list of private endpoint connections in the specified managed + cluster. + + Gets a list of private endpoint connections in the specified managed + cluster. The operation returns properties of each private endpoint + connection. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the managed cluster 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: PrivateEndpointConnectionListResult or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.containerservice.v2021_05_01.models.PrivateEndpointConnectionListResult + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$') + } + 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['Accept'] = 'application/json' + 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, header_parameters) + response = self._client.send(request, 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('PrivateEndpointConnectionListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections'} + + def get( + self, resource_group_name, resource_name, private_endpoint_connection_name, custom_headers=None, raw=False, **operation_config): + """Gets the private endpoint connection. + + Gets the details of the private endpoint connection by managed cluster + and resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. + :type resource_name: str + :param private_endpoint_connection_name: The name of the private + endpoint connection. + :type private_endpoint_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: PrivateEndpointConnection or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.containerservice.v2021_05_01.models.PrivateEndpointConnection + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$'), + 'privateEndpointConnectionName': self._serialize.url("private_endpoint_connection_name", private_endpoint_connection_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['Accept'] = 'application/json' + 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, header_parameters) + response = self._client.send(request, 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('PrivateEndpointConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} + + def update( + self, resource_group_name, resource_name, private_endpoint_connection_name, private_link_service_connection_state, private_endpoint=None, custom_headers=None, raw=False, **operation_config): + """Updates a private endpoint connection. + + Updates a private endpoint connection in the specified managed cluster. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. + :type resource_name: str + :param private_endpoint_connection_name: The name of the private + endpoint connection. + :type private_endpoint_connection_name: str + :param private_link_service_connection_state: A collection of + information about the state of the connection between service consumer + and provider. + :type private_link_service_connection_state: + ~azure.mgmt.containerservice.v2021_05_01.models.PrivateLinkServiceConnectionState + :param private_endpoint: The resource of private endpoint. + :type private_endpoint: + ~azure.mgmt.containerservice.v2021_05_01.models.PrivateEndpoint + :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: PrivateEndpointConnection or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.containerservice.v2021_05_01.models.PrivateEndpointConnection + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.PrivateEndpointConnection(private_endpoint=private_endpoint, private_link_service_connection_state=private_link_service_connection_state) + + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$'), + 'privateEndpointConnectionName': self._serialize.url("private_endpoint_connection_name", private_endpoint_connection_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['Accept'] = 'application/json' + 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, 'PrivateEndpointConnection') + + # Construct and send request + request = self._client.put(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, 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('PrivateEndpointConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} + + + def _delete_initial( + self, resource_group_name, resource_name, private_endpoint_connection_name, 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'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$'), + 'privateEndpointConnectionName': self._serialize.url("private_endpoint_connection_name", private_endpoint_connection_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 = {} + 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, header_parameters) + response = self._client.send(request, 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 + + def delete( + self, resource_group_name, resource_name, private_endpoint_connection_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a private endpoint connection. + + Deletes the private endpoint connection in the specified managed + cluster. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. + :type resource_name: str + :param private_endpoint_connection_name: The name of the private + endpoint connection. + :type private_endpoint_connection_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 + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + resource_name=resource_name, + private_endpoint_connection_name=private_endpoint_connection_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + 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) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}'} diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_private_link_resources_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_private_link_resources_operations.py new file mode 100644 index 00000000000..e4aeb6ac4bf --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_private_link_resources_operations.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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class PrivateLinkResourcesOperations(object): + """PrivateLinkResourcesOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :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: Client Api Version. Constant value: "2021-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2021-05-01" + + self.config = config + + def list( + self, resource_group_name, resource_name, custom_headers=None, raw=False, **operation_config): + """Gets a list of private link resources in the specified managed cluster. + + Gets a list of private link resources in the specified managed cluster. + The operation returns properties of each private link resource. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the managed cluster 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: PrivateLinkResourcesListResult or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.containerservice.v2021_05_01.models.PrivateLinkResourcesListResult + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$') + } + 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['Accept'] = 'application/json' + 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, header_parameters) + response = self._client.send(request, 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('PrivateLinkResourcesListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateLinkResources'} diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_resolve_private_link_service_id_operations.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_resolve_private_link_service_id_operations.py new file mode 100644 index 00000000000..ee7f4649e33 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/operations/_resolve_private_link_service_id_operations.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. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class ResolvePrivateLinkServiceIdOperations(object): + """ResolvePrivateLinkServiceIdOperations operations. + + You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute. + + :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: Client Api Version. Constant value: "2021-05-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2021-05-01" + + self.config = config + + def post( + self, resource_group_name, resource_name, parameters, custom_headers=None, raw=False, **operation_config): + """Gets the private link service ID for the specified managed cluster. + + Gets the private link service ID the specified managed cluster. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param resource_name: The name of the managed cluster resource. + :type resource_name: str + :param parameters: Parameters (name, groupId) supplied in order to + resolve a private link service ID. + :type parameters: + ~azure.mgmt.containerservice.v2021_05_01.models.PrivateLinkResource + :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: PrivateLinkResource or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.containerservice.v2021_05_01.models.PrivateLinkResource or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.post.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str', min_length=1), + 'resourceName': self._serialize.url("resource_name", resource_name, 'str', max_length=63, min_length=1, pattern=r'^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$') + } + 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['Accept'] = 'application/json' + 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, 'PrivateLinkResource') + + # Construct and send request + request = self._client.post(url, query_parameters, header_parameters, body_content) + response = self._client.send(request, 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('PrivateLinkResource', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + post.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resolvePrivateLinkServiceId'} diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/version.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/version.py new file mode 100644 index 00000000000..59e1cf48b15 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2021_05_01/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 = "2021-05-01" + diff --git a/src/aks-preview/setup.py b/src/aks-preview/setup.py index 5ac180450da..7c24c7355eb 100644 --- a/src/aks-preview/setup.py +++ b/src/aks-preview/setup.py @@ -8,7 +8,7 @@ from codecs import open as open1 from setuptools import setup, find_packages -VERSION = "0.5.14" +VERSION = "0.5.15" CLASSIFIERS = [ 'Development Status :: 4 - Beta', 'Intended Audience :: Developers', From 19a0ab7bf872ffd457a1e6f54a82b2607e37c4bc Mon Sep 17 00:00:00 2001 From: Delora Bradish Date: Wed, 2 Jun 2021 05:16:48 -0400 Subject: [PATCH 74/83] TOC: az datadog mapping update (#3451) --- src/service_name.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/service_name.json b/src/service_name.json index 55981b29cf8..eed6e237ff8 100644 --- a/src/service_name.json +++ b/src/service_name.json @@ -99,6 +99,11 @@ "AzureServiceName": "Azure Databox", "URL": "https://docs.microsoft.com/azure/databox/" }, + { + "Command": "az datadog", + "AzureServiceName": "Microsoft Partner Services", + "URL": "unknown" + }, { "Command": "az databricks", "AzureServiceName": "Azure Databricks", From 695556712db72c997caf5c5ff00ce2d23a0ed88a Mon Sep 17 00:00:00 2001 From: Lia Kazakova <58274127+liakaz@users.noreply.github.com> Date: Wed, 2 Jun 2021 15:17:55 -0700 Subject: [PATCH 75/83] Read SSL cert and key from files (#38) * first sketch of the change fixes removed extra blank lines changes regarding param renaming added ssl tests added more detail to the unit test additional import moved pem files out of public folder fixed import chenged import changed import unit tests fix unit test fix fixed unit tests fixed unit test unit test fix changes int test cert and key * test protected config * fix test typo * temporary changes reverted * fixing tests * fixed file paths * removed accidentally added file * changes according to review comments * more changes according to review comments * changes according to review comments Co-authored-by: Jonathan Innis --- .../partner_extensions/AzureMLKubernetes.py | 56 ++++++++++++++----- .../data/azure_ml/cert_and_key_encoded.txt | 2 + .../tests/latest/data/azure_ml/test_cert.pem | 1 + .../tests/latest/data/azure_ml/test_key.pem | 1 + .../tests/latest/test_azureml_extension.py | 32 +++++++++++ .../extensions/data/azure_ml/test_cert.pem | 1 + .../extensions/data/azure_ml/test_key.pem | 1 + .../public/AzureMLKubernetes.Tests.ps1 | 47 ++++++++++++++++ 8 files changed, 127 insertions(+), 14 deletions(-) create mode 100644 src/k8s-extension/azext_k8s_extension/tests/latest/data/azure_ml/cert_and_key_encoded.txt create mode 100644 src/k8s-extension/azext_k8s_extension/tests/latest/data/azure_ml/test_cert.pem create mode 100644 src/k8s-extension/azext_k8s_extension/tests/latest/data/azure_ml/test_key.pem create mode 100644 src/k8s-extension/azext_k8s_extension/tests/latest/test_azureml_extension.py create mode 100644 testing/test/extensions/data/azure_ml/test_cert.pem create mode 100644 testing/test/extensions/data/azure_ml/test_key.pem diff --git a/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py b/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py index 3a2544a4e3b..229abcb7492 100644 --- a/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py +++ b/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py @@ -66,6 +66,12 @@ def __init__(self): self.SERVICE_BUS_JOB_STATE_TOPIC = 'jobstate-updatedby-computeprovider' self.SERVICE_BUS_JOB_STATE_SUB = 'compute-scheduler-jobstate' + # constants for enabling SSL in inference + self.sslKeyPemFile = 'sslKeyPemFile' + self.sslCertPemFile = 'sslCertPemFile' + self.allowInsecureConnections = 'allowInsecureConnections' + self.privateEndpointILB = 'privateEndpointILB' + # reference mapping self.reference_mapping = { self.RELAY_SERVER_CONNECTION_STRING: [self.RELAY_CONNECTION_STRING_KEY, self.RELAY_CONNECTION_STRING_DEPRECATED_KEY], @@ -168,6 +174,7 @@ def __validate_config(self, configuration_settings, configuration_protected_sett if enable_inference: logger.warning("The installed AzureML extension for AML inference is experimental and not covered by customer support. Please use with discretion.") self.__validate_scoring_fe_settings(configuration_settings, configuration_protected_settings) + self.__set_up_inference_ssl(configuration_settings, configuration_protected_settings) elif not (enable_training or enable_inference): raise InvalidArgumentValueError( "Please create Microsoft.AzureML.Kubernetes extension instance either " @@ -181,32 +188,53 @@ def __validate_config(self, configuration_settings, configuration_protected_sett configuration_protected_settings.pop(self.ENABLE_INFERENCE, None) def __validate_scoring_fe_settings(self, configuration_settings, configuration_protected_settings): - clusterPurpose = _get_value_from_config_protected_config( - 'clusterPurpose', configuration_settings, configuration_protected_settings) - if clusterPurpose and clusterPurpose not in ["DevTest", "FastProd"]: - raise InvalidArgumentValueError( - "Accepted values for '--configuration-settings clusterPurpose' " - "are 'DevTest' and 'FastProd'") - - feSslCert = _get_value_from_config_protected_config( - 'scoringFe.sslCert', configuration_settings, configuration_protected_settings) - sslKey = _get_value_from_config_protected_config( - 'scoringFe.sslKey', configuration_settings, configuration_protected_settings) + experimentalCluster = _get_value_from_config_protected_config( + 'experimental', configuration_settings, configuration_protected_settings) + experimentalCluster = str(experimentalCluster).lower() == 'true' + if experimentalCluster: + configuration_settings['clusterPurpose'] = 'DevTest' + else: + configuration_settings['clusterPurpose'] = 'FastProd' + feSslCertFile = configuration_protected_settings.get(self.sslCertPemFile) + feSslKeyFile = configuration_protected_settings.get(self.sslKeyPemFile) allowInsecureConnections = _get_value_from_config_protected_config( - 'allowInsecureConnections', configuration_settings, configuration_protected_settings) + self.allowInsecureConnections, configuration_settings, configuration_protected_settings) allowInsecureConnections = str(allowInsecureConnections).lower() == 'true' - if (not feSslCert or not sslKey) and not allowInsecureConnections: + if (not feSslCertFile or not feSslKeyFile) and not allowInsecureConnections: raise InvalidArgumentValueError( "Provide ssl certificate and key. " "Otherwise explicitly allow insecure connection by specifying " "'--configuration-settings allowInsecureConnections=true'") feIsInternalLoadBalancer = _get_value_from_config_protected_config( - 'scoringFe.serviceType.internalLoadBalancer', configuration_settings, configuration_protected_settings) + self.privateEndpointILB, configuration_settings, configuration_protected_settings) feIsInternalLoadBalancer = str(feIsInternalLoadBalancer).lower() == 'true' if feIsInternalLoadBalancer: logger.warning( 'Internal load balancer only supported on AKS and AKS Engine Clusters.') + configuration_protected_settings['scoringFe.%s' % self.privateEndpointILB] = feIsInternalLoadBalancer + + def __set_up_inference_ssl(self, configuration_settings, configuration_protected_settings): + allowInsecureConnections = _get_value_from_config_protected_config( + self.allowInsecureConnections, configuration_settings, configuration_protected_settings) + allowInsecureConnections = str(allowInsecureConnections).lower() == 'true' + if not allowInsecureConnections: + import base64 + feSslCertFile = configuration_protected_settings.get(self.sslCertPemFile) + feSslKeyFile = configuration_protected_settings.get(self.sslKeyPemFile) + with open(feSslCertFile) as f: + cert_data = f.read() + cert_data_bytes = cert_data.encode("ascii") + ssl_cert = base64.b64encode(cert_data_bytes) + configuration_protected_settings['scoringFe.sslCert'] = ssl_cert + with open(feSslKeyFile) as f: + key_data = f.read() + key_data_bytes = key_data.encode("ascii") + ssl_key = base64.b64encode(key_data_bytes) + configuration_protected_settings['scoringFe.sslKey'] = ssl_key + else: + logger.warning( + 'SSL is not enabled. Allowing insecure connections to the deployed services.') def __create_required_resource( self, cmd, configuration_settings, configuration_protected_settings, subscription_id, resource_group_name, diff --git a/src/k8s-extension/azext_k8s_extension/tests/latest/data/azure_ml/cert_and_key_encoded.txt b/src/k8s-extension/azext_k8s_extension/tests/latest/data/azure_ml/cert_and_key_encoded.txt new file mode 100644 index 00000000000..4c2cb46c832 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/tests/latest/data/azure_ml/cert_and_key_encoded.txt @@ -0,0 +1,2 @@ +dGVzdGNlcnQ= +dGVzdGtleQ== \ No newline at end of file diff --git a/src/k8s-extension/azext_k8s_extension/tests/latest/data/azure_ml/test_cert.pem b/src/k8s-extension/azext_k8s_extension/tests/latest/data/azure_ml/test_cert.pem new file mode 100644 index 00000000000..e7529e3fdea --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/tests/latest/data/azure_ml/test_cert.pem @@ -0,0 +1 @@ +testcert \ No newline at end of file diff --git a/src/k8s-extension/azext_k8s_extension/tests/latest/data/azure_ml/test_key.pem b/src/k8s-extension/azext_k8s_extension/tests/latest/data/azure_ml/test_key.pem new file mode 100644 index 00000000000..7ef00201c75 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/tests/latest/data/azure_ml/test_key.pem @@ -0,0 +1 @@ +testkey \ No newline at end of file diff --git a/src/k8s-extension/azext_k8s_extension/tests/latest/test_azureml_extension.py b/src/k8s-extension/azext_k8s_extension/tests/latest/test_azureml_extension.py new file mode 100644 index 00000000000..26d0b85abfb --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/tests/latest/test_azureml_extension.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. +# -------------------------------------------------------------------------------------------- + +import os +import unittest + +from azext_k8s_extension.partner_extensions.AzureMLKubernetes import AzureMLKubernetes + + +TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) + + +class TestAzureMlExtension(unittest.TestCase): + + def test_set_up_inference_ssl(self): + azremlk8sInstance = AzureMLKubernetes() + config = {'allowInsecureConnections': 'false'} + # read and encode dummy cert and key + sslKeyPemFile = os.path.join(TEST_DIR, 'data', 'azure_ml', 'test_key.pem') + sslCertPemFile = os.path.join(TEST_DIR, 'data', 'azure_ml', 'test_cert.pem') + protected_config = {'sslKeyPemFile': sslKeyPemFile, 'sslCertPemFile': sslCertPemFile} + azremlk8sInstance._AzureMLKubernetes__set_up_inference_ssl(config, protected_config) + self.assertTrue('scoringFe.sslCert' in protected_config) + self.assertTrue('scoringFe.sslKey' in protected_config) + encoded_cert_and_key_file = os.path.join(TEST_DIR, 'data', 'azure_ml', 'cert_and_key_encoded.txt') + with open(encoded_cert_and_key_file, "rb") as text_file: + cert = text_file.readline().rstrip() + self.assertEquals(cert, protected_config['scoringFe.sslCert']) + key = text_file.readline() + self.assertEquals(key, protected_config['scoringFe.sslKey']) \ No newline at end of file diff --git a/testing/test/extensions/data/azure_ml/test_cert.pem b/testing/test/extensions/data/azure_ml/test_cert.pem new file mode 100644 index 00000000000..e7529e3fdea --- /dev/null +++ b/testing/test/extensions/data/azure_ml/test_cert.pem @@ -0,0 +1 @@ +testcert \ No newline at end of file diff --git a/testing/test/extensions/data/azure_ml/test_key.pem b/testing/test/extensions/data/azure_ml/test_key.pem new file mode 100644 index 00000000000..7ef00201c75 --- /dev/null +++ b/testing/test/extensions/data/azure_ml/test_key.pem @@ -0,0 +1 @@ +testkey \ No newline at end of file diff --git a/testing/test/extensions/public/AzureMLKubernetes.Tests.ps1 b/testing/test/extensions/public/AzureMLKubernetes.Tests.ps1 index 35790d5f896..77b1cbdb343 100644 --- a/testing/test/extensions/public/AzureMLKubernetes.Tests.ps1 +++ b/testing/test/extensions/public/AzureMLKubernetes.Tests.ps1 @@ -150,4 +150,51 @@ Describe 'AzureML Kubernetes Testing' { $badOut | Should -Not -BeNullOrEmpty $output | Should -BeNullOrEmpty } + + It 'Creates the extension and checks that it onboards correctly with inference and SSL enabled' { + $sslKeyPemFile = Join-Path (Join-Path (Join-Path (Split-Path $PSScriptRoot -Parent) "data") "azure_ml") "test_key.pem" + $sslCertPemFile = Join-Path (Join-Path (Join-Path (Split-Path $PSScriptRoot -Parent) "data") "azure_ml") "test_cert.pem" + Invoke-Expression "az $Env:K8sExtensionName create -c $($ENVCONFIG.arcClusterName) -g $($ENVCONFIG.resourceGroup) --cluster-type connectedClusters --extension-type $extensionType -n $extensionName --release-train staging --config enableInference=true identity.proxy.remoteEnabled=True identity.proxy.remoteHost=https://master.experiments.azureml-test.net experimental=True --config-protected sslKeyPemFile=$sslKeyPemFile sslCertPemFile=$sslCertPemFile" -ErrorVariable badOut + $badOut | Should -BeNullOrEmpty + + $output = Invoke-Expression "az $Env:K8sExtensionName show -c $($ENVCONFIG.arcClusterName) -g $($ENVCONFIG.resourceGroup) --cluster-type connectedClusters -n $extensionName" -ErrorVariable badOut + $badOut | Should -BeNullOrEmpty + + $isAutoUpgradeMinorVersion = ($output | ConvertFrom-Json).autoUpgradeMinorVersion + $isAutoUpgradeMinorVersion.ToString() -eq "True" | Should -BeTrue + + # Loop and retry until the extension installs + $n = 0 + do + { + if (Get-ExtensionStatus $extensionName -eq $SUCCESS_MESSAGE) { + break + } + Start-Sleep -Seconds 20 + $n += 1 + } while ($n -le $MAX_RETRY_ATTEMPTS) + $n | Should -BeLessOrEqual $MAX_RETRY_ATTEMPTS + + # check if relay is populated + $relayResourceID = Get-ExtensionConfigurationSettings $extensionName $relayResourceIDKey + $relayResourceID | Should -Not -BeNullOrEmpty + } + + It "Deletes the extension from the cluster with inference enabled" { + # cleanup the relay and servicebus + $relayResourceID = Get-ExtensionConfigurationSettings $extensionName $relayResourceIDKey + $serviceBusResourceID = Get-ExtensionConfigurationSettings $extensionName $serviceBusResourceIDKey + $relayNamespaceName = $relayResourceID.split("/")[8] + $serviceBusNamespaceName = $serviceBusResourceID.split("/")[8] + az relay namespace delete --resource-group $ENVCONFIG.resourceGroup --name $relayNamespaceName + az servicebus namespace delete --resource-group $ENVCONFIG.resourceGroup --name $serviceBusNamespaceName + + $output = Invoke-Expression "az $Env:K8sExtensionName delete -c $($ENVCONFIG.arcClusterName) -g $($ENVCONFIG.resourceGroup) --cluster-type connectedClusters -n $extensionName" -ErrorVariable badOut + $badOut | Should -BeNullOrEmpty + + # Extension should not be found on the cluster + $output = Invoke-Expression "az $Env:K8sExtensionName show -c $($ENVCONFIG.arcClusterName) -g $($ENVCONFIG.resourceGroup) --cluster-type connectedClusters -n $extensionName" -ErrorVariable badOut + $badOut | Should -Not -BeNullOrEmpty + $output | Should -BeNullOrEmpty + } } From a46235bf6554bb25c14e5af2532b4ba3377110b5 Mon Sep 17 00:00:00 2001 From: Jonathan Innis Date: Wed, 2 Jun 2021 15:21:20 -0700 Subject: [PATCH 76/83] Upgrade release version --- src/k8s-extension/HISTORY.rst | 5 +++++ src/k8s-extension/setup.py | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/k8s-extension/HISTORY.rst b/src/k8s-extension/HISTORY.rst index 2fe8a591fb9..4a96664d562 100644 --- a/src/k8s-extension/HISTORY.rst +++ b/src/k8s-extension/HISTORY.rst @@ -3,6 +3,11 @@ Release History =============== +0.4.3 +++++++++++++++++++ +* Add SSL support for AzureML + + 0.4.2 ++++++++++++++++++ diff --git a/src/k8s-extension/setup.py b/src/k8s-extension/setup.py index 908ecc53009..7937b085006 100644 --- a/src/k8s-extension/setup.py +++ b/src/k8s-extension/setup.py @@ -32,7 +32,7 @@ # TODO: Add any additional SDK dependencies here DEPENDENCIES = [] -VERSION = "0.4.2" +VERSION = "0.4.3" with open('README.rst', 'r', encoding='utf-8') as f: README = f.read() From 2889d53948aa9ad34c45959ddd7a372ae082b701 Mon Sep 17 00:00:00 2001 From: Lia Kazakova <58274127+liakaz@users.noreply.github.com> Date: Wed, 2 Jun 2021 19:31:43 -0700 Subject: [PATCH 77/83] Liakaz/inference read ssl from file (#47) * first sketch of the change fixes removed extra blank lines changes regarding param renaming added ssl tests added more detail to the unit test additional import moved pem files out of public folder fixed import chenged import changed import unit tests fix unit test fix fixed unit tests fixed unit test unit test fix changes int test cert and key * test protected config * fix test typo * temporary changes reverted * fixing tests * fixed file paths * removed accidentally added file * changes according to review comments * more changes according to review comments * changes according to review comments * fixed decode error * renamed the experimental param Co-authored-by: Jonathan Innis --- .../partner_extensions/AzureMLKubernetes.py | 6 +++--- .../tests/latest/test_azureml_extension.py | 2 +- testing/test/extensions/public/AzureMLKubernetes.Tests.ps1 | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py b/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py index 229abcb7492..68e06a84692 100644 --- a/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py +++ b/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py @@ -189,7 +189,7 @@ def __validate_config(self, configuration_settings, configuration_protected_sett def __validate_scoring_fe_settings(self, configuration_settings, configuration_protected_settings): experimentalCluster = _get_value_from_config_protected_config( - 'experimental', configuration_settings, configuration_protected_settings) + 'inferenceLoadBalancerHA', configuration_settings, configuration_protected_settings) experimentalCluster = str(experimentalCluster).lower() == 'true' if experimentalCluster: configuration_settings['clusterPurpose'] = 'DevTest' @@ -225,12 +225,12 @@ def __set_up_inference_ssl(self, configuration_settings, configuration_protected with open(feSslCertFile) as f: cert_data = f.read() cert_data_bytes = cert_data.encode("ascii") - ssl_cert = base64.b64encode(cert_data_bytes) + ssl_cert = base64.b64encode(cert_data_bytes).decode() configuration_protected_settings['scoringFe.sslCert'] = ssl_cert with open(feSslKeyFile) as f: key_data = f.read() key_data_bytes = key_data.encode("ascii") - ssl_key = base64.b64encode(key_data_bytes) + ssl_key = base64.b64encode(key_data_bytes).decode() configuration_protected_settings['scoringFe.sslKey'] = ssl_key else: logger.warning( diff --git a/src/k8s-extension/azext_k8s_extension/tests/latest/test_azureml_extension.py b/src/k8s-extension/azext_k8s_extension/tests/latest/test_azureml_extension.py index 26d0b85abfb..6814a578398 100644 --- a/src/k8s-extension/azext_k8s_extension/tests/latest/test_azureml_extension.py +++ b/src/k8s-extension/azext_k8s_extension/tests/latest/test_azureml_extension.py @@ -25,7 +25,7 @@ def test_set_up_inference_ssl(self): self.assertTrue('scoringFe.sslCert' in protected_config) self.assertTrue('scoringFe.sslKey' in protected_config) encoded_cert_and_key_file = os.path.join(TEST_DIR, 'data', 'azure_ml', 'cert_and_key_encoded.txt') - with open(encoded_cert_and_key_file, "rb") as text_file: + with open(encoded_cert_and_key_file, "r") as text_file: cert = text_file.readline().rstrip() self.assertEquals(cert, protected_config['scoringFe.sslCert']) key = text_file.readline() diff --git a/testing/test/extensions/public/AzureMLKubernetes.Tests.ps1 b/testing/test/extensions/public/AzureMLKubernetes.Tests.ps1 index 77b1cbdb343..ac5573ad955 100644 --- a/testing/test/extensions/public/AzureMLKubernetes.Tests.ps1 +++ b/testing/test/extensions/public/AzureMLKubernetes.Tests.ps1 @@ -107,7 +107,7 @@ Describe 'AzureML Kubernetes Testing' { } It 'Creates the extension and checks that it onboards correctly with inference enabled' { - Invoke-Expression "az $Env:K8sExtensionName create -c $($ENVCONFIG.arcClusterName) -g $($ENVCONFIG.resourceGroup) --cluster-type connectedClusters --extension-type $extensionType -n $extensionName --release-train staging --config enableInference=true identity.proxy.remoteEnabled=True identity.proxy.remoteHost=https://master.experiments.azureml-test.net allowInsecureConnections=True clusterPurpose=DevTest" -ErrorVariable badOut + Invoke-Expression "az $Env:K8sExtensionName create -c $($ENVCONFIG.arcClusterName) -g $($ENVCONFIG.resourceGroup) --cluster-type connectedClusters --extension-type $extensionType -n $extensionName --release-train staging --config enableInference=true identity.proxy.remoteEnabled=True identity.proxy.remoteHost=https://master.experiments.azureml-test.net allowInsecureConnections=True inferenceLoadBalancerHA=true" -ErrorVariable badOut $badOut | Should -BeNullOrEmpty $output = Invoke-Expression "az $Env:K8sExtensionName show -c $($ENVCONFIG.arcClusterName) -g $($ENVCONFIG.resourceGroup) --cluster-type connectedClusters -n $extensionName" -ErrorVariable badOut @@ -154,7 +154,7 @@ Describe 'AzureML Kubernetes Testing' { It 'Creates the extension and checks that it onboards correctly with inference and SSL enabled' { $sslKeyPemFile = Join-Path (Join-Path (Join-Path (Split-Path $PSScriptRoot -Parent) "data") "azure_ml") "test_key.pem" $sslCertPemFile = Join-Path (Join-Path (Join-Path (Split-Path $PSScriptRoot -Parent) "data") "azure_ml") "test_cert.pem" - Invoke-Expression "az $Env:K8sExtensionName create -c $($ENVCONFIG.arcClusterName) -g $($ENVCONFIG.resourceGroup) --cluster-type connectedClusters --extension-type $extensionType -n $extensionName --release-train staging --config enableInference=true identity.proxy.remoteEnabled=True identity.proxy.remoteHost=https://master.experiments.azureml-test.net experimental=True --config-protected sslKeyPemFile=$sslKeyPemFile sslCertPemFile=$sslCertPemFile" -ErrorVariable badOut + Invoke-Expression "az $Env:K8sExtensionName create -c $($ENVCONFIG.arcClusterName) -g $($ENVCONFIG.resourceGroup) --cluster-type connectedClusters --extension-type $extensionType -n $extensionName --release-train staging --config enableInference=true identity.proxy.remoteEnabled=True identity.proxy.remoteHost=https://master.experiments.azureml-test.net inferenceLoadBalancerHA=True --config-protected sslKeyPemFile=$sslKeyPemFile sslCertPemFile=$sslCertPemFile" -ErrorVariable badOut $badOut | Should -BeNullOrEmpty $output = Invoke-Expression "az $Env:K8sExtensionName show -c $($ENVCONFIG.arcClusterName) -g $($ENVCONFIG.resourceGroup) --cluster-type connectedClusters -n $extensionName" -ErrorVariable badOut From 67babd86531042e7618395f58a9dfe665e1bb8a3 Mon Sep 17 00:00:00 2001 From: Jonathan Innis Date: Fri, 4 Jun 2021 11:51:05 -0700 Subject: [PATCH 78/83] Fix style issues (#51) --- k8s-custom-pipelines.yml | 2 +- .../azext_k8s_extension/custom.py | 2 -- .../partner_extensions/AzureMLKubernetes.py | 35 +++++++++++-------- .../partner_extensions/ContainerInsights.py | 4 +-- .../tests/latest/test_azureml_extension.py | 8 +++-- .../latest/test_k8s_extension_scenario.py | 21 ++++++----- 6 files changed, 39 insertions(+), 33 deletions(-) diff --git a/k8s-custom-pipelines.yml b/k8s-custom-pipelines.yml index 23857260310..76666940070 100644 --- a/k8s-custom-pipelines.yml +++ b/k8s-custom-pipelines.yml @@ -341,4 +341,4 @@ stages: displayName: "CLI Linter on Modified Extension" env: ADO_PULL_REQUEST_LATEST_COMMIT: $(System.PullRequest.SourceCommitId) - ADO_PULL_REQUEST_TARGET_BRANCH: $(System.PullRequest.TargetBranch) + ADO_PULL_REQUEST_TARGET_BRANCH: $(System.PullRequest.TargetBranch) \ No newline at end of file diff --git a/src/k8s-extension/azext_k8s_extension/custom.py b/src/k8s-extension/azext_k8s_extension/custom.py index d07c0015792..504539179d1 100644 --- a/src/k8s-extension/azext_k8s_extension/custom.py +++ b/src/k8s-extension/azext_k8s_extension/custom.py @@ -8,8 +8,6 @@ import json from knack.log import get_logger -from msrestazure.azure_exceptions import CloudError - from azure.cli.core.azclierror import ResourceNotFoundError, MutuallyExclusiveArgumentError, \ InvalidArgumentValueError, CommandNotFoundError, RequiredArgumentMissingError from azure.cli.core.commands.client_factory import get_subscription_id diff --git a/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py b/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py index 68e06a84692..b9f039e9293 100644 --- a/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py +++ b/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py @@ -4,6 +4,9 @@ # -------------------------------------------------------------------------------------------- # pylint: disable=unused-argument +# pylint: disable=line-too-long +# pylint: disable=too-many-locals + import copy from hashlib import md5 from typing import Any, Dict, List, Tuple @@ -17,8 +20,6 @@ import azure.mgmt.storage.models import azure.mgmt.loganalytics import azure.mgmt.loganalytics.models -from ..vendored_sdks.models import ( - ExtensionInstance, ExtensionInstanceUpdate, Scope, ScopeCluster) from azure.cli.core.azclierror import InvalidArgumentValueError from azure.cli.core.commands.client_factory import get_mgmt_service_client, get_subscription_id from azure.mgmt.resource.locks.models import ManagementLockObject @@ -27,12 +28,19 @@ from .._client_factory import cf_resources from .PartnerExtensionModel import PartnerExtensionModel +from ..vendored_sdks.models import ( + ExtensionInstance, + ExtensionInstanceUpdate, + Scope, + ScopeCluster +) logger = get_logger(__name__) resource_tag = {'created_by': 'Azure Arc-enabled ML'} +# pylint: disable=too-many-instance-attributes class AzureMLKubernetes(PartnerExtensionModel): def __init__(self): # constants for configuration settings. @@ -157,7 +165,7 @@ def __validate_config(self, configuration_settings, configuration_protected_sett config_keys = configuration_settings.keys() config_protected_keys = configuration_protected_settings.keys() dup_keys = set(config_keys) & set(config_protected_keys) - if len(dup_keys) > 0: + if dup_keys: for key in dup_keys: logger.warning( 'Duplicate keys found in both configuration settings and configuration protected setttings: %s', key) @@ -250,9 +258,8 @@ def __create_required_resource( configuration_settings[self.AZURE_LOG_ANALYTICS_CUSTOMER_ID_KEY] = ws_costumer_id configuration_protected_settings[self.AZURE_LOG_ANALYTICS_CONNECTION_STRING] = shared_key - if not configuration_settings.get( - self.RELAY_SERVER_CONNECTION_STRING) and not configuration_protected_settings.get( - self.RELAY_SERVER_CONNECTION_STRING): + if not configuration_settings.get(self.RELAY_SERVER_CONNECTION_STRING) and \ + not configuration_protected_settings.get(self.RELAY_SERVER_CONNECTION_STRING): logger.info('==== BEGIN RELAY CREATION ====') relay_connection_string, hc_resource_id, hc_name = _get_relay_connection_str( cmd, subscription_id, resource_group_name, cluster_name, cluster_location, self.RELAY_HC_AUTH_NAME) @@ -261,9 +268,8 @@ def __create_required_resource( configuration_settings[self.HC_RESOURCE_ID_KEY] = hc_resource_id configuration_settings[self.RELAY_HC_NAME_KEY] = hc_name - if not configuration_settings.get( - self.SERVICE_BUS_CONNECTION_STRING) and not configuration_protected_settings.get( - self.SERVICE_BUS_CONNECTION_STRING): + if not configuration_settings.get(self.SERVICE_BUS_CONNECTION_STRING) and \ + not configuration_protected_settings.get(self.SERVICE_BUS_CONNECTION_STRING): logger.info('==== BEGIN SERVICE BUS CREATION ====') topic_sub_mapping = { self.SERVICE_BUS_COMPUTE_STATE_TOPIC: self.SERVICE_BUS_COMPUTE_STATE_SUB, @@ -280,7 +286,7 @@ def __create_required_resource( def _get_valid_name(input_name: str, suffix_len: int, max_len: int) -> str: normalized_str = ''.join(filter(str.isalnum, input_name)) - assert len(normalized_str) > 0, "normalized name empty" + assert normalized_str, "normalized name empty" if len(normalized_str) <= max_len: return normalized_str @@ -295,6 +301,7 @@ def _get_valid_name(input_name: str, suffix_len: int, max_len: int) -> str: return new_name +# pylint: disable=broad-except def _lock_resource(cmd, lock_scope, lock_level='CanNotDelete'): lock_client: azure.mgmt.resource.locks.ManagementLockClient = get_mgmt_service_client( cmd.cli_ctx, azure.mgmt.resource.locks.ManagementLockClient) @@ -303,14 +310,13 @@ def _lock_resource(cmd, lock_scope, lock_level='CanNotDelete'): try: lock_client.management_locks.create_or_update_by_scope( scope=lock_scope, lock_name='amlarc-resource-lock', parameters=lock_object) - except: + except Exception: # try to lock the resource if user has the owner privilege pass def _get_relay_connection_str( - cmd, subscription_id, resource_group_name, cluster_name, cluster_location, auth_rule_name) -> Tuple[ - str, str, str]: + cmd, subscription_id, resource_group_name, cluster_name, cluster_location, auth_rule_name) -> Tuple[str, str, str]: relay_client: azure.mgmt.relay.RelayManagementClient = get_mgmt_service_client( cmd.cli_ctx, azure.mgmt.relay.RelayManagementClient) @@ -398,8 +404,7 @@ def _get_service_bus_connection_string(cmd, subscription_id, resource_group_name def _get_log_analytics_ws_connection_string( - cmd, subscription_id, resource_group_name, cluster_name, cluster_location) -> Tuple[ - str, str]: + cmd, subscription_id, resource_group_name, cluster_name, cluster_location) -> Tuple[str, str]: log_analytics_ws_client: azure.mgmt.loganalytics.LogAnalyticsManagementClient = get_mgmt_service_client( cmd.cli_ctx, azure.mgmt.loganalytics.LogAnalyticsManagementClient) diff --git a/src/k8s-extension/azext_k8s_extension/partner_extensions/ContainerInsights.py b/src/k8s-extension/azext_k8s_extension/partner_extensions/ContainerInsights.py index 3514122e391..e42f22199da 100644 --- a/src/k8s-extension/azext_k8s_extension/partner_extensions/ContainerInsights.py +++ b/src/k8s-extension/azext_k8s_extension/partner_extensions/ContainerInsights.py @@ -14,7 +14,6 @@ from azure.cli.core.commands import LongRunningOperation from azure.cli.core.commands.client_factory import get_mgmt_service_client, get_subscription_id from azure.cli.core.util import sdk_no_wait -from msrestazure.azure_exceptions import CloudError from msrestazure.tools import parse_resource_id, is_valid_resource_id from ..vendored_sdks.models import ExtensionInstance @@ -104,8 +103,7 @@ def _invoke_deployment(cmd, resource_group_name, deployment_name, template, para if cmd.supported_api_version(min_api='2019-10-01', resource_type=ResourceType.MGMT_RESOURCE_RESOURCES): validation_poller = smc.begin_validate(resource_group_name, deployment_name, deployment) return LongRunningOperation(cmd.cli_ctx)(validation_poller) - else: - return smc.validate(resource_group_name, deployment_name, deployment) + return smc.validate(resource_group_name, deployment_name, deployment) return sdk_no_wait(no_wait, smc.begin_create_or_update, resource_group_name, deployment_name, deployment) diff --git a/src/k8s-extension/azext_k8s_extension/tests/latest/test_azureml_extension.py b/src/k8s-extension/azext_k8s_extension/tests/latest/test_azureml_extension.py index 6814a578398..8ddf4dfaef2 100644 --- a/src/k8s-extension/azext_k8s_extension/tests/latest/test_azureml_extension.py +++ b/src/k8s-extension/azext_k8s_extension/tests/latest/test_azureml_extension.py @@ -3,6 +3,8 @@ # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- +# pylint: disable=protected-access + import os import unittest @@ -13,7 +15,7 @@ class TestAzureMlExtension(unittest.TestCase): - + def test_set_up_inference_ssl(self): azremlk8sInstance = AzureMLKubernetes() config = {'allowInsecureConnections': 'false'} @@ -27,6 +29,6 @@ def test_set_up_inference_ssl(self): encoded_cert_and_key_file = os.path.join(TEST_DIR, 'data', 'azure_ml', 'cert_and_key_encoded.txt') with open(encoded_cert_and_key_file, "r") as text_file: cert = text_file.readline().rstrip() - self.assertEquals(cert, protected_config['scoringFe.sslCert']) + assert cert == protected_config['scoringFe.sslCert'] key = text_file.readline() - self.assertEquals(key, protected_config['scoringFe.sslKey']) \ No newline at end of file + assert key == protected_config['scoringFe.sslKey'] diff --git a/src/k8s-extension/azext_k8s_extension/tests/latest/test_k8s_extension_scenario.py b/src/k8s-extension/azext_k8s_extension/tests/latest/test_k8s_extension_scenario.py index 0e53c9e6691..010df2e3077 100644 --- a/src/k8s-extension/azext_k8s_extension/tests/latest/test_k8s_extension_scenario.py +++ b/src/k8s-extension/azext_k8s_extension/tests/latest/test_k8s_extension_scenario.py @@ -3,9 +3,9 @@ # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- -import os -import unittest +# pylint: disable=line-too-long +import os from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer, record_only) @@ -27,13 +27,16 @@ def test_k8s_extension(self): 'version': '0.1.0' }) - self.cmd('k8s-extension create -g {rg} -n {name} -c {cluster_name} --cluster-type {cluster_type} --extension-type {extension_type} --release-train {release_train} --version {version}', checks=[ - self.check('name', '{name}'), - self.check('releaseTrain', '{release_train}'), - self.check('version', '{version}'), - self.check('resourceGroup', '{rg}'), - self.check('extensionType', '{extension_type}') - ]) + self.cmd('k8s-extension create -g {rg} -n {name} -c {cluster_name} --cluster-type {cluster_type} ' + '--extension-type {extension_type} --release-train {release_train} --version {version}', + checks=[ + self.check('name', '{name}'), + self.check('releaseTrain', '{release_train}'), + self.check('version', '{version}'), + self.check('resourceGroup', '{rg}'), + self.check('extensionType', '{extension_type}') + ] + ) # Update is disabled for now # self.cmd('k8s-extension update -g {rg} -n {name} --tags foo=boo', checks=[ From 590e64218a93a16dfbd10fb358bc2fdac0a225c0 Mon Sep 17 00:00:00 2001 From: Lia Kazakova <58274127+liakaz@users.noreply.github.com> Date: Tue, 8 Jun 2021 10:08:02 -0700 Subject: [PATCH 79/83] Fixed scoring fe related extension param names (#49) * fixed scoring fe related extension params * bug fix and style fixes * variable rename * fixed the error type * set cluster to prod by default --- .../partner_extensions/AzureMLKubernetes.py | 25 +++++++++++++------ .../public/AzureMLKubernetes.Tests.ps1 | 4 +-- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py b/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py index b9f039e9293..bd49a164a3b 100644 --- a/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py +++ b/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py @@ -20,7 +20,7 @@ import azure.mgmt.storage.models import azure.mgmt.loganalytics import azure.mgmt.loganalytics.models -from azure.cli.core.azclierror import InvalidArgumentValueError +from azure.cli.core.azclierror import InvalidArgumentValueError, MutuallyExclusiveArgumentError from azure.cli.core.commands.client_factory import get_mgmt_service_client, get_subscription_id from azure.mgmt.resource.locks.models import ManagementLockObject from knack.log import get_logger @@ -79,6 +79,8 @@ def __init__(self): self.sslCertPemFile = 'sslCertPemFile' self.allowInsecureConnections = 'allowInsecureConnections' self.privateEndpointILB = 'privateEndpointILB' + self.privateEndpointNodeport = 'privateEndpointNodeport' + self.inferenceLoadBalancerHA = 'inferenceLoadBalancerHA' # reference mapping self.reference_mapping = { @@ -196,10 +198,10 @@ def __validate_config(self, configuration_settings, configuration_protected_sett configuration_protected_settings.pop(self.ENABLE_INFERENCE, None) def __validate_scoring_fe_settings(self, configuration_settings, configuration_protected_settings): - experimentalCluster = _get_value_from_config_protected_config( - 'inferenceLoadBalancerHA', configuration_settings, configuration_protected_settings) - experimentalCluster = str(experimentalCluster).lower() == 'true' - if experimentalCluster: + isTestCluster = _get_value_from_config_protected_config( + self.inferenceLoadBalancerHA, configuration_settings, configuration_protected_settings) + isTestCluster = str(isTestCluster).lower() == 'false' + if isTestCluster: configuration_settings['clusterPurpose'] = 'DevTest' else: configuration_settings['clusterPurpose'] = 'FastProd' @@ -214,13 +216,22 @@ def __validate_scoring_fe_settings(self, configuration_settings, configuration_p "Otherwise explicitly allow insecure connection by specifying " "'--configuration-settings allowInsecureConnections=true'") + feIsNodePort = _get_value_from_config_protected_config( + self.privateEndpointNodeport, configuration_settings, configuration_protected_settings) + feIsNodePort = str(feIsNodePort).lower() == 'true' feIsInternalLoadBalancer = _get_value_from_config_protected_config( self.privateEndpointILB, configuration_settings, configuration_protected_settings) feIsInternalLoadBalancer = str(feIsInternalLoadBalancer).lower() == 'true' - if feIsInternalLoadBalancer: + + if feIsNodePort and feIsInternalLoadBalancer: + raise MutuallyExclusiveArgumentError( + "Specify either privateEndpointNodeport=true or privateEndpointILB=true, but not both.") + elif feIsNodePort: + configuration_settings['scoringFe.serviceType.nodePort'] = feIsNodePort + elif feIsInternalLoadBalancer: + configuration_settings['scoringFe.serviceType.internalLoadBalancer'] = feIsInternalLoadBalancer logger.warning( 'Internal load balancer only supported on AKS and AKS Engine Clusters.') - configuration_protected_settings['scoringFe.%s' % self.privateEndpointILB] = feIsInternalLoadBalancer def __set_up_inference_ssl(self, configuration_settings, configuration_protected_settings): allowInsecureConnections = _get_value_from_config_protected_config( diff --git a/testing/test/extensions/public/AzureMLKubernetes.Tests.ps1 b/testing/test/extensions/public/AzureMLKubernetes.Tests.ps1 index ac5573ad955..20b6a802b73 100644 --- a/testing/test/extensions/public/AzureMLKubernetes.Tests.ps1 +++ b/testing/test/extensions/public/AzureMLKubernetes.Tests.ps1 @@ -107,7 +107,7 @@ Describe 'AzureML Kubernetes Testing' { } It 'Creates the extension and checks that it onboards correctly with inference enabled' { - Invoke-Expression "az $Env:K8sExtensionName create -c $($ENVCONFIG.arcClusterName) -g $($ENVCONFIG.resourceGroup) --cluster-type connectedClusters --extension-type $extensionType -n $extensionName --release-train staging --config enableInference=true identity.proxy.remoteEnabled=True identity.proxy.remoteHost=https://master.experiments.azureml-test.net allowInsecureConnections=True inferenceLoadBalancerHA=true" -ErrorVariable badOut + Invoke-Expression "az $Env:K8sExtensionName create -c $($ENVCONFIG.arcClusterName) -g $($ENVCONFIG.resourceGroup) --cluster-type connectedClusters --extension-type $extensionType -n $extensionName --release-train staging --config enableInference=true identity.proxy.remoteEnabled=True identity.proxy.remoteHost=https://master.experiments.azureml-test.net allowInsecureConnections=True inferenceLoadBalancerHA=false" -ErrorVariable badOut $badOut | Should -BeNullOrEmpty $output = Invoke-Expression "az $Env:K8sExtensionName show -c $($ENVCONFIG.arcClusterName) -g $($ENVCONFIG.resourceGroup) --cluster-type connectedClusters -n $extensionName" -ErrorVariable badOut @@ -154,7 +154,7 @@ Describe 'AzureML Kubernetes Testing' { It 'Creates the extension and checks that it onboards correctly with inference and SSL enabled' { $sslKeyPemFile = Join-Path (Join-Path (Join-Path (Split-Path $PSScriptRoot -Parent) "data") "azure_ml") "test_key.pem" $sslCertPemFile = Join-Path (Join-Path (Join-Path (Split-Path $PSScriptRoot -Parent) "data") "azure_ml") "test_cert.pem" - Invoke-Expression "az $Env:K8sExtensionName create -c $($ENVCONFIG.arcClusterName) -g $($ENVCONFIG.resourceGroup) --cluster-type connectedClusters --extension-type $extensionType -n $extensionName --release-train staging --config enableInference=true identity.proxy.remoteEnabled=True identity.proxy.remoteHost=https://master.experiments.azureml-test.net inferenceLoadBalancerHA=True --config-protected sslKeyPemFile=$sslKeyPemFile sslCertPemFile=$sslCertPemFile" -ErrorVariable badOut + Invoke-Expression "az $Env:K8sExtensionName create -c $($ENVCONFIG.arcClusterName) -g $($ENVCONFIG.resourceGroup) --cluster-type connectedClusters --extension-type $extensionType -n $extensionName --release-train staging --config enableInference=true identity.proxy.remoteEnabled=True identity.proxy.remoteHost=https://master.experiments.azureml-test.net inferenceLoadBalancerHA=False --config-protected sslKeyPemFile=$sslKeyPemFile sslCertPemFile=$sslCertPemFile" -ErrorVariable badOut $badOut | Should -BeNullOrEmpty $output = Invoke-Expression "az $Env:K8sExtensionName show -c $($ENVCONFIG.arcClusterName) -g $($ENVCONFIG.resourceGroup) --cluster-type connectedClusters -n $extensionName" -ErrorVariable badOut From fc661a827672b0f43f94b6f6bd68d319c2944343 Mon Sep 17 00:00:00 2001 From: Niranjan Shankar Date: Fri, 11 Jun 2021 12:44:34 -0400 Subject: [PATCH 80/83] Add distro validation for osm-arc (#50) * Add distro validation for osm-arc * fixed indentation * Fix linting * Resolve comments * Add unit test * fix lint Co-authored-by: Jonathan Innis --- .../partner_extensions/OpenServiceMesh.py | 86 +++++++++++++++++-- .../tests/latest/test_open_service_mesh.py | 22 +++++ src/k8s-extension/setup.py | 4 +- 3 files changed, 106 insertions(+), 6 deletions(-) create mode 100644 src/k8s-extension/azext_k8s_extension/tests/latest/test_open_service_mesh.py diff --git a/src/k8s-extension/azext_k8s_extension/partner_extensions/OpenServiceMesh.py b/src/k8s-extension/azext_k8s_extension/partner_extensions/OpenServiceMesh.py index 6d11064821c..2d477119c9d 100644 --- a/src/k8s-extension/azext_k8s_extension/partner_extensions/OpenServiceMesh.py +++ b/src/k8s-extension/azext_k8s_extension/partner_extensions/OpenServiceMesh.py @@ -5,20 +5,36 @@ # pylint: disable=unused-argument -from azure.cli.core.azclierror import InvalidArgumentValueError, RequiredArgumentMissingError from knack.log import get_logger -from ..vendored_sdks.models import ExtensionInstance -from ..vendored_sdks.models import ExtensionInstanceUpdate -from ..vendored_sdks.models import ScopeCluster -from ..vendored_sdks.models import Scope +from azure.cli.core.azclierror import InvalidArgumentValueError, RequiredArgumentMissingError +from azure.cli.core.commands.client_factory import get_subscription_id + +from pyhelm.chartbuilder import ChartBuilder +from pyhelm.repo import VersionError +from packaging import version +import yaml + +from ..partner_extensions import PartnerExtensionModel from .PartnerExtensionModel import PartnerExtensionModel +from ..vendored_sdks.models import ( + ExtensionInstance, + ExtensionInstanceUpdate, + ScopeCluster, + Scope +) + +from .._client_factory import cf_resources + logger = get_logger(__name__) class OpenServiceMesh(PartnerExtensionModel): + CHART_NAME = "osm-arc" + CHART_LOCATION = "https://azure.github.io/osm-azure" + def Create(self, cmd, client, resource_group_name, cluster_name, name, cluster_type, extension_type, scope, auto_upgrade_minor_version, release_train, version, target_namespace, release_namespace, configuration_settings, configuration_protected_settings, @@ -62,6 +78,9 @@ def Create(self, cmd, client, resource_group_name, cluster_name, name, cluster_t # NOTE-2: Return a valid ExtensionInstance object, Instance name and flag for Identity create_identity = False + + _validate_tested_distro(cmd, resource_group_name, cluster_name, version) + extension_instance = ExtensionInstance( extension_type=extension_type, auto_upgrade_minor_version=auto_upgrade_minor_version, @@ -93,3 +112,60 @@ def Update(self, extension, auto_upgrade_minor_version, release_train, version): release_train=release_train, version=version ) + + +def _validate_tested_distro(cmd, cluster_resource_group_name, cluster_name, extension_version): + + field_unavailable_error = '\"testedDistros\" field unavailable for version {0} of microsoft.openservicemesh, ' \ + 'cannot determine if this Kubernetes distribution has been properly tested'.format(extension_version) + + if version.parse(str(extension_version)) <= version.parse("0.8.3"): + logger.warning(field_unavailable_error) + return + + subscription_id = get_subscription_id(cmd.cli_ctx) + resources = cf_resources(cmd.cli_ctx, subscription_id) + + cluster_resource_id = '/subscriptions/{0}/resourceGroups/{1}/providers/Microsoft.Kubernetes' \ + '/connectedClusters/{2}'.format(subscription_id, cluster_resource_group_name, cluster_name) + + resource = resources.get_by_id(cluster_resource_id, '2020-01-01-preview') + cluster_distro = resource.properties['distribution'].lower() + + if cluster_distro == "general": + logger.warning('Unable to determine if distro has been tested for microsoft.openservicemesh, ' + 'kubernetes distro: \"general\"') + return + + tested_distros = _get_tested_distros(extension_version) + + if tested_distros is None: + logger.warning(field_unavailable_error) + elif cluster_distro not in tested_distros.split(): + logger.warning('Untested kubernetes distro for microsoft.openservicemesh, Kubernetes distro is %s', + cluster_distro) + + +def _get_tested_distros(chart_version): + + try: + chart_arc = ChartBuilder({ + "name": OpenServiceMesh.CHART_NAME, + "version": str(chart_version), + "source": { + "type": "repo", + "location": OpenServiceMesh.CHART_LOCATION + } + }) + except VersionError: + raise InvalidArgumentValueError( + "Invalid version '{}' for microsoft.openservicemesh".format(chart_version) + ) + + values = chart_arc.get_values() + values_yaml = yaml.load(values.raw, Loader=yaml.FullLoader) + + try: + return values_yaml['OpenServiceMesh']['testedDistros'] + except KeyError: + return None diff --git a/src/k8s-extension/azext_k8s_extension/tests/latest/test_open_service_mesh.py b/src/k8s-extension/azext_k8s_extension/tests/latest/test_open_service_mesh.py new file mode 100644 index 00000000000..d3b322ef799 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/tests/latest/test_open_service_mesh.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. +# -------------------------------------------------------------------------------------------- + +# pylint: disable=protected-access + +import os +import unittest + +from azext_k8s_extension.partner_extensions.OpenServiceMesh import _get_tested_distros +from azure.cli.core.azclierror import InvalidArgumentValueError + +TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) + +class TestOpenServiceMesh(unittest.TestCase): + def test_bad_osm_arc_version(self): + version = "0.7.1" + err = "Invalid version \'" + str(version) + "\' for microsoft.openservicemesh" + with self.assertRaises(InvalidArgumentValueError) as argError: + _get_tested_distros(version) + self.assertEqual(str(argError.exception), err) diff --git a/src/k8s-extension/setup.py b/src/k8s-extension/setup.py index 7937b085006..566d36f4b4f 100644 --- a/src/k8s-extension/setup.py +++ b/src/k8s-extension/setup.py @@ -30,7 +30,9 @@ ] # TODO: Add any additional SDK dependencies here -DEPENDENCIES = [] +DEPENDENCIES = [ + 'pyhelm' +] VERSION = "0.4.3" From eb466aa494c02370ae47881fa871ffdbbbc67fd4 Mon Sep 17 00:00:00 2001 From: Niranjan Shankar Date: Fri, 11 Jun 2021 12:44:34 -0400 Subject: [PATCH 81/83] Add distro validation for osm-arc (#50) * Add distro validation for osm-arc * fixed indentation * Fix linting * Resolve comments * Add unit test * fix lint Co-authored-by: Jonathan Innis --- src/k8s-extension/HISTORY.rst | 1 - .../partner_extensions/OpenServiceMesh.py | 86 +++++++++++++++++-- .../tests/latest/test_open_service_mesh.py | 22 +++++ src/k8s-extension/setup.py | 4 +- 4 files changed, 106 insertions(+), 7 deletions(-) create mode 100644 src/k8s-extension/azext_k8s_extension/tests/latest/test_open_service_mesh.py diff --git a/src/k8s-extension/HISTORY.rst b/src/k8s-extension/HISTORY.rst index 4a96664d562..297c5ed46cb 100644 --- a/src/k8s-extension/HISTORY.rst +++ b/src/k8s-extension/HISTORY.rst @@ -7,7 +7,6 @@ Release History ++++++++++++++++++ * Add SSL support for AzureML - 0.4.2 ++++++++++++++++++ diff --git a/src/k8s-extension/azext_k8s_extension/partner_extensions/OpenServiceMesh.py b/src/k8s-extension/azext_k8s_extension/partner_extensions/OpenServiceMesh.py index 6d11064821c..2d477119c9d 100644 --- a/src/k8s-extension/azext_k8s_extension/partner_extensions/OpenServiceMesh.py +++ b/src/k8s-extension/azext_k8s_extension/partner_extensions/OpenServiceMesh.py @@ -5,20 +5,36 @@ # pylint: disable=unused-argument -from azure.cli.core.azclierror import InvalidArgumentValueError, RequiredArgumentMissingError from knack.log import get_logger -from ..vendored_sdks.models import ExtensionInstance -from ..vendored_sdks.models import ExtensionInstanceUpdate -from ..vendored_sdks.models import ScopeCluster -from ..vendored_sdks.models import Scope +from azure.cli.core.azclierror import InvalidArgumentValueError, RequiredArgumentMissingError +from azure.cli.core.commands.client_factory import get_subscription_id + +from pyhelm.chartbuilder import ChartBuilder +from pyhelm.repo import VersionError +from packaging import version +import yaml + +from ..partner_extensions import PartnerExtensionModel from .PartnerExtensionModel import PartnerExtensionModel +from ..vendored_sdks.models import ( + ExtensionInstance, + ExtensionInstanceUpdate, + ScopeCluster, + Scope +) + +from .._client_factory import cf_resources + logger = get_logger(__name__) class OpenServiceMesh(PartnerExtensionModel): + CHART_NAME = "osm-arc" + CHART_LOCATION = "https://azure.github.io/osm-azure" + def Create(self, cmd, client, resource_group_name, cluster_name, name, cluster_type, extension_type, scope, auto_upgrade_minor_version, release_train, version, target_namespace, release_namespace, configuration_settings, configuration_protected_settings, @@ -62,6 +78,9 @@ def Create(self, cmd, client, resource_group_name, cluster_name, name, cluster_t # NOTE-2: Return a valid ExtensionInstance object, Instance name and flag for Identity create_identity = False + + _validate_tested_distro(cmd, resource_group_name, cluster_name, version) + extension_instance = ExtensionInstance( extension_type=extension_type, auto_upgrade_minor_version=auto_upgrade_minor_version, @@ -93,3 +112,60 @@ def Update(self, extension, auto_upgrade_minor_version, release_train, version): release_train=release_train, version=version ) + + +def _validate_tested_distro(cmd, cluster_resource_group_name, cluster_name, extension_version): + + field_unavailable_error = '\"testedDistros\" field unavailable for version {0} of microsoft.openservicemesh, ' \ + 'cannot determine if this Kubernetes distribution has been properly tested'.format(extension_version) + + if version.parse(str(extension_version)) <= version.parse("0.8.3"): + logger.warning(field_unavailable_error) + return + + subscription_id = get_subscription_id(cmd.cli_ctx) + resources = cf_resources(cmd.cli_ctx, subscription_id) + + cluster_resource_id = '/subscriptions/{0}/resourceGroups/{1}/providers/Microsoft.Kubernetes' \ + '/connectedClusters/{2}'.format(subscription_id, cluster_resource_group_name, cluster_name) + + resource = resources.get_by_id(cluster_resource_id, '2020-01-01-preview') + cluster_distro = resource.properties['distribution'].lower() + + if cluster_distro == "general": + logger.warning('Unable to determine if distro has been tested for microsoft.openservicemesh, ' + 'kubernetes distro: \"general\"') + return + + tested_distros = _get_tested_distros(extension_version) + + if tested_distros is None: + logger.warning(field_unavailable_error) + elif cluster_distro not in tested_distros.split(): + logger.warning('Untested kubernetes distro for microsoft.openservicemesh, Kubernetes distro is %s', + cluster_distro) + + +def _get_tested_distros(chart_version): + + try: + chart_arc = ChartBuilder({ + "name": OpenServiceMesh.CHART_NAME, + "version": str(chart_version), + "source": { + "type": "repo", + "location": OpenServiceMesh.CHART_LOCATION + } + }) + except VersionError: + raise InvalidArgumentValueError( + "Invalid version '{}' for microsoft.openservicemesh".format(chart_version) + ) + + values = chart_arc.get_values() + values_yaml = yaml.load(values.raw, Loader=yaml.FullLoader) + + try: + return values_yaml['OpenServiceMesh']['testedDistros'] + except KeyError: + return None diff --git a/src/k8s-extension/azext_k8s_extension/tests/latest/test_open_service_mesh.py b/src/k8s-extension/azext_k8s_extension/tests/latest/test_open_service_mesh.py new file mode 100644 index 00000000000..d3b322ef799 --- /dev/null +++ b/src/k8s-extension/azext_k8s_extension/tests/latest/test_open_service_mesh.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. +# -------------------------------------------------------------------------------------------- + +# pylint: disable=protected-access + +import os +import unittest + +from azext_k8s_extension.partner_extensions.OpenServiceMesh import _get_tested_distros +from azure.cli.core.azclierror import InvalidArgumentValueError + +TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) + +class TestOpenServiceMesh(unittest.TestCase): + def test_bad_osm_arc_version(self): + version = "0.7.1" + err = "Invalid version \'" + str(version) + "\' for microsoft.openservicemesh" + with self.assertRaises(InvalidArgumentValueError) as argError: + _get_tested_distros(version) + self.assertEqual(str(argError.exception), err) diff --git a/src/k8s-extension/setup.py b/src/k8s-extension/setup.py index 7937b085006..566d36f4b4f 100644 --- a/src/k8s-extension/setup.py +++ b/src/k8s-extension/setup.py @@ -30,7 +30,9 @@ ] # TODO: Add any additional SDK dependencies here -DEPENDENCIES = [] +DEPENDENCIES = [ + 'pyhelm' +] VERSION = "0.4.3" From b0af5983e881b110d2101ade59a78dd3196f275a Mon Sep 17 00:00:00 2001 From: Niranjan Shankar Date: Tue, 15 Jun 2021 19:09:10 -0400 Subject: [PATCH 82/83] Add distro validation for osm-arc (#53) removed release-train logic --- .../partner_extensions/OpenServiceMesh.py | 26 +++++-------------- 1 file changed, 7 insertions(+), 19 deletions(-) diff --git a/src/k8s-extension/azext_k8s_extension/partner_extensions/OpenServiceMesh.py b/src/k8s-extension/azext_k8s_extension/partner_extensions/OpenServiceMesh.py index 2d477119c9d..4839c5d763a 100644 --- a/src/k8s-extension/azext_k8s_extension/partner_extensions/OpenServiceMesh.py +++ b/src/k8s-extension/azext_k8s_extension/partner_extensions/OpenServiceMesh.py @@ -54,27 +54,15 @@ def Create(self, cmd, client, resource_group_name, cluster_name, name, cluster_t scope_cluster = ScopeCluster(release_namespace=release_namespace) ext_scope = Scope(cluster=scope_cluster, namespace=None) - valid_release_trains = ['staging', 'pilot'] - # If release-train is not input, set it to 'stable' - if release_train is None: + # version is a mandatory if release-train is staging or pilot + if version is None: raise RequiredArgumentMissingError( - "A release-train must be provided. Valid values are 'staging', 'pilot'." - ) - - if release_train.lower() in valid_release_trains: - # version is a mandatory if release-train is staging or pilot - if version is None: - raise RequiredArgumentMissingError( - "A version must be provided for release-train {}.".format(release_train) - ) - # If the release-train is 'staging' or 'pilot' then auto-upgrade-minor-version MUST be set to False - if auto_upgrade_minor_version or auto_upgrade_minor_version is None: - auto_upgrade_minor_version = False - logger.warning("Setting auto-upgrade-minor-version to False since release-train is '%s'", release_train) - else: - raise InvalidArgumentValueError( - "Invalid release-train '{}'. Valid values are 'staging', 'pilot'.".format(release_train) + "A version must be provided for release-train {}.".format(release_train) ) + # If the release-train is 'staging' or 'pilot' then auto-upgrade-minor-version MUST be set to False + if auto_upgrade_minor_version or auto_upgrade_minor_version is None: + auto_upgrade_minor_version = False + logger.warning("Setting auto-upgrade-minor-version to False since release-train is '%s'", release_train) # NOTE-2: Return a valid ExtensionInstance object, Instance name and flag for Identity create_identity = False From c355ad5fb99874b63e433d17856de0b1f9e11927 Mon Sep 17 00:00:00 2001 From: Jonathan Innis Date: Tue, 22 Jun 2021 16:54:11 -0700 Subject: [PATCH 83/83] Add Custom Delete Logic for Partners (#54) * Add custom delete logic * Fix failing unit tests --- .../azext_k8s_extension/custom.py | 11 ++ .../partner_extensions/AzureDefender.py | 3 + .../partner_extensions/AzureMLKubernetes.py | 5 +- .../partner_extensions/Cassandra.py | 3 + .../partner_extensions/ContainerInsights.py | 3 + .../partner_extensions/DefaultExtension.py | 3 + .../partner_extensions/OpenServiceMesh.py | 5 + .../PartnerExtensionModel.py | 4 + .../latest/recordings/test_k8s_extension.yaml | 158 ++++++++++++++---- .../latest/test_k8s_extension_scenario.py | 9 +- .../tests/latest/test_open_service_mesh.py | 2 +- 11 files changed, 170 insertions(+), 36 deletions(-) diff --git a/src/k8s-extension/azext_k8s_extension/custom.py b/src/k8s-extension/azext_k8s_extension/custom.py index 504539179d1..8d6b82d1885 100644 --- a/src/k8s-extension/azext_k8s_extension/custom.py +++ b/src/k8s-extension/azext_k8s_extension/custom.py @@ -195,6 +195,17 @@ def delete_k8s_extension(client, resource_group_name, cluster_name, name, cluste """ # Determine ClusterRP cluster_rp = __get_cluster_rp(cluster_type) + extension = None + try: + extension = client.get(resource_group_name, cluster_rp, cluster_type, cluster_name, name) + except ErrorResponseException: + logger.warning("No extension with name '%s' found on cluster '%s', so nothing to delete", cluster_name, name) + return None + extension_class = ExtensionFactory(extension.extension_type.lower()) + + # If there is any custom delete logic, this will call the logic + extension_class.Delete(client, resource_group_name, cluster_name, name, cluster_type) + return client.delete(resource_group_name, cluster_rp, cluster_type, cluster_name, name) diff --git a/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureDefender.py b/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureDefender.py index a3e805006de..ffb6a926328 100644 --- a/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureDefender.py +++ b/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureDefender.py @@ -70,3 +70,6 @@ def Update(self, extension, auto_upgrade_minor_version, release_train, version): release_train=release_train, version=version ) + + def Delete(self, client, resource_group_name, cluster_name, name, cluster_type): + pass diff --git a/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py b/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py index bd49a164a3b..83a38b7f25d 100644 --- a/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py +++ b/src/k8s-extension/azext_k8s_extension/partner_extensions/AzureMLKubernetes.py @@ -162,6 +162,9 @@ def Update(self, extension, auto_upgrade_minor_version, release_train, version): version=version ) + def Delete(self, client, resource_group_name, cluster_name, name, cluster_type): + pass + def __validate_config(self, configuration_settings, configuration_protected_settings): # perform basic validation of the input config config_keys = configuration_settings.keys() @@ -226,7 +229,7 @@ def __validate_scoring_fe_settings(self, configuration_settings, configuration_p if feIsNodePort and feIsInternalLoadBalancer: raise MutuallyExclusiveArgumentError( "Specify either privateEndpointNodeport=true or privateEndpointILB=true, but not both.") - elif feIsNodePort: + if feIsNodePort: configuration_settings['scoringFe.serviceType.nodePort'] = feIsNodePort elif feIsInternalLoadBalancer: configuration_settings['scoringFe.serviceType.internalLoadBalancer'] = feIsInternalLoadBalancer diff --git a/src/k8s-extension/azext_k8s_extension/partner_extensions/Cassandra.py b/src/k8s-extension/azext_k8s_extension/partner_extensions/Cassandra.py index 2357bf08af6..289e8053223 100644 --- a/src/k8s-extension/azext_k8s_extension/partner_extensions/Cassandra.py +++ b/src/k8s-extension/azext_k8s_extension/partner_extensions/Cassandra.py @@ -55,3 +55,6 @@ def Update(self, extension, auto_upgrade_minor_version, release_train, version): release_train=release_train, version=version ) + + def Delete(self, client, resource_group_name, cluster_name, name, cluster_type): + pass diff --git a/src/k8s-extension/azext_k8s_extension/partner_extensions/ContainerInsights.py b/src/k8s-extension/azext_k8s_extension/partner_extensions/ContainerInsights.py index e42f22199da..1c2a334cdda 100644 --- a/src/k8s-extension/azext_k8s_extension/partner_extensions/ContainerInsights.py +++ b/src/k8s-extension/azext_k8s_extension/partner_extensions/ContainerInsights.py @@ -82,6 +82,9 @@ def Update(self, extension, auto_upgrade_minor_version, release_train, version): version=version ) + def Delete(self, client, resource_group_name, cluster_name, name, cluster_type): + pass + # Custom Validation Logic for Container Insights diff --git a/src/k8s-extension/azext_k8s_extension/partner_extensions/DefaultExtension.py b/src/k8s-extension/azext_k8s_extension/partner_extensions/DefaultExtension.py index a72aef847fc..8977ec4187e 100644 --- a/src/k8s-extension/azext_k8s_extension/partner_extensions/DefaultExtension.py +++ b/src/k8s-extension/azext_k8s_extension/partner_extensions/DefaultExtension.py @@ -55,3 +55,6 @@ def Update(self, extension, auto_upgrade_minor_version, release_train, version): release_train=release_train, version=version ) + + def Delete(self, client, resource_group_name, cluster_name, name, cluster_type): + pass diff --git a/src/k8s-extension/azext_k8s_extension/partner_extensions/OpenServiceMesh.py b/src/k8s-extension/azext_k8s_extension/partner_extensions/OpenServiceMesh.py index 4839c5d763a..c5ad73ac35f 100644 --- a/src/k8s-extension/azext_k8s_extension/partner_extensions/OpenServiceMesh.py +++ b/src/k8s-extension/azext_k8s_extension/partner_extensions/OpenServiceMesh.py @@ -4,6 +4,8 @@ # -------------------------------------------------------------------------------------------- # pylint: disable=unused-argument +# pylint: disable=redefined-outer-name +# pylint: disable=no-member from knack.log import get_logger @@ -101,6 +103,9 @@ def Update(self, extension, auto_upgrade_minor_version, release_train, version): version=version ) + def Delete(self, client, resource_group_name, cluster_name, name, cluster_type): + pass + def _validate_tested_distro(cmd, cluster_resource_group_name, cluster_name, extension_version): diff --git a/src/k8s-extension/azext_k8s_extension/partner_extensions/PartnerExtensionModel.py b/src/k8s-extension/azext_k8s_extension/partner_extensions/PartnerExtensionModel.py index b8cb01334d3..98a6c1ea63f 100644 --- a/src/k8s-extension/azext_k8s_extension/partner_extensions/PartnerExtensionModel.py +++ b/src/k8s-extension/azext_k8s_extension/partner_extensions/PartnerExtensionModel.py @@ -21,3 +21,7 @@ def Create(self, cmd, client, resource_group_name: str, cluster_name: str, name: def Update(self, extension: ExtensionInstance, auto_upgrade_minor_version: bool, release_train: str, version: str) -> ExtensionInstanceUpdate: pass + + @abstractmethod + def Delete(self, client, resource_group_name: str, cluster_name: str, name: str, cluster_type: str): + pass diff --git a/src/k8s-extension/azext_k8s_extension/tests/latest/recordings/test_k8s_extension.yaml b/src/k8s-extension/azext_k8s_extension/tests/latest/recordings/test_k8s_extension.yaml index 127b21ac873..c55ebb0a737 100644 --- a/src/k8s-extension/azext_k8s_extension/tests/latest/recordings/test_k8s_extension.yaml +++ b/src/k8s-extension/azext_k8s_extension/tests/latest/recordings/test_k8s_extension.yaml @@ -1,9 +1,58 @@ interactions: - request: - body: '{"properties": {"extensionType": "microsoft.openservicemesh", "autoUpgradeMinorVersion": - false, "releaseTrain": "staging", "version": "0.1.0", "scope": {"cluster": {}}, - "configurationSettings": {}, "configurationProtectedSettings": {}}, "location": - ""}' + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8s-extension create + Connection: + - keep-alive + ParameterSetName: + - -g -n -c --cluster-type --extension-type --release-train --version + User-Agent: + - AZURECLI/2.24.2 azsdk-python-azure-mgmt-resource/18.0.0 Python/3.9.0 (Windows-10-10.0.19041-SP0) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KubernetesConfiguration?api-version=2021-04-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KubernetesConfiguration","namespace":"Microsoft.KubernetesConfiguration","authorizations":[{"applicationId":"c699bf69-fb1d-4eaf-999b-99e6b2ae4d85","roleDefinitionId":"90155430-a360-410f-af5d-89dc284d85c6"},{"applicationId":"03db181c-e9d3-4868-9097-f0b728327182","roleDefinitionId":"DE2ADB97-42D8-49C8-8FCF-DBB53EF936AC"},{"applicationId":"a0f92522-89de-4c5e-9a75-0044ccf66efd","roleDefinitionId":"b3429810-7d5c-420e-8605-cf280f3099f2"},{"applicationId":"bd9b7cd5-dac1-495f-b013-ac871e98fa5f","roleDefinitionId":"0d44c8f0-08b9-44d4-9f59-e51c83f95200"}],"resourceTypes":[{"resourceType":"sourceControlConfigurations","locations":["East + US","West Europe","West Central US","West US 2","South Central US","East US + 2","North Europe","UK South","Southeast Asia","Australia East","France Central","East + US 2 EUAP"],"apiVersions":["2021-03-01","2020-10-01-preview","2020-07-01-preview","2019-11-01-preview"],"defaultApiVersion":"2021-03-01","capabilities":"SupportsExtension"},{"resourceType":"extensions","locations":["East + US","West Europe","West Central US","West US 2","South Central US","East US + 2","North Europe","UK South","Southeast Asia","Australia East","France Central","East + US 2 EUAP"],"apiVersions":["2021-05-01-preview","2020-07-01-preview"],"capabilities":"SystemAssignedResourceIdentity, + SupportsExtension"},{"resourceType":"operations","locations":[],"apiVersions":["2021-05-01-preview","2021-03-01","2020-10-01-preview","2020-07-01-preview","2019-11-01-preview"],"capabilities":"None"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' + headers: + cache-control: + - no-cache + content-length: + - '1654' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Jun 2021 23:19:11 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: '{"location": "", "properties": {"extensionType": "microsoft.openservicemesh", + "autoUpgradeMinorVersion": false, "releaseTrain": "pilot", "version": "0.8.3", + "scope": {"cluster": {}}, "configurationSettings": {}, "configurationProtectedSettings": + {}}}' headers: Accept: - application/json @@ -14,32 +63,32 @@ interactions: Connection: - keep-alive Content-Length: - - '252' + - '250' Content-Type: - application/json; charset=utf-8 ParameterSetName: - -g -n -c --cluster-type --extension-type --release-train --version User-Agent: - python/3.9.0 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-kubernetesconfiguration/0.1.0 Azure-SDK-For-Python AZURECLI/2.19.1 + azure-mgmt-kubernetesconfiguration/0.3.0 Azure-SDK-For-Python AZURECLI/2.24.2 accept-language: - en-US method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/extensions/openservice-mesh?api-version=2020-07-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh?api-version=2020-07-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/extensions/openservice-mesh","name":"openservice-mesh","type":"Microsoft.KubernetesConfiguration/extensions","properties":{"configurationSettings":{},"statuses":[],"extensionType":"microsoft.openservicemesh","autoUpgradeMinorVersion":false,"releaseTrain":"staging","version":"0.1.0","scope":{"cluster":{"releaseNamespace":"arc-osm-system"}},"installState":"Pending","lastStatusTime":null,"errorInfo":{},"creationTime":"2021-03-08T23:14:12.4010326+00:00","lastModifiedTime":"2021-03-08T23:14:12.4010327+00:00"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh","name":"openservicemesh","type":"Microsoft.KubernetesConfiguration/extensions","properties":{"configurationSettings":{},"statuses":[],"extensionType":"microsoft.openservicemesh","autoUpgradeMinorVersion":false,"releaseTrain":"pilot","version":"0.8.3","scope":{"cluster":{"releaseNamespace":"arc-osm-system"}},"installState":"Pending","lastStatusTime":null,"errorInfo":{},"creationTime":"2021-06-22T23:19:13.9750935+00:00","lastModifiedTime":"2021-06-22T23:19:13.9750935+00:00"}}' headers: api-supported-versions: - - 2020-07-01-Preview + - 2020-07-01-Preview, 2021-05-01-preview cache-control: - no-cache content-length: - - '708' + - '704' content-type: - application/json; charset=utf-8 date: - - Mon, 08 Mar 2021 23:14:11 GMT + - Tue, 22 Jun 2021 23:19:13 GMT expires: - '-1' pragma: @@ -74,25 +123,25 @@ interactions: - -c -g --cluster-type User-Agent: - python/3.9.0 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-kubernetesconfiguration/0.1.0 Azure-SDK-For-Python AZURECLI/2.19.1 + azure-mgmt-kubernetesconfiguration/0.3.0 Azure-SDK-For-Python AZURECLI/2.24.2 accept-language: - en-US method: GET uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/extensions?api-version=2020-07-01-preview response: body: - string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/extensions/openservice-mesh","name":"openservice-mesh","type":"Microsoft.KubernetesConfiguration/extensions","properties":{"extensionType":"microsoft.openservicemesh","autoUpgradeMinorVersion":false,"releaseTrain":"staging","version":"0.1.0","scope":{"cluster":{"releaseNamespace":"arc-osm-system"}},"installState":"Pending","lastStatusTime":null,"errorInfo":{},"creationTime":"2021-03-08T23:14:12.4010326+00:00","lastModifiedTime":"2021-03-08T23:14:12.4010327+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/extensions/hci22jan21","name":"hci22jan21","type":"Microsoft.KubernetesConfiguration/extensions","properties":{"extensionType":"microsoft.azstackhci.operator","autoUpgradeMinorVersion":true,"releaseTrain":"stable","version":"1.0.0","scope":{"cluster":{"releaseNamespace":null}},"installState":"Pending","lastStatusTime":null,"errorInfo":{},"creationTime":"2021-01-22T20:49:34.3336157+00:00","lastModifiedTime":"2021-01-22T20:49:34.3336249+00:00"}}],"nextLink":null}' + string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh","name":"openservicemesh","type":"Microsoft.KubernetesConfiguration/extensions","properties":{"extensionType":"microsoft.openservicemesh","autoUpgradeMinorVersion":false,"releaseTrain":"pilot","version":"0.8.3","scope":{"cluster":{"releaseNamespace":"arc-osm-system"}},"installState":"Pending","lastStatusTime":null,"errorInfo":{},"creationTime":"2021-06-22T23:19:13.9750935+00:00","lastModifiedTime":"2021-06-22T23:19:13.9750935+00:00"}},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/extensions/hci22jan21","name":"hci22jan21","type":"Microsoft.KubernetesConfiguration/extensions","properties":{"extensionType":"microsoft.azstackhci.operator","autoUpgradeMinorVersion":true,"releaseTrain":"stable","version":"1.0.0","scope":{"cluster":{"releaseNamespace":null}},"installState":"Pending","lastStatusTime":null,"errorInfo":{},"creationTime":"2021-01-22T20:49:34.3336157+00:00","lastModifiedTime":"2021-01-22T20:49:34.3336249+00:00"}}],"nextLink":null}' headers: api-supported-versions: - - 2020-07-01-Preview + - 2020-07-01-Preview, 2021-05-01-preview cache-control: - no-cache content-length: - - '1341' + - '1337' content-type: - application/json; charset=utf-8 date: - - Mon, 08 Mar 2021 23:14:13 GMT + - Tue, 22 Jun 2021 23:19:14 GMT expires: - '-1' pragma: @@ -125,25 +174,76 @@ interactions: - -c -g -n --cluster-type User-Agent: - python/3.9.0 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-kubernetesconfiguration/0.1.0 Azure-SDK-For-Python AZURECLI/2.19.1 + azure-mgmt-kubernetesconfiguration/0.3.0 Azure-SDK-For-Python AZURECLI/2.24.2 + accept-language: + - en-US + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh?api-version=2020-07-01-preview + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh","name":"openservicemesh","type":"Microsoft.KubernetesConfiguration/extensions","properties":{"configurationSettings":{},"statuses":[],"extensionType":"microsoft.openservicemesh","autoUpgradeMinorVersion":false,"releaseTrain":"pilot","version":"0.8.3","scope":{"cluster":{"releaseNamespace":"arc-osm-system"}},"installState":"Pending","lastStatusTime":null,"errorInfo":{},"creationTime":"2021-06-22T23:19:13.9750935+00:00","lastModifiedTime":"2021-06-22T23:19:13.9750935+00:00"}}' + headers: + api-supported-versions: + - 2020-07-01-Preview, 2021-05-01-preview + cache-control: + - no-cache + content-length: + - '704' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 22 Jun 2021 23:19:15 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - openresty/1.15.8.2 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - k8s-extension delete + Connection: + - keep-alive + ParameterSetName: + - -g -c -n --cluster-type -y + User-Agent: + - python/3.9.0 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 + azure-mgmt-kubernetesconfiguration/0.3.0 Azure-SDK-For-Python AZURECLI/2.24.2 accept-language: - en-US method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/extensions/openservice-mesh?api-version=2020-07-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh?api-version=2020-07-01-preview response: body: - string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/extensions/openservice-mesh","name":"openservice-mesh","type":"Microsoft.KubernetesConfiguration/extensions","properties":{"configurationSettings":{},"statuses":[],"extensionType":"microsoft.openservicemesh","autoUpgradeMinorVersion":false,"releaseTrain":"staging","version":"0.1.0","scope":{"cluster":{"releaseNamespace":"arc-osm-system"}},"installState":"Pending","lastStatusTime":null,"errorInfo":{},"creationTime":"2021-03-08T23:14:12.4010326+00:00","lastModifiedTime":"2021-03-08T23:14:12.4010327+00:00"}}' + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh","name":"openservicemesh","type":"Microsoft.KubernetesConfiguration/extensions","properties":{"configurationSettings":{},"statuses":[],"extensionType":"microsoft.openservicemesh","autoUpgradeMinorVersion":false,"releaseTrain":"pilot","version":"0.8.3","scope":{"cluster":{"releaseNamespace":"arc-osm-system"}},"installState":"Pending","lastStatusTime":null,"errorInfo":{},"creationTime":"2021-06-22T23:19:13.9750935+00:00","lastModifiedTime":"2021-06-22T23:19:13.9750935+00:00"}}' headers: api-supported-versions: - - 2020-07-01-Preview + - 2020-07-01-Preview, 2021-05-01-preview cache-control: - no-cache content-length: - - '708' + - '704' content-type: - application/json; charset=utf-8 date: - - Mon, 08 Mar 2021 23:14:14 GMT + - Tue, 22 Jun 2021 23:19:16 GMT expires: - '-1' pragma: @@ -178,17 +278,17 @@ interactions: - -g -c -n --cluster-type -y User-Agent: - python/3.9.0 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-kubernetesconfiguration/0.1.0 Azure-SDK-For-Python AZURECLI/2.19.1 + azure-mgmt-kubernetesconfiguration/0.3.0 Azure-SDK-For-Python AZURECLI/2.24.2 accept-language: - en-US method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/extensions/openservice-mesh?api-version=2020-07-01-preview + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/extensions/openservicemesh?api-version=2020-07-01-preview response: body: string: '{"content":null,"statusCode":200,"headers":[],"version":"1.1","reasonPhrase":"OK","trailingHeaders":[],"requestMessage":null,"isSuccessStatusCode":true}' headers: api-supported-versions: - - 2020-07-01-Preview + - 2020-07-01-Preview, 2021-05-01-preview cache-control: - no-cache content-length: @@ -196,7 +296,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 08 Mar 2021 23:14:14 GMT + - Tue, 22 Jun 2021 23:19:17 GMT expires: - '-1' pragma: @@ -231,7 +331,7 @@ interactions: - -c -g --cluster-type User-Agent: - python/3.9.0 (Windows-10-10.0.19041-SP0) msrest/0.6.21 msrest_azure/0.6.4 - azure-mgmt-kubernetesconfiguration/0.1.0 Azure-SDK-For-Python AZURECLI/2.19.1 + azure-mgmt-kubernetesconfiguration/0.3.0 Azure-SDK-For-Python AZURECLI/2.24.2 accept-language: - en-US method: GET @@ -241,7 +341,7 @@ interactions: string: '{"value":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/nanthirg0923/providers/Microsoft.Kubernetes/connectedClusters/nanthicluster0923/providers/Microsoft.KubernetesConfiguration/extensions/hci22jan21","name":"hci22jan21","type":"Microsoft.KubernetesConfiguration/extensions","properties":{"extensionType":"microsoft.azstackhci.operator","autoUpgradeMinorVersion":true,"releaseTrain":"stable","version":"1.0.0","scope":{"cluster":{"releaseNamespace":null}},"installState":"Pending","lastStatusTime":null,"errorInfo":{},"creationTime":"2021-01-22T20:49:34.3336157+00:00","lastModifiedTime":"2021-01-22T20:49:34.3336249+00:00"}}],"nextLink":null}' headers: api-supported-versions: - - 2020-07-01-Preview + - 2020-07-01-Preview, 2021-05-01-preview cache-control: - no-cache content-length: @@ -249,7 +349,7 @@ interactions: content-type: - application/json; charset=utf-8 date: - - Mon, 08 Mar 2021 23:14:16 GMT + - Tue, 22 Jun 2021 23:19:19 GMT expires: - '-1' pragma: diff --git a/src/k8s-extension/azext_k8s_extension/tests/latest/test_k8s_extension_scenario.py b/src/k8s-extension/azext_k8s_extension/tests/latest/test_k8s_extension_scenario.py index 010df2e3077..53db4ce2c2d 100644 --- a/src/k8s-extension/azext_k8s_extension/tests/latest/test_k8s_extension_scenario.py +++ b/src/k8s-extension/azext_k8s_extension/tests/latest/test_k8s_extension_scenario.py @@ -6,7 +6,7 @@ # pylint: disable=line-too-long import os -from azure.cli.testsdk import (ScenarioTest, ResourceGroupPreparer, record_only) +from azure.cli.testsdk import (ScenarioTest, record_only) TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..')) @@ -14,17 +14,16 @@ class K8sExtensionScenarioTest(ScenarioTest): @record_only() - @ResourceGroupPreparer(name_prefix='cli_test_k8s_extension') def test_k8s_extension(self): resource_type = 'microsoft.openservicemesh' self.kwargs.update({ - 'name': 'openservice-mesh', + 'name': 'openservicemesh', 'rg': 'nanthirg0923', 'cluster_name': 'nanthicluster0923', 'cluster_type': 'connectedClusters', 'extension_type': resource_type, - 'release_train': 'staging', - 'version': '0.1.0' + 'release_train': 'pilot', + 'version': '0.8.3' }) self.cmd('k8s-extension create -g {rg} -n {name} -c {cluster_name} --cluster-type {cluster_type} ' diff --git a/src/k8s-extension/azext_k8s_extension/tests/latest/test_open_service_mesh.py b/src/k8s-extension/azext_k8s_extension/tests/latest/test_open_service_mesh.py index d3b322ef799..72e94a06831 100644 --- a/src/k8s-extension/azext_k8s_extension/tests/latest/test_open_service_mesh.py +++ b/src/k8s-extension/azext_k8s_extension/tests/latest/test_open_service_mesh.py @@ -8,8 +8,8 @@ import os import unittest -from azext_k8s_extension.partner_extensions.OpenServiceMesh import _get_tested_distros from azure.cli.core.azclierror import InvalidArgumentValueError +from azext_k8s_extension.partner_extensions.OpenServiceMesh import _get_tested_distros TEST_DIR = os.path.abspath(os.path.join(os.path.abspath(__file__), '..'))